(57)【要約】【課題】オントラック制御時でのバースト演算における過渡応答や、線形性の確保の問題を解消できるヘッド位置決め制御を実現することにある。【解決手段】サーボ情報が記録されたディスク１０を使用するディスクドライブにおいて、ＣＰＵ２０は、ヘッド位置決め制御でのオントラック制御時に、バースト演算結果とターゲットシリンダとの差分値を使用したヘッドの位置制御を実行する。【選択図】      図１
2005078774.tif 000002
【特許請求の範囲】
【請求項１】
シリンダコードとサーボバースト信号とを含むサーボ情報が記録されているディスク媒体に対してデータのリード動作及びライト動作を行なうヘッドと、
前記ヘッドを搭載し、前記ディスク媒体上の半径方向に移動させるアクチュエータと、
前記ヘッドを目標シリンダコードで指定されるトラックに位置決めするオントラック制御時に、前記ヘッドにより再生されるサーボバースト信号を使用して、前記ヘッドの位置誤差を算出するバースト演算を実行する第１のサーボ演算手段と、
前記オントラック制御時に、前記ヘッドにより再生されるシリンダコードに従って、前記目標シリンダと現在シリンダとの差分を算出する第２のサーボ演算手段と、
前記バースト演算結果及び前記差分値を使用して、前記アクチュエータを駆動制御することにより前記ヘッドのオントラック制御を実行する制御手段と
を具備したことを特徴とするディスクドライブ。
【請求項２】
前記制御手段は、前記第２のサーボ演算手段により算出された差分値であるシリンダ距離に基づいて、前記第１のサーボ演算手段により算出されたバースト演算結果に対して当該差分値を加算した加算結果を使用して前記オントラック制御を実行することを特徴とする請求項１に記載のディスクドライブ。
【請求項３】
前記制御手段は、前記差分値であるシリンダ距離に対応付けて、前記バースト演算結果と前記差分値を使用する演算式群を有するテーブル情報を使用し、当該テーブル情報から取得した演算式を使用して前記オントラック制御を実行することを特徴とする請求項１に記載のディスクドライブ。
【請求項４】
前記制御手段は、前記第２のサーボ演算手段により算出される差分値の範囲を制限し、当該範囲内の差分値を前記第１のサーボ演算手段により算出されたバースト演算結果に加算した加算結果を使用して前記オントラック制御を実行することを特徴とする請求項１に記載のディスクドライブ。
【請求項５】
前記第２のサーボ演算手段及び前記制御手段は、マイクロプロセッサから構成されていることを特徴とする請求項１に記載のディスクドライブ。
【請求項６】
シリンダコードとサーボバースト信号とを含むサーボ情報が記録されているディスク媒体に対してデータのリード動作及びライト動作を行なうヘッドと、前記ヘッドを搭載し、前記ディスク媒体上の半径方向に移動させるアクチュエータとを有するディスクドライブに適用するヘッド位置決め制御方法であって、
前記ヘッドを目標シリンダコードで指定されるトラックに位置決めするオントラック制御時に、前記ヘッドにより再生されるサーボバースト信号を使用して、前記ヘッドの位置誤差を算出するバースト演算を実行するステップと、
前記オントラック制御時に、前記ヘッドにより再生されるシリンダコードに従って、前記目標シリンダと現在シリンダとの差分を算出するステップと、
前記バースト演算結果及び前記差分値を使用して、前記アクチュエータを駆動制御することにより前記ヘッドのオントラック制御を実行するステップと
からなる手順を実行することを特徴とするヘッド位置決め制御方法。
【請求項７】
前記オントラック制御を実行するステップは、前記差分値であるシリンダ距離に基づいて、前記バースト演算結果に対して当該差分値を加算した加算結果を使用してオントラック制御を実行することを特徴とする請求項６に記載のヘッド位置決め制御方法。
【請求項８】
前記オントラック制御を実行するステップは、前記差分値であるシリンダ距離に対応付けて、前記バースト演算結果と前記差分値を使用する演算式群を有するテーブル情報を使用し、当該テーブル情報から取得した演算式を使用してオントラック制御を実行することを特徴とする請求項６に記載のヘッド位置決め制御方法。
【請求項９】
前記オントラック制御を実行するステップは、前記差分値の範囲を制限し、当該範囲内の差分値を前記バースト演算結果に加算した加算結果を使用してオントラック制御を実行することを特徴とする請求項６に記載のヘッド位置決め制御方法。
【請求項１０】
前記オントラック制御の前に、前記ヘッドにより再生されるシリンダコードに従って前記アクチュエータを駆動制御し、前記ヘッドを前記目標シリンダまで移動させるシーク制御を実行するステップをさらに有することを特徴とする請求項６に記載のヘッド位置決め制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはディスクドライブに関し、特に、サーボ情報を使用するヘッド位置決め制御技術に関する。
【背景技術】
【０００２】
一般的に、ハードディスクドライブを代表とするディスクドライブでは、ディスク媒体（以下単にディスク）上に記録されているサーボ情報を使用するヘッド位置決め制御（サーボ制御）が実行される。
【０００３】
サーボ情報は、ディスク上に構成される各トラック（シリンダ）を識別するためのシリンダコードと、トラック内の位置を検出するためのサーボバースト信号とに大別される。ディスクドライブのメイン制御装置であるＣＰＵは、シリンダコードによる絶対位置の検出と、サーボバースト信号による相対位置の検出を使い分けることにより、いわばトータル的なヘッドの位置検出を行なう。ＣＰＵは、当該ヘッドの位置検出に基づいて、ヘッドを目標トラックまで移動させるシーク制御、及び目標トラック内に位置決めするオントラック制御（位置制御）を実行する。
【０００４】
ところで、ＣＰＵは、ヘッドの位置検出を行なうための位置演算を、シーク制御とオントラック制御時に切り替える処理を行なう。このため、位置演算の切替えに伴なう過渡応答などの問題がある。また、トラック内でのヘッドの位置情報を算出するために、サーボバースト信号を使用する位置演算（以下バースト演算と称する）では、広範囲にわたる線形性の確保が困難である等の問題がある（例えば、特許文献１を参照）
【特許文献１】特開平１１−１９５２８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ディスクドライブのヘッド位置決め制御において、特にオントラック制御時でのバースト演算における過渡応答や、線形性の確保の問題を解消することは困難である。
【０００６】
そこで、本発明の目的は、特にオントラック制御時でのバースト演算における過渡応答や、線形性の確保の問題を解消できるヘッド位置決め制御を実現することにある。
【課題を解決するための手段】
【０００７】
本発明の観点は、オントラック制御時に、サーボバースト信号と共に、シリンダコードを使用した位置演算を実行するヘッド位置決め制御方法を使用するディスクドライブに関する。
【０００８】
本発明の観点に従ったディスクドライブは、シリンダコードとサーボバースト信号とを含むサーボ情報が記録されているディスク媒体に対してデータのリード動作及びライト動作を行なうヘッドと、前記ヘッドを搭載し、前記ディスク媒体上の半径方向に移動させるアクチュエータと、前記ヘッドを目標シリンダコードで指定されるトラックに位置決めするオントラック制御時に、前記ヘッドにより再生されるサーボバースト信号を使用して、前記ヘッドの位置誤差を算出するバースト演算を実行する第１のサーボ演算手段と、前記オントラック制御時に、前記ヘッドにより再生されるシリンダコードに従って、前記目標シリンダと現在シリンダとの差分を算出する第２のサーボ演算手段と、前記バースト演算結果及び前記差分値を使用して、前記アクチュエータを駆動制御することにより前記ヘッドのオントラック制御を実行する制御手段とを備えたものである。
【発明の効果】
【０００９】
特にオントラック制御時に、サーボバースト信号と共に、シリンダコードを使用した位置演算を実行することにより、バースト演算における過渡応答や、線形性の確保の問題を解消できるヘッド位置決め制御を実現できる。
【発明を実施するための最良の形態】
【００１０】
以下図面を参照して、本発明の実施形態を説明する。
【００１１】
（ディスクドライブの構成）
図１は本実施形態のディスクドライブの要部を示すブロック図である。
【００１２】
ディスクドライブは、ディスク１０を回転させるスピンドルモータ（ＳＰＭ）１１と、データのリード／ライトを行なうヘッド１２と、ヘッド１２を搭載するアクチュエータ１３とを有する。アクチュエータ１３は、ボイスコイルモータ（ＶＣＭ）１４により駆動し、ヘッド１２をディスク１０の半径方向に移動させる。ＳＰＭ１１及びＶＣＭ１４はそれぞれ、ＳＰＭドライバ２７及びＶＣＭドライバ１５により駆動される。
【００１３】
さらに、ディスクドライブは、ヘッドアンプ１６と、リード／ライト（Ｒ／Ｗ）チャネル１７と、ディスクコントローラ１８と、マイクロプロセッサ（ＣＰＵ）２０とを有する。
【００１４】
ヘッドアンプ１６は、ヘッド１２とＲ／Ｗチャネル１７との間でリード／ライト信号を伝送する。ヘッドアンプ１６は、ヘッド１２により読出されたサーボ信号（ディスク１０上に記録されたサーボ情報）を増幅してＲ／Ｗチャネル１７に送出する。Ｒ／Ｗチャネル１７は、サーボ信号及びデータ信号の信号処理（符号化または復号化）を実行する。ディスクコントローラ１８は、ディスクドライブとホストシステム間のインターフェース機能を有し、バッファメモリ１９を使用してリード／ライトデータの転送制御を行なう。
【００１５】
ＣＰＵ２０は、ドライブのメイン制御装置であり、ＲＯＭ２４に格納されたプログラムを実行し、またＲＡＭ２３をワークメモリとして使用することにより、本実施形態に関係するヘッド位置決め制御を実行する。
【００１６】
ＣＰＵ２０は、Ｒ／Ｗチャネル１７から出力されるサーボ信号に含まれるグレーコード（シリンダコードセクタコード）をＡ／Ｄコンバータ２２を介して入力する。また、ＣＰＵ２０は、サーボ処理回路２１から、後述するバースト演算結果を入力する。サーボ処理回路２１は、Ｒ／Ｗチャネル１７から出力されるサーボ信号に含まれるサーボバースト信号を使用するバースト演算を実行する。
【００１７】
ＣＰＵ２０は、グレーコード及びバースト演算結果を使用してヘッド位置決め制御処理を実行し、Ｄ／Ａコンバータ２６を介してＶＣＭドライバ１５にＶＣＭ１４を制御するための操作制御値を供給する。また、ＣＰＵ２０は、Ｄ／Ａコンバータ２５を介してＳＰＭドライバ２７にＳＰＭ１１を制御するための操作制御値を供給する。
【００１８】
（ディスクフォーマット）
ディスク１０上には、図２に示すように、サーボ情報が記録されたサーボエリア１００が円周方向に所定の間隔で設けられている。一方、ディスク１０上の半径方向には、各サーボエリア１００を含む多数のトラック（シリンダ）１１０が構成される。各トラック１１０では、サーボエリア１００間にはユーザデータを記録する複数のデータセクタが設けられる。
【００１９】
サーボエリア１００に記録されるサーボ情報は、プリアンブル２００、サーボマーク２１０、グレーコード２２０、サーボバースト信号２３０、及びパッド２４０からなる。グレーコード２２０は、トラックを識別するためのシリンダコードと、データセクタを識別するためのセクタコードを含む。サーボバースト信号２３０は、図３に示すように、例えば４相のバーストＡ〜Ｄからなるトラック内の位置検出用信号である。
【００２０】
（ヘッド位置決め制御）
以下図３から図１０を参照して、本実施形態に関するヘッド位置決め制御を説明する。図１０は、ＣＰＵ２０が実行するヘッド位置決め制御の手順を示すフローチャートである。
【００２１】
まず、ＣＰＵ２０は、ディスク１０上のトラックの中で、リード／ライトアクセスを行なう目標トラックが指定されると、当該目標トラックまでヘッド１２を移動させるシーク動作（シーク制御）を実行する（ステップＳ１）。シーク制御では、ＣＰＵ２０は、目標トラックのシリンダコード（ターゲットシリンダ）と、ヘッド１２により読出されるシリンダコード（現在トラック位置）との差分を算出する演算処理を実行する。この演算処理により、ヘッド１２が移動すべきターゲットシリンダまでの距離が求められる。
【００２２】
ＣＰＵ２０は、ヘッド１２がターゲットシリンダまで移動すると、シーク制御からオントラック制御に移行する（ステップＳ２のＹＥＳ，Ｓ３）。ここで、シーク動作時でも、ＣＰＵ２０は、バースト演算結果を使用して、トラック内のヘッド１２の位置を検出し、ヘッド１２がトラックの中心に位置しているときのシリンダコードを取得する。
【００２３】
ここで、図３を参照して、バースト演算によるヘッド１２の位置検出方法を説明する。
【００２４】
図３において、Ｎ−１，Ｎ，Ｎ＋１はそれぞれ、シリンダコードＮ−１，Ｎ，Ｎ＋１に対応するトラックの中心位置を意味する。Ｔｐは、トラックピッチ（トラック範囲）を意味する。また、Ａ，Ｂ，Ｃ，Ｄは、サーボバースト信号（Ａ〜Ｄ）がヘッド１２に読出されて、サンプル・ホールドされた出力値（振幅値）を意味する。
【００２５】
図３に示すように、ヘッド１２の位置がトラックＮ内の位置Ｘ２から位置Ｘ４の近傍である場合、ＣＰＵ２０は、バースト演算「（Ａ−Ｂ）／（Ａ＋Ｂ）」で正規化された演算結果から位置情報（トラック中心位置Ｘ３からの位置誤差値ＰＥ）を算出することができる。
【００２６】
ここで、一般的に、トラックピッチＴｐと、ヘッド１２の幅Ｔｗとの関係は、「Ｔｐ＞Ｔｗ」であるため、ヘッド１２が位置Ｘ５の近傍に位置する場合には、バーストＢに対応するヘッド出力値は常に０となる。従って、ＣＰＵ２０は、ヘッド１２の位置ずれに対して不感帯となり、正しい位置情報（中心Ｘ３に対する位置誤差値ＰＥ）を得ることができない。そこで、ＣＰＵ２０は、バーストＣ，Ｄを使用して、バースト演算「（Ｃ−Ｄ）／（Ｃ＋Ｄ）」を実行して、この演算結果から位置Ｘ５を基準とした位置情報を求める。
【００２７】
図４は、ヘッド位置とバースト演算結果との関係を示す図である。
【００２８】
しかし、前記のバースト演算により算出された位置情報は、ヘッド幅ＴｗがトラックピッチＴｐより小さいために、実際の位置ずれ量より大きくなる。このため、ＣＰＵ２０は、サーボバースト信号を位置情報に換算するための位置換算係数Ｋを乗じて補正する。即ち、ＣＰＵ２０は、バースト演算「（（Ａ−Ｂ）／（Ａ＋Ｂ））×Ｋ」を実行して、正しい位置情報（中心Ｘ３に対する位置誤差値ＰＥ）を得る。
【００２９】
ところで、近年のディスクドライブでは、ヘッド１２は、リードヘッドとライトヘッドとが分離した構造である。位置換算係数Ｋが真値の場合、ヘッド位置と位置情報との関係は図５に示すようになる。このような理想的な場合であれば、ＣＰＵ２０は、目標位置が位置Ｘ４よりも位置Ｘ３側であればバーストＡ，Ｂを使用し、位置Ｘ５側であればバーストＣ，Ｄを使用するようにバースト演算（５０，５１）を切り替える。
【００３０】
一方、位置換算係数Ｋが真値からずれている場合、例えば図６に示すような場合、使用するバーストを切り替えた瞬間、実際の位置よりも離れた位置にあると認識し、過渡応答を生じるために位置決め制御が不安定になる（６０，６１）。そこで、ＣＰＵ２０は、バースト演算の切替えによる位置情報の不連続性を解消するため、バーストＡ，ＢとバーストＣ，Ｄの平均演算に重みを付け、その重みを可変にすることにする。
【００３１】
具体的には、例えば、バーストＡ，Ｂの中心に近いほど、バーストＣ，Ｄは飽和しているので、バーストＣ，Ｄの重みを少なくする。また、バーストＡ，ＢとバーストＣ，Ｄの中間付近では、重みを同じにする。
【００３２】
即ち、ＣＰＵ２０は、バースト演算「ＰＥ＝αＡＢ＋（１．０−α）ＣＤ」を実行する。ここで、「ＡＢ」はバーストＡ，Ｂから求めたトラック中心からの位置ずれ量である。また、「ＣＤ」はバーストＣ，Ｄから求めたトラック中心からの位置ずれ量である。また、重みαは「０．０≦α≦１．０」である。
【００３３】
重みαは、｜ＡＢ｜と｜ＣＤ｜との比による関数ｆによって決定する。即ち、下記関係式（１），（２）が成立する。
【００３４】
α＝ｆ(０．５×｜ＡＢ｜／｜ＣＤ｜）…（１）
但し、｜ＡＢ｜≦｜ＣＤ｜である。
【００３５】
α＝ｆ(１．０−０．５×｜ＣＤ｜／｜ＡＢ｜）…（２）
但し、｜ＡＢ｜＞｜ＣＤ｜である。
【００３６】
さらに、ｆ（ｘ）の定義域は、「０．０≦ｘ≦１．０」であり、値は図７に示すテーブル７０，７１で与えられる。代表的な値としては、「ｆ（０．０）＝１．０」であり、ヘッド１２の位置がバーストＡ，Ｂ中心近傍のときには、｜ＡＢ｜が使用される。「ｆ（０．５）＝０．５」であり、｜ＡＢ｜と｜ＣＤ｜がほぼ同じときは｜ＡＢ｜と｜ＣＤ｜の平均値が使用される。「ｆ（１．０）＝０．０」であり、ヘッド１２の位置がバーストＣ，Ｄ中心近傍のときには、｜ＣＤ｜が使用される。
【００３７】
これ以外の値は、これらの値を補完する連続的な値とする。図７に示すテーブル７０を用いると、バーストＡ，ＢやバーストＣ，Ｄの中心付近では、ＡＢのみ、ＣＤのみから位置情報を求める。バーストＡ，ＢやバーストＣ，Ｄの境界付近ではＡＢ，ＣＤの平均値から位置情報を求めることになる。ここで、平均の重み付けが連続して変化するため、切り替えなどによる過渡応答の発生がない。また、一方のバーストが飽和する領域では、もう一方の飽和していないバーストへ重みが移るため、飽和に対する考慮が不要となる。
【００３８】
図８は、重み付け平均（図７のテーブル７１）を用いたときの、ヘッド位置と位置情報との関係を示す図である。当該関係が完全な直線にならないのは、重み付けテーブルが緩やかに変化しているため、ＡＢ中心またはＣＤ中心に近いところで、もう一方のバーストの影響を受けていることを示している。このような影響を抑制するために、図７のテーブル７０のような急峻なテーブルが有効であるが、過渡応答が発生する可能性が生じてくる。このため、重み付けテーブルの選定は、実際に使用するヘッドの特性を考慮して行うのが望ましい。
【００３９】
ヘッドにおける半径方向の電磁変換特性のばらつきなどにより、実際の位置ずれ量と得られる位置情報が一致しない場合、あらかじめ重み付けテーブルをあらかじめ複数用意しておき、ヘッドの固体差に合わせてテーブルを選択する。テーブルの形状を実際の位置ずれ量と位置情報とが一致するようにして、得られる位置情報の線形性を向上することが可能になる。
【００４０】
以上の方法によって、線形性に優れたバースト演算結果が得られて、ある特定範囲までの位置制御を正確に行なうことできる。ここで、本実施形態は、図１０に示すように、シーク制御からオントラック制御に移行するときに、ヘッド１２がトラック（シリンダ）間を渡る場合の位置制御を想定する。
【００４１】
ここで、ＣＰＵ２０は、図９に示すようなテーブル情報を使用して、サーボバースト演算を実行する（ステップＳ４）。なお、テーブル情報での係数「Ｇ」は、１トラック（シリンダ）分のアンプゲインに関係する係数（例えば２０４８）である。
【００４２】
ＣＰＵ２０は、ターゲットシリンダと、ヘッド１２により読取られるシリンダコード（現在トラック位置）との差分を算出する（ステップＳ５）。この差分は、ヘッド１２が位置するトラック位置から、ターゲットシリンダである目標トラックまでのシリンダ距離（シリンダ数）に相当する。
【００４３】
ＣＰＵ２０は、算出した差分が「０」であれば、前述のようなバースト演算処理により得られるバースト演算結果に基づいてアクチュエータ１３を制御して、目標トラック内の中心にヘッド１２を位置決めするための位置制御を実行する（ステップＳ６のＹＥＳ，Ｓ７）。
【００４４】
一方、ＣＰＵ２０は、算出した差分が「０」でない場合には、テーブル情報から差分値（シリンダ距離）と符号に対応するバースト演算方法により、目標トラック内の中心にヘッド１２を位置決めするための位置制御を実行する（ステップＳ６のＮＯ，Ｓ８）。ここで、符号は、ターゲットシリンダの目標トラックに対して、ヘッド１２が内周側または外周側のトラック位置であるかを示す。
【００４５】
ここで、ＣＰＵ２０は、当該オントラック制御時に、ターゲットシリンダとの差分値には制限を設ける。また、現在までのシリンダコードの推移から過去１サンプル前のサーボ情報の補正をかける等の処理を実行してもよい。
【００４６】
以上のように本実施形態によれば、オントラック制御時に、ヘッド１２がトラックを渡るような場合には、ターゲットシリンダとのシリンダ距離である差分値を、バースト演算結果に対して加算又は減算する演算処理を実行することにより、トラック範囲内だけでなく、広範囲の位置制御を実現できる。換言すれば、線形性に優れたバースト演算結果と、シリンダコードの加減算により、統一演算式で広範囲の位置制御に有効なバースト演算方法を提供することができる。
【００４７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態に関するディスクドライブの要部を示すブロック図。
【図２】本実施形態に関するディスクフォーマットを示す図。
【図３】本実施形態に関する位置制御を説明するための図。
【図４】本実施形態に関するバースト演算方法を説明するための図。
【図５】本実施形態に関するバースト演算方法を説明するための図。
【図６】本実施形態に関するバースト演算方法を説明するための図。
【図７】本実施形態に関するバースト演算方法を説明するための図。
【図８】本実施形態に関するバースト演算方法を説明するための図。
【図９】本実施形態に関するテーブル情報を説明するための図。
【図１０】本実施形態に関するヘッド位置決め制御の手順を示すフローチャート。
【符号の説明】
【００４９】
１０…ディスク、１１…スピンドルモータ（ＳＰＭ）、１２…ヘッド、
１３…アクチュエータ、１４…ボイスコイルモータ（ＶＣＭ）、１５…ＶＣＭドライバ、
１６…ヘッドアンプ、１７…リード／ライトチャネル、１８…ディスクコントローラ、
１９…バッファメモリ、２０…マイクロプロセッサ（ＣＰＵ）、２１…サーボ処理回路、
２２…Ａ／Ｄコンバータ。
【図１】
2005078774.tif 000003
【図２】
2005078774.tif 000004
【図３】
2005078774.tif 000005
【図４】
2005078774.tif 000006
【図５】
2005078774.tif 000007
【図６】
2005078774.tif 000008
【図７】
2005078774.tif 000009
【図８】
2005078774.tif 000010
【図９】
2005078774.tif 000011
【図１０】
2005078774.tif 000012