(57)【要約】【課題】基本入出力システムのパワーオンルーチン中にシステムデータを提供するシステム及び方法を提供する。【解決手段】コントローラは、独立した電源から電力が供給されており、システムデータにアクセスする。基本入出力システムを介してパワーオンセルフテストルーチンが実行される。基本入出力システムとコントローラとの間の複数のインタフェースのうち利用可能で最速のインタフェースが決定される。複数のインタフェースのうち１つが選択される。パワーオンセルフテストルーチン中に、システムデータは、選択されたインタフェースを介して、コントローラから基本入出力システムに送られる。【選択図】図４
2020187725.tif 000002
【特許請求の範囲】
【請求項１】
基本入出力システムのパワーオンルーチン中にセルフテストデータを提供するシステムであって、
独立した電源を有するコントローラであって、システムデータにアクセスするように動作可能なコントローラと、
パワーオンセルフテストルーチンを実行するように動作可能な基本入出力システムと、
前記基本入出力システムと前記コントローラとの間の複数のインタフェースと、を備え、
前記基本入出力システムは、パワーオンセルフテストルーチン中に前記システムデータを前記コントローラから前記基本入出力システムに通信するために、前記複数のインタフェースのうち利用可能な最速のインタフェースを決定するように動作可能であることを特徴とするシステム。
【請求項２】
前記コントローラは、前記基本入出力システムに利用可能なシステムデータが、前記コントローラによってアクセスされるシステムデータと同じであるか否かを判別し、システムデータが同じである場合に、前記基本入出力システムへの前記セルフテストデータの通信を終了するように動作可能であり、
前記基本入出力システムによってアクセス可能なバックアップストレージをさらに備え、前記基本入出力システムによってアクセス可能なシステムデータは、前記バックアップストレージに記憶されていることを特徴とする請求項１に記載のシステム。
【請求項３】
前記複数のインタフェースで利用可能な通信がない場合に、前記基本入出力システムは、前記コントローラへのハードウェアリセット信号をアクティブにするように動作可能であることを特徴とする請求項１に記載のシステム。
【請求項４】
前記最速のインタフェースが利用可能でない場合に、前記基本入出力システムは、前記複数のインタフェースのうち２番目に最速のインタフェース上で前記システムデータを通信するように動作可能であることを特徴とする請求項１に記載のシステム。
【請求項５】
前記コントローラは、ベースボード管理コントローラであり、
前記複数のインタフェースは、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）基準に準拠しており、キーボードコントローラスタイル（ＫＣＳ）、ＳＭＢｕｓシステムインタフェース（ＳＩＦＦ）又はブロック転送のうち少なくとも１つを含み、
前記セルフテストデータは、フィールド交換ユニットデータ、システムインベントリデータ又はシステムイベントログデータのうち少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
基本入出力システムのパワーオンルーチン中にシステムデータを提供する方法であって、
独立した電源を有するコントローラによって、システムデータを収集する工程と、
基本入出力システムによって、パワーオンセルフテストルーチンを実行する工程と、
前記基本入出力システムと前記コントローラとの間の複数のインタフェースのうち利用可能な最速のインタフェースを決定する工程と、
前記複数のインタフェースのうち１つを選択する工程と、
パワーオンセルフテストルーチン中に、選択されたインタフェースを介して、前記システムデータを前記コントローラから前記基本入出力システムに送信する工程と、
を含むことを特徴とする方法。
【請求項７】
前記基本入出力システムに利用可能なシステムデータが、前記コントローラによってアクセス可能なシステムデータと同じであるか否かを判別する工程であって、前記基本入出力システムによってアクセス可能なシステムデータは、前記バックアップストレージに記憶されている工程と、
システムデータが同じである場合に、前記基本入出力システムへのシステムデータの送信を終了する工程と、を含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記最速のインタフェースが利用可能でない場合に、前記複数のインタフェースのうち２番目に最速のインタフェース上で前記システムデータを送信する工程と、
前記複数のインタフェースで利用可能な通信がない場合に、前記コントローラへのハードウェアリセット信号をアクティブにする工程と、
を含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記コントローラは、ベースボード管理コントローラであり、
前記複数のインタフェースは、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）基準に準拠しており、キーボードコントローラスタイル（ＫＣＳ）、ＳＭＢｕｓシステムインタフェース（ＳＩＦＦ）又はブロック転送のうち少なくとも１つを含み、
前記セルフテストデータは、フィールド交換ユニットデータ、システムインベントリデータ又はシステムイベントログデータのうち少なくとも１つを含むことを特徴とする請求項６に記載の方法。
【請求項１０】
サーバであって、
電力が供給されたときにパワーオンセルフテストルーチンを実行するように動作可能な基本入出力システムと、
独立した電源を有するベースボード管理コントローラであって、システムデータにアクセスするベースボード管理コントローラと、
前記基本入出力システムを前記ベースボード管理コントローラに接続する、独立した管理プロトコルインタフェースバスと、
前記ベースボード管理コントローラと前記基本入出力システムとの間で前記システムデータを通信する複数のインタフェースプロトコルと、を備え、
前記基本入出力システムは、前記システムデータを前記基本入出力システムに通信するために、前記ベースボード管理コントローラ用の複数のインタフェースのうち１つのインタフェースを選択するように動作可能であることを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピューティングデバイスのパワーアップルーチンに関し、特に、パワーアップルーチン中にＢＩＯＳへのシステムデータの可用性を保証する方法に関する。
【背景技術】
【０００２】
コンピュータシステム（例えば、サーバのプロセッサコア等）のパワーオンセルフテスト（ＰＯＳＴ）ルーチン中に、基本入出力システム（ＢＩＯＳ）は、外部コントローラ（例えば、ベースボード管理コントローラ（ＢＭＣ））から関連するシステムデータの取得を試みる。サーバは、需要の高いアプリケーション（high demand application）（例えば、ネットワークベースのシステムやデータセンタ等）に多く使用されている。コンピューティングアプリケーション用のクラウドの出現により、データセンタの需要が増加している。データセンタは、データを記憶し、リモート接続されるコンピュータデバイスのユーザによってアクセスされるアプリケーションを実行する複数のサーバを有する。典型的なデータセンタは、付随する電源と通信接続とを備えた物理的なシャーシ構造を有する。各ラックは、複数のコンピューティングサーバと、ストレージサーバと、を収容することができる。動作を開始するには、ＰＯＳＴルーチンを使用して各サーバの電源をオンにする必要がある。サーバの電源投入を遅らせると、タスク（例えば、データ処理やアプリケーション実行等）が完了するまでユーザが待つ時間が長くなるので、望ましくない。このような遅延がデータセンタ内の多数のサーバに拡大すると、データセンタの全体的な運用が妨げられる可能性がある。
【０００３】
従来のシステムでは、ＰＯＳＴ期間の間、ＢＩＯＳは、ベースボード管理コントローラ（ＢＭＣ）と通信し、システム管理に必要なシステムデータの設定及び取得を試みる。このようなシステムデータは、例えば、フィールド交換ユニット（ＦＲＵ）情報、イベントログ、又は、システムインベントリを含むことができる。現在のシステムでは、このようなデータは、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）通信プロトコルに従って動作するインタフェースを介して、ＢＭＣから取得される。ＩＰＭＩプロトコル及びＢＭＣは、ＢＩＯＳが起動しているかどうかにかかわらず、一般的なハードウェア管理及びインベントリ機能を提供する。ＢＭＣは、ＰＯＳＴルーチン中に非常にビジーである可能性があるので、ＢＩＯＳとＢＭＣとの間のインタフェースを正常に初期化できないことがよくある。このような場合、ＢＩＯＳは、ＢＭＣが機能していないと判断するため、ＰＯＳＴルーチン中に、必要なシステムデータを取得することができない。必要なシステムデータが不足していると、システムの動作が妨げられる可能性がある。
【０００４】
また、現在のシステムでは、ＢＩＯＳは、１つのインタフェースプロトコル（例えば、キーボードコントローラスタイル（ＫＣＳ））のみを選択して、ＢＭＣと通信する。ＢＭＣとの単一のＫＣＳインタフェースプロトコルは、他のインタフェースプロトコルと比較して、ＫＣＳの下ではデータがバイト毎に転送されるので、必要なＢＩＯＳデータを取得するために比較的長い時間を必要とする。このようなＢＩＯＳデータは、ＦＲＵデータ、イベントログデータ、及び、システムインベントリデータを含むことができる。ＰＯＳＴルーチン中のこの遅延は、システムがフリーズしているとユーザが信じ、ＰＯＳＴルーチンの完了を待つことなくユーザがシステムを再起動させる原因となる可能性がある。これにより、システムの動作がさらに遅れることになる。
【０００５】
図１は、ＢＩＯＳが単一のインタフェースを介してＢＭＣからデータを取得する従来のプロセスの一例を示す図である。図１は、工程１０において、システムの電源が投入される（パワーオンされる）と、ＢＩＯＳが、電源初期化スタートアップ（power initialization start up）ルーチンを開始することを示している。このルーチンは、ＥＦＩ（Extensible Firmware Interface）前初期化（ＰＥＩ）、ドライバ実行環境（driver execution environment、ＤＸＥ）、及び、システム管理モード（ＳＭＭ）サービスの実行を含む。工程１２において、ＢＩＯＳは、ＵＥＦＩ（Universal Extensible Firmware Interface）ベースのファームウェアでのＰＥＩ／ＤＸＥ／ＳＭＭプロセス中に、トークンを用いて、ＢＭＣ上で何れのインタフェースをチェックするかを決定する。その後、工程１４において、ＢＩＯＳは、ＢＭＣが、通信プロトコルインタフェースをサポートしているか否かを判別するまで待機する。ＢＭＣがインタフェースプロトコルをサポートしていない場合、工程１６において、ＢＩＯＳは、ＢＭＣと通信するインタフェースプロトコルをインストールしない。ＢＭＣがインタフェースプロトコルをサポートしている場合、工程１８において、ＢＩＯＳは、インタフェースプロトコルをインストールして、ＢＭＣと通信する。現在のシステムでは、ＢＩＯＳは、１つのインタフェースプロトコル（例えば、キーボードコントローラスタイル（ＫＣＳ））のみを用いて、ＢＭＣと通信することができる。図１に示すように、インタフェースプロトコルのインストールが失敗すると、ＢＩＯＳに必要なシステムデータが失われる。
【０００６】
また、現在のシステムでは、ＢＩＯＳは、最初の命令がＢＭＣとの通信に失敗すると、ＩＰＭＩコマンドを再試行してデータを取得することを試みる。図２は、ＢＩＯＳがＩＰＭＩコマンドを用いてＢＭＣからフィールド交換ユニット（ＦＲＵ）情報を取得する現在のＢＩＯＳルーチンでのかかるシナリオを示している。この例示的なプロセスでは、工程３０において、ＢＭＣがオンになる。工程３２において、システムの電源がオンになる。工程３４において、ＢＩＯＳは、ＦＲＵデータを要求するコマンドをＢＭＣに送信する。工程３６において、ＢＩＯＳは、ＢＭＣが当該要求に正常に応答するかどうかを決定するまで待機する。応答がない場合、工程３８において、ＢＩＯＳは、再試行カウンタを設定し、再試行が最大再試行回数（例えば、３回）を超えたかどうかを判別する。再試行カウンタが最大回数より小さい場合、工程３４において、ＢＩＯＳは、ＦＲＵデータを要求する他のコマンドをＢＭＣに送信する動作にサイクルバック（cycles back）する。再試行カウンタが最大回数を超えた場合、工程４０において、ＢＩＯＳは、再試行カウンタをクリアして、ルーチンを終了する。この場合、ＢＩＯＳは、システムデータを取得することができず、システム管理ＢＩＯＳ（ＳＭＢＩＯＳ）の対応するテーブルは、誤ったデフォルト（incorrect default）になる。工程３６において応答がある場合、工程４２において、ＢＩＯＳは、システムデータを正常に取得してＳＭＢＩＯＳテーブルを充填するとともに、再試行カウンタをクリアして、ルーチンを終了させる。再試行可能な回数の関係によって、再試行プロセスは多くの時間を必要とする。
【０００７】
よって、従来のシステムは、ＢＩＯＳ  ＰＯＳＴ時間が長すぎるという問題を有している。また、ＢＩＯＳに転送しなければならないデータ量によってＰＯＳＴルーチン中にシステムが停止する。或いは、ＢＭＣがビジー状態で即時に応答できないために、ＢＩＯＳが極めて重要なデータ（例えば、ＦＲＵデータ等）をＢＭＣから正常に取得することができない場合には、システム管理ＢＩＯＳ（ＳＭＢＩＯＳ）データが空（empty）になるか、既に記憶されたデフォルトデータになる。よって、システムは正確な管理データを得ることができず、運用に支障をきたす可能性がある。
【０００８】
よって、起動中にＢＭＣからＢＩＯＳにデータを通信するための複数のインタフェースオプションを提供するシステムが必要とされている。さらに、データをＢＭＣからＢＩＯＳに送信するための高速チャネルを設けたシステムが必要とされている。また、データが既にＢＩＯＳで利用可能な場合に、ＢＭＣからのデータの取得をバイパスするシステムが必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、基本入出力システムのパワーオンルーチン中にシステムデータを提供するシステムを提供する。
【課題を解決するための手段】
【００１０】
開示される一例は、基本入出力システムのパワーオンルーチン中にシステムデータを提供するシステムである。システムは、独立した電源を有するコントローラを含む。コントローラは、システムデータにアクセスするように動作可能である。基本入出力システムは、パワーオンセルフテストルーチンを実行するように動作可能である。システムは、基本入出力システムとコントローラとの間の複数のインタフェースを含む。基本入出力システムは、パワーオンセルフテストルーチン中にシステムデータをコントローラから基本入出力システムに通信するために、複数のインタフェースのうち利用可能な最速のインタフェースを決定するように動作可能である。
【００１１】
開示される他の例は、基本入出力システムのパワーオンセルフテストルーチン中にシステムデータを提供する方法である。独立した電源から電力が供給されるコントローラは、システムデータにアクセスするように動作可能である。パワーオンセルフテストルーチンは、基本入出力システムを介して実行される。基本入出力システムとコントローラとの間の複数のインタフェースのうち最速で利用可能なインタフェースが決定される。複数のインタフェースのうち１つが選択される。システムデータは、パワーオンセルフテストルーチン中に、選択されたインタフェースを介して、コントローラから基本入出力システムに送られる。
【００１２】
開示される他の例は、電力が供給されたときにパワーオンセルフテストルーチンを実行するように動作可能な基本入出力システムを含むサーバである。サーバは、独立した電源を有するベースボード管理コントローラを含む。ベースボード管理コントローラは、システムデータにアクセスするように動作可能である。独立した管理プロトコルインタフェースバスは、基本入出力システムをベースボード管理コントローラに接続する。システムは、ベースボード管理コントローラと基本入出力システムとの間でシステムデータを通信するための複数のインタフェースプロトコルを含む。基本入出力システムは、システムデータを基本入出力システムに通信するために、ベースボード管理コントローラ用の複数のインタフェースのうち１つのインタフェースを選択するように動作可能である。
【００１３】
上記の概要は、本発明のあらゆる実施形態又はあらゆる態様を表すことを意図していない。むしろ、上記の概要は、本明細書に記載されたいくつかの新規な態様及び特徴の例を単に提供するに過ぎない。上記の特徴及び利点と他の特徴及び利点とは、添付の図面及び特許請求の範囲と併せて、本発明を実施するための代表的な実施形態及びモードの以下の詳細な説明から容易に明らかになるであろう。
【発明の効果】
【００１４】
本発明のコンピューティングデバイスのパワーオンルーチンによれば、パワーオンルーチン中にＢＩＯＳへのシステムデータの可用性を保証することができる。
【００１５】
本開示は、添付の図面を参照して、例示的な実施形態の以下の説明からより良く理解されるであろう。
【図面の簡単な説明】
【００１６】
【図１】単一のインタフェースを介してＢＭＣからデータを取得するＢＩＯＳの従来のプロセスを示す図である。
【図２】ＢＭＣからのＦＲＵデータの要求が失敗した場合に生じる一連の再試行の従来のフローチャートである。
【図３Ａ】ＢＩＯＳとＢＭＣとの間の複数のインタフェースを可能にするＩＰＭＩサブシステムのブロック図である。
【図３Ｂ】ＢＩＯＳとＢＭＣとの間の複数のインタフェースを可能にするＩＰＭＩサブシステムのブロック図である。
【図３Ｃ】図３Ａ〜３ＢのＢＩＯＳを有するＩＰＭＩサブシステムに接続されたプロセッサマザーボードのブロック図である。
【図４】図３Ａ〜３Ｂに示す例示的なシステムにおいて、複数のインタフェースを介してＢＩＯＳとＢＭＣとの間の通信を可能にするルーチンのフローチャートである。
【図５】ＢＩＯＳが、ＢＭＣとの通信をバイパスして必要なシステムデータを取得するのを可能にする起動ルーチンのフローチャートである。
【図６】本発明の様々な実施形態による例示的なコンピュータシステムを示す図である。
【図７】本発明の様々な実施形態による例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００１７】
本発明は、様々な変更及び代替形態を受け入れることができる。いくつかの代表的な実施形態は、例として図面に示されており、本明細書で詳細に説明される。しかし、本発明は、開示された特定の形態に限定されることを意図していないことを理解されたい。むしろ、本発明は、添付の特許請求の範囲によって定義される本発明の趣旨及び範囲に含まれる全ての変更、均等物及び代替物を包含する。
【００１８】
本発明は、多くの異なる形態で具体化することができる。代表的な実施形態を図面に示し、本明細書で詳細に説明する。本開示は、本発明の原理の一例又は例示であり、本発明の広い態様を、図示した実施形態に限定することを意図していない。その範囲において、例えば、要約、概要及び詳細な説明に開示されているが、特許請求の範囲に明示的に記載されていない要素及び限定は、単独で又は集合的に、黙示、推論又は他の方法によって特許請求の範囲に組み込まれてはならない。本発明を詳細に説明する目的のために、特に否定しない限り、単数形は複数形を含み、その逆もまた同様である。「含む」という用語は、「制限なしに含む」ことを意味している。さらに、例えば、「約」、「殆ど」、「実質的に」、「およそ」等の近似語は、本明細書では、例えば、「〜に」、「〜に近い」、「大体」、「〜の３〜５％の範囲内」、「許容される製造公差内」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。
【００１９】
本発明は、ＰＯＳＴ時間を加速させて、ＢＩＯＳとＢＭＣとの間の通信の失敗を回避するためのメカニズムを提供する。これにより、このメカニズムは、ＰＯＳＴルーチン中に発生するＢＭＣハングアップ（hang-up）による遅延を回避する。開示されるシステムは、ＢＩＯＳとＢＭＣとの間のインテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）システムの利用可能な全てのインタフェースから最速のインタフェースを選択する。また、システムは、必要なシステムデータが既に記憶されているかどうかをＢＩＳに判別させることができる。よって、ＢＭＣがシステムデータをチェックし、システムデータが変更されていない場合、ＢＩＯＳは、ＢＭＣとそれ以上通信することなく、バックアップストレージからシステムデータを直接取得することができる。このプロセスによって、ＰＯＳＴ時間が大幅に減少する。また、ＢＭＣに障害が発生した場合、ＢＩＯＳは、ハードウェアピンを介してＢＭＣリセットをトリガすることができる。
【００２０】
図３Ａ〜図３Ｂは、ＢＩＯＳとＢＭＣとの間の複数の通信インタフェースプロトコルのうち１つを選択して、ＰＯＳＴルーチンを実行するためにシステムデータを効率的に通信することを可能にするＩＰＭＩシステム１００のブロック図である。この例では、ＩＰＭＩシステム１００は、コントローラ（例えば、ベースボード管理コントローラ）によって管理される複数のプロセッサ及びコンポーネントを含むサーバの一部である。システムデータは、ＦＲＵ（field replacement unit）データと、イベントログ（event log）データと、システムインベントリ（system inventory）データと、を含むことができる。ＩＰＭＩシステム１００は、マザーボード１１０と、メモリボード１１２と、プロセッサボード１１４と、冗長電源ボード１１６と、シャーシボード１１８と、を含む。ＩＰＭＩシステム１００は、プラットフォームコントローラハブ（ＰＣＨ）チップに記憶され得るＢＩＯＳ１２０を含むプロセッサマザーボード３００上のプロセッサシステム等の他のコンポーネントをサポートするシステムの管理を可能にする。マザーボード１１０は、ベースボード管理コントローラ（ＢＭＣ）１３０と、フィールド交換ユニット（ＦＲＵ）メモリユニット１４０と、を含む。ＦＲＵメモリユニット１４０は、システム１００用のＦＲＵデータを記憶するメモリボード１１２及びプロセッサボード１１４上のスタティックメモリから構成されている。ＢＭＣ１３０は、メインコントローラとして機能し、異なるモジュール上に分布する他のサテライト管理コントローラと通信することができる。例えば、システム１００は、シャーシ管理コントローラ１３２と、ネットワークコントローラ１３４と、シリアルコントローラ１３６と、を含み、これらの各々は、ＢＭＣ１３０と通信する。
【００２１】
ＦＲＵメモリユニット１４０は、メモリボード１１２上のＥＥＰＲＯＭ１４２と、プロセッサボード１１４上のＥＥＰＲＯＭ１４４と、を含む。ＦＲＵメモリユニット１４０は、システム１００内の交換可能な全てのコンポーネントのＦＲＵデータを含む。ＦＲＵデータは、各ボード１１２，１１４上のＥＥＰＲＯＭ１４２，１４４に記憶されている。ＢＩＯＳ１２０は、システムイベントログ及びＢＭＣ１３０に渡されるシステムインベントリに関するデータを収集する。
【００２２】
また、ＢＭＣ１３０は、ＩＰＭＩシステムインタフェース１５０と、一連のセンサ及び制御回路１５２と、不揮発性ストレージ１５４と、に接続されている。センサ及び制御回路１５２は、電圧センサ、温度センサ、ファン制御及び電力調整制御を介して、システム機能の監視及び調整を可能にする。不揮発性ストレージ１５４は、例えば、システムイベントログの結果、センサデータレコード、及び、ＢＭＣ１３０によって使用される他のデータ等の特定のシステムデータを記憶する。ＢＭＣ１３０は、システムデータを管理する。よって、他のプロセッサ（例えば、ＢＩＯＳに関連するプロセッサ等）が故障しても、このシステムデータにアクセスすることができる。
【００２３】
システムバス１６０は、ＢＩＯＳ１２０を、ＢＭＣ１３０、ネットワークコントローラ１３４及びシリアルコントローラ１３６に接続する。ＰＣＩ管理バス１６２は、ＢＭＣ１３０をＰＣＩデバイスに接続する。インテリジェントプラットフォーム管理インタフェースバス（ＩＰＭＢ）１６４は、ＢＭＣ１３０をシャーシ管理コントローラ１３２及び冗長電源ボード１１６に接続する。プライベート管理バス１６６は、ＢＭＣ１３０をＦＲＵメモリユニット１４０に接続する。
【００２４】
図３Ｃは、プロセッサ３０２，３０４を含むプロセッサマザーボード３００を示す図である。プラットフォーム制御ハブ（ＰＣＨ）３１０は、データを、プロセッサマザーボード３００のコンポーネントにルーティングすることを可能にする。この例において、ＢＩＯＳ１２０は、ＰＣＨ３１０の一部である。図３ＡのＢＭＣ１３０は、この例では、ＤＲＡＭ及びフラッシュメモリの両方を含む元のストレージデバイス３２０にアクセスする。この例において、ＢＩＯＳ１２０は、ＤＲＡＭ及びフラッシュメモリの両方を含むバックアップストレージデバイス３２２へのアクセスを有する。
【００２５】
例示的なシステム１００では、ＢＭＣ１３０は、元のストレージデバイス３２０内のデータ（例えば、ＦＲＵデータ等）、又は、他のシステムデータ（例えば、生成されたシステムイベントログ及びシステムインベントリ等）を、バックアップストレージ３２２内のシステムデータと照合する。バックアップストレージ３２２内のシステムデータが、ＢＭＣ１３０によって管理されているシステムデータと同じである場合、ＢＭＣ１３０は、バックアップストレージ３２２に記憶されたデータが不可欠であり、ＢＩＯＳ１２０によって使用され得ることをＢＩＯＳ１２０に通信する。この場合、ＢＩＯＳ１２０は、バックアップストレージ３２２からのデータに直接アクセスすることができ、ＢＭＣ１３０に対してデータを要求するコマンドを送信する必要がない。
【００２６】
元のストレージ３２０の不揮発性メモリ内のデータが、バックアップストレージ３２２に記憶されたデータと異なる場合、ＢＩＯＳ１２０は、ＢＭＣ１３０からのデータを要求する必要がある。この場合、システムは、システムデータをＢＩＯＳ１２０に送信するために、複数のインタフェースプロトコルのうち一つを選択する。ＢＭＣ１３０に障害が発生した場合、ＢＩＯＳ１２０は、プロセッサチップセットに接続されたＢＭＣ１３０のハードウェアピンを介して信号を送信することによって、ＢＭＣリセットをトリガすることができる。リセット信号が依然としてＢＭＣ１３０をウェイク（wake）できない場合でも、ＢＩＯＳ１２０は、依然としてシステムデータをバックアップストレージ３２２のフラッシュメモリから取得することができ、ＢＭＣ１３０に依存する必要がない。或いは、ＢＩＯＳ１２０は、ＰＯＳＴルーチン中にシステムデータが利用できないことを示すメッセージを表示することができる。
【００２７】
システム１００は、ＢＭＣ１３０とＢＩＯＳ１２０との間の通信で協働するいくつかの異なるインタフェースのうち１つを選択することを可能にする。この例において、インタフェースは、キーボードコントローラスタイル（ＫＣＳ）インタフェースと、ＳＭＢｕｓシステムインタフェース（ＳＳＩＦ）と、ブロック転送インタフェースと、を含むことができる。この例において、ＳＳＩＦインタフェースは、大きなデータ（例えば、システムイベントログデータやシステムインベントリデータ等）を処理するので、最速のインタフェースである。この例において、ＫＣＳインタフェースは、データカウントの少ないデータ（例えば、セルフテスト結果や他の単純なコマンド等）の転送に使用される可能性があるので、ＳＳＩＦインタフェースよりも遅い。電源がオンになると、ＢＩＯＳ１２０は、何れのインタフェースがＢＩＯＳ１２０とＢＭＣ１３０との間にインストールされるかをチェックする。次に、ＢＩＯＳ１２０は、インストールされたインタフェースから最速のインタフェースを選択して、ＢＭＣ１３０と通信する。数回の再試行の後に、インタフェースがビジーであり、ＢＭＣ１３０からの応答を得ることができない場合、ＢＩＯＳ１２０は、ＢＭＣ１３０と通信するために２番目に早いインタフェースに切り換え、ＢＭＣ１３０と通信するために、利用可能な異なるインタフェースの各々の再試行を継続する。
【００２８】
図４は、図３Ａ〜図３ＣのＢＩＯＳ１２０からＢＭＣ１３０にデータをロードするプロセスのフローチャートである。工程４００において、ＢＭＣ１３０に電源が投入される。工程４０２において、ＢＭＣ１３０は、アクセス可能なシステムデータをシステム内の任意のストレージ（例えば、ストレージ３２０，３２２等）にコピーする。次に、工程４０４において、図３ＡのＢＩＯＳ１２０に電源が投入され、パワーオンセルフテストルーチンを開始する。工程４０６において、ＢＩＯＳ１２０は、最速のインタフェース（例えば、ＳＳＩＦインタフェース）をチェックする。最速のインタフェースが利用可能である場合、工程４０８において、ＢＩＯＳ１２０は、最初にＢＭＣ１３０からのデータを通信するために、最高速度のインタフェース（例えば、ＳＳＩＦインタフェースプロトコル）をインストールする。
【００２９】
次に、工程４１０において、ＢＩＯＳ１２０は、２番目に高速なインタフェース（この例では、ＫＣＳインタフェース）をチェックする。２番目のインタフェースが利用可能である場合、工程４１２において、ＢＩＯＳ１２０は、２番目に高速なインタフェースを、ＢＭＣ１３０との２番目の通信インタフェースとしてインストールする。
【００３０】
次いで、工程４１４において、ＢＩＯＳ１２０は、３番目に高速なインタフェース（この例では、ブロック転送（ＢＴ）インタフェース）をチェックする。インタフェースが利用可能である場合、工程４１６において、ＢＩＯＳ１２０は、３番目に高速なインタフェースを、ＢＭＣ１３０との３番目の通信インタフェースとしてインストールする。
【００３１】
次に、工程４１８において、ＢＩＯＳ１２０は、次に最速のインタフェースをチェックする。インタフェースが利用可能である場合、工程４２０において、ＢＩＯＳ１２０は、次に最速のインタフェースを、ＢＭＣ１３０との次の通信インタフェースとしてインストールする。
【００３２】
その後、プロセスはこの工程を繰り返して、他の利用可能な通信インタフェースを決定し、これにより、ＢＩＯＳ１２０とＢＭＣ１３０との間で利用可能な最速の通信インタフェースを使用する。
【００３３】
よって、利用可能な最速のインタフェースがＳＳＩＦインタフェースである場合、ＢＭＣ１３０は、データ（例えば、ＦＲＵデータ等）を、ＳＳＩＦインタフェースを介してＢＩＯＳ１２０に通信する。ＳＳＩＦインタフェースが利用できない場合、ＢＭＣ１３０は、次に速い通信インタフェースを介して、データをＢＩＯＳ１２０に通信する。この例において、ＫＣＳは、次に速い通信インタフェースである。
【００３４】
図５は、図３Ａ〜図３ＢのＢＭＣ１３０からセルフテストデータをインストールする必要をバイパスして、ＢＭＣ障害からのリセットが必要かどうかを判別するルーチンのフローチャートである。工程５００において、図３Ａ〜図３ＣのＢＩＯＳ１２０は、先ず、図４のプロセスに基づいて、インタフェースプロトコルがＢＭＣ１３０によって正常にインストールされたか否かを判別する。インタフェースプロトコルが正常にインストールされると、ＰＯＳＴルーチン中に、ＢＩＯＳ１２０は、ＢＭＣ１３０へのコマンドを介してチェック結果を要求する。工程５０２において、ＢＭＣ１３０は、ＢＩＯＳ１２０によってアクセスされるバックアップストレージ３２２内のシステムデータが、ＢＭＣ１３０によってアクセスされるシステムデータと同じであるか否かを判別する。データが同じである場合、工程５０４において、ＢＩＯＳ１２０は、バックアップストレージ３２２からシステムデータを直接取得する。データが同じでない場合、工程５０６において、ＢＩＯＳ１２０は、図４のルーチンで決定されるように、利用可能な最速のインタフェースを介してＢＭＣ１３０からデータを取得する。
【００３５】
工程５００において、インタフェースプロトコルが正常にインストールされない場合、工程５０８において、ＢＩＯＳ１２０は、ＢＭＣ１３０が恐らく失敗したと判別する。次に、工程５１０において、ＢＩＯＳ１２０は、ＢＭＣ１３０のハードウェアピン上でリセット信号をトリガする。ＢＭＣ１３０がリセット信号に応答する場合、工程５００において、ＢＩＯＳ１２０は、ループバック（loop back）して、プロトコルが現在正常にインストールされているかどうかを判別する。ＢＭＣ１３０がリセット信号に応答しない場合、工程５１２において、ＢＩＯＳ１２０は、バックアップストレージ３２２から必要なデータを直接取得する。この場合、バックアップストレージ３２２には、ＢＭＣ１３０からの現在のシステムデータが存在しないので、システムデータが古くなっている可能性がある。
【００３６】
図４及び図５のフローチャートは、ＢＩＯＳ  ＰＯＳＴルーチンに必要なデータの通信をストリーミングするプロセスに用いられる例示的な機械可読命令を示している。この例では、機械可読命令は、（ａ）プロセッサ、（ｂ）コントローラ、及び／又は、（ｃ）１つ以上の他の適切な処理デバイスによって実行されるアルゴリズムを含む。アルゴリズムは、有形媒体（例えば、フラッシュメモリ、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタルビデオ（汎用）ディスク（ＤＶＤ）又は他のメモリデバイス等）に記憶されたソフトウェアで具現化することができる。しかし、当業者であれば理解できるように、アルゴリズム全体及び／又はその一部は、代替的に、プロセッサ以外のデバイスによって実行され、及び／又は、周知の方法でファームウェア又は専用のハードウェアで実施することができる（例えば、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルロジックデバイス（ＦＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック等によって実行され得る）。例えば、インタフェースの何れか又は全てのコンポーネントは、ソフトウェア、ハードウェア、及び／又は、ファームウェアによって実装することができる。また、フローチャートによって表される機械可読命令の一部又は全ては、手動で実施されてもよい。さらに、例示的なアルゴリズムは、図４〜図５に示すフローチャートを参照して説明されているが、当業者であれば理解できるように、例示的な機械可読命令を実行する他の多くの方法が代替的に用いられてもよい。例えば、ブロックの実行順序は変更されてもよいし、及び／又は、説明したブロックのいくつかは変更、削除又は組み合わされてもよい。
【００３７】
図６は、例示的なコンピューティングシステム６００を示す図であり、コンピューティングシステムのコンポーネントは、バス６０２を用いて互いに電気通信する。システム６００は、処理ユニット（ＣＰＵ又はプロセッサ）６３０と、システムバス６０２と、を有する。システムバス６０２は、システムメモリ６０４（例えば、リードオンリメモリ（ＲＯＭ）６０６及びランダムアクセスメモリ（ＲＡＭ）６０８）を含む各種システムコンポーネントをプロセッサ６３０に接続する。システム６００は、高速メモリのキャッシュを有し、キャッシュは、プロセッサ６３０に直接接続され、プロセッサ６３０に隣接して接続され、又は、プロセッサ６３０の一部として統合されてもよい。システム６００は、プロセッサ６３０による高速アクセスのために、メモリ６０４及び／又はストレージデバイス６１２からキャッシュ６２８にデータをコピーしてもよい。この方法において、キャッシュは、プロセッサ６３０がデータを待つ間に遅延が生じるのを防止するパフォーマンス向上を提供する。これらのモジュール及び他のモジュールは、様々な動作を制御するためにプロセッサ６３０を制御するように構成されている。別のシステムメモリ６０４も使用可能である。メモリ６０４は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ６３０は、任意の汎用プロセッサ、及び、例えば、ストレージデバイス６１２に記憶された第１モジュール６１４、第２モジュール６１６及び第３モジュール６１８等のハードウェアモジュール又はソフトウェアモジュールを含むことができる。ハードウェアモジュール及びソフトウェアモジュールは、プロセッサ６３０、及び、ソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを制御するように構成されている。プロセッサ６３０は、実質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に独立したコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【００３８】
ユーザがコンピューティングシステム６００と対話するのを可能にするために、入力デバイス６２０が入力メカニズムとして提供される。入力デバイス６２０は、例えば、スピーチ用のマイク、ジェスチャー又はグラフィック入力用のタッチセンシティブスクリーン、キーボード、マウス、モーション入力等を含むことができる。出力デバイス６２２は、従来技術で知られる１つ以上の出力メカニズムである。場合によっては、マルチモーダルシステムは、ユーザがシステム６００と通信するために、複数のタイプの入力を提供し得る。通信インタフェース６２４は、ユーザ入力及びシステム出力を支配（govern）及び管理することができる。
【００３９】
ストレージデバイス６１２は、コンピュータによってアクセス可能なデータを記憶するための不揮発性メモリとすることができる。ストレージデバイス６１２は、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク（ＤＶＤ）、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）６０８、リードオンリメモリ（ＲＯＭ）６０６及びこれらの組み合わせであってもよい。
【００４０】
コントローラ６１０は、例えばベースボード管理コントローラ（ＢＭＣ）等のように、システム６００上の専用のマイクロコントローラ又はプロセッサであってもよい。場合によっては、コントローラ６１０は、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）の一部であってもよい。さらに、場合によっては、コントローラ６１０は、システム６００のマザーボード又はメイン回路基板に組み込まれてもよい。コントローラ６１０は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。コントローラ６１０は、以下に説明するように、例えばコントローラ又は周辺コンポーネント等の各種システムデバイスやコンポーネント（内部、及び／又は、外部）と通信することもできる。
【００４１】
コントローラ６１０は、通知、警告及び／又はイベントに対する特定の応答を生成し、リモートデバイス又はコンポーネント（例えば、電子メールメッセージ、ネットワークメッセージ等）と通信し、自動ハードウェア回復プロセス用等の命令又はコマンド等を生成することができる。管理者は、以下に説明するように、コントローラ６１０と遠隔通信して、特定のハードウェア回復プロセス又は動作を開始又は実行することもできる。
【００４２】
コントローラ６１０は、コントローラ６１０が受信したイベント、警告及び通知を管理して維持するシステムイベントログコントローラ及び／又はストレージを含むこともできる。例えば、コントローラ６１０又はシステムイベントログコントローラは、１つ以上のデバイス及びコンポーネントから警告又は通知を受信し、当該警告又は通知をシステムイベントログストレージコンポーネントに保持することができる。
【００４３】
フラッシュメモリ６３２は、ストレージ及び／又はデータ転送のためにシステム６００に使用され得る電子不揮発性コンピュータストレージ媒体又はチップであってもよい。フラッシュメモリ６３２は、電気的に消去及び／又は再プログラムすることができる。フラッシュメモリ６３２は、例えば、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、ＲＯＭ、ＮＶＲＡＭ、又は、相補型ＭＯＳ（complementary metal−oxide semiconductor：ＣＭＯＳ）を含むことができる。フラッシュメモリ６３２は、システム３００が起動する場合に、システム６００で実行されるファームウェア６３４を、ファームウェア６３４に指定された構成のセットと共に記憶することができる。フラッシュメモリ６３２は、ファームウェア６３４によって用いられる構成を記憶することもできる。
【００４４】
ファームウェア６３４は、基本入出力システム（ＢＩＯＳ）又は等価物（例えば、エクステンシブルファームウェアインタフェース（ＥＦＩ）又はユニファイドエクステンシブルファームウェアインタフェース（ＵＥＦＩ））を含むことができる。ファームウェア６３４は、システム６００が起動される毎にシーケンスプログラムとしてロードされ実行され得る。ファームウェア６３４は、構成のセットに基づいて、システム６００に存在するハードウェアを識別、初期化及びテストすることができる。ファームウェア６３４は、システム６００上でセルフテスト（例えば、パワーオンセルフテスト（ＰＯＳＴ））を実行することができる。このセルフテストは、各種ハードウェアコンポーネント（例えば、ハードディスクドライブ、光学読み取りデバイス、冷却デバイス、メモリモジュール、拡張カード等）の機能をテストすることができる。ファームウェア６３４は、オペレーティングシステム（ＯＳ）を記憶するために、メモリ６０４、ＲＯＭ６０６、ＲＡＭ６０８及び／又はストレージデバイス６１２内の領域をアドレス指定して割り当てることができる。ファームウェア６３４は、ブートローダ及び／又はＯＳをロードし、システム６００の制御をＯＳに渡すことができる。
【００４５】
システム６００のファームウェア６３４は、ファームウェア６３４がシステム６００内の各種ハードウェアコンポーネントをどのように制御するかを定義するファームウェア構成を含むことができる。ファームウェア構成は、システム内の各種ハードウェアコンポーネントが起動される順序を決定することができる。ファームウェア６３４は、ＵＥＦＩ等のインタフェースを提供することができ、ファームウェアのデフォルト構成におけるパラメータとは異なる様々な異なるパラメータを設定することができる。例えば、ユーザ（例えば、管理者）は、ファームウェア６３４を用いて、クロック及びバス速度を指定し、どの周辺機器がシステム６００に接続されているかを定義し、動作パラメータ（例えば、ファン速度及びＣＰＵの温度限界）の閾値を設定し、システム６００の全体的なパフォーマンス及び電力使用量に影響を及ぼす様々な他のパラメータを提供することができる。ファームウェア６３４は、フラッシュメモリ６３２に記憶されているように示されているが、当業者であれば、ファームウェア６３４が、例えばメモリ６０４又はＲＯＭ６０６等の他のメモリコンポーネントに記憶され得ることを容易に認識するであろう。
【００４６】
システム６００は１つ以上のセンサ６２６を含むことができる。１つ以上のセンサ６２６は、例えば、１つ以上の温度センサ、熱（thermal）センサ、酸素センサ、化学センサ、ノイズセンサ、熱（heat）センサ、電流センサ、電圧検出器、気流センサ、流量センサ、赤外線温度計、熱流量センサ、温度計、高温計等を含むことができる。１つ以上のセンサ６２６は、例えば、バス６０２を介して、プロセッサ、キャッシュ６２８、フラッシュメモリ６３２、通信インタフェース６２４、メモリ６０４、ＲＯＭ６０６、ＲＡＭ６０８、コントローラ６１０及びストレージデバイス６１２と通信することができる。１つ以上のセンサ６２６は、１つ以上の異なる手段（例えば、Ｉ２Ｃ、汎用出力（general purpose output：ＧＰＯ）等）を介して、システム内の他のコンポーネントと通信することもできる。システム６００上の異なるタイプのセンサ（例えば、センサ６２６）は、パラメータ（例えば、冷却ファン速度、電源状態、オペレーティングシステム（ＯＳ）状態、ハードウェア状態等）をコントローラ６１０に報告してもよい。システム６００は、ディスプレイ６３６を用いて、コントローラ６１０によって実行されるアプリケーションに関連するグラフィックスを提供することができる。
【００４７】
図７は、説明した方法又は動作を実行し、並びに、グラフィカルユーザインタフェース（ＧＵＩ）の生成及び表示に使用され得るチップセット構成を有する例示的なコンピュータシステム７００を示す図である。コンピュータシステム７００は、本発明の技術を実施するのに使用可能なコンピュータハードウェア、ソフトウェア及びファームウェアを含むことができる。システム７００は、識別された計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを実行することができる物理的及び／又は論理的に異なる様々なリソースを表すプロセッサ７１０を含むことができる。プロセッサ７１０は、プロセッサ７１０との入出力を制御することができるチップセット７０２と通信することができる。この例では、チップセット７０２は、情報を出力デバイス７１４（例えば、ディスプレイ）に出力し、ストレージデバイス７１６（例えば、磁気媒体、固体媒体を含む）と情報を読み書きすることができる。チップセット７０２は、ＲＡＭ７１８からデータを読み取り、ＲＡＭ７１８にデータを書き込むこともできる。様々なユーザインタフェースコンポーネント７０６とインタフェースするためのブリッジ７０４を、チップセット７０２とインタフェースするために設けることができる。ユーザインタフェースコンポーネント７０６は、キーボード、マイク、タッチ検出及び処理回路、並びに、ポインティングデバイス（マウス等）を含むことができる。一般に、システム７００への入力は、機械生成及び／又は人間生成の様々なソースの何れかからのものとすることができる。
【００４８】
チップセット７０２は、異なる物理インタフェースを有する１つ以上の通信インタフェース７０８とインタフェースすることもできる。かかる通信インタフェースは、有線及び無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク、並びに、パーソナルエリアネットワークのためのインタフェースを含むことができる。さらに、機械は、ユーザインタフェースコンポーネント７０６を介してユーザからの入力を受信し、プロセッサ７１０を用いてこれらの入力を解釈することによって、例えばブラウジング機能等の適切な機能を実行することができる。
【００４９】
また、チップセット７０２は、電源が投入された（パワーオンされた）ときに、コンピュータシステム７００によって実行され得るファームウェア７１２と通信することができる。ファームウェア７１２は、ファームウェア構成のセットに基づいて、コンピュータシステム７００に存在するハードウェアを識別、初期化及びテストすることができる。ファームウェア７１２は、システム７００上でセルフテスト（例えば、ＰＯＳＴ）を実行することができる。セルフテストは、各種ハードウェアコンポーネント７０２〜７１０の機能をテストすることができる。ファームウェア７１２は、ＯＳを記憶するために、メモリ７１８内の領域をアドレス指定し、割り当てることができる。ファームウェア７１２は、ブートローダ及び／又はＯＳをロードし、システム７００の制御をＯＳに渡すことができる。場合によっては、ファームウェア７１２は、ハードウェアコンポーネント７０２〜７１０，７１４〜７１８と通信することができる。ここで、ファームウェア７１２は、チップセット７０２を介して、及び／又は、１つ以上の他のコンポーネントを介して、ハードウェアコンポーネント７０２〜７１０，７１４〜７１８と通信することができる。場合によっては、ファームウェア７１２は、ハードウェアコンポーネント７０２〜７１０，７１４〜７１８と直接通信することができる。
【００５０】
例示的なシステム６００（図６），７００は、より高い処理能力を提供するために、２つ以上のプロセッサ（例えば、６３０，７１０）を有することができ、又は、ネットワーク接続されたコンピューティングデバイスのグループ若しくはクラスタの一部であってもよいことが理解されるであろう。
【００５１】
本願で使用される「コンポーネント」、「モジュール」、「システム」等の用語は、一般に、コンピュータ関連エンティティ、即ちハードウェア（例えば、回路）、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、又は、１つ以上の特定の機能を有する操作可能な機器に関連するエンティティの何れかを指す。例えば、コンポーネントは、プロセッサ（例えば、デジタル信号プロセッサ等）で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び／又は、コンピュータとすることができるが、これらに限定されない。例として、コントローラで実行されるアプリケーション及びコントローラの両方がコンポーネントとなることができる。１つ以上のコンポーネントがプロセス及び／又は実行スレッドに存在してもよく、コンポーネントが１つのコンピュータ上に位置してもよく、及び／又は、２つ以上のコンピュータ間に分布してもよい。さらに、「デバイス」は、特別に設計されたハードウェア、ハードウェアが特定の機能を実行するのを可能にするソフトウェアの実行によって特殊化された汎用ハードウェア、コンピュータ可読媒体に記憶されたソフトウェア、又は、これらの組み合わせの形態をとることができる。
【００５２】
本明細書で用いられる用語は、特定の実施形態を説明することを目的としており、本発明を限定することを意図していない。本明細書で使用されているように、「一」、「１つの」、「この」という単数形は、文脈が他のことを明確に示さない限り、複数形も含むことが意図されている。さらに、「含む」、「有する」やこれらの変化形が、詳細な説明及び／又は特許請求の範囲に用いられており、このような用語の意味は、「備える」という用語と同様に包括的であることを意図している。
【００５３】
特に定義されない限り、本明細書で使用される用語（技術用語及び科学用語を含む）は、当業者によって一般に理解されるのと同じ意味を有する。さらに、一般的に使用される辞書において定義されるような用語は、関連技術の文脈におけるこれらの意味と一致する意味を有するものとして解釈されるべきであり、本明細書において明示的に定義されない限り、理想化された意味又は過度に形式的な意味で解釈されない。
【００５４】
本発明の様々な実施形態が説明されているが、これらは、単なる例示であって、これらに限定されないことを理解されたい。本発明の実施形態に基づく様々な変更は、本発明の趣旨及び範囲を逸脱しない状況下で行うことができる。よって、本発明の広さや範囲は、上述した任意の実施形態によって限定されるべきではない。むしろ、本発明の範囲は、以下の特許請求の範囲及びこれらの均等物に従って定義されるべきである。
【符号の説明】
【００５５】
１０〜１８，３０〜４２，４００〜４２０，５００〜５１２…工程
１００…ＩＰＭＩシステム
１１０…マザーボード
１１２…メモリボード
１１４，３００…プロセッサボード
１１６…冗長電源ボード
１１８…シャーシボード
１２０…ＢＩＯＳ
１３０…ベースボード管理コントローラ
１３２…シャーシ管理コントローラ
１３４…ネットワークコントローラ
１３６…シリアルコントローラ
１４０…フィールド交換ユニットメモリユニット
１４２〜１４４…ＥＥＰＲＯＭ
１５０…ＩＰＭＩシステムインタフェース
１５２…制御回路
１５４…不揮発性ストレージ
１６０…システムバス
１６２…ＰＣＩ管理バス
１６４…インテリジェントプラットフォーム管理インタフェースバス
１６６…プライベート管理バス
３０２〜３０４，６３０，７１０…プロセッサ
３１０…プラットフォーム制御ハブ
３２０…元のストレージデバイス
３２２…バックアップストレージデバイス
６００…コンピューティングシステム
６０２…バス
６０４…メモリ
６０６…リードオンリメモリ
６０８…ランダムアクセスメモリ
６１０…コントローラ
６１２…ストレージデバイス
６１４…第１モジュール
６１６…第２モジュール
６１８…第３モジュール
６２０…入力デバイス
６２２，７１４…出力デバイス
６２４…通信インタフェース
６２６…センサ
６２８…キャッシュ
６３２…フラッシュメモリ
６３４…ファームウェア
６３６…ディスプレイ
７００…コンピュータシステム
７０２…チップセット
７０４…ブリッジ
７０６…ユーザインタフェースコンポーネント
７０８…通信インタフェース
７１２…ファームウェア
７１６…ストレージデバイス
７１８…ＲＡＭ
【図１】
2020187725.tif 000003
【図２】
2020187725.tif 000004
【図３Ａ】
2020187725.tif 000005
【図３Ｂ】
2020187725.tif 000006
【図３Ｃ】
2020187725.tif 000007
【図４】
2020187725.tif 000008
【図５】
2020187725.tif 000009
【図６】
2020187725.tif 000010
【図７】
2020187725.tif 000011