JP3507314B2 - Memory controller and computer system - Google Patents

Memory controller and computer system

Info

Publication number
JP3507314B2
JP3507314B2 JP31848797A JP31848797A JP3507314B2 JP 3507314 B2 JP3507314 B2 JP 3507314B2 JP 31848797 A JP31848797 A JP 31848797A JP 31848797 A JP31848797 A JP 31848797A JP 3507314 B2 JP3507314 B2 JP 3507314B2
Authority
JP
Japan
Prior art keywords
data
memory
copy
main memory
area
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
JP31848797A
Other languages
Japanese (ja)
Other versions
JPH11149409A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP31848797A priority Critical patent/JP3507314B2/en
Publication of JPH11149409A publication Critical patent/JPH11149409A/en
Application granted granted Critical
Publication of JP3507314B2 publication Critical patent/JP3507314B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータシス
テムにおいてメモリアクセスを制御するメモリコントロ
ーラに関するものであり、特に、コンピュータシステム
におけるデータアクセスの処理速度を向上する技術に関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory controller for controlling memory access in a computer system, and more particularly to a technique for improving the processing speed of data access in the computer system.

【0002】[0002]

【従来の技術】一般的なコンピュータシステムでは、プ
ロセッサ内部の高速メモリによって構成される専用キャ
ッシュメモリ(上位レベルメモリ)と、安価なDRAM等
によって構成される大容量・低速の主記憶(下位レベル
メモリ)とにより記憶階層が形成されている。そして、
キャッシュメモリに目的とするデータが存在しないキャ
ッシュミスに伴う主記憶へのアクセスの多発は、コンピ
ュータシステムの処理性能を劣化させる主要因になって
いる。
2. Description of the Related Art In a general computer system, a dedicated cache memory (upper level memory) configured by a high-speed memory inside a processor and a large-capacity / low-speed main memory (lower level memory) configured by an inexpensive DRAM or the like. ) And form a storage hierarchy. And
The frequent access to the main memory due to a cache miss in which the target data does not exist in the cache memory is a main factor that deteriorates the processing performance of the computer system.

【0003】より詳細には、主記憶のデータを伝送する
メモリバスは、比較的配線長が長く、回路実装上動作周
波数を上げることが困難である。このため、プロセッサ
動作周波数のを向上させても、この主記憶へのアクセス
が多発するとメモリバス速度の遅さが大きなネックとな
り、全体の性能が充分に向上しない。
More specifically, the memory bus for transmitting main memory data has a relatively long wiring length, and it is difficult to increase the operating frequency in terms of circuit mounting. For this reason, even if the processor operating frequency is improved, if the access to the main memory occurs frequently, the slowness of the memory bus speed becomes a major obstacle, and the overall performance is not sufficiently improved.

【0004】そこで、これに対処するために、従来、キ
ャッシュの容量を増やし、主記憶へのアクセス頻度を削
減することが行われていた。
Therefore, in order to deal with this, conventionally, the capacity of the cache has been increased and the frequency of access to the main memory has been reduced.

【0005】また、この他の従来の技術としては、特開
平01−251250号公報記載のように、マルチプロ
セッサシステムにおいて各プロセッサのキャッシュメモ
リを各プロセッサが共有使用することで、キャッシュミ
スの頻度を低下させると共に、個々のキャッシュ間での
コヒーレンスを維持する技術が知られている。
As another conventional technique, as described in Japanese Patent Laid-Open No. 01-251250, the cache memory of each processor is shared by each processor in a multiprocessor system so that the frequency of cache miss can be reduced. Techniques are known that lower the coherence between individual caches as well as reduce it.

【0006】[0006]

【発明が解決しようとする課題】一般に、キャッシュメ
モリは、アクセス領域の局所性を前提に主記憶アクセス
の低減を図るものであり、科学技術計算のようなアクセ
ス領域の局所性や、データの移動が比較的少ない場合
は、キャッシュメモリによる性能向上の効果が大きい。
Generally, the cache memory is intended to reduce the access to the main memory on the premise of the locality of the access area. When is relatively small, the effect of performance improvement by the cache memory is great.

【0007】しかし、近年のビジネス一般向けデータサ
ーバやインターネット上のWEBサーバなど大量のデー
タの主記憶内のコピーや移動が頻繁に起きる可能性があ
るアプリケーションを実行するコンピュータシステムに
おいては、キャッシュメモリではキャッシュミスが頻発
しキャッシュメモリによる性能改善の効果が少ない。
However, in a computer system which executes an application in which a large amount of data may be frequently copied or moved in the main memory such as a data server for general business in recent years or a WEB server on the Internet, the cache memory is not used. Cache misses occur frequently and the effect of performance improvement by the cache memory is small.

【0008】たとえば、リレーショナルデータベースシ
ステム(RDBS)等では、1GB以上のデータのコピーや移
動が日常的に生じるるため、このような用途に用いられ
るコンピュータシステムでは、メモリバスの使用頻度が
高くなり、充分な性能が得られない。また、このような
大量の主記憶内のデータのコピーや移動を行うコンピュ
ータシステムでは、その処理を行うプロセッサの負担も
大きい。
For example, in a relational database system (RDBS) or the like, copying or moving of data of 1 GB or more routinely occurs. Therefore, in a computer system used for such an application, the frequency of use of the memory bus increases, Sufficient performance cannot be obtained. Further, in such a computer system that copies or moves a large amount of data in the main memory, the burden on the processor that performs the processing is large.

【0009】そこで、本発明は、大量の主記憶内のデー
タのコピーや移動を、より効率行うことのできるコンピ
ュータシステムを提供することを課題とする。また、特
に、マルチプロセッサシステムにおいて、大量の主記憶
内のデータのコピーや移動の効率を、より劣化させな
い、データのコヒーレンス制御を実現することを課題と
する。
Therefore, an object of the present invention is to provide a computer system capable of more efficiently copying and moving a large amount of data in a main memory. Another object of the present invention is to realize data coherence control that does not further deteriorate the efficiency of copying or moving a large amount of data in main memory, especially in a multiprocessor system.

