Skip to content

Patent drawings

Drawing 1 of 4

US 6,466,476

Drawing 1 of 4

Expanded drawing 1 of 4 from US 6,466,476, Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
High-resolution patent drawing

US 6,466,476

Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell

Filed
January 18, 2001
Granted
October 15, 2002
Assignee
Samsung
Previous Assignee
MLM
Inventors
Sau Ching Wong, Kimberley Johnsen

Abstract

A multi-bit-per-cell non-volatile memory stores different portions of a data stream using different numbers of bits per cell. In particular, data that requires a high degree of data integrity (e.g., the header of a data frame) is stored using a relatively small number of bits per memory cell. Data that is more error-tolerant (e.g., the main data representing music, images, or video) is stored using a relatively large number of bits per memory cell. Write circuitry decodes an input data stream and determines the number of bits to be written in each memory cell. Read circuitry decodes an output data stream and determines a number of bits read from each memory cell to generate the data stream. One such memory includes a decoder in the write circuitry and a decoder in the read circuitry, and another embodiment includes a single decoder that the write and read circuits share. The decoder can include programmable logic array that a user can program according to a protocol used in the data stream to be recorded in and played back from the memory.

View on Google Patents ↗
View Full PatentComplete archived record · 4 figures · 62 description paragraphs · 40 claims

Patent record

Source
Google Patents
Publication
US6466476B1
Application
US09/766,272
Priority
January 18, 2001
Prior art date
January 18, 2001
Publication date
October 15, 2002
Legal status
Expired - Lifetime
Original assignee
Multi Level Memory Technology
Current assignee
Samsung Electronics Co Ltd
Prior art keywords
data, data stream, memory, per, decoder
Source retrieved
July 20, 2026

Classifications

  • GPHYSICS
  • G11INFORMATION STORAGE
  • G11CSTATIC STORES
  • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
  • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
  • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
  • G11C11/5642Sensing or reading circuits; Data output circuits
  • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
  • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
  • G11C2211/564Miscellaneous aspects
  • G11C2211/5641Multilevel memory having cells with different number of storage levels

Figures

4 plates

Figure 1 of 4 from US 6,466,476, Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
Figure 01Full resolution ↗
Figure 2 of 4 from US 6,466,476, Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
Figure 02Full resolution ↗
Figure 3 of 4 from US 6,466,476, Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
Figure 03Full resolution ↗
Figure 4 of 4 from US 6,466,476, Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
Figure 04Full resolution ↗

Description

BACKGROUND

1. Field of the Invention

This invention relates to multi-bit-per-cell memory, digital recording of music and other information, and methods for using multi-bit-per-cell memory to provide the maximum data density that is consistent with data integrity requirements.

2. Description of Related Art

Multi-bit-per-cell memories can increase the density of data storage in an integrated circuit device by storing multiple bits of information in a memory cell that would store only a single bit in a conventional binary memory. One type of non-volatile multi-bit-per-cell memory contains an array of floating gate transistors, which act as memory cells. Each floating gate transistor has a threshold voltage that represents a data value stored in a memory cell. In particular, the useable range for the threshold voltage of a memory cell is divided into windows with each window being associated with a different value. A write operation sets the threshold voltage of a memory cell to a level in the window corresponding to the value being written. A read operation identifies which window contains the current threshold voltage of a memory cell and generates a signal representing the value associated with the identified window.

A conventional binary memory divides the threshold voltage range into two windows, a high threshold voltage window representing one binary value 1 or 0 and a low threshold voltage window representing the other binary value 0 or 1. A memory storing two bits per cell uses four threshold voltage windows corresponding to four values that two bits can represent. More generally, a memory storing N bits per cell uses 2N windows corresponding to all possible N-bit values. Accordingly, the number (2N) of windows increases exponentially as the number (N) of bits per cell increases, and the windows similarly decrease in width as greater numbers of windows are fit within the same available threshold voltage range.

Narrower threshold voltage windows make precise writing and reading of data more difficult. Additionally, charge leakage and other effects that change threshold voltages make preserving threshold voltages in narrow windows (i.e., preserving stored data) difficult. When the number of bits per cell becomes too large, a memory may be unable read, write, or preserve data values with the accuracy that data integrity requirements mandate. Accordingly, when data integrity requirements are high, a memory cannot store as many bits per cell and cannot achieve the storage density permitted for data that is more error tolerant.

SUMMARY

In accordance with an aspect of the invention, a memory that is capable of storing different numbers of bits per cell uses fewer bits per cell when storing data having high data integrity requirements and uses more bits per cell when storing error-tolerant data. Accordingly, the memory can achieve both the required data integrity and high storage densities when different types of stored data have different data integrity requirements.

In accordance with one embodiment of the invention, a memory classifies portions of formatted data according to data type, where different data types need different levels of data integrity to achieve desired performance. The formatted data can be, for example, music or image data encoded according to an industry standard. The memory then stores the different types of data using different numbers of bits per cell, where the number of bits per cell for a particular portion of data depends on the data type.

In one specific embodiment of the invention, the memory includes a decoder that receives and decodes a formatted data stream and automatically designates different portions of the data stream for storage at different densities (i.e., different numbers of bits per cell). Each portion of the data structure is then stored with a number of bits per cell that provides the data integrity required for that portion. As a result, storage provides the desired performance and the maximum storage density.

Another embodiment of the invention is a multi-bit-per-cell-memory that includes: an array of non-volatile memory cells; a write circuit coupled to the array; and a decoder coupled to receive a data stream and control the write circuit to write data from the data stream into the array. During a recording operation, the decoder decodes the data stream to identify data types for portions of the data stream, and for each of the portions of the data stream, the decoder selects a number of bits written per memory cell when writing data from that portion. The number of bits per memory cell for any portion of the data stream is selected according to the data type of the portion.

Generally, the memory further includes a read circuit coupled to the array. The decoder that controls the write circuit can control the read circuit, or a second decoder can control the read circuit. During a playback operation, the decoder that controls the read circuit receives a data stream that the read circuit reads from the array. That decoder decodes the data stream to identify data types for portions of the data stream, and for each of the portions of the data stream, the decoder selects a number of bits to read from each memory cell storing that portion. The number of bits read per memory cell for any portion of the data stream is selected according to the data type of the portion.

In accordance with another aspect of the invention, the decoder or decoders in the multi-bit-per-cell memory can include programmable array logic or other similar circuitry that can be programmed or reprogrammed according to the format or protocol expected for the input or output data stream. Accordingly, the memory can adapt on-the-fly to storage of data having different formats.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a multi-bit-per-cell memory in accordance with an embodiment of the invention.

FIG. 2 is a block diagram of a multi-bit-per-cell memory in accordance with another embodiment of the invention.

FIG. 3 illustrates the format of a data frame according to the MP3 standard.

FIG. 4 illustrates the programming of a programmable logic array in a data stream decoder in accordance with an embodiment of the invention.

FIG. 5 is a flow diagram of a process for identifying data frames in a data stream and storing the data frames.

FIG. 6 is a flow diagram of a process for storing a data frame using storage densities selected according to data type.

FIG. 7 is a flow diagram of a process for reading data stored at different densities to reconstruct a data stream having a particular format.

Use of the same reference symbols in different figures indicates similar or identical items.

DETAILED DESCRIPTION

In accordance with an aspect of the invention, a multi-bit-per-cell storage device categorizes different classes of data according to the data integrity required and then stores the data requiring higher data integrity using fewer bits per cell. Data that is more error tolerant is stored at higher density. Accordingly, storage density and the quality of output based on the stored data are optimized. The memory is particularly useful for recording and playing back a data stream formatted according to an industry standard. Examples of current industry standards include MP3 (i.e., MPEG-1 Audio Layer III and MPEG-2 Audio Layer III), MPEG-AAC, and Dolby AC-3 for audio or music and bitmap, JPEG, GIF, and any of the several MPEG standards for still images or video. Such applications often only require random access to the start of a data stream or to a frame in the data stream and do not require random access to particular data elements within a frame.

U.S. Pat. App. Ser. No. 09/505,519, entitled “Multi-Bit-Per-Cell Non-Volatile Memory With Maximized Data Capacity”, and U.S. Pat. App. Ser. No. 09/492,949, entitled “Data Management for Multi-Bit-Per-Cell Memories,” describe memories capable of storing different numbers of bits per cell and are hereby incorporated by reference in their entirety.

FIG. 1 is a block diagram of a multi-bit-per-cell memory 100 in accordance with an embodiment of the invention. Memory 100 records or plays back data streams and includes an input data buffer 110, a decoder 120, a multi-level write circuit 130, a multi-bit-per-cell memory array 150, a multi-level read circuit 160, a second decoder 170, and an output data buffer 180. In an exemplary embodiment of the invention, memory array 150 is a multi-bit-per-cell Flash memory array in which each memory cell is a floating gate transistor. Multi-level write circuit 130 and multi-level read circuit 160 can implement read and write methods as described in U.S. pat. App. Ser. No. 09/493,026, entitled “Read And Write Operations Using Constant Row Line Voltage and a Variable Column Line Load” or U.S. Pat. Nos. 5,638,320; 5,680,341; 5,682,352; 5,687,115; 5,694,356; 5,745,409; 5,748,534; 5,748,533; 5,815,425; 5,818,757; 5,969,986; 6,038,166; 6,058,060; and 6,094,368, which are hereby incorporated by reference in there entirety. Alternatively, memory array 150, multi-level write circuit 130, and multi-level read circuit 160 can use any technique for storing, writing, and reading multiple bits of data per memory cell.

