(57)【特許請求の範囲】
【請求項１】
ＢＩＯＳ（Basic Input/Output System）アップデート方法において、
コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能な第１の記憶部に格納し、前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能な第２の記憶部に格納し、
前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本ＢＩＯＳオフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をし、前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をすることにより、前記ＲＡＭ領域にて複数のフィールドに分割されている前記基本ＢＩＯＳイメージの内の或るフィールドを前記更新差分イメージで更に複数に分割し、当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げることを特徴とするＢＩＯＳアップデート方法。
【請求項２】
請求項１に記載のＢＩＯＳアップデート方法において、
前記更新差分イメージをデータ圧縮してから前記第２の記憶部に格納し、前記コンピュータを立ち上げる際に前記データ圧縮された更新差分イメージを作業メモリ領域に展開するのに失敗した場合は、前記ＲＡＭ領域への前記第２の転送は行わず前記第１の転送のみを行い当該第１の転送の終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げることを特徴とするＢＩＯＳアップデート方法。
【請求項３】
請求項１又は２に記載のＢＩＯＳアップデート方法において、
前記基本ＢＩＯＳイメージ及び前記更新差分イメージのそれぞれ若しくは何れかは、複数のフィールドに分割されており、当該分割されているフィールドの各々が前記基本ＢＩＯＳオフセット値又は更新差分オフセット値と対応付けられていることを特徴とするＢＩＯＳアップデート方法。
【請求項４】
請求項３に記載のＢＩＯＳアップデート方法において、
前記基本ＢＩＯＳオフセット値及び更新差分オフセット値を用いることにより、前記基本ＢＩＯＳイメージ及び前記更新差分イメージの前記フィールドの順番が入れ替わるように前記第１の転送及び前記第２の転送を行うことを特徴とするＢＩＯＳアップデート方法。
【請求項５】
請求項１乃至４の何れか１項に記載のＢＩＯＳアップデート方法において、
前記アップデートをする際に当該アップデートより以前に行ったアップデートにより生じた前記更新差分イメージを前記第２の記憶部から消去しないことを特徴とするＢＩＯＳアップデート方法。
【請求項６】
ＢＩＯＳ（Basic Input/Output System）アップデート装置において、
コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能として保持する基本ＢＩＯＳイメージ格納手段と、
前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能に保持するＢＩＯＳ更新差分格納手段と、
前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本ＢＩＯＳオフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をする基本データ転送手段と、
前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をすることにより、前記ＲＡＭ領域にて複数のフィールドに分割されている前記基本ＢＩＯＳイメージの内の或るフィールドを前記更新差分イメージで更に複数に分割するＢＩＯＳ更新手段と、
当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げるブート制御手段と、
を備えることを特徴とするＢＩＯＳアップデート装置。
【請求項７】
請求項６に記載のＢＩＯＳアップデート装置において、
前記更新差分イメージをデータ圧縮してから前記ＢＩＯＳ更新差分格納手段に格納し、前記コンピュータを立ち上げる際に前記データ圧縮された更新差分イメージを作業メモリ領域に展開するのに失敗した場合は、前記ＲＡＭ領域への前記第２の転送は行わず前記第１の転送のみを行い当該第１の転送の終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げることを特徴とするＢＩＯＳアップデート装置。
【請求項８】
請求項６又は７に記載のＢＩＯＳアップデート装置において、
前記基本ＢＩＯＳイメージ及び前記更新差分イメージのそれぞれ若しくは何れかは、複数のフィールドに分割されており、当該分割されているフィールドの各々が前記基本ＢＩＯＳオフセット値又は更新差分オフセット値と対応付けられていることを特徴とするＢＩＯＳアップデート装置。
【請求項９】
請求項８に記載のＢＩＯＳアップデート装置において、
前記基本ＢＩＯＳオフセット値及び更新差分オフセット値を用いることにより、前記基本ＢＩＯＳイメージ及び前記更新差分イメージの前記フィールドの順番が入れ替わるように前記第１の転送及び前記第２の転送を行うことを特徴とするＢＩＯＳアップデート装置。
【請求項１０】
ＢＩＯＳ（Basic Input/Output System）アップデート装置に組み込まれるＢＩＯＳアップデートプログラムにおいて、
コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能として保持する基本ＢＩＯＳイメージ格納手段と、
前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能に保持するＢＩＯＳ更新差分格納手段と、
前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本ＢＩＯＳオフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をする基本データ転送手段と、
前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をすることにより、前記ＲＡＭ領域にて複数のフィールドに分割されている前記基本ＢＩＯＳイメージの内の或るフィールドを前記更新差分イメージで更に複数に分割するＢＩＯＳ更新手段と、
当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げるブート制御手段と、
を備えるＢＩＯＳアップデート装置としてコンピュータを機能させることを特徴とするＢＩＯＳアップデートプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＢＩＯＳ（Basic Input/Output System）に関し、より詳細には、ＢＩＯＳのアップデートに関する。
【背景技術】
【０００２】
従来、ＢＩＯＳアップデート方式では、ＢＩＯＳイメージそのものを書き換える方式であったため、アップデート時に停電やＨＷ（ハードウェア）故障などが発生すると、ＢＩＯＳイメージが破壊されてしまいシステムの立ち上げが不可能となってしまった。
【０００３】
このような従来の技術の問題点は、ＢＩＯＳアップデートを失敗した場合に容易なＢＩＯＳの復元手段がなく、装置の修理、または専門的な知識を持った保守員による修復作業が必要となり、システムの復旧に時間が必要となることである。
【０００４】
そこで、この問題点に対して、複数のＢＩＯＳ領域を持ち、書き換え対象ＢＩＯＳとは別なＢＩＯＳでブートすることで対応する方式がある。
【０００５】
例えば、特許文献１にはコンピュータ装置の起動デバイスの順序を記憶した複数の記憶手段としてのＢＩＯＳ−ＲＯＭと、複数のＢＩＯＳ−ＲＯＭから選択された１つのＢＩＯＳ−ＲＯＭに記憶された起動デバイスの順序に従って、コンピュータ装置を起動する制御手段としてのＣＰＵを備える基本入出力制御システムが記載されている。
【０００６】
そして、このシステムではＢＩＯＳの切り替えをよういとするためにＢＩＯＳ切替制御部を設けている。ＢＩＯＳ切替制御部は、コンピュータ装置のＯＳが立ち上がっているシャットダウン又は再起動前に、選択された１つのＢＩＯＳ−ＲＯＭを、次回の該コンピュータ装置の起動時のＢＩＯＳ−ＲＯＭとして設定する。これにより、起動デバイスを変更するために最初にＢＩＯＳのセットアップ画面を立ち上げることが不要となるという効果を奏する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２５１９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したような技術を用いることにより、或るＢＩＯＳイメージが破壊されてしまったとしても他のＢＩＯＳイメージを使用することが可能となる。また、特許文献１に記載の技術等を用いれば、ＢＩＯＳの選択も容易となる。
【０００９】
しかしながら、書き換え対象ＢＩＯＳとは別なＢＩＯＳでブートすることで対応する方式では、複数世代のＢＩＯＳや起動ＯＳ別のＢＩＯＳに対応しようとすると、格納すべきＢＩＯＳ分のＲＯＭ領域が必要であるという問題が新たに生じてしまう。
【００１０】
そこで、本発明はＢＩＯＳ更新データの書き込みに失敗したとしても確実にブートすること及びＲＯＭの使用効率を向上させることが可能な、ＢＩＯＳアップデート方法、ＢＩＯＳアップデート装置及びＢＩＯＳアップデートプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、ＢＩＯＳ（Basic Input/Output System）アップデート方法において、コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能な第１の記憶部に格納し、前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能な第２の記憶部に格納し、前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本ＢＩＯＳオフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をし、前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をすることにより、前記ＲＡＭ領域にて複数のフィールドに分割されている前記基本ＢＩＯＳイメージの内の或るフィールドを前記更新差分イメージで更に複数に分割し、当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げることを特徴とするＢＩＯＳアップデート方法が提供される。
【００１２】
本発明の第２の観点によれば、ＢＩＯＳ（Basic Input/Output System）アップデート装置において、コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能として保持する基本ＢＩＯＳイメージ格納手段と、前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能に保持するＢＩＯＳ更新差分格納手段と、前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本ＢＩＯＳオフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をする基本データ転送手段と、前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をすることにより、前記ＲＡＭ領域にて複数のフィールドに分割されている前記基本ＢＩＯＳイメージの内の或るフィールドを前記更新差分イメージで更に複数に分割するＢＩＯＳ更新手段と、当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げるブート制御手段と、を備えることを特徴とするＢＩＯＳアップデート装置が提供される。
【００１３】
本発明の第３の観点によれば、ＢＩＯＳ（Basic Input/Output System）アップデート装置に組み込まれるＢＩＯＳアップデートプログラムにおいて、コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能として保持する基本ＢＩＯＳイメージ格納手段と、前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能に保持するＢＩＯＳ更新差分格納手段と、前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本ＢＩＯＳオフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をする基本データ転送手段と、前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をすることにより、前記ＲＡＭ領域にて複数のフィールドに分割されている前記基本ＢＩＯＳイメージの内の或るフィールドを前記更新差分イメージで更に複数に分割するＢＩＯＳ更新手段と、当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げるブート制御手段と、を備えるＢＩＯＳアップデート装置としてコンピュータを機能させることを特徴とするＢＩＯＳアップデートプログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、基本ＢＩＯＳイメージを保持したまま、そのイメージに対してＢＩＯＳの更新差分を適用する方式をとっていることから或るＢＩＯＳ更新データの書き込みに失敗したとしても確実にブートすること及びＲＯＭの使用効率を向上させることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態の基本的構成を表す図である。
【図２】本発明の実施形態の基本的動作を表す図である。
【図３】本発明の実施形態におけるＢＩＯＳ更新データの構造について表す図である。
【図４】本発明の実施形態における更新例について表す図（１／２）である。
【図５】本発明の実施形態における更新例について表す図（２／２）である。
【発明を実施するための形態】
【００１６】
まず、本発明の実施形態の概略を説明する。本発明の実施形態はＢＩＯＳのアップデートにおいて、書き換え可能ＲＯＭ（Random Access Memory）領域にはＢＩＯＳイメージそのものではなく、更新データのみを圧縮して書き込む。そして、書き換え不可のＲＯＭ領域に確保されている確実な立ち上げが可能な基本ＢＩＯＳイメージを、ブート時にＲＡＭ領域に転送した後に、展開した更新データを適用した上で実際のＢＩＯＳとして使用する。以上が本願発明の実施形態の概略である。
【００１７】
次に、本発明の実施形態について図面を用いて詳細に説明する。
【００１８】
図１を参照すると、本発明のＢＩＯＳアップデート装置１００は、更新差分管理テーブル１０１と、ブート制御部１０２と、ＢＩＯＳ更新差分格納領域１０３と、基本ＢＩＯＳイメージ格納領域１０４と、更新データ展開部１０５と、基本データ転送部１０６と、作業メモリ領域１０７と、ＢＩＯＳ更新部１０８と、ＢＩＯＳ展開メモリ領域１０９と、を有している。
【００１９】
更新差分管理テーブル１０１は、ＢＩＯＳの更新により生じた差分（以下、適宜「ＢＩＯＳ差分」と呼ぶ。）を管理するためのテーブルである。更新差分管理テーブルには複数の異なるＢＩＯＳや、同一のＢＩＯＳの複数世代と、そのＢＩＯＳ毎に対応する格納位置と、が紐づけられている。
【００２０】
ブート制御部１０２は、ブート指示を受けて更新データ展開部１０５／基本データ転送部１０６／ＢＩＯＳ更新部１０８に指示を出す機能及びＢＩＯＳを用いてブートをする機能を有している。
【００２１】
ＢＩＯＳ更新差分格納領域１０３は、圧縮されたＢＩＯＳ更新差分および更新差分管理テーブル１０１を格納する書き換え可能ＲＯＭで構成される。なお、図１では説明の便宜上更新差分テーブル１０１とＢＩＯＳ更新差分格納領域１０３を別々に図示する。
【００２２】
基本ＢＩＯＳイメージ格納領域１０４は、確実な立ち上げが可能な基本ＢＩＯＳイメージを格納する書き換え不可のＲＯＭである。
【００２３】
更新データ展開部１０５は、圧縮された更新データを作業メモリ領域１０７に展開する機能を有している。
【００２４】
基本データ転送部１０６は、展開した更新データ中の基本ＢＩＯＳイメージオフセットフィールドを参照して基本ＢＩＯＳイメージをＢＩＯＳ展開領域１０９に転送する機能を有している。
【００２５】
作業メモリ領域１０７は、圧縮された更新データの展開のために用いられるメモリ領域である。
【００２６】
ＢＩＯＳ更新部１０８は、展開した更新データ中の更新差分オフセットフィールドを参照してＢＩＯＳ展開領域に転送された基本ＢＩＯＳイメージを更新する機能を有している。
【００２７】
ＢＩＯＳ展開領域１０９は、実際にブートに使用するＢＩＯＳイメージを格納するＲＡＭである。
【００２８】
次に、図１及び図２のフローチャートを参照して本実施形態の動作について説明する。
【００２９】
ブート制御部１０２はブート指示を受けると、更新差分管理テーブル１０１を参照してブート指示が指定する更新差分の格納位置を取りだし、その更新差分の格納位置を付けて更新データ展開部１０５に対してＢＩＯＳ更新データの展開を指示する（ステップＳ２０１）。
【００３０】
更新データ展開部１０５は、ＢＩＯＳ更新差分格納領域１０３に格納されている圧縮されたＢＩＯＳ更新データの展開を行い、その結果を作業メモリ領域１０７に書き込むと共に、ブート制御部１０２に対して展開が成功したか否かの報告である展開報告を送る（ステップＳ２０２）。
【００３１】
ここで、展開報告が”成功”であるならば（ステップＳ２０３においてＹｅｓ）、ブート制御部１０２は次に、基本データ転送部１０６に対して基本ＢＩＯＳイメージの転送を指示する（ステップＳ２０４）。
【００３２】
基本データ転送部１０６は、作業メモリ領域１０７に展開された更新データ中の基本ＢＩＯＳイメージオフセットフィールドを参照して、基本ＢＩＯＳイメージ格納領域１０４から基本ＢＩＯＳイメージを読み出してＢＩＯＳ展開メモリ領域１０９に転送を行う。そして、基本ＢＩＯＳイメージオフセットフィールドの終端まで達したら、基本データ転送部１０６はブート制御部１０２に対して基本データ転送完了報告を送る（ステップＳ２０５）。
【００３３】
基本データ転送完了報告を受けたブート制御部１０２は、次にＢＩＯＳ更新部１０８に対してＢＩＯＳ更新指示を送る（ステップＳ２０６）。
【００３４】
ＢＩＯＳ更新部１０８は、作業メモリ領域１０７に展開された更新データ中の更新差分オフセットフィールドを参照して、同じく作業メモリ領域１０７に展開された更新差分データフィールドから更新データを読み出す。そして読み出した更新データをＢＩＯＳ展開メモリ領域１０９に対して転送する。そして、更新差分オフセットフィールドの終端まで達したら、ＢＩＯＳ更新部１０８はブート制御部１０２に対して更新完了報告を送る（ステップＳ２０７）。
【００３５】
更新完了報告を受けたブート制御部１０２は、ＢＩＯＳ展開メモリ領域１０９のＢＩＯＳを使用してブートを行う（ステップＳ２０８）。
【００３６】
一方、もしも最初の更新データ展開機能からの展開報告が”失敗”であるならば（ステップＳ２０３においてＮｏ）、ＢＩＯＳ更新差分格納領域１０３へのＢＩＯＳ更新データの書き込みが失敗していると考えられる。そのため、ブート制御部１０２は基本データ転送部１０６に対して、基本ＢＩＯＳイメージをそのままＢＩＯＳ展開メモリ領域１０９に転送するように指示する（ステップＳ２０９）。
【００３７】
ステップＳ２０９における指示を受けた基本データ転送部１０６は、基本ＢＩＯＳイメージ格納領域１０４から基本ＢＩＯＳイメージをそのまま読み出しＢＩＯＳ展開メモリ領域１０９に転送する。そして転送が完了後、ブート制御部１０２に対して基本データ転送完了報告を送る（ステップＳ２１０）。
【００３８】
転送完了報告を受けたブート制御部１０２は、基本ＢＩＯＳイメージによるブートを行う（ステップＳ２１１）。
【００３９】
次に、図３を参照してＢＩＯＳ更新データの構造について説明する。
【００４０】
ＢＩＯＳ更新データは、基本ＢＩＯＳイメージオフセットフィールドと、更新差分オフセットフィールドと、更新差分イメージフィールドと、を有している。
【００４１】
基本ＢＩＯＳイメージオフセットフィールドは、ｎ個の基本ＢＩＯＳイメージ転送開始アドレスと基本ＢＩＯＳイメージ転送先オフセット値の組からなる。基本ＢＩＯＳイメージ転送開始アドレスは基本ＢＩＯＳイメージの先頭を０とするアドレスで、そのアドレスから基本ＢＩＯＳイメージを読み出し、ＢＩＯＳ展開メモリ領域１０９の先頭からＢＩＯＳイメージ転送先オフセット値分ずれたアドレスへと転送を行う。この転送は、基本ＢＩＯＳイメージオフセットフィールドの次の組の基本ＢＩＯＳイメージ転送開始アドレスに達するまで行われ、その後は次の組の設定値にしたがって転送が行われる。
【００４２】
更新差分オフセットフィールドも、更新差分イメージ転送開始アドレスと更新差分イメージ転送先オフセット値の組からなる。更新差分イメージ転送開始アドレスは更新差分イメージフィールドの先頭を０とするアドレスで、そのアドレスから更新差分イメージを読み出し、ＢＩＯＳ展開メモリ領域１０９の先頭から更新差分イメージ転送先オフセット値分ずれたアドレスへと転送を行う。この転送は、更新差分オフセットフィールドの次の組の更新差分イメージ転送開始アドレスに達するまで行われ、その後は次の組の設定値にしたがって転送が行われる。
【００４３】
このＢＩＯＳ更新データは、何等かのデータ圧縮手段により圧縮された上で、ＢＩＯＳ更新差分格納領域１０３へ書き込まれる。データ圧縮手段としては任意のものを用いることができ、具体例をしてはｚｉｐ形式が挙げられる。
【００４４】
以上説明した本発明の実施形態は、以下に示すような多くの効果を奏する。
【００４５】
第１の効果はＢＩＯＳ更新データの書き込みに失敗したとしても、基本ＢＩＯＳイメージを使用してのブートが可能であることである。
【００４６】
その理由は、確実にブートが可能な基本ＢＩＯＳイメージを保持したまま、そのイメージに対してＢＩＯＳの更新差分を適用する方式をとっているからである。
【００４７】
第２の効果は複数世代を同時に保持したり、ＯＳごとに異なるＢＩＯＳを使用することも容易となることである。
【００４８】
次に、本実施形態におけるＢＩＯＳ展開メモリ領域１０９へのＢＩＯＳの展開について図４及び図５に示す具体例に基づいて説明する。
【００４９】
図４の左に示す「基本ＢＩＯＳイメージ」を参照すると分かるように本具体例では基本ＢＩＯＳイメージが大きくＡ／Ｂ／Ｃのフィールドからなるとする。そして、図２に示したデータ構造の具体例である図５に示すＢＩＯＳ更新データに基づいてＢＩＯＳの展開をする。
【００５０】
この基本イメージをＲＡＭ領域に転送するにあたり、”基本ＢＩＯＳイメージオフセットフィールド”のオフセット値分ずらすことができるため、図４の”ＲＡＭ領域（ＢＩＯＳイメージ転送）”に示すように、ＲＡＭ領域上で順番を入れ替えたり、フィールド間に空き領域を設けることが可能となっている。例えば本例ではＲＡＭ領域のオフセットγまでは空き領域となっていることが分かる。また基本ＢＩＯＳイメージの段階ではＢＩＯＳイメージＡ、Ｂ、Ｃの順になっていたが、ＲＡＭ領域ではＣ、Ａ、Ｂの順に入れ替わっていることが分かる。
【００５１】
また、更新差分イメージに関しても、”更新差分オフセットフィールド”の設定によって、任意の位置に更新差分を適用することが出来るため、図４の”基本ＢＩＯＳイメージ”と”ＲＡＭ領域（更新イメージ適用後）”と比較すればわかるように、自由度の高い更新が可能となる。これは、オフセットを利用している本実施形態だからこそ奏する効果である。例えば、オリジナルのＢＩＯＳイメージをそのままＲＡＭ領域にコピーし、差分データで上書きするような構成とする場合と比較して、本実施形態では、オリジナルのＢＩＯＳイメージに関しても、”基本ＢＩＯＳイメージオフセットフィールド”の設定によって、配置を変更することができ、より自由度の高い修正が可能であるという有利な効果を奏している。
【００５２】
また、更新パラメータについてパラメータテーブル名をキーとして更新位置を探すような構成としてしまうとまったく新規なテーブルの追加については対応できない。これに対して本実施形態では、”更新差分オフセットフィールド”のオフセット値によって更新位置を指定しているため、新規なテーブルの追加などについても対応可能という点で有利な効果を奏している。
【００５３】
その理由は、更新データを差分のみ書き換え可能なＲＯＭ領域に保持するため、通常の技術よりもＲＯＭの使用効率が向上しているからである。
【００５４】
なお、本発明の実施形態であるＢＩＯＳアップデート装置は、ハードウェアにより実現することもできるが、コンピュータをそのＢＩＯＳアップデート装置として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【００５５】
また、本発明の実施形態によるＢＩＯＳアップデート方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【００５６】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００５７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５８】
（付記１）  ＢＩＯＳ（Basic Input/Output System）アップデート装置において、
コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能として保持する基本ＢＩＯＳイメージ格納手段と、
前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能に保持するＢＩＯＳ更新差分格納手段と、
前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本オフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をする基本データ転送手段と、
前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をするＢＩＯＳ更新手段と、
当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げるブート制御手段と、
を備えることを特徴とするＢＩＯＳアップデート装置。
【００５９】
（付記２）  付記１に記載のＢＩＯＳアップデート装置において、
前記更新差分イメージをデータ圧縮してから前記ＢＩＯＳ更新差分格納手段に格納し、前記コンピュータを立ち上げる際に前記データ圧縮された更新差分イメージを作業メモリ領域に展開するのに失敗した場合は、前記ＲＡＭ領域への前記第２の転送は行わず前記第１の転送のみを行い当該第１の転送の終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げることを特徴とするＢＩＯＳアップデート装置。
【００６０】
（付記３）  付記１又は２に記載のＢＩＯＳアップデート装置において、
前記基本ＢＩＯＳイメージ及び前記更新差分イメージのそれぞれ若しくは何れかは、複数のフィールドに分割されており、当該分割されているフィールドの各々が前記基本ＢＩＯＳオフセット値又は更新差分オフセット値と対応付けられていることを特徴とするＢＩＯＳアップデート装置。
【００６１】
（付記４）  付記３に記載のＢＩＯＳアップデート装置において、
前記基本ＢＩＯＳオフセット値及び更新差分オフセット値を用いることにより、前記基本ＢＩＯＳイメージ及び前記更新差分イメージの前記フィールドの順番が入れ替わるように前記第１の転送及び前記第２の転送を行うことを特徴とするＢＩＯＳアップデート装置。
【００６２】
（付記５）  付記１乃至４の何れか１項に記載のＢＩＯＳアップデート装置において、
前記アップデートをする際に当該アップデートより以前に行ったアップデートにより生じた前記更新差分イメージを前記第２の記憶部から消去しないことを特徴とするＢＩＯＳアップデート装置。
【００６３】
（付記６）  ＢＩＯＳ（Basic Input/Output System）アップデート装置に組み込まれるＢＩＯＳアップデートプログラムにおいて、
コンピュータを確実に立ち上げることが可能なＢＩＯＳイメージである基本ＢＩＯＳイメージを所定の基本ＢＩＯＳオフセット値と対応付けて書き換え不能として保持する基本ＢＩＯＳイメージ格納手段と、
前記ＢＩＯＳをアップデートする際は、当該アップデート後のＢＩＯＳイメージの全てではなく当該アップデートにより生じた基本ＢＩＯＳイメージとの差分のみを更新差分イメージとして所定の更新差分オフセット値と対応付けて書き換え可能に保持するＢＩＯＳ更新差分格納手段と、
前記コンピュータを立ち上げる際に前記基本ＢＩＯＳイメージを前記基本オフセット値分ずらしてＲＡＭ（Random Access Memory）領域に第１の転送をする基本データ転送手段と、
前記第１の転送終了後、前記更新差分イメージを前記更新差分オフセット値分ずらして前記ＲＡＭ領域に第２の転送をするＢＩＯＳ更新手段と、
当該第２の転送終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げるブート制御手段と、
を備えるＢＩＯＳアップデート装置としてコンピュータを機能させることを特徴とするＢＩＯＳアップデートプログラム。
【００６４】
（付記７）  付記６に記載のＢＩＯＳアップデートプログラムにおいて、
前記更新差分イメージをデータ圧縮してから前記ＢＩＯＳ更新差分格納手段に格納し、前記コンピュータを立ち上げる際に前記データ圧縮された更新差分イメージを作業メモリ領域に展開するのに失敗した場合は、前記ＲＡＭ領域への前記第２の転送は行わず前記第１の転送のみを行い当該第１の転送の終了後、前記ＲＡＭ領域のＢＩＯＳを使用して前記コンピュータを立ち上げることを特徴とするＢＩＯＳアップデートプログラム。
【００６５】
（付記８）  付記６又は７に記載のＢＩＯＳアップデートプログラムにおいて、
前記基本ＢＩＯＳイメージ及び前記更新差分イメージのそれぞれ若しくは何れかは、複数のフィールドに分割されており、当該分割されているフィールドの各々が前記基本ＢＩＯＳオフセット値又は更新差分オフセット値と対応付けられていることを特徴とするＢＩＯＳアップデートプログラム。
【００６６】
（付記９）  付記８に記載のＢＩＯＳアップデートプログラムにおいて、
前記基本ＢＩＯＳオフセット値及び更新差分オフセット値を用いることにより、前記基本ＢＩＯＳイメージ及び前記更新差分イメージの前記フィールドの順番が入れ替わるように前記第１の転送及び前記第２の転送を行うことを特徴とするＢＩＯＳアップデートプログラム。
【００６７】
（付記１０）  付記６乃至９の何れか１項に記載のＢＩＯＳアップデートプログラムにおいて、
前記アップデートをする際に当該アップデートより以前に行ったアップデートにより生じた前記更新差分イメージを前記第２の記憶部から消去しないことを特徴とするＢＩＯＳアップデートプログラム。
【産業上の利用可能性】
【００６８】
本発明の実施形態は、ＢＩＯＳ更新データの書き込みに失敗したとしても、基本ＢＩＯＳイメージを使用してのブートが可能であるという特徴を有していることから、ＢＩＯＳアップデートの失敗によるシステムダウンの可能性も許容できない高信頼性を要求されるシステムに好適である。
【符号の説明】
【００６９】
１００  ＢＩＯＳアップデート装置
１０１  更新差分管理テーブル
１０２  ブート制御部
１０３  ＢＩＯＳ更新差分格納領域
１０４  基本ＢＩＯＳイメージ格納領域
１０５  更新データ展開部
１０６  基本データ転送部
１０７  作業メモリ領域
１０８  ＢＩＯＳ更新部
１０９  ＢＩＯＳ展開メモリ領域
【図１】
0005545432.tif 000002
【図２】
0005545432.tif 000003
【図３】
0005545432.tif 000004
【図４】
0005545432.tif 000005
【図５】
0005545432.tif 000006