(57)【要約】【課題】通常の利用形態ではアクセス効率が悪いデータトラックに効率的にアクセスできるようにする。【解決手段】ＣＰＵ２２は、ＨＤＤ１０内のディスク１１上の利用可能なデータトラックにアクセスすることにより、所定の判定基準を満たすかを検出する。ＣＰＵ２２は、所定のデータトラックが、所定の判定基準を満たさない場合に、当該所定の判定基準で利用するための補正情報を取得する。ＣＰＵ２２は、取得された補正情報を所定のデータトラックに対応付けてＦＲＯＭ２３の領域２３１に格納する。ＣＰＵ２２は、補正情報に基づいて所定のデータトラックへのアクセスを制御する。【選択図】      図１
2011123952.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスク装置において、前記磁気ディスク装置は、
記憶手段と、
前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスし、所定の判定基準を満たすかを検出する検出手段と、
所定のデータトラックが、前記所定の基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得する補正情報取得手段と、
前記取得された補正情報を、前記所定のデータトラックに対応付けて、前記記憶手段に格納する格納手段と、
前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御する制御手段と
を具備する。
【請求項２】
請求項１記載の磁気ディスク装置において、
前記補正情報は、前記所定のデータトラックの偏心成分に対応する。
【請求項３】
請求項１に記載の磁気ディスク装置において、
前記格納手段は、前記所定のデータトラックに対応付けて前記記憶手段に格納された補正情報に対応する補正情報が取得され、前記格納された補正情報と前記取得された補正情報が同等でない場合に、前記取得された補正情報に更新するように構成されている。
【請求項４】
請求項１記載の磁気ディスク装置において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報である。
【請求項５】
請求項１記載の磁気ディスク装置において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報であり、
前記制御手段は、前記所定のデータトラックへのアクセスに代えて、当該所定のデータトラックに対応付けられた補正情報にアクセスするように構成されている。
【請求項６】
請求項１記載の磁気ディスク装置において、
前記検出手段は、前記ディスク上のアクセスされるべきデータトラックにアクセスする際に、当該アクセスされるべきデータトラックが前記所定の判定基準を満たすかを検出するように構成されている。
【請求項７】
ディスク上のデータトラックにアクセスする際に補正情報を適用するための方法であって、前記方法は、
前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスすることにより、所定の判定基準を満たすかを検出するステップと、
所定のデータトラックが、前記所定の判定基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得するステップと、
前記取得された補正情報を、前記所定のデータトラックに対応付けて、記憶手段に格納するステップと、
前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御するステップと
を具備する。
【請求項８】
請求項７記載の方法において、
前記補正情報は、前記所定のデータトラックの偏心成分に対応する。
【請求項９】
請求項７記載の方法において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報であり、
前記所定のデータトラックに代えて、当該所定のデータトラックに対応付けられた補正情報がアクセスされる。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データトラックにアクセスする際に補正情報を適用する磁気ディスク装置に係り、特に通常の利用形態でにおいてアクセス効率が悪いデータトラックへのアクセスに際して当該データトラックに適した補正情報を利用可能とする磁気ディスク装置に関する。
【背景技術】
【０００２】
一般に、磁気ディスク装置では、ヘッドを目標とするデータトラック（目標トラック）に位置付けるためのヘッド位置決め制御が行われる。ヘッド位置決め制御は、ヘッドを目標トラックに移動するためのシーク制御と、目標トラックに移動されたヘッドを目標トラックの目標位置に整定するためのトラック追従制御とから構成される。なお、ヘッド位置決め制御は、狭義には、トラック追従制御を指す場合もある。
【０００３】
ヘッド位置決め制御において、ヘッドを目標トラックに位置付ける際に発生する目標位置からのずれ（つまり、誤差）は、位置誤差と呼ばれる。例えば特許文献１、２は、この位置誤差の種々の要因を開示している。また特許文献１、２は、ディスク上のトラックに、例えばディスクの回転に伴う要因により偏心が発生することを開示している。更に特許文献１、２は、ディスクの回転に伴う要因として、ディスクを回転させるためのスピンドルモータの軸振れ、サーボ情報をディスクに書き込むときの当該ディスクの振動、ディスクの形状の伸縮等を開示している。
【０００４】
特に特許文献１は、ディスク回転に伴って発生するトラックの偏心に起因する位置誤差（つまり偏心成分）を、学習によって取得された補正情報に基づいて抑制するための技術（以下、先行技術と称する）を理論と共に開示している。
【０００５】
一方、特許文献２は、複数トラック間で相関のある同期成分を学習処理により検出するのに要する時間を短縮するための技術を理論と共に開示している。この特許文献２に記載されている学習処理は、ディスクの回転に同期するトラックの同期成分（つまり偏心成分）に基づいて行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−３９８１４号公報
【特許文献２】特開２０００−１９５２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記先行技術において、トラックの偏心に起因する位置誤差を抑制するのに用いられる補正情報は、ディスク上の複数のエリア（より詳細には、リング状のエリア）のそれぞれについて学習により最適化されて取得される。複数のエリアの各々は、複数のトラックを有する。エリア毎に取得される補正情報（以下、エリア学習値と称する）はメモリに格納される。
【０００８】
上記先行技術によれば、目標トラックにヘッドを位置付けるための位置決め制御において、当該目標トラックが属するエリアに対応するエリア学習値をメモリから読み出して利用することができる。
【０００９】
しかし、目標トラックと当該目標トラックが属するエリア内の他のトラックとの間で、偏心成分（例えば特許文献２に記載されているような同期成分）に関して相関の度合いが比較的低い場合、次のような状態を招く。以下の説明では、他のトラック（例えば隣接するトラック）との間で、偏心成分に関して相関の度合いが比較的低いトラックを、第１のタイプのトラックと称する。また、他のトラックとの間で、偏心成分に関して相関の度合いが高いトラックを、第２のタイプのトラックと称する。
【００１０】
まず、第１のタイプのトラックの偏心成分を抑制するための補正情報（つまり、第１のタイプのトラックの学習値）は、当該第１のタイプのトラックが属するエリアに対応したエリア学習値と異なる値を持つ。そのため、第１のタイプのトラックにヘッドを位置付けるためのヘッド位置決め制御を、エリア学習値に基づいて行うと、ヘッド位置決め精度の悪化、シーク応答時間の悪化、補正情報の学習の収束速度の悪化が発生する。
【００１１】
通常、エリア内の他のトラックとの間で、偏心成分に関して相関の度合いが極めて低いため、予め定られた判定基準（第１の判定基準）を満たさないトラック（つまり、判定基準での利用が困難なトラック）は、対応する磁気ディスク装置を製造する工程（製造工程）で、不良トラックとして検出される。不良トラックとして検出されるトラックは、例えばデータを書き込むことができないトラック、或いはデータを読み出すことができないトラックである。検出された不良トラックには、代替トラックが割り当てられる。
【００１２】
一方、上述の第１のタイプのトラックの偏心成分は、他のトラックとの間の相関の度合いに関して比較的低い程度であるため、当該第１のタイプのトラックは上記判定基準を満たす。このため、第１のタイプのトラックは、製造工程では不良セクタとして検出されない。上記判定基準を満たす第１のタイプのトラックは、データを書き込むまたは読み出すまでに長時間を要するものの、データの書き込みまたは読み出し自体は可能であるためである。したがって、第１のタイプのトラックは、製造工程での検査を通過する。
【００１３】
検査を通過した第１のタイプのトラックへのアクセスが発生すると、上述したようにヘッドの位置決め精度の悪化、シーク応答時間の悪化、補正情報の学習の収束速度の悪化が発生する。つまり第１のタイプのトラックはアクセス効率が悪い。また、磁気ディスク装置の出荷後に、第２のタイプのトラックが、例えば経時変化により第１のタイプのトラックに変化することもある。
【００１４】
本発明は上記事情を考慮してなされたものでその目的は、通常の利用形態ではアクセス効率が悪いデータトラックに効率的にアクセスすることができる磁気ディスク装置を提供することにある。
【課題を解決するための手段】
【００１５】
本発明の１つの態様によれば、磁気ディスク装置が提供される。この磁気ディスク装置は、記憶手段と、前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスし、所定の判定基準を満たすかを検出する検出手段と、所定のデータトラックが、前記所定の判定基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得する補正情報取得手段と、前記取得された補正情報を、前記所定のデータトラックに対応付けて、前記記憶手段に格納する格納手段と、前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御する制御手段とを具備する。
【発明の効果】
【００１６】
本発明によれば、例えば、磁気ディスク装置の製造工程での検査を通過した、利用可能なデータトラックであっても、所定の判定基準を満たさない場合には、当該所定の判定基準で利用するための補正情報を取得して、当該所定の判定基準を満たさないデータトラックに対応付けて記憶手段に格納することにより、当該補正情報を利用して、当該所定の判定基準を満たさないデータトラックへのアクセスを制御することができる。このため本発明によれば、所定の判定基準を満たさないデータトラックに効率的にアクセスすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る磁気ディスク装置を備えた電子機器の構成を示すブロック図。
【図２】同実施形態で適用されるディスク上のゾーン配置の例を示す概念図。
【図３】同一エリア内の複数のトラックの偏心を反映したトラック形状の例を示す図。
【図４】同実施形態におけるヘッド位置決め処理の手順を示すフローチャート。
【図５】上記ヘッド位置決め処理に含まれている補正情報決定処理の手順を示すフローチャート。
【図６】同実施形態において、トラック上のセクタ位置に対するエリア学習値とトラック学習値との関係の例を、エリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて示す図。
【図７】エリア学習値とトラック学習値との差分を積算した値を、図６の例におけるエリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて、棒グラフで示す図。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る磁気ディスク装置を備えた電子機器１の構成を示すブロック図である。電子機器１は、磁気ディスク装置（ＨＤＤ）１０及びホスト１００から構成される。電子機器１は、例えば、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、或いは携帯電話機である。ホスト１００はＨＤＤ１０を当該ホスト１００の記憶装置として利用する。ＨＤＤ１０はホストインタフェース１１０によりホスト１００と接続されている。
【００１９】
ＨＤＤ１０は、記録媒体としてのディスク（磁気ディスク）１１を備えている。このディスク１１は上側と下側の２つのディスク面を有している。ディスク１１の例えば上側のディスク面は、データが磁気記録される記録面をなしている。このディスク１１の記録面に対応して、ヘッド（磁気ヘッド）１２が配置されている。ヘッド１２は、ディスク１１へのデータ書き込み及び当該ディスク１１からのデータ読み出しに用いられる。なお、図１では、作図の都合上、ヘッド１２が１つであるＨＤＤ１０の例が示されている。しかし、一般には、ディスク１１の２つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される。また図１の構成では、単一枚のディスク１１を備えたＨＤＤ１０を想定している。しかし、ディスク１１が複数枚積層配置されたＨＤＤであっても構わない。
【００２０】
ディスク１１はスピンドルモータ（ＳＰＭ）１３によって高速に回転させられる。ヘッド１２は、アクチュエータ１４の先端に取り付けられている。ヘッド１２は、ディスク１１が高速に回転することにより当該ディスク１１上で浮上する。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（ＶＣＭ）１５を有している。アクチュエータ１４は、このＶＣＭ１５により駆動されて、ヘッド１２をディスク１１の半径方向に移動する。つまりアクチュエータ１４は、ヘッド１２をディスク１１の半径方向に移動可能に支持する。このアクチュエータ１４の動作により、ヘッド１２は、ディスク１１の目標トラック上に位置付けられる。ＳＰＭ１３及びＶＣＭ１５は、モータドライバＩＣ１６からそれぞれ供給される駆動電流により駆動される。
【００２１】
ディスク１１の記録面には、複数のサーボ領域１１１がディスク１１の半径方向に放射状に、且つディスク１１の円周方向に等間隔で離散的に配置されている。各サーボ領域１１１には、サーボデータが予め磁気的に書き込まれている。図１では、作図の都合で、サーボ領域１１１の個数が１２の場合が示されている。しかしサーボ領域１１１の個数は、近年のＨＤＤでは１００以上である場合が一般的である。
【００２２】
サーボデータは、ＳＰＭ１３によって回転させられるディスク１１に対して、当該ディスク１１の目標とする半径位置にヘッド１２を位置付けるための制御（ヘッド位置決め制御）に用いられる位置情報を含む。この位置情報は、シリンダコード（シリンダ番号）とバーストデータとを含む。シリンダコードは、対応するサーボ情報が書き込まれているディスク１-i上のシリンダ（トラック）位置を示す。バーストデータは、対応するサーボデータが書き込まれているシリンダにおけるヘッドの相対的な位置情報（位置誤差）を示す。サーボデータに基づくヘッド位置決め制御により、ヘッド１２はディスク１１の記録面上を目標とする同心円１１２に沿って移動（つまり同心円１１２を辿る）ことが可能である。但し、同心円１１２はディスク１１の中心に対して偏心しているのが一般的である。
【００２３】
ディスク１１において、同心円１１２上の隣接するサーボ領域で挟まれた領域はユーザデータ領域１１３と呼ばれる。ユーザデータ領域１１３には、複数のデータセクタ（以下、単にセクタと称する）が配置される。ヘッド１２は、同心円１１２を辿りながら、当該同心円１１２上のユーザデータ領域１１３へデータを書き込む、または当該同心円１１２上の領域からデータを読み出す。ディスク１１の記録面の同心円１１２上の領域はトラックと呼ばれる。そこで以降の説明では、このトラックをトラック１１２と表現する。
【００２４】
ディスク１１には、ＣＤＲ（constant density recording）と呼ばれる記録フォーマットが適用されている。このＣＤＲフォーマットを適用するディスク１１の記録面は、当該ディスク１１の半径方向に複数のゾーン（ＣＤＲゾーン）に区分して管理される。各ゾーンのトラック（シリンダ）当たりのセクタの数は、ディスク１１の外周側のゾーンほど多く設定されている。
【００２５】
図２は、ディスク１１上のゾーン配置の例を示す概念図である。図２の例では、簡略化のために、ディスク１１の記録面が３つのゾーンＺ０乃至Ｚ２に区分して管理され、各ゾーンＺｉ（ｉ＝０，１，２）が２つのトラックから構成されるものとする。実際には、ディスク１１の記録面が３つを超えるゾーンに区分され、各ゾーンは２つを超えるトラックから構成される。また図２の例では、図１に示されるサーボ領域１１１は省略されている。
【００２６】
ディスク１１の記録面から外れた位置、例えばディスク１１の外周に近接する位置には、ランプ１７が配置されている。ランプ１７は、ＨＤＤ１０が非動作状態にある期間、ヘッド１２をリトラクトさせておくための退避領域１７１を提供する。なお、非動作状態とは、ＨＤＤ１０の電源が遮断された場合のようにＨＤＤ１０が動作を完全に停止している状態の他、ＨＤＤ１０の特定のパワーセーブモードの状態も含むものとする。特定のパワーセーブモードは、ＨＤＤ１０内で自律的に設定される他、ホスト１００からの指示によっても設定される。
【００２７】
ヘッド１２は図示せぬフレキシブルプリントケーブル（ＦＰＣ）に形成された配線パターンを介してヘッドＩＣ（ヘッドアンプ回路）１８と接続されている。ヘッドＩＣ１８は、ヘッド１２により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトドライバ（いずれも図示せず）を含む。
【００２８】
ヘッドＩＣ１８は、リード／ライトＩＣ（リード／ライトチャネル）１９と接続されている。リード／ライトＩＣ１９は各種の信号処理を実行する信号処理モジュールである。リード／ライトＩＣ１９は、ヘッドＩＣ１８によって増幅されたリード信号をデジタルデータに変換するためのアナログ／ディジタル変換処理を実行する。リード／ライトＩＣ１９は、前記デジタルデータからサーボデータを抽出するための処理を実行する。リード／ライトＩＣ１９は、前記デジタルデータ（リードデータ）を復号化するための処理、及びライトデータを符号化するための処理を実行する。
【００２９】
リード／ライトＩＣ１９は、ディスクコントローラ（ＨＤＣ）２０及びＣＰＵ２１と接続されている。ＨＤＣ２０はバッファＲＡＭ２１及びＣＰＵ２２と接続されている。ＨＤＣ２０はまた、ホストインタフェース１１０を介してホスト１００と接続されている。ＨＤＣ２０は、ホスト１００からホストインタフェース１１０を介して転送されるコマンド（ライトコマンド、リードコマンド等）の受信と、ホスト１００と当該ＨＤＣ２０との間のデータ転送とを制御するホストインタフェース制御機能を有する。ＨＤＣ２０はまた、リード／ライトＩＣ１９を介して行われるディスク１１と当該ＨＤＣ２０との間のデータ転送を制御するディスクインタフェース制御機能を有する。ＨＤＣ２０はまたバッファＲＡＭ２１を制御するバッファインタフェース制御機能を有する。
【００３０】
バッファＲＡＭ２１の記憶領域の一部は、ＨＤＣ２０を介してディスク１１に書き込まれるべきデータ（ライトデータ）を一時格納するためのライトバッファとして用いられる。バッファＲＡＭ２１の記憶領域の他の一部は、ディスク１１からＨＤＣ２０を介して読み出されたデータ（リードデータ）を一時格納するためのリードバッファとして用いられる。
【００３１】
ＣＰＵ２２は、モータドライバＩＣ１６と接続されると共に、フラッシュＲＯＭ（ＦＲＯＭ）２３及びＲＡＭ２４と接続されている。ＦＲＯＭ２３は、ＣＰＵ２２が実行すべき制御プログラム（ファームウェア）を格納する書き換え可能な不揮発性メモリであり。ＲＡＭ２４は、ＣＰＵ２２の作業領域を提供する揮発性メモリである。ＣＰＵ２２は制御プログラムを実行することによりＨＤＤ１０の主コントローラとして機能する。制御プログラムは、ヘッド位置決め処理ルーチンを含む。
【００３２】
ＦＲＯＭ２３の記憶領域の一部は第１学習値領域２３１に割り当てられ、ＦＲＯＭ２３の記憶領域の他の一部は第２学習値領域２３２に割り当てられている。第２学習値領域２３２は、ＨＤＤ１０の製造段階でディスク１１上の予め定められたエリア（より詳細には、リング状のエリア）毎に取得される周知の学習値（つまり、エリア学習値）を、そのエリア（より詳細には、そのエリアを特定するための情報）に対応付けて格納する第２の記憶手段（記憶モジュール）として用いられる。第２学習値領域２３２に格納されているエリア学習値は、必要に応じて更新される。この更新の条件については後述する。
【００３３】
本実施形態において、予め定められたエリアはゾーンである。したがって、エリアをゾーンと読み替えても構わない。なお、ディスク１１の２つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される場合、エリア学習値は、そのエリア（より詳細には、そのエリアを特定するための情報）及びそのエリアが属する記録面側に存在するヘッド（より詳細には、そのヘッドを特定するための情報）に対応付けて第２学習値領域２３２に格納される。エリアを特定するための情報は、エリアがゾーンである本実施形態では、例えばゾーン番号であり、ヘッドを特定するための情報は、例えばヘッド番号である。
【００３４】
第１学習値領域２３１は、ＨＤＤ１０が出荷された後に取得されるトラックの学習値（トラック学習値）を、そのトラック（より詳細には、そのトラックを特定するための情報）に対応付けて格納する第１の記憶手段（記憶モジュール）として用いられる。第１学習値領域２３１に格納されているトラック学習値は、必要に応じて更新される。トラックを特定するための情報は、例えばトラック番号である。トラック番号は、本実施形態と異なって複数のヘッドが存在する場合、ヘッド番号とシリンダ番号とから決定される。トラック学習値を格納または更新する条件については後述する。
【００３５】
図３は、ディスク１１上の同一のゾーン（エリア）Ｚｉに属する、トラック番号がＮ−２，Ｎ−１，Ｎ，Ｎ＋１，Ｎ＋２の５つのトラックＮ−２，Ｎ−１，Ｎ，Ｎ＋１，Ｎ＋２のディスク１１の中心に対する偏心の状態を、トラック形状として模式的に示す。ここでの偏心は、ディスク１１の回転に伴って（より具体的には、ディスク１１の回転に同期して）発生するものとする。図３において、破線は、トラックＮ−２，Ｎ−１，Ｎ，Ｎ＋１，Ｎ＋２の偏心がないときの理想的なトラック形状を示す。
【００３６】
図３の例では、トラックＮ−２，Ｎ−１，Ｎ，Ｎ＋２の間では、偏心成分、例えばディスク１１の回転に同期した偏心成分（つまり同期成分）に関して相関の度合いが高いものとする。一方、トラックＮ＋１は、他のトラックＮ−２，Ｎ−１，Ｎ，Ｎ＋２（特に隣接するトラックＮ，Ｎ＋２）との間で、偏心成分に関して相関の度合いが比較的低いものとする。トラックＮ＋１を隣接非相関トラック、または第１のタイプのトラックと称する。トラックＮ−２，Ｎ−１，Ｎ，Ｎ＋２を隣接相関トラック、または第２のタイプのトラックと称する。
【００３７】
次に、本実施形態の動作について、ヘッド１２をディスク１１上の目標とするトラック（目標トラック）１１２に位置付けるためのヘッド位置決め処理を例に、図４及び図５のフローチャートを参照して説明する。ここでは、目標トラック１１２がゾーンＺｉに属するものとする。
【００３８】
ＣＰＵ２２は、ヘッド１２を目標トラック１１２に位置付ける際にＦＲＯＭ２３の第１学習値領域２３１を参照する。そしてＣＰＵ２２は判定（検出）手段として機能して、目標トラック１１２の学習値（トラック学習値）が当該目標トラック１１２のトラック番号に対応付けて第１学習値領域２３１に格納されているかを判定する（ステップ４０１）。
【００３９】
もし、目標トラック１１２の学習値が第１学習値領域２３１に格納されている場合（ステップ４０１のＹＥＳ）、ＣＰＵ２２はステップ４０２に進む。ステップ４０２においてＣＰＵ２２は選択手段として機能して、目標トラック１１２の学習値を第１学習値領域２３１から選択的に取得する。取得された目標トラック１１２の学習値は、当該目標トラック１１２のディスク１１の回転に同期した偏心成分を抑制するための補正情報（第１の補正情報）として用いられる。
【００４０】
これに対し、目標トラック１１２の学習値が第１学習値領域２３１に格納されていない場合（ステップ４０１のＮＯ）、ＣＰＵ２２はステップ４０３に進む。ステップ４０３においてＣＰＵ２２は選択手段として機能して、目標トラック１１２が属するゾーン（エリア）Ｚｉのゾーン番号に対応付けられている当該ゾーン（エリア）Ｚｉの学習値を、ＦＲＯＭ２３の第２学習値領域２３２から選択的に取得する。取得されたエリアＺｉの学習値は、当該エリアＺｉに属する目標トラック１１２のディスク１１の回転に同期した偏心成分を抑制するための補正情報（第２の補正情報）として用いられる。
【００４１】
ＣＰＵ２２は、ステップ４０２または４０３で補正情報を取得すると、ヘッド位置決め制御手段として機能してヘッド位置決め制御を実行する（ステップ４０４）。このヘッド位置決め制御では、シーク制御及びトラック追従制御が行われる。
【００４２】
シーク制御は、周知のように、ヘッド１２をディスク１１上の目標トラック１１２に移動させるために実行される。シーク制御においてＣＰＵ２２は、ヘッド１２を現在の位置から目標トラック１１２に移動させるのに必要な駆動電流を示す制御値を算出する。ＣＰＵ２１は、この制御値をモータドライバＩＣ１６内のＶＣＭドライバに設定する。ＶＣＭドライバは、設定された制御値で表される駆動電流をＶＣＭ１５に供給することにより当該ＶＣＭ１５を駆動して、アクチュエータ１４を回動させる。これによりヘッド１２はディスク１１上を当該ディスク１１の半径方向に移動する。
【００４３】
このときヘッド１２は、ディスク１１に磁気記録されている情報を読み取り、リード信号として出力する。ヘッドＩＣ１８は、このリード信号を増幅する。リード／ライトＩＣ１９は、増幅されたリード信号をデジタルデータに変換し、当該デジタルデータからサーボデータを抽出する。ＣＰＵ２２は、リード／ライトＩＣ１９によって抽出されたサーボデータ（より詳細には、サーボデータに含まれているシリンダコード）に基づいて、現在のヘッド１２の位置（より詳細にはディスク１１上の半径位置）を検出する。ＣＰＵ２２は、検出された現在のヘッド１２の位置から当該ヘッド１２を目標トラック１１２に移動させるのに必要な制御値を再び演算により生成する。以下、同様にして、ヘッド１２を目標トラック１１２に移動させるためのシーク制御が行われる。
【００４４】
トラック追従制御は、周知のように、目標トラック１１１に移動されたヘッド１２を、当該目標トラック１１１の目標位置に整定するために実行される。トラック追従制御においてＣＰＵ２２は、リード／ライトＩＣ１９によって抽出されるサーボデータ（より詳細には、サーボデータに含まれているバーストデータ）に基づいて、現在のヘッド１２の位置の目標位置からのずれを位置誤差として検出する。
【００４５】
ＣＰＵ２２は、検出された位置誤差に応じて、ヘッド１２を目標トラック１１２の目標位置に整定する（位置付ける）ための第１の制御値を算出する。ＣＰＵ２２はまた、取得した補正情報に基づいて、当該補正情報の示す偏心成分（つまり偏心成分の学習値）を、検出された位置誤差から除去するための第２の制御値を算出する。
【００４６】
ＣＰＵ２２は、第１の制御値と第２の制御値とを加算することにより、ヘッド１２を目標トラック１１２の目標位置に整定するための補正された制御値を算出する。ＣＰＵ２２は、算出された制御値をモータドライバＩＣ１６内のＶＣＭドライバに設定することで、ヘッド１２を目標位置に整定させる。するとＣＰＵ２２は、再び位置誤差を検出する。この位置誤差は、１回のトラック追従制御（つまりトラック追従のためのフィードバック制御）の結果を表す。
【００４７】
ＣＰＵ２２は、この位置誤差が、予め定められた第１の閾値ＴＨ１未満であるかを判定する（ステップ４０５）。もし、位置誤差が第１の閾値ＴＨ１未満であるならば（ステップ４０５のＹＥＳ）、ＣＰＵ２２はヘッド１２を目標トラック１１２の目標位置に整定できた判断する。この場合、ＣＰＵ２２は、目標トラック１１２（より詳細には目標トラック１１２の目的とするセクタ）へのデータ書き込みまたは目標トラック１１２からのデータの読み出しのための書き込み／読み出し動作を制御する（ステップ４０６）。そしてＣＰＵ２２は、次の書き込み／読み出し動作を実行すべきであるかを判定し（ステップ４０７）、そうであるならば（ステップ４０７のＹＥＳ）、ステップ４０１に戻り、そうでないならば（ステップ４０７のＮＯ）、ヘッド位置決め処理を終了する。
【００４８】
一方、上記位置誤差が第１の閾値ＴＨ１未満でないならば（ステップ４０５のＮＯ）、ＣＰＵ２２はヘッド１２を目標トラック１１２の目標位置に整定できなかったと判断する。つまりＣＰＵ２２は補正情報取得手段として機能して、ヘッド位置決めが収束していないと判断する。この場合、ＣＰＵ２２は、特許文献１または２に記載されているような学習型フィードフォワード制御系により、目標トラック１１２の補正情報を学習する（ステップ４０８）。即ちＣＰＵ２２は、目標トラック１１２の偏心成分、例えばディスク１１の回転に同期した偏心成分（同期成分）を検出（学習）し、検出された偏心成分を、当該目標トラック１１２の補正情報（つまり学習値）として取得する。
【００４９】
次にＣＰＵ２２は判定（検出）手段として機能して、ステップ４０８で取得された目標トラック１１２の学習値が、当該目標トラック１１２が属するエリアＺｉの学習値と大きく異なっていないかを判定する。ＣＰＵ２２は、この判定に、判定値と予め定められた第２の閾値ＴＨ２とを用いる。ＣＰＵ２２は、この判定値として、例えば、エリアＺｉの学習値と取得された目標トラック１１２の学習値との差分Δの積算値ΣΔを用いる。つまりＣＰＵ２２は、上記判定値が第２の閾値ＴＨ２未満であるかを判定することにより、目標トラック１１２の学習値がエリアＺｉの学習値と大きく異なっていないかを判定する（ステップ４０９）。
【００５０】
以下、この判定の意義について、図６及び図７を参照して説明する。図６において、同図（ａ），（ｂ）は、トラック上のセクタ位置（Ｘ軸方向）に対する、エリア学習値とトラック学習値（Ｙ軸方向）との関係の例を、エリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて模式的に示す。上記差分は、図６（ａ）ではΔＡで表され、図６（ｂ）ではΔＢで表されている。つまり、図６（ａ），（ｂ）において、エリア学習値とトラック学習値をそれぞれ示す曲線で囲まれた領域（ハッチングされた領域）のＹ軸方向の長さが、エリア学習値とトラック学習値との差分に相当する。
【００５１】
ＣＰＵ２２は、ステップ４０９での判定に際し、エリア学習値とトラック学習値との差分の積算値Δを算出する。そしてＣＰＵ２２は、この積算値Δを判定値として用いて、当該判定値（積算値Δ）が第２の閾値ＴＨ２未満であるかを判定する（ステップ４０９）。第２の閾値ＴＨ２は、例えば、ヘッド１２を目標トラックの目標位置に位置付ける際のヘッド位置決め精度やＨＤＤ１０の動作パフォーマンスがＨＤＤの仕様を満たすように実験的に求められるものとする。なお、第２の閾値ＴＨ２は必ずしも固定値である必要はない。例えば、第２の閾値ＴＨ２が、目標トラック１１２が属するエリア（ゾーン）、或いはＨＤＤ１０の動作環境（温度、気圧）などの条件に応じて切り替えられても構わない。
【００５２】
図７は、図６（ａ），（ｂ）に示されるエリア学習値とトラック学習値との差分ΔＡ，ΔＢをそれぞれ積算した値（積算値）ＤＶＡ（＝ΣΔＡ），ＤＶＢ（＝ΣΔＢ）を棒グラフで示す。図７の例では、積算値ＤＶＡ（＝ΣΔＡ）は第２の閾値ＴＨ２未満であり、積算値ＤＶＢ（＝ΣΔＢ）は第２の閾値ＴＨ２を超えている。
【００５３】
ＣＰＵ２２は、図７に示される積算値ＤＶＡのように、エリア学習値とトラック学習値との差分の積算値（つまり判定値）が第２の閾値ＴＨ２未満である場合（ステップ４０９のＹＥＳ）、エリア学習値とトラック学習値とは同等であると判定する。この場合、ＣＰＵ２２はステップ４１０に進む。
【００５４】
エリア学習値とトラック学習値とが同等であるとは、目標トラック１１２とエリアＺｉ内の他のトラックとの間で、ディスク１１の回転に同期した偏心成分に関する相関の度合いが、予め定められた閾値（相関度合い）と比較して高いことを意味する。つまりエリア学習値とトラック学習値とが同等であるとは、目標トラック１１２とエリアＺｉ内の他のトラックとの間で、ディスク１１の回転に同期した偏心成分に関して相関があり、当該目標トラック１１２が第２のタイプのトラック（隣接相関トラック）であることを意味する。
【００５５】
目標トラック１１２が第２のタイプのトラックの場合、エリア学習値に基づいてヘッド１２を当該目標トラック１１２に位置付けるためのヘッド位置決め制御を実行しても、アクセス効率の悪化を招くおそれはない。つまり、第２の閾値ＴＨ２を判定基準として第２のタイプのトラックであると判定される目標トラック１１２は、エリア学習値（第２の補正情報）に基づく利用が可能である。このことは、第２のタイプのトラックであると判定される目標トラック１１２が、上記判定基準（第２の判定基準）に基づく利用が可能であることと等価である。この判定基準（第２の判定基準）は、製造工程での検査に用いられる判定基準（第１の判定基準）に比較して同等であるか、或いは相対的に高いものとする。
【００５６】
これに対し、図７に示される積算値ＤＶＢのように、エリア学習値とトラック学習値との差分の積算値（つまり判定値）が第２の閾値ＴＨ２を超えている場合（ステップ４０９のＮＯ）、ＣＰＵ２２は、エリア学習値とトラック学習値とは同等でない（異なっている）と判定する。この場合、ＣＰＵ２２はステップ４１１に進む。
【００５７】
エリア学習値とトラック学習値とが同等でないとは、目標トラック１１２とエリアＺｉ内の他のトラックとの間で、ディスク１１の回転に同期した偏心成分に関する相関の度合いが、予め定められた閾値（相関度合い）と比較して低いことを意味する。つまりエリア学習値とトラック学習値とが同等でないとは、目標トラック１１２とエリアＺｉ内の他のトラックとの間で、ディスク１１の回転に同期した偏心成分に関して相関がなく、当該目標トラック１１２が第１のタイプのトラックであることを意味する。
【００５８】
目標トラック１１２が第１のタイプのトラックの場合、エリア学習値に基づいてヘッド１２を当該目標トラック１１２に位置付けるためのヘッド位置決め制御を実行すると、アクセス効率の悪化を招く可能性がある。つまり、第２の閾値ＴＨ２を判定基準として第１のタイプのトラックであると判定される目標トラック１１２は、エリア学習値（第２の補正情報）に基づく利用が困難となる。
【００５９】
なお、上記判定値として、エリア学習値とトラック学習値との差分の積算値以外のパラメータを用いることも可能である。例えば、エリア学習値とトラック学習値とをそれぞれ取得するのに要する時間をＴｅ，Ｔｔとすると、時間Ｔｅ，Ｔｔの間に発生したリトライの回数の差分、時間Ｔｅ，Ｔｔの間にディスク１１が回転した回数の差分、或いは時間Ｔｅ，Ｔｔの差分を用いることも可能である。
【００６０】
今、エリア学習値とトラック学習値とが同等であると判定したために、ＣＰＵ２２がステップ４１０に進んだものとする。このステップ４１０においてＣＰＵ２２は補正情報取得手段として機能して、例えば特許文献１に記載されているような学習型フィードフォワード制御系により、目標トラック１１２が属するエリアＺｉの補正情報を学習する。即ちＣＰＵ２２は、エリアＺｉ内のトラック間で相関のある偏心成分、例えばディスク１１の回転に同期した偏心成分（同期成分）を検出（学習）し、検出された偏心成分を、当該エリアＺｉの補正情報（つまり学習値）として取得する。ステップ４１０においてＣＰＵ２２は更に格納手段として機能して、ＦＲＯＭ２３の第２学習値領域２３２に当該エリアＺｉに対応して格納されている補正情報（学習値）を、取得されたエリアＺｉの補正情報に更新する。
【００６１】
次にＣＰＵ２２はステップ４０４に戻って再びヘッド位置決め制御を実行する。ＣＰＵ２２は、このヘッド位置決め制御におけるヘッド追従制御に、ステップ４１０で補正されたエリアＺｉの補正情報を用いる。
【００６２】
次に、エリア学習値とトラック学習値が異なっていると判定したために、ＣＰＵ２２がステップ４１１に進んだものとする。このステップ４１１においてＣＰＵ２２は、ステップ４０４でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報を決定するための処理（補正情報決定処理）を実行する。
【００６３】
以下、補正情報決定処理について、図５のフローチャートを参照して説明する。  
まずＣＰＵ２２は判定（検出）手段として機能して、前記ステップ４０１と同様に、目標トラック１１２の学習値（以下、学習値ＬＶｏと称する）が当該目標トラック１１２のトラック番号に対応付けてＦＲＯＭ２３の第１学習値領域２３１に格納されているかを判定する（ステップ５０１）。もし、目標トラック１１２の学習値ＬＶｏが第１学習値領域２３１に格納されている場合（ステップ５０１のＹＥＳ）、ＣＰＵ２２はステップ５０２に進む。
【００６４】
ステップ５０２においてＣＰＵ２２は、第１学習値領域２３１に格納されている目標トラック１１２の学習値ＬＶｏと、前記ステップ４０８で新たに取得された当該目標トラック１１２の学習値（以下、学習値ＬＶｎと称する）とが同等であるかを判定する。ＣＰＵ２２は、この判定に、判定値と予め定められた第３の閾値ＴＨ３とを用いる。ＣＰＵ２２は、この判定値として、例えば、第１学習値領域２３１に格納されている目標トラック１１２の学習値ＬＶｏと、新たに取得された当該目標トラック１１２の学習値ＬＶｎとの差分の積算値を用いる。つまりＣＰＵ２２は、上記判定値（上記差分の積算値）が第３の閾値ＴＨ２未満であるかを判定することにより、学習値ＬＶｏ及びＬｎが同等であるかを判定する（ステップ５０２）。
【００６５】
学習値ＬＶｏ及びＬｎが同等である場合（ステップ５０２のＹＥＳ）、ＣＰＵ２２はステップ５０３に進む。ステップ５０３においてＣＰＵ２２は、学習値Ｌｎ、即ち新たに取得された当該目標トラック１１２の学習値を破棄する。これにより、ＦＲＯＭ２３の第１学習値領域２３１に格納されている目標トラック１１２の学習値が無駄に更新されるのを防止できる。
【００６６】
次にＣＰＵ２２は補正情報決定手段として機能して、学習値ＬＶｏ、即ち第１学習値領域２３１に格納されている目標トラック１１２の学習値を、ステップ４０４でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報として決定する（ステップ５０４）。これにより補正情報決定処理（ステップ４１１）は終了する。
【００６７】
するとＣＰＵ２２はステップ４０４に戻って再びヘッド位置決め制御を実行する。ＣＰＵ２２は、このヘッド位置決め制御におけるヘッド追従制御に、補正情報決定処理（ここでは、補正情報決定処理におけるステップ５０４）で決定された、第１学習値領域２３１に格納されている目標トラック１１２（つまり第１のタイプのトラック）の補正情報を用いる。
【００６８】
一方、学習値ＬＶｏ及びＬｎが同等でない場合（ステップ５０２のＮＯ）、ＣＰＵ２２はステップ５０５に進む。ステップ５０５においてＣＰＵ２２は格納手段として機能して、学習値Ｌｎ、即ち新たに取得された当該目標トラック１１２の学習値を、ＦＲＯＭ２３の第１学習値領域２３１に当該目標トラック１１２のトラック番号に対応付けて格納する。このステップ５０５では、第１学習値領域２３１に既に格納されている学習値Ｌｏが学習値Ｌｎに更新される。また、第１学習値領域２３１に目標トラック１１２の学習値が格納されていない場合にも（ステップ５０１のＮＯ）、ＣＰＵ２２はステップ５０５に進む。このステップ５０５においてＣＰＵ２２は、第１学習値領域２３１に新たに学習値Ｌｎを格納する。
【００６９】
第１学習値領域２３１に新たに学習値Ｌｎを格納するためには、当該第１学習値領域２３１内に空きスペースがなければならない。もし、空きスペースがない場合、第１学習値領域２３１内に空きスペースを確保する必要がある。そこでＣＰＵ２２は、第１学習値領域２３１内に空きスペースを確保するために、次の手法を適用する。即ちＣＰＵ２２は、第１学習値領域２３１に既に格納されている学習値（トラック学習値）が対応付けられているトラックに、ディスク１１上の代替トラックを割り当てる。そしてＣＰＵ２２は、代替トラックが割り当てられたトラックに対応付けて第１学習値領域２３１に格納されている学習値を消去する。ここで、代替トラックを割り当てるトラックを選択する手法としては、対応する学習値が第１学習値領域２３１に格納された順に従う先入れ先出し手法、或いはアクセス頻度の低いトラックから順次選択する手法などが適用可能である。
【００７０】
ＣＰＵ２２はステップ５０５を実行すると補正情報決定手段として機能して、学習値ＬＶｎ、即ち新たに取得された目標トラック１１２の学習値を、ステップ４０４でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報として決定する（ステップ５０６）。これにより補正情報決定処理（ステップ４１１）は終了する。
【００７１】
するとＣＰＵ２２はステップ４０４に戻って再びヘッド位置決め制御を実行する。ＣＰＵ２２は、このヘッド位置決め制御におけるヘッド追従制御に、補正情報決定処理（ここでは、補正情報決定処理におけるステップ５０６）で決定された、新たに取得された目標トラック１１２（つまり第１のタイプのトラック）の補正情報を用いる。
【００７２】
さて、新たに取得された第１のタイプのトラックの補正情報（学習値）がＦＲＯＭ２３の第１学習値領域２３１に格納され、やがて図４のフローチャートに従うヘッド位置決め処理が終了したものとする。その後、上記第１のタイプのトラックを目標トラック１１２としてヘッド位置決め処理が再び開始されたものとする。この場合、第１のタイプのトラックの補正情報は既にＦＲＯＭ２３の第１学習値領域２３１に格納されている（ステップ４０１のＹＥＳ）。このため、この第１のタイプのトラックの補正情報を目標トラック１１２の学習値として用いて、ヘッド１２を当該トラック１１２に位置付けるためのヘッド位置決め制御が実行される（ステップ４０２，４０４）。このヘッド位置決め制御では、他のトラックとの間で相関の低い目標トラック１１２の偏心に起因する偏心成分が、第１のタイプのトラックの補正情報に基づいて抑制される。このことは、第１のタイプのトラックであると判定される目標トラック１１２が、上記判定基準（第２の判定基準）に基づく利用が可能であることと等価である。
【００７３】
本実施形態によれば、製造工程での検査を通過した第１のタイプのトラックの学習値を、ＦＲＯＭ２３の第１学習値領域２３１に格納して利用可能とすることにより、以下に列挙するような効果を得ることができる。
【００７４】
１）第１のタイプのトラック（隣接非相関トラック）にヘッド１２を位置付ける際の位置決め精度が向上する。また、位置決め精度の向上により、第１のタイプのトラックに／からデータを書き込む／読み出す際の信頼性が向上すると共に、データ書き込み／読み出しにおけるリトライの発生頻度が削減され、結果的にＨＤＤ１０の動作パフォーマンスが向上する。
【００７５】
２）ディスク１１の回転に同期した第１のタイプのトラックの偏心成分（同期成分）を抑制するための補正情報の学習が収束する速度が速くなり、結果的にＨＤＤ１０の動作パフォーマンスが向上する。
【００７６】
３）製造工程での検査を通過した第１のタイプのトラックの学習値をＦＲＯＭ２３の第１学習値領域２３１に格納する構成により、製造工程において代替トラックを割り当てるべきトラックを判定するための条件を緩めることができる。ＨＤＤ１０が、主にシーケンシャルアクセスを必要とする電子機器１に適用される場合、代替トラック数が減るとシーク動作の効率が改善されるため、結果的に当該ＨＤＤ１０の動作パフォーマンスが向上する。
【００７７】
上記実施形態では、エリア学習値とトラック学習値が同等でない場合（ステップ４０９のＮＯ）、補正情報決定処理（ステップ４１１）が実行される。しかし、エリア学習値とトラック学習値が同等でない程度を判定し、エリア学習値とトラック学習値が同等でない程度が高い場合、補正情報決定処理に代えて、目標トラック１１２に代替トラックを割り当てるようにしても構わない。このようにすると、補正情報決定処理の対象は、エリア学習値とトラック学習値が同等でない程度が低いトラックに限られるため、上記１），２）の効果がより高まる。但し、ＨＤＤ１０の出荷後に代替トラック数が増えるため、上記３）の効果は低くなる。
【００７８】
また、代替トラックをディスク１１ではなくて、ＦＲＯＭ２３内に確保しても良い。更に、エリア学習値とトラック学習値が同等でない場合（ステップ４０９のＮＯ）、補正情報決定処理に代えて、目標トラック１１２に代替トラックを割り当て、当該代替トラックをＦＲＯＭ２３の例えば第１学習値領域２３１内に確保しても良い。つまり、目標トラック１１２に記録されている情報を、上記トラック学習値に相当する補正情報（第２の補正情報）として、当該目標トラック１１２に対応付けて第１学習値領域２３１に格納する構成としても良い。この場合、目標トラック１１２に対応付けて第１学習値領域２３１に格納されている補正情報にアクセスすることが、当該目標トラック１１２にアクセスすることに相当するため、アクセス効率が著しく向上する。但し、ＦＲＯＭ２３の大容量化を招く。
【００７９】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【００８０】
１…電子機器、１０…ＨＤＤ（磁気ディスク装置）、１１…ディスク、１２…ヘッド、１３…ＳＰＭ（スピンドルモータ）、１４…ＶＣＭ（ボイスコイルモータ）、１６…モータドライバＩＣ、１８…ヘッドＩＣ、１９…リード／ライトＩＣ、２０…ＨＤＣ（ディスクコントローラ）、２２…ＣＰＵ（主コントローラ）、２３…ＦＲＯＭ（フラッシュＲＯＭ）、１００…ホスト、１１１…サーボ領域、１１２…トラック（データトラック）、１１３…ユーザデータ領域、Ｚ０〜Ｚ２…ゾーン（エリア）。
【図１】
2011123952.tif 000003
【図２】
2011123952.tif 000004
【図３】
2011123952.tif 000005
【図４】
2011123952.tif 000006
【図５】
2011123952.tif 000007
【図６】
2011123952.tif 000008
【図７】
2011123952.tif 000009