(57)【要約】【課題】  コンピュータで使用される記憶装置の検出と初期化をより高速化することが可能なコンピュータ等を提供すること。【解決手段】  起動時に、ＰＯＳＴ処理を実行するＰＯＳＴ処理実行部１８と、起動時に、記憶装置構成が変更されたかどうかを判定する判定部１２と、記憶装置構成が変更されなかった場合、ＰＯＳＴ処理におけるＤＲＡＭ６０およびＩＤＥデバイスの検出を省略するように、ＰＯＳＴ処理実行部１８を制御する制御部１６と、ＤＲＡＭ６０およびＩＤＥデバイスに関する構成を示す記憶装置構成データ９２を記憶するフラッシュメモリ９０と、記憶装置構成データ９２を更新する更新部１４とを含んでコンピュータ１００を構成する。【選択図】      図１
2005234872.tif 000002
【特許請求の範囲】
【請求項１】
起動時に、ＰＯＳＴ処理を実行するＰＯＳＴ処理実行手段と、
起動時に、記憶装置構成が変更されたかどうかを記憶装置にアクセスせずに判定する判定手段と、
前記判定手段によって記憶装置構成が変更されたと判定されなかった場合、前記ＰＯＳＴ処理におけるＤＲＡＭおよびＩＤＥデバイスの検出処理および初期化処理を省略するように、前記ＰＯＳＴ処理実行手段を制御する制御手段と、
ＤＲＡＭおよびＩＤＥデバイスに関する構成を示す記憶装置構成データを記憶するメモリと、
前記記憶装置構成データを更新する更新手段と、
を含み、
前記更新手段は、
前記判定手段によって記憶装置構成が変更されたと判定された場合、当該変更に応じて前記記憶装置構成データを更新し、
前記判定手段によって記憶装置構成が変更されたと判定されなかった場合、前記記憶装置構成データに基づき、前記初期化処理と同様の処理を実行することを特徴とするコンピュータ。
【請求項２】
コンピュータの起動時に、前記コンピュータの記憶装置構成が変更されたかどうかを記憶装置にアクセスせずに判定し、
記憶装置構成が変更された場合、当該変更に応じてＤＲＡＭおよびＩＤＥデバイスに関する構成を示す記憶装置構成データをメモリに記憶するとともに、ＤＲＡＭおよびＩＤＥデバイスの検出処理および初期化処理を含むＰＯＳＴ処理を実行し、
記憶装置構成が変更されなかった場合、前記記憶装置構成データに基づき、前記初期化処理と同様の処理を実行するとともに、前記検出処理および前記初期化処理を省略して前記ＰＯＳＴ処理を実行することを特徴とするコンピュータ起動方法。
【請求項３】
コンピュータにより読み取り可能なＢＩＯＳプログラムであって、
前記コンピュータを、
前記コンピュータの起動時に、前記コンピュータの記憶装置構成が変更されたかどうかを記憶装置にアクセスせずに判定する判定手段と、
記憶装置構成が変更された場合、ＤＲＡＭおよびＩＤＥデバイスの検出処理および初期化処理を含むＰＯＳＴ処理を実行するように、前記コンピュータを制御するとともに、記憶装置構成が変更されなかった場合、前記検出処理および前記初期化処理を省略して前記ＰＯＳＴ処理を実行するように、前記コンピュータを制御する制御手段と、
記憶装置構成が変更された場合、当該変更に応じてＤＲＡＭおよびＩＤＥデバイスに関する構成を示す記憶装置構成データを前記コンピュータの有するメモリに記憶し、記憶装置構成が変更されなかった場合、前記記憶装置構成データに基づき、前記初期化処理と同様の処理を実行する更新手段として機能させることを特徴とするＢＩＯＳプログラム。
【請求項４】
コンピュータにより読み取り可能なＢＩＯＳプログラムを記憶した情報記憶媒体であって、
請求項３に記載のＢＩＯＳプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ、コンピュータ起動方法、ＢＩＯＳプログラムおよび情報記憶媒体に関する。
【背景技術】
【０００２】
ＢＩＯＳのＰＣ起動時の機能として、コンピュータが良好な状態かどうかをテストするＰＯＳＴ（Power On Self Test）処理と、コンピュータのハードウェア構成要素の設定等を行う初期化がある。ＰＯＳＴ処理では、ＨＤＤ等の記憶装置の検出等を行っている。
【０００３】
しかし、記憶装置の構成は、通常のＰＣの使用では変わることがない。それにも関わらず、毎回ＰＯＳＴ処理で記憶装置の検出処理を行っているため、ＰＣを起動するための時間が余分にかかっていた。
【０００４】
このような問題に対して、特許文献１の明細書の段落番号０００７に記載されているように、ＰＯＳＴ処理の全部または一部を省略するファーストオン機能を用いることが提案されている。
【特許文献１】特表２００２−５１３９６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ファーストオン機能を用いる場合、ＰＯＳＴ処理を省略しても、ＯＳがＰＯＳＴ処理の機能を補う必要がある。このため、ファーストオン機能を用いた場合、ＯＳが起動するまでの時間は速くなるが、ＯＳの起動後に実際にＯＳが記憶装置等を認識している間は記憶装置等が操作不能となる。また、すべてのＯＳがファーストオン機能を有するとは限らない。
【０００６】
本発明は、上記課題に鑑みなされたものであり、その目的は、コンピュータで使用される記憶装置の検出と初期化をより高速化することが可能なコンピュータ、コンピュータ起動方法、ＢＩＯＳプログラムおよび情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係るコンピュータは、起動時に、ＰＯＳＴ処理を実行するＰＯＳＴ処理実行手段と、
起動時に、記憶装置構成が変更されたかどうかを記憶装置にアクセスせずに判定する判定手段と、
前記判定手段によって記憶装置構成が変更されたと判定されなかった場合、前記ＰＯＳＴ処理におけるＤＲＡＭおよびＩＤＥデバイスの検出処理および初期化処理を省略するように、前記ＰＯＳＴ処理実行手段を制御する制御手段と、
ＤＲＡＭおよびＩＤＥデバイスに関する構成を示す記憶装置構成データを記憶するメモリと、
前記記憶装置構成データを更新する更新手段と、
を含み、
前記更新手段は、
前記判定手段によって記憶装置構成が変更されたと判定された場合、当該変更に応じて前記記憶装置構成データを更新し、
前記判定手段によって記憶装置構成が変更されたと判定されなかった場合、前記記憶装置構成データに基づき、前記初期化処理と同様の処理を実行することを特徴とする。
【０００８】
また、本発明に係るコンピュータ起動方法は、コンピュータの起動時に、前記コンピュータの記憶装置構成が変更されたかどうかを記憶装置にアクセスせずに判定し、
記憶装置構成が変更された場合、当該変更に応じてＤＲＡＭおよびＩＤＥデバイスに関する構成を示す記憶装置構成データをメモリに記憶するとともに、ＤＲＡＭおよびＩＤＥデバイスの検出処理および初期化処理を含むＰＯＳＴ処理を実行し、
記憶装置構成が変更されなかった場合、前記記憶装置構成データに基づき、前記初期化処理と同様の処理を実行するとともに、前記検出処理および前記初期化処理を省略して前記ＰＯＳＴ処理を実行することを特徴とする。
【０００９】
また、本発明に係るＢＩＯＳプログラムは、コンピュータにより読み取り可能なＢＩＯＳプログラムであって、
前記コンピュータを、
前記コンピュータの起動時に、前記コンピュータの記憶装置構成が変更されたかどうかを記憶装置にアクセスせずに判定する判定手段と、
記憶装置構成が変更された場合、ＤＲＡＭおよびＩＤＥデバイスの検出処理および初期化処理を含むＰＯＳＴ処理を実行するように、前記コンピュータを制御するとともに、記憶装置構成が変更されなかった場合、前記検出処理および前記初期化処理を省略して前記ＰＯＳＴ処理を実行するように、前記コンピュータを制御する制御手段と、
記憶装置構成が変更された場合、当該変更に応じてＤＲＡＭおよびＩＤＥデバイスに関する構成を示す記憶装置構成データを前記コンピュータの有するメモリに記憶し、記憶装置構成が変更されなかった場合、前記記憶装置構成データに基づき、前記初期化処理と同様の処理を実行する更新手段として機能させることを特徴とする。
【００１０】
また、本発明に係る情報記憶媒体は、コンピュータにより読み取り可能なＢＩＯＳプログラムを記憶した情報記憶媒体であって、
上記ＢＩＯＳプログラムを記憶したことを特徴とする。
【００１１】
本発明によれば、コンピュータ等は、記憶装置構成が変更された状態で起動したことを検出した場合にＩＤＥデバイス等の検出処理後に記憶装置構成データを記憶し、記憶装置構成が変更されない状態で起動した場合にＩＤＥデバイス等の検出処理を省略して記憶装置構成データを読み取って当該記憶装置構成データに基づいて初期化処理と同様の処理を実行することができる。これにより、コンピュータ等は、コンピュータで使用される記憶装置の検出と初期化をより高速化することができる。
【００１２】
なお、ここで、前記ＩＤＥデバイスとしては、例えば、ＩＤＥ方式のＨＤＤ、ＩＤＥ方式のＣＤ−ＲＯＭ等のＩＤＥインタフェースを有する種々のデバイスが該当する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を、本発明に係るＢＩＯＳプログラムを記憶したコンピュータに適用した場合を例に採り、図面を参照しつつ説明する。なお、以下に示す実施形態は、特許請求の範囲に記載された発明の内容を何ら限定するものではない。また、以下の実施形態に示す構成の全てが、特許請求の範囲に記載された発明の解決手段として必須であるとは限らない。
【００１４】
（システム全体の説明）
図１は、本実施形態の一例に係るコンピュータ１００の機能ブロック図である。
【００１５】
コンピュータ１００は、具体的には、例えば、一般的なＰＣ(Personal Computer)である。コンピュータ１００は、ＣＰＵ１０と、ＢＩＯＳＲＯＭ２０と、ノースブリッジ３０と、サウスブリッジ４０と、ＤＲＡＭ６０と、ＨＤＤ７０と、ＣＤ−ＲＯＭドライブ８０と、フラッシュメモリ９０と、ＲＴＣ（Real Time Clock）５０と、ＳＲＡＭ５１と、ＲＴＣ５０およびＳＲＡＭ５１用のバッテリー５２を含んで構成されている。
【００１６】
また、フラッシュメモリ９０には、ＤＲＡＭ６０およびＩＤＥデバイスに関する構成を示す記憶装置構成データ９２が記憶されている。
【００１７】
また、ノースブリッジ３０は、ＤＲＡＭ６０を制御するためのＤＲＡＭコントローラ３２を含んで構成されている。また、サウスブリッジ４０は、ＨＤＤ７０およびＣＤ−ＲＯＭドライブ８０を制御するためのＩＤＥコントローラ４２を含んで構成されている。なお、ＨＤＤ７０およびＣＤ−ＲＯＭドライブ８０は、ＩＤＥインタフェースを有するＩＤＥデバイスの一種である。
【００１８】
また、ＢＩＯＳＲＯＭ２０にはＢＩＯＳプログラム２２が記憶されている。ＣＰＵ１０は、ＢＩＯＳプログラム２２を読み取ることにより、起動時にＰＯＳＴ処理を実行するＰＯＳＴ処理実行部１８と、起動時に記憶装置構成が変更されたかどうかを判定する判定部１２と、ＰＯＳＴ処理におけるＤＲＡＭ６０またはＩＤＥデバイスの検出を省略するように、ＰＯＳＴ処理実行部１８を制御する制御部１６と、フラッシュメモリ９０内の記憶装置構成データ９２等を更新する制御部１６として機能する。
【００１９】
なお、ＰＯＳＴ処理実行部１８は、ＰＯＳＴ処理において、ＤＲＡＭ６０およびＩＤＥデバイスの検出処理および初期化処理を実行する。
【００２０】
また、図１に示す各部は採用するチップセット等によって構成が異なり、図１に示す構成に限定されるものではない。
【００２１】
また、これらの各部を、回路を用いてハードウェア的にコンピュータ１００に実装してもよいし、プログラムを用いてソフトウェア的にコンピュータ１００に実装してもよい。
【００２２】
さらに、判定部１２等としてコンピュータを機能させるためのＢＩＯＳプログラム２２を記憶した情報記憶媒体２００からＢＩＯＳプログラム２２を読み取って判定部１２等の機能をコンピュータ１００に実装してもよい。
【００２３】
このような情報記憶媒体２００としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＲＯＭ、ＲＡＭ、ＨＤＤ等を適用でき、そのプログラムの読み取り方式は接触方式であっても、非接触方式であってもよい。
【００２４】
また、情報記憶媒体２００に代えて、上述した各機能をコンピュータ１００に実装するためのプログラム等を、伝送路を介してホスト装置等からダウンロードすることによって上述した各機能をコンピュータに実装することも可能である。
【００２５】
（処理の流れの説明）
次に、ＰＯＳＴ処理におけるこれらの各部を用いた記憶装置の検出処理と初期化処理の流れについて説明する。まず、従来の記憶装置の検出処理と初期化処理の流れについて説明する。
【００２６】
図２は、従来の記憶装置の検出処理と初期化処理の流れを示すフローチャートである。
【００２７】
ＰＯＳＴ処理における記憶装置の検出処理と初期化処理においては、ＤＲＡＭの検出処理と初期化処理（後述するステップＳ１〜Ｓ４）、ＩＤＥデバイスの検出と初期化処理（後述するステップＳ５、Ｓ６）が行われる。
【００２８】
従来のコンピュータは、ＤＲＡＭの検出処理と初期化処理として、ＤＲＡＭの種別等を検出することによるＤＲＡＭ６０の識別する処理（ステップＳ１）、ＤＲＡＭのタイミングパラメータをＤＲＡＭコントローラに設定する処理（ステップＳ２）、ＤＲＡＭのメモリサイズを検出する処理（ステップＳ３）、ＤＲＡＭのサイズデータをＤＲＡＭ内のＢＩＯＳワークエリアに設定する処理（ステップＳ４）を実行する。
【００２９】
また、従来のコンピュータは、ＩＤＥデバイスの検出と初期化処理として、ＨＤＤ、ＣＤ−ＲＯＭドライブ等のＩＤＥデバイスを検出する処理（ステップＳ５）、ＩＤＥデバイスに関するパラメータ（例えば、ランタイムサービス用パラメータテーブルであるＦＤＰＴ）を作成してＩＤＥコントローラに設定し、ＩＤＥデバイスの検出結果に基づく起動優先順位列挙情報をＤＲＡＭ内のＢＩＯＳワークエリアに設定する処理（ステップＳ６）を実行する。
【００３０】
従来のコンピュータは、これらの処理（ステップＳ１〜Ｓ６）をコンピュータが起動する度に毎回実行しており、起動に時間がかかっていた。
【００３１】
次に、本実施形態の一例に係る記憶装置の検出処理と初期化処理の流れについて説明する。
【００３２】
図３は、本実施形態の一例に係る記憶装置の検出処理と初期化処理の流れを示すフローチャートである。
【００３３】
ＰＯＳＴ処理における記憶装置の検出処理と初期化処理においては、コンピュータ１００は、まず、ＤＲＡＭ６０の検出処理と初期化処理を実行する。
【００３４】
判定部１２は、ＨＤＤ７０、ＣＤ−ＲＯＭドライブ８０等の記憶装置構成が変更されたかどうかを判定する（ステップＳ１１）。記憶装置構成が変更されたかどうかを判定するための手法としては、例えば、コンピュータ１００の蓋が開けられた場合に出力されるシャーシイントリュージョン信号を検出する手法、バッテリー５２（スタンバイ電源）の非印加状態から印加状態への変化を検出する手法、ＳＲＡＭ５１内のセットアップデータの変化を検出する手法等のうちの全部または一部の手法を採用してもよい。このように、判定部１２は、ＤＲＡＭ６０等の記憶装置には直接アクセスせずに記憶装置構成が変更されたかどうかを判定する。
【００３５】
判定部１２によって記憶装置構成が変更されたと判定された場合、ＰＯＳＴ処理実行部１８は、検出処理として、ＤＲＡＭ６０の種別等を検出することによりＤＲＡＭ６０を識別する（ステップＳ１２）。
【００３６】
そして、ＰＯＳＴ処理実行部１８は、初期化処理として、ＤＲＡＭ６０のタイミングパラメータをＤＲＡＭコントローラ３２に設定する。また、更新部１４は、ＤＲＡＭ６０の識別結果に応じてフラッシュメモリ９０内の記憶装置構成データ９２を更新する（ステップＳ１３）。
【００３７】
そして、ＰＯＳＴ処理実行部１８は、検出処理として、ＤＲＡＭ６０のメモリサイズを検出する（ステップＳ１４）。
【００３８】
そして、ＰＯＳＴ処理実行部１８は、初期化処理として、ＤＲＡＭ６０のサイズデータをＤＲＡＭ６０内のＢＩＯＳワークエリアに設定する。また、更新部１４は、ＤＲＡＭ６０のサイズに応じてフラッシュメモリ９０内の記憶装置構成データ９２を更新する（ステップＳ１５）。
【００３９】
コンピュータ１００は、ＤＲＡＭ６０の検出処理と初期化処理を実行した後、ＩＤＥデバイスの検出処理と初期化処理を実行する。
【００４０】
ＰＯＳＴ処理実行部１８は、検出処理として、ＨＤＤ７０、ＣＤ−ＲＯＭドライブ８０等のＩＤＥデバイスを検出する（ステップＳ１６）。
【００４１】
そして、ＰＯＳＴ処理実行部１８は、初期化処理として、ＩＤＥデバイスに関するパラメータ（例えば、ランタイムサービス用パラメータテーブルであるＦＤＰＴ）を作成してＩＤＥコントローラ４２に設定し、ＩＤＥデバイスの検出結果に基づく起動優先順位列挙情報をＤＲＡＭ６０内のＢＩＯＳワークエリアに設定する処理を実行する。また、更新部１４は、ＦＤＰＴと起動優先順位列挙情報が含まれるように記憶装置構成データ９２を更新する（ステップＳ１７）。
【００４２】
以上の手順により、記憶装置構成データ９２には、通常のＰＯＳＴ処理で設定されるパラメータまたは当該パラメータを再現するための情報等が記憶される。
【００４３】
次に、起動時に記憶装置構成が変更されていないと判定された場合の処理について説明する。
【００４４】
記憶装置構成が変更されていない場合、判定部１２は、フラッシュメモリ９０内に記憶装置構成データ９２があるかどうかを判定する（ステップＳ１８）。装置構成データ９２がない場合には、通常のステップＳ１２〜Ｓ１７の処理が実行される。
【００４５】
記憶装置構成データ９２がある場合、制御部１６は、ＤＲＡＭ６０の識別（ステップＳ１２）およびサイズの検出（ステップＳ１４）を行わないようにＰＯＳＴ処理実行部１８を制御する。これにより、ＰＯＳＴ処理実行部１８は、上述したＤＲＡＭ６０に関する検出処理と初期化処理を行わないように制御される。
【００４６】
そして、更新部１４は、ＤＲＡＭ６０に関する初期化処理と同様の処理として、記憶装置構成データ９２からタイミングパラメータを読み取ってＤＲＡＭコントローラ３２に設定する（ステップＳ１９）。
【００４７】
そして、更新部１４は、初期化処理と同様の処理として、記憶装置構成データ９２からサイズデータを読み取ってＤＲＡＭ６０内のＢＩＯＳワークエリアに設定する（ステップＳ２０）。
【００４８】
また、記憶装置構成が変更されていない場合、制御部１６は、ＩＤＥデバイスの検出（ステップＳ１６）を行わないようにＰＯＳＴ処理実行部１８を制御する。これにより、ＰＯＳＴ処理実行部１８は、上述したＩＤＥデバイスに関する検出処理と初期化処理を行わないように制御される。
【００４９】
そして、更新部１４は、ＩＤＥデバイスに関する初期化処理と同様の処理として、記憶装置構成データ９２からＩＤＥデバイスに関するパラメータ（ＦＤＰＴ）を読み取ってＩＤＥコントローラ４２に設定し、装置構成データ９２から優先順位列挙情報を読み取ってＤＲＡＭ６０内のＢＩＯＳワークエリアに設定する（ステップＳ２１）。
【００５０】
以上のように、本実施形態によれば、コンピュータ１００は、記憶装置構成が変更された状態で起動したことを検出した場合にＩＤＥデバイス等の検出処理後に記憶装置構成データ９２を記憶し、記憶装置構成が変更されない状態で起動した場合にＩＤＥデバイス等の検出処理と初期化処理を省略して記憶装置構成データ９２に基づき、初期化処理と同様の処理を実行することができる。これにより、コンピュータ１００は、コンピュータ１００で使用される記憶装置（ＤＲＡＭ６０およびＩＤＥデバイス）の検出と初期化をより高速化することができる。
【００５１】
なお、本発明の発明者による実験によれば、ある機種では従来２０秒程度かかっていた検出時間を８秒程度短縮でき、別の機種では従来７秒程度かかっていた検出時間を２秒程度短縮できる。
【００５２】
また、本実施形態によれば、ファーストオン機能のように単に起動にかかる時間を短縮するだけでなく、ＩＤＥデバイス等を実際に使用できるようになるまでの時間も短縮することができる。
【００５３】
（変形例）
以上、本発明を適用した好適な実施の形態について説明してきたが、本発明の適用は上述した実施例に限定されない。
【００５４】
例えば、上述した実施例では、ＰＯＳＴ処理実行部１８は、ＤＲＡＭ６０とＩＤＥデバイスの両方を検出したが、変形例として、ＰＯＳＴ処理実行部１８は、ＤＲＡＭ６０とＩＤＥデバイスのいずれか一方のみを検出したり、その検出を省略したりしてもよい。
【００５５】
また、検出処理における検出対象や初期化処理における初期化対象は上述した実施例に限定されるものではなく、コンピュータ１００の構成に応じて種々のパラメータ等を検出、初期化してもよい。
【００５６】
さらに、記憶装置構成データ９２は、初期化処理で設定されるデータと全く同じデータであってもよいし、初期化処理で設定されるデータを再現するためのデータであってもよい。また、記憶装置構成データ９２に含まれるパラメータごとに、属性、アドレス、オフセット、データサイズ等を記憶装置構成データ９２のヘッダに含めてもよい。
【００５７】
また、上述した実施例では、記憶装置構成データ９２をフラッシュメモリ９０に記憶する方式を採用したが、フラッシュメモリ９０以外の書き換え可能な不揮発性メモリに記憶する方式を採用してもよい。また、書き換え可能な不揮発性メモリに代えて記憶内容がバッテリーバックアップされるＳＲＡＭを用いることももちろん可能である。さらに、ＢＩＯＳＲＯＭ２０を書き換え可能な不揮発性メモリで構成し、当該不揮発性メモリ内に記憶装置構成データ９２を記憶する方式を採用することももちろん可能である。
【図面の簡単な説明】
【００５８】
【図１】本実施形態の一例に係るコンピュータの機能ブロック図である。
【図２】従来の記憶装置の検出処理と初期化処理の流れを示すフローチャートである。
【図３】本実施形態の一例に係る記憶装置の検出処理と初期化処理の流れを示すフローチャートである。
【符号の説明】
【００５９】
１０  ＣＰＵ、１２  判定部、１４  更新部、１６  制御部、１８  ＰＯＳＴ処理実行部、２０  ＢＩＯＳＲＯＭ、２２  ＢＩＯＳプログラム、４２  ＩＤＥコントローラ、６０  ＤＲＡＭ、７０  ＨＤＤ（ＩＤＥデバイス）、８０  ＣＤ−ＲＯＭ（ＩＤＥデバイス）、９０  フラッシュメモリ（メモリ）、９２  記憶装置構成データ、１００  コンピュータ、２００  情報記憶媒体
【図１】
2005234872.tif 000003
【図２】
2005234872.tif 000004
【図３】
2005234872.tif 000005