JP2010160558A - 情報処理装置、情報処理装置の動作方法及びそのプログラム - Google Patents

情報処理装置、情報処理装置の動作方法及びそのプログラム Download PDF

Info

Publication number
JP2010160558A
JP2010160558A JP2009000832A JP2009000832A JP2010160558A JP 2010160558 A JP2010160558 A JP 2010160558A JP 2009000832 A JP2009000832 A JP 2009000832A JP 2009000832 A JP2009000832 A JP 2009000832A JP 2010160558 A JP2010160558 A JP 2010160558A
Authority
JP
Japan
Prior art keywords
cmos
bios
map information
information
current
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.)
Granted
Application number
JP2009000832A
Other languages
English (en)
Other versions
JP5126686B2 (ja
Inventor
Hideki Eda
秀樹 枝
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2009000832A priority Critical patent/JP5126686B2/ja
Publication of JP2010160558A publication Critical patent/JP2010160558A/ja
Application granted granted Critical
Publication of JP5126686B2 publication Critical patent/JP5126686B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】システム装置設定情報に差分があっても、システム装置設定情報を引き継いだまま、オンライン上からBIOS更新を自動的に確実に実行することが可能な機能を提供する。
【解決手段】情報処理装置は、BIOSと、BIOS更新部とを具備する。ここで、BIOS更新部は、汎用のSMBIOSインターフェースを通してBIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有する。BIOS更新部は、BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出する。そして、当該差分に基づいて、リリースBIOSバージョン毎のCMOSマップ情報を参照して、現在のCMOSマップ情報をアップデート用のCMOSマップ情報へ更新する。
【選択図】図2

Description

本発明は、情報処理装置、情報処理装置の動作方法及びそのプログラムに関し、特にオンラインBIOS(Basic Input Output System)設定引継ぎを実行する情報処理装置、情報処理装置の動作方法及びそのプログラムに関する。
従来、コンピュータ個別のシステム装置設定情報は、“BIOS SETUP MENU”と呼ばれる設定画面から設定を行う機能として、装置の管理者となるエンドユーザを対象に提供されてきた。このシステム装置設定情報は、装置に搭載されている不揮発性メモリもしくはバッテリバックアップされたメモリに格納され、電源オフ時にも保存されるように設計されている。PC/ATアーキテクチャをベースとるすPCサーバの多くは、アーキテクチャ互換仕様に従い、このBIOS SETUPによるシステム装置設定情報を、リアルタイムクロック(Real Time Clock:以下、RTC)のCMOS(Complementary Metal Oxide Semiconductor、例示:SRAM;Static Random Access Memory)の領域に格納し、マザーボード上の電池によってバッテリバックアップすることで、外部からAC電源が供給されない状況でも設定情報を保存している。
システム装置設定情報のそれぞれの項目の配置やサイズは、PC/ATアーキテクチャとして暗黙に決められている一部の項目以外は、開発ベンダや装置によって異なる上に、場合によってはBIOSのVersionが異なるだけで変更されることもある。これはBIOSをBuildする際に、限りある容量のCMOSを最大限有効に使うため、Buildする中で再配置処理が行われるからである。そのため、CMOS領域の互換性が取れず、BIOS更新時は強制的にデフォルト設定に戻すオプションを追加するのが従来の通常運用であった。この場合、運用のためにユーザが変更した設定は、最悪、ユーザ側でBIOS更新後に再設定する必要があった。
もしくは、ユーザ側で変更したシステム装置設定情報をBIOS更新時も引き継ぐために、ベンダからの初期の出荷タイミング以降のBIOSアップデートでは、CMOSの各項目の位置が同じになるよう、再配置せずに固定となるよう作りこむことで、CMOS領域の強制初期化を回避してきた。ただし、この場合でも、設定項目の選択肢が増えたり、デフォルト値が変更されたり、新しい項目が追加になるなどには対応できないケースが多く、手作業にて再設定する必要があった。
さらに、エンドユーザ側では、Rev1、Rev2、Rev3のように、必ずしもBIOSバージョン(BIOS Version)の順番通りにBIOSが更新されるわけではなく、Rev1、Rev3と、間を開けて更新されるケースもあることから、過去のそれぞれのVersionからのBIOS設定の互換性の維持が難しく、過去BIOSのシステム装置設定情報のまま、最新のBIOSを適用した場合、最悪、次の装置起動時におけるPOST処理において、CMOS領域のミスマッチによる誤動作でPOSTストールを引き起こす可能性があった。
また、RTCへはOS(Operating System)上からも定期的なアクセスが発生する可能性があり、オンライン中(Windows(登録商標)等OS稼働中)のRTCへのアプリケーションからの直接CMOSアクセスは、アクセス競合することで意図しない動作となることを懸念して、OS要求仕様として禁止されていることもある。そのため、基本的にOS上からのユーティリティによる直接的なシステム装置設定は行えず、もしくは一旦別領域に書き込み、次回のPOST動作でBIOS処理により反映するなど、特殊な個別対応を実装する必要があった。この場合、BIOS処理が複雑になることによるリスクと、起動時間が通常より遅くなるという問題もあった。
上記の問題により、最新BIOSへアップデートする際、単純にシステム装置設定情報であるSETUP MENU設定値を引き継げないケースでは、一度オフライン(OS Shutdown)状態にし、SETUP MENUを直接参照して、手動で設定を書き写しておき、BIOSアップデート処理中のCMOS領域強制初期化直後に最新BIOSへ更新し、再起動後SETUP MENUから手動で元の設定へ戻すなど、BIOSアップデート作業の手順には人手が必要で、かつ煩雑であり時間も掛かっていた。また、できるだけ変更が入らないようにするために、BIOSが提供する新機能のタイムリでリーズナブルな追加や変更が出来ないという課題があった。
関連する技術として特開2007−149065号公報に情報処理装置、BIOS処理方法及びプログラムが開示されている。この情報処理装置は、プログラムと、不揮発性メモリと、プログラム更新部と、プログラム実行部とを備える。不揮発性メモリは、プログラムの動作を設定するプログラム設定情報が格納される設定情報格納領域を格納する。プログラム更新部は、プログラム設定情報を書き替え、プログラムの一部として実行されるワンタイム書替えプログラムを不揮発性メモリに書込む。プログラム実行部は、プログラムの実行中に、不揮発性メモリにワンタイム書替えプログラムが格納されているか否か検査し、格納されている場合にワンタイム書替えプログラムを実行して不揮発性メモリのプログラム設定情報を書き替える。
その他、関連する技術として特開2006−79445号公報に周辺機器種別判別装置、周辺機器種別判別プログラムおよび周辺機器種別判別方法が開示されている。また、特開2008−90819号公報にハードウェアプラットフォームクラスの識別を高速化するシステム及び方法が開示されている。また、特開平8−16408号公報に情報処理装置が開示されている。また、特開平8−44571号公報にシステムROMのプログラム書き替え方法およびこの書き替え方法を使用したコンピュータシステムが開示されている。
特開2007−149065号公報 特開2006−79445号公報 特開2008−90819号公報 特開平8−16408号公報 特開平8−44571号公報
この特開2007−149065号公報に示されているように、CMOS設定情報を含むBIOSアップデートアプリケーションの開発は、BIOSごとに個別で複雑で時間がかかる。そのため、特開2007−149065号公報のBIOS処理方法は、BIOS自身で持っているCMOS情報やRTCへのアクセスI/Fを利用することで、アプリケーション側の対応を減らすとしている。しかし、更新となるCMOS差分情報自体を持つわけではないことから、新規項目や変更された項目に対する対応が十分出来ない(CMOSマップのコンバート処理自体を持っていない)ため、完全に設定情報を引き継ぐことが困難である。また、このBIOS処理方法は、CMOSへ直接書き込むわけではなく、別領域(Flashデバイス内等)へ一度書き込んだ後、POST処理内で、CMOSへ再設定するため、POST動作が複雑になり誤動作のリスクが高くなる上に、別途Flashエリア等、一時置きする領域を用意しなければならない。この場合、さらに高容量のFlash Deviceで設計しなおす必要が出てくる可能性もある。
すなわち、このBIOS処理方法の第1の問題点は、BIOSの扱うシステム装置設定情報に、新しい選択肢が追加されたり、新しい項目が追加されたりした場合、ユーザが設定していた設定を引き継ぎつつ、同時にBIOSの更新をすることができない点である。この理由は、各BIOSバージョンごとの設定配置情報(CMOSマップ)を、BIOSアップデートアプリケーション、BIOS自身ともに扱えないためである。また、第2の問題点は、オンライン上のBIOSアップデートアプリケーションから直接システム装置設定情報を設定することができない点である。この理由は、オンライン上のアプリケーションから直接CMOSデバイスのHW(Hard Ware)にアクセスすることは、OSの定期的なRTCアクセス動作と競合し、不具合を誘発することがあったためである。更に、第3の問題点は、BIOS側に大きな対応工数をかけなくてはいけない点である。この理由は、アプリケーション側の処理に、単純で汎用的なBIOSを駆動するI/Fが備わっていなかったためである。
したがって、本発明の目的は、システム装置設定情報に差分があっても、システム装置設定情報を引き継いだまま、オンライン上からBIOS更新を自動的に確実に実行することが可能な機能を提供することにある。
本発明の情報処理装置は、BIOSと、BIOS更新部とを具備する。ここで、BIOS更新部は、汎用のSMBIOSインターフェースを通してBIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有する。BIOS更新部は、BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出する。そして、当該差分に基づいて、リリースBIOSバージョン毎のCMOSマップ情報を参照して、現在のCMOSマップ情報をアップデート用のCMOSマップ情報へ更新する。
本発明の情報処理装置の動作方法は、BIOSと、汎用のSMBIOSインターフェースを通してBIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有するBIOS更新部とを具備する情報処理装置の動作方法である。BIOS更新部が、BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出するステップと、BIOS更新部が、当該差分に基づいて、リリースBIOSバージョン毎のCMOSマップ情報を参照して、現在のCMOSマップ情報をアップデート用のCMOSマップ情報へ更新するステップとを具備する。
本発明のプログラムは、BIOSと、汎用のSMBIOSインターフェースを通してBIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有するBIOS更新部とを具備する情報処理装置の動作方法をコンピュータに実行させるプログラムである。このプログラムは、BIOS更新部が、BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出するステップと、BIOS更新部が、当該差分に基づいて、リリースBIOSバージョン毎のCMOSマップ情報を参照して、現在のCMOSマップ情報をアップデート用のCMOSマップ情報へ更新するステップとを具備する情報処理装置の動作方法をコンピュータに実行させる。
本発明により、システム装置設定情報に差分があっても、システム装置設定情報を引き継いだまま、オンライン上からBIOS更新を自動的に確実に実行することが可能となる。
図1は、本発明の実施の形態に係る情報処理装置の構成の一例を示すブロック図である。 図2は、本発明の実施の形態に係る情報処理装置のBIOSアップデートに関わる構成を示すブロック図である。 図3は、本発明の実施の形態に係るOEM SMBIOS構造体の一例を示す図である。 図4は、本発明の実施の形態に係るCMOSマップ情報の一例を示す図である。 図5は、本発明の実施の形態に係る情報処理装置の動作を示すフロー図である。 図6は、本発明の実施の形態に係る情報処理装置の他の動作を示すフロー図である。
以下、本発明の情報処理装置、情報処理装置の動作方法及びそのプログラムの実施の形態に関して、添付図面を参照して説明する。
まず、本発明の実施の形態に係る情報処理装置の構成について説明する。図1は、本発明の実施の形態に係る情報処理装置の構成の一例を示すブロック図である。この情報処理装置20は、標準的なパーソナルコンピュータやサーバに例示されるコンピュータである。この情報処理装置20は、プロセッサ1と、フラッシュROM2と、CMOS3と、LANインターフェース4と、表示装置5と、入力装置6と、メインメモリ7と、外部記憶装置8とを有している。
プロセッサ1は、CPU(Central Processing Unit)に例示され、情報処理を行う。フラッシュROM(Read Only Memory)2は、情報処理装置の初期診断や基本標準入出力、セットアップ設定機能等を提供するBIOSを格納している。CMOS3は、SRAMに例示され、システム装置設定情報を格納している。LAN(Local Area Network)インターフェース4は、双方向通信可能に外部ネットワークと接続されている。表示装置5は、フラットパネルディスプレイに例示され、データや情報を表示する。入力装置6は、キーボードやマウスに例示され、情報処理装置へのデータや情報の入力を媒介する。メインメモリ7は、情報処理時に主記憶領域として使用される。外部記憶装置8は、HDD(Hard Disc Drive)やCD−ROM/DVD駆動装置に例示され、大容量のデータや情報を格納している。例えば、OSや後述されるBIOSアップデートアプリケーションを記憶している。
本発明では、以下の二つ手段により課題を解決する。
一つは、別途提供されるBIOSアップデートアプリケーションに、過去にリリースされた各BIOSバージョンごとのBIOS SETUP MENUの各項目のCMOSマップ内での位置や長さ、デフォルト(Default)設定や属性等に関する設定値情報プロファイル(CMOSマップ情報;後述)を格納し、標準的な構成のターゲット装置からフラッシュROM2へ格納されている現在のBIOSバージョンとCMOS3の全体データを取得し、更新する新BIOSバージョンのCMOSマップにマッチするように各項目ごとコンバートを行い、ターゲット装置のCMOS領域へ再設定する機能を追加する。
他の一つは、OS上から上記BIOSアップデートアプリケーションが汎用的に扱える、CMOSデータを編集するためのCMOS領域アクセスI/F(インターフェース)定義と、フラッシュROM2へ格納されたBIOSへ、そのI/Fを実現する機能を実装する。
これにより、都度、正しいCMOSマップへ変換してからBIOSアップデートを行うので、どの過去BIOSバージョンからどのBIOSバージョンへ更新を行っても、システム装置設定情報(BIOS SETUP MENU設定値)を引き継ぐことが可能となる。つまり、CMOSマップがどのような配置状態であっても、ダイレクトにBIOS設定情報を引き継ぐことが可能となるので、システム装置設定情報を手動で控えたり、いったんCMOS領域全体を初期化するなどの手順を踏まえなくとも、システム装置設定情報のミスマッチやPOST中の誤動作を引き起こさず、より利便性の高いオンラインBIOSアップデートソリューションを提供できる。以下、詳細に説明する。
図2は、本発明の実施の形態に係る情報処理装置のBIOSアップデートに関わる構成を示すブロック図である。情報処理装置20は、BIOSアップデートアプリケーション21、メモリ22、BIOS23、SMIコマンドポート(SMI Command Port)24を備えている。
BIOSアップデートアプリケーション21は、メインメモリ7に展開されプロセッサ1が動作させるOS上で動作する。例えば、外部記憶装置8に格納されている。BIOSアップデートアプリケーション21は、SMBIOS(System Management BIOS)関連の機能として、メモリ22上に展開されているSMBIOS構造体(SMBIOS Structure)31を取得する機能と、CMOSアクセスI/F用に用意されたOEM SMBIOS構造体(例示:図3;後述)41をSMBIOS構造体31内から識別する機能と、及び、BIOSバージョンについて確認する機能とを有する。また、BIOSアップデートアプリケーション21は、取得したOEM SMBIOS構造体41で提示されるCMOSアクセスI/FであるSoftware SMI(System Management Interrupt) Commandを実行する機能と、本CMOSアクセスI/Fを通してやりとりするCMOSデータバッファ32へのアクセス機能とを有する。
BIOSアップデートアプリケーション21は、更に、過去にリリースされた各BIOSバージョンごとのBIOS SETUP MENUの各項目のCMOSマップ内での位置や長さ、Default設定や属性等に関する設定値情報プロファイル(CMOSマップ情報)を格納している。そして、標準的な構成のターゲット装置からフラッシュROM2へ格納されている現在のBIOSバージョンとCMOS3の全体データを取得し、更新する新BIOSバージョンのCMOSマップにマッチするように項目ごとコンバートを行い、ターゲット装置のCMOS領域へ再設定する機能を有する。
BIOS23は、フラッシュROM2に格納されている。BIOS23は、内部に有する情報に基づいてOEM SMBIOS構造体41をPOST起動時に作成する機能と、OEM SMBIOS構造体41にて提示されるSoftware SMI Commandにて実行されるSMIハンドラ(SMI Handler)33を用意する機能とを有する。このSMIハンドラ33は、BIOSアップデートアプリケーション21がSMIコマンドポート24へSoftware SMI Command値をライトすることで駆動される。また、BIOS23は、OS起動前にOSに使用されない領域をメモリ22上に設定し、CMOSデータをやりとりするCMOSバッファ32として用意する。
メモリ22は、メモリ空間として、例えばメインメモリ7に確保される。メモリ22は、BIOSアップデートアプリケーション21とSMIハンドラ33とがCMOSデータをやりとりする専用領域としてのCMOSバッファ32と、OEM SMBIOS構造体41を含むSMBIOS構造体31がBIOS23により展開される領域とを含んでいる。
SMIコマンドポート24は、BIOSアップデートアプリケーション21がSMIハンドラ33を駆動するときにSoftware SMI Command値をライトするポートであり、ハードウェア又はソフトウェアで実現される。
図3は、本発明の実施の形態に係るOEM SMBIOS構造体の一例を示す図である。OEM SMBIOS構造体41は、BIOSアップデートアプリケーション21によるCMOSアクセス用のI/F情報を定義している。このOEM SMBIOS構造体41は、Offset2hまでは汎用のヘッダである。Offset4hの“Rev”は、本発明のI/F Revisionを示す。Offset5hの“Cmd1”は、BIOSへ指示するCMOSエリアのリードシーケンス用のSoftware SMI Command値を示す。Offset6hの“Cmd2”は、ライトシーケンス用Command値を示す。Offset7hの“Addr”(アドレスバッファ)は、BIOSアップデートアプリケーション21がCMOSデータをBIOS23とやりとりするためのバッファの物理アドレスを示し、このアドレスにOSからは使えない領域としてCMOS全体容量分が確保される。
また、図4は、本発明の実施の形態に係るCMOSマップ情報の一例を示す図である。このCMOSマップ情報(システム装置設定情報)は、CMOSマップの比較を行うために用いられ、ハンドルするトークンやアイテム名の他、BANK、Offset、長さ、デフォルト設定値、属性等の情報を含んでいる。BIOSアップデートアプリケーション21は、過去にリリースされたBIOSバージョンごとにこのCMOSマップ情報を持つことで、CMOSマップ同士の完全な比較を実施し、CMOSマップ変換を行うことが可能である。
次に、本発明の実施の形態に係る情報処理装置の動作について説明する。
図5は、本発明の実施の形態に係る情報処理装置の動作を示すフロー図である。この図は、BIOS23によるPOST処理を示している。このPOST処理において、本実施の形態に係る情報処理装置のBIOS機能とBIOSアップデートアプリケーション機能とを実現可能とする。
まず、情報処理装置の電源オンにより、BIOS23は、POSTスタートし(ステップS01)、HW初期化フェーズを実行する(ステップS02)。HW初期化フェーズ終了後、BIOS23は、BIOSアップデートアプリケーション21から一意にアクセス可能な専用領域として、CMOSデータをやりとりするための、OS上からは利用できないバッファを確保する(ステップS03)。続いて、BIOS23は、OSに渡すことができる汎用I/FであるSMBIOS構造体31を作成する(ステップS04)。そのとき、BIOS23は、BIOSアップデートアプリケーション21に渡すCMOSアクセス用のI/F情報を定義したOEM SMBIOS構造体41を作成する(ステップS05)。
これにより、BIOSアップデートアプリケーション21は、このOEM SMBIOS構造体41(“Addr”など)に基づいて、独自に扱える(OSから隠蔽された)CMOSバッファ32を、ステップS03で確保された専用領域内に定義する。このOEM SMBIOS構造体41に提示されたCMOSバッファ32は、BIOS23の一部であるSoftware SMIハンドラ33とBIOSアップデートアプリケーション21との間で、CMOSデータを受け渡す専用領域として使われる。また、BIOSアップデートアプリケーション21が直接CMOSアクセスしなくて良いように、BIOS23は、CMOS3へのRead/WriteのためのBIOS I/F(Software SMI)を、OEM SMBIOS構造体41に基づいて定義する。従って、BIOS23に実装されたSMIハンドラ33は、そのBIOS I/Fに基づいて、CMOSアクセスを実現する。このとき、データは、定義されたCMOSバッファ32で受け渡しされる。その結果、課題として上述されたOSのRTCアクセスとの競合を回避でき、実際のHWアクセス部分に関しては、どのOS種別のアプリケーションからも共通のI/Fで実行することが可能となる。
その後、POST終了の後、OSへ処理をハンドオフする(ステップS06)。以上のようにして、本発明の実施の形態に係る情報処理装置の動作(BIOS23によるPOST処理)が終了する。
図6は、本発明の実施の形態に係る情報処理装置の他の動作を示すフロー図である。この図は、OS稼働中のシステム装置設定情報の互換引継ぎ処理を含むBIOSアップデート動作を示している。
図6において、OS起動後、BIOSアップデートアプリケーション21は、SMBIOS構造体31をメモリ22から取得する。そして、OEM SMBIOS構造体41が含まれているか否かをチェックする(ステップS11)。BIOSアップデートアプリケーション21は、OEM SMBIOS構造体41を検出した場合(ステップS11:Yes)、システム装置設定情報の互換維持機能ありとしてステップS12以降の動作を実行する。OEM SMBIOS構造体41を検出しなかった場合(ステップS11:No)、通常のBIOSアップデート処理(ステップS17)を実行する。
BIOSアップデートアプリケーション21は、情報処理装置のFlash(フラッシュROM2)へ書き込むアップデート用の最新BIOSデータ(最新BIOSバージョンのCMOSマップ情報を含む)と共に、過去にリリースされた各BIOSバージョンのCMOSマップ情報を全て含んでいる。ここで、CMOSマップ情報は、図4に示されるようなCMOSマップ/属性情報の一覧に例示される。このCMOSマップ情報はBIOS Build時に自動生成されるもので、特に新たに作成する必要はなく、リリース目的のBIOS BuildごとにBIOSアップデートアプリケーション21に保存されている。
BIOSアップデートアプリケーション21は、OEM SMBIOS構造体41の情報に基づいて、Software SMI CommandをSMIコマンドポート24に書き込む。BIOS23のSMIハンドラ33は、そのSoftware SMI Commandを参照して、BIOS I/Fに基づいて、ターゲット装置(又はCMOS3)からCMOSデータを取得する。そして、そのCMOSデータを、CMOSバッファ32を介してBIOSアップデートアプリケーション21へ出力する(ステップS12)。更に、BIOS23のSMIハンドラ33は、そのSoftware SMI Commandを参照して、BIOS I/Fに基づいて、ターゲット装置(又は又はCMOS3)からBIOSバージョンを取得する。そして、そのBIOSバージョンを、CMOSバッファ32を介してBIOSアップデートアプリケーション21へ出力する(ステップS13)。すなわち、BIOSアップデートアプリケーション21は、SMIハンドラ33により、図3の説明で定義されたOEM SMBIOS構造体41のOEM SMBIOSで提示されるリードシーケンスであるBIOS IF(Software SMI)を使ってターゲット装置からCMOSデータを取得し、更にターゲット装置のBIOSバージョンを取得する。
BIOSアップデートアプリケーション21は、自身が格納しているCMOSマップ情報(システム装置設定情報)が、ターゲット装置から取得したBIOSバージョンに対応しているか否かを確認する(ステップS14)。ターゲット装置から取得したBIOSバージョンに対応するCMOSマップ情報が検出された場合(ステップS14:Yes)、BIOSアップデートアプリケーション21は、以下のアップデート処理を行う。すなわち、BIOSアップデートアプリケーション21は、まず、これからアップデートする最新のBIOSバージョンのCMOSマップ情報と、ターゲット装置から取得したCMOSマップ情報との間で、CMOSマップマッチングを行うことで差分を検出する。次に、これから書き込む最新のBIOSのCMOSマップ情報に合わせて、取得したCMOSマップ情報の各アイテムのCMOSデータをコンバートし、図5のフローで準備したOSに隠蔽されたメモリ上のCMOSバッファ32へ格納する(ステップS15)。その後、BIOSアップデートアプリケーション21は、最新BIOS用にコンバートしてCMOSバッファ32へ格納されたCMOSデータに関して、ライトシーケンスであるSoftware SMI Commandを実行する。それにより、BIOS IF(Software SMI)が駆動され、BIOS23のSMIハンドラ33がCMOSバッファ32のCMOSデータをCMOS3へ直接書き込む(ステップS16)。
各アイテムのCMOSデータのコンバートは、例えば、検出された差分について、アイテムごとに、最新のBIOSのCMOSマップ情報と取得したCMOSマップ情報との間にリリースされた各BIOSバージョンのCMOSマップ情報を用いて、順次バージョンアップすることで行ことができる。
引き続いて、BIOSアップデートアプリケーション21は、BIOS23自体のアップデート処理を進める(ステップS17)。それにより、再起動後、新BIOSが適用される。このとき、旧BIOSバージョンからどのBIOSバージョンへ更新したとしても、CMOSマップ情報に応じた変換が正しく、漏れなく行われ、システム装置設定情報の引継ぎが可能となる。なお、ターゲット装置から取得したBIOSバージョンに対応するCMOSマップ情報が検出されなかった場合(ステップS14:No)、BIOSアップデートアプリケーション21は、直ちに、BIOS23自体のアップデート処理を進める(ステップS17)。
上記BIOS23及びBIOSアップデートアプリケーション21の実装により、BIOS更新のリスクを無くすることができ、BIOS新機能のタイムリでリーズナブルな提供がオンライン上の操作で可能となり、ユーザビリティの向上を低コストで実現することが出来る。
以上のように、本発明では、運用中の現行BIOSと更新する新BIOSとの間においてBIOSのシステム装置設定情報に差分があっても自動解決することが可能な機能を、BIOSとBIOSを更新するツールに実装する。また、OSを透過して利用できるメモリ空間を、汎用インターフェースを通してツールに提供することにより、オンライン環境(Windows(登録商標)やLinux等)に左右されず、BIOS設定を反映する機能を実装する。これにより、設定情報に差分があっても、手動にて設定更新することなく、装置設定情報を引き継いだまま、オンライン上からBIOS更新を確実に実行する機能を提供することが可能となる。また、特殊な追加HWを必要とせず、安価に実装できる。
本発明は以下の効果を有する。第1の効果は、システム装置設定情報を引き継いだまま、BIOSのアップデートが可能となることにある。その理由は、BIOSアップデートアプリケーションが全てのリリースBIOSバージョンのCMOSマップ情報(ファイル)を持ち、CMOSマップ情報の変換機能を備えるためである。
第2の効果は、オンライン稼働中(OS動作中)に関わらず、BIOSアップデート実行の中で、CMOSマップ情報を変更可能なことにある。その理由は、BIOSにて、CMOS HWへのアクセスをアシストするI/F情報を提供し、実際にCMOSデータを変更する機能を持つためである。
第3の効果は、いったん別の領域にCMOS情報を格納し、次の再起動中のPOSTフェーズで適用するよりリスクが少ないことにある。その理由は、オンライン稼働中に直接CMOSを変更するので、BIOS更新フロー全体の中で、外部要因による阻害効果を受ける期間が短く、要因となる要素も少ないためである。
第4の効果は、低コスト化できる点にある。その理由は、BIOSにBIOSアップデートアプリケーションの実装のみに依存し、いずれも再利用性の高い機能として、装置プラットフォーム個別の対応をとる必要が無いためである。
第5の効果は、特定のシステム装置設定情報のみをオンライン上から柔軟に変更が可能という点にある。その理由は、汎用I/Fを利用することで、単純な実装が可能であり、特定項目だけを変更する機能へと簡単に応用が利くためである。
第6の効果は、BIOSアップデート時の障害率を下げるものである。その理由は、必ずCMOSマップを合わせてからBIOSアップデートを実行するので、従来のBIOSアップデートフローよりも、システム装置設定情報のアンマッチ状態となる可能性が低いためである。
本発明のプログラム、データは、コンピュータ読取可能な記憶媒体に記録され、その記憶媒体から情報処理装置に読み込まれても良い。
本発明は上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変形又は変更され得ることは明らかである。
本発明によれば、より高度な保守性を必要とする、あらゆるPC/サーバシステムにおいて、ユーザ負担を軽減することが期待されるPC/サーバ分野の装置において適用できる。
1 プロセッサ
2 フラッシュROM
3 CMOS
4 LANインターフェース
5 表示装置
6 入力装置
7 メインメモリ
8 外部記憶装置
20 情報処理装置
21 BIOSアップデートアプリケーション
22 メモリ
23 BIOS
24 SMIコマンドポート
31 SMBIOS構造体
32 CMOSバッファ
33 SMIハンドラ
41 OEM SMBIOS構造体

Claims (15)

  1. BIOSと、
    汎用のSMBIOSインターフェースを通して前記BIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有するBIOS更新部と
    を具備し、
    前記BIOS更新部は、
    前記BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、前記アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出し、
    当該差分に基づいて、前記リリースBIOSバージョン毎のCMOSマップ情報を参照して、前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新する
    情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記BIOSは、CMOSにアクセスするSMIハンドラを備え、
    前記BIOSは、SMBIOS構造情報内にCMOSアクセスインターフェースを示す専用SMBIOS構造情報を作成して前記BIOS更新部へ提供し、
    前記BIOS更新部は、前記専用SMBIOS構造情報に基づいて、前記SMIハンドラへ前記現在のBIOSバージョン及び前記現在のCMOSマップ情報の取得を指示し、
    前記SMIハンドラは、前記BIOS更新部からの指示を受けて、前記CMOSアクセスインターフェースにより、前記CMOSにアクセスして前記現在のBIOSバージョン及び前記現在のCMOSマップ情報を取得する
    情報処理装置。
  3. 請求項2に記載の情報処理装置において、
    前記BIOSは、メモリ内にOSから隠蔽されたメモリ領域を構築し、
    前記BIOS更新部と前記SMIハンドラとは、前記メモリ領域を介して情報の授受を行う
    情報処理装置。
  4. 請求項1乃至3のいずれか一項に記載の情報処理装置において、
    前記BIOS更新部は、当該差分に基づいて、前記アップデート用のCMOSマップ情報と前記現在のCMOSマップ情報との間にリリースされた前記リリースBIOSバージョン毎のCMOSマップ情報を用いて、順次バージョンアップすることで、前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新する
    情報処理装置。
  5. 請求項1乃至4のいずれか一項に記載の情報処理装置において、
    前記CMOSマップ情報は、BIOS SETUP MENUの各項目のCMOSマップ内での位置、長さ、デフォルト設定、属性の情報を含む
    情報処理装置。
  6. BIOSと、汎用のSMBIOSインターフェースを通して前記BIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有するBIOS更新部とを具備する情報処理装置の動作方法であって、
    前記BIOS更新部が、前記BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、前記アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出するステップと、
    前記BIOS更新部が、当該差分に基づいて、前記リリースBIOSバージョン毎のCMOSマップ情報を参照して、前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新するステップと
    を具備する
    情報処理装置の動作方法。
  7. 請求項6に記載の情報処理装置において、
    前記BIOSは、CMOSにアクセスするSMIハンドラを備え、
    前記BIOSが、SMBIOS構造情報内にCMOSアクセスインターフェースを示す専用SMBIOS構造情報を作成して前記BIOS更新部へ提供するステップと、
    前記BIOS更新部が、前記専用SMBIOS構造情報に基づいて、前記SMIハンドラへ前記現在のBIOSバージョン及び前記現在のCMOSマップ情報の取得を指示するステップと、
    前記SMIハンドラが、前記BIOS更新部からの指示を受けて、前記CMOSアクセスインターフェースにより、前記CMOSにアクセスして前記現在のBIOSバージョン及び前記現在のCMOSマップ情報を取得するステップと
    を更に具備する
    情報処理装置。
  8. 請求項7に記載の情報処理装置において、
    前記BIOSが、メモリ内にOSから隠蔽されたメモリ領域を構築するステップを更に具備し、
    前記BIOS更新部と前記SMIハンドラとは、前記メモリ領域を介して情報の授受を行う
    情報処理装置。
  9. 請求項6乃至8のいずれか一項に記載の情報処理装置において、
    前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新するステップは、
    前記BIOS更新部が、当該差分に基づいて、前記アップデート用のCMOSマップ情報と前記現在のCMOSマップ情報との間にリリースされた前記リリースBIOSバージョン毎のCMOSマップ情報を用いて、順次バージョンアップすることで、前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新するステップを備える
    情報処理装置。
  10. 請求項6乃至9のいずれか一項に記載の情報処理装置において、
    前記CMOSマップ情報は、BIOS SETUP MENUの各項目のCMOSマップ内での位置、長さ、デフォルト設定、属性の情報を含む
    情報処理装置。
  11. BIOSと、汎用のSMBIOSインターフェースを通して前記BIOSと連携して動作し、アップデート用のCMOSマップ情報及びリリースBIOSバージョン毎のCMOSマップ情報を有するBIOS更新部とを具備する情報処理装置の動作方法をコンピュータに実行させるプログラムであって、
    前記BIOS更新部が、前記BIOSから取得した現在のBIOSバージョン及び現在のCMOSマップ情報と、前記アップデート用のCMOSマップ情報との差分をCMOSマップマッチングで検出するステップと、
    前記BIOS更新部が、当該差分に基づいて、前記リリースBIOSバージョン毎のCMOSマップ情報を参照して、前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新するステップと
    を具備する情報処理装置の動作方法をコンピュータに実行させるプログラム。
  12. 請求項11に記載のプログラムにおいて、
    前記BIOSは、CMOSにアクセスするSMIハンドラを備え、
    前記BIOSが、SMBIOS構造情報内にCMOSアクセスインターフェースを示す専用SMBIOS構造情報を作成して前記BIOS更新部へ提供するステップと、
    前記BIOS更新部が、前記専用SMBIOS構造情報に基づいて、前記SMIハンドラへ前記現在のBIOSバージョン及び前記現在のCMOSマップ情報の取得を指示するステップと、
    前記SMIハンドラが、前記BIOS更新部からの指示を受けて、前記CMOSアクセスインターフェースにより、前記CMOSにアクセスして前記現在のBIOSバージョン及び前記現在のCMOSマップ情報を取得するステップと
    を更に具備する情報処理装置の動作方法をコンピュータに実行させるプログラム。
  13. 請求項12に記載のプログラムにおいて、
    前記BIOSが、メモリ内にOSから隠蔽されたメモリ領域を構築するステップを更に具備し、
    前記BIOS更新部と前記SMIハンドラとは、前記メモリ領域を介して情報の授受を行う
    情報処理装置の動作方法をコンピュータに実行させるプログラム。
  14. 請求項11乃至13のいずれか一項に記載のプログラムにおいて、
    前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新するステップは、
    前記BIOS更新部が、当該差分に基づいて、前記アップデート用のCMOSマップ情報と前記現在のCMOSマップ情報との間にリリースされた前記リリースBIOSバージョン毎のCMOSマップ情報を用いて、順次バージョンアップすることで、前記現在のCMOSマップ情報を前記アップデート用のCMOSマップ情報へ更新するステップを備える
    情報処理装置の動作方法をコンピュータに実行させるプログラム。
  15. 請求項11乃至14のいずれか一項に記載のプログラムにおいて、
    前記CMOSマップ情報は、BIOS SETUP MENUの各項目のCMOSマップ内での位置、長さ、デフォルト設定、属性の情報を含む
    情報処理装置の動作方法をコンピュータに実行させるプログラム。
JP2009000832A 2009-01-06 2009-01-06 情報処理装置、情報処理装置の動作方法及びそのプログラム Expired - Fee Related JP5126686B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009000832A JP5126686B2 (ja) 2009-01-06 2009-01-06 情報処理装置、情報処理装置の動作方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009000832A JP5126686B2 (ja) 2009-01-06 2009-01-06 情報処理装置、情報処理装置の動作方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2010160558A true JP2010160558A (ja) 2010-07-22
JP5126686B2 JP5126686B2 (ja) 2013-01-23

Family

ID=42577697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009000832A Expired - Fee Related JP5126686B2 (ja) 2009-01-06 2009-01-06 情報処理装置、情報処理装置の動作方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP5126686B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161210A (ja) * 2012-02-03 2013-08-19 Nec Computertechno Ltd 情報処理装置、情報取得方法、及びプログラム
JP2015512535A (ja) * 2012-03-31 2015-04-27 インテル・コーポレーション システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム
CN104573526A (zh) * 2014-12-25 2015-04-29 百度在线网络技术(北京)有限公司 软件产品多版本管理方法、装置以及计算机设备
JP2016157245A (ja) * 2015-02-24 2016-09-01 日本電気株式会社 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JP2019061644A (ja) * 2017-09-26 2019-04-18 廣達電脳股▲ふん▼有限公司 ファームウェアのアップデート中のファームウェア設定の保持
CN111062182A (zh) * 2019-11-22 2020-04-24 宁波大学 矩阵表示的纳米cmos电路常开缺陷的快速映射方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962607A (ja) * 1995-08-25 1997-03-07 Toshiba Corp コンピュータシステム
US6122732A (en) * 1998-10-23 2000-09-19 Compaq Computer Corporation System management interrupt for a desktop management interface/system management basic input output system interface function
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
JP2005338955A (ja) * 2004-05-24 2005-12-08 Denso Corp 電子制御装置
JP2006079445A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 周辺機器種別判別装置、周辺機器種別判別プログラムおよび周辺機器種別判別方法
US20060168386A1 (en) * 2005-01-25 2006-07-27 Mudusuru Giri P System management interrupt interface wrapper
US20070174603A1 (en) * 2006-01-20 2007-07-26 Asustek Computer Inc. Method and system for maintaining system management BIOS
JP2008065618A (ja) * 2006-09-07 2008-03-21 Fuji Electric Holdings Co Ltd ファームウェア更新に伴いバックアップデータ更新可能な組込み機器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962607A (ja) * 1995-08-25 1997-03-07 Toshiba Corp コンピュータシステム
US6122732A (en) * 1998-10-23 2000-09-19 Compaq Computer Corporation System management interrupt for a desktop management interface/system management basic input output system interface function
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
JP2005338955A (ja) * 2004-05-24 2005-12-08 Denso Corp 電子制御装置
JP2006079445A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 周辺機器種別判別装置、周辺機器種別判別プログラムおよび周辺機器種別判別方法
US20060168386A1 (en) * 2005-01-25 2006-07-27 Mudusuru Giri P System management interrupt interface wrapper
US20070174603A1 (en) * 2006-01-20 2007-07-26 Asustek Computer Inc. Method and system for maintaining system management BIOS
JP2008065618A (ja) * 2006-09-07 2008-03-21 Fuji Electric Holdings Co Ltd ファームウェア更新に伴いバックアップデータ更新可能な組込み機器

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161210A (ja) * 2012-02-03 2013-08-19 Nec Computertechno Ltd 情報処理装置、情報取得方法、及びプログラム
JP2015512535A (ja) * 2012-03-31 2015-04-27 インテル・コーポレーション システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム
US9880862B2 (en) 2012-03-31 2018-01-30 Intel Corporation Method and system for verifying proper operation of a computing device after a system change
CN104573526A (zh) * 2014-12-25 2015-04-29 百度在线网络技术(北京)有限公司 软件产品多版本管理方法、装置以及计算机设备
CN104573526B (zh) * 2014-12-25 2018-01-12 百度在线网络技术(北京)有限公司 软件产品多版本管理方法、装置以及计算机设备
JP2016157245A (ja) * 2015-02-24 2016-09-01 日本電気株式会社 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JP2019061644A (ja) * 2017-09-26 2019-04-18 廣達電脳股▲ふん▼有限公司 ファームウェアのアップデート中のファームウェア設定の保持
CN111062182A (zh) * 2019-11-22 2020-04-24 宁波大学 矩阵表示的纳米cmos电路常开缺陷的快速映射方法
CN111062182B (zh) * 2019-11-22 2023-05-02 宁波大学 矩阵表示的纳米cmos电路常开缺陷的快速映射方法

Also Published As

Publication number Publication date
JP5126686B2 (ja) 2013-01-23

Similar Documents

Publication Publication Date Title
US10452404B2 (en) Optimized UEFI reboot process
TWI515660B (zh) 韌體變量更新方法
JP5889933B2 (ja) コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
JP5126686B2 (ja) 情報処理装置、情報処理装置の動作方法及びそのプログラム
JP2002244874A (ja) 情報処理装置およびファームウェア更新方法
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
TW200530910A (en) Method and apparatus for remote modification of system configuration
JP2007149065A (ja) 情報処理装置、bios処理方法及びプログラム
TW201239759A (en) BIOS update method and computer system for using the same
TW200837553A (en) Master boot record management
US9411605B2 (en) Device-less and system agnostic unified extensible firmware interface (UEFI) driver
JP2008276555A (ja) 情報処理装置、およびファームウェア更新方法
JP2015102889A (ja) ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム
JP2011123875A (ja) 管理エンジンを利用する仮想バスデバイス
TWI707274B (zh) 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體
TWI505078B (zh) 系統管理控制器、電腦系統、以及系統管理方法
TWI450194B (zh) 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體
JP2015060411A (ja) 情報処理装置のファームウェア更新方法
CN102591691B (zh) 硬盘启动方法和基于bios的操作系统启动加载方法
TWI518594B (zh) 計算機系統與計算機系統啓動方法
WO2008048581A1 (en) A processing device operation initialization system
TWI726524B (zh) 電子處理裝置及記憶體控制方法
JP2013214122A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
TW200923782A (en) A bootloader self-update system and method thereof
JP2008059388A (ja) 情報処理装置および情報処理装置に適用されるハードディスクのデータ消去方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5126686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees