JPH02278921A - 2進データの符号化及び復号のための方法及び復号装置 - Google Patents

2進データの符号化及び復号のための方法及び復号装置

Info

Publication number
JPH02278921A
JPH02278921A JP2052892A JP5289290A JPH02278921A JP H02278921 A JPH02278921 A JP H02278921A JP 2052892 A JP2052892 A JP 2052892A JP 5289290 A JP5289290 A JP 5289290A JP H02278921 A JPH02278921 A JP H02278921A
Authority
JP
Japan
Prior art keywords
matrix
symbol
binary
parity check
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.)
Pending
Application number
JP2052892A
Other languages
English (en)
Inventor
Chin-Long Chen
シン―ロング・チエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02278921A publication Critical patent/JPH02278921A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、一般に、記号エラーの訂正及び検出のために
エラー訂正コード操作(ECC)手法を使用できるよう
に、2進データを符号化し復号するためのものである。
このようなコードを復号するための装置も提供され、特
に、必要な排他的ORゲートの数に関して、回路のコス
トが最小になるような、エンコーダ及びデコーダを供給
するコード構造を開発するように実施される。具体的に
は、3個の検査記号を使用する実施例を示す。
B、従来の技術とその課題 電子データ処理システム及び電子データ伝送システムに
おけるエラー訂正検出コードの利用は、いくつかの理由
により次第に重要となりつつある。
特に、問題の複雑性や機密保護に関する関心が増しつつ
あることにより、データ伝送における信頼性レベルの向
上がさらに必要となってきている。
さらに、高密度の大規模集積(VLSI)回路チップが
メモリ・システム用にますます利用されてきているので
、アルファ粒子背景放射線の効果によって引き起こされ
るようなソフトのエラーが発生スる機会も多くなってき
ている。さらに、集積回路チップの利用が多くなったこ
とにより、複数の異なる回路チップから受は取った複数
のビット・パターンから各出力メモリ・ワードが導き出
されるというメモリ構成が出現している。したがって、
チップの障害は単一のチップに関連するような複数ビッ
ト・エラーを発生させるので、チップ障害の発生に対し
、メモリ・システムの保全性を保護できるということが
さらに望まれるようになってきている。したがって、特
にエラー発生の可能性を最小にすることに関して、メモ
リ・システム構成自体を活用したエラー訂正コード操作
システムを採用することが望ましい。したがって、デー
タの記号またはデータ・バイトに基づくコードの採用が
望ましい(本明細書では、「バイト」は必ずしも8ビツ
ト・ブロックの2進データを表さず、もっと−殻内な意
味を持つことに留意されたい)。
上記のように、エラー訂正コードは、信頼性の向上、サ
ービス・コストの削減、及びデータの保全性の保持とい
った目的のため、セミコンダクタ・メモリ・システムに
適用されてきた。特に、単一エラー訂正・2Mエラー検
出(SEC−DED)コードは、多くのコンピュータ・
メモリ・システムに適用され成功を収めている。これら
のコードは、コンビエータ業界のほぼ全体を通じて中規
模及び大規模システム向けのメモリ設計の不可欠の要素
となってきている。
ただし、エラー訂正コードのエラー制御に関する効果は
、メモリ・チップがコードに関してどのように構成され
ているかにより異なる。単一エラー訂正・2重エラー検
出コードの場合、1チツプにつき1ビツトの構成がもっ
とも効果的な設計である。この構成では、あるコード・
ワードの各ビットが異なるチップに記憶されるので、チ
ップ内で発生するどんな種類の障害でもそのコード・ワ
ードのせいぜい1ビツトを破壊するのにとどまる。
同じコード・ワード中でエラーが並ばない限り、メモリ
内の複数のエラーをこの方式で訂正することができる。
チップ設計がますます高密度化する傾向にあるため、シ
ステム細分性の問題により、1チツプ1ビツト・タイプ
のメモリ構成の設計がさらに困難になってきている。た
とえば、32ビツトのデータ・パスを有するメモリを設
計するのに1メガビツトのチップを使用する場合には、
システム容量は少なくとも4メガビツトでなくてはなら
ない。ただし、1チツプbビツトのメモリでは、障害の
タイプにより、チップの障害が1ないしb個のビット・
エラーを誘発する可能性がある。障害には、セルの障害
、ワード行の障害、ビット行の障害、部分的チップ障害
、または全体的チップ障害などがある。メモリ内で訂正
可能なエラーを蓄積させるような保守戦略を採用する場
合、5EC−DEDコードは、1チツプbビツトのメモ
リに特に適してはいない。複数個のビット・エラーは5
EC−DEDコードによる訂正が不可能なため、チップ
障害のタイプの分布が、複数のビット・エラーを誘発す
るチップ障害のタイプからずれる場合には、訂正不能な
エラーの割合が高(なることがある。
さらに重大な問題として、特定の複数エラーの訂正誤り
による、データの保全性の喪失がある。
したがって、バイト構成のメモリ・システムでは、1チ
ツプbビツトのメモリで単一バイト・エラー訂正・2重
バイト・エラー検出(SBC−DBD)コードを採用す
ることが望ましい。このようなコードを使用すると、単
一のチップ障害から生じたエラーが常に訂正可能で、2
重チップ障害によって発生したエラーも常に検出可能で
ある。したがって、訂正不能なエラーの割合が低くなり
、データの保全性が維持される。この目的に適したコー
ドに関する議論は、チン・ロン・チェ7(Chin−L
ong Chen)の論文「バイト構成メモリ・システ
ム用のエラー訂正コード(Error−Correct
 ingCodes for Byte−Organi
zed Memory Systems) JIEEE
 Transactions on  Informa
tion  Theorys  Vo 1.IT−32
、No、2 (1986年3月)に出ている。
エラー訂正コードのこの構成では、対立する基準がしば
しば存在する。最初の基準はコード自体のエラー訂正能
力に関するもので、第2の基準は符号化のしやすさ、な
らびに特に受は取った情報の復号のしやすさに関するも
のである。さらに複雑なコードでは、もっと複雑な復号
用回路を必要とする場合が多い。回路設計に関して、電
子回路チップ「面積」が重要であるという拘束条件があ
るため、それぞれ最小数の信号線が接続された、できる
だけ少数の回路ゲートを利用して回路の符号化及び復号
を実施できることが非常に望まれる。
したがって、本発明の目的の1つは、訂正及び検出能力
を犠牲にすることなく、最低コストのエンコーダとデコ
ーダを構成することにある。
具体的には、本発明に特に適用可能なりラスのコードの
1つは、3個の検査記号を使用したコードである。この
ようなコードは、次の形のパリティ検査行列を有する拡
張リード・ソロモン・コードとして記述できる。
上記の式1で、Hはパリティ検査行列であり、エラー訂
正コード操作で周知の概念である。また、■は、恒等行
列を表し、ゼロはその要素がすべてゼロである行列を表
す。一般にTは、b個の行とb個の列を有する行列であ
り、体GF (2)上のb次原始多項式の随伴行列を表
す。この形式のリード・ソロモン・コードのある特定の
実施例では、整数aはゼロとみなされる。このようなコ
ードに関する詳細は、本発明者の前記の論文に出ている
C0課題を解決するための手段 本発明の好ましい実施例によれば、n個のビットからな
るブロック及びb個以下の記号ビットからなるサブブロ
ック内で発生する2進データを符9化するための方法は
、H= CHI H2−−−−。
HNコの形の行列に等しいか、またはそれから誘導でき
る2進パリティ検査行列によって決定されるパリティ検
査条件にnビットのデータを置くステップを含む。上式
で、各記号列H3は、b個の行とb個以下の列を有する
M個の互いに素な2進部分行列HI Jの列であり、n
個の記号列の少なくとも1つが、最小数の1を含んでい
る。具体的に言うと、本発明者は、各記号列における部
分行列に正則2進行列を掛けても、エラーの訂正または
検出特性が影響を受けないことに気付いた。しかし同時
に、その結果生成されるコードは、パリティ検査行列の
1の数が減少している。i番目の検査ビットを生成する
のに必要な2ウエイ排他的ORゲートの数が、2進行列
Hのi番目の行の1の数−1に等しいので、これは望ま
しい目標であると考えられる。したがって、各記号がb
個のビットを持つ状況では、すべての検査ビットを生成
するのに必要な排他的ORゲートの総数が、2進行列H
中の1の数−3b(M=3の場合)に等しい。上式で、
Mは検査記号の数である。さらにHの記号列中の1の数
は、シンドローム・エラーに必要な排他的ORゲートの
数に比例する。したがって、エラー訂正符号化及び復号
用のハードウェアを削減するには、各記号列Hj中の1
の数を減らすことが望ましい。
このように、本発明によれば、等価コードを生成する正
則行列による乗算を利用して、Hの記号列を操作するこ
とができる。H行列自体の乗算は、同一のエラー訂正・
検出能力を有する等価コードを生成するということが知
られているが、この方法は、バイト構成コードのパリテ
ィ検査行列における記号列には適用されていないと思わ
れる。
本発明によって教示される記号列操作プロセスでは、さ
らに、列Hjを含むM個の互いに素な2進行列の1つが
恒等行列となるように、相互に独立して記号列に対する
正則変換を実施することが望ましい。これは、わかって
はいないが、M個の互いに素な部分行列のうち少なくと
も1つが実際に恒等行列であることが必要条件であると
思われる。恒等行列自体が最小数の1を所有し、実際に
階数を減少せずに1の数を減らすことができないので、
これが明らかに望ましい目標であると考えられる。した
がって、本発明の好ましい実施例によれば、パリティ検
査行列中の記号列がすべて、少なくとも1個の恒等部分
行列を有する。さらに、このような状況は、特にリード
・ソロモン・コードを含む状況に関して必ず生成し得る
。恒等行列を存在させるという拘束条件のため、復号回
路の設計がさらに単純になる。各記号復号機構は個別に
設計しなくてはならないが、とはいえ、必要な排他的O
Rゲートの数がはっきり節減されるので、約25%もの
回路の縮小が達成されることがある。
さらに、個別設計要件は、コード設計時のファクターに
すぎず、符号化または復号のコストまたは速度に影響を
与えない。
本発明のもう1つの実施例によれば、上記の柵類の線形
2進コードを復号する方法は、シンドロームSをM個の
サブベクトルs、l 82゜SMを含むものとして扱っ
て、受は取った2進ベクトルyに関するシンドローム・
ベクトルSを決定するステップを含む。次に、少なくと
も1個の記号位置jについて、(M−1)個の行列ベク
トル積Hij・Sk(I−1hk )を求める。ここで
、kは恒等行列Hjの行列行を表す。kの値は、jによ
って決まり、記号列により異なる。次に(M−1)個の
ベクトル積を対応するシンドローム・ベクトルSlと比
較して、訂正可能な記号エラーの有無を判定する。最後
に、比較動作で訂正可能な記号のエラーが見つかったと
き、少なくともj番目の記号が、エラー・パターンとし
てベクトル・パターンSkを使用して訂正される。この
ような線形2進コードを復号するための対応する装置に
ついても、本明細書で開示する。
したがって、本発明の目的は、最小の重みをもつ、すな
わちその構造中に最小の数の1を有するパリティ検査行
列の設計を可能にすることにある。
D、実施例 以下の説明では、まず最初に、コード中の検査記号の数
Mが3である状況を想定する。ただし、この説明の後半
では、Mが3より大きい一般的ケースを扱う。
ある実施例では、本発明は、存効であることが判明して
いるあるクラスの2進コードを取り上げる。というのは
、そのエラー訂正特性と、復号が容易なことのためであ
る。ただし、本発明は、特に使用する排他的ORゲート
の数によって決まる回路コストで評価する時、符号化及
び復号の両方に関してこれらのコードを改良するもので
ある。
本発明は、具体的には、多数の記号列の形で編成された
パリティ検査行列を有するコードに基づいたコード構成
に関するものである。各記号列には、所与の随伴行列T
のべき乗である部分行列を含むことが望ましい。Tは、
ガロア体GF (2)上の原始多項式に対応する行列で
ある。たとえば、原始多項式p (x)がb次で、次の
ような形をとる場合、 p(x) =1 +ptx +92X2+、、、、 +
 pb−+xb−’ + xb(2)随伴行列Tは、下
記の形となる。
ただし、加算はモジュロ2方式で行なわれるので、この
体では、元すなわちO及び1がそれら自体の加法的逆数
である。このため、普通なら他の体の1行列に与えられ
る形で存在するはずのマイナス符号がない。一般に、随
伴行列Tは、b個の行とb個の列を有する。行列Tはま
た、必ず、正則行列である。ただし、後で詳しく説明す
るような特定のコードの単純化及び縮小により、列また
は行の除去によって特定の2進パリティ検査行列が誘導
される時、少なくとも形式的にこの結果を変更すること
が可能である。適切なパリティ検査行列は、随伴行列T
の各べき乗を算出し、このような行列をたとえば上記の
式(1)のような位置に挿入することによって生成され
る。この結果、各記号がb個より少ないビットによって
表されるという特定の記号誤り訂正特性を有する2進パ
リティ検査行列が得られる。
本発明のある特定の実施例では、検査記号の数Mが3で
あるパリティ検査行列を考慮するのが好都合である。部
分行列Tはそれぞれ一般に、b個の行とb個の列を有し
、そのコード構造及び多項式p (x)の基本的特質に
より、(恒等行列である行列TOは含まずに)2b−2
個以下のそのような行列が存在する。したがって、少な
くとも最初は、次の形を有するパリティ検査行列を考慮
することが有用である。
上式で、mはMとは無関係で2b−2より小さいかまた
はそれに等しい。さらに、上式で■は一般に、b個の行
とb個の列を有する恒等行列を表し、行列0は、要素が
すべてゼロであるbxb行列を表す。式(4)によって
定義されるコードでは、その位置がHの最後の8b個の
2進列に対応している3b個の2進検査ビツトが必要で
ある。
さらに、上記の行列がH=[H,H2,、、H,コの形
であることにも留意されたい。ただし、Nはコード記号
の数、すなわちコード・ワード内のb個のビットからな
るブロックの数である。なお、各記号がb個のビットで
表されている限り、コード・ワードのビット数nはNb
となる。上記の行列Hでは、N個の列がそれぞれ2進す
列行列を表す。これらの列を、本明細書では記号列と呼
ぶ。
また、2進列の重みは、その列中の1の数であり、記号
列の重みは記号列のb個の成分2進列中の1の数である
本発明を理解する鍵となる知見の1つは、各記号列Hj
を、b、Xb正則行列に掛けることができ、その結果、
可逆線形方式で記号列中のビットをスクランプルするこ
とによって異なるコードが形成されることである。ただ
し、コード特性は変わらない。この操作が可能なのは、
コードが、別々のN個のbピット・ブロックを有する記
号コードとして扱われるためである。各bビット・ブロ
ックは、このようにして独立に操作可能である。事実、
正則行列による乗算でTの記号列を操作するには、Hの
記号列が特定の形をもつ必要はない。先に指摘したよう
に、バイト構成コードに対するどんなパリティ検査行列
にも適用可能である。
この行列操作の動機づけは、1番目の検査ビットを生成
するのに必要な2ウエイ排他的ORゲートの数が、Hの
2進行列の1番目の行中の1の数−1に等しいことから
生じている。すなわち、すべての検査ビットを生成する
のに必要な排他的ORゲートの総数は、Hの2進行列中
の1の数−3bに等しい。したがって、エラー訂正符号
化用ハードウェアを縮小するには、各記号列中の1の数
を減少させ、一般に2進行列H自体中の1の数を減少さ
せることが望ましい。一般に、式(1)または(4)に
示されているパリティ検査行列Hはこの意味では最適で
はない。
一般に、各記号列にすべてのbxb正則2進行列を掛け
、その結果得られる1の数が最小の記号列を、その後に
好ましい記号列として使用する。
したがって、本発明においては、各記号列が最小数の1
を有するという意味で最適化されている記号列を使用す
る。このような記号列及びそのような記号列から編成さ
れるパリティ検査行列は、必要なハードウェアが最小と
なるという意味で最適である。
確かではないが、このような−殻内最適化で、記号列を
構成する互いに素な部分行列のスタックのどこかに恒等
部分行列が出現する記号列が生成されると思われる。た
だし、最も一般的な実施例では、本発明は、特にこの要
件に限定されてはいない。しかしながら、復号及びエラ
ー・パターンの確立を目的とした場合、恒等部分行列を
含む記号列でパリティ検査行列を構成できることが非常
に望ましい。下記から理解されるように、この問題は、
特に上記の式(1)または(4)に示されている種類の
パリティ検査行列の場合には容易に解決される。
具体的に言うと、ここで、式(4)に示される特定の形
の行列で実行可能な、パリティ検査行列の修正による、
最適化方法に特に注目する。特に、第1列と最後の3つ
の記号列は別として、各記号列は、最初の行列行に恒等
行列を含み、他の2つの行列行には T QとT−qの
形の行列を含むことがわかる。行列Tのこの構造により
、この行列はそれ自体正則行列であり、上記の正則記号
列変換を行なうために使用できる。たとえば、式(4)
の行列中の記号列#2にTまたは’l’ −1のいずれ
かを掛けて、それぞれ次のいずれかの構造をもつ記号列
を形成することが可能である。
または いずれの場合も、その結果得られる記号列H2は恒等行
列を含むことがわかる。しかしながら、式%式% 3個の可能な記号列H2は、必ずしも同じ重みを有して
いるわけではない。ただし、コード特性を変えずに、パ
リティ検査行列Hに対する記号列#2としてのこのよう
な3つの可能性のどれか1つを選択することは可能であ
る。これは、本発明の動作及び効果を理解するための重
要な態様である。具体的には、本発明は、1つ以上の、
好ましくはそのパリティ検査行列の各記号列の重みが最
小であるという、低コストのエラー訂正コード操作の方
法を提供する。さらに、パリティ検査行列中の記号列の
最初の非ゼロ部分行列として恒等行列を含むことが必要
ではないことに留意されたい。
記号列のどこかに、恒等行列が存在する限り、誤りのあ
る記号のエラー・パターンが、かならず容易に獲得でき
る。この知見は、パリティ検査行列中の重みが最小の記
号列を構成するのに極めて重要であり、低コストの復号
回路を構成するのにも重要である。また、式(4)中の
行列構造が、特に記号列中に恒等行列が常に存在すると
いうコードの構成に適用可能であることがわかる。
上記の考察から、改善されたパリティ検査行列を構成す
るための簡単なアルゴリズムがもたらされる。このよう
な行列は、低コストのエンコーダをもたらし、特に、各
記号列中に恒等行列が存在するという状況での低コスト
・デコーダの製造に利用できる。さらに詳しくは、次の
形式の各記号列H9では、 (ただし、qは整数)下記の手順を使って記号列の修正
により検査行列Hを改良することができる。
具体的には、HQの重みをW、とする。次に、行列T−
”に列H9を掛け、この修正した記号列の重みをW2と
する。次に行列T’に記号列Hoを掛け、その対応する
重み、すなわちその結果得られる行列中の1の数をW3
とする。次に3つの重みWl。
W2及びW3を比較する。W、が最小である場合、行列
Haはそのままである。W2が最小である場合は、H,
がHo−T−’で置き換えられる。同様に、W、が最小
の重みである場合は、記号列Haが記号列Ha−T’で
置き換えられる。これらの記号列操作をできるだけ多く
の記号列に対して行なうことが好ましいことに留意され
たい。また、記号列の置換は、必ずしもすべての事例で
行なわれるわけではないということも留意されたい。す
なわちWlは、必ずしもW2及びW3より大きいわけで
はない。
上記の原理は、b = 5 m m = 14かつp(
x)=1+x2+x’である次の例で例示される。この
場合、随伴行列Tは、次式で与えられる。
この行列は、第1B図にも示されている。式(4)のパ
リティ検査行列は、第1A図に示すようなTのべき乗で
表される。すべてゼロの行列は0で表される。第1A図
に示したパリティ検査行列Hの18個の記号列の重み分
布は(151719838373534555)であ ると計算される。したがってこのパリティ検査行列の総
重みは466となる。上記の重み比較アルゴリズムを適
用することにより、第2図に示すような改良されたパリ
ティ検査行列が得られる。この新しい行列中の記号列の
重み分布は(1515)となり、したがってこの新しい
行列の総重みは424となることがわかる。これは、重
みが8%減少している。第2図に示したパリティ検査行
列では、各記号列が1個以上の恒等行列を含むことに留
意することが特に重要である。また、最初の7つの記号
列について、記号列の置換が行なわれていないこともわ
かる。これは、W2及びW3に対する W、の相対的サイズに関する、上記のコメントに一致し
ていることがわかる。
さらに減少を実現する可能性について考慮するまえに、
第1C図に示す行列を考慮するのが好都合である。この
特定の行列では、検査記号の数Mは4である。この行列
及び式(1)に示されている行列は、本発明の結果を検
査記号の数がさらに大きいコードに拡張するための一般
的機構を示している。
第1A図に関して、記号列は実際には式(6)に示され
ている形であることにも留意されたい。
特に、Tのべき乗は周期的な性質であるため、’l’−
1=’J’30. T2=T29  ’l’−3=’]
’28等となる。
この事実は、記号列Haを式(8)と比較する際に重要
である。同様のことが他の記号列にも適用される。
第1A図の行列行#2に特に着目すると、TI4を越え
るTのべき乗を加えることによってH中の記号列の数を
拡張することが可能であることがわかる。この場合も、
Tのべき乗が周期的な性質をもつため、このような行列
をT″″までの範囲にすること!可能である。ただし、
m = 2 ” −2である。b=5の場合、m = 
30となる、H□8は最大数の記号列を有するパリティ
検査行列であると仮定する。これはさらに大きな減少を
得る機会を与える。具体的には、実際の応用例では、コ
ードの長さは、通常、所与のコード・クラスで可能な最
大値より小さい。具体的には、そのコードに必要な記号
の数がNより小さいことがある。この場合、H+max
から記号列のサブセットを選択して、所望のパリティ検
査行列を形成することが可能である。ハードウェアによ
る符号化または復号の実施で必要な排他的ORゲートの
数を最小にするため、重みが最小の記号列を選択する。
そうすると、パリティ検査行列を構成するためのさらに
新しい手法が得られる。具体的には、この方法の第1ス
テツプは、上記の、ただし今度はmの最大値が2b−2
である、行列乗算・重み選択アルゴリズムを適用するこ
とを含む。次に、修正されたHaaxから、所望の数の
記号列を、縮小したパリティ検査行列として使用するた
め、総重みが最小のサブセットを形成するように選択す
る。
これらの原理は、b=5.N=18及びp(x)=1+
x2+x’である上記の例に適用できる。これは、第1
A図及び第1B図で使用されているものと同じ1組のパ
ラメータである。本発明の2番目の縮小方法(H□8の
列からの選択)を適用すると、さらに縮小されたパリテ
ィ検査行列が得られる。この行列は第3図に示されてい
る。ただし、行列Tは上記のものと同じである。この行
列の2進形を第4図(A及びB)に示す。この行列の2
進形は、第4図で行列Hによって指定されるパリティ検
査条件を課せられたコード・ワードを受は取るためのデ
コーダ回路を設計する際に有用なことが以下でわかる。
この行列中の1の総数は350である。これは、重みが
488の第1A図に示した行列と比べて、25%の減少
となる。
上記の考察は、一般に3つの検査記号を有するコードの
みを対象としたが、本発明の方法は、任意の数の検査記
号についてパリティ検査行列中の重み記号列が最小であ
るバイト編成のエラー訂正コードを構成するのに適用で
きる。特に、Tの適切なべき乗を掛けることによって、
恒等行列が存在する記号列を形成することが常に可能で
あることが第1C図かられかる。ただし、これで記号列
中の1の絶対的最小数を保証するのに十分であると思わ
れる。要するに、正則被乗数行列として、Tの様々な異
なるべき乗を使用することだけが必要であると推測して
いる。一般に、考慮すべきTのこのようなべき乗は2b
−2個ある。しかしながら、より一般的な場合には、可
能なすべての正則bxb行列を使用することによって得
られる結果を調べることが可能である。この問題は、記
号ビットbが多くなるほど難しくなるが、b=3.4ま
たは5の場合には追跡可能である。しかしながら、各記
号列は互いに独立して操作できるので、乗算及び単純化
の操作は簡単であり、しかも、記号列の数もしくは検査
記号の数の増加につれて急激に増加することはない。
ここで、復号に適用可能な本発明の利点に特に着目する
。たしかに、エンコーダでは、バUfイ検査行列中の1
の数が少ないほど、それを実施するのに必要なハードウ
ェアの量も小さくなる。というのは、1番目の検査ビッ
トで必要な2ウエイ排他的ORゲートの数が、2進行列
の1番目の列中の1の数−1に等しいためである。デコ
ーダに関しては、状況は一般にそれほど簡単ではない。
ただし、各記号列中の部分行列の1つとして恒等行列が
存在することによる単純化のため、排他的ORゲートの
数が最小であるデコーダを提供するためにある種のコー
ド構造を開発することが可能である。さらに、このよう
なデコーダは、自動回路レイアウトのアルゴリズム及び
方法を使って容易に設計することが可能である。
具体的には、Eがある記号に関するbビットのエラー・
パターンであると仮定する。エラーの位置は、Eベクト
ル中の1の存在によって示される。
コード・ワードの1番目の記号がその記号のエラー・パ
ターンとしてEを含むと仮定する。Eのエラー・シンド
ロームは、パリティ検査行列Hの1番目の列とベクトル
Eの積に等しい。シンドロームSはH,として与えられ
る。ただし、yは受信したコード・ワード・ベクトルで
ある。したがって、コード・ベクトルXを送信し、ベク
トルyを受信した場合、X = y −E Cまたは7
=x+E)となる。ただし、XはH,=Oであるような
コード・ワードであるため、H,=HEであることが判
明している。具体的には、3個の検査記号が存在するよ
うなこのような状況では、シンドロームSは、それぞれ
bビットの3つのサブベクトルに区分できる。この区分
は具体的に第6A図に示されている。したがって、Sa
 (St Sa Sa)となる。さらに、Hの1番目の
