JP4999921B2 - Combination of distortion estimation and error correction coding for memory devices. - Google Patents

Combination of distortion estimation and error correction coding for memory devices. Download PDF

Info

Publication number
JP4999921B2
JP4999921B2 JP2009508669A JP2009508669A JP4999921B2 JP 4999921 B2 JP4999921 B2 JP 4999921B2 JP 2009508669 A JP2009508669 A JP 2009508669A JP 2009508669 A JP2009508669 A JP 2009508669A JP 4999921 B2 JP4999921 B2 JP 4999921B2
Authority
JP
Japan
Prior art keywords
analog value
cell
memory
memory cell
distortion
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
Application number
JP2009508669A
Other languages
Japanese (ja)
Other versions
JP2009537056A (en
JP2009537056A5 (en
Inventor
シャルヴィ、オフィール
ソマール、ナタリー
マイスロス、アリエル
ソコロフ、デュータン
Original Assignee
アノビット テクノロジーズ リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アノビット テクノロジーズ リミテッド filed Critical アノビット テクノロジーズ リミテッド
Priority claimed from PCT/IL2007/000580 external-priority patent/WO2007132457A2/en
Publication of JP2009537056A publication Critical patent/JP2009537056A/en
Publication of JP2009537056A5 publication Critical patent/JP2009537056A5/ja
Application granted granted Critical
Publication of JP4999921B2 publication Critical patent/JP4999921B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

(関連出願の参照)
本出願は、2006年5月12日に提出の米国仮特許願第60/747106号、2006年10月30日に提出の米国仮特許願第60/863480号、2006年11月1日に提出の米国仮特許願第60/863810号、2006年11月28日に提出の米国仮特許願第60/867399号、2007年1月16日に提出の米国仮特許願第60/885024号、2007年1月23日に提出の米国仮特許願第60/886102号、2007年2月11日に提出の米国仮特許願第60/889277号、2007年3月4日に提出の米国仮特許願第60/892869号、2007年3月12日に提出の米国仮特許願第60/894290号、2007年3月13日に提出の米国仮特許願第60/894456号、2007年4月16日に提出の米国仮特許願第60/912056号、および2007年4月22日に提出の米国仮特許願第60/913281号に関連するものである。
(Refer to related applications)
This application is filed on May 12, 2006, US provisional patent application No. 60/747106, filed on October 30, 2006, US provisional patent application No. 60/863480, filed on November 1, 2006. U.S. Provisional Patent Application No. 60/863810, U.S. Provisional Patent Application No. 60/867399 filed on November 28, 2006, U.S. Provisional Patent Application No. 60/887524 filed on January 16, 2007, 2007. US Provisional Patent Application No. 60/886102 filed on January 23, 2007, US Provisional Patent Application No. 60/886277 filed on February 11, 2007, US Provisional Patent Application filed on March 4, 2007 No. 60/892869, US Provisional Patent Application No. 60/894290 filed on March 12, 2007, US Provisional Patent Application No. 60/894456 filed on March 13, 2007, April 2007 Of submission to the 6th US Provisional Patent Application No. 60/912056, and is related to US Provisional Patent Application No. 60/913281, filed on April 22, 2007.

本発明は、一般にメモリ素子、詳細には誤り訂正符号化および歪み推定を用いてメモリ素子の性能を改善する方法および装置に関する。   The present invention relates generally to memory devices, and more particularly to a method and apparatus for improving memory device performance using error correction coding and distortion estimation.

いくつかの種類のメモリ素子、例えば、フラッシュメモリおよびダイナミック・ランダム・アクセス・メモリ(DRAM)などでは、データを格納するためにアナログ・メモリ・セルのアレイを使用する。フラッシュメモリ素子は、例えば、非特許文献1に記載されており、これは参照して本明細書に盛り込まれる。   Some types of memory devices, such as flash memory and dynamic random access memory (DRAM), use an array of analog memory cells to store data. A flash memory device is described in Non-Patent Document 1, for example, which is incorporated herein by reference.

このようなメモリ素子では、各アナログ・メモリセルはトランジスタを通常備え、このトランジスタはセルに格納した情報を表わす或る量の電荷を保持する。特定のセルに書き込まれた電荷はセルの「閾値電圧」、すなわち、セルが電流を伝導するようにセルに印加する必要がある電圧に影響を与える。   In such a memory device, each analog memory cell typically includes a transistor that holds a certain amount of charge representing the information stored in the cell. The charge written to a particular cell affects the “threshold voltage” of the cell, ie, the voltage that must be applied to the cell so that the cell conducts current.

シングルレベルセル(SLC)素子と通例呼ばれる、いくつかのメモリ素子は各メモリセルに単一ビットの情報を格納する。通常、セルの可能な閾値電圧の範囲は2つの領域に分割される。領域の1つに落ちる電圧値は「0」ビット値を表わし、第2領域に属する電圧は「1」ビット値を表わす。マルチレベルセル(MLC)素子とよく呼ばれる高密度素子は1メモリセル当たり2つ以上のビットを格納する。マルチレベルセルでは、閾値電圧の範囲は2つ以上の領域に分割され、各領域は2ビット以上を表わす。   Some memory devices, commonly referred to as single level cell (SLC) devices, store a single bit of information in each memory cell. Usually, the range of possible threshold voltages of a cell is divided into two regions. A voltage value falling in one of the regions represents a “0” bit value, and a voltage belonging to the second region represents a “1” bit value. High density devices, often referred to as multilevel cell (MLC) devices, store more than one bit per memory cell. In a multi-level cell, the threshold voltage range is divided into two or more regions, each region representing two or more bits.

マルチレベル・フラッシュ・セルおよび素子は、例えば、非特許文献2に記載されており、これは参照して本明細書に盛り込まれる。この論文は数種類のマルチレベル・フラッシュ・セル、例えば、共通接地、DINOR、AND、NOR、およびNANDセルを比較している。   Multilevel flash cells and devices are described, for example, in Non-Patent Document 2, which is incorporated herein by reference. This paper compares several types of multi-level flash cells, such as common ground, DINOR, AND, NOR, and NAND cells.

他の典型的な種類のアナログ・メモリ・セルは、窒化読出し専用メモリ(NROM)セル、強誘電体RAM(FRAM)セル、磁気RAM(MRAM)セル、および位相変化RAM(PRAM、位相変化メモリ-PCMとも呼ばれる)セルである。NROMセルは、例えば、非特許文献3に記載されており、これは参照して本明細書に盛り込まれる。   Other typical types of analog memory cells include nitride read only memory (NROM) cells, ferroelectric RAM (FRAM) cells, magnetic RAM (MRAM) cells, and phase change RAM (PRAM). Cell) (also called PCM). NROM cells are described, for example, in Non-Patent Document 3, which is incorporated herein by reference.

FRAM、MRAM、およびPRAMは、例えば、非特許文献4に記載されており、これは参照して本明細書に盛り込まれる。   FRAM, MRAM, and PRAM are described in Non-Patent Document 4, for example, which is incorporated herein by reference.

いくつかの応用では、メモリ素子に格納したデータは誤り訂正記号(ECC)を用いて符号化される。例えば、ロドニー(Rodney)およびサヤノ(Sayano)は、マルチレベル記憶セルを用いたランダム・アクセス・メモリ(RAM)素子の保護のための多くのオンチップ符号化技術を非特許文献5に記述しており、これは参照して本明細書に盛り込まれる。別の例として、特許文献1には符号化変調技術を用いてデータをアナログメモリ素子に格納する方法が記載されており、この開示は参照して本明細書に盛り込まれる。マルチレベルメモリ素子の他のECC方式は特許文献2および特許文献3に記載されており、これらの開示は参照して本明細書に盛り込まれる。   In some applications, data stored in the memory device is encoded using error correction symbols (ECC). For example, Rodney and Sayano described many on-chip coding techniques for the protection of random access memory (RAM) devices using multilevel storage cells in [5]. Which is incorporated herein by reference. As another example, Patent Document 1 describes a method of storing data in an analog memory device using a coded modulation technique, the disclosure of which is incorporated herein by reference. Other ECC schemes for multi-level memory elements are described in US Pat.

アナログ・メモリ・セルから読み取った閾値電圧値は時々歪む。歪みはさまざまな理由、例えば、隣接メモリセルからの電界結合、アレイの同じ列に沿った他のセルに起因するバック・パターン・デペンデンシー(BPD)、アレイの他のセルの動作に起因する撹乱ノイズ、および素子エージングに起因する閾値電圧ドリフトなどに因る。いくつかの一般的な歪み機構が前掲のベズ(Bez)らによる論文に記載されている。メモリセルにおける妨害はまた非特許文献6に記載されており、これは参照して本明細書に盛り込まれる。   The threshold voltage value read from the analog memory cell is sometimes distorted. Distortion is due to various reasons, such as electric field coupling from adjacent memory cells, back pattern dependency (BPD) due to other cells along the same column of the array, disturbance noise due to operation of other cells in the array , And threshold voltage drift caused by element aging. Several common strain mechanisms are described in the article by Bez et al. Interference in memory cells is also described in Non-Patent Document 6, which is incorporated herein by reference.

特許文献4には、高密度フラッシュ電気的消去・書込み可能読出し専用メモリ(EEPROM)セルアレイの浮遊ゲート間の電界結合を補償する方法が記載されており、この開示は参照して本明細書に盛り込まれる。開示された方法によれば、セルの読み取りは読み取られるセルと電界結合されるすべてのセルの状態を最初に読み取ることによって補償される。次に浮遊ゲート電圧かそれとも各結合セルの状態に関連する数にセル間の結合比を乗じる。セルの各々に関する状態間のブレイクポイントレベルは隣接セルから結合された電圧を補償する量によって調整される。
米国特許第6,212,654号明細書 米国特許第6,469,931号明細書 米国特許第7,023,735号明細書 米国特許第5,867,429号明細書 Bezら著「Introduction to Flash Memory」 Proceedings of the IEEE,(91:4)、2003年4月、p.489−502 Eitanら著「Multilevel Flash Cells and their Trade-Offs」 Proceedings of the 1996 IEEE International Electron Devices Meeting (IEDM),New York,New York、p.169−172 Maayanら著「A 512 Mb NROM Flash Data Storage Memory with 8 MB/s Data Rate」 Proceedings of the 2002 IEEE International Solid-State Circuits Conference (ISSCC 2002),San Francisco, California、2002年2月3〜7日、p.100−101 KimおよびKoh著「Future Memory Technology including Emerging New Memories」 Proceedings of the 24th International Conference on Microelectronics (MIEL),Nis,Serbia and Montenegro、2004年5月16〜19日、第1巻、p.377−384 「On-Chip ECC for Multi-Level Random Access Memories」 Proceedings of the 1989 IEEE/CAM International Theory Workshop,Ithaca,New York、1989年6月25〜29日 Leeら著「Effects of Floating Gate Interference on NAND Flash Memory Cell Operation」 IEEE Electron Device Letters,(23:5)、2002年5月、p.264−266 Agrellら著「Closest Point Search in Lattices」 IEEE Transaction on Information Theory,volume 48、2002年8月、p.2201−2214 Jungら著「A 117mm2 3.3V Only 128Mb Multilevel NAND Flash Memory for Mass Storage Applications」 IEEE Journal of Solid State Circuits,(11:31)、1996年11月、p.1575−1583 Takeuchiら著「A Multipage Cell Architecture for High-Speed Programming Multilevel NAND Flash Memories」 IEEE Journal of Solid State Circuits,(33:8)、1998年8月、p.1228−1238
US Pat. No. 6,057,049 describes a method of compensating for electric field coupling between floating gates of a high density flash electrically erasable / writable read only memory (EEPROM) cell array, the disclosure of which is incorporated herein by reference. It is. In accordance with the disclosed method, cell reading is compensated by first reading the state of all cells that are field coupled with the cell being read. The number associated with the floating gate voltage or the state of each coupled cell is then multiplied by the coupling ratio between the cells. The breakpoint level between states for each of the cells is adjusted by an amount that compensates for the voltage coupled from adjacent cells.
US Pat. No. 6,212,654 US Pat. No. 6,469,931 US Pat. No. 7,023,735 US Pat. No. 5,867,429 “Introduction to Flash Memory” by Bez et al., Proceedings of the IEEE, (91: 4), April 2003, p. 489-502 Eitan et al., “Multilevel Flash Cells and the Trade Trade-Offs” Proceedings of the 1996 IEEE International Electron Devices Meeting (IEDM), New York, New York, New York. 169-172 Mayan et al., "A 512 Mb NROM Flash Data Storage Memory with 8 MB / s Data Rate, 2 CIS, 2 Fr. p. 100-101 Kim and Koh, “Future Memory Technology Inclusion Emerging New Memories”, Proceedings of the 24th International Conference on Microelectronics (MEL), 19th month, 4th International Conference on Microelectronics. 377-384 “On-Chip ECC for Multi-Level Random Access Memories” Proceedings of the 1989 IEEE / CAM International Theory Workshop, Ithaca, New York, May 29, 1989. Lee et al., “Effects of Floating Gate Interference on NAND Flash Memory Cell Operation” IEEE Electron Device Letters, (23: 5), May 2002, p. 264-266 “Closest Point Search in Lattices” by Agrell et al., IEEE Transaction on Information Theory, volume 48, August 2002, p. 2201-2214 Jung et al., "A 117mm2 3.3V Only 128Mb Multilevel NAND Flash Memory for Mass Storage Applications" IEEE Journal of Solid State Circuits, 11:11. 1575-1583 Takeuchi et al., “A Multipage Cell Architecture for High-Speed Programming Multilevel NAND Flash Memories” IEEE Journal of Solid State Circuit, March, 8: 1998. 1228-1238

本発明の実施形態ではメモリ素子を動作させる方法が提供され、この方法は、
データを誤り訂正記号(ECC)を用いて符号化し、符号化データを第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納する段階と、
符号化データを格納した後に、符号化データが格納されたメモリ素子のメモリセルから関連第2アナログ値を読み取る段階であって、関連第2アナログ値の少なくともいくつかは関連第1アナログ値と異なる段階と、
第2アナログ値に含まれる歪みを推定する段階と、
推定歪みに応答可能なように第2アナログ値に関して誤り訂正メトリクスを計算する段階と、
データを復元するために、ECC復号プロセスで誤り訂正メトリクスを用いて第2アナログ値を処理する段階と、
を含む。
Embodiments of the present invention provide a method of operating a memory device, the method comprising:
Encoding the data using an error correction symbol (ECC) and storing the encoded data as a first analog value in an associated analog memory cell of the memory element;
After storing the encoded data, reading the associated second analog value from the memory cell of the memory element in which the encoded data is stored, wherein at least some of the associated second analog values are different from the associated first analog value. Stages,
Estimating distortion contained in the second analog value;
Calculating error correction metrics for the second analog value so as to be responsive to the estimated distortion;
Processing the second analog value using error correction metrics in an ECC decoding process to recover the data;
including.

いくつかの実施形態では、誤り訂正メトリクスを計算する段階は、各メモリセルについて、歪みを示す1つ以上のセルパラメタを評価する段階と、セルパラメタに応答可能なように誤り訂正メトリクスを計算する段階とを含む。セルパラメタは、他のメモリセルから読み取られたアナログ値、他のメモリセルの推定相互結合係数、読み取られた第2アナログ値の統計的分布のパラメタ、メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクル後の経過時間、メモリセルで前に検出された誤り、メモリセルが接続されている語線の識別、メモリセルが接続されているビット線の識別、メモリセルが接続されているビット線に結合されたセンス増幅器の推定パラメタ、および環境パラメタから成るパラメタの群から選択される少なくとも1つのパラメタを含むとよい。 In some embodiments, calculating error correction metrics includes evaluating, for each memory cell, one or more cell parameters indicative of distortion, and calculating error correction metrics to be responsive to the cell parameters. Stages. The cell parameters are: analog values read from other memory cells, estimated mutual coupling coefficients of other memory cells, statistical distribution parameters of second analog values read, programming and erase cycles previously received by the memory cells , Elapsed time after previous programming and erasing cycles, error previously detected in memory cell, identification of word line to which memory cell is connected, identification of bit line to which memory cell is connected, memory cell At least one parameter selected from the group of parameters consisting of an estimated parameter of the sense amplifier coupled to the bit line to which the is connected and an environmental parameter.

別の実施形態では、第2アナログ値を処理する段階は、第2アナログ値の可能な値の範囲を複数の決定間隔に分割する段階と、第2アナログ値が入る関連決定間隔を決定する段階とを含み、誤り訂正メトリクスを計算する段階は、ECC復号プロセスの性能を改善するために、第2アナログ値を決定間隔に関連して変更する機能を規定する段階を含む。   In another embodiment, processing the second analog value includes dividing a range of possible values of the second analog value into a plurality of determination intervals and determining an associated determination interval in which the second analog value falls. And calculating error correction metrics includes defining a function to change the second analog value relative to the decision interval to improve the performance of the ECC decoding process.

さらに別の実施形態では、第2アナログ値を処理する段階は、ECC復号プロセスの性能に関するフィードバックを受け取る段階と、フィードバックに応答可能なようにECC復号プロセスを変更する段階とを含む。さらに別の実施形態では、第2アナログ値を処理する段階は第2アナログ値を決定閾値と比較する段階を含み、ECC復号プロセスを変更する段階は決定閾値を変更する段階を含む。決定閾値を変更する段階は第2アナログ値をメモリセルから変更した決定閾値を用いて再び読み取る段階を含む。或る実施形態では、第2アナログ値を決定閾値と比較する段階はメモリ素子の第2アナログ値を決定閾値を用いて読み取る段階を含み、決定閾値を変更する段階はコマンドをメモリ素子に送って、閾値を変更することを要求する段階を含む。   In yet another embodiment, processing the second analog value includes receiving feedback regarding the performance of the ECC decoding process and modifying the ECC decoding process to be responsive to the feedback. In yet another embodiment, processing the second analog value includes comparing the second analog value to a decision threshold, and changing the ECC decoding process includes changing the decision threshold. Changing the decision threshold includes rereading the second analog value from the memory cell using the changed decision threshold. In some embodiments, comparing the second analog value to the decision threshold includes reading the second analog value of the memory element using the decision threshold, and changing the decision threshold sends a command to the memory element. Requesting to change the threshold.

開示される実施形態では、第2アナログ値を処理する段階は、いろいろなセットの決定閾値を用いてECC復号プロセスの関連する複数の反復を実行することによって、各メモリセルに格納されたデータの複数の推定値を生成する段階と、データの複数の推定値に応答可能なようにデータを復元する段階とを含む。データを復元する段階は各メモリセルについて独立に複数の推定値の1つを選択する段階を含むとよい。   In the disclosed embodiment, processing the second analog value comprises performing a plurality of related iterations of the ECC decoding process using various sets of decision thresholds to store the data stored in each memory cell. Generating a plurality of estimates, and restoring the data so as to be responsive to the plurality of estimates of the data. The step of restoring data may include the step of selecting one of a plurality of estimated values independently for each memory cell.

いくつかの実施形態では、第2アナログ値を処理する段階は第1誤り性能を有する第1ECC復号プロセスを適用する段階を含み、フィードバックを受け取る段階は第1プロセスを用いて復号されたデータにおける復号誤りの表示を受け取る段階を含み、そしてECC復号プロセスを変更する段階は第1誤り性能よりも良い第2誤り性能を有する第2ECC復号プロセスを用いて第2アナログ値を処理する段階を含む。別の実施形態では、ECC復号プロセスを変更する段階は第2アナログ値を読み取るのに用いるサンプリング分解能を変更する段階を含む。   In some embodiments, processing the second analog value includes applying a first ECC decoding process having a first error performance, and receiving the feedback is decoding on data decoded using the first process. Receiving an indication of error and altering the ECC decoding process includes processing the second analog value using a second ECC decoding process having a second error performance that is better than the first error performance. In another embodiment, changing the ECC decoding process includes changing the sampling resolution used to read the second analog value.

いくつかの実施形態では、第2アナログ値を読み取る段階は関連するいろいろなセットの決定閾値を用いて第2アナログ値の複数のインスタンスを読み取る段階を含み、誤り訂正メトリクスを計算する段階は、各メモリセルについて独立に複数のインスタンスを組み合わせる段階と、組み合わせた複数のインスタンスに基づいて誤り訂正メトリクスを計算する段階とを含む。第2アナログ値の複数のインスタンスを読み取り、組み合わせる段階は、第2アナログ値の追加インスタンスを反復して得る段階と、ECCの復号に成功するまで追加インスタンスを用いて誤り訂正メトリクスを更新する段階とを含むとよい。   In some embodiments, reading the second analog value includes reading multiple instances of the second analog value using various sets of associated decision thresholds, and calculating the error correction metric comprises: Combining multiple instances independently for a memory cell and calculating error correction metrics based on the combined multiple instances. Reading and combining multiple instances of the second analog value includes repeatedly obtaining additional instances of the second analog value and updating error correction metrics with the additional instances until the ECC is successfully decoded. It is good to include.

いくつかの実施形態では、各メモリセルについて、歪みを推定する段階は、メモリセルから読み取られた第2アナログ値の歪みの潜在的な一因となる、潜在的に妨害するメモリセルのサブセットから第2アナログ値を読み取る段階を含み、誤り訂正メトリクスを計算する段階は潜在的に妨害するメモリセルによる歪みを評価する段階を含む。或る実施形態では、潜在的に妨害するメモリセルによってメモリセルに与えられる歪みを評価する段階は、潜在的に妨害するメモリセルから読み取られた第2アナログ値およびメモリセルから読み取られた第2アナログ値の両方に基づいて、各潜在的に妨害するメモリセルによって与えられる歪みを近似する段階を含む。別の実施形態では、第2アナログ値を処理する段階は、メモリセルの第2アナログ値を第1量子化レベルで処理する段階と、潜在的に妨害するメモリセルから読み取られた第2アナログ値を第1量子化レベルよりも粗い第2量子化レベルで処理する段階とを含む。第2アナログ値を処理する段階は、第2アナログ値を読み取るのに用いる回路の閾値を反復して変更することによって、第2アナログ値を第1および第2量子化レベルで読み取る段階を含むとよい。   In some embodiments, for each memory cell, estimating the distortion is from a potentially disturbing subset of memory cells that potentially contributes to distortion of the second analog value read from the memory cell. Reading the second analog value and calculating the error correction metric includes evaluating distortion due to potentially disturbing memory cells. In some embodiments, evaluating the distortion imparted to the memory cell by the potentially disturbing memory cell includes the second analog value read from the potentially disturbing memory cell and the second analog value read from the memory cell. Approximating the distortion provided by each potentially disturbing memory cell based on both analog values. In another embodiment, processing the second analog value includes processing the second analog value of the memory cell at the first quantization level and second analog value read from the potentially disturbing memory cell. Processing at a second quantization level coarser than the first quantization level. Processing the second analog value includes reading the second analog value at the first and second quantization levels by iteratively changing a threshold of a circuit used to read the second analog value; Good.

開示される実施形態では、符号化データを格納する段階はプログラムおよび検査(P&V)プロセスを用いて第1アナログ値をメモリセルに書き込む段階を含み、歪みを推定する段階は、潜在的に妨害するメモリセルを、前記メモリセルよりも早く完全にプログラムされたメモリセル、前記メモリセルよりも遅く完全にプログラムされたメモリセル、およびP&Vプロセスによって前記メモリセルと同時に完全にプログラムされたメモリセルから成るクラスの群から選択される少なくとも2つのクラスに分類する段階と、総歪みをクラスの各々内で別々に計算する段階とを含む。   In the disclosed embodiment, storing the encoded data includes writing a first analog value to the memory cell using a program and verify (P & V) process, and estimating the distortion potentially interferes. The memory cell comprises a memory cell that is fully programmed earlier than the memory cell, a memory cell that is fully programmed later than the memory cell, and a memory cell that is fully programmed simultaneously with the memory cell by a P & V process. Classifying into at least two classes selected from a group of classes and calculating total distortion separately within each of the classes.

いくつかの実施形態では、メモリセルは、フラッシュ・メモリ・セル、ダイナミック・ランダム・アクセス・メモリ(DRAM)セル、位相変化メモリ(PCM)セル、窒化読出し専用メモリ(NROM)セル、磁気RAM(MRAM)セル、または強誘電体RAM(FRAM)セルを含むとよい。   In some embodiments, the memory cells are flash memory cells, dynamic random access memory (DRAM) cells, phase change memory (PCM) cells, nitride read only memory (NROM) cells, magnetic RAM (MRAM). ) Cell, or ferroelectric RAM (FRAM) cell.

開示される実施形態では、ECCはブロックコードを含む。ブロックコードはBCHコードおよびリード・ソロモン(RS)コードの1つを含むとよい。或る実施形態では、ブロックコードは低密度奇偶検査(LDPC)コード、ターボコード、およびターボ・プロダクト・コード(ТPC)の1つを含むとよい。ECC復号プロセスは反復復号プロセスを含むとよい。さらに、または代替として、ECC復号プロセスは第2アナログ値を読み取ることによって生成されるフィードバックを使用するとよい。ECC復号プロセスは最尤シーケンス推定(MLSE)プロセスを含むとよい。ECCは、従来コード、トレリス符号化変調(TCM)コード、ビットインターリブド符号化変調(BICM)コード、および連結コードの1つを含むとよい。誤り訂正メトリクスは尤度比(LR)または対数尤度比(LLR)を含むとよい。   In the disclosed embodiment, the ECC includes a block code. The block code may include one of a BCH code and a Reed-Solomon (RS) code. In some embodiments, the block code may include one of a low density odd-even test (LDPC) code, a turbo code, and a turbo product code (ТPC). The ECC decoding process may include an iterative decoding process. Additionally or alternatively, the ECC decoding process may use feedback generated by reading the second analog value. The ECC decoding process may include a maximum likelihood sequence estimation (MLSE) process. The ECC may include one of a conventional code, a trellis coded modulation (TCM) code, a bit interleaved coded modulation (BICM) code, and a concatenated code. The error correction metrics may include a likelihood ratio (LR) or a log likelihood ratio (LLR).

いくつかの実施形態では、歪みを推定する段階はメモリセルの1つに含まれる歪みを他のメモリセルに含まれる歪みに基づいて予測する段階を含む。   In some embodiments, estimating the distortion includes predicting distortion included in one of the memory cells based on distortion included in another memory cell.

或る実施形態では、メモリセルは潜在的に妨害するメモリセルの分離したグループに配置され、各グループの歪みを推定する段階はグループ内のメモリセルの対の間の相互干渉を表わす相互結合マトリックスの逆を評価する段階を含み、誤り訂正メトリクスを計算する段階は、第1アナログ値に適用され、グループ内の関連メモリセルの平均歪みレベルで合計した相互結合マトリックスの逆と第2アナログ値に適用された相互結合マトリックスの逆との間のディスタンスを計算する段階を含む。別の実施形態では、分離したグループは関連窒化読出し専用メモリ(NROM)セルを含み、各グループ内の潜在的に妨害するメモリセルは関連NROMセルの第1および第2電荷蓄積領域を含む。さらに別の実施形態では、メモリセルは潜在的に妨害するメモリセルの分離したグループに配置され、各グループの歪みを推定する段階は、グループ内の関連メモリセルの平均歪みレベルのベクトルおよびグループ内のメモリセルの対の間の相互干渉を表わす相互結合マトリックスを評価する段階を含み、そして誤り訂正メトリクスを計算する段階は、グループ内のメモリセルから読み取られた第2アナログ値のベクトルと、相互結合マトリックスと平均歪みレベルのベクトルとの積との差に応答可能なようにメトリクスを計算する段階を含む。別の実施形態では、分離したグループは関連窒化読出し専用メモリ(NROM)セルを含み、各グループ内の潜在的に妨害するメモリセルは関連NROMセルの第1および第2電荷蓄積領域を含む。   In some embodiments, the memory cells are arranged in separate groups of potentially disturbing memory cells, and the step of estimating the distortion of each group is a mutual coupling matrix that represents mutual interference between pairs of memory cells in the group. Calculating the error correction metric is applied to the first analog value and is applied to the inverse of the mutual coupling matrix summed at the average distortion level of the associated memory cells in the group and to the second analog value. Calculating the distance between the inverse of the applied interconnection matrix. In another embodiment, the separate groups include associated nitride read only memory (NROM) cells, and potentially disturbing memory cells within each group include first and second charge storage regions of the associated NROM cells. In yet another embodiment, the memory cells are arranged in separate groups of potentially disturbing memory cells, and estimating the distortion of each group includes a vector of the average distortion level of the associated memory cells in the group and the group. Evaluating a mutual coupling matrix representing mutual interference between pairs of memory cells and calculating an error correction metric include a second vector of analog values read from the memory cells in the group, Calculating a metric to be responsive to the difference between the product of the coupling matrix and the vector of average distortion levels. In another embodiment, the separate groups include associated nitride read only memory (NROM) cells, and potentially disturbing memory cells within each group include first and second charge storage regions of the associated NROM cells.

さらに別の実施形態では、符号化データを格納する段階は、符号化データをスクランブルする段階と、スクランブルされたデータを格納する段階とを含み、第2アナログ値を処理する段階はメモリセルから読み取られた第2アナログ値を逆スクランブルする段階を含む。さらに別の実施形態では、データを格納する段階はメモリセルの少なくともいくつかを消去レベルで維持する段階を含み、第2アナログ値を読み取る段階、歪みを推定する段階、誤り訂正メトリクスを計算する段階、および第2アナログ値を処理する段階は、消去レベルで維持されていたメモリセルから読み取られた第2アナログ値の歪みを補償する段階を含む。   In yet another embodiment, storing the encoded data includes scrambling the encoded data and storing the scrambled data, and processing the second analog value is read from the memory cell. Descrambling the generated second analog value. In yet another embodiment, storing the data includes maintaining at least some of the memory cells at an erase level, reading the second analog value, estimating the distortion, and calculating error correction metrics. And processing the second analog value includes compensating for distortion of the second analog value read from the memory cell that was maintained at the erase level.

本発明の実施形態に従って、メモリ素子を動作させる方法がまた提供され、この方法は、
データを第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納する段階と、
データを格納した後に、関連メモリセルから第2アナログ値の複数のインスタンスを読み取る段階であって、インスタンスの各々は第2アナログ値を関連決定閾値と比較することによって読み取られる段階と、
第2アナログ値に含まれる歪みを推定する段階と、
データを復元するために、推定歪みに応答可能なように第2アナログ値の複数のインスタンスを処理する段階と、
を含む。
In accordance with an embodiment of the present invention, a method for operating a memory device is also provided, the method comprising:
Storing data as a first analog value in an associated analog memory cell of the memory element;
After storing data, reading a plurality of instances of a second analog value from an associated memory cell, each of the instances being read by comparing the second analog value to an associated decision threshold;
Estimating distortion contained in the second analog value;
Processing multiple instances of the second analog value to be responsive to the estimated distortion to recover the data;
including.

いくつかの実施形態では、複数のインスタンスを読み取り、処理する段階は第2アナログ値の追加インスタンスを反復して得る段階を含む。 In some embodiments, reading and processing the plurality of instances includes iteratively obtaining additional instances of the second analog value.

本発明の実施形態に従って、誤り訂正記号(ECC)を用いて符号化され、第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置が追加として提供され、この装置は、
符号化データが格納されたメモリ素子のアナログ・メモリ・セルから関連第2アナログ値を読み取るように構成される読み取りユニットであって、関連第2アナログ値の少なくともいくつかは関連第1アナログ値と異なる読み取りユニットと、
第2アナログ値に含まれる歪みを推定し、推定歪みに応答可能なように第2アナログ値に関して誤り訂正メトリクスを計算するように構成される信号処理ユニットと、
ECCを復号し、データを復元するために、誤り訂正メトリクスを用いて第2アナログ値を処理するように構成される復号器と、
を備える。
According to an embodiment of the present invention, there is additionally provided an apparatus for retrieving data encoded using an error correction symbol (ECC) and stored as a first analog value in an associated analog memory cell of a memory element. The device
A reading unit configured to read an associated second analog value from an analog memory cell of a memory element in which encoded data is stored, wherein at least some of the associated second analog values are related to the associated first analog value and With different reading units,
A signal processing unit configured to estimate distortion contained in the second analog value and calculate error correction metrics for the second analog value to be responsive to the estimated distortion;
A decoder configured to process the second analog value using error correction metrics to decode the ECC and recover the data;
Is provided.

或る実施形態では、読み取りユニットは第1集積回路(IC)内にあり、信号処理ユニットおよび復号器は第1ICと異なる第2IC内にある。代替実施形態では、読み取りユニット、信号処理ユニット、および復号器は単一素子に集積化されている。   In some embodiments, the reading unit is in a first integrated circuit (IC) and the signal processing unit and the decoder are in a second IC that is different from the first IC. In an alternative embodiment, the reading unit, signal processing unit, and decoder are integrated in a single element.

本発明の実施形態に従って、第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置がさらに提供され、この装置は、
第2アナログ値の複数のインスタンスを関連メモリセルから読み取るように構成される読み取りユニットであって、インスタンスの各々は第2アナログ値を関連決定閾値と比較することによって読み取られる読み取りユニットと、
データを復元するために、第2アナログ値に含まれる歪みを推定し、推定歪みに応答可能なように第2アナログ値の複数のインスタンスを処理するように構成される信号処理ユニットと、
を備える。
In accordance with an embodiment of the present invention, there is further provided an apparatus for retrieving data stored in an associated analog memory cell of a memory element as a first analog value, the apparatus comprising:
A read unit configured to read a plurality of instances of a second analog value from an associated memory cell, each of the instances being read by comparing the second analog value to an associated decision threshold;
A signal processing unit configured to estimate distortion contained in the second analog value and to process multiple instances of the second analog value to be responsive to the estimated distortion to recover the data;
Is provided.

本発明は、図面を併用して、その実施形態についての次の詳細な説明によってより完全に理解されるだろう。   The invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings.

(図面の簡単な説明)
図1は、本発明の実施形態に従って、メモリ信号処理の装置を図式的に示すブロック図である。
図2は、本発明の実施形態に従って、メモリ・セル・アレイを図式的に示す図である。
図3は、本発明の実施形態に従って、メモリ・セル・アレイの電圧分布を示すグラフである。
図4は、本発明の実施形態に従って、データをメモリ・セル・アレイから検索するプロセスを図式的に示す機能ブロック図である。
図5は、本発明の実施形態に従って、データをメモリ・セル・アレイから検索する方法を図式的に示す流れ図である。
図6は、本発明の実施形態に従って、メモリ・セル・アレイの歪みを推定する方法を図式的に示す流れ図である。
(Brief description of the drawings)
FIG. 1 is a block diagram that schematically illustrates an apparatus for memory signal processing, in accordance with an embodiment of the present invention.
FIG. 2 is a diagram schematically illustrating a memory cell array in accordance with an embodiment of the present invention.
FIG. 3 is a graph illustrating the voltage distribution of a memory cell array according to an embodiment of the present invention.
FIG. 4 is a functional block diagram that schematically illustrates a process for retrieving data from a memory cell array, in accordance with an embodiment of the present invention.
FIG. 5 is a flow diagram that schematically illustrates a method for retrieving data from a memory cell array, in accordance with an embodiment of the present invention.
FIG. 6 is a flow diagram that schematically illustrates a method for estimating memory cell array distortion, in accordance with an embodiment of the present invention.

概観
本発明の実施形態はメモリ素子に格納された情報を検索する改善された方法および方式を提供する。以下に説明する実施形態では、データはメモリ・セル・アレイのアレイに書き込まれる電荷のレベルとして格納される。電荷レベルはセルのそれぞれの閾値電圧を決定する。さまざまな歪み機構の影響を低下させるために、データはそれをメモリセルに格納するに先立って誤り訂正記号(ECC)を用いて符号化される。
Overview Embodiments of the present invention provide improved methods and schemes for retrieving information stored in memory elements. In the embodiments described below, data is stored as the level of charge written to the array of memory cell arrays. The charge level determines the respective threshold voltage of the cell. In order to reduce the effects of various distortion mechanisms, the data is encoded using error correction symbols (ECC) prior to storing it in the memory cells.

データは、メモリセルの閾値電圧を読み取り、ECCをECC復号器を用いて復号することによって復元される。ECC復号器はECCメトリクス、例えば、読み取り電圧にわたって規定される対数尤度比(LLR)で動作する。   Data is recovered by reading the threshold voltage of the memory cell and decoding the ECC using an ECC decoder. The ECC decoder operates with ECC metrics, eg, a log likelihood ratio (LLR) defined over the read voltage.

信号処理ユニットは読み取り電圧に含まれる歪みを推定する。歪みは、アレイの他のセル、かかるセルで実行される動作、および/またはエージングのような効果に起因する可能性がある。歪み機構に応じて、セルに蓄積された電荷の実際レベルおよび/または感知され、サンプリングされた電圧は影響を受ける可能性がある。信号処理ユニットはECCメトリクスを推定歪みに基づいて計算し、ECCメトリクスをECC復号器に提供する。ECC復号器は、目標メモリセルに格納されたデータを復元するために、ECCをメトリクスを用いて復号する。ECCメトリクスはまた予想歪みレベルを示す追加のいくつかのセルパラメタも考慮するとよい。いくつかの実施形態では、ECC復号プロセスの成功、失敗、または品質に応じたフィードバックが復号プロセスの動作を変更するために使用される。 The signal processing unit estimates distortion contained in the read voltage. Distortion may be due to effects such as other cells in the array, operations performed on such cells, and / or aging. Depending on the strain mechanism, the actual level of charge stored in the cell and / or the sensed and sampled voltage may be affected. The signal processing unit calculates ECC metrics based on the estimated distortion and provides the ECC metrics to the ECC decoder. The ECC decoder decodes the ECC using metrics in order to restore the data stored in the target memory cell. The ECC metrics may also consider some additional cell parameters that indicate the expected distortion level. In some embodiments, feedback depending on the success, failure, or quality of the ECC decoding process is used to change the operation of the decoding process.

