(57)【特許請求の範囲】
【請求項１】
第１のメモリ領域および第２のメモリ領域を有する揮発性メモリと、
ファームウェアを保持するフラッシュＲＯＭと、
更新後のファームウェアのＲＯＭイメージを前記第１のメモリ領域に格納するとともに、前記第１のメモリ領域に格納された更新後のファームウェアと前記フラッシュＲＯＭに格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第１の情報を前記第１のメモリ領域に格納するＢＩＯＳアップデートツールと、
ＯＳの立ち下げ処理の開始後に、前記第１のメモリ領域に格納されたＲＯＭイメージを前記フラッシュＲＯＭへコピーするとともに、前記第１のメモリ領域に格納された更新後ファームウェアのうちの前記第１の情報が示すモジュールを前記第２のメモリ領域へコピーするＢＩＯＳと、を備える、情報処理装置。
【請求項２】
前記ＢＩＯＳアップデートツールは、ファームウェアに含まれるモジュール間の依存関係を示す情報を参照して、前記第１の情報が示すモジュールを更新した場合に再初期化が必要とされるモジュールを抽出し、抽出したモジュールを示す第２の情報を前記第１のメモリ領域に格納し、
前記ＢＩＯＳは、更新後のファームウェアのうちの前記第２の情報が示すモジュールの再初期化を行う、請求項１に記載の情報処理装置。
【請求項３】
更新後のファームウェアのＲＯＭイメージを揮発性メモリ中の第１のメモリ領域に格納する工程と、
前記第１のメモリ領域に格納された更新後のファームウェアとフラッシュＲＯＭに格納された更新前のファームウェアとをモジュールごとに比較して、差分を含むモジュールを抽出し、抽出したモジュールを示す第１の情報を前記第１のメモリ領域に格納する工程と、
ＯＳの立ち下げ処理の開始後に、前記第１のメモリ領域に格納されたＲＯＭイメージを前記フラッシュＲＯＭへコピーするとともに、前記第１のメモリ領域に格納された更新後ファームウェアのうちの前記第１の情報が示すモジュールを前記揮発性メモリ中の第２のメモリ領域へコピーする工程と、を含む、情報処理装置のファームウェア更新方法。
【請求項４】
ファームウェアに含まれるモジュール間の依存関係を示す情報を参照して、前記第１の情報が示すモジュールを更新した場合に再初期化が必要とされるモジュールを抽出し、抽出したモジュールを示す第２の情報を前記第１のメモリ領域に格納する工程と、
更新後のファームウェアのうちの前記第２の情報が示すモジュールの再初期化を行う工程と、を含む、請求項３に記載のファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびそのファームウェア更新方法に関し、特に、高可用性および高信頼性が要求されるハイエンドサーバその他の情報処理装置、および、そのファームウェア更新方法に関する。
【背景技術】
【０００２】
ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）アップデートの目的として、ファームウェアモジュールの変更、および、ハードウェア（ＨＷ：Ｈａｒｄｗａｒｅ）の初期設定の変更が挙げられる。また、ＢＩＯＳアップデートにおいては、一般に、システムの再立上げが行われる。
【０００３】
特許文献１において、二重化装置を用いることで、運用を停止することなくＢＩＯＳをアップデートする方法が記載されている。また、特許文献２において、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のシャットダウン処理後に、ファームウェアの更新処理を行う情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１７２０１号公報
【特許文献２】特開２００２−２４４８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明者によってなされたものである。
【０００６】
特許文献１に記載されたＢＩＯＳ更新方法において、ファームウェアモジュールに変更がある場合には、書き換え中にそのファームウェアモジュールが動作しないことが必要とされる。
【０００７】
しかし、ハイエンドサーバのような情報処理装置では、システム運用中にもＢＩＯＳが介在することで、高可用性および高信頼性を実現しているため、システム運用中にファームウェアモジュールの動作を停止させて、オンラインアップデートを行うことは、現時点では受け入れ難いものになっている。そこで、ハイエンドサーバでは、一般に、ファームウェアアップデートを行う際、システムの再立ち上げを行う方法が採用されている。しかしながら、ハイエンドサーバは大規模であるが故に、システムの再立上げに時間がかかり、ＢＩＯＳアップデートに伴うシステム停止期間が長いという問題がある。
【０００８】
特許文献２に記載された情報処理装置においても、ファームウェアの更新後にシステムの再立ち上げが必要となることから、同様の問題が生じる。
【０００９】
そこで、情報処理装置において、書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新できるようにすることが課題となる。本発明の目的は、かかる課題を解決する情報処理装置およびそのファームウェア更新方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の視点に係る情報処理装置は、
第１のメモリ領域および第２のメモリ領域を有する揮発性メモリと、
ファームウェアを保持するフラッシュＲＯＭと、
更新後のファームウェアのＲＯＭイメージを前記第１のメモリ領域に格納するとともに、前記第１のメモリ領域に格納された更新後のファームウェアと前記フラッシュＲＯＭに格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第１の情報を前記第１のメモリ領域に格納するＢＩＯＳアップデートツールと、
ＯＳの立ち下げ処理の開始後に、前記第１のメモリ領域に格納されたＲＯＭイメージを前記フラッシュＲＯＭへコピーするとともに、前記第１のメモリ領域に格納された更新後ファームウェアのうちの前記第１の情報が示すモジュールを前記第２のメモリ領域へコピーするＢＩＯＳと、を備える。
【００１１】
本発明の第２の視点に係る情報処理装置のファームウェア更新方法は、
更新後のファームウェアのＲＯＭイメージを揮発性メモリ中の第１のメモリ領域に格納する工程と、
前記第１のメモリ領域に格納された更新後のファームウェアとフラッシュＲＯＭに格納された更新前のファームウェアとをモジュールごとに比較して、差分を含むモジュールを抽出し、抽出したモジュールを示す第１の情報を前記第１のメモリ領域に格納する工程と、
ＯＳの立ち下げ処理の開始後に、前記第１のメモリ領域に格納されたＲＯＭイメージを前記フラッシュＲＯＭへコピーするとともに、前記第１のメモリ領域に格納された更新後ファームウェアのうちの前記第１の情報が示すモジュールを前記揮発性メモリ中の第２のメモリ領域へコピーする工程と、を含む。
【発明の効果】
【００１２】
本発明に係る情報処理装置およびそのファームウェア更新方法によると、書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】実施形態に係る情報処理装置のＢＩＯＳ用固定メモリ領域に格納された情報を示す図である。
【図３】実施形態に係る情報処理装置の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１５】
図１を参照すると、情報処理装置（１２）は、第１のメモリ領域（ＢＩＯＳ用固定メモリ領域１８）および第２のメモリ領域（ＢＩＯＳリマップ領域１９）を有するメモリ（１４）と、ファームウェアを保持するフラッシュＲＯＭ（１５）と、更新後のファームウェアのＲＯＭイメージを第１のメモリ領域（１８）に格納するとともに、第１のメモリ領域（１８）に格納された更新後のファームウェアとフラッシュＲＯＭ（１５）に格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第１の情報を第１のメモリ領域（１８）に格納するＢＩＯＳアップデートツール（１６）と、ＯＳの立ち下げ処理の開始後に、第１のメモリ領域（１８）に格納されたＲＯＭイメージをフラッシュＲＯＭ（１５）へコピーするとともに、第１のメモリ領域（１８）に格納された更新後ファームウェアのうちの第１の情報が示すモジュールを第２のメモリ領域（１９）へコピーするＢＩＯＳ（１１）と、を備えている。
【００１６】
また、ＢＩＯＳアップデートツール（１６）は、ファームウェアに含まれるモジュール間の依存関係を示す情報を参照して、上記の第１の情報が示すモジュールを更新した場合に再初期化が必要とされるモジュールを抽出し、抽出したモジュールを示す第２の情報を第１のメモリ領域（１８）に格納し、ＢＩＯＳ（１１）は、更新後のファームウェアのうちの第２の情報が示すモジュールの再初期化を行うことが好ましい。
【００１７】
本発明に係る情報処理装置（１２）によると、書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新することができる。
【００１８】
以下では、情報処理装置（１２）の動作について、図１を参照して、さらに詳細に説明する。情報処理装置（１２）は、以下に示す動作によって、高可用性を維持しつつ、高速なＢＩＯＳアップデートを実現するようにしてもよい。
【００１９】
（１）ＢＩＯＳアップデートツールの起動
ＯＳ（１０）は、ＢＩＯＳアップデートツール（１６）を実行する。
（２）ＢＩＯＳアップデートの予約
ＢＩＯＳアップデートツール（１６）は、ＢＩＯＳ用固定メモリ領域（１８）に対して、アップデート対象となるＲＯＭイメージをコピーし、アップデート予約フラグ（図２参照）を設定する。
（３）差分解析
ＢＩＯＳアップデートツール（１６）は、現在稼動しているＢＩＯＳとアップデート対象のＢＩＯＳとの差分を解析し、差分解析情報（例えば、図２のアップデート対象フラグ）をＢＩＯＳ用固定メモリ領域（１８）に保存する。
（４）システムリブートおよびＢＩＯＳアップデート開始
ＯＳ自身のアップデート、パッチ適用等、ユーザが任意のタイミングでリブート指示をすると、ＢＩＯＳ（１１）のシステム立ち下げ処理が動作する。この処理中に、ＢＩＯＳ（１１）は、アップデート予約フラグを確認し、アップデート予約がされていた場合には、ＢＩＯＳアップデートを開始する。
（５）フラッシュＲＯＭアップデート
ＢＩＯＳ（１１）は、ＢＩＯＳ用固定メモリ領域（１８）に保存されたＲＯＭイメージから、フラッシュＲＯＭ（Ｆｌａｓｈ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（１５）へデータをコピーする。
（６）再初期化および再立ち上げ
アップデートに関する差分解析情報をもとに、再立ち上げ方法を決定する。ＢＩＯＳ全体に変更がなされた場合はハードウェア（ＨＷ）リセットが必要となる。一方、ＢＩＯＳアップデートにおいて特定モジュールのみの更新およびＨＷの再初期化が必要となる場合には、特定のモジュールのみメモリ（１４）上にＲＯＭイメージを展開し、部分的なハードウェアの再初期化を実施する。これにより、ソフトウェア（ＳＷ）リブートのみを実施し、システムの再立ち上げに要する期間を短縮することができる。
【００２０】
以上の手続きに従って、ＢＩＯＳ更新および高速リブートを行うことで、ＢＩＯＳアップデートを安全かつ短時間で実施することができる。
【００２１】
（実施形態）
実施形態に係る情報処理装置について、図面を参照して説明する。図１は、本実施形態に係る情報処理装置の構成を一例として示すブロック図である。図１を参照すると、情報処理装置１２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１１およびＨＷ（Ｈａｒｄｗａｒｅ）１３を備えている。ＯＳ１０は、ＢＩＯＳアップデートツール１６を備えている。また、ＨＷ１３は、メモリ１４およびフラッシュＲＯＭ１５を備えている。さらに、メモリ１４は、メインメモリ領域１７、ＢＩＯＳ用固定メモリ領域１８、および、ＢＩＯＳリマップ領域１９を備えている。
【００２２】
ＯＳ１０は、情報処理装置１２上で動作するオペレーティングシステムであり、ＢＩＯＳアップデートツール１６が予めインストールされている。
【００２３】
ＢＩＯＳ１１は、ＨＷ１３を初期化する機能、システム立ち下げ時にＢＩＯＳアップデートを行う機能、システム運用中に、高可用性および高信頼性を実現するための機能（例えば、障害処理、ＨｏｔＰｌｕｇ）を有する。
【００２４】
ＨＷ１３は、情報処理装置１２内のハードウェア資源であり、内部にメモリ１４およびフラッシュＲＯＭ１５を有する。
【００２５】
メモリ１４は、情報処理装置１２内のメモリ領域である。メモリ１４は、ＯＳ１０が利用するメインメモリ領域１７、ＢＩＯＳ１１が利用可能なＢＩＯＳ用固定メモリ領域１８、および、ＢＩＯＳ１１のＲＯＭイメージを展開するＢＩＯＳリマップ領域１９を備えている。
【００２６】
フラッシュＲＯＭ１５は、ファームウェアを保存・アップデートするＲＯＭである。ＢＩＯＳ１１は、フラッシュＲＯＭ１５上のコードと、フラッシュＲＯＭ１５からＢＩＯＳリマップ領域１９に展開したコードとを動作させることで、高可用性および高信頼性を実現する。また、フラッシュＲＯＭ１５に格納されているＢＩＯＳイメージは、ＢＩＯＳ１１のモジュールごとにマッピングされているアドレスが決まっており、モジュール単位で旧ＢＩＯＳのデータとの比較を行うことで、いずれのモジュールに更新があるかを判定することができる。
【００２７】
図２は、ＢＩＯＳ用固定メモリ領域１８に格納された情報を示す図である。図２を参照すると、ＢＩＯＳ用固定メモリ領域１８には、ＯＳ１０からＢＩＯＳアップデート指示があったことを示すアップデート予約フラグ、ＢＩＯＳ内部のモジュール単位にアップデートの要否を示すアップデート対象フラグ、および、ＢＩＯＳアップデート後に再初期化が必要となるモジュールを示す再初期化対象フラグが存在する。ＢＩＯＳアップデートツール１６の解析結果をＢＩＯＳ用固定メモリ領域１８に格納し、ＢＩＯＳ１１は、ＢＩＯＳアップデート後に解析結果を参照することで、その後の動作を決定する。
【００２８】
図３を参照して、本実施形態に係る情報処理装置によるＢＩＯＳアップデート高速化について詳細に説明する。
【００２９】
まず、ＯＳ１２からＢＩＯＳアップデートツール１６を起動する（ステップＳ１）。すると、ＢＩＯＳアップデートツール１６は、ＢＩＯＳ用固定メモリ領域１８にＲＯＭイメージをコピーし（ステップＳ２）、アップデート予約フラグを設定する（ステップＳ３）。さらに、ＢＩＯＳアップデートツール１６は、フラッシュＲＯＭ１５に格納されている、現状動作しているＢＩＯＳと、ＢＩＯＳ用固定メモリ領域１８にコピーされた新しいＲＯＭイメージとをモジュールごとに比較し、どのモジュールにアップデートが必要となるかをチェックし、その情報をアップデート対象フラグとして、ＢＩＯＳ用固定メモリ領域１８に保持する。さらに、モジュールによっては他のモジュールとの依存関係があるため、ＢＩＯＳアップデートツール１６内部で保持している依存関係情報をもとに再初期化が必要なモジュールに対して再初期化対象フラグを設定する（ステップＳ４）。
【００３０】
次に、ＯＳ１０のリブートが実施される（ステップＳ５）。すると、ＢＩＯＳ１１による立ち下げ処理が動作する（ステップＳ６）。ＢＩＯＳ１１は、まず、アップデート予約フラグを参照し、アップデート予約フラグが設定されている場合には（ステップＳ７のＹＥＳ）、ＢＩＯＳアップデートを開始する（ステップＳ９）。一方、アップデート予約フラグが設定されていない場合には（ステップＳ７のＮＯ）、ＢＩＯＳ１１は、通常のリブート処理を実施する（ステップＳ８）。
【００３１】
ＢＩＯＳアップデート処理において、ＢＩＯＳ１１は、ＢＩＯＳ用固定メモリ領域１８に保存されたＲＯＭイメージから、フラッシュＲＯＭ１５へデータをコピーする（ステップＳ１０）。次に、ＢＩＯＳ１１は、アップデート対象フラグを参照し、アップデート対象のモジュールである場合には、ＢＩＯＳリマップ領域１９に対し、モジュールのアップデートを実施する（ステップＳ１１）。ここで、アップデート対象のモジュールのみを更新することで、アップデート時間の短縮が可能となる。最後に、ＢＩＯＳ１１は、再初期化対象フラグを参照し、再立ち上げに必要な再初期化のみ実施し（ステップＳ１２）、ハードウェア的なリブートを行うことなく、ＯＳブートを開始する（ステップＳ１３）。
【００３２】
本実施形態の情報処理装置によると、ＢＩＯＳアップデートをＯＳ運用中に予約し、立ち下げ処理内でアップデートを実施することで、オンラインによるＢＩＯＳアップデートを実施する際のリスクを回避できる。また、ＢＩＯＳアップデート後、差分情報（変更点、変更モジュール）を解析して、変更があったモジュールのみを、再ロード（Ｌｏａｄ）、再実行を行うことで、高速にファームウェアの更新（Ｆｉｒｍｗａｒｅ  Ｕｐｄａｔｅ）を行うことができる。
【００３３】
すなわち、本発明によると、ＯＳ立ち下げ時にＢＩＯＳをアップデートすることで、ＯＳ運用中にＢＩＯＳをアップデートする際のリスクを回避するとともに、ＢＩＯＳアップデート後の再立ち上げ処理を短縮することが可能となる。
【００３４】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００３５】
１０    ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）
１１    ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）
１２    情報処理装置
１３    ハードウェア（ＨＷ：Ｈａｒｄｗａｒｅ）
１４    メモリ
１５    フラッシュＲＯＭ（Ｆｌａｓｈ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１６    ＢＩＯＳアップデートツール
１７    メインメモリ領域
１８    ＢＩＯＳ用固定メモリ領域
１９    ＢＩＯＳリマップ領域
【図１】
0005585502.tif 000002
【図２】
0005585502.tif 000003
【図３】
0005585502.tif 000004