(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】情報処理装置、制御方法およびプログラム、電子装置
(51)【国際特許分類】
G06F 8/65 20180101AFI20231212BHJP
G06F 11/34 20060101ALI20231212BHJP
G06F 11/07 20060101ALI20231212BHJP
【FI】
G06F8/65
G06F11/34 176
G06F11/07 190
(21)【出願番号】P 2022088740
(22)【出願日】2022-05-31
【審査請求日】2022-05-31
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】木曽川 晃一
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2014-115928(JP,A)
【文献】特開2013-140536(JP,A)
【文献】特開2021-086527(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65
G06F 11/34
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
中央処理装置と、1または複数の不揮発性記憶装置
と、
前記中央処理装置とは独立して動作し、少なくとも前記中央処理装置の稼働状態を監視するマネジメントコントローラと、
を備え、
前記不揮発性記憶装置の少なくとも1つが前記マネジメントコントローラ内に設けられ、
前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の
BIOS設定情報に基づいて実行するプログラムが、
前記中央処理装置、前記不揮発性記憶装置、インターフェスに接続されたハードウェアのうちの少なくとも何れか一つに所定の障害の発生を検出する障害検出手段と、
前記
BIOS設定情報が
前記不揮発性記憶装置に新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記
BIOS設定情報に変更があったか否かを検出する差分検出手段と、
を含み、
前記差分検出手段は、前記
BIOS設定情報に変更があった場合に、変更後の前記
BIOS設定情報を
前記マネジメントコントローラ内の前記不揮発性記憶装置に
記録する
情報処理装置。
【請求項2】
前記変更後の前記
BIOS設定情報を、前記マネジメントコントローラ内の前記不揮発性記憶装置にシステムイベントログ情報として記憶する
請求項1に記載の情報処理装置。
【請求項3】
前記変更後の前記
BIOS設定情報を、所定形式の複数のレコードを用いて、前記システムイベントログ情報として記憶する
請求項2に記載の情報処理装置。
【請求項4】
前記差分検出手段は、前記変更後の前記
BIOS設定情報を、所定の形式のコマンドを複数回用いることで、前記マネジメントコントローラへ通知する
請求項2または3に記載の情報処理装置。
【請求項5】
中央処理装置と、1または複数の不揮発性記憶装置と
、前記中央処理装置とは独立して動作し、少なくとも前記中央処理装置の稼働状態を監視するマネジメントコントローラと、を備え
、前記不揮発性記憶装置の少なくとも1つが前記マネジメントコントローラ内に設けられる情報処理装置の制御方法であって、
前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の
BIOS設定情報に基づいて実行するプログラムであって、
前記中央処理装置、前記不揮発性記憶装置、インターフェスに接続されたハードウェアのうちの少なくとも何れか一つに所定の障害の発生を検出する障害検出手段と、
前記
BIOS設定情報が
前記不揮発性記憶装置に新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記
BIOS設定情報に変更があったか否かを検出する差分検出手段と、
を含むプログラムを前記中央処理装置に実行させることで、
前記差分検出手段は、前記
BIOS設定情報に変更があった場合に、変更後の前記
BIOS設定情報を
前記マネジメントコントローラ内の前記不揮発性記憶装置に
記録する
制御方法。
【請求項6】
中央処理装置と、1または複数の不揮発性記憶装置と
、前記中央処理装置とは独立して動作し、少なくとも前記中央処理装置の稼働状態を監視するマネジメントコントローラと、を備え
、前記不揮発性記憶装置の少なくとも1つが前記マネジメントコントローラ内に設けられる情報処理装置において、前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の
BIOS設定情報に基づいて実行するプログラムであって、
前記中央処理装置、前記不揮発性記憶装置、インターフェスに接続されたハードウェアのうちの少なくとも何れか一つに所定の障害の発生を検出する障害検出手段と、
前記
BIOS設定情報が
前記不揮発性記憶装置に新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記
BIOS設定情報に変更があったか否かを検出する差分検出手段と、
を含み、
前記差分検出手段は、前記
BIOS設定情報に変更があった場合に、変更後の前記
BIOS設定情報を
前記マネジメントコントローラ内の前記不揮発性記憶装置に
記録する
プログラム。
【請求項7】
中央処理装置と、1または複数の不揮発性記憶装置と
、前記中央処理装置とは独立して動作し、少なくとも前記中央処理装置の稼働状態を監視するマネジメントコントローラと、を備え
、前記不揮発性記憶装置の少なくとも1つが前記マネジメントコントローラ内に設けられ、
前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の
BIOS設定情報に基づいて実行するプログラムが、
前記中央処理装置、前記不揮発性記憶装置、インターフェスに接続されたハードウェアのうちの少なくとも何れか一つに所定の障害の発生を検出する障害検出手段と、
前記
BIOS設定情報が
前記不揮発性記憶装置に新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記
BIOS設定情報に変更があったか否かを検出する差分検出手段と、
を含み、
前記差分検出手段は、前記
BIOS設定情報に変更があった場合に、変更後の前記
BIOS設定情報を
前記マネジメントコントローラ内の前記不揮発性記憶装置に
記録する
電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、制御方法およびプログラム、電子装置に関する。
【背景技術】
【0002】
特許文献1には、次のような情報処理装置が記載されている。すなわち、特許文献1に記載されている情報処理装置では、設定メニューを用いた操作に応じてBIOS(Basic Input/Output System)の設定情報が変更された場合、変更された設定情報が入力された識別名に関連付けて保存される。特許文献1に記載されている情報処理装置によれば、BIOSの設定情報の変更によってBIOSが正常に立ち上がらなくなった場合に、設定情報を変更前の状態に戻すことで不具合を解消することができる。
【0003】
また、特許文献2には、次のような計算機システムが記載されている。特許文献2に記載されている計算機システムは、サーバと、サーバとは独立して動作する管理モジュールとを備える。サーバは、BIOSと、設定管理部と、記憶領域とを有する。管理モジュールは、BIOS要求管理部と、バックアップ記憶領域とを有する。設定管理部は、BIOS設定端末からの設定変更要求に応じてBIOS設定情報を記憶領域に保存するとともに、設定バックアップ要求をBIOS要求管理部に出力する。BIOS要求管理部は、設定バックアップ要求にしたがってBIOS設定情報をバックアップ記憶領域に記憶する。管理モジュールは、外部からBIOS設定情報の読み出し要求があった場合、バックアップ記憶領域のデータを読み出して要求元に応答する。特許文献2に記載されている計算機システムによれば、特殊なOS(Operating System;オペレーティングシステム)やアプリケーションを用いることなく、BIOSの設定情報が管理モジュール内のバックアップ記憶領域に自動的にバックアップされる。そのため、サーバが故障や撤去された状態においてもそのバックアップデータを外部から読み出すことができる。
【0004】
また、特許文献3には、次のようなBIOS復旧制御装置が記載されている。特許文献3に記載されているBIOS復旧制御装置は、復旧手段と、保存手段とを備える。復旧手段は、制御対象のシステムイベントログに、ウオッチドッグタイマにおけるタイムアウトを示す情報が含まれ、かつBIOSにおける設定情報が変更されたことを示す状態情報が含まれる場合に、制御対象が動作することができない障害が発生したと判定する。また、復旧手段は、その障害から復旧可能なようにBIOSの設定情報を変更する。保存手段は、BIOS設定メニューから設定情報の変更指示を受けた場合に、BIOSにおける変更前の設定情報と変更後の設定情報とに基づいて、変更履歴情報を生成して保存する。特許文献3に記載されているBIOS復旧制御装置によれば、BIOSに起因して動作することができない障害が発生した場合であっても、その障害を速やかに検知すると共に、障害から復旧可能なようにBIOSの設定情報を変更することができる。
【0005】
なお、本願において、BIOSとは、コンピュータにおいて起動時のOSの読み込みや、接続された装置や機器に対する基本的な入出力を制御するプログラム(ルーチン)の集まりであるとする。また、本願において、BIOSは、例えば、CPU(Central Processing Unit;中央処理装置)が、CPUの起動時に不揮発性記憶装置に記憶された所定の設定情報に基づいて実行するプログラムであるとする。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2009-271864号公報
【文献】特開2010-224847号公報
【文献】特開2014-115928号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1~3に記載されている装置やシステムでは、予め決められた変更の仕方でBIOSの設定情報が変更された場合に、変更前後の設定情報等が保存される。この構成では、例えば、予め決められた変更の仕方以外でBIOSの設定情報が変更された場合に、変更後の設定情報等を適切に保存できない場合があるという課題があった。
【0008】
そこで本発明は、上記課題を解決する情報処理装置、制御方法およびプログラム、電子装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様は、中央処理装置と、1または複数の不揮発性記憶装置とを備える情報処理装置である。前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の設定情報に基づいて実行するプログラムが、障害検出手段と、差分検出手段と、を含む。障害検出手段は、所定の障害の発生を検出する。差分検出手段は、前記設定情報が新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記設定情報に変更があったか否かを検出する。また、前記設定情報に変更があった場合に、変更後の前記設定情報を前記不揮発性記憶装置に記憶する。
【0010】
また、本発明の一態様は、中央処理装置と、1または複数の不揮発性記憶装置とを備える情報処理装置の制御方法である。前記制御方法は、下記プログラムを前記中央処理装置に実行させることで、設定情報に変更があった場合に、変更後の前記設定情報を前記不揮発性記憶装置に記憶する。前記プログラムは、前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された前記設定情報に基づいて実行するプログラムである。前記プログラムは、所定の障害の発生を検出する障害検出手段と、前記設定情報が新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記設定情報に変更があったか否かを検出する差分検出手段と、を含む。
【0011】
また、本発明の一態様は、中央処理装置と、1または複数の不揮発性記憶装置とを備える情報処理装置において、前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の設定情報に基づいて実行するプログラムである。そのプログラムは、障害検出手段と、差分検出手段と、を含む。障害検出手段は、所定の障害の発生を検出する。差分検出手段は、前記設定情報が新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記設定情報に変更があったか否かを検出する。また、前記設定情報に変更があった場合に、変更後の前記設定情報を前記不揮発性記憶装置に記憶する。
【0012】
また、本発明の一態様は、中央処理装置と、1または複数の不揮発性記憶装置とを備える電子装置である。前記中央処理装置が、前記中央処理装置の起動時に前記不揮発性記憶装置に記憶された所定の設定情報に基づいて実行するプログラムが、所定の障害の発生を検出する障害検出手段と、前記設定情報が新たに保存された場合、および、前記障害検出手段が前記障害の発生を検出した場合に、前記設定情報に変更があったか否かを検出する差分検出手段と、を含み、前記設定情報に変更があった場合に、変更後の前記設定情報を前記不揮発性記憶装置に記憶する。
【発明の効果】
【0013】
本発明の情報処理装置、制御方法およびプログラム、電子装置によれば、BIOSの設定情報が変更された場合に変更後の設定情報を適切に保存することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の第1実施形態に係る電子装置の構成例を示すブロック図である。
【
図2】
図1に示す基本入出力制御手段2-1の構成例を示すブロック図である。
【
図3】
図1に示す電子装置1-1の動作例を示すフローチャートである。
【
図4】第1実施形態に係るシステムイベントログ情報のレコード形式の例を示す図である。
【
図5】
図1および
図2に示す保守サーバ8-1の動作例を説明するための図である。
【
図6】
図1に示す電子装置1-1の動作例を示すフローチャートである。
【
図7】本発明の第2実施形態に係る電子装置の構成例を示すブロック図である。
【
図8】
図7に示す基本入出力制御手段2-1aの構成例を示すブロック図である。
【
図9】本発明の各実施形態に係る電子装置の最小構成を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。
【0016】
(第1実施形態)
図1~
図6を参照して本発明の第1実施形態に係る電子装置について説明する。
図1は、本発明の第1実施形態に係る電子装置の構成例を示すブロック図である。
図2は、
図1に示す基本入出力制御手段2-1の構成例を示すブロック図である。
図3は、
図1に示す電子装置1-1の動作例を示すフローチャートである。
図4は、第1実施形態に係るシステムイベントログ情報のレコード形式の例を示す図である。
図5は、
図1および
図2に示す保守サーバ8-1の動作例を説明するための図である。
図6は、
図1に示す電子装置1-1の動作例を示すフローチャートである。
【0017】
(電子装置の構成例)
図1に示すように、第1実施形態に係る電子装置1-1は、CPU1-2と、主記憶装置1-3と、補助記憶装置1-4と、不揮発性記憶装置1-5と、マネジメントコントローラ1-6と、インタフェース1-7と、入出力装置1-8とを備える。電子装置1-1は、例えばサーバ、パーソナルコンピュータ、スマートフォン、タブレット端末等の情報処理装置(コンピュータ)や、コンピュータを備える電子機器等である。なお、電子装置1-1は、他に図示していない時計機能を実装したIC(集積回路)、電源回路等を有している。
【0018】
まず、本実施形態における不揮発性記憶装置1-5について説明する。不揮発性記憶装置1-5は、1または複数の不揮発性メモリを含む。不揮発性メモリは、例えばフラッシュメモリ、ROM(リードオンリメモリ)、バッテリ等によってバックアップされたRAM(ランダムアクセスメモリ)等である。不揮発性記憶装置1-5は、基本入出力制御手段2-1等を含む。基本入出力制御手段2-1は、ソフトウェアとハードウェアとを含む。基本入出力制御手段2-1は、ソフトウェアとして、BIOS2-1-1と、BIOSの設定情報2-1-2等を含む。また、基本入出力制御手段2-1は、ハードウェアとして、BIOS2-1-1を格納する記憶領域と、設定情報2-1-2等を格納する記憶領域を含む。本実施形態において基本入出力制御手段2-1を実行するということは、基本入出力制御手段2-1が含むBIOS2-1-1内のプログラムをCPU1-2が実行するということを意味する。
【0019】
本実施形態においてBIOS2-1-1は、起動時のOSの読み込みや、電子装置1-1内の装置や機器に対する設定情報に応じた基本的な入出力の制御、その設定情報等を変更する際のメニューの出力、そのメニューに対する入力の受け付け等を行うためのプログラム(ルーチン)の集まりである。また、BIOS2-1-1は、例えば、電源起動時の各部の機能チェック、割り込みベクタの設定、初期プログラムのロード等を行うためのプログラム等を含む。なお、BIOS2-1-1は、仕様によって、レガシBIOS、UEFI BIOS(Unified Extensible Firmware Interface BIOS)等と呼ばれる。本実施形態において、BIOS2-1-1は、例えばCPU1-2が、CPU1-2の起動時に、所定のOSを起動する前に、不揮発性記憶装置1-5に記憶された所定の設定情報に基づいて実行するプログラムであるとする。なお、本実施形態において、OSは、ハードウェアとソフトウェアを総合的に管理するソフトウェアである。OSは、汎用的なものに限らず、電子装置1-1用に独自に開発されたもの等であってもよい。OSは、CPU1-2が実行するプログラムを含む。
【0020】
基本入出力制御手段2-1が含む設定情報2-1-2は、基本入出力制御手段2-1内のBIOS2-1-1が含む複数のプログラムが用いるデータであり、例えば所定の初期値が設定されていて、例えば電子装置1-1のユーザによって変更される。本実施形態では、BIOS2-1-1がUEFI BIOSであるとする。また、設定情報2-1-2が、一例として、EFI(Extensible Firmware Interface)変数を表す情報であるとする。EFI変数としては、例えば、「EIST」、「C State」、「Hyper Threading」、「Memory Frequency」、「TXT Support」、「Num Lock」、「Quick Boot」、「Sata Mode」、「Secure Boot」、「FRB2」、「BMC Support」等がある。ただし、これらに限定されない。
【0021】
上述した「EIST(Enhanced Intel SpeedStep Technology)」は、CPU1-2の動作クロックと電圧を動的に制御する省電力技術についての有効、無効等を表す変数である。「C State」は、CPU1-2がアイドル状態のときの動作モードについての有効、無効、自動等を表す変数である。「Hyper Threading」は、1つのコアで並行して2つのスレッドを実行する動作モードについての変数である。「Memory Frequency」は、メモリの動作周波数についての変数である。「TXT Support」は、Trusted Execution Technologyについての変数である。「Num Lock」は、テンキー等での数値入力についての変数である。「Quick Boot」は、起動時に一部のハードウェアチェックを省略する機能についての変数である。「Sata Mode」は、Serial(シリアル) ATA(AT Attachment)についての変数である。「Secure Boot」は、署名された各ブートソフトウェアを使用する機能について変数である。「FRB2」は、Fault Resilient Booting レベル2について変数である。「BMC Support」は、ベースボード管理コントローラ(BMC;Baseboard Management Controller)についての変数である。
【0022】
次に、CPU1-2は、中央処理装置であり、例えば、電子装置1-1の電源起動時に基本入出力制御手段2-1を実行することで、例えば補助記憶装置1-4に記憶されている所定のOSを起動する。主記憶装置1-3は、メインメモリであり、RAMで構成される。補助記憶装置1-4は、外部記憶装置であり、OS、アプリケーションプログラム、各種ファイル等を記憶する。なお、OS、アプリケーションプログラム、各種ファイル等は、不揮発性記憶装置1-5に記憶されていてもよい。
【0023】
マネジメントコントローラ1-6は、BMC(ベースボード管理コントローラ)であり、CPU1-2とは独立して動作し、例えばCPU1-2の稼働状態等を監視する。本実施形態においてマネジメントコントローラ1-6は、IPMI(Intelligent Platform Management Interface)規格にしたがって、IPMIコマンドを用いて、CPU1-2から所定形式のデータを受信する。また、マネジメントコントローラ1-6は、不揮発性記憶装置からなるログ記憶部1-61を備え、CPU1-2から受信したデータをシステムイベントログ情報(SEL(System Event Log)情報ともいう)としてログ記憶部1-61に記憶する。本実施形態において、ログ記憶部1-61は、電子装置1-1が備える不揮発性記憶装置の一つであり、その意味において不揮発性記憶装置1-5と同等の構成である。また、マネジメントコントローラ1-6は、例えば、外部の監視センタ7-1に設けられた保守サーバ8-1との間で、通信回線を介して所定のデータを送受信する。
【0024】
インタフェース1-7は、CPU1-2と、入出力装置1-8や、図示していない外部の周辺装置、記憶装置、通信装置、通信回線等とを接続する接続装置である。
【0025】
入出力装置1-8は、例えば、キーボード、マウス、タッチパッド、タッチパネル、ディスプレイ、音声入出力装置、印刷装置等を含む。
【0026】
(基本入出力制御手段の構成)
次に
図2を参照して、
図1に示す基本入出力制御手段2-1の構成例について説明する。なお、
図2は、基本入出力制御手段2-1内の構成のうち、本実施形態において設定情報2-1-2の保存に係る部分のみを示している。
【0027】
図2に示す基本入出力制御手段2-1は、BIOS設定メニュー2-2、BIOS SETUP保存領域2-3、障害検出部2-4、および、BIOS SETUP変更検出部3-1を有する。BIOS SETUP変更検出部3-1は、設定情報格納部5-0と、設定情報格領域5-1と、差分検出部6-1を有する。BIOS設定メニュー2-2、障害検出部2-4、設定情報格納部5-0、および差分検出部6-1は、
図1に示すBIOS2-1-1に含まれる構成、すなわちCPU1-2が実行するプログラムである。BIOS SETUP保存領域2-3および設定情報格領域5-1は、基本入出力制御手段2-1内の記憶領域である。また、BIOS SETUP保存領域2-3は、
図1に示す設定情報2-1-2の格納領域である。
【0028】
BIOS設定メニュー2-2は、設定情報2-1-2の設定を変更するメニューを入出力装置1-8等に表示したり、入出力装置1-8等へのメニューに対する入力操作を入力したりするプログラムを含む。CPU1-2がBIOS設定メニュー2-2を実行することで入力された設定情報2-1-2(BIOS設定のEFI変数の情報)は、BIOS SETUP保存領域2-3に格納される。
【0029】
障害検出部2-4は、CPU1-2、主記憶装置1-3等のメモリ、インタフェース1-7に接続された装置等で所定の障害が発生した場合にその障害の発生を検出するプログラムである。所定の障害は、例えばCPU1-2の動作異常、メモリの動作異常等である。障害検出部2-4は、例えば、SMI(System Management Interrupt)等のハードウェア割り込み信号をトリガに起動される所定の機能チェック用プログラムを含む。CPU1-2が障害検出部2-4を実行することで、障害の発生が検出された場合、CPU1-2はBIOS SETUP変更検出部3-1による処理を開始する。また、CPU1-2が障害検出部2-4を実行することで障害の発生が検出された場合、CPU1-2はマネジメントコントローラ1-6に障害が発生したことを通知する。
【0030】
設定情報格納部5-0は、BIOS SETUP保存領域2-3からBIOS設定のEFI変数の情報を収集し、設定情報格領域5-1内にBIOS設定情報5-2およびBIOS設定情報5-3として格納するプログラムを含む。
【0031】
差分検出部6-1は、差分判定部6-2と、日時取得部6-3と、SEL通知部6-4を有する。差分判定部6-2は、BIOS設定情報5-2とBIOS設定情報5-3の差分を検出するプログラムである。日時取得部6-3は、日時を取得するプログラムである。SEL通知部6-4は、マネジメントコントローラ1-6にSEL情報を通知するプログラムである。
【0032】
(基本入出力制御手段の動作例)
まず、
図3等を参照して、BIOS設定メニュー2-2でBIOS SETUP設定(設定情報2-1-2)を変更した場合の動作例について説明する。なお、以下では、CPU1-2が基本入出力制御手段2-1が含むプログラムを実行することによる動作(処理)について、基本入出力制御手段2-1等が動作の主体であるとして説明する。
【0033】
図3に示すように、サーバ装置等の電子装置1-1において、BIOS設定メニュー2-2でBIOS SETUP項目(「EIST」等)の設定値が変更された場合、基本入出力制御手段2-1は、BIOS SETUP項目の設定を保存するため、ユーザの入力操作に応じて「Save and Exit」を実施する(ステップA1)。このとき、基本入出力制御手段2-1は、BIOS SETUP保存領域2-3にBIOS SETUP項目の設定値を保存し、ここで、BIOS SETUP変更検出部3-1の処理が開始される(ステップA2)。以下にBIOS SETUP変更検出部3-1の処理について説明する。
【0034】
処理1:BIOS SETUP変更検出部3-1では、まず設定情報格領域5-1内にあるBIOS設定情報5-3にBIOS SETUP保存領域2-3から取得したBIOS SETUP設定のEFI変数を格納する(ステップA3)。
【0035】
処理2:差分検出部6-1の差分判定部6-2で、設定情報格領域5-1に格納されているBIOS設定情報5-2(*1)とBIOS設定情報5-3に差分があるか否かを確認する(ステップA4)。(*1)BIOS設定情報5-2には、初期は、BIOS SETUPのデフォルトデータが格納されている。
【0036】
処理3:処理2で差分が検出できない場合は(ステップA4:NO)、BIOS SETUP変更検出部3-1の処理を終了する(ステップA8)。差分が検出された場合は(ステップA4:YES)、設定情報格領域5-1のBIOS設定情報5-2にBIOS設定情報5-3を上書きする(ステップA5)。
【0037】
処理4:差分が生じた日時をSEL情報に残すため、SEL通知部6-4が、日時取得部6-3から現在の日時を取得する(ステップA6)。
【0038】
処理5:SEL通知部6-4は、BIOS設定情報5-3と日時取得部6-3から取得した日時を所定のSEL情報格納フォーマットに整形する。また、SEL通知部6-4は、IPMIコマンドを使用し、BIOS設定情報5-3と日時を格納した複数のレコードを、SEL情報として、マネジメントコントローラ1-6に通知する(ステップA7)。
【0039】
図4は、本実施形態においてSEL情報を格納するレコードのフォーマットの例を示す。
図4に示す例では、各レコードの長さは16バイトである。第1および第2バイトは、レコードID(識別符号)を表すフィールドである。レコードIDは、レコードにアクセスする際に使用される。第3バイトは、レコードタイプを表すフィールドである。レコードタイプは、レコードの種別を表す。第4~第7バイトは、タイムスタンプを表すフィールドである。タイムスタンプは年月日および時分を表す。第8および第9バイトは、製造者IDを表すフィールドである。第11~第16バイトは、本実施形態では、BIOS設定情報5-3に格納されているBIOS設定のEFI変数情報を表すフィールドである。ステップA7において、SEL通知部6-4は、
図4に示すSEL Record Formatsに則り、第4~第7バイトに日時を、第11~第16バイトにBIOS設定情報5-3に格納されているBIOS SETUP設定のEFI変数を設定し、IPMIコマンドを使用しSEL情報をマネジメントコントローラ1-6に通知する。
【0040】
なお、一度に第11~第16のBIOS設定のEFI変数フィールドにBIOS SETUPのEFI変数が収まらない場合、SEL通知部6-4は、BIOS SETUP設定のEFI変数を6byte毎に分け、すべてのBIOS SETUP設定のEFI変数の通知が終わるまでSEL情報をマネジメントコントローラ1-6に通知する。その際、SEL通知部6-4は、BIOS SETUPのEFI変数の末尾に、所定の符号(本実施形態では一例として「FFFFFFFF」)を付加してSEL情報をマネジメントコントローラ1-6に通知する。
【0041】
処理6:以上で、BIOS SETUP変更検出部3-1の処理を終了する(ステップA8)。
【0042】
一方、保守作業員は、監視センタ7-1にある保守サーバ8-1から監視対象の電子装置1-1のマネジメントコントローラ1-6のログ記憶部1-61にアクセスし、SEL情報を確認する。保守作業員は、取得したSEL情報からBIOS SETUP設定のEFI変数の情報を抜き出し、EFI変数変換プログラム8-2を適用する。
図5にEFI変数変換プログラム8-2の動作例を示す。
【0043】
例えば、
図5のようなBIOS SETUP設定のEFI変数情報と、BIOS SETUP項目があるとする。
図5では各BIOS SETUP項目を4byteで構成しているが、BIOS SETUP項目に対応するEFI変数のフィールドは、固定サイズでない。例えば、BIOS SETUP項目に記載されている「C State」は、BIOS SETUP設定のEFI変数の、オフセット4Byte、サイズ1Byteが対応する。EFI変数変換プログラム8-2は、BIOS SETUP項目の「C State」に対応する値である0x01を取得し、その値に対応する設定である「Enable」に変換して出力する。EFI変数変換プログラム8-2は、これをBIOS SETUP設定のEFI変数が終わるまで変換することで、すべてのBIOS SETUP項目と対応する設定値を入手する。
【0044】
次に、
図6等を参照して、障害検出部2-4が障害発生を検出した場合の動作例について説明する。サーバ装置等の電子装置1-1において、CPU1-2、主記憶装置1-3等のメモリ、インタフェース1-7に接続された装置等で障害が発生した場合、SMIをトリガにBIOS2-1-1内部の障害検出部2-4が動作する(ステップB1)。障害検出部2-4が動作すると、BIOS SETUP変更検出部3-1の処理が開始される(ステップB2)。以下にBIOS SETUP変更検出部3-1の処理について説明する。
【0045】
処理1:BIOS SETUP変更検出部3-1では、まず、設定情報格納部5-0が、設定情報格領域5-1内にあるBIOS 設定情報5-3にBIOS SETUP保存領域2-3から取得したBIOS SETUP設定のEFI変数を格納する(ステップB3)。
【0046】
処理2:差分検出部6-1の差分判定部6-2で、設定情報格領域5-1に格納されているBIOS設定情報5-2(*1)とBIOS設定情報5-3に差分があるか否かを確認する(ステップB4)。(*1)初期は、BIOS SETUPのデフォルトデータが格納されている。
【0047】
処理3:処理2で差分が検出できない場合は(ステップB4:NO)、BIOS SETUP変更検出部3-1は、処理を終了する(ステップB8)。差分が検出された場合は(ステップB4:YES)、設定情報格納部5-0が、設定情報格領域5-1のBIOS設定情報5-2にBIOS設定情報5-3の情報を上書きする(ステップB5)。
【0048】
処理4:差分が生じた日時をSEL情報に残すため、SEL通知部6-4が、日時取得部6-3から現在の日時を取得する(ステップB6)。
【0049】
処理5:SEL通知部6-4は、BIOS設定情報2と日時取得部6-3から取得した日時を所定のSEL情報格納フォーマットに整形する。また、SEL通知部6-4は、IPMIコマンドを使用し、BIOS設定情報5-3と日時を格納した複数のレコードを、SEL情報として、マネジメントコントローラ1-6に通知する(ステップB7)。
【0050】
ステップB7において、SEL通知部6-4は、
図4に示すSEL Record Formatsに則り、第4~第7バイトに日時を、第11~第16バイトにBIOS設定情報5-3に格納されているBIOS SETUP設定のEFI変数を設定し、IPMIコマンドを使用しSEL情報をマネジメントコントローラ1-6に通知する。
【0051】
なお、一度に第11~第16のBIOS設定のEFI変数フィールドにBIOS SETUPのEFI変数が収まらない場合、SEL通知部6-4は、BIOS SETUP設定のEFI変数を6byte毎に分け、すべてのBIOS SETUP設定のEFI変数の通知が終わるまでSEL情報をマネジメントコントローラ1-6に通知する。その際、SEL通知部6-4は、BIOS SETUPのEFI変数の末尾に、所定の符号(本実施形態では一例として「FFFFFFFF」)を付加してSEL情報をマネジメントコントローラ1-6に通知する。
【0052】
処理6:以上で、BIOS SETUP変更検出部3-1は、処理を終了する(ステップB8)。
【0053】
一方、保守作業員は、監視センタ7-1にある保守サーバ8-1から監視対象の電子装置1-1のマネジメントコントローラ1-6のログ記憶部1-61にアクセスし、SEL情報を確認する。保守作業員は、取得したSEL情報からBIOS SETUP設定のEFI変数の情報を抜き出し、EFI変数変換プログラム8-2を適用する。保守作業員は、
図5を参照して説明するようにして、BIOS SETUP項目と対応する設定値を入手する。保守作業員は、障害内容と入手したBIOS SETUP項目と設定値を照らし合わせることで障害への影響を確認する。
【0054】
(作用・効果)
本実施形態の電子装置、制御方法およびプログラムによれば、不揮発性記憶装置に記憶された所定の設定情報に基づいてCPUが起動時に実行するプログラムの設定情報が変更された場合に、変更後の設定情報を適切に保存することができる。
【0055】
また、本実施形態の電子装置1-1は、中央処理装置(CPU1-2)と、1または複数の不揮発性記憶装置(不揮発性記憶装置1-5およびログ記憶部1-61)とを備える。中央処理装置(CPU1-2)が、中央処理装置の起動時に不揮発性記憶装置(不揮発性記憶装置1-5)に記憶された所定の設定情報2-1-2に基づいて実行するプログラム(BIOS2-1-1)が、障害検出手段(障害検出部2-4)と、差分検出手段(差分検出部6-1)を含む。障害検出手段(障害検出部2-4)は、所定の障害の発生を検出する。差分検出手段(差分検出部6-1)は、設定情報2-1-2が新たに保存された場合、および、障害検出手段(障害検出部2-4)が障害の発生を検出した場合に、設定情報2-1-2に変更があったか否かを検出する。また、設定情報2-1-2に変更があった場合に、変更後の設定情報2-1-2が不揮発性記憶装置(ログ記憶部1-61)に記憶される。この構成によれば、BIOS2-1-1の設定情報2-1-2が変更された場合に変更後の設定情報2-1-2を適切に保存することができる。
【0056】
また、本実施形態の電子装置1-1は、中央処理装置(CPU1-2)とは独立して動作し、少なくとも中央処理装置(CPU1-2)の稼働状態を監視するマネジメントコントローラ1-6をさらに備える。電子装置1-1が備える不揮発性記憶装置の少なくとも1つがマネジメントコントローラ1-6内にログ記憶部1-61として設けられている。また、変更後の設定情報2-1-2が、マネジメントコントローラ1-6内の不揮発性記憶装置(ログ記憶部1-61)にシステムイベントログ情報(SEL情報)として記憶される。この構成によれば、中央処理装置(CPU1-2)の動作とは独立して動作するマネジメントコントローラ1-6内に変更後の設定情報2-1-2を記憶することができる。
【0057】
また、本実施形態の電子装置1-1では、変更後の設定情報2-1-2が、所定形式の複数のレコードを用いて、マネジメントコントローラ1-6内の不揮発性記憶装置(ログ記憶部1-61)にシステムイベントログ情報(SEL情報)として記憶される。この構成によれば、例えば既存のレコード形式を用いてマネジメントコントローラ1-6内に変更後の設定情報2-1-2を記憶することができる。
【0058】
また、本実施形態の電子装置1-1では、変更後の設定情報2-1-2が、所定の形式のコマンドを複数回用いることで、マネジメントコントローラ1-6へ通知される。この構成によれば、例えば既存のコマンドを用いてマネジメントコントローラ1-6内に変更後の設定情報2-1-2を記憶することができる。
【0059】
また、本実施形態によれば、下記(効果1)および(効果2)により、障害調査時のBIOS SETUP設定の情報提供による原因特定が容易になり、例えば顧客の電子装置のダウンタイム時間の短縮を図ることができる。
【0060】
(効果1)本実施形態によれば、BIOS SETUP項目の変更時、BIOS SETUP設定のEFI変数をSEL情報に残すことができる。よって、保守作業員による例えば顧客へのBIOS SETUP項目の設定順番や設定項目についての問い合わせとBIOS SETUP項目の差分調査が不要となる。よってコストと調査時間を短縮することができる。
【0061】
(効果2)本実施形態によれば、障害発生時もBIOS SETUP設定のEFI変数を採取しSEL情報に残すことができる。保守作業員は採取したSEL情報に残されているBIOS SETUP設定のEFI変数を、EFI変数変換プログラムに適用することで障害発生時のBIOS SETUP設定が入手できる。よって、障害内容とBIOS SETUP設定のEFI変数から取得したBIOS SETUP項目の情報を突き合わせることで、障害の原因特定が容易となる。
【0062】
(第2実施形態)
図7および
図8を参照して本発明の第2実施形態に係る電子装置について説明する。
図7は、本発明の第2実施形態に係る電子装置の構成例を示すブロック図である。
図8は、
図7に示す基本入出力制御手段2-1aの構成例を示すブロック図である。
【0063】
(電子装置の構成例)
図1に示す第1実施形態に係る電子装置1-1と
図7に示す第2実施形態に係る電子装置1-1aは、基本的な構成は同一である。
図7に示すように、第2実施形態に係る電子装置1-1aは、例えば、CPU1-2と、主記憶装置1-3と、補助記憶装置1-4と、不揮発性記憶装置1-5と、インタフェース1-7と、入出力装置1-8とを備える。第2実施形態に係る電子装置1-1aは、第1実施形態に係る電子装置1-1と同様に、例えばサーバ、パーソナルコンピュータ、スマートフォン、タブレット端末等のコンピュータや、コンピュータを備える電子機器等である。ただし、第1実施形態に係る電子装置1-1がマネジメントコントローラ1-6を備えるのに対して、第2実施形態に係る電子装置1-1aは、
図7に示すようにマネジメントコントローラ1-6を省略することができる。また、
図7に示す例では、インタフェース1-7に対して着脱可能なUSB(Universal Serial Bus)メモリ等の不揮発性記憶装置10-1が接続されている。
【0064】
また、第2実施形態に係る基本入出力制御手段2-1aの構成および動作は、第1実施形態に係る基本入出力制御手段2-1の構成および動作と一部異なる。以下、第2実施形態において、第1実施形態と異なる部分について説明する。
【0065】
図7に示すように、不揮発性記憶装置1-5は、基本入出力制御手段2-1a等を含む。
図7に示す基本入出力制御手段2-1aは、
図1に示す基本入出力制御手段2-1に対応する構成である。基本入出力制御手段2-1aは、ソフトウェアとハードウェアとを含む。基本入出力制御手段2-1aは、ソフトウェアとして、BIOS2-1-1aと、BIOSの設定情報2-1-2等を含む。また、基本入出力制御手段2-1aは、ハードウェアとして、BIOS2-1-1aを格納する記憶領域と、設定情報2-1-2等を格納する記憶領域を含む。
図7に示すBIOS2-1-1aと、
図1に示すBIOS2-1-1は以下に説明するように一部異なる。
【0066】
図8を参照して、
図7に示す基本入出力制御手段2-1aの構成例について説明する。なお、
図8は、基本入出力制御手段2-1a内の構成のうち、本実施形態において設定情報2-1-2の保存に係る部分のみを示している。
【0067】
図8に示す基本入出力制御手段2-1aは、BIOS設定メニュー2-2a、BIOS SETUP保存領域2-3、障害検出部2-4a、および、BIOS SETUP変更検出部3-1aを有する。
【0068】
BIOS設定メニュー2-2aは、設定情報2-1-2の設定を変更するメニューを入出力装置1-8等に表示したり、入出力装置1-8等へのメニューに対する入力操作を入力したりするプログラムを含む。BIOS設定メニュー2-2aは、さらに、後述する変更履歴格納領域9-1内の情報を不揮発性記憶装置10-1等に出力するプログラムを含む。CPU1-2がBIOS設定メニュー2-2aを実行することで入力された設定情報2-1-2(BIOS設定のEFI変数の情報)は、BIOS SETUP保存領域2-3に格納される。また、CPU1-2がBIOS設定メニュー2-2aを実行することで変更履歴格納領域9-1内の情報が不揮発性記憶装置10-1等に出力される。
【0069】
BIOS SETUP変更検出部3-1aは、設定情報格納部5-0と、設定情報格領域5-1と、差分検出部6-1aと、変更履歴格納領域9-1を有する。BIOS SETUP変更検出部3-1aは、
図1に示すBIOS SETUP変更検出部3-1と比較し、新たに変更履歴格納領域9-1を有する点で異なる。BIOS設定メニュー2-2a、障害検出部2-4a、設定情報格納部5-0、および差分検出部6-1aは、
図7に示すBIOS2-1-1aに含まれる構成、すなわちCPU1-2が実行するプログラムである。BIOS SETUP保存領域2-3、設定情報格領域5-1および変更履歴格納領域9-1は、基本入出力制御手段2-1内の記憶領域である。また、BIOS SETUP保存領域2-3は、
図7に示す設定情報2-1-2の格納領域である。
【0070】
障害検出部2-4aは、第1実施形態に係る障害検出部2-4と同様、CPU1-2、主記憶装置1-3等のメモリ、インタフェース1-7に接続された装置等で所定の障害が発生した場合にその障害の発生を検出するプログラムである。ただし、第1実施形態に係る障害検出部2-4が、障害が発生したことをマネジメントコントローラ1-6へ通知する機能を含むのに対し、障害検出部2-4aではこの機能が省略されている。障害検出部2-4aは、例えば、SMI等のハードウェア割り込み信号をトリガに起動される所定の機能チェック用プログラムを含む。CPU1-2が障害検出部2-4aを実行することで、障害の発生が検出された場合、CPU1-2aはBIOS SETUP変更検出部3-1aによる処理を開始する。
【0071】
差分検出部6-1aは、差分判定部6-2aと、日時取得部6-3を有する。第2実施形態の差分検出部6-1aは、第1実施形態の差分検出部6-1と異なり、SEL通知部6-4を有しない。差分判定部6-2aは、BIOS設定情報5-2とBIOS設定情報5-3の差分を検出するプログラムを含む。差分判定部6-2aは、さらに、差分を検出した場合にBIOS設定情報5-3の内容と日時取得部6-3が取得した日時を変更履歴情報k(kは1~nの整数)として変更履歴格納領域9-1に格納するプログラムを含む。*
図8に示すように、第2実施形態は、
図2に示す第1実施形態に係る構成と比較し、SEL通知部6-4とマネジメントコントローラ1-6と保守サーバ8-1を無くした点が異なる。また、第2実施形態は、BIOS SETUP変更検出部3-1aに変更履歴格納領域9-1を新しく有し、BIOS設定情報5-3の情報を変更履歴格納領域9-1内に変更履歴情報として積み上げて記憶していく点が異なる。BIOS設定メニュー2-2aは、変更履歴格納領域9-1の情報を不揮発性記憶装置10-1等に出力する機能を持つ。保守作業員は、変更履歴格納領域9-1の情報を不揮発性記憶装置10-1等に出力し、BIOS SETUP項目と設定値を入手することができる。
【0072】
第2実施形態によれば、マネジメントコントローラ1-6を有していない電子装置に対応することができる。
【0073】
(各実施形態の最小構成)
図9は、本発明の各実施形態に係る最小構成を示すブロック図である。
図9に示す電子装置100(電子装置1-1および1-1aに対応)は、中央処理装置101と、1または複数の不揮発性記憶装置102とを備える。中央処理装置101が、中央処理装置の起動時に不揮発性記憶装置102に記憶された所定の設定情報104に基づいて実行するプログラム103が、障害検出手段103-1と、差分検出手段103-2とを含む。障害検出手段103-1は、所定の障害の発生を検出する。差分検出手段103-2は、設定情報104が新たに保存された場合、および、障害検出手段103-1が障害の発生を検出した場合に、設定情報104に変更があったか否かを検出する。そして、設定情報104に変更があった場合に、変更後の設定情報104が不揮発性記憶装置102に記憶される。
【0074】
以上、この発明の実施形態について図面を参照して説明してきたが、具体的な構成は上記実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上記実施形態でコンピュータが実行するプログラムの一部または全部は、コンピュータ読取可能な記録媒体や通信回線を介して頒布することができる。
【符号の説明】
【0075】
100…電子装置、101…中央処理装置、102…不揮発性記憶装置、103…プログラム、103-1…障害検出手段、103-2…差分検出手段、104…設定情報、1-1、1-1a…電子装置、1-2…CPU、1-5…不揮発性記憶装置、2-1、2-1a…基本入出力制御手段、2-1-1、2-1-1a…BIOS、2-1-2…設定情報、2-4、2-4a…障害検出部、6-1、6-1a…差分検出部、1-6…マネジメントコントローラ、1-61…ログ記憶部、9-1…変更履歴格納領域
【要約】
【課題】BIOSの設定情報が変更された場合に変更後の設定情報を適切に保存することができる情報処理装置を提供する。
【解決手段】情報処理装置は、中央処理装置と、1または複数の不揮発性記憶装置とを備える。情報処理装置において、中央処理装置が、中央処理装置の起動時に不揮発性記憶装置に記憶された所定の設定情報に基づいて実行するプログラムが、所定の障害の発生を検出する。設定情報が新たに保存された場合、および、障害検出手段が障害の発生を検出した場合に、設定情報に変更があったか否かを検出する。設定情報に変更があった場合に、変更後の設定情報が不揮発性記憶装置に記憶する。
【選択図】
図9