In accordance with an aspect of the invention, each of multi-level write circuit 130 and multi-level read circuit 160 operates in several different modes. When writing to a memory cell, a writing mode determines the number N of bits of data that write circuit 130 writes to the memory cell. Similarly, read circuit 160 has different reading modes, where the reading mode for a read operation determines the number N of bits of data that multi-level read circuit 160 extracts from the memory cell.

A record operation in memory 100 writes a sequence of data values from an input data stream to a set of memory cells in memory array 150. A playback operation reconstructs the data stream by reading a set of memory cells. A starting address, which identifies a set of memory cells, can be recorded in a directory or can be fixed according to the architecture of the memory array or the sectors in the memory array. In particular, recording of a data stream can start writing data at the start of a memory block or sector, and playing back the data stream starts at the same address. Addressing and accessing a data stream from its beginning is thus completely conventional even though the use of different storage densities increases the addressing complexity of randomly accessing particular bytes in the data stream. However, for data streams such as data streams representing music, images, or video, full random access is typically not required.

For a recording operation, decoder 120 receives the input data stream via an input data buffer 110. Decoder 120 decodes the data stream to determine how to parse the data stream into data values for writing. The parsing divides the data stream into a sequence of data values. Each data value contains a number N of bits where N for the data value depends on the data integrity required for data of the type the data value represents. The number N can be any integer value in a range between one and a maximum number of bits that can be stored in a single memory cell, or the number N can be restricted to particular values (e.g., 2, 4, or 8) in the range.

Decoder 120 selects writing modes for multi-level write circuit 130 when writing the sequence of data values from input data buffer 110 into Flash memory array 150. The write mode determines the number N of bits that multi-level write circuit 130 writes to a memory cell during a write operation. When a playback operation would be unable to identify the data type before the data is read, for example, for an initial portion of a data stream, decoder 120 writes that data at the default data density, e.g., the data density providing the highest data integrity.

In FIG. 1, multi-level write circuit 130 receives the N-bit value from input data buffer 110 and writes the N-bit value in the next memory cell in the set storing the data stream. Alternatively, since the number N can change from one data value to the next, decoder 120 retrieves fixed-size data values from input data buffer 110 and provides variable-size data values to multi-level write circuit 130.

A playback operation in memory 100 reads the sequence of memory cells corresponding to a data stream and determines a sequence of data values that constitute the data stream. For identification of data values in the data stream, decoder 170 decodes data values as read from memory array 150 to determine the number of bits read from subsequent memory cells in the sequence. However, the default number of bits are read from each of one or more initial memory cells that store an initial portion of the data from a data stream. Accordingly, no decoding is required to determine the number of bits read from the initial memory cells that hold the initial portion of the data from a data stream. In most practical applications, the initial data is stored with one or two bits per memory cell (i.e., N=1 or 2). The high data integrity achieved with the small number of bits per cell is typically appropriate for the header information that may be found at the start of the data stream.

Decoder 170 controls the reading mode of multi-level read circuit 160 to select the number of bits read from each memory cell. Output data buffer 180 receives the sequence of data values from multi-level read circuit 160 directly as shown in FIG. 1 or alternatively via decoder 170. Similarly, decoder 170 can receive the sequence of data values from multi-level read circuit 160 directly as shown in FIG. 1 or via output data buffer 180. Decoder 170 uses the sequence of data values associated with the header or other format bits of the data stream to determine how many bits to read from subsequently read memory cells in Flash memory array 150. Output data buffer 180 converts the sequence of data values into a serial bit stream or any other output format.

In the exemplary embodiment illustrated in FIG. 1, decoder 120 includes a shift register 122, programmable array logic (PAL) 124, data type identification logic 126, and control logic 128. For a record operation, shift register 122 receives a serial data stream and provides a parallel multi-bit data signal to the input terminals of PAL 124.

PAL 124 is programmed according to the format of the data stream and includes a user accessible interface that permits re-programming of PAL 124 for use with different industry standards for data stream. Architectures for such PALs are well known in the art and can employ non-volatile storage cells having a construction similar to the construction of memory cells in multi-bit-per-cell Flash memory array 150.

PAL 124 cooperates with data type identification logic 126 to identify a data type for each portion of the data stream. The data type for a portion of the data stream determines the writing mode (i.e., the number of bits stored per cell) for that portion of the data stream. For example, a typical format for a data stream divides the stream into frames with each frame having a header, side information, and main data. When started on a recording operation, PAL 124 generates a sync signal when the content of shift register 122 corresponds to a synchronization value found in the header of a data frame. PAL 124 can be further programmed to extract or determine from the data stream a frame length for a current frame, i.e., the number of data bits in the frame.

PAL 124 being programmable and re-programmable allows memory 100 to adapt to different standards for data streams being recorded. Generally, memory 100 would be used to store one or more data streams of a specific format. However, data streams having different formats could be simultaneously stored in memory array 150, and the programming of PAL 124 can be re-programmed “on-the-fly” when required to store or playback a data stream conforming to a specific standard.

Based on the output signals from PAL 124, data type identification logic 126 determines writing modes for the following operations writing data from data buffer 110 to memory array 150. The number N of bits changes for different portions of the data frame. For example, the header information, which requires a highest level of data integrity, can be stored using a few bits (e.g., 1 or 2 bits) per cell. For sound or image data, a lower level of data integrity provides good performance, and memory 100 uses a larger number of bits per cell for storage of such data (e.g., 4 or more bits per cell).

Decoder 170 operates in a manner similar to that of decoder 120. In particular, both decoders 120 and 170 receive a data stream and identify a number of bits corresponding to a memory cell. Accordingly, an embodiment of the invention can reduce the amount of circuitry by eliminating some or all of the elements of decoder 170, and using circuitry from decoder 120 in the control of multi-level write circuit 120 and multi-level read circuit 160.

FIG. 2 is a block diagram of a memory 200 in accordance with another embodiment of the invention. Memory 200 is substantially the same as memory 100 except that a decoder 220, an M-bit write circuit 230, an M-bit read circuit 260, and a decoder 270 in memory 200 differ from decoder 120, multi-level write circuit 130, multi-level read circuit 160, and decoder 170 in memory 100. More particularly, for a write operation, M-bit write circuit 230 always receives an M-bit value (where M is greater than or equal to the maximum number of data bits stored in any single memory cell) and programs a corresponding memory cell to a threshold voltage corresponding to the M-bit value.

Decoder 220 includes control logic 228 that generates the M-bit values for M-bit write circuit 230, from N-bit values where N depends on the data type and is less than or equal to M. More specifically, control logic 228 receives from identification logic 126 a signal indicating the number N of bits for the next memory cell. Control logic 228 then extracts N bits from shift register 122 (or alternatively from data buffer 110), converts the N-bit value into an M-bit value, and provides the M-bit value to M-bit write circuit 230.

The M-bit value resulting from conversion of an N-bit value is such that threshold voltage drift and inaccuracies that may erroneously change, set, or interpret the threshold voltage representing the M-bit value are likely to leave an M-bit value that still corresponds to the correct N-bit value when read. Thus, when N is less than M, memory 100 stores N-bit values with data integrity greater than the data integrity of M-bit values.

For a read operation, M-bit read circuit 260 sends to decoder 270 an M-bit value that corresponds to the current threshold voltage of a memory cell being read. Control logic 278 in decoder 270 converts that M-bit value to an N-bit value where N is less than or equal to M and depends on the data type indicator from logic 176. Control logic 278 passes the resulting N-bit value to shift register 172 and/or data buffer 180. The remainder of memory 200 operates in the same fashion as memory 100 of FIG. 1.

FIG. 3 illustrates the format of a frame in an MP3 data stream, which memory 100 or 200 (specifically PALs 124 and 174) can be programmed to record and playback. Memory 100 with appropriate modifications or re-programming could alternatively store any other data format. In the MP3 format, a data frame 300 includes a 4-byte frame header 310, two CRC (cyclic redundancy code) bytes 330 assuming the protection bit is set, 17 or 32 bytes of side information 340, between 8 and 1417 bytes of main data 350, and a variable amount of ancillary data 360. The 4-byte header includes a 12-bit synchronization pattern 311, an ID bit 312, a 2-bit layer field 313, a CRC bit 314, a bit rate field 315, a sampling frequency field 316, a padding bit 317, a private bit 318, a mode field 319, a mode Ext field 320, a © bit 321, an O/C bit 322, and an Emphasis field 323. Pre-header information 370, which precedes frame header 310 in the data stream, can be valid main data for the frame.

FIG. 4 illustrates the programming of input and output signals of programmable array logic 124 in accordance with an exemplary embodiment of the invention. Programmable array logic (PAL) designs are well known in the art and could be constructed using an array of flash memory cells adjacent to regular data storage array 150.

The input signals to PAL 124 are from shift register 122. In FIG. 4, the input signals are named in accordance with the fields in a frame header in accordance with the MP3 protocol. In particular, the signals from oldest in the shift register are SYNC WORD (12 bits), ID, LAYER (2 bits), CRC, BIT RATE (4 bits), SF INDEX (2 bits), PADDING, PRIVATE, MODE (2 bits), MODE EXT. (2 bits), COPYRIGHT, ORIG./COPY, and EMPHASIS (2-bits). The output signals are VALID FRAME, CRC PRESENT, PADDED, MONO, MDP 112, MDP 140, MDP 168, . . . , MDP 1296, and MDP 1440.

