JPH11501795A - 3つおよび4つのエラーを訂正するための改良されたシステム - Google Patents

3つおよび4つのエラーを訂正するための改良されたシステム

Info

Publication number
JPH11501795A
JPH11501795A JP9524507A JP52450797A JPH11501795A JP H11501795 A JPH11501795 A JP H11501795A JP 9524507 A JP9524507 A JP 9524507A JP 52450797 A JP52450797 A JP 52450797A JP H11501795 A JPH11501795 A JP H11501795A
Authority
JP
Japan
Prior art keywords
solution
equation
determining
polynomial
error
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
JP9524507A
Other languages
English (en)
Other versions
JP3830527B2 (ja
Inventor
ウェン,リー−ジャ
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.)
Quantum Corp
Original Assignee
Quantum 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 Quantum Corp filed Critical Quantum Corp
Publication of JPH11501795A publication Critical patent/JPH11501795A/ja
Application granted granted Critical
Publication of JP3830527B2 publication Critical patent/JP3830527B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

(57)【要約】 リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位置を決定するための方法が開示される。四次エラーロケータ多項式が操作され(500、502、504、506)三次の項の係数がゼロである形にされ、それから2つの二次多項式が生成される(508、510、514、516、518)。2つの二次多項式の解は次にエラー位置と関連付けられる(524)。2つの二次多項式を生成するためのステップ(514)において、立方根を決定するための回路(200)が使用される。

Description

