JP4593220B2 - Memory access control method and method, and shared memory access control method and method - Google Patents

Memory access control method and method, and shared memory access control method and method Download PDF

Info

Publication number
JP4593220B2
JP4593220B2 JP2004282865A JP2004282865A JP4593220B2 JP 4593220 B2 JP4593220 B2 JP 4593220B2 JP 2004282865 A JP2004282865 A JP 2004282865A JP 2004282865 A JP2004282865 A JP 2004282865A JP 4593220 B2 JP4593220 B2 JP 4593220B2
Authority
JP
Japan
Prior art keywords
memory
bank
request
busy
access control
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.)
Expired - Fee Related
Application number
JP2004282865A
Other languages
Japanese (ja)
Other versions
JP2006099295A (en
Inventor
崇紀 渡辺
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 JP2004282865A priority Critical patent/JP4593220B2/en
Publication of JP2006099295A publication Critical patent/JP2006099295A/en
Application granted granted Critical
Publication of JP4593220B2 publication Critical patent/JP4593220B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はメモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法に関し、特に、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法に関する。   The present invention relates to a memory access control method and method, and a shared memory access control method and method, and in particular, a memory access control method and method for controlling a plurality of banks divided into several groups. And a shared memory access control method and method.

共有メモリ型マルチプロセッサシステムにおける共有主記憶メモリにおいて、共有メモリに使用する記憶素子は、大容量かつ安価であるSDRAM(Synchronous
Dynamic RAM)が主流である。
In a shared main memory in a shared memory multiprocessor system, a storage element used for the shared memory is a large capacity and inexpensive SDRAM (Synchronous).
Dynamic RAM) is the mainstream.

しかし、プロセッサの共有メモリアクセス命令発行レートと前記記憶素子とのスピード差は大きい。   However, the speed difference between the shared memory access instruction issue rate of the processor and the storage element is large.

特に、プロセッサ数が多くなると、前記差は大きくなりシステム上の性能のネックとなる。   In particular, as the number of processors increases, the difference increases and becomes a bottleneck in system performance.

そのため、メモリシステム側でメモリリクエストをバッファリングし、選択したリクエストがアクセスするバンクのビジーをチェックし、ビジーであれば、これとは排他的なメモリアクセス命令によるリクエストについて、前記リクエストを追い越してアクセスするメモリアクセス制御方式がある(特許文献1参照。)。   Therefore, the memory request is buffered on the memory system side, the busy of the bank accessed by the selected request is checked, and if it is busy, the request by the exclusive memory access instruction is overtaken and accessed. There is a memory access control system (see Patent Document 1).

一方近年、RAM素子単体内部において、複数のバンクグループを同時にアクセス可能な構成を持つタイプのRAM素子がある。   On the other hand, in recent years, there is a type of RAM element having a configuration in which a plurality of bank groups can be accessed simultaneously within a single RAM element.

特開平10−333979号公報Japanese Patent Laid-Open No. 10-333979

複数CPUと共有主記憶メモリ(以下共有MMU)を含むコンピュータシステムにおいて、上記のバンクチェック及び追い越し制御を含むメモリアクセス方式と、前記タイプのRAM素子で構成したメモリモジュールとを結合した場合、前記アクセス上の差は多少改善される。   In a computer system including a plurality of CPUs and a shared main memory (hereinafter referred to as a shared MMU), when the memory access method including the bank check and the overtaking control described above is combined with a memory module composed of the RAM element of the type, the access The above difference is somewhat improved.

しかしながら共有MMUスループットを更に改善する余地がある。   However, there is room to further improve the shared MMU throughput.

即ち、上記のバンクチェック及び排他的な命令追い越しによるメモリアクセス方式では、メモリ制御部へのリクエスト出力ラインを1リクエスト分しか持たない。   That is, the memory access method using the bank check and exclusive instruction overtaking has only one request output line to the memory control unit.

図8に示す通り、メモリ制御部において、物理的に制御LSIとRAMを複数信号ラインで接続(以下、この物理単位をチャネルと呼ぶ)するバンク構成の場合、リクエストバッファ内に複数のバンクアクセス待ちリクエストが滞留する。   As shown in FIG. 8, in the case of a bank configuration in which a control LSI and a RAM are physically connected by a plurality of signal lines (hereinafter, this physical unit is referred to as a channel) in the memory control unit, a plurality of bank access waits are placed in the request buffer. The request stays.

言い換えれば、複数チャネルのそれぞれに並行して出力可能な複数のリクエストがあるケースにおいて、別メモリチャネルに対するアクセスを同時並行して行うことができないという課題がある。   In other words, in the case where there are a plurality of requests that can be output in parallel to each of a plurality of channels, there is a problem that access to different memory channels cannot be performed in parallel.

即ち、メモリへのアクセス頻度を向上させメモリアクセス効率を改善する余地があるといえる。   That is, it can be said that there is room for improving the memory access efficiency by increasing the access frequency to the memory.

ここで、別チャネルに同時アクセスを実現する手段として、単純にメモリ制御ポートを分割することによりチャネル単位に、前記、バンクチェック、排他的な命令追い越し制御回路を備え、且つ、CPUからMMUにデータ転送するクロスバスイッチの構成を、CPU台数*メモリポート数分にする構成が考えられる。   Here, as means for realizing simultaneous access to different channels, the bank check and exclusive instruction overtaking control circuits are provided for each channel by simply dividing the memory control port, and data is transferred from the CPU to the MMU. A configuration in which the configuration of the crossbar switch to be transferred is the number of CPUs * the number of memory ports is conceivable.

しかしながらこの様な構成では、ハードウエア量増加によるコスト増に繋がる。   However, such a configuration leads to an increase in cost due to an increase in the amount of hardware.

また、共有主記憶装置に限らず、高頻度のアクセス要求を受ける主記憶装置にも同様の課題がある。   Further, not only the shared main storage device but also a main storage device that receives a high-frequency access request has the same problem.

本発明の第1のメモリアクセス制御方式は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。   A first memory access control system according to the present invention is a memory access control system in which a memory module has a plurality of banks, and the plurality of banks are divided into several groups for control, and the memory control means for each bank group And a request buffer that stores a memory request in which the access destination bank is busy, and a bank to be accessed is busy for each bank group with respect to a memory request stored in the request buffer and a newly received memory request. And a means for selecting a memory request that is no longer in a state and issuing it to the corresponding memory control means.

本発明の第2のメモリアクセス制御方式は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。   A second memory access control system according to the present invention is a memory access control system in which a memory module has a plurality of banks, and the plurality of banks are divided into several groups for control, and the memory control means for each bank group A bank busy counter for each bank that manages the busy state of each bank, a request buffer that stores a memory request that does not meet a predetermined selection condition, or whether the access destination bank is busy, or the request Bank check means for checking the busy status of the access destination bank by referring to the bank busy counter for the memory request stored in the buffer and the newly received memory request, and the access destination checked by the bank check means Bank is busy One memory request that is no longer in condition to select for each of the bank group, characterized by comprising a means for issuing to the corresponding memory control unit.