【0010】[0010]

【課題を解決するための手段】前記課題達成のために、
本発明は、コンピュータシステムにおいて少なくともプ
ロセッサの主記憶へのアクセスを制御するメモリコント
ローラであって、前記プロセッサが発行した、主記憶の
領域間のデータコピーを要求するデータコピー命令を、
データコピーを行うコピー元領域とコピー先領域の指定
と共に受け付ける手段と、受け付けたコピー元領域の指
定と、受け付けたコピー先領域の指定とを格納する手段
と、指定を格納した主記憶のコピー元領域から、指定を
格納した主記憶のコピー先領域に、データをコピーする
手段とを有することを特徴とするメモリコントローラを
提供する。
[Means for Solving the Problems] To achieve the above objects,
The present invention is a memory controller that controls access to at least a main memory of a processor in a computer system, and includes a data copy instruction issued by the processor and requesting data copy between areas of the main memory.
A means for accepting a copy source area for performing data copy and a designation of the copy destination area, a means for storing the designation of the accepted copy source area, and a designation of the accepted copy destination area, and a copy source of the main memory storing the designation Provided is a memory controller having means for copying data from an area to a copy destination area of a main memory storing a designation.

【0011】本発明に係るメモリコントローラによれ
ば、プロセッサが主記憶内のデータコピーのために行う
処理はデータコピー命令を発行するだけであるので、そ
の処理負荷は著しく軽減される。また、主記憶内のデー
タコピーは、主記憶とメモリコントローラとの間のデー
タの送受のみで実現できるので、プロセッサや周辺装置
が接続する低速なバスを使用する必要がなくなる。した
がって、データコピー効率も向上する。
According to the memory controller of the present invention, the processing performed by the processor for copying the data in the main memory only issues the data copy instruction, so that the processing load is remarkably reduced. Further, since the data copy in the main memory can be realized only by transmitting and receiving the data between the main memory and the memory controller, it is not necessary to use a low-speed bus connected to the processor and peripheral devices. Therefore, the data copy efficiency is also improved.

【0012】さらに、メモリコントローラに、指定を格
納した主記憶のコピー元領域のデータを読み込んだキャ
ッシュメモリの領域であって、当該領域のデータがキャ
ッシュメモリ上で更新され主記憶のコピー元領域のデー
タと一致しないものとなっているキャッシュメモリの領
域のデータの書き戻しを要求する書き戻し要求を前記プ
ロセッサに発行する手段と、発行した書き戻し要求に応
答して前記プロセッサから送られたデータを、指定を格
納した主記憶のコピー元領域とコピー先領域の両方に書
き込む手段とを備えるようにすれば、データコピーに際
して必要となる、これらの領域についてのデータコピー
と、主記憶のコピー元領域とコピー先領域のキャッシュ
メモリとのコヒーレンシイの保証を、きわめて効率よく
行うことができるようになる。
Further, the area of the cache memory in which the data of the copy source area of the main memory storing the designation is read into the memory controller, and the data of the area is updated on the cache memory to the copy source area of the main memory. Means for issuing a write-back request to the processor for requesting write-back of data in the area of the cache memory that does not match the data, and data sent from the processor in response to the issued write-back request. By providing a means for writing in both the copy source area and the copy destination area of the main memory storing the designation, the data copy for these areas and the copy source area of the main memory, which are necessary for data copying The coherency guarantee between the cache memory and the copy destination area cache memory can be performed very efficiently. Uninaru.

【0013】[0013]

【発明の実施の形態】以下、本発明の一実施形態につい
て説明する。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below.

【0014】図1に本実施形態に係るコンピュータシス
テムの構成を示す。
FIG. 1 shows the configuration of a computer system according to this embodiment.

【0015】図示するように、本実施形態に係るコンピ
ュータシステムは、一般的なコンピュータシステムの構
成を有しており、複数のプロセッサ1、入出力ユニット
25、ディスプレイ26やネットワークアダプタ27や
ハードディスク28やCD−ROM29等の周辺機器、バ
スやスイッチマトリクス等の伝送系22、メモリコント
ローラー3、主記憶4などを有している。伝送系22
は、複数のプロセッサ、メモリコントールユニット3、
入出力ユニット25を相互接続している。また、各周辺
機器26〜29は入出力ユニット25に接続しており、
主記憶4はメモリコントローラー3に接続している。
As shown in the figure, the computer system according to this embodiment has a general computer system configuration, and includes a plurality of processors 1, an input / output unit 25, a display 26, a network adapter 27, a hard disk 28, and the like. It has peripheral devices such as a CD-ROM 29, a transmission system 22 such as a bus and a switch matrix, a memory controller 3 and a main memory 4. Transmission system 22
Is a plurality of processors, a memory control unit 3,
The input / output units 25 are interconnected. Further, each peripheral device 26 to 29 is connected to the input / output unit 25,
The main memory 4 is connected to the memory controller 3.

【0016】このような構成において、メモリコントロ
ーラー3は、プロセッサ1や各周辺機器26〜29から
送られた命令に従って主記憶4へアクセスを制御する。
In such a configuration, the memory controller 3 controls access to the main memory 4 in accordance with the instructions sent from the processor 1 and the peripheral devices 26 to 29.

【0017】なお、伝送系22は、バスであってもスイ
ッチマトリクス等その他の形態であってかまわない。ま
た、図1では、プロセッサ1とメモリコントローラ3間
の伝送系と、入出力ユニット25とメモリコントローラ
3間の伝送系を共通のものとして図示したが、入出力ユ
ニット26をメモリコントローラ3と直接接続する等、
その他の接続形態であってもかまわない。
It should be noted that the transmission system 22 may be a bus or other forms such as a switch matrix. In FIG. 1, the transmission system between the processor 1 and the memory controller 3 and the transmission system between the input / output unit 25 and the memory controller 3 are shown as common, but the input / output unit 26 is directly connected to the memory controller 3. And so on
Other connection forms may be used.

