JP5216593B2 - 多段階誤り訂正方法及び装置 - Google Patents
多段階誤り訂正方法及び装置 Download PDFInfo
- Publication number
- JP5216593B2 JP5216593B2 JP2008539611A JP2008539611A JP5216593B2 JP 5216593 B2 JP5216593 B2 JP 5216593B2 JP 2008539611 A JP2008539611 A JP 2008539611A JP 2008539611 A JP2008539611 A JP 2008539611A JP 5216593 B2 JP5216593 B2 JP 5216593B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- decoding
- data
- decoded
- bit
- 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.)
- Expired - Fee Related
Links
Images
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/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/2906—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 block codes
- H03M13/2927—Decoding strategies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M11/00—Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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/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/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- 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/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/2906—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 block 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
-
- 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/18—Phase-modulated carrier systems, i.e. using phase-shift keying
Description
非依存ビットを含むフラッシュ装置であって、各核セルに1ビットがあり、セル誤り率(CER)が4.7×10-5であるフラッシュ装置が提供される。フラッシュ装置は各セルに1ビットを有するため、ビット誤り率(BER)も4.7×10-5である。フラッシュ装置のフラッシュメモリは多くのブロックを含み、画定される各ブロックはいくつかのページを有する。各ページはヘッダ領域又は制御領域及びそれぞれ512データバイト長のいくつかのセクタを含む。14ビットを含む各ブロックのヘッダに信頼性のある記憶を提供するとともに、10-10未満のヘッダ誤り率(HER)性能(HER<10-10)を実現しながら、フラッシュ装置のフラッシュコントローラ内に誤り訂正符号化方式を設計する必要がある。
式中、GF(2)は2つの要素を有するガロア有限体の表記であり、“c”は符号語を含む行ベクトルとして定義され、“m”は7つの情報ビットを含む行ベクトルとして定義され、“G”は系統的符号化行列として定義される。
s=H・c T、[c]=1×15、[s]=8×1、[H]=8×15 (1.2)
式中、“c”は符号語を含む行ベクトルであり“s”は8ビットシンドロームを含む列ベクトルであり、“H”はパリティ検査行列であり、表記()Tは転置を意味し、したがって、c Tは列ベクトルである。
s=H(1)・c T、[c]=1×11、[s]=4×1、[H]=4×11 (1.3)
式中、“c”は読み取り語(read word:リードワード)を含む行ベクトルであり、“s”は4ビットシンドロームを含む列ベクトルであり、H(1)は、行列“H”の上記最初の4行及び上記最初の11列を含む“H”の部分行列である。ブロック符号[11,7,3]300の行列H(1)を図13に示す。
・ヘッダの7つの情報ビットの第1の集合を使用し、式(1.1)に関連して詳細に上述したプロセスを用いて、C1として定義される第1の[15,7]ブロック符号を符号化する。この15ビット符号語C1のビット12〜15をP1と示す。
・ヘッダの7つの情報ビットの第2の集合を使用し、式(1.1)に関連して詳細に上述したプロセスを用いて、C2として定義される第2の[15,7]ブロック符号を符号化する。この15ビット符号語C2のビット12〜15をP2と示す。
・それぞれビット単位で集合P1と集合P2との排他的論理和をとり、パリティ−2ビット又はビット“P”として定義される4ビットを得る。
・C1のビット1〜11及びC2のビット1〜11をフラッシュ装置に書き込む。C1のビット1〜11をC1 shortと示し、C2のビット1〜11をC2 shortと示す。
・4ビット“P”をフラッシュ装置に書き込む。
・2つの11ビット語を読み取る。その結果は、C1~short及びC2~shortと示される2つの語である。フラッシュにエラーがない場合、C1~short=C1 short且つC2~short=C2 shortである。エラーの場合、C1~short又はC2~shortは、フラッシュに元々書き込まれた符号語C1 short及びC2 shortに関してエラーを含む。エラーの場合、C1~short又はC2~shortがそれぞれ語(必ずしも符号語である必要はない)として示されることに留意する。
・式(1.3)、すなわち単一エラー訂正デコーダに関連して詳細に上述したプロセスに従って語C1~short及びC2~shortを復号化する。
両語の復号化に成功する場合(C1~shortが0個又は1個のエラーを有し、且つC2~shortが0個又は1個のエラーを有するため)、ヘッダが、11ビット復号化語C1 shortの最初の7ビット及び11ビット復号化語C2 shortの最初の7ビットとして首尾よく読み取られる。非系統的符号の場合、ヘッダを首尾よく読み取るには、さらなる情報(例えば、表又は他の変換)が必要とされる。
両語の復号化に失敗する場合(C1~shortが2個以上のエラーを有し、且つC2~shortが2個以上のエラーを有するため)、ヘッダは首尾よく読み取られない。
一方の語の復号化に失敗し、他方の語の復号化に成功する場合(一方の語が0個又は1個のエラーを有し、且つ他方の語が2個以上のエラーを有するため)、復号化プロセスはステップ3に進む。
・フラッシュ装置からビットP~を読み取る。これらのビットは、P~と“P”との間に相違がある可能性もあるため、PではなくP~と定義される。P~ビットも同様にフラッシュ装置から読み取られ、フラッシュ装置がエラーを導入するものと仮定される。
・C1~shortの復号化に失敗し、C2~shortの復号化に成功する場合、P1~が、以下のようにC2 short及びP~から再生成される。
式(1.1)に関連して詳細に上述したように、符号化プロセスを適用することによりC2 shortからC2の隠れP2ビットを再生成する。
ビットP~と再生成された隠れビットP2との排他的論理和をとり、P1~を生成する。
C1~内のビットC1~shortをビット位置1〜11に配置し、C1~内のビットP1~をビット位置12〜15に配置することにより、C1~short及びP1~からC1~を生成する。
・式(1.2)に関連して詳細に上述した復号化プロセスを適用することにより、全15ビットを2つの誤り訂正[15,7]ブロック符号として使用してC1~を復号化する。
・復号化が成功した場合、ヘッダが首尾よく読み取られる。復号化が成功しなかった場合、ヘッダの読み取りは失敗する。
・C2~shortの復号化に失敗し、C1~shortの復号化に成功する場合、以下のようにP2~をC1 short及びP~から再生成する。
式(1.1)に関連して詳細に上述したように、符号化プロセスを適用することによりC1 shortからC1の隠れP1ビットを再生成する。
ビットP~と再生成された隠れビットP1との排他的論理和をとり、P2~を生成する。
C2~内のビットC2~shortをビット位置1〜11に配置し、C2~内のビットP2~をビット位置12〜15に配置することにより、C2~short及びP2~からC2~を生成する。
・式(1.2)に関連して詳細に上述した復号化プロセスを適用することにより、全15ビットを2つの誤り訂正[15,7]ブロック符号として使用してC2~を復号化する。
・復号化が成功した場合、ヘッダが首尾よく読み取られる。復号化が成功しなかった場合、ヘッダの読み取りは失敗する。
以下の項に、サイズ及び回路複雑性の低減において実現される利得を評価するために、本発明の方法において実行される数学的解析を詳細に説明する。2個のエラーを訂正可能なデコーダの実施は、3個のエラーを訂正可能なデコーダの実施よりも簡易であるため、コントローラ複雑性に関連して実現される利得は明らかである。
である。(1.4)によれば、HERは10-10よりも高く、2個のエラーを訂正するには不十分であるため、参照方式は3つの誤り訂正BCH符号を使用せざるをえない。これより、本発明の方式を利用するHER性能の計算に目を向けると、[n=11,k=7,d=3,t=1]である本発明の部分符号誤り率(SCER)は、したがって、
HER2,1=(SCERn=11,t=1)2=1.47・10-14 (1.6)
実施例1において上に開示したものと同じフラッシュ装置、すなわち、各セルに1ビットがあり、セル誤り率(CER)が4.7×10-5であるフラッシュ装置が提供される。デコーダが実施されて、(各8ビットの)512バイトを含むセクタデータ領域の信頼性のある記憶を提供するように、デコーダを備えるフラッシュ装置を設計するように求められる。データ自体は各セクタのヘッダよりも重要性が低いため、データの目標性能、すなわちSER(セクタ誤り率)は5×10-8未満である。フラッシュ装置の設計は、単純なECC(誤り訂正符号)ハードウェア(すなわち、ヘッダにすでに設計されている15ビットブロック符号)に制限される。
個の符号語を使用して、長さ4096ビットのセクタを表すことにより、合計符号レートR=512×8/(586×15)=0.466が提供される。したがって、符号レートR=7/15=0.466を有する2つの誤り訂正[15,7,5]ブロック符号で十分である。
・セクタの4096ビットを使用して[15,7,5]ブロック符号の586個の符号語を符号化する。
・586個すべての符号語のビット12〜15の排他的論理和をとり、パリティ−2ビットと定義される4ビットを得る。
・フラッシュ装置に586個すべての符号語のビット1〜11を書き込む。
・4個のパリティ−2ビットをフラッシュ装置に書き込む。
・長さ11の586個の符号語をフラッシュ装置から読み取る。
・[11,7,3]ブロック符号デコーダに単一誤り訂正デコーダを使用して586語を復号化する。
・すべての符号語が復号化に成功する場合、セクタは首尾よく復号化される。
・2個以上の語が復号化に失敗する場合、セクタの復号化に不具合がある。
・単一の語が復号化に失敗し、その他の585語が復号化に成功した場合、以下のステップを実行する。
式(1.1)に関連して詳細に上述した符号化を適用することにより、復号化に成功した585個すべての語の隠れパリティビット12〜15を再生成する。
パリティ−2ビットをフラッシュ装置から読み取る。
パリティ−2ビットと復号化に成功した585個すべての符号語の隠れパリティビット12〜15との排他的論理和をとり、復号化に失敗した586番目の語のビット12〜15を推定する。
式(1.2)に関連して詳細に上述した二重誤り訂正[15,7,5]ブロック符号デコーダプロセスを使用して、ここでは15ビットすべてを使用して、失敗した語を再び復号化する。復号化に成功した場合、セクタは首尾よく読み取られる。復号化に成功しない場合、セクタの復号化に不具合があった。
・フラッシュ装置サイズの低減(セル数で26%の低減)又はより高い符号レート(0.466ではなく0.635)の提供。
・同じSER性能要件が保持される。
・同じハードウェア複雑性−[15,7,5]ブロック符号エンコーダ/デコーダを使用する
・ヘッダ及びデータの符号化手順並びに復号化手順に統一されたハードウェア
SER解析は、参照方式と本発明の方式との比較を提供し、これを図9に示す。これらの値を実現するために使用される式は以下の項において与える。
pをフラッシュ装置のCER性能を表すものとする(すなわち、本例ではp=4.7×10-5)。[n=15、k=7、t=2]ブロック符号デコーダのフレーム誤り率(FER)は、
SER2=SER2,1+SER2,2=3.3・10-8 (2.6)
という確率が提供される。
Ψ[Ψ(x)]=−|x| (2.10)
[1] Shannon, “A mathematical theory of communications” Bell System Telephone Journal, Vol.27, 1948, pt.I, pp.379-423; pt.II pp.623-656.
[2] M.G.Luby, M.Mitzenmacher, M.A.Shokrollahi and D.A.Spielman, “Improved low density parity-check codes using irregular graphs and belief propagation,” Proc. of the IEEE Int. Symp. on Inf. Theory(ISIT), p. 117,1998.
[3] R.G.Gallager, “Low-density parity-check codes,” IRE Trans. Info. Theory, vol.IT-8, pp.21-28, 1962.
[4] T.J.Richardson and R.Urbanke, “The capacity of low-density parity-check codes under message passing decoding,” IEEE Trans. Inform. Theory, vol.47, pp.599-618, 2001.
[5] C.Berron, A.Glavieux, and P.Thitimajshima, “Near Shannon limit error correcting coding and decoding: Turbo codes,” in IEEE Int. Conf. on Communications, 1993, pp.1064-1070.
[6] M.M.Mansour and N.R.Shanbhag, “High-Throughput LDPC de-coders,” IEEE Trans. on Very Large Scale Integration Systems, vol.11, pp.976-995, 2003.
[7] T.J.Richardson, A.Shokrollahi and R.Urbanke, “Design of capacity approaching low-density parity-check codes,” IEEE Trans. Inform. Theory, vol.47, pp.619{637, 2001.
[8] E.Sharon, S.Litsyn, J.Goldberger “An Efficient Message-Passing Schedule for LDPC Decoding,” in proc. 23rd IEEE Convention in Tel-Aviv, Israel, pp.223-226, September 6-7, 2004.
[9] R.M.Tanner, “A recursive approach to low complexity code” IEEE Trans, on Info. Theory, vol.27(5), pp.533-547, 1981.
[10] J.Zhang and M.Fossorier, “Scheduled belief propagation decoding,” The Proceedings 36th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, USA, vol.l, pp.8-15, 2002.
[11] Dale E.Hocevar, “Efficient encoder for low-density-parity-check-codes”, Texas instruments incorporated. US Patent application publication No. 2004/0148560, Jul. 29, 2004
[12] Mustafa Eroz, Feng-Wen Sun, Lin-Nan Lee, “Method and apparatus for providing reduced memory low density parity check codes”. The direct TV group, INC., US Patent Application Publication No. 2005/0091565 A1 Apr. 28, 2005
[13] Mustafa Eroz, Feng-Wen Sun, Lin-Nan Lee, “Method and system for providing long and short block length low density parity check codes”. The direct TV group, INC., US Patent Application Publication No. 2005/0091570 A1, Apr. 28, 2005
[14] Mustafa Eroz, Feng-Wen Sun, Lin-Nan Lee, “Encoding low density parity check codes through an LDPC decoder”. The direct TV group, INC., US Patent Application Publication No. 2005/0003756 A1, Jan. 6, 2005
[15] Richardson, et al. “Methods and apparatus for decoding LDPC codes”, US Patent No. 6,633,856, Flarion Technologies, Inc. (Bedminister, NJ), October 14, 2003.
[16] Error-correcting codes, second edition , W. Wesley Peterson, E.J.Weldon.
[17] Elwyn R.Berlekamp/Algebraic Coding Theory, Revised 1984 Edition.
[18] Error-Correcting Codes and Finite Fields/Oliver Pretzel
[19] R.E.Blahut, Theory and Practice of Error-Correcting codes, Addison-Wesley, 1983.
[20] W.G.Chambers, R.E.Peile, K.Y.Tsie, and N.Zein, An algorithm for solving the Welch-Berlekamp key-equation with a simplified proof, Electronic Letters, vol.29, 1993, pp.1620-1621.
[21] V.Guruswami and M. Sudan, Improved decoding of Reed-Solomon and Algebraic-Geometry codes, IEEE Trans. Inform. Theory, 6, 1999, pp.1757- 1767.
[22] D.Mandelbaum, Decoding of erasures and errors for certain RS codes by decreased redundancy, IEEE Trans. Inform. Theory, vol.28, 2, 1982, pp.330-336.
[23] J.L.Massey, Shift-register synthesis and BCH decoding, IEEE Trans. Inform. Theory, vol.15, 1969, pp.122-127.
[24] W.Peterson, and W.Weldon, Error Correcting Codes, 1974.
[25] L.Welch and E.R.Berlekamp, Error correction for algebraic block codes, US Patent No. 4,633,470, 1983.
Claims (26)
- 符号語の表現を復号化する方法であって、
(a)前記符号語の前記表現のビットの適切な部分集合であるビットをそれぞれが有する複数の部分語を生成するステップと、
(b)対応する復号化部分語を生成するために、前記各部分語をそれ自体のビットのみに従って復号化するステップと、
(c)前記部分語の1つの前記復号化が失敗した場合、復号化に成功した少なくとも1つの部分語の前記対応する復号化部分語に少なくとも部分的に従って、変更復号化部分語を生成することで、復号化に失敗した前記1つの部分語に対応する前記復号化部分語を変更するステップと、
を含む方法。 - (d)前記部分語の1つの前記復号化に失敗した場合、前記変更復号化部分語からのデータを、前記復号化に成功したすべての部分語の前記対応する復号化部分語からのデータと結合するステップをさらに含む、請求項1に記載の方法。
- 前記変更復号化部分語からのデータを前記復号化に成功したすべての部分語の前記対応する復号化部分語からのデータと結合することは、前記変更復号化部分語からのデータを前記復号化に成功したすべての部分語の前記対応する復号化部分語からのデータとまとめることを含むステップにより行われる、請求項2に記載の方法。
- 前記部分語は互いに素である、請求項1に記載の方法。
- 前記部分語は同一数のビットを含む、請求項1に記載の方法。
- Mビット語を復号化する装置であって、
(a)N<Mビット語を復号化するデコーダと、
(b)該デコーダを、前記Mビット語から選択される異なるNビットの各部分集合に別個に適用するメカニズムであって、前記デコーダの各適用は、前記各適用が適用される前記Nビットのみに依存し、前記各適用は対応する符号化データを生成し、前記Mビット語の最終復号化データは、前記適用の前記対応する復号化データに少なくとも部分的に従って生成され、前記適用の1つが失敗した場合、該メカニズムは、少なくとも1つの成功した適用の前記対応する復号化データに少なくとも部分的に従って、前記失敗した適用の前記対応する復号化データの変更を行う、メカニズムと
を備える装置。 - 前記部分集合は互いに素である、請求項6に記載の装置。
- Mビット語を復号化する装置であって、
(a)N<Mビット語をそれぞれ復号化する複数のデコーダと、
(b)該複数のデコーダをそれぞれ、前記Mビット語から選択される異なるNビットの各部分集合に別個に適用するメカニズムであって、前記複数のデコーダのそれぞれの各適用は、該各適用が適用される前記Nビットのみに依存し、前記各適用は対応する復号化データを生成し、前記Mビット語の最終復号化データは、前記適用の前記対応する復号化データに少なくとも部分的に従って生成され、前記デコーダの1つが失敗した場合、該メカニズムは、少なくとも1つの成功した前記デコーダの前記対応する復号化データに少なくとも部分的に従って、失敗した前記デコーダの前記対応する復号化データの変更を行う、メカニズムと
を備える装置。 - 前記部分集合は互いに素である、請求項8に記載の装置。
- Mデータビット及びPパリティビットを含む符号語の表現を復号化する方法であって、
(a)前記Pパリティビットを第1のパリティビット群及び第2のパリティビット群に分けるステップと、
(b)前記Mデータビットを前記第1のパリティビット群を使用して復号化するステップであって、それにより、訂正済みデータビットを提供する、復号化するステップと、
(c)前記第1のパリティビット群のみを使用する前記復号化に失敗した場合、前記Mデータビットを前記第1のパリティビット群及び前記第2のパリティビット群を使用して復号化するステップであって、それにより、前記訂正済みデータビットを提供する、復号化するステップと
を含む方法。 - Mデータビット及びPパリティビットを含む符号語の表現を復号化する方法であって、
(a)前記MデータビットのそれぞれのビットがK>1個の部分集合に少なくとも1回出現するように、前記Mデータビットを前記K個の部分集合に分けるステップと、
(b)前記Pパリティビットを第1のパリティビット群及び第2のパリティビット群に分けるステップと、
(c)前記第1のパリティビット群を、前記Mデータビットの各部分集合に対応する前記第1のパリティビット群のK個の部分集合に分けるステップと、
(d)前記Mデータビットの前記各部分集合の復号化データを生成するように、前記第1のパリティビット群の前記対応する部分集合に従って、前記Mデータビットの前記各部分集合を復号化するステップと、
(e)前記Mデータビットの前記K個の部分集合の1つの前記復号化に失敗した場合、前記1つの部分集合の前記復号化データを生成するように、前記第2のパリティビット群に少なくとも部分的に従って前記1つの部分集合を復号化するステップと、
(f)前記Mデータビットの完全復号化データを生成するように、前記Mデータビットの前記K個すべての7部分集合の前記復号化データを結合するステップと
を含む方法。 - 前記Mデータビットの前記K個すべての部分集合の前記復号化データを結合することは、前記Mデータビットの前記K個すべての部分集合の前記復号化データをまとめることにより行われる、請求項11に記載の方法。
- 前記Mデータビットの前記K個の部分集合は互いに素である、請求項11に記載の方法。
- 前記Mデータビットの前記K個の部分集合はすべて等サイズである、請求項11に記載の方法。
- 前記第1のパリティビット群の前記対応する部分集合に従って前記各部分集合の前記Mデータビットを復号化することは、対応する第1の復号化方式を使用することを含み、前記第2のパリティビット群に従って、復号化に失敗した前記1つの部分集合の前記データビットを復号化することは、対応する第2の復号化方式を使用することを含む、請求項11に記載の方法。
- 前記Mデータビットの前記K個の部分集合のうちの少なくとも1つについて、前記対応する第1の復号化方式及び前記対応する第2の復号化方式は、共通の復号化方法を適用する、請求項15に記載の方法。
- 前記第1の復号化方式はすべて同一である、請求項15に記載の方法。
- 前記第2の復号化方式はすべて同一である、請求項15に記載の方法。
- N>Mビットを有する符号語の表現からMデータビットを復号化する方法であって、
a)残留ビットの集合を生成するように、Nビットから最大でN−Mビットの選択部分集合を除去するステップと、
b)前記残留ビットを、K>1個の残留ビット部分集合のうちの少なくとも1つのメンバであるように分けるステップと、
c)前記各部分集合の復号化データを生成するように、前記各部分集合のビットのみに従って前記K個の各部分集合を復号化するステップと、
d)前記K個の部分集合の1つの復号化に失敗した場合、復号化に失敗した前記部分集合の前記復号化データを生成するように、前記除去された選択部分集合に少なくとも部分的に従って、復号化に失敗した前記部分集合を復号化するステップと、
e)前記Mデータビットの完全復号化データを生成するように、前記K個すべての部分集合の前記復号化データを結合するステップと
を含む方法。 - 前記K個すべての部分集合の前記復号化データを結合することは、前記K個すべての部分集合の前記復号化データをすべてまとめることにより行われる、請求項19に記載の方法。
- 前記K個の部分集合は互いに素である、請求項19に記載の方法。
- 前記K個の部分集合はすべて等サイズである、請求項19に記載の方法。
- 前記各部分集合の前記ビットに従って前記各部分集合の前記データビットを復号化することは、対応する第1の復号化方式を使用することを含み、前記除去された選択部分集合に従って、復号化に失敗した前記1つの部分集合の前記データビットを復号化することは、対応する第2の復号化方式を使用することを含む、請求項19に記載の方法。
- 前記K個の部分集合のうちの少なくとも1つについて、前記対応する第1の復号化方式及び前記対応する第2の復号化方式は、共通の復号化方法を適用する、請求項23に記載の方法。
- 前記第1の復号化方式はすべて同一である、請求項23に記載の方法。
- 前記第2の復号化方式はすべて同一である、請求項23に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73645805P | 2005-11-15 | 2005-11-15 | |
US11/514,182 US7844877B2 (en) | 2005-11-15 | 2006-09-01 | Method and device for multi phase error-correction |
PCT/IL2006/001305 WO2007057885A2 (en) | 2005-11-15 | 2006-11-13 | Method and device for multi phase error-correction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010509790A JP2010509790A (ja) | 2010-03-25 |
JP5216593B2 true JP5216593B2 (ja) | 2013-06-19 |
Family
ID=38049059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008539611A Expired - Fee Related JP5216593B2 (ja) | 2005-11-15 | 2006-11-13 | 多段階誤り訂正方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (3) | US7844877B2 (ja) |
EP (1) | EP1949580B1 (ja) |
JP (1) | JP5216593B2 (ja) |
KR (2) | KR101135425B1 (ja) |
CN (2) | CN101611549B (ja) |
AT (1) | ATE540480T1 (ja) |
WO (1) | WO2007057885A2 (ja) |
Families Citing this family (163)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209928A (ja) * | 2005-01-31 | 2006-08-10 | Sony Corp | 光ディスク製造方法及び装置、光ディスク、並びに、光ディスク再生方法及び装置 |
US7844877B2 (en) * | 2005-11-15 | 2010-11-30 | Ramot At Tel Aviv University Ltd. | Method and device for multi phase error-correction |
US8271850B2 (en) * | 2005-12-29 | 2012-09-18 | Intel Corporation | Fast low-density parity-check code encoder |
BRPI0709756A2 (pt) * | 2006-05-01 | 2011-07-26 | Adaptive Spectrum & Signal | mÉtodo e aparelho para a realizaÇço de testes de linha em instalaÇÕes do consumidor |
US7840875B2 (en) * | 2006-05-15 | 2010-11-23 | Sandisk Corporation | Convolutional coding methods for nonvolatile memory |
US8042029B2 (en) * | 2006-05-21 | 2011-10-18 | Ramot At Tel Aviv University Ltd. | Error correction decoding by trial and error |
JP4992900B2 (ja) * | 2006-08-02 | 2012-08-08 | 富士通株式会社 | 受信装置及びその復号方法 |
US7904783B2 (en) * | 2006-09-28 | 2011-03-08 | Sandisk Corporation | Soft-input soft-output decoder for nonvolatile memory |
US7805663B2 (en) * | 2006-09-28 | 2010-09-28 | Sandisk Corporation | Methods of adapting operation of nonvolatile memory |
US7818653B2 (en) | 2006-09-28 | 2010-10-19 | Sandisk Corporation | Methods of soft-input soft-output decoding for nonvolatile memory |
US7904788B2 (en) * | 2006-11-03 | 2011-03-08 | Sandisk Corporation | Methods of varying read threshold voltage in nonvolatile memory |
US7904780B2 (en) * | 2006-11-03 | 2011-03-08 | Sandisk Corporation | Methods of modulating error correction coding |
US8001441B2 (en) * | 2006-11-03 | 2011-08-16 | Sandisk Technologies Inc. | Nonvolatile memory with modulated error correction coding |
US8359522B2 (en) | 2007-05-01 | 2013-01-22 | Texas A&M University System | Low density parity check decoder for regular LDPC codes |
KR100873824B1 (ko) * | 2007-05-04 | 2008-12-15 | 삼성전자주식회사 | 오류 제어 코드 장치 및 그 방법 |
US8650352B2 (en) | 2007-09-20 | 2014-02-11 | Densbits Technologies Ltd. | Systems and methods for determining logical values of coupled flash memory cells |
US8365040B2 (en) | 2007-09-20 | 2013-01-29 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US8335977B2 (en) * | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
US8341335B2 (en) | 2007-12-05 | 2012-12-25 | Densbits Technologies Ltd. | Flash memory apparatus with a heating system for temporarily retired memory portions |
US8607128B2 (en) | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
WO2009074979A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
WO2009074978A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8327246B2 (en) | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
WO2009081708A1 (ja) * | 2007-12-20 | 2009-07-02 | Nec Corporation | 端末装置、端末装置の制御方法、及び記録媒体 |
US8301912B2 (en) | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US8161166B2 (en) * | 2008-01-15 | 2012-04-17 | Adobe Systems Incorporated | Information communication using numerical residuals |
EP2245784A4 (en) * | 2008-02-11 | 2012-05-09 | Zte Usa Inc | METHOD AND SYSTEM FOR THE JOINT CODING OF MULTIPLE INDEPENDENT INFORMATION NEWS |
US8832518B2 (en) | 2008-02-21 | 2014-09-09 | Ramot At Tel Aviv University Ltd. | Method and device for multi phase error-correction |
KR20090097673A (ko) * | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치 |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US20090282267A1 (en) * | 2008-05-09 | 2009-11-12 | Ori Stern | Partial scrambling to reduce correlation |
US8458563B2 (en) * | 2008-06-23 | 2013-06-04 | Ramot At Tel Aviv University Ltd. | Reading a flash memory by joint decoding and cell voltage distribution tracking |
US8464131B2 (en) * | 2008-06-23 | 2013-06-11 | Ramot At Tel Aviv University Ltd. | Reading a flash memory by constrained decoding |
EP2294510B1 (en) * | 2008-06-24 | 2011-12-28 | SanDisk IL Ltd. | Method and apparatus for error correction according to erase counts of a solid-state memory |
US8407553B2 (en) * | 2008-08-15 | 2013-03-26 | Lsi Corporation | RAM list-decoding of near codewords |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
US8161345B2 (en) | 2008-10-29 | 2012-04-17 | Agere Systems Inc. | LDPC decoders using fixed and adjustable permutators |
US9356623B2 (en) | 2008-11-26 | 2016-05-31 | Avago Technologies General Ip (Singapore) Pte. Ltd. | LDPC decoder variable node units having fewer adder stages |
US8413029B2 (en) * | 2009-01-16 | 2013-04-02 | Lsi Corporation | Error correction capability adjustment of LDPC codes for storage device testing |
EP2340507A4 (en) | 2009-03-05 | 2012-05-30 | Lsi Corp | IMPROVED TURBO COMPENSATION PROCESS FOR ITERATIVE DECODER |
JP2010212934A (ja) * | 2009-03-10 | 2010-09-24 | Toshiba Corp | 半導体装置 |
US8341509B2 (en) * | 2009-03-17 | 2012-12-25 | Broadcom Corporation | Forward error correction (FEC) scheme for communications |
US8572460B2 (en) * | 2009-03-17 | 2013-10-29 | Broadcom Corporation | Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
WO2010123493A1 (en) * | 2009-04-21 | 2010-10-28 | Agere Systems, Inc. | Error-floor mitigation of codes using write verification |
US8578256B2 (en) * | 2009-04-22 | 2013-11-05 | Agere Systems Llc | Low-latency decoder |
US8464123B2 (en) * | 2009-05-07 | 2013-06-11 | Ramot At Tel Aviv University Ltd. | Matrix structure for block encoding |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8914697B2 (en) * | 2009-08-26 | 2014-12-16 | Seagate Technology Llc | Data corruption detection |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8423861B2 (en) * | 2009-11-19 | 2013-04-16 | Lsi Corporation | Subwords coding using different interleaving schemes |
US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US8359515B2 (en) * | 2009-12-02 | 2013-01-22 | Lsi Corporation | Forward substitution for error-correction encoding and the like |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
WO2011092532A1 (en) | 2010-01-28 | 2011-08-04 | Sandisk Il Ltd. | Sliding-window error correction |
US8700970B2 (en) | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
CN102823141B (zh) * | 2010-03-30 | 2015-09-16 | 国际商业机器公司 | 用于固态存储器件的两级bch码 |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US8464142B2 (en) | 2010-04-23 | 2013-06-11 | Lsi Corporation | Error-correction decoder employing extrinsic message averaging |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8499226B2 (en) | 2010-06-29 | 2013-07-30 | Lsi Corporation | Multi-mode layered decoding |
US8458555B2 (en) | 2010-06-30 | 2013-06-04 | Lsi Corporation | Breaking trapping sets using targeted bit adjustment |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8504900B2 (en) | 2010-07-02 | 2013-08-06 | Lsi Corporation | On-line discovery and filtering of trapping sets |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US8621289B2 (en) | 2010-07-14 | 2013-12-31 | Lsi Corporation | Local and global interleaving/de-interleaving on values in an information word |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
DE102010035210B4 (de) * | 2010-08-24 | 2012-08-30 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten |
WO2012032371A1 (en) * | 2010-09-08 | 2012-03-15 | Agence Spatiale Europeenne | Flexible channel decoder. |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8539321B2 (en) | 2010-11-10 | 2013-09-17 | Infineon Technologies Ag | Apparatus and method for correcting at least one bit error within a coded bit sequence |
US9450613B2 (en) * | 2010-11-10 | 2016-09-20 | Infineon Technologies Ag | Apparatus and method for error correction and error detection |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US8775218B2 (en) * | 2011-05-18 | 2014-07-08 | Rga Reinsurance Company | Transforming data for rendering an insurability decision |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US9311969B2 (en) * | 2011-07-22 | 2016-04-12 | Sandisk Technologies Inc. | Systems and methods of storing data |
CN102323901A (zh) * | 2011-07-28 | 2012-01-18 | 张岭 | 一种提高固态存储系统纠错码使用效率的方法 |
US8645810B2 (en) | 2011-07-31 | 2014-02-04 | Sandisk Technologies Inc. | Fast detection of convergence or divergence in iterative decoding |
US9270297B2 (en) | 2011-07-31 | 2016-02-23 | SanDisk Technologies, Inc. | Error-correction decoding with reduced memory and power requirements |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
KR101798036B1 (ko) | 2011-08-09 | 2017-11-15 | 엘에스아이 코포레이션 | I/o 디바이스 및 컴퓨팅 호스팅 상호동작 |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US8862960B2 (en) * | 2011-10-10 | 2014-10-14 | Lsi Corporation | Systems and methods for parity shared data encoding |
US8768990B2 (en) | 2011-11-11 | 2014-07-01 | Lsi Corporation | Reconfigurable cyclic shifter arrangement |
GB2513749B (en) * | 2011-12-21 | 2014-12-31 | Ibm | Read/write operations in solid-state storage devices |
US8719677B2 (en) | 2011-12-22 | 2014-05-06 | Sandisk Technologies Inc. | Using ECC encoding to verify an ECC decode operation |
US8645789B2 (en) | 2011-12-22 | 2014-02-04 | Sandisk Technologies Inc. | Multi-phase ECC encoding using algebraic codes |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
GB2499424B (en) | 2012-02-16 | 2016-06-01 | Canon Kk | Methods for decoding, methods for retrieving, method for encoding, method of transmitting, corresponding devices, information storage means and computer |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8839073B2 (en) * | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
TW201346922A (zh) | 2012-05-14 | 2013-11-16 | Toshiba Kk | 記憶體控制器、記憶裝置及錯誤修正方法 |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
RU2012146685A (ru) | 2012-11-01 | 2014-05-10 | ЭлЭсАй Корпорейшн | База данных наборов-ловушек для декодера на основе разреженного контроля четности |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
KR101951663B1 (ko) * | 2012-12-14 | 2019-02-25 | 삼성전자주식회사 | Crc 부호와 극 부호에 의한 부호화 방법 및 장치 |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9148252B2 (en) * | 2013-01-11 | 2015-09-29 | Broadcom Corporation | Methods and systems for 2-dimensional forward error correction coding |
US9124300B2 (en) | 2013-02-28 | 2015-09-01 | Sandisk Technologies Inc. | Error correction coding in non-volatile memory |
US9407290B2 (en) | 2013-03-15 | 2016-08-02 | Sandisk Technologies Llc | Error-correction decoding with conditional limiting of check-node messages |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US20150074496A1 (en) * | 2013-09-10 | 2015-03-12 | Kabushiki Kaisha Toshiba | Memory controller, storage device, and memory control method |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
TWI536749B (zh) * | 2013-12-09 | 2016-06-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9641285B2 (en) | 2014-03-06 | 2017-05-02 | Samsung Electronics Co., Ltd. | Ultra low power (ULP) decoder and decoding processing |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US10089177B2 (en) | 2014-06-30 | 2018-10-02 | Sandisk Technologies Llc | Multi-stage decoder |
US9614547B2 (en) | 2014-06-30 | 2017-04-04 | Sandisk Technologies Llc | Multi-stage decoder |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
KR102254102B1 (ko) * | 2015-01-23 | 2021-05-20 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
KR102305095B1 (ko) | 2015-04-13 | 2021-09-24 | 삼성전자주식회사 | 비휘발성 메모리 컨트롤러의 동작 방법 |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US10033407B2 (en) | 2016-04-08 | 2018-07-24 | SK Hynix Inc. | Optimization of low density parity-check code encoder based on a search for an independent set of nodes |
DE102016107285B4 (de) * | 2016-04-20 | 2019-04-25 | Infineon Technologies Ag | Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung |
US10423500B2 (en) | 2016-06-01 | 2019-09-24 | Seagate Technology Llc | Technologies for limiting performance variation in a storage device |
US9942005B2 (en) * | 2016-08-30 | 2018-04-10 | International Business Machines Corporation | Sequence detector |
US10243591B2 (en) | 2016-08-30 | 2019-03-26 | International Business Machines Corporation | Sequence detectors |
US10025661B1 (en) | 2016-12-27 | 2018-07-17 | Sandisk Technologies Llc | Adaptive hard and soft bit decoding |
US10855314B2 (en) * | 2018-02-09 | 2020-12-01 | Micron Technology, Inc. | Generating and using invertible, shortened Bose-Chaudhuri-Hocquenghem codewords |
US11146363B2 (en) * | 2018-04-13 | 2021-10-12 | Huawei Technologies Co., Ltd. | Systems and methods for HARQ retransmission using an outer code |
US10606697B2 (en) * | 2018-06-21 | 2020-03-31 | Goke Us Research Laboratory | Method and apparatus for improved data recovery in data storage systems |
TWI742371B (zh) * | 2019-05-13 | 2021-10-11 | 義守大學 | 應用單項跡之錯誤更正方法 |
CN112152751B (zh) * | 2019-06-27 | 2023-09-29 | 义守大学 | 单项迹的计算方法及应用单项迹的错误纠正方法 |
US11405057B2 (en) | 2019-10-28 | 2022-08-02 | Huawei Technologies Co., Ltd. | System and method for hybrid-ARQ |
KR20220054096A (ko) | 2020-10-23 | 2022-05-02 | 삼성전자주식회사 | 패리티를 저장하는 메모리 장치 및 이를 포함하는 메모리 시스템 |
US11481271B2 (en) | 2021-03-16 | 2022-10-25 | Western Digital Technologies, Inc. | Storage system and method for using subcodes and convolutional-based LDPC interleaved coding schemes with read threshold calibration support |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3546582A (en) * | 1968-01-15 | 1970-12-08 | Ibm | Computer controlled test system for performing functional tests on monolithic devices |
US4633470A (en) | 1983-09-27 | 1986-12-30 | Cyclotomics, Inc. | Error correction for algebraic block codes |
US4736376A (en) * | 1985-10-25 | 1988-04-05 | Sequoia Systems, Inc. | Self-checking error correcting encoder/decoder |
ATE228705T1 (de) * | 1996-06-13 | 2002-12-15 | Koninkl Philips Electronics Nv | Verfahren und gerät zur spurweisen impulsfehlerkorrektur in einem mehrspurigen speicherformat |
US6088387A (en) * | 1997-12-31 | 2000-07-11 | At&T Corp. | Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder |
US6430722B1 (en) * | 1998-01-23 | 2002-08-06 | Hughes Electronics Corporation | Forward error correction scheme for data channels using universal turbo codes |
RU2190929C2 (ru) * | 1998-08-06 | 2002-10-10 | Самсунг Электроникс Ко., Лтд. | Канальное кодирование/декодирование в системе связи |
US7356752B2 (en) * | 2000-03-14 | 2008-04-08 | Comtech Telecommunications Corp. | Enhanced turbo product codes |
US6526531B1 (en) | 2000-03-22 | 2003-02-25 | Agere Systems Inc. | Threshold detection for early termination of iterative decoding |
US6721373B1 (en) * | 2000-03-29 | 2004-04-13 | Tioga Technologies Ltd. | Multi-tone receiver and a method for operating the same |
US6516035B1 (en) * | 2000-04-07 | 2003-02-04 | Actisys Corporation | Intelligent encoding method for wireless data communication and control |
US6865708B2 (en) | 2000-08-23 | 2005-03-08 | Wang Xiao-An | Hybrid early-termination methods and output selection procedure for iterative turbo decoders |
US7093179B2 (en) | 2001-03-22 | 2006-08-15 | University Of Florida | Method and coding means for error-correction utilizing concatenated parity and turbo codes |
US6633856B2 (en) | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US7662313B2 (en) * | 2002-09-05 | 2010-02-16 | Nanosys, Inc. | Oriented nanostructures and methods of preparing |
US7162684B2 (en) | 2003-01-27 | 2007-01-09 | Texas Instruments Incorporated | Efficient encoder for low-density-parity-check codes |
US7430396B2 (en) | 2003-07-03 | 2008-09-30 | The Directv Group, Inc. | Encoding low density parity check (LDPC) codes through an LDPC decoder |
US7318187B2 (en) | 2003-08-21 | 2008-01-08 | Qualcomm Incorporated | Outer coding methods for broadcast/multicast content and related apparatus |
US7376883B2 (en) | 2003-10-27 | 2008-05-20 | The Directv Group, Inc. | Method and system for providing long and short block length low density parity check (LDPC) codes |
US7234098B2 (en) | 2003-10-27 | 2007-06-19 | The Directv Group, Inc. | Method and apparatus for providing reduced memory low density parity check (LDPC) codes |
US7546510B2 (en) | 2003-12-30 | 2009-06-09 | Sandisk Il Ltd. | Compact high-speed single-bit error-correction circuit |
US20050193320A1 (en) | 2004-02-09 | 2005-09-01 | President And Fellows Of Harvard College | Methods and apparatus for improving performance of information coding schemes |
US7441175B2 (en) | 2004-03-12 | 2008-10-21 | Seagate Technology Llc | Turbo product code implementation and decoding termination method and apparatus |
KR100594818B1 (ko) | 2004-04-13 | 2006-07-03 | 한국전자통신연구원 | 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법 |
CN1798012A (zh) * | 2004-12-30 | 2006-07-05 | 松下电器产业株式会社 | 基于低密度奇偶校验码的校验式可信度的纠错方法 |
US7844877B2 (en) * | 2005-11-15 | 2010-11-30 | Ramot At Tel Aviv University Ltd. | Method and device for multi phase error-correction |
US8086940B2 (en) * | 2008-04-28 | 2011-12-27 | Newport Media, Inc. | Iterative decoding between turbo and RS decoders for improving bit error rate and packet error rate |
-
2006
- 2006-09-01 US US11/514,182 patent/US7844877B2/en not_active Expired - Fee Related
- 2006-11-13 WO PCT/IL2006/001305 patent/WO2007057885A2/en active Application Filing
- 2006-11-13 EP EP06809862A patent/EP1949580B1/en not_active Not-in-force
- 2006-11-13 KR KR1020087014455A patent/KR101135425B1/ko not_active IP Right Cessation
- 2006-11-13 JP JP2008539611A patent/JP5216593B2/ja not_active Expired - Fee Related
- 2006-11-13 AT AT06809862T patent/ATE540480T1/de active
- 2006-11-13 CN CN2006800425946A patent/CN101611549B/zh not_active Expired - Fee Related
- 2006-11-13 CN CN201210390594.2A patent/CN103023514B/zh not_active Expired - Fee Related
- 2006-11-13 KR KR1020107029291A patent/KR101275041B1/ko not_active IP Right Cessation
-
2009
- 2009-12-29 US US12/648,313 patent/US8086931B2/en not_active Expired - Fee Related
-
2011
- 2011-06-28 US US13/170,193 patent/US8375272B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2007057885A3 (en) | 2009-09-03 |
CN101611549A (zh) | 2009-12-23 |
CN101611549B (zh) | 2012-11-28 |
KR101135425B1 (ko) | 2012-04-23 |
US20070124652A1 (en) | 2007-05-31 |
US8086931B2 (en) | 2011-12-27 |
US7844877B2 (en) | 2010-11-30 |
KR101275041B1 (ko) | 2013-06-14 |
KR20080084970A (ko) | 2008-09-22 |
US20110276856A1 (en) | 2011-11-10 |
WO2007057885A2 (en) | 2007-05-24 |
KR20110014667A (ko) | 2011-02-11 |
US20100169737A1 (en) | 2010-07-01 |
CN103023514A (zh) | 2013-04-03 |
ATE540480T1 (de) | 2012-01-15 |
US8375272B2 (en) | 2013-02-12 |
CN103023514B (zh) | 2016-12-21 |
EP1949580A2 (en) | 2008-07-30 |
EP1949580B1 (en) | 2012-01-04 |
JP2010509790A (ja) | 2010-03-25 |
EP1949580A4 (en) | 2010-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5216593B2 (ja) | 多段階誤り訂正方法及び装置 | |
US8832518B2 (en) | Method and device for multi phase error-correction | |
KR101110586B1 (ko) | 연결된 반복 및 대수 코딩 | |
US8448050B2 (en) | Memory system and control method for the same | |
EP1524771B1 (en) | Decoding method, decoding device, program, recording/reproduction device and method, and reproduction device and method | |
US8880976B2 (en) | Method and apparatus for encoding LBA information into the parity of a LDPC system | |
JP2008527760A (ja) | レプリカ結合グループシャッフル反復デコーダ及びこの生成方法 | |
JP2013507807A (ja) | 非バイナリ符号を復号するための方法 | |
JP2008035524A (ja) | 反復確率伝搬を使用して記号ブロックを復号化する装置および方法 | |
US10090860B2 (en) | Memory system using integrated parallel interleaved concatenation | |
US10200066B2 (en) | Code reconstruction scheme for multiple code rate TPC decoder | |
Song et al. | On multiple-deletion multiple-substitution correcting codes | |
US7181677B1 (en) | System and method for producing data and ECC code words using a high rate restricted-symbol code | |
Tan et al. | A general and optimal framework to achieve the entire rate region for Slepian–Wolf coding | |
KR20140145977A (ko) | 패리티 검사 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법 | |
Shin et al. | New decoding scheme for LDPC codes based on simple product code structure | |
Hương et al. | MÃ REED-SOLOMON | |
Rajab et al. | Product codes and generalized concatenated codes for flash memories | |
Vallés et al. | Hamming codes are rate-efficient array codes | |
Jue et al. | Reed-Solomon Codes: Mechanism, Improvement and Application | |
Lee et al. | Boolean functions over nano-fabrics: Improving resilience through coding | |
Mitchell | Mathematical approach to channel codes with a diagonal matrix structure | |
Micheloni et al. | Error correction codes | |
Zhang et al. | 14 Error correction codes | |
Sharath et al. | Error Locked Encoder and Decoder for Nanomemory Application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111125 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120112 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120119 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120316 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120326 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120416 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120423 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120525 |
|
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: 20130208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130304 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |