(57)【要約】【課題】より電力状態が低い電力消費状態に変更されることができるデータストレージデバイスおよび方法を提供すること。【解決手段】実施形態によれば、磁気記憶デバイスを含んでいるデータストレージデバイスにおける電源管理の方法であって、データが前記磁気記憶デバイスから読み出された、あるいは前記磁気記憶デバイスに書き込まれた最も最近の時間から時間間隔を測定することと、予め決められた値を超える前記時間間隔に応じて、前記磁気記憶デバイスの現在の電力消費状態を、より低い電力消費状態に変更することと、を備える。【選択図】  図４
2014175036.tif 000002
【特許請求の範囲】
【請求項１】
磁気記憶デバイスを含んでいるデータストレージデバイスにおける電源管理の方法であって、
データが前記磁気記憶デバイスから読み出された、あるいは前記磁気記憶デバイスに書き込まれた最も最近の時間から時間間隔を測定することと、
予め決められた値を超える前記時間間隔に応じて、前記磁気記憶デバイスの現在の電力消費状態を、より低い電力消費状態に変更することと、
を備える方法。
【請求項２】
測定された前記時間間隔は、ホストコマンドを満たすために、データが前記磁気記憶デバイスから読み出された、あるいは前記磁気記憶デバイスに書き込まれた最も最近の時間からの時間間隔である、請求項１に記載の方法。
【請求項３】
前記現在の電力消費状態はアクティブなサーボ状態を備え、前記より低い電力消費状態は、前記アクティブなサーボ状態よりも少ない電力を使用しパークされた状態よりもより多くの電力を使用する中間電力消費状態を備える、請求項２に記載の方法。
【請求項４】
前記中間電力消費状態はフロート状態を備えており、前記フロート状態においては、前記磁気記憶デバイスのサーボシステムは、前記磁気記憶デバイスのリード／ライトヘッドの連続的な位置制御を提供するようには使用されない、請求項３に記載の方法。
【請求項５】
前記中間電力消費状態は、低周波のサーボ状態を備えており、前記低周波のサーボ状態においては、前記磁気記憶デバイスのサーボシステムは、前記磁気記憶デバイスのストレージディスク上でサーボウエッジの部分だけを使用して、前記磁気記憶デバイスのリード／ライトヘッドの位置制御を提供する、請求項３に記載の方法。
【請求項６】
前記現在の電力消費状態は、前記アクティブなサーボ状態よりも少ない電力を使用しパークされた状態よりも多くの電力を使用する中間電力消費状態を備えている、請求項１に記載の方法。
【請求項７】
前記より低い電力消費状態は、前記磁気記憶デバイスのストレージディスクが回転していないスタンバイ状態と、前記磁気記憶デバイスのリード／ライトヘッドがパークされているパークされた状態とのうちの１つを備える、請求項６に記載の方法。
【請求項８】
前記現在の電力消費状態は、前記磁気記憶デバイスのリード／ライトヘッドがパークされているパークされた状態を備える、請求項１に記載の方法。
【請求項９】
前記より低い電力消費状態は、前記磁気記憶デバイスのストレージディスクが回転していないスタンバイ状態を備える、請求項８に記載の方法。
【請求項１０】
前記磁気記憶デバイスがアクセスされない前記時間間隔中に、
１つ以上のコマンドを受け取ることと、
前記データストレージデバイスの揮発性ソリッドステートメモリと、前記データストレージデバイスの不揮発性ソリッドステートメモリデバイスとのうちの少なくとも１つを使用して、前記１つ以上のコマンドを満たすことと、
をさらに備える、請求項１に記載の方法。
【請求項１１】
磁気記憶デバイスと、
データが前記磁気記憶デバイスから読み出された、あるいは前記磁気記憶デバイスに書き込まれた最も最近の時間から時間間隔を測定し、
予め決められた値を超える前記時間間隔に応じて、前記磁気記憶デバイスの現在の電力消費状態を、より低い電力消費状態に変更する、
コントローラと、
を備えるデータストレージデバイス。
【請求項１２】
測定された前記時間間隔は、ホストコマンドを満たすために、データが前記磁気記憶デバイスから読み出された、あるいは前記磁気記憶デバイスに書き込まれた最も最近の時間からの時間間隔である、請求項１１に記載のデータストレージデバイス。
【請求項１３】
前記現在の電力消費状態はアクティブなサーボ状態を備え、前記より低い電力消費状態は、前記アクティブなサーボ状態よりも少ない電力を使用しパークされた状態よりもより多くの電力を使用する中間電力消費状態を備える、請求項１２に記載のデータストレージデバイス。
【請求項１４】
前記現在の電力消費状態は、前記アクティブなサーボ状態よりも少ない電力を使用しパークされた状態よりも多くの電力を使用する中間電力消費状態を備えている、請求項１１に記載のデータストレージデバイス。
【請求項１５】
前記より低い電力消費状態は、前記磁気記憶デバイスのストレージディスクが回転していないスタンバイ状態と、前記磁気記憶デバイスのリード／ライトヘッドがパークされているパークされた状態とのうちの１つを備える、請求項１４に記載のデータストレージデバイス。
【請求項１６】
前記現在の電力消費状態は、前記磁気記憶デバイスのリード／ライトヘッドがパークされているパークされた状態を備える、請求項１１に記載のデータストレージデバイス。
【請求項１７】
前記より低い電力消費状態は、前記磁気記憶デバイスのストレージディスクが回転していないスタンバイ状態を備える、請求項１６に記載のデータストレージデバイス。
【請求項１８】
前記コントローラはさらに、
前記磁気記憶デバイスがアクセスされない前記時間間隔中に、
１つ以上のコマンドを受け取り、
前記データストレージデバイスの揮発性ソリッドステートメモリと、前記データストレージデバイスの不揮発性ソリッドステートメモリデバイスとのうちの少なくとも１つを使用して、前記１つ以上のコマンドを満たす、
請求項１１に記載のデータストレージデバイス。
【請求項１９】
磁気記憶デバイスと、
不揮発性ソリッドステートデバイスと、
前記磁気記憶デバイス上にも保存されていないデータを保存するために使用される前記不揮発性ソリッドステートデバイスの一部分が予め決められた値よりも大きいことを決定し、
前記磁気記憶デバイスの電力状態を、前記アクティブなサーボ状態よりもより低い電力状態である最初の電力状態からアクティブなサーボ状態に変更し、
前記磁気記憶デバイス上にも保存されていない前記データの少なくとも一部分の、前記磁気記憶デバイスへの書き込みを制御する、
コントローラと、
を備えるデータストレージデバイス。
【請求項２０】
前記コントローラはさらに、前記磁気記憶デバイスが前記最初の電力状態にある間、ホストデバイスから前記不揮発性ソリッドステートデバイスへのデータの書き込みを制御するように構成されている、請求項１９に記載のデータストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はデータストレージデバイスおよび方法に関する。
【背景技術】
【０００２】
ディスクドライブは、主として、データストレージディスクの表面上の同心トラックにデジタルデータを保存しており、一般に、電子デバイスにおいてデータ保存に使用される。データストレージディスクは、典型的に、磁性体層をその上に有した回転可能なハードディスクであり、データは、ディスクが一定の角速度でその中心のまわりを回転する間にトラックに最も近くに保持されるリード／ライトヘッドを用いて、データストレージディスク上の所望のトラックから読み出され、あるいは、所望のトラックへ書き込まれる。読み出しまたは書き込みオペレーションの間に、リード／ライトヘッドを所望のトラックに適切に調整するために、ディスクドライブは、一般に、ディスクドライブが製造されるときにディスク表面上に書き込まれるサーボセクタに保存されたサーボデータに依存する閉ループサーボシステムを使用する。
【０００３】
ディスクドライブにおけるいくつかのオペレーションは、読み出しまたは書き込みコマンドがディスクドライブによってサービスを提供されていないときでさえ、かなりの量のエネルギを使用する。例えば、連続的にデータストレージディスクを回転させることは、読み出しまたは書き込みコマンドが実行されつつあろうとなかろうと、ほぼ同じ電力を必要とする。同様に、サーボシステムを用いてリード／ライトヘッド位置を積極的に制御することは、サーボサンプリング、信号処理、および、リードチャネルに関連するデコーディングを実行することを伴い、これらのすべては、読み出しまたは書き込みコマンドからは独立して、実質的な計算リソースを利用する。ディスクドライブは、利用可能な電力が限定されている携帯用電子機器、例えばラップトップコンピュータなどにおいて、頻繁に使用されるので、ディスクドライブにおけるそのようなエネルギ大量消費のオペレーションを制限することが、一般に望ましい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５８７２６６９号明細書
【特許文献２】米国特許第７３３４０８２号明細書
【特許文献３】米国特許第７４２６６４７号明細書
【特許文献４】米国特許出願公開第２００５／００６６２０７号明細書
【特許文献５】米国特許出願公開第２００５／０１４４３７７号明細書
【特許文献６】米国特許出願公開第２００６／００７５１８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、より電力状態が低い電力消費状態に変更されることができるデータストレージデバイスおよび方法を提供することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、オペレーションの間に、データストレージデバイスは、データが磁気記憶デバイスから読み出された、あるいは、磁気記憶デバイスに書き込まれた最も最近の時間からの時間間隔(a time interval since a most recent time)に基づいて、磁気記憶デバイスの１以上の電力状態を選ぶ。具体的には、時間間隔が予め決められた値を超えるとき、磁気記憶デバイスの電力状態は、より高い電力消費状態からより低い電力消費状態に変更されることができる。例えば、電力消費状態は、データが磁気記憶デバイスから読み出された、あるいは磁気記憶デバイスに書き込まれた最も最近の時間からの経過時間に依存して、アクティブなサーボ状態(active servo state)から中間電力消費状態、パーク状態(park state)、および／または、スタンバイ状態に変更されることができる。
【０００７】
１つの実施形態による、磁気記憶デバイスを含んでいるデータストレージデバイスにおける電源管理の方法は、データが磁気記憶デバイスから読み出された、あるいは磁気記憶デバイスに書き込まれた最も最近の時間からの時間間隔を測定することと、予め決められた値を超える時間間隔に応じて、磁気記憶デバイスの現在の電力消費状態をより低い電力消費状態に変更することと、を備える。
【０００８】
別の実施形態によれば、データストレージデバイスは、磁気記憶デバイスおよびコントローラを含む。コントローラは、データが磁気記憶デバイスから読み出された、あるいは磁気記憶デバイスに書き込まれた最も最近の時間からの時間間隔を測定し、そして、予め決められた値を超える時間間隔に応じて、磁気記憶デバイスの現在の電力消費状態をより低い電力消費状態に変更するように、構成されている。
【０００９】
別の実施形態によれば、データストレージデバイスは、磁気記憶デバイス、不揮発性ソリッドステートデバイスおよびコントローラを含む。コントローラは、磁気記憶デバイス上にも保存されていないデータを保存するために使用される不揮発性ソリッドステートデバイスの一部分が予め決められた値より大きいことを決定し、磁気記憶デバイスの電力状態を最初の電力状態から、アクティブなサーボ状態に変更し、なお、最初の電力状態はアクティブなサーボ状態よりもより低い電力状態である、そして、磁気記憶デバイス上にも保存されていないデータの少なくとも一部分の、磁気記憶デバイスへの書き込みを制御するように、構成されている。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態による例示的なディスクドライブの略図である。
【図２】図２は、一実施形態に従って構成された、示された電子回路のエレメントを備えたディスクドライブの動作線図を図示する。
【図３】図３は、図１のディスクドライブの電力状態ダイアグラムを図示する。
【図４】図４は、１つ以上の実施形態による、磁気記憶デバイスを含んでいるデータストレージデバイスにおける電源管理のための方法ステップのフローチャートを示す。
【発明を実施するための形態】
【００１１】
上記に列挙された実施形態の特徴が詳細に理解されることができる方法で、上記に簡潔に要約された実施形態のより具体的な説明が、添付された図面を参照することにより、されることができる。しかしながら、本発明は、他の同等に効果的な実施形態が存在し得るため、添付された図面は典型的な実施形態のみを示しており、したがって、それらは特許請求の範囲を限定するものと見なされるべきでない、ということに留意されるべきである。
【００１２】
明確にするために、図間で共通な同一のエレメントを示すために、適用可能な、同一の参照番号が使用されている。一実施形態の特徴が他の実施形態に組み込まれることができるということが、更なる説明無しに意図されている。
【００１３】
図１は、一実施形態による例示的なディスクドライブの略図である。明確にするために、ディスクドライブ１００は、上部カバー無しで図示されている。ディスクドライブ１００は、少なくとも１枚のストレージディスク１１０を含んでおり、ストレージディスク１１０は、スピンドルモータ１１４によって回転し、複数の同心データストレージトラックを含んでいる。スピンドルモータ１１４は、ベースプレート１１６上にマウントされている。アクチュエータアームアセンブリ１２０もまた、ベースプレート１１６上にマウントされ、データをデータストレージトラックから読み出し、データストレージトラックへ書き込むリード／ライトヘッド１２７を備えて、屈曲アーム１２２にマウントされたスライダ１２１有する。屈曲アーム１２２は、ベアリングアセンブリ１２６を中心に回転するアクチュエータアーム１２４に付けられている。ボイスコイルモータ１２８は、ストレージディスク１１０に対してスライダ１２１を動かし、それによって、ストレージディスク１１０の表面１１２に配置された所望の同心データストレージトラック上にリード／ライトヘッド１２７を位置づける。スピンドルモータ１１４、リード／ライトヘッド１２７、およびボイスコイルモータ１２８は、プリント基板１３２にマウントされている電子回路１３０に結合されている。電子回路１３０は、リード／ライトチャネル１３７、マイクロプロセッサをベースにしているコントローラ(microprocessor-based controller)１３３、ランダムアクセスメモリ（ＲＡＭ）１３４（それはダイナミックＲＡＭであってもよく、データバッファとして使用される）、および/または、フラッシュメモリデバイス１３５およびフラッシュマネージャデバイス１３６を含む。いくつかの実施形態においては、リード／ライトチャネル１３７およびマイクロプロセッサをベースにしているコントローラ１３３は、例えばシステムオンチップ１３１のような、シングルチップに含まれている。いくつかの実施形態においては、ディスクドライブ１００はさらに、モータドライバチップ１２５を含むことができ、それは、マイクロプロセッサをベースにしているコントローラ１３３からコマンドを受け入れ、スピンドルモータ１１４およびボイスコイルモータ１２８の両方をドライブする。
【００１４】
明確にするために、ディスクドライブ１００は、単一のストレージディスク１１０および単一のアクチュエータアームアセンブリ１２０を用いて図示されている。ディスクドライブ１００はまた、多数のストレージディスクおよび多数のアクチュエータアームアセンブリを含んでいてもよい。さらに、ストレージディスク１１０の各サイドは、屈曲アームに結合された関連のリード／ライトヘッドを有することができる。
【００１５】
データが、ストレージディスク１１０に、あるいはストレージディスクから転送されるとき、アクチュエータアームアセンブリ１２０は、ストレージディスク１１０の内径（ＩＤ）と外径（ＯＤ）との間で弧を描くように動く。アクチュエータアームアセンブリ１２０は、電流がボイスコイルモータ１２８のボイスコイルを通して一方向に流れるとき、一角方向に加速し、電流が逆のとき、反対方向に加速し、そうすることによって、ストレージディスク１１０に関してアクチュエータアームアセンブリ１２０および付けられたリード／ライトヘッド１２７の位置の制御を可能にする。ボイスコイルモータ１２８は、当技術において知られているサーボシステムと結合されており、サーボシステムは、特定のデータストレージトラック上でリード／ライトヘッド１２７の位置を決定するために、リード／ライトヘッド１２７によってストレージディスク１１０上でサーボウエッジから読み出されたポジショニングデータを使用する。サーボシステムは、ボイスコイルモータ１２８のボイスコイルを通ってドライブするために適切な電流を決定し、現在のドライバおよび関連する回路を使用して該電流をドライブする。
【００１６】
ディスクドライブ１００は、典型的なオペレーションにおいて、不揮発性データストレージが、ストレージディスク１１０を使用して一般に実行されるだけであるディスクドライブとして構成されることができる。あるいは、ディスクドライブ１００は、不揮発性データストレージが、ストレージディスク１１０、および／またはフラッシュメモリデバイス１３５を使用して実行されることができるハイブリッドドライブとして構成されることができる。ハイブリッドドライブにおいて、例えばフラッシュメモリデバイス１３５のような不揮発性メモリは、低電力消費のみならず、高速の起動、ハイバネーション、レジューム、および他のデータリード−ライトオペレーションを提供するために、回転ストレージディスク１１０を補完する。このようなハイブリッドドライブ構成は、例えばモバイルコンピュータあるいは他のモバイルコンピューティングデバイスのような、バッテリで動作するコンピュータシステムには特に利点がある。好ましい実施形態においては、フラッシュメモリデバイス１３５は、例えば、電気的に消去され再プログラムされることができるＮＡＮＤフラッシュチップのような、不揮発性ソリッドステートストレージメディアであり、不揮発性記憶媒体としてディスクドライブ１００におけるストレージディスク１１０を補完する大きさに作られる。例えば、いくつかの実施形態においては、フラッシュメモリデバイス１３５は、ＲＡＭ１３４よりも大きいオーダの(that is orders of magnitude larger than)データストレージキャパシティ、例えば、ギガバイト（ＧＢ）対メガバイト（ＭＢ）、を有している。
【００１７】
図２は、一実施形態に従って構成された、示された電子回路１３０のエレメントを備えたディスクドライブの動作線図を図示する。示されるように、ディスクドライブ１００は、ＲＡＭ１３４、フラッシュメモリデバイス１３５、フラッシュマネージャデバイス１３６、システムオンチップ１３１、および高速データパス１３８を含んでいる。ディスクドライブ１００は、例えばシリアルＡＴＡ（ＳＡＴＡ）バスのような、ホストインターフェース２０を経由して、例えばホストコンピュータのような、ホスト１０に接続されている
図２において図示された実施形態においては、フラッシュマネージャデバイス１３６は、高速データパス１３８とフラッシュメモリデバイス１３５とのインターフェースを制御し、ＮＡＮＤインターフェースバス１３９経由でフラッシュメモリデバイス１３５に接続されている。システムオンチップ１３１は、ハイブリッドドライブ１００の動作を制御するために、マイクロプロセッサをベースにしているコントローラ１３３および他のハードウェア（リード／ライトチャネル１３７を含む）を含んでおり、高速データパス１３８を経由してＲＡＭ１３４およびフラッシュマネージャデバイス１３６に接続されている。マイクロプロセッサをベースにしているコントローラ１３３は、例えばＡＲＭマイクロプロセッサなどのようなマイクロコントローラ、ハイブリッドドライブコントローラ、およびディスクドライブ１００内の任意のコントロール回路を含むことができる、コントロールユニットである。高速データパス１３８は、例えば、ダブルデータレート（ＤＤＲ）バス、ＤＤＲ２バス、ＤＤＲ３バス、あるいは同等のものであるような、技術的に知られている高速バスである。
【００１８】
一般に、ディスクドライブのような回転可能なストレージディスクを備えたデータストレージデバイスは、データストレージデバイスがホストデバイスからの読み出しまたは書き込みコマンドを満たすためには使用されていないときに、より低い電力消費状態に変更することにより、エネルギ使用を最小限にするように構成されることができる。これは、例えばラップトップコンピュータのような電池式のデバイスにおいて使用されるディスクドライブについて、特に当てはまる(true)。例えば、データストレージデバイスが、予め決められた時間の間、ホストコマンドを受け取っていないときに、データストレージデバイスは、アクティブなサーボ状態から中間電力消費状態、パーク状態、あるいはスタンバイ状態に変わることができる。対照的に、様々な実施形態によれば、回転可能なストレージディスクあるいはデータストレージデバイスのディスクが、読み出しまたは書き込みコマンドを満たすためにはアクセスされていない時間間隔に基づいて、データストレージデバイスは、第１の電力消費状態から、第２の電力消費状態へと変わる。例えば、図１および２の中において図示されたディスクドライブ１００に関して、読み出しまたは書き込みコマンドが、ＲＡＭおよび／またはフラッシュメモリデバイス１３５を使用して排他的に満たされるとき、ストレージディスク１１０がアクセスされていないので、アクチュエータアームアセンブリ１２０、ボイスコイルモータ１２８、スピンドルモータ１１４、リード／ライトチャネル１３７、および／または、マイクロプロセッサをベースにしているコントローラ１３３は、より低い電力消費状態において動作されることができる。
【００１９】
図３は、多数の電力状態およびディスクドライブの電力状態遷移を含むディスクドライブ１００の電力状態ダイアグラム３００を図示する。電力状態ダイアグラム３００における電力状態は、アクティブなサーボ状態３１０、中間電力消費状態３２０、パーク状態３３０、スタンバイ状態３４０、およびスリープ状態３５０を含む。電力状態ダイアグラム３００における状態遷移は、フロートタイマ終了３１１、スタンバイ遷移３１２、スリープコマンド３１３、パークタイマ終了３２１、およびアクティブなサーボ遷移３４１を含んでいる。電力状態ダイアグラム３００のエレメントが、ディスクドライブ１００の観点から説明されているが、電力状態ダイアグラム３００は、回転可能なストレージディスクを含んでいる任意の適切なデータストレージデバイスに適用可能である、ということが認識されるべきである。
【００２０】
アクティブなサーボ状態３１０は、ホスト１０からの、あるいはディスクドライブ１１０それ自体によって起動された読み出しおよび書き込みコマンドの実行を容易にするディスクドライブ１００の通常動作、を表わす。アクティブなサーボ状態３１０において、ディスクドライブ１００のサーボシステムは、ボイスコイルモータ１２８、アクチュエータアーム１２４、およびリード／ライトチャネル１３７を使用して、ストレージディスク１１０上の個々のトラックに対して、リード／ライトヘッド１２７の位置を積極的に制御する。読み出しまたは書き込みコマンドが、ディスクドライブ１００によってサービスを提供されていないときに、ディスクドライブ１００はアクティブなサーボ状態３１０にある可能性があるということに、注意が必要である。しかしながら、アクティブなサーボ状態３１０では、マイクロプロセッサをベースにしているコントローラ１３３、およびリード／ライトチャネル１３７によって、かなりの電気エネルギが使用されるので、いくつかの実施形態においては、１つ以上の条件が満たされるときに、ディスクドライブ１００は、より低い電力消費状態へ変わる。図３において示されるように、これらの条件は、フロートタイマ終了３１１、スタンバイ遷移３１２、およびコマンド３１３、のうちの１つ以上を含むことができる。
【００２１】
フロートタイマ終了３１１が生じるとき、ディスクドライブ１００は、アクティブなサーボ状態３１０から中間電力消費状態３２０に変わり、このことは下記に説明される。予め決められた時間の期間を超えてストレージディスク１１０にアクセスすることによりコマンドが満たされないときに、フロートタイマ終了３１１は有効になるように構成されることができる。例えば、そのような予め決められた期間の典型的な持続期間は、およそ５０から１５０ミリセカンドであってもよい。いくつかの実施形態においては、コマンド、すなわち、読み出しまたは書き込みコマンドが、ストレージディスク１１０にアクセスすることにより満たされるとき、フロートタイマは起動される。受け取られたコマンドがストレージディスク１１０にアクセスすることにより満たされるとき、フロートタイマはゼロにリセットされ、再起動される。このように、フロートタイマが上記に説明された予め決められた期間を超えるときに、フロートタイマ終了３１１は有効になり、ディスクドライブ１００は、中間電力消費状態３２０に変わる。いくつかの実施形態においては、ストレージディスク１１０にアクセスすることにより満たされたどの読み出しまたは書き込みコマンドも、フロートタイマをゼロにリセットする、また、他の実施形態においては、ストレージディスク１１０にアクセスすることにより両方が満たされ、そして、ホスト１０から受け取られる読み出しまたは書き込みコマンドのみが、フロートタイマをゼロにリセットする。
【００２２】
ストレージディスク１１０にアクセスせずに満たされる（ホスト１０からディスクドライブ１００によって受け取られた、あるいは、ディスクドライブ１００それ自体によって起動された）コマンドは、上記に説明されたフロートタイマをリセットしない、ということに注意が必要である。従って、たとえ、読み出しまたは書き込みコマンドが、頻繁に、ホスト１０からディスクドライブ１００によって受け取られた、あるいは、ディスクドライブ１００によって起動されたとしても、該コマンドが、ストレージディスク１１０ではなく、ＲＡＭ１３４および／またはフラッシュメモリデバイス１３５にアクセスすることにより満たされるときは、ストレージディスク１１０に関連したディスクドライブ１００の一部は、アクティブなサーボ状態３１０から中間電力消費状態３２０に変更されることができる。
【００２３】
スタンバイ遷移３１２が生じるとき、ディスクドライブ１００は、現在のエネルギ消費状態からスタンバイ状態３４０に変わり、スタンバイ状態３４０においては、ディスクドライブ１００はストレージディスク１１０をスピンダウンし、リード／ライトヘッド１２７はパークされ(is parked)、そして、ディスクドライブ１００は、機械的な動作に関しエネルギを基本的に消費しない。ディスクドライブ１００が、アクティブなサーボ状態３１０、中間電力消費状態３２０、およびパーク状態３３０を含むいくつかの電力状態のうちの１つにあるとき、スタンバイ遷移３１２が生じ得る。いくつかの実施形態においては、次の２つの条件のうちのいずれかの１つが満たされるとき、スタンバイ遷移３１２は有効となるように構成されることができる：  １）予め決められた時間の期間を超えてストレージディスク１１０にアクセスすることによりホスト１０からのコマンドが満たされない、そして、２）「スタンバイ」コマンドがホスト１０から受け取られるとき。他の実施形態においては、スタンバイ遷移３１２は、１）ホスト１０からの、あるいは、ディスクドライブ１００によって起動されたコマンドが、予め決められた時間の期間を超えてストレージディスク１１０にアクセスすることにより満たされないとき、そして、２）「スタンバイ」コマンドがホスト１０から受け取られるときに、有効となるように構成されることができる。
【００２４】
一般に、スタンバイ遷移３１２に関連した時間の予め決められた期間は、フロートタイマ終了３１１に関連した時間の予め決められた期間よりも実質上長い。例えば、スタンバイ遷移３１２を開始することに関連した時間の典型的な持続期間は、ミリセカンドというよりも数分のオーダであるである可能性がある。いくつかの実施形態においては、コマンドがストレージディスク１１０にアクセスすることにより満たされるとき、スタンバイタイマは起動され、また、コマンドがストレージディスク１１０にアクセスすることにより次に満たされるとき、スタンバイタイマはゼロにリセットされ、再起動される。他の実施形態においては、ホスト１０から受け取られたコマンドがストレージディスク１１０にアクセスすることにより満たされるとき、スタンバイタイマは起動されるが、一方、ディスクドライブ１１０によって起動され、ストレージディスク１１０にアクセスすることにより満たされるコマンドは、スタンバイタイマをゼロにリセットしない。
【００２５】
スタンバイ遷移３１２が生じるとき、すなわち、スタンバイタイマが、上記に説明された予め決められた期間を超えるとき、ディスクドライブ１００はスタンバイ状態３４０に変わる。いくつかの実施形態においては、１）ホスト１０から受け取られた、あるいは、ディスクドライブ１００自体によってそれ起動され、そして、２）ストレージディスク１１０にアクセスせずに満たされる、コマンドは、一般に、ここにおいて説明されたスタンバイタイマをリセットしない。
【００２６】
スリープコマンド３１３は、ホスト１０から受け取られたとき、ディスクドライブ１００を現在の電力状態からスリープ状態３４０に変わらせる。ディスクドライブ１００が、アクティブなサーボ状態３１０、中間電力消費状態３２０、およびパーク状態３３０を含むいくつかの電力状態のうちの１つにあるとき、スリープコマンド３１３は発生し得る。
【００２７】
リード／ライトヘッド１２７の連続的な位置制御を提供するためにディスクドライブ１００のサーボシステムが使用されない中間電力消費状態３２０は、アクティブなサーボ状態３１０よりも少ない電力を使用し、パーク状態３３０よりも多い電力を使用する。例えば、いくつかの実施形態においては、マイクロプロセッサをベースにしているコントローラ１３３は、リード／ライトヘッド１２７を所定の位置に(in place)保持するために、ボイスコイルモータ１２８に予め決められた一定のバイアスを加えることができ、それによって、リード／ライトヘッド１２７の位置を積極的にサーボ機構により制御するというよりは、リード／ライトヘッド１２７を「フロートする(floating)」。代替の実施形態においては、低周波のサーボモードが、中間電力消費状態３２０において使用されることができ、そこにおいては、限定されたサーボ制御が、近似の場所においてリード／ライトヘッド１２７の位置を決めるために使用される。例えば、ディスクドライブ１００のサーボシステムは、ストレージディスク１１０の各回転についての単一あるいは比較的少ない数のサンプルのためにアクティブにされる(activated)ことができるので、リード／ライトヘッド１２７の位置は、ストレージディスク１１０の特定のデータストレージトラックにわたってリード／ライトヘッド１２７を常にサーボ機構により制御することに関連した比較的高いエネルギコスト無しで、近似的に知られる。
【００２８】
アクティブなサーボ状態３１０よりも少ないエネルギを使用している間、中間電力消費状態３２０は、ストレージディスク１１０にアクセスすることを伴う読み出しまたは書き込みコマンドへの比較的速い応答を可能にする。例えば、ディスクドライブ１００が、中間電力消費状態３２０にあり、読み出しまたは書き込みコマンドを受け取るとき、該コマンドに応じてストレージディスク１１０上の所望の場所をシークしようとしていること(seeking)は、数ミリセカンドから数十ミリセカンドで完了されることができる。対照的に、ディスクドライブがパーク状態３２０にあるとき、該コマンドに応じてストレージディスク１１０上の所望の場所をシークしようとしていることは、一般に、数百ミリセカンドを必要とする。いくつかの実施形態においては、ディスクドライブ１００は、１つ以上の条件が満たされるとき、中間電力消費状態から、より低い電力消費状態３２０へ変わる。図３において示されるように、これらの条件は、スタンバイ遷移３１２、スリープコマンド３１３（両方は上記に説明されている）、およびパークタイマ終了３２１のうちの１つ以上を含むことができる。
【００２９】
パークタイマ終了３２１が生じるとき、ディスクドライブ１００は、中間電力消費状態からパーク状態３３０に変わる。パーク状態３３０においては、ストレージディスク１１０は、正常な回転速度で回り続けるが、しかし、リード／ライトヘッド１２７は、データストレージディスクを回転させることに対する空気力学抵抗を低減するためにパークされる。このような方法で、ストレージディスク１１０の回転のために必要な電流は減少する。更に、パーク状態３３０においては、リード／ライトヘッド１２７は、ディスクドライブ１００が遭遇する機械的な衝撃から保護される。パークタイマ終了３２１は、コマンドが予め決められた時間の期間を超えてストレージディスク１１０にアクセスすることにより満たされないときに、有効になるように構成されることができる。
【００３０】
あるいは、パークタイマ終了３２１は、ホスト１０からのコマンドが予め決められた時間の期間を超えてストレージディスク１１０にアクセスすることにより満たされないときに、有効になるように構成されることができる。
【００３１】
一般に、パークタイマ終了３２１に関連した予め決められた時間の期間は、フロートタイマ終了３１１に関連した期間より実質上長い。例えば、パークタイマ終了３２１に関連した時間の典型的な持続期間は、フロートタイマ終了３１１に関連したミリセカンドというよりも数分のオーダである可能性がある。いくつかの実施形態においては、コマンドがストレージディスク１１０にアクセスすることにより満たされるとき、パークタイマは起動される。また、パークタイマはゼロにリセットされ、コマンドがストレージディスク１１０にアクセスすることにより満たされるとき、再起動される。パークタイマ終了３２１が生じるとき、すなわち、パークタイマが上記に説明された予め決められた期間を超えるとき、ディスクドライブ１００はパーク状態３３０に変わる。ストレージディスク１１０にアクセスすること無しに満たされるコマンドは、ここにおいて説明されたパークタイマを、一般にリセットしない、ということに注意が必要である。例えば、コントローラ１３３がフラッシュメモリデバイスの中に保存されたデータはデータストレージディスク１１０上に書き込まれるべきであると決定するとき、該コマンドは、ホスト１０からディスクドライブ１００によって受け取られる、あるいは、ディスクドライブ１００自体によって起動されることができる。
【００３２】
ある特定の事象が発生するときに、例えば、フロートタイマ終了３１１、スタンバイ遷移３１２、スリープコマンド３１３、およびパークタイマ終了３２１のときに、より低い電力消費状態に変わることに加えて、ディスクドライブ１００はまた、ある特定の事象が発生するときに、より高い電力消費状態に変わることができるように構成されることができる。具体的には、アクティブなサーボ遷移３４１が生じるとき、図３において示されるように、ディスクドライブ１００は、アクティブなサーボ状態３１０に変わるように構成されることができる。いくつかの実施形態においては、読み出しまたは書き込みのコマンドがストレージディスク１１０にアクセスすることにより満たされるとき、アクティブなサーボ遷移３４１が起こる。例えば、ホスト１０からの読み出しコマンドに関連したデータの現在のバージョンが、ＲＡＭ１３４あるいはフラッシュメモリ１３５の中に保存されていない場合は、ストレージディスク１１０は、該読み出しコマンドを満たすためにマイクロプロセッサをベースにしているコントローラ１３３によってアクセスされる。したがって、ディスクドライブ１００が、例えばスタンバイ状態３４０あるいはパーク状態３３０のような低い電力消費状態であるときでさえ、ディスクドライブ１００は、アクティブなサーボ状態３１０に変わるので、ストレージディスク１１０は、ホスト１０から受け取られたコマンドを満たすためにアクセスされることができる。
【００３３】
いくつかの実施形態においては、フラッシュメモリデバイス１３５からストレージディスク１１０にフラッシュされるデータ(data being flushed to storage disk 110 from flash memory device 135)に応じて、ディスクドライブ１００はアクティブなサーボ状態３１０に変わることができる。例えば、ディスクドライブ１００がハイブリッドドライブとして構成されている場合、フラッシュメモリデバイス１３５の一部分は「ダーティ(dirty)」データを保存するために使用されることができる、なお、「ダーティ」データは、フラッシュメモリデバイス１３５の中のみで保存され、ストレージディスク１１０上に保存されないデータである。更に、ディスクドライブ１００もまた、ダーティデータを保存するために使用されるフラッシュメモリデバイス１３５の該部分について、予め決められた最大のしきい値を保持するように構成されることができる。最大のしきい値を超えるとき、ディスクドライブ１００は、一般に、超過分のダーティデータをストレージディスク１１０へ「フラッシュする」、すなわち、ディスクドライブ１００は、超過分のダーティデータの対応するコピーをストレージディスク１１０上に書き込み、そして、「非ダーティ(non-dirty)」データとして、フラッシュメモリデバイス１３５においてコピーされたデータにフラグを立てる。したがって、いくつかの状況において、ディスクドライブ１００が、たとえ、中間電力消費状態３２０、パーク状態３３０、あるいはスタンバイ状態３４０にあるとしても、ディスクドライブ１００は、ストレージディスク１１０へダーティデータをフラッシュすることができる。そのような状況で、データフラッシイングプロセスが実行されることができるように、ディスクドライブ１００はアクティブなサーボ状態３１０に変わる。例えば、フロートタイマ終了３１１、スタンバイ遷移３１２、スリープコマンド３１３、あるいはパークタイマ終了３２１の結果として、ディスクドライブ１００がより低い電力消費状態へ変わり、その後に、ホスト１０は、ディスクドライブ１００に書き込みコマンドを送ることができる。通常、ストレージディスク１１０に関連したディスクドライブ１００の部分をアクティブにすることを防ぐために、ディスクドライブ１００は、フラッシュメモリデバイス１３５への書き込みデータを直接受け入れることができる。しかしながら、フラッシュメモリデバイス１３５が一杯である(is full)、または、既に最大許容量のダーティデータを保存している場合、マイクロプロセッサをベースにしているコントローラ１３３は、ディスクドライブ１００の電力状態をアクティブなサーボ状態３１０に変更し、フラッシュメモリデバイス１３５中のダーティデータをストレージディスク１１０にコピーし始めるであろう。
【００３４】
いくつかの実施形態においては、ホスト１０からのコマンドに応じてそのほかのアクティビティの結果として、ストレージディスク１１０はアクセスされることができる。好都合に、そのような実施形態においては、ホストコマンドに応じてストレージディスク１１０が最後にアクセスされてから経過した時間を測定するためのタイマは、該非ホスト関連の結果としてストレージディスク１１０がアクセスされるときに影響されない可能性がある。例えば、フラッシュメモリデバイス１３５あるいはＲＡＭ１３４からフラッシュされるダーティデータは、そのような非ホスト関連のアクティビティとみなさなされることができる。
【００３５】
図４は、１つ以上の実施形態による、磁気記憶デバイスを含んでいるデータストレージデバイスにおける電源管理のための方法ステップのフローチャートを示す。方法ステップは、図１および２におけるディスクドライブ１００に関連して説明されているが、当業者は、方法４００が他のタイプのデータストレージシステムを用いて実行されることができることを、理解するであろう。方法４００についての制御アルゴリズムは、マイクロプロセッサをベースにしているコントローラ１３３、ホスト１０、あるいは他の適切な制御回路あるいはシステムに常駐することができ、および／または、マイクロプロセッサをベースにしているコントローラ１３３、ホスト１０、あるいは他の適切な制御回路あるいはシステムによって実行されることができる。明確にするために、方法４００は、ステップ４１０−４５０を実行するマイクロプロセッサをベースにしているコントローラ１３３の観点から説明されている。
【００３６】
示されるように、方法４００はステップ４１０において始まる、なお、ここでは、マイクロプロセッサをベースにしているコントローラ１３３あるいは他の適切な制御回路あるいはシステムが、ストレージディスク１１０へのアクセスを要求するコマンドを受け取る。例えば、読み出しコマンドに関連したデータの最新のバージョンのみが、ストレージディスク１１０上に保存されているとき、ステップ４１０において受け取られたコマンドは、読み出しコマンドであり得る。別の例においては、書き込みコマンドに関連したデータを保存するためのフラッシュメモリデバイス１３５および／またはＲＡＭ１３４において利用可能であるストレージスペースが十分でない場合、ステップ４１０において受け取られたコマンドは、書き込みコマンドであり得る。さらに別の例においては、ステップ４１０において受け取られたコマンドは、ディスクドライブ１００がフラッシュメモリデバイス１３５および／またはＲＡＭの中のいくつかあるいはすべてのダーティデータをストレージディスク１１０にフラッシュすることを要求するホスト１０からのフラッシュ−キャッシュ コマンドであり得る。さらに別の例においては、例えばフラッシュメモリデバイス１３５が最大の所望量以上のダーティデータを保存するようなとき、ステップ４１０において受け取られたコマンドは、ディスクドライブ１００自体によって起動された書き込みコマンドであり得る。
【００３７】
ステップ４２０において、マイクロプロセッサをベースにしているコントローラ１３３は、ステップ４１０で受け取られたコマンドに応じてストレージディスク１１０へのアクセスを制御する。ステップ４２０において、データは、ステップ４１０で受け取られたコマンドを満たすためにストレージディスク１１０から読むために書き込まれる、および／または、ストレージディスク１１０から読み出される。
【００３８】
ステップ４３０において、ステップ４２０でアクセスされているストレージディスク１１０に応じて、タイマファンクションあるいは他の技術的に実現可能な時間測定技術を始める。一般に、タイマファンクションは、ステップ４２０におけるストレージデバイス１１０へのアクセスが完了すると始められるが、いくつかの実施形態においては、該アクセスと共に始められることができる。
【００３９】
ステップ４４０において、マイクロプロセッサをベースにしているコントローラ１３３は、ステップ４３０で始められたタイマファンクションによって測定された時間間隔をチェックする。いくつかの実施形態においては、ステップ４４０は、周期的に例えば１０ミリセカンドごとに実行される。該タイマファンクションによって測定された時間間隔が予め決められた値を超えるとき、すなわち、所望の時間間隔が経過したとき、方法４００はステップ４４１に進む。該タイマファンクションによって測定された時間間隔が予め決められた値を超えないとき、すなわち、所望の時間間隔がまだ経過していないとき、方法４００はステップ４５０に進む。
【００４０】
様々な実施形態によれば、図３と共に上記に説明されたように、問題の時間間隔は、より低い電力消費状態への電力状態遷移のうちの１つに関連している。具体的には、いくつかの実施形態においては、ステップ４４０で参照される時間間隔は、フロートタイマ終了３１１に関連した時間であり、したがって、持続期間で１０から１００のオーダのミリオンセカンド(on the order of 10s to 100s of milliseconds)であり得る。他の実施形態においては、ステップ４４０で参照される時間間隔は、スタンバイ遷移３１２に関連した時間であり、したがって、持続期間で数分から数十分のオーダであり得る、また、いくつかのインスタンスにおいては、ホスト１０によって定義されることができる。さらに他の実施形態においては、ステップ４４０で参照される時間間隔は、パークタイマ終了３２１に関連した時間であり、したがって、持続期間で数分以上のオーダであり得る。
【００４１】
ステップ４４１において、マイクロプロセッサをベースにしているコントローラ１３３は、ディスクドライブ１００の電力状態を、現在の電力状態、例えば、アクティブなサーボ状態３１０から、所望のより低い電力消費状態、例えば、中間電力消費状態３２０、パーク状態３３０、あるいはスタンバイ状態３４０などに、変更する。いくつかの実施形態では、ステップ４４１において、ディスクドライブ１１０を、例えばスタンバイ状態３４０のようなさらに低いエネルギ消費状態に変更させる条件をチェックするような、ここに説明された追加の電源管理プロセスが起動される。そのような実施形態においては、該条件は、コマンドを満たすためにストレージディスク１１０がアクセスされてからの経過時間である。確にするために、そのような追加の電源管理プロセスを図示するブロックは、図４からは省略されている。
【００４２】
いくつかの実施形態においては、方法４００の過程において、ディスクドライブ１００は、ホスト１０からのスタンバイコマンドに応じてスタンバイ状態３４０に変更されることができる。そのような実施形態においては、スタンバイコマンドが、ホスト１０からマイクロプロセッサによって受け取られるとき、マイクロプロセッサをベースにしているコントローラ１３３は、方法４００を終了し、そして直ちに、ディスクドライブ１０をスタンバイ状態３４０に変更する。
【００４３】
ステップ４５０において、マイクロプロセッサをベースにしているコントローラ１３３は、ステップ４２０以降受け取られたコマンドを満たすために、ストレージディスク１１０へのアクセスが要求されているのかどうかを決定する。そのようなリクエストがマイクロプロセッサをベースにしているコントローラ１３３によって受け取られている場合は、方法４００は、ステップ４２０に戻り、ここで、該コマンドは、ストレージディスク１１０にアクセスすることにより満たされる。そのような要求が、ステップ４２０以降マイクロプロセッサをベースにしているコントローラ１３３によって受け取られていない場合は、図４において示されるように、方法４００は、ステップ４４０に戻る。
【００４４】
ステップ４５０においては、ストレージディスク１１０が該ホストコマンドに応じてアクセスされない限り、ステップ４３０で始められたタイマファンクションをリセットせずに、ステップ４２０以降、１つ以上のコマンドがディスクドライブ１００によって受け取られることができる、ということに注意が必要である。例えば、ＲＡＭ１３４および／またはフラッシュメモリデバイス１３５を使用して満たされる読み出しまたは書き込みのコマンドは、４０１においてタイマファンクションをリセットしない。同様に、いくつかの実施形態においては、非ホスト関連のアクティビティとしてディスクドライブ１００によって内部で実行されるとき、フラッシュメモリデバイス１３５からストレージディスク１１０へのダーティデータのフラッシング(flushing of dirty data)は、該タイマファンクションをリセットしない。他の実施形態においては、非ホスト関連のアクティビティとしてディスクドライブ１００によって内部で実行されるとき、フラッシュメモリデバイス１３５からストレージディスク１１０へのダーティデータのフラッシングは、いくつかのタイマファンクション（例、フロートタイマ終了３１１のためのフロートタイマ、あるいはパークタイマ終了３２１のためのパークタイマ）をリセットするが、他（例、スタンバイ遷移３１２のためのスタンバイタイマ）についてはリセットしない。更に、アクティブなサーボ状態３１０よりも電力消費が低い、中間電力消費状態３２０、パーク状態３３０、およびスタンバイ状態３４０を含むディスクドライブ１００に関連した電力状態のうちのいずれかに、ディスクドライブ１００を変更するために、方法４００が使用されることができる、ということに注意が必要である。
【００４５】
ここに説明された様々な実施形態はハードディスクドライブに関するが、実施形態はまた、例えば光ディスクドライブのようなデータストレージディスクを含んでいるデータストレージデバイスを含む。
【００４６】
要するに、ここに説明された実施形態は、データストレージデバイスにおける電源管理のためのシステムおよび方法を提供する。データストレージデバイスは、時間間隔に基づいて磁気記憶デバイスの１以上の電力状態を選ぶ、なお、該時間間隔の間、磁気記憶デバイスはホストコマンドに応じてアクセスされない。従って、たとえデータストレージデバイスが積極的にホストデバイスにサービスを提供するとしても、磁気記憶デバイスは、有利に、より低い電力消費状態に変更されることができる。
【００４７】
上記のことは、特定の実施形態を対象としているが、他のおよびさらなる実施形態が、本発明の基本的な範囲から逸脱することなく考え出されることができ、そして、本発明の範囲は、添付の特許請求の範囲によって決定される。
【符号の説明】
【００４８】
１０…ホスト、１００…ディスクドライブ、１１０…ストレージディスク、１２７…リード／ライトヘッド、１３０…電子回路、１３１…システムオンチップ（ＳｏＣ）、１３２…プリント基板、１３３…コントローラ、１３４…ランダムアクセスメモリ（ＲＡＭ）、１３５…フラッシュメモリデバイス、１３６…フラッシュマネージャデバイス（ＦＭＧＲ）、３００…電力状態ダイアグラム、３１０…アクティブなサーボ状態、３２０…中間電力消費状態、３３０…パーク状態３４０…スタンバイ状態、３５０…スリープ状態
【図１】
2014175036.tif 000003
【図２】
2014175036.tif 000004
【図３】
2014175036.tif 000005
【図４】
2014175036.tif 000006