(57)【要約】【課題】冗長電源のスマート電力クランプに用いるシステム、方法、および、非一過性のコンピュータ可読のストレージ媒体を提供する。【解決手段】冗長電源のスマート電力クランプに用いるシステム、方法、および、非一過性のコンピュータ可読のストレージ媒体を提供する。本発明によるシステムは、基盤管理コントローラで、第一電源ユニット、および、第二電源ユニットにより供給される総電力を示すシステム消費電力を測定することができる。システムが、システム消費電力がシステム消費電力の能力を超過すると判断するとき、判断に応答して、電力クランプ信号をプロセッサに伝え、減少したシステム消費電力を生じさせる。システムは、さらに、減少したシステム消費電力が、システム消費電力能力を超過することを判断するとともに、第一電源ユニットと第二電源ユニット中の少なくとも一つのハードウェアスロットリングを開始する。【選択図】図５
2017189094.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
第一電源ユニットと、
第二電源ユニットと、
少なくとも一つのプロセッサであって、
前記第一電源ユニット、および、前記第二電源ユニットにより供給される総電力を示すシステム消費電力を監視する工程と、
前記システム消費電力が、システム消費電力能力を超過すると判断するとき、判断結果を生成する工程と、
前記判断結果に応答して、前記少なくとも一つのプロセッサの消費電力が減少するように、前記少なくとも一つの電力の電力クランプを実行し、減少したシステム消費電力を生じさせる工程、および、
前記減少したシステム消費電力が、前記システム消費電力能力を超過するかを識別する工程、を有する操作を実行する少なくとも一つのプロセッサと、
前記減少したシステム消費電力が、前記システム消費電力能力を超過することを識別した後、前記第一電源ユニットと前記第二電源ユニット中の少なくとも一つに、ハードウェアスロットリングを実行する基盤管理コントローラと、
を有することを特徴とするシステム。
【請求項２】
前記システム消費電力が、前記システム消費電力能力を超えるかを判断する工程は、計測した前記システム消費電力と所定のスレショルドを比較する工程を有することを特徴とする請求項１に記載のシステム。
【請求項３】
前記第一電源ユニットは操作可能であり、且つ、前記第二電源ユニットは失効していることを特徴とする請求項２に記載のシステム。
【請求項４】
前記プロセッサの消費電力を減少させる前記工程は、反復して実行されることを特徴とする請求項１に記載のシステム。
【請求項５】
前記プロセッサの消費電力を減少させる前記工程の各反復は、プロセッサの最大消費電力の所定のパーセンテージで、前記プロセッサの消費電力を減少させることを特徴とする請求項４に記載のシステム。
【請求項６】
前記プロセッサの消費電力が、プロセッサの最小消費電力のスレショルドに達するとき、前記プロセッサの消費電力を減少させる前記工程の反復が終了することを特徴とする請求項４に記載のシステム。
【請求項７】
前記少なくとも一つのプロセッサは追加操作を実行し、
前記プロセッサの最小電力スレショルドに反復して到達し、且つ、前記プロセッサの消費電力が、前記プロセッサの最小電力スレショルドを超え続けるとき、前記システムをシャットダウンすることを特徴とする請求項６に記載のシステム。
【請求項８】
方法であって、
第一電源ユニット、および、第二電源ユニットにより供給される総電力を示すシステム消費電力を測定する工程と、
前記システム消費電力が、システム消費電力能力を超過すると判断するとき、判断結果を生成する工程と、 
前記判断結果に応答して、電力クランプ信号をプロセッサに送信し、減少したシステム消費電力を生じさせる工程と、 
前記減少したシステム消費電力が、前記システム消費電力能力を超過するか識別する工程、および、
前記第一電源ユニットと前記第二電源ユニット中の少なくとも一つのハードウェアスロットリングを開始する工程、
を有することを特徴とする方法。
【請求項９】
前記システム消費電力が、前記システム消費電力能力を超過することを判断する工程は、前記システム消費電力と所定スレショルドの比較を有することを特徴とする請求項８に記載のシステム。
【請求項１０】
コンピュータ可読ストレージデバイスであって、保存された複数の命令を有し、管理コントローラにより実行されるとき、前記管理コントローラに複数の操作を実行させるコンピュータ可読ストレージデバイスであって、前記操作は、
前記システム消費電力が、前記第一電源ユニット、および、前記第二電源ユニットにより供給される総電力を示すシステム消費電力を監視する工程と、
前記システム消費電力がシステム消費電力能力を超過すると判断するとき、判断結果を生成する工程と、
前記判断結果に応答して、電力クランプ信号を、プロセッサに送信して、減少したシステム消費電力を生じさせる工程と、
前記減少したシステム消費電力が、前記システム消費電力能力を超過するかを識別する工程と、
前記第一電源ユニットと前記第二電源ユニット中の少なくとも一つのハードウェアスロットリングを開始する工程、
を有することを特徴とするコンピュータ可読ストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年４月１日に出願された米国仮出願第６２／３１７，２０９号の優先権を主張するものであり、参照によりその全体が本願に組み込まれる。
【０００２】
本発明は、電力クランプ（power clamping）に関するものであって、特に、電源が、必要なシステム電力のサポートに不十分であるとき、システム電力を円滑に減少させる技術に関するものである。
【背景技術】
【０００３】
電源は時に故障するので、通常、冗長(redundant)、あるいは、バックアップ電源が用いられて、一定した電力を提供する。しかし、従来の電源の冗長性は、システムラグ(すなわち、ユーザーにシステムハンギングの錯覚を見せる)を生じ、操作電源にダメージを与える。たとえば、バックアップ電源に頼るシステムが、電源故障が起きたとき、バックアップユニットが必要な電力を提供することができるようになる前に、バックアップユニットは一定期間 (数秒から数分)を必要とする。必要なバックアップが完全にオンラインになる前のこの期間中、既にオンラインの電源供給は、それらの能力を超越して徴収されて、電源ユニットにダメージを与える。このほか、残りの電源は、要求される電力の総量を生成する能力がない可能性があり、ユーザーは、機能やラグを減少させる。
【発明の概要】
【０００４】
本開示のさらなる特徴および利点は、以下の説明に記載され、その一部からその説明から明らかになるか、または本明細書に開示される原理の実施によって理解され得る。 本開示の特徴および利点は、添付の特許請求の範囲で特に指摘された機器および組み合わせによって実現および得ることができる。 本開示のこれらおよび他の特徴は、以下の説明および添付の特許請求の範囲からより十分に明らかになるか、または本明細書に記載された原理の実施によって知ることができる。
【０００５】
本発明は、冗長電源の高性能電力クランプに用いるシステム、方法、および、非一過性のコンピュータ可読ストレージ媒体を提供する。開示されるスマート電力クランプは、電力減少における改善をもたらし、これにより、ラグがほぼ感じられなくなり、操作可能な電源へのダメージが減少する。さらに特に、本発明によるシステムは、ソフトウェア、および、ハードウェアクランプの組み合わせを用いることにより、高性能電力クランプを提供し、これにより、電力要求を減少させる。たとえば、本発明によるシステムは、管理コントローラで、第一電源ユニット、および、第二電源ユニットにより伝送される総電力を示すシステム消費電力を測定することができる。システムが、システム消費電力がシステム消費電力能力を超過すると判断するとき、判断に応答して、電力クランプ信号を少なくとも一つのプロセッサに伝送し、結果として、システム消費電力を低減する。システムは、さらに、減少したシステム消費電力が、システム消費電力能力を超過することを識別することができ、第一電源ユニットと第二電源ユニットの少なくとも一つのハードウェアスロットリングを起動する。
【図面の簡単な説明】
【０００６】
【図１】例示的なシステムの実施形態を示す図である。
【図２】例示的なシステムアーキテクチャを示す図である。
【図３】システムプロセスの第一の例示的なフローチャートを示す図である。
【図４】システムプロセスの第二の例示的なフローチャートを示す図である。
【図５】例示的な方法の実施形態を示す図である。
【発明を実施するための形態】
【０００７】
本発明の実施形態は、電源ユニットの電力クランプを改善するシステム、方法、および、コンピュータ可読媒体を提供して、電源ユニットへのダメージを減少させるとともに、システムラグの知覚を減少させる。本発明の様々な実施形態は以下で詳細に説明する。具体的な実施方式が記述されるが、理解できることは、これは、説明の目的のために実行されることである。その他のコンポーネントと構成を、本発明の精神と領域を逸脱することなく、使用することができる。図１中の基本的な汎用目的システム、あるいは、コンピューティングデバイスの簡単な説明を用いて、ここで開示される概念を実施する。高性能電力クランプのさらなる詳細は、実施形態とともに、記述される。本発明は、まず、図１に戻る。
【０００８】
図１を参照すると、システム１００は汎用目的コンピューティングデバイスを有し、汎用目的コンピューティングデバイスは、処理ユニット(ＣＰＵ、あるいは、プロセッサ)１１０とシステムバス１０５を有する。システムバス１０５は、リードオンリメモリ(ＲＯＭ)１２０やランダムアクセスメモリ(ＲＡＭ)１２５)等のシステムメモリ１１５を含む様々なシステムコンポーネントをプロセッサ１１０に結合する。システム１００は、高速メモリのキャッシュ１１２を有し、キャッシュ１１２は、直接、プロセッサ１１０に接続される、プロセッサ１１０に隣接する、あるいは、プロセッサ１１０の一部分として統合される。システム１００は、メモリ１１５、および／または、ストレージデバイス１３０から、キャッシュ１１２にデータを複製して、プロセッサ１１０により高速アクセスする。この方法で、キャッシュ１１２は、プロセッサ１１０がデータを待つときに遅延が生じるのを防止する性能向上を提供する。これら、および、その他のモジュールは、様々な動作を実行するためにプロセッサ１１０を制御する、あるいは、プロセッサ１１０を制御するように構成される。その他のシステムメモリ１１５もこの用途として可能である。メモリ１１５は、異なる性能特性を有する複数の異なるタイプのメモリを含むことができる。理解できることは、本発明は、二個以上のプロセッサ１１０を有するコンピューティングデバイス１００、あるいは、ネットワーク接続されるコンピューティングデバイスのグループまたはクラスタで操作して、優れた処理能力を提供することである。プロセッサ１１０は、任意の汎用目的のプロセッサ、および、ハードウェアモジュール、あるいは、ソフトウェアモジュール、たとえば、ストレージデバイス１３０中に保存され、プロセッサ１１０と特殊用途プロセッサを制御するように構成されるモジュール１ １３２、モジュール２ １３４、および、モジュール３ １３６を有し、ソフトウェア命令令は、実際のプロセッサ設計に組み込まれる。プロセッサ１１０は、実質的に、複数のコア、あるいは、プロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に自己完結型のコンピューティングシステムであってもよい。
【０００９】
システムバス１０５は、任意の多様なバス機構を用いるメモリバス、あるいは、メモリコントローラ、周辺バス、および、ローカルバスを含むいくつかのタイプのバス構造のいずれでもよい。ＲＯＭ１２０等に保存されるベーシックインプットアウトプットシステム(ＢＩＯＳ)は、起動中など、コンピューティングデバイス１００中のコンポーネント間の情報の伝達を助ける基本ルーティンを提供する(。コンピューティングデバイス１００は、さらに、ハードディスクドライブ、磁気ディスクドライブ、光学ディスクドライブ、あるいは、テープドライブ等のストレージデバイス１３０を有する。ストレージデバイス１３０は、ソフトウェアモジュール１３２、１３４、１３６を有して、プロセッサ１１０を制御する。その他のハードウェア、あるいは、ソフトウェアモジュールも考えられる。ストレージデバイス１３０は、ドライブインターフェースにより、システムバス１０５に接続される。ドライブ、および、関連するコンピュータ可読のストレージ媒体は、コンピューティングデバイス１００に対し、コンピュータ可読の命令、データ構造、プログラムモジュール、および、その他のデータの不揮発性ストレージを提供する。一実施形態において、特定機能を実行するハードウェアモジュールは、プロセッサ１１０、バス１０５、ディスプレイ１３５などの必要なハードウェアコンポーネントに関連して、有形のコンピュータ可読ストレージ媒体中に保存されるソフトウェアコンポーネントを有し、機能を実行する。別の実施形態において、システムは、プロセッサ、および、コンピュータ可読ストレージ媒体を用いて、命令がプロセッサにより実行されるとき、プロセッサに、一方法、あるいは、その他の特定動作を実行させる複数の命令を保存する。基本的構成要素、および、適当な変化も、装置のタイプ、たとえば、デバイス１００が、小さいハンドヘルドコンピューティングデバイス、デスクトップコンピュータ、あるいは、コンピュータサーバであるか等のデバイスのタイプに基づいて、基本的構成要素および適用な変形も考慮される。
【００１０】
ここで描写される実施形態は、ハードディスク１３０を採用しているが、コンピュータによりアクセス可能なデータを保存することができる別のタイプのコンピュータ可読媒体、たとえば、磁気カセット、フラッシュメモリカード、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ (ＲＡＭ)１２５、および、リードオンリメモリ(ＲＯＭ)１２０を、例示的な操作環境に用いることもできる。有形のコンピュータ可読のストレージ媒体、コンピュータ可読ストレージデバイス、あるいは、コンピュータ可読メモリデバイスは、明確に、一時的波(transitory wave)、エネルギー、キャリア信号、電磁波、および、信号自身等の媒体を排除する。
【００１１】
ユーザーがコンピューティングデバイス１００と相互作用できるようにするため、入力装置１４５は、任意の数量の入力メカニズム、たとえば、スピーチのマイクロフォン、ジェスチャーやグラフィカル入力のタッチスクリーン、キーボード、マウス、動き入力、スピーチ等を表す。出力装置１３５は、従来の技術で知られる一つ、または、それ以上の数量の出力メカニズムである。ある状況下で、マルチモーダルシステムは、ユーザーが、コンピューティングデバイス１４０と通信する複数のタイプの入力を提供できるようにする。通信インターフェース１４０は、通常、ユーザー入力とシステム出力を統治、および、管理することができる。任意の特定のハードウェア構成における操作の制限がなく、よって、ここでの基本的特徴は、改良されたハードウェアやファームウェアの構成が開発されるときに容易に代用することができる。
【００１２】
説明をはっきりとするため、例示的なとなるシステムの実施形態は、独立した機能ブロックを含むものとして表現され、「プロセッサ」、あるいは、プロセッサ１１０として表記される機能ブロックを有する。これらの機能ブロックの代表は、共有の、あるいは、専用のハードウェアの使用により提供され、これに限定されないが、ソフトウェア、および、ハードウェアを実行することができるハードウェア(たとえば、プロセッサ１１０)を有し、すなわち、汎用目的のプロセッサ上で実行されるソフトウェアと同等なものとして動作するために、専用に設けられたものである。たとえば、図１に示される一つ以上のプロセッサの機能は、単一の共有プロセッサ、あるいは、複数のプロセッサにより提供される。例示的な実施形態は、マイクロプロセッサ、および／または、デジタルシグナルプロセッサ(ＤＳＰ)ハードウェア、以下で描写される操作を実行するソフトウェアを保存するリードオンリメモリ(ＲＯＭ)１２０、および、結果を保存するランダムアクセスメモリ(ＲＡＭ)１２５、を有する。超大規模集積(ＶＬＳＩ)ハードウェア、カスタムＶＬＳＩ回路と汎用目的ＤＳＰ回路の結合も提供される。
【００１３】
多様な実施形態の論理演算は、(１)汎用目的コンピュータ中のプログラマブル回路で実行される一連のコンピュータ実装工程、操作、あるいは、プロシージャ、(２)特定用途プログラマブル回路で実行される一連のコンピュータの実装工程、操作、あるいは、プロシージャ、および／または、(３)プログラマブル回路中の相互接続機器モジュール、あるいは、プログラムエンジン、として実施される。図１に示されるシステム１００は、列挙される方法の全て、あるいは、一部、列挙されるシステムの一部を実施することができる、および／または、列挙される有形のコンピュータ可読のストレージ媒体中の命令に従って操作することができる。このような論理演算は、モジュールのプログラミングにしたがって、プロセッサ１１０を制御して、特定の機能を実行するように構成されたモジュールとし実行される。たとえば、図１は、プロセッサ１１０を制御するために構成される３個のモジュールＭｏｄ1  １３２、Ｍｏｄ２  １３４、Ｍｏｄ３  １３６を示す。これらのモジュールは、ストレージデバイス１３０上で保存されるとともに、ランタイム時、ＲＡＭ１２５、あるいは、メモリ１１５中にロードされる、あるいは、その他のコンピュータ可読メモリ位置中に保存される。
【００１４】
コンピューティングシステムのいくつかのコンポーネントを開示してきたが、本発明は、例示的なシステムアーキテクチャ２００を示す図２に移る。この実施形態において、システムは複数の電源ユニットＰＳＵ０ ２０８、および、ＰＳＵ１ ２１０を用いる。これらの電源ユニット２０８、２１０は、それぞれ、 対応するシグナルライン２１６を介して、対応する電力ユニットの健康度（HEALTHY）／状態に関する情報をＣＰＬＤ(Complex Programmable Logic Device)２０６に伝える。ＣＰＬＤ２０６は、電源ユニットの状態をＢＭＣ(基盤管理コントローラ)２０４に伝え、ＢＭＣは、ＳＭＢＵＳ(System Management Bus)２１４を用いて、対応する電源２０８、２１０とも通信する。ＢＭＣ２０４が、電源ユニット２０８、２１０と相互作用するとき、別の構成にて、電源ユニットの監視は、直接、プロセッサ２０２、あるいは、分離した(すなわち、物理的に共同設置されない)管理コントローラにより実行される。たとえば、管理コントローラの役割がＣＰＵ２０２により行われる場合、管理コントローラは、対応する入／出力ピンを有する処理ユニットと共に論理機能のセットすることができる。同様に、その他の実施形態において、ＣＰＬＤ２０６の役割は、管理コントローラ、ＣＰＵ２０２、あるいは、その他の処理装置により実現される。たとえば、ＣＰＬＤ２０６は、個々のＰＳＵの健康度(すなわち、指定された機能を実行し続ける能力)を示すＰＳＵからの更新を受信する。例示的なＰＵＳ健康信号は、ＰＳＳの直流電流がＯＫであることを示す信号(すなわち、ＤＣ_ＯＫ)、ＰＳＵの交流電流がＯＫであることを示す信号(すなわち、ＡＣ_ＯＫ)、ＰＳＵが警告(たとえば、ＡＬＥＲＴ＃)を送信することを示す信号を含む。たとえば、ＢＭＣ２０４は、ＳＭＢＵＳ２１４を介して、対応する電源２０８、２１０により、出力される電力量を増加、あるいは、減少させることができる。ＢＭＣ２０４もシステムＣＰＵ(コンピュータ処理ユニット)２０２と通信する。たとえば、ＢＭＣ２０４は、「電力減少」信号２１２を送信することにより、ＣＰＵ２０２に小さい電力を使用させることができる。
【００１５】
図３は、システムプロセス３００の第一の例示的なフローチャートである。図３で説明される例示的な工程は、たとえば、図２のＢＭＣ２０４により、あるいは、その他の処理装置により実行される。分かりやすくするため、方法は、図１に示されるシステム１００により実現される。本発明で列記される複数の工程は、例示的なものであるとともに、ある工程を削除、追加、あるいは、修正する組み合わせを含む任意の組み合わせにより実現される。  
【００１６】
システム１００は、システム消費電力をチェックする(工程３０２)とともに、システム消費電力とシステムスレショルドを比較する(工程３０４)。システム消費電力がスレショルド以下である場合、システム１００は、スレショルドに対する電力レベルをチェックする工程(工程３０２、３０４)を繰り返す。システム消費電力がシステムスレショルド以上である場合、システム１００は、全体のシステム消費電力を減少させてシステム電力スレッショルド以下になるように設計されたプロシージャを開始する。  
【００１７】
最初に、工程３０６において、システム１００は、プロセッサ電力(ＣＰＵ、ＢＭＣ、および／または、その他のシステムプロセッサに向かう電力)が、最小プロセッサ電力レベルを超えるか否か判断する。プロセッサ電力が、最小プロセッサ電力スレショルドを超える場合、システム１００は、ソフトウェアソリューションにより、プロセッサ電力レベルを減少させ、全体のシステム消費電力を減少させる(工程３０８)。プロセッサへの電力を減少させることによりシステム電力を減少させるこの工程は、プロセッサに向かう電力が、依然としてスレショルドレベルより高いとき、反復して実行される。プロセッサ消費電力が、スレショルドプロセッサ電力レベルに等しい、あるいは、それより低い場合、工程３１０において、システム１００は、電力の物理／ハードウェアスロットリングの実行に移る。たとえば、スイッチを利用して、コンポーネントをオフにするか、あるいは、物理的に、システム１００中の消費電力を排除する。工程３１０中のハードウェアスロットリングは単一例である、あるいは、反復してハードウェアスロットリングを実行する動作、および、反復(iteration)中に発生するシステム消費電力のチェック動作を有する。ハードウェアスロットリングを行った (工程３１０)後、工程３１２において、システム１００は、もう一つのチェックを実行して、システム消費電力が、システムスレショルドを超えるか否か判断する。超える場合、工程３１６において、システム１００は、システムシャットダウンを開始し、消費電力が、もはや、消費電力スレショルドより大きくない場合、システム１００は修正プロシージャ３１４を開始する。修正プロシージャは、ライト／送信エラーメッセージをオンにする、音／故障を示すアラームの出力、電子メールの送信、および／または、プロセッサ、および／または、ハードウェアコンポーネントに電力を回復する前、一定期間待つ工程を有する。
【００１８】
図４は、システムプロセス４００の第二の例示的なフローチャートである。図３は、システムプロセスの簡単なフローチャートで、図４はさらに複雑なフローチャートであり、ここで開示される概念を実行する一つの可能なシステムを示し、依然として、図３の原則を応用する。図３と同様に、分かりやすくするため、方法４００は、図１中のシステム１００により実現される。本発明で列記される工程は、例示的なものであるとともに、任意の組み合わせにより実現され、ある工程を削除、増加、あるいは、修正する組み合わせを有する。図４において、考慮するフローの３つの一般領域がある: (１)左側部分で、電力が正常であるか、それより低い(<ＰＳＵ×１Ｗ(段階４０６)から、僅かに正常より高い(<ＰＳＵ×１．２Ｗ(段階４１０)、ソフトウェアスロットリング(段階４１６)、ハードウェアスロットリング(段階４２４)まで; (２)中間部分で、電力が正常であるか、それより低い(<ＰＳＵ×１Ｗ(段階４０６)から、僅かに正常より高い (<ＰＳＵ×１．２Ｗ(段階４１０)、ソフトウェアスロットリング(段階４３４)まで;および、(３)右側部分で、ソフトウェアスロットリングは、電力が十分に下降しておらず、電力が、３５％ の容量を超え(段階４４４)、ハードウェアスロットリングを生じる(段階４５２)。図４の幅広い理解のため、図４を参照する。
【００１９】
システム１００は、待機状態(standby condition)で開始する。複数の命令を受信して、開始、あるいは、起動するとき(段階４０２)、システム１００が起動する(段階４０４)。起動後、システム１００は操作を開始するとともに、処理装置、たとえば、ＢＭＣが消費電力を監視して、以下のプロシージャに対し決定を下す。この例において、一つのＰＳＵが、所定の電力量をサポートすることができ、指定はＰＳＵ×１Ｗ (たとえば、２２００Ｗ)であると仮定する。システム電源がＰＳＵ×１Ｗより低いとき(段階４０６)、システム１００は何も作動しない。消費電力が、ＰＳＵ×１Ｗ ４０６とＰＳＵ×１．２Ｗ ４１０(たとえば、<２６４０Ｗ)(電源が上昇(段階４０８)あるいは下降(段階４１２)するで)間である場合、システム１００はＰＳＵに障害が発生するまで何も作動しない。
【００２０】
しかし、ＰＳＵの障害は、ＣＰＵのソフトウェアスロットリング(段階４１６)、および、可能なハードウェアスロットリング(段階４２４)と共に、フローチャートの左側部分をトリガーする。ＰＳＵの障害 (たとえば、ＰＳＵが故障、あるいは、プラグが抜けた)、且つ、電源がＰＳＵ×１Ｗを超過したとき(段階４１４)、ＢＭＣは、ＣＰＵに、電値からクランプ (図３に示されるように、プロセッサ電力を減少させることにより)を開始するように通知する(段階４１６)。まず、ＢＭＣは、ＣＰＵが、ＢＭＣがシステム消費電力をチェックするときのＣＰＵ電力が９０％になるように設定すべきであることを示す。消費電力が依然として、ＰＳＵ×１Ｗより大きい場合(段階４１８) (すなわち、システム電力が、システムが、現在、残りの電源ユニットが提供することができる電力より大きい場合)、ＢＭＣは、反復して、ＣＰＵに、電力を追加のパーセンテージ低下させるように通知する(段階４１６)。一旦、システム消費電力がＰＳＵ×１Ｗより低くなる、あるいは、別のＰＳＵがプラグインされると、ＢＭＣが電力クランプを解除するとともに、ＣＰＵが通常操作に戻る。しかし、ＣＰＵが電力の最小数値に達し(すなわち、５０％)、且つ、システム消費電力が依然としてＰＳＵ×１Ｗより大きい場合(段階４２２)、システム１００は、ハードウェアスロットリングを開始する(段階４２４)。ハードウェアスロットリング(段階４２４)が、電力をＰＳＵ×１Ｗスレショルド以下に減少させる場合(段階４２６)、システム１００は、修復／補正されるまで、スロットル／クランプ状態で操作を継続することができる。ハードウェアスロットリング(段階４２４)が、電力をＰＳＵ×１Ｗ以下まで減少させていない場合(段階４２８)、システム１００はシャットダウンを開始する(段階４３０)。
【００２１】
次に、消費電力がＰＳＵ×１．２Ｗ ４１０周辺でホバリングする上述のフローチャートの第二／中間部分を検討する。システム消費電力が、ＰＳＵ×１．２ＷとＰＳＵ×１．３５Ｗの間であるとき(たとえば、２９７０Ｗ) (段階４３２、４３４、４４２)、ＢＭＣは、二個以上の電源を操作していても、電力クランプを開始する。特に、消費電力が、ＰＳＵ×１．２Ｗを超過する場合(段階４３２)、ハードウェアスロットリング、および／または、プロセッサクランプをイネーブルにでき、反対に、システム消費電力が、ＰＳＵ×１．２×．９５Ｗ (たとえば、２５０８Ｗ)より小さい場合、クランプ、および／または、ハードウェアスロットリングを無効にすることができる。この段階４３４で、ハードウェア、および、ソフトウェアクランプは反復的な方式で発生することができ、各後続工程が減少する前にシステム１００は、現在の消費電力を確認する(段階４３８)。ＰＳＵ障害が、電力クランプ期間で発生するとき(段階４４０)(すなわち、プロセッサ電力がすでに減少しているとき)、システム１００は、ハードウェアスロットルを実行して、消費電力をＰＳＵ×１Ｗ以下にする。
【００２２】
最後に、フローチャートの右半分を検討し、システム消費電力がＰＳＵ×１．３５Ｗより高いとき(段階４５０)、システムは、直ちに、ハードウェアスロットリングを開始する(段階４５２)とともに、電力が増加する、あるいは、ＰＳＵ×１．３５Ｗ以下に減少させることが失敗である場合(段階４５４)、システムシャットダウンを開始する(段階４５６)。システム消費電力が下降する場合、減少した電力要求(段階４４６)、あるいは、ハードウェアスロットリング(段階４５８)から、システム１００は、通常操作に戻る(段階４０６)。このシステムの長所は、電源ユニットへのダメージを減少させ、システムラグ(追加電力に必要な応答時間)を減少させることである。
【００２３】
本発明は、既に、基本システムコンポーネントと概念を開示し、本発明は、図５に示される実施形態に戻る。分かりやすくするため、本発明実施形態による方法は、図１に示されるシステム１００により実現される。本発明で列記される複数の工程は、例示的なものであるとともに、任意の組み合わせにより実現され、ある工程を削除、増加、あるいは、修正する組み合わせを有する。 
【００２４】
システム１００は、管理コントローラで、第一電源ユニット、および、第二電源ユニットにより供給される総電力を示すシステム消費電力を測定する(工程５０２)。システム１００は、システム消費電源値からがシステム消費電力能力を超過するとき、判断結果を生成するか判断する(工程５０４)とともに、判断結果に応答して、電力クランプ信号をプロセッサ(あるいは、複数のプロセッサ)に送信し、減少したシステム消費電力を生じさせる(工程５０６)。システム１００は、減少したシステム消費電源力がシステム消費電力能力を超過することを識別し(工程５０８)、第一電源ユニットと第二電源ユニット中の少なくとも一つのハードウェアスロットリングを開始する(工程５１０)。たとえば、図５に示される方法は、第一電源ユニットが動作し、且つ、第二電源ユニットが故障であるとき、電力の管理を助けるために用いることができる。
【００２５】
システム消費電力がシステム消費電力を超過することの判断は、計測されたシステム消費電力と所定のスレショルドの比較を含むことができる。電力クランプ信号の通信は、プロセッサ(あるいは、複数のプロセッサ)のプロセッサ消費電力において、反復減少を生じる。各反復は、指定された期間(たとえば、５ｍｓ)を有して、消費電力が十分に下降したか判断する。消費電力が、指定期間内で、高すぎるスループットのままである場合、システム１００はさらに、クランプ(ソフトウェア)、あるいは、スロットリング(ハードウェア)により電力を減少させる。各反復は、プロセッサの最大プロセッサ消費電力の所定のパーセンテージにより、プロセッサ消費電力を減少させ、プロセッサ消費電力が、最小のプロセッサ電力スレショルドに到達するとき、反復は終了する。たとえば、プロセッサ電力スレショルドが５０％、および、プロセッサ電力が５０％の値であった場合、システム１００はハードウェアスロットリングを開始することができる。ソフトウェアとハードウェアスロットリングがどちらも、システム消費電力を許容状態にできないとき、システム１００はシャットダウンすることができ、これは、最小のプロセッサ電力スレショルドに到達したとき、システム１００が、管理コントローラ、プロセッサ(ＣＰＵ、および／または、ＢＭＣを有する)、第一電源ユニット、および／または、第二電源ユニットをオフにすることができる、および／または、電力が最小スレショルドを超過するとき、ハードウェアスロットリングをオフにすることができることを意味する。
【００２６】
本発明の領域内容内の実施形態は、携帯用、コンピュータ実行可能命令、または、記録されたデータ構造を有する有形な（tangible）、および／または、非一過性のコンピュータ可読のストレージ媒体も含むことができる。このような有形のコンピュータ可読のストレージ媒体は、汎用目的、あるいは、特殊用途コンピュータ(上述の任意の特殊用途プロセッサの機能設計を有する)によりアクセスされる任意の可用な媒体である。本発明は例を挙げているが、限定するものではなく、このような有形のコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ-ＲＯＭ、あるいは、その他の光学ディスクストレージ、磁気ディスクストレージ、あるいは、その他の磁気ストレージデバイス、あるいは、コンピュータ実行可能命令、データ構造、あるいは、プロセッサチップ設計の形式で、所望のプログラムコード手段を運搬、あるいは、保存するのに用いられるその他の任意の媒体を有する。情報が、ネットワーク、あるいは、その他の通信接続 (ハードワイヤ、ワイヤレス、あるいは、それらの組み合わせ)により、コンピュータに伝送、あるいは、提供されるとき、コンピュータは、適切に、接続をコンピュータ可読媒体とみなす。よって、このような任意の接続は、コンピュータ可読媒体と称される。上述の組み合わせも、コンピュータ可読媒体の領域中に含まれるとみなされなければならない。 
【００２７】
たとえば、コンピュータ実行可能命令は、汎用目的コンピュータ、特殊用途コンピュータ、あるいは、特殊用途処理装置に、所定の機能、あるいは、所定の機能のグループを実行させる命令とデータを有する。コンピュータ実行可能命令は、さらに、スタンドアローン、あるいは、ネットワーク環境で、コンピュータにより実行されるプログラムモジュールを有する。一般に、プログラムモジュールは、特定のタスクを実行、あるいは、特定の中小データタイプを実現するルーティン、プログラム、コンポーネント、データ構造、オブジェクト、および、特殊用途プロセッサの設計の固有機能を有する。コンピュータ実行可能命令、関連するデータ構造、および、プログラムモジュールは、開示される方法の工程を実行するプログラムコードの例を示す。このような実行可能命令の特定のシーケンス、あるいは、関連するデータ構造は、記述されるこのような工程を実行するのに対応する動作の例を示す。
【００２８】
本開示のその他の実施形態は、多種のコンピュータシステム配置(パソコン、携帯端末、マルチプロセッサシステム、マイクロプロセッサベースの、あるいは、プログラマブル家電、ネットワークＰＣ、ミニコンピュータ、メーンフレームコンピュータ等を含む)を有するネットワークコンピューティング環境で実現される。本発明のその他の実施形態も、分散型コンピューティング環境で実現され、ローカル、および、リモート処理装置により実行されるタスクは、通信ネットワークにより連結される (ハードワイヤリンク、ワイヤレスリンク、あるいは、それらの組み合わせにより)。分散式コンピューティング環境において、プログラムモジュールは、ローカル、および、リモートメモリストレージデバイスの両方に配置することができる。
【００２９】
上述の多様な実施形態は、例を挙げて説明する方式により提供されるものであり、本発明の範囲を限定するものとして解釈されるべきではない。たとえば、ここで記述される原理は、複数の／冗長電源を作動させるサーバに応用される、あるいは、複数の電源を作動させる任意の装置に応用される。開示及び例示された実施形態及び応用に従うことなく、また、本発明の精神と領域を逸脱しない範囲内で、本発明の原理に多様な変形や潤色を加えることができる。
【図１】
2017189094.tif 000003
【図２】
2017189094.tif 000004
【図３】
2017189094.tif 000005
【図４】
2017189094.tif 000006
【図５】
2017189094.tif 000007
【外国語明細書】
2017189094000001.pdf