説明

ディスク装置及び同装置における多相多極モータ起動失敗検出方法

【課題】多相多極モータの加速状況を高精度にチェックすることにより、当該多相多極モータの起動失敗を速やかに且つ確実に検出できるようにする。
【解決手段】逆起検出器160は、SPM13の回転に応じて当該SPM13の各相各極のコイルに発生する逆起電力を2値化することによって、パルス列からなる逆起検出信号161を生成する。時間カウンタ191は、逆起検出信号161に含まれるパルス列に基づき、同一相同一極に対応するパルス間の時間間隔を計測する。CPU19は、SPM13の起動時に、時間カウンタ191によって計測された時間間隔を当該時間間隔に先行して時間カウンタ191によって計測された時間間隔と比較することにより、SPM13が正常に加速されない起動失敗を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多相多極モータによってディスクが高速に回転されるディスク装置に係り、特に多相多極モータの起動失敗を高精度に検出するのに好適なディスク装置及び同装置における多相多極モータ起動失敗検出方法に関する。
【背景技術】
【0002】
一般に、磁気ディスクドライブのようなディスク装置では、記録媒体であるディスクは高速に回転される必要がある。このディスクの回転には、相の異なる複数のコイルを備えた多相多極モータが用いられる。この多相多極モータは、スピンドルモータと呼ばれる。代表的なスピンドルモータとして、3相12極のスピンドルモータが知られている。3相12極のスピンドルモータの3つの相は、一般に、U相、V相及びW相と呼ばれる。
【0003】
スピンドルモータは、モータドライバから電流が供給されることによって駆動される。つまりモータドライバは、スピンドルモータの相を一定順序で切り替えながら、各相のコイルに順次電流を供給する。更に具体的に述べるならば、モータドライバは、U相の1番目の極のコイル、V相の1番目の極のコイル、W相の1番目の極のコイル、U相の2番目の極のコイル、V相の2番目の極のコイル、W相の2番目の極のコイル、U相の3番目の極のコイル、…、U相の15番目の極のコイル、V相の15番目の極のコイル、W相の15番目の極のコイル、U相の1番目の極のコイル…のように、電流が供給されるべきコイルを一定順序で切り替えながら、各相(各相各極)のコイルに順次電流を供給する。これによりスピンドルモータが駆動される。
【0004】
スピンドルモータが駆動(回転)されると、各相のコイルには、当該スピンドルモータの回転速度に対応した逆起電力が発生する。モータドライバの逆起検出器は、スピンドルモータへの電流供給に応じて各相のコイルに発生する逆起電力(逆起電圧)に基づき、当該スピンドルモータの回転速度に対応する周波数のパルス列からなる逆起検出信号を生成する。3相12極のスピンドルモータの場合、1回転につき、36個のパルスが生成される。逆起検出信号における隣接するパルスの時間間隔、つまりパルス間時間間隔(によって示される逆起検出信号の周波数)は、スピンドルモータの回転速度を表す。
【0005】
そこで従来のディスク装置では、当該ディスク装置の主コントローラは、モータドライバによって生成される逆起検出信号におけるパルス間時間間隔をサンプリングすることにより、スピンドルモータの回転速度を検出する。これにより主コントローラは、スピンドルモータの起動開始時から一定時間が時間が経過しても、当該スピンドルモータが予め定められた第1の回転速度まで到達しないような、スピンドルモータの起動失敗を検出することができる。この第1の回転速度は、スピンドルモータの目標回転速度である第2の回転速度よりも低い値に設定される。
【0006】
このような、スピンドルモータの各相のコイルに発生する逆起電力に基づいて逆起検出信号を生成し、当該生成された逆起検出信号に基づいてスピンドルモータの回転速度を検出する技術は、例えば特許文献1にも記載されている。特許文献1に記載の技術では、パルス間時間間隔をカウントする代わりに、一定時間毎のパルス数がカウントされ、この一定時間毎のパルス数から、スピンドルモータの回転速度が検出される。
【特許文献1】特開平9−306093号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
上述のように従来技術では、スピンドルモータ(多相多極モータ)の各相のコイルに発生する逆起電力に基づいて逆起検出信号が生成され、当該生成された逆起検出信号におけるパルス間時間間隔、または一定時間毎のパルス数に基づいて、スピンドルモータの回転速度が検出される。この検出された回転速度から、スピンドルモータが第1の回転速度に到達したかがチェックされる。
【0008】
しかし、スピンドルモータが正常に回転していない場合、例えば正常に加速されていない場合、当該スピンドルモータの起動開始から長時間が経過しても第1の回転速度に到達しないおそれがある。例えば、スピンドルモータ起動のリトライ処理を開始するための1つの条件である逆起電力検出回数の上限回数に到達しても、第1の回転速度に到達しない場合があり得る。一般に、スピンドルモータの起動は、ディスク装置を利用するホスト装置からの指示により開始される。このため、逆起電力検出回数の上限回数に到達しても第1の回転速度に到達しない場合、上述のリトライ処理の途中で、またはリトライ処理が行われることなく、ホスト装置においてタイムアウトが発生するおそれがある。
【0009】
本発明は上記事情を考慮してなされたものでその目的は、多相多極モータの加速状況を高精度にチェックすることにより、当該多相多極モータの起動失敗を速やかに且つ確実に検出できるディスク装置及び同装置における多相多極モータ起動失敗検出方法を提供することにある。
【課題を解決するための手段】
【0010】
本発明の1つの態様によれば、ディスクを回転させる多相多極モータを備えたディスク装置が提供される。このディスク装置は、前記多相多極モータの起動時に、当該モータの回転に応じて当該モータの各相各極のコイルに発生する逆起電力を2値化することによって、パルス列からなる逆起検出信号を生成する逆起検出器と、前記逆起検出信号に含まれるパルス列に基づき、同一相同一極に対応するパルス相互の時間間隔を計測する時間計測手段と、前記時間計測手段によって計測された時間を当該時間に先行して前記時間計測手段によって計測された時間と比較することにより、前記多相多極モータが正常に加速されない起動失敗を検出する加速状況検出手段とを具備することを特徴とする。
【発明の効果】
【0011】
本発明によれば、多相多極モータの回転に応じて当該モータの各相各極のコイルに発生する逆起電力を2値化することによって生成される逆起検出信号に含まれているパルスから、同一相同一極に対応したパルス間の時間間隔が計測され、その計測された時間間隔に基づき、当該モータの加速状況がチェックされて、当該モータが正常に加速されない起動失敗が検出される。このため、多相多極モータの回転速度を同一相同一極でない別の相でのパルス間の時間間隔に基づいてチェックする場合に比べて、当該モータの起動失敗を速やかに検出できる。しかも本発明においては、多相多極モータの同一相同一極に対応したパルス間の時間間隔に基づいて当該モータの加速状況がチェックされるため、極の違いによるトルクのばらつきの影響が取り除かれて、当該モータの起動失敗を高精度に検出できる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る磁気ディスクドライブの構成を示すブロック図である。磁気ディスクドライブ(以下、HDDと称する)において、ディスク(磁気ディスク)11上には、ヘッド(磁気ヘッド)12が配置されている。ディスク11は、スピンドルモータ(SPM)13によって高速に回転される。SPM13は、多相多極モータ、例えば3相12極モータである。
【0013】
ヘッド12は、アクチュエータ(キャリッジ)14によって、ディスク11の半径方向に移動可能なように支持されている。アクチュエータ14は、当該アクチュエータ14の駆動力を発生するボイスコイルモータ(VCM)15を含む。図1の構成では、単一枚のディスク11を備えたHDDを想定している。しかし、ディスク11が複数枚積層配置されたHDDであっても構わない。
【0014】
SPM13及びVCM15は、モータドライバIC16からの制御出力に応じて駆動される。このモータドライバIC16からの制御出力は電流である。モータドライバIC16は、IC化された単一チップのモータドライバ回路であり、後述するCPU19の制御に基づきSPM13及びVCM15を駆動するための電流を当該SPM13及びVCM15に供給する。更に具体的に述べるならば、モータドライバIC16は、SPM13の相を一定順序で切り替えながら、各相(各相各極)のコイルに順次電流を供給する。
【0015】
モータドライバIC16は逆起検出器160を含む。逆起検出器160は、SPM13の回転に応じて当該モータの各相各極のコイルに発生する逆起電力を2値化することによって、パルス列からなる逆起検出信号161を生成する。
【0016】
ヘッド12はヘッドIC17と接続されている。ヘッドIC17は、ヘッド12により読み出された信号(リード信号)を増幅する。ヘッドIC17は、後述するリード/ライトIC18から転送されるライトデータをライト電流に変換してヘッド12に出力する。
【0017】
ヘッドIC17は、リード/ライトIC18と接続されている。リード/ライトIC18は、リード/ライトに関連する信号処理を行う信号処理デバイスである。
【0018】
モータドライバIC16及びリード/ライトIC18は、CPU19と接続されている。CPU19は、ROMのような不揮発性メモリ(図示せず)に格納されているファームプログラムを実行することにより、モータドライバIC16及びリード/ライトIC18を含むHDD内の各部を制御する主コントローラとして動作する。CPU19は、時間カウンタ191、監視ループカウンタ192及び加速監視カウンタ193を有する。CPU19はまた、レジスタr1及びr2を有する。これらカウンタ191〜193並びにレジスタr1及びr2とCPU19との関係については後述する。
【0019】
次に、図1に示すHDDの動作について、CPU(主コントローラ)19によって実行される、SPM13を起動するためのSPM起動処理を例に、図2及び図3のフローチャートを参照して説明する。
今、図1のHDDを利用するホスト装置からの指示を受けて当該HDD内のCPU19がSPM起動処理を開始するものとする。CPU19は、まずモータドライバIC16を初期化する(ステップS1)。そしてCPU19は、モータドライバIC16を介してソフトウェア(SW)モードによりSPM13を起動するための動作を開始する(ステップS2)。SWモードとは、SPM13の起動が開始される、ある一定期間、CPU19によるオープンループ制御により、当該SPM13の状態に無関係にモータドライバIC16を介してSPM13を駆動するためのモードをいう。本実施形態においてSWモードでSPM13の起動が開始される理由は、当該SPM13の回転速度があるレベルに到達するまでは、当該SPM13の各相各極のコイルに逆起電力が発生しないためである。なお、CPU19によるオープンループ制御をモータドライバIC16に行わせることも可能である。
【0020】
CPU19は、SWモードでSPM13の起動を開始してから一定期間が経過すると、当該SWモードからハードウェア(HW)モードに切り換える(ステップS3)。ここでは、上記一定期間として、SPM13の回転速度が数百rpm(例えば200〜300rpm)に到達するのに必要な期間が設定されている。HWモードでは、SPM13の各相各極のコイルに発生する逆起電力に基づき、当該SPM13が目標回転速度で回転されるように、モータドライバIC16によって当該SPM13が制御される。
【0021】
本実施形態においてSPM13は、3相12極モータであり、総極数は36である。3相がU相、V相、W相であるものとすると、モータドライバIC16は、U相の1番目の極のコイル、V相の1番目の極のコイル、W相の1番目の極のコイル、U相の2番目の極のコイル、V相の2番目の極のコイル、W相の2番目の極のコイル、U相の3番目の極のコイル、…、U相の15番目の極のコイル、V相の15番目の極のコイル、W相の15番目の極のコイル、U相の1番目の極のコイル…のように、電流が供給されるべきコイルを一定順序で切り替えながら、各相各極のコイルに順次電流を供給する。
【0022】
モータドライバIC16内の逆起検出器160は、SPM13の回転に応じて当該モータの各相各極のコイルに発生する逆起電力を2値化することによって、パルス列からなる逆起検出信号161を生成する。3相12極のSPM13の場合、つまり総極数が36のSPM13の場合、当該SPM13の1回転につき、36個の極に対応(同期)した36個のパルスが生成される。逆起検出信号161に含まれているパルス列のうち、互いに隣接するパルス間の時間間隔(パルス間時間間隔)は、SPM13の回転速度が高速になるほど短くなる。つまり、パルス間時間間隔は、SPM13の回転速度を表す。
【0023】
CPU19は上記ステップS3の後、監視ループカウンタ192を初期化(カウント値=0に初期化)する(ステップS4)。次にCPU19は、レジスタr1及びr2を初期化する(ステップS5)。レジスタr1及びr2は、時間カウンタ191のカウント値を保持するのに用いられる。時間カウンタ191は、例えばHWモードの期間、逆起検出信号161に含まれているパルス列のうち、隣接するパルスの時間間隔(パルス間時間間隔)を、所定の周期のクロック信号に同期してカウントする。
【0024】
時間カウンタ191のカウント値は、SPM13の回転速度を表す回転速度情報である。したがって、時間カウンタ191のカウント値(の示す回転速度)をチェックすることにより、従来技術においてパルス間時間間隔(の示す回転速度)をチェックするのと同様にて、SPM13の起動状況、例えばSPM13が第1の回転速度に到達しているかをチェックすることができる。
【0025】
また本実施形態では、SPM13の加速状況がチェックされる。この加速状況のチェックには、時間カウンタ191のカウント値のうち、同一相同一極(及び同一相同一極に隣接する極)に対応するパルス(隣接パルス)間の時間間隔(パルス間時間間隔)のカウント値のみが用いられる。つまり本実施形態では、逆起検出信号161に基づいて時間カウンタ191によってカウントされる全てのパルス間時間間隔ではなくて、同一相同一極に対応するパルス間時間間隔(以下、同一極時間間隔と称する)のみを用いて、SPM13の加速状況がチェックされる。
【0026】
以下、SPM13の加速状況を、同一極時間間隔に基づいてチェックする理由について説明する。
図4は、HWモードにおける時間経過(チェック回数)とパルス間時間間隔のカウント値との関係の一例を示す。この図4からは、SPM13の起動開始時から急速にカウント値が低減すること、つまりSPM13の回転速度が急速に上昇することが分かる。その後、カウント値は、徐々に、ある一定値に近づく。従来技術では、このカウント値をチェックすることで、例えばSPM13が回転しているかをチェックすることができる。しかし、[発明が解決しようとする課題]の欄でも述べたように、SPM13が正常に回転していない場合、例えば正常に加速されていない場合、当該SPM13の起動開始から長時間が経過しても、目標回転速度である第2の回転速度よりも低い値の第1の回転速度に到達しないおそれがある。
【0027】
そこで、SPM13の加速状況、つまりSPM13が正常に加速しているかを、パルス間時間間隔のカウント値(の示す回転速度)に基づいてチェックすることが考えられる。しかし、パルス間時間間隔のカウント値(の示す回転速度)を監視するだけでは、図4に示されているような状況において、特にSPM13が急速に上昇した後の加速状況は正確に検出するのは難しい。このような加速状況を検出するには、現在のサンプル間のパルス間時間間隔の、先行するサンプル間のパルス間時間間隔に対する差分(前サンプルとのパルス間時間間隔の差分)をチェックすれば良い。
【0028】
図5は、図4のパルス間時間間隔の場合における、時間経過(チェック回数)と、上述の前サンプルとのパルス間時間間隔の差分との関係の一例を示す。図4の例では、パルス間時間間隔(の示す回転速度)は時間経過と共に単調に減少していることから、SPM13はスムーズに加速しているように見える。ところが図5に示される前サンプルとのパルス間時間間隔の差分は、時間経過に応じて増減を繰り返している。この図5のような状況では、SPM13がスムーズに加速していると判定することは不可能である。本発明者は、上述の増減の要因が、SPM13の各極のトルクのばらつきにあることを認識するに至った。
【0029】
そこで本実施形態では、SPM13の加速状況を、時間カウンタ191によってカウントされる全てのパルス間時間間隔ではなくて、同一極時間間隔(同一相同一極に対応するパルス間の時間間隔)に基づいてチェックすることで、SPM13の各極のトルクのばらつきによる影響を回避している。
【0030】
再び図2及び図3のフローチャートを参照する。CPU19はレジスタr1及びr2を初期化すると(ステップS5)、監視ループカウンタ192のカウント値が予め定められた値、例えば「12」であるかを判定する(ステップS6)。もし、監視ループカウンタ192のカウント値が「12」でないならば(ステップS6がNO)、CPU19は後述するステップS7をスキップしてステップS8に進む。
【0031】
ステップS8において、CPU19は、時間カウンタ191のカウント値から逆起検出器160によって逆起電力が検出されているか(つまりSPM13のコイルに逆起電力が発生しているか)を判定する。例えば、時間カウンタ191のカウント値が0のままであるために、つまり逆起検出信号161にパルスが含まれていないために、逆起電力が未検出であると判定されたならば(ステップS8がNO)、CPU19はSPM13が回転していない(起動失敗)として、SPM起動処理のリトライのためにステップS2に戻る。
【0032】
これに対して、逆起電力が検出されたならば(ステップS8がYES)、CPU19は監視ループカウンタ192のカウント値がSPM起動処理をリトライするための1つの条件である逆起電力検出回数(ステップS6から始まる監視ループ)の上限回数、例えば3500回に達しているかかを判定する(ステップS9)。即ちCPU19は、監視ループの実行回数(逆起電力検出回数)が3500回に達したかを判定する。
【0033】
もし、監視ループの実行回数が3500回に達したならば(ステップS9がYES)、CPU19は、3500回の監視ループを実行しても、SPM13が第1の回転速度、例えば3000rpmにも到達しない起動失敗であるとして、SPM起動処理のリトライのためにステップS2に戻る。これに対し、監視ループの実行回数が3500回に達していないならば(ステップS9がNO)、監視ループカウンタ192を1だけカウントアップする(ステップS10)。監視ループカウンタ192のカウント値は、監視ループの実行回数、つまり逆起電力検出回数だけでなく、逆起検出信号161に含まれているパルスの数(SPM13の各相各極に同期したパルスの数)をも表す。
【0034】
CPU19は、ステップS10を実行すると、CPU19は監視ループカウンタ192のカウント値が「12」を超えているかを判定する(ステップS11)。もし、監視ループカウンタ192のカウント値が「12」を超えていないならば(ステップS11がNO)、CPU19は後述するステップS12乃至S15をスキップしてステップS16に進む。ステップS16においてCPU19は起動成功検出手段として機能して、時間カウンタ191のカウント値からSPM13の回転速度が第1の回転速度、例えば3000rpmに到達したかを判定する。
【0035】
もし、SPM13の回転速度が3000rpmに到達しているならば(ステップS16のYES)、CPU19は監視ループを抜けて、引き続きHWモードでモータドライバIC16によりSPM13を第2の回転速度(目標回転速度)まで加速させる。これに対し、SPM13の回転速度が3000rpmに到達していないならば(ステップS16のNO)、CPU19は監視ループを再度実行するためにステップS6に戻る。
【0036】
その後、監視ループが12回繰り返された結果、つまり逆起検出信号161に基づいて12個のパルスが検出(逆起電力が12回検出)された結果、ステップS10で監視ループカウンタ192のカウント値が「11」から「12」にカウントアップされたものとする(ステップS6がYES)。この場合、CPU19は、13回目の監視ループにおけるステップS6で、監視ループカウンタ192のカウント値が「12」であると判定する。
【0037】
するとCPU19は、加速監視カウンタ193を初期化(カウント値=0に初期化)する(ステップS7)。このステップS7において、CPU19は、時間カウンタ191のカウント値を、HWモードにおけるモータドライバIC16によるSPM13の12回目の相切り換えが行われた極に対応するパルス間の時間間隔の情報として、レジスタr1に保存する。このパルス間の時間間隔の情報は、12回目の相切り換えが行われた極及び後続する極(13回目の相切り換えが行われた極)に対応するパルス間の時間間隔を示しており、現在のSPM13の回転速度を表す。
【0038】
CPU19は、ステップS8を実行するとステップS9に進む。そしてCPU19が、ステップS9及びS10を実行した後、ステップS11に進んだものとする。このとき監視ループカウンタ192のカウント値は、直前のステップS10で「12」から「13」にカウントアップされている。このため、ステップS11においてCPU19は、監視ループカウンタ192のカウント値が「12」を超えていると判定する。
【0039】
するとCPU19は、加速監視カウンタ193のカウント値がSPM13の総極数である36の倍数であるかを判定する(ステップS12)。即ちCPU19は、現在起電力が検出されている極(相切り換えが行われている極)が、HWモードの開始時から12回目の相切り替えが行われた極と同一であるかを判定する。
【0040】
この例のように、加速監視カウンタ193のカウント値が36の倍数でないならば(ステップS12がNO)、CPU19はステップS13及びS14をスキップしてステップS15に進む。このステップS15において、CPU19は、加速監視カウンタ193をカウントアップする。そしてCPU19はステップS16に進む。
【0041】
やがて、加速監視カウンタ193のカウント値が「36」の倍数となったものとする。この場合、ステップS12の判定はYESとなる。するとCPU19は、その時点においてレジスタr1に保存されているカウント値(現在よりも36回前に相切り換えが行われた極に対応するパルス間の時間間隔)をレジスタr2に移動すると共に、当該レジスタr1に現在の時間カウンタ191のカウント値(つまり、36回前に相切り換えが行われた極と同一の、今回相切り換えが行われた極に対応するパルス間の時間間隔)を保存する(ステップS13)。
【0042】
次にCPU19は加速状況検出手段として機能して、レジスタr1の内容(r1)及びレジスタr2の内容(r2)を比較し、r2がr1よりも小さいかを判定することにより、SPM13の加速状況を判定(検出)する(ステップS14)。ここで、r2及びr1は、SPM13が1回転する前後における、同一の極(同一相同一極)に対応するパルス間の時間間隔を示す。このため、ステップS14の比較判定の結果が、比較対象となる極が異なることによるトルクのばらつきの影響を受けるのを防止できる。
【0043】
もし、r2がr1よりも小さいならば(ステップS14がYES)、CPU19はSPM13が正常に加速されていると判定する。この場合、CPU19は加速監視カウンタ193をカウントアップする(ステップS15)。なお、誤差Δを考慮して、r2がr1+Δよりも小さいかを判定するようにしても構わない。
【0044】
これに対し、r2がr1よりも小さくないならば(ステップS14がNO)、CPU19はSPM13が正常に加速されておらず、当該SPM13の起動に失敗したと判定する。この場合、CPU19は、SPM起動処理のリトライのためにステップS2に戻る。このように本実施形態においては、SPM13の加速状況をチェックして、当該SPM13が正常に加速されていない場合には、直ちにSPM起動処理のリトライが行われる。これに対して従来技術では、逆起電力が検出されている限りは、監視ループを上限回数(3500回)繰り返しても、SPM13の回転速度が第1の回転速度(3000rpm)に到達しないことを確認するまでは、リトライが行われない。即ち本実施形態においては、SPM13が正常に加速されていないような異常な状況を検出することにより、例えばホスト装置でタイムアウトが発生する前に、速やかにSPM起動処理のリトライを行うことができる。
【0045】
図6は、ステップS16でのSPM13の加速状況の判定に用いられる相切り換えのタイミングを説明するための図である。
図6において、1から始まる連続する数値の配列は、監視ループカウンタ192のカウント値、つまり相切り換えの回数(逆起電力検出回数)の変化を示す。また、図6においてハッチングが施されている数値は、加速状況の判定に用いられる相切り換えのタイミングを示す。ここでは、12回目の相切り換えを基準に、48回目、84回目…タイミングのように、36回の相切り換え毎に、SPM13の加速状況が判定される。つまり、12回目の相切り換えのタイミングで取得されるパルス間時間間隔T12と比較されるのは、それよりも36回後の相切り換えのタイミングである48回目の相切り換えのタイミングで取得されるパルス間時間間隔T48である。このパルス間時間間隔T48と比較されるのは、それよりも36回後の相切り換えのタイミングである84回目の相切り換えのタイミングで取得されるパルス間時間間隔T84である。SPM13が3相12極の多相多極モータである本実施形態では、加速状況の判定に用いられる相切り換えのタイミングに対応するSPM13の極は、常に同一極(同一相同一極)である。このため、加速状況を、極毎のトルクのばらつきの影響を受けることなく高精度に判定できる。なお、12回目の相切り換えを基準とするのは一例であり、12回目以外の相切り換えを基準としても構わない。
【0046】
[変形例]
次に上記実施形態の変形例について説明する。
上記実施形態では、SPM13の加速状況のチェックが、当該SPM13の1回転当たり1回行われる。本変形例の特徴は、このチェックの回数を、SPM13の1回転当たり複数回、例えば3回に増やして、より速やかにSPM13の加速状況の異常を検出するようにしたことにある。
【0047】
図7は、本変形例におけるSPM13の加速状況の判定に用いられる相切り換えのタイミングを説明するための図である。
図7からに明らかなように、本変形例では、まず上記実施形態と同様に、12回目の相切り換えを基準に、48回目、84回目…タイミングのように、36回の相切り換え毎に、SPM13の加速状況が判定される。
【0048】
本変形例ではまた、12回目の相切り換えのタイミングから12回後の相切り換えのタイミングである24回目の相切り換えを基準に、60回目、96回目…のタイミングのように、36回の相切り換え毎に、SPM13の加速状況が判定される。
【0049】
本変形例では更に、24回目の相切り換えのタイミングから12回後の相切り換えのタイミングである36回目の相切り換えを基準に、72回目、108回目…のタイミングのように、36回の相切り換え毎に、SPM13の加速状況が判定される。
【0050】
なお、レジスタr1及びr2の対を36個用意して、SPM13の全ての極について、36回目の相切り換えのタイミングで、それぞれ毎にSPM13の加速状況が判定される構成とすることも可能である。また、SPM13の総極数も36に限らない。
【0051】
また、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、上記実施形態では、ディスク装置が磁気ディスクドライブであるものとしたが、本発明は光磁気ディスクドライブ、光ディスクドライブなど、磁気ディスクドライブ以外のディスク装置にも同様に適用可能である。
【0052】
また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【0053】
【図1】本発明の一実施形態に係る磁気ディスクドライブの構成を示すブロック図。
【図2】同実施形態におけるSPM起動処理を説明するためのフローチャートの一部を示す図。
【図3】同実施形態におけるSPM起動処理を説明するためのフローチャートの残りを示す図。
【図4】HWモードにおける時間経過とパルス間時間間隔のカウント値との関係の一例を示す図。
【図5】図4のパルス間時間間隔の場合における、時間経過と、パルス間時間間隔の差分との関係の一例を示す
【図6】同実施形態におけるSPMの加速状況の判定に用いられる相切り換えのタイミングを説明するための図。
【図7】同実施形態の変形例におけるSPMの加速状況の判定に用いられる相切り換えのタイミングを説明するための図。
【符号の説明】
【0054】
11…ディスク、13…SPM(スピンドルモータ、多相多極モータ)、16…モータドライバIC、19…CPU、160…逆起検出器、161…逆起検出信号、191…時間カウンタ、192…監視ループカウンタ、193…加速監視カウンタ、r1…レジスタ(第1のレジスタ)、r2…レジスタ(第2のレジスタ)

