(57)【要約】【課題】特定なＥＣＣスキームと併用した場合に従来の技術の処理時間および電力消費を最小にするための、物理ページの異なるビット・ページ間で入力データをインターリーブする方法を提供する。【解決手段】データを記憶するための方法は、第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を記憶すること、第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置にデータの第二の部分を記憶すること、データと一緒にエラー訂正パリティ・ビットを記憶すること、そしてエラー訂正パリティ・ビットを用いて、読み出したデータへエラー訂正スキームを適用することを含む。この方法においては、第二の部分のビットが訂正のためにチェックされる前に、第一の部分の少なくとも一つのビットが、訂正のためにチェックされる。エラー訂正スキームは、すべてのデータの訂正のためのチェックの前に停止される。【選択図】図１
2010517117.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を記憶するステップ、
（ｂ）前記第一のエラー確率よりも低い第二のエラー確率を持つ前記不揮発性メモリのビット位置にデータの第二の部分を記憶するステップ、
（ｃ）データと一緒にエラー訂正パリティ・ビットを記憶するステップ、
（ｄ）前記不揮発性メモリからデータおよび前記エラー訂正パリティ・ビットを読み取るステップ、そして
（ｅ）前記エラー訂正パリティ・ビットを用いて、読み取ったデータへエラー訂正を適用するステップからなり、前記第二の部分のビットが訂正のためにチェックされる前に、前記第一の部分の少なくとも一つのビットが、訂正のためにチェックされる、データを記憶するための方法。
【請求項２】
さらに、
（ｆ）すべてのデータの訂正のためのチェックの前に、前記適用を停止するステップからなる、請求項１の方法。
【請求項３】
さらに、
（ｆ）データ内のエラー・ビット数を判定するステップ、
（ｇ）すべてのデータの訂正のためのチェックの前に、前記エラー・ビット数に応じて前記適用を停止するステップからなる、請求項１の方法。
【請求項４】
前記不揮発性メモリが、前記不揮発性メモリのセル毎に複数ビットを記憶するように作動可能である、請求項１の方法。
【請求項５】
（ａ）データを記憶するための不揮発性メモリ、そして
（ｂ）コントローラからなるメモリ・デバイスであって、
このコントローラが、
（ｉ）第一のエラー確率を持つ不揮発性メモリのビット位置に前記データの第一の部分を、そして前記第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置に、前記データの少なくとも第二の部分を記憶するよう、そして
（ii）エラー訂正パリティ・ビットを用いて、前記データへエラー訂正を適用するよう作動可能であり、前記第二の部分のビットが訂正のためにチェックされる前に、前記第一の部分の少なくとも一つのビットが、訂正のためにチェックされる、メモリ・デバイス。
【請求項６】
前記コントローラが、さらに、すべての前記データの訂正のためのチェックの前に、前記エラー訂正を停止するように作動可能である、請求項５のメモリ・デバイス。
【請求項７】
前記コントローラが、さらに、前記データ内のエラー・ビットの数を判定して、前記数に応じて前記エラー訂正を停止するよう作動可能である、請求項５のメモリ・デバイス。
【請求項８】
前記不揮発性メモリが、セルにつき複数ビットを記憶するように作動可能である、請求項５のメモリ・デバイス。
【請求項９】
前記不揮発性メモリがフラッシュメモリである、請求項５のメモリ・デバイス。
【請求項１０】
（ａ）不揮発性メモリ内にデータを記憶するステップ、
（ｂ）データと一緒にエラー検出パリティ・ビットを記憶するステップ、
（ｃ）前記エラー検出パリティ・ビットとは別に、データと一緒にエラー訂正パリティ・ビットを記憶するステップ、
（ｄ）前記不揮発性メモリからデータ、前記エラー検出パリティ・ビットおよび前記エラー訂正パリティ・ビットを読み取るステップ、
（ｅ）前記エラー訂正パリティ・ビットを用いて、前記読み取ったデータへエラー訂正を適用するステップ、そして
（ｆ）すべてのデータを訂正した後に、しかし前記エラー訂正パリティ・ビットのどれをも訂正する前に、前記エラー検出パリティ・ビットに応じて、前記適用を停止するステップからなる、データを記憶するための方法。
【請求項１１】
前記エラー検出パリティ・ビットが、データ内にエラーが全く存在しないことを示す場合にのみ、前記停止が実行される、請求項１０の方法。
【請求項１２】
（ａ）データを記憶するための不揮発性メモリ、そして
（ｂ）コントローラからなるメモリ・デバイスであって、
このコントローラが、
（ｉ）前記データと一緒にエラー訂正パリティ・ビットおよびエラー検出パリティ・ビットを記憶するように作動可能であり、このため、前記エラー検出パリティ・ビットが、前記エラー訂正パリティ・ビットとは別に記憶され、
（ii）前記不揮発性メモリから前記データ、前記エラー検出パリティ・ビットおよび前記エラー訂正パリティ・ビットを読み取るように作動可能であり、そして
（iii）すべての前記データを訂正した後に、しかし前記エラー訂正パリティ・ビットのどれをも訂正する前に、エラー訂正を停止する方式で、前記エラー訂正パリティ・ビットを用いて、且つ前記エラー検出パリティ・ビットに応じて、前記読み取ったデータへ前記エラー訂正を適用するように作動可能である、メモリ・デバイス。
【請求項１３】
前記エラー検出パリティ・ビットが、前記データ内に全くエラーが存在しないことを示す場合にのみ、コントローラが、前記エラー訂正を停止するように作動可能である、請求項１２のメモリ・デバイス。
【請求項１４】
前記不揮発性メモリが、セルにつき複数ビットを記憶するように作動可能である、請求項１２のメモリ・デバイス。
【請求項１５】
前記不揮発性メモリがフラッシュメモリである、請求項１２のメモリ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチレベル・セル・フラッシュメモリ・デバイスに関する。より詳しくは、本発明は、マルチレベル・セル・フラッシュメモリ・デバイスにおけるエラー訂正の分野に関する。
【背景技術】
【０００２】
フラッシュメモリ・デバイスは、長年知られている。すべてのフラッシュメモリ・デバイスの内、ＮＡＮＤタイプ・メモリは、メモリへ書き込まれる多数の情報ビットが、これらのビットがメモリへ当初書き込まれた方式とは異なる「フリップ」した状態で読み戻されることがあるという事実において、もちろん他の特定な特性もあるのだが、他のタイプのメモリ（例えばＮＯＲ）とは異なる。
【０００３】
「フリップ」ビットを得るこの現象を克服して、ＮＡＮＤタイプ・メモリを実際のアプリケーションに使用可能にするために、これらＮＡＮＤタイプ・メモリと共にＥＣＣ（エラー訂正コード）アルゴリズムを利用することは、一般的な技術である。ＥＣＣアルゴリズムは、典型的に、フラッシュメモリにより、以下のように利用される。
＊データをメモリへ書き込む前に、追加の（冗長な）情報ビットを計算するために、このデータにＥＣＣアルゴリズムを適用する。これら冗長ビットは、しばしば「パリティ・ビット」または「同等」と呼ばれ、後に、エラー検出および訂正のために使用される。オリジナル・データとパリティとの組み合わせは、「コード・ワード」と呼ばれている。
＊コード・ワード全体（すなわち、オリジナル・データおよびパリティ）は、フラッシュメモリ・デバイスに記録される。注目すべきは、ＮＡＮＤフラッシュメモリ・デバイスの実サイズが、オリジナル・データおよびパリティを収容するように設計されていることである。
＊データがメモリから取り出されるとき、コード・ワード全体が読み取られ、そのデータおよびパリティに対して、起こり得る「ビット・フリップ」（すなわち、エラー）を検出して訂正するためにＥＣＣアルゴリズムが適用される。
【０００４】
注目すべきは、ＥＣＣアルゴリズムの実施例が、ハードウェアで、ソフトウェアで、またはハードとソフトとの組み合わせで、等しく得られることである。さらに、ＥＣＣアルゴリズムは、メモリ・デバイス内に、メモリ・デバイス・コントローラ内に、ホスト内に実装しても、あるいはシステムのこれらのコンポーネント間で「分散されてもよい」。
【０００５】
フラッシュメモリ・デバイスは、フラッシュメモリ・デバイスの各メモリ・セル内に記憶されるデータ要素（例えば、データ・ビット）の数において異なるものがある。ＳＬＣ（シングルレベル・セル）メモリは、各メモリ・セル内に単一ビットを記憶するように作動可能であり、ＭＬＣ（マルチレベル・セル）メモリは、各メモリ・セル内に複数ビットを記憶するように作動可能である。
【０００６】
ＭＬＣメモリにおける電圧レベルのコーディング方式、そしてメモリ・セルへの入力データの割り当て方式は、ＥＣＣデザインの最適化を達成する上で非常に重要である。
【０００７】
マルチビット・フラッシュセル内にデータを記憶するための、従来の技術による方法が、ムリン氏の米国出願公報第20060101193号に開示されている。この特許出願は、すべての目的に対して、参照により本文に完全に記述したものと見なす。
【０００８】
ムリン出願によれば、入力データをメモリ・デバイスの物理ページへ割り当てる（ＥＣＣ性能の観点からの）最適な方式は、物理ページの異なるビット・ページ間に、これらのデータ・ビットをインターリーブすることによる。この場合、ビット・ページは、一グループのビットであり、それらの各々のビットが物理ページの異なるセルに属し、且つそれらのすべてのビットがセル内で同じ有効位（すなわち、ＬＳＢ、…、ＭＳＢ）を持つと定義する。メモリ・デバイス内にデータをアレンジするそのような方式は、メモリ・デバイスから取り出されてからその本来の順序に再編成された（すなわち、デインターリーブされた）データが、その中にエラー・ビットの均一な（最適な）分布を持つことを保証する。
【０００９】
ムリン出願で開示されたインタリーブ・プロセスは、データをメモリ・デバイスへ書き込むプロセス中、論理ページの入力データが、物理メモリ・ページのビット・ページ間で等しく拡散されることを保証する。換言すれば、インタリーブ・プロセスは、物理ページの各ビット・ページが、この物理ページを共有する入力データ論理ページの各々から、等しい個数のビットを割り当てられることを保証する。
【００１０】
したがって、データがメモリから読み出され、これらデータにデインターリービングが適用されると、デインターリービング・プロシージャによって作成された論理ページの各々は、物理ページのビット・ページの各々からの、等しい割合のビットを含むことになる。
【００１１】
ＭＬＣメモリ・デバイスの物理ページへ入力データを割り当てるために適用するインタリーブ・スキームの方式は、本技術では指定されない。なぜなら、データを物理ページ内に均一に分散するどのスキームも、ＥＣＣ性能の観点において、等しく最適であるためである。
【００１２】
しかし、いくつかのＥＣＣスキームに対しては、特定なインターリービング方法を採用することによって、処理時間および電力消費を節約するという追加の利点が得られる可能性がある。
【００１３】
したがって、これらのＥＣＣスキームを利用する場合、従来の技術における処理時間および電力消費量を最小にするインターリービング方法を提供することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
したがって、本発明の主要な目的は、特定なＥＣＣスキームと併用した場合に従来の技術の処理時間および電力消費を最小にするための、物理ページの異なるビット・ページ間で入力データをインターリーブする方法を提供することである。
【００１５】
本文におけるビット・ページＢＰ０、ＢＰ１、ＢＰ２、ＢＰ３の各々は、１セルにつき４ビットの物理ページに関連させて次のように定義する。ビット・ページＢＰ０は、ＬＳＢ物理ページ・セルに対応する。ビット・ページＢＰ１は、ＬＳＢ―１物理ページ・セルに対応する。ビット・ページＢＰ２は、ＬＳＢ―２物理ページ・セルに対応する。そしてビット・ページＢＰ３は、ＭＳＢ物理ページ・セルに対応する。
【００１６】
本発明の好適実施例によれば、データを記憶するための、次のステップを含む方法が提供される。（ａ）第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を記憶するステップ。（ｂ）第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置にデータの第二の部分を記憶するステップ。（ｃ）データと一緒にエラー訂正パリティ・ビットを記憶するステップ。（ｄ）不揮発性メモリからデータおよびエラー訂正パリティ・ビットを読み取るステップ。そして（ｅ）エラー訂正パリティ・ビットを用いて、読み出したデータへエラー訂正を適用するステップ。この場合、第二の部分のビットが訂正のためにチェックされる前に、第一の部分の少なくとも一つのビットが、訂正のためにチェックされる。
【００１７】
方法は、また、すべてのデータの訂正のためのチェックの前に、エラー訂正の適用を停止するステップを含むことが好ましい。
【００１８】
方法は、また、データ内のエラー・ビットの数を判定するステップ、そして、すべてのデータの訂正のためのチェックの前に、エラー・ビット数に応じて、エラー訂正の適用を停止するステップを含むことが好ましい。
【００１９】
不揮発性メモリは、不揮発性メモリのセル毎に複数ビットを記憶するように作動可能であることが好ましい。
【００２０】
本発明のもう一つの好適実施例によれば、さらに、次のものを含むメモリ・デバイスが提供される。（ａ）データを記憶するための不揮発性メモリ。そして（ｂ）コントローラ。なお、（ｉ）このコントローラは、第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を、そして第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置に、データの少なくとも第二の部分を記憶するよう作動可能である。（ii）コントローラは、また、エラー訂正パリティ・ビットを用いて、エラー訂正をデータへ適用するように作動可能である。この場合、第二の部分のビットが訂正のためにチェックされる前に、第一の部分の少なくとも一つのビットが、訂正のためにチェックされる。
【００２１】
コントローラは、また、すべてのデータの訂正のためのチェックの前に、エラー訂正の実行を停止するように作動可能であることが好ましい。
【００２２】
コントローラは、また、データ内のエラー・ビットの数を判定し、そして、この数に応じて、エラー訂正の実行を停止するように作動可能であることが好ましい。
【００２３】
不揮発性メモリは、セルにつき複数ビットを記憶するように作動可能であることが好ましい。
【００２４】
不揮発性メモリはフラッシュメモリであることが好ましい。
【００２５】
本発明のさらにもう一つの好適実施例によれば、データを記憶するための、次のステップを含む方法が提供される。（ａ）不揮発性メモリ内にデータを記憶するステップ。（ｂ）データと一緒に（データへ適用した正当性チェック・コードから得ることが可能な）エラー検出パリティ・ビットを記憶するステップ。（ｃ）エラー検出パリティ・ビットとは別に、データと一緒にエラー訂正パリティ・ビットを記憶するステップ。（ｄ）不揮発性メモリから、データ、エラー検出パリティ・ビットおよびエラー訂正パリティ・ビットを読み取るステップ。（ｅ）エラー訂正パリティ・ビットを用いて、以前に読み取ったデータへエラー訂正を適用するステップ。そして（ｆ）エラー検出パリティ・ビットに応じて、すべてのデータを訂正した後に、しかしエラー訂正パリティ・ビットのいずれをも訂正する前に、エラー訂正の適用を停止するステップ。
【００２６】
エラー検出パリティ・ビットが、データ内にエラーが全く存在しないことを示す場合にのみ、エラー訂正の適用の停止が実行されることが好ましい。
【００２７】
本発明のさらにもう一つの好適実施例によれば、さらに、次のものを含むメモリ・デバイスが提供される。（ａ）データを記憶するための不揮発性メモリ。そして（ｂ）コントローラ。なお、このコントローラは、（ｉ）エラー検出パリティ・ビットが、エラー訂正パリティ・ビットとは別に記憶されるように、データと一緒にエラー訂正パリティ・ビットおよびエラー検出パリティ・ビットを記憶するように作動可能である。（ii）不揮発性メモリから、データ、エラー検出パリティ・ビットおよびエラー訂正パリティ・ビットを読み取るように作動可能である。そして（iii）すべてのデータを訂正した後に、しかしエラー訂正パリティ・ビットのいずれをも訂正する前にエラー訂正スキームを停止する方式で、エラー訂正パリティ・ビットを用いて、且つエラー検出パリティ・ビットに応じて、以前に読み取られたデータへエラー訂正を適用するように作動可能である。
【００２８】
コントローラは、また、エラー検出パリティ・ビットが、データ内にエラーが全く存在しないことを示す場合にのみ、エラー訂正を停止するように作動可能であることが好ましい。
【００２９】
不揮発性メモリは、セルにつき複数ビットを記憶するように作動可能であることが好ましい。
【００３０】
不揮発性メモリはフラッシュメモリであることが好ましい。
【００３１】
本発明の、他の特徴および利点は、以下の図面および説明文から明らかになる。
【００３２】
本発明を、その実施例に関連させてより良く理解するために、添付の図面を参照する。図中、類似する数字は、全体を通して、対応するセクションあるいは素子を指す。
【発明を実施するための最良の形態】
【００３３】
本発明は、従来の技術における処理時間および電力消費量を最小にするために、特定なＥＣＣアルゴリズムと併用する、ＭＬＣメモリ・デバイスの物理ページの異なるビット・ページ間で入力データをインターリーブするための方法である。
【００３４】
「フリップ」ビットを検出して訂正するためにすべてのデータ・ビットの検索が必要なＥＣＣスキームを考察しよう。そのようなスキームに対する例として、ＢＣＨデコーディングを考察してもよいだろう。
【００３５】
（一般的に、４よりも大きい）比較的多数のビット・エラーに対してＢＣＨデコーダを実行する場合、「チェイン・サーチ」を用いて訂正すべきデータ・ビットを検出するのが一般的である。例えば、Ｗ．ウエズレー・ピーターソン、Ｅ．Ｊ．ウェルドンＪｒ．「エラー訂正コード」、第二版、マサチューセッツ工科大学、１９７２を参照する。なお、この特許は、すべての目的において、参照により本文に完全に記述したものとする。「チェイン・サーチ」は、コード・ワードのビット・スキャンを行い、特定なビットがエラー・ビットでそれを反転すべきかどうかを調べる。しかし、コード・ワード内のエラー・ビットの合計数は、コード・ワード構造によって制限されるため、一般的に、「チェイン・サーチ」に先行するデコーディング・アルゴリズム段階で計算される。したがって、訂正すべきエラー・ビットの正確な数は、（「チェイン・サーチ」を用いる）コード・ワードのビット・スキャニングの前に、ＥＣＣアルゴリズムによって判定される。
【００３６】
よって、コード・ワードのビット・スキャニングは、すべてのエラー・ビットが検出されて訂正されたときに停止してもよい。そうすれば、コード・ワードのすべてのビットをビット・スキャンする必要を免れて、処理時間および電力を節約できる。アルゴリズムがすべてのエラー・ビットを既に捜し出したので、訂正すべきビットがもはや検出できないことが確かであれば、サーチは停止してもよい。
【００３７】
さて、入力データのインターリービングを見てみよう。本技術において既知であるように、データをインターリーブするプロセスは、メモリへデータを書き込むプロセス中、論理ページの入力データが、物理メモリ・ページのビット・ページ間で、等しく拡散されることを保証する。換言すれば、インターリービング・プロセスは、物理ページの各ビット・ページが、この物理ページを共有する入力データ論理ページの各々から、等しい個数のビットを得ることを、または、入力データ論理ページのビットが、等しい割合で、物理ページのすべてのビット・ページの間で分散されることを保証する。
【００３８】
したがって、データがメモリから読み出され、これらのデータにデインターリービング・プロセスが適用されると、デインターリービング・プロセスが作成した論理ページの各々は、物理ページのビット・ページの各々から等しい割合のビットを含む。
【００３９】
さらに、ムリン出願に開示されているように、物理ページのビット・ページの各々は、異なる確率のビット・エラーを持つことが、本技術において既知である。この確率は、メモリ・デバイス内で実行される電圧レベルのコーディング・スキームに依存する。電圧レベル・コーディング｛７，６，４，５，１，０，２，３｝を持つ３ビット・パー・セル・デバイスを実装する例を用いると、明白であるが、そのようなデバイスのビット・ページは、１：２：４の比率に従ったビット・エラーの確率を持つ（この比率は、各ビット・ページに対するレベル・コードにおけるビット変化の数に対応する）。この場合、ＬＳＢ（最下位ビット）ページは、ＭＳＢ（最上位ビット）ページの確率の４倍を持つ。物理ページの総エラー確率がＰであると仮定すると、デバイスのビット・ページは、各々、Ｐ／７、２＊Ｐ／７および４＊Ｐ／７の確率を持つ。詳細はムリン出願を参照のこと。
【００４０】
デインターリービング後、各論理ページは、等しい割合で、すべてのエラー確率を持つビットを含むため、ビットの三分の一が、Ｐ／７のエラー確率を持ち、ビットの三分の一が、２＊Ｐ／７のエラー確率を持ち、そしてビットの三分の一が、４＊Ｐ／７のエラー確率を持つことになる。よって、物理ページの異なるビット・ページからデインターリーブした論理ページの異なる部分では、異なる個数のエラー・ビットが、エラー訂正アルゴリズムによって統計学的に検出される。
【００４１】
さて、ビットを次々とスキャンしてエラーを探索するエラー訂正アルゴリズムの段階をもう一度考察する。ビット・ページのビットを、エラー確率が減少する順序でスキャンするなら、平均で、このプロセスは、他のケースに比較して、より早く論理ページのすべてのエラーを検出してしまうだろう。したがって、時間および電力を節約できることになる。
【００４２】
しかしながら、ビット・スキャニングは、シーケンシャル方式で（すなわち、論理ページの最初のビットから論理ページの最後のビットへ）実行するのが最も経済的である。
【００４３】
したがって、ビット・スキャニングが論理ページの最初から開始するなら、ビットの最初の割り当ては、本発明によるインターリービング方法によって、エラー発生の確率が最も大きな、物理ページのＬＳＢビット・ページに配置すべきであり、ビットの次の割り当ては、（ＬＳＢ＋１）ビット・ページに配置すべきであり、そして以降同様である。ビットの最後の割り当ては、本発明によるインターリービング方法によって、エラーの確率が最も小さな、物理ページのＭＳＢビット・ページに配置すべきである。
【００４４】
最も一般的な言い方をすれば、１ページにＮセルを持つＭビット・パー・セル・デバイスのケースでは、本発明によるインターリービング方法は、次のように行われる。
【００４５】
各入力論理ページに対して、
Ｎ／Ｍビットの第一の割り当ては、インターリービングによって、物理ページの（ＬＳＢ）ビット・ページに配置し、
Ｎ／Ｍビットの第二の割り当ては、インターリービングによって、物理ページの（ＬＳＢ＋１）ビット・ページに配置し、
Ｎ／ＭビットのＭ番目の割り当ては、インターリービングによって、物理ページの（ＭＳＢ）ビット・ページに配置する。
【００４６】
よって、本発明によるインターリービング方法は、高確率で、論理ページ全体がビット・スキャンされる前に、典型的にすべてのエラー・ビットが検出されて訂正されることを保証するために提供される。これによって、最適処理時間および最適電力消費を達成する。
【００４７】
さて、図１を参照する。これは、本発明によるシステム１０のブロック図である。コントローラ１４は、ホスト２０から受信したデータ・ビットが、インターリーブされてメモリ１２内に記憶される方式を管理するように作動可能である。
【００４８】
インターリービング・ユニット１６は、ホスト２０から受信しＥＣＣユニット１８でコード化した入力データへ、本発明によるインターリービング方法に従ってインターリービングを適用するよう実装されている。
【００４９】
さて、図２（Ａ）を参照する。論理ページＬＰ０、ＬＰ１、ＬＰ２、ＬＰ３に関わるデータ・ビットを、Ｎセルの物理ページを持つ４ビット・パー・セル・メモリ・デバイスへ書き込むことを説明する模範的な、非限定的な図である。各論理ページＬＰ０、ＬＰ１、ＬＰ２、ＬＰ３は、各々四つのビット割り当てを含む。この場合、各割り当ての第一のインデックスは論理ページ番号を表し、第二のインデックスは割り当て番号を表す。
【００５０】
ビット割り当て「０，０」、「０，１」、「０，２」、「０，３」は、論理ページＬＰ０に関連づけられ、ビット割り当て「１，０」、「１，１」、「１，２」、「１，３」は、論理ページＬＰ１に関連づけられ、ビット割り当て「２，０」、「２，１」、「２，２」、「２，３」は、論理ページＬＰ２に関連づけられ、そしてビット割り当て「３，０」、「３，１」、「３，２」、「３，３」は、論理ページＬＰ３に関連づけられている。
【００５１】
典型的に、論理ページＬＰ０、ＬＰ１、ＬＰ２、ＬＰ３の割り当て「０，３」、「１，３」、「２，３」、「３，３」内の少なくともいくつかのビットは、各々、データのパリティ・ビットを含む。
【００５２】
さて、図２（Ｂ）を参照する。本発明によるインターリービング方法の後の、４ビット・パー・セル・メモリ・デバイスの物理ページのビット・ページＢＰ０、ＢＰｌ、ＢＰ２、ＢＰ３へ書き込まれる、図２Ａのデータ・ビットの模範的な、非限定的な説明図である。
【００５３】
本発明によるインターリービング方法の後、データ・ビットは、４ビット・パー・セル・メモリ・デバイスのビット・ページへ、以下のように書き込まれる。ビット割り当て「０，０」、「１，０」、「２，０」、「３，０」は、（エラー発生確率が最大である）ビット・ページＢＰ０へ書き込まれ、ビット割り当て「０，１」、「１，１」、「２，１」、「３，１」は、（エラー発生確率が二番目に大きい）ビット・ページＢＰ１へ書き込まれ、ビット割り当て「０，２」、「１，２」、「２，２」、「３，２」は、（エラー発生確率が三番目に大きい）ビット・ページＢＰ２に書き込まれ、そしてビット割り当て「０，３」、「１，３」、「２，３」、「３，３」は、（エラー発生確率が最少である）ビット・ページＢＰ３へ書き込まれる。
【００５４】
したがって、ビット・ページＢＰ３の割り当て「０，３」、「１，３」、「２，３」、「３，３」内の少なくともいくつかのビットは、データのパリティ・ビットを含む。
【００５５】
データ・ビットが、本発明によるインターリービング方法によってメモリ・デバイスへ書き込まれる場合、データ・ビットを読み戻してデインターリーブするとき、論理ページＬＰ０、ＬＰ１、ＬＰ２、ＬＰ３の各々におけるデータ・ビットは、各論理ページの最初から開始して、エラー確率が減少する順序でアレンジする。さて、これらの論理ページへ、論理ページの最初から、（エラー訂正プロシージャの一部として）チェイン・サーチを適用した場合、平均で、すべてのエラー・ビットは、論理ページの最後に到達する前に検出されて訂正されてしまう。チェイン・サーチは、最後の訂正ビットで停止してもよい。そうすれば、時間および電力を節約できる。
【００５６】
注意すべきは、各ビット割り当て内の［Ｎ／４］ビットのいずれも、メモリ・デバイス内に書き込まれる順序が、本発明によって制限されることがないことである。
【００５７】
さらに、注目すべきは、本発明によるインターリービング方法とは独立して、しかもそれに加えて、オプションとして、入力コード・ワードのユーザ・データ部分に対して、本技術において既知である単純な正当性チェック・コードを適用することによって、ビット・スキャニング・プロセスの効果を向上させることが望ましい。そのような正当性チェック・コードは、単純なチェックサムまたはＣＲＣ（巡回冗長検査）でもよい。正当性チェック・コードから得られたエラー検出パリティ・ビットが、（パリティ・ビットに加えて）ユーザ・データ・ビットをメモリ・デバイスへ書き込む前に入力コード・ワードのユーザ・データ・ビットへ付加される場合は、エラーを検索している間に、たとえ論理ページ内のすべてのエラーが検出されなくても（つまり、いくつかのエラーがユーザ・データ・ビットにはでなくパリティ・ビットにある場合）、メモリ・デバイスから読み出した正当性チェック・コードが、スキャンしたユーザ・データ・ビットへ適用されている正当性チェック・コードに合致することを条件として、すべてのユーザ・データ・ビットをチェックし終えたときにビット・スキャニング・プロセスを停止してもよい。
【００５８】
そのようなエラー・チェック技術を利用することによる時間および電力の節約は、エラー確率がより大きい、したがってコード・ワード内のパリティ・ビットの割合がより大きいケースでは、より大きいことは明らかである。
【００５９】
しかしながら、メモリ・デバイスから読み出した正当性チェック・コードと、スキャンしたユーザ・データ・ビットに適用されている正当性チェック・コードとが合致してもユーザ・データ・ビットにエラーがあるという（軽度ではあるが）特定な確率が残る（この確率は、正当性チェック・コードのタイプに、そしてサイズに依存する）ため、このプロシージャには、ユーザ・データ・ビットにおけるエラー誤検出の確率を増加させるという不都合がある。
【００６０】
本発明によるシステムをその特定な実施例に関して説明したが、さらに同業者が修正を施すことは可能であるのだから、上記説明は限定を意味しないと理解すべきである。また、そのような修正は、添付の請求項の範囲内でカバーすることを意図している。
【図面の簡単な説明】
【００６１】
【図１】本発明によるシステムを表すブロック図である。
【図２】（Ａ）は、１ページでＮセルを持つ４ビット・パー・セル・メモリ・デバイスのデータ・ビットへ、ホスト・コンピュータが関連づける論理ページの模範的な、非限定的な概略図であり、（Ｂ）は、本発明によるインタリーブ・スキーム後の、（Ａ）に示す４ビット・パー・セル・メモリ・デバイスの物理ページのビット・ページへ書き込まれるデータ・ビットの、模範的な、非限定的な概略図である。
【図１】
2010517117.tif 000003
【図２】
2010517117.tif 000004