JP5619999B2 - ユーティリティプログラムを実行する方法、コンピュータシステム及びコンピュータプログラムプロダクト - Google Patents

ユーティリティプログラムを実行する方法、コンピュータシステム及びコンピュータプログラムプロダクト Download PDF

Info

Publication number
JP5619999B2
JP5619999B2 JP2013520022A JP2013520022A JP5619999B2 JP 5619999 B2 JP5619999 B2 JP 5619999B2 JP 2013520022 A JP2013520022 A JP 2013520022A JP 2013520022 A JP2013520022 A JP 2013520022A JP 5619999 B2 JP5619999 B2 JP 5619999B2
Authority
JP
Japan
Prior art keywords
memory
computer system
firmware
utility program
memory map
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.)
Active
Application number
JP2013520022A
Other languages
English (en)
Other versions
JP2013532859A (ja
Inventor
カーパ,ヴォルフガング
アルノルト,ロザー
エメリヒ,ヘルムート
ウンルー,ヴァルター
Original Assignee
フジツウ テクノロジー ソリューションズインタレクチュアル プロパティ ゲーエムベーハー
フジツウ テクノロジー ソリューションズ インタレクチュアル プロパティ ゲーエムベーハー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by フジツウ テクノロジー ソリューションズインタレクチュアル プロパティ ゲーエムベーハー, フジツウ テクノロジー ソリューションズ インタレクチュアル プロパティ ゲーエムベーハー filed Critical フジツウ テクノロジー ソリューションズインタレクチュアル プロパティ ゲーエムベーハー
Publication of JP2013532859A publication Critical patent/JP2013532859A/ja
Application granted granted Critical
Publication of JP5619999B2 publication Critical patent/JP5619999B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本願明細書は、システム管理チップを有するコンピュータシステムでユーティリティプログラムを実行する方法を開示する。さらに、本願明細書は、このような方法を実行するために構成されたコンピュータシステム及びコンピュータプログラムプロダクトを記載する。
ベースボード管理制御部(baseboard management controller:BMC)としても知られるシステム管理チップを有するコンピュータシステムは、特に高性能サーバコンピュータの分野で知られている。この環境ではシステム管理チップは、異なる目的のために用いられる。先ず、システム管理チップは、障害の発生を認識し必要に応じてコンピュータシステムを再起動するために、1又は複数のプロセッサ又はコンピュータシステムの他のコンポーネントの正しい動作を監視する。さらに、システム管理チップは、コンピュータシステムの遠隔保守のためにも用いられる。この目的のために、このようなシステムは、保守コンピュータを用いてシステム管理者によるコンピュータシステムの大規模構成を可能にするネットワークインタフェースを具備する場合が多い。
一例である保守タスクは、コンピュータシステムの新たなファームウェアコンポーネントのインストールである。ファームウェアは、通常、適切なハードウェアチップに恒久的に組み込まれコンポーネント特有の機能を提供するようなソフトウェアコンポーネントを意味すると理解される。
通常、システム管理チップのようなコンポーネントも含むが、コンピュータシステム内のメインボードのようなシステムコンポーネントは、この目的のために、フラッシュメモリの形態の不揮発性メモリを有する。これらのメモリは、関連するコンポーネントを作動させるハードウェア固有のプログラムコードを格納する。このプログラムコードは、個々のコンポーネントの起動直後に利用可能であり、最初にオペレーティングシステムにより更なる記憶媒体からロードされる必要がない。
このようなファームウェアコンポーネントをアップデートする種々の方法が知られている。例として、コンピュータシステム内のオペレーティングシステムは通常通り起動され、次に1又は複数のファームウェアコンポーネントをアップデートする固有のユーティリティプログラムが起動され得る。アップデートに用いられるデータは、ユーティリティプログラム自体により得られるか、又は別の方法でコンピュータシステムへ送信される。例として、アップデートされたファームウェアデータは、事前にインターネットからロードされるか、又はデータ記憶媒体若しくはデータネットワークを用いてコンピュータシステムに転送されていても良い。
ファームウェアのアップデートは、コンピュータシステム内の浸透性介入(penetrative intervention)を表すので、通常、この時間中、コンピュータシステムで更なるアプリケーションを実行することはできない。さらに、通常、ファームウェアがアップデートされた後、コンピュータシステムを再起動する必要がある。これは、比較的長い停止時間を要し、その間コンピュータシステムはアプリケーションに利用できない。
本発明の目的は、ユーティリティプログラム、特にファームウェアコンポーネントをアップデートするユーティリティプログラムを実行するための特に効率的な方法を記載することである。さらに、このような方法を実行するのに適したコンピュータシステム及びコンピュータプログラムプロダクトを記載することを目的とする。
上述の目的は、システム管理チップを有するコンピュータシステムでユーティリティプログラムを実行する方法により達成される。当該方法は、−前記コンピュータシステム内のグラフィックメモリが起動され、−実行されるべき前記ユーティリティプログラムを有するメモリマップが、前記システム管理チップによりダウンロードされ、−前記メモリマップが前記システム管理チップにより前記グラフィックメモリに格納され、−前記メモリマップが前記グラフィックメモリから前記コンピュータシステム内のメインメモリにコピーされ、−前記ユーティリティプログラムが前記コンピュータシステム内のプロセッサにより実行される。
本発明は、特に、メモリマップのダウンロードとダウンロードされたマップが含むユーティリティプログラムの実行を分離することが、実行をより効率的にできるという見識に基づく。提案する方法では、この分離は、先ず、メモリマップがシステム管理チップにより得られ、コンピュータシステム内のグラフィックメモリに格納されることを含む。次に、コンピュータシステム内のシステムファームウェアが起動され、メモリマップはグラフィックメモリからコンピュータシステム内のメインメモリにコピーされるだけである。このように、コピーされたメモリマップは、システムファームウェアが起動された直ぐ後にコンピュータシステムにより利用可能であり、システムの起動直後に実行できる。
ある有利な改良によると、前記実行されるべきユーティリティプログラムは、前記コンピュータシステム内のファームウェアコンポーネント、特に前記システムファームウェアをアップデートするよう構成され、前記メモリマップは、前記ファームウェアコンポーネントをアップデートするためのデータを更に含む。メモリマップがファームウェアコンポーネントをアップデートするユーティリティプログラムとファームウェアコンポーネントをアップデートするためのデータの両方を有する場合、コンピュータシステムのファームウェアコンポーネントは、インストールされる必要のあるコンポーネントをリロードすることなく容易にアップデートできる。
ある有利な改良によると、前記のダウンロードは、パックされたメモリマップがロードされ、前記ユーティリティプログラムを実行する前に、前記格納されたメモリマップが前記システムファームウェアによりパック解除されること、を含む。メモリマップのパッキングは、場合によっては圧縮されたデータパケットで転送されるメモリマップの効率的な転送及び処理を可能にする。
更に有利な改良によると、前記のコピーは、グラフィックコンポーネントを初期化するファームウェアコンポーネントを起動する前に実行される。メモリマップが、グラフィックコンポーネントを初期化する目的でファームウェアコンポーネントを起動する前に実行される場合、グラフィックメモリの大部分、場合によってはグラフィックメモリ全体を使用することが可能なので、本発明による方法では比較的大規模なメモリマップを処理することが可能である。
更に有利な改良によると、前記グラフィックメモリの起動、並びに前記メモリマップのダウンロード及び格納は、前記コンピュータシステムの静穏状態で実行され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記コンピュータシステムの動作状態で実行される。このような改良は、メモリマップの比較的長ったらしいダウンロードがコンピュータシステムの不活性状態、例えば夜間又は動作の休止中に実行でき、その後ユーティリティプログラムが利用可能になり、システムの起動直後に実行できるという利点を有する。
更に有利な改良によると、前記メモリマップのダウンロードは、前記コンピュータシステムの前の動作状態で実行され、前記グラフィックメモリの起動及び前記メモリマップの格納は、前記コンピュータシステムが再起動されるときに実行され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記再起動に続く前記コンピュータシステムの動作状態で実行される。この改良では、必要なメモリマップは、コンピュータシステムの動作と独立にシステム管理制御部によりバックグランドでダウンロードされる。再起動に続いて又はそれとは独立に、メモリマップのダウンロードが開始され、次にメモリマップは直ちに利用可能になる。これは、ユーティリティプログラムが再起動直後に実行できることを意味する。これは、休止時間として知られるもの、つまりコンピュータシステムが動作状態でない時間の最小化を可能にする。
上述の目的は、独立請求項に記載のコンピュータシステム及びコンピュータプログラムプロダクトによっても達成される。
本発明の更に有利な改良は、以下の例示的な実施形態の詳細な説明及び従属請求項において開示される。
本発明は、以下の図面を参照して例示的な実施形態を用いて以下に更に詳細に説明される。
コンピュータシステムの例示的なシステムアーキテクチャの概略図を示す。 ユーティリティプログラムを実行する方法の論理的フローチャートを示す。 ファームウェアコンポーネントをアップデートする方法の時間的フローチャートを示す。
図1は、以下に記載する方法を実行するのに適するコンピュータシステム1の例示的なアーキテクチャの概略図を示す。
例示的な実施形態のコンピュータシステム1は、2つのプロセッサ2a及び2bを有する。例示的な実施形態は、例えば、対称型マルチプロセッサシステムとして知られているものである。本発明による方法が単一プロセッサシステムで又は1又は複数のマルチコアプロセッサを有するシステムでも用いることができることは言うまでもない。
プロセッサ2a及び2bは、チップセット3によりメインメモリ4の2つのメモリモジュール4a及び4bに接続される。メモリモジュール4a及び4bは、揮発性RAMメモリである。しかしながら、メモリモジュール4a及び4bの正確な型及び配置は関係ない。メモリモジュール4a及び4bは、基本的に、プロセッサ2a及び2bの一方又は両方により現在処理されているデータを格納するために用いられる。
さらに、コンピュータシステム1は、システム管理チップ5、システムモジュール6、グラフィックコンポーネント7を有する。システム管理チップ5は、マイクロコントローラ8及び不揮発性メモリ9を有する。さらに、システム管理チップ5は、ネットワークコネクション10によりデータネットワーク11に接続される。例として、データネットワーク11はローカルエリアネットワーク(LAN)又はインターネットである。
システムモジュール6は、コンピュータシステムを動作させる種々のコンポーネントを有する。特に、システムモジュール6は、汎用入力/出力(general purpose input/output:GPIO)チップとして知られるリアルタイムクロック、及び1又は複数のファームウェアコンポーネントを格納する不揮発性メモリ12を有する。例として、不揮発性メモリ12は、BIOSプログラムとしてしられるもの、又はコンピュータシステム1を初期化する拡張ファームウェアインタフェース(extensible firmware interface:EFI)として知られるものの他のコンポーネントを格納する。例示的な実施形態では、2つのファームウェアコンポーネント12a及び12bが例として示される。システムモジュール6の種々のコンポーネントが、全体又は部分的に、コンピュータシステム1の他のモジュール内に、特にチップセット3又はプロセッサ2a及び2b内に配置され得ることは言うまでもない。
グラフィックコンポーネント7は、示されないグラフィックプロセッサ、及びグラフィックデータを格納するグラフィックメモリ13も有する。グラフィックメモリ13は、通常、特に短いアクセス時間を有する揮発性メモリである。このようなメモリは、通常、VRAMと呼ばれる。グラフィックコンポーネント7は、コンピュータシステム内のメインボードからの統合されたチップセットの一部、メインボードに恒久的に置かれたグラフィックチップ、又はコンピュータシステムの拡張スロットに配置された別個のグラフィックコンポーネントであっても良い。この場合、グラフィックメモリ13は、別個のメモリモジュールにより又はメモリモジュール4a及び/又は4bの一部により形成され得る。
図示されない更なる改良では、コンピュータシステムは、メインボード上の拡張スロット内のI/Oライザーカード上のインテリジェントサーバ管理制御部として知られているものを有する。インテリジェントサーバ管理制御部は、特に、スーパーI/O(SIO)チップ、ネットワークコネクション、システム管理チップ及びグラフィックチップを有する。システム管理チップは、統合されたマイクロコントローラ、割り込みコントローラ、複数の統合システム管理バスドライバ、揮発性メモリ、ネットワークインタフェースドライバを有する。グラフィックチップは、統合グラフィックコア、PCIメモリインタフェース、グラフィックメモリの最大128Mバイトまでサポートするメモリインタフェースを有する。このようなインテリジェントサーバ管理制御部は、以下に記載される方法を実行するために必要な全てのコンポーネントを有する。
コンピュータシステム1内の異なる機能ユニットは、1又は複数のバスにより互いに接続される。例示的な実施形態では、チップセット3は、1又は複数のプロセッサバス14によりプロセッサ2a及び2bに接続される。さらに、チップセット3は、メモリバス15によりメモリモジュール4a及び4bに接続される。最後に、チップセット3は、拡張バス16、例えばパラレルPCIバス又はシリアルPCI Expressバスにより、システムチップ5、システムモジュール6及びグラフィックコンポーネント7に接続される。さらに、プロセッサ2a及び2b、チップセット3、システム監視チップ5、システムモジュール6及びグラフィックコンポーネント7は、システム管理バス17として知られているもの、例えばシリアルICバスにより互いに接続される。特に上述のインテリジェントサーバ管理制御部のような統合コンポーネントの機能ユニットを接続する他の独自の接続も可能である。
システム管理バス17は、拡張バス16と独立に動作し、通常、より狭いバス帯域幅を有する。拡張バス16は、通常、コンピュータシステムの動作中に高容量でデータを転送するために用いられるが、システム管理バス17は、コンピュータシステム1の個々のコンポーネントを監視し、ポーリングし又は設定するために構成される。この目的のため、チップセット3又はプロセッサ2a及び2bだけでなく、システム管理チップ5も、システム管理バス17を介した制御を行うことができる。ある改良では、システム管理チップ5は、更に、拡張バス16を介して制御を行うことができるよう構成される。
前述のコンピュータアーキテクチャは、事実上単なる例である。中央チップセット3及び概して独立に動作しバスシステム14、15、16及び17であって該バスから設定するこれらのバスを有する図示のスイッチアーキテクチャに加え、以下に記載する方法を実行するために結合するハブ又バスアーキテクチャのような更なるコンピュータアーキテクチャも知られている。全てのコンポーネントは、互いに直接にネットワーク化することができる。つまり、例えば、特に強力なシステムアーキテクチャを提供するために、プロセッサ2a及び2b、メモリモジュール4a及び4b、任意で更なるコンポーネント5、7、12の間に設けられる直接リンクとして知られるものである。
図2は、コンピュータシステム1でユーティリティプログラムを実行する方法20の概略フローチャートを示す。図2の左側領域にある方法ステップS10、S20及びS30は、システム管理チップ5内のマイクロコントローラ8により実行される。図2の右側部分にある方法S40、S50及びS60は、コンピュータシステム1内のプロセッサ2a及び/又はプロセッサ2により実行される。方法ステップのブロックの間及び右にあるバー13及び14は、それぞれ、グラフィックメモリ13及びメインメモリ14の活動を示す。
方法ステップS10で、コンピュータシステム1内のシステム監視チップ5及びグラフィックメモリ13がアクティブにされる。この目的のため、システム管理チップ5内のマイクロコントローラ8は、例えば割り込みにより起動される。割り込みは、例えば、システム管理チップ5内の統合リアルタイムクロックにより又はデータネットワーク11を介したウェイクオンLAN(wake-on LAN:WoL)パケットとして知られるものの受信により開始され得る。次に、グラフィックメモリ13又はグラフィックコンポーネント7の全体が動作電圧を供給される。グラフィックコンポーネント7又はそれに含まれるグラフィックメモリ13は、拡張バス16、システム管理バス17又は他の適切な接続を介して、システム管理チップ5により作動される。これは、上述のインテリジェントサーバ管理制御部内のグラフィックメモリを用いるとき特に容易である。グラフィックメモリ13の拡張バス16又はシステム管理バス17を介した作動は、プロセッサ2a及び2bが動作すること、したがって電力の供給を必要としない。代わりに、システム管理チップ5自体が、バス16又は17を介して制御を行う。
ステップS20で、システム管理チップは、データネットワーク11内のデータソースからパックされたメモリマップをダウンロードする。記載の方法では、ダウンロードがシステム管理チップ5自体により又はデータネットワーク11内の保守処理を制御するコンピュータにより開始されるかは関係ない。例として、システム管理チップ5内のマイクロコントローラ8は、遠隔保守コンピュータからアクセスされるウェブインタフェースを提供するプログラムコードを実行できる。次に、実施のメモリマップは、保守コンピュータからシステム管理チップ5へ、例えばRFC1350によるTFTP(trivial file transfer protocol)として知られるものを用いて転送され得る。
次に又はメモリマップのダウンロードと並行して、ステップS30で、ダウンロードしたメモリマップ又はその一部は、グラフィックメモリ13に格納される。これは、拡張バス16、システム管理バス17又はインテリジェントサーバ管理制御部内の内部バスのような別の適切な接続を介して、グラフィックコンポーネント7内のグラフィックメモリ13へデータが転送されることを含む。
ダウンロードされるメモリマップの範囲に依存して、ステップS20及びS30は、数秒から数時間を有する。しかしながら、方法20のこの段階では、プロセッサ2a及び2b又はチップセット3並びにメモリモジュール4a及び4bは、動作電圧を供給される必要はない。したがって、メモリマップは、特にコンピュータシステム1の静穏又は省エネモード中にダウンロードでき、したがってダウンロードはエネルギバランスの向上を提供する。
メモリマップが完全にダウンロードされグラフィックメモリ13に格納された後、システム管理チップ5は、コンピュータシステム1のメインボードに配置された残りのコンポーネントを起動する。特に、続いて、プロセッサ2a及び2b、チップセット3並びにメモリモジュール4a及び4bは、動作電圧を供給される。代替として、後続のステップは、コンピュータシステム1が次にオンにされるとき、ユーザにより実行することもできる。
コンピュータシステム1の全ての必要なコンポーネントへの動作電圧の印加は、ステップS40で、プロセッサ2a及び2bの少なくとも一方により、コンピュータシステム1内のシステムファームウェアの一部の起動及び実行をもたらす。例として、チップセット3は、不揮発性メモリ12に格納されたBIOSプログラム又はシステムファームウェアコンポーネント12aを読み出し、プロセッサ2aがそれを実行する。
次のステップS50で、グラフィックメモリ13に格納されたメモリマップは、システムファームウェア12aからメモリモジュール4a及び4bにより提供されるメインメモリ4にコピーされる。
グラフィックメモリ13並びにメモリモジュール4a及び4bの両者は、強力なバスシステム16及び15によりチップセット3に接続され、バスシステム15により間接的にプロセッサ2a及び2bに接続されるので、非常に短時間で高容量データをコピーすることも可能である。例として、約4メガバイトのデータ容量を有するメモリマップは、グラフィックメモリ13からメモリモジュール4a及び4bに、1秒より有意に速くコピーできる。したがって、コンピュータシステム1のユーザには、起動するときの起動処理に遅延がないか又は僅かしか知覚されない。いずれにしても、メモリマップをシステムファームウェア12a自体を介してダウンロードするのに必要な時間期間と比較して、時間期間は有意に短縮される。
メインメモリ4と通信するグラフィックメモリ13が同一の物理メモリモジュール4a及び4bにより提供される場合、コピーは、メモリモジュール4a及び4bの個々のメモリブロックのメインメモリ4への及びグラフィックメモリ13への再配置により置き換えることもできる。
最後の方法ステップS60で、メモリマップが含むユーティリティプログラムは、プロセッサ2a及び2bのうちの1つにより実行される。例として、メモリマップは、起動用データ記憶媒体のイメージを含み得る。ステップS50におけるコピーの終結に続き、この起動用データ記憶媒体から、BIOSプログラム又は拡張ファームウェアインタフェースとして知られるもののシステムファームウェアコンポーネント12aがブートする。次に、マップが含むユーティリティプログラムは、したがってリンク付けされたデータは、自動的に実行されるか又はロードされる。
ある好適な例示的な実施形態では、ユーティリティプログラムは、コンピュータシステムのファームウェアコンポーネント12a又は12bをアップデートするユーティリティプログラムである。この場合、ユーティリティプログラムは、コンピュータシステム1のファームウェアコンポーネント12a及び12bをアップデートするデータが転送されたメモリマップ内に存在するか否か、及び場合によってはどのデータかを調べることができる。この目的のため、メモリマップは、特に、コンピュータシステム1の特定のシステム構成に依存するアップデートを行うスクリプト又は他の構成データを有し得る。この場合、例えば、汎用メモリマップを、社内ネットワーク内の全てのコンピュータへ転送することができる。したがって、個々のコンピュータシステム1のファームウェアコンポーネント12a及び12bをアップデートするための転送されたデータの個々のアイテム又は全部は、不揮発性メモリ12又はコンピュータシステム1の他の不揮発性メモリユニット内に、コンピュータシステム1のシステム構成に基づきプログラミングできる。或いは何れもプログラミングされない。
図3は、ファームウェアコンポーネント12a又は12bをアップデートする方法30の時間的フローチャートを示す。下部領域は、システム管理チップ5の活動を示す。上部領域は、コンピュータシステム1のメインボードのシステムファームウェア12aの活動を示す。システムファームウェア12aは、UEFI(unified extended firmware interface)に基づくファームウェアである。
最初のステップS11で、システム管理チップ5が起動される。次のステップS12で、システム管理チップ5はグラフィックメモリ13を初期化する。
次のステップS21で、システム管理チップ5により提供されるファームウェアコンポーネント12a又は12bをアップデートするウェブインタフェースが呼び出される。遠隔コンピュータは、ファームウェアをアップデートするため及びメモリマップをダウンロードするために、適切なパラメータを設定できる。処理が続いて適切な制御要素からの確認により開始される場合、次のステップS22は、保守コンピュータにより提供されるメモリマップがTFTPにより転送され、グラフィックメモリ13に直接格納されることを含む。
望ましくは、メモリマップは、ファームウェアコンポーネント12a又は12bをアップデートするユーティリティプログラムを有する起動用データ記憶媒体のイメージ、及びファームウェアコンポーネント12a又は12bをアップデートするユーティリティプログラムにより必要とされる更なるデータを有する。特に、マップは、システムファームウェア12a又は他のシステムコンポーネント12bのアップデートされたファームウェアコンポーネント12a’及び12b’を有する。
望ましくは、メモリマップは、保守コンピュータとシステム管理チップ5との間でパックされた形式で転送される。この場合、用語「パックされた」は、均一なデータブロック又はアーカイブファイルを形成するための種々のフィールドの単なる組合せと、転送データの容量を削減するための任意のデータ圧縮との両方を含む。
メモリマップの転送が終結した後、保持されたコンポーネントを有するコンピュータシステム1のメインボードは、動作状態に置かれる。UEFI規格に基づき、ステップS41は、先ず、プレEFI開始(pre-EFI initiation:PEI)手順として知られるものの実行を含む。PEIで、個々のファームウェアコンポーネントを実行するための基本機能が提供される。
UEFIファームウェアのDXE(driver execution environment)として知られるものでは、ステップS51は、次に、グラフィックメモリ13への接続を設定するために、システムファームウェア12aによる一時的なPCI初期化の実行を含む。この目的のために、例示的な実施形態は、PCIグラフィックコンポーネント7の別個のグラフィックメモリ13からのデータ読み出しのために、拡張バス16の初期化を含む。別の改良では、メモリマップは、インテリジェントサーバ管理制御部内の統合メモリから読み出される。次のステップS52で、グラフィックメモリ13に格納されたメモリマップは、システムファームウェア12aからメインメモリ4に転送される。
次に、ステップS53は、拡張バス16の完全な初期化の実行を含む。ステップS53における拡張バス16の完全な初期化の後にのみ、グラフィックメモリ13又はグラフィックコンポーネント7が初期化される。その結果、グラフィックメモリ13又はグラフィックコンポーネント7がコンピュ―タシステム1の後の動作に利用可能である。この目的のために、ステップS54は、グラフィックコンポーネント7の更なるファームウェアコンポーネントの開始を含む。更なるファームウェアコンポーネントは、グラフィックコンポーネント7の機能、特に利用可能なグラフィックモードを拡張ファームウェアインタフェースにアクセス可能にするために用いられる。次に、状態報告及び他の情報が、コンピュータシステム1からグラフィックコンポーネント7を介して出力されるだけである。
全てのハードウェアドライバが関連するファームウェアコンポーネントの実行により初期化されると、システムファームウェア12aは、ステップS61で転送されたメモリマップのパックを解除し、該メモリマップに含まれる専用ブートローダか、メインメモリ4内の解凍されたメモリマップからの完全なオペレーティングシステム(BS)をブートする。例示的な実施形態では、オペレーティングシステムは、自身の一部のために、ステップS62で、ファームウェアコンポーネント12a又は12bをアップデートするためのユーティリティプログラムを呼び出す。ユーティリティプログラムは、同様にメモリマップに含まれている。また、このユーティリティプログラムは、不揮発性メモリ12又はコンピュータシステム1内の他の不揮発性メモリ内の単一の若しくは全てのファームウェアコンポーネント12a及び/又は12bをアップデートするために、更なる構成設定、スクリプト及び/又はデータをメモリマップから読み出す。
ファームウェアコンポーネント12a及び12bのアップデートがコンピュータシステムの再起動を必要とする場合、これは、最後の動作としてユーティリティプログラムにより開始される。次に、コンピュータシステムは、ファームウェアコンポーネント12a又は12bのアップデートの直後に場合によってはアップデートされたシステムファームウェア12a又は12a’からブートする。
図3に詳細に示したファームウェアコンポーネント12a又は12bをアップデートする方法の代わりに、図2を参照して概要を説明したような前述の方法も、他のユーティリティプログラムをコンピュータシステムで実行するために用いることができる。例として、保守目的でコンピュータシステム1で排他的に実行される完全なオペレーティングシステムを有するメモリマップが転送され起動され得る。このように、通常、Microsoft Windows(登録商標)のような第1のオペレーティングシステムで実行されるコンピュータシステム1を用いて、Linux(登録商標)のようなコンピュータシステム1に恒久的にインストールされない第2のオペレーティングシステムを、保守目的で排他的に実行することが可能である。
オペレーティングシステム以外のデータ、例えばインストールされるべきソフトウェアドライバ又はソフトウェアコンポーネントが、このようにコンピュータシステム1へ転送され、そこで実行できることは言うまでもない。このような実行方法の利点は、特に上述のエネルギバランスの向上である。さらに、処理の実行は、バックグランドで又はコンピュータシステム1の静穏状態で準備することができる。
上述の方法の個々のステップは、それらの順序を変更することができ、又はステップの実行が他のステップの実行の完了に依存しない限り、全体又は一部を互いに並行して実行することもできる。方法の個々のステップが、プロセッサ2a及び2bのような種々のデータ処理要素により実行できることは言うまでもない。
望ましくは、方法はコンピュータプログラムとして実施される。本開示の意味の範囲内のコンピュータプログラムは、この文脈で、実行されると記載下方法を実行するソースコードとソースコードから展開される実行プログラムコードの両方を意味すると理解される。コンピュータプログラムは、特に、不揮発性メモリチップ、フロッピディスク、CD又はDVDのような物理記憶媒体に存在しても良く、又はデータネットワークを介して単なる信号シーケンスとして転送することもできる。
1 コンピュータシステム
2a、2b プロセッサ
3 チップセット
4 メインメモリ
4a、4b メモリモジュール
5 システム管理チップ
6 システムモジュール
7 グラフィックコンポーネント
8 マイクロコントローラ
9 不揮発性メモリ
10 多目的接続
11 データネットワーク
12 不揮発性メモリ
12a、12b ファームウェアコンポーネント
13 グラフィックメモリ
14 プロセッサバス
15 メモリバス
16 拡張バス
17 システム管理バス
20 ユーティリティプログラムを実行する方法
30 ファームウェアコンポーネントをアップデートする方法

Claims (8)

  1. 少なくとも1つのファームウェアコンポーネントとプロセッサと拡張バスとシステム管理チップを有するコンピュータシステムでユーティリティプログラムを実行する方法であって、前記少なくとも1つのファームウェアコンポーネントは、少なくとも1つのシステムファームウェアを有し、前記ユーティリティプログラムは、前記プロセッサを通じた前記ユーティリティプログラムの実行で前記少なくとも1つのファームウェアコンポーネントをアップデートするよう構成され、前記方法は、
    −前記コンピュータシステム内のグラフィックメモリが起動され、
    −実行されるべき前記ユーティリティプログラムを有するメモリマップが、前記システム管理チップによりダウンロードされ、
    −前記メモリマップが前記システム管理チップにより前記グラフィックメモリに格納され、
    −前記グラフィックメモリへの接続を設定するために、前記拡張バスの一時的な初期化が前記システムファームウェアにより実行され、
    −前記メモリマップが前記グラフィックメモリから前記コンピュータシステム内のメインメモリにコピーされ、
    −前記拡張バスの完全な初期化が行われ、
    −前記ユーティリティプログラムが前記コンピュータシステム内の前記プロセッサにより実行される、方法。
  2. 記メモリマップは、前記少なくとも1つのファームウェアコンポーネントをアップデートするためのデータを更に含む、請求項1に記載の方法。
  3. 前記メモリマップは、前記ユーティリティプログラムを格納している起動用記憶媒体のイメージを含む、請求項1又は2に記載の方法。
  4. 前記コンピュータシステムは、前記グラフィックメモリを備えるグラフィックコンポーネントと、前記グラフィックコンポーネントを初期化する更なるファームウェアコンポーネントと、を有し、
    前記のコピーは、前記グラフィックコンポーネントを初期化する前記更なるファームウェアコンポーネントを起動する前に実行される、請求項1に記載の方法。
  5. 前記グラフィックメモリの起動、並びに前記メモリマップのダウンロード及び格納は、前記メインメモリ及び前記プロセッサに動作電圧が供給されない、前記コンピュータシステムの省エネモードで実行され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記メインメモリ及び前記プロセッサに動作電圧が供給される、前記コンピュータシステムの動作状態で実行される、請求項1に記載の方法。
  6. 前記メモリマップのダウンロード及び前記メモリマップの格納の後、前記コンピュータシステムが再起動され、前記メモリマップのコピー及び前記ユーティリティプログラムの実行は、前記再起動に続く前記コンピュータシステムの動作状態で実行される、請求項1に記載の方法。
  7. コンピュータシステムであって、
    少なくとも1つのシステムファームウェアを含む少なくとも1つのファームウェアコンポーネントを格納する第1の不揮発性メモリ、
    −前記システムファームウェアを実行する少なくとも1つのプロセッサ、
    −メインメモリ、
    −拡張バス、
    −少なくとも1つのシステム監視チップであって、前記プロセッサと独立に動作でき、制御プログラムコードを格納する第2の不揮発性メモリを有する、少なくとも1つのシステム監視チップ、
    を有し、
    −前記制御プログラムコードは、前記コンピュータシステム内のグラフィックメモリを起動し、実行されるべきユーティリティプログラムを有するメモリマップをダウンロードし、前記メモリマップを前記グラフィックメモリに格納するよう構成され、前記ユーティリティプログラムは、前記少なくとも1つのファームウェアコンポーネントをアップデートするよう構成され、
    −前記システムファームウェアは、前記グラフィックメモリへの接続を設定するために前記拡張バスの一時的な初期化を実行し、前記メモリマップを前記グラフィックメモリから前記コンピュータシステム内の前記メインメモリにコピーし、前記拡張バスの完全な初期化を実行し、前記コンピュータシステム内の前記少なくとも1つのプロセッサを用いて前記ユーティリティプログラムを実行するよう構成される、コンピュータシステム。
  8. インテリジェントサーバ管理制御部、を更に有し、
    前記グラフィックメモリ及び前記少なくとも1つのシステム監視チップは、前記インテリジェントサーバ管理制御部に統合される、請求項7に記載のコンピュータシステム。

JP2013520022A 2010-07-23 2011-05-27 ユーティリティプログラムを実行する方法、コンピュータシステム及びコンピュータプログラムプロダクト Active JP5619999B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102010032040.4 2010-07-23
DE102010032040 2010-07-23
PCT/EP2011/058710 WO2012010354A1 (de) 2010-07-23 2011-05-27 Verfahren zum ausführen eines dienstprogramms, computersystem und computerprogrammprodukt

Publications (2)

Publication Number Publication Date
JP2013532859A JP2013532859A (ja) 2013-08-19
JP5619999B2 true JP5619999B2 (ja) 2014-11-05

Family

ID=44626929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013520022A Active JP5619999B2 (ja) 2010-07-23 2011-05-27 ユーティリティプログラムを実行する方法、コンピュータシステム及びコンピュータプログラムプロダクト

Country Status (4)

Country Link
US (1) US9405559B2 (ja)
EP (1) EP2596429B1 (ja)
JP (1) JP5619999B2 (ja)
WO (1) WO2012010354A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI647617B (zh) * 2018-01-23 2019-01-11 緯創資通股份有限公司 電子裝置與其韌體更新方法
CN111338658B (zh) * 2020-02-27 2023-10-10 上海电力大学 一种基于stm32CPU下载PIC单片机程序的方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308325B1 (en) * 1996-04-09 2001-10-23 International Business Machines Corporation Apparatus and method for downloading data to electronic device
US5930515A (en) 1997-09-30 1999-07-27 Scientific-Atlanta, Inc. Apparatus and method for upgrading a computer system operating system
US6865591B1 (en) * 2000-06-30 2005-03-08 Intel Corporation Apparatus and method for building distributed fault-tolerant/high-availability computed applications
JP4080698B2 (ja) * 2001-01-22 2008-04-23 株式会社リコー 画像形成装置、画像形成装置の制御方法およびその方法をコンピュータに実行させるためのプログラム
JP2002244874A (ja) 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
US6874150B2 (en) * 2001-03-01 2005-03-29 Microsoft Corporation Method and system for maintaining connections between surfaces and objects in a graphics display system
JP2004029876A (ja) * 2002-06-21 2004-01-29 Seiko Epson Corp 画像形成装置、情報処理システム、ファームウエアの書換方法、書換プログラムならびに記録媒体
US6825843B2 (en) * 2002-07-18 2004-11-30 Nvidia Corporation Method and apparatus for loop and branch instructions in a programmable graphics pipeline
US20090006834A1 (en) 2007-06-29 2009-01-01 Michael Rothman Proxied firmware updates
JP2010009474A (ja) * 2008-06-30 2010-01-14 Canon Inc 周辺装置
US8694991B2 (en) * 2008-08-22 2014-04-08 Hewlett-Packard Development Company, L.P. Server virtualized using virtualization platform

Also Published As

Publication number Publication date
JP2013532859A (ja) 2013-08-19
WO2012010354A1 (de) 2012-01-26
US20130219398A1 (en) 2013-08-22
US9405559B2 (en) 2016-08-02
EP2596429A1 (de) 2013-05-29
EP2596429B1 (de) 2018-06-27

Similar Documents

Publication Publication Date Title
US20170228228A1 (en) Remote launch of deploy utility
CN109478135B (zh) 计算机系统和用于重新引导计算机系统的方法
WO2019084853A1 (zh) 裸金属服务器的硬件属性发现方法和系统
JP5606633B2 (ja) オペレーティングシステム(os)不在サービス環境においてファームウェアをプロビジョニングする方法
JP5368947B2 (ja) プラットフォームの高速リスタートを可能にする方法およびシステム
US20150074386A1 (en) Boot method and boot system
JP2003099268A (ja) 選択された機能を有するオペレーティングシステムを作成し使用する方法及びシステム
US20130013910A1 (en) Method and device for optimizing loading and booting of an operating system in a computer system via a communication network
CN107533441B (zh) 创建操作系统卷
US10747523B2 (en) Methods of updating firmware components, computer systems and memory apparatus
KR102226558B1 (ko) 맞춤형 통합 확장 펌웨어 인터페이스 드라이버를 설치한 컴퓨터-읽기가능 레코딩 매체 및 그것의 방법
JP6750605B2 (ja) 計算機システム、ベースボード管理コントローラ、osインストール方法、及びプログラム
US7900033B2 (en) Firmware processing for operating system panic data
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
JP5619999B2 (ja) ユーティリティプログラムを実行する方法、コンピュータシステム及びコンピュータプログラムプロダクト
JP2021507353A (ja) 複数のバイナリイメージのファームウェア公開
US11709669B2 (en) Operating system update via sideband processor
US11347496B2 (en) Driver update via sideband processor
JP3732764B2 (ja) Os立上げ方法およびos立上げシステム
AU2021336308B2 (en) Computer system communication via sideband processor
JP6099106B2 (ja) 少なくとも一つのデータキャリアを提供するための方法、コンピュータシステム、および、メモリデバイス
US11669339B2 (en) Hardware setting device and hardware setting method thereof
US20240036896A1 (en) Generating installation images based upon dpu-specific capabilities
JP3431880B2 (ja) 基板及びプロセッサのリセット方式
CN113127068A (zh) 硬件设定装置及其硬件设定方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140917

R150 Certificate of patent or registration of utility model

Ref document number: 5619999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250