本発明の第3のメモリアクセス制御方式は、前記第2のメモリアクセス制御方式に於いて、前記バンクビジーカウンタは、対応するバンクにアクセスするメモリリクエストが各メモリ制御手段に発行されるとカウントを開始してビジー状態とし、リクエストの種類に対応した所定の値になると該カウンタのビジー状態を解除することを特徴とする。   According to a third memory access control method of the present invention, in the second memory access control method, the bank busy counter counts when a memory request for accessing a corresponding bank is issued to each memory control means. A busy state is started, and when the predetermined value corresponding to the type of request is reached, the busy state of the counter is released.

本発明の第4のメモリアクセス制御方式は、前記第2のメモリアクセス制御方式に於いて、前記選択条件は、前記リクエストバッファ手段に格納された前記メモリリクエスト及び新たに受信したメモリリクエストを、アクセス先のバンクの前記グループで分け、それぞれのグループでメモリリクエストに優先順位を持たせ、最も優先度の高い前記メモリリクエストを選択することを特徴とする。   According to a fourth memory access control method of the present invention, in the second memory access control method, the selection condition is to access the memory request stored in the request buffer means and a newly received memory request. The memory request is divided into the groups in the previous bank, the memory requests are given priority in each group, and the memory request having the highest priority is selected.

本発明の第5のメモリアクセス制御方式は、前記第2のメモリアクセス制御方式に於いて、前記リクエストバッファが、それぞれに、一つのリクエスト情報を格納し、その番号がリクエスト発行上の優先順位となる複数のワード記憶部と、新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶部に格納する手段と、格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする。   According to a fifth memory access control method of the present invention, in the second memory access control method, each of the request buffers stores one piece of request information, and the number is a priority on request issuance. A plurality of word storage units, and a means for storing newly received memory requests that are not to be issued at that time in the youngest word storage unit among the word storages that are free or are expected to be free in the next cycle And, when issuing a request during storage, for each word storage unit storing request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. If so, specify the number of request information sequences stored in the word storage unit that is older than the word storage unit and not to be issued. Characterized in that it comprises a means for transferring the request information at the position in the word storage unit to be.

本発明の第6のメモリアクセス制御方式は、前記第1乃至第5の何れかのメモリアクセス制御方式に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。   The sixth memory access control system of the present invention is characterized in that, in any of the first to fifth memory access control systems, the bank group is divided into two groups, an odd bank group and an even bank group. And

本発明の第1のメモリアクセス制御方法は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。   A first memory access control method according to the present invention is a memory access control method in which a memory module has a plurality of banks, and the plurality of banks are divided into several groups for control, and the memory control procedure for each bank group And a procedure for temporarily storing a memory request in which an access destination bank is busy, and a bank to be accessed is busy for each bank group with respect to the temporarily stored memory request and a newly received memory request. And a procedure for selecting a memory request that has disappeared and passing it to a corresponding memory control procedure.

本発明の第2のメモリアクセス制御方法は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。   A second memory access control method of the present invention is a memory access control method in which a memory module has a plurality of banks and the plurality of banks are divided into several groups for control, and the memory control procedure for each bank group And a procedure for counting the elapsed cycles from the start of access to each bank to the period according to the access type and managing the busy state of each bank, and whether the bank to be accessed is busy or predetermined Check the busy status of the access destination bank by referring to the result of the managing procedure for the temporary storage of the memory request that does not match the selection condition and the temporarily stored memory request and the newly received memory request. Bank check procedure and the bank check procedure One memory request access destination bank is no longer busy, select for each of the bank group, and having a procedure to be passed to the corresponding memory control procedure.

本発明の第3のメモリアクセス制御方法は、前記第1、又は第2のメモリアクセス制御方法に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。   A third memory access control method according to the present invention is characterized in that, in the first or second memory access control method, the bank groups are two groups of an odd bank and an even bank. .

本発明の第1の共有メモリアクセス制御方式は、複数のプロセッサにアクセスされる共有メモリでメモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。   A first shared memory access control system according to the present invention is a shared memory access control system in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled. A memory control unit for each bank group, a request buffer for storing a memory request in which an access destination bank is busy, a memory request stored in the request buffer, and a newly received memory request And a means for selecting, for each bank group, a memory request in which a bank to be accessed is no longer busy, and issuing the selected memory request to a corresponding memory control means.

本発明の第2の共有メモリアクセス制御方式は、複数のプロセッサにアクセスされる共有メモリでメモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。   A second shared memory access control system according to the present invention is a shared memory access control system in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled. The memory control unit for each bank group, the bank busy counter for each bank that manages the busy state of each bank, and the access destination bank is busy or meets a predetermined selection condition. A request buffer for storing a memory request not to be executed, and a bank check means for checking a busy state of an access destination bank by referring to the bank busy counter for a memory request stored in the request buffer and a newly received memory request And the bank check One memory request checked accessed bank is no longer busy by means selects for each of the bank group, characterized by comprising a means for issuing to the corresponding memory control unit.

本発明の第3の共有メモリアクセス制御方式は、前記第2の共有メモリアクセス制御方式に於いて、前記バンクビジーカウンタは、対応するバンクにアクセスするメモリリクエストが各メモリ制御手段に発行されるとカウントを開始してビジー状態とし、リクエストの種類に対応した所定の値になると該カウンタのビジー状態を解除することを特徴とする。   According to a third shared memory access control method of the present invention, in the second shared memory access control method, the bank busy counter issues a memory request for accessing a corresponding bank to each memory control means. Counting is started to be in a busy state, and the busy state of the counter is canceled when a predetermined value corresponding to the type of request is reached.

本発明の第4の共有メモリアクセス制御方式は、前記第2の共有メモリアクセス制御方式に於いて、前記選択条件は、前記リクエストバッファに格納された前記メモリリクエスト及び新たに受信したメモリリクエストを、アクセス先のバンクの前記グループで分け、それぞれのグループでメモリリクエストに優先順位を持たせ、最も優先度の高い前記メモリリクエストを選択することを特徴とする。   According to a fourth shared memory access control method of the present invention, in the second shared memory access control method, the selection condition includes the memory request stored in the request buffer and a newly received memory request. The access request bank is divided into the groups, the priority is given to the memory requests in each group, and the memory request having the highest priority is selected.

本発明の第5の共有メモリアクセス制御方式は、前記第2の共有メモリアクセス制御方式に於いて、前記リクエストバッファが、それぞれに、一つのリクエスト情報を格納でき、その番号がリクエスト発行上の優先順位となる複数のワード記憶と、新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶に格納する手段と、格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする。   According to a fifth shared memory access control system of the present invention, in the second shared memory access control system, each of the request buffers can store one request information, and the number is a priority in issuing a request. Means for storing a plurality of word storages in order and a memory request that is newly received and not issued at that time in the youngest word storage among the word storages that are free or are expected to be free in the next cycle And, when issuing a request during storage, for each word storage unit storing request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. If so, the number of request information sequences stored in the word storage unit on the older side than the word storage unit and not to be issued Characterized in that it comprises a means for transferring the request information in the location specified in the word storage unit.

本発明の第6の共有メモリアクセス制御方式は、前記第1乃至第5の何れかの共有メモリアクセス制御方式に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。   According to a sixth shared memory access control system of the present invention, in any of the first to fifth shared memory access control systems, the bank group is divided into an odd bank group and an even bank group. It is characterized by.

