US8854880B2 - Inter-cell interference cancellation in flash memories - Google Patents
Inter-cell interference cancellation in flash memories Download PDFInfo
- Publication number
- US8854880B2 US8854880B2 US13/778,860 US201313778860A US8854880B2 US 8854880 B2 US8854880 B2 US 8854880B2 US 201313778860 A US201313778860 A US 201313778860A US 8854880 B2 US8854880 B2 US 8854880B2
- Authority
- US
- United States
- Prior art keywords
- threshold voltage
- flash memory
- cell
- values
- voltage values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 62
- 239000000872 buffer Substances 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 78
- 230000000116 mitigating effect Effects 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 10
- 238000012512 characterization method Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
Definitions
- 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.
- a number of 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.
- 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).
- BPD back pattern dependency
- ICI inter-cell interference
- Flash memory devices typically employ only hard-decision read operation.
- the analog threshold voltage (Vt) signal that represents the stored data typically cannot be sensed accurately without performing many read operations.
- Vt threshold voltage
- data from a flash memory device is processed by obtaining one or more quantized threshold voltage values for at least one target cell of the flash memory device; obtaining one or more hard decision read values for at least one aggressor cell of the target cell; determining an aggressor state of the at least one aggressor cell; determining an interference amount based on the aggressor state; determining an adjustment to the one or more quantized threshold voltage values based on the determined interference amount; and adjusting the one or more quantized threshold voltage values based on the determined adjustment.
- the quantized threshold voltage values for at least one target cell are optionally re-used from a previous soft read retry operation.
- the quantized threshold voltage values comprise, for example, hard decision read values obtained by a plurality of read retries of the target cell at a plurality of reference voltages and/or soft values obtained from the flash memory device.
- the adjusted quantized threshold voltage values are optionally used to determine reliability values.
- the adjusted quantized threshold voltage values are optionally applied to a soft decision decoder and/or a buffer.
- the interference amount, the reliability values and/or the adjustments to the quantized threshold voltage values are optionally obtained from one or more look-up tables.
- FIG. 1 is a schematic block diagram of an exemplary flash memory system incorporating detection and error correction techniques in accordance with the present invention
- FIG. 2 illustrates an exemplary flash cell array in a multi-level cell (MLC) flash memory device in further detail
- FIG. 3 illustrates the ICI that is present for a target cell due to the parasitic capacitance from a number of exemplary aggressor cells
- FIG. 4 illustrates an exemplary soft read operation with 3 hard decision reads on an exemplary lower page of a multi-level cell (MLC) device
- FIG. 5 is a schematic block diagram of an exemplary implementation of a flash controller incorporating aspects of the present invention.
- FIG. 6 illustrates an exemplary characterization of interference as a function of aggressor cell states
- FIG. 7 is a flow chart illustrating an exemplary detection and decoding process that performs ICI cancellation after a soft retry procedure
- FIG. 8 shows an example of S-indices after 5 soft reads for the lower page in an exemplary MLC flash memory
- FIG. 9 is a flow chart illustrating an exemplary ICI Cancellation process that incorporates aspects of the present invention for an exemplary MLC flash memory
- FIG. 10 shows an example of S-indices after 5 soft reads for the lower page in an exemplary MLC flash memory
- FIG. 11 shows an example of S-indices after 5 soft reads for the upper page in an exemplary MLC flash memory
- FIG. 12 illustrates an embodiment for an ICI mitigation block for an exemplary MLC
- FIG. 13 is a flow chart illustrating an exemplary ICI cancellation process that incorporates aspects of the present invention for an exemplary MLC flash memory having a plurality of aggressor cells for each target cell.
- a multi-level cell flash memory comprises a memory where each memory cell stores two or more bits. 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.
- improved ICI mitigation techniques are provided that reduce ICI using soft information for a target cell obtained during a soft read retry procedure.
- ICI mitigation techniques are provided for a given target cell that re-uses the soft information obtained during the soft read retry procedure for the target cell and performs additional reads only for aggressor cells.
- FIG. 1 is a schematic block diagram of an exemplary flash memory system 100 incorporating detection and coding techniques in accordance with aspects of the present invention.
- the exemplary flash memory system 100 comprises a flash control system 110 and a flash memory block 160 , connected by an interface 150 .
- the exemplary flash control system 110 comprises a flash controller 120 , and a read channel 125 .
- the read channel 125 further comprises an encoder/decoder 140 , buffers 145 and an LLR generation block 130 .
- the LLR generation block 130 further comprises an ICI mitigation block 135 .
- the exemplary flash controller 120 implements one or more detection and error correction coding/decoding processes that incorporate aspects of the present invention.
- the exemplary read channel 125 comprises an encoder/decoder block 140 and one or more buffers 145 . It is noted that the term “read channel” can encompass the write channel as well. In an alternative embodiment, the encoder/decoder block 140 and some buffers 145 may be implemented inside the flash controller 120 . The encoder/decoder block 140 and buffers 145 may 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 block 140 comprises a soft-decision ECC decoder.
- the exemplary LLR generation block 130 processes one or more read values from the flash memory 160 , 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 decoder 140 , such as an exemplary soft decision error correction code (ECC) decoder, such as a low density parity check (LPDC) decoder.
- ECC soft decision error correction code
- LPDC low density parity check
- the exemplary ICI mitigation block 135 is a function in the LLR generation block 130 that accounts for interference between physically adjacent cells in generating the LLR sequence.
- the exemplary flash memory block 160 comprises a memory array 170 and one or more buffers 180 that may each be implemented using well-known commercially available techniques and/or products.
- the exemplary interface 150 may need to convey additional information relative to a conventional flash memory system, such as values representing information associated with aggressor cells.
- the interface 150 may need to have a higher capacity or faster rate than an interface in conventional flash memory systems.
- this additional information is conveyed to flash controller 120 in a sequential manner which would incur additional delays. However those additional delays do not notably increase the overall delay due to their rare occurrence.
- the interface 150 may optionally be implemented, for example, in accordance with the teachings of International PCT Patent Application Serial No. PCT/US09/49328, filed Jun.
- DDR Double Data Rate
- the interface 150 transfers the program values to be stored in the target cells, typically using page or wordline level access techniques.
- page or wordline level access techniques See, for example, International Patent Application Serial No. PCT/US09/36110, 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,” incorporated by reference herein.
- the interface 150 transfers hard and/or soft read values that have been obtained from the memory array 170 for 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 interface 150 .
- the disclosed detection and coding/decoding techniques are implemented outside the flash memory 160 , 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 interface 150 .
- FIG. 2 illustrates an exemplary flash cell array 200 in a multi-level cell (MLC) flash memory device 160 in further detail.
- the exemplary flash cell array 200 stores three bits per flash cell, c i .
- FIG. 2 illustrates 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 array 200 comprises m wordlines and n bitlines.
- the bits within a single cell belong to different pages.
- the three bits for each cell correspond to three different pages, and each wordline stores three pages.
- pages 0, 1, and 2 are referred to as the lower, middle, and upper page levels within a wordline.
- a flash cell array can be further partitioned into even and odd pages, where for example cells with even numbers (such as cells 2 and 4 in FIG. 2 ) correspond to even pages, and cells with odd numbers (such as cells 1 and 3 in FIG. 2 ) correspond to odd pages.
- 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.
- each cell stores two bits.
- 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).
- LSB least significant bit
- MSB most significant bit
- the bit pattern 01 is stored in a cell
- “1” is the LSB corresponding to the lower page
- “0” is the MSB corresponding to the upper page.
- the lower page is programmed before the upper page.
- FIG. 3 illustrates the ICI that is present for a target cell 310 due to the parasitic capacitance from a number of exemplary aggressor cells 320 .
- the following notations are employed in FIG. 3 :
- ICI is caused by aggressor cells 320 that are programmed after the target cell 310 has been programmed.
- the ICI changes the threshold voltage, V t , of the target cell 310 .
- the threshold voltage of, V t of the target cell 310 is coupled by the threshold voltage changes of neighboring cells, such as the exemplary aggressor cells 320 .
- the interference pattern is related to the programming sequence.
- a “bottom up” programming scheme is assumed and adjacent aggressor cells in wordlines i and i+1 cause ICI for the target cell 310 .
- ICI from the lower wordline i ⁇ 1 is removed, and up to five neighboring cells contribute to ICI as aggressor cells 320 , as shown in FIG. 3 .
- the techniques disclosed herein can be generalized to cases where aggressor cells from other wordlines, such as wordline i ⁇ 1, contribute to ICI as well, as would be apparent to a person of ordinary skill in the art. If aggressor cells from wordlines i ⁇ 1, i and i+1 contribute to ICI, up to eight closest neighboring cells are considered.
- the aggressor cells 320 are identified by analyzing the programming sequence scheme (such as bottom up or even/odd techniques) to identify the aggressor cells 320 that are programmed after a given target cell 310 .
- V t is the voltage representing the data stored on a cell and obtained during a read operation.
- V t can be obtained by a read operation, for example, as a soft voltage value with more precision than the number of bits stored per cell, or as a value quantized to a hard voltage level with the same resolution as the number of bits stored per cell (e.g., 3 bits for 3 bits/cell flash).
- a NAND flash memory cell is a floating gate transistor.
- the threshold voltage (Vt) of the transistor may be different.
- Vt threshold voltage
- Vread the reference voltage
- a “soft read” on a flash memory device 160 is comprised of multiple HD reads, usually with different Vrefs.
- FIG. 4 illustrates an exemplary soft read with 3 hard decision reads 410 , 420 , 430 on the lower page of an MLC device, such as device 160 .
- the three HD reads 410 , 420 , 430 can be initiated by the flash controller 110 or the flash memory device 160 itself if the device 160 has a built-in soft read command.
- a soft read operation divides the entire Vt region into a number of decision regions (e.g., regions A, B, C, D in FIG. 4 ), as discussed further below in conjunction with FIG. 8 .
- a soft decision ECC decoder 140 is used in the flash controller 120 to leverage the soft information extracted from soft reads and to improve the read reliability of the flash memory.
- FIG. 5 is a schematic block diagram of an exemplary implementation of a flash controller 500 incorporating aspects of the present invention.
- the flash controller 500 receives hard and soft value inputs from flash devices (not shown in FIG. 5 ) and stores them in one or more buffers 520 .
- the flash controller 500 further comprises a soft read retry module 540 and an ICI cancellation module 550 . Since soft retry is in place, a soft-decision ECC decoder 530 is also employed.
- the exemplary soft-decision ECC decoder 530 processes decoder-specific soft inputs from the buffer 520 and generates decoded outputs, which are sent to other modules 560 in the controller 500 and eventually to the host if the decoding is successful.
- the soft input can be different. For example, if a Low Density Parity Check (LDPC) decoder is used, the soft input usually comprises LLR values (log likelihood ratios).
- LDPC Low Density Parity Check
- flash memory devices 160 typically only support HD reads in on-the-fly read operations.
- Soft read operations are time consuming and are usually used only in retry or recovery modes.
- ICI cancellation requires additional reads from aggressor cells 320 and therefore is also a retry or recovery procedure.
- the disclosed ICI cancellation algorithm is initiated after soft read retry fails (or when soft read retry values are otherwise available).
- the disclosed ICI cancellation algorithm receives soft retry parameters (such as Vrefs used for target cell retry and/or LLRs used in soft retry) as input, processes both soft read data of the target cell 310 and HD read data of the aggressor cells 320 , and updates the soft decoder input (LLRs) in the buffer(s) 520 .
- soft retry parameters such as Vrefs used for target cell retry and/or LLRs used in soft retry
- ICI characterization can be done offline by the manufacturer of flash controller 500 before the product is shipped, or by a dedicated ICI characterization module in the flash controller 500 after the product has shipped.
- Equation (1) the overall interference is the sum of interference from a group of aggressor cells 320 .
- interference can be characterized as a function of the combination of aggressor cell states.
- FIG. 6 illustrates an exemplary characterization 600 of interference as a function of aggressor cell states, when there is only one aggressor cell 320 for each target cell 310 .
- the amount of interference when the state of the aggressor cell 320 is “01” is characterized as ⁇ 01 .
- the characterization 600 can be extended to the case of multiple aggressor cells 320 , as would be apparent to a person of ordinary skill in the art. For example, if a particular MLC flash memory layout leads to three aggressor cells 320 per target cell 310 , there are in total 64(4 ⁇ 3) combinations of aggressor cell states.
- FIG. 7 is a flow chart illustrating an exemplary detection and decoding process 700 that performs ICI cancellation after a soft retry procedure.
- ICI cancellation process 600 reuses the soft information for the target cell 310 obtained during a soft read retry. After the soft read, the entire Vt region of the target cell 310 is divided into a number of soft-decision regions, as discussed further below in conjunction with FIG. 8 , where each region can be assigned a unique S-index corresponding to the quantized threshold voltage Vt, which becomes the soft decision data to be utilized by the ICI cancellation process 900 , as discussed further below in conjunction with FIG. 9 .
- the exemplary detection and decoding process 700 initially performs a normal read operation during step 710 .
- a test is performed during step 720 to determine if the normal decoding was successful, using the normal read hard decision input 715 . If it is determined during step 720 that the normal decoding was successful, then no retry is needed during step 725 . If, however, it is determined during step 720 that normal decoding was not successful, then a soft read retry process is initiated during step 730 , using n HD reads on the target page 728 .
- a further test is performed during step 725 to determine if the retry decoding was successful with up to 7 reads (or another configurable number of reads).
- a soft-decision ECC decoder can be used when soft read retry and ICI cancellation are applied.
- the S-index is mapped to a soft-decision metric that is suitable for the soft-decision ECC decoder.
- LLRs are used as a soft-decision metric input to the soft-decision ECC decoder, such as an low density parity check (LDPC) decoder.
- LDPC low density parity check
- this mapping can be done using a look-up table (LUT), referred to as an LLR LUT.
- step 735 If it is determined during step 735 that the retry decoding was successful, then the retry is declared as successful during step 760 . If, however, it is determined during step 735 that the retry decoding was not successful, then an ICI cancellation process is initiated during step 740 , as discussed further below in conjunction with FIG. 9 , using the n HD reads on the target upper (or lower) page 738 (based on the n HD reads 728 on the target page 310 from the soft retry process and HD reads 739 on the aggressor cells 320 .
- a test is performed during step 750 to determine if decoding is successful after ICI cancellation. If it is determined during step 750 that decoding is successful, then the retry is declared as successful during step 760 . If, however, it is determined during step 750 that decoding is not successful, then other retry procedures are attempted during step 770 or a retry failure is declared.
- the entire Vt region of the target cell 310 is divided into a number of soft-decision regions, where each region can be assigned a unique index (S-index) corresponding to the quantized threshold voltage Vt, which becomes the soft decision data to be utilized by the ICI cancellation process 900 .
- the S-index information obtained during soft read retry is a quantized version of the analog Vt value.
- the exemplary embodiment assigns S-indices to decision regions in an ascending order of Vt (although other variations are possible).
- FIG. 9 is a flow chart illustrating an exemplary ICI Cancellation process 900 that incorporates aspects of the present invention for an exemplary MLC (2 bits per cell) flash memory.
- the exemplary ICI Cancellation process 900 initially reads the lower page and upper page in all word lines containing aggressor cells 320 of the target cell 310 during step 910 .
- the exemplary ICI Cancellation process 900 enters into a loop during step 930 for each target cell 310 and its aggressor cells 320 .
- the aggressor cell state (S is determined during step 940 and the corresponding interference ⁇ S is obtained from the interference look-up table.
- the combination of aggressor cell states (S) around this target cell 310 is determined and the LUT is used to retrieve the interference ⁇ S .
- one aggressor cell is used as an example. Let the aggressor cell state be “01” and the corresponding interference is ⁇ 01 .
- the interference ⁇ S is converted to an adjustment q to the quantized threshold voltage V t (S-index) during step 950 .
- the S-index belongs to the tail region of Vt distribution (e.g., indexes i of 1-4), then the S-index is adjusted. If the width h of each region is uniform, then the adjustment q can be obtained by dividing the interference ⁇ S by the width h. If, however, the width h of each region is not uniform, then the adjustment q can be obtained as follows:
- the interference ⁇ S is quantized based on the width of the region i and its neighboring regions.
- q min and q max are the configurable minimum and maximum change in S-index allowed by the controller 120 . They can be chosen based on the maximum number of reads on target cells allowed by the controller 120 , and the maximum amount of ICI that can be expected. In this example, for a maximum 5-read soft retry, an example choice of the range of q can be [ ⁇ 1, 2].
- the coefficients ( ⁇ k , k ⁇ [q min ,q max ]) are chosen, for example, to optimize ICI cancellation performance, such as setting the coefficients to 1.0.
- step 960 the Adjustment q is subtracted from the quantized threshold voltage V t of target cell 310 (e.g., the target cell's S-index (i)).
- V t of target cell 310 e.g., the target cell's S-index (i)
- the updated S-index after ICI cancellation becomes i ⁇ q. If the updated S-index is out of range, the updated S-index can be saturated to the S-index of the nearest trunk region (0 or 5 in this example).
- the adjusted quantized threshold voltage V t of the target cell 310 is applied to a soft decision decoder and/or buffer during step 970 .
- the target cell's S-index is applied to the LLR LUT used in 5-read soft retry and the target cell's LLR is written to a buffer or directly to the decoder.
- a soft-decision ECC decoder can be used when soft read retry and ICI cancellation is applied.
- the S-index is mapped to a soft-decision metric that is suitable for the decoder.
- an LLR is used as a soft-decision metric input to the decoder, such as a LDPC decoder. Since there are only a limited number of possible S-indices, this mapping can be done through the LLR LUT.
- S aggressor state
- the S-index information obtained during soft read retry is a quantized version of the analog Vt value.
- FIG. 11 shows an example of S-indices after 5 soft reads for the upper page in an exemplary MLC flash memory. Aspects of the present invention can also be applied to an SLC device and pages in TLC devices.
- the maximum S-index becomes 10.
- the trunk regions in FIG. 11 are 0, 5, and 10.
- Both ICI characterization and ICI cancellation can take care of it by using separate interferences for different Vt regions. This also indicates that the ICI cancellation process 900 should use separate interference values for lower page ICI cancellation and upper page ICI cancellation.
- Steps 940 - 970 of the exemplary ICI Cancellation process 900 are applied to each target cell 310 in the page/word line.
- FIG. 12 illustrates an embodiment for an ICI mitigation block 1200 for an exemplary MLC, where the lower page and upper page have different ICI LUT's.
- the S-index i before cancellation 1205 is applied to the block 1200 . If the applied S-index i corresponds to a tail S-index 1206 , then it is applied in parallel to an adder 1210 and to the ICI LUTs 1220 - 1 , 1220 - 2 for the lower and upper pages. If, however, the applied S-index i corresponds to a trunk S-index 1208 , then it is applied directly to an LLR LUT 1250 .
- the tail S-index 1206 is applied to the ICI LUTs 1220 - 1 , 1220 - 2 , which store the S-index adjustment q for each possible S-index and combination of aggressor cell states 1215 (q is stored as a function of S and i).
- the ICI LUTs 1220 - 1 , 1220 - 2 are controlled by an ICI LUT select signal (e.g., the target page is the lower page).
- the indexed q entry from the ICI LUT is also applied to the adder 1210 with the tail S-index 1206 to obtain the updated S-index 1230 .
- the trunk S-index 1208 and the updated S-indices 1230 are applied to an LLR LUT 1250 to obtain an updated LLR after ICI cancellation 1260 , which can be applied to a buffer and/or soft decision decoder, as discussed above.
- S each unique value of S corresponds to a value of interference that is characterized.
- M is the maximum number of tail (i.e., non-trunk) S-indices that is generated by soft read, which depends on the number reads in soft retry and whether it's an upper page or lower page.
- ICI LUT is computed during step 1320 based on retry parameters and ICI characteristics.
- ICI LUT based cancellation is performed during step 1340 using soft reads (S-index) 1334 for the target page 310 as well as the aggressor cell states 1338 .
- the exemplary ICI cancellation process 1300 generates LLR based on the LLR LUT 1250 during step 1350 and soft-decision ECC decoding is performed during step 1360 .
- the ICI cancellation process completes during step 1370 .
- retry parameters are used, including the Vrefs used in soft-read retry and consequently the decision region width information.
- channel information such as the Vt distribution is not used.
- the disclosed scheme is suitable for systems where channel information may not be readily available when ICI is initiated.
- the disclosed scheme does not require write-side compensation.
- 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.
- 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.
- the methods and apparatus discussed herein may be distributed as an article of manufacture that itself comprises a computer readable medium having computer readable code means embodied thereon.
- the computer readable program code means is operable, in conjunction with a computer system, to carry out all or some of the steps to perform the methods or create the apparatuses discussed herein.
- the computer readable medium may be a tangible recordable medium (e.g., floppy disks, hard drives, compact disks, memory cards, semiconductor devices, chips, application specific integrated circuits (ASICs)) or may be a transmission medium (e.g., a network comprising fiber-optics, the world-wide web, cables, or a wireless channel using time-division multiple access, code-division multiple access, or other radio-frequency channel). Any medium known or developed that can store information suitable for use with a computer system may be used.
- the computer-readable code means is any mechanism for allowing a computer to read instructions and data, such as magnetic variations on a magnetic media or height variations on the surface of a compact disk.
- the computer systems and servers described herein each contain a memory that will configure associated processors to implement the methods, steps, and functions disclosed herein.
- the memories could be distributed or local and the processors could be distributed or singular.
- the memories could be implemented as an electrical, magnetic or optical memory, or any combination of these or other types of storage devices.
- the term “memory” should be construed broadly enough to encompass any information able to be read from or written to an address in the addressable space accessed by an associated processor. With this definition, information on a network is still within a memory because the associated processor can retrieve the information from the network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
ΔV ICI (i, j) =k x ΔV t (i, j−1) +k x ΔV t (i, j+1) +k y ΔV t (i+1, j) +k xy ΔV t (i+1, j−1) +k xy ΔV t (i+1, j+1) (1)
where ΔVt (w,b) is the change in Vt voltage of agressor cell (w,b), ΔVICI (i, j) is the change in Vt voltage of target cell (i,j) due to ICI and kx,ky and kxy are capacitive coupling coefficients for the x, y and xy direction.
q=0.
| for k= qmin to qmax | ||
| if |ΔS| ≧ αk Σj=i−k+1 i hj and |ΔS| < αk+1 Σj=i−k i hj | ||
| q = k; | ||
| Break; | ||
| end | ||
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/778,860 US8854880B2 (en) | 2011-01-04 | 2013-02-27 | Inter-cell interference cancellation in flash memories |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US92040711A | 2011-01-04 | 2011-01-04 | |
| US201113001278A | 2011-02-25 | 2011-02-25 | |
| US201113063888A | 2011-08-31 | 2011-08-31 | |
| US13/731,551 US9898361B2 (en) | 2011-01-04 | 2012-12-31 | Multi-tier detection and decoding in flash memories |
| US13/778,860 US8854880B2 (en) | 2011-01-04 | 2013-02-27 | Inter-cell interference cancellation in flash memories |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US92040711A Continuation-In-Part | 2008-03-11 | 2011-01-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20130176779A1 US20130176779A1 (en) | 2013-07-11 |
| US8854880B2 true US8854880B2 (en) | 2014-10-07 |
Family
ID=48743825
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/778,860 Active US8854880B2 (en) | 2011-01-04 | 2013-02-27 | Inter-cell interference cancellation in flash memories |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US8854880B2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9159407B2 (en) * | 2012-10-22 | 2015-10-13 | Apple Inc. | Soft readout from analog memory cells in the presence of read threshold errors |
| US10614897B1 (en) * | 2018-09-13 | 2020-04-07 | Toshiba Memory Corporation | System and method for high performance sequential read by decoupling of inter-cell interference for NAND flash memories |
| US11874736B2 (en) | 2021-08-11 | 2024-01-16 | Apple Inc. | Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines |
| US12158806B1 (en) | 2023-06-27 | 2024-12-03 | Apple Inc. | Efficient estimation of threshold voltage distributions in a nonvolatile memory |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9092353B1 (en) | 2013-01-29 | 2015-07-28 | Pmc-Sierra Us, Inc. | Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system |
| US9813080B1 (en) | 2013-03-05 | 2017-11-07 | Microsemi Solutions (U.S.), Inc. | Layer specific LDPC decoder |
| US10230396B1 (en) | 2013-03-05 | 2019-03-12 | Microsemi Solutions (Us), Inc. | Method and apparatus for layer-specific LDPC decoding |
| US9397701B1 (en) | 2013-03-11 | 2016-07-19 | Microsemi Storage Solutions (Us), Inc. | System and method for lifetime specific LDPC decoding |
| US9590656B2 (en) * | 2013-03-15 | 2017-03-07 | Microsemi Storage Solutions (Us), Inc. | System and method for higher quality log likelihood ratios in LDPC decoding |
| US9454414B2 (en) | 2013-03-15 | 2016-09-27 | Microsemi Storage Solutions (Us), Inc. | System and method for accumulating soft information in LDPC decoding |
| US9450610B1 (en) | 2013-03-15 | 2016-09-20 | Microsemi Storage Solutions (Us), Inc. | High quality log likelihood ratios determined using two-index look-up table |
| TWI492234B (en) | 2014-04-21 | 2015-07-11 | Silicon Motion Inc | Method, memory controller and memory system for reading data stored in flash memory |
| EP3155850B1 (en) * | 2014-06-11 | 2019-04-24 | Telefonaktiebolaget LM Ericsson (publ) | A robust pbch-ic method in lte advanced |
| US9343170B2 (en) | 2014-06-24 | 2016-05-17 | Hgst Technologies Santa Ana, Inc. | Word-line inter-cell interference detector in flash system |
| US9417804B2 (en) | 2014-07-07 | 2016-08-16 | Microsemi Storage Solutions (Us), Inc. | System and method for memory block pool wear leveling |
| US10332613B1 (en) | 2015-05-18 | 2019-06-25 | Microsemi Solutions (Us), Inc. | Nonvolatile memory system with retention monitor |
| US9799405B1 (en) | 2015-07-29 | 2017-10-24 | Ip Gem Group, Llc | Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction |
| US9886214B2 (en) | 2015-12-11 | 2018-02-06 | Ip Gem Group, Llc | Nonvolatile memory system with erase suspend circuit and method for erase suspend management |
| US9892794B2 (en) | 2016-01-04 | 2018-02-13 | Ip Gem Group, Llc | Method and apparatus with program suspend using test mode |
| US9899092B2 (en) | 2016-01-27 | 2018-02-20 | Ip Gem Group, Llc | Nonvolatile memory system with program step manager and method for program step management |
| US9984752B2 (en) * | 2016-03-14 | 2018-05-29 | Toshiba Memory Corporation | Memory system and data encoding and decoding method to mitigate inter-cell interference |
| US10157677B2 (en) | 2016-07-28 | 2018-12-18 | Ip Gem Group, Llc | Background reference positioning and local reference positioning using threshold voltage shift read |
| US10291263B2 (en) | 2016-07-28 | 2019-05-14 | Ip Gem Group, Llc | Auto-learning log likelihood ratio |
| US10236915B2 (en) | 2016-07-29 | 2019-03-19 | Microsemi Solutions (U.S.), Inc. | Variable T BCH encoding |
| TWI693604B (en) * | 2018-03-06 | 2020-05-11 | 深圳衡宇芯片科技有限公司 | Method and system for determining bit values in non-volatile memory |
| KR102733317B1 (en) * | 2019-04-15 | 2024-11-25 | 에스케이하이닉스 주식회사 | Memory system for interference compensation and operating method of memory system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110145487A1 (en) | 2008-07-01 | 2011-06-16 | Lsi Corporation | Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories |
| US8130544B2 (en) * | 2009-08-17 | 2012-03-06 | Skymedi Corporation | Method of reducing bit error rate for a flash memory |
-
2013
- 2013-02-27 US US13/778,860 patent/US8854880B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110145487A1 (en) | 2008-07-01 | 2011-06-16 | Lsi Corporation | Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories |
| US20110149657A1 (en) | 2008-07-01 | 2011-06-23 | Haratsch Erich F | Methods and Apparatus for Write-Side Intercell Interference Mitigation in Flash Memories |
| US8130544B2 (en) * | 2009-08-17 | 2012-03-06 | Skymedi Corporation | Method of reducing bit error rate for a flash memory |
Non-Patent Citations (1)
| Title |
|---|
| Lee et al., "Effects of Floating-Gate Interference on NAND Flash Memory Cell Operations," IEEE Electron Device Letters, vol. 23, No. 5, pp. 264-266 (2002). |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9159407B2 (en) * | 2012-10-22 | 2015-10-13 | Apple Inc. | Soft readout from analog memory cells in the presence of read threshold errors |
| US10614897B1 (en) * | 2018-09-13 | 2020-04-07 | Toshiba Memory Corporation | System and method for high performance sequential read by decoupling of inter-cell interference for NAND flash memories |
| US11874736B2 (en) | 2021-08-11 | 2024-01-16 | Apple Inc. | Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines |
| US12158806B1 (en) | 2023-06-27 | 2024-12-03 | Apple Inc. | Efficient estimation of threshold voltage distributions in a nonvolatile memory |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130176779A1 (en) | 2013-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8854880B2 (en) | Inter-cell interference cancellation in flash memories | |
| US10929221B2 (en) | Multi-tier detection and decoding in flash memories utilizing data from additional pages or wordlines | |
| US9086984B2 (en) | Detection and decoding in flash memories with selective binary and non-binary decoding | |
| KR101626631B1 (en) | Methods and apparatus for write-side intercell interference mitigation in flash memories | |
| US9502117B2 (en) | Cell-level statistics collection for detection and decoding in flash memories | |
| CN107068187B (en) | Likelihood value assignment read retry operations that change sign at different read voltages for each read retry | |
| KR102154789B1 (en) | Detection and decoding in flash memories with selective binary and non-binary decoding | |
| US9106264B2 (en) | Encoding and decoding in flash memories using convolutional-type low-density parity check codes | |
| JP2012504820A (en) | Method and apparatus for soft data generation of memory device based on performance factor adjustment | |
| US9082480B2 (en) | Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window | |
| US11595058B1 (en) | Recovering from hard decoding errors by remapping log likelihood ratio values read from NAND memory cells | |
| US9292377B2 (en) | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values | |
| US9053804B2 (en) | Reduced complexity reliability computations for flash memories | |
| Kim et al. | Writing on dirty flash memory: Combating inter-cell interference via coding with side information | |
| Lee et al. | Low Energy Signal Processing Techniques for Reliability Improvement of High-Density NAND Flash Memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, ZHENGANG;HARATSCH, ERICH F.;REEL/FRAME:029887/0192 Effective date: 20130226 |
|
| AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031 Effective date: 20140506 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:034775/0777 Effective date: 20140902 |
|
| AS | Assignment |
Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 Owner name: LSI CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 |
|
| CC | Certificate of correction | ||
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |