JPH01155721A - エラー訂正方法 - Google Patents

エラー訂正方法

Info

Publication number
JPH01155721A
JPH01155721A JP63282645A JP28264588A JPH01155721A JP H01155721 A JPH01155721 A JP H01155721A JP 63282645 A JP63282645 A JP 63282645A JP 28264588 A JP28264588 A JP 28264588A JP H01155721 A JPH01155721 A JP H01155721A
Authority
JP
Japan
Prior art keywords
error
level
bytes
byte
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63282645A
Other languages
English (en)
Other versions
JPH0444447B2 (ja
Inventor
Arvind M Patel
アーヴイン・モテイバー・パテル
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、記憶装置中の符号化された末訂正のデータ中
のエラーを訂正するための方法及び装置に関し、特に上
記データ中の少なくとも2個のエラーを示すエラーのシ
ンドロームをデコードするためにルックアップ・テーブ
ルが関与する独得の実現手段を用いた方法及び装置に関
する。
B、従来技術 下記の参考文献は、記憶装置中のエラーを訂正するため
の基本的理論及び種々の方法及び構成を開示している。
 V、11.Peterson、“Error−Cor
rectingCodes”、MIT Press、 
1961 ; R,C,[1ose and D、K。
Ray−Chaudhuri、 ”On a clas
s of error−correcting bin
ary group codas”、Inf、 Con
trol 3.88−68−69.1960 ; 1.
S、Raed and G、Solomon、 ”Po
lynom、ial codes over cert
ain finite fields”、 J、Soc
Indust、 Appl、 Math、 8.pp、
30G−304,1960;及びR,T、 Chien
、“CyClic decoding procedu
resfor Base−Chaudhuri−Hoe
quenghem codes”、IEEETrans
、Inf、 Theory、 Vol、 IT−10,
pp、 357−363.1964゜ 特願昭61−168226号には、改良されたマルチバ
イト・エラー訂正サブシステムにおける2レベル・エラ
ー訂正符号構造が開示されている。データはディスクの
トラック上で多数のサブブロックの形にフォーマットさ
れる。サブブロックの各々は各ブロック内にある。また
3個のサブブロック検査バイトCいC2およびC1の2
つの組が存在する。
1組は偶フェーズに、そして他の組は奇フェーズに関連
し、従ってインタリーブ式の符号語を与えている。この
構成を用いると、(サブブロックのエラーの)第1のレ
ベルの訂正は、1サブブロック分遅延された後に記憶装
置で即座に行なわれ、データは第2レベル(ブロック)
のエラーの訂正のために記憶装置ディレクタに送られる
。この即座の訂正は、非同期環境で動作しているシステ
ムに関してしか適さない。第2(ブロック)レベルの訂
正は、ブロックの終りに各フェーズ毎に1つの付加的な
検査バイトC9を用いて行なわれる。
前述の関連出願は、リアルタイムに未訂正データを受は
取り、3個の第ルベルのシンドローム・バイト及び1個
の第2レベルのシンドローム・バイト(各フェーズに対
応して)を生成する、ディスク記憶装置中のハードウェ
アを開示している。
第ルベルのシンドロームは装置において、記憶装置ディ
レクタに転送されるエラー位置情報及びエラー・パター
ンにデコードされる。
この関連出願は、サブブロック中にエラーがなければシ
ステムはどのように機能するか、及びサブブロック当り
1つ以下のエラーがあればどのようにしてエラーが訂正
されるか、及びサブブロック当り2つ以上のエラーあれ
ばどのようして訂正されるかを説明している。より具体
的には、特定のサブブロック符号語に関連する各フェー
ズに対応するシンドロームS工、S2、S、がローカル
・メモリに保持される。その特定のサブブロックのシン
ドロームが全てゼロではなく第ルベルのデコーダによっ
て非ゼロのエラー・パターンが生成されなかったならば
、それらのシンドロームはブロック・レベルでさらに処
理するために保持される。またローカル・メモリは未訂
正のサブブロックの識別を、サブブロック識別子rfJ
として保持する。ブロックの終りに、第2レベル・シン
ドローム発生器からの第2レベル・シンドロームS0及
びローカル・メモリからのサブブロックfに関する第ル
ベル・シンドロームS1、S2゜S3が、サブブロック
f中の2個のエラーを訂正するために第2レベル・デコ
ーダによって処理される。
C3発明が解決しようとする問題点 所定のバイト数(各バイトは所望の事前に選択された数
のビットを含む)のレコード中の2バイト・エラー、例
えば上記関連出願中で説明されているものに類似した2
レベル符号形式の1つのサブブロック中の2バイト・エ
ラーに関するシンドロームをデコードするファーム−シ
ェア又はソフトウェアとして実現される独得のルックア
ップ・テーブルを用いた、より安価で且つ効率的な方法
及び装置が必要である。
00課題を解決するための手段 本発明上によれば、所定長のレコード(多レベルのエラ
ー訂正符号形式の場合にはブロックの事前に識別された
サブブロック)中の符号化された未訂正のデータ中の2
バイトまでのエラーを訂正するための方法及び装置が与
えられる。データは記憶装置から読取られ、上述の関連
出tmに開示した手段により生成される4つのエラーの
シンドローム(S□、S2.S、、S4)をデコードし
処理することにより訂正される。これらのシンドローム
は、4つのシンドロームの関数であるベクトルP、Q及
びRを計算することにより、任意のルコード中の未訂正
エラーに応答してデコードされる。
次にそれらのベクトルから表索引により2進数U及びV
が計算され、上記2進数の和からエラー位置の決定に向
けてdの値を計算することが可能になる。次にdの値に
対して特別の数学的関係を有する値tが表索引により決
定され、エラー位置の値y及び2が値tから2進数値U
及びVのオフセットから計算されg。最後に、エラー・
パターンE 及びE が表索引により決定される。
y        z より具体的には、ディスク記憶装置中の符号化された未
訂正データ中のエラーが、多数のサブブロックを含むブ
ロックの形に形式化された多レベル・エラー訂正符号を
用いて訂正される。読取り動作中に、各ブロック毎に第
ルベルのエラーのシンドローム(Sl、 S2. SJ
)及びブロックの全サブブロックに共通の付加的な第2
レベルのシンドローム(S、)が記憶装置中のハードウ
ェアにより生成される。第ルベルのシンドロームは、表
索引によりデコードされ、第ルベルのエラー・パターン
及び位置情報を与える。第2レベルのシンドロームは、
第1及び第2レベルのシンドロームの関数であるベクト
ルを計算することによりデコードされる。第2レベルの
エラー位置及びエラー・パターンは1表索引を用いてソ
フトウェア又はファームウェアにより決定される。必要
であれば、延期モードでエラー情報を送ることにより後
にエラーの訂正が行なわれる。
E、実施例    − 第2図本発明で用いられる2レベル符号構造を実施した
ディスク・トラックのデータ形式を示している。データ
はトラック11に沿って記録され、固定長又は可変長の
複数のブロック12の形にフォーマットされている。各
ブロック12は固定長のサブブロック14に分割される
。図に示すように、各サブブロック14は2つのインタ
リーブされた符号語18.19から成る。各符号751
8.19は48個のデータ・バイト位置及び3個のサブ
ブロック検査バイトC1,C,、C3より成る。
従って、各ブロック12はサブブロックより成り、その
各々は96個(48個が2組)のデータ・バイト位置及
び3組のサブブロック検査バイトc1、C2、C1を有
する。さらに、各ブロック12の終りのブロック検査バ
イト領域15には、FCC訂正の後のデータ整合性検査
のための4個の検査バイトCR工〜CR,及び第2レベ
ルのエラー訂正のための1対の検査バイトC0を付加さ
れる。各サブブロック14中のエラー訂正検査バイトC
0〜C3並びに各ブロック12の終りの検査バイトCR
2〜CR4及びC0が決定され生成される方式は、本発
明の一部を成すものではない。゛詳細な説明に関しては
、前述の関連出願を参照されたい0本発明についての下
記の説明中では、2つのフェーズ(偶又は奇)の一方に
関して全てのプロセス・ステップを説明するが、同じス
テップ及びプロセスが他のフェーズにも反復されること
を理解されたい。
第1図を参照すると、第2図に示すようにフォーマット
されたトラックに書込みを行なうために、データ処理シ
ステム(図示せず)からデータが。
制御ユニット又は記憶装置ディレクタ20を経て、ディ
スク記憶装filooの記憶ディスク21に送られる。
このデータの書込み及び転送において、3組の検査バイ
トCいC2及びC1がECC符号器22によって各サブ
ブロック毎に生成される。
ブロック検査バイトC0(及びデータ整合性検査バイト
CRL−CR4)も符号器22によって生成される。サ
ブブロック・フォーマツタ22Aは各々の対応するサブ
ブロックに検査バイトc1、C2及びC1を付加する。
ブロック・フォーマツタ22Bはブロックの終りにブロ
ック検査バイトC6(及びデータ整合性検査バイトCR
工〜CR,)を付加する。次にフォーマットされたデー
タはディスク21に記録される。データ整合性検査バイ
トCR工〜CR4の計算及び処理は本発明とは無関係で
あり、米国特許筒4,703,485号明細書に説明さ
れている。
読取りプロセスにおいて1通常の方式でエラーのシンド
ロームを生成するために、読取データは前述の関連出願
の符号化方程式(1)、(2)、(4)及び(5)によ
って検査される。サブブロック検査バイトCL、C2及
びC1にはシンドロームS1.S2およびS、関連し、
またブロック・レベル検査ハイドC0にはシンドローム
・バイトS。
が関連する。
シンドローム例えばS、、81等に割り当てられた添字
は、各検査文字を生成するのに使用された特定の1行列
に関連している。特にC,から生成されるS。は通常の
パリティ検査バイトに対応する。一方、S、はC1から
生成され、これは入力バイトに行列T3を掛けることに
関係した論理に従って生成される。検査バイトC□及び
C2に対応するシンドロームS1及びS2はそれぞれ、
行列T1及びT2に関係した論理を用いて同様に生成さ
れる。シンドローム生成に関するそのような論理は周知
であり、本発明の一部を成すものではない。
読取プロセスの間、未訂正データがディスク21から第
ルベルのシンドローム生成器23及び第2レベルのシン
ドローム生成器25に読取られる。これらは各サブブロ
ックに関して第ルベルのシンドローム・バイトS1、S
2、S、を生成し、ブロックの全サブブロックに共通の
第2レベル・シンドロームS0を生成する。シンドロー
ム・バイトS1.S2、S、は、エラー・パターン・デ
ータにデコードするために、記憶装置ディレクタ20の
第ルベル・デコーダ24に転送される。デコーダ24の
ための、ソフトウェアにより実現されたデコーダ・プロ
セスは「第ルベル・デコード・プロセス」と題する独立
の章で説明する。
単純に言えば、Sl、S2又はS、に関する非ゼロの値
はエラーを示す。もしサブブロックが1バイトだけのエ
ラーを有するならば、その位置χ及びエラー・パターン
E (デコーダ24により決定される)が、サブブロッ
ク・バッファ27から取り出された適当なバイトを訂正
するためにソフトウェア26に供給される。訂正後、こ
のバイトはバッファ27に再記憶される。エラー・パタ
ーンE は、1つのエラーの第ルベルの訂正を行なった
サブブロックの各々に関してローカル・メモリ28に記
憶される。第2レベルのシンドロームS0は、訂正され
たサブブロックの全部に対応するエラー・パターン情報
E を含むように、ソフトウェア29により修正される
。デコーダ24がSいS2又はS、に関して非ゼロの値
を受は取り且つサブブロックを訂正できない時、それは
サブブロック識別子fをローカル・メモリ28に供給す
ることによってサブブロック中に2以上のエラーが存在
することを示す。サブブロックfに関する未処理のシン
ドローム生成、S2及びS、も、第2レベル・デコーダ
により後に処理するためにローカル・メモリに伝達され
る。第2レベル・デコード・ソフトウェア30は、ロー
カル・メモリ28からのシンドロームS、、S、、S3
とシンドロームS0とを組み合せて、表索引によりそれ
らの組み合せ入力を、(エラーの位置を示す)出力y及
び2並びに(エラー・パターンを示す)E。
及びE に変換する。これらの出力y、z、EyE は
、エラーを起こしたサブブロックの識別子fと組み合さ
れて、エラーを生じたバイトB 及びB を訂正させる
。第2レベル・エラー訂正ソフトウェア31は、バッフ
ァ27からサブブロックを取り出し、エラー位置情報y
、z並びにエラー・パターンE 及びE を用いてサブ
ブロックy        z fのバイトB びB を訂正することにより、訂z 正されたデータを供給する。
以下、発明の概念をより具体的に説明する。基本的な2
レベルECC方式は、前述の関連出願に説明されている
ように、1ブロツク中にn個のサブブロック、各サブブ
ロック中にNバイトを有している。第ルベルのデコード
の能力は、サブブロックの各々の中の1バイトまでのエ
ラーの訂正を提供する。第2レベルのデコードを含む能
力は、1つのサブブロック中の2バイトまでのエラーの
訂正及びブロック中の他の全てのサブブロック中の1バ
イトのエラーの訂正を提供する。
基本的なエラー事象は「エラーの生じたバイト」である
、バースト・エラーは隣接バイトに相関を有するエラー
を生じる可能性があるが、それらのエラーを効果的にラ
ンダム化するように充分なインタリーブが行なわれるも
のと仮定されている。
適当なインタリーブを用いると、エラー訂正符号(FC
C)方式で想定されているように全てのバイトが等しい
確率でエラーを生じると考えられる。
各バイトは、事前に選択された数のビットmを含む。エ
ラー訂正符号に関する対応する演算は、2 の要素を有
する有限体GF(2)で行なわれる。mは8であり、有
限体GF (2@)は256個の要素を有する。
ト・基 −の  の・ G(χ)は、係数が2進数の、次数8の原始多項式を表
わす。
G (z ) = goΦg1zΦg* z”e・=e
gt z’Φχ1多項弐G(χ)のコンパニオン行列は
、下記の正則行列として定義される。
行列Tlは、Tに自分自身をi回掛けたものを表わし、
全ての数はモジュロ2で還元さ九ている。
行列Tt T”e T”、 ・T””は全て14ft;
4.T”’は恒等行列であり、Toとも書くことができ
る。
これら255個の行列はOF (2°)の(2”−1)
個の非ゼロ要素を表わしている。αを、GF(2“)の
原始要素を示すものとする。この時わす。ゼロ要素は8
×8のゼロ行列により表わされる。従って、OF (2
’)における和及び積の演算は、体の要素のこれらの行
列表現を用いた、モジュロ2の行列の和及び行列の積に
よって定義される。
GF (2”)の要素は8桁の2進数ベクトルによって
表わすこともできる。上記表現の正方行列は非常に冗長
である。事実、各行列は(特定の位置の)1つの列だけ
で一意的に識別することができる。これは、あいまいさ
なしに、対応する体の要素を表現するために非常に良好
に使用することができる。特に、上記集合の各8×8行
列の第1列は、対応する体の要素の一般的に使用されて
いる8桁ベクトル表現である。これは、体の要素α1を
表現するT1行列の集合と全ての非ゼロ8桁ベクトルの
集合との間に1対1対応を確立する。
従って、各非ゼロ8桁ベクトルSは特有の整数i(0≦
i≦254)に対応し、これは底αに対するその対数と
考えることができる。
表A1は全部の体の要素をαのべき乗に写像する対数表
である。表A2はαの整数べきを対応する体要素に写像
する逆対数表である。それらの表は、基底要素αに関す
る表現として下記のコンパニオン行列Tを用いて、生成
された。
それらの表の助けをかりれば、(8桁ベクトルA1及び
A2によって表現される2つの要素の)積A1■A2が
次のようにして計算される。
A、=α11     対数表使用:1og  A工=
ilα A、 == αx 2      対数表使用:1og
  A2=i2α i1+i2 A、XA、=α     加算(モジュロ255) :
 1=il+i2a  =A       逆対数表使
用: 1 o g−’i=Aα 各表は8x256ビツトのメモリを必要とする。
そこで8ビツトのベクトルとして表現されるメモリ位置
又はワード番号が入力ベクトルである。メモリ位置に記
憶された8ビツト・ベクトルは、それぞれ2つの表の入
力ベクトルに対応する対数及び逆対数を表わす。A=O
(全ゼロのベクトル)はlog及びantilog表を
用いて処理できないことに注意されたい、従って、それ
は次のように特別な場合として取り扱われるべきである
。即ち、ゼロによる乗算は常にゼロを生じ、ゼロによる
除算は許されるべきでない。
17ルベルの一コード・プロセス二車−エラー訂正二二
で述べるように、第ルベルのエラーのデコードは、表索
引動作を含むソフトウェア方法を用いて実行できる。
S工、S2又はS3に関する非ゼロの値はエラーの存在
を示す。サブブロックは1バイト(バイトχ)しかエラ
ーを含まないと仮定すると、読取られたバイトB は、
書込まれたバイトB に対しχ           
        χて下記の関係にある。
B  =B  ■E      (1)x      
X      x 但しE はバイトχのエラー・パターンである。
χ サブブロックが1バイトしか(バイトX)エラーを有さ
ない時、シンドロームはE に対して下記のように関係
付けられる。
S、=TXE         (2)S、=T”XE
、      (3) S、=T’XEx     (4) この方法において、式(2)、(3)及び(4)はGF
 (2’)中の体要素の間の関係と見なされる6特に、
T  Bの型の行列乗算は体の要素αとβとの積を表わ
す。但しα 1は行列Tlの最初の列により表現され、
βは列ベクトルBによって表現される。
GF (2”)における積の演算について、底の(但し
αは体の原始要素)に対する対数及び逆対数表(表A1
及びA2)を参照して、説明した。
これらの表の助けをかりると、式(2)、(3)及び(
4)から次のようにしてエラー位置の値χが計算できる
z=(l o g  S、−1o g  Sl) mo
dulo255    ’(5)α         
 α z=(1o g  Ss−1o g  S、) mod
ulo25sα          α またエラー・パターンE は式(2)及び(5)がらχ 次のように計算できる。
Ez=log  (log  5t−z) modul
o255     (6)α       α 式(5)及び(6)の全ての項は8桁の2進数列である
。モジュロ255の計算において、8桁の2進数の減算
はその補数の加算化と等価である。
これに関して、8桁の全部1の系列(値255)が数字
ゼロを表わし、上位キャリー(値256)が数字1に等
しい終端巡回キャリー(and−aroundcarr
y)付き8桁2進加算器を使用すると便利である。
χの各計算は、対数表(表Al)への2回の参照及び1
回のモジュロ255減算を必要とす゛る。
同様に、Ezの計算は、逆対数表(表A2)への1回の
参照を必要とする。次にバイト令χは令χ+Eχのよう
に訂正される。
もしs、=s、=o且つS、≠Oであれば、エラーは検
査バイトC2に存在する6式(5)で、χは2通りに計
算される。その結果は同一でなければならず、さもなけ
れば2以上のエラー・バイトが存在する。また、S8≠
S2且つS工又はS2がゼロであれば、2以上のエラー
・バイトが存在する。
その場合、サブブロックはエラーを有するが第ルベルの
処理では訂正されないままである。そのようなサブブロ
ックはサブブロック番号fにより識別され、対応するシ
ンドロームSi、S、、S。
がローカル・メモリに記憶され、後の第2レベルの処理
のために渡される。
2レベルのデコード・プロセス=2エラー訂正1つのサ
ブブロックだけが、y及び2で示されそれぞれエラー・
パターンE 及びE を有するy       z 2つのエラー・バイトを含むものと仮定する。シンドロ
ームS0、SいS2、及びS、は下記のようにE 及び
E と関係付けられる。
yz S、=E ■E y   z          (7)S1=T E 
$T Ez(8) S、=T2yE %)T22E 、    2(9) S、=T”E■T 3Z E yz(10) 対応するサブブロックに関する第ルベルの処理は、複数
エラーとしてこれらのエラーを検出したてあろう、サブ
ブロック・レベルで利用可能なS工、S2及びS、を用
いて、サブブロック・レベルのシンドロームの処理は、
それらのエラーを位置χの1記号エラーEχとして誤訂
正はしない。
2記号エラーに関するブロック・レベルのシンドローム
及びサブブロックの組み合せられた集合をデコードする
事を説明する。詳しい解説についでは、後述の「2記号
エラーのデコードの理論」の節を参照されたい、最初に
、ベクトルP、Q及びRが得られる。それらは下記のよ
うなシンドロームS、、S工、S2及びS、の関数であ
る。
p= (s2O3,)69 (S30S、)   (1
1)Q= (S、■St)Φ(S30so)   (1
2)R= (S o OS z )Φ(Sユ■S、) 
  (13)但し■は0F(2”)中の元の積演算を示
し、元は2進8桁のベクトルで表現されている。積演算
は、ハードワイヤ式論理を用いて、又はOF (2”)
の対数表及び逆対数衣を用いて実現できる。
エラーを生じた2個のバイトが存在し両者がサブブロッ
クのデータ・バイト中にある時、P、Q及びRは必然的
に非ゼロであることに注意されたい。これと対照的に、
2個のエラー・バイトのなかに検査バイトC1又はC2
がある時、これは各々P=0及びR=Oにより示される
サブブロックの1つの中に正確に2個のエラー・バイト
が存在すると仮定する。この時、エラー位置の値y及び
2は、下記の方程式のiの2つの一意的な解である。
T”P$T’Q=R(14) 但しP、Q及びRはシンドロームS、、S2、S2、及
びS、の関数であり、式(11)〜(13)により与え
られる。
iの2個の解の値の各々に関して、エラー・パターンは
次式で与えられる。
E i =R/ (T”S。■St)    (1s)
この証明は、後の「2記号エラーのデコードの理論」に
与えられている。
本発明の重要な特徴によれば、2記号エラーに関するブ
ロック・レベルのシンドローム及びサブブロックの組み
合せのデコードは、表索引動作を含むソフトウェア方法
を用いて行なうことができる。ベクトルP、Q及びRは
、それぞれ表A1及びA2の対数表及び逆対数衣を用い
て、シンドロームS、、 Si、S2.及びS、から計
算される。これは、高々、メモリ中のテーブルへの18
回の参照、6回の2進数加算(モジュロ255)演算、
及び3回のベクトル加算(モジュロ2)演算を必要とす
エラー位置の値y及び2は、単純な表索引手続きにより
得られる。テーブル及びその手続きの背景の理論は、後
の「2工ラー位置に関する表索引解法」の節及び表Bに
示されている。この方法では、下記の4ステツプの、手
続きによりエラー位置の値y及び2が得られる。
ステップ1: 表A1及びA2の対数表及び逆対数衣を用いて、ベクト
ルP、Q及びRから2個の2進数U及びVを得る。
u=(log  P−1og  Q)modulo25
5  (16)α          α v=(l o g  R−1o g  Q) modu
lo255  (17)α         α 五ヱヱj又上 2エラーの位置の決定に向かうステップとして。
上記2個の2進数の和から値dを計算する。
d  =  (u  + v )    modulo
255        (18)ステップ3: 表Bのテーブルから、値dに対して特別な数学的関係を
有する値tを得る。
入元Lj土よ 下記のように、値tから上記2進数のオフセットを計算
することによってエラー位置の値y及び2を得る。
y= (u−t)  modulo255    (1
9)z= (t−v)  modulo255    
(20)上記手続きの式(16)〜(20)の中の全て
の項は、モジュロ255の加算又は減算の行なわれる8
桁の2進数列である。この手続きは4回の表索引動作、
4回のモジュロ255減算、及び1回のモジ二ロ255
加算を必要とする。この手続きにおいて、無効な値のd
(表B中に項目が存在しないもの)又は無効なエラー位
My又はz(m+1よりも大きい)は、3以上のエラー
を含む訂正不可能なエラーを示す。
エラー・パターンE は式(15)に従って対数表及び
逆対数衣を用いて計算できる。そこで行列乗算T2yS
、は2つの元の積α”@s oによって与えられる対応
する元によって置き換えられている。
エラー・パターンE は式(15)を用いて又はその代
りに式(7)から得られる次式を用いて、同様に計算で
きる。
E z = S o OE y           
(21)次にサブブロックのエラー訂正はエラーパター
ンE 及びE を用いてバイトB 及びB を訂正y 
       z                 
 y        zすることによって行なわれる。
実施例は、符号語中の1バイト・エラーが第ルベルで訂
正可能であり、符号語中の2バイト・エラーがブロック
・レベルで訂正可能であるような2レベル符号構造を仮
定しているが、その方法及び装置は、任意の単一又は多
重レベル符号構造中の2バイト・エラーの訂正に使用で
きる。
また、ここで開示した方法及び装置は、各バイトが所定
数のビットを含む、所定のバイト数のレコード中の2バ
イト・エラーに関するシンドロームをデコードするよう
にも動作する。
また、この方法及び装置は、磁気ディスク記憶装置中の
符号化された未訂正データ中のエラーを訂正するが、そ
れらはテープ又は光学的記憶装置にも同様に適用可能で
ある。
最後に、ここで述べたソフトウェアによる実施の代りに
、第ルベルの(単一)エラーのデコードは、米国特許第
4,525,838号に開示されているようにハードウ
ェアにより行なうことができる。
2記号エラーのデコードの理 本節は2記号エラーのためのデコード・アルゴリズムの
背景を与える。これは、上記の「従来技術」の節で引用
したChienの論文に記載されている、一般化された
BCH符号をデコードする時のChienサーチと呼ば
れる周知の従来技術から導き出される。
サブブロックの1つに正確に2つのエラー・バイトが存
在すると仮定する。下記の証明は、エラー位置の値y及
びZが次式のiの2個のユニークな解であることを確立
する。
一2i    −1 TP■T  Q=R(A−1) 但し、P、Q及びRは式(11)〜(13)によって与
えられるように、シンドロームS0、S、、S。
及びS、の関数である。i=y又はi=zに関するエラ
ー・パターンE、は各々次式を満足する。
i R= (T  5IleS2) OE i    (A
−2)証明:シンドロームは式(7)〜(10)で2つ
のエラーの関数として表現される。それらの式を再び書
くと、 50=EyΦEz(A−3) S、=T  E yeT  E z      (A−
4)2y     2z Sx=T  Ey@T  Ez     (A  5)
3y     3z S、=T  EyeT  Ez     (A−6)式
(A−3)〜(A−6)から適当な式を組み合わせると
、 TyS0ΦS z =(Tye T2) E z  (
A  7 )T  S、eS、=T (T eT )E
z (A−8)TyS2eS、 = T22(TyeT
2)E z (A −9)行列の方程式(A−7)、(
A−8)及び(A−9)は1行列により表現されるGF
 (2’)の元の間の関係である。特にT”Hの型の行
列乗算は元−とβとの積を表わす。但しα1は行列Tl
の最初の列により表現され、βはベクトルBにより表わ
される。この解釈を考慮すると、式(A−7)、(A−
8)及び(A−9)から下記の関係が生じる。
(T  5oes、)@(T  S2ΦS、)=(T 
 S、eS、)” (A−10)但し×はGF(2”)
中の対応する元の積を示す。
式(A−10)は次の行列方程式の形に再構成できる。
y T  ReTyQeP=o      (A−11)こ
こで、PLQ及びRは次式で与えられる列ベクトルであ
る。
P= (S z @s z >Φ(S、■S1)  (
A−12)Q= (S、■S□)Φ(S、eS、)  
(A−13)R=(So@S、)Φ(S、O8,)  
(A−14)従ってyは次式のiに関する解の1つであ
る。
−2j。
T   P69T  Q=R(A−15)上記プロセス
で変数y及び2を交換することにより、2が式(A−1
5)のiに関する第2の解であることが示される。
各エラー・パターンに関する式(A−2)は、R,S、
、SL及びS2に関して値を直接代入することにより確
認できる0式(A−2)の両側は次式に変形される。
(T2yeT2Z)  (Ey@Ez)  (A−16
)これで証明を終る。
2エラーt に する −′ 以上、サブブロック中の2個のエラーに関するエラー位
置y及び2が1式(A−1)をiに関して解くことによ
り決定できることが示された。その式をこことに再録す
ると、 T”PeT−iQ=R(B−1) 定数P、Q及びRは、各々式(A−12)〜(A−14
)により与えられる。シンドロームS、、S工、S2及
びS、の関数である0表A1及びA2の対数表及び逆対
数表からP、Q及びRの対数を得ることができる。
p=log  P         (B−2)α q=log  Q          (B−3)α r=log  R(B−4) α 行列方程式(B−1)はGF (2”)中の元の間の関
係として次のように書きかえられる。
a” apea−” a9= ar(B −5)式(B
−5)の両側にαp−29を掛けると、次式を得る。
a(−2i+2p+2q)e、 (−i+p−q)= 
、(rap−2q) (B−6>式(B−6)中の(−
i+p−q)をtで置き換えると、 a”FB a”= a ””−”)(B −7)及び 1=u−t(B8) 但しu=p−q 式(B−7)の右辺は既知の元α4である。ここで指数
dは、 d=u+v           (B−9)但しu=
p−q、及びv=r−q次に式(B−7)に関して表索
引解が与えられる。これは次のように書き換えることが
できる。
α (αΦα)=α’      (B−10)tt。
この表現を用いると、′tの各々値(Oから254まで
)はdの値に関係付けられる。dのある値はこの関係に
存在しない事、及びdの各々の有効な値はtの2の値に
対応することに注意されたい、与えられる値のdに関し
て、もしt=t 1が式(B−io)の解の1つであれ
ば、t=t2も解であることが明らかである。但し。
α12=α11Φα’        (B−11)式
(B−10)にt=tlを代入し1式(B−11)を使
うと、 tl   t2   d α ・α =α        (B−12)従って、 d=tl+t2        (B−13)式(B−
8)、(B −9>及び(B−13)から、下記の2つ
のエラー位置の値11及び12が得られる。
i 1=u−t 1        (B −14)i
2=u−t2=tl−v    (B −Is)表Bは
、dの各々の有効な値をtの2つの値の1つに関係付け
ている。dの値は、8X256ビツトのメモリのアドレ
スとして容易に参照できるように、昇順にリストされて
いる。tの対応する値は、メモリ中に8ビツトの2進数
として記憶されている。dの無効な値に対応するアドレ
スには全部ゼロのベクトル(表中では無効な値はダッシ
ュで表現されている)が記憶され、そのようなものとし
て解釈される。
2エラーの場合、dの計算値が、表Bからtに関する2
つの値の1つを取り出す。このtの1つの値を用いて、
式(B−14)及び(B−15)が、エラー位置y及び
2としてiの2つの値を与える。
dの無効な値は1=0を表Bから取り出す。これは符号
語の3以上のバイトに関係する訂正不可能なエラーと解
釈される。
茎Al log   S=i α 201 10010110   252 011101
0.0退Jし影 α  =S 031.10100000  082 1010011
0  133 10010101表−」。
dt        dt        dtooo
  01010101   051 10001010
   102 00010101001 −−−−−一
−−052−−−−−−−−103100010110
05−−−−−−一−056000001001071
0011100010−一−−−−−−0610100
0010112000010000110000110
0062−−−−−−−−113−−−−−−一−01
3−−−−一−−−064−−−−−−−−11501
111001018−−−−−−−−06901101
010120−−−一−−−−01901000001
070−−−一−−−−121−−−−−−−−028
 00000010   079 10010000 
  130 −m−−−−−−033−−−−−−−−
08410100110135−一−−−−−−037
 −−−−−一−−08801100000139−−
−−−−−−16200110101213−−−−−
−一−163−−−一−−−−21400111001
164−−−−−−−−215−一−−−−−−165
00101001216−−−一−−−−174−−−
−−−−−225−−−−−−一−177 −−−−−
−一−22801011101189−−一−−−−−
240−−−−−−−−190−−−−−−一−241
−−−−−−−一195 −−−−−−−−   24
6 −−−−−一−−20100001111252−
−一−−−−−
【図面の簡単な説明】
第1図は本発明の1実施例に従ったFCC装置の第1及
び第2レベルの訂正部分のブロック図。 第2図は本発明の1実施例で使用される2レベル符号構
造のディスク・トラックのデータ形式を示す図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名)

Claims (1)

    【特許請求の範囲】
  1. (1)所定長のレコード中の符号化された末訂正のデー
    タ中の2バイト・エラーを、エラーの4つのシンドロー
    ムをデコードし処理することによって訂正する方法であ
    って、 1つのレコード中の2つのエラーに応答して、上記4つ
    のシンドロームの関数であるベクトルを計算することに
    より上記シンドロームをデコードし、 表索引により、上記ベクトルから2つの2進数を計算し
    、 上記2つのエラーの位置を決定するために、上記2進数
    の和から1つの値を計算し、 表索引により、上記1つの値に対して特別な数学的関係
    を有する別の値を決定し、 上記他の値から上記2進数のオフセットを計算すること
    により上記エラーの位置を識別する値を計算するステッ
    プを含む。 エラー訂正方法。
JP63282645A 1987-11-10 1988-11-10 エラー訂正方法 Granted JPH01155721A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US119011 1987-11-10
US07/119,011 US4849975A (en) 1987-11-10 1987-11-10 Error correction method and apparatus

Publications (2)

Publication Number Publication Date
JPH01155721A true JPH01155721A (ja) 1989-06-19
JPH0444447B2 JPH0444447B2 (ja) 1992-07-21

Family

ID=22382104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63282645A Granted JPH01155721A (ja) 1987-11-10 1988-11-10 エラー訂正方法

Country Status (4)

Country Link
US (1) US4849975A (ja)
EP (1) EP0316063B1 (ja)
JP (1) JPH01155721A (ja)
DE (1) DE3852474T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01235423A (ja) * 1988-03-09 1989-09-20 Magnetic Peripherals Inc オンザフライ誤り訂正装置
US6651212B1 (en) 1999-12-16 2003-11-18 Hitachi, Ltd. Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5068855A (en) * 1988-07-18 1991-11-26 Canon Kabushiki Kaisha Error correcting method and apparatus
US4951284A (en) * 1988-12-14 1990-08-21 International Business Machines Corporation Method and means for correcting random and burst errors
US5179560A (en) * 1989-05-15 1993-01-12 Mitsubishi Denki Kabushiki Kaisha Apparatus for decoding bch code for correcting complex error
US5194996A (en) * 1990-04-16 1993-03-16 Optical Radiation Corporation Digital audio recording format for motion picture film
US5598422A (en) * 1990-04-30 1997-01-28 Dell Usa, L.P. Digital computer having an error correction code (ECC) system with comparator integrated into re-encoder
US5280488A (en) * 1990-11-08 1994-01-18 Neal Glover Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
JPH05158722A (ja) * 1991-12-10 1993-06-25 Hitachi Ltd 誤り検出・訂正方式
JP2721099B2 (ja) * 1991-12-18 1998-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法
EP0563491A1 (en) * 1992-03-31 1993-10-06 International Business Machines Corporation Method and apparatus for implementing a triple error detection and double error correction code
US5761220A (en) * 1994-09-19 1998-06-02 Cirrus Logic, Inc. Minimum latency asynchronous data path controller in a digital recording system
JP3248098B2 (ja) * 1997-05-26 2002-01-21 日本プレシジョン・サーキッツ株式会社 シンドローム計算装置
US5946328A (en) * 1997-11-17 1999-08-31 International Business Machines Corporation Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords
US6275965B1 (en) * 1997-11-17 2001-08-14 International Business Machines Corporation Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords
US6061824A (en) * 1998-03-05 2000-05-09 Quantum Corporation Pipelined error correction for minimizing disk re-reading in hard drives
US6662334B1 (en) * 1999-02-25 2003-12-09 Adaptec, Inc. Method and device for performing error correction on ECC data sectors
JP2000242440A (ja) * 1999-02-25 2000-09-08 Alps Electric Co Ltd ディスク装置
US6532566B1 (en) 1999-05-24 2003-03-11 Oak Technology, Inc. Modified Reed-Solomon multiplication
US6378105B1 (en) * 1999-05-24 2002-04-23 Oak Technology, Inc. Reed-Solomon multiplication method
US6915475B1 (en) * 1999-06-29 2005-07-05 Emc Corporation Data integrity management for data storage systems
JP3735498B2 (ja) * 1999-11-09 2006-01-18 株式会社東芝 情報記録媒体、情報記録装置、情報記録方法
US6732320B1 (en) 2000-04-28 2004-05-04 Promos Technologies Inc. Method and system for improved error correction in optical media data processing
JP4325674B2 (ja) * 2004-09-08 2009-09-02 日本電気株式会社 無線通信システム、移動局、ハンドオーバ制御方法
US7624330B2 (en) * 2005-12-12 2009-11-24 Lsi Corporation Unified memory architecture for recording applications
JP4846384B2 (ja) * 2006-02-20 2011-12-28 株式会社東芝 半導体記憶装置
JP2007305267A (ja) * 2006-05-15 2007-11-22 Toshiba Corp 半導体記憶装置
US7890841B2 (en) * 2006-11-14 2011-02-15 Samsung Electronics Co., Ltd. Post-viterbi error correction method and apparatus
US8799742B1 (en) 2007-07-30 2014-08-05 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8127209B1 (en) * 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
KR101466695B1 (ko) * 2008-04-30 2014-12-01 삼성전자주식회사 멀티 비트 레벨 데이터의 부호화 및 복호화 방법
US8365036B2 (en) * 2009-09-16 2013-01-29 Freescale Semiconductor, Inc. Soft error correction in a memory array and method thereof
CN103197985B (zh) * 2011-11-08 2018-07-13 索尼公司 存储控制装置
KR20150058315A (ko) * 2012-10-19 2015-05-28 후지쯔 가부시끼가이샤 기록 재생 장치, 오류 정정 방법 및 제어 장치
US9444580B2 (en) 2013-08-06 2016-09-13 OptCTS, Inc. Optimized data transfer utilizing optimized code table signaling
US9455799B2 (en) 2013-08-06 2016-09-27 OptCTS, Inc. Dynamic control of quality of service (QOS) using derived QOS measures
US10523490B2 (en) 2013-08-06 2019-12-31 Agilepq, Inc. Authentication of a subscribed code table user utilizing optimized code table signaling
WO2016004185A1 (en) 2014-07-02 2016-01-07 OptCTS, Inc. Data recovery utilizing optimized code table signaling
WO2017214060A1 (en) 2016-06-06 2017-12-14 Agilepq, Inc. Data conversion systems and methods

Citations (1)

* 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 エラ−訂正回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01235423A (ja) * 1988-03-09 1989-09-20 Magnetic Peripherals Inc オンザフライ誤り訂正装置
US6651212B1 (en) 1999-12-16 2003-11-18 Hitachi, Ltd. Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory

Also Published As

Publication number Publication date
EP0316063B1 (en) 1994-12-14
DE3852474T2 (de) 1995-07-20
EP0316063A2 (en) 1989-05-17
DE3852474D1 (de) 1995-01-26
US4849975A (en) 1989-07-18
EP0316063A3 (en) 1992-03-25
JPH0444447B2 (ja) 1992-07-21

Similar Documents

Publication Publication Date Title
JPH01155721A (ja) エラー訂正方法
US4525838A (en) Multibyte error correcting system involving a two-level code structure
CA1199410A (en) On-the-fly multibyte error correcting system
US4142174A (en) High speed decoding of Reed-Solomon codes
US4099160A (en) Error location apparatus and methods
KR930001071B1 (ko) 에러 정정회로
KR920000828B1 (ko) 가로아체(Galois field)연산장치
JPH03136524A (ja) 長バースト誤りに対する誤り検出及び訂正システム
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
US4856003A (en) Error correction code encoder
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
US6725416B2 (en) Forward error correction apparatus and methods
EP0233075B1 (en) Method and apparatus for generating error detection check bytes for a data record
JPS6273336A (ja) マルチバイト・エラ−訂正方法及びシステム
JP3989558B2 (ja) GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム
EP1213841A2 (en) Erasure correction for ECC entities
EP0341851A2 (en) Method and apparatus for interleaved encoding
JP2553565B2 (ja) ガロア体演算装置
US6446233B1 (en) Forward error correction apparatus and methods
JP2553571B2 (ja) ガロア体演算装置
JP2611204B2 (ja) 誤り訂正方法
JPH0582613B2 (ja)
KR930000220B1 (ko) 리드-솔로몬 코드의 에러위치 정정시스템
Malhotra et al. A double error-correction scheme for peripheral systems
JPH0373902B2 (ja)