推定歪みに基づくECCメトリクスを用いることによってECC復号プロセスの性能を著しく改善する。ECC復号プロセスの改善された性能はより高い情報記憶密度をいくつかの方法で達成するために使用され得る。例えば、各メモリセルに蓄積される電圧レベルの数(従って情報ビットの数)を増大させることができる。他の実施形態では、セル間の増大した相互結合およびより高いエージング速度を有する可能性がある、より小さく高密度のメモリ・セル・アレイが、改善されたECC性能のために、良好な性能を伴って使用され得る。追加して、または代替として、符号レートが所与の誤り率要求について減らされることが可能であり、より小さい符号化オーバヘッドをもたらす。代替実施形態では、所与のメモリアレイおよびECCの性能誤りを改善することができる。改善された性能はまたメモリ素子によって使用される閾値電圧の範囲を小さくするためにも使用されることが可能であり、従って素子の電力消費を減らし、その信頼性および耐久性を改善する。   By using ECC metrics based on the estimated distortion, the performance of the ECC decoding process is significantly improved. The improved performance of the ECC decoding process can be used to achieve higher information storage density in several ways. For example, the number of voltage levels (and hence the number of information bits) stored in each memory cell can be increased. In other embodiments, a smaller, higher density memory cell array, which may have increased mutual coupling between cells and higher aging rates, provides better performance for improved ECC performance. Can be used in conjunction. Additionally or alternatively, the code rate can be reduced for a given error rate requirement, resulting in smaller coding overhead. In an alternative embodiment, performance errors for a given memory array and ECC can be improved. Improved performance can also be used to reduce the range of threshold voltages used by a memory device, thus reducing the power consumption of the device and improving its reliability and durability.

本明細書に述べた方法および装置は多種多様のメモリ素子およびセルタイプ、例えば、いろいろなフラッシュ・メモリ・セル、DRAMセル、NROMセル、MRAMセル、およびPCMセルなどで使用され得る。本発明の原理はまたさまざまな記憶媒体および素子、例えばハード・ディスク・ドライブ(HDD)におけるデータの記憶および検索でも使用され得る。   The methods and apparatus described herein may be used with a wide variety of memory devices and cell types, such as various flash memory cells, DRAM cells, NROM cells, MRAM cells, and PCM cells. The principles of the present invention may also be used in data storage and retrieval on various storage media and devices, such as hard disk drives (HDDs).

どんな適切な推定方法もメモリ・セル・アレイから読み取られた電圧の歪みを推定するために使用され得る。いくつかの例示的な方法をここで説明する。   Any suitable estimation method can be used to estimate the distortion of the voltage read from the memory cell array. Several exemplary methods are now described.

システムの記載
図1は、本発明の実施形態に従って、メモリ信号処理の装置20を図式的に示すブロック図である。装置20はデータをメモリ・セル・アレイ28に格納するメモリ素子24を備えている。メモリアレイは複数のアナログメモリ・セル32を備えている。本特許出願の文脈で、かつ特許請求の範囲で、用語「アナログ・メモリ・セル」は、物理的パラメタの連続アナログ値、例えば、電圧または電荷などを保持することによって情報を格納する任意のメモリセルを表わすために使用される。アレイ28はどんな種類のアナログ・メモリ・セルでも、例えば、NANDおよびNORフラッシュセル、PCM、NROM、FRAM、MRAM、およびDRAMセルなどを備えるとよい。
System Description FIG. 1 is a block diagram that schematically illustrates an apparatus 20 for memory signal processing, in accordance with an embodiment of the present invention. Device 20 includes a memory element 24 that stores data in a memory cell array 28. The memory array includes a plurality of analog memory cells 32. In the context of this patent application and in the claims, the term “analog memory cell” refers to any memory that stores information by holding a continuous analog value of a physical parameter, such as a voltage or charge. Used to represent a cell. Array 28 may comprise any type of analog memory cell, such as NAND and NOR flash cells, PCM, NROM, FRAM, MRAM, DRAM cells, and the like.

メモリ素子24に格納するデータは素子に提供され、データバッファ36に保存される。次にデータはアナログ電圧に変換され、読み取り/書き込み(R/W)ユニット40を用いてメモリセル32に書き込まれ、この機能は以下にさらに詳細に説明される。データをアレイ28から読み取るとき、ユニット40は電荷、従ってメモリセル32のアナログ電圧をデジタルサンプルに変換する。各デジタルサンプルは1つ以上のビットを用いて表わされる。サンプルはバッファ36に保存される。ユニット40によって生成されるサンプルはソフトサンプルとも呼ばれる。メモリ素子24の動作およびタイミングは制御論理48によって管理される。   Data to be stored in the memory device 24 is provided to the device and stored in the data buffer 36. The data is then converted to an analog voltage and written to the memory cell 32 using a read / write (R / W) unit 40, the function of which is described in further detail below. When reading data from the array 28, the unit 40 converts the charge, and thus the analog voltage of the memory cell 32, into a digital sample. Each digital sample is represented using one or more bits. Samples are stored in buffer 36. Samples generated by unit 40 are also referred to as soft samples. The operation and timing of the memory element 24 is managed by the control logic 48.

データのメモリ素子24への格納およびそれからの検索はメモリ信号プロセッサ(MSP)52によって実行される。MSP52はメモリ素子24とデータを格納、検索するホストまたはアプリケーションとの間に介在する。以下に詳細に示すように、MSP52はデータの信頼性および記憶密度を改善するために誤り訂正符号化と歪み推定を組み合わせる新しい方法を使用する。   Storage of data into and retrieval from the memory element 24 is performed by a memory signal processor (MSP) 52. The MSP 52 is interposed between the memory element 24 and a host or application that stores and retrieves data. As described in detail below, MSP 52 uses a new method that combines error correction coding and distortion estimation to improve data reliability and storage density.

MSP52は符号化器/復号器64を備え、これはECCを用いて素子24に書き込まれるデータを符号化し、データを素子24から読み取るときECCを復号する。信号処理ユニット60は素子24に書き込まれ、かつそれから検索されるデータを処理する。具体的に言えば、ユニット60は素子24から読み取られた電圧に影響を及ぼす歪みを推定する。推定歪みは、以下にさらに詳細に説明するように、ECCの性能を改善するために使用される。   The MSP 52 includes an encoder / decoder 64 that encodes data to be written to the element 24 using ECC and decodes the ECC as data is read from the element 24. The signal processing unit 60 processes the data written to and retrieved from the element 24. Specifically, unit 60 estimates the distortion that affects the voltage read from element 24. Estimated distortion is used to improve ECC performance, as described in more detail below.

MSP52はデータバッファ72を備え、これはデータを格納するために、かつメモリ素子24とインターフェースをとるためにユニット60によって使用される。MSP52はまた入力/出力(I/О)バッファ56を備え、これはMSPとホストとの間にインターフェースを形成する。コントローラ76はMSP52の動作およびタイミングを管理する。以下に述べる機能を実行するのに加えて、コントローラ76は追加のメモリ管理機能、例えば、磨耗レベリングおよび不良ブロック管理などを実行するとよい。信号処理ユニット60およびコントローラ76はハードウェアに組み入れられるとよい。あるいは、ユニット60および/またはコントローラ76は適切なソフトウェア、またはハードウェアとソフトウェア要素の組み合わせを実行するマイクロプロセッサを備えるとよい。   The MSP 52 includes a data buffer 72 that is used by the unit 60 to store data and to interface with the memory element 24. The MSP 52 also includes an input / output (I / O) buffer 56 that forms an interface between the MSP and the host. The controller 76 manages the operation and timing of the MSP 52. In addition to performing the functions described below, the controller 76 may perform additional memory management functions, such as wear leveling and bad block management. The signal processing unit 60 and the controller 76 may be incorporated in hardware. Alternatively, unit 60 and / or controller 76 may comprise a microprocessor executing appropriate software or a combination of hardware and software elements.

図1の構成は例示的な装置構成であり、これは概念を単に明確にするために示されている。その他の適切な構成も使用され得る。本発明の原理を理解するためには不要である要素、例えば、さまざまなインターフェース、アドレス指定回路、タイミングおよび順序付け回路、データスクランブル回路、およびデバック回路などが明確にするために図から省かれた。   The configuration of FIG. 1 is an exemplary device configuration, which is shown for clarity of concept only. Other suitable configurations can also be used. Elements that are not necessary to understand the principles of the present invention, such as various interfaces, addressing circuitry, timing and sequencing circuitry, data scrambling circuitry, and debugging circuitry, have been omitted from the figures for clarity.

図1に示す例示的な装置では、メモリ素子24およびMSP52は2つの別々の集積回路(IC)として組み入れられている。代替実施形態では、しかしながら、メモリ素子およびMSPは単一ICまたはシステム・オン・チップ(SoC)に集積化されるとよい。いくつかの実施形態では、単一MSP52は複数のメモリ素子24に接続されるとよい。装置20の具体化のいくつかの実施形態の追加アーキテクチャーの態様は前掲の米国仮特許願第60/867399号にさらに詳細に記載されている。   In the exemplary device shown in FIG. 1, memory element 24 and MSP 52 are incorporated as two separate integrated circuits (ICs). In alternative embodiments, however, the memory elements and MSPs may be integrated on a single IC or system on chip (SoC). In some embodiments, a single MSP 52 may be connected to multiple memory elements 24. Additional architectural aspects of some embodiments of apparatus 20 implementation are described in further detail in the above-mentioned US Provisional Patent Application No. 60/867399.

典型的な書き込み動作において、メモリ素子24に書き込まれるデータはホストから受け取られ、I/Oバッファ56に保存される。符号化器/復号器64はデータを符号化し、符号化データは、データバッファ72を経由して、メモリ素子24へ転送される。素子24においてデータはバッファ36に一時的に格納される。R/Wユニット40はデータをアナログ電圧に変換し、データをアレイ28の適切なセル32に書き込む。   In a typical write operation, data to be written to the memory element 24 is received from the host and stored in the I / O buffer 56. The encoder / decoder 64 encodes the data, and the encoded data is transferred to the memory element 24 via the data buffer 72. In the element 24, data is temporarily stored in the buffer 36. The R / W unit 40 converts the data to an analog voltage and writes the data to the appropriate cell 32 of the array 28.

典型的な読み取り動作において、R/Wユニット40はアナログ電圧値を適切なメモリセル32から読み取り、電圧をデジタルサンプルに変換する。サンプルはバッファ36に保存され、MSP52のバッファ72へ転送される。信号処理ユニット60は、以下に説明する方法を用いて、データサンプルに含まれる歪みを推定する。   In a typical read operation, the R / W unit 40 reads an analog voltage value from the appropriate memory cell 32 and converts the voltage to a digital sample. Samples are stored in buffer 36 and transferred to buffer 72 of MSP 52. The signal processing unit 60 estimates the distortion contained in the data samples using the method described below.

データのブロックはバッファ72からユニット60へ転送され、符号化器/復号器64はこのブロックのECCを復号する。符号化器/復号器64はユニット60によって与えられる歪み推定を使用して、ECC復号プロセスの性能を改善する。復号データはI/Oバッファ56を経由してホストへ転送される。   The block of data is transferred from the buffer 72 to the unit 60, and the encoder / decoder 64 decodes the ECC of this block. Encoder / decoder 64 uses the distortion estimation provided by unit 60 to improve the performance of the ECC decoding process. The decoded data is transferred to the host via the I / O buffer 56.

いくつかの実施形態では、MSP52は、それがメモリセルに書き込まれる前にデータをスクランブルし、歪み推定性能を改善するために、メモリセルから読み取られたデータを逆スクランブルする。   In some embodiments, the MSP 52 scrambles the data before it is written to the memory cell and descrambles the data read from the memory cell to improve distortion estimation performance.

メモリアレイ構成および歪みのメカニズム
図2は、本発明の実施形態に従って、メモリ・セル・アレイ28を図式的に示す図である。図2は特定のアレイ構成で接続されているフラッシュ・メモリ・セルを参照しているけれども、本発明の原理は他のタイプのメモリセルおよび他のアレイ構成にも同様に適用可能である。いくつかの例示的なセルタイプおよびアレイ構成は上の背景項で引用した参考文献に記載されている。
Memory Array Configuration and Distortion Mechanism FIG. 2 is a diagram that schematically illustrates memory cell array 28, in accordance with an embodiment of the present invention. Although FIG. 2 refers to flash memory cells connected in a particular array configuration, the principles of the present invention are equally applicable to other types of memory cells and other array configurations. Some exemplary cell types and array configurations are described in the references cited in the background section above.

アレイ28のメモリセル32は複数の行および列を有する格子状に配置されている。各セル32は浮遊ゲート金属酸化物半導体(MOS)トランジスタを備える。或る量の電荷(電子またはホール)が適切な電圧レベルをトランジスタのゲート、ソース、およびドレインに印加することによって特定のセルに蓄積され得る。セルに蓄積された値はセルの閾値電圧を測定することによって読み取られることが可能であり、これはトランジスタを導通させるためにトランジスタのゲートに印加する必要がある最小電圧として規定される。読み取り閾値電圧はセルに蓄積された電荷に比例する。   Memory cells 32 of array 28 are arranged in a grid having a plurality of rows and columns. Each cell 32 comprises a floating gate metal oxide semiconductor (MOS) transistor. A certain amount of charge (electrons or holes) can be stored in a particular cell by applying appropriate voltage levels to the gate, source, and drain of the transistor. The value stored in the cell can be read by measuring the threshold voltage of the cell, which is defined as the minimum voltage that must be applied to the gate of the transistor to make the transistor conductive. The read threshold voltage is proportional to the charge stored in the cell.

図2の例示的な構成では、各行のトランジスタのゲートは語線80によって接続されている。各列のトランジスタのソースはビット線84によって接続されている。いくつかの実施形態では、例えばいくつかのNORセル素子では、ソースはビット線に直接接続される。代替実施形態では、例えばいくつかのNANDセル素子では、ビット線は浮遊ゲートセルのストリングに接続される。   In the exemplary configuration of FIG. 2, the gates of the transistors in each row are connected by a word line 80. The sources of the transistors in each column are connected by a bit line 84. In some embodiments, for example, in some NOR cell devices, the source is connected directly to the bit line. In an alternative embodiment, for example in some NAND cell devices, the bit line is connected to a string of floating gate cells.

通常、R/Wユニット40は、変化する電圧レベルを特定のセル32のゲートに(すなわち、セルが接続されている語線に)印加し、かつセルのドレイン電流が或る閾値を超えるかどうか(すなわち、トランジスタが導通するかどうか)を調べることによって、特定のセル32の閾値電圧を読み取る。ユニット40は通常一連のいろいろな電圧値をセルが接続されている語線に印加し、ドレイン電流が閾値を超える最も低いゲート電圧値を決定する。通常、ユニット40はページとも呼ばれているセルの行全体を同時に読み取る。   Typically, the R / W unit 40 applies varying voltage levels to the gate of a particular cell 32 (ie, to the word line to which the cell is connected) and whether the cell drain current exceeds a certain threshold. The threshold voltage of a particular cell 32 is read by examining (ie, whether the transistor is conducting). Unit 40 typically applies a series of different voltage values to the word line to which the cell is connected to determine the lowest gate voltage value at which the drain current exceeds the threshold. Typically, unit 40 reads the entire row of cells, also called a page, simultaneously.

いくつかの実施形態では、ユニット40はセルのビット線を或る電圧レベルに事前に充電することによってドレイン電流を測定する。ゲート電圧が所望値に設定されると、ドレイン電流はビット線電圧をセルを通じて放電させる。ゲート電圧が印加された後、数マイクロ秒間、ユニット40はビット線電圧を測定し、ビット線電圧を閾値と比較する。いくつかの実施形態では、各ビット線84は関連センス増幅器に接続され、これはビット線電流を増幅し、それを電圧に変換する。増幅された電圧は比較器を用いて閾値と比較される。   In some embodiments, unit 40 measures the drain current by precharging the cell's bit line to a voltage level. When the gate voltage is set to a desired value, the drain current discharges the bit line voltage through the cell. After the gate voltage is applied, for a few microseconds, unit 40 measures the bit line voltage and compares the bit line voltage to a threshold value. In some embodiments, each bit line 84 is connected to an associated sense amplifier that amplifies the bit line current and converts it to a voltage. The amplified voltage is compared with a threshold using a comparator.

以下に述べる方法のいくつかは読み取り電圧レベルが比較される閾値の調整を含む。かかる閾値調整は、場合によっては各読み取り動作に先立って、高速で実行されるとよい。いくつかの実施形態では、メモリ素子24、具体的に言えばR/Wユニット40は高速で効果的かつ柔軟な閾値調整を可能にするように設計される。例えば、MSP52とメモリ素子24との間のインターフェースは、R/Wユニット40によって高速で効果的かつ柔軟な閾値調整を可能にするコマンドを備える。かかるコマンドは要求された調整を各個別閾値ごとに規定するか、または全閾値セットについて同一の調整を要求するとよい。このために使用され得る例示的なコマンドインタフェースは、前掲の米国仮特許願第60/889277号、第60/912056号、および第60/913281号に記載されている。   Some of the methods described below include adjusting the threshold against which the read voltage level is compared. Such threshold adjustment may be performed at high speed prior to each reading operation in some cases. In some embodiments, the memory element 24, specifically the R / W unit 40, is designed to allow fast, effective and flexible threshold adjustment. For example, the interface between the MSP 52 and the memory device 24 includes commands that allow the R / W unit 40 to perform fast, effective and flexible threshold adjustment. Such a command may define the requested adjustment for each individual threshold or request the same adjustment for the entire threshold set. Exemplary command interfaces that can be used for this are described in the above-mentioned US Provisional Patent Application Nos. 60 / 888,277, 60 / 91,056, and 60 / 913,281.

上述の電圧読み取り方法は例示的な方法である。あるいは、R/Wユニット40はセル32の閾値電圧を読み取るためにその他の適切な方法を使用するとよい。例えば、ユニット40は1つ以上のアナログ-デジタル変換器(ADC)を備え、これはビット線電圧をデジタルサンプルに変換する。さらにあるいは、本明細書に述べた方法および装置は、アナログ値をアナログ・メモリ・セルへ書き込み、それから読み取る、任意の適切な方法または手段とともに使用され得る。   The voltage reading method described above is an exemplary method. Alternatively, the R / W unit 40 may use another suitable method for reading the threshold voltage of the cell 32. For example, unit 40 includes one or more analog-to-digital converters (ADCs) that convert bit line voltages into digital samples. Additionally or alternatively, the methods and apparatus described herein may be used with any suitable method or means for writing analog values to and reading from analog memory cells.

いくつかの実施形態では、全ページ(行)は並列に書き込まれ、読み取られる。セルの消去は複数のページを含むブロックで通常実行される。典型的なメモリ素子は数十万ページを含むとよく、各々は数千のセル(例えば、16Kまたは32Kセル)を含む。他のブロックサイズも使用され得るけれども、典型的な消去ブロックは約128ページである。   In some embodiments, all pages (rows) are written and read in parallel. Cell erasing is usually performed on blocks containing multiple pages. A typical memory device may contain hundreds of thousands of pages, each containing thousands of cells (eg, 16K or 32K cells). A typical erase block is about 128 pages, although other block sizes may be used.

R/Wユニット40によってデジタル化された電圧はさまざまなタイプの歪みを含む可能性があり、これはアレイ28のいろいろな歪み機構に起因する。いくつかの歪み機構はセルに蓄積される実際の電荷に影響を及ぼすのに対して、他の機構は感知された電圧を歪ませる。例えば、アレイの隣接セル間の電気的結合は特定のセルの閾値電圧を変更する可能性がある。この効果は妨害ノイズと呼ばれる。別の例として、電荷がセルから時間とともに漏洩する可能性がある。このエージング効果の結果として、セルの閾値電圧は最初に書き込まれた値から時間とともにドリフトする可能性がある。   The voltage digitized by the R / W unit 40 can include various types of distortion, which is due to various distortion mechanisms of the array 28. Some distortion mechanisms affect the actual charge stored in the cell, while others distort the sensed voltage. For example, electrical coupling between adjacent cells in the array can change the threshold voltage of a particular cell. This effect is called disturbing noise. As another example, charge can leak from the cell over time. As a result of this aging effect, the cell threshold voltage may drift over time from the originally written value.

