JP2009070356A5 - - Google Patents

Download PDF

Info

Publication number
JP2009070356A5
JP2009070356A5 JP2007269577A JP2007269577A JP2009070356A5 JP 2009070356 A5 JP2009070356 A5 JP 2009070356A5 JP 2007269577 A JP2007269577 A JP 2007269577A JP 2007269577 A JP2007269577 A JP 2007269577A JP 2009070356 A5 JP2009070356 A5 JP 2009070356A5
Authority
JP
Japan
Prior art keywords
bits
check
check bits
bit
code
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.)
Granted
Application number
JP2007269577A
Other languages
English (en)
Other versions
JP4960829B2 (ja
JP2009070356A (ja
Filing date
Publication date
Priority claimed from US11/855,070 external-priority patent/US7962837B2/en
Application filed filed Critical
Publication of JP2009070356A publication Critical patent/JP2009070356A/ja
Publication of JP2009070356A5 publication Critical patent/JP2009070356A5/ja
Application granted granted Critical
Publication of JP4960829B2 publication Critical patent/JP4960829B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

エラー訂正方法およびエラー訂正回路
本発明は、概ねデータ記憶およびテータ通信の分野に関する。特に、本発明は、追加のチェックビットを使用して、ハミングコードのH行列における最小重み付けコードの数を増やすことにより、チェックビットおよびシンドロームの生成に要するパリティビットの幅を減少させる技術に関する。
ハミングコードを用いることにより、いかなる一ビットエラーも検出しかつ訂正できるよう、データブロックを一ビットエラーから保護する方法が実現する。一般的に、ハミングコードは、ハミング行列あるいはH−行列と呼ばれる行列を用いることにより通常説明される。H−行列は、どのデータビットが、それぞれのチェックビットと組み合わせてシンドロームを生成するのに用いられるかを定義する(n−k)×n行列である。
消費電力を最小限にし、かつ、並列エラー訂正コード(ECC)用途の回路の複雑さを緩和させる試みにおいて、多くの異なる方法がこれまで用いられてきた。例えば、ゴーシュ、S他による「メモリチェッカ回路における電力を最小化するエラー訂正コードの選択」ローパワーエレクトロニクス誌、第1巻、ページ63〜72、2005年、ゴーシュ、S他、および、「メモリECCチェッカにおける電力消費の低減」IEEEインターナショナルテストカンファレンス(ITC−2004)会報、ノースカロライナ州シャーロット、2004年10月を参照されたい。これらの開示は、本願明細書中に参照として組み込まれる。
従来のECCの実施は、訂正/検出レベルに要求される冗長ビットの最小数および使用されるワード長を決定するための周知の方程式を用いる。一般的に、単一のエラー訂正/単一のエラー検出(SEC/SED)または単一のエラー訂正/二重エラー検出(SEC/DED)技術のECCが用いられるが、同じ基礎概念を用いることにより、より高度な訂正および検出レベルが得られる。下記の方程式は、必要なハミング距離、および、SEC/SEDまたはSEC/DED能力のいずれかを実施するのに必要とされる冗長ビット数を提供する。特定のワード長の冗長ビット(チェックビット)数は、エラー訂正/検出能力を決定するが、加えて、チェックビット数は、H−行列における各重み付けコード使用可能なベクトル数を決定する。
SEC/SEDでは、ハミング距離=3であり、log(n)+1≧n−kである。
nは、コードワードビット数である。kは、データビット数である。(n−k)は、冗長ビット(チェックビット)数である。
SEC/DEDでは、ハミング距離=4であり、log(n)+2≧n−kである。
これは、SEC/SEDに要求されるより1つ多いチェックビットが要求される以前の方程式と類似している。
ほとんどのSEC/DEC用途では、「奇数」の重み付けコード(一般的には奇数重み付きHsiaoコードとして知られる)のみが用いられ、重み=2コードは使用しなくなる。すべての重み付けコードが使用される場合、二重ビット検出を包む方法は、より複雑になる。
しかしながら、これまでのところチェックビットまたはシンドロームの生成に要するパリティ回路の幅を減少させるべく機能するECC用途の単一エラー訂正/単一エラー検出(SEC/SED)において「超過」または余分なチェックビット冗長を用いる技術は誰も開示していない。
簡潔に言えば、本願明細書中に開示される本発明の技術は、H−行列における最小重み付けコード数を増やすべく、冗長チェックビットを追加することにより実施される。本技術は、各チェックビット/シンドロームの生成に用いられるデータビット数を減少させるべく、付加的な訂正/検出能力を追加せずに実施できる。
言い換えれば、本発明の技術は、エラー訂正能力を拡張する目的でなく、パリティ発生回路の幅を減少させるべく、むしろ低い重み付けコード数、特にSEC/SEDの重み=2コード、または、SEC/DEDの重み=3コードを増加させる余分な冗長チェックビットを利用する。
本願明細書中に開示される技術は、チェックビットおよびシンドロームの生成に用いられるパリティビット幅を減少させるべく、エラー検出/訂正能力の向上がなくてもH−行列における最小重み付けコードの数を増加させるよう、追加チェックビットを効果的に用いる。
本発明の技術を実施するに際し実現される効果は、
1)チェックビットの生成およびシンドロームの発生のためのパリティ発生器の幅は、著しく減少し、各チェックビット/シンドロームに必要な排他的OR回路もより少なくてすむ。
2)チェックビットまたはシンドロームを生成するXOR「ツリー」の深度を低下させることができる。低下した「ツリー」の深さ(伝搬経路における少ないゲート)が用いられる場合、より速い動作速度が実現することは、パイプライン遅延内における複数の遅延が全体のデバイス性能を制限するクロック用途においては特に重要である。
3)最小重み付けコードのみが用いられるので、各データビットは、少ないパリティ負荷に接続される。
4)追加のチェックビットが含まれても、XORゲートの総数は減少する。これによって、一時的なノイズは減少し、所要電力は低下する。
従来技術においては、訂正または検出能力の向上なしにチェックビット数を増加させることは正当化できない。しかしながら、クロック速度の上昇(より高い周波数性能)および増加した周波数で所要電力を抑えることにより、ECCで用いられるパリティビット幅を減少すべくチェックビットを追加することは、許容可能な解決策となるであろう。
特に本願明細書中に開示されるのは、パリティビット幅を選択する技術であって、チェックビットの生成に必要な第1のチェックビット数と、該第1のチェックビット数に基づくシンドロームとを決定することと、ハミングコードH−行列における最小重み付けコード数を増加させるべく、第1のチェックビット数より大きい第2のチェックビット数を利用することと、第2のチェックビット数に基づき、チェックビットおよびシンドロームを生成することと、を含む。
同じく本願明細書におけるパリティビット幅を選択する技術は、それ(第1のチェックビット数)に基づいてチェックビットおよびシンドロームを生成するのに要求される第1のチェックビット数を決定することと、第1のチェックビット数に少なくとも1つの追加チェックビットを加えることにより、チェックビットの第2の数を提供し、かつ、多数の低い重み付けハミングコードを増加させることと、を含む。
本願明細書におけるさらなる開示は、エラー訂正回路であって、入力データバスにおいてkビットの書き込みデータビットを受信する書き込みパリティ発生器と、書き込みパリティ発生器に結合され、n−kビットのチェックビット(nはコードワードビット数)とkビットの書き込みデータビットとを入力データバスから受信するメモリと、を含む。読み取りパリティ発生器がメモリに結合され、n−kビットの読み取りチェックビットとkビットの読み取りデータビットとを受信する一方で、該読み取りパリティ発生器にはシンドロームデコーダが結合され、n−kビットのシンドロームビットを受信する。シンドロームデコーダにはデータコレクタが結合され、kビットの逆ビットおよびkビットの読み取りデータビットをメモリから受信する。データコレクタは、kビットの訂正データを出力データバスにおいて供給する。
図1を参照すると、本発明の技術の典型的なSEC/SEDエラー訂正フローの実行100が示されている。実行100は、幅D<0:k−1>のデータバスにおいて多数の書き込みデータビット(kビット)を受信する。これらのデータビットは、図に示すようなn−k個の発生器を含む書き込みパリティ発生器102により受信される。
書き込みパリティ発生器102は、その後、多数のチェックビット(n−kビット)を、データバスD<0:k−1>に結合されて書き込みパリティ発生器102にも供給される書き込みデータを受信するメモリ104に供給する。次に、メモリ104は、多数の読み取りチェックビット(n−kビット)および読み取りデータビット(kビット)を同じくn−k個の発生器を含む読み取りパリティ発生器106へと供給する。読み取りパリティ発生器106は、k個のデコーダを含むシンドロームデコーダ108にシンドローム(n−kビット)を提供する。
シンドロームデコーダ108は、INV<0:k−1>バスにおけるkビットの反転データ信号を、k個のコレクタを含むデータコレクタブロック110に提供する。データコレクタブロック110は、また、メモリ104からkビットの読み取りデータビットを受信する。データコレクタ110の出力は、データ出力バスQ<0:k−1>におけるkビットの訂正データである。
本願明細書において開示される本発明の特定の実施では、「n」はコードワード数であり、「k」はデータビット数であり、「n−k」はチェックビットおよびシンドロームビット数である。書き込みパリティ発生器102の幅(または入力数)は、以下により十分に説明されるH−行列の行における「1」の最大数である。また、読み取りパリティ発生器106の幅は、H−行列の行における「1」の最大数より1つ大きい。
読み取りには、エラーが生じているかどうかを決定するシンドロームを発生させるべく、格納されたチェックビット値をパリティフィールドに追加させる必要があるので、もう1つビットが必要である。これも以下でさらに十分に説明する。非ゼロのシンドロームはエラーを示し、シンドローム値は、どのビットがフェイルであるかを識別するベクトルであることに注目されたい。コードの重みはH−行列の列方向における「1」の数により決定される。
言い換えれば、ハミング重みは、GF(2)上の多項式における非ゼロ計数の数である。例えば、w(01101010)=4である。2つのワード間のハミング距離は、それらの合計のハミング重みである。例えば、dHamming=(01101010,10101000)=w(11000010)=3である。2つのビットパターンを比較すると、ハミング距離は、2つのパターンにおいて異なるビットのカウントである。より一般的には、データ項目の2つの番号付きリストが比較される場合、ハミング距離は、完全には一致しない項目数となる。
さらに図2を参照すると、本発明の技術に従うチェックビット数対重み付けコード数の表が示されている。重み>1コードの総数は、チェックビット5から11までを表すのそれぞれの右端に示されている。
最小重み付けコード数を増加させることの利点は、この表に関する例により見ることができる。このためには、チェックビット7および8のそれぞれと、それらの対応するコードの重み2から7までおよび2から8までとにより示されるを特に参照する。コードの重み「0」は、「エラーなし」を示す確保されたベクトルであるから利用できず、一方、コードの重み「1」も、「チェックビットエラー」のために確保されたベクトルなので利用できないことに注目されたい。
64ビットワードでは、SEC/SEDは、7チェックビットを必要とし、この例は、結果として、以下のようになる。
み=コードの数:21
み=コードの数:35
み=コードの数:35
み=コードの数:21
み=コードの数:7
み=コードの数:1
重み>1コードの数の合計:120
最小重み付けコードを用いて64個のベクトルが選択され場合、以下のようになる。
み=コードの数:21
み=コードの数:35
み=コードの数:8
上記ベクトルが用いられる場合、必要な最大パリティ幅は、書き込み(チェックビット生成)に対し26ビット、および、読み取り(シンドローム生成;書き込みに必要なものより1つ多い)に対し27ビットである。これは、図4Aおよび4Bに関して特に見られ、「1」の最大数は例示されるH−行列の各行で26として示される。
本発明の技術によれば、追加の冗長ビットは、最小重み付けコード(minimum weight codes)の数を増やす目的で追加される。したがって、1つの追加冗長チェックビットが追加されると、8チェックビットが使用されることになる。
前述のごとく、64ビットワードでは、SEC/SEDは、8チェックビットを用い、この例の結果は以下のようになる。
み=コードの数:28
み=コードの数:56
み=コードの数:70
み=コードの数:56
み=コードの数:28
み=コードの数:8
み=コードの数:1
重み>1コードの数の合計:247
最小重み付けコードを用いて64個のベクトルが選択される場合、以下のようになる。
み=コードの数:28
み=コードの数:36
上記ベクトルが用いられる場合、要求される最大パリティ幅は、書き込み(チェックビット生成)に対し21ビット、読み取り(シンドローム生成)に対し22ビットである。これは、特に図5Aおよび5Bに関して見られ、「1」の最大数は、例示されるH−行列の各行で21として示される。したがって、余分なチェックビットを追加した結果、チェックビット生成のためのパリティ幅は、26/27(7チェックビット例;書き込み/読み取り)から21/22(8チェックビット例;書き込み/読み取り)まで減少する。
さらに図3Aから3Dを参照すると、6、7、8および9チェックビットの最小チェックビット数を用いる32ビットワードの典型的なH−行列が例示されている。特に図3AのH−行列(C0からC5までの6チェックビットを用いる)に関しては、必要な最大パリティ幅は、書き込み(チェックビット生成)に対し14ビット、読み取り(シンドローム生成)に対し15ビットであると見られる。比較して、図3BのH−行列(C0からC6までの7チェックビットを用いる、すなわち、最小プラス1)に関しては、必要な最大パリティ幅は、書き込みに対し11ビット、読み取りに対し12ビットだけであることがわかる
同様に、特に図3CのH−行列(C0からC7までの8チェックビットを用いる、すなわち、最小プラス2)に関しては、必要な最大パリティ幅は、書き込みに対し9ビット、読み取りに対し10ビットだけであることがわかる。さらに、図3DのH−行列(C0からC8までの9チェックビットを用いる、すなわち最小プラス3)に関しては、必要な最大パリティ幅は、さらに小さく、書き込みに対しては8ビット、読み取りに対しては9ビットであることがわかる
さらに、図4Aおよび4Bをまとめて参照すると、7チェックビットの最小チェックビット数を用いる64ビットワードの追加の典型的なH−行列が例示されている。前述のように、このH−行列の行における「1」の最大数は、26であることがわかる
さらに、図5Aおよび5Bをまとめて参照すると、8チェックビット(最小プラス1)の最小チェックビット数を用いる64ビットワードの他の典型的なH−行列が例示されている。前述のように、このH−行列の行における"1"最大数は、21であることがわかる
簡潔に言えば、本願明細書中に開示される本発明の技術は、H−行列における最小重み付けコード数を増やすべく、冗長チェックビットを追加することにより実行される。本技術は、各チェックビット/シンドロームの生成に用いられるデータビット数を減らすべく、さらなる訂正/検出能力を追加することなく実行できる。
さらに、本願明細書中に開示される例において、SEC/SEDが利用されているが、同じ概念は、マルチエラー訂正を含むより優れたECC能力を有するECC用途にまで拡張できると理解されたい。追加チェックビットを加えることにより、SEC/SEDでは、重み=2コードが増加し、SEC/DEDでは、重み=3コードが増加する。本発明の利点は、追加冗長チェックビットの使用および幅広なシンドロームワードのデコードを限られた経費で実現できる。
これまで特定の例およびSEC/SED技術と共に本発明の原理を説明してきたが、上述の説明は例示にすぎず、本発明の範囲を限定するものでないことは、明確に理解されよう。特に、前述の開示の教示は、他の変更態様を当業者に示唆するであろう。この種の変更態様は、自体がすでに既知であり、すでに本願明細書において記載されている特徴の代わりにまたはそれに加えて使われることができる他の特徴を含むことができる。本出願において、請求項は、特定の特徴の組み合わせに対し明確に構成されているが、本願明細書中における開示の範囲は、いずれの請求項に目下記載されているような同じ発明に関連しようがしまいが、また、本発明が直面するようないかなる、または、すべての同じ技術的問題を軽減しようがしまいが、当業者にとって明らかであろう明確または暗に開示されるいかなる新規な特徴、あるいは、いかなる新規な特徴の組み合わせ、あるいは、一般化またはその修正も含むと理解されなければならない。出願人は、本出願またはそこから導かれるさらなる出願の手続きの間、このような特徴および/またはこのような特徴の組み合わせに対する新規の請求項を構成する権利をここに保有する。
本願明細書中に使用される用語「含む」「備える」またはそのバリエーションは、特定の要素の詳述を含むプロセス、方法、物品、または、装置などが、必ずしもそれらの要素だけを含むのでなく、明確に列挙されていない、または、そのようなプロセス、方法、物品または装置に本来備わっている他の要素を含み得るよう、非排他的な包含を意図する。本出願におけるいかなる記載も任意の特定の要素、ステップまたは機能が請求項の範囲に含まれるべき必須要素であり、特許される内容の範囲は、許可された請求項によってのみ定義されることを意味すると解釈されるべきでない。さらに、添付の請求項は、「〜のための手段」という明確な言い回しが用いられ、その後に分詞が続くのでない限り、米国特許法第112条第6段落の適用は受けないものと意図される。
本発明の上記および他の特徴、目的、およびそれらを得る方法は、添付の図面と共に以下の好適な実施形態の説明を参照することにより明らかになり、本発明自体がより理解されるであろう。
本発明の技術の典型的なSEC/SEDエラー訂正フローの実行である。 本発明の技術に従う、チェックビット数対重み付けコード数の表である。 本発明の技術に従う、6チェックビットの最小チェックビット数を用いる32ビットワードの典型的なH−行列例である。 本発明の技術に従う、7(最小プラス1)チェックビットの最小チェックビット数を用いる32ビットワードの典型的なH−行列例である。 本発明の技術に従う、8(最小プラス2)チェックビットの最小チェックビット数を用いる32ビットワードの典型的なH−行列例である。 本発明の技術に従う、9(最小プラス3)チェックビットの最小チェックビット数を用いる32ビットワードの典型的なH−行列例である。 7チェックビットの最小チェックビット数を用いる64ビットワードのさらなる典型的なH−行列例である。 7チェックビットの最小チェックビット数を用いる64ビットワードのさらなる典型的なH−行列例である。 本発明の技術に従う、8(最小プラス1)チェックビットの最小チェックビット数を用いる64ビットワードの他の典型的なH−行列例である。 本発明の技術に従う、8(最小プラス1)チェックビットの最小チェックビット数を用いる64ビットワードの他の典型的なH−行列例である。