Each output signal is asserted only if input signals from the shift register 122 have the bit values equal to those in the row of array 124 that is associated with the output signal. In array 124 of FIG. 4, “X” indicates that the value of the input bit does not affect the output signal. For example, output signal VALID FRAME is only asserted if the (oldest) twelve bits corresponding to input signal SYNC WORD are all ones and the two bits corresponding to signal LAYER are “10 b”. These values are according to the MP3 protocol for the frame header. Data values in the other fields are irrelevant to generation of output signal VALID FRAME.

Signals CRC PRESENT and PADDED are asserted if the MP3 header indicates a CRC code or PADDING are in the data frame. Signal MONO is asserted if the data frame contains audio data in mono format. The asserted one of signals MDP 112, MDP 140, MDP 168, . . . , MDP 1296, and MDP 1440 indicates the main data pointer for the data frame.

Data type identification logic 126 uses the output signals from PAL 124 to determine the mode or the number of data bits to be grouped and written to each memory cell. In particular, once signal VALID FRAME is asserted, data type identification logic 126 can determine the size and data type of a series of portions of the data stream. For MP3, for example, the header can be written one bit per memory cell (N=1), while side information, main data, and ancillary data are respectively written at two (N=2), four (N=4), and four (N=4) bits per memory cell. Data type identification logic 126 counts the number of write operations and changes the write mode after the last value of a specific data type is written. For a last data value of a portion of the data stream, data type identification logic 126 can change the number of bits written so that no memory cell stores data from adjacent portions when the adjacent portions have different data integrity requirements.

Shift register 172, PAL 174, and logic 176 and 178 manipulate data multi-level read circuit 160 reads from the array 150. Otherwise, shift register 172, PAL 174, and logic 176 and 178 work for the read operation in a similar manner to that of shift register 122, PAL 124, and logic 126 and 128 for a write operation.

A record operation can ignore (i.e., not write) data from the data stream when the data appears to be invalid. In particular, data from the data stream can be temporarily kept in input buffer 110 until decoder 120 or 220 identifies a synchronization pattern, decodes a header, and identifies the start of the valid data. For an MP3 frame, synchronization pattern 311 is twelve consecutive bits with value one. As described above, PAL 124 activates signal VALID FRAME when twelve consecutive “1”s are in the appropriate positions in shift register 122. (The sequence of twelve “1”s is not permitted in other parts of an MP3 data frame.) In response to the signal VALID FRAME, logic 126 identifies the start of valid data in the data stream, determines the type of data, and selects for a writing mode (e.g., a number of bits N) for that data. The six bytes beginning with and including the synchronization pattern correspond to the data in frame header 310 and CRC bytes 330 for MP3. However, writing is delayed until decoder 120 decodes at least part of side information 340.

The side information for MP3 consists of 17 bytes for a single channel bit stream and 32 bytes otherwise. These bytes represent a main data begin (MDB) pointer, side information for both granules, side information for granule 0, and side information for granule 1. The main data is not necessarily next to the side information. The first nine bits of side information 340 provide the MDB pointer, which is a 9-bit pointer that indicates the location of the beginning byte of main data 350 belonging to the current frame. The location is specified as a negative offset from the first byte of the synchronization word. If the MDB pointer points before the start of the file, the data frame is invalid and does not need to be stored in flash memory array 150. However, data following a header of an invalid frame may be valid data for the next frame and is held in input buffer 110 pending identification of the next frame's header.

Decoder 120 can determine the frame length and other format information for a frame from the frame header 310 and side information 340. More specifically, the frame length depends on the values in bit rate field 315 and sampling frequency field 316 in frame header 310. Based on the frame length and the MDB pointer, data type identification logic 126 selects a writing mode or a number of bits per cell for each portion of the data frame 300. Multi-level write circuit 130 receives data values of the specified widths from the associated locations in data buffer 110 or shift register 122 and writes each data value in a memory cell in memory array 150.

A record operation for an MP3 file may need to handle data that precedes a valid header in a data stream. FIG. 5 illustrates a record operation for an MP3 file. Data input in step 510 is stored (step 520) while the data is searched for a synchronization pattern (step 530). In the initial storing step 520, data can be kept in input data buffer 110 and shifted through shift register 122 until PAL 124 finds a valid frame header. When the sync pattern is found, decoder 120 in step 540 checks to determine whether the following data represent a valid frame header. If a valid data frame header is found, decoder 120 can identify types for the data, and a data storage operation 550 stores the identified data using writing modes for the different data types. If a sync pattern does not correspond to a valid frame header, data inputting, buffering, and searching for the sync pattern continue in steps 510 and 530. Invalid data coming before the first valid header can be discarded. Additionally any valid pre-header information having a data type that cannot be determined until a following header is decoded can be written using the default resolution (i.e., the default number of bits per memory cell) to simplify the record and playback operations.

FIG. 6 illustrates an embodiment of store operation 550 that takes place when a valid header is found in an MP3 data stream. A decode operation 620 and a write operation 650 operate on a portion of the input data 610 corresponding to the header of a data frame. Decoding operation 620 separates fields 630 of the header for use in a calculation 640 of the sizes of the side information, the main data, and the ancillary data in the data frame. The header of an MP3 data frame has a fixed length so that decode operation 620 and store operation 650 process a fixed number of bits.

Store operation 650 begins with the first portion of input data 610 from data buffer 110 and stores the data in sequential memory cells in memory array 150. Store operation 650 uses a header rate HR, e.g., one bit per cell, for header information, which typically requires a low storage density for high reliability. A count of data written during store operation 650 determines when writing of the header is complete. An address counter (not shown) that controls where data is written can indicate the count.

When writing of the header is finished, a storage operation 660 for side information starts. The storage of side information uses a side information resolution rate SR required for side information, which typically requires a moderate storage density (e.g., two or three bits per cell) for reasonable reliability. The side information can tolerate a reasonable error rate without serious degradation of sound quality resulting when the MP3 data stream is read out and played. Storage operation 660 ends when a count of bits written during storage operation 660 matches the size calculated (step 640) for the side information.

When writing of the side information is finished, a storage operation 670 for main data and ancillary data starts. In this embodiment of the invention, the main and ancillary data are stored at the same storage density. In particular, the main and ancillary data can tolerate a small amount of error, and therefore storage operation 670 use a main rate MR for efficient, high-density storage (e.g., four bits per cell). Storage operation 670 ends when a count of data bits written during storage operation 670 matches the combination of the sizes calculated for the main and ancillary data.

The synchronization pattern of the next data frame should immediately follow the last main or ancillary data written. Accordingly, the recording operation can return to operation 530 of FIG. 5 to search for the synchronization pattern after store operation 550 stores a data fame.

FIG. 7 illustrates a read operation 700 in accordance with an embodiment of the invention. Read operation 700 reads a data frame that starts at an address (e.g., with a memory cell) identified either from directory indicating the starts of recorded data streams or as the address following a data frame just read.

An initial read operation 720 uses the default resolution that is appropriate for a header and reads consecutive memory cells beginning at the start of the recorded data stream. While reading at the default resolution, read operation 720 can read the header or other information, which can be output to data output buffer 180. Simultaneously, decoding identifies the synchronization field of the header and separates the header into fields 730 for use in a calculation 740 of the sizes of the side information, the main data, and the ancillary data. Additionally, for error detection and correction, a CRC calculation 750 can be performed. Following the synchronization field, read operation 720 reads a fixed number of memory cells depending on the number of bits stored per cell for header information and the fixed size of the header.

A read operation 760 reads consecutive memory cells to extract side information and accordingly reads from each memory cell the number of bits used per cell for side information. The number of memory cells read depends on the calculation 740 of the size of the side information. Side information resulting from read operation 760 is output to data output buffer 180.

When a count of the memory cells or data bits read reaches the size of the side information, the memory switches to a read mode for main and ancillary data. Accordingly, following read operation 760, a read operation 770 reads the main and ancillary data using a number of bits per cell used in storage of the main and ancillary data and output the data to output data buffer 180. Reading the main and ancillary data continues until a data count equals the calculated size of the main and ancillary data.

After reading the last portion of one data frame, a playback operation either ends or starts again with the read operation 720 at the default resolution for the next data frame in a data stream.

Although the invention has been described with reference to particular embodiments, the description is only an example of the invention's application and should not be taken as a limitation. For example, although the described embodiments of the invention include the capability to both record and playback data streams, alternative embodiments may be capable of only recording or playing back data streams. Various other adaptations and combinations of features of the embodiments disclosed are within the scope of the invention as defined by the following claims.