【0018】次に、図2にメモリコントローラー3の内
部構成を示す。
Next, FIG. 2 shows the internal structure of the memory controller 3.

【0019】ここでは、図1の周辺機器26〜29とし
て、ハードディスク等の外部記憶装置6と、その他の周
辺装置7を備え、図1の入出力ユニット25が外部バス
コントローラ5であり、伝送系22がバスである場合を
例にとり示した。
Here, as the peripheral devices 26 to 29 of FIG. 1, an external storage device 6 such as a hard disk and other peripheral devices 7 are provided, and the input / output unit 25 of FIG. 1 is the external bus controller 5 and the transmission system. The case where 22 is a bus is shown as an example.

【0020】さて、メモリコントローラユニット3は、
プロセッサ1や外部バスコントローラ5との間のデータ
転送制御を行うバス制御部8と、プロセッサ1や外部記
憶装置6等からの主記憶4へのアクセス命令をメモリコ
ントローラに取り込む命令入力処理部9と、プロセッサ
1や周辺機器7からアクセス命令で指定されたアクセス
対象の論理アドレスと主記憶4内の物理アドレスとの間
の変換を行うアドレス変換部10と、主記憶4から読み
出したもしくは主記憶4に書き込むデータを一時的に蓄
えるデータバッファ11と、主記憶4とのデータの入出
力を制御するメモリ入出力制御部12と、データコピー
制御部13を備えている。
Now, the memory controller unit 3 is
A bus control unit 8 for controlling data transfer between the processor 1 and the external bus controller 5, and an instruction input processing unit 9 for fetching an access command from the processor 1, external storage device 6 or the like to the main memory 4 into the memory controller. An address translation unit 10 that translates between a logical address of an access target designated by an access instruction from the processor 1 or the peripheral device 7 and a physical address in the main memory 4, and a main memory 4 read from the main memory 4 or A data buffer 11 for temporarily storing data to be written in, a memory input / output control unit 12 for controlling input / output of data to / from the main memory 4, and a data copy control unit 13.

【0021】また、データコピー制御部13は、プロセ
ッサ1や周辺装置7等からの主記憶4内のデータのデー
タ複写(データコピー)命令を受けつけ、命令で指定さ
れたコピー元アドレスを格納するSPレジスタ(Source-Pa
ge)14と、命令で指定されたコピー先アドレスを格納す
るDTレジスタ(Destination -Page)15と、主記憶4と
外部記憶装置6との一時記憶データのスワップサイズ単
位をベースに定めたページサイズを格納するページレジ
スタ(PageSize)16と、データコピー処理の状態を保持
するステータスレジスタ(StatusReg)17を備えてい
る。
The data copy control unit 13 receives the data copy (data copy) command of the data in the main memory 4 from the processor 1, the peripheral device 7, etc., and stores the copy source address designated by the command. Register (Source-Pa
ge) 14, a DT register (Destination -Page) 15 for storing a copy destination address specified by an instruction, and a page size determined based on a swap size unit of temporary storage data between the main storage 4 and the external storage device 6. Is provided with a page register (PageSize) 16 and a status register (StatusReg) 17 for holding the status of the data copy processing.

【0022】次に、ここで、記憶階層について図3に示
しておく。
Next, the storage hierarchy will be shown in FIG.

【0023】一般的なコンピュータシステムの記憶階層
は複数レベルで構成される。階層間の一回のデータ転送
は隣接する2階層間でのみ行う。通常、プロセッサに近
い階層を上位レベルといい、遠い階層を下位レベルとい
う。そして、上位レベルのメモリは下位レベルのメモリ
よりも記憶容量が小さくて高速である。両レベル間のデ
ータ転送の固定長の最小単位を通常ブロックと呼び、こ
の単位で転送を行う。プロセッサ等からメモリへ要求さ
れたデータが、最上位レベルの階層に格納されたいずれ
かのブロックに存在することをヒットと呼び、ない場合
をミスと呼ぶ。ヒットの場合は、直接最上位レベルの階
層からデータを読み込むが、ミスの場合には、一段下の
記憶階層を検索して、要求されたデータを求めることに
なる。したがって、ミスの場合、アクセス速度の低下と
階層間のデータ転送により処理速度が低下する。
The storage hierarchy of a typical computer system is composed of multiple levels. Data transfer between layers is performed only between two adjacent layers. Usually, a layer closer to the processor is called an upper level, and a layer further away is called a lower level. The upper level memory has a smaller storage capacity and is faster than the lower level memory. A fixed-length minimum unit of data transfer between both levels is called a normal block, and transfer is performed in this unit. The fact that the data requested from the processor or the like to the memory exists in any of the blocks stored in the highest level hierarchy is called a hit, and the data that does not exist is called a miss. In the case of a hit, the data is directly read from the highest level hierarchy, but in the case of a miss, the storage hierarchy one step lower is searched to obtain the requested data. Therefore, in the case of a miss, the processing speed decreases due to the decrease in access speed and the data transfer between layers.

【0024】以下、本実施形態に係るメモリコントロー
ラー3の動作を説明する。
The operation of the memory controller 3 according to this embodiment will be described below.

【0025】ここで、図4に、メモリコントローラー3
内における情報の流れを示しておく。
Here, in FIG. 4, the memory controller 3
The flow of information within is shown below.

【0026】図中において、プロセッサ1や周辺機器7
などからバス上に発行された主記憶4のアクセス命令と
アクセス対象の論理アドレスは命令入力部9が取り込
む。また、アクセス命令がストア命令である場合には、
バス上に出力された当該命令が対象とするデータをデー
タバッファ11に取り込む。
In the figure, the processor 1 and peripheral devices 7 are shown.
The instruction input unit 9 fetches the access instruction of the main memory 4 issued on the bus from the above and the logical address to be accessed. If the access instruction is a store instruction,
The data targeted by the instruction output on the bus is fetched into the data buffer 11.

