(57)【要約】【課題】セルフ・サーボ・ライト（ＳＳＷ）における半径方向の位置誤差伝播防止のためのサーボ補正を効率的に行う。【解決手段】本発明の一例としてのＳＳＷでは、サーボ・ライト・トラックＴＮを書き込む際における、基準トラックＴＯのターゲット位置を補正する。ターゲット位置は、リード素子１２１が読み出した信号から算出される位置信号のターゲット値として表される。ここで、ターゲット位置（ターゲット値）からのずれ（位置誤差）を示す信号をＰＥＳと呼ぶ。本例のＳＳＷは、サーボ・システムのインパルス応答を使用して、各トラックにおけるターゲット位置の補正を行う。これによって、ＳＳＷにおいて誤差が伝播されることを、効率的かつ効果的に抑えることができる。【選択図】図２
2008052807.tif 000002
【特許請求の範囲】
【請求項１】
半径方向位置の異なるリード素子とライト素子とを有するヘッドを使用して、回転するディスク上に複数セクタのパターンを含むトラックを書き込む方法であって、
前記リード素子がフォローイングするトラックに含まれる各セクタに対応する位置誤差信号値と、前記リード素子の位置決め制御を行うサーボ・システムのインパルス応答に従って決定された補正演算子と、を使用して、前記各セクタのターゲット値を補正して補正ターゲット値を算出し、
前記リード素子が読み出した各セクタの位置信号値がそのセクタの前記補正ターゲット値に近づくように前記ヘッドを位置決めした状態において、前記ライト素子によって新たなトラックを書き込む、方法。
【請求項２】
前記各セクタに対応する位置誤差信号値は、前記リード素子によって前記各セクタを読み出して測定した位置誤差信号値である、
請求項１に記載の方法。
【請求項３】
前記各セクタの書き込み時における位置誤差信号値を、前記各セクタに対応する位置誤差信号値として使用する、
請求項１に記載の方法。
【請求項４】
前記補正演算子は、一つのトラックに含まれる各セクタの理想位置からのずれと、そのトラックにトラック・フォローしている状態での位置誤差信号値との間の関係を特定する行列の逆行列から導出される、
請求項１に記載の方法。
【請求項５】
前記行列は、以下のように表される、
【数１】
2008052807.tif 000010
Ｎはリード素子が読み出すセクタ数、e_kは、特定のセクタにインパルス入力があった場合におけるkセクタ先の位置誤差値である、
請求項４に記載の方法。
【請求項６】
前記サーボ・システムのインパルス応答は、予め設定されたセクタ数を超えると０であるみなして、前記補正演算子を算出する、
請求項１に記載の方法。
【請求項７】
前記各セクタに対応した補正演算子は、前記リード素子がディスクの一周回に読み出す全セクタ数以下の要素からなり、
前記各セクタのターゲット値の補正値を、そのセクタ及びその前後のセクタを含む連続セクタのそれぞれに対応する位置誤差値と前記補正演算子の各要素との積和演算を使用して算出する、
請求項１に記載の方法。
【請求項８】
前記新たに書き込んだトラックを基準とした前記補正ターゲット値の算出及び新たなトラックの書き込みを繰り返し、前記回転するディスク上でパターンを書き進めていき、
前記パターンを書き進めていく途中において、前記サーボ・システムのインパルス応答を測定により特定し前記補正演算子の更新を行う、
請求項１に記載の方法。
【請求項９】
回転するディスク上に書き込まれている複数セクタのパターンをリード素子によって読み出し、サーボ・システムによって前記リード素子のトラック・フォローイングを行う方法であって、
リード素子がフォローイングするトラックに含まれる各セクタに対応する位置誤差信号値と、サーボ・システムのインパルス応答に従って決定された補正演算子と、を使用して、前記各セクタの初期設定ターゲット値を補正して補正ターゲット値を算出し、
前記リード素子が読み出した前記各セクタの位置信号値が前記各セクタの補正ターゲット値に近づくように、前記リード素子を位置決め制御する、方法。
【請求項１０】
前記リード素子によって前記各セクタの位置誤差信号値を測定し、
前記測定された各位置誤差信号値を、前記各セクタに対応する位置誤差信号値として使用する、
請求項９に記載の方法。
【請求項１１】
前記各セクタの書き込み時における位置誤差信号値を、前記各セクタに対応する位置誤差信号値として使用する、
請求項９に記載の方法。
【請求項１２】
前記補正演算子は、一つのトラックに含まれる各セクタの理想位置からのずれと、そのトラックにトラック・フォローしている状態での位置誤差信号値との間の関係を特定する行例の逆行列から導出される、
請求項９に記載の方法。
【請求項１３】
前記各セクタに対応した補正演算子は、前記リード素子がディスクの一周回に読み出す全セクタ数以下の要素からなり、
前記各セクタのターゲット値の補正値を、そのセクタ及びその前後のセクタを含む連続セクタのそれぞれに対応する位置誤差値と前記補正演算子の各要素との積和演算を使用して算出する、
請求項９に記載の方法。
【請求項１４】
回転するディスクに複数セクタのパターンを含むトラックを書き込む装置であって、
前記ディスクの半径方向における位置が異なるリード素子とライト素子とを有するヘッドと、
前記ヘッドを位置決め制御するコントローラと、を有し、
前記リード素子は、フォローイングするトラックに含まれる各セクタを読み出し、
前記コントローラは、前記リード素子がフォローイングするトラックに含まれる各セクタに対応する位置誤差信号値と、前記リード素子の位置決め制御を行うサーボ・システムのインパルス応答に従って決定された補正演算子と、を使用して、前記各セクタのターゲット値を補正して補正ターゲット値を算出し、
前記ライト素子は、前記リード素子が読み出した各セクタの位置信号値がそのセクタの前記補正ターゲット値に近づくように前記ヘッドを位置決めされた状態において、新たなトラックを書き込む、装置。
【請求項１５】
前記補正演算子は、一つのトラックに含まれる各セクタの理想位置からのずれと位置誤差信号値との間の関係を特定する行例の逆行列から導出される、
請求項１４に記載の装置。
【請求項１６】
前記各セクタのターゲット値の補正値を、そのセクタ及びその前後のセクタを含む連続セクタのそれぞれに対応する位置誤差値と前記補正演算子の各要素との積和演算を使用して算出する、
請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は回転するディスクにパターンを書き込む方法、ディスク上のトラックをフォローイングする方法及びディスクへパターンを書き込む装置に関し、特に、サーボ制御によるトラック・フォローイングにおけるターゲット値の補正に関する。
【背景技術】
【０００２】
ディスク・ドライブ装置として、光ディスクや光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られている。その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータ・システムにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途は、その優れた特性により益々拡大している。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックにはサーボ・データと、ユーザ・データが記憶される。薄膜素子で形成されたヘッド素子部がサーボ・データに従って所望の領域（アドレス）にアクセスすることによって、データ書き込みあるいはデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は、信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに送信される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、磁気ディスクに書き込まれる。
【０００４】
上述のように、各トラックはユーザ・データが記憶されるユーザ・データ領域とサーボ・データが記憶されるサーボ・パターン領域とを備えている。サーボ・パターンは、シリンダＩＤ、セクタ番号、バースト・パターンなどから構成されている。シリンダＩＤはトラックのアドレス、セクタ番号はトラック内のセクタ・アドレスを示す。バースト・パターンはトラックに対する磁気ヘッドの相対位置情報を有している。
【０００５】
サーボ・パターンは各トラックにおいて円周方向に離間して複数セクタ形成されており、全トラックに渡る各セクタのサーボ・パターンは、円周方向において位置（位相）が揃っている。磁気ディスクに対するデータの読み出しまたは書き込みは、磁気ディスクが回転している状態において、サーボ・データによって磁気ヘッドの位置を確認しながら実行される。
【０００６】
サーボ・パターンは、製品としてのＨＤＤが出荷される前に工場内において磁気ディスクに書き込まれる。従来の典型的なサーボ・パターンの書き込みは、外部装置としてのサーボ・ライタを使用して行われている。トップ・カバーを外した状態のＨＤＤがサーボ・ライタにセットされ、サーボ・ライタはＨＤＤ内のヘッドをポジショナ（外部位置決め機構）によって位置決めし、サーボ・パターン生成回路が生成したサーボ・パターンを磁気ディスクに書き込む。
【０００７】
現在、サーボ・データの書き込み工程は、ＨＤＤの製造コストの中で主要な位置を占めている。特に近年、ＨＤＤは高容量化の競争が激化し、これに伴いＴＰＩ（Track Per Inch）の増加が進んでいる。ＴＰＩが増加する事により、Track数は増え、Track幅が小さくなる、これらはＳＴＷ時間の増加及びサーボ・ライタの高精密化を進め、ＳＴＷのコスト増加の要因となっている。このコストを削減する為にサーボ・ライタのコスト削減、ＳＴＷ時間の短縮等が進められている。
【０００８】
例えば、ＳＳＷ（Self Servo Write）は、サーボ・ライトのための機械機構として、ＨＤＤ本体の機械機構のみを使い、外部回路からＨＤＤ内のスピンドル・モータとボイス・コイル・モータをコントロールし、外部回路を用いてサーボ・パターンを書き込む。これによって、サーボ・ライタのコスト削減を図っている。
【０００９】
ＳＳＷの手法として、ヘッド素子部のリード素子とライト素子の半径方向位置が異なる（これをリード・ライト・オフセットと呼ぶ）ことを利用して、内周側もしくは外周側にすでに書き込まれたサーボ・パターンをリード素子が読み出しながら位置決めを行い、ライト素子が、リード・ライト・オフセット離れた所望のトラックに新たなサーボ・パターンを書きこむものが知られている。
【００１０】
このように、新たなトラックを書き込むサーボ・パターンの自己伝播において、基本的には読み出すサーボ・パターンの半径方向の精度が、そのまま新たな書き込むサーボ・パターンに受け継がれることが期待される。しかしながら、種々の誤差を引き起こす要因のため、この精度は伝播によって劣化していく。位置決め精度低下は、バースト・パターンの本来あるべき位置からのずれを引き起こし、これが次の伝播のときに引き継がれていく。また、このプロセスは、ヘッド素子部をトラック・フォローさせるためのサーボ・ループの特性にも依存する。このように、精度の劣化を引き起こすのは、種々の要因が絡んだ複雑なメカニズムである。
【００１１】
この伝播によるトラック・フォローの精度の劣化を防ぐためにＳＳＷでは次のような方法が、特許文献１において提唱されている。例えば、現在トラックＴＯをトラック・フォローし、新たなトラックＴＮを書こうとしている場合を考える。トラックＴＯを書き込んだ時のトラック・フォローの位置誤差信号（Position Error Signal：ＰＥＳ）を記憶しておく。このＰＥＳのフーリエ変換を行い、これに基準修正係数をかける。
【００１２】
この修正係数はヘッド素子部の位置決めサーボの閉ループ応答の周波数成分のうち、ゲインの大きい成分に対して（これは通常小さい周波数のいくつかの成分のみに限定されるが）準備されるものである。次にこれを逆フーリエ変換して、トラックＴＮにトラック・フォローするときの各セクタでのターゲット値の補正をする。これによって半径方向の伝播誤差を抑えている。
【特許文献１】特開平８−２１２７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記特許文献１に開示された補正方法は、各セクタのターゲット値の補正において、（１）ＰＥＳに対する離散的フーリエ変換、（２）係数をかけることによるフーリエ変換のゲインの大きい成分の抑制、（３）離散的逆フーリエ変換による補正値の算出、（４）ターゲット基準位置に補正値を加えて新しいターゲット位置を取得、となる。この補正処理は、各トラックの書き込みの際に、セクタ毎に実行することが必要である。しかし、フーリエ変換及び逆フーリエ変換をセクタ毎に繰り返すことは非常に大きな演算パワーを必要とする。従って、各セクタのターゲット値を補正するために、上記方法とはことなる方法が要望される。
【課題を解決するための手段】
【００１４】
本発明の一態様は、半径方向位置の異なるリード素子とライト素子とを有するヘッドを使用して、回転するディスク上に複数セクタのパターンを含むトラックを書き込む方法である。この方法は、前記リード素子がフォローイングするトラックに含まれる各セクタに対応する位置誤差信号値と、前記リード素子の位置決め制御を行うサーボ・システムのインパルス応答に従って決定された補正演算子と、を使用して、前記各セクタのターゲット値を補正して補正ターゲット値を算出する。さらに、前記リード素子が読み出した各セクタの位置信号値がそのセクタの前記補正ターゲット値に近づくように前記ヘッドを位置決めした状態において、前記ライト素子によって新たなトラックを書き込む。サーボ・システムのインパルス応答を使用することで、補正ターゲット値を効率的に算出することができる。
【００１５】
好ましい一例において、前記各セクタに対応する位置誤差信号値は、前記リード素子によって前記各セクタを読み出して測定した位置誤差信号値である。これによって、より正確な補正値を算出することができる。
【００１６】
好ましい一例において、前記各セクタの書き込み時における位置誤差信号値を、前記各セクタに対応する位置誤差信号値として使用する。これによって、補正値を効率的に算出することができる。
【００１７】
前記補正演算子は、一つのトラックに含まれる各セクタの理想位置からのずれと、そのトラックにトラック・フォローしている状態での位置誤差信号値との間の関係を特定する行列の逆行列から導出される。このときの行列は、以下のように表される、
【数２】
2008052807.tif 000003
Ｎはリード素子が読み出すセクタ数、e_kは、特定のセクタにインパルス入力があった場合におけるkセクタ先の位置誤差値である。
【００１８】
好ましくは、前記サーボ・システムのインパルス応答は、予め設定されたセクタ数を超えると０であるみなして、前記補正演算子を算出する。これによって、処理の実効性を失うことなく効率化することができる。
【００１９】
好ましくは、前記各セクタに対応した補正演算子は、前記リード素子がディスクの一周回に読み出す全セクタ数以下の要素からなり、前記各セクタのターゲット値の補正値を、そのセクタ及びその前後のセクタを含む連続セクタのそれぞれに対応する位置誤差値と前記補正演算子の各要素との積和演算を使用して算出する。これによって、処理の実効性を失うことなく効率化することができる。
【００２０】
好ましくは、前記新たに書き込んだトラックを基準とした前記補正ターゲット値の算出及び新たなトラックの書き込みを繰り返し、前記回転するディスク上でパターンを書き進めていき、前記パターンを書き進めていく途中において、前記サーボ・システムのインパルス応答を測定により特定し前記補正演算子の更新を行う。これによって、パターンを書き進めていく処理における誤差伝播及び誤差増幅を防止することができる。
【００２１】
本発明の他の態様は、回転するディスク上に書き込まれている複数セクタのパターンをリード素子によって読み出し、サーボ・システムによって前記リード素子のトラック・フォローイングを行う方法である。この方法は、リード素子がフォローイングするトラックに含まれる各セクタに対応する位置誤差信号値と、サーボ・システムのインパルス応答に従って決定された補正演算子と、を使用して、前記各セクタの初期設定ターゲット値を補正して補正ターゲット値を算出する。さらに、前記リード素子が読み出した前記各セクタの位置信号値が前記各セクタの補正ターゲット値に近づくように、前記リード素子を位置決め制御する。これによって、リード素子を所望位置に位置決めすることができる。前記補正演算子は、一つのトラックに含まれる各セクタの理想位置からのずれと、そのトラックにトラック・フォローしている状態での位置誤差信号値との間の関係を特定する行列の逆行列から導出される。
【００２２】
好ましい一例において、前記リード素子によって前記各セクタの位置誤差信号値を測定し、前記測定された各位置誤差信号値を、前記各セクタに対応する位置誤差信号値として使用する。好ましい他の例において、前記各セクタの書き込み時における位置誤差信号値を、前記各セクタに対応する位置誤差信号値として使用する。
【００２３】
好ましくは、前記各セクタに対応した補正演算子は、前記リード素子がディスクの一周回に読み出す全セクタ数以下の要素からなり、前記各セクタのターゲット値の補正値を、そのセクタ及びその前後のセクタを含む連続セクタのそれぞれに対応する位置誤差値と前記補正演算子の各要素との積和演算を使用して算出する。
【００２４】
本発明の他の態様は、回転するディスクに複数セクタのパターンを含むトラックを書き込む装置である。この装置は、前記ディスクの半径方向における位置が異なるリード素子とライト素子とを有するヘッド、さらに、前記ヘッドを位置決め制御するコントローラとを有する。前記リード素子は、フォローイングするトラックに含まれる各セクタを読み出す。前記コントローラは、前記リード素子がフォローイングするトラックに含まれる各セクタに対応する位置誤差信号値と、前記リード素子の位置決め制御を行うサーボ・システムのインパルス応答に従って決定された補正演算子と、を使用して、前記各セクタのターゲット値を補正して補正ターゲット値を算出する。前記ライト素子は、前記リード素子が読み出した各セクタの位置信号値がそのセクタの前記補正ターゲット値に近づくように前記ヘッドを位置決めされた状態において、新たなトラックを書き込む。サーボ・システムのインパルス応答を使用することで、補正ターゲット値を効率的に算出することができる。
【発明の効果】
【００２５】
本発明によれば、ディスクに書き込まれたパターンをヘッドで読み出してサーボ制御によってそのヘッドのポジショニングを行う場合において、効率的なサーボ補正を行うことができる。
【発明を実施するための最良の形態】
【００２６】
以下に、本発明の好ましい実施の形態を、図面を参照しながら詳細に説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００２７】
本実施形態は、ディスク・ドライブ装置に使用されるディスクへのパターン書き込み、具体的には、自らディスクに書き込んだパターンを基準として異なる半径位置に新たなパターンを書き進む処理に関する。本実施形態の特徴的な点の一つは、パターン書き込みにおけるヘッド位置制御に関する。本形態においては、ディスク・ドライブ装置の一例であるハードディスク・ドライブ（ＨＤＤ）における、サーボ・パターンの書き込み処理を例として、本発明を説明する。
【００２８】
ＨＤＤにおいて、その内部の機械機構を制御してサーボ・パターンを書き込む自己サーボ書き込み（Self Servo Write（ＳＳＷ））が知られている。好ましい実施形態のＨＤＤにおいて、従来のＳＳＷにおいて外部回路が行っていた機能が、製品カード（完成品としてのＨＤＤの各ＩＣが実装されている基板）上の内部回路自体に組み込まれている。これによって、ＨＤＤは、外部装置としてのサーボ・ライタ装置に直接的に依存することなく、実質的に内部構成のみによって磁気ディスクへのサーボ・パターン書き込み処理を実行することができる。ＨＤＤは、外部の制御装置からのスタート信号に応答して内部回路に実装された機能によってサーボ・パターンを磁気ディスクに書き込む。つまり、ＨＤＤ自体が、サーボ・パターンを書き込むサーボ・ライタとして機能する。
【００２９】
そこで、本形態におけるＳＳＷの処理について説明する前に、本形態のＳＳＷを実行するＨＤＤの全体構成について説明する。図１は、ＨＤＤ１の構成を模式的に示すブロック図である。ＨＤＤ１は、密閉されたエンクロージャ１０内に、データを記憶するディスクの一例である磁気ディスク１１、ヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を備えている。
【００３０】
ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３及び揮発性メモリの一例であるＲＡＭ２４などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００３１】
外部ホスト５１からのライト・データは、ＨＤＣ／ＭＰＵ２３によって受信され、ＲＷチャネル２１、ＡＥ１３を介して、ヘッド素子部１２によって磁気ディスク１１に書き込まれる。また、磁気ディスク１１に記憶されているリード・データはヘッド素子部１２によって読み出され、そのリード・データは、ＡＥ１３、ＲＷチャネル２１を介して、ＨＤＣ／ＭＰＵ２３から外部ホスト５１に出力される。磁気ディスク１１は、ＳＰＭ１４に固定されている。ＳＰＭ１４は所定の速度で磁気ディスク１１を回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応して、ヘッドの一例であるヘッド素子部１２が設けられている。
【００３２】
各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダはアクチュエータ１６に固定されている。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に揺動することによって、ヘッド素子部１２（及びスライダ）を磁気ディスク１１上において半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データ（本稿においてＤＡＣＯＵＴと呼ぶ）に従ってＶＣＭ１５を駆動する。ヘッド素子部１２には、磁気ディスク１１への記録データに応じて電気信号を磁界に変換するライト素子、及び磁気ディスク１１からの磁界を電気信号に変換するリード素子を備えている。この点については後述する。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。
【００３３】
ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、ＲＷチャネル２１に送る。また、ＲＷチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。ＳＳＷにおいては、典型的には、ＡＥ１３は選択したヘッド素子部１２が読み出したサーボ信号をＲＷチャネル２１に転送し、全てのヘッド素子部１２に対してＲＷチャネル２１からのライト・データ（サーボ・データ）を転送する。
【００３４】
ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。また、リード処理において、ＲＷチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ２３に供給される。ＲＷチャネル２１はクロック回路を備え、ＳＳＷのタイミング制御は、ＲＷチャネル２１が生成するクロック信号に従って実行される。
【００３５】
ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたマイクロコードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロコードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ（不図示）からロードされる。ＨＤＣ／ＭＰＵ２３は、コマンド実行順序の管理、サーボ・データを使用したヘッド素子部１２のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。特に、ＨＤＣ／ＭＰＵ２３は、本形態のＳＳＷの実行を制御する。
【００３６】
図２は、ＳＳＷの手法を概略的に示している。ＳＳＷは、内周（ＩＤ）側もしくは外周（ＯＤ）側トラックＴＯに書き込まれているパターンＰＯをヘッド素子部１２内のリード素子１２１で読み出しながら、外周側もしくは内周側トラックＴＮに配置されたヘッド素子部１２内のライト素子１２２で新たなパターンＰＮを書き込む。つまり、リード素子１２１が基準トラックＴＯの各セクタのパターンをサーボ制御によってフォローしながら、各セクタの検出から所定タイミング後にライト素子１２２がトラックＴＮに新たなパターンＰＮを書きこむ。ヘッド素子部１２を外周側もしくは内周側に順次移動させながらパターンを書き進めることによって、磁気ディスク１１の記録面全面にパターンを書き込むことができる。
【００３７】
ＳＳＷは、いくつかのシーケンスから構成されている。磁気ディスク１１上には、最終的にユーザ・データのリード／ライトのための最終的なサーボ・パターン（本稿においてプロダクト・サーボ・パターンと呼ぶ）が全面に書きこまれる。その書き込みのために、本形態のＳＳＷは、磁気ディスク１１上のプロダクト・サーボ・パターン（及びそれと同一フォーマットのパターン）を使用してプロダクト・サーボ・パターンを書き進めるシーケンスの他に、初期シーケンスにおいて他のタイプのパターンを書き込む。本発明のパターン書き込みは、サーボ制御が可能であれば、いずれのパターンの書き込みにも利用することができるが、以下においてはてプロダクト・サーボ・パターンの伝播処理の例について詳細に説明する。
【００３８】
図３は、本形態のヘッド素子部１２におけるリード素子１２１とライト素子１２２の位置関係を示している。本例において、リード素子１２１のセンター位置がライト素子１２２のセンター位置よりも磁気ディスク１１の内周（ＩＤ）側に配置されている。内周側からパターンを書き込むことによって、ライト素子１２２により先に書き込まれたパターンをリード素子１２１が読み取ることができる。これによって、リード素子１２１が読み取ったパターンによってヘッド素子部１２の位置合わせを行いながら、ライト素子１２２が新たなパターンの書き込みを行うことができる。以下では、磁気ディスク１１の内周側からサーボ・パターンを書き進めていく例を説明する。尚、リード／ライト素子１２２、１２２の位置を変更することによって、磁気ディスク１１の外側からＳＳＷを開始することも可能である。尚、本形態のＳＳＷにおいては、円周方向における各素子のセンター位置は特に限定されない。
【００３９】
さらに、図３はリード素子１２１とライト素子１２２のセンター位置の相違が規定するいくつかの値を示している。一つはリード・ライト・セパレーション（Read/Write Separation）である。リード・ライト・セパレーションはリード素子１２１とライト素子１２２の磁気ディスク１１の円周方向の時間的な差である。例えば、リード素子１２１センターが特定トラック（半径位置）の特定円周方向位置に達してから、磁気ディスク１１が回転し、同一の円周方向位置（トラックは異なる）にライト素子１２２センターが到達するまでの時間をリード・ライト・セパレーション・タイム（Read/Write Separation Time）と呼ぶ。
【００４０】
もう一つは、リード・ライト・オフセット（Read/Write offset）である。リード・ライト・オフセットは、リード素子１２１とライト素子１２２との間の半径方向における距離である。具体的には、リード素子１２１とライト素子１２２の各センター（Read Element Center/Write Element Center）間の、磁気ディスク１１の半径方向における距離である。リード・ライト・オフセットはスキュー角のためヘッド素子部１２の半径方向の位置によって変化し、一般的にはＯＤ側へ向かうにつれて大きくなる。
【００４１】
このように、本例においては最もＩＤ側のトラック位置から最もＯＤ側の全てのトラック位置においてもリード・ライト・オフセットが存在する。これによって、内周側に書き込んだサーボ・パターンを読み出してヘッド素子部１２の位置合わせを行い、最もＯＤ側のトラックまでサーボ・パターンを書き込むことができる。
【００４２】
すでに書きこまれたプロダクト・サーボ・パターンを使いさらにＯＤ側にプロダクト・サーボ・パターンを書き伸ばして行く（伝播）方法について、具体的に説明する。図４の例は、１トラックに対応した２Ｎｓセクタのパターンを有している。このセクタ数は、実際に必要なセクタ数の２倍である。各セクタには、プロダクト・サーボ・パターンと同一フォーマットのサーボ・パターンが書き込まれる。従って、最終的な製品においては書き込まれるセクタの半数がプロダクト・サーボ・パターンとして使用される。以下において、各セクタのパターンをサーボ・パターンと呼ぶ。
【００４３】
１サーボ・ライト・トラックの各サーボ・パターンの書き込みは、磁気ディスク１１の２回転を使用して行う。つまり、奇数と偶数セクタをそれぞれ別々の回転で書く。具体的には、最初の回転で[０]、[２]、[４]、[６]・・・と偶数セクタのサーボ・パターンを基準にして奇数セクタのサーボ・パターンを書く。次の回転で[１]、[３]、[５]、[７]・・・と奇数セクタのサーボ・パターンを基準にして偶数セクタのパターンを書く(この順番は逆でもかまわない。)。製品としてサーボ・パターンを使う場合、このうちの半分(奇数のみあるいは偶数のみ)を使用する。パターン書き込み時においては、奇数セクタや偶数セクタのみによって、それぞれトラックが規定されていると考えることができる。
【００４４】
上述の説明と異なり、１トラックにおいて必要なセクタ数（Ｎｓ／２）のプロダクト・サーボ・パターンを書き込み、上記と同様の手法でプロダクト・サーボ・パターンを書き進めることができる。しかし、サーボ・パターンの書き込みを磁気ディスク１１の２回転で行った場合、１回転目と２回転目に書かれたサーボ・パターンの間に半径方向のずれが生じ、あるいは、集配方向における時間のずれが問題となることがある。しかし、上記の方法で書き込むことによって磁気ディスク１１の１回転で、最終製品で必要なセクタ数のサーボ・パターンを全て書き込むことができるので、これらを防止することができる。
【００４５】
図５（ａ）は、一つのプロダクト・サーボ・パターンのフォーマットを示している。プロダクト・サーボ・パターンは、プリアンブル（PREAMBLE）、サーボ・アドレス・マーク（SERVO ADDRESS MARK：ＳＡＭ）、グレイ・コードからなるトラックＩＤ（GRAY）、サーボ・セクタ・ナンバ（ＰＨＳＮ）及びバースト・パターン（BURST）から構成されている。プリアンブルは、読み出し信号の位相の検出や信号アンプの増幅率調整のためのパターンを含んでいる。
【００４６】
サーボ・アドレス・マークはサーボ・データの始まりを示す。トラックＩＤは、最終的にユーザ・データが記録されるトラックのトラック番号を示す。サーボ・セクタ・ナンバは、一つのトラック内におけるサーボ・セクタの番号を示す。最後に、バースト・パターンは４種類のパターンＡ、Ｂ、Ｃ及びＤを備えており、トラックＩＤで指定されるトラック内でのリード素子１２１（ヘッド素子部１２）の詳細位置を示す。
【００４７】
図５（ｂ）は、ライト素子１２２がサーボ・パターンを書き込む態様を模式的に示している。１セクタにおける半径方向に連続する複数プロダクト・サーボ・トラックが示されている。図５（ｂ）に示すように、ライト素子１２１は、各プロダクト・サーボ・パターンを、半径方向において一部が重なるように書き込む。つまり、各プロダクト・サーボ・パターンの形成において、各パターンの一部は外周側のパターンに上書きされる。具体的には、ライト素子１２１は磁気ディスク１周でプロダクト・サーボ・パターンの半径方向における半分を書き込む。
【００４８】
プロダクト・サーボ・パターンの半分に相当するトラックを、サーボ・ライト・トラックと呼ぶ。サーボ・ライト・トラックのトラック・ピッチは、ユーザ・データが記憶されるデータ・トラック・ピッチの半分となる。同一のトラックＩＤを有するプロダクト・サーボ・パターンを１サーボ・トラックとすると、サーボ・ライト・トラックは、その半分となる。図３を参照した説明において新たに書きこむトラックＴＮは、このサーボ・ライト・トラックになる。図５（ｂ）の例においては、１０サーボ・ライト・トラックにわたって書き込まれたサーボ・パターンを示している。
【００４９】
ＨＤＣ／ＭＰＵ２３は、トラックＩＤ（Gray）及びバースト・パターン（BURST）を使用して、リード素子１２１(ヘッド素子部１２)を所望の位置に位置決めする。また、サーボ・アドレス・マークの読み出しタイミングを使用して、新たなパターンの書き込みにおける基準タイミングとして使用する。
【００５０】
なお、ＳＳＷ専用の付加的機能を少なくするため、ＨＤＤ１は、最終的なプロダクト・サーボ・パターンと同一フォーマットのパターンのみを使用してプロダクト・サーボ・パターンを伝播することが好ましいが、この他に付加的なタイミング・パターンやバースト・パターンなどを備えること、あるいは、その付加的なパターン使用してヘッドの位置決め及び書き込みタイミング制御を行ってもよい。
【００５１】
以上の説明から理解されるように、リード素子１２１のターゲットとなる位置は、サーボ・ライト・トラックの中心と一致する場合もあるが、多くの場合においてその中心からずれた位置にある。また、ヘッド素子部１２の位置決めにおけるサーボ制御は、プロダクト・サーボ・パターンのバーストを使用することからもわかるように、複数のサーボ・ライト・トラックのパターンの読み出し信号を使用する。
【００５２】
従って、リード素子１２１がフォローイングするトラック（図２におけるＴＯ）は、サーボ・ライト・トラックと同一ではない。リード素子１２１がフォローイングするトラックのパターンは、そのターゲットの半径位置を中心とした所定幅の各パターンであって、ターゲット位置にリード素子１２１を位置決めするために使用する各セクタのパターンとみなすことができる。また、図４を参照して説明したように、同一半径位置におけるセクタの一部を読み出す場合、その一部のセクタによって構成されるトラックを一つのトラック（ＴＯ）とみなすことができる。同様に、同一半径位置におけるセクタの一部を書き込む場合、それらによって構成されるトラックを一つのトラック（ＴＮ）とみなすことができる。
【００５３】
図４−図６を参照して、プロダクト・サーボ・パターンの書き込み処理を説明する。図６のフロー・チャートにおけるＳ１１において、リード素子１２１は基準とする位置に対応するトラック（図４におけるＴＯ）に移動し、そのターゲット位置（トラック）をフォローイングする。ＨＤＣ／ＭＰＵ２３は、リード素子１２１が読み出したトラックＩＤとバースト・パターンとから、位置信号を生成する。
【００５４】
ＨＤＣ／ＭＰＵ２３は、リード素子１２１のターゲットの位置に応じて、Ａ、Ｂ、Ｃ、Ｄを選択的に使用し、トラックＩＤとＡ、Ｂ、Ｃ、Ｄの内の所定のバースト・パターンの振幅の比率から位置信号を算出する。ＨＤＣ／ＭＰＵ２３は、これらの値が所定値になるように、リード素子１２１を位置決めする。本実施形態に係るＳＳＷは、ヘッド素子部１２の位置決め、特にそのトラック・フォローイング制御に特徴的な点を有するが、この点については後述する。
【００５５】
続いて、Ｓ１２において、ＨＤＣ／ＭＰＵ２３は、ＳＡＭの検出タイミング間の時間間隔を測定することによって、各セクタ間の時間間隔を測定する。測定は、Indexを基準にして、ＲＷチャネル２１が生成するクロック信号を使用して実行する。ここでIndexは、スピンドル・モータ１４を駆動するモータ・ドライバ・ユニット２２がスピンドル・モータの逆起電力に応じて生成する信号であって、スピンドル・モータ１４の回転周期によって規定される。
【００５６】
図４の例は、Index直後のプロダクト・サーボ・パターンからの時間測定結果をTP_00、TP_01、TP_02、・・・TP_2*Ns-1と定義している。ここで、サフィックス00、01、02、・・・2*Ns-1はセクタ番号で、本例のサーボ・セクタ数は最終的な製品のサーボ・セクタ数Nsの２倍の数だけある。最終的なプロダクト・サーボ・セクタ間（サーボ・パターン間）の時間間隔をＴｓとすると、伝播における各セクタの時間間隔はＴｓ／２となる。
【００５７】
次に、Ｓ１３において、ＨＤＣ／ＭＰＵ２３は、測定した時間間隔から、ヘッド素子部１２のリード・ライト・セパレーション・タイム及びプリアンブルからＳＡＭまでの理論的時間について補正を行い、書き込みタイミングを計算する。ここで、書き込みタイミングは、内周側基準トラックＴＯ（基準ターゲット位置）のＳＡＭの検出タイミングを基準として、外周側トラックＴＮにおける各セクタのサーボ・パターンの書き込み開始を示すタイミングである。
【００５８】
Ｓ１４において、ヘッド素子部１２は、以上の計算結果と時間的に１つ前のセクタのサーボ・パターンを使用して、ＯＤ側トラックＴＮにサーボ・パターンを書く。サーボ・パターンの書き込みは、磁気ディスク１１の２回転を使用して行う。最初の回転で［０］、[２]、[４]、[６]・・・と偶数セクタのサーボ・パターンを基準にして奇数セクタのサーボ・パターンを書く。次の回転で[１]、[３]、[５]、[７]・・・と奇数セクタのサーボ・パターンを基準にして偶数セクタのサーボ・パターンを書く。なお、奇数セクタと偶数セクタに異なるタイプＳＡＭを使用することによって区別することが好ましい。一つのトラックにおける書き込みが終了すると、ＯＤ側の隣接トラック（ターゲット位置）へリード素子１２１を移動し（Ｓ１５）、上記処理を繰り返す。
【００５９】
上述のシーケンスによって内周側の基準となるトラックＴＯにすでに書きこまれているサーボ・パターンＰＯをフォローして、外周側に新たなサーボ・パターンＰＮからなるトラックＴＮを形成することができる。このように、外周側に新たなトラックＴＮを書き込むパターンの伝播において、基本的には内周側の基準となるパターンＰＯの半径方向の精度（ヘッド素子部１２の位置決め精度）が、そのまま新たな書き込むパターンＰＮに受け継がれることが期待される。
【００６０】
しかしながら、種々の誤差を引き起こす要因のため、この精度は伝播によって劣化していく。位置決め精度低下は、サーボ・パターンのうちのバースト・パターンＡ、Ｂ、Ｃ、Ｄの本来あるべき位置からのずれを引き起こし、これが次の伝播のときに引き継がれていく。また、このプロセスは、ヘッド素子部１２をトラック・フォローさせるためのサーボ・ループの係数にも依存する。このように、精度の劣化を引き起こすのは、種々の要因が絡んだ複雑なメカニズムである。
【００６１】
この伝播によるトラック・フォロー精度の劣化を防ぐために、本形態のＳＳＷではサーボ・ライト・トラックＴＮを書き込む際における、基準トラックＴＯのターゲット位置を補正する。ターゲット位置は、リード素子１２１が読み出した信号から算出される位置信号のターゲット値として表される。ここで、ターゲット位置（ターゲット値）からのずれ（位置誤差）を示す信号を位置誤差信号（Position Error Signal：ＰＥＳ）と呼ぶ。ＰＥＳは、リード素子部１２１が読み出した位置信号（サーボ信号）から、（ターゲット位置−現在位置）で表すことができる。
【００６２】
ターゲット値の補正値の具体的な算出方法について説明する前に、ＨＤＤ１のサーボ・システムについて説明を行う。図７は、本形態のサーボ・システムの構成を示すブロック図である。ＲＷチャネル２１は、ＡＥ１３からの出力信号からサーボ信号を抽出するサーボ・チャネル２１１を備えている。ＨＤＣ／ＭＰＵ２３は、サーボ位置信号を生成するサーボ位置信号生成部２３１、ヘッド素子部１２のターゲット位置を設定するターゲット位置設定部２３２、サーボ位置信号及び基準信号であるターゲット位置設定部２３２からのターゲット位置信号との差分を算出する位置誤差量算出部２３３、モータ・ドライバ・ユニット２２にＶＣＭ１５を制御する（ＶＣＭ１５の電流量を制御する）ためのデジタル制御信号（ＤＡＣＯＵＴ）を出力するサーボ・コントローラ２３４を備えている。
【００６３】
尚、ＨＤＣ／ＭＰＵ２３内の各構成要素は、ハードウェア構成によって、あるいは、ＭＰＵ上でマイクロコードが動作することによって実現することができる。ハードウェア／ソフトウェアの構成は、設計に従って適切な構成が選択される。また、必要な処理を実行する各論理ブロックは、設計によって、いずれのハードウェア構成に実装することも可能である。
【００６４】
サーボ・チャネル２１１は、ＡＥ１３からのアナログ・サーボ信号を、所定のサンプリング周波数においてＡＤ変換する。サーボ・チャネル２１１は、さらに、ＡＤ変換された信号からサーボ・アドレスをデコードする。デコードされたアドレスと、ＡＤ変換されたバースト信号は、サーボ位置信号生成部２３１に転送される。
【００６５】
サーボ位置信号生成部２３１は、サーボ・チャネル２１１からのサーボ信号に基づいて、ヘッド素子部１２の現在位置を示すサーボ位置信号を生成する。具体的には、トラック番号及びバースト位置信号から構成される。さらに、サーボ位置信号生成部２３１は、セクタ番号を生成する。トラック番号及びバースト位置信号は位置誤差量算出部２３３に入力され、セクタ番号はターゲット位置設定部２３２に入力される。例えば、トラック番号を上位ビットとし、バースト位置信号を下位ビットとするデータが、位置誤差量算出部２３３に入力される。
【００６６】
ターゲット位置設定部２３２は、ヘッド素子部１２（リード素子１２１）が移動すべきターゲット位置を示すターゲット位置信号を出力する。ターゲット位置信号は位置誤差量算出部２３３に入力され、それはターゲットとなるトラック番号及びバースト位置信号を含む。本形態のＨＤＤ１はターゲット位置設定部２３２の処理に特徴を有するが、具体的な説明は後述する。
【００６７】
位置誤差量算出部２３３は、サーボ位置信号とターゲット位置信号を比較し、ターゲット位置に対する現在位置の偏差の大きさ及び方向を示す位置誤差信号（ＰＥＳ）を生成する。ＰＥＳは、ヘッド素子部１２がターゲット位置に対して磁気ディスク１１半径方向の内側もしくは外側に、どの程度ずれているかを示す。
【００６８】
位置誤差量算出部２３３によって生成されたＰＥＳは、サーボ・コントローラ２３４に入力される。サーボ・コントローラ２３４は、ＰＥＳに従ってＶＣＭ１５のデジタル制御信号ＤＡＣＯＵＴを生成する。ＤＡＣＯＵＴは、モータ・ドライバ・ユニット２２に入力され、モータ・ドライバ・ユニット２２はＤＡＣＯＵＴをＤＡ変換して、所定値の電流をＶＣＭ１５に供給する。
【００６９】
基準トラックＴＯのターゲット位置を補正する方法について、具体的に説明する。以下の処理は、上記図４における奇数セクタ及び偶数セクタをフォローイングするときのそれぞれにおいて実行される。ターゲット位置設定部２３２は、Ｓ１４において、サーボ・パターンの書き込みの前にトラックＴＯをフォローイングして、各セクタのＰＥＳを取得する。必要な場合は、ターゲット位置設定部２３２は、複数周回のフォローイングによって、各セクタのＰＥＳの平均値を計算する。
【００７０】
ターゲット位置設定部２３２は、予め算出してある補正演算子と、取得した各セクタのＰＥＳの全て、もしくは選択された複数セクタのＰＥＳからなるＰＥＳベクトル（｜PES＞）とから、各セクタの位置補正値を算出する。ここで、｜＞は列ベクトル、＜｜は行ベクトルを意味する。
【００７１】
具体的には、ターゲット位置設定部２３２は、ＰＥＳベクトル（｜PES＞）と各セクタｉに対応した補正演算子としての補正ベクトル（＜H_ｉ｜）との内積（＜H_ｉ｜PES＞）を計算して、各セクタのターゲット値に対する補正値を算出する。つまり、各セクタｉの位置補正値ｄ_iは、
d_i＝＜H_ｉ｜PES＞        （数式１）
と表すことができる。
【００７２】
これは、補正ベクトル（＜H_ｉ｜）とＰＥＳベクトル（｜PES＞）の各要素の積和演算であって、＜H_ｉ｜の要素をhin（０≦ｎ≦Ｎ―１）とすると、
d_i＝Σn hi,nPESn    ０≦ｎ≦Ｎ―１        （数式２）
と表すことができる。ここで、Σnは、ｎが０から（N−１）までの各要素の和を意味する。Ｎは全セクタ数であって、図４における２Ｎｓに相当する。また、ｎは各セクタを示す数字であって、例えば、図４に示したINDEXを基準に数えることができる。
【００７３】
補正ベクトル（＜H_ｉ｜）は、補正行列Ｈの各行に対応する。ここで、各セクタの位置補正値を要素とする位置補正値ベクトルを、
｜d＞＝（d_0、d_1、d_2、・・・d_N-1）        （数式３）
と表す。位置補正値ベクトル（｜d＞）は、ＰＥＳベクトル｜PES＞と補正行列Ｈとの積であり、以下のように表される。
｜d＞＝Ｈ｜ＰＥＳ＞        （数式４）
【００７４】
ターゲット位置設定部２３２は、予め上記の補正行列Ｈを算出しておくことによって、各トラックにおけるターゲット位置を補正することができる。図８のフロー・チャートに示すように、ターゲット位置設定部２３２は補正行列Ｈ、つまり、積和演算の各係数hi,nを予め算出し、それをＲＡＭ２４内のテーブルに登録しておく（Ｓ２１）。位置誤差量算出部２３３は、各トラックのサーボ・パターン書き込み処理において、実際にサーボ・パターンを書き込む前に、対応するターゲット位置においてリード素子１２１が読み出した各セクタのＰＥＳを取得する（Ｓ２２）。ターゲット位置設定部２３２は、取得した各セクタのＰＥＳと補正行列Ｈの各要素との積和演算を行い、各セクタの補正値を算出する（Ｓ２３）。さらに、ターゲット位置設定部２３２は、算出した各セクタの補正値を使用して、各セクタの新たなターゲット値を算出する（Ｓ２４）。
【００７５】
新たなサーボ・パターンの書き込みのためのトラック・フォローにおいて、ターゲット位置設定部２３２は、補正されたターゲット位置信号を位置誤差量算出部２３３に出力する。位置誤差量算出部２３３は、サーボ位置信号と補正されたターゲット位置信号を比較してＰＥＳを生成する（Ｓ２５）。
【００７６】
ターゲット位置設定部２３２がサーボ・ライトのためのトラック・フォローのタイミングまでに係数hi,nを予め取得しておくことによって、演算パワーの小さいＨＤＤ１に実装されるＭＰＵであっても、ターゲット位置の補正を短時間で処理することができる。各係数hi,nは磁気ディスク１１記録面全体の書き込みにおいて同一のものを使用することも可能であるが、好ましくは、数千トラック程度の間隔でキャリブレーションを実行して各係数hi,nの再演算を実行する。アクチュエータ位置によって風の流れやフレックス・ケーブルの力などの影響が異なるため、適切なトラック間隔で係数hi,nのキャリブレーションを実行することが好ましい。
【００７７】
続いて、この補正行列Ｈの算出方法について具体的に説明する。ここで、リード素子１２１がトラックＴＯをフォローしているときのＴＯの各セクタは、１セクタを除いて真円であり、リード素子１２１がきれいにトラックＴＯをフォローしている場合を考える。図９は、Sector_0のサーボ・パターンのみが"−１"ずれている例を示している。図９において、黒丸は各セクタのサーボ・パターンを示し、×はリード素子１２１の位置を示している。これは、インパルス型の乱れが一箇所にある場合に相当する。これによってトラックＴＯでのトラック・フォローはその分乱されて、それがそのままトラックＴＮの位置に反映する。
【００７８】
ここで、このインパルス型の乱れによるトラックＴＯにおけるふれ、つまり、書き込まれるトラックＴＮのふれは、基本的に、このサーボ・システムの閉ループの伝達関数で記述される。インパルス入力に対する出力の時系列は伝達関数の逆Ｚ変換で求めることができる。伝達関数が周波数で表されている場合は、伝達関数の逆フーリエ変換で記述される。
【００７９】
従って、サーボ・システムの閉ループ伝達関数がわかれば、各セクタにおける真円からのずれe_i（iは０からＮ−１の各正の整数）が求められる。ここで、e_0は０である。これは、サーボ・システムはSector_0の乱れを察知した瞬間に、まだリード素子１２１を移動していないからである。ここで、Sector_0におけるＰＥＳ（ＰＥＳ０）を"＋１"とする。上述のように、Sector_0のサーボ・パターンの位置が"−１"であるので、ＰＥＳ０は"＋１"となる。また、Sector_0のずれに起因する各セクタのＰＥＳｉはずれe_iと一致し、ＰＥＳｉ＝e_iとなる。従って、インパルス入力への応答としてのＰＥＳベクトルは以下のようになる。
｜ＰＥＳ＞＝（e_1、e_2、e_3、e_4、・・、e_N-1）        （数式５）
【００８０】
実際には、実空間における各セクタ・パターンの真円からの位置誤差は、各セクタSector_iにおいて、d_iとして存在する。この位置誤差がターゲット位置の補正値に相当する。各セクタの真円からの位置誤差によるSector_jでのＰＥＳｊは、
ＰＥＳｊ＝d_j−Σi（d_i×e_ j-i）        （数式６）
と表すことができる。ここで、Σiは、ｉが０から（N−１）までの各要素の和を意味する。
【００８１】
上記の数式６は、ターゲットからの位置誤差ＰＥＳと真円からの位置誤差ｄの各ベクトル表記、さらに演算係数の行列Ｋを使用して、以下のように表すことができる。
｜ＰＥＳ＞＝Ｋ｜d＞        （数式７）
ここで、行列Ｋは、上述の説明から、
【数３】
2008052807.tif 000004
と表記することができる。
【００８２】
リード素子１２１がトラック・フォローイングしている間、ターゲット・トラックにおけるＰＥＳベクトルが観測される。上記の数式から、このＰＥＳベクトルに行列Ｋの逆行列Ｋ−１をかけることによって、各セクタのサーボ・パターンの理想位置からのずれd_i及びそのベクトル｜d＞を求めることができる。つまり、つまり、各セクタのターゲット値の補正値及びそれを表すベクトルを求めることができる。行列Ｋの逆行列Ｋ−１＝Ｈの各要素をhm,nとすると、各セクタの真円からの位置誤差d_iは、
d_i＝Σn hi,nPESn    ０≦n≦Ｎ―１        （数式９）
と表すことができる。なお、Σnは各nについての和である。
【００８３】
また、行列Ｈの構造は、上記Ｋの構造から以下のような形になることが明らかである。
【数４】
2008052807.tif 000005
つまり、行列Ｈの要素間で下の数式の関係が満たされている。
hm,n＝hｎ−ｍ        （数式１１）
ここで、（ｎ−ｍ）は、Ｎを法とする０からＮ−１までの数であり、例えば、−１＝（Ｎ−１）である。
【００８４】
各セクタの真円からの位置誤差d_iが各セクタのターゲット値の補正値となり、現在のターゲット値T_iにたいして、補正された新たなターゲット値は（T_i−d_i）となる。つまり、上述のように、ターゲット位置設定部２３２は、行列Ｈと実際に測定したＰＥＳベクトルとから各セクタの補正値を計算し、サーボ・コントローラ２３４は、その補正値で補正した新たなターゲット値を基準としてＰＥＳからＤＡＣＯＵＴを算出する。
【００８５】
なお、一般に、インパルス入力に対する出力の時系列は、適当なセクタ数内にほぼ収束する（位置誤差が実質的に０となる）と考えられる。たとえば、e_4からe_N-1を０とすると、上記の演算行列Ｋは、
【数５】
2008052807.tif 000006
と表される。従って、ターゲット位置設定部２３２は、全セクタ数よりも少ない予め設定されたセクタ数のインパルス応答要素のみを使用して行列Ｈを算出することで、補正の実効性を損なうことなく、逆行列算出のための演算を簡略化することができる。例えば、上記（数式１２）の例においては、ターゲット位置設定部２３２は、インパルス型の入力から３セクタ先までのずれ（e_1〜e_3）を使用して、行列Ｋの逆行列Ｈを算出する。
【００８６】
上述のように、ＰＥＳベクトル（e_1、e_2、・・、e_N-1）はサーボ・システムのインパルス応答であり、閉ループの伝達関数の逆フーリエ変換（逆Ｚ変換）となる。ターゲット位置設定部２３２が行列Ｋを決定するには、サーボ・システムのインパルス応答を特定することが必要である。
【００８７】
サーボ・システムのインパルス応答を求める、つまりＰＥＳベクトル（e_1、e_2、・・、e_N-1）を求める方法は、いくつか考えられる。その一つは、トラック・フォローしながら、一つのセクタにおいて故意に所定量のシフトをターゲット値に付加し、その後の各セクタのＰＥＳの変化を測定する。ＨＤＣ／ＭＰＵ２３は、シフトを付加しない場合と付加した場合との間におけるＰＥＳ変化の差分から、サーボ・システムのインパルス応答を特定することができる。
【００８８】
他の方法として、ＨＤＣ／ＭＰＵ２３は、ＶＣＭ１５に磁気ディスク１１の回転周波数の整数倍のサイン波を加えるように制御し、ヘッド素子部１２の位置情報（ＰＥＳ）の周波数成分を測定することによって伝達関数の周波数応答を求めることができる。ＨＤＣ／ＭＰＵ２３は、周波数応答から閉ループの伝達関数を決定する。さらに、ＨＤＣ／ＭＰＵ２３はその伝達関数の逆フーリエ変換を行い、サーボ・システムのインパルス応答を特定することができる。
【００８９】
数式２及び９に示すように、各セクタの補正値d_iの算出は、ターゲットにおけるＰＥＳと行列Ｈの行ベクトルの要素との積和演算を行うことを示している。さらに、数式１０に示した行列Ｈの各要素を見ればわかるように、セクタが１つ変わるごとにサイクリックに積和の項を変えていけばよく、簡略な計算によって補正値を算出することができる。つまり、各セクタ[i]におけるターゲット値の補正値d_iは、以下の式で与えられる。
【数６】
2008052807.tif 000007
（ｋ、ｋ−ｉは０からＮ−１の巡回的数）
【００９０】
この演算は、ＦＩＲ（Finite Impulse Response）フィルタとして実装することが可能である。ＦＩＲフィルタはＭＰＵによる効率的な演算が可能であり、演算パワーの小さいＭＰＵであっても高速処理が可能である。図１０に示すように、ＦＩＲフィルタ３１０は、１クロック分遅延させる遅延要素３１１、マトリックスＨの要素を係数とする重み係数３１２（積算）及び重み係数３１２により処理された各値を加算する和要素３１３から構成されている。
【００９１】
ＦＩＲフィルタ３１０はＮタップのＦＩＲフィルタであり、各タップにｈ０〜ｈＮ−１の重み係数が結合されている。つまり、各タップからの出力は重み係数によって係数と積算される。ＦＩＲフィルタ３１０には、セクタ[０]からセクタ[Ｎ−１]のＰＥＳが順次入力される。例えば、セクタ[０]の演算において、各タップからは、ＰＥＳ[０]〜ＰＥＳ[Ｎ−１]の各値が出力されている。ここで、ＦＩＲフィルタ３１０はハードウェアで構成することもできるが、設計のフレキシビリティの点からマイクロコードで実装し、ＭＰＵによってＦＩＲ処理を実行することが好ましい。
【００９２】
図１１は、ターゲット位置信号の生成処理に関する機能部のブロック図である。ＲＡＭ２４内において、行列Ｈテーブル２４１は行列Ｈの各要素を登録し、ＰＥＳテーブル２４２は、サーボ・パターンを書き込むときにおけるターゲット（図２におけるＴＯ）における各セクタのＰＥＳを登録している。ＰＥＳテーブル２４２には、位置誤差量算出部２３３が各セクタに対応するＰＥＳを登録する。また、ターゲット位置基準テーブル２４３は、各サーボ・トラックに対応する、サーボ位置信号のターゲット値の基準値が登録されている。具体的には、ターゲット・トラック番号とターゲットＰＥＳの各基準値から構成されている。
【００９３】
ターゲット位置設定部２３２は、行列Ｈテーブル２４１から行列要素、つまり重み係数を取得し、ＦＩＲフィルタ３１０の重み係数３１２として使用する。リード素子１２１のフォローイング動作に合わせて、ターゲット位置設定部２３２は、ＰＥＳテーブル２４２に登録されている対応サーボ・トラックの各セクタのＰＥＳを取得し、順次ＦＩＲフィルタ３１０に入力することによって、各セクタの補正値を生成する。さらに、ターゲット位置基準テーブル２４３からターゲット基準値を取得し、補正演算部３２０が生成した補正値を使用してそれを補正する。ターゲット位置設定部２３２は、補正されたターゲット値をターゲット位置信号として位置誤差量算出部２３３に出力する。
【００９４】
ここで、ＦＩＲフィルタ３１０のタップ数を減らす、つまり、数式２もしくは９の積和演算を短くし、処理の効率化を図ることが好ましい。タップ数を減らすことによって、補正値の計算時間を短縮することができる。しかし、タップ数を減らすことによって補正値の効果が半減し、伝播誤差の累積による大きな位置誤差が生じることは避けなければならない。
【００９５】
上述のように、インパルス応答（e_i）は、サーボが正常に動作する場合、適当な範囲を超えると０とみなすことができる。従って、ｈiも補正値を算出する注目セクタの前後のある程度の範囲に限って考慮すればよい。例えば、Sector0のサーボ位置の理想位置からのずれは、
【数７】
2008052807.tif 000008
と計算することができる。ｍは正の整数である。
【００９６】
つまり、セクタ[ｋ]を書き込むときに、そのセクタを含む前後の複数セクタのＰＥＳを使用してターゲット位置を補正する。各セクタの位置ずれは、その前後の近いセクタの位置ずれと強い相関性を示し、セクタが遠くなるほど相関性が小さくなる。つまり、セクタが遠いほどｈの値が小さくなる。そのため、該当セクタ及びその近隣セクタの位置ずれのみを演算において使用することによっても、十分な位置ずれ補正を達成することができる。
【００９７】
このように、各セクタの補正値の計算において、補正対象となるセクタのＰＥＳを含む、連続する複数セクタのＰＥＳを使用する。使用するセクタ数はリード素子１２１が読み出す全セクタ数よりも少なく、設計によって適切な数が選択される。各セクタの位置ずれは、該当セクタの前後のセクタの位置ずれとそれぞれ強い相関性有しているため、補正値の計算は対象セクタの前及び後のセクタのＰＥＳを含むことが好ましい。該当セクタの前後同数の連続する数セクタもしくは数十セクタを使用することは、好ましい一例である。
【００９８】
ここで、各セクタのターゲット値の補正値として上述のように算出されたd_iを直接に使用するのではなく、d_iに１未満の係数をかけた値αd_i（０＜α＜１）を使用することは、好ましい態様の一つである。例えば、αを０．５に設定することができる。典型的には、αは各セクタに対して同一である。実際のシステムにおいては様々なノイズが存在し、ターゲット値の補正量を理想値からのずれであるd_iと同一とすると、過剰応答になる危険性があるからである。従って、d_iに適切な係数をかけて補正量を調整することが好ましい。係数は、ＨＤＤのサーボ・システムに従って適切な値を設定する。この点は、以下の説明において同様である。
【００９９】
上述の例においては、トラックＴＮを書き込むためのリード素子１２１のターゲット・トラックＴＯのＰＥＳを直接に読み出して、その読み出したＰＥＳを使用してターゲット・トラックＴＯにおける各セクタの補正値を計算した。これに対して、図１２に示すように、ターゲット・トラックＴＯを書き込むときのターゲット・トラックＴＩにおける各セクタのＰＥＳを使用して、ターゲット・トラックＴＯにおける各セクタの補正値を算出することができる。
【０１００】
トラックＴＯのＰＥＳを使用する場合には、トラックＴＯの各セクタのＰＥＳを測定するために、少なくともディスク１周を必要とする。これに対して、トラックＴＯを書き込むときに読み出しているトラックＴＩのＰＥＳを使用することで、補正値を算出するためにトラックＴＯのＰＥＳを測定する必要がなく、処理時間の短縮を図ることができる。
【０１０１】
トラックＴＯのサーボ・パターンを書き込むに際して、リード素子１２１はトラックＴＩの各セクタ・パターンを読み出し、サーボ・システムはリード素子１２１が読み出した位置信号とターゲット位置とのＰＥＳを使用してライト素子１２２を位置決めする。従って、トラックＴＩの各セクタにおける位置誤差は、トラックＴＯに書き込まれるパターンの位置に反映される。図１３に示すように、リード素子１２１がトラックＴＩをフォローしているときのＴＯの各セクタは１セクタを除いて真円であり、リード素子１２１がきれいにトラックＴＩをフォローしている場合を考える。
【０１０２】
図１３は、図９と同様に、Sector_0のサーボ・パターンのみが"−１"ずれている例を示している。図１３において、黒丸は各セクタのサーボ・パターンを示し、バツはリード素子１２１の位置を示している。これは、インパルス型の乱れが一箇所にある場合に相当する。これによってトラックＴＩでのトラック・フォローはその分乱されて、それがそのままトラックＴＯの各セクタの位置に反映する。従って、ライト素子１２２がトラックＴＯを書き込む際に、リード素子１２２が読み出した各セクタの位置信号に対するＰＥＳを使用して、トラックＴＯをフォローするときのターゲット補正値を正確に算出することができる。
【０１０３】
ここで、ＴＩのトラック・フォローしながらＴＯを書き込むときのＰＥＳ値をＰＥＳ（ＴＩ）とすると、真円からのずれは（数式１０）の行列を用いて、
｜ｄ＞＝Ｈ｜ＰＥＳ（ＴＩ）＞            （数式１５）
と表される。図１３からわかるように、ＴＯは
｜ＰＥＳ（ＴＩ）＞−｜ｄ＞＝（１−Ｈ）|ＰＥＳ（ＴＩ）＞    （数式１６）
という半径方向の誤差を持って書き込まれるので、これをＴＯをフォローするときの補正値として用いる。
【０１０４】
具体的には、ターゲット位置設定部２３２は、各トラックを書き込む際のＰＥＳを記憶しておき、そのトラックをフォローするときに記憶しているＰＥＳを使用してターゲット位置を補正する。このときのＰＥＳは、ターゲット初期値を補正した補正ターゲット値に対するＰＥＳとなる。上記例においては、トラックＴＯをフォローするとき、トラックＴＯの書き込みにおいて記憶しておいたＰＥＳを使用して位置決めターゲット値を補正することによって、半径方向の伝播誤差を抑制する。つまり、ＴＯのトラックをフォローして新たにトラックＴＮを書こうとしている場合、かつてそのトラックＴＯを書き込んだ時にフォローしたトラックＴＩの各ＰＥＳを記憶しておき、このＰＥＳを使用して、トラックＴＯのフォローのためのターゲット値を補正する。
【０１０５】
具体的には、ターゲット位置設定部２３２は、ＲＡＭ２４内にテーブルを設け、そのテーブルに各トラックを書き込むときのＰＥＳを登録する。そして、そのトラックをフォローするときに登録しておいたＰＥＳを読み出し、そのＰＥＳと予め設定されている補正演算子（補正行列Ｈの要素）を使用して補正値を算出し、それによって予め設定されているターゲット値を補正する。
【０１０６】
ここで、上述のサーボ・パターンの書き込みにおいて、読み出すトラックのターゲットは、書き込まれているサーボ・ライト・トラックの中心とは必ずしも一致しないが、特定のサーボ・ライト・トラックと対応付けることができる。従って、上述のサーボ・ライトの書き込みにおいては、トラックＴＯに相当するターゲット位置を読み出すときに、トラックＴＯの書き込みにおいて保存したＰＥＳを使用してターゲット値の補正を行うことができる。
【０１０７】
この補正に用いられる行列１−Ｈは
【数８】
2008052807.tif 000009
と表されるが、これは（数式１０）のＨと同じく最初の行のＮ個の成分が巡回的にずれながら２行目以降に現れる形式となっている。従って上記８９段落から上記９７段落での記述と同じように、各セクタにおける補正値の計算は（数式１７）の１行目のＮ個の数を重み係数として、これをセクタが一つ進むにつれて巡回的に一つ変えた重み係数と、そのフォローしているトラックのパターンを書いたときのＰＥＳとのＦＩＲとして計算される。また、このＦＩＲ計算はサーボが正常に動作する条件のもとでは、補正値を算出する注目セクタの前後のある程度の範囲に限って考慮すればよく、適当な範囲を超えると０とみなすことができる。
【０１０８】
以下において、上記のターゲット・トラックのＰＥＳを実際に測定する実施形態に従うサーボ・システムのシミュレーション結果について説明する。図１４は、４２００ＲＰＭ、１周１６８のセクタを持つシステムにおいて、一つのセクタ０にインパルス入力がある場合のシミュレーション結果を示している。縦軸はＰＥＳを表し、横軸はセクタを表している。各線は、インパルス入力、上記補正処理を行わない場合における応答、理想位置からのずれd_iに０．５の係数をかけた場合の補正による応答及び理想位置からのずれd_iでそのまま補正した場合の応答のそれぞれである。補正を行うことによって、インパルス応答としてＰＥＳが理想の値にすぐに収束していることがわかる。
【０１０９】
次に、上記のトラック書き込み時のＰＥＳを使用して、そのトラックにおける各セクタのターゲット値を補正する実施形態に従うサーボ・システムのシミュレーション結果について説明する。図１５（ａ）は、係数αを１として補正を行った場合のシミュレーション結果、図１５（ｂ）は係数αを０．５として補正を行った場合のシミュレーション結果を示している。初期状態としては、セクタ０が−１シフトした状態（図１３を参照）を仮定する。
【０１１０】
このトラック（図１３におけるＴＩ）をフォローイングして書き込みを行うと、1st propとしてあるシフト量をもった位置にトラック（図１３におけるＴＯ）が書き込まれる。前述の補正を行いながらこのトラックＴＯをフォローイングし、新たなトラックを書き込むと、2nd propで示されるシフト量となり理想値にさらに近づく。これを続けていくと、誤差は抑制されていく。図１５（ｂ）に示すように、係数αを０．５とすると誤差抑制の効果は低減するが、それでも誤差が収束していくことがわかる。
【０１１１】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。上述の例は、ＨＤＤの制御回路を使用してサーボ・パターンを書き込むが、サーボ・ライト専用の制御装置を使用してＨＤＤの機械機構を制御してサーボ・パターンを書き込む場合にも、本発明を適用することができる。
【０１１２】
本発明は磁気ディスク装置に限らず、他のタイプのディスクに適用することができる。あるいは、本発明はサーボ・パターンの書き込みに特に有用であるが、他のパターンの書き込み、あるいは、リード素子によってトラックをフォローイングする場合の制御に適用することができる。上述の各例は真円を理想位置としてターゲット値を決定したが、真円以外のトラック形状をターゲットとすることもできる。
【図面の簡単な説明】
【０１１３】
【図１】本実施形態にかかるＨＤＤの構成を示すブロック図である。
【図２】本実施形態にＳＳＷの手法を概略的に示す図である。
【図３】本実施形態のヘッド素子部におけるリード素子とライト素子の位置関係を示す図である。
【図４】磁気ディスク２回転によって、ＩＤ側サーボ・パターンを使いさらにＯＤ側にサーボ・パターンを書き伸ばして行く方法を示す図である。
【図５】サーボ・パターンのフォーマットを示す図である。
【図６】プロダクト・サーボ・パターンの書き込み処理を説明するフロー・チャートである。
【図７】本実施形態のサーボ・システムの構成を示すブロック図である。
【図８】ターゲット値の補正処理を示すフロー・チャートである。
【図９】リード素子がトラックＴＯをフォローしているときのＴＯの各セクタは、Sector_0のサーボ・パターンのみが"−１"ずれており、他のセクタが真円である例を示している。
【図１０】ターゲット位置設定部における、ＦＩＲフィルタの機能構成を示すブロック図である。
【図１１】ターゲット値の補正とそのターゲット値を使用したサーボ制御に関する機能部のブロック図である。
【図１２】ターゲット・トラックＴＯを書き込むときのターゲット・トラックＴＩにおける各セクタのＰＥＳを使用して、ターゲット・トラックＴＯにおける各セクタの補正値を算出することを模式的に示す図である。
【図１３】トラックＴＯを書き込むときにおいて、フォローしているＴＩの各セクタは、Sector_0のサーボ・パターンのみが"−１"ずれており、他のセクタが真円である例を示している。
【図１４】４２００ＲＰＭ、１周１６８のセクタを持つシステムにおいて、一つのセクタ０にインパルス入力がある場合のシミュレーション結果を示している。
【図１５】トラック書き込み時のＰＥＳを使用して、そのトラックにおける各セクタのターゲット値を補正する実施形態に従うサーボ・システムのシミュレーション結果を示している。
【符号の説明】
【０１１４】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド素子部、１４  スピンドル・モータ、１５  ボイス・コイル・モータ
１６  アクチュエータ、２０  回路基板、２１  リード・ライト・チャネル
２２  モータ・ドライバ・ユニット、５１  ホスト、１２１  リード素子
１２２  ライト素子、２１１  サーボ・チャネル、２３１  サーボ位置信号生成部
２３２  ターゲット位置設定部、２３３  位置誤差量算出部
２３４  サーボ・コントローラ、３１０  ＦＩＲフィルタ、３１１  遅延要素
３１２  重み係数、３１３  和要素、３２０  補正演算部、４１０  ＦＩＲフィルタ
４１２  重み係数、４１３  和要素
【図１】
2008052807.tif 000011
【図２】
2008052807.tif 000012
【図３】
2008052807.tif 000013
【図４】
2008052807.tif 000014
【図５】
2008052807.tif 000015
【図６】
2008052807.tif 000016
【図７】
2008052807.tif 000017
【図８】
2008052807.tif 000018
【図９】
2008052807.tif 000019
【図１０】
2008052807.tif 000020
【図１１】
2008052807.tif 000021
【図１２】
2008052807.tif 000022
【図１３】
2008052807.tif 000023
【図１４】
2008052807.tif 000024
【図１５】
2008052807.tif 000025