(57)【特許請求の範囲】
【請求項１】
ディスク装置のヘッドを目標位置に位置決めする位置決め制御装置において、
位置決め制御の制御量の計算を実行する第１の演算部と、前記第１の演算部の制御計算が正しいか否かを判定するものであって前記第１の演算部の制御計算が正しくないと判定したときに前記制御計算の入力値を修正する第２の演算部とを備え、前記ヘッドを駆動する前記ディスク装置の駆動部に前記制御量を出力する制御部と、
前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部と、
を備え、
前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された前記変数値を利用して前記制御量の計算を再び実行し、
前記制御部は、前記制御量の計算と位置決め制御状態の判定処理とを１サンプル内で実行し、
前記制御部は、前記ヘッドの目標位置から現在位置までの位置誤差を前記判定処理の判定対象とし、さらに、前記制御部は、前記制御量の計算による制御量出力と前記判定処理とを同時に行う、又は前記制御量出力後前記判定処理を行う、ことを特徴とする位置決め制御装置。
【請求項２】
前記制御部は、前記制御量の計算完了後に直ちに制御量を前記駆動部に出力する、ことを特徴とする請求項１記載の位置決め制御装置。
【請求項３】
前記第１の演算部は、前記制御量の計算完了後に前記第２の演算部からの制御量出力許可が入力されると計算完了した前記制御量を前記駆動部に出力する、ことを特徴とする請求項１記載の位置決め制御装置。
【請求項４】
前記第２の演算部により前記第１の演算部の制御計算が正しくないと判定されたとき、前記第２の演算部は前記第１の演算部に対して制御計算を中断させ、前記第１の演算部又は前記第２の演算部は、前記制御計算の入力値を修正し、更に制御計算開始前の変数値を再設定し、前記第１の演算部は修正された前記入力値及び再設定された変数値を用いて前記制御計算を再度実行する、ことを特徴とする請求項２又は３記載の位置決め制御装置。
【請求項５】
前記第１の演算部は、前記制御計算を再度実行したとき、前記制御量の出力時刻に応じて異なる状態変数により前記制御量の計算を実行する、ことを特徴とする請求項４記載の位置決め制御装置。
【請求項６】
ヘッドを目標位置に位置決めするディスク装置において、
前記ヘッドを駆動する駆動部と、
位置決め制御の制御量の計算を実行する第１の演算部と、前記第１の演算部の制御計算が正しいか否かを判定するものであって前記第１の演算部の制御計算が正しくないと判定したときに前記制御計算の入力値を修正する第２の演算部とを備え、前記駆動部に前記制御量を出力する制御部と、
前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部と、
を備え、
前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された変数値を利用して前記制御量の計算を再び実行し、
前記制御部は、前記制御量の計算と位置決め制御状態の判定処理とを１サンプル内で実行し、
前記制御部は、前記ヘッドの目標位置から現在位置までの位置誤差を前記判定処理の判定対象とし、さらに、前記制御部は、前記制御量の計算による制御量出力と前記判定処理とを同時に行う、又は前記制御量出力後前記判定処理を行う、ことを特徴とするディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク装置のヘッドを目標位置に位置決めする位置決め制御装置、及びディスク装置に関する。詳しくは、位置情報を取得後、制御量を出力するまでの計算遅延時間を短縮するようにした位置決め制御装置等に関する。
【背景技術】
【０００２】
光ディスクや磁気ディスクなどのディスク装置では、ヘッドを目標位置に正確に位置決めすることが極めて重要である。
【０００３】
位置決め制御は、ディスク装置内において、復調回路を経由して媒体上に記録された位置情報を取得した後、アクチュエータを制御するための制御量を計算して、アクチュエータを駆動させる駆動回路にその制御量を出力し、制御対象のアクチュエータを駆動することで、処理が行われる。
【０００４】
この種の位置決め制御の従来技術としては、サーボ情報（位置情報）の欠陥を検出するようにしたもの（例えば、以下の特許文献１）や、正しいサーボデータ（位置情報）が抽出できなくても後続のサーボデータへの影響を防止するようにしたもの（例えば、以下の特許文献２）等がある。
【０００５】
更に、必要のないライト禁止によるオーバーキルを減らすため、ｎ番目のサーボパターンを読み取った値から予想ＰＥＳ（Ｐｏｓｉｔｉｏｎ  Ｅｒｒｏｒ  Ｓｉｇｎａｌ）を求め、予想ＰＥＳが一定の条件を満たす場合にデータの書き込みを禁止するようにしたものもある（例えば、以下の特許文献３）。
【０００６】
一方、このような位置決め制御において、制御量を計算するとともに、各種の判定処理がある（例えば、以下の特許文献４、５）。この判定処理を含む計算処理手順の例を図１７に示す。
【０００７】
まず、媒体に記録された位置信号を取得すると、位置誤差（目標位置から現在位置までの距離）を算出する。そして、判定・修正処理を行う。この判定・修正処理は主に以下の３つの処理を行う。
【０００８】
１つ目は、取得した位置情報が正しいか否かを判断して、誤りがあれば修正する。２つ目は、算出した現在の位置誤差がＲｅａｄ又はＷｒｉｔｅを実行するのに適切な範囲内にあるかを判断する。３つ目は、シーク直後又は一度目標トラックを外れた後の整定判定の処理である。
【０００９】
これらの判定・修正処理後にアクチュエータに対する制御量の計算を行い、制御計算の後処理（次サンプルの制御量の予測）を行う。
【００１０】
図１８は、この制御計算における一連の処理をフローチャートとして示した図である。例えば、ディスク装置内の制御部で行われる処理である。
【００１１】
処理が開始されると（Ｓ１００）、制御部は位置誤差を計算し（Ｓ１０１）、判定処理を行う（Ｓ１０２）。この判定処理により、位置誤差を修正する必要があるとき（Ｓ１０３でＹＥＳ）は、制御部は位置誤差を修正し（Ｓ１０４）、修正後の位置誤差を用いて制御量を計算する（Ｓ１０５）。修正が必要なければ（Ｓ１０３でＮＯ）、計算した位置誤差（Ｓ１０１）を用いて制御量を計算する（Ｓ１０５）。そして、計算した制御量をアクチュエータに出力し（Ｓ１０６）、制御計算の後処理を行い（Ｓ１０７）、一連の処理が終了する（Ｓ１０８）。
【特許文献１】特開平５−６２３９３号公報
【特許文献２】特開２０００−４０３１８号公報
【特許文献３】特開２０００−１６３８７２号公報
【特許文献４】特開平９−２５９５５５号公報、特に図２等
【特許文献５】特開平１０−７４３７１号公報、特に図３
【発明の開示】
【発明が解決しようとする課題】
【００１２】
位置情報を取得して制御量を出力するまでの時間を一般に計算遅延時間と呼ぶ。計算遅延時間を短縮することは、位相余裕を改善することに繋がる。位相余裕とは、制御モデルの制御特性を評価する基準のひとつであり、このような位相余裕の改善により、位置決め制御においては応答が速くなるため制御応答性能の改善に繋がる。更に、位相余裕の改善により、位置決め精度の改善にも繋がる。
【００１３】
一方、上述の計算処理では制御量の計算の前に各種判定処理を実行するようにしている。かかる処理は取得した位置情報や位置誤差の信頼性を確保する等の観点から大変重要である。
【００１４】
しかし、各種判定処理を実行することは、位置情報を取得後、制御量を出力するまでの計算遅延時間を短縮するには障害となっていた。
【００１５】
そこで、本発明は、上記問題点に鑑みてなされたもので、その目的は、計算遅延時間を短縮するようにした位置決め制御装置、及びディスク装置を提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明は、ディスク装置のヘッドを目標位置に位置決めする位置決め制御装置において、位置決め制御の制御量を計算し、前記ヘッドを駆動する前記ディスク装置の駆動部に前記制御量を出力する制御部と、前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部とを備え、  前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された前記変数値を利用して前記制御量の計算を再び実行することを特徴とする。
【００１７】
また、本発明は、前記位置決め制御装置において、前記制御部は第１及び第２の演算部を備え、前記第１の演算部は前記制御量の計算を実行し、前記第２の演算部は位置決め制御状態の判定処理を実行することを特徴とする。
【００１８】
更に、本発明は、前記位置決め制御装置において、前記位置決め制御状態の判定処理は、前記第１の演算部の制御計算が正しいか否かを判定するものであって、前記第２の演算部は、前記第１の演算部の制御計算が正しくないと判定したとき前記制御計算の入力値を修正することを特徴とする。
【００１９】
更に、本発明は、前記位置決め制御装置において、前記制御部は、前記制御量の計算完了後に直ちに制御量を前記駆動部に出力することを特徴とする。
【００２０】
更に、本発明は、前記位置決め制御装置において、前記第１の演算部は、前記制御量の計算完了後に前記第２の演算部からの制御量出力許可が入力されると計算完了した前記制御量を前記駆動部に出力することを特徴とする。
【００２１】
更に、本発明は、前記位置決め制御装置において、前記第２の演算部により前記第１の演算部の制御計算が正しくないと判定されたとき、前記第２の演算部は前記第１の演算部に対して制御計算を中断させ、前記第１の演算部又は前記第２の演算部は、前記制御計算の入力値を修正し、更に制御計算開始前の変数値を再設定し、前記第１の演算部は修正された前記入力値及び再設定された変数値を用いて前記制御計算を再度実行することを特徴とする。
【００２２】
更に、本発明は、前記位置決め制御装置において、前記第１の演算部は、前記制御計算を再度実行したとき、前記制御量の出力時刻に応じて異なる状態変数により前記制御量の計算を実行することを特徴とする。
【００２３】
また、上記目的を達成するために本発明は、ヘッドを目標位置に位置決めするディスク装置において、前記ヘッドを駆動する駆動部と、位置決め制御の制御量を計算し、前記駆動部に前記制御量を出力する制御部と、前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部とを備え、前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された変数値を利用して前記制御量の計算を再び実行することを特徴とする。
【００２４】
更に、本発明は、前記ディスク装置において、前記制御部は第１及び第２の演算部を備え、前記第１の演算部は前記制御量の計算を実行し、前記第２の演算部は位置決め制御状態の判定処理を実行することを特徴とする。
【００２５】
更に、本発明は、前記ディスク装置において、前記位置決め制御状態の判定処理は、前記第１の演算部の制御計算が正しいか否かを判定するものであって、前記第２の演算部は、前記第１の演算部の制御計算が正しくないと判定したとき前記制御計算の入力値を修正することを特徴とする。
【００２６】
更に、本発明は、前記ディスク装置において、前記制御部は、前記制御量の計算完了後に直ちに制御量を前記駆動部に出力することを特徴とする。
【００２７】
更に、本発明は、前記ディスク装置において、前記第１の演算部は、前記制御量の計算完了後に前記第２の演算部からの制御量出力許可が入力されると計算完了した前記制御量を前記駆動部に出力することを特徴とする。
【００２８】
更に、本発明は、前記ディスク装置において、前記第２の演算部により前記第１の演算部の制御計算が正しくないと判定されたとき、前記第２の演算部は前記第１の演算部に対して制御計算を中断させ、前記第１の演算部又は前記第２の演算部は、前記制御計算の入力値を修正し、更に制御計算開始前の変数値を再設定し、前記第１の演算部は修正された前記入力値及び再設定された変数値を用いて前記制御計算を再度実行することを特徴とする。
【００２９】
更に、本発明は、前記ディスク装置において、前記第１の演算部は、前記制御計算を再度実行したとき、前記制御量の出力時刻に応じて異なる状態変数により前記制御量の計算を実行することを特徴とする。
【００３０】
更に、上記目的を達成するために本発明は、ディスク装置のヘッドを目標位置に位置決めする位置決め制御方法において、制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も記憶部に保持し、位置決め制御の制御量を計算し、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された前記変数値を利用して前記制御量の計算を再び実行し、前記制御量の計算で計算された前記制御量を、前記ヘッドを駆動する前記ディスク装置の駆動部に出力する、ことを特徴とする。
【００３１】
更に、上記目的を達成するために本発明は、ヘッドを目標位置に位置決めするディスク装置を備える情報処理システムにおいて、前記ディスク装置には、前記ヘッドを駆動する駆動部と、位置決め制御の制御量を計算し、前記駆動部に前記制御量を出力する制御部と、  前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部とを備え、前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された変数値を利用して前記制御量の計算を再び実行することを特徴とする。
【発明の効果】
【００３２】
本発明によれは、計算遅延時間を短縮するようにした位置決め制御装置、及びディスク装置を提供することができる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照して本発明を実施するための最良の形態を説明する。
【００３４】
図１は、本発明が適用される磁気ディスク装置の一構成例である。ディスク装置の例としてハードディスクドライブを例にしている。
【００３５】
図１に示すように、磁気ディスク装置１は、磁気ディスク１０と、スピンドルモータ１２と、磁気ヘッド１３、及びアクチュエータ１４を備える。
【００３６】
磁気ディスク１０は、スピンドルモータ１２の回転軸１１を中心に設けられている。スピンドルモータ１２は、回転軸１１を介して磁気ディスク１０を回転させる。
【００３７】
磁気ヘッド１３は、リード素子とライト素子とを有し、磁気ディスク１０に対するデータの読み出しや書き込みを行う。
【００３８】
アクチュエータ１４は、内部の回転軸を中心に回転するボイスコールメータ（ＶＣＭ）で構成される。また、アクチュエータ１４はその先端に磁気ヘッド１３を備え、磁気ディスク１０の半径方向に対して磁気ヘッド１３を移動させることができる。
【００３９】
尚、図１に示す例では、磁気ディスク装置１には２枚の磁気ディスク１０が搭載され、４つの磁気ヘッド１３が同一のアクチュエータ１４で同時に駆動される。勿論、１枚の磁気ディスク１０でもよいし、３枚以上の磁気ディスク１０でも実施可能である。
【００４０】
また、磁気ディスク装置１は、スピンドルモータ（ＳＰＭ）駆動回路２０と、ボイスコールメータ（ＶＣＭ）駆動回路２１と、位置検出回路２２と、リードライド（Ｒ／Ｗ）回路２３と、ハードディスクコントローラ（ＨＤＣ）２４と、第１及び第２のランダムアクセスメモリ（ＲＡＭ）２５、２６と、リードオンリーメモリ（ＲＯＭ）２８、及びマイクロコントローラ（ＭＣＵ）３０を備える。これらは、第１のＲＡＭ２５を除き、互いにバス４０を介して接続される。
【００４１】
ＳＰＭ駆動回路２０は、ＭＣＵ３０からの制御信号に基づいて、スピンドルモータ１２を駆動する。ＶＣＭ駆動回路２１は、ＭＣＵ３０からの制御信号に基づいて、アクチュエータ１４に駆動電流を供給し、アクチュエータ１４を駆動する。
【００４２】
位置検出回路２２は、磁気ヘッド１３が磁気ディスク１０から読み取った位置信号（以下、サーボ信号）をデジタル信号に変換する。Ｒ／Ｗ回路２３は、磁気ヘッド１３の読み出しや書き込みを制御する。
【００４３】
ＨＤＣ２４は、サーボ信号のセクタ番号を基準にして１周内の位置を判断し、データを記録再生する。また、ＨＤＣ２４はＡＴＡやＳＣＳＩ等のインターフェース（ＩＦ）であり、ホストと通信する。
【００４４】
第１のＲＡＭ２５は、ＨＤＣ２４のためのメモリであって、磁気ヘッド１３が読み出したリードデータや磁気ヘッド１３が磁気ディスク１０に書き込むためのライトデータを一時記憶する。第２のＲＡＭ２６は、ＭＣＵ３０が種々の演算を行うためのデータを一時記憶する。
【００４５】
ＲＯＭ２８は、ＭＣＵ３０の制御プログラム等を記憶する。ＭＣＵ３０は、ＲＯＭ２８から制御プログラム等を読み出して実行することで、位置検出回路２２からのサーボ信号（位置信号）から現在位置を検出（復調）し、検出した現在位置と目標位置との位置誤差に従い制御計算を実行し、ＶＣＭ駆動回路２１に制御信号を出力する。この制御計算処理の詳細は後述する。
【００４６】
図２は、磁気ディスク１０に記録されたサーボ信号１６の配置例を示す図である。図２に示すように、サーボ信号１６は磁気ディスク１０の内周から外周にかけて等間隔に配置される。磁気ディスク装置１はこのサーボ信号１６を読み出すことで磁気ヘッド１３の現在位置等を把握できる。
【００４７】
図３は、サーボ信号１６の記録フォーマットの一例を示す図である。図３に示すように、サーボ信号１６は、サーボ信号１６の開始位置を示すサーボマーク（Ｓｅｒｖｏ  Ｍａｒｋ）と、トラック番号を示すグレイコード（Ｇｒａｙ  Ｃｏｄｅ）と、サーボ信号１６のインデックスを示すインデックス信号（Ｉｎｄｅｘ）と、４つのオフセット信号（ＰｏｓＡ、ＰｏｓＢ、ＰｏｓＣ、ＰｏｓＤ）とから構成される。
【００４８】
図４は、サーボ信号１６を磁気ヘッド１３で読み出したときの信号波形図の例である。このような波形を用いて、ＭＣＵ３０は磁気ヘッド１３の位置を検出する。
【００４９】
即ち、磁気ヘッド１３の半径方向の位置は、トラック番号Ｇｒａｙ  Ｃｏｄｅとオフセット信号ＰｏｓＡ〜ＰｏｓＤを用いてＭＣＵ３０により検出される。
【００５０】
また、磁気ヘッド１３の円周方向の位置は、インデックス信号Ｉｎｄｅｘから検出される。例えば、ＭＣＵ３０は、インデックス信号Ｉｎｄｅｘを検出したときのセクタ番号を「０」に設定し、サーボ信号１６を検出する毎にカウントアップしてトラックの各セクタ番号を得る。
【００５１】
図５は、ＭＣＵ３０で行われるアクチュエータ１４のシーク制御の例を示す図である。図５では、あるトラック位置から目標トラック位置まで磁気ヘッド１３を移動させるためのシーク制御の遷移と、アクチュエータ１４に流れる電流と、磁気ヘッド１３の移動速度、及び磁気ヘッド１３の位置を示す。
【００５２】
シーク制御は、コアース制御後、整定制御を経て、フォロイング制御と遷移することで磁気ヘッド１３を目標位置に移動させる。コアース制御は目標位置への速度制御のことで、整定制御とフォロイング制御は目標位置への位置制御である。
【００５３】
図６は、本実施例において、ＭＣＵ３０で実行される計算処理手順の例を示す図である。位置信号を取得して、制御量を出力するまでの処理である。図６は、１サンプル時間の例を示している。図面上、位置信号の四角で示す部分は、図４に示す信号波形図のサーボマークからＰｏｓＤまでを示す。
【００５４】
ＭＣＵ３０の計算処理の手順で、従来（図１７）と異なるのは、位置誤差算出後、先に制御量の計算を行い、その後、判定・修正処理を行う点にある。制御量の計算を先に行うため、従来と比較して制御量（本実施例では、ＭＣＵ３０からＶＣＭ駆動回路２１を介してアクチュエータ１４に出力される駆動電流）の出力タイミングを早くすることができる。
【００５５】
図７は、ＭＣＵ３０で実行される制御計算処理のフローチャートの例である。まず、ＭＣＵ３０はＲＯＭ２８に記憶されたプログラムを読み出すことで処理が開始される（Ｓ１０）。実際には、サーボ信号１６検出後、ＭＣＵ３０に対して割り込み処理がかかりＨＤＣ２４等のＩＦに対する処理が一旦停止され、制御計算の処理が開始される。
【００５６】
次いで、ＭＣＵ３０は位置誤差（目標位置から現在位置までの誤差）を計算し（Ｓ１１）、制御量の計算を行う（Ｓ１２）。計算後、ＶＣＭ駆動回路２１を経由してアクチュエータ１４に制御量を出力し（Ｓ１３）、判定処理を実行する（Ｓ１４）。
【００５７】
判定処理は、例えば、取得したサーボ信号１６が正しいか否か、現在の位置誤差が磁気ディスク１０に対するデータの読み出し（Ｒｅａｄ）や書き込み（Ｗｒｉｔｅ）を行う上で適切な範囲内にあるか否か（Ｒｅａｄ、Ｗｒｉｔｅの許可、禁止を出力する処理）、シーク直後又は一度目標トラックを外れた後の整定判定の処理（数サンプル連続して所定範囲内にあればシーク終了など）等がある。
【００５８】
判定後、位置誤差に修正が必要なければ（Ｓ１５でＮＯ）、制御計算の後処理（Ｓ１６）を行う。制御計算の後処理とは、次サンプルでの制御量（例えば、アクチュエータ１４（又は磁気ヘッド１３）の位置、速度）を計算することである。
【００５９】
一方、位置誤差に修正が必要なとき（Ｓ１５でＹＥＳ）、ＭＣＵ３０は、計算した位置誤差（Ｓ１１）を修正し（Ｓ１８）、制御計算を実行する上での変数を再設定する（Ｓ１９）。そして、ＭＣＵ３０は、再設定後の変数値を利用して再度制御量の計算を行い（Ｓ２０）、制御量を出力する（Ｓ２１）。その後、制御計算の後処理を行い（Ｓ１６）、制御計算の一連の処理が終了する（Ｓ１７）。
【００６０】
ここで、上述の制御量計算（Ｓ１２、Ｓ２０）の詳細について説明する。本磁気ディスク装置１における位置決め制御において、自動制御でいうオブザーバを利用したシングルレート制御の場合、以下の計算式を実行することになる。
【００６１】
即ち、まず、現在のアクチュエータ１４（又は磁気ヘッド１３）の位置、速度を示すＸｈ［ｋ］を以下の式（１）を用いて計算する。
【００６２】
【数１】
0004489039.tif 000002
ここで、Ｘｂ［ｋ］は前回のサンプルの位置、速度を示し、Ｌはオブザーバの推定ゲイン（位置、速度の２つのゲイン）を含むマトリックス、ｙ［ｋ］は観測位置（現在の磁気ヘッド１３の位置）、Ｃは「１」、「０」からなるマトリックスを示す。式（１）では、右辺の括弧内で観測位置と計算で求めた現在位置との差（推定された位置誤差）を求め、前回のサンプルでの位置、速度Ｘｂ［ｋ］に加算して現在の位置、速度Ｘｈ［ｋ］を求めている。
【００６３】
そして、アクチュエータ１４に与える電流ｕ［ｋ］を以下の式（２）を用いて計算する。
【００６４】
【数２】
0004489039.tif 000003
ここで、Ｆは位置、速度のゲインを含むマトリックスである。
【００６５】
このように、現在のアクチュエータ１４等の位置、速度Ｘｂ［ｋ］を、式（１）を用いて演算し、式（２）を用いて電流ｕ［ｋ］を求めることで、制御量の計算（Ｓ１２、Ｓ２１）が行われる。
【００６６】
また、共振を抑圧するために、電流ｕ［ｋ］の出力にノッチフィルタを付加した場合、その出力ｕｏｕｔ［ｋ］も制御量計算の処理（Ｓ１２、Ｓ２０）で行われる。この場合の計算式は、
【００６７】
【数３】
0004489039.tif 000004
となる。尚、Ｎｏｔｃｈｆｉｌｔｅｒ（）はノッチフィルタの状態変数を示す。
【００６８】
また、制御計算の後処理（Ｓ１６）では、次サンプルでの予測位置、速度Ｘｂ［ｋ＋１］を求めるが、この場合、以下の式（４）を用いて計算する。
【００６９】
【数４】
0004489039.tif 000005
ここで、Ａ、Ｂは夫々マトリックスを示す。（４）式では、現在の位置、速度Ｘｈ［ｋ］にマトリックスＡをかけたものと、アクチュエータ１４へ出力する電流ｕ［ｋ］およびｕ［ｋ−１］に夫々マトリックスＢ１およびＢ２をかけたものを加算して、次サンプルの位置、速度を予測している。
【００７０】
上述の計算式（１）〜（４）を演算するには、位置誤差（とくに観測位置ｙ［ｋ］、式（１）の括弧内）が確定していなければならない。
【００７１】
しかし、位置誤差は、現在の復調位置と目標位置のみから決定することはできず、復調エラーを想定して、復調位置が予想される範囲内にあるかを判定し、範囲内になければその値を予測値に置き換える必要がある。
【００７２】
従って、制御量の計算では、上述の計算式（１）〜（４）を実行する前には各種判定処理や修正処理が必要である。各種判定処理等を実行してはじめて上述の計算式（１）〜（４）に基づく制御量の計算（Ｓ１２、Ｓ２０）や後処理（Ｓ１６）を行うことができる。
【００７３】
しかし、位置誤差を修正しなければならない確率は低い。低い確率の処理のために、位置情報を取得して制御量を出力するまでの計算遅延時間を遅延させるのは得策ではない。
【００７４】
従って、本実施例では、図６や図７に示すように、位置誤差を計算（Ｓ１１）後、制御量の計算処理（Ｓ１２）をすぐに実行して制御量を計算し、その後判定・修正処理（Ｓ１４、１５）を行うようにしている。
【００７５】
このように本実施例では、位置誤差を計算後、先に制御量の出力を行い、その後判定・修正処理を行うようにしているため、位置誤差計算後、判定・修正処理を行って、その後の制御量の計算・出力を行う場合と比較して、制御量を早く出力することができる。従って、計算遅延時間の短縮を図ることができる。
【００７６】
このとき、制御量を計算しても、位置誤差が判定処理（Ｓ１４）により修正が必要になる場合もある（Ｓ１５でＹＥＳの場合）。この場合は、位置誤差を修正して（Ｓ１８）、再度制御量の計算を行うようにしている（Ｓ１９〜Ｓ２１）。
【００７７】
ここで、ＭＣＵ３０は、再度制御量の計算を行う場合、変数値を再設定するようにしている（Ｓ１９）が、この際にＭＣＵ３０は、メモリ（ＲＡＭ２６など）の変数記憶領域に記憶された計算開始前の状態変数を、再設定された変数に書き換え（上書き）て、処理を行う。
【００７８】
状態変数としては、例えば、上述の計算式（１）等における、現在の位置、速度を示すＸｈ［ｋ］や前回の位置、速度を示すＸｂ［ｋ］、ノッチフィルタを追加した場合は（３）式のノッチフィルタの状態変数、などである。
【００７９】
この変数値の上書きにより計算開始前の変数値を利用することができなくなる。そして、誤った変数値が再設定されて制御計算が行われ、誤った制御量を出力してしまう。
【００８０】
そこで、本実施例では、計算開始前の変数値をメモリの退避領域に記憶しておく。そして、その退避領域から変数値を読み出して制御量の計算を実行し（Ｓ１２、Ｓ１３）、修正が必要なければ（Ｓ１５でＮＯ）、そのまま処理を進める。
【００８１】
一方、修正が必要なら（Ｓ１５でＹＥＳ）、制御量の計算（Ｓ１２）を一旦中断し、退避領域に記憶された計算開始前の変数値を読み出して、位置誤差を修正し（Ｓ１８）、変数を再設定し（Ｓ１９）、再設定された変数値により制御量の計算を行っている（Ｓ２０）。この場合、再設定された変数値は退避領域とは異なる上書き領域に記憶するようにする。また、計算開始前の変数値は制御計算終了後もメモリの退避領域に記憶しておく。
【００８２】
このように本実施例では、計算開始前の変数値がメモリの退避領域に記憶されるため、変数再設定の際に計算開始前の変数値が上書きされることがなく、計算開始前の変数値を利用して変数再設定の処理、更に再設定された変数値を利用して制御量の計算を実行することができる。
【００８３】
図８（Ａ）及び（Ｂ）は、メモリに退避領域を設けた場合の磁気ディスク装置１の構成例を示す図である。主要部分の構成のみを示している。
【００８４】
図８（Ａ）に示すように、位置誤差を復調するための復調装置５１と、制御量を計算するための演算装置５２と、制御量を基にアクチュエータ１４を駆動するための駆動装置５３と、２つのメモリＡ、メモリＢとを備える。
【００８５】
復調装置５１は、図１の磁気ヘッド１３と位置検出回路２２に相当し、演算装置５２はＭＣＵ３０に相当し、駆動装置５３はＶＣＭ駆動回路２１に相当する。
【００８６】
メモリＢは、退避用のメモリとして計算開始前の変数値や定数値が記憶される。メモリＡは、上書き用のメモリとして再設定された変数値が記憶される。
【００８７】
図８（Ａ）は別途２つのメモリＡ、メモリＢにより退避用と上書き用の領域を設けるようにしたが、図８（Ｂ）に示すように１つのメモリ５６により構成してもよい。即ち、メモリ５６の変数領域を、上書き用と退避用の２つの領域に分けるように構成すればよい。
【００８８】
上述の例では、１つのＭＣＵ３０にて制御量の計算行う、所謂シングルプロセッサの例で説明した。次の例として、２つのプロセッサにより制御量の計算を行う例について説明する。
【００８９】
図９は、ＭＣＵ３０とデジタルシグナルプロセッサ（ＤＳＰ）３１の２つのプロセッサにより制御計算を行うようにした磁気ディスク装置１の構成例である。
【００９０】
ＤＳＰ３１は制御計算専用のプロセッサであり、ＭＣＵ３０は汎用のプロセッサである。ＤＳＰ３１にはメモリ３２が接続される。更に、そのメモリ３２はバス４０にも接続されてＭＣＵ３０からもアクセス可能になっている。それ以外の構成は図１と略同様である。
【００９１】
図１０（Ａ）及び（Ｂ）は、２つのプロセッサを用いた場合の計算処理手順の例を示す図である。ＤＳＰ３１を演算装置Ａ、ＭＣＵ３０を演算装置Ｂとする。
【００９２】
図１０（Ａ）に示すように、演算装置Ａは、復調回路を経由して位置信号を取得すると、位置誤差を算出して、制御量の計算を行い、制御計算の後処理を行う。一方、演算装置Ｂは、位置信号を取得すると判定・修正処理を行う。各処理は上述の例と略同様である。
【００９３】
演算装置Ｂでは、位置信号の取得により判定・修正処理を行うが、位置誤差等を計算しなくても判定可能な処理がある。例えば、サーボ信号１６が正しいか否か、磁気ディスク装置１内に衝撃センサ（ショックセンサ）があればセンサからの値で衝撃が発生したか否か等の処理などである。演算装置Ｂでは、位置信号を取得すると、位置誤差を算出する前に、この判定処理を行う。
【００９４】
シングルプロセッサの例（図６）と比較すると、位置誤差算出後、制御量の計算を行っているため、制御量の出力は略同じタイミングで行われる。従って、シングルプロセッサの例と同様に計算遅延時間の短縮を図ることができる。
【００９５】
一方、本例では、判定・修正処理を演算装置Ｂにより位置信号の取得後行わせるようにしている。従って、全体としての計算処理時間を短縮することができる。
【００９６】
一方、図１０（Ｂ）は同じく２つの演算装置Ａ、Ｂによる計算処理手順の例を示しているが、一度計算した制御量に対して、修正を行わなければならない場合の例を示す。
【００９７】
演算装置Ａは、位置信号の取得により位置誤差を算出し、制御量の計算（制御量計算１）を行う。演算装置Ｂは位置信号の取得により判定・修正処理を行うが、演算装置Ａで計算した位置誤差に修正が必要なとき、演算装置Ａは一旦制御量の計算を中止する。そして、演算装置Ｂで変数を再設定し、再設定された変数を用いて、演算装置Ａは制御量の計算（制御量計算２）を実行する。
【００９８】
制御計算では、上述の例と同様に、変数を随時設定し、これらの変数を書き換えながら（上書きしながら）計算を行う。位置誤差に修正が必要なとき、計算を強制的に終了させ、修正前の変数値を用いてもう一度計算をし直す必要がある。
【００９９】
この例の場合も、計算開始前の変数値を退避領域に記憶させ、再設定後の変数値に対して別々のメモリ或いは同一メモリの他の領域に記憶させるようにしている。従って、変数再設定の際に計算開始前の変数値が上書きされることがなく、計算開始前の変数値を利用して変数再設定の処理、更に再設定後の変数値を用いて制御量の計算を実行することができる。
【０１００】
図１１は、同様に２つの演算装置Ａ、Ｂを用いた計算処理手順の例を示している。変数再設定の処理を演算装置Ａ側で行わせている。制御量の計算で修正が必要なときは一旦計算を中止して、演算装置Ａ側で変数を再設定し、その後その変数を用いて制御量の計算を行う。
【０１０１】
変数再設定の処理を演算装置Ａ、Ｂのいずれかで行わせるかは、例えば、演算装置Ａのメモリと演算装置Ｂのメモリの容量に応じて行わせるようにしてもよい。演算装置Ａ側のメモリの容量が少ないときは、図１０（Ｂ）のように演算装置Ｂ側で変数再設定の処理を行わせ、逆の場合は図１１に示すように演算装置Ａ側で処理を行わせる。或いは、演算装置Ａ、Ｂの処理能力に応じて行わせるようにしてもよい。
【０１０２】
図１２（Ａ）は、２つの演算装置Ａ、Ｂを含む磁気ディスク装置１の主要部分の構成例である。復調回路５１と、駆動装置５３は図８の例と同様である。
【０１０３】
演算装置Ａ、Ｂはメモリ３２に記憶された変数値を基に制御量等の計算を行う。この場合に、メモリ３２には計算開始前の退避用の領域と書き換え後の上書き用の領域とに分けて各領域が確保される。演算装置Ａや演算装置Ｂが変数の再設定を行うときには、上書き用の領域が利用される。
【０１０４】
図１２（Ｂ）も同様に２つの演算装置Ａ、Ｂを含む磁気ディスク装置１の主要部分の構成例である。この場合、メモリ３２には退避用として計算開始前の変数値、演算装置Ａのメモリ２６（第２のＲＡＭ２６）には制御計算で必要な変数値や定数値（書き換え後の変数値を含む）が記憶される。
【０１０５】
次に、図１３乃至図１６を用いて、演算装置Ａと演算装置Ｂとで実行される処理手順の例を説明する。
【０１０６】
まず、図１３は、変数再設定を演算装置Ｂ側で行わせる場合（図１０（Ｂ））の例である。図７と同一の処理では同一の符号が付されている。
【０１０７】
演算装置Ａは処理を開始すると（Ｓ３０）、位置誤差を計算する（Ｓ１１）。処理の開始は、図７と同様に、位置信号を取得後割り込み処理により開始される。
【０１０８】
次いで、演算装置Ａは制御量を計算し（Ｓ１２）、演算装置Ｂ側から制御量の出力許可を待つ（Ｓ３１でＮＯのループ）。制御量は、上述した式（１）乃至（３）を用いて計算される。
【０１０９】
一方、演算装置Ｂは、処理を開始すると（Ｓ４０）、判定処理１を実行する（Ｓ４１）。上述したように、位置信号が正しいか否か、ショックセンサに対する判定処理等を実行する。
【０１１０】
次いで、演算装置Ｂは位置誤差の計算が完了したか否か判断する（Ｓ４２）。演算装置Ａは位置誤差の計算（Ｓ１１）を終了するとその旨の制御信号を演算装置Ｂに出力する。この制御信号を受信したか否かで計算完了を判断する。
【０１１１】
演算装置Ｂは計算完了するまで待ち（Ｓ４２でＮＯのループ）、計算完了すると（ＹＥＳ）、判定処理２を実行する（Ｓ４３）。判定処理２は、例えば、ＲｅａｄやＷｒｉｔｅの許可や禁止の処理等である。
【０１１２】
そして、演算装置Ｂは判定処理（Ｓ４１、Ｓ４３）により位置誤差を修正する必要があるか否かを判断し（Ｓ１５）、修正が必要なければ（ＮＯ）、演算装置Ａに対して出力許可を出力する（Ｓ４６）。
【０１１３】
一方、修正が必要なときは（Ｓ１５でＹＥＳ）、計算を強制停止させ（Ｓ４４）、位置誤差を修正し（Ｓ１８）、変数を再設定して（Ｓ１９）、計算の実行指示を演算装置Ａに出力する（Ｓ４５）。その後、出力許可を演算装置Ａに出力する（Ｓ４６）。そして、演算装置Ｂは一連の制御計算の処理を終了する（Ｓ４７）。
【０１１４】
計算の実行指示（Ｓ４５）を受けた演算装置Ａは、出力許可まち（Ｓ３１）の状態から再び処理の開始を行い（Ｓ３０）、再設定された変数（Ｓ１９）を用いて位置誤差を修正して（Ｓ１１）、再度制御量の計算を行う（Ｓ１２）。
【０１１５】
出力許可を受けた演算装置Ａは、計算した制御量を出力する（Ｓ１３）。出力許可を受けて制御量を出力するようにしているのは、制御量の値（電流値）を実際に出力してよいかの確認を行うようにしているためである。
【０１１６】
次いで、演算装置Ａは、制御計算の後処理を実行する（Ｓ１６）。制御計算の後処理は、上述した例と同様に、式（４）を計算する処理である。そして、演算装置Ａは一連の制御計算の処理を終了する（Ｓ３２）。
【０１１７】
本処理でも、計算開始前の変数値が退避用のメモリ領域に記憶され、変数再設定（Ｓ１９）で設定された変数は退避用とは異なる上書き用のメモリ領域に記憶される。
【０１１８】
図１４は、修正が必要か否かを示す「Ｍｏｄｅ」を用いて処理を行い、制御計算の後処理において前回のサンプルでの電流値も用いて予測位置、速度を計算するようにした例である。図１３等に示す計算処理と同一の処理は同一の符号で示される。
【０１１９】
図１４に示すように、演算装置Ｂは、位置誤差の修正が必要なければ（Ｓ１５でＮＯ）、「Ｍｏｄｅ」を「０」に設定し（Ｓ６２）、修正が必要なとき（Ｓ１５でＹＥＳ）、「Ｍｏｄｅ」を「１」に設定する（Ｓ６１）。
【０１２０】
そして、演算装置Ａは、制御量を出力（Ｓ１３）後、「Ｍｏｄｅ」が「０」か否かを判断し（Ｓ５１）、「０」の場合（Ｓ５１でＹＥＳ）、通常モードの制御計算の後処理を行う（Ｓ５２）。一方、「Ｍｏｄｅ」が「１」のとき（Ｓ５１でＮＯ）、遅延モードの制御計算の後処理を行う（Ｓ５３）。
【０１２１】
制御計算の後処理として、本例で使用される計算式は以下である。
【０１２２】
【数５】
0004489039.tif 000006
【０１２３】
【数６】
0004489039.tif 000007
この電流ｕ［ｋ］の出力される時刻は位置誤差を修正して再度制御量を計算した場合と、修正せずに制御量を計算した場合とでは異なる。修正しない場合、電流ｕ［ｋ］の出力時刻は修正した場合と比較して早くなる。
【０１２４】
制御計算の後処理では、出力時刻が早いときには式（５）を用いて処理を行い（Ｓ５２）、出力時刻が遅いときには式（６）を用いて処理を行う（Ｓ５３）。
【０１２５】
本処理においても、計算開始前の変数を退避用のメモリに記憶し、変数再設定の処理（Ｓ１９）で再設定された変数は、退避領域とは異なる上書き用のメモリに記憶して処理を行う。
【０１２６】
本例においても、上述した例と同様に、計算遅延時間を短くすることができ、また変数を再設定するときは、別途計算開始前の変数値を退避用のメモリに記憶しておくようにしているため、その値を用いて再設定の計算を行うことができる。
【０１２７】
図１５は、１サンプル時間で２つの制御量を出力する、所謂２倍のマルチレート制御の例である。図１４等と同一の処理は同一の符号で示される。
【０１２８】
演算装置Ａは、最初の制御量の計算を行い（制御量１計算、Ｓ７１）、演算装置Ｂから出力許可があれば（Ｓ３１でＹＥＳ）、その制御量を出力する（制御量１出力、Ｓ７２）。制御量の後処理後（Ｓ５２、Ｓ５３）、２番目の制御量の計算を行い（制御量２計算、Ｓ７３）、それを出力する（制御量２出力、Ｓ７４）。
【０１２９】
制御量２の計算では、修正が必要なら（Ｓ１５でＹＥＳ）、制御量１を出力する（Ｓ７２）前に位置誤差が修正されているため（Ｓ１８）、演算装置Ｂ側で再度、判定・修正処理等の処理を行わせる必要はない。
【０１３０】
それ以外の処理は、図１４等に示す処理と略同様である。
【０１３１】
本処理により、１サンプル時間で２つの制御量を出力できるとともに、上述した例と同様に、計算遅延時間を短くすることができる。また、変数を再設定するときは、別途計算開始前の変数値を退避用のメモリに記憶しておくようにしているため、その値を用いて再設定の計算を行うことができる。
【０１３２】
図１６は、Ｎ（Ｎは３以上の整数）倍のマルチレート制御の例である。１サンプル時間でＮ個の制御量（本例でも電流値）を出力できる。
【０１３３】
演算装置Ａでは、１番目（Ｎ＝１）の制御量を計算し（Ｓ７１）、演算装置Ｂでの出力許可を待って制御量を出力する（Ｓ３１でＹＥＳ、Ｓ７２）。そして、Ｎの値を１つ減算し（Ｓ８１）、制御量Ｎを計算して出力する（Ｓ８２）。制御計算の後処理（Ｓ８３）後、Ｎの値を１つ減算して（Ｓ８４）、Ｎ個の制御量を出力するまで処理を繰り返す（Ｓ８５）。
【０１３４】
それ以外の処理は、図１５等で示す処理と略同様である。
【０１３５】
これにより、１サンプルでＮ個の制御量が出力できるとともに、上述した例と同様に、計算遅延時間を短縮することができる。更に、計算開始前の変数はメモリの退避領域に記憶されているため、変数再設定の処理（Ｓ１９）では、計算開始前の変数を用いて変数を再計算することができる。
【０１３６】
２つの演算装置Ａ、Ｂを用いた上述の例では、図９に示すように、演算装置Ａを演算専用のＤＳＰ３１、演算装置Ｂを汎用のＭＣＵ３０として説明した。それ以外にも、演算装置ＡをＭＣＵ３０、演算装置ＢをＨＤＣ２４としてもよい。この場合、演算装置ＢであるＨＤＣ２４はＩＦ用のプロセッサとしてホストとのデータの入出力を行うが、制御計算の処理の際に、判定・修正処理（又は、判定・修正処理と変数の再設定処理）をＨＤＣ２４に行わせるようにする。図１０以降の処理と全く同一の処理をＭＣＵ３０とＨＤＣ２４に行わせることができ、全く同様の作用効果を奏する。
【０１３７】
上述したいずれの例において、ディスク装置の例として磁気ディスク装置１を例にして説明した。勿論、ＣＤやＤＶＤなどの光ディスク装置や、ＭＯやＭＤなどの光磁気ディスク装置など、磁気ディスク装置以外のディスク装置でも本実施例を適用可能で同様の作用効果を奏する。
【０１３８】
更に、本ディスク装置を搭載した情報処理システムにも適用可能である。情報処理システムの例としては、パーソナルコンピュータやＲＡＩＤ（Redundant Array of Inexpensive Disks）構成のコンピュータ（又は情報記録再生装置）、更に、ＴＶ、映像や音声を記録再生する記録再生装置（いわゆる、ＨＤＤレコーダなど）、情報携帯端末（例えば、ＰＤＡ（Personal Digital Assistance）や携帯電話、携帯型音楽再生装置など）等にも適用される。これらの場合でも上述した例と同様の作用効果を得る。
【０１３９】
以上まとめると付記のようになる。
【０１４０】
（付記１）
ディスク装置のヘッドを目標位置に位置決めする位置決め制御装置において、
位置決め制御の制御量を計算し、前記ヘッドを駆動する前記ディスク装置の駆動部に前記制御量を出力する制御部と、
前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部とを備え、
前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された前記変数値を利用して前記制御量の計算を再び実行する、ことを特徴とする位置決め制御装置。
【０１４１】
（付記２）
前記制御部は第１及び第２の演算部を備え、
前記第１の演算部は前記制御量の計算を実行し、
前記第２の演算部は位置決め制御状態の判定処理を実行する、ことを特徴とする付記１記載の位置決め制御装置。
【０１４２】
（付記３）
前記位置決め制御状態の判定処理は、前記第１の演算部の制御計算が正しいか否かを判定するものであって、前記第２の演算部は、前記第１の演算部の制御計算が正しくないと判定したとき前記制御計算の入力値を修正する、ことを特徴とする付記２記載の位置決め制御装置。
【０１４３】
（付記４）
前記制御部は、前記制御量の計算完了後に直ちに制御量を前記駆動部に出力する、ことを特徴とする付記３記載の位置決め制御装置。
【０１４４】
（付記５）
前記第１の演算部は、前記制御量の計算完了後に前記第２の演算部からの制御量出力許可が入力されると計算完了した前記制御量を前記駆動部に出力する、ことを特徴とする付記３記載の位置決め制御装置。
【０１４５】
（付記６）
前記第２の演算部により前記第１の演算部の制御計算が正しくないと判定されたとき、前記第２の演算部は前記第１の演算部に対して制御計算を中断させ、前記第１の演算部又は前記第２の演算部は、前記制御計算の入力値を修正し、更に制御計算開始前の変数値を再設定し、前記第１の演算部は修正された前記入力値及び再設定された変数値を用いて前記制御計算を再度実行する、ことを特徴とする付記４又は５記載の位置決め制御装置。
【０１４６】
（付記７）
前記第１の演算部は、前記制御計算を再度実行したとき、前記制御量の出力時刻に応じて異なる状態変数により前記制御量の計算を実行する、ことを特徴とする付記６記載の位置決め制御装置。
【０１４７】
（付記８）
ヘッドを目標位置に位置決めするディスク装置において、
前記ヘッドを駆動する駆動部と、
位置決め制御の制御量を計算し、前記駆動部に前記制御量を出力する制御部と、
前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部とを備え、
前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された変数値を利用して前記制御量の計算を再び実行する、ことを特徴とするディスク装置。
【０１４８】
（付記９）
前記制御部は第１及び第２の演算部を備え、
前記第１の演算部は前記制御量の計算を実行し、
前記第２の演算部は位置決め制御状態の判定処理を実行する、ことを特徴とする付記８記載のディスク装置。
【０１４９】
（付記１０）
前記位置決め制御状態の判定処理は、前記第１の演算部の制御計算が正しいか否かを判定するものであって、前記第２の演算部は、前記第１の演算部の制御計算が正しくないと判定したとき前記制御計算の入力値を修正する、ことを特徴とする請求項９記載のディスク装置。
【０１５０】
（付記１１）
前記制御部は、前記制御量の計算完了後に直ちに制御量を前記駆動部に出力する、ことを特徴とする付記１０記載のディスク装置。
【０１５１】
（付記１２）
前記第１の演算部は、前記制御量の計算完了後に前記第２の演算部からの制御量出力許可が入力されると計算完了した前記制御量を前記駆動部に出力する、ことを特徴とする付記１０記載のディスク装置。
【０１５２】
（付記１３）
前記第２の演算部により前記第１の演算部の制御計算が正しくないと判定されたとき、前記第２の演算部は前記第１の演算部に対して制御計算を中断させ、前記第１の演算部又は前記第２の演算部は、前記制御計算の入力値を修正し、更に制御計算開始前の変数値を再設定し、前記第１の演算部は修正された前記入力値及び再設定された変数値を用いて前記制御計算を再度実行する、ことを特徴とする付記１１又は１２記載のディスク装置。
【０１５３】
（付記１４）
前記第１の演算部は、前記制御計算を再度実行したとき、前記制御量の出力時刻に応じて異なる状態変数により前記制御量の計算を実行する、ことを特徴とする付記１３記載のディスク装置。
【０１５４】
（付記１５）
ディスク装置のヘッドを目標位置に位置決めする位置決め制御方法において、
制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も記憶部に保持し、
位置決め制御の制御量を計算し、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された前記変数値を利用して前記制御量の計算を再び実行し、
前記制御量の計算で計算された前記制御量を、前記ヘッドを駆動する前記ディスク装置の駆動部に出力する、
ことを特徴とする位置決め制御方法。
【０１５５】
（付記１６）
ヘッドを目標位置に位置決めするディスク装置を備える情報処理システムにおいて、
前記ディスク装置には、
前記ヘッドを駆動する駆動部と、
位置決め制御の制御量を計算し、前記駆動部に前記制御量を出力する制御部と、
前記制御量の計算開始前に前記制御量の計算で使用される変数値を前記制御量の計算終了後も保持する記憶部とを備え、
前記制御部は、前記制御量の計算途中又は計算完了後に、前記記憶部に記憶された変数値を利用して前記制御量の計算を再び実行する、ことを特徴とする情報処理システム。
【図面の簡単な説明】
【０１５６】
【図１】本発明が適用される磁気ディスク装置の構成例を示す図である。
【図２】磁気ディスクに記録された位置信号の記録位置の例を示す図である。
【図３】位置信号の記録フォーマットの例を示す図である。
【図４】位置信号を読み出したときの波形図の例を示す図である。
【図５】シーク動作の説明図である。
【図６】計算処理手順の例を示す図である。
【図７】計算処理の動作を示すフローチャートの例である。
【図８】図８（Ａ）は、２つのメモリで構成した磁気ディスク装置の主要部分の構成例であり、図８（Ｂ）は１つのメモリで構成した磁気ディスク装置の主要部分の構成例である。
【図９】２つの演算装置により構成された磁気ディスク装置の構成例である。
【図１０】図１０（Ａ）、図１０（Ｂ）共に２つの演算装置を用いた計算処理手順の例である。
【図１１】２つの演算装置を用いた計算処理手順の例を示す図である。
【図１２】図１２（Ａ）、図１２（Ｂ）共に、２つの演算装置により構成された磁気ディスク装置の主要部分の構成例である。
【図１３】２つの演算装置で実行される計算処理の動作を示すフローチャートの例である。
【図１４】２つの演算装置で実行される計算処理の動作を示すフローチャートの例である。
【図１５】２つの演算装置で実行される計算処理の動作を示すフローチャートの例である。
【図１６】２つの演算装置で実行される計算処理の動作を示すフローチャートの例である。
【図１７】従来の計算処理手順の例を示す図である。
【図１８】従来の計算処理の動作を示すフローチャートの例である。
【符号の説明】
【０１５７】
１  磁気ディスク装置
１０  磁気ディスク
１３  磁気ヘッド
１４  アクチュエータ
１６  位置信号（サーボ信号）
２１  ボイスコールメータ（ＶＣＭ）駆動回路
２２  位置検出回路
２４  ハードディスクコントローラ（ＨＤＣ）
２５  第１のＲＡＭ
２６  第２のＲＡＭ
３０  マイクロコントローラ（ＭＣＵ）
３１  デジタルシグナルプロセッサ（ＤＳＰ）
３２  メモリ
５２  演算装置
【図１】
0004489039.tif 000008
【図２】
0004489039.tif 000009
【図３】
0004489039.tif 000010
【図４】
0004489039.tif 000011
【図５】
0004489039.tif 000012
【図６】
0004489039.tif 000013
【図７】
0004489039.tif 000014
【図８】
0004489039.tif 000015
【図９】
0004489039.tif 000016
【図１０】
0004489039.tif 000017
【図１１】
0004489039.tif 000018
【図１２】
0004489039.tif 000019
【図１３】
0004489039.tif 000020
【図１４】
0004489039.tif 000021
【図１５】
0004489039.tif 000022
【図１６】
0004489039.tif 000023
【図１７】
0004489039.tif 000024
【図１８】
0004489039.tif 000025