JP2005018762A - Bmc制御下において電圧レール変化を可能にするi2cベースポテンショメータの使用 - Google Patents
Bmc制御下において電圧レール変化を可能にするi2cベースポテンショメータの使用 Download PDFInfo
- Publication number
- JP2005018762A JP2005018762A JP2004175079A JP2004175079A JP2005018762A JP 2005018762 A JP2005018762 A JP 2005018762A JP 2004175079 A JP2004175079 A JP 2004175079A JP 2004175079 A JP2004175079 A JP 2004175079A JP 2005018762 A JP2005018762 A JP 2005018762A
- Authority
- JP
- Japan
- Prior art keywords
- voltage
- test
- controller
- margin
- regulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012360 testing method Methods 0.000 claims abstract description 295
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 239000013078 crystal Substances 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000008713 feedback mechanism Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3004—Current or voltage test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/24—Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】 複数のコンポーネントを有するコンピュータシステムなどの電子システムに内蔵される電圧マージン試験システムを提供する。
【解決手段】 本発明にかかるシステムの試験対象システムは、その複数のコンポーネントの少なくとも一部が電圧マージン試験を必要とする。本発明は、コンピュータシステムの内部にあるベースボード管理コントローラ(BMC)などのコントローラと、このコントローラと通信する例えばデジタルポテンショメータといったデジタル電圧調整器とを含む。電圧調整器は、1つまたは複数の試験電圧を生成する。この電圧の生成は、例えば、システムコンポーネントにその出力電圧を印加するレギュレータのフィードバック回路の抵抗を変化させ、コントローラからのコマンドに応答してコンポーネントに印加することにより行われる。
【選択図】図1A
【解決手段】 本発明にかかるシステムの試験対象システムは、その複数のコンポーネントの少なくとも一部が電圧マージン試験を必要とする。本発明は、コンピュータシステムの内部にあるベースボード管理コントローラ(BMC)などのコントローラと、このコントローラと通信する例えばデジタルポテンショメータといったデジタル電圧調整器とを含む。電圧調整器は、1つまたは複数の試験電圧を生成する。この電圧の生成は、例えば、システムコンポーネントにその出力電圧を印加するレギュレータのフィードバック回路の抵抗を変化させ、コントローラからのコマンドに応答してコンポーネントに印加することにより行われる。
【選択図】図1A
Description
本発明は、包括的には、コンピュータシステムなどの電子システムのさまざまなコンポーネントの電圧マージン試験のためのシステムおよび方法に関する。
詳細には、本発明は、BMC制御下において電圧レール変化を可能にするI2Cベースポテンショメータの使用に関する。
詳細には、本発明は、BMC制御下において電圧レール変化を可能にするI2Cベースポテンショメータの使用に関する。
[関連出願]
本出願は、以下の同一出願人による米国特許出願に関係している。
すなわち、発明者Naysen J. Robertson、Benjamin T. Percer、およびKirk Yates著「USE OF I2C PROGRAMMABLE CLOCK GENERATOR TO ENABLE FREQUENCY VARIATION UNDER BMC CONTROL」という発明の名称の米国特許出願第10/606,713号、発明者Benjamin T. PercerおよびNaysen J. Robertson著「METHODS AND SYSTEMS FOR MASKING FAULTS IN A MARGIN TESTING ENVIRONMENT」という発明の名称の米国特許出願第10/606,715号、ならびに発明者Naysen J. Robertson、Benjamin T. Percer、およびSachin N. Chheda著「METHOD AND CONSTRUCT FOR ENABLING PROGRAMMABLE, INTEGRATED SYSTEM MARGIN TESTING」という発明の名称の米国特許出願第10/606,714号に関係している。
本出願は、以下の同一出願人による米国特許出願に関係している。
すなわち、発明者Naysen J. Robertson、Benjamin T. Percer、およびKirk Yates著「USE OF I2C PROGRAMMABLE CLOCK GENERATOR TO ENABLE FREQUENCY VARIATION UNDER BMC CONTROL」という発明の名称の米国特許出願第10/606,713号、発明者Benjamin T. PercerおよびNaysen J. Robertson著「METHODS AND SYSTEMS FOR MASKING FAULTS IN A MARGIN TESTING ENVIRONMENT」という発明の名称の米国特許出願第10/606,715号、ならびに発明者Naysen J. Robertson、Benjamin T. Percer、およびSachin N. Chheda著「METHOD AND CONSTRUCT FOR ENABLING PROGRAMMABLE, INTEGRATED SYSTEM MARGIN TESTING」という発明の名称の米国特許出願第10/606,714号に関係している。
電子システムは、多くの場合、指定された動作状況においてそれらの適切な動作を保証するために、開発期間中、製造期間中、および/または現場での使用中に監視および/または試験を行う必要のある無数のサブシステムおよびコンポーネントを含んでいる。
これらのコンポーネントの多くは、通常、このような指定された動作状況のマージンまたは極端な場合においてわずかな故障を示す。
したがって、動作状況の極端な場合におけるコンポーネントの信頼性を評価するために、これらのマージンにおいてコンポーネントを試験することが望ましい。
この試験を、本明細書では、マージン試験と呼ぶこととする。
例えば、コンポーネントの温度、印加電圧、および/または駆動周波数などの動作パラメータの1つまたは複数のものを、選択された範囲にわたって変化させることによりコンポーネントを試験することが望ましい場合がある。
この試験によって、このようなパラメータの変動に対するシステムの応答が引き出され、したがって評価される。
マージン試験は、特定の設計が、製造プロセスにおける発展した変更に容易に適合できることを保証することもできる。
これらのコンポーネントの多くは、通常、このような指定された動作状況のマージンまたは極端な場合においてわずかな故障を示す。
したがって、動作状況の極端な場合におけるコンポーネントの信頼性を評価するために、これらのマージンにおいてコンポーネントを試験することが望ましい。
この試験を、本明細書では、マージン試験と呼ぶこととする。
例えば、コンポーネントの温度、印加電圧、および/または駆動周波数などの動作パラメータの1つまたは複数のものを、選択された範囲にわたって変化させることによりコンポーネントを試験することが望ましい場合がある。
この試験によって、このようなパラメータの変動に対するシステムの応答が引き出され、したがって評価される。
マージン試験は、特定の設計が、製造プロセスにおける発展した変更に容易に適合できることを保証することもできる。
例えば、印加電圧を体系的に変化させることによりコンピュータシステムのコンポーネントを試験することによって、そのコンポーネントに関連した電圧許容範囲にわたるそのコンポーネントの信頼性に関する貴重な情報を得ることができ、特に、この範囲の極端な場合における信頼性に関する貴重な情報を得ることができる。
このような電圧マージン試験を行うための複数のシステムおよび方法が、当該技術分野において知られている。
例えば、このような1つの従来の方法では、電圧マージン試験を要求する1つまたは複数のコンポーネントに印加されるレギュレータの出力電圧を変化させるために、電圧レギュレータのフィードバック抵抗器が取り替えられる。
この技術は、多くの時間を必要とするだけでなく、1つまたは複数の抵抗器を物理的に取り替える必要がある点で侵襲的である。
しかしながら、このような抵抗器の取り替えは、被試験システム(SUT)の不測の損傷および/または信頼性のない試験結果をもたらすことがある。
このような電圧マージン試験を行うための複数のシステムおよび方法が、当該技術分野において知られている。
例えば、このような1つの従来の方法では、電圧マージン試験を要求する1つまたは複数のコンポーネントに印加されるレギュレータの出力電圧を変化させるために、電圧レギュレータのフィードバック抵抗器が取り替えられる。
この技術は、多くの時間を必要とするだけでなく、1つまたは複数の抵抗器を物理的に取り替える必要がある点で侵襲的である。
しかしながら、このような抵抗器の取り替えは、被試験システム(SUT)の不測の損傷および/または信頼性のない試験結果をもたらすことがある。
別の従来の手法では、複数のジャンパまたはスイッチを使用して、電圧レギュレータに利用されるフィードバック分圧器の抵抗値が変更される。
しかしながら、この手法は、多くの時間を必要とし、また、利用可能な電圧変化の粒度が粗いという欠点も有する。
さらに、この手法は、ジャンパおよびスイッチを内蔵するために貴重なボードの空間を使用する必要もある。
しかしながら、この手法は、多くの時間を必要とし、また、利用可能な電圧変化の粒度が粗いという欠点も有する。
さらに、この手法は、ジャンパおよびスイッチを内蔵するために貴重なボードの空間を使用する必要もある。
別の従来の手法は、電圧レールを提供するものである。
この電圧レールは、アナログ電圧を印加してレールの電圧を変化させることができるトリム入力を用いて、電圧をシステムコンポーネントに供給する。
しかしながら、この手法は、アナログ電圧を供給するのに外部のソフトウェア制御された試験機器を必要とし、試験機器を購入してセットアップするのに必要な費用および時間を伴う。
この電圧レールは、アナログ電圧を印加してレールの電圧を変化させることができるトリム入力を用いて、電圧をシステムコンポーネントに供給する。
しかしながら、この手法は、アナログ電圧を供給するのに外部のソフトウェア制御された試験機器を必要とし、試験機器を購入してセットアップするのに必要な費用および時間を伴う。
さらに別の従来の試験技術では、被試験システムの内部電力レールが、切断されて、外部電圧源が、そのレールに電力を供給するのに利用される。
次いで、外部電圧、および、その結果として内部レールの電圧を変化させて試験することができる。
上記従来の手法と同様に、この技術も複数の欠点を有する。
例えば、この技術は、高価な外部試験機器を必要とする。
さらに、この技術は侵襲的であり、したがって、SUTに不測の損傷を与える傾向がある。
加えて、得られた試験結果は、SUTの特性を正確に反映していないことがある。
米国特許第6,351,827号
米国特許第6,496,790号
XICOR社 X9409 (Quad Digitally Controlled Potentiometers)データシート、2001年10月23日
Philips Semiconductor社 PCF8575C (Remote 16-bit I/O expander for I2C-bus)データシート、1999年8月5日
Integrated Circuit Systems, Inc.社 ICS8431-11 (255MHz, Low Jitter, Crystal Oscillator-to-3.3V LVPECL Frequency Synthesizer)データシート、2002年8月7日
AMI Semiconductor社 FS7140/FS7145 (Programmable Phase-Locked Clock Generator)データシート、2002年2月27日
National Semiconductor社 LM87 (Serial Interface System Hardware Monitor with Remote Diode Temperature Sensing)データシート、2001年3月
次いで、外部電圧、および、その結果として内部レールの電圧を変化させて試験することができる。
上記従来の手法と同様に、この技術も複数の欠点を有する。
例えば、この技術は、高価な外部試験機器を必要とする。
さらに、この技術は侵襲的であり、したがって、SUTに不測の損傷を与える傾向がある。
加えて、得られた試験結果は、SUTの特性を正確に反映していないことがある。
したがって、コンピュータシステムのコンポーネントの電圧マージン試験を信頼性を高めて実行することを可能にするシステムおよび方法が必要とされている。
また、被試験システムを物理的に変更せずに正確な電圧マージン試験を可能にするようなシステムおよび方法が必要とされている。
また、被試験システムを物理的に変更せずに正確な電圧マージン試験を可能にするようなシステムおよび方法が必要とされている。
一態様では、本発明は、複数のコンポーネントを有するコンピュータシステム(例えばサーバ)などの電子システムに内蔵された電圧マージン試験システムであって、その複数のコンポーネントの少なくとも一部が電圧マージン試験を必要とする、電圧マージン試験システムを提供する。
本発明の電圧マージン試験は、コンピュータシステムの内部にあるベースボード管理コントローラ(BMC)などのコントローラと、このコントローラと通信する例えばデジタルポテンショメータといったデジタル電圧調整器とを含むことができる。
電圧調整器は、1つまたは複数の試験電圧を生成することができる。
この電圧の生成は、例えば、システムコンポーネントにその出力電圧を印加するレギュレータのフィードバック回路の抵抗を変化させ、コントローラからのコマンドに応答してコンポーネントに印加することにより行われる。
本発明の電圧マージン試験は、コンピュータシステムの内部にあるベースボード管理コントローラ(BMC)などのコントローラと、このコントローラと通信する例えばデジタルポテンショメータといったデジタル電圧調整器とを含むことができる。
電圧調整器は、1つまたは複数の試験電圧を生成することができる。
この電圧の生成は、例えば、システムコンポーネントにその出力電圧を印加するレギュレータのフィードバック回路の抵抗を変化させ、コントローラからのコマンドに応答してコンポーネントに印加することにより行われる。
別の態様では、本発明は、プロセッサと、上記プロセッサと通信して複数のタスクを実行する複数のコンポーネントとを有するコンピュータシステムを提供する。
このコンピュータシステムは、コントローラと、このコントローラと通信し、かつ、1つまたは複数のシステムコンポーネントと通信するデジタル電圧調整器とをさらに含む。
電圧調整器は、システムコンポーネントの選択したものに印加される1つまたは複数の試験電圧の生成に影響を与えて、そのシステムコンポーネントの電圧マージン試験を行うことができる。
このコンピュータシステムは、コントローラと、このコントローラと通信し、かつ、1つまたは複数のシステムコンポーネントと通信するデジタル電圧調整器とをさらに含む。
電圧調整器は、システムコンポーネントの選択したものに印加される1つまたは複数の試験電圧の生成に影響を与えて、そのシステムコンポーネントの電圧マージン試験を行うことができる。
さらに別の態様では、本発明は、内部コントローラと、コントローラと通信し、かつ、電子システムの1つまたは複数のコンポーネントに電圧を供給する少なくとも1つの電力レールと通信するデジタル電圧調整器とを有するコンポーネントの電圧マージン試験のための方法を提供する。
この方法は、コントローラが1つまたは複数のコマンドを電圧調整器に送出するようにするステップであって、それによって、調整器が、上記コンポーネントに印加される上記電力レールの1つまたは複数の試験電圧の生成に影響を与えるようにする、コントローラが1つまたは複数のコマンドを電圧調整器に送出するようにするステップを含む。
次いで、システムの応答が、試験電圧のそれぞれにおいて監視される。
この方法は、コントローラが1つまたは複数のコマンドを電圧調整器に送出するようにするステップであって、それによって、調整器が、上記コンポーネントに印加される上記電力レールの1つまたは複数の試験電圧の生成に影響を与えるようにする、コントローラが1つまたは複数のコマンドを電圧調整器に送出するようにするステップを含む。
次いで、システムの応答が、試験電圧のそれぞれにおいて監視される。
本発明は、包括的には、コンピュータシステム(例えばサーバ)やネットワークスイッチなどの電子デバイスの選択されたコンポーネントおよび/またはサブシステムのマージン試験のための改良されたシステムおよび方法に関する。
後に詳述するように、本発明の教示によるマージン試験システムは、コントローラの制御下で動作する、デジタル周波数合成器やデジタルポテンショメータなどのデジタルパラメータ調整器を含むことができる。
後に詳述するように、本発明の教示によるマージン試験システムは、コントローラの制御下で動作する、デジタル周波数合成器やデジタルポテンショメータなどのデジタルパラメータ調整器を含むことができる。
このパラメータ調整器は、コントローラからのコマンドに応答して、コンピュータシステムの選択されたコンポーネントに関連した、例えば周波数や電圧といった、対象となる動作パラメータの値を、複数の試験値にわたって変化させる(「ステップ状に変化させる」)ことができる。
より具体的に言うと、パラメータ調整器の出力と、したがって1つまたは複数の被試験コンポーネントに加えられた動作パラメータの値とを、コントローラからのコマンド信号を介して、選択された範囲にわたって変化させることができ、システムの応答の収集、監視、および/または解析を行うことができる。
より具体的に言うと、パラメータ調整器の出力と、したがって1つまたは複数の被試験コンポーネントに加えられた動作パラメータの値とを、コントローラからのコマンド信号を介して、選択された範囲にわたって変化させることができ、システムの応答の収集、監視、および/または解析を行うことができる。
本発明のマージン試験システムの以下の実施の形態は、コンピュータシステムについて説明するが、本発明の教示によるマージン試験システムを、ネットワークスイッチなどのマージン試験を必要とする他の電子システムに内蔵することも可能であることが理解されるべきである。
図1Aは、本発明の教示によるマージン試験システムを内蔵した例示のコンピュータシステム10を概略的に示している。
このコンピュータシステム10は、例えば、サーバコンピュータシステムとすることもできるし、マージンテストが必要な他の任意のコンピュータシステムとすることもできる。
このサーバコンピュータシステムは、通信ネットワークを介して他のコンピュータシステムと高性能の通信を提供するように、ハードウェアおよび/またはソフトウェアにより構成されたシステムであると、この技術分野において一般に理解されている。
例示のコンピュータシステム10は、単一のホストプロセッサ12を含むが、マルチプロセッサシステムに本発明の教示によるマージン試験システムを内蔵することも可能であることが理解されるべきである。
このコンピュータシステム10は、例えば、サーバコンピュータシステムとすることもできるし、マージンテストが必要な他の任意のコンピュータシステムとすることもできる。
このサーバコンピュータシステムは、通信ネットワークを介して他のコンピュータシステムと高性能の通信を提供するように、ハードウェアおよび/またはソフトウェアにより構成されたシステムであると、この技術分野において一般に理解されている。
例示のコンピュータシステム10は、単一のホストプロセッサ12を含むが、マルチプロセッサシステムに本発明の教示によるマージン試験システムを内蔵することも可能であることが理解されるべきである。
例示のコンピュータシステム10は、コントローラ14を含む。
このコントローラ14は、後述するように、複数の管理機能を提供することができ、システムインターフェース16を介してホストプロセッサ12と通信する。
ホストプロセッサ12上では、オペレーティングシステム(OS)および1つまたは複数の管理エージェントが実行される。
システムインターフェース16は、例えば、PCIバスといった任意の適切な通信バスとすることができる。
このコントローラ14は、後述するように、複数の管理機能を提供することができ、システムインターフェース16を介してホストプロセッサ12と通信する。
ホストプロセッサ12上では、オペレーティングシステム(OS)および1つまたは複数の管理エージェントが実行される。
システムインターフェース16は、例えば、PCIバスといった任意の適切な通信バスとすることができる。
コントローラ14は、例えば、特定アプリケーション向け集積回路(ASIC)として実施することもできるし、あるいは、いくつかの異なるチップから構成することもできる。
一例として、以下に詳述する本発明のいくつかの実施の形態においては、コントローラ14を、ベースボード管理コントローラ(BMC(Baseboard Management Controller))と一般に呼ばれるインテリジェント処理コントローラとすることができる。
このBMCは、インテリジェントプラットフォーム管理インターフェース(IPMI(Intelligent Platform Management Interface))プロトコルをサポートすることができる。
IPMIプロトコルは、ホストプロセッサ上で実行される管理アプリケーションとハードウェアプラットフォームとの間の標準化されたメッセージインターフェースを提供するオープンスタンダードである。
一例として、以下に詳述する本発明のいくつかの実施の形態においては、コントローラ14を、ベースボード管理コントローラ(BMC(Baseboard Management Controller))と一般に呼ばれるインテリジェント処理コントローラとすることができる。
このBMCは、インテリジェントプラットフォーム管理インターフェース(IPMI(Intelligent Platform Management Interface))プロトコルをサポートすることができる。
IPMIプロトコルは、ホストプロセッサ上で実行される管理アプリケーションとハードウェアプラットフォームとの間の標準化されたメッセージインターフェースを提供するオープンスタンダードである。
例示のコントローラ14は、通信バス18を介して、ハードウェアモニタモジュール20およびデジタルパラメータ調整器モジュール22と通信し、それによって、これらのモジュールにコマンド信号を送出することができ、かつ/または、これらのモジュールから情報を受け取ることができる。
通信バス18は、任意の適切なメーカ独自のバスとすることもできるし、任意の適切なパブリックバスとすることもできる。
例えば、コントローラがBMCである実施の形態においては、バス18を、プライベートI2C(集積回路間(Inter-Integrated Circuit))バスとすることもできるし、インテリジェントプラットフォーム管理バス(IPMB(Intelligent Platform Management Bus))とすることもできる。
あるいは、バス18は、ASAバスまたはUSBバスとすることもできるし、他の任意の適切な通信バスとすることもできる。
通信バス18は、任意の適切なメーカ独自のバスとすることもできるし、任意の適切なパブリックバスとすることもできる。
例えば、コントローラがBMCである実施の形態においては、バス18を、プライベートI2C(集積回路間(Inter-Integrated Circuit))バスとすることもできるし、インテリジェントプラットフォーム管理バス(IPMB(Intelligent Platform Management Bus))とすることもできる。
あるいは、バス18は、ASAバスまたはUSBバスとすることもできるし、他の任意の適切な通信バスとすることもできる。
さらに、コントローラ14は、バス26を介して、外部システム24と通信することもできる。
この外部システム24は、デバイス10のマージン試験を開始するようにコントローラに指令することができる。
外部システム24は、たとえば、RS232バスなどのバスを介してコントローラと通信できる端末とすることができる。
あるいは、外部システム24は、LANベースのイーサネット(登録商標)接続などのコンピュータネットワーク接続を介してコントローラ14と通信できるリモートコンピュータとすることができる。
バス26は、LANベースのイーサネット接続などの任意の適切なバスとすることができる。
また、コントローラは、スイッチまたはジャンパの設定に応じて、マージン試験を開始することもできる。
この外部システム24は、デバイス10のマージン試験を開始するようにコントローラに指令することができる。
外部システム24は、たとえば、RS232バスなどのバスを介してコントローラと通信できる端末とすることができる。
あるいは、外部システム24は、LANベースのイーサネット(登録商標)接続などのコンピュータネットワーク接続を介してコントローラ14と通信できるリモートコンピュータとすることができる。
バス26は、LANベースのイーサネット接続などの任意の適切なバスとすることができる。
また、コントローラは、スイッチまたはジャンパの設定に応じて、マージン試験を開始することもできる。
システム10は、さらに、当該システムの機能を協働して提供する複数の他のサブシステムおよびコンポーネントも含む。
コンピュータデバイスの適切な設計および/または動作を保証するために、これらのサブシステムまたはコンポーネントの多くは、開発期間中、製造期間中、および/または現場において、監視および/または試験を必要とする。
より具体的に言うと、これらのコンポーネントの多くは、さまざまな動作状況下でそれらの信頼性を保証するために、マージン試験を必要とする。
本明細書では、このようなマージン試験が要求されるコンポーネント28をマージナブル(marginable)コンポーネントと呼ぶこととする。
このマージナブルコンポーネントには、例えば、中央処理装置(CPU)、メモリモジュール、内部通信バス、電圧レギュレータ、またはマージン試験を必要とし得る、対象となる他の任意のコンポーネントもしくは複数のコンポーネントからなるサブシステムが含まれ得る。
コンピュータデバイスの適切な設計および/または動作を保証するために、これらのサブシステムまたはコンポーネントの多くは、開発期間中、製造期間中、および/または現場において、監視および/または試験を必要とする。
より具体的に言うと、これらのコンポーネントの多くは、さまざまな動作状況下でそれらの信頼性を保証するために、マージン試験を必要とする。
本明細書では、このようなマージン試験が要求されるコンポーネント28をマージナブル(marginable)コンポーネントと呼ぶこととする。
このマージナブルコンポーネントには、例えば、中央処理装置(CPU)、メモリモジュール、内部通信バス、電圧レギュレータ、またはマージン試験を必要とし得る、対象となる他の任意のコンポーネントもしくは複数のコンポーネントからなるサブシステムが含まれ得る。
デジタルパラメータ調整器22は、マージナブルコンポーネント28の1つもしくは複数のものの選択された動作パラメータを、直接的に、または、1つもしくは複数の中間モジュール30を介して、調整することができる。
例えば、直接的に調整することにより、クロック周波数を調整することができる。
1つまたは複数の中間モジュール30は、これらのコンポーネントに加えるための選択された動作パラメータを生成するものである。
例えば、パラメータ調整器が、デジタルポテンショメータであるいくつかの実施の形態を後に詳述するが、これらの実施の形態においては、この中間モジュールを電圧レギュレータとすることができる。
この電圧レギュレータの出力は、コントローラからのコマンドに基づいてデジタルポテンショメータの抵抗を変化させることにより、調整することができる。
例えば、直接的に調整することにより、クロック周波数を調整することができる。
1つまたは複数の中間モジュール30は、これらのコンポーネントに加えるための選択された動作パラメータを生成するものである。
例えば、パラメータ調整器が、デジタルポテンショメータであるいくつかの実施の形態を後に詳述するが、これらの実施の形態においては、この中間モジュールを電圧レギュレータとすることができる。
この電圧レギュレータの出力は、コントローラからのコマンドに基づいてデジタルポテンショメータの抵抗を変化させることにより、調整することができる。
ハードウェアモニタ20は、これらのコンポーネントを、特定のコンポーネントの性質に関連したセンサ32を通じてリアルタイムで監視することができる。
この特定のコンポーネントの性質としては、例えば、電圧、温度、動作周波数などがある。
センサ32は、温度、電圧、駆動周波数などの1つまたは複数の動作パラメータの変化に対するコンポーネント28の応答を示すデータを生成することができる。
後に詳述するように、ハードウェアモニタ20は、この応答データを受け取り、解析を行うためにこのデータをコントローラ14に送出することができる。
この概略図では、センサ32およびハードウェアモニタ20を別個のモジュールとして示しているが、当業者には、センサの一部またはすべてをハードウェアモニタに統合できることが理解されよう。
この特定のコンポーネントの性質としては、例えば、電圧、温度、動作周波数などがある。
センサ32は、温度、電圧、駆動周波数などの1つまたは複数の動作パラメータの変化に対するコンポーネント28の応答を示すデータを生成することができる。
後に詳述するように、ハードウェアモニタ20は、この応答データを受け取り、解析を行うためにこのデータをコントローラ14に送出することができる。
この概略図では、センサ32およびハードウェアモニタ20を別個のモジュールとして示しているが、当業者には、センサの一部またはすべてをハードウェアモニタに統合できることが理解されよう。
図1Aを続けて参照して、デジタルパラメータ調整器22は、マージナブルコンポーネントの1つまたは複数のものに関連した動作パラメータを、選択された値域にわたって、直接的または中間モジュール30を介してのいずれかで変化させることができる。
より具体的に言うと、コントローラ14は、コンポーネント28の1つまたは複数のものに関連する選択された動作パラメータの値を変化させるようにデジタルパラメータ調整器22に指令するコマンド信号を、当該調整器に送出することができる。
より具体的に言うと、コントローラ14は、コンポーネント28の1つまたは複数のものに関連する選択された動作パラメータの値を変化させるようにデジタルパラメータ調整器22に指令するコマンド信号を、当該調整器に送出することができる。
例えば、図1Bのフローチャートを参照して、ステップAにおいて、被試験システムの主電源がオフの状態で、スタンバイ電力が、被試験システムに加えられる。
ステップBにおいて、「マージンモード設定」コマンドが、例えば外部システムからBMCに送出されて、マージン試験を開始するようにBMCに指令する。
BMCから確認応答を受け取ると、「マージン値設定」コマンドが、BMCに送出されて、例えば電圧や周波数といった被試験動作パラメータの値を試験値に設定するようにBMCに指令する(ステップC)。
ステップCは、すべてのマージンパラメータ値がSUTに送出され、それぞれ確認されるまで、繰り返すことができる。
その後、ステップDにおいて、「マージン開始コマンド」が、BMCに送出され、システムへの電力供給をBMCに行わせる。
すなわち、システムの主電源が、オンにされる。
ステップEにおいて、試験の進行が監視され、ログに記録される。
この試験ポイントにおいて試験が完了すると、主電源がオフにされ(ステップF)、上記手順は、すべての試験ポイントにおけるデータが収集されるまで、必要に応じて、他の試験ポイントに対して繰り返される。
ステップBにおいて、「マージンモード設定」コマンドが、例えば外部システムからBMCに送出されて、マージン試験を開始するようにBMCに指令する。
BMCから確認応答を受け取ると、「マージン値設定」コマンドが、BMCに送出されて、例えば電圧や周波数といった被試験動作パラメータの値を試験値に設定するようにBMCに指令する(ステップC)。
ステップCは、すべてのマージンパラメータ値がSUTに送出され、それぞれ確認されるまで、繰り返すことができる。
その後、ステップDにおいて、「マージン開始コマンド」が、BMCに送出され、システムへの電力供給をBMCに行わせる。
すなわち、システムの主電源が、オンにされる。
ステップEにおいて、試験の進行が監視され、ログに記録される。
この試験ポイントにおいて試験が完了すると、主電源がオフにされ(ステップF)、上記手順は、すべての試験ポイントにおけるデータが収集されるまで、必要に応じて、他の試験ポイントに対して繰り返される。
いくつかの実施の形態においては、マージン構成フェーズの間中、電源をオンに維持することができ、したがって、システム電源をオフにする必要はなくなる(ステップF)。
ただし、コンピュータシステムは、この手法を可能にするために、影響を受けるパラメータに対する動的変化に耐えるように設計されるべきである。
確認応答を使用することにより、BMCとコマンドを発行するマージン試験ステーションとの同期が保証される。
試験ステーションは、応答を必要とする各コマンドの発行後に、BMCをポーリングして、確認応答を得ることになる。
試験ステーションは、所定の期間内に応答を受け取らない場合には、コマンドを再送出してもよいし、定義された例外シーケンスを処理してもよいし、失敗終了コードを伴ってタイムアウトまたは停止してもよい。
ただし、コンピュータシステムは、この手法を可能にするために、影響を受けるパラメータに対する動的変化に耐えるように設計されるべきである。
確認応答を使用することにより、BMCとコマンドを発行するマージン試験ステーションとの同期が保証される。
試験ステーションは、応答を必要とする各コマンドの発行後に、BMCをポーリングして、確認応答を得ることになる。
試験ステーションは、所定の期間内に応答を受け取らない場合には、コマンドを再送出してもよいし、定義された例外シーケンスを処理してもよいし、失敗終了コードを伴ってタイムアウトまたは停止してもよい。
デジタルパラメータ調整器が、被試験コンピュータシステムの内部にあり、かつ、このようなコンピュータシステムの内部コントローラからのコマンド信号に応答することから、このようなデジタルパラメータ調整器を使用することにより、多くの利点が得られる。
例えば、ジャンパや抵抗器バンクを使用するなど、システムを侵襲する物理的な変更を行う必要なく、マージン試験が可能になる。
さらに、外部試験機器および試験用の非常に長いセットアップ時間の必要がなくなる。
加えて、人間の介入なしにソフトウェア制御の下で試験を可能にすることができる。
その上、対象となる動作パラメータの変化の必要な分解能を提供するデジタルパラメータ調整器を容易に選択することができる。
例えば、ジャンパや抵抗器バンクを使用するなど、システムを侵襲する物理的な変更を行う必要なく、マージン試験が可能になる。
さらに、外部試験機器および試験用の非常に長いセットアップ時間の必要がなくなる。
加えて、人間の介入なしにソフトウェア制御の下で試験を可能にすることができる。
その上、対象となる動作パラメータの変化の必要な分解能を提供するデジタルパラメータ調整器を容易に選択することができる。
さらに、本発明の教示によるマージン試験システムをコンピュータシステムに内蔵することにより、ポストプロダクションで設計欠陥に対処してこれを解決する非侵襲手法が提供されるという利点がある。
例えば、ASICが、バグのために、正常値よりも数パーセント高いVIO電圧が必要であると判明した場合、後に詳述する電圧マージン試験システムなどの本発明の電圧マージン試験システムを使用して、このASICに必要な電圧を供給することができる。
さらに、本発明のマージン試験システムに、プログラマブル周波数合成器などのプログラマブル素子を使用すると、以後のプラットフォームの設計が容易になる。
すなわち、同じ周波数合成器を後続の設計に利用することができ、これにより、例えば、フロントサイドバス周波数が増加し、したがって、後続の設計が簡略化され、設計変更に関連したリスクが緩和され、一般に、資材調達の関連コストが削減される。
例えば、ASICが、バグのために、正常値よりも数パーセント高いVIO電圧が必要であると判明した場合、後に詳述する電圧マージン試験システムなどの本発明の電圧マージン試験システムを使用して、このASICに必要な電圧を供給することができる。
さらに、本発明のマージン試験システムに、プログラマブル周波数合成器などのプログラマブル素子を使用すると、以後のプラットフォームの設計が容易になる。
すなわち、同じ周波数合成器を後続の設計に利用することができ、これにより、例えば、フロントサイドバス周波数が増加し、したがって、後続の設計が簡略化され、設計変更に関連したリスクが緩和され、一般に、資材調達の関連コストが削減される。
図2を参照して、コントローラ14は、オペレーティングシステム12上で実行されている管理エージェントと相互作用する必要なく、コンピュータシステム10のマージナブルコンポーネントのマージン試験を開始して達成することができる。
換言すると、コントローラ14は、帯域外システム監視を提供することができる。
帯域外という用語は、オペレーティングシステム(OS)の制御および/または介入から独立して動作できるコンピュータシステムの要素をいう。
コントローラ14は、必要な場合に、これらの管理エージェントと通信して、帯域内システム監視を提供することもできる。
換言すると、コントローラ14は、帯域外システム監視を提供することができる。
帯域外という用語は、オペレーティングシステム(OS)の制御および/または介入から独立して動作できるコンピュータシステムの要素をいう。
コントローラ14は、必要な場合に、これらの管理エージェントと通信して、帯域内システム監視を提供することもできる。
通常、帯域外動作は、コンピュータシステムのマージン試験を行うのに好ましい。
その理由は、システムのOSおよびそのエージェントが、マージン試験に関連したストレスの下で、クラッシュおよび他の異常な挙動の影響を受けやすい可能性があるからである。
マージン試験の進行を監視してログに記録することが望ましい。
例えば、ある試験ポイントにおいて不合格が発生すると、その試験ポイントに関する情報および他の関係データのログを記録することが望ましい。
例えばスタンバイ電源といったマージンの対象にされない電圧レールによって電力供給を受けるBMCなどの帯域外エージェントは、システムレベルのマージン設定によって影響を受けることはなく、したがって、マージン試験のこのような監視およびログ記録を行うのに利用することができる。
その理由は、システムのOSおよびそのエージェントが、マージン試験に関連したストレスの下で、クラッシュおよび他の異常な挙動の影響を受けやすい可能性があるからである。
マージン試験の進行を監視してログに記録することが望ましい。
例えば、ある試験ポイントにおいて不合格が発生すると、その試験ポイントに関する情報および他の関係データのログを記録することが望ましい。
例えばスタンバイ電源といったマージンの対象にされない電圧レールによって電力供給を受けるBMCなどの帯域外エージェントは、システムレベルのマージン設定によって影響を受けることはなく、したがって、マージン試験のこのような監視およびログ記録を行うのに利用することができる。
本発明の教示によるマージン試験システムは、さまざまな異なる方法で実施することができ、例えばサーバといったコンピュータシステムのプログラマブル統合マージン試験を可能にする。
一例として、図2は、コンピュータシステム10に内蔵された本発明のマージン試験の一実施の形態を概略的に示している。
このコンピュータシステム10は、コンピュータ14に加えて、電圧制御ブロック/モジュール(VCB(voltage control block))34、周波数制御ブロック/モジュール(FCB(frequency control block))36、および障害迂回ブロック(FBB(Fault bypass block))38を含む。
コントローラ14からのコマンドに応答して、電圧マージン試験および周波数マージン試験には、それぞれVCB34およびFCB36を使用することができ、また、マージン試験中の障害に対応するために、被試験システム(SUT)に統合された自動メカニズムを選択的にマスクするには、FBB38を使用することができる。
この例示のマージン試験システムは、周波数制御ブロックおよび電圧制御ブロックの双方を含むが、他の実施の形態は、電圧制御モジュールまたは周波数制御モジュールのみを含んでもよい。
一例として、図2は、コンピュータシステム10に内蔵された本発明のマージン試験の一実施の形態を概略的に示している。
このコンピュータシステム10は、コンピュータ14に加えて、電圧制御ブロック/モジュール(VCB(voltage control block))34、周波数制御ブロック/モジュール(FCB(frequency control block))36、および障害迂回ブロック(FBB(Fault bypass block))38を含む。
コントローラ14からのコマンドに応答して、電圧マージン試験および周波数マージン試験には、それぞれVCB34およびFCB36を使用することができ、また、マージン試験中の障害に対応するために、被試験システム(SUT)に統合された自動メカニズムを選択的にマスクするには、FBB38を使用することができる。
この例示のマージン試験システムは、周波数制御ブロックおよび電圧制御ブロックの双方を含むが、他の実施の形態は、電圧制御モジュールまたは周波数制御モジュールのみを含んでもよい。
各マージン試験ブロック34、36、および38は、コントローラ14の制御下でサーバの選択されたコンポーネントのマージン試験を行うのに必要なデバイスおよび関連回路を内蔵している。
以下では、これらのモジュールのそれぞれの例示の実施態様をさらに提供する。
以下では、これらのモジュールのそれぞれの例示の実施態様をさらに提供する。
図2を続けて参照して、コントローラ14は、バス18を介して、VCBモジュール、FCBモジュール、およびFBBモジュールそれぞれと通信し、これらのモジュールにコマンドを送出することができる。
バス18は、コントローラとこれらのモジュールとの間の通信を提供する任意の適切なバスとすることができる。
例えば、後述する本発明のいくつかの実施の形態では、バス18は、I2Cプライベートバスである。
さらに、コントローラ14は、例えばPCIバスといったシステムインターフェース16を介して、サーバのオペレーティングシステムおよび1つまたは複数の管理エージェントとも通信することができる。
バス18は、コントローラとこれらのモジュールとの間の通信を提供する任意の適切なバスとすることができる。
例えば、後述する本発明のいくつかの実施の形態では、バス18は、I2Cプライベートバスである。
さらに、コントローラ14は、例えばPCIバスといったシステムインターフェース16を介して、サーバのオペレーティングシステムおよび1つまたは複数の管理エージェントとも通信することができる。
スタンバイ電源40は、システムの主電源(図示せず)がオフにされている場合に、コントローラ14に電力を供給して、コントローラが機能できることを保証することができる。
これに加えて、スタンバイ電源40は、コンピュータシステムのマージン試験に参加するVCB34、FCB36、FBB38などの他の要素にも電力を供給することができる。
さらに、コントローラ14は、バス18を介して電力制御回路42にコマンドを送出し、サーバの主電源のオンからオフへの切り換えおよびその逆への切り換えを制御することができる。
これに加えて、スタンバイ電源40は、コンピュータシステムのマージン試験に参加するVCB34、FCB36、FBB38などの他の要素にも電力を供給することができる。
さらに、コントローラ14は、バス18を介して電力制御回路42にコマンドを送出し、サーバの主電源のオンからオフへの切り換えおよびその逆への切り換えを制御することができる。
外部システム22は、例えば、ユーザエンティティとすることもできるし、スクリプトエンティティとすることもできる。
この外部システム22は、コントローラ14にコマンドを送出して、サーバのマージン試験を開始することができる。
より具体的に言うと、外部システム22は、ユーザまたは事前にプログラムされた命令セットを介してコントローラ14にコマンドを送出し、サーバの選択されたコンポーネントのマージン試験をコントローラに開始させることができる。
このようなマージン試験は、通常、主電源をオフにした状態で、かつ、スタンバイ電源がコントローラと、例えばVCB34、FCB36、およびFBB38といった補助的なマージン試験ブロックとに電力を供給する状態で開始される。
コントローラは、外部システム22からのコマンドに応答して、VCB、FCB、および/またはFBBなどの1つまたは複数のマージン試験ブロックにコマンド信号を送出し、サーバのマージナブルコンポーネントの試験を再開する。
通常、コントローラ14は、後に詳述するように、マージン試験の実行中に、選択された障害をマスクするようにFBB38に指令する。
この外部システム22は、コントローラ14にコマンドを送出して、サーバのマージン試験を開始することができる。
より具体的に言うと、外部システム22は、ユーザまたは事前にプログラムされた命令セットを介してコントローラ14にコマンドを送出し、サーバの選択されたコンポーネントのマージン試験をコントローラに開始させることができる。
このようなマージン試験は、通常、主電源をオフにした状態で、かつ、スタンバイ電源がコントローラと、例えばVCB34、FCB36、およびFBB38といった補助的なマージン試験ブロックとに電力を供給する状態で開始される。
コントローラは、外部システム22からのコマンドに応答して、VCB、FCB、および/またはFBBなどの1つまたは複数のマージン試験ブロックにコマンド信号を送出し、サーバのマージナブルコンポーネントの試験を再開する。
通常、コントローラ14は、後に詳述するように、マージン試験の実行中に、選択された障害をマスクするようにFBB38に指令する。
本発明の多くの実施の形態では、マージン試験が開始されると、被試験システムのマージナブルコンポーネントに加えられる電圧または周波数を多くの所定の離散値にわたってステップ状に変化させるようにプログラムできるファームウェアを、コントローラ14が含んでいる。
あるいは、マージン試験が開始されると、外部システム22が、一連のコマンドをコントローラに送出することができ、これらのコマンドのそれぞれが、周波数または電圧を所望の試験値に設定するようにコントローラに指令することができる。
電圧または周波数の各値において、システムの応答が監視され、解析される。
あるいは、マージン試験が開始されると、外部システム22が、一連のコマンドをコントローラに送出することができ、これらのコマンドのそれぞれが、周波数または電圧を所望の試験値に設定するようにコントローラに指令することができる。
電圧または周波数の各値において、システムの応答が監視され、解析される。
図2を続けて参照して、後に詳述するように、コントローラからのコマンドに応答して、マージン試験モジュール36は、CPUや同期バスなどの選択されたコンポーネントに加えられるクロック周波数を調整することができ、VCBモジュール34は、選択された電力レールの電圧を調整することができる。
例えば、FCB36は、選択された範囲に及ぶ多数の離散値にわたってクロック周波数をステップ状に変化させることができ、VCBは、選択されたレール電圧を一組の離散値にわたってステップ状に変化させることができる。
クロック周波数の各値すなわちレール電圧において、システムの応答を監視し、かつ記録することができる。
例えば、FCB36は、選択された範囲に及ぶ多数の離散値にわたってクロック周波数をステップ状に変化させることができ、VCBは、選択されたレール電圧を一組の離散値にわたってステップ状に変化させることができる。
クロック周波数の各値すなわちレール電圧において、システムの応答を監視し、かつ記録することができる。
本発明の好ましい実施の形態では、マージン試験を行うことができるコンポーネントおよびサブシステム、すなわちマージンコンポーネントは、例えばコントローラ14によってデフォルト以外となるように指令を受けるまで、デフォルトで定格状態にある。
例えば、レール電圧は、例えばVCBを介して定格値から外れるようにプログラムされていない限り、デフォルトで定格値をとる。
さらに、これらのデフォルト値は、システム電源が投入されるごとに再設定することができる。
例えば、レール電圧は、例えばVCBを介して定格値から外れるようにプログラムされていない限り、デフォルトで定格値をとる。
さらに、これらのデフォルト値は、システム電源が投入されるごとに再設定することができる。
図3を参照して、コントローラ14からのマージン試験コマンドに応答して、VCBモジュール34が使用され、それによって、選択されたレール44の電圧を調整することができる。
本明細書では、レール44をマージナブル電圧レールとも呼ぶ。
本明細書では、レール44をマージナブル電圧レールとも呼ぶ。
電圧制御ブロック34は、さまざまな異なる方法で実施することができる。
後に詳述するが(図10および図11を参照)、このような一実態態様では、VCB34は、デジタルポテンショメータを含むことができる。
このデジタルポテンショメータは、電圧レギュレータの抵抗フィードバック回路に内蔵されている。
この電圧レギュレータの出力が、レール電圧に対応する。
デジタルポテンショメータは、コントローラからのコマンドに応答して、レギュレータのフィードバック回路の抵抗を変化させることができ、それによって、レギュレータの出力電圧を変化させることができる。
後に詳述するが(図10および図11を参照)、このような一実態態様では、VCB34は、デジタルポテンショメータを含むことができる。
このデジタルポテンショメータは、電圧レギュレータの抵抗フィードバック回路に内蔵されている。
この電圧レギュレータの出力が、レール電圧に対応する。
デジタルポテンショメータは、コントローラからのコマンドに応答して、レギュレータのフィードバック回路の抵抗を変化させることができ、それによって、レギュレータの出力電圧を変化させることができる。
図2を再び参照して、FCB36モジュールも、さまざまな異なる方法で実施することができる。
例えば、図5を参照して後に詳述する一実施態様では、FCB36は、デジタル周波数合成器を含むことができる。
このデジタル周波数合成器の出力周波数を、選択されたマージナブルシステムコンポーネントに加えることができ、コントローラからのコマンドに応答して変化させることができる。
このように、1つまたは複数のマージン試験周波数を、周波数マージン試験が必要とされるCPUなどのシステムコンポーネントに加えることができる。
例えば、図5を参照して後に詳述する一実施態様では、FCB36は、デジタル周波数合成器を含むことができる。
このデジタル周波数合成器の出力周波数を、選択されたマージナブルシステムコンポーネントに加えることができ、コントローラからのコマンドに応答して変化させることができる。
このように、1つまたは複数のマージン試験周波数を、周波数マージン試験が必要とされるCPUなどのシステムコンポーネントに加えることができる。
図2を続けて参照して、コンピュータシステム10に統合された自動応答障害メカニズムが、システムのマージン試験に悪影響を与えないことを保証するために、障害迂回ブロック38は、マージン試験の間、選択された障害をマスクすることができる。
このような自動応答障害メカニズムは、例えばダイオードを介した温度監視といった環境の安全措置を提供することもできるし、電圧上昇/低下「パワーグッド(power-good)」リセット回路、もしくはシステムリセットを引き起こすことができるあらゆるホットスワップ「ヘルシー」出力、または他の類似のメカニズムに関係付けることもできる。
後に詳述するように、FBB38は、デジタル有効/無効信号を使用して、マージン試験の間、選択式障害ラインを無効にすることができ、試験が完了すると、それらのラインを再び有効にすることができる。
FBBは、上述した他のマージン試験モジュールと同様に、スタンバイ電源から電力を受け取ることができ、主電源がマージン試験の間オフされている場合にも動作することができる。
このような自動応答障害メカニズムは、例えばダイオードを介した温度監視といった環境の安全措置を提供することもできるし、電圧上昇/低下「パワーグッド(power-good)」リセット回路、もしくはシステムリセットを引き起こすことができるあらゆるホットスワップ「ヘルシー」出力、または他の類似のメカニズムに関係付けることもできる。
後に詳述するように、FBB38は、デジタル有効/無効信号を使用して、マージン試験の間、選択式障害ラインを無効にすることができ、試験が完了すると、それらのラインを再び有効にすることができる。
FBBは、上述した他のマージン試験モジュールと同様に、スタンバイ電源から電力を受け取ることができ、主電源がマージン試験の間オフされている場合にも動作することができる。
一例として、図4Aを参照して、FBB36の一実施態様は、プログラマブルロジックデバイス(PLD)46を含むことができる。
このPLD46は、コントローラから信号を受け取って、選択式自動障害応答メカニズムを無効にする。
例えば、コントローラ14は、「マージンモード」で動作するようにPLD46に指令することができる。
この「マージンモード」は、被試験システムで発生し得る選択された障害割り込みをPLDがインターセプトしてマスクできるモードである。
この例では、コンピュータシステムのマージン試験が進行中の間、PLDは、ハードウェアモニタ20と通信して、一般にシステムの障害を示す信号を受け取ってインターセプトすることができ、これらの信号を選択的にマスクすることができる。
例えば、後に詳述するように、マージンモードで動作中、PLD46は、電力制御素子42に適切な信号を供給して、コンピュータシステムの選択された電力レールの電圧マージン試験が進行中の間、電力制御素子42がコンピュータシステムの電源を切断しないことを保証することができる。
マージン試験が行われていない時、すなわち、PLDがマージンモードで動作していない時、PLDは、ハードウェアモニタ20から障害信号を受け取ると、この信号を電力制御素子42に渡す。
それによって、妥当な電圧障害が発生した時に、適切な動作が続くことが保証される。
本発明の実施においては、多数の市販のPLDを使用することができる。
例えば、米国カリフォルニア州サンノゼにあるAltera Corporationが商品名MAX7000Bで販売しているPLDを使用することができる。
このPLD46は、コントローラから信号を受け取って、選択式自動障害応答メカニズムを無効にする。
例えば、コントローラ14は、「マージンモード」で動作するようにPLD46に指令することができる。
この「マージンモード」は、被試験システムで発生し得る選択された障害割り込みをPLDがインターセプトしてマスクできるモードである。
この例では、コンピュータシステムのマージン試験が進行中の間、PLDは、ハードウェアモニタ20と通信して、一般にシステムの障害を示す信号を受け取ってインターセプトすることができ、これらの信号を選択的にマスクすることができる。
例えば、後に詳述するように、マージンモードで動作中、PLD46は、電力制御素子42に適切な信号を供給して、コンピュータシステムの選択された電力レールの電圧マージン試験が進行中の間、電力制御素子42がコンピュータシステムの電源を切断しないことを保証することができる。
マージン試験が行われていない時、すなわち、PLDがマージンモードで動作していない時、PLDは、ハードウェアモニタ20から障害信号を受け取ると、この信号を電力制御素子42に渡す。
それによって、妥当な電圧障害が発生した時に、適切な動作が続くことが保証される。
本発明の実施においては、多数の市販のPLDを使用することができる。
例えば、米国カリフォルニア州サンノゼにあるAltera Corporationが商品名MAX7000Bで販売しているPLDを使用することができる。
FBBモジュールの実施態様および機能のさらなる図として、図4Bは、FBBモジュール38が、コントローラ14およびハードウェアモニタ20と通信することを示している。
この例においては、ハードウェアモニタ20として、米国カリフォルニア州サンタクララのNational Semiconductor companyが商品名LM87で販売している集積回路が選択される。
LM87チップは、サーバやパーソナルコンピュータなどのさまざまなコンピュータシステムのハードウェア監視用に使用できるデータ収集システムである。
例えば、LM87を使用して、電源電圧、マザーボードの温度およびプロセッサの温度、ならびにファン速度を監視することができる。
LM87は、I2Cバスと互換性のあるシリアルバスインターフェースを含む。
したがって、コントローラ14が、BMCであるか、または、互換機能を有する類似のデバイスである実施の形態では、LM87は、I2Cバスを介してコントローラ14と通信することができる。
この例においては、ハードウェアモニタ20として、米国カリフォルニア州サンタクララのNational Semiconductor companyが商品名LM87で販売している集積回路が選択される。
LM87チップは、サーバやパーソナルコンピュータなどのさまざまなコンピュータシステムのハードウェア監視用に使用できるデータ収集システムである。
例えば、LM87を使用して、電源電圧、マザーボードの温度およびプロセッサの温度、ならびにファン速度を監視することができる。
LM87は、I2Cバスと互換性のあるシリアルバスインターフェースを含む。
したがって、コントローラ14が、BMCであるか、または、互換機能を有する類似のデバイスである実施の形態では、LM87は、I2Cバスを介してコントローラ14と通信することができる。
図4Bを続けて参照して、FBB38は、LM87ハードウェアモニタのさまざまな機能に影響を与えることができ、例えば、電圧監視、温度監視、およびファン速度制御に影響を与えることができる。
例えば、電圧マージン試験が行われていない時、すなわち、コンピュータシステムの通常動作中に、システムの電力レールの電圧は、LM87によって監視される。
そして、この電圧が、その正常値から例えば5%といった選択された量よりも大きく変化すると、INT#ALERT#として示されるLM87の出力ピンは、割り込み信号を発生させることができる。
FBBモジュール38がない場合には、この割り込み信号は、通常、電力制御素子42に供給され、例えばコンピュータシステムの電源を切断するといった適切な動作を電力制御素子42に取らせる。
例えば、電圧マージン試験が行われていない時、すなわち、コンピュータシステムの通常動作中に、システムの電力レールの電圧は、LM87によって監視される。
そして、この電圧が、その正常値から例えば5%といった選択された量よりも大きく変化すると、INT#ALERT#として示されるLM87の出力ピンは、割り込み信号を発生させることができる。
FBBモジュール38がない場合には、この割り込み信号は、通常、電力制御素子42に供給され、例えばコンピュータシステムの電源を切断するといった適切な動作を電力制御素子42に取らせる。
一方、この例では、FBB38が、この割り込み信号を受け取る。
コンピュータシステムの電圧マージン試験が進行中でない場合に、FBBは、電圧障害に応じて適切な動作を取ることができるように、この割り込み信号を電力制御素子42に送出する。
一方、LM87が監視を行う電力レールの電圧マージン試験中においては、このレールの電圧が、閾値よりも大きく変化して、通常は電圧障害を引き起こす値となることがある。
例えば、レールの電圧マージン試験の間、レールの電圧は、通例、5パーセントよりも大きく変化される。
したがって、電圧マージン試験の間、FBB38は、例えばコントローラ14からのコマンドに応答して、マージンモードで動作し、LM87が発生させる割り込み信号を電力制御素子から「マスク」する。
換言すると、FBBは、LM87から受け取った割り込み信号を送出せず、障害が検出されていないことを示す適切な信号レベルを電力制御素子42に提供する。
このような割り込み信号のマスクにより、電力制御素子は、システムの通常動作中には電圧障害への対応を提供する一方で、電圧マージン試験を妨害しないことが保証される。
コンピュータシステムの電圧マージン試験が進行中でない場合に、FBBは、電圧障害に応じて適切な動作を取ることができるように、この割り込み信号を電力制御素子42に送出する。
一方、LM87が監視を行う電力レールの電圧マージン試験中においては、このレールの電圧が、閾値よりも大きく変化して、通常は電圧障害を引き起こす値となることがある。
例えば、レールの電圧マージン試験の間、レールの電圧は、通例、5パーセントよりも大きく変化される。
したがって、電圧マージン試験の間、FBB38は、例えばコントローラ14からのコマンドに応答して、マージンモードで動作し、LM87が発生させる割り込み信号を電力制御素子から「マスク」する。
換言すると、FBBは、LM87から受け取った割り込み信号を送出せず、障害が検出されていないことを示す適切な信号レベルを電力制御素子42に提供する。
このような割り込み信号のマスクにより、電力制御素子は、システムの通常動作中には電圧障害への対応を提供する一方で、電圧マージン試験を妨害しないことが保証される。
図4Bを続けて参照して、被試験コンピュータシステムの選択されたコンポーネントの温度マージン試験の間、FBBモジュール38は、温度障害信号のマスクを提供することもできる。
コンピュータシステムが通常動作にある間、例えばダイオード48によって監視されるCPUの温度といった1つまたは複数の監視温度が、選択された閾値を超えると、コンピュータシステムは、重要なシステム警告を生成してログに記録することもできるし、ファンの速度を上昇させることもできるし、システムの電源切断を開始することさえできる。
温度マージン試験の間は、通常、このような閾値を越えることが発生する。
したがって、温度マージン試験の間、FBB38は、温度障害信号をマスクして、マージン試験が妨害なく進行することを保証することができる。
例えば、FBBは、システムのマージン試験の間、LM87のTHERM#として示される出力ピンで発生した温度割り込み信号をインターセプトすることができ、そして、この信号をマスクすることができる。
例えば、FBBは、インターセプトしたTHERM#信号を電力制御素子42に送出せず、温度障害が発生していないことを示す別の信号を電力制御素子42に送出することもできるし、割り込み駆動方式の場合には信号を送出しないこともできる。
コンピュータシステムが通常動作にある間、例えばダイオード48によって監視されるCPUの温度といった1つまたは複数の監視温度が、選択された閾値を超えると、コンピュータシステムは、重要なシステム警告を生成してログに記録することもできるし、ファンの速度を上昇させることもできるし、システムの電源切断を開始することさえできる。
温度マージン試験の間は、通常、このような閾値を越えることが発生する。
したがって、温度マージン試験の間、FBB38は、温度障害信号をマスクして、マージン試験が妨害なく進行することを保証することができる。
例えば、FBBは、システムのマージン試験の間、LM87のTHERM#として示される出力ピンで発生した温度割り込み信号をインターセプトすることができ、そして、この信号をマスクすることができる。
例えば、FBBは、インターセプトしたTHERM#信号を電力制御素子42に送出せず、温度障害が発生していないことを示す別の信号を電力制御素子42に送出することもできるし、割り込み駆動方式の場合には信号を送出しないこともできる。
図4Bを続けて参照して、この例示の図では、FBB38を利用して、ファン50の速度を制御することもできる。
特に、FBBは、ファンが発生させる出力信号、すなわちファンの「回転計」出力を受け取る。
この出力信号は、ファンの速度を示すものである。
コンピュータシステムの通常動作中、FBBは、この信号をLM87ハードウェアモニタに送出する。
温度が、選択された温度閾値を越えた場合にファンの速度を上昇させるように、LM87をプログラムすることができる。
例えば、LM87は、ファンの速度を上昇させるように、そのDACOut/NTEST_Inピンが発生させる信号の振幅を変更することができる。
この信号は、制御信号として増幅器52に加えられ、増幅器52は、ファンに電力を供給する。
マージン試験の間、LM87からファンへの制御信号を無効にして、例えば、ファンの故障状況下、または、温度が選択された閾値を超えている状況下でのコンピュータシステムの信頼性を試験することが望ましい場合がある。
例えば、FBBは、ファンから受け取った実際の「回転計」信号ではなく、模擬「回転計」信号をLM87に供給することができ、それによって、システムのマージン試験の間、実際のファンの速度がより低いレベルに低減されている場合であっても、ファンがフルスピードで回転していることを示すことができる。
模擬回転計信号によって、LM87が、例えば、上述したような増幅器52に訂正信号を加えることによりファンの速度を上昇させる動作を取らないようにすることが保証される。
それによって、マージン試験を進行させることが可能になる。
特に、FBBは、ファンが発生させる出力信号、すなわちファンの「回転計」出力を受け取る。
この出力信号は、ファンの速度を示すものである。
コンピュータシステムの通常動作中、FBBは、この信号をLM87ハードウェアモニタに送出する。
温度が、選択された温度閾値を越えた場合にファンの速度を上昇させるように、LM87をプログラムすることができる。
例えば、LM87は、ファンの速度を上昇させるように、そのDACOut/NTEST_Inピンが発生させる信号の振幅を変更することができる。
この信号は、制御信号として増幅器52に加えられ、増幅器52は、ファンに電力を供給する。
マージン試験の間、LM87からファンへの制御信号を無効にして、例えば、ファンの故障状況下、または、温度が選択された閾値を超えている状況下でのコンピュータシステムの信頼性を試験することが望ましい場合がある。
例えば、FBBは、ファンから受け取った実際の「回転計」信号ではなく、模擬「回転計」信号をLM87に供給することができ、それによって、システムのマージン試験の間、実際のファンの速度がより低いレベルに低減されている場合であっても、ファンがフルスピードで回転していることを示すことができる。
模擬回転計信号によって、LM87が、例えば、上述したような増幅器52に訂正信号を加えることによりファンの速度を上昇させる動作を取らないようにすることが保証される。
それによって、マージン試験を進行させることが可能になる。
当業者には、本発明のFBBモジュールを利用して、上述した障害以外の障害も、必要に応じてマスクできることが理解されよう。
例えば、周波数マージン試験中においては、選択された閾値と交差する1つまたは複数のマージナブルコンポーネントに加えられるクロック周波数に応じて発生し得るシステム検出障害を、FBBを使用してマスクすることができる。
例えば、周波数マージン試験中においては、選択された閾値と交差する1つまたは複数のマージナブルコンポーネントに加えられるクロック周波数に応じて発生し得るシステム検出障害を、FBBを使用してマスクすることができる。
別の例として、FBBは、IntelのXeonクラスのプロセッサの標準的な温度応答メカニズム内に介入するように設計することができる。
デュアルクラスまたはマルチクラスのXeonプロセッサは、例えばTCC(温度制御回路)といった温度監視機能を含み、高温の動作状況に応じて、コアのクロックのデューティサイクルを自動的に、かつ/または、外部起動により変調することができる。
この高温の動作状況は、マージン温度試験環境で生じる状況と同様のものとすることができる。
例えばPROCHOT#、THERMTRIPなど、このような温度に関係したプロセッサ信号に応答するようにFBBをプログラムすることができ、デューティサイクルの変調を無効にしたり起動したりして、所望のプロセッサ応答挙動を得るようにすることができる。
なお、このデューティサイクルの変調は、性能を低下させるものである。
これは、サポートされたすべての動作状況下で処理電力が完全に利用可能であることを必要とするコンピュータ集約型システムを適格とする場合に有益となり得る。
生産においては、FBBを使用して、所与のプラットフォーム向けに定義された温度ルールに従って構成を行い、動的に応答を行うことが可能になる。
したがって、異なる顧客のインストールモデルに従って指定されたプラットフォーム上で、設計コンポーネントおよび接続方式を利用することが可能になる。
デュアルクラスまたはマルチクラスのXeonプロセッサは、例えばTCC(温度制御回路)といった温度監視機能を含み、高温の動作状況に応じて、コアのクロックのデューティサイクルを自動的に、かつ/または、外部起動により変調することができる。
この高温の動作状況は、マージン温度試験環境で生じる状況と同様のものとすることができる。
例えばPROCHOT#、THERMTRIPなど、このような温度に関係したプロセッサ信号に応答するようにFBBをプログラムすることができ、デューティサイクルの変調を無効にしたり起動したりして、所望のプロセッサ応答挙動を得るようにすることができる。
なお、このデューティサイクルの変調は、性能を低下させるものである。
これは、サポートされたすべての動作状況下で処理電力が完全に利用可能であることを必要とするコンピュータ集約型システムを適格とする場合に有益となり得る。
生産においては、FBBを使用して、所与のプラットフォーム向けに定義された温度ルールに従って構成を行い、動的に応答を行うことが可能になる。
したがって、異なる顧客のインストールモデルに従って指定されたプラットフォーム上で、設計コンポーネントおよび接続方式を利用することが可能になる。
周波数制御ブロックおよび電圧制御ブロックの例示の実施の形態を以下に提供する。
例えば、以下の実施の形態は、本発明の教示によるデジタル周波数合成器をサーバコンピュータシステムに内蔵したものを示している。
このサーバコンピュータシステムは、周波数マージン試験用にインテリジェントプラットフォーム管理インターフェース(IPMI)プロトコルを使用する。
例えば、以下の実施の形態は、本発明の教示によるデジタル周波数合成器をサーバコンピュータシステムに内蔵したものを示している。
このサーバコンピュータシステムは、周波数マージン試験用にインテリジェントプラットフォーム管理インターフェース(IPMI)プロトコルを使用する。
より具体的に言うと、図5は、業界標準のIPMIを利用して帯域内管理機能および帯域外管理機能を実施するサーバコンピュータシステム54を概略的に示している。
この例示のサーバ54は、BMCコントローラ56を含む。
このBMCコントローラ56は、第1に、監視、イベントログ記録、エラー回復などの帯域内および帯域外のハードウェア管理またはソフトウェア管理を制御する。
BMC56は、サーバのホストプロセッサ上で実行されているサーバのオペレーティングシステムおよび管理エージェントアプリケーションとシステムインターフェース16を介して通信する。
この例示のサーバ54は、BMCコントローラ56を含む。
このBMCコントローラ56は、第1に、監視、イベントログ記録、エラー回復などの帯域内および帯域外のハードウェア管理またはソフトウェア管理を制御する。
BMC56は、サーバのホストプロセッサ上で実行されているサーバのオペレーティングシステムおよび管理エージェントアプリケーションとシステムインターフェース16を介して通信する。
図示したBMCコントローラは、プライベートI2C(集積回路間)バス58を使用して、サーバの選択されたサブシステムおよびコンポーネントと通信する。
例えば、この例示の実施の形態では、BMC56は、I2Cバス58を介して、ハードウェアモニタ20およびシリアル電気的消去可能プログラマブル読み出し専用メモリ(SEEPROM)60と通信する。
このSEEPROM60は、サーバのマザーボードを識別するための情報を含んでいる。
BMC56は、I2Cバス58を利用して、図面には図示しない他の内部サーバモジュールとも通信できることが理解されるべきである。
例えば、この例示の実施の形態では、BMC56は、I2Cバス58を介して、ハードウェアモニタ20およびシリアル電気的消去可能プログラマブル読み出し専用メモリ(SEEPROM)60と通信する。
このSEEPROM60は、サーバのマザーボードを識別するための情報を含んでいる。
BMC56は、I2Cバス58を利用して、図面には図示しない他の内部サーバモジュールとも通信できることが理解されるべきである。
BMC56は、さらに、I2Cベースのインテリジェントプラットフォーム管理バス(IPMB)を使用して、図示したFRU62やFRU64などの1つまたは複数のフィールド交換可能ユニット(FRU)と通信し、これらのFRUを管理する。
これらのFRUは、サテライト(satellite)管理コントローラなどのインテリジェントデバイスとすることもできるし、SEEPROMなどの受動デバイスとすることもできる。
これらのFRUは、サテライト(satellite)管理コントローラなどのインテリジェントデバイスとすることもできるし、SEEPROMなどの受動デバイスとすることもできる。
図5を続けて参照して、例示のサーバ54は、例えばプログラマブル周波数合成器といったクロックジェネレータ66をさらに含む。
このクロックジェネレータ66は、本発明の教示によるサーバ54に内蔵されて、BMC56と通信する。
特に、例示のクロックジェネレータ66は、I2Cインターフェース66aを含む。
このI2Cインターフェース66aは、I2Cバスに自身を接続して、BMC56からのメッセージを受け取ることを可能にする。
図示した周波数合成器66は、例えば内部水晶発振器66bから基準クロック信号を受け取ることができ、この入力基準信号の選択された倍数の出力クロック信号を生成することができる。
この出力クロック信号をマージナブルシステムコンポーネント68に加えて、そのマージン試験を行うことができる。
このクロックジェネレータ66は、本発明の教示によるサーバ54に内蔵されて、BMC56と通信する。
特に、例示のクロックジェネレータ66は、I2Cインターフェース66aを含む。
このI2Cインターフェース66aは、I2Cバスに自身を接続して、BMC56からのメッセージを受け取ることを可能にする。
図示した周波数合成器66は、例えば内部水晶発振器66bから基準クロック信号を受け取ることができ、この入力基準信号の選択された倍数の出力クロック信号を生成することができる。
この出力クロック信号をマージナブルシステムコンポーネント68に加えて、そのマージン試験を行うことができる。
より具体的に言うと、BMC56は、周波数合成器66と通信して、その出力クロック周波数を、選択された範囲内の多数の離散値にわたって変化させることができる。
この出力クロック周波数の変化を利用して、マージナブルシステムコンポーネント68の周波数マージン試験を行うことができる。
換言すると、BMC56は、マージン制御コマンドをクロックジェネレータに動的に発行して、その出力周波数を変化させることができる。
この出力クロック周波数の変化を利用して、マージナブルシステムコンポーネント68の周波数マージン試験を行うことができる。
換言すると、BMC56は、マージン制御コマンドをクロックジェネレータに動的に発行して、その出力周波数を変化させることができる。
本発明の実施においては、さまざまなI2C構成可能な集積回路クロックジェネレータを使用して、周波数マージン試験を行うことができる。
このような現代のクロックジェネレータは、低ジッタおよび高速クロック周波数を通常必要とする周波数マージン試験にクロックジェネレータ自体を特に適合させる高い精度および内部フィードバック調節を提供するのに好都合である。
スペクトル拡散機能も、EMI(電磁妨害)問題の緩和を手助けするのに利用可能である。
このような現代のクロックジェネレータは、低ジッタおよび高速クロック周波数を通常必要とする周波数マージン試験にクロックジェネレータ自体を特に適合させる高い精度および内部フィードバック調節を提供するのに好都合である。
スペクトル拡散機能も、EMI(電磁妨害)問題の緩和を手助けするのに利用可能である。
一例として、図6Aは、本発明の実施での使用に適した汎用プログラマブル周波数合成器の簡略化した回路図を概略的に示している。
クロックジェネレータ70は、内部水晶発振器72を含むことができる。
この内部水晶発振器72は、基準信号として利用可能な選択された周波数の安定した信号を提供することができる。
あるいは、合成器70は、自身の入力ポート70aに接続された外部基準信号を使用することもできる。
例示の周波数合成器70は、I2Cインターフェース74をさらに含む。
このI2Cインターフェース74は、I2Cバスおよびレジスタ76との通信を可能にする。
レジスタ76は、例えばBMC56(図5)から受け取った命令を記憶することができる。
クロックジェネレータ70は、内部水晶発振器72を含むことができる。
この内部水晶発振器72は、基準信号として利用可能な選択された周波数の安定した信号を提供することができる。
あるいは、合成器70は、自身の入力ポート70aに接続された外部基準信号を使用することもできる。
例示の周波数合成器70は、I2Cインターフェース74をさらに含む。
このI2Cインターフェース74は、I2Cバスおよびレジスタ76との通信を可能にする。
レジスタ76は、例えばBMC56(図5)から受け取った命令を記憶することができる。
基準信号は、水晶発振器72によって生成されるか、または、外部信号源によって供給され、フェーズロックループ回路78に供給される。
フェーズロックループ回路78は、レジスタ76に記憶された命令に基づいて、基準信号を2の累乗倍(binary multiple)した周波数の出力信号を生成する。
より具体的に言うと、例示のフェーズロックループ回路78は、位相検出器80、ローパスフィルタ82、電圧制御発振器(VCO)84、およびモジュロn分周器86を含む。
分周器86は、レジスタ76に接続され、VCOの出力信号を受け取って、そのVCO信号の周波数の選択された2進の小数(binary fraction)である周波数の出力信号を生成する。
より具体的に言うと、レジスタ76に記憶された命令は、2進数の因数を決定する。
分周器の出力信号の周波数は、この因数分だけ、その入力信号の周波数、すなわちVCOの出力信号の周波数と異なる。
位相検出器78は、分周器の出力信号の位相を基準信号の位相と比較し、あらゆる測定された差に基づいて訂正信号を生成する。
この訂正信号は、次に、ローパスフィルタ82を介してVCO84に加えられ、必要に応じてVCOの出力周波数をシフトさせ、最終的にVCOの出力周波数を、基準周波数の所望の2の累乗倍に固定する。
このように、周波数合成器は、例えばBMC56(図5)から受け取った命令によって決定された周波数の出力信号を生成する。
フェーズロックループ回路78は、レジスタ76に記憶された命令に基づいて、基準信号を2の累乗倍(binary multiple)した周波数の出力信号を生成する。
より具体的に言うと、例示のフェーズロックループ回路78は、位相検出器80、ローパスフィルタ82、電圧制御発振器(VCO)84、およびモジュロn分周器86を含む。
分周器86は、レジスタ76に接続され、VCOの出力信号を受け取って、そのVCO信号の周波数の選択された2進の小数(binary fraction)である周波数の出力信号を生成する。
より具体的に言うと、レジスタ76に記憶された命令は、2進数の因数を決定する。
分周器の出力信号の周波数は、この因数分だけ、その入力信号の周波数、すなわちVCOの出力信号の周波数と異なる。
位相検出器78は、分周器の出力信号の位相を基準信号の位相と比較し、あらゆる測定された差に基づいて訂正信号を生成する。
この訂正信号は、次に、ローパスフィルタ82を介してVCO84に加えられ、必要に応じてVCOの出力周波数をシフトさせ、最終的にVCOの出力周波数を、基準周波数の所望の2の累乗倍に固定する。
このように、周波数合成器は、例えばBMC56(図5)から受け取った命令によって決定された周波数の出力信号を生成する。
本発明の実施においては、さまざまな市販のプログラマブル周波数合成器を使用することができる。
例えば、本発明の実施での使用に適したクロックジェネレータとして、米国アイダホ州ポカテロのAMI Semiconductorが商品名FS7140/FS7145で販売しているプログラマブルフェーズロックループクロックジェネレータを選択することができる。
例えば、本発明の実施での使用に適したクロックジェネレータとして、米国アイダホ州ポカテロのAMI Semiconductorが商品名FS7140/FS7145で販売しているプログラマブルフェーズロックループクロックジェネレータを選択することができる。
図2および図6Bを参照して、別の実施の形態では、クロック信号源88、90、92などの複数のクロック信号源を利用することにより、FCBモジュール36を実施することができる。
クロック信号源88、90、および92のそれぞれは、選択された周波数のクロック信号を生成する。
一例として、クロック信号源88は、95MHzの周波数の信号を生成できる一方、クロック信号源90および92は、それぞれ100MHzおよび105MHzの信号を生成できる。
マルチプレクサ94は、入力信号として各クロック信号源の出力を受け取る。
コントローラ14からのコマンドに応答して、マルチプレクサ94は、これらのクロック信号の1つを選択してその出力へ試験周波数として転送し、コンピュータシステムのマージナブルコンポーネントに加えることができる。
この例では、3つのクロック信号源のみを図示しているが、当業者には、任意の個数のクロック信号源を使用して、複数の異なる試験周波数を生成できることが理解されよう。
クロック信号源88、90、および92のそれぞれは、選択された周波数のクロック信号を生成する。
一例として、クロック信号源88は、95MHzの周波数の信号を生成できる一方、クロック信号源90および92は、それぞれ100MHzおよび105MHzの信号を生成できる。
マルチプレクサ94は、入力信号として各クロック信号源の出力を受け取る。
コントローラ14からのコマンドに応答して、マルチプレクサ94は、これらのクロック信号の1つを選択してその出力へ試験周波数として転送し、コンピュータシステムのマージナブルコンポーネントに加えることができる。
この例では、3つのクロック信号源のみを図示しているが、当業者には、任意の個数のクロック信号源を使用して、複数の異なる試験周波数を生成できることが理解されよう。
図7を参照して、本発明のいくつかの実施の形態は、多数の離散的なクロック周波数を生成できる周波数合成器を利用することにより、周波数マージン試験を提供する。
これらのクロック周波数のそれぞれは、例えばBMCといったコントローラから受け取った入力ビットパターンに応じて選択することができる。
例えば、合成器96がその出力クロック周波数として生成できる216個の周波数のうちの1つを選択するために、BMC56は、16ビット入力を合成器96に供給することができる。
周波数マージン試験の場合、BMC56は、一続きのビットパターンを周波数合成器に加えることができる。
ここで、各ビットパターンは、その離散的な出力周波数のうちの1つを生成するように合成器に指令するものである。
次いで、後に詳述する方法で、各出力周波数に対して、システムの応答を監視することができる。
これらのクロック周波数のそれぞれは、例えばBMCといったコントローラから受け取った入力ビットパターンに応じて選択することができる。
例えば、合成器96がその出力クロック周波数として生成できる216個の周波数のうちの1つを選択するために、BMC56は、16ビット入力を合成器96に供給することができる。
周波数マージン試験の場合、BMC56は、一続きのビットパターンを周波数合成器に加えることができる。
ここで、各ビットパターンは、その離散的な出力周波数のうちの1つを生成するように合成器に指令するものである。
次いで、後に詳述する方法で、各出力周波数に対して、システムの応答を監視することができる。
図8に概略的に示す別の実施の形態では、合成器96の出力クロック周波数を所望の値に設定するために、I2C I/Oエキスパンダ98が使用されて、入力信号のビットパターンを合成器96に供給する。
より具体的に言うと、BMC56は、I2Cバス58を介してI2C I/Oエキスパンダと通信し、エキスパンダ98の選択された出力ピンの値を、合成器の対象となる出力周波数を選択するのに必要な所望のビットパターンに設定することができる。
本発明の実施においては、多数の市販のI2C I/Oエキスパンダを使用することができる。
例えば、オランダのアイントホーフェンのPhilips Semiconductorsが商品名PCF8575Cで製造しているI2Cエキスパンダチップを利用することができる。
より具体的に言うと、BMC56は、I2Cバス58を介してI2C I/Oエキスパンダと通信し、エキスパンダ98の選択された出力ピンの値を、合成器の対象となる出力周波数を選択するのに必要な所望のビットパターンに設定することができる。
本発明の実施においては、多数の市販のI2C I/Oエキスパンダを使用することができる。
例えば、オランダのアイントホーフェンのPhilips Semiconductorsが商品名PCF8575Cで製造しているI2Cエキスパンダチップを利用することができる。
本発明の教示による周波数マージン試験システムまたは電圧マージン試験システムは、マージナブルシステムコンポーネントに加えられるクロック周波数または電力レール電圧が、例えばコントローラからのコマンドに応答して、デフォルト以外となるように指令されるまで、デフォルトで定格値となるように実施されることが好ましい。
一例として、図9Aを参照して、一例示の態様においては、BMC56は、I2Cバス58を介してI2C I/Oエキスパンダ98と通信する。
I2C I/Oエキスパンダ98の出力は、2つのマルチプレクサ100および102に接続されている。
より具体的に言うと、I2C I/Oエキスパンダ98の一方の組の出力ピンは、図9Aでは信号Aとして概略的に示されているが、マルチプレクサ100の一方の組の入力値を提供する。
I2CベースのI/Oエキスパンダ98の他方の組の出力ピンは、図9Aでは信号Bとして概略的に示されているが、他方のマルチプレクサ102の1組の入力値を提供する。
さらに、マルチプレクサ100は、CPUからデフォルト入力信号Cを受け取る。
デフォルト入力信号Cは、VRM型電圧レギュレータ104のデフォルト電圧選択信号を提供する。
マルチプレクサ102は、デフォルト入力信号Dを受け取る。
デフォルト入力信号Dは、クロック配信チップ106のデフォルトクロック周波数を提供する。
クロック配信チップ106の出力周波数は、自身に加えられた入力信号のビットパターンによって調整することができる。
一例として、図9Aを参照して、一例示の態様においては、BMC56は、I2Cバス58を介してI2C I/Oエキスパンダ98と通信する。
I2C I/Oエキスパンダ98の出力は、2つのマルチプレクサ100および102に接続されている。
より具体的に言うと、I2C I/Oエキスパンダ98の一方の組の出力ピンは、図9Aでは信号Aとして概略的に示されているが、マルチプレクサ100の一方の組の入力値を提供する。
I2CベースのI/Oエキスパンダ98の他方の組の出力ピンは、図9Aでは信号Bとして概略的に示されているが、他方のマルチプレクサ102の1組の入力値を提供する。
さらに、マルチプレクサ100は、CPUからデフォルト入力信号Cを受け取る。
デフォルト入力信号Cは、VRM型電圧レギュレータ104のデフォルト電圧選択信号を提供する。
マルチプレクサ102は、デフォルト入力信号Dを受け取る。
デフォルト入力信号Dは、クロック配信チップ106のデフォルトクロック周波数を提供する。
クロック配信チップ106の出力周波数は、自身に加えられた入力信号のビットパターンによって調整することができる。
BMC56によって各MUXのSEL入力に加えられる信号がない場合、各マルチプレクサの出力と、したがってクロック配信チップに加えられる周波数またはVRM型レギュレータに加えられる電圧選択信号とは、デフォルト入力信号、すなわち信号CおよびDによって決定される。
周波数マージン試験の場合、コントローラは、1つまたは複数のコマンドをI2C I/Oエキスパンダに送出して、信号Aおよび/またはBに対応するその出力ピンの値を設定することができる。
信号AおよびBは、それぞれマルチプレクサ100および102の入力信号を提供する。
さらに、コントローラは、一方または双方のマルチプレクサのSELピンに信号を加え、そのマルチプレクサに、I2C I/Oエキスパンダから受け取った信号をその出力ピンに転送させる。
したがって、一方または双方のマルチプレクサの出力信号は、デフォルト値から、コントローラが指示した値に変化し、これによって、クロック配信チップ100が生成する周波数および/またはVRM型レギュレータに加えられる電圧選択信号の調整が行われる。
このように、コントローラからの逆の命令がない場合には、デフォルトクロック周波数およびデフォルトVRM電圧が使用され、マージン周波数試験またはマージン電圧試験は、コントローラからのコマンドに応じて容易に達成される。
周波数マージン試験の場合、コントローラは、1つまたは複数のコマンドをI2C I/Oエキスパンダに送出して、信号Aおよび/またはBに対応するその出力ピンの値を設定することができる。
信号AおよびBは、それぞれマルチプレクサ100および102の入力信号を提供する。
さらに、コントローラは、一方または双方のマルチプレクサのSELピンに信号を加え、そのマルチプレクサに、I2C I/Oエキスパンダから受け取った信号をその出力ピンに転送させる。
したがって、一方または双方のマルチプレクサの出力信号は、デフォルト値から、コントローラが指示した値に変化し、これによって、クロック配信チップ100が生成する周波数および/またはVRM型レギュレータに加えられる電圧選択信号の調整が行われる。
このように、コントローラからの逆の命令がない場合には、デフォルトクロック周波数およびデフォルトVRM電圧が使用され、マージン周波数試験またはマージン電圧試験は、コントローラからのコマンドに応じて容易に達成される。
通常、周波数マージン試験に必要な粒度のレベルは、電圧マージン試験に必要なものほど細かくはない。
しかしながら、正確で粒状の周波数変化を行う能力が、マージン試験計画の完成に必要である場合には、細かな周波数分解能を提供するプログラマブルクロック生成デバイスが利用可能である。
しかしながら、正確で粒状の周波数変化を行う能力が、マージン試験計画の完成に必要である場合には、細かな周波数分解能を提供するプログラマブルクロック生成デバイスが利用可能である。
上記の例示のシステムなどの本発明の試験システムを使用すると、コンピュータシステムのさまざまなコンポーネントの周波数マージン試験を行うことができる。
一例として、本発明による周波数マージン試験システムをItaniumプロセッサファミリー(IPF)ベースのコンピュータサーバに内蔵して、そのサーバのフロントサイドバス(FSB)クロック周波数の周波数マージン試験を提供することができる。
例えば、サーバのCPUが新しい世代のCPUと取り替えられる場合に、このようなFSBの周波数マージン試験が望まれることがある。
一例として、本発明による周波数マージン試験システムをItaniumプロセッサファミリー(IPF)ベースのコンピュータサーバに内蔵して、そのサーバのフロントサイドバス(FSB)クロック周波数の周波数マージン試験を提供することができる。
例えば、サーバのCPUが新しい世代のCPUと取り替えられる場合に、このようなFSBの周波数マージン試験が望まれることがある。
FSBの周波数マージン試験を実行する、一実施の形態における図9Bのフローチャートを参照する。
ステップAにおいて、FSBの自動周波数マージン試験をBMCに開始させることができる。
例えば、フィールドエンジニアが、コンソールを介してBMCにコマンドを発行して、BMCにマージン試験を開始させることができる。
マージン試験が開始すると、BMCは、定格のFSBクロック周波数を中心としたある周波数範囲にわたる異なる周波数をFSBに加えることを周波数合成器に行わせることができる。
例えば、ループ処理を通じて多数のコマンドを周波数合成器に送出するように、BMCのファームウェアを事前にプログラムすることができる。
これらのコマンドのそれぞれは、合成器の出力周波数を複数の試験値の1つに設定するものである。
例えば、主システム電源をオフにした状態で、BMCは、I2Cバスを介してデジタル周波数合成器にメッセージを送出し、例えば180MHzの周波数といった選択された周波数をFSBに加えるように合成器に指令することができる。
なお、BMCは、スタンバイ電源装置によって電力供給を受けることができ、また、FSBは、定格では200MHzの周波数で動作する。
続いて、ステップBにおいて、BMCは、サーバへの主電源をオンにする。
サーバは、初期ブートアッププロセスの一部として、システムにその組み込み自己試験(BIST)を実行させる(ステップC)。
ステップAにおいて、FSBの自動周波数マージン試験をBMCに開始させることができる。
例えば、フィールドエンジニアが、コンソールを介してBMCにコマンドを発行して、BMCにマージン試験を開始させることができる。
マージン試験が開始すると、BMCは、定格のFSBクロック周波数を中心としたある周波数範囲にわたる異なる周波数をFSBに加えることを周波数合成器に行わせることができる。
例えば、ループ処理を通じて多数のコマンドを周波数合成器に送出するように、BMCのファームウェアを事前にプログラムすることができる。
これらのコマンドのそれぞれは、合成器の出力周波数を複数の試験値の1つに設定するものである。
例えば、主システム電源をオフにした状態で、BMCは、I2Cバスを介してデジタル周波数合成器にメッセージを送出し、例えば180MHzの周波数といった選択された周波数をFSBに加えるように合成器に指令することができる。
なお、BMCは、スタンバイ電源装置によって電力供給を受けることができ、また、FSBは、定格では200MHzの周波数で動作する。
続いて、ステップBにおいて、BMCは、サーバへの主電源をオンにする。
サーバは、初期ブートアッププロセスの一部として、システムにその組み込み自己試験(BIST)を実行させる(ステップC)。
BMCは、この自己試験を監視する。
この試験が不合格になる場合、BMCは、試験結果と、例えば試験周波数といった試験ポイントに関する情報とを不揮発性メモリに記憶する。
次いで、BMCは、主システム電源装置をオフにし(ステップD)、周波数合成器に別のコマンドを送出して、例えば190MHzの周波数といった別の試験周波数をFSBに加えるように合成器に指令する(ステップE)。
自己試験に合格すると、BMCは、ブートプロセスがオペレーティングシステムのロード段階に進むことを許可し、試験結果のログを記録し、主電源をオフにし、そして、別の試験周波数をFSBに加えるように合成器に指令する。
このように、周波数合成器は、選択された範囲内の多数の異なる試験周波数をFSBに加え、BMCは、その試験結果を記憶する。
この試験が不合格になる場合、BMCは、試験結果と、例えば試験周波数といった試験ポイントに関する情報とを不揮発性メモリに記憶する。
次いで、BMCは、主システム電源装置をオフにし(ステップD)、周波数合成器に別のコマンドを送出して、例えば190MHzの周波数といった別の試験周波数をFSBに加えるように合成器に指令する(ステップE)。
自己試験に合格すると、BMCは、ブートプロセスがオペレーティングシステムのロード段階に進むことを許可し、試験結果のログを記録し、主電源をオフにし、そして、別の試験周波数をFSBに加えるように合成器に指令する。
このように、周波数合成器は、選択された範囲内の多数の異なる試験周波数をFSBに加え、BMCは、その試験結果を記憶する。
BMCの制御下で試験が完了すると、試験結果を検討することにより、不合格ポイントがもしあれば、それを特定することができ、そして必要なあらゆるトラブルシューティングを提供して、アップグレードされたサーバが確実に機能することを保証することができる。
さらに、マージン試験の結果をデータベースにアップロードして、信頼性/品質解析を行うこともできる。
さらに、マージン試験の結果をデータベースにアップロードして、信頼性/品質解析を行うこともできる。
あるいは、図9Cのフローチャートを参照して、周波数マージン試験を以下のように行うこともできる。
ステップAにおいて、合成器の出力周波数を所望の試験値に設定するようにBMCに指令することができる。
これは、例えば、BMCにコマンドを発行する外部スクリプトエンティティによって行うことができる。
次いで、ステップBにおいて、診断ソフトウェアをサーバ上で実行して、この試験ポイントにおけるサーバの動作の選択された態様に関する情報を取得することができる。
当業者には、このようなソフトウェアが市販されていることが理解されよう。
この情報を解析して、サーバの動作がこの試験ポイントにおいて十分なものであるかどうかを判断することができる。
この情報は必要に応じて記録することもできる。
続いて、合成器の出力周波数を次の試験値に調整するようにBMCに指令することができ(ステップD)、そして、すべての試験ポイントにおける情報が収集され解析されるまで上記プロセスを繰り返すことができる。
ステップAにおいて、合成器の出力周波数を所望の試験値に設定するようにBMCに指令することができる。
これは、例えば、BMCにコマンドを発行する外部スクリプトエンティティによって行うことができる。
次いで、ステップBにおいて、診断ソフトウェアをサーバ上で実行して、この試験ポイントにおけるサーバの動作の選択された態様に関する情報を取得することができる。
当業者には、このようなソフトウェアが市販されていることが理解されよう。
この情報を解析して、サーバの動作がこの試験ポイントにおいて十分なものであるかどうかを判断することができる。
この情報は必要に応じて記録することもできる。
続いて、合成器の出力周波数を次の試験値に調整するようにBMCに指令することができ(ステップD)、そして、すべての試験ポイントにおける情報が収集され解析されるまで上記プロセスを繰り返すことができる。
本発明のいくつかの実施の形態では、被試験システムのマージン試験を行う際にBMCが従うポリシーを含んだ記述子ファイルを設けることができる。
例えば、このような記述子ファイルはマージン試験に関連したパラメータや試験ポイントでの不合格の場合に取られるべきステップに関する命令などを含むことができる。
マージン試験に関連したパラメータとしては、例えばさまざまな試験ポイントの電圧値がある。
BMCは、特定の試験ポイントにおけるマージン試験の結果に関する情報を収集することができる。
この情報は、例えば試験の不合格または合格である。
この情報の収集は、例えば、バス上を外部端末に送出された試験結果に関するデータを読み取る(スヌーピング(snooping)する)ことによるか、またはシステムのOS上で実行されるIPMIデーモンと通信することにより行われる。
なお、このバスは例えばRS232バスである。
取得した試験結果と記述子ファイルで定義されたポリシーとに基づいて、BMCは次の動作を取ることができる。
例えば、試験結果データは特定の試験ポイントにおける試験の不合格を示すことができ、記述子ファイルは、試験ポイントで最初に不合格になった場合に、その試験を再実行すべきことを示すことができる。
そのような場合に、BMCは試験値をリセットして、前回不合格になった試験ポイントでその試験をもう一度実行することになる。
当業者には、記述子ファイルが上記で提供した命令以外の命令を含むことが可能であることが理解されよう。
例えば、このような記述子ファイルはマージン試験に関連したパラメータや試験ポイントでの不合格の場合に取られるべきステップに関する命令などを含むことができる。
マージン試験に関連したパラメータとしては、例えばさまざまな試験ポイントの電圧値がある。
BMCは、特定の試験ポイントにおけるマージン試験の結果に関する情報を収集することができる。
この情報は、例えば試験の不合格または合格である。
この情報の収集は、例えば、バス上を外部端末に送出された試験結果に関するデータを読み取る(スヌーピング(snooping)する)ことによるか、またはシステムのOS上で実行されるIPMIデーモンと通信することにより行われる。
なお、このバスは例えばRS232バスである。
取得した試験結果と記述子ファイルで定義されたポリシーとに基づいて、BMCは次の動作を取ることができる。
例えば、試験結果データは特定の試験ポイントにおける試験の不合格を示すことができ、記述子ファイルは、試験ポイントで最初に不合格になった場合に、その試験を再実行すべきことを示すことができる。
そのような場合に、BMCは試験値をリセットして、前回不合格になった試験ポイントでその試験をもう一度実行することになる。
当業者には、記述子ファイルが上記で提供した命令以外の命令を含むことが可能であることが理解されよう。
マージン試験を通常必要とする別の動作パラメータは、被試験システムのさまざまなコンポーネントに印加される電圧に関するものである。
図10は、本発明の教示による電圧マージン試験システムをIPMIプロトコルを使用するコンピュータサーバに内蔵したものを概略的に示している。
この例示のサーバ108はBMCコントローラ56を含む。
BMCコントローラ56は、上述したように、帯域内および帯域外のハードウェア管理およびソフトウェア管理を提供する。
上記実施の形態と同様に、この例示の実施の形態では、BMC56はプライベートI2Cバス58を使用して、サーバの選択されたサブシステムおよびコンポーネントと通信する。
図10は、本発明の教示による電圧マージン試験システムをIPMIプロトコルを使用するコンピュータサーバに内蔵したものを概略的に示している。
この例示のサーバ108はBMCコントローラ56を含む。
BMCコントローラ56は、上述したように、帯域内および帯域外のハードウェア管理およびソフトウェア管理を提供する。
上記実施の形態と同様に、この例示の実施の形態では、BMC56はプライベートI2Cバス58を使用して、サーバの選択されたサブシステムおよびコンポーネントと通信する。
デジタル電圧調整器110はI2Cバスに接続するためのI2C通信インターフェース110aを有する。
デジタル電圧調整器110はサーバに内蔵されて、以下に詳述する方法でサーバのマージナブルコンポーネントの電圧マージン試験を可能にする。
このデジタル電圧調整器は単一の集積回路として実施することもできるし、あるいは複数の集積回路として実施することもできる。
デジタル電圧調整器110はサーバに内蔵されて、以下に詳述する方法でサーバのマージナブルコンポーネントの電圧マージン試験を可能にする。
このデジタル電圧調整器は単一の集積回路として実施することもできるし、あるいは複数の集積回路として実施することもできる。
デジタル電圧調整器110は電圧レギュレータ112に接続される。
電圧レギュレータ112は入力電圧を受け取り、レール電圧として利用できる調整出力電圧を生成して、マージナブルコンポーネント114などのサーバのさまざまなコンポーネントに印加する。
換言すると、電圧レギュレータ112は調整電圧レールを提供してサーバのさまざまなコンポーネントおよびモジュールに電力を供給することができる。
なお、電圧レギュレータ112はリニアレギュレータとすることもできるし、スイッチングレギュレータとすることもできる。
電圧レギュレータ112は入力電圧を受け取り、レール電圧として利用できる調整出力電圧を生成して、マージナブルコンポーネント114などのサーバのさまざまなコンポーネントに印加する。
換言すると、電圧レギュレータ112は調整電圧レールを提供してサーバのさまざまなコンポーネントおよびモジュールに電力を供給することができる。
なお、電圧レギュレータ112はリニアレギュレータとすることもできるし、スイッチングレギュレータとすることもできる。
電圧調整器110はBMCコントローラから受け取ったコマンド信号に応答して、選択された範囲にわたるレギュレータの出力電圧の変化に影響を与え、このような電圧変化が加えられる1つまたは複数のコンポーネントのマージン試験を行うことができる。
例えば、BMCはI2Cバス58上を送出されるコマンドを介してデジタル電圧調整器110に指令し、それによってレギュレータの出力電圧の変化を引き起こすことができ、したがってコンポーネント114に印加される電圧の変化を引き起こすことができる。
例えば、コンポーネント114に印加される電圧を選択された範囲内の複数の値にわたってステップ状に変化させて電圧マージン試験を行うことができる。
例えば、BMCはI2Cバス58上を送出されるコマンドを介してデジタル電圧調整器110に指令し、それによってレギュレータの出力電圧の変化を引き起こすことができ、したがってコンポーネント114に印加される電圧の変化を引き起こすことができる。
例えば、コンポーネント114に印加される電圧を選択された範囲内の複数の値にわたってステップ状に変化させて電圧マージン試験を行うことができる。
好ましい一実施の形態では、デジタル電圧調整器としてデジタルポテンショメータを選択することができる。
このデジタルポテンショメータは電圧レギュレータ112のフィードバック抵抗ネットワークにおいて、デジタル制御される可変抵抗器として機能し、レギュレータの出力電圧を調整することができる。
例えば、図11を参照して、デジタルポテンショメータ116がリニアレギュレータ118のフィードバック抵抗ネットワークにおける別のフィードバック抵抗器120と直列接続されるように、デジタルポテンショメータ116をリニアレギュレータ118のフィードバック抵抗ネットワークに内蔵することができる。
それによって、デジタルポテンショメータ116は、調整可能抵抗器として機能することができる。
このデジタルポテンショメータはレギュレータのフィードバック回路の抵抗を変化させることができ、それによってレギュレータの出力電圧を調整することができる。
このデジタルポテンショメータは電圧レギュレータ112のフィードバック抵抗ネットワークにおいて、デジタル制御される可変抵抗器として機能し、レギュレータの出力電圧を調整することができる。
例えば、図11を参照して、デジタルポテンショメータ116がリニアレギュレータ118のフィードバック抵抗ネットワークにおける別のフィードバック抵抗器120と直列接続されるように、デジタルポテンショメータ116をリニアレギュレータ118のフィードバック抵抗ネットワークに内蔵することができる。
それによって、デジタルポテンショメータ116は、調整可能抵抗器として機能することができる。
このデジタルポテンショメータはレギュレータのフィードバック回路の抵抗を変化させることができ、それによってレギュレータの出力電圧を調整することができる。
より具体的に言うと、図10および図11を共に参照して、デジタルポテンショメータはBMC56から受け取ったコマンドに応答して、レギュレータ118のフィードバック抵抗回路の抵抗を調整することができる。
したがって、デジタルポテンショメータはレギュレータの出力電圧を変化させることができる。
レギュレータの出力電圧のこの変化は、次に、レギュレータの出力電圧が印加される1つまたは複数のコンポーネントの電圧に変化を引き起こすことができる。
さらに、図11に示すように、デジタルポテンショメータ116を利用してスイッチングレギュレータ122の出力電圧も調整することができる。
したがって、デジタルポテンショメータはレギュレータの出力電圧を変化させることができる。
レギュレータの出力電圧のこの変化は、次に、レギュレータの出力電圧が印加される1つまたは複数のコンポーネントの電圧に変化を引き起こすことができる。
さらに、図11に示すように、デジタルポテンショメータ116を利用してスイッチングレギュレータ122の出力電圧も調整することができる。
図2、図10、および図11を続けて参照して、一例として、サーバの主電源(図示せず)がオンにされる前に、外部システム24は、例えばSet_Voltage(Rail,Value)(電圧設定(レール,値))の形のコマンドをコントローラ56に送出し、それによって、選択されたレールの電圧を指定値に設定してマージン試験を行うようにコントローラに指令することができる。
コントローラ56の役割は、このコマンドを処理するために、このコマンドを必要なI2Cメッセージに解釈し、それに応じてそのメッセージを発行することである。
したがって、コントローラ56はこのコマンドに応答して、デジタルポテンショメータ116にその抵抗を調整するようにコマンドを送出する。
この抵抗の調整は、レギュレータの出力電圧が初期値に設定されるように行われる。
この初期値は、外部システムが指定した電圧値よりもわずかに低い。
例えば、初期値はこの指定値よりも数パーセントだけ低くすることができる。
コントローラ56の役割は、このコマンドを処理するために、このコマンドを必要なI2Cメッセージに解釈し、それに応じてそのメッセージを発行することである。
したがって、コントローラ56はこのコマンドに応答して、デジタルポテンショメータ116にその抵抗を調整するようにコマンドを送出する。
この抵抗の調整は、レギュレータの出力電圧が初期値に設定されるように行われる。
この初期値は、外部システムが指定した電圧値よりもわずかに低い。
例えば、初期値はこの指定値よりも数パーセントだけ低くすることができる。
一般に、指定値からの初期電圧値のずれの程度は他の要因の中でも特にデジタルポテンショメータの許容誤差に依存する。
例えば、デジタルポテンショメータの抵抗の許容誤差の全範囲が5パーセントである場合、初期電圧値を指定値よりも約5パーセント低く設定してマージン電圧がシステムコンポーネントに損傷を与える閾値を越えないことを保証することができる。
例えば、デジタルポテンショメータの抵抗の許容誤差の全範囲が5パーセントである場合、初期電圧値を指定値よりも約5パーセント低く設定してマージン電圧がシステムコンポーネントに損傷を与える閾値を越えないことを保証することができる。
続いて、BMC56は電力制御モジュール42にコマンドを送出しシステムの主電源をオンにする。
電力制御モジュール42およびそのBMC56との通信のさまざまな実施態様が当業者には知られている。
ハードウェアモニタ20は、レギュレータの出力電圧を記録し、記録した電圧をBMCに通信する。
通常、ハードウェアモニタが読み取る電圧は指定値の許容範囲よりも低い。
そのような場合、コントローラ56はコマンドをもう一度発行しレギュレータの出力電圧を指定値の方向に訂正するようにデジタルポテンショメータに指令する。
コントローラのファームウェアの特定の実施態様によると、この電圧較正サイクルは1度実行することもできるし、または十分に正確な電圧がハードウェアモニタから読み返されるまで数回繰り返すこともできる。
電力制御モジュール42およびそのBMC56との通信のさまざまな実施態様が当業者には知られている。
ハードウェアモニタ20は、レギュレータの出力電圧を記録し、記録した電圧をBMCに通信する。
通常、ハードウェアモニタが読み取る電圧は指定値の許容範囲よりも低い。
そのような場合、コントローラ56はコマンドをもう一度発行しレギュレータの出力電圧を指定値の方向に訂正するようにデジタルポテンショメータに指令する。
コントローラのファームウェアの特定の実施態様によると、この電圧較正サイクルは1度実行することもできるし、または十分に正確な電圧がハードウェアモニタから読み返されるまで数回繰り返すこともできる。
レギュレータの出力電圧を所望の試験値に設定すると、コントローラ56はコンピュータシステムの主電源をオンにするように電力制御モジュール42に指令することができる。
次いで、このシステムは例えばその組み込み自己試験を実行することができる。
コントローラはこの組み込み自己試験を監視することができる。
後続の試験電圧においてこのプロセスを繰り返し、複数の離散試験電圧に対するシステムの応答に関するデータを取得することができる。
次いで、このシステムは例えばその組み込み自己試験を実行することができる。
コントローラはこの組み込み自己試験を監視することができる。
後続の試験電圧においてこのプロセスを繰り返し、複数の離散試験電圧に対するシステムの応答に関するデータを取得することができる。
上記例示の実施の形態では1つのデジタル電圧調整器を示している。
しかしながら、本発明の教示に従って、例えばデジタルポテンショメータといったデジタル電圧調整器を複数、サーバまたは他の任意の適切なコンピュータシステムに利用して、サーバ内の異なる電圧レールの電圧変化を調整できることが当業者には理解されよう。
したがって、レール電圧を試験値に設定するプロセスを複数のコンポーネントモジュール全体にわたって実行して、集合したマージン状態にあるコンピュータシステムの試験を達成することができる。
同様に、上記周波数マージン試験の実施の形態においても、複数のクロック周波数を同時に設定して、集合したマージン周波数試験を行うことができる。
しかしながら、本発明の教示に従って、例えばデジタルポテンショメータといったデジタル電圧調整器を複数、サーバまたは他の任意の適切なコンピュータシステムに利用して、サーバ内の異なる電圧レールの電圧変化を調整できることが当業者には理解されよう。
したがって、レール電圧を試験値に設定するプロセスを複数のコンポーネントモジュール全体にわたって実行して、集合したマージン状態にあるコンピュータシステムの試験を達成することができる。
同様に、上記周波数マージン試験の実施の形態においても、複数のクロック周波数を同時に設定して、集合したマージン周波数試験を行うことができる。
本発明の実施においては、さまざまなデジタルポテンショメータを使用することができる。
例えば、カリフォルニア州ミルピタスのXicor, Inc.が商品名X9409で販売している、I2Cインターフェースを有するクアドデジタル制御ポテンショメータ(quad digitally controlled potentiometer)を、本発明の電圧マージン試験システムのデジタル電圧調整器として利用することができる。
例えば、カリフォルニア州ミルピタスのXicor, Inc.が商品名X9409で販売している、I2Cインターフェースを有するクアドデジタル制御ポテンショメータ(quad digitally controlled potentiometer)を、本発明の電圧マージン試験システムのデジタル電圧調整器として利用することができる。
本発明のいくつかの実施の形態では、例えばBMCコントローラからのフィードバック信号が、例えばデジタルポテンショメータといったデジタル電圧調整器に定期的に供給される。
このデジタル電圧調整器は上述したように、電圧レギュレータの抵抗フィードバック回路の一部を形成する。
この定期的な供給によって電圧調整器の抵抗が調整され、レギュレータの電圧が所望の精度で選択された値に設定されるようになる。
例えば、図11は、このようなフィードバックメカニズムの例示の実施態様を概略的に示している。
このフィードバックメカニズムでは、ハードウェアモニタ20がレギュレータの出力電圧を監視するために、レギュレータ118の出力電圧を入力電圧として受け取る。
BMC56(図10)は、例えば数ミリ秒ごとに1回の割合で定期的にハードウェアモニタ20に問い合わせを行い、レギュレータの出力電圧の値を取得する。
BMCは、レギュレータの出力電圧が選択された閾値よりも大きく所望の値からずれていると判断すると、レギュレータの出力電圧を所望の値にするために、上述した方法でデジタルポテンショメータ116にコマンドを送出してポテンショメータの抵抗を調整する。
このフィードバックメカニズムは、レギュレータの出力電圧を正確に設定するのに有益である。
例えば、場合によってはデジタルポテンショメータの実際の抵抗がその定格抵抗からから数パーセントずれる可能性があり、それによって、レギュレータの出力電圧が数パーセントの不正確さを引き起こすことがある。
上記フィードバックメカニズムを使用すると、ポテンショメータの抵抗の実際の値と定格値との間のこのような不一致を訂正することができる。
したがって、試験電圧の値の精度を改善することができる。
このデジタル電圧調整器は上述したように、電圧レギュレータの抵抗フィードバック回路の一部を形成する。
この定期的な供給によって電圧調整器の抵抗が調整され、レギュレータの電圧が所望の精度で選択された値に設定されるようになる。
例えば、図11は、このようなフィードバックメカニズムの例示の実施態様を概略的に示している。
このフィードバックメカニズムでは、ハードウェアモニタ20がレギュレータの出力電圧を監視するために、レギュレータ118の出力電圧を入力電圧として受け取る。
BMC56(図10)は、例えば数ミリ秒ごとに1回の割合で定期的にハードウェアモニタ20に問い合わせを行い、レギュレータの出力電圧の値を取得する。
BMCは、レギュレータの出力電圧が選択された閾値よりも大きく所望の値からずれていると判断すると、レギュレータの出力電圧を所望の値にするために、上述した方法でデジタルポテンショメータ116にコマンドを送出してポテンショメータの抵抗を調整する。
このフィードバックメカニズムは、レギュレータの出力電圧を正確に設定するのに有益である。
例えば、場合によってはデジタルポテンショメータの実際の抵抗がその定格抵抗からから数パーセントずれる可能性があり、それによって、レギュレータの出力電圧が数パーセントの不正確さを引き起こすことがある。
上記フィードバックメカニズムを使用すると、ポテンショメータの抵抗の実際の値と定格値との間のこのような不一致を訂正することができる。
したがって、試験電圧の値の精度を改善することができる。
上述した電圧マージンシステムなど本発明による電圧マージンシステムはサーバなどのコンピュータシステムにデジタル電圧調整器を内蔵する。
このコンピュータシステムは当該コンピュータシステムの内部にあるコントローラの制御下で動作して、当該コンピュータシステムの選択されたコンポーネントの電圧試験を行う。
このような電圧マージンシステムは多くの利点を提供する。
例えば、このような電圧マージン試験システムは、電圧レギュレータのフィードバック回路の抵抗値を変更してレギュレータの出力電圧を調整するためのジャンパもスイッチも利用する必要がない点において、非侵襲である。
これらのジャンパまたはスイッチの利用は、多くの時間を要する可能性があり試験の精度に悪影響を与える可能性がある。
さらに、本発明の電圧マージン試験システムによると、外部試験機器の必要もなくなり、電圧試験をソフトウェア制御により自動的に行うことも可能になる。
その上、本発明の電圧試験システムは開発期間中、製造期間中、または現場における電圧試験を実用的なものにし、したがって製品の信頼性が向上する。
このコンピュータシステムは当該コンピュータシステムの内部にあるコントローラの制御下で動作して、当該コンピュータシステムの選択されたコンポーネントの電圧試験を行う。
このような電圧マージンシステムは多くの利点を提供する。
例えば、このような電圧マージン試験システムは、電圧レギュレータのフィードバック回路の抵抗値を変更してレギュレータの出力電圧を調整するためのジャンパもスイッチも利用する必要がない点において、非侵襲である。
これらのジャンパまたはスイッチの利用は、多くの時間を要する可能性があり試験の精度に悪影響を与える可能性がある。
さらに、本発明の電圧マージン試験システムによると、外部試験機器の必要もなくなり、電圧試験をソフトウェア制御により自動的に行うことも可能になる。
その上、本発明の電圧試験システムは開発期間中、製造期間中、または現場における電圧試験を実用的なものにし、したがって製品の信頼性が向上する。
本発明の電圧マージン試験のもう1つの利点は、システムの故障の根本的原因解析が容易になるということである。
例えば、場合によっては、電力レール電圧を変化させることにより、間欠的故障を再現可能とすることができ、したがって、診断および訂正をより簡単に行うことができる。
当業者には本発明の電圧マージン試験の他の利点が容易に認識できる。
例えば、場合によっては、電力レール電圧を変化させることにより、間欠的故障を再現可能とすることができ、したがって、診断および訂正をより簡単に行うことができる。
当業者には本発明の電圧マージン試験の他の利点が容易に認識できる。
一例として、本発明の電圧マージン試験を利用すると、サーバ内のDDR SDRAM DIMMに電力を供給する2.5ボルト電力レールを試験することができる。
そのような試験は、例えば、製造期間中において、新しいDRAMベンダから調達したDIMMを適格とするのに必要とされることがある。
そのような電圧マージン試験は、例えば、以下のようにして行うことができる。
まず、例えば、BMCへコンソールアクセスを行って、モード変更コマンドを発行することにより、BMCコントローラを特別なモードに置くことができる。
このモードでは、BMCはDIMMレールの自動電圧マージン試験を実行するコマンドを解除することになる。
より具体的に言うと、上述したように、BMCはデジタルポテンショメータにコマンドを発行することにより、(例えば、2.5Vの定格電圧値を中心とした)多数の値にわたってDIMMレールの電圧を変化させることができる。
これらの多数の値のそれぞれは試験ポイントに対応するものである。
そのような試験は、例えば、製造期間中において、新しいDRAMベンダから調達したDIMMを適格とするのに必要とされることがある。
そのような電圧マージン試験は、例えば、以下のようにして行うことができる。
まず、例えば、BMCへコンソールアクセスを行って、モード変更コマンドを発行することにより、BMCコントローラを特別なモードに置くことができる。
このモードでは、BMCはDIMMレールの自動電圧マージン試験を実行するコマンドを解除することになる。
より具体的に言うと、上述したように、BMCはデジタルポテンショメータにコマンドを発行することにより、(例えば、2.5Vの定格電圧値を中心とした)多数の値にわたってDIMMレールの電圧を変化させることができる。
これらの多数の値のそれぞれは試験ポイントに対応するものである。
このような1つの例示の試験ポイントにおけるシステムの試験は次のように行うことができる。
サーバの主電源をオフにした状態で、BMCはI2Cメッセージをデジタルポテンショメータに送出して、デジタルポテンショメータにその抵抗を調整させる。
この調整は電力レールの電圧が2.25V(定格電圧よりも10パーセント低い)となるように行われる。
なお、BMCはスタンバイ電源によって電力供給を受けることができる。
続いて、BMCはサーバの主電源をオンにする。
システムは初期ブートプロセスの一部として、システムの組み込み自己試験(BIST)を実行する。
このBISTはBMCによって監視される。
BISTが不合格になると、BMCはその結果と例えば試験電圧といった試験ポイントに関する情報とを不揮発性メモリにログ記録し、サーバの主電源装置をオフにし、例えば2.375ボルトといった次の試験電圧を設定するようにデジタルポテンショメータに指令する。
BISTに合格すると、BMCはブートプロセスがオペレーティングシステム(OS)のロード段階に進むことを許可し、試験の合格のログを記録し、その後、主電源をオフにし、次の試験ポイントを設定するようにデジタルポテンショメータに指令する。
OSのロード段階後、スクリプト化されたバッチ呼び出しを通じて自動的に、またはOSエージェントへのBMCコマンドメッセージを介して、さまざまなシステムレベルのサブシステムストレス診断を実行することができる。
実行ログは、後の解析用に、システムから離して記憶することもできるしローカルハードディスクに記憶することもできる。
サーバの主電源をオフにした状態で、BMCはI2Cメッセージをデジタルポテンショメータに送出して、デジタルポテンショメータにその抵抗を調整させる。
この調整は電力レールの電圧が2.25V(定格電圧よりも10パーセント低い)となるように行われる。
なお、BMCはスタンバイ電源によって電力供給を受けることができる。
続いて、BMCはサーバの主電源をオンにする。
システムは初期ブートプロセスの一部として、システムの組み込み自己試験(BIST)を実行する。
このBISTはBMCによって監視される。
BISTが不合格になると、BMCはその結果と例えば試験電圧といった試験ポイントに関する情報とを不揮発性メモリにログ記録し、サーバの主電源装置をオフにし、例えば2.375ボルトといった次の試験電圧を設定するようにデジタルポテンショメータに指令する。
BISTに合格すると、BMCはブートプロセスがオペレーティングシステム(OS)のロード段階に進むことを許可し、試験の合格のログを記録し、その後、主電源をオフにし、次の試験ポイントを設定するようにデジタルポテンショメータに指令する。
OSのロード段階後、スクリプト化されたバッチ呼び出しを通じて自動的に、またはOSエージェントへのBMCコマンドメッセージを介して、さまざまなシステムレベルのサブシステムストレス診断を実行することができる。
実行ログは、後の解析用に、システムから離して記憶することもできるしローカルハードディスクに記憶することもできる。
すべての試験ポイントが実行されると、結果データを収集して検討することができる。
1つまたは複数の試験ポイントに不合格があると、試験実行者はそれらの不合格の根本的原因の解析を行うことができる。
さらに、マージン試験情報をデータベースにアップロードして、信頼性/品質解析を行うこともできる。
1つまたは複数の試験ポイントに不合格があると、試験実行者はそれらの不合格の根本的原因の解析を行うことができる。
さらに、マージン試験情報をデータベースにアップロードして、信頼性/品質解析を行うこともできる。
同様にして、試験電圧を初期値に設定するようにBMCに指令することにより、上記例示の電圧マージン試験を実行することができる。
次いで、診断ソフトウェアをサーバ上で実行してこの試験電圧におけるサーバの選択された動作に関する情報を収集することができる。
この情報は解析して記録することもできるし、今後の解析のために記録しておくこともできる。
続いて、BMCには新たな試験電圧を設定するように指令することができ、上記プロセスを繰り返すことにより所望のすべての試験電圧におけるデータを取得することができる。
次いで、診断ソフトウェアをサーバ上で実行してこの試験電圧におけるサーバの選択された動作に関する情報を収集することができる。
この情報は解析して記録することもできるし、今後の解析のために記録しておくこともできる。
続いて、BMCには新たな試験電圧を設定するように指令することができ、上記プロセスを繰り返すことにより所望のすべての試験電圧におけるデータを取得することができる。
図12を参照して、本発明の電圧マージン試験の一実施の形態の別の実施態様はデジタル/アナログ変換器(DAC)124を使用する。
このDAC124は、被試験コンピュータシステムのさまざまな電力レールの電圧マージン試験用に、例示の出力A、B、C、Dなどの複数の電圧出力値を生成することができる。
より具体的に言うと、DAC124は基準電圧源126から基準電圧を受け取ることができ、例えばBMC56からのコマンドに応答して選択された出力電圧値を生成することができる。
この例では、DACとして米国マサチューセッツ州ノーウッドのAnalog devices corporationが商品名AD5315で販売している集積回路を選択することができる。
DAC124は、シリアルバスライン130および132を通りI2C I/Oエキスパンダスイッチ128を介してBMC56と通信し、出力電圧A〜Dの1つまたは複数のものをマージン試験用に選択された値に設定する命令を受け取ることができる。
DAC124の各出力電圧は、例えば増幅器134を介して、スイッチ(例えばFET)136a、136b、136c、136dなどのスイッチに接続することができる。
本明細書では、これらのスイッチ136a、136b、136c、および136dをスイッチ136と総称する。
これらのスイッチ136はフィールドプログラマブルゲートアレイ(FPGA)138からの信号を介して選択的に起動されて、選択されたマージン電圧を提供することができる。
これらのスイッチは、定格動作中に、トリムラインを絶縁するのに使用される。
プルアップ抵抗器140a、140b、140c、および140dは、スイッチ136が、デフォルトで定格のオフ状態になることを保証するために利用される。
したがって、部品障害、ファームウェア異常による電源リセットなどの場合に、DACアナログ出力の絶縁が保証される。
マージンモードの下では、スイッチ136はオンにされ、類似のFETトランスミッションスイッチは、定格動作中に適切な分圧トリム入力を生成する定格モードのプルアップ/ブルダウン抵抗器140を絶縁するのに使用される。
この例示の実施の形態では、マージン電圧として、1.2V、1.5V、2.5V、および3.3Vが選択される。
当業者にはこれら4つのマージン電圧以外にも他のマージン電圧値が使用可能であることが理解されよう。
このDAC124は、被試験コンピュータシステムのさまざまな電力レールの電圧マージン試験用に、例示の出力A、B、C、Dなどの複数の電圧出力値を生成することができる。
より具体的に言うと、DAC124は基準電圧源126から基準電圧を受け取ることができ、例えばBMC56からのコマンドに応答して選択された出力電圧値を生成することができる。
この例では、DACとして米国マサチューセッツ州ノーウッドのAnalog devices corporationが商品名AD5315で販売している集積回路を選択することができる。
DAC124は、シリアルバスライン130および132を通りI2C I/Oエキスパンダスイッチ128を介してBMC56と通信し、出力電圧A〜Dの1つまたは複数のものをマージン試験用に選択された値に設定する命令を受け取ることができる。
DAC124の各出力電圧は、例えば増幅器134を介して、スイッチ(例えばFET)136a、136b、136c、136dなどのスイッチに接続することができる。
本明細書では、これらのスイッチ136a、136b、136c、および136dをスイッチ136と総称する。
これらのスイッチ136はフィールドプログラマブルゲートアレイ(FPGA)138からの信号を介して選択的に起動されて、選択されたマージン電圧を提供することができる。
これらのスイッチは、定格動作中に、トリムラインを絶縁するのに使用される。
プルアップ抵抗器140a、140b、140c、および140dは、スイッチ136が、デフォルトで定格のオフ状態になることを保証するために利用される。
したがって、部品障害、ファームウェア異常による電源リセットなどの場合に、DACアナログ出力の絶縁が保証される。
マージンモードの下では、スイッチ136はオンにされ、類似のFETトランスミッションスイッチは、定格動作中に適切な分圧トリム入力を生成する定格モードのプルアップ/ブルダウン抵抗器140を絶縁するのに使用される。
この例示の実施の形態では、マージン電圧として、1.2V、1.5V、2.5V、および3.3Vが選択される。
当業者にはこれら4つのマージン電圧以外にも他のマージン電圧値が使用可能であることが理解されよう。
上記実施の形態に対して、本発明の範囲から逸脱することなくさまざまな変更を行い得ることが当業者には理解されよう。
14・・・コントローラ、
12・・・ホストプロセッサ、
20・・・ハードウェアモニタ、
22・・・デジタルパラメータ調整器、
24・・・外部システム、
28・・・マージナブルシステムコンポーネント、
30・・・選択された動作パラメータを生成するためのモジュール、
32・・・センサ、
38・・・障害迂回ブロック(FBB)、
40・・・スタンバイ電源、
42・・・電力制御素子、
48・・・CPUダイオード、
56・・・BMCコントローラ、
62・・・インテリジェントFRU、
60・・・SEEPROM、
66a・・・I2Cインターフェース、
66b,72・・・水晶発振器、
80・・・位相検出器、
82・・・ローパスフィルタ、
86・・・÷n分周器、
74・・・I2Cインターフェース、
76・・・レジスタ、
88,90,92・・・クロック信号源、
96・・・周波数合成器、
98・・・I2C I/Oエキスパンダ、
106・・・クロックジェネレータ、
110・・・デジタル電圧調整器、
110a・・・I2Cインターフェース、
112・・・電圧レギュレータ、
114・・・マージナブルコンポーネント、
116・・・デジタルポテンショメータ、
12・・・ホストプロセッサ、
20・・・ハードウェアモニタ、
22・・・デジタルパラメータ調整器、
24・・・外部システム、
28・・・マージナブルシステムコンポーネント、
30・・・選択された動作パラメータを生成するためのモジュール、
32・・・センサ、
38・・・障害迂回ブロック(FBB)、
40・・・スタンバイ電源、
42・・・電力制御素子、
48・・・CPUダイオード、
56・・・BMCコントローラ、
62・・・インテリジェントFRU、
60・・・SEEPROM、
66a・・・I2Cインターフェース、
66b,72・・・水晶発振器、
80・・・位相検出器、
82・・・ローパスフィルタ、
86・・・÷n分周器、
74・・・I2Cインターフェース、
76・・・レジスタ、
88,90,92・・・クロック信号源、
96・・・周波数合成器、
98・・・I2C I/Oエキスパンダ、
106・・・クロックジェネレータ、
110・・・デジタル電圧調整器、
110a・・・I2Cインターフェース、
112・・・電圧レギュレータ、
114・・・マージナブルコンポーネント、
116・・・デジタルポテンショメータ、
Claims (10)
- 電子システム(108)において、該電子システムの1つまたは複数のコンポーネント(114)を電圧マージン試験するためのシステムであって、
前記電子システムの内部のコントローラ(56)と、
前記コントローラ(56)、および、前記1つまたは複数のコンポーネントと通信するデジタル電圧調整器(110)であって、前記コントローラからのコマンドに応じて、前記コンポーネント(114)に印加する1つまたは複数の試験電圧の生成に影響を与える、デジタル電圧調整器(110)と
を備えるマージン試験システム。 - 実行されて、前記試験電圧に対する前記システムの応答に関するデータの収集および解析を行う診断ソフトウェア
をさらに備える請求項1に記載のマージン試験システム。 - 前記コンポーネントに電気的に接続されて、前記コンポーネントに電圧を印加する電力レール(44)
をさらに備え、
前記電圧調整器(110)は、前記電力レールに電気的に接続されて、前記電力レールの電圧を1つまたは複数の前記試験電圧に設定する
請求項1に記載のマージン試験システム。 - 入力電圧を受け取り、調整された出力電圧を生成して前記電力レールに印加する電圧レギュレータ(118)
をさらに備え、
前記電圧調整器(110)は、該レギュレータに接続され、前記コントローラからのコマンドに応答して前記調整された出力電圧を変化させる
請求項3に記載のマージン試験システム。 - 前記デジタル電圧調整器(110)は、
前記電圧レギュレータ(118)のフィードバック回路に内蔵されたデジタルポテンショメータ(116)
を備え、
前記デジタルポテンショメータ(116)は、前記レギュレータの前記出力電圧変化させるために、前記コントローラからのコマンドに応答して、前記フィードバック回路に連結した抵抗を変化させる
請求項4に記載のマージン試験システム。 - 前記コントローラ(56)は、ベースボード管理コントローラ(BMC)である
請求項1に記載のマージン試験システム。 - 内部コントローラ(56)と、
該コントローラと通信し、電子システム(108)の1つまたは複数のコンポーネントに電圧を供給する少なくとも1つの電力レール(44)と通信するデジタル電圧調整器(110)と
を有する前記コンポーネントの電圧マージン試験のための方法であって、
前記コントローラ(56)が、1つまたは複数のコマンドを、前記電圧調整器(110)に送出させることであって、前記調整器が前記コンポーネントに印加される前記電力レールの1つまたは複数の試験電圧の生成に影響を与えさせることと、
前記試験電圧のそれぞれに対する前記コンピュータシステムの応答を監視することと
を含む電圧マージン試験のための方法。 - 前記コントローラ(56)を、BMCとして選択すること
をさらに含む請求項7に記載の電圧マージン試験のための方法。 - 前記BMCと、前記電圧調整器との間の通信を提供するI2Cベースバス(58)を使用すること
をさらに含む請求項8に記載の電圧マージン試験のための方法。 - ハードウェアモニタ(20)を利用することであって、前記電力レールの電圧を測定することと、
前記測定した電圧を前記コントローラに送出することと
をさらに含む請求項7に記載の電圧マージン試験のための方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/606,463 US7400996B2 (en) | 2003-06-26 | 2003-06-26 | Use of I2C-based potentiometers to enable voltage rail variation under BMC control |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005018762A true JP2005018762A (ja) | 2005-01-20 |
Family
ID=33540063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004175079A Withdrawn JP2005018762A (ja) | 2003-06-26 | 2004-06-14 | Bmc制御下において電圧レール変化を可能にするi2cベースポテンショメータの使用 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7400996B2 (ja) |
JP (1) | JP2005018762A (ja) |
GB (1) | GB2403826B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009020630A (ja) * | 2007-07-11 | 2009-01-29 | Fujitsu Ltd | コンピュータ装置の試験方法及び装置及びプログラム |
JP2012168769A (ja) * | 2011-02-15 | 2012-09-06 | Nec Computertechno Ltd | インタフェース障害処理方式、情報処理装置及びインタフェース障害処理方法 |
JP5440613B2 (ja) * | 2009-12-28 | 2014-03-12 | 富士通株式会社 | 電源制御装置および電源制御方法 |
US9465761B2 (en) | 2013-07-19 | 2016-10-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing slave devices |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985826B2 (en) * | 2003-10-31 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | System and method for testing a component in a computer system using voltage margining |
US7487399B2 (en) * | 2003-11-07 | 2009-02-03 | Hewlett-Packard Development Company, L.P. | System and method for testing a component in a computer system using frequency margining |
WO2005091136A1 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for a self-optimizing reservation in time of compute resources |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
WO2006108187A2 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US20070101214A1 (en) * | 2005-10-28 | 2007-05-03 | Stauffer Titus D | Self-testing apparatus with controllable environmental stress screening (ESS) |
WO2008070813A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8449173B1 (en) * | 2008-04-10 | 2013-05-28 | Google Inc. | Method and system for thermal testing of computing system components |
US8030945B2 (en) * | 2008-07-09 | 2011-10-04 | Winbond Electronics Corp. | Group of circuits and testing method thereof and testing machine thereof |
US9876735B2 (en) | 2009-10-30 | 2018-01-23 | Iii Holdings 2, Llc | Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect |
US20130107444A1 (en) | 2011-10-28 | 2013-05-02 | Calxeda, Inc. | System and method for flexible storage and networking provisioning in large scalable processor installations |
US9054990B2 (en) | 2009-10-30 | 2015-06-09 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging server SOCs or server fabrics |
US9077654B2 (en) | 2009-10-30 | 2015-07-07 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging managed server SOCs |
US8599863B2 (en) | 2009-10-30 | 2013-12-03 | Calxeda, Inc. | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric |
US9465771B2 (en) | 2009-09-24 | 2016-10-11 | Iii Holdings 2, Llc | Server on a chip and node cards comprising one or more of same |
US20110103391A1 (en) | 2009-10-30 | 2011-05-05 | Smooth-Stone, Inc. C/O Barry Evans | System and method for high-performance, low-power data center interconnect fabric |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9680770B2 (en) | 2009-10-30 | 2017-06-13 | Iii Holdings 2, Llc | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric |
US9311269B2 (en) | 2009-10-30 | 2016-04-12 | Iii Holdings 2, Llc | Network proxy for high-performance, low-power data center interconnect fabric |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9648102B1 (en) | 2012-12-27 | 2017-05-09 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
CN102540051A (zh) * | 2010-12-22 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 电压裕度测试装置和电压裕度测试方法 |
CN102759698A (zh) * | 2011-04-26 | 2012-10-31 | 鸿富锦精密工业(深圳)有限公司 | 主板测试*** |
US9092594B2 (en) | 2011-10-31 | 2015-07-28 | Iii Holdings 2, Llc | Node card management in a modular and large scalable server system |
JP6179101B2 (ja) * | 2013-01-16 | 2017-08-16 | 日本電気株式会社 | 管理装置、管理方法、および管理プログラム |
US9971609B2 (en) * | 2014-06-05 | 2018-05-15 | American Megatrends, Inc. | Thermal watchdog process in host computer management and monitoring |
CN109032876A (zh) * | 2018-08-28 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种处理方法、电源及*** |
CN108984454B (zh) * | 2018-09-13 | 2024-03-22 | 武汉芯昌科技有限公司 | 一种基于type-c协议的主从机角色集成接口电路及检测方法 |
US11782809B2 (en) * | 2020-06-30 | 2023-10-10 | Tektronix, Inc. | Test and measurement system for analyzing devices under test |
CN112213980A (zh) * | 2020-10-21 | 2021-01-12 | 苏州浪潮智能科技有限公司 | 一种单片机故障诊断板卡及方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1219001A (en) | 1967-04-28 | 1971-01-13 | Industrial Nucleonics Corp | Digital setup apparatus for radiation gauging and controlling systems |
US4773094A (en) * | 1985-12-23 | 1988-09-20 | Dolby Ray Milton | Apparatus and method for calibrating recording and transmission systems |
JPS62262165A (ja) | 1986-05-08 | 1987-11-14 | Nec Corp | 情報処理装置 |
US5119021A (en) * | 1989-07-13 | 1992-06-02 | Thermal Management, Inc. | Method and apparatus for maintaining electrically operating device temperatures |
JPH052502A (ja) | 1991-01-09 | 1993-01-08 | Nec Corp | 情報処理装置の電圧マージン試験方式 |
US5235600A (en) | 1991-03-21 | 1993-08-10 | Amdahl Corporation | Scannable system with addressable clock suppress elements |
US5157326A (en) * | 1991-07-25 | 1992-10-20 | Burnsides Barry W | Board assembly for validation and characterization of a bus system |
US5663968A (en) * | 1992-06-30 | 1997-09-02 | H. Heuer Instruments Pty Ltd. | Margin test method and apparatus for intergrated services digital networks |
US5675807A (en) * | 1992-12-17 | 1997-10-07 | Tandem Computers Incorporated | Interrupt message delivery identified by storage location of received interrupt data |
US5455931A (en) * | 1993-11-19 | 1995-10-03 | International Business Machines Corporation | Programmable clock tuning system and method |
US6617872B2 (en) * | 1996-10-04 | 2003-09-09 | Texas Instruments Incorporated | Reduced cost, high speed integrated circuit test arrangement |
US6000040A (en) * | 1996-10-29 | 1999-12-07 | Compaq Computer Corporation | Method and apparatus for diagnosing fault states in a computer system |
FR2775526B1 (fr) * | 1998-02-27 | 2000-04-21 | Sgs Thomson Microelectronics | Dispositif de test en production des caracteristiques dynamiques de composants utilisant des transmissions serie |
US6351827B1 (en) * | 1998-04-08 | 2002-02-26 | Kingston Technology Co. | Voltage and clock margin testing of memory-modules using an adapter board mounted to a PC motherboard |
JP2000021198A (ja) * | 1998-06-30 | 2000-01-21 | Mitsubishi Electric Corp | 同期型半導体集積回路装置 |
KR100295055B1 (ko) * | 1998-09-25 | 2001-07-12 | 윤종용 | 전압조정이가능한내부전원회로를갖는반도체메모리장치 |
JP3161444B2 (ja) | 1998-12-09 | 2001-04-25 | 日本電気株式会社 | 障害ロギングシステム、方法およびプログラムを記憶した記憶媒体 |
US6316988B1 (en) * | 1999-03-26 | 2001-11-13 | Seagate Technology Llc | Voltage margin testing using an embedded programmable voltage source |
US6546507B1 (en) * | 1999-08-31 | 2003-04-08 | Sun Microsystems, Inc. | Method and apparatus for operational envelope testing of busses to identify halt limits |
US6564350B1 (en) * | 2000-06-30 | 2003-05-13 | Teradyne, Inc. | Testing frequency hopping devices |
US6697952B1 (en) * | 2000-07-24 | 2004-02-24 | Dell Products, L.P. | Margining processor power supply |
US6496790B1 (en) * | 2000-09-29 | 2002-12-17 | Intel Corporation | Management of sensors in computer systems |
GB0103837D0 (en) * | 2001-02-16 | 2001-04-04 | Nallatech Ltd | Programmable power supply for field programmable gate array modules |
US6667917B1 (en) * | 2001-06-15 | 2003-12-23 | Artisan Components, Inc. | System and method for identification of faulty or weak memory cells under simulated extreme operating conditions |
JP2003167796A (ja) * | 2001-11-29 | 2003-06-13 | Hitachi Ltd | ファイバーチャネルに接続されるデバイス、及びこのデバイスのマージンテスト方法、並びに、ファイバーチャネルに接続されるデバイスを有するシステムの障害部位特定方法 |
US7069349B2 (en) * | 2002-01-10 | 2006-06-27 | Intel Corporation | IPMI dual-domain controller |
US20030130969A1 (en) * | 2002-01-10 | 2003-07-10 | Intel Corporation | Star intelligent platform management bus topology |
US6563350B1 (en) * | 2002-03-19 | 2003-05-13 | Credence Systems Corporation | Timing signal generator employing direct digital frequency synthesis |
US6856926B2 (en) * | 2003-03-03 | 2005-02-15 | Hewlett-Packard Development Company, L.P. | Frequency margin testing of bladed servers |
US7966389B2 (en) * | 2003-04-22 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | System and method for application programming interface for extended intelligent platform management |
US7493226B2 (en) | 2003-06-26 | 2009-02-17 | Hewlett-Packard Development Company, L.P. | Method and construct for enabling programmable, integrated system margin testing |
US20050080887A1 (en) * | 2003-10-08 | 2005-04-14 | Chun-Liang Lee | Redundant management control arbitration system |
-
2003
- 2003-06-26 US US10/606,463 patent/US7400996B2/en not_active Expired - Lifetime
-
2004
- 2004-06-14 JP JP2004175079A patent/JP2005018762A/ja not_active Withdrawn
- 2004-06-16 GB GB0413501A patent/GB2403826B/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009020630A (ja) * | 2007-07-11 | 2009-01-29 | Fujitsu Ltd | コンピュータ装置の試験方法及び装置及びプログラム |
JP5440613B2 (ja) * | 2009-12-28 | 2014-03-12 | 富士通株式会社 | 電源制御装置および電源制御方法 |
JP2012168769A (ja) * | 2011-02-15 | 2012-09-06 | Nec Computertechno Ltd | インタフェース障害処理方式、情報処理装置及びインタフェース障害処理方法 |
US9465761B2 (en) | 2013-07-19 | 2016-10-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing slave devices |
Also Published As
Publication number | Publication date |
---|---|
GB0413501D0 (en) | 2004-07-21 |
US20040267486A1 (en) | 2004-12-30 |
GB2403826B (en) | 2007-02-28 |
US7400996B2 (en) | 2008-07-15 |
GB2403826A (en) | 2005-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005018762A (ja) | Bmc制御下において電圧レール変化を可能にするi2cベースポテンショメータの使用 | |
JP2005018761A (ja) | プログラマブル統合システムマージン試験を可能にするシステムおよび構成体 | |
US7437258B2 (en) | Use of I2C programmable clock generator to enable frequency variation under BMC control | |
US20040267483A1 (en) | Methods and systems for masking faults in a margin testing environment | |
CN109313473B (zh) | 处理设备的基于电压的热控制 | |
US20080082285A1 (en) | Method and system to self-test single and multi-core CPU systems | |
US9117011B2 (en) | Characterization and functional test in a processor or system utilizing critical path monitor to dynamically manage operational timing margin | |
US5144230A (en) | Method and system for testing integrated circuits by cycle stealing | |
CN107015891B (zh) | 信息处理方法及测试芯片 | |
CN110999086B (zh) | 容错时钟监视器*** | |
CN109313694B (zh) | 处理设备中的安全输入电压调整 | |
US5583875A (en) | Automatic parametric self-testing and grading of a hardware system | |
US5535330A (en) | System and method for error location in printed wire assemblies by external power on self test (post) commands | |
US20170337066A1 (en) | Computer and controlling method thereof | |
CN116680101A (zh) | 一种操作***宕机检测方法及装置、消除方法及装置 | |
WO2021084225A1 (en) | Non-volatile memory on chip | |
US20180005663A1 (en) | Method and apparatus for dynamic mode memory testing | |
US20050177771A1 (en) | Testing a receiver connected to a reference voltage signal | |
US10310007B2 (en) | Semiconductor apparatus and system | |
US11862275B2 (en) | System and method for verifying and analyzing memory for high performance computing systems | |
US10996266B2 (en) | System and method for testing voltage monitors | |
US11194684B2 (en) | Information handling system and methods to detect power rail failures and test other components of a system motherboard | |
US6947863B2 (en) | Process and circuit arrangement to monitor physical parameters | |
US7321482B2 (en) | Sub-circuit voltage manipulation | |
TWI823042B (zh) | 測試裝置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20060720 |