(57)【要約】【課題】複合ヘッドのヘッドギャップに起因するフォーマットロスを排除することを可能とする【解決手段】ディスクに書かれたセクタデータを複合ヘッド１２−ｉのリードヘッド１２１により読み出し、当該セクタデータからＳＭ検出器２１４によりシンクマークを検出する。リードチャネル２１は、検出されたシンクマークに後続するユーザデータを復調してＨＤＣ５０に出力する。シーケンサ５１は、検出されたシンクマークに先行するプリアンブルデータのデータ長をリードプリアンブルデータ長として測定する。シーケンサ５１は、ディスクに書き込むべきセクタデータ中のプリアンブルデータのデータ長、ライトチャネル２２におけるライトパス遅延量、上記リードプリアンブルデータ長、及びリードチャネル２１におけるリードパス遅延量をもとにヘッド１２−ｉのヘッドギャップ長を取得する。【選択図】    図５
2005025892.tif 000002
【特許請求の範囲】
【請求項１】
サーボデータが記録されたサーボ領域がディスクの円周方向に等間隔で配置され、隣接するサーボ領域間が複数のデータセクタを配置するためのデータ領域として割り当てられたフォーマット構成を適用し、前記ディスクからデータを読み出すためのリードヘッドと、当該リードヘッドから前記ディスクの円周方向に離間し、前記ディスクにデータを書き込むためのライトヘッドとを含む複合ヘッドを備えたディスク記憶装置における複合ヘッドのヘッドギャップ長測定方法であって、
前記ディスクに書き込むべきユーザデータをライト回路により変調し、プリアンブルデータ、シンクマーク及び変調されたユーザデータを含むセクタデータを前記複合ヘッドの前記ライトヘッドにより前記ディスクに書き込ませるステップと、
前記ディスクに書かれたセクタデータを前記複合ヘッドの前記リードヘッドにより読み出させるステップと、
前記リードヘッドにより読み出されたセクタデータから前記シンクマークをリード回路により検出するステップと、
前記リード回路により検出されたシンクマークに後続するユーザデータを前記リード回路により復調するステップと、
前記リード回路の起動時から当該リード回路により前記シンクマークが検出されるまで当該リード回路から出力されるプリアンブルデータのデータ長をリードプリアンブルデータ長として測定するステップと、
測定されたリードプリアンブルデータ長、前記ディスクに書き込むべきセクタデータ中のプリアンブルデータのデータ長であるライトプリアンブルデータ長、前記ライト回路における遅延時間に相当するデータ長であるライトパス遅延量、及び前記リード回路における遅延時間に相当するデータ長であるリードパス遅延量をもとに前記複合ヘッドのヘッドギャップ長を取得するステップと
を具備することを特徴とする複合ヘッドのヘッドギャップ長測定方法。
【請求項２】
前記取得ステップでは、前記ヘッドギャップ長が、次式
ヘッドギャップ長＝ライトプリアンブルデータ長＋ライトパス遅延量
−（リードプリアンブルデータ長−リードパス遅延量）
に従って取得されることを特徴とする請求項１記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項３】
前記複合ヘッドのヘッドギャップ長が取得された後の前記ディスクへのセクタデータの書き込みにおいて、前記ディスクに書き込むべきプリアンブルデータであって、当該ヘッドギャップ長に相当するデータ長だけ、予め定められたデータ長より短く設定されたブリアンブルデータを生成するステップと、
生成されたプリアンブルデータを含むセクタデータの書き込みにおいて、前記ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を、前記ディスクからのセクタデータの読み込み時に有効となる、当該セクタデータの読み込みの期間を指定するリードゲート信号より、前記ヘッドギャップ長に相当する時間だけ遅らせるステップと
を更に具備することを特徴とする請求項１記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項４】
前記ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を、許容される最大ヘッドギャップ長を考慮した時間だけ基準のタイミングより遅延させるステップを更に具備することを特徴とする請求項１記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項５】
前記測定ステップでは、前記ディスクからのセクタデータの読み込みの期間を指定するリードゲート信号により示されるセクタデータの読み込み開始時点から前記セクタデータ中の前記シンクマークが検出される時点までの期間に相当するデータ長を前記リードプリアンブルデータ長として測定することを特徴とする請求項１記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項６】
前記ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を、許容される最大ヘッドギャップ長を考慮した時間だけ基準のタイミングより遅延させるステップと、
前記リードゲート信号を、前記最大ヘッドギャップ長を考慮した時間だけ前記基準のタイミングより遅延させるステップと
を更に具備することを特徴とする請求項５記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項７】
前記ディスクはデータが記録される記録面をなす２つのディスク面を有し、当該２つのディスク面の一方に対応して前記複合ヘッドが配置されると共に、当該２つのディスク面の他方に対応して別の複合ヘッドが配置されており、
前記ヘッドギャップ長を測定するための前記各ステップを、前記複合ヘッド毎に実行することを特徴とする請求項１記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項８】
前記複合ヘッド毎に測定されたヘッドギャップ長の情報を当該ヘッドに対応付けて不揮発性記憶装置に格納するステップと、
前記格納ステップ以後の前記ディスクへのセクタデータの書き込みにおいて、前記ディスクに書き込むべきプリアンブルデータであって、前記不揮発性記憶装置に格納されている、当該セクタデータの書き込みに用いられる複合ヘッドに固有のヘッドギャップ長情報の示すヘッドギャップ長に相当するデータ長だけ、予め定められたデータ長より短く設定されたブリアンブルデータを生成するステップと、
前記格納ステップ以後は、前記ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を、前記ディスクからのセクタデータの読み込み時に有効となる、当該セクタデータの読み込みの期間を指定するリードゲート信号より、対応するセクタデータの書き込みに用いられる複合ヘッドに固有のヘッドギャップ長に相当する時間だけ遅らせるステップと
を更に具備することを特徴とする請求項７記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項９】
前記ディスクの記録面は当該ディスクの半径方向に複数のゾーンに分割して管理され、当該ゾーン毎に、当該ゾーン内の前記ディスク領域に配置されるデータセクタの数が異なり、
前記ヘッドギャップ長を測定するための前記各ステップを、前記複合ヘッド毎で且つ前記ゾーン毎に実行することを特徴とする請求項７記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項１０】
前記複合ヘッド毎で且つ前記ゾーン毎に測定されたヘッドギャップ長の情報を当該ヘッド及びゾーンに対応付けて不揮発性記憶装置に格納するステップと、
前記格納ステップ以後の前記ディスクへのセクタデータの書き込みにおいて、前記ディスクに書き込むべきプリアンブルデータであって、前記不揮発性記憶装置に格納されている、当該セクタデータの書き込みに用いられる複合ヘッド及び当該セクタデータの書き込み先となるデータセクタが属するゾーンに固有のヘッドギャップ長情報の示すヘッドギャップ長に相当するデータ長だけ、予め定められたデータ長より短く設定されたブリアンブルデータを生成するステップと、
前記格納ステップ以後は、前記ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を、前記ディスクからのセクタデータの読み込み時に有効となる、当該セクタデータの読み込みの期間を指定するリードゲート信号より、対応するセクタデータの書き込みに用いられる複合ヘッド及び当該セクタデータの書き込み先データセクタが属するゾーンに固有のヘッドギャップ長情報の示すヘッドギャップ長に相当する時間だけ遅らせるステップと
を更に具備することを特徴とする請求項９記載の複合ヘッドのヘッドギャップ長測定方法。
【請求項１１】
サーボデータが記録されたサーボ領域がディスクの円周方向に等間隔で配置され、隣接するサーボ領域間が複数のデータセクタを配置するためのデータ領域として割り当てられたフォーマット構成を適用するディスク記憶装置において、
前記ディスクからデータを読み出すためのリードヘッドと、当該リードヘッドから前記ディスクの円周方向に離間し、前記ディスクにデータを書き込むためのライトヘッドとを含む複合ヘッドと、
前記リードヘッドと前記ライトヘッドとの間の前記ディスクの円周方向の間隔を示すヘッドギャップ長情報を格納する不揮発性記憶装置と、
前記ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を生成するライトゲート生成器と、
前記ディスクからのセクタデータの読み出しの期間を表すリードゲート信号を生成するリードゲート生成器と、
前記ディスクに書き込むべきプリアンブルデータを生成するプリアンブル生成器と、
前記プリアンブル生成器により生成されるプリアンブルデータのデータ長が、前記不揮発性記憶装置に格納されているヘッドギャップ長情報の示すヘッドギャップ長に相当するデータ長だけ、予め定められたデータ長より短くなるように前記プリアンブル生成器を制御する手段と、
前記プリアンブル生成器によって生成されたブリアンブルデータと、シンクマーク及びユーザデータとを含むセクタデータを前記複合ヘッドの前記ライトヘッドにより前記ディスクに書き込むライト動作を前記ライトゲート信号に従って実行するライト回路と、
前記ディスクに書き込まれたセクタデータを前記リードヘッドにより読み込むリード動作を前記リードゲート信号に従って実行するリード回路であって、前記リードヘッドにより読み出されたセクタデータから前記シンクマークを検出するシンクマーク検出器を含むリード回路と、
前記ライトゲート生成器により前記ライトゲート信号が生成されるタイミングを、前記不揮発性記憶装置に格納されているヘッドギャップ長情報の示すヘッドギャップ長に相当する時間だけ前記リードゲート信号より遅らせる遅延回路と
を具備することを特徴とするディスク記憶装置。
【請求項１２】
前記リードヘッドと前記ライトヘッドとの間の前記ディスクの円周方向の間隔であるヘッドギャップ長を測定する特定モードにおいて、前記リードゲート生成器により前記リードゲート信号が生成されるタイミングを、許容される最大ヘッドギャップ長を考慮した時間だけ基準のタイミングより遅延させる調整器と、
前記特定モードにおいて、前記リードゲート信号により示されるセクタデータの読み込み開始時点から前記シンクマーク検出器により当該セクタデータ中のシンクマークが検出される時点までの期間に相当するデータ長をリードプリアンブルデータ長として測定する手段と、
前記特定モードにおいて、前記測定手段により測定されたリードプリアンブルデータ長、前記プリアンブル生成器によって生成されるプリアンブルデータのデータ長であるライトプリアンブルデータ長、前記ライト回路における遅延時間に相当するデータ長であるライトパス遅延量、及び前記リード回路における遅延時間に相当するデータ長であるリードパス遅延量をもとに前記ヘッドギャップ長を取得する手段と、
取得されたヘッドギャップ長を前記不揮発性記憶装置に格納する手段と
を更に具備し、
前記遅延回路は、前記特定モードでは、前記ライトゲート信号が生成されるタイミングを、許容される最大ヘッドギャップ長を考慮した時間だけ基準タイミングより遅延させ、前記特定モード以外の通常モードでは前記不揮発性記憶装置に格納されているヘッドギャップ長情報の示すヘッドギャップ長に相当する時間だけ遅延させ、
前記制御手段は、前記プリアンブル生成器により生成されるプリアンブルデータのデータ長を前記不揮発性記憶装置に格納されているヘッドギャップ長情報の示すヘッドギャップ長に相当するデータ長だけ短くするための制御を、前記通常モードにおいて実行する
ことを特徴とする請求項１１記載のディスク記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リードヘッドとライトヘッドとを含む複合ヘッドを備えたディスク記憶装置に係り、特にリードヘッドとライトヘッドとの間隔であるヘッドギャップ長を考慮したディスクフォーマットを実現するのに好適な、複合ヘッドのヘッドギャップ長測定方法及びディスク記憶装置に関する。
【０００２】
【従来の技術】
一般に、ディスク記憶装置、例えば磁気ディスク装置（ＨＤＤ）では、ディスクのフォーマット効率の向上が要求されている。従来は、ディスクのフォーマット効率を向上する上で、リード回路（リードチャネル）の遅延（以下、リードパス遅延と称する）がボトルネックとなっていた。その理由は、リードパス遅延を吸収して連続したデータセクタのデータ再生を実現するには、隣接するデータセクタ間の間隔（ギャップエリア）を十分広く設定しなければならないためである。
【０００３】
そこで、例えば特許文献１には、ギャップエリアを広げることなくリードパス遅延に対処するために、基準リードゲートＲＧに先行して再起動リードゲートＲＲＧをＯＮ（オン）させることで、ビタビ（Ｖｉｔｅｒｂｉ）デコーダとリードＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）回路とを早期に再起動してパイプライン動作させる技術（以下、第１の先行技術と称する）が記載されている。
【０００４】
一方、最近の高記録密度のディスク記憶装置では、スライダ上にリードヘッドとライトヘッドとが分離して実装された複合ヘッドが適用されるのが一般的である。このため、複合ヘッドを適用するディスク記憶装置では、リードヘッドによるリード動作のタイミングとライトヘッドによるライト動作のタイミングのずれを考慮する必要がある。
【０００５】
そこで、例えば特許文献２には、リードヘッドとライトヘッドとの間のディスクの円周方向の間隔（ヘッドギャップ）及びディスクのデータフォーマットに基づいて、ライトゲート（ライトゲート信号）ＷＧとリードゲート（リードゲート信号）ＲＧの出力タイミングを遅延回路により調整する技術（以下、第２の先行技術と称する）が記載されている。ここでは、ライト動作時には、サーボエリアの終端から最初のデータセクタパルスＤＳＰの生成タイミングまでの時間（Ｔ２）と、ＤＳＰからライトゲートＷＧの生成までの時間（Ｔ３）とを加算した時間（Ｔ１）、つまりサーボエリアの終端からライトゲートＷＧの生成までの時間（Ｔ１）が、ヘッドギャップ長に相当する遅れ時間に設定される。一方、リード動作時には、リードゲートＲＧの生成タイミングが、サーボエリアの終端から確保される回転変動ギャップ（パッドデータ）の中央となるように設定される。これにより、サーボエリア終端部分の情報（つまりサーボデータの終端部分）がライト動作で破壊されるのを防止すると共に、回転変動ギャップ（パッドデータ）を広げることなく正常なリード動作を実現できる。
【０００６】
【特許文献１】
特開平８−３１５５１３号公報（段落００４８〜００５０、図１、図３）
【０００７】
【特許文献２】
特開２００２−２６９７０３号公報（段落００３８〜００４１、段落００２８、図１、図３）
【０００８】
【発明が解決しようとする課題】
上記第１の先行技術が適用されたディスク記憶装置では、リードパス遅延の問題が解消されていることから、ディスクのフォーマット効率は、ライトデータ長に依存する。一方、第２の先行技術では、ヘッドギャップ及びディスクのデータフォーマットに基づいて、ライトゲートＷＧとリードゲートＲＧの出力タイミングを調整することで、サーボデータの終端部分がライト動作で破壊されるのを防止しながら、サーボエリア終端部の回転変動ギャップ（パッドデータ）を広げなくても済むようにしている。この第２の先行技術では、ヘッドギャップに相当する長さの、サーボエリア終端側のライトデータの問題について考慮されていない。明らかなように、サーボデータの終端部分がライト動作で破壊されるのを防止するには、ヘッドギャップの公差、つまり許容される最大ヘッドギャップ長を考慮したデータフォーマットが必要となる。ところが、ヘッドギャップ長が同一であっても、近年のディスク装置の記録密度の向上に伴い、ヘッドギャップ長に相当するデータ長のフォーマット効率への影響（つまりフォーマットロス）が無視できなくなってきている。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、複合ヘッドのヘッドギャップに起因するフォーマットロスを排除することを可能とする複合ヘッドのヘッドギャップ長測定方法及びディスク記憶装置を提供するものである。
【００１０】
【課題を解決するための手段】
本発明の１つの観点によれば、サーボデータが記録されたサーボ領域がディスクの円周方向に等間隔で配置され、隣接するサーボ領域間が複数のデータセクタを配置するためのデータ領域として割り当てられたフォーマット構成を適用し、前記ディスクからデータを読み出すためのリードヘッドと、当該リードヘッドから前記ディスクの円周方向に離間し、上記ディスクにデータを書き込むためのライトヘッドとを含む複合ヘッドを備えたディスク記憶装置における複合ヘッドのヘッドギャップ長測定方法が提供される。この方法は、上記ディスクに書き込むべきユーザデータをライト回路により変調し、プリアンブルデータ、シンクマーク及び変調されたユーザデータを含むセクタデータを上記複合ヘッドの上記ライトヘッドにより上記ディスクに書き込ませるステップと、上記ディスクに書かれたセクタデータを上記複合ヘッドの上記リードヘッドにより読み出させるステップと、上記リードヘッドにより読み出されたセクタデータからシンクマークをリード回路により検出するステップと、検出されたシンクマークに後続するユーザデータをリード回路により復調するステップと、上記リード回路の起動時から当該リード回路によりシンクマークが検出されるまで当該リード回路から出力されるプリアンブルデータのデータ長をリードプリアンブルデータ長として測定するステップと、測定されたリードプリアンブルデータ長、上記ディスクに書き込むべきセクタデータ中のプリアンブルデータのデータ長であるライトプリアンブルデータ長、上記ライト回路における遅延時間に相当するデータ長であるライトパス遅延量、及び上記リード回路における遅延時間に相当するデータ長であるリードパス遅延量をもとに上記ヘッドギャップ長を取得するステップとを備えたことを特徴とする。
【００１１】
このような構成においては、ディスク記憶装置が有する複合ヘッドのライトヘッドによってディスクに書かれたセクタデータを、当該複合ヘッドのリードヘッドによりリードする動作を行ってリードプリアンブルデータ長を測定することにより、当該リードプリアンブルデータ長と、既知の値である、ライトプリアンブルデータ長、ライトパス遅延量及びリードパス遅延量とをもとに、当該複合ヘッドのヘッドギャップ長を取得できる。したがって、取得されたヘッドギャップ長を反映したデータフォーマットを適用することにより、各ディスク記憶装置において一律に、許容される最大ヘッドギャップ長を考慮したデータフォーマットを適用する場合に比べて、ディスクのフォーマット効率を上げることが可能となる。特に、取得されたヘッドギャップ長に相当するデータ長だけ、予め定められたデータ長より短く設定されたブリアンブルデータを生成するステップと、生成されたプリアンブルデータを含むセクタデータの書き込みにおいて、上記ライトゲート信号を、ヘッドギャップ長に相当する時間だけリードゲート信号より遅らせるステップとを追加するならば、ディスクに実際に書き込まれるセクタデータのうち、ヘッドギャップ長に相当するサーボ領域直後のセクタデータの先頭部、つまりプリアンブルデータの先頭部を、ヘッドギャップ長に相当するデータ長だけ短くでき、ディスクのフォーマット効率を一層向上することが可能となる。
【００１２】
ここで、上記ヘッドギャップ長は、次式
ヘッドギャップ長＝ライトプリアンブルデータ長＋ライトパス遅延量
−（リードプリアンブルデータ長−リードパス遅延量）
に従って簡単に算出できる。
【００１３】
また、ディスクへのセクタデータの書き込みの期間を表すライトゲート信号を、許容される最大ヘッドギャップ長を考慮した時間だけ基準のタイミングより遅延させるとよい。このようにすると、リードプリアンブルデータ長を測定するための前段階でのセクタデータ書き込みを、サーボ領域直後の先頭のデータセクタに対して行ったとしても、当該サーボ領域に記録されているサーボデータの終端部が破壊されるのを防止できる。
【００１４】
また、上記測定ステップでは、ディスクからのセクタデータの読み込みの期間を指定するリードゲート信号により示されるセクタデータの読み込み開始時点からセクタデータ中のシンクマークが検出される時点までの期間に相当するデータ長をリードプリアンブルデータ長として測定するとよい。このようにすると、リードプリアンブルデータ長が例えばカウンタを用いて簡単に測定できる。
【００１５】
また、一般にディスクは、データが記録される記録面をなす２つのディスク面を有し、当該２つのディスク面の一方に対応して上記複合ヘッドが配置されると共に、当該２つのディスク面の他方に対応して別の複合ヘッドが配置される。このディスクの各ディスク面に対応して配置される複合ヘッドのヘッドギャップ長は必ずしも同一ではない。そこで、上記ヘッドギャップ長を測定するための各ステップを、複合ヘッド毎に実行する構成とするならば、当該複合ヘッド毎に、実際のヘッドギャップ長を考慮したディスクフォーマットが実現できる。
【００１６】
また、ディスクの記録面が当該ディスクの半径方向に複数のゾーンに分割して管理される、いわゆるＣＤＲ（Ｃｏｎｓｔａｎｔ  Ｄｅｎｓｉｔｙ  Ｒｅｃｏｒｄｉｎｇ）タイプのディスクフォーマットを適用する場合には、ゾーン毎に、当該ゾーン内のディスク領域に配置されるデータセクタの数も異なる。そこで、上記ヘッドギャップ長を測定するための各ステップを、複合ヘッド毎で且つゾーン毎に実行する構成とするならば、当該複合ヘッド毎で且つゾーン毎に、実際のヘッドギャップ長を考慮したディスクフォーマットが実現できる。
【００１７】
【発明の実施の形態】
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する。
図１は本発明の一実施形態に係る磁気ディスク装置（以下、ＨＤＤと称する）の構成を示すブロック図である。図１において、ディスク（磁気ディスク媒体）１１は上側と下側の２つのディスク面を有している。ディスク１１の２つのディスク面の少なくとも一方のディスク面、例えば両方のディスク面は、データが磁気記録される記録面をなしている。ディスク１１の各記録面に対応してそれぞれヘッド（磁気ヘッド）１２−０（Ｈ０），ヘッド１２−１（Ｈ１）が配置されている。ヘッド１２−ｉ（Ｈｉ）（ｉ＝１，２）は、スライダ上にリードヘッド１２１とライトヘッド１２２（図５参照）とが分離して実装された複合ヘッドである。ヘッド１２−ｉは、例えばＭＲ（Ｍａｇｎｅｔｏ  Ｒｅｓｉｓｔｉｖｅ：磁気抵抗効果）ヘッドである。リードヘッド（リード素子）１２１は、ＭＲ素子から構成され、ライトヘッド１２２（ライト素子）は誘導型の記録用薄膜素子から構成される。このリードヘッド１２１とライトヘッド１２２との間のディスク１１の円周方向の間隔をヘッドギャップ（ＨＧ）と呼ぶ。なお、図１の構成では、単一枚のディスク１１を備えたＨＤＤを想定しているが、ディスク１１が複数枚積層配置されたＨＤＤであっても構わない。
【００１８】
図２はディスク１１のフォーマットを示す。図２に示すように、ディスク１１の記録面には、複数のサーボ領域１１０が、当該ディスク１１の半径方向に放射状に、且つ当該ディスク１１の円周方向に等間隔で配置されている。このサーボ領域１１０には、ヘッド１２−ｉ（ｉは０または１）をディスク１１上の目標トラックの目標範囲に位置付けるのに必要な位置情報を含むサーボデータが記録されている。ディスク１１の記録面のうち、隣接するサーボ領域１１０の間は、データ領域１１１に割り当てられている。また、ディスク１１の記録面には、同心円状の多数のトラック（図示せず）が配置されている。データ領域１１１には、トラック毎に複数のデータセクタが割り当てられている。
【００１９】
ディスク１１には、ＣＤＲ（Ｃｏｎｓｔａｎｔ  Ｄｅｎｓｉｔｙ  Ｒｅｃｏｒｄｉｎｇ）と呼ばれる記録フォーマットが適用されている。このＣＤＲフォーマットを適用するディスク１１の記録面は、当該ディスク１１の半径方向に複数のゾーンに分割して管理される。図２の例では、ディスク１１の記録面は１０個のゾーンＺ０〜Ｚ９に分割して管理されるものとする。各ゾーンＺｊ（ｊ＝０〜９）のトラック（シリンダ）当たりのデータセクタ（ＤＳ）数は、ディスク１１の外周側のゾーンほど多く設定されている。その理由は、トラック（シリンダ）の物理的な周の長さが長くなるディスク１１の外周側の領域を有効に使用して当該ディスク１１のフォーマット効率を上げるためである。明らかなように、ディスク１１からデータを読み出す際、或いはディスク１１にデータを書き込む際のデータ転送速度は、ディスク１１の外周側のゾーンほど速くなる。
【００２０】
図３は、ディスク１１上の各トラックのフォーマットを示す。データ領域１１１の長さ（ディスク１１の円周方向の長さ）は、必ずしもデータセクタの長さの整数倍ではない。このため、図３の例のように、１つのデータセクタがサーボ領域１１０を挟んで２つのデータセクタに分離されることがある。分離された両データセクタはスプリットセクタと呼ばれる。スプリットセクタのデータフォーマットは、ユーザデータのサイズが異なる点を除いて、通常のデータセクタのデータフォーマットと何ら変わらない。データ領域１１１内の最初のデータセクタ（第１セクタ）、データ領域１１１内の最後のデータセクタ（最終セクタ）、及びデータ領域１１１内の他のデータセクタ（第１セクタ及び最終セクタを除く通常のセクタ）の長さは、必ずしも同一でない。
【００２１】
図４は、ディスク１１上に記録されているデータセクタのデータ（セクタデータ）のフォーマットを示す。図３に示すように、セクタデータは、プリアンブル（プリアンブルデータ）３１と、シンクマーク（ＳＭ）３２と、ユーザデータ３３と、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ：エラー訂正符号）３４と、ビタビ制御データ（ＶＴＢ）３５とを含む。プリアンブル３１は、予め定められた周波数の同期パターンからなるデータ（プリアンブルデータ）である。プリアンブル３１は、リードＮＲＺクロック信号（リードクロック信号）ＲＮＣを生成するリード同期回路２１７の同期信号として用いられる。シンクマーク３２は、リード時に後続のユーザデータ３３の先頭ビットを検出するための特定コードである。ユーザデータ３３は、符号化されたデータである。ユーザデータ３３のサイズは、対応するデータセクタがスプリットセクタでない場合には、例えば５１２Ｂ（バイト）である。また、サーボ領域を挟んで隣接する最終セクタ及び第１セクタがスプリットセクタである場合、当該最終セクタ及び第１セクタのユーザデータ３３のサイズの和は５１２Ｂである。ＥＣＣ３４は、再生されたユーザデータ３３のエラーを訂正するのに用いられるエラー訂正符号である。ビタビ制御データ（ＶＴＢ）３５は、ユーザデータ３３をＰＲＭＬ（Ｐａｒｔｉａｌ  Ｒｅｓｐｏｎｓｅ  Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ）処理で復号する際に実行されるＭＬ（最尤）判定を終了させるために付加されるデータである。
【００２２】
再び図１を参照すると、ディスク１１はスピンドルモータ（以下、ＳＰＭと称する）１３により高速に回転させられる。各ヘッド１２−ｉはヘッド移動機構としてのアクチュエータ（キャリッジ）１４に取り付けられている。ヘッド１２−ｉは、アクチュエータ１４の回動に従ってディスク１１の半径方向に移動される。これにより、ヘッド１２−ｉは、目標トラック上に位置付けられる。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（以下、ＶＣＭと称する）１５を有している。アクチュエータ１４は、このＶＣＭ１５により駆動される。
【００２３】
ＳＰＭ１３及びＶＣＭ１５は、ドライバＩＣ１６からそれぞれ供給される駆動電流（ＳＰＭ電流及びＶＣＭ電流）により駆動される。ドライバＩＣ１６は、ＳＰＭドライバ１６１と、ＶＣＭドライバ１６２とを含んでいる。ＳＰＭドライバ１６１は、ＣＰＵ４０から指定された量のＳＰＭ電流をＳＰＭ１３に対して供給する。ＶＣＭドライバ１６２はＣＰＵ４０から指定された量のＶＣＭ電流をＶＣＭ１５に対して供給する。
【００２４】
ヘッド１２−ｉはヘッドアンプ回路を構成するヘッドＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１７と接続されている。ヘッドＩＣ１７は、プリアンプ（リードアンプ）１７１（図５参照）とライトドライバ（ライトアンプ）１７２（図５参照）とを含む。
【００２５】
ヘッドＩＣ１７は、リード／ライトＩＣ（リード／ライトチャネル）２０と接続されている。リード／ライトＩＣ２０は、リード信号に対するＡ／Ｄ（アナログ／デジタル）変換処理、ライトデータの符号化処理及びリードデータの復号化処理等の各種の信号処理を実行する信号処理デバイスである。
【００２６】
リード／ライトＩＣ２０は、制御装置３０と接続されている。制御装置３０は、ＣＰＵ４０とディスクコントローラ（以下、ＨＤＣと称する）５０とを含む。ＣＰＵ４０は、制御プログラムが格納された不揮発性メモリ、例えば書き換えが可能なフラッシュＲＯＭ（以下、ＦＲＯＭと称する）４１と、ＲＡＭ４２とを有する。ＲＡＭ４２の記憶領域の一部はＣＰＵ４０の作業用の領域に割り当てられる。ＣＰＵ４０は、ＦＲＯＭ４１に格納されている制御プログラムを実行することにより、ＨＤＤ内の各部（例えば、ドライバＩＣ１６、ヘッドＩＣ１７、リード／ライトＩＣ２０及びＨＤＣ５０）を制御する。ＦＲＯＭ４１の記憶領域の一部は、後述するフォーマットテーブル４１０を格納するのに用いられる。ＣＰＵ４０は、ＨＤＤを利用するホスト６０からの特定のコマンドによりヘッドギャップ長サーチ（以下、ＨＧ長サーチと称する）が指示された場合に、ＨＤＤを、各ヘッド１２−ｉのヘッドギャップ長（以下、ＨＧ長と称する）を検出（測定）するためのＨＧ長サーチモードに設定する。
【００２７】
ＨＤＣ５０は、シーケンサ５１を有する。シーケンサ５１は、ホスト６０からのコマンドの入力及びホスト６０との間のデータの転送を制御する。シーケンサ５１はまた、リード／ライトＩＣ２０を介して、ディスク１１との間のデータの転送を制御する。このシーケンサ５１の特徴は、ＨＧ長サーチモードにおいて、各ヘッド１２−ｉのＨＧ長を検出する機能を有している点にある。
【００２８】
図５は、図１中の主としてリード／ライトＩＣ２０及びＨＤＣ５０のブロック構成を示す。図５に示すように、リード／ライトＩＣ２０は、リードチャネル２１とライトチャネル２２とを有する。リードチャネル２１は、再生系をなす周知の回路構成を有する。即ちリードチャネル２１は、サーボチャネル２１１と、サーボデコーダ２１２と、パーシャルレスポンス（Ｐａｒｔｉａｌ  Ｒｅｓｐｏｎｓｅ）チャネル（以下、ＰＲチャネルと称する）２１３と、シンクマーク（Ｓｙｎｃ  Ｍａｒｋ）検出器（以下、ＳＭ検出器と称する）２１４と、ビタビ（Ｖｉｔｅｒｂｉ）検出器（復号器）２１５と、ランレングスリミテッド（Ｒｕｎ  Ｌｅｎｇｔｈ  Ｌｉｍｉｔｅｄ）デコーダ（以下、ＲＬＬデコーダと称する）２１６と、リード同期回路（Ｒｅａｄ  Ｓｙｎｃｈｒｏｎｉｚｅｒ）２１７とを含んでいる。一方、ライトチャネル２２は、記録系をなす周知の回路構成を有する。即ちライトチャネル２２は、プリアンブル生成器２２１と、ＲＬＬエンコーダ２２２と、シンクマーク生成器（以下、ＳＭ生成器と称する）２２３と、ライトシンセサイザ２２４と、擬似エミッタ結合論理（ｐｓｅｕｄｏ  ｅｍｉｔｔｅｒ  ｃｏｕｐｌｅｄ  ｌｏｇｉｃ）ドライバ（以下、ＰＥＣＬドライバと称する）２２５とを含んでいる。
【００２９】
ＨＤＣ５０は、図１に示したシーケンサ５１の他に、サーボコントローラ５２と、シンクバイト（Ｓｙｎｃ  Ｂｙｔｅ）検出器（以下、ＳＢ検出器と称する）５３と、エラー訂正回路（以下、ＥＣＣ回路と称する）５４と、プリアンブル生成器５５と、シンクバイト生成器（以下、ＳＢ生成器と称する）５６と、ＥＣＣ生成器５７と、ライトパッド生成器（以下、ＷＰＤ生成器と称する）５８とを含んでいる。
【００３０】
図６は、シーケンサ５１の構成を示す。図６に示すように、シーケンサ５１は、ＤＳＰ（データセクタパルス）生成器５０１と、ＤＳＰ調整器５０２と、ＤＳＰ遅延回路５０３と、ＷＧ（ライトゲート）生成器５０４と、ＲＧ（リードゲート）生成器５０５と、ライトＮＲＺ（Ｎｏｎ−Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ）カウンタ５０６と、リードＮＲＺカウンタ５０７と、リードプリアンブルカウンタ５０８と、ＨＧ（ヘッドギャップ）長算出器５０９と、フォーマットクロック生成器５１０とを含んでいる。
【００３１】
ＤＳＰ生成器５０１は、図５中のサーボコントローラ５２から出力されるサーボ領域１１０の終端（サーボデータの終端）を示すタイミング信号（以下、サーボエッジ信号と称する）ＳＥＳが有効となる毎に、フォーマットクロック生成器５１０からのクロック信号（フォーマットクロック信号）ＦＣに同期して、当該サーボ領域１１０の直後のデータ領域１１１に記録されているデータセクタに対応するデータセクタパルスＤＳＰを順次生成する。このデータセクタパルスＤＳＰの出力タイミングは、フォーマットテーブル４１０に基づいて設定されるＤＳＰ開始ポインタにより示される。フォーマットテーブル４１０の内容については後述する。ＤＳＰ調整器５０２は、図１のＨＤＤが、ホスト６０から与えられたＨＧ長サーチを指示する特定コマンド（以下、ＨＧ長サーチコマンドと称する）に応じてＨＧ長サーチモードに設定されている場合に、ＤＳＰ生成器５０１によるＤＳＰ生成のタイミングを調整する。
【００３２】
ＤＳＰ遅延回路５０３は、ＤＳＰ生成器５０１により生成されたデータセクタパルスＤＳＰを、ライトゲート（ライトゲート信号）ＷＧを生成（ＯＮ）するタイミングとするために、フォーマットテーブル４１０に従って時間ＤＳＰＤだけ遅延する。この遅延されたデータセクタパルスＤＳＰは、ライト用のデータセクタパルスＤＳＰ（ライトＤＳＰ）として用いられる。ＷＧ生成器５０４は、ＤＳＰ遅延回路５０３によって遅延されたＤＳＰ（ライトＤＳＰ）に従ってライトゲートＷＧを生成（ＯＮ）する。ＲＧ生成器５０５は、ＤＳＰ生成器５０１により生成されたデータセクタパルスＤＳＰをリード用のデータセクタパルスＤＳＰ（リードＤＳＰ）として、リードゲート（リードゲート信号）ＲＧを生成（ＯＮ）する。
【００３３】
ライトＮＲＺカウンタ５０６は、リード／ライトＩＣ２０内のライトシンセサイザ２２４から出力されるＮＲＺデータ書き込みのためのライトＮＲＺクロック信号ＷＮＣに含まれるクロックパルスの数をカウントする。ライトＮＲＺカウンタ５０６のカウント開始のためのスタート信号には、ＷＧ生成器５０４からのライトゲートＷＧが用いられる。ライトＮＲＺカウンタ５０６は、プリアンブルと、シンクバイト（ＳＢ）と、ユーザデータ、ＥＣＣ及びビタビ制御データ（ＶＴＢ）の長さに相当するクロックパルス数（時間）、及びライトパッド（ＷＰＤ）の長さに相当するクロックパルス数（時間）を順次カウントし、その都度、対応するプリアンブル生成器５４と、ＳＢ生成器５５と、ＥＣＣ生成器５６と、ＷＰＤ生成器５７とを起動する。ライトＮＲＺカウンタ５０６のカウント動作に必要な情報は、フォーマットテーブル４１０により示される。
【００３４】
リードＮＲＺカウンタ５０７は、リード／ライトＩＣ２０内のリード同期回路２１７から出力されるＮＲＺデータ読み出しのためのリードＮＲＺクロック信号ＲＮＣに含まれるクロックパルスの数をカウントする。リードＮＲＺカウンタ５０７のカウント開始のためのスタート信号には、ＨＤＣ５０内のＳＢ検出器５３から出力されるＳＢ検出信号ＳＢＤが用いられる。一方、リードＮＲＺカウンタ５０７のカウント終了のためのストップ信号には、ＨＤＣ５０内のＥＣＣ回路５４から出力される、ＮＲＺデータの終端のタイミングを示す信号（ＮＲＺデータ終端信号）が用いられる。
【００３５】
リードプリアンブルカウンタ５０８はリード／ライトＩＣ２０内のリード同期回路２１７から出力されるリードＮＲＺクロック信号ＲＮＣに含まれるクロックパルスの数をカウントする。リードプリアンブルカウンタ５０８のカウント開始のためのスタート信号には、ＲＧ生成器５０５から出力されるリードゲートＲＧが用いられる。一方、リードプリアンブルカウンタ５０８のカウント終了のためのストップ信号には、ＳＢ検出器５３から出力されるＳＢ検出信号ＳＢＤが用いられる。これによりリードプリアンブルカウンタ５０８は、リードチャネル２１からＨＤＣ５０に転送されるプリアンブルデータの長さ（リードプリアンブル長）をカウント（計測）する。
【００３６】
ＨＧ長算出器５０９は、フォーマットテーブル４１０により示されるライトプリアンブル長と、リードプリアンブルカウンタ５０８によりカウントされたリードプリアンブル長とを用いて、ＨＧ長を算出する。フォーマットテーブル４１０は、ＨＧ長算出器５０９によって算出されたＨＧ長をもとに更新される。
【００３７】
図７はフォーマットテーブル４１０のデータ構造例を示す。フォーマットテーブル４１０は、ＤＳＰテーブル４１１と、ゾーンパラメータテーブル４１２とから構成される。
【００３８】
ＤＳＰテーブル４１１には、ディスク１１のゾーンＺｊ（ｊ＝０〜９）毎で且つ当該ゾーン内の隣接するサーボ領域１１０（データ領域１１１）毎に、ＤＳＰの配置を示す情報、つまりセクタフォーマットの割り付け情報が予め格納される。このゾーン毎で且つ隣接サーボ領域１１０毎のセクタフォーマットの割り付け情報（以下、スプリット情報と称する）が格納されるＤＳＰテーブル４１１のエントリは、スプリットセクタの有無を示すスプリットフラグＳＦのフィールド４１１ａ、サーボゲートＳＧの終端から最初のＤＳＰ（１ｓｔ  ＤＳＰ）までの間隔（ＳＧ−１ｓｔ  ＤＳＰ）を示す情報のフィールド４１１ｂ、最初のデータセクタ（第１セクタ）の長さ（第１セクタ長）を示す情報のフィールド４１１ｃ、最初のデータセクタと最後のデータセクタとを除くデータセクタ（通常セクタ）の長さ（通常セクタ長）を示す情報のフィールド４１１ｄ、当該隣接するサーボ領域１１０間の領域（つまりデータ領域１１１）内で発生すべきＤＳＰの数（つまりデータ領域１１１内のデータセクタの数）を示す情報のフィールド４１１ｅ、及び最後のデータセクタ（最終セクタ）の長さ（最終セクタ長）を示す情報のフィールド４１１ｆを含む。ＤＳＰテーブル４１１の詳細なデータ構造例を図８に示す。このＤＳＰテーブル４１１のデータ構造自体は従来から知られている。本実施形態の特徴の１つは、フィールド４１１ｂに設定されている間隔（ＳＧ−１ｓｔＤＳＰ）ａｊに、ゾーンパラメータテーブル４１２に設定されている後述するヘッドギャップディレイＡｉｊが加えられた間隔が、サーボゲートＳＧの終端から最初のＤＳＰまでの間隔として実際に用いられる点である。
【００３９】
一方、ゾーンパラメータテーブル４１２は、ゾーンＺｊ毎のエントリを有する。ゾーンパラメータテーブル４１２のゾーンＺｊ毎のエントリは、フィールド４２２ａ〜４２２ｄを含む。フィールド４２２ａにはライトクロック周波数を示すパラメータが設定される。フィールド４２２ｂには、ライトプリアンブルデータ長（Ｎｗｊ）を示すパラメータが設定される。フィールド４２２ｃには、ヘッド１２−０（Ｈ０）のＨＧ（ヘッドギャップ）長によって決定されるＨＧディレイ（Ａ０ｊ）を示すパラメータが設定される。フィールド４２２ｄには、ヘッド１２−１（Ｈ１）のＨＧ長によって決定されるＨＧディレイ（Ａ１ｊ）を示すパラメータが設定される。ここで、ヘッドＨｉ（ｉ＝０，１）、ゾーンＺｊのＨＧディレイをＡｉｊと表現する。本実施形態の特徴の１つは、ゾーンパラメータテーブル４１２内の各エントリにＨＧディレイＡｉｊが設定されるフィールドが設けられている点にある。ゾーンパラメータテーブル４１２内の各エントリのフィールド４２２ｃ，４２２ｄに格納されるＨＧディレイのパラメータは、後述するように、ＨＧ長サーチモードで検出されたヘッド１２−０（Ｈ０），１２−１（Ｈ１）のＨＧ長に基づいて最適化されたものである。なお、フィールド４２２ａに格納されるパラメータはＭｊ及びＮｊの２つである。ここでは、ライトクロック周波数は、基本周波数＊Ｎｊ／Ｍｊにより表される。
【００４０】
本実施形態において、ＤＳＰテーブル４１１内の各エントリのフィールド４１１ｃ，４１１ｄ，４１１ｆに格納されるセクタ長には、ＨＧを考慮しない最小のセクタ長が用いられる。そして、ゾーンＺｊ、ヘッドＨｉでのライトが実行される場合に、ＤＳＰテーブル４１１の対応するエントリのフィールド４１１ｂに格納されている、サーボゲートＳＧの終端から１ｓｔ  ＤＳＰまでの間隔（ＳＧ−１ｓｔ  ＤＳＰ）ａｊに、ゾーンパラメータテーブル４１２に格納されているパラメータのうちの、ゾーンＺｊ及びヘッドＨｉに固有のヘッドギャップディレイＡｉｊが加えられ、１ｓｔ  ＤＳＰ（第１ＤＳＰ）が遅延される。第１のデータセクタに対応する第１ＤＳＰが遅延されると、残りのセクタ長の長さは固定されていることから、全体のセクタ位置がＡｉｊに相当するデータ長だけずらされる。Ａｉｊが正しく最適化されていれば、サーボ領域に格納されているサーボデータの終端部が書き壊されることはない。また、ＤＳＰ間隔には予めＨＧ（ヘッドギャップ）相当分が盛り込まれていないので、フォーマット効率は改善されることになる。
【００４１】
次に、本発明の一実施形態の動作について、ＨＧサーチモードでのゾーン毎・ヘッド毎のＨＧ長検出処理を例に、図９のフローチャート及び図１０のタイミングチャートを参照して説明する。
【００４２】
まず、ホスト６０は、図１のＨＤＤに対してＨＧ長サーチコマンドを送出する。ＣＰＵ４０は、ホスト６０からのＨＧ長サーチコマンドをＨＤＣ５０を介して受け取ると、ＨＤＤをＨＧ長サーチモードに設定する（ステップＳ１）。この状態でホスト６０は、ディスク１１上のゾーンＺｊを示す変数ｊを初期値０に設定すると共に（ステップＳ２）、ヘッドＨｉを示す変数ｉを初期値０に設定する（ステップＳ３）。
【００４３】
次にホスト６０は、ゾーンＺｊ、ヘッドＨｉにおける第ｐサーボ領域１１０（ＳＶ＃ｐ）直後のデータ領域１１１内の第ｑデータセクタにデータ（セクタデータ）をライトすることを指示するライトコマンドをＨＤＤに対して発行する（ステップＳ４）。これによりＨＤＤでは、第ｑデータセクタへのデータライトが次のように実行される。なお、本実施形態では説明を簡単にするために、第ｑデータセクタが第１データセクタである（つまりｑ＝１）であるものとする。
【００４４】
まず、ホスト６０からのライトコマンド従って、ヘッドＨｉ（１２−ｉ）が、ゾーンＺｊの例えば中央のトラックＴＲｃの所定範囲内に位置付けられているものとする。この状態でヘッドＨｉ（１２−ｉ）中のリードヘッド１２１は、自身が位置付けられているトラックＴＲｃに磁気記録された情報を電気信号に変換する。ヘッドＨｉ（１２−ｉ）中のリードヘッド１２１によって変換された電気信号、つまりヘッドＨｉ（１２−ｉ）中のリードヘッド１２１によって再生されたリード信号は、ヘッドＩＣ１７内のプリアンプ１７１によって増幅されてリード／ライトＩＣ２０に入力される。
【００４５】
リード／ライトＩＣ２０内のサーボチャネル２１１は、当該リード／ライトＩＣ２０に入力されたリード信号を、量子化されたリードデータに変換する。サーボデコーダ２１２は、サーボチャネル２１１により量子化されたリードデータからサーボデータを検出（抽出）する。サーボチャネル２１１により検出されたサーボデータはＨＤＣ５０内のサーボコントローラ５２に入力される。サーボコントローラ５２は、このサーボデコーダ２１２の出力に従って、サーボ領域１１０（ＳＶ＃ｐ）に相当する期間サーボゲート（サーボゲート信号）ＳＧをＯＮする。またサーボチャネル２１１は、サーボ領域１１０（ＳＶ＃ｐ）の終端を検出して、その終端位置のタイミングで有効となるサーボエッジ信号ＳＥＳを出力する。このサーボエッジ信号ＳＥＳは、ＨＤＣ５０内のシーケンサ５１に入力される。
【００４６】
シーケンサ５１に入力されたサーボエッジ信号ＳＥＳは、当該シーケンサ５１内のＤＳＰ生成器５０１に導かれる。ＤＳＰ生成器５０１は、サーボコントローラ５２から出力されるサーボエッジ信号ＳＥＳが有効となると、フォーマットクロック生成器５１０から出力されるフォーマットクロック信号ＦＣに含まれるクロックパルスの数をカウントする動作、つまり時間カウント動作を開始する。ここで、フォーマットクロック信号ＦＣの周波数は、ライトチャネル２２内のリード同期回路２１７及びライトシンセサイザ２２４からそれぞれ出力されるリードＮＲＺクロック信号ＲＮＣ及びライトＮＲＺクロック信号ＷＮＣより十分高く（例えば２倍程度高く）設定されている。
【００４７】
ＤＳＰ生成器５０１は、ＨＧ長サーチモードが設定されていない通常状態であれば、サーボエッジ信号ＳＥＳが有効となったタイミングからａｊに相当する時間後に最初のデータセクタパルスＤＳＰ（第１ＤＳＰ）を出力する。このａｊは、ゾーンＺｉに対応する、ＤＳＰテーブル４１１のフィールド４１１ｂにより示される、また、ＤＳＰ生成器５０１は、第１ＤＳＰの出力時から、ＤＳＰテーブル４１１のフィールド４１１ｃにより示される第１セクタ長に相当する時間を更にカウントすると、第２データセクタパルス（第２ＤＳＰ）を出力する。以後ＤＳＰ生成器５０１は、次のサーボ領域１１０の始端が検出されるまでは、ＤＳＰテーブル４１１のフィールド４１１ｄにより示される通常セクタ長に相当する時間を新たにカウントする毎にＤＳＰを出力する。このＤＳＰ出力タイミングを示すカウント数はＤＳＰ開始ポインタにより示される、このＤＳＰ開始ポインタは、ＤＳＰテーブル４１１のフィールド４１１ｃまたは４１１ｄにより示されるセクタ長に基づいて更新される。
【００４８】
一方、この例のように、ＨＧ長サーチモードが設定されている場合には、ＤＳＰ生成器５０１が生成すべきＤＳＰの出力タイミングを示すＤＳＰ開始ポインタが、ＤＳＰ調整器５０２によって公差を考慮した最大のＨＧ長（つまり最悪の場合のＨＧ長）ＨＧｍａｘに相当する時間だけずらされる。これによりＤＳＰ生成器５０１は、サーボ領域１１０の終端からａｊ＋ＨＧｍａｘに相当する時間後に、つまり通常よりＨＧｍａｘだけ遅れて第１ＤＳＰを出力する。以降のＤＳＰの出力間隔は、ＤＳＰ調整器５０２による調整が行われない場合と同様である。しかし、第１ＤＳＰがＨＧｍａｘに相当する時間遅延されることから、次のサーボ領域１１０までは、第２ＤＳＰ以降の出力タイミングもＨＧｍａｘに相当する時間遅延される。
【００４９】
ＤＳＰ生成器５０１により出力されたＤＳＰはＤＳＰ遅延回路５０３に入力される。このＤＳＰ遅延回路５０３に入力されたＤＳＰ（第１ＤＳＰ）は、通常は、フォーマットテーブル４１０（ゾーンパラメータテーブル４１２）により示されるＤＳＰディレイ情報Ａｉｊで決まる時間ＤＳＰＤだけ当該ＤＳＰ遅延回路５０３により遅延される。これに対してＨＧ長サーチモードでは、ＤＳＰ遅延回路５０３の遅延機能は抑止される。このため、ＤＳＰ遅延回路５０３に入力された、通常よりＨＧｍａｘに相当する時間だけ既に遅延されているＤＳＰ（第１ＤＳＰ）は、ＤＳＰ遅延回路５０３によって更に遅延されることなく、つまりＤＳＰＤ＝０として、そのまま当該ＤＳＰ遅延回路５０３から出力される。
【００５０】
ＤＳＰ遅延回路５０３から出力されるＤＳＰ（遅延されたＤＳＰ）はＷＧ生成器５０４に入力される。ＷＧ生成器５０４はライト時（ライトコマンドの実行時）に動作して、当該ＷＧ生成器５０４に入力されたＤＳＰの例えば立ち下がりのタイミングでライトゲートＷＧをＯＮする。つまり、ＤＳＰ遅延回路５０３から出力されたＤＳＰは、ライト時にはライトＤＳＰとして用いられる。ライトゲートＷＧがＯＮされると、プリアンプ１７１の動作を制御するプリアンプライトゲートＰＷＧがインバータ５１１によりＯＦＦ（オフ）される。プリアンプ１７１は、プリアンプライトゲートＰＷＧがＯＦＦの期間動作を停止する。
【００５１】
さて、ライトゲートＷＧがＯＮすると、ライトＮＲＺカウンタ５０６が起動される。これによりライトＮＲＺカウンタ５０６は、ライトシンセサイザ２２４から出力されるライトＮＲＺクロック信号ＷＮＣに含まれるクロックパルスの数をカウントする。そしてライトＮＲＺカウンタ５０６は、フォーマットテーブル４１０内のゾーンパラメータテーブル４１２により示されるゾーンＺｊに固有のライトプリアンブル長と、フォーマットテーブル４１０内のＤＳＰテーブル４１１により示されるゾーンＺｊ、ヘッドＨｉ及び第ｐ，第ｐ＋１サーボ領域１１０間（ＳＶ＃ｐ，ＳＶ＃ｐ＋１間）に固有のスプリット情報とに基づいて、タイミング信号Ｔ１〜Ｔ４を生成する。タイミング信号Ｔ１は、プリアンブル生成器５５に対してプリアンブルデータを長さＮｗｊ（バイト）だけ生成するタイミングを指定するのに用いられる。タイミング信号Ｔ２は、ＳＢ生成器５６に対してシンクバイト（ＳＢ）を生成するタイミングを指定するのに用いられる。タイミング信号Ｔ３は、ＥＣＣ生成器５７に対してユーザデータとＥＣＣとＶＴＢとを生成するタイミングを指定するのに用いられる。タイミング信号Ｔ４は、ＷＰＤ生成器５８に対してライトパッドデータ（ＷＰＤ）を生成するタイミングを指定するのに用いられる。
【００５２】
プリアンブル生成器５５は、シーケンサ５１からのタイミング信号Ｔ１に従って、ライトすべきプリアンブルデータをＮｗｊ（バイト）生成して出力する。ＳＢ生成器５６は、シーケンサ５１からのタイミング信号Ｔ２に従って、プリアンブルデータに後続するシンクバイト（ＳＢ）を生成して出力する。ＥＣＣ生成器５７は、シーケンサ５１からのタイミング信号Ｔ３に従って、ホスト６０からのライトコマンドで指定されたユーザデータ（ライトデータ）を出力する。またＥＣＣ生成器５７は、ユーザデータをもとにＥＣＣを生成して当該ユーザデータに続いて出力する。またＥＣＣ生成器５７は、ビタビ制御データ（ＶＴＢ）を生成し、ＥＣＣに続いて出力する。ＷＰＤ生成器５８は、シーケンサ５１からのタイミング信号Ｔ４に従って、ライトパッドデータ（ＷＰＤ）を生成して出力する。ライトパッドデータ（ＷＰＤ）の長さは、リード／ライトＩＣ２０内のライトチャネル２１（ライトパス）における処理の遅延時間（ライトパス遅延時間）に相当する。プリアンブル生成器５５と、ＳＢ生成器５６と、ＥＣＣ生成器５７と、ＷＰＤ生成器５８とから順次出力される、プリアンブルデータと、シンクバイト（ＳＢ）と、ユーザデータ、ＥＣＣ及びビタビ制御データ（ＶＴＢ）と、ライトパッドデータ（ＷＰＤ）とは、出力順に、リード／ライトＩＣ２０内のライトチャネル２２に転送される。ここでライトチャネル２２に転送される一連のデータは、例えばＮＲＺデータである。シーケンサ５１内のライトＮＲＺカウンタ５０６は、この一連のＮＲＺデータの終端、つまりライトパッドデータ（ＷＰＤ）の終端のタイミングで、ＷＧ生成器５０４によるライトゲートＷＧの生成を停止させるタイミング信号を当該ＷＧ生成器５０に出力する。これによりライトゲートＷＧはＯＦＦされる。
【００５３】
ライトチャネル２２内のライトシンセサイザ２２４は、ホスト６０からのライトコマンドで指定されたデータのライト時に、当該ライトコマンドで指定されたゾーンＺｊに固有の周波数のライトクロック信号を生成する。ここでは、ＨＤＣ５０で用いられるライトＮＲＺクロック信号ＷＮＣとライトチャネル２２で用いられるライトチャネルクロック信号ＷＣＣとが生成される。プリアンブル生成器２２１及びＳＭ生成器２２３は、ＨＤＣ５０内のシーケンサ５１から出力されるライトゲートＷＧに応じて起動される。
【００５４】
プリアンブル生成器２２１は、ＨＤＣ５０から転送されるＮＲＺデータ中のプリアンブルデータ（データ長Ｎｗｊ）を受けて、ディスク１１に記録されるプリアンブルデータをライトチャネルクロック信号ＷＣＣに同期して出力する。このプリアンブル生成器２２１から出力されるプリアンブルデータのデータ長は、ＨＤＣ５０から転送されるプリアンブルデータのデータ長（バイト数）Ｎｗｊに、ライトチャネル２２（ライトパス）での処理（特にＲＬＬエンコーダ２２２での符号化処理）の遅延時間に相当するバイト数（遅延バイト数）ＷＰＬ（Ｗｒｉｔｅ  Ｐａｔｈ  Ｌａｔｅｎｃｙ）が加えられたもの（Ｎｗｊ＋ＷＰＬ）となる。
【００５５】
ＳＭ生成器２２３は、ＨＤＣ５０から転送されるＮＲＺデータを、ライトチャネルクロックＷＣＣに同期して所定のシンクバイト（ＳＢ）とパターンマッチングを行うことで、当該ＮＲＺデータからシンクバイト（ＳＢ）を検出する。この場合、ＳＭ生成器２２３はシンクマーク（ＳＭ）を生成すると共に、その旨を示すシンクマーク生成信号ＳＭＧを出力する。このシンクマーク生成信号ＳＭＧは、検出されたシンクバイト（ＳＢ）に後続するユーザデータの先頭を示すタイミング信号である。ＲＬＬエンコーダ２２２は、ＳＭ生成器２２３からのシンクマーク生成信号ＳＭＧに応じて起動される。するとＲＬＬエンコーダ２２２は、ＨＤＣ５０から転送されるＮＲＺデータ中のシンクバイト（ＳＢ）に後続するデータを入力して、その入力データをチャネル記録符号であるＲＬＬ（Ｒｕｎ  Ｌｅｎｇｔｈ  Ｌｉｍｉｔｅｄ）コードに変換（変調）する。この動作は、ライトゲートＷＧがＯＦＦされるまで続けられる。ここで、ライトゲートＷＧは、ライトパス遅延時間に相当するデータ長のライトパッドデータ（ＷＰＤ）の終端のタイミングでＯＦＦされる。これにより、ＲＬＬエンコーダ２２２では、シンクバイト（ＳＢ）に後続するユーザデータ、ＥＣＣ及びビタビ制御データ（ＶＴＢ）がＲＬＬコードに変換（変調）される。
【００５６】
プリアンブル生成器２２１により生成されたデータ長がＮｗｊ＋ＷＰＬのプリアンブルデータと、ＳＭ生成器２２３により生成されたシンクマーク（ＳＭ）と、ＲＬＬエンコーダ２２２によりＲＬＬコードに変換（変調）されたユーザデータ、ＥＣＣ及びビタビ制御データ（ＶＴＢ）とは、その順番で、ＰＥＣＬドライバ２２５を介してヘッドＩＣ１７内のライトドライバ１７２に転送される。ライトドライバ１７２は、ＰＥＣＬドライバ２２５を介して転送されたデータをライト電流に変換してヘッド１２−ｉ（Ｈｉ）のライトヘッド１２２に供給する。この結果、ヘッド１２−ｉ（Ｈｉ）のライトヘッド１２２により、ディスク１１のゾーンＺｊに属するトラックＴＲｃ上のデータセクタのうち、第ｐ及び第ｐ＋１サーボ領域１１０間（ＳＶ＃ｐ，ＳＶ＃ｐ＋１間）のデータ領域１１１内の第ｑデータセクタ（＝第１データセクタ）に、プリアンブル３１、シンクマーク（ＳＭ）３２、ユーザデータ３３、ＥＣＣ３４及びビタビ制御データ（ＶＴＢ）３５を含むセクタデータが書かれる。
【００５７】
このように本実施形態では、ＨＧ長サーチモードが設定されている状態で、上記第ｑデータセクタへのデータライトが指示された場合、サーボゲートＳＧのＯＦＦのタイミング（つまりＳＶ＃ｐの終端に対応する）からａｊ＋ＨＧｍａｘに相当する時間後に最初のＤＳＰ（ライトＤＳＰ）が出力される。このサーボゲートＳＧのＯＦＦのタイミングは、目標とするデータセクタを含むデータ領域１１１の直前のサーボ領域１１０（ＳＶ＃ｐ）の終端位置に対応する。本実施形態では、ＤＳＰの出力タイミングを基準にライトすべきデータがＨＤＣ５０からリード／ライトＩＣ２０のライトチャネル２２に転送されて、ヘッドＩＣ１７を介してヘッド１２−ｉのリードヘッド１２１に出力される。このリードヘッド１２１に出力されるデータのうちの先頭のプリアンブルデータは、ライトチャネル２２でのライトパスの遅延により、その遅延時間だけ当該ライトチャネル２２にホールドされる。このため、ライトチャネル２２からリードヘッド１２１に出力されるプリアンブルデータのデータ長は、上記遅延時間に相当するデータ長（バイト数）ＷＰＬだけ、ＨＤＣ５０からリード／ライトＩＣ２０（ライトチャネル２２）にＮＲＺデータとして入力されたプリアンブルデータのデータ長（つまり元のプリアンブルデータのデータ長）Ｎｗ１よりも長くなる。これによりリードヘッド１２１に出力されたプリアンブルデータは、目標とするデータセクタ（ここでは、ＳＶ＃ｐの直後のデータ領域１１１内の第ｑデータセクタ）に、プリアンブル（プリアンブルデータ）３１としてＮｗｊ＋ＷＰＬのデータ長で書かれる。
【００５８】
次にホスト６０は、ＨＧ長サーチモードが設定されている状態で、上記第ｑデータセクタ（＝第１データセクタ）からのデータリードを指示するリードコマンドをＨＤＤに対して発行する（ステップＳ５）。これによりＨＤＤでは、第ｑデータセクタからのデータリードが次のように実行される。まず、ヘッドＨｉ（１２−ｉ）中のリードヘッド１２１によって再生されたリード信号は、ヘッドＩＣ１７内のプリアンプ１７１によって増幅される。プリアンプ１７１によって増幅されたリード信号はリード／ライトＩＣ２０内のリードチャネル２１に導かれ、当該リードチャネル２１内のサーボチャネル２１１及びＰＲチャネル２１３に入力される。
【００５９】
ＰＲチャネル２１３は、ＡＧＣ（自動利得制御）回路を構成するＶＧＡ（Ｖａｒｉａｂｌｅ  Ｇａｉｎ  Ａｍｐｌｉｆｉｅｒ：  可変利得増幅器）、ローパスフィルタ（ＬＰＦ）を構成するＣＴＦ（Ｃｏｎｔｉｎｕｏｕｓ  Ｔｉｍｅ  Ｆｉｌｔｅｒ：  波形等化回路）、Ａ／Ｄ変換器及びＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタ（いずれも図示せず）など、周知の回路構成を有している。ＰＲチャネル１３１に入力されたデータ信号は、ＶＧＡによりゲイン調整が行われた後、ＣＴＦでノイズ除去と波形等化が図られる。このＣＴＦの出力データは、Ａ／Ｄ変換器により量子化された後、ＦＩＲフィルタによりパーシャルレスポンス（ＰＲ）のクラスに合わせて波形等化される。ＰＲチャネル１３１の出力データは、ＳＭ検出器２１４、ビタビ検出器２１５及びリード同期回路２１７に入力される。
【００６０】
さてＨＤＣ５０内のシーケンサ５１では、先のＨＧ長サーチモードにおける第ｑデータセクタへのデータライトの場合と同様にして、ＤＳＰ生成器５０１によりデータセクタパルスＤＳＰ（第１ＤＳＰ）が出力される。このデータセクタパルスＤＳＰ（第１ＤＳＰ）は、ＤＳＰ調整器５０２により、サーボ領域１１０（ＳＶ＃ｐ）の終端位置のタイミング（サーボエッジ信号ＳＥＳの出力タイミング）よりａｊ＋ＨＧｍａｘに相当する時間だけ遅延されている。ＤＳＰ生成器５０１から出力されたＤＳＰはＲＧ生成器５０５に入力される。ＲＧ生成器５０５はリード時に動作して、当該ＲＧ生成器５０５に入力されたＤＳＰの例えば立ち下がりのタイミングでリードゲートＲＧをＯＮする。つまり、ＤＳＰ生成器５０１から出力されたＤＳＰは、リード時にはリードＤＳＰとして用いられる。
【００６１】
さて、リードゲートＲＧがＯＮすると、リード同期回路２１７が起動される。リード同期回路２１７はＰＬＬ（Ｐｈａｓｅ−Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を内蔵している。リード同期回路２１７は起動されると、ＰＲチャネル２１３の出力データ中のプリアンブルデータに従って位相引き込みを開始する。そしてリード同期回路２１７は、リードＮＲＺクロックパルス列からなるリードＮＲＺクロック信号ＲＮＣ及びリードチャネルクロックパルス列からなるリードチャネルクロック信号ＲＣＣを再生する。リードＮＲＺクロック信号ＲＮＣはＨＤＣ５０内のシーケンサ５１に導かれ、リードチャネルクロック信号ＲＣＣはリードチャネル２１内のＳＭ検出器２１４、ビタビ検出器２１５及びＲＬＬデコーダ２１６に導かれる。
【００６２】
リードゲートＲＧがＯＮすると、ＳＭ検出器２１４も起動される。ＳＭ検出器２１４は、ＰＲチャネル２１３の出力データを、リードチャネルクロック信号ＲＣＣに同期して所定のシンクマーク（ＳＭ）のビットパターンとパターンマッチングを行うことで、シンクマーク（ＳＭ）を検出する。ＳＭ検出器２１４は、シンクマーク（ＳＭ）を検出すると、当該シンクマーク（ＳＭ）の最終ビットの次のビットからがユーザデータの先頭ビットであるとして、その先頭ビットのタイミングでシンクマーク検出信号ＳＭＤを出力する。この信号ＳＭＤはビタビ検出器２１５及びＲＬＬデコーダ２１６に導かれる。信号ＳＭＤは、シンクマーク（ＳＭ）に後続するユーザデータの開始位置を示すタイミング信号として用いられる。
【００６３】
ビタビ検出器２１５は、ＳＭ検出器２１４からのシンクマーク検出信号ＳＭＤに応じて起動される。ビタビ検出器２１５は、ＰＲチャネル１３１（内のＦＩＲフィルタ）で等化されたデータをＰＲＭＬ（Ｐａｒｔｉａｌ  Ｒｅｓｐｏｎｓｅ  Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ）処理回路でビタビ・アルゴリズムに基づいて処理することによりＲＬＬデータ（ＲＬＬコード）を生成する。即ちビタビ検出器２１５は、ＰＲチャネル１３１（内のＦＩＲフィルタ）で等化されたデータを、リードチャネルクロック信号ＲＣＣに同期してビット単位で処理することにより、取り得るビットの組み合わせからなる候補データ列（遷移パス）を生成する。ビタビ検出器２１５は、生成された候補データ列の中から、最も確からしい候補データ列を選択し、復号されたＲＬＬデータとして出力する。この復号されたＲＬＬデータは、ユーザデータとＥＣＣからなる。
【００６４】
ビタビ検出器２１５から出力されたＲＬＬデータは、図示せぬポストコーダによりＮＲＺデータに変換されてＲＬＬデコーダ２１６に入力される。ＲＬＬデコーダ２１６は、入力されたＲＬＬデータをリードチャネルクロック信号ＲＣＣに同期して元のコードに変換（復調）する。ＲＬＬデコーダ２１６は、入力されたＲＬＬデータを元のコードデータに復調した場合、当該コードデータの先頭に特定パターン、例えばＦＦｈのシンクバイト（ＳＢ）を付加して、当該コードデータを出力する。ＲＬＬデコーダ２１６から出力される、シンクバイト（ＳＢ）が付加されたデータ（ここでは、ユーザデータ及びＥＣＣからなるＮＲＺデータ）は、ＨＤＣ５０内のＳＢ検出器５３及びＥＣＣ回路５４にそれぞれ転送される。リードゲートＲＧがＯＮされた時点ｔ１から、シンクバイト（ＳＢ）がＲＬＬデコーダ２１６からＨＤＣ５０内のＳＢ検出器５３及びＥＣＣ回路５４に転送される時点ｔ２までは、ＳＢ検出器５３及びＥＣＣ回路５４には例えば全て００ｈ（末尾のｈは１６進表現であることを示す）のデータがプリアンブルデータとして入力される。
【００６５】
リードゲートＲＧがＯＮすると、ＳＢ検出器５３及びＥＣＣ回路５４も起動される。ＳＢ検出器５３は、ＲＬＬデコーダ２１６から出力されたデータに付されているシンクバイト（ＳＢ）を検出する。ＳＢ検出器５３は、シンクバイト（ＳＢ）を検出すると、ＳＢ検出信号ＳＢＤを出力する。このＳＢ検出信号ＳＢＤは、ＥＣＣ回路５４と、シーケンサ５１内のリードＮＲＺカウンタ５０７と、シーケンサ５１内のリードプリアンブルカウンタ５０８とに、それぞれ導かれる。
【００６６】
ＥＣＣ回路５４は、ＲＬＬデコーダ２１６から転送されたＮＲＺデータに含まれているユーザデータのエラーを当該ユーザデータに後続する（付されている）ＥＣＣをもとに訂正する。ＥＣＣ回路５４によりエラーが訂正されたユーザデータは、ホスト６０により指定された第ｑデータセクタから読み出されたユーザデータ（リードデータ）としてホスト６０に転送される。
【００６７】
さて、リードゲートＲＧがＯＮすると、シーケンサ５１内のリードプリアンブルカウンタ５０８も起動される。するとリードプリアンブルカウンタ５０８は、リードチャネル２１内のリード同期回路２１７から出力されるリードＮＲＺクロック信号ＲＮＣに含まれているクロックパルスの数をカウントする。リードプリアンブルカウンタ５０８は、このカウント動作を、ＳＢ検出器５３からＳＢ検出信号ＳＢＤが出力されるまで続ける。
【００６８】
前記したように、ＨＧ長サーチモードでは、リードゲートＲＧはライトゲートＷＧと同一タイミングでがＯＮされる。この時点ｔ１において、ライトヘッド１２２はリードヘッド１２１よりＨＧ長だけ、サーボ領域１１０（ＳＶ＃ｐ）の終端に近い位置に存在する。つまり、時点ｔ１は、第ｑ（＝第１）データセクタに記録されているプリアンブルデータの始端に対応する時点ｔ３からＨＧ長に相当する時間だけ遅れた時点である（図１０参照）。このことは、リードゲートＲＧがＯＮしている期間にリードされるプリアンブルデータには、実際にディスク１１に書かれたプリアンブルデータのうちＨＧ長に相当するデータ長（バイト数）Ｎｉｊの先頭データ部分が含まれないことを示す。一方、ＨＤＣ５０内のＳＢ検出器５３からＳＢ検出信号ＳＢＤが出力された時点（つまりリードチャネル２１からＨＤＣ５０へのシンクバイト転送時点）ｔ２は、リードチャネル２１内のＳＭ検出器２１４でシンクマーク（ＳＭ）が検出された時点（つまりＳＭ検出器２１４からシンクマーク検出信号ＳＭＤが出力された時点）ｔ４より、リードチャネル２１（リードパス）における処理（特に、ビタビ検出器２１５及びＲＬＬデコーダ２１６での処理）の遅延時間（リードパス遅延時間）だけ遅れた時点である。この遅延時間（リードパス遅延時間）に相当するバイト数（遅延バイト数）をＲＰＬ（Ｒｅａｄ  Ｐａｔｈ  Ｌａｔｅｎｃｙ）で表わす。
【００６９】
上記したように、時点ｔ１から時点ｔ２の期間に読まれるプリアンブルデータ（リードプリアンブルデータ）には、ホスト６０により指定された第ｑセクタに記録されているプリアンブル３１のうちＨＧ長に相当するバイト数Ｎｉｊの先頭データ部分が含まれていない。この場合、リードプリアンブルデータのデータ長Ｎｒｊは、次式
Ｎｒｊ＝Ｎｗｊ＋ＷＰＬ＋ＲＰＬ−Ｎｉｊ      ……（１）
で表される。即ち、時点ｔ１から時点ｔ２までにリードされるプリアンブルデータのデータ長Ｎｒｊは、第ｑセクタに記録されているプリアンブル３１のデータ長Ｎｗｊ＋ＷＰＬにリードパス遅延に相当するバイト数ＲＰＬを加え、そこからＨＧ長に相当するバイト数Ｎｉｊを差し引いた長さとなる。よって、ＨＧ長に相当するバイト数Ｎｉｊは、次式
Ｎｉｊ＝Ｎｗｊ＋ＷＰＬ−（Ｎｒｊ−ＲＰＬ）    …（２）
で表される。ここで、Ｎｗｊ，ＷＰＬ，ＲＰＬは既知である。したがって、Ｎｒｊが求められるならば、ＨＧ長（ＨＧ長に相当するバイト数）Ｎｉｊを求めることができる。
【００７０】
上記したように、リードプリアンブルカウンタ５０８は、時点ｔ１から時点ｔ２までの期間、リードＮＲＺクロック信号ＲＮＣに含まれているクロックパルスの数をカウントする。時点ｔ２におけるリードプリアンブルカウンタ５０８のカウント値（つまり時点ｔ１から時点ｔ２までの期間に相当するカウント値）は、図１０からも明らかなように、上記リードプリアンブルデータ長Ｎｒｊを示す。したがって、リードプリアンブルカウンタ５０８の時点ｔ２におけるカウント値をもとに、ＨＧ長（ＨＧ長に相当するバイト数）Ｎｉｊを上記（２）式に従って求めることができる。この（２）式に従う計算は、シーケンサ５１内のＨＧ長算出器５０９により行われる。
【００７１】
このように本実施形態においては、ＨＧ長サーチモードにおいて、第ｑデータセクタへのデータライトを行った後（ステップＳ４）、当該第ｑデータセクタからのデータリードを実行することにより、ＨＧ長（ＨＧ長に相当するバイト数）Ｎｉｊを求めることができる（ステップＳ５）。ホスト６０は、このＨＧ長Ｎｉｊを、例えばＨＤＣ５０内のレジスタ（図示せず）を介して読み込む（ステップＳ６）。ホスト６０は、以上のステップＳ４〜Ｓ６を予め定められたｎ回繰り返す（ステップＳ７）。そしてホスト６０は、ステップＳ４〜Ｓ６をｎ回繰り返すことにより求められたｎ個のＮｉｊの平均値を算出する（ステップＳ８）。ホスト６０は、このｎ個のＮｉｊの平均値を、ゾーンＺｊ及びヘッド１２−ｉ（Ｈｉ）に固有のＨＧディレイＡｉｊとして決定する（ステップＳ９）。
【００７２】
ホスト６０は、以上のステップＳ４〜Ｓ９を、全てのヘッド１２−ｉ（Ｈｉ）と全てのゾーンＺｊとの組み合わせ、つまりヘッド１２−０（Ｈ０）及び１２−１（Ｈ１）とＺ０〜Ｚ９との全ての組み合わせについて実行する（ステップＳ１０〜Ｓ１３）。そしてホスト６０は、ゾーンパラメータテーブル４１２に格納されているゾーン毎・ヘッド毎の旧ヘッドギャップディレイＡｉｊ（ｉ＝０，１，ｊ＝０〜９）を、決定されたＡｉｊに更新する。
【００７３】
なお、上記実施形態では、説明を簡略化するために、ＨＧ長サーチモードにおけるライト対象データセクタを第ｐサーボ領域１１０（ＳＶ＃ｐ）直後のデータ領域１１１内の第１データセクタ（ｑ＝１）としている。しかし、以下の理由により、第１データセクタ以外のデータセクタ、例えば第２データセクタ（データ領域１１１内の２番目のデータセクタ）を、ライト対象とすることが好ましい。まず、ＨＧ長サーチモードでは、ＤＳＰ（第１ＤＳＰ）の出力タイミングが、ＤＳＰ調整器５０２によってａｊ＋ＨＧｍａｘに相当する時間だけ遅延される。したがって、第１のデータセクタの直前の第ｐサーボ領域１１０（ＳＶ＃ｐ）の終端部にデータが書き込まれる可能性は極めて少ない。しかし、実際のＨＧ長が想定したＨＧｍａｘより長かった場合には、第ｐサーボ領域１１０（ＳＶ＃ｐ）の終端部にデータが書き込まれて、サーボデータの一部が破壊されることもあり得る。そこで、第１データセクタ以外のデータセクタ、例えば第２データセクタを、ＨＧ長サーチモードにおけるライト対象データセクタとするとよい。また、上記実施形態では、図９のフローチャートに従う処理がホスト６０の制御のもとで行われている。しかし、ホスト６０は図１のＨＤＤをＨＧ長サーチモードに設定する処理（ステップＳ１）だけを行い、以降の処理がＨＤＤ内のＣＰＵ４０の制御によって自動的に実行される構成としてもよい。また、ディスクフォーマットにＣＤＲフォーマットを適用しないＨＤＤの場合には、ＨＧ長検出処理をヘッド毎に行えばよい。
【００７４】
次に、ゾーンパラメータテーブル４１２が更新された後の、通常のデータライト及びデータリード動作について、図１１のタイミングチャートを参照して説明する。今、ライトの対象となるデータセクタが、ゾーンＺｊ及びヘッドＨｉにおける第ｐサーボ領域１１０（ＳＶ＃ｐ）と第ｐ＋１サーボ領域１１０（ＳＶ＃ｐ＋１）との間のデータ領域１１１内の第１データセクタであるものとする。この場合、ＤＳＰ生成器５０１は、第ｐサーボ領域１１０（ＳＶ＃ｐ）の終端のタイミングからフォーマットテーブル４１０により示されるａｊ後に第１ＤＳＰを出力する。ＤＳＰ遅延回路５０３は、ＤＳＰ生成器５０１から出力された第１ＤＳＰを、フォーマットテーブル４１０により示されるＤＳＰディレイ情報Ａｉｊで決まる時間ＤＳＰＤだけ遅延する。このＤＳＰ遅延回路５０３により遅延されたＤＳＰ（第１ＤＳＰ）はライトＤＳＰとして用いられる。
【００７５】
ＷＧ生成器５０４は、ＤＳＰ遅延回路５０３により遅延されたＤＳＰ（第１ＤＳＰ）に応じてデータセクタ（第１データセクタ）へのデータ書き込みのタイミングを表すライトゲートＷＧをＯＮする。ライトゲートＷＧがＯＮすると、ＨＤＣ５０からリード／ライトＩＣ２０のライトチャネル２２に対し、プリアンブルデータ、シンクバイト（ＳＢ）、ユーザデータ、ＥＣＣ、ビタビ制御データ（ＶＴＢ）及びライトパッドデータ（ＷＰＤ）の順でデータ（ＮＲＺデータ）が転送される。ここで、ＨＤＣ５０からライトチャネル２２に転送されるプリアンブルデータのデータ長（バイト数）は、ゾーンパラメータテーブル４１２により示されるライトプリアンブルデータ長ＮｗｊからＨＧディレイＡｉｊに相当するデータ長だけ、予め差し引かれている。
【００７６】
ＨＤＣ５０からライトチャネル２２に、プリアンブルデータ、シンクバイト（ＳＢ）、ユーザデータ、ＥＣＣ、ビタビ制御データ（ＶＴＢ）及びライトパッドデータ（ＷＰＤ）の順でデータ（ＮＲＺデータ）が転送されると、ライトチャネル２２ではまず、プリアンブルデータをヘッド１２−ｉ（Ｈｉ）側に出力する動作が行われる。この動作は、ＨＤＣ５０から転送されるデータからライトチャネル２２内のＳＭ生成器２２３によりシンクバイト（ＳＢ）が検出されるまで続けられる。これにより、ライトチャネル２２からヘッド１２−ｉ（Ｈｉ）側に出力されるプリアンブルデータのデータ長は、ライトパス遅延時間に相当するデータ長がＲＰＬであることから、Ｎｗｊ−Ａｉｊ＋ＲＰＬとなる。従来は、ライトチャネルからヘッド側に出力されるプリアンブルデータのデータ長はＮｗｊ＋ＲＰＬである。また、ライトゲートＷＧは、従来技術と比較すると、ＨＧ長Ａｉｊに相当するデータ長だけ遅延してＯＮされる。つまり、ディスク１１上でのセクタデータ書き込みの開始位置がＨＧ長Ａｉｊに相当するデータ長だけずらされる。これにより、ディスク１１にプリアンブル３１として記録されるプリアンブルデータのデータ長は、Ｎｗｊ＋ＲＰＬとなる。よって、ディスク１１のフォーマット上で、ＨＧ長Ａｉｊに相当する、第ｐサーボ領域１１０直後のプリアンブルデータ部分を、従来技術と比べて減らして、ディスク１１のフォーマット効率を向上することができる。また、第１のデータセクタに対応するライトゲートＷＧは、第ｐサーボ領域１１０の終端が検出された時点＋ａｊよりＨＧ長Ａｉｊに相当する時間だけ遅延された時点でＯＮされる。このＨＧ長Ａｉｊは、ライトすべきデータセクタが属するゾーンＺｊ、ヘッドＨｉに固有の最適化されたＨＧ長である。したがって第１のデータセクタへのライト時には、プリアンブルデータは第ｐサーボ領域１１０の始端からａｊだけずれた位置から記録され、当該サーボ領域１１０に記録されているサーボデータの終端部分が、ディスク１１（第１のデータセクタ）に記録されるプリアンブルデータの先頭部分によって破壊される虞はない。
【００７７】
次に、上述のようにして第ｐサーボ領域１１０（ＳＶ＃ｐ）直後の第１データセクタにライトされたデータをリードする場合の動作について、上記図１１のタイミングチャートを参照して説明する。まず、ＤＳＰ生成器５０１は、第ｐサーボ領域１１０（ＳＶ＃ｐ）の終端からａｊだけずれたタイミングで第１ＤＳＰを出力する。ＤＳＰ生成器５０１から出力されるＤＳＰ（第１ＤＳＰ）はリードＤＳＰとして用いられる。ＲＧ生成器５０５は、ＤＳＰ生成器５０１から出力されたＤＳＰ（第１ＤＳＰ）に応じてデータセクタ（第１データセクタ）からのデータ読み出しのタイミングを表すリードゲートＲＧをＯＮする。するとリードチャネル２１内のＳＭ検出器２１４は、ＰＲチャネル２１３の出力データからシンクマーク（ＳＭ）を検出する動作を開始する。ビタビ検出器２１５は、ＳＭ検出器２１４によってシンクマーク（ＳＭ）が検出されると、ＰＲチャネル１３１で等化されたデータをビタビ・アルゴリズムに基づいて処理することによりＲＬＬデータを復号する。ＲＬＬデコーダ２１６は、ビタビ検出器２１５により復号されたＲＬＬデータを元のコードデータに復調する。ＲＬＬデコーダ２１６は、復調されたコードデータの先頭にシンクバイト（ＳＢ）を付加する。このシンクバイト（ＳＢ）が付加されたデータ（ユーザデータ及びＥＣＣを含むＮＲＺデータ）はＨＤＣ５０に転送される。
【００７８】
ＨＤＣ５０内のＳＢ検出器５３は、ＲＬＬデコーダ２１６から出力されたユーザデータ及びＥＣＣを含むＮＲＺデータに付加されているシンクバイト（ＳＢ）を検出する。すると、ＥＣＣ回路５４は、ＲＬＬデコーダ２１６から出力されたＮＲＺデータに含まれているユーザデータのエラーを当該ユーザデータに後続するＥＣＣをもとに訂正する。ＥＣＣ回路５４によりエラーが訂正されたユーザデータはリードデータとしてホスト６０に転送される。
【００７９】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００８０】
【発明の効果】
以上詳述したように本発明によれば、ディスク記憶装置が有する複合ヘッドのライトヘッドによってディスクに書かれたセクタデータを、当該複合ヘッドのリードヘッドによりリードする動作を行ってリードプリアンブルデータ長を測定することにより、当該リードプリアンブルデータ長と、既知の値である、ライトプリアンブルデータ長、ライトパス遅延量及びリードパス遅延量とをもとに、当該複合ヘッドのヘッドギャップ長を取得できる。したがって、取得されたヘッドギャップ長を反映したデータフォーマットを適用することにより、各ディスク記憶装置において一律に、許容される最大ヘッドギャップ長を考慮したデータフォーマットを適用する場合に比べて、ディスクのフォーマット効率を上げることができる。また、ライトすべきプリアンブルデータのデータ長を、取得されたヘッドギャップ長に相当するデータ長だけ短くし、且つ当該プリアンブルデータを含むセクタデータの書き込みが、当該セクタデータの読み出しより、ヘッドギャップ長に相当する時間だけ遅れて開始されるようにするならば、ディスクに実際に書き込まれるセクタデータのうちのプリアンブルデータの先頭部をヘッドギャップ長に相当するデータ長だけ短くでき、ディスクのフォーマット効率を一層上げることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】図１中のディスク１１のフォーマットを示す図。
【図３】ディスク１１上の各トラックのフォーマットを示す図。
【図４】ディスク１１上に記録されているセクタデータのフォーマットを示す図。
【図５】主としてリード／ライトＩＣ２０及びＨＤＣ５０のブロック構成を示す図。
【図６】シーケンサ５１の構成を示す図。
【図７】フォーマットテーブル４１０のデータ構造例を示す図。
【図８】フォーマットテーブル４１０内のＤＳＰテーブル４１１の詳細なデータ構造例を示す図。
【図９】ＨＧ（ヘッドギャップ）長検出処理の手順を示すフローチャート。
【図１０】ＨＧ長検出処理を説明するためのタイミングチャート。
【図１１】通常のデータライト及びデータリード動作を説明するためのタイミングチャート。
【符号の説明】
１１…ディスク、１２−０，１２−１…ヘッド、２０…リード／ライトＩＣ、２１…リードチャネル（リード回路）、２２…ライトチャネル（ライト回路）、４０…ＣＰＵ、４１…ＦＲＯＭ（フラッシュＲＯＭ、不揮発性記憶装置）、５０…ＨＤＣ（ディスクコントローラ）、５１…シーケンサ、５２…サーボコントローラ、５３…ＳＢ（シンクバイト）検出器、５４…ＥＣＣ回路（エラー訂正回路）、５５，２２１…プリアンブル生成器、５６…ＳＢ生成器、６０…ホスト、１２１…リードヘッド、１２２…ライトヘッド、２１２…サーボデコーダ、２１４…ＳＭ（シンクマーク）検出器、２１５…ビタビ検出器、２１６…ＲＬＬ（ランレングスリミテッド）デコーダ、２１７…リード同期回路、２２２…ＲＬＬエンコーダ、２２３…ＳＭ生成器、２２４…ライトシンセサイザ、４１０…フォーマットテーブル、４１１…ＤＳＰ（データセクタパルス）テーブル、４１２…ゾーンパラメータテーブル、５０１…ＤＳＰ生成器、５０２…ＤＳＰ調整器、５０３…ＤＳＰ遅延回路、５０４…ＷＧ（ライトゲート）生成器、５０５…ＲＧ（リードゲート）生成器、５０６…ライトＮＲＺカウンタ（制御手段）、５０８…リードプリアンブルカウンタ（測定手段）、５０９…ＨＧ（ヘッドギャップ）長算出器（取得手段）。
【図１】
2005025892.tif 000003
【図２】
2005025892.tif 000004
【図３】
2005025892.tif 000005
【図４】
2005025892.tif 000006
【図５】
2005025892.tif 000007
【図６】
2005025892.tif 000008
【図７】
2005025892.tif 000009
【図８】
2005025892.tif 000010
【図９】
2005025892.tif 000011
【図１０】
2005025892.tif 000012
【図１１】
2005025892.tif 000013