Claims (40)

  1. A multi-bit-per-cell-memory comprising: an array of non-volatile memory cells; a write circuit coupled to the array; and a decoder coupled to receive a data stream and control the write circuit to write data from the data stream into the array, wherein during a recording operation, the decoder decodes the data stream to identify data types for portions of the data stream, and for each of the portions of the data stream, the decoder selects a number of bits written per memory cell when writing data from that portion, the number of bits per memory cell for any portion of the data stream being selected according to the data type of the portion.
  2. The multi-bit-per-cell memory of claim 1, further comprising a read circuit coupled to the array and the decoder, wherein during a playback operation, the decoder: receives a data stream that the read circuit reads from the array; decodes the data stream to identify data types for portions of the data stream; and for each of the portions of the data stream, selects a number of bits to read from each memory cell storing that portion, the number of bits per memory cell for any portion of the data stream being selected according to the data type of the portion.
  3. The multi-bit-per-cell memory of claim 2, wherein the decoder comprises programmable array logic that is programmed according to a protocol expected for the data stream.
  4. The multi-bit-per-cell memory of claim 3, wherein the protocol is selected from a group consisting of MPEG, JPEG, GIF, and AC-3.
  5. The multi-bit-per-cell memory of claim 3, wherein the programmable array logic includes an interface that permits re-programming of the programmable array logic to adapt the multi-bit-per-cell memory to another protocol.
  6. The multi-bit-per-cell memory of claim 1, further comprising: a read circuit coupled to the array and the decoder; and a second decoder coupled to control the read circuit and receive a second data stream that the read circuit reads from the array, wherein during a playback operation, the second decoder decodes the second data stream to identify data types for portions of the second data stream, and for each of the portions of the second data stream, the second decoder selects a number of bits to read from each memory cell storing that portion, the number of bits per memory cell for any portion of the second data stream being selected according to the data type of the portion.
  7. The multi-bit-per-cell memory of claim 1, wherein the decoder comprises programmable array logic that is programmed according to a protocol expected for the data stream.
  8. The multi-bit-per-cell memory of claim 7, wherein the protocol is selected from a group consisting of MPEG, JPEG, GIF, and AC-3.
  9. The multi-bit-per-cell memory of claim 1, wherein the decoder performs decoding in accordance with a protocol selected from a group consisting of MPEG, JPEG, GIF, and AC-3.
  10. The multi-bit-per-cell memory of claim 1, wherein the write circuit is operable in a plurality of modes, each mode corresponding to a different number of bits that the write circuit writes per non-volatile memory cell.
  11. The multi-per-cell memory of claim 1, wherein the decoder comprises: a shift register connected to receive data from the data stream; data type identification logic coupled to the shift register, the data type identification logic generating a signal that selects a number N from a set of values less than a number M, the number N corresponding to a type for data in the shift register; and control logic coupled to the shift register and the data type identification logic, wherein in response to the signal indicating the number N, the control logic extracts N bits of data from the shift register and generates a M-bit signal corresponding to the N bits extracted, and wherein the write circuit writes the N bits to a memory cell by setting a threshold voltage of the memory cell to a level according to the M-bit signal from the control logic.
  12. The multi-bit-per-cell memory of claim 11, wherein the data type identification logic is connected to the shift register via programmable array logic.
  13. The multi-bit-per-cell memory of claim 12, wherein the programmable array logic is programmed according to a protocol expected for the data stream.
  14. The multi-bit-per-cell memory of claim 13, wherein the protocol is selected from a group consisting of MPEG, JPEG, GIF, and AC-3.
  15. The multi-bit-per-cell memory of claim 13, wherein the programmable array logic includes an interface that permits re-programming of the programmable array logic to adapt the multi-bit-per-cell memory to another protocol.
  16. A multi-bit-per-cell-memory comprising: an array of non-volatile memory cells; a read circuit coupled to the array; and a decoder coupled to control the read circuit and receive a data stream that the read circuit reads from the array, wherein during a playback operation, the decoder decodes the data stream to identify data types for portions of the data stream, and for each of the portions of the data stream, the decoder selects a number of bits extracted from each memory cell storing that portion, the number of bits extracted per memory cell for any portion of the data stream being selected according to the data type of the portion.
  17. The multi-bit-per-cell memory of claim 16, wherein the decoder comprises programmable array logic that is programmed according to a protocol expected for the data stream.
  18. The multi-bit-per-cell memory of claim 17, wherein the programmable array logic includes an interface that permits re-programming of the programmable array logic to adapt the multi-bit-per-cell memory to another protocol.
  19. The multi-bit-per-cell memory of claim 16, wherein the read circuit is operable in a plurality of modes, each mode corresponding to a different number of bits that the read circuit read per non-volatile memory cell.
  20. The multi-per-cell memory of claim 16, wherein the read circuit has an M-bit output signal representing a value read from a memory cell, and the decoder comprises: a shift register; data type identification logic coupled to the shift register, the data type identification logic generating a signal that selects a number N from a set of values less than M, the number N corresponding to a type for data following data that is in the shift register; and control logic coupled to the shift register and the data type identification logic, wherein in response to the signal indicating the number N, the control logic converts the M-bit signal to N bits of data and feeds the N bits of data to the shift register.
  21. The multi-bit-per-cell memory of claim 20, wherein the data type identification logic is connected to the shift register via programmable array logic.
  22. The multi-bit-per-cell memory of claim 21, wherein the programmable array logic is programmed according to a protocol expected for the data stream.
  23. The multi-bit-per-cell memory of claim 22, wherein the protocol is selected from a group consisting of MPEG, JPEG, GIF, and AC-3.
  24. The multi-bit-per-cell memory of claim 22, wherein the programmable array logic includes an interface that permits re-programming of the programmable array logic to adapt the multi-bit-per-cell memory to another protocol.
  25. A recording device for data streams having a protocol, the device comprising: an array of non-volatile memory cells; a write circuit coupled to the array; and a decoder coupled to receive a data stream and control the write circuit to write data from the data stream into the array, wherein during a recording operation, the decoder decodes the data stream according to the protocol to identify data types for portions of the data stream, and for each of the portions of the data stream, the decoder selects a number of bits written per memory cell when writing data from that portion, the number of bits per memory cell for any portion of the data stream being selected according to the data type of the portion.
  26. The recording device of claim 25, wherein the decoder comprises programmable array logic that is programmed according to the protocol expected for the data stream.
  27. The recording device of claim 26, wherein the programmable array logic includes an interface that permits re-programming of the programmable array logic to adapt the recording device to record a data stream having another protocol.
  28. The recording device of claim 25, wherein the protocol is selected from a group consisting of MPEG, jpeg, gif, and AC-3.
  29. A playback device for data streams having a protocol, the device comprising: an array of non-volatile memory cells; a read circuit coupled to the array; and a decoder coupled to receive a data stream from the read circuit and to control the read circuit when reading from the array, wherein during a playback operation, the decoder decodes the data stream at least a portion of data stream according to the protocol and identifies data types for subsequent portions of the data stream, and for each of the portions of the data stream, the decoder selects a number of bits read per memory cell when reading data from that portion, the number of bits per memory cell for any portion of the data stream being selected according to the data type of the portion.
  30. The playback device of claim 29, wherein the decoder comprises programmable array logic that is programmed according to the protocol expected for the data stream.
  31. The playback device of claim 30, wherein the programmable array logic includes an interface that permits re-programming of the programmable array logic to adapt the recording device to record a data stream having another protocol.
  32. The recording device of claim 30, wherein the protocol is selected from a group consisting of MP3 and MPEG.
  33. A method for recording a data stream in a memory, the method comprising: decoding the data stream to distinguish a plurality of portions of the data stream and determine corresponding data types for the portions; and writing each portion of the data stream in a memory, wherein for each portion, writing data from that portion into a memory cell stores in the memory cell exactly N bits of the data, N being a number that depends on the data type corresponding to the portion.
  34. The method of claim 33, further comprising inputting the data stream to a decoder integrated in the memory, wherein the decoder performs the decoding and controls the number of bits written per memory cell.
  35. The method of claim 34, further comprising programming a programmable logic array in the decoder, wherein the programming enables the decoder to decode a data stream complying with a first standard.
  36. The method of claim 35, further comprising re-programming the programmable logic array in the decoder, wherein the re-programming enables the decoder to decode a data stream complying with a second standard.
  37. A method for playing back a data stream that was recorded in a memory, the method comprising: reading a first portion of the data stream from the memory; decoding the first portion to determine data types of one or more other portions of the data stream stored in the memory; reading each of the other portions of the data stream from a memory, wherein for each portion, reading data from a memory cell storing data for the portion reads from the memory cell a number of bits that depends on the data type corresponding to the portion.
  38. The method of claim 37, wherein reading the first portion of the data stream comprises reading a default number of bits from each memory cell of a plurality of memory cells containing data of the first portion.
  39. The method of claim 37, further comprising programming a programmable logic array in the decoder, wherein the programming enables the decoder to decode a data stream complying with a first standard.
  40. The method of claim 39, further comprising re-programming the programmable logic array in the decoder, wherein the re-programming enables the decoder to decode a data stream complying with a second standard.

Publications

Related applications (3)

  1. US09/766,272

    Priority application

  2. US09/766,272

    Claims priority

  3. US09/766,272

    Patent family

Record timeline

  1. Application filed by Multi Level Memory Technology

  2. Priority to US09/766,272

  3. Assigned to MULTI LEVEL MEMORY TECHNOLOGY

  4. Application granted

  5. Publication of US6466476B1

  6. Assigned to MULTI LEVEL MEMORY TECHNOLOGY (NEVADA)

  7. Assigned to INTERNATIONAL DEVELOPMENT AND LICENSING

  8. Assigned to SAMSUNG ELECTRONICS CO., LTD.

  9. Adjusted expiration

  10. Expired - LifetimeCurrent

