(57)【特許請求の範囲】
【請求項１】
表面を有するディスクと，
前記ディスクを回転させるスピンドルモータと，
前記ディスクに情報を記録し，前記ディスクから情報を読み出せる変換器と，
前記変換器を前記ディスク表面を横切って移動させるアクチュエータアームと，
第１トラックから第２トラックにシークする命令に応答し，第１トラックから第２トラックまでのシーク長さを決定し，以前のシークで算出された速度エラー値に基づいてスケーリング値を決定し、前記スケーリング値を用いて前記シーク長さに対応するシーク時間を決定し、所定の加速度軌跡を利用して第１トラックから第２トラックに前記ディスク表面を横切って前記変換器を移動させるように制御するコントローラと，
を含む
ことを特徴とするハードディスクドライブ。
【請求項２】
前記コントローラはシーク長さに対する以前のシークと計算された速度エラーが所定の臨界値より大きい場合に，所定のスケーリング量だけシーク時間を延ばす
ことを特徴とする請求項１に記載のハードディスクドライブ。
【請求項３】
前記コントローラはシーク長さに対する以前のシークのサンプル時間に計算された速度エラーの最大値が所定の臨界値より大きい場合に，所定のスケーリング量だけシーク時間を延ばす
ことを特徴とする請求項２に記載のハードディスクドライブ。
【請求項４】
前記コントローラはシーク長さに対する以前のシークと計算された速度エラーが所定の臨界値より小さな場合に，所定のスケーリング量だけシーク時間を縮める
ことを特徴とする請求項１に記載のハードディスクドライブ。
【請求項５】
前記コントローラはシーク長さに対する以前のシークのサンプル時間に計算された速度エラーの最大値が所定の臨界値より小さな場合に，所定のスケーリング量だけシーク時間を縮める
ことを特徴とする請求項４に記載のハードディスクドライブ。
【請求項６】
前記コントローラは本質的なサイン波形の加速度軌跡を利用し，第１トラックから第２トラックに前記ディスク表面を横切って前記変換器を移動させる
ことを特徴とする請求項１に記載のハードディスクドライブ。
【請求項７】
前記コントローラはデジタル信号プロセッサである
ことを特徴とする請求項１に記載のハードディスクドライブ。
【請求項８】
前記コントローラはシーク長さに対して以前のシークと計算された速度エラーが下限臨界値より大きく上限臨界値より小さな場合に１としてシーク時間をスケールする
ことを特徴とする請求項１に記載のハードディスクドライブ。
【請求項９】
現在のシークに対する現在のトラックと新しいトラックとのシーク長さを決定する段階と，
現在のトラックから新しいトラックに変換器を移動させるためのシーク時間を決定する段階と，
所定の加速度軌跡を利用して現在のトラックから新しいトラックに前記ディスク表面を横切って変換器を移動させる変換器に結合したアクチュエータアームを励起させる段階と，
を含み、
前記シーク時間を決定する段階は、以前のシークで算出された速度エラー値に基づいてスケーリング値を決定し、前記スケーリング値を用いて前記シーク長さに対応するシーク時間を決定する段階である
ことを特徴とするシーク軌跡最適化方法。
【請求項１０】
前記シーク時間を決定する段階は，シーク長さに対する以前のシークと計算速度エラーとが所定の臨界値より大きい場合に所定の量だけシーク時間を延ばす段階を含む
ことを特徴とする請求項９に記載のシーク軌跡最適化方法。
【請求項１１】
前記シーク長さに対する以前のシークと計算された速度エラーが所定の臨界値より大きい場合に所定の量だけシーク時間を延ばす段階は，シーク長さに対する以前のシークの複数のサンプル区間で計算された速度エラーの最大値が所定の臨界値より大きい場合に所定の量だけシーク時間を延ばす段階を含む
ことを特徴とする請求項１０に記載のシーク軌跡最適化方法。
【請求項１２】
前記必要ならばシーク長さに対する計算された速度と設計速度との速度エラーに応答してシーク時間を調整する段階は，シーク長さに対する以前のシークと計算速度エラーとが所定の臨界値より小さな場合に所定の量だけシーク時間を縮める段階を含む
ことを特徴とする請求項９に記載のシーク軌跡最適化方法。
【請求項１３】
前記シーク長さに対する以前のシークと計算された速度エラーが所定の臨界値より小さな場合に所定の量だけシーク時間を縮める段階は，シーク長さに対する以前のシークの複数のサンプル区間で計算された速度エラーの最大値が所定の臨界値より小さな場合に所定の量だけシーク時間を縮める段階を含む
ことを特徴とする請求項１２に記載のシーク軌跡最適化方法。
【請求項１４】
前記励起させる段階は，シーク長さ及びシーク時間に基づいた本質的なサイン波形の加速度軌跡を利用して第１トラックから第２トラックに前記ディスク表面を横切って変換器を移動させる変換器に結合したアクチュエータアームを励起させる段階を含む
ことを特徴とする請求項９に記載のシーク軌跡最適化方法。
【請求項１５】
前記シーク時間を決定する段階は，シーク長さに対する以前のシークと計算された速度エラーが下限臨界値より大きく上限臨界値より小さな場合に１にシーク時間を調整するかまたはシーク時間調整を防止する段階を含む
ことを特徴とする請求項９に記載のシーク軌跡最適化方法。
【請求項１６】
前記現在のトラックから新しいトラックに変換器を移動させるためのシーク時間を決定する段階は，シーク長さ対シーク時間のルックアップテーブルを利用して現在のトラックから新しいトラックに移動させるためのシーク時間を決定し，必要ならば線形補間アルゴリズムを利用する
ことを特徴とする請求項９に記載のシーク軌跡最適化方法。
【請求項１７】
ハードディスクにおいてアクチュエータアームに付着された変換器をディスクの表面を横切って移動させることをコンピュータに実現させるためのプログラムが記録された、コンピュータにより読み取り可能な記録媒体において，
現在のシークに対する現在のトラックと新しいトラックとのシーク長さを決定する第１コンピュータ判読可能なプログラムコードと，
現在のトラックから新しいトラックに変換器を移動させるためのシーク時間を決定する第２コンピュータ判読可能なプログラムコードと，
所定の加速度軌跡を利用して現在のトラックから新しいトラックに前記ディスク表面を横切って変換器を移動させる変換器に結合したアクチュエータアームを励起させる第３コンピュータ判読可能なプログラムコードと
を含み、
前記第２コンピュータ判読可能なプログラムコードは、以前のシークで算出された速度エラー値に基づいてスケーリング値を決定し、前記スケーリング値を用いて前記シーク長さに対応するシーク時間を決定する
ことを特徴とする記録媒体。
【請求項１８】
前記第２コンピュータ判読可能なプログラムコードは，シーク長さに対する以前のシークと計算された速度と設計速度との差である速度エラーが所定の臨界値より大きい場合に所定の量だけシーク時間を延ばす
ことを特徴とする請求項１７に記載の記録媒体。
【請求項１９】
前記第２コンピュータ判読可能なプログラムコードは，シーク長さに対する以前のシークの複数のサンプル区間で計算された速度エラーの最大値が所定の臨界値より大きい場合に所定の量だけシーク時間を延ばす
ことを特徴とする請求項１８に記載の記録媒体。
【請求項２０】
前記第２コンピュータ判読可能なプログラムコードは，シーク長さに対する以前のシークのサンプル時間に計算された速度と設計速度との差である速度エラーが所定の臨界値より小さな場合に所定の量だけシーク時間を縮める
ことを特徴とする請求項１７に記載の記録媒体。
【請求項２１】
前記第２コンピュータ判読可能なプログラムコードはシーク長さに対する以前のシークの複数のサンプル区間で計算された速度エラーの最大値が所定の臨界値より小さな場合に所定の量だけシーク時間を縮める
ことを特徴とする請求項２０に記載の記録媒体。
【請求項２２】
前記第３コンピュータ判読可能なプログラムコードは，シーク長さ及びシーク時間に基づいた本質的なサイン波形の加速度軌跡を利用して第１トラックから第２トラックに前記ディスク表面を横切って変換器を移動させる変換器に結合したアクチュエータアームを励起させる
ことを特徴とする請求項１７に記載の記録媒体。
【請求項２３】
前記第３コンピュータ判読可能なプログラムコードは，シーク長さ対シーク時間のルックアップテーブルを利用し，必要ならば線形補間アルゴリズムを利用して現在のトラックから新しいトラックに移動させるためのシーク時間を決定する
ことを特徴とする請求項１７に記載の記録媒体。
【請求項２４】
第１トラックから第２トラックまで現在のシークに対するシーク長さ及びシーク時間を決定する段階と，
シーク長さ及びシーク時間に基づいてディスク表面を横切って変換器を移動させる段階と，
変換器の設計位置を計算する段階と，
変換器の実際位置を決定する段階と，
設計位置及び実際位置の関数の位置訂正値を生成する段階と，
変換器の設計速度を計算する段階と，
変換器の実際速度を決定する段階と，
設計速度，実際速度及び位置訂正値の関数の速度訂正値を生成する段階と，
速度訂正値に応答してシーク長さと未来シークとスケールされたシーク時間を得るためにシーク時間を掛け合わせるためのスケーリング値をメモリに貯蔵する段階と，
一つ以上の調律された係数を含む正規化されたフーリエ級数のシークを利用して変換器の設計加速度を計算する段階と，
変換器の実際加速度を決定する段階と，
実際加速度値の関数であるフィードフォワード加速度値を生成する段階と，
速度訂正値，フィードフォワード加速度値及び設計加速度値の関数の加速度訂正値を生成する段階と，
加速度訂正値の生成に応答して変換器の動きを変化させる段階と，
を含み、
前記スケーリング値は、以前のシークで算出された速度エラー値に基づいて決定され、
前記シーク長さに対応するシーク時間は、前記スケーリング値を用いて決定される
ことを特徴とするディスクの表面を横切って変換器を移動させるシーク軌跡最適化方法。
【請求項２５】
前記貯蔵する段階は，速度訂正値が所定の臨界値より大きい場合にメモリに１より大きいスケーリング値を貯蔵する段階を含む
ことを特徴とする請求項２４に記載のディスクの表面を横切って変換器を移動させるシーク軌跡最適化方法。
【請求項２６】
前記貯蔵する段階は，速度訂正値が所定の臨界値より小さな場合に１より小さなスケーリング値をメモリに貯蔵する段階を含む
ことを特徴とする請求項２４に記載のディスクの表面を横切って変換器を移動させる方法。
【請求項２７】
前記貯蔵する段階は，速度訂正値が上限臨界値より小さく下限臨界値より大きい場合に，スケーリング値として１をメモリに貯蔵する段階を含む
ことを特徴とする請求項２４に記載のディスクの表面を横切って変換器を移動させるシーク軌跡最適化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的なディスクドライブに係り，特にハードディスクドライブサーボメカニズムの性能を改善させるための方法，装置及びコンピュータ判読可能なプログラムコードに関する。
【０００２】
【従来の技術】
ハードディスクドライブは回転する単一または複数のディスクそれぞれの磁界を感知して磁化させることにより情報を記録して読み取れる複数の磁気変換器を含んでいる。この情報は環状トラック内に位置した複数のセクタ内に典型的にフォーマットされている。ディスクの各表面を横切って位置したトラック番号がある。垂直的に類似したトラック番号は，時にはシリンダと称する。従って，各トラックはシリンダ番号により定義されもする。
【０００３】
各変換器は典型的にヘッドジンバルアセンブリ（ＨＧＡ：Ｈｅａｄ Ｇｉｍｂａｌ Ａｓｓｅｍｂｌｙ）に編入されているスライダ内に統合されている。各ＨＧＡはアクチュエータアームに付着されている。アクチュエータアームはボイスコイルモータ（ＶＣＭ：Ｖｏｉｃｅ Ｃｏｉｌ Ｍｏｔｏｒ）を共に特定するマグネチックアセンブリに隣接するように位置したボイスコイルを有している。ハードディスクドライブは，典型的にＶＣＭを励起させる電流を供給する駆動回路及びコントローラを含んでいる。励起されたＶＣＭはアクチュエータアームを回転させて変換器をディスク表面を横切って移動させる。
【０００４】
情報を記録したりまたは読む時，ハードディスクドライブは変換器を一つのシリンダから他のシリンダに移動させるためのシークルーチンを実行する可能性がある。シークルーチンの最中にＶＣＭは変換器をディスク表面から新しいシリンダ位置に移動させる電流により励起する。コントローラはまた変換器が正確なシリンダ位置及びトラックの中央に移動させることを保証するサーボルーチンを実行する。
【０００５】
多くのディスクドライブは変換器を最も短い時間に正確な位置に移動させるためにバンバン（ｂａｎｇ−ｂａｎｇ）制御アルゴリズムを利用する。バンバン制御理論を使用するシークルーチンのための電流波形の形は典型的に四角形である。
【０００６】
【発明が解決しようとする課題】
しかしながら，矩形波は高い周波数成分の高調波を含んでいるのであるが，これはＨＧＡで機械的な共振を招いて高い自然周波数で機械的な構成要素またはアセンブリを励起させる。これは残余振動により，聴覚的なノイズ，願わない振動及びこれと関連した安定時間を招いた。従来の技術の矩形波により 生成された機械的な共振は，ディスクから情報を記録したりまたは読むために必要になる安定化時間及び全体時間どちらも延ばす問題点があった。
【０００７】
本発明の目的は，ハードディスクドライブの変換器をシーク命令に応答してシーク長さを決定し，決定されたシーク長さに対し計算された速度と設計速度との差による速度エラーを算出し，算出された速度エラー値の大きさに相応してシークオーバーランの発生を阻止することの可能な安定したサーボメカニズムを実行させるための方法，装置及びコンピュータ判読可能なプログラムコードを提供することである。
【０００８】
【課題を解決するための手段】
上記課題を解決するため，本発明の第１の観点によれば，表面を有するディスク，前記ディスクを回転させるスピンドルモータ，前記ディスクに情報を記録して前記ディスクから情報を読み出せる変換器，前記変換器を前記ディスクの表面を横切って移動させるアクチュエータアーム及び第１トラックから第２トラックにシークする命令に応答し，第１トラックから第２トラックまでのシーク長さを決定し，必要ならばシーク長さに対する計算された速度及び設計速度間の速度エラーに応答して前記シーク長さに基づいたシークのためのシーク時間，スケールシーク時間を決定し，加速度軌跡を利用して第１トラックから第２トラックに前記ディスク表面を横切って前記変換器を移動させるように制御するコントローラを含むことを特徴とする。
【０００９】
上記課題を解決するため，本発明の第２の観点によれば，ディスク表面を横切って変換器を移動させる方法（シーク軌跡最適化方法）であって，現在のシークに対する現在のトラックと新しいトラックとのシーク長さを決定する段階，現在のトラックから新しいトラックに変換器を移動させるためのシーク時間を決定する段階，必要ならば，シーク長さに対する計算された速度と設計速度との速度エラーに応答してシーク時間を調整する段階及びシーク長さ及びシーク時間に基づいた加速度軌跡を利用して現在のトラックから新しいトラックに前記ディスク表面を横切って変換器を移動させる変換器に結合したアクチュエータアームを励起させる段階を含むことを特徴とする。
【００１０】
上記課題を解決するため，本発明の第３の観点によれば，ハードディスクにおいてアクチュエータアームに付着された変換器をディスクの表面を横切って移動させることを実現させるコンピュータ判読可能なプログラムを有するコンピュータ利用可能な媒体において，現在のシークに対する現在のトラックと新しいトラックとのシーク長さを決定する第１コンピュータ判読可能なプログラムコード，現在のトラックから新しいトラックに変換器を移動させるためのシーク時間を決定する第２コンピュータ判読可能なプログラムコード，必要ならば，シーク長さに対する計算された速度と設計速度との速度エラーに応答してシーク時間を調整する第３コンピュータ判読可能なプログラムコード及びシーク長さ及びシーク時間に基づいた加速度軌跡を利用して現在のトラックから新しいトラックに前記ディスク表面を横切って変換器を移動させる変換器に結合したアクチュエータアームを励起させる第３コンピュータ判読可能なプログラムコードを含むことを特徴とする。
【００１１】
【発明の実施の形態】
以下，本発明の好適な実施の形態について，添付図面を参照しながら詳細に説明する。尚，以下の説明及び添付図面において，同一の機能及び構成を有する構成要素については，同一符号を付することにより，重複説明を省略する。
【００１２】
本実施形態はハードディスクドライブに関する方法，装置及びコンピュータプログラムに関する。本実施形態において，ハードディスクドライブは表面を有するディスク，ディスクを回転させるスピンドルモータ及びディスクに情報を記録したりまたはディスクから情報を読み出す変換器を含む。変換器はＨＧＡに編入されているスライダ内に統合されている。ＨＧＡはディスク表面を横切って変換器を移動させられるアクチュエータアームに付着されている。アクチュエータアームと変換器の移動はコントローラにより制御される。
【００１３】
コントローラはシークルーチンとサーボ制御ルーチンとにより，現在のトラックから新しいトラックに変換器を移動させる。シークルーチンの間，コントローラは第１トラックから第２トラックまでのシーク長さを決定でき，シーク長さに対する計算された速度と設計速度との速度エラーに応答してシーク時間を調整し，加速度軌跡を利用して現在のトラックから新しいトラックにディスク表面を横切って変換器を移動させるようにアクチュエータアームを制御する。本実施形態において，加速度軌跡はサイン波形の加速度軌跡である。加速度軌跡はバンバン加速度軌跡のような他の形を適用することもできる。
【００１４】
まず，図１を参照しながら，本実施形態にかかるサインシークサーボハードディスクドライブについて説明する。図１は，本実施形態にかかるハードディスクドライブ構成の平面図である。
【００１５】
図１に示すように，ドライブ１０はスピンドルモータ１４により回転する少なくとも一つの磁気ディスク１２を含んでいる。ドライブ１０はディスク表面１８に隣接するように位置した変換器１６をさらに含んでいる。
【００１６】
変換器１６はそれぞれのディスク１２の磁界を感知して磁化させることにより，回転するディスク１２から情報を読んだり，又は記録する。典型的に変換器１６は各ディスク表面１８に結合している。たとえ単一の変換器１６として図示されて説明されているにしても，これはディスク１２を磁化させるための記録用変換器ディスク１２の磁界を感知するための分離された読み取り用変換器よりなっていると理解せねばならない。読み取り用変換器は，磁気抵抗素子より構成されている。
【００１７】
変換器１６はスライダ２０に統合されうる。スライダ２０は変換器１６とディスク表面１８とに空気弁を生成する構造よりなっている。スライダ２０はＨＧＡ２２に結合している。ＨＧＡ２２はボイスコイル２６を有するアクチュエータアーム２４に付着されている。ボイスコイル２６はＶＣＭ３０を特定するマグネチックアセンブリ２８に隣接するように位置している。ボイスコイル２６に供給される電流はベアリングアセンブリ３２に対してアクチュエータアーム２４を回転させるトークを発生させる。アクチュエータアーム２４の回転はディスク表面１８を横切って変換器１６を移動させるものである。
【００１８】
情報は典型的にディスク１２の環状トラック３４内に貯蔵される。各トラック３４は一般的に複数のセクタを含んでいる。各セクタはデータフィールドと識別フィールドとを含んでいる。識別フィールドはセクタ及びトラック（シリンダ）を識別するグレーコードより構成されている。変換器１６は他のトラックにある情報を読んだり記録するためにディスク表面１８を横切って移動する。
【００１９】
次いで，図２に基づいて，本実施形態にかかるサインシークサーボハードディスクドライブを制御する電気システムについて説明する。図２はハードディスクドライブを制御する電気システムの回路図である。
【００２０】
図２に示すように，システム４０はリード／ライト（Ｒ／Ｗ）チャンネル回路４４及びプレアンプ回路４６により変換器１６に結合されたコントローラ４２を含んでいる。コントローラ４２はデジタル信号プロセッサ，マイクロプロセッサ，マイクロコントローラなどとなる。コントローラ４２はディスク１２から読んだりまたはディスク１２に情報を記録するために読み取り／書き込みチャンネル４４に制御信号を供給する。情報は典型的にＲ／Ｗチャンネルからホストインタフェース回路４６に伝送される。ホストインタフェース回路４６はディスクドライブをしてパーソナルコンピュータのようなシステムにインタフェースせしめるバッファメモリ及び制御回路を含んでいる。
【００２１】
コントローラ４２はボイスコイル２６に駆動電流を供給するＶＣＭ駆動回路４８にさらに結合している。コントローラ４２はＶＣＭの励起及び変換器１６の動きを制御するために駆動回路４８に制御信号を供給する。
【００２２】
コントローラ４２は読み取り専用メモリまたはフラッシュメモリメモリ素子５０のような不揮発性メモリ及びランダムアクセスメモリ素子５２に結合している。メモリ素子５０，５２はソフトウエアルーチンを実行するためにコントローラ４２により使用される命令語及びデータを含んでいる。ソフトウエアルーチンの一つであって１トラックから他のトラックに変換器１６を移動させるシークルーチンがある。シークルーチンは変換器１６を正確なトラックに移動させることを保証するためのサーバー制御ルーチンを含んでいる。一実施形態として，メモリ素子５０は本実施形態の加速度，速度及び位置軌跡方程式を含んでおり，次に述べるように，駆動開始時にメモリ素子５２にこのような方程式が貯蔵される。
【００２３】
次いで，図３に基づいて，本実施形態にかかるサインシークサーボハードディスクのコントローラにより実行されるハードウエア及びソフトウエアより構成されたサーボ制御システムについて説明する。図３は，ディスクドライブのサーボ制御システムの回路図である。
【００２４】
サーボ制御システム６０は変換器１６がディスク１２の目標トラックに正確に位置するように保証する。コントローラ４２は変換器１６を第１トラックにおいて第１トラックから距離ＸＳＫに位置した新しいトラックに移動させるシークルーチンを実行する。新しいトラックと第１トラックとの間に位置した一つまたはそれ以上のトラックのグレーコードはディスク１６を横切って動く変換器で読み出す。これは変換器１６がトラックを横切って目標速度及び加速度で動いているかを周期的にコントローラ４２が決定することを許す。
【００２５】
制御システム６０はソフトウエア及びハードウエアより構成された推定器６２を含む。推定器６２は変換器１６が第１トラックから移動する実際距離または位置Ｘａを決定できる。位置は変換器１６の直下のトラックのグレーコードを読み出すことにより決定されうる。推定器６２はまた変換器１６の実際速度Ｖａ及び実際加速度Ａａを決定できる。グレーコードはコントローラ４２が制御システム６０により，変換器１６の動きを正確にできるようにするために変換器１６を新しいトラック位置に動かしつつ周期的にサンプリングされうる。
【００２６】
コントローラ４２は変換器１６がトラック３４のグレーコードを読み出す時ごとに変換器１６の設計位置Ｘｉ，設計速度Ｖｉ及び設計加速度Ａｉを計算する。コントローラ４２は合算接合点６４で設計位置Ｘｉと実際位置Ｘａとの差を演算する。ブロック６６においてコントローラ４２は比例的なプラス積分制御アルゴリズムと合算接合点６４の出力をもって位置訂正値Ｅｘを計算する。
【００２７】
合算接合点６８において設計速度Ｖｉと位置訂正値Ｅｘとの和から実際速度Ｖａを減算する。ブロック７０においてコントローラ４２は比例的なプラス積分制御アルゴリズムと合算接合点６８との出力で速度訂正値ＥＶを計算する。
【００２８】
加速度訂正値Ｅａは合算接合点７２において設計加速度Ａｉと速度訂正値Ｅｖとの和から実際加速度Ａａを減算することで計算される。加速度訂正値Ｅａはボイスコイル２６に供給される電流を増加させたりまたは減少させるのに使われ，さらに変換器１６の動きの加速度を変更させるのに使われる。
【００２９】
加速度訂正値Ｅａはまたフィードフォワード加速度値Ａ’ａを生成するために推定器６２に供給される。フィードフォワード加速度値Ａ’ａはフィードフォワード制御ループを提供するために合算接合点７２に供給されうる。
【００３０】
それぞれの合算接合点７２，６８，６４に供給される設計加速度Ａｉ，速度Ｖｉ及び位置Ｘｉの波形は次に説明する。
【００３１】
本実施形態において，加速度軌跡は，以下に示す［数１］式のように定義されたサイン波形の加速度軌跡を含む。
【００３２】
【数１】
0004886130.tif 000002
【００３３】
ここで，
ＫＡ＝加速度定数，
ＩＭ＝ボイスコイルに供給される最大電流，
ＴＳＫ＝過去のトラックから新しいトラックに変換器を移動させるのに必要なシーク時間を意味する。
【００３４】
下記の［数２］式のような理想的な速度方程式は加速度方程式を積分することにより求められる。
【００３５】
【数２】
0004886130.tif 000003
【００３６】
付加的に，下記の［数３］式のような理想的な位置方程式は速度方程式を積分することにより求められる。
【００３７】
【数３】
0004886130.tif 000004
【００３８】
また，図４（ａ）〜図４（ｃ）はサイン波形シークの典型的な加速度，速度及び位置軌跡を示すグラフである。
【００３９】
ディスクドライブが動作する時，ディスクドライブは情報を記録したりまたは読むための命令を受信できる。この命令はシークルーチンにより，第１トラックから新しいトラックに変換器が移動することを必要とする。シークルーチンの間に，新しいトラックと第１トラックとから新しいトラックまでの対応距離（シーク長さＸＳＫ）はコントローラ４２により決定されうる。シーク時間は理想的な加速度，理想的な速度及び理想的な位置が計算される前に初期に計算されうる。ＴＳＫとＸＳＫとの間の下記［数４］の関係はｔ＝ＴＳＫとして設定することにより［数３］から得られる。
【００４０】
【数４】
0004886130.tif 000005
【００４１】
自乗根の演算を実行する代わりに，コントローラはｔ＝０とｔ＝ＴＳＫとのサンプルポイントの個数Ｎを生成させ，Ｎエントリを有するルックアップテーブルにサンプルを貯蔵し，サンプルポイント間のシーク時間を決定するために次の線形補間アルゴリズムを利用する。
【００４２】
【表１】
0004886130.tif 000006
0004886130.tif 000007
【００４３】
［表１］はＸＳＫ ｖ． ＴＳＫルックアップテーブルの典型的な形を提供する。
【００４４】
サーボルーチンの間に，システムは変換器を１トラックから他のトラックに移動させる時に変換器の位置，速度，加速度差を訂正するようにサンプルの個数を選択できる。図３に図示されたサーボ制御の合算接合点において理想的な値から実際値を減算するためにグレーコードのサンプリングに見合う理想的な軌跡を選別することが望ましい。軌跡を選別するために数式１，２，３はサンプルドメインｎに変換され，［数４］が振幅項に代替されて次のような方程式を生成する。
【００４５】
【数５】
0004886130.tif 000008
【００４６】
【数６】
0004886130.tif 000009
【００４７】
【数７】
0004886130.tif 000010
【００４８】
ここで，
Ｔｓｍ＝数式５から計算されたサンプリング時間，
ＮＳＫ＝サンプルの総数，
ｎ＝サンプル番号。
【００４９】
サイン値とコサイン値とはメモリに貯蔵されたルックアップテーブルを利用して計算されうる。選択的に，サイン値とコサイン値とは状態方程式と次の反復的なサイン波形生成アルゴリズムとの初期値で計算されうる。
【００５０】
【数８】
0004886130.tif 000011
【００５１】
上の方程式に次の公知の三角恒等式を利用できる。
【００５２】
【数９】
0004886130.tif 000012
【００５３】
【数１０】
0004886130.tif 000013
【００５４】
サーボルーチンの間に，コントローラ４２は最初のサンプル時間で理想的な位置，理想的な速度及び理想的な加速度を計算し，実際位置，速度及び加速度値を決定し，上述したように図３に図示された制御ループに見合うデータを処理する。二番目，三番目などのサンプルが取られて変換器１６の動きを制御するサーボルーチンに供給されるように反復的に処理される。
【００５５】
変換器の速度は変換器がディスクから正確にグレーコードを読み出せるようにするために最大値を超えてはならない。［数２］から最大速度は次の通り計算されうる。
【００５６】
【数１１】
0004886130.tif 000014
【００５７】
［数４］式を利用して最大シーク時間と最大シーク長さとは次の通り決定されうる。
【００５８】
【数１２】
0004886130.tif 000015
【００５９】
【数１３】
0004886130.tif 000016
【００６０】
最大シーク長さを［数１４］に示す。
【００６１】
【数１４】
0004886130.tif 000017
【００６２】
シーク長さＸＳＫが，上記［数１４］に示す最大シーク長さを超える時，変換器速度が最大値を超えないようにするために，コースト区間は変換器の加速度が０になるように導入されねばならない。コースト時間は次の方程式により定義されうる。
【００６３】
【数１５】
0004886130.tif 000018
【００６４】
シーク長さを［数１６］に示すと，
【００６５】
【数１６】
0004886130.tif 000019
【００６６】
となり，［数１６］に示すシーク長さより長い場合に，理想的な位置，理想的な速度及び理想的な加速度軌跡は次のような方程式によりｎドメインで定義されうる。
【００６７】
換器が加速される時は次の通りであり，
【００６８】
【数１７】
0004886130.tif 000020
【００６９】
【数１８】
0004886130.tif 000021
【００７０】
【数１９】
0004886130.tif 000022
【００７１】
変換器が一定の速度を維持する時は次の通りであり，
【００７２】
【数２０】
0004886130.tif 000023
【００７３】
【数２１】
0004886130.tif 000024
【００７４】
【数２２】
0004886130.tif 000025
【００７５】
変換器が減速される時は次の通りである。
【００７６】
【数２３】
0004886130.tif 000026
【００７７】
【数２４】
0004886130.tif 000027
【００７８】
【数２５】
0004886130.tif 000028
【００７９】
ここで，
【００８０】
【数２６】
0004886130.tif 000029
【００８１】
【数２７】
0004886130.tif 000030
【００８２】
【数２８】
0004886130.tif 000031
【００８３】
シーク長さを［数２９］に示す。
【００８４】
【数２９】
0004886130.tif 000032
【００８５】
上記［数２９］に示すシーク長さを超える時，コントローラは［数１５］〜［数２７］により，理想的な位置，理想的な速度及び理想的な加速度を計算し，図３の制御ループに理想的な値を適用する。
【００８６】
正常な動作の間に，ディスクドライブはサイン波形のシーク方法を利用してよいシーク性能を示す。しかし，極端な状態，すなわち例としてディスクドライブが高温状態にあったり低い電圧環境で動作される時，ディスクドライブはシークオーバーラン状態を示すのである。例えば，高温でＶＣＭの抵抗は，ＶＣＭに高い電圧を引き起こさせるように高まる傾向があり，そこで低い電圧により得られた電流命令Ｅａを駆動させる。結果的に，電流命令Ｅａから差ＶＣＭ電流により電圧飽和状態が生じる結果を招く。これは安定化の間にオーバーシュートが生じることを招くことがある。
【００８７】
正常状態及び極限状態でどちらも安定したシーク性能を得るために，本実施形態は有効な電圧に基づいて適応的にシーク時間を調整する。有効な電圧を決定し難いために，シーク時間は電圧エラー信号Ｖｅｒｒに基づいて適応的に調整される。もしＶＣＭを駆動する電圧が十分ならば，ＶＣＭ電流は電流命令Ｅａと実質的に同一である。この場合において，実際速度は電流命令から計算された速度値と実質的に同一である。結論的に，実際速度と設計速度との最大速度エラーＶｅｒｒは選択可能な臨界値ＴＨＬＤ１未満である。しかし，ＶＣＭを駆動させる電圧が十分ではない場合には実際にＶＣＭ電流は設計電流と差がつき，実際速度と設計速度とは差がつくようになる。そして，シーク動作実行中に最大速度エラーＶｅｒｒが臨界値ＴＨＬＤ１より大きい場合にＶＣＭを駆動させる電圧が十分ではないとわかる。ＶＣＭを駆動させる電圧が不足なことを補償するために，次のシーク動作でシーク長さに対するより小さな電流命令の結果により，シーク時間ＴＳＫを延ばす。図５又は図７はそのようなメカニズムの典型的な実施形態を示す。
【００８８】
また，図５は本実施形態による初期化方法５００のフローチャートを図示したものである。初期化方法は典型的にパワーオンの自己診断の間に実行されるか，あるいは適応的な技術の動作以前の一定時間に実行される。
【００８９】
図５に示すように，方法５００はＮエントリを有するＫｓｃａｌｅテーブルがメモリ（例えば，図２のメモリ５２）に生成されるブロック５１０から始まる。Ｋｓｃａｌｅテーブルの大きさは表１の大きさと同じである。ブロック５１５で，Ｋｓｃａｌｅテーブル内のあらゆるエントリは１に設定される。本実施形態ではＫｓｃａｌｅテーブルは表１の役割を果たせる。
【００９０】
また，図６は本実施形態によるスケーリング値を調整する方法のフローチャートを図示したものである。本実施形態において，方法６００は各シークで実行される。この方法において，最大速度エラーＶｅｒｒは計算され２臨界値と比較される。もし，Ｖｅｒｒが第１臨界値ＴＨＬＤ１より大きい場合に，Ｋｓｃａｌｅは遅いシーク時間を提供するために延びる。これと異なり，もし，Ｖｅｒｒが第２臨界値ＴＨＬＤ２より小さな場合に，Ｋｓｃａｌｅは早いシーク時間を提供するために縮まる。
【００９１】
図６に示すように，方法６００はＸＳＫ及びＩが決定されるブロック６０５から始まる。現在のトラックと新しいトラックとの距離ＸＳＫはルックアップテーブルにより決定されうる。一度ＸＳＫが決定されれば，Ｉは，上記［表１］から決定される。例えば，ＸＳＫが表１の５番目のエントリ（ＸＳＫ５）の場合，この時Ｉは５となる。これと異なり，もしＸＳＫが２エントリの値の場合（例えば，ＸＳＫ２０及びＸＳＫ２１），この時Ｉは他のエントリ（例えば，２０または２１）に設定されるのである。方法６００は可変となるＶｅｒｒ＿ｍａｘが０で初期化されるブロック６１０を連続する。ブロック６１５において，シークの最初のサンプル時間において合算接合点６８の出力の速度エラーＶｅｒｒは計算される。この時，方法６００はＶｅｒｒの絶対値（ＡＢＳ（Ｖｅｒｒ））とＶｅｒｒ＿ｍａｘとを比較するブロック６２０に移動する。もしＡＢＳ（Ｖｅｒｒ）がＶｅｒｒ＿ｍａｘより大きい場合に，この時の方法はＶｅｒｒ＿ｍａｘをＡＢＳ（Ｖｅｒｒ）に設定するブロック６２５を連続させ，そうでない場合にはブロック６２５を省略する。ブロック６３０において，方法６００はシークが完了したのかを決定する。もしそのような場合には，ブロック６４０を連続させる。もしそうでない場合には，次のサンプル時間で次のサーボインタラプトされる時まで待つブロック６３５に移動する。ブロック６１５，６２０，６２５はシークが完了する時まで各サンプル時間の間実行され，この時速度エラーの最高値はＶｅｒｒ＿ｍａｘに貯蔵される。
【００９２】
また図６に示すように，ブロック６４０において，Ｖｅｒｒ＿ｍａｘは第１所定の臨界値ＴＨＬＤ１と比較される。このブロックは速度エラーの最高値が所定の値以上であるかを決定する。所定の臨界値は特定値または値の範囲に決定されうる。所定の臨界値ＴＨＬＤ１は数字または百分率でありうる。例えば，所定の臨界値は５％，１０％，１５％またはより高くありうる。所定の臨界値は低い値または百分率になりうる。そして，シークで，もし実際速度と理想的な速度との最大差が所定の臨界値（例えば，１０％）より小さな場合に，プロセスはブロック６５０に移動する。そうでない場合にはプロセスはＫｓｃａｌｅテーブル内のＩ成分が所定の値δにより減るブロック６４５に移動させる。この新しい値は同じシーク長さ（上記［表１］で同一のエントリＩ）を有する次のシークでシーク時間ＴＳＫを延ばすのに利用されるのである。設計者はこの値及びδの粒状値を設定できる。例えば，シーク時間は１％，５％，１０％またはそれ以上の値により増加されうる。
【００９３】
プロセスはＶｅｒｒ＿ｍａｘと第２所定の臨界値ＴＨＬＤ２とが比較されるブロック６５０に連続する。すなわち，もしシークで速度エラーの最高値が第２所定の臨界値より小さな場合には，シーク時間が安定したシーク性能を維持する時まで減少されうることを示し，Ｋｓｃａｌｅテーブル内のＩ成分はαにより減少する（ブロック６５５）。α値はδと同じにしうる。
【００９４】
方法６００に存在する変化については，Ｖｅｒｒ＿ｍａｘにＶｅｒｒの最高値を貯蔵する代わりに，シークであらゆるサンプルについてのＶｅｒｒの平均値をＶｅｒｒ＿ａｖｇに貯蔵できる。さらに，ＶｅｒｒまたはＶｅｒｒ＿ａｖｇは一つ以上の臨界レベルと比較されうる。例として，ＶｅｒｒまたはＶｅｒｒ＿ａｖｇが第１臨界値ＴＨＬＤ１Ａより大きく第２臨界値ＴＨＬＤ１Ｂより小さい場合に，Ｋｓｃａｌｅテーブルにあるエントリは第１の量δ１により増加され，もしＶｅｒｒまたはＶｅｒｒ＿ａｖｇが第２臨界値ＴＨＬＤ１Ｂより大きく第３臨界値ＴＨＬＤ１Ｃより小さい場合に，Ｋｓｃａｌｅテーブルにあるエントリはより大きい第２の量δ２により増加しうる。類似のメカニズムは第２臨界値ＴＨＬＤ２にも適用されうる。
【００９５】
また，図７は本実施形態によるシーク時間を調整するための方法７００のフローチャートである。方法７００は理想的な位置，速度及び加速度軌跡を計算する以前及び電流命令Ｅａ以前に実行される。
【００９６】
図７に示すように，方法７００は現在のトラックと新しいトラックとの距離ＸＳＫが決定されるブロック７１０から始まる。これはルックアップテーブルをサーチすることにより決定されうる。ブロック７１５において，Ｉ値は表１（ルックアップテーブル）を利用して決定される。ブロック７２０において，ＴＳＫは［表１］においてＴＳＫとＸＳＫとをマッチさせることにより決定され，もし必要ならば線形補間（上記［数５］）を利用して決定する。ブロック７２５においてＴＳＫは調整される。本実施形態において，ＴＳＫはＫｓｃａｌｅテーブル内のＩ番目エントリＫｓｃａｌｅ［Ｉ］をＴＳＫに掛け合わせることにより調整される。もしＫｓｃａｌｅ［Ｉ］の値が１より大きい場合には，シーク長さＸＳＫに対するＶＣＭを駆動させる電圧が不十分であるということを示し，この時ＴＳＫは増加する。もしＫｓｃａｌｅ［Ｉ］の値が１と同じ場合にはシーク長さＸＳＫに対するＶＣＭを駆動させる電圧が十分であるということを示し，この時ＴＳＫは変化しない。そして，Ｋｓｃａｌｅ［Ｉ］の値が１より小さい場合には，ＶＣＭの駆動に追加的な電圧が利用されということを示し，この時ＴＳＫは減少する。
【００９７】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明はかかる例に限定されない。当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例を想定し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００９８】
上記説明から分かるように，本発明にかかる本実施形態はＶＣＭを駆動させるのに利用される電圧に基づいて適応的にシーク軌跡を調整するための方法及び装置を提供する。シークで，理想的な速度と実際速度との差を意味する速度エラーの最高値が所定の臨界値より大きい場合に，ＶＣＭを駆動させる電圧が十分ではないと推定される。結果的に，シーク時間は次のシーク動作で同じシーク長さに対するより小さな電流命令を引き起こさせ増加する。これはシークオーバーランの可能性を減らす。
【００９９】
本発明にかかる上記実施形態は，米国特許庁に出願中である出願番号０９／５５２，１１２の「ＧＥＮＥＲＡＬＩＺＥＤ ＦＯＵＲＩＥＲ ＳＥＥＫ ＭＥＴＨＯＤ ＡＮＤ ＡＰＰＡＲＡＴＵＳ ＦＯＲ Ａ ＨＡＲＤ ＤＩＳＫ ＤＲＩＶＥ ＳＥＲＶＯＭＥＣＨＡＮＩＳＭ」と出願番号０９／６０９，６３０の「ＡＮ ＯＰＴＩＭＩＺＡＴＩＯＮ ＭＥＴＨＯＤ ＡＮＤ ＡＰＰＡＲＡＴＵＳ ＦＯＲ Ａ ＧＥＮＥＲＡＬＩＺＥＤ ＦＯＵＩＥＲ ＳＥＥＫ ＴＲＡＪＥＣＴＯＲＹ ＦＯＲ Ａ ＨＡＲＤ ＤＩＳＫ ＤＲＩＶＥ ＳＥＲＶＯＭＥＣＨＡＮＩＳＭ」などに記述されたいかなるサイン波形のシークハードディスクドライブサーボメカニズムにも適用されうるものである。
【０１００】
本発明にかかる上記実施形態は，方法，装置，システムなどとして実行される。ソフトウエアとして実行される時，本発明の構成手段は必然的に必要な作業を実行するコードセグメントである。プログラムまたはコードセグメントはプロセッサ判読可能な媒体に貯蔵され，または伝送媒体または通信網において搬送波と結合されたコンピュータデータ信号により伝送されうる。プロセッサ判読可能な媒体は情報を貯蔵または伝送できるいかなる媒体とも含む。プロセッサ判読可能な媒体の例として電子回路，半導体メモリ素子，ＲＯＭ，フラッシュメモリ，イレイザブルＲＯＭ（ＥＲＯＭ：Ｅｒａｓａｂｌｅ ＲＯＭ），フロッピディスク，光ディスク，ハードディスク，光ファイバ媒体，無線周波数（ＲＦ）網などがある。コンピュータデータ信号は電子網チャンネル，光ファイバ，空気，電磁界，ＲＦ網などのような伝送媒体の上に伝播されうるいかなる信号も含まれる。
【０１０１】
【発明の効果】
以上説明したように，本発明によれば，ＶＣＭを駆動させるのに利用される電圧に基づいて適応的にシーク軌跡を調整することにより，サーボメカニズムを安定的に制御できる効果が生じ，特にシークモードでオーバーランの発生可能性を減らすことができる。
【図面の簡単な説明】
【図１】本実施形態にかかるハードディスクドライブの構成の平面図である。
【図２】ハードディスクドライブを制御する電気システムの回路図である。
【図３】ディスクドライブのサーボ制御システムの回路図である。
【図４】図４（ａ）〜図４（ｃ）はサイン波形のシークの加速度，速度及び位置軌跡の典型的なグラフである。
【図５】本実施形態にかかる初期化方法のフローチャートである。
【図６】本実施形態にかかるスケーリング値を調整する方法のフローチャートである。
【図７】本実施形態にかかるスケーリング値に基づいたシーク時間を調整するための方法のフローチャートである。
【符号の説明】
１０  ：ハードディスクドライブ
１２  ：磁気ディスク
１４  ：スピンドルモータ
１６  ：変換器
１８  ：ディスク表面
２０  ：スライダ
２２  ：アセンブリ
２４  ：アクチュエータアーム
２６  ：ボイスコイル
２８  ：マグネチックアセンブリ
３０  ：ボイスコイルモータ（ＶＣＭ）
３２  ：ベアリングアセンブリ
３４  ：トラック
４２  ：コントローラ
４４  ：Ｒ／Ｗチャンネル回路
４６  プレアンプ回路
４８  ：駆動回路
５０  ：メモリ素子
５２  ：メモリ素子
【図１】
0004886130.tif 000033
【図２】
0004886130.tif 000034
【図３】
0004886130.tif 000035
【図４】
0004886130.tif 000036
【図５】
0004886130.tif 000037
【図６】
0004886130.tif 000038
【図７】
0004886130.tif 000039