説明

ディスク記憶装置及びサーボ制御方法

【課題】 ディスクの回転速度を可変する機能を有するディスクドライブにおいて、ディスクの高速回転時にサーボ制御処理の占有率の低下と共に、十分なヘッド位置決め精度を必要に応じて確保できるサーボ制御を実現することにある。
【解決手段】 複数のディスク回転速度モードの設定が可能なディスクドライブにおいて、高速回転モード時には、CPU21に対する割込み要求の出力を間引くことにより、サーボセクタからのサーボデータの入力を間引く構成である。このとき、HDC22は、サーボゲートのタイミングで全てのサーボセクタから再生されたサーボデータを取得してレジスタ30に保存する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスク回転速度の可変機能を有するディスク記憶装置に関し、特に、高速回転時のサーボ制御技術に関する。
【背景技術】
【0002】
近年、ハードディスクドライブを代表とするディスク記憶装置(以下、ディスクドライブと表記する場合がある)では、ディスクの回転数を可変する機能を有するディスクドライブが提案されている(例えば、特許文献1を参照)。
【0003】
このディスクドライブは、データの記録時にはディスクを高速回転させて、データの再生時にはディスクを低速回転させる構成である。これにより、データの記録に要する時間の短縮化と、データの再生時間の増加を図る。この場合、ディスクの低速回転時には、本来のサーボデータ部以外に、小さいサイズのサーボデータ部を使用するサーボ制御が実行される。一方、ディスクの高速回転時には、その小さいサイズのサーボデータ部の再生を間引くサーボ制御が実行される。
【0004】
また、ディスクの回転数は固定であるが、リード/ライトアクセスをしないときに、サーボゲートを間引くサーボ処理を行なうディスクドライブも提案されている(例えば、特許文献2を参照)。
【特許文献1】特開2006−294092号公報
【特許文献2】特許第2650720号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ディスクの回転数を可変するディスクドライブでは、データの記録時の時間短縮化と、データ再生時での消費電力の節約を図ることが可能である。また、ディスクの高速回転時に、サーボデータの再生を間引くサーボ制御により、マイクロプロセッサ(CPU)のサーボ制御処理の占有率を低下させて、ディスクドライブの性能を向上させることが可能となる。しかしながら、単にサーボデータの再生を間引く方法では、ディスクの高速回転時にはヘッドの位置決め精度が低下し、かつ必要な場合に、十分な位置決め精度を確保することが困難となる。ディスクの高速回転時には外乱も増大するため、十分な位置決め精度を確保することが困難である。さらに、サーボゲートを間引く方法では、リード/ライト動作のためのゲートを管理する構成が複雑化し、安定したリード/ライト動作を実現することが困難になる場合がある。
【0006】
そこで、本発明の目的は、ディスクの回転速度を可変する機能を有するディスクドライブにおいて、リード/ライト動作のためのゲートを管理する特別の構成を要することなく、ディスクの高速回転時にサーボ制御処理の占有率の低下と共に、十分なヘッド位置決め精度を必要に応じて確保できるサーボ制御を実現することにある。
【課題を解決するための手段】
【0007】
本発明の観点に従ったディスクドライブは、データを書き込みまたは読出すためのヘッドと、前記ヘッドにより書き込まれるデータを記録する媒体であり、前記ヘッドの位置決め制御で使用するサーボデータが記録されている複数のサーボセクタが周方向に一定の間隔で配置されているディスクと、前記ディスクを回転させるスピンドルモータと、前記スピンドルモータを駆動制御して、前記ディスクの回転速度を高速又は低速に切替える可変手段と、前記ヘッドを前記ディスク上の目標位置に位置決めするためのアクチュエータと、前記ヘッドにより前記ディスク上の全サーボセクタから読出されたサーボデータを再生し、メモリに格納するサーボデータ再生手段と、前記ヘッドを位置決めするために、前記アクチュエータを制御するサーボ制御を実行するサーボ制御手段とを具備し、前記サーボ制御手段は、前記可変手段により前記ディスクの回転速度が高速に切替えられた状態においては、前記メモリから取得した前記サーボデータを使用して前記サーボ制御を実行するときに、前記全サーボセクタに対応するサーボデータの中で、1サーボセクタ分のサーボデータの取得を間引き、2サーボセクタ毎に1回のサーボ制御動作を実行するように構成されている。
【発明の効果】
【0008】
本発明によれば、ディスクの回転数を可変する機能を有するディスクドライブにおいて、リード/ライト動作のためのゲートを管理する特別の構成を要することなく、ディスクの高速回転時にサーボ制御処理の占有率の低下と共に、十分なヘッド位置決め精度を必要に応じて確保できるサーボ制御を実現することができる。
【発明を実施するための最良の形態】
【0009】
以下図面を参照して、本発明の実施形態を説明する。
【0010】
[第1の実施形態]
図1は、本実施形態に関するディスクドライブの要部を示すブロック図である。
【0011】
ディスクドライブは、大別して、ヘッド・ディスクアセンブリ(HDA)1と、プリント回路基板(PCB)2とから構成されている。HDA1は、スピンドルモータ(SPM)11により回転されるディスク10と、アクチュエータ14に搭載されたヘッド12と、ヘッドアンプ15とを有する。
【0012】
SPM11は、後述するように、モータドライバ24を介してマイクロプロセッサ(CPU)21の制御により、高速または低速でディスク10を回転させる。アクチュエータ14は、ボイスコイルモータ(VCM)13により回転駆動し、ヘッド12をディスク10の半径方向に移動させる。ヘッド12は、スライダ上にリード素子とライト素子とがそれぞれ分離して実装されて、ディスク10に対するデータの書き込み(記録)又は読出し(再生)を実行する。ヘッドアンプ15は、ヘッド12のリード素子から出力されるリード信号(再生信号)を増幅してリード/ライトチャネル(R/Wチャネル)20に伝送する。また、ヘッドアンプ15は、リード/ライトチャネル20から出力されるライト信号に応じたライト電流をヘッド12のライト素子に供給する。
【0013】
PCB2は、リード/ライトチャネル20、CPU21、ハードディスクコントローラ(HDC)22、割込みコントローラ(ITR)23、及びモータドライバ24を実装している。なお、モータドライバ24以外の各回路20〜23は、ワンチップのLSIとして集積化されている構成でもよい。
【0014】
モータドライバ24は、CPU21の制御に基づいてSPM11及びVCM13を駆動制御するための電流を出力する。リード/ライトチャネル20は、サーボデータ及びユーザデータの記録及び再生に必要な信号処理を行なう信号処理ユニットである。リード/ライトチャネル20は、後述するように、ヘッド12から読出されたサーボデータを再生し、HDC22に出力する。
【0015】
HDC22は、ディスクドライブとホストシステム3とのインターフェースであり、ライトデータ及びリードデータの転送を制御する。また、HDC22は、リード/ライトチャネル20により再生されたサーボデータを保存するレジスタ30を有する。さらに、HDC22は、CPU21との間でデータやコマンドを伝送し、割込みコントローラ23を介してサーボ割込み要求を行なう。ホストシステム3は、パーソナルコンピュータやディジタル機器である。
【0016】
CPU21は、ディスクドライブのメインコントローラであり、ディスク10の回転速度の切替え制御、及びヘッド12をディスク10上の目標位置に位置決めするためのサーボ制御処理を実行する。CPU21は、ディスク10の回転速度を制御するための高速回転モード及び低速回転モードを示す情報や、HDC22のレジスタ30から読出したサーボデータを格納するメモリ31を有する。
【0017】
(サーボ制御動作)
以下、図2、図3、図5及び図6を参照して、本実施形態のサーボ制御動作を説明する。
【0018】
まず、図2のタイミングチャート及び図5のフローチャートを参照して、ディスクドライブの基本的サーボ制御動作を説明する。
【0019】
ディスクドライブでは、ディスク10上には、略放射状に設けられたサーボセクタが、周方向に一定間隔で複数セクタ分が配置されている。サーボセクタには、ヘッド12をディスク10上の目標位置(目標トラック位置)に位置決めするためのサーボデータが記録されている。サーボデータは、アドレス情報及びサーボバースト信号を含む。アドレス情報は、同心円状に配置される多数のトラックを識別するためのトラックアドレス及び各サーボセクタを識別するセクタアドレスを含む。サーボバースト信号は、各トラック範囲内のヘッド位置を検出するための位置情報を生成するための位置誤差信号(PES)である。
【0020】
ヘッド12は、回転するディスク10のサーボセクタからサーボデータを読出す。ヘッドアンプ15は、ヘッド12により読出されたサーボデータをリード/ライトチャネル20に出力する。リード/ライトチャネル20は、サーボデータを再生して、HDC22に出力する。HDC22は、再生されたサーボデータをレジスタ30に保存する。
【0021】
CPU21は、HDC22のレジスタ30からサーボデータを読出して、ヘッド12の位置情報(アドレス情報を含むサーボ情報)を算出し、アクチュエータ14のVCM13を駆動制御するための制御出力値(VCM指令)を生成する。CPU21は、生成した制御出力値をモータドライバ24に出力することにより、アクチュエータ14を駆動制御して、ヘッド12の位置を制御する。
【0022】
このようなサーボ制御動作は、ヘッド12がサーボセクタを通過する時点のみでサーボデータを取得するため、離散時間系サーボ処理に相当する。この場合、サーボ周期は、ヘッド12の直下をサーボセクタが通過する時間間隔で決定される。
【0023】
また、必要なヘッド12の位置決め精度を得る様に、ディスク10の1周当たりのサーボセクタのセクタ数が設計されている。ここで、ディスク10がSPM11により一定回転数で回転する場合には、制御周波数Fsは、ディスクの回転周波数Fr及びサーボセクタ数Ssから、「Fs=Fr×Ss」の式から求めることができる。
【0024】
以下、図2のタイミングチャート及び図5のフローチャートを参照して、ディスクドライブのサーボ制御処理の手順を説明する。
【0025】
まず、HDC22は、回転するディスク10のサーボセクタがヘッド12の直下を通過するタイミングで、リード/ライトチャネル20に対してサーボデータの検出要求を出力する。即ち、HDC22は、図2(A)に示すように、周期Tsのサーボゲートをリード/ライトチャネル20に出力する。
【0026】
リード/ライトチャネル20は、ヘッド12によりサーボセクタから読出されたサーボデータ(アドレス情報及び位置誤差信号を含む)を処理して再生する。HDC22は、リード/ライトチャネル20により再生されたサーボデータを取得して、レジスタ30に保存する(ブロック500)。
【0027】
HDC22は、リード/ライトチャネル20に対する検出要求と連動して、割込みコントローラ23を介して、図2(B)に示すように、CPU21に対してサーボ割り込み要求200を発生する。CPU21は、この割込み要求を受けると、サーボ割り込み処理ルーチンを起動して、一連のサーボ制御処理を開始する。
【0028】
即ち、CPU21は、HDC22のレジスタ30からサーボデータを読出してサーボ情報を生成して、メモリ31に格納する。即ち、CPU21は、ディスク10上での現在のヘッド位置を算出して、その位置情報を取得する(ブロック501)。CPU21は、ヘッド12を位置決めすべき要求位置(目標位置)と現在のヘッド位置との偏差情報を算出し、この偏差情報に基づいてヘッド12を要求位置に位置決めするための制御処理演算(1)を実行する(ブロック502)。
【0029】
CPU21は、制御処理演算(1)によりアクチュエータ14を駆動制御するための制御出力値(VCM出力値またはVCM出力指令値)を算出して、HDC22の制御出力用レジスタに設定する(ブロック503)。このVCM出力値の設定後に、CPU21は、前記の偏差情報に基づいて、2回目の制御処理演算(2)を実行する(ブロック504)。なお、図2(B)の時間TCALCは、CPU21の制御処理演算時間の合計を示す。
【0030】
HDC22は、適切なタイミングで制御出力用レジスタに設定されたVCM出力値に対応する電流を、モータドライバ24を介してVCM13に供給するように制御する。このような一連のサーボ制御処理が、制御周期Ts毎に繰返し実行されて、ヘッド12の適正な位置決め動作を実現している。
【0031】
ここで、ディスクドライブでは、図2(B)に示すように、サーボデータのサンプル点(サーボゲート)間に、複数のVCM出力値を設定するマルチレート出力220が採用されている。即ち、CPU21は、制御処理演算(1)により、複数のVCM出力値(ここでは2出力値とする)を生成し、HDC22の出力用レジスタに設定する。このとき、CPU21は、2つ目のVCM出力をモータドライバ24に送信するタイミングカウンタ値等も設定する。このタイミングカウンタ値が零になると、HDC22は、2つ目のVCM出力値をモータドライバ24に送信して、VCM13の励磁電流を切り替える。
【0032】
図2(B)に示すように、CPU21がサーボデータを入力するタイミング210から最初のVCM出力220までの時間Tdは、入出力遅延時間と呼ばれており、サーボ制御系の安定性限界を大きく左右する。この入出力遅延時間Tdが短時間であるほど、サーボ制御設計が容易になる。
【0033】
CPU21は、制御処理演算(1)により、取得したサーボデータを使わなければ計算不可能なサーボ制御処理のみを実行する。また、CPU21は、制御処理演算(2)により次回のサーボ制御演算に備えて、必要なサーボ制御演算の事前演算可能な箇所の計算を実行して、メモリ31に演算結果を保存する。具体的には、CPU21は、制御処理演算(2)により、例えば、SPM11の回転に同期した繰り返しランナウト(RRO : repeatable runout)の補償などのフィードフォワード制御量を算出する。
【0034】
次に、図3のタイミングチャート及び図6のフローチャートを参照して、本実施形態のサーボ制御動作の特徴を説明する。
【0035】
まず、本実施形態のディスクドライブは、ディスク10の回転速度(回転数)を可変する機能を有する。即ち、CPU21は、メモリ31に高速回転モードと低速回転モードとを切替えるための情報(フラグ)を保持し、この情報に応じてモータドライバ24を介してSPM11の回転速度を高速回転または低速回転に制御する。
【0036】
具体的には、消費電力を節約する低消費電力モードでは、CPU21は、ディスク10の回転速度が低速になるようにSPM11の回転速度を制御する。一方、CPU21は、データ転送速度の高速化などパフォーマンスを上げる場合に、ディスク10の回転速度が高速になるようにSPM11の回転速度を制御する。この場合、ディスク10の高速回転には、低速回転に対して相対的に高速な標準回転速度を含む。
【0037】
このようなディスク回転速度を可変するディスクドライブでは、低速回転時のドライブ性能を確保できるサーボ制御周波数Fsでは、高速回転時のサーボ制御周波数が回転速度比で増加し、特にCPU21のサーボ制御演算時間(ほぼ一定値TCALC)がそのサーボ制御周期内に収まらなくなり、正常動作しなくなる問題が発生する可能性が高い。即ち、ディスク10の高速回転時には、「TCALC>T」となって、CPU21が正常動作しなくなってしまう。また逆に、高速回転モードで、CPU21のサーボ制御演算時間以内となる最大のサーボセクタ数を決めると、低速回転モードでは、極端にサーボ制御周波数が低くなり、十分なドライブ性能を保証する制御設計が困難になる。
【0038】
そこで、本実施形態では、ディスク10の高速回転時に、CPU21は、サーボ情報の入力を間引くサーボ制御処理を実行する。以下、具体的に説明する。
【0039】
まず、本実施形態のディスクドライブの仕様としては、ディスク10の回転速度が、高速回転時と低速回転時とで2倍の速度差がある。ディスク10上には、低速回転時に必要なヘッド位置決め精度を確保できる最小サーボセクタ数のサーボセクタが配置されている。HDA1には、ダイナミック浮上高制御機能(DFH)が設けられており、高速と低速の2つの回転速度毎に最適なヘッド12の浮上高が確保される。
【0040】
また、サーボ制御時において、CPU21がサーボデータの入力210から最初のVCM出力220までのタイミングは、図2(B)に示すタイミング(入出力遅延時間Td)と同様である。CPU21は、高速回転モードと低速回転モードのいずれの場合でも、動作クロックが一定である。
【0041】
次に、本実施形態のディスクドライブでの高速回転モード切替時の処理手順を説明する。
【0042】
ディスクドライブでは、ホストシステム3から高速回転モード切替え要求が来ると、CPU21は、ディスク10上にあるヘッド12を一旦、ディスク10外に退避させて、メモリ31に高速回転モードのフラグをセットする。これに伴って、CPU21は、制御パラメータ等のアクセス先を高速回転モード用に切り替える。また、サーボセクタの通過周波数も回転速度比で増加するので、リード/ライト20チャネルでのサーボデータ検出のためのクロック周波数(FSFG)の設定等も切替える。このクロック切替えにより、サーボゲート等のゲートタイミングは、ディスク10に対して、ほぼ同じ通過タイミングで発生するようになる。
【0043】
更に、CPU21は、SPM11の回転速度を高速回転に変更する処理を実行する。CPU21はSPM11の回転整定後に、ヘッド12をディスク10上の退避前のトラック位置に移動させて、位置決め制御する。ここで、CPU21は、前述したダイナミック浮上高制御機能(DFH)により、ヘッド12のスライダが高速回転モードで最適な浮上高になるように制御する。
【0044】
次に、図3のタイミングチャート及び図6のフローチャートを参照して、CPU21によるサーボ制御処理の手順を説明する。
【0045】
CPU21は、割込みコントローラ23からサーボ割込みが来ると、メモリ31に高速回転モードのフラグがセットされているか否かを確認する(ブロック600)。CPU21は、低速回転モード時には、通常のサーボ制御処理を実行する(ブロック600のNO)。
【0046】
高速回転モード時には、CPU21は、サーボ割込みマスク処理を実行する(ブロック601)。具体的には、CPU21は、HDC22の制御に応じて、サーボ割込み要求をCPU21に出力する割込みコントローラ23の割込みマスクレジスタの設定を変更する。即ち、ヘッド12がディスク10上のサーボセクタを通過したときに、サーボ割込み要求がCPU21に出力されないようにする。この処理により、CPU21のサーボ制御処理の実行中に、次のサーボ割込み要求が発生することを防止できる。
【0047】
ここで、HDC22は、図3(A)に示すように、回転するディスク10のサーボセクタがヘッド12の直下を通過するタイミングで、リード/ライトチャネル20に対して周期TSVGのサーボゲートを出力する。このサーボゲートのタイミングに応じて、HDC22は、リード/ライトチャネル20により再生されたサーボデータを取得して、レジスタ30に保存する(ブロック602)。
【0048】
HDC22は、割込みコントローラ23を介して、図3(B)に示すように、CPU21に対してサーボ割り込み要求200を発生する。このとき、割込みコントローラ23は、割込みマスクレジスタの設定に応じて、次のサーボゲートのタイミングに応じたサーボ割り込み要求300をCPU21に出力しない。
【0049】
CPU21は、割込み要求200に応じて、HDC22のレジスタ30からサーボデータを読出してメモリ31に格納する。CPU21は、当該サーボデータを使用して、ディスク10上での現在のヘッド位置を求めるための位置情報(サーボ情報)を算出する(ブロック603)。
【0050】
この後、CPU21は、前述したように、ヘッド12を要求位置に位置決めするための制御処理演算(1)を実行する(ブロック604)。さらに、CPU21は、VCM出力値を算出して、HDC22の制御出力用レジスタに設定する(ブロック605)。このVCM出力値の設定後に、CPU21は、前述した2回目の制御処理演算(2)を実行する(ブロック606)。即ち、CPU21は、図3(B)に示すように、割込み要求200を受けてからサーボ制御処理を開始し、演算時間TCALC後に終了する。
【0051】
CPU21は、サーボ制御処理の終了直前に、割込みコントローラ23の割込みマスクレジスタの設定したサーボ割込みマスクを解除して元に戻す(ブロック607)。これにより、ヘッド12がディスク10上のサーボセクタを通過するときに、再び、サーボ割り込み要求200が発生することになる。なお、サーボ割込みマスクの解除は、サーボ制御処理の終了前であれば、必ずしも直前でなく、終了から任意の時間前でよい。
【0052】
以上のように、本実施形態では、ディスク10の回転速度が高速回転モードに設定されると、CPU21は、サーボ割込みマスクの設定及びその解除を伴うサーボ制御処理を実行する。ここで、図3(A)に示すように、サーボゲートの間隔周期TSVGは、ディスク10の高速回転に伴って、回転速度比がほぼ倍程度に短縮されている。一方、CPU21の動作クロックは一定であるため、サーボ制御処理の演算時間TCALCはほとんど変化しない。本実施形態では、サーボ割込みマスクが設定されるため、図3(B)に示すように、サーボ制御処理中でのサーボ割込み要求300は発生しない。従って、結果として奇数または偶数のサーボセクタが間引かれた様な状態となり、高速回転モード時に安定した制御周期「T=2×TSVG」のサーボ制御処理を実現することができる。即ち、高速回転モード時に、ディスクドライブに必要なヘッド12の位置決め制御が実現可能になる。
【0053】
なお、本実施形態では、前述した2つ目のVCM指令出力220のタイミングも、高速回転モードの切り替え時に制御パラメータの一つとして切り替え設定されているので、適切な時間間隔(Ts/2)を確保することができる。
【0054】
以上要するに、ディスク10を高速回転させる高速回転モード時には、サーボセクタを間引いて制御周期を長くして、十分なサーボ制御処理時間を確保したサーボ動作状態(T>TCALC)を実現している。これにより、CPU21の動作クロックを一定にした状態で、安定したサーボ制御、即ちヘッド12の位置決め制御を行なうことができる。このことは、サーボ制御での制御周波数の変化を抑制できるため、制御設計が容易になるメリットもある。
【0055】
更に、本実施形態では、図3(A)に示すように、高速回転モード時に、HDC22は、サーボゲートを間引きせずに生成する。従って、HDC22は、リード/ライトチャネル20から、ディスク10上の全てのサーボセクタのサーボ情報を取得して、レジスタ30に保存する。従って、CPU21は、発生しないサーボ割込み要求300に対応するサーボセクタのサーボデータを間引くことになるが、HDC22は、全てのサーボセクタのサーボデータを保存する。これにより、低速回転モードと高速回転モードとの2つの動作モードを有するディスクドライブにおいて、HDC22でサーボゲートの発生に関する設計は容易となる。
【0056】
尚、本実施形態は、CPU21がサーボデータを取得し、位置情報への変換処理をソフトウェアにより行なう方式である。この方式に限らず、HDC22側にサーボのハードウェア演算回路を備え、CPU21はハードウェア演算回路により処理された結果である位置情報をHDC22のレジスタから読出す方法でもよい。この場合、図6のフローチャートに示すブロック603の処理を省略することができる。
【0057】
さらに、本実施形態では、CPU21は、サーボ割込み開始時にサーボ割込みマスク処理を実行しているが、VCM出力220の設定直後に実行して、入出力遅延時間Tdを低減する構成でもよい。
【0058】
また、本実施形態では、2つ目のVCM指令出力220のタイミングとして時間間隔(Ts/2)が設定されている。これは一例であり、この時間間隔も制御設計パラメータであり、任意に設定することが可能である。
【0059】
[第2の実施形態]
図4のタイミングチャート及び図7のフローチャートは、第2の実施形態に関するサーボ制御動作を説明するための図である。なお、ディスクドライブの構成は、図1に示すものと同様のため、図1を参照して説明する。
【0060】
本実施形態は、高速回転モードの設定時に、第1の実施形態とは異なり、制御処理演算(1)〜(3)からなるMIMO(Multi Input Multi Output)制御演算を実行する構成である。
【0061】
本実施形態のディスクドライブの仕様は、基本的には第1の実施形態の場合と同様であり、CPU21の動作クロックは、高速回転モードと低速回転モードのいずれの場合でも同一である。但し、高速回転モードと低速回転モードの回転速度比は、例えば1.71倍程度である。
【0062】
本実施形態は、高速回転モード時に、ヘッド12の位置決め動作において、風乱と呼ぶ巨大な外乱力が作用した場合でも、要求されるヘッド位置決め精度の達成を可能とする構成である。即ち、当該外乱力が作用した場合に、間引きサーボした制御周期で、第1の実施形態に示すSIMO(Single Input Multi Output)制御演算方法では、制御パラメータを調整するだけでは、要求されるヘッド位置決め精度の達成が困難である。そこで、本実施形態は、後述するMIMO制御演算方法を採用し、高速回転モード時に、間引きサーボした制御周期で、十分なヘッド位置決め精度を実現する。
【0063】
以下、図4と図7を参照して、本実施形態のサーボ制御動作を具体的に説明する。
【0064】
ディスクドライブでは、ホストシステム3から高速回転モード切替え要求が来ると、CPU21は、ディスク10上にあるヘッド12を一旦、ディスク10外に退避させて、メモリ31に高速回転モードのフラグをセットする。CPU21は、当該フラグに基づいて、高速回転モード時には、後述するMIMO型制御演算方法を選択し、低速回転モード時とは異なるフィードバック制御処理のサーボ制御を実行する。
【0065】
また、本実施形態では、サーボ制御処理時の制御パラメータは変数設定ではなく、2つの制御演算方法で異なる定数コードとして埋め込まれた制御構成を取っている。さらに、サーボセクタの信号通過周波数も回転速度比で増加するので、リード/ライトチャネル20でのサーボデータ検出のためのクロック周波数(FSFG)の設定等も切替える。このクロック切替えにより、サーボゲート等のゲートタイミングは、ディスク10に対して、ほぼ同じ通過タイミングで発生するようになる。これと同時に、CPU21は、SPM11の回転速度変更処理を実行して、SPM11の回転整定後に、ヘッド12を退避前のディスク10上のトラック位置に移動して位置決め制御する。また、CPU21は、前述したダイナミック浮上高制御機能(DFH)により、ヘッド12のスライダが高速回転モードで最適な浮上高になるように制御する。
【0066】
次に、図4のタイミングチャート及び図7のフローチャートを参照して、CPU21による高速回転モード時のサーボ制御処理の手順を説明する。
【0067】
CPU21は、割込みコントローラ23からサーボ割込みが来ると、メモリ31に高速回転モードのフラグがセットされているか否かを確認する(ブロック700)。CPU21は、低速回転モード時には、通常のサーボ制御処理を実行する(ブロック700のNO)。
【0068】
高速回転モード時には、CPU21は、サーボ割込みマスク処理を実行する(ブロック701)。具体的には、CPU21は、HDC22の制御に応じて、サーボ割込み要求をCPU21に出力する割込みコントローラ23の割込みマスクレジスタの設定を変更する。即ち、ヘッド12がディスク10上のサーボセクタを通過したときに、サーボ割込み要求がCPU21に出力されないようにする。この処理により、CPU21のサーボ制御処理の実行中に、次のサーボ割込み要求が発生することを防止できる。
【0069】
ここで、HDC22は、図4(A)に示すように、前述の第1の実施形態の場合と同様に、回転するディスク10のサーボセクタがヘッド12の直下を通過するタイミングで、リード/ライトチャネル20に対して周期TSVGのサーボゲートを出力する。このサーボゲートのタイミングに応じて、HDC22は、リード/ライトチャネル20により再生されたサーボデータを取得して、レジスタ30に保存する(ブロック702)。
【0070】
HDC22は、割込みコントローラ23を介して、図4(B)に示すように、CPU21に対してサーボ割り込み要求200を発生する。このとき、割込みコントローラ23は、割込みマスクレジスタの設定に応じて、次のサーボゲートのタイミングに応じたサーボ割り込み要求300をCPU21に出力しない。CPU21は、割込み要求200に応じて、HDC22のレジスタ30からサーボデータを読出してメモリ31に格納する。CPU21は、当該サーボデータを使用して、ディスク10上での現在のヘッド位置を求めるための位置情報(サーボ情報)を算出する(ブロック703)。
【0071】
この後、CPU21は、高速回転モードのフラグがセットされている場合には、ヘッド12を要求位置に位置決めするための制御処理演算として、低速回転モードとは異なるMIMO型制御処理演算を実行する(ブロック704〜709)。MIMO型制御処理演算とは、現サーボセクタと直前の間引かれたサーボセクタの2つの位置情報を入力として、現セクタと次回に間引かれるサーボセクタの2つのVCM出力値を生成する2入力(210,410)・2出力(220)の演算方法である。
【0072】
なお、本実施形態では、2入力2出力処理で出力演算するMIMO制御演算方式が採用されているが、出力が1回の2入力1出力のMISO(Multi Input Single Output)制御演算方式でもよい。
【0073】
即ち、CPU21は、基本的に入出力遅延時間Tdを考慮したMIMO制御処理演算を実行することで、現サーボセクタに対応するVCM出力値220と、出力停止の割り込み300で次回に間引かれるサーボセクタに対応するVCM出力値220の2つのVCM出力値を演算生成する。MIMO型制御処理演算は、制御処理演算(1)〜(3)の3つのステップで構成されている。制御処理演算(1)は、現サーボセクタから取得される位置情報を使用しなければ演算が困難な制御演算のみを実行する(ブロック704)。
【0074】
CPU21は、算出したVCM出力値220を、HDC22の制御出力用レジスタに設定する(ブロック705)。このVCM出力値の設定後に、CPU21は、前述した2回目の制御処理演算(2)を実行する(ブロック706)。この制御処理演算(2)では、次回のVCM出力値を算出するために、事前に演算可能なフィードフォワード制御指令量の演算やモード判定、MIMO制御演算の演算可能な箇所の前処理等が実行される。
【0075】
本実施形態では、MIMO制御演算以外のサーボ制御処理は、低速回転モード時と同じ制御処理を適用しているので、高速回転モードのフラグにより分岐する箇所は、MIMO制御演算の前処理のみで、後は共通の演算を実行している。
【0076】
更に、CPU21は、次回のMIMO制御演算に備えて、この演算時にサーボ演算を間引かれたサーボセクタのサーボデータをHDC22のレジスタ30から読出してメモリ31に格納する(ブロック707)。即ち、HDC22は、間引かれるサーボセクタのサーボデータもレジスタ30に保存している。CPU21は、当該サーボデータを図4(B)に示すタイミング410で入力し、ディスク10上でのヘッド位置を求めるための位置情報(サーボ情報)を算出する(ブロック708)。
【0077】
次に、CPU21は、算出した位置情報を使用して、MIMO制御処理演算に含まれる制御処理演算(3)を実行する(ブロック709)。CPU21は、算出したVCM出力値220を、HDC22の制御出力用レジスタに設定する。CPU21は、サーボ制御処理の終了直前に、割込みコントローラ23の割込みマスクレジスタの設定したサーボ割込みマスクを解除して元に戻す(ブロック710)。これにより、ヘッド12がディスク10上のサーボセクタを通過するときに、再び、サーボ割り込み要求200が発生することになる。なお、サーボ割込みマスクの解除は、サーボ制御処理の終了前であれば、必ずしも直前でなく、終了から任意の時間前でよい。
【0078】
以上のように本実施形態によれば、高速回転モード時に、MIMO型制御演算方法によるサーボ制御処理を実行することにより、制御処理演算(3)の実行時に、間引かれるサーボセクタに対応する位置情報を使用した制御演算を行なうことができる。このようなサーボ制御処理であれば、前述の第1の実施形態の方法と比較して、間引きサーボセクタから取得されたサーボデータを有効に利用して、サンプル点間のヘッド位置決め制御を行なうことができるため、ヘッド位置決め精度を大幅に向上させることが可能となる。
【0079】
特に、ディスク10の高速回転の起因とする外乱の影響が大きく、間引きサーボ相当の制御周波数であっても、必要なヘッド位置決め精度を達成することが可能になる。従って、複数のディスク回転速度モードを備えるディスクドライブにおいて、回転速度を大きく変える回転動作モードでも、サーボセクタを間引いて制御周期を減らすことで安定な制御動作を実現できると共に、必要なヘッド位置決め精度を確保できる。
【0080】
また、高速回転モードのサンプリング周波数が大きく変化することがなくなり、制御設計が容易になるメリットもある。さらに、MIMO制御演算方法を採用することにより、高速回転時のヘッド位置決め精度を向上できるため、高速回転モードとしてかなり高い回転数を設定した複数のディスク回転速度モードのディスクドライブを提供可能になる。
【0081】
なお、本実施形態では、MIMO制御演算方法を採用することにより、CPU21の動作クロックは一定であるが、演算量が増加する。即ち、図4(B)に示すように、CPU21の演算時間TCALCは、低速回転モード時よりも長くなる。また、入出力遅延時間Tdも低速回転モード時よりも長くなる。
【0082】
CPU21の制御演算時間TCALCの増加が大きいと、制御演算時間と制御周期Tとがほぼ同じ時間になるが、演算負荷の大きい箇所はRRO抑圧補償等のフィードフォワード制御演算等の処理なので、MIMO制御処理による演算負荷増は小さい。従って、十分なマージンを持って、「T>TCALC」の関係を実現できる。
【0083】
要するに、本実施形態のMIMO制御演算方法を採用すると、間引かれたサーボセクタのサーボデータを活用できるため、単に間引きサーボを採用したSIMO制御演算方法よりも、大幅なヘッド位置決め精度の改善を図ることができる。前述したように、間引かれるサーボセクタからのサーボデータは、図4(B)に示す入力タイミング410で取得することができる。HDC22は、間引かれるサーボセクタに対してもサーボゲートを開くので、当該サーボセクタから読出されたサーボデータを取得して、レジスタ30に保存している。即ち、図4(B)に示す入力タイミング410であれば、ヘッド12は間引きサーボセクタを通過しても、HDC22は、そのサーボデータをリード/ライト20から取得してレジスタ30に設定し終わっている。従って、最初のサーボ割込み200からは、本来は未来値にあたる間引きサーボセクタのサーボデータを入手して、制御処理演算(3)により使用することができる。
【0084】
また、本実施形態では、制御処理演算(3)にて、間引かれるサーボセクタの位置情報を使う演算を、次回の制御処理の前処理として事前演算して入出力遅延時間Tdが最小となるようにしている。しかし、制御処理演算(3)はあまり演算負荷が大きくないので、制御処理演算(3)を制御処理演算(1)に含めて、制御処理演算(3)を実行しない処理構成でもよい。
【0085】
更に、本実施形態では、サーボ制御においてトラッキング制御とシーク制御のいずれにもMIMO制御演算を適用する構成であるが、シーク制御時はSIMO制御演算を行なう構成でもよい。これは、トラッキング制御時でのヘッド位置決め精度の不足を解消する対策として、MIMO制御演算方法が有効であるためである。シーク制御に関しては、単なる間引きサーボ方法を採用しても問題ないと予想される。なお、シーク制御とトラッキング制御の切替え時に入出力遅延時間が変化する問題はあるが、演算負荷が小さく、シーク調整も容易な利点もあるので、シーク制御時はSIMO制御演算方法が有効である。
【0086】
(変形例)
第1及び第2の実施形態の適用分野として、ディスクドライブの製造工程において、製品出荷前の検査工程がある。検査工程では、ディスクドライブに組み込まれたディスク10を仕様回転数よりも高速回転数で回転させて、ドライブの欠陥検出を行なう工程が必要である。ディスクを高速回転数で回転させることにより、検査時間の短縮化を図ることができる。この場合、第1及び第2の実施形態での高速回転モードでのサーボ制御処理を実行することにより、ヘッド12のサーボ制御を高速かつ確実に行なうことが可能となる。従って、第1及び第2の実施形態は、製品としてのディスクドライブだけでなく、ディスクドライブの製造工程において、特に、検査時間の短縮化が要求される製品出荷前の検査工程への適用が有効である。
【0087】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0088】
【図1】本発明に関するディスクドライブの要部を示すブロック図。
【図2】基本的サーボ制御動作を説明するためのタイミングチャート。
【図3】第1の実施形態に関するサーボ制御動作を説明するためのタイミングチャート。
【図4】第2の実施形態に関するサーボ制御動作を説明するためのタイミングチャート。
【図5】基本的サーボ制御動作を説明するためのフローチャート。
【図6】第1の実施形態に関するサーボ制御動作を説明するためのフローチャート。
【図7】第2の実施形態に関するサーボ制御動作を説明するためのフローチャート。
【符号の説明】
【0089】
1…ヘッド・ディスクアセンブリ(HDA)、2…プリント回路基板(PCB)、
10…ディスク、11…スピンドルモータ(SPM)、12…ヘッド、
13…ボイスコイルモータ(VCM)、14…アクチュエータ、15…ヘッドアンプ、
20…リード/ライトチャネル、21…マイクロプロセッサ(CPU)、
22…ハードディスクコントローラ(HDC)、23…割込みコントローラ、
24…モータドライバ、30…レジスタ、31…メモリ。

