JPH11338768A - Method and device for memory control and recording medium for the device - Google Patents

Method and device for memory control and recording medium for the device

Info

Publication number
JPH11338768A
JPH11338768A JP10141475A JP14147598A JPH11338768A JP H11338768 A JPH11338768 A JP H11338768A JP 10141475 A JP10141475 A JP 10141475A JP 14147598 A JP14147598 A JP 14147598A JP H11338768 A JPH11338768 A JP H11338768A
Authority
JP
Japan
Prior art keywords
memory
memory module
address
processor
module
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
Application number
JP10141475A
Other languages
Japanese (ja)
Inventor
Noboru Tanigawa
昇 谷川
Yasuyuki Nasu
康之 那須
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP10141475A priority Critical patent/JPH11338768A/en
Publication of JPH11338768A publication Critical patent/JPH11338768A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To equally interleave respective memory modules by selecting memory interfaces equally by the layers of an interleave hierarchy and equally selecting two memory modules connected to the memory interface of the bottom layer. SOLUTION: A main memory 3 has memory modules 41-48 and is connected to a system controller 2 through memory interfaces 7 respectively. Two other memory interfaces 7 to be interleaved are connected under memory interface control to form the interleave hierachy as a path through which a processor 1 accesses the memory modules 4. The memory interfaces 7 are selected equally, layer by layer, from the top layer to the bottom layer and the two memory modules 4 connected to the memory interface 7 of the bottom layer are equally selected to determine a memory module 4 to be accessed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はプロセッサから記憶
装置にインタリーブでアクセスするためのメモリ制御方
法、そのメモリ制御方法を実行するメモリ制御装置、及
びメモリ制御方法をコンピュータシステムに実行させる
ためのプログラムが記録された記録媒体に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control method for interleaving access to a storage device from a processor, a memory control device for executing the memory control method, and a program for causing a computer system to execute the memory control method. It relates to a recorded recording medium.

【0002】[0002]

【従来の技術】近年のコンピュータシステムではメモリ
アクセス速度を高速なプロセッサの処理速度に近づける
ためにインタリーブと呼ばれる制御が行われる。インタ
リーブは、記憶領域をバンクと呼ばれる複数の領域に分
割し、それぞれのバンクを独立に並列動作できるように
して、同時または交互にデータの読み出し/書き込みを
行い、メモリアクセス時におけるシステムの処理速度低
下を抑制する方法である。
2. Description of the Related Art In recent computer systems, control called interleaving is performed in order to make the memory access speed close to the processing speed of a high-speed processor. Interleaving divides a storage area into a plurality of areas called banks, allows each bank to operate independently in parallel, and reads / writes data simultaneously or alternately, thereby lowering the processing speed of the system at the time of memory access. It is a method of suppressing.

【0003】ところで、近年のコンピュータシステムは
ダウンサイジングとオープン化が進み、従来用いられて
きたメインフレームの機能とは異なる機能が要望されて
いる。そのような機能の一つに記憶容量やインターナル
バンク数の異なるメモリ素子を混在して搭載可能にする
ことがある。なお、インターナルバンクとはDRAMや
SRAM等のメモリ素子自体が有するバンクのことであ
る。
[0003] By the way, in recent years, computer systems have been downsized and opened up, and functions different from those of mainframes conventionally used have been demanded. One of such functions is to make it possible to mix and mount memory elements having different storage capacities and different numbers of internal banks. The internal bank is a bank included in a memory element itself such as a DRAM or an SRAM.

【0004】[0004]

【発明が解決しようとする課題】記憶容量やインターナ
ルバンク数の異なるメモリ素子が混在する記憶装置に対
してインタリーブを行う場合、従来のメモリ制御方法で
は搭載されたメモリ素子の中で記憶容量やインターナル
バンク数が最も少ないメモリ素子に合わせてインタリー
ブを行っていたため、記憶容量が無駄になるという問題
があった。
When interleaving is performed on a storage device in which memory elements having different storage capacities and different numbers of internal banks coexist, the conventional memory control method uses the storage capacity and the memory capacity among the mounted memory elements. Since the interleaving is performed according to the memory element having the smallest number of internal banks, there is a problem that the storage capacity is wasted.

【0005】近年のメモリ素子の集積度向上の速度は凄
まじく、ユーザがメモリを増設しようとした時には、元
々搭載されていたメモリ素子の2倍あるいは4倍の記憶
容量を持つメモリ素子が主流になることがある。そのよ
うな場合に、元々搭載されていたメモリ素子を取り外し
て記憶容量の多いメモリ素子を新たに搭載すると、元々
搭載されていたメモリ素子が無駄になるためユーザにと
って大きな負担となってしまう。
In recent years, the speed of improvement in the degree of integration of memory elements has been tremendous. When a user attempts to add a memory, a memory element having twice or four times the storage capacity of the originally mounted memory element becomes mainstream. Sometimes. In such a case, if the memory element originally mounted is removed and a memory element having a large storage capacity is newly mounted, the memory element originally mounted becomes useless, and this places a heavy burden on the user.

【0006】そこで、このような問題を解決するため、
例えば、特開平6−309223号公報には、バンクを
一定サイズのブロックに分割し、各ブロック毎にメモリ
の実装状態をそれぞれコンフィグレーションレジスタで
保持しておく。そして、プロセッサからアクセスするア
ドレスが指定された際に、コンフィグレーションレジス
タを参照し、メモリの実装状態に応じてアドレスを変換
することで、1バンク分だけメモリが増設された場合で
もインターリーブを行えるようにした技術が記載されて
いる。
Therefore, in order to solve such a problem,
For example, in Japanese Patent Application Laid-Open No. Hei 6-309223, a bank is divided into blocks of a fixed size, and the mounting state of a memory is stored in a configuration register for each block. Then, when an address to be accessed by the processor is specified, the configuration register is referred to and the address is converted according to the mounting state of the memory, so that interleaving can be performed even when the memory is expanded by one bank. The technology is described.

【0007】しかしながら特開平6−309223号公
報に記載された技術では、DRAM単位の記憶容量とそ
のDRAMを複数個持つことによるバンク番号の情報と
しか保持していないため、インターナルバンクを有する
DRAMを搭載した場合にはインタリーブを行うことが
困難である。
However, in the technique described in Japanese Patent Application Laid-Open No. 6-309223, only the storage capacity of a DRAM unit and information of a bank number obtained by having a plurality of DRAMs are held, so that a DRAM having an internal bank is provided. It is difficult to carry out interleaving when the device is mounted.

【0008】本発明は上記したような従来の技術が有す
る問題点を解決するためになされたものであり、記憶容
量やインターナルバンク数が異なるメモリ素子が混在す
る場合でも、均等なインターリーブを行うことができる
メモリ制御方法及びメモリ制御装置を提供することを目
的とする。
The present invention has been made in order to solve the above-mentioned problems of the prior art, and performs even interleaving even when memory elements having different storage capacities and different numbers of internal banks coexist. It is an object of the present invention to provide a memory control method and a memory control device that can perform the above.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
本発明のメモリ制御方法は、少なくとも1つのメモリ素
子から成るメモリモジュールを複数個実装可能な記憶装
置に、プロセッサからインタリーブでアクセスするため
のメモリ制御方法であって、前記メモリモジュールにア
クセスするためのインタフェースである複数のメモリイ
ンタフェースから成り、前記メモリインタフェース配下
にそれぞれインターリーブ対象となる2つの他のメモリ
インタフェースを接続することで、前記プロセッサから
前記メモリモジュールにアクセスする経路となるインタ
リーブ階層を形成し、前記インタリーブ階層の最上位階
層から最下位階層に向かって、各階層毎にそれぞれ均等
に前記メモリインタフェースを選択すると共に前記最下
位層のメモリインタフェースに接続された2つのメモリ
モジュールを均等に選択することで前記プロセッサがア
クセスするメモリモジュールを決定する方法である。
According to a first aspect of the present invention, there is provided a memory control method for interleaving a storage device capable of mounting a plurality of memory modules each including at least one memory element from a processor. A memory control method, comprising a plurality of memory interfaces that are interfaces for accessing the memory module, and connecting two other memory interfaces to be interleaved under the memory interface, thereby enabling the processor Forming an interleave layer serving as a path for accessing the memory module, and selecting the memory interface equally for each layer from the highest layer to the lowest layer of the interleave layer; Inn It said processor by selecting evenly two memory modules connected to the face is a method of determining the memory module to be accessed.

【0010】このとき、前記メモリモジュールのうち、
記憶容量が最少のメモリモジュールと等しい記憶容量を
ユニットとし、前記ユニットを実装可能なメモリモジュ
ール数で除算した記憶容量をブロックとし、実装された
前記メモリモジュールに対してそれぞれ実装可能なメモ
リモジュール数が初期値として与えられる値を割り当て
ブロック数としたとき、前記インタリーブ階層の各階層
毎に、配下のメモリインタフェースに記憶領域が残って
いるメモリモジュールが接続されているか否かを確認
し、該メモリインタフェース双方に記憶領域が残ってい
るメモリモジュールが接続されている場合は、対応する
メモリモジュールのそれぞれの割り当てブロック数を2
で除算し、該メモリインタフェースの一方にのみ記憶領
域が残っているメモリモジュールが接続されている場合
は、対応するメモリモジュールの割り当てブロック数を
そのままの値で保持し、各メモリモジュール毎に算出さ
れた割り当てブロック数と等しい数の前記ブロックを、
各メモリモジュールからそれぞれ割り当てることで前記
ユニットを構成し、前記プロセッサは該ユニット毎に前
記記憶装置に対してアクセスしてもよく、前記プロセッ
サから指定されるラインアドレスのビットのうち、使用
していない最下位ビットから順に用いて、前記インター
リーブ階層の上位階層から下位階層に向かって前記メモ
リインタフェースをそれぞれ選択すると共に前記メモリ
モジュールを選択してもよい。
At this time, of the memory modules,
A storage capacity equal to the smallest memory module is defined as a unit, and a storage capacity obtained by dividing the storage capacity by the number of memory modules capable of mounting the unit is defined as a block. When a value given as an initial value is set as the number of allocated blocks, it is determined whether a memory module having a storage area remaining is connected to a subordinate memory interface for each of the interleaving layers, and If a memory module having a storage area remaining on both sides is connected, the number of allocated blocks of the corresponding memory module is set to 2
When a memory module having a storage area remaining in only one of the memory interfaces is connected, the number of blocks allocated to the corresponding memory module is held as it is, and the number is calculated for each memory module. Blocks equal to the number of allocated blocks
The unit is configured by allocating each of the memory modules, and the processor may access the storage device for each unit, and among the bits of the line address designated by the processor, the unused bits are not used. The memory interface and the memory module may be respectively selected from the upper layer to the lower layer of the interleave layer by using the least significant bit in order.

【0011】また、前記メモリモジュールが有する内部
バンク数を各メモリモジュール毎にそれぞれバンクコン
トロールテーブルとして書き込み、該バンクコントロー
ルテーブルを参照することで前記メモリモジュールに記
憶領域が残っているか否かを判定すると共に前記ライン
アドレスの中からプロセッサでアクセスするメモリ素子
のバンク番号を示すビットを見つけ出してもよく、前記
メモリ素子のロウアドレス及びカラムアドレスのビット
数をそれぞれアドレスビット位置テーブルとして書き込
み、該アドレスビット位置テーブルを参照することで前
記ラインアドレスの中からプロセッサでアクセスするメ
モリ素子のロウアドレス及びカラムアドレスを示すビッ
トを見つけ出してもよい。
In addition, the number of internal banks of the memory module is written as a bank control table for each memory module, and it is determined whether or not a storage area remains in the memory module by referring to the bank control table. In addition, a bit indicating the bank number of the memory element to be accessed by the processor may be found from the line address, and the bit numbers of the row address and the column address of the memory element are written as an address bit position table, and the address bit position is written. By referring to the table, bits indicating the row address and the column address of the memory element to be accessed by the processor may be found from the line addresses.

【0012】さらに、前記メモリモジュールは、1また
は2のサイドから構成されていてもよく、mを0以上の
整数としたとき、前記メモリ素子は、2個のインター
ナルバンクを有していてもよい。
Further, the memory module may be composed of one or two sides. When m is an integer of 0 or more, the memory element has 2 m internal banks. Is also good.

【0013】一方、本発明のメモリ制御装置は、少なく
とも1つのメモリ素子から成るメモリモジュールを複数
個実装可能な記憶装置に、プロセッサからインタリーブ
でアクセスさせるためのメモリ制御装置であって、前記
メモリモジュールにアクセスするためのインタフェース
である複数のメモリインタフェースから成り、前記メモ
リインタフェース配下にそれぞれインターリーブ対象と
なる2つの他のメモリインタフェースを接続すること
で、前記プロセッサから前記メモリモジュールにアクセ
スする経路となるインタリーブ階層を形成し、前記イン
タリーブ階層の最上位階層から最下位階層に向かって、
各階層毎にそれぞれ均等に前記メモリインタフェースを
選択すると共に前記最下位層のメモリインタフェースに
接続された2つのメモリモジュールを均等に選択するこ
とで前記プロセッサがアクセスするメモリモジュールを
決定するシステム制御装置を有するものである。
On the other hand, a memory control device of the present invention is a memory control device for allowing a processor to access a storage device capable of mounting a plurality of memory modules each including at least one memory element in an interleaved manner. A plurality of memory interfaces that are interfaces for accessing the memory module. By connecting two other memory interfaces to be interleaved under the memory interface, an interleave becomes a path for accessing the memory module from the processor. Forming a hierarchy, from the highest hierarchy to the lowest hierarchy of the interleaving hierarchy,
A system control device that determines the memory module to be accessed by the processor by equally selecting the memory interface for each hierarchy and equally selecting two memory modules connected to the lowermost memory interface Have

【0014】このとき、前記メモリモジュールのうち、
記憶容量が最少のメモリモジュールと等しい記憶容量を
ユニットとし、前記ユニットを実装可能なメモリモジュ
ール数で除算した記憶容量をブロックとし、実装された
前記メモリモジュールに対してそれぞれ実装可能なメモ
リモジュール数が初期値として与えられる値を割り当て
ブロック数としたとき、前記システム制御装置は、前記
インタリーブ階層の各階層毎に、配下のメモリインタフ
ェースに記憶領域が残っているメモリモジュールが接続
されているか否かを確認し、該メモリインタフェース双
方に記憶領域が残っているメモリモジュールが接続され
ている場合は、対応するメモリモジュールのそれぞれの
割り当てブロック数を2で除算し、該メモリインタフェ
ースの一方にのみ記憶領域が残っているメモリモジュー
ルが接続されている場合は、対応するメモリモジュール
の割り当てブロック数をそのままの値で保持し、各メモ
リモジュール毎に算出された割り当てブロック数と等し
い数の前記ブロックを、各メモリモジュールからそれぞ
れ割り当てることで前記ユニットを構成し、前記プロセ
ッサを該ユニット毎に前記記憶装置に対してアクセスさ
せてもよく、前記システム制御装置は、前記プロセッサ
から指定されるラインアドレスのビットのうち、使用し
ていない最下位ビットから順に用いて、前記インターリ
ーブ階層の上位階層から下位階層に向かって前記メモリ
インタフェースをそれぞれ選択すると共に前記メモリモ
ジュールを選択してもよい。
At this time, of the memory modules,
A storage capacity equal to the smallest memory module is defined as a unit, and a storage capacity obtained by dividing the storage capacity by the number of memory modules capable of mounting the unit is defined as a block. When the value given as the initial value is the number of allocated blocks, the system control device determines, for each of the interleaving layers, whether or not a memory module whose storage area remains in the subordinate memory interface is connected. If a memory module having a storage area remaining is connected to both of the memory interfaces, the number of allocated blocks of the corresponding memory module is divided by 2, and the storage area is stored only in one of the memory interfaces. If the remaining memory module is connected In this case, the unit is configured by retaining the number of blocks allocated to the corresponding memory module as it is, and allocating the same number of blocks from each memory module as the number of allocated blocks calculated for each memory module. The processor may access the storage device for each of the units, and the system control device sequentially uses the least-significant bit that is not used among the bits of the line address designated by the processor. Then, the memory interfaces may be selected and the memory modules may be selected from the upper layer to the lower layer of the interleave layer.

【0015】また、前記システム制御装置は、前記メモ
リモジュールが有する内部バンク数が各メモリモジュー
ル毎にそれぞれ書き込まれたバンクコントロールテーブ
ルと、前記バンクコントロールテーブルを参照して、前
記メモリモジュールに記憶領域が残っているか否かを判
定すると共に前記ラインアドレスの中からプロセッサで
アクセスするメモリ素子のバンク番号を示すビットを見
つけ出す番号判別部と、を有していてもよく、前記シス
テム制御装置は、前記メモリ素子のロウアドレス及びカ
ラムアドレスのビット数がそれぞれ書き込まれたアドレ
スビット位置テーブルと、前記アドレスビット位置テー
ブルを参照して、前記ラインアドレスの中からプロセッ
サでアクセスするメモリ素子のロウアドレス及びカラム
アドレスを示すビットを見つけ出すアドレス判別部と、
を有していてもよい。
Further, the system control device refers to the bank control table in which the number of internal banks of the memory module is written for each memory module and the bank control table, and stores a storage area in the memory module. A number discriminator for judging whether or not a memory element remains, and for finding out a bit indicating a bank number of a memory element to be accessed by a processor from the line address. With reference to the address bit position table in which the bit numbers of the row address and column address of the element are written, respectively, and referring to the address bit position table, the row address and the column address of the memory element to be accessed by the processor from the line addresses. Showing And address discrimination unit to find the door,
May be provided.

【0016】さらに、前記メモリモジュールは、1また
は2のサイドから構成されていてもよく、mを0以上の
整数としたとき、前記メモリ素子は、2個のインター
ナルバンクを有していてもよい。
Further, the memory module may be composed of one or two sides. When m is an integer of 0 or more, the memory element has 2 m internal banks. Is also good.