記号列の3個の部分行列成分がHijt H2J及びH
3Jで表されると仮定する。この構成は、具体的に第8
B図に、Mが必ずしも3ではない一般的事例について示
されている。この場合、単一の記号位置にすべてのエラ
ーが発生する時には、行列の式5=HEは、次のような
8個の独立した行列の式として表すことができる。
Ss ” Hij−π             (8
a)Sa ” H2J−π             
 (8b)S3’ H3J  −π         
     (8c)上記の式で、SいSa及び83、T
は、列ベクトルとみなされ、■は、nビット長のEベク
トルからの記号jに関するbビットのエラー・パターン
である。各記号列jについて、部分行列Hij(i=1
.2.3.)の1つは、恒等行列を表し、したがって、
S1% 82またはSaのどれか1つが記号jのエラー
・パターン−E−となる。Slのうちのどれが恒等行列
であるかは、jすなわち考慮中の特定の記号列によって
決まる。ただし、これは、受は取ったベクトルを符号化
するのに使用される元のパリティ行列Hの構造かられか
る。したがって、エラー・パターンτは、Sの3つのサ
ブベクトル成分の1つとして容易に識別できる。■が識
別されると、式(8)の3個の合同関係が真であること
を検証することによって、記号エラー状況が決定される
たとえば、第3図及び第4図のパリティ検査行列によっ
て定義されているコードを考えてみる。
最初の記号位置にエラーがある場合には、H82が最初
の記号列中の恒等行列なので、エラー・パターンEはS
aに等しい。エラーが本当に最初の記号位置にあるかど
うか確認するには、S 1 = T ”・SaかつS 
3= T ’・Saであることを検証する必要がある。
この計算を各記号列について個別に実行しな(てはなら
ないが、この計算と、必要な比較を実行する比較的簡単
な方法があることがわかる。
次に、特に、本発明の特定の実施例に従って構成された
コード・ワードのための復号の方法と装置に着目する。
具体的には、第5図は、記号で構成したエラー訂正コー
ドに関するエラー訂正及び検出についての全体的ブロッ
ク・ダイアグラムである。第6C図、第6D図及び第8
E図は、第5図に示したシステムのさらに詳細な態様を
示す。
第5図に関して、復号は、各記号ごとに個別に行なわれ
ることに留意されたい。しかしながら、一般にすべての
シンドローム・ビットが、記号エラー検出機構(10#
1ないし#M)に利用可能である。このような各記号エ
ラー検出機構10は、具体的に2進行列の乗算と比較演
算を行なう。機能ブロック10の出力は、基本的には、
対応するビット・エラー検出・訂正機構20に供給され
るイネーブル信号である。訂正機構20は、対応する記
号エラー検出機構10からイネーブル信号を受は取り、
各機構20はまたシンドローム・データ・ビットの特定
のサブセットを受は取石。いずれの場合も、受は取った
シンドローム・ビットのサブセットは、Hからの対応す
る記号列中で恒等行列がとるのと同じ相対的位置をシン
ドローム中でとるシンドローム・サブベクトルと一致す
る。
さらに、各記号について、ビット・エラー検出、・訂正
機構20は、記号データ・ビットそのものを受は取る。
したがって、機能ブロック20は、典型的には、b個の
シンドローム・ビットとb個の記号データ・ビットを受
は取る。さらに、機能ブロック20は、記号エラー検出
機構10からイネーブル信号を受は取る。このイネーブ
ル信号は、訂正不能エラー(UE)検出機構30にも供
給される。これらの機構のそれぞれについては、後で第
60図ないし第6E図に関してさらに詳しく説明する。
次に、記号エラー検出機構10に特に着目する。
この機構は、M=3という状況について第6C図に詳し
く示されている。具体的には、たった1つのこのような
機構、すなわち1番目の記号と対応する機構が示されて
いる。図の事例では、シンドロームは、それぞれbビッ
トの3個のグループに区分されている。2つの行列ベク
トル積演算が実行される。その1つは、積Hij−Sk
の計算である。ただし、lはkとは異なり、kはjに依
有する。機構10によって計算されるもう1つの行列積
は、行列ベクトル積H8j−Skである。ただしlはk
と異なり、kはjに依有する。各記号エラー検出機構1
0はkの独自の値に関連していることに留意されたい。
具体的には、kは、恒等行列を含む記号列中の行列行の
識別子である。第4図に示したパリティ検査行列中の最
初の記号列では、k=2である。この行列の2番目の記
号列では、k=3である。また、最初の記号列では、j
=1であり、実際に算出される2個の行列積はHl・及
びH3□・S2である。さらに詳しくは、シンドローム
・ベクトルSを(81S2−−1. 815)として表
す場合、記号列乗数12は実際には、下記の式(9a)
及び(9b)によって与えられる2つの行列演算を実行
することがわかる。
この最後の2つの式は、特に排他的OR演算またはモジ
ュロ2演算として表す時、回路の複雑さがパリティ検査
行列中の1の数に正比例することをはっきり示している
。これらの式は、指示された行列積を実施する回路も直
接指定している。第4図の行列についてj=1(記号#
1)(この場合、第4図からに=2であることがわかる
)である場合のみ、式(9a)と(9b)がこのような
状況を表すことを銘記されたい。式(9a)と(θb)
から得られる2つのベクトルは、それぞれサブベクトル
S1及びS3と比較される。この演算は、それぞれ第6
C図に示す比較機構13及び14によって実行される。
ただし、体の加算は、排他的OR機能に等しく、また、
排他的OR機能はその入力変数に対して暗黙の比較を行
なうので、実際には、乗算における比較は複数入力排他
的ORゲートの単一層によって実行されることがわかる
。この状況は、後で考察する第8A図でさらに明らかと
なる。ただし、記号エラー検出機構10に関して、比較
結果はNORゲート15に供給され、NORゲート15
からビット・エラー検出・訂正機構201及び訂正不能
エラー指示機構30に所望のイネーブル信号が供給され
る。
ビット・エラー検出・訂正機構については、第6D図に
さらに詳しく図示しである。この図で、シンドローム・
サブベクトルSiからのエラー・パターン・ビット、す
なわち(Skt Sk2.− 、 。
5hb)ビットがANDゲート21に供給される。
ANDゲート21は、その記号装置のみに関するビット
の訂正が可能となるように記号エラー検出機構10から
イネーブル信号を受は取る。したがって、シンドローム
・サブベクトルSkで表されるエラー・パターンは、適
切な条件のもとて排他的ORゲート22に直接供給され
る。この排他的ORゲートは、記号データ・ビットを受
は取り、それが、条件付きインバータとして動作する排
他的OR’F’−)22にエラー・パターン(シンドロ
ーム・サブベクトル)を供給することによって訂正され
る。したがって必要な場合、受は取ったデータ・ビット
がエラー・パターンに従って反転される。それが可能な
のは、Hの各記号列中に恒等行列が存在するためである
。このようにビット・エラー検出・訂正機構20は、図
のように、記号jに対する訂正された記号ビットを生成
するように動作する。
次に、複数人力NORゲート31に供給されるイネーブ
ル信号を記号エラー検出機構10から受は取る訂正不能
エラー指示機構30に着目する。
このNORゲートの出力は、ANDゲート32に送られ
、ANDゲート32は、非ゼロのシンドロームを検出し
た時、この信号を通過させる。第6E図を参照されたい
復号ハードウェアとパリティ検査行列Hの部分行列の関
係については、第8A図に詳しく図示しである。第8A
図は、第4図のパリティ検査行列に関連す委最初の記号
位置(j=1)に対する記号エラー検出機構10と、ビ
ット・エラー検出・訂正機構20を示す、具体的には、
第8Ai図の機能ブロック10は、上記の式(8a)と
(8b)に示される行列の乗算を実施する。特に、まず
機能ブロック10と排他的ORゲー)18.1ないし1
6.6に注目する。これらの排他的ORゲートは、式(
9a)に示されている行列乗算を実行する。行列とベク
トルの乗算(実際には一連のモジュロ2加算である)は
、排他的ORゲート16゜1ないし16.6に供給され
るシンドローム・ビットを使って実行される。図では、
これらの排他的ORゲートは短いリード線をもつ。第8
A図及び第8B図、の短いリード線は、行列乗算に関連
している。さらに、図の排他的ORゲートの層は、排他
的OR機能に固有の性質(すなわち、それは等価関数の
逆数であり、NORゲート17はこの逆数を補数化する
)により、同時に比較演算を実行できる。したがって、
行列・ベクトル積)(11・S2をシンドローム・ベク
トルSsと比較するために、シンドローム・サブベクト
ルのビット位置Siないしs5を、それぞれ排他的OR
ゲート16.1ないし16.5に供給することだけが必
要なことがわかる(bビット・シンドローム・サブベク
トルの81を、最初のシンドローム・ビットの81と区
別すること)。これは、長い入力リード線で示されてい
る。したがって、第6C図に示した乗算と比較演算は、
実際には、図の単一の排他的ORゲート層で実行される
。同時に、排他的ORゲー)16.8ないし18.10
を介して供給される短いリード線信号は、式(9b)に
示されている行列の乗算、すなわち行列とベクトルの積
)Iat・S2を効果的に実行する。この結果は、シン
ドローム・ビット位置811ないしStSを、それぞれ
排他的ORゲー)IF5.8ないし16.10に供給す
ることによって、シンドローム・サブベクトルS3と効
果的に比較される。排他的ORゲート出力(ゲート18
.1ないし18.10)は、NORゲート17に供給さ
れる。NORゲート17は、所望のイネーブル信号を、
ビット・エラー検出・訂正機構20中のANDゲー)2
1.1ないし21.5に供給する。これらのANDゲー
トは、シンドローム・サブベクトルSz=  (8g 
 117  Be5s 8so)によって、あるいは第
