JPH0452556B2 - - Google Patents
Info
- Publication number
- JPH0452556B2 JPH0452556B2 JP58195368A JP19536883A JPH0452556B2 JP H0452556 B2 JPH0452556 B2 JP H0452556B2 JP 58195368 A JP58195368 A JP 58195368A JP 19536883 A JP19536883 A JP 19536883A JP H0452556 B2 JPH0452556 B2 JP H0452556B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- syndrome
- byte
- errors
- location
- 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 - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
〔産業上の利用分野〕
この発明は全般的には巡回エラー訂正符号を用
いたエラー訂正システムに関し、具体的には複数
バイトエラー訂正システムにおけるシンドローム
バイトのデコードの改良を行おうとするものであ
る。 〔背景技術とその問題点〕 磁気記録装置に関連して巡回エラー訂正符号を
用いることが従来よく定着しており、記録システ
ムに良好な効率およびコスト効果を付加するもの
として広く認識されている。 一般に、エラー訂正処理は検出されたエラーの
各々のロケーシヨンおよびパターンを決定するた
めにシンドロームバイトの処理を含む。シンドロ
ームバイトは、データが記録媒体に書き込まれる
ときに生成されるECC(Error Correct Code)書
込みチエツクキヤラクタと、データが記録媒体か
ら転送または読み出されるときに生成される
ECC読出しチエツクキヤラクタとをEX−OR
(Exclusive OR)処理することの結果として生
じる。いくつだけECCチエツクキヤラククタが
用いられるかは符号に要求される能力および検出
または訂正されるべきデータバイトの個数に依存
する。一例を挙げると、磁気記録装置に8ビツト
バイトを記録することに関連して用いられる多く
の現在のECCシステムにおいては、255バイトポ
ジシヨンの長さを持つ符号語中の検出されるべき
エラーの各々について2バイトのチエツクバイト
が用いられる。この結果、たとえば、249個のデ
ータバイトおよび6個のチエツクバイトからなる
1データブロツク中の3個までのエラーを検出す
るには6個のチエツクバイトが必要となる。そし
て、そのようなシステムにおいては6個の独特の
シンドロームバイトが生成される。記録媒体から
読み出された255バイトからなるデータワード中
にエラーがないならば、すべてのシンドロームバ
イトは各々すべてゼロのパターンを含む。このよ
うな状況下では、シンドローム処理は必要でな
く、データワードは中央処理装置に送られ得る。
しかしながら、1個またはそれ以上のシンドロー
ムバイトが非零であれば、シンドローム処理はエ
ラーバイトのロケーシヨンを特定する過程および
さらに各エラーロケーシヨンに対してエラーパタ
ーンを特定する過程を含む。 種々の出版物および特許文献において通常のシ
ンドローム処理に伴う基礎的な数学的概念および
操作が従来開示されてきた。一般に、このような
操作および数学的表現は、Peterson氏によつて
「エラーロケーシヨン多項式」と呼ばれてきたも
のを用いてエラーのロケーシヨンを特定すること
を第1に含む。エラーロケーシヨン多項式を用い
て伴われる数学的操作および表現の全目的は、シ
ステムにおいて生成されたシンドロームバイトの
みを用いてエラーバイトのロケーシヨンを特定す
ることである。 従来では、のちに用いられるハードウエアが各
ロケーシヨンのエラーパターンを特定できるよう
に第1にエラーのあるロケーシヨンが特定され
る。そして、シンドロームバイトをデコードして
エラーのあるロケーシヨンを第1に特定するのに
二元論理を採用できるようエラーロケーシヨンを
シンドロームの形で表現する。そして、このため
に、数学的解析の始めとしてエラーロケーシヨン
多項式が採用されてきた。多数エラー訂正システ
ムのための従来のシンドローム処理デコーダのエ
ラーロケーシヨン部については2つの問題点があ
つた。 第1の問題点は、多数エラーの状態の各々につ
いて個別の論理回路のセツトが必要となることで
ある。たとえば、システムが3個までのエラーを
訂正するよう設計されていると、エラーロケーシ
ヨンを特定するのに3つの個別独立の論理回路の
セツトが必要とされる。すなわち、3個のエラー
があるときにエラーロケーシヨンを特定するのに
必要とされる論理回路は、3個未満のすなわち、
2個または単一のエラーがあるならば、ロケーシ
ヨンを特定するのに採用され得ない。同様に、2
個のエラーがあるときエラーロケーシヨンを特定
するよう設計された論理回路は、符号語中に1個
のエラーのみ存在するならば、エラーロケーシヨ
ンを特定できない。この結果、このような従来の
デコーダの価格は極めて高いものであつた。 多数エラー訂正システムのための従来のシンド
ローム処理デコーダに関する第2の問題点は、エ
ラーロケーシヨンに達するためにシンドロームバ
イトを数学的に処理する際に除算のステツプが必
要とされることである。高次の二元体における除
算操作は時間およびハードウエア実装の双方にお
いて損失が多いということは良く認められるとこ
ろである。 この発明は多数エラー訂正システムにおけるシ
ンドローム処理デコーダであつて、除算操作を用
いることのない態様で各エラーロケーシヨンを特
定し得、さらに、最大値以下の個数のエラーがあ
るシステムにおいて最大個数のエラーロケーシヨ
ンを特定するのに用いられるハードウエアのサブ
セツトを採用するものを提供する。 〔発明の概要〕 この発明によれば、シンドロームバイトを用い
てつぎのエラーロケーシヨン方程式(1)の係数の適
当な値を形成するシステムが開示される。 t 〓m=0 Δnαmi=0 ただしiε{I} ……(1) この式(1)は特別な代表的な場合、たとえば3バ
イトエラー訂正システムのために書き直す時、以
下の形をとる。 Δ3α3i+Δ2α2i+Δ1αi+Δ0=0 ただしiε{I
}
……(2) このシステムは以下の行列方程式(3)において選
択される行列式に対応したロケーシヨンパラメー
タの集合を形成するために適切なシンドロームに
ついてGF(28)の元の代数で乗算操作および加算
操作を実行して係数を生成することを含む。 S0 S1 S2 S1 S2 S3 S2 S3 S4σ0 σ1 σ2=σ3S3 S4 S5 (10) ここでシンボルσ3,σ2,σ1およびσ0は従来のエ
ラーロケーシヨン多項式の係数を表わす。 ロケーシヨンパラメータの数式は、最大個数の
エラーについてのパラメータを形成する過程で最
大個数より少ないエラーについての共通因数が形
成されるように公式化される。これはエラーロケ
ーシヨン方程式(2)の係数の演算および選択を簡略
化する。3個のエラーの符号についてのパラメー
タおよび対応する共通因数は以下の4つの式にし
たがつて形成される。 Δ33=S2(S1S3S2S2)S3(S0S3S1S2)
S4(S1S1S2S0)……(4) Δ32=S3(S1S3S2S2)S4(S0S3S1S2)
S5(S1S1S2S0)……(5) Δ31=S0(S4S4S3S5)S1(S3S4S2S5)
S2(S3S3S2S4)……(6) Δ30=S1(S4S4S3S5)S1(S3S4S2S5)
S3(S3S3S2S4)……(7) それゆえ、この発明の目的の1つは多数バイト
エラーをともなうエラー訂正システムのための改
良されたデコーダであつて、種々のエラー状態に
ついてエラーロケーシヨンを特定するのにただ1
セツトの組合せ論理回路が採用されるものを提供
することにある。 この発明の他の目的は多数エラーを訂正できる
エラー訂正システムのための改良されたデコーダ
であつて、エラーロケーシヨンを特定するのに用
いられるエラーロケーシヨン多項式の係数をどの
ような除算操作をも用いることなく形成するもの
を提供することにある。 この発明についてのすでに述べられた、または
その他の目的、特徴および利点は、添付図面に示
されるこの発明の好ましい実施例についての以下
のより具体的な説明から明らかになるであろう。 〔実施例〕 第1図に示されるシステムについてまず詳述し
よう。エラーロケーシヨンを特定するためのシン
ドローム処理用ハードウエアおよびこのハードウ
エアの操作方法についての詳細な説明は、このデ
コードが実施された態様の数学的表現および証明
によつて、たどられる。どのようなエラー数のエ
ラー証正システムにおいても動作するようデコー
ドを構成可能とするにはどうしたらよいのかとい
うことを、この表現は数学的述語で表現する。 第1図はオン・ザ・フライ(on−the−fly)デ
コーダのブロツク図を示す。このオン・ザ・フラ
イ・デコーダについては本件出願人が出願中であ
る。その出願においても示されるように、nシン
ボルの符号語の鎖の形で入力されてくるデータの
不断の継列においてデコード処理が連続し、この
ため、その名称がオン・ザ・フライ・デコードで
ある。実際的な観点から、所定のデコード処理が
以下のテストに合致するならば、すなわち、先行
して受け取られた符号語の訂正済みのデータバイ
トが、つぎの符号語のデータバイトが受け取られ
る間にユーザ・システムに送出されるならば、そ
のデコード処理はオン・ザ・フライであると考え
ることができる。 デコーダはブロツク6,7,8,9を有し、先
に受け取られ流出されていく符号語に存在するエ
ラーをデコードして訂正するときに、流入されて
くる符号語についてシンドロームを計算する。流
出されていく符号語の1つの訂正されたデータシ
ンボルの出力と同時に起こる、流入されてくる符
号語の1つのデータシンボルの入力に、各クロツ
クサイクルが関連する。バツフア5は流入シンボ
ルおよび流出シンボルの間で少なくともnシンボ
ルの未訂正のデータを内部に保持する。 GF(28)における3つのエラーを訂正するリー
ド・ソロモン符号がコンピユータ製品におけるア
プリケーシヨンのための特に重要な例として用い
られる。GF(28)の256個の元が慣用的に8ビツ
ト2元ベクトルの集合によつて表わされる。この
ような表現の1つは表1において与えられる。3
つのエラーを訂正するリード・ソロモン符号に
は、生成多項式の根α0,α1,α2,α3,α4,α5に対
応する6個のチエツクシンボルがある。ここでα
は有限体GF(28)の元であり、8ビツト2元ベク
トルによつて表わされる。ブロツク6によつて計
算される対応するシンドロームは、それぞれS0,
S1,S2,S3おS4およびS5と表記される。このよう
なシンドロームはどのような既知の従来の処理に
も一致する通常の方法で、受け取られた符号語か
ら計算される。このステツプのための手段はよく
知られており、エクスクルーシブ・オア回路
(EX−OR回路とする)およびシフトレジスタを
用いる。ブロツク7の論理回路の詳細は第2図お
よび第3図で示される。
いたエラー訂正システムに関し、具体的には複数
バイトエラー訂正システムにおけるシンドローム
バイトのデコードの改良を行おうとするものであ
る。 〔背景技術とその問題点〕 磁気記録装置に関連して巡回エラー訂正符号を
用いることが従来よく定着しており、記録システ
ムに良好な効率およびコスト効果を付加するもの
として広く認識されている。 一般に、エラー訂正処理は検出されたエラーの
各々のロケーシヨンおよびパターンを決定するた
めにシンドロームバイトの処理を含む。シンドロ
ームバイトは、データが記録媒体に書き込まれる
ときに生成されるECC(Error Correct Code)書
込みチエツクキヤラクタと、データが記録媒体か
ら転送または読み出されるときに生成される
ECC読出しチエツクキヤラクタとをEX−OR
(Exclusive OR)処理することの結果として生
じる。いくつだけECCチエツクキヤラククタが
用いられるかは符号に要求される能力および検出
または訂正されるべきデータバイトの個数に依存
する。一例を挙げると、磁気記録装置に8ビツト
バイトを記録することに関連して用いられる多く
の現在のECCシステムにおいては、255バイトポ
ジシヨンの長さを持つ符号語中の検出されるべき
エラーの各々について2バイトのチエツクバイト
が用いられる。この結果、たとえば、249個のデ
ータバイトおよび6個のチエツクバイトからなる
1データブロツク中の3個までのエラーを検出す
るには6個のチエツクバイトが必要となる。そし
て、そのようなシステムにおいては6個の独特の
シンドロームバイトが生成される。記録媒体から
読み出された255バイトからなるデータワード中
にエラーがないならば、すべてのシンドロームバ
イトは各々すべてゼロのパターンを含む。このよ
うな状況下では、シンドローム処理は必要でな
く、データワードは中央処理装置に送られ得る。
しかしながら、1個またはそれ以上のシンドロー
ムバイトが非零であれば、シンドローム処理はエ
ラーバイトのロケーシヨンを特定する過程および
さらに各エラーロケーシヨンに対してエラーパタ
ーンを特定する過程を含む。 種々の出版物および特許文献において通常のシ
ンドローム処理に伴う基礎的な数学的概念および
操作が従来開示されてきた。一般に、このような
操作および数学的表現は、Peterson氏によつて
「エラーロケーシヨン多項式」と呼ばれてきたも
のを用いてエラーのロケーシヨンを特定すること
を第1に含む。エラーロケーシヨン多項式を用い
て伴われる数学的操作および表現の全目的は、シ
ステムにおいて生成されたシンドロームバイトの
みを用いてエラーバイトのロケーシヨンを特定す
ることである。 従来では、のちに用いられるハードウエアが各
ロケーシヨンのエラーパターンを特定できるよう
に第1にエラーのあるロケーシヨンが特定され
る。そして、シンドロームバイトをデコードして
エラーのあるロケーシヨンを第1に特定するのに
二元論理を採用できるようエラーロケーシヨンを
シンドロームの形で表現する。そして、このため
に、数学的解析の始めとしてエラーロケーシヨン
多項式が採用されてきた。多数エラー訂正システ
ムのための従来のシンドローム処理デコーダのエ
ラーロケーシヨン部については2つの問題点があ
つた。 第1の問題点は、多数エラーの状態の各々につ
いて個別の論理回路のセツトが必要となることで
ある。たとえば、システムが3個までのエラーを
訂正するよう設計されていると、エラーロケーシ
ヨンを特定するのに3つの個別独立の論理回路の
セツトが必要とされる。すなわち、3個のエラー
があるときにエラーロケーシヨンを特定するのに
必要とされる論理回路は、3個未満のすなわち、
2個または単一のエラーがあるならば、ロケーシ
ヨンを特定するのに採用され得ない。同様に、2
個のエラーがあるときエラーロケーシヨンを特定
するよう設計された論理回路は、符号語中に1個
のエラーのみ存在するならば、エラーロケーシヨ
ンを特定できない。この結果、このような従来の
デコーダの価格は極めて高いものであつた。 多数エラー訂正システムのための従来のシンド
ローム処理デコーダに関する第2の問題点は、エ
ラーロケーシヨンに達するためにシンドロームバ
イトを数学的に処理する際に除算のステツプが必
要とされることである。高次の二元体における除
算操作は時間およびハードウエア実装の双方にお
いて損失が多いということは良く認められるとこ
ろである。 この発明は多数エラー訂正システムにおけるシ
ンドローム処理デコーダであつて、除算操作を用
いることのない態様で各エラーロケーシヨンを特
定し得、さらに、最大値以下の個数のエラーがあ
るシステムにおいて最大個数のエラーロケーシヨ
ンを特定するのに用いられるハードウエアのサブ
セツトを採用するものを提供する。 〔発明の概要〕 この発明によれば、シンドロームバイトを用い
てつぎのエラーロケーシヨン方程式(1)の係数の適
当な値を形成するシステムが開示される。 t 〓m=0 Δnαmi=0 ただしiε{I} ……(1) この式(1)は特別な代表的な場合、たとえば3バ
イトエラー訂正システムのために書き直す時、以
下の形をとる。 Δ3α3i+Δ2α2i+Δ1αi+Δ0=0 ただしiε{I
}
……(2) このシステムは以下の行列方程式(3)において選
択される行列式に対応したロケーシヨンパラメー
タの集合を形成するために適切なシンドロームに
ついてGF(28)の元の代数で乗算操作および加算
操作を実行して係数を生成することを含む。 S0 S1 S2 S1 S2 S3 S2 S3 S4σ0 σ1 σ2=σ3S3 S4 S5 (10) ここでシンボルσ3,σ2,σ1およびσ0は従来のエ
ラーロケーシヨン多項式の係数を表わす。 ロケーシヨンパラメータの数式は、最大個数の
エラーについてのパラメータを形成する過程で最
大個数より少ないエラーについての共通因数が形
成されるように公式化される。これはエラーロケ
ーシヨン方程式(2)の係数の演算および選択を簡略
化する。3個のエラーの符号についてのパラメー
タおよび対応する共通因数は以下の4つの式にし
たがつて形成される。 Δ33=S2(S1S3S2S2)S3(S0S3S1S2)
S4(S1S1S2S0)……(4) Δ32=S3(S1S3S2S2)S4(S0S3S1S2)
S5(S1S1S2S0)……(5) Δ31=S0(S4S4S3S5)S1(S3S4S2S5)
S2(S3S3S2S4)……(6) Δ30=S1(S4S4S3S5)S1(S3S4S2S5)
S3(S3S3S2S4)……(7) それゆえ、この発明の目的の1つは多数バイト
エラーをともなうエラー訂正システムのための改
良されたデコーダであつて、種々のエラー状態に
ついてエラーロケーシヨンを特定するのにただ1
セツトの組合せ論理回路が採用されるものを提供
することにある。 この発明の他の目的は多数エラーを訂正できる
エラー訂正システムのための改良されたデコーダ
であつて、エラーロケーシヨンを特定するのに用
いられるエラーロケーシヨン多項式の係数をどの
ような除算操作をも用いることなく形成するもの
を提供することにある。 この発明についてのすでに述べられた、または
その他の目的、特徴および利点は、添付図面に示
されるこの発明の好ましい実施例についての以下
のより具体的な説明から明らかになるであろう。 〔実施例〕 第1図に示されるシステムについてまず詳述し
よう。エラーロケーシヨンを特定するためのシン
ドローム処理用ハードウエアおよびこのハードウ
エアの操作方法についての詳細な説明は、このデ
コードが実施された態様の数学的表現および証明
によつて、たどられる。どのようなエラー数のエ
ラー証正システムにおいても動作するようデコー
ドを構成可能とするにはどうしたらよいのかとい
うことを、この表現は数学的述語で表現する。 第1図はオン・ザ・フライ(on−the−fly)デ
コーダのブロツク図を示す。このオン・ザ・フラ
イ・デコーダについては本件出願人が出願中であ
る。その出願においても示されるように、nシン
ボルの符号語の鎖の形で入力されてくるデータの
不断の継列においてデコード処理が連続し、この
ため、その名称がオン・ザ・フライ・デコードで
ある。実際的な観点から、所定のデコード処理が
以下のテストに合致するならば、すなわち、先行
して受け取られた符号語の訂正済みのデータバイ
トが、つぎの符号語のデータバイトが受け取られ
る間にユーザ・システムに送出されるならば、そ
のデコード処理はオン・ザ・フライであると考え
ることができる。 デコーダはブロツク6,7,8,9を有し、先
に受け取られ流出されていく符号語に存在するエ
ラーをデコードして訂正するときに、流入されて
くる符号語についてシンドロームを計算する。流
出されていく符号語の1つの訂正されたデータシ
ンボルの出力と同時に起こる、流入されてくる符
号語の1つのデータシンボルの入力に、各クロツ
クサイクルが関連する。バツフア5は流入シンボ
ルおよび流出シンボルの間で少なくともnシンボ
ルの未訂正のデータを内部に保持する。 GF(28)における3つのエラーを訂正するリー
ド・ソロモン符号がコンピユータ製品におけるア
プリケーシヨンのための特に重要な例として用い
られる。GF(28)の256個の元が慣用的に8ビツ
ト2元ベクトルの集合によつて表わされる。この
ような表現の1つは表1において与えられる。3
つのエラーを訂正するリード・ソロモン符号に
は、生成多項式の根α0,α1,α2,α3,α4,α5に対
応する6個のチエツクシンボルがある。ここでα
は有限体GF(28)の元であり、8ビツト2元ベク
トルによつて表わされる。ブロツク6によつて計
算される対応するシンドロームは、それぞれS0,
S1,S2,S3おS4およびS5と表記される。このよう
なシンドロームはどのような既知の従来の処理に
も一致する通常の方法で、受け取られた符号語か
ら計算される。このステツプのための手段はよく
知られており、エクスクルーシブ・オア回路
(EX−OR回路とする)およびシフトレジスタを
用いる。ブロツク7の論理回路の詳細は第2図お
よび第3図で示される。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
ブロツク7の全部の機能は第2図および第3図
に示され、第1に、以下の4つの式を実行してロ
ケーシヨンパラメータΔ33,Δ32,Δ31およびΔ30
を形成することである。これらパラメータΔ33,
Δ32,Δ31およびΔ30はまたパラメーータΔ22,Δ21
およびΔ20を内包する。そして、具体的な符号語
に含まれるエラーの正確な個数にしたがつて第3
図に示される論理回路によつてそのようなロケー
シヨンパラメータから係数Δ3,Δ2,Δ1およびΔ0
を選択する。Δ33,Δ32,Δ31,およびΔ30につい
ての式は以下のとおりである。 Δ33=S2(S1S3S2S2)S3(S0S3S1S2)S4
(S1S1S2S0)……(4) Δ32=S3(S1S3S2S2)S4(S0S3S1S2)S5
(S1S1S2S0)……(5) Δ31=S0(S4S4S3S5)S1(S3S4S2S5)S2
(S3S3S2S4)……(6) Δ30=S1(S4S4S3S5)S2(S3S4S2S5)S3
(S3S3S2S4)……(7) このようなパラメータはエラーロケーシヨン方
程式(2)の係数を決定するために用いられる。その
のち、第1図に示され先の出願において詳述され
るオン・ザ・フライのシステムのブロツク8およ
び9によつてエラーロケーシヨンおよびエラーパ
ターンが決定され得る。このエラーは他の公知で
より慣用されているエラー訂正システムにしたが
つて訂正してもよい。 第2図に示される組み合わせ論理回路は2種類
の基本的な論理ブロツク10および11を含む。
第1のブロツク10はXにより表わされ、2つの
8ビツトベクトルを内包するGF(28)における積
操作に対応し、他方、第2のブロツク11はEX
−ORの元論理操作を表わす。ブロツク11の動
作は8個の2入力EX−ORゲートを用いた簡単
なビツトごとのEX−OR論理機能である。他方、
ブロツク10によつて表わされる積操作はより複
雑であり、71個のEX−OR回路および64個のア
ンド回路を伴う。ブロツク10の積関数を説明す
る以下の例から、7個のEX−OR回路および64
個のアンド回路を必要とすることを理解し得る。 ブロツク10の積操作は2個の8ビツト・ベク
トルAおよびBに関するもので第3のベクトルC
を生成する。ここで、 A=〔a0,a1,a2,a3,a4,a5,a6,a7〕 B=〔b0,b1,b2,b3,b4,b5,b6,b7〕 C=〔c0,c1,c2,c3,c4,c5,c6,c7〕 この積は2つのステツプ処理を通じて得られ
る。第1に、積多項式Fの係数fiを計算する。こ
こでF=A×B(mod.2)である。係数fi(i=0,
……14)の計算に64個のアンド・ゲートおよび49
個のEX−ORゲートが必要とされる。すなわち f0=a0b0 f1=a0b1a1b0 f2=a0b2a1b1a2b0 f3=a0b3a1b2a2b1a3b0 〓 〓 〓 〓 f7=a0b7a1b6a2b5…a6b1a7b0 f8=a1b7a2b6a3b5…a7b1 〓 〓 〓 〓 f13=a6b7a7b6 f14=a7b7 第2に、p(x)を法として多項式Fの剰余を
求める。ここでp(x)は8次の原始2元多項式
である。p(x)=1+X3+X5+X7+X8を用い
る。p(x)を法とするfiの剰余は最大で22個の
EX−ORゲートを必要とする。 C0=f0f8f9f10f12f13 C1=f1f9f10f11f13f14 C2=f2f10f11f12f14 C3=f3f8f9f10f11 C4歪=f4f9f10f11f12 C5=f5f8f9f11 C6=f6f9f10f12 C7惑=f7f8f9f11f12 積の処理の実施は、係数f0からf14に対して要求
される積項の各々ごとに1個の2入力アンド・ゲ
ートを伴い、これらアンド・ゲートの出力を結合
するために1個の2入力EX−ORゲートを伴う。
したがつて、各ブロツク10は64個のアンド・ゲ
ートおよび71個のEX−ORゲートを表わす。 エラーロケーシヨン多項式の第1項、Δ33式の
S2(S1S3S2S2)は第2図における破線のブロツ
ク16によつて実行される。ブロツク16の出力
はゲート18において式の第2項とともにEX−
OR演算され、この演演算結果がゲート19にお
いて式の最終項とともにEX−OR演算される。 他のパラメータΔ32,Δ31およびΔ30の各々を得
る際に伴われるブロツクは第2図において類似し
た態様でたどることができる。 単に2個のエラーが生じる場合に対応するパラ
メータΔ22,Δ21およびΔ20が式(1)においてΔ33に
対する共通因数となる。これら共通因数は Δ22=S1S1S2S0 ……(5) Δ21=S0S3S1S2 ……(6) Δ20=S1S3S2S2 ……(7) 第2図において、Δ22,Δ21およびΔ20に対する
計算はΔ33に対する計算における中間的な副産物
として示される。同様に、Δ11およびΔ10はΔ22に
対する式(8)の共通因数であり、つぎの式で与えら
れる。 Δ11=S0 ……(8) Δ10=S1 ……(9) シンドロームについてのエラーロケーシヨン多
項式の下記の従来の関係式から、ロケーシヨンパ
ラメータを得るための式がどのように導き出され
るかについてはのちにこの欄において示される。 S0 S1 S2 S1 S2 S3 S2 S3 S4σ0 σ1 σ2=σS3 S4 S5 (10) 第3図はロケーシヨンパラメータΔ33〜Δ30お
よび共通因数Δ22〜Δ10からエラーロケーシヨン
多項式の係数を選択するための論理回路を示す。
第3図の論理回路は入力パラメータΔ33〜Δ30お
よび共通因数Δ22〜Δ10からエラー数を特定して
つぎの一般式における適切な値Δnを選択するよ
うに作用する。 Δn=Δnn ただしm>v Δvn ただしm≦v ……(11) Δ33がゼロでなく、3個のエラーがあることを
示すときに、係数Δ3〜Δ0は値Δ33〜Δ30となる。
示されるように、Δ33がゼロでないときに、アン
ドゲート41の出力は低レベルである。そして、
アンドゲード41の出力はアンドゲート42,4
3および44の各々の入力端で反転され各アンド
ゲート42〜44をイネーブルとするので、アン
ドゲード41の出力はΔ32,Δ31およびΔ30の信号
がアンドゲート42〜44をそれぞれ通じてゲー
トされ得るようにする。 Δ33がゼロであり2以上のエラーがないことを
示すならば、同様の論理機能はΔ22によつて達成
される。このような状況において、Δ2,Δ1およ
びΔ0はそれぞれアンドゲート51,52および
53の動作を通してそれぞれΔ22,Δ21およびΔ20
の値を取る。この機能は2つのエラーのためのシ
ンドローム方程式に対応する。 Δ22もまたゼロであれば、第3図の論理回路は
同様にΔ1およびΔ0をΔ11およびΔ12の値とするよ
う機能する。アンドゲート60はイネーブル信号
を与えるので、Δ33およびΔ22がともにゼロであ
れば、アンドゲート61および62はΔ11および
Δ10をそれぞれオアゲート71,72を通じてゲ
ートする。 したがつて、第3図の全論理回路は第2図の論
理回路によつて形成されたロケーシヨンパラメー
タからエラーロケーシヨン方程式のための係数
Δ3,Δ2,Δ1およびΔ0の正しい値を生成、すなわ
ち選択するよう機能する。 以上では3バイトエラー訂正リードソロモン符
号という特別な場合について詳述したけれども、
以上に教示したところにしたがつてどのような多
数エラー訂正巡回符号たとえばBCH符号のため
のデコーダをも実施し得る。 以下では、第2図および第3図の論理回路手段
において用いられる式を数学的に誘導する。 GF(28)における3バイトエラー訂正リード・
ソロモン符号では、生成多項式の根α0,α1,α2,
α3,α4,α5に対応して6個のチエツクシンボルが
ある。対応するシンドロームはそれぞれS0,S1,
S2,S3,S4およびS5によつて表記される。 ここで最大で3個のシンボルにエラーがあると
仮定しよう。エラーバリユーはEi1,Ei2およびEi3
で表記され、誤つたシンボルのロケーシヨンは
i1,i2およびi3で表記される。そうすると、シン
ドロームおよびエラーの間の関係は Sj=αji1Ei1αji2Ei2αji3Ei3 ただしj=0,1,2,3,4,5
(1A) で与えられる。根がαi1,αi2およびαi3の多項式を
考える。これはエラーロケーシヨン多項式と呼ば
れ、 (xαi1)(xαi2)(xαi3)= x3σ2x2σ1xσ0 …(2A) で与えられる式(2A)でx=αiの代入を行い α3iσ2α2iσ1αiσ0=0 ただしi=i1,i2およびi3…(3A)を得る。 式(1A)および(3A)から、シンドロームSj
およびエラーロケーシヨン多項式の係数σiの間に
成立する以下の関係式を導き出せる。 S0 S1 S2 S1 S2 S3 S2 S3 S4σ0 σ1 σ2=S3 S4 S5 ……(4A) 式(4A)を解いて、 σ0=Δ30/Δ33、σ1=Δ30/Δ33、σ2=Δ32/Δ3
3…(5A) のとおりのσ0,σ1およびσ2を得ることができる。
ここでΔ33,Δ32,Δ31およびΔ30は Δ33=S2(S1S3S2S2)S3(S0S3S1S2S4(
S1S1S2S0)…(6A) Δ32=S3(S1S3S2S2)S4(S0S3S1S2)S5
(S1S1S2S0)…(7A) Δ31=S0(S4S4S3S5)S1(S3S4S2S5)S2
(S3S3S2S4)…(8A) Δ30=S1(S4S4S3S5)S1(S3S4S2S5)S3
(S3S3S2S4)…(9A) より得る。 もしΔ33の値が0ならば、式(4A)は3個未満の
エラーがあることを示す従属集合である。この場
合、シンドロームは2個のエラーに対応して処理
され、ここでは2バイトエラーの場合についての
同様の方程式からパラメータΔ22,Δ21およびΔ20
が誘導され、これらは Δ22=S1S1S2S0 ……(10A) Δ21=S0S3S1S2 ……(11A) Δ20=S1S3S2S2 ……(12A) より得られる。 Δ33=S2Α20S3Δ21S4Δ22 ……(13A) のように書き直し得る式(6A)から理解されるよう
に、これらがΔ33の共通因数であることに留意す
る。そうすると、2バイトエラーの場合に対応す
るバリユーΔ22,Δ21およびΔ20は個別に計算する
必要がない。これらはΔ33を得るための計算の副
産物のかたちで手に入るのである。同様に、1バ
イトエラーの場合に対応するΔ11およびΔ10は Δ11=S0 ……(14A) Δ10=S1 ……(15A) により得られ、これらはΔ22の共通因数であり、
シンドロームとして容易に入手可能でもある。 vが正確なエラー数を表記するとしよう。vは
3,2,1また0をとり得る。 正確なエラー数はつぎのように決定される。 v=3ifΔ33=/0 v=2ifΔ33=0かつΔ22=/0 v=1ifΔ33=Δ22=0かつΔ11=/0 v=0ifΔ33=Δ22=Δ11=0 ……(16A) 2バイトエラーおよび1バイトエラーのような
特別な場合は適当な行列式を選択することにより
自動的に適用され得る。この目的のためにΔ3,
Δ2,Δ1およびΔ0を Δ3=Δ33 ……(17A) Δ2=Δ32if v=3 Δ22if v=2 ……(18A) Δ1=Δ31if v=3 Δ21if v=2 Δ11if v=1 ……(19A) Δ0=Δ30if v=3 Δ20if v=2 Δ10if v=1 ……(20A) のように規定しよう。そうすると、式(5A)を σ0=Δ0/Δv、σ1=Δ1/Δv、σ2=Δ2/Δv……(
21A) のように書き直せる。 通常、係数が式(21A) のσ0,σ1およびσ2である
と、エラーロケーシヨン多項式(3A)は周知のチエ
ン・サーチの手順を通じてエラーロケーシヨンを
決定するために用いられる。しかしながら、Δv
によつて割り切れてしまうことを回避するために
エラーロケーシヨン方程式を修正することがあ
る。修正されたエラーロケーシヨン方程式は Δ3α3iΔ2α2iΔ1αiΔ0=0 ……(22A) として得られる。エラーロケーシヨン数は、式(2
2A) を満たすiに属するv個の1つしかないバ
リユーの集合である。 つぎにエラーバリユーEi1,Ei2およびEi3を求め
る式を誘導する。j=0,1および2についての
式(1A)から 1 1 1 αi1 αi2 αi3 α2i1 α2i2 α2i3Ei1 Ei2 Ei3=S0 S1 S2 ……(23A) を得、この(23A) をEi1について解いて Ei1=S0αi2+i3S1(αi2αi3)S2/
αi2+i3αi1(αi2αi3)α2i1 を得る。式(2A)から σ0=αi1 i2 i3 ……(25A) σ2=αi1αi2αi3 ……(26A) を得、式(24A) ,(25A) および(26A) から Ei1=S0σ0αi1S1σ2α2i1S1αi1S2
/σ0α2i1α2……(27A) を得る。式(5A)を用いると式(27A) を Ei1=S0Δ0(S1Δ2S2Δ3)αi1S1Δ
3α2i1/Δ0Δ2α2i1……(28A) に約分できる。式(28A) のエラーバリユーEi1は
i1の項で表わされ、このためi2およびi3について
の明白なバリユーなしにそれを計算し得ることに
留意されたい。他のエラーバリユーEi2およびEi3
も同様な式で表わされる。エラーバリユーを求め
るためのより一般的な式は現行の変数iをi1に置
き換えて式(28A) を書き直すことによりつぎのよ
うに得られる。 Ei=Φ0Φ1αiΦ2α2i/Δ0Δ2α2i (29A) ここで、係数Φ0,Φ1およびΦ2は Φ0=S0Δ0 ……(30A) Φ1=S1Δ2S2Δ3 ………(31A) Φ2=S1Δ3 ……(32A) により与えられる。式(29A) はデコード処理の通
常のステツプ4をステツプ3に連結させることが
でき、ここではエラーバリユーEi1,Ei2およびEi3
がエラーロケーシヨンのチエン・サーチに同期し
て計算される。 そして、シンドロームデコーダは式(22A) およ
び(29A) における種々の数量をiに属する値の
各々に対して循環的な繰り返しの態様で計算する
ことから成り、そして式(22A) が満たされるとき
は出力されてくるシンボルをいつでもEiを用いて
訂正するようにする。 〔t個のエラーの一般的な場合〕 以下の説明では、第2図、第3図,第4図およ
び第5図において示された3バイトエラーまでの
特別な場合に対応する論理回路が広くtバイトエ
ラーについても適用可能であることを立証するた
めに、一般的な場合について数学的な誘導を行
う。 一般的なBCHまたはリード・ソロモン符号に
おいて、符号語はn個のシンボルからなり、生成
多項式の根αa,αa+1,αa+2,……αa+r-1に対応し
たr個のチエツク・シンボルがn個のシンボルに
含まれる。ここでαはガロア体GF256の元で
ある。整数aとしてゼロが採用されるが、以下の
結論はこのようなaの値についても誘導が可能で
ある。対応するシンドロームはそれぞれS0,S1,
S2,……,Sr-1によつて表記される。シンドロー
ムは供給された符号語から Sj=o-1 〓 〓i=0 αjiB〓i j=0,1,2…,(r−1)……(1
B) のようにして計算され得る。ここでB〓0,B〓1,B〓
2,……,B〓o-1は供給された符号語のn個のシン
ボルである。 所定の符号語中の実際のエラーシンボル数をv
と表記する。エラーバリユーはEiによつて表記さ
れる。ここで、iは{I}={i1,i2,……,iv}
で与えられるv個の異なるエラーロケーシヨンか
らなる集合からエラーロケーシヨンバリユーを表
わす。そしてシンドロームおよびエラーの間の関
係は Sj= 〓i 〓{I}αjiEi j=0,1,2…,(r−1)……(2B) で与えられる。どのような非零のシンドロームバ
リユーもエラーがあることを示す。デコーダはエ
ラーロケーシヨンおよびエラーバリユーを決定す
るためにこれらシンドロームを処理する。不明瞭
さをともなうことなしにデコードし得る最高のエ
ラー数をtと表記しよう。t個のエラーのエラー
ロケーシヨンおよびエラーバリユーを決定するに
はr=2tのシンドロームの集合が必要である。 根がαiの多項式を考える。ここでiε{I}であ
る。これはエラーロケーシヨン多項式と呼ばれ、 〓 ie{I} (1−α-ix)=v 〓m=0 σnxm=t 〓m=0 σnxm (3B) で定義される。ここでσ0=1,σv=/0、かつσn=
0(m>v)である。mvの未知の係数σnは式
(1B)のシンドロームから以下のようにして決定さ
れ得る。 式(3B)にx=αiを代入して t 〓m=0 σnαmi=0 ただしiε{I} ……(4B) を得る。式(2B)および(4B)を用いれば、シンドロ
ームSjおよびエラーロケーシヨン多項式の係数σn
がつぎの関係式を満たすことを容易に示すことが
できる。 t 〓m=0 σnSn+k=0 ただしk=0,1,……,t−1 ……(5B) 式(5B)の組を行列表記で S0 S1…St S1 S2…St-1 St-1 St S2t-1σ0 σ1 σt-1 σt=0 ……(6B) として書き直せる。 方程式(6B)の左片のtx(t+1)のシンドロー
ム行列をMで表記しよう。行列M中の最終列を除
去して得た正方行列をMtとしよう。Mtが正則で
あれば上の方程式の組はクラマの法則を用いて解
くことができ、 σn/σt=Δtn/Δttただしm=0,1,……t−1 ……(7B) を得る。ここでΔttは行列Mtからなる非零の行列
式であり、m=0,1,……,t−1の各々につ
いて行列Mtのm番目の列をシンドローム行列M
の最終列の負数で置き換えて得た行列の行列式を
Δtnで表記する。 行列Mtが正則でなければ、すなわちΔttがゼロ
であれば、方程式(5B)は従属集合であり、これは
tより少ないエラーがあることを意味する。この
場合、σtはゼロである。式(6B)においてσtおよび
シンドローム行列の最終列および最終行を削除す
ることができる。この結果得られた行列方程式は
t−1個のエラーのためのものに対応する。この
処理は適宜繰り返され、最終的な行列はv個のエ
ラーのためのものに対応し、Mは正則となる。そ
して行列式Δvnの集合が必要とされる。ここで、
m=0,1,……,vである。 v=t−1のΔvnが、行列Mtの第(m−1)番
目の行およびt番目の列に関連したΔttの共通因
数であることは容易に理解される。このような共
通因数の項でΔttを表わすことができる。 この発明はその好ましい実施例を参照して具体
的に図示および詳述されたけれども、この発明の
精神および範囲を逸脱することなく形態および細
部に種々の他の変更をなし得ることは当業者にお
いて容易に理解されるところである。
に示され、第1に、以下の4つの式を実行してロ
ケーシヨンパラメータΔ33,Δ32,Δ31およびΔ30
を形成することである。これらパラメータΔ33,
Δ32,Δ31およびΔ30はまたパラメーータΔ22,Δ21
およびΔ20を内包する。そして、具体的な符号語
に含まれるエラーの正確な個数にしたがつて第3
図に示される論理回路によつてそのようなロケー
シヨンパラメータから係数Δ3,Δ2,Δ1およびΔ0
を選択する。Δ33,Δ32,Δ31,およびΔ30につい
ての式は以下のとおりである。 Δ33=S2(S1S3S2S2)S3(S0S3S1S2)S4
(S1S1S2S0)……(4) Δ32=S3(S1S3S2S2)S4(S0S3S1S2)S5
(S1S1S2S0)……(5) Δ31=S0(S4S4S3S5)S1(S3S4S2S5)S2
(S3S3S2S4)……(6) Δ30=S1(S4S4S3S5)S2(S3S4S2S5)S3
(S3S3S2S4)……(7) このようなパラメータはエラーロケーシヨン方
程式(2)の係数を決定するために用いられる。その
のち、第1図に示され先の出願において詳述され
るオン・ザ・フライのシステムのブロツク8およ
び9によつてエラーロケーシヨンおよびエラーパ
ターンが決定され得る。このエラーは他の公知で
より慣用されているエラー訂正システムにしたが
つて訂正してもよい。 第2図に示される組み合わせ論理回路は2種類
の基本的な論理ブロツク10および11を含む。
第1のブロツク10はXにより表わされ、2つの
8ビツトベクトルを内包するGF(28)における積
操作に対応し、他方、第2のブロツク11はEX
−ORの元論理操作を表わす。ブロツク11の動
作は8個の2入力EX−ORゲートを用いた簡単
なビツトごとのEX−OR論理機能である。他方、
ブロツク10によつて表わされる積操作はより複
雑であり、71個のEX−OR回路および64個のア
ンド回路を伴う。ブロツク10の積関数を説明す
る以下の例から、7個のEX−OR回路および64
個のアンド回路を必要とすることを理解し得る。 ブロツク10の積操作は2個の8ビツト・ベク
トルAおよびBに関するもので第3のベクトルC
を生成する。ここで、 A=〔a0,a1,a2,a3,a4,a5,a6,a7〕 B=〔b0,b1,b2,b3,b4,b5,b6,b7〕 C=〔c0,c1,c2,c3,c4,c5,c6,c7〕 この積は2つのステツプ処理を通じて得られ
る。第1に、積多項式Fの係数fiを計算する。こ
こでF=A×B(mod.2)である。係数fi(i=0,
……14)の計算に64個のアンド・ゲートおよび49
個のEX−ORゲートが必要とされる。すなわち f0=a0b0 f1=a0b1a1b0 f2=a0b2a1b1a2b0 f3=a0b3a1b2a2b1a3b0 〓 〓 〓 〓 f7=a0b7a1b6a2b5…a6b1a7b0 f8=a1b7a2b6a3b5…a7b1 〓 〓 〓 〓 f13=a6b7a7b6 f14=a7b7 第2に、p(x)を法として多項式Fの剰余を
求める。ここでp(x)は8次の原始2元多項式
である。p(x)=1+X3+X5+X7+X8を用い
る。p(x)を法とするfiの剰余は最大で22個の
EX−ORゲートを必要とする。 C0=f0f8f9f10f12f13 C1=f1f9f10f11f13f14 C2=f2f10f11f12f14 C3=f3f8f9f10f11 C4歪=f4f9f10f11f12 C5=f5f8f9f11 C6=f6f9f10f12 C7惑=f7f8f9f11f12 積の処理の実施は、係数f0からf14に対して要求
される積項の各々ごとに1個の2入力アンド・ゲ
ートを伴い、これらアンド・ゲートの出力を結合
するために1個の2入力EX−ORゲートを伴う。
したがつて、各ブロツク10は64個のアンド・ゲ
ートおよび71個のEX−ORゲートを表わす。 エラーロケーシヨン多項式の第1項、Δ33式の
S2(S1S3S2S2)は第2図における破線のブロツ
ク16によつて実行される。ブロツク16の出力
はゲート18において式の第2項とともにEX−
OR演算され、この演演算結果がゲート19にお
いて式の最終項とともにEX−OR演算される。 他のパラメータΔ32,Δ31およびΔ30の各々を得
る際に伴われるブロツクは第2図において類似し
た態様でたどることができる。 単に2個のエラーが生じる場合に対応するパラ
メータΔ22,Δ21およびΔ20が式(1)においてΔ33に
対する共通因数となる。これら共通因数は Δ22=S1S1S2S0 ……(5) Δ21=S0S3S1S2 ……(6) Δ20=S1S3S2S2 ……(7) 第2図において、Δ22,Δ21およびΔ20に対する
計算はΔ33に対する計算における中間的な副産物
として示される。同様に、Δ11およびΔ10はΔ22に
対する式(8)の共通因数であり、つぎの式で与えら
れる。 Δ11=S0 ……(8) Δ10=S1 ……(9) シンドロームについてのエラーロケーシヨン多
項式の下記の従来の関係式から、ロケーシヨンパ
ラメータを得るための式がどのように導き出され
るかについてはのちにこの欄において示される。 S0 S1 S2 S1 S2 S3 S2 S3 S4σ0 σ1 σ2=σS3 S4 S5 (10) 第3図はロケーシヨンパラメータΔ33〜Δ30お
よび共通因数Δ22〜Δ10からエラーロケーシヨン
多項式の係数を選択するための論理回路を示す。
第3図の論理回路は入力パラメータΔ33〜Δ30お
よび共通因数Δ22〜Δ10からエラー数を特定して
つぎの一般式における適切な値Δnを選択するよ
うに作用する。 Δn=Δnn ただしm>v Δvn ただしm≦v ……(11) Δ33がゼロでなく、3個のエラーがあることを
示すときに、係数Δ3〜Δ0は値Δ33〜Δ30となる。
示されるように、Δ33がゼロでないときに、アン
ドゲート41の出力は低レベルである。そして、
アンドゲード41の出力はアンドゲート42,4
3および44の各々の入力端で反転され各アンド
ゲート42〜44をイネーブルとするので、アン
ドゲード41の出力はΔ32,Δ31およびΔ30の信号
がアンドゲート42〜44をそれぞれ通じてゲー
トされ得るようにする。 Δ33がゼロであり2以上のエラーがないことを
示すならば、同様の論理機能はΔ22によつて達成
される。このような状況において、Δ2,Δ1およ
びΔ0はそれぞれアンドゲート51,52および
53の動作を通してそれぞれΔ22,Δ21およびΔ20
の値を取る。この機能は2つのエラーのためのシ
ンドローム方程式に対応する。 Δ22もまたゼロであれば、第3図の論理回路は
同様にΔ1およびΔ0をΔ11およびΔ12の値とするよ
う機能する。アンドゲート60はイネーブル信号
を与えるので、Δ33およびΔ22がともにゼロであ
れば、アンドゲート61および62はΔ11および
Δ10をそれぞれオアゲート71,72を通じてゲ
ートする。 したがつて、第3図の全論理回路は第2図の論
理回路によつて形成されたロケーシヨンパラメー
タからエラーロケーシヨン方程式のための係数
Δ3,Δ2,Δ1およびΔ0の正しい値を生成、すなわ
ち選択するよう機能する。 以上では3バイトエラー訂正リードソロモン符
号という特別な場合について詳述したけれども、
以上に教示したところにしたがつてどのような多
数エラー訂正巡回符号たとえばBCH符号のため
のデコーダをも実施し得る。 以下では、第2図および第3図の論理回路手段
において用いられる式を数学的に誘導する。 GF(28)における3バイトエラー訂正リード・
ソロモン符号では、生成多項式の根α0,α1,α2,
α3,α4,α5に対応して6個のチエツクシンボルが
ある。対応するシンドロームはそれぞれS0,S1,
S2,S3,S4およびS5によつて表記される。 ここで最大で3個のシンボルにエラーがあると
仮定しよう。エラーバリユーはEi1,Ei2およびEi3
で表記され、誤つたシンボルのロケーシヨンは
i1,i2およびi3で表記される。そうすると、シン
ドロームおよびエラーの間の関係は Sj=αji1Ei1αji2Ei2αji3Ei3 ただしj=0,1,2,3,4,5
(1A) で与えられる。根がαi1,αi2およびαi3の多項式を
考える。これはエラーロケーシヨン多項式と呼ば
れ、 (xαi1)(xαi2)(xαi3)= x3σ2x2σ1xσ0 …(2A) で与えられる式(2A)でx=αiの代入を行い α3iσ2α2iσ1αiσ0=0 ただしi=i1,i2およびi3…(3A)を得る。 式(1A)および(3A)から、シンドロームSj
およびエラーロケーシヨン多項式の係数σiの間に
成立する以下の関係式を導き出せる。 S0 S1 S2 S1 S2 S3 S2 S3 S4σ0 σ1 σ2=S3 S4 S5 ……(4A) 式(4A)を解いて、 σ0=Δ30/Δ33、σ1=Δ30/Δ33、σ2=Δ32/Δ3
3…(5A) のとおりのσ0,σ1およびσ2を得ることができる。
ここでΔ33,Δ32,Δ31およびΔ30は Δ33=S2(S1S3S2S2)S3(S0S3S1S2S4(
S1S1S2S0)…(6A) Δ32=S3(S1S3S2S2)S4(S0S3S1S2)S5
(S1S1S2S0)…(7A) Δ31=S0(S4S4S3S5)S1(S3S4S2S5)S2
(S3S3S2S4)…(8A) Δ30=S1(S4S4S3S5)S1(S3S4S2S5)S3
(S3S3S2S4)…(9A) より得る。 もしΔ33の値が0ならば、式(4A)は3個未満の
エラーがあることを示す従属集合である。この場
合、シンドロームは2個のエラーに対応して処理
され、ここでは2バイトエラーの場合についての
同様の方程式からパラメータΔ22,Δ21およびΔ20
が誘導され、これらは Δ22=S1S1S2S0 ……(10A) Δ21=S0S3S1S2 ……(11A) Δ20=S1S3S2S2 ……(12A) より得られる。 Δ33=S2Α20S3Δ21S4Δ22 ……(13A) のように書き直し得る式(6A)から理解されるよう
に、これらがΔ33の共通因数であることに留意す
る。そうすると、2バイトエラーの場合に対応す
るバリユーΔ22,Δ21およびΔ20は個別に計算する
必要がない。これらはΔ33を得るための計算の副
産物のかたちで手に入るのである。同様に、1バ
イトエラーの場合に対応するΔ11およびΔ10は Δ11=S0 ……(14A) Δ10=S1 ……(15A) により得られ、これらはΔ22の共通因数であり、
シンドロームとして容易に入手可能でもある。 vが正確なエラー数を表記するとしよう。vは
3,2,1また0をとり得る。 正確なエラー数はつぎのように決定される。 v=3ifΔ33=/0 v=2ifΔ33=0かつΔ22=/0 v=1ifΔ33=Δ22=0かつΔ11=/0 v=0ifΔ33=Δ22=Δ11=0 ……(16A) 2バイトエラーおよび1バイトエラーのような
特別な場合は適当な行列式を選択することにより
自動的に適用され得る。この目的のためにΔ3,
Δ2,Δ1およびΔ0を Δ3=Δ33 ……(17A) Δ2=Δ32if v=3 Δ22if v=2 ……(18A) Δ1=Δ31if v=3 Δ21if v=2 Δ11if v=1 ……(19A) Δ0=Δ30if v=3 Δ20if v=2 Δ10if v=1 ……(20A) のように規定しよう。そうすると、式(5A)を σ0=Δ0/Δv、σ1=Δ1/Δv、σ2=Δ2/Δv……(
21A) のように書き直せる。 通常、係数が式(21A) のσ0,σ1およびσ2である
と、エラーロケーシヨン多項式(3A)は周知のチエ
ン・サーチの手順を通じてエラーロケーシヨンを
決定するために用いられる。しかしながら、Δv
によつて割り切れてしまうことを回避するために
エラーロケーシヨン方程式を修正することがあ
る。修正されたエラーロケーシヨン方程式は Δ3α3iΔ2α2iΔ1αiΔ0=0 ……(22A) として得られる。エラーロケーシヨン数は、式(2
2A) を満たすiに属するv個の1つしかないバ
リユーの集合である。 つぎにエラーバリユーEi1,Ei2およびEi3を求め
る式を誘導する。j=0,1および2についての
式(1A)から 1 1 1 αi1 αi2 αi3 α2i1 α2i2 α2i3Ei1 Ei2 Ei3=S0 S1 S2 ……(23A) を得、この(23A) をEi1について解いて Ei1=S0αi2+i3S1(αi2αi3)S2/
αi2+i3αi1(αi2αi3)α2i1 を得る。式(2A)から σ0=αi1 i2 i3 ……(25A) σ2=αi1αi2αi3 ……(26A) を得、式(24A) ,(25A) および(26A) から Ei1=S0σ0αi1S1σ2α2i1S1αi1S2
/σ0α2i1α2……(27A) を得る。式(5A)を用いると式(27A) を Ei1=S0Δ0(S1Δ2S2Δ3)αi1S1Δ
3α2i1/Δ0Δ2α2i1……(28A) に約分できる。式(28A) のエラーバリユーEi1は
i1の項で表わされ、このためi2およびi3について
の明白なバリユーなしにそれを計算し得ることに
留意されたい。他のエラーバリユーEi2およびEi3
も同様な式で表わされる。エラーバリユーを求め
るためのより一般的な式は現行の変数iをi1に置
き換えて式(28A) を書き直すことによりつぎのよ
うに得られる。 Ei=Φ0Φ1αiΦ2α2i/Δ0Δ2α2i (29A) ここで、係数Φ0,Φ1およびΦ2は Φ0=S0Δ0 ……(30A) Φ1=S1Δ2S2Δ3 ………(31A) Φ2=S1Δ3 ……(32A) により与えられる。式(29A) はデコード処理の通
常のステツプ4をステツプ3に連結させることが
でき、ここではエラーバリユーEi1,Ei2およびEi3
がエラーロケーシヨンのチエン・サーチに同期し
て計算される。 そして、シンドロームデコーダは式(22A) およ
び(29A) における種々の数量をiに属する値の
各々に対して循環的な繰り返しの態様で計算する
ことから成り、そして式(22A) が満たされるとき
は出力されてくるシンボルをいつでもEiを用いて
訂正するようにする。 〔t個のエラーの一般的な場合〕 以下の説明では、第2図、第3図,第4図およ
び第5図において示された3バイトエラーまでの
特別な場合に対応する論理回路が広くtバイトエ
ラーについても適用可能であることを立証するた
めに、一般的な場合について数学的な誘導を行
う。 一般的なBCHまたはリード・ソロモン符号に
おいて、符号語はn個のシンボルからなり、生成
多項式の根αa,αa+1,αa+2,……αa+r-1に対応し
たr個のチエツク・シンボルがn個のシンボルに
含まれる。ここでαはガロア体GF256の元で
ある。整数aとしてゼロが採用されるが、以下の
結論はこのようなaの値についても誘導が可能で
ある。対応するシンドロームはそれぞれS0,S1,
S2,……,Sr-1によつて表記される。シンドロー
ムは供給された符号語から Sj=o-1 〓 〓i=0 αjiB〓i j=0,1,2…,(r−1)……(1
B) のようにして計算され得る。ここでB〓0,B〓1,B〓
2,……,B〓o-1は供給された符号語のn個のシン
ボルである。 所定の符号語中の実際のエラーシンボル数をv
と表記する。エラーバリユーはEiによつて表記さ
れる。ここで、iは{I}={i1,i2,……,iv}
で与えられるv個の異なるエラーロケーシヨンか
らなる集合からエラーロケーシヨンバリユーを表
わす。そしてシンドロームおよびエラーの間の関
係は Sj= 〓i 〓{I}αjiEi j=0,1,2…,(r−1)……(2B) で与えられる。どのような非零のシンドロームバ
リユーもエラーがあることを示す。デコーダはエ
ラーロケーシヨンおよびエラーバリユーを決定す
るためにこれらシンドロームを処理する。不明瞭
さをともなうことなしにデコードし得る最高のエ
ラー数をtと表記しよう。t個のエラーのエラー
ロケーシヨンおよびエラーバリユーを決定するに
はr=2tのシンドロームの集合が必要である。 根がαiの多項式を考える。ここでiε{I}であ
る。これはエラーロケーシヨン多項式と呼ばれ、 〓 ie{I} (1−α-ix)=v 〓m=0 σnxm=t 〓m=0 σnxm (3B) で定義される。ここでσ0=1,σv=/0、かつσn=
0(m>v)である。mvの未知の係数σnは式
(1B)のシンドロームから以下のようにして決定さ
れ得る。 式(3B)にx=αiを代入して t 〓m=0 σnαmi=0 ただしiε{I} ……(4B) を得る。式(2B)および(4B)を用いれば、シンドロ
ームSjおよびエラーロケーシヨン多項式の係数σn
がつぎの関係式を満たすことを容易に示すことが
できる。 t 〓m=0 σnSn+k=0 ただしk=0,1,……,t−1 ……(5B) 式(5B)の組を行列表記で S0 S1…St S1 S2…St-1 St-1 St S2t-1σ0 σ1 σt-1 σt=0 ……(6B) として書き直せる。 方程式(6B)の左片のtx(t+1)のシンドロー
ム行列をMで表記しよう。行列M中の最終列を除
去して得た正方行列をMtとしよう。Mtが正則で
あれば上の方程式の組はクラマの法則を用いて解
くことができ、 σn/σt=Δtn/Δttただしm=0,1,……t−1 ……(7B) を得る。ここでΔttは行列Mtからなる非零の行列
式であり、m=0,1,……,t−1の各々につ
いて行列Mtのm番目の列をシンドローム行列M
の最終列の負数で置き換えて得た行列の行列式を
Δtnで表記する。 行列Mtが正則でなければ、すなわちΔttがゼロ
であれば、方程式(5B)は従属集合であり、これは
tより少ないエラーがあることを意味する。この
場合、σtはゼロである。式(6B)においてσtおよび
シンドローム行列の最終列および最終行を削除す
ることができる。この結果得られた行列方程式は
t−1個のエラーのためのものに対応する。この
処理は適宜繰り返され、最終的な行列はv個のエ
ラーのためのものに対応し、Mは正則となる。そ
して行列式Δvnの集合が必要とされる。ここで、
m=0,1,……,vである。 v=t−1のΔvnが、行列Mtの第(m−1)番
目の行およびt番目の列に関連したΔttの共通因
数であることは容易に理解される。このような共
通因数の項でΔttを表わすことができる。 この発明はその好ましい実施例を参照して具体
的に図示および詳述されたけれども、この発明の
精神および範囲を逸脱することなく形態および細
部に種々の他の変更をなし得ることは当業者にお
いて容易に理解されるところである。
第1図はこの発明をオン・ザ・フライ方式の3
バイトエラー訂正システムに適用した一実施例を
系統的に示すブロツク図、第2図は第1図例にお
いてロケーシヨンパラメータを演算するデコーダ
に彩用される組み合わせ論理回路を概略的に示す
図、第3図は第1図例において3個以下のエラー
が検出されたときに正確なエラー数を特定して適
切なロケーシヨンパラメータを選択することによ
り係数Δnを得る組み合わせ論理回路を示す図で
ある。 5……nバイトのバツフア、6……シンドロー
ム演算を行うブロツク、7……Δj演算を行うブ
ロツク、8……Φ演算を行うブロツク、9……エ
ラーロケーシヨンおよびエラーバリユー演算を行
うブロツク、10……積操作を行う第1のブロツ
ク、11……加算操作を行う第2のブロツク、4
1〜44、51〜53、60〜63……アンドゲ
ート、71,72……オアゲート。
バイトエラー訂正システムに適用した一実施例を
系統的に示すブロツク図、第2図は第1図例にお
いてロケーシヨンパラメータを演算するデコーダ
に彩用される組み合わせ論理回路を概略的に示す
図、第3図は第1図例において3個以下のエラー
が検出されたときに正確なエラー数を特定して適
切なロケーシヨンパラメータを選択することによ
り係数Δnを得る組み合わせ論理回路を示す図で
ある。 5……nバイトのバツフア、6……シンドロー
ム演算を行うブロツク、7……Δj演算を行うブ
ロツク、8……Φ演算を行うブロツク、9……エ
ラーロケーシヨンおよびエラーバリユー演算を行
うブロツク、10……積操作を行う第1のブロツ
ク、11……加算操作を行う第2のブロツク、4
1〜44、51〜53、60〜63……アンドゲ
ート、71,72……オアゲート。
Claims (1)
- 【特許請求の範囲】 1 符号語が2b個のキヤラクタ・ポジシヨンを有
し、このキヤラクタの各々がb個の二元ビツトの
個別の連結からなるバイトにより表わされ、シン
ドロームバイトが各々b個の二元ビツトを有し、
生成多項式の根αa,αa+1,αa+2,……,αa+2t-1
(αは2b個の元を有する有限体の元)を写すパリ
テイチエツク行列にしたがつて前記シンドローム
バイトが形成され、前記符号語中のt個までのエ
ラーを2t個の前記シンドロームバイトを処理する
ことにより検出し得るような多数バイトエラー訂
正システムにおいて、 前記符号語から2t個のシンドロームバイトを生
成するためのシンドローム生成手段と、 前記2t個のシンドロームに応答して前記符号語
に対応するエラーロケーシヨン多項式のために
(t+1)個の係数を発生する回路手段とを備え、 前記回路手段は、前記シンドロームバイトの所
定の論理演算により前記エラーロケーシヨン多項
式のロケーシヨンパラメータ△tn(ここで、m=
0,1,2,……t)信号およびこのロケーシヨ
ンパラメータに対応する共通因数△on(ここで、
m≦n,n=1,2,……t−1)信号をそれぞ
れ発生する第1の論理手段と、前記ロケーシヨン
パラメータ信号と前記共通因数信号とを組合わせ
て論理演算することによつて前記エラーロケーシ
ヨン多項式の係数△n=〔△nn(ただし、m>v),
△vn(ただし、m≦v)〕(ここで、v=1,2,
……t)信号を出力する第2の論理手段とを含む
ことを特徴とする多数バイトエラー訂正システ
ム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/454,392 US4504948A (en) | 1982-12-29 | 1982-12-29 | Syndrome processing unit for multibyte error correcting systems |
| US454392 | 1982-12-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59124011A JPS59124011A (ja) | 1984-07-18 |
| JPH0452556B2 true JPH0452556B2 (ja) | 1992-08-24 |
Family
ID=23804426
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58195368A Granted JPS59124011A (ja) | 1982-12-29 | 1983-10-20 | 多数バイトエラ−訂正システム |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4504948A (ja) |
| EP (1) | EP0112988A3 (ja) |
| JP (1) | JPS59124011A (ja) |
| BR (1) | BR8307181A (ja) |
| CA (1) | CA1199411A (ja) |
| ZA (1) | ZA837725B (ja) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6162234A (ja) * | 1984-09-04 | 1986-03-31 | Kokusai Denshin Denwa Co Ltd <Kdd> | 誤り訂正符号復号方式 |
| US4706250A (en) * | 1985-09-27 | 1987-11-10 | International Business Machines Corporation | Method and apparatus for correcting multibyte errors having improved two-level code structure |
| US4703485A (en) * | 1986-02-10 | 1987-10-27 | International Business Machines Corporation | Method and apparatus for computing and implementing error detection check bytes |
| JP2622383B2 (ja) * | 1987-08-06 | 1997-06-18 | 株式会社リコー | ロングディスタンスコードの誤り訂正装置 |
| JPS63267018A (ja) * | 1987-04-24 | 1988-11-04 | Ricoh Co Ltd | ロングデイスタンスコ−ドの誤り訂正方式および誤り訂正装置 |
| US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
| JPH01158826A (ja) * | 1987-12-16 | 1989-06-21 | Ricoh Co Ltd | ロングディスタンスコードの誤り訂正方式 |
| US5499251A (en) * | 1990-08-15 | 1996-03-12 | Televerket | Method of recovering lost bits in a digital transmission |
| US5418796A (en) * | 1991-03-26 | 1995-05-23 | International Business Machines Corporation | Synergistic multiple bit error correction for memory of array chips |
| US5638386A (en) * | 1991-09-20 | 1997-06-10 | Hitachi, Ltd. | Recording apparatus |
| KR970004515B1 (ko) * | 1993-12-29 | 1997-03-28 | 삼성전자 주식회사 | 리드-솔로몬 복호기의 오류위치다항식 연산방법 및 장치 |
| FR2721775B1 (fr) * | 1994-06-27 | 1996-09-06 | Sgs Thomson Microelectronics | Circuit de localisation d'erreurs d'un décodeur Reed-Solomon. |
| US5642366A (en) * | 1994-07-05 | 1997-06-24 | Adaptec, Inc. | Global parity symbol for interleaved reed-solomon coded data |
| US5671349A (en) * | 1994-12-06 | 1997-09-23 | Hitachi Computer Products America, Inc. | Apparatus and method for providing data redundancy and reconstruction for redundant arrays of disk drives |
| US5754563A (en) * | 1995-09-11 | 1998-05-19 | Ecc Technologies, Inc. | Byte-parallel system for implementing reed-solomon error-correcting codes |
| US5787099A (en) * | 1995-10-12 | 1998-07-28 | Adaptec, Inc. | System and method for encoding and decoding data using numerical computations in galois fields |
| US5812438A (en) * | 1995-10-12 | 1998-09-22 | Adaptec, Inc. | Arithmetic logic unit and method for numerical computations in galois fields |
| US5771184A (en) * | 1995-10-12 | 1998-06-23 | Adaptec, Inc. | System and method for solving quadratic equation in galois fields |
| US5920580A (en) * | 1996-03-11 | 1999-07-06 | Integrated Device Technology, Inc. | Multiple error detection in error detection correction circuits |
| US6308295B1 (en) | 1996-10-08 | 2001-10-23 | Arizona Board Of Regents | Parallel spectral reed-solomon encoder and decoder |
| US6209115B1 (en) | 1997-08-13 | 2001-03-27 | T. K. Truong | Reed-Solomon decoder and VLSI implementation thereof |
| US6023387A (en) * | 1997-09-05 | 2000-02-08 | Adaptec, Inc. | Method and apparatus for determining sector addresses from media having data written in a headerless format |
| US6449746B1 (en) | 1998-08-17 | 2002-09-10 | T. K. Truong | Decoding method for correcting both erasures and errors of reed-solomon codes |
| US6671850B1 (en) | 2000-05-01 | 2003-12-30 | International Business Machines Corporation | On-the-fly algebraic error correction system and method for reducing error location search |
| US6694476B1 (en) | 2000-06-02 | 2004-02-17 | Vitesse Semiconductor Corporation | Reed-solomon encoder and decoder |
| US6738942B1 (en) | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
| US7447982B1 (en) * | 2001-03-30 | 2008-11-04 | Cisco Technology, Inc. | BCH forward error correction decoder |
| US6792569B2 (en) | 2001-04-24 | 2004-09-14 | International Business Machines Corporation | Root solver and associated method for solving finite field polynomial equations |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4107652A (en) * | 1975-12-27 | 1978-08-15 | Fujitsu Limited | Error correcting and controlling system |
| US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
| JPS5710561A (en) * | 1980-06-20 | 1982-01-20 | Sony Corp | Error correcting method |
| CA1170776A (en) * | 1980-07-18 | 1984-07-10 | Yoichiro Sako | Method of error correction of blocks of data |
| GB2093238B (en) * | 1981-02-18 | 1985-04-17 | Kokusai Denshin Denwa Co Ltd | Error correcting system for simultaneous errors in a code |
| 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 |
| US4413339A (en) * | 1981-06-24 | 1983-11-01 | Digital Equipment Corporation | Multiple error detecting and correcting system employing Reed-Solomon codes |
| US4455655A (en) * | 1981-09-28 | 1984-06-19 | Hewlett-Packard Company | Real time fault tolerant error correction mechanism |
| US4453251A (en) * | 1981-10-13 | 1984-06-05 | Burroughs Corporation | Error-correcting memory with low storage overhead and fast correction mechanism |
-
1982
- 1982-12-29 US US06/454,392 patent/US4504948A/en not_active Expired - Lifetime
-
1983
- 1983-10-05 CA CA000438448A patent/CA1199411A/en not_active Expired
- 1983-10-17 ZA ZA837725A patent/ZA837725B/xx unknown
- 1983-10-20 JP JP58195368A patent/JPS59124011A/ja active Granted
- 1983-10-21 EP EP83110500A patent/EP0112988A3/en not_active Withdrawn
- 1983-12-27 BR BR8307181A patent/BR8307181A/pt not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| CA1199411A (en) | 1986-01-14 |
| US4504948A (en) | 1985-03-12 |
| BR8307181A (pt) | 1984-08-07 |
| EP0112988A2 (en) | 1984-07-11 |
| JPS59124011A (ja) | 1984-07-18 |
| ZA837725B (en) | 1984-08-29 |
| EP0112988A3 (en) | 1987-02-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0114938B1 (en) | On-the-fly multibyte error correction | |
| US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
| Berlekamp | Algebraic coding theory (revised edition) | |
| US4030067A (en) | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes | |
| US4099160A (en) | Error location apparatus and methods | |
| US5440570A (en) | Real-time binary BCH decoder | |
| US4142174A (en) | High speed decoding of Reed-Solomon codes | |
| US5805617A (en) | Apparatus for computing error correction syndromes | |
| US7162679B2 (en) | Methods and apparatus for coding and decoding data using Reed-Solomon codes | |
| EP0233075B1 (en) | Method and apparatus for generating error detection check bytes for a data record | |
| Okano et al. | A construction method of high-speed decoders using ROM's for Bose–Chaudhuri–Hocquenghem and Reed–Solomon codes | |
| JPH0728227B2 (ja) | Bch符号の復号装置 | |
| US5541937A (en) | Apparatus for uniformly correcting erasure and error of received word by using a common polynomial | |
| US4856004A (en) | Microprocessor based BCH decoder | |
| US7100103B2 (en) | Efficient method for fast decoding of BCH binary codes | |
| JP2800723B2 (ja) | リードソロモン復号器の誤り位置検出回路 | |
| US5787100A (en) | Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder | |
| US10623026B2 (en) | Error correction | |
| JPH0361210B2 (ja) | ||
| KR0137354B1 (ko) | 무선 데이타 통신에서의 에러검출 및 정정방법 | |
| CA1082815A (en) | Table lookup direct decoder for double-error- correcting (dec) bch codes using general pair of syndromes | |
| JP2710176B2 (ja) | 誤り位置及び誤りパターン導出回路 | |
| JP2797569B2 (ja) | ユークリッドの互除回路 | |
| JPS63157530A (ja) | Bch符号化復号方式 | |
| JPH0434785B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |