(57)【要約】【課題】メモリ初期化処理を高速に処理することを可能とする。【解決手段】メモリモジュール１３には、主メモリを構成するのに用いられるＲＡＭ及び第１のＳＰＤデータを格納するＳＰＤ１３０が搭載されている。フラッシュＲＯＭ１９は、ＣＰＵ１１が直接アクセス可能なメモリ空間に割り当てられる。ＳＰＤデータ保存処理モジュール１９１ｃは、ＳＰＤ１３０に格納されている第１のＳＰＤデータを第２のＳＰＤデータとしてフラッシュＲＯＭ１９のＳＰＤ保存領域１９２に保存する。メモリコントローラ設定処理モジュール１９１ｄは、パーソナルコンピュータの電源オン時に、ＳＰＤ保存領域１９２に保存されている第２のＳＰＤデータに基づいて、ＲＡＭを主メモリの構成要素として機能させるための初期設定処理を行う。【選択図】      図１
2007122627.tif 000002
【特許請求の範囲】
【請求項１】
各種プログラムを実行するＣＰＵを有する情報処理装置において、
主メモリを構成するのに用いられるＲＡＭ及び第１のＳＰＤデータを格納する第１の不揮発性メモリが搭載されたメモリモジュールであって、前記第１のＳＰＤデータが当該メモリモジュールの仕様を表すメモリモジュールと、
前記ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる第２の不揮発性メモリと、
前記メモリモジュールの前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータを第２のＳＰＤデータとして前記第２の不揮発性メモリの所定領域に保存する保存処理モジュールと、
前記情報処理装置の電源オン時に前記第２の不揮発性メモリの前記所定領域に保存されている前記第２のＳＰＤデータに基づいて、前記メモリモジュールに搭載された前記ＲＡＭを前記主メモリの構成要素として機能させるための初期設定処理を行う設定処理モジュールと
を具備することを特徴とする情報処理装置。
【請求項２】
前記メモリモジュールの前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータが、前記第２のＳＰＤデータとして前記第２の不揮発性メモリに保存されているかを前記情報処理装置の電源オン時に判定する判定処理モジュールを更に具備し、
前記設定処理モジュールは、前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータが、前記第２のＳＰＤデータとして前記第２の不揮発性メモリに保存されている第１の状態の場合、当該第２のＳＰＤデータに基づいて前記初期設定処理を行い、前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータが、前記第２のＳＰＤデータとして前記第２の不揮発性メモリに保存されていない第２の状態の場合、当該第１のＳＰＤデータに基づいて前記初期設定処理を行い、
前記保存処理モジュールは、前記第２の状態の場合、前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータを前記第２のＳＰＤデータとして前記第２の不揮発性メモリの前記所定領域に保存する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記保存処理モジュールは、前記メモリモジュールの前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータを前記第２のＳＰＤデータとして前記第２の不揮発性メモリの前記所定領域に保存する場合に、当該メモリモジュール及び前記情報処理装置に固有のフラグ情報を第１及び第２のフラグ情報として、それぞれ前記第１及び第２の不揮発性メモリの所定領域に保存し、
前記判定処理モジュールは前記情報処理装置の電源オン時に、前記第１及び第２の不揮発性メモリにそれぞれ保存されている前記第１及び第２のフラグ情報を比較し、前記第１及び第２のフラグ情報が一致し、且つ前記第２のＳＰＤデータが前記第２の不揮発性メモリに保存されている場合に前記第１の状態を判定し、そうでない場合に前記第２の状態を判定する
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記第２の不揮発性メモリは前記ＣＰＵによって実行可能なＢＩＯＳを格納しており、当該ＢＩＯＳは前記保存処理モジュール、前記設定処理モジュール及び前記判定処理モジュールを含むことを特徴とする請求項２記載の情報処理装置。
【請求項５】
各種プログラムを実行するＣＰＵと、主メモリを構成するのに用いられるＲＡＭ及び第１のＳＰＤデータを格納する第１の不揮発性メモリが搭載されたメモリモジュールであって、前記第１のＳＰＤデータが当該メモリモジュールの仕様を表すメモリモジュールと、前記ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる第２の不揮発性メモリとを有する情報処理装置に適用されるメモリ初期化方法であって、
前記メモリモジュールの前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータを第２のＳＰＤデータとして前記第２の不揮発性メモリの所定領域に保存するステップと、
前記情報処理装置の電源オン時に前記第２の不揮発性メモリの前記所定領域に保存されている前記第２のＳＰＤデータに基づいて、前記メモリモジュールに搭載された前記ＲＡＭを前記主メモリの構成要素として機能させるための初期設定処理を行うステップと
を具備することを特徴とするメモリ初期化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ初期化処理を高速で実行するのに好適な情報処理装置及びメモリ初期化方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータの電源をオンすると、システムＢＩＯＳ(Basic Input Output System)のＰＯＳＴ（Power On Self Test）処理が実行されるのが一般的である。
【０００３】
従来のＰＯＳＴ処理では、当該ＰＯＳＴ処理の初めで、メモリ初期化処理が実行される。このメモリ初期化処理内で、まずメモリ認識処理が行われる。システムＢＩＯＳは、このメモリ認識処理で、メモリモジュールに含まれているＳＰＤ（Serial Presence Detect）に格納されているＳＰＤデータを読み込む。ＳＰＤは、ＳＰＤデータを格納した不揮発性メモリ、例えばＥＥＰＲＯＭである。メモリモジュールは、主メモリを構成するのに用いられるＲＡＭを含む。システムＢＩＯＳは、ＳＰＤから読み込んだＳＰＤデータをもとに、メモリモジュールに搭載されたＲＡＭを主メモリの構成要素として機能させるための初期設定処理を行う。
【０００４】
一方、例えば特許文献１には、ＳＰＤデータを利用した次のような技術（以下、先行技術と称する）が開示されている。この先行技術においては、パーソナルコンピュータの電源がオンされると、ＤＩＭＭ（Dual In-line Memory Module）のようなメモリモジュールに格納されているＳＰＤデータは、メモリモジュールに接続されたフラッシュＲＯＭにコピーされる。そして、メモリモジュールに格納されているＳＰＤデータは消去される。つまり、メモリモジュールに格納されているＳＰＤデータは、コンピュータ本体のフラッシュＲＯＭに移動される。これにより、このメモリモジュールが無断で持ち出されて、別のコンピュータで使用される場合、当該別のコンピュータは異常動作状態になる。つまり、このメモリモジュールは、別のコンピュータにおいては使用することが不可能である。よって、結果的にメモリモジュールが盗難されることを防ぐことが可能となる。
【特許文献１】特開２０００−１４８６００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記したように、先行技術によれば、メモリモジュールに格納されているＳＰＤデータは、パーソナルコンピュータの電源のオン時に、当該メモリモジュールからフラッシュＲＯＭに移動される。また、この先行技術において、メモリ初期化処理は、フラッシュＲＯＭに移動されたＳＰＤデータに基づいて実行される。
【０００６】
しかしながら、先行技術では、メモリ初期化処理の高速化については考慮されていない。
【０００７】
本発明は上記事情を考慮してなされたものであり、その目的は、メモリ初期化処理を高速に実行することが可能な情報処理装置及びメモリ初期化方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の１つの態様によれば、各種プログラムを実行するＣＰＵを有する情報処理装置が提供される。この情報処理装置は、主メモリを構成するのに用いられるＲＡＭ及び第１のＳＰＤデータを格納する第１の不揮発性メモリが搭載されたメモリモジュールであって、前記第１のＳＰＤデータが当該メモリモジュールの仕様を表すメモリモジュールと、前記ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる第２の不揮発性メモリと、前記メモリモジュールの前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータを第２のＳＰＤデータとして前記第２の不揮発性メモリの所定領域に保存する保存処理モジュールと、前記情報処理装置の電源オン時に前記第２の不揮発性メモリの前記所定領域に保存されている前記第２の構成情報に基づいて、前記メモリモジュールに搭載された前記ＲＡＭを前記主メモリの構成要素として機能させるための初期設定処理を行う設定処理モジュールとを具備する。
【発明の効果】
【０００９】
本発明によれば、メモリモジュールの第１の不揮発性メモリに格納されたＳＰＤデータではなくて、ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる第２の不揮発性メモリに保存されたＳＰＤデータに基づいてメモリ初期化処理を実行することによって、当該メモリ初期化処理を高速に実行することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。  
まず、図１を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータとして実現されている。図１は、ノートブック型パーソナルコンピュータの構成を示すブロック図である。このパーソナルコンピュータは、ＣＰＵ１１、ノースブリッジ１２、メモリモジュール１３、グラフィクスコントローラ１４、サウスブリッジ１６、ハードディスクドライブ（ＨＤＤ）１７、光ディスクドライブ（ＯＤＤ）１８、フラッシュＲＯＭ１９及びエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２１等を備えている。
【００１１】
ＣＰＵ１１は、コンピュータの動作を制御するために設けられたプロセッサである。ＣＰＵ１１は、コンピュータのハードウェア資源及びソフトウェア資源の割り当て等を統合的に管理するオペレーティングシステム（ＯＳ）、及び動画再生アプリケーションプログラムのような各種アプリケーションプログラムを実行する。ＯＳ及び各種アプリケーションプログラムは、ハードディスクドライブ（ＨＤＤ）１７から後述する主メモリ（図示せず）にロードされる。また、ＣＰＵ１１は、フラッシュＲＯＭ１９に格納されたシステムＢＩＯＳ１９１(Basic Input Output System)も実行する。
【００１２】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２は、メモリモジュール１３へのアクセスを制御するメモリコントローラ１２ａを内蔵する。ノースブリッジ１２は、ＡＧＰ(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ１４との通信を実行する機能を有する。
【００１３】
メモリモジュール１３は、主メモリを構成するのに用いられる、ＤＲＡＭ(Dynamic RAM)のようなＲＡＭを有する。メモリモジュール１３はまた、ＳＰＤ（Serial Presence Detect）１３０を有する。ＳＰＤ１３０は、不揮発性メモリ（第１の不揮発性メモリ）、例えばＥＥＰＲＯＭである。ＳＰＤ１３０は、第１のＳＰＤデータが格納されるＳＰＤデータ領域１３１を有する。ＳＰＤデータは、メモリモジュール１３の容量、アクセス速度、アクセス方法、メモリ構成情報等、当該メモリモジュール１３の仕様を表すデータである。また、ＳＰＤ１３０は、後述する第１のＳＰＤデータ保存フラグ（フラグ情報）が書き込まれるフラグ保存領域１３２を有する。
【００１４】
グラフィクスコントローラ１４は、コンピュータのディスプレイモニタとして使用されるＬＣＤ１５を制御する表示コントローラである。このグラフィクスコントローラ１４は、ビデオメモリ（ＶＲＡＭ）に書き込まれた映像データをＬＣＤ１５に表示する。
【００１５】
サウスブリッジ１６は、ＬＰＣ(Low Pin Count)バス２０上の各デバイス、及びＰＣＩ(Peripheral Component Interconnect)バス（図示せず）上の各デバイスを制御する。また、サウスブリッジ１６は、ＨＤＤ１７、ＯＤＤ１８を制御するためのＩＤＥ(Integrated Drive Electronics)コントローラを内蔵する。更に、サウスブリッジ１６は、フラッシュＲＯＭ１９（第２の不揮発性メモリ）へのアクセスを制御するための機能を有する。
【００１６】
ＨＤＤ１７は、各種ソフトウェア及びデータを格納する記憶装置である。ＯＤＤ１８は、ビデオコンテンツ等が格納されたＤＶＤメディア、ＣＤメディアなどの記憶メディアを駆動するためのドライブユニットである。
【００１７】
ＥＣ／ＫＢＣ２１は、電力管理のためのエンベデッドコントローラ（ＥＣ）と、キーボード（ＫＢ）２２及びタッチパッド２３を制御するためのキーボードコントローラとが集積された単一チップのマイクロコンピュータである。このＥＣ／ＫＢＣ２１は、ユーザによるパワ−ボタンの操作に応じてコンピュータを電源オン／電源オフする機能を有している。
【００１８】
フラッシュＲＯＭ１９は、書き換え可能な不揮発性メモリである。フラッシュＲＯＭ１９は、ＣＰＵ１１が直接アクセス可能なメモリ空間に割り当てられている。このメモリ空間には主メモリも割り当てられている。フラッシュＲＯＭ１９は、システムＢＩＯＳ１９１を格納する。また、フラッシュＲＯＭ１９はＳＰＤ保存領域１９２を有する。ＳＰＤ保存領域１９２は、ＳＰＤ１３０のＳＰＤデータ領域１３１に格納されているＳＰＤデータを保存するＳＰＤデータ保存領域１９２ａを含む。また、ＳＰＤ保存領域１９２は、第２のＳＰＤデータ保存フラグを保存するフラグ保存領域１９２ｂを含む。
【００１９】
ここで、ＳＰＤデータ保存フラグについて説明する。このフラグは、メモリモジュール及びパーソナルコンピュータに固有の情報である。このフラグは、メモリモジュール１３のＳＰＤ１３０に含まれるＳＰＤデータ領域１３１に格納されている第１のＳＰＤデータがフラッシュＲＯＭ１９に第２のＳＰＤデータとして保存されているかを判定するために用いられる。つまりフラグは、メモリモジュール１３が別のメモリモジュールに差し替えられたか否かを判定するために用いられる。このフラグは、システムＢＩＯＳ１９１によって、第１のＳＰＤデータ保存フラグとしてＳＰＤ１３０のフラグ保存領域１３２に書き込まれる。また、このフラグは、システムＢＩＯＳ１９１によって、第２のＳＰＤデータ保存フラグとしてフラッシュＲＯＭ１９のフラグ保存領域１９２ｂに書き込まれる。
【００２０】
システムＢＩＯＳ１９１は、ハードウェア制御のためのプログラムである。このシステムＢＩＯＳ１９１をＣＰＵ１１が実行することによりハードウェア制御が実現される。しかし、以下の説明では、煩雑さを避けるために、システムＢＩＯＳ１９１がハードウェア制御を行うものとする。
【００２１】
システムＢＩＯＳ１９１は、メモリ認識実行判断処理モジュール１９１ａ、メモリ認識処理モジュール１９１ｂ、ＳＰＤデータ保存処理モジュール１９１ｃ、メモリコントローラ設定処理モジュール１９１ｄ及びＳＰＤデータ取得モジュール１９１ｅを有する。
【００２２】
メモリ認識実行判断処理モジュール１９１ａは、パーソナルコンピュータの電源オン時に、フラグ保存領域１３２及び１９２ｂにそれぞれ書き込まれた第１及び第２のＳＰＤデータ保存フラグを読み込む。また、メモリ認識実行判断処理モジュール１９１ａは、読み込んだフラグが一致するか否かを判定する。メモリ認識実行判断処理モジュール１９１ａは、フラグが一致するか否かに基づいて、メモリモジュール１３が差し替えられたか否かを判定する。また、メモリ認識実行判断処理モジュール１９１ａは、第２のＳＰＤデータがＳＰＤデータ保存領域１９２ａに格納されているかを判定する機能を有する。
【００２３】
メモリ認識処理モジュール１９１ｂは、ＳＰＤ１３０のＳＰＤデータ領域１３１に格納されている第１のＳＰＤデータを読み込む。またメモリ認識処理モジュール１９１ｂは、読み込んだ第１のＳＰＤデータから、メモリ構成情報等を取得する。
【００２４】
ＳＰＤデータ保存処理モジュール１９１ｃは、ＳＰＤ１３０のＳＰＤデータ領域１３１に格納されている第１のＳＰＤデータを第２のＳＰＤデータとしてフラッシュＲＯＭ１９のＳＰＤデータ保存領域１９２ａに書き込む。このときＳＰＤデータ保存処理モジュール１９１ｃは、ＳＰＤデータ保存フラグをフラグ保存領域１３２及び１９２ｂにそれぞれ第１及び第２のＳＰＤデータ保存フラグとして書き込む。
【００２５】
メモリコントローラ設定処理モジュール１９１ｄは、第１または第２のＳＰＤデータをもとに、メモリモジュール１３に搭載されたＲＡＭを主メモリの構成要素として機能させるための初期設定処理をメモリコントローラ１２ａに対して行う。
【００２６】
ＳＰＤデータ取得モジュール１９１ｅはＳＰＤデータ保存領域１９２ａに書き込まれた第２のＳＰＤデータを読み込む。ＳＰＤデータ取得モジュール１９１ｅは、読み込んだＳＰＤデータから、メモリ構成情報等を取得する。
【００２７】
図２は、ＣＰＵ１１が直接アクセス可能なメモリ空間１９０に対するメモリマッピングの一例を示す。このメモリ空間１９０にはフラッシュＲＯＭ１９が割り当てられている。つまり、メモリ空間１９０にはシステムＢＩＯＳ１９１及びＳＰＤ保存領域１９２が割り当てられている。これにより、ＳＰＤ保存領域１９２に含まれるＳＰＤデータ保存領域１９２ａに保存されている第２のＳＰＤデータを高速で読み出すことが可能となる。
【００２８】
次に、図３のフローチャートを参照して、メモリ初期化処理の手順について説明する。
【００２９】
図１に示すパーソナルコンピュータの電源がオンされると、システムＢＩＯＳ１９１によりＰＯＳＴ（Power On Self Test）処理が実行される。メモリ初期化処理は、このＰＯＳＴ処理の初めで実行される。
【００３０】
メモリ初期化処理において、メモリ認識実行判断処理モジュール１９１ａはまず、フラグ保存領域１３２及び１９２ｂからそれぞれ第１及び第２のＳＰＤデータ保存フラグを読み込む（ステップＳ１）。メモリ認識実行判断処理モジュール１９１ａは、読み込んだ両方のフラグを比較し、読み込んだ両方のフラグが一致するか否かを判定する（ステップＳ２）。ここでは、例えば図１のパーソナルコンピュータが初めて起動された場合のように、フラグ保存領域１３２及び１９２ｂに有効な第１及び第２のＳＰＤデータ保存フラグが格納されていない場合には不一致が判定される。また、後述するようにメモリモジュール１３が差し替えられた場合にも、不一致が判定される。
【００３１】
今、ステップＳ２において不一致が判定されたものとする。この場合、メモリ認識処理モジュール１９１ｂは、以下に述べるメモリ認識処理を実行する（ステップＳ３）。まずメモリ認識処理モジュール１９１ｂは、ＳＰＤ１３０のＳＰＤデータ領域１３１に格納されている第１のＳＰＤデータを読み込む。この第１のＳＰＤデータの読み込みは、ＳＰＤ１３０を入出力デバイスの１つとして所定のプロトコルにより実行される。このため第１のＳＰＤデータの読み込みを高速に実行することは困難である。メモリ認識処理モジュール１９１ｂは、読み込んだ第１のＳＰＤデータから、メモリ構成情報等を取得してメモリモジュール１３の構成等を認識する。
【００３２】
メモリ認識処理モジュール１９１ｂによってステップＳ３が実行されると、ＳＰＤデータ保存処理モジュール１９１ｃが起動される。ＳＰＤデータ保存処理モジュール１９１ｃは、メモリ認識処理モジュール１９１ｂによってＳＰＤ１３０のＳＰＤデータ領域１３１から読み込まれた第１のＳＰＤデータを第２のＳＰＤデータとして、フラッシュＲＯＭ１９のＳＰＤ保存領域１９２に含まれているＳＰＤデータ保存領域１９２ａに書き込む（ステップＳ４）。このＳＰＤ１３０のＳＰＤデータ領域１３１に格納されている第１のＳＰＤデータが第２のＳＰＤデータとしてフラッシュＲＯＭ１９のＳＰＤデータ保存領域１９２ａに保存されている状態を第１の状態と呼び、それ以外の状態を第２の状態と呼ぶ。
【００３３】
次にＳＰＤデータ保存処理モジュール１９１ｃは、ＳＰＤデータ保存フラグを生成して、ＳＰＤ１３０のフラグ保存領域１３２及びフラッシュＲＯＭ１９のフラグ保存領域１９２ｂに、それぞれ第１及び第２のＳＰＤデータ保存フラグとして書き込む（ステップＳ５）。ここで、ＳＰＤデータ保存フラグは、ＳＰＤデータ保存処理モジュール１９１ｃを含むシステムＢＩＯＳ１９１が動作するパーソナルコンピュータ、及び当該パーソナルコンピュータに実装されているメモリモジュール１３の組み合わせで一意に生成されるに固有の情報である。
【００３４】
ＳＰＤデータ保存処理モジュール１９１ｃによってステップＳ４及びＳ５が実行されると、メモリコントローラ設定処理モジュール１９１ｄが起動される。メモリコントローラ設定処理モジュール１９１ｄは、先にメモリ認識処理モジュール１９１ｂによって読み込まれたＳＰＤデータ（ここでは第１のＳＰＤデータ）をもとにメモリコントローラ１２ａを初期化するための初期設定処理を実行する（ステップＳ６）。この初期設定処理により、メモリモジュール１３に搭載されたＲＡＭを主メモリとして機能させるための最適な動作条件がメモリコントローラ１２ａに設定される。
【００３５】
ステップＳ６の初期設定処理が実行されると、メモリ初期化処理が終了し、ＰＯＳＴ処理の残りの処理が実行される。ＰＯＳＴ処理が完了すると、フラッシュＲＯＭ１９に格納されているシステムＢＩＯＳは主メモリの所定領域にロードされる。ＣＰＵ１１は、主メモリにロードされたシステムＢＩＯＳを実行する。
【００３６】
次に、このような状態で、図１のパーソナルコンピュータの電源がオフされ、しかる後に、当該電源が再度オンされたものとする。この場合、まずメモリ初期化処理が開始される。するとメモリ認識実行判断処理モジュール１９１ａは、フラグ保存領域１３２及び１９２ｂからそれぞれ第１及び第２のＳＰＤデータ保存フラグを読み込む（ステップＳ１）。メモリ認識実行判断処理モジュール１９１ａは、読み込んだ両方のフラグが一致するか否かを判定する（ステップＳ２）。
【００３７】
さて図１のパーソナルコンピュータでは、上述したように、前回の電源オン時のメモリ初期化処理で上記ステップＳ１−Ｓ６が実行されている。この初期化処理（ステップＳ５）では、第２のＳＰＤデータ保存フラグがフラグ保存領域１９２ｂに書き込まれる。したがって、現在この第２のＳＰＤデータ保存フラグがフラグ保存領域１９２ｂに格納されている。
【００３８】
ここで、前回の電源オン時から今回の電源オン時までの間にメモリモジュール１３が差し替えられていないものとする。この状態では、フラグ保存領域１３２には、前回の電源オン時のメモリ初期化処理（ステップＳ５）で当該フラグ保存領域１３２に書き込まれた第１のＳＰＤデータ保存フラグが格納されている。したがって今回の初期化処理のステップＳ２では、メモリ認識実行判断処理モジュール１９１ａによって一致が判定される。この場合、メモリ認識実行判断処理モジュール１９１ａは、メモリモジュール１３が前回の電源オン時から今回の電源オン時までの間に差し替えられていないことを判定する。
【００３９】
このとき、メモリモジュール１３のＳＰＤ１３０に格納されている第１のＳＰＤデータは、例えばフラッシュＲＯＭ１９の異常等が発生しないならば、第２のＳＰＤデータとして当該フラッシュＲＯＭ１９のＳＰＤデータ保存領域１９２ａに保存されているはずである。そこでメモリ認識実行判断処理モジュール１９１ａは、ＳＰＤデータ保存領域１９２ａに第２のＳＰＤデータが保存されているか否かを判定する（ステップＳ７）。
【００４０】
このように、ステップＳ２において上記両方のＳＰＤデータ保存フラグが一致していることが判定され、ステップＳ７において第２のＳＰＤデータがＳＰＤデータ保存領域１９２ａに保存されていると判定されると、即ち前記第１の状態が判定されると、ＳＰＤデータ取得モジュール１９１ｅは、以下に述べるメモリ認識処理を実行する（ステップＳ８）。まずＳＰＤデータ取得モジュール１９１ｅは、ＳＰＤデータ保存領域１９２ａから第２のＳＰＤデータを読み込む。ここで、ＳＰＤデータ保存領域１９２ａを含むフラッシュＲＯＭ１９は、ＣＰＵ１１が直接アクセス可能なメモリ空間に割り当てられている。このため、ＳＰＤデータ取得モジュール１９１ｅは、ＳＰＤデータ保存領域１９２ａからの第２のＳＰＤデータの読み込みを高速に実行することが可能である。ＳＰＤデータ取得モジュール１９１ｅは、読み込んだ第２のＳＰＤデータから、メモリ構成情報等を取得してメモリモジュール１３の構成等を認識する。
【００４１】
ＳＰＤデータ取得モジュール１９１ｅによって、ステップＳ８が実行されると、メモリコントローラ設定処理モジュール１９１ｄが起動される。メモリコントローラ設定処理モジュール１９１ｄは、先に述べたステップＳ６とは異なり、ステップＳ８においてＳＰＤデータ取得モジュール１９１ｅによって読み込まれたＳＰＤデータ（ここでは第２のＳＰＤデータ）をもとにステップＳ６（初期設定処理）を実行する。
【００４２】
さて、フラグ保存領域１３２及び１９２ｂに第１及び第２のＳＰＤデータ保存フラグが保存されていて、当該両フラグの一致が判定された場合でも、ＳＰＤデータ保存領域１９２ａに保存されていた第２のＳＰＤデータが何らかの原因によって消失することがあり得る。もし、ＳＰＤデータ保存領域１９２ａに保存されていた第２のＳＰＤデータが消失した場合、上記ステップＳ７の判定はＮＯとなり、前記第２の状態（非第１の状態）が判定される。この場合、上記両フラグの不一致が判定された場合と同様に、ステップＳ３乃至Ｓ６の処理が実行される。
【００４３】
次に、パーソナルコンピュータの電源がオフされた後にメモリモジュール１３が別のメモリモジュールに差し替えられ、しかる後に当該コンピュータの電源が再びオンされた場合のメモリ初期化処理について説明する。ここで、差し替え前のメモリモジュール１３を旧メモリモジュール１３と呼び、差し替え後のメモリモジュールを新メモリモジュール１３と呼ぶ。
【００４４】
まずメモリ認識実行判断処理モジュール１９１ａは、フラグ保存領域１３２及び１９２ｂからそれぞれ第１及び第２のＳＰＤデータ保存フラグを読み込む（ステップＳ１）。次にメモリ認識実行判断処理モジュール１９１ａは、読み込んだ両方のフラグが一致するか否かを判定する（ステップＳ２）。
【００４５】
今、フラグ保存領域１９２ｂには、前回電源がオンされたときに実行されるメモリ初期化処理によって、旧メモリモジュール１３及び図１のパーソナルコンピュータに固有の第２のＳＰＤデータ保存フラグが格納されている。また、ＳＰＤデータ保存領域１９２ａには、旧メモリモジュール１３のＳＰＤ１３０に含まれるＳＰＤデータ領域１３１に格納されている第１のＳＰＤデータが、第２のＳＰＤデータとして格納されている。旧メモリモジュール１３が差し替えられる場合、新メモリモジュール１３は旧メモリモジュール１３とはタイプが異なるのが一般的である。
【００４６】
ここで、旧メモリモジュール１３が新メモリモジュール１３に差し替えられているにも拘わらずに、上述の初期化処理でステップＳ８が実行される場合を想定する。この場合、新メモリモジュール１３のＳＰＤ１３０に格納されているＳＰＤデータとは異なるＳＰＤデータ、つまり旧メモリモジュール１３のＳＰＤ１３０に格納されているＳＰＤデータが読み込まれる。すると、適正なメモリ初期化処理が行われないことになる。そこで本実施形態では、メモリモジュールが差し替えられたかが次のようにして判定される。
【００４７】
まず、旧メモリモジュール１３に差し替えられる新メモリモジュール１３が、図１のパーソナルコンピュータとは別のパーソナルコンピュータに備えられているものとする。また、この新メモリモジュール１３のフラグ保存領域１３２に第１のＳＰＤデータ保存フラグが格納されているとする。この第１のＳＰＤデータ保存フラグは、旧メモリモジュール１３のフラグ保存領域１３２に格納されている第１のＳＰＤデータ保存フラグとは異なる。よって、今回の初期化処理のステップＳ２では、メモリ認識実行判断処理モジュール１９１ａによって不一致が判定される。この場合、メモリ認識実行判断処理モジュール１９１ａは、旧メモリモジュール１３が新メモリモジュール１３に差し替えられたことを判定できる。
【００４８】
次に、新メモリモジュール１３が例えば未使用のために、新メモリモジュール１３のフラグ保存領域１３２に有効な第１のＳＰＤデータ保存フラグが格納されていないものとする。この場合でも、上記ステップＳ２において不一致が判定されることから、メモリ認識実行判断処理モジュール１９１ａは、旧メモリモジュール１３が新メモリモジュール１３に差し替えられたことを判定できる。
【００４９】
ステップＳ２において不一致が判定された場合、つまり旧メモリモジュール１３が新メモリモジュール１３に差し替えられたことが判定された場合、前記第２の状態が判定される。この場合、前述のステップＳ３乃至Ｓ６の処理が実行される。
【００５０】
上述したように本実施形態においては、メモリモジュール１３のＳＰＤ１３０に格納された第１のＳＰＤデータではなくて、ＣＰＵ１１が直接アクセス可能なメモリ空間に割り当てられるフラッシュＲＯＭ１９のＳＰＤ保存領域１９２に保存された第２のＳＰＤデータに基づいてメモリ初期化処理を実行することによって、当該メモリ初期化処理を高速に実行することが可能となる。
【００５１】
また、旧メモリモジュール１３が新メモリモジュール１３に差し替えられたにも拘わらずに、旧メモリモジュール１３のＳＰＤデータ保存領域１９２ａから読み出されてフラッシュＲＯＭ１９のＳＰＤ保存領域１９２に保存されたＳＰＤデータを用いると適正なメモリ初期化処理が行われない。しかしながら、本実施形態においては、メモリモジュール１３のフラグ保存領域１３２及びフラッシュＲＯＭ１９のフラグ保存領域１９２ｂにそれぞれ書き込まれるＳＰＤデータ保存フラグを参照することによって、メモリモジュール１３の差し替えを判定することができる。したがって、旧メモリモジュール１３が新メモリモジュール１３に差し替えられた場合には、当該新メモリモジュール１３のＳＰＤデータ領域１３１に格納されているＳＰＤデータに基づいてメモリ初期化処理が実行される。
【００５２】
よって、本実施形態によれば、旧メモリモジュール１３が新メモリモジュール１３に差し替えられたにも拘わらず、旧メモリモジュール１３のＳＰＤデータに基づいてメモリ初期化処理が実行されることを防ぐことが可能となる。
【００５３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態に係るパーソナルコンピュータのシステム構成を示すブロック図。
【図２】ＣＰＵ１１が直接アクセス可能なメモリ空間１９０に対するメモリマッピングの一例を示す図。
【図３】上記実施形態で適用されるメモリ初期化処理手順を示すフローチャート。
【符号の説明】
【００５５】
１１…ＣＰＵ、１２…ノースブリッジ、１２ａ…メモリコントローラ、１３…メモリモジュール、１６…サウスブリッジ、１９…フラッシュＲＯＭ、１３０…ＳＰＤ、１３１…ＳＰＤデータ領域、１３２…フラグ保存領域、１９０…メモリ空間、１９１…システムＢＩＯＳ、１９１ａ…メモリ認識実行判断処理モジュール、１９１ｂ…メモリ認識処理モジュール、１９１ｃ…ＳＰＤデータ保存処理モジュール、１９１ｄ…メモリコントローラ設定処理モジュール、１９１ｅ…ＳＰＤデータ取得モジュール、１９２…ＳＰＤ保存領域、１９２ａ…ＳＰＤデータ保存領域、１９２ｂ…フラグ保存領域。
【図１】
2007122627.tif 000003
【図２】
2007122627.tif 000004
【図３】
2007122627.tif 000005