(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムであって、
第１領域と第２領域とに論理的に分割されたメモリであって、前記第１領域は前記第２領域よりも小さい、前記メモリと、
前記第１領域を初期化するように構成されたメモリ・コントローラと
を備えており、
前記メモリ・コントローラが、前記第１領域の初期化を開始することに応じて又は前記第１領域の初期化が完了することに応じて、前記第２領域の初期化を開始し、
前記コンピュータ・システムが、前記第１領域の初期化が完了することに応じて、前記第１領域だけを使用してオペレーティング・システムを起動し、
前記コンピュータ・システムが、前記第２領域の初期化が完了することに応じて、システム管理インタフェース（ＳＭＩ）ハンドラにより前記第２領域の物理的なホット・アッド・イベントをシミュレートし、当該ホット・アッド・イベントをオペレーティング・システムに報告し、当該オペレーティング・システムにより当該第２領域を使用する、
前記コンピュータ・システム。
【請求項２】
前記シミュレートされる物理的なホット・アッド・イベントに応じて、前記第１領域及び前記第２領域の両方が前記オペレーティング・システムにより使用される、
請求項１に記載のコンピュータ・システム。
【請求項３】
前記シミュレートされる物理的なホット・アッド・イベントに応じて、あたかも前記前記第２領域が新しく追加された物理メモリであるかのように前記オペレーティング・システムにより当該第２領域が使用される、請求項２に記載のコンピュータ・システム。
【請求項４】
前記ＳＭＩハンドラが、前記シミュレートされる物理的なホット・アッド・イベントを前記オペレーティング・システムに通知するために、拡張構成及び電力インタフェース（ＡＣＰＩ）テーブルを調整するように構成される、請求項３に記載のコンピュータ・システム。
【請求項５】
コンピュータ・システムを初期化するための方法であって、
システム・メモリの第１領域の初期化を開始するステップであって、前記システム・メモリは前記第１領域及び第２領域に論理的に分割されており、且つ、前記第１領域は前記第２領域よりも小さい、前記開始するステップと、
前記第１領域の初期化を開始することに応じて又は前記第１領域の初期化が完了することに応じて、前記第２領域の初期化を開始するステップと、
前記第１領域の初期化が完了することに応じて、前記第１領域だけを使用してオペレーティング・システムを起動するステップと、
前記第２領域の初期化が完了することに応じて、システム管理インタフェース（ＳＭＩ）ハンドラにより前記第２領域の物理的なホット・アッド・イベントをシミュレートし、当該ホット・アッド・イベントをオペレーティング・システムに報告し、当該オペレーティング・システムにより当該第２領域を使用するステップと
を含む、前記方法。
【請求項６】
前記シミュレートされる物理的なホット・アッド・イベントに応じて、前記第１領域及び前記第２領域の両方が前記オペレーティング・システムにより使用される、請求項５に記載の方法。
【請求項７】
前記第２領域の初期化が完了した場合にのみ、前記第２領域の物理的なホット・アッドをシミュレートするステップが完了される、請求項６に記載の方法。
【請求項８】
前記第１領域の初期化の完了が、
前記第１領域が初期化済みであることを指示するように、拡張構成及び電力インタフェース（ＡＣＰＩ）テーブルを調整すること
をさらに含む、請求項７に記載の方法。
【請求項９】
前記第２領域の初期化が完了することに応じて、システム管理インタフェース（ＳＭＩ）要求を生成するステップ
をさらに含む、請求項８に記載の方法。
【請求項１０】
メモリ・コントローラが前記ＳＭＩ要求を生成する、請求項９に記載の方法。
【請求項１１】
前記第２領域の物理的なホット・アッドをシミュレートするステップが、ＳＭＩハンドラによって完了される、請求項８に記載の方法。
【請求項１２】
前記ＳＭＩハンドラが、前記ＡＣＰＩテーブルを調整し且つメモリ構成の変更を前記オペレーティング・システムに通知する、請求項１１に記載の方法。
【請求項１３】
コンピュータ・システムを初期化するためのコンピュータ・プログラムであって、
コンピュータに請求項５〜１２のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのパワーオンに係り、さらに詳細に説明すれば、コンピュータのパワーオン時間を減少させるための方法に係る。
【背景技術】
【０００２】
コンピュータのパワーオン中には、ユーザがコンピュータを使用することができる前に生じる、イベントのシーケンスが存在する。このイベントのシーケンスの初期段階では、システム・ファームウェア（ＰＣシステムでは、一般に「パワーオン・セルフテスト／基本入出力システム（ＰＯＳＴ／ＢＩＯＳ）」と呼ばれるもの）は、システム・ハードウェアを初期化し且つテストする。この初期化及びテストは、完了するまでに数分を要することがあり、その結果、オペレーティング・システム（ＯＳ）及び他のアプリケーションのロードのような後続ステップを遅延させることがある。この遅延を減少させることは、コンピュータのユーザを満足させるために重要である。
【０００３】
コンピュータ内には、初期化又はテストを必要とする、多数のアイテムが存在する。一般に、初期化に最大の時間を必要とするアイテムは、システム・メモリである。多くのコンピュータ・システムでは、システム・メモリは、エラー検出及び訂正（ＥＣＣ）アルゴリズム／回路を使用して、メモリ・アレイ内の特定ビットの障害を検出し且つ訂正する。一般に、ＥＣＣメモリの初期化は、全てのメモリ・ロケーションにデータを書き込むことにより、対応するＥＣＣビットを有する既知の値に当該メモリを設定することから成る。さらに、このメモリは、メモリ／ＥＣＣを検証するために読み返したり、システム・メモリの完全性を保証するために他のデータ・パターンの書き込み／検証を実行することができる。この種の動作は、ＯＳをロードする前に完了しなければならない。というのは、メモリを検証する前に又はＥＣＣビットを設定する前にメモリにアクセスすると、訂正不能なメモリ・エラーに帰着することがあり、その結果、データの完全性問題又はシステム・ホールトを引き起こすことがあるからである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特定のシステムが使用するメモリ・コントローラは、システム・プロセッサの介在なしで（その結果、遙かに速いレートで）、設定する（既知の値をメモリに書き込む）能力及び消し込む（メモリを読み取り／検証し／訂正する）能力を提供することにより、メモリの初期化／テストを援助することができる。この種のメモリ・コントローラを使用したとしても、ＯＳが起動する前に、メモリの初期化／テストを実行するのに、４〜１０分程度の時間を要することが多い。
【課題を解決するための手段】
【０００５】
特定の実施形態では、電子システムの初期化時間を減少させることにより当該システムのパワーオン時間を減少させるための方法は、インストールされたシステム・メモリを２つのメモリ領域に論理的に分割することを含み、その第１領域は、システム・メモリの小さなサブセットである。他の実施形態では、第１領域のサイズは、システム・ファームウェア（例えば、ＰＯＳＴ／ＢＩＯＳ）がシステムの初期化を完了し且つＯＳが起動するのに必要な容量よりも大きい。他の実施形態では、第１領域は、アプリケーションが稼働を開始することができるほどに十分に大きい。他の実施形態では、第１領域の実際のサイズは、ユーザによって構成可能である。他の実施形態では、第２領域は、システム・メモリの残余部分である。さらに他の実施形態では、第２領域は、システム・メモリの大部分である。
【０００６】
他の実施形態では、システムの初期化／テスト時間を減少させるための前記方法は、第１領域の初期化を実行することを含む。他の実施形態では、この方法は、第１領域がインストールされ且つ使用可能であることを、拡張構成及び電力インタフェース（ＡＣＰＩ）テーブルにおいて指示することを含む。
【０００７】
他の実施形態では、システムの初期化時間を減少させるための前記方法は、第２領域の初期化を開始することを含む。他の実施形態では、メモリ・コントローラは、第２領域の初期化が完了したときに、システム管理インタフェース（ＳＭＩ）要求を生成するように構成される。
【０００８】
他の実施形態では、システムの初期化時間を減少させるための前記方法は、第１領域だけを使用して、ＰＯＳＴ／ＢＩＯＳの起動プロセス及びＯＳのロードを継続することを含む。他の実施形態では、ＰＯＳＴ／ＢＩＯＳの起動プロセス及びＯＳのロードは、第２領域の初期化と同時に行われる。さらに他の実施形態では、メモリ・コントローラは、第２領域の消し込み（scrubbing）が完了したときに、ＳＭＩ要求を生成する。
【０００９】
他の実施形態では、システムの初期化時間を減少させるための前記方法は、ＳＭＩハンドラ・コードを使用して、物理メモリの追加をシミュレートすることを含む。他の実施形態では、ＯＳは、あたかも第２領域が新しく追加された物理メモリであるかのように、当該第２領域の使用を開始する。
【発明の効果】
【００１０】
本発明は、メモリの初期化／テスト活動の多くを、ファームウェアの初期化／テスト及びＯＳの起動プロセスと並列に行うことを可能とし、従ってパワーオンからＯＳの起動までの時間を減少させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に従った、ＯＳ起動前の、ＰＯＳＴ／ＢＩＯＳのフローチャートである。
【図２】本発明の実施形態に従った、ＯＳ起動後の、シミュレートされるメモリ・ホット・アッドのフローチャートである。
【図３】本発明の実施形態に従った、ＯＳ起動後の、シミュレートされるメモリ・ホット・アッドのフローチャートである。
【発明を実施するための形態】
【００１２】
特定のコンピュータ・システム（例えば、IBMx460）及びＯＳ（例えば、Windows Server 2003, Enterprise Edition）は、「メモリ・ホット・アッド（Memory Hot Add）」として知られている能力をサポートする。この能力は、ハードウェアの電源がオンになっており且つＯＳが稼働している間に、物理メモリを追加することを可能にする。これを達成するための事項は、次の通りである。すなわち、１）コンピュータ上のセンサがメモリ・ラッチの移動を検知し、その結果、メモリの電力及び初期化を制御するためにＳＭＩコードを呼び出すこと、２）メモリが構成された場合、（ＡＣＰＩを使用して）メモリ変更のイベントをＯＳに通知すること、３）ＯＳが、新しいメモリ構成を決定し且つ「ホット・アッド」されたメモリの使用を開始すること。
【００１３】
一般に、本発明は、システム・ファームウェアのテスト／初期化時間中に、インストールされたシステム・メモリのサブセットを初期化し且つシステムが当該サブセットを使用してＯＳを起動することを可能にすることにより、システムの起動時間を短縮化するための方法を提供する。システムが当該サブセットを使用してＯＳの起動を完了している間、システム・メモリの残余部分が、初期化／テストされている。メモリ・コントローラ又はシステム・ファームウェアが、システム・メモリの残余部分の初期化を開始／完了した場合、（ＯＳが起動した後に）ＳＭＩハンドラが呼び出される。次に、ＳＭＩハンドラは、物理メモリの「ホット・アッド」イベントをシミュレートし、当該イベントをＯＳに報告する。このようにすると、メモリの初期化／テスト活動の多くを、ファームウェアの初期化／テスト及びＯＳの起動プロセスと並列に行うことが可能になり、従ってパワーオンからＯＳのブートまでの時間を減少させることができる。
【００１４】
図１は、本発明の実施形態に従った、ＯＳ起動前の、システム・ファームウェア（ＰＯＳＴ／ＢＩＯＳ）のフローチャートを示す。ＰＯＳＴ／ＢＩＯＳのプロセスは、ＰＯＳＴ／ＢＩＯＳの起動から開始する（ブロック４）。次に、メモリ初期化前及びＰＯＳＴ／ＢＩＯＳ前の手順が実行される（ブロック６）。ＰＯＳＴ／ＢＩＯＳ手順、メモリ初期化／テスト及び／又はメモリ消し込みは、第１領域内で実行される（ブロック８）。一の実施形態では、第１領域は、システム・メモリを論理的に分割した２つのメモリ領域のうちの１つである。他の実施形態では、第１領域は、第２領域よりも小容量である。第２領域は、システム・メモリの残余部分である。第２領域は、典型的にはシステム・メモリの大部分であろう。特定の実施形態では、第１領域のサイズは、ＰＯＳＴ／ＢＩＯＳ手順がシステムの初期化を完了し且つＯＳが起動するのに必要な容量よりも大きい。他の実施形態では、第１領域は、システム・アプリケーションが稼働を開始することができるほどに十分に大きい。他の実施形態では、第１領域の実際のサイズは、ユーザによって構成可能である。他の実施形態では、一旦、第１領域のためのＰＯＳＴ／ＢＩＯＳ手順、メモリ初期化及び／又はメモリ消し込みが完了すると、第１領域がインストールされ且つ使用可能であることを指示するように、ＡＣＰＩテーブルがセットされる（ＳＲＡＴテーブル）。
【００１５】
次に、第２領域のためのＰＯＳＴ／ＢＩＯＳ手順、メモリ初期化／テスト及び／又はメモリ消し込みが実行される（ブロック１０）。第１領域は、第２領域より小さいから、第１領域のためのＰＯＳＴ／ＢＩＯＳ手順、メモリ初期化及び／又はメモリ消し込みは、第２領域と比較すると、より速く完了する。他の実施形態では、第１領域のためのＰＯＳＴ／ＢＩＯＳ手順、メモリ初期化及び／又はメモリ消し込みが完了した後にだけ、これと同じ動作が第２領域について完了される。第２領域のためのＰＯＳＴ／ＢＩＯＳ手順、メモリ初期化及び／又はメモリ消し込みは、ブロック２６から開始する後続プロセスに関係する（後述）。
【００１６】
一旦、第１領域のためのメモリ初期化／テスト及び／又はメモリ消し込みが完了すると、ＳＭＩハンドラが起動される（ブロック１６）。ＳＭＩハンドラは、ブロック２４から開始する後続プロセスに関係する（後述）。ＰＯＳＴ／ＢＩＯＳ手順は、第１領域だけを使用して完了される（ブロック１８）。ＰＯＳＴ／ＢＩＯＳは、インストールされたメモリを定義し、第１領域だけを報告して、ＯＳを起動する（ブロック２０）。ＯＳの起動は、ブロック２２から開始する後続プロセスに関係する（後述）。
【００１７】
図２は、本発明の実施形態に従った、ＯＳ起動後の、シミュレートされるメモリ・ホット・アッドのフローチャートを示す。シミュレートされるメモリ・ホット・アッドのプロセスは、ブロック２２で開始する。ＯＳは、ＰＯＳＴ／ＢＩＯＳによってインストール済みと報告されたメモリを使用して、動作を開始する（ブロック４２）。当該報告されたメモリは、第１領域からのメモリである。次に、ＯＳは、ＡＣＰＩインタフェースを起動する。特定の実施形態では、第１領域がインストールされ且つ使用可能であることを指示するように、ＡＣＰＩテーブルがセットされる（ＳＲＡＴテーブル）。
【００１８】
ＳＭＩハンドラ・コードは、物理メモリの追加をシミュレートする（ブロック５４）。このシミュレーション・イベントについては、以下で説明する。ＯＳは、ＡＣＰＩインタフェースを起動することにより、ＡＣＰＩイベントを考慮する（ブロック４４）。もし、ＡＣＰＩイベントが存在し（ブロック４６）、メモリ・ホット・アッド・イベントが存在すれば（ブロック４８）、ホット・プラグ済みと報告されたメモリがメモリ・プール（システム・メモリ）に追加される（ブロック５０）。言いかえれば、ＯＳは、あたかも第２領域が新しく追加された物理メモリであるかのように、第２領域の使用を開始する。もし、シミュレートされるホット・アッド・イベントが存在していないが、ＯＳがＡＣＰＩイベントを発行していれば、ＯＳは、当該他のＡＣＰＩイベント（非メモリ・ホット・アッド・イベント）を処理する（ブロック５２）。
【００１９】
図３は、本発明の実施形態に従った、ＯＳ起動後の、シミュレートされるメモリ・ホット・アッドのフローチャートを示す。また、図３は、メモリ・ホット・アッド・イベントをシミュレートする、ＡＣＰＩイベントを生成するためのプロセスを示している（ブロック５４）。メモリ・ホット・アッド・イベントをシミュレートする、ＡＣＰＩイベントを生成するための当該プロセスは、ブロック２４及び２６（前出）から開始する。ＳＭＩハンドラが起動し（ブロック２４）、第２領域の初期化／消し込みが開始する（ブロック２６）。一旦、第２領域の初期化／消し込みが完了すると（ブロック７４）、ＳＭＩ割り込みが生成される（ブロック７６）。
【００２０】
もし、ＳＭＩ割り込みが受け取られ（ブロック６２）、第２領域の初期化／消し込みが完了しているためにＳＭＩイベントが存在し（ブロック６４）、そして第２領域の初期化が成功していれば（ブロック６６）、修正されたＳＭＩコードは、ＯＳに対しＡＣＰＩイベントを生成することにより、第２領域の物理的なホット・アッドをシミュレートする（ブロック６８）。もし、ＳＭＩ割り込みが受け取られているが（ブロック６２）、第２領域の初期化が完了していないためにＳＭＩイベントが受け取られていなければ（ブロック６４）、ＳＭＩハンドラは、他のＳＭＩイベントを処理する（ブロック７０）。もし、ＳＭＩ割り込みが受け取られ（ブロック６２）、第２領域の初期化／消し込みが完了しているためにＳＭＩイベントが存在するが（ブロック６４）、第２領域の初期化／消し込みが成功しなかったならば（ブロック６６）、第２領域の初期化／消し込みが失敗したことを指示する報告が生成される（ブロック７２）。
【００２１】
本方法の種々の実施形態が必要とするメモリ消し込み機構は、（０〜２ＧＢのアドレス範囲のような）物理アドレスに基づいて、スクラブ開始／終了領域を定義することができることに留意されたい。というのは、メモリは、このようにしてシステム・プロセッサによって観察されるからである。特定のメモリ消し込み機構は、メモリ・アドレスの変換が行われた後に動作し、メモリ・サブシステムの（ランク、バンク、行、列等による）アドレッシングに基づくシーケンスを使用して、消し込みを行う。
【００２２】
添付図面及び本明細書では、本発明の諸実施形態、その特徴及びコンポーネントが開示された。当業者には明らかなように、本明細書中で使用される特定のプログラム名は、説明の便宜上のものであるに過ぎない。従って、本発明は、かかるプログラム名によって識別され又は暗示される特定のアプリケーションでのみ使用されるものと制限的に解すべきでない。例えば、本発明の諸実施形態を実装するために実行されるルーチンは、これがＯＳ又は特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、又は命令のシーケンスとして実装されるかどうかに拘わらず、「プログラム」、「方法」又は他の意味のある名称で表すことができる。従って、本明細書に開示された諸実施形態は、全ての点でこれを限定的ではなく、例示的なものとして考慮することが望ましく、また本発明の範囲を決定するためには各請求項の記載を参照することが望ましい。
【図１】
0005363187.tif 000002
【図２】
0005363187.tif 000003
【図３】
0005363187.tif 000004