Legal events

  1. AS

    Assignment

    Owner name: MULTI LEVEL MEMORY TECHNOLOGY, CALIFORNIA

    Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WONG, SAU CHING;JOHNSEN, KIMBERLEY;REEL/FRAME:011524/0435;SIGNING DATES FROM 20010110 TO 20010112

  2. STCF

    Information on status: patent grant

    Free format text: PATENTED CASE

  3. FEPP

    Fee payment procedure

    Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

  4. AS

    Assignment

    Owner name: MULTI LEVEL MEMORY TECHNOLOGY (NEVADA), NEVADA

    Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MULTI LEVEL MEMORY TECHNOLOGY (CALIFORNIA);REEL/FRAME:016800/0640

    Effective date: 20050720

  5. AS

    Assignment

    Owner name: INTERNATIONAL DEVELOPMENT AND LICENSING, CALIFORNI

    Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MULTI LEVEL MEMORY TECHNOLOGY;REEL/FRAME:017176/0517

    Effective date: 20050802

  6. FEPP

    Fee payment procedure

    Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

  7. REFU

    Refund

    Free format text: REFUND - SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL (ORIGINAL EVENT CODE: R2551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

  8. AS

    Assignment

    Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

    Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL DEVELOPMENT AND LICENSING;REEL/FRAME:017230/0319

    Effective date: 20050804

  9. FPAY

    Fee payment

    Year of fee payment: 4

  10. FEPP

    Fee payment procedure

    Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

    Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

  11. FPAY

    Fee payment

    Year of fee payment: 8

  12. FPAY

    Fee payment

    Year of fee payment: 12

Patent citations (97)

  1. US6233176B1

    Programmable semiconductor memory array having series-connected memory cells

    Kabushiki Kaisha Toshiba · May 15, 2001

  2. US4964079A

    Electrically programmable memory with several information bits per cell

    Sgs-Thomson Microelectronics · October 16, 1990

  3. US5293560A

    Multi-state flash EEPROM system using incremental programing and erasing methods

    Eliyahou Harari · March 8, 1994

  4. US5642312A

    Flash EEPROM system cell array with more than two storage states per memory cell

    Harari; Eliyahou · June 24, 1997

  5. US5909390A

    Techniques of programming and erasing an array of multi-state flash EEPROM cells including comparing the states of the cells to desired values

    Harari; Eliyahou · June 1, 1999

  6. US5095344A

    Highly compact eprom and flash eeprom devices

    Eliyahou Harari · March 10, 1992

  7. US5043940A

    Flash EEPROM memory systems having multistate storage cells

    Eliyahou Harari · August 27, 1991

  8. US5172338A

    Multi-state EEprom read and write circuits and techniques

    Sundisk Corporation · December 15, 1992

  9. US5862080A

    Multi-state flash EEprom system with defect handling

    Sandisk Corporation · January 19, 1999

  10. US6149316A

    Flash EEprom system

    Sandisk Corporation · November 21, 2000

  11. US5172338B1

    Multi-state eeprom read and write circuits and techniques

    Sandisk Corp · July 8, 1997

  12. US5262684A

    Driving circuit for horizontal output circuit

    Victor Company Of Japan, Ltd. · November 16, 1993

  13. US5408431A

    Single transistor EEPROM architecture

    Nexcom Technology, Inc. · April 18, 1995

  14. US5218569A

    Electrically alterable non-volatile memory with n-bits per memory cell

    Banks Gerald J · June 8, 1993

  15. US6002614A

    Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell

    Btg International Inc. · December 14, 1999

  16. US5504760A

    Mixed data encoding EEPROM system

    Sandisk Corporation · April 2, 1996

  17. US6317363B1

    Multi-state memory

    Sandisk Corporation · November 13, 2001

  18. US5399891A

    Floating gate or flash EPROM transistor array having contactless source and drain diffusions

    Macronix International Co., Ltd. · March 21, 1995

  19. US5691938A

    Non-volatile memory cell and array architecture

    Macronix International Co., Ltd. · November 25, 1997

  20. US5526307A

    Flash EPROM integrated circuit architecture

    Macronix International Co., Ltd. · June 11, 1996

  21. US5822781A

    Sector-based storage device emulator having variable-sized sector

    Intel Corporation · October 13, 1998

  22. US6343138B1

    Security documents with hidden digital data

    Digimarc Corporation · January 29, 2002 · Examiner cited

  23. US5521865A

    Non-volatile semiconductor memory device for storing multi-value data

    Kabushiki Kaisha Toshiba · May 28, 1996

  24. US5515317A

    Addressing modes for a dynamic single bit per cell to multiple bit per cell memory

    Intel Corporation · May 7, 1996

  25. US6097637A

    Dynamic single bit per cell to multiple bit per cell memory

    Intel Corporation · August 1, 2000

  26. US5450363A

    Gray coding for a multilevel cell memory system

    Intel Corporation · September 12, 1995

  27. US5682349A

    Failure tolerant memory device, in particular of the flash EEPROM type

    Sgs-Thomson Microelectronics, S.R.L. · October 28, 1997

  28. US5761222A

    Memory device having error detection and correction function, and methods for reading, writing and erasing the memory device

    Sgs-Thomson Microelectronics, S.R.L. · June 2, 1998

  29. US5638320A

    High resolution analog storage EPROM and flash EPROM

    Invoice Technology, Inc. · June 10, 1997

  30. US5694356A

    High resolution analog storage EPROM and flash EPROM

    Invoice Technology, Inc. · December 2, 1997

  31. US5687115A

    Write circuits for analog memory

    Invoice Technology, Inc. · November 11, 1997

  32. US5541886A

    Method and apparatus for storing control information in multi-bit non-volatile memory arrays

    Intel Corporation · July 30, 1996

  33. US5943693A

    Algorithmic array mapping to decrease defect sensitivity of memory devices

    Intel Corporation · August 24, 1999

  34. US5751634A

    Non-volatile semiconductor memory device for storing multivalue data and readout/write-in method therefor

    Kabushiki Kaisha Toshiba · May 12, 1998

  35. US5694357A

    Nonvolatile semiconductor memory device for storing multi-value data

    Kabushiki Kaisha Toshiba · December 2, 1997

  36. US5880996A

    Memory system having non-volatile data storage structure for memory control parameters and method

    Micron Technology, Inc. · March 9, 1999

  37. US5745409A

    Non-volatile memory with analog and digital interface and storage

    Invox Technology · April 28, 1998

  38. US6055181A

    Nonvolatile semiconductor memory device capable of storing multi-value data of more than one bit in a memory cell

    Kabushiki Kaisha Toshiba · April 25, 2000

  39. US5802553A

    File system configured to support variable density storage and data compression within a nonvolatile memory

    Intel Corporation · September 1, 1998

  40. US5680341A

    Pipelined record and playback for analog non-volatile memory

    Invoice Technology · October 21, 1997

  41. US5859795A

    Multi-level memory circuits and corresponding reading and writing methods

    Sgs-Thomson Microelectronics S.R.L. · January 12, 1999

  42. US5768192A

    Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping

    Saifun Semiconductors, Ltd. · June 16, 1998

  43. US5936887A

    Non-volatile memory device with NAND type cell structure

    Samsung Electronics Co., Ltd. · August 10, 1999

  44. US5999445A

    Multilevel non-volatile memory devices

    Sgs-Thomson Microelectronics S.R.L. · December 7, 1999

  45. US5970012A

    Non-volatile semiconductor memory device having a memory cell capable of establishing multi-level information and data writing method thereof

    Nec Corporation · October 19, 1999

  46. US5880993A

    Method and circuit for checking multilevel programming of floating-gate nonvolatile memory cells particularly flash cells

    Sgs-Thomson Microelectronics, S.R.L. · March 9, 1999

  47. US5790453A

    Apparatus and method for reading state of multistate non-volatile memory cells

    Micron Quantum Devices, Inc. · August 4, 1998

  48. US5859858A

    Method and apparatus for correcting a multilevel cell memory by using error locating codes

    Intel Corporation · January 12, 1999

  49. US5717632A

    Apparatus and method for multiple-level storage in non-volatile memories

    Advanced Micro Devices, Inc. · February 10, 1998

  50. US6130452A

    Virtual ground flash cell with asymmetrically placed source and drain and method of fabrication

    Macronix International Co., Ltd. · October 10, 2000

  51. US6160587A

    Waveform generator for insertion of data into digital television signals

    Motorola, Inc. · December 12, 2000 · Examiner cited

  52. US5982663A

    Nonvolatile semiconductor memory performing single bit and multi-bit operations

    Samsung Electronics, Co., Ltd. · November 9, 1999

  53. US5956268A

    Nonvolatile memory structure

    Hyundai Electronics America · September 21, 1999

  54. US5790456A

    Multiple bits-per-cell flash EEPROM memory cells with wide program and erase Vt window

    Advanced Micro Devices, Inc. · August 4, 1998

  55. US6026015A

    Non-volatile multi-level semiconductor storage device for storing multiple bits using multiple variable threshold voltages

    Nec Corporation · February 15, 2000

  56. US5896340A

    Multiple array architecture for analog or multi-bit-cell memory

    Invox Technology · April 20, 1999

  57. US6011725A

    Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping

    Saifun Semiconductors, Ltd. · January 4, 2000

  58. US5870326A

    Information encoding by multiple line selection

    Intel Corporation · February 9, 1999

  59. US5801994A

    Non-volatile memory array architecture

    Programmable Microelectronics Corporation · September 1, 1998

  60. US5909449A

    Multibit-per-cell non-volatile memory with error detection and correction

    Invox Technology · June 1, 1999

  61. US6307776B1

    Multi-bit-per-cell flash EEPROM memory with refresh

    Sandisk Corporation · October 23, 2001

  62. US6154391A

    Nonvolatile semiconductor memory device

    Kabushiki Kaisha Toshiba · November 28, 2000

  63. US6081448A

    Method and device for analog programming of flash EEPROM memory cells with autoverify

    Stmicroelectronics S.R.L. · June 27, 2000

  64. US6166407A

    Non-volatile semiconductor memory device

    Sharp Kabushiki Kaisha · December 26, 2000

  65. US6134143A

    Multi-state flash memory defect management

    Micron Technology, Inc. · October 17, 2000

  66. US6285574B1

    Symmetric segmented memory array architecture

    Saifun Semiconductors Ltd. · September 4, 2001

  67. US6233717B1

    Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein

    Samsung Electronics Co., Ltd. · May 15, 2001

  68. US6124157A

    Integrated non-volatile and random access memory and method of forming the same

    Cypress Semiconductor Corp. · September 26, 2000

  69. US6038166A

    High resolution multi-bit-per-cell memory

    Invox Technology · March 14, 2000

  70. US6067248A

    Nonvolatile semiconductor memory with single-bit and multi-bit modes of operation and method for performing programming and reading operations therein

    Samsung Electronics, Co., Ltd. · May 23, 2000

  71. US6075722A

    Semiconductor multivalued memory device determining multivalued read-out datum by comparing it with corresponding reference data

    Nec Corporation · June 13, 2000

  72. US6122193A

    Non-volatile semiconductor memory capable of storing 1-bit data or multi-bit data

    Kabushiki Kaisha Toshiba · September 19, 2000

  73. US6078526A

    Flash memory with plural memory chips of same memory capacity and system utilizing the same

    Mitsubishi Denki Kabushiki Kaisha · June 20, 2000

  74. US6134145A

    High data rate write process for non-volatile flash memories

    Sandisk Corporation · October 17, 2000

  75. US6314025B1

    High data rate write process for non-volatile flash memories

    Sandisk Corporation · November 6, 2001

  76. US6208542B1

    Techniques for storing digital data in an analog or multilevel memory

    Sandisk Corporation · March 27, 2001

  77. US6172912B1

    Programming method for a nonvolatile semiconductor memory

    Sharp Kabushiki Kaisha · January 9, 2001

  78. US6236081B1

    AND-type non-volatile semiconductor memory device and method of manufacturing thereof

    Mitsubishi Denki Kabushiki Kaisha · May 22, 2001

  79. US6166959A

    Flash memory array with internal refresh

    Atmel Corporation · December 26, 2000

  80. US6212121B1

    Semiconductor memory device with multiple sub-arrays of different sizes

    Samsung Electronics Co., Ltd. · April 3, 2001

  81. US6058060A

    Multi-bit-per-cell and analog/multi-level non-volatile memories with improved resolution and signal-to noise ratio

    Invox Technology · May 2, 2000

  82. US6134141A

    Dynamic write process for high bandwidth multi-bit-per-cell and analog/multi-level non-volatile memories

    Sandisk Corporation · October 17, 2000

  83. US6195287B1

    Data programming method for a nonvolatile semiconductor storage

    Sharp Kabushiki Kaisha · February 27, 2001

  84. US6256231B1

    EEPROM array using 2-bit non-volatile memory cells and method of implementing same

    Tower Semiconductor Ltd. · July 3, 2001

  85. US6181597B1

    EEPROM array using 2-bit non-volatile memory cells with serial read operations

    Tower Semiconductor Ltd. · January 30, 2001

  86. US6094368A

    Auto-tracking write and read processes for multi-bit-per-cell non-volatile memories

    Invox Technology · July 25, 2000

  87. US6301154B1

    Semiconductor memory device having floating gate type transistors programmed to have differing threshold voltages

    Sharp Kabushiki Kaisha · October 9, 2001

  88. US6295595B1

    Method and structure for accessing a reduced address space of a defective memory

    Tower Semiconductor Ltd. · September 25, 2001

  89. US6133098A

    Process for making and programming and operating a dual-bit multi-level ballistic flash memory

    Halo Lsi Design & Device Technology, Inc. · October 17, 2000

  90. US6137719A

    Nonvolatile semiconductor memory device storing multi-bit data

    Mitsubishi Denki Kabushiki Kaisha · October 24, 2000

  91. US6240014B1

    Semiconductor memory device

    Samsung Electronics Co., Ltd. · May 29, 2001

  92. US6219282B1

    Flash EPROM having means for increasing the reliability of stored data

    Mitsubishi Denki Kabushiki Kaisha · April 17, 2001

  93. US6248633B1

    Process for making and programming and operating a dual-bit multi-level ballistic MONOS memory

    Halo Lsi Design & Device Technology, Inc. · June 19, 2001

  94. US6278633B1

    High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations

    Multi Level Memory Technology · August 21, 2001

  95. US6330185B1

    High bandwidth multi-level flash memory using dummy memory accesses to improve precision when writing or reading a data stream

    Multi Level Memory Technology · December 11, 2001

  96. US6259627B1

    Read and write operations using constant row line voltage and variable column line load

    Multi Level Memory Technology · July 10, 2001

  97. US6219276B1

    Multilevel cell programming

    Advanced Micro Devices, Inc. · April 17, 2001

Cited by (175)

  1. US7107111B2

    Trick play for MP3

    Koninklijke Philips Electronics N.V. · September 12, 2006 · Examiner cited

  2. KR100904626B1

    Trick play for MP3

    코닌클리케 필립스 일렉트로닉스 엔.브이. · June 25, 2009

  3. US20030009246A1

    Trick play for MP3

    Van De Kerkhof Leon Maria · January 9, 2003 · Examiner cited

  4. US8341407B2

    Method and system for protecting electronic data in enterprise environment

    Guardian Data Storage, Llc · December 25, 2012

  5. US10360545B2

    Method and apparatus for accessing secured electronic data off-line

    Guardian Data Storage, Llc · July 23, 2019

  6. US8065713B1

    System and method for providing multi-location access management to secured items

    Klimenty Vainstein · November 22, 2011

  7. US7921450B1

    Security system using indirect key generation from access rules and methods therefor

    Klimenty Vainstein · April 5, 2011

  8. US8543827B2

    Methods and systems for providing access control to secured data

    Intellectual Ventures I Llc · September 24, 2013 · Examiner cited

  9. US7921284B1

    Method and system for protecting electronic data in enterprise environment

    Gary Mark Kinghorn · April 5, 2011

  10. US7921288B1

    System and method for providing different levels of key security for controlling access to secured items

    Hildebrand Hal S · April 5, 2011

  11. US10229279B2

    Methods and systems for providing access control to secured data

    Intellectual Ventures I Llc · March 12, 2019

  12. US8341406B2

    System and method for providing different levels of key security for controlling access to secured items

    Guardian Data Storage, Llc · December 25, 2012

  13. US10769288B2

    Methods and systems for providing access control to secured data

    Intellectual Property Ventures I Llc · September 8, 2020

  14. US7930756B1

    Multi-level cryptographic transformations for securing digital assets

    Crocker Steven Toye · April 19, 2011

  15. US7913311B2

    Methods and systems for providing access control to electronic data

    Rossmann Alain · March 22, 2011

  16. US8266674B2

    Method and system for implementing changes to security policies in a distributed security system

    Guardian Data Storage, Llc · September 11, 2012

  17. US8918839B2

    System and method for providing multi-location access management to secured items

    Intellectual Ventures I Llc · December 23, 2014

  18. US10033700B2

    Dynamic evaluation of access rights

    Intellectual Ventures I Llc · July 24, 2018

  19. US9129120B2

    Methods and systems for providing access control to secured data

    Intellectual Ventures I Llc · September 8, 2015

  20. US9542560B2

    Methods and systems for providing access control to secured data

    Intellectual Ventures I Llc · January 10, 2017

  21. US8943316B2

    Document security system that permits external users to gain access to secured files

    Intellectual Ventures I Llc · January 27, 2015

  22. US20040008975A1

    Input buffer management for the playback control for MP3 players

    Tzueng-Yau Lin · January 15, 2004 · Examiner cited

  23. US7317867B2

    Input buffer management for the playback control for MP3 players

    Mediatek Inc. · January 8, 2008 · Examiner cited

  24. US20050100341A1

    Optical transmission apparatus and electronic equipment provided with same

    Kazuhito Nagura · May 12, 2005 · Examiner cited

  25. USRE47443E1

    Document security system that permits external users to gain access to secured files

    Intellectual Ventures I Llc · June 18, 2019

  26. US8176334B2

    Document security system that permits external users to gain access to secured files

    Guardian Data Storage, Llc · May 8, 2012

  27. US8707034B1

    Method and system for using remote headers to secure electronic files

    Intellectual Ventures I Llc · April 22, 2014

  28. US7689429B2

    Methods and apparatuses for bit stream decoding in MP3 decoder

    Via Technologies, Inc. · March 30, 2010 · Examiner cited

  29. US20050171763A1

    Methods and apparatuses for bit stream decoding in MP3 decoder

    Jin Feng Zhou · August 4, 2005 · Examiner cited

  30. RU2335022C2

    Transformation of audio file format

    Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. · September 27, 2008 · Examiner cited

  31. US20060259168A1

    Audio file format conversion

    Stefan Geyersberger · November 16, 2006 · Examiner cited

  32. US7769477B2

    Audio file format conversion

    Fraunhofer—Gesellschaft zur Forderung der Angewandten Forschung E.V. · August 3, 2010

  33. US8127366B2

    Method and apparatus for transitioning between states of security policies used to secure electronic documents

    Guardian Data Storage, Llc · February 28, 2012

  34. US8327138B2

    Method and system for securing digital assets using process-driven security policies

    Guardian Data Storage Llc · December 4, 2012

  35. US8739302B2

    Method and apparatus for transitioning between states of security policies used to secure electronic documents

    Intellectual Ventures I Llc · May 27, 2014

  36. US8185705B2

    Information recording medium, information recording medium accessing apparatus and accessing method

    Panasonic Corporation · May 22, 2012 · Examiner cited

  37. US20070033364A1

    Information recording medium, information recording medium accessing apparatus and accessing method

    Takuji Maeda · February 8, 2007 · Examiner cited

  38. US7940807B2

    Methods, decoder circuits and computer program products for processing MPEG audio frames

    Samsung Electronics Co., Ltd. · May 10, 2011 · Examiner cited

  39. US20050111493A1

    Methods, decoder circuits and computer program products for processing MPEG audio frames

    Jung-In Han · May 26, 2005 · Examiner cited

  40. US20080212357A1

    Simultaneous read circuit for multiple memory cells

    Campbell Kristy A · September 4, 2008 · Examiner cited

  41. US7609563B2

    Simultaneous read circuit for multiple memory cells

    Micron Technology, Inc. · October 27, 2009 · Examiner cited

  42. US20080287171A1

    Mobile wireless communications device comprising a top-mounted auxiliary input/output device and a bottom-mounted antenna

    Research In Motion Limited · November 20, 2008 · Examiner cited

  43. US20050273549A1

    Memory device with user configurable density/performance

    Micron Technology, Inc. · December 8, 2005 · Examiner cited

  44. US8644065B2

    Memory system with user configurable density/performance option

    Micron Technology, Inc. · February 4, 2014 · Examiner cited

  45. US8082382B2

    Memory device with user configurable density/performance

    Micron Technology, Inc. · December 20, 2011

  46. US20090213655A1

    Memory system with user configurable density/performance option

    Micron Technology, Inc. · August 27, 2009 · Examiner cited

  47. KR100888113B1

    Memory device with user configurable density/performance

    마이크론 테크놀로지, 인크. · March 13, 2009

  48. WO2005119695A3

    Memory device with user configurable density/performance

    Micron Technology Inc · February 2, 2006 · Examiner cited

  49. US8682680B2

    Methods and apparatuses for bit stream decoding in MP3 decoder

    Via Technologies, Inc. · March 25, 2014

  50. US20100145714A1

    Methods and apparatuses for bit stream decoding in mp3 decoder

    Via Technologies, Inc. · June 10, 2010 · Examiner cited

  51. US8261157B2

    Method of error correction in MBC flash memory

    Ramot et Tel Aviv University Ltd. · September 4, 2012 · Examiner cited

  52. US20090070657A1

    Method of error correction in mbc flash memory

    Ramot At Tel Aviv University Ltd. · March 12, 2009 · Examiner cited

  53. US7697326B2

    Reducing programming error in memory devices

    Anobit Technologies Ltd. · April 13, 2010

  54. US8050086B2

    Distortion estimation and cancellation in memory devices

    Anobit Technologies Ltd. · November 1, 2011

  55. US8599611B2

    Distortion estimation and cancellation in memory devices

    Apple Inc. · December 3, 2013

  56. US8156403B2

    Combined distortion estimation and error correction coding for memory devices

    Anobit Technologies Ltd. · April 10, 2012

  57. US8570804B2

    Distortion estimation and cancellation in memory devices

    Apple Inc. · October 29, 2013

  58. US20080198650A1

    Distortion Estimation And Cancellation In Memory Devices

    Anobit Technologies Ltd. · August 21, 2008 · Examiner cited

  59. US8239735B2

    Memory Device with adaptive capacity

    Apple Inc. · August 7, 2012

  60. US20100131826A1

    Estimation of non-linear distortion in memory devices

    Anobit Technologies Ltd. · May 27, 2010 · Examiner cited

  61. US8060806B2

    Estimation of non-linear distortion in memory devices

    Anobit Technologies Ltd. · November 15, 2011

  62. USRE46346E1

    Reading memory cells using multiple thresholds

    Apple Inc. · March 21, 2017

  63. US7975192B2

    Reading memory cells using multiple thresholds

    Anobit Technologies Ltd. · July 5, 2011

  64. US20100165730A1

    Reading memory cells using multiple thresholds

    Anobit Technologies Ltd. · July 1, 2010 · Examiner cited

  65. US7821826B2

    Memory cell readout using successive approximation

    Anobit Technologies, Ltd. · October 26, 2010

  66. US8145984B2

    Reading memory cells using multiple thresholds

    Anobit Technologies Ltd. · March 27, 2012

  67. US7924648B2

    Memory power and performance management

    Anobit Technologies Ltd. · April 12, 2011

  68. US8151163B2

    Automatic defect management in memory devices

    Anobit Technologies Ltd. · April 3, 2012

  69. US7900102B2

    High-speed programming of memory devices

    Anobit Technologies Ltd. · March 1, 2011

  70. US7593263B2

    Memory device with reduced reading latency

    Anobit Technologies Ltd. · September 22, 2009

  71. US7751240B2

    Memory device with negative thresholds

    Anobit Technologies Ltd. · July 6, 2010

  72. US8151166B2

    Reduction of back pattern dependency effects in memory devices

    Anobit Technologies Ltd. · April 3, 2012

  73. US7881107B2

    Memory device with negative thresholds

    Anobit Technologies Ltd. · February 1, 2011

  74. US8514509B2

    Error tolerant or streaming storage device

    Rod Brittner · August 20, 2013 · Examiner cited

  75. US20100328805A1

    Error tolerant or streaming storage device

    Rod Brittner · December 30, 2010 · Examiner cited

  76. US11379120B2

    Error tolerant or streaming storage device

    Rod Brittner · July 5, 2022 · Examiner cited

  77. US8369141B2

    Adaptive estimation of memory cell read thresholds

    Apple Inc. · February 5, 2013

  78. US8001320B2

    Command interface for memory devices

    Anobit Technologies Ltd. · August 16, 2011

  79. US8429493B2

    Memory device with internal signap processing unit

    Apple Inc. · April 23, 2013

  80. US8234545B2

    Data storage with incremental redundancy

    Apple Inc. · July 31, 2012

  81. US9449664B2

    Quantizing circuits having improved sensing

    Micron Technology, Inc. · September 20, 2016

  82. US9336084B2

    Error detection for multi-bit memory

    Micron Technology, Inc. · May 10, 2016

  83. US8194477B2

    Subtraction circuits and digital-to-analog converters for semiconductor devices

    Micron Technology, Inc. · June 5, 2012

  84. US7830729B2

    Digital filters with memory

    Micron Technology, Inc. · November 9, 2010 · Examiner cited

  85. US20110051511A1

    Digital filters with memory

    Micron Technology, Inc. · March 3, 2011 · Examiner cited

  86. US20110063930A1

    Subtraction circuits and digital-to-analog converters for semiconductor devices

    Micron Technology, Inc. · March 17, 2011 · Examiner cited

  87. US10127954B2

    Quantizing circuits having improved sensing

    Micron Technology, Inc. · November 13, 2018

  88. US8854899B2

    Methods for sensing memory elements in semiconductor devices

    Micron Technology, Inc. · October 7, 2014

  89. US9299405B2

    Methods for sensing memory elements in semiconductor devices

    Micron Technology, Inc. · March 29, 2016

  90. US8582375B2

    Methods for sensing memory elements in semiconductor devices

    Micron Technology, Inc. · November 12, 2013

  91. US9734894B2

    Digital filters with memory

    Micron Technology, Inc. · August 15, 2017

  92. US10366744B2

    Digital filters with memory

    Micron Technology, Inc. · July 30, 2019

  93. US9070469B2

    Digital filters with memory

    Micron Technology, Inc. · June 30, 2015

  94. US10658018B2

    Quantizing circuits having improved sensing

    Micron Technology, Inc. · May 19, 2020

  95. US10403339B2

    Quantizing circuits having improved sensing

    Micron Technology, Inc. · September 3, 2019

  96. US20080310244A1

    Digital filters with memory

    Micron Technology, Inc. · December 18, 2008 · Examiner cited

  97. US20080316812A1

    Programming a memory with varying bits per cell

    Roohparvar Frankie F · December 25, 2008 · Examiner cited

  98. US7729167B2

    Programming a memory with varying bits per cell

    Micron Technology, Inc. · June 1, 2010

  99. US7460398B1

    Programming a memory with varying bits per cell

    Micron Technology, Inc. · December 2, 2008

  100. US20100246261A1

    Programming a memory with varying bits per cell

    Micron Technology, Inc. · September 30, 2010 · Examiner cited

  101. US20090067240A1

    Programming a memory with varying bits per cell

    Micron Technology, Inc. · March 12, 2009 · Examiner cited

  102. US8102706B2

    Programming a memory with varying bits per cell

    Micron Technology, Inc. · January 24, 2012

  103. US7925936B1

    Memory device with non-uniform programming levels

    Anobit Technologies Ltd. · April 12, 2011

  104. US8259497B2

    Programming schemes for multi-level analog memory cells

    Apple Inc. · September 4, 2012

  105. US8583857B2

    Method and system for object-oriented data storage

    Marvell World Trade Ltd. · November 12, 2013

  106. US20110082976A1

    Method and system for object-oriented data storage

    Zining Wu · April 7, 2011 · Examiner cited

  107. EP2028661A1

    Method and system for object-oriented data storage

    Marvell International Ltd. · February 25, 2009

  108. US20090055605A1

    Method and system for object-oriented data storage

    Zining Wu · February 26, 2009 · Examiner cited

  109. US8174905B2

    Programming orders for reducing distortion in arrays of multi-level analog memory cells

    Anobit Technologies Ltd. · May 8, 2012

  110. US7773413B2

    Reliable data storage in analog memory cells in the presence of temperature variations

    Anobit Technologies Ltd. · August 10, 2010

  111. US8068360B2

    Reading analog memory cells using built-in multi-threshold commands

    Anobit Technologies Ltd. · November 29, 2011

  112. US8000141B1

    Compensation for voltage drifts in analog memory cells

    Anobit Technologies Ltd. · August 16, 2011

  113. US8527819B2

    Data storage in analog memory cell arrays having erase failures

    Apple Inc. · September 3, 2013

  114. US8270246B2

    Optimized selection of memory chips in multi-chips memory devices

    Apple Inc. · September 18, 2012

  115. US8225181B2

    Efficient re-read operations from memory devices

    Apple Inc. · July 17, 2012

  116. US8209588B2

    Efficient interference cancellation in analog memory cell arrays

    Anobit Technologies Ltd. · June 26, 2012

  117. US8456905B2

    Efficient data storage in multi-plane memory devices

    Apple Inc. · June 4, 2013

  118. US8085586B2

    Wear level estimation in analog memory cells

    Anobit Technologies Ltd. · December 27, 2011

  119. US8156398B2

    Parameter estimation based on error correction code parity check equations

    Anobit Technologies Ltd. · April 10, 2012

  120. US7924587B2

    Programming of analog memory cells using a single programming pulse per state transition

    Anobit Technologies Ltd. · April 12, 2011

  121. US7864573B2

    Programming analog memory cells for reduced variance after retention

    Anobit Technologies Ltd. · January 4, 2011

  122. US8230300B2

    Efficient readout from analog memory cells using data compression

    Apple Inc. · July 24, 2012

  123. US20140108888A1

    Error tolerant or streaming storage device

    Rod Brittner · April 17, 2014 · Examiner cited

  124. US8400858B2

    Memory device with reduced sense time readout

    Apple Inc. · March 19, 2013

  125. US8059457B2

    Memory device with multiple-accuracy read commands

    Anobit Technologies Ltd. · November 15, 2011

  126. US7995388B1

    Data storage using modified voltages

    Anobit Technologies Ltd. · August 9, 2011

  127. US7924613B1

    Data storage in analog memory cells with protection against programming interruption

    Anobit Technologies Ltd. · April 12, 2011

  128. US8498151B1

    Data storage in analog memory cells using modified pass voltages

    Apple Inc. · July 30, 2013

  129. US8949684B1

    Segmented data storage

    Apple Inc. · February 3, 2015

  130. US8169825B1

    Reliable data storage in analog memory cells subjected to long retention periods

    Anobit Technologies Ltd. · May 1, 2012

  131. US8482978B1

    Estimation of memory cell read thresholds by sampling inside programming level distribution intervals

    Apple Inc. · July 9, 2013

  132. US8000135B1

    Estimation of memory cell read thresholds by sampling inside programming level distribution intervals

    Anobit Technologies Ltd. · August 16, 2011

  133. US8239734B1

    Efficient data storage in storage device arrays

    Apple Inc. · August 7, 2012

  134. US8261159B1

    Data scrambling schemes for memory devices

    Apple, Inc. · September 4, 2012

  135. US8407400B2

    Dynamic SLC/MLC blocks allocations for non-volatile memory

    Micron Technology, Inc. · March 26, 2013

  136. US20100122016A1

    Dynamic slc/mlc blocks allocations for non-volatile memory

    Micron Technology · May 13, 2010 · Examiner cited

  137. US9196368B2

    Erasing physical memory blocks of non-volatile memory

    Round Rock Research, Llc · November 24, 2015

  138. US8667215B2

    Dynamic SLC/MLC blocks allocations for non-volatile memory

    Micron Technology, Inc. · March 4, 2014

  139. US8208304B2

    Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N

    Anobit Technologies Ltd. · June 26, 2012

  140. US8174857B1

    Efficient readout schemes for analog memory cell devices using multiple read threshold sets

    Anobit Technologies Ltd. · May 8, 2012

  141. US8397131B1

    Efficient readout schemes for analog memory cell devices

    Apple Inc. · March 12, 2013

  142. US8248831B2

    Rejuvenation of analog memory cells

    Apple Inc. · August 21, 2012

  143. US8924661B1

    Memory system including a controller and processors associated with memory devices

    Apple Inc. · December 30, 2014

  144. US8228701B2

    Selective activation of programming schemes in analog memory cell arrays

    Apple Inc. · July 24, 2012

  145. US8832354B2

    Use of host system resources by memory controller

    Apple Inc. · September 9, 2014

  146. US8259506B1

    Database of memory read thresholds

    Apple Inc. · September 4, 2012

  147. US8238157B1

    Selective re-programming of analog memory cells

    Apple Inc. · August 7, 2012

  148. US8479080B1

    Adaptive over-provisioning in memory systems

    Apple Inc. · July 2, 2013

  149. US8495465B1

    Error correction coding over multiple memory pages

    Apple Inc. · July 23, 2013

  150. US8677054B1

    Memory management schemes for non-volatile memory devices

    Apple Inc. · March 18, 2014

  151. US8694814B1

    Reuse of host hibernation storage space by memory controller

    Apple Inc. · April 8, 2014

  152. US8677203B1

    Redundant data storage schemes for multi-die memory systems

    Apple Inc. · March 18, 2014

  153. US8572311B1

    Redundant data storage in multi-die memory systems

    Apple Inc. · October 29, 2013

  154. CN102844813A

    Memory programming using variable data width

    莫塞德技术公司 · December 26, 2012 · Examiner cited

  155. WO2011127563A1

    Memory programming using variable data width

    Mosaid Technologies Incorporated · October 20, 2011 · Examiner cited

  156. US8570828B2

    Memory programming using variable data width

    Mosaid Technologies Incorporated · October 29, 2013

  157. US8694853B1

    Read commands for reading interfering memory cells

    Apple Inc. · April 8, 2014

  158. US8572423B1

    Reducing peak current in memory systems

    Apple Inc. · October 29, 2013

  159. US8595591B1

    Interference-aware assignment of programming levels in analog memory cells

    Apple Inc. · November 26, 2013

  160. US9104580B1

    Cache memory for hybrid disk drives

    Apple Inc. · August 11, 2015

  161. US8645794B1

    Data storage in analog memory cells using a non-integer number of bits per cell

    Apple Inc. · February 4, 2014

  162. US8767459B1

    Data storage in analog memory cells across word lines using a non-integer number of bits per cell

    Apple Inc. · July 1, 2014

  163. US8856475B1

    Efficient selection of memory blocks for compaction

    Apple Inc. · October 7, 2014

  164. US8694854B1

    Read threshold setting based on soft readout statistics

    Apple Inc. · April 8, 2014

  165. US9021181B1

    Memory management for unifying memory cell conditions by using maximum time intervals

    Apple Inc. · April 28, 2015

  166. US20120140556A1

    Method of operating flash memory

    Macronix International Co., Ltd. · June 7, 2012 · Examiner cited

  167. US20130138870A1

    Memory system, data storage device, memory card, and ssd including wear level control logic

    Samsung Electronics Co., Ltd. · May 30, 2013 · Examiner cited

  168. US10157022B2

    Methods and apparatus for storing data to a solid state storage device based on data classification

    Marvell World Trade Ltd. · December 18, 2018

  169. US9575886B2

    Methods and apparatus for storing data to a solid state storage device based on data classification

    Marvell World Trade Ltd. · February 21, 2017

  170. US9047211B2

    Managing data reliability

    SanDisk Technologies, Inc. · June 2, 2015

  171. US9786386B2

    Dynamic approximate storage for custom applications

    Microsoft Technology Licensing, Llc · October 10, 2017

  172. US9690656B2

    Data encoding on single-level and variable multi-level cell storage

    Microsoft Technology Licensing, Llc · June 27, 2017 · Examiner cited

  173. EP3516660A4

    METHOD AND APPARATUS FOR PROGRAMMING NON-VOLATILE MEMORY USING A GROUP OF MULTI-CELL STORAGE CELLS TO PROVIDE ERROR LOCATION INFORMATION FOR RETENTION ERRORS

    Intel Corporation · June 17, 2020 · Examiner cited

  174. US11556416B2

    Controlling memory readout reliability and throughput by adjusting distance between read thresholds

    Apple Inc. · January 17, 2023

  175. US11847342B2

    Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

    Apple Inc. · December 19, 2023

Related Patents