(57)【要約】【課題】磁気ストレージデバイスと不揮発性ストレージデバイスを含むデータストレージデバイスにおける電力管理を提供すること。【解決手段】実施形態によれば、磁気ストレージデバイスと不揮発性ストレージデバイスを具備するデータストレージデバイスにおける電力管理の方法は、前記磁気ストレージデバイスがアクセスされるたびに時間期間を設定することと、前記不揮発性ストレージデバイスに対するアクセスである、前記データストレージデバイスへのアクセス数を測定することと、前記不揮発性ストレージデバイスに対するアクセスである、前記データストレージデバイスへの前記測定されたアクセス数に基づいて、前記時間期間の長さを調整することとを具備し、前記磁気ストレージデバイスは、引き続いての磁気ストレージデバイスアクセスなしで、前記時間期間が満了したときに、低電力消費状態へと変更される。【選択図】図３
2015041378.tif 000002
【特許請求の範囲】
【請求項１】
磁気ストレージデバイスと不揮発性ストレージデバイスを具備するデータストレージデバイスにおける電力管理の方法であって、
前記磁気ストレージデバイスがアクセスされるたびに時間期間を設定し、前記磁気ストレージデバイスは、引き続いての磁気ストレージデバイスアクセスなしで、前記時間期間が満了したときに、低電力消費状態へと変更され、
前記不揮発性ストレージデバイスに対するアクセスである、前記データストレージデバイスへのアクセス数を測定し、
前記不揮発性ストレージデバイスに対するアクセスである、前記データストレージデバイスへの前記測定されたアクセス数に基づいて、前記時間期間の長さを調整すること、
を具備する方法。
【請求項２】
前記時間期間の長さを調整することは、前記アクセス数がしきい値を超えるときに、前記時間期間の長さをデクリメントさせることと、前記アクセス数が前記しきい値を下回るときに、前記時間期間の長さをインクリメントさせることとを具備する、請求項１記載の方法。
【請求項３】
前記時間期間の長さをデクリメントさせることは、前記時間期間を、予め規定された時間デクリメント値により減少させることを具備し、
前記時間期間の長さをインクリメントさせることは、前記時間期間を、予め規定された時間インクリメント値により増加させることを具備する、請求項２記載の方法。
【請求項４】
前記データストレージデバイスに対するアクセスの総数を測定することをさらに具備し、
前記アクセスの総数は、前記不揮発性ストレージデバイスに対するアクセスおよび前記磁気ストレージデバイスに対するアクセスを含む、請求項１記載の方法。
【請求項５】
前記不揮発性ストレージデバイスに対するアクセス数と、前記データストレージデバイスに対するアクセスの総数との割合を決定することをさらに具備する、請求項４記載の方法。
【請求項６】
前記割合の変化率を決定することをさらに具備し、
前記時間期間の長さを調整することは、前記変化率に少なくとも部分的に基づいている、請求項５記載の方法。
【請求項７】
前記時間期間の長さを調整することは、前記割合がしきい値を超えるときに、前記時間期間の長さをデクリメントさせることと、前記割合が前記しきい値を下回るときに、前記時間期間の長さをインクリメントさせることとを具備する、請求項５記載の方法。
【請求項８】
前記低電力消費状態は、アクティブサーボ状態より低い電力を使用する電力消費状態を具備する、請求項１記載の方法。
【請求項９】
前記低電力消費状態は、
１）前記磁気ストレージデバイスのサーボシステムが、前記磁気ストレージデバイスのリード／ライトヘッドの連続的位置制御をもたらすのに使用されないフロート状態と、
２）前記磁気ストレージデバイスのサーボシステムが、前記磁気ストレージデバイスのストレージディスク上のサーボウェッジの部分だけを使用して、前記磁気ストレージデバイスのリード／ライトヘッドの位置制御を提供する低周波数サーボ状態と、
３）前記磁気ストレージデバイスのリード／ライトヘッドがパークされるパーク状態と、
４）前記磁気ストレージデバイスのストレージディスクが旋回していないスタンバイ状態とのうちの１つを具備する、請求項８記載の方法。
【請求項１０】
磁気ストレージデバイスと不揮発性ストレージデバイスを具備するデータストレージデバイスにおける電力管理の方法において、
前記磁気ストレージデバイスがアクセスされるたびに時間期間を設定することと、
前記磁気ストレージデバイスが次にアクセスされる時間が、前記時間期間が満了した後の予め定められた時間間隔内であるか否かを決定することと、
前記磁気ストレージデバイスが次にアクセスされる時間が、前記予め定められた時間間隔内であるか否かに基づいて、前記時間期間の長さを調整することと
を具備し、
前記磁気ストレージデバイスは、前記時間期間が満了したときに、低電力消費状態へと変更される方法。
【請求項１１】
前記磁気ストレージデバイスが前記低電力消費状態へと変更されることによって、前記時間間隔の間に、前記磁気ストレージデバイスによって節約されるエネルギーの量が、アクティブサーボ状態に戻るために前記磁気ストレージデバイスによって使用されるエネルギーの量と実質的に等しいか、または、アクティブサーボ状態に戻るために前記磁気ストレージデバイスによって使用されるエネルギーの量より多くなるように、前記時間間隔の長さが選択される、請求項１０記載の方法。
【請求項１２】
前記時間間隔の長さは、前記磁気ストレージデバイスが、前記低電力消費状態からアクティブサーボ状態へと戻る間の回復時間に少なくとも部分的に基づいて選択される、請求項１０記載の方法。
【請求項１３】
前記時間期間の長さを調整することは、前記磁気ストレージデバイスが次にアクセスされる時間が、前記予め定められた時間間隔内である場合に、前記時間期間の長さを増加させることを具備する、請求項１０記載の方法。
【請求項１４】
前記時間期間の長さを増加させることは、前記時間期間の長さを、予め定められた時間インクリメントによってインクリメントすることを具備する、請求項１３記載の方法。
【請求項１５】
前記時間期間の長さを増加させることは、１つ以上の回復コストに基づいた、時間インクリメントにより時間期間時間の長さを増加させることを具備し、
各回復コストは、減少された電力消費状態において動作している間に前記磁気ストレージデバイスにより節約されるエネルギーの量と、前記減少された電力消費状態からアクティブサーボ状態へと戻る前記磁気ストレージデバイスにより使用されるエネルギーの量との差である、請求項１３記載の方法。
【請求項１６】
前記時間期間の長さを調整することは、前記磁気ストレージデバイスが次にアクセスされる時間が、前記予め定められた時間間隔内でない場合に、前記時間期間の継続時間を減少させることを具備する、請求項１０記載の方法。
【請求項１７】
前記時間期間の長さを減少させることは、予め定められた時間デクリメントにより前記時間期間の長さをデクリメントすることを具備する、請求項１６記載の方法。
【請求項１８】
前記時間期間の長さを減少させることは、１つ以上の回復コストに基づいた、時間デクリメントにより時間期間時間の長さを減少させることを具備し、
各回復コストは、減少された電力消費状態において動作している間に前記磁気ストレージデバイスにより節約されるエネルギーの量と、前記減少された電力消費状態からアクティブサーボ状態へと戻る前記磁気ストレージデバイスにより使用されるエネルギーの量との差である、請求項１６記載の方法。
【請求項１９】
前記低電力消費状態は、
１）前記磁気ストレージデバイスのサーボシステムが、前記磁気ストレージデバイスのリード／ライトヘッドの連続的位置制御を提供するのに使用されないフロート状態と、
２）前記磁気ストレージデバイスのサーボシステムが、前記磁気ストレージデバイスのストレージディスク上のサーボウェッジの部分だけを使用して、前記磁気ストレージデバイスのリード／ライトヘッドの位置制御を提供する低周波数サーボ状態と、
３）前記磁気ストレージデバイスのリード／ライトヘッドがパークされるパーク状態と、
４）前記磁気ストレージデバイスのストレージディスクが旋回していないスタンバイ状態とのうちの１つを具備する、請求項１０記載の方法。
【請求項２０】
磁気ストレージデバイスと、
不揮発性デバイスと、
制御装置と
を具備し、
前記制御装置は、前記データストレージデバイスがアクセスされた時間からの時間期間を参照することによって、前記磁気ストレージデバイスの電力消費状態を変更するように構成されており、
前記時間期間の長さは、前記データストレージデバイスに対するアクセス数に基づいて調整される、データストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データストレージデバイス及び管理方法に関する。
【背景技術】
【０００２】
ディスクドライブは、データストレージディスクの表面上の同心トラックにデジタルデータを主に格納し、電子機器中のデータストレージのために一般に使用される。データストレージディスクは、典型的に、上部に磁気材料の層を有する回転可能なハードディスクであり、ディスクが一定の角速度において、その中心の周りを旋回している間に、トラックに最も近く保持されたリード／ライトヘッドを使用して、データストレージディスク上の所望のトラックからデータが読み出され、または、データストレージディスク上の所望のトラックにデータが書き込まれる。リード、または、ライト動作の間に、所望のトラックに、リード／ライトヘッドを適切に位置合わせするために、ディスクドライブは、一般的に、ディスクドライブが製造されたときに、ディスク表面に書き込まれるサーボセクタ中に格納されるサーボデータに依拠する、閉ループサーボシステムを使用する。
【０００３】
たとえ、リードまたはライトコマンドがディスクドライブによりサービスされていないときでも、ディスクドライブにおける、いくつかの動作は、かなりの量のエネルギーを使用する。例えば、データストレージディスクを連続的に旋回させることは、リードまたはライトコマンドが実行されていても、または、実行されていなくても、ほぼ同一の電力を要求する。同様に、サーボシステムにより、リード／ライトヘッド位置をアクティブに制御することは、サーボサンプリング、信号処理、および、リードチャネルに関係するデコーディングを実行することを含み、これらのすべては、リードまたはライトコマンドとは独立して、かなりの演算リソースを利用する。
【０００４】
ディスクドライブは、ラップトップコンピュータのような、利用可能な電力が制限されている携帯可能電子機器において頻繁に使用されるので、ディスクドライブにおける、このようなエネルギー集約的動作を制限することが一般的に有利である。結果として、携帯可能電子機器は、不活動期間の後に、ディスクドライブを低電力状態へと変更することによって、ディスクドライブ電力消費を減少させる電力管理システムを典型的に用いる。例えば、ディスクドライブが予め定められた時間期間の間アイドル状態であるときに、ディスクドライブはデータストレージディスク上にリード／ライトヘッドをサーボさせることを停止してもよく、データストレージディスクがアクセスされるまで、すべてのリード／ライトヘッドを“フロート”させる。このようにして、旋回しているディスク上の空力抵抗が減少されるとともに、リード／ライトヘッド位置をアクティブに制御するために要求されるエネルギーも減少されてもよい。しかしながら、ドライブがこの低電力状態に変更されたすぐ後に、ディスクアクセスが発生した場合、低電力状態からの回復は、低電力状態に入ったことにより節約されたものより多くのエネルギーを消費するかもしれない。さらに、ディスクアクセスを実行する前に低電力状態から回復することに関する遅延は、ディスクドライブがあまりに早く低電力状態にシフトするときに、ユーザ経験をかなり劣化させかねない。結果として、ディスクドライブの電力状態の変更をいつ発生させるべきか、タイミングを図るためのシステムおよび方法に対する技術的な要望がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７３３４０８２号明細書
【特許文献２】米国特許第６８９２３１３号明細書
【特許文献３】米国特許出願公開第２００６／００７５１８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のデータストレージデバイスにおいては、ディスクドライブの電力状態の管理のためのシステムおよび方法への要望があった。
【０００７】
本発明の目的は、磁気ストレージデバイスと不揮発性ストレージデバイスを含むデータストレージデバイス及び管理方法を提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、磁気ストレージデバイスと不揮発性ストレージデバイスを具備するデータストレージデバイスにおける電力管理の方法は、前記磁気ストレージデバイスがアクセスされるたびに時間期間を設定することと、前記不揮発性ストレージデバイスに対するアクセスである、前記データストレージデバイスへのアクセス数を測定することと、前記不揮発性ストレージデバイスに対するアクセスである、前記データストレージデバイスへの前記測定されたアクセス数に基づいて、前記時間期間の長さを調整することとを具備し、前記磁気ストレージデバイスは、引き続いての磁気ストレージデバイスアクセスなしで、前記時間期間が満了したときに、低電力消費状態へと変更される。
【図面の簡単な説明】
【０００９】
【図１】図１は、１つの実施形態にしたがった、例示的なハイブリッドドライブの概念図である。
【図２】図２は、１つの実施形態にしたがって構成されるとして示した、電子回路のエレメントを有するハイブリッドドライブの動作図を図示する。
【図３】図３は、図１のハイブリッドドライブの電力状態図を図示する。
【図４】図４は、図１のハイブリッドドライブが低電力消費状態へと変更されるときを示す予め定められた時間期間を調整するのに、フラッシュメモリデバイスに対するコマンドのヒットレートがどのように使用できるかを示すタイムラインである。
【図５】図５は、１つ以上の実施形態にしたがった、磁気ストレージデバイスと不揮発性ストレージデバイスを含むデータストレージデバイスにおける電力管理のための方法のステップのフローチャートを示す。
【図６】図６は、１つ以上の実施形態にしたがった、磁気ストレージデバイスと不揮発性ストレージデバイスを含むデータストレージデバイスにおける電力管理のための別の方法のステップのフローチャートを示す。
【発明を実施するための形態】
【００１０】
上に記載した実施形態の特徴の方式が詳細に理解されるように、上に短く概要を示した実施形態のより詳細な記述を、添付の図面に対する参照によって行ってもよい。しかしながら、添付の図面は、典型的な実施形態のみを図示し、それゆえ、本発明の範囲を制限するとして考慮されるべきでなく、他の同等に有効な実施形態があってもよいことに留意すべきである。
【００１１】
明瞭さのために、図面の間で共通する同一のエレメントを指すために、適用可能なところでは、同一の参照番号を使用した。１つの実施形態の特徴は、さらに記述することなく、他の実施形態において組み込むことができることが企図されている。
【００１２】
図１は、１つの実施形態にしたがった、例示的なハイブリッドディスクドライブの概念図である。明瞭さのために、トップカバーなしでハイブリッドドライブ１００を図示した。ハイブリッドドライブ１００は、スピンドルモータ１１４によって回転され、複数の同心データストレージトラックを含む、少なくとも１つのストレージディスク１１０を含む。スピンドルモータ１１４は、ベースプレート１１６上に搭載される。アクチュエータアームアセンブリ１２０もまた、ベースプレート１１６上に搭載され、データストレージトラックからデータを読み出し、データストレージトラックへとデータを書き込む、リード／ライトヘッド１２７を有する屈曲アーム１２２上に搭載されたスライダ１２１を有する。屈曲アーム１２２は、ベアリングアセンブリ１２６を中心に回転するアクチュエータアーム１２４に取り付けられている。ボイスコイルモータ１２８は、スライダ１２１を、ストレージディスク１１０に関して動かし、これにより、リード／ライトヘッド１２７を、ストレージディスク１１０の表面１１２上に配置される所望の同心データストレージトラック上で位置決めする。スピンドルモータ１１４、リード／ライトヘッド１２７、および、ボイスコイルモータ１２８は、プリント回路ボード１３２上に搭載されている電子回路１３０により制御される。電子回路１３０は、リード／ライトチャネル１３７、マイクロプロセッサベースの制御装置１３３、（ダイナミックＲＡＭであってもよく、データバッファとして使用される）ランダムアクセスメモリ（ＲＡＭ）１３４、および／または、フラッシュメモリデバイス１３５とフラッシュマネージャデバイス１３６を備える。いくつかの実施形態では、リード／ライトチャネル１３７、および、マイクロプロセッサベースの制御装置１３３は、システムオンチップ１３１のような、単一のチップ中に含まれている。いくつかの実施形態では、ハイブリッドドライブ１００は、マイクロプロセッサベースの制御装置１３３からのコマンドを受け入れて、スピンドルモータ１１４およびボイスコイルモータ１２８の両方を駆動する、モータドライバチップ１２５をさらに備えてもよい。
【００１３】
明瞭さのために、単一のストレージディスク１１０および単一のアクチュエータアームアセンブリ１２０とともに、ハイブリッドドライブ１００を図示する。ハイブリッドドライブ１００はまた、複数のストレージディスクおよび複数のアクチュエータアームアセンブリを備えていてもよい。さらに、ストレージディスク１１０の各面は、屈曲アームに結合された関係するリード／ライトヘッドを有していてもよい。
【００１４】
データが、ストレージディスク１１０へ、または、ストレージディスク１１０から転送されるとき、アクチュエータアームアセンブリ１２０は、ストレージディスク１１０の内径（ＩＤ）と外径（ＯＤ）との間で弧を描くように動く。アクチュエータアームアセンブリ１２０は、ボイスコイルモータ１２８のボイスコイルを通して１つの方向において電流が流れるとき、ある角方向において加速し、電流が反転されるとき、反対の方向において加速して、これにより、ストレージディスク１１０に関する、アクチュエータアームアセンブリ１２０および付属のリード／ライトヘッド１２７の位置の制御を可能にしている。ボイスコイルモータ１２８は当該技術分野において知られているサーボシステムに結合されており、サーボシステムは、リード／ライトヘッド１２７によってストレージディスク１１０上のサーボウェッジから読み出された位置決めデータを使用して、特定のデータストレージトラック上のリード／ライトヘッド１２７の位置を決定する。サーボシステムは、ボイスコイルモータ１２８のボイスコイルを通して、駆動するための適切な電流を決定し、現在のドライバと関係する回路を使用して、この電流を駆動する。
【００１５】
ハイブリッドドライブ１００は、ハイブリッドドライブとして構成され、この中でストレージディスク１１０および／またはフラッシュメモリデバイス１３５を使用して、不揮発性データの格納を実行してもよい。ハイブリッドドライブにおいて、フラッシュメモリデバイス１３５のような不揮発性メモリは、旋回しているストレージディスク１１０を補って、より急速な起動、休止状態になること、再開、および、他のデータリード／ライト動作とともに、より低い電力消費を提供する。このようなハイブリッドドライブ構成は、モバイルコンピュータ、または、他のモバイルコンピューティングデバイスのようなバッテリ動作されるコンピュータシステムに対して特に有利である。好ましい実施形態では、フラッシュメモリデバイス１３５は、電気的に消去することができ、リプログラムでき、不揮発性ストレージ媒体としてハイブリッドドライブ１００中のストレージディスク１１０を補うようにサイズ変更される、ＮＡＮＤフラッシュチップのような、不揮発性ストレージ媒体である。例えば、いくつかの実施形態では、フラッシュメモリデバイス１３５は、例えば、ギガバイト（ＧＢ）対メガバイト（ＭＢ）のような、ＲＡＭ１３４より大きなオーダーである、データストレージ容量を有する。
【００１６】
図２は、１つの実施形態にしたがって構成されるとして示された電子回路１３０のエレメントを有するハイブリッドドライブ１００の動作の図を図示する。示したように、ハイブリッドドライブ１００は、ＲＡＭ１３４、フラッシュメモリデバイス１３５、フラッシュマネージャデバイス１３６、システムオンチップ１３１、および、高速データパス１３８を備える。ハイブリッドドライブ１００は、シリアルアドバンストテクノロジアタッチメント（ＳＡＴＡ）バスのようなホストインターフェース２０を介して、ホストコンピュータのようなホスト１０に接続されている。
【００１７】
図２に図示した実施形態では、フラッシュマネージャデバイス１３６は、フラッシュメモリデバイス１３５の高速データパス１３８とのインターフェースを制御し、ＮＡＮＤインターフェースバス１３９を介して、フラッシュメモリデバイス１３５に接続されている。システムオンチップ１３１は、マイクロプロセッサベースの制御装置１３３と、ハイブリッドドライブ１００の動作を制御するための（リード／ライトチャネル１３７を含む）他のハードウェアとを備え、高速データパス１３８を介して、ＲＡＭ１３４とフラッシュマネージャデバイス１３６とに接続されている。マイクロプロセッサベースの制御装置１３３は、ハイブリッドドライブ１００内の任意の制御回路、ＡＲＭマイクロプロセッサ、ハイブリッドドライブ制御装置のような１つ以上のマイクロ制御装置を含んでもよい制御ユニットである。高速データパス１３８は、ダブルデータレート（ＤＤＲ）バス、ＤＤＲ２バス、ＤＤＲ３バス、または、類似物のような、当該技術分野において知られている高速バスである。他の実施形態では、ハイブリッドドライブ１００は、図２に図示された異なるデータインターフェースおよびバスとともに構成されてもよい。
【００１８】
一般に、ディスクドライブのような、回転可能なストレージディスクを有するデータストレージデバイスは、データストレージデバイスが、リードまたはライトコマンドを満足させるのに使用されていないときに、低電力消費状態へと変更させることによって、エネルギー使用を最小化させるように構成されている。このことは、ラップトップコンピュータのような、バッテリ給電されるデバイスにおいて使用されるディスクドライブに対して特に有効である。例えば、データストレージデバイスが、予め定められた時間期間の間、ホストコマンドを受け取らないとき、データストレージデバイスは、アクティブサーボ状態から、中間電力消費状態、パーク状態、または、スタンバイ状態へと変更してもよい。したがって、図１および図２に示されたハイブリッドドライブ１００を参照して、予め定められた時間期間に対して、リードまたはライトコマンドが、ＲＡＭ１３４および／またはフラッシュメモリデバイス１３５を使用して排他的に満足されるとき、ストレージディスク１１０がアクセスされていないので、アクチュエータアームアセンブリ１２０、ボイスコイルモータ１２８、スピンドルモータ１１４、リード／ライトチャネル１３７、および／または、マイクロプロセッサベースの制御装置１３３は、低電力消費状態で動作されてもよい。
【００１９】
さまざまな実施形態にしたがうと、ハイブリッドドライブの磁気データストレージデバイスに関係する、１つ以上の予め定められた時間期間は、ハイブリッドドライブの不揮発性ストレージデバイスに対するアクセスをもたらすリード／ライトコマンドの“ヒットレート”に少なくとも部分的に基づいて、継続時間を調整される。言い換えると、磁気データストレージデバイスアクセスをもたらすコマンドに比して、不揮発性ストレージデバイスに対するアクセスをもたらすリード／ライトコマンドの割合が増加するにつれて、１つ以上の予め定められた時間期間の長さは減少する。したがって、ハイブリッドドライブの磁気データストレージデバイスが、より頻繁でなくアクセスされるとき、磁気ストレージデバイスは、間もなく、１つ以上のより低い電力消費状態へと変更される。ハイブリッドドライブの以前の挙動に基づいて、磁気ストレージデバイスに対する将来のアクセスの尤度が低いと推定されるときに、この調整が行われる。結果として、磁気ストレージデバイスを低電力消費状態へと、よりすばやく変更することによってエネルギーが節約できる。
【００２０】
図３は、ハイブリッドドライブ１００の複数の電力状態および電力状態遷移を含む、ハイブリッドドライブ１００の電力状態図３００を示す。電力状態図３００中の電力状態は、アクティブサーボ状態３１０、中間電力消費状態３２０、パーク状態３３０、スタンバイ状態３０、および、スリープ状態３５０を含む。電力状態図３００中の状態遷移は、フロートタイマー満了３１１、スタンバイ遷移３１２、スリープコマンド３１３、ホストソフトリセット３１４、パークタイマー満了３２１、および、アクティブサーボ遷移３４１を含む。本発明の実施形態にしたがうと、フロートタイマー満了３１１、スタンバイ遷移３１２、および、パークタイマー満了３２１は、ストレージディスク１１０のディスクアクセス履歴に基づいて調整されてもよい予め定められた時間期間（それぞれ、フロートタイマー、スタンバイタイマー、および、パークタイマー）に基づいてそれぞれ発生する。ディスクアクセス履歴は、ストレージディスク１１０に対するアクセスをもたらすリード／ライトコマンドのヒットレート、および／または、低電力消費状態からアクティブサーボ状態に戻るハイブリッドドライブ１００に関係するエネルギーコストが、ハイブリッドドライブ１００が低電力消費状態でいる間に節約されるエネルギーを超えるイベントを含んでもよい。ハイブリッドドライブ１００に関して、電力状態図３００の構成要素を説明するが、電力状態図３００は、磁気ストレージディスクおよび不揮発性データストレージデバイスを含む任意のデータストレージデバイスに適用可能であることを理解すべきである。
【００２１】
アクティブサーボ状態３１０は、ホスト１０からのもの、または、ハイブリッドドライブ１００自体により開始されたもののいずれかの、リード／ライトコマンドの実行を容易にするために、ハイブリッドドライブ１００の通常の動作を表す。アクティブサーボ状態３１０において、ハイブリッドドライブ１００のサーボシステムが、ボイスコイルモータ１２８、アクチュエータアーム１２４、および、リード／ライトチャネル１３７を使用して、ストレージディスク１１０の個別のトラックに関して、リード／ライトヘッド１２７の位置をアクティブに制御する。リードまたはライトコマンドが、ハイブリッドドライブ１００によってサービスされていないとき、ハイブリッドドライブ１００は、アクティブサーボ状態３１０であってもよいことに留意すべきである。しかしながら、アクティブサーボ状態３１０において、マイクロプロセッサベースの制御装置１３３およびリード／ライトチャネル１３７によって、かなりの電気的エネルギーが使用されるので、いくつかの実施形態では、ハイブリッドドライブ１００は、１つ以上の条件が満足されるときに、低電力消費状態へと変更される。図３に示したように、これらの条件は、フロートタイマー満了３１１、スタンバイ遷移３１２、および、スリープコマンド３１３のうちの１つ以上を含んでもよい。
【００２２】
フロートタイマー満了３１１が発生するとき、ハイブリッドドライブ１００は、アクティブサーボ状態３１０から、中間電力消費状態３２０へと変更され、これについて以下で説明する。フロートタイマー満了３１１は、予め定められた時間期間以上の時間の間に、すなわち、調整可能フロートタイマーの満了の際に、ストレージディスク１１０にアクセスすることによって満足されるコマンドが何もないときに効力を生ずるように構成されていてもよい。例えば、このような予め定められた時間期間に対する典型的な継続時間は、約５０から１５０ミリ秒であってもよく、また、いくつかの実施形態では、フラッシュメモリデバイス１３５に対するアクセスのヒットレートに基づいて、長さにおいて調整されてもよい。いくつかの実施形態では、コマンド、すなわち、リードまたはライトコマンドが、ストレージディスク１１０にアクセスすることにより満足されるときに、フロートタイマーは開始される。受け取られたコマンドが、ストレージディスク１１０にアクセスすることにより満足されるときに、フロートタイマーは、ゼロにリセットされ、リスタートされる。したがって、フロートタイマー満了３１１は、フロートタイマーが上で説明した予め定められた時間期間を超えて、ハイブリッドドライブ１００が中間電力消費状態３２０に変更するときに効力を生ずる。いくつかの実施形態では、ストレージディスク１１０にアクセスすることにより満足される、何らかのリードまたはライトコマンドは、フロートタイマーをゼロにリセットし、他の実施形態では、ストレージディスク１１０にアクセスすることと、ホスト１０から受け取られたこととの両方を満たす、リードまたはライトコマンドだけが、フロートタイマーをゼロにリセットする。
【００２３】
ストレージディスク１１０にアクセスすることなく満足される（ホスト１０からハイブリッドドライブ１００によって受け取られたもの、または、ハイブリッドドライブ１００自体によって開始されたもののいずれかの）コマンドは、上述のフロートタイマーをリセットしないことに留意すべきである。結果として、リードおよび／またはライトコマンドが、ホスト１０からハイブリッドドライブ１００によって頻繁に受け取られるか、または、ハイブリッドドライブ１００自体によって頻繁に開始されていたとしても、このコマンドが、ストレージディスク１１０にではなく、ＲＡＭ１３４および／またはフラッシュメモリデバイス１３５にアクセスすることにより満足されているとき、ストレージディスク１１０に関係するハイブリッドドライブ１００の部分は、アクティブサーボ状態３１０から、中間電力消費状態３２０へと変更されてもよい。
【００２４】
スタンバイ遷移３１２が発生するとき、ハイブリッドドライブ１００は、現在のエネルギー消費状態から、スタンバイ状態３４０へと変更し、ここで、ハイブリッドドライブ１００は、ストレージディスク１１０をスピンダウンし、リード／ライトヘッドはパークされ、ハイブリッドドライブ１００は、機械的動作に本質的に何のエネルギーも費やさない。スタンバイ遷移３１２は、ハイブリッドドライブ１００が、アクティブサーボ状態３１０、中間電力消費状態３２０、および、パーク状態３３０を含むいくつかの電力状態のうちの１つであるときに発生してもよい。いくつかの実施形態では、スタンバイ遷移３１２は、以下の２つの条件のうちのいずれか１つが満足されるときに効力を生ずるように構成されていてもよい。すなわち、１）“スタンバイ”コマンドがホスト１０から受け取られること、または、２）スタンバイタイマーのような、予め定められた時間期間より長い間、ホスト１０からの何のコマンドも、ストレージディスク１１０にアクセスすることにより満足されないことである。ここで、この時間期間は、ストレージディスク１１０に対するアクセスのヒットレートに基づいて調整される。他の実施形態では、スタンバイ遷移３１２は、１）“スタンバイ”コマンドが、ホスト１０から受け取られるときに、または、２）ホスト１０からの、もしくは、ハイブリッドドライブ１００により開始されたもののいずれかの何のコマンドも、予め定められた時間期間（例えば、スタンバイタイマー）より長い間、ストレージディスク１１０にアクセスすることによって満足されないときに効力を生ずるように構成されていてもよい。ここで、この時間期間は、上で説明したように、ストレージディスク１１０のディスクアクセス履歴に基づいて調整される。
【００２５】
一般に、スタンバイ遷移３１２に関係する予め定められた時間期間は、フロートタイマー満了３１１に関係するものより実質的に長い。例えば、スタンバイ遷移３１２を開始することに関係する時間の典型的な継続時間は、ミリ秒というよりは、数分のオーダーにおけるものであってもよい。いくつかの実施形態では、ストレージディスク１１０にアクセスすることにより、コマンドが満足されるときに、スタンバイタイマーが開始され、また、ストレージディスク１１０にアクセスすることにより、コマンドが次に満足されるときに、スタンバイタイマーはゼロにリセットされ、リスタートされる。他の実施形態では、ホスト１０から受け取られたコマンドがストレージディスク１１０にアクセスすることにより満たされたときに、スタンバイタイマーが開始され、他方、ディスクドライブ１１０によって開始され、ストレージディスク１１０にアクセスすることにより満足されるコマンドは、スタンバイタイマーをゼロにリセットしない。
【００２６】
スタンバイ遷移３１２が発生するとき、すなわち、スタンバイタイマーが、上で説明した予め定められた時間期間を超えるとき、ハイブリッドドライブ１００は、スタンバイ状態３４０に変更する。いくつかの実施形態では、リード／ライトコマンドは、このコマンドが、１）ハイブリッドドライブ１００自体によって開始されたものであるときに、および／または、２）ストレージディスク１１０にアクセスすることなく満足されるときに、一般的に、ここで説明したスタンバイタイマーをリセットしない。
【００２７】
ホスト１０から受け取られたとき、スリープコマンド３１３は、ハイブリッドドライブ１００を、現在の電力状態から、スリープ状態３５０へと変更させることをもたらす。ハイブリッドドライブ１００は、ストレージディスク１１０をスピンダウンし、リード／ライトヘッド１２７はパークされ、および、ハイブリッドドライブ１００は、機械的動作に本質的に何のエネルギーも費やさないので、スリープ状態３５０は、スタンバイ状態３４０に類似している。スリープ状態３５０は、スタンバイ状態３４０と、以下の点で異なる。すなわち、ハイブリッドドライブ１００は、ホスト１０からのホストソフトリセット３１４によっても、または、ハイブリッドドライブ１００が電源オフされ、次にオンし戻された場合でも、スリープ状態３５０をそのままにする。対照的に、ハイブリッドドライブ１００は、（リード／ライトコマンドを含む）任意の数のコマンドが、ホスト１０から受け取られるときに、一般的にスタンバイ状態３４０を出る。スリープ状態３５０は、より制限的な状態であるので、ハイブリッドドライブ１００は、一般的に、スタンバイ状態３４０においてよりも、スリープ状態３５０において、より少ない電力を損失する。スリープコマンド３１３は、ハイブリッドドライブ１００が、アクティブサーボ状態３１０、中間電力消費状態３２０、および、パーク状態３３０を含む、いくつかの電力状態のうちの１つであるときに発生してもよい。
【００２８】
ハイブリッドドライブ１００のサーボシステムが、リード／ライトヘッドの連続的な位置制御を提供するのに使用されない、中間電力消費状態３２０は、アクティブサーボ状態３１０より少ない電力を使用し、パーク状態３３０より多くの電力を使用する。例えば、いくつかの実施形態では、マイクロプロセッサベースの制御装置１３３は、ボイスコイルモータ１２８に、予め定められた一定のバイアスを印加して、リード／ライトヘッド１２７の位置を保持し、これにより、リード／ライトヘッド１２７の位置をアクティブにサーボするというよりはむしろ、リード／ライトヘッド１２７を“フロート”させる。代わりの実施形態では、低周波数サーボモードは、中間電力消費状態３２０において使用されてもよく、ここで、制限されたサーボ制御を使用して、適切なロケーションにリード／ライトヘッド１２７を位置決めする。例えば、リード／ライトヘッド１２７の位置が、ストレージディスク１１０の特定のデータストレージトラック上のリード／ライトヘッド１２７を絶えずサーボすることに関係する比較的高いエネルギーコストなしで、リード／ライトヘッド１２７の位置がおよそ知られるように、ストレージディスク１１０の各旋回に対する単一のサンプル、もしくは、比較的少数のサンプルに対して、ハイブリッドドライブ１００のサーボシステムが起動されてもよい。
【００２９】
中間電力消費状態３２０は、ストレージディスク１１０にアクセスすることを含む、リードまたはライトコマンドに対する比較的早い応答を可能にする。例えば、ハイブリッドドライブ１００が、中間電力消費状態３２０であり、リードまたはライトコマンドを受け取るとき、このコマンドに応答してストレージディスク１１０上で所望のロケーションをシークすることは、数ミリ秒から、数十ミリ秒で完了できる。対照的に、ディスクドライブがパーク状態３２０であるとき、このコマンドに応答して、ストレージディスク１１０上の所望のロケーションにシークすることは、一般的に、数百ミリ秒を要求する。いくつかの実施形態では、１つ以上の条件が満足されるときに、ハイブリッドドライブ１００は、中間電力消費状態３２０から、低電力消費状態へと変更する。図３に示したように、これらの条件は、スタンバイ遷移３１２、スリープコマンド３１３（これらの両方を上で説明した）、パークタイマー満了３２１、または、アイドル中間コマンドのうちの１つ以上を含み、ここで、ハイブリッドドライブ１００は、アクティブサーボ状態３１０または中間電力消費状態３２０から、パーク状態３３０へと変更する。
【００３０】
パークタイマー満了３２１が発生するとき、ハイブリッドドライブ１００は、中間電力消費状態３２０から、パーク状態３３０へと変更する。パーク状態３３０において、ストレージディスク１１０は、通常の回転速度で旋回し続けるが、リード／ライトヘッド１２７は、データストレージディスクを旋回させるための空気抵抗を減少させるためにパークされる。このようにして、ストレージディスク１１０の回転のために要求される電流が減少される。さらに、パーク状態３３０では、リード／ライトヘッド１２７は、ハイブリッドドライブ１００により経験される機械的ショックから保護される。パークタイマー満了３２１は、パークタイマーのような、予め定められた時間期間より長い間、ストレージディスク１１０にアクセスすることによって、何のコマンドも満足されないときに、効力を生ずるように構成されることができる。代わりに、パークタイマー満了３２１は、予め定められた時間期間、例えば、パークタイマーより長い間、ホスト１０からの何のコマンドもストレージディスク１１０にアクセスすることにより満足されないときに、効力を生ずるように構成されることができる。上で述べたように、いくつかの実施形態にしたがうと、パーク状態３３０を開始させることに関係する、他の予め定められた時間期間、または、パークタイマーは、ハイブリッドドライブの動作の間に、ストレージディスク１１０のディスクアクセス履歴に基づいて調整される。
【００３１】
一般的に、パークタイマー満了３２１に関係する予め定められた時間期間は、フロートタイマー満了３１１に関係するものより実質的に長い。例えば、パークタイマー満了３２１に関係する典型的な時間の継続時間は、フロートタイマー満了３１１に関係するミリ秒というよりはむしろ、数秒のオーダーにおけるものであってもよい。いくつかの実施形態では、ストレージディスク１１０にアクセスすることにより、コマンドが満足されるときに、パークタイマーが開始され、ストレージディスク１１０にアクセスすることにより、コマンドが満足されるときに、パークタイマーがゼロにリセットされ、リスタートされる。パークタイマー満了３２１が発生するとき、すなわち、パークタイマーが、上で説明した予め定められた時間期間を超えるとき、ハイブリッドドライブ１００は、パーク状態３３０に変更する。ストレージディスク１１０にアクセスすることなく満足されるコマンドは、一般的に、ここで説明するパークタイマーをリセットしないことに留意すべきである。このコマンドは、ホスト１０からのハイブリッドドライブ１００によって受け取られることができるか、または、フラッシュメモリデバイス１３５中に記憶されているデータがデータストレージディスク１１０に書き込まれるべきであることを、マイクロプロセッサベースの制御装置１３３が決定するときのように、ハイブリッドドライブ１００自体によって開始されることができるかのいずれかであってもよい。
【００３２】
あるイベント、例えば、フロートタイマー満了３１１、スタンバイ遷移３１２、スリープコマンド３１３、および、パークタイマー満了３２１が発生したときに、低電力消費状態へと変更することに加えて、ハイブリッドドライブ１００はまた、あるイベントが発生したときに、高電力消費状態へと変更してもよい。特に、アクティブサーボ遷移３４１が発生したとき、ハイブリッドドライブ１００は、図３に示したように、アクティブサーボ状態３１０に変更するように構成されていてもよい。いくつかの実施形態では、リードまたはライトコマンドがストレージディスク１１０にアクセスすることにより満足されるときに、アクティブサーボ遷移３４１が発生する。例えば、ホスト１０からのリードコマンドに関係するデータの現在のバージョンが、ＲＡＭ１３４、または、フラッシュメモリ１３５中に格納されていない場合、このリードコマンドを満たすために、マイクロプロセッサベースの制御装置１３３によりストレージディスク１１０がアクセスされる。したがって、ハイブリッドドライブ１００が、スタンバイ状態３４０、または、パーク状態３３０のような低電力消費状態であるときでさえも、ホスト１０から受け取られたコマンドを満たすためにストレージディスク１１０にアクセスできるように、ハイブリッドドライブ１００は、アクティブサーボ状態３１０へと変更する。
【００３３】
いくつかの実施形態では、ハイブリッドドライブ１００は、フラッシュメモリデバイス１３５からストレージディスク１１０へとデータがフラッシュされるのに応じて、アクティブサーボ状態３１０へと変更してもよい。例えば、フラッシュメモリデバイス１３５の一部分は、フラッシュメモリデバイス１３５中にのみ格納され、ストレージディスク１１０には格納されない、“ダーティ”データを格納するのに使用されてもよい。さらに、ハイブリッドドライブ１００はまた、ダーティデータを格納するのに使用されるフラッシュメモリデバイス１３５の一部分に対する予め定められた最大しきい値を維持するように構成されていてもよい。結果として、最大しきい値が超えられるとき、ハイブリッドドライブ１００は、一般的に、ストレージディスク１１０へと過剰なダーティデータを“フラッシュ”させる。すなわち、ハイブリッドドライブ１００は、過剰なダーティデータの対応するコピーを、ストレージディスク１１０に書き込み、フラッシュメモリデバイス１３５中のコピーされたデータを、“ダーティでない”データとしてフラグ付けする。したがって、いくつかの状況では、ハイブリッドドライブ１００が中間電力消費状態３２０、パーク状態３３０、または、スタンバイ状態３４０であっても、ハイブリッドドライブ１００は、ストレージディスク１１０へとダーティデータをフラッシュさせてもよい。このような状況において、このような状況において、データフラッシュプロセスが実行されることができるように、ハイブリッドドライブ１００は、アクティブサーボ状態３１０へと変更する。例えば、フロートタイマー満了３１１、スタンバイ遷移３１２、スリープコマンド３１３、または、パークタイマー満了３２１の結果として、ハイブリッドドライブ１００が低電力消費状態へと変更した後で、ホスト１０は、次に、ハイブリッドドライブ１００にライトコマンドを送ってもよい。通常、ハイブリッドドライブ１００は、ストレージディスク１１０に関係するハイブリッドドライブ１００の一部分がアクティブにされるのを防止するために、ライトデータをフラッシュメモリデバイス１３５へと直接受け入れてもよい。しかしながら、フラッシュメモリデバイス１３５がいっぱいであるか、または、ダーティデータの最大許容量を既に格納している場合、マイクロプロセッサベースの制御装置１３３は、サーボ状態３１０をアクティブにし、フラッシュメモリデバイス１３５中のダーティデータを、ストレージディスク１１０へとコピーし始めるために、ハイブリッドドライブ１００の電力状態を変更できる。
【００３４】
いくつかの実施形態では、ストレージディスク１１０は、ホスト１０からのコマンドに応じてアクセスされてもよいのに加えて、他のアクティビティの結果としてアクセスされてもよい。有利なことに、このような実施形態では、ホストコマンドに応答して、ストレージディスク１１０が最後にアクセスされてから、この非ホスト関連のアクティビティの結果としてストレージディスク１１０がアクセスされるとき、満了した時間を測定するためのタイマーはリセットされない。例えば、フラッシュメモリデバイス１３５またはＲＡＭ１３４からダーティデータがフラッシュされていることは、このような非ホスト関連のアクティビティとして考慮されてもよい。
【００３５】
図４は、予め定められた時間期間を調整するために、フラッシュメモリデバイス１３５にアクセスすることをもたらすコマンドのヒットレートが、どのように使用されるかを図示するタイムライン４００である。ここで、予め定められた時間期間は、ハイブリッドドライブ中の磁気データストレージデバイスが、低電力消費状態へと変更するときを示す。タイムライン４００は、予め定められた時間期間４０１と、ブレークイーブン時間間隔４０２とを示す。予め定められた時間期間４０１は、実行の際に、ハイブリッドドライブ中の磁気データストレージデバイスを低電力消費状態へと変更させる、フロートタイマー、スタンバイタイマー、または、パークタイマーのような、ハイブリッドドライブに関係する何らかのタイマー、または、時間しきい値を表してもよい。
【００３６】
ブレークイーブン時間間隔４０２は、磁気データストレージデバイスが、低電力消費状態から、アクティブサーボ状態へと戻ることに関係する時間および／またはエネルギーコストを正当化するのに十分な時間の長さの間、低電力消費状態に留まり続けているか否かを決定するためのメトリクスとして使用される。いくつかの実施形態では、ブレークイーブン時間間隔４０２の満了の前に、磁気データストレージデバイスがアクセスされたとき、予め定められた時間期間４０１は、短すぎると考えられ、いくつかの実施形態にしたがうと適宜調節できる。ブレークイーブン時間間隔４０２の満了の後に、磁気データストレージデバイスがアクセスされるとき、予め定められた時間期間４０１は、長すぎると考えられ、いくつかの実施形態にしたがうと適宜調節できる。ブレークイーブン時間間隔４０２を使用している実施形態を、以下でより詳細に記述する。
【００３７】
動作において、ハイブリッドドライブ００のストレージディスク１１０は、時間４３１においてアクセスされ、予め定められた時間期間４０１に関係するタイマーは、ゼロにリセットされる。示したように、予め定められた時間期間４０１は、時間４３２において満了する。ストレージディスク１１０が、予め定められた時間期間４０１の満了の前に、例えば、時間４３３においてアクセスされる場合、予め定められた時間期間４０１に関係するタイマーは、ゼロにリセットされる。言い換えると、予め定められた時間期間４０１は、時間４３３において開始することになるまで、タイムライン４００に沿ってシフトされる。予め定められた時間期間４０１の満了の前にストレージディスク１１０がアクセスされない場合、ストレージディスク１１０と、ストレージディスク１１０にアクセスすることに関係するハイブリッドドライブ１００の一部分とが、低電力消費状態へと変更される。例えば、予め定められた時間期間４０１がパークタイマーを表すとき、時間４３３において、ハイブリッドドライブ１００は、（図３に示した）パーク状態３３０に入り、リード／ライトヘッド１２７はパークされる。
【００３８】
本発明の実施形態にしたがうと、予め定められた時間期間４０１の長さは、ストレージディスク１１０のディスクアクセス履歴に基づいて、周期的に調整される。この調整は、定期的な間隔で、ハイブリッドドライブ１００中で発生している特定のイベントに応答して、または、これらの組み合わせで発生してもよい。例えば、いくつかの実施形態では、予め定められた時間期間４０１の長さの調整は、ストレージディスク１１０がアクセスされることをもたらすリードまたはライトコマンドの完了の際に発生する。いくつかの実施形態では、予め定められた時間期間４０１は、フラッシュメモリデバイス１３５に対するアクセスをもたらすリード／ライトコマンドのヒットレートに基づいて調整される。他の実施形態では、予め定められた時間期間４０１は、ハイブリッドドライブ１００がアクティブサーボ状態から、低電力消費状態へと戻る間の、回復時間に少なくとも部分的に基づいて調整される。さらに他の実施形態では、予め定められた時間期間４０１は、前記ヒットレートと前記回復時間との組み合わせに基づいて調整される。
【００３９】
いくつかの実施形態では、ヒットレートは、ハイブリッドドライブ１００によって受け取られたリード／ライトコマンドのどれほどの割合のものが、フラッシュメモリデバイス１３５にアクセスすることをもたらすかを計算することによって決定される。このようなリード／ライトコマンドを、今後、“ＮＡＮＤヒット”として呼ぶ。例えば、１つの実施形態では、ハイブリッドドライブ１００により受け取られた合計のリード／ライトコマンドに関するＮＡＮＤヒットの割合は、複数のグループのリード／ライトコマンドに対して追跡され、ヒットレートの移動平均が、それぞれのグループに対して計算される。１つのこのような実施形態では、それぞれのグループは１００のコマンドを含む。それぞれのリードまたはライトコマンドが、ハイブリッドドライブ１００により受け取られると、コマンドが、ストレージディスク１１０ではなく、フラッシュメモリデバイス１３５にアクセスすることをもたらすか否かを指示するために、コマンドに関係するインジケータまたはフラグが設定される。仮に、このような１００のコマンドのグループが、ハイブリッドドライブ１００によって受け取られたとすると、グループ中の合計１００のコマンドに対するＮＡＮＤヒットの割合が計算され、格納される。最近の２５６グループのコマンドのヒットレートを、次に、ヒットレートの移動平均を計算するのに使用できる。ハイブリッドドライブ１００がよりエネルギー効率的な方法で動作するように、ヒットレートのこの移動平均、このケースにおいてはハイブリッドドライブ１００によって受け取られた最近の２５，６００のコマンドを使用して、予め定められた時間期間４０１を調整できる。
【００４０】
いくつかの実施形態では、多数のリードおよび／またはライトコマンドの移動平均（または、ＮＡＮＤヒットレートの他の何らかの測定値）が、ヒットレートしきい値、例えば、７０％、８０％、９０％等を超えるときに、予め定められた時間期間４０１の長さをデクリメントすることによって、予め定められた時間期間４０１の長さは調整される。例えば、ヒットレート値が９５％を超えるとき、パークタイマーは、特定の時間の長さ、例えば、１秒だけ減じられる。したがって、大多数のリードおよび／またはライトコマンドが、フラッシュメモリデバイス１３５がアクセスされることをもたらすとき、ストレージディスク１１０のアクセスされる尤度が比較的低いので、ハイブリッドドライブ１００は、よりすばやくパークモード３３０へと変更するように構成されている。反対に、このような実施形態では、予め定められた時間期間４０１の長さはまた、リードおよび／またはライトコマンドのヒットレートの移動平均または他の測定値が、ヒットレートしきい値より少ないとき、予め定められた時間期間４０１の長さを指定された時間の長さだけインクリメントすることによって調整される。このようにして、ハイブリッドドライブ１００は、ストレージディスク１１０のアクセスされる尤度が増加するとき、より長いアイドル時間の後で、パークモード３３０へと変更するように構成されている。このような実施形態では、予め定められた時間期間４０１は、予め定められた時間インクリメント値、または、現在のヒットレート値の関数である時間インクリメント値のような、可変の時間インクリメント値だけ、増加されてもよいことに留意すべきである。
【００４１】
予め定められた時間期間４０１の長さは、他の方法においてヒットレートを使用するようにも調整させることができ、上で説明した、移動平均アプローチに制限されていない。いくつかの実施形態では、予め定められた時間期間４０１の長さは、ヒットレートの重みづけされた平均を使用して調整させることができる。例えば、複数のグループ、例えば、２５６のグループのコマンドに対してヒットレートが計算されるとき、より最近のグループのコマンドが、平均ヒットレート値において、より大きい有効性を持つように重み付けされてもよい。他の実施形態では、最も古いグループのコマンドからの最近に受け取られたグループのコマンドへのヒットレートの変化率に少なくとも部分的に基づいて、予め定められた時間期間４０１の長さが調整される。このような実施形態では、予測的エレメントが、予め定められた時間期間４０１の調整にこのように導入されており、これは、ハイブリッドドライブ１００の過去の挙動に対する純粋なリアクションではない。
【００４２】
上で述べたように、しきい値ヒットレート値を使用して、予め定められた時間期間４０１が増加されるかまたは減少されるかを決定してもよい。このようなしきい値ヒットレート値は、パーセンテージ、比、および、類似物であってもよい。さらに、ハイブリッドドライブ１００のそれぞれの異なる電力状態に関係するタイマーに対して、異なるヒットレートしきい値を使用してもよい。したがって、いくつかの実施形態では、第１のヒットレートしきい値は、ハイブリッドドライブ１００のフロートタイマーに関係しており、第２のヒットレートしきい値は、ハイブリッドドライブ１００のパークタイマーに関係しており、第３のヒットレートしきい値は、ハイブリッドドライブ１００のスタンバイタイマーに関係している。
【００４３】
グループのリード／ライトコマンドのヒットレート、グループヒットレートの移動平均、および、他のこのような要因が、ハイブリッドドライブ１００の動作の間の何らかの技術的に実行可能な時間において計算されてもよい。いくつかの実施形態では、これらの要因は、ハイブリッドドライブ１００がアイドルまたは実質的にアイドルであるときに計算されてもよい。いくつかの実施形態では、ハイブリッドドライブ１００がアイドルであるか、または、実質的にアイドルであるときに、これらの要因が計算されてもよい。他の実施形態では、これらの要因は、周期的に計算されてもよく、または、ハイブリッドドライブ１００がストレージディスク１１０へのアクセスを完了したときのような、特定のイベントが発生したときはいつでも計算されてもよい。いくつかの実施形態では、マイクロプロセッサベースの制御装置１３３は、このような計算を実行するが、他の実施形態では、専用ロジック回路、ファームウェア、ソフトウェア構成、または、ハイブリッドドライブ１００に関係する他の何らかの技術的に実現可能なエンティティが、このような計算を実行するように構成されてもよい。
【００４４】
いくつかの実施形態では、予め定められた時間期間４０１は、ハイブリッドドライブ１００が、低電力消費状態から、アクティブサーボ状態へと戻る間の回復時間に少なくとも部分的に基づいて調整されてもよい。このような実施形態では、ブレークイーブン時間間隔４０２が使用されてもよい。ブレークイーブン時間間隔４０２は、その間に、ストレージディスク１１０のような磁気データストレージデバイスが、低電力消費状態から、アクティブサーボ状態へと戻ることに関係するエネルギーおよび／または時間コストを正当化するために、低電力消費状態のままでいるターゲット時間間隔を表す。いくつかの実施形態では、低電力消費状態において、ブレークイーブン時間間隔４０２の間に、磁気ストレージデバイスにより節約されるエネルギーの量が、アクティブサーボ状態へと戻るために磁気ストレージデバイスによって使用されるエネルギーの量に等しいか、あるいは、アクティブサーボ状態へと戻るために磁気ストレージデバイスによって使用されるエネルギーの量より大きくなるように、ブレークイーブン時間間隔４０２の長さが選択される。
【００４５】
したがって、磁気ストレージデバイスが予め定められた時間期間４０１の最後（時間４３２）において、低電力消費状態へと変更され、ブレークイーブン時間間隔４０２の後に（例えば、時間４３５において）アクセスされるとき、アクティブサーボ状態に戻る際に、少なくとも前記磁気ストレージデバイスにより経験されるのと同じくらいのエネルギーが磁気ストレージデバイスによって節約される。
【００４６】
このような実施形態では、磁気ストレージデバイスが、ブレークイーブン時間間隔４０２の満了の前に（すなわち、時間４３２と時間４３４の間に）アクセスされるとき、予め定められた時間期間４０１は、短すぎるとして考慮され、より長くなるように調整される。いくつかの実施形態では、この調整は、予め定められた時間インクリメントにより、または、ブレークイーブン時間間隔４０２の間に磁気ストレージデバイスがアクセスされるときの関数である時間インクリメントにより、予め定められた時間期間４０１の長さをインクリメントすることを含む。反対に、磁気ストレージデバイスがブレークイーブン時間間隔４０２の満了後に（すなわち、時間４３４の後に）アクセスされるとき、予め定められた時間期間４０１は、長すぎると考えられ、予め定められた時間期間４０１の長さをデクリメントすることにより、調整できる。
【００４７】
いくつかの実施形態では、ブレークイーブン時間間隔４０２の長さは、磁気ストレージデバイスが、その間に低電力消費状態からアクティブサーボ状態へと戻る回復時間に少なくとも部分的に基づいて選択される。このような回復時間は、ユーザ経験の品質に影響を及ぼし得るので、ブレークイーブン時間間隔４０２の長さを決定する際の要因として、回復時間の継続時間が含められる。例えば、ハイブリッドドライブ１００中の磁気ストレージデバイスをスタンバイ状態へと変更することによって、磁気ストレージデバイスが、アクティブサーボ状態へと戻るときに、ユーザは最大数秒の遅延を経験する。このような遅延は、ユーザ経験の品質にかなり影響を及ぼすので、単に、アクティブサーボ状態へと戻るために使用されるエネルギーを補償するために、磁気ストレージデバイスが低電力消費状態に留まる、ターゲット時間の長さより長くなるように、ブレークイーブン時間間隔４０２を選択してもよい。このような実施形態では、ブレークイーブン時間間隔４０２は、磁気ストレージデバイスが、低電力消費状態へと変更される頻度を減少させることによって、ユーザ経験への、このような影響を補償するために、より長い継続時間を有してもよく、次に短い時間間隔の後にアクティブ状態へと戻る。このような方法でのブレークイーブン時間間隔４０２の使用は、スタンバイタイマーに対して使われるときに、特に有利である。
【００４８】
いくつかの実施形態では、ヒットレートまたは平均ヒットレートに対する初期値は、ハイブリッドドライブ１００のスタートアップにおいて設定される。これは、ごくわずかのリードもしくはライトコマンドしか、または、何のリードもしくはライトコマンドも、スタートアップにおいて、ハイブリッドドライブ１００によって受け取られていないからであり、したがって、ヒットレートまたはＮＡＮＤヒットの他の比を決定するのに使用されるコマンドのグループは、そうでなければ、ヌル値を有するだろう。このような実施形態では、初期ヒットレート値は、各グループのコマンドのヒットレートを追跡するために使用される配列を、シード値で埋めることによって選択されてもよい。このシード値は、ハイブリッドドライブ１００からの特定の動作の挙動を引き出すように選択することができる。例えば、各グループのコマンドのヒットレートを追跡するために使用される配列に、非常に低い初期ヒットレート値をシードして、これによりフロートタイマー、スタンバイタイマー、および、パークタイマーに対する長い時間継続期間を発生させることによって、ハイブリッドドライブ１００は、スタートアップにおけるユーザ入力に対してよりすぐに応答するように構成されることができる。このような実施形態では、ハイブリッドドライブ１００は、一般的に、スタートアップにおいて低電力消費状態へと変更されず、高性能モードのままとどまるため、より高いユーザ経験をもたらす。別の例示的な実施形態では、各グループのコマンドのヒットレートを追跡するための配列に、非常に高い初期ヒットレート値をシードして、これによりフロートタイマー、スタンバイタイマー、および、パークタイマーに対する短い時間継続期間を発生させることによって、ハイブリッドドライブ１００は、スタートアップの際に、より電力効率的な方法で動作するように構成させることができる。このような構成は、低バッテリ電力でスタートアップされるホストデバイスに、ハイブリッドドライブ１００が結合されているとき、スタートアップの際に有利である。いくつかの実施形態では、スタートアップの際のハイブリッドドライブ１００の構成は、その時間におけるバッテリ状態の関数であってもよく、バッテリチャージが低い場合には、低電力消費が好ましく、バッテリチャージが高い場合には、高性能が好ましい。いくつかの実施形態では、（ホストデバイスのユーザによって選択される）オペレーティングシステムにより使用される電力スキームが、ハイブリッドドライブ１００の初期の構成に影響を及ぼし得る。
【００４９】
図５は、１つ以上の実施形態にしたがった、磁気ストレージデバイスと不揮発性ストレージデバイスを含むデータストレージデバイスにおける電力管理のための方法のステップのフローチャートを述べる。方法のステップを図１および図２のハイブリッドドライブ１００に関して説明したが、当業者は、方法５００を他のタイプのデータストレージシステムとともに実行してもよいことを理解するだろう。方法５００の制御アルゴリズムは、マイクロプロセッサベースの制御装置１３３、ホスト１０、または、他の何らかの適切な制御回路もしくはシステム中に駐在してもよく、あるいは、マイクロプロセッサベースの制御装置１３３、ホスト１０、または、他の何らかの適切な制御回路もしくはシステムによって実行されてもよい。明瞭さのために、ステップ５１０−５３０を実行するマイクロプロセッサベースの制御装置１３３に関して方法５００を記述した。
【００５０】
示したように、方法５００は、ステップ５１０において開始し、ここでマイクロプロセッサベースの制御装置１３３または他の適切な制御回路もしくはシステムは、図４の予め定められた時間期間４０１のような時間期間を設定する。このように、予め定められた時間期間４０１は、ステップ５１０において開始する。いくつかの実施形態では、時間期間は、ストレージディスク１１０がアクセスされるそれぞれの時間において設定される。
【００５１】
ステップ５２０において、マイクロプロセッサベースの制御装置１３３は、例えば、ハイブリッドドライブ１００が、ストレージディスク１１０に対するアクセスを要求しないリードまたはライトコマンドを受け取った結果として、フラッシュメモリデバイス１３５に対するアクセス数を測定する。いくつかの実施形態では、測定されたアクセス数を使用して、ハイブリッドドライブ１００によって最近に受け取られた複数のリード／ライトコマンドのヒットレートを決定してもよい。いくつかの実施形態では、ヒットレートは、複数のグループのリード／ライトコマンドにわたってのＮＡＮＤヒットレートの移動平均であってもよい。
【００５２】
ステップ５３０において、マイクロプロセッサベースの制御装置１３３は、測定されたアクセス数に基づいて、予め定められた時間期間４０１の長さを調整する。例えば、アクセス数がしきい値を超えるときに、予め定められた時間期間４０１の長さを予め定められた時間デクリメント値によってデクリメントしてもよく、アクセス数がしきい値を下回るときに、予め定められた時間期間４０１の長さを予め定められた時間インクリメント値によってインクリメントしてもよい。
【００５３】
図６は、１つ以上の実施形態にしたがった、磁気ストレージデバイスと不揮発性ストレージデバイスを含むデータストレージデバイスにおける電力管理のための方法のステップのフローチャートを述べる。方法のステップを図１および図２のハイブリッドドライブ１００に関して記述したが、当業者は、方法６００を他のタイプのデータストレージシステムとともに実行してもよいことを理解するだろう。方法６００の制御アルゴリズムは、マイクロプロセッサベースの制御装置１３３、ホスト１０、または、他の何らかの適切な制御回路もしくはシステム中に駐在してもよく、あるいは、マイクロプロセッサベースの制御装置１３３、ホスト１０、または、他の何らかの適切な制御回路もしくはシステムによって実行されてもよい。明瞭さのために、ステップ６１０−６３０を実行するマイクロプロセッサベースの制御装置１３３に関して方法６００を記述した。
【００５４】
示したように、方法６００は、ステップ６３０において開始し、ここで、マイクロプロセッサベースの制御装置１３３または他の適切な制御回路もしくはシステムは、図４における予め定められた時間期間４０１のような時間期間を設定する。したがって、予め定められた時間期間４０１は、ステップ６１０において開始する。いくつかの実施形態では、時間期間はストレージディスク１１０がアクセスされるそれぞれの時間において設定される。
【００５５】
ステップ６２０において、マイクロプロセッサベースの制御装置１３３は、ストレージディスク１１０が次にアクセスされる時間が、ブレークイーブン時間間隔４０２のような、予め定められた時間期間４０１が満了した後の、予め定められた時間間隔内であるか否かについて決定する。
【００５６】
ステップ６３０において、マイクロプロセッサベースの制御装置１３３は、ストレージディスク１１０が次にアクセスされた時間が、ブレークイーブン時間間隔４０２内であるか否かに基づいて、予め定められた時間期間４０１の長さを調整する。ストレージディスク１１０が次にアクセスされた時間が、ブレークイーブン時間間隔４０２内であるとき、予め定められた時間期間４０１は増やされる。ストレージディスク１１０が、ブレークイーブン時間間隔４０２の満了した後に次にアクセスされたとき、予め定められた時間期間４０１は減らされる。
【００５７】
まとめると、ここで記述した実施形態は、データストレージデバイスにおける電力管理のためのシステムと方法を提供する。データストレージデバイスは、磁気ストレージデバイスのディスクアクセス履歴を使用して、ヒットレートに基づいて時間期間の継続時間を調整する。ここで、時間期間は、データ磁気ストレージデバイスが低電力消費状態へと変更する前に発生するアイドル時間であってもよい。結果として、磁気ストレージデバイスの最近の挙動に適応する方式で、磁気ストレージデバイスを低電力消費状態へと好都合に変更することができる。
【００５８】
これまでの記述は、特定の実施形態に向けられているが、他の、および、さらなる実施形態が、これらの基本的範囲から、および、以下の特許請求の範囲によって決定される範囲から逸脱することなく企図されてもよい。
【符号の説明】
【００５９】
１０…ホスト、１００…ハイブリッドドライブ、１１０…ストレージディスク、１３１…システムオンチップ（ＳｏＣ）、１３３…制御装置、１３５…フラッシュメモリデバイス、１３６…フラッシュマネージャデバイス
【図１】
2015041378.tif 000003
【図２】
2015041378.tif 000004
【図３】
2015041378.tif 000005
【図４】
2015041378.tif 000006
【図５】
2015041378.tif 000007
【図６】
2015041378.tif 000008