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 PDFInfo
- 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
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
いくつかの応用では、メモリ素子に格納したデータは誤り訂正記号(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)セルアレイの浮遊ゲート間の電界結合を補償する方法が記載されており、この開示は参照して本明細書に盛り込まれる。開示された方法によれば、セルの読み取りは読み取られるセルと電界結合されるすべてのセルの状態を最初に読み取ることによって補償される。次に浮遊ゲート電圧かそれとも各結合セルの状態に関連する数にセル間の結合比を乗じる。セルの各々に関する状態間のブレイクポイントレベルは隣接セルから結合された電圧を補償する量によって調整される。
本発明の実施形態ではメモリ素子を動作させる方法が提供され、この方法は、
データを誤り訂正記号(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
メモリ素子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
データのメモリ素子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
MSP52は符号化器/復号器64を備え、これはECCを用いて素子24に書き込まれるデータを符号化し、データを素子24から読み取るときECCを復号する。信号処理ユニット60は素子24に書き込まれ、かつそれから検索されるデータを処理する。具体的に言えば、ユニット60は素子24から読み取られた電圧に影響を及ぼす歪みを推定する。推定歪みは、以下にさらに詳細に説明するように、ECCの性能を改善するために使用される。
The
MSP52はデータバッファ72を備え、これはデータを格納するために、かつメモリ素子24とインターフェースをとるためにユニット60によって使用される。MSP52はまた入力/出力(I/О)バッファ56を備え、これはMSPとホストとの間にインターフェースを形成する。コントローラ76はMSP52の動作およびタイミングを管理する。以下に述べる機能を実行するのに加えて、コントローラ76は追加のメモリ管理機能、例えば、磨耗レベリングおよび不良ブロック管理などを実行するとよい。信号処理ユニット60およびコントローラ76はハードウェアに組み入れられるとよい。あるいは、ユニット60および/またはコントローラ76は適切なソフトウェア、またはハードウェアとソフトウェア要素の組み合わせを実行するマイクロプロセッサを備えるとよい。
The
図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
典型的な書き込み動作において、メモリ素子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 /
典型的な読み取り動作において、R/Wユニット40はアナログ電圧値を適切なメモリセル32から読み取り、電圧をデジタルサンプルに変換する。サンプルはバッファ36に保存され、MSP52のバッファ72へ転送される。信号処理ユニット60は、以下に説明する方法を用いて、データサンプルに含まれる歪みを推定する。
In a typical read operation, the R /
データのブロックはバッファ72からユニット60へ転送され、符号化器/復号器64はこのブロックのECCを復号する。符号化器/復号器64はユニット60によって与えられる歪み推定を使用して、ECC復号プロセスの性能を改善する。復号データはI/Oバッファ56を経由してホストへ転送される。
The block of data is transferred from the
いくつかの実施形態では、MSP52は、それがメモリセルに書き込まれる前にデータをスクランブルし、歪み推定性能を改善するために、メモリセルから読み取られたデータを逆スクランブルする。
In some embodiments, the
メモリアレイ構成および歪みのメカニズム
図2は、本発明の実施形態に従って、メモリ・セル・アレイ28を図式的に示す図である。図2は特定のアレイ構成で接続されているフラッシュ・メモリ・セルを参照しているけれども、本発明の原理は他のタイプのメモリセルおよび他のアレイ構成にも同様に適用可能である。いくつかの例示的なセルタイプおよびアレイ構成は上の背景項で引用した参考文献に記載されている。
Memory Array Configuration and Distortion Mechanism FIG. 2 is a diagram that schematically illustrates
アレイ28のメモリセル32は複数の行および列を有する格子状に配置されている。各セル32は浮遊ゲート金属酸化物半導体(MOS)トランジスタを備える。或る量の電荷(電子またはホール)が適切な電圧レベルをトランジスタのゲート、ソース、およびドレインに印加することによって特定のセルに蓄積され得る。セルに蓄積された値はセルの閾値電圧を測定することによって読み取られることが可能であり、これはトランジスタを導通させるためにトランジスタのゲートに印加する必要がある最小電圧として規定される。読み取り閾値電圧はセルに蓄積された電荷に比例する。
図2の例示的な構成では、各行のトランジスタのゲートは語線80によって接続されている。各列のトランジスタのソースはビット線84によって接続されている。いくつかの実施形態では、例えばいくつかのNORセル素子では、ソースはビット線に直接接続される。代替実施形態では、例えばいくつかのNANDセル素子では、ビット線は浮遊ゲートセルのストリングに接続される。
In the exemplary configuration of FIG. 2, the gates of the transistors in each row are connected by a
通常、R/Wユニット40は、変化する電圧レベルを特定のセル32のゲートに(すなわち、セルが接続されている語線に)印加し、かつセルのドレイン電流が或る閾値を超えるかどうか(すなわち、トランジスタが導通するかどうか)を調べることによって、特定のセル32の閾値電圧を読み取る。ユニット40は通常一連のいろいろな電圧値をセルが接続されている語線に印加し、ドレイン電流が閾値を超える最も低いゲート電圧値を決定する。通常、ユニット40はページとも呼ばれているセルの行全体を同時に読み取る。
Typically, the R /
いくつかの実施形態では、ユニット40はセルのビット線を或る電圧レベルに事前に充電することによってドレイン電流を測定する。ゲート電圧が所望値に設定されると、ドレイン電流はビット線電圧をセルを通じて放電させる。ゲート電圧が印加された後、数マイクロ秒間、ユニット40はビット線電圧を測定し、ビット線電圧を閾値と比較する。いくつかの実施形態では、各ビット線84は関連センス増幅器に接続され、これはビット線電流を増幅し、それを電圧に変換する。増幅された電圧は比較器を用いて閾値と比較される。
In some embodiments,
以下に述べる方法のいくつかは読み取り電圧レベルが比較される閾値の調整を含む。かかる閾値調整は、場合によっては各読み取り動作に先立って、高速で実行されるとよい。いくつかの実施形態では、メモリ素子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 /
上述の電圧読み取り方法は例示的な方法である。あるいは、R/Wユニット40はセル32の閾値電圧を読み取るためにその他の適切な方法を使用するとよい。例えば、ユニット40は1つ以上のアナログ-デジタル変換器(ADC)を備え、これはビット線電圧をデジタルサンプルに変換する。さらにあるいは、本明細書に述べた方法および装置は、アナログ値をアナログ・メモリ・セルへ書き込み、それから読み取る、任意の適切な方法または手段とともに使用され得る。
The voltage reading method described above is an exemplary method. Alternatively, the R /
いくつかの実施形態では、全ページ(行)は並列に書き込まれ、読み取られる。セルの消去は複数のページを含むブロックで通常実行される。典型的なメモリ素子は数十万ページを含むとよく、各々は数千のセル(例えば、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 /
通例妨害ノイズと呼ばれている、別のタイプの歪みはアレイの或るセルにおける読み取り、書き込み、または消去に起因し、これは他のセルの意図しないプログラミングまたは消去を引き起こす。さらに別のサンプルとして、特定のセルのソース・ドレイン電流は、バックパターン従属性と呼ばれている効果によって、隣接セル、例えば、同じ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
本例では、セル32の閾値電圧は3ビット変換を用いて読み取られる。従って、閾値電圧の範囲は8つの決定ゾーン96A...96Hに分割される。各セルのデータ内容は、セルから読み取られた閾値レベルが収まる決定ゾーンに基づいて決定される。例えば、決定ゾーン96Fに収まる、特定のセルから読み取られた電圧レベル98はセルのデータ内容が「00」であること示す。決定ゾーン96Eに収まる電圧レベルはまた「11」のデータ内容を示すとして解釈されることに留意する必要がある。4つの決定ゾーンは4つの可能なビット組み合わせを復号するのに通常十分であるけれども、8つの決定ゾーンを用いることはより良い分解能を与え、歪み推定および復号性能を改善する。
In this example, the threshold voltage of the
さまざまな歪み機構の結果として、閾値電圧の分布は変化する可能性がある。例えば、閾値電圧はエージングに因って時間とともにドリフトする可能性がある。グラフ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,
歪み概算によりアシストされるECC符号化
装置20は、ECCを用いてセルに格納したデータを符号化することによって、セル32のデータ内容について誤った決定を行う可能性を減らす。本例では、符号化器/復号器64は各ページのデータを別々に符号化する。代替実施形態では、データはその他の適切なサイズを有するブロックで符号化され得る。例えば、各ページはいくつかのセクタに分割されることが可能であり、符号化器/復号器64は各セクタのデータを別々に符号化する。あるいは、データは複数のページにわたって符号化され得る。
ECC encoding assisted by distortion estimation The
当技術分野で周知のさまざまな種類の誤り訂正記号はデータを符号化するために使用され得る。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 /
通常、MSP52は電圧分布のパラメタを推定し、推定パラメタを用いて、ビットまたは記号可能性を計算する。さらに、MSPはセルの状態に関する情報を保管または受け取り、この情報を用いて、セルの電圧分布の特性を評価し、それに応じてECCメトリクスを変更する。例えば、MSPは、セルが受けたプログラムおよび消去サイクルの数、ならびにそれらがどのくらい前にプログラムされたかを追跡するとよい。これらのパラメタは、セルがプログラムされて以来それが被った漏洩ノイズのレベルを示している。
Typically, the
いくつかの実施形態では、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:
他の種類の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
図3の例を参照すると、そしてp(Xi=0)=p(Xi=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:
仮にT0は読み取り電圧rに最も近いXi=0に対する値を示すとし、そしてT1は読み取り電圧rに最も近いXi=1に対する値を示す。ほとんどの実際的事例では、式[3]の和は各和の最大項によって近似されることが可能であり、最大項は通常T0およびT1を含む項である。また、rの電圧分布は分散σ2を有するガウス分布であると仮定して、式[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:
いくつかの実施形態では、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=[x1x2...xk]はk個の相互に妨害するセルのグループに書き込まれたk個の値を示すとする。仮にy=[y1y2...yk]はセルから読み取られたk個の値を示すとする。場合によっては、例えば、セルがグループ内のすべてのセルに同時に適用されるプログラムおよび検査(P&V)プロセスを用いて書き込まれる場合、セルがプログラムされる時にx=yである。ベクトルyはいろいろな歪み機構、例えばエージングに因って経時変化する。後の時点におけるベクトルyの値は次式のように書き込まれ得る。 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:
MSP52は係数αijを推定することによってH−1を計算する。次にMSPは次式を最小にするxの値を決定することによってデータを復号することができる。
The
例えば、ハード決定ECC復号器を用いる場合、MSPは、上式[9]を最小にする値のセットを決定するために、xのいろいろの可能なデータ値の組み合わせを通じて走査または探索することができる。任意の適切な探索プロセスをこのために使用することができる。例えば、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」に設定されるすべてのx値について上式[9]の最小値を計算し、この結果から問題のデータビットが「0」に設定されるすべてのx値について式[9]の最小値を差し引くことができる。次に結果として生じるLLRはソフトECC復号器によってメトリクスとして使用され得る。あるいは、mは、yにおけるハード決定に基づいて、変化の名目平均値を用いることによって近似され得る。次に、式y−H・mは上式[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
本特許出願の文脈の中で、かつ特許請求の範囲で、「読み取りデータ」、「サンプリング電圧」、および「読み取り電圧」のような用語は、メモリセルに格納したアナログ電圧をデジタルサンプルに明示的に変換することか、あるいはかかるサンプルをインターフェースを通じて受け取ることを意味する。例えば、上図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
目標サンプルも、潜在的に目標セルを歪ませる可能性がある他のセルのサンプルも信号処理ユニット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
モジュール112は、問題の歪み機構のタイプおよび用いる推定方法に基づいて、潜在的に妨害するセルのいろいろな数およびタイプを考察するとよい。例えば、いくつかの実施形態では、モジュール112はアレイ内の各セルからその8つの隣りのセルへの相互結合妨害を推定する。これらの実施形態では、通常モジュール112は復号されるページ(行)も前と後のページも処理する。この場合のデータバッファは数ページのサイズであり得る。
代替実施形態では、モジュール112は或るセルの左隣りおよび右隣りのセルだけに由来する歪みを考察するとよい。これらの実施形態では、データバッファはより小さく、約単一ページであるとよい。
In an alternative embodiment,
いくつかの実施形態では、モジュール112は目標セルから離れたページ中のセルに起因する歪みを推定する。例えば、バック・パターン・ノイズは離れたページ以外の目標セルと同じ列のセルに起因する可能性がある。これらの実施形態では、かかる離れたセルの内容、またはこのセルに関する他の情報はモジュール112に提供されるとよい。
In some embodiments,
場合によっては、潜在的に妨害するセルから読み取られたサンプルは格納され、より粗い量子化で、すなわち目標セルのサンプルの量子化と比べてより小さいビット数で処理され得る。減らされた量子化はデータバッファのサイズおよびモジュール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
歪み推定モジュール112は推定歪みをメトリック計算モジュール108に提供する。メトリック計算モジュールは推定歪みに基づいてECCメトリクスを計算し、メトリクスを符号化器/復号器64に提供する。ECC符号化器/復号器は目標メモリセルに格納したデータを復元するためにメトリクスを用いてECCを復号する。
The
いくつかの実施形態では、メトリック計算モジュール108は目標セルから読み取られたサンプル値について、かつ決定閾値について機能を規定する。この機能は、歪み推定がモジュール112によって提供されると仮定されると、ECC復号プロセスの誤り確率を小さくするために決定閾値に関してサンプル値を変更する。例えば、図3を参照すると、モジュール108によって評価される機能は曲線100A...100Dを曲線92A...92Dにそれぞれマップするように、電圧軸をほとんど包む。機能がその後の目標サンプルで動作する場合に、ビット決定はシフトされた分布100A...100Dに基づいて行われる。
In some embodiments, the
場合によっては、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
方法は、読み取り段階128で、アレイ28の所望目標セルの電圧および潜在的に妨害するセルからの電圧を読み取るR/Wユニット40で始まる。歪み推定段階132で、信号処理ユニット60は読み取り電圧に含まれる歪みを推定する。メトリック計算段階136で、ユニット60はECCメトリクスを計算する。ユニット60は任意のECCメトリックおよび任意の歪み推定方法、例えば本明細書に記載の方法などを使用することができる。復号段階140で、ECC符号化器/復号器64はECCを復号し、格納データを復元する。
The method begins at
ECC符号化器/復号器64は、ページがうまく復号されたかどうか、すなわち復号ページが誤りを含むかどうかをユニット60(またはコントローラ76)に通知する。成功検査段階144で検査すると、復号が成功した場合は、成功した終了段階148として、方法は成功裏に終了する。ユニット60は復号ページが誤りを含むかどうかを確認するためにいろいろな方法を使用するとよい。例えば、ユニット60は復号器出力が有効なコードワードであるかどうかを検査するとよい。あるいは、1つ以上の検査合計ビット、例えば周期的冗長検査(CRC)はデータと共に格納されるとよい。ユニット60は復号データについてCRCを計算し、それを格納CRC値と比較することができる。さらなる代替として、ユニット60は復号データの信頼性メトリックを計算し、それを所定閾値と比較するとよい。
The ECC encoder /
本例では、或る最大数のフィードバック反復だけが、エンドレスループ、手詰まり状態を回避するために許容されている。従って、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
さもなければ、フィードバック適合段階156で、ECC復号器は復号プロセスを適合させる。例えば、ECC復号器は最小誤り確率を生じたLLR値に印を付けることができる。次にユニット60はこの情報を用いて、最小誤り確率を有する目標サンプルに印を付ける。代替として、復号器は低い信頼レベルを有するビットに「消去個所」として印を付け、復号プロセス結果によって消去マークを更新するとよい。さらなる代替として、ECC復号器フィードバックを用いて復号プロセスを調整または更新するその他の技術も使用することができる。次に方法は上の歪み推定段階132にループバックし、ユニット60は与えられたフィードバックに基づいて歪みを再推定する。
Otherwise, in the
MSP52は、上の復号段階140でデータを復号する場合に、電圧閾値の或るセットを使用する。いくつかの実施形態では、誤りが上の成功検査段階144で検出される場合に、ユニット60は復号性能を改善するために閾値を調整することによって復号プロセスを変更する。ユニット60は閾値を調整する任意の適切な方法を使用するとよい。例えば、ユニット60は勾配検索を実行するとよく、そこでは閾値は、誤り性能が向上するか、または低下するかどうかに応じて増減する。あるいは、閾値は必要な読み取り動作の数を最小にするように調整され得る。決定閾値を調整するために使用され得る、さらなる閾値適合方法は前掲の米国仮特許願第60/894290号に記載されている。
The
場合によっては決定閾値を調整する段階がセル電圧を再読み取る段階を含むことに留意する必要がある。例えば、セル閾値電圧が上述のようにいろいろな電圧を語線に印加することによって読み取られる場合に、セルは変更された決定閾値を用いて再読み取られる。セルが高分解能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,
代替として、最良閾値を用いて復号された値を選択するために、ユニット60はいろいろな閾値を用いていろいろな反復で読み取られたデータ値を組み合わせることがよい。例えば、ユニット60はいろいろな反復で復号されたビット値について多数決を実行するとよい。
Alternatively, in order to select a value decoded using the best threshold,
さらなる代替として、ユニット60はいろいろな閾値を用いてセルから電圧を読み取り、ECCを復号する前にいろいろな反復からの読取り値を組み合わせることができる。言い換えれば、各セルについて、ユニット60はいろいろな閾値を用いてセル電圧を読み取り、複数の読み取り電圧に基づいてECC復号メトリクス(例えば、LLR)を生成することができる。次に、ECCはメトリクスを用いて復号される。いくつかの実施形態では、ECC復号が成功するまで、セルは反復していろいろな閾値を用いて読み取られる。各反復で、セルはいろいろな閾値を用いて読み取られる。復号メトリクスはいろいろな反復でセルから読み取られた電圧に基づいて計算または更新される。ECCが成功裏に復号されるまでプロセスは続く。
As a further alternative,
上の記述がセルをいろいろな閾値でセルごとに再び読み取ることに言及したけれども、単一セットの閾値をページ全体に使用することができる。 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は最初どんな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
図6は、本発明の実施形態に従って、メモリ・セル・アレイ28の歪みを推定する方法を図式的に示す流れ図である。以下に述べる方法は歪み推定モジュール112によって、例えば上図5の方法の歪み推定段階132で、使用され得る。この方法は、目標セルよりも前にプログラムされたセルに起因する歪みは、目標セルの後にプログラムされたセルに起因する歪みと異なる可能性があるという事実を使用する。
FIG. 6 is a flow diagram that schematically illustrates a method for estimating distortion of
別の仮定は、当技術分野で周知のように、アレイはプログラムおよび検査(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
所与の目標セルについて、分類段階174で、潜在的に妨害するセルはプログラミングの時間によって分類される。符号D1で示す、セル32のサブセットは、目標セルがプログラムされた時にP&Vプロセスによってまだ完全にプログラムされなかった潜在的に妨害するセルを含む。目標セルがプログラムされたときにクラスD1のセルは消去レベルにあったが、それ以来プログラムされた可能性がある。
For a given target cell, at the
いくつかのプログラミングスキームでは、セルはいくつかの段階でプログラムされる。例えば、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
信号処理ユニット60は、クラスベースの歪み推定段階178で、潜在的に妨害するセルのいろいろなクラスによる目標セルに対する歪みを推定する。仮にnおよびmはアレイ28内の目標セルの行および列の数をそれぞれ示す。xn,mは目標セルがP&Vプロセスを用いて書き込まれた後の目標セルの電圧を示す。xi,jは目標セルがプログラムされた時の行iおよび列jに位置するセルの電圧を示す。yn,mは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってxn,mと異なる。同様に、yi,jは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってxi,jと異なる。
yn,mに含まれる集合歪み次式のように推定され得る。
The
The set distortion included in yn , m can be estimated as follows:
クラス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項のxi,jは電圧の推定値であり、これは目標セルがプログラムされた時に妨害するセルに存在していた。 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:
上式[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:
場合によっては、例えば、セル電圧がバック・パターン・デペンダンシフィ(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,
いくつかの実施形態では、ユニット60は、センス増幅器において利得およびバイアス誤りに起因する歪みに応答可能なようにECCメトリクスを訂正する。或るメモリセルが読み取られるとき、センス増幅器はセルを流れる電流を電圧に変換する。従ってセンス増幅器出力における電圧はv=kSAiを満足する必要があり、ここでvは出力電圧を示し、iはセル電流を示し、そしてkSAは増幅器の利得を示し、これはすべてのセルについて一定であると仮定する。多くの実際の場合に、しかしながら、増幅器の利得は一定ではない。増幅器はまたバイアス誤りを生じさせる可能性がある。従って、センス増幅器の出力電圧はv=(kSA+ΔSA)i+BSAと表わすことが可能であり、ここでkSAは一定であり、ΔSAは利得誤りを示し、そしてBSAはバイアス誤りを示す。ΔSAおよびBSAはセンス増幅器ごと(すなわち、ビット線ごと)に変化する可能性がある。
In some embodiments,
いくつかの実施形態では、ユニット60はΔSAおよびBSAの値を推定し、推定したセンス増幅器パラメタに基づいてECCメトリクスを変更する。例えば、上式[4]また[5]のLLR計算は、式[4]の読み取り電圧r、または式[5]の区間境界VaおよびVbを変え、変倍することによって、いろいろなΔSAおよびBSA値を明らかにするために変更され得る。
In some embodiments,
例えば、上式[4]の読み取り電圧rはr0で置き換えすることが可能であり、これはr0=(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
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
本明細書で説明した実施形態はデータをマルチレベルセル(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.
20 装置
24 メモリ素子
28 メモリ・セル・アレイ
32 アナログ・メモリ・セル
36 データバッファ
40 読み取り/書き込みユニット
48 制御論理
52 メモリ信号プロセッサ
56 入力/出力バッファ
60 信号処理ユニット
64 符号化器/復号器
72 データバッファ
76 コントローラ
20 device 24
Claims (42)
データを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つの範囲を複数の決定間隔に分割するステップと、
前記第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.
前記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.
異なる複数組の前記決定閾値を用いて、前記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のECC復号プロセスを用いて復号された前記データにおける復号誤りの1つの表示を受け取るステップを含み、
前記ECC復号プロセスを変更するステップが、前記第1の誤り性能よりも性能が優れた1つの第2の誤り性能を有する1つの第2のECC復号プロセスを用いて前記第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.
それぞれの異なる複数組の前記決定閾値を用いて前記第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のアナログ値の追加のインスタンスを反復して得るステップと、
前記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のアナログ値を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のアナログ値を読み取るのに使用される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つのメモリセルと同時に完全にプログラムされたメモリセル、から成る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つのクロスカップリング行列の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
それぞれの群の前記歪みを推定するステップが、前記群内のそれぞれの前記メモリセルの平均歪みレベルの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セルの第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
前記符号化されたデータが格納された前記メモリ素子の前記アナログ・メモリセルから、それぞれ第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 .
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)
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)
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 |
-
2007
- 2007-05-10 JP JP2009508669A patent/JP4999921B2/en active Active
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 |