本発明の第1の共有メモリアクセス制御方法は、複数のプロセッサにアクセスされる共有メモリで、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。   A first shared memory access control method according to the present invention is a shared memory accessed by a plurality of processors, and a memory module has a plurality of banks, and the plurality of banks are divided into several groups and controlled. A memory control procedure for each bank group, a procedure for temporarily storing a memory request in which an access destination bank is busy, and the temporarily stored memory request and a newly received memory request. For each bank group, there is a procedure for selecting a memory request in which a bank to be accessed is no longer busy and passing it to a corresponding memory control procedure.

本発明の第2の共有メモリアクセス制御方法は、複数のプロセッサにアクセスされる共有メモリで、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。   A second shared memory access control method according to the present invention is a shared memory accessed by a plurality of processors, wherein the memory module has a plurality of banks, and the plurality of banks are divided into several groups and controlled. A memory control procedure for each bank group, a procedure for counting elapsed cycles from the start of access to each bank to a period according to the access type, and managing the busy state of each bank, The procedure for temporarily storing a memory request that is in a busy state or not satisfying a predetermined selection condition, and the busy state of the access destination bank with respect to the temporarily stored memory request and the newly received memory request Check the bank check by referring to the result of the managing procedure And a procedure for selecting, for each bank group, one of the memory requests whose access destination bank checked by the bank check procedure is no longer busy and passing it to the corresponding memory control procedure. Features.

本発明の第3の共有メモリアクセス制御方法は、前記第1、又は第2の共有メモリアクセス制御方法に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。   A third shared memory access control method according to the present invention is characterized in that, in the first or second shared memory access control method, the bank group is divided into an odd bank group and an even bank group. And

本発明によれば、リクエストバッファに滞留した複数チャネルにアクセス可能なリクエストを同時にメモリモジュール(記憶素子)にアクセスすることにより、バンク追い越し回路を完全に多重化することなく、即ちハードウエア量の増加を抑えつつ、メモリモジュールに対するアクセス効率を高めシステム性能を向上させることが出来る。   According to the present invention, requests that can access a plurality of channels staying in the request buffer are simultaneously accessed to the memory module (storage element), so that the bank overtaking circuit is not completely multiplexed, that is, the amount of hardware is increased. While suppressing this, it is possible to increase the access efficiency to the memory module and improve the system performance.

次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。   Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.

図1は、本発明のメモリアクセス制御方式を含む主記憶装置のブロック図である。   FIG. 1 is a block diagram of a main storage device including a memory access control system according to the present invention.

主記憶装置は複数メモリバンク構成からなるメモリモジュール3を含む。   The main storage device includes a memory module 3 having a plurality of memory bank configurations.

メモリモジュール3は複数のメモリチャネルを有し、それぞれのメモリチャネルは、SDRAM等の記憶素子自体が複数バンク構成の記憶素子で構成する。   The memory module 3 has a plurality of memory channels, and each memory channel is constituted by a memory element such as an SDRAM having a plurality of banks.

図1ではバンク00〜バンクiの(i+1)個のバンクを、偶数バンクのグループと奇数バンクのグループに分け、それぞれメモリモジュール(CH0)3−1、メモリモジュール(CH1)3−2とする。   In FIG. 1, (i + 1) banks of bank 00 to bank i are divided into even-numbered bank groups and odd-numbered bank groups, which are referred to as a memory module (CH0) 3-1 and a memory module (CH1) 3-2, respectively.

図1のバンク追い越し回路1は、各メモリバンクのバンクビジー制御を行うと共にバンク間の排他的メモリアクセス命令追い越し制御を実現するためのバンク追い越し制御回路である。   The bank overtaking circuit 1 in FIG. 1 is a bank overtaking control circuit for performing bank busy control of each memory bank and realizing exclusive memory access instruction overtaking control between banks.

バンク追い越し回路1は、同時に複数(図では2つ)のリクエストをメモリ制御部2−1、2−2へ出力可能である。   The bank overtaking circuit 1 can simultaneously output a plurality (two in the figure) of requests to the memory control units 2-1 and 2-2.

メモリ制御部2−1、2−2は、それぞれ複数バンクにより構成するメモリモジュールにCH0、CH1として接続し、記憶素子制御のためのコマンド信号、アドレス信号を生成する。   The memory control units 2-1 and 2-2 are connected as CH0 and CH1 to memory modules each composed of a plurality of banks, and generate command signals and address signals for controlling the memory elements.

一方、ライトデータおよびリードデータは、データ制御部4−1、4−2を介して記憶素子と接続する。   On the other hand, the write data and the read data are connected to the storage element via the data control units 4-1 and 4-2.

図2にバンク追い越し回路1の詳細ブロック図を示す。   FIG. 2 shows a detailed block diagram of the bank overtaking circuit 1.

上位装置からメモリアクセスリクエストを受信リクエストとして入力する。あるメモリアクセスリクエストにより、メモリアクセスが行われると、アクセスしたメモリバンクに対応するバンクビジーカウンタ142に、ライト、リード等のアクセス命令毎のバンクビジー時間(アクセス禁止時間)を設定する。   A memory access request is input as a reception request from the host device. When a memory access is performed by a certain memory access request, a bank busy time (access prohibited time) for each access instruction such as a write or read is set in the bank busy counter 142 corresponding to the accessed memory bank.

バンクビジー期間中のメモリバンクへのリクエストを受信した場合には、(m+1)個のリクエストを保持可能なリクエストバッファ11へリクエストを格納する。   When a request to the memory bank is received during the bank busy period, the request is stored in the request buffer 11 that can hold (m + 1) requests.

リクエスト格納の順番はワード(ワード記憶)00、01、・・、mの順番で行い、リクエストバッファ11に格納されたアクセス待ちリクエストは、バッファの各ワード毎にバンクチェック回路15によりメモリアクセス可能となるタイミングまでリクエストバッファ内に滞留する。   The request is stored in the order of words (word storage) 00, 01,..., M, and the access waiting request stored in the request buffer 11 can be accessed by the bank check circuit 15 for each word of the buffer. It stays in the request buffer until this timing.

リクエストバッファ11のリクエスト格納制御方式は、全ワードにリクエストが格納されているケースにおいて、例えば、ワード03のメモリリクエストが解除され出力された場合、ワード00〜02のリクエストはホールド状態とし、ワード04〜ワードmのリクエストが、それぞれワード03〜ワードm−1にシフトして格納される。   In the request storage control method of the request buffer 11, in the case where the requests are stored in all the words, for example, when the memory request of the word 03 is canceled and output, the requests of the word 00 to 02 are held, and the word 04 ~ Word m requests are stored shifted to word 03 to word m-1, respectively.

ここで、各メモリチャネルに同時に2つのリクエストがバンクビジー解除により、出力された場合も同様に、リクエスト出力により空きとなったバッファへリクエストをシフトする。   Here, when two requests are simultaneously output to each memory channel by releasing the bank busy, the requests are similarly shifted to a buffer that is vacant by the request output.

例えば、ワード03のメモリリクエスト、ワード04のメモリリクエストが同時に解除され出力された場合、ワード00〜02のリクエストはホールド状態とし、ワード05〜ワードmのリクエストが、それぞれワード03〜ワードm−2にシフトして格納される。   For example, when the memory request for word 03 and the memory request for word 04 are simultaneously released and output, the requests for word 00 to 02 are put in the hold state, and the requests for word 05 to word m are respectively transferred to word 03 to word m-2. Is stored in a shifted state.

