JPH0444447B2 - - Google Patents
Info
- Publication number
- JPH0444447B2 JPH0444447B2 JP63282645A JP28264588A JPH0444447B2 JP H0444447 B2 JPH0444447 B2 JP H0444447B2 JP 63282645 A JP63282645 A JP 63282645A JP 28264588 A JP28264588 A JP 28264588A JP H0444447 B2 JPH0444447 B2 JP H0444447B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- level
- errors
- syndromes
- byte
- 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
- 208000011580 syndromic disease Diseases 0.000 claims description 51
- 238000000034 method Methods 0.000 claims description 26
- 238000012937 correction Methods 0.000 claims description 24
- 239000013598 vector Substances 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 description 24
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000007792 addition Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 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
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 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)
Description
A 産業上の利用分野
本発明は、記憶装置中の符号化された末訂正の
データ中のエラーを訂正するための方法及び装置
に関し、特に上記データ中の少なくとも2個のエ
ラーを示すエラーのシンドロームをデコードする
ためにルツクアツプ・テーブルが関与する独得の
実現手段を用いた方法及び装置に関する。 B 従来技術 下記の参考文献は、記憶装置中のエラーを訂正
するための基本的理論及び種々の方法及び構成を
開示している。W.W.Peterson、“Error−
Correcting Codes”、MIT Press、1961;R.C.
Bose and、D.K.Ray−Chaudhuri、“On a
class off error−correcting binary group
codes”、Inf.Control 3、88−6 8−69、
1960;I.S.Reed and G.Solomon、“Polynom ial
codes over certain finite fields”、J.Soc.
Indust.Appl.Math.8、pp.300−304、1960;及び
R.T.Chien、“Cyclic decoding procedures for
Bose−Chaudhuri−Hocquenghem codes”
IEEE Trans.Inf.Theory、Vol.IT−10、pp.357
−363、1964。 特願昭61−168226号には、改良されたマルチバ
イト・エラー訂正サブシステムにおける2レベ
ル・エラー訂正符号構造が開示されている。デー
タはデイスクのトラツク上で多数のサブブロツク
の形にフオーマツトされる。サブブロツクの各々
は各ブロツク内にある。また3個のサブブロツク
検査バイトC1、C2およびC3の2つの組が存在す
る。1組は偶フエーズに、そして他の組は奇フエ
ーズに関連し、従つてインタリーブ式の符号語を
与えている。この構成を用いると、(サブブロツ
クのエラーの)第1のレベルの訂正は、1サブブ
ロツク分遅延された後に記憶装置で即座に行なわ
れ、データは第2レベル(ブロツク)のエラーの
訂正のために記憶装置デイレクタに送られる。こ
の即座の訂正は、非同期環境で動作しているシス
テムに関してしか適さない。第2(ブロツク)レ
ベルの訂正は、ブロツクの終りに各フエーズ毎に
1つの付加的な検査バイトC0を用いて行なわれ
る。 前述の関連出願は、リアルタイムに未訂正デー
タを受け取り、3個の第1レベルのシンドロー
ム・バイト及び1個の第2レベルのシンドロー
ム・バイト(各フエーズに対応して)を生成す
る、デイスク記憶装置中のハードウエアを開示し
ている。第1レベルのシンドロームは装置におい
て、記憶装置デイレクタに転送されるエラー位置
情報及びエラー・パターンにデコードされる。 この関連出願は、サブブロツク中にエラーがな
ければシステムはどのように機能するか、及びサ
ブブロツク当り1つ以下のエラーがあればどのよ
うにしてエラーが訂正されるか、及びサブブロツ
ク当り2つ以上のエラーあればどのようして訂正
されるかを説明している。より具体的には、特定
のサブブロツク符号語に関連する各フエーズに対
応するシンドロームS1,S2,S3がローカル・メモ
リに保持される。その特定のサブブロツクのシン
ドロームが全てゼロではなく第1レベルのデコー
ダによつて非ゼロのエラー・パターンが生成され
なかつたならば、それらのシンドロームはブロツ
ク・レベルでさらに処理するために保持される。
またローカル・メモリは未訂正のサブブロツクの
識別を、サブブロツク識別子「f」として保持す
る。ブロツクの終りに、第2レベル・シンドロー
ム発生器からの第2レベル・シンドロームS0及び
ローカル・メモリからのサブブロツクfに関する
第1レベル・シンドロームS1,S2,S3が、サブブ
ロツクf中の2個のエラーを訂正するために第2
レベル・デコーダによつて処理される。 C 発明が解決しようとする問題点 所定のバイト数(各バイトは所望の事前に選択
された数のビツトを含む)のレコード中の2バイ
ト・エラー、例えば上記関連出願中で説明されて
いるものに類似した2レベル符号形式の1つのサ
ブブロツク中の2バイト・エラーに関するシンド
ロームをデコードするフアームウエア又はソフト
ウエアとして実現される独得のルツクアツプ・テ
ーブルを用いたり、より安価で且つ効率的な方法
及び装置が必要である。 D 課題を解決するための手段 本発明上によれば、所定長のレコード(多レベ
ルのエラー訂正符号形式の場合にはブロツクの事
前に識別されたサブブロツク)中の符号化された
未訂正のデータ中の2バイトまでのエラーを訂正
するための方法及び装置が与えられる。データは
記憶装置から読取られ、上述の関連出願に開示し
た手段により生成される4つのエラーのシンドロ
ーム(S1,S2,S3,S4)をデコードし処理するこ
とにより訂正される。これらのシンドロームは、
4つのシンドロームに対し次式の関係にあるベク
トル(P.Q,R)を計算することにより、任意の
1レコード中の未訂正エラーに応答してデコード
される。 P=(S2S2)(S3S1) Q=(S2S1)(S3S0) R=(S0S2)(S1S1) 次にそれらのベクトルから表索引により2進数
u及びVが計算され、上記2進数の和からエラー
位置の決定に向けてdの値を計算することが可能
になる。次にdの値に対して特別の数学的関係を
有する値tが表索引により決定され、エラー位置
の値y及びzが値tから2進数値u及びVのオフ
セツトから計算される。最後に、エラー・パター
ンEy及びEzが表索引により決定される。 より具体的には、デイレク記憶装置中の符号化
された未訂正データ中のエラーが、多数のサブブ
ロツクを含むブロツクの形に形式化された多レベ
ル・エラー訂正符号を用いて訂正される。読取り
動作中に、各ブロツク毎に第1レベルのエラーの
シンドローム(S1,S2,S3)及びブロツクの全サ
ブブロツクに共通の付加的な第2レベルのシンド
ローム(S0)が記憶装置中のハードウエアにより
生成される。第1レベルのシンドロームは、表索
引によりデコードされ、第1レベルのエラー・パ
ターン及び位置情報を与える。第2レベルのシン
ドロームは、第1及び第2レベルのシンドローム
の関数であるベクトルを計算することによりデコ
ードされる。第2レベルのエラー位置及びエラ
ー・パターンは、表索引を用いてソフトウエア又
はフアームウエアにより決定される。必要であれ
ば、延期モードでエラー情報を送ることにより後
にエラーの訂正が行なわれる。 E 実施例 第2図は本発明で用いられる2レベル符号構造
を実施したデイスク・トラツクのデータ形式を示
している。データはトラツク11に沿つて記録さ
れ、固定長又は可変長の複数のブロツク12の形
にフオーマツトされている。各ブロツク12は固
定長のサブブロツク14に分割される。図に示す
ように、各サブブロツク14は2つのインタリー
ブされた符号語18,19から成る。各符号語1
8,19は48個のデータ・バイト位置及び3個の
サブブロツク検査バイトC1,C2,C3より成る。
従つて、各ブロツク12はサブブロツクより成
り、その各々は96個(48個が2組)のデータ・バ
イト位置及び3組のサブブロツク検査バイトC1,
C2,C3を有する。さらに、各ブロツク12の終
りのブロツク検査バイト領域15には、ECC訂
正の後のデータ整合性検査のための4個の検査バ
イトCR1〜CR4及び第2レベルのエラー訂正のた
めの1対の検査バイトC0を付加される。各サブ
ブロツク14中のエラー訂正検査バイトC1〜C3
並びに各ブロツク12の終りの検査バイトCR1〜
CR4及びC0が決定され生成される方式は、本発明
の一部を成すものではない。詳細な説明に関して
は、前述の関連出願を参照されたい。本発明につ
いての下記の説明中では、2つのフエーズ(偶又
は奇)の一方に関して全てのプロセス・ステツプ
を説明するが、同じステツプ及びプロセスが他の
フエーズにも反復されることを理解されたい。 第1図を参照すると、第2図に示すようにフオ
ーマツトされたトラツクに書込みを行なうため
に、データ処理システム(図示せず)からデータ
が、制御ユニツト又は記憶装置デイレクタ20を
経て、デイスク記憶装置100の記憶デイスク2
1に送られる。このデータの書込み及び転送にお
いて、3組の検査バイトC1,C2及びC3がECC符
号器22によつて各サブブロツク毎に生成され
る。ブロツク検査バイトC0(及びデータ整合性検
査バイトCR1〜CR4)も符号器22によつて生成
される。サブブロツク・フオーマツタ22Aは
各々の対応するサブブロツクに検査バイトC1,
C2及びC3を付加する。ブロツク・フオーマツタ
22Bはブロツクの終りにブロツク検査バイト
C0(及びデータ整合性検査バイトCR1〜CR4)を
付加する。次にフオーマツトされたデータはデイ
スク21に記録される。データ整合性検査バイト
CR1〜CR4の計算及び処理は本発明とは無関係で
あり、米国特許第4703485号明細書に説明されて
いる。 読取りプロセスにおいて、通常の方式でエラー
シンドロームを生成するために、読取データは前
述の関連出願の符号化方程式(1)、(2)、(4)及び(5)に
よつて検査される。サブブロツク検査バイトC1,
C2及びC3にはシンドロームS1,S2およびS3関連
し、またブロツク・レベル検査バイトC0にはシ
ンドローム・バイトS0が関連する。 シンドローム例えばS0,S1等に割り当てられた
添字は、各検査文字を生成するのに使用された特
定のT行列に関連している。特にC0から生成さ
れるS0は通常のパリテイ検査バイトに対応する。
一方、S3はC3から生成され、これは入力バイト
に行列T3を掛けることに関係した論理に従つて
生成される。検査バイトC1及びC2に対応するシ
ンドロームS1及びS2はそれぞれ、行列T1及びT2
に関係した論理を用いて同様に生成される。シン
ドローム生成に関するそのような論理は周知であ
り、本発明の一部を成すものではない。 読取プロセスの間、未訂正データがデイスク2
1から第1レベルのシンドローム生成器23及び
第2レベルのシンドローム生成器25に読取られ
る。これらは各サブブロツクに関して第1レベル
のシンドローム・バイトS1,S2,S3を生成し、ブ
ロツクの全サブブロツクに共通の第2レベル・シ
ンドロームS0を生成する。シンドローム・バイト
S1,S2,S3は、エラー・パターン・データにデコ
ードするために、記憶装置デイレクタ20の第1
のレベル・デコーダ24に転送される。デコーダ
24のための、ソフトウエアにより実現されたデ
コーダ・プロセスは「第1レベル・デコード・プ
ロセス」と題する独立の章で説明する。 単純に言えば、S1,S2又はS3に関する非ゼロの
値はエラーを示す。もしサブブロツクが1バイト
だけのエラーを有するならば、その位置χ及びエ
ラー・パターンEx(デコーダ24により決定され
る)が、サブブロツク・バツフア27から取り出
された適当なバイトを訂正するためにソフトウエ
ア26に供給される。訂正後、このバイトはバツ
フア27に再記憶される。エラー・パターンEx
は、1つのエラーの第1レベルの訂正を行なつた
サブブロツクの各々に関してローカル・メモリ2
8に記憶される。第2レベルのシンドロームS0
は、訂正されたサブブロツクの全部に対応するエ
ラー・パターン情報Exを含むように、ソフトウ
エア29により修正される。デコーダ24がS1,
S2又はS3に関して非ゼロの値を受け取り且つサブ
ブロツクを訂正できない時、それはサブブロツク
識別子fをローカル・メモリ28に供給すること
によつてサブブロツク中に2以上のエラーが存在
することを示す。サブブロツクfに関する未処理
のシンドロームS1,S2及びS3も、第2レベル・デ
コーダにより後に処理するためにローカル・メモ
リに伝達される。第2レベル・デコード・ソフト
ウエア30は、ローカル・メモリ28からのシン
ドロームS1,S2,S3とシンドロームS0とを組み合
せて、表索引によりそれらの組み合せ入力を、
(エラーの位置を示す)出力y及びz並びに(エ
ラー・パターンを示す)Ey及びEzに変換する。
これらの出力y、z、EyEzは、エラーを起こし
たサブブロツクの識別子fと組み合されて、エラ
ーを生じたバイトBy及びBzを訂正させる。第2
レベル・エラー訂正ソフトウエア31は、バツフ
ア27からサブブロツクを取り出し、エラー位置
情報y、z並びにエラー・パターンEy及びEzを
用いてサブブロツクfのバイトBy及びBzを訂正
することにより、訂正されたデータを供給する。 以下、発明の概念をより具体的に説明する。基
本的な2レベルECC方式は、前述の関連出願に
説明されているように、1ブロツク中にn個のサ
ブブロツク、各サブブロツク中にNバイトを有し
ている。第1レベルのデコードの能力は、サブブ
ロツクの各々の中の1バイトまでのエラーの訂正
を提供する。第2レベルのデコードを含む能力
は、1つのサブブロツク中の2バイトまでのエラ
ーの訂正及びブロツク中の他の全てのサブブロツ
ク中の1バイトのエラーの訂正を提供する。 基本的なエラー事象は「エラーの生じたバイ
ト」である。バースト・エラーは隣接バイトに相
関を有するエラーを生じる可能性があるが、それ
らのエラーを効果的にランダム化するように充分
なインタリーブが行なわれるものと仮定されてい
る。適当なインタリーブを用いると、エラー訂正
符号(ECC)方式で想定されているように全て
のバイトが等しい確率でエラーを生じると考えら
れる。各バイトは、事前に選択された数のビツト
mを含む。エラー訂正符号に関する対応する演算
は、2mの要素を有する有限体GF(2m)で行なわれ
る。mは8であり、有限体GF(28)は256個の要
素を有する。 数学的基礎−体の要素の対数 G(χ)は、係数が2進数の、次数8の原始多
項式を表わす。 G(χ)=g0g1χg2χ2…g7χ7χ8 多項式G(χ)のコンパニオン行列は、下記の正
則行列として定義される。 T=0 0 0 0 0 0 g0 1 0 0 0 0 0 0 g1 0 1 0 0 0 0 0 g2 0 0 1 0 0 0 0 0 g3 0 0 0 1 0 0 0 g4 0 0 0 0 1 0 0 g5 0 0 0 0 0 1 0 g6 0 0 0 0 0 0 1 g7 行列Tiは、Tに自分自身をi回掛けたものを表
わし、全ての数はモジユロ2で還元されている。
行列T、T2、T3,…T255は全て異なる。T255は
恒等行列であり、T0とも書くことができる。こ
れら255個の行列はGF(28)の(28−1)個の非
ゼロ要素を表わしている。αを、GF(28)の原始
要素を示すものとする。この時Tiは、全てのiに
関して、非ゼロ要素αiを表わす。ゼロ要素は8×
8のゼロ行列により表わされる。従つて、GF
(28)における和及び積の演算は、体の要素のこ
れらの行列表現を用いた、モジユロ2の行列の和
及び行列の積によつて定義される。 GF(28)の要素は8桁の2進数ベクトルによつ
て表わすこともできる。上記表現の正方行列は非
常に冗長である。事実、各行列は(特定の位置
の)1つの列だけで一意的に識別することができ
る。これは、あいまいさなしに、対応する体の要
素を表現するために非常に良好に使用することが
できる。特に、上記集合の各8×8行列の第1列
は、対応する体の要素の一般的に使用されている
8桁ベクトル表現である。これは、体の要素αiを
表現するTi行列の集合と全ての非ゼロ8桁ベクト
ルの集合との間に1対1対応を確立する。従つ
て、各非ゼロ8桁ベクトルSは特有の整数i(0
≦i≦254)に対応し、これは底αに対するその
対数と考えることができる。 表A1は全部の体の要素をαのべき乗に写像す
る対数表である。表A2はαの整数べきを対応す
る体要素に写像する逆対数表である。それらの表
は、基底要素αに関する表現として下記のコンパ
ニオン行列Tを用いて、生成された。 T=0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 それらの表の助けをかければ、(8桁ベクトル
A1及びA2によつて表現される2つの要素の)積
A1A2が次のようにして計算される。 A1=αi1 対数表使用:log〓A1=i1 A2=αi2 対数表使用:log〓A2=i2 A1×A2=αi1+i2 加算(モジユロ255):i=i1+
i2 αi=A 逆対数表使用:log-1〓i=A 各表は8×256ビツトのメモリを必要とする。
そこで8ビツトのベクトルとして表現されるメモ
リ位置又はワ−ド番号が入力ベクトルである。メ
モリ位置に記憶された8ビツト・ベクトルは、そ
れぞれ2つの表の入力ベクトルに対応する対数及
び逆対数を表わす。A=0(全ゼロのベクトル)
はlog及びantilog表を用いて処理できないことに
注意されたい。従つて、それは次のように特別な
場合として取り扱われるべきである。即ち、ゼロ
による乗算は常にゼロを生じ、ゼロによる除算は
許されるべきでない。 第1レベルのデコード・プロセス:単一エラー訂
正 ここで述べるように、第1レベルのエラーのデ
コードは、表索引動作を含むソフトウエア方法を
用いて実行できる。 S1、S2又はS3に関する非ゼロの値はエラーの存
在を示す。サブブロツクは1バイト(バイトχ)
しかエラーを含まないと仮定すると、読取られた
バイトB〓は、書込まれたバイトB〓に対して下記
の関係にある。 B^x=BxEx (1) 但しE〓はバイトχのエラー・パターンである。 サブブロツクが1バイトしか(バイトx)エラ
ーを有さない時、シンドロームはExに対して下
記のように関係付けられる。 S1=TxEx (2) S2=T2×Ex (3) S3=T3×Ex (4) この方法において、式(2)、(3)及び(4)はGF(28)
中の体要素の間の関係と見なされる。特に、TB
型の行列乗算は体の要素αとβとの積を表わす。
但しαiは行列Tiの最初の列により表現され、βは
列ベクトルBによつて表現される。 GF(28)における積の演算について、底の(但
しαは体の原始要素)に対する対数及び逆対数表
(表A1及びA2)を参照して、説明した。これら
の表の助けをかりると、式(2)、(3)及び(4)から次の
ようにしてエラー位置の値χが計算できる。 χ=(log〓S2−log〓S1)modulo255 (5) χ=(log〓S3−log〓S2)modulo255 またエラー・パターンE〓は式(2)及び(5)から次
のように計算できる。 Eχ=log-1〓(log〓S1−χ)modulo255 (6) 式(5)及び(6)の全ての項は8桁の2進数列であ
る。モジユロ255の計算において、8桁の2進数
の減算はその補数の加算化と等価である。これに
関して、8桁の全部1の系列(値255)が数字ゼ
ロを表わし、上位ギヤリー(値256)が数字1に
等しい終端巡回キヤリー(end−aroundcarry)
付き8桁2進加算器を使用すると便利である。 χの各計算は、対数表(表A1)への2回の参
照及び1回のモジユロ255減算を必要とする。同
様に、E〓の計算は、逆対数表(表A2)への1回
の参照を必要とする。次にバイトB^χはB^χ+Eχ
のように訂正される。 もしS1=S2=0且つS3≠0であれば、エラーは
検査バイトC2に存在する。式(5)で、χは2通り
に計算される。その結果は同一でなければなら
ず、さもなければ2以上のエラー・バイトが存在
する。また、S1≠S2且つS1又はS2がゼロであれ
ば、2以上のエラー・バイトが存在する。その場
合、サブブロツクはエラーを有するが第1レベル
の処理では訂正されないままである。そのような
サブブロツクはサブブロツク番号fにより識別さ
れ、対応するシンドロームS1、S2、S3がローカ
ル・メモリに記憶され、後の第2レベルの処理の
ために渡される。 第2レベルのデコード・プロセス:2エラー訂正 1つのサブブロツクだけが、y及びzで示され
それぞれエラー・パターンEy及びEzを有する2
つのエラー・バイトを含むものと仮定する。シン
ドロームS0,S1,S2、及びS3は下記のようにEy
及びEzと関係付けられる。 S0=EyEz (7) S1=TyEyTzEz (8) S2=T2yEyT2zEz (9) S3=T3yEyT3zEz (10) 対応するサブブロツクに関する第1レベルの処
理は、複数エラーとしてこれらのエラーを検出し
たであろう。サブブロツク・レベルで利用可能な
S1,S2及びS3を用いて、サブブロツク・レベルの
シンドロームの処理は、これらのエラーを位置χ
の1記号エラーEχとして誤訂正はしない。 2記号エラーに関するブロツク・レベルのシン
ドローム及びサブブロツクの組み合せられた集合
をデコードする事を説明する。詳しい解説につい
ては、後述の「2記号エラーのデコードの理論」
の節を参照されたい。最初に、ベクトルP、Q及
びRが得られる。それらは下記のようなシンドロ
ームS0、S1、S2及びS3の関数である。 P=(S2S2)(S3S1) (11) Q=(S2S1)(S3S0) (12) R=(S0S2)(S1S1) (13) 但しはGF(28)中の元の積演算を示し、元は
2進8桁のベクトルで表現されている。積演算
は、ハードワイヤ式論理を用いて、又はGF(28)
の対数表及び逆対数表を用いて実現できる。 エラーを生じた2個のバイトが存在し両者がサ
ブブロツクのデータ・バイト中にある時、P、Q
及びRは必然的に非ゼロであることに注意された
い。これと対照的に、2個のエラー・バイトのな
かに検査バイトC1又はC2がある時、これは各々
P=0及びR=0により示される。 サブブロツクの1つの中に正確に2個のエラ
ー・バイトが存在すると仮定する。この時、エラ
ー位置の値y及びzは、下記の方程式のiの2つ
の一意的な解である。 T-2iPT-iQ=R (14) 但しP、Q及びRはシンドロームS0、S1、S2、
及びS3の関数であり、式(11)〜(13)により与えら
れる。 iの2個の解の値の各々に関して、エラー・パ
ターンは次式で与えられる。 Ei=R/(T2iS0S2) (15) この証明は、後の「2記号エラーのデコードの
理論」に与えられている。 本発明の重要な特徴によれば、2記号エラーに
関するブロツク・レベルのシンドローム及びサブ
ブロツクの組み合せのデコードは、表索引動作を
含むソフトウエア方法を用いて行なうことができ
る。ベクトルP、Q及びRは、それぞれ表A1及
びA2の対数表及び逆対数表を用いて、シンドロ
ームS0、S1、S2、及びS3から計算される。これ
は、高々、メモリ中のテーブルへの18回の参照、
6回の2進数加算(モジユロ255)演算、及び3
回のベクトル加算(モジユロ2)演算を必要とす
る。 エラー位置の値y及びzは、単純な表索引手続
きにより得られる。テーブル及びその手続きの背
景の理論は、後の「2エラー位置に関する表索引
解法」の節及び表Bに示されている。この方法で
は、下記の4ステツプの手続きによりエラー位置
の値y及びzが得られる。 ステツプ1: 表A1及びA2の対数表及び逆対数表を用いて、
ベクトルP、Q及びRから2個の2進数u及びv
を得る。 u=(log〓P−log〓Q)modulo255 (16) v=(log〓R−log〓Q)modulo255 (17) ステツプ2: 2エラーの位置の決定に向かうステツプとし
て、上記2個の2進数の和から値dを計算する。 d=(u+v) modulo255 (18) ステツプ3: 表Bのテーブルから、値dに対して特別な数学
的関係を有する値tを得る。 ステツプ4: 下記のように、値tから上記2進数のオフセツ
トを計算することによつてエラー位置の値y及び
zを得る。 y=(u−t)modulo255 (19) z=(t−v)modulo255 (20) 上記手続きの式(16)〜(20)の中の全ての項は、
モジユロ255の加算又は減算の行なわれる8桁の
2進数列である。この手続きは4回の表索引動
作、4回のモジユロ255減算、及び1回のモジユ
ロ255加算を必要とする。この手続きにおいて、
無効な値のd(表B中に項目が存在しないもの)
又は無効なエラー位置y又はz(m+1よりも大
きい)は、3以上のエラーを含む訂正不可能なエ
ラーを示す。 エラー・パターンEyは式(15)に従つて対数表及
び逆対数表を用いて計算できる。そこで行列乗算
T2yS0は2つの元の積α2yS0によつて与えられる
対応する元によつて置き換えられている。 エラー・パターンEzは式(15)を用いて又はその
代りに式(7)から得られる次式を用いて、同様に計
算できる。 Ez=S0Ey (21) 次にサブブロツクのエラー訂正はエラー・パタ
ーンEy及びEzを用いてバイトBy及びBzを訂正す
ることによつて行なわれる。 実施例は、符号語中の1バイト・エラーが第1
レベルで訂正可能であり、符号語中の2バイト・
エラーがブロツク・レベルで訂正可能であるよう
な2レベル符号構造を仮定しているが、その方法
及び装置は、任意の単一又は多重レベル符号構造
中の2バイト・エラーの訂正に使用できる。 また、ここで開示した方法及び装置は、各バイ
トが所定数のビツトを含む、所定のバイト数のレ
コード中の2バイト・エラーに関するシンドロー
ムをデコードするようにも動作する。 また、この方法及び装置は、磁気デイスク記憶
装置中の符号化された未訂正データ中のエラーを
訂正するが、これらはテープ又は光学的記憶装置
にも同様に適用可能である。 最後に、ここで述べたソフトウエアによる実施
の代りに、第1レベルの(単一)エラーのデコー
ドは、米国特許第4525838号に開示されているよ
うにハードウエアにより行なうことができる。 2記号エラーのデコードの理論 本節は2記号エラーのためのデコード・アルゴ
リズムの背景を与える。これは、上記の「従来技
術」の節で引用したChienの論文に記載されてい
る、一般化されたBCH符号をデコードする時の
Chienサーチと呼ばれる周知の従来技術から導き
出される。 サブブロツクの1つに正確に2つのエラー・バ
イトが存在すると仮定する、下記の証明は、エラ
ー位置の値y及びzが次式のiの2個のユニーク
な解であることを確立する。 T-2iPT-iQ=R (A−1) 但し、P、Q及びRは式(11)〜(13)によつて与
えられるように、シンドロームS0、S1、S2及びS3
の関数である。i=y又はi=zに関するエラ
ー・パターンEiは各々次式を満足する。 R=(T2iS0S2)Ei (A−2) 証明:シンドロームは式(7)〜(10)で2つのエラー
の関数として表現される。それらの式を再び書く
と、 S0=EyEz (A−3) S1=TyEyTzEz (A−4) S2=T2yEyT2zEz (A−5) S3=T3yEyT3zEz (A−6) 式(A−3)〜(A−6)から適当な式を組み
合わせると、 TyS0S1=(TyTz)Ez (A−7) TyS1S2=Tz(TyTz)Ez (A−8) TyS2S2=T2z(TyTz)Ez (A−9) 行列の方程式(A−7)、(A−8)及び(A−
9)は、行列により表現されるGF(28)の元の間
の関係である。特にTiBの型の行列乗算は元αiと
βとの積を表わす。但しαiは行列Tiの最初の列に
より表現され、βはベクトルBにより表わされ
る。この解釈を考慮すると、式(A−7)、(A−
8)及び(A−9)から下記の関係が生じる。 (TyS0S1)(TyS2S3)=(TyS1S2)2
(A−10) 但しxはGF(28)中の対応する元の積を示す。 式(A−10)は次の行列方程式の形に再構成で
きる。 T2yRTyQP=0 (A−11) ここで、P1Q及びRは次式で与えられる列ベク
トルである。 P=(S2S2)(S3S1) (A−12) Q=(S2S1)(S3S0) (A−13) R=(S0S2)(S1S1) (A−14) 従つてyは次式のiに関する解の1つである。 T-2iPT-iQ=R (A−15) 上記プロセスで変数y及びzを交換することに
より、zが式(A−15)のiに関する第2の解で
あることが示される。 各エラー・パターンに関する式(A−2)は、
R1S0、S1及びS2に関して値を直接代入すること
により確認できる。式(A−2)の両側は次式に
変形される。 (T2yT2z)(EyEz) (A−16) これで証明を終る。 2エラー位置に関する表索引解法 以上、サブブロツク中の2個のエラーに関する
エラー位置y及びzが、式(A−1)をiに関し
て解くことにより決定できることが示された。そ
の式をこことに再録すると、 T-2iPT-iQ=R (B−1) 定数P、Q及びRは、各々式(A−12)〜(A
−14)により与えられる。シンドロームS0、S1、
S2及びS3の関数である。表A1及びA2の対数表及
び逆対数表からP、Q及びRの対数を得ることが
できる。 p=log〓P (B−2) q=log〓Q (B−3) r=log〓R (B−4) 行列方程式(B−1)はGF(28)中の元の間の関
係として次のように書きかえられる。 α-2iαpα-iαq=αr (B−5) 式(B−5)の両側にαp-2qを掛けると、次式
を得る。 α(-2i+2p+2q)α(-i+p-q)=α(r+p-2q) (B−6) 式(B−6)中の(−i+p−q)をtで置き
換えると、 α2tαt=α(r+p-2q) (B−7) 及び i=u−t (B−8) 但しu=p−q 式(B−7)の右辺は既知の元αdである。ここ
で指数dは、 d=u+v (B−9) 但しu=p−q、及びv=r−q次に式(B−
7)に関して表索引解が与えられる。これは次の
ように書き換えることができる。 αt(αtαo)=αd (B−10) この表現を用いると、tの各々値(0から254ま
で)はdの値に関係付けられる。dのある値はこ
の関係に存在しない事、及びdの各々の有効な値
はtの2の値に対応することに注意されたい。与
えられる値のdに関して、もしt=t1が式(B−
10)の解の1つであれば、t=t2も解であること
が明らかである。但し、 αt2=αt1α0 (B−11) 式(B−10)にt=t1を代入し、式(B−11)
を使うと、 αt1・αt2=αd (B−12) 従つて d=t1+t2 (B−13) 式(B−8)、(B−9)及び(B−13)から、
下記の2つのエラー位置の値i1及びi2が得られ
る。 i1=u−t1 (B−14) i2=u−t2=t1−v (B−15) 表Bは、dの各々の有効な値をtの2つの値の
1つに関係付けている。dの値は、8×256ビツ
トのメモリのアドレスとして容易に参照できるよ
うに、昇順にリストされている。tの対応する値
は、メモリ中に8ビツトの2進数として記憶され
ている。dの無効な値に対応するアドレスには全
部ゼロのベクトル(表中では無効な値はダツシユ
で表現されている)が記憶され、そのようなもの
として解釈される。 2エラーの場合、dの計算値が、表Bからtに
関する2つの値の1つを取り出す。このtの1つ
の値を用いて、式(B−14)及び(B−15)が、
エラー位置y及びzとしてiの2つの値を与え
る。dの無効な値はt=0を表Bから取り出す。
これは符号語の3以上のバイトに関係する訂正不
可能なエラーと解釈される。
データ中のエラーを訂正するための方法及び装置
に関し、特に上記データ中の少なくとも2個のエ
ラーを示すエラーのシンドロームをデコードする
ためにルツクアツプ・テーブルが関与する独得の
実現手段を用いた方法及び装置に関する。 B 従来技術 下記の参考文献は、記憶装置中のエラーを訂正
するための基本的理論及び種々の方法及び構成を
開示している。W.W.Peterson、“Error−
Correcting Codes”、MIT Press、1961;R.C.
Bose and、D.K.Ray−Chaudhuri、“On a
class off error−correcting binary group
codes”、Inf.Control 3、88−6 8−69、
1960;I.S.Reed and G.Solomon、“Polynom ial
codes over certain finite fields”、J.Soc.
Indust.Appl.Math.8、pp.300−304、1960;及び
R.T.Chien、“Cyclic decoding procedures for
Bose−Chaudhuri−Hocquenghem codes”
IEEE Trans.Inf.Theory、Vol.IT−10、pp.357
−363、1964。 特願昭61−168226号には、改良されたマルチバ
イト・エラー訂正サブシステムにおける2レベ
ル・エラー訂正符号構造が開示されている。デー
タはデイスクのトラツク上で多数のサブブロツク
の形にフオーマツトされる。サブブロツクの各々
は各ブロツク内にある。また3個のサブブロツク
検査バイトC1、C2およびC3の2つの組が存在す
る。1組は偶フエーズに、そして他の組は奇フエ
ーズに関連し、従つてインタリーブ式の符号語を
与えている。この構成を用いると、(サブブロツ
クのエラーの)第1のレベルの訂正は、1サブブ
ロツク分遅延された後に記憶装置で即座に行なわ
れ、データは第2レベル(ブロツク)のエラーの
訂正のために記憶装置デイレクタに送られる。こ
の即座の訂正は、非同期環境で動作しているシス
テムに関してしか適さない。第2(ブロツク)レ
ベルの訂正は、ブロツクの終りに各フエーズ毎に
1つの付加的な検査バイトC0を用いて行なわれ
る。 前述の関連出願は、リアルタイムに未訂正デー
タを受け取り、3個の第1レベルのシンドロー
ム・バイト及び1個の第2レベルのシンドロー
ム・バイト(各フエーズに対応して)を生成す
る、デイスク記憶装置中のハードウエアを開示し
ている。第1レベルのシンドロームは装置におい
て、記憶装置デイレクタに転送されるエラー位置
情報及びエラー・パターンにデコードされる。 この関連出願は、サブブロツク中にエラーがな
ければシステムはどのように機能するか、及びサ
ブブロツク当り1つ以下のエラーがあればどのよ
うにしてエラーが訂正されるか、及びサブブロツ
ク当り2つ以上のエラーあればどのようして訂正
されるかを説明している。より具体的には、特定
のサブブロツク符号語に関連する各フエーズに対
応するシンドロームS1,S2,S3がローカル・メモ
リに保持される。その特定のサブブロツクのシン
ドロームが全てゼロではなく第1レベルのデコー
ダによつて非ゼロのエラー・パターンが生成され
なかつたならば、それらのシンドロームはブロツ
ク・レベルでさらに処理するために保持される。
またローカル・メモリは未訂正のサブブロツクの
識別を、サブブロツク識別子「f」として保持す
る。ブロツクの終りに、第2レベル・シンドロー
ム発生器からの第2レベル・シンドロームS0及び
ローカル・メモリからのサブブロツクfに関する
第1レベル・シンドロームS1,S2,S3が、サブブ
ロツクf中の2個のエラーを訂正するために第2
レベル・デコーダによつて処理される。 C 発明が解決しようとする問題点 所定のバイト数(各バイトは所望の事前に選択
された数のビツトを含む)のレコード中の2バイ
ト・エラー、例えば上記関連出願中で説明されて
いるものに類似した2レベル符号形式の1つのサ
ブブロツク中の2バイト・エラーに関するシンド
ロームをデコードするフアームウエア又はソフト
ウエアとして実現される独得のルツクアツプ・テ
ーブルを用いたり、より安価で且つ効率的な方法
及び装置が必要である。 D 課題を解決するための手段 本発明上によれば、所定長のレコード(多レベ
ルのエラー訂正符号形式の場合にはブロツクの事
前に識別されたサブブロツク)中の符号化された
未訂正のデータ中の2バイトまでのエラーを訂正
するための方法及び装置が与えられる。データは
記憶装置から読取られ、上述の関連出願に開示し
た手段により生成される4つのエラーのシンドロ
ーム(S1,S2,S3,S4)をデコードし処理するこ
とにより訂正される。これらのシンドロームは、
4つのシンドロームに対し次式の関係にあるベク
トル(P.Q,R)を計算することにより、任意の
1レコード中の未訂正エラーに応答してデコード
される。 P=(S2S2)(S3S1) Q=(S2S1)(S3S0) R=(S0S2)(S1S1) 次にそれらのベクトルから表索引により2進数
u及びVが計算され、上記2進数の和からエラー
位置の決定に向けてdの値を計算することが可能
になる。次にdの値に対して特別の数学的関係を
有する値tが表索引により決定され、エラー位置
の値y及びzが値tから2進数値u及びVのオフ
セツトから計算される。最後に、エラー・パター
ンEy及びEzが表索引により決定される。 より具体的には、デイレク記憶装置中の符号化
された未訂正データ中のエラーが、多数のサブブ
ロツクを含むブロツクの形に形式化された多レベ
ル・エラー訂正符号を用いて訂正される。読取り
動作中に、各ブロツク毎に第1レベルのエラーの
シンドローム(S1,S2,S3)及びブロツクの全サ
ブブロツクに共通の付加的な第2レベルのシンド
ローム(S0)が記憶装置中のハードウエアにより
生成される。第1レベルのシンドロームは、表索
引によりデコードされ、第1レベルのエラー・パ
ターン及び位置情報を与える。第2レベルのシン
ドロームは、第1及び第2レベルのシンドローム
の関数であるベクトルを計算することによりデコ
ードされる。第2レベルのエラー位置及びエラ
ー・パターンは、表索引を用いてソフトウエア又
はフアームウエアにより決定される。必要であれ
ば、延期モードでエラー情報を送ることにより後
にエラーの訂正が行なわれる。 E 実施例 第2図は本発明で用いられる2レベル符号構造
を実施したデイスク・トラツクのデータ形式を示
している。データはトラツク11に沿つて記録さ
れ、固定長又は可変長の複数のブロツク12の形
にフオーマツトされている。各ブロツク12は固
定長のサブブロツク14に分割される。図に示す
ように、各サブブロツク14は2つのインタリー
ブされた符号語18,19から成る。各符号語1
8,19は48個のデータ・バイト位置及び3個の
サブブロツク検査バイトC1,C2,C3より成る。
従つて、各ブロツク12はサブブロツクより成
り、その各々は96個(48個が2組)のデータ・バ
イト位置及び3組のサブブロツク検査バイトC1,
C2,C3を有する。さらに、各ブロツク12の終
りのブロツク検査バイト領域15には、ECC訂
正の後のデータ整合性検査のための4個の検査バ
イトCR1〜CR4及び第2レベルのエラー訂正のた
めの1対の検査バイトC0を付加される。各サブ
ブロツク14中のエラー訂正検査バイトC1〜C3
並びに各ブロツク12の終りの検査バイトCR1〜
CR4及びC0が決定され生成される方式は、本発明
の一部を成すものではない。詳細な説明に関して
は、前述の関連出願を参照されたい。本発明につ
いての下記の説明中では、2つのフエーズ(偶又
は奇)の一方に関して全てのプロセス・ステツプ
を説明するが、同じステツプ及びプロセスが他の
フエーズにも反復されることを理解されたい。 第1図を参照すると、第2図に示すようにフオ
ーマツトされたトラツクに書込みを行なうため
に、データ処理システム(図示せず)からデータ
が、制御ユニツト又は記憶装置デイレクタ20を
経て、デイスク記憶装置100の記憶デイスク2
1に送られる。このデータの書込み及び転送にお
いて、3組の検査バイトC1,C2及びC3がECC符
号器22によつて各サブブロツク毎に生成され
る。ブロツク検査バイトC0(及びデータ整合性検
査バイトCR1〜CR4)も符号器22によつて生成
される。サブブロツク・フオーマツタ22Aは
各々の対応するサブブロツクに検査バイトC1,
C2及びC3を付加する。ブロツク・フオーマツタ
22Bはブロツクの終りにブロツク検査バイト
C0(及びデータ整合性検査バイトCR1〜CR4)を
付加する。次にフオーマツトされたデータはデイ
スク21に記録される。データ整合性検査バイト
CR1〜CR4の計算及び処理は本発明とは無関係で
あり、米国特許第4703485号明細書に説明されて
いる。 読取りプロセスにおいて、通常の方式でエラー
シンドロームを生成するために、読取データは前
述の関連出願の符号化方程式(1)、(2)、(4)及び(5)に
よつて検査される。サブブロツク検査バイトC1,
C2及びC3にはシンドロームS1,S2およびS3関連
し、またブロツク・レベル検査バイトC0にはシ
ンドローム・バイトS0が関連する。 シンドローム例えばS0,S1等に割り当てられた
添字は、各検査文字を生成するのに使用された特
定のT行列に関連している。特にC0から生成さ
れるS0は通常のパリテイ検査バイトに対応する。
一方、S3はC3から生成され、これは入力バイト
に行列T3を掛けることに関係した論理に従つて
生成される。検査バイトC1及びC2に対応するシ
ンドロームS1及びS2はそれぞれ、行列T1及びT2
に関係した論理を用いて同様に生成される。シン
ドローム生成に関するそのような論理は周知であ
り、本発明の一部を成すものではない。 読取プロセスの間、未訂正データがデイスク2
1から第1レベルのシンドローム生成器23及び
第2レベルのシンドローム生成器25に読取られ
る。これらは各サブブロツクに関して第1レベル
のシンドローム・バイトS1,S2,S3を生成し、ブ
ロツクの全サブブロツクに共通の第2レベル・シ
ンドロームS0を生成する。シンドローム・バイト
S1,S2,S3は、エラー・パターン・データにデコ
ードするために、記憶装置デイレクタ20の第1
のレベル・デコーダ24に転送される。デコーダ
24のための、ソフトウエアにより実現されたデ
コーダ・プロセスは「第1レベル・デコード・プ
ロセス」と題する独立の章で説明する。 単純に言えば、S1,S2又はS3に関する非ゼロの
値はエラーを示す。もしサブブロツクが1バイト
だけのエラーを有するならば、その位置χ及びエ
ラー・パターンEx(デコーダ24により決定され
る)が、サブブロツク・バツフア27から取り出
された適当なバイトを訂正するためにソフトウエ
ア26に供給される。訂正後、このバイトはバツ
フア27に再記憶される。エラー・パターンEx
は、1つのエラーの第1レベルの訂正を行なつた
サブブロツクの各々に関してローカル・メモリ2
8に記憶される。第2レベルのシンドロームS0
は、訂正されたサブブロツクの全部に対応するエ
ラー・パターン情報Exを含むように、ソフトウ
エア29により修正される。デコーダ24がS1,
S2又はS3に関して非ゼロの値を受け取り且つサブ
ブロツクを訂正できない時、それはサブブロツク
識別子fをローカル・メモリ28に供給すること
によつてサブブロツク中に2以上のエラーが存在
することを示す。サブブロツクfに関する未処理
のシンドロームS1,S2及びS3も、第2レベル・デ
コーダにより後に処理するためにローカル・メモ
リに伝達される。第2レベル・デコード・ソフト
ウエア30は、ローカル・メモリ28からのシン
ドロームS1,S2,S3とシンドロームS0とを組み合
せて、表索引によりそれらの組み合せ入力を、
(エラーの位置を示す)出力y及びz並びに(エ
ラー・パターンを示す)Ey及びEzに変換する。
これらの出力y、z、EyEzは、エラーを起こし
たサブブロツクの識別子fと組み合されて、エラ
ーを生じたバイトBy及びBzを訂正させる。第2
レベル・エラー訂正ソフトウエア31は、バツフ
ア27からサブブロツクを取り出し、エラー位置
情報y、z並びにエラー・パターンEy及びEzを
用いてサブブロツクfのバイトBy及びBzを訂正
することにより、訂正されたデータを供給する。 以下、発明の概念をより具体的に説明する。基
本的な2レベルECC方式は、前述の関連出願に
説明されているように、1ブロツク中にn個のサ
ブブロツク、各サブブロツク中にNバイトを有し
ている。第1レベルのデコードの能力は、サブブ
ロツクの各々の中の1バイトまでのエラーの訂正
を提供する。第2レベルのデコードを含む能力
は、1つのサブブロツク中の2バイトまでのエラ
ーの訂正及びブロツク中の他の全てのサブブロツ
ク中の1バイトのエラーの訂正を提供する。 基本的なエラー事象は「エラーの生じたバイ
ト」である。バースト・エラーは隣接バイトに相
関を有するエラーを生じる可能性があるが、それ
らのエラーを効果的にランダム化するように充分
なインタリーブが行なわれるものと仮定されてい
る。適当なインタリーブを用いると、エラー訂正
符号(ECC)方式で想定されているように全て
のバイトが等しい確率でエラーを生じると考えら
れる。各バイトは、事前に選択された数のビツト
mを含む。エラー訂正符号に関する対応する演算
は、2mの要素を有する有限体GF(2m)で行なわれ
る。mは8であり、有限体GF(28)は256個の要
素を有する。 数学的基礎−体の要素の対数 G(χ)は、係数が2進数の、次数8の原始多
項式を表わす。 G(χ)=g0g1χg2χ2…g7χ7χ8 多項式G(χ)のコンパニオン行列は、下記の正
則行列として定義される。 T=0 0 0 0 0 0 g0 1 0 0 0 0 0 0 g1 0 1 0 0 0 0 0 g2 0 0 1 0 0 0 0 0 g3 0 0 0 1 0 0 0 g4 0 0 0 0 1 0 0 g5 0 0 0 0 0 1 0 g6 0 0 0 0 0 0 1 g7 行列Tiは、Tに自分自身をi回掛けたものを表
わし、全ての数はモジユロ2で還元されている。
行列T、T2、T3,…T255は全て異なる。T255は
恒等行列であり、T0とも書くことができる。こ
れら255個の行列はGF(28)の(28−1)個の非
ゼロ要素を表わしている。αを、GF(28)の原始
要素を示すものとする。この時Tiは、全てのiに
関して、非ゼロ要素αiを表わす。ゼロ要素は8×
8のゼロ行列により表わされる。従つて、GF
(28)における和及び積の演算は、体の要素のこ
れらの行列表現を用いた、モジユロ2の行列の和
及び行列の積によつて定義される。 GF(28)の要素は8桁の2進数ベクトルによつ
て表わすこともできる。上記表現の正方行列は非
常に冗長である。事実、各行列は(特定の位置
の)1つの列だけで一意的に識別することができ
る。これは、あいまいさなしに、対応する体の要
素を表現するために非常に良好に使用することが
できる。特に、上記集合の各8×8行列の第1列
は、対応する体の要素の一般的に使用されている
8桁ベクトル表現である。これは、体の要素αiを
表現するTi行列の集合と全ての非ゼロ8桁ベクト
ルの集合との間に1対1対応を確立する。従つ
て、各非ゼロ8桁ベクトルSは特有の整数i(0
≦i≦254)に対応し、これは底αに対するその
対数と考えることができる。 表A1は全部の体の要素をαのべき乗に写像す
る対数表である。表A2はαの整数べきを対応す
る体要素に写像する逆対数表である。それらの表
は、基底要素αに関する表現として下記のコンパ
ニオン行列Tを用いて、生成された。 T=0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 それらの表の助けをかければ、(8桁ベクトル
A1及びA2によつて表現される2つの要素の)積
A1A2が次のようにして計算される。 A1=αi1 対数表使用:log〓A1=i1 A2=αi2 対数表使用:log〓A2=i2 A1×A2=αi1+i2 加算(モジユロ255):i=i1+
i2 αi=A 逆対数表使用:log-1〓i=A 各表は8×256ビツトのメモリを必要とする。
そこで8ビツトのベクトルとして表現されるメモ
リ位置又はワ−ド番号が入力ベクトルである。メ
モリ位置に記憶された8ビツト・ベクトルは、そ
れぞれ2つの表の入力ベクトルに対応する対数及
び逆対数を表わす。A=0(全ゼロのベクトル)
はlog及びantilog表を用いて処理できないことに
注意されたい。従つて、それは次のように特別な
場合として取り扱われるべきである。即ち、ゼロ
による乗算は常にゼロを生じ、ゼロによる除算は
許されるべきでない。 第1レベルのデコード・プロセス:単一エラー訂
正 ここで述べるように、第1レベルのエラーのデ
コードは、表索引動作を含むソフトウエア方法を
用いて実行できる。 S1、S2又はS3に関する非ゼロの値はエラーの存
在を示す。サブブロツクは1バイト(バイトχ)
しかエラーを含まないと仮定すると、読取られた
バイトB〓は、書込まれたバイトB〓に対して下記
の関係にある。 B^x=BxEx (1) 但しE〓はバイトχのエラー・パターンである。 サブブロツクが1バイトしか(バイトx)エラ
ーを有さない時、シンドロームはExに対して下
記のように関係付けられる。 S1=TxEx (2) S2=T2×Ex (3) S3=T3×Ex (4) この方法において、式(2)、(3)及び(4)はGF(28)
中の体要素の間の関係と見なされる。特に、TB
型の行列乗算は体の要素αとβとの積を表わす。
但しαiは行列Tiの最初の列により表現され、βは
列ベクトルBによつて表現される。 GF(28)における積の演算について、底の(但
しαは体の原始要素)に対する対数及び逆対数表
(表A1及びA2)を参照して、説明した。これら
の表の助けをかりると、式(2)、(3)及び(4)から次の
ようにしてエラー位置の値χが計算できる。 χ=(log〓S2−log〓S1)modulo255 (5) χ=(log〓S3−log〓S2)modulo255 またエラー・パターンE〓は式(2)及び(5)から次
のように計算できる。 Eχ=log-1〓(log〓S1−χ)modulo255 (6) 式(5)及び(6)の全ての項は8桁の2進数列であ
る。モジユロ255の計算において、8桁の2進数
の減算はその補数の加算化と等価である。これに
関して、8桁の全部1の系列(値255)が数字ゼ
ロを表わし、上位ギヤリー(値256)が数字1に
等しい終端巡回キヤリー(end−aroundcarry)
付き8桁2進加算器を使用すると便利である。 χの各計算は、対数表(表A1)への2回の参
照及び1回のモジユロ255減算を必要とする。同
様に、E〓の計算は、逆対数表(表A2)への1回
の参照を必要とする。次にバイトB^χはB^χ+Eχ
のように訂正される。 もしS1=S2=0且つS3≠0であれば、エラーは
検査バイトC2に存在する。式(5)で、χは2通り
に計算される。その結果は同一でなければなら
ず、さもなければ2以上のエラー・バイトが存在
する。また、S1≠S2且つS1又はS2がゼロであれ
ば、2以上のエラー・バイトが存在する。その場
合、サブブロツクはエラーを有するが第1レベル
の処理では訂正されないままである。そのような
サブブロツクはサブブロツク番号fにより識別さ
れ、対応するシンドロームS1、S2、S3がローカ
ル・メモリに記憶され、後の第2レベルの処理の
ために渡される。 第2レベルのデコード・プロセス:2エラー訂正 1つのサブブロツクだけが、y及びzで示され
それぞれエラー・パターンEy及びEzを有する2
つのエラー・バイトを含むものと仮定する。シン
ドロームS0,S1,S2、及びS3は下記のようにEy
及びEzと関係付けられる。 S0=EyEz (7) S1=TyEyTzEz (8) S2=T2yEyT2zEz (9) S3=T3yEyT3zEz (10) 対応するサブブロツクに関する第1レベルの処
理は、複数エラーとしてこれらのエラーを検出し
たであろう。サブブロツク・レベルで利用可能な
S1,S2及びS3を用いて、サブブロツク・レベルの
シンドロームの処理は、これらのエラーを位置χ
の1記号エラーEχとして誤訂正はしない。 2記号エラーに関するブロツク・レベルのシン
ドローム及びサブブロツクの組み合せられた集合
をデコードする事を説明する。詳しい解説につい
ては、後述の「2記号エラーのデコードの理論」
の節を参照されたい。最初に、ベクトルP、Q及
びRが得られる。それらは下記のようなシンドロ
ームS0、S1、S2及びS3の関数である。 P=(S2S2)(S3S1) (11) Q=(S2S1)(S3S0) (12) R=(S0S2)(S1S1) (13) 但しはGF(28)中の元の積演算を示し、元は
2進8桁のベクトルで表現されている。積演算
は、ハードワイヤ式論理を用いて、又はGF(28)
の対数表及び逆対数表を用いて実現できる。 エラーを生じた2個のバイトが存在し両者がサ
ブブロツクのデータ・バイト中にある時、P、Q
及びRは必然的に非ゼロであることに注意された
い。これと対照的に、2個のエラー・バイトのな
かに検査バイトC1又はC2がある時、これは各々
P=0及びR=0により示される。 サブブロツクの1つの中に正確に2個のエラ
ー・バイトが存在すると仮定する。この時、エラ
ー位置の値y及びzは、下記の方程式のiの2つ
の一意的な解である。 T-2iPT-iQ=R (14) 但しP、Q及びRはシンドロームS0、S1、S2、
及びS3の関数であり、式(11)〜(13)により与えら
れる。 iの2個の解の値の各々に関して、エラー・パ
ターンは次式で与えられる。 Ei=R/(T2iS0S2) (15) この証明は、後の「2記号エラーのデコードの
理論」に与えられている。 本発明の重要な特徴によれば、2記号エラーに
関するブロツク・レベルのシンドローム及びサブ
ブロツクの組み合せのデコードは、表索引動作を
含むソフトウエア方法を用いて行なうことができ
る。ベクトルP、Q及びRは、それぞれ表A1及
びA2の対数表及び逆対数表を用いて、シンドロ
ームS0、S1、S2、及びS3から計算される。これ
は、高々、メモリ中のテーブルへの18回の参照、
6回の2進数加算(モジユロ255)演算、及び3
回のベクトル加算(モジユロ2)演算を必要とす
る。 エラー位置の値y及びzは、単純な表索引手続
きにより得られる。テーブル及びその手続きの背
景の理論は、後の「2エラー位置に関する表索引
解法」の節及び表Bに示されている。この方法で
は、下記の4ステツプの手続きによりエラー位置
の値y及びzが得られる。 ステツプ1: 表A1及びA2の対数表及び逆対数表を用いて、
ベクトルP、Q及びRから2個の2進数u及びv
を得る。 u=(log〓P−log〓Q)modulo255 (16) v=(log〓R−log〓Q)modulo255 (17) ステツプ2: 2エラーの位置の決定に向かうステツプとし
て、上記2個の2進数の和から値dを計算する。 d=(u+v) modulo255 (18) ステツプ3: 表Bのテーブルから、値dに対して特別な数学
的関係を有する値tを得る。 ステツプ4: 下記のように、値tから上記2進数のオフセツ
トを計算することによつてエラー位置の値y及び
zを得る。 y=(u−t)modulo255 (19) z=(t−v)modulo255 (20) 上記手続きの式(16)〜(20)の中の全ての項は、
モジユロ255の加算又は減算の行なわれる8桁の
2進数列である。この手続きは4回の表索引動
作、4回のモジユロ255減算、及び1回のモジユ
ロ255加算を必要とする。この手続きにおいて、
無効な値のd(表B中に項目が存在しないもの)
又は無効なエラー位置y又はz(m+1よりも大
きい)は、3以上のエラーを含む訂正不可能なエ
ラーを示す。 エラー・パターンEyは式(15)に従つて対数表及
び逆対数表を用いて計算できる。そこで行列乗算
T2yS0は2つの元の積α2yS0によつて与えられる
対応する元によつて置き換えられている。 エラー・パターンEzは式(15)を用いて又はその
代りに式(7)から得られる次式を用いて、同様に計
算できる。 Ez=S0Ey (21) 次にサブブロツクのエラー訂正はエラー・パタ
ーンEy及びEzを用いてバイトBy及びBzを訂正す
ることによつて行なわれる。 実施例は、符号語中の1バイト・エラーが第1
レベルで訂正可能であり、符号語中の2バイト・
エラーがブロツク・レベルで訂正可能であるよう
な2レベル符号構造を仮定しているが、その方法
及び装置は、任意の単一又は多重レベル符号構造
中の2バイト・エラーの訂正に使用できる。 また、ここで開示した方法及び装置は、各バイ
トが所定数のビツトを含む、所定のバイト数のレ
コード中の2バイト・エラーに関するシンドロー
ムをデコードするようにも動作する。 また、この方法及び装置は、磁気デイスク記憶
装置中の符号化された未訂正データ中のエラーを
訂正するが、これらはテープ又は光学的記憶装置
にも同様に適用可能である。 最後に、ここで述べたソフトウエアによる実施
の代りに、第1レベルの(単一)エラーのデコー
ドは、米国特許第4525838号に開示されているよ
うにハードウエアにより行なうことができる。 2記号エラーのデコードの理論 本節は2記号エラーのためのデコード・アルゴ
リズムの背景を与える。これは、上記の「従来技
術」の節で引用したChienの論文に記載されてい
る、一般化されたBCH符号をデコードする時の
Chienサーチと呼ばれる周知の従来技術から導き
出される。 サブブロツクの1つに正確に2つのエラー・バ
イトが存在すると仮定する、下記の証明は、エラ
ー位置の値y及びzが次式のiの2個のユニーク
な解であることを確立する。 T-2iPT-iQ=R (A−1) 但し、P、Q及びRは式(11)〜(13)によつて与
えられるように、シンドロームS0、S1、S2及びS3
の関数である。i=y又はi=zに関するエラ
ー・パターンEiは各々次式を満足する。 R=(T2iS0S2)Ei (A−2) 証明:シンドロームは式(7)〜(10)で2つのエラー
の関数として表現される。それらの式を再び書く
と、 S0=EyEz (A−3) S1=TyEyTzEz (A−4) S2=T2yEyT2zEz (A−5) S3=T3yEyT3zEz (A−6) 式(A−3)〜(A−6)から適当な式を組み
合わせると、 TyS0S1=(TyTz)Ez (A−7) TyS1S2=Tz(TyTz)Ez (A−8) TyS2S2=T2z(TyTz)Ez (A−9) 行列の方程式(A−7)、(A−8)及び(A−
9)は、行列により表現されるGF(28)の元の間
の関係である。特にTiBの型の行列乗算は元αiと
βとの積を表わす。但しαiは行列Tiの最初の列に
より表現され、βはベクトルBにより表わされ
る。この解釈を考慮すると、式(A−7)、(A−
8)及び(A−9)から下記の関係が生じる。 (TyS0S1)(TyS2S3)=(TyS1S2)2
(A−10) 但しxはGF(28)中の対応する元の積を示す。 式(A−10)は次の行列方程式の形に再構成で
きる。 T2yRTyQP=0 (A−11) ここで、P1Q及びRは次式で与えられる列ベク
トルである。 P=(S2S2)(S3S1) (A−12) Q=(S2S1)(S3S0) (A−13) R=(S0S2)(S1S1) (A−14) 従つてyは次式のiに関する解の1つである。 T-2iPT-iQ=R (A−15) 上記プロセスで変数y及びzを交換することに
より、zが式(A−15)のiに関する第2の解で
あることが示される。 各エラー・パターンに関する式(A−2)は、
R1S0、S1及びS2に関して値を直接代入すること
により確認できる。式(A−2)の両側は次式に
変形される。 (T2yT2z)(EyEz) (A−16) これで証明を終る。 2エラー位置に関する表索引解法 以上、サブブロツク中の2個のエラーに関する
エラー位置y及びzが、式(A−1)をiに関し
て解くことにより決定できることが示された。そ
の式をこことに再録すると、 T-2iPT-iQ=R (B−1) 定数P、Q及びRは、各々式(A−12)〜(A
−14)により与えられる。シンドロームS0、S1、
S2及びS3の関数である。表A1及びA2の対数表及
び逆対数表からP、Q及びRの対数を得ることが
できる。 p=log〓P (B−2) q=log〓Q (B−3) r=log〓R (B−4) 行列方程式(B−1)はGF(28)中の元の間の関
係として次のように書きかえられる。 α-2iαpα-iαq=αr (B−5) 式(B−5)の両側にαp-2qを掛けると、次式
を得る。 α(-2i+2p+2q)α(-i+p-q)=α(r+p-2q) (B−6) 式(B−6)中の(−i+p−q)をtで置き
換えると、 α2tαt=α(r+p-2q) (B−7) 及び i=u−t (B−8) 但しu=p−q 式(B−7)の右辺は既知の元αdである。ここ
で指数dは、 d=u+v (B−9) 但しu=p−q、及びv=r−q次に式(B−
7)に関して表索引解が与えられる。これは次の
ように書き換えることができる。 αt(αtαo)=αd (B−10) この表現を用いると、tの各々値(0から254ま
で)はdの値に関係付けられる。dのある値はこ
の関係に存在しない事、及びdの各々の有効な値
はtの2の値に対応することに注意されたい。与
えられる値のdに関して、もしt=t1が式(B−
10)の解の1つであれば、t=t2も解であること
が明らかである。但し、 αt2=αt1α0 (B−11) 式(B−10)にt=t1を代入し、式(B−11)
を使うと、 αt1・αt2=αd (B−12) 従つて d=t1+t2 (B−13) 式(B−8)、(B−9)及び(B−13)から、
下記の2つのエラー位置の値i1及びi2が得られ
る。 i1=u−t1 (B−14) i2=u−t2=t1−v (B−15) 表Bは、dの各々の有効な値をtの2つの値の
1つに関係付けている。dの値は、8×256ビツ
トのメモリのアドレスとして容易に参照できるよ
うに、昇順にリストされている。tの対応する値
は、メモリ中に8ビツトの2進数として記憶され
ている。dの無効な値に対応するアドレスには全
部ゼロのベクトル(表中では無効な値はダツシユ
で表現されている)が記憶され、そのようなもの
として解釈される。 2エラーの場合、dの計算値が、表Bからtに
関する2つの値の1つを取り出す。このtの1つ
の値を用いて、式(B−14)及び(B−15)が、
エラー位置y及びzとしてiの2つの値を与え
る。dの無効な値はt=0を表Bから取り出す。
これは符号語の3以上のバイトに関係する訂正不
可能なエラーと解釈される。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
第1図は本発明の1実施例に従つたECC装置
の第1及び第2レベルの訂正部分のブロツク図、
第2図は本発明の1実施例で使用される2レベル
符号構造のデイスク・トラツクのデータ形式を示
す図である。
の第1及び第2レベルの訂正部分のブロツク図、
第2図は本発明の1実施例で使用される2レベル
符号構造のデイスク・トラツクのデータ形式を示
す図である。
Claims (1)
- 【特許請求の範囲】 1 記憶装置から読出された所定長のレコード中
の符号化された未訂正のデータ中の2つのエラー
を、該エラーの4つのシンドローム(S1,S2,
S3,S0)をデコードし処理することによつて訂
正する方法であつて、上記シンドロームはbビツ
ト2進数からなるものにおいて、 ある1つのレコード中に2つのエラーが存在す
ることを表す指示を提供し、 上記指示に応答して、対数及び逆対数を含む表
の索引により、上記4つのシンドロームに対し次
式の関係にあるベクトル(P,Q,R)を求める
ことにより上記シンドロームをデコードし、 P=(S2S2)(S3S1) Q=(S2S1)(S3S0) R=(S0S2)(S1S1) (ただし、は、GF(2b)中の元の積演算を示
す)、 上記ベクトルに対し次式の関係にある2つの2
進数(u,v)を求め、 u=(logαP−logαQ)modulo(2b−1) v=(logαR−logαQ)modulo(2b−1) 上記2つの2進数(u,v)に対し次式の関係
にある1つの値dを計算し、 d=(u+v)modulo(2b−1) 上記値dに対して次式の関係にある中間の変数
値tを表の索引により求め、 αd=αt(αtαo) 上記2進数(u,v)と上記変数値tからのオ
フセツトに基づき次式の関係により上記エラーの
位置(y,z)を識別する値を計算し、 但し、 y=(u−t)modulo(2b−1) z=(t−v)modulo(2b−1) 上記y,zから表の索引によりエラー・パター
ンEy,Ezを決定し、 上記エラー・パターンEy,Ezを用いて上記エ
ラーを訂正する、 ことを特徴とするエラー訂正方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/119,011 US4849975A (en) | 1987-11-10 | 1987-11-10 | Error correction method and apparatus |
US119011 | 1987-11-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01155721A JPH01155721A (ja) | 1989-06-19 |
JPH0444447B2 true 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) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890287A (en) * | 1988-03-09 | 1989-12-26 | Magnetic Peripherals Inc. | On-the-fly error correction |
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 |
JP2000242440A (ja) * | 1999-02-25 | 2000-09-08 | Alps Electric Co Ltd | ディスク装置 |
US6662334B1 (en) * | 1999-02-25 | 2003-12-09 | Adaptec, Inc. | Method and device for performing error correction on ECC data sectors |
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 | 株式会社東芝 | 情報記録媒体、情報記録装置、情報記録方法 |
JP3975245B2 (ja) | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
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 | 索尼公司 | 存储控制装置 |
CN104756092A (zh) * | 2012-10-19 | 2015-07-01 | 富士通株式会社 | 记录再生装置、错误订正方法以及控制装置 |
US9455799B2 (en) | 2013-08-06 | 2016-09-27 | OptCTS, Inc. | Dynamic control of quality of service (QOS) using derived QOS measures |
US9444580B2 (en) | 2013-08-06 | 2016-09-13 | OptCTS, Inc. | Optimized data transfer utilizing optimized code table signaling |
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 |
JP2019518397A (ja) | 2016-06-06 | 2019-06-27 | アジャイルピーキュー, インコーポレイテッド | データ変換システムおよび方法 |
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 | エラ−訂正回路 |
Also Published As
Publication number | Publication date |
---|---|
DE3852474T2 (de) | 1995-07-20 |
US4849975A (en) | 1989-07-18 |
EP0316063B1 (en) | 1994-12-14 |
EP0316063A2 (en) | 1989-05-17 |
JPH01155721A (ja) | 1989-06-19 |
EP0316063A3 (en) | 1992-03-25 |
DE3852474D1 (de) | 1995-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0444447B2 (ja) | ||
CA1204874A (en) | Multibyte error correcting system involving a two- level code structure | |
US4099160A (en) | Error location apparatus and methods | |
US4142174A (en) | High speed decoding of Reed-Solomon codes | |
KR920000828B1 (ko) | 가로아체(Galois field)연산장치 | |
US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
EP0167627A1 (en) | Method and apparatus for decoding error correction code | |
US6725416B2 (en) | Forward error correction apparatus and methods | |
JPH03136524A (ja) | 長バースト誤りに対する誤り検出及び訂正システム | |
US5778009A (en) | Dedicated ALU architecture for 10-bit Reed-Solomon error correction module | |
JPH02211723A (ja) | セクタ内の訂正不可能な誤りの発生の信号を送るための装置および方法 | |
JPS6273336A (ja) | マルチバイト・エラ−訂正方法及びシステム | |
JP3989558B2 (ja) | GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム | |
Patel et al. | Optimal rectangular code for high density magnetic tapes | |
JPH0328093B2 (ja) | ||
JP2009295273A (ja) | 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法 | |
US5459740A (en) | Method and apparatus for implementing a triple error detection and double error correction code | |
US20070061688A1 (en) | Decoding error correction codes using a modular single recursion implementation | |
JPS6356022A (ja) | デイジタル記録再生装置 | |
US6651214B1 (en) | Bi-directional decodable Reed-Solomon codes | |
JP2553565B2 (ja) | ガロア体演算装置 | |
US6446233B1 (en) | Forward error correction apparatus and methods | |
JP3139499B2 (ja) | 誤り訂正処理装置 | |
JP2553571B2 (ja) | ガロア体演算装置 | |
KR910009094B1 (ko) | 갈로이계 연산장치 |