特許第5730999号(P5730999)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル コーポレイションの特許一覧

<>
  • 特許5730999-ストレージドライブの管理 図000002
  • 特許5730999-ストレージドライブの管理 図000003
  • 特許5730999-ストレージドライブの管理 図000004
  • 特許5730999-ストレージドライブの管理 図000005
  • 特許5730999-ストレージドライブの管理 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5730999
(24)【登録日】2015年4月17日
(45)【発行日】2015年6月10日
(54)【発明の名称】ストレージドライブの管理
(51)【国際特許分類】
   G06F 1/26 20060101AFI20150521BHJP
   G06F 1/32 20060101ALI20150521BHJP
   G06F 3/06 20060101ALI20150521BHJP
【FI】
   G06F1/00 334A
   G06F1/00 332Z
   G06F3/06
【請求項の数】20
【全頁数】11
(21)【出願番号】特願2013-529455(P2013-529455)
(86)(22)【出願日】2011年9月27日
(65)【公表番号】特表2013-538411(P2013-538411A)
(43)【公表日】2013年10月10日
(86)【国際出願番号】US2011053419
(87)【国際公開番号】WO2012044609
(87)【国際公開日】20120405
【審査請求日】2013年3月14日
(31)【優先権主張番号】12/894,670
(32)【優先日】2010年9月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】クーパー,バーンズ
(72)【発明者】
【氏名】シディキ,ファラズ エー.
【審査官】 田川 泰宏
(56)【参考文献】
【文献】 米国特許出願公開第2010/0241883(US,A1)
【文献】 特開2005−316593(JP,A)
【文献】 特開2004−152309(JP,A)
【文献】 特表2007−503042(JP,A)
【文献】 特表2005−538444(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26
G06F 1/32
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
命令を有するメモリストレージ装置であって、
コンピュータプラットフォームで実行されたとき、
ストレージ装置のドライバをモニタする段階であり、
前記ストレージ装置に対するトランザクションのアクセス要求が、第一の時間の間または前記第一の時間より大きい第二の時間の間に、前記ストレージ装置のドライバに送出されていないかを判定する、段階と、
前記トランザクションのアクセス要求が前記第一の時間の間に送出されていない場合、前記ストレージ装置に供給される電力を第一の電力状態に低減する、段階と、
前記トランザクションのアクセス要求が前記第二の時間の間に送出されていない場合、前記ストレージ装置に供給される前記電力を第二の電力状態に低減する段階であり、
前記第二の電力状態は、前記第一の電力状態よりも少ない電力の消費となる、段階と、
を含む方法を実行させるストレージ装置。
【請求項2】
前記トランザクションのアクセス要求が前記第一の時間の間に送出されていない場合、前記ストレージ装置の遅延の許容範囲を増加させる段階、を更に含む、
請求項1記載のストレージ装置。
【請求項3】
前記電力を前記第一の電力状態に低減する段階と前記遅延の許容範囲を前記増加させる段階は、
前記コンピュータプラットフォームのオペレーティングシステムの空間で実行しているポリシーエンジンにより始動される、
請求項2記載のストレージ装置。
【請求項4】
前記ストレージ装置の遅延の許容範囲を増加させる段階は、遅延制御レジスタの状態を設定する段階を含む、
請求項2記載のストレージ装置。
【請求項5】
前記ストレージ装置は、プラットフォームBIOSユーティリティを通して制御される、
請求項1記載のストレージ装置。
【請求項6】
前記第二の電力の状態は、前記ストレージ装置のコントローラへの電力を低減する、
請求項1記載のストレージ装置。
【請求項7】
前記トランザクションのアクセス要求が前記第一の時間の間に送出されない場合、前記ストレージ装置の遅延を第一のレベルに増加させる段階を含む、
請求項6記載のストレージ装置。
【請求項8】
前記トランザクションのアクセス要求が前記第二の時間の間に送出されない場合、前記ストレージ装置の遅延を第二のレベルに増加させる段階、を更に含み、前記第二のレベルは、前記第一のレベルよりも長い、
請求項7記載のストレージ装置。
【請求項9】
ストレージ装置、及び前記ストレージ装置へのアクセスを容易にするストレージ装置のドライバと、
前記ストレージ装置に電力を供給する電圧レギュレータと、
前記ストレージ装置のドライバをモニタするポリシーエンジンであり、
前記ストレージ装置に対するトランザクションのアクセス要求が、第一の時間の間または前記第一の時間より大きい第二の時間の間に、前記ストレージ装置のドライバに送出されていないかを判定し、
前記トランザクションのアクセス要求が前記第一の時間の間に送出されていない場合、前記ストレージ装置に供給される電力を第一の電力状態に低減し、
前記トランザクションのアクセス要求が前記第二の時間の間に送出されていない場合、前記ストレージ装置に供給される前記電力を第二の電力状態に低減し、前記第二の電力状態は、前記第一の電力状態よりも少ない電力の消費となる、
ポリシーエンジンと、
を備えるコンピューティング装置。
【請求項10】
前記ポリシーエンジンは、前記トランザクションのアクセス要求が前記第一の時間の間に送出されていない場合、前記ストレージ装置の遅延の許容範囲を増加させる、
請求項9記載のコンピューティング装置。
【請求項11】
前記ポリシーエンジンは、遅延制御レジスタの状態を設定することで、前記ストレージ装置の前記遅延の許容範囲を増加させる、
請求項10記載のコンピューティング装置。
【請求項12】
前記ポリシーエンジンは、電力管理状態に基づいてオペレーショングシステムを変えることで、前記ストレージ装置の前記遅延の許容範囲を増加させる、
請求項10記載のコンピューティング装置。
【請求項13】
前記ポリシーエンジンは、BIOS ACPI(Advanced Configuration Power Interface)の特徴を通してACPIを変えることで、前記ストレージ装置の前記遅延の許容範囲を増加させる、
請求項12記載のコンピューティング装置。
【請求項14】
前記ストレージ装置を制御するプラットフォームBIOSユーティリティ、を更に備える、
請求項9記載のコンピューティング装置。
【請求項15】
前記第二の電力の状態は、前記ストレージ装置のコントローラへの電力を低減する、
請求項9記載のコンピューティング装置。
【請求項16】
前記ポリシーエンジンは、前記トランザクションのアクセス要求が前記第一の時間の間に送出されない場合、前記ストレージ装置の遅延を第一のレベルに増加させる、
請求項9記載のコンピューティング装置。
【請求項17】
前記ポリシーエンジンは、トランザクションのアクセス要求が前記第二の時間の間に送出されない場合、前記ストレージ装置の遅延を第二のレベルに増加させ、前記第二のレベルは、前記第一のレベルよりも長い、
請求項16記載のコンピューティング装置。
【請求項18】
ストレージ装置と、
前記ストレージ装置に電力を供給する電圧レギュレータと、
前記ストレージ装置に結合されるプロセッサであって、前記ストレージ装置のストレージドライバと、前記プロセッサについて実施される個別の電力管理システムとは独立に前記ストレージ装置の電力及び遅延の状態を制御するポリシーエンジンとを実行する、プロセッサと、
を備え、
前記プロセッサは、
前記ストレージ装置に対するトランザクションのアクセス要求が、第一の時間の間または前記第一の時間より大きい第二の時間の間に、前記ストレージ装置のドライバに送出されていないかを判定し、
前記トランザクションのアクセス要求が前記第一の時間の間に送出されていない場合、前記ストレージ装置に供給される電力を第一の電力状態に低減し、
前記トランザクションのアクセス要求が前記第二の時間の間に送出されていない場合、前記ストレージ装置に供給される前記電力を第二の電力状態に低減し、前記第二の電力状態は、前記第一の電力状態よりも少ない電力の消費となる、
装置。
【請求項19】
前記プロセッサは、前記個別の電力管理システムを実現するオペレーティングシステムを実行する、
請求項18記載の装置。
【請求項20】
前記個別の電力管理システムは、ACPI(Advanced Configuration Power Interface)である、
請求項19記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムに関し、より詳細には、コンピュータシステムにおけるストレージドライブの電力及び/又はパフォーマンスの管理に関する。
【背景技術】
【0002】
携帯用パーソナルコンピュータ(PC)のようなコンピュータプラットフォームにより、ACPI(Advanced Configuration and Power Interface)のような電力管理スキームは、コンピューティングプラットフォームの異なるパーツについて、時間を通してより効率的な動作のための高い又は低い電力消費及びパフォーマンス状態となるのを可能にする異なるシステム、プラットフォーム及びプロセッシングコアの電力及びパフォーマンス状態を提供する。プラットフォームコンポーネントのパフォーマンス/電力状態は、例えばタスク要求、利用可能な電力等といった様々なパラメータに基づいて、プラットフォームオペレーティングシステムにより典型的に制御される。
【0003】
残念なことに、現在実現されているパフォーマンス状態の管理は、ハードディスクドライブ(HDD)、固体デバイス(SDD)及び光ディスクドライブを含むストレージデバイスのような個々のデバイスについて、デマンドアクティビティを考慮するために十分に粒度が細かくない考慮に基づくことができる。例えば、例えば誘発された待ち時間がストレージデバイスのボトルネックによりパフォーマンスを著しく低下させる場合といった、電力管理状態の間の負の相互作用に関連するパフォーマンスの問題がある。例えば、低遅延SSDは、この問題に非常に感度が高い。現在、係る問題を改善するため、ユーザは、それらのコンピュータでの電力管理のオプションを単に切るか、又はパフォーマンス・ヒットを単に許容する場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ストレージVR(ストレージデバイスに電力を供給するために使用される電圧レギュレータ)は、プラットフォームの電源の間で最大損失の一部を典型的に有する。それに応じて、企業は、そのパフォーマンス/電力状態を良好に管理するため。ハードウェアに基づくパワープロファイリング及びヒューリスティックをドライブに組み込んだ製品を製造している。残念なことに、係るアプローチは、過度の更なるオーバヘッドを必要とする可能性があり、所望のレベルにまで機能しない場合がある。
【課題を解決するための手段】
【0005】
従って、これらの問題を改善する新たなアプローチを提供する。本発明の幾つかの実施の形態によれば、プラットフォームのオペレーティングシステムについて既に使用されているストレージドライバを使用した、よりロバストなソリューションが提供される。これは、ストレージドライバがストレージドライブのアクセス要求を典型的に既にモニタしており、従ってトラフィックが顕著であるとき(パフォーマンスがクリティカルである)、又はトラフィックが顕著でないとき(及び電力が節約されている)を知ることができるために効果的である。従って、このアプローチは、クリティカルな電力の節約又はパフォーマンスの機会が利用可能であるときに関する暗黙の情報をもつストレージドライバにより近づく。例えば、あるドライブへのトランザクションが顕著でないとき、ドライブは、電力を節約し、(幾つかの他のデバイスが阻害しないことを仮定して)システムが深い低電力状態に入るのを可能にするように電力管理される。他方で、トランザクションがドライバに対して顕著であるとき、電圧レギュレータが作動され、ドライブは準備が整い、電力管理が異常であり、十分なパフォーマンスがオン・デマンドで伝達されるように、プラットフォームの遅延が徐々に下がる。
【図面の簡単な説明】
【0006】
本発明の実施の形態は、同じ参照符号が同じエレメントを示す添付図面において、限定されることなしに例示される。
図1】本発明の実施の形態に係るストレージドライブのポリシーエンジンをもつコンピュータプラットフォームの図である。
図2】本発明の実施の形態に係るストレージドライブのパフォーマンス及び電力を管理するルーチンを示す図である。
図3】本発明の特定の実施の形態に係る、ストレージドライブのパフォーマンス/電力の管理によるコンピュータプラットフォームを示す図である。
図4】本発明の実施の形態に係る、ストレージデバイスのアクセス要求を管理するルーチンを示すフローダイアグラムである。
図5】本発明の実施の形態に係る、ストレージデバイスへの電力の低減を管理するルーチンを示すフローダイアグラムである。
【発明を実施するための形態】
【0007】
図1は、ストレージドライブのパフォーマンス及び電力消費を管理するストレージデバイスポリシーエンジンをもつコンピュータプラットフォーム102の図である。携帯型コンピュータ(ネットブック、ノートブック、タブレット、スマートフォン等)、デスクトップコンピュータ、サーバコンピュータ、又は他の適切なコンピュータ装置のようなコンピュータプラットフォームの一般化された部分が示されている。図示されたプラットフォームは、図示されるように、実行しているオペレーティングシステムOSソフトウェア104、1以上のストレージデバイス108、ストレージドライブ108への電力を供給する電圧レギュレータ106、及び遅延制御レジスタ110を備える。OS空間は、1以上のプロセッサコア(図示せず)において実行し、ストレージドライブポリシーエンジン(SDPE)103及び1以上のストレージドライブドライバ105を含む。(典型的に、それぞれのストレージドライブ108は、関連するストレージドライバ105を有する。同様に、1を超えるストレージドライブポリシーエンジン103が存在する。例えば、それぞれのドライブについて1つのポリシーエンジンが存在するか、又は代替的に、様々なドライバ108のパフォーマンスを管理するため、1以上のSDPEのインスタンス化が採用される場合がある。)
ストレージドライブ108は、限定されるものではないが、ハードディスクドライブ、光ディスクドライブ、固体ドライブ、及び未だ真価が認められていない他の将来のドライブ記述を含む適切なドライブ技術を有する。
【0008】
図2は、本実施の形態に係るストレージドライブのポリシーエンジンを実現するルーチンを示す。ステップ204で、ストレージドライブのアクセス要求がモニタされる。これは、先に述べたアクセス(データ読取り又は書き込み)要求に気付いているストレージドライバ105を使用して行われる。ステップ206で、ポリシーエンジンは、ストレージドライブのアクセス要求を特徴付けする。すなわち、ポリシーエンジンは、低(又は低い)遅延モードでのドライブを設定することを保証するために十分に高く、VR106を介して適切な電力を供給するかを判定するか、逆に、遅延の設定を増加することを保証するために十分に低く、VR出力を低減するかを判定する。208で、ポリシーエンジンは、特徴付けされた要求に基づいて、ドライブの適切なパフォーマンス設定及び電力状態を設定する。
【0009】
本実施の形態では、遅延制御レジスタ110は、例えば遅延設定を通して、パフォーマンス設定を設定するために使用される。レジスタは、1以上のレジスタを含み、例えばACPIを使用したプラットフォームにおけるC1,C2,C3といった現在露出されているOSの電力設定についてプラットフォームの遅延を制御するために使用される。遅延制御の設定は、ドライブのトランザクション速度の機能に寄与する1以上の異なるコンポーネントに影響を及ぼす。例えば、優先度の設定、電力の設定、リンクの定義等に影響を及ぼす場合がある。それぞれのストレージデバイスの遅延を調節することで、プラットフォームの電力管理の全体の深さは、使用中において動的に境界付けされ、これによりトランザクションが顕著ではないとき(大きな遅延値)、エネルギー効率を最適化し、トランザクションが顕著であるとき(短い遅延値)、パフォーマンスを最適化する。
【0010】
ストレージドライバ105は、トランザクションの要求(ストレージドライブを含む転送“transfers”)が特定のドライブに発生されたときは何時でも利用される。ストレージドライバ105は、待ち行列の状態でこれらの要求を保持して、特定のハードウェアへのトランザクションを遅らせる。これは、ソフトウェア構成を通して行われる。ポリシーエンジン103は、比較的短い時間間隔で特定のストレージドライブ108に対するトランザクションが顕著でないとき、プラットフォームに関する遅延の制約が除去され、これにより深く電力管理された状態が動的に利用可能となるのを可能にするように、ソフトウェアで配置される。ストレージドライブ108は、積極的にスリープ状態又はスタンバイ状態となり、例えばドライブに供給するVR106への軽負荷のシグナル伝達がアサートされる。(この状況によれば、指示がないか、又は十分に低い優先度のコマンドが幾つかの期間について発生されているとき、ドライブは休止している。)
図3は、より詳細な例においてストレージドライブのポリシーエンジンをもつコンピューティングプラットフォームを示す。図示されたプラットフォームは、DMI(Direct Media Interconnect)インタフェース320/350を介してプラットフォームIOチップ331に結合されるCPUチップ311を備える。また、プラットフォームは、プラットフォームを介してI/Oチップ350に結合され、それを不揮発性メモリに供給する、ハードディスクドライブ352、固体ドライブ354、及び光ディスクドライブ356を含む。ドライブは、汎用入力/出力(GPIO)インタフェース332を通して制御される1以上のストレージVR333を介して作動される。(便宜上、例えばディスプレイ、周辺装置等といったPIOチップ又はCPUチップに接続される他のプラットフォームコンポーネントは、示されていない。)
PIOチップ331は、ドライブとプラットフォームの他のパーツとの間のデータの転送を制御するドライブインタフェースコントローラ336,338,340を含む。例えば、1以上のホストコントローラは、AHCI及び/又はSATAに準拠したコントローラを備える。AHCI(Advanced Host Controller Interface)は、実装固有(implementation-specific)でないやり方で(ホストバスアダプタとして知られる)シリアルATAホストコントローラの動作を定義するプログラミング仕様である。この仕様は、ホストシステムメモリと付属のストレージデバイスとの間でデータをやり取りするため、コンピュータハードウェアベンダのシステムメモリ構造を記述する。AHCIは、ソフトウェア開発者及びハードウェア設計者に、SATA/AHCIアダプタを検出、設定及びプログラミングする標準的な方法を提供する。ACHIは、ホストシステムが利用することができるように(ホストプラギング“host-plugging”及びネイティブコマンドキューイング“native command queuing”のような)SATAの最新機能を露出しているが、A-II規格とは分離している。多くのSATAコントローラは、旧式のパラレルATA、標準的なAHCI-モード又はベンダ固有のRAIDといった選択可能な動作モードを提供している。
【0011】
CPUチップ311は、1以上のプロセッサコア312、グラフィックプロセッサ313、低レベルキャッシュ(LLC)314、メモリコントローラ316、ディスプレイインタフェースコントローラ318、及びPCIエクスプレスインタフェースコントローラ324を備える。1以上のコア312は、オペレーティングシステムソフトウェア(OSスペース)304を実行し、オペレーティングシステムソフトウェア304は、BIOS電力状態管理コード306、1以上のストレージドライバ310、BIOS電力状態管理コード306、1以上のストレージデバイス310、1以上のストレージドライブ352,354及び/356の電力/パフォーマンス状態を制御するストレージドライブポリシーエンジン309を含むOSストレージスタック308を含む。なお、ポリシーエンジンは、OSストレージスタック308の一部として示されているが、そのように限定されるものではない。例えばポリシーエンジンは、ドライバ自身の一部であるか、又はプラットフォームの個別の部分で実行される。ポリシードライバは、OSベンダにより提供されるか、ストレージドライブベンダにより提供されるか、又は他のエンティティにより提供される。また、遅延レジスタ307が含まれ、遅延レジスタ307は、ソフトウェアを使用して実現されるか、又はOSスペースにアクセス可能なハードウェアに対応する。
【0012】
SDPE309は、OSストレージドライバに対する変更から生じるか、又は任意で、(図示されるように)ストレージドライバの上にあるフィルタドライバから設計される。例示される実施の形態では、SDPEは、PIOチップ上のGPIOを使用して軽負荷状態又は無負荷状態を信号伝達し、ストレージVRサブシステムと通信する。また、SDPEは、システムBIOSのACPI方法を使用してVRを制御する。図示される実施の形態では、ストレージドライブを制御するためにBIOSが使用される。これは、BIOSは、ストレージシステムを制御するためのプラットフォームに固有の情報を典型的に含み、これにより(例えばストレージドライバといった)OSに基づくアプローチがプラットフォームに独立となるのを可能にするためである。しかし、何れかの適切な代替では、例えばEFI(Extensible Firmware Interface)を代替的に使用することもできる。
【0013】
図4は、低減されたストレージドライブの電力状態を表すルーチンを示す。なお、図4及び以下に説明する図5のルーチンは、所与のストレージドライブの電力/パフォーマンスを管理するために協力して使用される。ステップ402で、ストレージドライブのIOトランザクションが検出される。ステップ404で、ドライブの電源が切られたかが判定される。オフである場合、ステップ406で、ドライブVRを電源オンにする。ステップ408で、例えばアクティブモードのデフォルト又はプリセット設置といったストレージドライブのコンテクストを設定及び/又は回復する。ステップ414で、低遅延の設定及び高電力機能の必要を含めて、アクセスが、例えばユーザに再生されるべきドライブに記憶されている映画の要求といった、メディアアクセスの要求であるかが判定される。アクセス要求がメディアアクセスの要求である場合、ステップ422で、ドライブがアクティブモードで電源が投入され、ステップ420で、ドライブの遅延設定は、十分に低い遅延について設定される。ステップ424で、タスクの要求がサービスのために待ち行列に入れられ、ステップ426で、ショートタイマが設定される。
【0014】
ステップ414に戻り、アクセス要求がメディアアクセスの要求ではない場合、ステップ416で、ドライブは、スタンバイモードでパワーを上げ、ステップ418で、非メディア要求が給仕される。最後に、ステップ426で、ショートタイマが設定される。
【0015】
従って、このルーチンによれば、トランザクション要求がドライブに送出されたとき、ポリシーエンジンは、(例えばストレージドライバを使用して)ソフトウェアキューにおいて、コマンドを保留に「保持し」、保留のコマンドを分析し、これらコマンドが給仕されるべきかを判定する。すなわち、特定の電源を切るアクションが完全に又は部分的に取り消されているかが判定されるか、又は、特定の電源を切るアクションを現状のままにすべきかが判定される。ドライブのストレージ又は物理媒体へのアクセスを必要としない保留のコマンドは、(例えばアクティブといった)フルパワーアップ状態ではなく「パワーオンスタンバイ“Power-on Standby”」にドライブを部分的に電源を入れることで終了される。これは、ドライバの存在を周期的に確認するソフトウェアのため、電力節約機能に対する混乱を最小にすることに役立つ。
【0016】
同時に、到来するトランザクションがドライブのメディアデータを対象とし、同じ慣れている電源を切るアクションは、到来する要求を遂行するために取り消すことができる。ひとたびドライブに電源が完全に投入されると、ソフトウェアのキューにおいて保留にされているI/O要求のタイプに基づいて、(例えばディープスリープ状態、スタンバイ状態等といった)プラットフォームの電力管理の状態にドライブがなおあるとしても、ドライブは、遅延の許容範囲がプラットフォームについて調節されるべきであるかを判定する。例えば、バルク転送要求のペンディングストリームは、ドライブの電源の投入に応じて、ドライブから最大のスループットを可能にするために厳しい遅延の許容範囲が望まれるかを示す。従って、高いI/O(すなわちI/Oドライブアクセストランザクション)要求のシナリオの下で、ポリシーエンジンは、(ドライブの遅延の許容範囲を制御する)遅延制御レジスタに書込みするか、又は厳しい遅延の許容範囲を設定するためにプラットフォームにおけるACPI通知を使用してOSPM C-stateアルゴリズムと通信することでC-stateロジックを動的に格下げし、深い電力管理の状態の遅延を回避することができる。従って、本明細書で開示される実施の形態では、両方の世界(電力節約及び増加されたパフォーマンス)の最良のものが、少なくとも妥当なレベルで達成される。
【0017】
図5は、本実施の形態に係る低減されたストレージドライブの電力モードに入るルーチンを示す。このルーチンは、少なくともステップ501で開始するか、又はステップ502でショート又はロングタイマの期限切れから開始する(図4のルーチンの同じショートタイマ)。ストレージドライバのトランザクションのアクセス要求が保留ではないとき、タイマは、(短い間隔及び長い間隔といった)時間の間隔を識別するために使用される。用語「短い」及び「長い」は、便宜上第一のタイマと第二のタイマとを容易にする、互いに相対的な用語である。実際の期間は、プラットフォームのパラメータ及び所望のパフォーマンスに依存する。所望の粒度に依存して、タイマが使用される。
【0018】
ルーチンがタイマの期限切れでルーチンに入り、ステップ504で、ポリシーエンジンは、コマンドが保留であるかを判定する。例えば、前の保留のアクセス要求からのコマンドが給仕される必要がある場合がある。実行されるべき残りのコマンドが存在する場合、ステップ506で、タイマをリセットして始動させ、ドライブに電源を投入する。ここから、ステップ524に進み、通常の(デフォルトの)ドライブ遅延を設定して、終了する。
【0019】
他方で、ステップ504で、保留のコマンドがなく、期限切れのタイマがショートタイマであった場合、ステップ514に進み、ストレージドライブへの電力を低減する。ステップ512で、軽負荷の信号伝達をストレージドライブVRにアサートする。ステップ510で、遅延の許容範囲を設定(増加)し、ステップ508で、ロングタイマを設定してルーチンを出る。
【0020】
ステップ522に戻り、ロングタイマが期限切れした場合、ステップ520で、ストレージドライブの電源をオフにし、ステップ518で、ストレージドライブの電源をオフにし、ステップ516で、低遅延の要件(更に長い遅延の許容範囲)を設定してルーチンを出る。
【0021】
従って、図5のルーチンによれば、ストレージドライバに送出されるトランザクションがない長い期間の後、ドライブは、更に電源がオフにされる(同時に、前もって必要なコンテクストを給仕する)。(例えばACPI BIOS方法による)GPIOは、ドライブの電源を完全にオフにするために使用される。ひとたびドライブの電源が完全にオフにされると、ストレージコントローラを低電力状態にする(例えばACPIコンテクストにおいて、D3又はより深い、S0ix状態にされる)ことで、更なる電力の節約が達成される。
【0022】
先の記載及び後の特許請求の範囲では、以下の用語は、以下のように解釈されるべきである。用語「結合される“coupled”」及び「接続される“connected”」は、その派生語と共に使用される。これらの用語は、互いに同義語として意図されない。むしろ、特定の実施の形態では、「接続された“connected”」は、2以上のエレメントは直接的に物理的又は電気的に互いに接触することを示すために使用される。「結合される“coupled”」は、2以上のエレメントが互いに協働又は相互作用するが、直接的に物理的又は電気的に接触するか又は接触しないことを示すために使用される。
【0023】
図面の幾つかでは、信号導体線は、ラインで表されていることが理解されたい。幾つかは、より構成要素となる信号経路を示すために太く、多数の構成要素となる信号経路を示すために符号ラベルを有し、及び/又は1以上の端部で矢印を有する。これは、しかし、限定的なやり方で解釈されるべきではない。むしろ、係る付加された詳細は、より容易な図面の理解のため、1以上の例示的な実施の形態と共に使用される。何れかの表現された信号線は、更なる情報を有するか否かに係わらず、複数の方向で伝搬する1以上の信号を実際に含み、例えばディファレンシャルペア、光ファイバライン、及び/又はシングルエンドラインで実現されるデジタル又はアナログラインといった、適切なタイプのシグナルスキームで実現される。
【0024】
例となるサイズ/モデル/値/範囲が与えられたが、本発明はこれらの例に限定されるものではないことを理解されたい。製造技術は時間につれて成熟するので、より小さいサイズの装置が製造されることが期待される。さらに、ICチップ及び他のコンポーネントへの公知の電力/グランドコネクションは、例示及び説明の簡単さのため、及び本発明を曖昧にしないように、図面内で示される場合、又は示されない場合がある。さらに、アレンジメントは、本発明を曖昧にするのを回避するため、係るブロック図のアレンジメントの実現に関する仕様は、本発明が実現されるプラットフォームに大きく依存する、すなわち係る仕様は当業者の範囲内に良好に含まれるという観点でブロック図で示される。特定の詳細(例えば回路)は、本発明の例示的な実施の形態を説明するために述べられたが、本発明はこれらの特定の詳細なしに変形なしに、又は変形により実施できることは当業者にとって明らかである。従って、説明は限定する代わりに例示するものとみなされる。
図1
図2
図3
図4
図5