【発明の詳細な説明】 3つおよび4つのエラーを訂正するための改良されたシステム 発明の分野 この発明は、一般に、データ処理システムに関し、より特定的には、エラー訂 正コードを用いたデータにおけるエラーを復号しかつ訂正するためのシステムに 関する。 発明の背景 磁気ディスクなどの磁気媒体上に記憶されたデータは、典型的には、符号化さ れた形で記憶されており、したがって記憶されたデータ内のエラーを恐らくは訂 正することができる。エラーは、たとえば、符号間干渉、ディスク内の欠陥、ま たはノイズによって起こり得る。ディスク上に記億されるデータの密度が増加す るに伴い、より多くのエラーが起こりかねず、システムはより多数のエラーを訂 正せねばならない。システムがエラーを訂正する速度は、システムがデータを処 理する全体的な速度において重要である。 記憶する前に、多ビットデータシンボルはエラー訂正コード(ECC)を用い て符号化される。データシンボルがディスクから検索され復調されるとき、EC Cが用いられ、その名前が示しているように誤ったデータを訂正する。 特定的には、k個のデータシンボルの列はディスクに書込まれる前に、(n, k)ECCを用いて数学的に符号化され、n−k ECCシンボルを形成する。 ECCシンボルは次にデータの列に添えられn−シンボルエラー訂正コードワー ドを形成し、これは次にディスクに書込まれるかまたはディスク上に記憶される 。データがディスクから読出されるとき、データシンボルおよびECCシンボル を含むコードワードは検索されそして数学的に復号される。復号の間、データ内 のエラーは検出されそしてもし可能ならば、ECCシンボルの操作によって訂正 される(復号についての詳細な説明に関しては、ピーターソン(Peterson)および ウェルドン(Weldon)の『エラー訂正コード(Error Correction Codes)』第2版、 MIT 出版、1972を参照)。 データシンボルの列の中の多数のエラーを訂正するためには、システムは典型 的には、ガロア体として知られる数組のシンボルのさまざまな数学的特性を効率 的かつ効果的に利用するECCを用いる。ガロア体は、「GF(Pm)」と表わ され、「P」は素数であり、「m」は体の中の各要素またはシンボル内の基数「 P」の桁数と考え得る。Pは普通デジタルコンピュータおよびディスクドライブ アプリケーションにおいては値2をとり、したがって、mは各シンボル内のビッ ト数である。一般にガロア体とともに使用されるECCは、リードソロモン符号 またはBCH符号である。 リードソロモン符号またはBCH符号の改変されたコードワードの復号には本 質的に4つの主要ステップがある。システムはまずECCシンボルの操作の結果 に基づいたエラーシンドロームを決定する。次に、エラーシンドロームを用いて 、システムはエラーロケータ多項式を決定する。これはエラーの数と同じ数の次 数を有する多項式である。システムは次にエラーロケータ多項式の解を求め、各 解からコードワード内の関連するエラーの位置を決定する。最後に、システムは エラー位置に対するエラー値を求める。デジタルコンピュータなどの2進システ ムにおいてはエラー位置に対して可能なエラー値は1つしかないので、エラー値 を決定するステップは重要ではない。 エラー訂正処理の中で最も時間を費やすのは、シンドロームを決定し、エラー 位置を求めるステップである。ここに説明する発明は、3つまたは4つのエラー の位置を求めるためにエラー訂正システムの費やす時間を減じる。これは、三次 および四次のエラーロケータ多項式の解を求めることを含む。 先行のシステムにおいては、四次の多項式の解は、試行錯誤またはマトリック ス操作もしくはルックアッブテーブルによって決定されている。試行錯誤法は、 あらゆる可能な値、すなわちコードワード位置に関連ずる適用可能なGF(22m )のすべての要素を多項式に代入し、各値について多項式の数値を求めることに よって行なわれる。もし所与の値について多項式がゼロに等しければ、その値が 解である。このシステムは、次に可能な値を多項式に代入しその値が解がどうか を判断することによってこの試行錯誤処理を続け、すべての可能な値が試されて しまうかまたはすべての4つの解が決定されるまでこれを続ける。この試行錯誤 処理は、最適化された形態では通常チェンサーチとして知られているが、時間 のかかるものである。さらに、コードワード内のエラーの位置によって処理に費 やされる時間が変化するために、処理にかかる時間を予測することができない。 マトリックス操作およびルックアップテーブル法は、 σ4x43x32x21x+σ0 の形の一般四次多項式を変換して、 x4+x2+ax+b の形の多項式にすることを含んでいる。 ルックアップテーブルが使用されるのならば、テーブルは、aおよびbの可能 な値のすべての組に対しての解の組を含んでいる。今日使用されている典型的に はGF(28)にわたるECCについては、テーブルは216のエントリを有し、 その各々が32ビットすなわち4つの8ビット要素を有する。したがって、テー ブルはかなりの量の記憶空間を占め、比較的複雑なアドレッシング機構を必要と する。 マトリックス操作法を用いたシステムは、f(α),f(α1),f(α2),...f(αm-1) で、ここでf(x)=x4+x2+ax+bであるものを決定することにより、m×mのマトリ ックスを生成する。次に、マトリックスを操作してマトリックスによって広がり が規定される空間のナル空間を決定する。多項式の解は次にナル空間にわたるベ クトルから得ることができる(より詳細な説明については、E・R・ベールカン プ(Berlekamp)『代数的コード理論(Algebraic Coding Theory)』、マグロウヒル ブックカンパニー(McGraw Hill Book Company)、1968 年を参照)。この方法で は、m×mのマトリックスのビット毎の操作が必要となり、典型的にはマトリッ クスを変換するために多くの操作演算が必要である。したがって、この方法は時 間がかかりかつ計算に集中している。 ここで説明するこの発明のシステムは、4つのエラー位置を求めるためにかか る時間を減じ、四次多項式の解を決定することを含む。このシステムは、ベール カンプによって『代数的コード理論』に説明されているような二次多項式の解を 決定する周知の方法を利用している。さらに、このシステムは、ファンデルホル スト(Van der Horst)およびバーガー(Berger)によって「三重エラー訂正2進B CHコードの完全なデコーディング(Complete Decodjng of Triple-Error- Correcting Binary BCH Codes)」、『情報理論についての IEEE 紀要(IEEE Tra nsactions on Information Theory)』、Vol.IT-22、1976 年、138 頁から147頁 に説明されている三次多項式の解を決定する方法を利用している。 ファンデルホルストおよびバーガーの教示に従って三次多項式の解を求めるた めには、GF(22m)にわたってのガロア体要素の立方根を決定することが必要 である。後にここで説明するように、本発明者は比較的迅速かつ容易に立方根を 求めるためのある発明の回路を開発した。 発明の概要 この発明は、四次エラーロケータ多項式を最終的に2つの二次方程式に変換し 、これらの方程式の解を求め、これらの解からエラーロケータ多項式の解を決定 することによって、GF(22m)内の4つのエラーのエラー位置を決定するシス テムである。 より特定的には、このシステムは、最初に四次多項式 σ(x)=σ4x43x32x21x+σ0 [1] を操作して、 θ(y)=y42y21y+θ0 [2] の形にする。ここで、θ1はエラーロケータ多項式の項の係数の組合せである。y3 の項の係数がゼロであることに注意されたい。 このシステムは次にθ(y)を因数分解して、 θ(y)=(y2+t*y+u)*(y2+v*y+w), [3] にし、ここで「*」は乗法を表わし、そしてこの式を展開して、 θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w. [4] にし、ここでt、u、v、およびwは未知数である。式2および式3の係数を等 置して、このシステムは、 t+v=0 t*v+u*w=t2+u*w=θ2 [5] t*w+u*v=t+w+t*u=t*(w+u)=θ1 u*w=θ0 と決定する。 このシステムは次に変数tを唯一の未知数とする方程式を生成する。 t32t+θ1=0 [6] この三次方程式は以下により詳細に説明するように、ファンデルホルストおよび バーガーによって説明されている方法を用いて解くことができる。 一旦方程式6の解t0が決定されると、この解はθ1についての式に代入され、 そしてこの式およびθ0についての式を用いてuおよびwを解とする二次方程式 が形成される。 p2+(θ2+t0 2)p+θ0=0 [7] このシステムは次に二次多項式を解くためのベールカンプの方法を用いて、方 程式7の解p0およびp1を求める。解p0およびp1はそれぞれuおよびwであるが、 多項式3に代入され、各項はゼロとされ、2つの二次方程式が生成される。 y2+t0 *y+p0=0 [8] y2+t0 *y+p1=0 ベールカンプ法を用いて決定される方程式8の解はまた、θ(y)の解でもあり、 したがってエラーロケータ多項式の解を生成するために直接用いることができる 。 この直接的解法は、4つの解を求める、先行の試行錯誤またはマトリックス操 作法よりも迅速である。さらに、他の先行の既知のシステムにおいて必要とされ るように大きなルックアップテーブルを記億したりそこにエントリしたりするこ とは必要ない。 図面の簡単な説明 この発明の性質および目的をより完全に理解するために、添付された図面に関 連する以下の詳細な説明を参照されたい。図面中では、 図1は、この発明により構築されるデコーダの機能ブロック図である。 図2は、GF(22m)要素の立方根を決定するための発明の回路の機能ブロッ ク図である。 図3は、図2の回路の動作のフローチャートである。 図4は、GF(28)についての図2の回路である。 図5は、図1のデコーダが4つのエラーの位置を決定するときに行なう動作の フローチャートである。 好ましい実施例の説明 ここで説明する加減乗除の数学演算は、GF(22m)にわたってのガロア体の 演算である。 次に図1を参照すると、デコーダ10はシンドローム発生器12を含み、これ は、従来の態様でエラーシンドロームの関連する組を生成するために動作する。 もしシンドロームがすべてゼロであれば、シンドローム発生器12はコードワー ドにエラーはないと判断する。そうでなければ、シンドローム発生器はシンドロ ームをエラーロケータ多項式発生器14に送り、これは従来の態様でシンドロー ムから次数「e」のエラーロケータ多項式を生成する。ここでeはコードワード 内のエラーの数である。エラーロケータ多項式発生器14は次にエラーロケータ 多項式をエラーロケータプロセッサ16に送り、これはエラーロケータ多項式の 解、すなわちエラー位置を決定するための適切な処理を選択しかつ実施する。図 1は、これらの処理をいくつかのブロックまたはプロセッサとして描いている。 つまり、1つのエラー位置を決定するためのプロセッサ18、2つのエラー位置 を決定するためのプロセッサ20、3つのエラー位置を決定するためのプロセッ サ22、4つのエラー位置を決定するためのプロセッサ24、および4つより多 くのエラー位置を決定するためのプロセッサ26である。 2つ、3つ、および4つのエラープロセッサ20、22および24は相互接続 されている。以下に説明するように、エラーロケータプロセッサ16は対応する エラーロケータ多項式を最終的に関連する二次方程式の組に変換することによっ て3つおよび4つのエラー位置を決定するためにかかる時間を減する。そのため に、4つのエラープロセッサ26は3つのエラープロセッサ24および2つのエ ラープロセッサ22の両者を利用する。同様に、3つのエラープロセッサ24は 2つのエラープロセッサ22を利用する。これらの処理は、別個の専用プロセッ サ内で起こっているように描かれているが、1つまたは2つ以上の多目的プロセ ッサ内で行なわれてもよい。 エラーロケータプロセッサ16は、従来の態様で1つおよび2つのエラーの位 置を決定する。これは、ファンデルホルストおよびバーガーによって説明される 方法によって3つのエラーの位置を決定する。しかしながら、これは、ガロア体 要素の立方根を決定する必要なステップを行なうために発明の回路を使用する。 この回路および3つのエラーの位置を決定するための方法が、図2および図3を 参照し以下に説明される。 エラーロケータプロセッサ16は、図4を参照して以下に説明される独特の処 理を用いて4つのエラーの位置を決定する。この処理を説明する前に、2つのエ ラー位置処理および3つのエラー位置処理がそれぞれΛ節およびB節で説明され る。 A.2つのエラー位置の決定 もしコードワードが2つのエラーを含んでいたならば、エラーロケータ多項式 の形は、 σ(x)=σ2x21x+σ0x [1] となる。この多項式の解を求めるために、このシステムは多項式をゼロに等しい とおく。 σ(x)=σ2x21x+σ0x=0 [2] そしてこの方程式を解x0およびx1について解く。 方程式2を解くためにエラーロケータプロセッサ16はこの方程式の形を変換 する。 y2+y+C=0 [3] 変数を、 [4] と変えることによって、方程式2は、 生成する。 [5] 方程式5の解がGF(22m)内に存在するためには、方程式の両辺の「トレー ス」は同じでなくてはならない。トレースは、 [6] と定義される。 トレース(0)は0に等しく、したがって、解がガロア体内に存在するために は、 [7] である。項の合計のトレースは、個々の項のトレースの合計に等しい。GF(22m )においては、トレース(y2)=トレース(y)であり、これらの和はガロア体和法 を用いると、ゼロである。したがって、方程式5はもしトレース(C)=0なら ばGF(22m)内に解を有する。 方程式5の一般解は、2m−1個の「基底解」の線形結合である。基底解とは 、ガロア体の「基底要素」C1,C2・・・C2m-1の1つをCとする方程式3の解で ある。基底要素とは、線形結合させると体のすべての他の要素を生成することが できる体の要素である。これらの要素は、たとえば、各々が2m−1個の0と1 つの1とを含む、すなわちαi=000・・・1 からαj=100・・・00 である2m−1個の 要素の組であってもよい。このような体においては、C=00110・・・0は基底要素00 100・・・0 と00010・・・0 との線形結合である。方程式5の一般解は、合計すると 生成元多項式x4+x+1で定義されるGF(24)においては、ゼロのトレースを 有する各要素αiはまたその最も重要なビットとしてゼロを有する。したがって 、この体内の間題のCは基底要素α0=0001、α1=0010 およびα2=0100 の結合で ある。対応する基底解は、 (α5)250 ここでy05 9)291 ここでy09 3)232 ここでy03 であり、もう1つの基底解の組は、 (α10)2100 ここでy110 7)271 ここでy17 14)2142 ここでy114 である。このガロア体内では、たとえば、Cがα8=0101 に等しい方程式3の解 は、Cを C=α02=0001+0100 に分解し、基底解の対応する組を合計し、たとえば、 y05311 として第1の解を生成し、第2の解を、 y1=y00 と決定することによって決定される。次に、このシステムは二次エラーロケータ 多項式の解を、 として決定する。B.3つのエラー位置の決定 3つのエラーに関連するエラーロケータ多項式の形は、 σ(x)=σ3x32x21x+σ0 [8] である。解を求めるために、このシステムは、多項式をゼロに等しいとおく。 σ(x)=σ3x32x21x+σ0=0 [9] そしてこの方程式の形を変換して、 y3+ay+b=0 とする。このために、システムは変数を変え、 として、方程式9は、 [10] となる。次にシステムは方程式10の項を展開して、 とし、同類項をまとめて、 [11] を生成する。GF(22m)においては、同一項の合計はゼロに等しいので、方程 式は、 [12] となる。このシステムは方程式12をσ3で除し、次の形の方程式を生成する。 y3+ay+b=0 [13] もしa≠0ならば、システムは変数を変え、 [14] とし、方程式13は、 [15] となる。次に方程式15を展開し同類項をまとめて、 [16] を生成する。このシステムは次に方程式16をz3で乗じて、 (z3)2+bz3+a=0, [17] を生成し、この式は、変数z3を有する二次方程式である。次に方程式17はA節 で説明した2つのエラー方法を用いて解くことができる。 一旦1つの解z03が決定されると、このシステムは以下に図2および図3を参 照して説明される回路を用いて立方根z0を求める。mが偶数である限り、方程式 17の第2の解z1は、 に整数である。方程式17の第3の解は、 z2=z1+z0 である。このシステムは次にこれらの解をyについて式に代入し、代入の結果を もしa=0ならば、方程式13の解はy=b1/3である。bの立方根を求めるため に、このシステムは図2に示す回路を使用する。一旦立方根がわかれば、このシ ステムはy1およびy2を、 と決定し、これらの値から解x0、x1およびx2を決定する。 次に図2および図3を参照すると、回路200は、GF(22m)の要素α3kれのGF(22m)の要素の2L乗も、複数の従来のガロア体乗算器を使用して容 易に達成される。 回路200は、恒等式x2-1=(x-1)*(x+1)を利用している。xが2mに等しいと 、この恒等式は、22m−1=(2m−1)*(2m+1)となる。因子2m−1また は2m+1の1つは3で割り切れるが、両方の因子が割り切れるわけではない。も したとえば、m=4であれば、因子2m−1は3で割り切れ、2m+1 ている。 回路200を用いて、ガロア体要素α3kは、乗算器202内で、3で割り切れ ない恒等式の因子に対応する累乗に乗される(ステップ300)。m=4の例で は、要素は、2m+1乗に乗される。そして、ルックアップテーブル204を用 GF(28)の例では、テーブルは5つのエントリしか持たない。 4)、その結果は、ルックアップテーブル204によって生成された立方根で、 GF乗算器206内で乗される(ステップ306)。 成する。 図4は、GF(28)、すなわちm=4についての回路200を示している。 α3kを2m+1乗するために、この回路は、GF乗算器201内で、まず要素を 2mまたは24=16乗する。次に、GF乗算器203内で、積α3k(16)48kを 要 アップテーブル204に入るために使用される。 α0 → α0 α51 → α17 α102 → α34 α153 → α51 α204 → α68 これによってα17kが生成される。 乗される。GF乗算器207はまず要素を22または4乗し、GF乗算器209 は積α3k(4)12kを要素α3kで乗し、積α15kを生成する。 GF乗算器206は次に2つの積を乗するα17k*α15k32k。この結果は次 に 回路200は、そこに与えられたすべての要素に対して結果を生成する。しか しながら、ガロア体のすべての要素に対する立方根が必ずしもあるわけではない 。したがって、このシステムは結果をテストして(ステップ310)、その結果 が実際の立方根であるかどうかを判断せねばならない。したがってこのシステム は、結果をそれ自身で2回乗し、その積が回路に与えられた要素と等しいかどう かを判断する(ステップ312)。もし等しければ、立方根は正確であり、エラ ー位置が決定できる(ステップ314)。しかしながらもし積が要素に等しくな ければ、システムはエラー位置が見つからないと判断する(ステップ316)。 そしてシステムはエラー位置を探す処理を終了する。C.4つのエラー位置の決定 4つのエラーに関連するエラーロケータ多項式の形は、 σ(x)=σ4x43x32x21x+σ0 [18] である。解を求めるため、システムはこの多項式をゼロに等しいとおく。 σ(x)=σ4x43x32x21x+σ0=0 [19] そしてこの方程式の形を変換し、 y4+dy2+ey+h=0 とする。特定的には、ここで図5を参照すると、システムはステップ500にお いて変数を変える。 そして方程式19は γ(y)=σ4(y+r)43(y+r)32(y+r)21(y+r)+σ0=0 [20] となる。ステップ502においてこのシステムは項を展開して、 γ(y)=σ4(y4+r4)+σ3(y3+y2r+yr2+r3)+σ2(y2+r2)+σ1(y+r)+σ0=0 とし、同類項をまとめて、 γ(y)=σ4y43y3+(σ3r+σ2)y2+(σ3r21)y+σ4r43r32r21r+σ0 =0 [21] を生成する。次に、ステップ504において、このシステムはrに対して であるので、線形項の係数はゼロである。したがって方程式21は、 [22] となり、ここで「s」は方程式21の定数項である。 この方程式を直接解くのではなくこのシステムはステップ506において、 [23] の解を求める。 したがって、このシステムは、 [24] または、 θθ(y)=y42y21y+θ0=0 [25] ここで を解く。ステップ508においてこのシステムはまず方程式25を因数分解して 、 θ(y)=(y2+t*y+u)*(y2+v*y+w)=0 [26] とする。ここで方程式25は因数分解できるものと仮定しているが、これはエラ ーロケータ多項式の解がGF(22m)内に存在するとするならば妥当な仮定であ る。 このシステムは方程式26の項を展開して、 θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w=0 [27] とし、この方程式の係数を方程式25の係数に等しいものとおく(ステップ51 0)。 t+v=0 t*v+u+w=θ2 t*w+v*u=θ1 u*w=θ0 したがって、 t=v t2+(u+w)=θ2 t*(w+u)=θ1 u*w=θ0 ステップ512において、このシステムは次に唯一の未知数「t」を持つ方程式 を決定する。θ2、θ1およびθ0はエラーロケータ多項式の係数の組合せである の とおき、これをθ2についての式に代入し、かつtで乗することによって、方程 式 t32t+θ1=0 [28] を生成する。 この結果は、上のB節で説明した演算を用いて解くことができる二次多項式で ある(ステップ514)。特定的には、このシステムは変数を変え、 そして方程式28は、 となる。項を展開しかつまとめて、 [29] かつz3で乗することによって、このシステムは、変数z3を持つ二次方程式であ る方程式(z3)21z3+a3=0を生成する。 A節の方法を用いて、このシステムは方程式29の解を求める。 このシステムはこうして変数を変え、 z31g [30] とし、そして二次方程式は、 θ1 2g21 2g+a3=0 [31] または に分解し、基底要素を対応する基底解と関連付けることによって、決定される。 一旦解が決定されると、システムはそれらのうち1つをたとえばg0をz3につ いて式30に代入し、図2の回路を用いてz3の立方根z0を決定する。このシス テムは次に式 [32] のzにz0を代入して、これからt0を決定する。 wおよびuを決定するために、このシステムはステップ516において、値t0 および式 t2+(u+w)=θ2および u*w=θ0 を用いて、解としてuおよびwを有する二次方程式33を生成する。 (p+u)*(p+w)= p2+(u+w)*p+(u*w)= p2+(θ2+t0 2)*p+θ0=0, [33] このシステムは次に、A節の方法を用いて方程式33の解を決定する。次にステ ップ518においてこれらの解p0およびp1を方程式26の因数に代入して、二 次方程式を生成する。 y2+t0 *y+p0=0 および [34] y2+t0 *y+p1=0, そして、ステップ520においてA節の方法を用いて解y0、y1およびy2、y3 について解く。方程式33の解y0、y1、y2およびy3はθ(y)の解であり、1 /y0、1/y1、1/y2および1/y3はγ(y)の解である。次にこのシステ ムはステップ522において1/y0、・・・1/y3を式x=y+rに代入し、四 次エラーロケータ多項式の解を決定する。最後に、このシステムはステップ52 4において、エラーロケータ多項式の解をコードワード内の位置と関連付ける。 この四次エラーロケータ多項式の解を決定する直接的方法は、チェンサーチを 行なったりまたはm×mのマトリックスを操作したりするよりも迅速である。さ らに、この方法においては、他の先行する既知のシステムにおいて使用される大 きなルックアップテーブルが必要ない。
───────────────────────────────────────────────────── 【要約の続き】

