説明

ディスク偏心量測定方法及び同方法を適用するディスク記憶装置

【課題】信頼性の高いディスクの偏心量測定が高精度に行えるようにする。
【解決手段】第1のモードで設定される内周押し付け状態において(S1)、サーボ領域毎にシリンダアドレス及びサーボ間隔を測定する(S2a,S2b)。サーボ領域毎のサーボ間隔及びシリンダアドレスの両測定値の単位を揃え、この単位が揃えられた両測定値の差分をとることで回転変動量を算出する(S3a,S3b,S4)。算出された回転変動量を表す補正情報を記憶手段に格納する(S5)。第2のモードにおいて、サーボ領域毎にサーボ間隔を測定し、測定されたサーボ領域毎のサーボ間隔を記憶手段に格納されている補正情報に基づいて回転変動成分が除去された値に補正することにより、当該補正されたサーボ間隔に基づいてスピンドルモータの回転中心を基準とするサーボトラックの中心のずれの量をディスクの偏心量として算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スピンドルモータによって回転されるディスクを備えたディスク記憶装置に係り、特に当該ディスクの偏心量を測定するためのディスク偏心量測定方法及び同方法を適用するディスク記憶装置に関する。
【背景技術】
【0002】
磁気ディスク装置は、記録媒体にディスク(ディスク媒体)を用いたディスク記憶装置の代表として良く知られている。磁気ディスク装置では、一般に、ディスク上の目標位置にヘッドを位置付けるためのヘッド位置決め制御が行われる。ヘッド位置決め制御では、アクチュエータが制御対象として扱われる。アクチュエータは、ヘッドをディスクの半径方向に移動可能に支持する。ヘッド位置決め制御では、ディスクに書き込まれた(埋め込まれた)サーボデータに基づいてアクチュエータの駆動が制御される。ここでは、ヘッドを目標トラックまで移動させるためのシーク制御と、目標トラックに移動されたヘッドを当該目標トラックの目標範囲内に整定するためのトラック追従制御とが実行される。
【0003】
さて、磁気ディスク装置におけるトラック追従性能を低下させる要因として、ディスクの回転に伴う当該ディスクの偏心(disk runout)が知られている。ディスクの偏心は、磁気ディスク装置の製造行程でディスクをスピンドルモータのハブに固定する際の組立誤差などに起因して発生する。ディスクの偏心は、トラック追従制御ではトラックの偏心として現れることから、そのトラックの偏心にヘッドを追従させる必要がある。
【0004】
ところで、リードヘッドとライトヘッドとが分離して同一スライダ上に実装された、いわゆる複合ヘッドを有するディスク記憶装置では、リードヘッドとライトヘッドのディスク上の半径方向の位置が異なる、いわゆるオフセット(以下、R−Wオフセットと称する)が発生する。このR−Wオフセットは、ディスクの偏心(トラックの偏心)によって変化する。
【0005】
そこで、例えば特許文献1には、R−Wオフセットを、トラック半径位置及びそのトラックの偏心量に応じてトラック毎に且つ1トラック内で変化させる(補正する)技術が記載されている。この技術をダイナミックオフセットコントロール技術(DOC技術)と呼ぶ。また、特許文献1で適用される偏心量を測定する技術が特許文献2に記載されている。
【特許文献1】特開2005−216378号公報
【特許文献2】特開平11−126444号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
前記特許文献1によれば、ディスクの偏心量を測定することにより、当該ディスクの偏心を考慮したR−Wオフセット補正によるヘッド位置決め制御が行われる。
【0007】
ところで、外部からディスク記憶装置に過大な衝撃が加わると、トラック(サーボトラック)の中心がスピンドルモータの回転軸からずれる、いわゆるディスクシフトが発生するおそれがある。このディスクシフトは、ディスク装置の組立時のディスクの偏心量と動作時のディスクの偏心量とに基づいて判定することが可能である。この偏心量の測定には、前記特許文献2に記載された手法が適用可能である。
【0008】
しかし、特許文献2に記載されたディスクの偏心量を測定する手法では、ディスクを回転させるスピンドルモータの回転速度が変動すること(スピンドルモータの回転変動)は考慮されていない。この場合、ディスクの偏心量を高精度に測定することは期待できない。
【0009】
本発明は上記事情を考慮してなされたものでその目的は、信頼性の高いディスクの偏心量測定が高精度に行えるディスク偏心量測定方法及び同方法を適用するディスク記憶装置を提供することにある。
【課題を解決するための手段】
【0010】
本発明の1つの態様によれば、スピンドルモータによって回転されるディスクの半径方向にヘッドを移動可能に支持するアクチュエータを、前記ディスクに形成された同心円状の複数のサーボトラックに等間隔で離散的に配置されたサーボ領域から当該ヘッドにより読み出されるサーボ情報に基づいて駆動することにより、当該ヘッドを前記ディスク上の目標位置に位置付けるディスク記憶装置において、前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として測定するためのディスク偏心量測定方法が提供される。この方法は、第1のモードにおいて、前記ヘッドが前記ディスクの内周から外れるのを防止する内周ストッパに前記アクチュエータを押し付ける内周押し付け状態を設定するステップと、前記内周押し付け状態において、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に含まれているシリンダアドレスを測定すると共に、前記サーボ領域毎に読み取られるサーボ情報に基づいて、前記ヘッドが隣接するサーボ領域間を通過する時間間隔であるサーボ間隔を測定するステップと、前記サーボ領域毎のサーボ間隔の測定値と前記サーボ領域毎のシリンダアドレスの測定値との単位を揃え、この単位が揃えられた前記両測定値の差分をとることで、前記スピンドルモータの回転速度の変動に起因する回転変動量を算出するステップと、前記算出された回転変動量を表す補正情報を記憶手段に格納するステップと、第2のモードにおいて、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に基づいて前記サーボ領域毎に前記サーボ間隔を測定するステップと、前記第2のモードにおいて測定された前記サーボ領域毎のサーボ間隔を、前記記憶手段に格納されている補正情報に基づいて前記スピンドルモータの回転速度の変動に起因する回転変動成分が除去された値に補正することにより、当該補正されたサーボ間隔に基づいて前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として算出するステップとを具備する。
【発明の効果】
【0011】
本発明によれば、第1のモードにおいて設定される内周押し付け状態(内周ストッパにアクチュエータを押し付ける状態)でのシリンダアドレス測定及びサーボ間隔測定によりスピンドルモータの回転速度の変動に起因する回転変動量を取得して、当該回転変動量を表す補正情報を記憶手段に格納することにより、第2のモードにおいて当該内周押し付け状態を設定することなくサーボ間隔のみを測定しても、その測定値を前記補正情報に基づいて回転変動成分を除去した値に補正できる。このため本発明によれば、サーボ間隔測定の精度を高めて、サーボ間隔測定に基づくディスクの偏心量測定の精度を向上することができると共に、内周押し付け状態を多用しないために信頼度の高い偏心量測定が行える。
【発明を実施するための最良の形態】
【0012】
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する。図1は本発明の一実施形態に係る磁気ディスク装置(HDD)の構成を示すブロック図である。図1において、ディスク(磁気ディスク媒体)11の例えば上側のディスク面はデータが磁気記録される記録面をなしている。このディスク11の記録面に対応してヘッド(磁気ヘッド)12が配置されている。ヘッド12は、ディスク11へのデータ書き込み(データ記録)及びディスク11からのデータ読み出し(データ再生)に用いられる。なお、ディスク11の下側のディスク面も記録面をなし、その記録面に対応してヘッド12と同様のヘッドが配置されているものとする。図1の構成では、単一枚のディスク11を備えたHDDを想定している。しかし、ディスク11が複数枚積層配置されたHDDであっても構わない。
【0013】
ディスク11の各記録面には、複数のサーボ領域110がディスク11の半径方向に放射状に、且つディスク11の円周方向に等間隔で離散的に配置されている。ディスク11の記録面上の隣接するサーボ領域110の間は、ユーザデータ領域111に割り当てられている。ディスク11の各記録面には、同心円状の複数のサーボトラック112が配置されている。各サーボ領域110には、サーボトラック112毎に、サーボ情報が予め書き込まれて(埋め込まれて)いる。図1では、作図の都合で、サーボ領域110の個数nが12の場合が示されている。しかしnは、図1のHDDが0.85インチHDDの場合を例にとると、100程度である。
【0014】
図2は、サーボトラック112のフォーマットと当該サーボトラック112上の各サーボ領域110に書き込まれているサーボ情報のフォーマットとを示す。
サーボトラック112のサーボ領域110と当該サーボ領域110に後続するユーザデータ領域111とは、サーボセクタを構成する。ユーザデータ領域111にはデータセクタが複数個配置される。
【0015】
サーボ領域110に書き込まれているサーボ情報は、プリアンブル201と、サーボマーク(SM)202と、アドレスコード203と、位置誤差信号(positional error signal)(以下、PESと称する)204とを含む。
【0016】
プリアンブル201は、信号の振幅を安定化するのに用いられる一定の周波数の自動利得制御(AGC)信号を含む。サーボマーク202は、対応するサーボ情報(サーボ領域110)を識別するための特定のコード(パターン信号)である。アドレスコード203は、シリンダアドレス(シリンダ番号)とセクタアドレス(セクタ番号)とを含む。シリンダアドレスは、対応するサーボ情報が書き込まれているディスク11上のシリンダ(トラック)位置を示す。セクタアドレスは、同一シリンダ(トラック)上でのサーボ領域110の配列における、対応するサーボ情報が書き込まれているサーボ領域110の順番を示す。PES204は、対応するサーボ情報が書き込まれているシリンダにおけるヘッドの相対的な位置情報(位置誤差)を示すバースト信号である。アドレスコード203(中のシリンダコード)及びPES204は、ヘッド12をディスク11上の目標位置に位置付ける制御に用いられる位置情報である。
【0017】
再び図1を参照すると、ディスク11はスピンドルモータ(以下、SPMと称する)13により高速に回転させられる。ヘッド12はヘッド移動機構としてのアクチュエータ(キャリッジ)14に取り付けられている。更に具体的に述べるならば、ヘッド12はアクチュエータ14のアーム140から延出したサスペンション141に取り付けられている。アクチュエータ14は、基台として機能するHDDのケースの底壁上に固定された軸受け組み立て体142を有している。アーム140は、この軸受け組み立て体142から延出している。アクチュエータ14はまた、アーム140とは反対方向に延出した例えばV字形状の支持フレーム143を有している。アクチュエータ14は、軸受け組み立て体142を中心として回動自在である。これにより、アーム140を介してサスペンション141に支持されたヘッド12は、アーム140及びサスペンション141と一体的に回動し、ディスク11上の任意のトラック位置及び後述するランプ16へ、ディスク11の半径方向に移動可能となっている。アクチュエータ14は、当該アクチュエータ14の駆動源となるボイスコイルモータ(以下、VCMと称する)15を有しており、当該VCM15により駆動される。支持フレーム143には、VCM15の一部を構成するコイル(VCMコイル)が固定されている。
【0018】
ディスク11の外周側には、当該ディスク11から外れた位置にランプ16が配置されている。更に具体的に述べるならば、ランプ16は、ディスク11の外周に近接し、且つタブ144の移動経路上のディスク11から外れた位置に配置される。ランプ16は、HDDが特定の非動作状態に移行する際に、ヘッド12をディスク11から離間したパーキング位置(退避位置)にアンロード(リトラクト)させておくのに用いられる。ここでランプ16上には、ヘッド12ではなくて、当該ヘッド12を支持するアクチュエータ14の先端部に形成されたタブ144が位置する。しかし、煩雑な表現を避けるため、ヘッド12がランプ16にアンロードされると表現する。HDDの特定の非動作状態とは、ディスク11の回転が停止している状態(つまりSPM13が停止している状態)の他に、ディスク11は回転していても一定期間以上ホストからのコマンドの発行(アクセス要求)がない状態も含むものとする。ランプ16のディスク11側の面は傾斜しており、ヘッドアンロード時にヘッド12をディスク11からランプ16上に滑らかに案内するためのガイド面をなす。
【0019】
図1のHDDには、例えばマグネットによって構成される外周ストッパ17a及び内周ストッパ17bが設けられている。外周ストッパ17aは、アクチュエータ14を駆動してヘッド12をアンロードした際に、当該ヘッド12(タブ144)がランプ16の所定位置で停止するように、当該アクチュエータ14をラッチする(アクチュエータ14の動作を規制する)のに用いられる。そのために外周ストッパ17aは、ヘッド12がランプ16のパーキング位置を超えて当該ランプ16外に飛び出そうとした際に、アクチュエータ14の支持フレーム143のうち、ディスク11に近い側の一端に固定された、例えば鉄からなる磁性部材143aが、当該外周ストッパ17aと磁性部材143aとの間に働く磁気吸引力により当該外周ストッパ17aにラッチされる位置に配置されている。一方、内周ストッパ17bは、ヘッド12がディスク11の内周から飛び出してSPM13に衝突するのを防止するために、つまりヘッド12がディスク11の内周から飛び出さないように、アクチュエータ14をラッチするのに用いられる。そのために内周ストッパ17bは、ヘッド12がディスク11の内周を超えてSPM13側に飛び出そうとした際に、アクチュエータ14の支持フレーム143のうち、ディスク11から遠い側の一端に固定された、例えば鉄からなる磁性部材143bが、当該内周ストッパ17bと磁性部材143bとの間に働く磁気吸引力により当該内周ストッパ17bにラッチされる位置に配置されている。
【0020】
SPM13及びVCM15は、ドライバIC18からそれぞれ供給される駆動電流(SPM電流及びVCM電流)により駆動される。ドライバIC18は、SPMドライバ181とVCMドライバ182とを含む。SPMドライバ181は、後述するCPU23から指定された値のSPM電流をSPM13に対して供給する。VCMドライバ182はCPU23から指定された値のVCM電流をVCM15に対して供給する。
【0021】
ヘッド12はヘッドIC(ヘッドアンプ回路)20と接続されている。ヘッドIC20は、ヘッド12により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトアンプ(いずれも図示せず)を有する。ヘッドIC20は、リード/ライトIC(リード/ライトチャネル)21と接続されている。リード/ライトIC21は、各種の信号処理を実行する信号処理デバイスである。リード/ライトIC21は、ヘッドIC20により増幅されたリード信号に対するA/D(アナログ/ディジタル)変換処理及びA/D変換後のデータからサーボ情報を抽出するサーボ検出(サーボデコード)処理を行う。リード/ライトIC21は、抽出されたサーボ情報を後述するHDC22に送出する。リード/ライトIC21はまた、抽出されたサーボ情報からシリンダアドレス、セクタアドレス及びPES(バーストデータ)を抽出してCPU23に送出する。リード/ライトIC21はまた、ライトデータを符号化する処理及びリードデータを復号化する処理も行う。
【0022】
リード/ライトIC21はディスクコントローラ(以下、HDCと称する)22及びCPU23と接続されている。HDC22は、ホスト(ホストシステム)及びCPU23と接続されている。ホストは図1のHDDを利用するパーソナルコンピュータ等のデジタル機器である。HDC22は、ホストと当該HDC22との間のコマンド(ライトコマンド、リードコマンド等)及びデータの通信と、リード/ライトIC21を介して行われるディスク11との間のデータ転送の制御等を司る。
【0023】
HDC22は、サーボコントローラ220、サーボ間隔カウンタ222及びレジスタ223を含む。サーボコントローラ220は、リード/ライトIC21によって抽出されるサーボ情報からサーボマーク202を検出することによりサーボ検出信号221を例えば一定期間アサートする。この一定期間は、隣接するサーボ領域110の間隔に相当する期間よりも短く設定されている。サーボ間隔カウンタ222は、サーボ検出信号221がアサートされる時間間隔、つまりサーボ情報が検出される時間間隔(以下、サーボ間隔と称する)を所定のクロック(サーボクロック)CLKにより計測する。レジスタ223は、サーボ間隔カウンタ222のカウント値をラッチする。
【0024】
CPU23は図1に示すHDDの主コントローラである。CPU23は、フラッシュROM(FROM)24及びRAM25と接続されている。FROM24は、CPU23により実行される制御プログラム241が予め格納された書き換え可能な不揮発性メモリである。RAM25の記憶領域の一部は、CPU23のワーク領域として用いられる。
【0025】
制御プログラム241は、ヘッド12をディスク11上の目標位置に位置付ける制御のための周知のルーチンに加えて、補正値算出ルーチン241a及び通常動作ルーチン241bを含む。補正値算出ルーチン241aはディスク11の偏心量(ディスク偏心量)を2つの異なる手法(第1及び第2の偏心量測定手法)で測定する処理と、第1及び第2の偏心量測定手法のうちの第2の偏心量測定手法を用いてディスク偏心量を測定する際の補正値(補正データ)を算出する処理とを含む。ここでは、補正値は、サーボ領域110毎に算出される。
【0026】
第1の偏心量測定手法の特徴は、ヘッド12を内周ストッパ17bに押し付けた状態で各サーボ領域110に記録されているサーボ情報中のシリンダアドレスを読み取り、その読み取られたシリンダアドレス(シリンダアドレス測定結果)に基づいてディスク偏心量を測定することにある。第2の偏心量測定手法の特徴は、サーボ間隔カウンタ221によって計測されるサーボ間隔に基づいてディスク偏心量を測定することにある。FROM24の記憶領域の一部は、補正値算出ルーチン241aの実行によって算出される補正値を格納する補正値領域242として用いられる。
【0027】
次に、本実施形態における補正値算出ルーチン241a及び通常動作ルーチン241bに従うディスク偏心量測定処理を含む動作について説明する。
まず、図1のHDDの製造時に実行される補正値算出ルーチン241aの処理手順について、図3のフローチャートを参照して説明する。なお、補正値算出ルーチン241aは、通常動作ルーチン241bの実行によりディスクシフトが判定された場合にも実行される。
【0028】
今、図1のHDDの製造時に、当該HDDに対してホストから補正値算出モード(第1のモード)を指定する特定コマンドが与えられたものとする。この特定コマンドは、HDC22で受信されて、CPU23に通知される。
【0029】
CPU23は、ホストからの特定コマンドに応じてHDDを補正値算出モードに設定する。CPU23は、補正値算出モードにおいて補正値算出ルーチン241aを次のように実行する。まずCPU23は、VCMドライバ182を制御してアクチュエータ14を駆動させることにより、当該アクチュエータ14の支持フレーム143の磁性部材143bを内周ストッパ17bにラッチさせる(ステップS1)。つまりCPU23は、VCMドライバ182により、アクチュエータ14を内周ストッパ17bに押し付けさせる。この状態を、内周押し付け状態と呼ぶ。内周押し付け状態において、ヘッド12によってディスク11から読み取られた信号(リード信号)はヘッドIC20によって増幅される。リード/ライトIC21は、ヘッドIC20によって増幅されたリード信号をデジタルデータに変換し、当該デコードデータから各サーボ領域110に記録されているサーボ情報を順次抽出する。リード/ライトIC21は、サーボ領域110からサーボ情報を抽出する毎に、当該サーボ情報からシリンダアドレス、セクタアドレス及びPES(バーストデータ)を抽出して、当該シリンダアドレス、セクタアドレス及びPESをCPU23に送出する。ここでセクタアドレスは、サーボ領域110を含むサーボセクタを特定する。
【0030】
CPU23は、サーボ領域110毎にリード/ライトIC21から送出されるシリンダアドレス及びセクタアドレスを取得する。即ちCPU23は、リード/ライトIC21を用いてサーボ領域110毎にシリンダアドレス及びセクタアドレスを測定する(ステップS2a)。CPU23は、このサーボ領域110毎のシリンダアドレス及びセクタアドレスに基づいて、サーボ領域110毎のディスク偏心量を算出する(ステップS3a)。このステップS3におけるディスク偏心量算出について詳述する。
【0031】
まず、内周押し付け状態において、リード/ライトIC21によってサーボ領域110毎に抽出されるシリンダアドレスをcyl_dataで表す。CPU23は、このサーボ領域110毎のシリンダアドレスcyl_dataとディスク偏心がない理想的な状態においてリード/ライトIC21により抽出されるべきシリンダアドレス(理論値)とから、サーボ領域110毎のディスク偏心量を算出する。ここで、リード/ライトIC21によってサーボ領域110毎にシリンダアドレスと共に抽出されるセクタアドレスは、当該サーボ領域110を含むサーボセクタSVi(i=1,2,…,n)を特定する。
【0032】
したがってCPU23は、内周押し付け状態におけるサーボ領域110毎のシリンダアドレス及びセクタアドレス測定(以下、シリンダアドレス測定と略称する)により、サーボセクタSVi毎のディスク偏心量を算出する。ここでは、シリンダアドレス測定を複数周分(例えば10周分)繰り返して、サーボセクタ毎に平均値を算出することにより、サーボセクタSVi毎のディスク偏心量が算出される。但し本実施形態では、次に述べるサーボ間隔に基づいて算出されるサーボセクタSVi毎のディスク偏心量と単位を揃えるために、理論値に対するサーボセクタSVi毎のディスク偏心率がディスク偏心量として算出される。即ち、サーボセクタSVi毎のシリンダアドレスcyl_dataに、理論値に対応する単位換算係数c2を乗ずることにより、サーボセクタSVi毎のディスク偏心量(ディスク偏心率)が算出(測定)される。
【0033】
さて、リード/ライトIC21はサーボ領域110毎にサーボ情報を抽出すると、当該サーボ情報をHDC22に送出する。HDC22内のサーボコントローラ220は、リード/ライトIC21によって抽出されたサーボ情報からサーボマーク202を検出する。サーボコントローラ220は、サーボマーク202を検出する毎に、サーボ検出信号221をアサートする。
【0034】
サーボ間隔カウンタ222は、サーボ検出信号221がアサートされる時間間隔であるサーボ間隔をサーボクロックCLKにより計測する。つまり、サーボ間隔カウンタ222は、サーボ間隔に相当するクロック数をカウントする。サーボ間隔カウンタ222によるカウント開始後に再びサーボ検出信号221がアサートされると、その際のサーボ間隔カウンタ222のカウント値がレジスタ223にラッチされると同時に当該カウンタ222が“0”クリアされ、当該カウンタ222は再度計測を開始する。
【0035】
CPU23は、レジスタ223にラッチされたカウント値、つまりサーボ間隔カウンタ222によって測定されたサーボ間隔(サーボ間隔測定値)を取り込む。このようにCPU23は、HDC22のサーボコントローラ220、サーボ間隔カウンタ222及びレジスタ223を用いて、サーボ領域110毎にサーボ間隔を測定する(ステップS2b)。
【0036】
前述したように、サーボ領域110はディスク11の円周方向に等間隔で離散的に配置されている。このため、ディスク11上のサーボトラック112の中心がSPM13の回転中心に対して偏心している場合、ヘッド12によって読み取られたサーボ情報からサーボマーク202が検出される都度アサートされるサーボ検出信号221に基づいて測定されるサーボ間隔も、偏心の量に応じて現れる内外周のサーボピッチ(距離)の変動により変動する。
【0037】
そこでCPU23は、サーボ領域110毎にサーボ間隔カウンタ222によって逐次測定されるサーボ間隔(当該サーボ領域110と当該サーボ領域110に後続するサーボ領域110との間隔)から、つまりサーボセクタSVi毎のサーボ間隔から、ディスク11の回転に同期した偏心の1次成分(1次偏心成分)をディスク偏心量として算出する(ステップS3b)。但し本実施形態では、前述のシリンダアドレス測定に基づいて算出されるサーボセクタSVi毎のディスク偏心量と単位を揃えるために、ディスク偏心がない理想的な状態におけるサーボ間隔(理論値)を基準とするサーボセクタSVi毎のディスク偏心率がディスク偏心量として算出される。即ち、サーボセクタSVi毎のサーボ間隔(単位:クロック数)をsvitv_dataで表現すると、当該サーボ間隔svitv_dataに理論値に対応する単位換算係数c1を乗ずることにより、サーボセクタSVi毎のディスク偏心量(偏心率)が算出される。
【0038】
上述の内周押し付け状態におけるシリンダアドレス測定に基づく偏心量測定手法、つまり第1の偏心量測定手法は、SPM13の回転変動の影響を受けないため、ディスク偏心量を高精度に測定できる。但し第1の偏心量測定手法は、内周ストッパ17bの耐久性に影響を及ぼす。また第1の偏心量測定手法は、ヘッド12をディスク11の内周(つまり目標位置とは無関係のディスク11上の位置)に移動する必要があることから測定に多大な時間を要する。このため第1の偏心量測定手法を通常動作で多用することは好ましくない。
【0039】
一方、サーボ間隔測定に基づく偏心量測定手法(つまり第2の偏心量測定手法)は、内周押し付け状態を必要としないため、内周ストッパ17bの耐久性に影響を及ぼすおそれはなく、測定も短時間で行えるため、通常動作での適用、例えば前記特許文献1に記載されているような、R−Wオフセットをトラック半径位置及びそのトラックの偏心量に応じて補正するための、いわゆるダイナミックオフセットコントロール(DOC)での適用に適している。しかし、第2の偏心量測定手法で測定されるサーボ間隔はディスク11の偏心だけでなくSPM13の回転変動によっても変動する。このため、第2の偏心量測定手法で測定されるサーボセクタSVi毎のディスク偏心量は、SPM13の回転変動の成分を含む。
【0040】
この回転変動の成分の量(SPM回転変動量)を測定できるならば、第2の偏心量測定手法で測定されたディスク偏心量から当該SPM回転変動量を差し引くことにより、ディスク偏心量を高精度に測定できる。ここではSPM回転変動量は、第2の偏心量測定手法で測定されたディスク偏心量を補正するための補正値(補正データ)として用いられる。
【0041】
前述したように、第1の偏心量測定手法は、多用できないものの、ディスク偏心量を高精度に測定できる。したがって、第1の偏心量測定手法で求められたディスク偏心量と第2の偏心量測定手法で求められたディスク偏心量との差分は、SPM回転変動量を表していると見なすことができる。図5は、第1の偏心量測定手法(内周押し付け状態におけるシリンダアドレス測定)で求められたディスク偏心量51と第2の偏心量測定手法(サーボ間隔測定)で求められたディスク偏心量52とSPM回転変動量53との関係の一例を、ディスク11の1周分について示す。
【0042】
CPU23は、第1の偏心量測定手法で測定されたディスク偏心量と第2の偏心量測定手法で測定されたディスク偏心量との差分をサーボセクタSVi毎にとることで、サーボセクタSVi毎のSPM回転変動量を補正値として算出する(ステップS4)。このサーボセクタSVi毎のSPM回転変動量(補正値)は、図1のHDDの通常動作におけるモータ起動時に実行される第2の偏心量測定手法によるディスク偏心量測定で用いられる。
【0043】
そこでCPU23は、サーボ間隔と単位を合わせるために、次式
SPM回転変動量
={(svitv_data*c1)−(cyl_data*c2)}*c3 (1)
に示すように、第1の偏心量測定手法で測定されたディスク偏心量と第2の偏心量測定手法で測定されたディスク偏心量との差分に所定の変換係数(クロック変換係数)c3を乗ずることにより、クロック数を単位とするSPM回転変動量を算出する。つまりCPU23は、{(svitv_data*c1)−(cyl_data*c2)}で示されるSPM回転変動量を、クロック変換係数c3により、クロック数を単位とするSPM回転変動量に換算する。
【0044】
CPU23は、算出されたサーボセクタSVi毎のSPM回転変動量を、例えばテーブル形式でFROM24の補正値領域242に補正値として格納する(ステップS5)。
【0045】
次に、図1のHDDの通常動作におけるSPM13の起動時に実行される通常動作ルーチン241bの処理手順について、図4のフローチャートを参照して説明する。
【0046】
CPU23は、SPM13が起動されると、HDDを通常動作モード(第2のモード)に設定する。CPU23は、通常動作モードにおいて、通常動作ルーチン241bを次のように実行する。まずCPU23は、VCMドライバ182によってVCM15を駆動させることで、ヘッド12をディスク11の所定の半径位置、例えば中周位置に移動させる。この状態でCPU23は、HDC22のサーボコントローラ220、サーボ間隔カウンタ222及びレジスタ223を利用して、サーボセクタSVi毎のサーボ間隔を測定する(ステップS11)。この通常動作モードでのサーボ間隔測定が、前述の補正値算出モードとは異なり、内周押し付け状態でない状態、つまり非内周押し付け状態で行われる点に注意されたい。なお、サーボ間隔の測定対象するディスク11上の半径位置は、中周位置に限らない。
【0047】
測定されたサーボセクタSVi毎のサーボ間隔は、SPM13の回転変動成分を含む。そこでCPU23は、次式
{(サーボ間隔測定値)−(補正値)}
に示されるように、測定されたサーボセクタSViのサーボ間隔(つまりサーボ間隔測定値)からFROM24の補正値領域242に当該サーボセクタSViに対応付けて格納されている補正値(つまり式(1)に従って算出された回転変動量)を減じることにより、サーボセクタSViのサーボ間隔測定値を回転変動成分が除去された(回転変動成分の影響が排除された)値に補正する(ステップS12)。CPU23は、以上の補正を、ディスク11の1周分の全サーボセクタ、つまりi=1,2,…,nのサーボセクタSViのサーボ間隔測定値について繰り返す。
【0048】
CPU23は、サーボセクタSVi毎の補正されたサーボ間隔を離散フーリエ変換演算(DFT演算)することにより、ディスク11の回転に同期した偏心(SPM13の回転中心を基準とするサーボトラック112の中心のずれ)の1次成分をディスク偏心量として算出する(ステップS13)。ここでは、偏心の1次成分は、SIN(サイン)及びCOS(コサイン)の各成分に分離して求められる。
【0049】
CPU23は、算出されたディスク偏心量(偏心の1次成分)の振幅を閾値と比較することにより、SPM13の回転中心を基準とするサーボトラック112の中心のずれが一定値を超えるディスクシフトが発生しているかを判定する(ステップS14)。もし、ディスクシフトが発生しているならば、CPU23は補正値の再測定を行うために、HDDのモードを通常動作モードから補正値算出モード切り替えて補正値算出ルーチン241aを実行する。つまりCPU23は、再度内周押し付け状態でのシリンダアドレス測定とサーボ間隔測定とを行って、上述の補正値を再計算する。
【0050】
これに対して、ディスクシフトが発生していないならば、CPU23はヘッド12を目標位置に位置付けるヘッド位置決め制御においてDOCを実行する。CPU23は、DOCによって補正されたR−Wオフセットに従ってヘッド12をディスク11上の目標位置に位置付ける。
【0051】
このように本実施形態よれば、通常動作において、非内周押し付け状態でのサーボ間隔測定に基づくディスク偏心量の測定を行いながら、サーボ間隔測定値を回転変動成分が除去された値に補正できるため、サーボ間隔測定の精度を高めることができる。このため本実施形態においては、内周押し付け状態での測定を製造時とディスクシフト発生時にのみに制限することにより、通常動作での内周押し付け状態での測定を避けてHDDの信頼性を維持しつつ、DOCを適用することが可能となる。また、この手法により、サーボ間隔を利用したディスクシフト判定の精度も向上し誤検出を回避できる。
【0052】
なお、補正されたサーボセクタSVi毎のサーボ間隔からディスクシフト発生を判定することも可能である。但し、この判定手法では、高次周波数成分の影響により判定精度が低下するおそれがある。
【0053】
[変形例]
次に前記実施形態の変形例について説明する。本変形例では、補正値領域242に格納される補正値のデータ量を減らすために、補正値算出ルーチン241aの処理に前記実施形態と異なる手順が適用される。これに伴い、通常動作ルーチン241bの処理にも、前記実施形態と異なる手順が適用される。
【0054】
まず、本変形例で適用される補正値算出ルーチン241aの処理手順について、前記実施形態と異なる部分を中心に、図6のフローチャートを参照して説明する。図6において、図3のフローチャートと同様のステップには同一符号を付してある。本変形例において補正値算出ルーチン241aが実行される条件は前記実施形態と同様である。
【0055】
前記実施形態においてCPU23は、補正値算出ルーチン241aの実行により、上記(1)式で示されるサーボセクタSVi毎の回転変動量が補正値として算出する(ステップS4)。そしてCPU23は、サーボセクタSVi毎の補正値(回転変動量)をFROM24の補正値領域242に格納する(ステップS5)。
【0056】
これに対して本変形例におけるCPU23は、サーボセクタSVi毎の回転変動量が算出されると(ステップS4a)、当該サーボセクタSVi毎の回転変動量に離散フーリエ変換演算(DFT演算)を施して、回転変動の1次成分のベクトル(回転変動成分ベクトル)を算出する(ステップS4b)。ここでは、回転変動成分ベクトルのSIN(サイン)及びCOS(コサイン)の各成分が算出される。CPU23は、算出された回転変動成分ベクトルを補正値として補正値領域242に格納する(ステップS5a)。本変形例によれば、サーボセクタSVi毎の補正値を補正値領域242に格納する場合と比較して、補正値領域242に格納する補正値のデータ量を大幅に削減できる。
【0057】
次に本変形例で適用される通常動作ルーチン241bの処理手順について、前記実施形態と異なる部分を中心に、図7のフローチャートを参照して説明する。図7において、図4のフローチャートと同様のステップには同一符号を付してある。本変形例において通常動作ルーチン241bが実行される条件は前記実施形態と同様である。
【0058】
本変形例におけるCPU23は、サーボセクタSVi毎のサーボ間隔が測定されると(ステップS11)、当該サーボセクタSVi毎のサーボ間隔測定値に離散フーリエ変換演算(DFT演算)を施して、サーボ間隔の1次成分ベクトルを算出する(ステップS12a)。そしてCPU23は、次式
{(サーボ間隔の1次成分ベクトル)−(回転変動成分ベクトル)}
に示すように、サーボ間隔の1次成分ベクトルから補正値領域242に格納されている回転変動成分ベクトルを減じることにより、回転変動成分が排除された偏心の1次成分ベクトルを算出する(ステップS12b)。CPU23は、偏心の1次成分ベクトルの振幅を閾値と比較することにより、ディスクシフトが発生しているかを判定する(ステップS14a)。
【0059】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【0060】
【図1】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図2】同実施形態で適用されるサーボトラックのフォーマットと当該サーボトラック上の各サーボ領域に書き込まれているサーボ情報のフォーマットとを示す図。
【図3】同実施形態で適用される補正値算出ルーチンの処理手順を示すフローチャート。
【図4】同実施形態で適用される通常動作ルーチンの処理手順を示すフローチャート。
【図5】同実施形態において第1の偏心量測定手法で求められたディスク偏心量と第2の偏心量測定手法で求められたディスク偏心量と当該両偏心量の差分をとることにより求められたSPM回転変動量との関係の一例を図。
【図6】同実施形態の変形例で適用される補正値算出ルーチンの処理手順を示すフローチャート。
【図7】同変形例で適用される通常動作ルーチンの処理手順を示すフローチャート。
【符号の説明】
【0061】
11…ディスク、12…ヘッド、13…SPM(スピンドルモータ)、14…アクチュエータ、15…VCM(ボイスコイルモータ)、17b…内周ストッパ、21…リード/ライトIC、22…HDC(ディスクコントローラ)、23…CPU、24…FROM(フラッシュメモリ)、110…サーボ領域、111…ユーザデータ領域、112…サーボトラック、220…サーボコントローラ、222…サーボ間隔カウンタ、223…レジスタ、241a…補正値算出ルーチン、241b…通常動作ルーチン、242…補正値領域。

【特許請求の範囲】
【請求項1】
スピンドルモータによって回転されるディスクの半径方向にヘッドを移動可能に支持するアクチュエータを、前記ディスクに形成された同心円状の複数のサーボトラックに等間隔で離散的に配置されたサーボ領域から当該ヘッドにより読み出されるサーボ情報に基づいて駆動することにより、当該ヘッドを前記ディスク上の目標位置に位置付けるディスク記憶装置において、前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として測定するためのディスク偏心量測定方法であって、
第1のモードにおいて、前記ヘッドが前記ディスクの内周から外れるのを防止する内周ストッパに前記アクチュエータを押し付ける内周押し付け状態を設定するステップと、
前記内周押し付け状態において、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に含まれているシリンダアドレスを測定すると共に、前記サーボ領域毎に読み取られるサーボ情報に基づいて、前記ヘッドが隣接するサーボ領域間を通過する時間間隔であるサーボ間隔を測定するステップと、
前記サーボ領域毎のサーボ間隔の測定値と前記サーボ領域毎のシリンダアドレスの測定値との単位を揃え、この単位が揃えられた前記両測定値の差分をとることで、前記スピンドルモータの回転速度の変動に起因する回転変動量を算出するステップと、
前記算出された回転変動量を表す補正情報を記憶手段に格納するステップと、
第2のモードにおいて、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に基づいて前記サーボ領域毎に前記サーボ間隔を測定するステップと、
前記第2のモードにおいて測定された前記サーボ領域毎のサーボ間隔を、前記記憶手段に格納されている補正情報に基づいて前記スピンドルモータの回転速度の変動に起因する回転変動成分が除去された値に補正することにより、当該補正されたサーボ間隔に基づいて前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として算出するステップと
を具備することを特徴とするディスク偏心量測定方法。
【請求項2】
前記算出された偏心量に基づいて、前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれが一定値を超えるディスクシフトが発生しているかを判定するステップと、
前記ディスクシフトの発生が判定された場合、前記回転変動量を算出し直すために前記第1のモードを再設定するステップと
を更に具備することを特徴とする請求項1記載のディスク偏心量測定方法。
【請求項3】
前記サーボ間隔が、所定のクロックをカウントすることにより測定され、
前記算出された回転変動量がクロック数単位に換算されている
ことを特徴とする請求項1記載のディスク偏心量測定方法。
【請求項4】
前記記憶手段に格納される補正情報に、前記サーボ領域毎に算出されて、且つクロック数単位に換算された回転変動量が用いられ、
前記第2のモードにおいて測定された前記サーボ領域毎のサーボ間隔は、当該サーボ領域毎のサーボ間隔から前記記憶手段に格納されている当該サーボ領域に対応する回転変動量を減じることにより補正される
ことを特徴とする請求項3記載のディスク偏心量測定方法。
【請求項5】
前記回転変動量を算出するステップは、前記サーボ領域毎に算出された回転変動量をクロック数単位に換算するステップと、前記クロック数単位に換算されたサーボ領域毎の回転変動量に離散フーリエ変換演算を施すことにより、回転変動の1次成分のベクトルである回転変動ベクトルを算出するステップとを含み、
前記記憶手段に格納される補正情報に、前記算出された回転変動ベクトルが用いられ、
前記偏心量を算出するステップは、前記第2のモードにおいて測定された前記サーボ領域毎のサーボ間隔に離散フーリエ変換演算を施すことにより、サーボ間隔の1次成分ベクトルを算出するステップと、前記算出されたサーボ間隔の1次成分ベクトルから前記記憶手段に格納されている補正情報である前記回転変動ベクトルを減じることにより、前記補正されたサーボ間隔に基づいて算出される偏心量と等価な、前記ディスクの偏心の1次成分ベクトルを算出するステップとを含む
ことを特徴とする請求項1記載のディスク偏心量測定方法。
【請求項6】
スピンドルモータによって回転されるディスクの半径方向にヘッドを移動可能に支持するアクチュエータを、前記ディスクに形成された同心円状の複数のサーボトラックに等間隔で離散的に配置されたサーボ領域から当該ヘッドにより読み出されるサーボ情報に基づいて駆動することにより、当該ヘッドを前記ディスク上の目標位置に位置付けるディスク記憶装置において、
第1のモードを設定する手段と、
前記第1のモードにおいて、前記ヘッドが前記ディスクの内周から外れるのを防止する内周ストッパに前記アクチュエータを押し付ける内周押し付け状態を設定する手段と、
前記内周押し付け状態において、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に含まれているシリンダアドレスを測定するシリンダアドレス測定手段と、
前記内周押し付け状態において、前記サーボ領域毎に読み取られるサーボ情報に基づいて、前記ヘッドが隣接するサーボ領域間を通過する時間間隔であるサーボ間隔を測定する第1のサーボ間隔測定手段と、
前記第1のサーボ間隔測定手段によって測定された前記サーボ領域毎のサーボ間隔と前記シリンダアドレス測定手段によって測定された前記サーボ領域毎のシリンダアドレスとの単位を揃え、この単位が揃えられたサーボ間隔とシリンダアドレスとの差分をとることで、前記スピンドルモータの回転速度の変動に起因する回転変動量を算出する回転変動量算出手段と、
前記回転変動量算出手段によって算出された回転変動量を表す補正情報を格納する記憶手段と、
前記スピンドルモータの起動時に第2のモードを設定する手段と、
前記第2のモードにおいて、前記ヘッドにより前記ディスクの前記サーボ領域毎に読み取られるサーボ情報に基づいて前記サーボ領域毎に前記サーボ間隔を測定する第2のサーボ間隔測定手段と、
前記第2のサーボ間隔測定手段によって測定された前記サーボ領域毎のサーボ間隔を、前記記憶手段に格納されている補正情報に基づいて前記スピンドルモータの回転速度の変動に起因する回転変動成分が除去された値に補正する補正手段と、
前記補正手段によって補正されたサーボ間隔に基づいて前記スピンドルモータの回転中心を基準とする前記サーボトラックの中心のずれの量を前記ディスクの偏心量として算出する偏心量算出手段と
を具備することを特徴とするディスク記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−34067(P2008−34067A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2006−209165(P2006−209165)
【出願日】平成18年7月31日(2006.7.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】