通例妨害ノイズと呼ばれている、別のタイプの歪みはアレイの或るセルにおける読み取り、書き込み、または消去に起因し、これは他のセルの意図しないプログラミングまたは消去を引き起こす。さらに別のサンプルとして、特定のセルのソース・ドレイン電流は、バックパターン従属性と呼ばれている効果によって、隣接セル、例えば、同じNANDセルストリングの他のセルの変化の影響を受け得る。   Another type of distortion, commonly referred to as disturbing noise, results from reading, writing, or erasing in one cell of the array, which causes unintentional programming or erasing of other cells. As yet another example, the source-drain current of a particular cell can be affected by changes in adjacent cells, eg, other cells in the same NAND cell string, due to an effect called back pattern dependency.

図3は、本発明の実施形態に従って、メモリ・セル・アレイ28の電圧分布を示すグラフである。図3はメモリ・セル・アレイから値を読み取る精度に与える歪みの影響を示すために使用されている。図3の例では、各セル32は4つの名目電圧レベルを用いて2ビットの情報を格納している。グラフ92A...92Dは、各セルがプログラムされる時に、全アレイにわたる電圧分布を示す。グラフ92Aは「11」ビット値を格納しているセルにおける電圧の分布を示す。グラフ92B、92C、および92Dは「01」、「00」、および「10」ビット値をそれぞれ格納しているセルにおける電圧分布を示す。   FIG. 3 is a graph illustrating the voltage distribution of memory cell array 28 in accordance with an embodiment of the present invention. FIG. 3 is used to illustrate the effect of distortion on the accuracy of reading values from the memory cell array. In the example of FIG. 3, each cell 32 stores 2 bits of information using four nominal voltage levels. Graph 92A. . . 92D shows the voltage distribution across the entire array as each cell is programmed. Graph 92A shows the voltage distribution in the cell storing the “11” bit value. Graphs 92B, 92C, and 92D show the voltage distributions in the cells storing “01”, “00”, and “10” bit values, respectively.

本例では、セル32の閾値電圧は3ビット変換を用いて読み取られる。従って、閾値電圧の範囲は8つの決定ゾーン96A...96Hに分割される。各セルのデータ内容は、セルから読み取られた閾値レベルが収まる決定ゾーンに基づいて決定される。例えば、決定ゾーン96Fに収まる、特定のセルから読み取られた電圧レベル98はセルのデータ内容が「00」であること示す。決定ゾーン96Eに収まる電圧レベルはまた「11」のデータ内容を示すとして解釈されることに留意する必要がある。4つの決定ゾーンは4つの可能なビット組み合わせを復号するのに通常十分であるけれども、8つの決定ゾーンを用いることはより良い分解能を与え、歪み推定および復号性能を改善する。   In this example, the threshold voltage of the cell 32 is read using 3-bit conversion. Accordingly, the threshold voltage range is divided into eight decision zones 96A. . . Divided into 96H. The data content of each cell is determined based on the determination zone where the threshold level read from the cell falls. For example, a voltage level 98 read from a particular cell that falls within decision zone 96F indicates that the data content of the cell is “00”. It should be noted that voltage levels falling within decision zone 96E are also interpreted as indicating a data content of “11”. Although four decision zones are usually sufficient to decode the four possible bit combinations, using eight decision zones gives better resolution and improves distortion estimation and decoding performance.

さまざまな歪み機構の結果として、閾値電圧の分布は変化する可能性がある。例えば、閾値電圧はエージングに因って時間とともにドリフトする可能性がある。グラフ100A...100Dは、電圧が時間とともにシフトした後の「11」、「01」、「00」、および「10」のデータ内容を有するセルの分布をそれぞれ示している。   As a result of various distortion mechanisms, the threshold voltage distribution can change. For example, the threshold voltage can drift over time due to aging. Graph 100A. . . 100D shows the distribution of cells having data contents of “11”, “01”, “00”, and “10”, respectively, after the voltage is shifted with time.

具体的に言えば、電圧レベル98は歪みに因ってシフトされたレベル104に変化した。図で分かるように、電圧レベル104は、もともと意図したように、決定ゾーン96Fではなく、ゾーン96Eに収まる。本例では、8つの決定ゾーンによって与えられる分解能の向上に因って、偏りは決定誤りを必ずしも引き起こさない。しかしながら、一般に、歪みはセルのデータ内容の読み取り誤りを引き起こす可能性がある。   Specifically, voltage level 98 changed to level 104 shifted due to distortion. As can be seen, voltage level 104 falls within zone 96E, rather than decision zone 96F, as originally intended. In this example, the bias does not necessarily cause a decision error due to the improved resolution provided by the eight decision zones. However, in general, distortion can cause reading errors in the cell data contents.

歪み概算によりアシストされるECC符号化
装置20は、ECCを用いてセルに格納したデータを符号化することによって、セル32のデータ内容について誤った決定を行う可能性を減らす。本例では、符号化器/復号器64は各ページのデータを別々に符号化する。代替実施形態では、データはその他の適切なサイズを有するブロックで符号化され得る。例えば、各ページはいくつかのセクタに分割されることが可能であり、符号化器/復号器64は各セクタのデータを別々に符号化する。あるいは、データは複数のページにわたって符号化され得る。
ECC encoding assisted by distortion estimation The device 20 encodes the data stored in the cell using ECC, thereby reducing the possibility of making erroneous decisions about the data content of the cell 32. In this example, the encoder / decoder 64 encodes each page of data separately. In alternative embodiments, the data may be encoded with blocks having other suitable sizes. For example, each page can be divided into several sectors, and the encoder / decoder 64 encodes the data for each sector separately. Alternatively, the data can be encoded across multiple pages.

当技術分野で周知のさまざまな種類の誤り訂正記号はデータを符号化するために使用され得る。ECCは、例えば、データの固定サイズのブロックを別々に符号化するブロックコードを含むとよい。例示的なブロックコードはボーズ・チャウドーリー・ホッホクエンゲム(BCH)コードまたはリード-ソロモン(RS)コードを含むとよい。ブロックコードの特別なクラスは反復復号プロセスに適しているコードのクラスである。反復プロセスを用いて通常復号されるコードは、例えば、低密度奇偶検査(LDPC)コード、ターボ-コード、およびターボ・プロダクト・コード(TPC)を含む。他の種類のコードは重畳コードおよびトレリス符号化変調(TCM)コードを含むとよい。さらなる代替として、コードは既知のビットインターリブド符号化変調(BICM)コードを含むとよく、これは従来のコード、ビットインタリーバ、およびグレイマッパーを通常含む。   Various types of error correction symbols known in the art can be used to encode the data. The ECC may include, for example, a block code that separately encodes a fixed-size block of data. Exemplary block codes may include a Bose, Chowdry, Hochkengem (BCH) code or a Reed-Solomon (RS) code. A special class of block codes is a class of codes that are suitable for the iterative decoding process. Codes that are normally decoded using an iterative process include, for example, low density odd-even (LDPC) codes, turbo-codes, and turbo product codes (TPC). Other types of codes may include superposition codes and trellis coded modulation (TCM) codes. As a further alternative, the code may include a known bit interleaved coded modulation (BICM) code, which typically includes a conventional code, a bit interleaver, and a gray mapper.

ECCプロセスは、フィードバック符号化プログラミングプロセス、例えば、前掲の米国仮特許願第60/863810号に記載されているプロセスを代替として含むとよい。場合によっては、2つのコードは連結コードを形成するために内部および外部コードとして順次に使用され得る。   The ECC process may alternatively include a feedback encoding programming process, such as the process described in the above-mentioned US Provisional Patent Application No. 60 / 863,810. In some cases, the two codes can be used sequentially as inner and outer codes to form a concatenated code.

符号化器/復号器64によって用いられるECCは読み取りデータにわたって規定されるメトリクスで動作する。もし或る電圧レベルが読み取られたならば、ECCメトリクスは特定の情報ビット(またはリード-ソロモンコードおよびトレリスコードの場合のように、記号)が符号化された統計的可能性に関する情報を提供するとよい。ECCメトリクスは、電圧分布92A...92Dの中心および分散のようなパラメタに基づいているとよい。   The ECC used by the encoder / decoder 64 operates on metrics defined over the read data. If a voltage level is read, the ECC metrics provide information about the statistical likelihood that a particular information bit (or symbol, as in the case of Reed-Solomon code and trellis code) is encoded. Good. ECC metrics are based on voltage distribution 92A. . . It may be based on parameters such as 92D center and variance.

通常、MSP52は電圧分布のパラメタを推定し、推定パラメタを用いて、ビットまたは記号可能性を計算する。さらに、MSPはセルの状態に関する情報を保管または受け取り、この情報を用いて、セルの電圧分布の特性を評価し、それに応じてECCメトリクスを変更する。例えば、MSPは、セルが受けたプログラムおよび消去サイクルの数、ならびにそれらがどのくらい前にプログラムされたかを追跡するとよい。これらのパラメタは、セルがプログラムされて以来それが被った漏洩ノイズのレベルを示している。   Typically, the MSP 52 estimates voltage distribution parameters and uses the estimated parameters to calculate bit or symbol likelihood. In addition, the MSP stores or receives information about the state of the cell and uses this information to evaluate the characteristics of the voltage distribution of the cell and change the ECC metrics accordingly. For example, the MSP may keep track of the number of program and erase cycles received by the cell and how long they were programmed. These parameters indicate the level of leakage noise that it has suffered since the cell was programmed.

いくつかの実施形態では、ECCメトリクスは尤度比(LR)または対数尤度比(LLR)を含むとよく、これらは次のように定義される。   In some embodiments, the ECC metrics may include a likelihood ratio (LR) or a log likelihood ratio (LLR), which are defined as follows:

Figure 0004999921
Figure 0004999921

Figure 0004999921
ここで、Xは特定のメモリセルに格納された1つ以上のビットの特定のデータビットを示し、rはセルから読取られた電圧レベルを示す。あるいは、ECCメトリクスは、メモリセルから読み取られる電圧レベルにわたって規定されたその他のメトリックを含むとよく、これはECC復号プロセスを支援する。
Figure 0004999921
Here, X i indicates a specific data bit of one or more bits stored in a specific memory cell, and r indicates a voltage level read from the cell. Alternatively, the ECC metrics may include other metrics defined over the voltage level read from the memory cell, which aids the ECC decoding process.

他の種類のECCメトリクスは、付加白色ガウス・ノイズ・シナリオでよく用いられる2乗誤差LLR、ならびにビタビ復号器、TCMコード、およびBICMコードでよく用いられる平均2乗誤差推定を含むとよい。   Other types of ECC metrics may include the square error LLR commonly used in additive white Gaussian noise scenarios and the mean square error estimate often used in Viterbi decoders, TCM codes, and BICM codes.

いくつかの実施形態では、ECCメトリックは復号ビットの相対的信頼度を示すとよい。例えば、ビットは読み取り閾値レベルの分布の中心からの距離に基づいて「誤った疑いがある」、「正常」、または「安全」に分類され得る。読み取り電圧が決定ゾーンの縁に近い場合に、関連ビットは「誤った疑いがある」と分類される。電圧が十分決定ゾーン内にある場合に、関連ビットは「安全」と分類される。さもなければ、ビットは「正常」と分類される。かかるECCメトリクスは、例えば、ブロック・コード・ソフト復号器によって使用され得る。   In some embodiments, the ECC metric may indicate the relative reliability of the decoded bits. For example, a bit may be classified as “suspected false”, “normal”, or “safe” based on the distance from the center of the reading threshold level distribution. If the read voltage is close to the edge of the decision zone, the associated bit is classified as “suspected false”. An associated bit is classified as “safe” if the voltage is well within the decision zone. Otherwise, the bit is classified as “normal”. Such ECC metrics can be used, for example, by a block code soft decoder.

信号処理ユニット60はメモリセル32から読み取られた電圧に含まれる歪みを推定し、推定歪みに基づいてECCメトリクスを計算する。推定歪みに基づくECCメトリクスを用いることにより、それはより小さい歪みを有する値をより重要視するので、符号化器/復号器64によって実行されるECC復号プロセスの性能は著しく改善され、逆の場合も同じである。   The signal processing unit 60 estimates distortion included in the voltage read from the memory cell 32 and calculates ECC metrics based on the estimated distortion. By using ECC metrics based on the estimated distortion, the performance of the ECC decoding process performed by the encoder / decoder 64 is significantly improved and vice versa because it places more importance on values with smaller distortions. The same.

図3の例を参照すると、そしてp(X=0)=p(X=1)=0.5と仮定すると、式[2]は次式になる。 Referring to the example of FIG. 3 and assuming that p (X i = 0) = p (X i = 1) = 0.5, equation [2] becomes:

Figure 0004999921
ここで、Sは決定ゾーン96A...96Hを示し、S|X=0は、ビットXが「0」に等しいセルにプログラムされる値のサブセットを示し、そしてS|X=1は、ビットXが「1」に等しいプログラムされた値のサブセットを示す。
Figure 0004999921
Here, S is a decision zone 96A. . . 96, where S | X i = 0 indicates a subset of values programmed into the cell where bit X i is equal to “0”, and S | X i = 1 indicates that bit X i is equal to “1” Indicates a subset of programmed values.

仮にTは読み取り電圧rに最も近いX=0に対する値を示すとし、そしてTは読み取り電圧rに最も近いX=1に対する値を示す。ほとんどの実際的事例では、式[3]の和は各和の最大項によって近似されることが可能であり、最大項は通常TおよびTを含む項である。また、rの電圧分布は分散σを有するガウス分布であると仮定して、式[3]は次式によって近似され得る。 Let T 0 denote the value for X i = 0 closest to the read voltage r, and T 1 denote the value for X i = 1 closest to the read voltage r. In most practical cases, the sum of equation [3] can be approximated by the maximum term of each sum, and the maximum term is usually the term containing T 0 and T 1 . Also, assuming that the voltage distribution of r is a Gaussian distribution with variance σ 2 , Equation [3] can be approximated by:

Figure 0004999921
rは特定の決定ゾーン内の値を表わし、符号[V、V]で示されるので、式[4]は次式のようにより正確に書くことができる。
Figure 0004999921
Since r represents a value within a specific decision zone and is denoted by the sign [V a , V b ], equation [4] can be written more accurately as:

Figure 0004999921
ここで、Q()はガウス相補累積分布関数(CDF)を示す。本例では、ユニット60はV、V、T、Tおよびσに基づいてLLRを計算する。
Figure 0004999921
Here, Q () represents a Gaussian complementary cumulative distribution function (CDF). In this example, unit 60 calculates LLR based on V a , V b , T 0 , T 1 and σ.

いくつかの実施形態では、MSPによって評価されるECCメトリクスは、ECCメトリクスの精度および性能を改善するために、MSPが利用できる追加セルパラメタを考慮に入れるとよい。かかる追加情報はセルの予想歪みレベルを示す任意のパラメタ、例えば、隣接セルに書き込まれた値、隣接セルの推定相互結合係数、セルが受けたプログラムおよび消去サイクルの数、前のプログラムおよび消去サイクル以後に経過した期間、セルで検出された前の復号誤り、セルが接続される語線および/またはビット線の識別、供給電圧(VCC)および温度のような環境パラメタ、および/またはその他の適切なパラメタを含むとよい。例えば、上式[3]の条件付き確率は追加セルパラメタを考慮に入れる条件付き確率で置き換えられ得る。 In some embodiments, the ECC metrics evaluated by the MSP may take into account additional cell parameters available to the MSP to improve the accuracy and performance of the ECC metrics. Such additional information may be any parameter indicating the expected distortion level of the cell, such as the value written to the neighboring cell, the estimated mutual coupling coefficient of the neighboring cell, the number of program and erase cycles received by the cell, the previous program and erase cycle Subsequent periods, previous decoding errors detected in the cell, identification of the word line and / or bit line to which the cell is connected, environmental parameters such as supply voltage (V CC ) and temperature, and / or other Appropriate parameters should be included. For example, the conditional probability in equation [3] can be replaced with a conditional probability that takes into account additional cell parameters.

いくつかの実際的事例では、隣接セルからの相互結合妨害のレベルは隣接セルに蓄積した電圧(または電荷)ばかりでなく、妨害されたセルの電圧レベル(または電荷レベル)にも依存する。従って、いくつかの実施形態では、MSPは妨害するセルおよび妨害されたセルの電圧(または電荷)レベルにわたって規定した機能を評価することによってECCメトリクスを計算する。   In some practical cases, the level of mutual coupling interference from neighboring cells depends not only on the voltage (or charge) stored in the neighboring cell, but also on the voltage level (or charge level) of the disturbed cell. Thus, in some embodiments, the MSP calculates ECC metrics by evaluating the function defined over the disturbing cell and the voltage (or charge) level of the disturbed cell.

相互結合係数の値を推定する段階のいくつかの態様が「メモリ素子における歪み推定および取消し」という発明の名称の2007年5月10日に提出のPCT出願に記載されており、この開示は参照して本明細書に盛り込まれる。   Several aspects of estimating the value of the mutual coupling coefficient are described in a PCT application filed on May 10, 2007 entitled “Distortion Estimation and Cancellation in Memory Elements”, the disclosure of which is hereby incorporated by reference And incorporated herein.

場合によっては、メモリ・セル・アレイをセルのグループに分割することが可能であり、これにより相互結合妨害は各グループに限定され、いろいろなグループは互いから分離される。極端な例がNROM素子で起こり、ここでは各セルは2つの値をセルの2つの電荷領域に格納する。セルとセルの分離が十分に高い場合に、相互結合は各セルの2つの値の間にだけ起こると見なすことができる。   In some cases, it is possible to divide the memory cell array into groups of cells, so that mutual coupling interference is limited to each group, and the various groups are isolated from each other. An extreme example occurs with NROM devices, where each cell stores two values in two charge regions of the cell. If cell-to-cell separation is high enough, it can be assumed that mutual coupling only occurs between the two values of each cell.

かかる場合に、特定のセルグループにおけるセル間の相互結合係数は相互結合行列で構成されることが可能であり、ECCメトリクスを相互結合行列を用いて計算することができる。   In such a case, the mutual coupling coefficient between cells in a specific cell group can be composed of a mutual coupling matrix, and ECC metrics can be calculated using the mutual coupling matrix.

仮に=[x...x]はk個の相互に妨害するセルのグループに書き込まれたk個の値を示すとする。仮に=[y...y]はセルから読み取られたk個の値を示すとする。場合によっては、例えば、セルがグループ内のすべてのセルに同時に適用されるプログラムおよび検査(P&V)プロセスを用いて書き込まれる場合、セルがプログラムされる時にである。ベクトルはいろいろな歪み機構、例えばエージングに因って経時変化する。後の時点におけるベクトルの値は次式のように書き込まれ得る。 Let x = [x 1 x 2 ... X k ] denote k values written in a group of k interfering cells. Let y = [y 1 y 2 ... Y k ] denote k values read from the cell. In some cases, for example, if a cell is written using a program and verify (P & V) process that is applied to all cells in the group simultaneously, x = y when the cell is programmed. The vector y changes over time due to various distortion mechanisms, such as aging. The value of vector y at a later time can be written as:

