(57)【要約】【課題】  シークの際に発生する振動を少なくする磁気ディスク装置、コントローラ及びシーク方法を提供すること。【解決手段】  実施形態によれば、磁気ディスク装置は複数のトラックを含む磁気ディスクと、磁気ディスクにデータを書込み、磁気ディスクからデータを読み出すための磁気ヘッドと、磁気ヘッドのシークを制御するコントローラと、振動を検出するセンサと、を具備する。コントローラは、シーク制御信号に基づいて今回シークによる第１振動を予測し、センサにより検出された振動に基づいて過去のシークによる第２振動を予測し、第１振動の位相と第２振動の位相が揃わないように今回シークの開始タイミングを調整する。【選択図】図８
2018163725.tif 000002
【特許請求の範囲】
【請求項１】
複数のトラックを含む磁気ディスクと、
前記磁気ディスクにデータを書込み、前記磁気ディスクからデータを読み出すための磁気ヘッドと、
前記磁気ヘッドのシークを制御するコントローラと、
振動を検出するセンサと、を具備する磁気ディスク装置であって、
前記コントローラは、
シーク制御信号に基づいて今回シークによる第１振動を予測し、
前記センサにより検出された振動に基づいて過去のシークによる第２振動を予測し、
前記第１振動の位相と前記第２振動の位相が揃わないように今回シークの開始タイミングを調整する磁気ディスク装置。
【請求項２】
前記センサから出力される振動データを記憶するメモリをさらに具備し、
前記磁気ヘッドはモータにより回転されるアクチュエータに取り付けられ、
前記コントローラは、
シーク指示を受けると、前記磁気ヘッドを目標トラックまで移動させるための前記シーク制御信号を決定し、
前記シーク制御信号により駆動される前記モータの回転に起因して生じる前記第１振動を予測し、
前記メモリに記憶されている前記振動データに基づいて、過去のシークに起因して生じる前記第２振動を予測し、
前記調整された開始タイミングで前記シーク制御信号を前記モータに供給する請求項１記載の磁気ディスク装置。
【請求項３】
前記モータはボイスコイルモータを具備し、
前記シーク制御信号は前記ボイスコイルモータを加速、定速駆動、減速するためのシーク電流を具備する請求項２記載の磁気ディスク装置。
【請求項４】
前記コントローラは、前記第１振動の第１ピークと前記第２振動の第２ピークとを検出し、検出した前記第１ピークと前記第２振動の位相が逆位相となるように前記今回シークの開始タイミングを調整する請求項１乃至請求項３のいずれか一項記載の磁気ディスク装置。
【請求項５】
複数のトラックを含む磁気ディスクと、
前記磁気ディスクにデータを書込み、前記磁気ディスクからデータを読み出すための磁気ヘッドと、
前記磁気ヘッドのシークを制御するコントローラと、
シーク制御信号に
振動を検出するセンサと、を具備する磁気ディスク装置のシーク方法であって、
シーク制御信号に基づいて今回シークによる第１振動を予測し、
前記センサにより検出された振動に基づいて過去のシークによる第２振動を予測し、
前記第１振動の位相と前記第２振動の位相が揃わないように今回シークの開始タイミングを調整するシーク方法。
【請求項６】
複数のトラックを含む磁気ディスクと、
前記磁気ディスクにデータを書込み、前記磁気ディスクからデータを読み出すための磁気ヘッドと、
振動を検出するセンサと、を具備する磁気ディスク装置のコントローラであって、
シーク制御信号に基づいて今回シークによる第１振動を予測し、
前記センサにより検出された振動に基づいて過去のシークによる第２振動を予測し、
前記第１振動の位相と前記第２振動の位相が揃わないように今回シークの開始タイミングを調整するコントローラ。
【請求項７】
複数のトラックを含む磁気ディスクと、
前記磁気ディスクにデータを書込み、前記磁気ディスクからデータを読み出すための磁気ヘッドと、
前記磁気ヘッドのシークを制御するコントローラと、を具備する磁気ディスク装置であって、
前記コントローラは、シーク開始タイミングを調整する第１モードと、シーク時間を延長する第２モードとを選択可能である磁気ディスク装置。
【請求項８】
振動を検出するセンサと、
前記センサから出力される振動データを記憶するメモリと、をさらに具備し、
前記コントローラは、
シーク制御信号に基づいて今回シークによる第１振動を予測し、
前記センサにより検出された振動に基づいて過去のシークによる第２振動を予測し、
前記第１モードでは、前記第１振動の位相と前記第２振動の位相が揃わないように前記シーク開始タイミングを調整し、前記第２モードでは前記磁気ヘッドが目標セクタに達するまでの時間に応じて前記シーク時間を延長する請求項７記載の磁気ディスク装置。
【請求項９】
前記コントローラは、
前記第１モードにおける前記第１振動と前記第２振動を予測し、予測した前記第１振動と前記第２振動の合成振動と、
前記第２モードにおける前記第１振動と前記第２振動を予測し、予測した前記第１振動と前記第２振動の合成振動とを求め、
前記第１モードにおける合成振動が前記第２モードにおける合成振動より小さい場合、前記第１モードを選択する請求項８記載の磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は磁気ディスク装置、コントローラ及びシーク方法に関する。
【背景技術】
【０００２】
磁気ディスク装置は、リード／ライトコマンドを受信すると、磁気ヘッドを目標トラックに向けて移動（シークとも称する）させる。ヘッドはアクチュエータに取り付けられる。シークの際、アクチュエータはボイスコイルモータ（ＶＣＭ）により回転駆動される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭63-257970号公報
【特許文献２】米国特許第7515377号明細書
【特許文献３】米国特許第6614613号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
シークの際、ボイスコイルモータが回転すると、その反力により回転振動が発生する。振動が発生すると、アクチュエータを正確に制御することが困難である。
【０００５】
本発明の目的はシークの際に発生する振動を少なくする磁気ディスク装置、コントローラ及びシーク方法を提供することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、磁気ディスク装置は複数のトラックを含む磁気ディスクと、磁気ディスクにデータを書込み、磁気ディスクからデータを読み出すための磁気ヘッドと、磁気ヘッドのシークを制御するコントローラと、振動を検出するセンサと、を具備する。コントローラは、シーク制御信号に基づいて今回シークによる第１振動を予測し、センサにより検出された振動に基づいて過去のシークによる第２振動を予測し、第１振動の位相と第２振動の位相が揃わないように今回シークの開始タイミングを調整する。
【図面の簡単な説明】
【０００７】
【図１】図１は実施形態に係る磁気ディスク装置（ハードディスクドライブとも称する）の典型的な構成例を示すブロック図である。
【図２】図２はシーク電流とＲＶ振動の一例を示す。
【図３】図３はＲＶ振動のゲインと位相の周波数特性の一例を示す。
【図４】図４は連続して実行される２回のシークの際のシーク電流とＲＶ振動の一例を示す。
【図５】図５はブレイク時間と合成振動の関係の一例を示す。
【図６】図６はブレイク時間が０の場合の残余振動と今回シークによる振動の一例を示す。
【図７】図７はブレイク時間がｔ１の場合の残余振動と今回シークによる振動の一例を示す。
【図８】図８はブレイク時間がｔ２の場合の残余振動と今回シークによる振動の一例を示す。
【図９】図９は第１実施形態によるシークの一例を示すフローチャートである。
【図１０】図１０は第１実施形態におけるシーク電流とＲＶ振動の関係の一例を示す。
【図１１】図１１は第１実施形態における前回シークによる振動のピーク検出例を示す。
【図１２】図１２は第１実施形態における残余振動の予測例を示す。
【図１３】図１３は第１実施形態における今回シークによる振動の予測例を示す。
【図１４】図１４は第１実施形態における今回シークのブレイク時間の一例を示す。
【図１５】図１５は第１実施形態によるシークにおける振動キャンセルの一例を示す。
【図１６】図１６は第１実施形態によるシークにおける合成振動の一例を示す。
【図１７】図１７はＩＢＴ法とＪＩＴ法の合成振動の比較例を示す。
【図１８】図１８は第２実施形態によるシークの一例を示すフローチャートである。
【図１９】図１９は第２実施形態における合成振動の一例を示す。
【図２０】図２０は第２実施形態におけるＪＩＴ法の残余振動と今回の予測振動の一例を示す。
【図２１】図２１は第２実施形態におけるＩＢＴ法の残余振動と今回の予測振動の一例を示す。
【図２２】図２２は第２実施形態によるシークにおける合成振動の一例を示す。
【図２３】図２３は第２実施形態における合成振動の他の例を示す。
【発明を実施するための形態】
【０００８】
以下、実施の形態について図面を参照して説明する。なお、開示はあくまで一例にすぎず、以下の実施形態に記載した内容により発明が限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各部分のサイズ、形状等を実際の実施態様に対して変更して模式的に表す場合もある。複数の図面において、対応する要素には同じ参照数字を付して、詳細な説明を省略する場合もある。
【０００９】
（第１実施形態）  
［概略構成］  
図１は実施形態に係る磁気ディスク装置（ハードディスクドライブとも称する）の典型的な構成例を示すブロック図である。磁気ディスク装置はディスク１２と、スピンドルモータ（ＳＰＭ）１４と、アクチュエータ１６と、ドライバＩＣ１８と、ヘッドＩＣ２０と、メインコントローラ２２、ボイスコイルモータ（ＶＣＭ）３４等を備えている。メインコントローラ２２はホスト装置（図示せず）に接続される。
【００１０】
ディスク１２は磁気記録媒体であり、例えばその両側の表面にデータを磁気的に記録する記録面を備えている。ディスク１２はスピンドルモータ１４によって高速に回転される。スピンドルモータ１４はドライバＩＣ１８から供給される電流又は電圧により駆動される。
【００１１】
ディスク１２の記録面は複数のトラック１２Ａを備えている。トラック１２Ａは同心円状の複数のトラックでもよいし、スパイラル状の１本のトラックでもよい。ディスク１２は半径方向に放射状に形成された複数のサーボ領域１２Ｂも備えている。複数のサーボ領域１２Ｂは円周方向に等間隔で離散的に配置されている。隣接するサーボ領域１２Ｂの間の各トラック１２Ａはデータ領域１２Ｃとして用いられる。各トラック１２Ａ内のサーボ領域１２Ｂはサーボフレームとも呼ばれる。各トラック１２Ａ内のサーボ領域１２Ｂと当該サーボ領域１２Ｂに隣接するデータ領域１２Ｃとから構成される領域はサーボセクタとも称される。データ領域１２Ｃは一定サイズ、例えば５１２バイトの複数のデータセクタを備えている。
【００１２】
サーボ領域１２Ｂにはヘッドの位置決めのためのサーボデータが書き込まれている。サーボデータはトラック番号、セクタ番号、バーストデータを含む。セクタ番号はサーボセクタのセクタ番号であり、バーストデータはトラックの中心に対するヘッドの相対的な位置を示す。
【００１３】
ディスク１２のライト面に対応してライトヘッド３２Ａとリードヘッド３２Ｂが配置される。ライトヘッド３２Ａとリードヘッド３２Ｂの区別が不要な説明では、両者を単にヘッドと称する。図１は一方の記録面に対応するライトヘッド３２Ａとリードヘッド３２Ｂを示すが、他方の記録面にも同様にライトヘッド３２Ａとリードヘッド３２Ｂが配置される。ライトヘッド３２Ａとリードヘッド３２Ｂは、アクチュエータ１６のアーム１６Ａから延出したサスペンション１６Ｂの先端に取り付けられたスライダ１６Ｃに取り付けられる。アクチュエータ１６はボイスコイルモータ３４により駆動される。ボイスコイルモータ３４はドライバＩＣ１８から供給される電流又は電圧により駆動される。ライトヘッド３２Ａとリードヘッド３２Ｂは、アクチュエータ１６がボイスコイルモータ３４によって駆動されることにより、ディスク１２上を当該ディスク１２の半径方向に円弧を描くように移動し、目標のトラックに位置決めされる。
【００１４】
図１は一枚のディスク１２を備えた磁気ディスク装置を示すが、実施形態の磁気ディスク装置は、積層された複数枚のディスクと、複数のディスクそれぞれに対して配置される複数のリードヘッド／ライトヘッドを備えてもよい。両面に記録面が備えられた複数枚の両面ディスクが積層される場合、ディスク枚数の２倍のリードヘッド／ライトヘッドが複数のディスクそれぞれの両面に対して配置される。記録面に対してヘッドがそれぞれ対応しているので、記録面はヘッド番号で表すことができる。
【００１５】
ドライバＩＣ１８はメインコントローラ２２内のサーボコントローラ４４の制御に従いスピンドルモータ１４とボイスコイルモータ３４とを駆動する。ヘッドＩＣ２０はヘッドアンプとも呼ばれ、リードヘッド３２Ｂの出力信号、つまりリード信号を増幅する可変利得増幅器を含む。ヘッドＩＣ２０はメインコントローラ２２（より詳細には、メインコントローラ２２内のリード／ライトチャネル４２）から出力されるライトデータをライト電流に変換し、ライト電流をライトヘッド３２Ａに出力する。
【００１６】
メインコントローラ２２は複数の要素が単一チップに集積されたＳｏＣ（System on a Chip）と呼ばれるシステムＬＳＩによって実現される。メインコントローラ２２はリード／ライトチャネル４２と、ハードディスクコントローラ（ＨＤＣ）４６と、サーボコントローラ４４とを備えている。ＤＲＡＭ６２やフラッシュメモリ６４等の半導体メモリを含むメモリユニット２４がメインコントローラ２２の外部に設けられる。
【００１７】
リード／ライトチャネル４２はヘッドＩＣ２０へ供給する信号やヘッドＩＣ２０から供給される信号を処理する。リード／ライトチャネル４２は、データを一時的に格納するＳＲＡＭ等からなるバッファメモリ５２を含む。例えばリード／ライトチャネル４２はヘッドＩＣ２０から供給されたリードヘッド３２Ｂの出力信号であるリード信号をデジタルデータに変換し、デジタルデータをバッファメモリ５２に格納する。リード／ライトチャネル４２はバッファメモリ５２に格納されたデジタルデータに対して誤り訂正復号を行い、デジタルデータからリードデータを復号する。リード／ライトチャネル４２はバッファメモリ５２に格納されたデジタルデータからサーボデータを抽出し、サーボデータに基づいてサーボセクタタイミング信号を生成する。サーボセクタタイミング信号は抽出されたサーボデータが書き込まれているサーボ領域１２Ｂを含むサーボセクタ（より詳細にはサーボ領域１２Ｂを含むサーボセクタ内のデータ領域１２Ｃ）に対応する。
【００１８】
リード／ライトチャネル４２はハードディスクコントローラ４６から転送されるライトデータをバッファメモリ５２に格納する。リード／ライトチャネル４２はバッファメモリ５２に格納されたデジタルデータであるライトデータに対して誤り訂正符号化し、符号化ライトデータをヘッドＩＣ２０に転送し、符号化ライトデータをライトヘッド３２Ａによりディスク１２に記録させる。
【００１９】
ハードディスクコントローラ４６はホストインタフェースを介してホスト装置と接続される。ホスト装置は磁気ディスク装置を自身のストレージ装置として利用することができる。ホスト装置及び磁気ディスク装置は、例えばパーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、或いはプリンタ装置のような電子機器に備えられる。ハードディスクコントローラ４６はホスト装置に信号を転送するとともにホスト装置から転送される信号を受信するホストインタフェースコントローラとして機能する。具体的には、ハードディスクコントローラ４６はホスト装置から転送されるコマンド（ライトコマンド、リードコマンド、シークコマンド等）を受信する。ハードディスクコントローラ４６はホスト装置とメモリユニット２４との間のデータ転送を制御する。ハードディスクコントローラ４６はリード／ライトチャネル４２、ヘッドＩＣ２０及びライトヘッド３２Ａ、リードヘッド３２Ｂを介してディスク１２へのデータライト及びディスク１２からのデータリードを制御するディスクインタフェースコントローラとしても機能する。
【００２０】
サーボコントローラ４４はドライバＩＣ１８を介してスピンドルモータ１４及びボイスコイルモータ３４を制御する。ヘッド１２をディスク１２上の目標トラックまで移動させ、目標トラックの目標位置に位置決めするために、サーボコントローラ４４はリード／ライトチャネル４２によって抽出される目標アドレス及びサーボデータに基づいてボイスコイルモータ３４を制御する。ボイスコイルモータ３４を制御することは、アクチュエータ１６の回転角度を制御することと等価である。
【００２１】
ハードディスクコントローラ４６及びサーボコントローラ４４はそれぞれ図示しないマイクロプロセッサユニット（ＭＰＵ）を備えている。これらのＭＰＵはハードディスクコントローラ４６及びサーボコントローラ４４のためのそれぞれの制御プログラムを実行することにより、ハードディスクコントローラ４６及びサーボコントローラ４４としての機能を実現している。これらの制御プログラムはフラッシュメモリ６４に格納される。単一のＭＰＵがこれらの制御プログラムを時分割で実行しても構わない。
【００２２】
メモリユニット２４はＤＲＡＭ６２、フラッシュメモリ６４を備えている。フラッシュメモリ６４は書き換え可能な不揮発性半導体メモリであり、その記憶領域の一部にはハードディスクコントローラ４６及びサーボコントローラ４４を含むメインコントローラ２２の機能を実現するための制御プログラム（ファームウェア）が予め格納されている。フラッシュメモリ６４の記憶領域の他の一部は、論理アドレスと物理アドレスとの対応表や、ディフェクトセクタに関する情報（ディフェクトセクタを示す物理アドレス、論理アドレス等）も格納する。ＤＲＡＭ６２の記憶領域の少なくとも一部は、ハードディスクコントローラ４６及びサーボコントローラ４４のための作業領域として用いられる。リード／ライトチャネル４２で復号されたリードデータはＤＲＡＭ６２に転送され、ＤＲＡＭ６２に一旦格納され、その後ホスト装置に送信される。ホスト装置から送信されたライトデータはＤＲＡＭ６２に一旦格納され、その後リード／ライトチャネル４２に転送される。図１では、メモリユニット２４はメインコントローラ２２に外付けされているが、メインコントローラ２２に内蔵されてもよい。
【００２３】
ドライバＩＣ１８、ヘッドＩＣ２０、メインコントローラ２２、メモリユニット２４が載置される基板に振動センサ４８も配置される。振動センサ４８は磁気ディスク装置の振動（装置全体が揺すられる振動であり、回転振動（ＲＶ：Rotation Vibration）振動とも称する）を検出し、検出した振動量を計測するものであり、ＲＶセンサとも呼ばれる。振動センサ４８は、回転振動を直接検出する単一のセンサでもよいし、直線方向の振動を検出する一対の一軸加速度センサでもよい。一対の加速度センサを用いる場合は、２つの加速度センサは基板の異なる位置に回転間隔を空けて配置される。２つの加速度センサの特性は同一とする。振動センサ４８の出力はハードディスクコントローラ４６に供給され、ＤＲＡＭ６２に記憶される。ＤＲＡＭ６２の振動センサ４８の出力の記憶エリアは、複数回のシークで発生する振動データを記憶できるサイズである。振動センサ４８の設置場所はメインコントローラ２２と同じ基板上に限らず、装置のＲＶ振動を検出できれば、他の箇所でもよい。
【００２４】
［シーク：ＩＢＴ法］  
メインコントローラ２２は目標アドレスが入力されると、目標アドレスに基づいて目標トラックを求め、目標トラックへヘッドを移動させるシークを開始する。シークはヘッドを目標トラック付近まで移動させるまでの速度制御と、目標トラック付近に位置するヘッドを目標トラック上に正確に位置決めする位置制御とからなる。位置制御はサーボデータに基づく。速度制御も位置制御もボイスコイルモータ３４の駆動により行われる。ボイスコイルモータ３４の駆動、特に速度制御のための駆動により振動が発生する。速度制御は加速期間と定速期間と減速期間の３つの期間を含む。定速期間の速度はボイスコイルモータ３４の特性等により決まるものであり、上限速度が決まっている。
【００２５】
メインコントローラ２２は速度制御のためのシーク電圧をドライバＩＣ１８に設定し、ドライバＩＣ１８がシーク電圧に応じたシーク電流をボイスコイルモータ３４に供給する。シーク電流の一例を図２（ａ）に示す。破線は定速期間の速度を上限速度に設定した場合のシーク電流を示し、実線は定速期間の速度を上限速度より少し低速に設定した（その結果加速と減速の変化率も少し小さく設定されている）場合のシーク電流を示す。これらのシーク電流をボイスコイルモータ３４に流した場合の磁気ディスク装置の振動（ＲＶ振動とも称する）を図２（ｂ）に示す。定速期間の速度を上限速度に設定した場合、破線で示すＲＶ振動の二乗積分値のルートは６０．４７４ｒａｄ／ｓ２であり、定速期間の速度を上限速度より少し低速に設定した場合、実線で示すＲＶ振動の二乗積分値は５０．１２５ｒａｄ／ｓ２である。積分期間はランダムアクセス実行中のシーク期間だけではなく、トラッキング中の時間も含む期間である。このようにＲＶ振動（二乗積分値）は定速期間の速度が高いと大きくなり、定速期間の速度に応じている。同じ距離のシークでも、発生するＲＶ振動は定速期間の速度により変わる
図３はＲＶ振動のゲインと位相の周波数特性を示す。図２は１回のシークについてのシーク電流とＲＶ振動の関係を示したが、ＲＶ振動はシーク電流のボイスコイルモータ３４への供給が停止しても残り、ＲＶ振動は実行中の今回シークに起因するだけではなく直前シークにも起因する。図２（ａ）に示すように、シーク電流は３ｍｓ程度（１回のシーク期間）しかボイスコイルモータ３４に供給されないが、図２（ｂ）に示すように、シーク期間が終了してもＲＶ振動は生じる。シーク期間の終了後のＲＶ振動を残余振動とも称する。図２（ｂ）の例では、シーク開始から２０ｍｓ後まで振動が生じる。そのため、連続する２回のシークが短時間に行われると、今回シークに起因して発生することが予測されるＲＶ振動（以下、予測振動とも称する）に前回シークに起因する残余振動が加わり、２つの振動の合成振動が生じる。ＲＶ振動は位相成分を含むので、もし、２つの振動が同位相であれば、２つのＲＶ振動は加算され、合成振動は大きな振動となる。しかし、２つの振動が逆位相であれば、２つのＲＶ振動は打ち消し合い、合成振動は予測振動より小さくなる。
【００２６】
残余振動の位相は制御できないが、これから開始する今回シークによる予測振動の位相は制御することができる。今回シークの開始タイミングを調整する、すなわち遅延させると、予測振動の位相を残余振動の位相の逆位相とすることができる。実施形態は、リード／ライトアドレスが入力され目標トラックが決まりシークが指示されてからある時間（ブレイク時間と称する）経過してからシーク電流をボイスコイルモータ３４に供給する。ブレイク時間は予測振動のピークと残余振動のピークの位相に基づいて決められる。この明細書では、シーク開始指示とボイスコイルモータ３４へのシーク電流の供給開始との間にブレイク時間を設けるシーク法をＩＢＴ（Inject Break Time）法と称する。
【００２７】
図３（ａ）は前回シークによる残余振動と今回シークによる振動との合成振動のゲインの周波数特性を示す。図３（ｂ）は合成振動の位相の周波数特性を示す。細線は第２シーク開始指示後ブレイク時間を設けないで第１シーク、第２シークを連続して行った場合、の特性を示し、太線は第２シークの開始指示後０．４ｍｓのブレイク時間を入れてから第２シークを行った場合の特性を示す。図３（ａ）の太線に示すように、ブレイク時間を設けた場合、ゲインの周波数特性は単一のピークを有する。そのため、過去のシーク時の振動の測定結果に基づいて残余振動のピークの位相、極性、振幅が予測可能である。
【００２８】
図４（ａ）は第１、第２のシークを連続して行った場合（実線）と、第１、第２のシークの間に０．４ｍｓのブレイク時間を入れた場合（破線）のシーク電流を示す。第１シークの期間のシーク電流は２つの場合で同じであるので、説明の便宜上、実線のみ示す。図４（ｂ）は第１、第２のシークを連続して行った場合（実線）と、第１、第２のシークの間に０．４ｍｓのブレイク時間を入れた場合（破線）のＲＶ振動を示す。第１シークの期間のＲＶ振動は２つの場合で同じであるので、説明の便宜上、実線のみ示す。図４（ｂ）の実線に示すようにブレイク時間を設けないで第１、第２シークを連続して行った場合のＲＶ振動の二乗積分値は１０１．４９ｒａｄ／ｓ２である。積分期間は第１、第２シーク期間に限らず、その後の期間も入れた期間、例えば図４の１５ｍｓである。図４（ｂ）の破線に示すように第１シーク終了後０．４ｍｓのブレイク時間を入れてから第２シークを行った場合のＲＶ振動の二乗積分値は９３．５８ｒａｄ／ｓ２であり、ブレイク時間を入れることによりＲＶ振動は小さくなることが分かる。
【００２９】
図５は前回シークの残余振動と今回シークの振動との合成振動（二乗積分値）がブレイク時間により変化する様子を示す。ブレイク時間が０から徐々に増加すると、合成振動は徐々に増加する。そして、ブレイク時間が第１時間ｔ１を超えると、ブレイク時間の増加に対して合成振動は徐々に減少する。そして、ブレイク時間が第２時間ｔ２を超えると、再びブレイク時間の増加に対して合成振動は徐々に増加する。このように、合成振動が最小になるブレイク時間ｔ２がある。このブレイク時間を求めて、シーク開始タイミングを制御すると、合成振動を抑えることができる。
【００３０】
図６はブレイク時間が０の場合の前回シークの振動（一点鎖線）と今回シークの振動（実線）を示す。太縦線のタイミングが今回シークの開始指示タイミングである。ホスト装置からのリード／ライトコマンドを受信すると、メインコントローラ２２はリード／ライトアドレスから目標トラックを求め、目標トラックへのシーク開始をサーボコントローラ４４へ指示する。この指示のタイミングが太縦線のタイミングである。残余振動と今回シークによる振動との合成振動（二乗積分値）は１０１．４９ｒａｄ／ｓ２である。
【００３１】
図７はブレイク時間がｔ１、例えば０．１５ｍｓの場合の前回シークの振動（一点鎖線）と今回シークの振動（実線）を示す。太縦線のタイミングが今回シークの開始指示タイミングである。前回シークの残余振動と今回シークの振動の位相は図６の場合よりも揃っているので、両振動の合成振動（二乗積分値）は１０３．４ｒａｄ／ｓ２であり、図６の場合よりも大きい。
【００３２】
図８はブレイク時間がｔ２、例えば０．８５ｍｓの場合の前回シークの振動（一点鎖線）と今回シークの振動（実線）を示す。太縦線のタイミングが今回シークの開始指示タイミングである。前回シークの残余振動と今回シークによる振動の位相は略逆であるので、両振動の合成振動（二乗積分値）は８７．８５ｒａｄ／ｓ２であり、図６の場合よりも小さい。
【００３３】
［シークの流れ］  
図９を参照して第１実施形態によるシークの流れを説明する。振動センサ４８は、磁気ディスク装置の作動中、常時動作しており、振動センサ４８から出力される振動データはＤＲＡＭ６２に記憶されている。磁気ディスク装置において、リード／ライト以外の時、ヘッドは退避エリア又は特定のトラック上に位置決めされている。
【００３４】
ステップＳ１２でメインコントローラ２２はホスト装置からのリード／ライトコマンドを受信する。リード／ライトコマンドを受信すると、ステップＳ１４で、メインコントローラ２２はヘッドの現在位置を知るために、サーボ領域１２Ｂのサーボデコーダからトラック番号、セクタ番号、バーストデータを取り込む。メインコントローラ２２はさらにバーストデータからヘッドの現在位置を計算し、現在位置と１つ前の位置からヘッドの現在の移動速度を計算し、目標トラックと現在トラックとの差から目標トラックまでの距離及び方向を計算し、目標トラックまでの距離を用いシーク方向（内径側へのシークか外径側へのシークか）を考慮してテーブルを参照して目標速度を決める。メインコントローラ２２は目標速度から現在の移動速度を減算し、ボイスコイルモータ３４に流すシーク電流を求める。
【００３５】
ステップＳ１６でメインコントローラ２２はＤＲＡＭ６２から前回シークの振動データを取り込む。ステップＳ１８でメインコントローラ２２は図１０に示すように前回シークの振動のピークを検出する。図１０の縦太線は今回シークの開始指示タイミングであり、実線の特性は前回シークのシーク電流であり、一点鎖線は前回シークの振動である。前回シークの振動は、今回シークの開始指示タイミング以前はＤＲＡＭ６２から読み出されたデータに基づく実測値であり、今回シークの開始指示タイミング以降は予測値である。ステップＳ１８のタイミングは今回シークの開始指示タイミングであるので、メインコントローラ２２は今回シークの開始指示タイミング以前の前回シークの振動の４つのピーク（黒丸）を検出し、以降のステップで今回シーク開始タイミング以降の前回シークの残余振動の７つのピーク（白丸）を予測する。
【００３６】
ステップＳ２２でメインコントローラ２２は図１１に示すように前回シークの振動のピークのタイミング、位相、振幅と、ピーク間の距離を求める。ピーク間の距離からピークの平均周期が計算される。タイミングの基準（時刻０）は前回シークの開始時であり、位相の基準（位相０）は今回シークの開始指示タイミングである。ステップＳ２４でメインコントローラ２２は、図１２に示すように、ステップＳ２２で求めたピークのタイミング、位相、振幅、平均周期とから前回シークによる残余振動のピークの振幅、位相を予測する。
【００３７】
ステップＳ２６でメインコントローラ２２は、図１３に示すように今回シークのシーク電流により生じる振動のピークの振幅、位相を予測する。ステップＳ２８でメインコントローラ２２は、図１４に示すように前回シークの残余振動と今回シークの予測振動とが逆相になるブレイク時間を求める。
【００３８】
ステップＳ３２でメインコントローラ２２は、図１５に示すように今回シークの開始指示タイミングからブレイク時間だけ遅延した後、シーク電流に比例した電圧値（ディジタル量）をヘッドＩＣ２０のパワーアンプ（図示せず）に設定する。パワーアンプはこの設定値に応じたシーク電流をボイスコイルモータ３４に流し、目標トラックに向けたヘッドの移動を制御する。目標トラックに近づくと、ヘッドの制御モードは速度制御から位置制御に変わる。なお、ステップＳ３４に示すように振動センサ４８から出力される振動データはＤＲＡＭ６２に常時記憶される。
【００３９】
図１６（ａ）はシーク開始時に０．８５ｍｓのブレイク時間を設けた場合（実線）と、ブレイク時間を設けない場合（破線）のシーク電流を示す。図１６（ｂ）はシーク開始時に０．８５ｍｓのブレイク時間を設けた場合（実線）と、ブレイク時間を設けない場合（破線）のＲＶ振動を示す。図１６（ｂ）の破線に示すようにブレイク時間を設けない場合、前回シークの残余振動と今回シークによる振動の合成振動（二乗積分値）は１０１．４９ｒａｄ／ｓ２である。図１６（ａ）の実線に示すようにシーク開始時に０．８５ｍｓのブレイク時間を設ける場合、前回シークの残余振動と今回シークによる振動の合成振動（二乗積分値）は８７．８５ｒａｄ／ｓ２であり、ブレイク時間を設けることにより、ＲＶ振動を小さくすることができる。
【００４０】
［実施形態の効果］  
第１実施形態によれば、シーク開始指示を受けると、前回シークによる残余振動と今回シークによる振動を予測し、両振動の位相が逆になるように今回シークの開始を遅延させることにより、両振動の合成振動を小さくすることができる。このため、アクチュエータを正確に制御することが可能である。
【００４１】
直前の１回のシークの残余振動を考慮するだけではなく、残余振動の持続時間が比較的長い場合は、過去の数回のシークの残余振動を考慮してもよい。振動センサ４８から出力される振動データはメインコントローラ２２に供給され、ＤＲＡＭ６２に書き込まれたが、センサ４８側にメモリを設けて、そのメモリに書き込まれてもよい。
【００４２】
（第２実施形態）
第１実施形態は、振動を低減するシーク法として、シーク開始タイミングが遅延されるＩＢＴ法を説明したが、これ以外にシーク時間を長くするＪＩＴ（Just In Time）法がある。シーク時間を長くする方法の一例は加速の立上り／減速の立下りを緩やかにして加速／減速期間を長くすることがある。シークが指示される際、シーク動作を完了しなければならないタイミングも指示される。このタイミングが遅く、シーク時間を長く設定できる場合はシーク速度は低速でもよい。振動はシーク速度に応じており、シーク速度が低速であれば振動は少ない。シーク時間を延長すること（ＪＩＴ法）はシーク速度を低速にすることも含む。
【００４３】
図１７にＩＢＴ法、ＪＩＴ法それぞれによる合成振動の例を示す。横軸はＩＢＴ法ではブレイク時間、ＪＩＴ法ではシーク時間の延長時間を示す。図１７の実線は、図５と同じであり、ＩＢＴ法による合成振動（二乗積分値）がブレイク時間により変化する様子を示す。図１７の破線はＪＩＴ法による合成振動（二乗積分値）が延長時間により変化する様子を示す。このケースでは、ブレイク時間／延長時間が短い場合は、ＪＩＴ法の方が合成振動を小さくすることができ、ブレイク時間／延長時間がある時間以上になると、ＩＢＴ法の方が合成振動を小さくすることができる。
【００４４】
図１８は第２実施形態のシークの流れの一例を示すフローチャートである。
【００４５】
ステップＳ１２〜ステップＳ２６までは第１実施形態と同じである。
【００４６】
ステップＳ５２でメインコントローラ２２はＪＩＴ法における今回シークの要求時間timeＪと、ＩＢＴ法における今回シークの要求時間timeＩとを求める。ＪＩＴ法における要求時間timeＪはシークコマンドを受領したタイミングからシーク後にリード／ライトを実行する目標セクタが来るまでの時間であり、ヘッドが目標とするデータセクタに達するまでの回転待ち時間によって決まる。例えば、目標セクタ番号をＳ１、現在のセクタ番号をＳ０、サーボセクタ間隔をＴｓとすると、とすると、要求時間timeＪは（Ｓ１−Ｓ０）ｘＴｓ−ｔ１となる。ただし、timeＪ＜０ならば、timeＪ＝timeＪ＋Ｔｒとなる。ｔ１は最短シーク時間（見込み時間）、Ｔｒはディスクの円板回転周期である。すなわち、Ｓ０からＳ１までのシーク時間が最短シーク時間より短い場合には1周回転待つので要求時間にはＴｒが加算される。一方、ＩＢＴ法における要求時間timeＩは振動が最小となる時間である。図２１のケースではtimeＩ＝０．６５ｍｓである。なお、要求時間はホスト装置から与えられてもよい。
【００４７】
ステップＳ５４でメインコントローラ２２はtimeＩ≦timeＪか否か判定する。メインコントローラ２２は正であると判定した場合、たとえばtimeＩ＝０．６５ｍＳのケースでtimeＪが１．０ｍｓだった場合、ステップＳ５６でＩＢＴ法によるシークを開始する。この時のブレーク時間はtimeＪである。
【００４８】
メインコントローラ２２はtimeＩ≦timeＪが否であると判定した場合、たとえばtimeＩ＝０．６５ｍｓのケースでtimeＪが０．５ｍｓだった場合は、ステップＳ５８でＪＩＴ法による今回シークの予測振動の第１ピークの振幅ＲＶampＪ（１）とＩＢＴ法による今回シークの予測振動の第１ピークの振幅ＲＶampＩ（１）を求める。図２０の実線で示す予測振動のpeakＢの振幅が第１ピークの振幅ＲＶampＪ（１）＝−５０である。図２１の実線で示す予測振動のpeakＢの振幅が第１ピークの振幅ＲＶampＩ（１）＝−１００である。
【００４９】
ステップＳ６２でメインコントローラ２２はＪＩＴ法による前回シークの残余振動の第１ピークの振幅ＲＶampＪ（２）とＩＢＴ法による前回シークの残余振動のＲＶampＩ（１）と逆位相になる第１ピークの振幅ＲＶampＩ（２）を求める。図２０の破線で示す残余振動のpeakＡの振幅が第１ピークの振幅ＲＶampＪ（２）＝−１５０である。図２１の破線で示す残余振動のpeakＡの振幅が第１ピークの振幅ＲＶampＩ（２）＝１００である。
【００５０】
ステップＳ６４でメインコントローラ２２はＪＩＴ法による今回シークの予測振動と前回シークの残余振動の合成振幅ＲＶampＪcmbを求める。図１９はＪＩＴ法による合成振幅ＲＶampＪcmb及びＩＢＴ法による今回シークの予測振動と前回シークの残余振動の合成振幅ＲＶampＩcmbを示す。ピークＡの振動とピークＢの振動はそれぞれベクトルで表すことができ、合成振幅はベクトル和で表すことができる。ピークＡの振動を水平方向のベクトル（実線）とし、ピークＡの振動を表すベクトルとピークＢの振動を表すベクトルとの位相差をθｊとする。最速シークの場合のピークＢの振動のベクトルを一点破線で示す。ＪＩＴ法では、ピークＢの振幅を最速シークの場合のピークＢの振幅より小さくすることにより、合成振幅を最速シークの場合の合成振幅より小さくする。ＩＢＴ法では、ピークＢの振幅は最速シークの場合の振幅と等しいが、位相差をθｊからθｉまで大きくすることにより、合成振幅を最速シークの場合の合成振幅に比べて小さくする。
【００５１】
ＪＩＴ法によるピークＡの振幅ＲＶampJ（２）とピークＢの振幅ＲＶampJ（１）の位相差θｊは次のように求められる。periodはピークの平均周期である。
【００５２】
θj＝（distanceＡＢ×360）／period
ｈj＝ＲＶampJ（１）sin（θｊ）
ｄj＝ＲＶampJ（１）cos（θｊ）
distanceＡＢはpeakＢとpeakＡの時間差である。
【００５３】
ＪＩＴ法による合成振幅ＲＶampＪcmbは次のように求められる。
【数１】
2018163725.tif 000003
【００５４】
ステップＳ６６でメインコントローラ２２はＩＢＴ法による今回シークの予測振動と前回シークの残余振動の合成振幅ＲＶampＩcmbを次のように求める。ここで、timeＩ＞timeＪならば、ブレークタイムをtimeＩとする。
【００５５】
θｉ=（distanceＡＢ＋timeＪ）×360/period
ｈi＝ＲＶampI（１）sin（θｉ）
ｄi＝ＲＶampI（１）cos（θｉ）
ただしtimeＩ＞period／４の場合はpeak Firstがキャンセルされないため、ＲＶampI（２）の1/2を加算する。
【数２】
2018163725.tif 000004
【００５６】
ステップＳ６８でメインコントローラ２２はＲＶampＩcmb＜ＲＶampＪcmbか否か判定する。メインコントローラ２２は正であると判定した場合、ステップＳ５６でＩＢＴ法によるシークを開始する。メインコントローラ２２は否であると判定した場合、ステップＳ７２でＪＩＴ法によるシークを開始する。この時の延長時間はtimeＪである。
【００５７】
図２２は第２実施形態におけるＩＢＴ法（実線）、ＪＩＴ法（破線）によるシーク電流と合成振動の例を示す。このケースで与えられたシーク要求時間３．７ｍｓに対して、ＪＩＴ法の場合のシーク電流および合成振動が図２２（ａ）、（ｂ）の破線で示され、その時の合成振動は９５．８ｒａｄ／ｓ２である。一方、ＩＢＴ法の場合のシーク電流および合成振動は図２２（ａ）、（ｂ）の実線で示され、その時の合成振動は８７．８５ｒａｄ／ｓ２である。この時のＲＶampIcmb、ＲＶampJcmpは図２３のように計算され、ＪＩＴ法よりもＩＢＴ法の合成振動が小さくなると判断できる。なお、ＩＢＴ法の場合の合成振動は、timeＩ＞period／４でありＲＶampI（２）の１／２が加算されている。
【００５８】
第２実施形態によれば、２つのシーク法の中で振動を抑える効果が大きいシーク法を選択することができる。
【００５９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００６０】
１６…アクチュエータ、１８…ドライバＩＣ、３２Ａ，３２Ｂ…ヘッド、３４…ボイスコイルモータ、４８…振動センサ
【図１】
2018163725.tif 000005
【図２】
2018163725.tif 000006
【図３】
2018163725.tif 000007
【図４】
2018163725.tif 000008
【図５】
2018163725.tif 000009
【図６】
2018163725.tif 000010
【図７】
2018163725.tif 000011
【図８】
2018163725.tif 000012
【図９】
2018163725.tif 000013
【図１０】
2018163725.tif 000014
【図１１】
2018163725.tif 000015
【図１２】
2018163725.tif 000016
【図１３】
2018163725.tif 000017
【図１４】
2018163725.tif 000018
【図１５】
2018163725.tif 000019
【図１６】
2018163725.tif 000020
【図１７】
2018163725.tif 000021
【図１８】
2018163725.tif 000022
【図１９】
2018163725.tif 000023
【図２０】
2018163725.tif 000024
【図２１】
2018163725.tif 000025
【図２２】
2018163725.tif 000026
【図２３】
2018163725.tif 000027