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

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

Info

Publication number
JP3830527B2
JP3830527B2 JP52450797A JP52450797A JP3830527B2 JP 3830527 B2 JP3830527 B2 JP 3830527B2 JP 52450797 A JP52450797 A JP 52450797A JP 52450797 A JP52450797 A JP 52450797A JP 3830527 B2 JP3830527 B2 JP 3830527B2
Authority
JP
Japan
Prior art keywords
error
polynomial
solution
equation
processor
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 - Fee Related
Application number
JP52450797A
Other languages
English (en)
Other versions
JPH11501795A (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

Images

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)

Description

発明の分野
この発明は、一般に、データ処理システムに関し、より特定的には、エラー訂正コードを用いたデータにおけるエラーを復号しかつ訂正するためのシステムに関する。
発明の背景
磁気ディスクなどの磁気媒体上に記憶されたデータは、典型的には、符号化された形で記憶されており、したがって記憶されたデータ内のエラーを恐らくは訂正することができる。エラーは、たとえば、符号間干渉、ディスク内の欠陥、またはノイズによって起こり得る。ディスク上に記憶されるデータの密度が増加するに伴い、より多くのエラーが起こりかねず、システムはより多数のエラーを訂正せねばならない。システムがエラーを訂正する速度は、システムがデータを処理する全体的な速度において重要である。
記憶する前に、多ビットデータシンボルはエラー訂正コード(ECC)を用いて符号化される。データシンボルがディスクから検索され復調されるとき、ECCが用いられ、その名前が示しているように誤ったデータを訂正する。
特定的には、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進BCHコードの完全なデコーディング(Complete Decoding of Triple-Error-Correcting Binary BCH Codes)」『情報理論についてのIEEE紀要(IEEE Transactions on Infomation Theory)』、Vol.IT-22、1976年、138頁から147頁に説明されている三次多項式の解を決定する方法を利用している。
ファンデルホルストおよびバーガーの教示に従って三次多項式の解を求めるためには、GF(22m)にわたってのガロア体要素の立方根を決定することが必要である。後にここで説明するように、本発明者は比較的迅速かつ容易に立方根を求めるためのある発明の回路を開発した。
発明の概要
この発明は、四次エラーロケータ多項式を最終的に2つの二次方程式に変換し、これらの方程式の解を求め、これらの解からエラーロケータ多項式の解を決定することによって、GF(22m)内の4つのエラーのエラー位置を決定するシステムである。
より特定的には、このシステムは、最初に四次多項式
σ(x)=σ4x43x32x21x+σ0
[1]
を操作して、
θ(y)=y42y21y+θ0
[2]
の形にする。ここで、θiはエラーロケータ多項式の項の係数の組合せである。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+w2
[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つのエラー位置処理がそれぞれA節およびB節で説明される。
A.2つのエラー位置の決定
もしコードワードが2つのエラーを含んでいたならば、エラーロケータ多項式の形は、
σ(x)=σ2x21x+σ0
[1]
となる。この多項式の解を求めるために、このシステムは多項式をゼロに等しいとおく。
σ(x)=σ2x21x+σ0=0
[2]
そしてこの方程式を解x0およびx1について解く。
方程式2を解くためにエラーロケータプロセッサ16はこの方程式の形を変換する。
y2+y+C=0
[3]
変数を、
Figure 0003830527
と変えることによって、方程式2は、
Figure 0003830527
となる。次に、これを
Figure 0003830527
で除することによって、このシステムは次の方程式を生成する。
Figure 0003830527
したがって、方程式3のCは
Figure 0003830527
である。
方程式5の解がGF(22m)内に存在するためには、方程式の両辺の「トレース」は同じでなくてはならない。トレースは、
Figure 0003830527
と定義される。
トレース(0)は0に等しく、したがって、解がガロア体内に存在するためには、
Figure 0003830527
である。項の合計のトレースは、個々の項のトレースの合計に等しい。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は基底要素00100・・・0と00010・・・0との線形結合である。方程式5の一般解は、合計すると
Figure 0003830527
を生成する基底要素に対応する基底解の線形結合である。
生成元多項式x4+x+1で定義されるGF(24)においては、ゼロのトレースを有する各要素αiはまたその最も重要なビットとしてゼロを有する。したがって、この体内の問題のCは基底要素α0=0001、α1=0010およびα2=0100の結合である。対応する基底解は、
5)2+α50 ここでy05
9)2+α91 ここでy09
3)2+α32 ここでy03
であり、もう1つの基底解の組は、
10)2+α100 ここでy110
7)2+α71 ここでy17
14)2+α142 ここでy114
である。このガロア体内では、たとえば、Cがα8=0101に等しい方程式3の解は、Cを
C=α0+α2=0001+0100
に分解し、基底解の対応する組を合計し、たとえば、
y05+α311
として第1の解を生成し、第2の解を、
y1=y00
と決定することによって決定される。次に、このシステムは二次エラーロケータ多項式の解を、
Figure 0003830527
として決定する。
B.3つのエラー位置の決定
3つのエラーに関連するエラーロケータ多項式の形は、
σ(x)=σ3x32x21x+σ0
[8]
である。解を求めるために、このシステムは、多項式をゼロに等しいとおく。
σ(x)=σ3x32x21x+σ0=0
[9]
そしてこの方程式の形を変換して、
y3+ay+b=0
とする。このために、システムは変数を変え、
Figure 0003830527
として、方程式9は、
Figure 0003830527
となる。次にシステムは方程式10の項を展開して、
Figure 0003830527
とし、同類項をまとめて、
Figure 0003830527
を生成する。GF(22m)においては、同一項の合計はゼロに等しいので、方程式は、
Figure 0003830527
となる。このシステムは方程式12をσ3で除し、次の形の方程式を生成する。
y3+ay+b=0
[13]
ここで
Figure 0003830527
もしa≠0ならば、システムは変数を変え、
Figure 0003830527
とし、方程式13は、
Figure 0003830527
となる。次に方程式15を展開し同類項をまとめて、
Figure 0003830527
を生成する。このシステムは次に方程式16をz3で乗じて、
(z3)2+bz3+a=0,
[17]
を生成し、この式は、変数z3を有する二次方程式である。次に方程式17はA節で説明した2つのエラー方法を用いて解くことができる。
一旦1つの解z03が決定されると、このシステムは以下に図2および図3を参照して説明される回路を用いて立方根z0を求める。mが偶数である限り、方程式17の第2の解z1は、
Figure 0003830527
であり、mは偶数であるので22m−1は3で割り切れるので、指数
Figure 0003830527
は常に整数である。方程式17の第3の解は、
z2=z1+z0
である。このシステムは次にこれらの解をyについて式に代入し、代入の結果を個々に
Figure 0003830527
に加えて、三次エラーロケータ多項式の解x0、x1およびx2を生成する。
もしa=0ならば、方程式13の解はy=b1/3である。bの立方根を求めるために、このシステムは図2に示す回路を使用する。一旦立方根がわかれば、このシステムはy1およびy2を、
Figure 0003830527
と決定し、これらの値から解x0、x1およびx2を決定する。
次に図2および図3を参照すると、回路200は、GF(22m)の要素α3kの立方根を、この要素を
Figure 0003830527
に関連する累乗で乗することによって求める。いずれの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はまた
Figure 0003830527
という事実も利用している。
回路200を用いて、ガロア体要素α3kは、乗算器202内で、3で割り切れない恒等式の因子に対応する累乗に乗される(ステップ300)。m=4の例では、要素は、2m+1乗に乗される。そして、ルックアップテーブル204を用いて、積
Figure 0003830527
の立方根
Figure 0003830527
を求める(ステップ302)。可能な積
Figure 0003830527
の立方根についてしかエントリを持たないテーブルは、比較的小さい。GF(28)の例では、テーブルは5つのエントリしか持たない。
乗算器202はまた、要素α3k
Figure 0003830527
に対応する累乗で乗し(ステップ304)、その結果は、ルックアップテーブル204によって生成された立方根で、GF乗算器206内で乗される(ステップ306)。
Figure 0003830527
ステップ308において、このシステムは、この積を
Figure 0003830527
乗し、立方根αkを生成する。
図4は、GF(28)、すなわちm=4についての回路200を示している。α3kを2m+1乗するために、この回路は、GF乗算器201内で、まず要素を2mまたは24=16乗する。次に、GF乗算器203内で、積α3k(16)48kを要素α3kで乗して、積
Figure 0003830527
を生成する。この積は、5つの要素のルックアップテーブル204に入るために使用される。
α0→α0
α51→α17
α102→α34
α153→α51
α204→α68
これによってα17kが生成される。
GF乗算器207および209を用いて、要素α3k
Figure 0003830527
乗される。GF乗算器207はまず要素を22または4乗し、GF乗算器209は積α3k(4)12kを要素α3kで乗し、積α15kを生成する。
GF乗算器206は次に2つの積を乗するα17k*α15k32k。この結果は次に乗算器210内で
Figure 0003830527
乗され、立方根、αkを生成する。
回路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において変数を変える。
Figure 0003830527
そして方程式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に対して
Figure 0003830527
を代入し、ここで
Figure 0003830527
であるので、線形項の係数はゼロである。したがって方程式21は、
Figure 0003830527
となり、ここで「s」は方程式21の定数項である。
この方程式を直接解くのではなくこのシステムはステップ506において、
Figure 0003830527
の解を求める。
したがって、このシステムは、
Figure 0003830527
または、
θθ(y)=y42y21y+θ0=0
[25]
ここで
Figure 0003830527
を解く。ステップ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の係数に等しいものとおく(ステップ510)。
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はエラーロケータ多項式の係数の組合せであるので、既知であることを思い出されたい。したがって、このシステムは
Figure 0003830527
とおき、これをθ2についての式に代入し、かつtで乗することによって、方程式
t32t+θ1=0
[28]
を生成する。
この結果は、上のB節で説明した演算を用いて解くことができる三次多項式である(ステップ514)。特定的には、このシステムは変数を変え、
Figure 0003830527
そして方程式28は、
Figure 0003830527
となる。項を展開しかつまとめて、
Figure 0003830527
かつz3で乗することによって、このシステムは、変数z3を持つ二次方程式である方程式(z3)21z3+a3=0を生成する。
A節の方法を用いて、このシステムは方程式29の解を求める。
このシステムはこうして変数を変え、
z31g
[30]
とし、そして二次方程式は、
θ1 2g21 2g+a3=0
[31]
または
Figure 0003830527
となる。もしトレース
Figure 0003830527
ならば、方程式31の解はGF(22m)内に存在する。解が存在すると仮定すると、これらは、
Figure 0003830527
を基底要素の線形結合に分解し、基底要素を対応する基底解と関連付けることによって、決定される。
一旦解が決定されると、システムはそれらのうち1つをたとえばg0をz3について式30に代入し、図2の回路を用いてz3の立方根z0を決定する。このシステムは次に式
Figure 0003830527
の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に代入し、四次エラーロケータ多項式の解を決定する。最後に、このシステムはステップ524において、エラーロケータ多項式の解をコードワード内の位置と関連付ける。
この四次エラーロケータ多項式の解を決定する直接的方法は、チェンサーチを行なったりまたはm×mのマトリックスを操作したりするよりも迅速である。さらに、この方法においては、他の先行する既知のシステムにおいて使用される大きなルックアップテーブルが必要ない。

Claims (6)

  1. エラーロケータ多項式の解を求めることで、コードワードの4つのエラー位置を決定するエラーロケータプロセッサを用いて、リードソロモン符号またはBCH符号の前記コードワード内の4つのエラーの位置を決定する方法であって、
    前記エラーロケータプロセッサは、
    2つのエラー位置を決定するために2次元多項式を解くように構成された2エラープロセッサと、
    3つのエラー位置を決定するために3次元多項式を解くように構成された3エラープロセッサと、
    4つのエラー位置を決定するために4次元多項式を解くように構成された4エラープロセッサとを含み、
    この前記4エラープロセッサにより実行される方法は、
    a.四次エラーロケータ多項式
    Figure 0003830527
    を操作して
    Figure 0003830527
    の形の多項式を生成するステップと、
    b.多項式を因数分解して、
    Figure 0003830527
    にするステップと、
    c.ステップaおよびステップbの多項式の係数を等置するステップと、
    Figure 0003830527
    d.唯一の未知数tを持つ方程式
    Figure 0003830527
    を決定するステップと、
    e.前記3エラープロセッサを使用して解t 0 について解くステップとを備え、
    Figure 0003830527
    の解について解くステップは、
    i.変数を
    Figure 0003830527
    ここで
    Figure 0003830527
    に変えて、
    Figure 0003830527
    の形の方程式を生成するステップと、
    ii.ステップiの方程式をz3で乗して、変数z3を持つ二次方程式を得るステップと、
    Figure 0003830527
    iii.ステップiiの二次方程式をz3について解くステップと、
    iv.z3の立方根z0を決定するステップと、
    v.z0の値を式
    Figure 0003830527
    に代入するステップとを含み、
    f.uおよびwを解とする二次方程式を形成するステップと、
    Figure 0003830527
    g.前記2エラープロセッサを使用して解p 0 およびp 1 について解くステップと、
    h.解をθ(y)に代入して前記2エラープロセッサを使用して以下の1対の二次方程式の解を決定するステップと、
    Figure 0003830527
    i.1対の二次方程式の解y 0 、y 1 およびy 2 、y 3 を、四次エラーロケータ多項式の解と関連付けるステップと、
    j.四次エラーロケータ多項式の解をコードワード内の位置と関連付けるステップとをさらに備える、コードワード内の4つのエラーの位置を決定する方法。
  2. エラーロケータ多項式の解を求めることで、コードワードの4つのエラー位置を決定するエラーロケータプロセッサを用いて、リードソロモン符号またはBCH符号の前記コードワード内の4つのエラーの位置を決定する方法であって、
    前記エラーロケータプロセッサは、
    2つのエラー位置を決定するために2次元多項式を解くように構成された2エラープロセッサと、
    4つのエラー位置を決定するために4次元多項式を解くように構成された4エラープロセッサとを含み、
    この前記4エラープロセッサにより実行される方法は、
    a.四次エラーロケータ多項式
    Figure 0003830527
    を操作して、
    Figure 0003830527
    の形の多項式を生成するステップと、
    b.多項式を、因数分解して
    Figure 0003830527
    にするステップとを備え、
    エラーロケータ多項式をθ(y)に変換するステップは、
    i.変数をx=y+rここで
    Figure 0003830527
    に変え、項を展開しまとめて
    Figure 0003830527
    の形の方程式を生成するステップと、
    ii.
    Figure 0003830527
    をステップiの方程式に代入し、
    Figure 0003830527
    の形の方程式を生成するステップを含み、ここでsはステップiの方程式の定数項であり、さらに、
    iii.
    Figure 0003830527
    ここで
    Figure 0003830527
    に展開される、
    Figure 0003830527
    の解を求めるステップとを含み、
    c.ステップaおよびステップbの多項式の係数を等置するステップと、
    Figure 0003830527
    d.唯一の未知数tを持つ方程式
    Figure 0003830527
    を決定するステップと、
    e.前記3エラープロセッサを使用して解t 0 について解くステップとを備え、
    f.uおよびwを解とする二次方程式を形成するステップと、
    Figure 0003830527
    g.前記2エラープロセッサを使用して解p 0 およびp 1 について解くステップと、
    h.解をθ(y)に代入して前記2エラープロセッサを使用して以下の1対の二次方程式の解を決定するステップと、
    Figure 0003830527
    i.1対の二次方程式の解y 0 、y 1 およびy 2 、y 3 を、四次エラーロケータ多項式の解と関連付けるステップと、
    j.四次エラーロケータ多項式の解をコードワード内の位置と関連付けるステップとをさらに備える、コードワード内の4つのエラーの位置を決定する方法。
  3. エラーロケータ多項式の解を求めることで、コードワードの4つのエラー位置を決定するエラーロケータプロセッサを用いて、リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位置を決定する方法であって、
    前記エラーロケータプロセッサは、
    2つのエラー位置を決定するために2次元多項式を解くように構成された2エラープロセッサと、
    4つのエラー位置を決定するために4次元多項式を解くように構成された4エラープロセッサとを含み、
    この前記4エラープロセッサにより実行される方法は、
    a.四次エラーロケータ多項式
    Figure 0003830527
    を操作して、
    Figure 0003830527
    の形の多項式を生成するステップと、
    b.多項式を、因数分解して
    Figure 0003830527
    にするステップと、
    c.t、u、v、およびwの値を決定するステップとを備え、
    t、u、v、およびwの値を決定するステップは、
    i.ステップaおよびステップbの多項式の係数を等置するステップと、
    Figure 0003830527
    ii.唯一の未知数tを持つ方程式を決定するステップと、
    Figure 0003830527
    iii.解t0について解くステップとを含み、
    Figure 0003830527
    の解について解くステップは、
    a.変数を
    Figure 0003830527
    ここで
    Figure 0003830527
    に変え、
    Figure 0003830527
    の形の方程式を生成するステップと、
    b.ステップaの方程式をz3で乗してz3を変数とする二次方程式を得るステップと、
    Figure 0003830527
    c.ステップbの二次方程式をz3について解くステップと、
    d.z3の立方根z0を決定するステップと、
    e.z0の値を式
    Figure 0003830527
    に代入するステップとを有し、
    iv.uおよびwを解とする二次方程式を形成するステップと、
    Figure 0003830527
    v.uおよびwである解p 0 およびp 1 について解くステップとをさらに含み、
    d.値t、u、v、およびwをθ(y)に代入し、前記2エラープロセッサを使用して、以下の1対の二次方程式の解を決定するステップと、
    Figure 0003830527
    e.前記1対の二次方程式の解y 0 、y 1 およびy 2 、y 3 を、四次エラーロケータ多項式の解と関連付けるステップと、
    f.四次エラーロケータ多項式の解をコードワード内の位置と関連付けるステップとを含む、コードワード内の4つのエラーの位置を決定する方法。
  4. エラーロケータ多項式の解を求めることで、コードワードの4つのエラー位置を決定するエラーロケータプロセッサを用いて、リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位置を決定する方法であって、
    前記エラーロケータプロセッサは、
    2つのエラー位置を決定するために2次元多項式を解くように構成された2エラープロセッサと、
    4つのエラー位置を決定するために4次元多項式を解くように構成された4エラープロセッサとを含み、
    この前記4エラープロセッサにより実行される方法は、
    a.四次エラーロケータ多項式
    Figure 0003830527
    を操作して、
    Figure 0003830527
    の形の多項式を生成するステップと、
    b.多項式を、因数分解して
    Figure 0003830527
    にするステップとを備え、
    エラーロケータ多項式をθ(y)に変換するステップは、
    i.変数をx=y+r、ここで
    Figure 0003830527
    に変え、項を展開しまとめて、
    Figure 0003830527
    の形の方程式を生成するステップと、
    ii.
    Figure 0003830527
    をステップiの方程式に代入し、
    Figure 0003830527
    の形の方程式を生成するステップとを含み、ここでsはステップiの方程式の定数項であり、さらに
    iii.展開すると、
    Figure 0003830527
    ここで
    Figure 0003830527
    の解を求めるステップとを含み、
    c.t、u、v、およびwの値を決定するステップと、
    d.値t、u、v、およびwをθ(y)に代入し、前記2エラープロセッサを使用して、以下の1対の二次方程式の解を決定するステップと、
    Figure 0003830527
    e.前記1対の二次方程式の解y 0 、y 1 およびy 2 、y 3 を、四次エラーロケータ多項式の解と関連付けるステップと、
    f.四次エラーロケータ多項式の解をコードワード内の位置と関連付けるステップとをさらに備える、コードワード内の4つのエラーの位置を決定する方法。
  5. リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位置を決定するデコーダであって、
    前記コードワードと関連するエラーシンドロームの組を生成するシンドローム発生器と、
    前記エラーシンドロームからエラーロケータ多項式を生成するエラーロケータ多項式発生器と、
    前記エラーロケータ多項式の解を求めることで、前記コードワードのエラー位置を決定するエラーロケータプロセッサとを備え、
    前記エラーロケータプロセッサは、
    2つのエラー位置を決定するために2次元多項式を解くように構成された2エラープロセッサと、
    3つのエラー位置を決定するために3次元多項式を解くように構成された3エラープロセッサと、
    4つのエラー位置を決定するために4次元多項式を解くように構成された4エラープロセッサとを含み、前記4エラープロセッサは、前記エラーロケータ多項式発生器が4次のエラーロケータ多項式を生成した場合に、
    a)四次エラーロケータ多項式
    Figure 0003830527
    を操作して
    Figure 0003830527
    の形の多項式を生成し、
    b)多項式を因数分解して、
    Figure 0003830527
    にし、
    c)前記ステップaおよびbで得られた多項式の係数を以下のように等置し、
    Figure 0003830527
    d)唯一の未知数tを持つ方程式
    Figure 0003830527
    を決定し、
    e)前記3エラープロセッサを使用して解t0について解き、
    Figure 0003830527
    の解について解くにあたり、
    i.変数を
    Figure 0003830527
    ここで
    Figure 0003830527
    に変えて、
    Figure 0003830527
    の形の方程式を生成し、
    ii.iの方程式をz 3 で乗して、変数z 3 を持つ二次方程式を得て、
    Figure 0003830527
    iii.iiの二次方程式をz 3 について解き、
    iv.z 3 の立方根z 0 を決定し、
    v.z 0 の値を式
    Figure 0003830527
    に代入し、
    f)uおよびwを解とする以下の二次方程式を形成し、
    Figure 0003830527
    g)前記2エラープロセッサを使用して解p0およびp1について解き、
    h)前記ステップgでの解を
    に代入して以下の1対の二次方程式の解を決定し、
    Figure 0003830527
    i)前記1対の二次方程式の解y0、y1およびy2、y3を、四次エラーロケータ多項式の解と関連付け、
    j)前記四次エラーロケータ多項式の解をコードワード内の位置と関連付ける、デコーダ。
  6. リードソロモン符号またはBCH符号のコードワード内の4つのエラーの位置を決定するデコーダであって、
    前記コードワードと関連するエラーシンドロームの組を生成するシンドローム発生器と、
    前記エラーシンドロームからエラーロケータ多項式を生成するエラーロケータ多項式発生器と、
    前記エラーロケータ多項式の解を求めることで、前記コードワードのエラー位置を決定するエラーロケータプロセッサとを備え、
    前記エラーロケータプロセッサは、
    2つのエラー位置を決定するために2次元多項式を解くように構成された2エラープロセッサと、
    4つのエラー位置を決定するために4次元多項式を解くように構成された4エラープロセッサとを含み、前記4エラープロセッサは、前記エラーロケータ多項式発生器が4次のエラーロケータ多項式を生成した場合に、
    a)四次エラーロケータ多項式
    Figure 0003830527
    を操作して、
    Figure 0003830527
    の形の多項式を生成し、
    b)多項式を、因数分解して
    Figure 0003830527
    にし、
    c)t、u、v、およびwの値を決定し、
    t、u、v、およびwの値を決定するにあたり、
    i.ステップaおよびステップbの多項式の係数を等置し、
    Figure 0003830527
    ii.唯一の未知数tを持つ方程式を決定し、
    Figure 0003830527
    iii.解t 0 について解き、
    Figure 0003830527
    の解について解くにあたり、
    a.変数を
    Figure 0003830527
    ここで
    Figure 0003830527
    に変え、
    Figure 0003830527
    の形の方程式を生成し、
    b.ステップaの方程式をz 3 で乗してz 3 を変数とする二次方程式を得て、
    Figure 0003830527
    c.ステップbの二次方程式をz 3 について解き、
    d.z 3 の立方根z 0 を決定し、
    e.z 0 の値を式
    Figure 0003830527
    に代入し、
    iv.uおよびwを解とする二次方程式を形成し、
    Figure 0003830527
    v.uおよびwである解p 0 およびp 1 について解き、
    d)値t、u、v、およびwをθ(y)に代入し、前記2エラープロセッサを使用して、以下の1対の二次方程式の解を決定し、
    Figure 0003830527
    e)前記1対の二次方程式の解y0、y1およびy2、y3を、四次エラーロケータ多項式の解と関連付け、
    f)四次エラーロケータ多項式の解をコードワード内の位置と関連付け、コードワード内の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 JPH11501795A (ja) 1999-02-09
