JP2005285205A - 情報記録再生装置 - Google Patents
情報記録再生装置 Download PDFInfo
- Publication number
- JP2005285205A JP2005285205A JP2004096512A JP2004096512A JP2005285205A JP 2005285205 A JP2005285205 A JP 2005285205A JP 2004096512 A JP2004096512 A JP 2004096512A JP 2004096512 A JP2004096512 A JP 2004096512A JP 2005285205 A JP2005285205 A JP 2005285205A
- Authority
- JP
- Japan
- Prior art keywords
- code
- symbols
- fermat
- circuit
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/132—Algebraic geometric codes, e.g. Goppa codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
- H03M13/1525—Determination and particular use of error location polynomials
- H03M13/153—Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】 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ビットシンボルで構成することができる。
【選択図】 図1
【解決手段】 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ビットシンボルで構成することができる。
【選択図】 図1
Description
本発明は、情報記録再生装置に関し、特に新規な誤り訂正符号化方式を採用した情報記録再生装置に関する。
磁気ディスク装置、光磁気ディスク装置、コンパクトディスク装置等の情報記録再生装置には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ブロック以上に分割(インターリーブ)してそれぞれを誤り訂正符号化している。図10は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
特開2002−118471号公報
セクタ誤り率が「インターリーブされた符号のいずれかに偏って訂正不能になる確率」と「インターリーブ数」に比例することから、インターリーブをするよりもしない方がセクタ誤り率を低く抑えることができる。しかし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符号は代数幾何符号の特別な場合である。図11は、Reed-Solomon符号、代数幾何符号、以下で記述する楕円曲線符号とFermat符号の関係を示す図である。
代数曲面には種数gと呼ばれるパラメータが定義される。種数とは、3次元空間上の閉じた曲面の穴の数を一般化したものである。双有理写像による曲線の変換によって種数が変化しないこと、射影平面P2(GF(2m))上のCa b曲線(非特許文献1、2を参照のこと)についてはg=(a−1)(b−1)/2であることが知られている。
また、E(C, GF(2m))は次のような集合を表わすとし、εをE(C, GF(2m))の要素の個数とする。E(C, GF(2m))に含まれる点をCのGF(2m)有理点と呼ぶ。体GF(2m)が文脈から明らかな場合には単にCの有理点と呼ぶ。
E(C, GF(2m))の1個の点Qをとり、E(C, GF(2m))\{Q} に属する点にP(1) 、P(2) 、…、P(ε−1) と番号付けを行なう。そして、C上の関数空間L(r0Q)の次元がrとなるようにとることで、Cから構成される代数幾何符号の符号語は、(数2)の行列Hに対してHw=0を満たすような縦ベクトルwとして定義される。但し、L(r0Q)の基底を { v0(P), v1(P), v2(P), ... , vr−1(P) } と表記している。
特に符号長nはε−1までとることができる。εは(数3)を満たす。
検査行列Hに対して、(数4)を満たすような正方行列Mが存在するとき、代数幾何符号は組織符号として構成可能である。
射影平面P2(GF(2m))上のCa b曲線とQ=(0:1:0) の場合、r>2gのときにはr0=r+1−gが成立すること、r>3g−1のときには(r−g)/2までの個数のランダム誤りが訂正可能であること、(数5)の集合がL(r0Q) の基底になることが知られている。
つまり、2t+g>3g−1のとき、冗長シンボル数を2t+gにすることで最大訂正シンボル数tの符号を構成することができる。
通常、(数2)における基底は、ai+bjの小さい順に番号付けする。
通常、(数2)における基底は、ai+bjの小さい順に番号付けする。
以下、射影平面P2(GF(22m))上のFermat曲線「C(L) : XL +YL+ZL=0」から構成される代数幾何符号であるFermat符号を使用することを検討する。φ(X:Y:Z):=(X:Y:Y+Z)とするとφ(C(L))は CL−1 L 曲線((a, b)=(L−1, L) であるような Ca b 曲線)であり、したがって、g=(L−1)(L−2)/2である。
C=φ(C(L))、Q=(0:1:0) とおくことで(数2)と(数3)を満たす。また、Lが1より大きい2m+1の約数のときは(数3)の等号が必ず成立すると予想されている。そして、(数2)の基底の順序付けは具体的に(数6)のようになる。
このとき { v0(φ(P)), v1(φ(P)), v2(φ(P)), ... , vr−1(φ(P)) } はC(L) 上の関数空間L(r0φ−1(Q))の基底になる。
また、C=φ(C(L))、Q=(0:1:0) のときに(数2)で定義される行列HとC=C(L)、Q=φ−1(0:1:0) のときに(数2)で定義される行列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キロバイトセクタをインターリーブなしの構成にすることが可能となる。
特に、(数7)を満たすときには(数8)と(数9)を満たし、各点は部分体の要素や部分体の要素のべき乗根を使用して計算可能である。
代数幾何符号を用いることで、誤り訂正符号の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符号よりも少ない冗長ビット数を実現できる。
以下、図面を参照して本発明の実施の形態を説明する。理解を容易にするため、以下の図において、同等の機能部分には同じ符号を付して説明する。
図2は、従来の磁気ディスク装置の概略図である。1セクタ分の入力信号16はインターフェース(I/F)14によって1セクタ分のバイナリデータに変換される。1セクタ分のバイナリデータ13はそのままデータブロックとして、ハードディスクコントローラ(HDC)9に入力される。ハードディスクコントローラ9に入力されたバイナリデータ13は、インターリーバ(ITLV-3)11によって1セクタ分のバイナリデータが3つのデータブロックに分割され、Reed-Solomon符号化回路(RS-ENC)6によって誤り訂正符号化される。誤り訂正符号化されたデータブロック8は信号処理LSI(R/W&SPC)3によってメディアに記録するためのアナログ信号2に変換され、それがヘッドに送られる。そして記録媒体である磁気ディスクに記録される。
一方、ヘッドから読み出された信号1は、信号処理LSI3によって等化やビタビ復号等の信号処理が行なわれて0と1とを識別した後、バイナリデータに変換される。変換後のバイナリデータ7はハードディスクコントローラ9に入り、その中のReed-Solomon復号回路(RS-DEC)5によってバイナリデータの誤りの検出・訂正が行なわれ、デインターリーバ(DITLV-3)10によってReed-Solomon復号回路5で復号された3つの符号ブロックが結合される。復号後のバイナリデータはI/F14によって、出力するための信号15に変換される。
尚、本例ではRS-DEC5とRS-ENC6とをワンチップに纏めたReed-Solomon符号化・復号LSIを採用しているが、ワンチップに纏めずに別個の回路としても良い。
図1は、本発明による磁気ディスク装置の一例を示す概略図である。4キロバイト(10ビットシンボルで3277シンボル分)からなる1セクタ分の入力信号16はアナログ-デジタル変換(A/D変換)手段であるインターフェース(I/F)14によって1セクタ分のバイナリデータに変換される。1セクタ分のバイナリデータをそのままデータフロックとして、符号化手段であるFermat符号化回路102によって誤り訂正符号化される。誤り訂正符号化されたデータブロック8は信号処理LSI(R/W&SPC)3によってメディアに記録するためのアナログ信号2に変換され、それがヘッドに送られる。そして記録媒体である磁気ディスクに記録される。
一方、ヘッドから読み出された信号1は、信号処理LSI3によって等化やビタビ復号等の信号処理が行なわれて0と1とを識別した後、バイナリデータに変換される。変換後のバイナリデータ7はハードディスクコントローラ9に入り、その中のFermat符号の復号回路101によって、誤り訂正符号化されたバイナリデータに誤りの検出・訂正が行なわれる。復号後のバイナリデータはI/F14によって、出力するための信号15に変換される。
図3は、Fermat符号化回路(AG-ENC)102の概略構成図である。この符号器構成は、特許文献1に記載の楕円曲線符号器を改良、拡張したものである。
入力シンボル列b(1)、b(2)、…、b(k) (本例ではk=3277)が入力端子304から入力される。有理点生成器(Point Generator)301は、b(j)が入力されるタイミングで点P(j)を出力する。点P(j)を入力として、ベクトル生成回路302がベクトルv(j)を出力する。ベクトルv(j)とシンボルb(j)を入力として、スカラー倍演算器303がb(j)v(j)を出力する。そしてシンドロームを記憶するメモリ305に加算・記憶され、同時にb(j)はセレクタ307を素通りする。kシンボル分の処理が終わった後、加算結果Vを入力として、行列演算回路306がベクトルMVを出力する。セレクタ307はベクトルMVの内容を上から順に選択・出力する。
入力P(j)=(αj, βj, 1)に対するベクトル生成回路302の出力 [ v0(P(j)), v1(P(j)), v2(P(j)), …, vn−k−1(P(j)) ] が(数10)のようになることは、(m, L)=(5, 11)であることと(数6)より導かれる。
(数2)より、ベクトル生成回路302の出力は符号の検査行列 H の j 列目を定める。そして、行列演算回路306における M は、r=n−k のときの(数4)を満たすような (n−k) 次の正方行列である。
以下、シンボルを数える基準位置から数えて1、2、…、3904番目のシンボルに対応する点をP(1)、P(2)、…、P(3904)と表記する。
図4、図5、図6はE(C(L), GF(22m))に属する点に番号付けとして、(数11)に示す順番にP(1)、P(2)、…、P(3904)としたときの有理点生成器の概略図である。但し、τ* (j)とσ(j)は(数12)(数13)で示すものとする。
図4は、(数11)で「Group A」と表記しているP(1)、P(2)、…、P(32)を順に生成する回路の概略図である。401はP(j)の座標のひとつを記憶しておくメモリで、その初期値はα93である。P(j)の座標の計算の際にはメモリ401から(α93)j が出力され、2つに分岐する。分岐の一方はセレクタ402の入力に更に分岐される。セレクタ402の各入力は、図の上より ((α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)である。セレクタ402は、3つの入力のうちσ((j−1) mod 3) ((α93)j, 0, 1) を回路の出力として選択する。そしてもう一方の分岐はα93 を乗じた上でメモリ401に記憶される。
図5は、(数11)で「Group B」と表記しているP(33)、P(34)、…、P(274)を順に生成する回路の概略図である。501と502はτ* (j) で定数倍される前のP(j) の座標成分を記憶するメモリで、初期値はそれぞれα341とα682である。P(j+33)の座標の計算の際にはメモリ501と502からそれぞれ(α341, α682) の組か(α682, α341) の組が出力され、それぞれ2つに分岐する。それぞれの分岐の一方はτ* (j) でそれぞれ定数倍され、もう一方の分岐ではメモリ501の出力がメモリ502に、メモリ502の出力がメモリ501に記憶される。504と505は、τ* (j) で各座標に乗ずるべき定数を記憶しておくメモリである。メモリ504の出力は分岐して、一方はメモリ501の出力に掛けられ、もう一方はα93 を乗じた上でメモリ504に記憶される。メモリ505の出力は分岐して、一方はメモリ502の出力に掛けられ、もう一方はセレクタ508で選択された定数(1かα93 か)を乗じた上でメモリ505に記憶される。11進カウンタ506は11回に1回、値が0になり、セレクタ508は、11進カウンタ506の値が0になったときに出力される信号507により、カウンタ506の値が0のときには定数α93 を、それ以外のときには定数1を選択する。
図6は、(数11)で「Group C」と表記しているP(275)、P(276)、…、P(3904)を順に生成する回路の概略図である。601はτ* (j) で定数倍される前のP(j) の座標成分のひとつを記憶するメモリで、初期値はα93 である。P(j+275)の座標の計算の際にはメモリ601からそれぞれ(α93)j が出力され、2つに分岐する。分岐の一方は3乗されて、τ* (j) で定数倍されるためとメモリ601に記憶されるために更に分岐される。もう一方の分岐は1が加えられてから3乗されて、τ* (j) で定数倍される。τ* (j) の構成は図5と同じである。
以上まで準備すると、行列演算回路303における行列Mは、番号付けP(1)、P(2)、…、P(3904)が決まれば固定の値、つまり符号化パラメータである。行列Mを(数2)と(数4)と(数6)から、計算器等で事前に計算しておくことで符号器の構成ができる。
以下より、上記Fermat符号の誤り検出・訂正の一例を述べる。図7は、Fermat符号の誤り検出・訂正の処理の流れを表わしたものである。誤りなしのときに0になるようなチェックサムの集まりであるシンドロームを、入力から計算するためのシンドローム計算処理701によって誤りシンドロームs0、s1、s2、…、sn−k−1を計算する。次に、誤り位置多項式計算処理702によって、誤りシンドロームから誤り位置多項式f1(P)、f2(P)、…、f10(P)を計算する。次に、Chienサーチによって誤り位置を探索し、見つかった誤り位置における誤りの大きさを求める。この手順は図中の処理ブロック703に対応する。
図8は、シンドローム計算回路701の概略図である。入力シンボル列z(1)、z(2)、…、z(n)(本例ではn=3904)が入力端子801から入力される。有理点生成器301は、z(j)が入力されるタイミングで点P(j)を出力する。点P(j)を入力として、ベクトル生成回路302がベクトルv(j)を出力する。ベクトルv(j)とシンボルz(j)を入力として、スカラー倍演算器303がz(j)v(j)を出力する。そしてシンドロームを記憶するメモリ802に加算・記憶される。nシンボル分の処理が終わった後に結果が誤りシンドロームs0、s1、s2、…、sn−k−1として出力される。
図9は、誤り位置多項式計算処理702の詳細を示したものである。この図はBerlekamp-Massey-Sakaraアルゴリズム(非特許文献3、4を参照のこと)と呼ばれている処理をFermat符号に適用した一例である。
(数14)は、図7中の誤りの大きさ計算(Calculation of Error Value e(j))で行なう計算の一例を示している。一般化Forneyの公式(非特許文献5を参照のこと)を用いて誤りの大きさの計算を行なうこともできる。
1 ヘッドから読み出された信号
2 ヘッドで記録するための信号
3 信号処理LSI(R/W&SPC)
4 Reed-Solomon符号化・復号LSI
5 Reed-Solomon復号回路(RS-DEC)
6 Reed-Solomon符号化回路(RS-ENC)
7 信号1を信号処理LSI3で変換したバイナリデータ
8 Reed-Solomon符号化回路6によって誤り訂正符号化されたデータブロック
9 ハードディスクコントローラ(HDC)
10 Reed-Solomon復号回路5で復号された3つの符号ブロックを結合するデインターリーバ(DITLV-3)
11 1セクタ分のバイナリデータを3つのデータブロックに分割するインターリーバ(ITLV-3)
12 デインターリーバによって復元された1セクタ分のバイナリデータ列
13 1セクタ分のバイナリデータ列
14 インターフェース(I/F)
15 読み出された信号に対応する磁気ディスクの1セクタ分の出力信号
16 1セクタ分の入力信号
101 代数幾何符号の復号回路(AG-DEC)
102 代数幾何符号の符号化回路(AG-ENC)
301 シンボル位置を表わす有理点を決められた順番に出力する回路
302 関数vi(P)(数3)への代入計算回路
303 代入計算回路の出力に行列M(数4)を掛ける行列演算回路
304 入力端子
305 行列演算回路の出力ベクトルに入力シンボルの値を掛けるスカラー乗算回路
306 冗長シンボルの計算途中の値を記憶するメモリ
307 符号化データの出力シンボルを選択するセレクタ
401 Group Aの有理点の一座標成分を記憶するメモリ
402 有理点の出力を切り換えるセレクタ
501〜502 Group Bの有理点の座標成分を記憶するメモリ
503 写像τ* (j) による変換を行なう回路
504〜505 各座標成分に掛ける値を記憶するメモリ
506 11進カウンタ
507 11進カウンタが0になったときに出力される信号
508 505に記憶している値を更新するための値を切り換えるセレクタ
601 Group Cの有理点の一座標成分を記憶するメモリ
801 シンドローム計算回路の入力端子
802 シンドロームの計算途中の値を記憶するメモリ
2 ヘッドで記録するための信号
3 信号処理LSI(R/W&SPC)
4 Reed-Solomon符号化・復号LSI
5 Reed-Solomon復号回路(RS-DEC)
6 Reed-Solomon符号化回路(RS-ENC)
7 信号1を信号処理LSI3で変換したバイナリデータ
8 Reed-Solomon符号化回路6によって誤り訂正符号化されたデータブロック
9 ハードディスクコントローラ(HDC)
10 Reed-Solomon復号回路5で復号された3つの符号ブロックを結合するデインターリーバ(DITLV-3)
11 1セクタ分のバイナリデータを3つのデータブロックに分割するインターリーバ(ITLV-3)
12 デインターリーバによって復元された1セクタ分のバイナリデータ列
13 1セクタ分のバイナリデータ列
14 インターフェース(I/F)
15 読み出された信号に対応する磁気ディスクの1セクタ分の出力信号
16 1セクタ分の入力信号
101 代数幾何符号の復号回路(AG-DEC)
102 代数幾何符号の符号化回路(AG-ENC)
301 シンボル位置を表わす有理点を決められた順番に出力する回路
302 関数vi(P)(数3)への代入計算回路
303 代入計算回路の出力に行列M(数4)を掛ける行列演算回路
304 入力端子
305 行列演算回路の出力ベクトルに入力シンボルの値を掛けるスカラー乗算回路
306 冗長シンボルの計算途中の値を記憶するメモリ
307 符号化データの出力シンボルを選択するセレクタ
401 Group Aの有理点の一座標成分を記憶するメモリ
402 有理点の出力を切り換えるセレクタ
501〜502 Group Bの有理点の座標成分を記憶するメモリ
503 写像τ* (j) による変換を行なう回路
504〜505 各座標成分に掛ける値を記憶するメモリ
506 11進カウンタ
507 11進カウンタが0になったときに出力される信号
508 505に記憶している値を更新するための値を切り換えるセレクタ
601 Group Cの有理点の一座標成分を記憶するメモリ
801 シンドローム計算回路の入力端子
802 シンドロームの計算途中の値を記憶するメモリ
Claims (4)
- 入力信号をバイナリデータに変換するインターフェースと、変換されたバイナリデータを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シンボル以下の誤り訂正符号を使用する請求項1に記載の情報記録再生装置。
- 次の2つの条件を満たす射影平面P2(GF(22m))(m:正整数)上のg=(L−1)(L−2)/2(但し、Lは奇数)であるようなFermat曲線 XL+YL+ZL=0 、又はこのFermat曲線を双有理写像で移した曲線から構成された、有限体GF(22m)上の代数幾何符号を使用する請求項1に記載の情報記録再生装置:
(1) 2m = 2u(2e+1)。但し、u≧1、e≧1である。
(2) 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)上の代数幾何符号を使用する請求項1に記載の情報記録再生装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004096512A JP2005285205A (ja) | 2004-03-29 | 2004-03-29 | 情報記録再生装置 |
US11/094,019 US7526716B2 (en) | 2004-03-29 | 2005-03-30 | Recording/regenerating device, method of encoding error correction, method of recording data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004096512A JP2005285205A (ja) | 2004-03-29 | 2004-03-29 | 情報記録再生装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005285205A true JP2005285205A (ja) | 2005-10-13 |
Family
ID=34991607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004096512A Pending JP2005285205A (ja) | 2004-03-29 | 2004-03-29 | 情報記録再生装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7526716B2 (ja) |
JP (1) | JP2005285205A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012532372A (ja) * | 2009-06-29 | 2012-12-13 | サンディスク テクノロジィース インコーポレイテッド | ストレージデバイス内のエラーデータを追跡するシステムおよび方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9425952B2 (en) | 2014-03-27 | 2016-08-23 | Samsung Israel Research Corporation | Algebraic manipulation detection codes from algebraic curves |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631172B1 (en) * | 2000-05-01 | 2003-10-07 | Lucent Technologies Inc. | Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels |
JP2002118471A (ja) | 2000-10-06 | 2002-04-19 | Hitachi Ltd | 記録再生装置及び誤り訂正符号化方法並びに情報記録方法 |
US6990624B2 (en) * | 2001-10-12 | 2006-01-24 | Agere Systems Inc. | High speed syndrome-based FEC encoder and decoder and system using same |
FR2865083B1 (fr) * | 2004-01-13 | 2006-04-07 | Canon Kk | Decodage pour code de geometrie algebrique associe a un produit fibre. |
-
2004
- 2004-03-29 JP JP2004096512A patent/JP2005285205A/ja active Pending
-
2005
- 2005-03-30 US US11/094,019 patent/US7526716B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012532372A (ja) * | 2009-06-29 | 2012-12-13 | サンディスク テクノロジィース インコーポレイテッド | ストレージデバイス内のエラーデータを追跡するシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US20050216818A1 (en) | 2005-09-29 |
US7526716B2 (en) | 2009-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4833173B2 (ja) | 復号化器、符号化・復号化装置及び記録再生装置 | |
US9088300B1 (en) | Cyclic redundancy check for out-of-order codewords | |
KR100848614B1 (ko) | 오류 정정 장치 | |
JP3966993B2 (ja) | 積符号の誤り訂正および並行検査 | |
US20080104489A1 (en) | Maximum likelihood detector, error correction circuit and medium storage device | |
JP2007087530A (ja) | 信号復号方法、信号復号装置および信号記憶システム | |
TWI539758B (zh) | 藉由癥狀表來解碼渦輪乘積碼之系統及方法 | |
JP2009295273A (ja) | 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法 | |
JP4733403B2 (ja) | 復号器、データ記憶装置およびデータの誤り訂正の方法 | |
US7467346B2 (en) | Decoding error correction codes using a modular single recursion implementation | |
JP2002509331A5 (ja) | ||
US7774679B2 (en) | Techniques for performing reduced complexity galois field arithmetic for correcting errors | |
US20050154964A1 (en) | Data retrieval from a storage device using a combined error correction and detection approach | |
Fahrner et al. | Low-complexity GEL codes for digital magnetic storage systems | |
EP1102406A2 (en) | Apparatus and method for decoding digital data | |
JP2007299393A (ja) | 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置 | |
US10193574B1 (en) | Efficient syndrome calculation in processing a GLDPC code | |
JP2004362758A (ja) | 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体 | |
US7743311B2 (en) | Combined encoder/syndrome generator with reduced delay | |
JP5667408B2 (ja) | リードソロモン符号・復号化回路、リードソロモン符号・復号化方法、および、記憶装置 | |
JP2005285205A (ja) | 情報記録再生装置 | |
JP2002118471A (ja) | 記録再生装置及び誤り訂正符号化方法並びに情報記録方法 | |
US20050081131A1 (en) | Correcting data having more data blocks with errors than redundancy blocks | |
JPH04365139A (ja) | 誤り訂正処理用シンドローム演算回路 | |
US8296632B1 (en) | Encoding and decoding of generalized Reed-Solomon codes using parallel processing techniques |