6A図に示されているS2= (821822Ss 8
24 S’s)の表記を使って表されるような、記号位
置1のエラー・さクトル・パターンを受は取る。エラー
・パターンは、それぞれANDゲート21.1ないし2
1゜5に供給される。これらのANDゲートは、複数人
力NORゲート17からの出力によってイネーブルされ
る。ANDゲート21.1ないし21゜6の出力は、前
記のように、排他的ORゲート22.1ないし22.5
に供給される。これらの排他的ゲートは、受信済みデー
タ記号ビットD1ないしDa用の条件付きインバータと
して働く。このように、ビット・エラー・訂正機構20
の出力は、記号位置#1に対する訂正された記号ビット
である。他の各記号位置についても、同様の復号回路が
設けられている。さらに、訂正不能エラー指示が第6E
図に示すような機能ブロック30の動作によってもたら
される。
次に、第7図に示すようなパリティ検査行列と、第8B
図に示すようなその回路の実施例の間の特定の関係につ
いて考慮する。さらに詳しくは、第7図は、第4図の2
進検査行列を修正したものを表す。第4図の行列は、8
0個の2進列を含んでいる。ただし、特定の実施例では
、84個の情報ビットと15個の検査ビットを含む79
ビツト・コードだけが必要とされる。この特定の構成は
、1チツプ9ビツト構成で編成されているメモリ・チッ
プの配列から得られたものである。各メモリ・アクセス
で、18個のメモリ・チップから2×79個の出力ビッ
トを受は取ることが望ましかった。
この出力は、それぞれ64個の情報ビットを有する2個
のエラー訂正可能ワードに分割される。したがって、各
ECCワードは、第7図の下端のビット・カウントで示
唆されるように、11個の4ビット記号と7個の5ビッ
ト記号(合計79ビツト)に分割される。さらに縮小さ
れたこの行列は、11個の記号列から1個の2進列を削
除することによって生成されたものである。選択した削
除のための規則は、重みが最大の2進列を除去するもの
であった。第7図は、その結果得られる、すべての単一
チップ(記号)障害から生じたエラーを訂正し、すべて
の2重チップ障害から生じたエラーを検出するように設
計されているエラー訂正コード用のパリティ検査行列を
示す。最初の記号(j=1)用のエラー訂正回路を第8
B図に示す。特に、シンドローム・ビット位置810に
関して最も顕著であるが、さらに単純化されていること
がわかる。ただし、排他的ORゲート18.1ないし1
8.10に対する他の入力の除去により、さらに単純化
される。さらにビット・エラー検出・訂正機構20では
、ANDゲートと排他的ORゲートがさらに少数でよい
第8A図及び第8B図に示した回路の利点の1つとして
、行列・ベクトル積の演算及び比較演算が、単一の排他
的ORゲート層で実行可能であるということがある。た
だし、論理的設計者は、しばしば、他のゲートを使用し
て排他的OR機能を実施することを認識されたい。その
ようなゲートで実施する時は、特に、補数及び真数の形
の入力変数が利用不能な時、2つの論理回路層が必要と
なることがあることも理解されたい。しかしながら、そ
れでもなお、演算及び回路の単純化の点で大きな利益が
ある。
さらに、エラー訂正コード設計の当業者なら理解できる
ように、所与のパリティ検査行列から別のコードを導き
出すことが可能である。前に指摘したように、これらの
コードの一部は、パリティ検査行列の列を削除すること
によって得られる。
したがって、本発明は、本発明のパリティ検査行列の修
正形から誘導可能なコード操作システムをも対象とする
ことがわかる。なお、特に第4図から第7図への移−行
段階でわかるように、2進列の削除プロセスでは、他の
点では恒等行列であるが余分な行を宵することのある行
列が生成されることに留意されたい。とは−いえ、これ
らの行列は、本発明の実施例、及び記号列中に恒等部分
行列が存在することを示す特許請求の範囲に含まれるも
のである。
E0発明の効果 本発明は、低コストの回路を実現し、復号時間を短縮す
る符号化及び復号のための方法と装置を提供する。さら
に、本発明は、きわめて有効なエラー訂正特性を有する
周知のコードの大きなりラスを操作し、その性能を改善
するための今まで未知の技法を使用している。さらに、
本発明は、他の点では複雑な行列・ベクトル積の演算と
比較演算を単一の回路層で実施し、それによって演算速
度を向上させると同時に、このコードが最小のハードウ
ェアで実施できるようにするコード操作方法を提供する
【図面の簡単な説明】
第1A図は、回路とデコーダの単純化のために本発明に
基づいて操作し処理することのできる種類のパリティ検
査行列の例示である、3つの検査記号を有するバイト構
成コード用の行列を示す図である。 第1B図は、第1A図の行列中で使用できる特定の随伴
行列Tを示す図である。 第1C図は、特により多数の検査記号を示すより一般的
な形のパリティ検査行列を示し、さらにこうしたパリテ
ィ検査行列をより多数の検査記号を使用するコードに拡
張したものを示す図で条る。 第2図は、本発明に従って操作されたパリティ検査行列
を示す図である。 第3図は、最初より多数の記号を伴うより長い長さコー
ドを使用し、記号列を最小重みの要件に従ってより長い
パリティ検査行列から選択的に減少させるという、本発
明のある実施例に基づいて構成されたパリティ検査行列
を示す図である。 第4A図及び第4B図は、第3図に行列の形で示したパ
リティ検査行列の2進行列表現を示す図である。 第5図は、本発明に基づく復号装置の全体的構成を示す
ブロック図である。 第6A図は、シンドローム・ベクトルSを複数のM個の
サブベクトルSLにセグメント化したものを示す図であ
る。 第6B図は、パリティ検査行列Hの記号列Hjの構成を
示す図である。 第6C図は、記号jについて、M=3個の検査記号が存
在するという特定の場合の乗算・比較回路の構成を示す
図である。 第6D図は、記号j中のビットを訂正するために用いら
れる回路の図である。 第6E図は、訂正不能エラーを指示する回路の図である
。 第7A図及び第7B図は、第4図の列を縮小した形であ
る2進検査行列を示す図である。 第8Ai図及び第8A2図は、第4図に示した行列につ
いて記号j=1に対して実行される行列・ベクトル積演
算作及び比較演算を実施するために使用される特定の回
路を示す図である。 第8B1図及び第8B2図は、第8A図に類似している
が、具体的には第7図の縮小パリティ検査行列向けの回
路を示す図である。 FIG。1△ FIG。10 FIG、IB FIG。2 FIG。3 FIG、Ll−△ FIG、6△ b&:−ソト 記号ビット ■ ・ト

Claims (3)

    【特許請求の範囲】
  1. (1)それぞれが最高b個の記号ビットを含む複数のサ
    ブブロックからなる2進データを符号化するための方法
    であって、 それぞれがb個の行と最高b個の列を有するM個の互い
    に素な2進部分行列で構成されたN個の記号列H_j(
    j=1、2、・・・、N)を使用し該N個の記号列の少
    なくとも1個が当該列中で最小数の1を与えるように修
    正されている2進パリテイ検査行列H=[H_1H_2
    ・・・H_N]に従って前記2進データを符号化するこ
    とを特徴とする2進データ符号化方法。
  2. (2)それぞれが最高b個の記号ビットを含む複数のサ
    ブブロックからなる2進データが、それぞれがb個の行
    と最高b個の列を有するM個の互いに素な2進部分行列
    で構成されたN個の記号列H_j(j=1、2、・・・
    、N)を使用し前記M個の2進部分行列の少なくとも1
    個が恒等行列である2進パリテイ検査行列H=[H_1
    H_2・・・H_N]に従って符号化されている線形2
    進コードを復号するための方法であって、 M個のサブベクトルS_1、S_2、・・・、S_Mを
    有するシンドロームSを決定し、 前記2進部分行列をH_i_j(i=1、2、・・・、
    Mj=1、2、・・・、N)で表して、少なくとも1つ
    の記号位置jについて、(M−1)個の行列ベクトル積
    H_i_j・S_k(i≠k、kは前記恒等行列を含む
    H_jの行列行を表す)を決定し、訂正可能な記号エラ
    ーの存在を調べるために、前記(M−1)個の行列ベク
    トル積H_i_j−S_k及び対応するシンドローム・
    サブベクトルS_iを比較し、 前記訂正可能なエラーの存在が示されると、ベクトル・
    パターンS_kを用いてj番目の記号を訂正することを
    特徴とする復号方法。
  3. (3)それぞれが最高b個の記号ビットを含む複数のサ
    ブブロックからなる2進データが、それぞれがb個の行
    と最高を個の列を有するM個の互いに素な2進部分行列
    で構成されたN個の記号列H_j(j=1、2、・・・
    、N)を使用し前記M個の2進部分行列の少なくとも1
    個が恒等行列である2進パリテイ検査行列H=[H_1
    H_2・・・H_N]に従って符号化されている線形2
    進コードを復号するための装置であって、 M個のサブベクトルS_1、S_2、・・・、S_Mを
    有するシンドロームSを決定する手段と、 前記2進部分行列をH_i_j(i=1、2、・・・、
    Mj=1、2、・・・、N)で表して、少なくとも1つ
    の記号位置jについて、(M−1)個の行列ベクトル積
    H_i_j・S_k(i≠k、kは前記恒等行列を含む
    H_jの行列行を表す)を決定する手段と、 訂正可能な記号エラーの存在を調べるために、前記(M
    −1)個の行列ベクトル積H_i_j−S_k及び対応
    するシンドローム・サブベクトルS_1を比較する手段
    と、 前記訂正可能なエラーの存在が示されると、ベクトル・
    パターンS_kを用いてj番目の記号を訂正する手段と
    を具備することを特徴とする復号装置。
