(57)【要約】【課題】インタリーブされたデータ列にＥＣＣ冗長シンボルを作成し、ＥＣＣ符号化するＥＣＣ符号器において、バーストエラーに対する訂正能力を向上する。【解決手段】データ列をインタリーブする際に、データ列の冗長シンボルの挿入位置のデータを、順番のインタリーブ位置からスキップして、次のインタリーブ位置に振り分け、各インタリーブのデータ列の冗長シンボルを生成する。このため、データ列でのインタリーブの並びが、均一に分散し、バーストエラーに対する訂正能力を向上できる。【選択図】図３
2010218631.tif 000002
【特許請求の範囲】
【請求項１】
データ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成し、前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成するＥＣＣ符号器と、
前記冗長シンボルが挿入されたデータ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正するＥＣＣ復号器とを有し、
前記ＥＣＣ符号器は、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、冗長シンボルを作成する
ことを特徴とする誤り訂正回路。
【請求項２】
前記ＥＣＣ復号器は、前記冗長シンボルが挿入されたデータ列を、前記データ列と、前記冗長シンボルとに並び替え、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正する
ことを特徴とする請求項１の誤り訂正回路。
【請求項３】
前記ＥＣＣ符号器の前記インタリーブ数Ｍと、挿入位置Ｎとの最大公約数が、「１」である
ことを特徴とする請求項１の誤り訂正回路。
【請求項４】
記録データ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成し、前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成するＥＣＣ符号器と、
前記ＥＣＣ符号器からの前記ＥＣＣ符号化データを、記録媒体に記録する記録ユニットと、
前記記録媒体から前記冗長シンボルが挿入されたデータ列を読み出す読み出しユニットと、
前記読み出された冗長シンボルが挿入されたデータ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、前記読み出された冗長シンボルが挿入されたデータ列を、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正するＥＣＣ復号器とを有し、
前記ＥＣＣ符号器は、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、冗長シンボルを作成する
ことを特徴とするデータ記憶装置。
【請求項５】
前記ＥＣＣ符号器の前記インタリーブ数Ｍと、挿入位置Ｎとの最大公約数が、「１」である
ことを特徴とする請求項４のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタリーブされたデータ列の誤り訂正符号（ＥＣＣ）を作成し、データ列に誤り訂正符号（ＥＣＣ）を付加する誤り訂正回路及びデータ記憶装置に関する。
【背景技術】
【０００２】
信号再生分野において、誤り訂正技術の重要性が増加している。特に、ＥＣＣ（Error Correction Code）による誤り訂正方法は、広く利用されている。例えば、ハードディスクドライブ（ＨＤＤ）では、データを、ディスク媒体に書きこむ際に、データからＥＣＣの冗長シンボルを作成し、データに付加し、付加したデータ列を書き込む。
【０００３】
この際に、磁気記録では、符号に拘束条件を与えている。例えば、ＲＬＬ（Run Length Limited）の拘束長を与えている。このため、このＲＬＬの拘束長を守るために、ＥＣＣの冗長シンボルを、ＲＬＬでエンコード（符号化）されたデータの間に、挿入する方法を採用している。
【０００４】
一方、一般に、訂正コードワードが、そのＥＣＣの訂正可能コード長を超えた場合、インタリーブを用いて、訂正を行っている。ＨＤＤでの、ＥＣＣのインタリーブは、バーストエラーを、各インタリーブに分散することが主な目的であり、ディスク媒体に書き込むデータを、順に、各インタリーブに割り当てる方法を採用している。
【０００５】
図８は、従来のインタリーブにおけるＥＣＣ符号化方法の説明図である。図８は、４個のインタリーブを持ち、８シンボル毎に、冗長シンボルが挿入される例で説明する。
【０００６】
図８において、データ１００のブロック内の数字が、シンボル番号である。例えば、データ１００は、３３００シンボルで構成される。４インタリーブである場合には、データ１００のシンボルを順番に、４つのインタリーブに振り分ける。この４つのインタリーブブロック１０２毎に、図８の横方向に、ＥＣＣの冗長シンボルを生成する。
【０００７】
例えば、インタリーブ１には、冗長シンボルＰ１−１，Ｐ１−２，・・・、Ｐ１−３２を、インタリーブ２には、Ｐ２−１〜Ｐ２−３２，インタリーブ３には、Ｐ３−１〜Ｐ３−３２，インタリーブ４には、Ｐ４−１〜Ｐ４−３２を生成する。
【０００８】
生成した冗長シンボルを、元のデータ列１００の８シンボル毎に、９シンボル番目毎の位置に挿入する。従って、元のデータ列１００の８シンボル毎に、ＥＣＣの冗長シンボルが挿入されたデータ列１０６が得られる。このデータ列を、ディスク媒体に記録する。
【０００９】
このインタリーブにより、データシンボルは、４シンボル毎に、異なるＥＣＣの冗長シンボルが付与されるため、バーストエラーが生じた場合、例えば、データシンボルＤ１〜Ｄ８にバーストエラーが生じても、各インターリーブにエラーが分散され、インタリーブのＥＣＣの冗長シンボルを用いて、訂正が可能となる。
【００１０】
このような複数インタリーブでのＥＣＣ符号化は、例えば、特許文献１等に記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−０３１８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来は、ＥＣＣの冗長シンボルを、インタリーブ毎に、生成した後、その冗長シンボルを、ユーザーデータに挿入していたため、データ列内で、インタリーブされたデータブロックの位置がずれ、均等にインタリーブを分散されなくなる場合がある。その結果、同じインタリーブに属するシンボルが連続して、ディスク媒体に書き込まれる部分が出現し、バーストエラーに対して、同じインタリーブに、エラーが偏ってしまう。
【００１３】
例えば、図９のデータ列１１０では、同じインタリーブに属するＥＣＣの冗長シンボルＰ１−１と、データシンボルＤ９が連続しており、矢印のようなバーストエラーが発生した場合、インタリーブブロック１１２で見ると、インタリーブ１には、エラーが２個、インタリーブ２には、エラーが１個、インタリーブ３には、エラーが０個、インタリーブ４には、エラーが１個となってしまい、エラーに偏りが生じる。
【００１４】
従って、本発明の目的は、符号化の拘束長を維持しつつ、データ列内で、同一インタリーブのデータシンボルとＥＣＣの冗長シンボルとが、連続することを防止するための誤り訂正回路及びデータ記憶装置を提供することにある。
【課題を解決するための手段】
【００１５】
この目的の達成のため、誤り訂正回路は、データ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成し、前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成するＥＣＣ符号器と、前記冗長シンボルが挿入されたデータ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正するＥＣＣ復号器とを有し、前記ＥＣＣ符号器は、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、冗長シンボルを作成する。
【００１６】
又、データ記憶装置は、記録データ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成し、前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成するＥＣＣ符号器と、前記ＥＣＣ符号器からの前記ＥＣＣ符号化データを、記録媒体に記録する記録ユニットと、前記記録媒体から前記冗長シンボルが挿入されたデータ列を読み出す読み出しユニットと、前記読み出された冗長シンボルが挿入されたデータ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、前記読み出された冗長シンボルが挿入されたデータ列を、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正するＥＣＣ復号器とを有し、前記ＥＣＣ符号器は、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、冗長シンボルを作成する。
【発明の効果】
【００１７】
データ列をインタリーブする際に、データ列の冗長シンボルの挿入位置のデータを、順番のインタリーブ位置からスキップして、次のインタリーブ位置に振り分け、各インタリーブのデータ列の冗長シンボルを生成するため、データ列でのインタリーブの並びが、均一に分散し、バーストエラーに対する訂正能力を向上できる。
【図面の簡単な説明】
【００１８】
【図１】本発明のデータ記憶装置の一実施の形態の外観図である。
【図２】本発明の一実施の形態のデータ記憶装置の記録再生系のブロック図である。
【図３】本発明の一実施の形態のＥＣＣ符号化処理の説明図である。
【図４】図３の一実施の形態のバーストエラー発生時の訂正処理の説明図である。
【図５】図２のＥＣＣ符号器のブロック図である。
【図６】図２のＥＣＣ復号器のブロック図である。
【図７】図６のＥＣＣ訂正回路のブロック図である。
【図８】従来のインタリーブによるＥＣＣ符号化方法の説明図である。
【図９】従来のＥＣＣ符号化方法の訂正能力の説明図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を、データ記憶装置、ＥＣＣ符号化、ＥＣＣ符号化及び復号化構成、他の実施の形態の順で説明する。
【００２０】
（データ記憶装置）
図１は、本発明のデータ記憶装置の一実施の形態の外観図である。図１は、データ記憶装置として、磁気ディスク装置（ハードディスクドライブ）を例に示す。図１に示すように、ディスクエンクロージャ（ＤＥという）１は、磁気ディスク装置の各構成要素を収容する。ＤＥ１内では、磁気記録媒体である磁気ディスク３が、スピンドルモータ４の回転軸に設けられている。
【００２１】
ＤＥ１に取り付けられたスピンドルモータ４は、磁気ディスク３を回転する。アクチュエータ（ＶＣＭという）５は、アーム（ヘッドアクチュエータという）５２を回転する。アーム５２に設けられたサスペンションの先端には、磁気ヘッド５３が設けられている。従って、ＶＣＭ５は、磁気ヘッド５３を磁気ディスク３の半径方向に移動する。アクチュエータ５は、回転軸を中心に回転するボイスコイルモータ（ＶＣＭ）で構成される。
【００２２】
図１では、磁気ディスク装置に、１枚の磁気ディスク３が搭載され、２つの磁気ヘッド５３が、同一のアクチュエータ５で同時に駆動される。磁気ヘッド５３は、リード素子と、ライト素子とからなる。磁気ヘッド５３は、スライダに、磁気抵抗（ＭＲ）素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。
【００２３】
磁気ディスク３の外側には、磁気ヘッド５３を磁気ディスク３から退避し、パーキングするためのランプ機構５４が設けられる。
【００２４】
又、図１のＤＥ１の下部には、プリント回路アッセンブリ（制御回路部）が設けられ、プリント回路アッセンブリには、図２以下で説明するハードディスクコントローラ（ＨＤＣ）、マイクロコントローラ（ＭＣＵ）、リード／ライトチャネル回路（ＲＤＣ）、サーボコントロール回路、データバッファ（ＲＡＭ）、ＲＯＭ（リードオンリーメモリ）が設けられる。
【００２５】
図２は、本発明の一実施の形態の記録再生系の主要部の回路ブロック図である。図２に示すように、磁気ディスク装置の記録再生系は、大きく分けて、ハードディスクコントローラ（ＨＤＣ）８、リードチャネル（ＲＤＣ）７、そしてプリアンプ６とからなる。
【００２６】
先ず、記録系を説明する。記録データ列は、ＨＤＣ８に入力する。ＨＤＣ８内では、ＣＲＣ符号器８０は、記録データからＣＲＣ（Cyclic Redundacy Code）を作成し、記録データ列に作成したＣＲＣを付加する。記録（ＲＬＬ）符号器８２は、ＣＲＣを付加された記録データ列を、ＲＬＬ(Run Length Limited)符号などの拘束条件が満たされる列に変換する。そして、ＥＣＣ符号器８３は、記録符号器８２の出力データ列に、ＥＣＣ（Error Correction Code）の冗長シンボルを付加する。
【００２７】
ＨＤＣ８のＥＣＣ符号器８３からの出力データ列は、ＲＤＣ７に入力する。ＲＤＣ７では、ライト同期補償器７１が、出力データ列を、ライトクロックに同期して、補正する。このライト同期補償されたデータ列を、ドライバ７２が、記録データ列に増幅し、プリアンプ６に送出する。
【００２８】
プリアンプ６では、ドライバ６０が、この記録データ列に従い、記録ヘッド５３−１へライト電流を発生する。
【００２９】
次に、再生系を説明する。再生ヘッド５３−２からのアナログ電圧は、プリアンプ６のアンプ６２によって、増幅された後、ＲＤＣ７に出力される。ＲＤＣ７においては、増幅されたアナログ信号が、可変利得アンプ（ＶＧＡ：Variable Gain Amp）７３、ローパスフィルタ（ＬＰＦ）７４、ＡＤ（アナログ・デジタル）コンバータ（ＡＤＣ）７５を経由して、デジタル信号へ変換される。
【００３０】
ＦＩＲ（Finite Impulse Response）フィルタ７６が、ＰＲ波形等化を行った後、ビタビ（Viterbi）検出器などの反復復号器７８が、最尤復号を行う。
【００３１】
反復復号器７８から出力された復号ビット列は、ＨＤＣ８のＥＣＣ復号器８５に入力される。ＥＣＣ復号器８５は、リードソロモン（ＲＳ）符号を用いて、誤り訂正を行う。ＥＣＣ復号が成功した場合は、ＥＣＣ復号器８５の出力データ列は、記録（ＲＬＬ）復号器８７、ＣＲＣ復号器８９を経て、再生データとして出力される。
【００３２】
図３は、図２のＥＣＣ符号器８３の符号化処理の説明図、図４は、図３による符号化データのバーストエラーの訂正動作の説明図である。図３では、図８と同様のデータ列１００を、４インタリーブし、８シンボル毎に、冗長シンボルを挿入する例を示す。
【００３３】
まず、ＥＣＣの冗長シンボル生成の説明を行う。冗長シンボル生成を行うために、データ入力する際、冗長シンボル（ＥＣＣ）生成回路は、１データシンボル入力毎に、そのデータを入力するインタリーブ番号を「１」増加させていき、インタリーブ番号が、Ｍ（図３では、「４」）まで、行ったら、１番目のインタリーブに戻すという操作繰り返す。ただし、冗長シンボルが挿入される部分は、インタリーブをスキップするため、入力されたデータが、（Ｎ−１）シンボルの倍数になるときは（図３では、Ｎ＝９）、次に、データを入力するインタリーブ番号を、「２」増加する。この結果、ＲＬＬでエンコードされたデータ列の各シンボルの属するインタリーブが、データ先頭から最後に冗長シンボルが挿入される部分までの間、（Ｎ−１）シンボル毎に、１スキップされることになる。
【００３４】
図３で具体的に説明する。ＥＣＣ生成回路は、インタリーブ毎に、図３のインタリーブブロック２００の横方向に、１インタリーブにつき、３２シンボル、４インタリーブで１２８シンボルの冗長シンボルを生成する。ここで、インタリーブブロック２００において、９×Ｌ（Ｌ＝１，２，３，・・、１２８）シンボル目は、ＥＣＣの冗長シンボルのために空けておくので、ＥＣＣの冗長シンボル生成回路は、８×１２８＝１０２４シンボル目まで、８シンボル毎に、１インタリーブスキップする。例えば、データシンボルＤ９は、インタリーブ１に入力されず、インタリーブ２に入力され、データシンボルＤ１７は、インタリーブ２に入力されず、インタリーブ３に入力される。
【００３５】
このＥＣＣの冗長シンボル生成回路では、インタリーブブロックにおいて、スキップされた部分のデータは、左につまるので、各インタリーブとデータシンボルとの対応を示すインタリーブブロック２００は、データシンボルが左に詰まったブロック２０２となり、このインタリーブブロック２０２の横方向に、冗長シンボルを生成することと同じになる。即ち、インタリーブ１は、データシンボルＤ１，Ｄ５，Ｄ１２，・・から、冗長シンボルを生成する。
【００３６】
次に、冗長シンボルの挿入の説明を行う。冗長シンボル生成において、入力データの各シンボルの属するインタリーブが、（Ｎ−１）シンボル毎に、１スキップされているので、挿入部分で、スキップされたインタリーブに属する冗長シンボルを、１シンボルずつ順に挿入していく。
【００３７】
ここで、Ｉを「１」から「Ｔ」（尚、Ｔは、総冗長シンボル数）までの整数とすると、スキップされたインタリーブの番号は、データ先頭から、順に、Ｉ×Ｎ％Ｍ（＝（Ｉ×Ｎ）／Ｍの余り）（但し、（Ｉ×Ｎ）％Ｍ＝０のときは、Ｍ）となる。つまり、（Ｉ×Ｎ％Ｍ）番目のインタリーブの冗長シンボルが、（Ｎ−１）シンボル毎に挿入される。
【００３８】
図３では、Ｎ＝９，Ｍ＝４であるから、ＲＤＣへの入力データフォーマット２０４は、以下のように作成される。Ｉ＝１では、（Ｉ×Ｎ％Ｍ）＝９％４＝１であるから、１インタリーブ目の冗長シンボルＰ１−１を、Ｎ＝９番目に挿入する。Ｉ＝２では、１８％２＝２であるから、２インタリーブ目の冗長シンボルＰ２−１を、Ｎ＊２＝１８番目に挿入する。Ｉ＝３では、２７％３＝３となるので、３インタリーブ目の冗長シンボルＰ３−１を、Ｎ＊３＝２７番目に挿入する。Ｉ＝４では、３６％４＝０となるので、４インタリーブ目の冗長シンボルＰ４−１を３６番目に挿入する。尚、「０」は、「４」として扱う。
【００３９】
データをリードし、ＥＣＣ復号するときには、挿入されているＩ×Ｎ番目（Ｉ＝１〜総冗長シンボル数)の冗長シンボルを、Ｉ×Ｎ％Ｍ（Ｉ×Ｎ％Ｍ＝０のときは、Ｍ）番目のインタリーブに戻した後、冗長シンボル生成時と同様に、データ先頭から最後に冗長シンボルが挿入される部分までの間、（Ｎ−１）シンボル毎に、次の１インタリーブをスキップして、各インタリーブのシンドロームを生成する。エラーがあった場合、通常のＥＣＣ訂正を行う。
【００４０】
このように、記録系には、インタリーブブロックで、図３のように、空けておいた部分に、各インタリーブの冗長シンボルが挿入され、図３のデータ列２０４の順番で送信される。このため、図４のデータ列において、矢印のようなバーストエラーが発生した場合、図４の対応するインタリーブブロック２０２−１に示すように、各インタリーブにエラーが、１個ずつとなり、エラーに偏りが生じない。即ち、図４のインタリーブブロック２０２−１のブロックの下線を引いた部分が、バーストエラーに対応し、各インタリーブ１〜４で、エラーが、１個ずつとなる。
【００４１】
このように、あらかじめ冗長シンボルを挿入する部分のインタリーブをとばして、冗長シンボルを生成する。その後、とばされた部分のインタリーブにあてはまる冗長シンボルを、順に挿入していく。これにより、媒体に記録されるデータのインタリーブの並びが、均一に分散する。尚、デコードの際も、生成した順序と同じ順序で、シンドローム（Syndrome）を生成し、訂正を行う。
【００４２】
（ＥＣＣ符号化及び復号化構成）
次に、ＥＣＣ符号化及び復号化構成を説明する。図５は、図２のＥＣＣ符号器８３のブロック図である。図５において、ＥＣＣ符号器８３は、ＦＩＦＯ（Fast In Fast Out）メモリ１０と、ＥＣＣ生成回路１２と、セレクタ１６とで構成される。
【００４３】
ＲＬＬ符号化されたデータ列（セクタデータ）は、ＦＩＦＯメモリ１０と、ＥＣＣ生成回路１２に並列に入力される。ＥＣＣ生成回路１２は、セクタデータが、全部入力された時点で、ＥＣＣの冗長シンボル生成を完了する。セレクタ１６は、セクタデータの全部が、ＦＩＦＯメモリ１０、ＥＣＣ生成回路１２へ入力された後、ＦＩＦＯメモリ１０から出力されるセクタデータの８シンボルおきに、ＥＣＣ生成回路１２からのＥＣＣのパリティを挿入し、データ列を出力する。
【００４４】
ＥＣＣ生成回路１２は、インタリーブ回路２０と、各インタリーブのＥＣＣ生成回路２２−１〜２２−４と、セレクタ２４とで構成される。インタリーブ回路２０には、ＲＬＬ符号化データ列が、Ｄ１，Ｄ２，Ｄ３，・・・の順に、入力される。インタリーブ回路２０は、この順番で、入力されるデータ列を、それぞれのインタリーブのＥＣＣ生成回路２２−１〜２２−４へ振り分ける順番を、従来方式と変更し、前述のように、１０２４シンボル目まで、データが８シンボル入力される毎に、入力されるインタリーブを、１つスキップする。
【００４５】
各インタリーブのＥＣＣ生成回路２２−１〜２２−４は、入力されたデータシンボルから、ＥＣＣのパリテイを生成する。例えば、インタリーブのＥＣＣ生成回路２２−１〜２２−４は、入力されたデータシンボルＤ１，Ｄ５，Ｄ１２，Ｄ１６，・・から、ＥＣＣのパリテイＰ１−１．Ｐ１−２，Ｐ１−３、・・・を生成する。
【００４６】
セレクタ２４は、インタリーブ番号の順番で、各インタリーブのＥＣＣ生成回路２２−１〜２２−４からのＥＣＣのパリテイを選択し、ＥＣＣパリテイを、Ｐ１−１，Ｐ２−１，Ｐ３−１，Ｐ４−１の順で、出力する。
【００４７】
このようにして、図３で説明したような、ＥＣＣ符号化されたデータ列が、得られる。
【００４８】
次に、ＥＣＣ復号化構成を説明する。図６は、図２のＥＣＣ復号器８５のブロック図、図７は、図６のＥＣＣ訂正回路のブロック図である。
【００４９】
図６に示すように、ＥＣＣ復号器８５は、データ並び替え回路３０と、ＦＩＦＯメモリ３２と、ＥＣＣ訂正回路３４とで構成される。
【００５０】
データ並び替え回路３０は、磁気ディスク３から読み取られたセクタデータを、ＲＤＣ７（図２参照）より、受ける。並び替え回路３０は、８データシンボル毎に、ＥＣＣパリテイが付加されたデータ列から、ＥＣＣパリテイを抜き出し、データシンボル列Ｄ１，Ｄ２．・・・の後ろに、ＥＣＣ（冗長シンボル）パリテイＰ１−１，Ｐ２−１，Ｐ３−１，Ｐ４−１，Ｐ１−２、Ｐ２−２・・に置き換える。
【００５１】
この置き換えられたデータ列は、ＦＩＦＯメモリ３２へ格納されると同時に、ＥＣＣ訂正回路３４へ入力される。ＥＣＣ訂正回路３４は、データシンボル列と、ＥＣＣの冗長シンボルから、ＥＣＣのシンドロームを生成し、誤り位置を求める。そして、ＥＣＣ訂正回路３４は、ＦＩＦＯメモリ３２内のデータシンボルに対して、誤り訂正を行う。訂正が完了すると、ＦＩＦＯメモリ３２から、データシンボル列Ｄ１，Ｄ２，Ｄ３，・・・が、ＲＬＬ復号器８７へ出力される。出力されたデータ列は、ＲＬＬ復号器８７で復号される。
【００５２】
図７により、ＥＣＣ訂正回路３４を説明する。ＥＣＣ訂正回路３４は、インタリーブ回路４０と、各インタリーブのシンドローム計算回路４２−１〜４２−４と、セレクタ４４と、ＢＭＡ（バーレカンプマッシ法の演算器）４６と、チエーンサーチ実行回路４８とを有する。
【００５３】
インタリーブ回路４０は、データ並び替え回路３０から、データ部Ｄ１，Ｄ２，・・・と、ＥＣＣの冗長シンボル部Ｐ１−１，Ｐ２−１，Ｐ３−１、・・・が、順に入力される。インタリーブ回路４０は、各インタリーブのシンドローム計算回路４２−１〜４２−４に、振り分ける順番を、従来方式と変更し、データ部は、１０２４シンボル目まで、８シンボルデータが入力される毎に、インタリーブをひとつスキップする。又、ＥＣＣの冗長シンボル部Ｐ１−１，・・・は、順番通りに並んでいるので、インタリーブをスキップしないで、振り分ける。
【００５４】
各インタリーブのシンドローム計算回路４２−１〜４２−４は、入力されたデータ列から、データ列のシンドローム多項式（多項式の係数ｓ１，ｓ２，．．）を計算する。このようにして、データ部、ＥＣＣの冗長シンボル部の全てが入力され、各インタリーブのシンドロームが確定する。
【００５５】
ＢＭＡ（誤り位置多項式計算器）４６は、バーレカンプマッシ法により、シンドローム多項式から、誤り位置多項式を計算する。バーレカンプマッシ法では、周知のように、多項式の初期値から始めて、生成多項式の次数と同じ回数だけ多項式の更新を繰り返すことで、誤り位置多項式を計算する。
【００５６】
ＢＭＡ４６は、セレクタ４４から、各インタリーブのシンドローム計算回路４２−１〜４２−４から、計算したシンドロームを受け、前述の誤り位置多項式を計算し、ＥＣＣの訂正能力範囲内のエラーがあるかを判定する。
【００５７】
チェーンサーチ実行回路４８は、ＢＭＡ４６で、エラーがあると判断されたインタリーブについて、チェーンサーチにより誤り位置を求め、且つチェーンサーチで誤り位置が特定された場合は、誤り値を計算する。
【００５８】
この誤り位置と、誤り値により、ＦＩＦＯメモリ３２の該当する位置のデータシンボルが、訂正される。このようにして、図４で説明したように、データシンボルの誤り訂正が行われる。
【００５９】
（他の実施の形態）
上述の実施の形態では、ＥＣＣが、４インタリーブの構成で、挿入する間隔が、９シンボル毎の例で説明したが、挿入する間隔が、７シンボル毎であっても良い。７シンボル毎の場合、例えば、ＥＣＣを生成する際には、冗長シンボルを、最初に挿入する部分が、インタリーブの３番目、次の挿入位置が、インタリーブの２番目、次の挿入位置が、１番目に対応するため、出力されるＥＣＣの冗長シンボルの順番を切り替える。又、ＥＣＣ訂正を行う際には、入力されるＥＣＣの冗長シンボルの順番が、Ｐ３−１，Ｐ２−１，Ｐ１−１、Ｐ４−１、・・・となるため、対応するインタリーブに、これに対応するＥＣＣの冗長シンボルを入力する。
【００６０】
又、インタリーブ数Ｍを、４で説明したが、本発明は、インタリーブ数が、２以上で有効であり、ＥＣＣの冗長シンボルを挿入する間隔は、ＥＣＣの冗長シンボル挿入後に、ＲＤＣに送信するデータが、ＲＬＬの拘束長を守れるような間隔であることが好ましい。
【００６１】
更に、この実施の形態では、ＥＣＣが４インタリーブの構成で、挿入する間隔が、９シンボル毎の例であったが、挿入する間隔が、８シンボルや１０シンボルなど、インタリーブ数「４」に対し、最大公約数が、「１」以外の場合、スキップされるインタリーブが偏ってしまうおそれがあり、インタリーブ数Ｍに対し、挿入する間隔が、最大公約数が、「１」であることが、望ましい。  
【００６２】
その上、磁気ディスク装置の記録再生系で説明したが、光媒体、半導体メモリ等の他のデータ記憶装置の記録再生系や、通信装置の符号化及び復調系にも、適用できる。
【００６３】
以上、本発明は、以下の付記を包含する。
【００６４】
（付記１）データ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成し、前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成するＥＣＣ符号器と、前記冗長シンボルが挿入されたデータ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正するＥＣＣ復号器とを有し、前記ＥＣＣ符号器は、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、冗長シンボルを作成することを特徴とする誤り訂正回路。
【００６５】
（付記２）前記ＥＣＣ復号器は、前記冗長シンボルが挿入されたデータ列を、前記データ列と、前記冗長シンボルとに並び替え、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正することを特徴とする付記１の誤り訂正回路。
【００６６】
（付記３）前記ＥＣＣ符号器の前記インタリーブ数Ｍと、挿入位置Ｎとの最大公約数が、「１」であることを特徴とする付記１の誤り訂正回路。
【００６７】
（付記４）前記ＥＣＣ符号器は、前記データ列を格納するメモリと、前記データ列をインタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成するＥＣＣ生成回路と、前記メモリの前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成する作成回路とを有することを特徴とする付記１の誤り訂正回路。
【００６８】
（付記５）前記ＥＣＣ生成回路は、前記データ列をインタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分けるインタリーブ回路と、各インタリーブされたデータ列に対し、冗長シンボルを作成するＥＣＣ生成回路とを有することを特徴とする付記４の誤り訂正回路。
【００６９】
（付記６）前記ＥＣＣ復号器は、前記冗長シンボルが挿入されたデータ列を、前記データ列と、前記冗長シンボルとに並び替える並び替え回路と、前記並び替えたデータ列を格納するメモリと、前記並び替えたデータ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、前記メモリのデータ列の誤り訂正を行うＥＣＣ訂正回路とを有することを特徴とする付記２の誤り訂正回路。
【００７０】
（付記７）前記ＥＣＣ訂正回路は、前記データ列をインタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分けるとともに、データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けるインタリーブ回路と、各インタリーブされたデータ列に対し、シンドロームを計算するシンドローム計算回路と、前記各インターリーブのシンドロームから誤り位置及び誤り値を特定する誤り特定回路とを有することを特徴とする付記６の誤り訂正回路。
【００７１】
（付記８）前記ＥＣＣ訂正回路は、前記データ列を、ＲＬＬ符号化されたデータ列を受けることを特徴とする付記１の誤り訂正回路。
【００７２】
（付記９）記録データ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成し、前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成するＥＣＣ符号器と、前記ＥＣＣ符号器からの前記ＥＣＣ符号化データを、記録媒体に記録する記録ユニットと、前記記録媒体から前記冗長シンボルが挿入されたデータ列を読み出す読み出しユニットと、前記読み出された冗長シンボルが挿入されたデータ列を、インタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、前記読み出された冗長シンボルが挿入されたデータ列を、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正するＥＣＣ復号器とを有し、前記ＥＣＣ符号器は、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、冗長シンボルを作成することを特徴とするデータ記憶装置。
【００７３】
（付記１０）前記ＥＣＣ復号器は、前記冗長シンボルが挿入されたデータ列を、前記データ列と、前記冗長シンボルとに並び替え、前記データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、誤り訂正することを特徴とする付記９のデータ記憶装置。
【００７４】
（付記１１）前記ＥＣＣ符号器の前記インタリーブ数Ｍと、挿入位置Ｎとの最大公約数が、「１」であることを特徴とする付記９のデータ記憶装置。
【００７５】
（付記１２）前記ＥＣＣ符号器は、前記データ列を格納するメモリと、前記データ列をインタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分け、各インタリーブされたデータ列に対し、冗長シンボルを作成するＥＣＣ生成回路と、前記メモリの前記データ列のＮ（Ｎ＞＝２）シンボル毎に、前記データ列に前記作成した冗長シンボルを挿入して、ＥＣＣ符号化データを作成する作成回路とを有することを特徴とする付記９のデータ記憶装置。
【００７６】
（付記１３）前記ＥＣＣ生成回路は、前記データ列をインタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分けるインタリーブ回路と、各インタリーブされたデータ列に対し、冗長シンボルを作成するＥＣＣ生成回路とを有することを特徴とする付記１２のデータ記憶装置。
【００７７】
（付記１４）前記ＥＣＣ復号器は、前記冗長シンボルが挿入されたデータ列を、前記データ列と、前記冗長シンボルとに並び替える並び替え回路と、前記並び替えたデータ列を格納するメモリと、前記並び替えたデータ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けて、前記各インタリーブされたデータ列に対し、各インタリーブされたデータ列の冗長シンボルを用いて、前記メモリのデータ列の誤り訂正を行うＥＣＣ訂正回路とを有することを特徴とする付記１０のデータ記憶装置。
【００７８】
（付記１５）前記ＥＣＣ訂正回路は、前記データ列をインタリーブ数Ｍ（Ｍ＞＝２）の各インタリーブ位置に振り分けるとともに、データ列の前記冗長シンボルの挿入位置に対応する各データを、振り分ける順番のインタリーブ位置の次のインタリーブ位置に、振り分けるインタリーブ回路と、各インタリーブされたデータ列に対し、シンドロームを計算するシンドローム計算回路と、前記各インタリーブのシンドロームから誤り位置及び誤り値を特定する誤り特定回路とを有することを特徴とする付記１４のデータ記憶装置。
【００７９】
（付記１６）前記記録データ列をＲＬＬ符号化し、前記ＥＣＣ符号器に入力するＲＬＬ符号器を更に有することを特徴とする付記９のデータ記憶装置。
【００８０】
（付記１７）前記誤り訂正されたデータ列をＲＬＬ復号化するＲＬＬ復号器を更に有することを特徴とする付記１６のデータ記憶装置。
【００８１】
（付記１８）前記記憶媒体の前記書込みユニット及び読み出しユニットが、前記記憶媒体にデータを書き込み、読み出すヘッドからなることを特徴とする付記９のデータ記憶装置。
【産業上の利用可能性】
【００８２】
データ列をインタリーブする際に、データ列の冗長シンボルの挿入位置のデータを、順番のインタリーブ位置からスキップして、次のインタリーブ位置に振り分け、各インタリーブのデータ列の冗長シンボルを生成するため、データ列でのインタリーブの並びが、均一に分散し、バーストエラーに対する訂正能力を向上できる。
【符号の説明】
【００８３】
１  ディスク（データ記憶）装置
３  記憶媒体（磁気ディスク）
４  スピンドルモータ
５  アクチュエータ（ＶＣＭ）
６  プリアンプ
７  リードチャネル
８  ハードディスクコントローラ
５３  ヘッド（磁気ヘッド）
５２  遠方イレーズ管理テーブル
８２  ＲＬＬ符号器
８３  ＥＣＣ符号器
８５  ＥＣＣ復号器
８６  ＲＬＬ復号器
１０  ＦＩＦＯメモリ
１２  ＥＣＣ生成回路
１６  セレクタ
２０  インタリーブ回路
２２−１〜２２−４  ＥＣＣ生成回路
２４  セレクタ
３０  並べ替え回路
３２  ＦＩＦＯメモリ
３４  ＥＣＣ訂正回路
４０  インタリーブ回路
４２−１〜４２−４  シンドローム計算回路
４４  セレクタ
４６、４８  誤り位置計算回路
【図１】
2010218631.tif 000003
【図２】
2010218631.tif 000004
【図３】
2010218631.tif 000005
【図４】
2010218631.tif 000006
【図５】
2010218631.tif 000007
【図６】
2010218631.tif 000008
【図７】
2010218631.tif 000009
【図８】
2010218631.tif 000010
【図９】
2010218631.tif 000011