(57)【特許請求の範囲】
【請求項１】
ＢＩＯＳ設定情報に基づいて起動する情報処理装置であって、
ＢＩＯＳ設定情報に対する変更情報を入力する入力部と、
前記ＢＩＯＳ設定情報を格納する格納部と、
前記情報処理装置をリブートするときに前記入力部により入力された前記変更情報と、
前記格納部に格納された前記ＢＩＯＳ設定情報とを参照してメモリの初期化を行った後に、前記変更情報を基に前記格納部に格納された前記ＢＩＯＳ設定情報を変更する変更部とを備える情報処理装置。
【請求項２】
前記入力部は、ＢＭＣ（ベースボード・マネージメント・コントローラ）であることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記格納部を第１の格納部とする場合、前記入力部は、入力した前記変更情報を格納する第２の格納部を備えることを特徴とする請求項１乃至２の何れか一項記載の情報処理装置。
【請求項４】
前記変更部は、情報処理装置起動時に前記ＢＩＯＳ設定情報を参照するＢＩＯＳは、前記第１の格納部と前記第２の格納部とを基に前記第１の格納部に作成されるテンポラリテーブルを参照することを特徴とする請求項３記載の情報処理装置。 
【請求項５】
前記テンポラリテーブルは、前記ＢＩＯＳ設定情報に、前記変更情報を反映した内容と同
じ内容である ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記第２の格納部は、前記変更情報が入力されたか否かを示す情報を格納することを特徴とする請求項３乃至５の何れか一項記載の情報処理装置。
【請求項７】
ＢＩＯＳ設定情報に基づいて起動する情報処理装置において、 
リブートするときのメモリの初期化を、入力された変更情報と格納部に格納された前記ＢＩＯＳ設定情報とを参照して行った後に、前記変更情報を基に前記格納部に格納された前記ＢＩＯＳ設定情報を変更するＢＩＯＳ設定情報変更方法。 
【請求項８】
リブートするときのメモリの初期化を、入力された変更情報と格納部に格納されたＢＩＯＳ設定情報とを参照して行う初期化機能と、初期化機能の終了後に、前記変更情報を基に前記格納部に格納された前記ＢＩＯＳ設定情報を変更する変更機能と 、コンピュータに実現させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＩＯＳが参照するＢＩＯＳ設定情報の変更に関する。
【背景技術】
【０００２】
ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）は、コンピュータ等の情報処理装置のマザーボード上に搭載されているプログラムである。
【０００３】
ＢＩＯＳは、ＢＩＯＳ設定情報を参照して、周辺機器やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のコア数、メモリの動作モードなどを決定し、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動するために必要な処理を実施する。
【０００４】
ユーザがＢＩＯＳ設定情報を更新する方法は、２つある。１つめの方法は、ＢＩＯＳセットアップメニューを利用して更新する方法である。もう１つの方法は、その情報処理装置とは別の情報処理装置において動作する外部ツールにより更新する方法である。どちらの手段においても、更新したＢＩＯＳ設定情報を反映させるために情報処理装置を再起動（以下では、リブート（Ｒｅｂｏｏｔ）ともいう。また、単に「起動」ともいう。）する必要がある。
【０００５】
これに加えて、後者の外部ツールにより更新する方法では、情報処理装置をさらにもう１回リブートしなければならない。これは、外部ツールにより更新した値を、ＢＩＯＳセットアップメニューに同期するタイミングによる制約のためである。外部ツールにより更新したＢＩＯＳ設定情報をＢＩＯＳが使うために、ＢＩＯＳは、メモリ初期化処理を実行する前に、ＢＩＯＳ設定情報について同期処理を行う必要がある。しかし、ＢＩＯＳは、メモリ初期化処理を行う前のフェーズでは、ＣＰＵのキャッシュをメモリ代わりにして動作している。そのため、ＢＩＯＳは、ＢＩＯＳ設定情報が格納されている大量のデータをメモリ上にロードすることができない。よって、メモリ初期化処理を行うことによりメモリを多く確保することが可能になってから、ＢＩＯＳは、ＢＩＯＳ設定情報について同期処理を実行する。この同期処理によりＢＩＯＳ設定情報を変更した場合、変更後の設定情報を参照して情報処理装置をリブートする必要がある。そのため、外部ツールによりＢＩＯＳ設定情報を更新する場合は、１回多くリブートが発生する。
【０００６】
小規模な構成の情報処理装置では、リブートが１回増えることは、起動時間において、さほど問題とならない。しかし、大規模な構成の情報処理装置では、起動時間の大半をメモリ初期化処理が占めており、メモリ初期化後に再度リブートすることで、全体の起動時間は、通常の約２倍に長くなる。このことは、この情報処理装置を含むシステムの保守や運用作業において妨げとなる。
【０００７】
ここで、本願出願に先だって存在する関連技術としては、例えば以下の特許文献がある。
【０００８】
特許文献１は、ＢＩＯＳのモジュール構成に影響を与えず、かつ、非常に短時間でＢＩＯＳのパラメータを変更する情報処理装置を開示している。
【０００９】
特許文献２は、ＢＩＯＳ設定情報の更新を、都合のよいタイミングで、その時点のＢＩＯＳの設定を参照しながら行うことができ、かつ、ＢＩＯＳ設定更新対象の情報処理装置のダウンタイムの増大を抑制する情報処理装置を開示している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−１６１４８４号公報
【特許文献２】特開２０１２−０９８８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１は、ＢＩＯＳのパラメータを書き換える時間を短縮することを目的としており、ＢＩＯＳ起動時の処理については、考慮していない。
【００１２】
特許文献２は、外部ツールからＢＩＯＳ設定情報を変更する方法を開示しているが、メモリを初期化する処理と、ＢＩＯＳ設定情報を変更する処理との処理順序について考慮していない。
【００１３】
そこで、本発明は、外部ツールによりＢＩＯＳ設定情報を変更する場合に情報処理装置の起動にかかる時間を短縮することが可能な情報処理装置等の提供を主たる目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成すべく、本発明の一態様に係る情報処理装置は、以下の構成を備える。
【００１５】
即ち、本発明の一態様に係る情報処理装置は、
ＢＩＯＳ設定情報に基づいて起動する情報処理装置であって、
ＢＩＯＳ設定情報に対する変更情報を入力する入力部と、
前記ＢＩＯＳ設定情報を格納する格納部と、
前記情報処理装置をリブートするときに前記入力部により入力された前記変更情報と、前記格納部に格納された前記ＢＩＯＳ設定情報とを参照してメモリの初期化を行った後に、前記変更情報を基に前記格納部に格納された前記ＢＩＯＳ設定情報を変更する変更部とを備える。
【００１６】
同目的を達成する本発明の一態様に係るＢＩＯＳ設定情報変更方法は、
ＢＩＯＳ設定情報に基づいて起動する情報処理装置において、
リブートするときのメモリの初期化を、入力された変更情報と前記格納部に格納された前記ＢＩＯＳ設定情報とを参照して行った後に、前記変更情報を基に前記格納部に格納された前記設定情報を変更する。
【００１７】
更に、同目的は、上記構成を有する情報処理装置、或いは、ＢＩＯＳ設定情報変更方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１８】
上記の本発明によれば、外部ツールによりＢＩＯＳ設定情報を変更する場合に情報処理装置の起動にかかる時間を短縮することができるという効果がある。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係る情報処理装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態に係るＢＩＯＳ設定情報２３を説明する図である。
【図４】は、本発明の第２の実施形態に係るＢＩＯＳ設定情報１３と、テンポラリテーブルを説明する図である。
【図５】本発明の第２の実施形態に係る情報処理装置におけるＢＩＯＳを起動する処理を示すフローチャートである。
【図６】本発明の第２の実施形態に係る情報処理装置におけるテンポラリテーブルを作成する処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
次に、本発明を実施する形態について図面を参照して詳細に説明する。
【００２１】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【００２２】
本実施形態に係る情報処理装置１は、入力部２と、変更部３と、格納部４とを有する。
【００２３】
情報処理装置１は、格納部４に格納されたＢＩＯＳ設定情報に基づいて起動する。
【００２４】
入力部２は、情報処理装置１を起動するときにＢＩＯＳが参照するＢＩＯＳ設定情報に対する変更情報を入力する。
【００２５】
変更部３は、情報処理装置１をリブートするときに、入力部２により入力された変更情報と、格納部４に格納されたＢＩＯＳ設定情報とを参照してメモリの初期化を行う。そして、その初期化後に、変更部３は、変更情報を基に、格納部４に格納されたＢＩＯＳ設定情報を変更する。
【００２６】
以上、説明した第１の実施形態には、ＢＩＯＳ設定情報を変更する場合に情報処理装置の起動にかかる時間を短縮することができるという効果がある。
【００２７】
その理由は、本実施形態に係る情報処理装置１は、リブートされたときに、格納部４に格納されたＢＩＯＳ設定情報と、変更情報とを参照してメモリの初期化を行うからである。したがって、格納部４に格納されたＢＩＯＳ設定情報を、変更情報に基いて変更した後に、再度リブートを行う必要がない。
【００２８】
＜第２の実施形態＞
次に上述した第１の実施形態に係る情報処理装置を基本とする第２の実施形態について説明する。図２は、本発明の第２の実施形態に係る情報処理装置の構成を示すブロック図である。ただし、図２に示す構成は、一例であって、本発明は、図２に示す情報処理装置に限定されない。例えば、図２では、ＣＰＵ１１と、ＢＭＣ２１と、記憶部１２と、記憶部２２と、外部ツール３１（管理ＰＣを含む）は、説明の便宜上、１つずつ存在することとしているが、１つとは限らない。また、情報処理装置が、さらに別の部品を含んでいても問題ない。
【００２９】
本実施形態に係る情報処理装置１０は、ＣＰＵ１１と、記憶部１２と、ＢＭＣ（ベースボード・マネージメント・コントローラ、Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）２１と、記憶部２２とを含む。ここで、ＣＰＵ１１は、図１に示す変更部３に含まれてもよい。また、記憶部１２は、格納部４に含まれてもよい。ＢＭＣ２１と記憶部２２は、入力部２に含まれてもよい。
【００３０】
ＣＰＵ１１とＢＭＣ２１は、データを通信することが可能なインタフェースを持っている。ＣＰＵ１１とＢＭＣ２１は、例えば、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）コマンドを用いることにより、通信する。
【００３１】
ＢＩＯＳ１１１は、ＣＰＵ１１で動作するファームウェアである。記憶部１２は、ＢＩＯＳ１１１が使用する不揮発性メモリである。そして、記憶部１２は、ＢＩＯＳ１１１を起動するために必要な設定値であるＢＩＯＳ設定情報１３を格納している。ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３を基に各種設定を行い、起動する。
【００３２】
ＢＭＣＦＷ（ＢＭＣ  Ｆｉｒｍ−Ｗａｒｅ）２１１は、ＢＭＣ２１で動作するファームウェアである。記憶部２２は、ＢＭＣＦＷ２１１が使用する不揮発性メモリである。そして、記憶部２２は、ＢＩＯＳ設定情報１３に含まれる情報のうち、例えば、外部ツールにより変更することが可能なＢＩＯＳ設定情報２３を格納している。
【００３３】
ＢＭＣ２１は、外部ツール３１とデータを通信することが可能なインタフェースを持っている。ＢＭＣ２１と外部ツール３１は、例えば、ＩＰＭＩコマンドを用いることにより、通信する。
【００３４】
外部ツール３１は、例えば管理ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）において実行されるソフトウェアである。ユーザは、外部ツール３１を使用して、管理ＰＣに格納されているＢＩＯＳ設定情報３２を変更することができる。
【００３５】
ユーザが外部ツール３１により変更したＢＩＯＳ設定情報３２は、ＢＭＣＦＷ２１１によってＢＩＯＳ設定情報２３に格納される。ＢＩＯＳ設定情報３２をＢＩＯＳ設定情報２３にコピーする手段の１つとしてＩＰＭＩコマンドがある。
【００３６】
ＢＩＯＳ１１１は、起動するときに、外部ツール３１による変更内容を含むＢＩＯＳ設定情報２３を取得し、その内容を参照して、メモリの初期化を行う。それから、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３とＢＩＯＳ設定情報２３の同期処理を行う。これにより、ＢＩＯＳ設定情報１３に、ＢＩＯＳ設定情報２３の値が反映される。すなわち、ＢＩＯＳ設定情報１３は、外部ツール３１により変更したＢＩＯＳ設定情報３２を反映した値になる。
【００３７】
ここで、図３と図４を参照して、ＢＩＯＳ設定情報１３と、ＢＩＯＳ設定情報２３と、テンポラリテーブルについて説明する。図３は、本発明の第２の実施形態に係るＢＩＯＳ設定情報２３を説明する図である。図４は、本発明の第２の実施形態に係るＢＩＯＳ設定情報１３と、テンポラリテーブルを説明する図である。
【００３８】
図４に示すＢＩＯＳ設定情報５１は、ＢＩＯＳ設定情報１３の一例である。ＢＩＯＳ設定情報５１は、１つ以上のジャンル（分類１〜Ｌ）で構成されている。ここで、分類１、２、Ｌの設定情報は、各々、ＢＩＯＳ設定情報１３１、１３２、１３３に対応する。ＢＩＯＳ設定情報１３１、１３２、１３３は、各々、ＢＩＯＳ設定項目(設定項目名と設定値が対になったもの）を含んでいる。ＢＩＯＳ１１１は、起動するときに、これらのＢＩＯＳ設定項目（１１、・・・、１８、２１、・・・２５、Ｐ１・・・ＰＬ）を参照する。
【００３９】
次に、ＢＩＯＳ設定情報５１を例に、ＢＩＯＳ設定項目の値の取得方法を説明する。例えば、ＢＩＯＳ設定情報５１から分類ＬのＢＩＯＳ設定項目Ｐ１を取得したいとする。このとき、ＢＩＯＳ１１１は、初めに、ＢＩＯＳ設定情報５１の先頭であるＢＩＯＳ設定情報１３１から参照したい項目の分類をサーチする。サーチした結果、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３３を見つける。それから、ＢＩＯＳ１１１は、ＢＩＯＳ設定項目Ｐ１をその分類（ＢＩＯＳ設定情報１３３）内でサーチする。そして、ＢＩＯＳ１１１は、ＢＩＯＳ設定項目Ｐ１を見つけることができる。ＢＩＯＳ設定情報５１は、ＢＩＯＳ１１１によって、このようにサーチされる。
【００４０】
次に、ＢＩＯＳ設定情報２３について説明する。図３に示すように、ＢＩＯＳ設定情報２３は、ＢＩＯＳ設定情報２３０と、ＢＩＯＳ設定情報２３１と、ＢＩＯＳ設定情報２３２とを含む。ＢＩＯＳ設定情報２３０は、外部ツールによる変更有無を表す変更フラグである。ＢＩＯＳ設定情報２３１は、分類１の設定項目である。ＢＩＯＳ設定情報２３２は、分類２の設定項目である。
【００４１】
ＢＩＯＳ設定情報２３０は、ＢＩＯＳ設定情報２３に変更があれば「１」、変更がなければ「０」に設定されている。ＢＩＯＳ設定情報２３０は、外部ツール３１によりＢＩＯＳ設定情報２３が更新されたときに、ＢＭＣＦＷ２１１によって「１」に設定されるフラグである。ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３（５１）とＢＩＯＳ設定情報２３の同期処理が終了したら、ＢＩＯＳ設定情報２３０に「０」を設定するように、ＢＭＣＦＷ２１１に依頼する。
【００４２】
ＢＩＯＳ設定情報２３１と、ＢＩＯＳ設定情報２３２とは、それぞれ異なるジャンルのＢＩＯＳ設定情報を表している。ＢＩＯＳ設定情報２３１（分類１）のＢＩＯＳ設定項目１１、１５、１６は、ＢＩＯＳ設定情報１３１のサブセットである。同様に、ＢＩＯＳ設定情報２３２（分類２）のＢＩＯＳ設定項目２１、２２は、ＢＩＯＳ設定情報１３２のサブセットである。
【００４３】
ＢＩＯＳ設定情報２３１のＢＩＯＳ設定項目１１、１５、１６と、ＢＩＯＳ設定情報２３２のＢＩＯＳ設定項目２１、２２は、ＢＩＯＳ設定情報１３（５１）の項目のうち外部ツール３１により値を変更可能な項目である。そして、ＢＩＯＳ設定情報２３１のＢＩＯＳ設定項目１１、１５、１６は、ＢＩＯＳ設定情報１３１のＢＩＯＳ設定情報１１、１５、１６と同期する。同様に、ＢＩＯＳ設定情報２３２のＢＩＯＳ設定項目２１、２２は、ＢＩＯＳ設定情報１３２のＢＩＯＳ設定項目２１、２２と同期する。
【００４４】
図４に示すＢＩＯＳ設定情報６１は、テンポラリテーブルの一例である。テンポラリテーブルは、ＢＩＯＳ設定情報１３（５１）、ＢＩＯＳ設定情報２３と同様に、１つ以上の分類（ここでは分類１’、２’）で構成されている。そして、分類１’（ＢＩＯＳ設定情報６１１）は、ＢＩＯＳ設定情報１３（５１）のＢＩＯＳ設定情報１３１と同じＢＩＯＳ設定項目に対応する設定値を含む。分類２’（ＢＩＯＳ設定情報６１２）は、ＢＩＯＳ設定情報１３（５１）のＢＩＯＳ設定情報１３２と同じＢＩＯＳ設定項目に対応する設定値を含む。
【００４５】
次に、処理の流れについてフローチャートを用いて説明する。
【００４６】
図５は、本発明の第２の実施形態に係る情報処理装置におけるＢＩＯＳを起動する処理を示すフローチャートである。
【００４７】
情報処理装置がリブートするか、または情報処理装置に電源が入り、ＢＩＯＳ１１１が起動すると、ＢＩＯＳ１１１は、ステップＢ１を実行する。
【００４８】
ステップＢ１：
ＢＩＯＳ１１１は、ＢＩＯＳ設定情報のテンポラリテーブルを作成する(ステップＢ１）。テンポラリテーブルは、外部ツール３１により変更があったＢＩＯＳ設定情報２３に含まれる項目を、ＢＩＯＳ設定情報１３に含まれる項目とマージしたテーブルである。つまり、テンポラリテーブルの値は、変更後の設定情報で立ち上げが完了したときのＢＩＯＳ設定情報１３に含まれる項目の値と同じである。テンポラリテーブルは、ＢＩＯＳ設定情報２３で変更があったものと、それに関連する項目のみで構成される。そのため、少量のメモリがあればテンポラリテーブルを作成することができる。テンポラリテーブルを作成する手順は、後で説明する。
【００４９】
ステップＢ２：
次に、ＢＩＯＳ１１１は、メモリの初期化を行う。ＢＩＯＳ１１１は、情報処理装置内のメモリを使用できるようにＢＩＯＳ設定情報を用いて設定する。一般的な情報処理装置では、ＢＩＯＳ設定情報１３を参照して設定する。しかし、本発明の第２の実施形態では、テンポラリテーブルを参照して設定を行う。
【００５０】
ステップＢ３：
それから、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３とＢＩＯＳ設定情報２３の同期処理を行う。この場合、最初に、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報２３（図３）を参照して、ＢＩＯＳ設定情報２３に変更があったか否かを確認する。
【００５１】
ＢＩＯＳ設定情報２３に変更がない場合（変更フラグが”０”）、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３の値をＢＩＯＳ設定情報２３の値にマージする。このときのテンポラリテーブルには、ＢＩＯＳ設定情報１３（つまり、ＢＩＯＳ設定情報１３１、ＢＩＯＳ設定情報１３２）の値が格納されている。これ以降の立ち上げ中の各種設定は、ＢＩＯＳ設定情報１３で行っているため、リブートせずに立ち上げを完了する。
【００５２】
ＢＩＯＳ設定情報２３に変更がある場合（変更フラグが”１”）、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報２３とＢＩＯＳ設定情報１３とを基に作成したテンポラリテーブルを参照して、メモリの初期化を実施済みである。すなわち、テンポラリテーブル作成以降の各種設定は、同期処理後と同じ値であるテンポラリテーブルを用いて行っているため、リブートせずに立ち上げを完了する。
【００５３】
よって、ステップＢ３の同期処理において、リブートする必要がなくなる。
【００５４】
ＢＩＯＳ１１１は、同期処理を終了後（ステップＢ３終了後）、各種初期化の続きを行い、立ち上げを完了する。
【００５５】
次に、ステップＢ１におけるテンポラリテーブルを作成する処理について、図６を用いて説明する。図６は、本発明の第２の実施形態に係る情報処理装置におけるテンポラリテーブルを作成する処理を示すフローチャートである。以下の説明において使用するメモリは、例えば、記憶部１２とする。
【００５６】
ステップＣ１：
ＢＩＯＳ１１１は、現在のＢＩＯＳ設定値を取得するために、ＢＩＯＳ設定情報１３にアクセスする。
【００５７】
ステップＣ２：
次に、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報１３を取得できたか否かを確認する。
【００５８】
ステップＣ３：
ステップＣ２において、ＢＩＯＳ設定情報１３を取得できた場合は、ＢＩＯＳ１１１は、ステップＣ１で取得したＢＩＯＳ設定情報１３のＢＩＯＳ設定情報１３１、１３２の値をメモリ上に保持する。
【００５９】
ステップＣ４：
ステップＣ２において、ＢＩＯＳ設定情報１３を取得できなかった場合は、ＢＩＯＳ１１１は、ＢＩＯＳ１１１が保持するＢＩＯＳ設定情報１３のＢＩＯＳ設定情報１３１、１３２のデフォルト値を、ＢＩＯＳ設定情報１３のＢＩＯＳ設定情報１３１、１３２の値としてメモリ上に保持する。
【００６０】
ステップＣ５：
次に、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報２３に変更があったか否かを確認する。ＢＩＯＳ設定情報２３は、外部ツール３１により変更されたＢＩＯＳ設定情報３２と同期している。そのため、ＢＩＯＳ設定情報２３に更新があったか否かを確認することにより、ＢＩＯＳ１１１は、外部ツール３１によりＢＩＯＳ設定情報３２に変更があったか否かを知ることができる。ＢＩＯＳ設定情報２３に変更があったか否かは、図３に示すＢＩＯＳ設定情報２３の中にあるＢＩＯＳ設定情報２３０を参照することにより確認する。ＢＩＯＳ設定情報２３０は、ＢＩＯＳ設定情報２３に変更があれば「１」、変更がなければ「０」に設定されている。ＢＩＯＳ設定情報２３０は、ＢＩＯＳ設定情報２３が更新されたときに、ＢＭＣＦＷ２１１によって「１」に設定される。ステップＣ５でＢＩＯＳ設定情報２３に変更があった場合は、ステップＣ６を実施する。ＢＩＯＳ設定情報２３に変更がない場合は、ＢＩＯＳ１１１は、ステップＣ８を実施する。
【００６１】
ステップＣ６：
ＢＩＯＳ１１１は、ＢＩＯＳ設定情報２３を取得する。
【００６２】
ステップＣ７：
ＢＩＯＳ１１１は、ステップＣ６で取得したＢＩＯＳ設定情報２３のＢＩＯＳ設定項目と、ステップＣ３またはステップＣ４で取得したＢＩＯＳ設定情報１３のＢＩＯＳ設定情報１３１、１３２を使って、テンポラリテーブル（図４におけるＢＩＯＳ設定情報６１）を作成する。テンポラリテーブルは、ＢＩＯＳ設定情報６１１と、ＢＩＯＳ設定情報６１２とが格納される。ＢＩＯＳ設定情報６１１は、ＢＩＯＳ設定情報１３１にＢＩＯＳ設定情報２３１を反映した内容である。ＢＩＯＳ設定情報６１２は、ＢＩＯＳ設定情報１３２にＢＩＯＳ設定情報２３２を反映した内容である。テンポラリテーブルの作成が完了したら、ＢＩＯＳ１１１は、ステップＣ９を実行する。
【００６３】
ステップＣ８：
ステップＣ５でＢＩＯＳ設定情報２３に変更なしと判断した場合、ＢＩＯＳ１１１は、ステップＣ３またはステップＣ４で取得したＢＩＯＳ設定情報１３のＢＩＯＳ設定情報１３１、１３２を基にテンポラリテーブル（ＢＩＯＳ設定情報６１）を作成する。
【００６４】
ステップＣ９：
ＢＩＯＳ１１１は、作成したテンポラリテーブルをＢＩＯＳ設定情報１３の先頭に追加する（図４に示すＢＩＯＳ設定情報５２）。先頭にあるテーブルをＢＩＯＳ設定情報６１に変更することで、取得したい値を検索するときに、必ず一番初めにテンポラリテーブルの値が参照されるようになる。
【００６５】
この方法により、大量のデータ（ＢＩＯＳ設定情報１３）をメモリ上にロードする必要がなくなる。また、立ち上げの初期段階から、外部ツール３１により変更されたＢＩＯＳ設定情報２３を反映させたテンポラリテーブルを使用することができるため、設定を反映させるためのリブートを省略することができる。
【００６６】
本実施形態では、外部ツール３１は、ＢＭＣ２１とデータを通信可能に接続しているとしたが、接続していなくても問題ない。ＢＩＯＳ１１１が何らかの方法でＢＩＯＳ設定情報３２を取得できれば良い。
【００６７】
ＢＩＯＳ１１１とＢＭＣＦＷ２１２、ＢＭＣＦＷ２１２と外部ツール３１のデータ通信の方法は、ＩＰＭＩコマンドを例に挙げて説明したが、これには限定されない。例えば、ＢＭＣＦＷ２１２のメモリ上に外部ツール３１が書き込んだ内容を、ＢＩＯＳ１１１が直接参照するという方法でも良い。
【００６８】
図３に示したＢＩＯＳ設定情報２３は、この形式に限らない。図３では、ＢＩＯＳ設定情報２３１とＢＩＯＳ設定情報２３２に対して、１つの更新フラグを持っているが、それぞれのＢＩＯＳ設定情報に対して更新フラグを持つ実装も考えられる。
【００６９】
図４に示したテンポラリテーブル（ＢＩＯＳ設定情報５１）を格納するメモリは、記憶部１２に限定しない。例えば、ＢＭＣＦＷ２１２の記憶部２２を使用し、メモリを直接参照する手段もある。
【００７０】
図５のステップＢ３でＢＩＯＳ設定の同期処理終了後、ＢＩＯＳ１１１は、図４のＢＩＯＳ設定情報５２にあるＢＩＯＳ設定情報６１（テンポラリテーブル）を削除しても問題ない。ただし、削除する前に、ＢＩＯＳ１１１は、ＢＩＯＳ設定情報６１を、ＢＩＯＳ設定情報１３１およびＢＩＯＳ設定情報１３２に反映する必要がある。
【００７１】
テンポラリテーブルを作成するタイミングは、図５のステップＢ１に限らず、メモリ初期化実行前であればいつでも良い。例えば、ＯＳ運用中に、外部ツール３１でＢＩＯＳ設定情報２３が変更された場合にその時点で行ってもよい。その場合には、ＢＭＣＦＷ２１２は、外部ツール３１によるＢＩＯＳ設定情報２３の変更を検出して、ＢＩＯＳ設定情報２３に変更があったことをＢＩＯＳ１１１に割り込みを上げて知らせる。ＢＩＯＳ１１１は、割り込みを受け取り、ＢＩＯＳ設定情報２３の変更をＢＭＣＦＷ２１２より取得してテンポラリテーブルを作成する。リブートするタイミングで、テンポラリテーブル（ＢＩＯＳ設定情報６１）を図４のＢＩＯＳ設定情報５２となるように追加する。これにより、ＢＩＯＳ設定情報２３の変更を反映させたＢＩＯＳ設定情報を使ってリブート直後から起動することができる。但し、この場合、図５のステップＢ１は省略する。
【００７２】
以上、説明したように、第２の実施形態には、外部ツール３１によりＢＩＯＳ設定情報を変更した場合に、情報処理装置の起動時間を短縮することができるという効果がある。
【００７３】
その理由は、本実施形態に係る情報処理装置は、外部ツールによる変更を直接ＢＩＯＳ設定情報１３に書き込むのではなく、ＢＩＯＳ１１１が、外部ツール３１による変更を反映したＢＩＯＳ設定情報のテンポラリテーブルを保持し、それを参照して立ち上げを実施する。これによりＢＩＯＳ１１１は、メモリ初期化の設定に外部ツールの変更を反映したＢＩＯＳ設定情報を使用できるようになる。そのため、情報処理装置は、同期処理後にリブートする必要がなくなり、起動時間を短縮することができる。
【符号の説明】
【００７４】
１    情報処理装置
２    入力部
３    変更部
４    格納部
１０    情報処理装置
１１    ＣＰＵ
１２    記憶部
１３    ＢＩＯＳ設定情報
２１    ＢＭＣ
２２    記憶部
２３    ＢＩＯＳ設定情報
３１    外部ツール
３２    ＢＩＯＳ設定情報
１１１    ＢＩＯＳ
２１１    ＢＭＣＦＷ
【図１】
0006404708.tif 000002
【図２】
0006404708.tif 000003
【図３】
0006404708.tif 000004
【図４】
0006404708.tif 000005
【図５】
0006404708.tif 000006
【図６】
0006404708.tif 000007