Reduced complexity reliability computations for flash memories

Methods and apparatus are provided for computing reliability values, such as log likelihood ratios (LLRs), with reduced complexity for flash memory devices. Data from a flash memory device that stores M bits per cell using 2^M possible states is processed by obtaining at least two soft read voltage values corresponding to two reference voltages V0 and V1, wherein the two reference voltages V0 and V1 are between two adjacent states of the 2^M possible states; and converting the at least two soft read voltage values to a log likelihood ratio for a region between the two reference voltages V0 and V1 using probability density functions only for the two adjacent states. The soft read voltage values comprise, for example, hard decision read values obtained by a plurality of read retries of a given cell at a plurality of reference voltages and/or soft values obtained from the flash memory device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to United States Patent Application entitled, “Methods and Apparatus for Approximating a Probability Density Function or Distribution for a Received Value in Communication or Storage Systems;” United States Patent Application entitled “Methods and Apparatus for Computing a Probability Value of a Received Value in Communication or Storage Systems,” and United States Patent Application entitled “Methods and Apparatus for Computing Soft Data or Log Likelihood Ratios for Received Values in Communication or Storage Systems,” each filed Mar. 31, 2010, and U.S. patent application Ser. No. 13/001,278, filed Feb. 25, 2011, entitled “Methods and Apparatus for Read-Side Intercell Interference Mitigation in Flash Memories,” (now U.S. Pat. No. 8,462,549), U.S. patent application Ser. No. 13/063,888, filed Aug. 31, 2011, entitled “Methods and Apparatus for Soft Data Generation in Flash Memories” (now U.S. Pat. No. 8,830,748); and U.S. patent application Ser. No. 13/731,551, filed Dec. 31, 2012, entitled “Multi-Tier Detection and Decoding in Flash Memories,” each incorporated by reference herein.

FIELD

The present invention relates generally to flash memory devices and more particularly, to improved techniques for mitigating the effect of noise, inter-cell interference and other distortions in such flash memory devices with low overall processing delay.

BACKGROUND

A number of memory devices, such as flash memory devices, use analog memory cells to store data. Each memory cell stores an analog value, also referred to as a storage value, such as an electrical charge or voltage. The storage value represents the information stored in the cell. In flash memory devices, for example, each analog memory cell typically stores a certain voltage. The range of possible analog values for each cell is typically divided into threshold regions, with each region corresponding to one or more data bit values. Data is written to an analog memory cell by writing a nominal analog value that corresponds to the desired one or more bits. The analog values stored in memory cells are often distorted. The distortions are typically due to, for example, back pattern dependency (BPD), noise and inter-cell interference (ICI).

A probability density function (PDF) of a continuous random variable describes the relative probability that a given value of the random variable will occur at a given point in time. The voltage distributions for memory cells, for example, are often expressed using such probability density functions. Generally, the threshold voltage of a cell is the voltage that needs to be applied to the cell so that the cell conducts a certain amount of current. The threshold voltage is a measure for the data stored in a cell.

Statistical noise in a communication system, for example, is typically approximated using a probability density function having a normal distribution (often referred to as a Gaussian distribution). Computing probability values for a Gaussian distribution is relatively straightforward. The above-described distortions in memory devices, however, as well as imperfections in the write process, may cause the probability density function for received values read from the memory to have an arbitrary or non-Gaussian distribution. The computation of probability values for such arbitrary distributions is significantly more complex than for a Gaussian distribution.

A need therefore exists for improved methods and apparatus for computing probability values for received or stored values that have an arbitrary probability density function. A further need exists for methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems.

SUMMARY

Generally, methods and apparatus are provided for computing reliability values, such as log likelihood ratios (LLRs), with reduced complexity for flash memory devices. According to one aspect of the invention, data from a flash memory device that stores M bits per cell using 2^M possible states is processed by obtaining at least two soft read voltage values corresponding to two reference voltages V0and V1, wherein the two reference voltages V0and V1are between two adjacent states of the 2^M possible states; and converting the at least two soft read voltage values to a log likelihood ratio for a region between the two reference voltages V0and V1using probability density functions only for the two adjacent states.

