(57)【要約】【課題】マルチプロセッサシステムのプロセッサに電源を供給する方法および装置を提供する。【解決手段】実施形態は、プロセッサに結合された第１の電圧電位に関連するパラメータをモニタする方法を含む。モニタされたパラメータまたは状態が、第１の電圧が不良であるか、または障害があることを示すとき、方法は、一般にプロセッサから電圧を分離し、プロセッサを無効にするか、またはリセットして、プロセッサに第２の電圧電位を結合する。また、方法は、プロセッサが無効にされた状態で、コンピュータシステムが作動し続けることを可能としうる。他の実施形態は、第１の電圧調節器に関連するエラーを検出するエラー検出回路、エラーに呼応して第１の電圧調節器を無効にする無効回路、プロセッサ分離回路、およびプロセッサに第２の電圧調節器から電圧を供給する電圧スイッチング回路を含む。【選択図】  図１
2008090760.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサを有するコンピュータシステムのプロセッサに電源を供給する方法であって、
プロセッサに結合されている第１の電圧電位に関連するパラメータを決定するステップと、
前記パラメータに基づいて、
前記プロセッサから前記第１の電圧電位を分離するステップと、
前記プロセッサを無効にするステップと、
前記プロセッサに第２の電圧電位を結合するステップと、を含む方法。
【請求項２】
無効にされた前記プロセッサを有する前記コンピュータシステムを作動させるステップをさらに含む、請求項１に記載の方法。
【請求項３】
パラメータを決定するステップが、前記第１の電圧電位が許容値より小さいかどうかを検出するステップを含む、請求項１に記載の方法。
【請求項４】
パラメータを決定するステップが、前記プロセッサからの状態信号を検出するステップを含む、請求項１に記載の方法。
【請求項５】
パラメータを決定するステップが、電圧調節器モジュールからの状態信号を検出するステップを含む、請求項１に記載の方法。
【請求項６】
分離するステップが、前記第１の電圧電位を発生している電圧調節器モジュールを無効にするステップを含む、請求項１に記載の方法。
【請求項７】
分離するステップが、前記第１の電圧電位を前記プロセッサに結合するトランジスタをオフにするステップを含む、請求項１に記載の方法。
【請求項８】
無効にするステップが、前記プロセッサに無効信号を送信するステップを含み、それによって、前記プロセッサにその出力のうちの少なくとも１つをトライステートさせる、請求項１に記載の方法。
【請求項９】
無効にするステップが、前記プロセッサにリセット信号を送信するステップを含み、それによって、前記プロセッサをリセット状態にさせ、かつ前記プロセッサにその出力のうちの少なくとも１つをトライステートさせる、請求項１に記載の方法。
【請求項１０】
結合するステップが、前記プロセッサに前記第２の電圧電位を結合するために、リレー接点を閉じるステップを含む、請求項１に記載の方法。
【請求項１１】
結合するステップが、前記プロセッサに前記第２の電圧電位を結合するために、トランジスタを作動状態にするステップを含む、請求項１に記載の方法。
【請求項１２】
複数のプロセッサを有するコンピュータシステムのプロセッサに電圧を供給する装置であって、
プロセッサに電圧を供給する第１の電圧調節器モジュールに関連するエラー状態を検出するエラー検出回路と、
前記エラー検出回路が前記エラーを検出した場合、前記第１の電圧調節器モジュールを無効にする無効化回路と、
前記エラー検出回路が前記エラーを検出した場合、１つ以上の前記プロセッサ入出力が前記コンピュータシステムのバスから分離される分離状態に前記プロセッサを置く、プロセッサ分離回路と、
前記エラー検出回路が前記エラーを検出した場合、前記プロセッサに第２の電圧調節器モジュールから電圧を供給する電圧スイッチング回路と、を含む装置。
【請求項１３】
前記エラー検出回路、前記無効化回路、前記プロセッサ分離回路および前記電圧スイッチング回路が、サービスプロセッサを含む、請求項１２に記載の装置。
【請求項１４】
前記第１の電圧調節器モジュールを無効にするために、前記無効化回路に結合された無効出力をさらに含む、請求項１３に記載の装置。
【請求項１５】
前記プロセッサに前記第２の電圧調節器モジュールを結合するトランジスタを作動状態にするために、前記電圧スイッチング回路に結合された電圧スイッチング出力をさらに含む、請求項１３に記載の装置。
【請求項１６】
前記エラー検出回路が、前記第１の電圧調節器モジュールからの電圧の欠如を検出するようになされている、請求項１２に記載の装置。
【請求項１７】
前記無効化回路が、前記プロセッサから前記第１の電圧調節器を電気的に分離するためのトランジスタを含む、請求項１２に記載の装置。
【請求項１８】
前記プロセッサ分離回路が、前記プロセッサをリセット状態に保持するようになされている、請求項１２に記載の装置。
【請求項１９】
前記電圧スイッチング回路が、前記プロセッサに前記第２の電圧調節器を結合するトランジスタを含む、請求項１２に記載の装置。
【請求項２０】
マルチプロセッサ・コンピュータシステムであって、
２つ以上のプロセッサと、
前記２つ以上のプロセッサに電圧を供給する２つ以上の電圧調整モジュールと、
前記２つ以上の電圧調整モジュールのうちの少なくとも１つにおいて、問題を検知する電圧エラー検出モジュールと、
前記問題を検出する前記電圧エラー検出モジュールに基づいて、前記問題により影響を受けた前記２つ以上のプロセッサのうちの少なくとも１つから、前記少なくとも１つの電圧調整モジュールを分離する電圧分離モジュールと、
前記問題により影響を受けていない前記２つ以上の電圧調整モジュールのうちの少なくとも１つを、前記問題により影響を受けた前記２つ以上のプロセッサのうちの前記少なくとも１つと結合する電圧スイッチングモジュールと、を含むシステム。
【請求項２１】
前記問題を検知する前記電圧エラー検出モジュールに呼応して、前記問題により影響を受けた前記２つ以上のプロセッサのうちの前記少なくとも１つを無効にするプロセッサ無効化モジュールをさらに含む、請求項２０に記載のシステム。
【請求項２２】
前記プロセッサ無効化モジュールが、前記問題を検知する前記電圧エラー検出モジュールに呼応して、前記コンピュータシステムのバスから前記問題により影響を受けた前記プロセッサを分離する、請求項２１に記載のシステム。
【請求項２３】
前記コンピュータシステムがサーバを含む、請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、複数のマイクロプロセッサを有するコンピュータシステムに関する。さらに詳細には、本発明は、マルチプロセッサシステムのプロセッサに電源を供給する方法および装置に関する。
【背景技術】
【０００２】
我々の社会は、我々の日々の活動の多くでコンピュータシステムに負うところが大きい。プロセッサを使用するコンピュータシステムは、我々の家庭で、我々の事務所で、我々の生産設備で、我々の自動車で、ならびに宇宙のスペースシャトル内および静止衛星内でさえ、機器を制御する。デスクトップおよびラップトップコンピュータ、メインフレームコンピュータシステムのような機器の中に、ならびに携帯電話およびパームヘルドコンピュータのような携帯機器の中に、コンピュータおよびプロセッサを見出すことができる。
【０００３】
これらの既存の用途に加えて、人々は絶えずコンピュータシステムの新規の用途を見つけている。用途の多くは、プロセッサ性能の改善を要求し、現代のコンピュータシステムに負担を課している。コンピュータ設計者が絶えず改善しようと努力しているプロセッサ性能の改善例としては、プロセッサ速度の向上、およびデータ処理能力の高速化などがある。改善されたプロセッサ性能を要求する用途の例は、画像および音声認識、気候または気象のモデル化、流体乱流のモデル化、ヒトゲノムマッピング、オイルリザーバのモデル化、および海洋循環のモデル化である。これらの用途すべては、多数の数学的計算のために膨大な量の計算能力を必要とする。
【０００４】
これらの用途の要求を満たすために、コンピュータシステム設計者は、プロセッサ、主としてマイクロプロセッサのアーキテクチャを大幅に変更した。例えば、１９８０年代および１９９０年代前半のコンピュータシステムは、一般に直線方式または順次方式でデータを扱う単一の中央演算処理装置を有していた。残念ながらこのような順次アーキテクチャは、マイクロプロセッサの物理的限界のために、限定された計算能力を提供するのみである。したがって、一般的に今日のコンピュータは並列アーキテクチャのような様々なプロセッサアーキテクチャで同時に計算する複数のプロセッサを使用する。
【０００５】
上述したように、今日の多数のコンピュータシステムは複数のプロセッサを含む。また、コンピュータのプロセッサ数の増加と共に、これらのマルチプロセッサシステムを作成する設計者は、これらのコンピュータシステムからさらなる計算処理能力を引き出すため様々な技術および設計方法を使用する傾向がある。このような技術および設計方法としては、パイプライン処理、ベクトル処理、およびスーパースケーラアーキテクチャの使用などがある。これらの技術および設計方法を使用するコンピュータシステムは、一般にチップ上のトランジスタおよび抵抗器の個数が１８カ月毎に倍増するとするムーアの法則に従っている。今日では、何百万個ものトランジスタを含む、あるいは何十億個ものトランジスタを含む最新式コンピュータシステムチップでさえ、珍しいことではない。
【０００６】
残念ながら、コンピュータシステムおよびコンピュータチップが使用するトランジスタおよび他の集積回路要素が多いほど、要素のより少ないシステムおよび装置よりも頻繁に故障する傾向がある。こういった増加する故障率に対処するため、計算機メーカーはこれらのシステムの連続稼働時間（アップタイム）および信頼性を向上させる傾向がある様々な設計技術を使用する。例えば、複数のプロセッサを有するコンピュータシステムで現在使用されている連続稼働時間を向上させる１つの技術は、内部故障を有するプロセッサを無効にすることを含む。プロセッサが内部故障を有することを検知すると、プロセッサはリセット状態に保持される。故障したプロセッサをリセット状態に保持することは、故障したプロセッサの出力を実効的にトライステート（tri-state）して、コモンバスに取り付けられた他のプロセッサが作動し続けることを可能とする。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、複数のプロセッサを有するコンピュータシステムが、この技術を用いて作動することを可能とする試みには重大な問題がある。プロセッサはプロセッサ自体の中の問題のために故障する場合があり、または、プロセッサは、プロセッサに電源を提供する電圧調節器にかかわる問題のために故障しうる。問題がプロセッサ内部にある場合、上述したリセット状態でプロセッサを保持する技術は、そのプロセッサを無効にして、マルチプロセッサシステムが作動し続けることを可能とすることができる。しかしながら、プロセッサが、プロセッサに電源を供給する電圧調節器にかかわる問題のために故障すると、リセット状態でプロセッサを保持する単純な試みでは、プロセッサ無しでシステムが作動し続けることを可能とすることができない。
【０００８】
プロセッサの入力および出力を正確にトライステートするために、プロセッサは電源を必要とするため、問題がプロセッサに電源を供給する電圧調節器と関連する場合、リセット状態でプロセッサを保持する技術はうまく作動できない。他のプロセッサが、同じデータ、制御、およびアドレスバスに接続されているという事実のために、故障したプロセッサの入力および出力は、トライステートされる必要がある。正常にトライステートを行わなければ、故障したプロセッサの入力および出力により、バスの信号ラインを不良状態となり、他のプロセッサが正常に機能することを妨げるであろう。
【０００９】
多くのマルチプロセッサシステムのアーキテクチャは、正常動作時に、他のプロセッサ用のコア電圧から独立している各プロセッサ用のコア電圧を必要とする。その結果、問題のプロセッサ用の電圧供給または電圧調節器が故障すると、電圧不足のために、プロセッサを正常にトライステートすることができない。多くの場合、コア電源層（plane）は他の電源層から隔離されており、コア電圧の他の電源は利用できない。最終的に、複数のプロセッサを有するコンピュータの中の単一の電圧調節器の故障が、コンピュータが動作することを妨げることになるであろう。したがって、電圧調節器のうちの１つが故障しても、複数のプロセッサコンピュータが作動することを可能とする方法および装置に対する必要性がある。
【課題を解決するための手段】
【００１０】
上で特定された問題は、主に、電圧調節器のような電圧源に欠陥がある場合、プロセッサに電圧を提供するための方法および装置により対処される。１つの実施形態は、複数のプロセッサを有するコンピュータシステムのプロセッサに電源を供給する方法を含む。一般に、この方法は、プロセッサに結合された第１の電圧電位に関連するパラメータをモニタすることを含む。モニタされたパラメータまたは状態が、第１の電圧が不良であるか、または障害があることを示す場合、この方法は、プロセッサから電圧を分離し、プロセッサを無効にするか、またはリセットして、プロセッサに第２の電圧電位を結合する。また、この方法は、プロセッサが無効にされた状態で、コンピュータシステムが作動し続けることを可能としうる。様々な実施形態では、第１の電圧電位の分離、プロセッサの無効、および第２の電圧電位の結合は、スイッチ、トランジスタ、およびリレー接点のような装置を使用することにより達成されうる。
【００１１】
他の実施形態は、複数のプロセッサを有するコンピュータシステムのプロセッサに電圧を供給する装置を含む。この装置は、第１の電圧調節器に関連するエラーを検出するエラー検出回路、エラーに呼応して第１の電圧調節器を無効にする無効化回路、プロセッサ分離回路、およびプロセッサに第２の電圧調節器から電圧を供給する電圧スイッチング回路を含むことができる。この装置のすべての要素は、サービスプロセッサと呼ばれる単一の装置の中に存在しうる。この装置は、電圧調節器を分離し、プロセッサを分離して、かつ第２の電圧調節器にプロセッサを切り替えるために、トランジスタ、スイッチ、およびリレー接点を利用できる。
【００１２】
さらなる実施形態は、２つ以上のプロセッサを含むマルチプロセッサ・コンピュータシステム、プロセッサに電圧を供給する２つ以上の電圧調整装置、電圧調整モジュールにかかわる問題を検知する電圧エラー検出モジュール、問題のある電圧調整モジュールを分離する電圧分離モジュール、および問題のある電圧調整モジュールに影響を受けている任意のプロセッサに、残りの電圧調整モジュールのうちの少なくとも１つを結合する電圧スイッチングモジュールを含む。また、他の実施形態では、コンピュータシステムは、問題のある電圧調整モジュールに影響を受けているプロセッサのうちの１つ以上を無効にするプロセッサ無効化モジュールを含むことができる。
【発明を実施するための最良の形態】
【００１３】
本発明の他の目的および利点は、添付図面を参照するとともに以下の詳細な説明を読むことにより明らかになるであろう。添付図面において、同様の参照番号は同様の要素を示しうる。
【００１４】
下記は、添付図面に示された本発明の実施形態例の詳細な説明である。実施形態例は、本発明を明確に知らせるために、このように詳細に示される。しかしながら、提供された詳細全体は、実施形態の予想される変形を制限するものではなく、反対に、添付クレームで定義されるとおり本発明の要旨および範囲内にあるすべての変更、均等物、および代替物を含むことを意図するものである。下記の詳細な説明は、このような実施形態が当業者にとって明白になるように意図されている。
【００１５】
概括して言えば、マルチプロセッサ・コンピュータシステムのプロセッサに電源を供給する方法、装置、およびシステムが開示される。電圧エラーを検出した後に、プロセッサ間の電源を切り替える新技法について論ずる。実施形態は、複数の電圧源により電力を供給されている複数のプロセッサを有するコンピュータシステムをモニタして、電圧エラーが検出されると、プロセッサ間の電源を切り換える方法を含む。これらの実施形態では、装置ソフトウェアまたはハードウェアもしくはその両方が、１つ以上のプロセッサに対する電圧が許容範囲をはずれていることを検出でき、これに呼応して他の電源からの電圧を切り替え、かつ影響を受けたプロセッサを分離することができる。
【００１６】
いくつかの実施形態では、電圧は、独立した２つの電圧調節器を使用する２つのプロセッサ間で切り換えられる。他の実施形態では、電圧は、３、４、８、またはそれ以上といった任意の個数のプロセッサ間で切り換えられうる。同様に、プロセッサに対する電圧は、多数の異なる電源から得られうる。多数の実施形態では、電圧は、電界効果トランジスタのような半導体素子を用いて切り替えられうる。他の実施形態では、プロセッサに対する電圧は、リレー、または他のスイッチング装置を用いて切り替えられうる。
【００１７】
種々の電圧問題の検知および応答の方法は、種々の実施形態において異なる。いくつかの実施形態では、電圧制御ユニットは、単に、電圧調節器からの電圧の消失を検出できる。他の実施形態では、電圧制御ユニットは、電圧が所定のしきい値に達しないといったより微妙な電圧エラー状態をモニタできる。さらなる実施形態では、サービスプロセッサは、電圧調節器からの、または調節器により電力を供給されているプロセッサからの、単一の状態ビットをモニタすることにより、電圧エラーをモニタできる。様々なエラーに対する呼応については、いくつかの実施形態の電圧制御ユニットは、電圧エラーにより影響を受けているプロセッサに、影響を受けていない電圧源から供給して、かつプロセッサをリセット状態に保持することにより、呼応しうる。他の実施形態では、電圧制御ユニットは異なる方法で呼応でき、例えば、プロセッサに対する状態入力を、プロセッサがその入力および出力を浮動させうる高レベルに保持するように呼応しうる。
【００１８】
以下の詳細な論議の一部では、複数のマイクロプロセッサを有するコンピュータシステムのマイクロプロセッサに電源を供給する新技法を含む多数の実施形態について説明するが、当業者は、以下の発明が、様々なプロセッサベースのコンピュータシステムにおける、例えば、複数ボードコンピュータに実装されたプロセッサ、およびメインフレームシステムに実装されたプロセッサにおいてさえ、多数の異なった種類のプロセッサを用いて実施されうることを認識するであろう。実施形態は、データバスまたはメモリアクセスバスのような単一のバスに結合されたプロセッサを有するように説明されているが、様々な実施形態では、同時に、複数バスに結合されうる。さらに、実施形態では、トランジスタおよびリレーを用いてプロセッサ間の電圧の切り替えを行うことについて説明するが、当業者は、本明細書に開示された技術が、スイッチング装置のほとんど無限の変形を利用できることを認識するであろう。本発明を実施するすべての構成および方法は、同様の制約条件に基づいて実質的に同等な機能を実行するために使用されるとき、他の実施形態に対して交換可能である。
【００１９】
ここで、２つのプロセッサ、２つの電圧調節器モジュール、および２つの調節器モジュールの間を切り替える装置を有するマルチプロセッサ・コンピュータシステム１００を示す図１を参照する。さらに具体的に述べると、図１に示されたコンピュータシステム１００は、第１のマイクロプロセッサ１１８、および単一のバスセグメント１２８を介してバスコントローラ１５４に並列に結合された第２のマイクロプロセッサ１２０を有する。様々な実施形態では、バスセグメント１２８は、プロセッサ１１８および１２０を様々な幅のバスに結合できる。例えば、いくつかのシステムでは、バスセグメント１２８は、８ビットバスセグメントを含むことができる。他の実施形態では、バスセグメント１２８は、１６、３２、またはさらに大きいビット数のバスを含むことができる。
【００２０】
バスコントローラ１５４に結合されているのは、ＡＧＰ（acceleratedgraphics port）バス１５８、ＰＣＩ（peripheral component interconnect）バス１５０、およびランダムアクセスメモリ（ＲＡＭ）１２４のバンクである。この実施形態では、マイクロプロセッサ１１８およびマイクロプロセッサ１２０は、ＲＡＭ１２４のバンクを共同利用し、共用メモリコンピュータシステムを含むが、他の実施形態では、他の方法で配置されたマイクロプロセッサを有することができる。例えば、メモリの１つのバンクを共同利用するマイクロプロセッサ１１８およびマイクロプロセッサ１２０の代わりに、他の実施形態では、分散メモリコンピュータシステムの場合のように、個別の専用メモリバンクを有するマイクロプロセッサ１１８および１２０を配置できる。
【００２１】
マイクロプロセッサ１１８および１２０は連絡し合って作動でき、ＡＧＰバス１５８およびＡＧＰビデオカード１６０を用いて、ブラウン管モニタによりコンピュータシステム１００のユーザに情報を表示することができる。他の実施形態では、表示装置は、液晶ディスプレイ画面または薄膜トランジスタフラットパネルモニタでもよい。さらに、様々な実施形態では、レガシー業界標準アーキテクチャ（ＩＳＡ）カードのような、ＡＧＰビデオカード１６０とは異なる他の種類のディスプレイアダプタを用いてユーザに情報を表示できる。さらなる実施形態では、ディスプレイを全く有しない計算機器に、マイクロプロセッサ１１８および１２０を埋め込むことができる。
【００２２】
コンピュータシステム１００は、ＢＩＯＳモジュール１９０に格納された基本的入出力システム（ＢＩＯＳ）プログラムを有することができる。コンピュータシステム１００の電源投入後に、マイクロプロセッサ１１８および１２０に、システムハードウェアについての多数の所定のテストを実行させる、パワーオン・セルフテスト（Power On Self Test）コードまたはプログラムが、ＢＩＯＳモジュール１９０に含まれうる。例えば、ＰＯＳＴプログラムは、コンピュータシステムを検査できるとともに、キーボードおよびマウスのような入出力装置用の様々なポートおよびＵＳＢポートを点検できる。
【００２３】
図１に示されているように、コンピュータシステム１００は、キャッシュメモリ１１６に結合されたマイクロプロセッサ１１８を有することができる。同様に、コンピュータシステム１００は、キャッシュメモリ１２２に結合されたマイクロプロセッサ１２０を有することができる。このようなキャッシュメモリ装置は、様々な実施形態において個々のプロセッサの動作性能の向上を促進しうる。しかしながら、いくつかの実施形態では、マイクロプロセッサ１１８および１２０と同様の１つ以上のプロセッサは、個々のマイクロプロセッサに結合された複数のキャッシュメモリ装置を有してもよく、複数のマイクロプロセッサに結合されたキャッシュメモリ装置を有してもよく、およびキャッシュメモリ装置を備えていない１つ以上のマイクロプロセッサを有することさえ可能である。
【００２４】
また、図１に示されているように、コンピュータシステム１００は、スイッチングモジュール１１４を介して、マイクロプロセッサ１１８に電源を提供する電圧調整モジュール（ＶＲＭ：Voltage Regulation Module）１０８、およびマイクロプロセッサ１２０に電源を供給する別のＶＲＭ１１２を有することができる。正常動作時に、スイッチングモジュール１１４は、ＶＲＭ１０８およびＶＲＭ１１２からの電圧を分離でき、ＶＲＭ１０８がマイクロプロセッサ１１８に電圧を供給して、他方でＶＲＭ１１２がマイクロプロセッサ１２０に電圧を供給するようにできる。ＶＲＭ１０８またはＶＲＭ１１２が故障すると、電圧調節器制御ユニット１０２は、状態入力ライン１０４および１０６のそれぞれから、このような故障を検出できて、出力スイッチング制御ライン１１０を介して、スイッチングモジュール１１４を作動させることができる。スイッチングモジュール１１４を作動させることにより、正常時にはその故障しているＶＲＭから供給されているプロセッサに、故障していないＶＲＭからの電圧を結合できる。このようにバックアップ電圧を結合することにより、影響を受けているプロセッサが、迂回モードに置かれることを可能とすることができ、影響を受けているプロセッサが正常動作を停止して、かつバスコントローラ１５４に結合された他のプロセッサおよび装置が、正常に動作することを可能とするようになされる。
【００２５】
例えば、マイクロプロセッサ１１８がＶＲＭ１０８から電圧を受電している状態で、コンピュータシステム１００が正常モードで作動していると想定してみよう。同様に、マイクロプロセッサ１２０がＶＲＭ１１２から電圧を受電している。２つの状態入力ライン１０４および１０６それぞれの状態をモニタすることにより、ＶＲＭ制御ユニット１０２は、ＶＲＭ１０８およびＶＲＭ１１２が正常に作動していることを検出できる。ＶＲＭ１０８およびＶＲＭ１１２が正常に作動していることを検知すると、ＶＲＭ制御ユニット１０２は、スイッチングモジュール１１４にＶＲＭ１０８およびＶＲＭ１１２の出力を分離させることができて、各ＶＲＭ出力が、他の出力から分離されるようになされる。この正常な動作モードでは、スイッチングモジュール１１４は、ＶＲＭ１０８からの電圧をマイクロプロセッサ１１８のみに結合でき、かつＶＲＭ１１２からの電圧をマイクロプロセッサ１２０のみに結合できる。しかしながら、ＶＲＭ１０８が故障して、出力電圧の供給を停止すると想定してみよう。ＶＲＭ１０８により供給される動作電圧の欠如にともない、マイクロプロセッサ１１８は、動作を停止する。残念ながら、マイクロプロセッサ１１８に印加される動作電圧の完全な欠如にともない、バスセグメント１２８の出力信号ラインは、低レベルに保持され、バスコントローラ１５４を有するマイクロプロセッサ１２０の正常な動作を妨げうる。この問題を改善するために、マイクロプロセッサ１１８は、迂回モードに置かれることができ、十分な電圧がマイクロプロセッサ１１８に印加されるようになされうる。このような電圧は、まだ正常に作動しているＶＲＭ１１２のような他のＶＲＭモジュールから提供されうる。
【００２６】
ＶＲＭ制御ユニット１０２は、状態入力ライン１０４における現在の電圧の欠如を検知することにより、ＶＲＭ１０８が故障したことを検出できる。したがって、ＶＲＭ制御ユニット１０２は、スイッチング制御ライン１１０を作動状態にして、スイッチングモジュール１１４を介してＶＲＭ１１２の出力をマイクロプロセッサ１１８に結合することができる。十分な電圧がＶＲＭ１１２からマイクロプロセッサ１１８に供給されることにより、マイクロプロセッサ１１８は、リセットされて、かつ迂回状態に保持されることができ、その結果、マイクロプロセッサ１２０は、バスコントローラ１５４と正常に相互作用できる。逆の状況も起こりうることは明らかである。すなわち、ＶＲＭ１１２が故障して、マイクロプロセッサ１２０に影響を与えうる。そのとき、ＶＲＭ制御ユニット１０２がスイッチングモジュール１１４を作動させて、ＶＲＭ１０８からの電圧をマイクロプロセッサ１２０に結合でき、その結果、マイクロプロセッサ１２０が迂回されて、かつマイクロプロセッサ１１８が作動し続けることを可能とすることができる。
【００２７】
電圧および電源が、マルチプロセッサシステムのプロセッサにどのように供給されうるのかについてより良く説明するために、ここで我々は、様々な実施形態において、どのように電圧エラーを検出でき、どのように電圧エラーを分離でき、どのようにシステムのプロセッサを無効にできるのかについてのより詳細な議論を続ける。図２は、２つのコア電圧、すなわちコア電圧２３０およびコア電圧２６０を制御する装置２００を示す。いくつかの実施形態では、装置２００は、完全に半導体基板の中に実装されて、かつ単一の集積回路を含むことができる。他の実施形態では、装置２００の１つ以上の構成要素は、１つ以上のプリント基板上の電気トレースのような、金属線または他の導電性材料で結合された個別の電子装置として存在できる。
【００２８】
図２に示されているように、コア電圧２３０は、マイクロプロセッサ２４０に動作電圧および電流を提供できる。同様に、コア電圧２６０は、マイクロプロセッサ２７０に動作電圧および電流を提供できる。正常動作時に、ＶＲＭ２２０はコア電圧２３０を出力または供給でき、他方でＶＲＭ２５０はコア電圧２６０を供給できる。マイクロプロセッサ２４０および２７０は、共用メモリアーキテクチャのような、様々な異なったコンピュータアーキテクチャで構成されたマルチプロセッサ・コンピュータシステムの２つのプロセッサでありうる。さらに、マイクロプロセッサ２４０および２７０は、パイプライニング、タイムシェアリング、マルチスレッディング、インタリービング、およびオーバーラッピングのようなデータ処理の様々な技術を利用できる。
【００２９】
電圧およびマイクロプロセッサ制御ユニット２１０は、マイクロプロセッサ２４０、マイクロプロセッサ２７０、およびＶＲＭ２２０およびＶＲＭ２５０により供給された電圧に関連する多数のパラメータをモニタできる。例えば、制御ユニット２１０は、ＶＲＭ２２０およびＶＲＭ２５０により供給された電圧をモニタすることができ、両方の電圧が正常電圧範囲内にあることを確認する。いくつかの実施形態では、制御ユニット２１０は、何らかの最小動作しきい値を下回っていないことを確認するために、このような電圧をモニタすることができる。他の実施形態では、制御ユニット２１０は、単に、ＶＲＭ２２０およびＶＲＭ２５０内の内部診断回路により生成された状態ビットをモニタすることができる。換言すれば、各ＶＲＭは、それ自身の診断回路を有することができ、電圧レベル、電圧低下、電圧低下持続時間、電圧雑音、リップル、および他の電圧品質の尺度のような電圧パラメータをモニタする。このような電圧パラメータのモニタは、実施形態に応じて、ＶＲＭまたは制御ユニット２１０で実行されうる。
【００３０】
ＶＲＭ２２０またはＶＲＭ２５０に関連した電圧エラーを検出すると、制御ユニット２１０は、実施形態に応じて、様々な異なった方法で呼応しうる。いくつかの実施形態では、制御ユニット２１０は、最初に、障害のあるまたは異常のあるＶＲＭにより影響を受けたプロセッサを無効にして、障害のあるＶＲＭを無効にして、作動中のＶＲＭからの電圧を、マイクロプロセッサ２４０およびマイクロプロセッサ２７０の両方に結合して、正常時にはその障害のあるＶＲＭに結合されているプロセッサを、見えない状態に保持することができる。このようにプロセッサを見えない状態に保持することにより、コンピュータシステムのうちの１つ以上の残りのプロセッサが、作動し続けることを可能としうる。いくつかの実施形態では、個別のＶＲＭモジュールの各々は、マイクロプロセッサ２４０およびマイクロプロセッサ２７０の両方に供給するための十分な電流発生能力を有することができ、影響を受けたマイクロプロセッサが、簡単に制御ユニット２１０によりリセットされることを可能とし、また、影響を受けたマイクロプロセッサが作動し続けることを可能とする。
【００３１】
他の実施形態では、制御ユニット２１０は、異なった方法で電圧エラーを検出して、かつ呼応しうる。例えば、制御ユニット２１０は、マイクロプロセッサ２４０および２７０からの状態ビットをモニタでき、どちらかのビットの消失は、異常な電圧がプロセッサに供給されていることに相当するであろう。換言すれば、マイクロプロセッサは電圧モニタを実行できる。どちらかの状態ビットが消失すると、制御ユニット２１０は、障害のあるＶＲＭを無効にして、影響を受けたプロセッサに他のＶＲＭを結合して、かつ影響を受けたプロセッサをリセット状態に保持することにより呼応でき、同一の入出力ラインに接続された他の任意のシステムプロセッサまたは装置が、機能し続けることができるようにするために、影響を受けたプロセッサの入出力ラインを実効的にトライステートする。さらなる実施形態では、制御ユニット２１０は、直接、コア電圧２３０および２６０をモニタすることができて、制御ユニット２１０で電圧エラーを検出する。
【００３２】
マルチプロセッサ・コンピュータシステムのプロセッサにどのように電源を再分配できるのかについて、より明白な例を提供するために、図３に移動する。図３は、２つのマイクロプロセッサ３７５および３８０に電源を供給する、２つの電圧調節器モジュールＶＲＭ３５０およびＶＲＭ３６５からの電圧を制御するサービスプロセッサ３１５を有するコンピュータシステム３００を示す。マイクロプロセッサ３７５が、ＲＡＭ３８５専用であり、マイクロプロセッサ３８０が、ＲＡＭ３９０専用であってもよい。マイクロプロセッサ３７５および３８０は、単一のシステムバス３９５に結合されることができ、分散メモリマルチプロセッサ・コンピュータシステム３００でありうるものを形成する。
【００３３】
正常動作時に、ＶＲＭ３５０は、マイクロプロセッサ３７５に安定化されかつフィルタリングされたコア電圧３５５を供給できる。同様に、ＶＲＭ３６５は、マイクロプロセッサ３８０にコア電圧３７０を供給できる。コア電圧３５５およびコア電圧３７０は、共に、マイクロプロセッサ３７５および３８０に銅平面を介して分配されうる。ＶＲＭ３５０およびＶＲＭ３６５の両方が正常に機能している状態では、マイクロプロセッサ３７５および３８０の両方は、それぞれコア電圧３５５および３７０を利用できて、ＲＡＭ３８５および３９０とデータを送受信しながら、連絡し合って作動する。さらに、各マイクロプロセッサは、システムバス３９５によりコンピュータシステム３００の中の他の機器とデータを通信できる。また、正常動作時に、サービスプロセッサ３１５は、独立した状態ライン３２５および３３５それぞれを介して、ＶＲＭ３５０およびＶＲＭ３６５の状態をモニタできる。
【００３４】
電圧調節器モジュールのうちの１つが不良となり、エラーを生じる場合には、サービスプロセッサ３１５は、状態ライン３２５または状態ライン３３５からエラーを検出できるとともに、影響を受けたマイクロプロセッサをリセットし、不良である電圧調節器を無効にし、出力接続ライン３４５を作動状態にし、スイッチ３６０を閉じることで、コア電圧３５５および３７５を連結することにより呼応できる。換言すれば、電圧調節器がエラーを有するときはいつでも、サービスプロセッサ３１５が検出できるとともに、調節器を無効にし、作動中の調節器から影響を受けたプロセッサに電圧を供給することにより呼応できて、その結果、コンピュータシステム３００が作動し続けることができるようにするために、プロセッサが迂回されうる。プロセッサ３１５が予備電圧３０５のような予備電圧源から供給されていれば、サービスプロセッサ３１５は、ＶＲＭ３５０またはＶＲＭ３６５が消失しても、作動し続けることができる。
【００３５】
例えば、コンピュータシステム３００が、マイクロプロセッサ３７５およびマイクロプロセッサ３８０のそれぞれに電源を供給するＶＲＭ３５０およびＶＲＭ３６５の両方とともに、正常に作動していると仮定する。サービスプロセッサ３１５は、出力接続ライン３４５を非作動状態にして、スイッチ３６０を開くことができる。ＶＲＭ３６５が内部故障を生じると、状態ライン３３５は、論理的な０に変化しうる。サービスプロセッサ３１５は、状態ライン３３５のこの変化を検出できるとともに、制御出力３４０を論理的な１から論理的な０に変化させることで、ＶＲＭ３６５を無効にすることにより呼応できて、最終的に、ＶＲＭ３６５を無効にする。また、サービスプロセッサ３１５は、制御出力３２０を論理的な０から論理的な１に変化させることにより、マイクロプロセッサ３８０をリセット状態に設定できる。さらに、サービスプロセッサ３１５は、出力接続ライン３４５を作動状態にして、スイッチ３６０を閉じることにより、ＶＲＭ３５０からマイクロプロセッサ３８０に電源を供給できる。スイッチ３６０を閉じることにより、ＶＲＭ３５０にコア電圧３５５からコア電圧３７０に電源を過不足なく提供させることができ、その結果、マイクロプロセッサ３８０が、入出力ラインを正常にトライステートすることができる。この方法で、制御出力３２０を論理的な１に保持された状態のサービスプロセッサ３１５を有することにより、マイクロプロセッサ３８０入出力ラインをトライステートすることは、マイクロプロセッサ３８０をシステムバス３９５から分離できて、マイクロプロセッサ３７５が、作動してかつシステムバス３９５に結合された他の機器と通信し続けることを可能とする。
【００３６】
ＶＲＭ３６５を無効にして、ＶＲＭ３５０からマイクロプロセッサ３８０に電源を供給するのと同様に、サービスプロセッサ３１５は、制御出力３３０、制御出力３１０、および出力接続ライン３４５を用いて、ＶＲＭ３５０を無効にして、ＶＲＭ３６５からマイクロプロセッサ３７５に電源を供給することができる。さらに、サービスプロセッサ３１５は、ＶＲＭ３５０、ＶＲＭ３６５、マイクロプロセッサ３７５、およびマイクロプロセッサ３８０の構成に応じて、制御出力を、低レベルから高レベルへ、または高レベルから低レベルへ変化させることにより、異なった実施形態でこれらの機能を達成できる。換言すれば、電圧調節器、マイクロプロセッサ、およびスイッチング装置の構成に応じて、高レベルから低レベルへ、または低レベルから高レベルへ、ラインをなすことにより、制御出力は作動状態にされうる。
【００３７】
様々な実施形態では、電圧調節器を迂回してマイクロプロセッサを無効にする際のサービスプロセッサ３１５により実行処理される正確な手順は、変更されうるが、同じタスクを達成できる。例えば、いくつかの実施形態では、サービスプロセッサは、最初に欠陥があるＶＲＭを無効にし、マイクロプロセッサを設定して、その後電源層を連結することができる。さらに他の実施形態では、サービスプロセッサは、最初にマイクロプロセッサをリセット状態に設定して、次に欠陥があるＶＲＭを無効にして、最後に電圧スイッチを閉じることができる。様々な出力制御ラインを制御する正確な順序は重要ではなく、コンピュータシステム３００の構成要素に応じて変わりうる。
【００３８】
ここで図４を参照すると、マルチプロセッサ・コンピュータシステム４００が示されている。図４に示されているように、コンピュータシステム４００は、異なる個数の電圧調節器から電源を供給された、異なる個数のプロセッサを有することができる。さらに具体的に述べると、コンピュータシステム４００は、第１のＶＲＭ４３０により電源を供給された２つのマイクロプロセッサ、マイクロプロセッサ４３５およびマイクロプロセッサ４４０を有することができる。同様に、第２のＶＲＭ４５５は、マイクロプロセッサ４８５およびマイクロプロセッサ４９０に電源を供給することができる。図４のコンピュータシステム４００が、図１のコンピュータシステム１００、図３のコンピュータシステム３００、および図２の装置２００と、どのように異なっているかに注意する。前者のシステムおよび装置は、２つのマイクロプロセッサおよび２つの電圧調節器モジュールだけを有したが、コンピュータシステム４００は、４つのマイクロプロセッサ、マイクロプロセッサ４３５、４４０、４８５、および４９０に電源を供給する２つのＶＲＭ、４３０および４５５を使用する。上述したように、異なる実施形態では、用途からの要求、プロセッサの電力需要、および調節器の出力定格などに応じて、異なる個数の電圧調節器およびマイクロプロセッサを含むことができる。
【００３９】
コンピュータシステム４００では、正常動作時に、ＶＲＭ４３０は、マイクロプロセッサ４３５およびマイクロプロセッサ４４０に電源を提供できる。同様に、ＶＲＭ４５５は、マイクロプロセッサ４８５および４９０に正常動作電源を提供できる。サービスプロセッサ４１０は、状態ライン４２０でＶＲＭ４３０の状態をモニタでき、状態ライン４６５でＶＲＭ４５５の状態をモニタできる。説明のために、仮にＶＲＭ４５５で電圧エラーが発生するとした場合、サービスプロセッサ４１０は、状態ライン４６５によりエラーを検出できるとともに、制御出力４７０および４８０それぞれを出力することで、マイクロプロセッサ４８５およびマイクロプロセッサ４９０を無効にすることにより呼応することができる。その後、サービスプロセッサ４１０は、制御出力４６０の状態を変更することにより、ＶＲＭ４５５を無効にすることができ、リレー４４５を励磁することにより、マイクロプロセッサ４８５および４９０に電源を結合することができる。リレー４４５を励磁することにより、リレー接点４５０を閉じることができて、マイクロプロセッサ４８５および４９０にＶＲＭ４３０からの電圧および電源を結合することができる。
【００４０】
他の実施形態では、サービスプロセッサ４１０は、電圧調節器と関連するすべてのマイクロプロセッサを無効にするか、または迂回する必要がないかもしれない。例えば、ＶＲＭ４３０が故障すると想定しよう。サービスプロセッサ４１０は、制御出力４２５を作動状態にして、かつリレー４４５を励磁してリレー接点４５０を閉じることで、ＶＲＭ４３０を無効にすることにより呼応できる。さらに、ＶＲＭ４５５が、３つのマイクロプロセッサに電源を供給するのに十分大きい出力定格を有するが、４つのマイクロプロセッサに電源を供給するには十分ではないと想定しよう。サービスプロセッサ４１０は、マイクロプロセッサ４３５およびマイクロプロセッサ４４０の両方を無効にする必要はないかもしれない。代わりに、サービスプロセッサ４１０は、コンピュータシステム４００で動作するプロセッサの個数を最大にすることを試みることができ、制御出力４０５を用いてマイクロプロセッサ４４０を無効にするか、または制御出力４１５を用いてマイクロプロセッサ４３５を無効にすることができるのみである。
【００４１】
ここで、より柔軟でかつ詳細な構成を検討するために、サービスプロセッサが、数個のプロセッサに対する数個の電圧調節器からの電圧をどのように制御しうるかについての他の技術を示す図５を参照する。コンピュータシステム５００は、正常時には、４つの電圧調節器モジュール、５５０、５５６、５６０、および５６４のそれぞれから電源を供給されている４つのプロセッサ、プロセッサ５８６、５８８、５９０、および５９２を有する。正常動作時に、サービスプロセッサ５０２は、スイッチ５６６、５７０、５７２、および５７４のそれぞれを閉じるために、制御出力５０８、５１４、５２８、および５３２を作動状態にすることができ、ＶＲＭからの電圧を個々のプロセッサに結合する。サービスプロセッサ５０２は、ＶＲＭ状態ライン５０４、５１８、５２４、および５３６のそれぞれを介して、ＶＲＭ５５０、５５６、５６０、および５６４をモニタできる。
【００４２】
図５に示されたコンピュータシステム５００の構成は、１つ以上のＶＲＭが故障した場合、切り替え操作のさらなる柔軟性を提供できる。例えば、ＶＲＭ５５０およびＶＲＭ５６０の両方が故障すると仮定しよう。サービスプロセッサ５０２は、状態ライン５０４および５２４を介してこれらの故障を検出できるとともに、制御出力ライン５０６および５２６を作動状態にしてＶＲＭを無効にすることにより、かつ制御出力５０８および５２８を変更してスイッチ５６６および５７２を開いて、マイクロプロセッサ５８６、マイクロプロセッサ５９０、およびすべてのＶＲＭの出力における相互接続配線から、ＶＲＭの出力を分離することにより呼応できる。サービスプロセッサ５０２は、引き続いて制御出力５１０を作動状態にすることによりプロセッサ５８６を無効にすることができ、かつ制御出力５３０を作動状態にすることによりプロセッサ５９０を無効にすることができる。次に、サービスプロセッサ５０２は、制御出力５５２を作動状態にしてスイッチ５６８を閉じることにより、ＶＲＭ５５６からマイクロプロセッサ５８６に電源を供給できる。同様に、サービスプロセッサ５０２は、制御出力５６２を作動状態にしてスイッチ５８４を閉じることにより、ＶＲＭ５６４からマイクロプロセッサ５９０に電源を供給できる。あるいは、サービスプロセッサ５０２は、制御出力５２０を作動状態にしてスイッチ５８０を閉じることにより、ＶＲＭ５５６からマイクロプロセッサ５９０に電源を供給できるとともに、制御出力５１２を作動状態にしてスイッチ５７８を閉じることにより、ＶＲＭ５６４からマイクロプロセッサ５８６に電源を供給できる。
【００４３】
他の実施形態では、図５のコンピュータシステム５００で採用されたスイッチング回路は、コンピュータシステム５００が既に経験したかもしれない任意の先行する故障に応じて、いくつかの他の実施形態よりもさらに柔軟性および冗長性を提供できる。例えば、マイクロプロセッサ５８８が、以前に内部故障を経験したと仮定しよう。サービスプロセッサ５０２は、既にこの故障を検出して、制御出力５５８を作動状態にすることによりプロセッサ５８８を無効にしたかもしれない。しかしながら、また、サービスプロセッサ５０２は、状態ライン５１８から、ＶＲＭ５５６がまだ良好な電圧状態を有することを検出したかもしれない。その結果、制御出力５１４はまだ作動状態であり、かつスイッチ５７０はまだ閉じられているかもしれない。しかしながら、コンピュータシステム５００がＶＲＭ５６４の故障を経験して、この故障を、サービスプロセッサ５０２が状態入力５３６を介して検出すると想定しよう。サービスプロセッサ５０２は、制御出力５４０を作動状態にすることによりマイクロプロセッサ５９２を無効にすることができ、制御出力５３４を作動状態にして、かつ制御出力５３２を作動状態にしてスイッチ５７４を開けることでＶＲＭ５６４を分離することにより、ＶＲＭ５６４を無効にすることができる。
【００４４】
その後、サービスプロセッサ５０２は、制御出力５１２を作動状態にしてスイッチ５７８を閉じることで、ＶＲＭ５５０からマイクロプロセッサ５９２に単に電源を供給することにより続行でき、あるいはまた、制御出力５６２を作動状態にしてスイッチ５８４を閉じることにより、ＶＲＭ５６０から電源を供給することにより続行できる。しかしながら、サービスプロセッサ５０２は、マイクロプロセッサ５８８が既に無効にされたことを認識するように構成されることが可能であり、そのことは、無効にされたマイクロプロセッサ５８８に対する電源ドレインが十分低いことが可能であるため、ＶＲＭ５５６が他のマイクロプロセッサに電源を供給するために利用可能でありうることを意味しうる。その場合、サービスプロセッサ５０２は、制御出力５２２を作動状態にしてスイッチ５８２を閉じることができ、それによって、ＶＲＭ５５６からの電源をマイクロプロセッサ５９２に結合することができる。その後、サービスプロセッサ５０２は、制御出力５４０からの無効コマンドを非作動状態にすることにより、マイクロプロセッサ５９２を使用状態に戻すことができる。
【００４５】
各ＶＲＭの出力が、他のＶＲＭの他の出力のいずれとも結合されうることは強調する価値のある事実である。ＶＲＭ５５０は、制御出力５５２を作動状態にし、かつスイッチ５６８を閉じることによりマイクロプロセッサ５８８と、制御出力５５４を作動状態にし、かつスイッチ５７６を閉じることによりマイクロプロセッサ５９０と、制御出力５１２を作動状態にし、かつスイッチ５７８を閉じることによりマイクロプロセッサ５９２と、それぞれ結合されうる。同様に、制御出力５５２、５５４、５１２、５２０、５２２、および５６２を作動状態にしてスイッチ５６８、５７６、５７８、５８０、５８２、および５８４のそれぞれを閉じることにより、ＶＲＭ５５６、ＶＲＭ５６０、およびＶＲＭ５６４は、各マイクロプロセッサに個別に結合されうる。
【００４６】
図６は、８つのマイクロプロセッサを有し、かつマイクロプロセッサ間の電圧を切り替える２つのサービスプロセッサを使用する、より大きなコンピュータシステム６００でありうるものを示す。コンピュータシステム６００は、二元的サービスプロセッサの利用により、先に議論された単一のサービスプロセッサまたは電圧制御ユニットを有する実施形態と異なっていることに気づくであろう。この対比を行うことにより、異なる実施形態が、異なる個数の電圧調整モジュール、および異なる個数のマイクロプロセッサで構成された異なる個数のサービスプロセッサをどのように有することができるかを示すのに役立つ。
【００４７】
さらに具体的に述べると、コンピュータシステム６００は、対応するコア電圧、６７０、６７２、６７８、および６８０を有する４つのＶＲＭ、６１０、６１２、６１４、および６１６をモニタする第１のサービスプロセッサ６０２を有する。また、サービスプロセッサ６０２は、スイッチングトランジスタ６３０、６３２、６３４、６３６、６３８、６４０、および６４２で、４つのマイクロプロセッサ６６８、６７４、６７６、および６８２に供給された電圧を制御する。鏡に映したように、第２のサービスプロセッサ６０４は、対応するコア電圧６８６、６８８、６９４、および６９６を有する４つのＶＲＭ６１８、６２０、６２２、および６２４をモニタできる。また、サービスプロセッサ６０４は、スイッチングトランジスタ６４４、６４５、６４６、６４８、６５０、６５２、および６５４で、４つのマイクロプロセッサ６８４、６９０、６９２、および６９８に供給された電圧を制御することができる。
【００４８】
１つのサービスプロセッサの代わりに２つのサービスプロセッサを用いてコンピュータシステム６００を実現することにより、より単純なサービスプロセッサ設計のような多数の好ましい便益を有することができる。あるいは、このような方法でプロセッサおよび電圧調節器を分割することが、ハードウェア要件から必要とされるかもしれない。例えば、コンピュータシステム６００は、サーバネットワークの中のコンピュータシステムを含むことができる。様々なサーバプロセッサの中で複数のプロセッサを分割することが、スペーシングおよび熱負荷要件からサーバシステムで必要とされるかもしれない。すなわち、サービスプロセッサ６０２、ならびにすべての関連するＶＲＭおよびマイクロプロセッサは、１つのプリント基板上にあるとともに、ラックマウント式コンピュータシステムハードウェアに装入できる。用途またはハードウェア格納装置寸法により決定された最大許容回路寸法は、サービスプロセッサ６０４、ならびにすべての関連するＶＲＭおよびマイクロプロセッサが、別々のプリント基板上にあることを要求するかもしれない。
【００４９】
前述の例と同様に、サービスプロセッサ６０２および６０４は、それらと結合された様々なＶＲＭ、トランジスタ、およびマイクロプロセッサをモニタしてかつ制御できる。例えば、正常動作時に、サービスプロセッサ６０４は、ＶＲＭ６１８、６２０、６２２、および６２４からの出力電圧を各コア電圧６８６、６８８、６９４、および６９６に結合できる。サービスプロセッサ６０４は、Ｐ型電界効果トランジスタ（Ｐ−ｆｅｔ）６４４、６４６、６５０、および６５４のゲートを地電位に付勢してそれらのトランジスタをオンにすることにより、電圧を結合できるとともに、Ｐ−ｆｅｔ６４５、６４８、および６５２のゲートをＶｄｄなどの正電圧供給に結合してそれらのトランジスタをオフにし、異なるＶＲＭの出力を接続するクロスカップリングラインを分離することができる。
【００５０】
ＶＲＭのうちの１つに故障を検知すると、サービスプロセッサ６０４は、故障したＶＲＭにより影響を受けたプロセッサに、他の機能しているＶＲＭからの電圧を結合するために、１つまたはいくつかのトランジスタの状態を切り替えることができ、それにより、影響を受けたプロセッサは、前述した技術と同様に、リセット状態に保持され、迂回され、または使用状態に戻されうる。例えば、ＶＲＭ６２２が故障して、コア電圧６９４およびマイクロプロセッサ６９２に対する電源層に影響すると想定しよう。サービスプロセッサ６０４は、マイクロプロセッサおよび他のＶＲＭ出力から、ＶＲＭ６２２の電圧出力を分離するために、Ｐ−ｆｅｔ６５０のゲートをＶｄｄに付勢することにより呼応できる。その後、サービスプロセッサ６０４は、コア電圧６９４およびマイクロプロセッサ６９２に供給するために他のＶＲＭのうちの１つからの出力を結合できる。可能な結合状況のひとつは、Ｐ−ｆｅｔ６４８のゲートをアースに付勢することにより、ＶＲＭ６２０の出力をコア電圧６９４およびマイクロプロセッサ６９２と結合することを含みうる。一目瞭然であるが、ＶＲＭ６２４の電圧出力もまた、Ｐ−ｆｅｔ６５２を切り替えることにより、コア電圧６９４およびマイクロプロセッサ６９２と結合されうる。
【００５１】
サービスプロセッサ６０２は、サービスプロセッサ６０４に対して説明されたのと同様の方法で作動しうる。また、他の実施形態では、サービスプロセッサは、Ｐ−ｆｅｔ以外の装置を用いてＶＲＭの電圧出力を結合できる。例えば、いくつかの実施形態では、Ｎ型ｆｅｔのみ、またはＰ−ｆｅｔおよびＮ−ｆｅｔの組み合わせを利用できる。また、さらなる実施形態では、他の回路装置が、ｆｅｔ、スイッチ、または接点と共に作動しうる。例えば、図６に示されたコンピュータシステム６００用のスイッチングＰ−ｆｅｔは、デバウンシング、より滑らかな切り替え操作、および誘導性キックバック（inductive kick-back）の低減のような便益を提供するために、トランジスタと結合された容量素子および抵抗素子を有することができる。また、前述の実施形態に対する説明の中では具体的に言及されていないが、様々な実施形態構成要素にスイッチング回路網のような他の回路装置を付加することも、同様に適用可能である。
【００５２】
さらに、様々な実施形態に対するサービスプロセッサおよび電圧制御ユニットは、論理ゲートの比較的小規模の、かつ簡単な配置のように、比較的簡単なものでありうる。しかしながら、他の実施形態では、サービスプロセッサおよび電圧制御ユニットは、内部クロック発振器、メモリ、コード化された処理命令、および無効および電圧切り替えのプロセッサ機能を実行するソフトウェアプログラムを有する比較的複雑なプロセッサを含むことができる。
【００５３】
ここで、プロセッサ電圧調節器がエラーを経験するときの、マルチプロセッサコンピュータを作動する方法を示す図７および図８を参照する。図７は、マルチプロセッサを有するシステムを作動することから始まる（要素７０５）。異なる実施形態は、共用メモリコンピュータアーキテクチャ、分散メモリアーキテクチャ、および両者の組み合わせまたは派生のような異なるコンピュータアーキテクチャで配置されたマルチプロセッサを有することができる。すべてのプロセッサは、単一のバスで共に結合されることができ、または、プロセッサのクラスタが、より小さくかつ個別的なプロセッサグループバスを介して、共に結合されうる。
【００５４】
図７の方法は、電圧エラー状態に対してマルチプロセッサ・コンピュータシステムをモニタすることにより継続できる（要素７１０）。モニタされたエラー状態は、異なる実施形態に対しては変化しうる。例えば、いくつかの実施形態では、エラー状態は、マイクロプロセッサが必要とするＶＲＭのうちの１つ以上の欠如でありうる。他の実施形態では、エラー状態は、良好なコア電圧の不足でありうる。エラー状態が検出されない間は、この方法により要求される動作は何も無いが、ただ、エラー状態に対するモニタを継続することを含みうる（要素７１５および７１０）。しかしながら、エラー状態が検出されると、図７の方法に基づくシステムは、電圧エラー状態を分離し、または無効にすることにより続行できる（要素７１５および７２０）。例えば、図７の方法に基づいて機能するコンピュータシステムは、分離でき、または欠陥がある電圧調節器の入力に対して電圧が供給されることを禁止できる。あるいは、実施形態は、調節器出力と調節器負荷の間に連結されたスイッチを開けることにより、不良の電圧調節器を分離できる。
【００５５】
図７に基づく実施形態は、電圧エラー状態により影響を受けたプロセッサをリセットし（要素７２５）、他の電源からの電圧を影響を受けたプロセッサに供給するために、スイッチを作動させること（要素７３０）により続行できる。いくつかの実施形態では、他の電源は、システムの他の電圧調節器でありうる。しかしながら、他の実施形態では、他の電圧源は、フィルタリングされておらず、かつ安定化されていない電圧源でありうる。
【００５６】
影響を受けたプロセッサがリセットされると（要素７２５）、プロセッサは、リセット状態で保持されて（要素７３５）、影響を受けたプロセッサと関連する入出力を、アドレスバスからトライステートすることができ（要素７４５）、コンピュータシステムの中の他のプロセッサが、無効にされたまたは迂回されたプロセッサにより妨げられずに、作動することを可能とする（要素７５０）。様々な実施形態では、影響を受けたプロセッサは、システムの他のバスから分離されうる。例えば、プロセッサは、データバス、制御バス、または３つのすべての種類のバスの組み合わせから分離されうる。
【００５７】
本発明の他の実施形態は、サービスプロセッサ用のプロセッサ、コア電圧プロセッサ、または、例えば、図５に示されるようなコンピュータシステム５００に基づく様々な電圧源により電源を供給されるシステムプロセッサでさえ、それらのような回路部品デバイス用のプログラム製品として実現される。プログラム製品のプログラムは、実施形態の機能（本明細書で説明された方法を含む）を定義するとともに、様々なデータ保持媒体または信号保持媒体もしくはその両方に格納されうる。例としてのデータ保持媒体または信号保持媒体もしくはその両方は、（ｉ）非書き込み可能記憶媒体上に永久保存された情報（例えば、コンピュータシステムの中の読み取り専用メモリ装置）、および（ｉｉ）書き込み可能記憶媒体上に保存された可変情報（例えば、磁気媒体）を含むが、これらに限定されない。このようなデータ保持媒体または信号保持媒体もしくはその両方は、本発明の機能を指示するマイクロプロセッサ読み込み可能命令を提供するとき、本発明の実施形態を表す。
【００５８】
一般に、本発明の実施形態を実現するために実行処理されるルーチンは、オペレーティングシステムの一部分、または特定の構成要素、プログラム、モジュール、オブジェクト、または回路基板装置のメモリの中に収納された一連の命令でありうる。本発明のマイクロプロセッサプログラムは、マイクロプロセッサで、機械可読フォーマットに、つまり実行可能命令に変換されるであろう多数の命令からなりうる。また、プログラムは、プログラムに対してローカルに常駐するか、もしくはメモリまたは他の記憶装置の中に見つけられる変数およびデータ構造からなりうる。さらに、以下に説明された様々なプログラムは、それらの様々なプログラムが本発明の特定の実施形態で実行される、その用途に基づいて特定されうる。しかしながら、前述のいかなる特定のプログラム専門用語も、単に便宜のために使用されているに過ぎず、したがって、本発明は、このような専門用語で特定され、示されるいかなる特定用途においても、その特定用途にのみ使用を限定されるものではないことが理解されるべきである。
【００５９】
コンピュータ計算およびマルチプロセッサ・コンピュータシステム設計の当業者は、マルチプロセッサ・コンピュータシステムのプロセッサに電源を供給する様々な実施形態が、マルチプロセッサ・コンピュータシステムの分野に提供する柔軟性および機会について容易に理解するであろう。これらの例は、可能な事例のうちのほんのいくつかに過ぎず、マルチプロセッサシステムのプロセッサに電源を供給する方法、または実質的に同じものを達成する機械および媒体は、マルチプロセッサ・コンピュータシステム設計の分野を提供する。
【００６０】
本発明が、構成要素が故障した場合にマルチプロセッサ・コンピュータシステムのプロセッサに電源を提供、かつ迂回する方法、装置、および媒体を想定することは、本開示の便益を有する当業者にとって明らかであろう。詳細な説明および図面で示されかつ説明された本発明の形態は、あくまで例として解釈されるべきであると理解される。クレームは、開示された実施形態例のすべての変形を含むように幅広く解釈されるべきである。
【００６１】
本発明およびそのいくつかの利点が、いくつかの実施形態に対して詳述されたが、クレームで明示された本発明の要旨および範囲を逸脱することなく、様々な変更、置換、および改変が本明細書においてなされうることが理解されるべきである。また、実施形態は、複数の目的を実現できるが、クレームの範囲内のあらゆる実施形態が、すべての目的を実現するわけではない。さらに、本願の範囲は、プロセス、機械、製品、合成物、手段、方法、および本明細書で説明されたステップの特定の実施形態に限定されるものではない。本明細書で説明された対応する実施形態と、実質的に同一機能を実行するか、または実質的に同一結果を実現する、既存の、または後に開発されるであろうプロセス、機械、製品、合成物、手段、方法、またはステップが、本発明に従って利用されうることを、当業者は、本発明の開示から容易に理解するであろう。したがって、クレームは、その範囲の中に、このようなプロセス、機械、製品、合成物、手段、方法、またはステップを含むものである。
【図面の簡単な説明】
【００６２】
【図１】２つのプロセッサ、２つの電圧調節器モジュール、および２つの調節器モジュールの間を切り替える装置を有するマルチプロセッサ・コンピュータシステムを示す図である。
【図２】２つのプロセッサに対するコア電圧を制御する装置を示す図である。
【図３】２プロセッサのコンピュータシステムの２つの電圧調節器モジュールからの電圧を制御するサービスプロセッサを有するシステム図をである。
【図４】プロセッサに対する電圧を制御するサービスプロセッサを備えた、４つのプロセッサおよび２つの電圧調節器モジュールを有するマルチプロセッサ・コンピュータシステムを示す図である。
【図５】サービスプロセッサが、４つのプロセッサに対する４つの電圧調節器からの電圧をどのように制御しうるかを示す図である。
【図６】８つのマイクロプロセッサ、８つの電圧調節器モジュール、およびマイクロプロセッサ間の電圧を切り替える２つのサービスプロセッサを有するコンピュータシステムを示す図である。
【図７】プロセッサ電圧調節器のうちの１つがエラーを生じた場合のマルチプロセッサコンピュータを作動する方法を示す図である。
【図８】プロセッサ電圧調節器のうちの１つがエラーを生じた場合のマルチプロセッサコンピュータを作動する方法を示す図である。
【図１】
2008090760.tif 000003
【図２】
2008090760.tif 000004
【図３】
2008090760.tif 000005
【図４】
2008090760.tif 000006
【図５】
2008090760.tif 000007
【図６】
2008090760.tif 000008
【図７】
2008090760.tif 000009
【図８】
2008090760.tif 000010