即ち、ワード00〜mの各ワードにおいて、そのワード及びそれより若番側のワードに含まれる発行されるリクエスト個数が1以上であれば、そのワードより老い番側のワードに格納され且つ発行対象でないリクエスト列の、前記個数で指定される位置にあるリクエスト情報をそのワードに移す。   That is, in each word 00-m, if the number of requests issued in the word and the younger word is 1 or more, it is stored in the older word and is issued The request information at the position specified by the number in the non-request sequence is moved to the word.

メモリモジュールへのアクセスビジー時間は、メモリモジュール内のバンク間やリード、ライト、リフレッシュアクセスにより、予めシステム側で決められた異なるビジー時間が設定されるため、リクエストバッファ11に滞留するリクエスト間で同時に、CH0,CH1へのアクセスが可能となるタイミングが発生する。   The access busy time to the memory module is set between different busy times determined in advance by the system side between banks in the memory module or by read, write, and refresh access. , The timing at which access to CH0 and CH1 becomes possible occurs.

リクエストバッファ11に滞留しているリクエストを、図1のCH0メモリ制御部2−1,CH1メモリ制御部2−2に出力するためのリクエストセレクタを2個備えることにより、CH0,CH1のバンクビジーが同時に解除となった場合に対し、同時にRAMアクセスリクエスト発行が可能となる。   By providing two request selectors for outputting requests staying in the request buffer 11 to the CH0 memory control unit 2-1 and CH1 memory control unit 2-2 in FIG. 1, the bank busy of CH0 and CH1 can be reduced. A RAM access request can be issued at the same time when the cancellation occurs at the same time.

バンクビジー回路14は、各バンクがビジーであることを示す(i+1)個のカウンターと、バンクアドレス信号12−3、12−4を同時に並行してデコードし、デコード結果の対応するビット同士がORされたデコーダ141とを含む。   The bank busy circuit 14 simultaneously decodes (i + 1) counters indicating that each bank is busy and the bank address signals 12-3 and 12-4 in parallel, and the corresponding bits of the decoding result are ORed. The decoder 141 is included.

バンクアドレス信号12−3はリクエストセレクタ12−1の出力の内、バンクアドレス部分であり、例えばi=15であれば4ビットである。   The bank address signal 12-3 is a bank address portion of the output of the request selector 12-1. For example, if i = 15, it is 4 bits.

同様に、バンクアドレス信号12−4はリクエストセレクタ12−2の出力の内のバンクアドレス部分であり、4ビットの信号である。   Similarly, the bank address signal 12-4 is a bank address portion of the output of the request selector 12-2 and is a 4-bit signal.

上記バンクアドレス信号がデコードされ、対応するバンクビジーカウンタにアクセス種類(リード、ライト、リフレッシュ等)に応じたタイマ値がセットされる。   The bank address signal is decoded, and a timer value corresponding to the access type (read, write, refresh, etc.) is set in the corresponding bank busy counter.

バンクビジーカウンタは数ビットのカウンタで、値が0でなければビジーを表すものとする。   The bank busy counter is a counter of several bits, and if the value is not 0, it represents busy.

バンクチェック回路15は、受信リクエスト及びバッファ滞留中リクエスト各ワードのアクセスバンクがビジー状態であるかどうかの判定を行うための回路である。   The bank check circuit 15 is a circuit for determining whether or not the access bank of each word of the reception request and the buffer retention request is busy.

バンクチェック回路15の詳細ブロック図を図4に示す。   A detailed block diagram of the bank check circuit 15 is shown in FIG.

バンクチェック回路15には、リクエストバッファ11のバッファ各ワード及び受信リクエストのアクセス先のバンクアドレス信号11−0(B)〜11−m(B)、11−r(B)が供給され、セレクタ151−0〜151−m、151−rにおいて、指定されるバンクビジー回路14の値を参照し、各リクエストがメモリモジュールへ出力可能であるかどうかの判定を行なう。   The bank check circuit 15 is supplied with each word of the buffer of the request buffer 11 and bank address signals 11-0 (B) to 11-m (B) and 11-r (B) of the access destination of the received request. At −0 to 151-m and 151-r, the value of the designated bank busy circuit 14 is referred to and it is determined whether or not each request can be output to the memory module.

バンクビジーでなく、リクエスト有り(各ワードのバリディティビットや受信リクエスト要求信号)であれば、バンクパス信号をアクティブにし、リクエスト選択回路16に送出する。   If it is not bank busy and there is a request (validity bit of each word or reception request request signal), the bank pass signal is activated and sent to the request selection circuit 16.

リクエスト選択回路16の詳細ブロック図を図3に示す。   A detailed block diagram of the request selection circuit 16 is shown in FIG.

リクエスト選択回路16は、バンクチェック回路15の出力結果より、アクセス可能なリクエストが複数存在するケースにおいて、アクセス排他制御を前提とした、アクセス優先順位決定を行うための選択回路である。   The request selection circuit 16 is a selection circuit for determining an access priority order based on the exclusive access control in the case where there are a plurality of accessible requests based on the output result of the bank check circuit 15.

CH番号デコーダ161の各回路は受信リクエスト及びリクエストバッファ各ワードのリクエストの行き先チャネルを決定する。例えば、受信リクエスト及び前記各ワードにおけるバンクアドレスの最下位1ビットが「0」であればCH0、「1」であればCH1と決定する。   Each circuit of the CH number decoder 161 determines a destination channel of the reception request and the request of each word of the request buffer. For example, if the least significant bit of the bank address in the reception request and each word is “0”, it is determined as CH0, and if it is “1”, it is determined as CH1.

CHセレクト回路162は、各リクエストがアクセス可能であることを示す各ワードのバンクパス信号をCH0用、CH1用に展開し、前記決定されたチャネル対応の信号をアクティブにし、ワードセレクト回路163に供給する。   The CH select circuit 162 develops the bank pass signal of each word indicating that each request is accessible for CH0 and CH1, activates the signal corresponding to the determined channel, and supplies it to the word select circuit 163. .

ワードセレクト回路163は、前記CHセレクト回路162で各CH毎に出力可能なリクエストを分離し、実際にメモリアクセスするリクエストの優先順位付けを行う。   The word select circuit 163 separates the requests that can be output for each CH by the CH select circuit 162, and prioritizes the requests for actual memory access.

即ち、同一メモリアドレス(バンク)に対する排他制御を実現するための回路である。   That is, this is a circuit for realizing exclusive control for the same memory address (bank).

具体的な優先順位付けはワード00、01、02、・・、m、受信リクエストの順とすることにより、異なるバンク間のリクエスト追い越しを行う一方で同一バンクへのアクセス順序は保証される。   The specific prioritization is performed in the order of the words 00, 01, 02,..., M, and the received requests, thereby overtaking requests between different banks while guaranteeing the access order to the same bank.

ワードセレクト回路163で生成したCH0ワードセレクト信号16−1はCH0へのアクセスリクエストをセレクトするためのリクエストセレクタ12−1、CH1ワードセレクト信号16−2はCH1へのアクセスリクエストをセレクトするためのリクエストセレクタ12−2における選択指示となる。   The CH0 word select signal 16-1 generated by the word select circuit 163 is a request selector 12-1 for selecting an access request to CH0, and the CH1 word select signal 16-2 is a request for selecting an access request to CH1. This is a selection instruction in the selector 12-2.

