(57)【特許請求の範囲】
【請求項１】
回転するメディア上において、リード素子でパターンを読み出しながら、半径位置の異なるライト素子で新たなパターンを書き込む方法であって、
回転するメディアの第１トラックに複数のパターンを書き込み、
前記第１トラックの各パターンの読み出し時刻とそのターゲット時刻との差分を使用してクロック周波数を変調しながら、基準となる第１トラックの各パターンを読み出してから予め得た遅延時間後に第２トラックに各パターンを書き込み、
前記第２トラックへのパターン書き込みにおいて、前記第１トラックの各パターンのタイミング誤差を記憶し、
前記第２トラックの各パターンのターゲット時刻を前記第１トラックにおけるタイミング誤差を使用して補正し、前記第２トラックの各パターンの読み出し時刻とその補正されたターゲット時刻との差分を使用してクロック周波数を変調しながら、各パターンを読み出してから予め得た遅延時間後に第３トラックに各パターンを書き込む、方法。
【請求項２】
前記第２トラックの各パターンのターゲット時刻の補正値を、そのパターンの書き込み基準となる第１トラックのパターンを含む前記第１のトラックの一部の複数パターンの前記第２トラック書き込み時のタイミング誤差から算出する、請求項１に記載の方法。
【請求項３】
前記補正値を算出するための複数パターンは、前記基準となるパターンの直前の連続複数パターンを含む請求項２に記載の方法。
【請求項４】
前記補正値を算出するための複数パターンは、前記基準となるパターンの直前及び直後の連続複数パターンを含む、請求項２に記載の方法。
【請求項５】
前記第２トラックの各パターンのターゲット値の補正値を、前記第１トラックにおける複数パターンのタイミング誤差の積和演算によって算出する、請求項１に記載の方法。
【請求項６】
前記クロック周波数を、各パターンの読み出し時刻とそのターゲット時刻との差分を使用したＰＩＤ制御によって変調する、請求項１に記載の方法。
【請求項７】
前記ターゲット時刻の補正値は以下の数式に従う、
Tcorr_2[k] = ΣHj * Tes_1[k−j]
（k−L≦j≦k+M：引数としてjがj＜0になる場合Nを加え、N≦jの場合Nを引く)
Tes_1[k] = Tmeas_1[k]−(Ttarget_1[k] - Tcorr_1[k])
Tcorr_2[k]は第２トラックのｋ番目パターンのターゲット時刻補正値、
Ｈｊは設計によって決定された係数、
Ｎはトラックにおけるパターン数、
Ｌ、Ｍは設計値としての自然数
Tmeas_1 [k]は第１トラックのｋ番目パターンの読み出し時刻、
Ttarget_1[k]は第１トラックのｋ番目パターンの規定ターゲット値、
Tcorr_1[k] は第１トラックのｋ番目パターンのターゲット時刻補正値、
請求項１に記載の方法。
【請求項８】
メディアに書き込まれているパターンを読み出すリード素子と、
前記メディアにパターンを書き込むライト素子と、
生成クロックのクロック周波数を変更可能なクロック生成回路と、
前記リード素子で第１トラックの各パターンの読み出しながら前記ライト素子で第２トラックに各パターンを書き込む処理において、前記第１トラックの各パターンの読み出しタイミング誤差を記憶するメモリと、
前記リード素子で前記第２トラックの各パターンを読み出し、その予め得た遅延時間後に前記ライト素子で第３トラックに各パターンを書き込む処理において、第２トラックの各パターンのターゲット時刻を前記第１トラックにおける前記第２トラック書き込み時のタイミング誤差を使用して補正し、前記第２トラックの各パターンの読み出し時刻とその補正されたターゲット時刻との差分を使用してクロック周波数を決定するコントローラと、
を備えるデータ記憶装置。
【請求項９】
前記ライト素子は、前記第１トラックの各パターンの読み出し時刻とそのターゲット時刻との差分を使用して変調されたクロック周波数において、基準となる前記第１トラックの各パターンを読み出してから予め得た遅延時間後に、前記第２トラックに各パターンを書き込み、
前記コントローラは、前記第２トラックの各パターンのターゲット時刻の補正値を、そのパターンの書き込み基準となる第１トラックのパターン及びその隣接パターンを含む前記第１のトラックの一部のパターンの前記第２トラック書き込み時のタイミング誤差から算出する、
請求項８に記載の装置。
【請求項１０】
前記補正値を算出するための複数パターンは、前記基準となるパターンの直前の連続複数パターンを含む請求項９に記載の装置。
【請求項１１】
前記補正値を算出するための複数パターンは、前記基準となるパターンの直前及び直後の連続複数パターンを含む、請求項１０に記載の装置。
【請求項１２】
前記ターゲット時刻の補正値は以下の数式に従う、
Tcorr_2[k] = ΣHj * Tes_1[k−j] 
（k−L≦j≦k+M：引数としてjがj＜0になる場合Nを加え、N≦jの場合Nを引く)
Tes_1[k] = Tmeas_1 [k]−(Ttarget_1[k]-Tcorr_1[k])
Tcorr_2[k]は第２トラックのｋ番目パターンのターゲット時刻補正値、
Ｈｊは設計によって決定された係数、
Ｎはトラックにおけるパターン数、
Ｌ、Ｍは設計値としての自然数
Tmeas_1 [k]は第１トラックのｋ番目パターンの読み出し時刻、
Ttarget_1[k]は第１トラックのｋ番目パターンの規定ターゲット値、
Tcorr_1[k] は第１トラックのｋ番目パターンのターゲット時刻補正値、
請求項８に記載のデータ記憶装置。
【請求項１３】
前記クロック周波数を、各パターンの読み出し時刻とそのターゲット時刻との差分を使用したＰＩＤ制御によって変調する、請求項８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメディアにパターンを書き込む方法及びデータ記憶装置に関し、特に、回転するメディアへのパターン書き込みにおける書き込みタイミング制御に関する。
【背景技術】
【０００２】
データ記憶装置として、光ディスクや磁気テープなどの様々な態様のメディアを使用する装置が知られている。その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータ・システムにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途は、その優れた特性により益々拡大している。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックにはサーボ・データと、ユーザ・データが記憶される。薄膜素子で形成されたヘッド素子部がサーボ・データに従って所望の領域（アドレス）にアクセスすることによって、データ書き込みあるいはデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は、信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに送信される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、磁気ディスクに書き込まれる。
【０００４】
上述のように、各トラックはユーザ・データが記憶されるユーザ・データ領域とサーボ・データが記憶されるサーボ・パターン領域とを備えている。サーボ・パターン（本明細書ではこれをProduct Servo Patternと呼ぶ）は、シリンダＩＤ、セクタ番号、バースト・パターンなどから構成されている。シリンダＩＤはトラックのアドレス、セクタ番号はトラック内のセクタ・アドレスを示す。バースト・パターンはトラックに対する磁気ヘッドの相対位置情報を有している。
【０００５】
Product Servo Patternは各トラックにおいて円周方向に離間して複数セクタ形成されており、全トラックに渡る各セクタのProduct Servo Patternは、円周方向において位置（位相）が揃っている。磁気ディスクに対するデータの読み出しまたは書き込みは、磁気ディスクが回転している状態において、サーボ・データによって磁気ヘッドの位置を確認しながら実行される。
【０００６】
Product Servo Patternは、製品としてのＨＤＤが出荷される前に工場内において磁気ディスクに書き込まれる。従来の典型的なProduct Servo Patternの書き込みは、外部装置としてのサーボ・ライタを使用して行われている。ＨＤＤがサーボ・ライタにセットされ、サーボ・ライタはＨＤＤ内のヘッドをポジショナ（外部位置決め機構）によって位置決めし、Product Servo Pattern生成回路が生成したProduct Servo Patternを磁気ディスクに書き込む。
【０００７】
現在、Product Servo Patternの書き込み工程（Servo Track Write：ＳＴＷ）は、ＨＤＤの製造コストの中で主要な位置を占めている。特に近年、ＨＤＤは高容量化の競争が激化し、これに伴いＴＰＩ（Track Per Inch）の増加が進んでいる。ＴＰＩが増加する事により、トラック数は増え、トラック幅（トラックピッチ）が小さくなる、これらはＳＴＷ時間の増加及びサーボ・ライタの高精密化を進め、ＳＴＷのコスト増加の要因となっている。このコストを削減する為にサーボ・ライタのコスト削減、ＳＴＷ時間の短縮等が進められている。
【０００８】
そこで、新たな手法としてＳＳＷ（Self Servo Write）が提案されている。このＳＳＷはそれまでのＳＴＷとは異なり、ＨＤＤ本体の機械機構のみを使い、外部回路からＨＤＤ内のスピンドル・モータ（ＳＰＭ）とボイス・コイル・モータ（ＶＣＭ）をコントロールし、外部回路を用いてProduct Servo Patternを書き込む。これによって、サーボ・ライタのコスト削減を図っている。
【０００９】
ＳＳＷの手法として、ヘッド素子部のリード素子とライト素子の半径方向位置が異なる（これをリード・ライト・オフセットと呼ぶ）ことを利用して、内周側もしくは外周側にすでに書き込まれたパターンをリード素子が読み出しながら位置決めを行い、ライト素子が、リード・ライト・オフセット離れた所望のトラックに新たなパターンを書きこむものが知られている。
【００１０】
ＳＳＷにおいて、隣接サーボ・トラックの各Product Servo Patternは、円周方向の位置が正確に一致していることが必要である。Product Servo Patternが、隣接サーボ・トラック間で一部が重なるように書き込まれるので、隣接トラックのパターン間で円周方向における位相が一致していない場合、書き込まれたパターン間で信号の打ち消しが生じ、必要なパターンを書き込むことができなくなるからである。また、制御容易性の点から、各パターンは、円周方向に等間隔に書き込むことが好ましい。
【００１１】
従って、ＳＳＷにおいては、Product Servo Patternもしくはそれを書き込むための基礎となる他のパターンの書き込みにおいて、円周方向における位置、つまり書き込みタイミングを正確に制御することが要求される。なお、サーボ・ライトにおけるタイミング・パターンの伝播において、パターンの円周方向における間隔制御のために、すでに書き込まれたパターン間の間隔を使用して書き込みタイミングを修正する技術が知られている（例えば特許文献１を参照）。
【特許文献１】特開平８−２１２７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
複数のパターンを正確にトラック上に書き込むためには、精密なＳＰＭの制御を行ってその回転速度を正確に保つことが必要である。例えば、複数のパターンを等間隔で書き込む場合、ＳＰＭの回転速度を正確に保ちながら、一定のクロック周波数、クロック・カウント数で各パターンを等間隔にかきこんでいけばよい。専用の外部サーボ・ライタは、一般に、このようにＳＰＭの回転を精密に制御することができ、正確にパターンを書き込むことができる。
【００１３】
従来のＳＳＷに対して、ＨＤＤの内部回路を使用して、磁気ディスクにサーボ・パターンを自己書き込みすることが考えられる。ＨＤＤの内部回路が自己完結的にサーボ・パターンの自己書き込みを実行することによって専用のサーボ・ライタが不要となり、多額の設備投資をする必要がなくなる。
【００１４】
しかしながら、このように通常のＨＤＤが、それ自身の機構・回路でＳＳＷを行う場合、専用の外部サーボ・ライタのようにＳＰＭの回転を精密に制御することは困難であり、磁気ディスクの回転速度のふらつき（回転ジッタ）が存在する。そのため、一定のクロックに従ってパターンを磁気ディスクに書き込むと、パターン間隔にばらつきが発生し、同一トラックにおいて等間隔にパターンを書き込むことができない、あるいは、パターン間隔の等・不等にかかわらず、隣接トラックのパターン間において位相ずれが発生してしまう。更に、時間間隔の測定の雑音に誤差や、クロック自体のジッタ誤差等の存在も位相ずれの原因となる。
【００１５】
本発明は上述のような事情を背景としてなされたものであって、自己パターン書き込みにおいてメディアの回転ジッタや各種信号雑音等の影響を抑制し、より正確なタイミングで新たなパターンを書き込むことを目的とする。
【課題を解決するための手段】
【００１６】
本発明の第１の態様は、回転するメディア上において、リード素子でパターンを読み出しながら、半径位置の異なるライト素子で新たなパターンを書き込む方法であって、回転するメディアの第１トラックに複数のパターンを書き込み、前記第１トラックの各パターンの読み出し時刻とそのターゲット時刻との差分を使用してクロック周波数を変調しながら、基準となる第１トラックの各パターンを読み出してから予め求めた遅延時間後に、第２トラックに各パターンを書き込み、前記第２トラックへのパターン書き込みにおいて、前記第１トラックの各パターンのタイミング誤差を記憶し、前記第２トラックの各パターンのターゲット時刻を前記第１トラックにおけるタイミング誤差を使用して補正し、前記第２トラックの各パターンの読み出し時刻とその補正されたターゲット時刻との差分を使用してクロック周波数を変調しながら、各パターンを読み出してから予め求めた遅延時間後に第３トラックに各パターンを書き込むものである。前記第２トラックの各パターンのターゲット時刻を前記第１トラックにおけるタイミング誤差を使用して補正することによって、メディアの回転ジッタやその他信号雑音等に起因する各パターンのタイミング誤差がトラック間で伝播することを抑制することができる。なお、周波数を制御されたクロックを用いた時間測定及び遅延時間の設定においては、個々のクロック時間をアナログ的又はデジタル的な手法でさらに細かく補間した精度の高い時間を用いることを含む。この点は、課題を解決するための手段における以下に記載において同様である。
【００１７】
本発明の第２の態様は、上記第１の態様において、前記第２トラックの各パターンのターゲット時刻の補正値を、そのパターンの書き込み基準となる第１トラックのパターンを含む前記第１のトラックの一部の複数パターンの前記第２トラック書き込み時のタイミング誤差から算出するものである。これによって、タイミング誤差の伝播累積を抑制しながら、効率的処理を実現することができる。
【００１８】
本発明の第３の態様は、上記第２の態様において、前記補正値を算出するための複数パターンは、前記基準となるパターンの直前の連続複数パターンを含むものである。これによって、タイミング誤差の伝播累積をより効果的に抑制しながら、効率的処理を実現することができる。
【００１９】
本発明の第４の態様は、上記第２の態様において、前記補正値を算出するための複数パターンは、前記基準となるパターンの直前及び直後の連続複数パターンを含むものである。これによって、タイミング誤差の伝播累積をより効果的に抑制しながら、効率的処理を実現することができる。
【００２０】
本発明の第５の態様は、上記第１の態様において、前記第２トラックの各パターンのターゲット値の補正値を、前記第１トラックにおける複数パターンのタイミング誤差の積和演算によって算出するものである。これによって、効率的な演算処理でタイミング誤差の伝播累積を抑制することができる。
【００２１】
本発明の第６の態様は、上記第１の態様において、前記クロック周波数を、各パターンの読み出し時刻とそのターゲット時刻との差分を使用したＰＩＤ制御によって変調するものである。これによって、メディアの回転ジッタの影響を効果的に抑制することができる。
【００２２】
本発明の第７の態様は、上記第１の態様において、前記ターゲット時刻の補正値は以下の数式に従う、Tcorr_2[k] = ΣHj * Tes_1[k−j] （k−L≦j≦k+M：引数としてjがj＜0になる場合Nを加え、N≦jの場合Nを引く)、Tes_1[k] = Tmeas_1[k]−(Ttarget_1[k]- Tcorr_1[k])。ここで、Tcorr_2[k]は第２トラックのｋ番目パターンのターゲット時刻補正値、Ｈｊは設計によって決定された係数、Ｎはトラックにおけるパターン数、Ｌ、Ｍは設計値としての自然数、Tmeas_1 [k]は第１トラックのｋ番目パターンの読み出し時刻、Ttarget_1[k]は第１トラックのｋ番目パターンの規定ターゲット値、Tcorr_1[k] は第１トラックのｋ番目パターンのターゲット時刻補正値である。これによって、効率的な演算処理でタイミング誤差の伝播累積を抑制することができる。
【００２３】
本発明の第８の態様に係るデータ記憶装置は、メディアに書き込まれているパターンを読み出すリード素子と、前記メディアにパターンを書き込むライト素子と、生成クロックのクロック周波数を変更可能なクロック生成回路と、前記リード素子で第１トラックの各パターンの読み出しながら前記ライト素子で第２トラックに各パターンを書き込む処理において、前記第１トラックの各パターンの読み出しタイミング誤差を記憶するメモリと、前記リード素子で前記第２トラックの各パターンを読み出し、その予め求めた遅延時間後に前記ライト素子で第３トラックに各パターンを書き込む処理において、第２トラックの各パターンのターゲット時刻を前記第１トラックにおける前記第２トラック書き込み時のタイミング誤差を使用して補正し、前記第２トラックの各パターンの読み出し時刻とその補正されたターゲット時刻との差分を使用してクロック周波数を決定するコントローラを備えるものである。前記第２トラックの各パターンのターゲット時刻を前記第１トラックにおけるタイミング誤差を使用して補正することによって、メディアの回転ジッタその他信号雑音等に起因する各パターンのタイミング誤差がトラック間で伝播することを抑制することができる。
【００２４】
本発明の第９の態様は、上記第８の態様のデータ記憶装置において、前記ライト素子は、前記第１トラックの各パターンの読み出し時刻とそのターゲット時刻との差分を使用して変調されたクロック周波数において、基準となる前記第１トラックの各パターンを読み出してから予め求めた遅延時間後に、前記第２トラックに各パターンを書き込み、前記コントローラは、前記第２トラックの各パターンのターゲット時刻の補正値を、そのパターンの書き込み基準となる第１トラックのパターン及びその隣接パターンを含む前記第１のトラックの一部のパターンの前記第２トラック書き込み時のタイミング誤差から算出するものである。これによって、タイミング誤差の伝播累積を抑制しながら、効率的処理を実現することができる。
【００２５】
本発明の第１０の態様は、上記第９の態様のデータ記憶装置において、前記補正値を算出するための複数パターンは、前記基準となるパターンの直前の連続複数パターンを含むものである。これによって、効率的な演算処理でタイミング誤差の伝播累積を抑制することができる。
【００２６】
本発明の第１１の態様は、上記第１０の態様のデータ記憶装置において、前記補正値を算出するための複数パターンは、前記基準となるパターンの直前及び直後の連続複数パターンを含むものである。これによって、タイミング誤差の伝播累積をより効果的に抑制しながら、効率的処理を実現することができる。
【００２７】
本発明の第１２の態様は、上記第８の態様のデータ記憶装置において、前記ターゲット時刻の補正値は以下の数式に従う、Tcorr_2[k] = ΣHj * Tes_1[k−j]  （k−L≦j≦k+M：引数としてjがj＜0になる場合Nを加え、N≦jの場合Nを引く)、Tes_1[k] = Tmeas_1 [k]−(Ttarget_1[k]-Tcorr_1[k])。ここで、Tcorr_2[k]は第２トラックのｋ番目パターンのターゲット時刻補正値、Ｈｊは設計によって決定された係数、Ｎはトラックにおけるパターン数、Ｌ、Ｍは設計値としての自然数、Tmeas_1 [k]は第１トラックのｋ番目パターンの読み出し時刻、Ttarget_1[k]は第１トラックのｋ番目パターンの規定ターゲット値、Tcorr_1[k] は第１トラックのｋ番目パターンのターゲット時刻補正値である。これによって、効率的な演算処理でタイミング誤差の伝播累積を抑制することができる。
【００２８】
本発明の第１３の態様は、上記第８の態様のデータ記憶装置において、前記クロック周波数を、各パターンの読み出し時刻とそのターゲット時刻との差分を使用したＰＩＤ制御によって変調するものである。これによって、メディアの回転ジッタの影響を効果的に抑制することができる。
ここで、前記の態様における、周波数を制御されたクロックを用いた時間測定及び遅延時間の設定においては、個々のクロック時間をアナログ的又はデジタル的な手法でさらに細かく補間した精度の高い時間を用いることを含む。
【発明の効果】
【００２９】
本発明によれば、回転するメディアへのパターン自己書き込みにおいて、その回転ジッタの影響を抑制し、より正確なタイミングでパターンを書き込むことができる。
【発明を実施するための最良の形態】
【００３０】
以下に、本発明の好ましい実施の形態を、図面を参照しながら詳細に説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００３１】
本実施形態は、データ記憶装置におけるメディアへの自己パターン書き込み、つまり、自らメディアに書き込んだパターンを基準として新たなパターンを書き進む処理に関する。特に、自己パターン書き込みにおける書き込みタイミング制御に関する。本形態においては、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）における、サーボ・パターンの自己書き込み処理を例として、本発明を説明する。
【００３２】
ＨＤＤにおいて、その内部機構を使用してサーボ・パターンを書き込む自己サーボ書き込み（Self Servo Write（ＳＳＷ））が知られている。好ましい実施形態のＨＤＤにおいて、従来のＳＳＷにおいて外部回路が行っていた機能が、製品カード（完成品としてのＨＤＤの各ＩＣが実装されている基板）上の内部回路自体に組み込まれている。これによって、ＨＤＤは、外部装置としてのサーボ・ライタ装置に直接的に依存することなく、実質的に内部構成のみによって磁気ディスクへのサーボ・パターン書き込み処理を実行することができる。ＨＤＤは、外部の制御装置からのスタート信号に応答して内部回路に実装された機能によってサーボ・パターンを磁気ディスクに書き込む。
【００３３】
そこで、本形態におけるＳＳＷの処理について説明する前に、本形態のＳＳＷを実行するＨＤＤの全体構成について、その概略を説明する。図１は、ＨＤＤ１の概略構成を示すブロック図である。ＨＤＤ１は、密閉されたエンクロージャ１０内に、メディア（記録媒体）の一例である磁気ディスク１１、ヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を備えている。
【００３４】
ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（Ｒ／Ｗチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３及びＲＡＭ２４などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００３５】
外部ホスト５１からのライト・データは、ＨＤＣ／ＭＰＵ２３によって受信され、Ｒ／Ｗチャネル２１、ＡＥ１３を介して、ヘッド素子部１２によって、不揮発性の記録媒体である磁気ディスク１１に書き込まれる。また、磁気ディスク１１に記憶されているリード・データはヘッド素子部１２によって読み出され、そのリード・データは、ＡＥ１３、Ｒ／Ｗチャネル２１を介して、ＨＤＣ／ＭＰＵ２３から外部ホスト５１に出力される。
【００３６】
磁気ディスク１１は、ＳＰＭ１４に固定されている。ＳＰＭ１４は所定の速度で磁気ディスク１１を回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部１２が設けられている。
【００３７】
各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダはアクチュエータ１６に固定されている。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に揺動することによって、ヘッド素子部１２（及びスライダ）を磁気ディスク１１上において半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データ（ＤＡＣＯＵＴ）に従ってＶＣＭ１５を駆動する。
【００３８】
ヘッド素子部１２には、磁気ディスク１１への記録データに応じて電気信号を磁界に変換するライト素子、及び磁気ディスク１１からの磁界を電気信号に変換するリード素子を備えている。この点については後述する。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。
【００３９】
ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅し、Ｒ／Ｗチャネル２１に送る。また、Ｒ／Ｗチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。ＳＳＷにおいては、ＡＥ１３は選択したヘッド素子部１２が読み出したサーボ信号をＲ／Ｗチャネル２１に転送し、全てのヘッド素子部１２に対してＲ／Ｗチャネル２１からのライト・データ（サーボ・データ）を転送する。
【００４０】
Ｒ／Ｗチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。また、リード処理において、Ｒ／Ｗチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。リード・データは、ＨＤＣ／ＭＰＵ２３に供給される。Ｒ／Ｗチャネル２１はクロック生成回路２１１を備え、ＳＳＷのタイミング制御は、Ｒ／Ｗチャネル２１のクロック生成回路２１１が生成するクロック信号に従って実行される。さらに、本形態のＲ／Ｗチャネル２１は、ＨＤＣ／ＭＰＵ２３からの要求に従って、クロック生成回路２１１はクロック周波数を変更（周波数変調）することができる。この点については後述する。
【００４１】
ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたマイクロコードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロコードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ（不図示）からロードされる。ＨＤＣ／ＭＰＵ２３は、サーボ・データを使用したヘッド素子部１２のポジショニング制御、インターフェース制御などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。ＳＳＷは、ＨＤＣ／ＭＰＵ２３の制御の下において実行される。
【００４２】
図２は、ＳＳＷの手法を概略的に示している。ＳＳＷは、内周（ＩＤ）側もしくは外周（ＯＤ）側サーボ・トラック（ＴＯ）に書き込まれているパターン（ＰＯ）をヘッド素子部１２内のリード素子１２１で読み出しながら、外周側もしくは内周側サーボ・トラック（ＴＮ）に配置されたヘッド素子部１２内のライト素子１２２で新たなパターン（ＰＮ）を書き込む。つまり、リード素子１２１が基準トラックＴＯの各セクタのサーボ・パターンをフォロしながら、各セクタの検出から所定タイミング後にライト素子１２２がトラックＴＮに新たなサーボ・パターンＰＮを書きこむ。ヘッド素子部１２を外周側もしくは内周側に順次移動させながらパターンを書き進めることによって、磁気ディスク１１全面にサーボ・パターンを書き込むことができる。
【００４３】
さらに、図２はリード素子１２１とライト素子１２２の位置関係を示している。リード・ライト・オフセット（RW_Offset）は、リード素子１２１とライト素子１２２との間の半径方向における距離である。具体的には、リード素子１２１とライト素子１２２の各センター間の、磁気ディスク１１の半径方向における距離である。リード・ライト・オフセットはヘッド素子部１２の半径方向の位置によって変化する。ヘッド素子部１２において、最もＩＤ側から最もＯＤ側のトラック位置においてリード・ライト・オフセットが存在するようにすることが可能である。これによって、内周側に書き込んだパターンを読み出してヘッド素子部１２の位置合わせを行い、最もＯＤ側のトラックまでパターンを書き込むことができる。
【００４４】
このように、ＳＳＷでは、自分で書いたパターンを参照し、その信号から得られる時間的、空間的情報を使用して、時間的（周方向におけるタイミング制御）、空間的（半径方向における位置制御）な制御を行いながら、リード・ライト・オフセットだけ半径方向にずれた位置に、次のパターンを書き込む方法である。
【００４５】
以降の説明において、リード素子１２１がライト素子１２２よりも磁気ディスク１１の内周（ＩＤ）側に配置されているものとする。内周側からパターンを書き込むことによって、ライト素子１２２により先に書き込まれたパターンをリード素子１２１が読み取ることができる。これによって、リード素子１２１が読み取ったパターンによってヘッド素子部１２の位置合わせを行いながら、ライト素子１２２が新たなパターンの書き込みを行うことができる。尚、リード／ライト素子１２１、１２２の位置を変更することによって、磁気ディスク１１の外側からＳＳＷを開始することも可能である。
【００４６】
ＳＳＷは、いつかのシーケンスから構成されている。磁気ディスク１１上には、最終的にユーザ・データのリード／ライトのための最終的なサーボ・パターン（Product Servo Pattern）が全面に書きこまれる。その書き込みのために、磁気ディスク１１上のProduct Servo Patternを使用してProduct Servo Patternを書き進めるシーケンス（Product Servo Patternの自己伝播）の他に、初期シーケンスにおいて、他のタイプ（もしくはProduct Servo Patternと同一フォーマット）のパターンを使用してProduct Servo Patternを書き込む。以下において、初期シーケンスにおいて、不等間隔の基準パターンを使用して、等間隔の新たなパターンを書き込む処理について説明する。
【００４７】
ＳＳＷプロセスの初期シーケンスにおいて、アクチュエータ１６をクラッシュ・ストップ（Crash Stop）（不図示）に突き当ててヘッド素子部１２の半径方向の位置を安定に保ち、初期パターンを確立する。クラッシュ・ストップとは、アクチュエータ１６と衝突することによってその回動方向における移動を規制する部材であって、アクチュエータ１６に対して内周側と外周側の双方に配置されている。典型的に、クラッシュ・ストップは樹脂によって形成する。アクチュエータ１６をクラッシュ・ストップにつきあてた状態でヘッド素子部１２の位置を変えるには、ＶＣＭ１５電流の値を調整する。
【００４８】
また、自己パターン書き込みにおけるタイミング制御においてもＨＤＤ１が本来的に備えている機能を使用する。ＨＤＤ１は、Product Servo Patternにおけるサーボ・アドレス・マーク（ＳＡＭ）あるいは、ユーザ・データ・セクタにおけるデータ・アドレス・マーク（ＤＡＭ）をタイミング信号として使用することができる。具体的には、Ｒ／Ｗチャネル２１は、ＳＡＭもしくはＤＡＭを検出するとその時刻を計時する、または、前のＳＡＭもしくはＤＡＭからの時間を測定する。この測定値は通常ＨＤＣ／ＭＰＵ２３に転送され、これをもとにしたクロック周波数制御のための計算が行われる。あるいはＳＡＭ検出信号もしくはＤＡＭ検出信号をＨＤＣ／ＭＰＵ２３に出力し、ＨＤＣ／ＭＰＵ２３はその信号によってパターンのタイミング測定及びそれを使用したクロック周波数制御のための計算を実行してもよい。計算されたクロック周波数制御量はＲ／Ｗチャネル２１にもどされクロック周波数の制御が行われる。
【００４９】
図３（ａ）に示すように、サーボ・パターンは、プリアンブル（PREAMBLE）、ＳＡＭ、グレイ・コードからなるトラックＩＤ（GRAY）、サーボ・セクタ・ナンバ（PHSN）（オプショナル）及びバースト・パターン（BURST）から構成されている。ＳＡＭは、トラックＩＤ等の実際の情報が始まることを示す部分で、通常ＳＡＭが見つかったときに出てくるタイミング信号であるＳＡＭ信号が磁気ディスク１１上に書き込まれた位置と正確な相関をもっている。また、バースト・パターン（BURST）はトラックＩＤで示されるトラックの更に精密な位置を示す信号で、この例ではトラックごとに周回上に位置を少し違えたところに千鳥上に書かれたＡ、Ｂ、Ｃ、Ｄの4つの振幅信号を備える。これらの各バーストはプリアンブル（PREAMBLE）と同じ周期の単一周波数信号である。
【００５０】
あるいは図３（ｂ）に示すように、ユーザ・データ・セクタ・フォーマットは、典型的には、プリアンブル（PREAMBLE）、ＤＡＭ、ユーザ・データ（USER DATA）及びＥＣＣ（Error Correction Code）を備えている。ＤＡＭはユーザ・データの始まりを示すデータであり、ＳＡＭと同様に、磁気ディスク１１上に書き込まれた位置と正確な相関をもっている。
【００５１】
Product Servo Patternのセクタ間隔は、トラック上において等間隔であることが望ましい。上述のように、ＳＳＷではすでに書かれたパターンにしたがって、その後のパターンを書き込む。したがって、初期のシーケンスで書き込んだパターンの間隔がそのまま最後まで継承されていく。そこで初期のシーケンスにおいて、周上で等間隔のパターンを書き込むことが望ましい。
【００５２】
ここで、複数のパターンを正確に周上に等間隔に書き込むためには、ＳＰＭ１４の精密制御により回転速度を正確に保ち、この状態で一定のクロックでパターンを等間隔に書き込んでいけばよい。専用のサーボ・ライタではＳＰＭ１４の回転を精密に制御することができる。しかしながら、ＨＤＤ１が自身の機構・回路でＳＳＷを行う場合に、そのような制御は困難であり、ある程度の回転速度のふらつきが存在する。
【００５３】
本実施形態では、クロック周波数を調整することができるＲ／Ｗチャネル２１を用いて、ＳＳＷにおける初期パターンを等間隔に書く方法を開示する。具体的には、図６に示すように、不等間隔で書き込まれた内周側トラックの複数セクタ・パターンPOを基準として、外周側に各間隔が規定値（目標値）に合致した、等間隔のパターンＰＥを書き込む。
【００５４】
外側トラックにおける各パターンＰＥは、内周側トラックの各基準パターンPOを検出してから、所定のタイミング後に書き込まれる。より詳細に述べれば、外周側パターンPEは、各基準パターンPOを検出してからセクタ毎に決定される遅延時間（Delay[k]）後に書き込まれる。このとき、ＳＰＭ１４の回転ジッタに同期してクロック周波数（ｆ[k]）を各セクタにおいて変化させる。クロック周波数の変調方法は、内周側トラックの各基準パターンPOの実際の読み出しタイミングとターゲット値との間の差分を使用したＰＩＤ制御で行う。
【００５５】
具体的処理について説明する。なお、以下における各処理は、ＨＤＣ／ＭＰＵ２３が他の各要素を利用しながら実行する。最初に、処理の全体について、図４のフロー・チャートを参照して説明する。まず、内周側トラックに、Ｎセクタの各パターンをデフォルト・クロック周波数、デフォルト・クロック数（各パターン間の書き込み間隔クロック数）で基準パターンを書き込む（Ｓ１１）。
【００５６】
その後、リード素子１２１を内周側トラックに合わせ各基準パターンを複数回読み出してその間隔を測定し、各セクタ間の間隔の平均値を決定する（Ｓ１２）。この値を使用して、外周側に等間隔の新たなパターンを書き込むときの、各セクタにおけるターゲット値を算出する。
【００５７】
次に、内周側トラックの各基準パターンを読み出しながら、外周側に新しいパターンをコピーする（Ｓ１３）。各外周側パターンは、内周側トラックの各基準パターンを検出したタイミングから、変調されたクロック周波数で、セクタ毎に算出された遅延時間後に書き込む。このクロック周波数の変化は、上述のように、ターゲット値と実際の基準パターンの読み出しタイミングとの差分を使用したＰＩＤ制御に従う。
【００５８】
各処理について、詳細に説明する。Ｓ１１において、内周側トラックに、Ｎセクタのパターンを書き込む。図５に示すように、各パターンは、インデックス（Index）信号を基準として、任意に選択されたデフォルト・クロック周波数ｆ0において、デフォルト・クロック数間隔で書き込まれる。ここでIndexは、スピンドル・モータ１４を駆動するモータ・ドライバ・ユニット２２がＳＰＭ１４の逆起電力に応じて生成する信号であって、ＳＰＭ１４の回転周期によって規定される。各パターンのセクタ番号は、Indexを基準として順に付されている。各パターンは同一フォーマットであって、ＳＡＭもしくはＤＡＭに相当するデータ・エリアを備えている。これによって、ＨＤＣ／ＭＰＵ２３は、各パターンの検出タイミングを決定することができる。
【００５９】
ここで、最後に書いたSector[N−1]と、最初に書いたSector[0]との間の間隔は、他のセクタ間隔と大きく異なる値となりうる。これは、ＳＰＭ１４の回転速度が、Ｎ個のセクタ・パターンを書き込んでいる最中に変化しうる（ジッタ）ことに起因する。セクタ間隔は、他の（Ｎ−１）のセクタ間隔毎にわずかずつ異なりうるが、そのずれの総和が最後のセクタ間隔に現れるため、（Sector[N−1]−Sector[0]）間隔は大きく変化しうる。以下のステップによって、この大きくセクタ間隔の変化する複数の基準パターンから、各パターンがターゲット位置に一致し、また、各セクタ間隔が等間隔の新たな複数パターン（Ｎ個のパターン）を外周側トラックに書き込む。
【００６０】
次に、Ｓ１２において、デフォルトの決まったクロック周波数で、POの時間間隔を多数周回読んで平均する。このとき、デフォルト・クロック周波数は特に限定されないが、処理の効率化などの点から、最初に不等分に書かれたパターンPOを書いたときのクロック周波数ｆ0を使用する。つまり、ＨＤＣ／ＭＰＵ２３は、図６に示すようにリード素子１２１を内周側トラックTOに位置決めし、各パターンPOを読み出す。さらに、各パターンPOの読み出しタイミングを測定し、各パターンPO間の間隔を決定する。
【００６１】
ＨＤＣ／ＭＰＵ２３は、パターン間隔の測定を複数回繰り返し、各パターン間隔の単純平均値を算出する。例えば、６４周回の測定を繰り返す。POの時間間隔の測定においても、ＳＰＭ１４の回転ジッタが存在するために、測定回毎に測定値は異なるものとなる。複数の測定を行い、その測定値を平均化することによって、PO時間間隔測定におけるＳＰＭ１４の回転ジッタの影響を抑制することができる。ここで、パターンPO[k]からパターンPO[k+1]までの平均の時間をTavg[k]とする。Tavg[N−1]はパターンPO[N−1]からパターンPO[0]までの平均時間である。平均時間の一周分の時間Ttotalは、
Ttotal = Tavg[0] + Tavg[1] + ．．． + Tavg[N−1]
と表すことができる。これは、デフォルトのクロック周波数ｆ0で測定した時間（クロック・カウント数）である。
【００６２】
次に、ＨＤＣ／ＭＰＵ２３は、ある整数Ｍに対して、Ｎ×ＭがTtotalに最も近くなるような整数を求める。このＭに対して、
(N x M)/Ttotal = 1+ C_factor 
と定義する。なお、クロック周波数変更の度合いを小さくするため、整数Ｍは、このように決定することが好ましいが、クロック生成回路２１１のクロック周波数変更可能範囲にあれば、上記数値に限定されない。
【００６３】
ここで、クロック生成回路２１１は、上述のように、ＨＤＣ／ＭＰＵ２３からの指示に従って精密にクロック周波数を変えることができる。ＨＤＣ／ＭＰＵ２３は、クロック生成回路２１１のクロック周波数を、C_factor分だけ変更するように指示する。つまり、デフォルト周波数がf0であるので、あらたな周波数ｆ1は、（1+C_factor）*f0と表すことができる。このC_factorは、０近辺の正負の数となる。
【００６４】
整数Ｍと周波数ｆ1を使用することによって、トラック１周をＮ個に等分割することができる。つまり、外周側に新たに書き込むパターンPEの等しいパターン間隔（ターゲットとなるパターン間隔）を決定することができる。デフォルト周波数ｆ0では、１周のカウント数がNの倍数でない場合に、端数の存在によって全てのパターン間隔と等しく決定することができない。そのため、ＳＰＭ１４の回転ジッタを排除したTtotalを使用して、トラック１周を等しくＮ分割するクロック周波数ｆ1及び各間隔のカウント数Ｍを決定する。
【００６５】
さらに、C_factorだけ周波数を変更した状態で、つまり、クロック周波数ｆ1のクロックを使用して、ＨＤＣ／ＭＰＵ２３は再度Ｎ個のパターンPOの時間間隔（セクタ・パターン間のクロック・カウント数）を測定する。同様に、ＳＰＭ１４の回転ジッタの影響を避けるため、多数周回測定した値の単純平均値を計算する。パターンPO[k]からパターンPO[k+1]までの平均の時間をDavg[k]と表す。なお、ここは必ずしもクロック・カウントではなく更に補完された高い精度の数でもよい。
【００６６】
Davg[N−1]はパターンPO[N−1]からパターンPO[0]までの平均クロック・カウント数とする。ここで、十分な回数の平均をとれば、
N x M = Davg[0] + Davg[1] + ．．． + Davg[N−1]
となる。
【００６７】
この状況で、ＨＤＣ／ＭＰＵ２３は、セクタｋ（Sector[k]）のターゲット時刻Dtarget[k]として、
Dtarget[k]=Davg[0]+Davg[1]+．．．+Davg[k−1]
を算出する。
【００６８】
つまり、ターゲット時刻Dtargetは、外周側にパターンPEを書き込む処理における、内周側の各パターンPOの読み出し時刻のターゲット値である。例えば、外周側のパターンPE[k]は、内周側パターンPO[k]を読み出した後の所定タイミングで書き込むが、そのパターンPO[k]の読み出し時刻のターゲット値が、Dtarget[k]となる。Dtarget[k]は、セクタ０のパターンから、そのセクタｋまでの各パターン間の時間間隔の平均値の和であることから、ＳＰＭ１４の回転ジッタがない場合（ジッタの影響を排除した場合）におけるパターンPO[k]の検出時刻に相当する。もちろん、検出時刻の基準はパターンPO[0]の検出タイミングである。
【００６９】
続いて、Ｓ１３に示すように、内周側パターンPOを基準として、外周側パターンPEを書き込む。内周側パターンPO[k]を読み出したタイミングから計算で求められた遅延時間（Delay[k]）後に、外周側パターンPE[k]を書き込む。内周側パターンPOの間隔は等しくないため、外周側パターンＰＥを等間隔（クロック周波数ｆ1におけるカウント数Ｍ：Ｍ＠ｆ1）で書き込むため、Count[k]はセクタ毎に決定され、次の式で表される、
Delay[k] = Delay[0] + kM-(Davg[0]+．．．+ Davg[k−1])
Delay[0]は設計によって決定される規定値である。
【００７０】
ＳＰＭ１４の回転ジッタが存在しなければ、クロック周波数をｆ1に固定し、各パターンPO[k]を検出したタイミングから、Delay[k]の遅延時間後に外周側パターンPE[k]を書き込むことによって、外周側トラックTEに等間隔で複数パターンPEを書き込むことができる。しかし、内周側基準パターンPOのパターン間隔測定のときと同様に、外周側に新たなパターンPEを書き込むときにも、ＳＰＭ１４の回転ジッタが存在する。このジッタの影響を補償するため、クロック周波数をＳＰＭ１４の回転ジッタに合わせて変更する。
【００７１】
具体的に説明する。クロック生成回路２１１は、ＨＤＣ／ＭＰＵ２３の制御の下、周波数ｆ[k]をセクタ毎に変化させる。各内周側パターンPOの実際の検出時刻をDstampで表す。例えば、セクタｋのパターンPO[k]の実際の検出時刻はDstamp[k]である。Dstamp[k]がDtarget[k]になるような周波数調整C_factor[k]をクロック周波数ｆ[k]において行う。
【００７２】
このときのクロック周波数のフィードバックは、以下の式で表される、
Derror[k] = Dstamp[k]−Dtarget[k]
Sumerror = Sumerror＋Derror[k]
C_factor[k] = kp * Derror[k] + ki * Sumerror + kd * (Derror[k]−Derror[k−1])
さらに、セクタｋにおけるクロック周波数f[k]は、
f[k] = (1 + C_factor[k]) * ｆ1
である。
【００７３】
この数式からわかるように、周波数の調整ファクタC_factor[k]を、内周側基準パターンPOのターゲット時刻Dtargetと、その測定時刻Dstampとの間の差分によるＰＩＤ制御によって決定する。つまり、パターンPO[k]の実際の検出時刻Dstamp[k]とターゲット時刻Dtarget[k]との差分Derror[k]（比例成分）、現在までのDerrorの和（積分成分）、そしてｋセクタと（ｋ−１）セクタとの間のDerrorの差（微分成分）を変数とする関数として、周波数変更ファクタC_factor[k]が表される。各変数に係る係数kp、ki及びkdは、製品毎に適切な値が設計によって設定される。このように、各セクタにおいてクロック周波数をＰＩＤ制御によって修正することによってＳＰＭ１４の回転ジッタが補償され、実際の内周側パターンPOでの各セクタ検出時刻Dstamp[k]は、Dtarget[k]に近い値を示す。
【００７４】
高速なＰＩＤ制御が可能である場合、図６に示すように、外周側トラックTEの各パターンPE[k]の書き込みタイミングは、クロック周波数f[k]のクロックを使用して決定される（Delay[k]@f[k]）。一方、ＰＩＤ制御にある程度の時間が必要とされる場合、クロック周波数f[k]は、PE[k]より後ろのパターンでの書き込み時のクロック周波数となるが、制御としてはそれで問題はない。また、外周側パターンPEの書き込みは、ＰＩＤ制御による内周側基準パターンPOの読み出し開始から複数セクタもしくは複数周回後に実行することが好ましい。つまり、ＰＩＤ制御を行いながら内周側トラックTOを複数回読み出した後に、外側トラックのパターン・セットを書き始める。読み出し始めてからしばらくは制御が安定していない場合もあるため、実際の値がターゲット値からずれてしまうからである。
【００７５】
図７は、上述のＰＩＤ制御に従って１６８セクタのパターンを書き込む例を示している。ＰＩＤ制御を行いながら同一トラックのパターンを複数周回読み出した場合の、検出時刻とターゲット時刻との関係を示している。図７のグラフにおいて、Ｘ軸はセクタ・カウント数であり、１６８セクタで１周である。つまり、図においては約２．５周分の測定結果が示されている。Ｙ軸は時刻を示している。図７に示すように、最初は通常の制御に見られるようにターゲット時刻からのずれが見られるが、１０セクタ程度経過したところで収束して、パターン検出時刻がターゲット時刻をなぞるようにクロック周波数が制御されていることがわかる。このように、ＰＩＤ制御で、セクタごとにC_factor[k]分の調整をクロック周波数にかけることによって、ＳＰＭ１４の回転ジッタが存在してもPOの各セクタでは同じ時刻を刻む制御ができる。
【００７６】
クロック周波数の変更は、上述のようにＰＩＤ制御に従うことが好ましいが、ＰＩ制御あるいは他の制御を使用してクロック周波数を変更することができる。例えば、以下の数式で表す調整成分C_factor[k]を使用して、クロック周波数を調整する。
1+C_factor[k] = (Dstamp[k]−Dstamp[k−L]) / (Dtarget[k]−Dtarget[k−L])
Lは、設計によって決められる自然数であって、例えば１０もしくは２０などを選択することができる。また、上述の例においては、磁気ディスク１１の回転ジッタを取り除くため、複数測定値の単純平均を使用しているが、特定の測定値に重みをかけるなど、他の演算方法を使用することも可能である。
【００７７】
あるいは、上述の例は、不等間隔の基準パターン・セットを使用して、等間隔のパターン・セットを新たに書き込むが、上述のクロック周波数制御によって、等間隔の基準パターン・セットから、等間隔のパターン・セットを書き込むことも可能である。例えば、Product Servo Patternの自己伝播シーケンス（Product Servo Patternを基準にProduct Servo Patternを書き込む処理）において、上述の制御方法を使用することができる。この場合、基準パターンを読み出した後に新たなパターンを書き込むまでのクロック・カウント数（遅延時間）は、全てのセクタで同一となる。
【００７８】
Product Servo Patternの自己伝播シーケンスにおいては、セクタの間隔をR／Wチャネル２１のクロックで測定し、その期待値とのずれを調整するようにクロック周波数を調整することで、クロックを常にＳＰＭ１４の回転ジッタに同期させる。クロックがＳＰＭ１４の回転に同期した状態でこのクロックをもとに次のパターンを書き込むことで位相のそろったProduct Servo Patternを書き込むことができる。
【００７９】
上記実施形態において、内周側トラックの基準パターンPOを使用して、ＰＩＤ制御によりクロック周波数を変化させながら、外周側トラックに新たなパターンPEを書き込む例を説明した。以下においては、新たに書き込まれたパターンを使用しながら、さらに外側にパターンを書き進めていくシーケンスについて説明する。以下の制御は、Product Servo Patternの自己伝播シーケンスにおいて、特に有用である。
【００８０】
上述のように、クロック周波数についてのＰＩＤ制御によって、新たなトラックに書き込まれるパターンを、ターゲット位置に極めて近い位置に書き込むことができる。しかし、実際に書き込まれるパターンとターゲット位置との間には、わずかな誤差（書き込みタイミングの誤差に相当）が存在する。あるいは、実際の制御においてはノイズの影響をゼロにすることはできない。また、新たなトラックに書き込まれるパターンは、基準トラックの時間制度をそのまま承継する。このため、同様の方法でパターンを外周側に書き進めていくと、各パターンの書き込みタイミングの誤差が徐々に大きくなっていく現象が見られる。
【００８１】
図８は、新たなトラックにパターンを順次書き進めていくにつれて、パターンのタイミング誤差が徐々に増大していく様子を示すグラフである。図８において、Ｘ軸はセクタ番号、Ｙ軸がターゲット時刻と測定時刻との時間差（上述のDerror[k]に対応）を示している。X軸のセクタ番号は、トラックが増えるごとに連続的に増加している。一定セクタ数毎に書き込まれているＹ軸方向に延びる直線が１トラックの区切りを示している。このグラフから理解されるように、最初のトラックでは、１周にわたり誤差が小さい値に収まっているが、パターンの伝播を繰り返すと、つまり、新たなトラックにパターンを書き進めるにつれて誤差が増大していく。
【００８２】
本形態においては、基準トラックとその基準トラックを使用して新たに書き込まれるトラック間の誤差伝播を抑制し、パターンを書き進めることによる書き込みタイミングの誤差の増大を抑える方法を示す。具体的には、パターン書き込みのターゲット時刻を補正することによってそれを実現する。以下においては、上述の方法によって書き込まれた等間隔のパターンを使用して、外側に同様の等間隔のパターンを書き進める例を説明する。なお、以下の方法は、不等間隔パターンを書き進める場合にも適用することができることは云うまでもない。
【００８３】
図９を参照して、２段のパターン伝播を例として説明する。つまり、トラックTEに等間隔に書き込まれているパターンPEをリード素子１２１で読み出しながら、トラックTFに新たなパターンPFを書き込む。さらに、トラックTFのパターンPFをリード素子１２１で読み出しながら、トラックTGに新たなパターンPGを書き込む。各トラックにおいてパターン間は等間隔であり、各トラックにおいて各パターンが上述のようにクロック周波数ｆ1におけるＭクロック・カウント数だけ離れているとする。パターンPFの基準パターンとなるパターンPEは、例えば、上述の方法に従って不等間隔の基準パターンから等間隔に書き込まれたパターンである。なお、トラックTFとTEとの間、及びトラックTGとTFとの間はリード・ライト・オフセットに相当し、実際には、図９に記載されていない複数のトラックが存在する。
【００８４】
まず、トラックTEのパターンPEを基準パターンとして、トラックTFに新たなパターンPFを書き込む（第１のコピー）。このとき、ＳＰＭ１４の回転ジッタの影響を補償するため、クロック周波数f1をＳＰＭ１４の回転ジッタに合わせて変調しながらパターンPFを書き込む。具体的には、各内周側パターンPE[k]を読み出したタイミングから計算で求められた遅延時間Delay後に、各外周側パターンPF[k]を書き込む。Delayはパターンの書き込み方の方法によって決定される規定値である（例えばＭ／２）。
【００８５】
詳細に説明する。クロック生成回路２１１は、ＨＤＣ／ＭＰＵ２３の制御の下、周波数ｆ[k]をセクタ毎に変化させる。各内周側パターンPEの実際の検出時刻をTmeasで表す。例えば、セクタｋのパターンPE[k]の実際の検出時刻はTmeas[k]である。Tmeas[k]がTtarget[k]になるような周波数調整C_factor[k]をクロック周波数ｆ[k]において行う。
【００８６】
このときのクロック周波数変調は、以下の式で表される、
Tes[k] = Tmeas[k]−Ttarget[k]
Ttarget[k]−Ttarget[k−1] = M@ f1
Sumtes = Sumtes + Tes[k]
C_factor[k] = kp * Tes[k] + ki * Sumtes + kd * (Tes[k]−Tes[k−1])
f[k] = (1 + C_factor[k]) * f1
である。
【００８７】
上述の形態と同様に、周波数の調整ファクタC_factor[k]を、内周側基準パターンPEのターゲット時刻Ttargetと、その測定時刻Tmeasとの間の差分によるＰＩＤ制御によって決定する。本例においては、パターンPEが等間隔であるので、隣接セクタ間のターゲット時刻Ttargetの差は、上記第２式のように、クロック周波数ｆ１におけるＭカウント数（M@ f1）となる。ターゲット時刻Ttargetの基準は、例えばセクタ[０]の検出タイミングとすることができる。
【００８８】
この第１のパターン伝播において、ＨＤＣ／ＭＰＵ２３は、各セクタの基準パターンPE[k]に対応するタイミング誤差Tes_E[k]（= Tmeas[k]−Ttarget[k]）をＲＡＭ２４に記憶しておく。ＨＤＣ／ＭＰＵ２３は、この値を使用して、パターンPFを基準にパターンPGを書き込む際に、ターゲット時刻Ttargetの補正を行う。この第２のコピーについて具体的に説明する。
【００８９】
第２のパターン伝播における各セクタに対応したクロック周波数の変調は、以下の式で表される。
Tcorr[k] = ΣHj * Tes_E[k−j] 
（k-L≦j≦k+M：引数としてjがj＜0になる場合Nを加え、N≦jの場合Nを引く)
Tes[k] = Tmeas[k]−(Ttarget[k]−Tcorr[k])
Ttarget[k]−Ttarget[k−1] = M@f1
Sumtes = Sumtes + Tes[k]
C_factor[k] = kp * Tes[k] + ki * Sumtes + kd * (Tes[k]−Tes[k−1])
f[k] = (1 + C_factor[k])* f1
【００９０】
これらの関係式は、第２式においてターゲット時刻Ttarget[k]が補正されている以外は、第１のパターン伝播における関係式と同様である。つまり、トラックTFの各パターンPF[k]の読み出し時刻Tmeas[k]に応じてクロック周波数を変調するとき、ＨＤＣ／ＭＰＵ２３は、そのターゲット時刻を補正値Tcorr[k]で補正する。この補正値Tcorr[k]は、トラックTFを書き込むときのタイミング誤差の積和演算ΣHj * Tes_E[k-j]で算出される。Hjは、製品毎に設計によって決定する。積和演算ΣHj * Tes_E[k-j]はＦＩＲフィルタによって実現することができるので、ＨＤＣ／ＭＰＵ２３がそのような演算回路を具備している場合その回路を用いてマイクロコードによって効率的に演算処理することができる。
【００９１】
パターンPFの書き込みタイミングの誤差は、そのパターンを書き込む際の、その基準パターンであるパターンPEの読み取り時刻Tmeasとターゲット時刻Ttargetとの誤差が反映される。このため、パターンPFの基準パターンPEの読み取り値のタイミング誤差Tes_Eを使用してパターンPFのターゲット値を補正することで、ＳＰＭ１４の回転ジッタに起因するパターンPFの書き込み時のタイミング誤差が、パターンPGへ伝播することを抑制することができる。
【００９２】
正確な制御のためには、タイミング補正値ΣHj * Tes_E[k−j]は、ＮセクタのパターンPFを書き込むときに使用するＮセクタのパターンPEを全て使用することが好ましい。しかし、実際的な効率な制御のためには、Ｎセクタのうちの一部のセクタのタイミング誤差を使用することが好ましい。具体的には、例えば、トラックTEのセクタｋのタイミング誤差のみを使用し、他のセクタのタイミング誤差を使用することなくトラックTFセクタｋの補正値を決定することも可能である。しかし、正確な制御と効率的な制御の双方を考慮し、ΣHj * Tes_E[k−j]は、セクタｋ及びその直前及び／または直後の各連続する数セクタを含むことが好ましい。例えば、４セクタずつのタイミング誤差を使用する。また、特に、過去のセクタ、つまり、ｋセクタの前に書き込まれた数セクタのタイミング誤差を使用することは、誤差伝播の抑制に大きく寄与する。
【００９３】
各セクタ・パターンの円周方向のずれ、つまり、タイミング誤差はそのパターンの周囲パターンのタイミング誤差にも影響を及ぼす。このため、特定セクタ・パターン（例えばPG[k]）の書き込みのためのターゲット値の補正は、そのパターンの書き込みの基準となるセクタ・パターン（例えばPF[k]）のタイミング誤差（例えばTes_E[k]）に加えて、その周囲パターンの誤差（例えばTes_E[k−4]〜Tes_E[k−1]、Tes_E[k+1]〜Tes_E[k+4]）も考慮して行うことがより正確な制御の点から好ましい。
【００９４】
各パターンのタイミング誤差は、同一の回転で同一トラックに書き込まれる全ての他のパターンに影響を及ぼすため、上述のように、磁気ディスク１１の１回転で読み出される全てのパターン（Ｎセクタのパターン）のタイミング誤差を使用して補正値を決定することが正確な制御の点から好ましい。効率制御のために一部セクタのタイミング誤差のみを使用する場合、一パターンのタイミング誤差はその近傍の連続する複数パターン、特にその前のパターンの影響が大きいことから、好ましくは、上述の態様で一部の近傍パターンのタイミング誤差の積和演算から補正値を決定する。
【００９５】
トラックTGを書き込んだ後は、同様の手法によって、さらに外側に新たなパターンを書き進める。このパターンのコピーを繰り返し実行することによって、磁気ディスク１１全体にパターン、つまり、Product Servo Patternを書き込むことができる（Product Servo Patternの自己伝播）。
【００９６】
なお、パターンの自己伝播においては、磁気ディスク１１の複数回転を使用して、一つのトラックに複数グループのパターン（上記Nセクタのパターンが１グループに相当）を形成し、グループ毎にパターン・コピーを行うことがある。このような場合においては、各パターン・グループについて、上述の手法に従って制御を行うことで、トラック間のタイミング誤差伝播及びその累積を抑制することができる。
【００９７】
図１０のグラフは、上述の手法を使用してパターンを磁気ディスクに書き込んだ結果を示している。図８と同様に、Ｘ軸はセクタ番号、Ｙ軸がターゲット時刻と測定時刻との時間差を示している。グラフから理解されるように、本技術を使用することによって、図８で見られていたタイミング誤差の増大が抑制され、外側のトラックに進んでも、各トラックにおけるタイミング誤差が一定の範囲内に抑えられている。
【００９８】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記実施形態に限定されるものではない。当業者であれば、上記実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明は磁気ディスク装置に限らず、他のタイプのメディアを使用するデータ記憶装置に適用することができる。あるいは、本発明はサーボ・パターンの自己書き込みに特に有用であるが、他のパターンの自己書き込みに適用することを妨げるものではない。
【図面の簡単な説明】
【００９９】
【図１】本実施形態にかかるＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本実施形態にＳＳＷの手法を概略的に示す図である。
【図３】一般的なサーボ・データ及びユーザ・データ・セクタのデータ・フォーマットを示す図である。
【図４】本実施形態にかかる自己パターン書き込みの全体工程を示すフロー・チャートである。
【図５】本実施形態において、内周側トラックに書き込まれた不等間隔の基準パターン・セットを示す図である。
【図６】本実施形態において、ＰＩＤ制御によるクロック周波数調整を行い、読み出した内周側基準パターンを基準として、外周側に新たな等間隔パターン・セットを書き込む様子を示す図である。
【図７】本実施形態のＰＩＤ制御に従って１６８セクタのパターンを書き込む例を示している。ＰＩＤ制御を行いながら同一トラックのパターンを複数周回読み出した場合の、検出時刻とターゲット時刻との関係を示している。
【図８】トラック間の誤差累積を抑制しない場合において、新たなトラックにパターンを順次書き進めていくにつれて、パターンのタイミング誤差が徐々に増大していく様子を示すグラフである。
【図９】他の実施形態において、パターンの自己書き込みにおける２段コピーの例を模式的に示す図である。
【図１０】他の実施形態のパターン書き込みタイミング制御を使用してパターン・コピーを続けた場合の、各トラックにおけるタイミング誤差を示すグラフである。
【符号の説明】
【０１００】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド素子部、１４  スピンドル・モータ、１５  ボイス・コイル・モータ
１６  アクチュエータ、２０  回路基板、２１  リード・ライト・チャネル
２２  モータ・ドライバ・ユニット、５１  ホスト、１２１  リード素子
１２２  ライト素子、２１１  クロック生成回路
【図１】
0004717610.tif 000002
【図２】
0004717610.tif 000003
【図３】
0004717610.tif 000004
【図４】
0004717610.tif 000005
【図５】
0004717610.tif 000006
【図６】
0004717610.tif 000007
【図７】
0004717610.tif 000008
【図８】
0004717610.tif 000009
【図９】
0004717610.tif 000010
【図１０】
0004717610.tif 000011