(57)【要約】【課題】ＵＳＢ接続駆動等の駆動電力制限がある場合においても確実にディスクを駆動でき、しかも既存の制御ブロックをそのまま援用しつつ省電力化を図ることができる装置を提供する。【解決手段】ディスクを回転駆動するディスクモータ１８と、ディスクの半径方向にピックアップを移動駆動するシークモータ２４と、ディスクモータ１８の駆動を制限するリミッタ１４を備える。ＣＰＵ１０は、シーク時にシークモータ２４を駆動するとともにディスクモータ１８の駆動を所定のリミット値で制限し、かつ、シーク終了後に当該リミット値を所定のリミット値から徐々に緩和する。【選択図】図１
2016139443.tif 000002
【特許請求の範囲】
【請求項１】
ディスクを回転駆動するディスクモータと、
ディスクの半径方向にピックアップを移動駆動するシークモータと、
シーク時に前記シークモータを駆動するとともに前記ディスクモータの駆動を所定のリミット値で制限し、かつ、シーク終了後に前記リミット値を前記所定のリミット値から徐々に緩和する制御手段と、
を備えることを特徴とするディスク駆動装置。
【請求項２】
請求項１記載のディスク駆動装置において、
前記制御手段は、前記所定のリミット値をＳＳＬ、所定のリミット増加係数をＬＫ、シーク終了時からのタイマカウント値をＴＭとして、
ＳＡＳＬ＝ＴＭ＊ＬＫ＋ＳＳＬ
によりシーク終了後のリミット値ＳＡＳＬを設定する
ことを特徴とするディスク駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスク駆動装置に関し、特に省電力化に関する。  
【背景技術】
【０００２】
従来から、シーク動作中におけるスピンドルモータの駆動を制御する技術が各種提案されている。
【０００３】
特許文献１には、スレッドモータを駆動するシーク動作中に、ディスクを回転駆動するスピンドルモータへの通電を中断することが記載されている。
【０００４】
特許文献２には、シーク動作の開始から終了までスピンドルモータへの通電を中断することによる再起動時間の長時間化を解決すべく、タイマ監視により所定時間だけ通電を中断することで、ディスク回転数を所定回転数以下にならないようにすることが記載されている。
【０００５】
特許文献３には、データ読み込み中にスピンドルモータへの通電を停止し、慣性回転によるデータの読み込みができなくなる前にスピンドルモータへの通電を再開することが記載されており、スピンドルモータへの電流供給オン時にスピンドルモータへの供給電力を階段状に徐々に増加することが記載されている。  
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０１−１６６３５８号公報
【特許文献２】特開平１１−１４４３６２号公報
【特許文献３】特開２００５−２９３６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
スピンドルモータへの通電を停止する場合、ディスク回転数の低下は避けられない。特許文献３では、慣性回転によるデータの読み込みができなくなる前に通電を再開しているものの、ＣＰＵがドライバを制御して供給電力を階段状に徐々に増加させて加速させているので、制御が複雑化し、既存の制御ブロックをそのまま援用することができずコスト増大にもつながる。また、供給電力を階段状、すなわち不連続的に増減する結果、駆動電流も不連続的に変化することになるから、スピンドルモータに流れる駆動電流を効果的に抑制できるか疑問であり、消費電力が制限されるＵＳＢ接続駆動型のディスクドライブへの適用が困難である。
【０００８】
本発明は、上記従来技術の課題に鑑みなされたものであり、その目的は、ＵＳＢ接続駆動等の駆動電力制限がある場合においても確実にディスクを駆動でき、しかも既存の制御ブロックをそのまま援用しつつ省電力化を図ることができる装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、ディスクを回転駆動するディスクモータと、ディスクの半径方向にピックアップを移動駆動するシークモータと、シーク時に前記シークモータを駆動するとともに前記ディスクモータの駆動を所定のリミット値で制限し、かつ、シーク終了後に前記リミット値を前記所定のリミット値から徐々に緩和する制御手段とを備えることを特徴とする。
【００１０】
本発明の１つの実施形態では、前記制御手段は、前記所定のリミット値をＳＳＬ、所定のリミット増加係数をＬＫ、シーク終了時からのタイマカウント値をＴＭとして、
【００１１】
ＳＡＳＬ＝ＴＭ＊ＬＫ＋ＳＳＬ
によりシーク終了後のリミット値ＳＡＳＬを設定する。
【発明の効果】
【００１２】
本発明によれば、リミット値を変更するのみで、既存の制御ブロックをそのまま援用しつつ省電力化を図ることができる。従って、本発明によれば、構成の複雑化あるいはコスト増加を招くことなく、ＵＳＢ接続駆動等の駆動電力制限に対応できる。
【図面の簡単な説明】
【００１３】
【図１】実施形態の制御ブロック図である。
【図２】実施形態の処理フローチャート（その１）である。
【図３】実施形態の処理フローチャート（その２）である。
【図４】リミット係数の決定説明図である。
【図５】実施形態のタイミングチャートである。
【発明を実施するための形態】
【００１４】
以下、図面に基づき本発明の実施形態について説明する。
【００１５】
＜全体構成＞
図１は、本実施形態におけるディスク駆動装置の制御ブロック図を示す。ディスク駆動装置は、ＣＤやＤＶＤ等の光ディスクの記録／再生を行う装置であり、ＰＣ（パーソナルコンピュータ）等のインタフェース（例えばＵＳＢコネクタ）に接続され、ＵＳＢを介した電源供給を受けて動作する。ディスク駆動装置は、ＣＰＵ１０、サーボコントローラ（１）１２、サーボコントローラ（２）２０、リミッタ１４、ドライバ（１）１６、ドライバ（２）２２、ディスクモータ１８、及びシークモータ２４を備える。
【００１６】
ディスクを回転駆動するスピンドル駆動系は、サーボコントローラ（１）１２、リミッタ１４、ドライバ（１）１６及びディスクモータ（スピンドルモータ）１８である。また、ディスクに記録／再生レーザ光を照射し、ディスクからの反射光を受光して電気信号に変換して出力するピックアップをディスクの半径方向に駆動するシーク駆動系は、サーボコントローラ（２）２０、ドライバ（２）２２及びシークモータ（スレッドモータ）２４である。
【００１７】
ＣＰＵ１０は、サーボコントローラ（１）１２に対して回転速度指令を出力する。サーボコントローラ（１）１２は、回転速度指令に応じて駆動制御電圧を出力する。リミッタ１４は、駆動制御電圧に制限をかけて出力する。ドライバ（１）１６は、制限された駆動制御電圧から駆動電流を生成してディスクモータ１８に供給し、ディスクを回転駆動する。
【００１８】
また、ＣＰＵ１０は、サーボコントローラ（２）２０に対して移動距離及び駆動レベル指令を出力する。サーボコントローラ（２）２０は、指令値に応じて駆動制御電圧を出力する。ドライバ（２）２２は、駆動制御電圧から駆動電流を生成してシークモータ２４に供給し、ピックアップをディスク半径方向に移動駆動する。
【００１９】
ここで、上記のように、ＵＳＢを介した電源供給を受けて動作する場合、ＵＳＢによる電力供給能力には制限があり、ＵＳＢ２．０では５Ｖ、５００ｍＡ、ＵＳＢ３．０では５Ｖ、９００ｍＡ、ＵＳＢ３．１では５Ｖ、１０００ｍＡである。従って、この制限内で動作するように省電力化を図る必要がある。
【００２０】
省電力化の方法として、ランダムシークやランダムアクセスでの平均消費電流を規定値以下に抑制する方法がある。例えば、シーク時はスレッド駆動を高速に動作させるためにスレッド駆動ゲインを上げる必要があり、従ってスピンドル駆動との加算により消費電流が増大してしまう。
【００２１】
そこで、シーク中のスピンドル駆動による消費電流増大を抑制するために、スレッド駆動中はスピンドル駆動を抑制すればよい。しかし、従来のようにシークが終了した後のトレース時にスピンドル回転速度が低下した分だけスピンドルを急峻に加速したのでは、トレース時に消費電流が再び増大してしまい、平均消費電流が増大してしまう。加速時に増大する消費電流分を打ち消すほどにシーク動作中のスピンドル駆動を抑制すれば、目標の平均消費電流自体は確保できるものの、ランダムアクセスではシーク距離が短い場合もあることから、結果としてトレースの比率が増大し、一時的な平均消費電流が目標を超える場合もある。また、トレース区間がリトライ等で長くなる場合もある。
【００２２】
そこで、本実施形態では、シーク中のスピンドル駆動を抑制するとともに、シークが終了した後のトレース時に、スピンドル駆動電圧あるいはスピンドル駆動電流を制限するリミッタのリミット値を徐々に緩和することで、スピンドル回転速度を徐々に増大させ、平均消費電流を抑制する。
【００２３】
シーク中のスピンドル駆動を抑制するためにリミッタのリミット値をある設定値に設定するが、トレース時にはこの設定値を徐々に元に戻すことでスピンドル回転速度を徐々に増大させることで、ＣＰＵ１０は、シーク中のスピンドル駆動を抑制するためのリミッタをそのまま援用し、リミッタのリミット値のみをトレース時に変更するだけでよいので、既存の制御ブロックをそのまま用いることができる。
【００２４】
具体的には、図１において、ＣＰＵ１０は、サーボコントローラ（２）２０に対して移動距離及び駆動レベル指令を出力してシークモータ２４を駆動する期間は、リミッタ１４に指令するリミット値を所定値に設定して駆動制御電圧に制限をかけるとともに、シークが終了した後のトレース時において、ＣＰＵ１０は、所定値から徐々に緩和するようなリミット値をリミッタ１４に指令して駆動制御電圧の制限を徐々に元に戻していく。ここで、トレースとは、目標アドレス近傍までトラックジャンプした後、データを確定するまでの期間をいう。この期間はデータを高速で読み出す必要があることから、ディスク回転速度は高速であることが望ましい。
【００２５】
＜シーク処理＞
図２及び図３は、本実施形態の処理フローチャートである。図２は、ランダムアクセス時のシーク処理の全体処理フローチャートであり、図３は、図２のフローチャートで適宜実行されるサブルーチンであってスピンドル駆動制限処理ルーチンである。
【００２６】
まず、図２において、スピンドル駆動制限処理を実行する（Ｓ１０１）。この処理では、後述するように、シーク後のトレースにおけるスピンドルリミット値ＳＡＳＬを予め計算しておく。
【００２７】
次に、ＣＰＵ１０は、シークが必要か否かを判定する（Ｓ１０２）。ＰＣ等のホスト装置からランダムアクセスが要求されていない場合には、シークも必要ない（Ｓ１０２でＮＯ）。ホスト装置からランダムアクセスが要求された場合にはシークが必要となる（Ｓ１０２でＹＥＳ）。
【００２８】
シークが必要な場合、ＣＰＵ１０は、ピックアップの現在位置を確認し（Ｓ１０３）、目標位置までの移動距離を計算する（Ｓ１０４）。また、シーク処理が実行中であることを示すシーク処理中フラグをセットする（Ｓ１０５）。
【００２９】
シーク処理中フラグをセットした後、ＣＰＵ１０は、再びスピンドル駆動制限処理を実行する（Ｓ１０６）。この処理では、後述するように、シーク処理中フラグがセットされている場合に、タイマ（タイマのカウント値）ＴＭを０にリセットし、所定のシーク用スピンドルリミット値ＳＳＬを設定する。ＳＳＬは所定の固定値であり、予めメモリに記憶されている。ＳＳＬは、シーク中のシークモータ２４での消費電流とディスクモータ１８の消費電流の和が目標消費電流値に達しないような値として設定される。
【００３０】
次に、ＣＰＵ１０は、スレッド駆動ゲインをシーク用に設定し（Ｓ１０７）、移動距離及び駆動レベル指令をサーボコントローラ（２）２０に出力してシークモータ２４を駆動し、スレッドシークする（Ｓ１０８）。スレッドシーク中は、スピンドル駆動制限処理によりスピンドル制御電圧はＳＳＬに制限されているから、ディスクモータ１８での消費電流は抑制される。これに伴い、スピンドル回転速度も低下する。
【００３１】
スレッドシーク（トラックジャンプ）すると、ＣＰＵ１０は、スレッド駆動ゲインを通常値に戻し（Ｓ１０９）、再びスピンドル駆動制限処理を実行する（Ｓ１１０）。この処理では、後述するように、タイマＴＭを０にリセットすることで、スレッドシーク（トラックジャンプ）終了時からのスピンドルリミット値ＳＡＳＬを逐次計算できるようにする。
【００３２】
そして、ＣＰＵ１０は、スレッドシークが終了したことに対応してシーク処理中フラグをクリアし（Ｓ１１１）、現在位置を確認して（Ｓ１１２）、現在位置が目標位置に達していればシーク処理を終了する。この後は、再びＳ１０１以降の処理を繰り返し、スピンドル駆動制限処理を実行して、タイマＴＭに応じてシーク後スピンドルリミット値ＳＡＳＬを計算し、ＳＡＳＬが通常のリミット値ＳＬより小さい範囲においてこのＳＡＳＬをリミッタ１４のリミット値とする。次のランダムアクセスのシークが開始されるまで、この処理を繰り返す（Ｓ１０２でＮＯ）。
【００３３】
すなわち、シーク処理中においてはスピンドル駆動制限処理によりリミット値をＳＳＬに設定してスピンドル駆動電圧をＳＳＬに制限するとともにタイマＴＭをリセットし、シーク処理が終了するとタイマＴＭに応じてリミット値ＳＡＳＬを順次計算して更新し、リミット値をこのＳＡＳＬに設定してスピンドル駆動電圧をＳＡＳＬで制限する。
【００３４】
＜スピンドル駆動制限処理＞
次に、図３に示すスピンドル駆動制限処理について説明する。
【００３５】
このスピンドル駆動制限処理は、シーク処理中フラグのセット／クリアで処理内容が変化する。すなわち、シーク処理中フラグがセットされ（Ｓ２０１で「セット」）、シーク中である場合には、シーク後スピンドルリミット値を計算するための基準時間であるタイマ値ＴＭを０にリセットするとともに（Ｓ２０２）、シーク用スピンドルリミット値をＳＳＬに設定する（Ｓ２０３）。
【００３６】
他方、シーク処理が終了してフラグがクリアされている場合には（Ｓ２０１で「クリア」）、タイマ値ＴＭを用いて、シーク後スピンドルリミット値ＳＡＳＬを、
ＳＡＳＬ＝ＴＭ＊ＬＫ＋ＳＳＬ
により計算する（Ｓ２０４）。
【００３７】
ここで、ＳＳＬはシーク用スピンドルリミット値であり、ＬＫはシーク後のスピンドル駆動電圧を徐々に増大させるための所定の傾き値である。所定の傾き値ＬＫについてはさらに後述する。
【００３８】
シーク後リミット値ＳＡＳＬは、上記の式から明らかなようにタイマＴＭに応じて順次増大していく。すなわち、初期値はＳＳＬであるが、タイマＴＭに応じてリニアに増大していく。シーク中でなくトレース中でもなく、通常のディスク回転駆動時の通常のリミット値（スピンドルモータの許容最大回転速度に対応するリミット値）をＳＬとすると、
ＳＡＳＬ＜ＳＬ
の範囲内では、Ｓ２０４で計算されたリミット値ＳＡＳＬを用いてシーク後スピンドルリミット値とする（Ｓ２０５及びＳ２０６）。
【００３９】
また、ＳＡＳＬがタイマＴＭに応じてリニアに増大し、通常のリミット値ＳＬに達すると、ＳＡＳＬに代えて、通常のリミット値ＳＬを設定する（Ｓ２０５及びＳ２０７）。
【００４０】
従って、スピンドルリミット値をＳＬＩＭとすると、
（１）シーク中
ＳＬＩＭ＝ＳＳＬ
（２）シーク終了後
ＳＬＩＭ＝ＳＡＳＬ＝ＴＭ＊ＬＫ＋ＳＳＬ
（３）シーク終了後、ＳＡＳＬ＝ＳＬとなったとき
ＳＬＩＭ＝ＳＬ
（４）シーク中でない通常動作時
ＳＬＩＭ＝ＳＬ
となる。
【００４１】
スピンドルリミット値ＳＬＩＭは、ＣＰＵ１０がリミッタ１４に指令値として与える制限値であり、この値が小さいほどドライバ（１）１６に供給される駆動制御電圧は小さくなり、この値が大きくなるほどドライバ（１）１６に供給される駆動制御電圧は大きくなる。従って、スピンドルリミット値ＳＬＩＭを徐々に大きくする、言い換えれば、通常のリミット値ＳＬを基準とするとシーク中のリミット値ＳＳＬから徐々に通常のリミット値ＳＬに戻していくことで駆動制御電圧を徐々に大きくし、スピンドル回転速度を徐々に増大させることができる。
【００４２】
図４は、本実施形態のスピンドルリミット値の時間変化説明図である。図において、縦軸はスピンドル駆動電圧を示す。
【００４３】
シーク中でない通常動作時は、リミット値ＳＬＩＭは通常のリミット値ＳＬに設定されており、従ってスピンドルは許容最高回転速度で回転駆動される。このときの駆動電圧を通常駆動レベルとする。
【００４４】
シーク中は、リミット値ＳＬＩＭはＳＳＬまで小さく設定され、スピンドル駆動電圧はこのリミット値により制限され、これに伴いスピンドルの回転速度も低下する。但し、駆動電圧あるいは駆動電流はオフとしないので、必要以上の回転速度低下はない。
【００４５】
シーク終了後のトレース期間中は、リミット値ＳＬＩＭは、ＳＬＩＭ＝ＳＡＳＬ＝ＴＭ＊ＬＫ＋ＳＳＬにより計算され、タイマＴＭに応じて徐々に大きくなる。すなわち、タイマＴＭに応じて順次計算されるリミット値ＳＡＳＬをＳＡＳＬ（ｔ１）、ＳＡＳＬ（ｔ２）、・・・、ＳＡＳＬ（ｔｎ）とすると、
ＳＳＬ＜ＳＡＳＬ（ｔ１）＜ＳＡＳＬ（ｔ２）＜・・・＜ＳＡＳＬ（ｔｎ）＜ＳＬ
である。従って、スピンドル駆動電圧もこのリミット値の増大に応じて徐々にリニアに大きくなる。
【００４６】
ＬＫは、単位時間当たりのリミット増加係数であり、予めトレースに要する時間ＤＤから決定されてメモリに記憶される。ドライブによりトレースに要する平均時間は変化するから、このリミット増加係数ＬＫもドライブに応じて変化し得る。一般にトレース時間ＤＤの短いドライブではリミット増加係数ＬＫも大きくなる。
【００４７】
スピンドル駆動電圧が通常の駆動レベルに達した後に再びランダムアクセスが要求され、シーク中になると、リミット値ＳＬＩＭはＳＳＬまで再び小さく設定され、スピンドル駆動電圧はこのリミット値により制限される。
【００４８】
図５は、本実施形態のタイミングチャートである。図５（ａ）は消費電流の時間変化、図５（ｂ）はスレッド駆動ゲインの時間変化、図５（ｃ）はスピンドル駆動電圧の時間変化である。
【００４９】
スレッドゲインは、シーク中は一時的に増大させて高速にピックアップを移動させる。また、スピンドル駆動電圧は、図４で説明したようにシーク中はリミット値ＳＳＬで制限し、シーク後はリミット値を徐々に大きくすることでスピンドル駆動電圧を徐々に大きくする。従って、シーク終了後のトレース期間においても消費電流は徐々に増大することになり、目標平均消費電流以下に抑制できる。
【００５０】
以上説明したように、本実施形態では、リミッタ１４でのリミット値を変更するのみでシーク終了後のスピンドル駆動電圧を徐々に増大させてディスク回転速度を徐々に増大することができるので、既存の制御ブロックないし構成をそのまま援用しつつ、省電力化を図ることができる。すなわち、従来においても、シーク中及びシーク終了後においてそれぞれのリミット値をＣＰＵ１０からリミッタ１４に供給してスピンドル駆動電圧を制限しているが、本実施形態ではＣＰＵ１０からリミッタ１４に供給するリミット値を変更するだけで実現できる。
【００５１】
なお、シーク終了後にスピンドル駆動電圧を不連続的に急峻に増大させる場合には、過渡的応答を考慮して平均消費電流を規定値以下に抑制すべくシーク中におけるスピンドル駆動電圧を余分に制限することも必要となるが、本実施形態のようにシーク終了後にスピンドル駆動電圧を徐々に増大させる場合には過渡的応答を考慮してシーク中におけるスピンドル駆動電圧を余分に制限する必要がなくなるため、シーク中におけるディスク回転速度の低下を従来以上に抑制できる効果もある。
【００５２】
以上、本発明の実施形態について説明したが、本発明はこれに限定されず種々の変更が可能である。
【００５３】
例えば、本実施形態では、
ＳＡＳＬ＝ＴＭ＊ＬＫ＋ＳＳＬ
によりシーク終了後のリミット値を設定してリミット値をリニアに元のリミット値ＳＬに戻しているが、必ずしもリニアである必要はなく、スピンドル駆動電圧を連続的に増大させるものであれば非リニアであってもよい。このことは、増加係数ＬＫが固定ではなく時間に応じた可変値であってもよいことを意味する。
【００５４】
また、本実施形態では、タイマＴＭはシーク中において０にリセットし、シーク終了時からタイマＴＭをカウントしているが、例えばスレッド駆動ゲインを増大させてスレッドシークを実行し、スレッド駆動ゲインを元の値に戻したタイミングでタイマＴＭをカウントしてもよい。要するに、実質的にシークが終了したとみなせるタイミングからタイマＴＭをカウントし、このタイマＴＭを用いてリミット値ＳＡＳＬを算出すればよい。
【００５５】
また、本実施形態では、リミッタ１４によりディスクモータ１８を駆動するドライバ（１）１６の駆動制御電圧を制限しているが、ディスクモータ１８の駆動電流を制限してもよい。すなわち、本発明において、シーク中にディスクモータ１８の駆動電圧あるいは駆動電流を制限するとともに、シーク終了後に次のシーク開始までに当該駆動電圧あるいは駆動電流のリミット値を徐々に緩和すればよい。
【００５６】
また、本実施形態では、ＵＳＢ接続駆動型のディスクドライブを例に説明したが、駆動電力制限を必要とする場合は、ＩＤＥやＳＡＴＡ等の他のインタフェースに接続されるディスクドライブにも適用可能である。
【符号の説明】
【００５７】
１０  ＣＰＵ、１２  サーボコントローラ（１）、１４  リミッタ、１６  ドライバ（１）、１８  ディスクモータ（スピンドルモータ）、２０  サーボコントローラ（２）、２２  ドライバ（２）、２４  シークモータ（スレッドモータ）。
【図１】
2016139443.tif 000003
【図２】
2016139443.tif 000004
【図３】
2016139443.tif 000005
【図４】
2016139443.tif 000006
【図５】
2016139443.tif 000007