【0027】命令入力部9が取り込んだアクセス命令
が、通常のロード/ストア命令である場合は、アクセス
対象の論理アドレスをアドレス変換部10を通じて物理
アドレスに変換し、命令と共に、メモリ入出力制御部1
2へ渡す。メモリ入出力制御部12は、命令が、ストア
命令の場合は、データバッファ11に取り込んだストア
命令が対象とするデータを主記憶4の変換された物理ア
ドレスに書き込む。ロード命令の場合は、メモリ入出力
制御部12は、主記憶4の変換された物理アドレスから
データを読み出し、データバッファ11に格納する。格
納されたロード対象のデータは、その後、バス制御部4
2によってバスへ送出する。
When the access instruction fetched by the instruction input unit 9 is a normal load / store instruction, the logical address to be accessed is converted into a physical address through the address conversion unit 10, and the memory input / output control unit together with the instruction is converted. 1
Pass to 2. When the instruction is a store instruction, the memory input / output control unit 12 writes the data targeted by the store instruction fetched in the data buffer 11 to the converted physical address of the main memory 4. In the case of a load instruction, the memory input / output control unit 12 reads data from the converted physical address of the main memory 4 and stores it in the data buffer 11. The stored data to be loaded is then transferred to the bus control unit 4
2 to send to the bus.

【0028】一方、命令入力部9が取り込んだアクセス
命令がデータコピー命令の場合は、次の処理を行う。
On the other hand, when the access command fetched by the command input unit 9 is a data copy command, the following processing is performed.

【0029】まず、命令入力部9よりデータコピー命令
とコピー元とコピー先の論理アドレスがデータコピー制
御部13へ渡される。データコピー制御部13は、渡さ
れたコピー元からコピー先へのデータコピーを実現する
リード/ライト要求を出し、データバッファ11を利用
して主記憶内4のデータコピーを実現する。具体的に
は、ページ単位に、データコピーが行われるものとし、
データコピー命令のコピー元論理アドレス、コピー先論
理アドレスがページによって指定されるものとすると、
データコピー制御部13は、まず、コピー元のページア
ドレスをSPレジスタ14に格納し、コピー先のページア
ドレスをDTレジスタ14に格納する。そして、コピー元
のページアドレスをアドレス変換部10に送り、物理ア
ドレスに変換する。また、コピー先のページアドレスを
アドレス変換部10に送り、物理アドレスに変換する。
そして、データコピー制御部13は、内部で、ページ間
のデータコピーをブロック単位に行うために、変換され
たコピー元ページの物理アドレスとコピー先ページの物
理アドレスから、データコピーを行うべきコピー元ブロ
ックの物理アドレスとコピー先ブロックの物理アドレス
の組を、順次、生成する。すなわち、コピー元ページと
コピー先ページ中において同じ位置にある2つのブロッ
クの物理アドレスを、コピー元ページのものはコピー元
ブロックの物理アドレスとして、コピー先のものはコピ
ー先ブロックの物理アドレスとして、順次生成する。そ
して、データコピー制御部13は、順次生成したコピー
元ブロックの物理アドレスとコピー先ブロックの物理ア
ドレスの各組について、メモリ入出力制御部12を介し
て、主記憶のコピー元ブロックの物理アドレスからデー
タを読み出し、データバッファ11に書き込み、主記憶
4のコピー元ブロックの物理アドレスからデータバッフ
ァ11に読み込んだデータを、主記憶のコピー先ブロッ
クの物理アドレスに書き込む処理を、ブロック単位に順
次行う。ただし、後述するように、データコピー時に、
コピー元のページのブロックが、プロセッサ1や周辺装
置7のキャッシュに読み込まれており、かつ、これがキ
ャッシュ上で書き換えられている場合には、このブロッ
クについては、主記憶4上のコピー元ブロックからコピ
ー先ブロックへの同士のデータコピーは行わす、キャッ
シュから書き戻されたブロックをコピー元ブロックとコ
ピー先ブロックの双方へ書き込む処理を行う。
First, the command input unit 9 transfers the data copy command and the logical addresses of the copy source and the copy destination to the data copy control unit 13. The data copy control unit 13 issues a read / write request for realizing the data copy from the copy source to the copy destination, and realizes the data copy in the main memory 4 by using the data buffer 11. Specifically, it is assumed that data is copied in page units,
If the copy source logical address and the copy destination logical address of the data copy instruction are specified by the page,
The data copy control unit 13 first stores the page address of the copy source in the SP register 14 and the page address of the copy destination in the DT register 14. Then, the page address of the copy source is sent to the address conversion unit 10 and converted into a physical address. Further, the page address of the copy destination is sent to the address conversion unit 10 and converted into a physical address.
Then, the data copy control unit 13 internally performs the data copy between the pages on a block-by-block basis, so that the copy source to which the data copy is to be performed from the converted physical address of the copy source page and the physical address of the copy destination page. A set of a block physical address and a copy destination block physical address is sequentially generated. That is, the physical addresses of the two blocks at the same position in the copy source page and the copy destination page are set as the physical address of the copy source block for the copy source page and the physical address of the copy destination block for the copy destination page. Generate sequentially. Then, the data copy control unit 13 determines, via the memory input / output control unit 12, the physical address of the copy source block of the main memory for each set of the physical address of the copy source block and the physical address of the copy destination block that are sequentially generated. A process of reading data, writing to the data buffer 11, and writing the data read from the physical address of the copy source block of the main memory 4 to the data buffer 11 to the physical address of the copy destination block of the main memory is sequentially performed in block units. However, as described later, when copying data,
When the block of the copy source page is read in the cache of the processor 1 or the peripheral device 7 and is rewritten in the cache, this block is copied from the copy source block in the main memory 4. Data is copied to the copy destination block, and the block written back from the cache is written to both the copy source block and the copy destination block.

【0030】さて、このようなメモリコントローラユニ
ット3のデータコピー動作に際して、プロセッサ1や周
辺機器7などがキャッシュメモリを持っている場合、そ
れらのキャッシュと主記憶4との一致性を保証するため
にのコヒーレント制御が必要なとなる。
In the data copy operation of the memory controller unit 3 as described above, in the case where the processor 1 or the peripheral device 7 has a cache memory, in order to guarantee the consistency between the cache and the main memory 4, Coherent control of is required.

【0031】以下、このメモリコントローラー3が行う
コヒーレント制御について説明する。
The coherent control performed by the memory controller 3 will be described below.

【0032】図5に、このコヒーレント制御の中心とな
るデータコピー制御部13の構成を示す。
FIG. 5 shows the configuration of the data copy control unit 13, which is the center of this coherent control.

【0033】図示するように、データコピー制御部13
は、前述したSPレジスタ14、DTレジスタ15、ページ
サイズレジスタ16と、ステータスレジスタ17を備え
ている。また、さらに、コピー制御部52と、ブロック
アドレス制御部51を備えている。
As shown, the data copy controller 13
Includes the SP register 14, the DT register 15, the page size register 16 and the status register 17 described above. Further, it further comprises a copy controller 52 and a block address controller 51.

【0034】コヒーレント制御を実現するために、第1
に、データコピー制御部13はデータコピー中のプロセ
ッサ1や周辺装置7の主記憶4へのアクセスを禁止す
る。
In order to realize coherent control, the first
In addition, the data copy control unit 13 prohibits access to the main memory 4 of the processor 1 and the peripheral device 7 during data copy.

【0035】すなわち、図6に示すように、データコピ
ー制御部13のコピー制御部52はは、命令入力部9か
らデータコピー命令を受け取ると、ステータスレジスタ
17にコピー中状態を示す値を設定し、前述したデータ
コピーと、後述するダーティブロックの書き戻しが完了
するまで保持する。ステータスレジスタ17にコピー中
状態を示す値が設定こされている場合、命令入力部9
は、プロセッサ1や周辺機器7等からのメモリロード/
ストア/データコピー命令がバス41に出力された場
合、その命令の応答としてWait要求をバス41に出力す
る。また、命令入力部9は、データコピーと後述するダ
ーティブロックの書き戻しが完了し、ステータスレジス
タ17に、コピー待ち状態を示す値が設定されると、Wa
it解除要求をバス42に送出する。
That is, as shown in FIG. 6, when the copy control unit 52 of the data copy control unit 13 receives the data copy command from the command input unit 9, it sets a value indicating the copying status in the status register 17. The data copy described above is held until the write back of a dirty block described later is completed. When the value indicating the copying status is set in the status register 17, the instruction input unit 9
Is a memory load from the processor 1, peripheral device 7, etc.
When a store / data copy instruction is output to the bus 41, a Wait request is output to the bus 41 in response to the instruction. In addition, when the instruction input unit 9 completes the data copy and the write-back of the dirty block described later, and the value indicating the copy waiting state is set in the status register 17,
The it cancellation request is sent to the bus 42.

【0036】一方、発行した命令に対してWait要求が応
答されたプロセッサ1は周辺装置7は、Wait解除要求が
発行されると、Wait要求が応答された命令を再発行す
る。命令入力部9は、Wait解除要求をバス42に送出し
た後は、ステータスレジスタ17にコピー中状態を示す
値が設定されるまで、命令を取り込み、これを前述した
ように処理する。
On the other hand, in the processor 1 to which the Wait request is responded to the issued instruction, the peripheral device 7 reissues the instruction to which the Wait request is responded when the Wait cancellation request is issued. After sending the Wait cancellation request to the bus 42, the command input unit 9 fetches commands until the value indicating the copying status is set in the status register 17, and processes the commands as described above.

【0037】第2に、データコピー制御部13は、プロ
セッサ1や周辺装置7のキャッシュにデータコピー処理
で書き換えられる前のコピー先のページのブロックが読
み込まれている場合、これがプロセッサ1や周辺装置7
によって利用されないようにするために、図7にInvali
dateとして示したコピー先ページのキャッシュブロック
の無効化要求をバス41に発行する処理を行う。
Second, when the block of the copy destination page before being rewritten by the data copy process is read in the cache of the processor 1 or the peripheral device 7, the data copy control unit 13 determines that this is the processor 1 or the peripheral device. 7
Invali to prevent it from being used by
A process of issuing a cache block invalidation request of the copy destination page indicated as date to the bus 41 is performed.

【0038】すなわち、データコピー制御部13のブロ
ックアドレス生成部51は、DPレジスタ15にページ
アドレスが設定されると、前述したようにコピー先ブロ
ックの物理アドレスを生成する。コピー制御部52は、
データコピー処理に先立ち、生成された物理アドレスの
ブロックの無効化要求をバス41に送出する。これを受
けた各プロセッサ1、周辺装置7は、このキャッシュブ
ロックが自身のキャッシュに読み込まれている場合に
は、これを無効化する。
That is, when the page address is set in the DP register 15, the block address generator 51 of the data copy controller 13 generates the physical address of the copy destination block as described above. The copy control unit 52
Prior to the data copy processing, an invalidation request for the block of the generated physical address is sent to the bus 41. Receiving this, each processor 1 and the peripheral device 7 invalidate this cache block when it is read in its own cache.

【0039】第3に、データコピー制御部13は、デー
タコピー時に、コピー元のページのブロックが、プロセ
ッサ1や周辺装置7のキャッシュに読み込まれており、
かつ、これがキャッシュ上で書き換えられている場合
に、書き換えられたデータがコピー先のページにも反映
されるよう、図7にCleanとして示した書き戻し要求を
バス41に発行し、前述したように、書き戻されたデー
タをコピー元とコピー先のページの両方に書き込む処理
を行う。
Third, the data copy control unit 13 reads the block of the copy source page into the cache of the processor 1 and the peripheral device 7 at the time of data copy,
Further, when this is rewritten in the cache, the rewriting request shown as Clean in FIG. 7 is issued to the bus 41 so that the rewritten data is reflected in the copy destination page, and as described above. , Write back the written data to both the copy source and copy destination pages.

【0040】この処理は、図8に示すように、データコ
ピー命令が発行されて、前述した伽主の無効化要求の送
出が終了した後に、データコピー処理の一部として行わ
れる。
As shown in FIG. 8, this process is performed as a part of the data copy process after the data copy command is issued and the transmission of the above-mentioned invalidation request of the host is completed.

【0041】このデータコピー処理の処理手順を図9に
示す。
FIG. 9 shows the processing procedure of this data copy processing.

【0042】図示するように、この処理では、コピー制
御部52は、物理アドレスが生成されたコピー元ブロッ
クの書き戻し(Clean)要求をバス41に送出する(ステ
ップ92)。これを受けた各プロセッサ1、周辺装置7
は、このキャッシュブロックが自身のキャッシュに読み
込まれており、かつ、これがキャッシュ上で書き換えら
れている場合(DIrty)の場合は、Modified信号とキャッ
シュ上のブロックのデータをメモリコントールユニット
3に送出し、書き戻しを依頼する。
As shown in the figure, in this processing, the copy controller 52 sends a write back (Clean) request for the copy source block in which the physical address is generated to the bus 41 (step 92). Receiving this, each processor 1, peripheral device 7
Sends the Modified signal and the data of the block in the cache to the memory control unit 3 when this cache block is read in its own cache and is rewritten in the cache (DIrty). , Request a writeback.

【0043】Modified信号を受け取った場合、コピー制
御部52は、書き戻しを依頼されたブロックのデータ
を、主記憶4の生成されたコピー元ブロックの物理アド
レスとコピー先ブロックの物理アドレスに、メモリ入出
力制御部12を介して書き込む(ステップ94)。
When the Modified signal is received, the copy control unit 52 stores the data of the block requested to be written back in the physical address of the generated copy source block and the physical address of the copy destination block in the main memory 4 in the memory. Writing is performed via the input / output control unit 12 (step 94).

【0044】一方、Modified信号を受け取らなかった場
合は、前述したようにして、主記憶4の生成されたコピ
ー元ブロックの物理アドレスからコピー先ブロックの物
理アドレスにデータをコピーする。
On the other hand, if the Modified signal is not received, the data is copied from the physical address of the copy source block generated in the main memory 4 to the physical address of the copy destination block as described above.

【0045】そして、最後に、ステータスレジスタ17
に、コピー待ち状態を示す値を設定し処理を終了する。
Finally, the status register 17
Then, a value indicating the copy waiting state is set in, and the process ends.

【0046】以上、本発明の一実施形態について説明し
た。
The embodiment of the present invention has been described above.

【0047】以上のように、本実施形態によれば、デー
タコピー要求元が主記憶のページ間で大量なデータをコ
ピーする場合の要求元の負荷を削減することができ、マ
ルチプロセッサシステムでキャッシュを持ったプロセッ
サや周辺機器を存在する場合のキャッシュコヒーレンシ
制御によるデータ書き戻し回数を削減することができ、
バス使用率を削減できることから、処理速度を向上する
効果がある。
As described above, according to the present embodiment, it is possible to reduce the load on the request source when the data copy request source copies a large amount of data between pages of the main memory, and the cache is used in the multiprocessor system. It is possible to reduce the number of times data is written back by cache coherency control when there is a processor or peripheral device with
Since the bus usage rate can be reduced, the processing speed can be improved.

【0048】具体的に、図10に従来のコンピュータシ
ステムと本実施形態によるデータコピーの処理能力評価
結果を示す。
Specifically, FIG. 10 shows the result of evaluation of the processing capacity of data copying by the conventional computer system and this embodiment.

【0049】ここでは、ページサイズ(P)=16KB
yte、キャッシュラインサイズ(C)=64Byt
e、メモリロードレーテンシ(l)=30、メモリスト
アレーテンシ(s)=10、メモリコントローラからの
主記憶アクセスレーテンシ(m)を7とし、ダーティ率
(d)とした。従来システムで1ページのデータコピー
を実行した場合の全レーテンシ(LO)は、 LO=l・(P/C)・(1―d)+s・(P/C) となる。また、本発明によるデータコピーを実行した場
合の全レーテンシ(LN)は、メモリロードレーテンシ
がないことから以下の式で表すことができる。
Here, the page size (P) = 16 KB
yte, cache line size (C) = 64 Byte
e, the memory load latency (l) = 30, the memory store latency (s) = 10, the main memory access latency (m) from the memory controller was set to 7, and the dirty rate (d) was set. When the data copy of one page is executed in the conventional system, the total latency (LO) is LO = l · (P / C) · (1-d) + s · (P / C). Further, the total latency (LN) when the data copy according to the present invention is executed can be expressed by the following equation since there is no memory load latency.

【0050】LN=(m・(P/C))・(1+(1−
d))+s・(P/C)・d 図10には、上式でダーティ率を0〜100%に変化さ
せたときの処理能力比を示した。
LN = (m. (P / C)). (1+ (1-
d)) + s · (P / C) · d FIG. 10 shows the processing capacity ratio when the dirty rate is changed from 0 to 100% in the above equation.

【0051】ダーティ率はコンピュータシステムのオペ
レーティングシステムやアプリケーションソフトウエア
により変化するが、一般的には10〜30%程度であ
る。この範囲での本実施形態による処理能力は、従来の
コンピュータシステムの2.5〜3.5倍の性能を得る
ことできる。また、上記結果にバス使用率も加味する
と、従来のコンピュータシステムは、ロード及びストア
時にバスを使用することになることから、上記結果以上
に能力差でてくることになる。
The dirty rate varies depending on the operating system of the computer system and application software, but is generally about 10 to 30%. The processing capacity according to this embodiment in this range can obtain 2.5 to 3.5 times the performance of the conventional computer system. Further, if the bus utilization rate is also added to the above result, the conventional computer system uses the bus at the time of loading and storing, so that the capacity difference becomes larger than the above result.

【0052】[0052]

【発明の効果】以上のように、本発明によれば、大量の
主記憶内のデータのコピーや移動を、より効率行うこと
のできるコンピュータシステムを提供することができ
る。また、特に、マルチプロセッサシステムにおいて、
大量の主記憶内のデータのコピーや移動の効率を、より
劣化させない、データのコヒーレンス制御を実現するこ
とができる。
As described above, according to the present invention, it is possible to provide a computer system capable of more efficiently copying and moving a large amount of data in the main memory. Also, especially in multiprocessor systems,
It is possible to realize data coherence control without further deteriorating the efficiency of copying or moving data in a large amount of main memory.

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

【図1】本発明の実施形態に係るコンピュータシステム
の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.

【図2】本発明の実施形態に係るメモリコントローラー
の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a memory controller according to the embodiment of the present invention.

【図3】コンピュータシステムの一般的な記憶階層を示
す図である。
FIG. 3 is a diagram showing a general storage hierarchy of a computer system.

【図4】本発明の実施形態に係るメモリコントローラの
構成を示すブロック図である。
FIG. 4 is a block diagram showing a configuration of a memory controller according to the embodiment of the present invention.

【図5】本発明の実施形態に係るデータコピー制御部の
構成を示すブロック図である。
FIG. 5 is a block diagram showing a configuration of a data copy control unit according to the embodiment of the present invention.

【図6】本発明の実施形態に係るコヒーレント制御によ
るwait要求発行のようすを示す図である。
FIG. 6 is a diagram showing how a wait request is issued by coherent control according to the embodiment of the present invention.

【図7】本発明の実施形態におけるコヒーレント制御に
よる無効化要求/書き戻し要求発行のようすを示す図で
ある。
FIG. 7 is a diagram showing how an invalidation request / writeback request is issued by coherent control according to an embodiment of the present invention.

【図8】本発明の実施形態におけるコヒーレント制御の
処理の遷移を表す状態遷移図である。
FIG. 8 is a state transition diagram showing transition of processing of coherent control in the embodiment of the present invention.

【図9】本発明の実施形態に係るデータコピー処理の処
理手順を示すフローチャートである。
FIG. 9 is a flowchart showing a processing procedure of data copy processing according to the embodiment of the present invention.

【図10】本発明の実施形態に係るコンピュータシステ
ムのデータコピー性能を表すグラフである。
FIG. 10 is a graph showing data copy performance of the computer system according to the embodiment of the present invention.

