説明

情報処理装置およびそのファームウェア更新方法

【課題】書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新できるようにすること。
【解決手段】情報処理装置は、ファームウェアを保持するフラッシュROMと、更新後のファームウェアのROMイメージを第1のメモリ領域に格納するとともに、第1のメモリ領域に格納された更新後のファームウェアとフラッシュROMに格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第1の情報を第1のメモリ領域に格納するBIOSアップデートツールと、OSの立ち下げ処理の開始後に、第1のメモリ領域に格納されたROMイメージをフラッシュROMへコピーするとともに、第1のメモリ領域に格納された更新後ファームウェアのうちの第1の情報が示すモジュールを第2のメモリ領域へコピーするBIOSとを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびそのファームウェア更新方法に関し、特に、高可用性および高信頼性が要求されるハイエンドサーバその他の情報処理装置、および、そのファームウェア更新方法に関する。
【背景技術】
【0002】
BIOS(Basic Input/Output System)アップデートの目的として、ファームウェアモジュールの変更、および、ハードウェア(HW:Hardware)の初期設定の変更が挙げられる。また、BIOSアップデートにおいては、一般に、システムの再立上げが行われる。
【0003】
特許文献1において、二重化装置を用いることで、運用を停止することなくBIOSをアップデートする方法が記載されている。また、特許文献2において、オペレーティングシステム(OS:Operating System)のシャットダウン処理後に、ファームウェアの更新処理を行う情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−217201号公報
【特許文献2】特開2002−244874号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
以下の分析は、本発明者によってなされたものである。
【0006】
特許文献1に記載されたBIOS更新方法において、ファームウェアモジュールに変更がある場合には、書き換え中にそのファームウェアモジュールが動作しないことが必要とされる。
【0007】
しかし、ハイエンドサーバのような情報処理装置では、システム運用中にもBIOSが介在することで、高可用性および高信頼性を実現しているため、システム運用中にファームウェアモジュールの動作を停止させて、オンラインアップデートを行うことは、現時点では受け入れ難いものになっている。そこで、ハイエンドサーバでは、一般に、ファームウェアアップデートを行う際、システムの再立ち上げを行う方法が採用されている。しかしながら、ハイエンドサーバは大規模であるが故に、システムの再立上げに時間がかかり、BIOSアップデートに伴うシステム停止期間が長いという問題がある。
【0008】
特許文献2に記載された情報処理装置においても、ファームウェアの更新後にシステムの再立ち上げが必要となることから、同様の問題が生じる。
【0009】
そこで、情報処理装置において、書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新できるようにすることが課題となる。本発明の目的は、かかる課題を解決する情報処理装置およびそのファームウェア更新方法を提供することにある。
【課題を解決するための手段】
【0010】
本発明の第1の視点に係る情報処理装置は、
第1のメモリ領域および第2のメモリ領域を有するメモリと、
ファームウェアを保持するフラッシュROMと、
更新後のファームウェアのROMイメージを前記第1のメモリ領域に格納するとともに、前記第1のメモリ領域に格納された更新後のファームウェアと前記フラッシュROMに格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第1の情報を前記第1のメモリ領域に格納するBIOSアップデートツールと、
OSの立ち下げ処理の開始後に、前記第1のメモリ領域に格納されたROMイメージを前記フラッシュROMへコピーするとともに、前記第1のメモリ領域に格納された更新後ファームウェアのうちの前記第1の情報が示すモジュールを前記第2のメモリ領域へコピーするBIOSと、を備えている。
【0011】
本発明の第2の視点に係る情報処理装置のファームウェア更新方法は、
更新後のファームウェアのROMイメージをメモリ中の第1のメモリ領域に格納する工程と、
前記第1のメモリ領域に格納された更新後のファームウェアとフラッシュROMに格納された更新前のファームウェアとをモジュールごとに比較して、差分を含むモジュールを抽出し、抽出したモジュールを示す第1の情報を前記第1のメモリ領域に格納する工程と、
OSの立ち下げ処理の開始後に、前記第1のメモリ領域に格納されたROMイメージを前記フラッシュROMへコピーするとともに、前記第1のメモリ領域に格納された更新後ファームウェアのうちの前記第1の情報が示すモジュールを前記メモリ中の第2のメモリ領域へコピーする工程と、を含む。
【発明の効果】
【0012】
本発明に係る情報処理装置およびそのファームウェア更新方法によると、書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新することができる。
【図面の簡単な説明】
【0013】
【図1】実施形態に係る情報処理装置の構成を示すブロック図である。
【図2】実施形態に係る情報処理装置のBIOS用固定メモリ領域に格納された情報を示す図である。
【図3】実施形態に係る情報処理装置の動作を示すシーケンス図である。
【発明を実施するための形態】
【0014】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【0015】
図1を参照すると、情報処理装置(12)は、第1のメモリ領域(BIOS用固定メモリ領域18)および第2のメモリ領域(BIOSリマップ領域19)を有するメモリ(14)と、ファームウェアを保持するフラッシュROM(15)と、更新後のファームウェアのROMイメージを第1のメモリ領域(18)に格納するとともに、第1のメモリ領域(18)に格納された更新後のファームウェアとフラッシュROM(15)に格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第1の情報を第1のメモリ領域(18)に格納するBIOSアップデートツール(16)と、OSの立ち下げ処理の開始後に、第1のメモリ領域(18)に格納されたROMイメージをフラッシュROM(15)へコピーするとともに、第1のメモリ領域(18)に格納された更新後ファームウェアのうちの第1の情報が示すモジュールを第2のメモリ領域(19)へコピーするBIOS(11)と、を備えている。
【0016】
また、BIOSアップデートツール(16)は、ファームウェアに含まれるモジュール間の依存関係を示す情報を参照して、上記の第1の情報が示すモジュールを更新した場合に再初期化が必要とされるモジュールを抽出し、抽出したモジュールを示す第2の情報を第1のメモリ領域(18)に格納し、BIOS(11)は、更新後のファームウェアのうちの第2の情報が示すモジュールの再初期化を行うことが好ましい。
【0017】
本発明に係る情報処理装置(12)によると、書き換え中にファームウェアが動作することを回避しつつ、短い時間でファームウェアを更新することができる。
【0018】
以下では、情報処理装置(12)の動作について、図1を参照して、さらに詳細に説明する。情報処理装置(12)は、以下に示す動作によって、高可用性を維持しつつ、高速なBIOSアップデートを実現するようにしてもよい。
【0019】
(1)BIOSアップデートツールの起動
OS(10)は、BIOSアップデートツール(16)を実行する。
(2)BIOSアップデートの予約
BIOSアップデートツール(16)は、BIOS用固定メモリ領域(18)に対して、アップデート対象となるROMイメージをコピーし、アップデート予約フラグ(図2参照)を設定する。
(3)差分解析
BIOSアップデートツール(16)は、現在稼動しているBIOSとアップデート対象のBIOSとの差分を解析し、差分解析情報(例えば、図2のアップデート対象フラグ)をBIOS用固定メモリ領域(18)に保存する。
(4)システムリブートおよびBIOSアップデート開始
OS自身のアップデート、パッチ適用等、ユーザが任意のタイミングでリブート指示をすると、BIOS(11)のシステム立ち下げ処理が動作する。この処理中に、BIOS(11)は、アップデート予約フラグを確認し、アップデート予約がされていた場合には、BIOSアップデートを開始する。
(5)フラッシュROMアップデート
BIOS(11)は、BIOS用固定メモリ領域(18)に保存されたROMイメージから、フラッシュROM(Flash Read Only Memory)(15)へデータをコピーする。
(6)再初期化および再立ち上げ
アップデートに関する差分解析情報をもとに、再立ち上げ方法を決定する。BIOS全体に変更がなされた場合はハードウェア(HW)リセットが必要となる。一方、BIOSアップデートにおいて特定モジュールのみの更新およびHWの再初期化が必要となる場合には、特定のモジュールのみメモリ(14)上にROMイメージを展開し、部分的なハードウェアの再初期化を実施する。これにより、ソフトウェア(SW)リブートのみを実施し、システムの再立ち上げに要する期間を短縮することができる。
【0020】
以上の手続きに従って、BIOS更新および高速リブートを行うことで、BIOSアップデートを安全かつ短時間で実施することができる。
【0021】
(実施形態)
実施形態に係る情報処理装置について、図面を参照して説明する。図1は、本実施形態に係る情報処理装置の構成を一例として示すブロック図である。図1を参照すると、情報処理装置12は、OS(Operating System)10、BIOS(Basic Input/Output System)11およびHW(Hardware)13を備えている。OS10は、BIOSアップデートツール16を備えている。また、HW13は、メモリ14およびフラッシュROM15を備えている。さらに、メモリ14は、メインメモリ領域17、BIOS用固定メモリ領域18、および、BIOSリマップ領域19を備えている。
【0022】
OS10は、情報処理装置12上で動作するオペレーティングシステムであり、BIOSアップデートツール16が予めインストールされている。
【0023】
BIOS11は、HW13を初期化する機能、システム立ち下げ時にBIOSアップデートを行う機能、システム運用中に、高可用性および高信頼性を実現するための機能(例えば、障害処理、HotPlug)を有する。
【0024】
HW13は、情報処理装置12内のハードウェア資源であり、内部にメモリ14およびフラッシュROM15を有する。
【0025】
メモリ14は、情報処理装置12内のメモリ領域である。メモリ14は、OS10が利用するメインメモリ領域17、BIOS11が利用可能なBIOS用固定メモリ領域18、および、BIOS11のROMイメージを展開するBIOSリマップ領域19を備えている。
【0026】
フラッシュROM15は、ファームウェアを保存・アップデートするROMである。BIOS11は、フラッシュROM15上のコードと、フラッシュROM15からBIOSリマップ領域19に展開したコードとを動作させることで、高可用性および高信頼性を実現する。また、フラッシュROM15に格納されているBIOSイメージは、BIOS11のモジュールごとにマッピングされているアドレスが決まっており、モジュール単位で旧BIOSのデータとの比較を行うことで、いずれのモジュールに更新があるかを判定することができる。
【0027】
図2は、BIOS用固定メモリ領域18に格納された情報を示す図である。図2を参照すると、BIOS用固定メモリ領域18には、OS10からBIOSアップデート指示があったことを示すアップデート予約フラグ、BIOS内部のモジュール単位にアップデートの要否を示すアップデート対象フラグ、および、BIOSアップデート後に再初期化が必要となるモジュールを示す再初期化対象フラグが存在する。BIOSアップデートツール16の解析結果をBIOS用固定メモリ領域18に格納し、BIOS11は、BIOSアップデート後に解析結果を参照することで、その後の動作を決定する。
【0028】
図3を参照して、本実施形態に係る情報処理装置によるBIOSアップデート高速化について詳細に説明する。
【0029】
まず、OS12からBIOSアップデートツール16を起動する(ステップS1)。すると、BIOSアップデートツール16は、BIOS用固定メモリ領域18にROMイメージをコピーし(ステップS2)、アップデート予約フラグを設定する(ステップS3)。さらに、BIOSアップデートツール16は、フラッシュROM15に格納されている、現状動作しているBIOSと、BIOS用固定メモリ領域18にコピーされた新しいROMイメージとをモジュールごとに比較し、どのモジュールにアップデートが必要となるかをチェックし、その情報をアップデート対象フラグとして、BIOS用固定メモリ領域18に保持する。さらに、モジュールによっては他のモジュールとの依存関係があるため、BIOSアップデートツール16内部で保持している依存関係情報をもとに再初期化が必要なモジュールに対して再初期化対象フラグを設定する(ステップS4)。
【0030】
次に、OS10のリブートが実施される(ステップS5)。すると、BIOS11による立ち下げ処理が動作する(ステップS6)。BIOS11は、まず、アップデート予約フラグを参照し、アップデート予約フラグが設定されている場合には(ステップS7のYES)、BIOSアップデートを開始する(ステップS9)。一方、アップデート予約フラグが設定されていない場合には(ステップS7のNO)、BIOS11は、通常のリブート処理を実施する(ステップS8)。
【0031】
BIOSアップデート処理において、BIOS11は、BIOS用固定メモリ領域18に保存されたROMイメージから、フラッシュROM15へデータをコピーする(ステップS10)。次に、BIOS11は、アップデート対象フラグを参照し、アップデート対象のモジュールである場合には、BIOSリマップ領域19に対し、モジュールのアップデートを実施する(ステップS11)。ここで、アップデート対象のモジュールのみを更新することで、アップデート時間の短縮が可能となる。最後に、BIOS11は、再初期化対象フラグを参照し、再立ち上げに必要な再初期化のみ実施し(ステップS12)、ハードウェア的なリブートを行うことなく、OSブートを開始する(ステップS13)。
【0032】
本実施形態の情報処理装置によると、BIOSアップデートをOS運用中に予約し、立ち下げ処理内でアップデートを実施することで、オンラインによるBIOSアップデートを実施する際のリスクを回避できる。また、BIOSアップデート後、差分情報(変更点、変更モジュール)を解析して、変更があったモジュールのみを、再ロード(Load)、再実行を行うことで、高速にファームウェアの更新(Firmware Update)を行うことができる。
【0033】
すなわち、本発明によると、OS立ち下げ時にBIOSをアップデートすることで、OS運用中にBIOSをアップデートする際のリスクを回避するとともに、BIOSアップデート後の再立ち上げ処理を短縮することが可能となる。
【0034】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0035】
10 OS(Operating System)
11 BIOS(Basic Input/Output System)
12 情報処理装置
13 ハードウェア(HW:Hardware)
14 メモリ
15 フラッシュROM(Flash Read Only Memory)
16 BIOSアップデートツール
17 メインメモリ領域
18 BIOS用固定メモリ領域
19 BIOSリマップ領域

