(57)【要約】      （修正有）【課題】フラッシュメモリ等のメモリにおいてデータを管理するための方法および装置を提供する。【解決手段】装置は、ソリッドステート不揮発性メモリ１０４と、メモリの選択された場所にデータを書き込むように構成される処理回路１０２と、を有する。データは、ユーザデータペイロードと、ユーザデータペイロードにおける１つ以上のビット誤りを訂正するように構成される関連付けられたパリティデータと、をそれぞれ含む、マルチビット符号語の形で配列される。処理回路１０２は、選択された場所に対するアクセス操作の累計カウントまたは選択された場所に関連付けられる誤り率のうちの少なくとも選択された１つに応答して、符号語のサイズ、ユーザデータペイロードのサイズ、またはパリティデータのサイズのうちの少なくとも選択された１つを調整する。【選択図】図１
2015056184.tif 000002
【特許請求の範囲】
【請求項１】
ソリッドステート不揮発性メモリと、
ユーザデータペイロードと、前記ユーザデータペイロードにおける１つ以上のビット誤りを訂正するように構成される関連付けられたパリティデータと、をそれぞれ含む、マルチビット符号語の形で、前記メモリの選択された場所にデータを書き込むように構成される、処理回路であって、前記処理回路は、前記選択された場所に対するアクセス操作の累計カウントまたは前記選択された場所に関連付けられる誤り率のうちのいずれか１つに応答して、前記符号語のサイズ、前記ユーザデータペイロードのサイズ、または前記パリティデータのサイズのうちの少なくとも選択された１つを調整する、処理回路と、を備える、装置。
【請求項２】
前記メモリは、各行が選択されたデータ容量を有する、メモリセルの複数の行をそれぞれ備える、複数の消去ブロックに配列され、前記処理回路は、各行に整数の符号語を記憶する、請求項１に記載の装置。
【請求項３】
前記処理回路は、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語内に、第１のセットのデータを記憶し、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語内に、第２のセットのデータを記憶し、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、共通の全長を有する、請求項１に記載の装置。
【請求項４】
前記処理回路は、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語内に、第１のセットのデータを記憶し、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語内に、第２のセットのデータを記憶し、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、ユーザデータペイロードのビットの共通の全体数を有する、請求項１に記載の装置。
【請求項５】
前記処理回路は、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語内に、第１のセットのデータを記憶し、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語内に、第２のセットのデータを記憶し、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、パリティデータのビットの共通の全体数を有する、請求項１に記載の装置。
【請求項６】
前記処理回路は、前記選択されたメモリ場所に対するリードバック操作時にビット誤り率（ＢＥＲ）を測定する、ＢＥＲ測定回路をさらに備え、前記処理回路は、前記測定されたＢＥＲに応答して、前記符号語の前記サイズ、前記ユーザデータペイロードの前記サイズ、または前記パリティデータの前記サイズのうちの少なくとも選択された１つを調整する、請求項１に記載の装置。
【請求項７】
前記メモリは、消去ブロック内のメモリセルの行に沿った複数のＡメモリセルを有する、フラッシュメモリを備え、前記処理回路は、選択された行の前記Ａメモリセルに、複数Ｎの前記符号語を記憶し、前記Ｎ符号語のそれぞれは、共通のビット長を有する、請求項１に記載の装置。
【請求項８】
前記選択された行に沿ったＡメモリセルは、同一のセルに、データの第１および第２のページを記憶するマルチレベルセル（ＭＬＣ）として構成され、前記第１のページは、それぞれ第１の合計数のパリティデータビットを有する、第１のセットの符号語を備え、前記第２のページは、それぞれ第２の合計数のパリティデータビットを有する、第２のセットの符号語を備える、請求項７に記載の装置。
【請求項９】
前記処理回路は、前記選択された場所に関連付けられる比較的低いアクセスカウントに応答して、第１の入力データを、前記パリティデータ内の第１の比較的低い誤り訂正符号（ＥＣＣ）強度を有する符号語に配列し、前記処理回路は、その後、前記選択された場所に関連付けられる比較的高いアクセスカウントに応答して、第２の入力データを、前記パリティデータ内の第２の比較的高いＥＣＣ強度を有する符号語に配列する、請求項１に記載の装置。
【請求項１０】
行および列に配列される、非揮発性フラッシュメモリセルを備える、フラッシュメモリモジュールであって、前記フラッシュメモリセルは、消去操作時にそれぞれ個々に消去可能な消去ブロックにさらに配列され、各消去ブロックは、それぞれ複数のＡセルを有する複数の行を備える、フラッシュメモリモジュールと
ホストデバイスからの入力データに応答して、前記入力データを複数の符号語に配列して、選択された消去ブロックの選択された行に記憶するように構成される、処理回路であって、各符号語は、ＫバイトのユーザデータペイロードおよびＲバイトの関連付けられたパリティデータを備え、前記関連付けられたパリティデータは、前記ユーザデータペイロードにおける最大選択された数の誤りを訂正するように配列され、前記処理回路は、前記選択された行に関連付けられるアクセス操作の累計数または前記選択された行に関連付けられる測定されたビット誤り率（ＢＥＲ）のうちの少なくとも選択された１つに応答して、前記それぞれのＫおよびＲバイト値を選択する、処理回路と、を備える、装置。
【請求項１１】
前記処理回路は、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語として、第１の選択された行に、第１のセットのデータを記憶し、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語として、異なる第２の選択された行に、第２のセットのデータを記憶し、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、共通の全長を有する、請求項１０に記載の装置。
【請求項１２】
前記処理回路は、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語として、第１の選択された行に、第１のセットのデータを記憶し、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語として、異なる第２の選択された行に、第２のセットのデータを記憶し、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、ユーザデータペイロードのビットの共通の全体数を有する、請求項１０に記載の装置。
【請求項１３】
前記処理回路は、ユーザデータペイロード対パリティデータビットの第１の比を有する第１のセットの符号語として、第１の選択された行に、第１のセットのデータを記憶し、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語として、異なる第２の選択された行に、第２のセットのデータを記憶し、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、パリティデータのビットの共通の全体数を有する、請求項１０に記載の装置。
【請求項１４】
前記処理回路は、前記選択されたメモリ場所に対するリードバック操作時にビット誤り率（ＢＥＲ）を測定する、ＢＥＲ測定回路をさらに備え、前記処理回路は、前記測定されたＢＥＲに応答して、前記符号語の前記サイズ、前記ユーザデータペイロードの前記サイズ、または前記パリティデータの前記サイズのうちの少なくとも選択された１つを調整する、請求項１０に記載の装置。
【請求項１５】
ソリッドステート不揮発性メモリを複数のメモリ場所に配列することと、
選択されたメモリ場所に対するアクセス操作の累計カウントを特定することと、
前記選択されたメモリ場所に関連付けられる誤り率を測定することと、
ユーザデータペイロードと、前記ユーザデータペイロードにおける少なくとも１つのビット誤りを訂正するように構成される関連付けられたパリティデータと、をそれぞれ含む、マルチビット符号語の形で、選択されたメモリ場所にデータを書き込むことであって、整数の前記符号語は、前記選択されたメモリ場所に書き込まれ、アクセス操作の累計カウントまたは前記測定された誤り率のうちの少なくとも１つに応答して、前記符号語のサイズ、前記ユーザデータペイロードのサイズ、または前記パリティデータのサイズのうちの少なくとも選択された１つが選択される、書き込むことと、を含む、方法。
【請求項１６】
前記メモリは、各行が選択されたデータ容量を有する、メモリセルの複数の行をそれぞれ備える、複数の消去ブロックに配列され、整数の符号語は、各行に書き込まれる、請求項１５に記載の方法。
【請求項１７】
前記書き込むステップは、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語内に、第１のセットのデータを記憶することと、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語内に、第２のセットのデータを記憶することと、を含み、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、共通の全長を有する、請求項１５に記載の方法。
【請求項１８】
前記書き込むステップは、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語内に、第１のセットのデータを記憶することと、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語内に、第２のセットのデータを記憶することと、を含み、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、ユーザデータペイロードのビットの共通の全体数を有する、請求項１５に記載の方法。
【請求項１９】
前記書き込むステップは、ユーザデータペイロード対パリティデータのビットの第１の比を有する第１のセットの符号語内に、第１のセットのデータを記憶することと、ユーザデータペイロード対パリティデータの異なる第２の比を有する第２のセットの符号語内に、第２のセットのデータを記憶することと、を含み、前記それぞれの第１および第２のセットの符号語内の前記符号語のそれぞれは、パリティデータのビットの共通の全体数を有する、請求項１５に記載の方法。
【請求項２０】
前記符号語の前記サイズ、前記ユーザデータペイロードの前記サイズ、または前記パリティデータの前記サイズのそれぞれは、前記選択されたメモリ場所に整数の前記符号語を維持しながら、前記選択されたメモリ場所に記憶されるその後のデータに対して調整される、請求項１５に記載の方法。
【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【０００１】
本開示の種々の実施形態は、概して、限定されないが、フラッシュメモリ等のメモリにおけるデータの管理に関する。
【０００２】
いくつかの実施形態に従って、装置は、ソリッドステート不揮発性メモリと、メモリの選択された場所にデータを書き込むように構成される処理回路とを有する。データは、ユーザデータペイロードと、ユーザデータペイロードにおける１つ以上のビット誤りを訂正するように構成される関連付けられたパリティデータとをそれぞれ含む、マルチビット符号語の形で配列される。処理回路は、選択された場所に対するアクセス操作の累計カウントまたは選択された場所に関連付けられる誤り率のうちの少なくとも選択された１つに応答して、符号語のサイズ、ユーザデータペイロードのサイズ、またはパリティデータのサイズのうちの少なくとも選択された１つを調整する。
【０００３】
種々の実施形態を特徴付け得るこれらおよび他の特徴は、以下の詳細な説明および添付の図面を考慮して理解することができる。
【図面の簡単な説明】
【０００４】
【図１】図１は、種々の実施形態に従って、ホストデバイスと通信するように配列されるデータ記憶デバイスの機能ブロック表現を提供する。
【図２】図２は、図１のフラッシュメモリアレイの一部の概略図である。
【図３】図３は、フラッシュメモリアレイの消去ブロックに対する例示的なフォーマットを説明する。
【図４】図４は、ガーベジコレクションユニット（ＧＣＵ）に配列される多くの消去ブロックを説明する。
【図５】図５は、いくつかの実施形態に従ってフォーマットされた符号語内の図３〜４の消去ブロックのデータの記憶を示す。
【図６】図６は、異なるそれぞれの量のパリティデータおよびユーザデータペイロードを有する図５の符号語に対する異なる符号インデックスを説明する。
【図７】図７は、データを図５〜６に記載される符号語に配列するように、いくつかの実施形態に従って操作可能な符号語制御回路の機能ブロック表現である。
【図８】図８は、図１のデバイスの動作寿命にわたるビット誤り率（ＢＥＲ）および符号インデックスをグラフで説明する。
【図９】図９は、デバイスの動作寿命にわたる書き込み増幅（ＷＡ）データをグラフで説明する。
【図１０】図１０は、マルチレベルセル（ＭＬＣ）の異なる母集団を示す。
【図１１】図１１は、図２のアレイ内のフラッシュメモリセルの同一の行に書き込まれるデータの２つの異なるページを表す。
【図１２】図１２は、パリティデータサイズが増加し、ユーザデータペイロードサイズは一定のままである、別の実施形態に対する異なる符号インデックスを説明する。
【図１３】図１３は、ユーザデータペイロードが減少し、パリティデータサイズは一定のままである、別の実施形態に対する異なる符号インデックスを説明する。
【図１４】図１４は、ユーザデータペイロードおよびパリティデータサイズの両方が調整される、別の実施形態に対する異なる符号インデックスを説明する。
【図１５】図１５は、種々の実施形態に従って、図１のデバイスによって行われるステップの例示的な可変符号化率ルーチンの流れ図である。
【発明を実施するための形態】
【０００５】
本開示は、概して、限定されないが、データ記憶デバイスのフラッシュメモリ等のメモリモジュールに記憶されるデータを管理することに関する。
【０００６】
多種多様なデータ記憶メモリが当技術分野で周知である。いくつかのメモリは、フラッシュメモリ等を用いて、浮遊ゲート構造の蓄積された電荷の量に関連してデータを記憶するソリッドステートメモリセルの形をとる。消去操作は、概して、新しいデータが所与のフラッシュメモリ場所に書き込まれ得る前に必要とされる。
【０００７】
フラッシュメモリセルは、各セルがシングルビット（例えば、論理０または１）を記憶するように、シングルレベルセル（ＳＬＣ）としてか、または各セルが複数のビット（２ビット以上）を記憶するように、マルチレベルセル（ＭＬＣ）として構成され得る。ＭＬＣは、セルの同一のグループ（例えば、行）にわたって異なるデータブロックを記憶する。行に沿ったセルのプログラムされた状態の最下位ビット（ＬＳＢ）は、データの第１のブロック（ページ）を表すことができ、行に沿ったセルのプログラムされた状態の最上位ビット（ＭＳＢ）は、データの第２のページを表すことができる。
【０００８】
データは、ユーザデータペイロードおよび関連付けられたパリティデータの形でフラッシュメモリに記憶され得る。パリティデータは、概して、読み取り操作時にペイロードにおける最大選択された数のビット誤りを検出および訂正することを可能にする、誤り訂正符号（ＥＣＣ）と呼ばれる場合がある。パリティデータは、ＢＣＨ（ボース、チョードリ、およびオッカンガム）符号、リードソロモンＥＣＣ符号、ＬＤＰＣ（低密度パリティ検査）符号、ハミング符号、チェックサム等の種々の形をとることができる。
【０００９】
フラッシュメモリは、比較的限定された動作寿命を有する傾向があり、メモリがより多くのプログラム／消去（ＰＥ）サイクルを経験するにつれて、経時的にビット誤り率（ＢＥＲ）の増加を示し得る。いくつかの場合において、メモリの動作寿命の終わりに示されることが予想される、最悪の場合のＢＥＲ率が特定される。この最悪の場合のＢＥＲレベルで、誤りを検出および訂正することが可能なパリティスキームが採用され、このパリティスキームは、メモリの動作寿命を通じて使用される。
【００１０】
動作可能な間、そのようなスキームは、メモリの動作寿命の早期および中期部分は、パリティスキームの能力よりもかなり低いＢＥＲレベルを有する傾向があるため、資源の観点から無駄である。さらに、パリティデータの記憶占有領域は、厳密に必要とされるものよりも大きいため、メモリの全体的なデータ容量は低下し、これは、ユーザペイロードデータの記憶に使用可能な領域を低下させる。
【００１１】
したがって、本開示の種々の実施形態は、概して、必ずしも限定されないが、フラッシュメモリ等のメモリにおいてデータを管理するための装置および方法に関する。
【００１２】
以下に説明するように、ユーザデータペイロードおよび関連付けられたパリティデータを有する符号語が形成される。符号語が記憶されるメモリ場所のその時既存のＢＥＲ特徴に基づいて、符号語ごとに、パリティデータの適切な強度が提供される。パリティデータ（ＥＣＣ）強度が低いほど、概して、符号語内のＥＣＣの占有領域は小さくなり、ＥＣＣ強度が高いほど、概して、符号語内のＥＣＣの占有領域は大きくなる。
【００１３】
いくつかの実施形態において、より低い強度のＥＣＣスキームに対して、各符号語内により多くのユーザデータペイロードが記憶され、かつより高い強度のＥＣＣスキームに対して、各符号語内により少ないユーザデータペイロードが記憶されるように、符号語の全体的なサイズは、一定の値で維持される。このアプローチは、ページあたり１６の符号語（ｎ＝１６）等の整数ｎの符号語をメモリセルの各行に記憶することができる。
【００１４】
他の実施形態において、各符号語内のユーザデータペイロードの全体的なサイズは、符号語がより高い強度のＥＣＣスキームの実施と共により大きくなるように、一定の値で維持される。この後者の場合、行および符号語の相対的サイズに応じて、符号語は、メモリセルの複数行にわたり得る。
【００１５】
メタデータは、それぞれの符号語の場所およびステータスを追跡するために生成および使用される。ビット誤り率（ＢＥＲ）、プログラム／消去（ＰＥ）カウント、および他の性能パラメータは、異なる場所に適切な符号語を選択するために蓄積および使用される。必ずしも必要とされるわけではないが、フラッシュメモリ内のメモリブロックの全てが、実質的に同様の数のＰＥカウント（より一般的に、アクセス操作）を有するように、ウェアレベリングが実施されることが考えられる。そのような場合、ＥＣＣ強度（新しい符号インデックス）における段階的な変更がグローバルに実施され得る。しかしながら、他の場合において、異なるメモリ場所は、異なる時間に異なる符号インデックスを利用し得る。
【００１６】
種々の実施形態のこれらおよび他の特徴は、コントローラ１０２およびソリッドステートメモリモジュール１０４を有するデータ記憶デバイス１００の簡略化されたブロック図を提供する図１を検討することから、理解することができる。コントローラ１０２は、ハードウェアベースの、またはプログラム可能なプロセッサであり得る。メモリモジュール１０４は、種々の形をとり得る。具体的な例を提供する目的のために、デバイス１００は、ソリッドステートドライブ（ＳＳＤ）を備えると考えられ、メモリモジュール１０４は、フラッシュメモリを備える。他の構成を使用することができる。
【００１７】
モジュール１０４のフラッシュメモリは、図２に示されるように、個々のフラッシュメモリセル１０６を組み込む。図２のフラッシュメモリセルは、セルの列１０８が、ビット線（ＢＬ）１１０を介して接続され、かつセルの行１１２がワード線（ＷＬ）１１４を介して接続されるように、ＮＡＮＤ構成に配列される。
【００１８】
各フラッシュメモリセル１０６は、ドレイン、ソース、および制御ゲート端子を有するｎチャネル金属酸化膜半導体電界効果トランジスタ（ｎＭＯＳＦＥＴ）の一般的な形をとる。各セルは、ＢＬおよびＷＬ制御線１１０、１１４を介した、それぞれのドレイン、ソース、および制御ゲート端子への適切な電圧の選択された印加によって、プログラミング（書き込み）操作時に電荷を蓄積する、分離された浮遊ゲート構造を含む。消去（消去）操作は、セルのグループの浮遊ゲート構造から電荷を除去し、セルを最初の消去された状態に戻す。
【００１９】
最初の消去された状態において、セルは、概して、制御ゲートに電圧を印加することなく、介在チャネルにわたってドレイン−ソース間伝導性を示す傾向がある。浮遊ゲートに電荷が蓄積されると、ドレイン−ソース間経路は、セルが伝導性になる十分に高いゲート制御電圧が制御ゲートに印加されるまで、非伝導性である。セルのプログラムされた状態は、ドレイン−ソース間電流がセルを通過することを可能にするために必要とされる制御ゲート電圧のレベルを感知することによって判定することができ、概して、浮遊ゲートの蓄積された電荷量と相関がある。
【００２０】
メモリセル１０６は、シングルレベルセル（ＳＬＣ）またはマルチレベルセル（ＭＬＣ）として構成することができる。ＳＬＣは、シングルビットを記憶する。通常の規約は、１の論理ビット値を消去されたセル（蓄積された電荷が実質的にない）に割り当て、０の論理ビット値をプログラムされたセル（蓄積された電荷の選択された閾値が存在する）に割り当てることである。ＭＬＣは、２ビット等の複数のビットを記憶する。概して、ｎビットを、２ｎ記憶状態を用いて記憶することができる。通常の規約は、マルチビット論理値１１を、電荷Ｃ０を有する消去されたセル（蓄積された電荷が実質的にない）に割り当て、その後、残りのマルチビット論理値０１、００、および１０を、次第に高くなる電荷レベルＣ１、Ｃ２、およびＣ３に順次割り当てることである。
【００２１】
メモリセルは、図３および４に示されるように、消去ブロック１２０に分類され得る。各消去ブロック１２０は、メモリの別々にアドレス指定が可能なブロックであり得、一度に同時に消去することができるメモリの最小ユニットを表す。各消去ブロック１２０は、各行が、共通のワード線（図２）を共有し、かつ選択された量のユーザデータの記憶に対応する状態で、メモリセルの複数の行１２２として配列され得る。所望される場合、セルの他の配列および相互接続を利用することができる。１つの例示的な消去ブロックサイズは、１２８行で８１９２バイト（Ｂ）である。他のサイズを使用することができる。
【００２２】
種々のブロック１２０の消去および書き込みステータスを追跡するために、ブロックレベルのウェアレベリングが利用され得る。必要に応じて、新しく受信されたデータに対応するように、新しいブロックが割り当てられて、使用される。いくつかの実施形態において、ブロック１２０のグループは、１つのユニットとして割り当てられ、使用され、および消去される、より大きなガーベジコレクションユニット（ＧＣＵ）１２４に蓄積される。ＧＣＵ１２４は、任意の適したサイズをとり得る。
【００２３】
図４は、メモリモジュール１０４（図１）の一部を形成し得る、読み取り／書き込み／消去（Ｒ／Ｗ／Ｅ）回路１２６をさらに示す。Ｒ／Ｗ／Ｅ回路１２６は、システムが、それぞれの消去ブロック１２２にデータを書き込むことを可能にするように、種々の列および行デコーダー、ドライバー、センサー等を含む。いくつかの実施形態において、行全体分のデータが一度に書き込まれ（例えば、８１９２Ｂ等）、行全体分のデータが一度にリードバックされ得る。データのそのようなブロックは、ページと呼ばれる。
【００２４】
メタデータは、デバイス操作時に、Ｒ／Ｗ／Ｅ回路１２６による使用のために、ローカルメモリ１２８にロードされ得る。メタデータは、概して、メモリ１０４内のデータの場所を説明し、性能パラメータ、累計カウント等の他の制御情報を提供する。メタデータは、ホストレベルで使用される論理アドレス（論理ブロックアドレス、ＬＢＡ等）から、メモリモジュールレベルで使用される物理アドレス（物理ブロックアドレス、ＰＢＡ等）への変換を可能にする。
【００２５】
所与のセットのＬＢＡが提供されて、メモリモジュール１０４に記憶されるたびに、Ｒ／Ｗ／Ｅ回路１２６は、新しい場所にデータを書き込み、古いバージョンのＬＢＡは、古いとマークされる。順方向ポインタは、メタデータに追加されて、Ｒ／Ｗ／Ｅ回路１２６が、その後の読み取り操作時に最新バージョンのデータを検索することを可能にする。所与のＧＣＵにおいて十分な量のデータが古くなると、ガーベジコレクション操作が行われて、残りの現在のデータを新しい場所に移行し、ＧＣＵ内の消去ブロックを消去し、新しいデータを記憶するためのその後の割り当てまでＧＵＩを割り当てプールに戻すことができる。
【００２６】
図４は、符号語（ＣＷ）制御回路１３０をさらに示す。ＣＷ制御回路１３０は、メモリモジュール１０４へのデータの記憶に使用するための適用可能な符号語スキーム（符号インデックス）を確立するように動作する。必ずしも必要とされないが、ＣＷ制御回路１３０の少なくとも一部は、コントローラ１０２（図１）に組み込まれることが考えられる。
【００２７】
図５は、図４のＣＷ制御回路１３０によって確立される符号語に対する例示的なフォーマットを示す。図５において、合計Ｎの符号語１３２（ＣＷ１からＣＷＮ）は、各行１２２（図３）に記憶される。Ｘ＝Ａ／Ｎとなるように、各行は、Ａバイト（Ｂ）の行の長さを有し、各符号語は、Ｘバイトの符号語の長さを有する。各符号語１３２は、ユーザデータペイロード１３４（Ｋバイト）およびパリティデータ１３６（Ｒバイト、Ｘ＝Ｋ＋Ｒ）を含む。図５の例において、符号語の長さＸは、固定値に設定され、この値は、デバイス１００の動作寿命を通じて全ての符号語に対して維持される。
【００２８】
行１２２（図３）に沿ったユーザデータエリアおよび関連付けられたＥＣＣエリアの両方を有する、１０４等のいくつかのフラッシュメモリが提供される。ＥＣＣエリアは、ＥＣＣデータに対応して、ユーザデータエリアに記憶されるデータを訂正するように設計される。１つの現在利用されている構成は、８１９２Ｂのユーザデータエリアおよび１０２４バイトのＥＣＣデータエリアを提供する。ユーザデータエリアおよびＥＣＣデータエリアの両方が符号語１３２の記憶に使用可能なため、これは、９２１６Ｂ（Ａ＝８１９２Ｂ＋１０２４Ｂ）の行の全長を提供する。合計１６の符号語が各行（ページ）に提供されると仮定すると、符号語の長さは、１１５２Ｂ（Ｘ＝１１５２Ｂ）として指定することができる。
【００２９】
図６に示されるように、ペイロード（Ｋバイト）およびパリティデータ（Ｒバイト）の相対的サイズは異なることができる。より具体的には、図６は、符号インデックス（ＣＩ−１からＣＩ−６）と呼ばれる、６つの異なる符号語スキームを示す。他の配列を使用することができる。符号インデックスは、低い強度のＥＣＣスキーム（ＣＩ−１）から高い強度のＥＣＣスキーム（ＣＩ−６）に及ぶ。
【００３０】
図６から分かるように、パリティデータのサイズ（図５のＲバイト）は、４８Ｂから１１２Ｂに及ぶことができ、ユーザデータペイロードのサイズ（図５のＫバイト）は、１１０４Ｂから１０４０Ｂに及ぶことができる。いずれの場合にも、符号語の合計サイズは、１１５２Ｂで一定のままである。ＥＣＣ強度が増加するにつれて、パリティデータの占有領域は増加し、ユーザデータペイロードの占有領域は減少する。符号化率（ＣＲ）は、以下のように定義することができる。
【００３１】
【数１】
2015056184.tif 000003
【００３２】
経時的に、Ｒが増加するにつれてＫは減少し、符号化率ＣＲは低下する。参考のため、ＣＩ−１は、約９５．８％の符号化率を提供し、ＣＩ−６は、約９０．２％の符号化率を提供する。上記のように、他のそれぞれの値を使用することができる。
【００３３】
ペイロード境界は、異なり、論理アドレス境界（例えば、４０９６Ｂ等のＬＢＡサイズ）と一致し得ない。選択されたセットのＬＢＡに対するデータ回復操作は、ＬＢＡに対応するペイロードデータを有する符号語１３２をリードバックすること、続いて、パリティデータを適用して、ビット誤りを検出および訂正すること、および回復されたデータを本来のＬＢＡデータセットにアセンブルして、要求ホストデバイスへ転送することを含み得る。
【００３４】
図７は、いくつかの実施形態に従う、図４の符号語（ＣＷ）回路１３０の機能ブロック表現である。ＣＷ回路１３０は、多くの入力を受信して、ユーザデータの記憶に適切な符号インデックスを選択する、符号語分析エンジン１４０を含む。これらの入力は、ＢＥＲ監視１４２からのビット誤り率（ＢＥＲ）データ、ＰＥカウンタ１４４からのプログラム／消去（ＰＥ）カウント、温度（ｔｅｍｐ）センサー１４６からの温度データ、およびＣＷテーブル１４８からのＣＷデータを含む。
【００３５】
符号インデックスは、個々のメモリ場所の状態に基づいて選択されるため、メモリ場所（例えば、ＰＢＡ等）もまた、分析エンジン１４０に提供される。分析エンジン１４０は、Ｒ／Ｗ／Ｅ回路１２６による使用のために、選択された符号インデックス、パリティの種類（例えば、ＢＣＨ、ＲＳ、ＬＤＰＣ等）、および、所望される場合、更新されたメタデータ情報を出力する。Ｒ／Ｗ／Ｅ１２６は、続けて、パリティデータの生成を含む、受信されたユーザデータを適切な符号語にフォーマットし、符号語を選択されたメモリ場所に書き込む。
【００３６】
図８は、プログラム／消去（ＰＥ）カウントｘ軸１５２および実効ＢＥＲｙ軸１５４に対してプロットされた、ビット誤り率（ＢＥＲ）曲線１５０のグラフ表現である。ＰＥカウントは、概して、フラッシュメモリモジュール１０４の選択されたメモリ場所（例えば、行１２２、図３）に対するＰＥ（アクセス）操作の累計カウントを表す。メモリモジュール１０４は、約３５，０００ＰＥ操作等の指定された寿命を有し得、図８の曲線は、このレベルにまで及び得るか、またはそれを超え得る。実効ＢＥＲは、パリティデータをユーザデータペイロードに適用した、ＢＥＲ率を示す。
【００３７】
曲線１５０は、実質的に直線に示されているが、他の形状が見られ得る。曲線１５０は、例えば、図７のＢＥＲ監視回路１４２を用いて、フラッシュメモリデバイスの実効ＢＥＲを経時的に監視することによって、生成することができる。
【００３８】
図８は、符号インデックス曲線１５６をさらに示す。符号インデックス（ＣＩ）曲線１５６は、ステップ関数形状をとる。各プラトーは、図６の異なる符号インデックスを表す。これは、全ての使用可能な符号インデックスが必ずしも使用される必要はなく、示された順番で使用される必要もないため、単に例示にすぎない。また、さらにいくつかの他の実施形態において、所与のＰＥカウントに対してより高い符号化率を提供するために、さらなる符号インデックスが利用され得る。比較の目的のために、最悪の場合のパリティレベルが破線１５８で示される。上記のように、最悪の場合のパリティレベルは、概して、デバイスがその動作寿命の終わりに達した時に直面することが予想されるＢＥＲ性能に基づいて選択される、パリティレベルを表す。
【００３９】
図８から分かるように、異なる符号インデックスは、デバイス１００の動作寿命にわたって利用される。最初に、データが、４８Ｂのパリティデータおよび１１０４Ｂのペイロードデータを有する符号語内に記憶されるように、ＣＩ−１が使用される。これは、ＣＩ−２等への切り替えによって示されるように、観察された実効ＢＥＲの増加が、ＥＣＣ強度における段階的な増加を必要とするまで続く。任意の適したＣＩプロファイルを使用することができる。
【００４０】
任意の点での、ステップ関数ＣＩ曲線１５６と実質的に直線のＢＥＲ曲線１５０との間の距離は、その点でのシステムによる誤り訂正能力のオーバープロビジョニングを表すことが理解される。この距離を最小限まで低下させることは、システムのその時既存のＢＥＲ性能に適した誤り訂正能力を提供することによって、かつその時使用可能な量のメモリを増加させてユーザデータを記憶することによって、性能を向上させる傾向がある。対照的に、最悪の場合の線１５８と曲線１５０との間の著しい距離は、デバイスの動作寿命の大半で、最悪の場合のＥＣＣスキームを使用することは無駄かつ不要であることを示す。
【００４１】
いくつかの実施形態において、高い符号化率（ＣＩ−１等）で、パリティデータに対してＢＣＨスキームが使用され得る。経時的に、分析エンジン１４０（図７）は、この同一の種類のＥＣＣのより強力なバージョンに切り替え得るか、または相互作用的なＬＤＰＣアプローチ等の新しいスキームを選択し得る。いくつかのスキームにおいて、ＥＣＣのさらなる層も実装され得る。
【００４２】
図９は、図８の段階的なＥＣＣ強度の強化を用いて達成することができる書き込み増幅の利点を示す。当業者によって理解されるように、書き込み増幅（ＷＡ）は、概して、メモリに書き込まれる所与のデータセットのコピー数を説明する。最初に１回目にデータを書き込むと、１つの書き込みとしてカウントされる。ガーベジコレクション操作の結果として、または他の理由（検出された読み取り妨害等）のために、その後、データが新しい場所に移行した場合、これは、１つのさらなる書き込みとしてカウントされる。
【００４３】
所与のセットのデータがメモリモジュール１０４により多くの回数書き込まれるほど、オーバーヘッド処理は多くなり、新しいデータに対応するために使用可能なメモリは少なくなる。したがって、比較的低いＷＡ値を維持することが望ましくあり得る。例示的なＷＡ値は、およそ約３．２であり得、すなわち、データがシステムに存在する経過において、各セットのデータが平均３．２回書き込まれることを意味する。作業負荷を含む、多くの要因に基づいて、他の値を使用することができる。
【００４４】
システムは、図８の目的に合わせられたＥＣＣスキームを用いて、書き込み増幅（ＷＡ）曲線１６０によって示されるように、デバイス１００の動作寿命にわたってＷＡにおける段階的な変更を経験することが考えられる。ＷＡ曲線１６０は、ＰＥカウントｘ軸１６２および書き込み増幅（ＷＡ）ｙ軸１６４に対してプロットされる。経験的データは、図８〜９におけるそれぞれの曲線１５６、１６０の比較によって分かるように、ＷＡ曲線がＣＩ曲線を密接に反映し得ることを示唆している。平均ＷＡレベルは、破線１６６で示される。いくつかの場合において、図８の符号インデックスの使用は、図８において線１５８で表される最悪の場合のパリティアプローチの使用と比較すると、システムにより経験される平均ＷＡを望ましく低下させることができることが分かった。
【００４５】
図１０は、メモリモジュール１０４のフラッシュメモリセル１０６にデータを記憶するための、マルチレベルセル（ＭＬＣ）の使用のグラフ表現である。より具体的には、図１０は、図２のアレイ内の種々のフラッシュメモリセル１０６に記憶された異なるレベルの電化に対する、例示的な正規化された電荷分布１７０、１７２、１７４、および１７６を説明する。分布は、電圧の大きさを示す共通のｘ軸１７８およびセル母集団カウントを示す共通のｙ軸１８０に対してプロットされる。
【００４６】
分布１７０、１７２、１７４、および１７６は、名目上の蓄積された電荷状態Ｃ０＜Ｃ１＜Ｃ２＜Ｃ３に関するバリエーションを表し、ＭＬＣのプログラムされた状態１１、０１、００、および１０に対応する。他のエンコードスキームを使用することができる。分布１７０は、状態１１にプログラムされたアレイ内のメモリセルの電荷量におけるバリエーションを表し、分布１７２は、状態０１に対応し、分布１７４は、状態００に対応し、分布１７６は、状態１０に対応する。母集団１７６内のセルは、最も蓄積された電荷を有し、母集団１７０内のセルは、蓄積が最少の電荷を有する。
【００４７】
プログラムされた状態１１、０１、００、および１０は、各セル内のデータの２つの異なるページ（ブロック）に対するデータを表し得る。この場合において、プログラムされた状態の最下位ビット（ＬＳＢ）は、第１のページに対するビット値を提供し得、プログラムされた状態の最上位ビット（ＭＳＢ）は、第２のページに対するビット値を提供し得る。上記のように、各ページのデータは、符号語１３２の形で配列される。各ページは、異なる符号インデックスを用いて書き込むことができる。
【００４８】
それぞれの電荷分布１５０〜１５６は、適した読み取り閾値電圧Ｔ１、Ｔ２、Ｔ３、およびＴ４の印加が、種々のプログラムされた状態を区別することを可能にするように、理想的には重複しない。閾値Ｔ１は、名目上、分布１７０内のメモリセルの全てをソース−ドレイン間伝導状態に置くには十分であるが、分布１７２、１７４、および１７６のセルを伝導状態に置くには不十分な電圧レベルを提供する。閾値Ｔ４は、概して、それらのプログラムされた状態に関係なく、セルの全てを伝導状態に置くほど十分に大きい。
【００４９】
選択されたフラッシュメモリセルのプログラムされた状態は、適した順方向電圧（例えば、＋３Ｖ等）で、選択されたセルに対してビット線１１０（図２）を置き、かついくつかの他のより低い基準電圧（例えば、０Ｖ）で、残りの選択されていないビット線を置くことによって、読み取ることができる。選択されたセルを含まない行に対する選択されていない語線１１４は、選択されたセル以外の選択された列内のセルの全てが、ソース−ドレイン間伝導状態に置かれるように、最も高い閾値Ｔ４で置くことができる。
【００５０】
その後、１つ以上の読み取り閾値電圧を、選択されたセルに関連付けられるＷＬ１１４に印加することができ、電流がビット線１１０および選択された列内のその他のセルを通じて流れるかに関連して、選択されたセルのプログラムされた状態を判定することができる。したがって、読み取り操作は、所与の読み取り閾値電圧が、選択されたセルを伝導状態に置くのに十分であるかを評価する。列を通じた電流の流れを得るために必要とされる、印加された電圧が高いほど、より多い量の蓄積された電荷が浮遊ゲートに存在する。
【００５１】
いくつかの実施形態において、データの第１のページは、第１のセットの符号語１３２として、ＳＬＣモードのセルの選択された行に沿ったセルに書き込まれる。データの第１のページは、何らかの順序（例えば、００１０１１１１０１００１００…）で、論理０ｓおよび１ｓのビットシーケンスを構成する。各セルに１ビットが記憶される。論理１が記憶されるそれらのセルは、「１１」分布１７０の範囲内に入る電荷レベルを有するように、プログラミング作業を受容し得ない（または最小限のプログラミング作業を受容し得る）。論理０が記憶されるそれらのセルは、電荷レベルを上昇させて、「００」分布１７４の範囲に入るのに十分なプログラミング作業を受容する。
【００５２】
ＳＬＣから、記憶されたビットシーケンスをリードバックするために、読み取り閾値電圧Ｔ２を各セルに順番に印加することができ、セルが、印加された読み取り閾値電圧の結果として伝導状態に置かれるかに関連して、記憶された状態（論理１または０）を判定することができる。
【００５３】
その後、データの第２のページは、ＳＬＣセルに上書きされて、セルをＭＬＣの形に変換し得る。前述のように、データの第２のページは、符号語のシーケンスとして配列され、論理０ｓおよび１ｓのビットシーケンスを構成し、データの第２のページから１ビットが各セルに記憶される。論理１が記憶されるそれらのセルは、さらなるプログラムされた作業を受容しない。論理０が記憶されるそれらのセルは、次のより高い分布に電荷レベルを増加させるのに十分なさらなる電荷を受容する。
【００５４】
論理１が、「１１」分布１７０にプログラムされるメモリセルに書き込まれる場合、さらなる電荷は、セルを「０１」分布１７２に移行する。同様に、論理１が、「００」分布１７４にプログラムされるメモリセルに書き込まれる場合、さらなる電荷は、セルを「１０」分布１７６に移行する。いずれの場合にも、プログラムされたセルのＬＳＢ（右端のビット）は、データの第１のページに対するビット値を示し、プログラムされたセルのＭＳＢ（左端のビット）は、データの第２のページに対するビット値を示す。
【００５５】
図１１は、選択された消去ブロック１２０（図２〜３参照）の選択された行１２２内の物理的なメモリセル１０６の選択された行に書き込まれる２つの異なるページ、ページＮおよびページＮ＋１の使用を示す。第１のページ、ページＮは、第１の符号インデックスＡ（例えば、ＣＩ−３）を用いて書き込まれる。第２のページ、ページＮ＋１は、異なる第２の符号インデックスＢ（例えば、ＣＩ−５）を用いて書き込まれる。したがって、図１１は、所与のメモリ場所に対して共通の符号インデックスが使用され得ることが考えられる一方で、ＭＬＣ記録と関連して、同一の場所に書き込まれるデータの異なるページ対して、異なる符号語が適用され得る。
【００５６】
図１２は、可変長を有する符号語１９０が提供される、代替的な実施形態を示す。前述のように、各符号語１９０は、ユーザデータペイロード１９２および関連付けられたパリティデータ１９４を含む。また、前述のように、符号語は、連続的に増加した強度のＥＣＣ（および関連付けられたパリティデータ占有領域）を有する異なる符号インデックス（ＣＩ−１からＣＩ−６として特定）として配列される。しかしながら、図１２において、ＥＣＣ強度が増加するにつれて、符号語１９０のサイズも増加するように、ユーザデータペイロード量は、一定（例えば、１０２４Ｂ）に維持される。
【００５７】
図１２のスキームの利点は、ユーザデータペイロードがＬＢＡ境界とより密接に一致したままであることである。例えば、４０９６ＢのＬＢＡサイズを用いて、各ＬＢＡは、ユーザデータを記憶するために４つの符号語１９０を必要とする。一方で、図１２に提供される非標準の符号語サイズ（ＣＩ−１に対する１０７２ＢからＣＩ−６に対する１１３６Ｂに及ぶ）に起因して、フィラービットが、ページ境界と一致するために必要とされ得、いくつかの符号語は、あるページから次のページに分割される必要があり得る。
【００５８】
図１３は、図４〜５の符号語制御回路１３０によって生成される符号語２００に対する別の例示的なフォーマットを説明する。符号語２００は、一定サイズのパリティデータ２０２を維持するが、対応するユーザデータペイロード２０４を連続的に低下させる。したがって、符号語２００は、連続的に短くなり、すなわち、パリティデータ内の同一のＥＣＣスキームが、連続的に少量のペイロードにおけるビット誤りを削除／訂正するために必要とされることを意味する。ＥＣＣスキームは、ＣＩ−１からＣＩ−６までの符号インデックスに対して一定のままであることができるか、または全体的な占有領域が一定のままである限り、変更することができる。
【００５９】
パリティおよびペイロード占有領域に対するＥＣＣ強度における変更の任意の数の組み合わせを、必要に応じて組み込むことができる。例えば、図１４は、両方ともが符号インデックスごとに変わるユーザデータペイロード２１２およびパリティデータ２１４を有する、符号語２１０を示す。いくつかのＥＣＣスキームは、異なる総量のペイロードデータにより適しているため、いくつかの場合において、符号語サイズ（ならびにペイロードおよびパリティ）は、ＥＣＣ強度が増加するにつれて増加および／または減少し得ることが考えられる。いくつかの場合において、符号語パラメータ（例えば、符号語サイズ、ペイロードサイズ、およびパリティデータサイズ）の一部または全てを、ページ（または他のデータエリアサイズ）あたりの整数の符号語を依然として維持しながら、調整することができる。
【００６０】
前述の符号語フォーマットのそれぞれは、近接するペイロードエリア、続いて、近接するパリティデータエリアを提供している（例えば、図５〜６、１２〜１４参照）。ペイロードデータとパリティデータの混合、ペイロードデータの前へのパリティデータの配置を含む、他の配列を使用することができる。
【００６１】
図１５は、前述の説明に従って行われ得るいくつかのステップの例示的な可変符号化率ルーチン２２０の流れ図である。他のステップが利用され得、図１５に示されるステップは、異なる順序で修正、省略、および／または実行することができる。図１５は、フラッシュメモリモジュール１０４にデータを記憶するためのデバイス１００の操作を説明するが、他の種類の非揮発性メモリを使用することができるため、単に例示にすぎず、限定するものではないことが考えられる。
【００６２】
ステップ２２２において、最初の符号語サイズ、対応するユーザデータペイロードサイズ、およびパリティデータサイズが選択される。これは、例えば、図６または図１２〜１４の符号インデックスＣＩ−１等の選択された符号インデックスに対応し得る。最初の符号インデックスは、メモリのその時既存の状態に適したＥＣＣ強度を表す。異なるＥＣＣ強度は、メモリの異なる部分に対して選択され得る。異なるＥＣＣ強度は、さらに、データの優先度等の他のパラメータに基づいても選択され得る。
【００６３】
例えば、優先度の高いデータは、ＣＩ−５等のより高いＥＣＣ強度が提供され得、一方では、優先度のより低いデータは、ＣＩ−１等のより低いＥＣＣ強度が提供され得る。これは、データ回復の信頼性と応答時間対処理オーバーヘッドとの間のトレードオフを伴う。いくつかの場合において、メモリ１０４の第１の部分は、第１の符号インデックススキーム（例えば、ＣＩ−１）を最初に受け得、メモリ１０４の別の部分は、異なる符号インデックススキーム（例えば、ＣＩ−２）を最初に受け得る。
【００６４】
図１５の続きで、ステップ２２４において、ユーザデータがホストデバイスから受信されて、メモリに記憶される。データは、論理アドレス（例えば、ＬＢＡ）の形であり得、第１のＬＢＡサイズ（例えば、ＬＢＡあたり４０９６Ｂ等）に分類され得る。
【００６５】
ステップ２２６において、受信されたユーザデータは、１つ以上の符号語に配列され、関連付けられたパリティデータが生成される。ステップ２２８において、生成された符号語は、次に、メモリ内の選択された場所に書き込まれる。これは、メモリの１つ以上のページに符号語を書き込むこと、ならびにシステムがその後データを取得することを可能とするように、適切なメタデータを生成および更新（必要に応じて）することを含み得る。メタデータは、符号語インデックススキーム、関連付けられたＬＢＡ、時刻−日付スタンプ情報等を記録し得る。プログラム（書き込み）カウント等のカウンタは、図５のＰＥカウンタ１４４等の回路によって増加し得る。
【００６６】
その後、ステップ２３０において、符号語は、要求ホストデバイスへのユーザデータを取得するように、読み取り操作時に読み取られる。これは、要求ホストデバイスからの読み取り要求に応答して予定されて、選択された論理アドレス（例えば、ＬＢＡのセット等）に関連付けられるデータを取得し得る。ステップ２３０は、１つ以上の場所の１つ以上の符号語に関連付けられるビット値を回復させて、読み取り要求を満足させることを含み得る。パリティデータは、回復されたユーザデータペイロードにおけるビット誤りを訂正するために使用され、回復および訂正されたデータは、要求されたＬＢＡにアセンブルされ、要求ホストデバイスに返される。
【００６７】
ステップ２２２〜２３０の操作時、図５において上述されたように、種々の監視回路は、ＢＥＲ、ＰＥカウント、温度等の種々の性能統計を蓄積する。これは、ＧＣＵ、消去ブロック、行、ページ、および／または個々のセルレベル等、場所ベースで行われ得る。性能統計は、さらに、または代替的に、ダイ、アレイ、ストライプ等のレベルで維持され得る。図示されていないが、前述の操作は、オンデマンドベースで、システムによって継続的に行われて、ホストの書き込みおよび読み取りコマンドを満足させることが理解される。背景で、ウェアレベリングを実行し、読み取りおよび書き込み妨害効果を低下させ、書き込み増幅を低下させること等によって、ガーベジコレクションおよび他のデータ管理操作が行われて、メモリを管理することができる。
【００６８】
決定ステップ２３４は、所与のメモリ場所に対して、またはメモリ全体に対して、比較的より強いＥＣＣ能力を有する新しい符号インデックスにアップグレードする時かを判定する。これは、検出されたＢＥＲレベル、検出されたＰＥカウント等に基づいて行うことができる。符号インデックスの変更が必要とされる場合、ルーチンは、ステップ２３６に移動し、少なくともいくつかの場合において、図６および１２〜１３に示されるように、パリティデータのサイズは、その後の符号語に対して増加する。ステップ２３８において、ペイロードは、図６において上述されたように、対応する量だけ減少して、一定の符号語サイズを維持する。代替的に、ステップ２４０において、図１２において上述されたように、ペイロードは、一定のサイズで維持され、符号語の全体的なサイズは増加する。前述のステップは、新しい符号インデックスを用いて繰り返される。
【００６９】
図１５に示されていないが、同一のパリティデータ占有領域を維持すること（図１３と同様）、またはパリティデータ占有領域およびペイロード占有領域の両方を調整すること（図１４と同様）等の他の代替が行われ得ることが理解される。いずれの場合にも、ＥＣＣ強度は増加し、それによって、メモリの経過期間から生じるＢＥＲの増加に対応するシステムの能力を増加させる。
【００７０】
要約すると、種々の実施形態は、それぞれユーザデータペイロードおよび対応するパリティ（ＥＣＣ）データを有する符号語内にデータを配列するように動作する。いずれの場合にも、符号化率は、強化されたＥＣＣ強度を提供して、経過期間に起因するメモリのＢＥＲ低下を補償するように増加する。いくつかの場合において、符号語の全体的なサイズは、一定のサイズで維持される。他の場合において、ペイロードの全体的なサイズは、一定のサイズで維持され、パリティデータ占有領域は増加する。さらに他の場合において、パリティデータの全体的なサイズは、一定のサイズで維持され、ユーザデータペイロードは減少する。さらに他の場合において、パリティおよびペイロードサイズの両方が、ＥＣＣ強度の連続的な増加を提供するように調整される。
【００７１】
このように、メモリのその時既存の状態に適切なレベルのＥＣＣが適用される。異なる符号語インデックスは、同一のセットのメモリセルに書き込まれる異なるページ（例えば、図１１）を含む、異なる場所において同時に使用することができる。いくつかの実施形態において、第１の符号インデックスを用いて以前に記憶されたデータは、ガーベジコレクション操作時に新しい場所に再配置され得、上書きコピーされたデータは、異なる符号インデックススキームを用いて再書き込みされ得ることが考えられる。
【００７２】
種々の実施形態は、フラッシュメモリを対象としているが、単に例示にすぎず、必須ではない。種々の実施形態は、スピントルクトランスファランダムアクセスメモリ（ＳＴＲＡＭ）、抵抗ランダムアクセスメモリ（ＲＲＡＭ(登録商標））、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、磁気ランダムアクセスメモリ（ＭＲＡＭ）等を含むがこれらに限定されない、ソリッドステートメモリの他の形に容易に実装され得る。
【００７３】
種々の実施形態の構造および機能の詳細とともに、本開示の種々の実施形態の多数の特徴および利点を、前述の説明で述べたが、この発明を実施するための形態は、例示のみであり、添付の特許請求の範囲が表現される用語の広範な一般的な意味によって最大限に示される本開示の原理内で、特に部品の構造および配列に関して、変更が詳細になされ得ることを理解すべきである。
【図１】
2015056184.tif 000004
【図２】
2015056184.tif 000005
【図３】
2015056184.tif 000006
【図４】
2015056184.tif 000007
【図５】
2015056184.tif 000008
【図６】
2015056184.tif 000009
【図７】
2015056184.tif 000010
【図８】
2015056184.tif 000011
【図９】
2015056184.tif 000012
【図１０】
2015056184.tif 000013
【図１１】
2015056184.tif 000014
【図１２】
2015056184.tif 000015
【図１３】
2015056184.tif 000016
【図１４】
2015056184.tif 000017
【図１５】
2015056184.tif 000018
【外国語明細書】
2015056184000001.pdf