(57)【要約】【課題】信頼性の高いディスクの偏心量測定が高精度に行えるようにする。【解決手段】第１のモードで設定される内周押し付け状態において（Ｓ１）、サーボ領域毎にシリンダアドレス及びサーボ間隔を測定する（Ｓ２ａ，Ｓ２ｂ）。サーボ領域毎のサーボ間隔及びシリンダアドレスの両測定値の単位を揃え、この単位が揃えられた両測定値の差分をとることで回転変動量を算出する（Ｓ３ａ，Ｓ３ｂ，Ｓ４）。算出された回転変動量を表す補正情報を記憶手段に格納する（Ｓ５）。第２のモードにおいて、サーボ領域毎にサーボ間隔を測定し、測定されたサーボ領域毎のサーボ間隔を記憶手段に格納されている補正情報に基づいて回転変動成分が除去された値に補正することにより、当該補正されたサーボ間隔に基づいてスピンドルモータの回転中心を基準とするサーボトラックの中心のずれの量をディスクの偏心量として算出する。【選択図】      図１
2008034067.tif 000002
【特許請求の範囲】
【請求項１】
スピンドルモータによって回転されるディスクの半径方向にヘッドを移動可能に支持するアクチュエータを、前記ディスクに形成された同心円状の複数のサーボトラックに等間隔で離散的に配置されたサーボ領域から当該ヘッドにより読み出されるサーボ情報に基づいて駆動することにより、当該ヘッドを前記ディスク上の目標位置に位置付けるディスク記憶装置において、前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として測定するためのディスク偏心量測定方法であって、
第１のモードにおいて、前記ヘッドが前記ディスクの内周から外れるのを防止する内周ストッパに前記アクチュエータを押し付ける内周押し付け状態を設定するステップと、
前記内周押し付け状態において、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に含まれているシリンダアドレスを測定すると共に、前記サーボ領域毎に読み取られるサーボ情報に基づいて、前記ヘッドが隣接するサーボ領域間を通過する時間間隔であるサーボ間隔を測定するステップと、
前記サーボ領域毎のサーボ間隔の測定値と前記サーボ領域毎のシリンダアドレスの測定値との単位を揃え、この単位が揃えられた前記両測定値の差分をとることで、前記スピンドルモータの回転速度の変動に起因する回転変動量を算出するステップと、
前記算出された回転変動量を表す補正情報を記憶手段に格納するステップと、
第２のモードにおいて、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に基づいて前記サーボ領域毎に前記サーボ間隔を測定するステップと、
前記第２のモードにおいて測定された前記サーボ領域毎のサーボ間隔を、前記記憶手段に格納されている補正情報に基づいて前記スピンドルモータの回転速度の変動に起因する回転変動成分が除去された値に補正することにより、当該補正されたサーボ間隔に基づいて前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として算出するステップと
を具備することを特徴とするディスク偏心量測定方法。
【請求項２】
前記算出された偏心量に基づいて、前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれが一定値を超えるディスクシフトが発生しているかを判定するステップと、
前記ディスクシフトの発生が判定された場合、前記回転変動量を算出し直すために前記第１のモードを再設定するステップと
を更に具備することを特徴とする請求項１記載のディスク偏心量測定方法。
【請求項３】
前記サーボ間隔が、所定のクロックをカウントすることにより測定され、
前記算出された回転変動量がクロック数単位に換算されている
ことを特徴とする請求項１記載のディスク偏心量測定方法。
【請求項４】
前記記憶手段に格納される補正情報に、前記サーボ領域毎に算出されて、且つクロック数単位に換算された回転変動量が用いられ、
前記第２のモードにおいて測定された前記サーボ領域毎のサーボ間隔は、当該サーボ領域毎のサーボ間隔から前記記憶手段に格納されている当該サーボ領域に対応する回転変動量を減じることにより補正される
ことを特徴とする請求項３記載のディスク偏心量測定方法。
【請求項５】
前記回転変動量を算出するステップは、前記サーボ領域毎に算出された回転変動量をクロック数単位に換算するステップと、前記クロック数単位に換算されたサーボ領域毎の回転変動量に離散フーリエ変換演算を施すことにより、回転変動の１次成分のベクトルである回転変動ベクトルを算出するステップとを含み、
前記記憶手段に格納される補正情報に、前記算出された回転変動ベクトルが用いられ、
前記偏心量を算出するステップは、前記第２のモードにおいて測定された前記サーボ領域毎のサーボ間隔に離散フーリエ変換演算を施すことにより、サーボ間隔の１次成分ベクトルを算出するステップと、前記算出されたサーボ間隔の１次成分ベクトルから前記記憶手段に格納されている補正情報である前記回転変動ベクトルを減じることにより、前記補正されたサーボ間隔に基づいて算出される偏心量と等価な、前記ディスクの偏心の１次成分ベクトルを算出するステップとを含む
ことを特徴とする請求項１記載のディスク偏心量測定方法。
【請求項６】
スピンドルモータによって回転されるディスクの半径方向にヘッドを移動可能に支持するアクチュエータを、前記ディスクに形成された同心円状の複数のサーボトラックに等間隔で離散的に配置されたサーボ領域から当該ヘッドにより読み出されるサーボ情報に基づいて駆動することにより、当該ヘッドを前記ディスク上の目標位置に位置付けるディスク記憶装置において、
第１のモードを設定する手段と、
前記第１のモードにおいて、前記ヘッドが前記ディスクの内周から外れるのを防止する内周ストッパに前記アクチュエータを押し付ける内周押し付け状態を設定する手段と、
前記内周押し付け状態において、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に含まれているシリンダアドレスを測定するシリンダアドレス測定手段と、
前記内周押し付け状態において、前記サーボ領域毎に読み取られるサーボ情報に基づいて、前記ヘッドが隣接するサーボ領域間を通過する時間間隔であるサーボ間隔を測定する第１のサーボ間隔測定手段と、
前記第１のサーボ間隔測定手段によって測定された前記サーボ領域毎のサーボ間隔と前記シリンダアドレス測定手段によって測定された前記サーボ領域毎のシリンダアドレスとの単位を揃え、この単位が揃えられたサーボ間隔とシリンダアドレスとの差分をとることで、前記スピンドルモータの回転速度の変動に起因する回転変動量を算出する回転変動量算出手段と、
前記回転変動量算出手段によって算出された回転変動量を表す補正情報を格納する記憶手段と、
前記スピンドルモータの起動時に第２のモードを設定する手段と、
前記第２のモードにおいて、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に基づいて前記サーボ領域毎に前記サーボ間隔を測定する第２のサーボ間隔測定手段と、
前記第２のサーボ間隔測定手段によって測定された前記サーボ領域毎のサーボ間隔を、前記記憶手段に格納されている補正情報に基づいて前記スピンドルモータの回転速度の変動に起因する回転変動成分が除去された値に補正する補正手段と、
前記補正手段によって補正されたサーボ間隔に基づいて前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として算出する偏心量算出手段と
を具備することを特徴とするディスク記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スピンドルモータによって回転されるディスクを備えたディスク記憶装置に係り、特に当該ディスクの偏心量を測定するためのディスク偏心量測定方法及び同方法を適用するディスク記憶装置に関する。
【背景技術】
【０００２】
磁気ディスク装置は、記録媒体にディスク（ディスク媒体）を用いたディスク記憶装置の代表として良く知られている。磁気ディスク装置では、一般に、ディスク上の目標位置にヘッドを位置付けるためのヘッド位置決め制御が行われる。ヘッド位置決め制御では、アクチュエータが制御対象として扱われる。アクチュエータは、ヘッドをディスクの半径方向に移動可能に支持する。ヘッド位置決め制御では、ディスクに書き込まれた（埋め込まれた）サーボデータに基づいてアクチュエータの駆動が制御される。ここでは、ヘッドを目標トラックまで移動させるためのシーク制御と、目標トラックに移動されたヘッドを当該目標トラックの目標範囲内に整定するためのトラック追従制御とが実行される。
【０００３】
さて、磁気ディスク装置におけるトラック追従性能を低下させる要因として、ディスクの回転に伴う当該ディスクの偏心（disk runout）が知られている。ディスクの偏心は、磁気ディスク装置の製造行程でディスクをスピンドルモータのハブに固定する際の組立誤差などに起因して発生する。ディスクの偏心は、トラック追従制御ではトラックの偏心として現れることから、そのトラックの偏心にヘッドを追従させる必要がある。
【０００４】
ところで、リードヘッドとライトヘッドとが分離して同一スライダ上に実装された、いわゆる複合ヘッドを有するディスク記憶装置では、リードヘッドとライトヘッドのディスク上の半径方向の位置が異なる、いわゆるオフセット（以下、Ｒ−Ｗオフセットと称する）が発生する。このＲ−Ｗオフセットは、ディスクの偏心（トラックの偏心）によって変化する。
【０００５】
そこで、例えば特許文献１には、Ｒ−Ｗオフセットを、トラック半径位置及びそのトラックの偏心量に応じてトラック毎に且つ１トラック内で変化させる（補正する）技術が記載されている。この技術をダイナミックオフセットコントロール技術（ＤＯＣ技術）と呼ぶ。また、特許文献１で適用される偏心量を測定する技術が特許文献２に記載されている。
【特許文献１】特開２００５−２１６３７８号公報
【特許文献２】特開平１１−１２６４４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記特許文献１によれば、ディスクの偏心量を測定することにより、当該ディスクの偏心を考慮したＲ−Ｗオフセット補正によるヘッド位置決め制御が行われる。
【０００７】
ところで、外部からディスク記憶装置に過大な衝撃が加わると、トラック（サーボトラック）の中心がスピンドルモータの回転軸からずれる、いわゆるディスクシフトが発生するおそれがある。このディスクシフトは、ディスク装置の組立時のディスクの偏心量と動作時のディスクの偏心量とに基づいて判定することが可能である。この偏心量の測定には、前記特許文献２に記載された手法が適用可能である。
【０００８】
しかし、特許文献２に記載されたディスクの偏心量を測定する手法では、ディスクを回転させるスピンドルモータの回転速度が変動すること（スピンドルモータの回転変動）は考慮されていない。この場合、ディスクの偏心量を高精度に測定することは期待できない。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、信頼性の高いディスクの偏心量測定が高精度に行えるディスク偏心量測定方法及び同方法を適用するディスク記憶装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の１つの態様によれば、スピンドルモータによって回転されるディスクの半径方向にヘッドを移動可能に支持するアクチュエータを、前記ディスクに形成された同心円状の複数のサーボトラックに等間隔で離散的に配置されたサーボ領域から当該ヘッドにより読み出されるサーボ情報に基づいて駆動することにより、当該ヘッドを前記ディスク上の目標位置に位置付けるディスク記憶装置において、前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として測定するためのディスク偏心量測定方法が提供される。この方法は、第１のモードにおいて、前記ヘッドが前記ディスクの内周から外れるのを防止する内周ストッパに前記アクチュエータを押し付ける内周押し付け状態を設定するステップと、前記内周押し付け状態において、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に含まれているシリンダアドレスを測定すると共に、前記サーボ領域毎に読み取られるサーボ情報に基づいて、前記ヘッドが隣接するサーボ領域間を通過する時間間隔であるサーボ間隔を測定するステップと、前記サーボ領域毎のサーボ間隔の測定値と前記サーボ領域毎のシリンダアドレスの測定値との単位を揃え、この単位が揃えられた前記両測定値の差分をとることで、前記スピンドルモータの回転速度の変動に起因する回転変動量を算出するステップと、前記算出された回転変動量を表す補正情報を記憶手段に格納するステップと、第２のモードにおいて、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に基づいて前記サーボ領域毎に前記サーボ間隔を測定するステップと、前記第２のモードにおいて測定された前記サーボ領域毎のサーボ間隔を、前記記憶手段に格納されている補正情報に基づいて前記スピンドルモータの回転速度の変動に起因する回転変動成分が除去された値に補正することにより、当該補正されたサーボ間隔に基づいて前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として算出するステップとを具備する。
【発明の効果】
【００１１】
本発明によれば、第１のモードにおいて設定される内周押し付け状態（内周ストッパにアクチュエータを押し付ける状態）でのシリンダアドレス測定及びサーボ間隔測定によりスピンドルモータの回転速度の変動に起因する回転変動量を取得して、当該回転変動量を表す補正情報を記憶手段に格納することにより、第２のモードにおいて当該内周押し付け状態を設定することなくサーボ間隔のみを測定しても、その測定値を前記補正情報に基づいて回転変動成分を除去した値に補正できる。このため本発明によれば、サーボ間隔測定の精度を高めて、サーボ間隔測定に基づくディスクの偏心量測定の精度を向上することができると共に、内周押し付け状態を多用しないために信頼度の高い偏心量測定が行える。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する。図１は本発明の一実施形態に係る磁気ディスク装置（ＨＤＤ）の構成を示すブロック図である。図１において、ディスク（磁気ディスク媒体）１１の例えば上側のディスク面はデータが磁気記録される記録面をなしている。このディスク１１の記録面に対応してヘッド（磁気ヘッド）１２が配置されている。ヘッド１２は、ディスク１１へのデータ書き込み（データ記録）及びディスク１１からのデータ読み出し（データ再生）に用いられる。なお、ディスク１１の下側のディスク面も記録面をなし、その記録面に対応してヘッド１２と同様のヘッドが配置されているものとする。図１の構成では、単一枚のディスク１１を備えたＨＤＤを想定している。しかし、ディスク１１が複数枚積層配置されたＨＤＤであっても構わない。
【００１３】
ディスク１１の各記録面には、複数のサーボ領域１１０がディスク１１の半径方向に放射状に、且つディスク１１の円周方向に等間隔で離散的に配置されている。ディスク１１の記録面上の隣接するサーボ領域１１０の間は、ユーザデータ領域１１１に割り当てられている。ディスク１１の各記録面には、同心円状の複数のサーボトラック１１２が配置されている。各サーボ領域１１０には、サーボトラック１１２毎に、サーボ情報が予め書き込まれて（埋め込まれて）いる。図１では、作図の都合で、サーボ領域１１０の個数ｎが１２の場合が示されている。しかしｎは、図１のＨＤＤが０．８５インチＨＤＤの場合を例にとると、１００程度である。
【００１４】
図２は、サーボトラック１１２のフォーマットと当該サーボトラック１１２上の各サーボ領域１１０に書き込まれているサーボ情報のフォーマットとを示す。  
サーボトラック１１２のサーボ領域１１０と当該サーボ領域１１０に後続するユーザデータ領域１１１とは、サーボセクタを構成する。ユーザデータ領域１１１にはデータセクタが複数個配置される。
【００１５】
サーボ領域１１０に書き込まれているサーボ情報は、プリアンブル２０１と、サーボマーク（ＳＭ）２０２と、アドレスコード２０３と、位置誤差信号（positional error signal）（以下、ＰＥＳと称する）２０４とを含む。
【００１６】
プリアンブル２０１は、信号の振幅を安定化するのに用いられる一定の周波数の自動利得制御（ＡＧＣ）信号を含む。サーボマーク２０２は、対応するサーボ情報（サーボ領域１１０）を識別するための特定のコード（パターン信号）である。アドレスコード２０３は、シリンダアドレス（シリンダ番号）とセクタアドレス（セクタ番号）とを含む。シリンダアドレスは、対応するサーボ情報が書き込まれているディスク１１上のシリンダ（トラック）位置を示す。セクタアドレスは、同一シリンダ（トラック）上でのサーボ領域１１０の配列における、対応するサーボ情報が書き込まれているサーボ領域１１０の順番を示す。ＰＥＳ２０４は、対応するサーボ情報が書き込まれているシリンダにおけるヘッドの相対的な位置情報（位置誤差）を示すバースト信号である。アドレスコード２０３（中のシリンダコード）及びＰＥＳ２０４は、ヘッド１２をディスク１１上の目標位置に位置付ける制御に用いられる位置情報である。
【００１７】
再び図１を参照すると、ディスク１１はスピンドルモータ（以下、ＳＰＭと称する）１３により高速に回転させられる。ヘッド１２はヘッド移動機構としてのアクチュエータ（キャリッジ）１４に取り付けられている。更に具体的に述べるならば、ヘッド１２はアクチュエータ１４のアーム１４０から延出したサスペンション１４１に取り付けられている。アクチュエータ１４は、基台として機能するＨＤＤのケースの底壁上に固定された軸受け組み立て体１４２を有している。アーム１４０は、この軸受け組み立て体１４２から延出している。アクチュエータ１４はまた、アーム１４０とは反対方向に延出した例えばＶ字形状の支持フレーム１４３を有している。アクチュエータ１４は、軸受け組み立て体１４２を中心として回動自在である。これにより、アーム１４０を介してサスペンション１４１に支持されたヘッド１２は、アーム１４０及びサスペンション１４１と一体的に回動し、ディスク１１上の任意のトラック位置及び後述するランプ１６へ、ディスク１１の半径方向に移動可能となっている。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（以下、ＶＣＭと称する）１５を有しており、当該ＶＣＭ１５により駆動される。支持フレーム１４３には、ＶＣＭ１５の一部を構成するコイル（ＶＣＭコイル）が固定されている。
【００１８】
ディスク１１の外周側には、当該ディスク１１から外れた位置にランプ１６が配置されている。更に具体的に述べるならば、ランプ１６は、ディスク１１の外周に近接し、且つタブ１４４の移動経路上のディスク１１から外れた位置に配置される。ランプ１６は、ＨＤＤが特定の非動作状態に移行する際に、ヘッド１２をディスク１１から離間したパーキング位置（退避位置）にアンロード（リトラクト）させておくのに用いられる。ここでランプ１６上には、ヘッド１２ではなくて、当該ヘッド１２を支持するアクチュエータ１４の先端部に形成されたタブ１４４が位置する。しかし、煩雑な表現を避けるため、ヘッド１２がランプ１６にアンロードされると表現する。ＨＤＤの特定の非動作状態とは、ディスク１１の回転が停止している状態（つまりＳＰＭ１３が停止している状態）の他に、ディスク１１は回転していても一定期間以上ホストからのコマンドの発行（アクセス要求）がない状態も含むものとする。ランプ１６のディスク１１側の面は傾斜しており、ヘッドアンロード時にヘッド１２をディスク１１からランプ１６上に滑らかに案内するためのガイド面をなす。
【００１９】
図１のＨＤＤには、例えばマグネットによって構成される外周ストッパ１７ａ及び内周ストッパ１７ｂが設けられている。外周ストッパ１７ａは、アクチュエータ１４を駆動してヘッド１２をアンロードした際に、当該ヘッド１２（タブ１４４）がランプ１６の所定位置で停止するように、当該アクチュエータ１４をラッチする（アクチュエータ１４の動作を規制する）のに用いられる。そのために外周ストッパ１７ａは、ヘッド１２がランプ１６のパーキング位置を超えて当該ランプ１６外に飛び出そうとした際に、アクチュエータ１４の支持フレーム１４３のうち、ディスク１１に近い側の一端に固定された、例えば鉄からなる磁性部材１４３ａが、当該外周ストッパ１７ａと磁性部材１４３ａとの間に働く磁気吸引力により当該外周ストッパ１７ａにラッチされる位置に配置されている。一方、内周ストッパ１７ｂは、ヘッド１２がディスク１１の内周から飛び出してＳＰＭ１３に衝突するのを防止するために、つまりヘッド１２がディスク１１の内周から飛び出さないように、アクチュエータ１４をラッチするのに用いられる。そのために内周ストッパ１７ｂは、ヘッド１２がディスク１１の内周を超えてＳＰＭ１３側に飛び出そうとした際に、アクチュエータ１４の支持フレーム１４３のうち、ディスク１１から遠い側の一端に固定された、例えば鉄からなる磁性部材１４３ｂが、当該内周ストッパ１７ｂと磁性部材１４３ｂとの間に働く磁気吸引力により当該内周ストッパ１７ｂにラッチされる位置に配置されている。
【００２０】
ＳＰＭ１３及びＶＣＭ１５は、ドライバＩＣ１８からそれぞれ供給される駆動電流（ＳＰＭ電流及びＶＣＭ電流）により駆動される。ドライバＩＣ１８は、ＳＰＭドライバ１８１とＶＣＭドライバ１８２とを含む。ＳＰＭドライバ１８１は、後述するＣＰＵ２３から指定された値のＳＰＭ電流をＳＰＭ１３に対して供給する。ＶＣＭドライバ１８２はＣＰＵ２３から指定された値のＶＣＭ電流をＶＣＭ１５に対して供給する。
【００２１】
ヘッド１２はヘッドＩＣ（ヘッドアンプ回路）２０と接続されている。ヘッドＩＣ２０は、ヘッド１２により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトアンプ（いずれも図示せず）を有する。ヘッドＩＣ２０は、リード／ライトＩＣ（リード／ライトチャネル）２１と接続されている。リード／ライトＩＣ２１は、各種の信号処理を実行する信号処理デバイスである。リード／ライトＩＣ２１は、ヘッドＩＣ２０により増幅されたリード信号に対するＡ／Ｄ（アナログ／ディジタル）変換処理及びＡ／Ｄ変換後のデータからサーボ情報を抽出するサーボ検出（サーボデコード）処理を行う。リード／ライトＩＣ２１は、抽出されたサーボ情報を後述するＨＤＣ２２に送出する。リード／ライトＩＣ２１はまた、抽出されたサーボ情報からシリンダアドレス、セクタアドレス及びＰＥＳ（バーストデータ）を抽出してＣＰＵ２３に送出する。リード／ライトＩＣ２１はまた、ライトデータを符号化する処理及びリードデータを復号化する処理も行う。
【００２２】
リード／ライトＩＣ２１はディスクコントローラ（以下、ＨＤＣと称する）２２及びＣＰＵ２３と接続されている。ＨＤＣ２２は、ホスト（ホストシステム）及びＣＰＵ２３と接続されている。ホストは図１のＨＤＤを利用するパーソナルコンピュータ等のデジタル機器である。ＨＤＣ２２は、ホストと当該ＨＤＣ２２との間のコマンド（ライトコマンド、リードコマンド等）及びデータの通信と、リード／ライトＩＣ２１を介して行われるディスク１１との間のデータ転送の制御等を司る。
【００２３】
ＨＤＣ２２は、サーボコントローラ２２０、サーボ間隔カウンタ２２２及びレジスタ２２３を含む。サーボコントローラ２２０は、リード／ライトＩＣ２１によって抽出されるサーボ情報からサーボマーク２０２を検出することによりサーボ検出信号２２１を例えば一定期間アサートする。この一定期間は、隣接するサーボ領域１１０の間隔に相当する期間よりも短く設定されている。サーボ間隔カウンタ２２２は、サーボ検出信号２２１がアサートされる時間間隔、つまりサーボ情報が検出される時間間隔（以下、サーボ間隔と称する）を所定のクロック（サーボクロック）ＣＬＫにより計測する。レジスタ２２３は、サーボ間隔カウンタ２２２のカウント値をラッチする。
【００２４】
ＣＰＵ２３は図１に示すＨＤＤの主コントローラである。ＣＰＵ２３は、フラッシュＲＯＭ（ＦＲＯＭ）２４及びＲＡＭ２５と接続されている。ＦＲＯＭ２４は、ＣＰＵ２３により実行される制御プログラム２４１が予め格納された書き換え可能な不揮発性メモリである。ＲＡＭ２５の記憶領域の一部は、ＣＰＵ２３のワーク領域として用いられる。
【００２５】
制御プログラム２４１は、ヘッド１２をディスク１１上の目標位置に位置付ける制御のための周知のルーチンに加えて、補正値算出ルーチン２４１ａ及び通常動作ルーチン２４１ｂを含む。補正値算出ルーチン２４１ａはディスク１１の偏心量（ディスク偏心量）を２つの異なる手法（第１及び第２の偏心量測定手法）で測定する処理と、第１及び第２の偏心量測定手法のうちの第２の偏心量測定手法を用いてディスク偏心量を測定する際の補正値（補正データ）を算出する処理とを含む。ここでは、補正値は、サーボ領域１１０毎に算出される。
【００２６】
第１の偏心量測定手法の特徴は、ヘッド１２を内周ストッパ１７ｂに押し付けた状態で各サーボ領域１１０に記録されているサーボ情報中のシリンダアドレスを読み取り、その読み取られたシリンダアドレス（シリンダアドレス測定結果）に基づいてディスク偏心量を測定することにある。第２の偏心量測定手法の特徴は、サーボ間隔カウンタ２２１によって計測されるサーボ間隔に基づいてディスク偏心量を測定することにある。ＦＲＯＭ２４の記憶領域の一部は、補正値算出ルーチン２４１ａの実行によって算出される補正値を格納する補正値領域２４２として用いられる。
【００２７】
次に、本実施形態における補正値算出ルーチン２４１ａ及び通常動作ルーチン２４１ｂに従うディスク偏心量測定処理を含む動作について説明する。  
まず、図１のＨＤＤの製造時に実行される補正値算出ルーチン２４１ａの処理手順について、図３のフローチャートを参照して説明する。なお、補正値算出ルーチン２４１ａは、通常動作ルーチン２４１ｂの実行によりディスクシフトが判定された場合にも実行される。
【００２８】
今、図１のＨＤＤの製造時に、当該ＨＤＤに対してホストから補正値算出モード（第１のモード）を指定する特定コマンドが与えられたものとする。この特定コマンドは、ＨＤＣ２２で受信されて、ＣＰＵ２３に通知される。
【００２９】
ＣＰＵ２３は、ホストからの特定コマンドに応じてＨＤＤを補正値算出モードに設定する。ＣＰＵ２３は、補正値算出モードにおいて補正値算出ルーチン２４１ａを次のように実行する。まずＣＰＵ２３は、ＶＣＭドライバ１８２を制御してアクチュエータ１４を駆動させることにより、当該アクチュエータ１４の支持フレーム１４３の磁性部材１４３ｂを内周ストッパ１７ｂにラッチさせる（ステップＳ１）。つまりＣＰＵ２３は、ＶＣＭドライバ１８２により、アクチュエータ１４を内周ストッパ１７ｂに押し付けさせる。この状態を、内周押し付け状態と呼ぶ。内周押し付け状態において、ヘッド１２によってディスク１１から読み取られた信号（リード信号）はヘッドＩＣ２０によって増幅される。リード／ライトＩＣ２１は、ヘッドＩＣ２０によって増幅されたリード信号をデジタルデータに変換し、当該デコードデータから各サーボ領域１１０に記録されているサーボ情報を順次抽出する。リード／ライトＩＣ２１は、サーボ領域１１０からサーボ情報を抽出する毎に、当該サーボ情報からシリンダアドレス、セクタアドレス及びＰＥＳ（バーストデータ）を抽出して、当該シリンダアドレス、セクタアドレス及びＰＥＳをＣＰＵ２３に送出する。ここでセクタアドレスは、サーボ領域１１０を含むサーボセクタを特定する。
【００３０】
ＣＰＵ２３は、サーボ領域１１０毎にリード／ライトＩＣ２１から送出されるシリンダアドレス及びセクタアドレスを取得する。即ちＣＰＵ２３は、リード／ライトＩＣ２１を用いてサーボ領域１１０毎にシリンダアドレス及びセクタアドレスを測定する（ステップＳ２ａ）。ＣＰＵ２３は、このサーボ領域１１０毎のシリンダアドレス及びセクタアドレスに基づいて、サーボ領域１１０毎のディスク偏心量を算出する（ステップＳ３ａ）。このステップＳ３におけるディスク偏心量算出について詳述する。
【００３１】
まず、内周押し付け状態において、リード／ライトＩＣ２１によってサーボ領域１１０毎に抽出されるシリンダアドレスをｃｙｌ＿ｄａｔａで表す。ＣＰＵ２３は、このサーボ領域１１０毎のシリンダアドレスｃｙｌ＿ｄａｔａとディスク偏心がない理想的な状態においてリード／ライトＩＣ２１により抽出されるべきシリンダアドレス（理論値）とから、サーボ領域１１０毎のディスク偏心量を算出する。ここで、リード／ライトＩＣ２１によってサーボ領域１１０毎にシリンダアドレスと共に抽出されるセクタアドレスは、当該サーボ領域１１０を含むサーボセクタＳＶｉ（ｉ＝１，２，…，ｎ）を特定する。
【００３２】
したがってＣＰＵ２３は、内周押し付け状態におけるサーボ領域１１０毎のシリンダアドレス及びセクタアドレス測定（以下、シリンダアドレス測定と略称する）により、サーボセクタＳＶｉ毎のディスク偏心量を算出する。ここでは、シリンダアドレス測定を複数周分（例えば１０周分）繰り返して、サーボセクタ毎に平均値を算出することにより、サーボセクタＳＶi毎のディスク偏心量が算出される。但し本実施形態では、次に述べるサーボ間隔に基づいて算出されるサーボセクタＳＶi毎のディスク偏心量と単位を揃えるために、理論値に対するサーボセクタＳＶi毎のディスク偏心率がディスク偏心量として算出される。即ち、サーボセクタＳＶi毎のシリンダアドレスｃｙｌ＿ｄａｔａに、理論値に対応する単位換算係数ｃ２を乗ずることにより、サーボセクタＳＶi毎のディスク偏心量（ディスク偏心率）が算出（測定）される。
【００３３】
さて、リード／ライトＩＣ２１はサーボ領域１１０毎にサーボ情報を抽出すると、当該サーボ情報をＨＤＣ２２に送出する。ＨＤＣ２２内のサーボコントローラ２２０は、リード／ライトＩＣ２１によって抽出されたサーボ情報からサーボマーク２０２を検出する。サーボコントローラ２２０は、サーボマーク２０２を検出する毎に、サーボ検出信号２２１をアサートする。
【００３４】
サーボ間隔カウンタ２２２は、サーボ検出信号２２１がアサートされる時間間隔であるサーボ間隔をサーボクロックＣＬＫにより計測する。つまり、サーボ間隔カウンタ２２２は、サーボ間隔に相当するクロック数をカウントする。サーボ間隔カウンタ２２２によるカウント開始後に再びサーボ検出信号２２１がアサートされると、その際のサーボ間隔カウンタ２２２のカウント値がレジスタ２２３にラッチされると同時に当該カウンタ２２２が“０”クリアされ、当該カウンタ２２２は再度計測を開始する。
【００３５】
ＣＰＵ２３は、レジスタ２２３にラッチされたカウント値、つまりサーボ間隔カウンタ２２２によって測定されたサーボ間隔（サーボ間隔測定値）を取り込む。このようにＣＰＵ２３は、ＨＤＣ２２のサーボコントローラ２２０、サーボ間隔カウンタ２２２及びレジスタ２２３を用いて、サーボ領域１１０毎にサーボ間隔を測定する（ステップＳ２ｂ）。
【００３６】
前述したように、サーボ領域１１０はディスク１１の円周方向に等間隔で離散的に配置されている。このため、ディスク１１上のサーボトラック１１２の中心がＳＰＭ１３の回転中心に対して偏心している場合、ヘッド１２によって読み取られたサーボ情報からサーボマーク２０２が検出される都度アサートされるサーボ検出信号２２１に基づいて測定されるサーボ間隔も、偏心の量に応じて現れる内外周のサーボピッチ（距離）の変動により変動する。
【００３７】
そこでＣＰＵ２３は、サーボ領域１１０毎にサーボ間隔カウンタ２２２によって逐次測定されるサーボ間隔（当該サーボ領域１１０と当該サーボ領域１１０に後続するサーボ領域１１０との間隔）から、つまりサーボセクタＳＶi毎のサーボ間隔から、ディスク１１の回転に同期した偏心の１次成分（１次偏心成分）をディスク偏心量として算出する（ステップＳ３ｂ）。但し本実施形態では、前述のシリンダアドレス測定に基づいて算出されるサーボセクタＳＶi毎のディスク偏心量と単位を揃えるために、ディスク偏心がない理想的な状態におけるサーボ間隔（理論値）を基準とするサーボセクタＳＶi毎のディスク偏心率がディスク偏心量として算出される。即ち、サーボセクタＳＶi毎のサーボ間隔（単位：クロック数）をｓｖｉｔｖ＿ｄａｔａで表現すると、当該サーボ間隔ｓｖｉｔｖ＿ｄａｔａに理論値に対応する単位換算係数ｃ１を乗ずることにより、サーボセクタＳＶi毎のディスク偏心量（偏心率）が算出される。
【００３８】
上述の内周押し付け状態におけるシリンダアドレス測定に基づく偏心量測定手法、つまり第１の偏心量測定手法は、ＳＰＭ１３の回転変動の影響を受けないため、ディスク偏心量を高精度に測定できる。但し第１の偏心量測定手法は、内周ストッパ１７ｂの耐久性に影響を及ぼす。また第１の偏心量測定手法は、ヘッド１２をディスク１１の内周（つまり目標位置とは無関係のディスク１１上の位置）に移動する必要があることから測定に多大な時間を要する。このため第１の偏心量測定手法を通常動作で多用することは好ましくない。
【００３９】
一方、サーボ間隔測定に基づく偏心量測定手法（つまり第２の偏心量測定手法）は、内周押し付け状態を必要としないため、内周ストッパ１７ｂの耐久性に影響を及ぼすおそれはなく、測定も短時間で行えるため、通常動作での適用、例えば前記特許文献１に記載されているような、Ｒ−Ｗオフセットをトラック半径位置及びそのトラックの偏心量に応じて補正するための、いわゆるダイナミックオフセットコントロール（ＤＯＣ）での適用に適している。しかし、第２の偏心量測定手法で測定されるサーボ間隔はディスク１１の偏心だけでなくＳＰＭ１３の回転変動によっても変動する。このため、第２の偏心量測定手法で測定されるサーボセクタＳＶi毎のディスク偏心量は、ＳＰＭ１３の回転変動の成分を含む。
【００４０】
この回転変動の成分の量（ＳＰＭ回転変動量）を測定できるならば、第２の偏心量測定手法で測定されたディスク偏心量から当該ＳＰＭ回転変動量を差し引くことにより、ディスク偏心量を高精度に測定できる。ここではＳＰＭ回転変動量は、第２の偏心量測定手法で測定されたディスク偏心量を補正するための補正値（補正データ）として用いられる。
【００４１】
前述したように、第１の偏心量測定手法は、多用できないものの、ディスク偏心量を高精度に測定できる。したがって、第１の偏心量測定手法で求められたディスク偏心量と第２の偏心量測定手法で求められたディスク偏心量との差分は、ＳＰＭ回転変動量を表していると見なすことができる。図５は、第１の偏心量測定手法（内周押し付け状態におけるシリンダアドレス測定）で求められたディスク偏心量５１と第２の偏心量測定手法（サーボ間隔測定）で求められたディスク偏心量５２とＳＰＭ回転変動量５３との関係の一例を、ディスク１１の１周分について示す。
【００４２】
ＣＰＵ２３は、第１の偏心量測定手法で測定されたディスク偏心量と第２の偏心量測定手法で測定されたディスク偏心量との差分をサーボセクタＳＶi毎にとることで、サーボセクタＳＶi毎のＳＰＭ回転変動量を補正値として算出する（ステップＳ４）。このサーボセクタＳＶi毎のＳＰＭ回転変動量（補正値）は、図１のＨＤＤの通常動作におけるモータ起動時に実行される第２の偏心量測定手法によるディスク偏心量測定で用いられる。
【００４３】
そこでＣＰＵ２３は、サーボ間隔と単位を合わせるために、次式
ＳＰＭ回転変動量
＝｛（ｓｖｉｔｖ＿ｄａｔａ＊ｃ１）−（ｃｙｌ＿ｄａｔａ＊ｃ２）｝＊ｃ３  （１）
に示すように、第１の偏心量測定手法で測定されたディスク偏心量と第２の偏心量測定手法で測定されたディスク偏心量との差分に所定の変換係数（クロック変換係数）ｃ３を乗ずることにより、クロック数を単位とするＳＰＭ回転変動量を算出する。つまりＣＰＵ２３は、｛（ｓｖｉｔｖ＿ｄａｔａ＊ｃ１）−（ｃｙｌ＿ｄａｔａ＊ｃ２）｝で示されるＳＰＭ回転変動量を、クロック変換係数ｃ３により、クロック数を単位とするＳＰＭ回転変動量に換算する。
【００４４】
ＣＰＵ２３は、算出されたサーボセクタＳＶi毎のＳＰＭ回転変動量を、例えばテーブル形式でＦＲＯＭ２４の補正値領域２４２に補正値として格納する（ステップＳ５）。
【００４５】
次に、図１のＨＤＤの通常動作におけるＳＰＭ１３の起動時に実行される通常動作ルーチン２４１ｂの処理手順について、図４のフローチャートを参照して説明する。
【００４６】
ＣＰＵ２３は、ＳＰＭ１３が起動されると、ＨＤＤを通常動作モード（第２のモード）に設定する。ＣＰＵ２３は、通常動作モードにおいて、通常動作ルーチン２４１ｂを次のように実行する。まずＣＰＵ２３は、ＶＣＭドライバ１８２によってＶＣＭ１５を駆動させることで、ヘッド１２をディスク１１の所定の半径位置、例えば中周位置に移動させる。この状態でＣＰＵ２３は、ＨＤＣ２２のサーボコントローラ２２０、サーボ間隔カウンタ２２２及びレジスタ２２３を利用して、サーボセクタＳＶｉ毎のサーボ間隔を測定する（ステップＳ１１）。この通常動作モードでのサーボ間隔測定が、前述の補正値算出モードとは異なり、内周押し付け状態でない状態、つまり非内周押し付け状態で行われる点に注意されたい。なお、サーボ間隔の測定対象するディスク１１上の半径位置は、中周位置に限らない。
【００４７】
測定されたサーボセクタＳＶｉ毎のサーボ間隔は、ＳＰＭ１３の回転変動成分を含む。そこでＣＰＵ２３は、次式
｛（サーボ間隔測定値）−（補正値）｝
に示されるように、測定されたサーボセクタＳＶｉのサーボ間隔（つまりサーボ間隔測定値）からＦＲＯＭ２４の補正値領域２４２に当該サーボセクタＳＶｉに対応付けて格納されている補正値（つまり式（１）に従って算出された回転変動量）を減じることにより、サーボセクタＳＶｉのサーボ間隔測定値を回転変動成分が除去された（回転変動成分の影響が排除された）値に補正する（ステップＳ１２）。ＣＰＵ２３は、以上の補正を、ディスク１１の１周分の全サーボセクタ、つまりｉ＝１，２，…，ｎのサーボセクタＳＶｉのサーボ間隔測定値について繰り返す。
【００４８】
ＣＰＵ２３は、サーボセクタＳＶｉ毎の補正されたサーボ間隔を離散フーリエ変換演算（ＤＦＴ演算）することにより、ディスク１１の回転に同期した偏心（ＳＰＭ１３の回転中心を基準とするサーボトラック１１２の中心のずれ）の１次成分をディスク偏心量として算出する（ステップＳ１３）。ここでは、偏心の１次成分は、ＳＩＮ（サイン）及びＣＯＳ（コサイン）の各成分に分離して求められる。
【００４９】
ＣＰＵ２３は、算出されたディスク偏心量（偏心の１次成分）の振幅を閾値と比較することにより、ＳＰＭ１３の回転中心を基準とするサーボトラック１１２の中心のずれが一定値を超えるディスクシフトが発生しているかを判定する（ステップＳ１４）。もし、ディスクシフトが発生しているならば、ＣＰＵ２３は補正値の再測定を行うために、ＨＤＤのモードを通常動作モードから補正値算出モード切り替えて補正値算出ルーチン２４１ａを実行する。つまりＣＰＵ２３は、再度内周押し付け状態でのシリンダアドレス測定とサーボ間隔測定とを行って、上述の補正値を再計算する。
【００５０】
これに対して、ディスクシフトが発生していないならば、ＣＰＵ２３はヘッド１２を目標位置に位置付けるヘッド位置決め制御においてＤＯＣを実行する。ＣＰＵ２３は、ＤＯＣによって補正されたＲ−Ｗオフセットに従ってヘッド１２をディスク１１上の目標位置に位置付ける。
【００５１】
このように本実施形態よれば、通常動作において、非内周押し付け状態でのサーボ間隔測定に基づくディスク偏心量の測定を行いながら、サーボ間隔測定値を回転変動成分が除去された値に補正できるため、サーボ間隔測定の精度を高めることができる。このため本実施形態においては、内周押し付け状態での測定を製造時とディスクシフト発生時にのみに制限することにより、通常動作での内周押し付け状態での測定を避けてＨＤＤの信頼性を維持しつつ、ＤＯＣを適用することが可能となる。また、この手法により、サーボ間隔を利用したディスクシフト判定の精度も向上し誤検出を回避できる。
【００５２】
なお、補正されたサーボセクタＳＶｉ毎のサーボ間隔からディスクシフト発生を判定することも可能である。但し、この判定手法では、高次周波数成分の影響により判定精度が低下するおそれがある。
【００５３】
［変形例］
次に前記実施形態の変形例について説明する。本変形例では、補正値領域２４２に格納される補正値のデータ量を減らすために、補正値算出ルーチン２４１ａの処理に前記実施形態と異なる手順が適用される。これに伴い、通常動作ルーチン２４１ｂの処理にも、前記実施形態と異なる手順が適用される。
【００５４】
まず、本変形例で適用される補正値算出ルーチン２４１ａの処理手順について、前記実施形態と異なる部分を中心に、図６のフローチャートを参照して説明する。図６において、図３のフローチャートと同様のステップには同一符号を付してある。本変形例において補正値算出ルーチン２４１ａが実行される条件は前記実施形態と同様である。
【００５５】
前記実施形態においてＣＰＵ２３は、補正値算出ルーチン２４１ａの実行により、上記（１）式で示されるサーボセクタＳＶｉ毎の回転変動量が補正値として算出する（ステップＳ４）。そしてＣＰＵ２３は、サーボセクタＳＶｉ毎の補正値（回転変動量）をＦＲＯＭ２４の補正値領域２４２に格納する（ステップＳ５）。
【００５６】
これに対して本変形例におけるＣＰＵ２３は、サーボセクタＳＶｉ毎の回転変動量が算出されると（ステップＳ４ａ）、当該サーボセクタＳＶｉ毎の回転変動量に離散フーリエ変換演算（ＤＦＴ演算）を施して、回転変動の１次成分のベクトル（回転変動成分ベクトル）を算出する（ステップＳ４ｂ）。ここでは、回転変動成分ベクトルのＳＩＮ（サイン）及びＣＯＳ（コサイン）の各成分が算出される。ＣＰＵ２３は、算出された回転変動成分ベクトルを補正値として補正値領域２４２に格納する（ステップＳ５ａ）。本変形例によれば、サーボセクタＳＶｉ毎の補正値を補正値領域２４２に格納する場合と比較して、補正値領域２４２に格納する補正値のデータ量を大幅に削減できる。
【００５７】
次に本変形例で適用される通常動作ルーチン２４１ｂの処理手順について、前記実施形態と異なる部分を中心に、図７のフローチャートを参照して説明する。図７において、図４のフローチャートと同様のステップには同一符号を付してある。本変形例において通常動作ルーチン２４１ｂが実行される条件は前記実施形態と同様である。
【００５８】
本変形例におけるＣＰＵ２３は、サーボセクタＳＶｉ毎のサーボ間隔が測定されると（ステップＳ１１）、当該サーボセクタＳＶｉ毎のサーボ間隔測定値に離散フーリエ変換演算（ＤＦＴ演算）を施して、サーボ間隔の１次成分ベクトルを算出する（ステップＳ１２ａ）。そしてＣＰＵ２３は、次式
｛（サーボ間隔の１次成分ベクトル）−（回転変動成分ベクトル）｝
に示すように、サーボ間隔の１次成分ベクトルから補正値領域２４２に格納されている回転変動成分ベクトルを減じることにより、回転変動成分が排除された偏心の１次成分ベクトルを算出する（ステップＳ１２ｂ）。ＣＰＵ２３は、偏心の１次成分ベクトルの振幅を閾値と比較することにより、ディスクシフトが発生しているかを判定する（ステップＳ１４ａ）。
【００５９】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】同実施形態で適用されるサーボトラックのフォーマットと当該サーボトラック上の各サーボ領域に書き込まれているサーボ情報のフォーマットとを示す図。
【図３】同実施形態で適用される補正値算出ルーチンの処理手順を示すフローチャート。
【図４】同実施形態で適用される通常動作ルーチンの処理手順を示すフローチャート。
【図５】同実施形態において第１の偏心量測定手法で求められたディスク偏心量と第２の偏心量測定手法で求められたディスク偏心量と当該両偏心量の差分をとることにより求められたＳＰＭ回転変動量との関係の一例を図。
【図６】同実施形態の変形例で適用される補正値算出ルーチンの処理手順を示すフローチャート。
【図７】同変形例で適用される通常動作ルーチンの処理手順を示すフローチャート。
【符号の説明】
【００６１】
１１…ディスク、１２…ヘッド、１３…ＳＰＭ（スピンドルモータ）、１４…アクチュエータ、１５…ＶＣＭ（ボイスコイルモータ）、１７ｂ…内周ストッパ、２１…リード／ライトＩＣ、２２…ＨＤＣ（ディスクコントローラ）、２３…ＣＰＵ、２４…ＦＲＯＭ（フラッシュメモリ）、１１０…サーボ領域、１１１…ユーザデータ領域、１１２…サーボトラック、２２０…サーボコントローラ、２２２…サーボ間隔カウンタ、２２３…レジスタ、２４１ａ…補正値算出ルーチン、２４１ｂ…通常動作ルーチン、２４２…補正値領域。
【図１】
2008034067.tif 000003
【図２】
2008034067.tif 000004
【図３】
2008034067.tif 000005
【図４】
2008034067.tif 000006
【図５】
2008034067.tif 000007
【図６】
2008034067.tif 000008
【図７】
2008034067.tif 000009