(57)【要約】      （修正有）【課題】データ記憶装置の性能を意識した電力キャッピング制御のためのシステム、方法およびファームウェアを、提供する。【解決手段】データ記憶装置を示す。データ記憶装置は、データ記憶装置用の電力閾値を識別する記憶制御システムを含む。データ記憶装置は、データ記憶装置用の消費電力特性を判定し、データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを調整して、データ記憶装置用の電力閾値未満として消費電力特性を設定するデータ記憶装置用の電力制御モードに入る。【選択図】図１
2016076204.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムを動作させてデータ記憶装置の電力使用量を制御する方法であって、
前記データ記憶装置用の電力閾値を識別するステップと、
前記データ記憶装置用の消費電力特性を判定するステップと、
前記データ記憶装置用の電力制御モードに入り、前記データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを応答可能に調整して、前記データ記憶装置用の前記電力閾値未満として前記消費電力特性を設定するステップと、
を含む方法。
【請求項２】
前記消費電力特性を前記電力閾値未満に維持しながら、スループットをスループット閾値より上に増大させることに前記データ記憶装置用の最大の記憶トランザクション待ち行列の長さを専念させるステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記消費電力特性を前記電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために前記記憶トランザクション待ち行列の長さを減少させるステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記実際の消費電力特性と前記目標消費電力特性との間の差に比例した前記記憶トランザクション待ち行列の長さを適応的に調整するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記データ記憶装置における電力測定システムを利用して消費電力特性を測定するステップをさらに含む、請求項１に記載の方法。
【請求項６】
ホストシステムを用いて電力測定システムから消費電力特性を自動的および／または連続的に通信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
サンプリングレートを設定するステップと、測定期間を設定するステップと、電力測定システム用の時間ベースの電力測定およびトランザクションベースの電力測定の中から選択するステップとのうちの少なくとも１つのステップをさらに含む、請求項１に記載の方法。
【請求項８】
ホストシステムによって前記データ記憶装置の前記電力測定システムの動作を制御するステップをさらに含む、請求項１に記載の方法。
【請求項９】
ホストシステムからの非同期要求に応じて前記データ記憶装置の記憶媒体上の所定の位置に識別子の組を書き込み、前記関連消費電力を測定するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
記憶トランザクション待ち行列内で範囲をサイズ変更するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
データ記憶装置において消費電力を制御するホストシステムであって、
前記データ記憶装置の電力閾値を識別するように構成されている記憶制御システムと、
前記データ記憶装置の消費電力特性を監視するように構成されている電力測定システムと、
を含み、前記記憶制御システムが、前記データ記憶装置用の電力制御モードに入り、前記データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを応答可能に調整して、前記データ記憶装置用の前記電力閾値未満として前記消費電力特性を設定するように構成される、ホストシステム。
【請求項１２】
前記消費電力特性を前記電力閾値未満に維持しながら、スループットをスループット閾値より上に増大させることに前記データ記憶装置用の最大の記憶トランザクション待ち行列の長さを専念させるようにさらに構成される、請求項１１に記載のホストシステム。
【請求項１３】
前記消費電力特性を前記電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために前記記憶トランザクション待ち行列の長さを減少させるようにさらに構成される、請求項１１に記載のホストシステム。
【請求項１４】
前記実際の消費電力特性と前記目標消費電力特性との間の差に比例した前記記憶トランザクション待ち行列の長さを適応的に調整するようにさらに構成される、請求項１１に記載のホストシステム。
【請求項１５】
電力測定システムをさらに含む、請求項１１に記載のホストシステム。
【請求項１６】
ホストシステムを用いて消費電力特性を自動的および／または連続的に通信するようにさらに構成される、請求項１５に記載の電力測定システム。
【請求項１７】
設定可能なサンプリングレート、設定可能な測定期間、時間ベースの電力測定、およびトランザクションベースの電力測定のうちの少なくとも１つをさらに含む、請求項１５に記載の電力測定システム。
【請求項１８】
ホストシステムから制御コマンドを受信して制御コマンドに応答するようにさらに構成される、請求項１５に記載の電力測定システム。
【請求項１９】
ホストシステムからの非同期要求に応じて前記データ記憶装置の記憶媒体上の所定の位置に識別子の組を書き込み、前記関連消費電力を測定するようにさらに構成される、請求項１１に記載のホストシステム。
【請求項２０】
記憶トランザクション待ち行列内で範囲をサイズ変更するようにさらに構成される、請求項１１に記載のホストシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
パーソナルコンピュータ、ワークステーション、サーバシステムおよびクラウド記憶システムなどのコンピュータおよびネットワークシステムは一般に、データを記憶して検索するデータ記憶システムを含む。これらのデータ記憶システムは、ハードディスクドライブ、ソリッドステート記憶装置、テープ記憶装置および他の大容量記憶装置などのデータ記憶装置を含むことができる。
【０００２】
デジタルコンテンツおよびビッグデータの最近の需要は、より多く、より密集した、より大規模なデータセンターの必要性を喚起している。データセンターの電力損失が、重要な問題である。データセンターは、自由に使える許容ピーク電力によって制約されることが多い。電力調整および分配基盤施設と冷却システムとの両方を、それらの合成ピーク電力要件に基づいてサイズ決定する必要があるため、ピーク電力容量は重要である。
【０００３】
データセンターの作業者は、利用度を最大にするため、常時許容可能な上限よりも多くのマシンサーバおよびユーザを用いて、データセンターの電力供給を過剰にする。データセンターに含まれる種々の計算システムに対する最大電力使用量を設定するために、電力キャッピングをデータセンターにおいて使用している。しかし、計算システムの個々の構成要素による電力損失は、未使用の計算要素のスリープモードまたは電源オフなどの非常に粗い調整に制限されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
データ記憶装置の電力制御のためのシステム、方法およびファームウェアを、本明細書において提供する。一例では、データ記憶装置を提供する。データ記憶装置は、データ記憶装置用の電力閾値を識別する記憶制御システムを含む。データ記憶装置は、データ記憶装置用の消費電力特性を判定し、データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを調整して、データ記憶装置用の電力閾値未満として消費電力特性を設定するデータ記憶装置用の電力制御モードに入る。
【図面の簡単な説明】
【０００５】
【図１】データ記憶装置における性能を意識した電力キャッピング用の記憶システムを示す。
【図２】データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。
【図３Ａ】データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。
【図３Ｂ】データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。
【図４】データ記憶装置における性能を意識した電力キャッピング用の記憶システムの別の実施形態を示す。
【図５】データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。
【図６】データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。
【図７】データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置を示す。
【図８】データ記憶装置における性能を意識した電力キャッピング用のアーキテクチャを示す。
【図９】データ記憶装置における性能を意識した電力キャッピング用の計算システムを示す。
【発明を実施するための形態】
【０００６】
データ記憶システムでは、ハードディスクドライブ、ソリッドステートドライブ、特に記憶装置などの種々の大容量記憶装置を使用する。しかし、これらの記憶装置では、多くのデータ記憶システムを集めるデータセンターによって過剰な消費電力を引き起こす可能性がある高レベルの電力を使用することがある。後述の例において、種々の方法、システム、装置およびファームウェアは、データサーバおよびデータ記憶システムで使用される種々の大容量記憶装置における消費電力のきめ細かい制御を可能にする。例えば、ハードディスクドライブを、ハードディスクドライブのパラメータを修正する電力キャッピングモードにして、記憶動作がそのハードディスクドライブ用の電力閾値を下回ることができる。データ記憶装置の電力キャッピングおよび電力制御の他の例を後述する。
【０００７】
第１の例として、図１を示す。図１は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム１００を示す。記憶システム１００は、データ記憶装置１０２とホストシステム１２０とを含む。データ記憶装置１０２およびホストシステム１２０は、リンク１３０上で通信する。データ記憶装置１０２は、記憶媒体１１２と、記憶制御システム１１４と、待ち行列１１６とを含む。記憶媒体１１２は、所望の情報を記憶するのに使用でき、記憶制御システム１１４などの命令実行システムによってアクセスできる任意の物理媒体を含む。記憶制御システム１１４は、記憶媒体１１２にアクセスする処理回路およびメモリを含む。待ち行列１１６は、読み取りまたは書き込みコマンドなどの、データ記憶装置１０２用のコマンドのデータ構造を含む。ホストシステム１２０は、パーソナルコンピュータ、サーバまたは他のコンピュータおよびネットワークシステムなどの１つ以上の計算およびネットワークシステムを含む。動作中、ホストシステム１２０は、電力閾値１１０および／または待ち行列の長さ１４０をデータ記憶装置１０２に転送する。データ記憶装置１０２は、電力閾値１１０および／または待ち行列の長さ１４０をホストシステム１２０から受信する。
【０００８】
図２は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム１００を動作させる方法を示す。独立してデータ記憶装置１０２またはホストシステム１２０によって、または同時にデータ記憶装置１０２およびホストシステム１２０によって、動作を行うことができる。図２の動作を挿入的に後で参照する。
【０００９】
図２の第１の例において、上述のように図２の動作をホストシステム１２０が行うことができるものとするが、データ記憶装置１０２は図２の動作を行う。データ記憶装置１０２は、データ記憶装置１０２用の電力閾値１１０を識別する（２０２）。電力閾値１１０は、データ記憶装置１０２用の許容最大または最小消費電力特性を示す。電力閾値１１０は、データ記憶装置１０２の電流引き込みおよび供給電圧に基づくことができきる、ワット、または電力もしくはエネルギー損失の他の単位で、消費電力閾値を指定する。データ記憶装置１０２は、データ記憶装置１０２用の消費電力特性を判定する（２０４）。消費電力特性を、種々の方法で定義することができる。例えば、消費電力特性は、データ記憶装置１０２用の単位時間当たりまたはトランザクション当たりの最大許容電力損失を示してもよい。データ記憶装置１０２は、データ記憶装置１０２用の電力制御モードに入る（２０６）。
【００１０】
電力制御モードは、待ち行列の長さ１４０を制御することによってデータ記憶装置１０２の消費電力特性に対する精密な制御を行うデータ記憶装置１０２用の動作モードである。２つの可能な電力制御モードは、待ち行列１１６を調整することによって得られる待ち時間モードおよびスループットモードを含む。待ち時間モードは、待ち行列の長さ１４０を減少させることによって高速応答時間を提供する。スループットモードは、待ち行列の長さ１４０を増大させることによってデータストリーム用の効率的な性能を提供する。データ記憶装置１０２は、データ記憶装置１０２において少なくとも待ち行列の長さ１４０を応答可能に調整する（２０８）。待ち行列の長さ１４０を、記憶制御システム１１４またはホストシステム１２０によって制御することができる。待ち行列の長さ１４０を制御することによって、待ち時間モードおよびスループットモードを実現することができる。データ記憶装置１０２は、データ記憶装置１０２用の電力閾値未満として消費電力特性を設定する（２１０）。データ記憶装置１０２は、データ記憶装置１０２の消費電力特性を監視し、電力制御モードおよび待ち行列の長さ１４０を応答可能に調整して、望ましい消費電力特性を設定して維持する。消費電力特性の監視は、連続的または離散的のいずれでもよい。
【００１１】
データ記憶ドライブにおいて消費電力を制御する更なる例として、図３Ａおよび図３Ｂを示す。図３Ａおよび図３Ｂは、データ記憶装置における性能を意識した電力キャッピング用の記憶システム１００を動作させる方法をさらに示す。図３Ａは、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置１０２によって実行される記憶システム１００を動作させる方法を示す。図３Ｂは、データ記憶装置における性能を意識した電力キャッピング用のホストシステム１２０によって実行される記憶システム１００を動作させる方法を示す。
【００１２】
図３Ａは、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置１０２によって実行される記憶システム１００を動作させる方法を示す。ホストシステム１２０は、データ記憶装置１０２用の電力閾値１１０を識別する。ホストシステム１２０は、電力閾値１１０をデータ記憶装置１０２に通信する（３０２）。データ記憶装置１０２は、消費電力特性を判定する。データ記憶装置１０２は、電力制御モードに入り、少なくとも待ち行列の長さ１４０を応答可能に調整する。データ記憶装置１０２は、電力閾値未満として消費電力特性を設定する。
【００１３】
図３Ｂは、データ記憶装置における性能を意識した電力キャッピング用のホストシステム１２０によって実行される記憶システム１００を動作させる方法を示す。ホストシステム１２０は、データ記憶装置１０２用の電力閾値１１０を識別する。ホストシステム１２０は、データ記憶装置１０２用の消費電力特性を判定する。ホストシステム１２０は、電力制御モードに入り、少なくとも待ち行列の長さ１４０を応答可能に調整する。ホストシステム１２０は、待ち行列の長さ情報をデータ記憶装置１０２に送信し、電力閾値１１０未満としてデータ記憶装置１０２用の消費電力特性を設定する（３０４）。
【００１４】
図１に戻って、記憶システム１００の要素をさらに後述する。データ記憶装置１０２は、ハードディスクドライブ（ＨＤＤ）、ソリッドステート記憶ドライブ（ＳＳＤ）、フラッシュメモリドライブ、相変化メモリドライブ、光メモリドライブ、またはこれらの組合せおよび変形例を含む他のタイプのデータ記憶装置であることができる。データ記憶装置１０２は、ホストインタフェース、処理回路、データバッファ、メモリおよび読み書きヘッドなどの電気的構成要素を含む。
【００１５】
記憶媒体１１２は、所望の情報を記憶するのに使用でき、記憶制御システム１１４などの命令実行システムによってアクセスできる任意の物理媒体を含む。記憶媒体１１２の例として、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、相変化メモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を記憶するのに使用でき、命令実行システムによってアクセスできる任意の他の媒体、さらにこれらの任意の組合せまたは変形例、または任意の他のタイプの記憶媒体がある。
【００１６】
記憶制御システム１１４は、記憶媒体１１２にアクセスする処理回路およびメモリを含む。記憶制御システム１１４は、処理回路、メモリ、ホストインタフェース、およびバッファをさらに含む。メモリは、リンク１３０上で受信される読み書きコマンドに作動して応答する少なくとも記憶制御システム１１４によって実行されるファームウェアも含む。
【００１７】
ホストシステム１２０は、パーソナルコンピュータ、サーバコンピュータ、ラックサーバ、ウェブサーバ、クラウド計算プラットフォーム、パケットネットワーク、管理システム、データセンター機器、任意の他のタイプの物理または仮想サーバマシン、およびこれらの任意の変形例または組合せなどの１つ以上の計算およびネットワークシステムを含むことができる。動作中、ホストシステム１２０は、読み書きコマンドをリンク３３０上でデータ記憶装置１０２に出す。更なる例において、ホストシステム１２０は、データ記憶装置１０２用の１つ以上のコマンドを出して、電力制御モードに入ることができる。
【００１８】
リンク１３０は、１つ以上のリンクを含むことができる。リンク１３０は、金属、無線、光、またはこれらの組合せを含む他のネットワークリンクを含む。リンク１３０は、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＡＴＡ（ＳＡＴＡ）、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（ＳＡＳ）、ＦｉｂｅｒＣｈａｎｎｅｌ、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、ＳＣＳＩ、ＩｎｆｉｎｉＢａｎｄ、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＩＰ）、またはこれらの変形例および組合せを含む他のパラレルもしくはシリアル記憶装置または周辺インタフェースなどの任意の記憶装置またはディスクインタフェースを含むことができる。リンク１３０は、ＬＴＥ、ＧＳＭ（登録商標）、ＣＤＭＡ、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＩＰ）、Ｅｔｈｅｒｎｅｔ、Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＳＩＰ）、Ｄｉａｍｅｔｅｒ、Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＲＴＰ）、および／またはこれらの組合せを含む他のフォーマットなどの種々の通信および制御プロトコルを利用する。
【００１９】
図４は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム４００を示す。記憶システム１００は代わりの構成および動作を有してもよいが、記憶システム４００は記憶システム１００の例である。記憶システム４００は、データ記憶装置４０２とホストシステム４２０とを含む。データ記憶装置４０２およびホストシステム４２０は、リンク４３０を介して通信する。
【００２０】
データ記憶装置４０２は、記憶媒体４１２と、記憶制御システム４１４と、待ち行列４１６と、電力測定システム４１８とを含む。データ記憶装置４０２は、ハードディスクドライブ、リムーバブルディスク記憶ドライブ、ソリッドステートドライブ、テープドライブ、または待ち行列の長さ４４０の影響を受ける消費電力特性を有する他の記憶装置であってもよい。
【００２１】
記憶制御システム４１４は、処理回路およびメモリを含む。処理回路は、メモリからファームウェアを検索して実行する１つ以上のマイクロプロセッサおよび他の回路を含むことができる。処理回路を、単一の処理装置内で実現することができるが、プログラム命令を実行する際に協働する複数の処理装置またはサブシステム全体にわたって分散することもできる。処理回路の例として、汎用中央処理装置、特定用途向けプロセッサ、論理装置、任意の他のタイプの処理装置、これらの組合せまたは変形例がある。記憶制御システム４１４は、消費電力特性を電力閾値４１０未満に維持しながら、スループットをスループット閾値より上に増大させるために待ち行列の長さ４４０を増大させてもよい。代わりに、記憶制御システム４１４は、消費電力特性を電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために待ち行列の長さ４４０を減少させてもよい。記憶制御システム４１４は、サンプリングレートを設定し、測定期間を設定して、時間ベースの電力測定およびトランザクションベースの電力測定の中から選択してもよい。ホストシステム４２０は、記憶制御システム４１４と同じ動作を行うことができる。
【００２２】
記憶媒体４１２は、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、相変化メモリ、磁気テープ、またはこれらの組合せおよび変形例を含む他の記憶媒体を含む。多くの例において、データ記憶装置４０２は、記憶媒体４１２に読み書きする種々の機械、電気および電気機械的構成要素、例えば、読み書きヘッド、電機子、光学読み書き素子、サーボ機構、前置増幅器、増幅器、またはこれらの組合せを含む他の構成要素を含む。
【００２３】
電力測定システム４１８は、データ記憶装置４０２によって少なくとも電力使用量を測定する。電力測定システムは、瞬間的に、指定の期間にわたって、またはデータ記憶装置４０２のトランザクションごとに、電力測定を行ってもよい。データ記憶装置４０２の電力測定システム４１８の動作を、ホストシステム４２０によって制御してもよい。電力測定システムは、電力測定システム４１８の設定のために連続的かつ周期的にホストシステム４２０と通信してもよい。
【００２４】
ホストシステム４２０は、プロセッサ４２４およびメモリ４２６を含む。ホストシステム４２０は、パーソナルコンピュータ、サーバ、クラウド記憶システム、パケットネットワーク、管理システム、またはこれらの組合せおよび変形例を含む他のコンピュータおよびネットワークシステムなどの１つ以上の計算およびネットワークシステムを含む。動作中、ホストシステム４２０は、読み書きコマンドをリンク４３０上でデータ記憶装置４０２に出す。例によっては、ホストシステム４２０は、コマンドをデータ記憶装置４０２に出すこともある。例えば、ホストシステム４２０は、電力測定システム４１８を使用可能または使用不能にして、測定コマンドを電力測定システム４１８に出すことができる。ホストシステム４２０は、データ記憶装置を命令して電力制御モードに入ることもできる。ホストシステム４２０は、待ち行列の長さ４４０を調整して、データ記憶装置４０２用の望ましい消費電力特性を設定することもできる。ホストシステム４２０は、電力閾値４１０および／または待ち行列の長さ４４０をデータ記憶装置４０２に転送する。ホストシステムは、サンプリングレートを設定し、測定期間を設定して、時間ベースの電力測定およびトランザクションベースの電力測定から選択する。
【００２５】
プロセッサ４２４は、メモリからファームウェアを検索して実行する１つ以上のマイクロプロセッサおよび他の回路を含む。処理回路を、単一の処理装置内で実現することができるが、プログラム命令を実行する際に協働する複数の処理装置またはサブシステム全体にわたって分散することもできる。処理回路の例として、汎用中央処理装置、特定用途向けプロセッサ、論理装置、任意の他のタイプの処理装置、これらの組合せまたは変形例がある。
【００２６】
メモリ４２６は、ファイルシステム４２８を含む。メモリ４２６の例として、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を記憶するのに使用でき、命令実行システムによってアクセスできる任意の他の媒体、さらにこれらの任意の組合せまたは変形例、または任意の他のタイプの記憶媒体がある。
【００２７】
ファイルシステム４２８は、ディスクファイルシステム、光ディスクファイルシステム、フラッシュファイルシステム、テープファイルシステム、トランザクションのファイルシステム、ネットワーク化ファイルシステム、共用ディスクファイルシステム、デバイスファイルシステムおよび他のファイルシステムであることができる。ディスクファイルシステムは、ＦＡＴ（ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２）、ｅｘＦＡＴ、ＮＴＦＳ、ＨＦＳ、ＨＦＳ＋、ＨＰＦＳ、ＵＦＳ、ｅｘｔ２、ｅｘｔ４、ＸＦＳ、ｂｔｒｆｓ、ＩＳＯ  ９６６０、Ｆｉｌｅｓ−１１、Ｖｅｒｉｔａ  Ｆｉｌｅ  Ｓｙｓｔｅｍ、ＶＭＦＳ、ＺＦＳ、ＲｅｉｓｅｒＦＳ、ＵＤＦまたは他のファイルシステムを含んでもよい。光ディスクファイルシステムは、ＩＳＯ  ９６６０、Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ（ＵＤＦ）、Ｍｏｕｎｔ  Ｒａｉｎｉｅｒまたは他の光ディスクファイルシステムを含んでもよい。テープファイルシステムは、ＩＢＭ  Ｌｉｎｅａｒ  Ｔａｐｅ  Ｆｉｌｅ  Ｓｙｓｔｅｍ−Ｓｉｎｇｌｅ  Ｄｒｉｖｅ  Ｅｄｉｔｉｏｎ（ＬＴＦＳ−ＳＤＥ）または他のテープファイルシステムを含んでもよい。トランザクションのファイルシステムは、Ｔｒａｎｓａｃｔｉｏｎａｌ  ＮＴＦＳ、Ｖａｌｏｒ、Ａｍｉｎｏ、ＬＦＳ、Ｔｒａｎｓａｃｔｉｏｎａｌ  ｅｘｔ３、または他のトランザクションのファイルシステムを含んでもよい。ネットワーク化ファイルシステムの例の中には、ＮＦＳ、ＡＦＳ、ＳＭＤプロトコル用のクライアントと、ＦＴＰおよびＷＥＢＤＡＶ用のファイルシステムに似たクライアントとを含むこともある。共用ディスクファイルシステムの例の中には、ＧＦＳ２、ＧＰＦＳ、ＳＦＳ、ＣＸＦＳ、ＳｔｏｒＮｅｘｔまたは他の共用ディスクファイルシステムを含むこともある。
【００２８】
電力閾値４１０は、データ記憶装置４０２用の許容最大または最小消費電力特性を示す。電力閾値４１０は、ワット、または電力もしくはエネルギー損失の他の単位で、消費電力閾値を指定する。電力閾値４１０は、時間またはトランザクションベースで消費電力を制限してもよい。例えば、データ記憶装置４０２は特定の期間中にピーク電力量を単に使用するということを電力閾値４１０は指定してもよい。代わりに、データ記憶装置４０２はトランザクション当たりの指定電力量に消費電力を制限するということを電力閾値４１０は指定してもよい。電力閾値４１０は、連続的に可変または一定であってもよい。
【００２９】
データ記憶装置４０２用の望ましい消費電力特性を設定するのに待ち行列の長さ４４０を調整してもよい。データ記憶装置４０２は、電力制御モードに入り、少なくとも待ち行列の長さ４４０を応答可能に調整して、電力閾値４１０未満として消費電力特性を設定するように構成されている。電力制御モードは、スループットモードおよび待ち時間モードを含む。スループット電力制御モードは、消費電力特性を電力閾値未満に維持しながら、スループット閾値を超えて高いスループットを可能にするために待ち行列の長さ４４０を増大させる。待ち時間電力制御モードは、消費電力特性を電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために待ち行列の長さ４４０を減少させる。
【００３０】
リンク４３０は、図４に単一のリンクで示してあるが、１つ以上のリンクを含むことができる。リンクは、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＡＴＡ（ＳＡＴＡ）、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（ＳＡＳ）、ＦｉｂｅｒＣｈａｎｎｅｌ、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、ＳＣＳＩ、ＩｎｆｉｎｉＢａｎｄ、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）、Ｅｔｈｅｒｎｅｔ、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＩＰ）、またはこれらの変形例および組合せを含む他のパラレルもしくはシリアル記憶装置または周辺インタフェースなどの任意の記憶装置またはディスクインタフェースを含むことができる。
【００３１】
図５は、データ記憶装置における性能を意識した電力キャッピング用の例示的な電力制御モードを示す。データ記憶装置４０２は、動作モードに基づく異なる消費電力特性を有する。待ち行列４１６の操作によって、電力制御モードを含む異なる動作モードを生成することができる。電力制御モードの例の中には、スループットモードおよび待ち時間モードもある。例えば、待ち行列の長さ４４０を増大させることによって、待ち時間性能を犠牲にしてデータ記憶装置４０２のスループット性能を向上させる。代わりに、待ち行列の長さ４４０を減少させることによって、スループット性能を犠牲にしてデータ記憶装置４０２の待ち時間を向上させる。これらの電力制御モードは、データ記憶装置４０２が電力閾値４１０よりも多くの電力を消費しないようにデータ記憶装置４０２の消費電力特性を調整するのに使用可能である。
【００３２】
図５は、待ち行列４１６と連動するデータ記憶装置４０２の通常動作モードの例示を含む。この例の場合、データ記憶装置４０２はハードディスクドライブである。図示しないが、ハードディスクドライブは通常、読み書きヘッドを保持する電機子を移動させるサーボ機構を含む。読み書きヘッドを異なる角度位置に記憶媒体４１２の表面全体にわたって位置決めする場合、サーボ／電機子機構は電力を消費する。
【００３３】
通常動作モードにおいて、読み書きヘッドは、最初の位置「Ａ」で開始し、第２の位置「Ｂ」に到達するのに第１の方向に移動してから、第３の位置「Ｃ」に到達するのに反対の方向に移動する必要がある。読み書きヘッドの位置は時間に対して効率的に制御されず、必要な電力よりも多くの電力を使用することに留意されたい。待ち行列４１６は、より効率的な読み書きヘッドの位置決めのために、記憶制御システム４１４またはホストシステム１２０によって操作されるのに十分な長さを有していない。従って、消費電力特性は待ち行列の長さ４４０に関連している。
【００３４】
図５は、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置４０２用のスループットモードを説明する例示を含む。待ち行列の長さ４４０を増大させることによって、スループットモードを実現する。待ち行列の長さ４４０が十分長い場合、図５のスループットモードに示すように、より効率的な読み書き時間のために、待ち状態の要求を編成することができる。待ち行列の長さ４４０を増大させることによって、より効率的な読み書きヘッドの位置決めのために、待ち行列４１６内で待ち状態の要求を編成することができる。スループットモードで通常動作モードよりも速く同じ要求を処理することに留意されたい。通常動作モードのように待ち行列４１６の長さが短い場合、記憶制御システム４１４またはホストシステム１２０は、スループットモードに対して効率的な順序で待ち状態の要求を配列する資源を有しない。待ち行列４１６は、通常動作モードと同様のモードで動作せざるを得ないであろう。
【００３５】
図５は、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置４０２用の待ち時間モードを示す。待ち時間は、読み書きヘッドによってトランザクションを記憶媒体１１２から読み取るか、または記憶媒体１１２に書き込むまでトランザクションを待ち行列４１６内に記憶する時間を含むことができる。読み取り待ち時間は、ホスト４２０が読み取りコマンドを出す時間、および読み取りに応じてホストシステムにデータを戻すのにかかる時間からなる。書き込み待ち時間は、終点が、記憶媒体１１２への書き込みヘッドによるデータのコミットメント、および書き込みの完了を示す信号である以外は同様である。読み書きコマンドは、待ち行列４１６内の待ち状態の要求が完了されるのを待つ必要があるため、長い待ち行列の長さ４４０は待ち時間を長くする。データ記憶装置１０２またはホストシステム１２０が短い待ち行列の長さ４４０を設定する場合、記憶制御システム４１４またはホストシステム４２０は、多くの待ち状態の要求が完了するのを待つ必要がないため、待ち時間は短くなる。
【００３６】
図６は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム４００を動作させる方法を示す。独立してデータ記憶装置４０２またはホストシステム４２０によって、または同時にデータ記憶装置４０２およびホストシステム４２０によって、動作を行うことができる。図６の動作を挿入的に後で参照する。
【００３７】
図６の第１の例において、上述のように図６の動作をホストシステム１２０が行うことができるものとするが、データ記憶装置４０２は図６の動作を行う。データ記憶装置４０２は、データ記憶装置４０２用の電力閾値４１０を識別する（６０２）。電力閾値４１０は、データ記憶装置４０２用の許容最大または最小消費電力特性を示す。電力閾値４１０は、ワット、または電力もしくはエネルギー損失の他の単位で、消費電力閾値を指定する。データ記憶装置４０２は、サンプリングレートを設定し、測定期間を設定して、時間ベースまたはトランザクションベースの電力測定の中から選択して消費電力特性を判定する（６０４）。消費電力特性を、種々の方法で測定してもよい。データ記憶装置４０２およびホストシステム４２０の両方は、サンプリングレートを設定し、測定期間を設定して、高い自由度および電力測定に対する制御を与える時間ベースまたはトランザクションベースの電力測定の中から選択することができる。例の中には、データ記憶装置４０２は電力測定システム４１８を含むこともある。データ記憶装置４０２は、電力測定システム４１８からデータ記憶装置４０２用の消費電力特性を判定する（６０６）。消費電力特性を、種々の方法で定義することができる。例えば、消費電力特性は、データ記憶装置４０２用の単位時間当たりまたはトランザクション当たりの最大許容電力損失を示してもよい。データ記憶装置４０２用の電力制御モードに入り、電力閾値４１０未満として消費電力特性を設定する（６０８）。電力制御モードは、待ち行列の長さ４４０を制御することによってデータ記憶装置４０２の消費電力特性に対する精密な制御を行うデータ記憶装置４０２用の動作モードである。
【００３８】
スループットモードおよび待ち時間モードは、記憶装置が電力を制御しながら作動できる２つの性能重視のモードである。これらのモードを本明細書において説明する。スループットモードにおいて、記憶制御システム４１４またはホストシステム４２０は、消費電力特性を電力閾値未満に維持しながら、スループットをスループット閾値より上に増大させることに最大の待ち行列の長さ４４０を専念させる（６１０）。待ち時間モードにおいて、記憶制御システム４１４またはホストシステム４２０は、消費電力特性を電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために待ち行列の長さ４４０を減少させる（６１２）。データ記憶装置４０２およびホストシステム４２０は、データ記憶装置４０２の所望の消費電力特性を実現するのに、スループットモードと待ち時間モードを交互に行ってもよい。記憶制御システム４１４またはホストシステム４２０は、実際の消費電力特性と目標消費電力特性との間の差に比例した待ち行列の長さ４４０を適応的に調整する（６１４）。電力計の設定値、およびホストシステム４２０とデータ記憶装置４０２との間のフィードバックを通信する（６１６）。データ記憶装置４０２は、ホストシステム４２０に消費電力特性を提供する。ホストシステム４２０によって電力測定システム４１８の動作を制御する（６１８）。電力測定システム４１８は、ホストシステムからコマンドを受け取るように構成されている。単一の待ち行列の長さの代わりに、待ち行列内での範囲のサイズ変更を設定することもできる（６２０）。
【００３９】
図７は、データ記憶装置における性能を意識した電力キャッピング用のハードディスクドライブ７０２を示す。データ記憶装置１０２およびデータ記憶装置４０２は代替の構成および動作を有してもよいが、ハードディスクドライブ７０２は、データ記憶装置１０２およびデータ記憶装置４０２の例である。ハードディスクドライブ７０２は、記憶媒体７１２と、待ち行列７１６と、電力測定システム７１８とを含む。記憶媒体７１２には、一連の識別子ＩＤ１〜ＩＤ６が示してある。動作中、ホストシステムからの非同期要求に応じて記憶媒体７１２上の所定の位置に（ＩＤ１〜ＩＤ６で表される）識別子の組を書き込み、関連消費電力を測定することによって、ハードディスクドライブ７０２の消費電力特性を判定することができる。
【００４０】
図８は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム８００を示す。記憶システム１００および記憶システム４００は代替の構成および動作方法を有してもよいが、記憶システム８００は、記憶システム１００および記憶システム４００の例である。記憶システム８００は、データ記憶装置８０２と、ファイルシステム８０４と、ブロック入出力スケジューラ８０６とを含む。データ記憶装置８０２は、ハードディスクドライブ、ソリッドステート記憶ドライブ、フラッシュメモリドライブ、またはこれらの組合せおよび変形例を含む他のタイプのデータ記憶装置であることができる。
【００４１】
ファイルシステム８０４は、ディスクファイルシステム、光ディスクファイルシステム、フラッシュファイルシステム、テープファイルシステム、トランザクションのファイルシステム、ネットワーク化ファイルシステム、共用ディスクファイルシステム、デバイスファイルシステムおよび他のファイルシステムであることができる。ディスクファイルシステムは、ＦＡＴ（ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２）、ｅｘＦＡＴ、ＮＴＦＳ、ＨＦＳ、ＨＦＳ＋、ＨＰＦＳ、ＵＦＳ、ｅｘｔ２、ｅｘｔ４、ＸＦＳ、ｂｔｒｆｓ、ＩＳＯ  ９６６０、Ｆｉｌｅｓ−１１、Ｖｅｒｉｔａ  Ｆｉｌｅ  Ｓｙｓｔｅｍ、ＶＭＦＳ、ＺＦＳ、ＲｅｉｓｅｒＦＳ、ＵＤＦまたは他のファイルシステムを含んでもよい。光ディスクファイルシステムは、ＩＳＯ  ９６６０、Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ（ＵＤＦ）、Ｍｏｕｎｔ  Ｒａｉｎｉｅｒまたは他の光ディスクファイルシステムを含んでもよい。テープファイルシステムは、ＩＢＭ  Ｌｉｎｅａｒ  Ｔａｐｅ  Ｆｉｌｅ  Ｓｙｓｔｅｍ−Ｓｉｎｇｌｅ  Ｄｒｉｖｅ  Ｅｄｉｔｉｏｎ（ＬＴＦＳ−ＳＤＥ）または他のテープファイルシステムを含んでもよい。トランザクションのファイルシステムは、Ｔｒａｎｓａｃｔｉｏｎａｌ  ＮＴＦＳ、Ｖａｌｏｒ、Ａｍｉｎｏ、ＬＦＳ、Ｔｒａｎｓａｃｔｉｏｎａｌ  ｅｘｔ３、または他のトランザクションのファイルシステムを含んでもよい。ネットワーク化ファイルシステムの例の中には、ＮＦＳ、ＡＦＳ、ＳＭＤプロトコル用のクライアントと、ＦＴＰおよびＷＥＢＤＡＶ用のファイルシステムに似たクライアントとを含むこともある。共用ディスクファイルシステムの例の中には、ＧＦＳ２、ＧＰＦＳ、ＳＦＳ、ＣＸＦＳ、ＳｔｏｒＮｅｘｔまたは他の共用ディスクファイルシステムを含むこともある。ファイルシステム８０４は、電力キャップブロック入出力インタフェースモジュール８０８を含む。
【００４２】
電力キャップブロック入出力インタフェース８０８は、電力キャッピングモニタ８１２と、性能モニタ８１４と、入出力実行制御器８１６とを含む。性能モニタ８１４は、入出力実行制御器８１６および電力キャッピングモニタ８１２と通信する。動作中、電力キャッピングモニタ８１２は、電力閾値８１０を識別し、電力閾値８１０を性能モニタ８１４に通信する。性能モニタ８１４は、電力閾値８１０に基づいてデータ記憶装置８０２用の電力制御モードを選択して実行する。性能モニタ８１４は、コマンドを入出力実行制御器８１６に送信する。入出力実行制御器８１６は、電力キャッピングモニタ８１２および性能モニタ８１４にフィードバックを与えて、システムの動作を微調整する能力を可能にする。
【００４３】
入出力実行制御器８１６は、性能モニタ８１４から受信したコマンドに基づいてブロック入出力要求８１８を制御する。入出力実行制御器８１６は、性能モニタ８１４および電力キャッピングモニタ８１２にフィードバックを通信して、ブロック入出力要求８１８の微調整を可能にする。入出力実行制御器８１６は、ブロック入出力スケジューラ８０６を命令して、待ち行列の長さを調整し、ブロック入出力要求を最適化する。ブロック入出力スケジューラ８０６は、コマンドおよびデータをデータ記憶装置８０２に転送する。データ記憶装置８０２は、電力キャッピングモジュールにフィードバック情報を与える。
【００４４】
図９は、本明細書に開示された種々の動作アーキテクチャ、シナリオおよび処理を実施できる任意のシステムまたはシステムの集まりを表す計算システム９０２を示す。計算システム９０２は、記憶制御システム１１４、ホストシステム１２０、記憶制御システム４１４およびホストシステム４２０の例であるが、この例は、代替の構成および／または動作を有してもよい。計算システム９０２の例は、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、ハイブリッドコンピュータ、ゲーム機、仮想マシン、スマートテレビ、腕時計および他のウェアラブルデバイス、さらにこれらの任意の変形例または組合せを含むが、これらに限定されない。他の例は、サーバコンピュータ、ラックサーバ、ウェブサーバ、クラウドコンピュータプラットフォーム、データセンター機器、任意の他のタイプの物理または仮想サーバマシン、およびこれらの任意の変形例または組合せを含む。
【００４５】
計算システム９０２は、単一の装置、システムまたはデバイスとして実施してもよく、または複数の装置、システムまたはデバイスとして分散的に実施してもよい。計算システム９０２は、通信トランシーバ９０１および処理システム９０３を含む。処理システム９０３は、プロセッサ回路９０５およびメモリシステム９０６を含む。メモリシステムは、スループットモードモジュール９０８と、待ち時間モードモジュール９０９と、消費電力モジュール９１０とを含むソフトウェア９０７を含む。
【００４６】
処理システム９０３は、プロセッサ回路９０５においてメモリシステム９０６からソフトウェア９０７をロードして実行する。データ記憶装置の性能を意識した電力キャッピング用の処理システム９０３が実行すると、ソフトウェア９０７は、データ記憶装置の性能を意識した電力キャッピングを用いた前述の実装形態に記載された少なくとも種々の処理、動作シナリオおよびシーケンスに対して本明細書に記載のように動作するように、処理回路９０５に指示する。計算システム９０２は、簡略のために記載されていない追加のデバイス、機構または機能を任意選択的に含んでもよい。
【００４７】
処理回路９０５は、メモリ９０６からソフトウェア９０７を検索して実行するマイクロプロセッサおよび他の回路を含んでもよい。処理回路９０５は、単一の処理装置内で実現してもよいが、プログラム命令を実行する際に協働する複数の処理装置またはサブシステム全体にわたって分散してもよい。処理回路９０５の例として、汎用中央処理装置、特定用途向けプロセッサ、論理装置、任意の他のタイプの処理装置、これらの組合せまたは変形例がある。
【００４８】
メモリシステム９０６は、処理回路９０５によって読み取ることができ、ソフトウェア９０７を記憶することができる任意のコンピュータ可読の持続性記憶媒体を含んでもよい。メモリシステム９０６は、コンピュータ可読の命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術で実現される揮発性および不揮発性、取り外し可能および取り外し不能の媒体を含んでもよい。記憶媒体の例として、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または任意の他の適当な記憶媒体がある。
【００４９】
コンピュータ可読の記憶媒体に加えて、実装形態によっては、メモリシステム９０６は、ソフトウェア９０７と内部または外部で通信できるコンピュータ可読の通信媒体を含むこともある。メモリシステム９０６は、単一の処理装置として実現してもよいが、互いに共同設置または分散された複数の記憶装置またはサブシステム全体にわたって実現してもよい。メモリシステム９０６は、処理システム９０３または他のシステムと通信できるコントローラなどの追加の要素を含んでもよい。
【００５０】
ソフトウェア９０７は、プログラム命令で実現してもよく、特に、処理システム９０３によって実行される場合、機能は、本明細書に例示された種々の動作シナリオ、シーケンスおよび処理に対して記載のように動作するように、処理システム９０３に指示する。例えば、ソフトウェア９０７は、コードサービスおよびその関連機能を実施するプログラム命令を含んでもよい。
【００５１】
特に、プログラム命令は、本明細書に記載された種々の処理および動作シナリオを実行するのに協働するまたは別の方法で対話する種々の構成要素またはモジュールを含んでもよい。コンパイル済みまたは翻訳済みの命令で、または命令の他の変形例または組合せで、種々の構成要素またはモジュールを具体化してもよい。単一スレッド環境またはマルチスレッド環境で直列または並列に同期的または非同期的な方法で、または任意の他の適当な実行パラダイム、変形例、またはこれらの組合せに従って、種々の構成要素またはモジュールを実行してもよい。ソフトウェア９０７は、追加の処理、プログラムまたは構成要素、例えば、オペレーティングシステムソフトウェアまたは他のアプリケーションソフトウェアを含んでもよい。ソフトウェア９０７は、ファームウェア、または処理システム９０３によって実行可能な機械可読の処理命令の他の形式を含んでもよい。
【００５２】
一般に、処理システム９０３にロードされ、処理回路９０５によって実行される場合、ソフトウェア９０７は、適当な装置、システムまたはデバイス（コンピュータシステム９０２が表す）を全体的に、汎用コンピュータシステムから拡張構成要素の相互運用性を容易にするのにカスタマイズされた専用コンピュータシステムに変換してもよい。実際に、メモリシステム９０６上の符号化ソフトウェア９０７は、メモリシステム９０６の物理構造を変換してもよい。物理構造の特定の変換は、本明細書の異なる実施形態の種々の要因に左右されることがある。このような要因の例は、メモリシステム９０６の記憶媒体を実現するのに使用される技術、およびコンピュータ記憶媒体を主記憶装置または補助記憶装置とみなすかどうか、ならびに他の要因を含んでもよいが、これらに限定されない。
【００５３】
例えば、コンピュータ可読の記憶媒体を半導体ベースのメモリとして実現する場合、例えば、トランジスタ、コンデンサ、または半導体メモリを構成する他のディスクリート回路要素の状態を変換することによってプログラム命令を符号化すると、ソフトウェア９０７は半導体メモリの物理的状態を変換することができる。磁気媒体または光媒体に対して、同様の変換が行われてもよい。本説明を単に容易にするために挙げられた前述の例を用いて、本明細書の範囲から逸脱することなく、物理媒体の他の変換が可能である。
【００５４】
少なくとも１つの実施において、プログラム命令は、スループットモードモジュール９０８と、待ち時間モードモジュール９０９と、消費電力モジュール９１０とを含むことができる。スループットモードモジュール９０８は、所望のスループット速度を維持しながら、記憶ドライブの消費電力をキャッピングするのに記憶ドライブの待ち行列の長さを設定することを含む。待ち時間モードモジュール９０９は、記憶ドライブ上に記憶されたデータ用の所望の読み書き待ち時間を維持しながら、記憶ドライブの消費電力をキャッピングするのに記憶ドライブの待ち行列の長さを設定することを含む。消費電力モジュール９１０は、記憶ドライブの消費電力を測定して監視する。消費電力モジュール９１０は、記憶ドライブ上で実現された電力監視回路などの外部システムから電力測定データを受信することができる。電力測定データは、記憶ドライブの電力引き込みのデジタル化表現を含むことができる。消費電力モジュール９１０は、通信トランシーバ９０１上で電力測定データを受信することができる。消費電力モジュール９１０は、記憶ドライブの動作のスループットモードまたは待ち時間モードを設定する待ち行列の長さを判定するのに使用されるスループットモードモジュール９０８、待ち時間モードモジュール９０９のいずれかに電力測定データを転送することができる。
【００５５】
計算システム９０２は、拡張構成要素の相互運用性を実現するためにソフトウェア９０７を展開して実行できる１つまたは複数の計算システムを表すように一般に意図されているものとする。しかし、計算システム９０２は、ソフトウェア９０７をステージでき、展開および実行またはさらに追加の分散用のさらにもう１つの計算システムに一方または両方を分散、移送、ダウンロード、または別の方法で提供できる任意の計算システムとして適していることもある。
【００５６】
通信トランシーバ９０１は、通信ネットワーク（図示せず）上で他の計算システム（図示せず）と通信できる通信接続部および装置を含んでもよい。システム間通信を一緒に可能にする接続部および装置の例は、ネットワークインタフェースカード、アンテナ、電力増幅器、無線周波（ＲＦ）回路、トランシーバ、および他の通信回路を含んでもよい。接続部および装置は、金属、ガラス、空気、または任意の他の適当な通信媒体などの、他の計算システムまたはシステムのネットワークとの通信を交換する通信媒体上で通信してもよい。前述の媒体、接続部および装置は、周知であり、ここで詳細に説明される必要はない。
【００５７】
ユーザインタフェースシステム９１１は、任意選択的であり、キーボード、マウス、音声入力装置、ユーザからタッチジェスチャーを受信するタッチ入力装置、ユーザによる非タッチジェスチャーおよび他のモーションを検出するモーション入力装置、およびユーザからユーザ入力を受信することができる他の同等の入力装置および関連処理要素を含んでもよい。ユーザインタフェースシステム９１１は、ディスプレイ、スピーカー、触覚装置、および他のタイプの出力装置などの出力装置を含んでもよい。場合によっては、画像を表示してタッチジェスチャー受信することができるディスプレイなどの単一の装置に、入力装置および出力装置を組み合わせてもよい。前述のユーザ入力および出力装置は、当技術分野で周知であり、ここで詳細に説明される必要はない。
【００５８】
ユーザインタフェースシステム９１１は、上述の種々のユーザ入力および出力装置に加えて、プロセッサ回路９０５によって実行可能な関連ユーザインタフェースソフトウェアを含んでもよい。互いにおよび他のハードウェアおよびソフトウェア要素と共同してまたは別々に、ユーザインタフェースソフトウェアおよびユーザインタフェース装置は、グラフィカルユーザインタフェース、ナチュラルユーザインタフェース、または任意の他のタイプのユーザインタフェースを支援してもよい。
【００５９】
計算システム９０２と他の計算システム（図示せず）との間の通信は、種々の通信プロトコル、プロトコルの組合せ、またはこれらの変形例に従って、１つまたは複数の通信ネットワーク上で行われてもよい。例として、イントラネット、インターネット、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、無線ネットワーク、有線ネットワーク、仮想ネットワーク、ソフトウェア定義ネットワーク、データセンターバス、計算バックプレーン、または任意の他のタイプのネットワーク、ネットワークの組合せ、またはこれらの変形例がある。前述の通信ネットワークおよびプロトコルは、周知であり、ここで詳細に説明される必要はない。しかし、使用できる通信プロトコルは、インターネットプロトコル（ＩＰ、ＩＰｖ４、ＩＰｖ６など）、転送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、さらに任意の他の適当な通信プロトコル、変形例、またはこれらの組合せを含むが、これらに限定されない。
【００６０】
データ、内容、または任意の他のタイプの情報を交換する前述の例のいずれかでは、ＦＴＰ（ファイル転送プロトコル）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、ＲＥＳＴ（表現状態転送）、ＷｅｂＳｏｃｋｅｔ、ＤＯＭ（ドキュメントオブジェクトモデル）、ＨＴＭＬ（ハイパーテキストマーク付け言語）、ＣＳＳ（カスケーディングスタイルシート）、ＨＴＭＬ５、ＸＭＬ（拡張可能なマーク付け言語）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔオブジェクト表記）、ＡＪＡＸ（非同期ＪａｖａＳｃｒｉｐｔおよびＸＭＬ）、さらに任意の他の適当なプロトコル、変形例、またはこれらの組合せを含む種々のプロトコルのいずれかに従って、情報の交換が行われてもよい。
【００６１】
含まれる説明および図面は、最良の態様を実施および使用する方法を当業者に教示するために特定の実施形態を示す。発明の原理を教示する目的で、従来の態様の一部を簡略化または省略している。当業者は、本発明の範囲内にあるこれらの実施形態から変形形態を理解されよう。当業者は、上述の特徴を種々の方法で組み合わせて複数の実施形態を形成できることも理解されよう。その結果、本発明は、上述の特定の実施形態に限定されないが、特許請求の範囲およびその均等物によってのみ限定される。
【符号の説明】
【００６２】
１００、４００、８００  記憶システム
１０２、４０２、８０２  データ記憶装置
１１０、４１０、８１０  電力閾値
１１２、４１２、７１２  記憶媒体
１１４、４１４  記憶制御システム
１１６、４１６、７１６  待ち行列
１２０、４２０  ホストシステム
１３０、３３０、４３０  リンク
１４０、４４０  待ち行列の長さ
４１８、７１８  電力測定システム
４２４  プロセッサ
４２６  メモリ
４２８、８０４  ファイルシステム
７０２  ハードディスクドライブ
８０６  ブロック入出力スケジューラ
８０８  電力キャップブロック入出力インタフェース
８１２  電力キャッピングモニタ
８１４  性能モニタ
８１６  入出力実行制御器
８１８  ブロック入出力要求
９０１  通信トランシーバ
９０２  計算システム
９０３  処理システム
９０５  処理回路
９０６  メモリシステム
９０７  ソフトウェア
９０８  スループットモードモジュール
９０９  待ち時間モードモジュール
９１０  消費電力モジュール
９１１  ユーザインタフェースシステム
【図１】
2016076204.tif 000003
【図２】
2016076204.tif 000004
【図３Ａ】
2016076204.tif 000005
【図３Ｂ】
2016076204.tif 000006
【図４】
2016076204.tif 000007
【図５】
2016076204.tif 000008
【図６】
2016076204.tif 000009
【図７】
2016076204.tif 000010
【図８】
2016076204.tif 000011
【図９】
2016076204.tif 000012
【外国語明細書】
2016076204000001.pdf