リクエストバッファ11に示す各ワード及び受信リクエストよりアクセスリクエストをリクエスト出力CH0、リクエスト出力CH1として、それぞれ図1に示すCH0メモリ制御部2−1、CH1メモリ制御部2−2に対しリクエストを発行する。   An access request is issued as a request output CH0 and a request output CH1 from each word and reception request shown in the request buffer 11, and a request is issued to the CH0 memory control unit 2-1 and the CH1 memory control unit 2-2 shown in FIG.

次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。   Next, the operation of the best mode for carrying out the present invention will be described with reference to the drawings.

本発明のメモリアクセス制御方式の動作を、図5及び図6のタイムチャートに基づき、又図1、2、3も参照しながら説明する。   The operation of the memory access control system of the present invention will be described based on the time charts of FIGS. 5 and 6 and with reference to FIGS.

受信リクエストはマシンサイクル(以下Tと記す)毎に、バンク追い越し回路1に入力されるものとする。   It is assumed that the reception request is input to the bank overtaking circuit 1 every machine cycle (hereinafter referred to as T).

簡潔に説明するため、各メモリバンクに対するライトアクセス時の同一バンクビジー時間を5T、リードアクセス時の同一バンクビジー時間を4Tとし、バンク00とバンク01にアクセスが集中したケースを想定して説明する。   For the sake of brevity, it is assumed that the same bank busy time at the time of write access to each memory bank is 5T, and the same bank busy time at the time of read access is 4T, assuming that access is concentrated in the bank 00 and bank 01. .

また、バンク追い越し回路1にリクエストを入力(受信リクエスト)してから、出力にかかる時間を1Tとする。   Also, the time required for output after inputting a request (reception request) to the bank overtaking circuit 1 is 1T.

図5の時刻T1において、リクエストR00−0(バンク00ライト)へのライトアクセス、T2において、リクエストR01−0(バンク01リード)、T3においてリクエストR00−1(バンク00ライト)、T4においてR01−1(バンク01リード)、T5においてリクエストR00−2(バンク00ライト)、T6においてR01−2(バンク01リード)の順でリクエストを受信したとする。   At time T1 in FIG. 5, write access to request R00-0 (bank 00 write), at T2, request R01-0 (bank 01 read), at T3 request R00-1 (bank 00 write), at T4 R01- Assume that requests are received in the order of 1 (bank 01 read), request R00-2 (bank 00 write) at T5, and R01-2 (bank 01 read) at T6.

先ず、リクエストR00−0とR01−0は、図2のバンクチェック回路15、リクエスト選択回路16により出力が許可され、リクエスト出力CH0及びリクエスト出力CH1から対応するメモリ制御部へ出力される。   First, the requests R00-0 and R01-0 are permitted to be output by the bank check circuit 15 and the request selection circuit 16 in FIG. 2, and are output from the request output CH0 and the request output CH1 to the corresponding memory control unit.

一方、図2のバンクビジー回路14には、バンク00ビジー情報およびバンク01ビジー情報がセットされる。   On the other hand, bank 00 busy information and bank 01 busy information are set in the bank busy circuit 14 of FIG.

後続のメモリアクセスリクエストは、バンクビジーのため、バンク追い越し回路1内のリクエストバッファ11に格納される。   Subsequent memory access requests are stored in the request buffer 11 in the bank overtaking circuit 1 because the bank is busy.

タイムチャートのT6において、バンク0、バンク1のビジーが解除となり、バンクチェック回路15では、リクエストR00−1、リクエストR01−1、リクエストR00−2、リクエストR01−2の全リクエストについて、アクセス可能であることを示すワードバンクパス信号がイネーブルになる。   At T6 of the time chart, busy of the bank 0 and bank 1 is canceled, and the bank check circuit 15 can access all requests R00-1, R01-1, R00-2, and R01-2. A word bank pass signal indicating the presence is enabled.

リクエスト選択回路16にて若番ワードに格納されているリクエストを優先的に通過させる制御を行うので、ワード00に格納されたリクエストR00−1とワード01に格納されたリクエストR01−1が、レジスタを介し、T7でリクエスト出力CH0及びリクエスト出力CH1より出力されることになる。   Since the request selection circuit 16 performs control to preferentially pass the request stored in the young word, the request R00-1 stored in the word 00 and the request R01-1 stored in the word 01 are registered in the register. The request output CH0 and the request output CH1 are output at T7.

T7において出力されたリクエストR00−1とリクエストR01−1により、再び図2のバンクビジー回路14には、バンク00ビジー情報およびバンク01ビジー情報が共にセットされる。   With the request R00-1 and the request R01-1 output at T7, both the bank 00 busy information and the bank 01 busy information are set again in the bank busy circuit 14 of FIG.

図6に移り、T10では、バンク01のビジーが解除され、ワード01に格納されているリクエストR01−2がワード00に格納されているリクエストR00−2を追い越して出力可能となり、レジスタを介してT11でリクエストR01−2が出力され、以下、同様にメモリアクセス動作を繰り返す。   Turning to FIG. 6, at T10, the busy state of the bank 01 is canceled, and the request R01-2 stored in the word 01 can be output by overtaking the request R00-2 stored in the word 00. At T11, the request R01-2 is output, and thereafter the memory access operation is repeated in the same manner.

図5及び図6のタイムチャートには、参考のため従来のバンクアクセス制御方式による、動作も併記している。   The time charts of FIGS. 5 and 6 also show the operation by the conventional bank access control method for reference.

従来方式では、リクエストR01−1がT8、リクエストR01−2がT13で出力されているのに対し、本発明では、リクエストR01−1がT7、リクエストR01−2がT11で出力されることにより、記憶素子に対するアクセス効率を高めることを実現していることが解る。   In the conventional method, the request R01-1 is output at T8 and the request R01-2 is output at T13, whereas in the present invention, the request R01-1 is output at T7 and the request R01-2 is output at T11. It can be seen that the access efficiency to the storage element is improved.

尚、本発明のメモリアクセス制御方式の他の実施例では、リクエストバッファ11の例えば、ワード03のメモリリクエスト、ワード04のメモリリクエストが同時に解除され出力された場合、ワード00〜02のリクエストはホールド状態とし、最初のサイクルでワード3は空き(歯抜け)ワードとなり、ワード05〜ワードmのリクエストが、それぞれワード04〜ワードm−1にシフトして格納される。   In another embodiment of the memory access control system according to the present invention, for example, when the memory request for word 03 and the memory request for word 04 in the request buffer 11 are simultaneously released and output, the requests for word 00 to 02 are held. In the first cycle, word 3 becomes an empty (missing) word, and requests for word 05 to word m are shifted and stored in word 04 to word m−1, respectively.

次のサイクルで、ワード04〜ワードm−1の各リクエストがワード03〜ワードm−2にシフトして格納される。   In the next cycle, each request from word 04 to word m-1 is shifted to word 03 to word m-2 and stored.

この様な実施例では、図2のリクエストバッファ11のワード00、01の入力は、受信リクエストとワード01のリクエスト、受信リクエストとワード02のリクエストという様に最大2入力で済む。   In such an embodiment, the input of the words 00 and 01 in the request buffer 11 of FIG. 2 may be a maximum of two inputs, such as a reception request and a word 01 request, and a reception request and a word 02 request.