【符号の説明】 1・・・プロセッサ 2・・・バス 3・・・メモリコントローラ 4・・・主記憶 5・・・外部バスコントローラ 6・・・外部記憶装置 7・・・周辺装置 8・・・バス制御部 9・・・命令入力部 10・・・アドレス変換部 11・・・データバッファ 12・・・メモリ入出力制御部 13・・・データコピー制御部 14、15、16、17・・・レジスタ[Explanation of symbols] 1 ... Processor 2 ... bus 3 ... Memory controller 4 ... Main memory 5 ... External bus controller 6 ... External storage device 7 ... Peripheral device 8: Bus control unit 9: Command input section 10 ... Address conversion unit 11 ... Data buffer 12 ... Memory input / output control unit 13 ... Data copy control unit 14, 15, 16, 17 ... Register

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−55459(JP,A) 特開 昭52−129241(JP,A) 特開 平7−253924(JP,A) 特開 平3−158943(JP,A) 特開 平3−37744(JP,A) 特開 平2−271443(JP,A) 特開 平2−141846(JP,A) 特開 昭63−155342(JP,A) 特開 昭62−256147(JP,A) 国際公開98/12639(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 12/00 550 - 12/06 G06F 13/16 - 13/18 G06F 9/30 - 9/355 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-60-55459 (JP, A) JP-A-52-129241 (JP, A) JP-A-7-253924 (JP, A) JP-A-3- 158943 (JP, A) JP-A-3-37744 (JP, A) JP-A-2-271443 (JP, A) JP-A-2-141846 (JP, A) JP-A-63-155342 (JP, A) JP 62-256147 (JP, A) International Publication 98/12639 (WO, A1) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 12/08-12/12 G06F 12/00 550 -12/06 G06F 13/16-13/18 G06F 9/30-9/355

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】コンピュータシステムにおいて、少なくと
も、キャッシュメモリを備えた複数のプロセッサの、主
記憶へのアクセスを制御するメモリコントローラであっ
て、 前記プロセッサが発行した、主記憶の領域間のデ
ータコピーを要求するデータコピー命令を、データコピ
ーを行うコピー元領域とコピー先領域の指定と共に受け
付ける手段と、 受け付けたコピー元領域の指定と、受け付けたコピー先
領域の指定とを格納する手段と、 指定を格納した主記憶のコピー元領域のデータを読み込
んだキャッシュメモリの領域であって、当該領域のデー
タがキャッシュメモリ上で更新され主記憶のコピー元領
域のデータと一致しないものとなっているキャッシュメ
モリの領域のデータの書き戻しを要求する書き戻し要求
を前記プロセッサに発行する手段と、 発行した書き戻し要求に応答して前記プロセッサから送
られたデータを、指定を格納した主記憶のコピー元領域
とコピー先領域の両方に書き込む手段とを有することを
特徴とするメモリコントローラ。
1. A computer system, comprising: a memory controller for controlling access to a main memory of at least a plurality of processors having a cache memory, wherein a data copy between areas of the main memory issued by the processor is performed. A means for accepting the requested data copy command together with the specification of the copy source area and the copy destination area for performing the data copy, a means for storing the specification of the accepted copy source area and the specification of the accepted copy destination area, and a specification A cache memory area that has read the stored data in the copy source area of the main memory, and the data in that area has been updated in the cache memory and does not match the data in the copy source area of the main memory. Issue a write-back request to the processor requesting write-back of the data in the area And a means for writing the data sent from the processor in response to the issued write-back request to both the copy source area and the copy destination area of the main memory storing the designation. controller.
【請求項2】請求項1記載のメモリコントローラであっ
て、 指定を格納した主記憶のコピー元領域のデータを読み込
んだキャッシュメモリの領域であって、当該領域のデー
タがキャッシュメモリ上で更新され主記憶のコピー元領
域のデータと一致しないものとなっているキャッシュメ
モリの領域が存在しない場合に、指定を格納した主記憶
のコピー元領域から、指定を格納した主記憶のコピー先
領域に、データをコピーする手段とを有することを特徴
とするメモリコントローラ。
2. The memory controller according to claim 1, wherein the data in the copy source area of the main memory storing the designation is read, and the data in the area is updated in the cache memory. When there is no cache memory area that does not match the data in the main memory copy source area, from the main memory copy source area that stores the designation to the main memory copy destination area that stores the designation, A memory controller having means for copying data.
【請求項3】請求項または記載のメモリコントロー
ラと、当該コントローラによってアクセスが制御される
主記憶と、キャッシュメモリを備え前記データコピー命
令を発行する複数のプロセッサとを有し、 前記各プロセッサは、前記メモリコントローラが発行し
た前記書き戻し命令に応答して、前記メモリコントロー
ラが指定を格納した主記憶のコピー元領域のデータを読
み込んだキャッシュメモリの領域であって、当該領域の
データがキャッシュメモリ上で更新され主記憶のコピー
元領域のデータと一致しないものとなっているキャッシ
ュメモリの領域のデータを、前記メモリコントローラに
送る手段を有することを特徴とするコンピュータシステ
ム。
A 3. A memory controller according to claim 1 or 2, wherein, a main memory to which access is controlled by the controller, and a plurality of processors issuing said data copy instruction includes a cache memory, wherein each processor Is a region of the cache memory in which the memory controller reads the data of the copy source region of the main memory storing the designation in response to the write-back command issued by the memory controller, and the data of the region is cached. A computer system comprising means for sending to the memory controller the data in the area of the cache memory that has been updated on the memory and does not match the data in the copy source area of the main memory.
【請求項4】主記憶と、キャッシュメモリを備えた複数
のプロセッサとを含むコンピュータシステムにおいて、
前記キャッシュメモリからデータを前記主記憶に書き戻
す方法であって、 主記憶内の領域間のデータコピーに際して、主記憶のコ
ピー元領域のデータを読み込んだキャッシュメモリの領
域であって、当該領域のデータがキャッシュメモリ上で
更新され主記憶のコピー元領域のデータと一致しないも
のとなっているキャッシュメモリの領域のデータを読み
出し、読み出したデータを主記憶のコピー元領域とコピ
ー先領域の両方に書き込むことを特徴とするキャッシュ
データの書き戻し方法。
4. A computer system including a main memory and a plurality of processors having a cache memory,
A method of writing back data from the cache memory to the main memory, wherein when copying data between areas in the main memory, the area of the cache memory that has read the data of the copy source area of the main memory, The data in the cache memory area where the data is updated in the cache memory and does not match the data in the main memory copy source area is read, and the read data is stored in both the main memory copy source area and copy destination area. A method of writing back cache data, which is characterized by writing.
JP31848797A 1997-11-19 1997-11-19 Memory controller and computer system Expired - Fee Related JP3507314B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31848797A JP3507314B2 (en) 1997-11-19 1997-11-19 Memory controller and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31848797A JP3507314B2 (en) 1997-11-19 1997-11-19 Memory controller and computer system

Publications (2)

Publication Number Publication Date
JPH11149409A JPH11149409A (en) 1999-06-02
JP3507314B2 true JP3507314B2 (en) 2004-03-15

Family

ID=18099674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31848797A Expired - Fee Related JP3507314B2 (en) 1997-11-19 1997-11-19 Memory controller and computer system

Country Status (1)

Country Link
JP (1) JP3507314B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058456A (en) * 2016-11-24 2018-06-01 삼성전자주식회사 Method and apparatus for managing a memory

Also Published As

Publication number Publication date
JPH11149409A (en) 1999-06-02

Similar Documents

Publication Publication Date Title
US6021468A (en) Cache coherency protocol with efficient write-through aliasing
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US8103835B2 (en) Low-cost cache coherency for accelerators
US7698508B2 (en) System and method for reducing unnecessary cache operations
CN1575455B (en) Distributed read and write caching implementation for optimized input/output applications
JP3067112B2 (en) How to reload lazy push into copy back data cache
JP4447580B2 (en) Partitioned sparse directory for distributed shared memory multiprocessor systems
JP3281893B2 (en) Method and system for implementing a cache coherency mechanism utilized within a cache memory hierarchy
US7577794B2 (en) Low latency coherency protocol for a multi-chip multiprocessor system
JP2000250812A (en) Memory cache system and managing method therefor
US6502171B1 (en) Multiprocessor system bus with combined snoop responses explicitly informing snoopers to scarf data
KR20030097871A (en) Method and system for speculatively invalidating lines in a cache
JPH09259036A (en) Write-back cache and method for maintaining consistency in write-back cache
US6751705B1 (en) Cache line converter
JPH09114665A (en) Method for transfer of command and data between storage device and auxiliary processor and information-processing system
JP2000010860A (en) Cache memory control circuit, processor, processor system, and parallel processor system
JPH10154100A (en) Information processing system, device and its controlling method
JPH09167116A (en) Computer cache system
US8347034B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
JPH06110844A (en) Decentralized shared memory type multiprocessor system
JP2000322318A (en) Coherency protocol for computer cache
JP3068469B2 (en) Second level cache memory system
JPH09179779A (en) Computer system and data transfer method
US7685372B1 (en) Transparent level 2 cache controller

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031218

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

Free format text: PAYMENT UNTIL: 20071226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081226

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081226

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091226

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101226

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101226

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees