(57)【要約】【課題】  1シンボル当たりのビット数mをあまり増やすことなく、できるだけインターリーブ数や冗長ビット数を少なくする。【解決手段】  mを正整数とし、射影平面Pc−1(GF(2m))上、種数gの代数曲面から構成される代数幾何符号を使用して誤り訂正符号化することにより、最大で2m＋21＋m/2gまでの長さの符号を構成する。特に、P2(GF(22m))上のFermat曲線「C(L) : XL ＋YL＋ZL＝0」のうち、(m, L)＝(5, 11) であるようなものから構成された代数幾何符号「Fermat符号」を使用することで、1セクタ4キロバイトを10ビットシンボルで構成することができる。【選択図】  図１
2005285205.tif 000002
【特許請求の範囲】
【請求項１】
入力信号をバイナリデータに変換するインターフェースと、変換されたバイナリデータを1又は複数のデータブロックに分割するインターリーバと、冗長シンボル、符号長がそれぞれ 2t＋g（t:訂正可能シンボル数、g:正整数）、2m＋1＋g×21+m/2シンボル以下であるような有限体GF(2m)（m:正整数）上の代数幾何符号を使用して前記データブロック毎に誤り訂正符号化する符号化回路と、記録媒体に記録するために誤り訂正符号化されたデータブロックからアナログ信号への変換と前記記録媒体から読み取ったアナログ信号からバイナリデータへの変換を行なう信号処理回路と、前記代数幾何符号を用いて前記信号処理回路で変換されたデータブロックの誤り検出及び訂正を行う復号回路と、誤り検出及び訂正されたデータブロックを結合してバイナリデータにするデインターリーバとを備えた情報記録再生装置。
【請求項２】
1セクタ4キロバイトのデータに対して、10ビットを1シンボルとし、tシンボルまでのランダム誤りを訂正（但し、t≧45）するために冗長シンボルを(2t＋45)シンボル付加するような、符号長210＋1＋45×21+10/2＝3905シンボル以下の誤り訂正符号を使用する請求項１に記載の情報記録再生装置。
【請求項３】
次の2つの条件を満たす射影平面P2(GF(22m))（m:正整数）上のg＝(L−1)(L−2)/2（但し、Lは奇数）であるようなFermat曲線 XL＋YL＋ZL＝0 、又はこのFermat曲線を双有理写像で移した曲線から構成された、有限体GF(22m)上の代数幾何符号を使用する請求項１に記載の情報記録再生装置：
（１） 2m ＝ 2u(2e＋1)。但し、u≧1、e≧1である。
（２） L ＝ (2m＋1)/(2ω＋1)。但し、ω＝2u−1である。
【請求項４】
シンボルを数える基準位置を符号の最上位又は最下位とし、射影平面P2(GF(210))（m:正整数）上のFermat曲線 C: X11＋Y11＋Z11＝0 上の点P(j)＝(αj:βj:γj)を基準位置から数えてj番目（j≧1）のシンボル位置に対応する点とするとき、αn＋1−(11h＋i)＝α−93h×α−c(i)、βn＋1−(11h＋i)＝α−93h×α−c(i)、γn＋1−(11h＋i)＝1（0≦h≦11、0≦i≦10、1≦11h＋i≦min(n, 3630)、c(i)＝33×3i＋1、α: GF(210)の原始根）を満たす有限体GF(210)上の代数幾何符号を使用する請求項１に記載の情報記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記録再生装置に関し、特に新規な誤り訂正符号化方式を採用した情報記録再生装置に関する。
【背景技術】
【０００２】
磁気ディスク装置、光磁気ディスク装置、コンパクトディスク装置等の情報記録再生装置にはReed-Solomon符号が使われている。この符号は磁気ディスク装置では28個の要素からなる。そして、除算については「0で割る」は定義しないが、要素どうしで加減乗除が定義されている集合である有限体GF(28)上のReed-Solomon符号を使用している。このReed-Solomon符号では、8ビット（1バイト）を演算を行なう単位である1シンボルとして、記録再生信号の誤り訂正処理が行なわれている。
【０００３】
Reed-Solomon符号で最大訂正シンボル数tの符号を構成するには、冗長シンボル数を 2t にすればよい。記録再生を1度に行なう単位であるセクタの長さは512シンボル（512バイト）であるが、GF(28)上のReed-Solomon符号の構成可能な符号長が28−1＝255シンボル以下であるため、データを3ブロック以上に分割（インターリーブ）してそれぞれを誤り訂正符号化している。図１０はReed-Solomon符号を含むセクタ内のシンボルが記録される順番と符号構造を示している。
【０００４】
Reed-Solomon符号の利点の一つとして、計算上のシンボル位置を符号の最上位からαn−1 、αn−2 、…、α2 、α1 、α0 （α: 有限体の原始根）とすることができ、復号におけるChienサーチの際に計算上のシンボル位置を乗算器のみで規則的に算出できることが挙げられる。尚、Chienサーチとは、要素を順番に方程式に代入していくことで方程式の解を探す手法のことである。
【０００５】
近年、映像用途への磁気ディスク装置の採用に伴い、ホスト側から見たインターフェースで従来の512バイト単位の読み書き処理を変えないようにしつつ、磁気ディスク装置内部で512バイトよりも長いセクタ長を使用することが国際ディスクドライブ協会（IDEMA: International Disk Drive Equipment Material Association）を中心に議論され始めている。そして、4キロバイト＝32768ビットの長さのセクタ長のデータに対して誤り訂正符号として、8インターリーブ構成でReed-Solomon符号を使うことが一つの候補と考えられている。
【０００６】
【非特許文献１】三浦晋示、"ある平面曲線上の代数幾何符号"、電子情報通信学会論文誌(A)、Vol. J75-A, No. 11、pp. 1735-1745、1998年
【非特許文献２】T. Shibuya, H. Jinushi and S. Miura, "On the Performance of Algebraic Geometric Codes," IEICE Transaction on Fundamentals, Vol. E79-A, No. 6, pp. 291-310, June 1996
【非特許文献３】阪田省二郎、"代数幾何符号とその復号法"、数理科学、No. 421、pp. 33-40、No. 422、pp. 58-60、1998年
【非特許文献４】S. Sakata, "A Vector Version of the BMS Algorithm for Implementing Fast Erasure-and-Error Decoding of One-Point AG codes," Proc. AAECC-12, Springer Verlag, pp. 291-310, 1997
【非特許文献５】J. P. Hansen, H. E. Jensen, and R. Koetter, "Determination of Error Values for Algebraic-Geometry Codes and the Forney Formula," IEEE Transaction on Information Theory, Vol. 44, No. 5, pp. 1881-1886, September 1998
【特許文献１】特開２００２−１１８４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
セクタ誤り率が「インターリーブされた符号のいずれかに偏って訂正不能になる確率」と「インターリーブ数」に比例することから、インターリーブをするよりもしない方がセクタ誤り率を低く抑えることができる。しかしReed-Solomon符号の符号長の制約から、長さa0ビットのデータをインターリーブを用いずに誤り訂正符号するためには、a0/m≦2m−1を満たすような整数mを1シンボル当たりのビット数として構成する必要がある。例えば、長さ4キロバイト（32768ビット）のデータをインターリーブしない場合、1シンボル当たりのビット数mが12以上という条件が導かれる。つまり、冗長ビット数は訂正可能誤り数に比例して増えていくだけでなく、1シンボル当たりのビット数mにも比例して増えていく。これは、セクタ長を8倍にして訂正可能誤り数を8倍にした場合、冗長ビット数は8倍を超えることを意味し、また、1シンボル当たりのビット数mが増加した分だけ誤り1個の訂正に必要なビット数（2m）が増えて、誤りに対する冗長ビットの訂正効率が落ちることも意味する。
【０００８】
復号遅延等を考慮したときにインターリーブせざるを得ないという場合でも、1シンボル当たりのビット数mをあまり増やすことなく、できるだけインターリーブ数や冗長ビット数を少なくしたい。
【課題を解決するための手段】
【０００９】
GF(2m)上の代数幾何符号を使用することで、符号長が2m−1より長い符号を構成する。この構成によって余分に冗長シンボルを付加することになるが、その代わりに符号のシンボル当たりのビット数を減らすことで冗長ビット数を減らす。
【００１０】
代数幾何符号とは、射影平面Pc−1(GF(2m))上の代数曲面「C: f(X1:X2: ... :Xc)＝0」から構成される符号である（構成法は後述）。射影平面Pc−1(GF(2m))とは、(GF(2m))c＼{ (0, 0, ... , 0) } の座標の比を成分としたものである。この射影平面では (α1, α2, ... , αc) と (χα1, χα2, ... , χαc)（但しχ≠0）が同じ点と見なされ、特に座標の比を意識して (α1:α2: ... :αc) のように表記される。代数幾何符号はReed-Solomon符号を一般化したもの、Reed-Solomon符号は代数幾何符号の特別な場合である。図１１は、Reed-Solomon符号、代数幾何符号、以下で記述する楕円曲線符号とFermat符号の関係を示す図である。
【００１１】
代数曲面には種数gと呼ばれるパラメータが定義される。種数とは、3次元空間上の閉じた曲面の穴の数を一般化したものである。双有理写像による曲線の変換によって種数が変化しないこと、射影平面P2(GF(2m))上のCab曲線（非特許文献１、２を参照のこと）についてはg＝(a−1)(b−1)/2であることが知られている。
【００１２】
また、E(C, GF(2m))は次のような集合を表わすとし、εをE(C, GF(2m))の要素の個数とする。E(C, GF(2m))に含まれる点をCのGF(2m)有理点と呼ぶ。体GF(2m)が文脈から明らかな場合には単にCの有理点と呼ぶ。
【００１３】
【数１】
2005285205.tif 000003
【００１４】
E(C, GF(2m))の1個の点Qをとり、E(C, GF(2m))＼{Q} に属する点にP(1) 、P(2) 、…、P(ε−1) と番号付けを行なう。そして、C上の関数空間L(r0Q)の次元がrとなるようにとることで、Cから構成される代数幾何符号の符号語は、（数２）の行列Hに対してHw＝0を満たすような縦ベクトルwとして定義される。但し、L(r0Q)の基底を { v0(P), v1(P), v2(P), ... , vr−1(P) } と表記している。
【００１５】
【数２】
2005285205.tif 000004
【００１６】
特に符号長nはε−1までとることができる。εは（数３）を満たす。
【００１７】
【数３】
2005285205.tif 000005
【００１８】
検査行列Hに対して、（数４）を満たすような正方行列Mが存在するとき、代数幾何符号は組織符号として構成可能である。
【００１９】
【数４】
2005285205.tif 000006
【００２０】
射影平面P2(GF(2m))上のCab曲線とQ＝(0:1:0) の場合、r＞2gのときにはr0＝r＋1−gが成立すること、r＞3g−1のときには(r−g)/2までの個数のランダム誤りが訂正可能であること、（数５）の集合がL(r0Q) の基底になることが知られている。
【００２１】
【数５】
2005285205.tif 000007
【００２２】
つまり、2t＋g＞3g−1のとき、冗長シンボル数を2t＋gにすることで最大訂正シンボル数tの符号を構成することができる。
通常、（数２）における基底は、ai＋bjの小さい順に番号付けする。
【００２３】
以下、射影平面P2(GF(22m))上のFermat曲線「C(L) : XL ＋YL＋ZL＝0」から構成される代数幾何符号であるFermat符号を使用することを検討する。φ(X:Y:Z):＝(X:Y:Y＋Z)とするとφ(C(L))は CL−1L 曲線（(a, b)＝(L−1, L) であるような Cab 曲線）であり、したがって、g＝(L−1)(L−2)/2である。
【００２４】
C＝φ(C(L))、Q＝(0:1:0) とおくことで（数２）と（数３）を満たす。また、Lが1より大きい2m＋1の約数のときは（数３）の等号が必ず成立すると予想されている。そして、（数２）の基底の順序付けは具体的に（数６）のようになる。
【００２５】
【数６】
2005285205.tif 000008
【００２６】
このとき { v0(φ(P)), v1(φ(P)), v2(φ(P)), ... , vr−1(φ(P)) } はC(L) 上の関数空間L(r0φ−1(Q))の基底になる。
【００２７】
また、C＝φ(C(L))、Q＝(0:1:0) のときに（数２）で定義される行列HとC＝C(L)、Q＝φ−1(0:1:0) のときに（数２）で定義される行列Hが一致する。このことは一般に、φ(X:Y:Z)＝(φX:φY:φZ)の各成分φX、φY、φZがX、Y、Zの有理写像で表されて、φ−1(X:Y:Z)の各成分もX、Y、Zの有理写像で表される（つまりφ(X:Y:Z)が双有理写像である）ときに成立する。
【００２８】
4キロバイト、つまり4×1024×8ビットのデータを10ビットシンボルで表わすと3277シンボルになる。また、(m, L)＝(5, 11) と設定されたFermat符号の符号長は3904までとれ、g＝45である。従って、冗長シンボル数は3904−3277＝627であるので、最大訂正シンボル数は291（291×2＋45＝627）である。この符号を用いることで、10ビットを1シンボルとして、4キロバイトセクタをインターリーブなしの構成にすることが可能となる。
【００２９】
特に、（数７）を満たすときには（数８）と（数９）を満たし、各点は部分体の要素や部分体の要素のべき乗根を使用して計算可能である。
【００３０】
【数７】
2005285205.tif 000009
【００３１】
【数８】
2005285205.tif 000010
【００３２】
【数９】
2005285205.tif 000011
【００３３】
代数幾何符号を用いることで、誤り訂正符号の1シンボル当たりのビット数をReed-Solomon符号を用いる場合よりも少なくすることができて、その結果、冗長ビット数を減らすことができる。何故なら、1シンボル当たりのビット数がいくつであっても、最大tシンボルまで訂正可能な符号から最大(t+1)シンボルまで訂正可能な符号にするには冗長シンボル数を2だけ増やすことは変わらず、誤り訂正符号の1シンボル当たりのビット数が少なければ冗長ビット数の増加が抑えられるからである。
【００３４】
以下、磁気ディスク装置では1セクタ4キロバイトをインターリーブなしの構成にできるReed-Solomon符号と、構成例に記載したFermat符号で、冗長ビット数を比較する。
【００３５】
Reed-Solomon符号の場合、符号長の制限からGF(212)かそれより大きな体を使用しなければならない。GF(212)上の符号の場合、12ビットの冗長シンボルを2tシンボル付加すればよい。したがって付加される冗長ビット数は合計2tシンボル×12ビット＝24tビットである。
【００３６】
一方、Fermat符号の場合、GF(210)上のC(11): X11＋Y11＋Z11＝0 （g＝(11−1)(11−2)/2＝45）から構成されるものを使用することができる。この場合、10ビットの冗長シンボルを2t＋g＝2t＋45シンボル付加すればよい。したがって付加される冗長ビット数は合計(2t＋45)シンボル×10ビット＝20t＋450ビットである。これより、t≧113 のときにReed-Solomon符号の冗長ビット数 24t よりもFermat符号のそれ 20t＋450 が少なくなることがわかる。
【００３７】
例えば、最大240シンボルのランダム誤りを訂正できるように誤り訂正符号化を行なうという条件で比較すると、Reed-Solomon符号の冗長ビット数は5760、Fermat符号のそれは5250となる。Fermat符号の冗長ビット数はReed-Solomon符号のそれよりも510ビット少なくすることができる。
【００３８】
また、例えば冗長ビット数を5760（GF(212)上のReed-Solomon符号で最大240シンボルまでのランダム誤りの訂正が可能）で固定すると、GF(210)上のFermat符号では最大265シンボルまでのランダム誤りの訂正が可能である。20×265＋450＜5760＜20×266＋450だからである。つまり、この場合は1セクタで許容可能なランダム誤り数を10%以上増やすことができる計算となる。
【発明の効果】
【００３９】
本発明によると、冗長ビットに対する誤り訂正の効率を向上させることを目的として、誤り訂正符号の1シンボル当たりのビット数を少なくして、その結果として従来のReed-Solomon符号よりも少ない冗長ビット数を実現できる。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照して本発明の実施の形態を説明する。理解を容易にするため、以下の図において、同等の機能部分には同じ符号を付して説明する。
【００４１】
図２は、従来の磁気ディスク装置の概略図である。1セクタ分の入力信号１６はインターフェース（I/F）１４によって1セクタ分のバイナリデータに変換される。1セクタ分のバイナリデータ１３はそのままデータブロックとして、ハードディスクコントローラ（HDC）９に入力される。ハードディスクコントローラ９に入力されたバイナリデータ１３は、インターリーバ（ITLV-3）１１によって1セクタ分のバイナリデータが3つのデータブロックに分割され、Reed-Solomon符号化回路（RS-ENC）６によって誤り訂正符号化される。誤り訂正符号化されたデータブロック８は信号処理LSI（R/W&SPC）３によってメディアに記録するためのアナログ信号２に変換され、それがヘッドに送られる。そして記録媒体である磁気ディスクに記録される。
【００４２】
一方、ヘッドから読み出された信号１は、信号処理LSI３によって等化やビタビ復号等の信号処理が行なわれて0と1とを識別した後、バイナリデータに変換される。変換後のバイナリデータ７はハードディスクコントローラ９に入り、その中のReed-Solomon復号回路（RS-DEC）５によってバイナリデータの誤りの検出・訂正が行なわれ、デインターリーバ（DITLV-3）１０によってReed-Solomon復号回路５で復号された3つの符号ブロックが結合される。復号後のバイナリデータはI/F１４によって、出力するための信号１５に変換される。
【００４３】
尚、本例ではRS-DEC５とRS-ENC６とをワンチップに纏めたReed-Solomon符号化・復号LSIを採用しているが、ワンチップに纏めずに別個の回路としても良い。
【００４４】
図１は、本発明による磁気ディスク装置の一例を示す概略図である。4キロバイト（10ビットシンボルで3277シンボル分）からなる1セクタ分の入力信号１６はアナログ-デジタル変換（A/D変換）手段であるインターフェース（I/F）１４によって1セクタ分のバイナリデータに変換される。1セクタ分のバイナリデータをそのままデータフロックとして、符号化手段であるFermat符号化回路１０２によって誤り訂正符号化される。誤り訂正符号化されたデータブロック８は信号処理LSI（R/W&SPC）３によってメディアに記録するためのアナログ信号２に変換され、それがヘッドに送られる。そして記録媒体である磁気ディスクに記録される。
【００４５】
一方、ヘッドから読み出された信号１は、信号処理LSI３によって等化やビタビ復号等の信号処理が行なわれて0と1とを識別した後、バイナリデータに変換される。変換後のバイナリデータ７はハードディスクコントローラ９に入り、その中のFermat符号の復号回路１０１によって、誤り訂正符号化されたバイナリデータに誤りの検出・訂正が行なわれる。復号後のバイナリデータはI/F１４によって、出力するための信号１５に変換される。
【００４６】
図３は、Fermat符号化回路（AG-ENC）１０２の概略構成図である。この符号器構成は、特許文献１に記載の楕円曲線符号器を改良、拡張したものである。
【００４７】
入力シンボル列b(1)、b(2)、…、b(k) （本例ではk＝3277）が入力端子３０４から入力される。有理点生成器（Point Generator）３０１は、b(j)が入力されるタイミングで点P(j)を出力する。点P(j)を入力として、ベクトル生成回路３０２がベクトルv(j)を出力する。ベクトルv(j)とシンボルb(j)を入力として、スカラー倍演算器３０３がb(j)v(j)を出力する。そしてシンドロームを記憶するメモリ３０５に加算・記憶され、同時にb(j)はセレクタ３０７を素通りする。kシンボル分の処理が終わった後、加算結果Vを入力として、行列演算回路３０６がベクトルMVを出力する。セレクタ３０７はベクトルMVの内容を上から順に選択・出力する。
【００４８】
入力P(j)＝(αj, βj, 1)に対するベクトル生成回路３０２の出力 [ v0(P(j)), v1(P(j)), v2(P(j)), …, vn−k−1(P(j)) ]  が（数１０）のようになることは、(m, L)＝(5, 11)であることと（数６）より導かれる。
【００４９】
【数１０】
2005285205.tif 000012
【００５０】
（数２）より、ベクトル生成回路３０２の出力は符号の検査行列 H の j 列目を定める。そして、行列演算回路３０６における M は、r＝n−k のときの（数４）を満たすような (n−k) 次の正方行列である。
【００５１】
以下、シンボルを数える基準位置から数えて1、2、…、3904番目のシンボルに対応する点をP(1)、P(2)、…、P(3904)と表記する。
【００５２】
図４、図５、図６はE(C(L), GF(22m))に属する点に番号付けとして、（数１１）に示す順番にP(1)、P(2)、…、P(3904)としたときの有理点生成器の概略図である。但し、τ*(j)とσ(j)は（数１２）（数１３）で示すものとする。
【００５３】
【数１１】
2005285205.tif 000013
【００５４】
【数１２】
2005285205.tif 000014
【００５５】
【数１３】
2005285205.tif 000015
【００５６】
図４は、（数１１）で「Group A」と表記しているP(1)、P(2)、…、P(32)を順に生成する回路の概略図である。４０１はP(j)の座標のひとつを記憶しておくメモリで、その初期値はα93である。P(j)の座標の計算の際にはメモリ４０１から(α93)j が出力され、2つに分岐する。分岐の一方はセレクタ４０２の入力に更に分岐される。セレクタ４０２の各入力は、図の上より ((α93)j, 0, 1)=σ(0)((α93)j, 0, 1)、((α93)j, 1, 0)=σ(1)((α93)j, 0, 1)、そして (0, (α93)j, 1)=σ(2)((α93)j, 0, 1)である。セレクタ４０２は、3つの入力のうちσ((j−1) mod 3) ((α93)j, 0, 1) を回路の出力として選択する。そしてもう一方の分岐はα93 を乗じた上でメモリ４０１に記憶される。
【００５７】
図５は、（数１１）で「Group B」と表記しているP(33)、P(34)、…、P(274)を順に生成する回路の概略図である。５０１と５０２はτ*(j) で定数倍される前のP(j) の座標成分を記憶するメモリで、初期値はそれぞれα341とα682である。P(j+33)の座標の計算の際にはメモリ５０１と５０２からそれぞれ(α341, α682) の組か(α682, α341) の組が出力され、それぞれ2つに分岐する。それぞれの分岐の一方はτ*(j) でそれぞれ定数倍され、もう一方の分岐ではメモリ５０１の出力がメモリ５０２に、メモリ５０２の出力がメモリ５０１に記憶される。５０４と５０５は、τ*(j) で各座標に乗ずるべき定数を記憶しておくメモリである。メモリ５０４の出力は分岐して、一方はメモリ５０１の出力に掛けられ、もう一方はα93 を乗じた上でメモリ５０４に記憶される。メモリ５０５の出力は分岐して、一方はメモリ５０２の出力に掛けられ、もう一方はセレクタ５０８で選択された定数（1かα93 か）を乗じた上でメモリ５０５に記憶される。11進カウンタ５０６は11回に1回、値が0になり、セレクタ５０８は、11進カウンタ５０６の値が0になったときに出力される信号５０７により、カウンタ５０６の値が0のときには定数α93 を、それ以外のときには定数1を選択する。
【００５８】
図６は、（数１１）で「Group C」と表記しているP(275)、P(276)、…、P(3904)を順に生成する回路の概略図である。６０１はτ*(j) で定数倍される前のP(j) の座標成分のひとつを記憶するメモリで、初期値はα93 である。P(j+275)の座標の計算の際にはメモリ６０１からそれぞれ(α93)j が出力され、2つに分岐する。分岐の一方は3乗されて、τ*(j) で定数倍されるためとメモリ６０１に記憶されるために更に分岐される。もう一方の分岐は1が加えられてから3乗されて、τ*(j) で定数倍される。τ*(j) の構成は図５と同じである。
【００５９】
以上まで準備すると、行列演算回路３０３における行列Mは、番号付けP(1)、P(2)、…、P(3904)が決まれば固定の値、つまり符号化パラメータである。行列Mを（数２）と（数４）と（数６）から、計算器等で事前に計算しておくことで符号器の構成ができる。
【００６０】
以下より、上記Fermat符号の誤り検出・訂正の一例を述べる。図７は、Fermat符号の誤り検出・訂正の処理の流れを表わしたものである。誤りなしのときに0になるようなチェックサムの集まりであるシンドロームを、入力から計算するためのシンドローム計算処理７０１によって誤りシンドロームs0、s1、s2、…、sn−k−1を計算する。次に、誤り位置多項式計算処理７０２によって、誤りシンドロームから誤り位置多項式f1(P)、f2(P)、…、f10(P)を計算する。次に、Chienサーチによって誤り位置を探索し、見つかった誤り位置における誤りの大きさを求める。この手順は図中の処理ブロック７０３に対応する。
【００６１】
図８は、シンドローム計算回路７０１の概略図である。入力シンボル列z(1)、z(2)、…、z(n)（本例ではn＝3904）が入力端子８０１から入力される。有理点生成器３０１は、z(j)が入力されるタイミングで点P(j)を出力する。点P(j)を入力として、ベクトル生成回路３０２がベクトルv(j)を出力する。ベクトルv(j)とシンボルz(j)を入力として、スカラー倍演算器３０３がz(j)v(j)を出力する。そしてシンドロームを記憶するメモリ８０２に加算・記憶される。nシンボル分の処理が終わった後に結果が誤りシンドロームs0、s1、s2、…、sn−k−1として出力される。
【００６２】
図９は、誤り位置多項式計算処理７０２の詳細を示したものである。この図はBerlekamp-Massey-Sakaraアルゴリズム（非特許文献３、４を参照のこと）と呼ばれている処理をFermat符号に適用した一例である。
【００６３】
（数１４）は、図７中の誤りの大きさ計算（Calculation of Error Value e(j)）で行なう計算の一例を示している。一般化Forneyの公式（非特許文献５を参照のこと）を用いて誤りの大きさの計算を行なうこともできる。
【００６４】
【数１４】
2005285205.tif 000016
【図面の簡単な説明】
【００６５】
【図１】本発明による磁気ディスク装置の一例を示す概略図。
【図２】従来の磁気ディスク装置の概略図。
【図３】Fermat符号化回路の概略構成図。
【図４】Group A に属する有理点を生成する回路の構成例を示す概略図。
【図５】Group B に属する有理点を生成する回路の構成例を示す概略図。
【図６】Group C に属する有理点を生成する回路の構成例を示す概略図。
【図７】Fermat符号の復号回路の誤り検出・訂正の処理の流れを表わす図。
【図８】Fermat符号の復号回路におけるシンドローム計算回路の概略図。
【図９】Fermat符号の復号回路における誤り位置多項式計算処理の詳細を表わす図。
【図１０】Reed-Solomon符号を含むセクタ内のシンボルが記録される順番と符号構造を示す図。
【図１１】Reed-Solomon符号、代数幾何符号、楕円曲線符号、Fermat符号の関係を示す図。
【符号の説明】
【００６６】
１    ヘッドから読み出された信号
２    ヘッドで記録するための信号
３    信号処理LSI（R/W&SPC）
４    Reed-Solomon符号化・復号LSI
５    Reed-Solomon復号回路（RS-DEC）
６    Reed-Solomon符号化回路（RS-ENC）
７    信号１を信号処理LSI３で変換したバイナリデータ
８    Reed-Solomon符号化回路６によって誤り訂正符号化されたデータブロック
９    ハードディスクコントローラ（HDC）
１０    Reed-Solomon復号回路５で復号された3つの符号ブロックを結合するデインターリーバ（DITLV-3）
１１    1セクタ分のバイナリデータを3つのデータブロックに分割するインターリーバ（ITLV-3）
１２    デインターリーバによって復元された1セクタ分のバイナリデータ列
１３    1セクタ分のバイナリデータ列
１４    インターフェース（I/F）
１５    読み出された信号に対応する磁気ディスクの1セクタ分の出力信号
１６    1セクタ分の入力信号
１０１    代数幾何符号の復号回路（AG-DEC）
１０２    代数幾何符号の符号化回路（AG-ENC）
３０１    シンボル位置を表わす有理点を決められた順番に出力する回路
３０２    関数vi(P)（数３）への代入計算回路
３０３    代入計算回路の出力に行列M（数４）を掛ける行列演算回路
３０４    入力端子
３０５    行列演算回路の出力ベクトルに入力シンボルの値を掛けるスカラー乗算回路
３０６    冗長シンボルの計算途中の値を記憶するメモリ
３０７    符号化データの出力シンボルを選択するセレクタ
４０１    Group Aの有理点の一座標成分を記憶するメモリ
４０２    有理点の出力を切り換えるセレクタ
５０１〜５０２    Group Bの有理点の座標成分を記憶するメモリ
５０３    写像τ*(j) による変換を行なう回路
５０４〜５０５    各座標成分に掛ける値を記憶するメモリ
５０６    11進カウンタ
５０７    11進カウンタが0になったときに出力される信号
５０８    ５０５に記憶している値を更新するための値を切り換えるセレクタ
６０１    Group Cの有理点の一座標成分を記憶するメモリ
８０１    シンドローム計算回路の入力端子
８０２    シンドロームの計算途中の値を記憶するメモリ
【図１】
2005285205.tif 000017
【図２】
2005285205.tif 000018
【図３】
2005285205.tif 000019
【図４】
2005285205.tif 000020
【図５】
2005285205.tif 000021
【図６】
2005285205.tif 000022
【図７】
2005285205.tif 000023
【図８】
2005285205.tif 000024
【図９】
2005285205.tif 000025
【図１０】
2005285205.tif 000026
【図１１】
2005285205.tif 000027