Claims (1)

  1. 【特許請求の範囲】 1.リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位 置を決定する方法であって、この方法は、 a.四次エラーロケータ多項式 σ(x)=σ4x43x32x21x10 を操作して θθ(y)=y42y21y+θ2 の形の多項式を生成するステップと、 b.多項式を因数分解して、θ(y)=(y2+t*y+u)*(y2+v*y+w)にするステップと 、 c.ステップaおよびステップbの多項式の係数を等置するステップと、 t+v=0 t*v+u+w=θ2 t*w+v*u=θ1 u*w=θ0; d.唯一の未知数tを持つ方程式 t32t+θ1=0 を決定するステップと、 e.解t0について解くステップと、 f.uおよびwを解とする二次方程式を形成するステップと、 p2+(θ2+t0 2)p+θ0=0 g.解p0およびp1について解くステップと、 h.解をθ(y)に代入して1対の二次方程式の解を決定するステップと、 y2+t0 *y+p1=0 y2+t0 *y+p1=0; i.1対の二次方程式の解y0、y1およびy2、y3を、四次エラーロケータ多 項式の解と関連付けるステップと、 j.四次エラーロケータ多項式の解をコードワード内の位置と関連付けるステ ップとを含む、コードワード内の4つのエラーの位置を決定する方法。 2.t32t+θ1=0の解について解くステップは、 成するステップと、 ii.ステップiの方程式をz3で乗して、変数z3を持つ二次方程式を得るステ ップと、 (z3)21z3+a3=0 iii.ステップiiの二次方程式をz3について解くステップと、 iv.z3の立方根z0を決定するステップと、 3.エラーロケータ多項式をθ(y)に変換するステップは、 γ(y)=σ4y43y3+(σ3r+σ2)y2+(σ3r21)y+σ4r43r32r21r+σ0=0 の形の方程式を生成するステップと、 の形の方程式を生成するステップを含み、ここでsはステップiの方程式の定数 項であり、さらに、 iii. θθ(y)=y42y21y+θ2=0 ここで に展開される、 の解を求めるステップとを含む、請求項1に記載の方法。 4.リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位 置を決定する方法であって、 a.四次エラーロケータ多項式 σ(x)=σ4x43x32x21x10 を操作して、 θθ(y)=y42y21y+θ2 の形の多項式を生成するステップと、 b.多項式を、因数分解してθ(y)=(y2+t*y+u)*(y2+v*y+w)にするステップと 、 c.t、u、v、およびwの値を決定するステップと、 d.値t、u、v、およびwをθ(y)に代入し、1対の二次方程式の解を決定 するステップと、 y2+t*y+u=0 y2+v*y+w=0; e.1対の二次方程式の解y0、y1およびy2、y3を、四次エラーロケータ多 項式の解と関連付けるステップと、 f.四次エラーロケータ多項式の解をコードワード内の位置と関連付けるステ ップとを含む、コードワード内の4つのエラーの位置を決定する方法。 5.t、u、v、およびwの値を決定するステップは、 i.ステップaおよびステップbの多項式の係数を等置するステップと、 t+v=0 t*v+u+w=θ2 t*w+v*u=θ1 u*w=θ0 ii.唯一の未知数tを持つ方程式を決定するステップと、 t32t+θ1=0 iii.解t0について解くステップと、 iv.uおよびwを解とする二次方程式を形成するステップと、 p2+(θ2+t0 2)p+θ0=0 v.uおよびwである解p0およびp1について解くステップとを含む、請求項 4に記載の方法。 6.t32t+θ1=0の解について解くステップは、 するステップと、 b.ステップaの方程式をz3で乗してz3を変数とする二次方程式を得るステ ップと、 (z3)21z3+a3=0 c.ステップbの二次方程式をz3について解くステップと、 d.z3の立方根z0を決定するステップと、 法。 7.エラーロケータ多項式をθ(y)に変換するステップは、 γ(y)=σ4y43y3+(σ3r+σ2)y2+(σ3r21)y+σ4r43r32r21r+σ0=0 の形の方程式を生成するステップと、 とを含み、ここでsはステップiの方程式の定数項であり、さらに iii.展開すると、 θθ(y)=y42y21y+θ2=0 ここで の解を求めるステップとを含む、請求項4に記載の方法。
