(57)【特許請求の範囲】
【請求項１】
少なくとも１つのファームウェアコンポーネントとプロセッサと拡張バスとシステム管理チップとを有するコンピュータシステムでユーティリティプログラムを実行する方法であって、前記少なくとも１つのファームウェアコンポーネントは、少なくとも１つのシステムファームウェアを有し、前記ユーティリティプログラムは、前記プロセッサを通じた前記ユーティリティプログラムの実行で前記少なくとも１つのファームウェアコンポーネントをアップデートするよう構成され、前記方法は、
−前記コンピュータシステム内のグラフィックメモリが起動され、
−実行されるべき前記ユーティリティプログラムを有するメモリマップが、前記システム管理チップによりダウンロードされ、
−前記メモリマップが前記システム管理チップにより前記グラフィックメモリに格納され、
−前記グラフィックメモリへの接続を設定するために、前記拡張バスの一時的な初期化が前記システムファームウェアにより実行され、
−前記メモリマップが前記グラフィックメモリから前記コンピュータシステム内のメインメモリにコピーされ、
−前記拡張バスの完全な初期化が行われ、
−前記ユーティリティプログラムが前記コンピュータシステム内の前記プロセッサにより実行される、方法。
【請求項２】
前記メモリマップは、前記少なくとも１つのファームウェアコンポーネントをアップデートするためのデータを更に含む、請求項１に記載の方法。
【請求項３】
前記メモリマップは、前記ユーティリティプログラムを格納している起動用記憶媒体のイメージを含む、請求項１又は２に記載の方法。
【請求項４】
前記コンピュータシステムは、前記グラフィックメモリを備えるグラフィックコンポーネントと、前記グラフィックコンポーネントを初期化する更なるファームウェアコンポーネントと、を有し、
前記のコピーは、前記グラフィックコンポーネントを初期化する前記更なるファームウェアコンポーネントを起動する前に実行される、請求項１に記載の方法。
【請求項５】
前記グラフィックメモリの起動、並びに前記メモリマップのダウンロード及び格納は、前記メインメモリ及び前記プロセッサに動作電圧が供給されない、前記コンピュータシステムの省エネモードで実行され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記メインメモリ及び前記プロセッサに動作電圧が供給される、前記コンピュータシステムの動作状態で実行される、請求項１に記載の方法。
【請求項６】
前記メモリマップのダウンロード及び前記メモリマップの格納の後、前記コンピュータシステムが再起動され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記再起動に続く前記コンピュータシステムの動作状態で実行される、請求項１に記載の方法。
【請求項７】
コンピュータシステムであって、
−少なくとも１つのシステムファームウェアを含む少なくとも１つのファームウェアコンポーネントを格納する第１の不揮発性メモリ、
−前記システムファームウェアを実行する少なくとも１つのプロセッサ、
−メインメモリ、
−拡張バス、
−少なくとも１つのシステム監視チップであって、前記プロセッサと独立に動作でき、制御プログラムコードを格納する第２の不揮発性メモリを有する、少なくとも１つのシステム監視チップ、
を有し、
−前記制御プログラムコードは、前記コンピュータシステム内のグラフィックメモリを起動し、実行されるべきユーティリティプログラムを有するメモリマップをダウンロードし、前記メモリマップを前記グラフィックメモリに格納するよう構成され、前記ユーティリティプログラムは、前記少なくとも１つのファームウェアコンポーネントをアップデートするよう構成され、
−前記システムファームウェアは、前記グラフィックメモリへの接続を設定するために前記拡張バスの一時的な初期化を実行し、前記メモリマップを前記グラフィックメモリから前記コンピュータシステム内の前記メインメモリにコピーし、前記拡張バスの完全な初期化を実行し、前記コンピュータシステム内の前記少なくとも１つのプロセッサを用いて前記ユーティリティプログラムを実行するよう構成される、コンピュータシステム。
【請求項８】
インテリジェントサーバ管理制御部、を更に有し、
前記グラフィックメモリ及び前記少なくとも１つのシステム監視チップは、前記インテリジェントサーバ管理制御部に統合される、請求項７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書は、システム管理チップを有するコンピュータシステムでユーティリティプログラムを実行する方法を開示する。さらに、本願明細書は、このような方法を実行するために構成されたコンピュータシステム及びコンピュータプログラムプロダクトを記載する。
【背景技術】
【０００２】
ベースボード管理制御部（baseboard  management  controller：BMC）としても知られるシステム管理チップを有するコンピュータシステムは、特に高性能サーバコンピュータの分野で知られている。この環境ではシステム管理チップは、異なる目的のために用いられる。先ず、システム管理チップは、障害の発生を認識し必要に応じてコンピュータシステムを再起動するために、１又は複数のプロセッサ又はコンピュータシステムの他のコンポーネントの正しい動作を監視する。さらに、システム管理チップは、コンピュータシステムの遠隔保守のためにも用いられる。この目的のために、このようなシステムは、保守コンピュータを用いてシステム管理者によるコンピュータシステムの大規模構成を可能にするネットワークインタフェースを具備する場合が多い。
【０００３】
一例である保守タスクは、コンピュータシステムの新たなファームウェアコンポーネントのインストールである。ファームウェアは、通常、適切なハードウェアチップに恒久的に組み込まれコンポーネント特有の機能を提供するようなソフトウェアコンポーネントを意味すると理解される。
【０００４】
通常、システム管理チップのようなコンポーネントも含むが、コンピュータシステム内のメインボードのようなシステムコンポーネントは、この目的のために、フラッシュメモリの形態の不揮発性メモリを有する。これらのメモリは、関連するコンポーネントを作動させるハードウェア固有のプログラムコードを格納する。このプログラムコードは、個々のコンポーネントの起動直後に利用可能であり、最初にオペレーティングシステムにより更なる記憶媒体からロードされる必要がない。
【０００５】
このようなファームウェアコンポーネントをアップデートする種々の方法が知られている。例として、コンピュータシステム内のオペレーティングシステムは通常通り起動され、次に１又は複数のファームウェアコンポーネントをアップデートする固有のユーティリティプログラムが起動され得る。アップデートに用いられるデータは、ユーティリティプログラム自体により得られるか、又は別の方法でコンピュータシステムへ送信される。例として、アップデートされたファームウェアデータは、事前にインターネットからロードされるか、又はデータ記憶媒体若しくはデータネットワークを用いてコンピュータシステムに転送されていても良い。
【０００６】
ファームウェアのアップデートは、コンピュータシステム内の浸透性介入（penetrative  intervention）を表すので、通常、この時間中、コンピュータシステムで更なるアプリケーションを実行することはできない。さらに、通常、ファームウェアがアップデートされた後、コンピュータシステムを再起動する必要がある。これは、比較的長い停止時間を要し、その間コンピュータシステムはアプリケーションに利用できない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ユーティリティプログラム、特にファームウェアコンポーネントをアップデートするユーティリティプログラムを実行するための特に効率的な方法を記載することである。さらに、このような方法を実行するのに適したコンピュータシステム及びコンピュータプログラムプロダクトを記載することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的は、システム管理チップを有するコンピュータシステムでユーティリティプログラムを実行する方法により達成される。当該方法は、−前記コンピュータシステム内のグラフィックメモリが起動され、−実行されるべき前記ユーティリティプログラムを有するメモリマップが、前記システム管理チップによりダウンロードされ、−前記メモリマップが前記システム管理チップにより前記グラフィックメモリに格納され、−前記メモリマップが前記グラフィックメモリから前記コンピュータシステム内のメインメモリにコピーされ、−前記ユーティリティプログラムが前記コンピュータシステム内のプロセッサにより実行される。
【０００９】
本発明は、特に、メモリマップのダウンロードとダウンロードされたマップが含むユーティリティプログラムの実行を分離することが、実行をより効率的にできるという見識に基づく。提案する方法では、この分離は、先ず、メモリマップがシステム管理チップにより得られ、コンピュータシステム内のグラフィックメモリに格納されることを含む。次に、コンピュータシステム内のシステムファームウェアが起動され、メモリマップはグラフィックメモリからコンピュータシステム内のメインメモリにコピーされるだけである。このように、コピーされたメモリマップは、システムファームウェアが起動された直ぐ後にコンピュータシステムにより利用可能であり、システムの起動直後に実行できる。
【００１０】
ある有利な改良によると、前記実行されるべきユーティリティプログラムは、前記コンピュータシステム内のファームウェアコンポーネント、特に前記システムファームウェアをアップデートするよう構成され、前記メモリマップは、前記ファームウェアコンポーネントをアップデートするためのデータを更に含む。メモリマップがファームウェアコンポーネントをアップデートするユーティリティプログラムとファームウェアコンポーネントをアップデートするためのデータの両方を有する場合、コンピュータシステムのファームウェアコンポーネントは、インストールされる必要のあるコンポーネントをリロードすることなく容易にアップデートできる。
【００１１】
ある有利な改良によると、前記のダウンロードは、パックされたメモリマップがロードされ、前記ユーティリティプログラムを実行する前に、前記格納されたメモリマップが前記システムファームウェアによりパック解除されること、を含む。メモリマップのパッキングは、場合によっては圧縮されたデータパケットで転送されるメモリマップの効率的な転送及び処理を可能にする。
【００１２】
更に有利な改良によると、前記のコピーは、グラフィックコンポーネントを初期化するファームウェアコンポーネントを起動する前に実行される。メモリマップが、グラフィックコンポーネントを初期化する目的でファームウェアコンポーネントを起動する前に実行される場合、グラフィックメモリの大部分、場合によってはグラフィックメモリ全体を使用することが可能なので、本発明による方法では比較的大規模なメモリマップを処理することが可能である。
【００１３】
更に有利な改良によると、前記グラフィックメモリの起動、並びに前記メモリマップのダウンロード及び格納は、前記コンピュータシステムの静穏状態で実行され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記コンピュータシステムの動作状態で実行される。このような改良は、メモリマップの比較的長ったらしいダウンロードがコンピュータシステムの不活性状態、例えば夜間又は動作の休止中に実行でき、その後ユーティリティプログラムが利用可能になり、システムの起動直後に実行できるという利点を有する。
【００１４】
更に有利な改良によると、前記メモリマップのダウンロードは、前記コンピュータシステムの前の動作状態で実行され、前記グラフィックメモリの起動及び前記メモリマップの格納は、前記コンピュータシステムが再起動されるときに実行され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記再起動に続く前記コンピュータシステムの動作状態で実行される。この改良では、必要なメモリマップは、コンピュータシステムの動作と独立にシステム管理制御部によりバックグランドでダウンロードされる。再起動に続いて又はそれとは独立に、メモリマップのダウンロードが開始され、次にメモリマップは直ちに利用可能になる。これは、ユーティリティプログラムが再起動直後に実行できることを意味する。これは、休止時間として知られるもの、つまりコンピュータシステムが動作状態でない時間の最小化を可能にする。
【図面の簡単な説明】
【００１５】
上述の目的は、独立請求項に記載のコンピュータシステム及びコンピュータプログラムプロダクトによっても達成される。
【００１６】
本発明の更に有利な改良は、以下の例示的な実施形態の詳細な説明及び従属請求項において開示される。
【００１７】
本発明は、以下の図面を参照して例示的な実施形態を用いて以下に更に詳細に説明される。
【図１】コンピュータシステムの例示的なシステムアーキテクチャの概略図を示す。
【図２】ユーティリティプログラムを実行する方法の論理的フローチャートを示す。
【図３】ファームウェアコンポーネントをアップデートする方法の時間的フローチャートを示す。
【発明を実施するための形態】
【００１８】
図１は、以下に記載する方法を実行するのに適するコンピュータシステム１の例示的なアーキテクチャの概略図を示す。
【００１９】
例示的な実施形態のコンピュータシステム１は、２つのプロセッサ２ａ及び２ｂを有する。例示的な実施形態は、例えば、対称型マルチプロセッサシステムとして知られているものである。本発明による方法が単一プロセッサシステムで又は１又は複数のマルチコアプロセッサを有するシステムでも用いることができることは言うまでもない。
【００２０】
プロセッサ２ａ及び２ｂは、チップセット３によりメインメモリ４の２つのメモリモジュール４ａ及び４ｂに接続される。メモリモジュール４ａ及び４ｂは、揮発性ＲＡＭメモリである。しかしながら、メモリモジュール４ａ及び４ｂの正確な型及び配置は関係ない。メモリモジュール４ａ及び４ｂは、基本的に、プロセッサ２ａ及び２ｂの一方又は両方により現在処理されているデータを格納するために用いられる。
【００２１】
さらに、コンピュータシステム１は、システム管理チップ５、システムモジュール６、グラフィックコンポーネント７を有する。システム管理チップ５は、マイクロコントローラ８及び不揮発性メモリ９を有する。さらに、システム管理チップ５は、ネットワークコネクション１０によりデータネットワーク１１に接続される。例として、データネットワーク１１はローカルエリアネットワーク（ＬＡＮ）又はインターネットである。
【００２２】
システムモジュール６は、コンピュータシステムを動作させる種々のコンポーネントを有する。特に、システムモジュール６は、汎用入力／出力（general  purpose  input/output：GPIO）チップとして知られるリアルタイムクロック、及び１又は複数のファームウェアコンポーネントを格納する不揮発性メモリ１２を有する。例として、不揮発性メモリ１２は、ＢＩＯＳプログラムとしてしられるもの、又はコンピュータシステム１を初期化する拡張ファームウェアインタフェース（extensible  firmware  interface：EFI）として知られるものの他のコンポーネントを格納する。例示的な実施形態では、２つのファームウェアコンポーネント１２ａ及び１２ｂが例として示される。システムモジュール６の種々のコンポーネントが、全体又は部分的に、コンピュータシステム１の他のモジュール内に、特にチップセット３又はプロセッサ２ａ及び２ｂ内に配置され得ることは言うまでもない。
【００２３】
グラフィックコンポーネント７は、示されないグラフィックプロセッサ、及びグラフィックデータを格納するグラフィックメモリ１３も有する。グラフィックメモリ１３は、通常、特に短いアクセス時間を有する揮発性メモリである。このようなメモリは、通常、ＶＲＡＭと呼ばれる。グラフィックコンポーネント７は、コンピュータシステム内のメインボードからの統合されたチップセットの一部、メインボードに恒久的に置かれたグラフィックチップ、又はコンピュータシステムの拡張スロットに配置された別個のグラフィックコンポーネントであっても良い。この場合、グラフィックメモリ１３は、別個のメモリモジュールにより又はメモリモジュール４ａ及び／又は４ｂの一部により形成され得る。
【００２４】
図示されない更なる改良では、コンピュータシステムは、メインボード上の拡張スロット内のＩ／Ｏライザーカード上のインテリジェントサーバ管理制御部として知られているものを有する。インテリジェントサーバ管理制御部は、特に、スーパーＩ／Ｏ（ＳＩＯ）チップ、ネットワークコネクション、システム管理チップ及びグラフィックチップを有する。システム管理チップは、統合されたマイクロコントローラ、割り込みコントローラ、複数の統合システム管理バスドライバ、揮発性メモリ、ネットワークインタフェースドライバを有する。グラフィックチップは、統合グラフィックコア、ＰＣＩメモリインタフェース、グラフィックメモリの最大１２８Ｍバイトまでサポートするメモリインタフェースを有する。このようなインテリジェントサーバ管理制御部は、以下に記載される方法を実行するために必要な全てのコンポーネントを有する。
【００２５】
コンピュータシステム１内の異なる機能ユニットは、１又は複数のバスにより互いに接続される。例示的な実施形態では、チップセット３は、１又は複数のプロセッサバス１４によりプロセッサ２ａ及び２ｂに接続される。さらに、チップセット３は、メモリバス１５によりメモリモジュール４ａ及び４ｂに接続される。最後に、チップセット３は、拡張バス１６、例えばパラレルＰＣＩバス又はシリアルＰＣＩ  Ｅｘｐｒｅｓｓバスにより、システムチップ５、システムモジュール６及びグラフィックコンポーネント７に接続される。さらに、プロセッサ２ａ及び２ｂ、チップセット３、システム監視チップ５、システムモジュール６及びグラフィックコンポーネント７は、システム管理バス１７として知られているもの、例えばシリアルＩ２Ｃバスにより互いに接続される。特に上述のインテリジェントサーバ管理制御部のような統合コンポーネントの機能ユニットを接続する他の独自の接続も可能である。
【００２６】
システム管理バス１７は、拡張バス１６と独立に動作し、通常、より狭いバス帯域幅を有する。拡張バス１６は、通常、コンピュータシステムの動作中に高容量でデータを転送するために用いられるが、システム管理バス１７は、コンピュータシステム１の個々のコンポーネントを監視し、ポーリングし又は設定するために構成される。この目的のため、チップセット３又はプロセッサ２ａ及び２ｂだけでなく、システム管理チップ５も、システム管理バス１７を介した制御を行うことができる。ある改良では、システム管理チップ５は、更に、拡張バス１６を介して制御を行うことができるよう構成される。
【００２７】
前述のコンピュータアーキテクチャは、事実上単なる例である。中央チップセット３及び概して独立に動作しバスシステム１４、１５、１６及び１７であって該バスから設定するこれらのバスを有する図示のスイッチアーキテクチャに加え、以下に記載する方法を実行するために結合するハブ又バスアーキテクチャのような更なるコンピュータアーキテクチャも知られている。全てのコンポーネントは、互いに直接にネットワーク化することができる。つまり、例えば、特に強力なシステムアーキテクチャを提供するために、プロセッサ２ａ及び２ｂ、メモリモジュール４ａ及び４ｂ、任意で更なるコンポーネント５、７、１２の間に設けられる直接リンクとして知られるものである。
【００２８】
図２は、コンピュータシステム１でユーティリティプログラムを実行する方法２０の概略フローチャートを示す。図２の左側領域にある方法ステップＳ１０、Ｓ２０及びＳ３０は、システム管理チップ５内のマイクロコントローラ８により実行される。図２の右側部分にある方法Ｓ４０、Ｓ５０及びＳ６０は、コンピュータシステム１内のプロセッサ２ａ及び／又はプロセッサ２により実行される。方法ステップのブロックの間及び右にあるバー１３及び１４は、それぞれ、グラフィックメモリ１３及びメインメモリ１４の活動を示す。
【００２９】
方法ステップＳ１０で、コンピュータシステム１内のシステム監視チップ５及びグラフィックメモリ１３がアクティブにされる。この目的のため、システム管理チップ５内のマイクロコントローラ８は、例えば割り込みにより起動される。割り込みは、例えば、システム管理チップ５内の統合リアルタイムクロックにより又はデータネットワーク１１を介したウェイクオンＬＡＮ（wake-on  LAN：WoL）パケットとして知られるものの受信により開始され得る。次に、グラフィックメモリ１３又はグラフィックコンポーネント７の全体が動作電圧を供給される。グラフィックコンポーネント７又はそれに含まれるグラフィックメモリ１３は、拡張バス１６、システム管理バス１７又は他の適切な接続を介して、システム管理チップ５により作動される。これは、上述のインテリジェントサーバ管理制御部内のグラフィックメモリを用いるとき特に容易である。グラフィックメモリ１３の拡張バス１６又はシステム管理バス１７を介した作動は、プロセッサ２ａ及び２ｂが動作すること、したがって電力の供給を必要としない。代わりに、システム管理チップ５自体が、バス１６又は１７を介して制御を行う。
【００３０】
ステップＳ２０で、システム管理チップは、データネットワーク１１内のデータソースからパックされたメモリマップをダウンロードする。記載の方法では、ダウンロードがシステム管理チップ５自体により又はデータネットワーク１１内の保守処理を制御するコンピュータにより開始されるかは関係ない。例として、システム管理チップ５内のマイクロコントローラ８は、遠隔保守コンピュータからアクセスされるウェブインタフェースを提供するプログラムコードを実行できる。次に、実施のメモリマップは、保守コンピュータからシステム管理チップ５へ、例えばＲＦＣ１３５０によるＴＦＴＰ（trivial  file  transfer  protocol）として知られるものを用いて転送され得る。
【００３１】
次に又はメモリマップのダウンロードと並行して、ステップＳ３０で、ダウンロードしたメモリマップ又はその一部は、グラフィックメモリ１３に格納される。これは、拡張バス１６、システム管理バス１７又はインテリジェントサーバ管理制御部内の内部バスのような別の適切な接続を介して、グラフィックコンポーネント７内のグラフィックメモリ１３へデータが転送されることを含む。
【００３２】
ダウンロードされるメモリマップの範囲に依存して、ステップＳ２０及びＳ３０は、数秒から数時間を有する。しかしながら、方法２０のこの段階では、プロセッサ２ａ及び２ｂ又はチップセット３並びにメモリモジュール４ａ及び４ｂは、動作電圧を供給される必要はない。したがって、メモリマップは、特にコンピュータシステム１の静穏又は省エネモード中にダウンロードでき、したがってダウンロードはエネルギバランスの向上を提供する。
【００３３】
メモリマップが完全にダウンロードされグラフィックメモリ１３に格納された後、システム管理チップ５は、コンピュータシステム１のメインボードに配置された残りのコンポーネントを起動する。特に、続いて、プロセッサ２ａ及び２ｂ、チップセット３並びにメモリモジュール４ａ及び４ｂは、動作電圧を供給される。代替として、後続のステップは、コンピュータシステム１が次にオンにされるとき、ユーザにより実行することもできる。
【００３４】
コンピュータシステム１の全ての必要なコンポーネントへの動作電圧の印加は、ステップＳ４０で、プロセッサ２ａ及び２ｂの少なくとも一方により、コンピュータシステム１内のシステムファームウェアの一部の起動及び実行をもたらす。例として、チップセット３は、不揮発性メモリ１２に格納されたＢＩＯＳプログラム又はシステムファームウェアコンポーネント１２ａを読み出し、プロセッサ２ａがそれを実行する。
【００３５】
次のステップＳ５０で、グラフィックメモリ１３に格納されたメモリマップは、システムファームウェア１２ａからメモリモジュール４ａ及び４ｂにより提供されるメインメモリ４にコピーされる。
【００３６】
グラフィックメモリ１３並びにメモリモジュール４ａ及び４ｂの両者は、強力なバスシステム１６及び１５によりチップセット３に接続され、バスシステム１５により間接的にプロセッサ２ａ及び２ｂに接続されるので、非常に短時間で高容量データをコピーすることも可能である。例として、約４メガバイトのデータ容量を有するメモリマップは、グラフィックメモリ１３からメモリモジュール４ａ及び４ｂに、１秒より有意に速くコピーできる。したがって、コンピュータシステム１のユーザには、起動するときの起動処理に遅延がないか又は僅かしか知覚されない。いずれにしても、メモリマップをシステムファームウェア１２ａ自体を介してダウンロードするのに必要な時間期間と比較して、時間期間は有意に短縮される。
【００３７】
メインメモリ４と通信するグラフィックメモリ１３が同一の物理メモリモジュール４ａ及び４ｂにより提供される場合、コピーは、メモリモジュール４ａ及び４ｂの個々のメモリブロックのメインメモリ４への及びグラフィックメモリ１３への再配置により置き換えることもできる。
【００３８】
最後の方法ステップＳ６０で、メモリマップが含むユーティリティプログラムは、プロセッサ２ａ及び２ｂのうちの１つにより実行される。例として、メモリマップは、起動用データ記憶媒体のイメージを含み得る。ステップＳ５０におけるコピーの終結に続き、この起動用データ記憶媒体から、ＢＩＯＳプログラム又は拡張ファームウェアインタフェースとして知られるもののシステムファームウェアコンポーネント１２ａがブートする。次に、マップが含むユーティリティプログラムは、したがってリンク付けされたデータは、自動的に実行されるか又はロードされる。
【００３９】
ある好適な例示的な実施形態では、ユーティリティプログラムは、コンピュータシステムのファームウェアコンポーネント１２ａ又は１２ｂをアップデートするユーティリティプログラムである。この場合、ユーティリティプログラムは、コンピュータシステム１のファームウェアコンポーネント１２ａ及び１２ｂをアップデートするデータが転送されたメモリマップ内に存在するか否か、及び場合によってはどのデータかを調べることができる。この目的のため、メモリマップは、特に、コンピュータシステム１の特定のシステム構成に依存するアップデートを行うスクリプト又は他の構成データを有し得る。この場合、例えば、汎用メモリマップを、社内ネットワーク内の全てのコンピュータへ転送することができる。したがって、個々のコンピュータシステム１のファームウェアコンポーネント１２ａ及び１２ｂをアップデートするための転送されたデータの個々のアイテム又は全部は、不揮発性メモリ１２又はコンピュータシステム１の他の不揮発性メモリユニット内に、コンピュータシステム１のシステム構成に基づきプログラミングできる。或いは何れもプログラミングされない。
【００４０】
図３は、ファームウェアコンポーネント１２ａ又は１２ｂをアップデートする方法３０の時間的フローチャートを示す。下部領域は、システム管理チップ５の活動を示す。上部領域は、コンピュータシステム１のメインボードのシステムファームウェア１２ａの活動を示す。システムファームウェア１２ａは、ＵＥＦＩ（unified  extended  firmware  interface）に基づくファームウェアである。
【００４１】
最初のステップＳ１１で、システム管理チップ５が起動される。次のステップＳ１２で、システム管理チップ５はグラフィックメモリ１３を初期化する。
【００４２】
次のステップＳ２１で、システム管理チップ５により提供されるファームウェアコンポーネント１２ａ又は１２ｂをアップデートするウェブインタフェースが呼び出される。遠隔コンピュータは、ファームウェアをアップデートするため及びメモリマップをダウンロードするために、適切なパラメータを設定できる。処理が続いて適切な制御要素からの確認により開始される場合、次のステップＳ２２は、保守コンピュータにより提供されるメモリマップがＴＦＴＰにより転送され、グラフィックメモリ１３に直接格納されることを含む。
【００４３】
望ましくは、メモリマップは、ファームウェアコンポーネント１２ａ又は１２ｂをアップデートするユーティリティプログラムを有する起動用データ記憶媒体のイメージ、及びファームウェアコンポーネント１２ａ又は１２ｂをアップデートするユーティリティプログラムにより必要とされる更なるデータを有する。特に、マップは、システムファームウェア１２ａ又は他のシステムコンポーネント１２ｂのアップデートされたファームウェアコンポーネント１２ａ’及び１２ｂ’を有する。
【００４４】
望ましくは、メモリマップは、保守コンピュータとシステム管理チップ５との間でパックされた形式で転送される。この場合、用語「パックされた」は、均一なデータブロック又はアーカイブファイルを形成するための種々のフィールドの単なる組合せと、転送データの容量を削減するための任意のデータ圧縮との両方を含む。
【００４５】
メモリマップの転送が終結した後、保持されたコンポーネントを有するコンピュータシステム１のメインボードは、動作状態に置かれる。ＵＥＦＩ規格に基づき、ステップＳ４１は、先ず、プレＥＦＩ開始（pre-EFI  initiation：ＰＥＩ）手順として知られるものの実行を含む。ＰＥＩで、個々のファームウェアコンポーネントを実行するための基本機能が提供される。
【００４６】
ＵＥＦＩファームウェアのＤＸＥ（driver  execution  environment）として知られるものでは、ステップＳ５１は、次に、グラフィックメモリ１３への接続を設定するために、システムファームウェア１２ａによる一時的なＰＣＩ初期化の実行を含む。この目的のために、例示的な実施形態は、ＰＣＩグラフィックコンポーネント７の別個のグラフィックメモリ１３からのデータ読み出しのために、拡張バス１６の初期化を含む。別の改良では、メモリマップは、インテリジェントサーバ管理制御部内の統合メモリから読み出される。次のステップＳ５２で、グラフィックメモリ１３に格納されたメモリマップは、システムファームウェア１２ａからメインメモリ４に転送される。
【００４７】
次に、ステップＳ５３は、拡張バス１６の完全な初期化の実行を含む。ステップＳ５３における拡張バス１６の完全な初期化の後にのみ、グラフィックメモリ１３又はグラフィックコンポーネント７が初期化される。その結果、グラフィックメモリ１３又はグラフィックコンポーネント７がコンピュ―タシステム１の後の動作に利用可能である。この目的のために、ステップＳ５４は、グラフィックコンポーネント７の更なるファームウェアコンポーネントの開始を含む。更なるファームウェアコンポーネントは、グラフィックコンポーネント７の機能、特に利用可能なグラフィックモードを拡張ファームウェアインタフェースにアクセス可能にするために用いられる。次に、状態報告及び他の情報が、コンピュータシステム１からグラフィックコンポーネント７を介して出力されるだけである。
【００４８】
全てのハードウェアドライバが関連するファームウェアコンポーネントの実行により初期化されると、システムファームウェア１２ａは、ステップＳ６１で転送されたメモリマップのパックを解除し、該メモリマップに含まれる専用ブートローダか、メインメモリ４内の解凍されたメモリマップからの完全なオペレーティングシステム（ＢＳ）をブートする。例示的な実施形態では、オペレーティングシステムは、自身の一部のために、ステップＳ６２で、ファームウェアコンポーネント１２ａ又は１２ｂをアップデートするためのユーティリティプログラムを呼び出す。ユーティリティプログラムは、同様にメモリマップに含まれている。また、このユーティリティプログラムは、不揮発性メモリ１２又はコンピュータシステム１内の他の不揮発性メモリ内の単一の若しくは全てのファームウェアコンポーネント１２ａ及び／又は１２ｂをアップデートするために、更なる構成設定、スクリプト及び／又はデータをメモリマップから読み出す。
【００４９】
ファームウェアコンポーネント１２ａ及び１２ｂのアップデートがコンピュータシステムの再起動を必要とする場合、これは、最後の動作としてユーティリティプログラムにより開始される。次に、コンピュータシステムは、ファームウェアコンポーネント１２ａ又は１２ｂのアップデートの直後に場合によってはアップデートされたシステムファームウェア１２ａ又は１２ａ’からブートする。
【００５０】
図３に詳細に示したファームウェアコンポーネント１２ａ又は１２ｂをアップデートする方法の代わりに、図２を参照して概要を説明したような前述の方法も、他のユーティリティプログラムをコンピュータシステムで実行するために用いることができる。例として、保守目的でコンピュータシステム１で排他的に実行される完全なオペレーティングシステムを有するメモリマップが転送され起動され得る。このように、通常、Microsoft  Windows(登録商標)のような第１のオペレーティングシステムで実行されるコンピュータシステム１を用いて、Linux(登録商標)のようなコンピュータシステム１に恒久的にインストールされない第２のオペレーティングシステムを、保守目的で排他的に実行することが可能である。
【００５１】
オペレーティングシステム以外のデータ、例えばインストールされるべきソフトウェアドライバ又はソフトウェアコンポーネントが、このようにコンピュータシステム１へ転送され、そこで実行できることは言うまでもない。このような実行方法の利点は、特に上述のエネルギバランスの向上である。さらに、処理の実行は、バックグランドで又はコンピュータシステム１の静穏状態で準備することができる。
【００５２】
上述の方法の個々のステップは、それらの順序を変更することができ、又はステップの実行が他のステップの実行の完了に依存しない限り、全体又は一部を互いに並行して実行することもできる。方法の個々のステップが、プロセッサ２ａ及び２ｂのような種々のデータ処理要素により実行できることは言うまでもない。
【００５３】
望ましくは、方法はコンピュータプログラムとして実施される。本開示の意味の範囲内のコンピュータプログラムは、この文脈で、実行されると記載下方法を実行するソースコードとソースコードから展開される実行プログラムコードの両方を意味すると理解される。コンピュータプログラムは、特に、不揮発性メモリチップ、フロッピディスク、ＣＤ又はＤＶＤのような物理記憶媒体に存在しても良く、又はデータネットワークを介して単なる信号シーケンスとして転送することもできる。
【符号の説明】
【００５４】
１  コンピュータシステム
２ａ、２ｂ  プロセッサ
３  チップセット
４  メインメモリ
４ａ、４ｂ  メモリモジュール
５  システム管理チップ
６  システムモジュール
７  グラフィックコンポーネント
８  マイクロコントローラ
９  不揮発性メモリ
１０  多目的接続
１１  データネットワーク
１２  不揮発性メモリ
１２ａ、１２ｂ  ファームウェアコンポーネント
１３  グラフィックメモリ
１４  プロセッサバス
１５  メモリバス
１６  拡張バス
１７  システム管理バス
２０  ユーティリティプログラムを実行する方法
３０  ファームウェアコンポーネントをアップデートする方法
【図１】
0005619999.tif 000002
【図２】
0005619999.tif 000003
【図３】
0005619999.tif 000004