(57)【要約】      （修正有）【課題】システムに適用される外乱の状態を考慮し、適応的にモータを制御するモータ制御方法及び装置、並びにこれを適用したディスク・ドライブ及び記録媒体を提供する。【解決手段】モータ制御方法は、モータ制御システムに適用される外乱（ｄｉｓｔｕｒｂａｎｃｅ）の状態に従って、モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階と、モータ制御システムに変更された周波数帯域幅を適用し、モータの回転速度を制御する段階とを有する。【選択図】図９
2011198458.tif 000002
【特許請求の範囲】
【請求項１】
モータ制御システムに適用される外乱（ｄｉｓｔｕｒｂａｎｃｅ）の状態に従って、前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階と、
前記モータ制御システムに変更された周波数帯域幅を適用し、モータの回転速度を制御する段階とを有することを特徴とするモータ制御方法。
【請求項２】
前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階は、衝撃感知センサによって感知される外乱値、ヘッドとディスクとの干渉発生量、モータで測定される速度と目標速度との差、スピンドルモータのジッタ値の内の少なくとも１つの因子値に基づいて外乱の状態を判定し、該判定結果に基づいて、前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更することを特徴とする請求項１に記載のモータ制御方法。
【請求項３】
前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階は、前記モータ制御システムに適用される外乱の状態の大きさに比例し、前記モータ制御システムの周波数帯域幅が増大するように、前記周波数帯域幅を変更することを特徴とする請求項１に記載のモータ制御方法。
【請求項４】
モータと、
前記モータの回転速度を検出する速度検出部と、
互いに異なる周波数帯域幅の周波数応答特性によって、前記検出されたモータの回転速度に基づいて、目標速度を追従するように速度制御信号を生成する複数個のモータ・コントローラと、
前記モータの負荷変動を発生させる外乱の状態に基づいて、前記複数個のモータ・コントローラのうち１つのモータ・コントローラを選択する選択部と、
前記選択部で選択されたモータ・コントローラで生成される速度制御信号に基づいた駆動電流を発生させ、前記モータに印加するモータ駆動部とを有することを特徴とするモータ制御装置。
【請求項５】
前記複数個のコントローラは、第１周波数帯域幅の周波数応答特性を有する第１モータ・コントローラと、
前記第１周波数帯域幅より小さい第２周波数帯域幅の周波数応答特性を有する第２モータ・コントローラとを含み、
前記選択部は、モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じる場合には、第１モータ・コントローラを選択し、前記モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じない場合には、第２モータ・コントローラを選択することを特徴とする請求項４に記載のモータ制御装置。
【請求項６】
モータと、
前記モータの回転速度を検出する速度検出部と、
前記検出されたモータの回転速度と目標回転速度との差に該当する速度誤差を算出する減算部と、
前記速度誤差に相応する速度制御信号を生成する速度制御部と、
前記モータの負荷変動を発生させる外乱の状態に基づいて周波数帯域幅を変更し、前記変更された周波数帯域幅の周波数応答特性に従って、前記速度制御信号をフィルタリングして出力するフィルタと、
前記フィルタより出力されるフィルタリングされた速度制御信号に相応する駆動電流を発生させ、前記モータに供給するモータ駆動部とを有することを特徴とするモータ制御装置。
【請求項７】
前記フィルタの周波数応答特性は、前記モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じる場合には、第１周波数帯域幅に決定され、前記モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じない場合には、第１周波数帯域幅より小さい第２周波数帯域幅に決定されることを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
ディスク・ドライブであって、
情報を保存するディスクと、
前記ディスクを回転させるスピンドルモータと、
前記スピンドルモータの負荷変動を発生させる外乱の状態に基づいて周波数帯域幅を変更し、前記変更された周波数帯域幅の周波数応答特性を適用し、前記スピンドルモータの回転速度と目標速度との差に基づいた速度制御信号を生成するスピンドルモータ・コントローラと、
前記速度制御信号に相応する駆動電流を発生させ、前記モータに印加するスピンドルモータ駆動部とを有することを特徴とするディスク・ドライブ。
【請求項９】
前記スピンドルモータ・コントローラは、前記ディスク・ドライブのランプ構造物に載置されたヘッドをディスク上に移動させるランプローディング実行区間では、前記周波数帯域幅を第１周波数帯域幅に決定し、前記ランプローディング実行区間後には、前記周波数帯域幅を第１周波数帯域幅より小さい第２周波数帯域幅に決定することを特徴とする請求項８に記載のディスク・ドライブ。
【請求項１０】
請求項１乃至請求項３のいずれか１項に記載のモータ制御方法をコンピュータで実行させるためのプログラムコードを記録したことを特徴とするコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御方法及び装置に関し、特に、システムに適用される外乱の状態を考慮し、適応的にモータを制御するための方法及び装置に関する。
【背景技術】
【０００２】
本発明に関連した先行技術としては、特許文献１及び２などがある。
データ保存装置の一つであるディスク・ドライブは、スピンドルモータを利用してディスクを回転させ、ヘッドを利用して、ディスクにデータを書き込んだり、またはディスクからデータを読み取ったりする。ディスク・ドライブでのスピンドルモータの制御性能は、ディスク・ドライブのデータリード（ｄａｔａ  ｒｅａｄｉｎｇ）またはデータライト（ｄａｔａ  ｗｒｉｔｉｎｇ）の性能に影響を及ぼす。これにより、スピンドルモータ制御性能を向上させる研究が必要になってきているという問題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−１７４５１１号公報
【特許文献２】特開昭５８−１３７１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで、本発明は上記従来のディスク・ドライブにおける問題点に鑑みてなされたものであって、本発明の目的は、システムに適用される外乱の状態を考慮し、適応的にモータを制御するモータ制御方法を提供することにある。
また、本発明の他の目的は、システムに適用される外乱の状態を考慮し、適応的にモータを制御するモータ制御装置を提供することにある。
【０００５】
また、本発明のさらに他の目的は、システムに適用される外乱の状態を考慮し、ディスクを回転させるモータを適応的に制御する方法を適用したディスク・ドライブを提供することにある。
また、本発明のさらに他の目的は、システムに適用される外乱の状態を考慮し、適応的にモータを制御するモータ制御方法を遂行するプログラムコードが記録された記録媒体を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明によるモータ制御方法は、モータ制御システムに適用される外乱（ｄｉｓｔｕｒｂａｎｃｅ）の状態に従って、前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階と、前記モータ制御システムに変更された周波数帯域幅を適用し、モータの回転速度を制御する段階とを有することを特徴とする
【０００７】
前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階は、衝撃感知センサによって感知される外乱値、ヘッドとディスクとの干渉発生量、モータで測定される速度と目標速度との差、スピンドルモータのジッタ値の内の少なくとも１つの因子値に基づいて外乱の状態を判定し、該判定結果に基づいて、前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更することが好ましい。
【０００８】
前記モータ制御システムでの周波数応答特性の周波数帯域幅を変更する段階は、前記モータ制御システムに適用される外乱の状態の大きさに比例し、前記モータ制御システムの周波数帯域幅が増大するように、前記周波数帯域幅を変更することが好ましい。
【０００９】
上記目的を達成するためになされた本発明によるモータ制御装置は、モータと、前記モータの回転速度を検出する速度検出部と、互いに異なる周波数帯域幅の周波数応答特性によって、前記検出されたモータの回転速度に基づいて、目標速度を追従するように速度制御信号を生成する複数個のモータ・コントローラと、前記モータの負荷変動を発生させる外乱の状態に基づいて、前記複数個のモータ・コントローラのうち１つのモータ・コントローラを選択する選択部と、前記選択部で選択されたモータ・コントローラで生成される速度制御信号に基づいた駆動電流を発生させ、前記モータに印加するモータ駆動部とを有することを特徴とする。
【００１０】
前記複数個のコントローラは、第１周波数帯域幅の周波数応答特性を有する第１モータ・コントローラと、前記第１周波数帯域幅より小さい第２周波数帯域幅の周波数応答特性を有する第２モータ・コントローラとを含み、前記選択部は、モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じる場合には、第１モータ・コントローラを選択し、前記モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じない場合には、第２モータ・コントローラを選択することが好ましい。
【００１１】
また、上記目的を達成するためになされた本発明によるモータ制御装置は、モータと、前記モータの回転速度を検出する速度検出部と、前記検出されたモータの回転速度と目標回転速度との差に該当する速度誤差を算出する減算部と、前記速度誤差に相応する速度制御信号を生成する速度制御部と、前記モータの負荷変動を発生させる外乱の状態に基づいて周波数帯域幅を変更し、前記変更された周波数帯域幅の周波数応答特性に従って、前記速度制御信号をフィルタリングして出力するフィルタと、前記フィルタより出力されるフィルタリングされた速度制御信号に相応する駆動電流を発生させ、前記モータに供給するモータ駆動部とを有することを特徴とする。
【００１２】
前記フィルタの周波数応答特性は、前記モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じる場合には、第１周波数帯域幅に決定され、前記モータの負荷変動を発生させる外乱の大きさが臨界値を超える条件が生じない場合には、第１周波数帯域幅より小さい第２周波数帯域幅に決定されることが好ましい。
【００１３】
上記目的を達成するためになされた本発明によるディスク・ドライブは、ディスク・ドライブであって、情報を保存するディスクと、前記ディスクを回転させるスピンドルモータと、前記スピンドルモータの負荷変動を発生させる外乱の状態に基づいて周波数帯域幅を変更し、前記変更された周波数帯域幅の周波数応答特性を適用し、前記スピンドルモータの回転速度と目標速度との差に基づいた速度制御信号を生成するスピンドルモータ・コントローラと、前記速度制御信号に相応する駆動電流を発生させ、前記モータに印加するスピンドルモータ駆動部とを有することを特徴とする。
【００１４】
前記スピンドルモータ・コントローラは、前記ディスク・ドライブのランプ構造物に載置されたヘッドをディスク上に移動させるランプローディング実行区間では、前記周波数帯域幅を第１周波数帯域幅に決定し、前記ランプローディング実行区間後には、前記周波数帯域幅を第１周波数帯域幅より小さい第２周波数帯域幅に決定することが好ましい。
【００１５】
上記目的を達成するためになされた本発明によるコンピュータで読み取り可能な記録媒体は、上述のモータ制御方法をコンピュータで実行させるためのプログラムコードが記録されていることを特徴とする。
【発明の効果】
【００１６】
本発明に係るモータ制御方法及び装置、並びにこれを適用したディスク・ドライブ及び記録媒体によれば、多様な形態の保存装置に適用でき、特に、ハードディスク・ドライブがデータ保存システムに適用される場合に外乱が発生する条件でも、モータを最適の状態で制御できるので、データリード／ライトモードでのエラー発生を改善できるという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態によるデータ保存装置の構成を示すブロック図である。
【図２】図１に示したデータ保存装置のソフトウェア運用体系図である。
【図３】本発明の一実施形態によるディスク・ドライブのヘッドディスク・アセンブリの平面図である。
【図４】本発明の一実施形態によるディスク・ドライブの電気的な構成図である。
【図５】図３に示したランプパーキング手段の細部的な構造を図示した図面である。
【図６】本発明の一実施形態によるモータ制御装置の構成図である。
【図７】本発明の他の実施形態によるモータ制御装置の構成図である。
【図８】図７に図示された低域通過フィルタの周波数応答特性を示す図面である。
【図９】本発明の一実施形態によるモータ制御方法のフローチャートである。
【図１０】本発明の他の実施形態によるモータ制御方法のフローチャートである。
【図１１】本発明のさらに他の実施形態によるモータ制御方法のフローチャートである。
【図１２】ディスク・ドライブにおいてランプローディング時に、スピンドルモータ・コントローラの周波数帯域幅ＢＷをＢＷ＿ＬＯＷ（一例として、８Ｈｚ）に設定してスピンドルモータを制御する場合のスピンドルモータの速度軌跡を示すグラフである。
【図１３】ディスク・ドライブにおいてランプローディング時に、スピンドルモータ・コントローラの周波数帯域幅ＢＷをＢＷ＿ＨＩＧＨ（一例として、１６Ｈｚ）に設定してスピンドルモータを制御する場合のスピンドルモータの速度軌跡を示すグラフである。
【発明を実施するための形態】
【００１８】
次に、本発明に係るモータ制御方法及び装置、並びにこれを適用したディスク・ドライブ及び記録媒体を実施するための形態の具体例を図面を参照しながら説明する。
【００１９】
図１を参照すると、図に示すように、本発明の一実施形態によるデータ保存装置は、プロセッサ１１０、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）１２０、ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３０、メディア・インターフェース（Ｉ／Ｆ）１４０、メディア１５０、ホストＩ／Ｆ１６０、ホスト機器１７０、外部Ｉ／Ｆ１８０、及びバス１９０を具備する。
【００２０】
プロセッサ１１０は、命令語を解釈し、解釈した結果によって、データ保存装置の構成手段を制御する役割を行う。プロセッサ１１０は、コード・オブジェクト管理ユニットを含んでおり、コード・オブジェクト管理ユニットを利用し、メディア１５０に保存されているコード・オブジェクトを、ＲＡＭ１３０にローディングさせる。プロセッサ１１０は、図９〜図１１のフローチャートによるモータ制御方法を実行させるためのコード・オブジェクトを、ＲＡＭ１３０にローディングさせる。
【００２１】
それにより、プロセッサ１１０は、ＲＡＭ１３０にローディングされたコード・オブジェクトを利用し、図９〜図１１のフローチャートによって、モータを制御するタスク（ｔａｓｋ）を実行し、モータ制御方法を実行する必要な情報を、メディア１５０、またはＲＯＭ１２０に保存する。モータ制御方法を実行するのに必要な情報の例としては、モータ制御システムの周波数帯域幅変更に関連したパラメータ値、及び周波数帯域幅変更を判定するのに利用される外乱（ｄｉｓｔｕｒｂａｎｃｅ）の臨界値ＴＨなどが含まれうる。
【００２２】
プロセッサ１１０によってモータを制御する方法については、後述の図９〜図１１についての説明で詳細に取り扱う。
ＲＯＭ１２０には、データ保存装置を動作させるのに必要なプログラムコード及びデータらが保存されている。
ＲＡＭ１３０には、プロセッサ１１０の制御によって、ＲＯＭ１２０、またはメディア１５０に保存されたプログラムコード及びデータがローディングされる。
メディア１５０は、データ保存装置の主記録媒体であり、ディスクを含むことができる。データ保存装置は、ディスク・ドライブを含むことができ、ディスク・ドライブでのディスク及びヘッドが含まれたヘッドディスク・アセンブリ１００の細部構成を図３に示した。
【００２３】
図３を参照すると、ヘッドディスク・アセンブリ１００は、スピンドルモータ（ＳＲＭ）１４によって回転される少なくとも１つのディスク１２を含んでいる。ディスク・ドライブは、ディスク１２の表面に隣接するように位置したヘッド１６をさらに含んでいる。
【００２４】
ヘッド１６は、それぞれのディスク１２の磁界を感知したり、磁化させることによって、回転するディスク１２から、又はディスク１２に情報を読み取ったり書き込んだりする。典型的には、ヘッド１６は、各ディスク１２の表面に結合されている。たとえ単一のヘッド１６として図示されて説明されているにしても、それは、ディスク１２を磁化させるための書き込み用ヘッドと、ディスク１２の磁界を感知するための分離された読み取り用ヘッドとからなると理解せねばならない。読み取り用ヘッドは、磁気抵抗（ＭＲ：ｍａｇｎｅｔｏ−ｒｅｓｉｓｔｉｖｅ）素子から構成されている。ヘッド１６は、変換器（ｔｒａｎｓｄｕｃｅｒ）とも呼ばれる。
【００２５】
ヘッド１６は、スライダ２０に搭載されている。スライダ２０は、ヘッド１６とディスク１２の表面との間に、空気ベアリング（ａｉｒ  ｂｅａｒｉｎｇ）を生成させる構造からなっている。スライダ２０は、ヘッドジンバル・アセンブリ２２に結合されている。ヘッドジンバル・アセンブリ２２は、ボイスコイル２６を有するアクチュエータ・アーム２４に付着されている。
【００２６】
ボイスコイル２６は、ボイスコイル・モータ（ＶＣＭ：ｖｏｉｃｅ  ｃｏｉｌ  ｍｏｔｏｒ）３０を特定するように、マグネチック・アセンブリ２８に隣接するように位置している。ボイスコイル２６に供給される電流は、ベアリング・アセンブリ３２に対して、アクチュエータ・アーム２４を回転させるトルクを発生させる。アクチュエータ・アーム２４の回転は、ディスク１２の表面を横切ってヘッド１６を移動させる。
【００２７】
ヘッドディスク・アセンブリ１００は、ヘッド１６が移動できる範囲を制限するために、クラッシュストップ（ｃｒａｓｈ  ｓｔｏｐ）・システムを設けることができる。細部的には、クラッシュストップ・システムには、ヘッド１６がディスク１２の内周方向に移動できる最大許容位置を制限する内周クラッシュストップ・ラバー（ｒｕｂｂｅｒ）３６と、ヘッド１６がディスク１２の外周方向に移動できる最大許容位置を制限する外周クラッシュストップ・ラバー３７とがある。
【００２８】
内周クラッシュストップ・ラバー３６及び外周クラッシュストップ・ラバー３７の位置は、ヘッド１６がディスク１２のデータ領域外の一定位置まで移動することを保証できるように決定する。ヘッド１６がディスク１２の内周方向に移動できる最大許容位置に達すれば、ヘッド１６が付着されたアクチュエータ・アーム２４は、内周クラッシュストップ・ラバー３６に接触する。これにより、ヘッド１６は、それ以上ディスク１２の内周方向に移動できない。同様に、ヘッド１６がディスク１２の外周方向に移動できる最大許容位置に達すれば、ヘッド１６が付着されたアクチュエータ・アーム２４は、外周クラッシュストップ・ラバー３７に接触する。これにより、ヘッド１６は、それ以上ディスク１２の外周方向に移動できない。
【００２９】
ディスク・ドライブでローディング（ｌｏａｄｉｎｇ）モードは、ヘッド１６をディスク１２のデータ領域外に位置したパーキング領域から、ディスク１２のデータ領域に移動させる動作を遂行するモードであり、アンローディング（ｕｎｌｏａｄｉｎｇ）モードは、ヘッド１６をディスク１２のデータ領域から、ディスク１２のデータ領域外に位置したパーキング領域に移動させる動作を遂行するモードを意味する。
【００３０】
ヘッドディスク・アセンブリ１００は、ディスク・ドライブのパワーオフ（ｐｏｗｅｒ  ｏｆｆ）モードまたはパワーセーブ（ｐｏｗｅｒ  ｓａｖｅ）モードで、ヘッド１６をディスク１２のデータ領域外にパーキングさせるためのランプパーキング手段３８を設けることができる。ランプパーキング手段３８は、ディスク１２のデータ領域外の外周領域に位置する。ランプパーキング手段３８の細部的な構造を図５に示した。
【００３１】
図５に示すように、ランプパーキング手段３８は、傾斜面３８ｂ、３８ｄと平坦面３８ａ、３８ｃとを有する構造からなる。
図５を参照し、ランプローディング／アンローディング方式について説明する。
図５において、点線矢印の方向は、ヘッド１６のアンローディング方向を、実線矢印の方向は、ヘッド１６のローディング方向を示す。
【００３２】
まず、アンローディングモードでは、ヘッド１６が付着されたヘッドジンバル・アセンブリ２２は、アクチュエータ・アーム２４の回転によって、ディスク１２のデータ領域から点線矢印方向に移動し、最終的にランプパーキング手段３８のパーキング表面３８ａと接触する。図３を参照すると、ヘッドジンバル・アセンブリ２２が、ランプパーキング手段３８のパーキング表面３８ａに位置するとき、アクチュエータ・アーム２４は、外周クラッシュストップ・ラバー３７に接触する。
【００３３】
次に、ローディングモードでは、ヘッド１６が付着されたヘッドジンバル・アセンブリ２２は、アクチュエータ・アーム２４の回転によって、ランプパーキング手段３８のパーキング表面３８ａから実線矢印方向に移動し、最終的にディスク１２のデータ領域に位置する。
【００３４】
再び、図３を参照すると、情報は、典型的には、ディスク１２の環状トラック３４内に保存される。各トラック３４は、一般的に複数のセクタを含んでいる。１つのトラック３４は、サーボ情報が記録されたサーボ情報フィールドと、データが保存されるデータセクタとから構成されている。サーボ情報フィールド間に、複数個のデータセクタが含まれうる。もちろん、サーボ情報フィールド間に、単一のデータセクタが含まれるように設計することもできる。そして、サーボ情報フィールドには、プリアンブル（ｐｒｅａｍｂｌｅ）、サーボ同期表示信号、グレーコード（ｇｒａｙ  ｃｏｄｅ）及びバースト（ｂｕｒｓｔ）信号が記録される。
【００３５】
プリアンブルは、サーボ情報読み取り時にクロック同期を提供し、また、サーボセクタ前にギャップ（ｇａｐ）をおいて、一定のタイミング・マージンを提供する。そして、自動ゲイン制御（ＡＧＣ：ａｕｔｏｍａｔｉｃ  ｇａｉｎ  ｃｏｎｔｒｏｌ）回路のゲインを決定するのに利用される。
【００３６】
サーボ同期表示信号は、サーボ・アドレスマーク（ＳＡＭ：ｓｅｒｖｏ  ａｄｄｒｅｓｓ  ｍａｒｋ）及びサーボ・インデックスマーク（ＳＩＭ：ｓｅｒｖｏ  ｉｎｄｅｘ  ｍａｒｋ）から構成される。サーボ・アドレスマークは、セクタの開始を示す信号であり、サーボ・インデックスマークは、トラックでの最初のセクタの開始を示す信号である。
【００３７】
グレーコードは、トラック情報を提供し、バスート信号は、ヘッド１６がトラック３４の中央を追従するように制御するのに利用される信号である。バスート信号は、一例として、Ａ、Ｂ、Ｃ、Ｄの４個のパターンによって構成され、４個のバスート・パターンを組み合わせ、トラック追従制御時に使われる位置エラー信号（ＰＥＳ：ｐｏｓｉｔｉｏｎ  ｅｒｒｏｒ  ｓｉｇｎａｌ）を生成させる。
【００３８】
ディスク１２の記録可能な領域には、論理ブロック・アドレスが割り当てられる。ディスク・ドライブで論理ブロック・アドレスは、シリンダ／ヘッド／セクタ情報に変換され、ディスク１２の記録領域が指定される。ディスク１２は、ユーザがアクセスできないメンテナンス・シリンダ（ｍａｉｎｔｅｎａｎｃｅ  ｃｙｌｉｎｄｅｒ）領域と、ユーザがアクセスできるユーザデータ領域とに区分される。メンテナンス・シリンダ領域をシステム領域ともいう。メンテナンス・シリンダ領域には、ディスク・ドライブ制御に必要な各種情報が保存されており、もちろん、スピンドルモータ１４を制御するのに必要な情報も保存されている。
【００３９】
ヘッド１６は、他のトラックにある情報を読み取ったり記録するために、ディスク１２の表面を横切って移動する。ディスク１２には、ディスク・ドライブに多様な機能を具現させるための複数個のコード・オブジェクトが保存されうる。一例として、ＭＰ３プレーヤの機能を遂行するためのコード・オブジェクト、ナビゲーション機能を遂行するためのコード・オブジェクト、多様なビデオゲームを遂行するためのコード・オブジェクトなどがディスク１２に保存されうる。
【００４０】
再び図１を参照すると、メディアＩ／Ｆ１４０は、プロセッサ１１０がメディア１５０にアクセスし、情報を書き込んだり読み取ったりすることができるように処理する構成手段である。ディスク・ドライブとして具現されるデータ保存装置でのメディアＩ／Ｆ１４０は、細部的には、ヘッドディスク・アセンブリ１００を制御するサーボ回路と、データリード／ライトのための信号処理を遂行するリード／ライト・チャンネル回路とを含む。
【００４１】
ホストＩ／Ｆ１６０は、パソコンのようなホスト機器１７０とのデータ送受信処理を実行する手段であり、例えば、ＳＡＴＡ（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インターフェース、ＰＡＴＡ（ｐａｒａｌｌｅｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インターフェース、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）インターフェースのような多様な規格のインターフェースを利用できる。
【００４２】
そして、外部Ｉ／Ｆ１８０は、データ保存装置に設けられた入出力端子を介して、外部装置とのデータ送受信処理を実行する手段であり、例えばＡＧＰ（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）インターフェース、ＵＳＢインターフェース、ＩＥＥＥ１３９４インターフェース、ＰＣＭＣＩＡ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）インターフェース、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）インターフェース、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標））インターフェース、ＨＤＭＩ（ｈｉｇｈ  ｄｅｆｉｎｉｔｉｏｎ  ｍｕｌｔｉｍｅｄｉａ  ｉｎｔｅｒｆａｃｅ）、ＰＣＩ（ｐｒｏｇｒａｍｍａｂｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｉｎｔｅｒｆａｃｅ）、ＩＳＡ（ｉｎｄｕｓｔｒｙ  ｓｔａｎｄａｒｄ  ａｒｃｈｉｔｅｃｔｕｒｅ）インターフェース、ＰＣＩ−Ｅ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ−ｅｘｐｒｅｓｓ）インターフェース、エクスプレス・カード（ｅｘｐｒｅｓｓ  ｃａｒｄ）インターフェース、ＳＡＴＡインターフェース、ＰＡＴＡインターフェース、シリアル（ｓｅｒｉａｌ）インターフェースのような多様な規格のインターフェースを利用できる。
【００４３】
バス１９０は、データ保存装置の構成手段間の情報を伝達する役割を行う。
【００４４】
次に、データ保存装置の一例であるハードディスク・ドライブのソフトウェア運用体系について、図２を参照して説明する。
図２に示すように、ハードディスク・ドライブ（ＨＤＤ）のメディア１５０には、複数のコード・オブジェクト１〜Ｎ（ＣＯＤＥ  ＯＢＪＥＣＴ  １〜Ｎ）が保存されている。
ＲＯＭ１２０には、ブートイメージ（ＢＯＯＴ  ＩＭＡＧＥ）及び圧縮されたＲＴＯＳイメージ（ＰＡＣＫＥＤ  ＲＴＯＳ  ＩＭＡＧＥ）が保存されている。
【００４５】
ハードディスク・ドライブ（ＨＤＤ）メディア１５０であるディスクには、複数のコード・オブジェクト１〜Ｎ（ＣＯＤＥ  ＯＢＪＥＣＴ  １〜Ｎ）が保存されている。ディスクに保存されたコード・オブジェクトは、ディスク・ドライブの動作に必要なコード・オブジェクトだけではなく、ディスク・ドライブに拡張できる多様な機能に関連したコード・オブジェクトも含まれうる。
【００４６】
特に、本発明によるいくつかの実施形態によるモータ制御方法を示す図９〜図１１のフローチャートを実行させるためのコード・オブジェクトもディスクに保存される。
もちろん、図９〜図１１のフローチャートを実行させるためのコード・オブジェクトをＨＤＤメディア１５０であるディスクの代わりに、ＲＯＭ１２０に保存することもできる。そして、ＭＰ３プレーヤ機能、ナビゲーション機能、ビデオゲーム機能などの多様な機能を遂行するコード・オブジェクトも、ディスクに保存されうる。
【００４７】
ＲＡＭ１３０には、ブーティング過程でＲＯＭ１２０からブートイメージ（ＢＯＯＴ  ＩＭＡＧＥ）を読み取り、圧縮解除されたＲＴＯＳイメージ（ＵＮＰＡＣＫＥＤ  ＲＴＯＳ  ＩＭＡＧＥ）がローディングされる。そして、ＨＤＤメディア１５０に保存されているホストＩ／Ｆ及び外部Ｉ／Ｆの遂行に必要なコード・オブジェクトが、ＲＡＭ１３０にローディングされる。もちろん、ＲＡＭ１３０には、データを保存するための領域（ＤＡＴＡ  ＡＲＥＡ）も割り当てられている。
【００４８】
チャネル（ｃｈａｎｎｅｌ）回路２００には、データリード／ライトのための信号処理を行うのに必要な回路が内蔵されており、サーボ回路２１０には、データリード／ライトを遂行するために、ヘッドディスク・アセンブリ１００を制御するのに必要な回路が内蔵されている。
【００４９】
ＲＴＯＳ（ｒｅａｌ  ｔｉｍｅ  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）１１０Ａは、リアルタイム運用体系プログラムであり、ディスクを利用した多重プログラム運用体系である。タスクによって優先順位の高い前位（ｆｏｒｅｇｒｏｕｎｄ）では、リアルタイム多重処理を行い、優先順位が低い後位（ｂａｃｋｇｒｏｕｎｄ）では、一括処理を行う。そして、ディスクからのコード・オブジェクトのローディングと、ディスクへのコード・オブジェクトのアンローディングとを行う。
【００５０】
ＲＴＯＳ１１０Ａは、コード・オブジェクト管理ユニット（ｃｏｄｅ  ｏｂｊｅｃｔ  ｍａｎａｇｅｍｅｎｔ  ｕｎｉｔ：以下、ＣＯＭＵ）１１０−１、コード・オブジェクト・ローダ（ｃｏｄｅ  ｏｂｊｅｃｔ  ｌｏａｄｅｒ：以下、ＣＯＬ）１１０−２、メモリ・ハンドラ（ｍｅｍｏｒｙ  ｈａｎｄｌｅｒ：以下、ＭＨ）１１０−３、チャネル制御モジュール（ｃｈａｎｎｅｌ  ｃｏｎｔｒｏｌ  ｍｏｄｕｌｅ：以下、ＣＣＭ）１１０−４、及びサーボ制御モジュール（ｓｅｒｖｏ  ｃｏｎｔｒｏｌ  ｍｏｄｕｌｅ：以下、ＳＣＭ）１１０−５を管理し、要請された命令によるタスクを実行する。
【００５１】
ＲＴＯＳ１１０Ａはまた、アプリケーション（ａｐｐｌｉｃａｔｉｏｎ）プログラム２２０を管理する。
細部的には、ＲＴＯＳ１１０Ａは、ディスク・ドライブのブーティング過程で、ディスク・ドライブ制御に必要なコード・オブジェクトを、ＲＡＭ１３０にローディングさせる。従って、ブーティング過程を実行した後、ＲＡＭ１３０にローディングされたコード・オブジェクトを利用し、ディスク・ドライブを動作させることができる。
【００５２】
ＣＯＭＵ１１０−１は、コード・オブジェクトが記録されている位置情報を保存し、仮想アドレスを実際アドレスに変換させ、バスを仲裁する処理を行う。また、実行されているタスクの優先順位についての情報も保存されている。そして、コード・オブジェクトに対するタスク遂行に必要なタスク制御ブロック（ＴＣＢ：ｔａｓｋ  ｃｏｎｔｒｏｌ  ｂｌｏｃｋ）情報及びスタック情報も管理する。
【００５３】
ＣＯＬ１１０−２は、ＣＯＭＵ１１０−１を利用し、ＨＤＤメディア１５０に保存されているコード・オブジェクトをＲＡＭ１３０にローディングさせたり、ＲＡＭ１３０に保存されているコード・オブジェクトをＨＤＤメディア１５０にアンローディングさせる処理を行う。これにより、ＣＯＬ１１０−２は、ＨＤＤメディア１５０に保存されている図９〜図１１のフローチャートによるモータ制御方法を実行させるためのコード・オブジェクトを、ＲＡＭ１３０にローディングさせる。
【００５４】
ＲＴＯＳ１１０Ａは、ＲＡＭ１３０にローディングされたコード・オブジェクトを利用し、後述する図９〜図１１のフローチャートによるモータ制御方法を実行させることができる。
ＭＨ１１０−３は、ＲＯＭ１２０及びＲＡＭ１３０にデータを書き込んだり、ＲＯＭ１２０及びＲＡＭ１３０からデータを読み取ったりする処理を行う。
ＣＣＭ１１０−４は、データリード／ライトのための信号処理を行うのに必要なチャネル制御を行い、ＳＣＭ１１０−５は、データリード／ライトを遂行するために、ヘッドディスク・アセンブリを含むサーボ制御を行う。
【００５５】
次に、図１に示した本発明の一実施形態によるデータ保存装置の一例であるディスク・ドライブの電気的な構成を図４に示す。
図４に示すように、本発明の一実施形態によるディスク・ドライブは、プリアンプ４１０、リード／ライト（Ｒ／Ｗ）・チャネル４２０、コントローラ４３０、ボイスコイル・モータ（ＶＣＭ）駆動部４４０、スピンドルモータ（ＳＰＭ）駆動部４５０、衝撃検出部４７０、ＲＯＭ１２０、ＲＡＭ１３０及びホストＩ／Ｆ１６０を具備する。
【００５６】
衝撃検出部４７０は、圧電センサまたは加速度センサのようなセンサを利用し、ディスク・ドライブに印加される外乱の大きさ（または衝撃量）を検出し、外乱サイズ情報をコントローラ４３０に出力する。
【００５７】
コントローラ４３０は、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ、マイクロコントローラ、プロセッサなどになりうる。コントローラ４３０は、ホストＩ／Ｆ１６０を介して、ホスト機器から受信されるコマンド（ｃｏｍｍａｎｄ）によって、ディスク１２から情報を読み取ったり、またはディスク１２に情報を記録するために、Ｒ／Ｗチャネル４２０を制御する。
【００５８】
コントローラ４３０は、ボイスコイル・モータ（ＶＣＭ）３０を駆動させるための駆動電流を供給するＶＣＭ駆動部４４０に接続されている。コントローラ４３０は、ヘッド１６の動きを制御するために、ＶＣＭ駆動部４４０に制御信号を供給する。
コントローラ４３０は、スピンドルモータ（ＳＰＭ）１４を駆動させるための駆動電流を供給するＳＰＭ駆動部４５０にさらに接続されている。コントローラ４３０は、電源が供給されれば、スピンドルモータ１４を目標速度で回転させるために、ＳＰＭ駆動部４５０に制御信号を供給する。
【００５９】
コントローラ４３０は、ＲＯＭ１２０及びＲＡＭ１３０とそれぞれ接続されている。ＲＯＭ１２０には、ディスク・ドライブを制御するファームウェア及び制御データが保存されている。図９〜図１１に示す本発明によるモータ制御方法を実行させるためのプログラムコード及び情報を保存させる。もちろん、図９〜図１１に示す本発明によるモータ制御方法を実行させるためのプログラムコード及び情報を、ＲＯＭ１２０の代わりに、ディスク１２のメンテナンス・シリンダ領域に保存することもできる。
【００６０】
そして、コントローラ４３０は、ＲＯＭ１２０またはディスク１２のメンテナンス・シリンダ領域に保存されたプログラムコード及び情報を利用し、図９〜図１１に示すようなフローチャートによって、スピンドルモータ１４を制御できる。
【００６１】
次に、ディスク・ドライブの一般的なデータリード動作及びデータライト動作について説明する。
データ読み取り（ｒｅａｄ）モードで、ディスク・ドライブは、ディスク１２からヘッド１６によって感知された電気的な信号を、プリアンプ４１０で増幅させる。その後、Ｒ／Ｗチャネル４２０で、信号の大きさによって、ゲインを自動的に可変させる自動ゲイン制御回路（図示せず）によって、プリアンプ４１０から出力される信号を増幅させ、これをデジタル信号に変換させた後、復号処理してデータを検出する。検出されたデータは、コントローラ４３０で、一例として、エラー訂正コードであるリードソロモンコードを利用したエラー訂正処理を実行した後、ストリームデータに変換し、ホストＩ／Ｆ１６０を介してホスト機器に伝送する。
【００６２】
次に、データ書き込み（ｗｒｉｔｅ）モードで、ディスク・ドライブは、ホストＩ／Ｆ１６０を介して、ホスト機器からデータを入力され、コントローラ４３０で、リードソロモンコードによるエラー訂正用シンボルを付加し、Ｒ／Ｗチャネル４２０によって、記録チャネルに適するように符号化処理した後、プリアンプ４１０によって増幅された記録電流で、ヘッド１６を介してディスク１２に記録される。
【００６３】
次に、本発明によるモータ制御方法について、ディスク・ドライブで実行させる実施形態として具体的に説明する。
説明の便宜のために、モータ制御方法を、ディスク１２を回転させるスピンドルモータ１４に適用される例に限定して説明する。もちろん、本発明によるモータ制御方法が、ディスク・ドライブのスピンドルモータ１４を制御するところに限定されるものではなく、ディスク・ドライブ以外の他の製品に使われる多様な他のモータの制御にも適用されうることはいうまでもない。
【００６４】
コントローラ４３０は、ＲＯＭ１２０またはディスク１２に保存されたモータ制御方法を実行させるためのプログラムコード及び情報を、ＲＡＭ１３０にローディングさせ、ＲＡＭ１３０にローディングされたプログラムコード及び情報を利用し、図９〜図１１に図示す本発明によるモータ制御方法を実行させるように、構成手段を制御する。
【００６５】
本発明によるモータ制御装置の回路ブロック構成の一例を図６に示す。
図６に示すモータ制御装置は、図１のデータ保存装置のプロセッサ１１０、または図４のコントローラ４３０に含まれるように設計でき、場合によっては、別途の回路構成で設計することもできる。
本実施形態では、図６に示すモータ制御装置を、プロセッサ１１０またはコントローラ４３０に含まれるように設計した。
【００６６】
図６に示すように、モータ制御装置は、スピンドルモータ（ＳＰＭ）コントローラ・ブロック６１０、マルチプレクサ（ＭＵＸ）６２０、スピンドルモータ（ＳＰＭ）駆動部４５０、スピンドルモータ１４及び速度検出部１４−１を具備する。
【００６７】
速度検出部１４−１は、スピンドルモータ１４の回転時に検出される逆起電力信号を利用し、スピンドルモータ１４の回転速度に相応する速度検出信号を生成させる。
スピンドルモータ・コントローラ・ブロック６１０は、互いに異なる周波数帯域幅の周波数特性を有する複数個のスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）から構成できる。
【００６８】
スピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）は、周波数帯域幅が大きいほど、システム応答が速くなるという特性がある。すなわち、周波数帯域幅は、応答速度に比例する。これにより、スピンドルモータ・コントローラ６０１の周波数帯域幅が大きくなるほど、装置は、外乱に敏感に反応できるという長所があるが、周波数帯域幅が大きくなるほど、スピンドルモータ１４のジッタ（ｊｉｔｔｅｒ）成分が増大するという短所もある。反対に、スピンドルモータ・コントローラの周波数帯域幅が小さくなるほど、ジッタ成分が減少するという長所がある。
しかし、周波数帯域幅が小さくなるほど、外乱に敏感に反応できず、比較的大きい外乱に対してスピンドルモータの瞬間的な速度降下量が大きくなり、目標速度に達するのにかかる時間も延長されるという短所がある。ここで、スピンドルモータ１４のジッタ成分は、ディスク・ドライブのトラック追従モードで、タイミングエラーを発生させ、データリード時またはデータライト時に、エラーが発生しうる可能性が高める。
【００６９】
一例として、スピンドルモータ・コントローラ１（６１０−１）の周波数帯域幅を最も大きく設定し、スピンドルモータ・コントローラ２（６１０−２）の周波数帯域幅をスピンドルモータ・コントローラ１（６１０−１）の周波数帯域幅より小さく設定し、スピンドルモータ・コントローラＮ（６１０−Ｎ）の周波数帯域幅を最も小さく設定する方式で、スピンドルモータ・コントローラ・ブロック６１０を設計できる。
【００７０】
スピンドルモータ・コントローラ・ブロック６１０を構成するスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）は、それぞれ互いに異なる周波数帯域幅の周波数応答特性を有するフィードバック制御ループによって、速度検出部１４−１で生成される速度検出信号と、初期設定された目標速度信号との差である速度誤差信号に基づいて、スピンドルモータ１４の回転速度が目標速度を追従するための速度制御信号を生成させる。
【００７１】
マルチプレクサ（ＭＵＸ）６２０は、選択信号ＳＥＬによって、スピンドルモータ・コントローラ・ブロック６１０を構成する複数個のスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）のうち、１つのスピンドルモータ・コントローラを選択する選択手段である。すなわち、複数個のスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）それぞれの出力端子を、マルチプレクサ（ＭＵＸ）６２０の入力端子に接続し、選択信号ＳＥＬによって、マルチプレクサ（ＭＵＸ）６２０の入力端子のうち１つの入力端子だけを出力端子に電気的に導通させる。
【００７２】
選択信号ＳＥＬは、スピンドルモータ１４の負荷変動を発生させる条件に基づいて、コントローラ４３０で生成されうる。一例として、コントローラ４３０は、衝撃検出部４７０で検出された外乱サイズによって、複数個のスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）のうち１つのスピンドルモータ・コントローラを選択するための選択信号ＳＥＬを生成させることができる。
【００７３】
細部的には、外乱サイズの範囲を、スピンドルモータ・コントローラ・ブロック６１０を構成するスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）の個数に対応するように分類した後、検出された外乱の大きさに比例して、周波数帯域幅が大きくなるように、外乱サイズに対してスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）が対応するテーブルを準備し、ＲＯＭ１２０またはディスク１２に保存する。これにより、周波数帯域幅が最も大きいスピンドルモータ・コントローラ１（６１０−１）には、最も大きく分類された外乱が対応し、周波数帯域幅が最も小さいスピンドルモータ・コントローラＮ（６１０−Ｎ）には、最も小さく分類された外乱が対応するようにテーブルが設計される。
【００７４】
コントローラ４３０は、テーブルを利用し、衝撃検出部４７０で検出された外乱サイズに対応する周波数帯域幅を有するスピンドルモータ・コントローラを見つけ、見つけ出したスピンドルモータ・コントローラを選択するための選択信号ＳＥＬを生成させる。また、コントローラ４３０は、ヘッド１６とディスク１２との間で生じた干渉サイズ、またはスピンドルモータ１４の負荷増加量などを評価し、選択信号ＳＥＬを生成させることもできる。
ヘッド１６とディスク１２との間の干渉サイズは、ヘッド１６とプリアンプ４１０とを連結するフレキシブル・ケーブル（図示せず）によるバイアス力（ｂｉａｓ  ｆｏｒｃｅ）の変化量を測定して検出できる。一例として、バイアス力の変化量は、ボイスコイル・モータ３０に印加される電流の変化量、またはボイスコイル・モータ３０の制御信号の変化量を測定して検出できる。
【００７５】
他の例として、コントローラ４３０は、システムで遂行されるモードによる外乱の状態を考慮し、選択信号ＳＥＬを発生させることもできる。細部的には、ランプローディング・システムを有するディスク・ドライブで、ランプローディング区間の間には、周波数帯域幅が比較的大きいスピンドルモータ・コントローラが選択され、ランプローディング動作が完了した後、データリード／ライト動作区間では、周波数帯域幅が比較的小さいスピンドルモータ・コントローラが選択されるように、選択信号ＳＥＬを発生させることもできる。
【００７６】
マルチプレクサ６２０は、選択信号ＳＥＬによって、複数個のスピンドルモータ・コントローラ１〜Ｎ（６１０−１〜６１０−Ｎ）のうち１つのスピンドルモータ・コントローラを選択し、選択されたスピンドルモータ・コントローラで生成された速度制御信号を、スピンドルモータ駆動部４５０に出力する。
スピンドルモータ駆動部４５０は、入力される速度制御信号に相応する駆動電流を発生させ、スピンドルモータ１４に印加する。
【００７７】
以上のような動作によって、システムに適用される外乱の大きさ、またはシステムで遂行されるモードによる外乱の状態を考慮し、スピンドルモータ・コントローラの周波数応答特性の周波数帯域幅を変更することによって、外乱の状態によって最適のモータ制御を実行できる。
【００７８】
次に、本発明によるモータ制御装置の回路ブロック構成の他の例を、図７に示す。
図７に示すモータ制御装置は、図１のデータ保存装置のプロセッサ１１０、または図４のコントローラ４３０に含まれるように設計でき、場合によっては、別途の回路構成で設計することもできる。
【００７９】
本実施形態では、図７に示すモータ制御装置が、プロセッサ１１０またはコントローラ４３０に含まれるように設計した。
図７に示すように、モータ制御装置は、減算部７１０、ＰＩ（ｐｒｏｐｏｒｔｉｏｎａｌ  ａｎｄ  ｉｎｔｅｇｒａｌ）制御器７２０、低域通過フィルタ（ＬＰＦ：ｌｏｗ  ｐａｓｓ  ｆｉｌｔｅｒ）７３０、スピンドルモータ（ＳＰＭ）駆動部４５０、スピンドルモータ（ＳＰＭ）１４及び速度検出部１４−１を具備する。
【００８０】
本実施形態では、比例積分（ＰＩ：ｐｒｏｐｏｒｔｉｏｎａｌ  ａｎｄ  ｉｎｔｅｇｒａｌ）制御器７２０を使用したが、本発明は、これに限定されるものではなく、多様な他の制御器を使用することもできる。
速度検出部１４−１は、スピンドルモータ１４の回転時に検出される逆起電力信号を利用し、スピンドルモータ１４の回転速度に相応する速度検出信号Ｖ＿ｄｅｔを生成する。
減算部７１０は、制御区間別に、速度検出部１４−１で生成される速度検出信号Ｖ＿ｄｅｔを、目標速度信号Ｖ−ｒｅｆによって減算した速度誤差信号ｅｋを出力する。
【００８１】
それにより、ＰＩ制御器７２０は、下記の数式１のような演算によって、制御区間ｋでの速度制御信号ｕｋを生成させる。
【数１】
2011198458.tif 000003
ここで、ＫＰ＝比例ゲイン定数、ＫＩ＝積分ゲイン定数、ＫＦＦ＝フィードフォワード（ｆｅｅｄｆｏｒｗａｒｄ）定数である。
【００８２】
低域通過フィルタ７３０は、帯域幅制御信号ＣＴＬ＿ＢＷによって決定された周波数帯域幅の周波数応答特性に基づいて、ＰＩ制御器７２０で生成された速度制御信号ｕｋをフィルタリングして出力する。帯域幅制御信号ＣＴＬ＿ＢＷは、低域通過フィルタ７３０の遮断周波数を決定するパラメータ値を可変させる信号である。
本実施形態では、低域通過フィルタを使用したが、場合によっては、帯域通過フィルタを使用することもできる。
【００８３】
帯域幅制御信号ＣＴＬ＿ＢＷは、低域通過フィルタ７３０の周波数帯域幅を設定する信号であり、コントローラ４３０で生成することができる。システムに適用される外乱の大きさ、またはシステムで遂行されるモードによる外乱の状態を考慮し、低域通過フィルタ７３０の周波数帯域幅が設定されるように、帯域幅制御信号ＣＴＬ＿ＢＷを生成させる。一例として、検出された外乱の大きさに比例して、低域通過フィルタ７３０の周波数帯域幅を増加させる帯域幅制御信号ＣＴＬ＿ＢＷを生成させるように設計できる。
【００８４】
他の例として、コントローラ４３０は、システムで遂行されるモードによる外乱の状態を考慮し、帯域幅制御信号ＣＴＬ＿ＢＷを生成させることもできる。細部的には、ランプローディング・システムを有するディスク・ドライブで、ランプローディング区間の間には、周波数帯域幅が比較的大きく設定され、ランプローディング動作が完了した後、データリード／ライト動作区間では、周波数帯域幅が比較的小さく設定されるように、帯域幅制御信号ＣＴＬ＿ＢＷを生成することもできる。
【００８５】
スピンドルモータ駆動部４５０は、低域通過フィルタ７３０でフィルタリングされた速度制御信号ｕｋに相応する駆動電流を発生させ、スピンドルモータ１４に印加する。
以上のような動作によって、システムに適用される外乱の大きさ、またはシステムで遂行されるモードによる外乱の状態を考慮し、低域通過フィルタ７３０の周波数帯域幅を変更し、外乱状態によって、最適のモータ制御を実行できる。
【００８６】
次に、図１のデータ保存装置のプロセッサ１１０、または図４のディスク・ドライブのコントローラ４３０の制御によって実行される、本発明によるモータ制御方法について、図９〜図１１のフローチャートを参照しつつ説明する。
以下、説明の便宜のために、コントローラ４３０の制御によって実行されるところに限定して説明する。もちろん、本発明は、これにのみ限定されるものではない。
【００８７】
まず、図９を参照して、本発明の一実施形態によるモータ制御方法について説明する。
コントローラ４３０は、モータ制御システムに適用される外乱の状態を検出する（ステップＳ１１０）。ここで、モータ制御システムは、スピンドルモータ制御システムを含むことができ、外乱の状態は、衝撃検出部４７０を利用して検出できる。また、システムで遂行されるモードによる外乱の状態をあらかじめ考慮し、外乱状態を予測することもできる。
【００８８】
コントローラ４３０は、衝撃検出部４７０を利用し、検出された外乱状態またはシステムで遂行されるモードによる外乱の状態を分析する（ステップＳ１２０）。すなわち、コントローラ４３０は、衝撃検出部４７０を利用し、検出された外乱の大きさが臨界値を超える状態が発生するか、またはシステムで遂行されるモードが臨界値を超える外乱の状態が発生するモードであるか否かを判断する。一例として、臨界値を超える外乱の状態を発生させるモードとしては、ランプローディング・システムを有するディスク・ドライブでのランプローディングモードが含まれうる。
【００８９】
次に、コントローラ４３０は、外乱の状態分析結果に基づいて、モータ制御システムの周波数帯域幅を決定する（ステップＳ１３０）。すなわち、モータ制御システムに印加される外乱の大きさに比例して、モータ制御システムの周波数帯域幅が増大するように、周波数帯域幅を決定する。
また、コントローラ４３０は、モータ制御システムに印加される外乱の大きさが、初期設定された臨界値を超える場合には、モータ制御システムの周波数帯域幅を、比較的大きいＢＷ＿ＨＩＧＨに決定し、そうではない場合には、周波数帯域幅を、ＢＷ＿ＨＩＧＨより小さいＢＷ＿ＬＯＷに決定するように制御できる。
【００９０】
一例として、コントローラ４３０は、ランプローディング・システムを有するディスク・ドライブで、ランプローディングモード実行区間の間には、モータ制御システムの周波数帯域幅を、ＢＷ＿ＨＩＧＨに決定し、データリード／ライトモード実行区間の間には、スピンドルモータ制御システムの周波数帯域幅を、ＢＷ＿ＬＯＷに決定するように制御することもできる。
【００９１】
次に、ステップＳ１３０で決定されたモータ制御システムの周波数帯域幅を適用し、モータの回転速度が目標速度に達するように制御する（ステップＳ１４０）。
以上のような動作によって、システムに印加される外乱の大きさ、またはシステムで遂行されるモードによる外乱状態を考慮し、モータ制御システムの周波数帯域幅を変更し、外乱の状態によって、最適のモータ制御を実行できる。
【００９２】
次に、図６または図７のモータ制御装置で可変させることができる周波数帯域幅を、二種に限定する場合に、本発明によるモータ制御装置をディスク・ドライブに適用し、スピンドルモータ１４を制御する方法について、図１０及び図１１のフローチャートを参照して説明する。
【００９３】
図６または図７のモータ制御装置で可変させることができる周波数帯域幅を、二種に限定するということは、図８に示すように、モータ制御システムの閉ループ周波数応答特性の遮断周波数を、ｆＣＬに選択したり、またはｆＣＨに選択することができるということを意味する。遮断周波数をｆＣＬに選択する場合の周波数帯域幅を、ＢＷ＿ＬＯＷと定義し、遮断周波数をｆＣＨに選択する場合の周波数帯域幅を、ＢＷ＿ＨＩＧＨと定義する。それにより、周波数帯域幅ＢＷ＿ＨＩＧＨは、周波数帯域幅ＢＷ＿ＬＯＷより大きいという事実が分かる。
【００９４】
まず、図１０のフローチャートを参照して、本発明の他の実施形態によるモータ制御方法について説明する。
ディスク・ドライブがパワーオン（ｐｏｗｅｒ  ｏｎ）になり（ステップＳ２１０）、ディスク・ドライブが初期化されれば、スピンドルモータ・コントローラの周波数帯域幅ＢＷは、初期化状態で、ＢＷ＿ＨＩＧＨに設定する（ステップＳ２２０）。
【００９５】
次に、コントローラ４３０は、スピンドルモータ１４を起動させるように制御する（ステップＳ２３０）。すなわち、停止していたスピンドルモータ１４に、開ループ制御状態で一定時間の間、駆動電流を供給し、目標速度より低いにしても、スピンドルモータの速度を検出することができる速度に到達させた後、閉ループ制御を実施し、スピンドルモータ１４の回転速度が目標速度（目標ＲＰＭ）に達するように制御する。
【００９６】
スピンドルモータ１４の起動後、コントローラ４３０は、スピンドルモータ１４の回転速度が目標速度に達しているか否かを判断する（ステップＳ２４０）。
【００９７】
スピンドルモータ１４の回転速度が目標速度に達した場合、コントローラ４３０は、パーキング位置にあるヘッド１６を、ディスク１２上にローディングさせるプロセスを実行させる（ステップＳ２５０）。一例として、ランプローディング方式が適用されるディスク・ドライブで、コントローラ４３０は、ランプパーキング手段３８に位置するヘッド１６を、ディスク１２上に移動させるためのボイスコイル・モータ駆動制御信号を生成させ、ローディング・プロセスを実行する。
【００９８】
ローディング・プロセスが実行される間には、ヘッド１６とディスク１２との間に作用する干渉によって発生する外乱によって、スピンドルモータ１４の負荷が比較的大きく増大しうる。ところで、スピンドルモータ制御システムの周波数帯域幅ＢＷが、ＢＷ＿ＨＩＧＨと、比較的大きい値に設定されているので、外乱に対して敏感に反応し、外乱によってスピンドルモータ１４の速度が瞬間的に落ちる現象を減らし、瞬間的に落ちた速度をいち早く目標速度に達するように制御できる。
【００９９】
ローディング・プロセスを実行した後、コントローラ４３０は、最初のシーク（ＳＥＥＫ）動作が完了しているか否かを判断する（ステップＳ２６０）。すなわち、ヘッド１６をディスク１２上に移動させた後、ディスク１２上に位置するヘッド１６を初期設定されたトラックに移動させる最初のシーク動作が完了しているか否かをを判断する。ここで、初期設定されたトラックは、ディスク・ドライブについての情報が保存されたディスク１２のメンテナンス・シリンダ領域に含まれたトラックになりうる。
【０１００】
ステップＳ２６０の判断結果、ローディング・プロセスの実行後、最初のシーク動作が完了していれば、コントローラ４３０は、スピンドルモータ制御システムの周波数帯域幅ＢＷを、ＢＷ＿ＨＩＧＨからＢＷ＿ＬＯＷに変更させる（ステップＳ２７０）。これにより、周波数帯域幅ＢＷ＿ＬＯＷを有するスピンドルモータ制御システムによって、スピンドルモータ１４に対する速度制御が実行される。
【０１０１】
ローディング・プロセスの実行後、最初のシーク動作が完了した後には、ディスク・ドライブは、ホスト機器から受信されるコマンドに従って、データリードまたはデータライトの動作を行う。ローディング・プロセスが完了した後には、ディスク・ドライブ外部からの衝撃が印加される場合を除き、ディスク・ドライブ自体で大きい外乱が発生する可能性は非常に低い。従って、データリードまたはデータライトの動作では、スピンドルモータ１４のジッタ成分を減少させるために、外乱に対して敏感に反応し過ぎないように周波数帯域幅を低くし、スピンドルモータ１４を制御する。
【０１０２】
以上のような動作によって、ディスク・ドライブで、比較的大きい外乱が発生すると予測されるローディング動作が完了するまでは、外乱に対して敏感に反応するようにスピンドルモータ制御システムでの周波数応答特性の周波数帯域幅ＢＷを、比較的大きい値であるＢＷ＿ＨＩＧＨに決定し、ローディング動作が完了した後には、外乱に対して敏感には反応せず、スピンドルモータ１４のジッタ成分を減少させるように、スピンドルモータ制御システムでの周波数応答特性の周波数帯域幅ＢＷを、比較的小さい値であるＢＷ＿ＬＯＷに変更させることができる。
従って、データリード／ライト動作が実行される区間では、スピンドルモータ制御システムでの周波数応答特性の周波数帯域幅ＢＷがＢＷ＿ＬＯＷになり、外乱に対しては、敏感に反応させないようにすることによって、スピンドルモータ１４のジッタ成分を減少させ、エラー発生を減らす。
【０１０３】
ランプローディング方式が適用されるディスク・ドライブで、ローディングモードを遂行する間のスピンドルモータ制御システムの周波数帯域幅によるスピンドルモータ速度変化を図１２及び図１３に示す。
図１２は、スピンドルモータ制御システムの周波数帯域幅ＢＷを、一例として、８Ｈｚ（ＢＷ＿ＬＯＷ）に設定し、スピンドルモータを制御する場合のスピンドルモータの速度軌跡を図示したグラフであり、図１３は、スピンドルモータ制御システムの周波数帯域幅ＢＷを、一例として、１６Ｈｚ（ＢＷ＿ＨＩＧＨ）に設定し、スピンドルモータを制御する場合のスピンドルモータの速度軌跡を図示したグラフである。
【０１０４】
図１２及び図１３において、ＳＥＣＴＩＯＮ（Ａ）は、ランプローディングが遂行される区間中で、ヘッド１６がランプパーキング手段３８上に位置する区間であり、ＳＥＣＴＩＯＮ（Ｂ）は、ヘッド１６がディスク１２上に位置する区間である。ＳＥＣＴＩＯＮ（Ｂ）には、ランプローディング過程で、ヘッド１６とディスク１２との干渉現象が発生し、スピンドルモータに負荷が瞬間的に増加し、それにより、スピンドルモータ１４の速度が一時的に低下する現象が発生する。
【０１０５】
図１２及び図１３を参照すると、周波数帯域幅ＢＷを８Ｈｚ（ＢＷ＿ＬＯＷ）に設定した場合に比べ、１６Ｈｚ（ＢＷ＿ＨＩＧＨ）と比較的高く設定した場合のスピンドルモータ制御システムにおいて、スピンドルモータの速度が一時的に低下する程度が小さく発生し、また、スピンドルモータの速度が一時的に低下した後、目標速度（ＲＰＭ  ５４００）に達するのにかかる時間が短縮するという事実が分かる。
【０１０６】
参考までに、固定された周波数帯域幅ＢＷを有するスピンドルモータ制御システムでは、リード／ライトモードを基準に、スピンドルモータのジッタ品質を考慮し、スピンドル制御システムに係わる周波数帯域幅ＢＷを決定するために、周波数帯域幅ＢＷを８Ｈｚ（ＢＷ＿ＬＯＷ）に設定せねばならない。その場合には、図１２に示すように、ローディング動作の実行過程で、スピンドルモータの速度が目標速度から比較的大きく低下し、また、スピンドルモータの速度が低下した後、目標速度に達するのにかかる時間が長くなり、ローディング動作実行後に、サーボ信号を正確に読み取ることができなかったり、またははなはだしい場合には、ヘッドの浮上高さが不安定になることもある。
【０１０７】
ところが、図１０に示すような本発明によるスピンドルモータ制御システムで、周波数帯域幅ＢＷを、ＢＷ＿ＬＯＷ（一例として、８Ｈｚ）と、ＢＷ＿ＨＩＧＨ（一例として、１６Ｈｚ）との二種の互いに異なる周波数帯域幅のうち１つの周波数帯域幅を、ディスク・ドライブで遂行されるモードに係わる外乱の状態を考慮して選択することによって、外乱が比較的大きく発生するモード（一例として、ローディングモード）では、スピンドルモータの速度が一時的に低下する現象を改善でき、外乱が比較的少なく発生するモード（一例として、データリード／ライトモード）では、スピンドルモータのジッタ成分を低くし、ディスク・ドライブの性能を向上させることができる。
【０１０８】
次に、図１１のフローチャートを参照して、本発明のさらに他の実施形態によるモータ制御方法について説明する。
参考までに、図１０によるモータ制御方法では、ディスク・ドライブで実行されるモードによって、当該モードに係わる外乱の状態を考慮し、スピンドルモータ制御システムの周波数帯域幅を変更させる方式を提案した。これに比べ、図１１によるモータ制御方法では、ディスク・ドライブに適用される外乱の状態を直接感知し、感知された外乱の状態によって、スピンドルモータ制御システムの周波数帯域幅を変更させる方式を提案した。
【０１０９】
図１１のフローチャートによるモータ制御方法について具体的に説明する。
コントローラ４３０は、ディスク・ドライブで、スピンドルモータ制御オン（ＯＮ）状態にあるか否かを判断する（ステップＳ３１０）。すなわち、スピンドルモータ制御システムが、スピンドルモータ１４の回転速度に係わる信号をフィードバックされ、目標速度を追従するように制御する閉ループ制御状態にあるか否かを判断する。
【０１１０】
スピンドルモータ制御オン状態にある場合、ディスク・ドライブに印加される外乱を感知し、感知された外乱値ｄｋを算出する（ステップＳ３２０）。一例として、圧電センサまたは加速度センサのようなセンサを利用し、ディスク・ドライブに印加される外乱を感知し、感知された外乱値ｄｋを算出できる。
【０１１１】
他の例として、外乱値ｄｋは、ヘッド１６とディスク１２との間で生じる干渉サイズとして算出することもできる。具体的には、ヘッド１６とプリアンプ４１０とを連結するフレキシブル・ケーブル（図示せず）によるバイアス力の変化量を測定して検出できる。一例として、バイアス力の変化量は、ボイスコイル・モータ３０に印加される電流の変化量、またはボイスコイル・モータ３０制御信号の変化量を測定して検出できる。
【０１１２】
次に、感知された外乱値ｄｋと臨界値ＴＨとを比較する（ステップＳ３３０）。ここで、臨界値ＴＨは、スピンドルモータ制御システムで、周波数帯域幅ＢＷを、ＢＷ＿ＬＯＷ（一例として、８Ｈｚ）と、ＢＷ＿ＨＩＧＨ（一例として、１６Ｈｚ）との２種の互いに異なる周波数帯域幅のうち１つの周波数帯域幅を選択して使用する方式で、周波数帯域幅を変更させる必要がある基準外乱値に決定する。
【０１１３】
ステップＳ３３０の比較結果、感知された外乱値ｄｋが臨界値ＴＨより大きい場合には、スピンドルモータ制御システムで、周波数帯域幅ＢＷをＢＷ＿ＨＩＧＨに決定する（ステップＳ３４０）。そして、ステップＳ３３０の比較結果、感知された外乱値ｄｋが臨界値ＴＨより大きくない場合には、スピンドルモータ制御システムで、周波数帯域幅ＢＷをＢＷ＿ＬＯＷに決定する（ステップＳ３５０）。
これにより、ディスク・ドライブで感知された外乱の大きさによって、スピンドルモータ制御システムで、周波数帯域幅ＢＷは、ＢＷ＿ＨＩＧＨまたはＢＷ＿ＬＯＷのうち１つの周波数帯域幅が選択される。
【０１１４】
以上、感知される外乱の大きさによって、スピンドルモータ制御システムで周波数帯域幅を決定する実施形態について説明したが、外乱の状態を、スピンドルモータで検出される速度と目標速度との差に基づいて判断し、スピンドルモータ制御システムで周波数帯域幅を決定することもできる。すなわち、スピンドルモータで検出される速度と目標速度との差が臨界値を超える場合には、スピンドルモータ制御システムで、周波数帯域幅をＢＷ＿ＨＩＧＨに選択し、そうではない場合には、スピンドルモータ制御システムで、周波数帯域幅をＢＷ＿ＬＯＷに選択するように設計することもできる。
【０１１５】
それだけではなく、スピンドルモータのジッタ値を測定し、スピンドルモータ制御システムで周波数帯域幅を決定することもできる。スピンドルモータのジッタ値は、サーボ情報が発生する時間間隔を測定して算出でき、一例として、サーボ・アドレスマーク（ＳＡＭ）が検出される時間間隔を測定して算出できる。しかし、この場合には、スピンドルモータのジッタ値が臨界値を超える場合には、スピンドルモータ制御システムで、周波数帯域幅をＢＷ＿ＬＯＷに選択し、そうではない場合には、スピンドルモータ制御システムで、周波数帯域幅をＢＷ＿ＨＩＧＨに選択するように設計することもできる。
【０１１６】
図１０によるモータ制御方法と、図１１によるモータ制御方法とのうちいずれか１つの方法をディスク・ドライブに適用し、スピンドルモータを制御でき、場合によっては、２種の方法を共にディスク・ドライブに適用し、スピンドルモータを制御することもできる。一例として、ディスク・ドライブで、ローディングモードを遂行した後、最初のシーク動作が完了するまでは、図１０によるモータ制御方法を適用してモータを制御し、その後のデータリード／ライトモードでは、図１１によるモータ制御方法を適用してモータを制御するように、ディスク・ドライブを設計することもできる。
【０１１７】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【産業上の利用可能性】
【０１１８】
本発明は、ディスク・ドライブを有する多様な形態の保存装置に好適に使用される。
【符号の説明】
【０１１９】
１２    ディスク
１４    スピンドルモータ
１４−１    速度検出部
１６    ヘッド
２０    スライダ
２２    ヘッドジンバル・アセンブリ
２４    アクチュエータ・アーム
２６    ボイスコイル
２８    マグネチック・アセンブリ
３０    ボイスコイル・モータ
３２    ベアリング・アセンブリ
３４    トラック
３６    内周クラッシュストップ・ラバー
３７    外周クラッシュストップ・ラバー
３８    ランプパーキング手段
１００    ヘッドディスク・アセンブリ
１１０    プロセッサ
１１０Ａ    ＲＴＯＳ
１２０    ＲＯＭ
１３０    ＲＡＭ
１４０    メディアＩ／Ｆ
１５０    メディア
１６０    ホストＩ／Ｆ
１７０    ホスト機器
１８０    外部Ｉ／Ｆ
１９０    バス
２００    チャネル回路
２１０    サーボ回路
２２０    アプリケーション・プログラム
４１０    プリアンプ
４２０    Ｒ／Ｗチャネル
４３０    コントローラ
４４０    ボイスコイル・モータ駆動部
４５０    スピンドルモータ駆動部
４７０    衝撃検出部
６１０    スピンドルモータ・コントローラ・ブロック
６２０    マルチプレクサ
７１０    減算部
７２０    ＰＩ制御器
７３０    低域通過フィルタ
【図１】
2011198458.tif 000004
【図２】
2011198458.tif 000005
【図３】
2011198458.tif 000006
【図４】
2011198458.tif 000007
【図５】
2011198458.tif 000008
【図６】
2011198458.tif 000009
【図７】
2011198458.tif 000010
【図８】
2011198458.tif 000011
【図９】
2011198458.tif 000012
【図１０】
2011198458.tif 000013
【図１１】
2011198458.tif 000014
【図１２】
2011198458.tif 000015
【図１３】
2011198458.tif 000016