(57)【要約】  データ記憶を提供するデータ記憶ユニットのための論理レベルの弁別において用いられる記憶されたレベル（例えばレファレンスレベル）についてのエラー管理を持つメモリシステム（例えばメモリカード）を提供する。記憶されたレベルは、メモリシステム内の所定の記憶ユニット（例えば書き込み可能なトラッキング記憶ユニット）に記憶されえる。メモリシステムは典型的には、バイナリまたはマルチステートデータ記憶を提供する不揮発性メモリ製品またはデバイスである。
2005509226.tif 000002
【特許請求の範囲】
【請求項１】
メモリ製品の記憶ユニットの状態についての弁別レベルを決定する方法であって、
複数の所定の記憶ユニットから記憶されたレベルを読み出すこと、
前記記憶されたレベルのうちのいずれかが異常であるかを決定すること、
異常であると前記決定が決定する前記記憶されたレベルのうちの少なくとも１つについての補正すること、および
前記補正に続いて、前記記憶されたレベルに基づいて１つ以上の弁別レベルを決定すること
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記補正は、異常であると前記決定が決定する前記記憶されたレベルのうちの少なくとも１つを廃棄することを含む方法。
【請求項３】
請求項１に記載の方法であって、前記記憶されたレベルのいずれかが異常であるかを決定することは、
少なくとも複数の前記記憶されたレベルから処理された記憶されたレベルを決定すること、および
前記記憶されたレベルのそれぞれを前記処理された記憶されたレベルと比較すること
を含む方法。
【請求項４】
請求項３に記載の方法であって、前記補正することは、前記処理された記憶されたレベルから所定の量より大きくずれている前記記憶されたレベルのものを廃棄することを含む方法。
【請求項５】
請求項１に記載の方法であって、前記記憶されたレベルのいずれかが異常であるかを決定することは、
前記記憶されたレベルから平均の記憶されたレベルを得ること、および
前記記憶されたレベルのそれぞれを前記平均の記憶されたレベルと比較すること
を含む方法。
【請求項６】
請求項１に記載の方法であって、前記記憶されたレベルはレファレンスレベルである方法。
【請求項７】
請求項１〜６のいずれかに記載の方法であって、前記所定の記憶ユニットはトラッキング記憶ユニットである方法。
【請求項８】
請求項１〜７のいずれかに記載の方法であって、
その後、前記弁別レベルにしたがって前記メモリ製品の前記記憶ユニット中に記憶された前記データのうちの一部の状態を決定すること
をさらに含む方法。
【請求項９】
請求項１〜８のいずれかに記載の方法であって、前記メモリ製品は不揮発データ記憶を提供するメモリカードである方法。
【請求項１０】
メモリデバイスにおいて、データ記憶ユニットと用いられるトラッキング記憶ユニットに関連付けられたエラーを管理する方法であって、
複数のトラッキング記憶ユニットからレファレンスレベルを読み出すこと、
前記レファレンスレベルのそれぞれについてのクオリティを評価すること、
前記レファレンスレベルのいずれかについての前記クオリティが許容できないかを決定すること、
前記決定が許容できないと決定する前記レファレンスレベルのうちの少なくとも１つについて補正すること、および
前記補正に続いて、前記レファレンスレベルに基づいて前記トラッキング記憶ユニットに関連付けられたデータ記憶ユニットについての弁別レベルを決定すること
を含む方法。
【請求項１１】
請求項１０に記載の方法であって、
続いて、前記弁別レベルを用いて前記データ記憶ユニット中に記憶されたデータの状態を決定すること
をさらに含む方法。
【請求項１２】
請求項１０または１１に記載の方法であって、前記レファレンスレベルが許容できないかを決定することは、
少なくとも複数の前記レファレンスレベルから処理されたレファレンスレベルを決定すること、および
前記レファレンスレベルのそれぞれを前記処理されたレファレンスレベルと比較すること
を含む方法。
【請求項１３】
請求項１０〜１２のいずれかに記載の方法であって、前記決定が許容できないと決定する前記レファレンスレベルのうちの少なくとも１つについて前記補正することは、
前記レファレンスレベルの  前記処理されたレファレンスレベルから所定の量より大きくずれている前記レファレンスレベルのものを除去することを含む方法。
【請求項１４】
請求項１０〜１３のいずれかに記載の方法であって、前記メモリデバイスは、不揮発性マルチステートデータ記憶を提供するメモリカードである方法。
【請求項１５】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法であって、
（ａ）あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを実質的に同時に読み出すこと、
（ｂ）処理されたレファレンスレベルを前記レファレンスレベルから計算すること、
（ｃ）前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、
（ｄ）前記状態弁別レベルに基づいて前記あるデータ記憶ユニットから前記データレベルの状態を弁別することによって、リクエスタのために読み出されたデータを得ること、
（ｅ）前記レファレンスレベルのクオリティを評価すること、および
（ｆ）前記レファレンスレベルの前記クオリティが許容できるかを決定すること
を含む方法。
【請求項１６】
請求項１５に記載の方法であって、
（ｇ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できると決定するとき、前記読み出されたデータを前記リクエスタに転送すること、および
（ｈ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、前記レファレンスレベルのうちの少なくとも１つについて補正すること
をさらに含む方法。
【請求項１７】
請求項１６に記載の方法であって、
（ｉ）前記補正（ｈ）に続いて、前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、少なくとも前記計算（ｂ）から前記弁別（ｄ）を１回以上繰り返すこと
をさらに含む方法。
【請求項１８】
請求項１５に記載の方法であって、
（ｇ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できると決定するとき、前記読み出されたデータを前記リクエスタに転送すること、
（ｈ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、前記転送（ｇ）を停止すること、および
（ｉ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、レファレンスレベルのうちの少なくとも１つについて補正すること
をさらに含む方法。
【請求項１９】
請求項１８に記載の方法であって、
（ｊ）前記補正（ｉ）に続いて、前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、前記計算（ｂ）から前記補正（ｉ）を１回以上繰り返すこと
をさらに含む方法。
【請求項２０】
請求項１８または１９に記載の方法であって、前記停止（ｈ）は、前記停止（ｈ）の前に前記リクエスタによって受け取られた任意の読み出されたデータをキャンセルすることを含む方法。
【請求項２１】
請求項１８〜２０のいずれかに記載の方法であって、前記停止（ｈ）の前に前記リクエスタによって受け取られた任意の読み出されたデータをキャンセルすることを含む方法。
【請求項２２】
請求項１５に記載の方法であって、
（ｇ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できると決定するとき、前記読み出されたデータを前記リクエスタに転送すること、
（ｈ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、前記リクエスタによって受け取られた前記読み出されたデータをキャンセルすること、および
（ｉ）前記決定（ｆ）が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、レファレンスレベルのうちの少なくとも１つについて補正すること
をさらに含む方法。
【請求項２３】
請求項１５〜２２のいずれかに記載の方法であって、前記レファレンスレベルの前記クオリティが許容できるかの前記決定（ｆ）は、
前記レファレンスレベルのうちのそれぞれを前記処理されたレファレンスレベルと比較すること
を含む方法。
【請求項２４】
請求項１５〜２３のいずれかに記載の方法であって、
前記読み出し（ａ）によって読み出される前記レファレンスレベルは、第１および第２レファレンスレベルに関し、
前記計算（ｂ）は、前記第１レファレンスレベルに関する前記レファレンスレベルから第１の処理されたレファレンスレベルを計算し、前記第２レファレンスレベルに関する前記レファレンスレベルから第２の処理されたレファレンスレベルを計算し、
前記決定（ｃ）は、前記第１および第２の処理されたレファレンスレベルに基づいて前記状態弁別レベルを決定する
方法。
【請求項２５】
請求項２４に記載の方法であって、前記レファレンスレベルの前記クオリティが許容できるかの前記決定（ｆ）は、
前記第１レファレンスレベルに関する前記レファレンスレベル群のうちのそれぞれを前記第１の処理されたレファレンスレベルと比較すること、および
前記第２レファレンスレベルに関する前記レファレンスレベル群のうちのそれぞれを前記第２の処理されたレファレンスレベルと比較すること
を含む方法。
【請求項２６】
請求項１５〜２５のいずれかに記載の方法であって、前記メモリデバイスは、不揮発性マルチステートデータ記憶を提供するメモリカードである方法。
【請求項２７】
請求項１５〜２６のいずれかに記載の方法であって、前記計算（ｂ）は、前記処理されたレファレンスレベルを計算するために前記レファレンスレベル群を平均するよう操作する方法。
【請求項２８】
請求項１５〜２６のいずれかに記載の方法であって、前記計算（ｂ）は、前記処理されたレファレンスレベルを計算する際に前記レファレンス信号について、最小値、最大値、２乗平均平方根（ＲＭＳ）値、ピーク値、平均値、中央値、法、および／または線形回帰のうちの少なくとも１つを計算する方法。
【請求項２９】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法であって、
（ａ）あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを実質的に同時に読み出すこと、
（ｂ）処理されたレファレンスレベルを前記レファレンスレベルから計算すること、
（ｃ）前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、
（ｄ）前記状態弁別レベルおよび誤り訂正符号処理を用いて前記データレベルから読み出されるデータを決定すること、
（ｅ）データ誤りが前記誤り訂正符号処理によって示されるかを決定すること、および
（ｆ）前記決定（ｅ）が前記データ誤りを検出するとき、前記レファレンスレベルのクオリティを評価し、クオリティの低い前記レファレンスレベルのうちの少なくとも１つについて補正すること
を含む方法。
【請求項３０】
請求項２９に記載の方法であって、
（ｇ）前記レファレンスレベルのうちの少なくとも１つの前記補正に続いて、前記計算（ｂ）、前記決定（ｃ）および前記決定（ｄ）を繰り返すこと
を含む方法。
【請求項３１】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法であって、
（ａ）カウントを初期化すること、
（ｂ）あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを読み出すこと、
（ｃ）処理されたレファレンスレベルを前記レファレンスレベルから計算すること、
（ｄ）前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、
（ｅ）前記状態弁別レベルに基づいて前記あるデータ記憶ユニットから前記データレベルの状態を弁別することによって、リクエスタのために読み出されたデータを得ること、
（ｆ）前記レファレンスレベルのクオリティを評価すること、
（ｇ）前記レファレンスレベルの前記クオリティが許容できるかを決定すること、
（ｈ）前記カウントをカウントリミットと比較すること、
（ｉ）前記決定（ｇ）が、前記レファレンスレベルの前記クオリティが許容できないと決定し、前記比較（ｈ）が、前記カウントが前記カウントリミットを超えないと決定するとき、前記レファレンスレベルのうちの少なくとも１つについて補正すること、
（ｊ）前記カウントを更新すること、
（ｋ）前記決定（ｇ）が前記レファレンスレベルの前記クオリティが許容できないと決定し、前記計算（ｈ）が、前記カウントが前記カウントリミットを超えないと決定するとき、前記計算（ｂ）から前記比較（ｈ）を１回以上繰り返すこと、および
（ｌ）前記決定（ｇ）が前記レファレンスレベルの前記クオリティが許容できると決定するとき、または前記計算（ｈ）が、前記カウントが前記カウントリミットを超えると決定するとき、前記読み出されたデータを前記リクエスタに転送すること
を含む方法。
【請求項３２】
それぞれがマルチステートデータ記憶を不揮発性で提供する複数のデータ記憶ユニット、
レファレンスレベルについての記憶を不揮発性で提供する複数のトラッキング記憶ユニット、
前記トラッキング記憶ユニットから前記レファレンスレベルを受け取るよう動作可能に接続され、前記レファレンスレベルのクオリティを評価するレファレンスレベルエラーマネージャ、および
前記データ記憶ユニットおよび前記トラッキング記憶ユニットに動作可能に接続されたメモリコントローラであって、前記メモリコントローラは、前記データ記憶ユニットおよび前記トラッキング記憶ユニットについてリード、ライトおよびイレース操作を制御するよう動作し、前記メモリコントローラは状態弁別レベルを用いて読み出される前記データ記憶要素の前記状態を決定するメモリコントローラ
を備えるメモリシステム。
【請求項３３】
請求項３２に記載のメモリシステムであって、
前記トラッキング記憶ユニット、前記レファレンスレベルエラーマネージャおよび前記メモリコントローラに動作可能に接続された状態弁別レベル回路であって、前記状態弁別レベル回路は、複数の前記レファレンスレベルに基づいて、前記メモリコントローラによって用いられる前記状態弁別レベルを決定するよう動作する
メモリシステム。
【請求項３４】
請求項３２または３３に記載のメモリシステムであって、前記レファレンスレベルエラーマネージャは、許容できないクオリティを持つ１つ以上の前記レファレンスレベルについて補正するメモリシステム。
【請求項３５】
請求項３２〜３４のいずれかに記載のメモリシステムであって、前記メモリシステムはメモリカードであるメモリシステム。
【請求項３６】
請求項３５に記載のメモリシステムであって、前記レファレンスレベルエラーマネージャおよび状態弁別レベル回路のうちの少なくとも１つは前記メモリコントローラ内に提供されるメモリシステム。
【請求項３７】
請求項３２〜３６のいずれかに記載のメモリシステムであって、前記レファレンスレベルエラーマネージャは、許容できないクオリティを持つ１つ以上の前記レファレンスレベルについて補正するメモリシステム。
【請求項３８】
請求項３２〜３７のいずれかに記載のメモリシステムであって、
前記メモリコントローラは、データが前記データ記憶ユニットのブロックに書き込まれるように動作し、
前記データ記憶ユニットの前記ブロックと関連付けられた前記トラッキング記憶ユニットのセットは、前記データ記憶ユニットが書き込まれるときはいつでも、所定のレファレンスレベルで書き込みがなされる
メモリシステム。
【請求項３９】
請求項３８に記載のメモリシステムであって、前記トラッキング記憶ユニットの前記セットは、前記データ記憶ユニットの前記ブロックが読み出されるときはいつでも、読み出されるメモリシステム。
【請求項４０】
請求項３２〜３９のいずれかに記載のメモリシステムであって、
読み出される前記データ記憶要素の前記状態の決定において補助する誤り訂正ユニット
をさらに備えるメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発データ記憶のためのメモリシステムに関し、より具体的にはマルチステートフォーマットに記憶されたデータを読み出すためのレファレンスレベルを用いるメモリシステムに関する。
【背景技術】
【０００２】
メモリカードはさまざまな製品（例えば電子製品）と共に用いられてディジタルデータを記憶するのによく使われる。メモリカードの例は、フラッシュタイプまたはＥＥＰＲＯＭタイプのメモリセルを用いてデータを記憶するフラッシュカードである。フラッシュカードは、比較的小さいフォームファクタを持ち、カメラ、ハンドヘルドコンピュータ、セットトップボックス、ハンドヘルドまたは他の小さいオーディオプレーヤー／レコーダー（例えばＭＰ３デバイス）、および医療用モニタのような製品のためにディジタルデータを記憶するのに用いられてきた。フラッシュカードの大手供給元は、カリフォルニア州サニーベールのＳａｎＤｉｓｋ社である。
【０００３】
これらのメモリカードは、より多くのデータ量を記憶するためにますます需要が高まっている。その結果、これらのメモリカード内の個々の記憶要素は、効率的にマルチビットのデータを記憶するようにマルチレベルをサポートするように開発されてきた。従来の記憶要素は２つの状態だけしか記憶せず、一方、マルチレベルまたは高密度記憶要素は２状態より多い状態を記憶する（例えば４状態）。今日のマルチレベルメモリカードの中には例えば個々の記憶要素が４レベルを記憶でき、よって単一の記憶要素に２ビットのデータとして機能させることが効率的に可能である。これらマルチレベルは、サイズまたはコストの対応する増加なしに、メモリアレイがずっとより多くのデータ量を記憶することを可能にするが、記憶されたデータをメモリアレイから読み出すのはより難しい。
【０００４】
不揮発性メモリは非常に多用され有用であるが、これはデータを電源がオフにされた後にも維持できるからである。しかし不揮発性メモリの電荷保持は完璧ではない。その結果、メモリセルをプログラミングした後、メモリセルの電圧は、バイアス電圧、メモリデバイス内で発生した電磁界、およびメモリデバイスの誘電体にトラップされた電荷のようなさまざまな影響に依存してドリフトアップしたり、ドリフトダウンしたりする。
【０００５】
不揮発性メモリがそれぞれの記憶要素でマルチステートをサポートするとき、マルチステートメモリと呼ばれるが、メモリセルからデータを読み出すときに状態群間で差異を見いだす助けになるようレファレンスレベルが必要となる。従来では、工場でプログラムされたり、セルを使用する前またはそのときに書き込まれたりしえるグローバルレファレンス電圧を記憶するメモリデバイス内のレファレンスセルが用いられてきた。しかしこれらのレファレンス電圧を正確に取り出す能力は、ライトされたトラッキング記憶ユニット群（written tracking storage units）の間でのスレッショルド電圧／電流の分配のために実現が難しい。この分配は、初期ライトスレッショルド／電流、電圧擾乱、さまざまな環境的感度の違いを生む物理的なバラツキ、およびビルトインの電界または磁界からの電荷損失によって実現が難しい。いずれの場合も、結果は、リード（read）操作中のエラー確率が増えることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
よって、信頼性高くレファレンスレベルを記憶し獲得し、それによりマルチステートメモリセルの状態（論理レベル）がメモリデバイスの寿命のあいだ信頼性高く取り出されるようにするための改良されたアプローチの要求がある。
【課題を解決するための手段】
【０００７】
おおまかには、本発明は、データ記憶を提供するデータ記憶ユニットのための論理レベルの弁別において用いられる記憶されたレベル（例えばレファレンスレベル）についてのエラー管理を持つメモリシステム（例えばメモリカード）に関する。記憶されたレベルは、メモリシステム内の所定の記憶ユニット（例えば書き込み可能なトラッキング記憶ユニット）に記憶されえる。メモリシステムは典型的には、バイナリまたはマルチステートデータ記憶を提供する不揮発性メモリ製品またはデバイスである。
【０００８】
本発明は多くの方法で実現されえる。例えば本発明は、システム、デバイスまたは方法として実現可能である。本発明のいくつかの実施形態が以下に説明される。
メモリ製品の記憶ユニットの状態についての弁別レベルを決定する方法として、本発明のある実施形態は少なくとも、複数の所定の記憶ユニットから記憶されたレベルを読み出すこと、前記記憶されたレベルのうちのいずれかが異常であるかを決定すること、異常であると前記決定が決定する前記記憶されたレベルのうちの少なくとも１つについての補正すること、および前記補正に続いて、前記記憶されたレベルに基づいて１つ以上の弁別レベルを決定することの行為を含む。
【０００９】
メモリデバイスにおいて、データ記憶ユニットと用いられるトラッキング記憶ユニットに関連付けられたエラーを管理する方法として、本発明のある実施形態は少なくとも、複数のトラッキング記憶ユニットからレファレンスレベルを読み出すこと、前記レファレンスレベルのそれぞれについてのクオリティを評価すること、前記レファレンスレベルのいずれかについての前記クオリティが許容できないかを決定すること、前記決定が許容できないと決定する前記レファレンスレベルのうちの少なくとも１つについて補正すること、および前記補正に続いて、前記レファレンスレベルに基づいて前記トラッキング記憶ユニットに関連付けられたデータ記憶ユニットについての弁別レベルを決定することの行為を含む。
【００１０】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法として、本発明のある実施形態は少なくとも、あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを実質的に同時に読み出すこと、処理されたレファレンスレベルを前記レファレンスレベルから計算すること、前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、前記状態弁別レベルに基づいて前記あるデータ記憶ユニットから前記データレベルの状態を弁別することによって、リクエスタのために読み出されたデータを得ること、前記レファレンスレベルのクオリティを評価すること、前記レファレンスレベルの前記クオリティが許容できるかを決定すること、前記決定が前記レファレンスレベルの前記クオリティが許容できると決定するとき、前記読み出されたデータを前記リクエスタに転送すること、および前記決定が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、前記レファレンスレベルのうちの少なくとも１つについて補正することの行為を含む。
【００１１】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法として、本発明の他の実施形態は少なくとも、あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを実質的に同時に読み出すこと、処理されたレファレンスレベルを前記レファレンスレベルから計算すること、前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、前記状態弁別レベルに基づいて前記あるデータ記憶ユニットから前記データレベルの状態を弁別することによって、リクエスタのために読み出されたデータを得ること、前記レファレンスレベルのクオリティを評価すること、前記レファレンスレベルの前記クオリティが許容できるかを決定すること、前記決定が前記レファレンスレベルの前記クオリティが許容できると決定するとき、前記読み出されたデータを前記リクエスタに転送すること、前記決定が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、前記転送を停止すること、および前記決定が前記レファレンスレベルの前記クオリティが許容できないと決定するとき、レファレンスレベルのうちの少なくとも１つについて補正することの行為を含む。
【００１２】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法として、本発明の他の実施形態は少なくとも、あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを実質的に同時に読み出すこと、処理されたレファレンスレベルを前記レファレンスレベルから計算すること、前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、前記状態弁別レベルおよび誤り訂正符号処理を用いて前記データレベルから読み出されるデータを決定すること、データ誤りが前記誤り訂正符号処理によって示されるかを決定すること、および前記決定が前記データ誤りを検出するとき、前記レファレンスレベルのクオリティを評価し、クオリティの低い前記レファレンスレベルのうちの少なくとも１つについて補正することの行為を含む。
【００１３】
データ記憶ユニットおよび関連付けられたトラッキング記憶ユニットを持つメモリデバイスからデータを読み出す方法として、本発明の他の実施形態は少なくとも、カウントを初期化すること、あるデータ記憶ユニットからデータレベルを、および前記あるデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからレファレンスレベルを読み出すこと、処理されたレファレンスレベルを前記レファレンスレベルから計算すること、前記処理されたレファレンスレベルに基づいて状態弁別レベルを決定すること、前記状態弁別レベルに基づいて前記あるデータ記憶ユニットから前記データレベルの状態を弁別することによって、リクエスタのために読み出されたデータを得ること、前記レファレンスレベルのクオリティを評価すること、前記レファレンスレベルの前記クオリティが許容できるかを決定すること、前記カウントをカウントリミットと比較すること、前記決定が、前記レファレンスレベルの前記クオリティが許容できないと決定し、前記比較が、前記カウントが前記カウントリミットを超えないと決定するとき、前記レファレンスレベルのうちの少なくとも１つについて補正すること、前記カウントを更新すること、前記決定が前記レファレンスレベルの前記クオリティが許容できないと決定し、前記計算が、前記カウントが前記カウントリミットを超えないと決定するとき、前記計算から前記比較を１回以上繰り返すこと、および前記決定が前記レファレンスレベルの前記クオリティが許容できると決定するとき、または前記計算が、前記カウントが前記カウントリミットを超えると決定するとき、前記読み出されたデータを前記リクエスタに転送することの行為を含む。
【００１４】
メモリシステムとして、本発明のある実施形態は少なくとも、それぞれがマルチステートデータ記憶を不揮発性で提供する複数のデータ記憶ユニット、レファレンスレベルについての記憶を不揮発性で提供する複数のトラッキング記憶ユニット、前記トラッキング記憶ユニットから前記レファレンスレベルを受け取るよう動作可能に接続され、前記レファレンスレベルのクオリティを評価するレファレンスレベルエラーマネージャ、および前記データ記憶ユニットおよび前記トラッキング記憶ユニットについてリード、ライトおよびイレース操作を制御するメモリコントローラを備える。メモリコントローラは、複数の前記レファレンスレベルに基づいて、前記メモリコントローラによって用いられる前記状態弁別レベルを決定するために、状態弁別レベル回路を含んでもよい。
【００１５】
本発明の他の局面および効果は、添付の図面を参照して以下の詳細な説明から明らかになろう。この添付の図面は本発明の原理を例示によって示す。
【発明を実施するための最良の形態】
【００１６】
本発明は添付の図面と共に以下の詳細な説明によって容易に理解されるだろう。図面において同様の参照番号は同様の構成要素を指す。
本発明は、データ記憶を提供するデータ記憶ユニットのための論理レベルの弁別に用いられる記憶されたレベル（例えばレファレンスレベル）についてのエラー管理を持つメモリシステム（例えばメモリカード）に関する。記憶されたレベルは、メモリシステム内の所定の記憶ユニット（例えば書き込み可能なトラッキング記憶ユニット）に記憶されえる。メモリシステムは典型的には、バイナリマルチステートデータ記憶を提供する不揮発性メモリ製品またはデバイスである。
【００１７】
メモリシステムは例えば、メモリカード（プラグインカードのような）、メモリスティック、または他の半導体メモリ製品と関連付けられえる。メモリカードの例には、ＰＣカード（従来のＰＣＭＣＩＡデバイス）、フラッシュカード、フラッシュディスク、マルチメディアカード、およびＡＴＡカードが含まれる。
【００１８】
本発明のこの局面の実施形態は、図１Ａ〜３を参照して以下に説明される。しかし当業者には、ここでこれら図面を参照して与えられた詳細な説明は、例示目的であって、本発明はこれらの限定された実施形態を超えることが容易にわかるだろう。
【００１９】
図１Ａは、本発明のある実施形態によるメモリシステム１０の機能ブロック図である。メモリシステム１０は、マルチステート記憶を用いる高密度データ記憶を提供する。メモリシステム１０は、メモリシステム１０の動作（例えばリード、イレース、プログラム）を制御し、データバス１３を通してホストと通信するメモリコントローラ１２を含む。メモリシステム１０は、メモリシステム１０のためのデータを不揮発的に記憶するマルチステートデータ記憶ユニット１４（例えばメモリセル）も含む。マルチステートデータ記憶ユニット１４は、データの高密度記憶を提供するが、これはそれぞれのデータ記憶ユニット（データ記憶要素）が２つより多い状態を記憶できるからである。言い換えれば、それぞれのデータ記憶ユニット（例えばメモリセル）は、１ビットのデータより多いデータを記憶できる。マルチステートデータ記憶ユニット１４は典型的にはブロックで構成され、これらブロックはある実施形態においては最も小さいライトユニットを表す。
【００２０】
メモリシステム１０は、レファレンスレベルを不揮発的に記憶するトラッキング記憶ユニット１６、レファレンスレベルエラーマネージャ１８、および状態弁別レベル回路２０も含む。トラッキング記憶ユニット１６は、マルチステートデータ記憶ユニット１４と関連付けられる。より具体的には複数のトラッキング記憶ユニット１６が、マルチステートデータ記憶ユニット１４内のメモリのそれぞれのブロックに関連付けられて提供される。ライトされるデータのブロックに関連付けられたトラッキング記憶ユニット１６は、そのブロックに関連付けられたマルチステートデータ記憶ユニット１４がライトされるたびにレファレンスレベルを用いてリプログラムされる。典型的にはトラッキング記憶ユニット１６は、マルチステートデータ記憶ユニット１４がレファレンスレベルを用いてリプログラムされるのと同時に、固定されたグローバルレファレンスレベルを用いてプログラムされる。トラッキング記憶ユニット１６内の記憶されたレファレンスレベルは、データ記憶ユニット１４およびトラッキング記憶ユニット１６の両方による状態（論理レベル）弁別において用いられるスレッショルドレベル（例えば電圧スレッショルド）を設定するのに用いられる。トラッキング記憶ユニット１６に記憶されるレファレンスレベルは、データ記憶ユニット１４がリード（read）されるたびにリードされ、これらのレファレンスレベル（例えばスレッショルド電圧）はデータ記憶ユニット１４の記憶された論理レベルを決定するのに利用される。
【００２１】
不揮発性メモリセルが、実行されたプログラム／イレースサイクルの数の関数として変化する電荷保持特性を持つことは知られている。関連付けられたデータ記憶ユニット１４がプログラムされるたびにトラッキング記憶ユニット１６をリプログラムすることによって、トラッキング記憶ユニット１６は同じ履歴を作りだし、よって関連付けられたデータ記憶ユニット１４と同じ電荷保持特性を作りだす。言い換えれば、対応するデータ記憶ユニット１４と同じ回数だけイレースされリプログラムされるトラッキング記憶ユニット１６を持つことによって、電荷保持のサイクル依存が考慮され、データ記憶ユニット１４に記憶される論理レベルを弁別するための実効的なスレッショルドマージンが維持されることを可能にする。その結果、電荷ロスによるデータ記憶ユニット１４の実効的スレッショルドマージンの劣化が低減される。したがってデータ記憶ユニット１４のための記憶された論理レベルの決定は、メモリデバイスの寿命が続くあいだにわたって信頼性高く実行されえる。
【００２２】
本発明のある実施形態によれば、関連付けられたデータ記憶ユニット１４がライトされるたびに、複数のトラッキング記憶ユニット１６が所定の状態にライトされる。関連付けられたデータ記憶ユニット１４がリードされるべきとき、レファレンスレベルは、それに関連付けられた複数のトラッキング記憶ユニット１６からリードされ、状態弁別レベル回路２０によって用いられて弁別点（状態弁別レベル）を決定する。いったん弁別点が決定されると、メモリコントローラ１２（またはデータ記憶ユニットそのもの）は、データ記憶ユニット１４内に記憶された論理レベルを決定できる。弁別点が決定されるとき、または弁別点が利用されてデータ記憶ユニット１４に記憶された論理レベルが決定されるとき、レファレンスレベル（電圧または電流）のクオリティがレファレンスレベルエラーマネージャ１８によって調べられえる。許容されないクオリティのレファレンスレベルを持つと判断されるトラッキング記憶ユニット１４からの任意のレファレンスレベルは修正されえる（例えば廃棄または置換される）。その後、新しい弁別点が、トラッキング記憶ユニット１４からの許容できるクオリティを持ったレファレンスレベルを利用して状態弁別レベル回路２０によって決定される。それからデータ記憶ユニット１６から記憶された論理レベルを抽出するのに新しい弁別点が用いられる。
【００２３】
レファレンスレベルエラーマネージャ１８および状態弁別レベル回路２０は別個の要素として示されるが、これら要素の回路は統合されて、あるいはメモリコントローラ１２に統合されてもよい。一般にメモリシステム１０は高密度不揮発性データ記憶を提供し、さまざまな方法で構成されえる。例えばメモリシステム１０は、メモリカード（プラグインカードのような）、メモリスティック、または他の半導体メモリ製品として形成されえる。
【００２４】
図１Ｂは、本発明のある実施形態による弁別レベル処理１００のフローチャートである。弁別レベル処理１００は例えばマルチステート記憶（例えばメモリシステム１０）を提供するメモリシステムによって実行される。マルチステート記憶により、より高密度な記憶容量がデータのために利用可能であるが、これはそれぞれのデータ記憶ユニット（データ記憶要素）が２つの状態より多い状態を記憶することができるからである。言い換えれば、それぞれのデータ記憶ユニット（例えばメモリセル）は１ビットより多いデータを記憶できる。したがってこのデータ記憶ユニットは、マルチステートデータ記憶ユニットとも呼ばれる。
【００２５】
弁別レベル処理１００はまずレファレンスレベルをトラッキング記憶ユニットから読み出す（１０２）。トラッキング記憶ユニットは、マルチステート記憶によってサポートされるさまざまな状態群間で弁別するのに用いられる弁別レベルを決定するのに用いられるレファレンスレベルを供給するためにメモリシステム内に提供される。レファレンスレベルがトラッキング記憶ユニットから読み出された（１０２）後、レファレンスレベルのクオリティが評価される（１０４）。ここでレファレンスレベルのクオリティはどのくらいレファレンスレベルが信頼できるかの測定値であって、これはこれらのレファレンスレベルがさまざまな影響によって悪化したり壊れたりするからである。
【００２６】
次に、レファレンスレベルのクオリティが許容できるかどうかを決める決定（１０６）がなされる。決定（１０６）が、レファレンスレベルのクオリティが許容できないと決めるとき、弁別レベル処理１００は許容できないクオリティを持つレファレンスレベルを補正する（１１０）よう動作する。ある実施形態において、補正（１１０）は、許容できないクオリティを持つ１つ以上のレファレンスレベルを変更または除去するよう動作しえる。
【００２７】
逆に決定（１０６）が、レファレンスレベルのクオリティが許容できると決めるとき（あるいは許容できないクオリティを持つレファレンスレベルに対する補正（１１０）に続いて）、レファレンスレベルは、メモリシステムによってその動作において利用されえる。すなわち、決定（１０６）がレファレンスレベルのクオリティが許容できると決めた後（あるいはレファレンスレベルが許容できなかったときは補正（１１０）の後）、状態弁別レベルが決定される（１０８）。ここでトラッキング記憶ユニットから得られたレファレンスレベルは、状態弁別レベルを決定するために用いられる。それからこれら状態弁別レベルは、マルチステートデータ記憶ユニットに記憶されえる異なる状態群の間で区別するためにメモリシステムによって利用される。メモリシステムのそれぞれのデータ記憶ユニット（例えばメモリセル）は、２状態より多い状態のうちの１つに対応する電荷量を記憶できる。例えばマルチステートデータ記憶ユニットは単一の記憶ユニット中に１６状態つまり１６レベルの記憶をサポートしえ、これは４ビットのデータと等価である。したがって状態弁別レベルは、メモリシステムまたは他の回路が、与えられたデータ記憶ユニットがいる特定の状態を決定することを可能にする電流または電圧レベル群を提供できる。この操作（１０８）に続いて、弁別レベル処理１００は完了し終了する。
【００２８】
図２Ａは、本発明のある実施形態によるリードリクエスト処理２００のフローチャートである。リードリクエスト処理２００は例えば、リクエスタ（例えばホスト）がメモリシステム内の記憶位置からデータをリードすることをリクエストしたときに、マルチステートデータ記憶ユニットを持つメモリシステムによって実行される。
【００２９】
リードリクエスト処理２００はまず、データ記憶ユニットからデータレベルを読み出すと共に、レファレンスレベルをトラッキング記憶ユニットから読み出す。ここでレファレンスレベルは、読み出されているデータレベルを保持するデータ記憶ユニットに関連付けられたトラッキング記憶ユニットから読み出される。さらにレファレンスレベルは、データレベルが読み出されるのと実質的に同じ時刻に読み出される。レファレンスレベルは１つ以上のレベルに関しえる。ある実施形態においては、複数のトラッキング記憶ユニットは信頼性向上のために同じレファレンスレベルを記憶する。ある実施形態において例えば、２つ以上（例えば１６）のトラッキング記憶ユニットが同じレファレンスレベルを記憶するのに用いられる。トラッキング記憶ユニットは、それらに関連付けられたデータ記憶ユニットがライト、イレースまたはリードされるときにライト、イレースまたはリードされ、よって関連付けられたデータ記憶ユニットの使用を「トラッキング」する。その結果、トラッキング記憶ユニットは同じ履歴を作り出し、したがってデータ記憶ユニットと同じ電荷保持特性を作りだす。さらにトラッキング記憶ユニットは、状態検出に影響を与えうる電圧および温度のような同じ動作条件に曝されている。その結果、データ記憶ユニットに記憶されたデータレベルの弁別はより信頼性高くなされる。
【００３０】
次に平均レファレンスレベルが計算される（２０４）。ここでこの平均レファレンスレベルを作るために読み出された（２０２）レファレンスレベルは平均がとられる。平均レファレンスレベルが計算された（２０４）後で、この平均レファレンスレベルに基づいて状態弁別レベルが決定される（２０６）。上述のように、状態弁別レベルは、メモリシステムによって利用されることによって、マルチステートデータ記憶ユニットによってサポートされるさまざまな状態間で区別する。
【００３１】
いったん状態弁別レベルが決定されると（２０６）、データ記憶ユニットの状態は、データ記憶ユニットからのデータレベルおよびトラッキング記憶ユニットからの状態弁別レベルを用いて弁別される（２０８）ことによって、読み出されたデータを得る。ここで、以前に読み出されたデータレベル（操作２０２）は、データ記憶ユニットについての状態を状態弁別レベルを使用して決めるために調べられえる。状態の弁別（２０８）は実質的にメモリシステムがリードリクエスト処理２００によって読み出されるべきリードデータ（read data）を獲得することを可能にする。弁別（２０８）と実質的に同時に、リードリクエスト処理２００はまたレファレンスレベルのクオリティも評価する（２１０）。ある実施形態において、レファレンスレベルのクオリティの評価は、レファレンスレベル群のそれぞれについて典型的には個別に実行される。しかし他の実施形態においてはレファレンスレベルのクオリティはその代わりに、２つ以上のレファレンスレベル群についてグループとして実行されてもよい。
【００３２】
操作２０８および２１０に続いて、判断（２１２）は、レファレンスレベルのクオリティが許容可能かを決定する。判断（２１２）がクオリティが許容できないと判断するとき、リードリクエスト処理２００は、クオリティが低いレファレンスレベルについて補正する（２１４）よう動作する。ここで補正（２１４）は、低いクオリティを持つレファレンスレベルの１つ以上を除去、置換または変更などを行うよう動作しえる。動作２１４に続いて、リードリクエスト処理２００は操作２０４および後続の操作を繰り返すために元に戻り、それにより補正（２１４）に続いて状態弁別レベルが再び決定され、レファレンスレベルに基づいて利用されるようにする。あるいは、判断（２１２）が、クオリティが許容できると決定するとき、リード操作のために読み出されたデータがリクエスタに送られえる（２１６）。典型的にはリクエスタは、メモリシステムを利用するホストデバイスである。操作２１６に続いて、リードリクエスト処理２００は完了し終了する。
【００３３】
評価（２１０）および弁別（２０８）を実質的に同時に実行することによって、レファレンスレベルのクオリティの評価（２１０）は、最初にリードされたトラッキングセルのクオリティが許容できるとされる限り、リードリクエスト処理２００に対してパフォーマンスペナルティなしに実行されえる。最適に設計され製造されたメモリシステムがあれば、たいていの場合、レファレンスレベルは最初にリードされるときには許容できるクオリティを有する。よってレファレンスレベルのクオリティの評価（２１０）は、メモリシステムのパフォーマンス（つまりリードパフォーマンス）に多大な影響は与えない。まれな場合として１つ以上のレファレンスレベルが許容できないクオリティを持つときは、パフォーマンスに対する影響が及ぶが、これはレファレンスレベルが補正（２１４）されなければならず、それから操作２０４〜２０８が再び実行されなければならないからである。しかし、これはまれなことなので、パフォーマンスへの影響は最小限になる。
【００３４】
図２Ｂは、本発明の他の実施形態によるリードリクエスト処理２５０のフローチャートである。リードリクエスト処理２５０は、さまざまな操作、つまり操作２０２〜２１０については図２Ａに示されたリードリクエスト処理２００と大きくは同様である。しかしリードリクエスト処理２５０は、弁別（２０８）が評価（２１０）が完了する前に完了するという他の実施形態に関する。したがってこの実施形態においては、読み出されたデータは、評価（２１０）がまだ継続しているあいだにもリクエスタへ送られ始まりえる。ここでもし所望であれば、評価（２１０）はまた、読み出されたデータをリクエスタに送ることの少なくとも一部と同時に実行されえる。より具体的には、データ記憶ユニットの状態の弁別（２０８）に続いて、判断（２５２）は、レファレンスレベルのクオリティが許容できるかを決定する。判断（２５２）が、レファレンスレベルのクオリティが許容できないと決定するとき、すでにリクエスタに送られた読み出されたデータの全てがキャンセルされる（２５４）。ここで、弁別（２０８）が完了するときに評価（２１０）が完了されないかもしれないので、読み出されたデータは、リクエスタへのその転送を開始できる。もし状態の弁別（２０８）を決定するのに利用されたレファレンスレベルのクオリティが許容できないと判明するなら、すでに送られた読み出されたデータはこの点についてキャンセルされる（２５４）。次に、リードリクエスト処理２５０は、クオリティが低いレファレンスレベルについて補正する（２５６）。再び、補正（２５６）は、クオリティが低い１つ以上のレファレンスレベルを調整または除去することに関する。操作２５６に続いて、補正されたレファレンスレベルが状態弁別レベル、および、よってマルチステートデータ記憶ユニットからの読み出されたデータの再決定において利用されえるように、リードリクエスト処理２５０は、判断（２０４）および後続の操作を繰り返すために元に戻る。
【００３５】
逆に、判断（２５２）が、レファレンスレベルのクオリティが許容できる（最初はそうであると推定される）と決定するとき、読み出されたデータは、リクエスタに転送（２５８）され始めえる。この時点で、マルチステートデータ記憶ユニットの状態は、操作２０８において確定され、よって読み出されたデータの転送は進行しえる。一般に判断（２５２）は、データの転送（２５８）とは非同期で実行される。操作２５８に続いて、判断（２６０）は、読み出されたデータの転送が完了したかを決定する。判断（２６０）が、読み出されたデータが完全にリクエスタに転送されていないと決定するとき、リードリクエスト処理２５０は、操作２５４においてキャンセルされるか（レファレンスレベルのクオリティが許容できないため）、判断（２６０）において完了するかのいずれかまで読み出されたデータの転送（２５８）が継続されるように、判断（２５２）および後続の操作を繰り返すために元に戻る。いったん読み出されたデータの転送が完了する（キャンセルされることなく）と、リードリクエスト処理２５０は、リードリクエストが完全に処理されたとして完了し終了する。
【００３６】
図２Ｃは、本発明のさらに他の実施形態によるリードリクエスト処理２７０のフローチャートである。リードリクエスト処理２７０は、さまざまな操作、つまり操作２０２〜２１６について図２Ａに示されるリードリクエスト処理２００とおおまかには同様である。しかし、リードリクエスト処理２７０は、さらにループ制御の特徴を含む。ループ制御の特徴は、操作２０４〜２１４が繰り返される回数を制御する。言い換えれば、パフォーマンスの理由で、充分なクオリティを達成するための試行に費やされる時間の量を制限することが望ましい。リードリクエスト処理２７０によれば、処理が始まると、カウントが所定の値（例えば「０」）に初期化される（２７２）。それから操作２０８および２１０に続いて、判断（２７４）は、カウント（すなわちループカウント）がループリミット（例えば「１」）よりも大きいかを決定する。カウントがループリミットよりも大きくないとき、操作２１２が実行されえる。判断（２１２）が、クオリティが許容されないと決定するとき、操作２１４が実行されえる。操作２１４に続いて、操作２０４にループバックして戻る前に、カウントは増される（２７６）。したがってループリミットは、クオリティが許容できるとまだみなされなくても、リードリクエスト処理２７０が読み出されたデータをリクエスタに転送（２１６）する（またはそうでなければリードリクエスト処理２７０を中止する）ことを引き起こしえる。ループ制御の特徴はまた、図２Ｂのリードリクエスト処理２５０と共に利用されえる。
【００３７】
さらに、図２Ａ、２Ｂおよび２Ｃに示されるリードリクエスト処理２００、２５０および２７０は、操作２０４において平均レファレンスレベルの計算を示すが、この計算は平均化だけには限定されない。より一般に、レファレンスレベルは、最小値、最大値、２乗平均平方根（ＲＭＳ）値、ピーク値、平均値、中央値、法（modulus）、および／または線形回帰のような多くの方法のうちの任意のもので数学的に処理（例えば統計学的に処理）されえる。レファレンスレベル値に行われる数学的処理に関わらず、状態弁別レベルはその後、処理されたレファレンスレベルに基づいて決定されえる。上述のように、状態弁別レベルは、マルチステートデータ記憶ユニットによってサポートされるさまざまな状態群の間で区別するためにメモリシステムによって利用される。
【００３８】
それぞれ図２Ａ、２Ｂおよび２Ｃに示されるリードリクエスト処理２００、２５０および２７０は、大きくは、事実上は同じレベルを記憶する複数のレファレンスレベル群から得られた単一のレファレンスレベルを使用すると言える。しかし、リードリクエスト処理は、マルチステートメモリによって利用される複数の状態弁別レベル群を決定するために２つ以上のレファレンスレベル群を利用しえることにも注意されたい。この点で、確立されたレファレンスレベル群のそれぞれについて、同じレファレンスレベルを記憶する複数のトラッキング記憶ユニットが使用される。例えば、トラッキング記憶ユニットからレファレンスレベルを読むとき、第１の複数のトラッキング記憶ユニットは第１レファレンスレベルに対応し、第２の複数のトラッキング記憶ユニットは第２レファレンスレベルに対応し、もし２つより多い平均レファレンスレベル群が利用されるなら、さらに同様の対応関係になる。状態弁別レベルの決定は、１つ以上のレファレンスレベルを利用しえる。あるいは、レファレンスレベルの範囲をカバーするように設定されたトラッキング記憶ユニット群の全体の要素が、全体として協調し統計的に処理されてもよく、例えば、線形回帰手法が用いられる。
【００３９】
本発明の他の局面によれば、メモリシステムはまた、データをリードするとき、誤り訂正符号（ＥＣＣ）を使用しえる。ＥＣＣは、信頼性高くデータをリードすることを可能にするためによく知られ、しばしば用いられる。ＥＣＣは、クオリティ評価および／またはレファレンスレベルの補正が実行されなければならない頻度を最小限にする。クオリティ評価および／または補正処理は、計算のリソースおよび時間を必要とするので、これらを使用することを最小限にすることは、このような処理によって引き起こされるパフォーマンス低下を少なくする。
【００４０】
図３は、本発明の他の実施形態によるリードリクエスト処理３００のフローチャートである。リードリクエスト処理３００は、例えば、リクエスタ（例えばホスト）がメモリシステム内の記憶位置からデータをリードするようリクエストしたときにマルチステートデータ記憶ユニットを持つメモリシステムによって実行されえる。
【００４１】
リードリクエスト処理３００は、まず、データ記憶ユニットからデータレベルをリードすると共に、レファレンスレベルをトラッキング記憶ユニットからリードする（２０２）。ここで、レファレンスレベルは、リードされているデータレベルを保持するデータ記憶ユニットに関連付けられたトラッキング記憶ユニットからリードされる。さらにレファレンスレベルは、データレベルがリードされるのと実質的に同時にリードされる。レファレンスレベルは、１つ以上のレベルに関しえる。ある実施形態においては、複数のトラッキング記憶ユニットが、信頼性向上のために同じレファレンスレベルを記憶する。トラッキング記憶ユニットは、それらに関連付けられたデータ記憶ユニットがライト、イレースおよびリードされるときにライト、イレースおよびリードされ、よって、関連付けられたデータ記憶の使用に「追従（トラッキング）」する。その結果、トラッキング記憶ユニットは、同じ履歴を作りだし、したがってデータ記憶ユニットと同じ電荷保持特性を作る。さらにトラッキング記憶ユニットは、電圧および温度のような状態検出に影響を与えうる、同じ動作条件下に曝される。その結果、データ記憶ユニット内に記憶されたデータレベルの弁別の信頼性が増す。
【００４２】
次に、処理されたレファレンスレベルが計算される（３０４）。ここで、リード（３０２）されたレファレンスレベルは、処理されたレファレンスレベルを作るために処理される。処理されたレファレンスレベルを作る際のレファレンスレベルに対する計算（３０４）は、最小値、最大値、２乗平均平方根（ＲＭＳ）値、ピーク値、平均値、中央値、法（modulus）、および／または線形回帰のような多くの方法のうちの任意のもので達成される。処理されたレファレンスレベルが計算された（３０４）後、処理されたレファレンスレベルに基づいて状態弁別レベルが決定される（３０６）。上述のように、状態弁別レベルは、マルチステートデータ記憶ユニットによってサポートされるさまざまな状態群の間で区別するためにメモリシステムによって利用される。
【００４３】
いったん状態弁別レベルが決定されると（３０６）、状態弁別レベルおよび誤り訂正符号を用いて、読み出されたデータがデータレベルから決定されえる（３０８）。ここで以前にリードされたデータレベル（操作３０２）は、状態弁別レベルを用いて、データ記憶ユニットについての状態を決定するために調べられる。さらに、メモリシステムによっても提供されるＥＣＣは、読み出されたデータをより信頼性高く決定する（３０８）のに用いられる。
【００４４】
次に、ＥＣＣを用いて、判断（３１０）は、読み出されたデータを決定する際にデータエラーが認識されるかを決定する。典型的にはＥＣＣが信頼性高くリードデータを確立できないとき、ＥＣＣはデータエラーが存在することを示す。判断（３１０）が、データエラーがないと決定するとき、読み出されたデータはリクエスタに転送される（３１２）。逆に、判断（３１０）が、データエラーが存在すると決定するとき、データエラーを克服しようとして、レファレンスレベルについてのクオリティ評価および／または補正が実行されえる。より具体的には、判断（３１０）が、データエラーが存在すると決定するとき、レファレンスレベルのクオリティが評価される（３１４）。ある実施形態において、レファレンスレベルの評価は、典型的には、レファレンスレベルのそれぞれについて個別に実行される。しかし他の実施形態においては、レファレンスレベルのクオリティは、代わりに、レファレンスレベルの２つ以上のものについてグループとして実行されえる。判断（３１６）はそれから、レファレンスレベルのクオリティが許容できるかを決定する。判断（３１６）が、クオリティが許容できないと決定するとき、リードリクエスト処理３００は、クオリティが低いレファレンスレベルを補正する（３１８）よう操作する。ここで、補正（３１８）は、低いクオリティを持つレファレンスレベルの１つ以上を変更または除去を行うよう動作しえる。動作３１８に続いて、リードリクエスト処理３００は操作３０４および後続の操作を繰り返すために元に戻り、それにより補正（３１８）に続いてレファレンスレベルに基づいてリードデータを再決定するために、状態弁別レベルが再び決定され、利用されるようにする。あるいは、判断（３１６）が、クオリティが許容できると決定するとき、読み出されたデータは誤りがあり、データリードエラーがリクエスタに送られる（３２０）。典型的にはリクエスタは、メモリシステムを利用するホストデバイスである。操作３１２または３２０に続いて、リードリクエスト処理３００は完了し終了する。図２Ｃに示されるループ制御の特徴は、リードリクエスト処理３００と共に利用されえる。
【００４５】
この実施形態においては、リードリクエスト処理３００の操作３１４〜３１８は、ＥＣＣ信号がデータを読み出す際に失敗したことを示すときにだけ実行されることに注意されたい。その結果、最適に設計されたシステムでは、操作３１４〜３１８は、まれな状況下でのみ実行される。よってリード処理パフォーマンスが、操作３１４〜３１８のクオリティ評価および／または補正処理のために遅くなったり、低下したりするのはまれな状況だけである。
【００４６】
上述の本発明の大半の説明はマルチステートデバイスに関するが、本発明はまた２値記憶デバイスにも適用可能である。しかしマルチステートデバイスは、２値記憶デバイスよりも大きい記憶密度を提供する。
【００４７】
本発明は、さらに、上述のメモリシステムを含む電子システムに関する。メモリシステム（すなわちメモリカード）は、さまざまな電子製品と共に用いるディジタルデータを記憶するのにふつう利用される。しばしば、メモリシステムは、記憶されたディジタルデータが携帯可能なように電子システムから取り外しできる。本発明によるメモリシステムは、比較的小さなフォームファクタを持ち、カメラ、ハンドヘルドまたはノートブックコンピュータ、ネットワークカード、ネットワーク装置、セットトップボックス、ハンドヘルドまたは他の小型オーディオプレーヤー／レコーダー（例えばＭＰ３デバイス）、および医療モニタなどの電子製品のためにディジタルデータを記憶するのに用いられる。
【００４８】
本発明の効果は数多くある。異なる実施形態または実現例は、以下の効果のうちの１つ以上を生む。本発明の効果の１つは、レファレンスレベルのためのエラー管理が提供されることである。本発明の他の効果は、レファレンスレベルについてのエラー管理が大きなパフォーマンス低下をきたすことなく実行されえることである。本発明のさらに他の効果は、信頼性の高い、高パフォーマンスメモリシステムが得られることである。
【００４９】
本発明の多くの特徴および効果は、記載された説明から明らかであるので、添付の特許請求の範囲によって本発明のこのような特徴および効果がカバーされることが意図される。さらに、多くの改変および変更が当業者には容易になされるので、本発明は、図示され説明された構成および操作とまったく同じものに限定されるとみなされるべきではない。したがって全ての適切な改変および等価物は本発明の範囲に含まれる。
【図面の簡単な説明】
【００５０】
【図１Ａ】本発明のある実施形態によるメモリシステムの機能ブロック図である。
【図１Ｂ】本発明のある実施形態による弁別レベル処理のフローチャートである。
【図２Ａ】本発明のある実施形態によるリードリクエスト処理のフローチャートである。
【図２Ｂ】本発明の他の実施形態によるリードリクエスト処理のフローチャートである。
【図２Ｃ】本発明のさらに他の実施形態によるリードリクエスト処理２７０のフローチャートである。
【図３】本発明の他の実施形態によるリードリクエスト処理のフローチャートである。
【図１Ａ】
2005509226.tif 000003
【図１Ｂ】
2005509226.tif 000004
【図２Ａ】
2005509226.tif 000005
【図２Ｂ】
2005509226.tif 000006
【図２Ｃ】
2005509226.tif 000007
【図３】
2005509226.tif 000008
【国際調査報告】
2005509226.tif 000009
2005509226.tif 000010
2005509226.tif 000011