(57)【要約】【課題】性能を落とさずに電力消費を削減することのできるコンピュータシステムを提供する。【解決手段】コンピュータシステムは、少なくとも１つのプロセッサ１１を含む複数の組のデバイスと、それぞれが複数の組のデバイスのそれぞれによる電力消費を表す電力消費データを生成する複数の電力消費モニタ２９と、集合的な電力消費判定基準が、少なくとも部分的に電力消費データの関数として、複数の組のデバイスについて集合的に満たされるかどうかの判断を行うための電力配分アービタ５１とを備える。【選択図】図１
2007042090.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを含む複数の組のデバイスと、
それぞれが前記複数の組のデバイスのそれぞれによる電力消費を表す電力消費データを生成する複数の電力消費モニタと、
集合的な電力消費判定基準が、少なくとも部分的に前記電力消費データの関数として、前記複数の組のデバイスについて集合的に満たされるかどうかの判断を行うための電力配分アービタと、
を備えることを特徴とするコンピュータシステム。
【請求項２】
前記電力モニタの少なくとも１つは、前記デバイスの１つに統合されていることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記デバイスのうちの第１のデバイスが取り付けられるコネクタをさらに備え、前記電力モニタのうちの第１の電力モニタは、前記コネクタを流れる電流の関数として電力消費データを生成し、それによって、前記第１のデバイスが第２のデバイスと交換された場合に、前記電力モニタは、この第２のデバイスに関する電力消費データを生成することを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記電力配分アービタは、前記判定基準が満たされるという判断に応答して、異なる性能対電力消費のトレードオフを達成するように前記デバイスのうちの少なくとも１つのデバイスのモードを変更させることを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
前記判断は、少なくとも部分的に、集合的な電力配分の所定の一部分を超えているかどうかを含むことを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
コンピュータに組み込まれた複数の組のデバイスのそれぞれの組について、前記デバイスに電気的に接続された個別の電力消費モニタを使用して、電力消費データを生成することと、
前記複数の組のデバイスにわたって前記データを結合するして、或る集合的な判定基準が満たされるか否かを判断すると、
前記集合的な判定基準が満たされる時を示すことと、
を含むことを特徴とする方法。
【請求項７】
前記集合的な判定基準は、電力配分の所定の一部分が割り当てられることを要求することを特徴とする請求項６に記載の方法。
【請求項８】
前記デバイスのうちの少なくとも１つのデバイスのモードを変更して、電力消費と性能との間のトレードオフを変更することをさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記デバイスのうちの第１のデバイスを過度の電力を消費するものとして識別することと、
前記第１のデバイスを停止することと、
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記第１のデバイスを、電力消費がより少ない第２のデバイスと交換することをさらに含むことを特徴とする請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに関し、より詳細には、コンピュータの電力配分に関する。本明細書では、「従来技術」というラベルが付けられた関連技術は、公認された従来技術であり、「従来技術」というラベルが付けられていない関連技術は、公認された従来技術ではない。
【背景技術】
【０００２】
コンピュータは、通常、プロセッサ、ソリッドステートメモリ及びディスクベースのメモリ、入出力デバイス、並びに入出力デバイスのインターフェースを含む。その上、多くのコンピュータは、拡張可能であり、且つ／又は、アップグレード可能である。したがって、コンピュータには、通常、コンピュータの初期構成においてコンピュータにより必要とされる最大電力を取り扱うことができるだけでなく、追加電力を必要とし得る追加されたコンポーネント及びアップグレードされたコンポーネントに対する余裕もできる電源装置が設けられる。一般に、コンピュータの電源装置は、事前にインストールされたコンポーネントに必要とされる最大電力に、追加されたコンポーネント及びアップグレードされたコンポーネントのマージンを加えた合計を取り扱うように選択することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の過程において、すべてのコンポーネントが常に最大電力で動作されるとは限らないので、最大の要求を満たす電力を配分することは、無駄の多いものとなる可能性があることが認識された。これは、一部の製造業者が、実際の最大所要電力よりも高い公称最大所要電力を割り当てて、たとえば、電力が不十分であるために障害が発生した時の責任を回避するような場合にはなおさらそうである。
【課題を解決するための手段】
【０００４】
したがって、本発明は、特許請求の範囲で定義されるように、電力モニタによって示されるような電力消費に応じて電力を動的に配分することを可能にする。概して、本発明は、（たとえば、電源装置及び熱除去に関する）コストと機能との間のより有利なバランス（トレードオフ）を提供する。本発明のこれらの特徴及び他の特徴並びにこれらの利点及び他の利点は、添付図面を参照して以下の説明から明らかである。
【発明を実施するための最良の形態】
【０００５】
本発明によって可能となる多くの可能なシステムの１つであるホストコンピュータシステムＡＰ１は、データプロセッサ１１、メモリ１３、入出力（Ｉ／Ｏ）デバイス１５、バス１７、ファームウェア１８、及び電源装置１９を備える。これらのコンポーネントのそれぞれには、個別の電力モニタ２１、２３、２５、２７、２９が関連付けられている。電源装置１９の場合、個別の電力モニタ２９は内蔵されている。バス１７の場合、個別の電力モニタ２７は、恒久的に関連付けられている。プロセッサ１１、メモリ１３、及びＩ／Ｏデバイス１５は、インストール及び交換を簡単にするためにモジュール式に設計されており、ホストシステムのコネクタに関連付けられた電力モニタを有する。このホストシステムのコネクタは、たとえば、プロセッサソケット３１、メモリスロット３３、及びＩ／Ｏカードスロット３５である。このように、システムＡＰ１は、専用の電力モニタを有しないプロセッサ、メモリ、及びＩ／Ｏデバイスを備える。本発明の代替的な実施の形態は、内蔵電力モニタを有するこのようなコンポーネントを使用する。
【０００６】
メモリ１３には、ソリッドステートメモリ及びディスクベースのメモリの双方が含まれる。電力モニタ２３は、メモリスロット３３のソリッドステートメモリによって消費される電力を監視する。システムＡＰ１には、４つのメモリスロット３３が存在する。他の実施の形態では、スロット数が異なり、また、いくつかの実施の形態は、メモリスロットを介してシステムに接続されないメモリを有する。別の実施の形態では、各メモリスロットは、それ自身の電力モニタを有する。別の代替的な実施の形態では、メモリスロットはグループ化され、各グループが電力モニタを有する。また、本発明は、ハードディスク及び他のディスクベースのデバイスの電力モニタも提供する。
【０００７】
Ｉ／Ｏデバイス１５には、ディスクインターフェース、ネットワークインターフェース、プリンタポート、ディスプレイポート、キーボードポート等が含まれる。これらのそれぞれは、それ自身の電力モニタを有する。場合によって、たとえばディスプレイの場合、インターフェースが接続するデバイスは、それ自身の電源装置を有する。一方、インターフェースの中には、そのインターフェースから電力を引き出すデバイスに接続するものがあり、たとえば、ＵＳＢ（Intel（登録商標）社から入手可能なユニバーサルシリアルバス）デバイスの中には、ＵＳＢ  Ｉ／Ｏカード上のＵＳＢコネクタを介して電力を引き出すものがある。
【０００８】
メモリ１３は、プロセッサ１１によって操作されるデータ４１、オペレーティングシステム４３、電力配分アービタソフトウェア４５、データ４１を操作するための命令から成る他のプログラム４７、及びプログラムレジストリ４９を記憶する。プログラム４７は、ユーザインターフェースを提供するアプリケーションを含む。たとえばドライバといった含まれている他のプログラムは隠されている。電力配分ソフトウェア４５は、警告を発行する時、又は、電力配分の選択肢をユーザに提供する時を除いて、通常はバックグラウンドで実行される。
【０００９】
電力配分アービタソフトウェア４５は、電力アービタファームウェア５０と協働して、電力配分アービタ５１を構成する。このアービタ５１は、電力消費モニタから電力消費データを収集し、電力配分が、監視されるデバイスに割り当てられた電力の１００％に近いあるしきい値に達すると警告を出す。アービタソフトウェア４５は、アービタファームウェア５０からデータを読み出すとともに、人間が可読な警告を生成することによって、この警告に応答する。アービタソフトウェア４５は、１つ又は２つ以上の監視されるデバイスのモードを変更して、警告に自動的に対処するように構成することができる。それ以外に、アービタソフトウェア４５は、警告に応答するための選択肢についてユーザに案内を与える。
【００１０】
プロセッサ１１、メモリ１３、及びＩ／Ｏデバイス１５は、バス１７を介して互いに通信する。バス１７は、単一のバスとして示されているが、デバイスが通信するバスの集合体を表す。これらのバスは、ＰＣＩバス、キャッシュバス、及び専用グラフィックスバスを含むことができる。電力モニタ２１〜２９は、図１の電力配分ファームウェア５０への、破線によって示された専用バスを介してアービタ５１と通信する。これによって、障害がサブシステムに発生してインターフェースがダウンした場合であっても情報にアクセスする能力が提供される。電力配分ソフトウェア４５は、電力配分ファームウェア５０からの電力消費情報にアクセスすることもできるし、バス１７を介して電力モニタ２１〜２９に個別にアクセスすることによって電力消費情報にアクセスすることもできる。
【００１１】
電力モニタ２１〜２９は、自身が監視するデバイスの条件と合致するようにそれぞれ異なっている。プロセッサ１１は、１００個を超える電源ノード及び接地ノードを有する。電力モニタ２１は、これらのサブセットを監視して、プロセッサ１１による全体的な電力消費の統計的表現を得る。代替的な一実施の形態では、プロセッサのすべての電源ノードが監視される。電力モニタ２１は、全電力消費データを提供する。代替的な実施の形態は、ノード別に電力消費を分割する。電力モニタ２１は、電力消費データを時刻（たとえば、日付に１日の時刻を加えたもの）及びプロセッサ１１の構成データに関連付ける。プロセッサ１１の構成データは、乗算器の設定、及び、プロセッサのどの並列機能ユニットがアクティブであるかの表示を含む。この関連付けられたデータは、電力モニタ２１によって記憶される。電力モニタ２１は、プロセッサ１１のアドレス空間にメモリを有する。したがって、アービタ５１は、従来の読み出しオペレーションを使用して、プロセッサ１１の電力データにアクセスすることができる。これに加えて、アービタ５１は、構成データを電力モニタ２１に書き込むこともでき、たとえば、警告を発するのにどのしきい値を使用すべきかを示すことができる。
【００１２】
メモリ電力モニタ２３は、４つのメモリスロットを監視する。メモリ電力モニタ２３は、各スロットの電力データを生成して、この電力データを、インストールされたメモリ（もしあれば）の容量及びタイプ、並びに時刻データに関連付ける。Ｉ／Ｏモニタ２５は、インターフェースに接続されたあらゆるデバイスの性質を表す。また、接続されたデバイスがインターフェースから電力を引き出している場合、電力消費に対するその寄与度も記録される。電源装置モニタ２９及びバスモニタ２７は、共に電力消費データにタイムスタンプを付ける。
【００１３】
本発明によって提供される多くの可能な方法のうち、図２にフローチャート化された方法Ｍ１は、方法セグメントＳ１で、電力消費モニタ２１〜２９が自身にそれぞれ対応するデバイスによる電力消費を監視することから開始する。各モニタは、接地及び電源に接続された１つ又は２つ以上のセンサを備える。各センサは、電力消費レートに対応するアナログ電圧を出力する。各アナログ電圧は、デジタル形式に変換されて、ステップＳ２で電力消費データを提供する。代替的な一実施の形態では、信号のある処理及び結合がアナログ領域で行われる。図示した実施の形態では、アナログセンサ出力は、デジタル化される前に増幅されるが、それ以外には処理も結合もされない。
【００１４】
方法セグメントＳ３では、モニタ２１〜２９が、電力消費データを時刻及びデバイス構成等のコンテクストデータ（context data）に関連付ける。デバイス構成データは、もちろん、デバイスに依存したものである。複数の動作モードがある場合、モードを表すすることができる。インターフェースデバイスの場合、接続されたあらゆるデバイスの性質を表すすることができる。方法セグメントＳ３は定期的に実行することができ、それによってあらゆる時刻において、電力モニタは、監視されるデバイスの近時の電力消費履歴を集合的に規定する数組の関連した電力消費データを記憶することができる。
【００１５】
方法セグメントＳ４は、警告判定基準が満たされるかどうかを判断することを備える。この判定基準が満たされる場合、方法セグメントＳ５で警告を出すことができる。判定基準は、所定の電力消費レベルを１度超える程度の単純なものとすることができる。或いは、警告は、所定のサンプル回数の間、或る電力消費を超えていることを含むこともできる。より複雑な判定基準を用いることもでき、たとえば、異なるデバイスモードに異なるしきい値レベルを適用することができる。たとえば、低電力モードのプロセッサによる高い電力消費は、高性能モードのプロセッサによる高い電力消費よりも低いレベルで警告を発することができる。警告は、割り込み信号又は或るデジタルデータメッセージを含むことができる。
【００１６】
警告が出されても出されなくても、電力アービタ５１は、方法セグメントＳ６でさまざまなモニタからの電力消費データにアクセスする。アクセスは、定期的なものとすることができ、デバイス間でわずかにずらされることが好ましい。電力モニタが警告を出す場合、電力配分アービタ５１は、電力消費プロファイルを収集することによって直ちに応答するように構成することができる。また、電力データは、たとえば、アップグレードされたデバイス又は追加されたデバイスのための余裕（ヘッドルーム）があるかどうかを判断するための再構成又はアップグレードに備えて、ユーザコマンドに応答して得ることもできる。代替的な一実施の形態では、たとえばＩ／Ｏデバイスといったいくつかのデバイスは、消費する電力量がより変わりやすいで、いくつかの電力モニタは、それ以外のものよりも高頻度でアクセスされる。
【００１７】
電力消費プロファイルが方法セグメントＳ７で解析される。電力消費データを結合して、全消費電力を求めることができる。監視されていないデバイスの公称値又は予想値を追加することができる。連続的なプロファイルを解析して傾向データを得ることができる。また、電力消費をたとえばデバイス構成に応じて評価できるように、電力データを解析することもできる。
【００１８】
方法セグメントＳ７の解析の結果、方法セグメントＳ８で問題を検出することができる。たとえば、モニタによって報告された全電力消費が、或る所定の継続期間の間、システムの最大値付近をさまよう場合、障害を予測することができる。したがって、方法セグメントＳ９で或る動作を取ることができる。たとえば、警告に応答して、システムクロックレート又は派生したクロックレートを低くすることができ、或るデバイス又はデバイスの機能コンポーネントを停止することができ、且つ／又は、警告をユーザ又は管理者に表示することができる。アップグレードを見込んだユーザの問い合わせに応答して、アップグレードが行われた場合に予想される追加された電力消費に十分なスペア容量があるかどうかを示すメッセージを表示することができる。自動動作及びユーザ又は管理者の動作が可能となる。
【００１９】
他の可能な方法セグメントＳ９の動作は、電力配分アービタ５１が特定の電力消費データに異なる形で応答するように、電力配分アービタ５１内に新たなしきい値を設定することを含む。また、電力配分アービタ５１は、１つ又は２つ以上の電力モニタを再構成して、たとえば、警告を出す判定基準を変更することができる。たとえば、付加的なＩ／Ｏデバイスが追加された場合に、既存のＩ／Ｏデバイスに利用可能な電力を少なくできる場合があり、この場合、対応する電力モニタの警告しきい値を下げることができる。
【００２０】
本発明は、内蔵電力モニタを有するデバイス（プロセッサ、メモリモジュール、インターフェースモジュール）を提供する。電力モニタが内蔵されることによって、最大の精度が保証され、デバイスの特徴と電力消費データに関連付けられたコンテクストデータとの間の最良の整合が保証される。これに加えて、電力モニタとデバイスの残りの部分との間の接続は、利用可能な限られた個数のインターフェースピン（又は他の導体）による制約を受けない。
【００２１】
また、本発明は、監視するデバイスとは別個の電力モニタも可能にする。別個のモニタは、デバイスとホストのマザーボード、ドーターボード、又は他の接続デバイスとの間のピン及び他のコネクタ等の相互接続を監視することができる。別個のモニタを使用することによって、通常内蔵電力モニタを持っていない標準的なコンポーネントを使用することが可能になり、その結果、コンポーネントを選択する選択肢が広くなる。デバイスの製造費用を少なくすることができ、規模を小さくすることができるので、その結果、経済的な節約が可能になる。別個のモニタは、個々のデバイスに合わせて調整することが少ないので、より多く標準化することができ、電力配分ソフトウェアが個々のデバイスのデータを収容することがより容易になる。もちろん、この利点は、個別の電力モニタが混合されたシステム及び統合された電力モニタを有するシステムでは大幅に削減される。
【００２２】
個別のモニタの別の利点は、１つのモニタを使用して複数のデバイスを監視できるということである。たとえば、１つのモニタは、複数のメモリモジュールを受け持つことができる。これによって、たとえばマザーボード上の空間の設計及び節約が容易になる。また、単一のモニタからのデータ収集の調整は、複数のモニタと対比してより容易である。
【００２３】
本発明は、監視されるデバイスと監視されないデバイスとを混合したものを提供する。もちろん、電源装置が監視される場合、監視されないデバイスによる電力消費に関してある推定を行うことができる。また、公称電力定格を予想電力消費値として使用することもできる。他方、監視されるデバイスが多くなるほど、実際の使用量に応じて電力を配分する柔軟性がより高くなる。
【００２４】
本発明は、より柔軟性の高いコンピュータ設計を提供する。たとえば、電力の需要が供給を超えないことを保証するように設計を制限するのではなく、使用中に需要を調節できるように、追加された能力及び拡張性を備えるようにすることができる。このように、たとえば、追加されたプロセッサ、メモリモジュール、及びインターフェースモジュールがすべて同時に最大電力で実行されない以上、それらプロセッサ、メモリモジュール、及びインターフェースモジュールの追加を許可することができる。システムが利用可能な最大電力に近づくと、電力消費を削減するステップを取ることができる。たとえば、一定の機能を削減することもできるし、（たとえば、クロックレートを下げることによって）性能を制限することもできる。このような措置に関連した不利益はあるが、このような不利益は、性能に対する恒久的な制限よりも好ましいものであり得る。
【００２５】
本発明は、比較的コンポーネントの少ないコンピュータに適用されるが、たとえば、複数のプロセッサ、数個のメモリモジュール、冗長なインターフェースモジュール等のコンポーネント間で電力配分を変える際に、より大きな柔軟性があるので、監視されるコンポーネント数をより多く有するシステムにはより多くの利点を提供する。本発明におけるこれらの変形及び他の変形並びに本発明に対するこれらの変更及び他の変更は、添付の特許請求の範囲によって確定された本発明によって可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の範囲内にある多くのプロセッサモジュールのうちの１つを組み込むコンピュータシステムの概略図である。
【図２】本発明の範囲内にある多くの方法のうちの１つのフローチャートである。
【符号の説明】
【００２７】
ＡＰ１    ホストコンピュータシステム
１１      プロセッサ
１３      メモリ
１５      入出力デバイス
１７      バス
１９      電源装置
２１、２３、２５、２７、１９    電力モニタ
３１      ソケット
３３、３５    スロット
４１      データ
４３      オペレーティングシステム
４５      電力配分ソフトウェア
４７      プログラム
４９      レジストリ
５０      電力配分ファームウェア
５１      電力配分アービタ
【図１】
2007042090.tif 000003
【図２】
2007042090.tif 000004