JPH11149409A - Memory controller and computer system - Google Patents

Memory controller and computer system

Info

Publication number
JPH11149409A
JPH11149409A JP9318487A JP31848797A JPH11149409A JP H11149409 A JPH11149409 A JP H11149409A JP 9318487 A JP9318487 A JP 9318487A JP 31848797 A JP31848797 A JP 31848797A JP H11149409 A JPH11149409 A JP H11149409A
Authority
JP
Japan
Prior art keywords
data
copy
memory
area
main memory
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.)
Granted
Application number
JP9318487A
Other languages
Japanese (ja)
Other versions
JP3507314B2 (en
Inventor
Tadanobu Toba
忠信 鳥羽
Shuji Kikuchi
修司 菊地
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

Abstract

PROBLEM TO BE SOLVED: To improve efficiency in data copy processing inside a main memory. SOLUTION: When a data copy instruction is received from a processor 1, a memory controller 3 requests the invalidation of cache contents corresponding to the area of the copy destination in the main memory to the processor 1 and when the area of the copy source in a main memory 4 is not reloaded on a cache, data are copied between the areas of the main memory 4 but when that area is reloaded, the write-back of data in the relevant area is requested to the cache. In response to the request, the data sent from the cache are written in both the areas of the copy source and the copy destination in the main memory 4.

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 a memory access in a computer system, and more particularly to a technique for improving a data access processing speed in a computer system.

【0002】[0002]

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

【0003】より詳細には、主記憶のデータを伝送する
メモリバスは、比較的配線長が長く、回路実装上動作周
波数を上げることが困難である。このため、プロセッサ
動作周波数のを向上させても、この主記憶へのアクセス
が多発するとメモリバス速度の遅さが大きなネックとな
り、全体の性能が充分に向上しない。
More specifically, a 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. Therefore, even if the operating frequency of the processor is increased, if the access to the main memory occurs frequently, the slowness of the memory bus speed becomes a major bottleneck, and the overall performance is not sufficiently improved.

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

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

【0006】[0006]

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

【0007】しかし、近年のビジネス一般向けデータサ
ーバやインターネット上のWEBサーバなど大量のデー
タの主記憶内のコピーや移動が頻繁に起きる可能性があ
るアプリケーションを実行するコンピュータシステムに
おいては、キャッシュメモリではキャッシュミスが頻発
しキャッシュメモリによる性能改善の効果が少ない。
However, in a computer system that executes an application in which a large amount of data is frequently copied or moved in a main memory, such as a data server for general business or a web server on the Internet in recent years, a 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, data of 1 GB or more is copied or moved on a daily basis, so that in a computer system used for such a purpose, a memory bus is frequently used. Sufficient performance cannot be obtained. Further, in a computer system for copying and moving such a large amount of data in the main storage, a load on a processor for performing the processing is large.

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

【0010】[0010]

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

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

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

【0013】[0013]

【発明の実施の形態】以下、本発明の一実施形態につい
て説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One 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, the computer system according to the present embodiment has the configuration of a general computer system, and includes a plurality of processors 1, an input / output unit 25, a display 26, a network adapter 27, a hard disk 28, It has a peripheral device such as a CD-ROM 29, a transmission system 22 such as a bus and a switch matrix, a memory controller 3, a main memory 4, and the like. Transmission system 22
Means a plurality of processors, a memory control unit 3,
The input / output units 25 are interconnected. Each of the peripheral devices 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 commands sent from the processor 1 and the peripheral devices 26 to 29.

【0017】なお、伝送系22は、バスであってもスイ
ッチマトリクス等その他の形態であってかまわない。ま
た、図1では、プロセッサ1とメモリコントローラ3間
の伝送系と、入出力ユニット25とメモリコントローラ
3間の伝送系を共通のものとして図示したが、入出力ユ
ニット26をメモリコントローラ3と直接接続する等、
その他の接続形態であってもかまわない。
The transmission system 22 may be a bus or other forms such as a switch matrix. Also, 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. Etc.
Other connection forms may be used.

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

【0019】ここでは、図1の周辺機器26〜29とし
て、ハードディスク等の外部記憶装置6と、その他の周
辺装置7を備え、図1の入出力ユニット25が外部バス
コントローラ5であり、伝送系22がバスである場合を
例にとり示した。
Here, an external storage device 6 such as a hard disk and other peripheral devices 7 are provided as the peripheral devices 26 to 29 in FIG. 1, and the input / output unit 25 in FIG. The case where the bus 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
A bus control unit 8 that controls data transfer between the processor 1 and the external bus controller 5; an instruction input processing unit 9 that loads an access instruction to the main memory 4 from the processor 1 or the external storage device 6 into the memory controller; An address translation unit 10 for translating between a logical address to be accessed specified by an access instruction from the processor 1 or the peripheral device 7 and a physical address in the main memory 4; A data buffer 11 for temporarily storing data to be written to the main memory 4, 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 a data copy (data copy) command of data in the main memory 4 from the processor 1, the peripheral device 7, or the like, and stores the copy source address specified 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. And a status register (StatusReg) 17 for storing the status of the data copy process.

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

【0023】一般的なコンピュータシステムの記憶階層
は複数レベルで構成される。階層間の一回のデータ転送
は隣接する2階層間でのみ行う。通常、プロセッサに近
い階層を上位レベルといい、遠い階層を下位レベルとい
う。そして、上位レベルのメモリは下位レベルのメモリ
よりも記憶容量が小さくて高速である。両レベル間のデ
ータ転送の固定長の最小単位を通常ブロックと呼び、こ
の単位で転送を行う。プロセッサ等からメモリへ要求さ
れたデータが、最上位レベルの階層に格納されたいずれ
かのブロックに存在することをヒットと呼び、ない場合
をミスと呼ぶ。ヒットの場合は、直接最上位レベルの階
層からデータを読み込むが、ミスの場合には、一段下の
記憶階層を検索して、要求されたデータを求めることに
なる。したがって、ミスの場合、アクセス速度の低下と
階層間のデータ転送により処理速度が低下する。
The storage hierarchy of a general computer system is composed of a plurality of levels. One data transfer between layers is performed only between two adjacent layers. Usually, a hierarchy near the processor is called an upper level, and a hierarchy farther away is called a lower level. The higher-level memory has a smaller storage capacity and is faster than the lower-level memory. The fixed-length minimum unit of data transfer between the two levels is called a normal block, and data is transferred 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 absence of it is called a miss. In the case of a hit, the data is read directly from the highest level hierarchy. In the case of a miss, however, the next lower storage hierarchy is searched for the requested data. Therefore, in the case of a mistake, the processing speed is reduced due to a reduction in access speed and data transfer between layers.

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

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

【0026】図中において、プロセッサ1や周辺機器7
などからバス上に発行された主記憶4のアクセス命令と
アクセス対象の論理アドレスは命令入力部9が取り込
む。また、アクセス命令がストア命令である場合には、
バス上に出力された当該命令が対象とするデータをデー
タバッファ11に取り込む。
In the figure, a processor 1 and peripheral devices 7
The instruction input unit 9 fetches the access instruction of the main memory 4 and the logical address of the access target issued on the bus for example. When the access instruction is a store instruction,
The data output by the instruction on the bus is taken 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 via the address conversion unit 10 and the memory input / output control unit is transferred together with the instruction. 1
Hand over 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 into the data buffer 11 into 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 in the main memory 4 and stores the data in the data buffer 11. The stored data to be loaded is then transferred to the bus control unit 4.
2 to the bus.

【0028】一方、命令入力部9が取り込んだアクセス
命令がデータコピー命令の場合は、次の処理を行う。
On the other hand, if the access command received 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 data copy command and the logical addresses of the copy source and the copy destination are passed to the data copy control unit 13 from the command input unit 9. The data copy control unit 13 issues a read / write request for realizing the data copy from the transferred copy source to the copy destination, and realizes the data copy in the main storage 4 using the data buffer 11. Specifically, it is assumed that data copy is performed for each page,
If the copy source logical address and copy destination logical address of the data copy instruction are specified by a page,
First, the data copy control unit 13 stores the copy source page address in the SP register 14 and stores the copy destination page address in the DT register 14. Then, the copy source page address is sent to the address conversion unit 10 and converted into a physical address. In addition, the copy destination page address is sent to the address conversion unit 10 and converted to a physical address.
Then, the data copy control unit 13 internally uses the converted physical address of the copy source page and the physical address of the copy destination page to perform data copy between pages in units of blocks. A pair of a physical address of a block and a physical address of a copy destination block is sequentially generated. That is, the physical addresses of two blocks at the same position in the copy source page and the copy destination page are set, the copy source page is set as the physical address of the copy source block, the copy destination is set as the physical address of the copy destination block, Generate sequentially. Then, the data copy control unit 13 determines, for each set of the physical address of the copy source block and the physical address of the copy destination block, sequentially generated from the physical address of the copy source block of the main memory via the memory input / output control unit 12. The process of reading data, writing the data into the data buffer 11, and writing the data read into the data buffer 11 from the physical address of the copy source block of the main memory 4 to the physical address of the copy destination block of the main memory is sequentially performed in block units. However, as described below,
If the block of the page of the copy source has been read into the cache of the processor 1 or the peripheral device 7 and has been rewritten in the cache, this block is read from the copy source block in the main memory 4. Data copy between the copy destination blocks is performed, and a process of writing the block written back from the cache to both the copy source block and the copy destination block is performed.

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

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

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

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

【0034】コヒーレント制御を実現するために、第1
に、データコピー制御部13はデータコピー中のプロセ
ッサ1や周辺装置7の主記憶4へのアクセスを禁止す
る。
In order to realize coherent control, the first
In addition, the data copy control unit 13 prohibits the processor 1 and the peripheral device 7 from accessing the main memory 4 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, upon receiving a data copy command from the command input unit 9, the copy control unit 52 of the data copy control unit 13 sets a value indicating a copying status in the status register 17. The data is held until the data copy described above and the write-back of a dirty block described later are completed. When a value indicating a copying status is set in the status register 17, the instruction input unit 9
Is the memory load from the processor 1 or the 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 as a response to the instruction. When the data copy and the write-back of the dirty block described later are completed and the value indicating the copy waiting state is set in the status register 17,
An it release request is sent to the bus 42.

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

【0037】第2に、データコピー制御部13は、プロ
セッサ1や周辺装置7のキャッシュにデータコピー処理
で書き換えられる前のコピー先のページのブロックが読
み込まれている場合、これがプロセッサ1や周辺装置7
によって利用されないようにするために、図7にInvali
dateとして示したコピー先ページのキャッシュブロック
の無効化要求をバス41に発行する処理を行う。
Second, when a block of a copy destination page before being rewritten by the data copy process is read into the cache of the processor 1 or the peripheral device 7, the data copy control unit 13 7
In order not to be used by
A process of issuing a request to invalidate the cache block 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, a request to invalidate the block of the generated physical address is sent to the bus 41. Each processor 1 and peripheral device 7 receiving this invalidates the cache block if it has been read into its own cache.

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

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

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

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

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

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

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

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

【0048】具体的に、図10に従来のコンピュータシ
ステムと本実施形態によるデータコピーの処理能力評価
結果を示す。
More specifically, FIG. 10 shows a conventional computer system and a result of evaluation of a data copy processing capability according to the present 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, page size (P) = 16 KB
yte, cache line size (C) = 64 Byte
e, memory load latency (l) = 30, memory store latency (s) = 10, main memory access latency (m) from the memory controller was 7, and the dirty rate (d) was used. The total latency (LO) when one page of data is copied in the conventional system is as follows: LO = 1. (P / C). (1-d) + s. (P / C) In addition, 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 ratio is changed from 0 to 100% in the above equation.

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

【0052】[0052]

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

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

【図1】本発明の実施形態に係るコンピュータシステム
の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating 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 illustrating 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 illustrating 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 / write-back request is issued by coherent control in the embodiment of the present invention.

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

【図9】本発明の実施形態に係るデータコピー処理の処
理手順を示すフローチャートである。
FIG. 9 is a flowchart illustrating a procedure of a data copy process 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.

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

1・・・プロセッサ 2・・・バス 3・・・メモリコントローラ 4・・・主記憶 5・・・外部バスコントローラ 6・・・外部記憶装置 7・・・周辺装置 8・・・バス制御部 9・・・命令入力部 10・・・アドレス変換部 11・・・データバッファ 12・・・メモリ入出力制御部 13・・・データコピー制御部 14、15、16、17・・・レジスタ DESCRIPTION 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 part 9 ... Instruction input unit 10 ... Address conversion unit 11 ... Data buffer 12 ... Memory input / output control unit 13 ... Data copy control unit 14, 15, 16, 17 ... Register

Claims (6)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085098A (en) * 2016-11-24 2018-05-31 三星電子株式会社Samsung Electronics Co.,Ltd. Memory management method and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085098A (en) * 2016-11-24 2018-05-31 三星電子株式会社Samsung Electronics Co.,Ltd. Memory management method and apparatus

Also Published As

Publication number Publication date
JP3507314B2 (en) 2004-03-15

Similar Documents

Publication Publication Date Title
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US6295582B1 (en) System and method for managing data in an asynchronous I/O cache memory to maintain a predetermined amount of storage space that is readily available
JP3067112B2 (en) How to reload lazy push into copy back data cache
US8103835B2 (en) Low-cost cache coherency for accelerators
CN1575455B (en) Distributed read and write caching implementation for optimized input/output applications
JP2819982B2 (en) Multiprocessor system with cache match guarantee function that can specify range
US7698508B2 (en) System and method for reducing unnecessary cache operations
US5903911A (en) Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
JP2000305842A (en) Method and device for improving directory memory access and cache performance
JP2000250812A (en) Memory cache system and managing method therefor
US6574710B1 (en) Computer cache system with deferred invalidation
JP2010507160A (en) Processing of write access request to shared memory of data processor
US6751705B1 (en) Cache line converter
JPH09259036A (en) Write-back cache and method for maintaining consistency in write-back cache
KR20030097871A (en) Method and system for speculatively invalidating lines in a cache
JPH09114665A (en) Method for transfer of command and data between storage device and auxiliary processor and information-processing system
JPH02141845A (en) Reading of data block from main memory with central processing unit for multiprocessor system
US6748496B1 (en) Method and apparatus for providing cacheable data to a peripheral device
JPH09167116A (en) Computer cache system
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
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
US7325102B1 (en) Mechanism and method for cache snoop filtering
JP2000322318A (en) Coherency protocol for computer cache
JPH0797352B2 (en) Computer system and I / O controller
JPH09179779A (en) Computer system and data transfer method

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