(57)【要約】【課題】新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化する技術を提供すること。【解決手段】２つの領域を有するファームウェア情報保持部１１と、２つの領域に関する管理情報を保持する管理情報保持部１２と、ファームウェアの実行時に作業領域となるメモリ１３と、２つの領域の一方に保持されたファームウェアを実行中に、２つの領域の他方に更新用のファームウェアを保持し、更新用のファームウェアを用いて再起動を行い、メモリ１３に保持される情報に基づくレジュームイメージを、更新前のファームウェアが保持されていた領域に保持し、２つの領域の用途に関する管理情報を管理情報保持部１２に保持する更新制御部１４と、起動時に、管理情報に基づいて、２つの領域の一方に保持されたファームウェアを用いて起動し、２つの領域の他方に保持されたレジュームイメージをメモリ１３に展開する起動制御部１５と、を備える。【選択図】図１
2015055917.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有するファームウェア情報保持部と、
前記２つの領域に保持されている情報に関する管理情報を保持する管理情報保持部と、
前記ファームウェアの実行において作業領域として用いられるメモリと、
前記２つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記２つの領域の他方に更新用のファームウェアを表す情報を保持し、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に前記メモリに保持される情報に基づくレジュームイメージを、前記２つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記２つの領域のいずれに保持されているかを前記管理情報として前記管理情報保持部に保持させる更新制御部と、
起動時に、前記管理情報に基づいて、前記２つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記２つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御部と、
を備えたファームウェア実行装置。
【請求項２】
前記更新制御部は、前記更新用のファームウェアを表す情報を用いて再起動を行った後、前記更新用のファームウェアの動作の正常性を確認する処理を行ってから、前記更新用のファームウェアを表す情報を用いて再起動を再度行い、該再起動の際に前記レジュームイメージを前記領域に保持することを特徴とする請求項１に記載のファームウェア実行装置。
【請求項３】
前記更新制御部は、前記更新用のファームウェアを表す情報に前記レジュームイメージが含まれるとき、該レジュームイメージを前記領域に保持することを特徴とする請求項１または請求項２に記載のファームウェア実行装置。
【請求項４】
ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有するファームウェア情報保持部を用いて、
前記２つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記２つの領域の他方に更新用のファームウェアを表す情報を保持させ、
前記更新用のファームウェアを表す情報を用いて再起動を行い、
再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記２つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、
更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記２つの領域のいずれに保持されているかを管理情報として保持し、
起動時に、前記管理情報に基づいて、前記２つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記２つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する、ファームウェア実行方法。
【請求項５】
前記更新用のファームウェアを表す情報を用いて再起動を行った後、前記更新用のファームウェアの動作の正常性を確認する処理を行ってから、前記更新用のファームウェアを表す情報を用いて再起動を再度行い、該再起動の際に前記レジュームイメージを前記領域に保持することを特徴とする請求項４に記載のファームウェア実行方法。
【請求項６】
ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有するファームウェア情報保持部を用いて、
前記２つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記２つの領域の他方に更新用のファームウェアを表す情報を保持させ、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記２つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記２つの領域のいずれに保持されているかを管理情報として保持する更新制御ステップと、
起動時に、前記管理情報に基づいて、前記２つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記２つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【請求項７】
前記更新制御ステップにおいて、前記更新用のファームウェアを表す情報を用いて再起動を行った後、前記更新用のファームウェアの動作の正常性を確認する処理を行ってから、前記更新用のファームウェアを表す情報を用いて再起動を再度行い、該再起動の際に前記レジュームイメージを前記領域に保持することを特徴とする請求項６に記載のコンピュータ・プログラム。
【請求項８】
前記ファームウェアの一部に含まれることを特徴とする請求項６または請求項７に記載のコンピュータ・プログラム。
【請求項９】
請求項１から請求項３のいずれか１項に記載のファームウェア実行装置をベースボード管理装置として含むコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェアが組み込まれた電子機器において、ファームウェアの実行を制御する技術に関する。
【背景技術】
【０００２】
多くの電子機器において、ファームウェアの起動時間を高速化することが課題となっている。例えば、ＢＭＣ（Baseboard Management Controller）を内蔵するサーバ装置では、通電後、サーバ装置が起動できる状態になるまでには、ＢＭＣファームウェアの起動が完了する必要がある。したがって、ＢＭＣファームウェアの起動時間を短縮することが、通電後のサーバ起動時間を短縮するという性能向上へと繋がる。特に、このようなサーバ装置が、ＵＰＳ（uninterruptible power supply）により電源管理されているような場合、サーバ装置の起動中に電源供給が断たれた後の通電時には、サーバ起動時間がより短縮されることが望ましい。したがって、このようなサーバ装置では、ＢＭＣファームウェアの起動時間の短縮が望まれる。
【０００３】
このような課題に関連する技術が、特許文献１に記載されている。この関連技術では、プロセッサが、システムのレジュームイメージを作成して高速の不揮発性メモリにコピーしてからスリープ状態に入る。そして、プロセッサは、レジューム時に、高速の不揮発性メモリから読み込んだレジュームイメージを用いて起動する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−５０８３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された関連技術は、レジュームイメージを保持するための不揮発性メモリを追加で必要としており、コストを増加させるという課題がある。
【０００６】
本発明は、上述の課題を解決するためになされたもので、新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のファームウェア実行装置は、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有するファームウェア情報保持部と、前記２つの領域に保持されている情報に関する管理情報を保持する管理情報保持部と、前記ファームウェアの実行において作業領域として用いられるメモリと、前記２つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記２つの領域の他方に更新用のファームウェアを表す情報を保持し、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に前記メモリに保持される情報に基づくレジュームイメージを、前記２つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記２つの領域のいずれに保持されているかを前記管理情報として前記管理情報保持部に保持させる更新制御部と、起動時に、前記管理情報に基づいて、前記２つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記２つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御部と、を備える。
【０００８】
また、本発明のファームウェア実行方法は、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有するファームウェア情報保持部を用いて、前記２つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記２つの領域の他方に更新用のファームウェアを表す情報を保持させ、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記２つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記２つの領域のいずれに保持されているかを管理情報として保持し、起動時に、前記管理情報に基づいて、前記２つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記２つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する。
【０００９】
また、本発明のコンピュータ・プログラムは、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有するファームウェア情報保持部を用いて、前記２つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記２つの領域の他方に更新用のファームウェアを表す情報を保持させ、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記２つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記２つの領域のいずれに保持されているかを管理情報として保持する更新制御ステップと、起動時に、前記管理情報に基づいて、前記２つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記２つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御ステップと、をコンピュータ装置に実行させる。
【００１０】
また、本発明のコンピュータ装置は、上述のファームウェア実行装置をベースボード管理装置として含む。
【発明の効果】
【００１１】
本発明は、新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化する技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態としてのファームウェア実行装置の機能ブロック図である。
【図２】本発明の実施の形態としてのファームウェア実行装置のハードウェア構成図である。
【図３】本発明の実施の形態としてのファームウェア実行装置を含むコンピュータ装置の構成を示すブロック図である。
【図４】本発明の実施の形態としてのファームウェア実行装置のファームウェア更新処理を説明するフローチャートである。
【図５】本発明の実施の形態としてのファームウェア実行装置の起動処理を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１４】
本発明の実施の形態としてのファームウェア実行装置１の構成を図１に示す。
【００１５】
図１において、ファームウェア実行装置１は、ファームウェア情報保持部１１と、管理情報保持部１２と、メモリ１３と、更新制御部１４と、起動制御部１５とを含む。ここで、ファームウェア実行装置１は、図２に示すように、プロセッサ１００１と、揮発性メモリ１００２と、２つの領域（ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域）を有する不揮発性メモリ１００３と、不揮発性メモリ１００４とによって構成されていてもよい。この場合、ファームウェア情報保持部１１は、不揮発性メモリ１００３によって構成される。また、管理情報保持部１２は、不揮発性メモリ１００４によって構成される。また、メモリ１３は、揮発性メモリ１００２によって構成される。また、更新制御部１４および起動制御部１５は、不揮発性メモリ１００３および不揮発性メモリ１００４に記憶されたコンピュータ・プログラム（ファームウェア）および各種データを揮発性メモリ１００２に読み込んで実行するプロセッサ１００１によって構成される。なお、ファームウェア実行装置１およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００１６】
例えば、ファームウェア実行装置１は、図３に示すように、コンピュータ装置２に搭載されたベースボード管理装置（ＢＭＣ：Baseboard Management Controller）であってもよい。ここで、コンピュータ装置２は、プロセッサ２００１およびメモリ２００２を含む。また、プロセッサ２００１は、メモリ２００２に保持されたコンピュータ・プログラムおよびデータに基づいてコンピュータ装置２全体の動作を制御する。また、この場合、ファームウェア実行装置１としてのベースボード管理装置は、プロセッサ２００１とは独立して動作することにより、コンピュータ装置２のハードウェア要素およびシステム要素を管理する。
【００１７】
ファームウェア情報保持部１１は、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも２つの領域を有する。以降、２つの領域を、ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域とも記載する。なお、ファームウェア情報保持部１１は、上述のように、不揮発性のメモリによって構成され、電源供給が断たれても情報を保持可能である。
【００１８】
管理情報保持部１２は、ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域に保持されている情報に関する管理情報を保持する。管理情報の詳細については後述する。なお、管理情報保持部１２は、上述のように、不揮発性のメモリによって構成され、電源供給が断たれても情報を保持可能である。
【００１９】
メモリ１３は、ファームウェアの実行において作業領域として用いられる。
【００２０】
更新制御部１４は、ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域の一方に保持されたファームウェアを表す情報を実行中に、ファームウェアの更新要求があると、次のように動作するよう構成される。具体的には、更新制御部１４は、ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域のうち、現在実行中のファームウェアを保持していない他方に、更新用のファームウェアを表す情報を保持させる。なお、更新制御部１４は、図示しないネットワークインタフェース、入力装置、または、記録媒体読込装置等を介して、更新用のファームウェアを表す情報を取得してもよい。そして、更新制御部１４は、更新用のファームウェアを表す情報を用いて再起動を行う。また、更新制御部１４は、再起動の際にメモリ１３に展開される情報に基づくレジュームイメージを、ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域のうち更新前のファームウェアを表す情報が保持されていた領域に保持する。
【００２１】
このとき、更新制御部１４は、レジュームイメージの保持前に、更新用のファームウェアの動作の正常性を確認する処理を行ってもよい。この場合、更新制御部１４は、更新用のファームウェアを表す情報を用いて再起動を行った後、更新後のファームウェアの動作の確認処理を実行する。ここで、確認処理は、例えば、少なくとも再度ファームウェアの更新処理を実施するだけの動作に問題が無いことを検査する処理であってもよい。そして、検査結果により正常性が確認された場合に、更新制御部１４は、更新用のファームウェアを用いて再起動を再度行い、再起動の際に前述のレジュームイメージの保持処理を行ってもよい。
【００２２】
また、更新制御部１４は、再起動の際に、ファームウェアのカーネルが起動してメモリイメージがメモリ１３上に展開された時点で、メモリ１３に展開された情報に基づいてレジュームイメージを作成してもよい。そして、更新制御部１４は、作成したレジュームイメージの保持処理を行った後、ファームウェアのランタイム部分を起動して通常運用へと移行してもよい。
【００２３】
なお、ファームウェア実行装置１が、コンピュータ装置２に搭載されたベースボード管理装置である場合、更新制御部１４は、自装置が搭載されたコンピュータ装置２を起動したまま、自装置を再起動すればよい。
【００２４】
また、更新制御部１４は、管理情報を管理情報保持部１２に保持させる。管理情報は、更新後のファームウェアを表す情報およびレジュームイメージが、それぞれＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域のいずれに保持されているかを表す情報である。
【００２５】
起動制御部１５は、起動時に、管理情報に基づいて、ＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、他方に保持されているレジュームイメージをメモリ１３に展開する。これにより、起動制御部１５は、カーネルの起動にかかる時間を短縮できる。
【００２６】
ここで、ファームウェア実行装置１が、通電により起動される装置である場合、起動時とは、ファームウェア実行装置１に対する通電時であってもよい。例えば、ファームウェア実行装置１が、ＵＰＳに接続されたコンピュータ装置２に搭載されたベースボード管理装置である場合、起動時とは、コンピュータ装置２に対するＵＰＳからの電源供給が一旦断たれた後に再度電源供給が開始される時点であってもよい。また、例えば、ファームウェア実行装置１が、電源スイッチがオンに操作されることにより起動する装置である場合、起動時とは、電源スイッチがオンに操作された時点であってもよい。また、例えば、起動時とは、ファームウェア実行装置１の再起動時であってもよい。ただし、この場合、上述の更新制御部１４による再起動時を除く。
【００２７】
以上のように構成されたファームウェア実行装置１の動作について、図４および図５を参照して説明する。なお、ここでは、ファームウェア実行装置１は、既に、ＢＡＮＫ−Ａ領域に保持されているファームウェアを実行中であるものとする。
【００２８】
まず、ファームウェア実行装置１のファームウェア更新処理を図４に示す。
【００２９】
図４では、まず、更新制御部１４は、ファームウェアの更新要求に応じて、更新用のファームウェアを表す情報（ファームウェアイメージ）を、ＢＡＮＫ−Ｂ領域へ書き込む（ステップＳ１）。
【００３０】
次に、更新制御部１４は、自装置を再起動させて、ＢＡＮＫ−Ｂ領域に保持された新しいファームウェアを表す情報から起動する（ステップＳ２）。
【００３１】
このとき、更新制御部１４は、更新後のファームウェアの再起動完了後、動作の正常性の確認処理を実行してもよい。例えば、前述のように、更新制御部１４は、少なくとも再度ファームウェアの更新処理を実施するだけの動作に問題が無いことを確認すればよい。この場合、更新制御部１４は、正常性の確認後、再度、自装置を再起動させて、ＢＡＮＫ−Ｂ領域に保持された新しいファームウェアを表す情報から起動する。
【００３２】
次に、更新制御部１４は、メモリ１３に展開される情報に基づくレジュームイメージを、ＢＡＮＫ−Ａ領域に保持する（ステップＳ３）。例えば、前述のように、更新制御部１４は、ファームウェアのカーネルが起動してメモリイメージがメモリ１３上に展開された時点で、メモリ１３の内容に基づきレジュームイメージを作成し、ＢＡＮＫ−Ａ領域に保持させてもよい。
【００３３】
次に、更新制御部１４は、ファームウェアを表す情報がＢＡＮＫ−Ｂ領域に保持され、レジュームイメージがＢＡＮＫ−Ａ領域に保持されていることを、管理情報として管理情報保持部１２に記憶させる（ステップＳ４）。
【００３４】
その後、更新制御部１４は、ファームウェアのランタイム部分を起動して通常運用へと移る。
【００３５】
このようにして、ファームウェア情報保持部１１のＢＡＮＫ−Ａ領域には、レジュームイメージが保持され、ＢＡＮＫ−Ｂ領域には、ファームウェアを表す情報が保持された状態となる。
【００３６】
以上で、ファームウェア実行装置１の更新処理の説明を終了する。
【００３７】
ここで、ファームウェア実行装置１が一旦その動作を停止し、その後、起動することを想定する。例えば、ファームウェア実行装置１が、ＵＰＳに接続されたコンピュータ装置２に搭載されたベースボード管理装置である場合、ＵＰＳからの電源供給が一旦断たれ、再度、電源供給が開始されるとする。このとき、ファームウェア情報保持部１１のＢＡＮＫ−Ａ領域およびＢＡＮＫ−Ｂ領域の内容、および、管理情報保持部１２の内容は、電源供給が断たれている間も保持されている。この場合のファームウェア実行装置１の起動処理を、図５に示す。
【００３８】
図５では、まず、起動制御部１５は、管理情報保持部１２を参照することにより、ＢＡＮＫ−Ｂ領域に保持されたファームウェアを表す情報を用いて、自装置を起動する（ステップＳ１１）。
【００３９】
次に、起動制御部１５は、ＢＡＮＫ−Ａ領域に保持されたレジュームイメージを、メモリ１３上に展開する（ステップＳ１２）。
【００４０】
その後、起動制御部１５は、ファームウェアのランタイム部分を起動して通常運用へと移る。
【００４１】
以上で、ファームウェア実行装置１の起動処理の説明を終了する。
【００４２】
この後、さらに、ファームウェアの更新要求があった場合、ファームウェア実行装置１は、図４に示した更新処理の説明において、ＢＡＮＫ−Ａ領域をＢＡＮＫ−Ｂ領域と読み替え、ＢＡＮＫ−Ｂ領域をＢＡＮＫ−Ａ領域と読み替えることにより、同様に更新処理を実行する。その後、さらに、ファームウェア実行装置１の動作が一旦停止しその後起動する場合、ファームウェア実行装置１は、図５に示した起動処理の説明において、ＢＡＮＫ−Ａ領域をＢＡＮＫ−Ｂ領域と読み替え、ＢＡＮＫ−Ｂ領域をＢＡＮＫ−Ａ領域と読み替えることにより、同様に起動処理を実行する。
【００４３】
次に、本発明の実施の形態の効果について述べる。
【００４４】
本発明の実施の形態としてのファームウェア実行装置は、新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化することができる。
【００４５】
その理由は、不揮発性のファームウェア情報保持部に含まれる２つの領域の一方に保持されているファームウェアを実行中にファームウェアの更新要求があると、更新制御部が、２つの領域のうち、現在実行中のファームウェアを保持していない他方に更新用のファームウェアを表す情報を保持させ、更新後のファームウェアを表す情報を用いて自装置を再起動した後、メモリに展開される情報に基づくレジュームイメージを、２つの領域のうち、更新前のファームウェアを表す情報が保持されていた領域に保持させるとともに、ファームウェアを表す情報およびレジュームイメージのそれぞれが２つの領域のいずれに保持されているかを表す管理情報を、不揮発性の管理情報保持部に保持させるからである。そして、起動制御部が、起動時に、管理情報保持部に記憶された管理情報に基づいて、２つの領域の一方に保持されたファームウェアを表す情報を用いて起動し、他方に保持されたレジュームイメージをメモリ上に展開するからである。
【００４６】
これにより、ファームウェア実行装置は、起動時に、カーネルの起動にかかる時間を短縮することができ、起動時間を高速化できる。しかも、ファームウェア実行装置は、ファームウェア情報保持部において更新用のファームウェアを保持するために用意されている待機系領域を、レジューム用のイメージデータを保持する領域として併用するので、レジュームイメージを保持するための新たな不揮発性メモリ等のハードウェアを追加する必要がない。このように、本実施の形態は、ファームウェア更新用に冗長なファームウェア保持領域をすでに設けているハードウェア構成であれば、新たなハードウェアを追加することなく、レジュームイメージからの復帰機能をサポートすることができる。したがって、本実施の形態は、コストを増加させることなく、起動時間をより短縮することができる。
【００４７】
なお、本実施の形態は、ファームウェア情報保持部の待機系領域を、レジュームイメージの保持場所として併用することにより、平常時におけるファームウェアイメージ二重化をサポートしない。ここで、ファームウェアイメージ二重化とは、現行のファームウェアイメージに加えて、更新前のファームウェアイメージを保持している状態をいうものとする。しかしながら、ファームウェアイメージに問題が発生して元のイメージに戻さなければならなくなる状況は、ファームウェアの更新を行なった前後で発生するケースがほとんどである。そこで、本実施の形態は、ファームウェアイメージ二重化が必要とされる期間では、二重化を維持することができる。
【００４８】
その理由は、更新制御部が、更新後のファームウェアを用いて再起動後、更新後のファームウェアの動作の正常性を確認してから、レジュームイメージを、更新前のファームウェアを表す情報が保持されていた領域に保持させるからである。これにより、本実施の形態は、更新用のファームウェアを表す情報をファームウェア情報保持部の一方に保持させてから、更新後のファームウェアの動作の正常性を確認するまでの間は、更新前および更新後の双方のファームウェアを表す情報を保持することになる。このように、本実施の形態は、ファームウェア更新前後では、更新前および更新後の双方のファームウェアを表す情報を保持することができ、平常時においてファームウェアイメージの二重化をサポートしていなくても問題ない。
【００４９】
また、本実施の形態において、更新制御部は、ファームウェア情報保持部の２つの領域の１つに保持させるレジュームイメージを、カーネル起動後のメモリの内容に基づき作成する例について説明した。この他、更新後のファームウェアを表す情報に、既成のレジュームイメージが含まれているケースが考えられる。このような場合、更新制御部は、更新後のファームウェアを表す情報に含まれる既成のレジュームイメージを、更新前のファームウェアを表す情報が保持されていた領域に保持させてもよい。これにより、本実施の形態は、レジュームイメージを作成する処理を省略することができ、更新処理にかかる時間を短縮することができる。
【００５０】
また、上述した本発明の実施の形態において、ファームウェア実行装置が、ベースボード管理装置としてコンピュータ装置に搭載されている例を説明したが、これに限らず、本発明のファームウェア実行装置は、ファームウェアにより動作する各種の電子機器に適用可能である。
【００５１】
また、上述した本発明の実施の形態において、各フローチャートを参照して説明したファームウェア実行装置の動作を、本発明のコンピュータ・プログラムとして記憶媒体に格納しておき、係るコンピュータ・プログラムをプロセッサが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【００５２】
また、その場合、本発明のコンピュータ・プログラムは、本発明におけるファームウェアの一部として実現されていてもよい。
【００５３】
また、本発明は、上述した実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【００５４】
１    ファームウェア実行装置
２    コンピュータ装置
１１    ファームウェア情報保持部
１２    管理情報保持部
１３    メモリ
１４    更新制御部
１５    起動制御部
１００１    プロセッサ
１００２    揮発性メモリ
１００３、１００４    不揮発性メモリ
【図１】
2015055917.tif 000003
【図２】
2015055917.tif 000004
【図３】
2015055917.tif 000005
【図４】
2015055917.tif 000006
【図５】
2015055917.tif 000007