JP7002358B2 - 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム - Google Patents

情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム Download PDF

Info

Publication number
JP7002358B2
JP7002358B2 JP2018020275A JP2018020275A JP7002358B2 JP 7002358 B2 JP7002358 B2 JP 7002358B2 JP 2018020275 A JP2018020275 A JP 2018020275A JP 2018020275 A JP2018020275 A JP 2018020275A JP 7002358 B2 JP7002358 B2 JP 7002358B2
Authority
JP
Japan
Prior art keywords
bios
update
procedure
information processing
initialization
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
JP2018020275A
Other languages
English (en)
Other versions
JP2019139373A (ja
Inventor
巧 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018020275A priority Critical patent/JP7002358B2/ja
Priority to PCT/JP2019/004037 priority patent/WO2019156062A1/ja
Priority to US16/962,087 priority patent/US11314665B2/en
Publication of JP2019139373A publication Critical patent/JP2019139373A/ja
Application granted granted Critical
Publication of JP7002358B2 publication Critical patent/JP7002358B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/4401Bootstrapping
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system

Description

本発明は、BIOS(Basic Input/Output System)のコード及び設定データ(BIOSデータ)における不良に対処する技術に関する。
BIOSデータは、通常、システム内の不揮発性メモリ(BIOSフラッシュロム(以下、単に「BIOSフラッシュ」又は「BIOSロム」と称す)等)に記憶されている。BIOSフラッシュにおけるビットエラー等に起因してBIOSデータが壊れた場合、BIOSが正常に動作しないことがある。BIOSが正常に動作しない場合に備えて、システムがBIOSデータのバックアップを保持することがある。
BIOSデータの不良に対処する技術の一例が、特許文献1に開示されている。特許文献1のフラッシュメモリは、BIOS(データ)を記憶するフラッシュメモリ領域と、バックアップ用のBIOSを記憶する固定メモリ領域と、切換器とを含む。フラッシュメモリ領域に記憶されているBIOSは更新可能であるが、固定メモリ領域に記憶されているバックアップ用のBIOSは更新不能である。切換器は、フラッシュメモリ領域に記憶されたBIOSによるシステムの起動に失敗したとき、固定メモリ領域に記憶されているバックアップ用のBIOSを選択する。上記構成の結果、特許文献1のフラッシュメモリは、フラッシュメモリ領域に記憶されたBIOSが壊れていても、バックアップ用のBIOSを用いて、システムを正常に起動させる。
BIOSデータの不良に対処する技術の別の一例が、特許文献2に開示されている。特許文献2のフォールトトレラントサーバは、2台のサーバを含む。各サーバは、CPU(Central Processing Unit)を含むシステムと、BIOSデータを格納したBIOSロムと、BMC(Base Management Controller)と、BMCが使用するメモリと、BIOSロムとシステム又はBMCとの接続を切り替えるアクセス切替回路とを含む。第1のサーバのBMCは、第1のサーバのシステムの起動前に、BIOSロムが格納しているBIOSデータをメモリに読み出す。そして、第1のサーバのBMCは、第1のサーバのBIOSデータに不具合があった場合に、第2のサーバのBMCにBIOS復旧データを要請し、第2のサーバのBMCから送られたBIOS復旧データを受け取り、第1のサーバのBIOSロムに書き戻す。上記構成の結果、特許文献2のサーバシステムは、一方のサーバに記憶されているBIOSが壊れていても、他方のサーバに記憶されているBIOSを用いて、システムを正常に起動させる。
BIOSがバグ(不具合)を含んでいる場合や、新しいBIOSの機能が必要になった場合には、BIOSロムが記憶しているBIOSデータを更新する必要がある。システム外のツール(ROMライタ等)を用いてBIOSデータを更新する場合には、システム外のツールと更新作業の手間とが必要である。そこで、BIOS又はシステムによって、BIOSデータを更新できることが望ましい。
更新用のBIOSデータは、通常、メディア(CD(Compact Disc)、DVD(Digital Versatile Disc)等)やネットワークを介して入手される。入手したBIOSデータが壊れていた結果、BIOSロムに書き込まれたBIOSデータが壊れてしまうことがある。あるいは、入手したBIOSデータをBIOSロムに書き込んだ際に、BIOSロムに書き込まれたBIOSデータが壊れてしまうことがある。あるいは、BIOSがバグを含んでいることもある。ところが、BIOSロムに書き込まれたBIOSデータが不良である(BIOSデータが壊れている、又はBIOSがバグを含む等)と、BIOSやシステムがBIOSの更新に必要な機能(メディアやネットワークを介したBIOSデータの入手、入手したBIOSデータによるBIOSロムの更新等)を実行できない場合がある。このような場合には、システム外のツールを用いてBIOSデータを更新する必要がある。
特許文献1の技術では、固定メモリ領域に記憶されたBIOSデータの不良によって、BIOSがBIOSデータの更新に必要な機能を実行できない場合には、BIOS又はシステムはBIOSデータを更新することができない。又、特許文献2の技術では、2台のサーバのBIOSロムに格納されている両方のBIOSデータの不良によって、BIOSがBIOSデータの更新に必要な機能を実行できない場合には、BIOS又はシステムはBIOSデータを更新することができない。
BIOSロムに記憶されているBIOSデータが不良であってもBIOSを更新できる技術の一例が、特許文献3に開示されている。特許文献3の情報処理装置では、サービスプロセッサは、サーバモジュールのリカバリ用のファームウェア(BIOS)のFD(Floppy(登録商標)Disk)イメージを保持する。当該FDイメージは、サービスプロセッサの機能に影響を与えないので、サービスプロセッサにおいて自由に更新可能である。サーバモジュールは、USB(Universal Serial Bus)ストレージとして認識されるメモリを有する、データの受信可能な装置(USBストレージ)を含む。サービスプロセッサは、サーバモジュールのBIOSデータの更新に失敗した場合に、サーバモジュールのUSBストレージに当該FDイメージを転送する。そして、サーバモジュールは、USBストレージが保持している当該FDイメージを用いて、システムを起動(仮想的にFDブート)する。上記構成の結果、特許文献3の情報処理装置は、サーバモジュールのBIOSデータの更新に失敗した場合であっても、正しいFDイメージを用意すれば、サーバモジュールのBIOSデータを更新できる。
実用新案登録第3066063号公報 特開2011-253408号公報 特開2008-176708号公報
しかしながら、特許文献3の情報処理装置は、USBストレージからBIOSイメージを取得するので、USBストレージの初期化後でないとBIOSを更新できない。電源投入によってCPUがリセットされると、BIOSは、通常、POST(Power on Self Test)を実行した後に、ブートプログラムローダーを呼び出すことによってシステムを起動する。POSTでは、CPUの初期化、チップセットの初期化、メインメモリの初期化、ビデオ機能の初期化、キーボード若しくはマウスの初期化、HDD(Hard Disk Drive)若しくはFDD(Floppy Disk Drive)の初期化、HDDの診断、メインメモリの診断、又は拡張カードの初期化等を含む一連の処理が所定の順序で行われる。つまり、特許文献3の情報処理装置では、サーバモジュールのBIOSデータを更新するためには、実行される順序が少なくともUSBストレージの初期化に到るまでの処理に関するBIOSデータが正常である必要があった。つまり、特許文献3の情報処理装置には、実行される順序が少なくともUSBストレージの初期化に到るまでの処理に関するBIOSデータが正常でなければ、サーバモジュールのBIOSデータを更新できないという問題があった。
本発明は、上記の課題に鑑みてなされたもので、BIOSデータが不良である場合であってもBIOSデータを更新できる可能性を向上させることを主たる目的とする。
本発明の一態様において、情報処理システムは、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリ、共有メモリにBIOSデータである所望の代替BIOSデータの書き込みが可能なBIOSデータ書き込み装置、及びBIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、リセットされた直後に、BIOSフラッシュによって記憶されているBIOSデータに含まれるBIOSコードを実行可能なプロセッサと、BIOSフラッシュに記憶された現用BIOSデータを代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段とを含む情報処理装置であって、BIOSコードは、プロセッサに、更新設定保持手段から取得した更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、判定手順を実行する更新判定手順と、更新判定手順による判定結果が更新可である場合に、BIOSフラッシュが記憶している現用BIOSデータを、共有メモリから読み出した代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、更新判定手順による判定結果が更新可である場合に、更新手順を実行するBIOS更新手順と、更新判定手順による判定結果が更新不可である場合に、情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順とを実行させる情報処理装置を備える。
本発明の一態様において、情報処理装置は、BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、リセットされた直後に、BIOSフラッシュによって記憶されているBIOSデータに含まれるBIOSコードを実行可能なプロセッサと、BIOSフラッシュに記憶された現用BIOSデータを代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段とを備えた情報処理装置であって、BIOSコードは、更新設定保持手段から取得した更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、判定手順を実行する更新判定手順と、更新判定手順による判定結果が更新可である場合に、BIOSフラッシュが記憶している現用BIOSデータを、共有メモリから読み出した代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、更新判定手順による判定結果が更新可である場合に、更新手順を実行するBIOS更新手順と、更新判定手順による判定結果が更新不可である場合に、情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順とを含む。
本発明の一態様において、情報処理装置のBIOS更新方法は、BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、リセットされた直後に、BIOSフラッシュによって記憶されているBIOSデータに含まれるBIOSコードを実行可能なプロセッサと、BIOSフラッシュに記憶された現用BIOSデータを代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段とを備えた情報処理装置のBIOS更新方法であって、BIOSコードは、更新設定保持手段から取得した更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、判定手順を実行する更新判定手順と、更新判定手順による判定結果が更新可である場合に、BIOSフラッシュが記憶している現用BIOSデータを、共有メモリから読み出した代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、更新判定手順による判定結果が更新可である場合に、更新手順を実行するBIOS更新手順と、更新判定手順による判定結果が更新不可である場合に、情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順とを実行する。
本発明の一態様において、情報処理装置のBIOS更新プログラムは、BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、リセットされた直後に、BIOSフラッシュによって記憶されているBIOSデータに含まれるBIOSコードを実行可能なプロセッサと、BIOSフラッシュに記憶された現用BIOSデータを代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段とを備えた情報処理装置が備えるコンピュータに、BIOSコードは、更新設定保持手段から取得した更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、判定手順を実行する更新判定手順と、更新判定手順による判定結果が更新可である場合に、BIOSフラッシュが記憶している現用BIOSデータを、共有メモリから読み出した代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、更新判定手順による判定結果が更新可である場合に、更新手順を実行するBIOS更新手順と、更新判定手順による判定結果が更新不可である場合に、情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順とを実行させる。
本発明によれば、BIOSデータが不良である場合であってもBIOSデータを更新できる可能性を向上できるという効果がある。
本発明の第1の実施形態における情報処理装置の構成の一例を示すブロック図である。 本発明の第1の実施形態における情報処理装置の動作を示すフローチャートである。である。 本発明の第2の実施形態における情報処理装置の動作を示すフローチャートである。 本発明の第3の実施形態における情報処理装置の構成の一例を示すブロック図である。 本発明の第3の実施形態における情報処理装置の動作を示すフローチャート(その1)である。 本発明の第3の実施形態における情報処理装置の動作を示すフローチャート(その2)である。 本発明の第3の実施形態における情報処理装置の動作を示すフローチャート(その3)である。 本発明の各実施形態における情報処理装置を実現可能なハードウェア構成の一例を示すブロック図である。
以下、本発明の実施形態について、図面を参照して詳細に説明する。尚、全ての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
(第1の実施形態)
本発明の各実施形態の基本である、本発明の第1の実施形態について説明する。
本実施形態における構成について説明する。
図1は、本発明の第1の実施形態における情報処理装置の構成の一例を示すブロック図である。
本実施形態における情報処理システム500は、共有メモリ410と、BIOSデータ書き込み装置400と、情報処理装置100とを含む。
共有メモリ410は、メモリマップトIO(MMIO:Memory Mapped I/O)を用いたデータの書き込み及び読み出しが可能なメモリである。
BIOSデータ書き込み装置400は、共有メモリ410にBIOSデータである所望の代替BIOSデータ300の書き込みが可能な装置である。BIOSデータ書き込み装置400は、情報処理装置100が起動されているか否かによらず動作可能である。
情報処理装置100は、BIOSフラッシュ120と、プロセッサ110と、更新設定保持手段130とを含む。
BIOSフラッシュ120は、BIOSデータである現用BIOSデータ200を不揮発的に記憶する。
プロセッサ110は、リセットされた直後に、BIOSフラッシュ120によって記憶されているBIOSデータに含まれるBIOSコード210を実行可能なプロセッサである。
更新設定保持手段130は、BIOSフラッシュ120に記憶された現用BIOSデータ200を代替BIOSデータ300へ更新することの可不可を示す更新設定を保持する。
BIOSコード210は、プロセッサ110に実行させる、更新判定手順220と、更新時初期化手順230と、BIOS更新手順240と、非更新時初期化手順250と、ブートローダー呼出手順260とを含む。
更新判定手順220は、更新設定保持手段130から取得した更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、当該判定手順を実行する。通常、上述した判定手順の実行に必要な初期化は、プロセッサ110の初期化と、更新設定保持手段130が保持する更新設定を取得するために必要なPCH(Platform Controller Hub)(不図示)の初期化とを含む。
更新時初期化手順230は、更新判定手順220による判定結果が更新可である場合に、BIOS更新手順240の実行に必要な初期化を行う。通常、上述したBIOS更新手順240の実行に必要な初期化は、共有メモリから代替BIOSデータ300を読み出すために必要な、共有メモリの初期化を含む。
BIOS更新手順240は、更新判定手順220による判定結果が更新可である場合に、BIOSフラッシュ120が記憶している現用BIOSデータ200を、共有メモリ410から読み出した代替BIOSデータ300に更新する。
非更新時初期化手順250は、更新判定手順220による判定結果が更新不可である場合に、情報処理装置100の動作に必要な初期化を実行する。通常、上述した情報処理装置100の動作に必要な初期化は、メインメモリ(不図示)の初期化、ビデオカード、キーボード、マウス、HDD、又は拡張カード等の周辺機器(不図示)の初期化を含む。これらの初期化は、メインメモリやHDDの診断等を含んでもよい。
ブートローダー呼出手順260は、更新判定手順220による判定結果が更新不可である場合に、ブートローダーを呼出す。
本実施形態における動作について説明する。
図2は、本発明の第1の実施形態における情報処理装置の動作を示すフローチャートである。尚、図2に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
まず、情報処理装置100は、更新設定保持手段130から取得した更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行う(ステップS110)。
次に、情報処理装置100は、更新設定保持手段130から更新設定を取得する(ステップS120)。
続いて、情報処理装置100は、取得した更新設定が更新可であるか否かを判定する(ステップS130)。
判定結果が更新可である場合に(ステップS130におけるYes)、情報処理装置100は、BIOS更新の実行に必要な初期化を行う(ステップS140)。
続いて、情報処理装置100は、共有メモリ410から代替BIOSデータ300を読み出す(ステップS150)。
続いて、情報処理装置100は、BIOSフラッシュ120が記憶している現用BIOSデータ200を、共有メモリ410から読み出した代替BIOSデータ300に更新し(ステップS160)、処理を終了する。
一方、判定結果が更新不可である場合に(ステップS130におけるNo)、情報処理装置100は、情報処理装置100の動作に必要な初期化を実行する(ステップS210)。
続いて、情報処理装置100は、ブートローダーを呼出し(ステップS240)、処理を終了する。
以上説明したように、本実施形態における情報処理システム500では、プロセッサ110によって実行される現用BIOSデータ200に含まれるBIOSコード210は、現用BIOSデータ200を更新する前に必要な手順(更新判定手順220及び更新時初期化手順230)を実行した後、他の処理を挟まず直ちに現用BIOSデータ200を更新する手順(BIOS更新手順240)を実行する。ここで、BIOSコード210において、現用BIOSデータ200の更新時に実行されないコードが不良であっても、現用BIOSデータ200の更新時に実行されるコード(更新判定手順220、更新時初期化手順230、及びBIOS更新手順240)が不良でなければ、現用BIOSデータ200を正常に更新できる。つまり、BIOSコード210は、不良を含む現用BIOSデータ200の更新完了前に、更新判定手順220と更新時初期化手順230とBIOS更新手順240と以外のコードを実行する場合に比べて、現用BIOSデータ200を正常に更新できる可能性を高める。従って、本実施形態における情報処理装置100には、BIOSデータが不良である場合であってもBIOSデータを更新できる可能性を向上できるという効果がある。
尚、更新時初期化手順230は、BIOS更新手順240に必要な初期化を行う際に(ステップS140)、BIOS更新手順240の実行のために必要最小限な初期化を行うことが望ましい。例えば、情報処理装置100がランダムアクセスメモリを更に含む場合に、BIOS更新手順240の実行のために必要最小限な初期化は、ランダムアクセスメモリの初期化を含まないことが望ましい。この場合には、現用BIOSデータ200を正常に更新できる可能性が極大化されるという効果がある。
又、代替BIOSデータ300の長さが共有メモリ410の記憶容量より大きい場合には、BIOSコード210は、BIOS更新手順240において、共有メモリ410から代替BIOSデータ300の部分を読み出し、読み出した当該部分をBIOSフラッシュ120へ直接書き込むことを繰り返してもよい。この場合には、共有メモリ410のコストが削減されるという効果がある。
又、情報処理装置100は、共有メモリ410を含んでもよい。この場合には、情報処理システム500の構成が単純化されるという効果がある。
又、BIOSデータ書き込み装置400は、共有メモリ410を含んでもよい。この場合には、情報処理システム500の構成が単純化されるという効果がある。
(第2の実施形態)
次に、本発明の第1の実施形態を基本とする、本発明の第2の実施形態について説明する。本実施形態におけるBIOSコードは、本発明の第1の実施形態におけるBIOSコードと動作が異なる。
図1を再び参照して、本実施形態における構成について説明する。
本実施形態における構成は、本発明の第1の実施形態における構成と同じである。但し、本実施形態における情報処理システム501のBIOSコード211は、本発明の第1の実施形態における情報処理システム500のBIOSコード210と動作が異なる。
BIOSコード211は、BIOS更新手順240の代わりにBIOS更新手順241を含む。
又、BIOSコード211は、非更新時初期化手順250の代わりに非更新時初期化手順251を含む。
本実施形態における動作について説明する。
図3は、本発明の第2の実施形態における情報処理装置の動作を示すフローチャートである。尚、図3に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
BIOS更新手順241は、BIOS更新手順240を実行した(ステップS150、S160)後に、更新設定保持手段130が保持する更新設定を更新不可に変更する(ステップS171)。そして、BIOS更新手順241は、更新設定が変更された(ステップS171又はS231(後述))後に、プロセッサ110をリセットする(ステップS181)。
又、非更新時初期化手順251は、非更新時初期化手順250を実行する(ステップS210)。そして、非更新時初期化手順251は、非更新時初期化手順250(ステップS210)が失敗した場合に(ステップS220におけるYes)、更新設定保持手段130が保持する更新設定を更新可に変更し(ステップS231)、ステップS181へ処理を進める。一方、非更新時初期化手順251は、非更新時初期化手順250(ステップS210)が失敗しなかった場合に(ステップS220におけるNo)、ステップS240へ処理を進める。
本実施形態における他の動作は、本発明の第1の実施形態における動作と同じである。
以上説明したように、本実施形態における情報処理システム501のBIOSコード211が、本発明の第1の実施形態における情報処理システム500のBIOSコード210と動作が異なる点を除いて、本実施形態における情報処理システム501は本発明の第1の実施形態における情報処理システム500と同じである。そして、BIOSコード211は、BIOS更新手順240の代わりにBIOS更新手順241を含むが、BIOS更新手順241はBIOS更新手順240を含む。又、BIOSコード211は、非更新時初期化手順250の代わりに非更新時初期化手順251を含むが、非更新時初期化手順251は非更新時初期化手順250を含む。従って、本実施形態における情報処理システム501の効果は、本発明の第1の実施形態における情報処理システム500の効果を含む。
又、本実施形態における情報処理システム501では、現用BIOSデータ200の更新後に、更新設定が更新不可に変更される(ステップS171)。従って、本実施形態における情報処理システム501には、更新設定を手作業で変更する必要がないという効果がある。
又、本実施形態における情報処理システム501では、現用BIOSデータ200が更新され、更新設定が更新不可に変更された後に、プロセッサがリセットされる(ステップS181)。従って、本実施形態における情報処理システム501には、情報処理装置100を手作業で再起動する必要がないという効果がある。
又、本実施形態における情報処理システム501では、通常起動における初期化(ステップS210)が失敗した際に、更新設定が更新可に変更された後に(ステップS231)、プロセッサがリセットされる(ステップS181)。従って、本実施形態における情報処理システム501には、BIOSにおける初期化の失敗時に、更新設定を手作業で変更した後に情報処理装置100を手作業で再起動する必要がないという効果がある。
(第3の実施形態)
次に、本発明の第2の実施形態を基本とする、本発明の第3の実施形態について説明する。本実施形態では、BIOSデータ書き込み装置は、IPMI(Intelligent Platform Management Interface)に準拠したBMC(Base Management Controller)である。又、本実施形態では情報処理装置(サーバ)の構成及び動作についてより詳細に説明する。
本実施形態における構成について説明する。
図4は、本発明の第3の実施形態におけるサーバシステムの構成の一例を示すブロック図である。
本実施形態におけるサーバシステム805は、サーバ505と、管理端末605とを含む。サーバ505と管理端末605とは、ネットワーク705を介して接続されている。
管理端末605は、サーバ505の保守又は管理等を行うための通信端末である。管理端末605は、BMC405を操作する。管理端末605は、ネットワークインターフェース615を含む。
ネットワークインターフェース615は、BMC405と通信を行う。
サーバ505は、情報処理装置105と、BMC405とを含む。サーバ505は2台以上の情報処理装置105又は2台以上のBMC405を含んでもよい。複数台の情報処理装置105は、1台のBMC405に接続されてもよい。
情報処理装置105は、CPU(Central Processing Unit)115と、PCH145と、メインメモリ155と、BIOSフラッシュ125と、リカバリーアップデートジャンパ135とを含む。情報処理装置105は、例えば、SATA(Serial Advanced Technology Attachment)インターフェースを有するDVDドライブ185、又はUSBインターフェースを有するDVDドライブ195等を更に含んでもよい。
CPU115は、情報処理装置105の全体を制御する。CPU115は、PCH145と、メインメモリ155とに接続されている。
PCH145は、データパスを管理し、CPU115の機能を補助する。情報処理装置105がSATAインターフェース又はUSBインターフェースを有する装置を含む場合、PCH145は、SATAインターフェースに対応するための手段(SATAインターフェース165)、又はUSBインターフェースに対応するための手段(USBインターフェース175)を含む。
メインメモリ155は、例えば、RAM(Random Access Memory)である。
BIOSフラッシュ125は、現用BIOSデータ205を不揮発的に記憶しているフラッシュROM(Read Only Memory)である。現用BIOSデータ205は、情報処理装置105の起動時にCPU115によって使用されるBIOSデータである。BIOSデータは、CPU115によって実行可能なBIOSコードと、BIOSコードの実行に必要な設定データとを含む。
リカバリーアップデートジャンパ135は、リカバリーアップデートを実行するか否かに関する設定を保持しているスイッチである。リカバリーアップデートとは、BIOSフラッシュ125によって記憶されているBIOSデータを、所望のBIOSデータに書き換えることとする。リカバリーアップデートジャンパ135は、IPMIのOEM(Original Equipment Manufacturer)コマンドによって制御可能であることとする。
CPU115は、BIOSフラッシュ125によって記憶されている現用BIOSデータ205に含まれるBIOSコード215を実行する。BIOSコード215は、必要に応じて、BMC405に含まれる共有メモリ415(後述)、CPU115、PCH145、メインメモリ155、又はSATAインターフェース165若しくはUSBインターフェース175等を介して接続されているハードウェア等の初期化を行う。初期化は、POST(Power on Self Test)であってもよい。BIOSコード215は、共有メモリ415にアクセス可能であることとする。
情報処理装置105にDC(Direct Current)が給電されると、CPU115によってBIOSコード215が起動される。以下の説明では、BIOSコード215は、BMC405に含まれる共有メモリ415、CPU115、PCH145、メインメモリ155、SATAインターフェース165、USBインターフェース175を、この順で初期化することとする。
BMC405は、情報処理装置105の監視、制御、又は管理等を行う。BMC405は、情報処理装置105が起動されているか否かによらず動作可能である。BMC405は、PCH145を介して情報処理装置105に接続されている。BMC405は、リカバリーアップデートジャンパ135を操作可能である。BMC405は、BMCファームウェア425と、ネットワークインターフェース435と、共有メモリ415と、SPIフラッシュ445とを含む。BMC405は、ネットワーク705を介して管理端末605によって操作可能である。BMC405は、ネットワーク705を介したIPMIに準拠した通信を利用して、管理端末605からのサーバ505の管理を可能にする。
SPIフラッシュ445は、代替BIOSデータ305を保持する。SPIフラッシュ445は、SPI(Serial Peripheral Interface)を有する。
BMCファームウェア425は、BMC405に含まれる図示されないプロセッサによって実行される。BMCファームウェア425は、リカバリーアップデートが必要な場合に、SPIフラッシュ445によって保持されている代替BIOSデータ305の全部又は一部を、共有メモリ415へ書き込む。BMCファームウェア425は、IPMIに準拠してBIOSコード215と通信を行う。但し、IPMIはOEMコマンドによって拡張可能である。又、BMCファームウェア425は、IPMI以外の規格に準拠してBIOSコード215と通信を行ってもよい。
共有メモリ415は、MMIO(Memory Mapped Input/Output)を用いたアクセスが可能なメモリである。共有メモリ415は、BMCファームウェア425及びBIOSコード215によってアクセス可能である。
ネットワークインターフェース435は、管理端末605と通信を行う。
CPU115により実行されたBIOSコード215は、共有メモリ415に書き込まれた代替BIOSデータ305に、MMIO(Memory Mapped Input/Output)を使用してアクセスする。
本実施形態における他の構成は、第2の実施形態における構成と同じである。
本実施形態における動作について説明する。
図5乃至7は、本発明の第3の実施形態にける情報処理装置及びBMCの動作を示すフローチャートである。図5乃至7において、左側は情報処理装置105の動作を示し、右側はBMC405の動作を示す。但し、図5乃至7では、動作の主体を特に明示しない限り、情報処理装置105の動作の主体はCPU115によって実行されている現用BIOSデータ205に含まれるBIOSコード215である。又、図5乃至7では、動作の主体を特に明示しない限り、BMC405の動作の主体はBMC405における不図示のプロセッサによって実行されているBMCファームウェア425である。又、図5乃至7は、一連の動作を各図に分割して示している。尚、図5乃至7に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
BMC405の不図示のプロセッサによって実行されているBMCファームウェア425(以下、単に「BMCファームウェア425」と称す)は、リカバリーアップデートジャンパ135が設定(有効化)された状態で情報処理装置105を起動することを、IPMIのOEMコマンドで指示する(ステップS510)。
情報処理装置105は、リカバリーアップデートジャンパ135の設定指示を取得し、リカバリーアップデートジャンパ135を設定する。そして、情報処理装置105は、DCを給電される(ステップS310)。
情報処理装置105のCPU115は、BIOSコード215を起動する(ステップS320)。
情報処理装置105のCPU115によって実行されている、現用BIOSデータ205のBIOSコード215(以下、単に「BIOSコード215」と称す)は、共有メモリ415を初期化する(ステップS330)。
BIOSコード215は、CPU及びPCHを初期化する(ステップS340)。つまり、BIOSコード215は、本ステップの終了時点において、リカバリーアップデートの実行のために必要最小限な初期化を終了する。
BIOSコード215は、リカバリーアップデートジャンパ135の状態を確認する(ステップS350)。
リカバリーアップデートジャンパ135が設定(有効化)されているので、BIOSコード215は、以降、リカバリーアップデートを行う。ここで、本説明では、共有メモリ415のサイズは512KBであり、代替BIOSデータ305のサイズは8MBであることとする。
BMCファームウェア425は、SPIフラッシュ445に格納されている代替BIOSデータ305のデータ長(8MB)を確認して、情報処理装置105へ通知する(ステップS520)。
BIOSコード215は、書き込み指示をIPMIのOEMコマンドによってBMC405へ指示する(ステップS360)。ここで、書き込み指示は、代替BIOSデータ305の指定領域を共有メモリ415に書き込む指示である。書き込み指示を表すIPMIのOEMコマンドでは、共有メモリ415へ書き込むべき、代替BIOSデータにおける開始位置(オフセット)と長さ(サイズ)とを指定可能であることとする。
BMCファームウェア425は、情報処理装置105から書き込み指示を取得する(ステップS530)。
BMCファームウェア425は、代替BIOSデータ305における、当該書き込み指示においてオフセットとサイズとによって指定された部分(最大512KB)を、共有メモリ415に書き込む(ステップS540)。
BIOSコード215は、共有メモリ415にMMIOを用いてアクセスする(ステップS370)。
BIOSコード215は、共有メモリ415に書き込まれた代替BIOSデータ305の一部を読み出す(ステップS380)。この時点では、メインメモリ155は初期化前であるので、メインメモリ155は使用できない。そのため、BIOSコード215は、共有メモリ415から読み出したデータをBIOSフラッシュ125に直接書き込む(ステップS390)。
BIOSコード215は、代替BIOSデータ305の全体がフラッシュROM125に書き込まれたか否かを判定する(ステップS400)。代替BIOSデータ305の全体がフラッシュROM125に書き込まれたならば(ステップS400におけるYes)、BIOSコード215は、ステップS420へ処理を進める。代替BIOSデータ305の全体がフラッシュROM125に書き込まれていないならば(ステップS400におけるNo)、BIOSコード215は、ステップS410へ処理を進める。
BIOSコード215は、フラッシュROM125に書き込んでいない代替BIOSデータ305の部分に関する書き込み指示をIPMIのOEMコマンドによってBMCファームウェア425へ指示し、BMCファームウェア425は、ステップS530へ処理を進める(ステップS410)。つまり、BIOSコード215は、ステップS410、S370、S380、S390、S400の処理を、代替BIOSデータ305の全体がフラッシュROM125に書き込まれるまで繰り返し実行する。
BIOSコード215は、リカバリーアップデートを終了することを、IPMIのOEMコマンドでBMCファームウェア425に指示する(ステップS420)。
BMC405は、リカバリーアップデートを終了する指示を取得し、リカバリーアップデートジャンパ135が解除(リセット)された状態で情報処理装置105を再起動することを、IPMIのOEMコマンドで指示する(ステップS550)。
情報処理装置105は、リカバリーアップデートジャンパ135が解除された状態で再起動される(ステップS430)。
本実施形態における他の動作は、第2の実施形態における動作と同じである。
以上説明したように、本実施形態におけるサーバシステム805では、CPU115によって実行される現用BIOSデータ205に含まれるBIOSコード215は、現用BIOSデータ205を更新する前に必要な手順(ステップS330及びS340)を実行した後、直ちに現用BIOSデータ205を更新する手順(ステップS350乃至S410)を実行する。ここで、BIOSコード215において、現用BIOSデータ205の更新時に実行されないコードが不良であっても、現用BIOSデータ205の更新時に実行されるコード(ステップS330乃至S410)が不良でなければ、現用BIOSデータ205を正常に更新できる。つまり、BIOSコード215は、不良を含む現用BIOSデータ205の更新完了前に、ステップS330乃至S410以外のコードを実行する場合に比べて、現用BIOSデータ205を正常に更新できる可能性を高める。従って、本実施形態におけるサーバ505には、BIOSデータが不良である場合であってもBIOSデータを更新できる可能性を向上できるという効果がある。
尚、本実施形態におけるサーバ505は、不良なBIOSのリカバリーアップデートにおける耐故障性を向上する目的だけでなく、正常なBIOSのバージョンアップにおけるバージョンアップ作業の中断に対する耐故障性を向上する目的にも有用である。
図8は、本発明の各実施形態における、情報処理装置、BIOSデータ書き込み装置、及びBMCを実現可能なハードウェア構成の一例を示すブロック図である。
情報処理装置907、BIOSデータ書き込み装置907、又はBMC907は、記憶装置902と、CPU(Central Processing Unit)903と、キーボード904と、モニタ905と、I/O(Input/Output)装置908とを備え、これらが内部バス906によって接続されている。記憶装置902は、CPU903の動作プログラムを格納する。ここで、動作プログラムとは、情報処理装置100のBIOSコード210、211、OS(Operating System)(不図示)、若しくはアプリケーション(不図示)、情報処理装置105のBIOSコード215、OS(不図示)、若しくはアプリケーション(不図示)、BIOSデータ書き込み装置400のファームウェア(不図示)、OS(不図示)、若しくはアプリケーション(不図示)、又はBMC405のBMCファームウェア425等である。CPU903は、情報処理装置907、BIOSデータ書き込み装置907、又はBMC907の全体を制御し、記憶装置902に格納された動作プログラムを実行し、I/O装置908によって動作プログラムの実行やデータの送受信を行なう。尚、上記の情報処理装置907、BIOSデータ書き込み装置907、又はBMC907の内部構成は一例である。情報処理装置907、BIOSデータ書き込み装置907、又はBMC907は、必要に応じて、キーボード904、モニタ905を接続する装置構成であってもよい。
上述した本発明の各実施形態における情報処理装置907、BIOSデータ書き込み装置907、又はBMC907は、専用の装置によって実現してもよいが、I/O装置908が外部との通信を実行するハードウェアの動作以外は、コンピュータ(情報処理装置)によっても実現可能である。本発明の各実施形態において、I/O装置908は、例えば、共有メモリ410、共有メモリ415、情報処理装置100、105、BIOSデータ書き込み装置400、BMC405、又は管理端末605等との入出力部である。この場合、係るコンピュータは、記憶装置902に格納されたソフトウェア・プログラムをCPU903に読み出し、読み出したソフトウェア・プログラムをCPU903において実行する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図1、4に示した、情報処理装置100、105、BIOSデータ書き込み装置400、又はBMC405の各部の機能を実現可能な記述がなされていればよい。但し、これらの各部には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム(コンピュータ・プログラム)は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリ、
前記共有メモリにBIOSデータである所望の代替BIOSデータの書き込みが可能なBIOSデータ書き込み装置、及び
前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
を含む情報処理装置であって、
前記BIOSコードは、前記プロセッサに、
前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
を実行させる情報処理装置
を備えた情報処理システム。
(付記2)
前記BIOSデータ書き込み装置は、前記情報処理装置が起動されているか否かによらず動作可能である
付記1に記載の情報処理システム。
(付記3)
前記更新時初期化手順は、前記更新手順に必要な初期化を行う際に、前記更新手順の実行のために必要最小限な初期化を行う
付記1又は2に記載の情報処理システム。
(付記4)
前記情報処理装置は、ランダムアクセスメモリを更に含み、
前記更新手順の実行のために必要最小限な初期化は、前記ランダムアクセスメモリの初期化を含まない
付記3に記載の情報処理システム。
(付記5)
前記代替BIOSデータの長さは、前記共有メモリの記憶容量より大きく、
前記BIOSコードは、前記BIOS更新手順において、前記共有メモリから前記代替BIOSデータの部分を読み出し、読み出した該部分を前記BIOSフラッシュへ直接書き込むことを繰り返す
付記1乃至4の何れか1項に記載の情報処理システム。
(付記6)
前記BIOS更新手順は、前記更新手順が実行された後に、前記更新設定保持手段が保持する前記更新設定を更新不可に変更する
付記1乃至5の何れか1項に記載の情報処理システム。
(付記7)
前記非更新時初期化手順は、前記情報処理装置の動作に必要な初期化の実行が失敗した場合に、前記更新設定保持手段が保持する前記更新設定を更新可に変更する
付記1乃至6の何れか1項に記載の情報処理システム。
(付記8)
前記BIOS更新手順は、前記更新設定が変更された後に、前記プロセッサをリセットする
付記1乃至7の何れか1項に記載の情報処理システム。
(付記9)
前記情報処理装置は、前記共有メモリを含む
付記1乃至8の何れか1項に記載の情報処理システム。
(付記10)
BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、
前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
を備えた情報処理装置であって、
前記BIOSコードは、
前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
を含む情報処理装置。
(付記11)
BIOSデータである所望の代替BIOSデータが書き込まれており、
メモリマップトIOを用いたデータの書き込み及び読み出しが可能な
共有メモリに接続されており、
前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
を備えた情報処理装置のBIOS更新方法であって、
前記BIOSコードは、
前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
を実行する、情報処理装置のBIOS更新方法。
(付記12)
BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、
前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
を備えた情報処理装置が備えるコンピュータに、
前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
を実行させる、情報処理装置のBIOS更新プログラム。
本発明は、パーソナルコンピュータ、サーバ、及びプロセッサを内蔵する装置全般において、BIOSの不良やBIOS更新作業の中断に対する耐故障性を向上する用途において利用できる。
100、105 情報処理装置
110 プロセッサ
115 CPU
120、125 BIOSフラッシュ
130 更新設定保持手段
135 リカバリーアップデートジャンパ
145 PCH
155 メインメモリ
165 SATAインターフェース
175 USBインターフェース
185、195 DVDドライブ
200、205 現用BIOSデータ
210、211、215 BIOSコード
220 更新判定手順
230 更新時初期化手順
240、241 BIOS更新手順
250、251 非更新時初期化手順
260 ブートローダー呼出手順
300、305 代替BIOSデータ
400 BIOSデータ書き込み装置
405 BMC
410、415 共有メモリ
425 BMCファームウェア
435 ネットワークインターフェース
445 SPIフラッシュ
505 サーバ
605 管理端末
615 ネットワークインターフェース
705 ネットワーク
805 サーバシステム
902 記憶装置
903 CPU
904 キーボード
905 モニタ
906 内部バス
907 情報処理装置
908 I/O装置

Claims (10)

  1. メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリ、
    前記共有メモリにBIOSデータである所望の代替BIOSデータの書き込みが可能なBIOSデータ書き込み装置、及び
    前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
    リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
    前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
    を含む情報処理装置であって、
    前記BIOSコードは、前記プロセッサに、
    前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
    前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
    前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
    を実行させる情報処理装置
    を備えた情報処理システム。
  2. 前記BIOSデータ書き込み装置は、前記情報処理装置が起動されているか否かによらず動作可能である
    請求項1に記載の情報処理システム。
  3. 前記更新時初期化手順は、前記更新手順に必要な初期化を行う際に、前記更新手順の実行のために必要最小限な初期化を行う
    請求項1又は2に記載の情報処理システム。
  4. 前記情報処理装置は、ランダムアクセスメモリを更に含み、
    前記更新手順の実行のために必要最小限な初期化は、前記ランダムアクセスメモリの初期化を含まない
    請求項3に記載の情報処理システム。
  5. 前記代替BIOSデータの長さは、前記共有メモリの記憶容量より大きく、
    前記BIOSコードは、前記BIOS更新手順において、前記共有メモリから前記代替BIOSデータの部分を読み出し、読み出した該部分を前記BIOSフラッシュへ直接書き込むことを繰り返す
    請求項1乃至4の何れか1項に記載の情報処理システム。
  6. 前記BIOS更新手順は、前記更新手順が実行された後に、前記更新設定保持手段が保持する前記更新設定を更新不可に変更する
    請求項1乃至5の何れか1項に記載の情報処理システム。
  7. 前記非更新時初期化手順は、前記情報処理装置の動作に必要な初期化の実行が失敗した場合に、前記更新設定保持手段が保持する前記更新設定を更新可に変更する
    請求項1乃至6の何れか1項に記載の情報処理システム。
  8. BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、
    前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
    リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
    前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
    を備えた情報処理装置であって、
    前記BIOSコードは、
    前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
    前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
    前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
    を含む情報処理装置。
  9. BIOSデータである所望の代替BIOSデータが書き込まれており、
    メモリマップトIOを用いたデータの書き込み及び読み出しが可能な
    共有メモリに接続されており、
    前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
    リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
    前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
    を備えた情報処理装置のBIOS更新方法であって、
    前記BIOSコードは、
    前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
    前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
    前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
    を実行する、情報処理装置のBIOS更新方法。
  10. BIOSデータである所望の代替BIOSデータが書き込まれており、メモリマップトIOを用いたデータの書き込み及び読み出しが可能な共有メモリに接続されており、
    前記BIOSデータである現用BIOSデータを不揮発的に記憶するBIOSフラッシュと、
    リセットされた直後に、前記BIOSフラッシュによって記憶されている前記BIOSデータに含まれるBIOSコードを実行可能なプロセッサと、
    前記BIOSフラッシュに記憶された前記現用BIOSデータを前記代替BIOSデータへ更新することの可不可を示す更新設定を保持する更新設定保持手段と
    を備えた情報処理装置が備えるコンピュータに、
    前記更新設定保持手段から取得した前記更新設定が更新可であるか否かを判定する判定手順の実行に必要な初期化を行った後に、前記判定手順を実行する更新判定手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記BIOSフラッシュが記憶している前記現用BIOSデータを、前記共有メモリから読み出した前記代替BIOSデータに更新する更新手順の実行に必要な初期化を行う更新時初期化手順と、
    前記更新判定手順による判定結果が更新可である場合に、前記更新手順を実行するBIOS更新手順と、
    前記更新判定手順による判定結果が更新不可である場合に、前記情報処理装置の動作に必要な初期化を実行する非更新時初期化手順と、
    前記更新判定手順による判定結果が更新不可である場合に、ブートローダーを呼出すブートローダー呼出手順と
    を実行させる、情報処理装置のBIOS更新プログラム。
JP2018020275A 2018-02-07 2018-02-07 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム Active JP7002358B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018020275A JP7002358B2 (ja) 2018-02-07 2018-02-07 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
PCT/JP2019/004037 WO2019156062A1 (ja) 2018-02-07 2019-02-05 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
US16/962,087 US11314665B2 (en) 2018-02-07 2019-02-05 Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018020275A JP7002358B2 (ja) 2018-02-07 2018-02-07 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム

Publications (2)

Publication Number Publication Date
JP2019139373A JP2019139373A (ja) 2019-08-22
JP7002358B2 true JP7002358B2 (ja) 2022-01-20

Family

ID=67549360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018020275A Active JP7002358B2 (ja) 2018-02-07 2018-02-07 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム

Country Status (3)

Country Link
US (1) US11314665B2 (ja)
JP (1) JP7002358B2 (ja)
WO (1) WO2019156062A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11029868B1 (en) * 2020-01-29 2021-06-08 Dell Products L.P. Initialization code/data memory mapping system
US11500649B2 (en) * 2020-09-24 2022-11-15 Dell Products L.P. Coordinated initialization system
US11755338B2 (en) * 2021-07-26 2023-09-12 Dell Products L.P. Systems and methods for operating data processing units
US11775314B2 (en) * 2021-11-02 2023-10-03 Quanta Computer Inc. System and method for BMC and BIOS booting using a shared non-volatile memory module
US20240028729A1 (en) * 2022-07-19 2024-01-25 Dell Products L.P. Bmc ras offload driver update via a bios update release

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005553A1 (en) 2006-06-12 2008-01-03 Asustek Computer Inc. BIOS updating method and apparatus thereof
JP2011253408A (ja) 2010-06-03 2011-12-15 Nec Corp サーバシステム及びそのbios復旧方法
JP2015130023A (ja) 2014-01-07 2015-07-16 Necプラットフォームズ株式会社 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
JP3066063U (ja) 1999-07-26 2000-02-18 盈泰科技股▲分▼有限公司 回復能力を有するフラッシュメモリ
JP2008176708A (ja) 2007-01-22 2008-07-31 Hitachi Ltd 情報処理装置
US8448016B2 (en) * 2009-07-31 2013-05-21 Cleversafe, Inc. Computing core application access utilizing dispersed storage
US8904162B2 (en) * 2012-08-01 2014-12-02 Intel Corporation Methods and apparatus for performing secure BIOS upgrade
TWI520066B (zh) * 2014-03-12 2016-02-01 緯創資通股份有限公司 基本輸入輸出系統更新方法及電腦可讀取儲存媒體
CN105700970A (zh) * 2014-11-25 2016-06-22 英业达科技有限公司 服务器系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005553A1 (en) 2006-06-12 2008-01-03 Asustek Computer Inc. BIOS updating method and apparatus thereof
JP2011253408A (ja) 2010-06-03 2011-12-15 Nec Corp サーバシステム及びそのbios復旧方法
JP2015130023A (ja) 2014-01-07 2015-07-16 Necプラットフォームズ株式会社 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム

Also Published As

Publication number Publication date
US11314665B2 (en) 2022-04-26
WO2019156062A1 (ja) 2019-08-15
JP2019139373A (ja) 2019-08-22
US20200394144A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
JP7002358B2 (ja) 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
EP3037968B1 (en) Electronic device and firmware recovery program that ensure recovery of firmware
JP5119686B2 (ja) 情報処理装置および設定方法
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
US20060036832A1 (en) Virtual computer system and firmware updating method in virtual computer system
US20210365361A1 (en) Method and apparatus for designing dual-mirror shared conf partition file
CN113934471A (zh) 计算机系统的基板管理控制器和启动方法
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP2011204267A (ja) データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
JP2009104412A (ja) ストレージ装置及びその制御方法
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
RU2600101C1 (ru) Управляющий модуль узла и способ обновления встроенного программного обеспечения для этого управляющего модуля
US11740969B2 (en) Detecting and recovering a corrupted non-volatile random-access memory
CN113377425B (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
JP6683424B2 (ja) ブレードサーバ、ブレードシステム、bmc、チップセットおよびエンクロージャマネージャ
JP6959153B2 (ja) 情報処理装置、情報処理方法、及びプログラム
TW202223655A (zh) 可自我監視及恢復作業系統運作的電腦系統及方法
CN112817642A (zh) X86平台使用固件自动切换启动efi操作系统的方法、装置
JP2008217202A (ja) ディスクアレイ装置及びファームウェア更新方法
TWI777664B (zh) 嵌入式系統的開機方法
JP5345655B2 (ja) 基本入出力プログラムの冗長管理方法及びデータ処理装置
JP4723913B2 (ja) 新しいビデオbiosを動作させる方法
JP2019016218A (ja) 情報処理装置、制御装置および情報処理装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211110

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: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227

R150 Certificate of patent or registration of utility model

Ref document number: 7002358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150