【特許請求の範囲】
【請求項1】
データを書き込みまたは読出すためのヘッドと、
前記ヘッドにより書き込まれるデータを記録する媒体であり、前記ヘッドの位置決め制御で使用するサーボデータが記録されている複数のサーボセクタが周方向に一定の間隔で配置されているディスクと、
前記ディスクを回転させるスピンドルモータと、
前記スピンドルモータを駆動制御して、前記ディスクの回転速度を高速又は低速に切替える可変手段と、
前記ヘッドを前記ディスク上の目標位置に位置決めするためのアクチュエータと、
前記ヘッドにより前記ディスク上の全サーボセクタから読出されたサーボデータを再生し、メモリに格納するサーボデータ再生手段と、
前記ヘッドを位置決めするために、前記アクチュエータを制御するサーボ制御を実行するサーボ制御手段とを具備し、
前記サーボ制御手段は、
前記可変手段により前記ディスクの回転速度が高速に切替えられた状態においては、前記メモリから取得した前記サーボデータを使用して前記サーボ制御を実行するときに、前記全サーボセクタに対応するサーボデータの中で、1サーボセクタ分のサーボデータの取得を間引き、2サーボセクタ毎に1回のサーボ制御動作を実行するように構成されていることを特徴とするディスク記憶装置。
【請求項2】
前記サーボデータ再生手段は、前記ヘッドにより前記各サーボセクタからサーボデータを読出すタイミングを示すサーボゲートを生成し、前記サーボゲートに基づいて再生されたサーボデータを前記メモリに格納するディスクコントローラを含み、
前記ディスクコントローラの制御に応じて、前記サーボ制御手段に前記サーボ制御の割込み要求を出力する割込みコントローラを有し、
前記割込みコントローラは、前記可変手段によりディスクの回転速度が高速に切替えられたときに、割込み要求の出力を間欠的に制限することを特徴とする請求項1に記載のディスク記憶装置。
【請求項3】
前記サーボ制御手段は、
前記可変手段により前記ディスクの回転速度が高速に切替えられた状態で、前記割込みコントローラから割込み要求を受け付けた後で、次の割込み要求の発生を阻止するための割込みマスクを前記割込みコントローラに設定し、当該割込み要求に対応する前記サーボ制御の処理終了前までに前記割込みマスクを解除する手段を含むことを特徴とする請求項2に記載のディスク記憶装置。
【請求項4】
前記サーボ制御手段は、
一定のサーボ制御周期で前記アクチュエータを駆動制御するための制御出力値を算出するマルチレート出力を行なう演算を実行する手段を有し、
前記割込みコントローラから割込み要求の入力に応じて前記サーボ制御を開始し、
前記割込みマスクを前記割込みコントローラに設定し、
前記割込み要求に応じた前記サーボ制御を終了するまでの間に前記割込みマスクを解除する構成であることを特徴とする請求項3に記載のディスク記憶装置。
【請求項5】
前記可変手段は、外部からの指示に応じて前記ディスクの回転速度を高速にする高速回転モードまたは低速にする低速回転モードのいずれかを指示するフラグ情報を保持する手段を含み、
前記サーボ制御手段は、前記フラグ情報に基づいて、前記高速回転モードが設定されている場合には前記間引く処理を含むサーボ制御を実行し、前記低速回転モードが設定されている場合には前記間引く処理を含まない通常のサーボ制御を実行するように構成されていることを特徴とする請求項1から請求項4のいずれか1項に記載のディスク記憶装置。
【請求項6】
データを書き込みまたは読出すためのヘッドと、
前記ヘッドにより書き込まれるデータを記録する媒体であり、前記ヘッドの位置決め制御で使用するサーボデータが記録されている複数のサーボセクタが周方向に一定の間隔で配置されているディスクと、
前記ディスクを回転させるスピンドルモータと、
前記スピンドルモータを駆動制御して、前記ディスクの回転速度を高速又は低速に切替える可変手段と、
前記ヘッドを前記ディスク上の目標位置に位置決めするためのアクチュエータと、
前記ヘッドにより前記ディスク上の全サーボセクタから読出されたサーボデータを再生し、メモリに格納するサーボデータ再生手段と、
前記アクチュエータを制御するサーボ制御の割込み要求を出力する割込みコントローラと、
前記可変手段により前記ディスクの回転速度が高速に切替えられた状態において、前記割込みコントローラから割込み要求を受け付けた後で、次の割込み要求の発生を阻止するための割込みマスクを前記割込みコントローラに設定する手段と、
前記割込み要求に応じて、前記メモリから読出したサーボデータを使用して、前記アクチュエータを制御するための制御出力値を算出する前記サーボ制御を実行するサーボ制御手段とを有し、
前記サーボ制御手段は、
以前の割込み要求時のサーボ制御時に前記メモリから取得した第1のサーボデータ及び今回の割込み要求時点で前記メモリから取得した第2のサーボデータを使用して、前記制御出力値を算出するための演算を実行し、
前記割込み要求の発生から、少なくとも1サーボセクタ分のサーボデータを再生するための時間が経過した後に、前記割込みマスクの設定により発生を阻止された割込み要求に対応するサーボセクタから再生されたサーボデータを前記メモリから取得して、次の割込み要求に備える演算を実行する構成であることを特徴とするディスク記憶装置。
【請求項7】
前記サーボ制御手段は、
前記第1のサーボデータ及び前記第2のサーボデータを使用して、前記制御出力値として第1の制御出力値及び第2の制御出力値を算出する2入力2出力の制御演算処理を実行する手段と、
前記アクチュエータを制御するために、前記第1の制御出力値を出力した後で、ほぼ1サーボセクタ分のサーボデータを再生するための時間が経過した後に前記第2の制御出力値を出力するように設定する手段と
を含むことを特徴とする請求項6に記載のディスク記憶装置。
【請求項8】
前記可変手段は、外部からの指示に応じて前記ディスクの回転速度を高速にする高速回転モードまたは低速にする低速回転モードのいずれかを指示するフラグ情報を保持する手段を含み、
前記サーボ制御手段は、前記フラグ情報に基づいて前記高速回転モードが設定されている場合には、前記制御出力値を算出するための演算または前記2入力2出力の制御演算処理を実行するように構成されていることを特徴とする請求項6又は請求項7のいずれか1項に記載のディスク記憶装置。
【請求項9】
データを書き込みまたは読出すためのヘッドと、前記ヘッドにより書き込まれるデータを記録する媒体であり、前記ヘッドの位置決め制御で使用するサーボデータが記録されている複数のサーボセクタが周方向に一定の間隔で配置されているディスクと、前記ディスクを回転させるスピンドルモータと、前記ヘッドを前記ディスク上の目標位置に位置決めするためのアクチュエータとを有するディスク記憶装置に適用するサーボ制御方法であって、
外部からの指示に応じて、前記ディスクの回転速度を高速にする高速回転モードまたは低速にする低速回転モードのいずれかを指示する処理と、
前記ヘッドにより前記ディスク上の全サーボセクタから読出されたサーボデータを再生し、メモリに格納する処理と、
前記ヘッドを位置決めするために、前記アクチュエータを制御するサーボ制御を実行するサーボ制御処理において、前記ディスクの回転速度が高速に切替えられた状態においては、前記メモリから取得した前記サーボデータを使用して前記サーボ制御を実行するときに、前記全サーボセクタに対応するサーボデータの中で、1サーボセクタ分のサーボデータの取得を間引き、2サーボセクタ毎に1回のサーボ制御動作を実行する処理と
を実行することを特徴とするサーボ制御方法。
【請求項10】
データを書き込みまたは読出すためのヘッドと、前記ヘッドにより書き込まれるデータを記録する媒体であり、前記ヘッドの位置決め制御で使用するサーボデータが記録されている複数のサーボセクタが周方向に一定の間隔で配置されているディスクと、前記ディスクを回転させるスピンドルモータと、前記アクチュエータを制御するサーボ制御の割込み要求を出力する割込みコントローラとを有するディスク記憶装置に適用するサーボ制御方法であって、
外部からの指示に応じて、前記ディスクの回転速度を高速にする高速回転モードまたは低速にする低速回転モードのいずれかを指示する処理と、
前記ヘッドにより前記ディスク上の全サーボセクタから読出されたサーボデータを再生し、メモリに格納する処理と、
前記ディスクの回転速度が高速回転モードに切替えられた状態において、前記割込みコントローラから割込み要求を受け付けた後で、次の割込み要求の発生を阻止するための割込みマスクを前記割込みコントローラに設定する処理と、
前記割込みコントローラからの前記割込み要求に応じて、前記メモリから読出したサーボデータを使用して前記アクチュエータを制御するための制御出力値を算出するサーボ制御を実行するサーボ制御処理とを有し、
前記サーボ制御処理は、
以前の割込み要求時のサーボ制御時に前記メモリから取得した第1のサーボデータ及び今回の割込み要求時点で前記メモリから取得した第2のサーボデータを使用して、前記制御出力値を算出するための演算を実行する処理と、
前記割込み要求の発生から、少なくとも1サーボセクタ分のサーボデータを再生するための時間が経過した後に、前記割込みマスクの設定により発生を阻止された割込み要求に対応するサーボセクタから再生されたサーボデータを前記メモリから取得して、次の割込み要求に備える演算を実行する処理と
を含むことを特徴とするサーボ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−217917(P2009−217917A)
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2008−62939(P2008−62939)
【出願日】平成20年3月12日(2008.3.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】