(57)【要約】【課題】ビットスリップ箇所を迅速に検出かつ訂正することを課題とする。【解決手段】データセクタを構成する各ブロックのインデックスが１〜８１へ向かう後半ほど、ブロックサイズが小さくなるようにブロックサイズを変更する。そして、各ブロックの誤り検出訂正能力として、パリティビットを各ブロックに対して１ビットずつ割り当て、パリティビットを統合したパリティ部をデータセクタの先頭に配置する。このように、データセクタを構成する各ブロックの後半ほどブロックサイズが小さくなるので、割り当てられる誤り検出訂正能力の比率が大きくなる。【選択図】        図１
2010218661.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体上に設けられたデータセクタを構成する各ブロックの後半ほど、データセクタ内で割り当てられる誤り検出訂正能力の比率が大きくなるように、ブロックサイズを小さくするフォーマット部を有することを特徴とする記録再生装置。
【請求項２】
前記フォーマット部は、データセクタを構成するブロックのインデックスの後半ほど、ブロックサイズが小さくなるようにブロックサイズを変更するためのブロックサイズ可変量を、データセクタ間の記録周波数の差に応じて設定することを特徴とする請求項１に記載の記録再生装置。
【請求項３】
前記フォーマット部は、前記各ブロックに対して割り当てられる誤り訂正能力に対応したビット列をデータセクタの先頭に配置することを特徴とする請求項１または２に記載の記録再生装置。
【請求項４】
記録再生装置に適用され、
記録媒体上に設けられたデータセクタを構成する各ブロックの後半ほど、データセクタ内で割り当てられる誤り検出訂正能力の比率が大きくなるように、ブロックサイズを小さくするフォーマット部を有することを特徴とする制御装置。
【請求項５】
記録再生装置に適用され、
記録媒体上に設けられたデータセクタを構成する各ブロックの後半ほど、データセクタ内で割り当てられる誤り検出訂正能力の比率が大きくなるように、ブロックサイズを小さくするフォーマットステップを含んだことを特徴とするフォーマット方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記録再生装置、制御装置およびフォーマット方法に関する。
【背景技術】
【０００２】
従来、磁気ディスク装置や光ディスク装置など、記録媒体に情報を記録する情報記録装置が存在し、例えば、磁気ディスク装置では、磁気ヘッドによって“１”、“０”の２値データを磁気媒体の円周方向に連続的に記録する。
【０００３】
そして、次世代型の磁気ディスク装置などに採用する情報記録方式として、ビットパターンド記録（BPR：Bit Patterned Recording）方式の検討が進められている。このBPR方式では、磁気ディスク装置などの情報記録装置が、媒体上に物理的に配置されたドット、および記録クロックを高精度に制御して、１ドットに１ビットの情報を記録する。ここで、もし記録されたデータが１ビットずれてしまった場合、ずれた位置以降のデータは全て誤りとなってしまう。このことをビットスリップと呼ぶ。
【０００４】
ビットスリップは、ドットと記録クロックとのずれを原因として生じるが、ドットと記録クロックとのずれの主な要因は、媒体の偏芯である。偏芯は、媒体が装置に組み込まれた段階で概ね把握することができ、それに追従した記録クロックを生成することができる。また、データはセクタごとに記録され、セクタの先頭には記録周波数及び位相を調整するプリアンブルやシンクが埋め込まれる。そのため、データセクタ内において大きな周波数や位相ずれはないが、データセクタ内の後半に行くほど位相ずれが積算されビットスリップが発生しやすくなる。
【０００５】
このように、ビットスリップは、磁気ディスク装置や光ディスク装置、テープ装置などの情報記録装置において致命的な問題であったため、多くの対策案が検討されてきた。
【０００６】
例えば、特許文献１では、ビットスリップが発生した後のデータブロックを全て消失誤り訂正することにより、ビットスリップに対応する技術が提案されている。また、特許文献２では、再生データに１ビットを挿入あるいは削除し、繰り返し正しいデータとなるまで挿入あるいは削除位置をずらすことにより、ビットスリップに対応する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６２−１５８２８２号公報
【特許文献２】特開昭６３−１５７３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の特許文献に提案の技術は、ビットスリップを検出し、ビットスリップによる誤りを訂正するために多くの付加情報あるいは処理時間を必要とするため、高密度・高速転送を必要とする磁気ディスク装置などに適用することは難しい。
【０００９】
また、ビットスリップを検出し、ビットスリップによる誤りを訂正するために、強力な誤り訂正符号を用いると、付加情報が増加して記録密度が低下してしまう。
【００１０】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ビットスリップを検出するとともに、検出された誤り箇所を訂正する検出訂正能力の配分を調整することで、ビットスリップ箇所を迅速に検出かつ訂正することが可能な記録再生装置、制御装置およびフォーマット方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、開示の装置は、記録媒体上に設けられたデータセクタを構成する各ブロックの後半ほど、データセクタ内で割り当てられる誤り検出訂正能力の比率が大きくなるように、ブロックサイズを小さくするフォーマット部を有する。
【発明の効果】
【００１２】
開示の装置によれば、ビットスリップ箇所を迅速に検出かつ訂正できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る磁気ディスク装置を説明するための図である。
【図２】図２は、実施例１に係る磁気ディスク装置の構成を示す機能ブロック図である。
【図３】図３は、実施例１に係るＨＤＣおよびＲＤＣの構成を示す機能ブロック図である。
【図４】図４は、実施例１に係る記録クロック周波数測定処理の概念を説明するための図である。
【図５】図５は、実施例１に係るデータセクタ内での記録クロック周波数の一例を示す概念図である。
【図６】図６は、実施例１に係るパリティを付加するブロックインデックスとデータビット位置の関係を示す概念図である。
【図７】図７は、実施例１に係るデータセクタ内のブロックサイズ算出処理を説明するための図である。
【図８】図８は、実施例１に係るパリティ付加器の構成を示す機能ブロック図である。
【図９】図９は、実施例１に係るポストプロセッサの構成を示す機能ブロック図である。
【図１０】図１０は、実施例１に係るビットスリップ検出を説明するための図である。
【図１１】図１１は、実施例１に係るビットスリップ補正器の構成を示す機能ブロック図である。
【図１２】図１２は、実施例１に係る記録クロック周波数測定処理の流れを示す図である。
【図１３】図１３は、実施例１に係るブロックサイズ可変量初期値計算処理の流れを示す図である。
【発明を実施するための形態】
【００１４】
以下に、記録再生装置、制御装置およびフォーマット方法の一実施形態を詳細に説明する。なお、情報記録再生装置の一例として磁気ディスク装置を取り上げる。
【実施例１】
【００１５】
図１は、実施例１に係る磁気ディスク装置を説明するための図である。実施例１に係る磁気ディスク装置は、ビットパターンド記録（BPR：Bit Patterned Recording）方式を用いた情報記録の際に発生するビットスリップに対応することを概要とする。そして、実施例１に係る磁気ディスク装置の骨子は、記録媒体上に設けられたデータセクタを構成する各ブロックの後半ほど、各ブロック内で割り当てられる誤り検出訂正能力の比率が大きくなるようにブロックサイズを小さくする点にある。
【００１６】
すなわち、図１に示すように、データセクタを構成する各ブロックのインデックスが１〜８１へ向かう後半ほど、ブロックサイズが小さくなるようにブロックサイズを変更する。そして、各ブロックの誤り検出訂正能力として、パリティビットを各ブロックに対して１ビットずつ割り当て、パリティビットを統合したパリティ部をデータセクタの先頭に配置する。このように、データセクタを構成する各ブロックの後半ほどブロックサイズが小さくなるので、割り当てられる誤り検出訂正能力（パリティ）の比率が大きくなる。以下、実施例１に係る磁気ディスク装置について詳細に説明する。
【００１７】
［磁気ディスク装置の構成（実施例１）］
図２は、実施例１に係る磁気ディスク装置の構成を示す機能ブロック図である。同図に示すように、磁気ディスク装置１００は、媒体１１０、ヘッド１２０、ヘッドアンプ１３０、ＳＰＭ（スピンドルモータ）１４０、ＶＣＭ（ボイスコイルモーター）１５０、サーボ制御部１６０、ＭＰＵ（マイクロプロセッサ）１７０、メモリ（不揮発性）１８０、ＨＤＣ（ハードディスクコントローラ）２００およびＲＤＣ（リードライトチャネル）３００を有する。ヘッドアンプ１３０、サーボ制御部１６０、ＭＰＵ１７０、ＨＤＣ２００、ＲＤＣ３００は、データバスを解して互いに接続されている。
【００１８】
媒体１１０は、アルミニウムあるいはガラスの薄い円盤に磁性体を塗った記録媒体である。ヘッド１２０は、媒体１１０からのデータ読み出し及び媒体１１０へのデータ書き込みを行う。ヘッドアンプ１３０は、ヘッド１２０からの信号の増幅および変換を行うとともに、ヘッドへの信号の増幅および変換を行う。ＳＰＭ１４０は、サーボ制御部１６０からの制御電圧に基づいて媒体１１０を回転させる。ＶＣＭ１５０は、サーボ制御部１６０からの制御電圧に基づいて、ヘッド１２０が搭載されたヘッドアンプ１３０を移動させる。
【００１９】
サーボ制御部１６０は、所定の制御電圧で動作するように、ＳＰＭ１４０あるいはＶＣＭ１５０を制御する。ＭＰＵ１７０は、サーボ制御部１６０に制御信号を送出してサーボ制御を実行するとともに、後述するＨＤＣ２００およびＲＤＣ３００の制御を実行する。メモリ（不揮発性）１８０は、後述するＨＤＣ２００により用いられる設定値などのデータを記録する。
【００２０】
図３は、実施例１に係るＨＤＣおよびＲＤＣの構成を示す機能ブロック図である。
【００２１】
同図に示すように、ＨＤＣ２００は、ＣＲＣ符号器２１０、ＲＬＬ符号器２２０、誤り訂正符号器２３０、誤り訂正復号器２４０、ＲＬＬ復号器２５０およびＣＲＣ復号器２６０を有する。ＨＤＣ２００は、ホストコンピュータとの間でユーザデータをやり取りするＩ／Ｆ制御、バッファ制御、フォーマット制御および誤り訂正の機能を実現する。
【００２２】
ＲＤＣ３００は、図３に示すように、パリティ付加器３１０、記録補償器３２０、ＣＴＦ／ＡＤＣ３３０、等化器３４０、ビタビ復号器３５０およびポストプロセッサ３６０を有する。そして、ＲＤＣ３００は、記録同期、ＰＲＭＬ（Partial Response Maximum Likelihood）、データ符号化およびデータ復号化の機能を実現する。
【００２３】
そして、ＨＤＣ２００は、特に、ＲＤＣ３００により測定されたサーボマーク間隔を用いて、媒体１１０に偏芯量によりデータセクタごとに変化する記録クロック周波数を算出し、記録クロック周波数に応じたブロックサイズを算出する。
【００２４】
［記録クロック周波数の測定］
まず、工場出荷時あるいは初回ライト時に、ＨＤＣ２００とＲＤＣ３００との間で実施される記録クロック周波数の測定について説明する。なお、記録クロック周波数とは、ＢＰＲ記録方式において、対象のデータセクタに設けられたドットに正確にデータを記録するためのクロック周波数である。
【００２５】
図４は、実施例１に係る記録クロック周波数測定処理の概念を説明するための図である。同図の上段は、媒体１１０におけるデータエリアとサーボエリアの配置を示す。サーボエリアは、放射状に配置され、予めサーボマーク（媒体上のアドレス）が記録される。データエリアは、サーボエリアの間に配置され、円周（トラック）方向にデータが記録される。また、同図の下段は、ヘッド１２０及びヘッドアンプ１３０から出力される再生信号と固定クロック（Ｎクロック）とのタイミングチャートを示す。再生信号は、サーボマークと、サーボマーク間のデータ部であるデータセクタ（データ領域）とで構成される。そして、ＨＤＣ２００およびＲＤＣ３００は、協働して、サーボマーク間のデータ部であるデータセクタにおいて発振されるクロック数を記録クロック数として測定する。
【００２６】
以下、記録クロック周波数の測定について具体的に説明する。まず、ＨＤＣ２００は、対象のデータセクタへのシークを行う。次にＲＤＣ３００は、再生信号から、予め媒体１１０に記録されているサーボマークを検出し、サーボマーク間隔を測定する。次に、ＨＤＣ２００はサーボマーク間の規定値と、ＲＤＣ３００により測定されたサーボマーク間の測定値から、対象のデータセクタの記録クロック周波数を下記に示す数式を用いて算出し、その記録クロック周波数をプリセット値としてメモリ（不揮発性）１８０に格納する。なお、プリセット値は、媒体１１０上のシステム領域に書き込んでもよい。
【数１】
2010218661.tif 000003
【００２７】
なお、ｆｗは、記録クロック周波数を表し、ｆｒは、固定クロック周波数を表し、Ｎは、サーボマーク間に配置されたドット数（記録ビット数）を表し、ｎは、ＲＤＣ３００により計測されたサーボマーク間のカウント数を表す。
【００２８】
そして、ＨＤＣ２００は、対象となる全てのデータセクタについて測定が終了したか否かの判定を行う。判定の結果、対象となる全てのセクタについて測定が終了していなければ、シーク処理へ戻り次の対象のデータセクタの測定を行う。対象となる全てのセクタについて測定が終了していれば、記録クロック周波数の測定を終了する。
【００２９】
［ブロックサイズの算出］
続いて、ＨＤＣ２００によるブロックサイズの算出について説明する。
【００３０】
図５は、実施例１に係るデータセクタ内での記録クロック周波数の一例を示す概念図である。記録クロックは、上述した記録クロック周波数の測定により、データセクタごとの偏芯に追従した最適な記録クロック周波数を設定できる。しかしながら、同図に示すように、記録クロック周波数の調整はデータセクタごとになるため、データセクタ内の後半では記録クロックの位相誤差が大きくなる。この位相誤差が、ビットスリップの原因となる。
【００３１】
次に、ブロックサイズの変更を概念について説明する。図６は、実施例１に係るパリティを付加するブロックインデックスとデータビット位置（データセクタの先頭からのビット積算値）の関係を示す概念図である。
【００３２】
仮に、データセクタ間で記録クロック周波数が一定であれば、誤り訂正符号化されたデータセクタを８１ブロックに等分割し、６０ビットごとに１ビットのパリティを付加すればよい。このとき、図６の（ａ）に示すように、ブロックインデックスとデータビット位置との関係は１次関数となる。しかしながら、媒体１１０の偏心により、記録クロックの位相誤差がデータセクタ内の後半で大きくことが考えられる場合には、図６の（ｂ）に示すように、例えば、最大１００ビットから最小２０ビットまで、データセクタのインデックス後半ほど、ブロックサイズが小さくなるように、ブロックサイズを変更する。
【００３３】
ＨＤＣ２００において実行されるブロックサイズの算出について説明する。図７は、実施例１に係るデータセクタ内のブロックサイズ算出処理を説明するための図である。同図の上段は、パリティを付加するブロックインデックスとデータビット位置の関係を示し、同図下段は、ブロックインデックスとブロックサイズの関係を示す。
【００３４】
図７に示す破線は、ブロックサイズが６０ビット一定とした場合（ブロックサイズ基準値）を示しており、同図の下段の破線で示されるブロックサイズも６０ビットで一定となる。これに対して、同図に示す実線は、例えば、ブロックサイズ基準値を６０、ブロックサイズ可変量初期値を４０、最終値を−４０として、ブロックサイズが１００となるデータセクタの先頭から、データセクタの後半に向けて徐々にブロックサイズを小さくし、最終ブロックではブロックサイズを２０とする場合を示している。また、同図に示す一点鎖線及び２点鎖線は、ブロックサイズ可変量初期値を５０及び３０とした例である。以下に、ブロックサイズを算出する計算方法の一例を示す。
【００３５】
（ブロックサイズ）＝（ブロックサイズ基準値）＋（ブロックサイズ可変量初期値）
＋（ブロックサイズ可変量）×（ブロックインデックス−１）
ここで、ブロックサイズ可変量は、
（ブロックサイズ可変量）＝−（ブロックサイズ可変量初期値）×２
÷（総ブロック数−１）
ただし、（ブロックサイズ可変量初期値）＜（ブロックサイズ基準値）、ブロックインデックスは１〜ｍとし、ブロックサイズは小数点以下を四捨五入した整数値とする。なお、ここで得られた全てのブロックの総和と、記録ビット数に差がある場合、先頭のブロック（ブロックインデックス“１”）で調整する。
（ブロック１の補正サイズ）＝  （ブロック１のサイズ）＋  （記録ビット数）
−Σ（ブロックサイズ）
【００３６】
ここで、上述した計算方法を用いて、ブロックサイズ基準値を６０、ブロックサイズ可変量初期値を４０、最終値を−４０とした場合（図７の実線参照）のブロックインデックス２１のブロックサイズの計算例を説明する。
【００３７】
まず、ブロックサイズ可変量は、ブロックサイズ可変量初期値“４０”、総ブロック数“８１”より“−１”と計算できる。よって、ブロックインデックス２１のブロックサイズは、上記計算方法を用いて、ブロックサイズ基準値（６０）＋ブロックサイズ可変量初期値（４０）＋ブロックサイズ可変量（−１）×（２１−１）＝８０となる。
【００３８】
［ブロックサイズ可変量初期値の決定］
上述してきたブロックサイズ算出処理において用いられるブロックサイズ可変量初期値の決定について、以下に具体的に説明する。ＨＤＣ２００は、隣接データセクタ間の記録クロックの周波数差により、予めブロックサイズ可変量初期値を決定することで、ブロックサイズを決定する。
【００３９】
例えば、隣接するデータセクタＡとデータセクタＢとの間の記録クロックの周波数差が０．０２％である場合、データセクタの記録ビット数が５０００ビットであれば、データセクタＡの最終ビットにおいて１ビットの誤差が生じることになる。そこで、記録クロックの周波数差による最終ビットの誤差ビット数に応じて、ブロックサイズ可変量初期値を決定する。例えば、最終ビットの誤差ビット数が１ビット以上生じる場合には、最終ブロックインデックスでのブロックサイズが１となるようにする。つまり、上記の図７に示すように、ブロックサイズ基準値が６０の場合には、ブロックサイズ可変量初期値は５９とする。以下に、ブロックサイズ可変量初期値の計算方法の一例を示す。
【００４０】
（ブロックサイズ可変量初期値）＝（ブロックサイズ基準値）
−１／｛（記録ビット数）×（周波数差）｝
ただし、ブロックサイズ可変量初期値は０〜（ブロックサイズ基準値―１）を満たす整数とし、小数点以下は四捨五入とする。
【００４１】
以下、ＨＤＣ２００によるブロックサイズ可変量初期値の計算動作について説明する。ＨＤＣ２００は、工場出荷時あるいは初回ライト時に記録クロック周波数測定処理が終了した後に、ブロックサイズ可変量初期値の演算を行う。まず、ＨＤＣ２００は、所望データセクタ及び隣接データセクタの記録クロック周波数を参照して、データセクタ間の周波数差を計算する。周波数差の算出後、ＨＤＣ２００は、上述した計算方法を用いて、ブロックサイズ可変量初期値を算出し、算出されたブロックサイズ可変量初期値を記録クロック周波数のプリセット値と共にメモリ（不揮発性）１８０に記録する。ＨＤＣ２００は、記録クロック周波数がプリセットされるデータセクタについて、ブロックサイズ可変量初期値の全ての計算が終了したか判断し、未終了であれば、未終了の計算を行い、終了であれば、ブロックサイズ可変量初期値の計算について処理を終了する。
【００４２】
［データ記録］
ＨＤＣ２００により計算されたブロックサイズごとに、ＲＤＣ３００で記録データのパリティを生成して、記録データとパリティとを媒体１１０に記録してフォーマットする磁気ディスク装置１００のデータ記録処理について、以下に簡単に説明する。
【００４３】
まず、磁気ディスク装置１００におけるデータの記録過程について簡単に説明する。ＨＤＣ２００は、図３に示すように、セクタ単位で入力されるユーザデータについて、ＣＲＣ符号器２１０により巡回検査（ＣＲＣ）符号化を行う。次に、ＨＤＣ２００は、ＲＬＬ符号器２２０より、巡回検査符号化後のデータをラン長制約（ＲＬＬ）符号化し、誤り訂正符号器２３０により、ラン長制約符号化後のデータを誤り訂正符号化した符号化データをＲＤＣに出力する。
【００４４】
ＲＤＣ３００は、ＨＤＣ２００から入力した符号化データに対して、パリティ付加器３１０によりブロック毎にパリティを付加し、記録補償器３２０により記録位置を調整した後、「Ｗｒｉｔｅ  Ａｍｐ（ライトアンプ）」１３１を介して、媒体１１０に記録する。
【００４５】
上述してきたように、ＨＤＣ２００により求められたブロックサイズを用いた記録再生過程（データセクタのフォーマット）におけるＨＤＣ２００およびＲＤＣ３００の動作について、以下に具体的に説明する。図８は、実施例１に係るパリティ付加器の構成を示す機能ブロック図を示す。同図に示すように、パリティ付加器３１０は、ブロックサイズフォーマッタ３１１、パリティ生成器３１２、メモリ３１３およびマルチプレクサ３１４を有する。
【００４６】
ＨＤＣ２００は、データ記録時、記録対象のデータセクタにシークを行う。このとき、ＲＤＣ３００のパリティ付加器３１０が有するブロックサイズフォーマッタ３１１は、メモリ（不揮発性）１８０から記録するゾーン・トラックのブロックサイズ可変量初期値を読み出す。そして、ブロックサイズフォーマッタ３１１は、メモリ（不揮発性）１８０から読み出したブロックサイズ可変量初期値を用いて、上述した計算方法によりブロックサイズを計算し、データ位置に応じたブロックサイズをパリティ生成器３１２に送る。
【００４７】
上記の磁気ディスク装置１００におけるデータの記録過程で説明したように、ＲＤＣ３１０のパリティ生成器３１２は、ＨＤＣ２００から、ＨＤＣ２００によりユーザデータが誤り訂正符号化された符号化データ（記録データ）を受け付ける。
【００４８】
そして、パリティ生成器３１２は、ＨＤＣ２００から受けた符号化データ（記録データ）の先頭から順に、ブロックサイズフォーマッタ３１１から送られた所定のブロックサイズで区切り、各ブロックサイズごとに誤り検出用のパリティをそれぞれ計算する。例えば、所定のブロックサイズで区切られたブロック内の“１”の個数が奇数であれば“１”、偶数であれば“０”とする奇偶パリティを付加するパリティとして計算する。パリティ生成器３１２は、符号化データを所定のブロックサイズで区切った全てのブロックについてパリティの生成が完了するまで、データとパリティとを対応付けてメモリ３１３に記録する。
【００４９】
マルチプレクサ３１４は、メモリ３１３からパリティデータ、記録データを読込んで、パリティデータ、記録データの順に記録補償器３２０に送る。記録補償器３２０は、パリティデータ、記録データの順に媒体１１０に記録する。媒体１１０に記録される記録データは、図１に示すようなフォーマット構成をとり、ブロック１のパリティはパリティ部の１に対応し、ブロック８１のパリティはパリティ部の８１に対応する。なお、誤り検出用のパリティは巡回検査（ＣＲＣ）符号やＢＣＨ符号を用いることで、より確実に誤りを検出でき、かつランダム誤りとバースト誤りの区別を容易にすることができる。
【００５０】
［データ再生］
媒体１１０からデータを再生する磁気ディスク装置１００のデータ再生処理について、以下に簡単に説明する。
【００５１】
ＨＤＣ２００は、データ再生時、再生対象のデータセクタにシークを行う。このとき、ＲＤＣ３００は、メモリ（不揮発性）１８０より再生するゾーン・トラックのブロックサイズ可変量初期値を読み出す。ＲＤＣ３００は、図３に示すように、「Ｒｅａｄ  Ａｍｐ（リードアンプ）」１３２を介して、媒体１１０に記録されたデータを再生ヘッドにより読み出し、アナログフィルタ（ＣＴＦ）３３０、アナログ・ディジタル変換器（ＡＤＣ）３３０、等化器３４０を経由して、ビタビ復号器３５０により２値データに判定する。
【００５２】
そして、ＲＤＣ３００は、ポストプロセッサ３６０により、ビタビ復号器３５０により判定された２値データについて、データブロックと、データブロックに対応するパリティに基づいて誤り検出及び訂正を行う。次に、ＲＤＣ３００は、ＨＤＣ２００にデータと消失フラグを出力する。ＨＤＣ２００は、ＲＤＣ３００からのデータおよび消失フラグを用いて、誤り訂正復号、ＲＬＬ復号、ＣＲＣ復号を行い、ユーザデータを出力する。
【００５３】
以下、ポストプロセッサ３６０内部の動作について説明する。図９は、実施例１に係るポストプロセッサの構成を示す機能ブロック図である。同図に示すように、ポストプロセッサ３６０は、デマルチプレクサ３６１、ブロックサイズフォーマッタ３６２、パリティ再生成器３６３、誤り検出器３６４、ビットスリップ検出器３６５、ビットスリップ補正器３６６、セレクタ３６７およびパリティ誤り訂正器３６８を有する。
【００５４】
デマルチプレクサ３６１は、ビタビ復号器出力データをデータ部とパリティ部に分割し、データ部をパリティ再生成器３６３へ送るとともに、パリティ部を誤り検出器３６４に送る。パリティ再生成器３６３は、ビタビ復号器出力データのデータ部に関し、ブロックサイズフォーマッタ３６２により不揮発メモリ１８０から読込んだブロックサイズに従って、パリティ付加器３１０のパリティ生成器３１２と同様の操作でパリティを生成し、誤り検出器３６４に送る。
【００５５】
誤り検出器３６４は、パリティ再生成器３６３から送られてきたパリティと、ビタビ復号器出力データから分割されたパリティ部のデータとを用いて誤り検出を行い、誤り検出された検出情報をビットスリップ検出器３６５およびセレクタ３６７にそれぞれ送る。
【００５６】
後述するビットスリップ検出器３６５において、ビットスリップの発生が検出されない場合は、セレクタ３６７は、ビタビ復号器出力データのデータ部とともに、誤り検出器３６４から送られてくる誤り検出情報をパリティ誤り訂正器３６８に出力する。パリティ誤り訂正器３６８は、誤り検出情報から誤り有りとされるブロックに関し、等化器出力データを用いて誤り訂正を行う。このパリティ誤り検出及びパリティ誤り訂正の方法として、例えば、参考文献（ＩＥＥＥ Ｔｒａｎｓ．Ｍａｇｎ．ＶＯＬ．３１，ＮＯ．６，Ｎｏｖ．１９９５）で示す方法、あるいは、等化器出力データの代わりにビタビ復号において得られる尤度情報を用いる方法（特開２００８−１３６１６６号公報）を用いることができる。
【００５７】
［ビットスリップ検出］
以下、ポストプロセッサ３６０におけるビットスリップ検出について説明する。図１０は、実施例１に係るビットスリップ検出を説明するための図である。同図に示すように、ポストプロセッサ３６０における誤り検出の際、誤りブロックの連続性からビットスリップ検出を行う。ＨＤＣ２００の誤り訂正復号器２４０において誤り訂正不可となった場合、ビットスリップ検出結果と照らし合わせて、ブロック７７以降ではパリティ誤りが連続していることから、ブロック７７においてビットスリップが発生していると仮定できる。
【００５８】
ポストプロセッサ３６０におけるビットスリップ検出動作について説明する。ビットスリップ検出器３６５は、図１０に示すように、誤り検出器３６４から受け取ったブロックごとの誤り検出結果から、誤りがバースト状態（バースト誤り）になっている場合には、バースト開始ブロックのインデックス情報（例えば、ブロック７７）をビットスリップ補正器３６６に送る。ビットスリップ検出器３６５は、誤りの発生したブロックが所定数（例えば、３ブロック）連続する場合、連続する５ブロック中３ブロックを超える誤りが発生している場合、あるいは、誤りが発生したブロックから上述した条件を下回る最後の誤りブロックまでをバースト状態（バースト誤り）として検出する。
【００５９】
［ビットスリップ補正］
図１１は、実施例１に係るビットスリップ補正器の構成を示す機能ブロック図である。同図に示すように、ビットスリップ補正器３６６は、ビット挿入／削除器３６６ａ、パリティ再生成器３６６ｂ、誤り検出器３６６ｃおよびビットスリップ検出器３６６ｄを有する。
【００６０】
ビットスリップ補正器３６６は、ビットスリップ検出器３６５から送られてきたバースト開始ブロックのインデックス情報から、ブロック７７においてビットスリップが発生したと仮定する。そして、ビット挿入／削除器３６６ａは、ブロック７８に１ビットの“１”を挿入する。パリティ再生成器３６６ｂは、ブロック７８以降についてパリティ再生成を行い、誤り検出器３６６ｃは、パリティ再生成器３６６ｂにより再生成されたパリティを用いて誤り検出を行う。誤り検出の結果、連続誤りがなければ、ビットスリップ検出器３６６ｄは、ブロック７７のみに消失フラグを与えて、ビタビ復号器出力データのデータ部、および誤り検出器３６６ｃの誤り検出情報とともに、セレクタ３６７に送る。
【００６１】
セレクタ３６７、パリティ誤り訂正器３６８を介して、誤り訂正結果を受けたＨＤＣ２００は、誤り訂正復号を行った後、ユーザデータを出力する。
【００６２】
なお、ビットスリップ方向は、隣接トラックとの記録クロック周波数の差によって予め判断可能である。例えば、次のデータセクタの周波数が高い場合は、ビット削除の可能性が高く、逆であればビット挿入の可能性が高い。上述したビット挿入／削除器３６６ａにおけるビットの挿入、削除は、記録クロック周波数の差を勘案して実施する。また、もし挿入または削除によってもパリティ誤りが検出される場合、バースト誤りブロックについて消失訂正フラグを与え（例えばブロック７７〜８１）、誤り訂正復号器２４０に出力し、消失誤り訂正を行う。なお、誤り訂正復号器２４０として、リードソロモンのような１０ビット単位（シンボルと呼ぶ）で処理を行う場合、消失訂正フラグはシンボルに整形（シンボル内に１ビットでも消失フラグがあれば、シンボルを消失）する。
【００６３】
［磁気ディスク装置による処理（実施例１）］
以下、磁気ディスク装置による処理を説明する。図１２は、実施例１に係る記録クロック周波数測定処理の流れを示す図である。図１３は、実施例１に係るブロックサイズ可変量初期値計算処理の流れを示す図である。
【００６４】
［記録クロック周波数測定処理］
まず、図１２を用いて、記録クロック周波数測定処理の流れを説明する。同図に示すように、ＨＤＣ２００は、対象のデータセクタへのシークを行う（ステップＳ１）。ＲＤＣ３００は、再生信号から、予め媒体１１０に記録されているサーボマークを検出し、サーボマーク間隔を測定する（ステップＳ２）。ＨＤＣ２００は、サーボマーク間の規定値と、ＲＤＣ３００により測定されたサーボマーク間の測定値から、対象のデータセクタの記録クロック周波数を計算し（ステップＳ３）、その記録クロック周波数をプリセット値としてメモリ（不揮発性）１８０に格納する（ステップＳ４）。
【００６５】
そして、ＨＤＣ２００は、対象となる全てのデータセクタについて測定が終了したか否かの判定を行う（ステップＳ５）。判定の結果、対象となる全てのセクタについて測定が終了していなければ（ステップＳ５否定）、上述したステップＳ１のシーク処理へ戻り、次の対象のデータセクタの測定を行う。対象となる全てのセクタについて測定が終了していれば（ステップＳ５肯定）、記録クロック周波数の測定を終了する。
【００６６】
［ブロックサイズ可変量初期値計算処理］
続いて、図１３を用いて、ブロックサイズ可変量初期値計算処理の流れを説明する。同図に示すように、ＨＤＣ２００は、所望データセクタ及び隣接データセクタの記録クロック周波数を参照して（ステップＳ１）、データセクタ間の周波数差を計算する（ステップＳ２）。周波数差の算出後、ＨＤＣ２００は、ブロックサイズ可変量初期値を算出し（ステップＳ３）、算出されたブロックサイズ可変量初期値を記録クロック周波数のプリセット値と共にメモリ（不揮発性）１８０に記録する（ステップＳ４）。そして、ＨＤＣ２００は、記録クロック周波数がプリセットされるデータセクタについて、ブロックサイズ可変量初期値の全ての計算が終了したか判断する（ステップＳ５）。判断の結果、未終了であれば（ステップＳ５否定）、上述したステップＳ１に戻り、未終了の計算を行う。一方、判断の結果、終了であれば（ステップＳ５肯定）、ブロックサイズ可変量初期値の計算について処理を終了する。
【００６７】
［実施例１による効果］
上述してきたように、実施例１によれば、図１に示すように、データセクタを構成する各ブロックのインデックスが１〜８１へ向かう後半ほど、ブロックサイズが小さくなるようにブロックサイズを変更して、各ブロックに対して同数のパリティを割り当てる。すなわち、データセクタを構成する各ブロックの後半ほど、割り当てられる誤り検出訂正能力の比率が多くなるようにデータセクタをフォーマットする。このようなことから、ビットスリップの発生確率が高い、ブロック後半ほど誤り検出訂正能力の比率が大きくするので、結果として、ビットスリップ箇所を迅速に検出かつ訂正できる。
【００６８】
また、実施例１によれば、ブロックサイズを変更するためのブロックサイズ可変量を、データセクタ間の記録周波数の差に応じて設定するので、ブロックサイズを適切に調整できる。
【００６９】
また、実施例１によれば、データセクタを構成する各ブロックに対応するパリティ部をデータセクタの先頭に配置するので、パリティ部のエラーを防止でき、誤り検出訂正能力を維持できる。
【実施例２】
【００７０】
以下、記録再生装置、制御装置およびフォーマット方法の他の実施形態について説明する。
【００７１】
（１）装置構成等
例えば、図２に示した磁気ディスク装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、磁気ディスク装置１００の分散・統合の具体的形態は図示のものに限られず、例えば、ＨＤＣ２００とメモリ（不揮発性）１８０とを統合する。このように、磁気ディスク装置１００の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、磁気ディスク装置１００にて行なわれる各処理機能（例えば、図１１および図１２等参照）は、その全部または任意の一部が、ＭＰＵやＭＣＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７２】
（２）フォーマット方法
上記の実施例で説明した磁気ディスク装置１００により、以下のようなフォーマット方法が実現される。
【００７３】
すなわち、媒体１１０上に設けられたデータセクタを構成する各ブロックの後半ほど、割り当てられる誤り検出訂正能力の比率が大きくなるようにデータセクタをフォーマットするステップ（例えば、図１２のステップＳ１〜ステップＳ４参照）を含んだフォーマット方法が実現される。
【産業上の利用可能性】
【００７４】
以上のように、開示の記録再生装置、制御装置およびフォーマット方法は、ビットパターンド記録（BPR：Bit Patterned Recording）方式を用いた情報記録の際に発生するビットスリップに対応することに有用であり、特に、ビットスリップ箇所を迅速に検出かつ訂正することに適する。
【符号の説明】
【００７５】
１００  磁気ディスク装置
１１０  媒体
１２０  ヘッド
１３０  ヘッドアンプ
１４０  ＳＰＭ（スピンドルモータ）
１５０  ＶＣＭ（ボイスコイルモーター）
１６０  サーボ制御部
１７０  ＭＰＵ（マイクロプロセッサ）
１８０  メモリ
２００  ＨＤＣ（ハードディスクコントローラ）
２１０  ＣＲＣ符号器
２２０  ＲＬＬ符号器
２３０  誤り訂正符号器
２４０  誤り訂正復号器
２５０  ＲＬＬ復号器
２６０  ＣＲＣ復号器
３００  ＲＤＣ（リードライトチャネル）
３１０  パリティ付加器
３２０  記録補償器
３３０  ＣＴＦ／ＡＤＣ
３４０  等化器
３５０  ビタビ復号器
３６０  ポストプロセッサ
【図１】
2010218661.tif 000004
【図２】
2010218661.tif 000005
【図３】
2010218661.tif 000006
【図４】
2010218661.tif 000007
【図５】
2010218661.tif 000008
【図６】
2010218661.tif 000009
【図７】
2010218661.tif 000010
【図８】
2010218661.tif 000011
【図９】
2010218661.tif 000012
【図１０】
2010218661.tif 000013
【図１１】
2010218661.tif 000014
【図１２】
2010218661.tif 000015
【図１３】
2010218661.tif 000016