JP2052892A 1989-03-06 1990-03-06 2進データの符号化及び復号のための方法及び復号装置 Pending JPH02278921A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31898389A 1989-03-06 1989-03-06
US318983 1989-03-06

Publications (1)

Publication Number Publication Date
JPH02278921A true JPH02278921A (ja) 1990-11-15

Family

ID=23240392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2052892A Pending JPH02278921A (ja) 1989-03-06 1990-03-06 2進データの符号化及び復号のための方法及び復号装置

Country Status (3)

Country Link
US (2) US5600659A (ja)
EP (1) EP0386506A3 (ja)
JP (1) JPH02278921A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230990A (ja) * 1993-01-02 1994-08-19 Macrotek Gmbh 符号誤りの識別、補正方法及び装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0674395A3 (en) * 1994-03-17 1996-01-17 Toshiba Kk Device for coding an error correction code and method for coding error correction.
US5745507A (en) * 1995-03-31 1998-04-28 International Business Machines Corporation Systematic symbol level ECC for use in digital memory systems
US5761221A (en) * 1995-12-11 1998-06-02 International Business Machines Corporation Memory implemented error detection and correction code using memory modules
US5768294A (en) * 1995-12-11 1998-06-16 International Business Machines Corporation Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
SG76501A1 (en) * 1996-02-28 2000-11-21 Sun Microsystems Inc Error detection and correction method and apparatus for computer memory
US5754562A (en) * 1996-08-29 1998-05-19 International Business Machines Corporation Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
US5805615A (en) * 1996-08-29 1998-09-08 International Business Machines Corporation Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
US6041430A (en) * 1997-11-03 2000-03-21 Sun Microsystems, Inc. Error detection and correction code for data and check code fields
US6081920A (en) * 1998-01-08 2000-06-27 Lsi Logic Corporation Method and apparatus for fast decoding of a Reed-Solomon code
US6574731B1 (en) * 1999-03-05 2003-06-03 Hewlett-Packard Company Transmitting data words
US6341362B1 (en) 1999-04-22 2002-01-22 Vlsi Technology, Inc. Extended symbol Galois field error correcting device
US6745363B2 (en) 1999-07-30 2004-06-01 Hewlett-Packard Development Company, Lp Early error detection using ECC
FR2799592B1 (fr) * 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US7028248B2 (en) * 2001-02-28 2006-04-11 International Business Machines Corporation Multi-cycle symbol level error correction and memory system
US7093183B2 (en) * 2001-02-28 2006-08-15 International Business Machines Corporation Symbol level error correction codes which protect against memory chip and bus line failures
US7117420B1 (en) 2001-05-17 2006-10-03 Lsi Logic Corporation Construction of an optimized SEC-DED code and logic for soft errors in semiconductor memories
US7243293B2 (en) * 2003-12-23 2007-07-10 International Business Machines Corporation (18, 9) Error correction code for double error correction and triple error detection
US7171591B2 (en) * 2003-12-23 2007-01-30 International Business Machines Corporation Method and apparatus for encoding special uncorrectable errors in an error correction code
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
DE102005022107B9 (de) * 2005-05-12 2016-04-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
US7225381B1 (en) 2005-06-02 2007-05-29 Lehman Thomas F Error detection and correction method
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
JP2007207325A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 誤り訂正処理装置及び誤り訂正処理方法
US7681110B2 (en) * 2006-08-30 2010-03-16 Microsoft Corporation Decoding technique for linear block codes
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) * 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
JP4847628B2 (ja) 2009-05-25 2011-12-28 華為技術有限公司 線形ブロック符号に基づいて符号化する方法及び装置
US8419547B1 (en) 2010-11-04 2013-04-16 Wms Gaming, Inc. Iterative XOR-matrix forward error correction for gaming
JP5665725B2 (ja) * 2011-12-13 2015-02-04 株式会社東芝 符号化装置及びこれを用いた半導体メモリシステム
EP2922209A1 (en) * 2014-03-20 2015-09-23 Technische Universität Kaiserslautern Soft decision decoding of linear block codes
GB2531783B (en) * 2014-10-30 2016-09-28 Ibm Method and device for removing error patterns in binary data
KR102296738B1 (ko) * 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
CN116110440A (zh) * 2021-11-10 2023-05-12 三星电子株式会社 纠错电路、存储器系统和纠错方法
KR20230080769A (ko) 2021-11-30 2023-06-07 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3601798A (en) 1970-02-03 1971-08-24 Ibm Error correcting and detecting systems
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
US4358848A (en) * 1980-11-14 1982-11-09 International Business Machines Corporation Dual function ECC system with block check byte
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
NL8204038A (nl) * 1982-10-20 1984-05-16 Philips Nv Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem.
JPS60178717A (ja) * 1984-02-24 1985-09-12 Victor Co Of Japan Ltd リ−ド・ソロモン符号生成回路
NL8400629A (nl) * 1984-02-29 1985-09-16 Philips Nv Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
US4769818A (en) * 1984-05-30 1988-09-06 Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee Method and apparatus for coding digital data to permit correction of one or two incorrect data packets (bytes)
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
US4862463A (en) * 1987-07-20 1989-08-29 International Business Machines Corp. Error correcting code for 8-bit-per-chip memory with reduced redundancy
DE3882175T2 (de) * 1987-07-20 1994-01-27 Ibm Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230990A (ja) * 1993-01-02 1994-08-19 Macrotek Gmbh 符号誤りの識別、補正方法及び装置

Also Published As

Publication number Publication date
US5600659A (en) 1997-02-04
EP0386506A2 (en) 1990-09-12
EP0386506A3 (en) 1991-09-25
US7487425B1 (en) 2009-02-03

Similar Documents

Publication Publication Date Title
JPH02278921A (ja) 2進データの符号化及び復号のための方法及び復号装置
Ramabadran et al. A tutorial on CRC computations
KR930008683B1 (ko) 리드-솔로몬 에러 보정 코드 엔코더
US7171591B2 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
US20110320918A1 (en) Error correction and detection in a redundant memory system
JPH03136524A (ja) 長バースト誤りに対する誤り検出及び訂正システム
JPH0449139B2 (ja)
JPS59197940A (ja) 誤り検出・補正メモリ
US5537427A (en) Modular multiple error correcting code system
US7243293B2 (en) (18, 9) Error correction code for double error correction and triple error detection
US7028248B2 (en) Multi-cycle symbol level error correction and memory system
JP2589957B2 (ja) 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム
US10291258B2 (en) Error correcting code for correcting single symbol errors and detecting double bit errors
TWI782215B (zh) 減少多位元錯誤校正碼的邏輯的系統與方法
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
JP2506936B2 (ja) メモリの誤り検査方式
Chen Symbol error correcting codes for memory applications
JP2012050008A (ja) 誤り検出訂正方法および半導体メモリ装置
US7085988B1 (en) Hashing system utilizing error correction coding techniques
US7203896B2 (en) High-efficiency error detection and/or correction code
US5943348A (en) Method to check for burst limiting in error correcting systems
JP2023045450A (ja) シンドローム計算回路、誤り訂正回路およびメモリシステム
Hsieh et al. An XOR based Reed-Solomon algorithm for advanced RAID systems
US7188294B2 (en) High-efficiency error detection and/or correction code
Dugar et al. A survey on Hamming codes for error detection