JP52450797A 1995-12-28 1996-12-18 3つおよび4つのエラーを訂正するための改良されたシステム Expired - Fee Related JP3830527B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/580,351 1995-12-28
US08/580,351 US5710782A (en) 1995-12-28 1995-12-28 System for correction of three and four errors
PCT/US1996/020547 WO1997024813A1 (en) 1995-12-28 1996-12-18 Improved system for correction of three and four errors

Publications (2)

Publication Number Publication Date
JPH11501795A true JPH11501795A (ja) 1999-02-09
JP3830527B2 JP3830527B2 (ja) 2006-10-04

Family

ID=24320729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52450797A Expired - Fee Related JP3830527B2 (ja) 1995-12-28 1996-12-18 3つおよび4つのエラーを訂正するための改良されたシステム

Country Status (8)

Country Link
US (1) US5710782A (ja)
EP (1) EP0830742A4 (ja)
JP (1) JP3830527B2 (ja)
KR (1) KR19980702551A (ja)
CN (1) CN1176714A (ja)
AU (2) AU7681696A (ja)
CA (1) CA2213293A1 (ja)
WO (2) WO1997024812A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199188B1 (en) * 1997-10-07 2001-03-06 Quantum Corporation System for finding roots of degree three and degree four error locator polynomials over GF(2M)
US5978956A (en) * 1997-12-03 1999-11-02 Quantum Corporation Five-error correction system
US6343367B1 (en) * 1999-03-29 2002-01-29 Maxtor Corporation Error correction system for five or more errors
US7006530B2 (en) * 2000-12-22 2006-02-28 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US7962836B1 (en) * 2000-01-06 2011-06-14 Supertalent Electronics, Inc. Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction
US6671850B1 (en) 2000-05-01 2003-12-30 International Business Machines Corporation On-the-fly algebraic error correction system and method for reducing error location search
US7003715B1 (en) * 2001-03-30 2006-02-21 Cisco Technology, Inc. Galois field multiply accumulator
US7124064B1 (en) 2001-03-30 2006-10-17 Cisco Technology, Inc. Automatic generation of hardware description language code for complex polynomial functions
US7447982B1 (en) 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US6983414B1 (en) 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
US6792569B2 (en) 2001-04-24 2004-09-14 International Business Machines Corporation Root solver and associated method for solving finite field polynomial equations
CN1561005B (zh) * 2004-02-20 2010-12-08 汇智系统股份有限公司 快速纠双错bch码译码器
JP4891704B2 (ja) * 2006-08-28 2012-03-07 株式会社東芝 半導体記憶装置
JP5259343B2 (ja) * 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
US9804828B2 (en) 2014-11-24 2017-10-31 Apple Inc. Cubic root of a galois field element
US9473176B2 (en) 2014-11-27 2016-10-18 Apple Inc. Implementation of log and inverse operation in a Galois Field
DE102015118668B4 (de) 2015-10-30 2020-06-04 Infineon Technologies Ag Fehlerkorrektur
CN112468290B (zh) * 2020-10-30 2021-12-10 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099160A (en) * 1976-07-15 1978-07-04 International Business Machines Corporation Error location apparatus and methods
US4567594A (en) * 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4839896A (en) * 1987-02-10 1989-06-13 Data Systems Technology Corp. Fast remainder decoding for a Reed-Solomon code

