JPH01155721A - エラー訂正方法 - Google Patents
エラー訂正方法Info
- Publication number
- JPH01155721A JPH01155721A JP63282645A JP28264588A JPH01155721A JP H01155721 A JPH01155721 A JP H01155721A JP 63282645 A JP63282645 A JP 63282645A JP 28264588 A JP28264588 A JP 28264588A JP H01155721 A JPH01155721 A JP H01155721A
- Authority
- JP
- Japan
- Prior art keywords
- error
- level
- bytes
- byte
- block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012937 correction Methods 0.000 title claims description 26
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 54
- 239000013598 vector Substances 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 22
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 102220096005 rs876658614 Human genes 0.000 description 1
Classifications
-
- 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/1806—Pulse code modulation systems for audio signals
- G11B20/1809—Pulse code modulation systems for audio signals by interleaving
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、記憶装置中の符号化された末訂正のデータ中
のエラーを訂正するための方法及び装置に関し、特に上
記データ中の少なくとも2個のエラーを示すエラーのシ
ンドロームをデコードするためにルックアップ・テーブ
ルが関与する独得の実現手段を用いた方法及び装置に関
する。
のエラーを訂正するための方法及び装置に関し、特に上
記データ中の少なくとも2個のエラーを示すエラーのシ
ンドロームをデコードするためにルックアップ・テーブ
ルが関与する独得の実現手段を用いた方法及び装置に関
する。
B、従来技術
下記の参考文献は、記憶装置中のエラーを訂正するため
の基本的理論及び種々の方法及び構成を開示している。
の基本的理論及び種々の方法及び構成を開示している。
V、11.Peterson、“Error−Cor
rectingCodes”、MIT Press、
1961 ; R,C,[1ose and D、K。
rectingCodes”、MIT Press、
1961 ; R,C,[1ose and D、K。
Ray−Chaudhuri、 ”On a clas
s of error−correcting bin
ary group codas”、Inf、 Con
trol 3.88−68−69.1960 ; 1.
S、Raed and G、Solomon、 ”Po
lynom、ial codes over cert
ain finite fields”、 J、Soc
。
s of error−correcting bin
ary group codas”、Inf、 Con
trol 3.88−68−69.1960 ; 1.
S、Raed and G、Solomon、 ”Po
lynom、ial codes over cert
ain finite fields”、 J、Soc
。
Indust、 Appl、 Math、 8.pp、
30G−304,1960;及びR,T、 Chien
、“CyClic decoding procedu
resfor Base−Chaudhuri−Hoe
quenghem codes”、IEEETrans
、Inf、 Theory、 Vol、 IT−10,
pp、 357−363.1964゜ 特願昭61−168226号には、改良されたマルチバ
イト・エラー訂正サブシステムにおける2レベル・エラ
ー訂正符号構造が開示されている。データはディスクの
トラック上で多数のサブブロックの形にフォーマットさ
れる。サブブロックの各々は各ブロック内にある。また
3個のサブブロック検査バイトCいC2およびC1の2
つの組が存在する。
30G−304,1960;及びR,T、 Chien
、“CyClic decoding procedu
resfor Base−Chaudhuri−Hoe
quenghem codes”、IEEETrans
、Inf、 Theory、 Vol、 IT−10,
pp、 357−363.1964゜ 特願昭61−168226号には、改良されたマルチバ
イト・エラー訂正サブシステムにおける2レベル・エラ
ー訂正符号構造が開示されている。データはディスクの
トラック上で多数のサブブロックの形にフォーマットさ
れる。サブブロックの各々は各ブロック内にある。また
3個のサブブロック検査バイトCいC2およびC1の2
つの組が存在する。
1組は偶フェーズに、そして他の組は奇フェーズに関連
し、従ってインタリーブ式の符号語を与えている。この
構成を用いると、(サブブロックのエラーの)第1のレ
ベルの訂正は、1サブブロック分遅延された後に記憶装
置で即座に行なわれ、データは第2レベル(ブロック)
のエラーの訂正のために記憶装置ディレクタに送られる
。この即座の訂正は、非同期環境で動作しているシステ
ムに関してしか適さない。第2(ブロック)レベルの訂
正は、ブロックの終りに各フェーズ毎に1つの付加的な
検査バイトC9を用いて行なわれる。
し、従ってインタリーブ式の符号語を与えている。この
構成を用いると、(サブブロックのエラーの)第1のレ
ベルの訂正は、1サブブロック分遅延された後に記憶装
置で即座に行なわれ、データは第2レベル(ブロック)
のエラーの訂正のために記憶装置ディレクタに送られる
。この即座の訂正は、非同期環境で動作しているシステ
ムに関してしか適さない。第2(ブロック)レベルの訂
正は、ブロックの終りに各フェーズ毎に1つの付加的な
検査バイトC9を用いて行なわれる。
前述の関連出願は、リアルタイムに未訂正データを受は
取り、3個の第ルベルのシンドローム・バイト及び1個
の第2レベルのシンドローム・バイト(各フェーズに対
応して)を生成する、ディスク記憶装置中のハードウェ
アを開示している。
取り、3個の第ルベルのシンドローム・バイト及び1個
の第2レベルのシンドローム・バイト(各フェーズに対
応して)を生成する、ディスク記憶装置中のハードウェ
アを開示している。
第ルベルのシンドロームは装置において、記憶装置ディ
レクタに転送されるエラー位置情報及びエラー・パター
ンにデコードされる。
レクタに転送されるエラー位置情報及びエラー・パター
ンにデコードされる。
この関連出願は、サブブロック中にエラーがなければシ
ステムはどのように機能するか、及びサブブロック当り
1つ以下のエラーがあればどのようにしてエラーが訂正
されるか、及びサブブロック当り2つ以上のエラーあれ
ばどのようして訂正されるかを説明している。より具体
的には、特定のサブブロック符号語に関連する各フェー
ズに対応するシンドロームS工、S2、S、がローカル
・メモリに保持される。その特定のサブブロックのシン
ドロームが全てゼロではなく第ルベルのデコーダによっ
て非ゼロのエラー・パターンが生成されなかったならば
、それらのシンドロームはブロック・レベルでさらに処
理するために保持される。またローカル・メモリは未訂
正のサブブロックの識別を、サブブロック識別子rfJ
として保持する。ブロックの終りに、第2レベル・シン
ドローム発生器からの第2レベル・シンドロームS0及
びローカル・メモリからのサブブロックfに関する第ル
ベル・シンドロームS1、S2゜S3が、サブブロック
f中の2個のエラーを訂正するために第2レベル・デコ
ーダによって処理される。
ステムはどのように機能するか、及びサブブロック当り
1つ以下のエラーがあればどのようにしてエラーが訂正
されるか、及びサブブロック当り2つ以上のエラーあれ
ばどのようして訂正されるかを説明している。より具体
的には、特定のサブブロック符号語に関連する各フェー
ズに対応するシンドロームS工、S2、S、がローカル
・メモリに保持される。その特定のサブブロックのシン
ドロームが全てゼロではなく第ルベルのデコーダによっ
て非ゼロのエラー・パターンが生成されなかったならば
、それらのシンドロームはブロック・レベルでさらに処
理するために保持される。またローカル・メモリは未訂
正のサブブロックの識別を、サブブロック識別子rfJ
として保持する。ブロックの終りに、第2レベル・シン
ドローム発生器からの第2レベル・シンドロームS0及
びローカル・メモリからのサブブロックfに関する第ル
ベル・シンドロームS1、S2゜S3が、サブブロック
f中の2個のエラーを訂正するために第2レベル・デコ
ーダによって処理される。
C3発明が解決しようとする問題点
所定のバイト数(各バイトは所望の事前に選択された数
のビットを含む)のレコード中の2バイト・エラー、例
えば上記関連出願中で説明されているものに類似した2
レベル符号形式の1つのサブブロック中の2バイト・エ
ラーに関するシンドロームをデコードするファーム−シ
ェア又はソフトウェアとして実現される独得のルックア
ップ・テーブルを用いた、より安価で且つ効率的な方法
及び装置が必要である。
のビットを含む)のレコード中の2バイト・エラー、例
えば上記関連出願中で説明されているものに類似した2
レベル符号形式の1つのサブブロック中の2バイト・エ
ラーに関するシンドロームをデコードするファーム−シ
ェア又はソフトウェアとして実現される独得のルックア
ップ・テーブルを用いた、より安価で且つ効率的な方法
及び装置が必要である。
00課題を解決するための手段
本発明上によれば、所定長のレコード(多レベルのエラ
ー訂正符号形式の場合にはブロックの事前に識別された
サブブロック)中の符号化された未訂正のデータ中の2
バイトまでのエラーを訂正するための方法及び装置が与
えられる。データは記憶装置から読取られ、上述の関連
出tmに開示した手段により生成される4つのエラーの
シンドローム(S□、S2.S、、S4)をデコードし
処理することにより訂正される。これらのシンドローム
は、4つのシンドロームの関数であるベクトルP、Q及
びRを計算することにより、任意のルコード中の未訂正
エラーに応答してデコードされる。
ー訂正符号形式の場合にはブロックの事前に識別された
サブブロック)中の符号化された未訂正のデータ中の2
バイトまでのエラーを訂正するための方法及び装置が与
えられる。データは記憶装置から読取られ、上述の関連
出tmに開示した手段により生成される4つのエラーの
シンドローム(S□、S2.S、、S4)をデコードし
処理することにより訂正される。これらのシンドローム
は、4つのシンドロームの関数であるベクトルP、Q及
びRを計算することにより、任意のルコード中の未訂正
エラーに応答してデコードされる。
次にそれらのベクトルから表索引により2進数U及びV
が計算され、上記2進数の和からエラー位置の決定に向
けてdの値を計算することが可能になる。次にdの値に
対して特別の数学的関係を有する値tが表索引により決
定され、エラー位置の値y及び2が値tから2進数値U
及びVのオフセットから計算されg。最後に、エラー・
パターンE 及びE が表索引により決定される。
が計算され、上記2進数の和からエラー位置の決定に向
けてdの値を計算することが可能になる。次にdの値に
対して特別の数学的関係を有する値tが表索引により決
定され、エラー位置の値y及び2が値tから2進数値U
及びVのオフセットから計算されg。最後に、エラー・
パターンE 及びE が表索引により決定される。
y z
より具体的には、ディスク記憶装置中の符号化された未
訂正データ中のエラーが、多数のサブブロックを含むブ
ロックの形に形式化された多レベル・エラー訂正符号を
用いて訂正される。読取り動作中に、各ブロック毎に第
ルベルのエラーのシンドローム(Sl、 S2. SJ
)及びブロックの全サブブロックに共通の付加的な第2
レベルのシンドローム(S、)が記憶装置中のハードウ
ェアにより生成される。第ルベルのシンドロームは、表
索引によりデコードされ、第ルベルのエラー・パターン
及び位置情報を与える。第2レベルのシンドロームは、
第1及び第2レベルのシンドロームの関数であるベクト
ルを計算することによりデコードされる。第2レベルの
エラー位置及びエラー・パターンは1表索引を用いてソ
フトウェア又はファームウェアにより決定される。必要
であれば、延期モードでエラー情報を送ることにより後
にエラーの訂正が行なわれる。
訂正データ中のエラーが、多数のサブブロックを含むブ
ロックの形に形式化された多レベル・エラー訂正符号を
用いて訂正される。読取り動作中に、各ブロック毎に第
ルベルのエラーのシンドローム(Sl、 S2. SJ
)及びブロックの全サブブロックに共通の付加的な第2
レベルのシンドローム(S、)が記憶装置中のハードウ
ェアにより生成される。第ルベルのシンドロームは、表
索引によりデコードされ、第ルベルのエラー・パターン
及び位置情報を与える。第2レベルのシンドロームは、
第1及び第2レベルのシンドロームの関数であるベクト
ルを計算することによりデコードされる。第2レベルの
エラー位置及びエラー・パターンは1表索引を用いてソ
フトウェア又はファームウェアにより決定される。必要
であれば、延期モードでエラー情報を送ることにより後
にエラーの訂正が行なわれる。
E、実施例 −
第2図本発明で用いられる2レベル符号構造を実施した
ディスク・トラックのデータ形式を示している。データ
はトラック11に沿って記録され、固定長又は可変長の
複数のブロック12の形にフォーマットされている。各
ブロック12は固定長のサブブロック14に分割される
。図に示すように、各サブブロック14は2つのインタ
リーブされた符号語18.19から成る。各符号751
8.19は48個のデータ・バイト位置及び3個のサブ
ブロック検査バイトC1,C,、C3より成る。
ディスク・トラックのデータ形式を示している。データ
はトラック11に沿って記録され、固定長又は可変長の
複数のブロック12の形にフォーマットされている。各
ブロック12は固定長のサブブロック14に分割される
。図に示すように、各サブブロック14は2つのインタ
リーブされた符号語18.19から成る。各符号751
8.19は48個のデータ・バイト位置及び3個のサブ
ブロック検査バイトC1,C,、C3より成る。
従って、各ブロック12はサブブロックより成り、その
各々は96個(48個が2組)のデータ・バイト位置及
び3組のサブブロック検査バイトc1、C2、C1を有
する。さらに、各ブロック12の終りのブロック検査バ
イト領域15には、FCC訂正の後のデータ整合性検査
のための4個の検査バイトCR工〜CR,及び第2レベ
ルのエラー訂正のための1対の検査バイトC0を付加さ
れる。各サブブロック14中のエラー訂正検査バイトC
0〜C3並びに各ブロック12の終りの検査バイトCR
2〜CR4及びC0が決定され生成される方式は、本発
明の一部を成すものではない。゛詳細な説明に関しては
、前述の関連出願を参照されたい0本発明についての下
記の説明中では、2つのフェーズ(偶又は奇)の一方に
関して全てのプロセス・ステップを説明するが、同じス
テップ及びプロセスが他のフェーズにも反復されること
を理解されたい。
各々は96個(48個が2組)のデータ・バイト位置及
び3組のサブブロック検査バイトc1、C2、C1を有
する。さらに、各ブロック12の終りのブロック検査バ
イト領域15には、FCC訂正の後のデータ整合性検査
のための4個の検査バイトCR工〜CR,及び第2レベ
ルのエラー訂正のための1対の検査バイトC0を付加さ
れる。各サブブロック14中のエラー訂正検査バイトC
0〜C3並びに各ブロック12の終りの検査バイトCR
2〜CR4及びC0が決定され生成される方式は、本発
明の一部を成すものではない。゛詳細な説明に関しては
、前述の関連出願を参照されたい0本発明についての下
記の説明中では、2つのフェーズ(偶又は奇)の一方に
関して全てのプロセス・ステップを説明するが、同じス
テップ及びプロセスが他のフェーズにも反復されること
を理解されたい。
第1図を参照すると、第2図に示すようにフォーマット
されたトラックに書込みを行なうために、データ処理シ
ステム(図示せず)からデータが。
されたトラックに書込みを行なうために、データ処理シ
ステム(図示せず)からデータが。
制御ユニット又は記憶装置ディレクタ20を経て、ディ
スク記憶装filooの記憶ディスク21に送られる。
スク記憶装filooの記憶ディスク21に送られる。
このデータの書込み及び転送において、3組の検査バイ
トCいC2及びC1がECC符号器22によって各サブ
ブロック毎に生成される。
トCいC2及びC1がECC符号器22によって各サブ
ブロック毎に生成される。
ブロック検査バイトC0(及びデータ整合性検査バイト
CRL−CR4)も符号器22によって生成される。サ
ブブロック・フォーマツタ22Aは各々の対応するサブ
ブロックに検査バイトc1、C2及びC1を付加する。
CRL−CR4)も符号器22によって生成される。サ
ブブロック・フォーマツタ22Aは各々の対応するサブ
ブロックに検査バイトc1、C2及びC1を付加する。
ブロック・フォーマツタ22Bはブロックの終りにブロ
ック検査バイトC6(及びデータ整合性検査バイトCR
工〜CR,)を付加する。次にフォーマットされたデー
タはディスク21に記録される。データ整合性検査バイ
トCR工〜CR4の計算及び処理は本発明とは無関係で
あり、米国特許筒4,703,485号明細書に説明さ
れている。
ック検査バイトC6(及びデータ整合性検査バイトCR
工〜CR,)を付加する。次にフォーマットされたデー
タはディスク21に記録される。データ整合性検査バイ
トCR工〜CR4の計算及び処理は本発明とは無関係で
あり、米国特許筒4,703,485号明細書に説明さ
れている。
読取りプロセスにおいて1通常の方式でエラーのシンド
ロームを生成するために、読取データは前述の関連出願
の符号化方程式(1)、(2)、(4)及び(5)によ
って検査される。サブブロック検査バイトCL、C2及
びC1にはシンドロームS1.S2およびS、関連し、
またブロック・レベル検査ハイドC0にはシンドローム
・バイトS。
ロームを生成するために、読取データは前述の関連出願
の符号化方程式(1)、(2)、(4)及び(5)によ
って検査される。サブブロック検査バイトCL、C2及
びC1にはシンドロームS1.S2およびS、関連し、
またブロック・レベル検査ハイドC0にはシンドローム
・バイトS。
が関連する。
シンドローム例えばS、、81等に割り当てられた添字
は、各検査文字を生成するのに使用された特定の1行列
に関連している。特にC,から生成されるS。は通常の
パリティ検査バイトに対応する。一方、S、はC1から
生成され、これは入力バイトに行列T3を掛けることに
関係した論理に従って生成される。検査バイトC□及び
C2に対応するシンドロームS1及びS2はそれぞれ、
行列T1及びT2に関係した論理を用いて同様に生成さ
れる。シンドローム生成に関するそのような論理は周知
であり、本発明の一部を成すものではない。
は、各検査文字を生成するのに使用された特定の1行列
に関連している。特にC,から生成されるS。は通常の
パリティ検査バイトに対応する。一方、S、はC1から
生成され、これは入力バイトに行列T3を掛けることに
関係した論理に従って生成される。検査バイトC□及び
C2に対応するシンドロームS1及びS2はそれぞれ、
行列T1及びT2に関係した論理を用いて同様に生成さ
れる。シンドローム生成に関するそのような論理は周知
であり、本発明の一部を成すものではない。
読取プロセスの間、未訂正データがディスク21から第
ルベルのシンドローム生成器23及び第2レベルのシン
ドローム生成器25に読取られる。これらは各サブブロ
ックに関して第ルベルのシンドローム・バイトS1、S
2、S、を生成し、ブロックの全サブブロックに共通の
第2レベル・シンドロームS0を生成する。シンドロー
ム・バイトS1.S2、S、は、エラー・パターン・デ
ータにデコードするために、記憶装置ディレクタ20の
第ルベル・デコーダ24に転送される。デコーダ24の
ための、ソフトウェアにより実現されたデコーダ・プロ
セスは「第ルベル・デコード・プロセス」と題する独立
の章で説明する。
ルベルのシンドローム生成器23及び第2レベルのシン
ドローム生成器25に読取られる。これらは各サブブロ
ックに関して第ルベルのシンドローム・バイトS1、S
2、S、を生成し、ブロックの全サブブロックに共通の
第2レベル・シンドロームS0を生成する。シンドロー
ム・バイトS1.S2、S、は、エラー・パターン・デ
ータにデコードするために、記憶装置ディレクタ20の
第ルベル・デコーダ24に転送される。デコーダ24の
ための、ソフトウェアにより実現されたデコーダ・プロ
セスは「第ルベル・デコード・プロセス」と題する独立
の章で説明する。
単純に言えば、Sl、S2又はS、に関する非ゼロの値
はエラーを示す。もしサブブロックが1バイトだけのエ
ラーを有するならば、その位置χ及びエラー・パターン
E (デコーダ24により決定される)が、サブブロッ
ク・バッファ27から取り出された適当なバイトを訂正
するためにソフトウェア26に供給される。訂正後、こ
のバイトはバッファ27に再記憶される。エラー・パタ
ーンE は、1つのエラーの第ルベルの訂正を行なった
サブブロックの各々に関してローカル・メモリ28に記
憶される。第2レベルのシンドロームS0は、訂正され
たサブブロックの全部に対応するエラー・パターン情報
E を含むように、ソフトウェア29により修正される
。デコーダ24がSいS2又はS、に関して非ゼロの値
を受は取り且つサブブロックを訂正できない時、それは
サブブロック識別子fをローカル・メモリ28に供給す
ることによってサブブロック中に2以上のエラーが存在
することを示す。サブブロックfに関する未処理のシン
ドローム生成、S2及びS、も、第2レベル・デコーダ
により後に処理するためにローカル・メモリに伝達され
る。第2レベル・デコード・ソフトウェア30は、ロー
カル・メモリ28からのシンドロームS、、S、、S3
とシンドロームS0とを組み合せて、表索引によりそれ
らの組み合せ入力を、(エラーの位置を示す)出力y及
び2並びに(エラー・パターンを示す)E。
はエラーを示す。もしサブブロックが1バイトだけのエ
ラーを有するならば、その位置χ及びエラー・パターン
E (デコーダ24により決定される)が、サブブロッ
ク・バッファ27から取り出された適当なバイトを訂正
するためにソフトウェア26に供給される。訂正後、こ
のバイトはバッファ27に再記憶される。エラー・パタ
ーンE は、1つのエラーの第ルベルの訂正を行なった
サブブロックの各々に関してローカル・メモリ28に記
憶される。第2レベルのシンドロームS0は、訂正され
たサブブロックの全部に対応するエラー・パターン情報
E を含むように、ソフトウェア29により修正される
。デコーダ24がSいS2又はS、に関して非ゼロの値
を受は取り且つサブブロックを訂正できない時、それは
サブブロック識別子fをローカル・メモリ28に供給す
ることによってサブブロック中に2以上のエラーが存在
することを示す。サブブロックfに関する未処理のシン
ドローム生成、S2及びS、も、第2レベル・デコーダ
により後に処理するためにローカル・メモリに伝達され
る。第2レベル・デコード・ソフトウェア30は、ロー
カル・メモリ28からのシンドロームS、、S、、S3
とシンドロームS0とを組み合せて、表索引によりそれ
らの組み合せ入力を、(エラーの位置を示す)出力y及
び2並びに(エラー・パターンを示す)E。
及びE に変換する。これらの出力y、z、EyE は
、エラーを起こしたサブブロックの識別子fと組み合さ
れて、エラーを生じたバイトB 及びB を訂正させる
。第2レベル・エラー訂正ソフトウェア31は、バッフ
ァ27からサブブロックを取り出し、エラー位置情報y
、z並びにエラー・パターンE 及びE を用いてサブ
ブロックy z fのバイトB びB を訂正することにより、訂z 正されたデータを供給する。
、エラーを起こしたサブブロックの識別子fと組み合さ
れて、エラーを生じたバイトB 及びB を訂正させる
。第2レベル・エラー訂正ソフトウェア31は、バッフ
ァ27からサブブロックを取り出し、エラー位置情報y
、z並びにエラー・パターンE 及びE を用いてサブ
ブロックy z fのバイトB びB を訂正することにより、訂z 正されたデータを供給する。
以下、発明の概念をより具体的に説明する。基本的な2
レベルECC方式は、前述の関連出願に説明されている
ように、1ブロツク中にn個のサブブロック、各サブブ
ロック中にNバイトを有している。第ルベルのデコード
の能力は、サブブロックの各々の中の1バイトまでのエ
ラーの訂正を提供する。第2レベルのデコードを含む能
力は、1つのサブブロック中の2バイトまでのエラーの
訂正及びブロック中の他の全てのサブブロック中の1バ
イトのエラーの訂正を提供する。
レベルECC方式は、前述の関連出願に説明されている
ように、1ブロツク中にn個のサブブロック、各サブブ
ロック中にNバイトを有している。第ルベルのデコード
の能力は、サブブロックの各々の中の1バイトまでのエ
ラーの訂正を提供する。第2レベルのデコードを含む能
力は、1つのサブブロック中の2バイトまでのエラーの
訂正及びブロック中の他の全てのサブブロック中の1バ
イトのエラーの訂正を提供する。
基本的なエラー事象は「エラーの生じたバイト」である
、バースト・エラーは隣接バイトに相関を有するエラー
を生じる可能性があるが、それらのエラーを効果的にラ
ンダム化するように充分なインタリーブが行なわれるも
のと仮定されている。
、バースト・エラーは隣接バイトに相関を有するエラー
を生じる可能性があるが、それらのエラーを効果的にラ
ンダム化するように充分なインタリーブが行なわれるも
のと仮定されている。
適当なインタリーブを用いると、エラー訂正符号(FC
C)方式で想定されているように全てのバイトが等しい
確率でエラーを生じると考えられる。
C)方式で想定されているように全てのバイトが等しい
確率でエラーを生じると考えられる。
各バイトは、事前に選択された数のビットmを含む。エ
ラー訂正符号に関する対応する演算は、2 の要素を有
する有限体GF(2)で行なわれる。mは8であり、有
限体GF (2@)は256個の要素を有する。
ラー訂正符号に関する対応する演算は、2 の要素を有
する有限体GF(2)で行なわれる。mは8であり、有
限体GF (2@)は256個の要素を有する。
ト・基 −の の・
G(χ)は、係数が2進数の、次数8の原始多項式を表
わす。
わす。
G (z ) = goΦg1zΦg* z”e・=e
gt z’Φχ1多項弐G(χ)のコンパニオン行列は
、下記の正則行列として定義される。
gt z’Φχ1多項弐G(χ)のコンパニオン行列は
、下記の正則行列として定義される。
行列Tlは、Tに自分自身をi回掛けたものを表わし、
全ての数はモジュロ2で還元さ九ている。
全ての数はモジュロ2で還元さ九ている。
行列Tt T”e T”、 ・T””は全て14ft;
4.T”’は恒等行列であり、Toとも書くことができ
る。
4.T”’は恒等行列であり、Toとも書くことができ
る。
これら255個の行列はOF (2°)の(2”−1)
個の非ゼロ要素を表わしている。αを、GF(2“)の
原始要素を示すものとする。この時わす。ゼロ要素は8
×8のゼロ行列により表わされる。従って、OF (2
’)における和及び積の演算は、体の要素のこれらの行
列表現を用いた、モジュロ2の行列の和及び行列の積に
よって定義される。
個の非ゼロ要素を表わしている。αを、GF(2“)の
原始要素を示すものとする。この時わす。ゼロ要素は8
×8のゼロ行列により表わされる。従って、OF (2
’)における和及び積の演算は、体の要素のこれらの行
列表現を用いた、モジュロ2の行列の和及び行列の積に
よって定義される。
GF (2”)の要素は8桁の2進数ベクトルによって
表わすこともできる。上記表現の正方行列は非常に冗長
である。事実、各行列は(特定の位置の)1つの列だけ
で一意的に識別することができる。これは、あいまいさ
なしに、対応する体の要素を表現するために非常に良好
に使用することができる。特に、上記集合の各8×8行
列の第1列は、対応する体の要素の一般的に使用されて
いる8桁ベクトル表現である。これは、体の要素α1を
表現するT1行列の集合と全ての非ゼロ8桁ベクトルの
集合との間に1対1対応を確立する。
表わすこともできる。上記表現の正方行列は非常に冗長
である。事実、各行列は(特定の位置の)1つの列だけ
で一意的に識別することができる。これは、あいまいさ
なしに、対応する体の要素を表現するために非常に良好
に使用することができる。特に、上記集合の各8×8行
列の第1列は、対応する体の要素の一般的に使用されて
いる8桁ベクトル表現である。これは、体の要素α1を
表現するT1行列の集合と全ての非ゼロ8桁ベクトルの
集合との間に1対1対応を確立する。
従って、各非ゼロ8桁ベクトルSは特有の整数i(0≦
i≦254)に対応し、これは底αに対するその対数と
考えることができる。
i≦254)に対応し、これは底αに対するその対数と
考えることができる。
表A1は全部の体の要素をαのべき乗に写像する対数表
である。表A2はαの整数べきを対応する体要素に写像
する逆対数表である。それらの表は、基底要素αに関す
る表現として下記のコンパニオン行列Tを用いて、生成
された。
である。表A2はαの整数べきを対応する体要素に写像
する逆対数表である。それらの表は、基底要素αに関す
る表現として下記のコンパニオン行列Tを用いて、生成
された。
それらの表の助けをかりれば、(8桁ベクトルA1及び
A2によって表現される2つの要素の)積A1■A2が
次のようにして計算される。
A2によって表現される2つの要素の)積A1■A2が
次のようにして計算される。
A、=α11 対数表使用:1og A工=
ilα A、 == αx 2 対数表使用:1og
A2=i2α i1+i2 A、XA、=α 加算(モジュロ255) :
1=il+i2a =A 逆対数表使
用: 1 o g−’i=Aα 各表は8x256ビツトのメモリを必要とする。
ilα A、 == αx 2 対数表使用:1og
A2=i2α i1+i2 A、XA、=α 加算(モジュロ255) :
1=il+i2a =A 逆対数表使
用: 1 o g−’i=Aα 各表は8x256ビツトのメモリを必要とする。
そこで8ビツトのベクトルとして表現されるメモリ位置
又はワード番号が入力ベクトルである。メモリ位置に記
憶された8ビツト・ベクトルは、それぞれ2つの表の入
力ベクトルに対応する対数及び逆対数を表わす。A=O
(全ゼロのベクトル)はlog及びantilog表を
用いて処理できないことに注意されたい、従って、それ
は次のように特別な場合として取り扱われるべきである
。即ち、ゼロによる乗算は常にゼロを生じ、ゼロによる
除算は許されるべきでない。
又はワード番号が入力ベクトルである。メモリ位置に記
憶された8ビツト・ベクトルは、それぞれ2つの表の入
力ベクトルに対応する対数及び逆対数を表わす。A=O
(全ゼロのベクトル)はlog及びantilog表を
用いて処理できないことに注意されたい、従って、それ
は次のように特別な場合として取り扱われるべきである
。即ち、ゼロによる乗算は常にゼロを生じ、ゼロによる
除算は許されるべきでない。
17ルベルの一コード・プロセス二車−エラー訂正二二
で述べるように、第ルベルのエラーのデコードは、表索
引動作を含むソフトウェア方法を用いて実行できる。
で述べるように、第ルベルのエラーのデコードは、表索
引動作を含むソフトウェア方法を用いて実行できる。
S工、S2又はS3に関する非ゼロの値はエラーの存在
を示す。サブブロックは1バイト(バイトχ)しかエラ
ーを含まないと仮定すると、読取られたバイトB は、
書込まれたバイトB に対しχ
χて下記の関係にある。
を示す。サブブロックは1バイト(バイトχ)しかエラ
ーを含まないと仮定すると、読取られたバイトB は、
書込まれたバイトB に対しχ
χて下記の関係にある。
B =B ■E (1)x
X x 但しE はバイトχのエラー・パターンである。
X x 但しE はバイトχのエラー・パターンである。
χ
サブブロックが1バイトしか(バイトX)エラーを有さ
ない時、シンドロームはE に対して下記のように関係
付けられる。
ない時、シンドロームはE に対して下記のように関係
付けられる。
S、=TXE (2)S、=T”XE
、 (3) S、=T’XEx (4) この方法において、式(2)、(3)及び(4)はGF
(2’)中の体要素の間の関係と見なされる6特に、
T Bの型の行列乗算は体の要素αとβとの積を表わ
す。但しα 1は行列Tlの最初の列により表現され、
βは列ベクトルBによって表現される。
、 (3) S、=T’XEx (4) この方法において、式(2)、(3)及び(4)はGF
(2’)中の体要素の間の関係と見なされる6特に、
T Bの型の行列乗算は体の要素αとβとの積を表わ
す。但しα 1は行列Tlの最初の列により表現され、
βは列ベクトルBによって表現される。
GF (2”)における積の演算について、底の(但し
αは体の原始要素)に対する対数及び逆対数表(表A1
及びA2)を参照して、説明した。
αは体の原始要素)に対する対数及び逆対数表(表A1
及びA2)を参照して、説明した。
これらの表の助けをかりると、式(2)、(3)及び(
4)から次のようにしてエラー位置の値χが計算できる
。
4)から次のようにしてエラー位置の値χが計算できる
。
z=(l o g S、−1o g Sl) mo
dulo255 ’(5)α
α z=(1o g Ss−1o g S、) mod
ulo25sα α またエラー・パターンE は式(2)及び(5)がらχ 次のように計算できる。
dulo255 ’(5)α
α z=(1o g Ss−1o g S、) mod
ulo25sα α またエラー・パターンE は式(2)及び(5)がらχ 次のように計算できる。
Ez=log (log 5t−z) modul
o255 (6)α α 式(5)及び(6)の全ての項は8桁の2進数列である
。モジュロ255の計算において、8桁の2進数の減算
はその補数の加算化と等価である。
o255 (6)α α 式(5)及び(6)の全ての項は8桁の2進数列である
。モジュロ255の計算において、8桁の2進数の減算
はその補数の加算化と等価である。
これに関して、8桁の全部1の系列(値255)が数字
ゼロを表わし、上位キャリー(値256)が数字1に等
しい終端巡回キャリー(and−aroundcarr
y)付き8桁2進加算器を使用すると便利である。
ゼロを表わし、上位キャリー(値256)が数字1に等
しい終端巡回キャリー(and−aroundcarr
y)付き8桁2進加算器を使用すると便利である。
χの各計算は、対数表(表Al)への2回の参照及び1
回のモジュロ255減算を必要とす゛る。
回のモジュロ255減算を必要とす゛る。
同様に、Ezの計算は、逆対数表(表A2)への1回の
参照を必要とする。次にバイト令χは令χ+Eχのよう
に訂正される。
参照を必要とする。次にバイト令χは令χ+Eχのよう
に訂正される。
もしs、=s、=o且つS、≠Oであれば、エラーは検
査バイトC2に存在する6式(5)で、χは2通りに計
算される。その結果は同一でなければならず、さもなけ
れば2以上のエラー・バイトが存在する。また、S8≠
S2且つS工又はS2がゼロであれば、2以上のエラー
・バイトが存在する。
査バイトC2に存在する6式(5)で、χは2通りに計
算される。その結果は同一でなければならず、さもなけ
れば2以上のエラー・バイトが存在する。また、S8≠
S2且つS工又はS2がゼロであれば、2以上のエラー
・バイトが存在する。
その場合、サブブロックはエラーを有するが第ルベルの
処理では訂正されないままである。そのようなサブブロ
ックはサブブロック番号fにより識別され、対応するシ
ンドロームSi、S、、S。
処理では訂正されないままである。そのようなサブブロ
ックはサブブロック番号fにより識別され、対応するシ
ンドロームSi、S、、S。
がローカル・メモリに記憶され、後の第2レベルの処理
のために渡される。
のために渡される。
2レベルのデコード・プロセス=2エラー訂正1つのサ
ブブロックだけが、y及び2で示されそれぞれエラー・
パターンE 及びE を有するy z 2つのエラー・バイトを含むものと仮定する。シンドロ
ームS0、SいS2、及びS、は下記のようにE 及び
E と関係付けられる。
ブブロックだけが、y及び2で示されそれぞれエラー・
パターンE 及びE を有するy z 2つのエラー・バイトを含むものと仮定する。シンドロ
ームS0、SいS2、及びS、は下記のようにE 及び
E と関係付けられる。
yz
S、=E ■E
y z (7)S1=T E
$T Ez(8) S、=T2yE %)T22E 、 2(9) S、=T”E■T 3Z E yz(10) 対応するサブブロックに関する第ルベルの処理は、複数
エラーとしてこれらのエラーを検出したてあろう、サブ
ブロック・レベルで利用可能なS工、S2及びS、を用
いて、サブブロック・レベルのシンドロームの処理は、
それらのエラーを位置χの1記号エラーEχとして誤訂
正はしない。
$T Ez(8) S、=T2yE %)T22E 、 2(9) S、=T”E■T 3Z E yz(10) 対応するサブブロックに関する第ルベルの処理は、複数
エラーとしてこれらのエラーを検出したてあろう、サブ
ブロック・レベルで利用可能なS工、S2及びS、を用
いて、サブブロック・レベルのシンドロームの処理は、
それらのエラーを位置χの1記号エラーEχとして誤訂
正はしない。
2記号エラーに関するブロック・レベルのシンドローム
及びサブブロックの組み合せられた集合をデコードする
事を説明する。詳しい解説についでは、後述の「2記号
エラーのデコードの理論」の節を参照されたい、最初に
、ベクトルP、Q及びRが得られる。それらは下記のよ
うなシンドロームS、、S工、S2及びS、の関数であ
る。
及びサブブロックの組み合せられた集合をデコードする
事を説明する。詳しい解説についでは、後述の「2記号
エラーのデコードの理論」の節を参照されたい、最初に
、ベクトルP、Q及びRが得られる。それらは下記のよ
うなシンドロームS、、S工、S2及びS、の関数であ
る。
p= (s2O3,)69 (S30S、) (1
1)Q= (S、■St)Φ(S30so) (1
2)R= (S o OS z )Φ(Sユ■S、)
(13)但し■は0F(2”)中の元の積演算を示
し、元は2進8桁のベクトルで表現されている。積演算
は、ハードワイヤ式論理を用いて、又はOF (2”)
の対数表及び逆対数衣を用いて実現できる。
1)Q= (S、■St)Φ(S30so) (1
2)R= (S o OS z )Φ(Sユ■S、)
(13)但し■は0F(2”)中の元の積演算を示
し、元は2進8桁のベクトルで表現されている。積演算
は、ハードワイヤ式論理を用いて、又はOF (2”)
の対数表及び逆対数衣を用いて実現できる。
エラーを生じた2個のバイトが存在し両者がサブブロッ
クのデータ・バイト中にある時、P、Q及びRは必然的
に非ゼロであることに注意されたい。これと対照的に、
2個のエラー・バイトのなかに検査バイトC1又はC2
がある時、これは各々P=0及びR=Oにより示される
。
クのデータ・バイト中にある時、P、Q及びRは必然的
に非ゼロであることに注意されたい。これと対照的に、
2個のエラー・バイトのなかに検査バイトC1又はC2
がある時、これは各々P=0及びR=Oにより示される
。
サブブロックの1つの中に正確に2個のエラー・バイト
が存在すると仮定する。この時、エラー位置の値y及び
2は、下記の方程式のiの2つの一意的な解である。
が存在すると仮定する。この時、エラー位置の値y及び
2は、下記の方程式のiの2つの一意的な解である。
T”P$T’Q=R(14)
但しP、Q及びRはシンドロームS、、S2、S2、及
びS、の関数であり、式(11)〜(13)により与え
られる。
びS、の関数であり、式(11)〜(13)により与え
られる。
iの2個の解の値の各々に関して、エラー・パターンは
次式で与えられる。
次式で与えられる。
E i =R/ (T”S。■St) (1s)
この証明は、後の「2記号エラーのデコードの理論」に
与えられている。
この証明は、後の「2記号エラーのデコードの理論」に
与えられている。
本発明の重要な特徴によれば、2記号エラーに関するブ
ロック・レベルのシンドローム及びサブブロックの組み
合せのデコードは、表索引動作を含むソフトウェア方法
を用いて行なうことができる。ベクトルP、Q及びRは
、それぞれ表A1及びA2の対数表及び逆対数衣を用い
て、シンドロームS、、 Si、S2.及びS、から計
算される。これは、高々、メモリ中のテーブルへの18
回の参照、6回の2進数加算(モジュロ255)演算、
及び3回のベクトル加算(モジュロ2)演算を必要とす
エラー位置の値y及び2は、単純な表索引手続きにより
得られる。テーブル及びその手続きの背景の理論は、後
の「2工ラー位置に関する表索引解法」の節及び表Bに
示されている。この方法では、下記の4ステツプの、手
続きによりエラー位置の値y及び2が得られる。
ロック・レベルのシンドローム及びサブブロックの組み
合せのデコードは、表索引動作を含むソフトウェア方法
を用いて行なうことができる。ベクトルP、Q及びRは
、それぞれ表A1及びA2の対数表及び逆対数衣を用い
て、シンドロームS、、 Si、S2.及びS、から計
算される。これは、高々、メモリ中のテーブルへの18
回の参照、6回の2進数加算(モジュロ255)演算、
及び3回のベクトル加算(モジュロ2)演算を必要とす
エラー位置の値y及び2は、単純な表索引手続きにより
得られる。テーブル及びその手続きの背景の理論は、後
の「2工ラー位置に関する表索引解法」の節及び表Bに
示されている。この方法では、下記の4ステツプの、手
続きによりエラー位置の値y及び2が得られる。
ステップ1:
表A1及びA2の対数表及び逆対数衣を用いて、ベクト
ルP、Q及びRから2個の2進数U及びVを得る。
ルP、Q及びRから2個の2進数U及びVを得る。
u=(log P−1og Q)modulo25
5 (16)α α v=(l o g R−1o g Q) modu
lo255 (17)α α 五ヱヱj又上 2エラーの位置の決定に向かうステップとして。
5 (16)α α v=(l o g R−1o g Q) modu
lo255 (17)α α 五ヱヱj又上 2エラーの位置の決定に向かうステップとして。
上記2個の2進数の和から値dを計算する。
d = (u + v ) modulo
255 (18)ステップ3: 表Bのテーブルから、値dに対して特別な数学的関係を
有する値tを得る。
255 (18)ステップ3: 表Bのテーブルから、値dに対して特別な数学的関係を
有する値tを得る。
入元Lj土よ
下記のように、値tから上記2進数のオフセットを計算
することによってエラー位置の値y及び2を得る。
することによってエラー位置の値y及び2を得る。
y= (u−t) modulo255 (1
9)z= (t−v) modulo255
(20)上記手続きの式(16)〜(20)の中の全て
の項は、モジュロ255の加算又は減算の行なわれる8
桁の2進数列である。この手続きは4回の表索引動作、
4回のモジュロ255減算、及び1回のモジ二ロ255
加算を必要とする。この手続きにおいて、無効な値のd
(表B中に項目が存在しないもの)又は無効なエラー位
My又はz(m+1よりも大きい)は、3以上のエラー
を含む訂正不可能なエラーを示す。
9)z= (t−v) modulo255
(20)上記手続きの式(16)〜(20)の中の全て
の項は、モジュロ255の加算又は減算の行なわれる8
桁の2進数列である。この手続きは4回の表索引動作、
4回のモジュロ255減算、及び1回のモジ二ロ255
加算を必要とする。この手続きにおいて、無効な値のd
(表B中に項目が存在しないもの)又は無効なエラー位
My又はz(m+1よりも大きい)は、3以上のエラー
を含む訂正不可能なエラーを示す。
エラー・パターンE は式(15)に従って対数表及び
逆対数衣を用いて計算できる。そこで行列乗算T2yS
、は2つの元の積α”@s oによって与えられる対応
する元によって置き換えられている。
逆対数衣を用いて計算できる。そこで行列乗算T2yS
、は2つの元の積α”@s oによって与えられる対応
する元によって置き換えられている。
エラー・パターンE は式(15)を用いて又はその代
りに式(7)から得られる次式を用いて、同様に計算で
きる。
りに式(7)から得られる次式を用いて、同様に計算で
きる。
E z = S o OE y
(21)次にサブブロックのエラー訂正はエラーパター
ンE 及びE を用いてバイトB 及びB を訂正y
z
y zすることによって行なわれる。
(21)次にサブブロックのエラー訂正はエラーパター
ンE 及びE を用いてバイトB 及びB を訂正y
z
y zすることによって行なわれる。
実施例は、符号語中の1バイト・エラーが第ルベルで訂
正可能であり、符号語中の2バイト・エラーがブロック
・レベルで訂正可能であるような2レベル符号構造を仮
定しているが、その方法及び装置は、任意の単一又は多
重レベル符号構造中の2バイト・エラーの訂正に使用で
きる。
正可能であり、符号語中の2バイト・エラーがブロック
・レベルで訂正可能であるような2レベル符号構造を仮
定しているが、その方法及び装置は、任意の単一又は多
重レベル符号構造中の2バイト・エラーの訂正に使用で
きる。
また、ここで開示した方法及び装置は、各バイトが所定
数のビットを含む、所定のバイト数のレコード中の2バ
イト・エラーに関するシンドロームをデコードするよう
にも動作する。
数のビットを含む、所定のバイト数のレコード中の2バ
イト・エラーに関するシンドロームをデコードするよう
にも動作する。
また、この方法及び装置は、磁気ディスク記憶装置中の
符号化された未訂正データ中のエラーを訂正するが、そ
れらはテープ又は光学的記憶装置にも同様に適用可能で
ある。
符号化された未訂正データ中のエラーを訂正するが、そ
れらはテープ又は光学的記憶装置にも同様に適用可能で
ある。
最後に、ここで述べたソフトウェアによる実施の代りに
、第ルベルの(単一)エラーのデコードは、米国特許第
4,525,838号に開示されているようにハードウ
ェアにより行なうことができる。
、第ルベルの(単一)エラーのデコードは、米国特許第
4,525,838号に開示されているようにハードウ
ェアにより行なうことができる。
2記号エラーのデコードの理
本節は2記号エラーのためのデコード・アルゴリズムの
背景を与える。これは、上記の「従来技術」の節で引用
したChienの論文に記載されている、一般化された
BCH符号をデコードする時のChienサーチと呼ば
れる周知の従来技術から導き出される。
背景を与える。これは、上記の「従来技術」の節で引用
したChienの論文に記載されている、一般化された
BCH符号をデコードする時のChienサーチと呼ば
れる周知の従来技術から導き出される。
サブブロックの1つに正確に2つのエラー・バイトが存
在すると仮定する。下記の証明は、エラー位置の値y及
びZが次式のiの2個のユニークな解であることを確立
する。
在すると仮定する。下記の証明は、エラー位置の値y及
びZが次式のiの2個のユニークな解であることを確立
する。
一2i −1
TP■T Q=R(A−1)
但し、P、Q及びRは式(11)〜(13)によって与
えられるように、シンドロームS0、S、、S。
えられるように、シンドロームS0、S、、S。
及びS、の関数である。i=y又はi=zに関するエラ
ー・パターンE、は各々次式を満足する。
ー・パターンE、は各々次式を満足する。
i
R= (T 5IleS2) OE i (A
−2)証明:シンドロームは式(7)〜(10)で2つ
のエラーの関数として表現される。それらの式を再び書
くと、 50=EyΦEz(A−3) S、=T E yeT E z (A−
4)2y 2z Sx=T Ey@T Ez (A 5)
3y 3z S、=T EyeT Ez (A−6)式
(A−3)〜(A−6)から適当な式を組み合わせると
、 TyS0ΦS z =(Tye T2) E z (
A 7 )T S、eS、=T (T eT )E
z (A−8)TyS2eS、 = T22(TyeT
2)E z (A −9)行列の方程式(A−7)、(
A−8)及び(A−9)は1行列により表現されるGF
(2’)の元の間の関係である。特にT”Hの型の行
列乗算は元−とβとの積を表わす。但しα1は行列Tl
の最初の列により表現され、βはベクトルBにより表わ
される。この解釈を考慮すると、式(A−7)、(A−
8)及び(A−9)から下記の関係が生じる。
−2)証明:シンドロームは式(7)〜(10)で2つ
のエラーの関数として表現される。それらの式を再び書
くと、 50=EyΦEz(A−3) S、=T E yeT E z (A−
4)2y 2z Sx=T Ey@T Ez (A 5)
3y 3z S、=T EyeT Ez (A−6)式
(A−3)〜(A−6)から適当な式を組み合わせると
、 TyS0ΦS z =(Tye T2) E z (
A 7 )T S、eS、=T (T eT )E
z (A−8)TyS2eS、 = T22(TyeT
2)E z (A −9)行列の方程式(A−7)、(
A−8)及び(A−9)は1行列により表現されるGF
(2’)の元の間の関係である。特にT”Hの型の行
列乗算は元−とβとの積を表わす。但しα1は行列Tl
の最初の列により表現され、βはベクトルBにより表わ
される。この解釈を考慮すると、式(A−7)、(A−
8)及び(A−9)から下記の関係が生じる。
(T 5oes、)@(T S2ΦS、)=(T
S、eS、)” (A−10)但し×はGF(2”)
中の対応する元の積を示す。
S、eS、)” (A−10)但し×はGF(2”)
中の対応する元の積を示す。
式(A−10)は次の行列方程式の形に再構成できる。
y
T ReTyQeP=o (A−11)こ
こで、PLQ及びRは次式で与えられる列ベクトルであ
る。
こで、PLQ及びRは次式で与えられる列ベクトルであ
る。
P= (S z @s z >Φ(S、■S1) (
A−12)Q= (S、■S□)Φ(S、eS、)
(A−13)R=(So@S、)Φ(S、O8,)
(A−14)従ってyは次式のiに関する解の1つであ
る。
A−12)Q= (S、■S□)Φ(S、eS、)
(A−13)R=(So@S、)Φ(S、O8,)
(A−14)従ってyは次式のiに関する解の1つであ
る。
−2j。
T P69T Q=R(A−15)上記プロセス
で変数y及び2を交換することにより、2が式(A−1
5)のiに関する第2の解であることが示される。
で変数y及び2を交換することにより、2が式(A−1
5)のiに関する第2の解であることが示される。
各エラー・パターンに関する式(A−2)は、R,S、
、SL及びS2に関して値を直接代入することにより確
認できる0式(A−2)の両側は次式に変形される。
、SL及びS2に関して値を直接代入することにより確
認できる0式(A−2)の両側は次式に変形される。
(T2yeT2Z) (Ey@Ez) (A−16
)これで証明を終る。
)これで証明を終る。
2エラーt に する −′
以上、サブブロック中の2個のエラーに関するエラー位
置y及び2が1式(A−1)をiに関して解くことによ
り決定できることが示された。その式をこことに再録す
ると、 T”PeT−iQ=R(B−1) 定数P、Q及びRは、各々式(A−12)〜(A−14
)により与えられる。シンドロームS、、S工、S2及
びS、の関数である0表A1及びA2の対数表及び逆対
数表からP、Q及びRの対数を得ることができる。
置y及び2が1式(A−1)をiに関して解くことによ
り決定できることが示された。その式をこことに再録す
ると、 T”PeT−iQ=R(B−1) 定数P、Q及びRは、各々式(A−12)〜(A−14
)により与えられる。シンドロームS、、S工、S2及
びS、の関数である0表A1及びA2の対数表及び逆対
数表からP、Q及びRの対数を得ることができる。
p=log P (B−2)α
q=log Q (B−3)α
r=log R(B−4)
α
行列方程式(B−1)はGF (2”)中の元の間の関
係として次のように書きかえられる。
係として次のように書きかえられる。
a” apea−” a9= ar(B −5)式(B
−5)の両側にαp−29を掛けると、次式を得る。
−5)の両側にαp−29を掛けると、次式を得る。
a(−2i+2p+2q)e、 (−i+p−q)=
、(rap−2q) (B−6>式(B−6)中の(−
i+p−q)をtで置き換えると、 a”FB a”= a ””−”)(B −7)及び 1=u−t(B8) 但しu=p−q 式(B−7)の右辺は既知の元α4である。ここで指数
dは、 d=u+v (B−9)但しu=
p−q、及びv=r−q次に式(B−7)に関して表索
引解が与えられる。これは次のように書き換えることが
できる。
、(rap−2q) (B−6>式(B−6)中の(−
i+p−q)をtで置き換えると、 a”FB a”= a ””−”)(B −7)及び 1=u−t(B8) 但しu=p−q 式(B−7)の右辺は既知の元α4である。ここで指数
dは、 d=u+v (B−9)但しu=
p−q、及びv=r−q次に式(B−7)に関して表索
引解が与えられる。これは次のように書き換えることが
できる。
α (αΦα)=α’ (B−10)tt。
この表現を用いると、′tの各々値(Oから254まで
)はdの値に関係付けられる。dのある値はこの関係に
存在しない事、及びdの各々の有効な値はtの2の値に
対応することに注意されたい、与えられる値のdに関し
て、もしt=t 1が式(B−io)の解の1つであれ
ば、t=t2も解であることが明らかである。但し。
)はdの値に関係付けられる。dのある値はこの関係に
存在しない事、及びdの各々の有効な値はtの2の値に
対応することに注意されたい、与えられる値のdに関し
て、もしt=t 1が式(B−io)の解の1つであれ
ば、t=t2も解であることが明らかである。但し。
α12=α11Φα’ (B−11)式
(B−10)にt=tlを代入し1式(B−11)を使
うと、 tl t2 d α ・α =α (B−12)従って、 d=tl+t2 (B−13)式(B−
8)、(B −9>及び(B−13)から、下記の2つ
のエラー位置の値11及び12が得られる。
(B−10)にt=tlを代入し1式(B−11)を使
うと、 tl t2 d α ・α =α (B−12)従って、 d=tl+t2 (B−13)式(B−
8)、(B −9>及び(B−13)から、下記の2つ
のエラー位置の値11及び12が得られる。
i 1=u−t 1 (B −14)i
2=u−t2=tl−v (B −Is)表Bは
、dの各々の有効な値をtの2つの値の1つに関係付け
ている。dの値は、8X256ビツトのメモリのアドレ
スとして容易に参照できるように、昇順にリストされて
いる。tの対応する値は、メモリ中に8ビツトの2進数
として記憶されている。dの無効な値に対応するアドレ
スには全部ゼロのベクトル(表中では無効な値はダッシ
ュで表現されている)が記憶され、そのようなものとし
て解釈される。
2=u−t2=tl−v (B −Is)表Bは
、dの各々の有効な値をtの2つの値の1つに関係付け
ている。dの値は、8X256ビツトのメモリのアドレ
スとして容易に参照できるように、昇順にリストされて
いる。tの対応する値は、メモリ中に8ビツトの2進数
として記憶されている。dの無効な値に対応するアドレ
スには全部ゼロのベクトル(表中では無効な値はダッシ
ュで表現されている)が記憶され、そのようなものとし
て解釈される。
2エラーの場合、dの計算値が、表Bからtに関する2
つの値の1つを取り出す。このtの1つの値を用いて、
式(B−14)及び(B−15)が、エラー位置y及び
2としてiの2つの値を与える。
つの値の1つを取り出す。このtの1つの値を用いて、
式(B−14)及び(B−15)が、エラー位置y及び
2としてiの2つの値を与える。
dの無効な値は1=0を表Bから取り出す。これは符号
語の3以上のバイトに関係する訂正不可能なエラーと解
釈される。
語の3以上のバイトに関係する訂正不可能なエラーと解
釈される。
茎Al
log S=i
α
201 10010110 252 011101
0.0退Jし影 α =S 031.10100000 082 1010011
0 133 10010101表−」。
0.0退Jし影 α =S 031.10100000 082 1010011
0 133 10010101表−」。
dt dt dtooo
01010101 051 10001010
102 00010101001 −−−−−一
−−052−−−−−−−−103100010110
05−−−−−−一−056000001001071
0011100010−一−−−−−−0610100
0010112000010000110000110
0062−−−−−−−−113−−−−−−一−01
3−−−−一−−−064−−−−−−−−11501
111001018−−−−−−−−06901101
010120−−−一−−−−01901000001
070−−−一−−−−121−−−−−−−−028
00000010 079 10010000
130 −m−−−−−−033−−−−−−−−
08410100110135−一−−−−−−037
−−−−−一−−08801100000139−−
−−−−−−16200110101213−−−−−
−一−163−−−一−−−−21400111001
164−−−−−−−−215−一−−−−−−165
00101001216−−−一−−−−174−−−
−−−−−225−−−−−−一−177 −−−−−
−一−22801011101189−−一−−−−−
240−−−−−−−−190−−−−−−一−241
−−−−−−−一195 −−−−−−−− 24
6 −−−−−一−−20100001111252−
−一−−−−−
01010101 051 10001010
102 00010101001 −−−−−一
−−052−−−−−−−−103100010110
05−−−−−−一−056000001001071
0011100010−一−−−−−−0610100
0010112000010000110000110
0062−−−−−−−−113−−−−−−一−01
3−−−−一−−−064−−−−−−−−11501
111001018−−−−−−−−06901101
010120−−−一−−−−01901000001
070−−−一−−−−121−−−−−−−−028
00000010 079 10010000
130 −m−−−−−−033−−−−−−−−
08410100110135−一−−−−−−037
−−−−−一−−08801100000139−−
−−−−−−16200110101213−−−−−
−一−163−−−一−−−−21400111001
164−−−−−−−−215−一−−−−−−165
00101001216−−−一−−−−174−−−
−−−−−225−−−−−−一−177 −−−−−
−一−22801011101189−−一−−−−−
240−−−−−−−−190−−−−−−一−241
−−−−−−−一195 −−−−−−−− 24
6 −−−−−一−−20100001111252−
−一−−−−−
第1図は本発明の1実施例に従ったFCC装置の第1及
び第2レベルの訂正部分のブロック図。 第2図は本発明の1実施例で使用される2レベル符号構
造のディスク・トラックのデータ形式を示す図である。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名)
び第2レベルの訂正部分のブロック図。 第2図は本発明の1実施例で使用される2レベル符号構
造のディスク・トラックのデータ形式を示す図である。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名)
Claims (1)
- (1)所定長のレコード中の符号化された末訂正のデー
タ中の2バイト・エラーを、エラーの4つのシンドロー
ムをデコードし処理することによって訂正する方法であ
って、 1つのレコード中の2つのエラーに応答して、上記4つ
のシンドロームの関数であるベクトルを計算することに
より上記シンドロームをデコードし、 表索引により、上記ベクトルから2つの2進数を計算し
、 上記2つのエラーの位置を決定するために、上記2進数
の和から1つの値を計算し、 表索引により、上記1つの値に対して特別な数学的関係
を有する別の値を決定し、 上記他の値から上記2進数のオフセットを計算すること
により上記エラーの位置を識別する値を計算するステッ
プを含む。 エラー訂正方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US119011 | 1987-11-10 | ||
US07/119,011 US4849975A (en) | 1987-11-10 | 1987-11-10 | Error correction method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01155721A true JPH01155721A (ja) | 1989-06-19 |
JPH0444447B2 JPH0444447B2 (ja) | 1992-07-21 |
Family
ID=22382104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63282645A Granted JPH01155721A (ja) | 1987-11-10 | 1988-11-10 | エラー訂正方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4849975A (ja) |
EP (1) | EP0316063B1 (ja) |
JP (1) | JPH01155721A (ja) |
DE (1) | DE3852474T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01235423A (ja) * | 1988-03-09 | 1989-09-20 | Magnetic Peripherals Inc | オンザフライ誤り訂正装置 |
US6651212B1 (en) | 1999-12-16 | 2003-11-18 | Hitachi, Ltd. | Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5068855A (en) * | 1988-07-18 | 1991-11-26 | Canon Kabushiki Kaisha | Error correcting method and apparatus |
US4951284A (en) * | 1988-12-14 | 1990-08-21 | International Business Machines Corporation | Method and means for correcting random and burst errors |
US5179560A (en) * | 1989-05-15 | 1993-01-12 | Mitsubishi Denki Kabushiki Kaisha | Apparatus for decoding bch code for correcting complex error |
US5194996A (en) * | 1990-04-16 | 1993-03-16 | Optical Radiation Corporation | Digital audio recording format for motion picture film |
US5598422A (en) * | 1990-04-30 | 1997-01-28 | Dell Usa, L.P. | Digital computer having an error correction code (ECC) system with comparator integrated into re-encoder |
US5280488A (en) * | 1990-11-08 | 1994-01-18 | Neal Glover | Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping |
JPH05158722A (ja) * | 1991-12-10 | 1993-06-25 | Hitachi Ltd | 誤り検出・訂正方式 |
JP2721099B2 (ja) * | 1991-12-18 | 1998-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法 |
EP0563491A1 (en) * | 1992-03-31 | 1993-10-06 | International Business Machines Corporation | Method and apparatus for implementing a triple error detection and double error correction code |
US5761220A (en) * | 1994-09-19 | 1998-06-02 | Cirrus Logic, Inc. | Minimum latency asynchronous data path controller in a digital recording system |
JP3248098B2 (ja) * | 1997-05-26 | 2002-01-21 | 日本プレシジョン・サーキッツ株式会社 | シンドローム計算装置 |
US5946328A (en) * | 1997-11-17 | 1999-08-31 | International Business Machines Corporation | Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords |
US6275965B1 (en) * | 1997-11-17 | 2001-08-14 | International Business Machines Corporation | Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords |
US6061824A (en) * | 1998-03-05 | 2000-05-09 | Quantum Corporation | Pipelined error correction for minimizing disk re-reading in hard drives |
US6662334B1 (en) * | 1999-02-25 | 2003-12-09 | Adaptec, Inc. | Method and device for performing error correction on ECC data sectors |
JP2000242440A (ja) * | 1999-02-25 | 2000-09-08 | Alps Electric Co Ltd | ディスク装置 |
US6532566B1 (en) | 1999-05-24 | 2003-03-11 | Oak Technology, Inc. | Modified Reed-Solomon multiplication |
US6378105B1 (en) * | 1999-05-24 | 2002-04-23 | Oak Technology, Inc. | Reed-Solomon multiplication method |
US6915475B1 (en) * | 1999-06-29 | 2005-07-05 | Emc Corporation | Data integrity management for data storage systems |
JP3735498B2 (ja) * | 1999-11-09 | 2006-01-18 | 株式会社東芝 | 情報記録媒体、情報記録装置、情報記録方法 |
US6732320B1 (en) | 2000-04-28 | 2004-05-04 | Promos Technologies Inc. | Method and system for improved error correction in optical media data processing |
JP4325674B2 (ja) * | 2004-09-08 | 2009-09-02 | 日本電気株式会社 | 無線通信システム、移動局、ハンドオーバ制御方法 |
US7624330B2 (en) * | 2005-12-12 | 2009-11-24 | Lsi Corporation | Unified memory architecture for recording applications |
JP4846384B2 (ja) * | 2006-02-20 | 2011-12-28 | 株式会社東芝 | 半導体記憶装置 |
JP2007305267A (ja) * | 2006-05-15 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
US7890841B2 (en) * | 2006-11-14 | 2011-02-15 | Samsung Electronics Co., Ltd. | Post-viterbi error correction method and apparatus |
US8799742B1 (en) | 2007-07-30 | 2014-08-05 | Marvell International Ltd. | QC-LDPC decoder with list-syndrome decoding |
US8127209B1 (en) * | 2007-07-30 | 2012-02-28 | Marvell International Ltd. | QC-LDPC decoder with list-syndrome decoding |
KR101466695B1 (ko) * | 2008-04-30 | 2014-12-01 | 삼성전자주식회사 | 멀티 비트 레벨 데이터의 부호화 및 복호화 방법 |
US8365036B2 (en) * | 2009-09-16 | 2013-01-29 | Freescale Semiconductor, Inc. | Soft error correction in a memory array and method thereof |
CN103197985B (zh) * | 2011-11-08 | 2018-07-13 | 索尼公司 | 存储控制装置 |
KR20150058315A (ko) * | 2012-10-19 | 2015-05-28 | 후지쯔 가부시끼가이샤 | 기록 재생 장치, 오류 정정 방법 및 제어 장치 |
US9444580B2 (en) | 2013-08-06 | 2016-09-13 | OptCTS, Inc. | Optimized data transfer utilizing optimized code table signaling |
US9455799B2 (en) | 2013-08-06 | 2016-09-27 | OptCTS, Inc. | Dynamic control of quality of service (QOS) using derived QOS measures |
US10523490B2 (en) | 2013-08-06 | 2019-12-31 | Agilepq, Inc. | Authentication of a subscribed code table user utilizing optimized code table signaling |
WO2016004185A1 (en) | 2014-07-02 | 2016-01-07 | OptCTS, Inc. | Data recovery utilizing optimized code table signaling |
WO2017214060A1 (en) | 2016-06-06 | 2017-12-14 | Agilepq, Inc. | Data conversion systems and methods |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60128723A (ja) * | 1983-12-16 | 1985-07-09 | Sony Corp | エラ−訂正回路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5829237A (ja) * | 1981-08-14 | 1983-02-21 | Sony Corp | エラ−訂正方法 |
US4464753A (en) * | 1981-12-30 | 1984-08-07 | International Business Machines Corporation | Two bit symbol SEC/DED code |
US4525838A (en) * | 1983-02-28 | 1985-06-25 | International Business Machines Corporation | Multibyte error correcting system involving a two-level code structure |
US4637021A (en) * | 1983-09-28 | 1987-01-13 | Pioneer Electronic Corporation | Multiple pass error correction |
CA1228166A (en) * | 1984-05-30 | 1987-10-13 | Brian C. Mortimer | Method and apparatus for coding digital data to permit correction of one or two incorrect data packets (bytes) |
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) |
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 |
-
1987
- 1987-11-10 US US07/119,011 patent/US4849975A/en not_active Expired - Fee Related
-
1988
- 1988-09-23 DE DE3852474T patent/DE3852474T2/de not_active Expired - Fee Related
- 1988-09-23 EP EP88308881A patent/EP0316063B1/en not_active Expired - Lifetime
- 1988-11-10 JP JP63282645A patent/JPH01155721A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60128723A (ja) * | 1983-12-16 | 1985-07-09 | Sony Corp | エラ−訂正回路 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01235423A (ja) * | 1988-03-09 | 1989-09-20 | Magnetic Peripherals Inc | オンザフライ誤り訂正装置 |
US6651212B1 (en) | 1999-12-16 | 2003-11-18 | Hitachi, Ltd. | Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory |
Also Published As
Publication number | Publication date |
---|---|
EP0316063B1 (en) | 1994-12-14 |
DE3852474T2 (de) | 1995-07-20 |
EP0316063A2 (en) | 1989-05-17 |
DE3852474D1 (de) | 1995-01-26 |
US4849975A (en) | 1989-07-18 |
EP0316063A3 (en) | 1992-03-25 |
JPH0444447B2 (ja) | 1992-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01155721A (ja) | エラー訂正方法 | |
US4525838A (en) | Multibyte error correcting system involving a two-level code structure | |
CA1199410A (en) | On-the-fly multibyte error correcting system | |
US4142174A (en) | High speed decoding of Reed-Solomon codes | |
US4099160A (en) | Error location apparatus and methods | |
KR930001071B1 (ko) | 에러 정정회로 | |
KR920000828B1 (ko) | 가로아체(Galois field)연산장치 | |
JPH03136524A (ja) | 長バースト誤りに対する誤り検出及び訂正システム | |
US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
US4856003A (en) | Error correction code encoder | |
US5778009A (en) | Dedicated ALU architecture for 10-bit Reed-Solomon error correction module | |
US6725416B2 (en) | Forward error correction apparatus and methods | |
EP0233075B1 (en) | Method and apparatus for generating error detection check bytes for a data record | |
JPS6273336A (ja) | マルチバイト・エラ−訂正方法及びシステム | |
JP3989558B2 (ja) | GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム | |
EP1213841A2 (en) | Erasure correction for ECC entities | |
EP0341851A2 (en) | Method and apparatus for interleaved encoding | |
JP2553565B2 (ja) | ガロア体演算装置 | |
US6446233B1 (en) | Forward error correction apparatus and methods | |
JP2553571B2 (ja) | ガロア体演算装置 | |
JP2611204B2 (ja) | 誤り訂正方法 | |
JPH0582613B2 (ja) | ||
KR930000220B1 (ko) | 리드-솔로몬 코드의 에러위치 정정시스템 | |
Malhotra et al. | A double error-correction scheme for peripheral systems | |
JPH0373902B2 (ja) |