Claims (11)

  1. パリティビット幅を選択するエラー訂正の方法であって、
    望ましいハミング距離のためのチェックビットまたはシンドロームの生成に要求される前記チェックビットの最小数である第1のチェックビット数を決定する段階と、
    ハミングコードH−行列の列ベクトルとして用いられる重み付けコードにおける、利用可能な重みのうち最小の重みを有する最小重み付けコード数を増加させるべく、前記第1のチェックビット数より大きい第2のチェックビット数を利用する段階と、
    前記第2のチェックビット数に基づき、前記チェックビットまたはシンドロームを生成する段階と、
    を含む方法
  2. 入力データバスからデータビットを取得する段階と、
    前記データビットに基づいてチェックビットを生成する段階と、
    前記データビットおよび前記チェックビットをメモリに格納する段階と、
    を有し、
    前記データビットに基づいてチェックビットを生成する段階は、
    望ましいハミング距離のためのチェックビットの生成に要求される前記チェックビットの最小数である第1のチェックビット数を決定する段階と、
    ハミングコードのH−行列の列ベクトルとして用いられる重み付けコードにおける、利用可能な重みのうち最小の重みを有する最小重み付けコードの数を増加させるべく、前記第1のチェックビット数より大きい第2のチェックビット数を利用する段階と、
    前記第2のチェックビット数に基づき、前記チェックビットを生成する段階と、
    を含む、
    方法。
  3. チェックビットおよびデータビットを取得する段階と、
    前記チェックビットおよび前記データビットに基づいてシンドロームを生成する段階と、
    前記シンドロームを用いてデータビットを訂正する段階と、
    を有し、
    前記チェックビットおよびデータビットを取得する段階は、
    望ましいハミング距離のためのチェックビットの生成に要求される前記チェックビットの最小数である第1のチェックビット数を決定する段階と、
    ハミングコードのH−行列の列ベクトルとして用いられる重み付けコードにおける、利用可能な重みのうち最小の重みを有する最小重み付けコードの数を増加させるべく、前記第1のチェックビット数より大きい第2のチェックビット数を利用する段階と、
    前記第2のチェックビット数に基づき、前記チェックビットを生成する段階と、
    を含む、
    方法
  4. パリティ生成回路の幅を減少させるべく、前記第2のチェックビット数を利用する段階をさらに含む、
    請求項1から請求項3までの何れか一項に記載の方法
  5. パリティビット幅を選択するエラー訂正の方法であって、
    望ましいハミング距離のためのチェックビットまたはシンドロームの生成に要求される前記チェックビットの最小数である第1のチェックビット数を決定する段階と、
    前記第1のチェックビット数に少なくとも1を加えることにより、第2のチェックビット数を提供する段階と、
    ハミングコードのH−行列の列ベクトルに用いられる重み付けコードを選択する段階と、
    を含み、
    前記重み付けコードを選択する段階は、前記第2のチェックビット数に対応する重み付けコードの中から、利用可能な重みのうち小さな重みを有する重み付けコードから順に、前記ハミングコードのH−行列の列ベクトルに用いられる重み付けコードを選択する段階を含む、
    方法
  6. 前記第2のチェックビット数に応じ、パリティ生成回路の幅を減少させる段階をさらに含む、
    請求項に記載の方法。
  7. 前記重み付けコードは、重みが2のコードを含む、
    請求項1から請求項6までの何れか一項に記載の方法。
  8. EC/SEDエラー訂正プロセスと共に実施される、
    請求項に記載の方法。
  9. 前記重み付けコードは、重み2および3コードを含む、
    請求項1から請求項6までの何れか一項に記載の方法。
  10. EC/DEDエラー訂正プロセスと共に実施される、
    請求項に記載の方法。
  11. エラー訂正回路であって、
    力データバスにおいてkビットの書き込みデータビットを受信する書き込みパリティ発生器と、
    前記書き込みパリティ発生器に結合され、そこからn−kビットのチェックビットを受信するメモリであって、nはコードワードビット数であり、前記kは、前記入力データバスからの書き込みデータビットであるメモリと、
    前記メモリに結合され、そこからn−kビットの読み取りチェックビットとkビットの読み取りデータビットとを受信する読み取りパリティ発生器と、
    前記読み取りパリティ発生器に結合され、n−kビットのシンドロームビットを受信するシンドロームデコーダと、
    前記シンドロームデコーダに結合され、前記シンドロームデコーダからビットの逆ビットと前記メモリから前記kビットの読み取りデータビットとを受信し、出力データバスにおいてkビットの訂正データを供給するデータコレクタと、
    を含む、
    エラー訂正回路。
JP2007269577A 2007-09-13 2007-10-16 エラー訂正方法およびエラー訂正回路 Active JP4960829B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/855,070 2007-09-13
US11/855,070 US7962837B2 (en) 2007-09-13 2007-09-13 Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012067151A Division JP5485323B2 (ja) 2007-09-13 2012-03-23 エラー訂正回路

Publications (3)

Publication Number Publication Date
JP2009070356A JP2009070356A (ja) 2009-04-02
JP2009070356A5 true JP2009070356A5 (ja) 2011-04-14
JP4960829B2 JP4960829B2 (ja) 2012-06-27

Family

ID=40455887

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007269577A Active JP4960829B2 (ja) 2007-09-13 2007-10-16 エラー訂正方法およびエラー訂正回路
JP2012067151A Active JP5485323B2 (ja) 2007-09-13 2012-03-23 エラー訂正回路

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012067151A Active JP5485323B2 (ja) 2007-09-13 2012-03-23 エラー訂正回路

Country Status (2)

Country Link
US (3) US7962837B2 (ja)
JP (2) JP4960829B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962837B2 (en) * 2007-09-13 2011-06-14 United Memories, Inc. Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix
US8327223B2 (en) * 2009-02-05 2012-12-04 Infineon Technologies Ag System and method for constructing multi-write error correcting code
KR101772008B1 (ko) * 2011-03-03 2017-09-05 삼성전자주식회사 통신 및 방송시스템에서 송수신 방법 및 장치
US8612842B2 (en) 2011-05-25 2013-12-17 Infineon Technologies Ag Apparatus for generating a checksum
US20130007563A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co., Ltd. Semiconductor memory device having error correction function and memory system including the same
US8996950B2 (en) * 2012-02-23 2015-03-31 Sandisk Technologies Inc. Erasure correction using single error detection parity
US9513987B2 (en) 2014-11-07 2016-12-06 International Business Machines Corporation Using error correcting codes for parity purposes
US9787329B2 (en) 2015-10-15 2017-10-10 Apple Inc. Efficient coding with single-error correction and double-error detection capabilities
KR20200058048A (ko) 2018-11-19 2020-05-27 삼성전자주식회사 반도체 메모리 장치 및 이를 구비하는 메모리 시스템
CN109714132B (zh) * 2019-01-23 2021-04-20 中国电子科技集团公司第二十八研究所 一种用于复杂电磁环境下的多链路抗干扰实时传输方法
KR102266056B1 (ko) * 2019-06-04 2021-06-17 주식회사 한글과컴퓨터 블록체인을 기반으로 문서 정보의 관리를 가능하게 하는 문서 정보 관리 장치 및 그 동작 방법
US11422888B2 (en) * 2020-10-14 2022-08-23 Western Digital Technologies, Inc. Data integrity check for writing data in memory
CN114203250B (zh) * 2021-12-14 2022-06-24 北京得瑞领新科技有限公司 固态存储器的数据存储方法、数据读取方法及固态存储器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623155A (en) * 1969-12-24 1971-11-23 Ibm Optimum apparatus and method for check bit generation and error detection, location and correction
US3825893A (en) * 1973-05-29 1974-07-23 Ibm Modular distributed error detection and correction apparatus and method
US4072853A (en) * 1976-09-29 1978-02-07 Honeywell Information Systems Inc. Apparatus and method for storing parity encoded data from a plurality of input/output sources
US4334309A (en) * 1980-06-30 1982-06-08 International Business Machines Corporation Error correcting code system
US4388684A (en) * 1981-03-27 1983-06-14 Honeywell Information Systems Inc. Apparatus for deferring error detection of multibyte parity encoded data received from a plurality of input/output data sources
JPH0760394B2 (ja) * 1986-12-18 1995-06-28 株式会社日立製作所 誤り訂正・検出方式
JPH04290144A (ja) * 1991-03-19 1992-10-14 Hitachi Ltd メモリ拡張方式
JP3515616B2 (ja) * 1994-09-20 2004-04-05 株式会社トキメック 誤り訂正装置
JP4413091B2 (ja) * 2004-06-29 2010-02-10 株式会社ルネサステクノロジ 半導体装置
DE102005022107B9 (de) * 2005-05-12 2016-04-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
FR2891419A1 (fr) * 2005-09-23 2007-03-30 St Microelectronics Sa Decodage d'une pluralite de flux d'informations codees selon un algorithme de codage par blocs.
US7853854B2 (en) * 2005-11-15 2010-12-14 Stmicroelectronics Sa Iterative decoding of a frame of data encoded using a block coding algorithm
US7962837B2 (en) * 2007-09-13 2011-06-14 United Memories, Inc. Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix

Similar Documents

Publication Publication Date Title
JP4960829B2 (ja) エラー訂正方法およびエラー訂正回路
JP2009070356A5 (ja)
JP5043562B2 (ja) エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
JP4036338B2 (ja) 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
US7278085B1 (en) Simple error-correction codes for data buffers
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
JP2008165808A (ja) 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
US20140223256A1 (en) Error detection and correction unit, error detection and correction method, information processor, and program
US8117526B2 (en) Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal
CN111628780A (zh) 数据编码、解码方法及数据处理系统
CN110941505A (zh) 产生错误校正电路的方法
Badack et al. Modified DEC BCH codes for parallel correction of 3-bit errors comprising a pair of adjacent errors
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
JP5602312B2 (ja) 誤り訂正復号装置
KR101304570B1 (ko) 패리티 체크 행렬 생성 방법, 이를 이용한 오류 정정 방법 및 장치, 오류 정정 장치용 디코더 그리고 오류 정정 장치를 포함하는 메모리 및 전자장치
Garcia-Herrero et al. Low delay non-binary error correction codes based on orthogonal Latin squares
Sim et al. Design of Two Interleaved Error Detection and Corrections Using Hsiao Code and CRC
Saha Software implemented fault tolerance through data error recovery
JP3743915B2 (ja) スポッティバイト誤り訂正・検出方法及び装置
US20140344652A1 (en) Method for generating a maximized linear correcting code, method and device for decoding such a code
Kim et al. High Detection Rate BCH Code with CRC Code for Memory Application
Jun et al. Single error correction, double error detection and double adjacent error correction with no mis-correction code
Pramod et al. ASIC implementation of error detection and correction using high performance majority logic decoder
Khondl et al. A pipelined processing architecture for delay optimized matching of data encoded with hard systematic ECC
Phelps Constructing an Error Correcting Code