【0017】上記のようなメモリ制御方法、及びメモリ
制御装置では、メモリインタフェース配下にインターリ
ーブ対象となる2つの他のメモリインタフェースが接続
されて成るインタリーブ階層を形成し、インタリーブ階
層の最上位階層から最下位階層に向かって、各階層毎に
それぞれ均等にメモリインタフェースを選択すると共に
最下位層のメモリインタフェースに接続された2つのメ
モリモジュールを均等に選択することで、各メモリモジ
ュールに対して均等なインターリーブが行われる。
In the memory control method and the memory control device as described above, an interleave hierarchy is formed by connecting two other memory interfaces to be interleaved under the memory interface, and the interleave hierarchy is formed from the highest level to the lowest level. Toward the lower layer, the memory interface is evenly selected for each layer, and the two memory modules connected to the lowest layer memory interface are equally selected, so that the memory modules are evenly interleaved. Is performed.

【0018】また、インタリーブ階層の各階層毎に、配
下のメモリインタフェースに記憶領域が残っているメモ
リモジュールが接続されているか否かを確認し、そのメ
モリインタフェース双方に記憶領域が残っているメモリ
モジュールが接続されている場合は、対応するメモリモ
ジュールのそれぞれの割り当てブロック数を2で除算
し、メモリインタフェースの一方にのみ記憶領域が残っ
ているメモリモジュールが接続されている場合は、対応
するメモリモジュールの割り当てブロック数をそのまま
の値で保持し、各メモリモジュール毎に算出された割り
当てブロック数と等しい数のブロックを、各メモリモジ
ュールからそれぞれ割り当てることでユニットを構成
し、プロセッサがユニット毎に記憶装置に対してアクセ
スすることで、メモリ素子をユニット単位で増設するこ
とが可能になり、異なる記憶容量を有するメモリモジュ
ールがあっても均等なインターリーブを行うことができ
る。
Also, it is determined whether or not a memory module having a storage area remaining in a subordinate memory interface is connected to each of the interleaving layers, and a memory module having a storage area remaining in both memory interfaces is checked. Is connected, the number of allocated blocks of the corresponding memory module is divided by 2, and if a memory module having a storage area remaining in only one of the memory interfaces is connected, the corresponding memory module is connected. The number of allocated blocks is held as it is, and the number of blocks equal to the number of allocated blocks calculated for each memory module is allocated from each memory module to form a unit. Access to the memory It is possible to install additional child in units, it is possible to perform uniform interleaving even if memory modules having different memory capacities.

【0019】さらに、バンクコントロールテーブルを参
照することで、メモリモジュールの記憶領域の空き状態
とラインアドレスの中からプロセッサでアクセスするメ
モリ素子のバンク番号を示すビットとを特定することが
でき、アドレスビット位置テーブルを参照することで、
ラインアドレスの中からプロセッサでアクセスするメモ
リ素子のロウアドレス及びカラムアドレスを示すビット
を特定するできるため、全てのメモリモジュールの記憶
領域を有効に利用することができる。
Further, by referring to the bank control table, a bit indicating the bank number of the memory element to be accessed by the processor can be specified from the vacant state of the storage area of the memory module and the line address. By referring to the position table,
Since the bits indicating the row address and the column address of the memory element accessed by the processor can be specified from the line address, the storage areas of all the memory modules can be used effectively.

【0020】[0020]

【発明の実施の形態】次に本発明について図面を参照し
て説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0021】図1は本発明のメモリ制御方法を実行する
コンピュータシステムの一構成例を示すブロック図であ
り、図2は本発明のメモリ制御方法を実行するコンピュ
ータシステムの他の構成例を示すブロック図である。
FIG. 1 is a block diagram showing an example of the configuration of a computer system that executes the memory control method of the present invention. FIG. 2 is a block diagram showing another example of the configuration of a computer system that executes the memory control method of the present invention. FIG.

【0022】図1に示すように、コンピュータシステム
は、演算処理を行うプロセッサ1と、プロセッサ1の処
理に必要な情報が格納されるメインメモリ3と、メイン
メモリ3に対するプロセッサ1からのアクセスを制御す
るためのシステム制御装置2と、プロセッサ1に対して
情報や指令を入力するための入力装置、及びプロセッサ
の処理結果を出力するための出力装置等から成るIO装
置5と、メインメモリ3を制御するためのプログラムが
記録された記録媒体6とによって構成されている。
As shown in FIG. 1, the computer system controls a processor 1 for performing arithmetic processing, a main memory 3 for storing information necessary for processing by the processor 1, and an access from the processor 1 to the main memory 3. A system control device 2, an input device for inputting information and instructions to the processor 1, an output device for outputting a processing result of the processor, and the like, and a main memory 3. And a recording medium 6 on which a program for performing the program is recorded.

【0023】プロセッサ1は、記録媒体6に格納された
プログラムやデータをメインメモリ3に読み込み、メイ
ンメモリ3に格納されたプログラムにしたがって以降に
記載するインタリーブ処理を実行する。なお、記録媒体
6は磁気ディスク、半導体メモリ、CD−ROM、ある
いはその他の記録手段であってもよい。
The processor 1 reads programs and data stored in the recording medium 6 into the main memory 3 and executes an interleave process described below according to the programs stored in the main memory 3. Note that the recording medium 6 may be a magnetic disk, a semiconductor memory, a CD-ROM, or other recording means.

【0024】メインメモリ3は複数のメモリモジュール
(図1では第1のメモリモジュール4〜第8のメモリ
モジュール4)を有し、それぞれメモリインタフェー
ス7(メモリモジュール挿入用のスロットや接続配線
等)を介してシステム制御装置2と接続されている。な
お、各メモリインタフェース7にはそれぞれ2つのメモ
リモジュールが接続可能である。
The main memory 3 includes a plurality of memory modules.
Has a (FIG. 1, the first memory module 4 1 to eighth memory module 4 8) is connected to the system control unit 2 via the memory interface 7, respectively (slot and connection wiring for inserting a memory module, etc.) ing. Each memory interface 7 can be connected to two memory modules.

【0025】ところで、1つのメモリインタフェース7
に接続される2つのメモリモジュールのうち、一方のメ
モリモジュールに対するプロセッサ1からのメモリアク
セス要求によってメモリインタフェース7が占有される
と、他方のメモリモジュールに対するメモリアクセス要
求は先行するメモリアクセス処理が終了するまで待たさ
れることになる。
Incidentally, one memory interface 7
When the memory interface 7 is occupied by the memory access request from the processor 1 to one of the two memory modules connected to the memory module, the memory access request to the other memory module ends the preceding memory access processing. You will have to wait.

【0026】しかしながら、先行するメモリアクセス要
求で占有するメモリインタフェース7と、後続のメモリ
アクセス要求で占有するメモリインタフェース7とが異
なっていれば、後続のメモリアクセス要求は待たされる
ことがない。すなわち、メモリインタフェース7を共通
に使用する2つのメモリモジュール間でインタリーブを
行うよりも、メモリインタフェース7が異なる2つのメ
モリモジュール間でインタリーブを行う方がメモリアク
セス処理を高速に行うことができる。
However, if the memory interface 7 occupied by the preceding memory access request is different from the memory interface 7 occupied by the subsequent memory access request, the subsequent memory access request does not have to wait. That is, interleaving between two memory modules having different memory interfaces 7 can perform memory access processing at a higher speed than performing interleaving between two memory modules that commonly use the memory interface 7.

【0027】各メモリモジュールは図1に示したように
システム制御装置2と直接的に接続されるだけでなく、
図2に示すようにメモリインタフェースユニット(中継
用のLSIや回路等:図2では第1のメモリインタフェ
ースユニット8及び第2のメモリインタフェースユニ
ット8)を介して接続される場合もある。このような
構成の場合、2つのメモリインタフェースユニットを均
等に用いることが望ましい。なぜなら、2つのメモリイ
ンタフェースユニットを均等に用いない場合、それらに
接続される全てのメモリモジュールに対してメモリアク
セスを均等に行うことができないからである。
Each memory module is not only directly connected to the system controller 2 as shown in FIG.
Memory interface unit as shown in Figure 2: there may be connected via a (LSI and circuit for the relay such Figure the 2 first memory interface unit 81 and the second memory interface unit 82). In such a configuration, it is desirable to use the two memory interface units equally. This is because, if the two memory interface units are not used equally, the memory access cannot be performed equally to all the memory modules connected to them.

【0028】ところで、図1及び図2に示したコンピュ
ータシステムでは、システム制御装置2と各メモリモジ
ュール間が複数階層のメモリインタフェースによって接
続されていると見なすことができる。このような階層構
造をインタリーブ階層と呼ぶ。なお、図2ではメモリイ
ンタフェースユニットが1階層分だけ有する構成を示し
ているが、複数階層分有していてもよい。上述したよう
に、このようなインタリーブ階層を介してメモリモジュ
ールにアクセスする際には、システム制御装置2に近い
上位階層からメモリモジュールに近い下位階層に向かっ
て各階層毎にメモリインタフェースユニットあるいはメ
モリインタフェースをそれぞれ均等に用いていくことが
望ましい。
By the way, in the computer system shown in FIGS. 1 and 2, it can be considered that the system controller 2 and each memory module are connected by a plurality of layers of memory interfaces. Such a hierarchical structure is called an interleaved hierarchy. Although FIG. 2 shows a configuration in which the memory interface unit has only one layer, the memory interface unit may have a plurality of layers. As described above, when accessing a memory module via such an interleave layer, a memory interface unit or a memory interface unit is provided for each layer from an upper layer closer to the system controller 2 to a lower layer closer to the memory module. Are desirably used equally.

【0029】そこで、メモリインタフェースを均等に用
いるためには、メモリインタフェースユニットに接続可
能なメモリインタフェース数を2(nは0以上の整
数)個にするとよい。同様に、メモリモジュールに対し
てメモリアクセスを均等に行うためには、メモリインタ
フェースに接続可能なメモリモジュールの数を2(n
は0以上の整数)個にすればよい。なお、インタリーブ
を上位階層から所定の中間階層までしか行わない場合
は、インタリーブを行わない下位階層のメモリインタフ
ェース数を2個にする必要はない。また、メモリモジ
ュール間でインタリーブを行わない場合は、メモリイン
タフェースに接続するメモリモジュール数を2個にす
る必要はない。
Therefore, in order to use the memory interfaces evenly, the number of memory interfaces that can be connected to the memory interface unit is preferably 2 n (n is an integer of 0 or more). Similarly, in order to uniformly access the memory modules, the number of memory modules connectable to the memory interface is set to 2 n (n
Is an integer of 0 or more). When the interleaving is performed only from the upper layer to the predetermined intermediate layer, it is not necessary to reduce the number of memory interfaces in the lower layer where the interleaving is not performed to 2n . When interleaving is not performed between memory modules, the number of memory modules connected to the memory interface does not need to be 2n .

【0030】ところで、上述したように各メモリモジュ
ールは複数の内部バンクを有している。内部バンク数
は、メモリモジュールが有するメモリ素子、例えば、S
DRAM自体が備えるインターナルバンク数(2個:
nは1以上の整数)とメモリモジュール内でアドレス方
向に並列に接続されたSDRAMの個数の積に相当す
る。一般的に、SDRAMのインターナルバンク数は2
バンクあるいは4バンクのいずれかであるため、アドレ
ス方向にSDRAMを1個だけ接続したメモリモジュー
ル(Single Sidedメモリモジュール)の内部バンク数
は、2バンク、または4バンクとなり、アドレス方向に
SDRAMを2個接続したメモリモジュール(Double
Sidedメモリモジュール)の内部バンク数は、4バン
ク、または8バンクとなる。
By the way, as described above, each memory module has a plurality of internal banks. The number of internal banks is determined by a memory element of the memory module, for example, S
Number of internal banks ( 2n :
n is an integer of 1 or more) and the number of SDRAMs connected in parallel in the address direction in the memory module. Generally, the number of internal banks of an SDRAM is 2
The number of internal banks in a memory module (Single Sided memory module) in which only one SDRAM is connected in the address direction is either two banks or four banks, and two SDRAMs are provided in the address direction. Connected memory module (Double
The number of internal banks of the sided memory module) is four or eight.

【0031】一方、メモリアクセス単位は、一般にプロ
セッサのキャッシングサイズ(以下、ラインサイズと称
す)と同じであるため、複数のメモリモジュールにまた
がって一度にアクセスされることはない。
On the other hand, since the memory access unit is generally the same as the caching size (hereinafter, referred to as a line size) of the processor, it is not accessed at one time over a plurality of memory modules.

【0032】例えば、メモリアクセスが64ビット単位
で行われると仮定し、そのときのアドレスをA[63:
0]で表わした場合、ライン(キャッシュの管理単位、
ここではアクセスする記憶領域)を指定するためのアド
レス(以下、ラインアドレスと称す)は、例えば、A
[63:6]で表わされる。この場合、どのメモリインタ
フェースユニットを介してメインメモリ3にアクセスす
るかは、A[63:6]で決定され、A[5:0]は関係し
ない。
For example, assuming that memory access is performed in 64-bit units, the address at that time is represented by A [63:
0], the line (cache management unit,
Here, an address (hereinafter, referred to as a line address) for designating a storage area to be accessed is, for example, A
[63: 6]. In this case, which memory interface unit is used to access the main memory 3 is determined by A [63: 6], and A [5: 0] is irrelevant.

【0033】なお、図2に示したシステム制御装置に接
続されるメモリインタフェースを第1のメモリインタフ
ェース9及び第2のメモリインタフェース9と呼
び、第1のメモリインタフェースユニット8に接続さ
れるメモリインタフェースを第3のメモリインタフェー
ス9及び第4のメモリインタフェース9と呼び、第
2のメモリインタフェースユニット8に接続されるメ
モリインタフェースを第5のメモリインタフェース9
及び第6のメモリインタフェース9と呼ぶ。
It should be noted, memory interface connected to the system controller is referred to as a first memory interface 9 1 and the second memory interface 9 2 shown in FIG. 2, is connected to the first memory interface unit 8 1 called memory interface and the third memory interface 9, third and fourth memory interface 9 4, the second memory interface unit 82 a memory interface connected to the fifth memory interface 9 5
And referred to as a memory interface 9 6 sixth.

【0034】このとき、各メモリインタフェースを均等
に用いるためには、第1のメモリインタフェース9
第2のメモリインタフェース9とを交互に用い、さら
に、第3のメモリインタフェース9と第4のメモリイ
ンタフェース9、または第5のメモリインタフェース
と第6のメモリインタフェース9とを交互に用い
ればよい。
[0034] At this time, in order to use the memory interfaces evenly is used interchangeably first memory interface 9 1 and the 2 second memory interface 9, further third memory interface 9 3 and the fourth the memory interface 9 4, or the memory interface 9 5 of the fifth and a memory interface 9 6 6 may be used alternately.

【0035】第1のメモリインタフェース9配下のメ
モリモジュールの合計容量と第2のメモリインタフェー
ス9配下のメモリモジュールの合計容量とが等しい場
合、ラインアドレスの最も下位のビット(A[6])の値
によって第1のメモリインタフェース9または第2の
メモリインタフェース9のいずれか一方を選択する。
同様に、第3のメモリインタフェース9配下のメモリ
モジュールの合計容量と第4のメモリインタフェース9
配下のメモリモジュールの合計容量とが等しい場合
は、ラインアドレスの最下位から2ビット目(A
[7])の値によって第3のメモリインタフェース9
または第4のメモリインタフェース9のいずれか一方
を選択する。
When the total capacity of the memory modules under the first memory interface 91 is equal to the total capacity of the memory modules under the second memory interface 92, the least significant bit (A [6]) of the line address selecting one by the value of the first memory interface 9 1 or second memory interface 9 2.
Similarly, the total capacity of the memory modules under the third memory interface 93 and the fourth memory interface 9
If the total capacity of the memory modules under the fourth line is equal, the second bit (A
[7]) third the value of the memory interface 9 3
Or selecting one of the fourth memory interface 9 4.

【0036】さらに、第5のメモリインタフェース9
配下のメモリモジュールの合計容量と第6のメモリイン
タフェース9配下のメモリモジュールの合計容量とが
等しい場合は、ラインアドレスのA[7]の値によって第
5のメモリインタフェース9 または第6のメモリイン
タフェース9のいずれか一方を選択する。
Further, the fifth memory interface 95
Total capacity of subordinate memory modules and sixth memory in
Face 96The total capacity of the subordinate memory modules
If they are equal, the value of A [7] of the line address
5 memory interface 9 5Or the sixth memory in
Face 96Select one of

【0037】しかしながら、第1のメモリインタフェー
ス9配下のメモリモジュールの合計容量と第2のメモ
リインタフェース9配下のメモリモジュールの合計容
量が異なっている場合、第1のメモリインタフェース9
配下のメモリモジュールの合計容量と第2のメモリイ
ンタフェース9配下のメモリモジュールの合計容量が
等しくても第3のメモリインタフェース9配下のメモ
リモジュールの合計容量と第4のメモリインタフェース
配下のメモリモジュールの合計容量とが異なってい
る場合、あるいは第5のメモリインタフェース9配下
のメモリモジュールの合計容量と第6のメモリインタフ
ェース9配下のメモリモジュールの合計容量とが異な
っている場合にはラインアドレス中の2つのビットを用
いただけでは、2つのメモリインタフェースユニット8
、8を均等に用いることはできない。
[0037] However, if the total capacity of the total capacity and the second memory interface 9 2 subordinate memory module of the first memory interface 9 1 under memory modules are different, the first memory interface 9
Total capacity and the second memory interface 9 also total amount of 2 under the memory module equals the total capacity of the third memory interface 9 3 subordinate memory modules and the fourth memory interface 9 4 under the 1 under memory module If differs the total capacity of the memory module is, or if the total capacity and is different from the fifth memory interface 9 total amount of 5 under the memory module of the sixth memory interface 9 6 memory modules under the the Only uses two bits in the line address, two memory interface units 8
1, 8 2 can not be used equally.

【0038】本発明のメモリ制御方法では、まず、実装
されたメモリモジュールのうち、記憶容量が最も少ない
メモリモジュールの記憶容量を単位容量として定義し、
メインメモリ3の全記憶領域を複数の単位容量に分割す
る(この単位容量を以下ではユニットと称する)。そし
て、アドレス番号の若番順に各ユニット毎に0オリジン
のユニット番号を付与していく。さらに、各ユニットの
記憶容量を実装可能な最大メモリモジュール数で除算し
(この除算された記憶容量を以下ではブロックと称す
る)、アドレス番号の若番順に各ブロック毎に0オリジ
ンのブロック番号を付与していく。
In the memory control method of the present invention, first, among the mounted memory modules, the storage capacity of the memory module having the smallest storage capacity is defined as a unit capacity.
The entire storage area of the main memory 3 is divided into a plurality of unit capacities (the unit capacities are hereinafter referred to as units). Then, a unit number of 0 origin is assigned to each unit in ascending order of the address number. Further, the storage capacity of each unit is divided by the maximum number of memory modules that can be mounted (hereinafter, the divided storage capacity is referred to as a block), and a block number of 0 origin is assigned to each block in ascending order of the address number. I will do it.

【0039】例えば、最大8個のメモリモジュールが実
装可能で、実装されたメモリモジュールの中で記憶容量
が最少のメモリモジュールの記憶容量が256MBであ
った場合、1ユニットは256MBであり、1ブロック
は32MBとなる。また、最大16個のメモリモジュー
ルが実装可能で、実装されたメモリモジュールの中で記
憶容量が最少のメモリモジュールの記憶容量が1GBで
あった場合、1ユニットは1GBであり、1ブロックは
64MBとなる。
For example, if a maximum of eight memory modules can be mounted and the memory capacity of the smallest memory module among the mounted memory modules is 256 MB, one unit is 256 MB and one block Is 32 MB. In addition, when a maximum of 16 memory modules can be mounted, and the storage capacity of the memory module having the smallest storage capacity among the mounted memory modules is 1 GB, one unit is 1 GB and one block is 64 MB. Become.

【0040】また、ある階層に2個よりも多くのメモリ
インタフェースが接続されている場合は(但し、2
個:mは2以上の整数)、メモリインタフェース数が
2個になるようにその階層を仮想的に分割する。例え
ば、図1の構成ではシステム制御装置2に接続されるメ
モリインタフェース数が4であるのでシステム制御装置
2とメモリモジュール間をそれぞれメモリインタフェー
ス数が2個の2つの階層に分割する。
When more than two memory interfaces are connected to a certain hierarchy (however,
m : m is an integer of 2 or more), and the hierarchy is virtually divided so that the number of memory interfaces becomes two. For example, in the configuration of FIG. 1, since the number of memory interfaces connected to the system control device 2 is 4, the space between the system control device 2 and the memory module is divided into two layers each having two memory interfaces.

【0041】すなわち、同一のメモリインタフェースに
接続される2つのメモリモジュール間でもインタリーブ
を行うと仮定すると、最上位のインタリーブ階層では、
第1のメモリインタフェース9及び第2のメモリイン
タフェース9と、第3のメモリインタフェース9
び第4のメモリインタフェース9との間でインターリ
ーブを行い、その下位のインタリーブ階層では、第1の
メモリインタフェース9と第2のメモリインタフェー
ス9の間、あるいは第3のメモリインタフェース9
と第4のメモリインタフェース9の間でインターリー
ブを行う。さらに、最下位のインタリーブ階層では、同
一のメモリインタフェースに接続される2つのメモリモ
ジュール間でインタリーブを行う。このようなインタリ
ーブ階層をわかりやすく示したものが図3である。
That is, assuming that interleaving is performed between two memory modules connected to the same memory interface, in the highest interleaving hierarchy,
A first memory interface 9 1 and the second memory interface 9 2 performs interleaving between the third memory interface 9, third and fourth memory interface 9 4, at its lower interleave hierarchy, first memory interface 9 1 and the second between the memory interface 9 2 or the third memory interface 9 3,
Performing interleaving between the fourth memory interface 9 4. Further, in the lowest interleaving hierarchy, interleaving is performed between two memory modules connected to the same memory interface. FIG. 3 shows such an interleave hierarchy in an easy-to-understand manner.

【0042】図3は本発明のメモリ制御方法を実行する
コンピュータシステムのインタリーブ階層の一構成例を
示すブロック図である。図3を参照すると、インタリー
ブ階層は、最上位階層から順に、第1の階層、第2の階
層、第3の階層の3つの階層によって構成される。ここ
で、インタリーブ対象をそれぞれメンバーと呼び、同じ
インタリーブ階層中の2つのメンバーの一方から見て他
方をパートナーと呼ぶ。また、パートナーどうしの2つ
のメンバーを合わせてグループと呼ぶ。図3の例では、
第1のメモリモジュールと第2のメモリモジュールは第
3の階層において同一のグループである。また、第1の
メモリモジュール及び第2のメモリモジュールと、第3
のメモリモジュール及び第4のメモリモジュールとは第
2の階層において同一のグループである。
FIG. 3 is a block diagram showing an example of the configuration of an interleave hierarchy of a computer system that executes the memory control method of the present invention. Referring to FIG. 3, the interleave layer is composed of three layers, a first layer, a second layer, and a third layer, in order from the highest layer. Here, the objects to be interleaved are referred to as members, and the other is referred to as a partner when viewed from one of the two members in the same interleaving hierarchy. Also, two members of a partner are collectively called a group. In the example of FIG.
The first memory module and the second memory module are in the same group in the third hierarchy. A first memory module and a second memory module;
And the fourth memory module are the same group in the second hierarchy.

【0043】このようなインタリーブ階層に対して、本
発明のメモリ制御方法では以下に記載する処理を実行す
る。
For such an interleaved hierarchy, the memory control method of the present invention executes the following processing.

【0044】まず、最下位階層の各メンバー(メモリモ
ジュール)に割り当てブロック数と呼ばれる変数をそれ
ぞれ持たせる。ここで、記憶領域が残っているメンバー
の割り当てブロック数の初期値は最大実装可能メンバー
数であり、記憶領域が残っていないメンバーの割り当て
ブロック数の初期値は「0」である。
First, each member (memory module) of the lowest hierarchy has a variable called the number of allocated blocks. Here, the initial value of the number of allocated blocks of the member having the remaining storage area is the maximum mountable member number, and the initial value of the allocated block number of the member having no remaining storage area is “0”.

【0045】次に、各階層毎に配下のメンバー双方に記
憶領域が残っているか否かを確認し、メンバー双方に記
憶領域が残っている場合はそれぞれの割り当てブロック
数を「2」で割る。また、一方のメンバーにのみ記憶領
域が残っている場合は何も処理しない。これを最下位階
層まで繰り返すことで記憶領域が残っている最下位階層
の各メンバーに割り当てるべきブロック数を算出する。
Next, it is checked whether or not a storage area remains in both members under each layer, and if a storage area remains in both members, the number of allocated blocks is divided by "2". If the storage area remains in only one member, no processing is performed. By repeating this up to the lowest hierarchy, the number of blocks to be allocated to each member of the lowest hierarchy where the storage area remains is calculated.

【0046】ここで、各メンバーの割り当てブロック数
の合計は最大実装可能メンバー数に等しく、その記憶容
量の合計はユニットの記憶容量に等しいことが分かる。
すなわち、本発明のメモリ制御方法では、メインメモリ
3に対してユニット毎にアクセスし、各ユニットは、各
メモリモジュールからそれぞれ割り当てられるブロック
(割り当てブロック数に等しい値)によって構成する。
Here, it can be seen that the total number of blocks allocated to each member is equal to the maximum number of mountable members, and the total storage capacity is equal to the storage capacity of the unit.
That is, in the memory control method of the present invention, the main memory 3 is accessed for each unit, and each unit is configured by a block (a value equal to the number of allocated blocks) allocated from each memory module.

【0047】そして、メモリアクセス時には、上位階層
から順に配下のメンバー双方に記憶領域が残っているか
否かを確認し、メンバー双方に記憶領域が残っている場
合は、ラインアドレスの使用していない最下位ビットの
値でアクセスするメンバーを決定する。
Then, at the time of memory access, it is checked in order from the upper layer whether or not a storage area remains in both subordinate members. If a storage area remains in both members, the line address is not used. The member to be accessed is determined by the value of the lower bit.

【0048】以上のルールに従うと、記憶容量やインタ
ーナルバンク数が異なるメモリモジュールが混在する場
合でも、最も効果的なインタリーブを実現することがで
きる。
According to the above rules, the most effective interleaving can be realized even when memory modules having different storage capacities and different numbers of internal banks coexist.

【0049】なお、本発明のメモリ制御方法を実際に行
う際には、各ユニットに対応したエントリから成るテー
ブルを用意し、実装しているメモリモジュールの情報を
予め各エントリに格納しておく。そして、テーブルを参
照することでユニットを構成する各メモリモジュールの
記憶容量やインターナルバンク数を取得し、アクセスす
るメモリモジュール番号やバンク番号を決定する(実施
例で詳述する)。
When the memory control method of the present invention is actually performed, a table including entries corresponding to each unit is prepared, and information on the installed memory modules is stored in each entry in advance. Then, the storage capacity and the number of internal banks of each memory module constituting the unit are obtained by referring to the table, and the memory module number and the bank number to be accessed are determined (described in detail in the embodiment).

【0050】次に、図4に示すコンピュータシステムを
例にして、上述した本発明のメモリ制御方法をより具体
的に説明する。
Next, using the computer system shown in FIG. 4 as an example, the above-described memory control method of the present invention will be described more specifically.

【0051】図4はメインメモリに最大8個のメモリモ
ジュールが実装可能なコンピュータシステムの一構成例
を示すブロック図である。図4に示したコンピュータシ
ステムでは第2のメモリモジュール、第7のメモリモジ
ュール、及び第8のメモリモジュールが未実装であり、
実装されている第1のメモリモジュール、及び第3のメ
モリモジュール〜第6のメモリモジュールの記憶容量及
びインターナルバンク数がそれぞれ異なっている。な
お、実装されたメモリモジュールの記憶容量の合計は2
GBであり、実装されたメモリモジュールの中で最も記
憶容量の少ないメモリモジュールの容量は256MBで
あるため、2GBの記憶領域を8個の256MBのユニ
ットに分割する。
FIG. 4 is a block diagram showing an example of the configuration of a computer system in which a maximum of eight memory modules can be mounted on the main memory. In the computer system shown in FIG. 4, the second memory module, the seventh memory module, and the eighth memory module are not mounted,
The mounted first memory module and the third to sixth memory modules have different storage capacities and different numbers of internal banks. Note that the total storage capacity of the mounted memory modules is 2
Since the capacity of the memory module having the smallest storage capacity among the mounted memory modules is 256 MB, the storage area of 2 GB is divided into eight 256 MB units.

【0052】ここで、アドレス“0000000000
000000”〜“000000000ffffff
f”はユニット番号「0」の記憶領域であり、アドレス
“0000000010000000”〜“00000
0001fffffff”はユニット番号「1」の記憶
領域である。以下同様にして、アドレス“000000
0070000000”〜“000000007fff
ffff”の記憶領域まで(ユニット番号「7」)それ
ぞれユニット番号が付与される。
Here, the address "000000000000"
000000 ”to“ 000000000ffffff ”
“f” is a storage area of the unit number “0”, and has addresses “000000000001000000” to “000000”.
“0001ffffffff” is a storage area of the unit number “1”. Hereinafter, similarly, the address “000000”
0000000000 ”to“ 000000007fff
Unit numbers are assigned to the storage area of ffff ″ (unit number “7”).

【0053】また、メインメモリには最大8個のメモリ
モジュールが実装可能であるため、ユニットの記憶容量
(256MB)を8で除算した値、すなわち32MBが
ブロックの記憶容量となる。
Since a maximum of eight memory modules can be mounted in the main memory, the value obtained by dividing the storage capacity of the unit (256 MB) by 8, that is, 32 MB is the storage capacity of the block.

【0054】また、図4に示す構成では、第1のメモリ
インタフェースユニット配下の記憶容量と、第2のメモ
リインタフェースユニット配下の記憶容量が同じであ
り、それぞれ1GBである。さらに、第1のメモリモジ
ュールと第2のメモリモジュール(未実装)の合計の記
憶容量、及び第3のメモリモジュールと第4のメモリモ
ジュールの記憶容量が同じであり、それぞれ512MB
である。
In the configuration shown in FIG. 4, the storage capacity under the first memory interface unit and the storage capacity under the second memory interface unit are the same, each being 1 GB. Furthermore, the total storage capacity of the first memory module and the second memory module (not mounted) and the storage capacity of the third memory module and the fourth memory module are the same, each of which is 512 MB.
It is.

【0055】このような構成において、第1のメモリイ
ンタフェースユニット及び第2のメモリインタフェース
ユニットを均等に用いるためには、ラインアドレスのA
[6]の値を用い、例えば、A[6]が“0”の場合は
第1のメモリインタフェースユニットを選択し、A
[6]が“1”の場合は第2のメモリインタフェースユ
ニットを選択する。
In such a configuration, in order to use the first memory interface unit and the second memory interface unit equally, the line address A
Using the value of [6], for example, if A [6] is “0”, the first memory interface unit is selected and A
When [6] is "1", the second memory interface unit is selected.

【0056】また、第1のメモリインタフェースユニッ
ト配下の2つのメモリインタフェースを均等に用いるた
めには、ラインアドレスのA[7]の値を用い、例え
ば、A[7:6]が“00”の場合は第1のメモリモジ
ュールと第2のメモリモジュール(未実装)に繋がるメ
モリインタフェースを選択し、A[7:6]が“10”
の場合は第3のメモリモジュールと第4のメモリモジュ
ールに繋がるメモリインタフェースを選択する。このと
き、第2のメモリモジュールは実装されていないため、
第1のメモリモジュールのみ選択する。また、第3のメ
モリモジュールと第4のメモリモジュールはそれぞれ実
装されているため、ラインアドレスのA[8]の値によ
ってその2つのメモリモジュールのいずれか一方を選択
する。
In order to use the two memory interfaces under the first memory interface unit equally, the value of A [7] of the line address is used, for example, when A [7: 6] is "00". In this case, a memory interface connected to the first memory module and the second memory module (not mounted) is selected, and A [7: 6] is set to “10”.
In the case of (1), a memory interface connected to the third memory module and the fourth memory module is selected. At this time, since the second memory module is not mounted,
Only the first memory module is selected. Further, since the third memory module and the fourth memory module are respectively mounted, one of the two memory modules is selected according to the value of A [8] of the line address.

【0057】一方、第2のメモリインタフェースユニッ
ト配下の第7のメモリモジュールと第8のメモリモジュ
ールは実装されていない。したがって、ラインアドレス
のA[6]が“1”の場合は第5のメモリモジュールと
第6のメモリモジュールに繋がるメモリインタフェース
を選択する。このとき、ラインアドレスのA[7]の値
によってその2つのメモリモジュールのいずれか一方を
選択する。
On the other hand, the seventh memory module and the eighth memory module under the second memory interface unit are not mounted. Therefore, when A [6] of the line address is “1”, a memory interface connected to the fifth memory module and the sixth memory module is selected. At this time, one of the two memory modules is selected according to the value of the line address A [7].

【0058】一方、各メモリモジュールの内部バンク数
が異なる場合、アクセスするバンク番号は、そのメモリ
モジュールを指定するために用いたラインアドレスのビ
ットのすぐ上位のビットで指定する。
On the other hand, when the number of internal banks of each memory module is different, the bank number to be accessed is specified by the bit immediately above the bit of the line address used to specify the memory module.

【0059】例えば、第4のメモリモジュールはライン
アドレスのA[8:6]が“110”の場合に選択され
るため、A[10:9]の2ビットを用いてそのバンク
番号を指定する。また、第5のメモリモジュールはライ
ンアドレスのA[7:6]が“01”の場合に選択され
るため、A[10:8]の3ビットを用いてそのバンク
番号を指定する。
For example, since the fourth memory module is selected when A [8: 6] of the line address is "110", its bank number is specified using two bits of A [10: 9]. . Since the fifth memory module is selected when A [7: 6] of the line address is “01”, its bank number is specified using three bits of A [10: 8].

【0060】以上説明した内容を、もう一度、上述した
インタリーブのルールに当てはめて説明する。
The contents described above will be described once again by applying the above-described interleaving rule.

【0061】図4において、2つのメモリインタフェー
スユニットから見て下位の階層は2階層である。また、
図4に示したコンピュータシステムでは最大8個までメ
モリモジュールが実装可能であるため、第1のメモリモ
ジュール、第3のメモリモジュール、第4のメモリモジ
ュール〜第6のメモリモジュールの割り当てブロック数
の初期値はそれぞれ「8」であり、第2のメモリモジュ
ール、第7のメモリモジュール、第8のメモリモジュー
ルの割り当てブロック数の初期値はそれぞれ「0」であ
る。
In FIG. 4, there are two lower layers when viewed from the two memory interface units. Also,
Since up to eight memory modules can be mounted in the computer system shown in FIG. 4, the initial number of blocks allocated to the first memory module, the third memory module, the fourth memory module to the sixth memory module is initialized. The values are respectively “8”, and the initial values of the numbers of allocated blocks of the second memory module, the seventh memory module, and the eighth memory module are respectively “0”.

【0062】システム制御装置に繋がる2つのメモリイ
ンタフェース配下には、双方にメモリモジュールが有る
ため、それぞれの割り当てブロック数を2で割る。した
がって、この時点で第1のメモリモジュール、第3のメ
モリモジュール、第4のメモリモジュール〜第6のメモ
リモジュールの割り当てブロック数はそれぞれ「4」で
あり、第2のメモリモジュール、第7のメモリモジュー
ル、第8のメモリモジュールの割り当てブロック数はそ
れぞれ「0」である。
Since there are memory modules under both of the two memory interfaces connected to the system controller, the number of allocated blocks is divided by two. Therefore, at this time, the number of blocks allocated to the first memory module, the third memory module, the fourth memory module to the sixth memory module is “4”, and the second memory module, the seventh memory module, The number of blocks assigned to each of the module and the eighth memory module is “0”.

【0063】次に、第1のメモリインタフェースユニッ
ト配下の各メモリインタフェースにはそれぞれメモリモ
ジュールが有るため、さらに割り当てブロック数を
「2」で割る。したがって、この時点で第1のメモリモ
ジュール、第3のメモリモジュール、第4のメモリモジ
ュール割り当てブロック数はそれぞれ「2」であり、第
2のメモリモジュールの割り当てブロック数は「0」で
ある。
Next, since each memory interface under the first memory interface unit has a memory module, the number of blocks to be allocated is further divided by "2". Therefore, at this time, the number of blocks allocated to the first memory module, the third memory module, and the fourth memory module is “2”, and the number of blocks allocated to the second memory module is “0”.

【0064】一方、第2のメモリインタフェースユニッ
ト配下の2つのメモリインタフェースには一方のメモリ
インタフェースにしかメモリモジュールがないため、第
5のメモリモジュール及び第6のメモリモジュールの割
り当てブロック数はそのまま「4」となる。
On the other hand, since the two memory interfaces under the second memory interface unit have only one memory interface, the number of blocks allocated to the fifth memory module and the sixth memory module is “4”. ".

【0065】続いて、最下位層では、第2のメモリモジ
ュールが実装されていないため、第1のメモリモジュー
ルの割り当てブロック数はそのまま「2」となる。ま
た、第3のメモリモジュール及び第4のメモリモジュー
ルはそれぞれ実装されているため、第3のメモリモジュ
ール及び第4のメモリモジュールの割り当てブロック数
は、さらに「2」で割られて「1」となる。
Subsequently, in the lowest layer, since the second memory module is not mounted, the number of blocks assigned to the first memory module is "2" as it is. Further, since the third memory module and the fourth memory module are respectively mounted, the number of blocks allocated to the third memory module and the fourth memory module is further divided by “2” to “1”. Become.

【0066】同様に、第5のメモリモジュール及び第6
のメモリモジュールはそれぞれ実装されているため、第
5のメモリモジュール及び第6のメモリモジュールの割
り当てブロック数は、さらに「2」で割られて「2」と
なる。
Similarly, the fifth memory module and the sixth memory module
Of the fifth memory module and the sixth memory module are further divided by “2” to “2”.

【0067】すなわち、最終的に、第1のメモリモジュ
ール〜第8のメモリモジュールの割り当てブロック数
は、「2」、「0」、「1」、「1」、「2」、
「2」、「0」、「0」となる。したがって、1つのユ
ニット(256MB)を構成するためには、第1のメモ
リモジュール、第5のメモリモジュール、及び第6のメ
モリモジュールからそれぞれ64MB(2ブロック)を
割り当て、第3のメモリモジュール、及び第4のメモリ
モジュールからそれぞれ32MB(1ブロック)を割り
当てる。
That is, finally, the number of blocks allocated to the first to eighth memory modules is “2”, “0”, “1”, “1”, “2”,
"2", "0", and "0". Therefore, in order to configure one unit (256 MB), 64 MB (two blocks) is allocated from each of the first memory module, the fifth memory module, and the sixth memory module, and the third memory module, 32 MB (one block) is allocated from each of the fourth memory modules.

【0068】よって、記憶容量または内部バンク数が異
なったメモリモジュールを実装した場合、あるいは任意
のメモリモジュールが実装されていない場合でも、実装
された全ての記憶領域から得られる最大バンク数でイン
タリーブを行うことができる。
Therefore, even when memory modules having different storage capacities or different numbers of internal banks are mounted, or even when an arbitrary memory module is not mounted, interleaving is performed using the maximum number of banks obtained from all mounted storage areas. It can be carried out.

【0069】なお、システム制御装置とメインメモリを
接続するメモリインタフェースはバス構造であってもよ
く、メインメモリはプロセッサやIO装置に直接接続さ
れていてもよい。
The memory interface connecting the system controller and the main memory may have a bus structure, and the main memory may be directly connected to a processor or an IO device.

【0070】[0070]

【実施例】次に本発明の実施例について図面を参照して
説明する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0071】(第1実施例)図5は図1に示したシステム
制御装置の第1実施例の構成を示すブロック図であり、
図6は図1に示したメインメモリの一構成例を示すブロ
ック図である。また、図7は図5に示したBCTの一構
成例を示すテーブル図であり、図8は図5に示したAB
PTの一構成例を示すテーブル図である。
(First Embodiment) FIG. 5 is a block diagram showing the configuration of a first embodiment of the system control device shown in FIG.
FIG. 6 is a block diagram showing a configuration example of the main memory shown in FIG. FIG. 7 is a table showing an example of the configuration of the BCT shown in FIG. 5, and FIG.
It is a table figure showing an example of 1 composition of PT.

【0072】図5において、システム制御装置2は、メ
インメモリ3に実装されるメモリモジュールの情報から
後述するバンクコントロールテーブル及びアドレスビッ
ト位置テーブルの初期設定値を取得するための初期設定
情報部30と、プロセッサ1から送出されたラインアド
レスを一時的に保持するレジスタ10と、メインメモリ
3が有するメモリモジュールあるいはメモリ素子(例え
ば、DRAM)の記憶容量及び内部バンク数をそれぞれ
格納するバンクコントールテーブル(以下、BCTと称
す)11と、BCT11に格納された内部バンク数を検
索するための第1のアドレスデコーダ17と、初期設定
時にプロセッサ1からBCT11に送出されるライトア
ドレス、またはメモリアクセス時にプロセッサからBC
T11に送出されるラインアドレスのいずれか一方を有
効にして第1のアドレスデコーダ17に出力する第1の
セレクタ16と、第1のセレクタ16を切り換えるため
のリードライトセレクタ信号を一時的に保持する第1の
リードライトセレクタ信号レジスタ20と、BCT11
に対するライトアドレスを一時的に保持する第1のライ
トアドレスレジスタ21と、BCT11に対する書き込
みイネーブル信号を一時的に保持する第1のライトイネ
ーブルレジスタ22と、BCT11に書き込む情報を一
時的に保持する第1のライトデータレジスタ23と、B
CT11に格納されたデータ及びプロセッサから送出さ
れたラインアドレスからアクセス対象のカード番号、ス
タック番号、メモリモジュール番号、サイド番号、及び
バンク番号等をそれぞれ判別する番号判別部12と、メ
インメモリ3が有するメモリ素子(例えば、DRAM)
のロウアドレス及びカラムアドレスのアドレスビット数
をそれぞれ格納するアドレスビット位置テーブル(以
下、ABPTと称す)13と、ABPT13に格納され
たアドレスビット数を検索するための第2のアドレスデ
コーダ19と、初期設定時にプロセッサ1から送出され
るアドレスビット数のライトアドレス、またはメモリア
クセス時に番号判別部12から送出される判別結果のい
ずれか一方を有効にして第2のアドレスデコーダ19に
出力する第2のセレクタ18と、第2のセレクタ18を
切り換えるためのリードライトセレクタ信号を一時的に
保持する第2のリードライトセレクタ信号レジスタ24
と、ABPT13に対するライトアドレスを一時的に保
持する第2のライトアドレスレジスタ25と、ABPT
13に対する書き込みイネーブル信号を一時的に保持す
る第2のライトイネーブルレジスタ26と、ABPT1
3に書き込む情報を一時的に保持する第2のライトデー
タレジスタ27と、ABPT13に格納されたアドレス
ビット数、及びプロセッサ1から送出されたラインアド
レスからメインメモリ3にアクセスするためのロウアド
レス及びカラムアドレスを判別するアドレス判別部14
と、判別された実装アドレス(カード番号、スタック番
号、メモリモジュール番号、サイド番号、及びバンク番
号、DRAM内のビットを指定するロウアドレス及びカ
ラムアドレス)を、各内部バンクに対応して格納する実
装アドレスバッファ15と、実装アドレスバッファ15
からメインメモリ3へ送出する実装アドレスを選択する
第3のセレクタ28と、第3のセレクタ28のセレクト
条件を作成するメインメモリ出力調停部29とによって
構成されている。なお、プロセッサ1は初期設定情報部
30に記録された初期設定プログラムにしたがってBC
T11及びABPT13の初期設定をそれぞれ行う。
In FIG. 5, the system control device 2 includes an initial setting information section 30 for obtaining initial setting values of a bank control table and an address bit position table, which will be described later, from information of a memory module mounted on the main memory 3. , A register 10 for temporarily holding a line address sent from the processor 1, and a bank control table (hereinafter referred to as a bank control table) for storing the storage capacity and the number of internal banks of a memory module or a memory element (for example, DRAM) of the main memory 3. , BCT) 11, a first address decoder 17 for searching the number of internal banks stored in the BCT 11, a write address sent from the processor 1 to the BCT 11 at the time of initialization, or a BC
A first selector 16 for validating any one of the line addresses transmitted to T11 and outputting to the first address decoder 17 and a read / write selector signal for switching the first selector 16 are temporarily held. A first read / write selector signal register 20;
, A first write address register 21 for temporarily storing a write enable signal for the BCT 11, a first write enable register 22 for temporarily storing a write enable signal for the BCT 11, and a first write register for temporarily storing information to be written to the BCT 11. Write data register 23 and B
The main memory 3 includes a number discriminator 12 for discriminating a card number, a stack number, a memory module number, a side number, a bank number, and the like to be accessed from the data stored in the CT 11 and the line address sent from the processor. Memory device (for example, DRAM)
An address bit position table (hereinafter referred to as ABPT) 13 for storing the number of address bits of each row address and column address, a second address decoder 19 for searching the number of address bits stored in the ABPT 13, A second selector which validates either the write address of the number of address bits transmitted from the processor 1 at the time of setting or the discrimination result transmitted from the number discriminating unit 12 at the time of memory access and outputs it to the second address decoder 19. 18 and a second read / write selector signal register 24 for temporarily holding a read / write selector signal for switching the second selector 18.
A second write address register 25 for temporarily storing a write address for the ABPT 13;
13, a second write enable register 26 for temporarily storing a write enable signal for ABPT1.
3, a second write data register 27 for temporarily holding information to be written, a row address and a column for accessing the main memory 3 from the number of address bits stored in the ABPT 13 and a line address sent from the processor 1. Address discriminator 14 for discriminating addresses
And the determined mounting addresses (card number, stack number, memory module number, side number, bank number, row address and column address designating bits in the DRAM) corresponding to each internal bank. Address buffer 15 and mounting address buffer 15
And a main memory output arbitration unit 29 for creating a selection condition for the third selector 28. Note that the processor 1 performs the BC control according to the initialization program recorded in the initialization information section 30.
Initial settings of T11 and ABPT13 are respectively performed.