【特許請求の範囲】
【請求項1】
ディスクを回転させる多相多極モータを備えたディスク装置において、
前記多相多極モータの回転に応じて当該モータの各相各極のコイルに発生する逆起電力を2値化することによって、パルス列からなる逆起検出信号を生成する逆起検出器と、
前記逆起検出信号に含まれるパルス列に基づき、同一相同一極に対応するパルス間の時間間隔を計測する時間計測手段と、
前記多相多極モータの起動時に、前記時間計測手段によって計測された時間間隔を当該時間間隔に先行して前記時間計測手段によって計測された時間間隔と比較することにより、前記多相多極モータが正常に加速されない起動失敗を検出する加速状況検出手段と
を具備することを特徴とするディスク装置。
【請求項2】
前記多相多極モータの起動開始時から前記逆起検出器で前記逆起電力が検出される回数をカウントする監視ループカウンタと、
前記監視ループカウンタによってカウントされた回数が予め定められた上限回数に到達する前で且つ前記加速状況検出手段によって前記起動失敗が検出されていない状態で、前記時間計測手段によって計測された時間間隔から算出される前記多相多極モータの回転速度が予め定められた回転速度に到達する起動成功を検出する起動成功検出手段と
を更に具備することを特徴とする請求項1記載のディスク装置。
【請求項3】
前記監視ループカウンタによってカウントされた回数が予め定められた上限回数に到達した場合と、前記監視ループカウンタによってカウントされた回数が前記上限回数に到達する前でも前記加速状況検出手段によって前記起動失敗が検出された場合とに、前記多相多極モータの起動のリトライを制御する制御手段を更に具備することを特徴とする請求項2記載のディスク装置。
【請求項4】
前記監視ループカウンタが、予め定められ回数をカウントした時点から、前記逆起検出器で前記逆起電力が検出される回数をカウントする加速監視カウンタを更に具備し、
前記加速状況検出手段は、前記加速監視カウンタが前記多相多極モータの総極数の倍数に一致する回数をカウントする毎に、前記起動失敗を検出するための検出動作を行う
ことを特徴とする請求項2または3に記載のディスク装置。
【請求項5】
前記時間計測手段によって計測された時間間隔の情報を保持する第1のレジスタ手段と、
前記時間計測手段によって計測された時間間隔の情報が前記第1のレジスタ手段に新たに保持される際に、それまで当該第1のレジスタ手段に保持されていた時間間隔の情報を保持する第2のレジスタ手段とを更に具備し、
前記加速状況検出手段は、前記第1のレジスタ手段に保持されている情報の示す時間間隔を前記第2のレジスタ手段に保持されている情報の示す時間間隔と比較する
ことを特徴とする請求項1乃至4のいずれかに記載のディスク装置。
【請求項6】
前記時間計測手段は、前記同一相同一極を含む、複数の同一相同一極を対象に、同一相同一極毎に前記パルス間の時間間隔を計測し、
前記加速状況検出手段は、同一相同一極毎に、前記時間計測手段によって計測された時間間隔を当該時間間隔に先行して前記時間計測手段によって計測された時間間隔と比較する
ことを特徴とする請求項1乃至3のいずれかに記載のディスク装置。
【請求項7】
ディスクを回転させる多相多極モータを備えたディスク装置において、前記多相多極モータの起動失敗を検出するための多相多極モータ起動失敗検出方法であって、
前記多相多極モータの起動時に、当該モータの回転に応じて当該モータの各相各極のコイルに発生する逆起電力を逆起検出器が2値化することによって生成される、パルス列からなる逆起検出信号を受けて、前記逆起検出信号に含まれるパルス列に基づき、同一相同一極に対応するパルス間の時間間隔を計測する生成するステップと、
前記計測された時間を当該時間に先行して計測された時間と比較することにより、前記多相多極モータが正常に加速されない起動失敗を検出するステップと
を具備することを特徴とする多相多極モータ起動失敗検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


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