明 細 書
メモリ制御方法、プログラム及び装置
技術分野
[0001] 本発明は、複数のメモリモジュールで構成されたメモリをアクセスするメモリ制御方 法、プログラム及び装置に関し、特に、メモリモジュールの異常箇所に基づき CPUの アドレス空間に利用禁止領域を設定するメモリ制御方法、プログラム及び装置に関す る。
背景技術
[0002] 従来、マルチ CPU構成のコンピュータシステムに利用される主記憶などの記憶装 置にあっては、独立してアクセス可能なメモリ素子である複数のメモリモジュール (メモ リバンクともいう)をボードに実装して記憶装置を構築しており、このように記憶装置に 利用されるメモリモジュールは、メモリモジュールの生産過程によって生ずる品質の ばらつきは不回避である。
[0003] このメモリモジュールの生産上の品質のばらつきにより、記憶装置に実装して利用 している間に、一部のアドレスについてデータの読み書きを正常に行うことができなく なる異常が発生する場合がある。メモリ異常を検出した場合には、メモリ異常を起して いるメモリモジュールを特定し、システム力も異常部分を排除することで、システムを 安定運用することが重要である。
[0004] また、一度異常と認識したメモリモジュールについては、例えインタリーブ制御のゥ エイ数の変更によりメモリ構成が変わっても、異常メモリモジュールが交換されるまで はシステムに組み込まないようにすることが、運用システムにおける堅牢性の向上、 運用後に故障が起こったときの故障保守作業時間、保守にかかるコストの節減のた めに必要なことである。
[0005] そこで従来の記憶装置にあっては、メモリコントローラのハードウェア機能により、メ モリ異常を検出した場合に、メモリ異常を起しているメモリモジュールを特定し、シス テム力も異常部分を排除するようにしている。即ち、メモリコントローラは、 CPU力も見 えるメモリモジュールのアドレス空間を適当な大きさの領域に分割し、メモリモジユー
ルの異常を検出した場合には、異常個所に対応した領域を利用禁止に設定し、 CP uにより利用可能な領域に異常個所を含む領域を組み込まないようにメモリを縮退す るメモリ制御を行っている。
特許文献 1 :特開平 2— 166543号公報
特許文献 2 :特開平 4— 165548号公報
発明の開示
発明が解決しょうとする課題
[0006] し力しながら、従来のメモリ制御にあっては、メモリ異常を起しているメモリモジユー ルを特定してシステムに組み込まな 、ように縮退する機能をノヽードウエア機能により 実装していたため、実装回路の増大によるコストアップおよびサイズ増大が問題とな つている。
[0007] また CPUから見えるメモリモジュールのアドレス空間を適当な大きさの領域に分割 して CPUで利用可能な領域を管理する従来のメモリ制御方法にあっては、インタリー ブ制御におけるウェイ数の変更によりメモリ構成を変更した場合に対応することができ ない。
[0008] 例えばインタリーブ制御のウェイ数は 1ウェイ (インタリーブなし)力も 2ウェイのメモリ 構成に変更した場合、メモリモジュールの実アドレスと CPUから見える論理アドレスと の対応関係も変更されることになり、例えばメモリ構成変更前の異常個所のアドレス は m番目の領域に対応していたものが、メモリ構成変更後は別の n番目の領域に対 応すると ヽつたことが発生する。
[0009] このためメモリ構成を変更した後に、改めてメモリモジュールの異常箇所を特定し、 構成変更後の CPU力も見えるアドレス空間の分割領域にっ 、て、メモリモジュール の異常個所に対応した領域を判別して利用禁止に設定し、 CPUの利用領域に異常 個所を含む領域を組み込まな 、ようにする領域管理を必要とし、構成変更前の領域 利用情報を構成変更後に引き継ぐことができず、メモリ再構成後の CPU利用可能領 域を決定するための処理負担が増大し、メモリ構成変更後の処理再開に時間がかか る問題がある。
[0010] 本発明は、 CPU力も見たメモリアドレス空間を分割した領域の利用情報をメモリ構
成を変更した際に引き継いで構成変更後の領域利用情報を簡単且つ迅速に設定可 能とするメモリ制御装置、方法及びプログラムを提供することを目的とする。
課題を解決するための手段
[0011] (方法)
本発明はメモリ制御方法を提供する。即ち本発明は、論理アドレスを実アドレス〖こ 変換してメモリをアクセスするメモリ制御方法に於いて、
メモリの異常を検出した際に、メモリの実アドレス空間の利用可能情報を記録した実 アドレス領域利用表の中の、異常が検出されたメモリに対応する領域に利用禁止情 報を記録するステップと、
実アドレス領域利用表から、論理アドレス空間における各領域の利用可能情報又 は利用禁止情報を記録した論理アドレス領域利用表を生成するステップと、 を備えたことを特徴とする。
[0012] 本発明はメモリ制御方法を提供する。即ち本発明は、 CPU力ゝらの論理アドレスを素 子選択アドレスとメモリ素子アドレス力 構成される実アドレスに変換して複数のメモリ 素子をアクセスするメモリ制御方法に於 ヽて、
N領域に分割された論理アドレス空間を利用した CPUの論理アドレスをウェイ数 W で決まる実アドレスに変換して複数のメモリ素子をインタリーブ制御によりアクセスし、 異なるウェイ数 Wの指定によりメモリ構成を再構成可能なインタリーブ制御ステップと 複数のメモリ素子で構成される実アドレス空間を、 CPU論理アドレス空間の領域数 Nにインタリーブ制御の最大ウェイ数 Wmaxを乗じた(N X Wmax)領域に分割して 利用可能情報を記録した全ウェイ数に共通な実アドレス領域利用表を作成し、メモリ 素子の異常を検出した際に実アドレス領域利用表の異常個所を含む領域に利用禁 止情報を記録する実アドレス領域管理ステップと、
インタリーブ制御ステップのウェイ数 Wで決まるメモリ構成に対応して、実アドレス領 域利用表力 論理アドレス空間における各領域に利用可能情報又は利用禁止情報 を記録した論理アドレス領域利用表を生成して CPUが利用する論理アドレス空間の 領域を決定する論理アドレス領域管理ステップと、
を備えたことを特徴とする。
[0013] ここで、インタリーブ制御ステップは、 2のべき乗数となる異なるウェイ数 Wのいずれ か指定によりメモリ構成を再構成する。
[0014] (1 2ウェイ切替)
インタリーブ制御ステップがウェイ数 1又は 2の指定によりメモリ再構成が可能な場 実アドレス領域管理ステップは (括弧内は例えば CPUアドレスが 10ビット、メモリ素 子アドレスが A7〜A0の 8ビット、素子選択アドレスが B1〜: BOの 2ビットの場合)、 素子選択アドレスの下位 2ビット(Bl BO)、
実アドレスの最上位ビット (A7)及び
実アドレスの最下位ビット (AO)
の 4ビットアドレス(Bl BO A7 AO)により CPU論理アドレス空間の領域数 Nにイン タリーブ制御の最大ウェイ数 2を乗じて (N X 2)分割された各領域に利用許可情報又 は利用禁止情報を記録した実アドレス領域利用表を生成し、
論理アドレス領域管理ステップは、インタリーブ制御ステップが 1ウェイで決まるメモ リ構成の場合、実アドレス領域利用表の
素子選択アドレスの下位 2ビット(Bl BO)及び
実アドレスの最上位ビット (A7)
の 3ビットアドレス (Bl BO A7)により N分割された各領域に利用許可情報又は利 用禁止情報を記録した 1ゥヱイ論理アドレス領域利用表を作成して CPUが利用する 論理アドレス空間の領域を決定し、
また論理アドレス領域管理ステップは、インタリーブ制御ステップが 2ウェイで決まるメ モリ構成の場合、実アドレス領域利用表の
素子選択アドレスの下位第 2ビット (B1)、
実アドレスの最下位ビット (AO)及び
実アドレスの最上位ビット (A7)
の 3ビットアドレス (Bl AO A7)により N分割された各領域に利用許可情報又は利 用禁止情報を記録した 2ゥヱイ論理アドレス領域利用表を作成して前記 CPUが利用
する論理アドレス空間の領域を決定することを特徴とするメモリ制御方法。
(1 2— 4ウェイ切替)
インタリーブ制御ステップが、ウェイ数 1、 2又は 4の指定によりメモリ再構成可能な σ、
実アドレス領域管理ステップは (括弧内は例えば CPUアドレスが 10ビット、メモリ素 子アドレスが A7〜A0の 8ビット、素子選択アドレスが B1〜: BOの 2ビットの場合)、 素子選択アドレスの下位 2ビット(Bl BO)、
実アドレスの最上位ビット (A7)及び
実アドレスの最下位 2ビット(Al AO)
の 5ビットアドレス(Bl BO A7 Al AO)により CPU論理アドレス空間の領域数 N にインタリーブ制御の最大ウェイ数 4を乗じて (N X 4)分割された各領域に利用許可 情報又は利用禁止情報を記録した実アドレス領域利用表を生成し、
論理アドレス領域管理ステップは、インタリーブ制御ステップが 1ウェイで決まるメモリ 構成の場合、実アドレス領域利用表の
素子選択アドレスの下位 2ビット(Bl BO)及び
実アドレスの最上位ビット (A7)
の 3ビットアドレス (Bl BO A7)により N分割された各領域に利用許可情報又は利 用禁止情報を記録した 1ゥヱイ論理アドレス領域利用表を作成して CPUが利用する 論理アドレス空間の分割領域を決定し、
また論理アドレス領域管理ステップは、インタリーブ制御ステップが 2ウェイで決まるメ モリ構成の場合、実アドレス領域利用表の
素子選択アドレスの下位第 2ビット (B1)、
実アドレスの最下位ビット (AO)及び
実アドレスの最上位ビット (A7)
の 3ビットアドレス (Bl AO A7)により N分割された各領域に利用許可情報又は利 用禁止情報を記録した 2ゥヱイ論理アドレス領域利用表を作成して CPUが利用する 論理アドレス空間の分割領域を決定し、
更に論理アドレス領域管理ステップは、インタリーブ制御ステップ力 ウェイで決まる
メモリ構成の場合、実アドレス領域利用表の
実アドレスの下位 2ビット(Al AO)及び
実アドレスの最上位ビット (A7)
の 3ビットアドレス (Al AO A7)により N分割された各領域に利用許可情報又は利 用禁止情報を記録した 4ゥヱイ論理アドレス領域利用表を作成して CPUが利用する 論理アドレス空間の分割領域を決定する。
[0016] (プログラム)
本発明はメモリ制御プログラムを提供する。本発明のメモリ制御プログラムは、 CPU 力 の論理アドレスを素子選択アドレスとメモリ素子アドレス力 構成される実アドレス に変換して複数のメモリ素子をアクセスするメモリ制御装置のコンピュータに、
N領域に分割された論理アドレス空間を利用した CPUの論理アドレスをウェイ数 W で決まる実アドレスに変換して複数のメモリ素子をインタリーブ制御によりアクセスし、 異なるウェイ数 Wの指定によりメモリ構成を再構成可能なインタリーブ制御ステップと 複数のメモリ素子で構成される実アドレス空間を、 CPU論理アドレス空間の領域数 Nにインタリーブ制御の最大ウェイ数 Wmaxを乗じた(N X Wmax)領域に分割して 利用可能情報を記録した全ウェイ数に共通な実アドレス領域利用表を作成し、メモリ 素子の異常を検出した際に実アドレス領域利用表の異常個所を含む領域に利用禁 止情報を記録する実アドレス領域管理ステップと、
インタリーブ制御ステップのウェイ数 Wで決まるメモリ構成に対応して、実アドレス領 域利用表力 論理アドレス空間における各領域に利用可能情報又は利用禁止情報 を記録した論理アドレス領域利用表を生成して CPUが利用する論理アドレス空間の 領域を決定する論理アドレス領域管理ステップと、
を実行させることを特徴とする。
[0017] (装置)
本発明はメモリ制御装置を提供する。即ち、本発明のメモリ制御装置は、 素子選択アドレスとメモリ素子アドレス力も構成される実アドレスによりアクセスされる 複数のメモリ素子と、
N領域に分割された論理アドレス空間を利用した CPUの論理アドレスをウェイ数 W で決まる実アドレスに変換して前記複数のメモリ素子をインタリーブ制御によりァクセ スし、異なるウェイ数 Wの指定によりメモリ構成を再構成可能なインタリーブ制御部と 複数のメモリ素子で構成される実アドレス空間を、 CPU論理アドレス空間の領域数 Nにインタリーブ制御の最大ウェイ数 Wmaxを乗じた(N X Wmax)領域に分割して 利用可能情報を記録した全ウェイ数に共通な実アドレス領域利用表を作成し、メモリ 素子の異常を検出した際に実アドレス領域利用表の異常個所を含む領域に利用禁 止情報を記録する実アドレス領域管理部と、
インタリーブ制御部のウェイ数 Wで決まるメモリ構成に対応して、実アドレス領域利 用表から論理アドレス空間における各領域に利用可能情報又は利用禁止情報を記 録した論理アドレス領域利用表を生成して CPUが利用する論理アドレス空間の領域 を決定する論理アドレス領域管理部と、
を備えたことを特徴とする。
本発明は情報処理装置を提供する。即ち、本発明は、
処理部と、
処理部に接続され、情報を記憶する記憶部と、
記憶装置へのアクセスを制御するメモリ制御部とを備えた情報処理装置に於いて、 メモリ制御部は、 CPUからの論理アドレスを実アドレスに変換して記憶部をアクセス する制御部と、
記憶部の実アドレス空間の領域ごとに記憶部の利用可否情報を記憶した第一のテ 一ブルに、異常が検出された前記記憶部の領域に関する利用禁止情報を記録する 実アドレス管理部と、
第一のテーブル内容に基づいて、論理アドレス空間における各領域の利用可否情 報を記録した論理アドレス領域利用表の内容を更新する論理アドレス領域管理部と を備えたことを特徴とする。
発明の効果
[0019] 本発明によれば、 CPU力 見たメモリモジュールの利用可能な領域の管理をメモリ 素子アドレスを基準として行う。メモリ素子アドレスは、メモリの構成変更に依存せず、 メモリ素子により決まる。メモリ異常箇所が同じであれば、その異常箇所を指すメモリ 素子アドレスは変わらない。このメモリ素子アドレスによる利用可能領域の情報として 実アドレス領域利用表を作成し、この実アドレス領域利用表をそのときのメモリ構成に 対応する CPU力 見えるアドレスでの利用可能な領域情報である論理アドレス領域 利用表に変換し、この論理アドレス領域利用表の情報を元にメモリ利用可能領域を 決定する。
[0020] このため、メモリ素子アドレスによる利用可能領域の情報として実アドレス領域利用 表を作成して保持しておくだけで良ぐインタ
リーブ制御のウェイ数に対応したメモリ構成ごとに異なる CPUアドレス力 見たメモリ 利用可能情報を保持する必要がなくなり、メモリ利用可能領域の管理が容易になる。
[0021] 更に、メモリの構成変更により、メモリ素子アドレスと CPU力 見えるアドレスの対応 が変更となった場合、変更前のメモリ異常個所に基づくメモリ縮退情報を引き継ぐこと ができ、新し 、CPUから見えるアドレスでのメモリ縮退情報を簡単に作成することが できる。
図面の簡単な説明
[0022] [図 1]本発明のメモリ制御装置を備えたコンピュータシステムのブロック図
[図 2]図 1のメモリコントローラのアドレス変 構の説明図
[図 3]1ウェイインタリーブのメモリ構成によるアドレス変 構の説明図
[図 4]図 3の 1ウェイインターリーブのアドレス変換に対応したアドレスマップの説明図 [図 5] 1ウェイインタリーブによるメモリモジュールのアクセスの説明図
[図 6]2ウェイインタリーブのメモリ構成によるアドレス変 構の説明図
[図 7]図 6の 2ウェイインタリーブのアドレス変換に対応したアドレスマップの説明図 [図 8]2ウェイインタリーブによるメモリモジュールのアクセスの説明図
[図 9]CPUアドレス空間を 8領域とした場合のインタリーブ制御のウェイ数に対する実 アドレス空間の分割領域数、 CPUアドレスと実アドレスとの対応関係の説明図
[図 10]1ウェイと 2ウェイでメモリ再構成可能な場合に作成されるメモリ素子アドレスの
実アドレス領域利用表と、そこ力 作成される 1ウェイメモリ構成時の CPUの論理アド レス領域利用表の説明図
[図 11]1ウェイと 2ウェイでメモリ再構成可能な場合に作成されるメモリ素子アドレスの 実アドレス領域利用表と、そこ力 作成される 2ウェイメモリ構成時の CPUの論理アド レス領域利用表の説明図
[図 12]本発明におけるメモリ素子アドレスの実アドレス領域利用表作成処理のフロー チャート
[図 13]図 12の処理により作成した実アドレス領域利用表力もウェイ数に応じたメモリ 構成の論理アドレス領域利用表を作成して CPUの使用領域を決定するコンピュータ システムのフローチャート
[図 14]図 13のステップ S6による 1ウェイメモリ構成時の論理アドレス領域利用表を作 成する処理のフローチャート
[図 15]図 14に続く 2ウェイメモリ構成時の論理アドレス領域利用表を作成する処理の フローチャート
圆 16]4ウェイインタリーブのメモリ構成によるアドレス変棚構の説明図
[図 17]図 16の 4ウェイインタリーブのアドレス変換に対応したアドレスマップの説明図
[図 18]図 17に続くアドレスマップの説明図
[図 19]4ウェイインタリーブによるメモリモジュールのアクセスの説明図
[図 20] 1ウェイ、 2ウェイ又は 4ウェイでメモリ再構成可能な場合に作成されるメモリ素 子アドレスの実アドレス領域利用表と、そこから 1ウェイメモリ構成時の CPUの論理ァ ドレス領域利用表を作成する処理の説明図
[図 21] 1ウェイ、 2ウェイ又は 4ウェイでメモリ再構成可能な場合に作成されるメモリ素 子アドレスの実アドレス領域利用表と、そこから 2ウェイメモリ構成時の CPUの論理ァ ドレス領域利用表を作成する処理の説明図
[図 22] 1ウェイ、 2ウェイ又は 4ウェイでメモリ再構成可能な場合に作成されるメモリ素 子アドレスの実アドレス領域利用表と、そこ力 4ウェイメモリ構成時の CPUの論理ァ ドレス領域利用表を作成する処理の説明図
圆 23]図 22の実アドレス領域利用表力も作成した論理アドレス領域利用表の説明図
[図 24]1ウェイ、 2ウェイ又は 4ウェイに対応した実アドレス領域利用表から 1ウェイメモ リ構成時の論理アドレス領域利用表を作成する処理のフローチャート
[図 25] 1ウェイ、 2ウェイ又は 4ウェイに対応した実アドレス領域利用表から 2ウェイメモ リ構成時の論理アドレス領域利用表を作成する処理のフローチャート
[図 26] 1ウェイ、 2ウェイ又は 4ウェイに対応した実アドレス領域利用表カゝら 4ウェイメモ リ構成時の論理アドレス領域利用表を作成する処理のフローチャート
発明を実施するための最良の形態
[0023] 図 1は本発明のメモリ制御装置を備えたコンピュータシステムのブロック図である。
図 1において、本発明のメモリ制御装置を構成するメモリコントローラ 10に対しては、 CPU12— 1〜12— 4とメモリモジュール 14— 1〜14— 4が接続されている。メモリコ ントローラ 10にはインタリーブ制御部 16、実アドレス領域管理部 18及び論理アドレス 領域管理部 20が設けられ、更に実アドレス領域管理ファイル 22が接続されている。
[0024] メモリコントローラ 10のインタリーブ制御部 16は、異なるウェイ数 Wの指定によりメモ リ構成を再構成可能であり、ウェイ数 Wとしては例えば 2のべき乗となる 1ウェイ、 2ゥェ ィ、 4ウェイといったウェイ数のメモリ構成によるインタリーブ制御を行う。
[0025] ここでインタリーブ制御は複数のメモリモジュールに対し同一アドレスを指定し、モ ジュール選択アドレスによりモジュールを交互に切り替えながらアクセスする制御であ り、メモリモジュールを順番に選択してアクセスする場合に比べ、予めアドレス指定が 行われた状態でモジュールを切り替えることから、メモリモジュールの高速動作が可 能である。
[0026] そして 2ウェイのインタリーブとは 2つのメモリモジュール間に跨って同一アドレスを 指定してモジュールを切り替える制御であり、 4ウェイとは 4つのメモリモジュールに対 し同一アドレスを指定した状態でモジュールを順番に切り替えてアクセスする制御と なる。
[0027] また 1ウェイのインタリーブ制御とは、メモリモジュールを順番に選択しながらァクセ スするもので、複数のメモリモジュールに跨ったアドレス指定でないことから、これはィ ンタリーブなしのアクセスである力 説明を分力り易くするため、以下にあってはインタ リーブなしを 1ウェイのインタリーブ制御としている。
[0028] またインタリーブ制御部 16にあっては、メモリモジュール 14— 1〜14— 4側におけ るメモリ故障に対応するため、 CPU12— 1〜12— 4の CPUアドレスで見える論理ァ ドレス空間を複数領域、例えば N領域に分割し、メモリ異常を検出した際には異常個 所に対応した領域を利用禁止とする領域利用管理を行っている。
[0029] この CPU空間における利用管理領域は、従来は CPUのアドレス空間の分割領域 に分けて領域利用情報、即ち利用可能力利用禁止かを格納した論理アドレス領域 利用表を作成し、これに基づき CPUが利用する論理アドレス空間の領域を決定して いるが、本発明にあっては、このような CPUの論理アドレス空間を管理する論理アド レス領域利用表を固定的にメモリコントローラ 10が保持せず、メモリモジュール 14— 1〜1 4一 4側のメモリ素子アドレスに基づいて、 CPUの論理アドレス空間の論理アド レス領域利用表に変換可能な実アドレス領域利用表を作成して保持している。
[0030] 即ちメモリコントローラ 10に設けた実アドレス領域管理部 18は、メモリモジュール 14
- 1〜14— 4で構成される実アドレス空間を、 CPU側の論理アドレス空間の領域数 Wに、インタリーブ制御部 16で再構成可能な異なるウェイ数 Wのうちの最大ウェイ数 Wmaxを乗じた (N XWmax)の領域に分割し、この分割領域ごとに、初期状態にあ つては利用可能情報を記録した全ウェイ数のメモリ構成で共用できる実アドレス領域 利用表を作成している。
[0031] この実アドレス領域利用表には、メモリモジュール 14— 1〜14— 4の異常を検出し た際に、異常箇所を含む実アドレス領域利用表の領域に利用禁止情報を記録する。 実アドレス領域管理部 18で作成されたインタリーブ制御部 16でメモリ構成の再構成 可能な全ウェイ数に共通な実アドレス領域利用表は、実アドレス領域管理ファイル 22 に保存される。
[0032] メモリコントローラ 10の論理アドレス領域管理部 20は、コンピュータシステムの立上 げ時あるいはインタリーブ制御部 16におけるメモリ構成の再構成時に、実アドレス領 域管理ファイル 22に保持されている実アドレス領域利用表力も CPU側の論理アドレ ス空間を N領域に分割して利用可能情報または利用禁止情報を記録した論理アドレ ス領域利用表をその都度作成し、作成した論理アドレス領域利用表に基づいて、立 上げ時またはメモリ再構成時に CPU12— 1〜 12—4が利用する論理アドレス空間の
領域を決定するようにして 、る。
[0033] このように本発明のメモリ制御にあっては、メモリモジュール 14— 1〜14 4の実ァ ドレスから見た CPU側の論理アドレス空間の領域を生成可能な実アドレス領域利用 表を作成して保持しておくことで、インタリーブ制御部 16でウェイ数に応じてメモリ構 成が決まれば、そのウェイ数により決まったメモリ構成に対応した変換処理により実ァ ドレス領域管理ファイル 22に保持されている実アドレス領域利用表から、そのときの ウェイ数のインタリーブ制御に対応した論理アドレス領域利用表をその都度作成して 、 CPUが利用する論理アドレス空間の領域を決定することができる。
[0034] この結果、メモリコントローラ 10においてメモリ構成を変更した場合にも、変更前の 領域利用情報を変更後に引き継いで、 CPUのアドレス空間における領域の利用可 能情報または利用禁止情報を簡単に生成して、メモリモジュール 14— 1〜14— 4の 任意の位置における異常箇所を CPU側の領域に組み込まな 、ようにすることができ る。
[0035] このような本発明のメモリ制御につき、インタリーブ制御部 16でウェイ数 1または 2の 指定によりメモリ再構成が可能な場合を例にとって具体的に説明する。
[0036] 図 2は図 1のメモリコントローラ 10のウェイ数の設定によりインタリーブ制御のメモリ構 成を再構成可能なアドレス変換機構の説明図である。
[0037] 図 2において、メモリモジュール 14 1〜14 4はそれぞれ 256バイトであり、合計 サイズは 1024バイトを例にとっている。このようなメモリモジュール 14— 1〜14 4で 構成される 1024バイトのメモリ空間につき、 CPU12— 1〜12— 4側にあっては、例 えば N = 8領域に分割して利用可能情報を管理しており、 CPU側の 1領域のサイズ は 128バイトとなる。
[0038] メモリモジュール 14— 1〜14— 4で構成される 1024バイトのメモリ空間は、 CPU12 — 1〜12— 4からの 10ビットの CPUアドレス C9〜COでアクセスすることができる。こ のためメモリコントローラ 10には、 10ビットの CPUアドレス C9〜COを保持する入力ァ ドレスレジスタ 26が設けられている。
[0039] 一方、メモリモジュール 14— 1〜14 4の実アドレスは、メモリモジュール 14— 1〜 14 4のそれぞれをアクセスする 8ビットのメモリ素子アドレス A7〜A0と、メモリモジ
ユール 14— 1〜14 4を選択するための 2ビットの素子選択アドレス Bl, BOで構成 される。
[0040] このためメモリモジュール 14— 1〜14— 4側には、メモリ素子アドレス A7〜 AOを格 納する出力アドレスレジスタ 28と、素子選択アドレス Bl, BOを保持するモジュール選 択レジスタ 30が設けられ、モジュール選択レジスタ 30のアドレスはメモリモジュール 選択器 32【こ人力され、 Bl, B0 = 00, 01, 10, 1 Uこより、メモリモジユーノレ 14 1〜 14—4を順次選択できるようにして 、る。
[0041] 入力アドレスレジスタ 26と出力アドレスレジスタ 28の間にはセレクタ 34, 36が設け られている。セレクタ 34は、入力アドレスレジスタ 26の上位 2ビット C9, C8と出力アド レスレジスタ 28の下位 2ビット Al, AOの切替接続を行う。またセレクタ 36は、入力ァ ドレスレジスタ 26の上位 2ビット C9, C8と下位 2ビット CI, COのモジュール選択レジ スタ 30の素子選択ビット Bl, B0に対する切替接続を行う。
[0042] ここでメモリコントローラ 10のインタリーブ制御におけるウェイ数は、 1ウェイ、 2ウェイ 、 4ウェイの 3つによるメモリ構成の切替を例にとっており、セレクタ 34, 36による切替 接続で 1ウェイ、 2ウェイまたは 4ウェイによるアドレス変 構を実現するための接続 を確立できるようにして!/、る。
[0043] このため、入力アドレスレジスタ 26、出力アドレスレジスタ 28、メモリモジュール選択 器 32に設けたモジュール選択レジスタ 30、及びセレクタ 34, 36によって、インタリー ブ制御によるウェイメモリ構成 24を構築することができる。
[0044] 図 3は 1ウェイインタリーブのメモリ構成によるアドレス変 «構の説明図である。図 3において、メモリコントローラ 10は、図 2に示したセレクタ 34, 36による接続切替で、 図示の 1ウェイメモリ構成 24— 1の入力アドレスレジスタ 26に対する出力アドレスレジ スタ 28及びモジュール選択レジスタ 30の接続を確立し、これによつて CPU12— 1〜 12— 4からの 10ビットの CPUアドレス C9〜C0を入力アドレスレジスタ 26に保持した 状態で、出力アドレスレジスタ 28のメモリモジュール 14— 1〜14— 4の 8ビットのメモリ 素子アドレス A7〜A0とモジュール選択のための素子選択アドレス Bl, B0に変換し 、 1ウェイインタリーブに従ったメモリアクセスを実行する。
[0045] 1ウェイメモリ構成 24—1はインタリーブなしの場合であり、この場合には CPUァドレ
スの上位 2ビット C9, C8を素子選択アドレス Bl, BOに変換し、 CPUアドレスの下位 8 ビット C7〜C0をメモリ素子アドレス A7〜A0に変換してアクセスする。
[0046] 図 4は図 3の 1ウェイインタリーブのアドレス変換に対応した 1ウェイアドレスビットマツ プ 38— 1の説明図である。図 4において、 1ウェイアドレスマップ 38— 1は、上欄にメ モリ選択とメモリアドレスに分けて、 CPUアドレス C9〜COと実アドレスとなる素子選択 アドレス Bl, BO及びメモリ素子アドレス A7〜A0を表示しており、 CPUアドレス C9〜 COをオール 0力 オール 1まで順次変化させたときのアドレスビットと、これに対応し たアドレス 10進表示を示している。
[0047] 図 5は 1ウェイインタリーブによるメモリモジュールのアクセス説明図であり、この場合 のアクセスは単純であり、 4つのメモリモジュール 14— 1〜 14— 3は点線で示すように 、 CPU側から見た場合に 8つの領域 42— 1〜42— 8に分けられている力 CPUアド レスをオール 0からオール 1まで順次変化させた場合、矢印 44— 1〜44— 8に示すよ うにメモリモジュール 14— 1〜14 3の順番、即ち CPU側から見た領域 42— 1〜42 - 8の順にアクセスすることができる。
[0048] ここで図 3のメモリモジュール 14— 1のアドレス「11111111」、即ち 10進表示でアド レス 255番にデータの読み書きができな 、メモリ異常が発生して 、たとすると、図 4の 1ウェイアドレスマップ 38— 1においては異常箇所 40となり、これは CPUアドレス C9 〜C0力ら見ると「00111111111」となり、 10進表示とした場合にち同じく 255番アド レスとなる。
[0049] 図 6は 2ウェイインタリーブのメモリ構成によるアドレス変 «構の説明図である。図 6のメモリコントローラ 10にあっては、インタリーブ制御のウェイ数 Wを 2ウェイに指定 することで、 2ウェイメモリ構成 24— 2に示す入力アドレスレジスタ 26に対する出力ァ ドレスレジスタ 28とメモリモジュール選択器 32に設けたモジュール選択レジスタ 30間 の接続が確立される。
[0050] 図 7は図 6の 2ウェイインタリーブのアドレス変換に対応した 2ウェイアドレスマップ 38
2の説明図である。この 2ウェイのインタリーブ制御にあっては、図 8のメモリモジュ ール 14— 1〜14— 4に示すように、 2つのメモリモジュール 14— 1〜14— 2の CPU 側の分割数で決まる 128バイト単位の領域につき、先頭アドレスで矢印 60— 1に示
すように、メモリモジュール 14— 1とメモリモジュール 14 2の同一アドレスを指定した 状態で、素子選択アドレスによりメモリモジュール 14— 1, 14— 2を順番に切り替えて 2アドレス分のアクセスを行う。
[0051] これをメモリモジュール 14—1, 14 2の前半の領域について行った後、次に後半 の領域についてこれを繰り返す。続いて、次のメモリモジュール 14— 3, 14— 4につ き、矢印 60— 3, 60— 4に示すように、 128バイトに分けた前半の領域の同一アドレス の指定による順次読出しと後半の領域の同一アドレスの指定による順次読出しを繰り 返す。
[0052] このような 2ウェイインタリーブによる図 7の 2ウェイアドレスマップ 38— 2にあっては、 CPUアドレス C9〜C0のオール 0からオール 1への変化に対し、メモリモジュール 14 —1, 14— 2を対象とした偶数アドレス領域 58— 1と奇数アドレス領域 58— 2、及びメ モリモジュール 14— 3, 14— 4を対象とした偶数アドレス領域 58— 3と奇数アドレス領 域 58— 4に分けられる。
[0053] そして前半の偶数アドレス領域 58— 1と奇数アドレス領域 58— 2にあっては、メモリ 選択アドレスに示すように、素子選択アドレス Bl, B0が「00」「01」と交互に変化する ことで、同一アドレスを 2つのメモリモジュール 14— 1, 14— 2に指定した状態でモジ ユール選択を行う 2ウェイのインタリーブ制御を行って 、る。この点は後半の偶数アド レス領域 58— 3,奇数アドレス領域 58— 4に対応したメモリモジュール 14— 3, 14— 4についても同様である。
[0054] このような 2ウェイアドレスマップ 38— 2にあっては、マップ上における図 4に示した 1 ウェイアドレスマップ 38— 1における異常箇所 40は同じアドレス位置として保存するこ とがでさる。
[0055] 図 9は本発明のメモリ制御における CPUアドレス空間の分割領域数 N、インタリー ブのウェイ数 W、 CPUアドレス空間の分割領域数 Nに最大ウェイ数 Wmaxを掛けた 値として与えられる実アドレス空間の分割領域数 M、更に、これに対応した CPU及び 実メモリアドレスの対応関係の説明図である。即ち図 9の対応表は、 N = 8、 W= l, 2 , 4、Μ = 8, 16, 32とした場合につき、それぞれのメモリ構成におけるアドレス変換 機構の変換関係を表わして 、る。
[0056] 図 10は、図 1のメモリコントローラ 10のインタリーブ制御部 16で 1ウェイと 2ウェイでメ モリ再構成可能な場合の実アドレス領域管理部 18により生成される実アドレス利用 表と、論理アドレス領域管理部 20により実アドレス利用表力 作成される 1ウェイのメ モリ構成で使用する論理アドレス領域利用表の説明図である。
[0057] 図 10 (A)は、図 10 (B)に示す実アドレス領域利用表 48から図 10 (C)に示す 1ゥェ ィ論理アドレス領域利用表 50—1を作成するために使用する 1ウェイサーチレジスタ 46— 1である。
[0058] まず図 10 (B)の実アドレス領域利用表 48は、項目欄 54に示すように、メモリモジュ ール 14— 1〜14— 4の実アドレスを構成する素子選択アドレスとメモリ素子アドレスを 使用した図 9の対応表から決まる 16領域に分けて利用フラグを格納して 、る。
[0059] この実アドレス領域利用表 48に格納する実アドレスは、実アドレス領域利用表 48の 上部に説明的に付加した項目 52のように、図 3の 1ウェイメモリ構成 24— 1に示すァ ドレス変^ ¾構により、 CPUアドレスの C9, C8, C7, COの 4ビットが対応している。
[0060] ここで実アドレス領域利用表 48の利用フラグは、利用可能情報として「〇」を記載し 、利用禁止情報として図 4に示した異常箇所 40のアドレスを含む領域に「 X」を記録 している。
[0061] このような実アドレス領域利用表 48から 1ウェイのインタリーブ制御のメモリ構成に必 要な図 10 (C)の 1ウェイ論理アドレス領域利用表 50 - 1を作成する際には、図 10 ( A )の 1ウェイサーチレジスタ 46— 1を使用して実アドレス領域利用表 48の利用フラグを 調べる。
[0062] 1ウェイサーチレジスタ 46— 1は、 X、 Y、 Ζ、更に「OZl」領域と利用フラグの格納領 域で構成されており、実アドレス領域利用表 48を調べる際には
Χ=Β1
Υ=ΒΟ
Ζ=Α7
ΑΟ = 0/1
を格納し、上位 3ビットが同一で 4ビット目力O又は 1と変化する 4ビットアドレスの 2領 域を調べる。
[0063] このような 1ウェイサーチレジスタ 46— 1による実アドレス領域利用表 48の調査は、 表の右側に矢印で示すように、領域ぺァ56— 1〜56— 8の各2っの領域にっき、利 用フラグが利用可能「〇」か利用禁止「X」かを調べ、 2つの領域につき両方とも利用 可能「〇」であれば、これに対応した図 10 (C)の領域の利用フラグを利用可能「〇」と し、 V、ずれか一方が利用禁止「 X」であれば図 10 (C)の論理アドレス領域利用表 50 - 1の利用フラグは利用禁止「 X」とする。
[0064] このような実アドレス領域利用表 48から作成された 1ウェイ論理アドレス領域利用表 50— 1を見ると、 CPU領域の 2番目の領域 # 1が利用禁止「 X」となっている。
[0065] 図 11は図 10 (B)と同じ実アドレス領域利用表 48を使用して、 2ウェイのインタリーブ 制御によるメモリ構成時に 2ウェイ論理アドレス領域利用表を作成する処理の説明図 である。
[0066] 図 11 (A)は、図 11 (B)の実アドレス領域利用表 48から図 11 (C)の 2ウェイ論理ァ ドレス領域利用表 50— 2を作成するための調査を行う 2ウェイサーチレジスタ 46— 2 である。 2ウェイサーチレジスタ 46— 2には上位側から
X=B1
ΒΟ = 0/1
Z=A7
Y=AO
を格納して、それぞれの 4ビット領域で決まる領域の利用フラグを調べる。
[0067] この 2ウェイサーチレジスタ 46— 2を使用した実アドレス領域利用表 48の調査は、 右側の矢印で示す領域ペア 62— 1〜62— 8にっき、 2つの領域の利用フラグが両方 とも利用許可「〇」であれば図 11 (C)の 2ウェイ論理アドレス領域利用表 50— 2の対 応する領域の利用フラグを利用可能「〇」とし、 V、ずれか一方が利用禁止「 X」であれ ば 2ウェイ論理アドレス領域利用表 50— 2の対応する領域の利用フラグを利用禁止「 X」に記録する。
[0068] この結果、 2ウェイのインタリーブ制御によるメモリ構成における 2ウェイ論理アドレス 領域利用表 50— 2のメモリ異常箇所を含む CPU領域は、 4番目の CPU領域 # 3で あることが分力ゝる。
[0069] 図 12は本発明におけるメモリ素子アドレス力も見た実アドレス領域利用表を作成す る処理のフローチャートである。図 12において、実アドレス領域利用表の作成処理は 、ステップ S1で論理アドレス空間の分割領域数 N、例えば N = 8を読み込み、ステツ プ S2でメモリ構成可能なウェイ数 W、例えば W= l, 2, 4を読み込み、ステップ S3で 論理アドレス空間の領域数 Nに最大ウェイ数 Wmaxを掛け合わせて実アドレス空間 の分割数 Mを算出する。例えば 1ウェイと 2ウェイで切替可能な場合には、 M = 8 X 2 = 16として 16領域の分割数を求める。
[0070] 続いてステップ S4で、例えば図 10 (B)に示したような 1ウェイと 2ウェイの再構成が 可能な場合には、素子選択アドレス Bl, BO及びメモリ素子アドレスの最上位ビット A 7と最下位ビット AOの 4ビットを使用して 16分割した領域を持つ実アドレス領域利用 表を作成し、その利用フラグ即ち利用情報としては、初期作成時にあっては利用可 能「〇」を記録する。
[0071] 図 13は図 12の処理により作成した実アドレス領域利用表力もインタリーブ制御のゥ エイ数に応じたメモリ構成の論理アドレス表を作成して CPUの使用領域を決定するコ ンピュータシステムのフローチャートである。
[0072] 図 13において、コンピュータシステムは、ステップ S1で電源起動に伴い初期化と診 断を実行し、ステップ S2でもしメモリ異常が検出されると、ステップ S3で異常メモリモ ジュールの素子選択アドレスとメモリ素子アドレスを取得し、ステップ S4で、既に作成 した実アドレス領域利用表の異常箇所に対応した分割領域に使用禁止情報を書き 込む。もちろんステップ S2でメモリ異常がなければ、ステップ S3, 4の処理はスキップ する。
[0073] 続いてステップ S5でメモリ構成のウェイ数を取得し、ステップ S6で実アドレス領域利 用表からウェイ数で決まるメモリ構成の論理アドレス領域利用表を作成し、 CPUの利 用領域を決定する。
[0074] 続いてステップ S7でコンピュータのブート処理に伴って OSのインストールを行い、 ステップ S8でアプリケーションによる運用処理に入る。この運用処理中にステップ S9 でメモリ構成の変更があると、ステップ S5に戻り、このメモリ構成の変更に伴う変更後 のウェイ数を取得し、ステップ S6で実アドレス領域利用表力もメモリ構成変更後のゥ
エイ数で決まるメモリ構成の論理アドレス領域利用表を作成して CPUの利用領域を 決定し、再起動などによりステップ S7からの OSのインストールを経て、ステップ S8の アプリケーションによる運用処理に入る。
[0075] 図 14は図 13のステップ S6による 1ウェイメモリ構成時の論理アドレス領域利用表を 作成する処理のフローチャートである。図 14において、ステップ S1でインタリーブに よるメモリ構成が 1ウェイであることを判別すると、ステップ S2に進み、図 10 (A)の 1ゥ エイサーチレジスタ 46— 1に実アドレス領域利用表 48の実アドレス側の 4ビットを配置 した後、ステップ S3でアドレス XYをオール 0にセットし、ステップ S4でアドレス XYZに つき実アドレス領域利用表 48における AO = 0の領域と AO = 1の領域の利用フラグを 調査する。
[0076] ステップ S5で 2つの領域の両方が利用許可「〇」であればステップ S6をスキップし 、少なくとも!/、ずれか一方が利用禁止「 X」であった場合にはステップ S6で図 10 (C) の 1ウェイ論理アドレス領域利用表 50— 1に、そのときのアドレス XYZに対応した領 域に使用禁止「 X Jを書き込む。
[0077] 続いてステップ S7でアドレス XYZが最終アドレスか否かチェックし、最終アドレスで なければ、ステップ S8でアドレス XYZを 1つインクリメントし、ステップ S4からの処理を 繰り返す。
[0078] 図 15は図 14に続く 2ウェイメモリ構成時の論理アドレス領域利用表を作成する処理 のフローチャートである。図 15にあっては、ステップ S9でメモリ構成が 2ウェイであるこ とを判別すると、ステップ S 10に進み、図 11 (A)に示した 2ウェイサーチレジスタ 46— 2に図 11 (B)の実アドレス領域利用表 48のアドレスをセットする。
[0079] 続!、てステップ SI 1でアドレス XYZをオール 0の初期値にセットした後、ステップ S1 2でアドレス XYにっき B0 = 0と B0= 1の 2つの領域の利用フラグを調査する。続いて ステップ S13で 2つの領域の利用フラグの両方が利用許可「〇」の場合は、ステップ S 14はスキップする。
[0080] 少なくともいずれか一方が利用禁止「X」であった場合にはステップ S14に進み、図 11 (C)に示した 2ウェイ論理アドレス領域利用表 50— 2のアドレス XYZに対応した領 域に利用禁止「 X」を書き込む。続 、てステップ S 15でアドレス XYZが最終アドレスか
否かチェックし、そうでなければステップ S16に戻ってアドレス XYZを 1つインクリメント して、ステップ S 12からの処理を繰り返す。
[0081] 次に図 1のメモリコントローラ 10に設けたインタリーブ制御部 16において、インタリー ブ制御によるメモリ構成として、 1ウェイ、 2ウェイ及び 4ウェイのメモリ再構成が可能な 場合の実アドレス領域利用表の作成と、そこから生成する論理アドレス領域利用表の 作成を説明する。
[0082] 図 16は 4ウェイインタリーブのメモリ構成によるアドレス変 «構の説明図であり、メ モリコントローラ 10における入力アドレスレジスタ 26に対し、出力アドレスレジスタ 28 及びモジュール選択レジスタ 30は図示のように接続され、これによつて 4ウェイメモリ 構成 24— 3を確立する。
[0083] 図 17及び図 18は、図 16の 4ウェイインタリーブのアドレス変換に対応した 4ウェイア ドレスマップ 38— 3の説明図である。
[0084] 図 19は 4ウェイインタリーブによるメモリモジュールのアクセスの説明図である。図 1 9において、 4ウェイのインタリーブ制御にあっては、 256バイトサイズを持つメモリモ ジュール 14— 1〜14— 4を CPU側の分割数 8に応じた 128バイト領域に分け、矢印 66— 1〜66— 3に示すように、メモリモジュール 14— 1〜14— 4の前半について、同 一アドレスを指定した状態で素子選択アドレスによりメモリモジュール 14— 1, 14- 2 , 14- 3, 1—4を順番に選択して、 4ウェイインタリーブのアクセスを行う。
[0085] これをメモリモジュール 14 1〜14 4の前半の領域につき繰り返した後、後半の 領域【こつ ヽて矢 1, 68- 2, 68— 3【こ示すよう【こ、 4つのメモリモジユーノレ 14 1〜14 4にっき同一アドレスを指定した状態で素子選択アドレスにより順次切り 替えて、 4インタリーブによるアクセスを繰り返す。
[0086] このような 4ウェイのインタリーブ制御による図 17及び図 18の 4ウェイアドレスマップ 38— 3にあっては、まず第 1アドレス領域 64—1に示すように、各メモリモジュール 14 1〜14 4にっき、アドレス 10進表示に示すようにアドレス番号 0, 4, 8, · · ·と 4ァ ドレスずつ飛びながら 4ウェイインタリーブによるアクセスを行 、、続!ヽて第 2アドレス 領域 64— 2のように、 10進表示でアドレス番号 1, 5, 7, · · ·というように 4アドレス置き となるインタリーブを行い、更に第 3アドレス領域 64— 3でアドレス番号 2, 6, 12, · · ·
t 、うように 4ウェイインタリーブのアクセスを行 、、更に図 18の第 4アドレス領域 64— 4に示すようにアドレス番号 3, 7, 11, · · ·とする 4ウェイインタリーブによるアクセスを 行うことになる。
[0087] 図 20は、 1ウェイ、 2ウェイ、 4ウェイでメモリ再構成可能な場合に作成される実ァドレ ス領域利用表と、そこから 1ウェイメモリ構成時の CPUアドレスの論理アドレス領域利 用表を作成する処理の説明図である。
[0088] 図 20 (A)は、図 20 (B)の実アドレス領域利用表 72から 1ウェイ論理アドレス表を作 成するために使用する 1ウェイサーチレジスタ 70— 1の説明図である。
[0089] まず図 20 (B)の 1ウェイ、 2ウェイ及び 4ウェイに対応した実アドレス領域利用表 72 は、図 10 (B)に示した 1ウェイと 2ウェイに対応した実アドレス領域利用表 48に、更に メモリアドレスビット A1をカ卩えた 4ビットとすることで、実アドレス領域を 32領域に分割 している。
[0090] 図 20 (A)の 1ウェイサーチレジスタ 70— 1は、図 10 (A)の 1ウェイサーチレジスタ 46
1にメモリアドレスのアドレスビット A1 = 0/1をカ卩えており、この 1ウェイサーチレジ スタ 70— 1を使用して実アドレス領域利用表 72を調査することで、図 10 (C)に示した と同じ 1ウェイ論理アドレス領域利用表 50 - 1を作成することができる。
[0091] 1ウェイサーチレジスタ 70—1による実アドレス領域利用表 72の調査は、 4つの領域 を 1グループとしたグループ 78— 1〜78— 8のそれぞれにっき、 4領域の利用フラグ が全て利用可能「〇」であれば、図 10 (C)の 1ウェイ論理アドレス領域利用表 50— 1 の対応する利用フラグに利用可能「〇」を記録する。
[0092] 1グループを構成する領域の少なくともずれか 1つが利用禁止「X」であれば、図 10
(C)の 1ウェイ論理アドレス領域利用表 50— 1の利用フラグに利用禁止「 X」を書き込 む。
[0093] 図 21は、図 20 (B)と同じ実アドレス領域利用表 72を使用して、図 21の(A)の 2ゥェ ィサーチレジスタ 70— 2により調査して、図 11 (C)と同じ 2ウェイ論理アドレス領域利 用表 50— 2を作成する処理である。
[0094] この場合には、 2ウェイサーチレジスタ 70— 2により実アドレス領域利用表 72の右側 に矢印で示す 4つの領域のグループ 80— 1〜80— 8のそれぞれの利用フラグを調
ベ、 4つの領域の利用フラグが全て利用可能「〇」であれば 2ウェイ論理アドレス領域 利用表 50— 2に利用可能「〇」を記録し、 4つの領域の少なくともいずれか 1つが利 用不可「 X」であれば 2ウェイ論理アドレス領域利用表 50— 2に利用禁止「 X」を記録 する。
[0095] 図 22は、図 20 (B)と同じ実アドレス領域利用表 72を使用して 4ウェイのメモリ構成 に対応した論理アドレス領域利用表を作成する処理の説明図である。図 22 (A)は実 アドレス領域利用表 72の調査に使用する 4ウェイサーチレジスタ 70— 3であり、 X=A1
Y=A0
Z=A7
B0 = 0/1
Bl = 0/1
をセットする。
[0096] 即ち、アドレス XYZを 000〜111で変化させながら各位置ごとに Bl, BOを 00, 01 , 10, 11の 4段階に変化させて、実アドレス領域利用表 72を調査する。
[0097] この 4ウェイサーチレジスタ 70— 3を用いた実アドレス領域利用表 72の調査により、 その右側に矢印で示す 4領域のグループ 82— 1〜82— 8にっき、 4領域の利用フラ グが全て利用可能「〇」であれば、図 23の 4ウェイ論理アドレス領域利用表 50— 3の 対応する利用フラグに利用可能「〇」を記録する。一方、 4領域の少なくともいずれか 1つの利用フラグが利用禁止「 X」であれば、図 23の 4ウェイ論理アドレス領域利用表 50 - 3の利用フラグに利用禁止「 X」を格納する。
[0098] このような実アドレス領域利用表 48から作成された図 23の 4ウェイ論理アドレス領域 利用表 50— 3を見ると、 CPU領域の 8番目の領域 # 7が利用禁止「 X」となっている
[0099] このように、 1ウェイ、 2ウェイ、 4ウェイにっ 、てメモリ構成が再構成可能な場合につ いても、メモリ素子アドレスから見た 1つの実アドレス領域利用表 72を作成して保存し ておくことで、その後はメモリ構成が確定するごとに、そのメモリ構成を確定するインタ リーブ制御のウェイ数に応じた実アドレス領域利用表の調査即ち変換操作により、そ
れぞれのウェイ数に対応した論理アドレス領域利用表を作成して、 CPU側の使用可 能領域を決定することができる。
[0100] 図 24は図 20に示した実アドレス領域利用表から 1ウェイメモリ構成時の論理アドレ ス領域利用表を作成する処理であり、ステップ S1で 1ウェイを判別すると、ステップ S 2で実アドレス領域利用表 72のアドレスを 1ウェイサーチレジスタ 70— 1にセットし、ス テツプ S3でアドレス XYZを初期値にセットした後、ステップ S4でアドレス XYZにっき Al, AO = 00, 01, 10, 11の 4領域につき禾 IJ用フラグを調査する。
[0101] 続!、てステップ S5で 4領域の全てが利用許可であればステップ S6はスキップし、少 なくともいずれか 1つが利用禁止であればステップ S6で 1ウェイ論理アドレス領域利 用表のアドレス XYZに使用禁止を書き込む。このような処理をステップ S7でアドレス XYの最終アドレスを判別するまで、ステップ S8でアドレス XYをインクリメントしながら 繰り返す。
[0102] 図 25は、図 21において実アドレス領域利用表 72から 2ウェイメモリ構成時の論理ァ ドレス領域利用表を作成する処理のフローチャートである。図 25において、ステップ S9で 2ウェイのメモリ構成を判別すると、ステップ S10で実アドレス領域利用表 72の アドレスを 2ウェイサーチレジスタ 70— 2にセットし、ステップ S 11でアドレス XYZを初 期アドレスにセットした後、ステップ S12でアドレス XYZにっき Al, BO = 00, 01, 10 , 11の 4領域の利用フラグを調査する。
[0103] 続!、てステップ S 13で 4領域の全てが利用許可「〇」であればステップ S14はスキッ プし、少なくともいずれ力 1つが利用不可「 X」であればステップ S14で 2ウェイ論理ァ ドレス領域利用表のアドレス XYZの領域に利用禁止「 X」を書き込む。このステップ S 12からの処理を、ステップ S 15で最終アドレスを判別するまで、ステップ S 16でァドレ スをインクリメントしながら繰り返す。
[0104] 図 26は、図 22及び図 23における実アドレス領域利用表 72から 4ウェイ構成時の論 理アドレス領域利用表 50— 3を作成する処理のフローチャートである。図 26におい て、ステップ S 17で 4ウェイのメモリ構成を判別すると、ステップ S 18で実アドレス領域 利用表 72のアドレスを 4ウェイサーチレジスタ 70— 3にセットし、ステップ S19でァドレ ス XYZを初期値にセットした後、ステップ S20でアドレス XYZにっき Bl, BO = 00, 0
1, 10, 11の 4領域の利用フラグを調査する。
[0105] 続いてステップ S21で、 4領域の全てが利用許可「〇」であればステップ S22はスキ ップし、少なくともいずれ力 1つが利用禁止「X」であればステップ S22に進み、図 23 の 4ウェイ論理アドレス領域利用表 50— 3の利用フラグに利用禁止「 X」を書き込む。 このステップ S20からの処理を、ステップ S23で最終アドレスを判別するまで、ステツ プ S24でアドレスをインクリメントしながら繰り返す。
[0106] また本発明は、コンピュータシステムのメモリコントローラ、即ちメモリ制御装置で実 行されるプログラムを提供するものであり、このプログラムは図 12、図 13、図 14、図 1 5、図 24、図 25、図 26のフローチャートに示した内容を持つことになる。
[0107] また上記の実施形態は、 CPUの論理アドレス空間の分割数 Nを N = 8、インタリー ブ制御のウェイ数を 1ウェイ、 2ウェイ、 4ウェイとした場合を例にとるものである力 CP U空間の分割数 N及びインタリーブ制御のウェイ数 Wは必要に応じて任意に定める ことができ、望ましくはそれぞれ 2のべき数として定めることが望まし 、。
[0108] また上記の実施形態は、説明を簡単にするため、メモリモジュール 1つ当たりのサイ ズを 256バイトとした場合を例に取るものであった力 このメモリモジュールのメモリサ ィズについても必要に応じて適宜の値をとることができる。
[0109] また上記の実施形態にあっては、コンピュータシステムの起動時とメモリ再構成時に おける実アドレス領域利用表からの論理アドレス領域利用表の作成処理を例に取る ものであつたが、この実アドレス領域利用表からの作成処理は、これ以外に、電源ダ ゥンに伴う再起動時、システム切替えによる再構成時など、適宜のメモリ構成のタイミ ング、更にはメモリモジュールにっき新たな異常箇所を検出した際に行うようにしても よい。
[0110] 特にメモリモジュールの故障検出については、保存している実アドレス領域利用表 の対応する領域の許可フラグを利用禁止に書き替える処理を異常検出が行われるご とに実行することが望ましい。これによつて、メモリ異常による縮退状況をリアルタイム に反映した CPU側におけるメモリ領域の利用に反映した制御を行うことができる。
[0111] また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の 実施形態に示した数値による限定は受けない。