JP5229591B2 - 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号 - Google Patents
多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号 Download PDFInfo
- Publication number
- JP5229591B2 JP5229591B2 JP2010114819A JP2010114819A JP5229591B2 JP 5229591 B2 JP5229591 B2 JP 5229591B2 JP 2010114819 A JP2010114819 A JP 2010114819A JP 2010114819 A JP2010114819 A JP 2010114819A JP 5229591 B2 JP5229591 B2 JP 5229591B2
- Authority
- JP
- Japan
- Prior art keywords
- volatile memory
- parity
- memory device
- cells
- code sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012937 correction Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000005192 partition Methods 0.000 claims description 6
- 230000032823 cell division Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004193 electrokinetic chromatography Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2933—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2933—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code
- H03M13/2936—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code comprising an outer Reed-Solomon code and an inner convolutional code
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
上記された不揮発性メモリ(NVM)デバイスの開発に対する通常のワークフローは、パリティ情報ビット数がノンパリティ情報ビット数よりもかなり少ないときには、有効であり得る。しかしながら、テクノロジーノードの縮小するサイズと、各々のセルにおいて格納されるビット数の増大とによって、未処理(raw)ビット誤り率(BER)は、ますます大きくなり、その結果として、パリティ情報ビット数が増大している。これらの状況において、セルあたりのビット数を増大させることに基づく記憶容量における利得と称されるものは、信頼性目標を達成するために所望されるパリティ情報ビット数の対応する増加によって相殺され得る。このことは、硬判定ECCソリューション(例えば、ハミング符号およびBCH符号)が用いられる場合には、特に問題である。従って、本明細書において論じられている実施形態は、NVMデバイスの記憶容量を増大させるために用いられ得る測定規準と、ECCスキームとを提供している。
(項目1)
入力データを受信することと、
外部符号器によって、外部符号系列を該入力データの少なくとも一部分に基づいて生成することと、
内部符号器によって、内部符号系列を該外部符号系列の少なくとも一部分に基づいて生成することであって、該内部符号系列は、第一の複数のパリティ情報ビットと第二の複数のノンパリティ情報ビットとを含んでいる、ことと、
該第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第三の複数のパリティ用セルに書き込むことと、
該第二の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルに書き込むことと
を包含する、方法。
(項目2)
非二進符号を上記外部符号系列の上記生成において用いることと、
二進符号を上記内部符号系列の上記生成において用いることと
をさらに包含する、上記項目に記載の方法。
(項目3)
上記非二進符号は、リードソロモン符号であり、上記二進符号は、トレリス符号化変調符号である、上記項目のうちのいずれか一項目に記載の方法。
(項目4)
3つ以上の、セルあたりの公称のビット数を書き込むことと、
上記不揮発性メモリデバイスの全部のセル数のうちの15パーセント以下をパリティ用セルとして用いることと
をさらに包含する、上記項目のうちのいずれか一項目に記載の方法。
(項目5)
上記不揮発性メモリデバイスは、ノンパリティ情報ビットの第一の数を格納可能であり、該第一の数を、該不揮発性メモリデバイスのパリティ用セルの第二の数と、該不揮発性メモリデバイスのノンパリティ用セルの第三の数との合計による除算は、2.2を超えている、上記項目のうちのいずれか一項目に記載の方法。
(項目6)
各々のセルは、8つ以上の分割を含んでいる、上記項目のうちのいずれか一項目に記載の方法。
(項目7)
第一の複数のパリティ情報ビットを不揮発性メモリデバイスの第二の複数のパリティ用セルから読み出すことと、
第三の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルから読み出すことであって、該第一の複数のパリティ情報ビットと該第三の複数のノンパリティ情報ビットとは、内部符号系列に対応している、ことと、
内部復号器によって、該内部符号系列を、外部符号系列を提供するために復号化することと、
外部復号器によって、該外部符号系列を、入力データを提供するために復号化することと
を包含する、方法。
(項目8)
上記外部符号系列を該外部符号系列の上記復号化の前にデインタリーブすること
をさらに包含する、上記項目のうちのいずれか一項目に記載の方法。
(項目9)
二進符号を上記内部符号系列の上記復号化において用いることと、
非二進符号を上記外部符号系列の上記復号化において用いることと
をさらに包含する、上記項目のうちのいずれか一項目に記載の方法。
(項目10)
コンピュータ読み取り可能媒体であって、該コンピュータ読み取り可能媒体上に格納されているコンピュータ実行可能命令を有し、該コンピュータ実行可能命令は、マシンによって実行される場合には、方法を該マシンに実行させ、該方法は、
不揮発性メモリ(NVM)デバイスが格納可能なノンパリティ情報ビット数を受信することと、
該NVMデバイスのノンパリティ用セル数を受信することと、
該NVMデバイスのパリティ用セル数を受信することと、
該NVMに対するセルあたりの実際のビット値を、該ノンパリティ情報ビット数、該ノンパリティ用セル数、および該パリティ用セル数の少なくとも一部分に基づいて決定することと
を包含する、
コンピュータ読み取り可能媒体。
(項目11)
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
セルあたりの実際のビット値を上記NVMに対する可能性のある複数のパラメータの組み合わせの各々に対して決定すること
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
(項目12)
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
上記NVMデバイスに対する第一のパラメータの組み合わせを、上記可能性のある複数のパラメータの組み合わせに対する上記セルあたりの実際のビット値の少なくとも一部分に基づいて選択すること
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
(項目13)
上記命令は、上記マシンによって実行される場合には、上記選択することを該マシンに、
誤り訂正符号スキームを選択することと、
セルあたりの公称のビット値を選択することと
によって実行させる、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
(項目14)
上記命令は、上記マシンによって実行される場合には、上記決定することを該マシンに、
上記NVMデバイスの上記ビット数を、ノンパリティ用セル数と、パリティ用セル数との合計によって除算すること
によって実行させる、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
(項目15)
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
上記NVMデバイスが格納可能な上記ノンパリティ情報ビット数を受信することと、
該NVMデバイスのセルあたりの公称のビット値を受信することと、
該NVMデバイスの上記ノンパリティ用セル数を、該ノンパリティ情報ビット数と該セルあたりの公称のビット値との少なくとも一部分に基づいて決定することと
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
(項目16)
上記命令は、上記マシンによって実行される場合には、さらに上記方法を該マシンに実行させ、該方法は、
上記NVMデバイスのセルの分割数を受信することと、
データを該NVMデバイスの中にプログラミングし、かつデータを該NVMデバイスから読み出すことにおいて用いられる誤り訂正符号(ECC)スキームを受信することと、
該NVMデバイスの上記パリティ用セル数を、該分割数と該ECCスキームとの少なくとも一部分に基づいて決定することと
を包含する、上記項目のうちのいずれか一項目に記載のコンピュータ読み取り可能媒体。
(項目17)
装置であって、
不揮発性メモリセルの行列と、
該不揮発性メモリセルの行列に結合されているプログラマと
を備え、
該プログラマは、入力データを受信し、かつ該入力データの少なくとも一部分に基づいて連接符号系列を生成するように構成され、
該連接符号系列は、第一の複数のパリティ情報ビットと、第二の複数のノンパリティ情報ビットとを含み、
該プログラマは、該第一の複数のパリティ情報ビットを第三の複数のパリティ用セルに書き込み、かつ該第二の複数のノンパリティ情報ビットを第四の複数のノンパリティ用セルに書き込むようにさらに構成されている、
装置。
(項目18)
上記プログラマは、
上記入力データを受信し、かつ該入力データの少なくとも一部分に基づいて外部符号系列を生成するように構成されている外部符号器と、
上記連接符号系列を該外部符号系列の少なくとも一部分に基づいて生成するように構成されている内部符号器と
を備えている、上記項目のうちのいずれか一項目に記載の装置。
(項目19)
上記外部符号器は、上記外部符号系列を生成するために非二進符号を用いるようにさらに構成され、
上記内部符号器は、上記内部符号系列を生成するために二進符号を用いるようにさらに構成されている、上記項目のうちのいずれか一項目に記載の装置。
(項目20)
外部符号系列を提供するために上記連接符号系列を復号化するように構成されている内部復号器と、
上記入力データを提供するために該外部符号系列を復号化するように構成されている外部復号器と
をさらに備えている、上記項目のうちのいずれか一項目に記載の装置。
(項目21)
上記装置は、集積回路である、上記項目のうちのいずれか一項目に記載の装置。
(項目22)
上記装置は、不揮発性メモリデバイスである、上記項目のうちのいずれか一項目に記載の装置。
本開示の実施形態は、誤り訂正を有する多値レベルの符号化に関する方法、システムおよび装置を提供している。一部の実施形態において、データは、連接符号化/復号化スキームによって不揮発性メモリセルの行列にプログラミングされ、かつ/または該セル行列から読み出され得る。一部の実施形態において、計算モジュールは、不揮発性メモリデバイスのパラメータの所与の組み合わせにおけるセルあたりの実際のビット値を決定し得る。さらなる他の実施形態が記載され、かつ主張され得る。
104 プログラマ
108 セル行列
112 リーダ
200 計算システム
204 ノンパリティ計算モジュール
208 セルあたりの実際のビット(ABC)計算モジュール
212 パリティ計算モジュール
216 セルあたりの公称のビット(b/c)計算モジュール
220 セレクタ
504 外部符号器
508 内部符号器
512 インタリーバ
516 デジタルソース
520 内部復号器
524 デインタリーバ
528 外部復号器
532 デジタルシンク
800 ホストデバイス
804 プロセッサ
808 システム制御ロジック
812 システムメモリ
820 通信インタフェース
824 命令
Claims (38)
- 不揮発性メモリデバイスのパラメータを選択することであって、前記パラメータは、ノンパリティ情報ビットの、前記不揮発性メモリデバイスが格納可能な第一の数、前記不揮発性メモリデバイスのパリティ用セルの第二の数、及び前記不揮発性メモリデバイスのノンパリティ用セルの第三の数の少なくとも一部に基づいて選択されることと、
入力データを受信することと、
前記選択されたパラメータの一部を用いて、外部符号器によって、外部符号系列を該入力データの少なくとも一部分に基づいて生成することと、
前記選択されたパラメータの一部を用いて、内部符号器によって、内部符号系列を該外部符号系列の少なくとも一部分に基づいて生成することであって、該内部符号系列は、第一の複数のパリティ情報ビットと第二の複数のノンパリティ情報ビットとを含んでいる、ことと、
該第一の複数のパリティ情報ビットを前記不揮発性メモリデバイスの第三の複数のパリティ用セルに書き込むことと、
該第二の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルに書き込むことと
を包含し、
前記選択されたパラメータは、セルあたりの公称のビット値、誤り訂正符号値、誤り訂正符号スキーム、セルの分割数、セル量子、及びセルあたりの実際のビット値のうち少なくとも1つのパラメータを含む、
方法。 - 非二進符号を前記外部符号系列の前記生成において用いることと、
二進符号を前記内部符号系列の前記生成において用いることと
をさらに包含する、請求項1に記載の方法。 - 前記非二進符号は、リードソロモン符号であり、前記二進符号は、トレリス符号化変調符号である、請求項2に記載の方法。
- 3つ以上の、セルあたりの公称のビット数を書き込むことと、
前記不揮発性メモリデバイスの全部のセル数のうちの15パーセント以下をパリティ用セルとして用いることと
をさらに包含する、請求項1に記載の方法。 - 前記第一の数を、前記第二の数と、前記第三の数との合計により除算した値は、2.2を超えている、請求項1に記載の方法。
- 各々のセルは、8つ以上の分割を含んでいる、請求項5に記載の方法。
- 前記方法はさらに、
前記第一の複数のパリティ情報ビットを前記第三の複数のパリティ用セルから読み出すことと、
前記第二の複数のノンパリティ情報ビットを前記第四の複数のノンパリティ用セルから読み出すことであって、該第一の複数のパリティ情報ビットと該第二の複数のノンパリティ情報ビットとは、アクセスされた内部符号系列に対応している、ことと、
前記内部復号器によって、該アクセスされた内部符号系列を、アクセスされた外部符号系列を提供するために復号化することと、
外部復号器によって、該アクセスされた外部符号系列を、前記入力データを提供するために復号化することと
を包含する、請求項1に記載の方法。 - 前記アクセスされた外部符号系列を該アクセスされた外部符号系列の前記復号化の前にデインタリーブすること
をさらに包含する、請求項7に記載の方法。 - 二進符号を前記アクセスされた内部符号系列の前記復号化において用いることと、
非二進符号を前記アクセスされた外部符号系列の前記復号化において用いることと
をさらに包含する、請求項7に記載の方法。 - 前記不揮発性メモリデバイスの前記パラメータを選択することは、
前記第一の数を受信することと、
前記第二の数を受信することと、
前記第三の数を受信することと、
前記不揮発性メモリデバイスに対する前記セルあたりの実際のビット値を、前記第一の数、前記第二の数、および前記第三の数の少なくとも一部分に基づいて決定することと
を包含する、請求項1に記載の方法。 - 前記方法は、さらに、
前記セルあたりの実際のビット値を前記不揮発性メモリデバイスに対する可能性のある複数のパラメータの組み合わせの各々に対して決定すること
を包含する、請求項10に記載の方法。 - 前記方法は、さらに、
前記不揮発性メモリデバイスに対する第一のパラメータの組み合わせを、前記可能性のある複数のパラメータの組み合わせに対する前記セルあたりの実際のビット値の少なくとも一部分に基づいて選択すること
を包含する、請求項11に記載の方法。 - 前記第一のパラメータの組み合わせを前記選択することは、
前記誤り訂正符号スキームを選択することと、
前記セルあたりの公称のビット値を選択することと
を含む、請求項12に記載の方法。 - 前記セルあたりの実際のビット値を前記決定することは、
前記第一の数を、前記第二の数と、前記第三の数との合計によって除算すること
によって実行させる、請求項11に記載の方法。 - 前記方法は、さらに、
前記第一の数を受信することと、
前記不揮発性メモリデバイスの前記セルあたりの公称のビット値を受信することと、
前記第三の数を、前記第一の数と該セルあたりの公称のビット値との少なくとも一部分に基づいて決定することと
を包含する、請求項11に記載の方法。 - 前記方法は、さらに、
前記不揮発性メモリデバイスの前記セルの分割数である第四の数を受信することと、
データを該不揮発性メモリデバイスの中にプログラミングし、かつデータを該不揮発性メモリデバイスから読み出すことにおいて用いられる前記誤り訂正符号スキームを受信することと、
前記第二の数を、前記第四の数と前記誤り訂正符号スキームとの少なくとも一部分に基づいて決定することと
を包含する、請求項11に記載の方法。 - 装置であって、
不揮発性メモリセルの行列と、
該不揮発性メモリセルの行列に結合されているプログラマと、
前記不揮発性メモリセルの前記行列のパラメータを選択する計算システムと、
を備え、
該プログラマは、入力データを受信し、かつ該入力データの少なくとも一部分に基づいて、前記パラメータの少なくとも一部を用いて、連接符号系列を生成するように構成され、
該連接符号系列は、第一の複数のパリティ情報ビットと、第二の複数のノンパリティ情報ビットとを含み、
該プログラマは、該第一の複数のパリティ情報ビットを第三の複数のパリティ用セルに書き込み、かつ該第二の複数のノンパリティ情報ビットを第四の複数のノンパリティ用セルに書き込むようにさらに構成されており、
前記計算システムは、ノンパリティ情報ビットの、前記不揮発性メモリセルの行列が格納可能な第一の数、前記不揮発性メモリセルの行列のパリティ用セルの第二の数、前記不揮発性メモリセルの行列のノンパリティ用セルの第三の数の少なくとも一部分に基づいて前記不揮発性メモリセルの前記行列のパラメータを選択し、
前記パラメータは、セルあたりの公称のビット値、誤り訂正符号値、誤り訂正符号スキーム、セルの分割数、セル量子、及びセルあたりの実際のビット値のうち少なくとも1つのパラメータを含む、
装置。 - 前記プログラマは、
前記入力データを受信し、かつ該入力データの少なくとも一部分に基づいて外部符号系列を生成するように構成されている外部符号器と、
前記連接符号系列を該外部符号系列の少なくとも一部分に基づいて生成するように構成されている内部符号器と
を備えている、請求項17に記載の装置。 - 前記外部符号器は、前記外部符号系列を生成するために非二進符号を用いるようにさらに構成され、
前記内部符号器は、前記内部符号系列を生成するために二進符号を用いるようにさらに構成されている、請求項18に記載の装置。 - 外部符号系列を提供するために前記連接符号系列を復号化するように構成されている内部復号器と、
前記入力データを提供するために該外部符号系列を復号化するように構成されている外部復号器と
をさらに備えている、請求項17に記載の装置。 - 前記装置は、集積回路である、請求項17に記載の装置。
- 前記装置は、不揮発性メモリデバイスである、請求項17に記載の装置。
- 前記第一の数を、前記第二の数と、前記第三の数との合計により除算した値は、2.2を超えている、請求項17に記載の装置。
- 前記計算システムは、
前記不揮発性メモリセルの行列に対する前記セルあたりの実際のビット値を、前記第一の数、前記第二の数、および前記第三の数の少なくとも一部分に基づいて決定する
請求項17に記載の装置。 - 前記計算システムは、
前記セルあたりの実際のビット値を前記不揮発性メモリセルの行列に対する可能性のある複数のパラメータの組み合わせの各々に対して決定する
請求項24に記載の装置。 - 前記計算システムは、
前記不揮発性メモリセルの行列に対する第一のパラメータの組み合わせを、前記可能性のある複数のパラメータの組み合わせに対する前記セルあたりの実際のビット値の少なくとも一部分に基づいて選択する
請求項25に記載の装置。 - 前記計算システムは、
前記第一のパラメータの組み合わせを、前記誤り訂正符号スキームを選択すること及び前記セルあたりの公称のビット値を選択することによって、選択する
請求項26に記載の装置。 - 前記計算システムは、
前記第一の数を前記第二の数と前記第三の数との合計によって除算することにより、前記セルあたりの実際のビット値を決定する
請求項25に記載の装置。 - 前記計算システムは、
前記第一の数、及び、前記不揮発性メモリセルの行列の前記セルあたりの公称のビット値を受信し、
前記第三の数を、前記第一の数と前記セルあたりの公称のビット値との少なくとも一部分に基づいて決定する
請求項25に記載の装置。 - 前記計算システムは、
前記不揮発性メモリセルの行列の前記セルの分割数である第四の数、及び、前記不揮発性メモリセルの行列に対する前記誤り訂正符号スキームを受信し、
前記第二の数を、前記第四の数と前記誤り訂正符号スキームとの少なくとも一部分に基づいて決定する
請求項25に記載の装置。 - 不揮発性メモリデバイスのパラメータを選択することであって、前記パラメータは、ノンパリティ情報ビットの、前記不揮発性メモリデバイスが格納可能な第一の数、前記不揮発性メモリデバイスのパリティ用セルの第二の数、及び前記不揮発性メモリデバイスのノンパリティ用セルの第三の数の少なくとも一部に基づいて選択されることと、
入力データを受信することと、
前記選択されたパラメータの一部を用いて、外部符号器によって、外部符号系列を該入力データの少なくとも一部分に基づいて生成することと、
前記選択されたパラメータの一部を用いて、内部符号器によって、内部符号系列を該外部符号系列の少なくとも一部分に基づいて生成することであって、該内部符号系列は、第一の複数のパリティ情報ビットと第二の複数のノンパリティ情報ビットとを含んでいる、ことと、
該第一の複数のパリティ情報ビットを前記不揮発性メモリデバイスの第三の複数のパリティ用セルに書き込むことと、
該第二の複数のノンパリティ情報ビットを該不揮発性メモリデバイスの第四の複数のノンパリティ用セルに書き込むことと
を含み、
前記パラメータは、セルあたりの公称のビット値、誤り訂正符号値、誤り訂正符号スキーム、セルの分割数、セル量子、及びセルあたりの実際のビット値のうち少なくとも1つのパラメータを含む、
処理をコンピュータに実行させることを特徴とするプログラム。 - 前記不揮発性メモリデバイスの前記パラメータを選択することは、
前記第一の数を受信することと、
前記第二の数を受信することと、
前記第三の数を受信することと、
前記不揮発性メモリデバイスに対する前記セルあたりの実際のビット値を、前記第一の数、前記第二の数、および前記第三の数の少なくとも一部分に基づいて決定することと
を包含することを特徴とする、請求項31に記載のプログラム。 - 前記プログラムは、さらに、
前記セルあたりの実際のビット値を前記不揮発性メモリデバイスに対する可能性のある複数のパラメータの組み合わせの各々に対して決定すること
を包含する処理をコンピュータに実行させることを特徴とする、請求項32に記載のプログラム。 - 前記プログラムは、さらに、
前記不揮発性メモリデバイスに対する第一のパラメータの組み合わせを、前記可能性のある複数のパラメータの組み合わせに対する前記セルあたりの実際のビット値の少なくとも一部分に基づいて選択すること
を包含する処理をコンピュータに実行させることを特徴とする、請求項33に記載のプログラム。 - 前記第一のパラメータの組み合わせを前記選択することは、
前記誤り訂正符号スキームを選択することと、
前記セルあたりの公称のビット値を選択することと
を含むことを特徴とする、請求項34に記載のプログラム。 - 前記セルあたりの実際のビット値を前記決定することは、
前記第一の数を、前記第二の数と、前記第三の数との合計によって除算すること
によって実行させることを特徴とする、請求項33に記載のプログラム。 - 前記プログラムは、さらに、
前記第一の数を受信することと、
前記不揮発性メモリデバイスの前記セルあたりの公称のビット値を受信することと、
前記第三の数を、前記第一の数と該セルあたりの公称のビット値との少なくとも一部分に基づいて決定することと
を包含する処理をコンピュータに実行させることを特徴とする、請求項33に記載のプログラム。 - 前記プログラムは、さらに、
前記不揮発性メモリデバイスの前記セルの分割数である第四の数を受信することと、
データを該不揮発性メモリデバイスの中にプログラミングし、かつデータを該不揮発性メモリデバイスから読み出すことにおいて用いられる前記誤り訂正符号スキームを受信することと、
前記第二の数を、前記第四の数と前記誤り訂正符号スキームとの少なくとも一部分に基づいて決定することと
を包含する処理をコンピュータに実行させることを特徴とする、請求項33に記載のプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/482,400 | 2009-06-10 | ||
US12/482,400 US8370702B2 (en) | 2009-06-10 | 2009-06-10 | Error correcting codes for increased storage capacity in multilevel memory devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010287305A JP2010287305A (ja) | 2010-12-24 |
JP5229591B2 true JP5229591B2 (ja) | 2013-07-03 |
Family
ID=43070023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010114819A Active JP5229591B2 (ja) | 2009-06-10 | 2010-05-18 | 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8370702B2 (ja) |
JP (1) | JP5229591B2 (ja) |
KR (1) | KR101188103B1 (ja) |
CN (1) | CN101923902B (ja) |
DE (1) | DE102010021516B4 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656263B2 (en) * | 2010-05-28 | 2014-02-18 | Stec, Inc. | Trellis-coded modulation in a multi-level cell flash memory device |
US11336303B2 (en) * | 2010-06-04 | 2022-05-17 | Micron Technology, Inc. | Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory |
US9195540B2 (en) * | 2010-10-06 | 2015-11-24 | HGST, Inc. | Multiple sector parallel access memory array with error correction |
EP2633409A4 (en) * | 2010-10-27 | 2014-07-23 | Lsi Corp | ADAPTIVE ECC TECHNIQUES FOR FLASH MEMORY AND BASED ON DATA STORAGE |
KR101355988B1 (ko) | 2012-07-05 | 2014-01-29 | 한국과학기술원 | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 |
KR102012310B1 (ko) | 2012-08-07 | 2019-10-21 | 삼성전자 주식회사 | 데이터 저장 장치의 동작 방법, 데이터 저장 장치 및 이를 이용한 시스템 |
JP5794240B2 (ja) | 2013-02-05 | 2015-10-14 | ソニー株式会社 | 誤り検出訂正装置、誤り検出訂正方法、情報処理装置、および、プログラム |
KR102204394B1 (ko) | 2013-10-14 | 2021-01-19 | 삼성전자주식회사 | 메모리 시스템에서의 코딩 방법 및 디코딩 방법 |
GB201320983D0 (en) | 2013-11-28 | 2014-01-15 | Ibm | Data encoding in solid-state storage apparatus |
US9396062B1 (en) * | 2014-04-04 | 2016-07-19 | Seagate Technology Llc | Group based codes for multi-dimensional recording (MDR) |
CN103913130B (zh) * | 2014-04-14 | 2017-01-04 | 哈尔滨理工大学 | 一种用于视觉三维测量组合编解码的容错方法 |
US10180877B2 (en) * | 2016-05-12 | 2019-01-15 | Taiwan Semiconductor Manufacturing Co., Ltd. | Selective error correction in a data storage device |
WO2021199409A1 (ja) * | 2020-04-02 | 2021-10-07 | 三菱電機株式会社 | 誤り訂正符号化装置、誤り訂正復号装置、制御回路、記憶媒体、誤り訂正符号化方法および誤り訂正復号方法 |
US11422888B2 (en) * | 2020-10-14 | 2022-08-23 | Western Digital Technologies, Inc. | Data integrity check for writing data in memory |
WO2022185089A1 (en) * | 2021-03-02 | 2022-09-09 | Micron Technology, Inc. | Methods and systems for managing memory with dynamic ecc protection |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654847A (en) * | 1984-12-28 | 1987-03-31 | International Business Machines | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array |
CA2124709C (en) | 1993-08-24 | 1998-06-09 | Lee-Fang Wei | Reduced speed equalizer |
CA2157958C (en) | 1994-10-11 | 2000-01-18 | Lee-Fang Wei | Trellis coded modulation employing lower dimensionality convolutional encoder |
JPH11143787A (ja) | 1997-11-06 | 1999-05-28 | Hitachi Ltd | 記録再生装置 |
JP2001167596A (ja) | 1999-12-09 | 2001-06-22 | Toshiba Corp | 不揮発性半導体記憶装置 |
US6219276B1 (en) | 2000-02-25 | 2001-04-17 | Advanced Micro Devices, Inc. | Multilevel cell programming |
US6799294B1 (en) | 2000-04-06 | 2004-09-28 | Lucent Technologies Inc. | Method and apparatus for generating channel error flags for error mitigation and/or concealment in source decoders |
US6675344B1 (en) * | 2000-05-01 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Multiple ECC schemes to improve bandwidth |
US6757860B2 (en) | 2000-08-25 | 2004-06-29 | Agere Systems Inc. | Channel error protection implementable across network layers in a communication system |
JP2002091831A (ja) * | 2000-09-12 | 2002-03-29 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
KR100520621B1 (ko) * | 2002-01-16 | 2005-10-10 | 삼성전자주식회사 | 가중화된 비이진 반복 누적 부호와 시공간 부호의 부호화방법 및 장치 |
KR100546348B1 (ko) * | 2003-07-23 | 2006-01-26 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그 데이터 저장 방법 |
US7334159B1 (en) * | 2003-09-29 | 2008-02-19 | Rockwell Automation Technologies, Inc. | Self-testing RAM system and method |
US7395482B2 (en) * | 2003-12-18 | 2008-07-01 | International Business Machines Corporation | Data storage systems |
US7210077B2 (en) * | 2004-01-29 | 2007-04-24 | Hewlett-Packard Development Company, L.P. | System and method for configuring a solid-state storage device with error correction coding |
KR100694407B1 (ko) * | 2005-04-21 | 2007-03-12 | 주식회사 하이닉스반도체 | 불량 셀 교정 회로를 포함하는 불휘발성 강유전체 메모리장치 |
JP2007133986A (ja) * | 2005-11-11 | 2007-05-31 | Nec Electronics Corp | 半導体記憶装置 |
US7447948B2 (en) * | 2005-11-21 | 2008-11-04 | Intel Corporation | ECC coding for high speed implementation |
US7844879B2 (en) | 2006-01-20 | 2010-11-30 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
CN101405810B (zh) * | 2006-01-20 | 2012-01-25 | 马维尔国际贸易有限公司 | 在闪存中用于纠错的方法和系统 |
EP1912121B1 (en) | 2006-09-13 | 2009-08-12 | STMicroelectronics S.r.l. | NAND flash memory device with ECC protected reserved area for non volatile storage of redundancy data |
KR100785925B1 (ko) * | 2006-12-06 | 2007-12-17 | 삼성전자주식회사 | Tcm을 이용한 멀티 레벨 셀 메모리 장치 |
US7539052B2 (en) * | 2006-12-28 | 2009-05-26 | Micron Technology, Inc. | Non-volatile multilevel memory cell programming |
WO2008086237A2 (en) * | 2007-01-05 | 2008-07-17 | California Institute Of Technology | Codes for limited magnitude asymmetric errors in flash memories |
US7646636B2 (en) * | 2007-02-16 | 2010-01-12 | Mosaid Technologies Incorporated | Non-volatile memory with dynamic multi-mode operation |
US20080256419A1 (en) | 2007-04-13 | 2008-10-16 | Microchip Technology Incorporated | Configurable Split Storage of Error Detecting and Correcting Codes |
US8161343B2 (en) * | 2007-07-17 | 2012-04-17 | Intel Corporation | Nibble encoding for improved reliability of non-volatile memory |
US20090055605A1 (en) * | 2007-08-20 | 2009-02-26 | Zining Wu | Method and system for object-oriented data storage |
JP2009070509A (ja) * | 2007-09-14 | 2009-04-02 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
JP2009176393A (ja) * | 2007-12-27 | 2009-08-06 | Toshiba Corp | 不揮発性半導体記憶装置及びその自動テスト方法 |
-
2009
- 2009-06-10 US US12/482,400 patent/US8370702B2/en active Active
-
2010
- 2010-05-18 JP JP2010114819A patent/JP5229591B2/ja active Active
- 2010-05-26 DE DE102010021516.3A patent/DE102010021516B4/de active Active
- 2010-06-08 CN CN2010101984781A patent/CN101923902B/zh active Active
- 2010-06-09 KR KR1020100054300A patent/KR101188103B1/ko active IP Right Grant
-
2012
- 2012-12-12 US US13/712,880 patent/US8745463B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8370702B2 (en) | 2013-02-05 |
KR20100132922A (ko) | 2010-12-20 |
CN101923902B (zh) | 2013-06-05 |
US8745463B2 (en) | 2014-06-03 |
US20130191697A1 (en) | 2013-07-25 |
US20100318877A1 (en) | 2010-12-16 |
DE102010021516A1 (de) | 2010-12-16 |
DE102010021516B4 (de) | 2014-03-20 |
KR101188103B1 (ko) | 2012-10-09 |
JP2010287305A (ja) | 2010-12-24 |
CN101923902A (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5229591B2 (ja) | 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号 | |
US10437668B2 (en) | Memory controller, memory system, and method for controlling memory system | |
JP5345201B2 (ja) | 符号化および/または復号化メモリ装置および方法 | |
US9294132B1 (en) | Dual-stage data decoding for non-volatile memories | |
KR101519626B1 (ko) | 반도체 메모리 장치 및 그것의 데이터 처리 방법 | |
JP4818381B2 (ja) | 半導体メモリ装置 | |
US9990247B2 (en) | Write mapping to mitigate hard errors via soft-decision decoding | |
US9007854B1 (en) | Method and system for optimized soft decoding in a data storage device | |
US20100251076A1 (en) | Storage controller having soft decoder included therein, related storage control method thereof and system using the same | |
US20120254686A1 (en) | Non-volatile semiconductor memory devices and error correction methods | |
JP2013080450A (ja) | メモリ装置 | |
US9654147B2 (en) | Concatenated error correction device | |
US10795761B2 (en) | Memory system and method of controlling non-volatile memory | |
JP2005078721A (ja) | 誤り訂正方法およびメモリ回路 | |
JP2019057812A (ja) | メモリシステム | |
US9639421B2 (en) | Operating method of flash memory system | |
US9292383B2 (en) | Multilevel encoding with error correction | |
CN117909285A (zh) | 一种兼容ecc校验的存算一体电路及其存算校验方法 | |
US10673465B2 (en) | Memory controller, memory system, and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111202 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20111202 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120229 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120724 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121203 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121203 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121228 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130306 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5229591 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |