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
Application number
JP63282645A
Other languages
English (en)
Other versions
JPH01155721A (ja
Inventor
Moteibaa Pateru Aauin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01155721A publication Critical patent/JPH01155721A/ja
Publication of JPH0444447B2 publication Critical patent/JPH0444447B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic 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)=(TyS1S22
(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レベル
符号構造のデイスク・トラツクのデータ形式を示
す図である。

Claims (1)

  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を用いて上記エ
    ラーを訂正する、 ことを特徴とするエラー訂正方法。
JP63282645A 1987-11-10 1988-11-10 エラー訂正方法 Granted JPH01155721A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60128723A (ja) * 1983-12-16 1985-07-09 Sony Corp エラ−訂正回路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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) 갈로이계 연산장치