The soft read voltage values comprise, for example, hard decision read values obtained by a plurality of read retries of a given cell at a plurality of reference voltages and/or soft values obtained from the flash memory device. In one exemplary embodiment, the probability density functions for each of the two adjacent states Snand Sn+1can be expressed as f(ν;μn,σn2) and f(ν;μn+1,σn+12), where the probability density functions are defined by a mean μn, and a variance σn2and ν is the soft read voltage.

A more complete understanding of the present invention, as well as further features, aspects, embodiments and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.

DETAILED DESCRIPTION

Various aspects of the invention are directed to signal processing and error code correction (ECC) techniques for mitigating ICI, noise and other distortions in memory devices, such as single-level cell or multi-level cell (MLC) NAND flash memory devices. As used herein, a multi-level cell flash memory comprises a memory where each memory cell stores two or more bits. For example, a multi-level cell that stores one bit-per-cell is referred to as SLC, that stores two bits-per-cell is referred to as MLC and that stores three bits-per-cell is referred to as TLC. Typically, the multiple bits stored in one flash cell belong to different pages. While the invention is illustrated herein using memory cells that store an analog value as a voltage, the present invention can be employed with any storage mechanism for flash memories, such as the use of voltages, currents or resistances to represent stored data, as would be apparent to a person of ordinary skill in the art.

According to one aspect of the invention, reduced complexity LLR computations are provided with reduced costs and reduced computation time (thereby improving throughput performance). As discussed hereinafter, aspects of the present invention provide reduced complexity reliability values for a region between two adjacent reference voltages during a soft read retry operation by considering the probability density functions for only the two states that are adjacent to the region.

FIG. 1is a schematic block diagram of an exemplary flash memory system100incorporating detection and coding techniques in accordance with aspects of the present invention. As shown inFIG. 1, the exemplary flash memory system100comprises a flash control system110and a flash memory block160, connected by an interface150. The exemplary flash control system110comprises a flash controller120, and a read channel125. Moreover, the read channel125further comprises an encoder/decoder140, buffers145and an LLR generation block130. Finally, the LLR generation block130further comprises an ICI mitigation block135.

The exemplary flash controller120implements one or more detection and error correction coding/decoding processes that incorporate aspects of the present invention.

The exemplary read channel125comprises an encoder/decoder block140and one or more buffers145. It is noted that the term “read channel” can encompass the write channel as well. In an alternative embodiment, the encoder/decoder block140and some buffers145may be implemented inside the flash controller120. The encoder/decoder block140and buffers145may be implemented, for example, using well-known commercially available techniques and/or products, as modified herein to provide the features and functions of the present invention. As discussed hereinafter, the exemplary encoder/decoder block140comprises a soft-decision ECC decoder.

Generally, as discussed further below, the exemplary LLR generation block130processes one or more read values from the flash memory160, such as single bit hard values and/or quantized multi-bit soft values, and generates reliability and/or LLR values that are applied to the decoder140, such as an exemplary soft decision error correction code (ECC) decoder, such as a low density parity check (LPDC) decoder. In this disclosure, the terms reliability and LLR values are used interchangeably, and approximations of LLRs are included in this definition as well.

In the exemplary embodiment, the exemplary ICI mitigation block135is a function in the LLR generation block130that accounts for interference between physically adjacent cells in generating the LLR sequence.

The exemplary flash memory block160comprises a memory array170and one or more buffers180that may each be implemented using well-known commercially available techniques and/or products.

In various embodiments of the disclosed detection and coding/decoding techniques, the exemplary interface150may need to convey additional information relative to a conventional flash memory system, such as values representing information associated with aggressor cells. Thus, the interface150may need to have a higher capacity or faster rate than an interface in conventional flash memory systems. On the other hand, in other embodiments, this additional information is conveyed to flash controller120in a sequential manner which would incur additional delays. However, those additional delays do not notably increase the overall delay due to their rare occurrence. When additional capacity is desired, the interface150may optionally be implemented, for example, in accordance with the teachings of International Patent Application Serial No. PCT/US09/49328, filed Jun. 30, 2009, entitled “Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array,” (now U.S. Pat. No. 8,677,056), incorporated by reference herein, which increases the information-carrying capacity of the interface150using, for example, Double Data Rate (DDR) techniques.