Figure 0004999921
ここで、はエージングに因るk個の電圧の関連電圧変化のベクトルを示し、はランダム・エージング・ノイズ構成要素のベクトルを示す。k個のランダム構成要素は分散σを有するガウス分布を有すると仮定される。Hは次式のように規定される相互結合行列である。
Figure 0004999921
Here, m represents a vector of related voltage changes of k voltages due to aging, and represents a vector of random aging noise components. The k random components are assumed to have a Gaussian distribution with variance σ 2 . H is an interconnection matrix defined by the following equation.

Figure 0004999921
ここで、αijはグループ内のセルjからセルiまでの相互結合係数を示す。k=2の場合、例えばNROMの場合、
Figure 0004999921
Here, α ij represents a mutual coupling coefficient from cell j to cell i in the group. When k = 2, for example, in the case of NROM,

Figure 0004999921
そのk個の構成要素は相関性があるので、上式[6]の項Hはホワイトではない。上式[6]の両辺にHの逆数を乗じて次式を得る。
Figure 0004999921
Since the k components are correlated, the term H n in the above equation [6] is not white. The following equation is obtained by multiplying both sides of the above equation [6] by the reciprocal of H.

Figure 0004999921
ここで、項(H−1 )は決定性であり(そして、書き込まれたレベルは既知であると仮定すれば、既知であり)、はランダムかつホワイトである。
MSP52は係数αijを推定することによってH−1を計算する。次にMSPは次式を最小にするの値を決定することによってデータを復号することができる。
Figure 0004999921
Here, the term (H −1 x + m ) is deterministic (and is known, assuming the level written is known), and n is random and white.
The MSP 52 calculates H −1 by estimating the coefficient α ij . The MSP can then decode the data by determining the value of x that minimizes

Figure 0004999921
ここで、‖‖はユークリッドノルムを示す。
Figure 0004999921
Here, ‖‖ indicates the Euclidean norm.

例えば、ハード決定ECC復号器を用いる場合、MSPは、上式[9]を最小にする値のセットを決定するために、のいろいろの可能なデータ値の組み合わせを通じて走査または探索することができる。任意の適切な探索プロセスをこのために使用することができる。例えば、MSPは、非特許文献7(これは参照して本明細書に盛り込まれる)に記載の方法のような球復号方法を使用することができる。あるいは、V-BLAST近似復号方法も、当技術分野で周知のように、使用することができる。 For example, when using a hard-decision ECC decoder, the MSP can scan or search through various possible data value combinations of x to determine the set of values that minimizes [9] above. . Any suitable search process can be used for this purpose. For example, MSP can use a sphere decoding method such as the method described in Non-Patent Document 7 (which is incorporated herein by reference). Alternatively, V-BLAST approximate decoding methods can also be used as is well known in the art.

ソフト決定ECC復号器を用いる場合、例えばBICMを用いる場合、MSPは通常各データビットのLLRを探索プロセス中に計算する。例えば、MSPは問題のデータビットが「1」に設定されるすべての値について上式[9]の最小値を計算し、この結果から問題のデータビットが「0」に設定されるすべての値について式[9]の最小値を差し引くことができる。次に結果として生じるLLRはソフトECC復号器によってメトリクスとして使用され得る。あるいは、は、におけるハード決定に基づいて、変化の名目平均値を用いることによって近似され得る。次に、式−H・は上式[4]または[5]におけるLLR計算への入力として使用され得る。 When using a soft-decision ECC decoder, for example when using BICM, the MSP typically calculates the LLR for each data bit during the search process. For example, the MSP calculates the minimum value of equation [9] for all x values for which the data bit in question is set to “1”, and from this, all values for which the data bit in question is set to “0” are calculated. The minimum value of equation [9] can be subtracted from the x value. The resulting LLR can then be used as a metric by the soft ECC decoder. Alternatively, m can be approximated by using the nominal average value of change based on a hard decision in y . The equation y −H · m can then be used as an input to the LLR calculation in equation [4] or [5] above.

通常、上式[9]はECC復号器によってECCメトリックとして使用され得る。例えば、ECCがTCM方式を含み、かつECC復号器がビタビ復号器を備える場合に、復号器は上式[9]をグループ内のk個のセルに対応する値のグループのメトリックとして使用することができる。   In general, equation [9] can be used as an ECC metric by an ECC decoder. For example, when the ECC includes a TCM scheme and the ECC decoder includes a Viterbi decoder, the decoder uses the above equation [9] as a metric for a group of values corresponding to k cells in the group. Can do.

図4は、本発明の実施形態に従って、データをメモリ・セル・アレイ28から検索するプロセスを図式的に示す機能ブロック図である。データをメモリ素子24から読み取る場合に、R/Wユニット40はアレイ28のメモリセル32から読込まれた電圧レベルに基づいてデジタル化サンプルを生成する。サンプルはデータバッファ72に格納される。   FIG. 4 is a functional block diagram that schematically illustrates a process for retrieving data from memory cell array 28, in accordance with an embodiment of the present invention. When reading data from the memory element 24, the R / W unit 40 generates digitized samples based on the voltage level read from the memory cells 32 of the array 28. Samples are stored in the data buffer 72.

本特許出願の文脈の中で、かつ特許請求の範囲で、「読み取りデータ」、「サンプリング電圧」、および「読み取り電圧」のような用語は、メモリセルに格納したアナログ電圧をデジタルサンプルに明示的に変換することか、あるいはかかるサンプルをインターフェースを通じて受け取ることを意味する。例えば、上図1に示すような2チップ構成を用いる場合、これらの用語は外部比較器またはA/D変換器によって生成したサンプルをMSPによって受け取ることを指すことができる。   Within the context of this patent application, and in the claims, terms such as “read data”, “sampling voltage”, and “read voltage” explicitly refer to analog voltages stored in memory cells as digital samples. Or to receive such samples through the interface. For example, when using a two-chip configuration as shown in FIG. 1 above, these terms can refer to receiving samples generated by an external comparator or A / D converter by the MSP.

目標サンプル(すなわち、そのデータがホストによって要求されるメモリセルのサンプル)は信号処理ユニット60のメトリック計算モジュール108に提供される。メトリック計算モジュールは目標サンプルのECCメトリクスを計算する。   The target sample (ie, the sample of the memory cell whose data is requested by the host) is provided to the metric calculation module 108 of the signal processing unit 60. The metric calculation module calculates the ECC metrics for the target sample.

目標サンプルも、潜在的に目標セルを歪ませる可能性がある他のセルのサンプルも信号処理ユニット60の歪み推定モジュール112に提供される。モジュール112は目標セルおよび潜在的に妨害するセルのサンプルに基づいて目標セルに起因する歪みを推定する。モジュール112は歪みを推定するためにさまざまな方法を実行するとよい。例示的な推定方法を以下にさらに説明する。   The target samples as well as samples from other cells that could potentially distort the target cell are provided to the distortion estimation module 112 of the signal processing unit 60. Module 112 estimates the distortion due to the target cell based on samples of the target cell and potentially disturbing cells. Module 112 may perform various methods to estimate the distortion. An exemplary estimation method is further described below.

モジュール112は、問題の歪み機構のタイプおよび用いる推定方法に基づいて、潜在的に妨害するセルのいろいろな数およびタイプを考察するとよい。例えば、いくつかの実施形態では、モジュール112はアレイ内の各セルからその8つの隣りのセルへの相互結合妨害を推定する。これらの実施形態では、通常モジュール112は復号されるページ(行)も前と後のページも処理する。この場合のデータバッファは数ページのサイズであり得る。   Module 112 may consider various numbers and types of potentially disturbing cells based on the type of distortion mechanism in question and the estimation method used. For example, in some embodiments, module 112 estimates the mutual coupling interference from each cell in the array to its eight neighboring cells. In these embodiments, the normal module 112 processes both the page (row) to be decoded and the previous and subsequent pages. The data buffer in this case can be several pages in size.

代替実施形態では、モジュール112は或るセルの左隣りおよび右隣りのセルだけに由来する歪みを考察するとよい。これらの実施形態では、データバッファはより小さく、約単一ページであるとよい。   In an alternative embodiment, module 112 may consider distortions that originate only from the left and right neighbors of a cell. In these embodiments, the data buffer is smaller and may be about a single page.

いくつかの実施形態では、モジュール112は目標セルから離れたページ中のセルに起因する歪みを推定する。例えば、バック・パターン・ノイズは離れたページ以外の目標セルと同じ列のセルに起因する可能性がある。これらの実施形態では、かかる離れたセルの内容、またはこのセルに関する他の情報はモジュール112に提供されるとよい。   In some embodiments, module 112 estimates distortion due to cells in a page away from the target cell. For example, back pattern noise can be attributed to cells in the same column as target cells other than remote pages. In these embodiments, the contents of such remote cells, or other information about this cell, may be provided to module 112.

場合によっては、潜在的に妨害するセルから読み取られたサンプルは格納され、より粗い量子化で、すなわち目標セルのサンプルの量子化と比べてより小さいビット数で処理され得る。減らされた量子化はデータバッファのサイズおよびモジュール112の複雑さを減らすことができる。   In some cases, samples read from potentially disturbing cells can be stored and processed with a coarser quantization, i.e., with a smaller number of bits compared to the quantization of the samples in the target cell. Reduced quantization can reduce the size of the data buffer and the complexity of the module 112.

歪み推定モジュール112は推定歪みをメトリック計算モジュール108に提供する。メトリック計算モジュールは推定歪みに基づいてECCメトリクスを計算し、メトリクスを符号化器/復号器64に提供する。ECC符号化器/復号器は目標メモリセルに格納したデータを復元するためにメトリクスを用いてECCを復号する。   The distortion estimation module 112 provides the estimated distortion to the metric calculation module 108. The metric calculation module calculates ECC metrics based on the estimated distortion and provides the metrics to the encoder / decoder 64. The ECC encoder / decoder decodes the ECC using metrics to restore the data stored in the target memory cell.

いくつかの実施形態では、メトリック計算モジュール108は目標セルから読み取られたサンプル値について、かつ決定閾値について機能を規定する。この機能は、歪み推定がモジュール112によって提供されると仮定されると、ECC復号プロセスの誤り確率を小さくするために決定閾値に関してサンプル値を変更する。例えば、図3を参照すると、モジュール108によって評価される機能は曲線100A...100Dを曲線92A...92Dにそれぞれマップするように、電圧軸をほとんど包む。機能がその後の目標サンプルで動作する場合に、ビット決定はシフトされた分布100A...100Dに基づいて行われる。   In some embodiments, the metric calculation module 108 defines functionality for sample values read from the target cell and for decision thresholds. This function changes the sample value with respect to the decision threshold to reduce the error probability of the ECC decoding process, assuming that distortion estimation is provided by module 112. For example, referring to FIG. 3, the function evaluated by module 108 is the curve 100A. . . 100D with curve 92A. . . It almost wraps around the voltage axis so that it maps to 92D respectively. If the function operates on a subsequent target sample, the bit decision is made with the shifted distribution 100A. . . Performed based on 100D.

場合によっては、ECC復号プロセスからのフィードバック(例えば、復号成功または失敗)は歪み推定およびメトリック計算プロセスをさらに改善するために使用され得る。かかるフィードバックを使用するデータ検索方法を以下に図5で説明する。   In some cases, feedback from the ECC decoding process (eg, decoding success or failure) can be used to further improve the distortion estimation and metric calculation process. A data retrieval method using such feedback will be described below with reference to FIG.

ECC復号器はセルのシーケンスについて考察し、結合決定を行うとよい。例えば、復号器は、このために、当技術分野で周知である、さまざまな最尤シーケンス推定(MLSE)技法を適用するとよい。   The ECC decoder may consider the sequence of cells and make a joint decision. For example, the decoder may apply various maximum likelihood sequence estimation (MLSE) techniques for this purpose, which are well known in the art.

ECC符号化フィードバックを用いる反復歪み概算
図5は、本発明の別の実施形態に従って、データをメモリ・セル・アレイ28から検索する方法を図式的に示す流れ図である。方法の段階128〜140は上図4のプロセスに類似しているプロセスを表わしている。続く段階144〜156はECC復号プロセスからのフィードバックに基づいて復号プロセスの反復適合を実行する。
Iterative Distortion Estimation Using ECC Encoded Feedback FIG. 5 is a flow diagram that schematically illustrates a method for retrieving data from memory cell array 28, in accordance with another embodiment of the present invention. Method steps 128-140 represent a process similar to that of FIG. Subsequent stages 144-156 perform an iterative adaptation of the decoding process based on feedback from the ECC decoding process.

方法は、読み取り段階128で、アレイ28の所望目標セルの電圧および潜在的に妨害するセルからの電圧を読み取るR/Wユニット40で始まる。歪み推定段階132で、信号処理ユニット60は読み取り電圧に含まれる歪みを推定する。メトリック計算段階136で、ユニット60はECCメトリクスを計算する。ユニット60は任意のECCメトリックおよび任意の歪み推定方法、例えば本明細書に記載の方法などを使用することができる。復号段階140で、ECC符号化器/復号器64はECCを復号し、格納データを復元する。   The method begins at read stage 128 with an R / W unit 40 that reads the voltage of the desired target cell of array 28 and the voltage from potentially disturbing cells. In the distortion estimation stage 132, the signal processing unit 60 estimates the distortion included in the read voltage. In the metric calculation stage 136, the unit 60 calculates ECC metrics. Unit 60 may use any ECC metric and any distortion estimation method, such as the method described herein. At the decoding stage 140, the ECC encoder / decoder 64 decodes the ECC and restores the stored data.

ECC符号化器/復号器64は、ページがうまく復号されたかどうか、すなわち復号ページが誤りを含むかどうかをユニット60(またはコントローラ76)に通知する。成功検査段階144で検査すると、復号が成功した場合は、成功した終了段階148として、方法は成功裏に終了する。ユニット60は復号ページが誤りを含むかどうかを確認するためにいろいろな方法を使用するとよい。例えば、ユニット60は復号器出力が有効なコードワードであるかどうかを検査するとよい。あるいは、1つ以上の検査合計ビット、例えば周期的冗長検査(CRC)はデータと共に格納されるとよい。ユニット60は復号データについてCRCを計算し、それを格納CRC値と比較することができる。さらなる代替として、ユニット60は復号データの信頼性メトリックを計算し、それを所定閾値と比較するとよい。   The ECC encoder / decoder 64 informs the unit 60 (or controller 76) whether the page has been successfully decoded, ie whether the decoded page contains errors. When checked in the success check stage 144, if the decryption is successful, the method ends successfully as a successful end stage 148. Unit 60 may use various methods to determine if the decoded page contains errors. For example, unit 60 may check whether the decoder output is a valid codeword. Alternatively, one or more checksum bits, such as cyclic redundancy check (CRC), may be stored with the data. Unit 60 may calculate a CRC for the decoded data and compare it to the stored CRC value. As a further alternative, unit 60 may calculate a reliability metric for the decoded data and compare it to a predetermined threshold.

本例では、或る最大数のフィードバック反復だけが、エンドレスループ、手詰まり状態を回避するために許容されている。従って、ECC復号器からのフィードバックが復号ページは誤りを含むことを示す場合に、反復検査段階152で、ユニット60(またはコントローラ76)は最大数の反復が既に実行されたかどうかを検査する。最大数の反復が既に行い尽くされた場合は、誤り終了段階160で、方法はデータをうまく復号せずに終了する。   In this example, only a certain maximum number of feedback iterations are allowed to avoid endless loops, clogging conditions. Thus, if feedback from the ECC decoder indicates that the decoded page contains errors, at iteration check stage 152, unit 60 (or controller 76) checks whether the maximum number of iterations has already been performed. If the maximum number of iterations has already been exhausted, at error termination stage 160, the method ends without successfully decoding the data.

さもなければ、フィードバック適合段階156で、ECC復号器は復号プロセスを適合させる。例えば、ECC復号器は最小誤り確率を生じたLLR値に印を付けることができる。次にユニット60はこの情報を用いて、最小誤り確率を有する目標サンプルに印を付ける。代替として、復号器は低い信頼レベルを有するビットに「消去個所」として印を付け、復号プロセス結果によって消去マークを更新するとよい。さらなる代替として、ECC復号器フィードバックを用いて復号プロセスを調整または更新するその他の技術も使用することができる。次に方法は上の歪み推定段階132にループバックし、ユニット60は与えられたフィードバックに基づいて歪みを再推定する。   Otherwise, in the feedback adaptation stage 156, the ECC decoder adapts the decoding process. For example, the ECC decoder can mark the LLR value that produced the minimum error probability. Unit 60 then uses this information to mark the target sample with the lowest error probability. Alternatively, the decoder may mark the bits with a low confidence level as “erase points” and update the erasure mark with the result of the decoding process. As a further alternative, other techniques that use ECC decoder feedback to adjust or update the decoding process can also be used. The method then loops back to the upper distortion estimation stage 132, where unit 60 re-estimates the distortion based on the provided feedback.

MSP52は、上の復号段階140でデータを復号する場合に、電圧閾値の或るセットを使用する。いくつかの実施形態では、誤りが上の成功検査段階144で検出される場合に、ユニット60は復号性能を改善するために閾値を調整することによって復号プロセスを変更する。ユニット60は閾値を調整する任意の適切な方法を使用するとよい。例えば、ユニット60は勾配検索を実行するとよく、そこでは閾値は、誤り性能が向上するか、または低下するかどうかに応じて増減する。あるいは、閾値は必要な読み取り動作の数を最小にするように調整され得る。決定閾値を調整するために使用され得る、さらなる閾値適合方法は前掲の米国仮特許願第60/894290号に記載されている。   The MSP 52 uses a certain set of voltage thresholds when decoding data in the decoding stage 140 above. In some embodiments, if an error is detected in the success check stage 144 above, unit 60 changes the decoding process by adjusting the threshold to improve decoding performance. Unit 60 may use any suitable method of adjusting the threshold. For example, unit 60 may perform a gradient search, where the threshold is increased or decreased depending on whether error performance improves or decreases. Alternatively, the threshold can be adjusted to minimize the number of required read operations. Additional threshold adaptation methods that can be used to adjust the decision threshold are described in the above-mentioned US Provisional Patent Application No. 60/894290.

場合によっては決定閾値を調整する段階がセル電圧を再読み取る段階を含むことに留意する必要がある。例えば、セル閾値電圧が上述のようにいろいろな電圧を語線に印加することによって読み取られる場合に、セルは変更された決定閾値を用いて再読み取られる。セルが高分解能ADCを用いて読み取られる場合に、セルの再読み取りは通常必要ではない。   It should be noted that in some cases adjusting the decision threshold includes rereading the cell voltage. For example, if the cell threshold voltage is read by applying various voltages to the word line as described above, the cell is reread using the changed decision threshold. If the cell is read using a high resolution ADC, cell re-reading is usually not necessary.

いくつかの実施形態では、ユニット60は各個別セルの歪み特性に適合させるために閾値をセルごとに選択することができる。可能な閾値は適応できる方法で予め決定または調整され得る。例えば、セルの或るグループは、符号TH1...TH3で示す閾値の3つの所定セットを用いて、3つの復号反復で読み取られると仮定する。本例では、次の表は3つの復号反復によって生じるビットシーケンスを表にして示している。   In some embodiments, unit 60 may select a threshold for each cell to match the distortion characteristics of each individual cell. Possible thresholds can be predetermined or adjusted in an adaptive manner. For example, a group of cells may have the code TH1. . . Assume that it is read in three decoding iterations using three predetermined sets of thresholds denoted TH3. In this example, the following table tabulates the bit sequence that results from the three decoding iterations.