JP3830527B2 true 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
US6983414B1 (en) 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
US7003715B1 (en) * 2001-03-30 2006-02-21 Cisco Technology, Inc. Galois field multiply accumulator
US7447982B1 (en) 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US7124064B1 (en) 2001-03-30 2006-10-17 Cisco Technology, Inc. Automatic generation of hardware description language code for complex polynomial functions
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
JPH11501795A (ja) 1999-02-09
US5710782A (en) 1998-01-20
EP0830742A4 (en) 2003-02-05
EP0830742A1 (en) 1998-03-25
AU1346897A (en) 1997-07-28
WO1997024812A1 (en) 1997-07-10
WO1997024813A1 (en) 1997-07-10
KR19980702551A (ko) 1998-07-15
AU7681696A (en) 1997-07-28
CN1176714A (zh) 1998-03-18
CA2213293A1 (en) 1997-07-10

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
US5999959A (en) Galois field multiplier
KR930005427B1 (ko) 실시간 bch 에러 정정 코드 디코딩 메카니즘
US5414719A (en) Operating circuit for galois field
US7502989B2 (en) Even-load software Reed-Solomon decoder
US7096409B2 (en) Reed-solomon decoder and decoding method for errors and erasures decoding
US4841300A (en) Error correction encoder/decoder
JP3176171B2 (ja) 誤り訂正方法及びその装置
US5905740A (en) Apparatus and method for error correction
JP2004032737A (ja) リード−ソロモン復号器
EP0836285B1 (en) Reed-Solomon decoder with general-purpose processing unit and dedicated circuits
US5761102A (en) System and method for determining the cube root of an element of a galois field GF(2)
US6581180B1 (en) System and method for performing a Chien search using multiple Galois field elements
US5978956A (en) Five-error correction system
US6915478B2 (en) Method and apparatus for computing Reed-Solomon error magnitudes
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
JP3614978B2 (ja) ガロア体の除算方法および除算装置
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
JP2000295116A (ja) 誤り修正符号化方法
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP3223513B2 (ja) 誤り訂正復号装置
JPH09162753A (ja) 符号語の復号方式
JP3889988B2 (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