During a write operation, the interface150transfers the program values to be stored in the target cells, typically using page or wordline level access techniques. For a more detailed discussion of exemplary page or wordline level access techniques, see, for example, International Patent Application Serial No. PCT/US09/36810, filed Mar. 11, 2009, entitled “Methods and Apparatus for Storing Data in a Multi-Level Cell Flash Memory Device with Cross-Page Sectors, Multi-Page Coding and Per-Page Coding,” (now U.S. Pat. No. 8,724,381), incorporated by reference herein.

During a read operation, the interface150transfers hard and/or soft read values that have been obtained from the memory array170for target and/or aggressor cells. For example, in addition to read values for the page with the target cell, read values for one or more neighboring pages in neighboring wordlines or neighboring even or odd bit lines are transferred over the interface150. In the embodiment ofFIG. 1, the disclosed detection and coding/decoding techniques are implemented outside the flash memory160, typically in a process technology optimized for logic circuits to achieve the lowest area. It is at the expense, however, of the additional aggressor cell data that must be transferred on the interface150.

FIG. 2illustrates an exemplary flash cell array200in a multi-level cell (MLC) flash memory device160in further detail. As shown inFIG. 2, the exemplary flash cell array200stores three bits per flash cell, ci.FIG. 2illustrates the flash cell array architecture for one block, where each exemplary cell typically corresponds to a floating-gate transistor that stores three bits. The exemplary cell array200comprises m wordlines and n bitlines. Typically, in current multi-page cell flash memories, the bits within a single cell belong to different pages. In the example ofFIG. 2, the three bits for each cell correspond to three different pages, and each wordline stores three pages. In the following discussion, pages 0, 1, and 2 are referred to as the lower, middle, and upper page levels within a wordline.

As indicated above, a flash cell array can be further partitioned into even and odd pages, where for example cells with even numbers (such as cells2and4inFIG. 2) correspond to even pages, and cells with odd numbers (such as cells1and3inFIG. 2) correspond to odd pages. In this case, a page (such as page 0) would contain an even page (even page 0) in even cells and an odd page (odd page 0) in odd cells.

In a two-level cell, for example, each cell stores two bits. In one exemplary implementation, Gray mapping {11, 01, 00, 10} is employed where bits in a cell belong to two different pages. The bits for the two pages in each cell are often referred to as the least significant bit (LSB) and the most significant bit (MSB). For example, if the bit pattern 01 is stored in a cell, “1” is the LSB corresponding to the lower page and “0” is the MSB corresponding to the upper page. In the exemplary embodiment, the lower page is programmed before the upper page. Experimental studies of flash memory devices indicate that for example the error event “01”→“10” (pattern “10” is read even though pattern “01” was written) has considerable occurrence probability at the end of device life. In addition, based on an additive white Gaussian noise (AWGN) model, the MSB page often exhibits a higher bit error rate (BER) compared to the LSB page. Thus, it has been found that reading one page improves the BER of the other.

Soft Read on Flash Memory

A NAND flash memory cell is a floating gate transistor. Depending on the charge amount on the floating gate, the threshold voltage (Vt) of the transistor may be different. By “programming” the cell, the floating gate charge amount is changed, thereby representing a certain amount of information to be stored in a non-volatile fashion. To read the information from the cell, a reference voltage (Vref or Vread) is applied to the control gate of the transistor. If Vref is higher than Vt, the transistor is turned on, otherwise the transistor is turned off, and therefore the information stored in the cell is detected by sensing the current flowing through the channel of the transistor. Thus, a flash memory is a hard-decision (HD) read, since only one bit of information can be obtained from the on-off state of the transistor.

As device sizes reduce, the bit error rate (BER) of NAND flash memory devices degrades. To maintain reliability levels, soft decoded error correction codes (ECC) are increasingly being employed, such as low density parity check (LDPC) codes. These ECC codes are more powerful in correcting errors but they require the input to the decoder to be soft information of flash channels. The soft information is normally in the form of log likelihood ratios (LLRs). Since flash memory devices160typically do not provide soft decision information to the flash controller120, flash controllers120must compute such soft decision information.

Aspects of the present invention recognize that reducing the complexity of LLR computation will provide simpler hardware/firmware with reduced costs and reduced computation time (thereby improving throughput performance). As discussed more fully below, in one exemplary embodiment of the present invention, the computational complexity is reduced by 50% for MLC devices, by 75% for TLC devices, and by even more for 4-bit-per cell flash devices.

In order to store M bits per cell, a cell is programmed to 2^M possible states (or levels). Therefore, there are two states for SLC devices, four states for MLC devices, 8 states for TLC devices, and 16 states for 4-bit-per-cell devices. Due to various noise and distortions, the actual voltage of a state (level) after programming does not corresponding directly to the target voltage. Instead, the voltage can be approximately modeled using a Gaussian random number. Generally, for a Gaussian PDF, the log likelihood calculation simplifies to a distance calculation, as a Gaussian PDF is completely defined by its mean and variance. In general, each state has a different mean and a different variance. In order to obtain high quality soft decisions, multiple reads with different read reference voltages (Vref) need to be performed around the cross point of the corresponding distributions.

A “soft read” operation on a flash memory device160is thus comprised of multiple HD reads, usually with different Vrefs.FIG. 3illustrates an exemplary soft read operation300with seven exemplary hard decision read operations with different Vrefs V0-V6for obtaining soft decisions on a least significant bit (LSB) page. As shown inFIG. 3, seven exemplary HD read operations can be performed with different Vrefs V0-V6by the flash controller120or the flash memory device160itself (if the device160has a built-in soft read command). A soft read operation thus divides the entire Vt region into a number of decision regions (e.g., the 7 regions created by Vrefs V0-V6inFIG. 3) around the cross point of the corresponding distributions. Typically, a soft decision ECC decoder140is used in the flash controller120to leverage the soft information extracted from soft reads and to improve the read reliability of the flash memory.

FIG. 3illustrates an exemplary threshold voltage distribution for an exemplary multi-level cell flash memory having four states S0-S3(two bits-per-cell). As previously indicated, the threshold voltage of a cell is the voltage that needs to be applied to the cell so that the cell conducts a certain amount of current. The threshold voltage is a measure for the data stored in a cell. In the exemplary embodiment shown inFIG. 3, each storage element employs four possible data states S0-S3to store two bits of data in each memory cell.FIG. 3illustrates four peaks, with each peak corresponding to one state S0-S3. In a multi-level cell flash device, the different peaks of the threshold voltage distribution graph are used for storing two bits in the cell.

For example, the cell voltage distribution represents a distribution of the cell voltages Vtof the cells within the array that are in state S0(“11” data state), S1state (“01” data state), S2state (“00” data state) and S3state (“10” data state). Thus, the transition between states S1and S2correspond to the LSB inFIG. 3.

FIG. 4illustrates an exemplary soft read operation400with seven exemplary hard decision read operations with different Vrefs V0-V6for obtaining soft decisions on a most significant bit (MSB) page. As shown inFIG. 4, seven exemplary HD read operations can be performed with different Vrefs V0-V6for the transition between states S0and S1and the transition between states S2and S3corresponding to the MSB inFIG. 4(i.e., around the cross point of the corresponding distributions S0/S1and S2/S3). The HD read operations can be performed by the flash controller120or the flash memory device160itself (if the device160has a built-in soft read command).

It is noted that each read of an MSB page requires a pair of Vrefs. As shown inFIG. 4, V00and V02comprise the pair of Vrefs to be applied for the same read. Similarly, Vn0and Vn2comprise the Vref pair for the n-th read. As indicated above, a soft read operation thus divides the entire Vt region into a number of decision regions (e.g., the 14 regions created by Vrefs V00-V60and by Vrefs V20-V26inFIG. 4) around the cross points of the corresponding distributions.

As used herein, the term “trunk region” of the Vt distribution corresponds to the end regions of the Vt distribution (e.g., indexes i of 0 or 6), as well as the region between V60and V02inFIG. 4, while the term “tail region” of the Vt distribution corresponds to the middle regions of the Vt distribution (e.g., indexes i of 1-5). As discussed hereinafter, aspects of the present invention provide reduced complexity reliability values for the regions between two adjacent Vrefs (i.e., for tail regions)

Computing Soft Decisions

FIG. 5illustrates an exemplary computation of a soft decision for a multi-level cell having a voltage distribution500with an arbitrary number of states N. The soft decision is computed for an exemplary region510between Vrefs V0and V1positioned between states Snand Sn+1. The LLR for region510(i.e., the region between Vrefs V0and V1) can be expressed as follows, in a known manner:

LLR=ln(∑x=1⁢⁢∫V0V1⁢f⁡(v;μi,σi2)⁢⁢ⅆv∑x=0⁢⁢∫V0V1⁢f⁡(v;μj,σj2)⁢⁢ⅆv)(1)
In Equation (1), f(ν;μi,σi2) represents the probability density function (PDF) of the i-th voltage distribution, where x indicates the bit that has been stored in this cell and this page level (e.g., lower page, middle page, and upper page, etc.). Thus, Equation (1) considers the PDF for each separate state, such as the four states S0-S3ofFIGS. 3 and 4. As indicated above, a Gaussian PDF is completely defined by its mean μiand variance σi. Both the numerator and the denominator of Equation (1) are summations on 2^(M−1) items.

Computing Soft Decisions with Reduced Complexity

Aspects of the present invention recognize that the LLR computation in accordance with Equation (1) can be simplified by only considering two adjacent distributions for two adjacent states, e.g., Snand Sn+1inFIG. 5(regardless of Gray code mapping and page types (e.g., lower/middle/upper pages) being read)

Therefore, a simplified LLR can be expressed as follows:

Thus, Equation (2) considers the PDF for only for two adjacent states, such as states S1-S2ofFIGS. 3 and 4. The benefit of this simplification is complexity reduction of about 50% for MLC, 75% for TLC, and 87.5% for 4-bit-per cell. The reduced complexity will lead to a reduction of cost and an improvement of throughput performance.

According to a further aspect of the invention, Equation (2) can be further simplified using the following approximation:
∫V0V1f(ν;μ,σ2)dv≈(V1−V0)*f(0.5(V1+V0);ν,σ2)  (3)

Therefore, equation (2) can be further simplified as follows:

Note that Equation (4) is a convenient form that can be further simplified if the cell voltage is modeled as commonly used distributions such as Gaussian, log Gaussian, or Poisson distributions. For example, when the cell voltages are modeled as Gaussian distributions, equation (4) becomes

LLR=ln⁡(σn+1)-ln⁡(σn)+(V-μn+1)22⁢σn+12-(V-μn)22⁢σn2(5)
where 0.5(V1+V0) from Equation (4) is denoted as V in Equation (5).

Process, System and Article of Manufacture Details

While a number of flow charts herein describe an exemplary sequence of steps, it is also an embodiment of the present invention that the sequence may be varied. Various permutations of the algorithm are contemplated as alternate embodiments of the invention. While exemplary embodiments of the present invention have been described with respect to processing steps in a software program, as would be apparent to one skilled in the art, various functions may be implemented in the digital domain as processing steps in a software program, in hardware by circuit elements or state machines, or in combination of both software and hardware. Such software may be employed in, for example, a digital signal processor, application specific integrated circuit, micro-controller, or general-purpose computer. Such hardware and software may be embodied within circuits implemented within an integrated circuit.

Thus, the functions of the present invention can be embodied in the form of methods and apparatuses for practicing those methods. One or more aspects of the present invention can be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a device that operates analogously to specific logic circuits. The invention can also be implemented in one or more of an integrated circuit, a digital signal processor, a microprocessor, and a micro-controller.