Also Published As

Publication number Publication date
AU7681696A (en) 1997-07-28
CN1176714A (zh) 1998-03-18
EP0830742A1 (en) 1998-03-25
EP0830742A4 (en) 2003-02-05
AU1346897A (en) 1997-07-28
KR19980702551A (ko) 1998-07-15
WO1997024813A1 (en) 1997-07-10
WO1997024812A1 (en) 1997-07-10
CA2213293A1 (en) 1997-07-10
US5710782A (en) 1998-01-20
JP3830527B2 (ja) 2006-10-04

Similar Documents

Publication Publication Date Title
JP3830527B2 (ja) 3つおよび4つのエラーを訂正するための改良されたシステム
US6199188B1 (en) System for finding roots of degree three and degree four error locator polynomials over GF(2M)
US6374383B1 (en) Determining error locations using error correction codes
US5414719A (en) Operating circuit for galois field
US5999959A (en) Galois field multiplier
KR930005427B1 (ko) 실시간 bch 에러 정정 코드 디코딩 메카니즘
US6539515B1 (en) Accelerated Reed-Solomon error correction
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
US7502989B2 (en) Even-load software Reed-Solomon decoder
US5694330A (en) Error correction method including erasure correction, and apparatus therefor
US4841300A (en) Error correction encoder/decoder
JP2004032737A (ja) リード−ソロモン復号器
US5983389A (en) Error correction decoding apparatus
US5761102A (en) System and method for determining the cube root of an element of a galois field GF(2)
US5978956A (en) Five-error correction system
US6581180B1 (en) System and method for performing a Chien search using multiple Galois field elements
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP2000295116A (ja) 誤り修正符号化方法
KR20000037517A (ko) 리드-솔로몬 디코더 회로
JPH0828670B2 (ja) ガロア体演算装置
Argüello Binary GCD algorithm for computing error locator polynomials in Reed-Solomon decoding
JP3889988B2 (ja) エラー訂正回路およびエラー訂正プログラム
EP1370005A2 (en) Reed-Solomon decoder
JPH05268101A (ja) チェンサーチ回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060712

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees