(57)【要約】【課題】誤り訂正を有する多値レベルの符号化に関する方法、システムおよび装置を提供すること。【解決手段】入力データを受信することと、外部符号器によって、外部符号系列を該入力データの少なくとも一部分に基づいて生成することと、内部符号器によって、内部符号系列を該外部符号系列の少なくとも一部分に基づいて生成することであって、該内部符号系列は、第一の複数のパリティ情報ビットと第二の複数のノンパリティ情報ビットとを含んでいる、ことと、該第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第三の複数のパリティ用セルに書き込むことと、該第二の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルに書き込むこととを包含する、方法。【選択図】図５
2010287305.tif 000002
【特許請求の範囲】
【請求項１】
入力データを受信することと、
外部符号器によって、外部符号系列を該入力データの少なくとも一部分に基づいて生成することと、
内部符号器によって、内部符号系列を該外部符号系列の少なくとも一部分に基づいて生成することであって、該内部符号系列は、第一の複数のパリティ情報ビットと第二の複数のノンパリティ情報ビットとを含んでいる、ことと、
該第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第三の複数のパリティ用セルに書き込むことと、
該第二の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルに書き込むことと
を包含する、方法。
【請求項２】
非二進符号を前記外部符号系列の前記生成において用いることと、
二進符号を前記内部符号系列の前記生成において用いることと
をさらに包含する、請求項１に記載の方法。
【請求項３】
前記非二進符号は、リードソロモン符号であり、前記二進符号は、トレリス符号化変調符号である、請求項２に記載の方法。
【請求項４】
３つ以上の、セルあたりの公称のビット数を書き込むことと、
前記不揮発性メモリデバイスの全部のセル数のうちの１５パーセント以下をパリティ用セルとして用いることと
をさらに包含する、請求項１に記載の方法。
【請求項５】
前記不揮発性メモリデバイスは、ノンパリティ情報ビットの第一の数を格納可能であり、該第一の数を、該不揮発性メモリデバイスのパリティ用セルの第二の数と、該不揮発性メモリデバイスのノンパリティ用セルの第三の数との合計による除算は、２．２を超えている、請求項１に記載の方法。
【請求項６】
各々のセルは、８つ以上の分割を含んでいる、請求項５に記載の方法。
【請求項７】
第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第二の複数のパリティ用セルから読み出すことと、
第三の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルから読み出すことであって、該第一の複数のパリティ情報ビットと該第三の複数のノンパリティ情報ビットとは、内部符号系列に対応している、ことと、
内部復号器によって、該内部符号系列を、外部符号系列を提供するために復号化することと、
外部復号器によって、該外部符号系列を、入力データを提供するために復号化することと
を包含する、方法。
【請求項８】
前記外部符号系列を該外部符号系列の前記復号化の前にデインタリーブすること
をさらに包含する、請求項７に記載の方法。
【請求項９】
二進符号を前記内部符号系列の前記復号化において用いることと、
非二進符号を前記外部符号系列の前記復号化において用いることと
をさらに包含する、請求項７に記載の方法。
【請求項１０】
コンピュータ読み取り可能媒体であって、該コンピュータ読み取り可能媒体上に格納されているコンピュータ実行可能命令を有し、該コンピュータ実行可能命令は、マシンによって実行される場合には、方法を該マシンに実行させ、該方法は、
不揮発性メモリ（ＮＶＭ）デバイスが格納可能なノンパリティ情報ビット数を受信することと、
該ＮＶＭデバイスのノンパリティ用セル数を受信することと、
該ＮＶＭデバイスのパリティ用セル数を受信することと、
該ＮＶＭに対するセルあたりの実際のビット値を、該ノンパリティ情報ビット数、該ノンパリティ用セル数、および該パリティ用セル数の少なくとも一部分に基づいて決定することと
を包含する、
コンピュータ読み取り可能媒体。
【請求項１１】
前記命令は、前記マシンによって実行される場合には、さらに前記方法を該マシンに実行させ、該方法は、
セルあたりの実際のビット値を前記ＮＶＭに対する可能性のある複数のパラメータの組み合わせの各々に対して決定すること
を包含する、請求項１０に記載のコンピュータ読み取り可能媒体。
【請求項１２】
前記命令は、前記マシンによって実行される場合には、さらに前記方法を該マシンに実行させ、該方法は、
前記ＮＶＭデバイスに対する第一のパラメータの組み合わせを、前記可能性のある複数のパラメータの組み合わせに対する前記セルあたりの実際のビット値の少なくとも一部分に基づいて選択すること
を包含する、請求項１１に記載のコンピュータ読み取り可能媒体。
【請求項１３】
前記命令は、前記マシンによって実行される場合には、前記選択することを該マシンに、
誤り訂正符号スキームを選択することと、
セルあたりの公称のビット値を選択することと
によって実行させる、請求項１２に記載のコンピュータ読み取り可能媒体。
【請求項１４】
前記命令は、前記マシンによって実行される場合には、前記決定することを該マシンに、
前記ＮＶＭデバイスの前記ビット数を、ノンパリティ用セル数と、パリティ用セル数との合計によって除算すること
によって実行させる、請求項１１に記載のコンピュータ読み取り可能媒体。
【請求項１５】
前記命令は、前記マシンによって実行される場合には、さらに前記方法を該マシンに実行させ、該方法は、
前記ＮＶＭデバイスが格納可能な前記ノンパリティ情報ビット数を受信することと、
該ＮＶＭデバイスのセルあたりの公称のビット値を受信することと、
該ＮＶＭデバイスの前記ノンパリティ用セル数を、該ノンパリティ情報ビット数と該セルあたりの公称のビット値との少なくとも一部分に基づいて決定することと
を包含する、請求項１１に記載のコンピュータ読み取り可能媒体。
【請求項１６】
前記命令は、前記マシンによって実行される場合には、さらに前記方法を該マシンに実行させ、該方法は、
前記ＮＶＭデバイスのセルの分割数を受信することと、
データを該ＮＶＭデバイスの中にプログラミングし、かつデータを該ＮＶＭデバイスから読み出すことにおいて用いられる誤り訂正符号（ＥＣＣ）スキームを受信することと、
該ＮＶＭデバイスの前記パリティ用セル数を、該分割数と該ＥＣＣスキームとの少なくとも一部分に基づいて決定することと
を包含する、請求項１１に記載のコンピュータ読み取り可能媒体。
【請求項１７】
装置であって、
不揮発性メモリセルの行列と、
該不揮発性メモリセルの行列に結合されているプログラマと
を備え、
該プログラマは、入力データを受信し、かつ該入力データの少なくとも一部分に基づいて連接符号系列を生成するように構成され、
該連接符号系列は、第一の複数のパリティ情報ビットと、第二の複数のノンパリティ情報ビットとを含み、
該プログラマは、該第一の複数のパリティ情報ビットを第三の複数のパリティ用セルに書き込み、かつ該第二の複数のノンパリティ情報ビットを第四の複数のノンパリティ用セルに書き込むようにさらに構成されている、
装置。
【請求項１８】
前記プログラマは、
前記入力データを受信し、かつ該入力データの少なくとも一部分に基づいて外部符号系列を生成するように構成されている外部符号器と、
前記連接符号系列を該外部符号系列の少なくとも一部分に基づいて生成するように構成されている内部符号器と
を備えている、請求項１７に記載の装置。
【請求項１９】
前記外部符号器は、前記外部符号系列を生成するために非二進符号を用いるようにさらに構成され、
前記内部符号器は、前記内部符号系列を生成するために二進符号を用いるようにさらに構成されている、請求項１８に記載の装置。
【請求項２０】
外部符号系列を提供するために前記連接符号系列を復号化するように構成されている内部復号器と、
前記入力データを提供するために該外部符号系列を復号化するように構成されている外部復号器と
をさらに備えている、請求項１７に記載の装置。
【請求項２１】
前記装置は、集積回路である、請求項１７に記載の装置。
【請求項２２】
前記装置は、不揮発性メモリデバイスである、請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、メモリ分野に関し、特に、多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号に関している。
【背景技術】
【０００２】
フラッシュデバイスなどの不揮発性メモリ（ＮＶＭ）デバイスの開発に対する通常のワークフローにおいては、ＮＶＭデバイスのキーパラメータ（例えば、テクノロジーノード（ｎｏｄｅ）のサイズ、セルあたりのビット数など）を確定した後に、誤り訂正符号（ＥＣＣ）が設計されている。待ち持間およびロジックの面積に対するＥＣＣの影響の一部に関して概算が実行されるにすぎない。
【発明の概要】
【課題を解決するための手段】
【０００３】
（概要）
上記された不揮発性メモリ（ＮＶＭ）デバイスの開発に対する通常のワークフローは、パリティ情報ビット数がノンパリティ情報ビット数よりもかなり少ないときには、有効であり得る。しかしながら、テクノロジーノードの縮小するサイズと、各々のセルにおいて格納されるビット数の増大とによって、未処理（ｒａｗ）ビット誤り率（ＢＥＲ）は、ますます大きくなり、その結果として、パリティ情報ビット数が増大している。これらの状況において、セルあたりのビット数を増大させることに基づく記憶容量における利得と称されるものは、信頼性目標を達成するために所望されるパリティ情報ビット数の対応する増加によって相殺され得る。このことは、硬判定ＥＣＣソリューション（例えば、ハミング符号およびＢＣＨ符号）が用いられる場合には、特に問題である。従って、本明細書において論じられている実施形態は、ＮＶＭデバイスの記憶容量を増大させるために用いられ得る測定規準と、ＥＣＣスキームとを提供している。
【０００４】
例えば、本開示は、以下を提供している。
（項目１）
入力データを受信することと、
外部符号器によって、外部符号系列を該入力データの少なくとも一部分に基づいて生成することと、
内部符号器によって、内部符号系列を該外部符号系列の少なくとも一部分に基づいて生成することであって、該内部符号系列は、第一の複数のパリティ情報ビットと第二の複数のノンパリティ情報ビットとを含んでいる、ことと、
該第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第三の複数のパリティ用セルに書き込むことと、
該第二の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルに書き込むことと
を包含する、方法。
（項目２）
非二進符号を上記外部符号系列の上記生成において用いることと、
二進符号を上記内部符号系列の上記生成において用いることと
をさらに包含する、上記項目に記載の方法。
（項目３）
上記非二進符号は、リードソロモン符号であり、上記二進符号は、トレリス符号化変調符号である、上記項目のうちのいずれか一項目に記載の方法。
（項目４）
３つ以上の、セルあたりの公称のビット数を書き込むことと、
上記不揮発性メモリデバイスの全部のセル数のうちの１５パーセント以下をパリティ用セルとして用いることと
をさらに包含する、上記項目のうちのいずれか一項目に記載の方法。
（項目５）
上記不揮発性メモリデバイスは、ノンパリティ情報ビットの第一の数を格納可能であり、該第一の数を、該不揮発性メモリデバイスのパリティ用セルの第二の数と、該不揮発性メモリデバイスのノンパリティ用セルの第三の数との合計による除算は、２．２を超えている、上記項目のうちのいずれか一項目に記載の方法。
（項目６）
各々のセルは、８つ以上の分割を含んでいる、上記項目のうちのいずれか一項目に記載の方法。
（項目７）
第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第二の複数のパリティ用セルから読み出すことと、
第三の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルから読み出すことであって、該第一の複数のパリティ情報ビットと該第三の複数のノンパリティ情報ビットとは、内部符号系列に対応している、ことと、
内部復号器によって、該内部符号系列を、外部符号系列を提供するために復号化することと、
外部復号器によって、該外部符号系列を、入力データを提供するために復号化することと
を包含する、方法。
（項目８）
上記外部符号系列を該外部符号系列の上記復号化の前にデインタリーブすること
をさらに包含する、上記項目のうちのいずれか一項目に記載の方法。
（項目９）
二進符号を上記内部符号系列の上記復号化において用いることと、
非二進符号を上記外部符号系列の上記復号化において用いることと
をさらに包含する、上記項目のうちのいずれか一項目に記載の方法。
（項目１０）
コンピュータ読み取り可能媒体であって、該コンピュータ読み取り可能媒体上に格納されているコンピュータ実行可能命令を有し、該コンピュータ実行可能命令は、マシンによって実行される場合には、方法を該マシンに実行させ、該方法は、
不揮発性メモリ（ＮＶＭ）デバイスが格納可能なノンパリティ情報ビット数を受信することと、
該ＮＶＭデバイスのノンパリティ用セル数を受信することと、
該ＮＶＭデバイスのパリティ用セル数を受信することと、
該ＮＶＭに対するセルあたりの実際のビット値を、該ノンパリティ情報ビット数、該ノンパリティ用セル数、および該パリティ用セル数の少なくとも一部分に基づいて決定することと
を包含する、
コンピュータ読み取り可能媒体。
（項目１１）
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
セルあたりの実際のビット値を上記ＮＶＭに対する可能性のある複数のパラメータの組み合わせの各々に対して決定すること
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
（項目１２）
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
上記ＮＶＭデバイスに対する第一のパラメータの組み合わせを、上記可能性のある複数のパラメータの組み合わせに対する上記セルあたりの実際のビット値の少なくとも一部分に基づいて選択すること
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
（項目１３）
上記命令は、上記マシンによって実行される場合には、上記選択することを該マシンに、
誤り訂正符号スキームを選択することと、
セルあたりの公称のビット値を選択することと
によって実行させる、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
（項目１４）
上記命令は、上記マシンによって実行される場合には、上記決定することを該マシンに、
上記ＮＶＭデバイスの上記ビット数を、ノンパリティ用セル数と、パリティ用セル数との合計によって除算すること
によって実行させる、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
（項目１５）
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
上記ＮＶＭデバイスが格納可能な上記ノンパリティ情報ビット数を受信することと、
該ＮＶＭデバイスのセルあたりの公称のビット値を受信することと、
該ＮＶＭデバイスの上記ノンパリティ用セル数を、該ノンパリティ情報ビット数と該セルあたりの公称のビット値との少なくとも一部分に基づいて決定することと
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
（項目１６）
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
上記ＮＶＭデバイスのセルの分割数を受信することと、
データを該ＮＶＭデバイスの中にプログラミングし、かつデータを該ＮＶＭデバイスから読み出すことにおいて用いられる誤り訂正符号（ＥＣＣ）スキームを受信することと、
該ＮＶＭデバイスの上記パリティ用セル数を、該分割数と該ＥＣＣスキームとの少なくとも一部分に基づいて決定することと
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
（項目１７）
装置であって、
不揮発性メモリセルの行列と、
該不揮発性メモリセルの行列に結合されているプログラマと
を備え、
該プログラマは、入力データを受信し、かつ該入力データの少なくとも一部分に基づいて連接符号系列を生成するように構成され、
該連接符号系列は、第一の複数のパリティ情報ビットと、第二の複数のノンパリティ情報ビットとを含み、
該プログラマは、該第一の複数のパリティ情報ビットを第三の複数のパリティ用セルに書き込み、かつ該第二の複数のノンパリティ情報ビットを第四の複数のノンパリティ用セルに書き込むようにさらに構成されている、
装置。
（項目１８）
上記プログラマは、
上記入力データを受信し、かつ該入力データの少なくとも一部分に基づいて外部符号系列を生成するように構成されている外部符号器と、
上記連接符号系列を該外部符号系列の少なくとも一部分に基づいて生成するように構成されている内部符号器と
を備えている、上記項目のうちのいずれか一項目に記載の装置。
（項目１９）
上記外部符号器は、上記外部符号系列を生成するために非二進符号を用いるようにさらに構成され、
上記内部符号器は、上記内部符号系列を生成するために二進符号を用いるようにさらに構成されている、上記項目のうちのいずれか一項目に記載の装置。
（項目２０）
外部符号系列を提供するために上記連接符号系列を復号化するように構成されている内部復号器と、
上記入力データを提供するために該外部符号系列を復号化するように構成されている外部復号器と
をさらに備えている、上記項目のうちのいずれか一項目に記載の装置。
（項目２１）
上記装置は、集積回路である、上記項目のうちのいずれか一項目に記載の装置。
（項目２２）
上記装置は、不揮発性メモリデバイスである、上記項目のうちのいずれか一項目に記載の装置。
【０００５】
（摘要）
本開示の実施形態は、誤り訂正を有する多値レベルの符号化に関する方法、システムおよび装置を提供している。一部の実施形態において、データは、連接符号化／復号化スキームによって不揮発性メモリセルの行列にプログラミングされ、かつ／または該セル行列から読み出され得る。一部の実施形態において、計算モジュールは、不揮発性メモリデバイスのパラメータの所与の組み合わせにおけるセルあたりの実際のビット値を決定し得る。さらなる他の実施形態が記載され、かつ主張され得る。
【図面の簡単な説明】
【０００６】
実施形態は、添付の図面とともに以下の詳細な説明によって容易に理解される。以下の説明を容易にするために、同様な参照番号が同様な構造的要素を示している。実施形態は、添付の図面の図における限定としてではなく、例として例示されている。
【図１】図１は、一実施形態に従った、不揮発性メモリデバイスを例示している。
【図２】図２は、一実施形態に従った、計算システムを例示している。
【図３】図３は、一実施形態に従った、様々な計算動作を例示している多くのフローチャートである。
【図４】図４は、一実施形態に従った、パラメータの組み合わせの表を例示している。
【図５】図５は、一実施形態に従った、不揮発性メモリデバイスを例示している。
【図６】図６は、一実施形態に従った、符号化動作と復号化動作とを例示している２つのフローチャートである。
【図７】図７は、一実施形態に従った、信号対雑音比に対する誤り率のグラフ図である。
【図８】図８は、一実施形態に従った、ＮＶＭデバイスを組み込んでいるホストデバイスを例示している。
【発明を実施するための形態】
【０００７】
以下の詳細な説明において、本明細書の一部分を形成する添付の図面に対して参照がなされ、添付の図面では、同様な参照番号が全体を通じて同様な部分を示しており、本開示が実施され得る実施形態が例示として示されている。本開示の範囲を逸脱することなく他の実施形態が利用され得、かつ構造的な変更または論理的な変更がなされ得ることが理解されるはずである。従って、以下の詳細な説明は、限定的な意味において理解されるべきではなく、本開示に従った実施形態の範囲は、添付の特許請求の範囲と、その均等物とによって規定される。
【０００８】
様々な動作が、本開示の実施形態を理解することに役立ち得る態様において次々に複数の別個の動作として記載され得るが、説明の順序は、これらの動作が順序に依存することを暗示していると解釈されるべきではない。
【０００９】
本開示の目的に対して、語句「Ａおよび／またはＢ」は、「（Ａ）、（Ｂ）、または（ＡおよびＢ）」を意味している。本開示の目的に対して、語句「Ａ、Ｂ、および／またはＣ」は、「（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）、または（Ａ、ＢおよびＣ）」を意味している。
【００１０】
様々なモジュールおよび構成要素が、導入され、かつモジュールおよび構成要素によって提供される動作の観点から記載され得る。これらのモジュールおよび構成要素は、記載されている動作を提供するハードウェア、ソフトウェア、および／またはファームウェアの要素を含み得る。これらのモジュールおよび構成要素の一部が、特異性のレベル（例えば、別個の要素を配列の組において提供すること）によって示され得るが、他の実施形態が、要素／配列の様々な修正を利用することにより、特定の実施形態の制限内／目的内の関連する動作を提供し得る。
【００１１】
説明は、語句「一実施形態において」または「複数の実施形態において」を用い得、これらの語句の各々は、同一の実施形態または異なる実施形態の１つ以上を表し得る。さらに、用語「備えている」、「含んでいる」、「有している」などが、本開示の実施形態に関して用いられる場合には同意語である。
【００１２】
上記された不揮発性メモリ（ＮＶＭ）デバイスの開発に対する通常のワークフローは、パリティ情報ビット数がノンパリティ情報ビット数よりもかなり少ないときには、有効であり得る。しかしながら、テクノロジーノードの縮小するサイズと、各々のセルにおいて格納されるビット数の増大とによって、未処理（ｒａｗ）ビット誤り率（ＢＥＲ）は、ますます大きくなり、その結果として、パリティ情報ビット数が増大している。これらの状況において、セルあたりのビット数を増大させることに基づく記憶容量における利得と称されるものは、信頼性目標を達成するために所望されるパリティ情報ビット数の対応する増加によって相殺され得る。このことは、硬判定ＥＣＣソリューション（例えば、ハミング符号およびＢＣＨ符号）が用いられる場合には、特に問題である。従って、本明細書において論じられている実施形態は、ＮＶＭデバイスの記憶容量を増大させるために用いられ得る測定規準と、ＥＣＣスキームとを提供している。
【００１３】
図１は、一実施形態に従った、ＮＶＭデバイス１００を例示している。ＮＶＭデバイス１００は、プログラマ１０４を含み得、プログラマ１０４は、例えばホストデバイスから入力データを受信し、入力データを符号化し、符号化されたデータをプログラマ１０４が結合されているセル行列１０８の中に書き込む。セル行列１０８の各々は、フローティングゲート型金属酸化膜半導体（ＭＯＳ）トランジスタによって形成されている多値レベルメモリセルの行列であり得る。他の実施形態において、他のトランジスタまたはトランジスタ類似の技術が用いられ得る。一部の実施形態において、多値レベルメモリセル（または単に「セル」）は、相変化型メモリセルであり得る。
【００１４】
ＮＶＭデバイス１００はまた、セル行列１０８に結合されているリーダ１１２を含み得る。リーダ１１２は、セル行列１０８中に格納されている符号化データに１つ以上のセンスアンプを用いてアクセスすることにより、様々なセルの電圧レベルＶｔを読み出し、かつ該電圧レベルを１つ以上の閾値と比較することによって論理レベルまたは「セル状態」を決定し得る。該セルは、特定のＭＬＣのＶｔを複数の電圧閾値と比較する１つ以上のセンスアンプによって決定される３つ以上の論理レベルまたは「セル状態」を有し得る。従って、論理レベルは、Ｖｔの別々の範囲に対応し得る。
【００１５】
符号化データにアクセスした後、リーダ１１２は、データをプログラマ１０４の符号化動作に対して相補的な態様で復号化し得る。リーダ１１２は次いで、出力データを、例えばホストデバイスに提供し得る。
【００１６】
プログラマ１０４によって提供される符号化動作において、入力データを表している多くのノンパリティ情報ビットは、多くのパリティ情報ビットとともに生成され得、該パリティ情報ビットは、該ノンパリティ情報ビットのその後の取り出しに存在し得る誤りを訂正するために用いられ得る。ノンパリティ情報ビットは、ノンパリティ用セルに書き込まれ得、一方で、パリティ情報ビットは、パリティ用セルに書き込まれ得る。符号化プロセスにおいて用いられるＥＣＣスキームを含むＮＶＭデバイス１００の多くのパラメータが存在し、該ＥＣＣスキームは、ＮＶＭデバイス１００の目標誤り率を満たすために必要となる、セル行列のパリティ用セルの割合との関連を有している。従って、本開示の実施形態は、セル行列１０８の記憶容量を増大させる一方で、所望の動作特性を維持するためのパラメータを選択するシステム、方法および装置を提供している。
【００１７】
図２は、一部の実施形態に従った、ＮＶＭデバイス１００のパラメータを選択するために用いられ得る計算システム２００を例示している。計算システム２００は、４つの計算モジュール、すなわち、ノンパリティ計算モジュール２０４と、セルあたりの実際のビット（ＡＢＣ）計算モジュール２０８と、パリティ計算モジュール２１２と、セルあたりの公称のビット（ｂ／ｃ）計算モジュール２１６とを含み得、該４つの計算モジュールは、互いに少なくとも示されたように結合されている。
【００１８】
これらの計算モジュールの各々は、ＮＶＭデバイス１００の選択されるパラメータの組み合わせに関連しているそれぞれの入力を受信し得る。応答において、これらの計算モジュールの各々は、ＮＶＭデバイス１００のパラメータの所望の組み合わせを選択するための直接的ベースおよび／または間接的ベースとして用いられ得るそれぞれの出力を提供し得る。これらの計算モジュールによって提供される計算は、様々なパラメータの機能的な相互依存を考慮され得る。下記されるように、測定規準ＡＢＣは、パラメータの様々な組み合わせの演算比較を容易にし得る。
【００１９】
図３は、一部の実施形態に従った、図２の様々なモジュールの計算動作を記載するフローチャートを含んでいる。図４は、一部の実施形態に従った、パラメータの７つの異なる組み合わせと、各々の組み合わせに対する計算値とを提供する表４００を例示している。
【００２０】
最初に組み合わせＡを参照すると、ｂ／ｃ計算モジュール２１６は、入力として、セル量子（ｃｅｌｌ  ｑｕａｎｔｕｍ）が１、および分割数が４を受信し得る。セル量子は、ビット情報を引き出すために一緒に読み出されるセル数を表し、分割数は、各々のセルの論理レベル数を表している。これらの入力が与えられると、ｂ／ｃ計算モジュール２１６は、ｂ／ｃ値が２であることを決定し得る。すなわち、各々のセルは、平均２ビットを表し得る。
【００２１】
さらに図３ａを参照すると、ノンパリティ計算モジュール２０４は、ブロック３０４においてＮＶＭデバイス１００のデバイスサイズを受信し得る。デバイスサイズは、ＮＶＭデバイス１００が格納可能なノンパリティ情報ビット数として与えられ得る。表４００の組み合わせにおいて、デバイスサイズは、３２，６７８メガビット（Ｍｂｉｔ）として与えられる。ブロック３０８において、ノンパリティ計算モジュール２０４は、ｂ／ｃをｂ／ｃ計算モジュール２１６から受信し得る。これらの入力が与えられると、ノンパリティ計算モジュール２０４は、ブロック３１２においてノンパリティ用セル数を決定し得る。組み合わせＡの場合には、ノンパリティ用セル数は、１６，３８４ｘ１０６であり得る。
【００２２】
ここで図３ｃを参照すると、パリティ計算モジュール２１２は、ＮＶＭデバイス１００のデバイスサイズをブロック３１６において受信し、ＮＶＭデバイス１００のセルの分割数をブロック３２０において受信し、データをＮＶＭデバイス１００にプログラミングし、かつＮＶＭデバイス１００から読み出すことに用いられるＥＣＣスキームをブロック３２４において受信し、ｂ／ｃをｂ／ｃ計算モジュール２１６からブロック３２８において受信し得る。パリティ計算モジュール２１２は、これらの入力をベースとして用いることにより、パリティ用セル数をブロック３３２において決定し得る。
【００２３】
一部の実施形態において、パリティ計算モジュール２１２は、提供された分割数と関連づけられるＢＥＲと、ＮＶＭデバイス１００に対する目標デバイス誤り率（ＤＥＲ）とに基づいて決定されるＥＣＣ値を決定し得る。組み合わせＡのパラメータを参照し、かつすべての分割が同じ幅、例えば、１．３ボルト（Ｖ）を有すると仮定すると、５．５Ｖの読み出しウィンドウが、セルの４つの分割を収容するために用いられ得る。このことは、約１０−５のＢＥＲを結果としてもたらし得る。このＢＥＲが与えられると、１０百万分率（ｐｐｍ）のＤＥＲを達成するために、パリティ計算モジュール２１２は、６ビットのＥＣＣ値が用いられ得ることを決定し得る。ＥＣＣ値は、ＥＣＣブロック（例えば、５１２個のノンパリティ情報バイトであり得る）あたりの訂正可能なビット数を表し得る。
【００２４】
ＥＣＣスキームとしてＢＣＨ符号を用いる組み合わせＡでは、パリティ計算モジュール２１２は、５１２個のノンパリティ情報バイトのＥＣＣブロックあたり７８個のパリティ情報ビットであることを決定し得る。このことは、所与の実施形態に対して、約２％のパリティオーバヘッドを提供し、約３２８ｘ１０６個のパリティ用セルを結果としてもたらし得る。
【００２５】
特定の値が、本開示における特定のモジュールによって決定されるとして記載され得るが、他の実施形態においては、所与のモジュールが、他のモジュールからの入力として値を受信し得、逆もまた同様であり得る。
【００２６】
ここで図３ｂを参照すると、ＡＢＣ計算モジュール２０８は、ＮＶＭデバイス１００のサイズをブロック３３６においてを受信し、ノンパリティ用セル数をノンパリティ計算モジュール２０４からブロック３４０において受信し、パリティ用セル数をパリティ計算モジュール２１２からブロック３４４において受信し得る。ＡＢＣ計算モジュール２０８は次いで、これらの入力を、ブロック３４８において次の式によりＡＢＣを決定するためのベースとして用い得る。
【００２７】
ＡＢＣ＝（デバイスのビット）／（ノンパリティ用セル＋パリティ用セル）    式１。
【００２８】
従って、式１の分母は、ノンパリティ情報ビットと、目標ＤＥＲを満たすように生成されるパリティ情報ビットとの両方を格納するために必要なセルの真の個数を表している。分子は、ＮＶＭデバイス１００のサイズ（例えば、ＮＶＭデバイス１００が格納可能なノンパリティ情報ビット数）を表している。組み合わせＡにおいては、決定されたＡＢＣは、約１．９６であり得る。
【００２９】
組み合わせＢ〜Ｇに対するＡＢＣ値が、同様な態様で決定され得る。異なる組み合わせの間において調整され得る主要な変数は、ｂ／ｃ（セル量子および分割数を含む）と、ＥＣＣスキームとである。これらの主要な変数に対して異なる値を提供し、結果としてもたらされるＡＢＣを比較することが、所与の実施形態の設計目標を実現する所望のＮＶＭ設計を決定することを容易にし得る。
【００３０】
組み合わせＢにおいては、３ｂ／ｃを提供するために、分割数が８に増大し、セル量子が１のままである。このシナリオにおいては、ＢＥＲが０．０２になり、１６４ビットのＥＣＣ値が、同じ１０ｐｐｍのＤＥＲを達成するために必要であり得る。これは、４９％のパリティオーバヘッドに対応している、ＥＣＣブロックあたり２０２８個のパリティ情報ビットを結果としてもたらす。計算システム２００は次いで、このシナリオのＡＢＣが２．０１であることを決定し得、該ＡＢＣは、組み合わせＡのＡＢＣである１．９６よりもわずかに大きいだけである。従って、２ｂ／ｃから３ｂ／ｃに変更することによる利得と称されるものは、１０ｐｐｍの目標ＤＥＲを達成するために必要な余分のパリティ情報ビットによって、ほとんど完全に消去される。
【００３１】
組み合わせＤにおいては、２．６７ｂ／ｃを結果としてもたらす、分割数が７であり得、そしてセル量子が１であり得る。このシナリオにおいては、１００ビットのＥＣＣ値が、１０ｐｐｍの目標ＤＥＲを達成するために必要であり得る。これは、３１％のパリティオーバヘッドと、２．０３のＡＢＣとを結果としてもたらす。従って、組み合わせＤのセルあたりの公称のビットは、組み合わせＢ未満であるが、セルあたりの実際のビットは、組み合わせＢを超えている。
【００３２】
同様な効果が、組み合わせＦを考慮するときに見られ得る。この組み合わせにおいて、計算システム２００は、分割数が６、セル量子が１に起因する２．５ｂ／ｃを用いて、２．１５のＡＢＣが達成され得ることを決定し得る。
【００３３】
この態様において、パラメータの様々な組み合わせと関連づけられるパリティコストを考慮するＡＢＣの使用は、これらの組み合わせが比較され得る真のコスト測定規準を提供し得る。
【００３４】
一部の実施形態においては、以上で簡潔に記載したように、ＥＣＣスキームはまた、さらなる効率を提供するために調整され得る。例えば、組み合わせＡ、Ｂ、ＤおよびＦは、すべてＢＣＨ符号に頼っているが、追加の利得は、ＥＣＣスキームとして連接符号を用いることによって実現され得る。連接符号化は、短い構成要素符号から長く強力なＥＣＣを構築するために用いられ得る。組み合わせＣ、ＥおよびＧは、内部符号としてのトレリス符号化変調（ＴＣＭ）と、外部符号としてのリードソロモン（ＲＳ）とによる連接符号化スキームを用いる。他の実施形態においては、他の連接符号化スキームが用いられ得る。
【００３５】
図５は、ＥＣＣスキームが連接符号化スキームである実施形態に従った、ＮＶＭデバイス１００をさらに詳細に例示している。ＮＶＭデバイス１００、特に、プログラマ１０４は、２つの符号器を用いて連接符号を形成し得、該２つの符号器とは、非二進符号を用いる外部符号器５０４と、二進符号を用いる内部符号器５０８とである。プログラマ１０４はまた、インタリーバ（ｉｎｔｅｒｌｅａｖｅｒ）５１２を２つの符号器の間に含み得る。
【００３６】
プログラマ１０４の動作が、図６ａのフローチャートを参照して実施形態に従って簡潔に記載され得る。ブロック６０４において、プログラマ１０４は、入力データをデジタルソース５１６（例えば、ホストデバイス）から受信し得る。外部符号器５０４は、外部符号系列を入力データの少なくとも一部分に基づいてブロック６０８において生成し得る。ブロック６１２において、内部符号器５０８は、内部符号系列を外部符号器５０４によって生成された外部符号系列の少なくとも一部分に基づいて生成し得る。一部の実施形態では、図５におけるように、インタリーバ（例えば、インタリーバ５１２）は、外部符号系列をインタリーブし得、内部符号器５０８は、内部符号系列を、インタリーブされた外部符号系列の少なくとも一部分に基づいて生成し得る。
【００３７】
図５において「符号化データ」と呼ばれ得る内部符号系列は、パリティ情報ビットと、ノンパリティ情報ビットとの両方を含み得る。これらのパリティ情報ビットとノンパリティ情報ビットとは、次いで、ブロック６１６においてセル行列１０８のパリティ用セルと、ノンパリティ用セルとにそれぞれ書き込まれ得る。
【００３８】
リーダ１１２は、内部復号器５２０と、デインタリーバ（ｄｅ−ｉｎｔｅｒｌｅａｖｅｒ）５２４と、外部復号器５２８とを含むことにより、プログラマ１０４の構成要素に対する相補的な態様で動作し得る。リーダ１１２の動作が、図６ｂのフローチャートを参照して実施形態に従って簡潔に記載され得る。
【００３９】
ブロック６２４において、リーダ１１２は、内部符号系列（例えば、符号化データまたは連接符号系列）をセル行列１０８から受信し得る。このことは、パリティ情報ビットをパリティ用セルから読み出し、かつノンパリティ情報ビットをノンパリティ用セルから読み出すことによって行われ得る。ブロック６２８において、リーダ１１２の内部復号器５２０は、内部符号系列を復号化することにより、外部符号系列を提供し得る。外部符号系列は、外部復号器５２８に提供され得る。一部の実施形態においては、外部符号系列が、外部復号器５２８に提供される前にデインタリーバ５２４によってデインタリーブされ得る。外部復号器５２８は、ブロック６３２において外部符号系列を復号化することにより、入力データを提供し得る。入力データは次いで、デジタルシンク５３２（例えば、ホストデバイス）に送信され得る。
【００４０】
この実施形態において用いられている連接符号化は、低減された複雑性とともに高信頼性を達成し得る。内部符号器５０８から生成された内部符号系列は、軟判定復号化アルゴリズム（例えば、ビタビアルゴリズム）を用いて内部復号器５２０によって復号化される短いＴＣＭ系列であり得る。外部符号系列は、内部符号系列よりも長くあり得、代数的復号方法（例えば、ＲＳ符号）を用いて外部復号器５２８によって復号化され得る。
【００４１】
この組み合わせの有効性は、内部の軟符号（ｓｏｆｔ  ｃｏｄｅ）が符号化チャネル（例えば、セル行列１０８に格納される値のプログラミングおよび読み出し）をより低雑音にするということから生じる。本質的に、内部符号（例えば、ＴＣＭ符号）は、このことを、記号が送信されるレートを増大させることなく符号化利得が達成されるような様態で、通常のレートＲ＝ｋ／（ｋ＋１）の二進畳み込み符号を、Ｍ元の信号点配置（Ｍ＝２（ｋ＋１）＞２）と組み合わせることによって行っている。換言すると、追加のパリティ検査セルが不要である。そして、外部符号は、より良好なチャネル上で作動することによって、すべての残りの誤りを「高速に処理すること（ｃｒｕｎｃｈｉｎｇ）」において非常に有効になる。有効性が、図７を参照してさらに説明され得る。
【００４２】
図７は、一部の実施形態に従った、５１２バイトＥＣＣブロックの誤り確率を示しているグラフ７００である。特に、グラフ７００は、変化するＥＣＣ符号化スキームおよび値の信号に対する、信号対雑音比（ＳＮＲ）対ワード誤り率（ＷＥＲ）をグラフで示している。ＳＮＲは、セル行列１０８のセルの分割数および分割の幅に関連し得、一方、ＷＥＲは、ＢＥＲに直接比例し得る。
【００４３】
垂直の破線７０４は、第一のＳＮＲを表し、垂直の破線７０８は、第二のＳＮＲを表し、水平の破線７１２は、１０ｐｐｍの目標ＤＥＲを達成するために到達されるべきＥＣＣブロックの誤り率である。線７１６、７２０、７２４、７２８、７３２、７３６、および７４０は、ＥＣＣ値１６４ｂ、８０ｂ、６６ｂ、４０ｂ、２４ｂ、１２ｂ、および０ｂにそれぞれ対応している。
【００４４】
セルに対して８分割を有する実施形態に対応し得る、垂直の破線７０４のＳＮＲが与えられると、１６４ｂのＥＣＣ値（線７１６によって表される）が、目標ＤＥＲを達成するために用いられ得る。従って、組み合わせＢに関して上記されたように、一般的なＢＣＨ符号を用いる実施形態には、１６４ｂのＥＣＣ値が必要であり得る。
【００４５】
しかしながら、畳み込み符号を用いるときに、内部符号（例えば、ＴＣＭ符号）は、符号化チャネル上で約２ｄＢのＳＮＲ利得を提供し得る。従って、外部符号は、垂直の破線７０４とは対照的に、垂直の破線７０８に関連するＳＮＲによって符号化チャネルに効果的に作用する。このＳＮＲは、外部復号器５２８に対して、６６ｂの符号（線７２４によって表される）を用いる柔軟性を提供している。
【００４６】
線７４４および７４８は、符号化されていない信号と、畳み込み符号化された信号とに対してＢＥＲがＳＮＲでどのように変わるかをそれぞれ示している。線７４４は、実際のチャネル状態を表しており、線７４８は、畳み込み符号の適用後、ＢＣＨ符号によって見られるチャネル状態を表している。わかり得るように、畳み込み符号化信号は、ＳＮＲの範囲にわたってより低いＢＥＲと関連づけられる。
【００４７】
ここでまた図４の表４００を参照すると、ＥＣＣスキームとして畳み込み符号を用いる組み合わせ（例えば、組み合わせＣ、ＥおよびＧ）のすべてが、２．２を超えるＡＢＣ値と関連づけられるが、一方で、ＢＣＨ符号を用いるだけの組み合わせと関連づけられるＡＢＣ値は、すべて２．２未満である。
【００４８】
ここでまた図２を参照すると、一部の実施形態において、システム２００は、セレクタ２２０を含み、セレクタ２２０は、パラメータの組み合わせと、関連するＡＢＣ値とを受信し、所望のパラメータを該ＡＢＣ値に基づいて選択し得る。パラメータの組み合わせの主要な変数は、ＥＣＣスキームと、セルあたりの公称のビットとであり得ることがある。従って、これらのパラメータ、および／またはこれらのパラメータに影響を及ぼす潜在的なパラメータ（例えば、分割数およびセル量子）は、これらの実施形態から選ばれたパラメータであり得る。
【００４９】
図８は、一部の実施形態に従った、ＮＶＭデバイス１００をホスティングし得るホストデバイス８００を例示している。ホストデバイス８００は、１つ以上のプロセッサ８０４と、プロセッサ８０４のうちの少なくとも１つに結合されているシステム制御ロジック８０８と、システム制御ロジック８０８に結合されているシステムメモリ８１２と、システム制御ロジック８０８に結合されているＮＶＭデバイス１００と、システム制御ロジック８０８に結合されている１つ以上の通信インタフェース８２０とを含み得る。
【００５０】
一実施形態に対するシステム制御ロジック８０８は、任意の適切なインタフェースコントローラを含むことにより、任意の適切なインタフェースを結合されている構成要素に提供し得る。
【００５１】
システムメモリ８１２は、ホストデバイス８００のための、例えば、データ／命令をロードし、かつ／または格納するように用いられ得る。システムメモリ８１２は、限定ではないが、適切なダイナミックＲＡＭ（ＤＲＡＭ）などの任意の適切な揮発性メモリを含み得る。
【００５２】
ＮＶＭデバイス１００もまた、ホストデバイス８００のための、例えば、データ／命令をロードし、かつ／または格納するように用いられ得る。ＮＶＭデバイス１００は、限定ではないが、ＮＯＲ型フラッシュメモリ、ＮＡＮＤ型フラッシュメモリ、相変化型メモリなどのような任意の適切な不揮発性メモリを含み得る。
【００５３】
一部の実施形態において、ロジックは、命令８２４を含み、命令８２４は、プロセッサ８０４によって実行されるときに、ホストデバイス８００および／またはＮＶＭデバイス１００が、本明細書中に記載されているプログラミング、読み出し、および／または計算の動作のうちの少なくとも一部を実行することを結果としてもたらし得る。該命令は、ＮＶＭデバイス１００および／またはシステムメモリ８１２中に配置され得る。一部の実施形態において、命令８２４は、システム制御ロジック８０８中に追加的に／代替的に配置され得る。
【００５４】
一部の実施形態において、ホストデバイス８００は、ＮＶＭデバイス１００自体のプログラミング動作／読み出し動作ではない、計算システム２００のモジュールを実装するために用いられ得る。これらの実施形態において、ＮＶＭデバイス１００は、ホストデバイス８００に含まれないことがあり得る。
【００５５】
通信インタフェース８２０は、ホストデバイス８００が、１つ以上のネットワーク上で通信し、かつ／または任意の他の適切なデバイスと通信するインタフェースを提供し得る。通信インタフェース８２０は、任意の適切なハードウェアおよび／またはファームウェアを含み得る。一実施形態に対する通信インタフェース８２０は、例えば、ネットワークアダプタ、無線ネットワークアダプタ、電話モデムおよび／または無線モデムを含み得る。無線通信のために、一実施形態に対する通信インタフェース８２０は、１つ以上のアンテナを用い得る。
【００５６】
一実施形態に対して、プロセッサ８０４のうちの少なくとも１つが、システム制御ロジック８０８の１つ以上のコントローラ用のロジックとともにパッケージされ得る。一実施形態に対して、プロセッサ８０４のうちの少なくとも１つのプロセッサが、システム制御ロジック８０８の１つ以上のコントローラ用のロジックとともにパッケージされることにより、システムインパッケージ（ＳｉＰ）が形成され得る。一実施形態に対して、プロセッサ８０４のうちの少なくとも１つのプロセッサが、システム制御ロジック８０８の１つ以上のコントローラ用のロジックとともに同一ダイ上に集積され得る。一実施形態に対して、プロセッサ８０４のうちの少なくとも１つのプロセッサが、システム制御ロジック８０８の１つ以上のコントローラ用のロジックとともに同一ダイ上に集積されることにより、システムオンチップ（ＳｏＣ）が形成され得る。
【００５７】
様々な実施形態において、ホストデバイス８００は、デスクトップコンピュータまたはラップトップコンピュータ、サーバ、セットトップボックス、デジタルレコーダ、ゲーム機、携帯情報端末、携帯電話器、デジタルメディアプレーヤ、デジタルカメラなどであり得る。ホストデバイス８００は、より多くの構成要素またはより少ない構成要素を有し、かつ／または異なるアーキテクチャを有し得る。
【００５８】
特定の実施形態が、好適な実施形態の説明目的のために本明細書において例示され、かつ記載されてきたが、同じ目的を達成するように考慮された多種多様な代替のおよび／または均等な実施形態または実装が、本開示の範囲を逸脱することなく、示され記載された実施形態に置き換えられ得ることが当業者によって認識される。同様に、本開示のメモリデバイスは、他のアーキテクチャを有するホストデバイスにおいて利用され得る。本出願は、本明細書において論じられた実施形態のあらゆる適応または変化を含むことが意図されている。従って、本開示に従った実施形態が、特許請求の範囲と、その均等物とによってのみ限定されることが明白に意図されている。
【符号の説明】
【００５９】
１００  不揮発性メモリ（ＮＶＭ）デバイス
１０４  プログラマ
１０８  セル行列
１１２  リーダ
２００  計算システム
２０４  ノンパリティ計算モジュール
２０８  セルあたりの実際のビット（ＡＢＣ）計算モジュール
２１２  パリティ計算モジュール
２１６  セルあたりの公称のビット（ｂ／ｃ）計算モジュール
２２０  セレクタ
５０４  外部符号器
５０８  内部符号器
５１２  インタリーバ
５１６  デジタルソース
５２０  内部復号器
５２４  デインタリーバ
５２８  外部復号器
５３２  デジタルシンク
８００  ホストデバイス
８０４  プロセッサ
８０８  システム制御ロジック
８１２  システムメモリ
８２０  通信インタフェース
８２４  命令
【図１】
2010287305.tif 000003
【図２】
2010287305.tif 000004
【図３】
2010287305.tif 000005
【図４】
2010287305.tif 000006
【図５】
2010287305.tif 000007
【図６】
2010287305.tif 000008
【図８】
2010287305.tif 000009
【図７】
2010287305.tif 000010