次に、本発明の共有メモリアクセス制御方式について図面を参照して詳細に説明する。   Next, the shared memory access control system of the present invention will be described in detail with reference to the drawings.

図7は、本発明の共有メモリアクセス制御方式を含む共有メモリ型マルチプロセッサシステムのブロック図である。   FIG. 7 is a block diagram of a shared memory multiprocessor system including the shared memory access control system of the present invention.

共有メモリ型マルチプロセッサシステムは、複数のプロセッサ10−1〜10−nと、これらが共有する共有記憶装置8とこれらを接続する接続装置9を含む。   The shared memory multiprocessor system includes a plurality of processors 10-1 to 10-n, a shared storage device 8 shared by them, and a connection device 9 for connecting them.

接続装置9はプロセッサが共有記憶装置8にメモリリクエスト情報(リクエストコマンド、アドレス)やライトデータを転送するための上り方向バス91と、共有記憶装置8がプロセッサにリードデータを返送するための下り方向バス92と制御部93を含む。   The connection device 9 includes an upstream bus 91 for the processor to transfer memory request information (request command, address) and write data to the shared storage device 8, and a downstream direction for the shared storage device 8 to return read data to the processor. A bus 92 and a controller 93 are included.

共有記憶装置8は共有メモリ制御部7と、メモリモジュール3から構成される。   The shared storage device 8 includes a shared memory control unit 7 and a memory module 3.

共有メモリ制御部7は、バンク追い越し回路1とCH0メモリ制御部2−1とCH1メモリ制御部2−2とCH0データ制御部4−1とCH1データ制御部4−2と選択回路5と接続装置I/F部(接続装置インタフェース部)6を含む。   The shared memory control unit 7 includes a bank overtaking circuit 1, a CH0 memory control unit 2-1, a CH1 memory control unit 2-2, a CH0 data control unit 4-1, a CH1 data control unit 4-2, a selection circuit 5, and a connection device. An I / F unit (connection device interface unit) 6 is included.

接続装置I/F部6は、接続装置9からメモリリクエスト情報等を受信するためのレジスタ61と、接続装置9へのリードデータ等の返送データを保持するためのレジスタ62と、メモリリクエストの要求元識別を一時格納する制御データバッファ63を含む。   The connection device I / F unit 6 includes a register 61 for receiving memory request information and the like from the connection device 9, a register 62 for holding return data such as read data to the connection device 9, and a memory request request A control data buffer 63 for temporarily storing the original identification is included.

他の制御部や回路及びメモリモジュール3については、前記メモリアクセス制御方式と同様である。   Other control units and circuits and the memory module 3 are the same as in the memory access control method.

次に、共有メモリ型マルチプロセッサシステムの動作について図面を参照して説明する。   Next, the operation of the shared memory multiprocessor system will be described with reference to the drawings.

プロセッサは上り方向バスの使用許可を受け、メモリリクエスト情報(リクエストコマンド、アドレス)やライトデータを上り方向バス91に送出する。   The processor receives permission to use the upstream bus and sends memory request information (request command, address) and write data to the upstream bus 91.

一つのプロセッサがメモリリクエストのリプライを待たずに次ぎのリクエストを送出する場合はプロセッサ内識別情報も送出する。   When one processor sends the next request without waiting for the reply of the memory request, the identification information within the processor is also sent.

接続装置I/F部6では、要求元プロセッサ番号、或いはこれとプロセッサ内識別情報を制御データバッファの1エントリに書込み、メモリリクエスト情報をレジスタ61に受信する。   The connection device I / F unit 6 writes the requesting processor number or this and the in-processor identification information in one entry of the control data buffer, and receives the memory request information in the register 61.

メモリリクエスト情報をバンク追い越し回路1に送信する。この際、制御データバッファに前記書込みを行ったアドレス(エントリ番号)もリクエスト情報に含めて送る。   Memory request information is transmitted to the bank overtaking circuit 1. At this time, the address (entry number) at which the writing is performed in the control data buffer is also sent in the request information.

以降メモリリクエストのバンクビジーチェックと追い越しの制御やメモリアクセスを、前記と同様に行う。   Thereafter, bank busy check of memory request, overtaking control and memory access are performed in the same manner as described above.

CH0データ制御部4−1、CH1データ制御部4−2からのリードデータ等をデータが確定した順で、選択回路5で選択し、リードデータはレジスタ62に保持し、持ち回られた前記エントリー番号で、制御データバッファ63より、要求元プロセッサ番号、或いはこれとプロセッサ内識別情報を読み出す。   The read data from the CH0 data control unit 4-1 and the CH1 data control unit 4-2 are selected by the selection circuit 5 in the order in which the data is determined, the read data is held in the register 62, and the entry that has been carried around The requesting processor number or this and the identification information in the processor are read out from the control data buffer 63 by the number.

要求元プロセッサ番号は接続装置9への制御信号とし、プロセッサ内識別情報はリードデータに付加し下り方向バスに載せる。   The requesting processor number is a control signal to the connection device 9, and the in-processor identification information is added to the read data and placed on the downstream bus.

本発明のメモリアクセス制御方式を含む主記憶装置のブロック図。1 is a block diagram of a main storage device including a memory access control system of the present invention. 図1のバンク追い越し回路1の詳細ブロック図。FIG. 2 is a detailed block diagram of the bank overtaking circuit 1 of FIG. 1. 図2のリクエスト選択回路16の詳細ブロック図。FIG. 3 is a detailed block diagram of the request selection circuit 16 in FIG. 2. 図2のバンクチェック回路15の詳細ブロック図。3 is a detailed block diagram of the bank check circuit 15 of FIG. 本発明のメモリアクセス制御方式の動作を説明するためのタイムチャート。The time chart for demonstrating operation | movement of the memory access control system of this invention. 本発明のメモリアクセス制御方式の動作を説明するためのタイムチャート。The time chart for demonstrating operation | movement of the memory access control system of this invention. 本発明の共有メモリアクセス制御方式を含む共有メモリ型マルチプロセッサシステムのブロック図。1 is a block diagram of a shared memory multiprocessor system including a shared memory access control system of the present invention. 複数のバンクグループを同時にアクセス可能な構成を持つタイプのRAM素子と、従来のバンクチェック及び排他的な命令追い越し制御を含むメモリアクセス方式を結合した主記憶装置を示す図。The figure which shows the main memory unit which combined the memory access system containing the conventional bank check and exclusive instruction overtaking control with the type of RAM element which has the structure which can access a several bank group simultaneously.

符号の説明Explanation of symbols

1 バンク追い越し回路
10−1〜10−n プロセッサ
11 リクエストバッファ
11−0(B)〜11−m(B) アクセスバンクアドレス信号
12−1、12−2 リクエストセレクタ
12−3、12−4 バンクアドレス信号
14 バンクビジー回路
141 デコーダ
142 バンクビジーカウンタ
15 バンクチェック回路
151−0〜151−m、151−r セレクタ
16 リクエスト選択回路
16−1 CH0ワードセレクト信号
16−2 CH1ワードセレクト信号
161 CH番号デコーダ
162 CHセレクト回路
163 ワードセレクト回路
2−1 CH0メモリ制御部
2−2 CH1メモリ制御部
3 メモリモジュール
3−1 メモリモジュール(CH0)
3−2 メモリモジュール(CH1)
4−1 CH0データ制御部
4−2 CH1データ制御部
5 選択回路
6 接続装置I/F部
61 レジスタ
62 レジスタ
63 制御データバッファ
7 共有メモリ制御部
8 共有記憶装置
9 接続装置
91 上り方向バス
92 下り方向バス
93 制御部
1 bank overtaking circuit 10-1 to 10-n processor 11 request buffer 11-0 (B) to 11-m (B) access bank address signal 12-1, 12-2 request selector 12-3, 12-4 bank address Signal 14 Bank busy circuit 141 Decoder 142 Bank busy counter 15 Bank check circuit 151-0 to 151-m, 151-r Selector 16 Request selection circuit 16-1 CH0 word select signal 16-2 CH1 word select signal 161 CH number decoder 162 CH select circuit 163 Word select circuit 2-1 CH0 memory control unit 2-2 CH1 memory control unit 3 Memory module 3-1 Memory module (CH0)
3-2 Memory module (CH1)
4-1 CH0 Data Control Unit 4-2 CH1 Data Control Unit 5 Selection Circuit 6 Connection Device I / F Unit 61 Register 62 Register 63 Control Data Buffer 7 Shared Memory Control Unit 8 Shared Storage Device 9 Connection Device 91 Uplink Bus 92 Downlink Direction bus 93 control unit

Claims (18)

メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式であって、
前記バンクグループ毎のメモリ制御手段と、
アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とするメモリアクセス制御方式。
A memory access control method in which a memory module is configured as a plurality of banks, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A request buffer for storing memory requests in which the bank being accessed is busy;
For the memory request stored in the request buffer and the newly received memory request, for each bank group, a memory request in which the bank to be accessed is no longer busy is selected and issued to the corresponding memory control unit; A memory access control system comprising:
メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式であって、
前記バンクグループ毎のメモリ制御手段と、
各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、
前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とするメモリアクセス制御方式。
A memory access control method in which a memory module is configured as a plurality of banks, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A bank busy counter for each bank that manages the busy status of each bank;
A request buffer for storing a memory request that is not busy or the access destination bank is busy, or
Bank check means for checking the busy state of the access destination bank by referring to the bank busy counter for the memory request stored in the request buffer and the newly received memory request;
Selecting one of the memory requests whose access destination bank checked by the bank check unit is no longer busy for each bank group, and issuing the selected memory request to the corresponding memory control unit. Memory access control method.
前記バンクビジーカウンタは、対応するバンクにアクセスするメモリリクエストが各メモリ制御手段に発行されるとカウントを開始してビジー状態とし、リクエストの種類に対応した所定の値になると該カウンタのビジー状態を解除することを特徴とする請求項2記載のメモリアクセス制御方式。 The bank busy counter starts counting when a memory request to access the corresponding bank is issued to each memory control means, and sets the busy state when the memory request reaches a predetermined value corresponding to the type of request. 3. The memory access control system according to claim 2, wherein the memory access control system is released. 前記選択条件は、前記リクエストバッファ手段に格納された前記メモリリクエスト及び新たに受信したメモリリクエストを、アクセス先のバンクの前記グループで分け、それぞれのグループでメモリリクエストに優先順位を持たせ、最も優先度の高い前記メモリリクエストを選択することを特徴とする請求項2記載のメモリアクセス制御方式。 The selection condition is that the memory request stored in the request buffer means and a newly received memory request are divided into the groups of the banks to be accessed, and the priority is given to the memory requests in each group, and the highest priority is given. 3. The memory access control method according to claim 2, wherein the memory request having a high degree is selected. 前記リクエストバッファが、
それぞれに、一つのリクエスト情報を格納し、その番号がリクエスト発行上の優先順位となる複数のワード記憶部と、
新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶部に格納する手段と、
格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする請求項2記載のメモリアクセス制御方式。
The request buffer is
A plurality of word storage units each storing one piece of request information, the number of which is a priority in issuing requests,
Means for storing a newly received memory request that is not to be issued at that time in the youngest word storage section of the word storage that is free or is expected to be free in the next cycle;
When issuing a request being stored, for each word storage unit storing the request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. A request information sequence stored in the word storage unit older than the word storage unit and not to be issued, and means for transferring the request information at the position specified by the number to the word storage unit. The memory access control system according to claim 2, wherein:
前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする請求項1乃至5の何れかに記載のメモリアクセス制御方式。 6. The memory access control system according to claim 1, wherein the bank group is divided into an odd bank group and an even bank group. メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方法であって、
前記バンクグループ毎のメモリ制御手順と、
アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とするメモリアクセス制御方法。
A memory access control method for controlling a memory module in a plurality of banks and dividing the plurality of banks into several groups,
A memory control procedure for each bank group;
A procedure to temporarily store a memory request when the bank to be accessed is busy;
For the temporarily stored memory request and the newly received memory request, for each bank group, there is a procedure for selecting a memory request in which the bank to be accessed is not busy and passing it to the corresponding memory control procedure. A memory access control method.
メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方法であって、
前記バンクグループ毎のメモリ制御手順と、
各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、
前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とするメモリアクセス制御方法。
A memory access control method for controlling a memory module in a plurality of banks and dividing the plurality of banks into several groups,
A memory control procedure for each bank group;
A procedure for counting the elapsed cycles from the start of access to each bank to the period according to the access type and managing the busy state of each bank;
A procedure for temporarily storing a memory request that does not meet a predetermined selection condition, or whether the bank to be accessed is busy;
A bank check procedure for checking the busy state of the access destination bank by referring to the result of the managing procedure for the temporarily stored memory request and the newly received memory request;
And selecting one of the memory requests whose access destination bank checked by the bank check procedure is no longer busy for each bank group, and passing the selected memory request to a corresponding memory control procedure. Access control method.
前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする請求項7、又は8に記載のメモリアクセス制御方法。 9. The memory access control method according to claim 7, wherein the bank group includes two groups, an odd bank group and an even bank group. 複数のプロセッサにアクセスされる共有メモリでメモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方式であって、
前記バンクグループ毎のメモリ制御手段と、
アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする共有メモリアクセス制御方式。
A shared memory access control method in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A request buffer for storing memory requests in which the bank being accessed is busy;
For the memory request stored in the request buffer and the newly received memory request, for each bank group, a memory request in which the bank to be accessed is no longer busy is selected and issued to the corresponding memory control unit; A shared memory access control system comprising:
複数のプロセッサにアクセスされる共有メモリでメモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方式であって、
前記バンクグループ毎のメモリ制御手段と、
各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、
前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする共有メモリアクセス制御方式。
A shared memory access control method in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A bank busy counter for each bank that manages the busy status of each bank;
A request buffer for storing a memory request that is not busy or the access destination bank is busy, or
Bank check means for checking the busy state of the access destination bank by referring to the bank busy counter for the memory request stored in the request buffer and the newly received memory request;
Selecting one of the memory requests whose access destination bank checked by the bank check unit is no longer busy for each bank group, and issuing the selected memory request to the corresponding memory control unit. Shared memory access control method.
前記バンクビジーカウンタは、対応するバンクにアクセスするメモリリクエストが各メモリ制御手段に発行されるとカウントを開始してビジー状態とし、リクエストの種類に対応した所定の値になると該カウンタのビジー状態を解除することを特徴とする請求項11記載の共有メモリアクセス制御方式。 The bank busy counter starts counting when a memory request to access the corresponding bank is issued to each memory control means, and sets the busy state when the memory request reaches a predetermined value corresponding to the type of request. 12. The shared memory access control method according to claim 11, wherein the shared memory access control method is canceled. 前記選択条件は、前記リクエストバッファに格納された前記メモリリクエスト及び新たに受信したメモリリクエストを、アクセス先のバンクの前記グループで分け、それぞれのグループでメモリリクエストに優先順位を持たせ、最も優先度の高い前記メモリリクエストを選択することを特徴とする請求項11記載の共有メモリアクセス制御方式。 The selection condition is that the memory request stored in the request buffer and a newly received memory request are divided into the groups of the bank to be accessed, and the priority is given to the memory requests in each group, and the highest priority 12. The shared memory access control method according to claim 11, wherein the memory request having a higher value is selected. 前記リクエストバッファが、
それぞれに、一つのリクエスト情報を格納でき、その番号がリクエスト発行上の優先順位となる複数のワード記憶と、
新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶に格納する手段と、
格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする請求項11記載の共有メモリアクセス制御方式。
The request buffer is
Each of them can store one request information, a plurality of word storage whose number is a priority in issuing requests,
Means for storing a newly received memory request that is not to be issued at that time in the youngest word memory among the word memories that are free or are expected to be free in the next cycle;
When issuing a request being stored, for each word storage unit storing the request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. A request information sequence stored in the word storage unit older than the word storage unit and not to be issued, and means for transferring the request information at the position specified by the number to the word storage unit. 12. The shared memory access control method according to claim 11, wherein:
前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする請求項10乃至14の何れかに記載の共有メモリアクセス制御方式。 15. The shared memory access control system according to claim 10, wherein the bank groups are two groups, an odd bank group and an even bank group. 複数のプロセッサにアクセスされる共有メモリで、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方法であって、
前記バンクグループ毎のメモリ制御手順と、
アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする共有メモリアクセス制御方法。
In a shared memory accessed by a plurality of processors, a memory module is configured in a plurality of banks, and the plurality of banks are divided into several groups and controlled.
A memory control procedure for each bank group;
A procedure to temporarily store a memory request when the bank to be accessed is busy;
For the temporarily stored memory request and the newly received memory request, for each bank group, there is a procedure for selecting a memory request in which the bank to be accessed is not busy and passing it to the corresponding memory control procedure. A shared memory access control method.
複数のプロセッサにアクセスされる共有メモリで、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方法であって、
前記バンクグループ毎のメモリ制御手順と、
各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、
前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする共有メモリアクセス制御方法。
In a shared memory accessed by a plurality of processors, a memory module is configured in a plurality of banks, and the plurality of banks are divided into several groups and controlled.
A memory control procedure for each bank group;
A procedure for counting the elapsed cycles from the start of access to each bank to the period according to the access type and managing the busy state of each bank;
A procedure for temporarily storing a memory request that does not meet a predetermined selection condition, or whether the bank to be accessed is busy;
A bank check procedure for checking the busy state of the access destination bank by referring to the result of the managing procedure for the temporarily stored memory request and the newly received memory request;
And a procedure for selecting, for each bank group, one of the memory requests whose access destination bank checked by the bank check procedure is no longer busy and passing the selected memory request to the corresponding memory control procedure. Memory access control method.
前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする請求項16、又は17に記載の共有メモリアクセス制御方法。
18. The shared memory access control method according to claim 16, wherein the bank group includes two groups of an odd bank and an even bank.
JP2004282865A 2004-09-29 2004-09-29 Memory access control method and method, and shared memory access control method and method Expired - Fee Related JP4593220B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004282865A JP4593220B2 (en) 2004-09-29 2004-09-29 Memory access control method and method, and shared memory access control method and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004282865A JP4593220B2 (en) 2004-09-29 2004-09-29 Memory access control method and method, and shared memory access control method and method

Publications (2)

Publication Number Publication Date
JP2006099295A JP2006099295A (en) 2006-04-13
JP4593220B2 true JP4593220B2 (en) 2010-12-08

Family

ID=36239064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004282865A Expired - Fee Related JP4593220B2 (en) 2004-09-29 2004-09-29 Memory access control method and method, and shared memory access control method and method

Country Status (1)

Country Link
JP (1) JP4593220B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6237945B1 (en) * 2017-02-20 2017-11-29 日本電気株式会社 Memory control device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108476A (en) * 1991-10-18 1993-04-30 Fujitsu Ltd Main storage controller
JPH10260895A (en) * 1997-03-19 1998-09-29 Hitachi Ltd Semiconductor storage device and computer system using the same
JPH10333979A (en) * 1997-05-28 1998-12-18 Kofu Nippon Denki Kk Bank access control system
JPH11110289A (en) * 1997-09-30 1999-04-23 Hitachi Ltd Buffer control method
JP2000194601A (en) * 1998-12-24 2000-07-14 Nec Corp Memory access control system
JP2000259494A (en) * 1999-03-04 2000-09-22 Matsushita Electric Ind Co Ltd Memory controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108476A (en) * 1991-10-18 1993-04-30 Fujitsu Ltd Main storage controller
JPH10260895A (en) * 1997-03-19 1998-09-29 Hitachi Ltd Semiconductor storage device and computer system using the same
JPH10333979A (en) * 1997-05-28 1998-12-18 Kofu Nippon Denki Kk Bank access control system
JPH11110289A (en) * 1997-09-30 1999-04-23 Hitachi Ltd Buffer control method
JP2000194601A (en) * 1998-12-24 2000-07-14 Nec Corp Memory access control system
JP2000259494A (en) * 1999-03-04 2000-09-22 Matsushita Electric Ind Co Ltd Memory controller

Also Published As

Publication number Publication date
JP2006099295A (en) 2006-04-13

Similar Documents

Publication Publication Date Title
US8099567B2 (en) Reactive placement controller for interfacing with banked memory storage
US7337293B2 (en) Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices
KR100724557B1 (en) Out of order dram sequencer
KR100716950B1 (en) Bus system
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
US6842821B2 (en) DDR SDRAM memory controller with multiple dependency request architecture and intelligent requestor interface
US7543114B2 (en) System and controller with reduced bus utilization time
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
JP2007183816A (en) Memory control device
US7366854B2 (en) Systems and methods for scheduling memory requests utilizing multi-level arbitration
JP2008276391A (en) Memory access control device
US9390017B2 (en) Write and read collision avoidance in single port memory devices
US6502173B1 (en) System for accessing memory and method therefore
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US20050177674A1 (en) Configurable embedded processor
US9798492B2 (en) Semiconductor device including a plurality of function blocks
US8995210B1 (en) Write and read collision avoidance in single port memory devices
EP2280349B1 (en) Processor and data transfer method
JP4593220B2 (en) Memory access control method and method, and shared memory access control method and method
KR101022473B1 (en) Memory bank interleaving method and apparatus in the multi-layer bus system
KR20240000773A (en) Pim computing system and memory controller therof
JP2004355271A (en) Data transfer system
JP3235578B2 (en) Memory access control method
JPH10301897A (en) Method and device for arbitration

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070813

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080616

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100915

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4593220

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees