JPH0831806B2 - エラー訂正方法 - Google Patents
エラー訂正方法Info
- Publication number
- JPH0831806B2 JPH0831806B2 JP1322776A JP32277689A JPH0831806B2 JP H0831806 B2 JPH0831806 B2 JP H0831806B2 JP 1322776 A JP1322776 A JP 1322776A JP 32277689 A JP32277689 A JP 32277689A JP H0831806 B2 JPH0831806 B2 JP H0831806B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- error
- subblock
- syndrome
- syndromes
- 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/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- 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
-
- 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
- H03M13/1515—Reed-Solomon codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
- H03M13/293—Decoding strategies with erasure setting
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、複数のサブブロツクから成るブロツクの形
で記憶媒体上に記録されたデータにおけるランダム・エ
ラー及びバースト・エラーを両方共検出し訂正するため
の方法に係り、特に復号及び推定ブロツク検査シンドロ
ームが生成されるようなエラー訂正符号(ECC)を含む
方法に係る。
で記憶媒体上に記録されたデータにおけるランダム・エ
ラー及びバースト・エラーを両方共検出し訂正するため
の方法に係り、特に復号及び推定ブロツク検査シンドロ
ームが生成されるようなエラー訂正符号(ECC)を含む
方法に係る。
B.従来の技術とその課題 米国特許第4706250号明細書は、多重バイト・エラー
訂正サブシステムにおける2レベルECC構造を開示して
いる。データはデイスク・トラツク上で多数のサブブロ
ツクにフォーマットされ、それぞれ1つのブロツク内に
位置する。また3つのサブブロック検査バイトも2組設
けられる。そのうちの1組は、2ウエイ・インターリー
ビングの偶数の側と関連づけられ、他方の組は奇数の側
と関連づけられる。
訂正サブシステムにおける2レベルECC構造を開示して
いる。データはデイスク・トラツク上で多数のサブブロ
ツクにフォーマットされ、それぞれ1つのブロツク内に
位置する。また3つのサブブロック検査バイトも2組設
けられる。そのうちの1組は、2ウエイ・インターリー
ビングの偶数の側と関連づけられ、他方の組は奇数の側
と関連づけられる。
この2レベルECC構造では、訂正の第1(サブブロツ
ク)レベルで各サブブロツク中の1つのエラーを訂正す
ることができ、第2(ブロツク)レベルで当該ブロツク
の1つのサブブロツク中の2つのエラーを訂正すること
ができる。従つて、例えばバースト・エラーのために、
1つのサブブロツク中に2以上のエラーがあると、ECC
はすべてのエラーを訂正することはできない。この問題
の解決策として、サブブロツクの大きさを例えば100バ
イトから50バイトに減らすことによつて、各サブブロツ
クに2以上のエラーが生じる確率を小さくすることが考
えられる。しかし上記米国特許の第1図に示されている
ように、各サブブロツクには2ウエイ・インターリーブ
された1組のサブブロツク検査バイトが関連づけられて
おり、従つてサブブロツクの数を倍にすると、サブブロ
ツク検査バイトの数も倍になるため、オーバーヘッドが
増える。
ク)レベルで各サブブロツク中の1つのエラーを訂正す
ることができ、第2(ブロツク)レベルで当該ブロツク
の1つのサブブロツク中の2つのエラーを訂正すること
ができる。従つて、例えばバースト・エラーのために、
1つのサブブロツク中に2以上のエラーがあると、ECC
はすべてのエラーを訂正することはできない。この問題
の解決策として、サブブロツクの大きさを例えば100バ
イトから50バイトに減らすことによつて、各サブブロツ
クに2以上のエラーが生じる確率を小さくすることが考
えられる。しかし上記米国特許の第1図に示されている
ように、各サブブロツクには2ウエイ・インターリーブ
された1組のサブブロツク検査バイトが関連づけられて
おり、従つてサブブロツクの数を倍にすると、サブブロ
ツク検査バイトの数も倍になるため、オーバーヘッドが
増える。
1988年9月21日付の米国特許願第247461号は、2レベ
ルECCシステムで通常のランダム・エラー及び連続する
Nバイトまでの長いバースト・エラーを両方共訂正でき
る方法及び装置を開示している。それによれば、各ブロ
ツクの終りにN個の順次パリテイ検査バイトが付加され
る。読取り時にECCシンドロームが生成された後、読取
られたデータ・バイト及び検査バイトから計算されたパ
リテイ検査バイトと書込まれていたパリテイ検査バイト
とを比較することによつて、パリテイ・シンドロームが
生成される。各シンドロームの長さは1バイトである。
長いバースト・エラーがあると、ブロツク中でそのエラ
ーの影響を受けたかも知れないN個の連続するバイトの
うちの最初のバイトを指定するポインタが生成される。
次に、このポインタによつて識別されるNバイトには関
係しないECCシンドロームを用いて、訂正可能なエラー
が訂正される。これに続いて、パリテイ・シンドローム
が訂正されたエラーに従つて調整される。調整されたパ
リテイ・シンドロームは、ポインタが示すNバイト中の
訂正可能エラーを訂正するのに用いられる。調整された
パリテイ・シンドロームにより訂正されたエラーに従
い、未使用のECCシンドロームが調整され、それを用い
て、残りの訂正可能エラーがすべて訂正される。この方
法及び装置の動作は満足のゆくものであるが、Nバイト
長のエラー・バーストを訂正するために各ブロツクの終
わりにN個のパリテイ・バイトを付加する必要があり、
また各エラー・バーストを指し示すポインタも必要であ
る。
ルECCシステムで通常のランダム・エラー及び連続する
Nバイトまでの長いバースト・エラーを両方共訂正でき
る方法及び装置を開示している。それによれば、各ブロ
ツクの終りにN個の順次パリテイ検査バイトが付加され
る。読取り時にECCシンドロームが生成された後、読取
られたデータ・バイト及び検査バイトから計算されたパ
リテイ検査バイトと書込まれていたパリテイ検査バイト
とを比較することによつて、パリテイ・シンドロームが
生成される。各シンドロームの長さは1バイトである。
長いバースト・エラーがあると、ブロツク中でそのエラ
ーの影響を受けたかも知れないN個の連続するバイトの
うちの最初のバイトを指定するポインタが生成される。
次に、このポインタによつて識別されるNバイトには関
係しないECCシンドロームを用いて、訂正可能なエラー
が訂正される。これに続いて、パリテイ・シンドローム
が訂正されたエラーに従つて調整される。調整されたパ
リテイ・シンドロームは、ポインタが示すNバイト中の
訂正可能エラーを訂正するのに用いられる。調整された
パリテイ・シンドロームにより訂正されたエラーに従
い、未使用のECCシンドロームが調整され、それを用い
て、残りの訂正可能エラーがすべて訂正される。この方
法及び装置の動作は満足のゆくものであるが、Nバイト
長のエラー・バーストを訂正するために各ブロツクの終
わりにN個のパリテイ・バイトを付加する必要があり、
また各エラー・バーストを指し示すポインタも必要であ
る。
従つて、不連続の又はバーストになつたエラー・バイ
トを予め選択された数まで含む予め選択された数のエラ
ー・サブブロツクを見つけることができる改良された汎
用の2レベルECCシステムが望まれる。また、そのよう
な2レベルECCシステムでは、エラー・サブブロツクの
位置が外部で生成されたポインタにより指定されるか、
あるいはその位置が未知であつても、第1(サブブロツ
ク)レベルの訂正能力を落とさないようにするのが望ま
しい。
トを予め選択された数まで含む予め選択された数のエラ
ー・サブブロツクを見つけることができる改良された汎
用の2レベルECCシステムが望まれる。また、そのよう
な2レベルECCシステムでは、エラー・サブブロツクの
位置が外部で生成されたポインタにより指定されるか、
あるいはその位置が未知であつても、第1(サブブロツ
ク)レベルの訂正能力を落とさないようにするのが望ま
しい。
C.課題を解決するための手段 本発明は、データ・バイト及び冗長検査バイトを含む
複数のサブブロツクから成るブロツクにデータが記録さ
れている記憶媒体の多重バースト・エラーを訂正する方
法を提供するものである。本発明では、読取時に復号ブ
ロツク・シンドローム及び指定ブロツク・シンドローム
が生成される。データを読取つた後、各ブロツクの復号
ブロツク・シンドロームは当該ブロツクに対する推定ブ
ロツク・シンドロームと代数的に加算され、それによ
り、当該ブロツク中でエラー・バーストを有するサブブ
ロツクを見つけるための1組のシンドロームが与えられ
る。そしてこの1組のシンドロームを復号することによ
り、エラー・バーストを有する各サブブロツクを識別す
る代数ポインタが生成される。然る後、エラー・バース
トを有する各サブブロツクに対するブロツク・シンドロ
ームが計算され、それらのサブブロツクについて前に計
算されていたサブブロツク・シンドロームと共に復号さ
れて、エラー・バーストを有するサブブロツク中のエラ
ーの位置及び値を識別する。
複数のサブブロツクから成るブロツクにデータが記録さ
れている記憶媒体の多重バースト・エラーを訂正する方
法を提供するものである。本発明では、読取時に復号ブ
ロツク・シンドローム及び指定ブロツク・シンドローム
が生成される。データを読取つた後、各ブロツクの復号
ブロツク・シンドロームは当該ブロツクに対する推定ブ
ロツク・シンドロームと代数的に加算され、それによ
り、当該ブロツク中でエラー・バーストを有するサブブ
ロツクを見つけるための1組のシンドロームが与えられ
る。そしてこの1組のシンドロームを復号することによ
り、エラー・バーストを有する各サブブロツクを識別す
る代数ポインタが生成される。然る後、エラー・バース
トを有する各サブブロツクに対するブロツク・シンドロ
ームが計算され、それらのサブブロツクについて前に計
算されていたサブブロツク・シンドロームと共に復号さ
れて、エラー・バーストを有するサブブロツク中のエラ
ーの位置及び値を識別する。
D.実施例 以下では、米国特許第4706250号明細書に開示されて
いるような2レベルECCシステムに本発明を適用した例
について説明する。この2レベルECCシステムでは、デ
ータは可変長(又は固定長)のブロツクに記録される。
各ブロツクは同じ長さの複数のサブブロツクで構成され
るが、その最後のサブブロツクの長さは他とは異なつて
いる場合がある。各サブブロツクは、可変数(又は固定
数)のデータ・バイトと、第1レベル(サブブロツク)
エラー訂正のための6つのサブブロツク検査バイトとか
ら成る。ブロツクの最後のサブブロツクの終りには、デ
ータの完全性検査のための4つのCRCバイトと、それに
続く第2レベル(ブロツク)エラー訂正のための2つの
ブロツク検査バイトとが付加される。
いるような2レベルECCシステムに本発明を適用した例
について説明する。この2レベルECCシステムでは、デ
ータは可変長(又は固定長)のブロツクに記録される。
各ブロツクは同じ長さの複数のサブブロツクで構成され
るが、その最後のサブブロツクの長さは他とは異なつて
いる場合がある。各サブブロツクは、可変数(又は固定
数)のデータ・バイトと、第1レベル(サブブロツク)
エラー訂正のための6つのサブブロツク検査バイトとか
ら成る。ブロツクの最後のサブブロツクの終りには、デ
ータの完全性検査のための4つのCRCバイトと、それに
続く第2レベル(ブロツク)エラー訂正のための2つの
ブロツク検査バイトとが付加される。
データは、サブブロツク(第1)レベルでは、リード
・ソロモン(RS)〔n、n−r1、r1+1〕符号器によ
り符号化される。ここで、nは符号化されたサブブロツ
ク中のバイト数であり、r1は符号化されたサブブロツ
ク中のサブブロツク検査バイトの数であり、r1+1は
サブブロツク間の最小ハミング距離である。この距離
は、1つのサブブロツクにおける バイト・エラーまでの訂正を可能にする。記号 はフロア関数と呼ばれるもので、この記号によつて囲ま
れた式の数値よりも小さい最大の整数を表わす。例えば
r1/2=2.5であれば、t1=2である。この従来の2レ
ベル・アーキテクチヤの基本的な特徴は、第2の〔n、
n−r2、r2+1〕−RS符号についてr2個のブロツク
・レベル・シンドロームを計算することにある。これら
のシンドロームはブロツクの各サブブロツクについて計
算され、累積的に加算されて、すべてのサブブロツクに
より共用されるr2個のブロツク検査バイトを生成す
る。これらのブロツク検査バイトは、ブロツクの最後の
サブブロツクの後に記憶される。
・ソロモン(RS)〔n、n−r1、r1+1〕符号器によ
り符号化される。ここで、nは符号化されたサブブロツ
ク中のバイト数であり、r1は符号化されたサブブロツ
ク中のサブブロツク検査バイトの数であり、r1+1は
サブブロツク間の最小ハミング距離である。この距離
は、1つのサブブロツクにおける バイト・エラーまでの訂正を可能にする。記号 はフロア関数と呼ばれるもので、この記号によつて囲ま
れた式の数値よりも小さい最大の整数を表わす。例えば
r1/2=2.5であれば、t1=2である。この従来の2レ
ベル・アーキテクチヤの基本的な特徴は、第2の〔n、
n−r2、r2+1〕−RS符号についてr2個のブロツク
・レベル・シンドロームを計算することにある。これら
のシンドロームはブロツクの各サブブロツクについて計
算され、累積的に加算されて、すべてのサブブロツクに
より共用されるr2個のブロツク検査バイトを生成す
る。これらのブロツク検査バイトは、ブロツクの最後の
サブブロツクの後に記憶される。
エラー・バーストを含むサブブロツクの位置が外部で
生成されたポインタにより指定され、そのサブブロツク
中のエラー数が を越えなければ、それらのエラーはサブブロツク・レベ
ル復号器により訂正することができる。もしエラー数が を越えなければ、それらのエラーはサブブロツク・レベ
ル及びブロツク・レベルの検査バイトの訂正能力を組合
せることによつて訂正できる場合がある。
生成されたポインタにより指定され、そのサブブロツク
中のエラー数が を越えなければ、それらのエラーはサブブロツク・レベ
ル復号器により訂正することができる。もしエラー数が を越えなければ、それらのエラーはサブブロツク・レベ
ル及びブロツク・レベルの検査バイトの訂正能力を組合
せることによつて訂正できる場合がある。
しかし、エラー・バーストを含むサブブロツクの位置
が未知の場合は、エラー数(エラー・バーストの重み)
が を越えなければ、従来の2レベルECCシステムでもエラ
ー・バーストを含むサブブロツクの位置を示して、その
エラー・バーストを訂正することができる。このエラー
・バーストの位置決め及び訂正は、他のすべてのサブブ
ロツクにおける最大サブブロツク・エラー訂正能力を に下げるという犠牲のもとに達成される。ここで、Cは
正の整数値をとる固定設計パラメータであつて、次式を
満足させるものである。
が未知の場合は、エラー数(エラー・バーストの重み)
が を越えなければ、従来の2レベルECCシステムでもエラ
ー・バーストを含むサブブロツクの位置を示して、その
エラー・バーストを訂正することができる。このエラー
・バーストの位置決め及び訂正は、他のすべてのサブブ
ロツクにおける最大サブブロツク・エラー訂正能力を に下げるという犠牲のもとに達成される。ここで、Cは
正の整数値をとる固定設計パラメータであつて、次式を
満足させるものである。
実施例の概要 第1図〜第3図において、線の途中にある斜めの短い
部分は、当該線がその線分の傍に示されている数の並列
バイトから成つていることを表わす。また、以下では、
「エラー・バースト」は、第1レベル(サブブロツク)
エラー訂正能力を越えた数のエラー・バイトを意味し、
それらのエラーは必らずしも連続ではなくてもよいもの
とする。
部分は、当該線がその線分の傍に示されている数の並列
バイトから成つていることを表わす。また、以下では、
「エラー・バースト」は、第1レベル(サブブロツク)
エラー訂正能力を越えた数のエラー・バイトを意味し、
それらのエラーは必らずしも連続ではなくてもよいもの
とする。
本発明によれば、2レベルECCシステムのエラー訂正
能力を確立する4つのパラメータr1、r2、r3及びB
が使用される。
能力を確立する4つのパラメータr1、r2、r3及びB
が使用される。
r1は、サブブロツク当りのサブブロツク(第1レベ
ル)検査バイトの数であり; r2は、ブロツク当りのブロツク(第2レベル)検査
バイトの数であり; r3は、ブロツク検査バイトに対する検査バイトの数
であつて、この数はブロツク中のすべてのバイトを等し
く保護するに十分なように選択され; Bは、B2T+Sを満足する数であつて、T及びSは
それぞれエラー・バーストを含む訂正可能なサブブロツ
クの数を表わしているが、Tはそのようなサブブロツク
に対する外部生成ポインタを用いない場合の数を表わ
し、Sは用いた場合の数を表わす。従つて、例えばもし
B=4であれば、訂正可能なのはT=0で且つS4の
場合、T=1で且つS2の場合、及びT=2で且つS
=0の場合である。1つのサブブロツクで訂正できるエ
ラーの最大数は である。
ル)検査バイトの数であり; r2は、ブロツク当りのブロツク(第2レベル)検査
バイトの数であり; r3は、ブロツク検査バイトに対する検査バイトの数
であつて、この数はブロツク中のすべてのバイトを等し
く保護するに十分なように選択され; Bは、B2T+Sを満足する数であつて、T及びSは
それぞれエラー・バーストを含む訂正可能なサブブロツ
クの数を表わしているが、Tはそのようなサブブロツク
に対する外部生成ポインタを用いない場合の数を表わ
し、Sは用いた場合の数を表わす。従つて、例えばもし
B=4であれば、訂正可能なのはT=0で且つS4の
場合、T=1で且つS2の場合、及びT=2で且つS
=0の場合である。1つのサブブロツクで訂正できるエ
ラーの最大数は である。
第1図に示す符号器10は(n−r1)バイトのデータ
を符号化する。符号化されたnバイトのデータはデイス
ク・トラツク9のデータ・フイールドに記憶される。符
号化されたデータは、ブロツクの各サブ・ブロツクにつ
いてr2個のブロツク・シンドロームを生成するシンド
ローム計算回路11にも供給される。前にも述べたよう
に、各シンドロームの長さは1バイトである。これらr2
個のシンドロームはブロツク検査計算回路12に供給され
る。第2図に示すように、この回路12は2つの回路部13
及び14から成つている。
を符号化する。符号化されたnバイトのデータはデイス
ク・トラツク9のデータ・フイールドに記憶される。符
号化されたデータは、ブロツクの各サブ・ブロツクにつ
いてr2個のブロツク・シンドロームを生成するシンド
ローム計算回路11にも供給される。前にも述べたよう
に、各シンドロームの長さは1バイトである。これらr2
個のシンドロームはブロツク検査計算回路12に供給され
る。第2図に示すように、この回路12は2つの回路部13
及び14から成つている。
回路部13は、各サブブロツクについてのr2個のブロ
ツク・シンドロームと、ブロツク内におけるサブブロツ
クの位置インデツクスlに従う一連の予め選択された累
積重みづけ因子 とを乗算する手段を含んでいる。αはガロア有限体の原
始生成元である。
ツク・シンドロームと、ブロツク内におけるサブブロツ
クの位置インデツクスlに従う一連の予め選択された累
積重みづけ因子 とを乗算する手段を含んでいる。αはガロア有限体の原
始生成元である。
B個のバツフア15の各々からの異なつた因子重みづけ
シンドロームは、ブロツク中のすべてのサブブロツクに
ついて回路14で累積的で合計され、前部でr2B個のブ
ロツク・シンドロームを生成する。これらのブロツク・
シンドロームは、16のところに示したように、所定のや
り方で並び替えられる。ブロツクの最後のサブブロツク
が差込まれた後、符号器17(第1図)はr2B個のブロ
ツク検査シンドロームを符号化し、それらにr3個の検
査バイトを付加する。r3B個のブロツク検査シンドロ
ーム及びr3個の付加検査バイトは、ブロツクの最後の
サブブロツクNに続いて、デイスク・トラツク9上で当
該ブロツクの終りに記憶される。
シンドロームは、ブロツク中のすべてのサブブロツクに
ついて回路14で累積的で合計され、前部でr2B個のブ
ロツク・シンドロームを生成する。これらのブロツク・
シンドロームは、16のところに示したように、所定のや
り方で並び替えられる。ブロツクの最後のサブブロツク
が差込まれた後、符号器17(第1図)はr2B個のブロ
ツク検査シンドロームを符号化し、それらにr3個の検
査バイトを付加する。r3B個のブロツク検査シンドロ
ーム及びr3個の付加検査バイトは、ブロツクの最後の
サブブロツクNに続いて、デイスク・トラツク9上で当
該ブロツクの終りに記憶される。
第3A図に示すように、データの読取時には、ブロツク
の各サブブロツクから読取られたn個のデータ・バイト
はバツフア18に記憶され、それと同時にサブブロツク・
シンドローム計算回路19にも供給される。回路19は、各
サブブロツクについてサブブロツク・シンドロームを計
算する。これらのサブブロツク・シンドロームはバツフ
ア20(第3B図)に記憶される。エラー・バーストを含む
サブブロツクに対応しないサブブロツク・シンドローム
は、サブブロツク・データ・トラフイツク制御部21を介
して復号器22へ送られる。エラー・バーストを含むサブ
ブロツクを示す外部生成ポインタがもし使用可能であれ
ば、それらもレジスタ42から制御部21に供給される。復
号器22は、エラー・バーストを含まない各サブブロツク
に対する推定エラー・パターンをバス23に出力する。こ
れらの推定エラー・パターンは24のところでバツフア18
に記憶されているサブブロツク・データと代数的に合計
され、これによりエラー・バーストを含まないサブブロ
ツク中のすべての訂正可能エラーが訂正されて、バス25
上にエラー・バーストを含まないサブブロツクの訂正済
みデータが供給される。
の各サブブロツクから読取られたn個のデータ・バイト
はバツフア18に記憶され、それと同時にサブブロツク・
シンドローム計算回路19にも供給される。回路19は、各
サブブロツクについてサブブロツク・シンドロームを計
算する。これらのサブブロツク・シンドロームはバツフ
ア20(第3B図)に記憶される。エラー・バーストを含む
サブブロツクに対応しないサブブロツク・シンドローム
は、サブブロツク・データ・トラフイツク制御部21を介
して復号器22へ送られる。エラー・バーストを含むサブ
ブロツクを示す外部生成ポインタがもし使用可能であれ
ば、それらもレジスタ42から制御部21に供給される。復
号器22は、エラー・バーストを含まない各サブブロツク
に対する推定エラー・パターンをバス23に出力する。こ
れらの推定エラー・パターンは24のところでバツフア18
に記憶されているサブブロツク・データと代数的に合計
され、これによりエラー・バーストを含まないサブブロ
ツク中のすべての訂正可能エラーが訂正されて、バス25
上にエラー・バーストを含まないサブブロツクの訂正済
みデータが供給される。
次に、各サブブロツクについてブロツク・レベル・シ
ンドロームが、回路26(第3B図)によりバス23上の推定
エラー・パターンから計算され、且つ回路27によりバス
25上の訂正済みサブブロツク・データから計算される。
第1図の回路12と同様のブロツク検査バイト計算回路28
を用いて、訂正済みサブブロツク・データに対するブロ
ツク・レベル・シンドロームが、ブロツク内での生起順
序に従う前述の一連の予め選択された累積重みづけ因子
と乗算され、そして異なつた重みづけ因子と乗算された
各ブロツク・レベル・シンドロームはB個のバツフア15
の1つに記憶される。次いでバツフア15からのこれらの
因子重みづけシンドロームは累積的に合計されて、当該
ブロツクのすべてのサブブロツクをカバーする推定ブロ
ツク検査シンドロームが生成される。
ンドロームが、回路26(第3B図)によりバス23上の推定
エラー・パターンから計算され、且つ回路27によりバス
25上の訂正済みサブブロツク・データから計算される。
第1図の回路12と同様のブロツク検査バイト計算回路28
を用いて、訂正済みサブブロツク・データに対するブロ
ツク・レベル・シンドロームが、ブロツク内での生起順
序に従う前述の一連の予め選択された累積重みづけ因子
と乗算され、そして異なつた重みづけ因子と乗算された
各ブロツク・レベル・シンドロームはB個のバツフア15
の1つに記憶される。次いでバツフア15からのこれらの
因子重みづけシンドロームは累積的に合計されて、当該
ブロツクのすべてのサブブロツクをカバーする推定ブロ
ツク検査シンドロームが生成される。
復号器30(第3C図)は、各ブロツクのすべてのサブブ
ロツクについて書込み時に生成された符号化ブロツク検
査シンドロームを復号する。復号された各ブロツク検査
シンドロームは、それぞれの合計回路31で対応する推定
ブロツク検査シンドロームと代数的に合計され、エラー
・バーストを有するサブブロツクの位置を示すための符
号に対する1組のシンドロームを生成する。これらのシ
ンドロームは復号器32で復号され、それによりエラー・
バーストを有するサブブロツクを示す代数ポインタがT
個まで生成される。同時に、1つのエラー・バーストを
有する各サブブロツクについて、復号器32はr2個のブ
ロツク・レベル・シンドロームを生成する。サブブロツ
ク・レベルでの誤訂正の影響のため、これらr2個のブ
ロツク・レベル・シンドロームは更新しなければならな
い。これは、復号器32で計算したブロツク・レベル・シ
ンドロームと、回路26で推定エラー・パターンから計算
したブロツク・レベル・シンドロームとを33のところで
代数的に合計することにより実施される。この結果、エ
ラー・バーストを有するサブブロツクに対する真のエラ
ー・パターンを得るためのブロツク・レベル・シンドロ
ームがバス34に生成される。
ロツクについて書込み時に生成された符号化ブロツク検
査シンドロームを復号する。復号された各ブロツク検査
シンドロームは、それぞれの合計回路31で対応する推定
ブロツク検査シンドロームと代数的に合計され、エラー
・バーストを有するサブブロツクの位置を示すための符
号に対する1組のシンドロームを生成する。これらのシ
ンドロームは復号器32で復号され、それによりエラー・
バーストを有するサブブロツクを示す代数ポインタがT
個まで生成される。同時に、1つのエラー・バーストを
有する各サブブロツクについて、復号器32はr2個のブ
ロツク・レベル・シンドロームを生成する。サブブロツ
ク・レベルでの誤訂正の影響のため、これらr2個のブ
ロツク・レベル・シンドロームは更新しなければならな
い。これは、復号器32で計算したブロツク・レベル・シ
ンドロームと、回路26で推定エラー・パターンから計算
したブロツク・レベル・シンドロームとを33のところで
代数的に合計することにより実施される。この結果、エ
ラー・バーストを有するサブブロツクに対する真のエラ
ー・パターンを得るためのブロツク・レベル・シンドロ
ームがバス34に生成される。
サブブロツク・データ・トラフイツク制御部35は次の
ような入力を有する。
ような入力を有する。
読取られたデータ・バイトを表わすに; エラー・バーストを含むサブブロツクを示す更新ポイ
ンタ・セツト42からの更新された外部生成ポインタを表
わすS; エラー・バーストを含むサブブロツクを示す復号器32
からの代数ポインタを表わすT; バツフア36(第3B図)に記憶されていた推定エラー・
パターン; 真のエラー・パターンに対するブロツク・レベル・シ
ンドローム。
ンタ・セツト42からの更新された外部生成ポインタを表
わすS; エラー・バーストを含むサブブロツクを示す復号器32
からの代数ポインタを表わすT; バツフア36(第3B図)に記憶されていた推定エラー・
パターン; 真のエラー・パターンに対するブロツク・レベル・シ
ンドローム。
エラー・バーストのないサブブロツクについては、制
御部35は読取られたnデータ・バイト及びバツフア36か
らの推定エラー・パターンを表わす2r1バイトを代数合
計回路37に向け、エラー・バーストのないすべてのサブ
ブロツクの訂正を行わせる。
御部35は読取られたnデータ・バイト及びバツフア36か
らの推定エラー・パターンを表わす2r1バイトを代数合
計回路37に向け、エラー・バーストのないすべてのサブ
ブロツクの訂正を行わせる。
エラー・バーストを含むサブブロツクについては、制
御部35は真のエラー・パターンに対するr2個のブロツ
ク・シンドローム及びエラー・バーストを含むサブブロ
ツクだけのためのr1個のサブブロツク・シンドローム
を復号器39に供給する。復号器39はこれらの入力からエ
ラー・パターンを生成する。このエラー・パターンは40
のところで、エラー・バーストを含む読取られたサブブ
ロツクと代数的に合計され、これにより、すべてのエラ
ー及びイレーシヤ(後述)が装置の所期の能力まで訂正
されたデータ・ブロツクがバス41に得られる。
御部35は真のエラー・パターンに対するr2個のブロツ
ク・シンドローム及びエラー・バーストを含むサブブロ
ツクだけのためのr1個のサブブロツク・シンドローム
を復号器39に供給する。復号器39はこれらの入力からエ
ラー・パターンを生成する。このエラー・パターンは40
のところで、エラー・バーストを含む読取られたサブブ
ロツクと代数的に合計され、これにより、すべてのエラ
ー及びイレーシヤ(後述)が装置の所期の能力まで訂正
されたデータ・ブロツクがバス41に得られる。
前述のように、読取られたすべてのサブブロツクはバ
ツフア18に一時記憶された後、トライフイツク制御部35
に送られる。該制御部はエラー・バーストを含むサブブ
ロツクを代数合計回路40の方へ送り、エラー・バースト
を含まないサブブロツクを合計回路37の方へ送る。しか
し、バツフア18にはエラー・バーストを含んでいると思
われるサブブロツクだけを一時記憶し、そしてそのよう
なサブブロツクだけを制御部35を介して合計回路40へ送
るようにすることもできる。
ツフア18に一時記憶された後、トライフイツク制御部35
に送られる。該制御部はエラー・バーストを含むサブブ
ロツクを代数合計回路40の方へ送り、エラー・バースト
を含まないサブブロツクを合計回路37の方へ送る。しか
し、バツフア18にはエラー・バーストを含んでいると思
われるサブブロツクだけを一時記憶し、そしてそのよう
なサブブロツクだけを制御部35を介して合計回路40へ送
るようにすることもできる。
計算回路19及びC1−復号器22;回路26、27及びCB−
復号器32;C3−復号器30;並びにC1、2−復号器39で実行
される機能は、例えば米国カリフオルニア州アーヴイン
のウエスタン・デイジタル社から市販されているWD60C8
0エラー検出及び訂正チツプ(EDAC)のようなそれぞれ
独立した半導体チツプで実現できる。
復号器32;C3−復号器30;並びにC1、2−復号器39で実行
される機能は、例えば米国カリフオルニア州アーヴイン
のウエスタン・デイジタル社から市販されているWD60C8
0エラー検出及び訂正チツプ(EDAC)のようなそれぞれ
独立した半導体チツプで実現できる。
次に、本発明に従う装置の符号器部分及び復号器部分
についてより詳しく説明する。最後にある付録は、本発
明の方法の実施可能性及び効率を明らかにするためのも
のである。
についてより詳しく説明する。最後にある付録は、本発
明の方法の実施可能性及び効率を明らかにするためのも
のである。
符号器部分(第1図及び第2図)の詳細 データ・アルフアベツトはq個のシンボルを有する有
限のガロア体GF(q)によつて表わされるものとする。
実際の記憶装置への応用ではq=28が最も一般的であ
る。その場合、GF(28)の各シンボルはバイトに対応
する。
限のガロア体GF(q)によつて表わされるものとする。
実際の記憶装置への応用ではq=28が最も一般的であ
る。その場合、GF(28)の各シンボルはバイトに対応
する。
l番目のデータ・サブブロツクはシンボルmj、lGF
(q)から成る。ただし、0jn−r1−1及び0
lN−1である。このサブブロツクはまずサブブロ
ツク・レベルの〔n、n−r1、r1+1〕−RS符号器10
で符号化される。数学的には、このデータ・サブブロツ
クを次のように多項式で記述すると都合がよい。
(q)から成る。ただし、0jn−r1−1及び0
lN−1である。このサブブロツクはまずサブブロ
ツク・レベルの〔n、n−r1、r1+1〕−RS符号器10
で符号化される。数学的には、このデータ・サブブロツ
クを次のように多項式で記述すると都合がよい。
ダミー変数xは、その冪によつてサブブロツク中のバ
イトの出現順序を表わすために導入したものである。従
つて、j番目のバイトmj、lは、l番目のサブブロツク
を表わす多項式ml(x)においてxj(0jn−r
1−1)の係数として現われる。多項式による公式化
は、符号化操作を多項式の乗算として記述できるので都
合がよい。サブブロツク・レベル符号(C1−符号)の
ための符号器10は次の符号化多項式によつて特徴づけら
れる。
イトの出現順序を表わすために導入したものである。従
つて、j番目のバイトmj、lは、l番目のサブブロツク
を表わす多項式ml(x)においてxj(0jn−r
1−1)の係数として現われる。多項式による公式化
は、符号化操作を多項式の乗算として記述できるので都
合がよい。サブブロツク・レベル符号(C1−符号)の
ための符号器10は次の符号化多項式によつて特徴づけら
れる。
GF(q)のシンボルαは、原始既約多項式の根を表わ
し、そのそれぞれの冪がGF(q)の非零元になつてい
る。このような多項式はxq-1−1の約数である。l番
目の符号化サブブロツクは次の多項式で表わされる。
し、そのそれぞれの冪がGF(q)の非零元になつてい
る。このような多項式はxq-1−1の約数である。l番
目の符号化サブブロツクは次の多項式で表わされる。
Cl(x)=ml(x)gl(x) (3) 符号化操作は周波数変換領域においてガロア体のシン
ボル周波数{αi}のところでr1個の零を強制する(す
なわち、0ir1−1についてCl(αi)=0)こ
ととして記述できる。
ボル周波数{αi}のところでr1個の零を強制する(す
なわち、0ir1−1についてCl(αi)=0)こ
ととして記述できる。
C1−符号化サブブロツク{Cl(x)}はデイスク・
トラツク9に書込まれ、それと同時に、第1図に示すよ
うに、共用ブロツク検査シンドロームを生成すべく回路
12で処理される。これらの検査シンドロームの計算は2
ステツプで実行される。最初のステツプでは、ブロツク
C2−シンドローム値 0ir2−1、がC2−零の位置するガロア体周波数
のところで評価される。C2−零は、〔n、n−r2、r
2+1〕−RS符号であるC2−符号のための符号化多項式
g2(x)の零である のところにある。符号化多項式は次式で与えられる。
トラツク9に書込まれ、それと同時に、第1図に示すよ
うに、共用ブロツク検査シンドロームを生成すべく回路
12で処理される。これらの検査シンドロームの計算は2
ステツプで実行される。最初のステツプでは、ブロツク
C2−シンドローム値 0ir2−1、がC2−零の位置するガロア体周波数
のところで評価される。C2−零は、〔n、n−r2、r
2+1〕−RS符号であるC2−符号のための符号化多項式
g2(x)の零である のところにある。符号化多項式は次式で与えられる。
ここまでの符号化プロセスは従来公知である。しか
し、本発明の重要な特徴に従い、第2ステツプでは、各
シンドローム値 が因子αblにより重みづけられ、そして累積的に重みづ
けられたシンドローム和が次のように生成される。
し、本発明の重要な特徴に従い、第2ステツプでは、各
シンドローム値 が因子αblにより重みづけられ、そして累積的に重みづ
けられたシンドローム和が次のように生成される。
上式において、b=0、1、……B−1及びi=0、
1…、r2−1である。
1…、r2−1である。
重み因子αblにおけるパラメータl、0lN−
1、はブロツク内のサブブロツク位置を示し、パラメー
タb、0bB−1はこれらの累積的に重みづけられ
たシンドロームを計算するB個のバツフア15(第2図)
を指標づける。累積的に重みづけれたC2−シンドロー
ムの総数はr2Bバイトであり、それらはブロツク中のす
べてのサブブロツクの間で共用され、ブロツク検査シン
ドロームと呼ばれる。これらのブロツク検査シンドロー
ムは一般にブロツクの最後に書込まれたサブブロツクの
後に記憶される。
1、はブロツク内のサブブロツク位置を示し、パラメー
タb、0bB−1はこれらの累積的に重みづけられ
たシンドロームを計算するB個のバツフア15(第2図)
を指標づける。累積的に重みづけれたC2−シンドロー
ムの総数はr2Bバイトであり、それらはブロツク中のす
べてのサブブロツクの間で共用され、ブロツク検査シン
ドロームと呼ばれる。これらのブロツク検査シンドロー
ムは一般にブロツクの最後に書込まれたサブブロツクの
後に記憶される。
ブロツク検査シンドロームについては、符号化操作で
注意しなければならないことがある。すなわち、式
(5)で計算されるr2B個のブロツク検査シンドロー
ムは他の記憶データとは異なり、エラーが保護されてい
ない。しかしこの問題は、〔r2B+r3、r2B、r3+
1〕−RS符号器17を用いてそれらを符号化することで容
易に解決できる。パラメータr3は、すべての記憶デー
タ・バイトに対して同じデータ保護を与えるように選ば
れる。
注意しなければならないことがある。すなわち、式
(5)で計算されるr2B個のブロツク検査シンドロー
ムは他の記憶データとは異なり、エラーが保護されてい
ない。しかしこの問題は、〔r2B+r3、r2B、r3+
1〕−RS符号器17を用いてそれらを符号化することで容
易に解決できる。パラメータr3は、すべての記憶デー
タ・バイトに対して同じデータ保護を与えるように選ば
れる。
もし記憶チヤネルに関するランダム・エラー及びバー
スト・エラーの統計がわかつていると、確率的に同じデ
ータ保護が与えられるようにr3を選ぶことができる。
しかし、もし正確な統計がなければ、r3についての最
悪の場合の選択は次のようになる。一般にはr2Bはn
よりもかなり小さく、従つてブロツク検査シンドローム
は短縮データ・サブブロツクを構成しているものと考え
ることができる。最悪の場合、チヤネルが任意のブロツ
クにおいて最大t個のラエー及びs個のイレーシヤ(2t
+sr1+r2)を引起こし得るものとする。ここで、
「エラー」とは、その位置及び値が未知であるような乱
れを意味し、「イレーシヤ」とは、その位置は外部ポイ
ンタによつて知ることができ、従つて値だけを計算しな
ければならないような乱れをほ意味する。そこでr3=
r1+r2とすると、すべてのデータ・バイトに対して等
しいエラー保護が与えられる。かくして、符号既17はブ
ロツク検査シンドロームを保護する。
スト・エラーの統計がわかつていると、確率的に同じデ
ータ保護が与えられるようにr3を選ぶことができる。
しかし、もし正確な統計がなければ、r3についての最
悪の場合の選択は次のようになる。一般にはr2Bはn
よりもかなり小さく、従つてブロツク検査シンドローム
は短縮データ・サブブロツクを構成しているものと考え
ることができる。最悪の場合、チヤネルが任意のブロツ
クにおいて最大t個のラエー及びs個のイレーシヤ(2t
+sr1+r2)を引起こし得るものとする。ここで、
「エラー」とは、その位置及び値が未知であるような乱
れを意味し、「イレーシヤ」とは、その位置は外部ポイ
ンタによつて知ることができ、従つて値だけを計算しな
ければならないような乱れをほ意味する。そこでr3=
r1+r2とすると、すべてのデータ・バイトに対して等
しいエラー保護が与えられる。かくして、符号既17はブ
ロツク検査シンドロームを保護する。
次に、サブブロツク・レベルの〔n、n−r1、r1+
1〕−RS符号C1及びブロツク・レベルの〔n、n−
r2、r2+1〕−RS符号C2で構成された本発明の2レ
ベル・アーキテクチヤの強化されたエラー訂正能力につ
いて説明する。サブブロツクにおける所望の訂正可能エ
ラー数をtで表わし、所望の訂正可能イレーシヤ数をs
で表わす。これらの所望の性能パラメータs及びtの値
が確立されると、2レベル・アーキテクチヤの設計パラ
メータr1及びr2は、すべてのエラーを訂正するために
は、各サブブロツクについて不等式2t+s<r1+r2を
満足しなければならない。
1〕−RS符号C1及びブロツク・レベルの〔n、n−
r2、r2+1〕−RS符号C2で構成された本発明の2レ
ベル・アーキテクチヤの強化されたエラー訂正能力につ
いて説明する。サブブロツクにおける所望の訂正可能エ
ラー数をtで表わし、所望の訂正可能イレーシヤ数をs
で表わす。これらの所望の性能パラメータs及びtの値
が確立されると、2レベル・アーキテクチヤの設計パラ
メータr1及びr2は、すべてのエラーを訂正するために
は、各サブブロツクについて不等式2t+s<r1+r2を
満足しなければならない。
サブブロツクは、そのエラー及びイレーシヤの数が不
等式r1<2t+sr1+r2を満足すると、エラー・バ
ーストを有しているものとみなされる。位置がわからな
いエラー・バーストを含むサブブロツクの数をTで表わ
し、セツト42からの外部生成ポインタによつて位置が示
されるエラー・バーストを含むサブブロツクの数をSで
表わし、両方の型のエラーを訂正するものとする。それ
ぞれの長さがr2でBバツフアの数(本2レベル・アー
キテクチヤの第3の設計パラメータ)が不等式2T+S
Bを満足するように選択されると、エラー・バーストを
含む訂正可能サブブロツクの総数はT+Sになる。2t+
sr1である他のすべてのサブブロツクはエラー・バ
ーストがなく、サブブロツク・レベル符号C1で訂正す
ることができる。
等式r1<2t+sr1+r2を満足すると、エラー・バ
ーストを有しているものとみなされる。位置がわからな
いエラー・バーストを含むサブブロツクの数をTで表わ
し、セツト42からの外部生成ポインタによつて位置が示
されるエラー・バーストを含むサブブロツクの数をSで
表わし、両方の型のエラーを訂正するものとする。それ
ぞれの長さがr2でBバツフアの数(本2レベル・アー
キテクチヤの第3の設計パラメータ)が不等式2T+S
Bを満足するように選択されると、エラー・バーストを
含む訂正可能サブブロツクの総数はT+Sになる。2t+
sr1である他のすべてのサブブロツクはエラー・バ
ーストがなく、サブブロツク・レベル符号C1で訂正す
ることができる。
復号器部分(第3A〜3D図)の詳細 読取られたl番目のサブブロツクl(x)は、次の
ように元のC1符号加サブブロツクcl(x)とはエラー
・パターン多項式el(x)だけ異なつている。l (x)=cl(x)+el(X) (6) el(x)は次式で与えられる。
ように元のC1符号加サブブロツクcl(x)とはエラー
・パターン多項式el(x)だけ異なつている。l (x)=cl(x)+el(X) (6) el(x)は次式で与えられる。
ej、lはガロア体GF(q)に含まれ、0jn−1
である。
である。
復号プロセスの最初のステツプは、回路19でのC1−
シンドロームl(αi)、0ir1−1、の計算で
ある。定義によりcl(αi)=0、0ir1−1、
であるから、C1−シンドロームは次のようになる。l (αi)=el(αi)、0ir1−1 (7) これらのシンドロームは、読取られたすべてのサブブ
ロツクについて計算される。次のステツプでは、C1−
復号器22がこれらのシンドロームを処理して、エラー・
パターン多項式の最小ハミング距離推定値l(x)を
生成する。l(x)は、読取られてバツフア18に一時
記憶されていたサブブロツク多項式l(x)と24のと
ころで代数的に合計される。この計算はポインタを持た
ないサブブロツクに対してのみ実行される。他のすべて
のサブブロツクのC1−シンドロームの処理はC1、2−復
号器39のところまで遅らされる。回路24からは次のよう
な推定C1−符号ワードが出力される。l (x)=l(x)−el(x) (8) 上式中のl(x)は推定エラー・パターンである。
シンドロームl(αi)、0ir1−1、の計算で
ある。定義によりcl(αi)=0、0ir1−1、
であるから、C1−シンドロームは次のようになる。l (αi)=el(αi)、0ir1−1 (7) これらのシンドロームは、読取られたすべてのサブブ
ロツクについて計算される。次のステツプでは、C1−
復号器22がこれらのシンドロームを処理して、エラー・
パターン多項式の最小ハミング距離推定値l(x)を
生成する。l(x)は、読取られてバツフア18に一時
記憶されていたサブブロツク多項式l(x)と24のと
ころで代数的に合計される。この計算はポインタを持た
ないサブブロツクに対してのみ実行される。他のすべて
のサブブロツクのC1−シンドロームの処理はC1、2−復
号器39のところまで遅らされる。回路24からは次のよう
な推定C1−符号ワードが出力される。l (x)=l(x)−el(x) (8) 上式中のl(x)は推定エラー・パターンである。
l番目のサブブロツクがエラー・バーストを含んでい
なければ、C1−復号器22からの推定エラー・パターン
e(x)は実際のエラー・パターンel(x)と同じで
ある。従つて、l(x)=l(x)となる。l番目の
サブブロツクが1つのエラー・バーストを含み且つポイ
ンタを持つていなければ、C1−復号器22でそれを訂正
しようとすると、失敗に終わるか又はエラー・バースト
を誤訂正してしまう。C1−復号器22は失敗を示す信号
を線43に発生し、それによりl番目のサブブロツクを前
にエラー・バーストを含んでいるとは知られていなかつ
たサブブロツクとして示すポインタが42で生成される。
以下の説明で、1つのブロツクを構成するすべてのサブ
ブロツクを含ませるため、エラー・バーストを含むサブ
ブロツクの位置が42からのポインタ又はC1−復号器22
の失敗信号(43)からのポインタによつて与えられる場
合には、l(x)=l(x)及びl(x)=0が成
立するものとする。
なければ、C1−復号器22からの推定エラー・パターン
e(x)は実際のエラー・パターンel(x)と同じで
ある。従つて、l(x)=l(x)となる。l番目の
サブブロツクが1つのエラー・バーストを含み且つポイ
ンタを持つていなければ、C1−復号器22でそれを訂正
しようとすると、失敗に終わるか又はエラー・バースト
を誤訂正してしまう。C1−復号器22は失敗を示す信号
を線43に発生し、それによりl番目のサブブロツクを前
にエラー・バーストを含んでいるとは知られていなかつ
たサブブロツクとして示すポインタが42で生成される。
以下の説明で、1つのブロツクを構成するすべてのサブ
ブロツクを含ませるため、エラー・バーストを含むサブ
ブロツクの位置が42からのポインタ又はC1−復号器22
の失敗信号(43)からのポインタによつて与えられる場
合には、l(x)=l(x)及びl(x)=0が成
立するものとする。
ここで、l番目のサブブロツクが誤訂正された、すな
わち、23上の推定エラー・パターンl(x)が実際の
エラー・パターンel(x)とは異なつていたとする。
可能性としては、誤訂正が有効C2−符号ワードで、そ
のため第3D図に示す復号器39を通過し、2レベル・アー
キテクチヤの訂正能力を無効にすることが考えられる。
このようなことが起こり得ないことを説明するため、付
録の命題1において、実際のエラー・パターンと推定エ
ラー・パターンとの間の差として得られる次の誤差パタ
ーン多項式の性質を解析している。l (x)=el(x)−l(x) (9) C1−復号器22での処理に続いて、位置がわからない
エラー・バーストを含むサブブロツクの数Tが減少し、
それに伴ない位置がわかつているエラー・バーストを含
むサブブロツクの数は、2T+SBという関係式に従い
一般に増加する。新しいイレーシヤは、位置レジスタ42
を更新するために43を介して送られるC1−復号器失敗
信号に対応している。
わち、23上の推定エラー・パターンl(x)が実際の
エラー・パターンel(x)とは異なつていたとする。
可能性としては、誤訂正が有効C2−符号ワードで、そ
のため第3D図に示す復号器39を通過し、2レベル・アー
キテクチヤの訂正能力を無効にすることが考えられる。
このようなことが起こり得ないことを説明するため、付
録の命題1において、実際のエラー・パターンと推定エ
ラー・パターンとの間の差として得られる次の誤差パタ
ーン多項式の性質を解析している。l (x)=el(x)−l(x) (9) C1−復号器22での処理に続いて、位置がわからない
エラー・バーストを含むサブブロツクの数Tが減少し、
それに伴ない位置がわかつているエラー・バーストを含
むサブブロツクの数は、2T+SBという関係式に従い
一般に増加する。新しいイレーシヤは、位置レジスタ42
を更新するために43を介して送られるC1−復号器失敗
信号に対応している。
復号プロセスにおける次のステツプは、C1−復号器2
2によつて供給された推定C1−符号ワードl(x)の
C2−シンドロームの計算(25、27)である。これらの
シンドロームは、回路28での推定ブロツク検査シンドロ
ームの計算に対する入力となる。この計算は第2図の回
路12での計算と同じであり、式(5)と同様に、推定シ
ンドローム・バイトに対する式は次のようになる。
2によつて供給された推定C1−符号ワードl(x)の
C2−シンドロームの計算(25、27)である。これらの
シンドロームは、回路28での推定ブロツク検査シンドロ
ームの計算に対する入力となる。この計算は第2図の回
路12での計算と同じであり、式(5)と同様に、推定シ
ンドローム・バイトに対する式は次のようになる。
b=0、1…、B−1、i=0、1…、r2−1 最後のサブブロツクの後に記憶されていた読取りブロ
ツク検査シンドロームはC3−復号器30により復元され
る。この復元器への入力は、雑音の入つたr2B個のブ
ロック検査シンドロームi(b)、0bB−1、
0ir2−1、及び同じエラーが生じているかも知
れないr3個の検査バイトである。復号器30からは復元
されたr2B個のブロツク検査シンドロームが出力さ
れ、それらは28で計算された推定シンドロームから減算
されて、差ΔAi(b)=2i(b)−Ai(b)を生
成する。この差は次式で与えられる。
ツク検査シンドロームはC3−復号器30により復元され
る。この復元器への入力は、雑音の入つたr2B個のブ
ロック検査シンドロームi(b)、0bB−1、
0ir2−1、及び同じエラーが生じているかも知
れないr3個の検査バイトである。復号器30からは復元
されたr2B個のブロツク検査シンドロームが出力さ
れ、それらは28で計算された推定シンドロームから減算
されて、差ΔAi(b)=2i(b)−Ai(b)を生
成する。この差は次式で与えられる。
累積ブロツク・レベル・シンドロームは、 0lN−1、0ir2−1、である。命題1に
より、l番目のサブブロツクがエラー・バーストを含ん
でいない場合にのみ、これらは零になる。l番目のサブ
ブロツクがエラー・バーストを含んでいると、▲i l▼
は0ir2−1の範囲内にある幾つかのiに対して
非零である。これらのシンドロームから、i番目(0
ir2−1)の累積ブロツク・シンドローム多項式は
次のように定義される。
より、l番目のサブブロツクがエラー・バーストを含ん
でいない場合にのみ、これらは零になる。l番目のサブ
ブロツクがエラー・バーストを含んでいると、▲i l▼
は0ir2−1の範囲内にある幾つかのiに対して
非零である。これらのシンドロームから、i番目(0
ir2−1)の累積ブロツク・シンドローム多項式は
次のように定義される。
ブロツク検査シンドロームの差ΔAi(b)は、式(1
2)で定義された多項式がαbで取る値である。すなわ
ち、 ΔAi(b)=i(αb)、0bB−1 (13) エラー・バーストを含むサブブロツクの未知の位置を
{l′1′…、l′T}とし、既知の位置を{l″1′
…、l″S}とする。次に解くべき問題は、エラー・バ
ーストを含むサブブロツクの未知及び既知の位置の和集
合における各l(lε{l′1′l′2′…、l′T}
U{l″1、l″2、…l″S})について、未知のバー
スト位置{l′1、…、l′T}及び累積ブロツク・シン
ドローム 0lN−1、0i<r2−1、の計算である。こ
の問題は、累積ブロツク・シンドローム多項式
i(x)、0i<r2−1、の新規な解釈を導入するこ
とによつて解かれる。iを固定した場合、i(x)
は、N個のサブブロツクから成るブロツク全体に対する
エラー・パターン多項式、ここでは〔N、N−B、B+
1〕−RS符号CBにおける符号ワードとして考えること
ができる。エラー・バーストを含むサブブロツクの未知
の位置{l′1、…、l′T}及び前に定義した非零シン
ドローム値▲i l▼、0ir2−1、はCB−復号器
32から得られる。復号器32に入力される累積ブロツク・
シンドローム多項式i(x)は、多くともS個のイレ
ーシヤ及びT個のランダム・エラーを示すエラー・パタ
ーンを表わし、そして設計パラメータBは不等式2T+S
Bを満足するので、この復号器32は必要な復号能力を
持つている。命題1により、ブロツク・シンドローム
▲i l▼、0ir2−1、がすべて零であれば、l番
目のサブブロツクはエラー・バーストを含まず、その場
合、C1−推定符号ワードl(x)は、制御部35を通過
して代数合計回路37へ送られる復号出力である。さもな
ければ、すなわちl番目のサブブロツクがエラー・バー
ストを含んでいると、更に別のステツプが必要である。
2)で定義された多項式がαbで取る値である。すなわ
ち、 ΔAi(b)=i(αb)、0bB−1 (13) エラー・バーストを含むサブブロツクの未知の位置を
{l′1′…、l′T}とし、既知の位置を{l″1′
…、l″S}とする。次に解くべき問題は、エラー・バ
ーストを含むサブブロツクの未知及び既知の位置の和集
合における各l(lε{l′1′l′2′…、l′T}
U{l″1、l″2、…l″S})について、未知のバー
スト位置{l′1、…、l′T}及び累積ブロツク・シン
ドローム 0lN−1、0i<r2−1、の計算である。こ
の問題は、累積ブロツク・シンドローム多項式
i(x)、0i<r2−1、の新規な解釈を導入するこ
とによつて解かれる。iを固定した場合、i(x)
は、N個のサブブロツクから成るブロツク全体に対する
エラー・パターン多項式、ここでは〔N、N−B、B+
1〕−RS符号CBにおける符号ワードとして考えること
ができる。エラー・バーストを含むサブブロツクの未知
の位置{l′1、…、l′T}及び前に定義した非零シン
ドローム値▲i l▼、0ir2−1、はCB−復号器
32から得られる。復号器32に入力される累積ブロツク・
シンドローム多項式i(x)は、多くともS個のイレ
ーシヤ及びT個のランダム・エラーを示すエラー・パタ
ーンを表わし、そして設計パラメータBは不等式2T+S
Bを満足するので、この復号器32は必要な復号能力を
持つている。命題1により、ブロツク・シンドローム
▲i l▼、0ir2−1、がすべて零であれば、l番
目のサブブロツクはエラー・バーストを含まず、その場
合、C1−推定符号ワードl(x)は、制御部35を通過
して代数合計回路37へ送られる復号出力である。さもな
ければ、すなわちl番目のサブブロツクがエラー・バー
ストを含んでいると、更に別のステツプが必要である。
このステツプは、エラー・バーストを含むサブブロツ
クの復号プロセスにおける最後のステツプであり、パラ
メータ〔n、n−r1−r2、r1+r2+1〕を有するRS
符号C1、2のための復号器39でシンドロームe
l(αi)、0ir1+r2−1、の完全なストリング
を処理する。この完全シンドローム・ストリングは、前
述のステツプで計算された2つの互いに素のシンドロー
ム・ストリングを40で結合することにより得られる。シ
ンドロームの第一のサブストリングel(αi)、0i
r1−1、は復号プロセスの最初のステツプでC1−シ
ンドロームとして得られる。第2のサブストリング 0ir2−1、は、式(9)を用いてこれらの値に
対する明示的な式を書くことにより容易にわかる。
クの復号プロセスにおける最後のステツプであり、パラ
メータ〔n、n−r1−r2、r1+r2+1〕を有するRS
符号C1、2のための復号器39でシンドロームe
l(αi)、0ir1+r2−1、の完全なストリング
を処理する。この完全シンドローム・ストリングは、前
述のステツプで計算された2つの互いに素のシンドロー
ム・ストリングを40で結合することにより得られる。シ
ンドロームの第一のサブストリングel(αi)、0i
r1−1、は復号プロセスの最初のステツプでC1−シ
ンドロームとして得られる。第2のサブストリング 0ir2−1、は、式(9)を用いてこれらの値に
対する明示的な式を書くことにより容易にわかる。
式(14)の右辺にある項 は、CB−復号器32から得られる累積ブロツク・シンド
ローム▲i l▼、0ir2−1、そのものである。
右辺の残りの項 は、C1−復号器22で計算された推定エラー・パターン
l(x)を位置 0ir2−1のところで評価することにより得られ
る。
ローム▲i l▼、0ir2−1、そのものである。
右辺の残りの項 は、C1−復号器22で計算された推定エラー・パターン
l(x)を位置 0ir2−1のところで評価することにより得られ
る。
かくして、第3A〜3D図に示されている復号プロセス
は、C1、2−復号器39で要求される完全シンドローム・
セツト{el(αi)}、0ir1+r2−1、を供給
する。C1、2−復号器39は、40のところでl(x)から
減算されるエラー・パターンel(x)を生成すること
により、エラー・バーストを含むサブブロツクに対する
訂正プロセスを完了する。
は、C1、2−復号器39で要求される完全シンドローム・
セツト{el(αi)}、0ir1+r2−1、を供給
する。C1、2−復号器39は、40のところでl(x)から
減算されるエラー・パターンel(x)を生成すること
により、エラー・バーストを含むサブブロツクに対する
訂正プロセスを完了する。
E.発明の効果 エラー・バーストを含むサブブロツクのうち、その位
置が既知のサブブロツクの数をS、位置が未知のサブブ
ロツクの数をTとし、そしてバツフア15の数をBとする
と、本発明は、2T+SBという条件が成立しているブ
ロツク中のエラー・バーストを含むサブブロツクのすべ
ての組合せを見つけて訂正することができる。これは、
記憶されていたブロツク検査シンドロームと再計算され
たブロツク検査シンドロームとの差をRS復号器32へのブ
ロツク・シンドローム入力として用いることによつて、
サブブロツク・レベルのエラー訂正能力を損うことなく
達成される。
置が既知のサブブロツクの数をS、位置が未知のサブブ
ロツクの数をTとし、そしてバツフア15の数をBとする
と、本発明は、2T+SBという条件が成立しているブ
ロツク中のエラー・バーストを含むサブブロツクのすべ
ての組合せを見つけて訂正することができる。これは、
記憶されていたブロツク検査シンドロームと再計算され
たブロツク検査シンドロームとの差をRS復号器32へのブ
ロツク・シンドローム入力として用いることによつて、
サブブロツク・レベルのエラー訂正能力を損うことなく
達成される。
また本発明に従う2レベル・アーキテクチヤは、選択
されたエラー訂正能力に対して最小数、すなわちNr1+B
r2+r3個の検査バイトしか必要としない。前述のよう
に、Nはブロツク当りのサブブロツクの数を表わし、r
1は符号化されたサブブロツク中のサブブロツク検査バ
イトの数を表わし、r2はブロツク中のブロツク検査バ
イトの数を表わし、r2は、2T+SBという条件のも
とでブロツクのすべてのバイトを等しく保護するために
付加される、ブロツク検査バイト用の検査バイト数を表
わす。
されたエラー訂正能力に対して最小数、すなわちNr1+B
r2+r3個の検査バイトしか必要としない。前述のよう
に、Nはブロツク当りのサブブロツクの数を表わし、r
1は符号化されたサブブロツク中のサブブロツク検査バ
イトの数を表わし、r2はブロツク中のブロツク検査バ
イトの数を表わし、r2は、2T+SBという条件のも
とでブロツクのすべてのバイトを等しく保護するために
付加される、ブロツク検査バイト用の検査バイト数を表
わす。
しかし、もしS=0という制約が課されるのであれ
ば、すなわち、サブブロツクを示す外部生成ポインタが
使用できないのであれば、このアーキテクチヤを修正し
て、付録の命題2で証明するように、検査バイトの総数
を2t1N+3(t2−t1)T+2t3まで減らすことができ
る。ここで、t1及びt2はそれぞれサブブロツク・レベ
ル及びブロツク・レベルでの所望の訂正可能ランダム・
エラーの数を表わし、t1<t2であり、t3はブロツク
検査シンドロームにおけるエラーの最大数を表わし、T
はバースト・エラーを有する訂正可能サブブロツク(ポ
インタは使用できない)の所望の数を表わす。
ば、すなわち、サブブロツクを示す外部生成ポインタが
使用できないのであれば、このアーキテクチヤを修正し
て、付録の命題2で証明するように、検査バイトの総数
を2t1N+3(t2−t1)T+2t3まで減らすことができ
る。ここで、t1及びt2はそれぞれサブブロツク・レベ
ル及びブロツク・レベルでの所望の訂正可能ランダム・
エラーの数を表わし、t1<t2であり、t3はブロツク
検査シンドロームにおけるエラーの最大数を表わし、T
はバースト・エラーを有する訂正可能サブブロツク(ポ
インタは使用できない)の所望の数を表わす。
付録 命題1 実際のエラー・パターンとC1−復号器22で生成され
た推定エラー・パターンとの差を表わす多項式
l(x)は常にC1−符号ワードであるしかし、エラー・
バースト(第1レベルの訂正能力を越えたエラー)のた
めに誤訂正が生じ、これでl(x)が非零になつてい
ると、それはC2−符号ワードではなく、従つてそのC2
−シンドローム・バイトが非零になる。これらの非零C
2−シンドロームは誤訂正をなかつたことにするのに用
いられる。
た推定エラー・パターンとの差を表わす多項式
l(x)は常にC1−符号ワードであるしかし、エラー・
バースト(第1レベルの訂正能力を越えたエラー)のた
めに誤訂正が生じ、これでl(x)が非零になつてい
ると、それはC2−符号ワードではなく、従つてそのC2
−シンドローム・バイトが非零になる。これらの非零C
2−シンドロームは誤訂正をなかつたことにするのに用
いられる。
証明 式(6)及び(8)から、l(x)=cl(x)+e
l(x)−l(x)であることがわかり、式(9)を考
え合せると、l(x)=l(x)−cl(x)が容易
に得られる。l(x)及びcl(x)は共にC1の符号
ワードであり、C1は線形符号であるから、それらの差
el(x)も符号ワードである。前述のように、l番目
のサブブロツクがエラー・バーストを含んでいなけれ
ば、実際のエラー・パターン及び推定エラー・パターン
は等しく、その差は零である。l番のサブブロツクがエ
ラー・バーストを含んでいると、その実際のエラー・パ
ターンはC1−復号器22の訂正能力を越え、従つて誤訂
正が行われた場合は、推定エラー・パターンは前者とは
異なつたものになり、その結果として非零の差が生じ
る。
l(x)−l(x)であることがわかり、式(9)を考
え合せると、l(x)=l(x)−cl(x)が容易
に得られる。l(x)及びcl(x)は共にC1の符号
ワードであり、C1は線形符号であるから、それらの差
el(x)も符号ワードである。前述のように、l番目
のサブブロツクがエラー・バーストを含んでいなけれ
ば、実際のエラー・パターン及び推定エラー・パターン
は等しく、その差は零である。l番のサブブロツクがエ
ラー・バーストを含んでいると、その実際のエラー・パ
ターンはC1−復号器22の訂正能力を越え、従つて誤訂
正が行われた場合は、推定エラー・パターンは前者とは
異なつたものになり、その結果として非零の差が生じ
る。
ここで、実際のエラー・パターンel(x)がs個の
イレーシヤ及びt′個のランダム・エラーから成つてい
て、2t′+sr1+r2であるとする。誤訂正の場合、
C1−復号器22は、エラーが2t″+sr1を満足するよ
うなs個のイレーシヤ及びt″個のランダム・エラーに
制限される推定エラー・パターン多項式l(x)を生
成する。誤訂正後のエラー・パターンl(x)はは上
述の2つのエラー・パターンの差を表わし、従つてその
ハミング重みは多くとも である。ここで符号化多項式 によつて指定される線形符号C1、2を考える。これはパ
ラメータ〔n、n−r1−r2、r1+r2+1〕を有する
RS符号として定義される。すなわち、その最小ハミング
重みはr1+r2+1である。l (x)のハミング重みは多くともr1+r2でである
から、それはC1、2の符号ワードではあり得ない。しか
し、l(x)はC1の符号ワードであり、C1、2はC1及
びC2の重なり合わない空スペクトルにより指定される
ので、結局l(x)はC2の符号ワードではあり得ない
ことが証明される。
イレーシヤ及びt′個のランダム・エラーから成つてい
て、2t′+sr1+r2であるとする。誤訂正の場合、
C1−復号器22は、エラーが2t″+sr1を満足するよ
うなs個のイレーシヤ及びt″個のランダム・エラーに
制限される推定エラー・パターン多項式l(x)を生
成する。誤訂正後のエラー・パターンl(x)はは上
述の2つのエラー・パターンの差を表わし、従つてその
ハミング重みは多くとも である。ここで符号化多項式 によつて指定される線形符号C1、2を考える。これはパ
ラメータ〔n、n−r1−r2、r1+r2+1〕を有する
RS符号として定義される。すなわち、その最小ハミング
重みはr1+r2+1である。l (x)のハミング重みは多くともr1+r2でである
から、それはC1、2の符号ワードではあり得ない。しか
し、l(x)はC1の符号ワードであり、C1、2はC1及
びC2の重なり合わない空スペクトルにより指定される
ので、結局l(x)はC2の符号ワードではあり得ない
ことが証明される。
命題2 エラー・バーストを含むサブブロツクについてのエラ
ー・パターンの差を表わす多項式l(x)のブロツク
・シンドローム値 は の範囲で全零ではないので、検査バイトの総数を2t1N
+3(t2−t1)T+2t3に減らすことができる。
ー・パターンの差を表わす多項式l(x)のブロツク
・シンドローム値 は の範囲で全零ではないので、検査バイトの総数を2t1N
+3(t2−t1)T+2t3に減らすことができる。
証明 命題1の証明から、l(x)がC1の符号ワードであ
ること、及びそのハミング重みが多くとも であることが示された。ここでその逆が真であること、
すなわち であると仮定する。l(x)はC1の符号ワードである
から、 である。従つてel(x)は 符号の符号ワードであると考えることができる。しかし
そうすると、命題1の証明から、ハミング重みが多くと
も であることが示されており、従つて非零の値 が存在するので、矛盾がでてくる。
ること、及びそのハミング重みが多くとも であることが示された。ここでその逆が真であること、
すなわち であると仮定する。l(x)はC1の符号ワードである
から、 である。従つてel(x)は 符号の符号ワードであると考えることができる。しかし
そうすると、命題1の証明から、ハミング重みが多くと
も であることが示されており、従つて非零の値 が存在するので、矛盾がでてくる。
命題2は、エラー・バーストを含むサブブロツクの位
置及びそれらのブロツク・シンドローム▲i l▼、 を決定するためには、CB−復号器32を 回使用すれば十分であることを示している。これらのシ
ンドロームの残り半分▲i l▼、 の計算では、それらの位置が既知なため、CB−復号器3
2は、 及び0bT−1(0bB−1ではない)の範囲
内で が成立することを必要とするだけである。B=2T及びr
2=2(t2−t1)であるから、T(t2−t1)個のブ
ロツク検査バイトΔAi(b)、 TbB−1、の計算は不要であり、本発明に従う2
レベル・アーキテクチヤにおける検査バイトの総数を2t
1N+3(t2−t1)T+2t3に減らすことができる。
置及びそれらのブロツク・シンドローム▲i l▼、 を決定するためには、CB−復号器32を 回使用すれば十分であることを示している。これらのシ
ンドロームの残り半分▲i l▼、 の計算では、それらの位置が既知なため、CB−復号器3
2は、 及び0bT−1(0bB−1ではない)の範囲
内で が成立することを必要とするだけである。B=2T及びr
2=2(t2−t1)であるから、T(t2−t1)個のブ
ロツク検査バイトΔAi(b)、 TbB−1、の計算は不要であり、本発明に従う2
レベル・アーキテクチヤにおける検査バイトの総数を2t
1N+3(t2−t1)T+2t3に減らすことができる。
第1図は本発明に従うシステムの符号器部分を示すブロ
ツク図。 第2図は第1図においてブロツク検査バイトを計算する
部分の詳細を示すブロツク図。 第3A図ないし第3D図は本発明に従うシステムの復号器部
分を示すブロツク図。
ツク図。 第2図は第1図においてブロツク検査バイトを計算する
部分の詳細を示すブロツク図。 第3A図ないし第3D図は本発明に従うシステムの復号器部
分を示すブロツク図。
Claims (1)
- 【請求項1】データがブロツク形式で記憶され、各ブロ
ツクは複数のサブブロツクを含み、当該ブロツクの最後
のサブブロツクの後にはブロツク検査シンドロームが記
憶され、読取り時に復号ブロツク検査シンドローム及び
推定ブロツク検査シンドロームが生成されるような記憶
媒体において、多重エラー・バーストを訂正するため
に、 前記復号ブロツク検査シンドローム及び前記推定ブロツ
ク検査シンドロームを代数的に組合せて、エラー・バー
ストを含むサブブロツクをポインタなしに所定数まで見
つけるための1組のブロツク検査シンドロームを生成
し、 前記1組のブロツク検査シンドロームを復号して、前記
エラー・バーストを含むサブブロツクを識別し、 前記エラー・バーストを含むサブブロツク中のエラーの
位置及び値を識別するブロツク・レベル・シンドローム
を計算する、 ことを特徴とするエラー訂正方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US284979 | 1988-12-14 | ||
US07/284,979 US4951284A (en) | 1988-12-14 | 1988-12-14 | Method and means for correcting random and burst errors |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02189032A JPH02189032A (ja) | 1990-07-25 |
JPH0831806B2 true JPH0831806B2 (ja) | 1996-03-27 |
Family
ID=23092256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1322776A Expired - Lifetime JPH0831806B2 (ja) | 1988-12-14 | 1989-12-14 | エラー訂正方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4951284A (ja) |
EP (1) | EP0373764B1 (ja) |
JP (1) | JPH0831806B2 (ja) |
DE (1) | DE68921855T2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5164944A (en) * | 1990-06-08 | 1992-11-17 | Unisys Corporation | Method and apparatus for effecting multiple error correction in a computer memory |
US5377208A (en) * | 1991-11-02 | 1994-12-27 | U.S. Philips Corporation | Transmission system with random error and burst error correction for a cyclically coded digital signal |
US5329535A (en) * | 1992-04-30 | 1994-07-12 | International Business Machines Corporation | Variable block lengths on-the-fly error correcting decoder |
KR100228267B1 (ko) * | 1992-12-30 | 1999-11-01 | 윤종용 | 영상부호화 시스템의 에러수정장치 |
US5383204A (en) * | 1993-06-29 | 1995-01-17 | Mitsubishi Semiconductor America, Inc. | Parallel encoding apparatus and method implementing cyclic redundancy check and Reed-Solomon codes |
US5465260A (en) * | 1993-11-04 | 1995-11-07 | Cirrus Logic, Inc. | Dual purpose cyclic redundancy check |
US5727003A (en) * | 1995-07-03 | 1998-03-10 | Cirrus Logic, Inc. | Method and apparatus for flash burst error correction |
US5721744A (en) * | 1996-02-20 | 1998-02-24 | Sharp Microelectronics Technology, Inc. | System and method for correcting burst errors in digital information |
US6219814B1 (en) | 1996-12-23 | 2001-04-17 | International Business Machines Corporation | Method and apparatus for selectively varying error correcting code (ECC) power in a direct access storage device (DASD) |
US6041430A (en) * | 1997-11-03 | 2000-03-21 | Sun Microsystems, Inc. | Error detection and correction code for data and check code fields |
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 |
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 |
US6574776B1 (en) * | 1999-04-09 | 2003-06-03 | Oak Technology, Inc. | Simultaneous processing for error detection and P-parity ECC encoding |
JP2005519422A (ja) * | 2002-03-08 | 2005-06-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ことによると欠損した符号ワードの連帯的な復号化の方法 |
US7131052B2 (en) * | 2002-08-12 | 2006-10-31 | International Business Machines Corporation | Algebraic decoder and method for correcting an arbitrary mixture of burst and random errors |
US7231578B2 (en) | 2004-04-02 | 2007-06-12 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for detecting and correcting errors using multiple interleave erasure pointers |
US20080082896A1 (en) * | 2006-08-25 | 2008-04-03 | Broadcom Corporation | Burst error correction with offset for correction vector based on fire code |
US8136013B2 (en) * | 2006-08-25 | 2012-03-13 | Broadcom Corporation | Burst error correction based on fire code |
US7895502B2 (en) * | 2007-01-04 | 2011-02-22 | International Business Machines Corporation | Error control coding methods for memories with subline accesses |
US20100067338A1 (en) * | 2008-09-15 | 2010-03-18 | Lite-On It Corporation | Method of Determining the Quality of Data on an Optical Disc |
US8392807B2 (en) | 2010-07-23 | 2013-03-05 | Sandisk Technologies Inc. | System and method of distributive ECC processing |
US8856618B2 (en) * | 2012-10-04 | 2014-10-07 | HGST Netherlands B.V. | Scalable repair block error correction for sequential multiple data blocks in a magnetic data storage device |
US8959414B2 (en) * | 2013-06-13 | 2015-02-17 | Lsi Corporation | Systems and methods for hybrid layer data decoding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4494234A (en) * | 1982-12-29 | 1985-01-15 | International Business Machines Corporation | On-the-fly multibyte error correcting system |
US4525838A (en) * | 1983-02-28 | 1985-06-25 | International Business Machines Corporation | Multibyte error correcting system involving a two-level code structure |
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 |
US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
US4849975A (en) * | 1987-11-10 | 1989-07-18 | International Business Machines Corporation | Error correction method and apparatus |
-
1988
- 1988-12-14 US US07/284,979 patent/US4951284A/en not_active Expired - Fee Related
-
1989
- 1989-11-10 EP EP89311681A patent/EP0373764B1/en not_active Expired - Lifetime
- 1989-11-10 DE DE68921855T patent/DE68921855T2/de not_active Expired - Fee Related
- 1989-12-14 JP JP1322776A patent/JPH0831806B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE68921855D1 (de) | 1995-04-27 |
EP0373764A3 (en) | 1991-10-23 |
EP0373764A2 (en) | 1990-06-20 |
DE68921855T2 (de) | 1995-10-12 |
EP0373764B1 (en) | 1995-03-22 |
JPH02189032A (ja) | 1990-07-25 |
US4951284A (en) | 1990-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0831806B2 (ja) | エラー訂正方法 | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
EP0167627B1 (en) | Method and apparatus for decoding error correction code | |
US5946328A (en) | Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords | |
US8086941B2 (en) | Computing an error detection code syndrome based on a correction pattern | |
EP0316063B1 (en) | Error correction using look-up tables | |
US6615387B1 (en) | Method and apparatus for error detection | |
Bossen | b-Adjacent error correction | |
KR930008683B1 (ko) | 리드-솔로몬 에러 보정 코드 엔코더 | |
EP0114938A2 (en) | On-the-fly multibyte error correction | |
JPS6354254B2 (ja) | ||
EP0233075B1 (en) | Method and apparatus for generating error detection check bytes for a data record | |
US20100299575A1 (en) | Method and system for detection and correction of phased-burst errors, erasures, symbol errors, and bit errors in a received symbol string | |
JP2009295273A (ja) | 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法 | |
JP2002509331A5 (ja) | ||
JPS628056B2 (ja) | ||
US5943348A (en) | Method to check for burst limiting in error correcting systems | |
US5974582A (en) | High-speed chien search logic | |
US5809042A (en) | Interleave type error correction method and apparatus | |
US7475329B2 (en) | Techniques for performing Galois field logarithms for detecting error locations that require less storage space | |
US7228467B2 (en) | Correcting data having more data blocks with errors than redundancy blocks | |
US6728052B2 (en) | Recording/reproducing apparatus, error correcting coding method and information recording method | |
AU610987B2 (en) | Method and apparatus for decoding error correction code | |
JPS6342343B2 (ja) | ||
JPH0736158B2 (ja) | 誤り訂正ブロック符号の許容誤り判定回路 |