Figure 0004999921
シーケンス中の各ビットについて、3つの閾値セットの1つは最も低い歪みレベルを生じた。各ビットの最良閾値セットは次の表によって与えられる。
Figure 0004999921
For each bit in the sequence, one of the three threshold sets yielded the lowest distortion level. The best threshold set for each bit is given by the following table.

Figure 0004999921
ユニット60は、シーケンス中の各ビットについて、最良閾値セットを用いた復号結果を選択する。このようにして、決定結果は次の表によって与えられる。
Figure 0004999921
Unit 60 selects a decoding result using the best threshold set for each bit in the sequence. In this way, the decision result is given by the following table.

Figure 0004999921
代替実施形態では、ユニット60はECC復号前に閾値をセルごとに選択する。これらの実施形態では、セルはECC復号に先立って複数の所定セットの閾値を用いて読み取られる。次に、各セルについて、閾値の最良セットがこのセルの推定歪みに従って使用される。最良閾値セットはECC復号器への入力を生成するために各セルに対して適用される。
Figure 0004999921
In an alternative embodiment, unit 60 selects a threshold for each cell before ECC decoding. In these embodiments, the cells are read using a plurality of predetermined sets of thresholds prior to ECC decoding. Next, for each cell, the best set of thresholds is used according to the estimated distortion of this cell. The best threshold set is applied to each cell to generate an input to the ECC decoder.

代替として、最良閾値を用いて復号された値を選択するために、ユニット60はいろいろな閾値を用いていろいろな反復で読み取られたデータ値を組み合わせることがよい。例えば、ユニット60はいろいろな反復で復号されたビット値について多数決を実行するとよい。   Alternatively, in order to select a value decoded using the best threshold, unit 60 may combine data values read at different iterations using different thresholds. For example, unit 60 may perform a majority vote on bit values decoded in various iterations.

さらなる代替として、ユニット60はいろいろな閾値を用いてセルから電圧を読み取り、ECCを復号する前にいろいろな反復からの読取り値を組み合わせることができる。言い換えれば、各セルについて、ユニット60はいろいろな閾値を用いてセル電圧を読み取り、複数の読み取り電圧に基づいてECC復号メトリクス(例えば、LLR)を生成することができる。次に、ECCはメトリクスを用いて復号される。いくつかの実施形態では、ECC復号が成功するまで、セルは反復していろいろな閾値を用いて読み取られる。各反復で、セルはいろいろな閾値を用いて読み取られる。復号メトリクスはいろいろな反復でセルから読み取られた電圧に基づいて計算または更新される。ECCが成功裏に復号されるまでプロセスは続く。   As a further alternative, unit 60 can read the voltage from the cell using different thresholds and combine the readings from different iterations before decoding the ECC. In other words, for each cell, unit 60 can read the cell voltage using various thresholds and generate ECC decoding metrics (eg, LLR) based on the multiple read voltages. The ECC is then decoded using the metrics. In some embodiments, the cells are iteratively read using various thresholds until ECC decoding is successful. At each iteration, the cell is read using various thresholds. Decoding metrics are calculated or updated based on the voltage read from the cell at various iterations. The process continues until the ECC is successfully decoded.

上の記述がセルをいろいろな閾値でセルごとに再び読み取ることに言及したけれども、単一セットの閾値をページ全体に使用することができる。   Although the above description refers to rereading cells cell by cell at various thresholds, a single set of thresholds can be used for the entire page.

いくつかの実施形態では、MSP52は高まる性能を有する2つ以上のいろいろな復号器を備える。より高性能の復号器は通常、より簡単な復号器に比べて、より高い複雑さを有し、より大きい電力を使い、そしてより大きい処理遅延を発生させる。最初に、MSPは最も複雑でない復号器を用いてページを復号し、復号誤りが検出されるときだけより高性能の復号器に戻る。この方法を用いて、高性能で複雑な復号器は必要なときだけ起動されるので、平均電力消費および処理遅延は小さくなる。   In some embodiments, the MSP 52 comprises two or more different decoders with increased performance. Higher performance decoders typically have higher complexity, use more power, and generate greater processing delay than simpler decoders. Initially, the MSP decodes the page using the least complex decoder and returns to a higher performance decoder only when a decoding error is detected. Using this method, high performance and complex decoders are activated only when needed, thus reducing average power consumption and processing delay.

例えば、MSPは最初どんなECC復号も無しにデータを復号するように試み、誤りが検出されるときECC復号器の使用に戻る。この技術は、例えば、MSPによって使用されるECCスキームがシステマティックコード、すなわち符号化されていない情報ビットを変更せずに別個の冗長ビットを追加するコードを備える場合に使用され得る。別の例として、より簡単な復号器はハードウェアで実施されるハード決定リード-ソロモン(RS)復号器を備えるとよく、この入力はメモリなしのセルごとの決定を含む。より高性能の復号器はソフト決定RS復号器を含むとよく、これはソフトウェアで実施され、セル電圧の高分解能サンプリングを使用する。   For example, the MSP first attempts to decode the data without any ECC decoding and returns to using the ECC decoder when an error is detected. This technique may be used, for example, if the ECC scheme used by the MSP comprises a systematic code, ie a code that adds separate redundant bits without changing unencoded information bits. As another example, a simpler decoder may comprise a hardware-implemented hard decision Reed-Solomon (RS) decoder, this input comprising a cell-by-cell decision without memory. A higher performance decoder may include a soft decision RS decoder, which is implemented in software and uses high resolution sampling of the cell voltage.

ECC復号器によって与えられたフィードバックに基づいて復号プロセスを変更する別の可能性は、電圧レベルが読み取られる分解能を変更することである。分解能は、例えば、成功した復号が達成されるまで、メモリセルから読み取られた電圧をデジタル化するために使用される閾値電圧を反復して変更することによって変更され得る。上で述べたように、いくつかの実施形態では潜在的に妨害するセルの電圧および妨害されたセルの電圧はいろいろな分解能で読み取られる。かかる場合に、潜在的に妨害するセル、妨害されたセル、または両方の読み取り分解能が適合され得る。   Another possibility to change the decoding process based on the feedback provided by the ECC decoder is to change the resolution at which the voltage level is read. The resolution can be changed, for example, by iteratively changing the threshold voltage used to digitize the voltage read from the memory cell until successful decoding is achieved. As noted above, in some embodiments, potentially disturbing cell voltages and disturbed cell voltages are read at various resolutions. In such cases, the reading resolution of potentially disturbing cells, disturbed cells, or both can be adapted.

好適な歪み概算方法
MSP52の信号処理ユニット60は、メモリセル32から読み取られた電圧に含まれる歪みを推定する任意の適切な方法を使用することができる。いくつかの例示的な方法が前掲の米国仮特許願第60/747106号および第60/885024号に記載されている。あるいは、その他の適切な歪み推定方法を使用することができる。
Suitable Distortion Approximation Method The signal processing unit 60 of the MSP 52 can use any suitable method for estimating the distortion contained in the voltage read from the memory cell 32. Several exemplary methods are described in the above-mentioned US Provisional Patent Applications 60/747106 and 60/885024. Alternatively, other suitable distortion estimation methods can be used.

図6は、本発明の実施形態に従って、メモリ・セル・アレイ28の歪みを推定する方法を図式的に示す流れ図である。以下に述べる方法は歪み推定モジュール112によって、例えば上図5の方法の歪み推定段階132で、使用され得る。この方法は、目標セルよりも前にプログラムされたセルに起因する歪みは、目標セルの後にプログラムされたセルに起因する歪みと異なる可能性があるという事実を使用する。   FIG. 6 is a flow diagram that schematically illustrates a method for estimating distortion of memory cell array 28, in accordance with an embodiment of the present invention. The methods described below may be used by the distortion estimation module 112, for example, in the distortion estimation stage 132 of the method of FIG. This method uses the fact that the distortion due to cells programmed prior to the target cell may differ from the distortion due to cells programmed after the target cell.

別の仮定は、当技術分野で周知のように、アレイはプログラムおよび検査(P&V)プロセスを用いてプログラムされたことである。P&Vプロセスは、例えば、非特許文献8および非特許文献9に記載されており、これらは両方とも参照して本明細書に盛り込まれる。   Another assumption is that the array was programmed using a program and test (P & V) process, as is well known in the art. The P & V process is described, for example, in Non-Patent Document 8 and Non-Patent Document 9, both of which are incorporated herein by reference.

いくつか既知のP&Vプロセスでは、或るページの各セルは符号0...M−1で示すM個の電圧レベルの1つにプログラムされ、ここでレベル0は消去レベルである。P&VプロセスはページをM個のフェーズでプログラムする。フェーズiで、一連の電圧パルスはセルに印加され、このプログラムされたレベルはi以上でなければならない。各パルス後に、プロセスはいろいろなセルの電圧を読み取り、所望レベルに達したセルへのパルスの印加を停止する。   In some known P & V processes, each cell of a page has the code 0. . . Programmed to one of the M voltage levels denoted M-1, where level 0 is the erase level. The P & V process programs a page with M phases. In phase i, a series of voltage pulses are applied to the cell and this programmed level must be greater than or equal to i. After each pulse, the process reads the voltage of the various cells and stops applying the pulse to the cell that has reached the desired level.

方法は、電圧読み取り段階170で、アレイ32のセル28から読み取られサンプルされた電圧を受け入れるMSP52で始まる。電圧は目標セルの電圧および目標セルへの妨害を潜在的に引き起こすセルの電圧の両方とも含む。本例では、アレイ28のページは、他の読み取り設定も使用され得るけれども、順番に、すなわち行ごとに読み取られる。   The method begins at a voltage reading stage 170 with an MSP 52 that accepts the sampled voltage read from the cells 28 of the array 32. The voltage includes both the voltage of the target cell and the voltage of the cell that potentially causes interference to the target cell. In this example, the pages of array 28 are read in order, ie row by row, although other read settings may be used.

所与の目標セルについて、分類段階174で、潜在的に妨害するセルはプログラミングの時間によって分類される。符号D1で示す、セル32のサブセットは、目標セルがプログラムされた時にP&Vプロセスによってまだ完全にプログラムされなかった潜在的に妨害するセルを含む。目標セルがプログラムされたときにクラスD1のセルは消去レベルにあったが、それ以来プログラムされた可能性がある。   For a given target cell, at the classification stage 174, potentially disturbing cells are classified by the time of programming. The subset of cells 32, indicated by D1, includes potentially disturbing cells that were not yet fully programmed by the P & V process when the target cell was programmed. The class D1 cell was at the erase level when the target cell was programmed, but may have been programmed since then.

いくつかのプログラミングスキームでは、セルはいくつかの段階でプログラムされる。例えば、4レベルセルのいくつかのプログラミング方法では、最下位のビット(LSB)および最上位のビット(MSB)は2つの別々の段階で書き込まれる。例示的な方法は前掲の竹内らによる文献に記載されている。かかる方法では、セルは或る時点で中間レベルにプログラムされるとよく、今後のプログラミング段階はセルをその最終プログラム値に至らせる。かかるプログラミング方法が使用される場合に、クラスD1は、目標セルがプログラムされるときに消去レベルか、あるいは中間プログラミングレベルにあったが、それ以来その最終値にプログラムされた可能性があるセルを含むように拡大される。   In some programming schemes, the cell is programmed in several stages. For example, in some 4-level cell programming methods, the least significant bit (LSB) and the most significant bit (MSB) are written in two separate stages. Exemplary methods are described in the literature by Takeuchi et al. In such a method, the cell may be programmed to an intermediate level at some point, and future programming steps bring the cell to its final programmed value. When such a programming method is used, class D1 is the cell that was at the erase level or the intermediate programming level when the target cell was programmed, but has since been programmed to its final value. Enlarged to include.

符号D2で示す、セル32の別のサブセットは、目標セルがプログラムされた時に既にプログラムされていた潜在的に妨害するセルを含む。このセルから目標セルへの妨害が目標セルがプログラムされたときに既にあったので、P&Vプロセスはこの妨害を少なくとも部分的に既に補正した。ただし目標セルが消去される場合は除き、この場合にP&Vアルゴリズムはそれに適用されなかった。符号D3で示す、セルの第3クラスは、目標セルと同時にプログラムされる潜在的に妨害するセル、例えば、目標セルと同じページのセルを含む。   Another subset of cells 32, denoted by D2, includes potentially disturbing cells that were already programmed when the target cell was programmed. Since there was already a disturbance from this cell to the target cell when the target cell was programmed, the P & V process has already corrected this disturbance at least partially. However, the P & V algorithm was not applied to this case except when the target cell was erased. A third class of cells, indicated by the symbol D3, includes potentially disturbing cells that are programmed at the same time as the target cell, eg, cells on the same page as the target cell.

信号処理ユニット60は、クラスベースの歪み推定段階178で、潜在的に妨害するセルのいろいろなクラスによる目標セルに対する歪みを推定する。仮にnおよびmはアレイ28内の目標セルの行および列の数をそれぞれ示す。xn,mは目標セルがP&Vプロセスを用いて書き込まれた後の目標セルの電圧を示す。xi,jは目標セルがプログラムされた時の行iおよび列jに位置するセルの電圧を示す。yn,mは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってxn,mと異なる。同様に、yi,jは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってxi,jと異なる。
n,mに含まれる集合歪み次式のように推定され得る。
The signal processing unit 60 estimates the distortion for the target cell due to various classes of potentially disturbing cells in a class-based distortion estimation stage 178. Let n and m denote the number of rows and columns of target cells in the array 28, respectively. x n, m indicates the voltage of the target cell after the target cell has been written using the P & V process. x i, j indicates the voltage of the cell located in row i and column j when the target cell is programmed. y n, m represents the cell voltage value read from the target cell, which differs from x n, m due to distortion. Similarly, y i, j represents the cell voltage value read from the target cell, which differs from x i, j due to distortion.
The set distortion included in yn , m can be estimated as follows:

Figure 0004999921
ここで、hn,m,i,jは行iおよび列jの妨害するセルから行nおよび列mの目標セルへの相互結合妨害係数を示す。bは一定のバイアス項を示す。
Figure 0004999921
Here, h n, m, i, j represents the mutual coupling interference coefficient from the disturbing cell in row i and column j to the target cell in row n and column m. b represents a constant bias term.

クラスD1のセルは、目標セルがプログラムされた後にプログラムされたセルを含む。従って、このセルに起因する妨害はその時に存在しなかったし、P&Vプロセスはこの歪みを補償しなかったこともあり得る。   Class D1 cells include cells that are programmed after the target cell is programmed. Therefore, the disturbance due to this cell was not present at that time and the P & V process may not have compensated for this distortion.

クラスD2のセルは、目標セルがプログラムされたときに既にプログラムされており、このセルに起因する歪みは、P&Vプロセスが目標セルをプログラムしたときに既に存在していた。従って、目標セルがプログラムされたとき、P&Vプロセスはこの歪みを既に(少なくとも部分的に)補償していた。クラスD2は目標セルが消去されるときに空であり、何故ならこの場合にそれはP&Vアルゴリズムによって処理されず、前にプログラムされたセルからの歪みは補償されなかったからであることに留意する必要がある。それにもかかわらず、この補償は目標セルがプログラムされた時に正しかったし、エージング、または目標セルが読み取られた時間と時間との間に起きた他の効果を考慮しない。上式[10]の第2項のxは電圧の推定値であり、これは目標セルがプログラムされた時に妨害するセルに存在していた。 The class D2 cell was already programmed when the target cell was programmed, and the distortion due to this cell was already present when the P & V process programmed the target cell. Thus, when the target cell was programmed, the P & V process had already (at least partially) compensated for this distortion. Note that class D2 is empty when the target cell is erased because in this case it is not processed by the P & V algorithm and the distortion from the previously programmed cell was not compensated. is there. Nevertheless, this compensation was correct when the target cell was programmed and does not take into account aging or other effects that occurred between the time the target cell was read. The second term x i , j in equation [10] is an estimate of the voltage, which was present in the disturbing cell when the target cell was programmed.

式[10]の第1および第2項はプログラムする時と読み取る時との間における妨害するセル電圧の変化のために互いに異なることに留意する必要があり、電圧変化に対するクラスD1のセルは追加プログラミングに起因する一方で、変化に対するクラスD2のセルは歪みに起因する。   It should be noted that the first and second terms of Equation [10] are different from each other due to disturbing cell voltage changes between programming and reading, and class D1 cells for voltage changes are added. While due to programming, class D2 cells for change are due to distortion.

いくつかの実施形態では、(数式)はECC復号をこれらのセルの出力に適用することによって推定され得る。ECCはセルに書き込まれたビットのセットを復元することによって深刻な誤り、例えば深刻な漏洩に起因する誤りを訂正するのに役立ち得る。あるいは、式[10]の第2項のyi,j−xi,jはyi,jのメモリなしの機能、例えば電圧レベルがyi,jであるセルについて漏洩誤りを推定するα・yi,jを用いて推定され得る。あるいは、yi,j−xi,jはセルからの平均予想漏洩によって近似され得る。 In some embodiments, (Equation) can be estimated by applying ECC decoding to the output of these cells. ECC can help to correct serious errors, eg, errors due to severe leakage, by restoring a set of bits written to a cell. Alternatively, y i, j −x i, j in the second term of equation [10] is a function without memory of y i, j , for example , α · which estimates a leakage error for a cell whose voltage level is y i, j. It can be estimated using y i, j . Alternatively, y i, j −x i, j can be approximated by the average expected leakage from the cell.

クラスD3のセルを指す上式[10]の第3項はP&Vプロセスの使用を想定し、P&Vプロセスは目標セルと同じか、またはそれより小さいレベルにプログラムされるD3セルに起因する歪みを本質的に補償する。目標セルと同じページの潜在的に妨害するセルがより高いレベルにプログラムされる場合に、目標セルが既に完全にログラムされた後に、このプログラミングはP&Vプロセスの後のパスで実行される。従って、目標セルよりも高いレベルを有するD3セルに起因する歪みのかなりの部分は、目標セルがプログラムされる時に存在せず、P&Vプロセスは歪みのこの部分を補償することができない。   The third term of the above equation [10], which refers to a class D3 cell, assumes the use of a P & V process, and the P & V process inherently suffers from distortion due to a D3 cell being programmed to a level equal to or less than the target cell. Compensate. If a potentially disturbing cell on the same page as the target cell is programmed to a higher level, this programming is performed in a later pass after the P & V process after the target cell has already been fully programmed. Thus, a significant portion of the distortion due to the D3 cell having a higher level than the target cell does not exist when the target cell is programmed, and the P & V process cannot compensate for this portion of distortion.

場合によっては、或るセルをプログラムするために用いるP&Vパルスの数は、P&Vプロセスのセルごとの許容値ならびにさまざまな読み取りおよび書き込み間違いによって変化する可能性がある。結果として、いくつかのセルは、同じ電圧レベルであっても、他から書き込むのがより速くなり得る。目標セルが或る妨害するセルよりもプログラムするのが速い場合に、このセルからの妨害はP&Vプロセスによって正しく補償されない。
いくつかの実施形態では、上式[10]はこの差を補償するために変更され得る。式[10]の第3項は次のように書くことができる。
In some cases, the number of P & V pulses used to program a cell can vary depending on the per cell tolerance of the P & V process and various read and write errors. As a result, some cells may be faster to write from others, even at the same voltage level. If the target cell is faster to program than a disturbing cell, the interference from this cell is not correctly compensated by the P & V process.
In some embodiments, equation [10] above can be modified to compensate for this difference. The third term of equation [10] can be written as:

Figure 0004999921
ここで、
Figure 0004999921
here,

Figure 0004999921
式[12]で、xは、例えば、上述のECC復号プロセスを用いることによるxの抽出値を示す。Δは目標セルが妨害するセルよりもプログラムするのが速かった事実を補償する因子を示す。
Figure 0004999921
In Expression [12], x n , m represents an extracted value of x n , m by using the above ECC decoding process, for example. Δ represents a factor that compensates for the fact that the target cell was faster to program than the disturbing cell.

上式[10]は、歪みは妨害するセルの電圧変化だけに依存し、妨害するセルの電圧には依存しないと仮定する。上式[10]はまた、歪みは線形であり、すなわち妨害するセルの電圧変化を乗じた定数としてモデル化され得ると仮定する。いくつかの実際のシナリオでは、しかしながら、これらの2つの仮定は当てはまらない可能性がある。具体的に言えば、場合によっては或る妨害するセルから或る妨害されるセルへの妨害は妨害するセルの電圧および妨害されるセルの電圧の両方に依存する。場合によっては、式[10]は次式のようにより一般に書き変えられ得る。   Equation [10] assumes that distortion depends only on the disturbing cell voltage change and not on the disturbing cell voltage. Equation [10] also assumes that the distortion is linear, i.e., can be modeled as a constant multiplied by the disturbing cell voltage change. In some practical scenarios, however, these two assumptions may not apply. Specifically, in some cases, interference from a disturbing cell to a disturbed cell depends on both the disturbing cell voltage and the disturbed cell voltage. In some cases, equation [10] can be generally rewritten as:

Figure 0004999921
ここで、f(t,t,r)は電圧が、tからtへ変化する妨害するセルに起因する、電圧レベルがrである妨害されるセルに対する歪みを示す。
Figure 0004999921
Here, f (t i , t f , r) represents the distortion for the disturbed cell whose voltage level is r due to the disturbing cell whose voltage changes from t i to t f .

場合によっては、例えば、セル電圧がバック・パターン・デペンダンシフィ(BPD)の影響を受ける場合に、妨害するセルは妨害されるセルと同じセルストリングまたはビット線に沿って位置し、或るセルに対する歪みはビット線に沿ってその上に位置するセルの電圧に依存する。   In some cases, for example, when the cell voltage is affected by back pattern dependency (BPD), the disturbing cell is located along the same cell string or bit line as the disturbed cell, and the distortion to a cell Depends on the voltage of the cell located above it along the bit line.

場合によっては、ユニット60は特定のセルの歪みを他のセルの既知または前に推定した歪み値から予測するとよい。例えば、アレイ内で互いに近接して位置するセルは類似または相関性がある歪みレベルを有する可能性がある。別の例として、歪みのいくらかが供給電圧に起因するか、またはそれを通じて伝播する場合に、同じ電源(VCC)回路を共用するセルは類似の歪みを有する可能性がある。 In some cases, unit 60 may predict the distortion of a particular cell from known or previously estimated distortion values of other cells. For example, cells that are located close to each other in the array may have similar or correlated distortion levels. As another example, cells sharing the same power supply (V CC ) circuit may have similar distortions if some of the distortion is due to or propagates through the supply voltage.

いくつかの実施形態では、ユニット60は、センス増幅器において利得およびバイアス誤りに起因する歪みに応答可能なようにECCメトリクスを訂正する。或るメモリセルが読み取られるとき、センス増幅器はセルを流れる電流を電圧に変換する。従ってセンス増幅器出力における電圧はv=kSAiを満足する必要があり、ここでvは出力電圧を示し、iはセル電流を示し、そしてkSAは増幅器の利得を示し、これはすべてのセルについて一定であると仮定する。多くの実際の場合に、しかしながら、増幅器の利得は一定ではない。増幅器はまたバイアス誤りを生じさせる可能性がある。従って、センス増幅器の出力電圧はv=(kSA+ΔSA)i+BSAと表わすことが可能であり、ここでkSAは一定であり、ΔSAは利得誤りを示し、そしてBSAはバイアス誤りを示す。ΔSAおよびBSAはセンス増幅器ごと(すなわち、ビット線ごと)に変化する可能性がある。 In some embodiments, unit 60 corrects the ECC metrics to be responsive to distortion due to gain and bias errors in the sense amplifier. When a memory cell is read, the sense amplifier converts the current flowing through the cell into a voltage. Therefore, the voltage at the sense amplifier output must satisfy v = k SA i, where v indicates the output voltage, i indicates the cell current, and k SA indicates the gain of the amplifier, which is Is assumed to be constant. In many practical cases, however, the gain of the amplifier is not constant. Amplifiers can also cause bias errors. Thus, the output voltage of the sense amplifier can be expressed as v = (k SA + Δ SA ) i + B SA , where k SA is constant, Δ SA indicates a gain error, and B SA indicates a bias error. Show. Δ SA and B SA can vary from one sense amplifier to another (ie, from one bit line to another).

いくつかの実施形態では、ユニット60はΔSAおよびBSAの値を推定し、推定したセンス増幅器パラメタに基づいてECCメトリクスを変更する。例えば、上式[4]また[5]のLLR計算は、式[4]の読み取り電圧r、または式[5]の区間境界VおよびVを変え、変倍することによって、いろいろなΔSAおよびBSA値を明らかにするために変更され得る。 In some embodiments, unit 60 estimates the values of Δ SA and B SA and changes the ECC metrics based on the estimated sense amplifier parameters. For example, the LLR calculation of the above equations [4] and [5] can be performed by changing and scaling the read voltage r of equation [4] or the interval boundaries V a and V b of equation [5]. SA and B may be changed to account for SA values.

例えば、上式[4]の読み取り電圧rはrで置き換えすることが可能であり、これはr=(r−BSA)・kSA/(kSA+ΔSA)と定義される。 For example, the read voltage r in equation [4] can be replaced with r 0 , which is defined as r 0 = (r−B SA ) · k SA / (k SA + Δ SA ).

図6の例示的な方法が特定のP&Vプロセス実施に言及したけれども、この方法はその他の適切なP&Vプロセスで、変更すべきところは変更して、使用され得る。開示した実施形態に基づいて他の種類のP&Vプロセスで使用するための方法の適合は当業者には明らかである。   Although the exemplary method of FIG. 6 refers to a particular P & V process implementation, this method may be used with other suitable P & V processes, with changes where it should be changed. Adaptation of the method for use in other types of P & V processes based on the disclosed embodiments will be apparent to those skilled in the art.

多くの既知の素子では、名目電圧レベルの1つは「消去」レベルと定義される。いくつかの既知のデータ記憶方法および素子では、消去レベルにあるセルはP&Vプロセスに参加しない。従って、これらのセルはP&Vプロセスによって訂正されない隣接セルから相互結合妨害を被る可能性がある。この妨害は消去レベル電圧分布をすぐ上のレベルの方へ拡大し、必要なマージンを増やす。多くのNANDフラッシュセルでは、消去レベルは負電圧を有するのに対して、他のレベルは正電圧を有する。かかる既知の素子では、負電圧を読み取ることは多くの場合不可能であり、従って妨害を訂正するために消去セルの正確な電圧を読み取ることは不可能である。いくつかの実施形態では、MSP52が或るメモリセルがわずかに正の電圧レベルを有することを検出し、このセルの歪みレベルが高いことを測定する場合に、MSPは、このセルは消去セルであり、その電圧は歪みに因って誤って正になったと判断を下す。MSPは、必要なマージンを減らすように、かかるセルの歪みを補償することができる。   In many known devices, one of the nominal voltage levels is defined as the “erase” level. In some known data storage methods and devices, cells at the erase level do not participate in the P & V process. Therefore, these cells can suffer from mutual coupling interference from neighboring cells that are not corrected by the P & V process. This disturbance expands the erase level voltage distribution toward the level immediately above and increases the required margin. In many NAND flash cells, the erase level has a negative voltage while the other levels have a positive voltage. With such known devices, it is often impossible to read a negative voltage, and therefore it is impossible to read the exact voltage of the erased cell to correct the disturbance. In some embodiments, if the MSP 52 detects that a memory cell has a slightly positive voltage level and measures that the distortion level of the cell is high, the MSP is an erase cell. Yes, the voltage is judged to be positive by mistake due to distortion. The MSP can compensate for such cell distortions to reduce the required margin.

NROMフラッシュセルでは、消去セルの電圧レベルは通常正であり、従ってこれを読み取ることができる。NROMセルの2つの側の間の相互結合は通常P&Vプロセスによって補償されるけれども、歪みはセルの片側または両側が消去されている場合に補償されない。かかる場合に、MSP52は、セルの片側または両側が消去されている場合でさえも、歪みを補償し、必要なマージンを減らすことができる。   In an NROM flash cell, the erase cell voltage level is usually positive and can therefore be read. Although the mutual coupling between the two sides of the NROM cell is usually compensated by the P & V process, the distortion is not compensated when one or both sides of the cell are erased. In such a case, the MSP 52 can compensate for the distortion and reduce the required margin even if one or both sides of the cell are erased.

本明細書で説明した実施形態はデータをマルチレベルセル(MLC)から検索する段階に主に対処しているけれども、本発明の原理は単一レベルセル(SLC)でも使用することができる。本明細書で説明した実施形態はデータを固体メモリ素子から検索する段階に主に対処しているけれども、本発明の原理はハード・ディスク・ドライブ(HDD)ならびに他の記憶媒体および素子のデータを格納し、検索するためにも使用することができる。   Although the embodiments described herein primarily address the stage of retrieving data from a multi-level cell (MLC), the principles of the present invention can also be used in a single-level cell (SLC). Although the embodiments described herein primarily address the stage of retrieving data from a solid state memory device, the principles of the present invention provide data for hard disk drives (HDDs) and other storage media and devices. It can also be used to store and retrieve.

従って、上述の実施形態は例を用いて言及されること、および本発明は上に具体的に図示され、記述されたものに限定されないことが認識される。むしろ、本発明の範囲は、上に記述したさまざまな特徴、および前の説明を読む当業者の心に浮かぶだろう、かつ先行技術に開示されていない、その変更例および変更態様の組み合せおよび副組合せの両方を含む。   Accordingly, it will be appreciated that the embodiments described above are referred to by way of example, and that the invention is not limited to what has been particularly shown and described above. Rather, the scope of the present invention is not limited to the various features described above, and combinations and sub-combinations of modifications and variations that will occur to those skilled in the art upon reading the previous description and are not disclosed in the prior art. Includes both combinations.

本発明の実施形態に従って、メモリ信号処理の装置を図式的に示すブロック図である。FIG. 2 is a block diagram schematically illustrating an apparatus for memory signal processing according to an embodiment of the present invention. 本発明の実施形態に従って、メモリ・セル・アレイを図式的に示す図である。FIG. 3 schematically illustrates a memory cell array in accordance with an embodiment of the present invention. 本発明の実施形態に従って、メモリ・セル・アレイの電圧分布を示すグラフである。3 is a graph illustrating a voltage distribution of a memory cell array according to an embodiment of the present invention. 本発明の実施形態に従って、データをメモリ・セル・アレイから検索するプロセスを図式的に示す機能ブロック図である。FIG. 4 is a functional block diagram that schematically illustrates a process for retrieving data from a memory cell array, in accordance with an embodiment of the present invention. 本発明の実施形態に従って、データをメモリ・セル・アレイから検索する方法を図式的に示す流れ図である。3 is a flow diagram that schematically illustrates a method for retrieving data from a memory cell array, in accordance with an embodiment of the present invention. 本発明の実施形態に従って、メモリ・セル・アレイの歪みを推定する方法を図式的に示す流れ図である。4 is a flow chart that schematically illustrates a method for estimating memory cell array distortion, in accordance with an embodiment of the present invention.

符号の説明Explanation of symbols

20 装置
24 メモリ素子
28 メモリ・セル・アレイ
32 アナログ・メモリ・セル
36 データバッファ
40 読み取り/書き込みユニット
48 制御論理
52 メモリ信号プロセッサ
56 入力/出力バッファ
60 信号処理ユニット
64 符号化器/復号器
72 データバッファ
76 コントローラ
20 device 24 memory element 28 memory cell array 32 analog memory cell 36 data buffer 40 read / write unit 48 control logic 52 memory signal processor 56 input / output buffer 60 signal processing unit 64 encoder / decoder 72 data Buffer 76 controller

Claims (42)

1つのメモリ素子を動作させる方法であって、
データを1つの誤り訂正記号(ECC)を用いて符号化し、前記符号化されたデータを第1アナログ値として前記メモリ素子のそれぞれのアナログ・メモセルに格納するステップと、
前記符号化されたデータを格納した後に、前記符号化されたデータが格納された前記メモリ素子の前記メモリセルからそれぞれ第2アナログ値を読み取るステップと、
ここにおいて少なくともいくつかの前記第2アナログ値は、それぞれの前記第1アナログ値と異なり、
前記第2アナログ値に含まれる1つの歪みを推定するステップと、
前記推定された歪みに応答して前記第2アナログ値に関して誤り訂正を計算するステップと、
前記データを再構成するために、1つのECC復号プロセスにおいて前記誤り訂正を用いて前記第2アナログ値を処理するステップと、
からなることを特徴とする方法。
A method of operating one memory device, comprising:
A step of encoding, and stored in each of the analog memory cells in the memory device the encoded data as the first analog value using one error correction symbol (ECC) data,
After storing the encoded data, a step of reading the second analog value from each of the memory cells of the memory device in which the encoded data is stored,
At least some of said second analog value in this case, unlike the each of the first analog value,
Estimating a single distortion contained in said second analog value,
Calculating an error correction value with respect to said second analog value in response to the estimated distortion,
To reconstruct the data, processing the second analog value using the error correction value in one ECC decoding process,
A method characterized by comprising :
前記誤り訂正を計算するステップが、
それぞれの前記メモリセルについて、前記歪みを示す1つ以上のセルパラメタを評価するステップと、
前記セルパラメタに応答して前記誤り訂正を計算するステップと、
を含むことを特徴とする請求項1に記載の方法。
Calculating the error correction value,
For each of the memory cells, and evaluating the one or more cells parameter indicating the distortion,
Calculating the error correction value in response to said cell parameter,
The method of claim 1, which comprises a.
前記セルパラメタが、他のメモリセルから読み取られた前記アナログ値、前記他のメモリセルの推定クロスカップリング係数、前記読み取られた第2アナログ値の1つの統計的分布のパラメタ、前記メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクルからの経過時間、前記メモリセルで検出された従前の誤り、前記メモリセルが接続されている1つのワード線1つの識別、前記メモリセルが接続されている1つのビット線の1つの識別、前記メモリセルが接続されている前記ビット線に結合された1つのセンスアンプ1つの推定パラメタ、および1つの環境パラメタから成るパラメタの群から選択される少なくとも1つのパラメタを含むことを特徴とする請求項2に記載の方法。The cell parameter is, the analog value read from other memory cells, the other estimated cross-coupling coefficient of the memory cell, one of the statistical distribution of the parameters of the second analog value the read, the memory cell There number of programming and erase cycles undergone prior slave, the elapsed time from after the slave prior to programming and erase cycles, the detected memory cells was the previous error, the one in which memory cells are connected to word lines one identifier of said one identifier of one bit line of the memory cells are connected, one estimated parameter of one sense amplifier coupled to the bit line in which the memory cells are connected, and is selected from a group of parameters consisting of one environment parameter, claims, characterized in that it comprises at least one parameter The method according to. 前記第2アナログ値を処理するステップが、
前記第2アナログ値の可能な値の1つの範囲を複数の決定間隔に分割するステップと、
前記第2アナログ値が入るそれぞれの前記決定間隔を決定するステップと、を含み、
前記誤り訂正を計算するステップが、
前記ECC復号プロセスの性能を改善するために、前記第2アナログ値を前記決定間隔に対して変更する1つの関数定義するステップを含む、
ことを特徴とする請求項1に記載の方法。
Processing the second analog value,
Dividing one range of possible values of the second analog value into a plurality of decision interval,
Anda determining each of the determined intervals the second analog value falls,
Calculating the error correction value,
To improve the performance of the ECC decoding process, comprising the step of defining a single function to be chosen for the second analog value to the decision interval,
The method according to claim 1.
前記第2アナログ値を処理するステップが、
前記ECC復号プロセスの1つの性能に関するフィードバックを受け取るステップと、
前記フィードバックに応答して前記ECC復号プロセスを変更するステップと、
を含むことを特徴とする請求項1に記載の方法。
Processing the second analog value,
Receiving a feedback on one of the performance of the ECC decoding process,
A step of changing the ECC decoding process in response to said feedback,
The method of claim 1, which comprises a.
前記第2アナログ値を処理するステップが、前記第2アナログ値を決定閾値と比較するステップを含み、前記ECC復号プロセスを変更するステップが、前記決定閾値を変更するステップを含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。 Wherein the step of processing the second analog value, comprising the step of comparing the determining threshold value the second analog value, the step of changing the ECC decoding process, comprising the step of changing the determination threshold value the method according to any one of claims 1 to 5. 前記決定閾値を変更するステップが、前記変更した決定閾値を用いて、前記メモリセルから前記第2アナログ値を再び読み取るステップを含むことを特徴とする請求項6に記載の方法。 The step of changing the determination threshold value A method according to claim 6 with a decision threshold that the changed, characterized in that it comprises a re-reading step the second analog value from the memory cell. 前記第2アナログ値を前記決定閾値と比較するステップが、前記決定閾値を用いて前記メモリ素子の前記第2アナログ値を読み取るステップを含み、前記決定閾値を変更するステップが前記閾値を変更する1つの命令を前記メモリ素子に送るステップを含む、ことを特徴とする請求項6に記載の方法。Comparing said second analog value and the decision threshold comprises a step of reading the second analog value of the memory element using the determined threshold value, change the step of changing the decision threshold is the threshold the method of claim 6 including a one step that sent to the memory device a command, it is characterized in that. 前記第2アナログ値を処理するステップが、
異なる複数組の前記決定閾値を用いて、前記ECC復号プロセスをそれぞれ複数反復することによって、各メモリセルに格納された前記データの多重の推定値を生成するステップと、
前記データの前記多重の推定値に応答して前記データを再構築するステップと、
を含むことを特徴とする請求項6に記載の方法。
Processing the second analog value,
Using different sets of said decision thresholds, by repeating several times the ECC decoding process, respectively, and generating an estimate of a multiple of the data stored in each memory cell,
A step of reconstructing the data in response to the estimated value of the multiple of the data,
The method according to claim 6, characterized in that it comprises a.
前記データを再構築するステップが、それぞれの前記メモリセルに対し前記多重の推定値の内の1つを独立して選択するステップを含むことを特徴とする請求項9に記載の方法。The method of claim 9 the step of reconstructing the data, characterized in that it comprises the step of selecting independently one of the estimates of the multi against each of the memory cells. 前記第2アナログ値を処理するステップが、1つの第1誤り性能を有する1つの第1ECC復号プロセスを適用するステップを含み、
前記フィードバックを受け取るステップが、前記第1のECC復号プロセスを用いて復号された前記データにおける復号誤りの1つの表示を受け取るステップを含み、
前記ECC復号プロセスを変更するステップが、前記第1誤り性能よりも性能が優れた1つの第2誤り性能を有する1つの第2ECC復号プロセスを用いて前記第2アナログ値を処理するステップを含む、ことを特徴とする請求項5に記載の方法。
Processing the second analog value, comprising the step of applying one of the first ECC decoding process with one first error performance,
Receiving the feedback comprises the step of receiving one display of decoding error in the data decoded using the first ECC decoding process,
Altering the ECC decoding process, processing the second analog value with a single second ECC decoding process with the first one second error performance performance is better than error performance the method of claim 5 including the step, characterized by.
前記ECC復号プロセスを変更するステップが、前記第2アナログ値を読み取るのに用いる1つのサンプリング分解能を変更するステップを含むことを特徴とする請求項5に記載の方法。It said step of changing the ECC decoding process, method according to claim 5, characterized in that it comprises a step of changing one of the sampling resolution used to read the second analog value. 前記第2アナログ値を読み取るステップが、
それぞれの異なる複数組の前記決定閾値を用いて前記第2アナログ値の多重のインスタンスを読み取るステップを含み、
前記誤り訂正を計算するステップが、
それぞれの前記メモリセルに対し前記多重のインスタンスを独立して組み合わせるステップと、
前記組み合わされ多重のインスタンスに基づいて、前記誤り訂正を計算するステップと、
を含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。
The step of reading the second analog value,
Includes a step of reading multiple instances of the second analog value with a respective different sets of said decision threshold,
Calculating the error correction value,
And combining the instances of each of said multi against the memory cell independently,
A step of based on said combination has been multiplexed instance, calculating the error correction value,
The method according to claim 1, comprising:
前記第2アナログ値の前記複数のインスタンスを読み取り、組み合わせるステップが、
前記第2アナログ値の追加インスタンスを反復して得るステップと、
前記ECCの復号に成功するまで、前記追加インスタンスを用いて前記誤り訂正を更新するステップと、
を含むことを特徴とする請求項13に記載の方法。
Reading the plurality of instances of the second analog value, combining step,
A step that can be repeated an additional instance of the second analog value,
And updating the error correction value by using the up successfully ECC decoding, the additional instances,
The method of claim 13, which comprises a.
それぞれの前記メモリセルについて、前記歪みを推定するステップが、
前記メモリセルから読み取られた前記第2アナログ値における前記歪みに寄与する可能性のある1サブ組の干渉可能性を有するメモリセルから前記第2アナログ値を読み取るステップを含み、
前記誤り訂正を計算するステップが、前記干渉可能性を有するメモリセルの寄与による前記歪みを評価するステップを含む、
ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
For each of the memory cell, the step of estimating the distortion,
The read from the memory cell might contribute to the strain in the second analog value, from the memory cell having one sub-set of potential interference includes the step of reading the second analog value,
Calculating the error correction value comprises the step of evaluating the distortion contributed by the memory cell having the possibility of interference,
A method according to any one of claims 1 to 5 , characterized in that
前記干渉可能性を有するメモリセルの寄与により前記メモリセルに与えられる前記歪みを評価するステップが、前記干渉可能性を有するメモリセルから読み取られた前記第2アナログ値および前記メモリセルから読み取られた前記第2アナログ値の両方に基づいて、干渉可能性を有するそれぞれのメモリセルの寄与による前記歪みを近似するステップを含むことを特徴とする請求項15に記載の方法。 The step of evaluating the distortion applied to the memory cell due to the contribution of the memory cell having the possibility of interference is read from said second analog value and the memory cell read from the memory cell having the possibility of interference the method of claim 15, wherein the second based on both analog value, characterized in that due to the contribution of each of the memory cells comprises a step of approximating the distortion having a potential interference was. 前記第2アナログ値を処理するステップが、
前記メモリセルの前記第2アナログ値を1つの第1量子化レベルで処理するステップと、
前記干渉可能性を有するメモリセルから読み取られた前記第2アナログ値を、前記第1量子化レベルよりも粗い1つの第2量子化レベルで処理するステップと、
を含むことを特徴とする請求項15に記載の方法。
Processing the second analog value,
Processing the second analog value of the memory cell in one of a first quantization level,
A step of the second analog value read from the memory cell, is treated with the first one of the second quantization level coarser than the quantizing level having the possibility of interference,
The method according to claim 15, comprising:
前記第2アナログ値を処理するステップが、
前記第2アナログ値を読み取るのに使用され1つの回路の1つの閾値を反復して変更することによって、前記第2アナログ値を前記第1および第2量子化レベルで読み取るステップを含む、
ことを特徴とする請求項17に記載の方法。
Processing the second analog value,
By changing iteratively the one threshold value of one circuit that are used to read the second analog value, the step of reading the second analog value at the first and second quantization levels Including,
The method according to claim 17, wherein:
前記符号化データを格納するステップが、
1つのプログラムおよび検証(P&V)プロセスを用いて前記第1アナログ値を前記メモリセルに書き込むステップを含み、
前記歪みを推定するステップが、
前記P&Vプロセスによって、前記1つのメモリセルよりも早く完全にプログラムされたメモリセル、前記1つのメモリセルよりも遅く完全にプログラムされたメモリセル、および前記1つのメモリセルと同時に完全にプログラムされたメモリセル、から成る群の部類から選択される少なくとも2つの部類に、複数の前記干渉可能性を有するメモリセルを分類するステップと、
歪みの合計それぞれの前記部類の内で別々に計算するステップと、
を含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。
Storing the encoded data,
Comprising the step of writing the first analog value to the memory cell using a single program and verify (P & V) process,
The step of estimating the distortion,
The P & V process is fully programmed earlier than the one memory cell, fully programmed memory cell later than the one memory cell, and completely programmed simultaneously with the one memory cell. at least two categories selected from the class of a group consisting of memory cells, comprising the steps of classifying the memory cells having a plurality of said interference potential,
Calculating separately sum of distortion within each of said classes,
The method according to claim 1, comprising:
前記メモリセルがフラッシュ・メモセルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to any one of claims 1 to 5, characterized in that said memory cell is formed of a flash memory cell. 前記メモリセルがダイナミック・ランダム・アクセス・メモリ(DRAM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to any one of claims 1 to 5, wherein the memory cell is characterized in that it consists of dynamic random access memory (DRAM) cell. 前記メモリセルが位相変化メモリ(PCM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to any one of claims 1 to 5, wherein the memory cell is characterized by comprising the phase change memory (PCM) cell. 前記メモリセルが窒化読出し専用メモリ(NROM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to any one of claims 1 to 5, characterized in that said memory cell is a nitride read only memory (NROM) cell. 前記メモリセルが磁気RAM(MRAM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。6. The method according to claim 1, wherein the memory cell comprises a magnetic RAM (MRAM) cell. 前記メモリセルが強誘電体RAM(FRAM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。6. The method according to claim 1, wherein the memory cell comprises a ferroelectric RAM (FRAM) cell. 前記ECCが1つのブロックコードからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to claim 1, wherein the ECC comprises one block code. 前記ブロックコードが1つのBCHコードまたは1つのリード・ソロモン(RS)コードからなることを特徴とする請求項26に記載の方法。The method of claim 26, wherein the block code is characterized by comprising a single BCH code or one Reed-Solomon (RS) code. 前記ブロックコードが1つの低密度奇偶検査(LDPC)コード、1つのターボコード、および1つのターボ・プロダクト・コード(ТPC)の内の1つからなることを特徴とする請求項26に記載の方法。The method according to claim 26, characterized in that from one of said block codes are one low-density parity check (LDPC) codes, one turbo codes, and one turbo product code (TPC) . 前記ECC復号プロセスが1つの反復復号プロセスからなることを特徴とする請求項28に記載の方法。The method of claim 28, wherein the ECC decoding process is characterized in that it consists of one iterative decoding process. 前記ECC復号プロセスが、前記第2アナログ値を読み取ることによって生成されるフィードバックを使用することを特徴とする請求項1〜5のいずれか一項に記載の方法。The ECC decoding process, the method according to any one of claims 1-5, characterized by using feedback generated by reading the second analog value. 前記ECC復号プロセスが、1つの最尤シーケンス推定(MLSE)プロセスからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to claim 1, wherein the ECC decoding process comprises a maximum likelihood sequence estimation (MLSE) process. 前記ECCが、1つの従来コード、1つのトレリス符号化変調(TCM)コード、1つのビットインターリブド符号化変調(BICM)コード、および1つの連結コードの内の1つからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The ECC is one conventional code, one trellis coded modulation (TCM) codes, and characterized in that from one of the one-bit Interleaved Coded Modulation (BICM) code, and one of the connecting cord the method according to any one of claims 1 to 5. 前記誤り訂正が尤度比(LR)からなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to claim 1, wherein the error correction value comprises a likelihood ratio (LR). 前記誤り訂正が対数尤度比(LLR)からなることを特徴とする請求項1〜5のいずれか一項に記載の方法。The method according to claim 1, wherein the error correction value comprises a log likelihood ratio (LLR). 前記歪みを推定するステップが、前記メモリセルの1つに含まれる前記歪みを他の複数のメモリセルに含まれる前記歪みに基づいて予測するステップを含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。 Estimating the distortion of the preceding claims, characterized in that it comprises a step of predicting, based on the distortion contained the distortion contained in one of the memory cells to another of the plurality of memory cells The method according to any one of the above. 前記メモリセルが、孤立した複数の群干渉可能性を有するメモリセルに配置され、
それぞれの群の前記歪みを推定するステップが、前記内の前記メモリセルのペア間の相互干渉を表わす1つのクロスカップリング行列1つの行列を評価するステップを含み、
前記誤り訂正を計算するステップが、前記第1アナログ値に適用され、前記内のそれぞれの前記メモリセルの平均歪みレベル合計した前記クロスカップリング行列前記行列と、前記第2アナログ値に適用された前記クロスカップリング行列前記行列との間の1つの距離を計算するステップを含む、
ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
The memory cell is disposed in a memory cell having a plurality of isolated group interference possibilities ;
Estimating the distortion of each group comprises the step of evaluating one of the inverse matrix of the one cross-coupling matrix representing the mutual interference between pairs of said memory cells in said group,
Calculating the error correction value, the applied to the first analog value, and the inverse matrix of the cross-coupling matrix which is the sum respective average distortion level of said memory cells in said group, said second in comprising the step of calculating one of the distance between the inverse of the applied the cross-coupling matrix into an analog value,
A method according to any one of claims 1 to 5 , characterized in that
前記孤立した複数の群それぞれ窒化読出し専用メモリ(NROM)セルからなり、それぞれの群内の前記干渉可能性を有するメモリセルがそれぞれの前記NROMセルの第1および第2電荷蓄積領域からなることを特徴とする請求項36に記載の方法。The plurality of isolated groups are each composed of a nitride read only memory (NROM) cell , and the memory cells having the possibility of interference in each group are composed of first and second charge storage regions of the respective NROM cell. the method of claim 36, characterized in that. 前記メモリセルが、孤立した複数の群干渉可能性を有するメモリセルに配置され、
それぞれの群の前記歪みを推定するステップが、前記内のそれぞれの前記メモリセルの平均歪みレベルの1つのベクトル、および前記内の前記メモリセルのペア間の相互干渉を表わす1つのクロスカップリング行列を評価するステップを含み、
前記誤り訂正を計算するステップが、前記内の前記メモリセルから読み取られた前記第2アナログ値の1つのベクトルと、前記クロスカップリング行列と前記平均歪みレベルの前記ベクトルとの1つの積との1つのに応答して前記を計算するステップを含む、
ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
The memory cell is disposed in a memory cell having a plurality of isolated group interference possibilities ;
Estimating the distortion of each group is, one cross cup representing the mutual interference between each of the one vector of average distortion level of memory cells, and said memory cells in said group pairs within the groups comprising the step of evaluating the ring matrix,
Calculating the error correction value, and one vector of the said second analog value read from the memory cells in said group, said one of the cross-coupling matrix and the vector of the average level of distortion in response to one of the difference component of the product comprises the step of calculating said value,
A method according to any one of claims 1 to 5 , characterized in that
前記孤立した複数の群が、それぞれ窒化読出し専用メモリ(NROM)セルからなり
それぞれの群内の前記干渉可能性を有するメモリセルが、それぞれ前記NROMセルの第1および第2電荷蓄積領域からなる、ことを特徴とする請求項38に記載の方法。
A plurality of group receiving the isolated, respectively consist nitride read only memory (NROM) cell,
The method of claim 38, the memory cell having the possibility of interference in each group, respectively comprising first and second charge storage regions of the NROM cell, and wherein the.
前記符号化データを格納するステップが、
前記符号化データをスクランブルするステップと、
前記スクランブルされたデータを格納するステップと、を含み、
前記第2アナログ値を処理するステップが、
前記メモリセルから読み取られた前記第2アナログ値をスクランブルするステップを含む、
ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
Storing the encoded data,
A step of scrambling the encoded data,
Comprises the steps of storing the scrambled data,
Processing the second analog value,
Comprising the step of descrambling the second analog value read from the memory cell,
A method according to any one of claims 1 to 5 , characterized in that
前記データを格納するステップが、
少なくともいくつかの前記メモリセルを1つの消去されたレベル維持するステップを含み、
前記第2アナログ値を読み取るステップ、前記歪みを推定するステップ、前記誤り訂正を計算するステップ、および前記第2アナログ値を処理するステップが、
前記消去されたレベル維持されていた前記メモリセルから読み取られた、前記第2アナログ値の前記歪みを補償するステップを含む、
ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
Storing the data,
Wherein the step of maintaining at least some of the memory cells to one erased level,
The step of reading the second analog value, the step of estimating the distortion, the step of calculating the error correction value, and processing the second analog value,
Read from the memory cell which has been maintained in the erased level, comprising the step of compensating for the distortion of the second analog value,
A method according to any one of claims 1 to 5 , characterized in that
1つの誤り訂正記号(ECC)を用いて符号化され、第1アナログ値として1つのメモリ素子のそれぞれのアナログ・メモリセルに格納されたデータを獲得する装置であって、
前記符号化されたデータが格納された前記メモリ素子の前記アナログ・メモリセルから、それぞれ第2アナログ値を読み取るように構成される1つの読み取りユニットと、
ここにおいて少なくともいくつかの前記第2アナログ値はそれぞれの前記第1アナログ値と異な
前記第2アナログ値に含まれる1つの歪みを推定し、前記推定された歪みに応答して前記第2アナログ値に関して誤り訂正を計算するように構成される1つの信号処理ユニットと、
前記ECCを復号し、前記データを再構築するために、前記誤り訂正を用いて前記第2アナログ値を処理するように構成される1つの復号器と、
からなることを特徴とする装置。
Coded using one error correction symbols (ECC), a device for acquiring the data stored in each of the analog memory cells of a memory device as the first analog value,
From the analog memory cell of said memory device, wherein the encoded data is stored, and one reading unit configured to read the second analog value, respectively,
At least some of said second analog value wherein the Unlike each of the first analog value,
And one signal processing unit configured to calculate an error correction value with respect to said second estimate one distortion contained in the analog value, the response to the estimated distortion second analog value,
Decoding the ECC, to reconstruct the data, and one decoder configured to process the second analog value using the error correction value,
A device characterized by comprising .
JP2009508669A 2006-05-12 2007-05-10 Combination of distortion estimation and error correction coding for memory devices. Active JP4999921B2 (en)

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
US74710606P 2006-05-12 2006-05-12
US60/747,106 2006-05-12
US86348006P 2006-10-30 2006-10-30
US60/863,480 2006-10-30
US86381006P 2006-11-01 2006-11-01
US60/863,810 2006-11-01
US86739906P 2006-11-28 2006-11-28
US60/867,399 2006-11-28
US88502407P 2007-01-16 2007-01-16
US60/885,024 2007-01-16
US88610207P 2007-01-23 2007-01-23
US60/886,102 2007-01-23
US89286907P 2007-03-04 2007-03-04
US60/892,869 2007-03-04
US89429007P 2007-03-12 2007-03-12
US60/894,290 2007-03-12
US89445607P 2007-03-13 2007-03-13
US60/894,456 2007-03-13
PCT/IL2007/000580 WO2007132457A2 (en) 2006-05-12 2007-05-10 Combined distortion estimation and error correction coding for memory devices

Publications (3)

Publication Number Publication Date
JP2009537056A JP2009537056A (en) 2009-10-22
JP2009537056A5 JP2009537056A5 (en) 2010-06-03
JP4999921B2 true JP4999921B2 (en) 2012-08-15

Family

ID=41314441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009508669A Active JP4999921B2 (en) 2006-05-12 2007-05-10 Combination of distortion estimation and error correction coding for memory devices.

Country Status (1)

Country Link
JP (1) JP4999921B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100838292B1 (en) * 2007-06-20 2008-06-17 삼성전자주식회사 Apparatus for controlling read level of memory cell and method using the same
WO2009058140A1 (en) * 2007-10-31 2009-05-07 Agere Systems Inc. Systematic error correction for multi-level flash memory
KR101434405B1 (en) * 2008-02-20 2014-08-29 삼성전자주식회사 Memory device and memory data read method
KR101378365B1 (en) * 2008-03-12 2014-03-28 삼성전자주식회사 Apparatus and method for hybrid detecting memory data
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
KR101738173B1 (en) * 2008-09-28 2017-05-19 라모트 앳 텔-아비브 유니버시티 리미티드 Method and system for adaptive coding in flash memories
EP2340539A1 (en) 2008-09-30 2011-07-06 LSI Corporation Methods and apparatus for soft data generation for memory devices
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8213255B2 (en) * 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8737138B2 (en) 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
CN103917964A (en) * 2011-11-02 2014-07-09 国立大学法人东京大学 Memory controller and data storage device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4068863B2 (en) * 2002-03-08 2008-03-26 富士通株式会社 Nonvolatile multilevel semiconductor memory
JP3913704B2 (en) * 2003-04-22 2007-05-09 株式会社東芝 Nonvolatile semiconductor memory device and electronic device using the same
CN102394101B (en) * 2006-05-12 2014-12-31 苹果公司 Memory device with adaptive capacity
JP5095131B2 (en) * 2006-05-31 2012-12-12 株式会社東芝 Semiconductor memory device
KR100907218B1 (en) * 2007-03-28 2009-07-10 삼성전자주식회사 Apparatus for controlling read level and method using the same
KR101425958B1 (en) * 2007-09-06 2014-08-04 삼성전자주식회사 Memory system capable of storing multi-bit data and its read method

Also Published As

Publication number Publication date
JP2009537056A (en) 2009-10-22

Similar Documents

Publication Publication Date Title
JP4999921B2 (en) Combination of distortion estimation and error correction coding for memory devices.
KR101202537B1 (en) Combined distortion estimation and error correction coding for memory devices
US9292381B2 (en) Distortion estimation and cancellation in memory devices
USRE46346E1 (en) Reading memory cells using multiple thresholds
US8830746B2 (en) Optimized threshold search in analog memory cells using separator pages of the same type as read pages
US7900102B2 (en) High-speed programming of memory devices
JP5535220B2 (en) Method and apparatus for soft data generation for memory devices using decoder performance feedback
CN101601094B (en) Reading memory cells using multiple thresholds
US7697326B2 (en) Reducing programming error in memory devices
US9898361B2 (en) Multi-tier detection and decoding in flash memories
CN101512661B (en) Combined distortion estimation and error correction coding for memory devices
JP5620973B2 (en) Search for optimum threshold in analog memory cells
US9213602B1 (en) Write mapping to mitigate hard errors via soft-decision decoding
WO2011146364A2 (en) Joint encoding of logical pages in multi-page memory architecture
WO2008075351A2 (en) Soft decoding of hard and soft bits read from a flash memory

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120418

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120515

R150 Certificate of patent or registration of utility model

Ref document number: 4999921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250