JP2007122627A - 情報処理装置及びメモリ初期化方法 - Google Patents
情報処理装置及びメモリ初期化方法 Download PDFInfo
- Publication number
- JP2007122627A JP2007122627A JP2005317178A JP2005317178A JP2007122627A JP 2007122627 A JP2007122627 A JP 2007122627A JP 2005317178 A JP2005317178 A JP 2005317178A JP 2005317178 A JP2005317178 A JP 2005317178A JP 2007122627 A JP2007122627 A JP 2007122627A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- spd data
- spd
- module
- stored
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/88—Detecting or preventing theft or loss
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【課題】メモリ初期化処理を高速に処理することを可能とする。
【解決手段】メモリモジュール13には、主メモリを構成するのに用いられるRAM及び第1のSPDデータを格納するSPD130が搭載されている。フラッシュROM19は、CPU11が直接アクセス可能なメモリ空間に割り当てられる。SPDデータ保存処理モジュール191cは、SPD130に格納されている第1のSPDデータを第2のSPDデータとしてフラッシュROM19のSPD保存領域192に保存する。メモリコントローラ設定処理モジュール191dは、パーソナルコンピュータの電源オン時に、SPD保存領域192に保存されている第2のSPDデータに基づいて、RAMを主メモリの構成要素として機能させるための初期設定処理を行う。
【選択図】 図1
【解決手段】メモリモジュール13には、主メモリを構成するのに用いられるRAM及び第1のSPDデータを格納するSPD130が搭載されている。フラッシュROM19は、CPU11が直接アクセス可能なメモリ空間に割り当てられる。SPDデータ保存処理モジュール191cは、SPD130に格納されている第1のSPDデータを第2のSPDデータとしてフラッシュROM19のSPD保存領域192に保存する。メモリコントローラ設定処理モジュール191dは、パーソナルコンピュータの電源オン時に、SPD保存領域192に保存されている第2のSPDデータに基づいて、RAMを主メモリの構成要素として機能させるための初期設定処理を行う。
【選択図】 図1
Description
本発明は、メモリ初期化処理を高速で実行するのに好適な情報処理装置及びメモリ初期化方法に関する。
パーソナルコンピュータの電源をオンすると、システムBIOS(Basic Input Output System)のPOST(Power On Self Test)処理が実行されるのが一般的である。
従来のPOST処理では、当該POST処理の初めで、メモリ初期化処理が実行される。このメモリ初期化処理内で、まずメモリ認識処理が行われる。システムBIOSは、このメモリ認識処理で、メモリモジュールに含まれているSPD(Serial Presence Detect)に格納されているSPDデータを読み込む。SPDは、SPDデータを格納した不揮発性メモリ、例えばEEPROMである。メモリモジュールは、主メモリを構成するのに用いられるRAMを含む。システムBIOSは、SPDから読み込んだSPDデータをもとに、メモリモジュールに搭載されたRAMを主メモリの構成要素として機能させるための初期設定処理を行う。
一方、例えば特許文献1には、SPDデータを利用した次のような技術(以下、先行技術と称する)が開示されている。この先行技術においては、パーソナルコンピュータの電源がオンされると、DIMM(Dual In-line Memory Module)のようなメモリモジュールに格納されているSPDデータは、メモリモジュールに接続されたフラッシュROMにコピーされる。そして、メモリモジュールに格納されているSPDデータは消去される。つまり、メモリモジュールに格納されているSPDデータは、コンピュータ本体のフラッシュROMに移動される。これにより、このメモリモジュールが無断で持ち出されて、別のコンピュータで使用される場合、当該別のコンピュータは異常動作状態になる。つまり、このメモリモジュールは、別のコンピュータにおいては使用することが不可能である。よって、結果的にメモリモジュールが盗難されることを防ぐことが可能となる。
特開2000−148600号公報
上記したように、先行技術によれば、メモリモジュールに格納されているSPDデータは、パーソナルコンピュータの電源のオン時に、当該メモリモジュールからフラッシュROMに移動される。また、この先行技術において、メモリ初期化処理は、フラッシュROMに移動されたSPDデータに基づいて実行される。
しかしながら、先行技術では、メモリ初期化処理の高速化については考慮されていない。
本発明は上記事情を考慮してなされたものであり、その目的は、メモリ初期化処理を高速に実行することが可能な情報処理装置及びメモリ初期化方法を提供することにある。
本発明の1つの態様によれば、各種プログラムを実行するCPUを有する情報処理装置が提供される。この情報処理装置は、主メモリを構成するのに用いられるRAM及び第1のSPDデータを格納する第1の不揮発性メモリが搭載されたメモリモジュールであって、前記第1のSPDデータが当該メモリモジュールの仕様を表すメモリモジュールと、前記CPUが直接アクセス可能なメモリ空間に割り当てられる第2の不揮発性メモリと、前記メモリモジュールの前記第1の不揮発性メモリに格納されている前記第1のSPDデータを第2のSPDデータとして前記第2の不揮発性メモリの所定領域に保存する保存処理モジュールと、前記情報処理装置の電源オン時に前記第2の不揮発性メモリの前記所定領域に保存されている前記第2の構成情報に基づいて、前記メモリモジュールに搭載された前記RAMを前記主メモリの構成要素として機能させるための初期設定処理を行う設定処理モジュールとを具備する。
本発明によれば、メモリモジュールの第1の不揮発性メモリに格納されたSPDデータではなくて、CPUが直接アクセス可能なメモリ空間に割り当てられる第2の不揮発性メモリに保存されたSPDデータに基づいてメモリ初期化処理を実行することによって、当該メモリ初期化処理を高速に実行することが可能となる。
以下、図面を参照して本発明の実施形態を説明する。
まず、図1を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータとして実現されている。図1は、ノートブック型パーソナルコンピュータの構成を示すブロック図である。このパーソナルコンピュータは、CPU11、ノースブリッジ12、メモリモジュール13、グラフィクスコントローラ14、サウスブリッジ16、ハードディスクドライブ(HDD)17、光ディスクドライブ(ODD)18、フラッシュROM19及びエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)21等を備えている。
まず、図1を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータとして実現されている。図1は、ノートブック型パーソナルコンピュータの構成を示すブロック図である。このパーソナルコンピュータは、CPU11、ノースブリッジ12、メモリモジュール13、グラフィクスコントローラ14、サウスブリッジ16、ハードディスクドライブ(HDD)17、光ディスクドライブ(ODD)18、フラッシュROM19及びエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)21等を備えている。
CPU11は、コンピュータの動作を制御するために設けられたプロセッサである。CPU11は、コンピュータのハードウェア資源及びソフトウェア資源の割り当て等を統合的に管理するオペレーティングシステム(OS)、及び動画再生アプリケーションプログラムのような各種アプリケーションプログラムを実行する。OS及び各種アプリケーションプログラムは、ハードディスクドライブ(HDD)17から後述する主メモリ(図示せず)にロードされる。また、CPU11は、フラッシュROM19に格納されたシステムBIOS191(Basic Input Output System)も実行する。
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12は、メモリモジュール13へのアクセスを制御するメモリコントローラ12aを内蔵する。ノースブリッジ12は、AGP(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ14との通信を実行する機能を有する。
メモリモジュール13は、主メモリを構成するのに用いられる、DRAM(Dynamic RAM)のようなRAMを有する。メモリモジュール13はまた、SPD(Serial Presence Detect)130を有する。SPD130は、不揮発性メモリ(第1の不揮発性メモリ)、例えばEEPROMである。SPD130は、第1のSPDデータが格納されるSPDデータ領域131を有する。SPDデータは、メモリモジュール13の容量、アクセス速度、アクセス方法、メモリ構成情報等、当該メモリモジュール13の仕様を表すデータである。また、SPD130は、後述する第1のSPDデータ保存フラグ(フラグ情報)が書き込まれるフラグ保存領域132を有する。
グラフィクスコントローラ14は、コンピュータのディスプレイモニタとして使用されるLCD15を制御する表示コントローラである。このグラフィクスコントローラ14は、ビデオメモリ(VRAM)に書き込まれた映像データをLCD15に表示する。
サウスブリッジ16は、LPC(Low Pin Count)バス20上の各デバイス、及びPCI(Peripheral Component Interconnect)バス(図示せず)上の各デバイスを制御する。また、サウスブリッジ16は、HDD17、ODD18を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵する。更に、サウスブリッジ16は、フラッシュROM19(第2の不揮発性メモリ)へのアクセスを制御するための機能を有する。
HDD17は、各種ソフトウェア及びデータを格納する記憶装置である。ODD18は、ビデオコンテンツ等が格納されたDVDメディア、CDメディアなどの記憶メディアを駆動するためのドライブユニットである。
EC/KBC21は、電力管理のためのエンベデッドコントローラ(EC)と、キーボード(KB)22及びタッチパッド23を制御するためのキーボードコントローラとが集積された単一チップのマイクロコンピュータである。このEC/KBC21は、ユーザによるパワ−ボタンの操作に応じてコンピュータを電源オン/電源オフする機能を有している。
フラッシュROM19は、書き換え可能な不揮発性メモリである。フラッシュROM19は、CPU11が直接アクセス可能なメモリ空間に割り当てられている。このメモリ空間には主メモリも割り当てられている。フラッシュROM19は、システムBIOS191を格納する。また、フラッシュROM19はSPD保存領域192を有する。SPD保存領域192は、SPD130のSPDデータ領域131に格納されているSPDデータを保存するSPDデータ保存領域192aを含む。また、SPD保存領域192は、第2のSPDデータ保存フラグを保存するフラグ保存領域192bを含む。
ここで、SPDデータ保存フラグについて説明する。このフラグは、メモリモジュール及びパーソナルコンピュータに固有の情報である。このフラグは、メモリモジュール13のSPD130に含まれるSPDデータ領域131に格納されている第1のSPDデータがフラッシュROM19に第2のSPDデータとして保存されているかを判定するために用いられる。つまりフラグは、メモリモジュール13が別のメモリモジュールに差し替えられたか否かを判定するために用いられる。このフラグは、システムBIOS191によって、第1のSPDデータ保存フラグとしてSPD130のフラグ保存領域132に書き込まれる。また、このフラグは、システムBIOS191によって、第2のSPDデータ保存フラグとしてフラッシュROM19のフラグ保存領域192bに書き込まれる。
システムBIOS191は、ハードウェア制御のためのプログラムである。このシステムBIOS191をCPU11が実行することによりハードウェア制御が実現される。しかし、以下の説明では、煩雑さを避けるために、システムBIOS191がハードウェア制御を行うものとする。
システムBIOS191は、メモリ認識実行判断処理モジュール191a、メモリ認識処理モジュール191b、SPDデータ保存処理モジュール191c、メモリコントローラ設定処理モジュール191d及びSPDデータ取得モジュール191eを有する。
メモリ認識実行判断処理モジュール191aは、パーソナルコンピュータの電源オン時に、フラグ保存領域132及び192bにそれぞれ書き込まれた第1及び第2のSPDデータ保存フラグを読み込む。また、メモリ認識実行判断処理モジュール191aは、読み込んだフラグが一致するか否かを判定する。メモリ認識実行判断処理モジュール191aは、フラグが一致するか否かに基づいて、メモリモジュール13が差し替えられたか否かを判定する。また、メモリ認識実行判断処理モジュール191aは、第2のSPDデータがSPDデータ保存領域192aに格納されているかを判定する機能を有する。
メモリ認識処理モジュール191bは、SPD130のSPDデータ領域131に格納されている第1のSPDデータを読み込む。またメモリ認識処理モジュール191bは、読み込んだ第1のSPDデータから、メモリ構成情報等を取得する。
SPDデータ保存処理モジュール191cは、SPD130のSPDデータ領域131に格納されている第1のSPDデータを第2のSPDデータとしてフラッシュROM19のSPDデータ保存領域192aに書き込む。このときSPDデータ保存処理モジュール191cは、SPDデータ保存フラグをフラグ保存領域132及び192bにそれぞれ第1及び第2のSPDデータ保存フラグとして書き込む。
メモリコントローラ設定処理モジュール191dは、第1または第2のSPDデータをもとに、メモリモジュール13に搭載されたRAMを主メモリの構成要素として機能させるための初期設定処理をメモリコントローラ12aに対して行う。
SPDデータ取得モジュール191eはSPDデータ保存領域192aに書き込まれた第2のSPDデータを読み込む。SPDデータ取得モジュール191eは、読み込んだSPDデータから、メモリ構成情報等を取得する。
図2は、CPU11が直接アクセス可能なメモリ空間190に対するメモリマッピングの一例を示す。このメモリ空間190にはフラッシュROM19が割り当てられている。つまり、メモリ空間190にはシステムBIOS191及びSPD保存領域192が割り当てられている。これにより、SPD保存領域192に含まれるSPDデータ保存領域192aに保存されている第2のSPDデータを高速で読み出すことが可能となる。
次に、図3のフローチャートを参照して、メモリ初期化処理の手順について説明する。
図1に示すパーソナルコンピュータの電源がオンされると、システムBIOS191によりPOST(Power On Self Test)処理が実行される。メモリ初期化処理は、このPOST処理の初めで実行される。
メモリ初期化処理において、メモリ認識実行判断処理モジュール191aはまず、フラグ保存領域132及び192bからそれぞれ第1及び第2のSPDデータ保存フラグを読み込む(ステップS1)。メモリ認識実行判断処理モジュール191aは、読み込んだ両方のフラグを比較し、読み込んだ両方のフラグが一致するか否かを判定する(ステップS2)。ここでは、例えば図1のパーソナルコンピュータが初めて起動された場合のように、フラグ保存領域132及び192bに有効な第1及び第2のSPDデータ保存フラグが格納されていない場合には不一致が判定される。また、後述するようにメモリモジュール13が差し替えられた場合にも、不一致が判定される。
今、ステップS2において不一致が判定されたものとする。この場合、メモリ認識処理モジュール191bは、以下に述べるメモリ認識処理を実行する(ステップS3)。まずメモリ認識処理モジュール191bは、SPD130のSPDデータ領域131に格納されている第1のSPDデータを読み込む。この第1のSPDデータの読み込みは、SPD130を入出力デバイスの1つとして所定のプロトコルにより実行される。このため第1のSPDデータの読み込みを高速に実行することは困難である。メモリ認識処理モジュール191bは、読み込んだ第1のSPDデータから、メモリ構成情報等を取得してメモリモジュール13の構成等を認識する。
メモリ認識処理モジュール191bによってステップS3が実行されると、SPDデータ保存処理モジュール191cが起動される。SPDデータ保存処理モジュール191cは、メモリ認識処理モジュール191bによってSPD130のSPDデータ領域131から読み込まれた第1のSPDデータを第2のSPDデータとして、フラッシュROM19のSPD保存領域192に含まれているSPDデータ保存領域192aに書き込む(ステップS4)。このSPD130のSPDデータ領域131に格納されている第1のSPDデータが第2のSPDデータとしてフラッシュROM19のSPDデータ保存領域192aに保存されている状態を第1の状態と呼び、それ以外の状態を第2の状態と呼ぶ。
次にSPDデータ保存処理モジュール191cは、SPDデータ保存フラグを生成して、SPD130のフラグ保存領域132及びフラッシュROM19のフラグ保存領域192bに、それぞれ第1及び第2のSPDデータ保存フラグとして書き込む(ステップS5)。ここで、SPDデータ保存フラグは、SPDデータ保存処理モジュール191cを含むシステムBIOS191が動作するパーソナルコンピュータ、及び当該パーソナルコンピュータに実装されているメモリモジュール13の組み合わせで一意に生成されるに固有の情報である。
SPDデータ保存処理モジュール191cによってステップS4及びS5が実行されると、メモリコントローラ設定処理モジュール191dが起動される。メモリコントローラ設定処理モジュール191dは、先にメモリ認識処理モジュール191bによって読み込まれたSPDデータ(ここでは第1のSPDデータ)をもとにメモリコントローラ12aを初期化するための初期設定処理を実行する(ステップS6)。この初期設定処理により、メモリモジュール13に搭載されたRAMを主メモリとして機能させるための最適な動作条件がメモリコントローラ12aに設定される。
ステップS6の初期設定処理が実行されると、メモリ初期化処理が終了し、POST処理の残りの処理が実行される。POST処理が完了すると、フラッシュROM19に格納されているシステムBIOSは主メモリの所定領域にロードされる。CPU11は、主メモリにロードされたシステムBIOSを実行する。
次に、このような状態で、図1のパーソナルコンピュータの電源がオフされ、しかる後に、当該電源が再度オンされたものとする。この場合、まずメモリ初期化処理が開始される。するとメモリ認識実行判断処理モジュール191aは、フラグ保存領域132及び192bからそれぞれ第1及び第2のSPDデータ保存フラグを読み込む(ステップS1)。メモリ認識実行判断処理モジュール191aは、読み込んだ両方のフラグが一致するか否かを判定する(ステップS2)。
さて図1のパーソナルコンピュータでは、上述したように、前回の電源オン時のメモリ初期化処理で上記ステップS1−S6が実行されている。この初期化処理(ステップS5)では、第2のSPDデータ保存フラグがフラグ保存領域192bに書き込まれる。したがって、現在この第2のSPDデータ保存フラグがフラグ保存領域192bに格納されている。
ここで、前回の電源オン時から今回の電源オン時までの間にメモリモジュール13が差し替えられていないものとする。この状態では、フラグ保存領域132には、前回の電源オン時のメモリ初期化処理(ステップS5)で当該フラグ保存領域132に書き込まれた第1のSPDデータ保存フラグが格納されている。したがって今回の初期化処理のステップS2では、メモリ認識実行判断処理モジュール191aによって一致が判定される。この場合、メモリ認識実行判断処理モジュール191aは、メモリモジュール13が前回の電源オン時から今回の電源オン時までの間に差し替えられていないことを判定する。
このとき、メモリモジュール13のSPD130に格納されている第1のSPDデータは、例えばフラッシュROM19の異常等が発生しないならば、第2のSPDデータとして当該フラッシュROM19のSPDデータ保存領域192aに保存されているはずである。そこでメモリ認識実行判断処理モジュール191aは、SPDデータ保存領域192aに第2のSPDデータが保存されているか否かを判定する(ステップS7)。
このように、ステップS2において上記両方のSPDデータ保存フラグが一致していることが判定され、ステップS7において第2のSPDデータがSPDデータ保存領域192aに保存されていると判定されると、即ち前記第1の状態が判定されると、SPDデータ取得モジュール191eは、以下に述べるメモリ認識処理を実行する(ステップS8)。まずSPDデータ取得モジュール191eは、SPDデータ保存領域192aから第2のSPDデータを読み込む。ここで、SPDデータ保存領域192aを含むフラッシュROM19は、CPU11が直接アクセス可能なメモリ空間に割り当てられている。このため、SPDデータ取得モジュール191eは、SPDデータ保存領域192aからの第2のSPDデータの読み込みを高速に実行することが可能である。SPDデータ取得モジュール191eは、読み込んだ第2のSPDデータから、メモリ構成情報等を取得してメモリモジュール13の構成等を認識する。
SPDデータ取得モジュール191eによって、ステップS8が実行されると、メモリコントローラ設定処理モジュール191dが起動される。メモリコントローラ設定処理モジュール191dは、先に述べたステップS6とは異なり、ステップS8においてSPDデータ取得モジュール191eによって読み込まれたSPDデータ(ここでは第2のSPDデータ)をもとにステップS6(初期設定処理)を実行する。
さて、フラグ保存領域132及び192bに第1及び第2のSPDデータ保存フラグが保存されていて、当該両フラグの一致が判定された場合でも、SPDデータ保存領域192aに保存されていた第2のSPDデータが何らかの原因によって消失することがあり得る。もし、SPDデータ保存領域192aに保存されていた第2のSPDデータが消失した場合、上記ステップS7の判定はNOとなり、前記第2の状態(非第1の状態)が判定される。この場合、上記両フラグの不一致が判定された場合と同様に、ステップS3乃至S6の処理が実行される。
次に、パーソナルコンピュータの電源がオフされた後にメモリモジュール13が別のメモリモジュールに差し替えられ、しかる後に当該コンピュータの電源が再びオンされた場合のメモリ初期化処理について説明する。ここで、差し替え前のメモリモジュール13を旧メモリモジュール13と呼び、差し替え後のメモリモジュールを新メモリモジュール13と呼ぶ。
まずメモリ認識実行判断処理モジュール191aは、フラグ保存領域132及び192bからそれぞれ第1及び第2のSPDデータ保存フラグを読み込む(ステップS1)。次にメモリ認識実行判断処理モジュール191aは、読み込んだ両方のフラグが一致するか否かを判定する(ステップS2)。
今、フラグ保存領域192bには、前回電源がオンされたときに実行されるメモリ初期化処理によって、旧メモリモジュール13及び図1のパーソナルコンピュータに固有の第2のSPDデータ保存フラグが格納されている。また、SPDデータ保存領域192aには、旧メモリモジュール13のSPD130に含まれるSPDデータ領域131に格納されている第1のSPDデータが、第2のSPDデータとして格納されている。旧メモリモジュール13が差し替えられる場合、新メモリモジュール13は旧メモリモジュール13とはタイプが異なるのが一般的である。
ここで、旧メモリモジュール13が新メモリモジュール13に差し替えられているにも拘わらずに、上述の初期化処理でステップS8が実行される場合を想定する。この場合、新メモリモジュール13のSPD130に格納されているSPDデータとは異なるSPDデータ、つまり旧メモリモジュール13のSPD130に格納されているSPDデータが読み込まれる。すると、適正なメモリ初期化処理が行われないことになる。そこで本実施形態では、メモリモジュールが差し替えられたかが次のようにして判定される。
まず、旧メモリモジュール13に差し替えられる新メモリモジュール13が、図1のパーソナルコンピュータとは別のパーソナルコンピュータに備えられているものとする。また、この新メモリモジュール13のフラグ保存領域132に第1のSPDデータ保存フラグが格納されているとする。この第1のSPDデータ保存フラグは、旧メモリモジュール13のフラグ保存領域132に格納されている第1のSPDデータ保存フラグとは異なる。よって、今回の初期化処理のステップS2では、メモリ認識実行判断処理モジュール191aによって不一致が判定される。この場合、メモリ認識実行判断処理モジュール191aは、旧メモリモジュール13が新メモリモジュール13に差し替えられたことを判定できる。
次に、新メモリモジュール13が例えば未使用のために、新メモリモジュール13のフラグ保存領域132に有効な第1のSPDデータ保存フラグが格納されていないものとする。この場合でも、上記ステップS2において不一致が判定されることから、メモリ認識実行判断処理モジュール191aは、旧メモリモジュール13が新メモリモジュール13に差し替えられたことを判定できる。
ステップS2において不一致が判定された場合、つまり旧メモリモジュール13が新メモリモジュール13に差し替えられたことが判定された場合、前記第2の状態が判定される。この場合、前述のステップS3乃至S6の処理が実行される。
上述したように本実施形態においては、メモリモジュール13のSPD130に格納された第1のSPDデータではなくて、CPU11が直接アクセス可能なメモリ空間に割り当てられるフラッシュROM19のSPD保存領域192に保存された第2のSPDデータに基づいてメモリ初期化処理を実行することによって、当該メモリ初期化処理を高速に実行することが可能となる。
また、旧メモリモジュール13が新メモリモジュール13に差し替えられたにも拘わらずに、旧メモリモジュール13のSPDデータ保存領域192aから読み出されてフラッシュROM19のSPD保存領域192に保存されたSPDデータを用いると適正なメモリ初期化処理が行われない。しかしながら、本実施形態においては、メモリモジュール13のフラグ保存領域132及びフラッシュROM19のフラグ保存領域192bにそれぞれ書き込まれるSPDデータ保存フラグを参照することによって、メモリモジュール13の差し替えを判定することができる。したがって、旧メモリモジュール13が新メモリモジュール13に差し替えられた場合には、当該新メモリモジュール13のSPDデータ領域131に格納されているSPDデータに基づいてメモリ初期化処理が実行される。
よって、本実施形態によれば、旧メモリモジュール13が新メモリモジュール13に差し替えられたにも拘わらず、旧メモリモジュール13のSPDデータに基づいてメモリ初期化処理が実行されることを防ぐことが可能となる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。
11…CPU、12…ノースブリッジ、12a…メモリコントローラ、13…メモリモジュール、16…サウスブリッジ、19…フラッシュROM、130…SPD、131…SPDデータ領域、132…フラグ保存領域、190…メモリ空間、191…システムBIOS、191a…メモリ認識実行判断処理モジュール、191b…メモリ認識処理モジュール、191c…SPDデータ保存処理モジュール、191d…メモリコントローラ設定処理モジュール、191e…SPDデータ取得モジュール、192…SPD保存領域、192a…SPDデータ保存領域、192b…フラグ保存領域。
Claims (5)
- 各種プログラムを実行するCPUを有する情報処理装置において、
主メモリを構成するのに用いられるRAM及び第1のSPDデータを格納する第1の不揮発性メモリが搭載されたメモリモジュールであって、前記第1のSPDデータが当該メモリモジュールの仕様を表すメモリモジュールと、
前記CPUが直接アクセス可能なメモリ空間に割り当てられる第2の不揮発性メモリと、
前記メモリモジュールの前記第1の不揮発性メモリに格納されている前記第1のSPDデータを第2のSPDデータとして前記第2の不揮発性メモリの所定領域に保存する保存処理モジュールと、
前記情報処理装置の電源オン時に前記第2の不揮発性メモリの前記所定領域に保存されている前記第2のSPDデータに基づいて、前記メモリモジュールに搭載された前記RAMを前記主メモリの構成要素として機能させるための初期設定処理を行う設定処理モジュールと
を具備することを特徴とする情報処理装置。 - 前記メモリモジュールの前記第1の不揮発性メモリに格納されている前記第1のSPDデータが、前記第2のSPDデータとして前記第2の不揮発性メモリに保存されているかを前記情報処理装置の電源オン時に判定する判定処理モジュールを更に具備し、
前記設定処理モジュールは、前記第1の不揮発性メモリに格納されている前記第1のSPDデータが、前記第2のSPDデータとして前記第2の不揮発性メモリに保存されている第1の状態の場合、当該第2のSPDデータに基づいて前記初期設定処理を行い、前記第1の不揮発性メモリに格納されている前記第1のSPDデータが、前記第2のSPDデータとして前記第2の不揮発性メモリに保存されていない第2の状態の場合、当該第1のSPDデータに基づいて前記初期設定処理を行い、
前記保存処理モジュールは、前記第2の状態の場合、前記第1の不揮発性メモリに格納されている前記第1のSPDデータを前記第2のSPDデータとして前記第2の不揮発性メモリの前記所定領域に保存する
ことを特徴とする請求項1記載の情報処理装置。 - 前記保存処理モジュールは、前記メモリモジュールの前記第1の不揮発性メモリに格納されている前記第1のSPDデータを前記第2のSPDデータとして前記第2の不揮発性メモリの前記所定領域に保存する場合に、当該メモリモジュール及び前記情報処理装置に固有のフラグ情報を第1及び第2のフラグ情報として、それぞれ前記第1及び第2の不揮発性メモリの所定領域に保存し、
前記判定処理モジュールは前記情報処理装置の電源オン時に、前記第1及び第2の不揮発性メモリにそれぞれ保存されている前記第1及び第2のフラグ情報を比較し、前記第1及び第2のフラグ情報が一致し、且つ前記第2のSPDデータが前記第2の不揮発性メモリに保存されている場合に前記第1の状態を判定し、そうでない場合に前記第2の状態を判定する
ことを特徴とする請求項2記載の情報処理装置。 - 前記第2の不揮発性メモリは前記CPUによって実行可能なBIOSを格納しており、当該BIOSは前記保存処理モジュール、前記設定処理モジュール及び前記判定処理モジュールを含むことを特徴とする請求項2記載の情報処理装置。
- 各種プログラムを実行するCPUと、主メモリを構成するのに用いられるRAM及び第1のSPDデータを格納する第1の不揮発性メモリが搭載されたメモリモジュールであって、前記第1のSPDデータが当該メモリモジュールの仕様を表すメモリモジュールと、前記CPUが直接アクセス可能なメモリ空間に割り当てられる第2の不揮発性メモリとを有する情報処理装置に適用されるメモリ初期化方法であって、
前記メモリモジュールの前記第1の不揮発性メモリに格納されている前記第1のSPDデータを第2のSPDデータとして前記第2の不揮発性メモリの所定領域に保存するステップと、
前記情報処理装置の電源オン時に前記第2の不揮発性メモリの前記所定領域に保存されている前記第2のSPDデータに基づいて、前記メモリモジュールに搭載された前記RAMを前記主メモリの構成要素として機能させるための初期設定処理を行うステップと
を具備することを特徴とするメモリ初期化方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317178A JP2007122627A (ja) | 2005-10-31 | 2005-10-31 | 情報処理装置及びメモリ初期化方法 |
US11/521,954 US20070101114A1 (en) | 2005-10-31 | 2006-09-15 | Method and apparatus for memory initializing in a computer system |
CNA2006101396410A CN1959638A (zh) | 2005-10-31 | 2006-09-20 | 计算机系统中存储器初始化的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317178A JP2007122627A (ja) | 2005-10-31 | 2005-10-31 | 情報処理装置及びメモリ初期化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007122627A true JP2007122627A (ja) | 2007-05-17 |
Family
ID=37997989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005317178A Pending JP2007122627A (ja) | 2005-10-31 | 2005-10-31 | 情報処理装置及びメモリ初期化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070101114A1 (ja) |
JP (1) | JP2007122627A (ja) |
CN (1) | CN1959638A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175992A (ja) * | 2008-01-24 | 2009-08-06 | Fujitsu Ltd | 情報処理装置 |
JP2010039645A (ja) * | 2008-08-01 | 2010-02-18 | Fujitsu Ltd | 制御装置、情報処理装置、及びメモリモジュール認識方法 |
JP2011175577A (ja) * | 2010-02-25 | 2011-09-08 | Nec Computertechno Ltd | コンピュータシステム、メモリ初期化方法、及びプログラム |
JP2013182577A (ja) * | 2012-03-05 | 2013-09-12 | Fuji Xerox Co Ltd | 情報処理装置、画像形成装置およびプログラム |
JP2015072675A (ja) * | 2013-09-09 | 2015-04-16 | 株式会社リコー | 電子機器、制御方法およびプログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI359426B (en) | 2007-09-17 | 2012-03-01 | Asustek Comp Inc | Method for recording parameter of memory and metho |
JP4234766B1 (ja) * | 2007-10-31 | 2009-03-04 | 株式会社東芝 | 電子機器およびその制御方法 |
JP5430221B2 (ja) * | 2009-05-18 | 2014-02-26 | キヤノン株式会社 | 画像形成装置、その制御方法及びプログラム |
KR20120121231A (ko) * | 2011-04-26 | 2012-11-05 | 삼성전자주식회사 | 메모리 장치 및 메모리 시스템 |
US8990479B2 (en) * | 2012-07-30 | 2015-03-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Using persistent memory regions within memory devices to collect serial presence detect and performance data |
WO2015016883A1 (en) | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Off-memory-module ecc-supplemental memory system |
CN104572365B (zh) * | 2013-10-18 | 2017-12-01 | 中国长城科技集团股份有限公司 | 一种内存自适配方法及装置 |
GB2536005B (en) * | 2015-03-02 | 2021-09-29 | Advanced Risc Mach Ltd | Initialising control data for a device |
CN107957925B (zh) * | 2016-10-17 | 2021-03-26 | 佛山市顺德区顺达电脑厂有限公司 | 用于计算机装置的系统信息存取方法 |
US12067261B2 (en) | 2021-07-15 | 2024-08-20 | Rambus Inc. | Serial presence detect logging |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064686A1 (en) * | 2002-09-30 | 2004-04-01 | Miller Gregory L. | Method and apparatus for marking current memory configuration |
JP3906825B2 (ja) * | 2003-06-17 | 2007-04-18 | 日本電気株式会社 | 計算機システム、計算機システム起動方法およびプログラム |
US20060064563A1 (en) * | 2004-09-23 | 2006-03-23 | Hobson Louis B | Caching presence detection data |
-
2005
- 2005-10-31 JP JP2005317178A patent/JP2007122627A/ja active Pending
-
2006
- 2006-09-15 US US11/521,954 patent/US20070101114A1/en not_active Abandoned
- 2006-09-20 CN CNA2006101396410A patent/CN1959638A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175992A (ja) * | 2008-01-24 | 2009-08-06 | Fujitsu Ltd | 情報処理装置 |
JP2010039645A (ja) * | 2008-08-01 | 2010-02-18 | Fujitsu Ltd | 制御装置、情報処理装置、及びメモリモジュール認識方法 |
US8301858B2 (en) | 2008-08-01 | 2012-10-30 | Fujitsu Limited | Control device |
JP2011175577A (ja) * | 2010-02-25 | 2011-09-08 | Nec Computertechno Ltd | コンピュータシステム、メモリ初期化方法、及びプログラム |
JP2013182577A (ja) * | 2012-03-05 | 2013-09-12 | Fuji Xerox Co Ltd | 情報処理装置、画像形成装置およびプログラム |
JP2015072675A (ja) * | 2013-09-09 | 2015-04-16 | 株式会社リコー | 電子機器、制御方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN1959638A (zh) | 2007-05-09 |
US20070101114A1 (en) | 2007-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007122627A (ja) | 情報処理装置及びメモリ初期化方法 | |
KR101602360B1 (ko) | 시스템 고속 부팅 장치 및 방법 | |
JP4422136B2 (ja) | 記憶装置及び起動方法 | |
JP3292864B2 (ja) | データ処理装置 | |
TWI331274B (ja) | ||
TW201011524A (en) | Method and controller for power management | |
US20030145191A1 (en) | Computer system and method of controlling the same | |
US8914602B2 (en) | Display controller having an embedded non-volatile memory divided into a program code block and a data block and method for updating parameters of the same | |
JP2004046453A (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
US10725845B2 (en) | Methods of operating memory system | |
JP4910119B2 (ja) | 測定装置の制御方法 | |
JP2005234872A (ja) | コンピュータ、コンピュータ起動方法、biosプログラムおよび情報記憶媒体 | |
KR20100050097A (ko) | 영상처리장치 및 그 제어 방법 | |
US20150317181A1 (en) | Operating system switching method | |
JP5894044B2 (ja) | ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ | |
US8510605B2 (en) | Computer system inspecting defective cell and control method thereof | |
JP5966305B2 (ja) | 印刷装置 | |
JPH11282685A (ja) | 情報処理装置 | |
US7447893B2 (en) | Method and system for updating boot block BIOS program | |
JP2009223435A (ja) | データ記憶方法及び装置、並びにプログラム | |
TWI479414B (zh) | 資訊備忘方法以及使用此資訊備忘方法之電腦系統 | |
JP2005107608A (ja) | 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法 | |
JP2006243810A (ja) | マイクロコンピュータシステム | |
JPH11328089A (ja) | Pciバスインタフェース用デバイスにおけるid情報書き込み回路 | |
JPH11282791A (ja) | Pciデバイスのコンフィギュレーションレジスタの変更・設定方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080521 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080610 |