JP2005078721A - 誤り訂正方法およびメモリ回路 - Google Patents
誤り訂正方法およびメモリ回路 Download PDFInfo
- Publication number
- JP2005078721A JP2005078721A JP2003308163A JP2003308163A JP2005078721A JP 2005078721 A JP2005078721 A JP 2005078721A JP 2003308163 A JP2003308163 A JP 2003308163A JP 2003308163 A JP2003308163 A JP 2003308163A JP 2005078721 A JP2005078721 A JP 2005078721A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- error correction
- code
- bits
- bit group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000012937 correction Methods 0.000 claims abstract description 77
- 238000012545 processing Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000002784 hot electron Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
【課題】 メモリに対して読み書きするデータの誤り訂正時の計算機負担を軽減する。
【解決手段】 メモリセルに対して4ビットのデータを読み書きする際の誤り訂正をビットグループ毎に行う。上位2ビットの各ビットグループについてはビタビ符号を用いて誤り訂正を行い、下位2ビットの各ビットグループについてはターボ符号又はLDPC符号を用いて誤り訂正を行う。
【選択図】 図1
【解決手段】 メモリセルに対して4ビットのデータを読み書きする際の誤り訂正をビットグループ毎に行う。上位2ビットの各ビットグループについてはビタビ符号を用いて誤り訂正を行い、下位2ビットの各ビットグループについてはターボ符号又はLDPC符号を用いて誤り訂正を行う。
【選択図】 図1
Description
本発明は、メモリセルに対して読み書きするデータの誤り訂正方法、並びに誤り訂正のための符号化手段および復号化手段を有するメモリ回路に関すものである。
メモリ回路のメモリセルとして使用されるフラッシュメモリは、コントロールゲートとフローティングゲートを有し電気的に一括消去可能な不揮発性記憶素子であり、フローティングゲートへの電荷注入にはトンネル電流やホットエレクトロンが用いられる。そして、「書き込み」ではフローティングゲートに電子を注入してしきい値電圧を高い値に設定し、「消去」ではフローティングゲートから電子を放出させてしきい値電圧を低い値に設定することが行われる。
図10はフラッシュメモリをメモリセルとしたNAND型のメモリ回路を示している。このNAND型においては、4000本程度のビット線BL1〜BL4000に接続されたメモリセルに対してデータが同時に読み書きされる。メモリセルブロック1は4000本のストリングからなり、各ストリングの選択トランジスタT1,T2のゲートには選択信号線SG1,SG2が接続され、各ストリングのメモリセルM1〜M4のゲート(コントロールゲート)にはワード線WL1〜WL4が接続されている。なお、「ストリング」とは選択トランジスタT1,T2、とメモリセルM1〜M4の直列接続回路を指す。
図11(a)は通常の2値のメモリセルに設定されたしきい値の電圧分布を示している。ワード線の電圧が0Vの時に、しきい値が“1”であればメモリセルに電流が流れ、“0”であれば電流が流れない。このように電流が流れるか流れないかによって、メモリセルの“1”と“0”のしきい値を判別している。したがって、この場合の1個のメモリセルは1ビットのデータを記憶している。図11(b)は1個のメモリセルに2ビットのデータを記憶した4値しきい値の電圧分布を示す。ここでは“11”、“10”、“01”、“00”の4つのしきい値(データ)に対応した電圧分布をもつ。図11(c)は1個のメモリセルに4ビットのデータを記憶した16値しきい値の電圧分布を示す。ここでは“1111”,“1110”,・・・・,“0001”,“0000”の16個のしきい値(データ)に対応した電圧分布をもつ。
図12は1個のメモリセルに4ビットのデータを記憶する場合において、4000本のビット線が存在する場合(図10)の通常のデータ配列を示したものである。ここでは、4ビットをX4,X3,X2,X1と表しており、X4は最上位ビット(MSB)、X1は最下位ビット(LSB)である。従来では4000本の各ビット線に対して4ビットの分解能のデータを送受信するとき、4000×4=16000ビットに対して、全て誤り確率が同等であるとして誤り訂正を行ってきた。
すなわち、最上位ビットであるX4は誤り確率が非常に小さく、最下位ビットであるX1は誤り確率が大きいにも拘わらず、その情報が全く考慮されておらず、各ビットX4,X3,X2,X1のデータが全て同等の誤り確率であるとして、1つの誤り訂正符号を使用して誤り訂正を行ってきた(特許文献1)。
特開2000−251484号公報
特開2000−251484号公報
上記特許文献1は1セル2ビット以上の多値メモリに関するフラッシュメモリについてのものであり、誤り訂正機能をもつ回路に関する記載があるが、多値の各ビットに関して区別を行って誤りを訂正する記載はない。
このように、従来では、多値のメモリ回路において、上位ビットと下位ビットの誤り確率の違いを考慮せずに誤り訂正を行うため、例えば、最上位ビットは強力な誤り訂正をする必要がないような場合でも、全てのビットを共通に扱ってしまうために、計算機資源の効率的な利用が損なわれるという問題があった。
本発明の目的は、ビット毎に異なる誤り確率を考慮して誤り訂正が行われるようにして、計算機資源の効率的な利用を可能ならしめることである。
請求項1にかかる発明は、メモリセルに対して読み書きするn(n≧2)ビットのデータの誤り訂正をビットグループ毎に行うメモリ回路における誤り訂正方法であって、前記各ビットのビット誤り確率に対応し且つ前記メモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する符号を使用して前記各ビットグループ毎に誤り訂正処理を行うことを特徴とする。
請求項2にかかる発明は、請求項1に記載の誤り訂正方法において、前記nビットの内の下位ビット側のビットグループに使用する符号は上位ビット側のビットグループに使用する符号よりも誤り訂正能力が高いことを特徴とする。
請求項3にかかる発明は、請求項2に記載の誤り訂正方法において、前記下位ビット側のビットグループの誤り訂正処理にターボ符号又はLDPC符号を使用し、前記上位ビット側のビットグループの誤り訂正処理にビタビ符号を使用することを特徴とする。
請求項4にかかる発明は、メモリセルに対して読み書きするn(n≧2)ビットのデータの誤り訂正をビットグループ毎に行うメモリ回路における誤り訂正方法であって、前記各ビットのビット誤り確率に対応し且つ前記メモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する冗長ビットの割合を前記各ビットグループに持たせて前記各ビットグループ毎に誤り訂正処理を行うことを特徴とする。
請求項5にかかる発明は、請求項4に記載の誤り訂正方法において、前記nビットの内の下位ビット側のビットグループの冗長ビットの割合は上位ビット側のビットグループの冗長ビットの割合よりも大きいことを特徴とする。
請求項6にかかる発明は、n(n≧2)ビットのメモリセルを有するメモリ手段と、前記メモリセルに対して読み書きするデータの誤り訂正をビットグループ毎に行う符号化手段および復号化手段とを有するメモリ回路において、前記ビットグループ毎の前記符号化手段および復号化手段に用いる符号は、当該ビットのビット誤り確率に対応し且つ前記メモリ手段が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する符号であることを特徴とする。
請求項7にかかる発明は、請求項6に記載のメモリ回路において、前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段に用いる符号は、上位ビット側のビットグループの符号化手段および復号化手段よりも誤り訂正能力が高い符号であることを特徴とする。
請求項8にかかる発明は、請求項7に記載のメモリ回路において、前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段にターボ符号又はLDPC符号を用い、上位ビット側の符号化手段および復号化手段にビタビ符号を用いることを特徴とする。
請求項9にかかる発明は、n(n≧2)ビットのメモリセルを有するメモリ手段と、前記メモリセルに対して読み書きするデータの誤り訂正をビットグループ毎に行う符号化手段および復号化手段とを有するメモリ回路において、前記ビットグループ毎の前記符号化手段および復号化手段で扱う冗長ビットは、当該ビットのビット誤り確率に対応し且つ前記メモリ手段が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する割合であることを特徴とする。
請求項10にかかる発明は、請求項9に記載のメモリ回路において、前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段で扱う冗長ビットの割合は、上位ビット側のビットグループの符号化手段および復号化手段に用いる冗長ビットの割合より大きいことを特徴とする。
請求項2にかかる発明は、請求項1に記載の誤り訂正方法において、前記nビットの内の下位ビット側のビットグループに使用する符号は上位ビット側のビットグループに使用する符号よりも誤り訂正能力が高いことを特徴とする。
請求項3にかかる発明は、請求項2に記載の誤り訂正方法において、前記下位ビット側のビットグループの誤り訂正処理にターボ符号又はLDPC符号を使用し、前記上位ビット側のビットグループの誤り訂正処理にビタビ符号を使用することを特徴とする。
請求項4にかかる発明は、メモリセルに対して読み書きするn(n≧2)ビットのデータの誤り訂正をビットグループ毎に行うメモリ回路における誤り訂正方法であって、前記各ビットのビット誤り確率に対応し且つ前記メモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する冗長ビットの割合を前記各ビットグループに持たせて前記各ビットグループ毎に誤り訂正処理を行うことを特徴とする。
請求項5にかかる発明は、請求項4に記載の誤り訂正方法において、前記nビットの内の下位ビット側のビットグループの冗長ビットの割合は上位ビット側のビットグループの冗長ビットの割合よりも大きいことを特徴とする。
請求項6にかかる発明は、n(n≧2)ビットのメモリセルを有するメモリ手段と、前記メモリセルに対して読み書きするデータの誤り訂正をビットグループ毎に行う符号化手段および復号化手段とを有するメモリ回路において、前記ビットグループ毎の前記符号化手段および復号化手段に用いる符号は、当該ビットのビット誤り確率に対応し且つ前記メモリ手段が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する符号であることを特徴とする。
請求項7にかかる発明は、請求項6に記載のメモリ回路において、前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段に用いる符号は、上位ビット側のビットグループの符号化手段および復号化手段よりも誤り訂正能力が高い符号であることを特徴とする。
請求項8にかかる発明は、請求項7に記載のメモリ回路において、前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段にターボ符号又はLDPC符号を用い、上位ビット側の符号化手段および復号化手段にビタビ符号を用いることを特徴とする。
請求項9にかかる発明は、n(n≧2)ビットのメモリセルを有するメモリ手段と、前記メモリセルに対して読み書きするデータの誤り訂正をビットグループ毎に行う符号化手段および復号化手段とを有するメモリ回路において、前記ビットグループ毎の前記符号化手段および復号化手段で扱う冗長ビットは、当該ビットのビット誤り確率に対応し且つ前記メモリ手段が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する割合であることを特徴とする。
請求項10にかかる発明は、請求項9に記載のメモリ回路において、前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段で扱う冗長ビットの割合は、上位ビット側のビットグループの符号化手段および復号化手段に用いる冗長ビットの割合より大きいことを特徴とする。
本発明によれば、ビットグループ毎に当該ビットのビット誤り確率に対応し且つメモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する符号を使用して誤り訂正処理を行い、あるいはビットのビット誤り確率に対応し且つ前記メモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する冗長ビットの割合を前記各ビットグループに持たせて前記各ビットグループ毎に誤り訂正処理を行うで、計算機資源を有効に利用することが可能となる。また、
本発明では、誤り確率が異なるビットに対して誤り訂正を行う場合に、誤り確率に依存した符号化を行う。すなわち、誤り確率の小さい上位ビットに対しては計算機負担の少ない符号(ビタビ符号等)を用い、誤り確率の大きい下位ビットに対しては計算機負担は大きいが訂正能力の高い符号(ターボ符号、LDPC符号等)を用い、それぞれ符号化を行う。このようにすることにより、全ビットに対して誤り訂正能力の高い符号を用いる従来の場合と同等の誤り訂正能力を発揮させると同時に、計算機能力を効率的に使用可能にする。以下、詳しく説明する。
図1は本発明の実施例1のメモリ回路の構成図である。メモリセルブロック1は4000本のストリングからなり、各ストリングの選択トランジスタT1,T2のゲートには選択信号線SG1,SG2が接続され、各ストリングの4値のメモリセルM1〜M4のゲートにはワード線WL1〜WL4が接続されている。また、1本のビット線につき、メモリセルM1,M2,M3,あるいはM4から4ビットのデータ(16値)を読み出す為に、4つのレジスタ2〜5を有している。なお、レジスタ2〜5とビット線との間には、メモリセルのしきい値電圧に対応するワード線の電圧値を4ビットデータに変換するためのエンコーダが接続されるが、図1では省略している。各レジスタ2〜5には、X4,X3,X2,X1のビットのデータが記憶される。そして、X4のビットについては、4000個の値が束ねて記憶され、X4に関する1つのビットグループ6が構成される。残りのX3,X2,X1のビットについてもそれぞれ同様のビットグループ7〜9が構成される。X1を例にとると、この4000個の値の内の例えば8割が元のデータ、2割が誤り訂正のための冗長データである。なお、この図1ではデータ読み出しの構成についてのみ示したが、書き込みも同様な構成となる。
図2(a)は、模式的に各ビットに関するビットグループ化を示したものである。本実施例では、上位のX4,X3のビットのビットグループ6,7についてはビタビ符号(Viterbi)を用い、下位のX2,X1のビットのビットグループ8,9に関してはターボ(Turbo)符号又はLDCP(Low Density Parity Check:低密度パリティ検査)符号を用いて符号化を行って、そのX4,X3,X2,X1のビットの各ビットグループ6〜9毎に冗長データを付加してメモリ回路に書き込み、さらにそこから読み出したデータに対してX4,X3,X2,X1のビットのビットグループ毎に復号化を行う。
図2(b)は、別の誤り訂正の例である。上位のX4,X3のビットのビットグループ6,7についてはビタビ符号を用い、X2のビットのビットグループ8に関してはインタリーバ256×256のターボ符号、X1のビットのビットグループ9に関してはより強力なインタリーバ1024×1024のターボ符号を用いている。インタリーバはターボ符号を使用するときに必ず用いられるもので、メモリ回路によりデータ書き込み順と読み出し順を異ならせてデータを並び替えることである。このインタリーバのサイズが大くなると、バーストエラー等に対する誤り訂正能力が大きくなる。
図3にターボ符号化の際の基本となる再帰的符号器11の例を示す。12,13は1ビットレジスタ、14,15はEXOR回路である。図3では、1ビットの入力データxkに対して同じデータxk=ykoと冗長ビットのデータyk1が生じて2ビットが出力する。図4に図3の再帰的符号器11を用いたターボ符号器16を示す。11A,11Bは図3の再帰的符号器、17はインタリーバである(文献:八嶋弘幸著、「畳み込み符号とViterbi符号」、トリケップス社、131頁、2000年)。この図4では、1ビットの入力データxkに対して同じデータxk=ykoと冗長ビットのデータyk1,yk2が生じて合計3ビットが出力する。
図5にターボ復号器18を示す。19,20は第1,第2復号器、21はインタリーバ、22はデインタリーバ、23はスイッチである。このターボ復号器18では、スイッチ23の切り替えにより繰り返し反復を行って復号し軟判定処理を行うために、処理が非常に重くなる。
なお、上記のようにターボ符号を用いて符号化を行う場合は2ビットの冗長データが付加されるが、間引き処理等を行うことで、ビットグループの8割程度を元のデータ、2割程度を誤り訂正のための冗長データとすることができる。また、上記ではターボ符号を使用した符号器16と復号器18についてのみ説明したが、ビタビ符号を使用した符号器と復号器については周知の技術であり、説明は省略した。
ここで、各ビットの誤り確率について考察する。図6は、X4,X3,X2,X1の4ビットのデータを記憶するメモリセルについて、各しきい値分布に対応するビット情報を詳しく記したものである。これから、分かるように、最上位のビットX4は“0”から“1”、或いは、“1”から“0”に変化する境界が1個しか存在しない。また、ビットX3は“0”から“1”、或いは、“1”から“0”に変化する境界が3個しか存在しない。一方、ビットX2,X1は同様の境界が、7個および10個である。この結果、低位のビットX2,X1は、“1”から“0”、或いは、“0”から“1”に変化するビット誤りが高位のビットX3,X4に比較してよく発生することが分かる。図7は、X4,X3,X2,X1の各ビットの誤りの確率を示した一例である。X1のビットの誤り確率は15PbとX4のビットの15倍にもなっている。
ここで、X4,X3,X2,X1の各ビットの全てに対して同一の誤り訂正をかける場合と、下位2ビットに対しては強力な誤り訂正をかける場合の復号に必要な計算量を比較してみる。図8は通常の宇宙通信で用いられるビタビ符号A、そのビタビ符号よりも強力な誤り訂正能力をもつターボ符号B、および符号化無しCの場合のそれぞれについて、誤り確率を示したものである(文献:江藤他監修、「誤り訂正符号とその応用」、オーム社、249頁、1996年、又はC Berrou et al.,“Near Shannon Limit Error-Correctin Coding and Decoding,” ICC'93,pp.1064-1070,1993)。
図8において、横軸Eb/Noは信号のS/Nに対応し、縦軸Pbは誤り確率である。Eb/Noが大きくなると、信号のS/Nが大きくなり、誤り確率が小さくなることがわかる。そして、Eb/N0=3dBにおいて、符号化無しCの場合よりも、ビタビ符号Aの場合の方が誤り確率は小さいことがわかる。さらに、ターボ符号Bの内の反復繰り返し回数が2回(R=2)の場合がより誤り確率が小さいことがわかる。
図8では、P=2×10-3としたときのX4,X3,X2,X1のビットの誤り確率P,3P,7P,15Pを符号化無しCの曲線上に示した。本メモリ回路を使用するシステムにおける許される誤り確率を10-5とすると、4ビット共通に誤り訂正を行う場合では、4ビット平均の誤り確率は6.5P(=26P/4)であり、この場合にビタビ符号Aでは誤り確率を10-5以下にすることができない。したがって、反復繰り返し回数を2回(R=2)とするターボ符号Bを行う必要がある。つまり、4ビット全てに対してR=2のターボ符号Bを用いる必要がある。
一方、各ビット毎に個々に誤り訂正を行う場合では、最上位ビットX4に対しては誤り確率はPであり、ビタビ符号Aにより誤り確率を10-5以下にすることができる。また、X3に対しては誤り確率は3Pであり、これもビタビ符号Aにより同様に誤り確率を10-5以下にすることができる。しかし、X2に対しては、誤り確率は7Pであり、ビタビ符号Aにより誤り確率を10-5以下にすることができないので、反復繰り返し回数が2回のターボ符号Bを行う必要がある。最下位ビットX1も同様に、ターボ符号化Bを行う必要がある。結局、下位2ビットX2,X1に対してはターボ符号を用いて符号化を行う必要がある。
ビタビ符号を用いた符号化/復号化はターボ符号を用いた符号化/復号化に対して処理量が無視できる程度に小さいことが知られており(文献:江藤他監修、「誤り訂正符号とその応用」、オーム社、162頁、1996年)、4ビット全てをターボ符号を用いて誤り訂正するのに対し、上位2ビットにビタビ符号を用い、下位2ビットにターボ符号を用いて誤り訂正する方が、処理量を1/2に低減でき、計算機負担が軽くなる。
図9に、従来方法と本実施例のターボ符号を用いるときの処理量の比較結果を示す。本実施例はX4,X3,X2,X1の全てのビットにターボ符号を用いるのではなく、X2,X1のみにターボ符号を用いるので、処理量が1/2で済むことが分かる。
なお、以上では、誤り確率の異なるビット位置のビットグループに応じて誤り訂正の符号を使い分ける場合について説明したが、各ビットグループに同じ符号を使用し、下位ビットのビットグループほど冗長ビットの割合を多くすることによって誤り訂正能力を高めてもよい。具体的には各ビットグループ毎の符号化手段および復号化手段で扱う冗長ビットの割合を異ならせる。例えば、前記実施例の場合、全てのビットに対してターボ符号を使用し、X4,X3,X2,X1の各ビットグループ6〜9において、冗長ビットの割合をそれぞれ3%、5%、10%、20%とすることもできる。なお、ターボ符号の他にビタビ符号やリードソロモン符号を使用することもできる。
1:メモリブロック
2〜5:レジスタ
6〜9:ビットグループ
11,11A,11B:再帰的符号化器
12,13:レジスタ
14,15:EXOR回路
16:ターボ符号器
17:インタリーバ
18:ターボ復号器
19,20:復号器
21:インタリーバ
22:デインタリーバ
23:スイッチ
2〜5:レジスタ
6〜9:ビットグループ
11,11A,11B:再帰的符号化器
12,13:レジスタ
14,15:EXOR回路
16:ターボ符号器
17:インタリーバ
18:ターボ復号器
19,20:復号器
21:インタリーバ
22:デインタリーバ
23:スイッチ
Claims (10)
- メモリセルに対して読み書きするn(n≧2)ビットのデータの誤り訂正をビットグループ毎に行うメモリ回路における誤り訂正方法であって、
前記各ビットのビット誤り確率に対応し且つ前記メモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する符号を使用して前記各ビットグループ毎に誤り訂正処理を行うことを特徴とする誤り訂正方法。 - 請求項1に記載の誤り訂正方法において、
前記nビットの内の下位ビット側のビットグループに使用する符号は上位ビット側のビットグループに使用する符号よりも誤り訂正能力が高いことを特徴とする誤り訂正方法。 - 請求項2に記載の誤り訂正方法において、
前記下位ビット側のビットグループの誤り訂正処理にターボ符号又はLDPC符号を使用し、前記上位ビット側のビットグループの誤り訂正処理にビタビ符号を使用することを特徴とする誤り訂正方法。 - メモリセルに対して読み書きするn(n≧2)ビットのデータの誤り訂正をビットグループ毎に行うメモリ回路における誤り訂正方法であって、
前記各ビットのビット誤り確率に対応し且つ前記メモリ回路が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する冗長ビットの割合を前記各ビットグループに持たせて前記各ビットグループ毎に誤り訂正処理を行うことを特徴とする誤り訂正方法。 - 請求項4に記載の誤り訂正方法において、
前記nビットの内の下位ビット側のビットグループの冗長ビットの割合は上位ビット側のビットグループの冗長ビットの割合よりも大きいことを特徴とする誤り訂正方法。 - n(n≧2)ビットのメモリセルを有するメモリ手段と、前記メモリセルに対して読み書きするデータの誤り訂正をビットグループ毎に行う符号化手段および復号化手段とを有するメモリ回路において、
前記ビットグループ毎の前記符号化手段および復号化手段に用いる符号は、当該ビットのビット誤り確率に対応し且つ前記メモリ手段が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する符号であることを特徴とするメモリ回路。 - 請求項6に記載のメモリ回路において、
前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段に用いる符号は、上位ビット側のビットグループの符号化手段および復号化手段よりも誤り訂正能力が高い符号であることを特徴とするメモリ回路。 - 請求項7に記載のメモリ回路において、
前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段にターボ符号又はLDPC符号を用い、上位ビット側の符号化手段および復号化手段にビタビ符号を用いることを特徴とするメモリ回路。 - n(n≧2)ビットのメモリセルを有するメモリ手段と、前記メモリセルに対して読み書きするデータの誤り訂正をビットグループ毎に行う符号化手段および復号化手段とを有するメモリ回路において、
前記ビットグループ毎の前記符号化手段および復号化手段で扱う冗長ビットは、当該ビットのビット誤り確率に対応し且つ前記メモリ手段が組み込まれたシステムが要求する誤り確率を満足するために必要十分な誤り訂正能力を有する割合であることを特徴とするメモリ回路。 - 請求項9に記載のメモリ回路において、
前記nビットの内の下位ビット側のビットグループの符号化手段および復号化手段で扱う冗長ビットの割合は、上位ビット側のビットグループの符号化手段および復号化手段に用いる冗長ビットの割合より大きいことを特徴とするメモリ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003308163A JP2005078721A (ja) | 2003-09-01 | 2003-09-01 | 誤り訂正方法およびメモリ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003308163A JP2005078721A (ja) | 2003-09-01 | 2003-09-01 | 誤り訂正方法およびメモリ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005078721A true JP2005078721A (ja) | 2005-03-24 |
Family
ID=34410709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003308163A Pending JP2005078721A (ja) | 2003-09-01 | 2003-09-01 | 誤り訂正方法およびメモリ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005078721A (ja) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008108356A (ja) * | 2006-10-25 | 2008-05-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2009512055A (ja) * | 2005-10-13 | 2009-03-19 | ラマト アット テル アビブ ユニバーシティ リミテッド | Mbcフラッシュメモリにおけるエラー訂正の方法 |
JP2009524152A (ja) * | 2006-01-20 | 2009-06-25 | マーベル ワールド トレード リミテッド | 符号化及び信号処理機能を有するフラッシュメモリ |
JP2009524176A (ja) * | 2006-01-20 | 2009-06-25 | マーベル ワールド トレード リミテッド | フラッシュメモリにおける誤り訂正のための方法およびシステム |
JP2009158061A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 半導体記憶装置 |
JP2010505200A (ja) * | 2006-09-28 | 2010-02-18 | サンディスク コーポレイション | ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作 |
JP2010509700A (ja) * | 2006-11-03 | 2010-03-25 | サンディスク コーポレイション | 可変読み出ししきい値を有する不揮発性メモリ |
JP2010527094A (ja) * | 2007-05-14 | 2010-08-05 | サムスン エレクトロニクス カンパニー リミテッド | データ読取装置およびその方法 |
JP2010262730A (ja) * | 2009-04-30 | 2010-11-18 | Internatl Business Mach Corp <Ibm> | 異機種混合ストレージ要素の容量を増大させる方法及びシステム |
JP2011504276A (ja) * | 2007-11-21 | 2011-02-03 | マイクロン テクノロジー, インク. | フラッシュメモリからデータを読み出す方法および装置 |
JP2011514618A (ja) * | 2008-03-17 | 2011-05-06 | サムスン エレクトロニクス カンパニー リミテッド | メモリ装置および方法 |
JP2011515785A (ja) * | 2008-03-17 | 2011-05-19 | サムスン エレクトロニクス カンパニー リミテッド | メモリ装置およびデータ判定方法 |
JP2011522301A (ja) * | 2008-03-11 | 2011-07-28 | アギア システムズ インコーポレーテッド | クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 |
KR20110097446A (ko) * | 2010-02-25 | 2011-08-31 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
JP4825874B2 (ja) * | 2005-10-17 | 2011-11-30 | ラマト アット テル アビブ ユニバーシティ リミテッド | マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正 |
JP2011243198A (ja) * | 2010-05-19 | 2011-12-01 | Micron Technology Inc | 拡張マルチレベルメモリ |
JP2012503267A (ja) * | 2008-09-22 | 2012-02-02 | サムスン エレクトロニクス カンパニー リミテッド | マルチレベルセルフラッシュメモリにおけるlsbページ復旧方法、その方法に用いるプログラム方法、およびその方法を用いるマルチレベルフラッシュメモリ |
JP2012038418A (ja) * | 2011-11-21 | 2012-02-23 | Toshiba Corp | メモリシステム |
US8136014B2 (en) | 2006-09-25 | 2012-03-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
WO2012154397A2 (en) | 2011-05-12 | 2012-11-15 | Micron Technology, Inc. | Programming memory cells |
JP2014160534A (ja) * | 2008-08-08 | 2014-09-04 | Marvell World Trade Ltd | 部分参照電圧を利用するメモリアクセス |
US8869014B2 (en) | 2006-03-31 | 2014-10-21 | Marvell World Trade Ltd. | Multi-level signal memory with LDPC and interleaving |
KR101466454B1 (ko) * | 2006-03-29 | 2014-12-10 | 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 | 페이지 소거를 갖는 비휘발성 반도체 메모리 |
US9292377B2 (en) | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
US9898361B2 (en) | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
-
2003
- 2003-09-01 JP JP2003308163A patent/JP2005078721A/ja active Pending
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512055A (ja) * | 2005-10-13 | 2009-03-19 | ラマト アット テル アビブ ユニバーシティ リミテッド | Mbcフラッシュメモリにおけるエラー訂正の方法 |
JP4825874B2 (ja) * | 2005-10-17 | 2011-11-30 | ラマト アット テル アビブ ユニバーシティ リミテッド | マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正 |
US9053051B2 (en) | 2006-01-20 | 2015-06-09 | Marvell World Trade Ltd. | Multi-level memory controller with probability-distribution-based encoding |
JP2009524152A (ja) * | 2006-01-20 | 2009-06-25 | マーベル ワールド トレード リミテッド | 符号化及び信号処理機能を有するフラッシュメモリ |
JP2009524176A (ja) * | 2006-01-20 | 2009-06-25 | マーベル ワールド トレード リミテッド | フラッシュメモリにおける誤り訂正のための方法およびシステム |
US8473812B2 (en) | 2006-01-20 | 2013-06-25 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
US8677215B2 (en) | 2006-01-20 | 2014-03-18 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
US8856622B2 (en) | 2006-01-20 | 2014-10-07 | Marvell World Trade Ltd. | Apparatus and method for encoding data for storage in multi-level nonvolatile memory |
KR101466454B1 (ko) * | 2006-03-29 | 2014-12-10 | 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 | 페이지 소거를 갖는 비휘발성 반도체 메모리 |
US8869014B2 (en) | 2006-03-31 | 2014-10-21 | Marvell World Trade Ltd. | Multi-level signal memory with LDPC and interleaving |
US8136014B2 (en) | 2006-09-25 | 2012-03-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US8239730B2 (en) | 2006-09-25 | 2012-08-07 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
JP2010505200A (ja) * | 2006-09-28 | 2010-02-18 | サンディスク コーポレイション | ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作 |
US8332726B2 (en) | 2006-10-25 | 2012-12-11 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
JP2008108356A (ja) * | 2006-10-25 | 2008-05-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2010509700A (ja) * | 2006-11-03 | 2010-03-25 | サンディスク コーポレイション | 可変読み出ししきい値を有する不揮発性メモリ |
JP2010527094A (ja) * | 2007-05-14 | 2010-08-05 | サムスン エレクトロニクス カンパニー リミテッド | データ読取装置およびその方法 |
JP2011504276A (ja) * | 2007-11-21 | 2011-02-03 | マイクロン テクノロジー, インク. | フラッシュメモリからデータを読み出す方法および装置 |
US8719680B2 (en) | 2007-11-21 | 2014-05-06 | Micron Technology, Inc. | Method and apparatus for reading data from non-volatile memory |
US8499229B2 (en) | 2007-11-21 | 2013-07-30 | Micro Technology, Inc. | Method and apparatus for reading data from flash memory |
US9197251B2 (en) | 2007-11-21 | 2015-11-24 | Micron Technology, Inc. | Method and apparatus for reading data from non-volatile memory |
US8406054B2 (en) | 2007-12-27 | 2013-03-26 | Kabushiki Kaisha Toshiba | Semiconductor memory device with improved ECC efficiency |
JP2009158061A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 半導体記憶装置 |
US8724381B2 (en) | 2008-03-11 | 2014-05-13 | Agere Systems Llc | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US9135999B2 (en) | 2008-03-11 | 2015-09-15 | Seagate Technology Llc | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
JP2016042380A (ja) * | 2008-03-11 | 2016-03-31 | アギア システムズ エルエルシーAgere Systems LLC | クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 |
US9058879B2 (en) | 2008-03-11 | 2015-06-16 | Seagate Technology Llc | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US9007828B2 (en) | 2008-03-11 | 2015-04-14 | Lsi Corporation | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
JP2011522301A (ja) * | 2008-03-11 | 2011-07-28 | アギア システムズ インコーポレーテッド | クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 |
JP2014135097A (ja) * | 2008-03-11 | 2014-07-24 | Agere Systems Inc | クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 |
JP2011515785A (ja) * | 2008-03-17 | 2011-05-19 | サムスン エレクトロニクス カンパニー リミテッド | メモリ装置およびデータ判定方法 |
JP2011514618A (ja) * | 2008-03-17 | 2011-05-06 | サムスン エレクトロニクス カンパニー リミテッド | メモリ装置および方法 |
JP2014160534A (ja) * | 2008-08-08 | 2014-09-04 | Marvell World Trade Ltd | 部分参照電圧を利用するメモリアクセス |
JP2012503267A (ja) * | 2008-09-22 | 2012-02-02 | サムスン エレクトロニクス カンパニー リミテッド | マルチレベルセルフラッシュメモリにおけるlsbページ復旧方法、その方法に用いるプログラム方法、およびその方法を用いるマルチレベルフラッシュメモリ |
JP2010262730A (ja) * | 2009-04-30 | 2010-11-18 | Internatl Business Mach Corp <Ibm> | 異機種混合ストレージ要素の容量を増大させる方法及びシステム |
KR20110097446A (ko) * | 2010-02-25 | 2011-08-31 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
KR101633048B1 (ko) * | 2010-02-25 | 2016-06-24 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
JP2011243198A (ja) * | 2010-05-19 | 2011-12-01 | Micron Technology Inc | 拡張マルチレベルメモリ |
US8700978B2 (en) | 2010-05-19 | 2014-04-15 | Micron Technology, Inc. | Enhanced multilevel memory |
US9292377B2 (en) | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
US9898361B2 (en) | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
US10929221B2 (en) | 2011-01-04 | 2021-02-23 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories utilizing data from additional pages or wordlines |
US9030902B2 (en) | 2011-05-12 | 2015-05-12 | Micron Technology, Inc. | Programming memory cells |
WO2012154397A2 (en) | 2011-05-12 | 2012-11-15 | Micron Technology, Inc. | Programming memory cells |
JP2014517976A (ja) * | 2011-05-12 | 2014-07-24 | マイクロン テクノロジー, インク. | メモリセルをプログラミングすること |
EP2707879B1 (en) * | 2011-05-12 | 2019-04-03 | Micron Technology, Inc. | Programming memory cells |
JP2012038418A (ja) * | 2011-11-21 | 2012-02-23 | Toshiba Corp | メモリシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005078721A (ja) | 誤り訂正方法およびメモリ回路 | |
KR101422050B1 (ko) | 셀 당 멀티비트인 플래시 메모리에서의 오류 보정 방법 | |
KR101438072B1 (ko) | 소거 없는 플래시 메모리의 다중 프로그래밍 | |
JP5345201B2 (ja) | 符号化および/または復号化メモリ装置および方法 | |
CN111200440B (zh) | Ldpc解码器、半导体存储器系统及其操作方法 | |
US9654147B2 (en) | Concatenated error correction device | |
JP4818381B2 (ja) | 半導体メモリ装置 | |
US10445175B2 (en) | Controller and operating method thereof | |
KR102559925B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
JP5229591B2 (ja) | 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号 | |
Huang et al. | Error-correcting codes for flash coding | |
US10090860B2 (en) | Memory system using integrated parallel interleaved concatenation | |
CN111833956A (zh) | 错误校正电路和具有错误校正电路的存储器控制器 | |
CN111756385A (zh) | 错误校正解码器 | |
US20150317203A1 (en) | Code-Based Read Control for Data Storage Devices | |
KR20210115961A (ko) | Ldpc 디코더 및 그것의 동작 방법 | |
Rajab et al. | Soft‐input bit‐flipping decoding of generalised concatenated codes for application in non‐volatile flash memories | |
JP2022124682A (ja) | メモリシステム | |
Kim et al. | Quasi-primitive block-wise concatenated BCH codes with collaborative decoding for NAND flash memories | |
KR102314481B1 (ko) | Siso 복호 방법, 디코더 및 반도체 메모리 시스템 | |
JP7237674B2 (ja) | メモリシステム | |
US10790854B2 (en) | Coset probability based majority-logic decoding for non-binary LDPC codes | |
US9639421B2 (en) | Operating method of flash memory system | |
US10038456B1 (en) | Decoders with look ahead logic | |
CN112134573B (zh) | 用于将数据存储在存储器装置内的方法和检索数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070731 |