(57)【要約】メモリシステム内に格納されたデータの品質は様々な方法により評価され、メモリシステムは評価された品質に従って操作される。データ品質を、読み出し操作中に評価することができる。その後の誤り訂正符号の使用は、向上された効率でデータを検出し、再構成するために品質表示を利用することができる。また、データ品質の統計を作成するこができ、デジタルデータ値を、データ破損を防止するために、修正された方法で関連付けることができる。どちらの場合も、訂正動作を、適切に選択されたスケジュールに従って、かつ品質表示により提供された知識による向上された効率で、特に低品質データについて実施され得る。これらの方法は、マルチレベル格納メモリセルで構成された高密度のメモリシステムにおいて特に有用なものとなり得る。
2005527062.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステムを操作する方法において、
メモリシステムからデータ格納値およびエラー訂正データを読み出すステップと、
デジタルデータ値および関連付けられた品質表示により個々の読み出されたデータ格納値を表すステップと、
メモリシステムから読み出されたデータ格納値を表すデジタルデータ値に、誤り訂正符号と品質表示とを組み合わせて適用するステップと、
を含む方法。
【請求項２】
データ格納値を読み出す前記ステップが、複数の不揮発性メモリセルから並行して実行される請求項１記載の方法。
【請求項３】
個々の読み出されたデータ格納値を表す前記ステップは、
データ格納値がその内部に位置する定義された重ならない格納値間隔に従ってデジタルデータを生成し、個々の格納値間隔は、中央の好ましい範囲および前記範囲に隣接する少なくとも１つの周辺範囲を含むステップを含む請求項１記載の方法。
【請求項４】
関連付けられた品質表示により個々の読み出されたデータ格納値を表す前記ステップは、
データ格納値が、格納値間隔の好ましい範囲内に位置するのか、それとも隣接範囲内に位置するのかを示すための関連付けられた品質表示を生成し、それによって、データ格納値が好ましい範囲内に位置する場合には高品質データが示され、データ格納値が隣接範囲内に位置する場合には低品質データが示されるステップを含む請求項１記載の方法。
【請求項５】
前記個々の格納値間隔は、中央の好ましい範囲および前記好ましい範囲の両側に隣接する１つの周辺範囲を含み、さらに、関連付けられた品質表示を生成する前記ステップは、
低品質表示がデータ格納値に関連付けられた場合には、どの周辺範囲内にデータ格納値が位置するのかの表示を生成するステップを含む請求項４記載の方法。
【請求項６】
どの周辺範囲内にデータ格納値が位置するのかの表示を生成する前記ステップは、
データ格納値が中央の好ましい範囲に上方から隣接する周辺範囲内に位置する場合には、高い異常データを示すステップと、
データ格納値が中央の好ましい範囲に下方から隣接する周辺範囲内に位置する場合には、低い異常データを示すステップと、
を含む請求項５記載の方法。
【請求項７】
デジタルデータ値および関連付けられた品質表示により個々のデータ格納値を表す前記ステップは、
個々のデータ格納値を、関連付けられたデジタルデータ値により、その関連付けられた高品質または低品質表示のデジタル表現により、およびその関連付けられた低い異常または高い異常表示のデジタル表現により表すステップを含む請求項６記載の方法。
【請求項８】
デジタルデータ値に誤り訂正符号を適用する前記ステップは、
適用された誤り訂正符号が少なくとも１つの破損デジタルデータ値を再構成することができ、それによって少なくとも１つの破損デジタルデータが誤り訂正符号により検出されている場合に、誤り訂正符号を適用することにより少なくとも１つの破損デジタルデータ値を再構成するステップと、
適用された誤り訂正符号が少なくとも１つの破損デジタルデータを再構成することができず、それによって少なくとも１つの破損デジタルデータ値が誤り訂正符号により検出されている場合に、誤り訂正符号を関連付けられた品質表示と組み合わせて適用することにより少なくとも１つの破損デジタルデータ値を再構成するステップと、
を含む請求項７記載の方法。
【請求項９】
少なくとも１つの破損デジタルデータ値を再構成する前記ステップは、
関連付けられた低品質表示を用いて少なくとも１つのデジタルデータ値を修正するステップを含む請求項８記載の方法。
【請求項１０】
少なくとも１つのデジタルデータ値を修正する前記ステップは、
対応するデータ格納値がどの周辺範囲内に位置するかの関連付けられた表示に従って少なくとも１つのデジタルデータ値を修正し、それによって高い異常が示される場合には、少なくとも１つのデジタルデータ値が増大され、低い異常が示される場合には、少なくとも１つのデジタルデータ値が減少されるステップを含む請求項９記載の方法。
【請求項１１】
前記関連付けられた品質表示と組み合わせて誤り訂正符号を適用することは、
関連付けられた品質表示に従って少なくとも１つのデジタルデータ値を修正するステップと、
誤り訂正符号がデジタルデータ値を訂正することができるまで、少なくとも１つのデジタルデータ値を修正する動作を繰り返すステップと、
を含む請求項１０記載の方法。
【請求項１２】
メモリシステムを操作する方法において、
メモリシステムから複数のデータ格納値を読み出すステップと、
デジタルデータ値および関連付けられた品質表示により個々の読み出されたデータ格納値を表すステップと、
複数のデータ格納値に関連付けられた複数の品質表示の統計を作成するステップと、
メモリシステムを操作するために関連付けられた品質表示の統計を利用するステップと、
を含む方法。
【請求項１３】
データ格納値を読み出す前記ステップが、複数の不揮発性メモリセルから並行して実行される請求項１２記載の方法。
【請求項１４】
個々の読み出されたデータ格納値を表す前記ステップは、
データ格納値がその内部に位置する定義された重ならない格納値間隔に従ってデジタルデータ値を生成し、個々の格納値間隔は分離点により分離されるステップと、
データ格納値が格納値間隔内のどこに位置するかに従って関連付けられた品質表示を生成するステップと、
を含む請求項１２記載の方法。
【請求項１５】
メモリシステムを操作するために複数の関連付けられた品質表示の統計を利用する前記ステップは、
複数の関連付けられた品質表示の統計に従って分離点を修正するステップを含む請求項１４記載の方法。
【請求項１６】
複数の関連付けられた品質表示の統計を作成する前記ステップは、
格納値間隔の個々のサブ間隔内に位置するデータ格納値数を確定し、個々の格納値間隔は、重ならない複数のサブ間隔を含むステップと、
データ格納値数が所定値より小さい１つ以上のサブ間隔として分離ギャップを識別するステップと、
を含む請求項１５記載の方法。
【請求項１７】
複数の関連付けられた品質表示の統計に従って分離点を修正するステップは、
対応する分離ギャップ内に位置するように少なくとも１つの分離点を修正するステップを含む請求項１６記載の方法。
【請求項１８】
メモリシステムを操作する方法において、
メモリシステムからデータ格納値を読み出すステップと、
デジタルデータ値および関連付けられた品質表示により個々の読み出されたデータ格納値を表すステップと、
複数のメモリセルのデータ格納値に関連付けられた蓄積された品質表示を分類するステップと、
メモリシステムを操作するために蓄積された品質表示の分類を利用するステップと、
を含む方法。
【請求項１９】
データ格納値を読み出す前記ステップは、不揮発性メモリセルから並行して実行される請求項１８記載の方法。
【請求項２０】
個々の読み出されたデータ格納値を表す前記ステップは、
データ格納値がその内部に位置する定義された重ならない格納値間隔に従ってデジタルデータ値を生成し、個々の格納値間隔は、中央の好ましい範囲および前記範囲に隣接する少なくとも１つの周辺範囲を含むステップと、
データ格納値が、格納値間隔の好ましい範囲内に位置するのか、それとも隣接範囲内に位置するのかを示すための関連付けられた品質表示を生成し、それによって、データ格納値が好ましい範囲内に位置する場合には高品質データが示され、データ格納値が隣接範囲内に位置する場合には低品質データが示されるステップと、
を含む請求項１８記載の方法。
【請求項２１】
複数のメモリセルに関連付けられた品質表示を分類する前記ステップは、
複数のメモリセルの少なくとも１つにおける低品質データ数を確定するステップを含む請求項２０記載の方法。
【請求項２２】
メモリセルのシステムを操作するために、蓄積された品質表示の分類を利用する前記ステップは、
複数のメモリセルの低品質データ数に従って、少なくとも１つの複数のメモリセルのデータ格納値を扱うステップと、
低品質データ数が第１の所定値未満である場合には、データ格納値を元のままにするステップと、
を含む請求項２１記載の方法。
【請求項２３】
メモリセルのシステムを操作するために、蓄積された品質表示の分類を利用する前記ステップは、
データ格納値を同じ複数のメモリセルに再書き込みするステップと、
低品質データ数が、第２の所定値より小さいが、第１の所定値より小さくない場合には、システムの優先順位に従って選択された時間の後、データ格納値を別の複数のメモリセルに転記するステップと、
のうちの１つを含む請求項２２記載の方法。
【請求項２４】
メモリセルのシステムを操作するために、蓄積された品質表示の分類を利用する前記ステップは、
データ格納値を同じ複数のメモリセルに再書き込みするステップと、
低品質データ数が、第３の所定値より小さいが、第２の所定値より小さくない場合には、直ちに、または所定の遅れの後、データ格納値を別の複数のメモリセルに転記するステップと、
のうちの１つを含む請求項２３記載の方法。
【請求項２５】
メモリセルのシステムを操作するために、蓄積された品質表示の分類を利用する前記ステップは、
少なくとも１つの複数のメモリセルのデータ格納値を別の複数のメモリセルに転記するステップと、
低品質データ数が第３の所定値より小さくない場合には、少なくとも１つの複数のメモリセルを廃棄するステップと、
を含む請求項２４記載の方法。
【請求項２６】
メモリシステムを操作する方法において、
メモリシステムからデータ格納値を読み出すステップと、
デジタルデータ値および関連付けられた品質表示により個々の読み出されたデータ格納値を表すステップと、
複数のメモリセルのデータ格納値を表す破損デジタルデータ数を決定するために誤り訂正符号を適用するステップと、
誤り訂正符号を品質表示と組み合わせて適用することにより、破損デジタルデータを再構成するステップと、
メモリシステムを操作するために破損デジタルデータ値の数を利用するステップと、
を含む方法。
【請求項２７】
個々の読み出されたデータ格納値を表す前記ステップは、
データ格納値が位置する定義された格納値の重ならない間隔に従ってデジタルデータ値を生成し、個々の格納値間隔は、中央の好ましい範囲および前記範囲に隣接する少なくとも１つの周辺範囲を含むステップと、
データ格納値が、格納値間隔の好ましい範囲内に位置するのか、それとも隣接範囲内に位置するのかを示すための関連付けられた品質表示を生成し、それによって、データ格納値が好ましい範囲内に位置する場合には高品質データが示され、データ格納値が隣接範囲内に位置する場合には低品質データが示されるステップと、
を含む請求項２６記載の方法。
【請求項２８】
前記個々の格納値間隔は、中央の好ましい範囲および前記好ましい範囲の両側に隣接する１つの周辺範囲を含み、さらに、関連付けられた品質表示を生成する前記ステップは、
低品質表示がデータ格納値に関連付けられた場合には、どの周辺範囲内にデータ格納値が位置するのかの表示を生成するステップを含む請求項２７記載の方法。
【請求項２９】
どの周辺範囲内にデータ格納値が位置するのかの表示を生成する前記ステップは、
データ格納値が中央の好ましい範囲に上方から隣接する周辺範囲内に位置する場合には、高い異常データを示すステップと、
データ格納値が中央の好ましい範囲に下方から隣接する周辺範囲内に位置する場合には、低い異常データを示すステップと、
を含む請求項２８記載の方法。
【請求項３０】
デジタルデータ値および関連付けられた品質表示により個々のデータ格納値を表す前記ステップは、
個々のデータ格納値を、関連付けられたデジタルデータ値により、その関連付けられた高品質または低品質表示のデジタル表現により、およびその関連付けられた低い異常または高い異常表示のデジタル表現により表すステップを含む請求項２９記載の方法。
【請求項３１】
メモリシステムを操作するために破損デジタルデータ値の数を利用する前記ステップは、
複数のメモリセルの破損デジタルデータ値の数に従って複数のメモリセルのデータ格納値を扱うステップと、
破損デジタルデータ値の数が第１の所定値未満である場合には、品質表示と組み合わせた誤り訂正符号によってデータ格納値を再構成するステップと、
を含む請求項３０記載の方法。
【請求項３２】
メモリシステムを操作するために破損デジタルデータ値の数を利用する前記ステップは、
品質表示と組み合わせた誤り訂正符号によってデータ格納値を再構成するステップと、を含み、さらに
データ格納値を同じ複数のメモリセルに再書き込みするステップと、
破損デジタルデータ値の数が、第２の所定値より小さいが、第１の所定値より小さくない場合には、システムの優先順位に従って選択された時間の後、データ格納値を別の複数のメモリセルに転記するステップと、
のうちの１つを含む請求項３１記載の方法。
【請求項３３】
メモリシステムを操作するために破損デジタルデータ値の数を利用する前記ステップは、
品質表示と組み合わせた誤り訂正符号によってデータ格納値を再構成するステップと、を含み、さらに
データ格納値を同じ複数のメモリセルに再書き込みするステップと、
破損デジタルデータ値の数が、第３の所定値より小さいが、第２の所定値より小さくない場合には、直ちに、または所定の遅れの後、データ格納値を別の複数のメモリセルに転記するステップと、
のうちの１つを含む請求項３２記載の方法。
【請求項３４】
メモリシステムを操作するために破損デジタルデータ値の数を利用する前記ステップは、
品質表示と組み合わせた誤り訂正符号によってデータ格納値を再構成するステップと、
データ格納値を別の複数のメモリセルに転記するステップと、
破損デジタルデータ値の数が第３の所定値より小さくない場合には、複数のメモリセルを廃棄するステップと、
を含む請求項３３記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを扱うための方法に関し、より詳細には、データの品質についての表示を利用することにより誤り訂正符号の能力を向上させること、およびメモリシステムを操作することに関する。
【背景技術】
【０００２】
データ格納密度の継続的な向上は、とりわけ、個々のメモリセルのサイズを減少すること、セル間分離を減少させること、およびセルあたりより多くのデータを格納するためにいくつかの信号レベルを使用することにより達成される。サイズを減少させると、セルはより外乱に影響されやすくなり、セル間分離の減少は、セル間の望ましくない干渉を生じさせることがあり、マルチレベルデータ格納は、好ましい範囲からの逸脱がデータの読み違えという結果になる可能性がより高くなる。格納密度を向上するためのこれら負の副作用はすべて、データが破損される可能性をより高くする。
【０００３】
破損データを再構成する従来のやり方には、誤り訂正符号（ＥＣＣ）の適用が含まれる。単純な誤り訂正符号は、データがメモリシステムに書き込まれる場合に、ワードのビットの合計のパリティを取り込む付加的なパリティビットを格納する。格納の間にデータが破損されれば、ビットの合計のパリティは変わり得る。メモリシステムからデータを読み出す際に、ワードのビットの合計のパリティが、ＥＣＣによりもう一度計算される。データ破損のために、計算されたパリティは、パリティビットの内容と一致しないことがあり、ＥＣＣは破損を検出し得る。
【０００４】
より洗練された誤り訂正符号が今日使用されている。しかし、基本的な概念は残っている。すなわち、ＥＣＣは、データをメモリシステムに書き込む際にデータの何らかのサマリー情報を計算する。次いで、このサマリー情報は、追加ビット中に格納される。読み出し中、サマリー情報はＥＣＣによりもう一度計算され、その結果は、追加ビット中に格納されている結果と比較される。これら２つの結果が合致しなければ、そのデータは、格納中またはメモリシステムの操作中に破損されたことになる。
【０００５】
ＥＣＣは、少なくとも２つの機能、すなわちエラー検出およびエラー訂正を有することができる。後者の機能は一般により困難である。初期の例は、（７，４）ハミングコードであり、これはワードあたり２つのエラーを検出する能力を有しているが、ワードが単独のエラーを含む場合にのみそのワードを訂正することができる。
【０００６】
より洗練されたＥＣＣは今日、ワードあたり１つを超えるエラーを訂正することができる。しかし、洗練されたＥＣＣにとってさえもワードあたり２つないし３つのランダムエラーを超えると、データの再構成は、計算面でいっそう複雑になる。一般的な方法は、不正確な復元のある程度許容可能な低い確率をもってデータを復元することである。しかし、エラー数の増大に伴って、信頼性のあるデータ復元の確率も急速に減少するか、あるいは追加のハードウェアおよび／または性能における関連コストが法外に高くなる。
【０００７】
従って、今日のメモリシステムにおいて誤り訂正符号の能力を向上させる補助的な方法が望まれている。
【０００８】
いくつかの補助的な方法は、ともにＤ．Ａｕｃｌａｉｒらによる米国特許第５，６５７，３３２号（特許文献１）と、第６，０４９，８９９号（特許文献２）に詳細に記載され、これら特許はその全体が本願明細書において参照により援用されている。これら特許は、ソフトエラーハンドリングの概念を開発した。
【０００９】
ＥＥＰＲＯＭシステムを含む半導体メモリデバイスにおいて、データは特定ゲートの電圧で表し得る。典型的には、種々のデジタルデータ格納値が、十分に分離された電圧レベルにより表される。何らかの理由により、読み出し操作中に、電圧レベルが、それらの好ましい範囲からレベル分離に匹敵する量だけシフトすれば、エラーはＥＣＣにより検出され得る。
【００１０】
多くのエラーは徐々に進展する。メモリセル電圧は、多くの理由により、好ましい範囲からずれることがある。これらの理由として、近隣メモリセルへの書き込みの間の干渉のような内部の影響だけでなく、外乱、例えば、動作条件の変動が含まれる。前述した発明には、電圧シフトが実際のＥＣＣ検出されたエラーという結果になる前でさえ、メモリセルアレイのデータを定期的にモニタする方法が記載されている。電圧が好ましい電圧範囲からシフトし始めたことをモニタ操作が見出した後、種々の訂正動作を実行することができる。考えられる訂正動作は、アレイの“スクラビング”である。スクラビングは、エラーのあるメモリセルの完全なセクタを、アレイの別のセクタに再書き込みすることを含み得る。
【００１１】
近年、単一のメモリセルが２進数の“０”および“１”だけでなく、いくつかのより多くのレベルも格納するマルチレベル格納方式を実装することにより、データ格納密度はさらに向上している。レベル数として、４，８，または１６が選択されることが多い。このようなマルチレベルメモリシステムは、Ｄ．Ｇｕｔｅｒｍａｎらによる米国特許第６，２２２，７６２号（特許文献３）およびＤ．Ｇｕｔｅｒｍａｎらによる米国特許第６，２７５，４１９号（特許文献４）に記載されている。これら特許は、その全体が本願明細書において参照により援用されている。このようなマルチレベルシステムにおいて、４，８，または１６の電圧レベルを、同じ全電圧範囲内で識別することができる。それに対応して、電圧レベルの分離が減少し、いっそう小さい電圧シフトがエラーにつながり得る。
【００１２】
従って、マルチレベルメモリセルの高密度アレイ内の破損データを検出し、再構成する誤り訂正符号の能力を向上させる補助的な方法が望まれている。
【特許文献１】米国特許第５，６５７，３３２号
【特許文献２】米国特許第６，０４９，８９９号
【特許文献３】米国特許第６，２２２，７６２号
【特許文献４】米国特許第６，２７５，４１９号
【発明の開示】
【００１３】
簡潔かつ一般的に、メモリシステム内に格納されたデータの品質は種々の手順により評価され、メモリシステムは評価された品質に従って操作される。データ品質を、読み出し操作中に評価することが可能である。その後の誤り訂正符号（ＥＣＣ）の適用は、向上された効率でデータを検出して、訂正するために品質表示を利用することが可能である。また、データ品質の統計を作成することが可能であり、データ破損を減少するようにデータのデジタル表現が修正される。どちらの場合も、訂正動作は、特に低品質データについて実施され、向上された効率で品質表示により支援され得る。これらの方法は、マルチレベルセルで構成された高密度のメモリシステムにおいて特に有用なものとなり得る。
【００１４】
本発明の１つの態様によれば、データ品質評価は、ＥＥＰＲＯＭセルアレイのようなアレイのメモリセルからデータ格納値を読み出す間に行うことができる。読み出しは、データのエンドユーザにより要求されるよりも高精度で行うことができる。例えば、データを４ビットで格納することを意図したデータ格納値は、７ビットの精度で読み出すことができる。次いで、データ格納値の読み出しのこのより高い精度を、ユーザにより、さらにはデータ品質の関連付けられた表示により必要とされるより低精度のデジタルデータ値に変換することができる。破損デジタルデータ値を誤り訂正符号が検出すれば、関連付けられた品質表示を利用して、破損デジタルデータ値のデータをより効果的に再構成することが可能であり得る。
【００１５】
例えば、破損デジタルデータ値をＥＣＣが発見し、対応するデータ格納値が好ましい範囲以上であることを関連付けられた品質表示が示していれば、おそらくデータ格納値は、１つのより高いデジタルデータ値の隣接した好ましい範囲から下方にドリフトしたことになる。本発明の実施形態は、この品質表示をＥＣＣに取り次ぎ、次いでＥＣＣが、この例における１つのより高いデジタルデータ値に向けることにより、破損デジタルデータ値を訂正することができる。
【００１６】
本発明の別の態様によれば、データ品質評価の統計を、エラーを示しているＥＣＣなしでさえも作成することができる。セクタ内でどれだけの量によりいくつのデータ格納レベルがドリフトされているのかの分布を形成することができる。分布が系統的なシフトを示すセクタにおいて、データ格納値へのデジタルデータ値の割り当てを、系統的なシフトを補償するために、対応する量によりシフトすることができる。分布がより広くなったセクタにおいて、訂正動作を、広がりの重大さに従って、予定または実行することができる。これらの訂正動作は、高いまたは低い優先順位で、誤りデータまたは対応するセクタ全体を再書き込みすることを含み得る。
【００１７】
本発明の別の態様によれば、ＥＣＣにより検出されたエラーは、セクタ内で数えることができる。セクタあたりのエラー数に応じて、種々のタイプの訂正動作を高いまたは低い優先順位で実施することができる。
【発明を実施するための最良の形態】
【００１８】
メモリセルアレイのようなメモリシステムからデータが読み出される場合、データは様々な理由によりエラーを含んでいることがある。これらのエラーは、例えば、誤り訂正符号（ＥＣＣ）を適用することによって訂正することができる。データの品質についての表示を生成し、誤り訂正符号をこのデータ品質についての表示と組み合わせて適用することによって誤り訂正符号の効率を向上することができる。また、メモリシステムは、エラーの存在を示しているＥＣＣがなくても、品質表示に基づいて操作することができる。本発明は、例えば、ランダムアクセスメモリ、不揮発性ないしフラッシュメモリ、磁気ないし光ディスクのようなメモリまたは格納システムにおいても実施することができる。メモリシステムは、２またはマルチレベル方式でデータを表すことが可能である。一例として、先ずメモリセルアレイについて説明し、次いで誤り訂正符号の効率を改善するための種々の方法について説明する。
【００１９】
図１は、メモリ要素のアレイを含むメモリシステムのブロック図を示している。個々にアドレス可能な多数のメモリセルが、行および列の規則的なアレイ１１で配置されている。個々のメモリセルを、ビットライン、ワードライン内に配置された選択ゲート、およびステアリングゲートにより制御することができる。ビットラインは、本願明細書において、アレイ１１の列に沿って延びるように指定され、ワードラインは、アレイ１１の列に沿って延びるように指定されている。ビットラインユニット１３は、ビットラインデコーダ、格納素子、ドライバ回路およびセンス増幅器を含み得る。ビットラインユニット１３を、ライン１５によりセルアレイ１１に、かつビット制御ライン２９および読み出しライン４１によりコントローラ２７に結合することができる。ワードラインユニット１９は、選択ゲートデコーダおよびドライバ回路を含み得る。ワードラインユニット１９を、ライン１７によりセルアレイ１１に、かつワード制御ライン３１によりコントローラ２７に結合することができる。ステアリングゲートユニット２１は、ステアリングゲートデコーダおよびドライバ回路を含み得る。ステアリングゲートユニット２１を、ライン２３によりセルアレイ１１に、ステアリング制御ライン３３によりコントローラ２７に、かつライン２２によりビットラインユニット１３に結合することができる。ビットラインユニット１３、ワードラインユニット１９およびステアリングゲートユニット２１はバス２５に結合することができ、次いでこのバスがコントローラ２７に結合される。コントローラ２７を、ライン３５によりホストに結合することができる。
【００２０】
予め選択されたメモリセルがプログラムされる場合、電圧を、予め選択されたメモリセルに対応する、予め選択されたセルのプログラミングに十分な所定のレベルで、ビットライン、ワードラインおよびステアリングゲートに印加することができる。コントローラ２７は、予め選択されたメモリセルのアドレスを、バス２５を介して、ビットラインユニット１３、ワードラインユニット１９、およびステアリングゲートユニット２１におけるそれぞれのデコーダに、ライン２６ａ、２６ｂ、および２６ｃを介してそれぞれ送る。ビットラインユニット１３、ワードラインユニット１９、ステアリングゲートユニット２１およびコントローラ２７の間の状態および制御コマンドは、ビット制御ライン２９、ワード制御ライン３１およびステアリング制御ライン３３を介して伝達される。
【００２１】
予め選択されたメモリセルが読み出される場合、電圧を、予め選択されたメモリセルに対応する、予め選択されたメモリセルの読み出しを可能にするのに十分な所定のレベルで、対応するビットライン、ワードライン、およびステアリングゲートに印加することができる。コントローラ２７は、ビット制御ライン２９を介してビットラインの電圧を印加すること、ワード制御ライン３１を介してワードラインの電圧を印加すること、およびステアリング制御ライン３３を介してステアリングゲートの電圧を印加することを可能にする。これらの電圧により、予め選択されたメモリセルを介して電流が発生し得る。その電流は、予め選択されたメモリセルがプログラムされたか否かを示している。電流の値を、ビットラインユニット１３におけるセンス増幅器により増幅および参照と比較することができ、その結果をラッチまたはレジスタ内に一時的に格納することができる。予め選択されたメモリセルから読み出された結果として得られるデータは、読み出しライン４１を介してコントローラ２７に送ることができる。
【００２２】
図２Ａ〜Ｃは、本発明の実施形態を示している。メモリシステムを操作中に、データ格納値１０２をメモリセルアレイから読み出すことができる。データ格納値１０２を、信号の値として読み出すことができる。考えらえる信号として、例えば、電圧または電流レベルが含まれる。実施形態によっては、データ格納値１０２は、誤り訂正符号をデータ格納値に適用することができるコントローラ２７に転送される。データ格納密度を向上させるために、メモリシステムによっては、マルチレベル格納方式が適用され、そこで個々のメモリセルを、２進数の“０”および“１”に関連付けるだけでなく、いくつかの状態でデータを格納することができる。これら状態数は、４，８，または１６が含まれる２の累乗となるように選択することができる。データ格納値１０２に対応する信号の値は、全信号格納値間隔１００内に位置することができる。実施形態によっては、全信号格納値間隔１００を、デジタルデータ値についてのデータ格納値１０２のマルチレベル態様を取り込むために、個々の格納値間隔１０４−ｉに分割することができる。ここで、ｉは正の整数を意味する。次いで、読み出されたデータ格納値１０２は、格納値間隔１０４−ｉの１つに入る。格納値間隔１０４−ｉは、マルチレベルデータ格納値のレベルに対応することができる。従って、ｉは、１と４，８，または１６との間の対応値を取ることができる。格納値間隔１０４−ｉは、隣接し、実質的に等しい大きさにすることができる。アナログデータ格納値からデジタルデータ値に変換するために、デジタルデータ値１０６−ｉを格納値間隔１０４−ｉに関連付けることができる。一例として、マルチレベルメモリシステムが４ビットのデータを２4 ＝１６レベルで格納すれば、全信号格納値間隔１００を、それに対応して１６の格納値間隔１０４−ｉに分割することができ、考えられる１６のデータ格納値を取り込むために、１６のデジタルデータ１０６−ｉは、それに対応して１６の格納値間隔１０４−ｉに関連付けることができる。従って、ｉは、１と１６との間の値をとることができる。デジタルデータ値１０６−１から１０６−１６までの考えられる割り当ては、０から１５まで、または１から１６までの整数になり得る。
【００２３】
格納値間隔１０４−ｉ内で、中央の好ましい範囲１０８−ｉおよび周辺隣接範囲１１２−ｉを定義することができる。中央の好ましい範囲１０８−ｉは、例えば、格納値間隔１０４−ｉの中央部分をまたぐ、格納値間隔１０４−ｉ内に含まれる信号値の範囲とすることができる。周辺隣接範囲１１２−ｉは、中央の好ましい範囲１０８−ｉの片側または両側で、格納値間隔１０４−ｉ内の信号値の範囲とすることができる。前に言及されたように、電圧レベルは、それらの設計値からシフトし得る。このようなシフトに対応するために、低マージン１１４−１および高マージン１１４−２が、全格納値間隔１００の両端に割り当てられる。
【００２４】
図２Ａに示されているように、実施形態によっては、中央の好ましい範囲１０８−ｉおよび周辺隣接範囲１１２−ｉを、アナログ信号値に関して定義することができる。この特定の例において、読み出されたデータ格納値１０２は、格納値間隔１０４−１の周辺隣接範囲１１２−１−１に位置し、従って、関連付けられたデジタルデータ値１０６−１を有し、この値は“１”である。
【００２５】
図２Ｂに示されているように、他の実施形態において、格納値間隔１０４−ｉを、サブ間隔１１６−ｉ−ｊにさらに分割することができ、ここでｊは正の整数である。例えば、個別の格納値間隔１０４−ｉを、７つのサブ間隔１１６−ｉ−ｊに分割することができ、ここで、それに対応してｊは１から７の間の値をとることができる。この場合、例えば、２4 ＝１６レベルを有するマルチレベルメモリシステムにおいて、全信号格納値間隔１００を１２８のサブ間隔に分割することができる。この１２８のサブ間隔から、１６×７＝１１２のサブ間隔が、各格納値間隔１０４−ｉにおいて７つのサブ間隔を有する１６の格納値間隔１０４−ｉに対応するために用いられ、低および高マージン１１４−１および１１４−２に対応するために、サブ間隔が８つずつそれぞれ用いられる。サブ間隔を、実質的に等しい大きさにすることができる。この特定の例において、読み出されたデータ格納値１０２は、サブ間隔１１６−１−２内に位置し、従って、周辺隣接範囲１１２−１−１内に位置し、よって関連付けられたデジタルデータ値１０６−１を有し、この値は“１”である。
【００２６】
実施形態によっては、データ格納値１０２を、先ずサブ間隔に従って高精度でデジタルデータに変換することができ、次いで、中央の好ましい範囲１０８−ｉおよび周辺隣接範囲１１２−ｉを、これらの高精度デジタルデータに関して定義することができる。前述した特定の例において、データ格納値１０２を、それが位置するサブ間隔１１６−ｉ−ｊに従って７ビットデジタルデータに変換することができ、ｊを１〜７の値と想定することができる。７ビットデジタルデータ値の範囲１１６−ｉ−１から１１６−ｉ−７は、４ビットデジタルデータ値１０６−ｉにより“ｉ”として表すことができる。例えば、７ビットデジタルデータ値の範囲１１６−１−１から１１６−１−７は、４ビットデジタルデータ値１０６−１に“１”として関連付けることができ、７ビットデジタルデータ値の範囲１１６−２−１から１１６−２−７は、４ビットデジタルデータ値１０６−２に“２”として関連付けることができ、以下同様である。中央の好ましい範囲１０８−１は、１１６−１−３から１１６−１−５の７ビットデジタルデータ値の範囲とすることができ、周辺隣接範囲１１２−１−１および１１２−１−２は、１１６−１−１から１１６−１−２および１１６−１−７から１１６−１−８の７ビットデジタルデータ値の範囲とそれぞれすることができる。格納値間隔１０４−１および１０４−２を、分離点１２７−１により分離することができる。
【００２７】
サブ間隔１１６−ｉ−ｊが１〜１２８の全番号によりインデックスされれば、前述した割り当ては以下のように言い直すことができる。低マージン１１４−１は、サブ間隔１〜８に関連付けられ、デジタルデータ値“１”は、サブ間隔９〜１５に関連付けられ、デジタルデータ値“２”は、サブ間隔１６〜２２に関連付けられ、以下同様である。サブ間隔９〜１５内では、中央の好ましい範囲はサブ間隔１１〜１３であり、周辺隣接範囲は９〜１０および１４〜１５であり、以下同様である。
【００２８】
データ格納値１０２がメモリシステムから読み出される場合、読み出されたデータ格納値１０２が位置する個々の格納値間隔１０４−ｉが特定される。データ格納値１０２が、中央の好ましい範囲１０８−ｉ内に位置するのか、あるいは格納値間隔１０４−ｉ内の周辺隣接範囲１１２−ｉ−１または１１２−ｉ−２内に位置するのかも特定される。
【００２９】
データ格納値の格納値間隔１０４−ｉに関連付けられたデジタルデータ値１０６−ｉを、データ格納値１０２のデジタル表現として選択することができる。データ格納値１０２のこのデジタル表現は、データ格納値１０２の品質に関する表示により補完され得る。この品質表示は、データ格納値１０２がどこで格納値間隔１０４−ｉに入るかを反映することが可能である。データ格納値１０２が中央の好ましい範囲１０８−ｉに入れば、“高品質”表示を生成することが可能となる。データ格納値１０２が中央の好ましい範囲１０８−ｉの外側かつ周辺隣接範囲１１２−ｉ−１または１１２−ｉ−２の内側であれば、“低品質”表示を生成することが可能となる。実施形態によっては、この表示を、データ格納値１０２を表すデジタルデータ値１０６−ｉに関連付けることができる。例えば、２進数をデジタルデータ値１０６−ｉに添付することができ、ここで２進数“１”は“高品質”を表し、２進数“０”は“低品質”を表すことができる。実施形態によっては、反対の取り決めを利用することができる。
【００３０】
データ格納値１０２が“低品質”表示を有していれば、データ格納値１０２がその内部に位置する周辺隣接範囲１１２−ｉ−ｊを特定することによりその品質についてのさらなる表示を生成することができる。対応する好ましい中央範囲１０８−ｉの最も低い値よりも低い値を有する周辺隣接範囲１１２−ｉ−１内にデータ格納値１０２が位置するのであれば、“低い異常”表示が生成され得る。対応する好ましい中央範囲１０８−ｉの最も高い値よりも高い値を有する周辺隣接範囲１１２−ｉ−２内にデータ格納値１０２が位置するのであれば、“高い異常”表示が生成され得る。実施形態によっては、この表示を、データ格納値１０２を表すデジタルデータ値１０６−ｉに関連付けることができる。例えば、追加の２進数を、デジタルデータ値１０６−ｉに添付することができ、ここで、２進数“１”は“高い異常”を表し、２進数“０”は“低い異常”を表すことができる。実施形態によっては、反対の取り決めを利用するこができる。
【００３１】
図２Ｃは、本発明の対応する実施形態を示し、そこでデータ格納値１０２は特に１６レベルを有し、従って、関連付けられたデジタルデータ値１０６−ｉは４ビットを有している。品質表示１３２−ｉは、“高品質”または“低品質”を表す第５のビットを添付することによりこのデジタルデータ値に関連付けられ、異常表示１３４−ｉは、“高い異常”または“低い異常”を表す第６のビットとして関連付けられている。
【００３２】
デジタルデータ１０６−ｉを、誤り訂正符号を用いて処理するためにコントローラ２７に読み出すことができるのに対して、関連付けられた品質表示は、例えば、バッファ内に一時的に格納することができる。誤り訂正符号がさらなる表示を必要とするのであれば、品質表示はもっと後で読み出すことができる。
【００３３】
品質表示を、すでにメモリ内にあるデジタルデータ値に関連付けることができる。前述した実施形態において、データ格納値は、７ビット精度で読み出される。次いで、４ビットデジタルデータ値１０６−ｉ並びに品質表示１３２−ｉおよび１３４−ｉは、メモリ内のデータ格納値１０２に関連付けられ、その後コントローラへシフトアウトされる。
【００３４】
他の実施形態において、データ格納値の７ビットの表現を、コントローラへシフトアウトすることができ、コントローラは、代表的な４ビットデジタルデータ値および関連付けられた品質表示を抽出する。さらなる実施形態において、２7 ＝１２８エントリを有する“ルックアップ”テーブルが、前述した例の範囲内で生成される。ルックアップテーブル中のエントリのアドレスは、データ格納値を位置することができる１２８のサブ間隔に対応する。アドレスのエントリは６ビットを含むことができ、４ビットはデジタルデータ値を表し、残り２ビットは品質表示を表す。品質表示は、例えば、“高品質”または“低品質”、および“高い異常”または“低い異常”を示すことができる。このようなルックアップテーブルは、例えば、ランダムアクセスメモリ内でホストされ得る。データ格納値が読み出される場合、データ格納値が位置するサブ間隔が決定される。次いで、決定されたサブ間隔に対応するルックアップテーブルの６ビットエントリが、さらなる処理のためにコントローラへシフトアウトされる。
【００３５】
様々な理由から、デジタルデータ値１０６−ｉは破損され得る。理由のいくつかは、高密度のメモリシステムにおけるメモリセルの絶えず減少しているサイズにより悪化させられる問題であるメモリセルからの電荷の漏洩であり得る。これらの高密度も、セル間分離を減少させることにより達成される。現在のメモリアレイデザインのこの態様は、近傍のメモリセル間の干渉の可能性が高まることになる。例えば、１つのメモリセルの電荷が電界を作り出すことができ、その一部が別のメモリセルの読み出し電流に影響を与えて、これを改変する。最後に、セルが経験した履歴によってもデータは破損し得る。過度に書き込みおよび読み出しがなされるメモリセルのデータ格納値は、好ましい中央範囲からシフトすることによりエラーを生じる可能性がより高くなり得る。
【００３６】
破損の可能性のために、デジタルデータ値は、何らかの形の試験および訂正をすることなくユーザに転送されるべきではない。多くのメモリシステムにおいて、これらの機能は、誤り訂正符号（ＥＣＣ）をデジタルデータ値１０６−ｉに適用することによって実行される。典型的には、ＥＣＣは、データをメモリに書き込む際にそのデータに適用され、その結果は、例えば、データのそばの追加のビット中に格納される。一例は、（７，４）ハミングコードであり、これは、３つの追加のビットをすべての４ビットワードに関連付けて、１６の考えられる４ビットデータのいずれか２つの間の３の最小ハミング距離を達成する。同じデータおよびその関連付けられたＥＣＣビットを読み出す場合にＥＣＣは再計算され、ＥＣＣの再計算の結果を、数学的に予想される結果と比較することが可能となる。再計算された結果と予想される結果とが同じであれば、そのデータはおそらく破損されなかったのであるのに対して、再計算された結果と予想される結果とが合致しなければ、そのデータは破損されている。
【００３７】
ＥＣＣを種々のサイズのデータグループに適用するこができることは注目に値する。さらに、フラッシュメモリシステムにおいて、ＥＣＣは、その関連付けられたデータセクタについて計算することができる一方で、データは本質的に同時に読み出される。
【００３８】
破損しているデータの項目数が、使用される特定のＥＣＣにより定義されたしきい値をひとたび超えると、データを正常に再構成することができる可能性は急激に低下する。例えば、データの５１２バイトのセクタにおいて、データの１つまたは２つの項目が破損すれば、適切なＥＣＣは、破損データを１００％確実に再構成することができる。しかし、破損データ数が、臨界数、例えば、３〜１０（ＥＣＣによっては約５）よりも高ければ、ＥＣＣがデータを正しく再構成する可能性は極端に低く、ともすれば、データを不正確に再構成する可能性が極端に高い。
【００３９】
多くのＥＣＣは、データ復元のために追加のビットを用いる。データを再構成するＥＣＣの能力に関する一般的な関係は、最初にハミングにより与えられた。ｎ＝２m の異なるデータを符号化することができる長さｍの２進ワードをメモリシステムが用いるのであれば、ｔ個の破損データを確実に訂正することができ、少なくともＰ個の追加のビットをメモリシステムが用いるのであれば、Ｐの値についての下限は、以下の“下方ハミングの限界”により与えられる。
2005527062.tif 000003
【００４０】
同様な意味合いで、メモリシステムがＰ個の追加のビットを用いれば、ＥＣＣは、最大ｔ個の破損ビットを有するワードを確実に再構成することができるということを述べているとこの関係を解釈することができる。多くのシステムにおいて、１つまたは２つのエラーを有するデータセクタの再構成が高い信頼性で実行することができるようにＰが選択される。
【００４１】
この課題に対処するために、ＥＣＣは、データの最もありそうな再構成を生成するだけでなく、再構成されたデータの信頼性も評価することができる。前述した例において、ＥＣＣが約１つないし２つの破損データの存在を検出すれば、ＥＣＣは、再構成されたデータがおそらく非常に正しいものであることを示すことができる。この場合、再構成されたデータを、コントローラ２７からユーザに転送することができる。ＥＣＣが、約３つから５つの破損データを見出せば、ＥＣＣは、破損データを正しく再構成した可能性が減少していることを示すことができる。次いで、データのその後の用途に応じて、コントローラ２７は、再構成されたデータを受け入れるか拒否するかを決定し、それをユーザに転送することができる。最後に、ＥＣＣが約５つ以上の破損データを見出せば、ＥＣＣは、破損データを正しく再構成した可能性が非常に低いこと、またはデータを再構成することが不可能であることを示すことができる。実際の数値は、ＥＣＣの種々の実施において引用されたものと異なり得る。
【００４２】
誤ったデータの再構成の可能性もある。ＥＣＣはデータセクタについてのサマリー表示のみを用いているので、ＥＣＣは、破損した“８”を“３”で置き換えることにより一見したところエラーカウントが低下することを偶然見出し、従って“３”を受け入れることがある。このような誤ったデータの再構成は、データ復元を急速に悪化させ、そのデータ復元を信頼できないものにすることがある。
【００４３】
信頼性の低下のこれらおよびその他の場合において、コントローラ２７は、ＥＣＣの信頼性を向上させるために補助的な訂正方法を用いることがある。本発明のいくつかの実施形態は、データについての付加的な表示を提供することによりＥＣＣの信頼性を向上させる。これは、例えば、デジタルデータ値１０６−ｉに関連付けられた格納された品質表示を読み出すコントローラ２７によって達成することができる。
【００４４】
データを再構成するＥＣＣの能力が制限される１つの理由には、ＥＣＣが、データセクタ内の破損ビットの位置を決定することができないこと、従って破損データを訂正することができないことがある。この問題は、本発明のいくつかの実施形態によって改善することができる。というのは、“低品質”データは、破損データであると考えられる候補であること、およびデータの項目の品質が決定される際に、その位置も知られるからである。従って、“低品質”データの位置もＥＣＣに提供することができる。その結果、エラー訂正のために利用可能な時間フレーム内でデータを確実に再構成するＥＣＣの能力は、誤っていると思われるビットを、それらの識別された“低品質”に基づいて、エラー訂正プロセスに提案することによって向上することができる。
【００４５】
図３は、いくつかの実施形態の別の利点を示し、これらの実施形態は、データの破損項目をどのように再構成するかについての提案をＥＣＣに提供することができる。例えば、計算によりＥＣＣがデータセクタ内の破損データの存在を示せば、“低品質”を示す品質インジケータ１３２−ｉを有する４ビットデジタルデータ１０６−ｉは、破損データである可能性のある候補である。特に、４ビットデジタルデータ値１０６−ｉが“低い異常”表示を有していれば、破損の前に、対応する格納データ値１０２が、１だけ低いデジタルデータ値１０６−（ｉ−１）により表された可能性がある。例えば、“低品質”データ格納値のデジタルデータ値が、“低い異常”表示を有する“８”であれば、破損の前に、格納データ値がデジタルデータ値“７”に対応し、そこから上方へシフトした可能性がある。次いで、この実施形態は、破損した“８”を特に“７”に訂正してみることをＥＣＣに提案することができる。この提案は、再構成されたデータの信頼性、従ってＥＣＣの効率を向上できる。というのは、このような表示がない場合、ＥＣＣは、破損した“８”を訂正するために考えられる全ての数をその努力において試す必要があり、データ訂正のために利用可能な一般的に短い時間フレーム内で破損データを正しく再構成する機会を低下させる。
【００４６】
セクタを読み出す際に、１を超えるデジタルデータ値は、“低品質”として特徴付けられることが可能である。“低品質”デジタルデータ値の数がｎであれば、品質表示に応じて、破損データを訂正する２n −１通りの方法が考えられる。というのは、ｎ個のデジタルデータ値の各々は個別に変更され得るからである。再構成されたデータを、これら２n −１個の考えられる訂正の中から高い確率で見出すことができる。従って、これら２n −１通りの組合せを最初に試みることによりデータの再構成を開始することをＥＣＣに提案することによって、デジタルデータ値は、おそらくより速く再構成することができる。読み出し操作を消費するどのような付加的な時間も必要とされず、データ再構成についてのすべての表示がすでにＥＣＣおよびコントローラにとって利用可能であることは言及する価値がある。
【００４７】
品質表示は、さらに別の方法で利用することができる。データセクタがメモリシステムから読み出される場合、品質表示もセクタのデータ格納値およびその品質の統計的分布を生成し、追跡するために収集することができる。そうすることの利点には、いくつかのセクタ内でデータ破損が系統的であってもよいことがある。このことの理由は、セクタの操作パラメータを変更する温度の変化のような外部状況にそれらの起源を有することであり得る。または、理由をセクタの履歴と結び付けることができる。例えば、ファウラー・ノルドハイムトンネリングに基づく消去操作は、降伏電圧に近い一定のフラッシュメモリセルのソース−基板接合にバイアスをかけることができ、頻繁な消去操作は、メモリセルの物理的構造の劣化を引き起こすことがあり、おそらく電荷損失につながる。また、製造工程の間に、製造または材料の異常のために、特定セクタの特性が好ましい値から逸脱する可能性がある。このような系統的なデータ破損は、品質表示の統計の利用の影響を受け得る。
【００４８】
図４Ａ〜Ｃは、隣接する２つの格納値間隔１０４−ｉおよび１０４−（ｉ＋１）におけるデータ格納値の考えられる統計的分布を示している。図４Ａに示されているように、典型的な場合において、データ格納値は、対応する好ましい中央範囲１０８−ｉおよび１０８−（ｉ＋１）のまわりに１２２−ｉおよび１２２−（ｉ＋１）タイプの分布を示す。この場合、分布１２２−ｉおよび１２２−（ｉ＋１）は、ほとんどまたは全てのデータ格納値が、対応する好ましい中央範囲１０８−ｉおよび１０８−（ｉ＋１）の近くに位置し、分離点１２７−ｉ近傍にはほとんどまたは全くないという意味で、十分に分離されている。この事実は、分布１２２−ｉおよび１２２−（ｉ＋１）の間の分離ギャップ１２９−ｉの概念を導入することによって再び表すことができる。分離ギャップ１２９−ｉは、データ格納値がほとんどまたは全く位置しない範囲を示し、かつ、それは分離点１２７−ｉのまわりに位置する。分離点１２７−ｉおよび１２７−（ｉ＋１）の間に位置するデータ格納値は、デジタルデータ値１０６−ｉに関連付けられ、以下同様である。
【００４９】
図４Ａは、格納値間隔１０４−ｉおよび１０４−（ｉ＋１）がサブ間隔１１６−ｉ−ｊおよび１１６−（ｉ＋１）−ｊにそれぞれ分割される実施形態を示し、ここでｊは１〜７の間の値をとることができる。この実施形態において、データ格納値のほとんどまたは全てが２〜６の間のｊ値を有するサブ間隔内に位置し、その大半が３〜５の間のｊを有する中央の好ましい範囲内に位置すれば、分布は十分に分離される。このような十分に分離された分布の場合、データ格納値１０２を、高い信頼性でデジタルデータ値１０６−ｉに結び付けることができる。
【００５０】
図４Ｂは、隣接する分布１２２−ｉおよび１２２−（ｉ＋１）が系統的に破損される場合の考えられる状況を示している。このような系統的な破損は、例えば、温度変化により引き起こされ得る。この場合、分布１２２−ｉおよび１２２−（ｉ＋１）は、“高い異常”データ数が“低い異常”データ数よりも大きいという意味で、上方にシフトされる。このような系統的なシフトの場合、分布１２２−ｉ、１２２−（ｉ＋１）、および１２２−（ｉ＋２）は、依然として十分に分離されたままである。
【００５１】
図４Ｂは、格納値間隔１０４−ｉがサブ間隔１１６−ｉ−ｊにさらに分割される実施形態を再度示している。系統的なシフトは、いくつかのデータ格納値をサブ間隔ｊ＝１以内に有し、ｊ＝２，３，および４には本質的に全くデータ格納値を有さず、データ格納値の大部分をサブ間隔ｊ＝５，６，および７に有する分布１２２−ｉ、１２２−（ｉ＋１）および１２２−（ｉ＋２）により見られる。この場合、シフトされる前に、サブ間隔１１６−（ｉ＋１）−１内のデータ格納値は格納値間隔１０４−ｉにおそらく対応していたのであり、従って、関連付けられるのはデジタルデータ値１０６−ｉであって、１０６−（ｉ＋１）ではなく、これは、未変更手順においてそれらに関連付けられたものであり得る。
【００５２】
セクタのデータ格納値の統計が系統的なシフトを示し、シフトされた分離ギャップ１２９−ｉ’によって分布が十分に分離されたままであることが判明すれば、実施形態によっては、データセクタについて十分な統計が収集された後に、コントローラ２７は何らかの訂正動作を利用し得る。隣接する分布１２２−ｉおよび１２２−（ｉ＋１）の各対について、コントローラ２７は、これらの分布の対応する系統的シフトを識別し、次いで、識別された系統的シフトにより分離点１２７−ｉを１２７−ｉ’にシフトし得る。図４Ｂの例において、分布１２２−ｉおよび１２２−（ｉ＋１）、並びに特にそれらの分離ギャップ１２９−ｉは、２つのサブ間隔だけシフトアップされている。その結果、コントローラ２７は、分離点１２７−ｉを１２７−ｉ’へ２つのサブ間隔だけシフトアップすることによりこの系統的シフトを打ち消し得る。このことは、それに続く読み出し操作において、明らかに分布１２２−ｉに属している間隔１１６−（ｉ＋１）−１内に位置するデータ格納値に、１０６−（ｉ＋１）ではなく、正しいデジタルデータ値１０６−ｉが割り当てられることを意味する。
【００５３】
系統的シフトの前述した外部または内部の原因が、全格納値間隔１００内の種々の格納値間隔１０４−ｉに様々に影響するかもしれないという点で、これらのシフトは全格納値間隔１００にわたって均一である必要はない。
【００５４】
図４Ｃは別の可能性を示し、隣接する分布１２２−ｉおよび１２２−（ｉ＋１）が、系統的シフトではなく、むしろ広がりを示している。このような広がりは、図４Ｃに示されているように、分布のテールの重なりにつながり得る。データ格納値が重なり領域に位置し、割り当てられたデジタルデータ値によるＥＣＣの計算がエラーを示す場合、デジタルデータ値の割り当ては、個々に修正し得る。図３の実施形態と同様に、データ格納値が重なり領域、例えば、サブ間隔１１６−ｉ−７内に位置すれば、“低品質”表示および“高い異常”表示と同様に、デジタルデータ値１０６−ｉはその重なり領域に関連付けられ得る。その結果、データセクタ内のエラーの存在をＥＣＣが検出すれば、品質表示に基づき、いくつかの実施形態は、このデータ格納値の割り当てを、デジタルデータ値１０６−ｉからデジタルデータ値１０６−（ｉ＋１）に訂正することをＥＣＣに提案する。
【００５５】
本発明の別の態様によれば、付加的な訂正動作を、セクタの“低品質”データの統計に基づいて実行することができる。これらの訂正動作は、メモリシステム外部のコントローラにより、または他の実施形態において、メモリシステム内部の何らかのロジックにより実行することができる。以下、訂正動作を実行するユニットは、“コントローラ”と呼ばれる。“低品質”データの総数を、メモリシステムのどのデータセクタにおいても計数することができる。この計数を、例えば、セクタのデータのいくつかまたはすべての読み出し中、またはセクタのデータの品質を決定することのみを目的とする特定の“ハウスキーピング”の操作中に実行することができる。この実施形態において、ＥＣＣの適用がデータセクタ内のエラーの存在を示すことさえ必要ではない。たとえデータセクタがエラーフリーであることをＥＣＣが示したとしても、“低品質”データ数の増加は、セクタ内のデータの品質が低下していることを示し得る。この表示により駆動されて、予防的な訂正動作を、適時に実行することができ、従って、実際のエラーの出現を防止する。
【００５６】
図５は、“低品質”データの計数に関連するメモリシステム操作のフローチャートを示している。
ａ）  セクタの“低品質”データの計数Ｃが０、または第１の所定値Ｎ1 よりも小さければ、すなわちＣ＜Ｎ1 であれば、これは、セクタのデータの品質は劣化しなかったか、または許容することができるわずかな程度だけ低下したことを示している。従って、訂正動作は全く必要とされない。
ｂ）  セクタの“低品質”データの計数Ｃが、第１および第２の所定値の間であれば、すなわちＮ1 ≦Ｃ＜Ｎ2 であれば、これは、セクタのデータの品質がある程度劣化したことを示している。従って、セクタのデータは、いつかリフレッシュ、再書き込み、または別のセクタに転記されるべきである。しかし、劣化の程度は、実際のエラー発生の確率が低いようなものである。従って、前述した訂正動作は直ちに実行される必要はなく、後の適切な時点まで遅らせることができる。例えば、メモリシステムが、読み出しコマンドの実行を終了し、他のどのようなより高い優先順位のジョブも実行していない場合、これらの訂正動作を一度に実行することができる。
ｃ）  セクタの“低品質”データの計数Ｃが、第２および第３の所定値の間であれば、すなわちＮ2 ≦Ｃ＜Ｎ3 であれば、これは、セクタのデータの品質がかなりの程度劣化したことを示し、このことは、セクタのデータが、直ちに、または短い所定の遅れ以内に、リフレッシュ、再書き込み、転記されることを必要とする。
ｄ）  セクタの“低品質”データの計数Ｃが、第３の所定値よりも高ければ、すなわちＮ3 ≦Ｃであれば、これは、セクタのデータの品質が容認することができない程度まで劣化したことを示している。劣化の原因が、過度の回数の読み出しおよび書き込み操作により引き起こされた大規模な摩滅、あるいは何らかの材料または製造異常のようなセクタ内部のものであることがある。いずれの場合でも、将来そのセクタに書き込まれるデータの品質が同様に劣化する可能性がある。この予知可能な劣化を、この低品質セクタからメモリシステムの別のセクタにデータを直ちにまたは高い優先順位で転記することにより防止することができる。低品質セクタを、将来これに全くデータが書き込まれないように廃棄することが可能である。
【００５７】
いくつかのさらなる実施形態は、メモリシステムの正規のメモリセル間に配置された追跡セルを利用している。追跡セルおよびそれらの操作は、ともにＤ．Ｇｕｔｅｒｍａｎらによる米国特許第６，２２２，７６２号（特許文献３）と、第６，２７５，４１９号（特許文献４）に記載されている。
【００５８】
追跡セルは、正規のメモリセルと同じ外部および内部の影響を経験し、従って、追跡セルの統計は、メモリセルの全アレイの統計を表し得る。従って、メモリシステムを、追跡セルのみの間の“低品質”データの計数に関連する図５のステップに従って操作することができる。
【００５９】
別の実施形態は、セクタのデータを読み出す際に、ＥＣＣにより検出されたエラー数をコンパイルする。図６のフローチャートにより示されているように、様々なタイプの訂正動作をエラー数に関連して実行することができる。
ａ）  セクタ内のエラー数Ｅが０、または第１の所定値Ｍ1 よりも小さければ、すなわちＥ＜Ｍ1 であれば、これは、セクタのデータが破損しなかったか、または許容することができるわずかな程度だけ破損したことを示し、従って、これらのデータは、ことによると品質表示と組み合わせて、ＥＣＣにより確実に再構成することができる。
ｂ）  セクタ内のエラー数Ｅが、第１および第２の所定値の間であれば、すなわちＭ1 ≦Ｅ＜Ｍ2 であれば、これは、セクタのデータがある程度破損したことを示している。従って、先ずそのセクタのデータは、ことによると品質表示と組み合わせて、ＥＣＣにより再構成されなければならず、次いでそのセクタのデータは、いつかリフレッシュ、再書き込み、または別のセクタに転記されるべきである。しかし、破損の程度は、データが依然として、ことによると品質表示と組み合わせて、ＥＣＣにより高い信頼性で再構成することができるようなものである。さらに、これらの訂正動作は直ちに実行される必要はなく、後の適切な時点まで遅らせることができる。例えば、メモリシステムが、読み出しコマンドの実行を終了し、他のどのようなより高い優先順位のジョブも実行していない場合、これらの訂正動作を一度に実行することができる。
ｃ）  セクタ内のエラー数Ｅが、第２および第３の所定値の間であれば、すなわちＭ2 ≦Ｅ＜Ｍ3 であれば、これは、セクタのデータがかなりの程度破損したことを示している。従って、先ずそのセクタのデータは、ことによると品質表示と組み合わせて、ＥＣＣにより再構成されなければならず、次いでそのセクタのデータは、直ちに、または短い所定の遅れ以内に、リフレッシュ、再書き込み、または別の新しいセクタに転記されるべきである。
ｄ）  セクタ内のエラー数Ｅが、第３の所定値よりも高ければ、すなわちＭ3 ≦Ｅであれば、これは、セクタのデータが容認することができない程度まで破損したことを示している。破損の原因が、過度の回数の読み出しおよび書き込み操作により引き起こされた大規模な摩滅、あるいは何らかの材料または製造異常のようなセクタ内部のものであることがある。いずれの場合でも、将来そのセクタに書き込まれるデータが再度破損する可能性がある。従って、先ずそのセクタのデータは、ことによると品質表示と組み合わせて、ＥＣＣにより再構成されなければならない。次いで、データの将来の破損を、破損セクタからメモリシステムの別の新しいセクタにデータを直ちに、または高い優先順位で転記することにより防止することができる。その後、破損セクタを、将来これに全くデータが書き込まれないように廃棄することができる。
【００６０】
前に言及されたように、誤り訂正符号は、Ｋを超える数の破損データを高い確率で復元することはできない。前の例では、Ｋは値５をとった。時として、１つのセクタ内でＫ個を超えるデータが破損している場合、ＥＣＣが“あふれる（swamped)”と言われる。前述したフローチャートにおいて、Ｍ3 は、Ｋに等しいか、または異なることができる。特に、ＥＣＣがたとえ高い確率でデータを再構成することができるとしても、すなわちＥ＜Ｋであるとしても、データは転記されるべきであり、そのセクタは廃棄されるべき、すなわちＭ3 ＜Ｅ＜Ｋであるようにメモリシステムを操作することが可能である。
【００６１】
実施形態によっては、エラーは、容量が制限されたカウンタによって計数され得る。ＥＣＣが、１セクタあたり４つの破損データ、すなわちＫ＝４でデータを確実に再構成することができれば、一例では、各セクタについて４値カウンタとすることができる。ＥＣＣにより示されるエラー数が４を超えれば、すなわちＥ＞４であれば、エラーカウンタは、“オーバーフロー”信号を提供することができる。この場合、ＥＣＣは、今度は品質表示も利用することにより、破損データの再構成を再度試みることができる。結果が満足すべきものであれば、その結果は、その後のユーザへの転送において受け入れられ得る。
【００６２】
本発明の様々な態様を特定の好ましい実施形態に関連して説明してきたが、本発明が、添付の特許請求の範囲の全範囲において保護される権利を与えられていることが理解されよう。
【図面の簡単な説明】
【００６３】
【図１】メモリセルアレイを含むメモリシステムを示す。
【図２Ａ】データ格納値を表すための実施形態を示す。
【図２Ｂ】データ格納値を表すための実施形態を示す。
【図２Ｃ】品質表示をデジタルデータ値に関連付けるための実施形態を示す。
【図３】品質表示を用いてデータを復元するための一例を示す。
【図４Ａ】データセクタ内のデータ格納値の分布を示す。
【図４Ｂ】データセクタ内のデータ格納値の分布を示す。
【図４Ｃ】データセクタ内のデータ格納値の分布を示す。
【図５】データセクタの品質表示の統計に基づくメモリシステム操作のフローチャートを示す。
【図６】データセクタのエラー数に基づくメモリシステム操作のフローチャートを示す。
【図１】
2005527062.tif 000004
【図２Ａ】
2005527062.tif 000005
【図２Ｂ】
2005527062.tif 000006
【図２Ｃ】
2005527062.tif 000007
【図３】
2005527062.tif 000008
【図４Ａ】
2005527062.tif 000009
【図４Ｂ】
2005527062.tif 000010
【図４Ｃ】
2005527062.tif 000011
【図５】
2005527062.tif 000012
【図６】
2005527062.tif 000013
【国際調査報告】
2005527062.tif 000014
2005527062.tif 000015
2005527062.tif 000016