【0073】図6において、メインメモリ3は、例え
ば、第1のカード31、及び第2のカード32の2枚の
カードから構成され、第1のカード31及び第2のカー
ド32は、それそれ4つのメモリモジュール(第1のカ
ード31は第1のメモリモジュール311〜第4のメモ
リモジュール314、第2のカードは第5のメモリモジ
ュール321〜第8のメモリモジュール324)が実装
可能である。
In FIG. 6, the main memory 3 is composed of two cards, for example, a first card 31 and a second card 32, and the first card 31 and the second card 32 are different from each other. Four memory modules (first memory module 311 to fourth memory module 314 for first card 31 and fifth memory module 321 to eighth memory module 324 for second card) can be mounted.

【0074】ここで、第1のカード31に実装される4
つのメモリモシュールのうち、図の向かって左側の2つ
のメモリモジュール(第1のメモリモジュール311及
び第2のメモリモジュール312)を第1のレフトスタ
ック315と呼び、図の向かって右側の2つのメモリモ
ジュール(第3のメモリモジュール313及び第4のメ
モリモジュール314)を第1のライトスタック316
と呼ぶ。同様に、第2のカード32に実装される4つの
メモリモシュールのうち、図6の向かって左側の2つの
メモリモジュール(第5のメモリモジュール321及び
第6のメモリモジュール322)を第2のレフトスタッ
ク325と呼び、図6の向かって右側の2つのメモリモ
ジュール(第7のメモリモジュール323及び第8のメ
モリモジュール324)を第2のライトスタック326
と呼ぶ。なお、図6に示したメインメモリは、メモリモ
ジュール単位でそれぞれ異なった記憶容量と異なった内
部バンク数を持つことができる。
Here, the 4 card mounted on the first card 31
Of the two memory modules, the two memory modules (the first memory module 311 and the second memory module 312) on the left side of the figure are referred to as a first left stack 315, and the two memory modules on the right side of the figure are The memory modules (the third memory module 313 and the fourth memory module 314) are transferred to the first write stack 316.
Call. Similarly, of the four memory modules mounted on the second card 32, the two memory modules (the fifth memory module 321 and the sixth memory module 322) on the left side in FIG. The two memory modules (the seventh memory module 323 and the eighth memory module 324) on the right side in FIG. 6 are referred to as a left stack 325 and a second right stack 326.
Call. The main memory shown in FIG. 6 can have different storage capacities and different numbers of internal banks for each memory module.

【0075】図7において、BCT11は、8つのメモ
リモジュールにそれぞれ対応する2ビットのデータ、す
なわち16ビットのデータからなる複数のエントリによ
って構成される。
In FIG. 7, the BCT 11 is composed of a plurality of entries consisting of 2-bit data, ie, 16-bit data, respectively corresponding to eight memory modules.

【0076】ここで、各メモリモジュールに対応する2
ビットのデータはそれぞれメモリモジュールの内部バン
ク数を示している(例えば、“00”:実装なし、“0
1”:インターナルバンク数2、“10”:インターナ
ルバンク数4、“11”:インターナルバンク数8)。
Here, 2 corresponding to each memory module
Each bit data indicates the number of internal banks of the memory module (for example, “00”: no mounting, “0”
1 ": Internal bank number 2," 10 ": Internal bank number 4," 11 ": Internal bank number 8).

【0077】すなわち、各エントリのビット(15−1
4)は第1のメモリモジュール311の内部バンク数を
示し、ビット(13−12)は第2のメモリモジュール
312の内部バンク数を示している。また、ビット(1
1−10)は第3のメモリモジュール313の内部バン
ク数を示し、ビット(9−8)は第4のメモリモジュー
ル314の内部バンク数を示している。また、ビット
(7−6)は第5のメモリモジュール321の内部バン
ク数を示し、ビット(5−4)は第6のメモリモジュー
ル322の内部バンク数を示している。さらに、ビット
(3−2)は第7のメモリモジュール323の内部バン
ク数を示し、ビット(2−1)は第8メモリモジュール
324の内部バンク数を示している。
That is, the bit (15-1) of each entry
4) indicates the number of internal banks of the first memory module 311. Bits (13-12) indicate the number of internal banks of the second memory module 312. The bit (1
1-10) indicates the number of internal banks of the third memory module 313, and bits (9-8) indicate the number of internal banks of the fourth memory module 314. Bit (7-6) indicates the number of internal banks of the fifth memory module 321 and bit (5-4) indicates the number of internal banks of the sixth memory module 322. Further, bit (3-2) indicates the number of internal banks of the seventh memory module 323, and bit (2-1) indicates the number of internal banks of the eighth memory module 324.

【0078】したがって、BCT11の各エントリを参
照することで、各ユニットに必要なメモリモジュールの
空き記憶領域の有無と、その内部バンク数をそれぞれ判
別することができる。
Therefore, by referring to each entry of the BCT 11, it is possible to determine the presence / absence of a free storage area of a memory module necessary for each unit and the number of internal banks.

【0079】なお、BCT11が有するエントリ数は、
少なくとも(最大記憶容量÷ユニット)となる(例え
ば、最大記憶容量が2GB、ユニットが256MBのと
き、エントリ数は8となる)。
The number of entries in the BCT 11 is as follows.
At least (maximum storage capacity / unit) (for example, when the maximum storage capacity is 2 GB and the unit is 256 MB, the number of entries is 8).

【0080】また、本実施例ではBCT11に各メモリ
モジュールの記憶容量、及び内部バンク数を格納した例
を示しているが、BCT11には各メモリモジュールの
サイドの情報(Single Sidedメモリモジュールである
か、またはDouble Sidedメモリモジュールであるか)
も合わせて格納してよい。この場合、メモリモジュール
の内部バンク数の代わりにメモリ素子のインターナルバ
ンク数を格納する。
Further, in this embodiment, an example is shown in which the storage capacity of each memory module and the number of internal banks are stored in the BCT 11, but the BCT 11 stores information on the side of each memory module (Single Sided Memory Module). Or Double Sided memory module)
May also be stored together. In this case, the number of internal banks of the memory element is stored instead of the number of internal banks of the memory module.

【0081】図8において、ABPT13に格納される
各メモリモジュールのアドレスビット数は、実装された
メモリ素子の記憶容量とその種類によって異なり、一般
に、ロウアドレスのビット数は10〜13、カラムアド
レスのビット数は8〜11である。
In FIG. 8, the number of address bits of each memory module stored in the ABPT 13 differs depending on the storage capacity and the type of the mounted memory element. Generally, the number of bits of a row address is 10 to 13, and the number of bits of a column address is generally 10 to 13. The number of bits is 8-11.

【0082】ABPT13の各エントリは、ロウアドレ
スのビット数を示す2ビット(00:ビット数10、0
1:ビット数11、10:ビット数12、11:ビット
数13)と、カラムアドレスのビット数を示す2ビット
(00:ビット数8、01:ビット数9、10:ビット
数10、11:ビット数11)との計4ビットの情報で
それぞれ構成される。ここで、ビット(3−2)はロウ
アドレス、ビット(1−0)はカラムアドレスのビット
数をそれぞれ示している。
Each entry of the ABPT 13 has 2 bits (00: bit number 10, 0) indicating the number of bits of the row address.
1: Bit number 11, 10: Bit number 12, 11: Bit number 13) and 2 bits indicating the bit number of the column address (00: Bit number 8, 01: Bit number 9, 10: Bit number 10, 11: The number of bits is 11). Here, bit (3-2) indicates the row address, and bit (1-0) indicates the number of bits of the column address.

