(57)【要約】一実施形態では、エンコーダは、記憶された結果として１つ以上の歪み機構に影響される、取り出しデータを取得するために、メモリセルからデータの集合を読み取る。ユーザデータと関連する取り出しデータとの間の差に応えて値が変化する、品質メトリックスは、取り出しデータに応えて生成される。品質モニタは、品質メトリックスの現在の値と閾値との間の関係を確立し、取り出しデータの品質の劣化を示す関係を監視し、エラー応答を選択的に始動させる。別の実施形態では、訂正値は、データの初期書き込みの直後の品質メトリックスの値に最も近似する品質メトリックスの値を選択することができるように、品質メトリックスが監視される際、値の集合を通して反復される。【選択図】図１
2013539120.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデータを記憶するための複数のメモリセルで構成されている、不揮発性固体メモリと共に使用するための方法であって、前記メモリセルは、プログラミング動作に応えて設定することができる物理的特性に基づき、前記ユーザデータを記憶するため、および読み取り動作において、前記ユーザデータを表す前記記憶データを読み取るために構成され、前記方法は、
前記読み取り動作によって、取り出しデータの関連集合が取得されるように、前記読み取り動作において、前記記憶データの集合を読み取ることであって、取り出しデータは、記憶データの集合が前記不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される、ことと、
前記取り出しデータに応えて、品質メトリックスを生成することであって、品質メトリックスは、前記ユーザデータと前記関連する取り出しデータとの間の差に応えて値が変化する、ことと、
前記品質メトリックスの現在の値と閾値との間の関係を確立することと、
前記取り出しデータの品質の劣化を示す前記関係を監視し、前記監視することに応えて、エラー応答事象を選択的に始動させることと、
を含む、方法。
【請求項２】
前記エラー応答事象を始動させることは、少なくとも前記プログラミング動作において以前に記憶された前記ユーザデータの潜在的損失を示す警告を生成し、前記警告を前記メモリのユーザに向けることを含む、請求項１に記載の方法。
【請求項３】
前記取り出される読み取りデータから前記品質メトリックスを得るための数学的統計として、前記品質メトリックスを選択することを含む、請求項１に記載の方法。
【請求項４】
前記取り出しデータの平均値として、前記数学的統計を実行することを含む、請求項３に記載の方法。
【請求項５】
前記取り出される読み取りデータの標準偏差として、前記数学的統計を実行することを含む、請求項３に記載の方法。
【請求項６】
前記ユーザデータは、符号化形態で前記メモリに記憶され、前記取り出される読み取りデータのビットエラー率として、前記品質メトリックスを判定することを含む、請求項３に記載の方法。
【請求項７】
前記ユーザデータは、符号化形態で前記メモリに記憶され、前記取り出しデータに応えて、ビタビトレリスのブランチメトリックスに基づき、前記品質メトリックスを判定することを含む、請求項３に記載の方法。
【請求項８】
前記ブランチメトリックスは、前記取り出しデータ内に現れるシーケンスの期待値と前記取り出しデータ内に現れる前記シーケンスの実際の値との間の差に基づく、平均二乗誤差項である、請求項７に記載の方法。
【請求項９】
前記閾値を、所定の最大誤差量として設定することを含む、請求項１に記載の方法。
【請求項１０】
前記読み取ることの前に、
前記ユーザデータを前記メモリセルに初期記憶することと、
前記ユーザデータを初期記憶することと関連付けられる前記品質メトリックスの基礎値を判定することと、
前記閾値との比較のために、前記品質メトリックスの前記現在の値と前記基礎値との間の差として前記関係を確立し、前記差が前記閾値を超えるのに応えて、前記エラー応答事象を選択的に始動させることと、
を含む、請求項１に記載の方法。
【請求項１１】
前記エラー応答事象は、訂正の大きさを有する訂正量を、取り出しデータの前記関連集合を構成する各データ値に追加することを含む、請求項１０に記載の方法。
【請求項１２】
前記品質メトリックスと前記基礎値との間の前記差の増加に応えて、前記訂正の大きさを増加させることを含む、請求項１１に記載の方法。
【請求項１３】
前記関係を確立することは、前記品質メトリックスの前記現在の値を前記閾値と比較し、前記比較において、前記現在の値が前記閾値を超えるのに応えて、前記エラー応答事象を選択的に始動させることを含む、請求項１に記載の方法。
【請求項１４】
前記読み取ることの前に、前記物理的特性が、ハード閾値の配列によって分離される特定の数の領域に分割され、前記読み取ることが、前記関連する取り出しデータ内の各データ値と関連付けられるソフトビットの集合を生成するように、前記ソフトビットが前記ハード閾値の間のどこに各データ値があるかを示すよう、前記特定のデータ分解能より大きい読み取り分解能で、前記物理的特性の値を検出するように、セル毎の特定の複数のビット、および特定のデータ分解能に基づき、前記ユーザデータを前記メモリセルに初期書き込みし、前記ソフトビットに基づき、前記品質メトリックスを生成することを含む、請求項１に記載の方法。
【請求項１５】
前記物理的特性の範囲は、隣接する前記ハード閾値の間に延在するハードウィンドウを画定し、読み取ることは、各ハードウィンドウと関連付けられる複数のソフトウィンドウを確立するために、ソフト閾値の配列を各ハードウィンドウにわたって分布させることを含み、それぞれのソフトウィンドウは、１つのソフトビットを定義し、前記読み取ることは、前記ソフトウィンドウのうちの１つ内に含まれる前記物理的特性の前記値を識別するのに十分な分解能で、前記物理的特性の前記データ値を確立する、請求項１４に記載の方法。
【請求項１６】
１つの部分範囲が各ソフトウィンドウに対応するように、部分範囲の集合を前記物理的特性に割り当てることと、
前記判定することによって使用するために、前記取り出しデータの各データ値が、前記部分範囲のうちの１つに割り当てられるように、前記部分範囲に基づき、取り出しデータの前記集合をフィルタリングすることと、
を含む、請求項１５に記載の方法。
【請求項１７】
記憶データの前記集合を読み取ることは、（ｉ）データ値の前記集合が、前記ハードウィンドウにわたって離間されるように、前記メモリセルのうちの少なくとも所与の１つを読み取ることと関連付けられる、データ値の集合を形成するように、各データ値を回収することと、（ｉｉ）前記所与のメモリセルの前記物理パラメータの全範囲にわたるデータ値の前記集合の全体的な分布を識別することと、（ｉｉｉ）前記ソフトビットおよび前記全体的な分布に基づき、取り出しデータの前記関連集合の少なくとも１つの訂正値を判定することと、を含む、請求項１５に記載の方法。
【請求項１８】
前記識別することは、少なくとも１つの測定分布式を立てるために、データ値の前記集合を曲線適合させることを含み、
判定することは、前記訂正値を確立するために、前記歪み機構の不在下での正確な所望の分布式を確立し、前記測定分布式を前記所望の分布方程式と比較することを含む、
請求項１７に記載の方法。
【請求項１９】
前記メモリは、ページに構造化され、ページ毎基準以下で記憶データの前記集合を取得するように、前記読み取り動作を実施する、請求項１７に記載の方法。
【請求項２０】
各ページは、複数のワードラインとして編成され、前記読み取り動作は、ワードライン毎基準で実施される、請求項１９に記載の方法。
【請求項２１】
前記全体的な分布を識別することは、前記ソフトビットによって特徴付けられる、各ハードウィンドウにわたるデータ値の前記集合の部分分布を判定し、各ハードウィンドウの部分分布平均誤差を判定し、すべての前記ハードウィンドウの部分分布平均誤差の平均誤差の全体的な平均に基づき、前記訂正を実施することを含む、請求項１７に記載の方法。
【請求項２２】
前記全体的な分布を識別することは、前記ソフトビットによって特徴付けられる、各ハードウィンドウにわたるデータ値の前記集合の部分分布を判定し、そのハードウィンドウの前記部分分布平均誤差に基づき、各ハードウィンドウに対して前記訂正を実施することを含む、請求項１７に記載の方法。
【請求項２３】
前記メモリは、メモリダイエリアを有するメモリダイによって形成され、記憶データの前記集合を読み取ることは、（ｉ）少なくとも一部において、前記メモリダイの物理的配置に基づき、前記メモリダイエリアの複数のタイプの補正部分領域タイプを識別することと、（ｉｉ）各部分領域タイプについて、前記記憶データの異なる集合を回収することと、を含み、（ｉｉｉ）判定することは、各部分領域タイプの異なる訂正値を別個に確立することを含む、請求項１５に記載の方法。
【請求項２４】
前記メモリは、供給電圧値を使用して動作され、前記メモリは、動作温度で動作し、前記方法は、前記供給電圧値の変化、前記動作温度の変化、および所定の時間経過のうちの少なくとも１つに基づき、前記品質メトリックスの再測定を生成することをさらに始動させることを含む、請求項１に記載の方法。
【請求項２５】
前記ユーザデータは、前記メモリに符号化形態で記憶され、
前記読み取り中に、ブロック訂正コードに従って、記憶データの前記集合を訂正し、復号化することと、
訂正が行われている前記ユーザデータの現在のブロックの訂正カウントを維持することと、
前記訂正カウントの特定の値に基づき、前記生成することを始動させることと、
を含む、請求項１に記載の方法。
【請求項２６】
ユーザデータを記憶するための複数のメモリセルで構成されている不揮発性固体メモリと共に使用するための装置であって、前記メモリセルは、プログラミング動作に応えて設定することができる物理的特性に基づき、前記ユーザデータを記憶するため、および読み取り動作において、前記ユーザデータを表す前記記憶データを読み取るために構成され、前記装置は、
前記読み取り動作によって、取り出しデータの関連集合が取得されるように、前記読み取り動作において、前記記憶データの集合を読み取るためデコーダであって、取り出しデータは、記憶データの前記集合が前記不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される、デコーダと、
前記取り出しデータに応えて、品質メトリックスを生成するための品質メトリックス生成器であって、品質メトリックスは、前記ユーザデータと前記関連する取り出しデータとの間の差に応えて値が変化する、品質メトリックス生成器と、
前記品質メトリックスの現在の値と閾値との間の関係を確立するため、および前記取り出しデータの前記品質の劣化を示す前記関係を監視し、前記監視することに応えて、エラー応答事象を選択的に始動させるための品質監視セクションと、
を備える、装置。
【請求項２７】
ユーザデータを記憶するための複数のメモリセルで構成されている不揮発性固体メモリと共に使用するための方法であって、前記メモリセルは、プログラミング動作に応えて設定することができる物理的特性に基づき、前記ユーザデータを記憶するため、および読み取り動作において、前記ユーザデータを表す前記記憶データを読み取るために構成され、前記方法は、
前記読み取り動作によって、取り出しデータの関連集合が取得されるように、前記読み取り動作において、前記記憶データの集合を読み取ることであって、取り出しデータは、記憶データの前記集合が、前記不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される、ことと、
前記取り出しデータに応えて、初期品質メトリックスをもたらすことであって、初期品質メトリックスは、前記ユーザデータと前記関連する取り出しデータとの間の差に応えて値が変化する、ことと、
取り出しデータの第１の訂正された集合を形成するために、第１の訂正値を取り出しデータの前記集合に追加することと、
取り出しデータの前記第１の訂正された集合に基づき、第１の訂正された品質メトリックスを生成することであって、第１の訂正された品質メトリックスは、前記ユーザデータと取り出しデータの前記第１の訂正された集合との間の差に応えて値が変化する、ことと、
第１の品質差値をもたらすために、前記第１の訂正された品質メトリックスを前記初期品質メトリックスと比較することと、
取り出しデータの第２の訂正された集合を形成するために、前記第１の訂正値とは異なる第２の訂正値を、取り出しデータの前記集合に追加することと、
取り出しデータの前記第２の訂正された集合に基づき、第２の訂正された品質メトリックスを生成することであって、第２の訂正された品質メトリックスは、前記ユーザデータと取り出しデータの前記第２の訂正された集合との間の差に応えて値が変化する、ことと、
第２の品質差値を生成するために、前記第２の訂正された品質メトリックスを前記初期品質メトリックスと比較することと、
前記第１の品質差値および前記第２の品質差値のうちの低い方を、現在の最低品質差値として選択し、その現在の最低品質差値の関連する現在の訂正値を、少なくとも前記メモリからの取り出しデータの続く集合を続いて訂正するための現在の好ましい訂正値として割り当てることと、
を含む、方法。
【請求項２８】
取り出しデータの追加の訂正された集合を形成するために、前記第１の訂正値および前記第２の訂正値とは異なる追加の訂正値を、取り出しデータの前記集合に追加することと、
取り出しデータの前記追加の訂正された集合に基づき、追加の訂正された品質メトリックスを生成することであって、追加の訂正された品質メトリックスは、前記ユーザデータと取り出しデータの前記追加の訂正された集合との間の差に応えて値が変化する、ことと、
追加の品質差値をもたらすために、前記第２の訂正された品質メトリックスを前記初期品質メトリックスと比較することと、
前記第１の品質差値、前記第２の品質差値、および前記追加の品質差値のうちの最低の１つを現在の最低品質差値として選択し、その現在の最低品質差値の前記関連する現在の訂正値を、取り出しデータの前記追加の集合を続いて訂正するための前記現在の好ましい訂正値として割り当てることと、
をさらに含む、請求項２７に記載の方法。
【請求項２９】
一連のさらなる追加の訂正値に対して、請求項２８の追加すること、生成すること、比較すること、および選択することを反復的に繰り返し、すべての前記訂正値の中から前記現在の最低品質差値を選択することを含む、請求項２８に記載の方法。
【請求項３０】
ユーザデータを記憶するための複数のメモリセルで構成されている不揮発性固体メモリと共に使用するための方法であって、前記メモリセルは、プログラミング動作に応えて設定することができる物理的特性に基づき、前記ユーザデータを記憶するため、および読み取り動作において、前記ユーザデータを表す前記記憶データを読み取るために構成され、前記方法は、
前記読み取り動作によって、取り出しデータの関連集合が取得されるように、前記読み取り動作において、前記記憶データの集合を読み取ることであって、取り出しデータは、記憶データの前記集合が前記不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される、ことと、
前記取り出しデータに応えて、初期品質メトリックスを生成することであって、初期品質メトリックスは、前記ユーザデータと前記関連する取り出しデータとの間の差に応えて値が変化する、ことと、
修正された品質メトリックスが、取り出しデータの前記一連の訂正された集合のそれぞれ１つと関連付けられるように、取り出しデータの一連の訂正された集合を形成するために、一連の訂正値を取り出しデータの前記集合に反復的に追加することと、
少なくとも前記メモリから取り出しデータの続く集合を続いて訂正するための、前記品質メトリックスの前記最高改善をもたらす、前記一連の訂正値のうちの特定の１つを選択することと、
を含む、方法。
【請求項３１】
ユーザデータを記憶するための複数のメモリセルで構成されている不揮発性固体メモリと共に使用するための装置であって、前記メモリセルは、プログラミング動作に応えて設定することができる物理的特性に基づき、前記ユーザデータを記憶するため、および読み取り動作において、前記ユーザデータを表す前記記憶データを読み取るために構成され、前記装置は、
前記読み取り動作によって、取り出しデータの関連集合が取得されるように、前記読み取り動作において、前記記憶データの集合を読み取るためのデコーダであって、取り出しデータは、記憶データの前記集合が前記不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される、デコーダと、
前記取り出しデータに応えて、初期品質メトリックスを生成するための品質メトリックス生成器であって、初期品質メトリックスは、前記ユーザデータと前記関連する取り出しデータとの間の差に応えて値が変化する、品質メトリックス生成器と、
修正された品質メトリックスが、取り出しデータの前記一連の訂正された集合のそれぞれ１つと関連付けられるように、取り出しデータの一連の訂正された集合を形成するために、一連の訂正値を取り出しデータの前記集合に反復的に追加するため、および少なくとも前記メモリから取り出しデータの続く集合を続いて訂正するための、前記品質メトリックスの前記最高改善をもたらす、前記一連の訂正値のうちの特定の１つを選択するための品質監視セクションと、
を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、メモリセルのアレイで構成されている不揮発性メモリの分野に関し、より具体的には、品質監視に応えて、少なくともそのようなメモリのエラー補正を始動させるための方法および装置に関する。
【背景技術】
【０００２】
フラッシュメモリに関する最近の傾向は、集合的にメモリセルのアレイを構成する個々のメモリセルによって記憶される情報量を増加させることによって、記憶容量を増加させることを試みることにある。例えば、参照することによって本明細書に組み込まれる米国公開特許出願第２００８／０１６２７９１号（以後、’７９１出願）によって認識されるように、メモリセル毎のデータレベルの数を増加させることは、データがメモリからリードバックされる際のエラーの確率を比例して増加させる。データレベルの間を解決するために関連する精度の増加が必要になるため、このエラーの確率の増加は、少なくとも一部において、各メモリセルによって記憶されるデータレベルの数を増加させることに起因する。したがって、個々のメモリセルによって記憶される値に影響を及ぼす歪み機構が、所与のメモリセルによって記憶されるデータ値のシフトに寄与する確率がより高くなり、これは、比較的より近くに位置付けられるデータ閾値の間での、閾値にわたる読み取りデータ値の不適切なシフトをもたらす確率がある。’７９１出願は、エラーの確率の増加を補正するためのエラー訂正コードの使用を教示する。’７９１出願は、当時に存在した最先端技術における顕著な改善を表すが、出願人は、’７９１出願における圧倒的な改善を提供する追加の技法を採用することができると考える。
【０００３】
図面を参照し、以下の説明を検討することによって、上述される例示的な態様および実施形態に加えて、さらなる態様および実施形態が明らかになるであろう。
【図面の簡単な説明】
【０００４】
参照される図面の図に、実施形態例が図示される。本明細書に開示される実施形態および図は、制限というよりはむしろ例証であることが意図される。
【図１】品質メトリックスベースの補正を提供するための、本開示に従ってもたらされる、全体的なシステムの一部を形成する、メモリコントローラの一実施形態を図示する、ブロック図である。
【図２】値の集合または分布の平均値を判定するための技法の一実施形態を図示する、フロー図である。
【図３】値の集合または分布の分散値を判定するための技法の一実施形態を図示する、フロー図である。
【図４】１つ以上の品質メトリックスに関連する、図１のコントローラの動作のための方法の一実施形態を図示する、フロー図である。
【図５】ブロック訂正コードの訂正カウントの形態の品質メトリックスに関連する、図１のコントローラの動作のための方法の別の実施形態を図示する、フロー図である。
【図６】ハードおよびソフトウィンドウに関するデータ値の理想化分布の集合を図示する、プロットである。
【図７】老朽化によるシフティングの影響、ならびにハードおよびソフトウィンドウに関連する広がりを図示するためにここに示される、考えられるデータ値の分布のプロットである。
【図８】線形適合が適用される、プロットに基づく補正の発現を図示するためにここに示される、分布の所望のデータ値ならびに測定値の集合と一致する曲線適合プロットのプロットである。
【図９】非線形曲線適合が適用される、プロットに基づく補正の発現を図示するためにここに示される、分布の所望のデータ値ならびに測定値の集合と一致する曲線適合プロットの別のプロットである。
【図１０】訂正または補正量を確立するためのデータ分布の統計的平均値および曲線適合を判定するための方法の一実施形態を図示する、フロー図である。
【図１１】データ分布の全範囲を構成することができる、複数の部分範囲のそれぞれ１つの平均値を判定するためのハードウェア平均値判定ユニットの一実施形態を図示する、ブロック図である。
【図１２】図１１のハードウェア平均値判定ユニットで使用される、平均範囲ユニットの一実施形態のブロック図である。
【図１３】出力ストリームをもたらすために、到来配布ストリームに訂正量を適用する、テーブル差異ベースの回路の一実施形態のブロック図である。
【図１４】図１３のテーブル差異回路を初期化し、動作させるための方法の一実施形態を図示する、フロー図である。
【図１５】少なくとも１つの品質メトリックスの反復判定に基づき、補正値を判定するための方法の一実施形態を図示する、フロー図である。
【図１６】好適なメモリダイの一実施形態の図式平面図である。
【図１７】図１６のメモリダイの一部を形成する、消去ブロックの一実施形態を図示する、図式平面図である。
【発明を実施するための形態】
【０００５】
以下の説明は、当業者が本発明を作製し、使用することを可能にするために提示され、特許出願およびその要件の文脈において提供される。記載される実施形態に対する様々な修正が、当業者に容易に明らかになり、本明細書において教示される包括的原理は、他の実施形態に適用されてもよい。したがって、本発明は、示される実施形態に限定されることは意図されず、添付の特許請求の範囲内に定義される、修正物および均等物を含む、本明細書に記載される原理ならびに特長と合致する最大範囲が与えられる。図面は、本質的に、関心特長を最善に図示すると考えられる方法での図式であり得ることに留意する。記述用語は、図に提供される様々な視点に関して、読者の理解を高めるように適合されている場合があり、制限であることは決して意図されていない。
【０００６】
本明細書に提供される実施例のうちの少なくともいくつかは、ＮＡＮＤおよびＮＲＯＭフラッシュメモリ等の電荷を貯蔵する不揮発性メモリセルのアレイの観点から構成されるが、そのようなメモリセルにおける電荷の変数物理パラメータとしての使用は、制限であることは意図されず、任意の好適な変数物理パラメータが採用されてもよいことを理解されたい。例えば、物理パラメータには、電子または正孔貯蔵に加えて、相変化媒体記憶デバイス（相変化メモリ（ＰＲＡＭ、ナノチューブ））、磁気記憶デバイス内の磁気モーメントもしくは磁気スピン方向（プローブストレージ）、容量変化（強誘電ランダムアクセスメモリ（ＦＥＲＡＭ））、もしくは分子ストレージ）、ＭＲＡＭ（磁気ランダムアクセスメモリ）、およびＭＥＭＳ（マイクロマシン）ベースの媒体、または上記の任意の組み合わせにおける抵抗が挙げられる。他の好適なメモリ形態がさらに開発されてもよい。
【０００７】
ここで、様々な図を通して、同様の要素が同様の参照番号を使用して示され得る図面に注目すると、図１は、概して参照番号１２で示される全体的なシステムの一部を形成する、点線内の参照番号１０で示されるメモリコントローラを含む、ブロック図である。システム１２は、メモリコントローラ１０によって相互とインターフェースをとる、ホスト１４と、固体不揮発性メモリ２０とをさらに含む。ホスト１４は、メモリコントローラの一部を形成するホストインターフェース３２に接続され、一方、メモリ２０は、メモリコントローラ１０の別の一部を形成するメモリインターフェース３４に接続される。ホストは、例えば、個人用コンピュータ等の任意の好適な形態のデバイスであってもよい。メモリインターフェースは、メモリインターフェースと任意の取り付けられるメモリデバイスとの間の物理的接続を構成する、１つまたは複数のメモリポートを含んでもよい。加えて、１つまたは複数のメモリインターフェースが存在してもよい。単一の取り付けられるコントローラを使用して、２つ以上のメモリデバイスが読み取りまたは書き込み動作を同時に実行することを可能にすることによる、高メモリシステムスループットのために、それぞれが複数のメモリポートを有する複数のメモリインターフェースを、コントローラ内に提供することができる。
【０００８】
システム１２では、ホスト１４は、不揮発性メモリ２０を構成する記憶セルを使用して、データを記憶し、取り出す。読み取りおよび書き込みは、それぞれ、ホストから不揮発性メモリに、およびメモリからホストにデータを伝達する、符号化セクション４２ならびに復号化セクション４４によって可能となる。ホストによるメモリへのデータの記憶は、ホストがデータを読み取る際に発生するビットエラーを識別し、ホストに返される前に復号化プロセスによってデータから除去することができるように実行することができる。図示的明確化のために、制御線は示されていないが、マイクロコントローラ５０およびファームウェア５２は、必要に応じて、メモリコントローラ１０の様々な構成要素に、制御信号および管理を提供することができる。読み取りおよび書き込み動作中、マイクロコントローラは、ホスト１４からコマンドを受信して解釈し、他の動作の中でもとりわけ、そのような動作を実行することができる。本明細書に記載される技法のいずれも、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の好適な組み合わせを使用して実現されてもよい。このようにして、メモリコントローラ１０は、ホストからコマンドを受信し、これらのコマンドに応えて、メモリコントローラがホストから受信するデータをメモリインターフェース３４に取り付けられる１つ以上のメモリデバイスに書き込むように動作する、またはメモリコントローラは、１つ以上の取り付けられるメモリデバイスからデータを読み取り、読み取りデータをホストに返す。ホストインターフェース３２上で発行されるコマンドを介して、他の機能を実現し、実行することができる。これらの追加の機能には、ホストコンピュータとコントローラとの間のデータ転送を含むことができる。いくつかの実施形態では、メモリインターフェースのメモリコントローラ側のデータフローに、補正を適用することができる。
【０００９】
依然として図１を参照すると、不揮発性メモリ２０は、それぞれが、交換可能にエンコーダと称され得る符号化セクション４２、または交換可能にデコーダと称され得る復号化セクション４４によってアクセスされてもよい、１つ以上の個々のメモリデバイスで構成することができる。不揮発性メモリのデバイス技術は、メモリセル毎に１ビット以上を記憶することができる、任意の不揮発性媒体であってもよい。メモリ２０を構成するデバイス（単数または複数）を、それぞれの個々のメモリセルが保存することができるデータ値を特徴付ける変数物理パラメータに基づき、データを不揮発性保持することができる、任意の好適な技術に準拠し得る、１つ以上の不揮発性メモリデバイスの形態で提供することができる。各メモリデバイスは、半導体ダイであってもよい。本明細書に記載される進歩した技術から利益を享受し得る今日のデータ記憶システムは、記憶媒体としてＮＡＮＤフラッシュを使用することができるが、この進歩した技術は、上述されるように、現在利用可能であるか、または依然として開発されていない、不揮発性メモリの任意の他の好適な形態に基づき、デバイスに関して同等に適用可能である。そのような不揮発性メモリの他の好適な形態は、ＮＡＮＤフラッシュで見られるものと同様の利益を実現することができる。
【００１０】
ホスト１４は、データ記憶および取り出しシステムに読み取りならびに書き込みコマンドを発行する、任意の好適なデバイスであってもよい。ホストは、通常、プロセッサを含み、コンピュータシステムの一部であってもよいが、また、埋め込みシステムの一部であってもよい。エンコーダ４２は、ホスト１４からメモリ２０へのデータ転送のプロセス中に動作する。エンコーダは、ホストによって提出されるデータに対して、ホストが続いてメモリ２０からそれを読み取ることを要求する際に、少なくともいくつかのエラーが検出され、訂正され得るように転換を実施することができる。デコーダ４４は、メモリ２０からホスト１４へのデータ転送のプロセス中に動作する。デコーダは、データがメモリによって記憶される形態のメモリから取り出されるデータに対して転換を実施し、データをホストによってエンコーダに元々提出された形態に変換することができる。メモリ２０に記憶される際のデータの形態には、デコーダ４４が、例えば、両出願とも本願と共同所有され、両出願とも参照することによって本明細書に組み込まれる、２００９年３月１３日に出願された、名称がＢＩＴＷＩＳＥ  ＯＰＥＲＡＴＩＯＮＳ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＩＮ  Ａ  ＭＵＬＴＩ−ＬＥＶＥＬ  ＳＹＳＴＥＭの米国特許出願第１２／４０３，５４６号、および２０１０年６月４日に出願された、名称がＡＤＶＡＮＣＥＤ  ＢＩＴＷＩＳＥ  ＯＰＥＲＡＴＩＯＮＳ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＩＮ  Ａ  ＭＵＬＴＩ−ＬＥＶＥＬ  ＳＹＳＴＥＭ  ＷＩＴＨ  ＮＯＮＶＯＬＡＴＩＬＥ  ＭＥＭＯＲＹの米国特許出願第１２／７９４，７０６号に記載されるような、例えば、メモリ１４の欠陥および／または歪みのために発生する、データ内のビットエラーを検出し、訂正することを可能にする符号化を含むことができる。
【００１１】
本開示に従ってもたらされる実施形態は、エンコーダ、デコーダ、および不揮発性メモリの実現形態に適用することができ、ならびに、ホストが、メモリに記憶するためのデータの転送をもたらすコマンド、およびメモリ内の記憶装置からの回収の後のホストへのデータの転送をもたらすコマンドを送信することによって動作を指示する、システム環境に適用される。
【００１２】
後補正訂正の適用は、さらに記載されるように、例えば、メモリインターフェースから受信される各読み取り値と関連付けられる訂正値を受信する、後補正加算器６０または同様の機構によって、到来読み取りデータストリームに適用することができる。補正値自体は、以下に記載される品質メトリックス監視および判定技法に基づいて発生することができる結果の組み合わせを構成してもよい。一実施形態では、ファームウェア制御下のマイクロコントローラ５０は、補正値を判定し、結果としてもたらされる値を好適なメモリに定置することができる。今メモリに存在する補正値の適用は、一実施形態では、メモリから補正値を取り出し、後補正加算器６０を介して、到来読み取りストリームに値を適用する、専用ハードウェアシーケンシング機構によって適用することができる。
【００１３】
前補正訂正の適用は、直前に記載される前補正プロセスに類似して進むことができるが、しかしながら、訂正値は、前補正加算器６２によって適用される。読み取りデータストリームというよりはむしろ書き込みデータストリームへの前補正訂正値の適用には、主要な違いがある。この場合も同様に、補正値自体は、これから記載される品質メトリックス監視および判定技法に基づく結果の組み合わせで構成されてもよい。
【００１４】
品質メトリックスは、例えば、歪みに応えて好適な補正を適用することができるように、メモリ２０内に存在する歪みを反映することができる、回収されるいくつかの形態の情報に基づくことができる。補正の対象である根本的な歪み機構に関わらず、本開示は、歪みがデータに及ぼす差を反転させることによって、いずれのデータ値に対する歪みの影響も反転させるように作用することができる。本開示は、データ記憶および取り出しに適用され、この目的のためのコントローラは、記憶される情報を交互に書き込み、読み取るプロセスを実現するため、補正は、これらのプロセス（読み取りまたは書き込み）のうちのいずれかに適用されてもよい。情報獲得ステップは、品質メトリックスの判定の一部を形成することができ、したがって、等しい正当性で、読み取りプロセス中の補正（後補正）または書き込みプロセスの補正（前補正）を、一方から他方へと進む際に機構における差をわずかにまたは全く伴わずに進めることができる。
【００１５】
品質メトリックスの基準の形成において、実施形態は、少なくとも以下のタイプ、
１）統計的算術平均（平均計算）、
２）統計的変動（分散計算）、および
３）統計的エラー率収集
の情報獲得を実施することができる。
【００１６】
メモリ２０に記憶されているか、またはメモリへの書き込み標的であるかのいずれかのデータ単位に対して、（１）、（２）、および（３）の判定を実施することができる。関心歪みは、各メモリデバイスの物理的側面から得ることができるため、計算のためのデータ単位は、各メモリデバイスの物理的ページサイズに従ってサイズ決定される必要がある。データ単位は、物理的ページの一部分、１つの物理的ページ全体、または複数の物理的ページであってもよく、データ単位のこれらの物理的属性への依存は、特定のメモリの読み取り特徴に基づくことができる。上述されるようなデータ単位と論理範囲のデータに対応するコードワードとの間の違いに留意することが重要である。コードワードは、１つ以上のデータ単位から構築されてもよい。このようにして、品質計算は、データ単位と概して関係しており、一方、コントローラの符号化および復号化回路は、コードワードと関係しているため、データ単位は、コードワードとは異なる。計算についてのコードワードとデータ単位との間の違いは、コードワード範囲が、符号化および復号化プロセス（品質メトリックス計算というよりはむしろ）に関連しているという事実の機能である。品質メトリックスが適用されるデータ単位の物理的側面のため、コードワードは、好適な実施形態では、データ単位の部分集合、データ単位の上位集合、またはデータ単位と同一であってもよい。コードワードが、単一のデータ単位より多くにわたる場合、この場合では、コードワードを構成するデータ単位と同数のデータ単位に対して、品質メトリックスを個々に計算することができる。そうは言うものの、計算（１）、（２）、および（３）の目的のために、データ単位は、コントローラの符号化および復号化（書き込みおよび読み取り）プロセスへの供給時に、同一のストリームを備えてもよい。さらに、一実施形態では、判定は、コントローラに接続されるホストの代わりに、コントローラ内の読み取り（または書き込み）プロセスによって現在読み取られている（または書き込まれている）データに基づくことができる。別の実施形態では、判定は、関心判定を実施するためだけのために、１つ以上の既存のデータ単位を使用して、いずれのホストコマンドからも独立して進んでもよい。そのような既存のデータ単位は、例えば、書き込み動作の前から、既にメモリ２０内にあってもよい。
【００１７】
図１の構成要素は、任意の好適な、または所望の組み合わせの、統計的算術平均、統計的変動、および統計的エラー率の任意の１つ以上を含む品質メトリックスに基づき、補正判定を実施することを提供する。任意の好適な統計値が、品質メトリックスとして採用されてもよく、本明細書に説明される実施例は、制限であることは意図されないことを理解されたい。品質監視セクション６４は、以下により詳細に記載されるように、関心があり、かつ入手可能である、例えば、統計的算術平均、統計的変動、および統計的エラー率収集に基づく値等の任意の品質メトリックスを監視することができる。品質監視セクション６４は、一態様では、１つ以上の品質メトリックスに基づき、データの品質を追跡し、品質メトリックス（単数または複数）に基づき、適用される補正量を確立する役割を果たす。いくつかの実施形態では、ＱＭセクション６４は、閾値に基づき、測定されるデータの品質を判定するように判定を行うことができる。この意味で、品質という用語は、エラーのないデータに関連する。つまり、データ内により少ないエラーが存在すると、データの品質はより高い。いくつかの実施形態では、品質監視セクション６４は、ハードウェアおよびソフトウェアの任意の好適な組み合わせで構成されていてもよい。後補正ユニット７０および前補正ユニット７２は、それぞれ、後補正状況であるか、または前補正状況であるかに関わらず、補正値の判定のために構成される。補正の具体的な量または大きさは、品質監視セクション６４に影響される確率がある。つまり、監視されている１つ以上の品質メトリックスが、比較的多量のデータ劣化を示す場合、全体的な補正量を比例して増加させることができる。後補正ユニット７０によって、後補正判定の選択される集合のそれぞれ１つを確立し、出力として後補正加算器６０に提供される前に組み合わせることができる。例えば、全体的な補正値は、統計的算術平均、統計的分散、および１つ以上の統計的エラー率値のそれぞれ１つからの寄与の組み合わせ、ならびにこれらのアイテムの任意の副組み合わせ、またはこれらのアイテムのうちの任意の１つで柔軟に構成されていてもよい。この全体的な後補正出力を、メモリインターフェース３４から受信される現在の読み取り値に、現在の値をデコーダ４４に入力する前に追加することができる。同様に、前補正ユニット７２によって、前補正判定の選択される集合のそれぞれ１つを確立し、出力として前補正加算器６２に提供される前に組み合わせることができる。この前補正出力を、エンコーダ４２から受信される現在の書き込み値に追加することができる。前補正判定の選択される集合は、後補正判定の選択される集合とは異なってもよく、いずれかの集合は、入手可能な判定、入手可能な判定の部分集合、または判定の単一の選択される１つの任意の所望の組み合わせを含むことができる。
【００１８】
ここで、図１と併せて図２を参照すると、図２は、概して参照番号１００によって示される、統計的平均値を判定するための方法の一実施形態を図示する。方法１００は、本方法に提示される任意の一連のデータ値の算術平均値の確立を達成することができる。統計的平均値判定のプロセスは、通常、集合のすべての個々のデータ値の算術平均値（平均）が判定されるものである。要件ではないが、本手法は、メモリデバイス内の単一の物理的ページを標的としたデータ値、メモリデバイス内の単一の物理的ページ、消去ブロック、またはメモリの任意の好適にサイズ決定されたユニットから読み取られるデータ値のいずれかのデータ値の処理に関与することができる。方法１００は、ファームウェア５２が、プロセスに入力するために、集合を待ち行列に入れることによって、データ値の標的集合を処理するために配列することができる、ステップ１０２で開始する。プロセスがデータを通してシーケンシングすることができるように、例えば、コントローラ１０のバッファ内に既に存在する、マイクロコントローラ５０がアクセス可能な一時メモリ１０３内、またはコントローラがアクセス可能な任意の好適な位置に、値の待ち行列を形成することができる。一時メモリ１０３に加えて、例えば、後補正ユニット７０および前補正ユニット７２の一部として、好適なバッファを提供することができる。１０４で、プロセスが値の標的集合の開始に配向されているか否かが判定される。プロセスがデータ値の標的集合の開始に配向されている場合、プロセスは、１０６で、データ値の以前の集合から留まっている場合があるいずれの残存値も消去することによって、自体を初期化することができる。１０８で、初期データ値が取得され、現在の平均値として記憶される。１つ以上の平均値判定を記憶するために、平均値レジスタセクション１１０（図１）を提供することができる。ステップ１１２は、次いで、集合内の別の値が入手可能であるか否かを判定する。そうであれば、動作は、新しい現在の平均値に至るように、既知の方法で値の累計に新しい値を追加し、値の総数で除算することによって、新しい現在の平均値を再判定する、１０８に戻る。平均値計算器１１４（図１）によって、平均値計算を実施することができる。１１６で、コントローラは、現行または最終算術平均出力を入手可能である。ステップ１０８および１１２は、ステップ１１２が値の集合の終わりが到達されたと判定するまで、ループ動作を継続する。その時、プロセスは、１１６で入手可能な集合の最終平均値を伴って、１１８で終了する。したがって、プロセスは、集合内のデータ値のそれぞれに対して反復され、反復毎に１つの値を取り込み、各反復の度に出力値を更新する。プロセスの終わりで、コントローラは、データ値の現在の集合の結果を入手可能である。
【００１９】
図２に示されるプロセスによって、実施形態は、計算ハードウェアを通してストリームされる集合からのデータ値の結果としての平均値を計算するためのハードウェアを含むことができる。ファームウェア５２は、ハードウェアへのデータ値の転送を設定し、初期化することに責任があり、いったん転送が開始されると、ハードウェアは、それぞれの追加のデータ値に基づき、平均値を自動的に更新することができる。そのようなハードウェアベースの平均値計算は、当業者によく知られるであろう。
【００２０】
図１と併せて図３を参照すると、図３は、概して参照番号２００によって示される、統計的分散値を判定するための方法の一実施形態を図示する。方法２００は、本方法に提示される任意の一連のデータ値の分散値の確立を達成することができる。分散計算のプロセスは、通常、集合のすべての個々のデータ値の分散（標準偏差またはシグマの観点から言及される場合がある）が判定されるものであることを理解されたい。要件ではないが、本手法は、メモリデバイス内の単一の物理ページを標的としたデータ値、メモリデバイス内の単一の物理的ページ、消去ブロック、またはメモリの任意の好適にサイズ決定されたユニットから読み取られるデータ値のいずれかのデータ値の処理に関与することができる。分散計算自体は、一般的に、ソフトウェア機能としてより、ハードウェア機能として、より速く、かつ効率的に実施することができ、ハードウェア実現形態は要件ではないが、個々のデータ値と算術平均データ値との間の二乗差の総和を実施する任意のハードウェアベースの技法によって実現することができる。当業者は、分散判定のためのソフトウェア実現形態およびハードウェア実現形態の両方をよく知るであろう。方法２００は、ファームウェア５２（図１）が、プロセスへの入り口で集合を待ち行列に入れることによって、データ値の標的集合を処理するために配列することができる開始２０２で開始する。プロセスがデータを通してシーケンシングすることができるように、例えば、上述されるように、コントローラ１０のバッファ内に既に存在する、マイクロコントローラ５０と関連付けられる一時メモリ１０３内、またはコントローラがアクセス可能な任意の好適な位置に、値の待ち行列を形成することができる。２０４で、プロセスがデータ値の標的集合の開始に配向されているか否かが判定される。プロセスがデータ値の標的集合の開始に配向されている場合、プロセスは、２０６で、データ値の以前の集合から留まっている場合があるいずれの残存分散値も消去することによって、自体を初期化することができる。２０８で、初期データ値が取得され、記憶される。１つ以上の分散値判定を記憶するために、分散値レジスタセクション２１０（図１）を提供することができる。ステップ２１２は、次いで、例えば、追加のデータ値を取り出し、すべての以前のデータ値に追加のデータ値を加えた集合に基づき、分散を再演算することによって、集合内の別の値が入手可能であるか否かを判定する。そうであれば、動作は、追加のデータ値を取り出し、すべての以前のデータ値に追加のデータ値を加えた集合に基づき、分散を再判定することによって、新しい現在の分散値を再判定する、２０８に戻る。分散値計算器２１４（図１）によって、分散値計算を実施することができる。２１６で、コントローラは、現行または最終分散出力を入手可能である。ステップ２０８および２１２は、ステップ２１２が値の集合の終わりが到達されたと判定するまで、ループ動作を継続する。その時、プロセスは、２１６で入手可能な集合の最終分散値を伴って、２１８で終了する。したがって、プロセスは、集合内のデータ値のそれぞれに対して反復され、反復毎に１つの値を取り込み、各反復の度に出力分散値を更新する。プロセスの終わりで、コントローラは、データ値の現在の集合の分散結果を入手可能である。
【００２１】
図３に示されるプロセスによって、実施形態は、計算ハードウェアを通してストリームされる集合からのデータ値の結果としての分散値を計算するためのハードウェアを含むことができる。ファームウェア５２は、ハードウェアへのデータ値の転送を設定し、初期化することに責任があり、いったん転送が開始されると、ハードウェアは、それぞれの追加のデータ値に基づき、分散値を自動的に更新することができる。そのようなハードウェアベースの分散計算は、当業者に良く知られるであろう。
【００２２】
図１を参照すると、１つ以上の品質メトリックスを確立する、統計的エラー率判定を実施するための品質メトリックス生成器２６０は、デコーダ４４の一部を形成してもよい。一実施形態では、デコーダは、品質メトリックスが、メモリ２０の一部を形成する各メモリデバイスのビタビ検出器のブランチメトリックスの差分になるように、ビタビ検出器を含んでもよい。ビタビデコーダ等の信号処理アルゴリズムは、通例、平均二乗誤差またはＭＳＥと称される、シーケンスの期待値と受信される実際の値との間のそれらのブランチメトリックスの累積を用いて設計される。ＭＳＥは、データが復号化される際にリアルタイムに捕獲されるデータ品質のメトリックスである。出願人は、さらに記載されるように、システムを改善するために、このデータ品質に関連する情報を多数の異なる方法で使用することができることを認識する。
【００２３】
さらに別の実施形態では、デコーダ４４は、品質メトリックス生成器２６０として、復号化されるリードソロモンデータの各ブロックに対して実施されるシンボル訂正の数をカウントする、リードソロモンデコーダを含む。リードソロモンデコーダのシンボル訂正のカウントは、システム内の各メモリデバイスのデータ品質の尺度として使用することができる。リードソロモン（ＲＳ）検出器は、ＲＳブロック毎に最大で特定の数のＲＳシンボルを訂正することができることが理解されるであろう。いくつかの実施形態では、ＲＳブロック毎のシンボル訂正の数を監視することができる。例えば、デコーダは、１つのシンボルのみが訂正される各ＲＳブロックを識別すること、２つのシンボルが訂正される各ＲＳブロックを識別すること、および３つのＲＳシンボルが訂正される各ＲＳブロックを識別すること等ができる。このようにして、ＲＳブロック毎のシンボル訂正の数に基づき、ヒストグラムを構築することができる。典型的に、１つのシンボルの訂正は、漸進的により大きい数のシンボル訂正よりはるかに頻繁に発生する。この訂正データの形態は、データおよびシステムエラー率の全体的な品質を判定するための品質メトリックスとして使用することができる。品質メトリックス生成器２６０が追跡することができる任意の好適な統計的エラー率は、品質メトリックスの基準を形成することができ、本明細書に詳細に記載される品質メトリックスの具体的な形態は、制限であることは意図されないことを理解されたい。
【００２４】
出願人は、不揮発性メモリシステム内の品質監視は、既知の特徴について異なるデバイスを較正するため、システム内データ品質を訂正値を用いて訂正するため、データ老朽化影響を検出するため、さらなるアクションのために、データ品質をホストシステムに報告するため、および高品質データの場合に、スループット性能またはデータ密度を増加させるために使用することができることを認識する。品質監視は、インテリジェントな不揮発性（ＮＶＭ）コントローラが、品質監視情報に基づき、メモリシステムを修正することを可能にする。システム修正には、一例として、より長い期間にわたるデータの信頼性を改善する、またはデータが損失される前に、データを新しい位置に移動することができるように、差し迫る障害をホストシステムに報告する能力を与える、アクションを含むことができる。
【００２５】
依然として図１を参照すると、コントローラ１０の品質監視セクション６４は、通常のユーザデータに基づき、このデータがシステムを通って移動する際に、１つ以上の品質メトリックスを監視することができる。つまり、品質メトリックスを確立するために、特別な較正データを利用する必要はない。したがって、システムスループットに限られた影響しか及ぼさずに、または本質的に影響を及ぼすことなく、品質メトリックスを生成し、監視することができる。つまり、従来のユーザデータアクセスに基づき、品質メトリックスデータを累積することができる。換言すれば、特別な専用較正データおよび他のそのような資源への追加の「帯域外」アクセスを行うことなく、品質データを累積することができる。いくつかの実施形態では、ストリーミングデータ方式において、システムスループットへの低い影響しか及ぼさずに、または影響を及ぼすことなく、コントローラによって、すべての要求される計算を実施することができる。したがって、通常のデータの使用を通して、データの潜在的劣化を監視することができる。劣化のレベルに基づき、例えば、マイクロコントローラ５０によって、ホスト１４によって、またはシステムのユーザの裁量で、応答事象を始動させることができる。応答事象は、許容不可能なレベルのデータ劣化のユーザへの通知、および後補正または前補正の状況における補正技法の自動起動の１つ以上を含むことができる。そのような指標は、２６１で、例えば、ホストと関連付けられるディスプレイ上に、ホスト１４によって発行される通知の形態で示される。応答事象の始動は、（１）ユーザによって始動されてもよく、（２）いくつかの閾値との比較において、データ品質メトリックスによってトリガされてもよく、品質メトリックスは、分散計算器２１４によって判定されるデータ分布の標準偏差または分散、平均値計算器１１４によって判定される通常データまたは較正データの分布の平均値シフト、デコーダ４４の一部を形成し、ＱＭ生成器２６０としての役割を果たす、ビタビ検出器の平均二乗誤差またはパスメトリックス、およびＢＣＨもしくはリードソロモン検出器またはデコーダ４４の一部を形成し、同様にＱＭ生成器２６０としての役割を果たすデコーダの訂正されたシンボルの数であってもよい。いくつかの実施形態では、センサセクション２６２は、絶対温度および／または温度の変化が、現在の品質メトリックス値を閾値と比較し、それを受けて、補正を始動させる観点からさらなる応答をトリガすることを含むが、これに限定されない、応答事象を品質監視セクション６４に始動させることができるように提供される、温度センサを含むことができる。同様に、センサセクション２６２は、供給電圧の十分に大きい変化が、品質監視セクション６４に応答事象を始動させるように、供給電圧を監視する、電圧モニタを含むことができる。一実施形態では、品質監視セクション６４は、例えば、最後に品質メトリックスが確認されてから、ある所定の期間の経過に応えて、応答事象を始動させることができる。これに関して、コントローラ１０に、関心がある任意の品質メトリックスを確認させ、その後、データ劣化を示す品質メトリックスの変化に基づき、適切な応答を取らせるために、任意の測定可能なパラメータを利用することができる。
【００２６】
ここで、図４を参照すると、図１のコントローラ１０の動作のための方法の一実施形態が、概して参照番号３００によって示されている。本方法は、開始３０１で開始する。３０２で、メモリ２０からデータの集合が読み取られる。このデータは、いくつかの実現形態では、通常のユーザデータであってもよく、他の実現形態では、以前に保存された、例えば、既知の平均値および既知の分散または標準偏差等の１つ以上の既知の特徴を有する、較正データであってもよい。通常のユーザデータが使用される際、データをメモリ２０に書き込む前に、平均値および／または分散を判定することができ、判定される値を、将来参照するために、平均値レジスタ１１０および分散レジスタ２１０に記憶することができる。さらに、上述されるように、および使用されている特定のエラー訂正コードによって、例えば、データを読み取り、ビタビデコーダまたはＬＤＰＣデコーダのブランチメトリックスをもたらすことができるＱＭ生成器２６０の出力を監視することによって、本質的にデータをメモリ２０に書き込んだ直後に、統計的エラー率を判定することができる。また、上述されるように、コードワード毎の訂正されたシンボルの数が、品質メトリックスとしての役割を果たすことができるように、例えば、リードソロモンまたはＢＣＨ等のブロック訂正コードが使用されていてもよい。したがって、読み取り動作によって、読み取られる記憶データの集合について、取り出しデータの関連集合が取得され、取り出しデータは、記憶データの集合が不揮発性メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される。
【００２７】
３０４で、取り出しデータの集合に応えて、１つ以上の品質メトリックスが生成され、品質メトリックス（単数または複数）は、ユーザデータと関連する取り出しデータとの間の差に応えて値が変化する。デコーダ４４およびＱＭ生成器２６０の特定の実施形態によって、および一例として、ＱＭ生成器２６０によってもたらされる品質メトリックスは、ビタビデコーダまたはＬＤＰＣデコーダのブランチメトリックス、およびブロック訂正コードについては、コードワード毎基準の訂正されたシンボルの数を含むことができる。これらの品質メトリックスは、品質監視セクション６４に提供される。また、品質監視セクション６４は、平均値レジスタ１１０および分散レジスタ２１０から、品質メトリックスとしての役割を果たす平均値および分散値をそれぞれ受信することもできる。
【００２８】
依然として図４を参照すると、３０６で、品質メトリックスの１つ以上を閾値と比較することができる。例えば、この比較は、品質メトリックスの現在の値と閾値との間の関係を確立することができる。品質メトリックスの基礎値は、例えば、品質監視セクション６４、平均値レジスタ１１０、および／または分散レジスタ２１０によって、以前に記憶されていてもよい。上述されるように、基礎値を前もって、例えば、データをメモリ２０に記憶した書き込み動作の直後に確立することができる。本実施形態の状況では、閾値との比較のために、品質メトリックスの現在の値と基礎値との間の差として、関係を確立することができる。差が閾値を超えない際、動作は、通常の分岐に沿って、ステップ３０８に移動する。次いで、ステップ３０８は、プロセスに入力するためのデータの別の集合が入手可能であるか否かを判定する。そうであれば、動作は、続くデータの集合を読み取るために、ステップ３０２に戻ることができる。しかしながら、３０６で、差が閾値を超える際、動作は、元のユーザデータと比較して、取り出しデータのあるレベルの劣化が検出されたことを示す、この状態に対する応答を始動させるために、プロセスのエラー分岐に沿って３１０に進む。任意の好適な応答が呼び出されてもよい。一実施形態では、ユーザは、潜在的データ劣化を通知されてもよい。別の実施形態では、補正手順が始動されてもよい。ある好適なエラー応答は、取り出しデータの関連集合を構成する各データ値に、訂正の大きさを有する訂正量を追加することである。後補正ユニット７０によって後補正オフセット／値を判定し、後補正加算器６０によって取り出しデータ値に追加することができる。訂正の大きさは、品質メトリックスの現在の値とその品質メトリックスの基礎値との間の差に基づくことができる。つまり、訂正の大きさは、品質メトリックスと基礎値との間の差の増加に比例して増加させることができる。ステップ３１０が完了すると、動作は、品質メトリックスを再生成するためにステップ３０４に戻り、続いて、ステップ３０６で、その値をリセットする。３０６での決定が満足されると、動作は、ステップ３０８戻ることができ、３０２での続くデータの集合の読み取りか、または３１２でのプロセスの終了のいずれかをもたらすことができる。
【００２９】
図５を参照すると、図１のデコーダ４４で実現することができる、ブロック訂正コードと共に使用するための、概して参照番号３００’によって示される、図４の方法３００の別の実施形態が図示されている。プロセスは、３０１で入る。３０２で、メモリ２０からデータのブロックまたは集合が読み取られる。３０４’で、ブロックは、復号化され、例えば、リードソロモンまたはＢＣＨ等で使用されている任意の好適なブロック訂正コードに従って訂正される。ＱＭ生成器２６０は、参照目的で、ブロック毎の訂正の数を維持し、保存することができ、訂正カウントを、図１の品質監視セクション６４に提供することができる。３０６’で、訂正カウントが監視される。カウントは、ゼロまたは好適なより大きい値であってもよい、指定される訂正カウント制限を超えない場合、動作は、ステップ３０８に移動する。次いで、ステップ３０８は、プロセスに入力するためのデータの別の集合が入手可能であるか否かを判定する。そうであれば、動作は、３０２に戻る。一方、訂正カウント制限を超える場合、動作は、上述されるように、データの潜在的劣化に対する応答を始動させる、３１０に進む。次いで、動作は、方法が３０６’での試験が満足されるまで継続されるように、訂正カウントを再判定する、３０４’に戻る。３０８で、データの別の集合が入手可能ではない場合、方法は、３１２で終了する。
【００３０】
前述を考慮し、ここで、これらの詳細は制限であることは意図されないが、電荷捕獲デバイスおよびそれらの動作の状況における、品質メトリックスの判定ならびに関連する補正に関して、さらなる詳細が提供される。つまり、当業者は、本記載を他の形態のメモリセル記憶技法に容易に適用し得る。Ｎチャネル技術を用いる典型的なＮＡＮＤデバイスの例を使用して、当業者は、各メモリセルの浮遊ゲートに注入される、または電荷領域に捕獲される電子が、プログラマブルデータ記憶装置を提供する機構であることを理解するであろう。所与のメモリセルに貯蔵される電荷量に基づき、メモリセルの周知の閾値電圧ＶＴが変化する。したがって、読み取り技法は、ＶＴの相対値を確立する。典型的に、ＣＭＯＳデバイスのゲート領域内の窒化物層に電荷が捕獲される、ＮＲＯＭ  ＳＯＮＯＳもしくはＮＡＮＤ  ＳＯＮＯ、または同様のデバイス等の電荷が捕獲されるデバイスでは、電子または正孔の追加は、メモリセルを形成するトランジスタの周知のＶＴを変化させる。具体的なメモリセル構造に関わらず、各メモリセルのトランジスタのＶＴの値は、そのセルに情報が記憶されていることを表す。
【００３１】
１ビット／セルまたは単一レベルセル（ＳＬＣ）デバイスでは、ＶＴ値は、高または低値であってもよく（２レベルが記憶される）、より複雑なマルチレベルセル（ＭＬＣ）デバイスでは、２ビット／セルデバイスに４レベルが記憶されてもよく、３ビット／セルデバイスに８レベルが記憶されてもよく、４ビット／セルデバイス内に１６レベルが記憶されてもよい等である。式Ｎ＝ｌｏｇ２（Ｌ）は、セル内に配列されるＶＴレベルの数（Ｌ）と配列によって表されるビットの数（Ｎ）との間の関係を記述する。さらに、出願人は、非整数値のＮが許容可能であり、例えば、３．５８５ビット／セルは、１２レベル／セルと等しいことを認識する。
【００３２】
ここで、図６を参照すると、システム例のデータ値の理想化分布が、概して参照番号５００によって示されるプロットによって表されている。システム例は、垂直軸が、ＶＴの各値の発生数を表し、水平軸が、変数（ｘ）と交換可能に称され得るＶＴを表す、増加するＶＴの４つの異なる分布Ａ〜Ｄが示されるように、セル毎に２ビットを記憶する。各理想化分布は、分布Ａではウィンドウ００、分布Ｂではウィンドウ０１、分布Ｃではウィンドウ１０、および分布Ｄではウィンドウ１１と指定される、関連するウィンドウ内の中心にある。各理想化分布が、ウィンドウのそれぞれ１つ内の中心にあるため、各分布の算術平均値およびピークは、そのそれぞれのウィンドウ内の中心となる。図６に見られるデータ値の理想化分布は、いかなる歪み機構もない場合に、メモリに記憶され、それから読み取られる、大きい数のデータ値を読み取ることによってもたらすことができることを理解されたい。したがって、好適に大きい数のメモリセルを読み取ることによって、図６のようなデータ分布を、ヒストグラムとして構築することができる。そのようなヒストグラムは、読み取り動作中に取得される通常のユーザデータに基づいて、または較正パターンに基づいて構築することができる。これに関して、出願人は、通常のユーザデータが、有用なデータ分布をもたらすように十分にランダム化されることを発見した。記載されるように、以下の１つ以上の適切な点で、実際の読み取り動作に基づいて取得されるデータの結果としてもたらされる分布に、多数の方法で影響を及ぼすことができる。
【００３３】
依然として図６を参照すると、セル毎に２ビットのデバイスは、５０２ａ、５０２ｂ、および５０２ｃと指定される３つの閾値レベルによって分割される、合計で４つの情報のエリアまたはウィンドウＡ〜Ｄを含む。一例として、セル毎に４ビットのデバイスは、値を書き込むための１６のウィンドウを有し、１５の閾値レベルがこれらの値を分離する。信号処理の言語では、情報値を分離する離散閾値は、ハード閾値と称される。ハード閾値を使用するデータ検出を、スライサー検出と称することができる。ハード閾値によって表されるビットは、本明細書において、ハードビットと称される場合がある。しかしながら、より高い分解能情報は、値がハード閾値の間のどこにあるかを示すことができ、ソフト情報またはソフトビットと称することができる。したがって、ハードビットは、ソフトビットより有意度が高い。ソフト情報は、特定のサンプルがハード閾値にどれだけ近いか、したがって、サンプルが正確に検出された確率に関する。検出された値がハード閾値に近いことを示すソフト情報を伴う検出サンプルは、検出された値が２つのハード閾値の間の中心であることを示すソフト情報を有する検出されたサンプルより、正確である確率が低いことを示す。ビタビおよび低密度パリティコード等の信号処理アルゴリズム、ならびにデコーダ４４（図１）内に存在することができる他のアルゴリズムは、エラーの確率の観点から、値または値のシーケンスの正確な復号化を支援するために、ソフト情報を使用する。
【００３４】
図６の実施例では、各ハードウィンドウ００〜１１は、追加の２ビットのソフト情報を用いてオーバーサンプリングされる。したがって、各ハードウィンドウのＶＴ範囲は、ハードウィンドウ００のａ〜ｄと指定される４つの部分範囲に分割される。各ハードウィンドウ内の部分範囲は、３つのソフト閾値５１０によって分離され、それらの数は、具体的に指定される。したがって、２ビットのユーザデータを記述するために、合計で１６のソフトウィンドウエリア、または４ビットが使用される。本開示を考慮して、ソフトビットおよび情報ビットの数を無制限に拡張することができることを理解されたい。例えば、４ビットのユーザ情報を含むシステムは、３つの追加のソフトビットによってオーバーサンプリングされ、したがって、４ビットのユーザデータを完全に記述するために、７ビットのデータを必要としてもよい。各ハードウィンドウは、情報を記憶するために使用されるメモリセルの物理的特性の範囲に対応し、一方、各ソフトウィンドウは、ハードウィンドウのうちの１つ内の物理的特性の部分範囲に対応する。読み取り動作は、物理的特性が含まれるソフトウィンドウを確立する。
【００３５】
依然として図６を参照すると、メモリセルが情報を記憶する物理的特性が、少なくとも、ハード閾値の配列によって分離される、ユーザデータ分解能に対応する特定の数の領域に分割されるように、例えば、セル毎に２ビット等、メモリセル毎に記憶される特定の数のユーザデータビットを含むユーザデータを、ユーザデータ分解能で提供し、書き込むことができることを理解されたい。続いて、関連するメモリセルからの読み取り動作によって、取り出しデータの関連集合が取得されるように、１つ以上の読み取り動作において、記憶データの集合を読み取ることができ、取り出しデータは、記憶データの集合が不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される。そのような歪みには、続く図によって図示されるように、図６によって図示される分布のシフトおよび広がりが挙げられる。他の歪みには、例えば、（ｘ）の全範囲にわたって導入されるピーク、またはドループと称される場合がある谷が挙げられる。さらに、１つ以上の形態の歪みが同時に存在する確率がある。歪み（単数または複数）の具体的な形態に関わらず、ソフトビットが、ハード閾値の間のどこに各データ値があるかを示し、それによって読み取り動作中にソフト情報を生成するように、関連する取り出しデータ内の各データ値と関連付けられるソフトビットの集合を取得するために、特定のユーザデータ分解能より大きい読み取り分解能で、各関連するメモリセルの物理的特性のデータ値を続いて読み取ることができる。ソフトビットに基づき、取り出しデータの関連集合の少なくとも１つの訂正または補正値を判定することができる。
【００３６】
図７を参照すると、メモリ２０（図１）における老朽化の歪みを受けたデータ値の分布例が、概して参照番号６００によって示されるプロットによって表されている。図７のプロットは、一例として、２ビットのユーザ情報および２つのソフトビットを使用する、図６のプロットに基づいているが、制限であることは意図されないことに留意する。図７では、分布Ａ〜Ｄが、図６の対応する分布と比較して、ＶＴ内で、下方にシフトされていることが分かる。例えば、各ハードウィンドウ内の平均値およびハードウィンドウ内のすべての値の分散等のデータの標準統計的表現の測定および判定のために、ソフトビットまたはソフト情報を提供することができる。例えば、データがハードウィンドウ内の中心にないことを示すために、判定される平均値を使用することができる。図７では、ハードウィンドウ００の線６０２は、ハードウィンドウの中心線を表す。分布Ａの平均値は、線６０４によって示され、そのため、シフトされた分布Ａの平均値は、両頭矢印として示される量６１０だけＶＴ内でシフトされ、そのため、本実施例では、分布Ａの中心線６０４は、ハードウィンドウ００の部分範囲（ａ）内に含まれる。したがって、図示されるシフトは、部分範囲（ａ）がハードウィンドウ００の下端に直接隣接しているため、データエラーの有意な確率を示し、適切なエラー応答をトリガすることができる。修正されたデータの平均値がウィンドウ内の中心になるように、各ウィンドウ内のすべてのデータ値を修正するための訂正値として、各ウィンドウの中心と平均値との間の差６１０を使用することができる。これに関して、分布Ｂ〜Ｄもまた、差６１０だけシフトされた状態で示されているが、しかしながら、各分布のシフト量は異なっている確率があり、そのため、各分布に異なる補正量を適用することができることに留意する。例えば、いったんシフト量がある閾値を超えると、データを再書き込みすることによって等、記憶データを訂正するために、任意の好適な方法で、補正を実施することができる。例えば、シフト６１０と等しい量のデータを各データ値に追加することによって、読み取りデータの訂正を実施することができる。データ値をメモリに書き込む前に、そのような量のデータを各データ値に追加することによって、前補正を達成することができる。
【００３７】
図６および図７を参照すると、図６のＶＴ分布Ａ〜Ｄのそれぞれの初期幅は、典型的に、書き込み動作における許容値の変化によるものである。したがって、初期幅と関連する初期分散または偏差を判定することができる。図７に、実線両頭矢印を使用して、Ｄ分布の初期幅６２０が示されている。続いて、また、分布の広がりも、プログラム／消去サイクル（耐久性として知られる）、および老朽化（また、保持としても知られる）に付随する分布の移動を伴う確率がある。当業者は、既知の時間の高温浸漬またはベーキングは、同一のプログラムされたデバイスのより典型的な周囲温度での大幅に長い時間の老朽化と等しいと見なすことができることを理解するであろう。各メモリセルは、わずかに異なるようにプログラムされてもよく、各メモリセルは、わずかに異なる電荷を保持してもよいことを理解されたい。分布Ｄの変化を表す続く分布６２２は、点線を使用して仮想的に示されている。対象分布は、広がりならびにシフティングの影響を受ける。続くＤ分布の続く幅６２４は、点線両頭矢印を使用して示されている。したがって、続く分散または幅は、分布Ｄの初期分散または幅より大幅に大きくてもよい。しかしながら、シフトされた分布Ｄの平均値および続く分布６２２は、少なくとも本実施例の目的では、同一であることを理解されたい。この部類の伝送または記憶チャネルの信号対ノイズ比（ＳＮＲ）の標準的な定義は、電力または電圧デシベルのいずれかで表される信号分布の標準偏差（シグマ）で除算したウィンドウの幅である。大きいシグマを有する広い分布は、低ＳＮＲを有する。一実施形態では、品質監視セクション６４（図１）は、分散計算２１４によって判定される続く分散を、初期分散と比較し、比較に基づき、適切な補正量を判定することができる。別の実施形態では、初期分散と続く分散との間の差が閾値を超える場合、初期分散を少なくとも部分的に回復させるために、メモリセルを再書き込みすることができる。さらに記載されるように、ソフトビットに対応する物理的特性の部分範囲に従って、取り出しデータをフィルタリングすることによって、図７に示されるような取り出しデータの集合のデータ分布のヒストグラムを発現させることができること理解されたい。わずかに異なる方法で言い換えれば、ハード閾値の間の各ソフトビット値の発生をカウントすることによって、ヒストグラム情報を発現させることができる。
【００３８】
図１、図６、および図７を参照すると、長期にわたる記憶時間、温度もしくは電圧変化、または複数の消去／プログラムサイクルによる劣化のために発生し得る電荷の損失を補正するために、各値がメモリ２０から読み取られる際、後補正加算器６０によって、データの各値に、シフト６１０に対応する量等の訂正または補正量を追加することができる。各データ値に追加される訂正量は、多くの場合、全ハードビットより小さいが、しかしながら、補正は、ソフトビットに制限されない。ソフトビットは、多くの場合、ハードビット値を変化させることなく比較的小さい量の訂正をデータに追加することを可能にするという面で有益である。上述されるように、ハードウィンドウのそれぞれに対応する分布Ａ〜Ｄのそれぞれの平均値は、異なる量シフトすることができる。一実施形態では、分布Ａ〜Ｄのそれぞれの算術平均平均誤差を判定することができ、本実施例では、４つの平均値をもたらす。次いで、これらの４つの値の算術平均を、すべての取り出しデータ値の全体的な訂正値として適用することができる。任意の入手可能な数の分布が、全体的な算術平均に寄与することができ、４つの分布の使用は、一例であり、制限であることは意図されないことを理解されたい。別の実施形態では、各ウィンドウが異なる訂正値の対象となるように、各ウィンドウの平均誤差が判定され、その特定のウィンドウ内に含まれる値に対してのみ適用される訂正値として使用される。
【００３９】
さらに別の実施形態では、図７のＶＴ値の範囲全体にわたる曲線適合方程式を確立するために、各ウィンドウの判定されるデータの平均位置を使用することができる。曲線適合方程式は、任意の順序の任意の所望の形態、またはデータを表すために必要な形態をとることができる。一例として、好適な曲線適合手順は、当業者に良く知られるであろう、また、多項式適合、指数関数適合、スプライン適合、最小二乗適合が挙げられるが、これらに限定されない。広くは、適合の最適なタイプは、適合されるデータに依存する。一実施形態では、曲線適合手順のプロセッサ実現形態は、曲線適合のパラメータだけでなく、また、曲線適合動作のタイプも変化させる柔軟性を可能にすることができる。いったん曲線適合方程式が確立されると、曲線適合とそのデータの所望の位置との間の差に基づき、各データ値の訂正量を判定するために、方程式を使用することができる。
【００４０】
この訂正／補正プロセスは、方程式、
【００４１】
【数１】
2013539120.tif 000003
によって特徴付けることができ、式中、ｆ（ｘ）は、データの曲線適合を表す関数であり、ｇ（ｘ）は、データの所望の位置を表す関数である。上述されるように、変数（ｘ）は、ＶＴを表すことができる。関数ｇ（ｘ）は、ＶＴの所与の入力値のＶＴの所望の値を与え、一方、ｇ（ｘ）は、ＶＴの実際の入力値を表す。次いで、出力として補正された値をもたらすために、各入力データ値（ｘ）の方程式１によって反映される訂正量が、入力データ値に追加される。訂正量は、正であっても負であってもよい。
【００４２】
図８を参照すると、ｆ（ｘ）およびｇ（ｘ）対入力値（ｘ）のプロットが、測定される平均位置によって概略的に示されている、またはｆ（ｘ）内の測定されるデータ値は、それぞれ、Ｘによって指定される。両方の方程式の観点から、データは、タイプｙ＝ｍｘ＋ｂの一次方程式で記載され、式中、データの出力表現ｙは、実際のデータ値ｘを利得係数ｍで乗算し、一定値ｂを加算することによって計算され、ｂは、正であっても負であってもよい。図８の実施例では、以下の通りである。
【００４３】
【数２】
2013539120.tif 000004
【００４４】
【数３】
2013539120.tif 000005
所与の値（ｘ）のｆ（ｘ）によって与えられるデータの曲線適合表現とｇ（ｘ）によって与えられるデータの所望の位置との間の差が、データをウィンドウ内の中心にするために必要とされ得る、所与の値（ｘ）に追加される必要がある訂正量となる。本実施例では、ｆ（ｘ）およびｇ（ｘ）の両方が線形式であるため、以下の通りである。
【００４５】
【数４】
2013539120.tif 000006
【００４６】
したがって、任意の所与の入力値（ｘ）の訂正値は、ｘ＋２である。
【００４７】
図９を参照すると、ｆ（ｘ）およびｇ（ｘ）対入力値（ｘ）の別のプロットが、概して参照番号９００によって示されている。この場合も同様に、ｆ（ｘ）は、データの曲線適合を表す関数であり、ｇ（ｘ）は、データの所望の位置を表す関数である。所望の平均位置は、ｆ（ｘ）内に円で指定され、一方、測定される位置または測定されるデータ値は、それぞれ、Ｘで指定される。ｆ（ｘ）の形状は、ピークと見なされてもよく、一方、ドループは、ｇ（ｘ）の下に伸びるように垂直軸に沿って反対に現れ得ることに留意する。この図では、１５のハード閾値によって分離される１６の見込まれるデータ値を有する４ビットのデータが表されるが、しかしながら、各ハード閾値は、７つの追加のソフト閾値によってさらに分割され、合計で１２８の見込まれる値をもたらす。したがって、本実施例では、本実施例のデータの平均位置を以下のタイプの二次方程式で表すことができることを除き、以前の図８の２ビットのデータの実施例と同様に、４ビットのデータが１６の分布の対象である。
【００４８】
【数５】
2013539120.tif 000007
【００４９】
したがって、ｇ（ｘ）は、上記の方程式（２）の形態のままであり、一方、ｆ（ｘ）は、所望のレベルの曲線適合を提供する任意の好適な形態を使用することができるため、これは要求される形態ではないが、二次形式の方程式（５）であってもよい。直後に記載されるように、多くの異なる方法で、この訂正の実現形態を実施することができる。
【００５０】
図１０を参照すると、データの集合を曲線適合させ、訂正を適用するための方法が、概して参照番号１０００によって示されている。本方法は、上述されてきた技法に従って方法に入力される各分布の平均値を判定することによって、１００２で開始する。また、分散または任意の他の好適な関心のある統計値も判定されてもよいことを理解されたい。１００４で、各分布の平均値と一致する曲線適合方程式を立てるために、曲線適合手順を使用することができる。１００６で、例えば、図８および図９に関して上述されるように、データの曲線適合表現およびデータの所望の位置に基づき、各分布の各データ値の訂正量が判定される。１００８で、方法は、それぞれ後補正ユニット７０および前補正ユニット７２を介して、後補正加算器６０（図１）または前補正加算器６２によって、訂正量を分布のデータに追加することを伴って終了する。これらのステップのいずれかもしくはすべてを、マイクロコントローラ５０によって、または実施される機能用に特別に設計されたアプリケーション専用ハードウェアによって実施することができ、いずれかは、当業者が、本明細書で明らかにされてきた教示を考慮して容易に構成可能であることを理解されたい。
【００５１】
図１と併せて、依然として図１０を参照すると、一実施形態では、マイクロコントローラ５０は、データがメモリ２０から一時メモリ１０３に転送された後、データ分布から、統計的平均値および曲線適合方程式を判定する。本実施形態は、曲線適合の異常な場合に関与する、追加の柔軟性を可能にすることができ、プログラム変数に基づき、平均値の統計的計算を調整することを可能にすることができる。データが一時メモリ２０３内にある間に、判定される訂正量をデータに追加することができる、またはプロセッサの負担を軽減し、全体的なシステム性能を改善するために、アプリケーション専用ハードウェア機能において、訂正量を追加することができる。
【００５２】
一実施形態では、それぞれがソフトウィンドウのうちの１つを表すことができる、値の多数の部分範囲内の値の分布または群のデータをフィルタリングすることによって、平均値判定を実施することができる。データを合計し、サンプルの数で除算することによって、各部分範囲内のすべてのデータの平均値が計算される。しかしながら、所与の分布の平均値を判定するために、例えば、変数範囲（単数または複数）およびオフセットの使用、算術平均の移動、算術平均の指数関数移動、および低域通過フィルタリング、ならびに他の周知の平均もしくは平均値計算を含む、任意の好適な技法が採用されてもよい。また、所与の算術平均化技法は、ハードウェアで一般的に容易に実現することができ、したがって、この機能をハードウェア機能として実現することによって、プロセッサの負担を取り除くことができることも理解されたい。ハードウェアの一実施形態では、データがメモリ２０から読み取られる際に、加算器６０がデータ分布を完全に入手可能になるとすぐに、または一時メモリ１０３に書き込まれるとすぐに、算術平均化結果を処理することができるように、算術平均化ユニットを、後補正加算器６０とメモリインターフェース３４との間のデータストリーム内に含むことができる。そのようなハードウェア実現形態では、直後にさらに記載されるように、計算に使用可能であると予測される分布の数に基づき、平均計算回路を重複させることができる。
【００５３】
ここで、概して参照番号１１００によって示される、ハードウェア平均判定ユニットの一実施形態を図示するブロック図である図１１に注目する。ハードウェア平均判定ユニットは、一例として、４ビットシステムで使用するために構成されるが、しかしながら、当業者は、本明細書の教示に基づき、そのようなユニットを、任意の所望の数のビットに容易に適合させることができる。４ビット平均判定ユニットでは、１６の見込まれる値に対応する、予測される１６の見込まれる分布が存在する。したがって、ハードウェアシステムは、図１１に示され、適切に番号指定される、１６の別個の平均範囲ユニットを含む。各平均範囲ユニット１〜１６は、入力データ経路１１０２上の入力データ分布を受信し、それぞれが適切に番号指定される、関連する平均値レジスタ１〜１６に平均値を提供する。一実施形態では、例えば、図７に見られるような各ソフトウィンドウに対応する平均範囲検出器１〜１６の範囲は、連続的であり、重なりがなくてもよい。別の実施形態では、範囲は、少なくとも部分的に相互に重なることができる。見られるように、例えば、図７では、この重なりは、分布Ａ〜Ｄの重なりを反映することができる。さらに別の実施形態では、範囲は、ＶＴまたは（ｘ）のいくつかの値が任意の分布の一部としての算術平均化から除外されるように、離間していてもよい。例えば、判定される平均値において、より高い相対精度が望まれる際に、後者を使用することができる。
【００５４】
図１１と併せて図１２を参照すると、図１２は、概して参照番号１２００によって示される、図１１に見られる平均範囲ユニット１〜１６の一実施形態を図示するブロック図である。分布範囲チェッカー１２０２によって、分布入力１１０２からすべての入力分布値が受信される。分布範囲チェッカーは、事実上、入力分布値に対する帯域通過フィルタであり、低レベル固定（ｘ）値１２１０から高レベル固定値１２１２の指定される範囲内の値のみを通過させる。したがって、各分布範囲チェッカーの出力１２１４は、指定される低レベル１２１０の（ｘ）と指定される高レベル１２１２の（ｘ）との間、およびそれらを含む、指定される範囲内に含まれるデータ値のみを含むことができる。平均計算器１２２０は、範囲内のデータ値を受信し、受信した値の平均値を判定する。平均値は、平均値レジスタ１２２２によって記憶される。したがって、図１１の平均判定ユニット１１００は、それぞれの平均範囲ユニット１〜１６の高／低レベル限界が設定される方法に基づき、関心のある各部分範囲の平均値を生成する。
【００５５】
再び上記の方程式（１）を参照すると、訂正量は、所望のデータと曲線適合データとの間で実施される、２つの方程式の間の差であってもよい。これは、一実施形態では、方程式の差として実現することができ、したがって、プロセッサによって実行される。別の実施形態では、到来データ分布を表すデータテーブルおよび標的値を表す所望のデータ位置テーブルを用いた、テーブル差異手法をとることができる。これらのテーブルのうちのいずれか１つまたは両方を、関連する方程式によって埋めることができる。曲線適合方程式の出力からテーブルを生成するために、少なくとも一部において、データ分布から取得される、直接測定される値を使用して、データテーブルを生成することができる。プロセッサによって、またはハードウェアのアプリケーション専用部片として実現することによって、テーブル差異演算を容易に実施することができる。当業者は、この開示全体を手にして、いずれかの手法を容易に構成することができることが熟考される。直下に見られるように、テーブルベースの手法は、非線形もしくは区分的に線形の関数、またはこれらの任意の所望の組み合わせに容易に適応することを理解されたい。
【００５６】
図１３は、概して参照番号１３００によって示される、テーブル差異ベースの回路の一実施形態のブロック図である。本実施形態では、回路１３００は、入力線１３０４上で入手可能な到来配布ストリーム例１３０２に訂正量を適用するように構成される。非制限的な例として、入力ストリーム１３０２は、５、４、３、２、１、０、９、８、７、６の値のシーケンスを含む。テーブル１のエントリおよび値は、参照番号１３０６によって示され、各エントリは、そのデータ値によってインデックスが付けられる。つまり、所与のエントリ番号値のデータ値は、所与のエントリ番号に等しい。例えば、テーブルエントリ１のデータ値は、１に等しく、テーブルエントリ２のデータ値は、２に等しく、テーブルエントリ３のデータ値は、３に等しい等である。テーブル２は、テーブル１と同一のエントリ番号の集合に従う訂正値を明記する。非制限的な例として、訂正値の集合が、参照番号１３０８によって示される。テーブル２では、エントリ例０〜５は、それぞれ１に設定され、一方、エントリ６〜９は、それぞれ−１に設定される。本実施例では、訂正値の集合は、区分的に線形の関数を表し、テーブルのセグメントは、関数セグメントの区分的アレイを構成するように、柔軟な方法で、非線形関数を含む多くの形態の関数を表すことができることを理解されたい。さらに、訂正値は、正であっても負であってもよい。入力ストリーム１３０２は、加算器１３１２によって対応するテーブルエントリが追加され、入力ストリーム、テーブル１、およびテーブル２に基づき、出力ストリーム１３１４がもたらされるように、テーブル１およびテーブル２を同期して通過する。本実施例では、出力ストリーム値は、６、５、４、３、２、１、８、７、６、５である。図１３のデータ値は、説明のため、および読者の理解を容易にするために、全番号として与えられているが、しかしながら、そのような値は、ハードまたはデータビットに付随するソフト情報を含む、任意の長さのデータ値を表すことができることを理解されたい。別の実施形態では、回路１３００を、例えば、図１のマイクロコントローラ５０等のプロセッサによって実行される関連する機能と共に、ソフトウェアで実現することができる。
【００５７】
図１３と併せて図１４を参照すると、図１３のテーブル差異回路を初期化するための方法およびその動作の一実施形態が、概して参照番号１４００によって示されている。１４０２で、方法は、例えば、１からテーブルの終わりまでの連続値等の任意の所望の値でテーブル１を埋めることによって開始する。１４０４で、テーブル２に、エントリ１からテーブルの終わりまでの各エントリに対応する訂正量が読み込まれる。１４０６で、テーブルが同期してアドレス指定されるように、テーブル１および２に到来データ１３０２がストリームされる。１４０８で、加算器１３１２が、提示される値を追加する。１４１０で、加算器１３１２が補正された出力１３１４をもたらすことによって、方法が終了する。本手法は、所望により、いずれかのテーブル内の値を再読み込みすることができるというように、非常に万能であることを理解されたい。例えば、テーブル２に、他のタイプの補正に関連することができる、または補正の第１のパスで満足する結果が取得されなかった場合に、元のデータに対する再試行を試みるために、異なる訂正量を再読み込みすることができる。別の実施形態では、テーブル２ならびに加算器１３１２が必要とされないように、テーブル１に訂正された出力値を読み込むことができる。つまり、テーブル１に、以下の値を読み込むことができる。
【００５８】
【表１】
2013539120.tif 000008
【００５９】
図１および図１５を参照すると、図１５は、概して参照番号１５００によって示される、訂正または補正値を判定するための方法の一実施形態を図示する、フロー図である。本方法は、例えば、例えばビットエラー率（ＢＥＲ）、平均二乗誤差（ＭＳＥ）等のデコーダ４４もしくはトレリスデコーダの品質メトリックスユニット２６０から受信される品質メトリックス、ブロックエラー訂正コードに基づく訂正カウント（ＣＣ）、平均計算器１１４からの分布の平均値、または分散計算器２１４からの分散に基づき、後補正ユニット７０および前補正ユニット７２に提供される訂正値を判定するために、例えば、図１の品質監視セクション６４によって採用することができることを理解されたい。１５０２で、関心データの集合または分布が読み取られ、少なくとも１つの品質メトリックスの初期基礎値が判定される。１５０４で、時間経過、品質メトリックスの現在の値の基礎値との比較を伴うリードバック動作におけるデータ集合の劣化、ブロックエラー訂正コードにおけるブロック毎の訂正されたエラーの数、および少なくともデータ集合の潜在的劣化の指標である任意の他の好適な事象を含むことができる、トリガ事象が検出される。ある閾値との比較において、品質メトリックスを定期的に監視することができることを理解されたい。閾値が超えられる際に検出を行うことができる。１５０６で、データ集合に訂正値が適用される。例えば、判定される平均値に基づき、訂正値を選択することができる。一実施形態では、方法は、訂正値の見込まれる値の範囲にわたって増分的に段階的に進む。１５０８で、インプレースの訂正値を用いて、品質メトリックスが再判定される。１５１０で、参照のために、品質メトリックスの訂正値および関連する値が保存される。１５１２で、データ集合に別の訂正値が適用されるか否かに関する判定が行われる。そうであれば、動作は、ステップ１５０６に戻る。そうでなければ、動作は、基礎値に最も近似する品質メトリックスの値をもたらす最適訂正値が選択される、１５１４に進む。つまり、選択される値は、適用されるすべての訂正値の中での、データの品質における最高品質または最高改善を表す。１５１６で、訂正のために、選択された訂正値がデータに適用される。したがって、品質メトリックスの反復判定に基づき、訂正値を最適化することができる。
【００６０】
再び図１を参照すると、一例として、上述される不揮発性メモリデバイスとして、複数の半導体メモリダイ１６００（それらのうちの２つが示されている）を含む、メモリ２０が示されている。図１６は、各メモリダイ１６００の物理的配置の一実施形態の詳細を図式的に図示する。具体的に、各メモリダイ１６００は、プレーン０およびプレーン１と指定される一対の領域で構成することができる。これらのプレーンのそれぞれは、消去ブロック０〜ｎ−１と指定される、複数のｎの消去ブロックで構成されている。
【００６１】
図１６と併せて図１７を参照すると、図１７は、概して参照番号１７００によって示される、各ダイ１６００の消去ブロックの形成において使用するのに好適な消去ブロックの一実施形態を図式的に図示する。消去ブロック１７００は、ワードライン０からワードラインｍ−１と指定されるワードラインに沿って配列される、複数のページを含む。各ワードラインは、複数のページで構成されている。本実施例では、各ワードラインは、２つのページを含む。ページは、合計でｍのページが各消去ブロックを構成するように、ページ０からページｍ−１と指定される。本実施例では、ページは、点線の長方形内に示される偶数のページの第１のグループ１７０２、および同様に点線の長方形内に示される奇数ページの第２のグループ１７０４として配列される。上述されるように、メモリダイの様々な部分領域等のメモリダイの物理的配置に基づき、補正を適用することができる。好適な実施形態では、図１６および図１７によって図式的に図示される特長等のプレーン、消去ブロック、ワードライン、またはページに基づき、部分領域を選択することができる。
【００６２】
本発明の前述の説明は、例証および説明のために提示されてきた。包括的であること、または本発明を開示される厳密な形態（単数または複数）に限定することは意図されず、当業者が、特定の修正、置換、追加、およびその副次的組み合わせを認識するであろう上記の教示を踏まえて、他の修正および変形が可能であり得る。
【００６３】
結論
本開示は、ユーザデータを記憶するための複数のメモリセルで構成されている不揮発性メモリと共に使用するための装置および関連する方法を明らかにし、メモリセルは、集合プログラミング動作に応えて設定することができる物理的特性に基づき、ユーザデータを記憶するため、および読み取り動作において、ユーザデータを表す記憶データを読み取るために構成される。
【００６４】
一実施形態では、エンコーダは、読み取り動作によって、取り出しデータの関連集合が取得されるように、読み取り動作において、記憶データの集合を読み取り、取り出しデータは、記憶データの集合が不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される。品質メトリックス生成器は、取り出しデータに応えて、品質メトリックスを生成し、品質メトリックスは、ユーザデータと関連する取り出しデータとの間の差に応えて値が変化する。品質監視セクションは、品質メトリックスの現在の値と閾値との間の関係を確立し、取り出しデータの品質の劣化を示す関係を監視し、監視に応えて、エラー応答事象を選択的に始動させる。
【００６５】
別の実施形態では、デコーダは、読み取り動作によって、取り出しデータの関連集合が取得されるように、読み取り動作において、記憶データの集合を読み取り、取り出しデータは、記憶データの集合が不揮発性固体メモリに記憶され、それから読み取られた結果として、１つ以上の歪み機構に影響される。品質メトリックス生成器は、取り出しデータに応えて、初期品質メトリックスを生成し、初期品質メトリックスは、ユーザデータと関連する取り出しデータとの間の差に応えて値が変化する。品質監視セクションは、修正された品質メトリックスが、取り出しデータの一連の訂正された集合のそれぞれ１つと関連付けられるように、取り出しデータの一連の訂正された集合を形成するために、取り出しデータの集合に一連の訂正値を反復的に追加し、少なくともメモリからの取り出しデータの続く集合を続いて訂正するための品質メトリックスにおける最高改善をもたらす、一連の訂正値のうちの特定の１つを選択する。一特長では、データを初期記憶することと関連付けられる品質メトリックスの基礎値を考慮して、選択される訂正値を識別することができる。
【００６６】
本発明の前述の説明は、例証および説明のために提示されてきた。包括的であること、または本発明を開示される厳密な形態（単数または複数）に限定することは意図されず、当業者が、特定の修正、置換、追加、およびその副次的組み合わせを認識するであろう上記の教示を踏まえて、他の修正および変形も可能であり得る。
【図１】
2013539120.tif 000009
【図２】
2013539120.tif 000010
【図３】
2013539120.tif 000011
【図４】
2013539120.tif 000012
【図５】
2013539120.tif 000013
【図６】
2013539120.tif 000014
【図７】
2013539120.tif 000015
【図８】
2013539120.tif 000016
【図９】
2013539120.tif 000017
【図１０】
2013539120.tif 000018
【図１１】
2013539120.tif 000019
【図１２】
2013539120.tif 000020
【図１３】
2013539120.tif 000021
【図１４】
2013539120.tif 000022
【図１５】
2013539120.tif 000023
【図１６】
2013539120.tif 000024
【図１７】
2013539120.tif 000025
【国際調査報告】
2013539120.tif 000026
2013539120.tif 000027
2013539120.tif 000028
2013539120.tif 000029
2013539120.tif 000030
2013539120.tif 000031