【特許請求の範囲】
【請求項1】
第1のメモリ領域および第2のメモリ領域を有するメモリと、
ファームウェアを保持するフラッシュROMと、
更新後のファームウェアのROMイメージを前記第1のメモリ領域に格納するとともに、前記第1のメモリ領域に格納された更新後のファームウェアと前記フラッシュROMに格納された更新前のファームウェアとをモジュールごとに比較して差分を含むモジュールを抽出し、抽出したモジュールを示す第1の情報を前記第1のメモリ領域に格納するBIOSアップデートツールと、
OSの立ち下げ処理の開始後に、前記第1のメモリ領域に格納されたROMイメージを前記フラッシュROMへコピーするとともに、前記第1のメモリ領域に格納された更新後ファームウェアのうちの前記第1の情報が示すモジュールを前記第2のメモリ領域へコピーするBIOSと、を備えていることを特徴とする情報処理装置。
【請求項2】
前記BIOSアップデートツールは、ファームウェアに含まれるモジュール間の依存関係を示す情報を参照して、前記第1の情報が示すモジュールを更新した場合に再初期化が必要とされるモジュールを抽出し、抽出したモジュールを示す第2の情報を前記第1のメモリ領域に格納し、
前記BIOSは、更新後のファームウェアのうちの前記第2の情報が示すモジュールの再初期化を行うことを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
更新後のファームウェアのROMイメージをメモリ中の第1のメモリ領域に格納する工程と、
前記第1のメモリ領域に格納された更新後のファームウェアとフラッシュROMに格納された更新前のファームウェアとをモジュールごとに比較して、差分を含むモジュールを抽出し、抽出したモジュールを示す第1の情報を前記第1のメモリ領域に格納する工程と、
OSの立ち下げ処理の開始後に、前記第1のメモリ領域に格納されたROMイメージを前記フラッシュROMへコピーするとともに、前記第1のメモリ領域に格納された更新後ファームウェアのうちの前記第1の情報が示すモジュールを前記メモリ中の第2のメモリ領域へコピーする工程と、を含むことを特徴とする情報処理装置のファームウェア更新方法。
【請求項4】
ファームウェアに含まれるモジュール間の依存関係を示す情報を参照して、前記第1の情報が示すモジュールを更新した場合に再初期化が必要とされるモジュールを抽出し、抽出したモジュールを示す第2の情報を前記第1のメモリ領域に格納する工程と、
更新後のファームウェアのうちの前記第2の情報が示すモジュールの再初期化を行う工程と、を含むことを特徴とする、請求項3に記載のファームウェア更新方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−194793(P2012−194793A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−58339(P2011−58339)
【出願日】平成23年3月16日(2011.3.16)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】