【0083】図8に示した例では、ABPT13の第1
のエントリ〜第8のエントリに、第1のメモリモジュー
ル〜第8のメモリモジュールのロウアドレス及びカラム
アドレスのビット数をそれぞれ示している。
In the example shown in FIG. 8, the first
The entries No. to Eighth respectively show the bit numbers of the row address and the column address of the first memory module to the eighth memory module.

【0084】なお、ABPT13各エントリは、番号判
別部12によって判別された、アクセス対象であるメモ
リモジュールのカード番号、スタック番号、メモリモジ
ュール番号、及びバンク番号によって参照される。
Each entry of the ABPT 13 is referred to by the card number, stack number, memory module number, and bank number of the memory module to be accessed, which is determined by the number determining unit 12.

【0085】次にBCT11の初期設定方法について図
9及び図10を用いて説明する。
Next, a method of initializing the BCT 11 will be described with reference to FIGS.

【0086】図9は図6に示したメインメモリの具体的
な構成例を示す模式図であり、図10は図9に示したメ
インメモリに対応するBCTの構成を示すテーブル図で
ある。なお、図9に示したメインメモリは、各メモリモ
ジュールの記憶容量が等しく、内部バンク数が異なる場
合の構成を示している。また、ユニットの記憶容量は2
56MBであり(BCT11の各エントリが256MB
となる)、ブロックの記憶容量は32MBである。
FIG. 9 is a schematic diagram showing a specific configuration example of the main memory shown in FIG. 6, and FIG. 10 is a table showing the configuration of the BCT corresponding to the main memory shown in FIG. Note that the main memory shown in FIG. 9 shows a configuration in which each memory module has the same storage capacity and a different number of internal banks. The storage capacity of the unit is 2
56 MB (each entry of BCT11 is 256 MB
), And the storage capacity of the block is 32 MB.

【0087】初期設定時、プロセッサ1は、まず最初
に、実装メモリ情報をメモリモジュール単位に取得し、
初期設定情報部30に書き込む。ここで、実装メモリ情
報とは、例えば、各メモリモジュールの記憶容量と内部
バンク数である。
At the time of initialization, the processor 1 first obtains mounting memory information for each memory module,
Write to the initial setting information section 30. Here, the mounted memory information is, for example, the storage capacity of each memory module and the number of internal banks.

【0088】続いて、プロセッサ1はライトイネーブル
信号を1にセットする。このとき、第1のセレクタ16
はセレクト信号にしたがってプロセッサ1から送出され
たライトアドレスを有効にする。この状態でプロセッサ
1は初期設定情報部30から各メモリモジュールの内部
バンク数を読み出し、BCT11に対して初期データを
書き込んでいく。
Subsequently, the processor 1 sets the write enable signal to "1". At this time, the first selector 16
Validates the write address sent from the processor 1 according to the select signal. In this state, the processor 1 reads the number of internal banks of each memory module from the initial setting information section 30, and writes initial data to the BCT 11.

【0089】ここで、上述したように、ユニットの記憶
容量を256MBとすると、2つのカード間でインタリ
ーブを均等に行うためには、2つのカードからそれぞれ
128MBの記憶領域を確保する必要がある。また、ス
タック間でインタリーブを均等に行うためには、2つの
スタックからそれぞれ64MBの記憶領域を確保する必
要がある。さらに、メモリモジュール間でインタリーブ
を均等に行うためには、2つのメモリモジュールからそ
れぞれ32MBの記憶領域を確保する必要がある。すな
わち、8つのメモリモジュールからそれぞれ32MB単
位の記憶領域を確保することで1つのエントリを作成す
る。
As described above, assuming that the storage capacity of the unit is 256 MB, it is necessary to secure a 128 MB storage area from each of the two cards in order to perform interleaving between the two cards equally. Further, in order to perform interleaving evenly between the stacks, it is necessary to secure a storage area of 64 MB from each of the two stacks. Furthermore, in order to perform interleaving evenly between the memory modules, it is necessary to secure a storage area of 32 MB from each of the two memory modules. That is, one entry is created by securing a storage area in units of 32 MB from each of the eight memory modules.

【0090】図9に示すように、第1のメモリモジュー
ルの内部バンク数が4であるとすると、BCT11のビ
ット(15−14)のデータは“10”となる。また、
第2のメモリモジュールの内部バンク数が2であるとす
ると、BCT11のビット(13−12)のデータは
“01”となる。同様に第8のメモリモジュール(BC
T11のビット(1−0))までのデータの書き込みを
行って1つのエントリを作成する。
As shown in FIG. 9, if the number of internal banks of the first memory module is 4, the data of bits (15-14) of BCT11 is "10". Also,
Assuming that the number of internal banks of the second memory module is 2, the data of the bit (13-12) of BCT11 is "01". Similarly, the eighth memory module (BC
One entry is created by writing data up to the bit (1-0) of T11.

【0091】続いて、この1つのエントリを作成するた
めに用いた記憶容量を各メモリモジュールから減算し、
同様の処理を各メモリモジュールの記憶容量がゼロにな
るまで繰り返すことで図10に示すようなBCT11を
作成する。
Subsequently, the storage capacity used to create this one entry is subtracted from each memory module.
By repeating the same processing until the storage capacity of each memory module becomes zero, the BCT 11 as shown in FIG. 10 is created.

【0092】なお、BCT11には、メインメモリの全
記憶容量(例えば、2GB)を越えた時点で各メモリモ
ジュールにメモリが実装されていないと見なされるた
め、以降のエントリには全て“00”が書き込まれる。
Since the BCT 11 is regarded as having no memory mounted on each memory module when the total storage capacity of the main memory (for example, 2 GB) is exceeded, all subsequent entries contain "00". Written.

【0093】次に、BCT11の初期設定後のメモリイ
ンタリーブ方法について説明する。
Next, the memory interleaving method after the initialization of the BCT 11 will be described.

【0094】プロセッサ1からラインアドレスを受け付
けると、受け付けたラインアドレスはレジスタ10に一
旦格納される。第1のアドレスデコーダ17はレジスタ
10に格納されたラインアドレスのビット(34−2
8)をデコードし、デコードした結果に基づいてBCT
11を検索する。なお、ここではユニットの記憶容量が
256MB(1エントリが256MB)であるため、ビ
ット(27−0)がユニットのデータとして使用され
る。
When a line address is received from the processor 1, the received line address is temporarily stored in the register 10. The first address decoder 17 outputs the bit (34-2) of the line address stored in the register 10.
8) and BCT based on the decoded result
Search for 11. Here, since the storage capacity of the unit is 256 MB (one entry is 256 MB), the bit (27-0) is used as data of the unit.

【0095】第1のセレクタ16は、プロセッサからの
セレクト信号にしたがって、初期設定時はライトアドレ
スを有効にし、通常のメモリアクセス時はラインアドレ
スを有効にする。
The first selector 16 validates the write address at the time of initial setting and validates the line address at the time of normal memory access, according to the select signal from the processor.

【0096】番号判別部12は、BCT11を検索する
ことで読み出された16ビットのデータとラインアドレ
スとによって、アクセスするメモリモジュールのカード
番号、スタック番号、メモリモジュール番号、サイド番
号、及びバンク番号等を判別する。
The number discriminating section 12 determines the card number, stack number, memory module number, side number, and bank number of the memory module to be accessed based on the 16-bit data and the line address read by searching the BCT 11. And so on.

【0097】以下に、これらの番号の判別方法について
図11のフローチャートを用いて説明する。図11は図
5に示した番号判別部の処理手順を示すフローチャート
である。なお、以下の説明では、ラインアドレスのビッ
ト(34−28)が“000100”であり、BCTの
4番目のエントリを読み出す場合を例にしている。ま
た、読み出したエントリのデータは“10011110
01110110”であり、ラインアドレスのビット
(10−5)の値は“101101”とする(メモリア
クセスは32バイト単位で行うこととするため、ビット
(4−0)は使用しない)。
Hereinafter, a method of determining these numbers will be described with reference to the flowchart of FIG. FIG. 11 is a flowchart showing a processing procedure of the number discriminating unit shown in FIG. In the following description, the bit address (34-28) of the line address is “000100” and the fourth entry of the BCT is read. The data of the read entry is “10011110”.
01110110 ", and the value of the bit (10-5) of the line address is" 101101 "(bit (4-0) is not used because memory access is performed in units of 32 bytes).

【0098】図11において、番号判別部12は、まず
最初に、メインメモリ3内にメモリモジュールが実装さ
れたカードが2枚有るか否かを判定する(ステップS
1)。
In FIG. 11, the number discriminating section 12 first judges whether or not there are two cards in which a memory module is mounted in the main memory 3 (step S).
1).

【0099】ステップS1では、BCT11を検索する
ことで読み出したデータのうち、ビット(15−8)の
論理和を算出し、“1”であればメモリモジュールが実
装された第1のカードが有ると判定する。また、ビット
(8−0)の論理和を算出し、“1”であればメモリモ
ジュールが実装された第2のカードが有ると判定する。
ここでは、ビット(15−8)及びビット(8−0)の
論理和がそれぞれ“1”であるため、第1のカード及び
第2のカード共にメモリモジュールが実装されているこ
とが分かる。
In step S1, the logical sum of bits (15-8) of the data read by searching the BCT 11 is calculated, and if "1", there is a first card on which a memory module is mounted. Is determined. Also, the logical sum of bits (8-0) is calculated, and if "1", it is determined that there is a second card on which a memory module is mounted.
Here, since the logical sum of the bit (15-8) and the bit (8-0) is “1”, it can be seen that the memory module is mounted on both the first card and the second card.

【0100】なお、アクセスするカード番号はラインア
ドレスのA[6]の値によって判別し、ここでは、A[6]
が“1”であるため、カード番号1(第2のカード)に
アクセスする(ステップS2)。
The card number to be accessed is determined by the value of A [6] of the line address.
Is "1", access is made to card number 1 (second card) (step S2).

【0101】次に、番号判別部12は、メモリモジュー
ルが実装されたスタックが2つ有るか否かを判定する
(ステップS3)。
Next, the number judging section 12 judges whether or not there are two stacks on which the memory modules are mounted.
(Step S3).

【0102】ステップS3では、BCT11を検索する
ことで読み出したデータのうち、ビット(7−4)の論
理和を算出し、“1”であればメモリモジュールが実装
されたレフトスタックが有ると判定する。また、ビット
(3−0)の論理和を算出し、“1”であればメモリモ
ジュールが実装されたライトスタックが有ると判定す
る。
In step S3, the logical sum of bits (7-4) of the data read by searching the BCT 11 is calculated, and if "1", it is determined that there is a left stack on which a memory module is mounted. I do. Also, the logical sum of the bits (3-0) is calculated, and if "1", it is determined that there is a write stack in which the memory module is mounted.

【0103】なお、アクセスするスタック番号は、ライ
ンアドレスの使用していない最下位のビットの値で判別
する。ここでは、対応するA[7]が“0”であるため、
スタック番号0(第2のカードのレフトスタック)にア
クセスする(ステップS4)。
The stack number to be accessed is determined by the value of the least significant bit of the line address that is not used. Here, since the corresponding A [7] is “0”,
Access stack number 0 (left stack of the second card) (step S4).

【0104】次に、番号判別部12は、各スタックにメ
モリモジュールが2つ実装されているか否かをそれぞれ
判定する(ステップS5)。
Next, the number determination section 12 determines whether or not two memory modules are mounted on each stack (step S5).

【0105】ステップS5では、BCT11を検索する
ことで読み出したデータのうち、ビット(7−6)の論
理和を算出し、“1”であれば一方のメモリモジュール
が実装されていると判定する。また、ビット(5−4)
の論理和を算出し、“1”であれば他方のメモリモジュ
ールが実装されていると判定する(ステップS5)。
In step S5, of the data read by searching the BCT 11, the logical sum of the bits (7-6) is calculated, and if "1", it is determined that one memory module is mounted. . Bit (5-4)
Is calculated, and if "1", it is determined that the other memory module is mounted (step S5).

【0106】なお、アクセスするメモリモジュール番号
は、ラインアドレスの使用していない最下位のビットの
値で判別する。ここでは、対応するA[8]が“1”であ
るため、メモリモジュール番号1(第2のカード/レフ
トスタックの第6のメモリモジュール)にアクセスする
(ステップS6)。
The memory module number to be accessed is determined based on the value of the least significant bit of the line address that is not used. Here, since the corresponding A [8] is “1”, the memory module number 1 (the sixth memory module of the second card / left stack) is accessed (step S6).

【0107】次に、番号判別部12は、各メモリモジュ
ールの2つのサイド(Side)にメモリ素子がそれぞ
れ有るか否かを判定する(ステップS7)。
Next, the number determination section 12 determines whether or not there are memory elements on two sides (Side) of each memory module (step S7).

【0108】本実施例では、BCT11でサイドの情報
を保持していないため、ここでは判定を行わない。ま
た、アクセスするサイド番号は、ラインアドレスの使用
していない最下位のビットの値で判別する(ステップS
8)が、本実施例ではラインアドレスでサイドの情報を
指定しないため、ここでは判別を行わない。
In this embodiment, since the side information is not stored in the BCT 11, no determination is made here. The side number to be accessed is determined based on the value of the least significant bit of the line address that is not used (step S).
8) However, in this embodiment, since the side information is not specified by the line address, no determination is made here.

【0109】次に、番号判別部12は、メモリモジュー
ルの内部バンク番号を判定する(ステップS9)。
Next, the number determining section 12 determines the internal bank number of the memory module (step S9).

【0110】ステップS9では、BCT11を検索する
ことで読み出したデータのうち、ビット(5−4)が
“11”であるため、第2のカードの第6のメモリモジ
ュールの内部バンク数が8であると判別する。
In step S9, since the bit (5-4) of the data read by searching the BCT11 is "11", the number of internal banks of the sixth memory module of the second card is eight. It is determined that there is.

【0111】また、アクセスするバンク番号はラインア
ドレスの使用していない最下位のビットを含む少なくと
も1ビットの値で決定する(ステップS10〜ステップ
S12)。ここでは、内部バンク数が8であるため、ラ
インアドレスのビット(10−8)の3ビットでアクセ
スするバンク番号を判別し、その値は“101”である
ため、バンク番号は5である。したがって、アクセスす
る領域は、第2のカード、第2のレフトスタック、及び
第6のメモリモジュールのバンク番号5の内部バンクで
あると判別される。
The bank number to be accessed is determined by the value of at least one bit including the least significant bit of the line address that is not used (steps S10 to S12). Here, since the number of internal banks is 8, the bank number to be accessed is determined by three bits (10-8) of the line address, and the value is "101", so the bank number is 5. Therefore, it is determined that the area to be accessed is the internal bank of bank number 5 of the second card, the second left stack, and the sixth memory module.

【0112】次に、ABPT13の初期設定方法につい
て説明する。
Next, a method of initializing the ABPT 13 will be described.

【0113】初期設定時、プロセッサ1は、まずメイン
メモリ3から実装メモリの情報をメモリモジュール単位
に取得する。ここで、実装メモリの情報とはメインメモ
リ3内に実装されたメモリモジュールの記憶容量や種類
である。なお、ABPT13に格納するロウアドレス及
びカラムアドレスのビット数は、メモリモジュールが有
するメモリ素子の記憶容量と種類によって異なり、一般
に、ロウアドレスのビット数は10〜13であり、カラ
ムアドレスのビット数は8〜11である。
At the time of initialization, the processor 1 first obtains information of the mounting memory from the main memory 3 for each memory module. Here, the information of the mounted memory is the storage capacity and type of the memory module mounted in the main memory 3. The number of bits of the row address and the column address stored in the ABPT 13 differs depending on the storage capacity and type of the memory element included in the memory module. Generally, the number of bits of the row address is 10 to 13 and the number of bits of the column address is 8-11.

【0114】続いて、プロセッサ1がライトイネーブル
信号を1にセットすると、第2のセレクタ18はセレク
ト信号にしたがってプロセッサ1からのライトアドレス
を有効にする。このとき、ABPT13にはライトデー
タ、すなわち、ロウアドレス及びカラムアドレスのビッ
ト数が各メモリモジュール単位に格納される。
Subsequently, when the processor 1 sets the write enable signal to 1, the second selector 18 validates the write address from the processor 1 according to the select signal. At this time, the write data, that is, the bit numbers of the row address and the column address are stored in the ABPT 13 for each memory module.

【0115】アドレス判別部14は、番号判別部12に
よって判別されたカード番号、スタック番号、メモリモ
ジュール番号、サイド番号、及びバンク番号等をデコー
ドし、ABPT13の検索を行う。
The address discriminator 14 decodes the card number, the stack number, the memory module number, the side number, the bank number, and the like discriminated by the number discriminator 12, and searches the ABPT 13.

【0116】そして、ABPT13を参照することで読
み出された4ビットの情報、プロセッサ1から受け取っ
たラインアドレス、及び番号判別部12で判別されたカ
ード番号、スタック番号、メモリモジュール番号、サイ
ド番号、バンク番号によってアクセスするロウアドレス
及びカラムアドレスを判別する。
The 4-bit information read by referring to the ABPT 13, the line address received from the processor 1, and the card number, stack number, memory module number, side number, A row address and a column address to be accessed are determined based on the bank number.

【0117】次に、ロウアドレス及びカラムアドレスの
判別方法について図12を用いて説明する。図12は図
5に示したアドレス判別部の処理手順を示すフローチャ
ートである。なお、以下では、上記BCT11を参照し
てカード番号、スタック番号、メモリモジュール番号、
サイド番号、及びバンク番号を判別する際に用いた例に
加えて、第2のカード32のレフトスタックのメモリモ
ジュール番号1(第6のメモリモジュール)に対応する
ABPT13のエントリにデータ“0100”が書き込
まれている場合を例にして説明する。
Next, a method of determining a row address and a column address will be described with reference to FIG. FIG. 12 is a flowchart illustrating a processing procedure of the address determination unit illustrated in FIG. In the following, the card number, stack number, memory module number,
In addition to the example used to determine the side number and the bank number, data “0100” is stored in the entry of the ABPT 13 corresponding to the memory module number 1 (sixth memory module) of the left stack of the second card 32. The case where the data has been written will be described as an example.

