(57)【特許請求の範囲】
【請求項１】
第１のＳＰＤ情報を格納する複数のメモリモジュールと、
前記第１のＳＰＤ情報は、前記複数のメモリモジュールの各々の仕様情報を含み、
前記各メモリモジュールへアクセスするためにシステム内で用いられるアクセス設定値と、前記各メモリモジュールに対応させて前記第１のＳＰＤ情報の複製である第２のＳＰＤ情報とを記憶する不揮発性メモリと、
前記複数のメモリモジュールの初期化処理において前記第１のＳＰＤ情報と前記第２のＳＰＤ情報とが一致するか否か比較判定処理を行って、前記比較判定処理において前記複数のメモリモジュールのうちから前記第１のＳＰＤ情報と前記第２のＳＰＤ情報とが一致しない不一致メモリモジュールを特定して、前記不一致メモリモジュールから前記第１のＳＰＤ情報を読み出して前記不揮発性メモリへ前記第２のＳＰＤ情報として書き込む読み出し制御部と、
前記複数のメモリモジュールに不一致メモリモジュールが存在する場合に、前記アクセス設定値のうちで前記不一致メモリモジュールの第２のＳＰＤ情報が生成に用いられる選択アクセス設定値を、前記第２のＳＰＤ情報に基づいて生成して、前記選択アクセス設定値を前記不揮発性メモリへ書き込む設定値生成部と
を備えるコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、
前記アクセス設定値は、前記複数のメモリモジュールへのアクセスを制御するメモリコントローラと前記複数のメモリモジュールとを接続するメモリチャネルにおけるチャネル設定値を含み、
前記複数のメモリモジュールに不一致メモリモジュールが存在する場合に、前記不一致メモリモジュールと接続される前記メモリチャネルにおける前記チャネル設定値のみを前記第２のＳＰＤ情報に基づいて生成して、生成された前記チャネル設定値を前記メモリチャネルに対応させて前記不揮発性メモリへ書き込むチャネル設定値生成部
をさらに備えるコンピュータシステム。
【請求項３】
請求項１または請求項２に記載のコンピュータシステムであって、
前記アクセス設定値は、プロセッサからのトランザクションを前記メモリコントローラへ振り分けるチップセットにおけるアドレス変換設定値含み、
前記複数のメモリモジュールに不一致メモリモジュールが存在する場合にのみ前記アドレス変換設定値を前記第２のＳＰＤ情報に基づいて生成して、生成された前記アドレス変換設定値を前記不揮発性メモリへ書き込むアドレス変換設定値生成部
をさらに備えるコンピュータシステム。
【請求項４】
請求項１から請求項３のいずれかに記載のコンピュータシステムであって、
前記第１のＳＰＤ情報は、前記複数のメモリモジュールの型式番号とシリアル番号とを更に含み、
前記読み出し制御部は、前記ＳＰＤ比較処理において、前記各メモリモジュールのうち前記第１のＳＰＤ情報に含まれる前記型式番号と前記第２のＳＰＤ情報に含まれる前記型式番号とが一致しないメモリモジュールを前記不一致メモリモジュールと判定する
コンピュータシステム。
【請求項５】
請求項４に記載のコンピュータシステムであって、
前記ＳＰＤ読み出し制御部は、前記ＳＰＤ比較処理において、前記複数のメモリモジュールのうち前記第１のＳＰＤ情報に含まれる前記型式番号と前記第２のＳＰＤ情報に含まれる前記型式番号は一致するものの前記第１のＳＰＤ情報に含まれる前記シリアル番号と前記第２のＳＰＤ情報に含まれる前記シリアル番号は不一致である第２の不一致メモリモジュールを特定して、前記第２の不一致メモリモジュールの前記第１のＳＰＤ情報に含まれる前記型式番号と前記シリアル番号とを読み出して前記第２の不一致メモリモジュールに対応する前記第２のＳＰＤ情報として前記不揮発性メモリへ書き込む
コンピュータシステム。
【請求項６】
第１のＳＰＤ情報を格納する複数のメモリモジュールと、
前記第１のＳＰＤ情報は、前記複数のメモリモジュールの各々の仕様情報を含み、
不揮発性メモリと
を備えるコンピュータシステムにおいて、
前記各メモリモジュールへアクセスするためにシステム内で用いられるアクセス設定値と、前記各メモリモジュールに対応させて前記第１のＳＰＤ情報の複製である第２のＳＰＤ情報とを記憶するステップと、
前記複数のメモリモジュールの初期化処理において前記第１のＳＰＤ情報と前記第２のＳＰＤ情報とが一致するか否か比較判定処理を行うステップと、
前記比較判定処理において前記複数のメモリモジュールのうちから前記第１のＳＰＤ情報と前記第２のＳＰＤ情報とが一致しない不一致メモリモジュールを特定するステップと、
前記不一致メモリモジュールから前記第１のＳＰＤ情報を読み出して前記不揮発性メモリへ前記第２のＳＰＤ情報として書き込むステップと、
前記複数のメモリモジュールに不一致メモリモジュールが存在する場合に、前記アクセス設定値のうちで前記不一致メモリモジュールの第２のＳＰＤ情報が生成に用いられる選択アクセス設定値を前記第２のＳＰＤ情報に基づいて生成するステップと、
前記選択アクセス設定値を前記不揮発性メモリへ書き込むステップと
を備えるコンピュータシステムのメモリ初期化方法。
【請求項７】
請求項６に記載のコンピュータシステムのメモリ初期化方法をコンピュータに実行させるメモリ初期化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ初期化処理を高速に実行するコンピュータシステムに関する。
【背景技術】
【０００２】
コンピュータシステムは、起動時にメモリ初期化処理を実行する。近年、コンピュータシステムに搭載されるメモリ数の増加、及びメモリ容量の増大により、メモリ初期化処理の実行時間は増加傾向にある。そのため、メモリ初期化処理の高速化と、実行時間の短縮化が求められている。
【０００３】
特許文献１は、メモリ初期化処理を高速実行することが可能な情報処理装置を開示している。特許文献１の情報処理装置は、各種プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有する情報処理装置である。情報処理装置は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と第１の不揮発性メモリとが搭載されたメモリモジュールと、第２の不揮発性メモリと、保存処理モジュールと、設定処理モジュールとを備える。
【０００４】
ＲＡＭは、主メモリを構成するのに用いられる。第１の不揮発性メモリは、第１のＳＰＤ（Ｓｅｒｉａｌ  Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ）を格納する。第２の不揮発性メモリは、ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる。保存処理モジュールは、メモリモジュールの第１の不揮発性メモリに格納されている第１のＳＰＤデータを第２のＳＰＤデータとして第２の不揮発性メモリの所定領域に保存する。設定処理モジュールは、情報処理装置の電源オン時に第２の不揮発性メモリの所定領域に保存されている第２のＳＰＤデータに基づいて、メモリモジュールに搭載されたＲＡＭを主メモリの構成要素として機能させるための初期設定処理を行う。
【０００５】
特許文献１の情報処理装置によれば、メモリモジュールの第１の不揮発性メモリに格納されたＳＰＤデータではなく、ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる第２の不揮発性メモリに保存されたＳＰＤデータに基づいてメモリ初期化処理を実行することで、メモリ初期化処理を高速に実行することが可能になる。
【０００６】
しかし、特許文献１の情報処理装置では、システムの備えるメモリモジュールのＳＰＤ情報のみを第２の不揮発性メモリであるフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）へ格納する。そのため、以後の起動時におけるメモリ初期化処理では、ＳＰＤ情報の読み出し処理については高速化を図れるものの、ＳＰＤ情報の読み出し以降の処理については、高速化されない。
【０００７】
また、特許文献１の情報処理装置では、コンピュータシステム上のフラッシュＲＯＭ、及びメモリモジュールの双方のＳＰＤへ、メモリモジュールの一致を確認するための専用フラグを記録する必要がある。そのため、フラッシュＲＯＭとメモリモジュールへデータを書き込む構成を必要とする。
【０００８】
なお、関連技術として、特許文献２は、初期化された状態を直ちに判別することにより、初期化の時間を短縮可能な集積回路を開示している。また、特許文献３は、ＲＡＭなどの揮発性メモリに記憶される情報の量を低減しつつ処理の効率化を実現する半導体装置を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１２２６２７号公報
【特許文献２】特開昭６４−０７３４０９号公報
【特許文献３】特開２００６−０１１５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、メモリ初期化処理の更なる高速化を実現可能なコンピュータシステムを提供することである。
【課題を解決するための手段】
【００１１】
本発明のコンピュータシステムは、第１のＳＰＤ情報を格納する複数のメモリモジュールと、第１のＳＰＤ情報は、複数のメモリモジュールの各々の仕様情報を含み、各メモリモジュールへアクセスするためにシステム内で用いられるアクセス設定値と、各メモリモジュールに対応させて第１のＳＰＤ情報の複製である第２のＳＰＤ情報とを記憶する不揮発性メモリと、複数のメモリモジュールの初期化処理において第１のＳＰＤ情報と第２のＳＰＤ情報とが一致するか否か比較判定処理を行って、比較判定処理において複数のメモリモジュールのうちから第１のＳＰＤ情報と第２のＳＰＤ情報とが一致しない不一致メモリモジュールを特定して、不一致メモリモジュールから第１のＳＰＤ情報を読み出して不揮発性メモリへ第２のＳＰＤ情報として書き込む読み出し制御部と、複数のメモリモジュールに不一致メモリモジュールが存在する場合に、アクセス設定値のうちで不一致メモリモジュールの第２のＳＰＤ情報が生成に用いられる選択アクセス設定値を、第２のＳＰＤ情報に基づいて生成して、選択アクセス設定値を不揮発性メモリへ書き込む設定値生成部とを備える。
【００１２】
本発明のコンピュータシステムのメモリ初期化方法は、第１のＳＰＤ情報を格納する複数のメモリモジュールと、第１のＳＰＤ情報は、複数のメモリモジュールの各々の仕様情報を含み、不揮発性メモリとを備えるコンピュータシステムにおいて、各メモリモジュールへアクセスするためにシステム内で用いられるアクセス設定値と、各メモリモジュールに対応させて第１のＳＰＤ情報の複製である第２のＳＰＤ情報とを記憶するステップと、複数のメモリモジュールの初期化処理において第１のＳＰＤ情報と第２のＳＰＤ情報とが一致するか否か比較判定処理を行うステップと、比較判定処理において複数のメモリモジュールのうちから第１のＳＰＤ情報と第２のＳＰＤ情報とが一致しない不一致メモリモジュールを特定するステップと、不一致メモリモジュールから第１のＳＰＤ情報を読み出して不揮発性メモリへ第２のＳＰＤ情報として書き込むステップと、複数のメモリモジュールに不一致メモリモジュールが存在する場合に、アクセス設定値のうちで不一致メモリモジュールの第２のＳＰＤ情報が生成に用いられる選択アクセス設定値を第２のＳＰＤ情報に基づいて生成するステップと、選択アクセス設定値を不揮発性メモリへ書き込むステップとを備える。
【００１３】
本発明のメモリ初期化プログラムは、上述のコンピュータシステムのメモリ初期化方法をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明によれば、メモリ初期化処理の更なる高速化を実現可能なコンピュータシステムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１Ａ】図１Ａは、本発明の実施形態におけるコンピュータシステムの構成を示す図である。
【図１Ｂ】図１Ｂは、本発明の実施形態におけるコンピュータシステムの構成を示す図である。
【図２】図２は、本発明の実施形態におけるＳＰＤ７０１〜７０８のデータフォーマットを示す図である。
【図３Ａ】図３Ａは、本発明の実施形態におけるコンピュータシステムの動作を示すフローチャートである。
【図３Ｂ】図３Ｂは、本発明の実施形態におけるコンピュータシステムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
添付図面を参照して、本発明の実施形態によるコンピュータシステムを以下に説明する。
【００１７】
［概要］
本実施形態におけるコンピュータシステムは、コンピュータシステムの備える全てのメモリモジュールのＳＰＤと、メモリコントローラにおけるメモリチャネルのチャネル設定値と、各メモリモジュールのアドレス空間に対応させて生成されたアドレス変換設定値とを記憶する不揮発性メモリを備える。また、コンピュータシステムは、メモリ初期化処理において各メモリモジュールのＳＰＤを読み出して不揮発性メモリに記憶されたＳＰＤと比較するＳＰＤ比較処理を行うＳＰＤ読み出し制御部と、メモリチャネル毎のチャネル設定値の生成処理を行うチャネル設定値生成部と、及びアドレス変換設定値の生成処理を行うアドレス変換設定値生成部とを備える。
【００１８】
ＳＰＤは、仕様情報と製造者関連情報とを含む。さらに、製造者関連情報は、メモリモジュールの型式番号、及びシリアル番号を含む。ＳＰＤ読み出し制御部は、ＳＰＤ比較処理において、メモリモジュールの型式番号とシリアル番号とを比較する。ＳＰＤ読み出し制御部は、型式番号とシリアル番号の、いずれも一致したメモリモジュールについて、不揮発性メモリに記憶されたＳＰＤの更新は行わない。ＳＰＤが一致するということは、搭載されているメモリモジュールが前回のメモリ初期化処理時のメモリモジュールと同一であると確認できたことを意味する。そのため、ＳＰＤが一致したメモリモジュールは、不揮発性メモリに記憶されたＳＰＤの更新処理を省略することができる。
【００１９】
一方、ＳＰＤ読み出し制御部は、型式番号が不一致であるメモリモジュールからＳＰＤに格納された仕様情報と製造者関連情報とを読み出して不揮発性メモリに記憶されたＳＰＤを更新する。型式番号が不一致であるメモリモジュールは、異なる仕様を有したメモリモジュールへ交換が行われたと考えることができるからである。また、ＳＰＤ読み出し制御部は、型式番号が一致するもののシリアル番号が不一致であるメモリモジュールからＳＰＤの製造者関連情報のみを読み出して不揮発性メモリに記憶されたＳＰＤを更新する。型式番号が一致するもののシリアル番号が不一致であるメモリモジュールは、同じ仕様を有する異なるシリアル番号のメモリモジュールに交換されたと考えられるからである。
【００２０】
チャネル設定値生成部は、型式番号が不一致であるメモリモジュールと接続されるメモリチャネルに対してのみチャネル設定値の生成処理を行う。さらに、アドレス変換設定値生成部は、コンピュータシステムの備える全てのメモリモジュールにおいて、型式番号が不一致であるメモリモジュールが存在した場合にのみアドレス変換値生成処理を行う。チャネル設定値生成部とアドレス変換設定値生成部は、いずれも不揮発性メモリに記憶されたＳＰＤの仕様情報を基にして、チャネル設定値とアドレス変換設定値とを生成する。ＳＰＤ読み出し制御部は、型式番号が不一致である場合のみ、不揮発性メモリ記憶にされたＳＰＤの仕様情報を更新する。
【００２１】
型式番号が一致する場合、あるいは、型式番号が一致するもののシリアル番号が不一致である場合、不揮発性メモリ記憶にされたＳＰＤの仕様情報に変更は無い。そのため、チャネル設定値生成部とアドレス変換設定値生成部とが、生成するチャネル設定値、及びアドレス変換設定値も同一の値となる。そこで、本実施形態におけるコンピュータシステムは、の型式番号が一致する場合、あるいは、型式番号が一致するもののシリアル番号が不一致である場合には、チャネル設定値及びアドレス変換設定値の生成処理を省略する。そして、不揮発性メモリに記憶されたチャネル設定値及びアドレス変換設定値を用いてメモリ初期化処理を行う。これによって、メモリ初期化処理の更なる高速化を計ることができる。以下、本実施形態におけるコンピュータシステムの構成及び動作を詳細に説明する。
【００２２】
［構成の説明］
はじめに、本実施形態におけるコンピュータシステムの構成の説明を行う。図１Ａ、図１Ｂは、本実施形態におけるコンピュータシステムの構成を示す図である。本実施形態のコンピュータシステムは、プロセッサ１と、チップセット２と、メモリコントローラ３、及び４と、メモリ初期化部５と、不揮発性メモリ６と、メモリモジュール部７とを備える。
【００２３】
まず、プロセッサ１はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に例示される、プロセッサ１は、コンピュータプログラムを実行してコンピュータシステムの機能を実現する。
【００２４】
次に、チップセット２は、プロセッサ１と、メモリコントローラ３、及び４と、メモリ初期化部５と、不揮発性メモリ６との間を接続して、それぞれの間で行われるデータ送受信を制御する。チップセット２は、アドレス変換設定値保持部２１を備える。アドレス変換設定値保持部２１は、アドレス変換設定値を保持している。アドレス変換設定値保持部２１は、後述されるメモリ初期化部５のアドレス変換設定値生成部により、アドレス変換設定値を記憶される。チップセット２は、アドレス変換設定値に基づいて、プロセッサ１から入力するトランザクションをメモリコントローラ３、４へ振り分ける。
【００２５】
次に、メモリモジュール部７は、メモリモジュール７１〜７８を備える。メモリモジュール７１〜７８は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に例示され、メモリ制御装置を含むコンピュータシステムにおける主記憶装置として使用される。メモリモジュール７１〜７８は、ＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）に準拠した汎用的なメモリモジュールである。メモリモジュール７１〜７８は、それぞれＳＰＤ（Ｓｅｒｉａｌ  Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ）７０１〜７０８を備える。ＳＰＤ７０１〜７０８は、それぞれメモリモジュール７１〜７８に関する情報を記録している。
【００２６】
ここで、図２は、本実施形態におけるＳＰＤ７０１〜７０８のデータフォーマットを示す図である。図２に記載されたＳＰＤ７０１〜７０８のデータフォーマットは、ＪＥＤＥＣに準拠した一般的な汎用メモリのデータフォーマットと同様である。ＳＰＤ７０１〜７０８のデータフォーマットは同様であるので、図２ではＳＰＤ７０１を例として説明を行う。ＳＰＤ７０１は、２５６Ｂｙｔｅのデータを格納することが可能である。ＳＰＤ７０１は、３つのデータ格納領域７０１ａ〜７０１ｃに区分される。
【００２７】
データ格納領域７０１ａは、６４ｂｙｔｅのデータを格納可能であり、メモリモジュール７１の物理的な仕様情報を格納する。メモリモジュール７１の仕様情報とは、メモリモジュールの構成、容量、遅延パラメータ等である。これらのメモリモジュール７１の仕様情報は、アドレス空間の設定や、メモリアクセスモードの設定等に用いられる。データ格納領域７０１ｂは、６４ｂｙｔｅのデータを格納可能であり、メモリモジュール７１の製造者関連情報を格納する。製造者関連情報とは、メモリモジュール７１の型式番号、及びシリアル番号を含む。データ格納領域７０１ｃは、１２８ｂｙｔｅのデータを格納可能であり、ユーザに解放された領域となっている。以上が、ＳＰＤ７０１〜７０８に格納されたデータフォーマットの説明である。
【００２８】
次に、図１Ａ、図１Ｂへ戻り、メモリコントローラ３、４は、プロセッサ１によるメモリモジュール部７のメモリモジュール７１〜７８へのアクセスを制御する。メモリコントローラ３は、２つのメモリチャネル３１１、及び３２１を備える。メモリコントローラ３は、メモリチャネル３１１を介して、メモリモジュール７１、及び７２と接続される。メモリコントローラ３は、メモリチャネル３２１を介して、メモリモジュール７３、及び７４と接続される。同様に、メモリコントローラ４は、２つのメモリチャネルであるメモリチャネル４１１、及び４２１を備える。メモリコントローラ４は、メモリチャネル４１１を介して、メモリモジュール７５、及び７６と接続される。メモリコントローラ４は、メモリチャネル４２１を介して、メモリモジュール７７、及び７８と接続される。
【００２９】
また、メモリコントローラ３は、メモリチャネル３１１、及び３２１にそれぞれ対応するチャネル設定値保持部３１、及び３２を備える。チャネル設定値保持部３１は、メモリチャネル３１１の制御に用いられるチャネル設定値を記憶する。チャネル設定値保持部３２は、メモリチャネル３２１の制御に用いられるチャネル設定値を記憶する。チャネル設定値は、メモリチャネル３１、あるいは３２における、終端抵抗値や、遅延パラメータや、インピーダンス設定値といった値を含む。同様に、メモリコントローラ４は、メモリチャネル４１１、及び４２１にそれぞれ対応するチャネル設定値保持部４１、及び４２を備える。チャネル設定値保持部４１は、メモリチャネル４１１の制御に用いられるチャネル設定値を記憶する。チャネル設定値保持部４２は、メモリチャネル４２１の制御に用いられるチャネル設定値を記憶する。チャネル設定値は、メモリチャネル４１、あるいは４２における、終端抵抗値や、遅延パラメータや、インピーダンス設定値といった値を含む。
【００３０】
なお、メモリコントローラ３、４の数は、２つに限定しない。これより多くても良いし、あるいは少なくとも良い。また、メモリコントローラ３、４は、デュアルチャネルでなくとも良い。メモリコントローラ３、４の備えるチャネル数は、１つでも良いし、あるいは２つより多くともよい。
【００３１】
次に、不揮発性メモリ６は、アドレス変換設定値６１と、チャネル設定値６２ａ〜６２ｄと、ＳＰＤ６２ａ〜６２ｈとを記憶する。アドレス変換設定値６１は、チップセット２のアドレス変換設定値保持部２１に記憶されるアドレス変換設定値の複製である。また、チャネル設定値６２ａ〜６２ｄは、メモリコントローラ３、４のチャネル設定値保持部３１、３２、４１、及び４２にそれぞれ記憶されるチャネル設定値の複製である。さらに、ＳＰＤ６２ａ〜６２ｈは、メモリモジュール７１〜７８のＳＰＤ７０１〜７０８に含まれる情報の複製である。ＳＰＤ６２ａ〜６２ｈは、図２で説明を行った、ＳＰＤ７０１〜７０８に格納されたデータのうち、データ格納領域７０１ａ〜７０８ａの仕様情報、及び７０１ｂ〜７０８ｂの製造者関連情報のみを記憶する。ＳＰＤ６２ａ〜６２ｈは、データ格納領域７０１ｃ〜７０８ｃのユーザ定義情報を記憶しない。
【００３２】
なお、メモリモジュール部７のメモリモジュールの数や、メモリコントローラ３、４の数、あるいはメモリコントローラ３、４の備えるチャネル数が増減する場合には、これに応じて記憶するべきＳＰＤ、チャネル設定値、及びアドレス変換設定値のデータ量も変化する。
【００３３】
次に、メモリ初期化部５は、アドレス変換設定値生成部５１と、チャネル設定値生成部５２と、ＳＰＤ読み出し制御部５３とを備える。
【００３４】
まず、ＳＰＤ読み出し部５３は、メモリ初期化処理において、ＳＰＤ比較処理を行う。ＳＰＤ読み出し部５３は、メモリモジュール７１〜７８に格納されたＳＰＤ７０１〜７０８を読み出して、不揮発性メモリ６に記憶されたＳＰＤ７０１〜７０８にそれぞれ対応するＳＰＤ６３ａ〜６３ｈと比較を行うことによりＳＰＤ比較処理を行う。ＳＰＤ読み出し部５３は、図２に示したデータ格納領域７０１ｂ〜７０８ｂ（製造者関連情報）から、メモリモジュール７１〜７８の型式番号とシリアル番号とを読み出して比較を行う。ＳＰＤ読み出し部５３は、ＳＰＤ比較処理の結果に基づいて、ＳＰＤ６３ａ〜６３ｈの更新を行う。
【００３５】
ＳＰＤ読み出し部５３は、ＳＰＤ比較処理においてメモリモジュール７１〜７８の型式番号が不一致であった場合、ＳＰＤ７０１〜７０８のデータ格納領域７０１ａ〜７０８ａとデータ格納領域７０１ｂ〜７０８ｂからそれぞれ仕様情報と製造者関連情報とを読み出して、ＳＰＤ６３ａ〜６３ｈとして不揮発性メモリ６へ記憶させる。メモリモジュール７１〜７８の型式番号が不一致である場合、前回のメモリ初期化処理以降に、メモリモジュール７１〜７８が仕様の異なるメモリモジュールへ交換されたと考えられる。そのため、ＳＰＤ読み出し部５３は、ＳＰＤ７０１〜７０８から仕様情報と製造者関連情報とを読み出してＳＰＤ６３ａ〜６３ｈを更新する。
【００３６】
また、ＳＰＤ読み出し部５３は、ＳＰＤ比較処理においてメモリモジュール７１〜７８の型式番号は一致するもののシリアル番号が不一致であった場合、ＳＰＤ７０１〜７０８のデータ格納領域７０１ｂ〜７０８ｂから製造者関連情報のみを読み出して、ＳＰＤ６３ａ〜６３ｈとして不揮発性メモリ６へ記憶させる。メモリモジュール７１〜７８の型式番号は一致するもののシリアル番号が不一致であった場合、前回のメモリ初期化処理以降に、メモリモジュール７１〜７８が仕様は同一であるがシリアル番号のみが異なるメモリモジュールへ交換されたと考えられる。そのため、ＳＰＤ読み出し部５３は、ＳＰＤ７０１〜７０８から製造者関連情報のみを読み出してＳＰＤ６３ａ〜６３ｈを更新する。
【００３７】
一方、ＳＰＤ読み出し部５３は、ＳＰＤ比較処理において、メモリモジュール７１〜７８の型式番号及びシリアル番号が共に一致する場合、ＳＰＤ７０１〜７０８から情報の読み出しを行わない。メモリモジュール７１〜７８の型式番号及びシリアル番号が一致する場合、メモリモジュール７１〜７８は、前回のメモリ初期化処理時のメモリモジュール７１〜７８と同一であり、交換は行われていないと考えられる。そのため、ＳＰＤ読み出し部５３は、ＳＰＤ６３ａ〜６３ｈを省略して、メモリ初期化処理を高速化する。
【００３８】
次に、チャネル設定値生成部５２は、チャネル設定を生成するチャネル設定値生成処理を行う。チャネル設定値生成部５２は、メモリコントローラ３のメモリチャネル３１１、３２１、及びメモリコントローラ４のメモリチャネル４１１、４２１に、それぞれ対応するチャネル設定値を生成する。チャネル設定値生成部５２は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ、６３ｂに基づいて、メモリチャネル３１１に対応するチャネル設定値を生成する。同様に、チャネル設定値生成部５２は、不揮発性メモリ６に記憶されたＳＰＤ６３ｃ〜６３ｈに基づいて、メモリチャネル３２１、４１１、４２１に対応するチャネル設定値を生成する。チャネル設定値生成部５２は、生成されたチャネル設定値を、それぞれメモリチャネル３１１、３２１、４１１、４２１に対応する、チャネル設定値保持部３１、３２、４１、４２へ書き込む。同時に、チャネル設定値生成部５２は、生成されたチャネル設定値を、それぞれメモリチャネル３１１、３２１、４１１、４２１に対応する、チャネル設定値６２ａ、６２ｂ、６２ｃ、６２ｄとして不揮発性メモリ６へ書き込む。
【００３９】
チャネル設定値生成部５２は、ＳＰＤ比読み出し制御部５３によるＳＰＤ比較処理において、型式番号が不一致であると判定されたメモリモジュール７１〜７８と接続されるメモリチャネル３１１、３２１、４１１、４２１に対してのみ、チャネル設定値生成処理を行う。ＳＰＤ比較処理において型式番号が不一致であると判定されたメモリモジュール７１〜７８は、ＳＰＤ読み出し制御部５３により、ＳＰＤ６３ａ〜６３ｈに記憶されたメモリモジュール７１〜７８の仕様情報を更新されるためである。一方、チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１と接続されるメモリモジュール７１〜７８が、それぞれＳＰＤ読み出し制御部５３によるＳＰＤ比較処理において型式番号が一致すると判定された場合、チャネル設定値生成処理を省略する。この場合、不揮発性メモリ６に記憶されたチャネル設定値６２ａ〜６２ｄを用いてメモリ初期化処理が行われる。これによって、メモリ初期化処理が高速化される。
【００４０】
次に、アドレス変換設定値生成部５１は、アドレス変換設定値を生成するアドレス変換値生成処理を行う。まず、アドレス変換設定値生成部５１は、アドレス変換値生成処理において、不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈに基づいてメモリモジュール７１〜７８の実装状況を検出してアドレス空間を設定する。次に、アドレス変換設定値生成部５１は、設定されたアドレス空間を用いてアドレス変換設定値を生成する。アドレス変換設定値生成部５１は、生成されたアドレス変換設定値を、チップセット２のアドレス変換設定値保持部２１へ記憶させると共に、不揮発性メモリ６にアドレス変換設定値６１として記憶させる。
【００４１】
アドレス変換設定値生成部５１は、コンピュータシステムの備える全てのメモリモジュ−ル７１〜７８にＳＰＤ読み出し制御部５３によるＳＰＤ比較処理において型式番号が不一致であるメモリモジュール７１〜７８が存在する場合にのみ、アドレス変換設定値生成処理を行う。ＳＰＤ比較処理において型式番号が不一致であると判定されたメモリモジュール７１〜７８は、ＳＰＤ読み出し制御部５３により、ＳＰＤ６３ａ〜６３ｈに記憶されたメモリモジュール７１〜７８の仕様情報を更新されるためである。アドレス変換設定値生成部５１は、コンピュータシステムの備える全てのメモリモジュ−ル７１〜７８にＳＰＤ読み出し制御部５３によるＳＰＤ比較処理において型式番号が不一致であるメモリモジュール７１〜７８が存在しない場合、アドレス変換設定値生成処理を省略する。この場合、不揮発性メモリ６に記憶されたアドレス設定値６１を用いてメモリ初期化処理が行われる。これによって、メモリ初期化処理が高速化される。以上が、メモリ初期化部５の説明である。
【００４２】
なお、メモリ初期化部５は、ハードウェアとして実現されても良いし、ソフトウェアとして実現されても良い。メモリ初期化部５がソフトウェアとして実現される場合には、メモリ初期化部５の機能を実現するためのコンピュータプログラムが、不揮発性メモリ６に記憶される。プロセッサ１が、不揮発性メモリ６に記憶されたコンピュータプログラムを実行することにより、メモリ初期化部５の機能が実現される。
【００４３】
以上が、本実施形態におけるコンピュータシステムの構成の説明である。
【００４４】
［動作の説明］
次に、上述のような構成の本実施形態におけるコンピュータシステムの動作の説明を行う。図３Ａ、図３Ｂは、本実施形態におけるコンピュータシステムの動作を示すフローチャートである。
【００４５】
まず、コンピュータシステムの電源が「ＯＮ」される（ステップＳ１０）。メモリ初期化部５のＳＰＤ読み出し制御部５３は、ＳＰＤ比較処理を開始する。ＳＰＤ読み出し制御部５３は、メモリモジュール部７のメモリモジュール７１〜７８のＳＰＤ７０１〜７０８へ順にアクセスを開始する（ステップＳ２０）。
【００４６】
はじめに、ＳＰＤ読み出し制御部５３は、メモリモジュール７１のＳＰＤ７０１にアクセスすると、図２に示したデータ格納領域７０１ｂに格納されたメモリモジュールの型式番号を読み出す。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１から読み出されたメモリモジュールの型式番号と、不揮発性メモリ６にＳＰＤ７０１に対応して記憶されたＳＰＤ６３ａのメモリモジュールの型式番号とが一致するか否かを比較する（ステップＳ３０）。
【００４７】
一致しない場合（ステップＳ３０のＮｏ）、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１のデータ格納領域７０１ａ、及び７０１ｂに格納されたメモリモジュール７１の仕様情報と製造者関連情報とを読み出して、不揮発性メモリ６にＳＰＤ７０１に対応するＳＰＤ６３ａとして記憶させる（ステップＳ４０）。その後、ステップＳ７０へ進む。
【００４８】
一方、一致する場合（ステップＳ３０のＹｅｓ）、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１から図２に示したデータ格納領域７０１ｂに格納されるメモリモジュールのシリアル番号を読み出して、不揮発性メモリ６にＳＰＤ７０１に対応して記憶されたＳＰＤ６３ａのメモリモジュールのシリアル番号と一致するか否かを比較する（ステップＳ５０）。
【００４９】
一致しない場合（ステップＳ５０のＮｏ）、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１のデータ格納領域７０１ｂに格納されたメモリモジュール７１の製造者関連情報を読み出して、不揮発性メモリ６にＳＰＤ７０１に対応するＳＰＤ６３ａとして記憶させる（ステップＳ６０）。このように、型式番号が一致するもののシリアル番号が不一致であるメモリモジュールは、同一の仕様で異なるシリアル番号のメモリモジュールへの交換があったと考えられるためである。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１からの読み出し範囲と、ＳＰＤ６３ａにおける更新範囲を限定することで、メモリ初期化処理の高速化を計ることができる。その後、ステップＳ７０へ進む。
【００５０】
続いて、ＳＰＤ７０１のメモリモジュールのシリアル番号と、ＳＰＤ６３ａのメモリモジュールのシリアル番号とが一致する場合（ステップＳ５０のＹｅｓ）、ステップＳ７０へ進む。この場合、メモリモジュール７１の型式番号もシリアル番号も一致しているため、電源ＯＮの前後にメモリモジュール７１の交換は発生していないと判断できるからである。
【００５１】
ＳＰＤ読み出し制御部５３は、メモリモジュール部７の備える全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了したか否かを判定する（ステップＳ７０）。全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了していない場合（ステップＳ７０のＮｏ）、ステップＳ２０へ戻り、次のメモリモジュール（この場合、例えば、メモリモジュール７２）に対するＳＰＤ比較処理を行う。一方、全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了した場合（ステップＳ７０のＹｅｓ）、ステップＳ８０へ進む。
【００５２】
続いて、チャネル設定値生成部５２は、チャネル設定値生成処理を開始する（ステップＳ８０）。チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１に対して順に処理を行う。はじめに、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル処理生成処理を行う。チャネル設定値生成部５２は、メモリチャネル３１１に接続されたメモリモジュール７１、及び７２に対して、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ９０）。すなわち、メモリチャネル３１１に接続されたメモリモジュール７１、及び７２のＳＰＤ７０１、及び７０２に対して、ステップＳ４０が実行されたか否かを判定する。メモリモジュール７１、及び７２のいずれにおいても、メモリモジュールの型式番号不一致が無い場合（ステップＳ９０のＹｅｓ）、すなわち、ＳＰＤ７０１、及び７０２に対するステップＳ４０の実行が無い場合、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行わずに、ステップＳ１１０へ進む。
【００５３】
一方、メモリモジュール７１、あるいは７２の少なくともいずれかにおいて、メモリモジュールの型式番号不一致が有った場合（ステップＳ９０のＮｏ）、すなわち、ＳＰＤ７０１、あるいは７０２の少なくともいずれかに対してステップＳ４０が実行された場合、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行う（ステップＳ１００）。チャネル設定値生成部５２は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ、６３ｂに基づいて、メモリチャネル３１１に対応するチャネル設定値を生成する。チャネル設定値生成部５２は、生成されたチャネル設定値を、メモリコントローラ３１のチャネル設定値保持部３１へ記憶させるともに、不揮発性メモリ６にチャネル設定値６２ａとして記憶させる。その後、ステップＳ１１０へ進む。
【００５４】
このように、チャネル設定値生成部５２は、各メモリチャネル３１１、３２１、４１１、４２１に接続されるメモリモジュール７１〜７８に、ＳＰＤ読み出し制御部５３によるＳＰＤ比較処理において、型式番号が不一致であると判定されたメモリモジュールが存在す場合のみ、当該メモリチャネルに対してチャネル設定値生成処理を行う。この場合、当該メモリモジュールは、前回のメモリ初期化処理後に仕様の異なるメモリモジュールへ交換されたと考えられるからである。一般的に、メモリチャネル設定値生成処理は、メモリチャネル上において段階的にインピーダンス確認試験や、メモリモジュールを正常にリード／ライトするための遅延の窓（ｅｙｅ）を確保する試験が必要となり時間を要する。そこで、メモリモジュール７１〜７８の型式番号が一致した場合、あるいは、型式番号は一致しているがシリアル番号のみが不一致の場合には、メモリモジュール７１〜７８の仕様に変更は無いと考えて、チャネル設定値生成部５２は、対応するメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理を省略する。この場合、不揮発性メモリ６に記憶されたチャネル設定値６２ａ〜６２ｄを用いてメモリ初期化処理が行われて、メモリ初期化処理が高速化される。
【００５５】
図３Ａ、図３Ｂの説明に戻り、チャネル設定値生成部５２は、全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理を完了したかを判定する（ステップＳ１１０）。全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理が完了していない場合（ステップＳ１１０のＮｏ）、ステップＳ８０へ戻り、次のメモリチャネル（この場合、例えば、メモリチャネル３２１）、に対するチャネル設定値生成処理を行う。一方、全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理が完了した場合（ステップＳ１１０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１を初期化する（ステップＳ１２０）。
【００５６】
続いて、アドレス変換設定値生成部５１は、メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ１３０）。すなわち、メモリモジュール７の備える任意のメモリモジュール７１〜７８に対して、ステップＳ４０が実行されたか否かを判定する。
【００５７】
メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号に不一致が有った場合（ステップＳ１３０のＮｏ）、すなわち、メモリモジュール７の備える任意のメモリモジュール７１〜７８に対して、ステップＳ４０の実行があった場合、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を実行する（ステップＳ１４０）。アドレス変換設定値生成部５１は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈに基づいて、メモリモジュール７１〜７８の実装状況を検出してアドレス空間を設定する。アドレス変換設定値生成部５１は、設定されたアドレス空間を用いてアドレス変換設定値を生成する。アドレス変換設定値生成部５１は、生成されたアドレス変換設定値を、チップセット２のアドレス変換設定値保持部２１へ記憶させると共に、不揮発性メモリ６にアドレス変換設定値６１として記憶させる。これにより、本フローチャートにおける動作は終了となる。
【００５８】
一方、メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号不一致が無い場合（ステップＳ１３０のＹｅｓ）、すなわち、メモリモジュール７の備える任意のメモリモジュール７１〜７８に対して、ステップＳ４０の実行が無い場合、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を行わない。この場合、本フローチャートにおける動作は終了となる。
【００５９】
このように、アドレス変換設定値生成部５１は、ＳＰＤ比較処理においてメモリモジュール７１〜７８の少なくとも一つの型式番号に不一致があった場合のみ、アドレス変換設定値処理を行う。この場合、メモリモジュール７１〜７８が前回のメモリ初期化処理の後に仕様の異なるメモリモジュールへ交換されたと考えられるからである。一方で、アドレス変換設定値生成部５１は、ＳＰＤ比較処理において、メモリモジュール７１〜７８に型式番号の不一致が無い場合、あるいは、型式番号が一致するもののシリアル番号のみが不一致の場合には、メモリモジュール７１〜７８に仕様の変更は無いと判断できるため、アドレス変換設定値処理を省略する。この場合、不揮発性メモリ６に記憶されたアドレス変換設定値を用いてメモリ初期化処理が行われてメモリ初期化処理が高速化される。
【００６０】
以上が、本実施形態におけるコンピュータシステムの動作の説明である。
【００６１】
［実施例の説明］
次に、図１Ａから図３Ｂまでを参照して、上述のような構成及び動作である本実施形態におけるコンピュータシステムの具体的な動作例を説明する。
【００６２】
はじめに、初めてコンピュータシステムの電源を投入した場合の動作例を説明する。
【００６３】
まず、コンピュータシステムの電源が「ＯＮ」される（ステップＳ１０）。このとき、不揮発性メモリ６は、図１Ａに示された外部からのリセット指示ｆ２００に基づいて、データの初期化（無効化）が行われる。メモリ初期化部５のＳＰＤ読み出し制御部５３は、ＳＰＤ比較処理を開始する。まず、ＳＰＤ読み出し制御部５３は、メモリモジュール７１のＳＰＤ７０１にアクセスして（ステップＳ２０）、データ格納領域７０１ｂに格納されたメモリモジュールの型式番号を読み出す。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１から読み出されたメモリモジュールの型式番号と、不揮発性メモリ６にＳＰＤ７０１に対応して記憶されたＳＰＤ６３ａのメモリモジュールの型式番号とが一致するか否かを比較する（ステップＳ３０）。
【００６４】
今回は、初めての電源投入であり、ＳＰＤ６３ａは無効データであるため、メモリモジュールの型式番号は一致しない（ステップＳ３０のＮｏ）、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１のデータ格納領域７０１ａ、及び７０１ｂに格納されたメモリモジュール７１の仕様情報と製造者関連情報とを読み出して、不揮発性メモリ６にＳＰＤ７０１に対応するＳＰＤ６３ａとして記憶させる（ステップＳ４０）。その後、全メモリモジュールに対するＳＰＤ比較処理を完了したかを判定し（ステップＳ７０）、完了していないため（ステップＳ７０のＮｏ）、ＳＰＤ７０２〜７０８に対して順にアクセスして（ステップＳ２０）、ＳＰＤ比較処理を繰り返す。
【００６５】
前述の通り、現時点でＳＰＤ６３ｂ〜６３ｈは無効データであるため、ＳＰＤ７０２〜７０８に格納されたメモリモジュールの型式番号とはいずれも一致しない（ステップＳ３０のＮｏ）。そのため、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０２〜７０８のデータ格納領域７０２ａ〜７０８ａ、及び７０２ｂ〜７０８ｂに格納されたメモリモジュール７２〜７８の仕様情報と製造者関連情報とを読み出して、不揮発性メモリ６へＳＰＤ６３ｂ〜ｈとして記憶させる（ステップＳ４０）処理を繰り返すことになる。
【００６６】
ＳＰＤ読み出し制御部５３が全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了すると（ステップＳ７０のＹｅｓ）、チャネル設定値生成部５２は、チャネル設定値生成処理を開始する（ステップＳ８０）。まず、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル処理生成処理を行う。チャネル設定値生成部５２は、メモリチャネル３１１に接続されたメモリモジュール７１、及び７２に対して、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ９０）。
【００６７】
今回は、ＳＰＤ７０１、ＳＰＤ７０２の双方ともメモリモジュールの型式番号が不一致である（ステップＳ９０のＮｏ）。そのため、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行う（ステップＳ１００）。チャネル設定値生成部５２は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ、６３ｂに基づいて、メモリチャネル３１１に対応するチャネル設定値を生成する。チャネル設定値生成部５２は、生成されたチャネル設定値を、メモリコントローラ３１のチャネル設定値保持部３１へ記憶させるともに、不揮発性メモリ６にチャネル設定値６２ａとして記憶させる。
【００６８】
チャネル設定値生成部５２は、全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理を完了したかを判定し（ステップＳ１１０）、完了していないため（ステップＳ１１０のＮｏ）、メモリチャネル３２１、４１１、４２１に対して順にチャネル設定値生成処理を行う（ステップＳ８０）。今回は、ＳＰＤ７０１〜７０８に格納されたメモリモジュールの型式番号が不一致であったため（ステップＳ９０のＮｏ）、チャネル設定値生成部５２は、メモリチャネル３２１、４１１、４２１に対してもチャネル設定値生成処理を行うことになる（ステップＳ１００）。
【００６９】
すなわち、チャネル設定値生成部５２は、不揮発性メモリ６に記憶されたＳＰＤ６３ｃ、６３ｄに基づいて、メモリチャネル３２１に対応するチャネル設定値を生成し、同様に、ＳＰＤ６３ｅ、６３ｆに基づいてメモリチャネル４１１、ＳＰＤ６３ｇ、６３ｈに基づいてメモリチャネル４２１を生成する。チャネル設定値生成部５２は、生成されたチャネル設定値を、それぞれメモリコントローラ３、４のチャネル設定値保持部３２、４１、４２へ記憶させるともに、不揮発性メモリ６にチャネル設定値６２ｂ、６２ｃ、６２ｄとして記憶させる。
【００７０】
全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理すると（ステップＳ１１０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１を初期化する（ステップＳ１２０）。
【００７１】
続いて、アドレス変換設定値生成部５１は、メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ１３０）。今回は、全てのメモリモジュール７１〜７８の型式番号が不一致であったため（ステップＳ１３０のＮｏ）、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を実行する（ステップＳ１４０）。アドレス変換設定値生成部５１は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈに基づいて、メモリモジュール７１〜７８の実装状況を検出してアドレス空間を設定する。アドレス変換設定値生成部５１は、設定されたアドレス空間を用いてアドレス変換設定値を生成する。アドレス変換設定値生成部５１は、生成されたアドレス変換設定値を、チップセット２のアドレス変換設定値保持部２１へ記憶させると共に、不揮発性メモリ６にアドレス変換設定値６１として記憶させて、本フローチャートにおける動作を終了する。
【００７２】
以上が、初めてコンピュータシステムの電源を投入した場合の動作例を説明である。
【００７３】
続いて、２回目にコンピュータシステムの電源を投入した場合であって、前回以降、メモリモジュール７１〜７８の交換がされていない場合の動作例の説明を行う。
【００７４】
まず、コンピュータシステムの電源が「ＯＮ」される（ステップＳ１０）。メモリ初期化部５のＳＰＤ読み出し制御部５３は、ＳＰＤ比較処理を開始する。まず、ＳＰＤ読み出し制御部５３は、メモリモジュール７１のＳＰＤ７０１にアクセスして（ステップＳ２０）、データ格納領域７０１ｂに格納されたメモリモジュールの型式番号を読み出す。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１から読み出されたメモリモジュールの型式番号と、不揮発性メモリ６にＳＰＤ７０１に対応して記憶されたＳＰＤ６３ａのメモリモジュールの型式番号とが一致するか否かを比較する（ステップＳ３０）。
【００７５】
ＳＰＤ６３ａは、初回の電源投入時にＳＰＤ７０１の内容を複製して保存された内容であるため、メモリモジュールの型式番号は一致する（ステップＳ３０のＹｅｓ）。続いて、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１からメモリモジュールのシリアル番号を読み出して、不揮発性メモリ６にＳＰＤに対応して記憶されたＳＰＤ６３ａのメモリモジュールのシリアル番号と一致するか否かを比較する（ステップＳ５０）。ＳＰＤ６３ａは、初回の電源投入時にＳＰＤ７０１の内容を複製して保存された内容であるため、メモリモジュールのシリアル番号も一致する（ステップＳ５０のＹｅｓ）。このように、メモリモジュール７１の型式番号もシリアル番号も一致しているため、電源ＯＮの前後にメモリモジュール７１の交換は発生していないと判断できる。そのため、ＳＰＤ読み出し制御部５３は、ＳＰＤ６３ａの更新処理を行わずにＳＰＤ７０１に対するＳＰＤ比較処理を完了する。
【００７６】
ＳＰＤ読み出し制御部５３は、メモリモジュール部７の備える全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了したか否かを判定し、（ステップＳ７０）、完了していないため（ステップＳ７０のＮｏ）、ＳＰＤ７０２〜７０８に対して順にアクセスして（ステップＳ２０）、ＳＰＤ比較処理を繰り返す。
【００７７】
前述の通り、現時点でＳＰＤ６３ｂ〜６３ｈは、初回の電源投入時にＳＰＤ７０２〜７０８の内容を複製して保存された内容であるため、メモリモジュールの型式番号とはいずれも一致し（ステップＳ３０のＹｅｓ）、また、メモリモジュールのシリアル番号もいずれも一致する（ステップＳ５０のＹｅｓ）。そのため、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０２〜７０８に格納された仕様情報（７０２ａ〜７０８ａ）と製造者関連情報（７０２ｂ〜７０８ｂ）のいずれも、不揮発性メモリ６へ記憶させることは無く、メモリ初期化処理を高速化できる。
【００７８】
ＳＰＤ読み出し制御部５３が全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了すると（ステップＳ７０のＹｅｓ）、チャネル設定値生成部５２は、チャネル設定値生成処理を開始する（ステップＳ８０）。まず、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行う。チャネル設定値生成部５２は、メモリチャネル３１１に接続されたメモリモジュール７１、及び７２に対して、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ９０）。
【００７９】
今回は、ＳＰＤ７０１、ＳＰＤ７０２の双方ともメモリモジュールの型式番号に不一致が無い（ステップＳ９０のＹｅｓ）。そのため、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行わない。チャネル設定値生成部５２は、全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理を完了したかを判定し（ステップＳ１１０）、完了していないため（ステップＳ１１０のＮｏ）、メモリチャネル３２１、４１１、４２１に対して順にチャネル設定値生成処理を行う（ステップＳ８０）。今回はＳＰＤ７０１〜７０８の全てにおいてメモリモジュールの型式番号に不一致が無かったため（ステップＳ９０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３２１、４１１、４２１に対してもチャネル設定値生成処理を行わない。ＳＰＤ比較処理においてメモリモジュール７１〜７８の型式番号とシリアル番号とに不一致が無いため、メモリモジュール７１〜７８に仕様の変更が発生していないと判断できるためである。この場合、不揮発性メモリ６に記憶されたチャネル設定値６２ａ〜６２ｄを用いてメモリ初期化処理が行われて、メモリ初期化処理が高速化される。
【００８０】
全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理すると（ステップＳ１１０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１を初期化する（ステップＳ１２０）。
【００８１】
続いて、アドレス変換設定値生成部５１は、メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ１３０）。今回は、全てのメモリモジュール７１〜７８の型式番号が不一致でなかったため（ステップＳ１３０のＹｅｓ）、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を実行せず、本フローチャートにおける動作を終了する。ＳＰＤ比較処理においてメモリモジュール７１〜７８の型式番号とシリアル番号とに不一致が無い場合、メモリモジュール７１〜７８に仕様の変更が発生していないと判断することができるためである。この場合、不揮発性メモリ６に記憶されたアドレス変換設定値６１を用いてメモリ初期化処理が行われて、メモリ初期化処理が高速化される。
【００８２】
以上が、２回目にコンピュータシステムの電源を投入した場合であって、前回以降、メモリモジュール７１〜７８の交換がされていない場合の動作例の説明である。
【００８３】
続いて、２回目にコンピュータシステムの電源を投入した場合であって、前回以降に、メモリモジュール７１を同一の型式番号で異なるシリアル番号のメモリモジュールへ交換を行った場合の動作例の説明を行う。
【００８４】
まず、コンピュータシステムの電源が「ＯＮ」される（ステップＳ１０）。メモリ初期化部５のＳＰＤ読み出し制御部５３は、ＳＰＤ比較処理を開始する。まず、ＳＰＤ読み出し制御部５３は、メモリモジュール７１のＳＰＤ７０１にアクセスして（ステップＳ２０）、データ格納領域７０１ｂに格納されたメモリモジュールの型式番号を読み出す。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１から読み出されたメモリモジュールの型式番号と、不揮発性メモリ６にＳＰＤ７０１に対応して記憶されたＳＰＤ６３ａのメモリモジュールの型式番号とが一致するか否かを比較する（ステップＳ３０）。
【００８５】
メモリモジュール７１は交換されているもののＳＰＤ７０１に格納されたメモリモジュールの型式番号は交換前後で同一であるため、メモリモジュールの型式番号は一致する（ステップＳ３０のＹｅｓ）。続いて、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１からメモリモジュールのシリアル番号を読み出して、不揮発性メモリ６にＳＰＤに対応して記憶されたＳＰＤ６３ａのメモリモジュールのシリアル番号と一致するか否かを比較する（ステップＳ５０）。メモリモジュール７１は交換されており、ＳＰＤ７０１に格納されたメモリモジュールのシリアル番号は交換前後で異なるため、メモリモジュールのシリアル番号は一致しない（ステップＳ５０のＮｏ）。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１のデータ格納領域７０１ｂに格納された製造者関連情報を読み出して、不揮発性メモリ６にＳＰＤ７０１に対応するＳＰＤ６３ａとして記憶させる（ステップＳ６０）。このように、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１からの情報の読み出し範囲を、データ格納領域７０１ｂの製造者関連情報のみ限定することで、メモリ初期化処理の高速化を計ることができる。その後、ステップＳ７０へ進む。
【００８６】
ＳＰＤ読み出し制御部５３は、メモリモジュール部７の備える全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了したか否かを判定し、（ステップＳ７０）、完了していないため（ステップＳ７０のＮｏ）、ＳＰＤ７０２〜７０８に対して順にアクセスして（ステップＳ２０）、ＳＰＤ比較処理を繰り返す。
【００８７】
現時点でＳＰＤ６３ｂ〜６３ｈは、初回の電源投入時にＳＰＤ７０２〜７０８の内容を複製して保存された内容であるため、メモリモジュールの型式番号とはいずれも一致し（ステップＳ３０のＹｅｓ）、また、メモリモジュールのシリアル番号もいずれも一致する（ステップＳ５０のＹｅｓ）。そのため、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０２〜７０８に格納された仕様情報（７０２ａ〜７０８ａ）と製造者関連情報（７０２ｂ〜７０８ｂ）のいずれも、不揮発性メモリ６へ記憶させる処理を行うことが無く、ＳＰＤ比較処理を高速化できる。
【００８８】
ＳＰＤ読み出し制御部５３が全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了すると（ステップＳ７０のＹｅｓ）、チャネル設定値生成部５２は、チャネル設定値生成処理を開始する（ステップＳ８０）。まず、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル処理生成処理を行う。チャネル設定値生成部５２は、メモリチャネル３１１に接続されたメモリモジュール７１、及び７２に対して、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ９０）。
【００８９】
今回は、ＳＰＤ７０１においてメモリモジュールのシリアル番号の変更はあったものの、ＳＰＤ７０１、ＳＰＤ７０２の双方ともメモリモジュールの型式番号に不一致が無い（ステップＳ９０のＹｅｓ）。そのため、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行わない。チャネル設定値生成部５２は、全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理を完了したかを判定し（ステップＳ１１０）、完了していないため（ステップＳ１１０のＮｏ）、メモリチャネル３２１、４１１、４２１に対して順にチャネル設定値生成処理を行う（ステップＳ８０）。ＳＰＤ７０３〜７０８においてメモリモジュールの型式番号には不一致が無かったため（ステップＳ９０のＹｅｓ）、メモリモジュール７１〜７８の交換に伴う仕様の変更が無いと考えられるため、チャネル設定値生成部５２は、メモリチャネル３２１、４１１、４２１に対してもチャネル設定値生成処理を行わない。この場合、不揮発性メモリ６に記憶されたチャネル設定値６２ａ〜６２ｄを用いてメモリ初期化処理が行われて、メモリ初期化処理が高速化される。全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理すると（ステップＳ１１０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１を初期化する（ステップＳ１２０）。
【００９０】
続いて、アドレス変換設定値生成部５１は、メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ１３０）。今回は、メモリモジュール７１のシリアル番号に不一致があったものの、メモリモジュール７１〜７８の型式番号に不一致は無かったため（ステップＳ１３０のＹｅｓ）、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を実行せず、本フローチャートにおける動作を終了する。このように、ＳＰＤ７０１〜７０８とＳＰＤ６３ａ〜ｈとの比較においてメモリモジュールの型式番号に不一致が無くシリアル番号にのみ不一致が有る場合、メモリモジュール７１〜７８の交換に伴う仕様の変更は発生していないと判断することができる。そのため、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を実行しない。この場合、不揮発性メモリ６に記憶されたアドレス変換設定値５１を用いてメモリ初期化処理が行われて、メモリ初期化処理が高速化される。
【００９１】
以上が、２回目にコンピュータシステムの電源を投入した場合であって、前回以降に、メモリモジュール７１を同一の型式番号で異なるシリアル番号のメモリモジュールへ交換を行った場合の動作例の説明である。
【００９２】
続いて、２回目にコンピュータシステムの電源を投入した場合であって、前回以降に、メモリモジュール７１を型式番号及びシリアル番号の異なるメモリモジュールへ交換を行った場合の動作例の説明を行う。
【００９３】
まず、コンピュータシステムの電源が「ＯＮ」される（ステップＳ１０）。メモリ初期化部５のＳＰＤ読み出し制御部５３は、ＳＰＤ比較処理を開始する。まず、ＳＰＤ読み出し制御部５３は、メモリモジュール７１のＳＰＤ７０１にアクセスして（ステップＳ２０）、データ格納領域７０１ｂに格納されたメモリモジュールの型式番号を読み出す。ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１から読み出されたメモリモジュールの型式番号と、不揮発性メモリ６にＳＰＤ７０１に対応して記憶されたＳＰＤ６３ａのメモリモジュールの型式番号とが一致するか否かを比較する（ステップＳ３０）。
【００９４】
メモリモジュール７１は交換にされておりＳＰＤ７０１に格納されたメモリモジュールの型式番号は交換前後で異なっている、メモリモジュールの型式番号は一致しない（ステップＳ３０のＮｏ）。そのため、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０１のデータ格納領域７０１ａ、及び７０１ｂに格納されたメモリモジュール７１の仕様情報と製造者関連情報とを読み出して、不揮発性メモリ６にＳＰＤ７０１に対応するＳＰＤ６３ａとして記憶させる（ステップＳ４０）。その後、全メモリモジュールに対するＳＰＤ比較処理を完了したかを判定し（ステップＳ７０）、完了していないため（ステップＳ７０のＮｏ）、ＳＰＤ７０２〜７０８に対して順にアクセスして（ステップＳ２０）、ＳＰＤ比較処理を繰り返す。
【００９５】
現時点でＳＰＤ６３ｂ〜６３ｈは、初回の電源投入時にＳＰＤ７０２〜７０８の内容を複製して保存された内容であるため、メモリモジュールの型式番号とはいずれも一致し（ステップＳ３０のＹｅｓ）、また、メモリモジュールのシリアル番号もいずれも一致する（ステップＳ５０のＹｅｓ）。そのため、ＳＰＤ読み出し制御部５３は、ＳＰＤ７０２〜７０８に格納された仕様情報（７０２ａ〜７０８ａ）と製造者関連情報（７０２ｂ〜７０８ｂ）のいずれも、不揮発性メモリ６へ記憶させる処理を行わない。このように、交換によりメモリモジュールの型式番号の不一致が発生したメモリモジュール７１に対してのみ、仕様情報（７０１ａ〜７０８ａ）と製造者関連情報（７０１ａ〜７０８ａ）の更新を行うため、交換の行われていないメモリモジュール７２〜７８に対するＳＰＤ比較処理を高速化できる。
【００９６】
ＳＰＤ読み出し制御部５３が全てのメモリモジュール７１〜７８に対するＳＰＤ比較処理が完了すると（ステップＳ７０のＹｅｓ）、チャネル設定値生成部５２は、チャネル設定値生成処理を開始する（ステップＳ８０）。まず、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル処理生成処理を行う。チャネル設定値生成部５２は、メモリチャネル３１１に接続されたメモリモジュール７１、及び７２に対して、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ９０）。
【００９７】
今回は、交換によりＳＰＤ７０１のメモリモジュールの型式番号に不一致があった（ステップＳ９０のＮｏ）。そのため、チャネル設定値生成部５２は、メモリチャネル３１１に対するチャネル設定値生成処理を行う（ステップＳ１００）。チャネル設定値生成部５２は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ、６３ｂに基づいて、メモリチャネル３１１に対応するチャネル設定値を生成する。ここで、ＳＰＤ６３ａは、ステップＳ４０において、交換後のメモリモジュール７１のＳＰＤ７０１と同一の内容となっている。チャネル設定値生成部５２は、生成されたチャネル設定値を、メモリコントローラ３１のチャネル設定値保持部３１へ記憶させるともに、不揮発性メモリ６にチャネル設定値６２ａとして記憶させる。
【００９８】
チャネル設定値生成部５２は、全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理を完了したかを判定し（ステップＳ１１０）、完了していないため（ステップＳ１１０のＮｏ）、メモリチャネル３２１、４１１、４２１に対して順にチャネル設定値生成処理を行う（ステップＳ８０）。ＳＰＤ７０３〜７０８においてメモリモジュールの型式番号に不一致が無いため（ステップＳ９０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３２１、４１１、４２１に対してチャネル設定値生成処理を行わない。このように、チャネル設定値生成部５２は、メモリモジュールの型式番号に不一致を検出されたメモリモジュール７１と接続されるメモリチャネル３１１に対してのみチャネル設定値生成処理を行う。これにより、メモリ初期化処理を高速化できる。
【００９９】
全てのメモリチャネル３１１、３２１、４１１、４２１に対するチャネル設定値生成処理すると（ステップＳ１１０のＹｅｓ）、チャネル設定値生成部５２は、メモリチャネル３１１、３２１、４１１、４２１を初期化する（ステップＳ１２０）。
【０１００】
続いて、アドレス変換設定値生成部５１は、メモリモジュール７の備える任意のメモリモジュール７１〜７８において、メモリモジュールの型式番号の不一致が無かったかを判定する（ステップＳ１３０）。今回は、メモリモジュール７１の型式番号に不一致が有ったため（ステップＳ１３０のＮｏ）、アドレス変換設定値生成部５１は、アドレス変換設定値生成処理を実行する（ステップＳ１４０）。
【０１０１】
アドレス変換設定値生成部５１は、不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈに基づいて、メモリモジュール７１〜７８の実装状況を検出してアドレス空間を設定する。アドレス変換設定値生成部５１は、設定されたアドレス空間を用いてアドレス変換設定値を生成する。アドレス変換設定値生成部５１は、生成されたアドレス変換設定値を、チップセット２のアドレス変換設定値保持部２１へ記憶させると共に、不揮発性メモリ６にアドレス変換設定値６１として記憶させて、本フローチャートにおける動作を終了する。
【０１０２】
以上が、２回目にコンピュータシステムの電源を投入した場合であって、前回以降に、メモリモジュール７１を同一の型式番号の異なるシリアル番号のメモリモジュールへ交換を行った場合の動作例の説明である。
【０１０３】
ここまで説明を行ってきたように、本実施形態におけるコンピュータシステムは、コンピュータシステムの備える全てのメモリモジュール７１〜７８のＳＰＤ７０１〜７０８に対応するＳＰＤ６３ａ〜６３ｈと、メモリコントローラ３、４におけるメモリチャネル３１１、３２１、４１１、４２１のチャネル設定値と、各メモリモジュール７１〜７８のアドレス空間に対応させて生成されたアドレス変換設定値とを記憶する不揮発性メモリ６を備える。また、コンピュータシステムは、メモリ初期化処理において、各メモリモジュール７１〜７８のＳＰＤ７１０〜７０８を読み出して不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈと比較するメモリ比較処理を行うＳＰＤ読み出し制御部５３と、メモリチャネル３１１、３２１、４１１、４２１毎のチャネル設定値の生成処理を行うチャネル設定値生成部５２と、及びアドレス変換設定値の生成処理を行うアドレス変換設定値生成部５１とを備える。
【０１０４】
ＳＰＤ７０１〜７０８は、仕様情報（データ格納領域７０１ａ〜７０８ａ）と製造者関連情報（データ格納領域７０１ｂ〜７０８ｂ）とを含む。さらに、製造者関連情報は、メモリモジュールの型式番号、及びシリアル番号を含む。ＳＰＤ読み出し制御部５３は、ＳＰＤ比較処理において、メモリモジュールの型式番号とシリアル番号とを比較する。ＳＰＤ読み出し制御部５３は、型式番号とシリアル番号がいずれも一致したメモリモジュール７１〜７８について、不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈの更新は行わない。ＳＰＤ比較処理においてメモリモジュールの型式番号とシリアル番号とが一致するということは、搭載されているメモリモジュール７１〜７８が前回のメモリ初期化処理時のメモリモジュール７１〜７８と同一あると確認できたことを意味する。そのため、このようなメモリモジュールに対しては、不揮発性メモリ６のＳＰＤ６３ａ〜６３ｈの更新処理を省略することができる。
【０１０５】
一方、ＳＰＤ読み出し制御部５３は、型式番号が不一致であるメモリモジュール７１〜７８のＳＰＤ７０１〜７０８に格納された仕様情報と製造者関連情報とを読み出して不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈを更新する。型式番号が不一致であるメモリモジュール７１〜７８は、異なる仕様を有したメモリモジュール７１〜７８へ交換が行われたと考えることができるからである。また、ＳＰＤ読み出し制御部５３は、型式番号が一致するもののシリアル番号が不一致であるメモリモジュール７１〜７８のＳＰＤ７０１〜７０８から製造者関連情報のみを読み出して不揮発性メモリに記憶されたＳＰＤを更新する。型式番号が一致するもののシリアル番号が不一致であるメモリモジュール７１〜７８は、同じ仕様を有する異なるシリアル番号のメモリモジュール７１〜７８に交換されたと考えられるからである。
【０１０６】
チャネル設定値生成部５２は、型式番号が不一致であるメモリモジュール７１〜７８と接続されるメモリチャネル３１１、３２１、４１１、４２１に対してのみチャネル設定値の生成処理を行う。さらに、アドレス変換設定値生成部５１は、コンピュータシステムの備える全てのメモリモジュール７１〜７８において、型式番号が不一致であるメモリモジュール７１〜７８が存在した場合にのみアドレス変換値生成処理を行う。チャネル設定値生成部５２とアドレス変換設定値生成部５１は、いずれも不揮発性メモリ６に記憶されたＳＰＤ５３ａ〜５３ｈの仕様情報を基にして、チャネル設定値とアドレス変換設定値とを生成する。ＳＰＤ読み出し制御部５３は、型式番号が不一致である場合のみ、不揮発性メモリ６に記憶されたＳＰＤ６３ａ〜６３ｈの仕様情報を更新する。型式番号が一致する場合、あるいは、型式番号が一致するもののシリアル番号が不一致である場合、不揮発性メモリ記憶６にされたＳＰＤ６３ａ〜６３ｈの仕様情報に変更は無い。そのため、チャネル設定値生成部５２とアドレス変換設定値生成部５１とが、生成するチャネル設定値、及びアドレス変換設定値も同一の値となる。そこで、型式番号が一致する場合、あるいは、型式番号が一致するもののシリアル番号が不一致である場合には、チャネル設定値及びアドレス変換設定値の生成処理を省略して、メモリ初期化処理の更なる高速化を計ることができる。
【０１０７】
以上、実施形態を参照して本発明のメモリ初期化装置を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更を行うことができる。
【符号の説明】
【０１０８】
１  プロセッサ
２  チップセット
３、４  メモリコントローラ
５  メモリ初期化部
６  不揮発性メモリ
７  メモリモジュール部
２１  アドレス変換設定値保持部
３１、３２、４１、４２  チャネル設定値保持部
５１  アドレス変換設定値生成部
５２  チャネル設定値生成部
５３  ＳＰＤ読み出し制御部
６１  アドレス変換設定値
６２ａ〜６２ｄ  チャネル設定値
６３ａ〜６３ｈ  ＳＰＤ
７１〜７８  メモリモジュール
３１１、３２１、４１１、４２１  メモリチャネル
７０１〜７０８  ＳＰＤ
７０１ａ〜７０８ａ、７０１ｂ〜７０８ｂ、７０１ｃ〜７０８ｃ  データ格納領域
【図１Ａ】
0005435647.tif 000002
【図１Ｂ】
0005435647.tif 000003
【図２】
0005435647.tif 000004
【図３Ａ】
0005435647.tif 000005
【図３Ｂ】
0005435647.tif 000006