(57)【要約】【課題】  コンピュータシステムの電子システムの選択されたコンポーネントおよびサブシステムのマージン試験のためのシステムを提供する。【解決手段】  このシステムは、当該被試験電子システムの内部のベースボード管理コントローラ（ＢＭＣ）と、例えばＩ２Ｃベースのバスを介して、これと通信するデジタルパラメータ調整器とを含む。デジタルパラメータ調整器は、被試験電子システムの１つまたは複数のコンポーネントと通信して、例えばクロック周波数・電圧などの動作パラメータを、当該コンポーネントに加える。さらに、加えられた動作パラメータの変化に対するこれらのコンポーネントの応答を引き出すために、パラメータ調整器は、コントローラからのコマンド信号に応答して、加えられた動作パラメータを１つまたは複数の試験値に設定する。【選択図】  図１Ａ
2005018761.tif 000002
【特許請求の範囲】
【請求項１】
電子システム（１０）において、該電子システムの１つまたは複数のコンポーネントをマージン試験するためのシステムであって、
前記電子システムの内部のコントローラ（１４）と、
前記コントローラ（１４）および前記コンポーネントのうちの選択されたものと通信するデジタルパラメータ調整器（２２）であって、前記コントローラからのコマンドに応じて、前記コンポーネントの少なくとも１つに関連した少なくとも１つの動作パラメータを、１つまたは複数の試験値に設定するデジタルパラメータ調整器（２２）と
を備えるマージン試験システム。
【請求項２】
前記コントローラ（１４）および前記コンポーネントと通信して、前記試験値に応じた情報を前記コンポーネントから受け取り、該受け取った情報を前記コントローラに送出するハードウェアモニタ（２０）
をさらに備える請求項１に記載のマージン試験システム。
【請求項３】
前記電子システムは、
前記動作パラメータの前記試験値に対する前記電子システムの応答に関するデータを収集するための診断ソフトウェア
を備える請求項１に記載のマージン試験システム。
【請求項４】
前記コントローラ（１４）は、前記診断ソフトウェアを実行する
請求項１に記載のマージン試験システム。
【請求項５】
前記コントローラ（１４）は、ソフトウェアコマンド信号を前記パラメータ調整器に送出して、前記動作パラメータを変化させる
請求項１に記載のマージン試験システム。
【請求項６】
前記パラメータ調整器（２２）は、デジタルプログラマブル周波数合成器（３６）である
請求項１に記載のマージン試験システム。
【請求項７】
内部コントローラ（１４）と、１つまたは複数のマージナブルコンポーネント（２８）へクロック周波数を加え、該コントローラと通信して該コントローラからコマンドを受け取る周波数制御モジュール（３６）とを有するコンピュータシステム（１０）の該マージナブルコンポーネントの周波数マージン試験のための方法であって、
複数の周波数試験値のそれぞれについて、前記周波数制御モジュールにコマンドを送出して、前記周波数制御モジュールの出力周波数を試験値に設定することを、前記コントローラ（１４）に行わせることと
前記周波数試験値のそれぞれに対する前記コンピュータシステムの応答を監視することと
を含む周波数マージン試験のための方法。
【請求項８】
前記周波数制御モジュール（３６）に１つまたは複数のコマンドを送出して１つまたは複数の試験周波数を設定することを前記コントローラに行わせるために、スクリプトエンティティを利用することであって、前記コントローラ（１４）に１つまたは複数のコマンドを発行するスクリプトエンティティを利用すること
をさらに含む請求項７に記載の周波数マージン試験のための方法。
【請求項９】
前記スクリプトエンティティは、一度に１つのコマンドを前記コントローラに発行する
請求項８に記載の周波数マージン試験のための方法。
【請求項１０】
Ｉ２Ｃベースのバス（１８）を利用することであって、前記コントローラから前記周波数制御モジュールへコマンドを送出するＩ２Ｃベースのバス（１８）を利用すること
をさらに含む請求項７に記載の周波数マージン試験のための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、コンピュータシステムなどの電子システム内のさまざまなモジュールの監視および試験を行うシステムならびに方法に関する。
詳細には、本発明は、コンピュータシステムのプログラマブル統合マージン試験を可能にする方法およびシステムを提供する。
【０００２】
［関連出願］
本出願は、以下の同一出願人による米国特許出願に関係している。
すなわち、発明者Benjamin T. Percer、Naysen J. Robertson、およびAkbar Monfaredによる「USE OF I2C-BASED POTENTIOMETERS TO ENABLE VOLTAGE RAIL VARIATION UNDER BMC CONTROL」という発明の名称の米国特許出願第１０／６０６，４６３号、発明者Benjamin T. PercerおよびNaysen J. Robertsonによる「METHODS AND SYSTEMS FOR MASKING FAULTS IN A MARGIN TESTING ENVIRONMENT」という発明の名称の米国特許出願第１０／６０６，７１５号、ならびに発明者Naysen J. Robertson、Benjamin T. Percer、およびKirk Yatesによる「USE OF I2C PROGRAMMABLE CLOCK GENERATOR TO ENABLE FREQUENCY VARIATION UNDER BMC CONTROL」という発明の名称の米国特許出願第１０／６０６，７１３号に関係している。
【背景技術】
【０００３】
電子システムは、多くの場合、指定された動作状況においてそれらの適切な動作を保証するために、開発期間中、製造期間中、および／または現場での使用中に監視および／または試験を行う必要のある無数のサブシステムおよびコンポーネントを含んでいる。
これらのコンポーネントの多くは、通常、このような指定された動作状況のマージンまたは両極端においてわずかな故障を示す。
したがって、システムの信頼性を保証するために、開発期間中および製造期間中に、周囲温度、クロック周波数、および電源レール電圧などの、システムの選択されたコンポーネントに関連した動作状況の変化に対してシステムを試験することが望ましい。
このようなシステムの試験、特に動作状況の両極端またはマージンにおける試験を、本明細書では、マージン試験と呼ぶこととする。
マージン試験は、特定の設計が、製造プロセスにおける発展した変更に容易に適合できることを保証することもできる。
【０００４】
従来、マージン試験用の回路は、被試験システム（ＳＵＴ）の電源レール電圧と、被試験システムの基本クロックネットワークに分配する交流波関数の入力との外部調整を可能にする複数のアクセスポイントをその被試験システムに設けることにより実施される。
しかしながら、このような従来の手法は、多くの欠点を有する。
例えば、このような手法は、通常、ＳＵＴの物理的な変更を必要とする。
例えば、異なる周波数を選択するためにさまざまなコンポーネントの物理的な切り換えが必要となる。
この変更は、不足の破損および／または信頼できない試験結果をもたらすことがある。
さらに、このような手法は、通常、システムの一部を成す障害トリガ回路を試験中に迂回するための複数の製造「負荷オプション」と、外部試験システムにフィードバックを提供するための追加ポートとを必要とする。
それによって、マージン試験の複雑さおよび費用が増加する。
【０００５】
その上、外部試験システムは、高価となる可能性があり、多くの場合、大きく、貴重なフロア空間を利用する。
さらに、このような外部試験システムは、アナログ／デジタル関数ジェネレータの管理、監視、および制御を行うための制御ソフトウェアを必要とする。
それによって、外部試験システムが発する特定の制御入力にＳＵＴの動作を同期させるプロセスが、さらに複雑なものとなる。
その上、外部試験システムの使用により、マージン試験用のスクリプトの生成および試験がさらに複雑になる可能性がある。
特に、試験スクリプトは、追加制御コマンドを実行して、例えば、ＳＵＴにさまざまな刺激を与える試験システムのジェネレータなどの試験ステーションとインターフェースしなければならない。
【０００６】
このような従来のマージン試験システムの別の不利な点は、このようなシステムを一般に拡張不可能にする高レベルのハードウェアの特異性に関係するものである。
例えば、このような従来のマージン試験システムでは、現在のＳＵＴのマージン試験に利用されるプロセスおよび手順を、そのＳＵＴの将来のバージョンのマージン試験に適したプロセスおよび手順に簡単に拡張することはできない。
【特許文献１】米国特許第６，３５１，８２７号
【特許文献２】米国特許第６，４９６，７９０号
【非特許文献１】XICOR社  X9409 (Quad Digitally Controlled Potentiometers)データシート、２００１年１０月２３日
【非特許文献２】Philips Semiconductor社  PCF8575C (Remote 16-bit I/O expander for I2C-bus)データシート、１９９９年８月５日
【非特許文献３】Integrated Circuit Systems, Inc.社  ICS8431-11 (255MHz, Low Jitter, Crystal Oscillator-to-3.3V LVPECL Frequency Synthesizer)データシート、２００２年８月７日
【非特許文献４】AMI Semiconductor社 FS7140/FS7145 (Programmable Phase-Locked Clock Generator)データシート、２００２年２月２７日
【非特許文献５】National Semiconductor社 LM87 (Serial Interface System Hardware Monitor with Remote Diode Temperature Sensing)データシート、２００１年３月
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、コンピュータシステムのマージン試験を容易に実行する高度化されたシステムおよび方法が必要とされている。
また、被試験システムの物理的な変更を必要としないマージン試験を可能にするようなシステムおよび方法が必要とされている。
【課題を解決するための手段】
【０００８】
一態様では、本発明は、コンピュータシステム（例えばサーバ）などの電子システムの選択されたコンポーネントおよび／またはサブシステムのマージン試験のためのシステムを提供する。
この電子システムは、当該被試験電子システムの内部にある、ベースボード管理コントローラ（ＢＭＣ）などのコントローラと、例えばＩ２Ｃベースのバスを介してこのコントローラと通信するデジタルパラメータ調整器とを含む。
デジタルパラメータ調整器は、被試験電子システムの１つまたは複数のコンポーネントおよび／またはサブシステムと通信して、例えばクロック周波数または電圧といった動作パラメータを当該コンポーネントおよび／またはサブシステムに加えることができる。
さらに、加えられた動作パラメータの変化に対するこれらのコンポーネントまたはシステムの他のコンポーネント／サブシステムの応答を引き出すために、パラメータ調整器は、コントローラからのコマンド信号に応答して、加えられた動作パラメータを１つまたは複数の試験値に設定することができる。
【０００９】
別の態様では、本発明は、試験を必要とするコンピュータシステムに内蔵されたマージン試験システムを提供する。
このマージン試験システムは、コントローラと、周波数制御モジュールと、電圧制御モジュールとを含む。
コントローラからのコマンドに応答して、周波数制御モジュールおよび／または電圧制御モジュールは、システムの１つまたは複数のコンポーネントに加えられるクロック周波数および／または電圧を、１つまたは複数の試験値に設定して、これらの試験値におけるシステム応答を引き出すことができる。
このマージン試験システムは、障害迂回モジュールをさらに含むこともできる。
この障害迂回モジュールは、コントローラと通信して、マージン試験中に、コンピュータシステムの選択された自動障害応答メカニズムを無効にする。
【００１０】
他の態様では、本発明は、コンピュータシステムの１つまたは複数のマージナブルコンポーネントの周波数マージン試験のための方法を提供する。
このコンピュータシステムには、内部コントローラおよび周波数制御モジュールが、本発明の教示に従って内蔵される。
周波数制御モジュールは、コントローラと通信し、マージナブルコンポーネントにクロック周波数を加えるように構成される。
複数の周波数試験値のそれぞれについて、コントローラは、周波数制御モジュールにコマンドを送出して、その出力周波数を試験値に設定する。
次いで、システムの応答が、各試験値において監視される。
【００１１】
別の態様では、本発明は、コンピュータシステムの電圧マージン試験のための方法を提供する。
このコンピュータシステムには、内部コントローラおよび電圧制御モジュールが、本発明の教示に従って内蔵される。
電圧制御モジュールは、コントローラと通信し、コンピュータシステムの１つまたは複数の電力レールに電圧を印加するように構成される。
複数の電圧試験値のそれぞれについて、コントローラは、電圧制御モジュールにコマンドを送出して、電力レールの電圧を１つまたは複数の試験値に設定する。
次いで、コンピュータシステムの応答が、各試験値において監視される。
【００１２】
別の態様では、本発明は、コンピュータシステムの周波数マージン試験のための方法を提供する。
このコンピュータシステムには、内部コントローラおよび周波数制御モジュールが、本発明の教示に従って内蔵される。
周波数制御モジュールは、コントローラと通信し、マージナブルコンポーネントに試験クロック周波数を加えるように構成される。
コントローラは、周波数マージン試験を開始する信号に応答して、一続きのコマンドを周波数制御モジュールに発行するようにプログラムされる。
各コマンドは、周波数制御モジュールの出力周波数を複数の周波数試験値の１つに設定することを、周波数制御モジュールに行わせる。
例えば外部システムからコントローラに信号を送出して、プログラムされた一続きのコマンドをコントローラに実行させることができる。
それによって、システムのマージン試験が開始される。
次いで、コンピュータシステムの応答を各試験周波数において監視することができる。
【００１３】
本発明のさらなる理解は、関連図面と共に以下の詳細な説明を参照することにより得ることができる。
【発明を実施するための最良の形態】
【００１４】
本発明は、包括的には、コンピュータシステム（例えばサーバ）やネットワークスイッチなどの電子デバイスの選択されたコンポーネントおよび／またはサブシステムのマージン試験のための改良されたシステムおよび方法に関する。
後に詳述するように、本発明の教示によるマージン試験システムは、コントローラの制御下で動作する、デジタル周波数合成器やデジタルポテンショメータなどのデジタルパラメータ調整器を含むことができる。
このパラメータ調整器は、コントローラからのコマンドに応答して、コンピュータシステムの選択されたコンポーネントに関連した、例えば周波数や電圧といった、対象となる動作パラメータの値を、複数の試験値にわたって変化させる（「ステップ状に変化させる」）ことができる。
より具体的に言うと、パラメータ調整器の出力と、したがって１つまたは複数の被試験コンポーネントに加えられた動作パラメータの値とを、コントローラからのコマンド信号を介して、選択された範囲にわたって変化させることができ、システムの応答の収集、監視、および／または解析を行うことができる。
【００１５】
本発明のマージン試験システムの以下の実施の形態は、コンピュータシステムについて説明するが、本発明の教示によるマージン試験システムを、ネットワークスイッチなどのマージン試験を必要とする他の電子システムに内蔵することも可能であることが理解されるべきである。
【００１６】
図１Ａは、本発明の教示によるマージン試験システムを内蔵した例示のコンピュータシステム１０を概略的に示している。
このコンピュータシステム１０は、例えば、サーバコンピュータシステムとすることもできるし、マージンテストが必要な他の任意のコンピュータシステムとすることもできる。
このサーバコンピュータシステムは、通信ネットワークを介して他のコンピュータシステムと高性能の通信を提供するように、ハードウェアおよび／またはソフトウェアにより構成されたシステムであると、この技術分野において一般に理解されている。
例示のコンピュータシステム１０は、単一のホストプロセッサ１２を含むが、マルチプロセッサシステムに本発明の教示によるマージン試験システムを内蔵することも可能であることが理解されるべきである。
【００１７】
例示のコンピュータシステム１０は、コントローラ１４を含む。
このコントローラ１４は、後述するように、複数の管理機能を提供することができ、システムインターフェース１６を介してホストプロセッサ１２と通信する。
ホストプロセッサ１２上では、オペレーティングシステム（ＯＳ）および１つまたは複数の管理エージェントが実行される。
システムインターフェース１６は、例えば、ＰＣＩバスといった任意の適切な通信バスとすることができる。
【００１８】
コントローラ１４は、例えば、特定アプリケーション向け集積回路（ＡＳＩＣ）として実施することもできるし、あるいは、いくつかの異なるチップから構成することもできる。
一例として、以下に詳述する本発明のいくつかの実施の形態においては、コントローラ１４を、ベースボード管理コントローラ（ＢＭＣ（Baseboard Management Controller））と一般に呼ばれるインテリジェント処理コントローラとすることができる。
このＢＭＣは、インテリジェントプラットフォーム管理インターフェース（ＩＰＭＩ（Intelligent Platform Management Interface））プロトコルをサポートすることができる。
ＩＰＭＩプロトコルは、ホストプロセッサ上で実行される管理アプリケーションとハードウェアプラットフォームとの間の標準化されたメッセージインターフェースを提供するオープンスタンダードである。
【００１９】
例示のコントローラ１４は、通信バス１８を介して、ハードウェアモニタモジュール２０およびデジタルパラメータ調整器モジュール２２と通信し、それによって、これらのモジュールにコマンド信号を送出することができ、かつ／または、これらのモジュールから情報を受け取ることができる。
通信バス１８は、任意の適切なメーカ独自のバスとすることもできるし、任意の適切なパブリックバスとすることもできる。
例えば、コントローラがＢＭＣである実施の形態においては、バス１８を、プライベートＩ２Ｃ（集積回路間（Inter-Integrated Circuit））バスとすることもできるし、インテリジェントプラットフォーム管理バス（ＩＰＭＢ（Intelligent Platform Management Bus））とすることもできる。
あるいは、バス１８は、ＡＳＡバスまたはＵＳＢバスとすることもできるし、他の任意の適切な通信バスとすることもできる。
【００２０】
さらに、コントローラ１４は、バス２６を介して、外部システム２４と通信することもできる。
この外部システム２４は、デバイス１０のマージン試験を開始するようにコントローラに指令することができる。
外部システム２４は、たとえば、ＲＳ２３２バスなどのバスを介してコントローラと通信できる端末とすることができる。
あるいは、外部システム２４は、ＬＡＮベースのイーサネット（登録商標）接続などのコンピュータネットワーク接続を介してコントローラ１４と通信できるリモートコンピュータとすることができる。
バス２６は、ＬＡＮベースのイーサネット接続などの任意の適切なバスとすることができる。
また、コントローラは、スイッチまたはジャンパの設定に応じて、マージン試験を開始することもできる。
【００２１】
システム１０は、さらに、当該システムの機能を協働して提供する複数の他のサブシステムおよびコンポーネントも含む。
コンピュータデバイスの適切な設計および／または動作を保証するために、これらのサブシステムまたはコンポーネントの多くは、開発期間中、製造期間中、および／または現場において、監視および／または試験を必要とする。
より具体的に言うと、これらのコンポーネントの多くは、さまざまな動作状況下でそれらの信頼性を保証するために、マージン試験を必要とする。
本明細書では、このようなマージン試験が要求されるコンポーネント２８をマージナブル（marginable）コンポーネントと呼ぶこととする。
このマージナブルコンポーネントには、例えば、中央処理装置（ＣＰＵ）、メモリモジュール、内部通信バス、電圧レギュレータ、またはマージン試験を必要とし得る、対象となる他の任意のコンポーネントもしくは複数のコンポーネントからなるサブシステムが含まれ得る。
【００２２】
デジタルパラメータ調整器２２は、マージナブルコンポーネント２８の１つもしくは複数のものの選択された動作パラメータを、直接的に、または、１つもしくは複数の中間モジュール３０を介して、調整することができる。
例えば、直接的に調整することにより、クロック周波数を調整することができる。
１つまたは複数の中間モジュール３０は、これらのコンポーネントに加えるための選択された動作パラメータを生成するものである。
例えば、パラメータ調整器が、デジタルポテンショメータであるいくつかの実施の形態を後に詳述するが、これらの実施の形態においては、この中間モジュールを電圧レギュレータとすることができる。
この電圧レギュレータの出力は、コントローラからのコマンドに基づいてデジタルポテンショメータの抵抗を変化させることにより、調整することができる。
【００２３】
ハードウェアモニタ２０は、これらのコンポーネントを、特定のコンポーネントの性質に関連したセンサ３２を通じてリアルタイムで監視することができる。
この特定のコンポーネントの性質としては、例えば、電圧、温度、動作周波数などがある。
センサ３２は、温度、電圧、駆動周波数などの１つまたは複数の動作パラメータの変化に対するコンポーネント２８の応答を示すデータを生成することができる。
後に詳述するように、ハードウェアモニタ２０は、この応答データを受け取り、解析を行うためにこのデータをコントローラ１４に送出することができる。
この概略図では、センサ３２およびハードウェアモニタ２０を別個のモジュールとして示しているが、当業者には、センサの一部またはすべてをハードウェアモニタに統合できることが理解されよう。
【００２４】
図１Ａを続けて参照して、デジタルパラメータ調整器２２は、マージナブルコンポーネントの１つまたは複数のものに関連した動作パラメータを、選択された値域にわたって、直接的または中間モジュール３０を介してのいずれかで変化させることができる。
より具体的に言うと、コントローラ１４は、コンポーネント２８の１つまたは複数のものに関連する選択された動作パラメータの値を変化させるようにデジタルパラメータ調整器２２に指令するコマンド信号を、当該調整器に送出することができる。
【００２５】
例えば、図１Ｂのフローチャートを参照して、ステップＡにおいて、被試験システムの主電源がオフの状態で、スタンバイ電力が、被試験システムに加えられる。
ステップＢにおいて、「マージンモード設定」コマンドが、例えば外部システムからＢＭＣに送出されて、マージン試験を開始するようにＢＭＣに指令する。
ＢＭＣから確認応答を受け取ると、「マージン値設定」コマンドが、ＢＭＣに送出されて、例えば電圧や周波数といった被試験動作パラメータの値を試験値に設定するようにＢＭＣに指令する（ステップＣ）。
ステップＣは、すべてのマージンパラメータ値がＳＵＴに送出され、それぞれ確認されるまで、繰り返すことができる。
その後、ステップＤにおいて、「マージン開始コマンド」が、ＢＭＣに送出され、システムへの電力供給をＢＭＣに行わせる。
すなわち、システムの主電源が、オンにされる。
ステップＥにおいて、試験の進行が監視され、ログに記録される。
この試験ポイントにおいて試験が完了すると、主電源がオフにされ（ステップＦ）、上記手順は、すべての試験ポイントにおけるデータが収集されるまで、必要に応じて、他の試験ポイントに対して繰り返される。
【００２６】
いくつかの実施の形態においては、マージン構成フェーズの間中、電源をオンに維持することができ、したがって、システム電源をオフにする必要はなくなる（ステップＦ）。
ただし、コンピュータシステムは、この手法を可能にするために、影響を受けるパラメータに対する動的変化に耐えるように設計されるべきである。
確認応答を使用することにより、ＢＭＣとコマンドを発行するマージン試験ステーションとの同期が保証される。
試験ステーションは、応答を必要とする各コマンドの発行後に、ＢＭＣをポーリングして、確認応答を得ることになる。
試験ステーションは、所定の期間内に応答を受け取らない場合には、コマンドを再送出してもよいし、定義された例外シーケンスを処理してもよいし、失敗終了コードを伴ってタイムアウトまたは停止してもよい。
【００２７】
デジタルパラメータ調整器が、被試験コンピュータシステムの内部にあり、かつ、このようなコンピュータシステムの内部コントローラからのコマンド信号に応答することから、このようなデジタルパラメータ調整器を使用することにより、多くの利点が得られる。
例えば、ジャンパや抵抗器バンクを使用するなど、システムを侵襲する物理的な変更を行う必要なく、マージン試験が可能になる。
さらに、外部試験機器および試験用の非常に長いセットアップ時間の必要がなくなる。
加えて、人間の介入なしにソフトウェア制御の下で試験を可能にすることができる。
その上、対象となる動作パラメータの変化の必要な分解能を提供するデジタルパラメータ調整器を容易に選択することができる。
【００２８】
さらに、本発明の教示によるマージン試験システムをコンピュータシステムに内蔵することにより、ポストプロダクションで設計欠陥に対処してこれを解決する非侵襲手法が提供されるという利点がある。
例えば、ＡＳＩＣが、バグのために、正常値よりも数パーセント高いＶＩＯ電圧が必要であると判明した場合、後に詳述する電圧マージン試験システムなどの本発明の電圧マージン試験システムを使用して、このＡＳＩＣに必要な電圧を供給することができる。
さらに、本発明のマージン試験システムに、プログラマブル周波数合成器などのプログラマブル素子を使用すると、以後のプラットフォームの設計が容易になる。
すなわち、同じ周波数合成器を後続の設計に利用することができ、これにより、例えば、フロントサイドバス周波数が増加し、したがって、後続の設計が簡略化され、設計変更に関連したリスクが緩和され、一般に、資材調達の関連コストが削減される。
【００２９】
図２を参照して、コントローラ１４は、オペレーティングシステム１２上で実行されている管理エージェントと相互作用する必要なく、コンピュータシステム１０のマージナブルコンポーネントのマージン試験を開始して達成することができる。
換言すると、コントローラ１４は、帯域外システム監視を提供することができる。
帯域外という用語は、オペレーティングシステム（ＯＳ）の制御および／または介入から独立して動作できるコンピュータシステムの要素をいう。
コントローラ１４は、必要な場合に、これらの管理エージェントと通信して、帯域内システム監視を提供することもできる。
【００３０】
通常、帯域外動作は、コンピュータシステムのマージン試験を行うのに好ましい。
その理由は、システムのＯＳおよびそのエージェントが、マージン試験に関連したストレスの下で、クラッシュおよび他の異常な挙動の影響を受けやすい可能性があるからである。
マージン試験の進行を監視してログに記録することが望ましい。
例えば、ある試験ポイントにおいて不合格が発生すると、その試験ポイントに関する情報および他の関係データのログを記録することが望ましい。
例えばスタンバイ電源といったマージンの対象にされない電圧レールによって電力供給を受けるＢＭＣなどの帯域外エージェントは、システムレベルのマージン設定によって影響を受けることはなく、したがって、マージン試験のこのような監視およびログ記録を行うのに利用することができる。
【００３１】
本発明の教示によるマージン試験システムは、さまざまな異なる方法で実施することができ、例えばサーバといったコンピュータシステムのプログラマブル統合マージン試験を可能にする。
一例として、図２は、コンピュータシステム１０に内蔵された本発明のマージン試験の一実施の形態を概略的に示している。
このコンピュータシステム１０は、コンピュータ１４に加えて、電圧制御ブロック／モジュール（ＶＣＢ（voltage control block））３４、周波数制御ブロック／モジュール（ＦＣＢ（frequency control block））３６、および障害迂回ブロック（ＦＢＢ（Fault bypass block））３８を含む。
コントローラ１４からのコマンドに応答して、電圧マージン試験および周波数マージン試験には、それぞれＶＣＢ３４およびＦＣＢ３６を使用することができ、また、マージン試験中の障害に対応するために、被試験システム（ＳＵＴ）に統合された自動メカニズムを選択的にマスクするには、ＦＢＢ３８を使用することができる。
この例示のマージン試験システムは、周波数制御ブロックおよび電圧制御ブロックの双方を含むが、他の実施の形態は、電圧制御モジュールまたは周波数制御モジュールのみを含んでもよい。
【００３２】
各マージン試験ブロック３４、３６、および３８は、コントローラ１４の制御下でサーバの選択されたコンポーネントのマージン試験を行うのに必要なデバイスおよび関連回路を内蔵している。
以下では、これらのモジュールのそれぞれの例示の実施態様をさらに提供する。
【００３３】
図２を続けて参照して、コントローラ１４は、バス１８を介して、ＶＣＢモジュール、ＦＣＢモジュール、およびＦＢＢモジュールそれぞれと通信し、これらのモジュールにコマンドを送出することができる。
バス１８は、コントローラとこれらのモジュールとの間の通信を提供する任意の適切なバスとすることができる。
例えば、後述する本発明のいくつかの実施の形態では、バス１８は、Ｉ２Ｃプライベートバスである。
さらに、コントローラ１４は、例えばＰＣＩバスといったシステムインターフェース１６を介して、サーバのオペレーティングシステムおよび１つまたは複数の管理エージェントとも通信することができる。
【００３４】
スタンバイ電源４０は、システムの主電源（図示せず）がオフにされている場合に、コントローラ１４に電力を供給して、コントローラが機能できることを保証することができる。
これに加えて、スタンバイ電源４０は、コンピュータシステムのマージン試験に参加するＶＣＢ３４、ＦＣＢ３６、ＦＢＢ３８などの他の要素にも電力を供給することができる。
さらに、コントローラ１４は、バス１８を介して電力制御回路４２にコマンドを送出し、サーバの主電源のオンからオフへの切り換えおよびその逆への切り換えを制御することができる。
【００３５】
外部システム２２は、例えば、ユーザエンティティとすることもできるし、スクリプトエンティティとすることもできる。
この外部システム２２は、コントローラ１４にコマンドを送出して、サーバのマージン試験を開始することができる。
より具体的に言うと、外部システム２２は、ユーザまたは事前にプログラムされた命令セットを介してコントローラ１４にコマンドを送出し、サーバの選択されたコンポーネントのマージン試験をコントローラに開始させることができる。
このようなマージン試験は、通常、主電源をオフにした状態で、かつ、スタンバイ電源がコントローラと、例えばＶＣＢ３４、ＦＣＢ３６、およびＦＢＢ３８といった補助的なマージン試験ブロックとに電力を供給する状態で開始される。
コントローラは、外部システム２２からのコマンドに応答して、ＶＣＢ、ＦＣＢ、および／またはＦＢＢなどの１つまたは複数のマージン試験ブロックにコマンド信号を送出し、サーバのマージナブルコンポーネントの試験を再開する。
通常、コントローラ１４は、後に詳述するように、マージン試験の実行中に、選択された障害をマスクするようにＦＢＢ３８に指令する。
【００３６】
本発明の多くの実施の形態では、マージン試験が開始されると、被試験システムのマージナブルコンポーネントに加えられる電圧または周波数を多くの所定の離散値にわたってステップ状に変化させるようにプログラムできるファームウェアを、コントローラ１４が含んでいる。
あるいは、マージン試験が開始されると、外部システム２２が、一連のコマンドをコントローラに送出することができ、これらのコマンドのそれぞれが、周波数または電圧を所望の試験値に設定するようにコントローラに指令することができる。
電圧または周波数の各値において、システムの応答が監視され、解析される。
【００３７】
図２を続けて参照して、後に詳述するように、コントローラからのコマンドに応答して、マージン試験モジュール３６は、ＣＰＵや同期バスなどの選択されたコンポーネントに加えられるクロック周波数を調整することができ、ＶＣＢモジュール３４は、選択された電力レールの電圧を調整することができる。
例えば、ＦＣＢ３６は、選択された範囲に及ぶ多数の離散値にわたってクロック周波数をステップ状に変化させることができ、ＶＣＢは、選択されたレール電圧を一組の離散値にわたってステップ状に変化させることができる。
クロック周波数の各値すなわちレール電圧において、システムの応答を監視し、かつ記録することができる。
【００３８】
本発明の好ましい実施の形態では、マージン試験を行うことができるコンポーネントおよびサブシステム、すなわちマージンコンポーネントは、例えばコントローラ１４によってデフォルト以外となるように指令を受けるまで、デフォルトで定格状態にある。
例えば、レール電圧は、例えばＶＣＢを介して定格値から外れるようにプログラムされていない限り、デフォルトで定格値をとる。
さらに、これらのデフォルト値は、システム電源が投入されるごとに再設定することができる。
【００３９】
図３を参照して、コントローラ１４からのマージン試験コマンドに応答して、ＶＣＢモジュール３４が使用され、それによって、選択されたレール４４の電圧を調整することができる。
本明細書では、レール４４をマージナブル電圧レールとも呼ぶ。
【００４０】
電圧制御ブロック３４は、さまざまな異なる方法で実施することができる。
後に詳述するが（図１０および図１１を参照）、このような一実態態様では、ＶＣＢ３４は、デジタルポテンショメータを含むことができる。
このデジタルポテンショメータは、電圧レギュレータの抵抗フィードバック回路に内蔵されている。
この電圧レギュレータの出力が、レール電圧に対応する。
デジタルポテンショメータは、コントローラからのコマンドに応答して、レギュレータのフィードバック回路の抵抗を変化させることができ、それによって、レギュレータの出力電圧を変化させることができる。
【００４１】
図２を再び参照して、ＦＣＢ３６モジュールも、さまざまな異なる方法で実施することができる。
例えば、図５を参照して後に詳述する一実施態様では、ＦＣＢ３６は、デジタル周波数合成器を含むことができる。
このデジタル周波数合成器の出力周波数を、選択されたマージナブルシステムコンポーネントに加えることができ、コントローラからのコマンドに応答して変化させることができる。
このように、１つまたは複数のマージン試験周波数を、周波数マージン試験が必要とされるＣＰＵなどのシステムコンポーネントに加えることができる。
【００４２】
図２を続けて参照して、コンピュータシステム１０に統合された自動応答障害メカニズムが、システムのマージン試験に悪影響を与えないことを保証するために、障害迂回ブロック３８は、マージン試験の間、選択された障害をマスクすることができる。
このような自動応答障害メカニズムは、例えばダイオードを介した温度監視といった環境の安全措置を提供することもできるし、電圧上昇／低下「パワーグッド（power-good）」リセット回路、もしくはシステムリセットを引き起こすことができるあらゆるホットスワップ「ヘルシー」出力、または他の類似のメカニズムに関係付けることもできる。
後に詳述するように、ＦＢＢ３８は、デジタル有効／無効信号を使用して、マージン試験の間、選択式障害ラインを無効にすることができ、試験が完了すると、それらのラインを再び有効にすることができる。
ＦＢＢは、上述した他のマージン試験モジュールと同様に、スタンバイ電源から電力を受け取ることができ、主電源がマージン試験の間オフされている場合にも動作することができる。
【００４３】
一例として、図４Ａを参照して、ＦＢＢ３６の一実施態様は、プログラマブルロジックデバイス（ＰＬＤ）４６を含むことができる。
このＰＬＤ４６は、コントローラから信号を受け取って、選択式自動障害応答メカニズムを無効にする。
例えば、コントローラ１４は、「マージンモード」で動作するようにＰＬＤ４６に指令することができる。
この「マージンモード」は、被試験システムで発生し得る選択された障害割り込みをＰＬＤがインターセプトしてマスクできるモードである。
この例では、コンピュータシステムのマージン試験が進行中の間、ＰＬＤは、ハードウェアモニタ２０と通信して、一般にシステムの障害を示す信号を受け取ってインターセプトすることができ、これらの信号を選択的にマスクすることができる。
例えば、後に詳述するように、マージンモードで動作中、ＰＬＤ４６は、電力制御素子４２に適切な信号を供給して、コンピュータシステムの選択された電力レールの電圧マージン試験が進行中の間、電力制御素子４２がコンピュータシステムの電源を切断しないことを保証することができる。
マージン試験が行われていない時、すなわち、ＰＬＤがマージンモードで動作していない時、ＰＬＤは、ハードウェアモニタ２０から障害信号を受け取ると、この信号を電力制御素子４２に渡す。
それによって、妥当な電圧障害が発生した時に、適切な動作が続くことが保証される。
本発明の実施においては、多数の市販のＰＬＤを使用することができる。
例えば、米国カリフォルニア州サンノゼにあるAltera Corporationが商品名ＭＡＸ７０００Ｂで販売しているＰＬＤを使用することができる。
【００４４】
ＦＢＢモジュールの実施態様および機能のさらなる図として、図４Ｂは、ＦＢＢモジュール３８が、コントローラ１４およびハードウェアモニタ２０と通信することを示している。
この例においては、ハードウェアモニタ２０として、米国カリフォルニア州サンタクララのNational Semiconductor companyが商品名ＬＭ８７で販売している集積回路が選択される。
ＬＭ８７チップは、サーバやパーソナルコンピュータなどのさまざまなコンピュータシステムのハードウェア監視用に使用できるデータ収集システムである。
例えば、ＬＭ８７を使用して、電源電圧、マザーボードの温度およびプロセッサの温度、ならびにファン速度を監視することができる。
ＬＭ８７は、Ｉ２Ｃバスと互換性のあるシリアルバスインターフェースを含む。
したがって、コントローラ１４が、ＢＭＣであるか、または、互換機能を有する類似のデバイスである実施の形態では、ＬＭ８７は、Ｉ２Ｃバスを介してコントローラ１４と通信することができる。
【００４５】
図４Ｂを続けて参照して、ＦＢＢ３８は、ＬＭ８７ハードウェアモニタのさまざまな機能に影響を与えることができ、例えば、電圧監視、温度監視、およびファン速度制御に影響を与えることができる。
例えば、電圧マージン試験が行われていない時、すなわち、コンピュータシステムの通常動作中に、システムの電力レールの電圧は、ＬＭ８７によって監視される。
そして、この電圧が、その正常値から例えば５％といった選択された量よりも大きく変化すると、ＩＮＴ＃ＡＬＥＲＴ＃として示されるＬＭ８７の出力ピンは、割り込み信号を発生させることができる。
ＦＢＢモジュール３８がない場合には、この割り込み信号は、通常、電力制御素子４２に供給され、例えばコンピュータシステムの電源を切断するといった適切な動作を電力制御素子４２に取らせる。
【００４６】
一方、この例では、ＦＢＢ３８が、この割り込み信号を受け取る。
コンピュータシステムの電圧マージン試験が進行中でない場合に、ＦＢＢは、電圧障害に応じて適切な動作を取ることができるように、この割り込み信号を電力制御素子４２に送出する。
一方、ＬＭ８７が監視を行う電力レールの電圧マージン試験中においては、このレールの電圧が、閾値よりも大きく変化して、通常は電圧障害を引き起こす値となることがある。
例えば、レールの電圧マージン試験の間、レールの電圧は、通例、５パーセントよりも大きく変化される。
したがって、電圧マージン試験の間、ＦＢＢ３８は、例えばコントローラ１４からのコマンドに応答して、マージンモードで動作し、ＬＭ８７が発生させる割り込み信号を電力制御素子から「マスク」する。
換言すると、ＦＢＢは、ＬＭ８７から受け取った割り込み信号を送出せず、障害が検出されていないことを示す適切な信号レベルを電力制御素子４２に提供する。
このような割り込み信号のマスクにより、電力制御素子は、システムの通常動作中には電圧障害への対応を提供する一方で、電圧マージン試験を妨害しないことが保証される。
【００４７】
図４Ｂを続けて参照して、被試験コンピュータシステムの選択されたコンポーネントの温度マージン試験の間、ＦＢＢモジュール３８は、温度障害信号のマスクを提供することもできる。
コンピュータシステムが通常動作にある間、例えばダイオード４８によって監視されるＣＰＵの温度といった１つまたは複数の監視温度が、選択された閾値を超えると、コンピュータシステムは、重要なシステム警告を生成してログに記録することもできるし、ファンの速度を上昇させることもできるし、システムの電源切断を開始することさえできる。
温度マージン試験の間は、通常、このような閾値を越えることが発生する。
したがって、温度マージン試験の間、ＦＢＢ３８は、温度障害信号をマスクして、マージン試験が妨害なく進行することを保証することができる。
例えば、ＦＢＢは、システムのマージン試験の間、ＬＭ８７のＴＨＥＲＭ＃として示される出力ピンで発生した温度割り込み信号をインターセプトすることができ、そして、この信号をマスクすることができる。
例えば、ＦＢＢは、インターセプトしたＴＨＥＲＭ＃信号を電力制御素子４２に送出せず、温度障害が発生していないことを示す別の信号を電力制御素子４２に送出することもできるし、割り込み駆動方式の場合には信号を送出しないこともできる。
【００４８】
図４Ｂを続けて参照して、この例示の図では、ＦＢＢ３８を利用して、ファン５０の速度を制御することもできる。
特に、ＦＢＢは、ファンが発生させる出力信号、すなわちファンの「回転計」出力を受け取る。
この出力信号は、ファンの速度を示すものである。
コンピュータシステムの通常動作中、ＦＢＢは、この信号をＬＭ８７ハードウェアモニタに送出する。
温度が、選択された温度閾値を越えた場合にファンの速度を上昇させるように、ＬＭ８７をプログラムすることができる。
例えば、ＬＭ８７は、ファンの速度を上昇させるように、そのＤＡＣＯｕｔ／ＮＴＥＳＴ＿Ｉｎピンが発生させる信号の振幅を変更することができる。
この信号は、制御信号として増幅器５２に加えられ、増幅器５２は、ファンに電力を供給する。
マージン試験の間、ＬＭ８７からファンへの制御信号を無効にして、例えば、ファンの故障状況下、または、温度が選択された閾値を超えている状況下でのコンピュータシステムの信頼性を試験することが望ましい場合がある。
例えば、ＦＢＢは、ファンから受け取った実際の「回転計」信号ではなく、模擬「回転計」信号をＬＭ８７に供給することができ、それによって、システムのマージン試験の間、実際のファンの速度がより低いレベルに低減されている場合であっても、ファンがフルスピードで回転していることを示すことができる。
模擬回転計信号によって、ＬＭ８７が、例えば、上述したような増幅器５２に訂正信号を加えることによりファンの速度を上昇させる動作を取らないようにすることが保証される。
それによって、マージン試験を進行させることが可能になる。
【００４９】
当業者には、本発明のＦＢＢモジュールを利用して、上述した障害以外の障害も、必要に応じてマスクできることが理解されよう。
例えば、周波数マージン試験中においては、選択された閾値と交差する１つまたは複数のマージナブルコンポーネントに加えられるクロック周波数に応じて発生し得るシステム検出障害を、ＦＢＢを使用してマスクすることができる。
【００５０】
別の例として、ＦＢＢは、IntelのＸｅｏｎクラスのプロセッサの標準的な温度応答メカニズム内に介入するように設計することができる。
デュアルクラスまたはマルチクラスのＸｅｏｎプロセッサは、例えばＴＣＣ（温度制御回路）といった温度監視機能を含み、高温の動作状況に応じて、コアのクロックのデューティサイクルを自動的に、かつ／または、外部起動により変調することができる。
この高温の動作状況は、マージン温度試験環境で生じる状況と同様のものとすることができる。
例えばＰＲＯＣＨＯＴ＃、ＴＨＥＲＭＴＲＩＰなど、このような温度に関係したプロセッサ信号に応答するようにＦＢＢをプログラムすることができ、デューティサイクルの変調を無効にしたり起動したりして、所望のプロセッサ応答挙動を得るようにすることができる。
なお、このデューティサイクルの変調は、性能を低下させるものである。
これは、サポートされたすべての動作状況下で処理電力が完全に利用可能であることを必要とするコンピュータ集約型システムを適格とする場合に有益となり得る。
生産においては、ＦＢＢを使用して、所与のプラットフォーム向けに定義された温度ルールに従って構成を行い、動的に応答を行うことが可能になる。
したがって、異なる顧客のインストールモデルに従って指定されたプラットフォーム上で、設計コンポーネントおよび接続方式を利用することが可能になる。
【００５１】
周波数制御ブロックおよび電圧制御ブロックの例示の実施の形態を以下に提供する。
例えば、以下の実施の形態は、本発明の教示によるデジタル周波数合成器をサーバコンピュータシステムに内蔵したものを示している。
このサーバコンピュータシステムは、周波数マージン試験用にインテリジェントプラットフォーム管理インターフェース（ＩＰＭＩ）プロトコルを使用する。
【００５２】
より具体的に言うと、図５は、業界標準のＩＰＭＩを利用して帯域内管理機能および帯域外管理機能を実施するサーバコンピュータシステム５４を概略的に示している。
この例示のサーバ５４は、ＢＭＣコントローラ５６を含む。
このＢＭＣコントローラ５６は、第１に、監視、イベントログ記録、エラー回復などの帯域内および帯域外のハードウェア管理またはソフトウェア管理を制御する。
ＢＭＣ５６は、サーバのホストプロセッサ上で実行されているサーバのオペレーティングシステムおよび管理エージェントアプリケーションとシステムインターフェース１６を介して通信する。
【００５３】
図示したＢＭＣコントローラは、プライベートＩ２Ｃ（集積回路間）バス５８を使用して、サーバの選択されたサブシステムおよびコンポーネントと通信する。
例えば、この例示の実施の形態では、ＢＭＣ５６は、Ｉ２Ｃバス５８を介して、ハードウェアモニタ２０およびシリアル電気的消去可能プログラマブル読み出し専用メモリ（ＳＥＥＰＲＯＭ）６０と通信する。
このＳＥＥＰＲＯＭ６０は、サーバのマザーボードを識別するための情報を含んでいる。
ＢＭＣ５６は、Ｉ２Ｃバス５８を利用して、図面には図示しない他の内部サーバモジュールとも通信できることが理解されるべきである。
【００５４】
ＢＭＣ５６は、さらに、Ｉ２Ｃベースのインテリジェントプラットフォーム管理バス（ＩＰＭＢ）を使用して、図示したＦＲＵ６２やＦＲＵ６４などの１つまたは複数のフィールド交換可能ユニット（ＦＲＵ）と通信し、これらのＦＲＵを管理する。
これらのＦＲＵは、サテライト(satellite)管理コントローラなどのインテリジェントデバイスとすることもできるし、ＳＥＥＰＲＯＭなどの受動デバイスとすることもできる。
【００５５】
図５を続けて参照して、例示のサーバ５４は、例えばプログラマブル周波数合成器といったクロックジェネレータ６６をさらに含む。
このクロックジェネレータ６６は、本発明の教示によるサーバ５４に内蔵されて、ＢＭＣ５６と通信する。
特に、例示のクロックジェネレータ６６は、Ｉ２Ｃインターフェース６６ａを含む。
このＩ２Ｃインターフェース６６ａは、Ｉ２Ｃバスに自身を接続して、ＢＭＣ５６からのメッセージを受け取ることを可能にする。
図示した周波数合成器６６は、例えば内部水晶発振器６６ｂから基準クロック信号を受け取ることができ、この入力基準信号の選択された倍数の出力クロック信号を生成することができる。
この出力クロック信号をマージナブルシステムコンポーネント６８に加えて、そのマージン試験を行うことができる。
【００５６】
より具体的に言うと、ＢＭＣ５６は、周波数合成器６６と通信して、その出力クロック周波数を、選択された範囲内の多数の離散値にわたって変化させることができる。
この出力クロック周波数の変化を利用して、マージナブルシステムコンポーネント６８の周波数マージン試験を行うことができる。
換言すると、ＢＭＣ５６は、マージン制御コマンドをクロックジェネレータに動的に発行して、その出力周波数を変化させることができる。
【００５７】
本発明の実施においては、さまざまなＩ２Ｃ構成可能な集積回路クロックジェネレータを使用して、周波数マージン試験を行うことができる。
このような現代のクロックジェネレータは、低ジッタおよび高速クロック周波数を通常必要とする周波数マージン試験にクロックジェネレータ自体を特に適合させる高い精度および内部フィードバック調節を提供するのに好都合である。
スペクトル拡散機能も、ＥＭＩ（電磁妨害）問題の緩和を手助けするのに利用可能である。
【００５８】
一例として、図６Ａは、本発明の実施での使用に適した汎用プログラマブル周波数合成器の簡略化した回路図を概略的に示している。
クロックジェネレータ７０は、内部水晶発振器７２を含むことができる。
この内部水晶発振器７２は、基準信号として利用可能な選択された周波数の安定した信号を提供することができる。
あるいは、合成器７０は、自身の入力ポート７０ａに接続された外部基準信号を使用することもできる。
例示の周波数合成器７０は、Ｉ２Ｃインターフェース７４をさらに含む。
このＩ２Ｃインターフェース７４は、Ｉ２Ｃバスおよびレジスタ７６との通信を可能にする。
レジスタ７６は、例えばＢＭＣ５６（図５）から受け取った命令を記憶することができる。
【００５９】
基準信号は、水晶発振器７２によって生成されるか、または、外部信号源によって供給され、フェーズロックループ回路７８に供給される。
フェーズロックループ回路７８は、レジスタ７６に記憶された命令に基づいて、基準信号を２の累乗倍（binary multiple）した周波数の出力信号を生成する。
より具体的に言うと、例示のフェーズロックループ回路７８は、位相検出器８０、ローパスフィルタ８２、電圧制御発振器（ＶＣＯ）８４、およびモジュロｎ分周器８６を含む。
分周器８６は、レジスタ７６に接続され、ＶＣＯの出力信号を受け取って、そのＶＣＯ信号の周波数の選択された２進の小数（binary fraction）である周波数の出力信号を生成する。
より具体的に言うと、レジスタ７６に記憶された命令は、２進数の因数を決定する。
分周器の出力信号の周波数は、この因数分だけ、その入力信号の周波数、すなわちＶＣＯの出力信号の周波数と異なる。
位相検出器７８は、分周器の出力信号の位相を基準信号の位相と比較し、あらゆる測定された差に基づいて訂正信号を生成する。
この訂正信号は、次に、ローパスフィルタ８２を介してＶＣＯ８４に加えられ、必要に応じてＶＣＯの出力周波数をシフトさせ、最終的にＶＣＯの出力周波数を、基準周波数の所望の２の累乗倍に固定する。
このように、周波数合成器は、例えばＢＭＣ５６（図５）から受け取った命令によって決定された周波数の出力信号を生成する。
【００６０】
本発明の実施においては、さまざまな市販のプログラマブル周波数合成器を使用することができる。
例えば、本発明の実施での使用に適したクロックジェネレータとして、米国アイダホ州ポカテロのAMI Semiconductorが商品名ＦＳ７１４０／ＦＳ７１４５で販売しているプログラマブルフェーズロックループクロックジェネレータを選択することができる。
【００６１】
図２および図６Ｂを参照して、別の実施の形態では、クロック信号源８８、９０、９２などの複数のクロック信号源を利用することにより、ＦＣＢモジュール３６を実施することができる。
クロック信号源８８、９０、および９２のそれぞれは、選択された周波数のクロック信号を生成する。
一例として、クロック信号源８８は、９５ＭＨｚの周波数の信号を生成できる一方、クロック信号源９０および９２は、それぞれ１００ＭＨｚおよび１０５ＭＨｚの信号を生成できる。
マルチプレクサ９４は、入力信号として各クロック信号源の出力を受け取る。
コントローラ１４からのコマンドに応答して、マルチプレクサ９４は、これらのクロック信号の１つを選択してその出力へ試験周波数として転送し、コンピュータシステムのマージナブルコンポーネントに加えることができる。
この例では、３つのクロック信号源のみを図示しているが、当業者には、任意の個数のクロック信号源を使用して、複数の異なる試験周波数を生成できることが理解されよう。
【００６２】
図７を参照して、本発明のいくつかの実施の形態は、多数の離散的なクロック周波数を生成できる周波数合成器を利用することにより、周波数マージン試験を提供する。
これらのクロック周波数のそれぞれは、例えばＢＭＣといったコントローラから受け取った入力ビットパターンに応じて選択することができる。
例えば、合成器９６がその出力クロック周波数として生成できる２１６個の周波数のうちの１つを選択するために、ＢＭＣ５６は、１６ビット入力を合成器９６に供給することができる。
周波数マージン試験の場合、ＢＭＣ５６は、一続きのビットパターンを周波数合成器に加えることができる。
ここで、各ビットパターンは、その離散的な出力周波数のうちの１つを生成するように合成器に指令するものである。
次いで、後に詳述する方法で、各出力周波数に対して、システムの応答を監視することができる。
【００６３】
図８に概略的に示す別の実施の形態では、合成器９６の出力クロック周波数を所望の値に設定するために、Ｉ２Ｃ  Ｉ／Ｏエキスパンダ９８が使用されて、入力信号のビットパターンを合成器９６に供給する。
より具体的に言うと、ＢＭＣ５６は、Ｉ２Ｃバス５８を介してＩ２Ｃ  Ｉ／Ｏエキスパンダと通信し、エキスパンダ９８の選択された出力ピンの値を、合成器の対象となる出力周波数を選択するのに必要な所望のビットパターンに設定することができる。
本発明の実施においては、多数の市販のＩ２Ｃ  Ｉ／Ｏエキスパンダを使用することができる。
例えば、オランダのアイントホーフェンのPhilips Semiconductorsが商品名ＰＣＦ８５７５Ｃで製造しているＩ２Ｃエキスパンダチップを利用することができる。
【００６４】
本発明の教示による周波数マージン試験システムまたは電圧マージン試験システムは、マージナブルシステムコンポーネントに加えられるクロック周波数または電力レール電圧が、例えばコントローラからのコマンドに応答して、デフォルト以外となるように指令されるまで、デフォルトで定格値となるように実施されることが好ましい。
一例として、図９Ａを参照して、一例示の態様においては、ＢＭＣ５６は、Ｉ２Ｃバス５８を介してＩ２Ｃ  Ｉ／Ｏエキスパンダ９８と通信する。
Ｉ２Ｃ  Ｉ／Ｏエキスパンダ９８の出力は、２つのマルチプレクサ１００および１０２に接続されている。
より具体的に言うと、Ｉ２Ｃ  Ｉ／Ｏエキスパンダ９８の一方の組の出力ピンは、図９Ａでは信号Ａとして概略的に示されているが、マルチプレクサ１００の一方の組の入力値を提供する。
Ｉ２ＣベースのＩ／Ｏエキスパンダ９８の他方の組の出力ピンは、図９Ａでは信号Ｂとして概略的に示されているが、他方のマルチプレクサ１０２の１組の入力値を提供する。
さらに、マルチプレクサ１００は、ＣＰＵからデフォルト入力信号Ｃを受け取る。
デフォルト入力信号Ｃは、ＶＲＭ型電圧レギュレータ１０４のデフォルト電圧選択信号を提供する。
マルチプレクサ１０２は、デフォルト入力信号Ｄを受け取る。
デフォルト入力信号Ｄは、クロック配信チップ１０６のデフォルトクロック周波数を提供する。
クロック配信チップ１０６の出力周波数は、自身に加えられた入力信号のビットパターンによって調整することができる。
【００６５】
ＢＭＣ５６によって各ＭＵＸのＳＥＬ入力に加えられる信号がない場合、各マルチプレクサの出力と、したがってクロック配信チップに加えられる周波数またはＶＲＭ型レギュレータに加えられる電圧選択信号とは、デフォルト入力信号、すなわち信号ＣおよびＤによって決定される。
周波数マージン試験の場合、コントローラは、１つまたは複数のコマンドをＩ２Ｃ  Ｉ／Ｏエキスパンダに送出して、信号Ａおよび／またはＢに対応するその出力ピンの値を設定することができる。
信号ＡおよびＢは、それぞれマルチプレクサ１００および１０２の入力信号を提供する。
さらに、コントローラは、一方または双方のマルチプレクサのＳＥＬピンに信号を加え、そのマルチプレクサに、Ｉ２Ｃ  Ｉ／Ｏエキスパンダから受け取った信号をその出力ピンに転送させる。
したがって、一方または双方のマルチプレクサの出力信号は、デフォルト値から、コントローラが指示した値に変化し、これによって、クロック配信チップ１００が生成する周波数および／またはＶＲＭ型レギュレータに加えられる電圧選択信号の調整が行われる。
このように、コントローラからの逆の命令がない場合には、デフォルトクロック周波数およびデフォルトＶＲＭ電圧が使用され、マージン周波数試験またはマージン電圧試験は、コントローラからのコマンドに応じて容易に達成される。
【００６６】
通常、周波数マージン試験に必要な粒度のレベルは、電圧マージン試験に必要なものほど細かくはない。
しかしながら、正確で粒状の周波数変化を行う能力が、マージン試験計画の完成に必要である場合には、細かな周波数分解能を提供するプログラマブルクロック生成デバイスが利用可能である。
【００６７】
上記の例示のシステムなどの本発明の試験システムを使用すると、コンピュータシステムのさまざまなコンポーネントの周波数マージン試験を行うことができる。
一例として、本発明による周波数マージン試験システムをＩｔａｎｉｕｍプロセッサファミリー（ＩＰＦ）ベースのコンピュータサーバに内蔵して、そのサーバのフロントサイドバス（ＦＳＢ）クロック周波数の周波数マージン試験を提供することができる。
例えば、サーバのＣＰＵが新しい世代のＣＰＵと取り替えられる場合に、このようなＦＳＢの周波数マージン試験が望まれることがある。
【００６８】
ＦＳＢの周波数マージン試験を実行する、一実施の形態における図９Ｂのフローチャートを参照する。
ステップＡにおいて、ＦＳＢの自動周波数マージン試験をＢＭＣに開始させることができる。
例えば、フィールドエンジニアが、コンソールを介してＢＭＣにコマンドを発行して、ＢＭＣにマージン試験を開始させることができる。
マージン試験が開始すると、ＢＭＣは、定格のＦＳＢクロック周波数を中心としたある周波数範囲にわたる異なる周波数をＦＳＢに加えることを周波数合成器に行わせることができる。
例えば、ループ処理を通じて多数のコマンドを周波数合成器に送出するように、ＢＭＣのファームウェアを事前にプログラムすることができる。
これらのコマンドのそれぞれは、合成器の出力周波数を複数の試験値の１つに設定するものである。
例えば、主システム電源をオフにした状態で、ＢＭＣは、Ｉ２Ｃバスを介してデジタル周波数合成器にメッセージを送出し、例えば１８０ＭＨｚの周波数といった選択された周波数をＦＳＢに加えるように合成器に指令することができる。
なお、ＢＭＣは、スタンバイ電源装置によって電力供給を受けることができ、また、ＦＳＢは、定格では２００ＭＨｚの周波数で動作する。
続いて、ステップＢにおいて、ＢＭＣは、サーバへの主電源をオンにする。
サーバは、初期ブートアッププロセスの一部として、システムにその組み込み自己試験（ＢＩＳＴ）を実行させる（ステップＣ）。
【００６９】
ＢＭＣは、この自己試験を監視する。
この試験が不合格になる場合、ＢＭＣは、試験結果と、例えば試験周波数といった試験ポイントに関する情報とを不揮発性メモリに記憶する。
次いで、ＢＭＣは、主システム電源装置をオフにし（ステップＤ）、周波数合成器に別のコマンドを送出して、例えば１９０ＭＨｚの周波数といった別の試験周波数をＦＳＢに加えるように合成器に指令する（ステップＥ）。
自己試験に合格すると、ＢＭＣは、ブートプロセスがオペレーティングシステムのロード段階に進むことを許可し、試験結果のログを記録し、主電源をオフにし、そして、別の試験周波数をＦＳＢに加えるように合成器に指令する。
このように、周波数合成器は、選択された範囲内の多数の異なる試験周波数をＦＳＢに加え、ＢＭＣは、その試験結果を記憶する。
【００７０】
ＢＭＣの制御下で試験が完了すると、試験結果を検討することにより、不合格ポイントがもしあれば、それを特定することができ、そして必要なあらゆるトラブルシューティングを提供して、アップグレードされたサーバが確実に機能することを保証することができる。
さらに、マージン試験の結果をデータベースにアップロードして、信頼性／品質解析を行うこともできる。
【００７１】
あるいは、図９Ｃのフローチャートを参照して、周波数マージン試験を以下のように行うこともできる。
ステップＡにおいて、合成器の出力周波数を所望の試験値に設定するようにＢＭＣに指令することができる。
これは、例えば、ＢＭＣにコマンドを発行する外部スクリプトエンティティによって行うことができる。
次いで、ステップＢにおいて、診断ソフトウェアをサーバ上で実行して、この試験ポイントにおけるサーバの動作の選択された態様に関する情報を取得することができる。
当業者には、このようなソフトウェアが市販されていることが理解されよう。
この情報を解析して、サーバの動作がこの試験ポイントにおいて十分なものであるかどうかを判断することができる。
この情報は必要に応じて記録することもできる。
続いて、合成器の出力周波数を次の試験値に調整するようにＢＭＣに指令することができ（ステップＤ）、そして、すべての試験ポイントにおける情報が収集され解析されるまで上記プロセスを繰り返すことができる。
【００７２】
本発明のいくつかの実施の形態では、被試験システムのマージン試験を行う際にＢＭＣが従うポリシーを含んだ記述子ファイルを設けることができる。
例えば、このような記述子ファイルはマージン試験に関連したパラメータや試験ポイントでの不合格の場合に取られるべきステップに関する命令などを含むことができる。
マージン試験に関連したパラメータとしては、例えばさまざまな試験ポイントの電圧値がある。
ＢＭＣは、特定の試験ポイントにおけるマージン試験の結果に関する情報を収集することができる。
この情報は、例えば試験の不合格または合格である。
この情報の収集は、例えば、バス上を外部端末に送出された試験結果に関するデータを読み取る（スヌーピング（snooping）する）ことによるか、またはシステムのＯＳ上で実行されるＩＰＭＩデーモンと通信することにより行われる。
なお、このバスは例えばＲＳ２３２バスである。
取得した試験結果と記述子ファイルで定義されたポリシーとに基づいて、ＢＭＣは次の動作を取ることができる。
例えば、試験結果データは特定の試験ポイントにおける試験の不合格を示すことができ、記述子ファイルは、試験ポイントで最初に不合格になった場合に、その試験を再実行すべきことを示すことができる。
そのような場合に、ＢＭＣは試験値をリセットして、前回不合格になった試験ポイントでその試験をもう一度実行することになる。
当業者には、記述子ファイルが上記で提供した命令以外の命令を含むことが可能であることが理解されよう。
【００７３】
マージン試験を通常必要とする別の動作パラメータは、被試験システムのさまざまなコンポーネントに印加される電圧に関するものである。
図１０は、本発明の教示による電圧マージン試験システムをＩＰＭＩプロトコルを使用するコンピュータサーバに内蔵したものを概略的に示している。
この例示のサーバ１０８はＢＭＣコントローラ５６を含む。
ＢＭＣコントローラ５６は、上述したように、帯域内および帯域外のハードウェア管理およびソフトウェア管理を提供する。
上記実施の形態と同様に、この例示の実施の形態では、ＢＭＣ５６はプライベートＩ２Ｃバス５８を使用して、サーバの選択されたサブシステムおよびコンポーネントと通信する。
【００７４】
デジタル電圧調整器１１０はＩ２Ｃバスに接続するためのＩ２Ｃ通信インターフェース１１０ａを有する。
デジタル電圧調整器１１０はサーバに内蔵されて、以下に詳述する方法でサーバのマージナブルコンポーネントの電圧マージン試験を可能にする。
このデジタル電圧調整器は単一の集積回路として実施することもできるし、あるいは複数の集積回路として実施することもできる。
【００７５】
デジタル電圧調整器１１０は電圧レギュレータ１１２に接続される。
電圧レギュレータ１１２は入力電圧を受け取り、レール電圧として利用できる調整出力電圧を生成して、マージナブルコンポーネント１１４などのサーバのさまざまなコンポーネントに印加する。
換言すると、電圧レギュレータ１１２は調整電圧レールを提供してサーバのさまざまなコンポーネントおよびモジュールに電力を供給することができる。
なお、電圧レギュレータ１１２はリニアレギュレータとすることもできるし、スイッチングレギュレータとすることもできる。
【００７６】
電圧調整器１１０はＢＭＣコントローラから受け取ったコマンド信号に応答して、選択された範囲にわたるレギュレータの出力電圧の変化に影響を与え、このような電圧変化が加えられる１つまたは複数のコンポーネントのマージン試験を行うことができる。
例えば、ＢＭＣはＩ２Ｃバス５８上を送出されるコマンドを介してデジタル電圧調整器１１０に指令し、それによってレギュレータの出力電圧の変化を引き起こすことができ、したがってコンポーネント１１４に印加される電圧の変化を引き起こすことができる。
例えば、コンポーネント１１４に印加される電圧を選択された範囲内の複数の値にわたってステップ状に変化させて電圧マージン試験を行うことができる。
【００７７】
好ましい一実施の形態では、デジタル電圧調整器としてデジタルポテンショメータを選択することができる。
このデジタルポテンショメータは電圧レギュレータ１１２のフィードバック抵抗ネットワークにおいて、デジタル制御される可変抵抗器として機能し、レギュレータの出力電圧を調整することができる。
例えば、図１１を参照して、デジタルポテンショメータ１１６がリニアレギュレータ１１８のフィードバック抵抗ネットワークにおける別のフィードバック抵抗器１２０と直列接続されるように、デジタルポテンショメータ１１６をリニアレギュレータ１１８のフィードバック抵抗ネットワークに内蔵することができる。
それによって、デジタルポテンショメータ１１６は、調整可能抵抗器として機能することができる。
このデジタルポテンショメータはレギュレータのフィードバック回路の抵抗を変化させることができ、それによってレギュレータの出力電圧を調整することができる。
【００７８】
より具体的に言うと、図１０および図１１を共に参照して、デジタルポテンショメータはＢＭＣ５６から受け取ったコマンドに応答して、レギュレータ１１８のフィードバック抵抗回路の抵抗を調整することができる。
したがって、デジタルポテンショメータはレギュレータの出力電圧を変化させることができる。
レギュレータの出力電圧のこの変化は、次に、レギュレータの出力電圧が印加される１つまたは複数のコンポーネントの電圧に変化を引き起こすことができる。
さらに、図１１に示すように、デジタルポテンショメータ１１６を利用してスイッチングレギュレータ１２２の出力電圧も調整することができる。
【００７９】
図２、図１０、および図１１を続けて参照して、一例として、サーバの主電源（図示せず）がオンにされる前に、外部システム２４は、例えばＳｅｔ＿Ｖｏｌｔａｇｅ（Ｒａｉｌ，Ｖａｌｕｅ）（電圧設定（レール，値））の形のコマンドをコントローラ５６に送出し、それによって、選択されたレールの電圧を指定値に設定してマージン試験を行うようにコントローラに指令することができる。
コントローラ５６の役割は、このコマンドを処理するために、このコマンドを必要なＩ２Ｃメッセージに解釈し、それに応じてそのメッセージを発行することである。
したがって、コントローラ５６はこのコマンドに応答して、デジタルポテンショメータ１１６にその抵抗を調整するようにコマンドを送出する。
この抵抗の調整は、レギュレータの出力電圧が初期値に設定されるように行われる。
この初期値は、外部システムが指定した電圧値よりもわずかに低い。
例えば、初期値はこの指定値よりも数パーセントだけ低くすることができる。
【００８０】
一般に、指定値からの初期電圧値のずれの程度は他の要因の中でも特にデジタルポテンショメータの許容誤差に依存する。
例えば、デジタルポテンショメータの抵抗の許容誤差の全範囲が５パーセントである場合、初期電圧値を指定値よりも約５パーセント低く設定してマージン電圧がシステムコンポーネントに損傷を与える閾値を越えないことを保証することができる。
【００８１】
続いて、ＢＭＣ５６は電力制御モジュール４２にコマンドを送出しシステムの主電源をオンにする。
電力制御モジュール４２およびそのＢＭＣ５６との通信のさまざまな実施態様が当業者には知られている。
ハードウェアモニタ２０は、レギュレータの出力電圧を記録し、記録した電圧をＢＭＣに通信する。
通常、ハードウェアモニタが読み取る電圧は指定値の許容範囲よりも低い。
そのような場合、コントローラ５６はコマンドをもう一度発行しレギュレータの出力電圧を指定値の方向に訂正するようにデジタルポテンショメータに指令する。
コントローラのファームウェアの特定の実施態様によると、この電圧較正サイクルは１度実行することもできるし、または十分に正確な電圧がハードウェアモニタから読み返されるまで数回繰り返すこともできる。
【００８２】
レギュレータの出力電圧を所望の試験値に設定すると、コントローラ５６はコンピュータシステムの主電源をオンにするように電力制御モジュール４２に指令することができる。
次いで、このシステムは例えばその組み込み自己試験を実行することができる。
コントローラはこの組み込み自己試験を監視することができる。
後続の試験電圧においてこのプロセスを繰り返し、複数の離散試験電圧に対するシステムの応答に関するデータを取得することができる。
【００８３】
上記例示の実施の形態では１つのデジタル電圧調整器を示している。
しかしながら、本発明の教示に従って、例えばデジタルポテンショメータといったデジタル電圧調整器を複数、サーバまたは他の任意の適切なコンピュータシステムに利用して、サーバ内の異なる電圧レールの電圧変化を調整できることが当業者には理解されよう。
したがって、レール電圧を試験値に設定するプロセスを複数のコンポーネントモジュール全体にわたって実行して、集合したマージン状態にあるコンピュータシステムの試験を達成することができる。
同様に、上記周波数マージン試験の実施の形態においても、複数のクロック周波数を同時に設定して、集合したマージン周波数試験を行うことができる。
【００８４】
本発明の実施においては、さまざまなデジタルポテンショメータを使用することができる。
例えば、カリフォルニア州ミルピタスのXicor, Inc.が商品名Ｘ９４０９で販売している、Ｉ２Ｃインターフェースを有するクアドデジタル制御ポテンショメータ（quad digitally controlled potentiometer）を、本発明の電圧マージン試験システムのデジタル電圧調整器として利用することができる。
【００８５】
本発明のいくつかの実施の形態では、例えばＢＭＣコントローラからのフィードバック信号が、例えばデジタルポテンショメータといったデジタル電圧調整器に定期的に供給される。
このデジタル電圧調整器は上述したように、電圧レギュレータの抵抗フィードバック回路の一部を形成する。
この定期的な供給によって電圧調整器の抵抗が調整され、レギュレータの電圧が所望の精度で選択された値に設定されるようになる。
例えば、図１１は、このようなフィードバックメカニズムの例示の実施態様を概略的に示している。
このフィードバックメカニズムでは、ハードウェアモニタ２０がレギュレータの出力電圧を監視するために、レギュレータ１１８の出力電圧を入力電圧として受け取る。
ＢＭＣ５６（図１０）は、例えば数ミリ秒ごとに１回の割合で定期的にハードウェアモニタ２０に問い合わせを行い、レギュレータの出力電圧の値を取得する。
ＢＭＣは、レギュレータの出力電圧が選択された閾値よりも大きく所望の値からずれていると判断すると、レギュレータの出力電圧を所望の値にするために、上述した方法でデジタルポテンショメータ１１６にコマンドを送出してポテンショメータの抵抗を調整する。
このフィードバックメカニズムは、レギュレータの出力電圧を正確に設定するのに有益である。
例えば、場合によってはデジタルポテンショメータの実際の抵抗がその定格抵抗からから数パーセントずれる可能性があり、それによって、レギュレータの出力電圧が数パーセントの不正確さを引き起こすことがある。
上記フィードバックメカニズムを使用すると、ポテンショメータの抵抗の実際の値と定格値との間のこのような不一致を訂正することができる。
したがって、試験電圧の値の精度を改善することができる。
【００８６】
上述した電圧マージンシステムなど本発明による電圧マージンシステムはサーバなどのコンピュータシステムにデジタル電圧調整器を内蔵する。
このコンピュータシステムは当該コンピュータシステムの内部にあるコントローラの制御下で動作して、当該コンピュータシステムの選択されたコンポーネントの電圧試験を行う。
このような電圧マージンシステムは多くの利点を提供する。
例えば、このような電圧マージン試験システムは、電圧レギュレータのフィードバック回路の抵抗値を変更してレギュレータの出力電圧を調整するためのジャンパもスイッチも利用する必要がない点において、非侵襲である。
これらのジャンパまたはスイッチの利用は、多くの時間を要する可能性があり試験の精度に悪影響を与える可能性がある。
さらに、本発明の電圧マージン試験システムによると、外部試験機器の必要もなくなり、電圧試験をソフトウェア制御により自動的に行うことも可能になる。
その上、本発明の電圧試験システムは開発期間中、製造期間中、または現場における電圧試験を実用的なものにし、したがって製品の信頼性が向上する。
【００８７】
本発明の電圧マージン試験のもう１つの利点は、システムの故障の根本的原因解析が容易になるということである。
例えば、場合によっては、電力レール電圧を変化させることにより、間欠的故障を再現可能とすることができ、したがって、診断および訂正をより簡単に行うことができる。
当業者には本発明の電圧マージン試験の他の利点が容易に認識できる。
【００８８】
一例として、本発明の電圧マージン試験を利用すると、サーバ内のＤＤＲ  ＳＤＲＡＭ  ＤＩＭＭに電力を供給する２．５ボルト電力レールを試験することができる。
そのような試験は、例えば、製造期間中において、新しいＤＲＡＭベンダから調達したＤＩＭＭを適格とするのに必要とされることがある。
そのような電圧マージン試験は、例えば、以下のようにして行うことができる。
まず、例えば、ＢＭＣへコンソールアクセスを行って、モード変更コマンドを発行することにより、ＢＭＣコントローラを特別なモードに置くことができる。
このモードでは、ＢＭＣはＤＩＭＭレールの自動電圧マージン試験を実行するコマンドを解除することになる。
より具体的に言うと、上述したように、ＢＭＣはデジタルポテンショメータにコマンドを発行することにより、（例えば、２．５Ｖの定格電圧値を中心とした）多数の値にわたってＤＩＭＭレールの電圧を変化させることができる。
これらの多数の値のそれぞれは試験ポイントに対応するものである。
【００８９】
このような１つの例示の試験ポイントにおけるシステムの試験は次のように行うことができる。
サーバの主電源をオフにした状態で、ＢＭＣはＩ２Ｃメッセージをデジタルポテンショメータに送出して、デジタルポテンショメータにその抵抗を調整させる。
この調整は電力レールの電圧が２．２５Ｖ（定格電圧よりも１０パーセント低い）となるように行われる。
なお、ＢＭＣはスタンバイ電源によって電力供給を受けることができる。
続いて、ＢＭＣはサーバの主電源をオンにする。
システムは初期ブートプロセスの一部として、システムの組み込み自己試験（ＢＩＳＴ）を実行する。
このＢＩＳＴはＢＭＣによって監視される。
ＢＩＳＴが不合格になると、ＢＭＣはその結果と例えば試験電圧といった試験ポイントに関する情報とを不揮発性メモリにログ記録し、サーバの主電源装置をオフにし、例えば２．３７５ボルトといった次の試験電圧を設定するようにデジタルポテンショメータに指令する。
ＢＩＳＴに合格すると、ＢＭＣはブートプロセスがオペレーティングシステム（ＯＳ）のロード段階に進むことを許可し、試験の合格のログを記録し、その後、主電源をオフにし、次の試験ポイントを設定するようにデジタルポテンショメータに指令する。
ＯＳのロード段階後、スクリプト化されたバッチ呼び出しを通じて自動的に、またはＯＳエージェントへのＢＭＣコマンドメッセージを介して、さまざまなシステムレベルのサブシステムストレス診断を実行することができる。
実行ログは、後の解析用に、システムから離して記憶することもできるしローカルハードディスクに記憶することもできる。
【００９０】
すべての試験ポイントが実行されると、結果データを収集して検討することができる。
１つまたは複数の試験ポイントに不合格があると、試験実行者はそれらの不合格の根本的原因の解析を行うことができる。
さらに、マージン試験情報をデータベースにアップロードして、信頼性／品質解析を行うこともできる。
【００９１】
同様にして、試験電圧を初期値に設定するようにＢＭＣに指令することにより、上記例示の電圧マージン試験を実行することができる。
次いで、診断ソフトウェアをサーバ上で実行してこの試験電圧におけるサーバの選択された動作に関する情報を収集することができる。
この情報は解析して記録することもできるし、今後の解析のために記録しておくこともできる。
続いて、ＢＭＣには新たな試験電圧を設定するように指令することができ、上記プロセスを繰り返すことにより所望のすべての試験電圧におけるデータを取得することができる。
【００９２】
図１２を参照して、本発明の電圧マージン試験の一実施の形態の別の実施態様はデジタル／アナログ変換器（ＤＡＣ）１２４を使用する。
このＤＡＣ１２４は、被試験コンピュータシステムのさまざまな電力レールの電圧マージン試験用に、例示の出力Ａ、Ｂ、Ｃ、Ｄなどの複数の電圧出力値を生成することができる。
より具体的に言うと、ＤＡＣ１２４は基準電圧源１２６から基準電圧を受け取ることができ、例えばＢＭＣ５６からのコマンドに応答して選択された出力電圧値を生成することができる。
この例では、ＤＡＣとして米国マサチューセッツ州ノーウッドのAnalog devices corporationが商品名ＡＤ５３１５で販売している集積回路を選択することができる。
ＤＡＣ１２４は、シリアルバスライン１３０および１３２を通りＩ２Ｃ  Ｉ／Ｏエキスパンダスイッチ１２８を介してＢＭＣ５６と通信し、出力電圧Ａ〜Ｄの１つまたは複数のものをマージン試験用に選択された値に設定する命令を受け取ることができる。
ＤＡＣ１２４の各出力電圧は、例えば増幅器１３４を介して、スイッチ（例えばＦＥＴ）１３６ａ、１３６ｂ、１３６ｃ、１３６ｄなどのスイッチに接続することができる。
本明細書では、これらのスイッチ１３６ａ、１３６ｂ、１３６ｃ、および１３６ｄをスイッチ１３６と総称する。
これらのスイッチ１３６はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）１３８からの信号を介して選択的に起動されて、選択されたマージン電圧を提供することができる。
これらのスイッチは、定格動作中に、トリムラインを絶縁するのに使用される。
プルアップ抵抗器１４０ａ、１４０ｂ、１４０ｃ、および１４０ｄは、スイッチ１３６が、デフォルトで定格のオフ状態になることを保証するために利用される。
したがって、部品障害、ファームウェア異常による電源リセットなどの場合に、ＤＡＣアナログ出力の絶縁が保証される。
マージンモードの下では、スイッチ１３６はオンにされ、類似のＦＥＴトランスミッションスイッチは、定格動作中に適切な分圧トリム入力を生成する定格モードのプルアップ／ブルダウン抵抗器１４０を絶縁するのに使用される。
この例示の実施の形態では、マージン電圧として、１．２Ｖ、１．５Ｖ、２．５Ｖ、および３．３Ｖが選択される。
当業者にはこれら４つのマージン電圧以外にも他のマージン電圧値が使用可能であることが理解されよう。
【００９３】
上記実施の形態に対して、本発明の範囲から逸脱することなくさまざまな変更を行い得ることが当業者には理解されよう。
【図面の簡単な説明】
【００９４】
【図１Ａ】コンピュータシステムに内蔵されて、当該コンピュータシステムの選択されたコンポーネントを試験するための、本発明の教示の一実施の形態によるマージン試験システムを示す概略図である。
【図１Ｂ】コンピュータシステムの選択された動作パラメータのマージン試験のための本発明の方法の一実施の形態のステップを示すフローチャートである。
【図２】周波数制御モジュール、電圧制御モジュール、および障害迂回モジュールを有する、本発明の一実施の形態によるマージン試験システムが内蔵されたコンピュータシステムを示す概略図である。
【図３】図２の試験システムの電圧制御モジュールを利用して、コンピュータシステムの選択されたコンポーネントの電圧マージン試験を行うことができることを示す概略図である。
【図４Ａ】本発明の一実施の形態によるＦＢＢモジュールの例示の実施態様を示す概略図である。
【図４Ｂ】ＦＢＢモジュールをハードウェアモニタと組み合わせて使用し、本発明の一実施の形態によるマージン試験システムが内蔵されたコンピュータシステムのマージン試験中に、選択された障害をマスクすることを示す概略図である。
【図５】ＩＰＭＩプロトコルを使用するサーバに、本発明の一実施の形態によるマージン試験システムを内蔵したものを示す概略図である。
【図６Ａ】本発明の教示によるマージン試験システムでの使用に適した周波数合成器の概略図である。
【図６Ｂ】本発明の一実施の形態による周波数マージン試験システムの例示の実施態様の概略図である。
【図７】その出力周波数が、本発明のマージン試験システムの入力ビットパターンによって調整できる、周波数合成器の使用を示す概略図である。
【図８】Ｉ２ＣベースのＩ／Ｏエキスパンダが内蔵された本発明の一実施の形態によるマージン試験システムを示す概略図である。
【図９Ａ】ＢＭＣコントローラからの命令がない場合、または、回路エラー（１つまたは複数）の場合に、Ｉ２ＣベースのＩ／Ｏエキスパンダおよびマルチプレクサを利用して、デフォルト周波数が、選択されたコンポーネントに加えられることを保証する本発明のマージン試験システムの一実施の形態を示す概略図である。
【図９Ｂ】コンピュータサーバの周波数マージン試験用の本発明の方法の一実施の形態におけるさまざまなステップを示すフローチャートである。
【図９Ｃ】コンピュータサーバの周波数マージン試験用の本発明の方法の別の実施の形態におけるさまざまなステップを示すフローチャートである。
【図１０】コンピュータシステムの電圧マージン試験用の本発明の一態様によるマージン試験システムを示す概略図である。
【図１１】レギュレータの出力電圧を調整するための、本発明の一実施の形態による電圧マージン試験システムにおける２つのレギュレータの抵抗フィードバック回路にデジタルポテンショメータを内蔵したものを示す図である。
【図１２】デジタル／アナログ変換器を使用して試験電圧を設定する本発明の電圧マージン試験の別の実施態様を示す概略図である。
【符号の説明】
【００９５】
１４・・・コントローラ、
１２・・・ホストプロセッサ、
２０・・・ハードウェアモニタ、
２２・・・デジタルパラメータ調整器、
２４・・・外部システム、
２８・・・マージナブルシステムコンポーネント、
３０・・・選択された動作パラメータを生成するためのモジュール、
３２・・・センサ、
３８・・・障害迂回ブロック（ＦＢＢ）、
４０・・・スタンバイ電源、
４２・・・電力制御素子、
４８・・・ＣＰＵダイオード、
５６・・・ＢＭＣコントローラ、
６２・・・インテリジェントＦＲＵ、
６０・・・ＳＥＥＰＲＯＭ、
６６ａ・・・Ｉ２Ｃインターフェース、
６６ｂ，７２・・・水晶発振器、
８０・・・位相検出器、
８２・・・ローパスフィルタ、
８６・・・÷ｎ分周器、
７４・・・Ｉ２Ｃインターフェース、
７６・・・レジスタ、
８８，９０，９２・・・クロック信号源、
９６・・・周波数合成器、
９８・・・Ｉ２Ｃ  Ｉ／Ｏエキスパンダ、
１０６・・・クロックジェネレータ、
１１０・・・デジタル電圧調整器、
１１０ａ・・・Ｉ２Ｃインターフェース、
１１２・・・電圧レギュレータ、
１１４・・・マージナブルコンポーネント、
１１６・・・デジタルポテンショメータ、
【図１Ａ】
2005018761.tif 000003
【図１Ｂ】
2005018761.tif 000004
【図２】
2005018761.tif 000005
【図３】
2005018761.tif 000006
【図４Ａ】
2005018761.tif 000007
【図４Ｂ】
2005018761.tif 000008
【図５】
2005018761.tif 000009
【図６Ａ】
2005018761.tif 000010
【図６Ｂ】
2005018761.tif 000011
【図７】
2005018761.tif 000012
【図８】
2005018761.tif 000013
【図９Ａ】
2005018761.tif 000014
【図９Ｂ】
2005018761.tif 000015
【図９Ｃ】
2005018761.tif 000016
【図１０】
2005018761.tif 000017
【図１１】
2005018761.tif 000018
【図１２】
2005018761.tif 000019