【0118】まず、アドレス判別部14は、カード番
号、スタック番号、メモリモジュール番号、バンク番号
を指定するのにラインアドレスの何ビット目までを使用
しているかを調べる。
First, the address discriminating unit 14 checks how many bits of the line address are used to designate a card number, a stack number, a memory module number, and a bank number.

【0119】本実施例では、カード数が2、スタック数
が2、メモリモジュール数が2、インターナルバンク数
が8であるので、ラインアドレスのビット(10−5)
を使用する。すなわち、カード番号、スタック番号、メ
モリモジュール番号、バンク番号を示すために使用して
いる最上位ビットはラインアドレスの10ビット目であ
る。
In this embodiment, since the number of cards is 2, the number of stacks is 2, the number of memory modules is 2, and the number of internal banks is 8, the bit (10-5) of the line address is used.
Use That is, the most significant bit used to indicate the card number, stack number, memory module number, and bank number is the tenth bit of the line address.

【0120】次に、アドレス判別部14は、番号判別部
12で判別されたカード番号、スタック番号、メモリモ
ジュール番号、及びバンク番号に基づいてABPT13
を参照し、カラムアドレスのビット数を取得する。(ス
テップS13)。
Next, the address discriminator 14 determines the ABPT 13 based on the card number, stack number, memory module number, and bank number determined by the number discriminator 12.
And obtain the number of bits of the column address. (Step S13).

【0121】また、アクセスするカラムアドレスはライ
ンアドレスの使用していない最下位のビットを含む8〜
11ビットで判別する(ステップS14〜ステップS1
7)。本実施例では、ABPT13の対応するエントリ
のビット(1−0)が“00”であるため、カラムアド
レスのビット数は8である。したがって、ラインアドレ
スのビット(18−11)とその上位3ビットに“0”
を付加したものがカラムアドレスとなる。これは、メイ
ンメモリ3へ送出する実装アドレスにはカラムアドレス
として11ビット分確保されているためである。
The column address to be accessed includes the least significant bit of the line address which is not used.
It is determined by 11 bits (step S14 to step S1).
7). In this embodiment, since the bit (1-0) of the corresponding entry of the ABPT 13 is "00", the number of bits of the column address is 8. Therefore, "0" is set in the bit (18-11) of the line address and the upper three bits.
The column address is obtained by adding. This is because the mounting address to be sent to the main memory 3 is secured as a column address for 11 bits.

【0122】次に、アドレス判別部14は、番号判別部
12で判別されたカード番号、スタック番号、メモリモ
ジュール番号、及びバンク番号に基づいてABPT13
を参照し、ロウアドレスのビット数を取得する。(ステ
ップS18)。
Next, the address discriminator 14 determines the ABPT 13 based on the card number, stack number, memory module number, and bank number discriminated by the number discriminator 12.
To obtain the bit number of the row address. (Step S18).

【0123】また、アクセスするロウアドレスはライン
アドレスの使用していない最下位のビットを含む10〜
13ビットで判別する(ステップS19〜ステップS2
2)。本実施例では、ABPT13の対応するエントリ
のビット(3−2)が“01”であるため、ロウアドレ
スのビット数は11である。したがって、ラインアドレ
スのビット(29−19)とその上位2ビットに“0”
を付加したものがロウアドレスとなる。これは、メイン
メモリへ送出する実装アドレスにはロウアドレスとして
13ビット分確保されているためである。
The row address to be accessed includes the least significant bit not used in the line address.
Discrimination is performed using 13 bits (steps S19 to S2)
2). In this embodiment, since the bit (3-2) of the corresponding entry of the ABPT 13 is "01", the number of bits of the row address is 11. Therefore, "0" is set in the bit (29-19) of the line address and its upper two bits.
Is the row address. This is because the mounting address sent to the main memory has 13 bits as a row address.

【0124】次に、求めた実装アドレスを、カード番
号、スタック番号、メモリモジュール番号、及びバンク
番号毎に、実装アドレスバッファ15にそれぞれ格納す
る。なお、実装アドレスバッファ15には、メインメモ
リ3の内部バンク数の最大数、すなわち、ここでは64
個分のデータを記憶するバッファを備えている。
Next, the obtained mounting address is stored in the mounting address buffer 15 for each card number, stack number, memory module number, and bank number. The mounting address buffer 15 has a maximum number of internal banks of the main memory 3, that is, 64 in this case.
It has a buffer for storing data for each unit.

【0125】実装アドレスバッファ15に格納された実
装アドレスは、メインメモリ出力調停部29の調停にし
たがって第3のセレクタ28によってそのうちの1つが
選択され、メインメモリ3へ送出される。
One of the mounting addresses stored in the mounting address buffer 15 is selected by the third selector 28 according to the arbitration of the main memory output arbitration unit 29, and is sent to the main memory 3.

【0126】なお、メインメモリ出力調停部29は、例
えば、Round Robin法によって調停を行う。このように
Round Robin法を用いることで同じバンクに対してメモ
リアクセスが集中しなくなるため、有効なインタリーブ
が行われる。
The main memory output arbitration unit 29 performs arbitration by, for example, the Round Robin method. in this way
By using the Round Robin method, memory accesses do not concentrate on the same bank, so that effective interleaving is performed.

【0127】したがって、BCT11及びABPT13
を参照することにより、全てのメモリモジュールを有効
に利用することができるため、異なる内部バンク数を有
するメモリモジュールがあっても、インターリーブを行
うことができる。
Therefore, BCT11 and ABPT13
, All memory modules can be used effectively, so that even if there are memory modules having different numbers of internal banks, interleaving can be performed.

【0128】さらに、BCT11の各エントリは同じ記
憶容量で作成されるため、異なる記憶容量を有するメモ
リモジュールがあっても、均一なインターリーブを行う
ことができる。
Furthermore, since each entry of the BCT 11 is created with the same storage capacity, even if there are memory modules having different storage capacities, uniform interleaving can be performed.

【0129】(第2実施例)次に本発明の第2実施例に
ついて図面を用いて説明する。
(Second Embodiment) Next, a second embodiment of the present invention will be described with reference to the drawings.

【0130】図13はメインメモリの他の具体的な構成
例を示す模式図であり、図14は図13に示したメイン
メモリに対応するBCTの構成を示すテーブル図であ
る。
FIG. 13 is a schematic diagram showing another specific configuration example of the main memory, and FIG. 14 is a table diagram showing a configuration of the BCT corresponding to the main memory shown in FIG.

【0131】本実施例のメインメモリは、実装されてい
る各メモリモジュールの記憶容量及びインターナルバン
ク数が異なっているが、カード、及びスタックの記憶容
量が同じ構成である。なお、ユニットの記憶容量は第1
実施例と同様に256MBとする。
The main memory of this embodiment has the same storage capacity of the card and the stack, although the storage capacity of each memory module and the number of internal banks are different. The storage capacity of the unit is the first
The size is 256 MB as in the embodiment.

【0132】第1実施例で述べたように、ユニットの記
憶容量が256MBの場合、BCTの各エントリを構成
するためには、各カードから128MB、各スタックか
ら64MBの記憶領域をそれぞれ確保する必要がある。
As described in the first embodiment, when the storage capacity of the unit is 256 MB, in order to configure each entry of the BCT, it is necessary to secure a storage area of 128 MB from each card and 64 MB from each stack. There is.

【0133】本実施例では、図13に示すように、第1
のカードのレフトスタックには第1のメモリモジュール
しか実装されていないため、第1のメモリモジュールか
ら64MBの記憶領域(2ブロック分)を確保する。ま
た、ライトスタックにはメモリモジュールが2つ実装さ
れているため、それぞれから32MBの記憶領域(1ブ
ロック分)を確保する。
In this embodiment, as shown in FIG.
Since only the first memory module is mounted on the left stack of this card, a storage area of 64 MB (for two blocks) is secured from the first memory module. Since two memory modules are mounted on the write stack, a storage area of 32 MB (for one block) is secured from each.

【0134】一方、第2のカードのレフトスタックには
メモリモジュールが実装されていないため、第2のカー
ドのレフトスタックからは記憶領域を確保することはで
きない。しかしながら、ライトスタックにはメモリモジ
ュールが2つ実装されているため、それぞれから64M
Bの記憶領域(2ブロック分)を確保する。このように
実装された各メモリモジュールから記憶領域を確保する
ことでBCTの1つのエントリを作成する。
On the other hand, since no memory module is mounted on the left stack of the second card, a storage area cannot be secured from the left stack of the second card. However, since two memory modules are mounted on the write stack, 64M
A storage area for B (two blocks) is secured. One entry of the BCT is created by securing a storage area from each of the memory modules mounted as described above.

【0135】また、第1実施例と同様に、1つのエント
リを作成するのに用いた記憶容量を各メモリモジュール
から減算し、これを各メモリモジュールの記憶容量が零
になるまで繰り返すことで図14に示すようなBCTが
作成される。なお、BCTには、メインメモリの全記憶
容量である2GBを越えた時点でどのメモリモジュール
にメモリが実装されていないと見なされるため、以降の
エントリには全て“00”が書き込まれる。
As in the first embodiment, the storage capacity used to create one entry is subtracted from each memory module, and this is repeated until the storage capacity of each memory module becomes zero. A BCT as shown in FIG. 14 is created. In the BCT, it is considered that no memory module is mounted in any memory module when the total storage capacity of the main memory exceeds 2 GB, so that “00” is written in all subsequent entries.

【0136】したがって、実装されていないメモリモジ
ュールがある場合、BCTの各エントリは、実装されて
いないメモリモジュールに対してアクセスしないように
作成される。
Therefore, when there is a memory module that is not mounted, each entry of the BCT is created so as not to access the memory module that is not mounted.

【0137】(第3実施例)次に本発明の第3実施例に
ついて図面を参照して説明する。
(Third Embodiment) Next, a third embodiment of the present invention will be described with reference to the drawings.

【0138】図15は図1に示したシステム制御装置の
他の構成例を示すブロック図である。
FIG. 15 is a block diagram showing another configuration example of the system control device shown in FIG.

【0139】本実施例は、第1実施例及び第2実施例で
用いた初期設定情報部と同様のデータ及び初期設定プロ
グラムが記録された診断ユニット40を備え、診断ユニ
ット40によってバンクコントールテーブル及びアドレ
スビット位置テーブルの初期値をそれぞれ設定する。そ
の他の構成は第1実施例と同様であるため、その説明は
省略する。
This embodiment includes a diagnostic unit 40 in which the same data and initial setting program as the initial setting information section used in the first and second embodiments are recorded. Set the initial value of the address bit position table. The other configuration is the same as that of the first embodiment, and a description thereof will be omitted.

【0140】診断ユニット40は、初期設定時、第1実
施例のプロセッサと同様にメモリモジュール単位の実装
メモリ情報を取得する。ここで、実装メモリ情報とは、
第1実施例と同様に各メモリモジュールの記憶容量とイ
ンターナルバンク数である。
At the time of initial setting, the diagnostic unit 40 acquires mounted memory information for each memory module, similarly to the processor of the first embodiment. Here, the mounting memory information is
The storage capacity and the number of internal banks of each memory module are the same as in the first embodiment.

【0141】続いて、診断ユニット40は、取得した実
装メモリ情報に基づきBCT及びABPTを作成する。
Subsequently, the diagnostic unit 40 creates BCT and ABPT based on the acquired mounting memory information.

【0142】以降、作成されたBCT及びABPTを参
照してプロセッサ1によって第1実施例と同様の処理が
行われ、アクセスするメモリモジュールのロウアドレス
及びカラムアドレスが決定される。
Thereafter, the processor 1 performs the same processing as in the first embodiment by referring to the created BCT and ABPT, and determines the row address and the column address of the memory module to be accessed.

【0143】したがって、診断ユニット40によって第
1実施例と同様にBCT及びABPTを作成することで
第1実施例と同様の効果を得ることができる。
Therefore, the same effects as in the first embodiment can be obtained by creating the BCT and the ABPT by the diagnostic unit 40 in the same manner as in the first embodiment.

【0144】[0144]

【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載する効果を奏する。
Since the present invention is configured as described above, the following effects can be obtained.

【0145】インタリーブ階層の最上位階層から最下位
階層に向かって、各階層毎にそれぞれ均等にメモリイン
タフェースを選択すると共に最下位層のメモリインタフ
ェースに接続された2つのメモリモジュールを均等に選
択することで、各メモリモジュールに対して均等なイン
ターリーブを行うことができる。
From the highest level of the interleave level to the lowest level, a memory interface is uniformly selected for each level, and two memory modules connected to the lowest level memory interface are equally selected. Thus, uniform interleaving can be performed on each memory module.

【0146】また、インタリーブ階層の各階層毎に、配
下のメモリインタフェースに記憶領域が残っているメモ
リモジュールが接続されているか否かを確認し、そのメ
モリインタフェース双方に記憶領域が残っているメモリ
モジュールが接続されている場合は、対応するメモリモ
ジュールのそれぞれの割り当てブロック数を2で除算
し、メモリインタフェースの一方にのみ記憶領域が残っ
ているメモリモジュールが接続されている場合は、対応
するメモリモジュールの割り当てブロック数をそのまま
の値で保持し、各メモリモジュール毎に算出された割り
当てブロック数と等しい数のブロックを、各メモリモジ
ュールからそれぞれ割り当てることでユニットを構成
し、プロセッサがユニット毎に記憶装置に対してアクセ
スすることで、メモリ素子をユニット単位で増設するこ
とが可能になり、異なる記憶容量を有するメモリモジュ
ールがあっても均等なインターリーブを行うことができ
る。
[0146] For each layer of the interleave layer, it is confirmed whether or not a memory module having a storage area remaining in a subordinate memory interface is connected, and a memory module having a storage area remaining in both memory interfaces is checked. Is connected, the number of allocated blocks of the corresponding memory module is divided by 2, and if a memory module having a storage area remaining in only one of the memory interfaces is connected, the corresponding memory module is connected. The number of allocated blocks is held as it is, and the number of blocks equal to the number of allocated blocks calculated for each memory module is allocated from each memory module to form a unit. Access to the memory It is possible to install additional child in units, it is possible to perform uniform interleaving even if memory modules having different memory capacities.

【0147】したがって、記憶容量または内部バンク数
が異なったメモリモジュールを実装した場合、あるいは
任意のメモリモジュールが実装されていない場合でも、
実装された全ての記憶領域から得られる最大バンク数で
インタリーブを行うことができる。
Therefore, even when memory modules with different storage capacities or different numbers of internal banks are mounted, or when any memory module is not mounted,
Interleaving can be performed with the maximum number of banks obtained from all mounted storage areas.

【0148】さらに、バンクコントロールテーブルを参
照することで、メモリモジュールの記憶領域の空き状態
とラインアドレスの中からプロセッサでアクセスするメ
モリ素子のバンク番号を示すビットとを特定することが
でき、アドレスビット位置テーブルを参照することで、
ラインアドレスの中からプロセッサでアクセスするメモ
リ素子のロウアドレス及びカラムアドレスを示すビット
を特定するできるため、全てのメモリモジュールの記憶
領域を有効に利用することができる。したがって、メモ
リ素子を増設する際に元々搭載されていたメモリ素子が
無駄になることがない。
Further, by referring to the bank control table, a bit indicating the bank number of the memory element to be accessed by the processor can be specified from the empty state of the storage area of the memory module and the line address. By referring to the position table,
Since the bits indicating the row address and the column address of the memory element accessed by the processor can be specified from the line address, the storage areas of all the memory modules can be used effectively. Therefore, the memory element originally mounted when adding the memory element is not wasted.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のメモリ制御方法を実行するコンピュー
タシステムの一構成例を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of a computer system that executes a memory control method according to the present invention.

【図2】本発明のメモリ制御方法を実行するコンピュー
タシステムの他の構成例を示すブロック図である。
FIG. 2 is a block diagram illustrating another configuration example of a computer system that executes the memory control method of the present invention.

【図3】本発明のメモリ制御方法を実行するコンピュー
タシステムのインタリーブ階層の一構成例を示すブロッ
ク図である。
FIG. 3 is a block diagram showing a configuration example of an interleave hierarchy of a computer system that executes a memory control method of the present invention.

【図4】メインメモリに最大8個のメモリモジュールが
実装可能なコンピュータシステムの一構成例を示すブロ
ック図である。
FIG. 4 is a block diagram illustrating a configuration example of a computer system in which a maximum of eight memory modules can be mounted on a main memory.

【図5】図1に示したシステム制御装置の第1実施例の
構成を示すブロック図である。
FIG. 5 is a block diagram showing a configuration of a first example of the system control device shown in FIG. 1;

【図6】図1に示したメインメモリの一構成例を示すブ
ロック図である。
FIG. 6 is a block diagram illustrating a configuration example of a main memory illustrated in FIG. 1;

【図7】図5に示したBCTの一構成例を示すテーブル
図である。
FIG. 7 is a table showing an example of the configuration of the BCT shown in FIG. 5;

【図8】図5に示したABPTの一構成例を示すテーブ
ル図である。
FIG. 8 is a table diagram showing a configuration example of the ABPT shown in FIG. 5;

【図9】図6に示したメインメモリの具体的な構成例を
示す模式図である。
FIG. 9 is a schematic diagram showing a specific configuration example of a main memory shown in FIG. 6;

【図10】図9に示したメインメモリに対応するBCT
の構成を示すテーブル図である。
FIG. 10 is a BCT corresponding to the main memory shown in FIG. 9;
FIG. 3 is a table diagram showing the configuration of FIG.

【図11】図5に示した番号判別部の処理手順を示すフ
ローチャートである。
11 is a flowchart illustrating a processing procedure of a number discriminating unit illustrated in FIG. 5;

【図12】図5に示したアドレス判別部の処理手順を示
すフローチャートである。
FIG. 12 is a flowchart illustrating a processing procedure of an address determination unit illustrated in FIG. 5;

【図13】メインメモリの他の具体的な構成例を示す模
式図である。
FIG. 13 is a schematic diagram showing another specific configuration example of the main memory.

【図14】図13に示したメインメモリに対応するBC
Tの構成を示すテーブル図である。
FIG. 14 shows a BC corresponding to the main memory shown in FIG.
FIG. 3 is a table showing a configuration of T.

【図15】図1に示したシステム制御装置の他の構成例
を示すブロック図である。
FIG. 15 is a block diagram illustrating another configuration example of the system control device illustrated in FIG. 1;

【符号の説明】[Explanation of symbols]

1 プロセッサ 2 システム制御装置 3 メインメモリ 4、311 第1のメモリモジュール 4、312 第2のメモリモジュール 4、313 第3のメモリモジュール 4、314 第4のメモリモジュール 4、321 第5のメモリモジュール 4、322 第6のメモリモジュール 4、323 第7のメモリモジュール 4、324 第8のメモリモジュール 5 IO装置 6 記録媒体 7 メモリインタフェースユニット 8 第1のメモリインタフェースユニット 8 第2のメモリインタフェースユニット 9 第1のメモリインタフェース 9 第2のメモリインタフェース 9 第3のメモリインタフェース 9 第4のメモリインタフェース 9 第5のメモリインタフェース 9 第6のメモリインタフェース 10 レジスタ 11 BCT 12 番号判別部 13 ABPT 14 アドレス判別部 15 実装アドレスバッファ 16 第1のセレクタ 17 第1のアドレスデコーダ 18 第2のセレクタ 19 第2のアドレスデコーダ 20 第1のリードライトセレクタ信号レジスタ 21 第1のライトアドレスレジスタ 22 第1のライトイネーブルレジスタ 23 第1のライトデータレジスタ 20 第2のリードライトセレクタ信号レジスタ 25 第2のライトアドレスレジスタ 26 第2のライトイネーブルレジスタ 27 第2のライトデータレジスタ 28 第2のセレクタ 29 メインメモリ出力調停部 30 初期設定情報部 31 第1のカード 32 第2のカード 40 診断ユニット 315 第1のレフトスタック 316 第1のライトスタック 325 第2のレフトスタック 326 第2のライトスタック1 processor 2 system controller 3 main memory 4 1, 311 a first memory module 4 2, 312 second memory module 4 3, 313 third memory module 4 4, 314 the fourth memory module 4 5, 321 second memory modules 4 6 5, 322 sixth memory module 4 7, 323 seventh memory module 4 8, 324 eighth memory module 5 IO 6 recording medium 7 memory interface unit 8 1 first memory interface unit 8 2 2nd memory interface unit 9 1 1st memory interface 9 2 2nd memory interface 9 3 3rd memory interface 9 4 4th memory interface 9 5 5th memory interface 9 6 6th memory interface 10 Register 11 BCT 12 Number discriminator 13 ABPT 14 Address discriminator 15 Mounting address buffer 16 First selector 17 First address decoder 18 Second selector 19 Second address decoder 20 First read / write selector signal register 21 First 1 write address register 22 first write enable register 23 first write data register 20 second read / write selector signal register 25 second write address register 26 second write enable register 27 second write data register 28 Second selector 29 Main memory output arbitration unit 30 Initial setting information unit 31 First card 32 Second card 40 Diagnostic unit 315 First left stack 316 First right stack 325 Second left Tack 326 Second Light Stack

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成11年4月12日[Submission date] April 12, 1999

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】特許請求の範囲[Correction target item name] Claims

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【特許請求の範囲】[Claims]

【請求項】 少なくとも1つのメモリ素子から成るメ
モリモジュールを複数個実装可能な記憶装置に、プロセ
ッサからインタリーブでアクセスさせるためのメモリ制
御装置であって、 前記メモリモジュールにアクセスするためのインタフェ
ースである複数のメモリインタフェースから成り、前記
メモリインタフェース配下にそれぞれインターリーブ対
象となる2つの他のメモリインタフェースを接続するこ
とで、前記プロセッサから前記メモリモジュールにアク
セスする経路となるインタリーブ階層を形成し、 前記インタリーブ階層の最上位階層から最下位階層に向
かって、各階層毎にそれぞれ均等に前記メモリインタフ
ェースを選択すると共に前記最下位層のメモリインタフ
ェースに接続された2つのメモリモジュールを均等に選
択することで前記プロセッサがアクセスするメモリモジ
ュールを決定するシステム制御装置を有するメモリ制御
装置。
6. A memory control device for causing a processor to access a storage device on which a plurality of memory modules including at least one memory element can be mounted in an interleaved manner, and an interface for accessing the memory module. A plurality of memory interfaces, and two other memory interfaces to be interleaved are connected under the memory interface to form an interleave hierarchy serving as a path for accessing the memory module from the processor; , From the highest hierarchy to the lowest hierarchy, the memory interface is equally selected for each hierarchy, and the two memory modules connected to the memory interface of the lowest hierarchy are equally selected. A memory controller having a system controller for determining a memory module to be accessed by the processor.

【請求項】 前記メモリモジュールのうち、記憶容量
が最少のメモリモジュールと等しい記憶容量をユニット
とし、 前記ユニットを実装可能なメモリモジュール数で除算し
た記憶容量をブロックとし、 実装された前記メモリモジュールに対してそれぞれ実装
可能なメモリモジュール数が初期値として与えられる値
を割り当てブロック数としたとき、 前記システム制御装置は、 前記インタリーブ階層の各階層毎に、配下のメモリイン
タフェースに記憶領域が残っているメモリモジュールが
接続されているか否かを確認し、 該メモリインタフェース双方に記憶領域が残っているメ
モリモジュールが接続されている場合は、対応するメモ
リモジュールのそれぞれの割り当てブロック数を2で除
算し、該メモリインタフェースの一方にのみ記憶領域が
残っているメモリモジュールが接続されている場合は、
対応するメモリモジュールの割り当てブロック数をその
ままの値で保持し、 各メモリモジュール毎に算出された割り当てブロック数
と等しい数の前記ブロックを、各メモリモジュールから
それぞれ割り当てることで前記ユニットを構成し、 前記プロセッサを該ユニット毎に前記記憶装置に対して
アクセスさせる請求項記載のメモリ制御装置。
7. A memory module having a storage capacity equal to the smallest memory module among the memory modules, and a storage capacity obtained by dividing the memory module by the number of memory modules capable of mounting the unit as a block. When the value given as the initial value is the number of memory modules that can be mounted for each of the blocks, the system control device determines that the storage area remains in the subordinate memory interface for each of the interleaved layers Check whether any memory module is connected or not, and if a memory module with a remaining storage area is connected to both memory interfaces, divide the number of allocated blocks of the corresponding memory module by 2 Storage space in only one of the memory interfaces If the memory module with the remaining area is connected,
The unit is configured by holding the number of allocated blocks of the corresponding memory module as it is and assigning the same number of blocks as the number of allocated blocks calculated for each memory module from each memory module. 7. The memory control device according to claim 6 , wherein a processor accesses the storage device for each unit.

【請求項】 前記システム制御装置は、 前記プロセッサから指定されるラインアドレスのビット
のうち、使用していない最下位ビットから順に用いて、
前記インターリーブ階層の上位階層から下位階層に向か
って前記メモリインタフェースをそれぞれ選択すると共
に前記メモリモジュールを選択する請求項または
載のメモリ制御装置。
Wherein said system controller is out of the bit line address specified by the processor, using the least significant bits not used in order,
Wherein the memory controller according to claim 6 or 7, wherein selecting the memory modules with the upper layer of interleaved hierarchy towards the lower layer respectively selecting the memory interface.

【請求項】 前記システム制御装置は、 前記メモリモジュールが有する内部バンク数が各メモリ
モジュール毎にそれぞれ書き込まれたバンクコントロー
ルテーブルと、 前記バンクコントロールテーブルを参照して、前記メモ
リモジュールに記憶領域が残っているか否かを判定する
と共に前記ラインアドレスの中からプロセッサでアクセ
スするメモリ素子のバンク番号を示すビットを見つけ出
す番号判別部と、を有する請求項乃至のいずれか1
項記載のメモリ制御装置。
Wherein said system controller includes a bank control table number internal bank is written into each memory module the memory module has, with reference to the bank control table storage area in the memory module any of claims 6-8 having a number determination unit to find the bit indicating the bank number of the memory device to be accessed by the processor from among said line address with determining whether there remains 1
The memory control device according to claim 1.

【請求項10】 前記システム制御装置は、 前記メモリ素子のロウアドレス及びカラムアドレスのビ
ット数がそれぞれ書き込まれたアドレスビット位置テー
ブルと、 前記アドレスビット位置テーブルを参照して、前記ライ
ンアドレスの中からプロセッサでアクセスするメモリ素
子のロウアドレス及びカラムアドレスを示すビットを見
つけ出すアドレス判別部と、を有する請求項乃至
いずれか1項記載のメモリ制御装置。
Wherein said system controller, said address bit position table number of bits row and column addresses are written respectively in the memory device, by referring to the address bit position table, from among the line address The memory control device according to any one of claims 6 to 9 , further comprising: an address determining unit that finds out a bit indicating a row address and a column address of a memory element accessed by the processor.

【請求項11】 少なくとも1つのメモリ素子から成る
メモリモジュールを複数個実装可能な記憶装置に、プロ
セッサからインタリーブでアクセスするためのメモリ制
御方法をコンピュータシステムに実行させるためのプロ
グラムが記録された記録媒体であって、 前記メモリモジュールにアクセスするためのインタフェ
ースである複数のメモリインタフェースから成り、前記
メモリインタフェース配下にそれぞれインターリーブ対
象となる2つの他のメモリインタフェースを接続するこ
とで、前記プロセッサから前記メモリモジュールにアク
セスする経路となるインタリーブ階層を形成し、 前記インタリーブ階層の最上位階層から最下位階層に向
かって、各階層毎にそれぞれ均等に前記メモリインタフ
ェースを選択すると共に前記最下位層のメモリインタフ
ェースに接続された2つのメモリモジュールを均等に選
択することで前記プロセッサがアクセスするメモリモジ
ュールを決定するためのプログラムが記録された記録媒
体。
11. A memory module comprising at least one memory device into a plurality mountable storage device, a recording medium on which a program for executing a memory control method for accessing an interleaved from the processor to a computer system is recorded It comprises a plurality of memory interfaces which are interfaces for accessing the memory module, and connects two other memory interfaces to be interleaved under the memory interface, thereby allowing the processor to execute the memory module. Forming an interleave layer that serves as a path for accessing the memory interface. From the highest layer to the lowest layer of the interleave layer, the memory interface is uniformly selected for each layer, and A recording medium in which a program for determining a memory module to be accessed by the processor by equally selecting two memory modules connected to a memory interface is recorded.

【請求項12】 前記メモリモジュールのうち、記憶容
量が最少のメモリモジュールと等しい記憶容量をユニッ
トとし、 前記ユニットを実装可能なメモリモジュール数で除算し
た記憶容量をブロックとし、 実装された前記メモリモジュールに対してそれぞれ実装
可能なメモリモジュール数が初期値として与えられる値
を割り当てブロック数としたとき、 前記インタリーブ階層の各階層毎に、配下のメモリイン
タフェースに記憶領域が残っているメモリモジュールが
接続されているか否かを確認し、 該メモリインタフェース双方に記憶領域が残っているメ
モリモジュールが接続されている場合は、対応するメモ
リモジュールのそれぞれの割り当てブロック数を2で除
算し、該メモリインタフェースの一方にのみ記憶領域が
残っているメモリモジュールが接続されている場合は、
対応するメモリモジュールの割り当てブロック数をその
ままの値で保持し、 各メモリモジュール毎に算出された割り当てブロック数
と等しい数の前記ブロックを、各メモリモジュールから
それぞれ割り当てることで前記ユニットを構成し、 前記プロセッサを、該ユニット毎に前記記憶装置に対し
てアクセスさせるためのプログラムが記録された請求項
11記載の記録媒体。
12. Of the memory module, the storage capacity is a unit equal storage capacity with minimal memory module, the memory capacity by dividing the unit memory the number of modules that can be implemented as a block, the memory modules implemented When the value given as the initial value is the number of memory modules that can be mounted for each of the interleaved layers, the memory module whose storage area remains in the subordinate memory interface is connected to each of the interleaved layers. If a memory module having a storage area remaining is connected to both of the memory interfaces, the number of allocated blocks of the corresponding memory module is divided by two, and one of the memory interfaces Memory memory that only has a storage area If you Yuru is connected,
The unit is configured by holding the number of allocated blocks of the corresponding memory module as it is and assigning the same number of blocks as the number of allocated blocks calculated for each memory module from each memory module. A program for causing a processor to access the storage device for each unit is recorded.
12. The recording medium according to item 11 .

【請求項13】 前記プロセッサから指定されるライン
アドレスのビットのうち、使用していない最下位ビット
から順に用いて、前記インターリーブ階層の上位階層か
ら下位階層に向かって前記メモリインタフェースをそれ
ぞれ選択すると共に前記メモリモジュールを選択するた
めのプログラムが記録された請求項11または12記載
の記録媒体。
13. Of the bit line address specified by the processor, using the least significant bits not used in order, with each selecting the memory interface toward the lower hierarchy from the upper layer of the interleaving hierarchy recording medium for a program is recorded according to claim 11 or 12, wherein for selecting the memory module.

【請求項14】 前記メモリモジュールが有する内部バ
ンク数を各メモリモジュール毎にそれぞれバンクコント
ロールテーブルとして書き込み、該バンクコントロール
テーブルを参照することで前記メモリモジュールに記憶
領域が残っているか否かを判定すると共に前記ラインア
ドレスの中からプロセッサでアクセスするメモリ素子の
バンク番号を示すビットを見つけ出すためのプログラム
が記録された請求項11乃至13のいずれか1項記載の
記録媒体。
14. The number of internal banks of the memory module is written as a bank control table for each memory module, and it is determined whether or not a storage area remains in the memory module by referring to the bank control table. recording medium program according to any one of claims 11 to 13 is recorded for finding a bit indicating the bank number of the memory device to be accessed by the processor from among said line address with.

【請求項15】 前記メモリ素子のロウアドレス及びカ
ラムアドレスのビット数をそれぞれアドレスビット位置
テーブルとして書き込み、該アドレスビット位置テーブ
ルを参照することで前記ラインアドレスの中からプロセ
ッサでアクセスするメモリ素子のロウアドレス及びカラ
ムアドレスを示すビットを見つけ出すためのプログラム
が記録された請求項11乃至14のいずれか1項記載の
記録媒体。
15. The row of the writing as a memory row address and a column, respectively the address bit position table the number of bits of the address of the device, a memory device to be accessed by the processor from among said line address by referring to the address bit position table recording medium according to any one of claims 11 to 14 program is recorded for finding a bit indicating an address and a column address.

【手続補正2】[Procedure amendment 2]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0012[Correction target item name] 0012

【補正方法】削除[Correction method] Deleted

【手続補正3】[Procedure amendment 3]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0016[Correction target item name] 0016

【補正方法】削除[Correction method] Deleted

Claims (21)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つのメモリ素子から成るメ
モリモジュールを複数個実装可能な記憶装置に、プロセ
ッサからインタリーブでアクセスするためのメモリ制御
方法であって、 前記メモリモジュールにアクセスするためのインタフェ
ースである複数のメモリインタフェースから成り、前記
メモリインタフェース配下にそれぞれインターリーブ対
象となる2つの他のメモリインタフェースを接続するこ
とで、前記プロセッサから前記メモリモジュールにアク
セスする経路となるインタリーブ階層を形成し、 前記インタリーブ階層の最上位階層から最下位階層に向
かって、各階層毎にそれぞれ均等に前記メモリインタフ
ェースを選択すると共に前記最下位層のメモリインタフ
ェースに接続された2つのメモリモジュールを均等に選
択することで前記プロセッサがアクセスするメモリモジ
ュールを決定するメモリ制御方法。
1. A memory control method for interleaving access from a processor to a storage device on which a plurality of memory modules including at least one memory element can be mounted, wherein the interface is an interface for accessing the memory module. A plurality of memory interfaces, and two other memory interfaces to be interleaved are connected under the memory interface to form an interleave hierarchy serving as a path for accessing the memory module from the processor; From the highest level to the lowest level, the memory interface is equally selected for each layer, and the two memory modules connected to the lowest level memory interface are equally selected. Memory control method for determining a memory module which the processor accesses in.
【請求項2】 前記メモリモジュールのうち、記憶容量
が最少のメモリモジュールと等しい記憶容量をユニット
とし、 前記ユニットを実装可能なメモリモジュール数で除算し
た記憶容量をブロックとし、 実装された前記メモリモジュールに対してそれぞれ実装
可能なメモリモジュール数が初期値として与えられる値
を割り当てブロック数としたとき、 前記インタリーブ階層の各階層毎に、配下のメモリイン
タフェースに記憶領域が残っているメモリモジュールが
接続されているか否かを確認し、 該メモリインタフェース双方に記憶領域が残っているメ
モリモジュールが接続されている場合は、対応するメモ
リモジュールのそれぞれの割り当てブロック数を2で除
算し、該メモリインタフェースの一方にのみ記憶領域が
残っているメモリモジュールが接続されている場合は、
対応するメモリモジュールの割り当てブロック数をその
ままの値で保持し、 各メモリモジュール毎に算出された割り当てブロック数
と等しい数の前記ブロックを、各メモリモジュールから
それぞれ割り当てることで前記ユニットを構成し、 前記プロセッサは該ユニット毎に前記記憶装置に対して
アクセスする請求項1記載のメモリ制御方法。
2. A memory module having a storage capacity equal to the smallest memory module among the memory modules, and a storage capacity obtained by dividing the memory module by the number of memory modules capable of mounting the unit as a block. When the value given as the initial value is the number of memory modules that can be mounted for each of the interleaved layers, the memory module whose storage area remains in the subordinate memory interface is connected to each of the interleaved layers. If a memory module having a storage area remaining is connected to both of the memory interfaces, the number of allocated blocks of the corresponding memory module is divided by two, and one of the memory interfaces Memory module that has a storage area only If Lumpur is connected,
The unit is configured by holding the number of allocated blocks of the corresponding memory module as it is and assigning the same number of blocks as the number of allocated blocks calculated for each memory module from each memory module. 2. The memory control method according to claim 1, wherein the processor accesses the storage device for each unit.
【請求項3】 前記プロセッサから指定されるラインア
ドレスのビットのうち、使用していない最下位ビットか
ら順に用いて、前記インターリーブ階層の上位階層から
下位階層に向かって前記メモリインタフェースをそれぞ
れ選択すると共に前記メモリモジュールを選択する請求
項1または2記載のメモリ制御方法。
3. The memory interface is selected from an upper layer to a lower layer of the interleave layer by using the least significant bits of the line address designated by the processor in order from the least significant bit. 3. The memory control method according to claim 1, wherein the memory module is selected.
【請求項4】 前記メモリモジュールが有する内部バン
ク数を各メモリモジュール毎にそれぞれバンクコントロ
ールテーブルとして書き込み、該バンクコントロールテ
ーブルを参照することで前記メモリモジュールに記憶領
域が残っているか否かを判定すると共に前記ラインアド
レスの中からプロセッサでアクセスするメモリ素子のバ
ンク番号を示すビットを見つけ出す請求項1乃至3のい
ずれか1項記載のメモリ制御方法。
4. The number of internal banks of the memory module is written as a bank control table for each memory module, and it is determined whether or not a storage area remains in the memory module by referring to the bank control table. 4. The memory control method according to claim 1, wherein a bit indicating a bank number of a memory element accessed by a processor is found out of the line address.
【請求項5】 前記メモリ素子のロウアドレス及びカラ
ムアドレスのビット数をそれぞれアドレスビット位置テ
ーブルとして書き込み、該アドレスビット位置テーブル
を参照することで前記ラインアドレスの中からプロセッ
サでアクセスするメモリ素子のロウアドレス及びカラム
アドレスを示すビットを見つけ出す請求項1乃至4のい
ずれか1項記載のメモリ制御方法。
5. The row number of a memory element to be accessed by a processor from the line address by writing the number of bits of a row address and a column address of the memory element as an address bit position table and referring to the address bit position table. 5. The memory control method according to claim 1, wherein bits indicating an address and a column address are found.
【請求項6】 前記メモリモジュールは、 1または2のサイドから成る請求項1乃至5のいずれか
1項記載のメモリ制御方法。
6. The memory control method according to claim 1, wherein the memory module has one or two sides.
【請求項7】 mを0以上の整数としたとき、 前記メモリ素子は、2個のインターナルバンクを有す
る請求項1乃至6のいずれか1項記載のメモリ制御方
法。
7. The memory control method according to claim 1, wherein, when m is an integer equal to or greater than 0, the memory element has 2 m internal banks.
【請求項8】 少なくとも1つのメモリ素子から成るメ
モリモジュールを複数個実装可能な記憶装置に、プロセ
ッサからインタリーブでアクセスさせるためのメモリ制
御装置であって、 前記メモリモジュールにアクセスするためのインタフェ
ースである複数のメモリインタフェースから成り、前記
メモリインタフェース配下にそれぞれインターリーブ対
象となる2つの他のメモリインタフェースを接続するこ
とで、前記プロセッサから前記メモリモジュールにアク
セスする経路となるインタリーブ階層を形成し、 前記インタリーブ階層の最上位階層から最下位階層に向
かって、各階層毎にそれぞれ均等に前記メモリインタフ
ェースを選択すると共に前記最下位層のメモリインタフ
ェースに接続された2つのメモリモジュールを均等に選
択することで前記プロセッサがアクセスするメモリモジ
ュールを決定するシステム制御装置を有するメモリ制御
装置。
8. A memory control device for causing a processor to access a storage device on which a plurality of memory modules each including at least one memory element can be mounted in an interleaved manner, and is an interface for accessing the memory module. A plurality of memory interfaces, and two other memory interfaces to be interleaved are connected under the memory interface to form an interleave hierarchy serving as a path for accessing the memory module from the processor; , From the highest hierarchy to the lowest hierarchy, the memory interface is equally selected for each hierarchy, and the two memory modules connected to the memory interface of the lowest hierarchy are equally selected. Memory controller having a system controller for determining the memory module which the processor accesses between.
【請求項9】 前記メモリモジュールのうち、記憶容量
が最少のメモリモジュールと等しい記憶容量をユニット
とし、 前記ユニットを実装可能なメモリモジュール数で除算し
た記憶容量をブロックとし、 実装された前記メモリモジュールに対してそれぞれ実装
可能なメモリモジュール数が初期値として与えられる値
を割り当てブロック数としたとき、 前記システム制御装置は、 前記インタリーブ階層の各階層毎に、配下のメモリイン
タフェースに記憶領域が残っているメモリモジュールが
接続されているか否かを確認し、 該メモリインタフェース双方に記憶領域が残っているメ
モリモジュールが接続されている場合は、対応するメモ
リモジュールのそれぞれの割り当てブロック数を2で除
算し、該メモリインタフェースの一方にのみ記憶領域が
残っているメモリモジュールが接続されている場合は、
対応するメモリモジュールの割り当てブロック数をその
ままの値で保持し、 各メモリモジュール毎に算出された割り当てブロック数
と等しい数の前記ブロックを、各メモリモジュールから
それぞれ割り当てることで前記ユニットを構成し、 前記プロセッサを該ユニット毎に前記記憶装置に対して
アクセスさせる請求項8記載のメモリ制御装置。
9. A memory module having a storage capacity equal to the smallest memory module among the memory modules as a unit, and a storage capacity obtained by dividing the memory module by the number of memory modules capable of mounting the unit as a block. When the value given as the initial value is the number of memory modules that can be mounted for each of the blocks, the system control device determines that the storage area remains in the subordinate memory interface for each of the interleaved layers Check whether any memory module is connected or not, and if a memory module with a remaining storage area is connected to both memory interfaces, divide the number of allocated blocks of the corresponding memory module by 2 Storage space in only one of the memory interfaces If the memory module is left is connected,
The unit is configured by retaining the number of allocated blocks of the corresponding memory module as it is and allocating the same number of blocks as the number of allocated blocks calculated for each memory module from each memory module. 9. The memory control device according to claim 8, wherein a processor accesses the storage device for each unit.
【請求項10】 前記システム制御装置は、 前記プロセッサから指定されるラインアドレスのビット
のうち、使用していない最下位ビットから順に用いて、
前記インターリーブ階層の上位階層から下位階層に向か
って前記メモリインタフェースをそれぞれ選択すると共
に前記メモリモジュールを選択する請求項8または9記
載のメモリ制御装置。
10. The system control device according to claim 1, further comprising: using a least significant bit that is not used among the bits of the line address designated by the processor.
The memory control device according to claim 8, wherein the memory interface is selected while selecting the memory interface from a higher hierarchy to a lower hierarchy of the interleave hierarchy.
【請求項11】 前記システム制御装置は、 前記メモリモジュールが有する内部バンク数が各メモリ
モジュール毎にそれぞれ書き込まれたバンクコントロー
ルテーブルと、 前記バンクコントロールテーブルを参照して、前記メモ
リモジュールに記憶領域が残っているか否かを判定する
と共に前記ラインアドレスの中からプロセッサでアクセ
スするメモリ素子のバンク番号を示すビットを見つけ出
す番号判別部と、を有する請求項8乃至10のいずれか
1項記載のメモリ制御装置。
11. The system control device according to claim 1, further comprising: a bank control table in which the number of internal banks of the memory module is written for each memory module; and a memory area in the memory module with reference to the bank control table. The memory control according to any one of claims 8 to 10, further comprising: a number determination unit that determines whether or not there is a remaining address and finds a bit indicating a bank number of a memory element accessed by a processor from the line address. apparatus.
【請求項12】 前記システム制御装置は、 前記メモリ素子のロウアドレス及びカラムアドレスのビ
ット数がそれぞれ書き込まれたアドレスビット位置テー
ブルと、 前記アドレスビット位置テーブルを参照して、前記ライ
ンアドレスの中からプロセッサでアクセスするメモリ素
子のロウアドレス及びカラムアドレスを示すビットを見
つけ出すアドレス判別部と、を有する請求項8乃至11
のいずれか1項記載のメモリ制御装置。
12. The system controller refers to an address bit position table in which the bit numbers of a row address and a column address of the memory element are written, respectively, and refers to the address bit position table. 12. An address discriminator for finding a bit indicating a row address and a column address of a memory element accessed by a processor.
The memory control device according to claim 1.
【請求項13】 前記メモリモジュールは、 1または2のサイドから成る請求項8乃至12のいずれ
か1項記載のメモリ制御装置。
13. The memory control device according to claim 8, wherein the memory module has one or two sides.
【請求項14】 mを0以上の整数としたとき、 前記メモリ素子は、2個のインターナルバンクを有す
る請求項8乃至13のいずれか1項記載のメモリ制御装
置。
14. The memory control device according to claim 8, wherein when m is an integer equal to or greater than 0, the memory element has 2 m internal banks.
【請求項15】 少なくとも1つのメモリ素子から成る
メモリモジュールを複数個実装可能な記憶装置に、プロ
セッサからインタリーブでアクセスするためのメモリ制
御方法をコンピュータシステムに実行させるためのプロ
グラムが記録された記録媒体であって、 前記メモリモジュールにアクセスするためのインタフェ
ースである複数のメモリインタフェースから成り、前記
メモリインタフェース配下にそれぞれインターリーブ対
象となる2つの他のメモリインタフェースを接続するこ
とで、前記プロセッサから前記メモリモジュールにアク
セスする経路となるインタリーブ階層を形成し、 前記インタリーブ階層の最上位階層から最下位階層に向
かって、各階層毎にそれぞれ均等に前記メモリインタフ
ェースを選択すると共に前記最下位層のメモリインタフ
ェースに接続された2つのメモリモジュールを均等に選
択することで前記プロセッサがアクセスするメモリモジ
ュールを決定するためのプログラムが記録された記録媒
体。
15. A recording medium storing a program for causing a computer system to execute a memory control method for interleaving access from a processor to a storage device capable of mounting a plurality of memory modules including at least one memory element. It comprises a plurality of memory interfaces which are interfaces for accessing the memory module, and connects two other memory interfaces to be interleaved under the memory interface, thereby allowing the processor to execute the memory module. Forming an interleave layer that serves as a path for accessing the memory interface. From the highest layer to the lowest layer of the interleave layer, the memory interface is uniformly selected for each layer, and Recording medium on which a program is recorded for the processor by selecting evenly two memory modules connected to the memory interface determines a memory module to be accessed.
【請求項16】 前記メモリモジュールのうち、記憶容
量が最少のメモリモジュールと等しい記憶容量をユニッ
トとし、 前記ユニットを実装可能なメモリモジュール数で除算し
た記憶容量をブロックとし、 実装された前記メモリモジュールに対してそれぞれ実装
可能なメモリモジュール数が初期値として与えられる値
を割り当てブロック数としたとき、 前記インタリーブ階層の各階層毎に、配下のメモリイン
タフェースに記憶領域が残っているメモリモジュールが
接続されているか否かを確認し、 該メモリインタフェース双方に記憶領域が残っているメ
モリモジュールが接続されている場合は、対応するメモ
リモジュールのそれぞれの割り当てブロック数を2で除
算し、該メモリインタフェースの一方にのみ記憶領域が
残っているメモリモジュールが接続されている場合は、
対応するメモリモジュールの割り当てブロック数をその
ままの値で保持し、 各メモリモジュール毎に算出された割り当てブロック数
と等しい数の前記ブロックを、各メモリモジュールから
それぞれ割り当てることで前記ユニットを構成し、 前記プロセッサを、該ユニット毎に前記記憶装置に対し
てアクセスさせるためのプログラムが記録された請求項
15記載の記録媒体。
16. The memory module mounted as a unit, wherein the memory module has a storage capacity equal to the smallest memory module among the memory modules, and a storage capacity divided by the number of memory modules capable of mounting the unit is a block. When the value given as the initial value is the number of memory modules that can be mounted for each of the interleaved layers, the memory module whose storage area remains in the subordinate memory interface is connected to each of the interleaved layers. If a memory module having a storage area remaining is connected to both of the memory interfaces, the number of allocated blocks of the corresponding memory module is divided by two, and one of the memory interfaces Memory memory that only has a storage area If you Yuru is connected,
The unit is configured by holding the number of allocated blocks of the corresponding memory module as it is and assigning the same number of blocks as the number of allocated blocks calculated for each memory module from each memory module. 16. The recording medium according to claim 15, wherein a program for causing a processor to access the storage device for each unit is recorded.
【請求項17】 前記プロセッサから指定されるライン
アドレスのビットのうち、使用していない最下位ビット
から順に用いて、前記インターリーブ階層の上位階層か
ら下位階層に向かって前記メモリインタフェースをそれ
ぞれ選択すると共に前記メモリモジュールを選択するた
めのプログラムが記録された請求項15または16記載
の記録媒体。
17. A method for selecting the memory interface from an upper layer to a lower layer of the interleave layer by sequentially using a least significant bit among unused bits of a line address specified by the processor. 17. The recording medium according to claim 15, wherein a program for selecting the memory module is recorded.
【請求項18】 前記メモリモジュールが有する内部バ
ンク数を各メモリモジュール毎にそれぞれバンクコント
ロールテーブルとして書き込み、該バンクコントロール
テーブルを参照することで前記メモリモジュールに記憶
領域が残っているか否かを判定すると共に前記ラインア
ドレスの中からプロセッサでアクセスするメモリ素子の
バンク番号を示すビットを見つけ出すためのプログラム
が記録された請求項15乃至17のいずれか1項記載の
記録媒体。
18. The number of internal banks of the memory module is written as a bank control table for each memory module, and it is determined whether or not a storage area remains in the memory module by referring to the bank control table. 18. The recording medium according to claim 15, wherein a program for finding a bit indicating a bank number of a memory element accessed by a processor from the line address is recorded.
【請求項19】 前記メモリ素子のロウアドレス及びカ
ラムアドレスのビット数をそれぞれアドレスビット位置
テーブルとして書き込み、該アドレスビット位置テーブ
ルを参照することで前記ラインアドレスの中からプロセ
ッサでアクセスするメモリ素子のロウアドレス及びカラ
ムアドレスを示すビットを見つけ出すためのプログラム
が記録された請求項15乃至18のいずれか1項記載の
記録媒体。
19. The row number of the memory element accessed by a processor from the line address by writing the number of bits of the row address and the column address of the memory element as an address bit position table and referring to the address bit position table. 19. The recording medium according to claim 15, wherein a program for finding a bit indicating an address and a column address is recorded.
【請求項20】 前記メモリモジュールは、 1または2のサイドから成る請求項15乃至19のいず
れか1項記載の記録媒体。
20. The recording medium according to claim 15, wherein the memory module has one or two sides.
【請求項21】 mを0以上の整数としたとき、 前記メモリ素子は、2個のインターナルバンクを有す
る請求項15乃至20のいずれか1項記載の記録媒体。
21. The recording medium according to claim 15, wherein, when m is an integer equal to or greater than 0, the memory element has 2 m internal banks.
JP10141475A 1998-05-22 1998-05-22 Method and device for memory control and recording medium for the device Pending JPH11338768A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10141475A JPH11338768A (en) 1998-05-22 1998-05-22 Method and device for memory control and recording medium for the device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10141475A JPH11338768A (en) 1998-05-22 1998-05-22 Method and device for memory control and recording medium for the device

Publications (1)

Publication Number Publication Date
JPH11338768A true JPH11338768A (en) 1999-12-10

Family

ID=15292762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10141475A Pending JPH11338768A (en) 1998-05-22 1998-05-22 Method and device for memory control and recording medium for the device

Country Status (1)

Country Link
JP (1) JPH11338768A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532926A (en) * 2013-10-03 2016-10-20 クアルコム,インコーポレイテッド System and method for uniformly interleaving data across a multiple channel memory architecture with asymmetric storage capacity
JP2021005380A (en) * 2019-06-26 2021-01-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド Data transmission device, data processing system, method, data processing method, and medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532926A (en) * 2013-10-03 2016-10-20 クアルコム,インコーポレイテッド System and method for uniformly interleaving data across a multiple channel memory architecture with asymmetric storage capacity
JP2021005380A (en) * 2019-06-26 2021-01-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド Data transmission device, data processing system, method, data processing method, and medium
US11360915B2 (en) 2019-06-26 2022-06-14 Kunlunxin Technology (Beijing) Company Limited Data transmission apparatuses, data processing systems and methods

Similar Documents

Publication Publication Date Title
US6170039B1 (en) Memory controller for interchanging memory against memory error in interleave memory system
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
US7890691B2 (en) Memory cache sharing in hybrid hard disk
CN101038531A (en) Shared interface for components in embedded systems
US5559979A (en) Table-based inter-system serialization control system
JP2561261B2 (en) Buffer storage access method
JPH0661066B2 (en) Storage controller
WO2002057923A1 (en) Memory protection control device and method
US12056382B2 (en) Inference in memory
US5551007A (en) Method for controlling multiple common memories and multiple common memory system
JPH11338768A (en) Method and device for memory control and recording medium for the device
JP3498021B2 (en) Memory control method
US7743221B2 (en) Memory sharing method for sharing SRAM in an SOC device
JPH02114313A (en) High speed external storage device
JP2938453B2 (en) Memory system
US20060294303A1 (en) Disk array access dynamic control device and method
US12008248B2 (en) Systems, methods, and devices for utilization aware memory allocation
JPH0421222B2 (en)
JPH0330175B2 (en)
CN117389767A (en) Data exchange method and device for shared storage pool based on SOC (system on chip)
JPS5953588B2 (en) Memory interleave control method
JP2684752B2 (en) Extended storage control method
JPS6037932B2 (en) Cache memory control method
JP3349929B2 (en) Memory controller
JPH034939B2 (en)