JPH10320274A - Cache flashing device, computer system provided with the device and recording medium - Google Patents

Cache flashing device, computer system provided with the device and recording medium

Info

Publication number
JPH10320274A
JPH10320274A JP9274214A JP27421497A JPH10320274A JP H10320274 A JPH10320274 A JP H10320274A JP 9274214 A JP9274214 A JP 9274214A JP 27421497 A JP27421497 A JP 27421497A JP H10320274 A JPH10320274 A JP H10320274A
Authority
JP
Japan
Prior art keywords
update
main memory
cache
memory
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9274214A
Other languages
Japanese (ja)
Inventor
Yoshio Masubuchi
美生 増渕
Takuya Kano
卓也 加納
Hiroshi Sakai
浩 酒井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9274214A priority Critical patent/JPH10320274A/en
Publication of JPH10320274A publication Critical patent/JPH10320274A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a cache flashing device capable of improving the performance of a system by shortening time required for cache flashing operation. SOLUTION: The addresses of all data blocks in a cache memory 20 are stored in any of plural areas A0 to An-1 included in an updating address storing part 32. When a certain cache block is turned to a dirty state after being temporarily turned to the dirty state, an updating address deleting part 34 deletes the address from its area. At the time of executing cache flashing, a full flash execution part successively extracts the addresses of dirty blocks from respective areas and issues a command for requesting the rewriting of data indicated by the addresses to a main memory 51 to a system bus 40, so that the contents of all dirty blocks are rewritten in the main memory 51.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データの一貫性を
保証するスヌープ機構を有するキャッシュメモリのキャ
ッシュフラッシュ装置及び同装置を備えた耐障害性の計
算機システム、記録媒体に関する。
The present invention relates to a cache flush device for a cache memory having a snoop mechanism for ensuring data consistency, a fault-tolerant computer system and a recording medium provided with the device.

【0002】[0002]

【従来の技術】一般に、計算機には、プロセッサによる
メインメモリへのアクセスを高速化するために、プロセ
ッサが必要とするデータを一時的に格納するキャッシュ
メモリが用いられている。
2. Description of the Related Art Generally, a computer uses a cache memory for temporarily storing data required by a processor in order to speed up access to a main memory by the processor.

【0003】通常、キャッシュメモリは、キャッシュブ
ロックと呼ばれる所定の大きさのデータ単位でデータを
保持する。この場合、キャッシュタグと呼ばれる管理情
報を保持し、キャッシュメモリに格納されたキャッシュ
ブロックのデータが、例え波メインメモリの中のどのデ
ータであるのか、プロセッサによって変更されてメイン
メモリの内容と異なっている状態(ダーティ状態)にあ
るのかなどを管理している。
Normally, a cache memory holds data in data units of a predetermined size called cache blocks. In this case, management information called a cache tag is held, and the data of the cache block stored in the cache memory is changed by the processor, for example, which data in the wave main memory is different from the content of the main memory. Is managed (dirty state).

【0004】一方、複数のプロセッサを設けた計算機
(所謂マルチプロセッサ計算機)では、キャッシュメモ
リも複数あるが、これらのキャッシュメモリ間でデータ
の一貫性を保証するために、各キャッシュメモリにスヌ
ープ機構が設けられている。
On the other hand, a computer provided with a plurality of processors (a so-called multiprocessor computer) also has a plurality of cache memories. In order to guarantee data consistency among these cache memories, a snoop mechanism is provided in each cache memory. Is provided.

【0005】スヌープ機構は、バスに発行されたバスコ
マンドが、自身のキャッシュメモリに格納されたデータ
に影響を与えないかどうか、自身のキャッシュメモリに
格納されたデータを応答として返さなければならないか
どうかなどを監視し、必要であれば、該当するデータの
無効化などを行なうものである。
[0005] The snoop mechanism checks whether a bus command issued to the bus does not affect data stored in its own cache memory, and whether it must return data stored in its own cache memory as a response. It monitors whether or not, and if necessary, invalidates the corresponding data.

【0006】ところで、キャッシュメモリには、コピー
バック型、ライトスルー型があるが、プロセッサによる
データ更新を直ちにメインメモリに反映させずに、ある
程度の期間内部に保持し続けるコピーバック型のキャッ
シュメモリの場合、プロセッサによってキャッシュメモ
リ上で変更されてメインメモリの内容と異なっているデ
ータを、積極的にメインメモリへ書き戻す(write
back)操作を必要とする。
[0006] By the way, there are copy-back type and write-through type cache memories. However, the data update by the processor is not immediately reflected in the main memory, but is kept inside for a certain period of time. In this case, data that is changed on the cache memory by the processor and is different from the content of the main memory is actively written back to the main memory (write
back) operation.

【0007】例えば、スヌープ機構を持たない入出力装
置に対して、キャッシュメモリが格納するデータを転送
する場合などに書き戻しが必要となる。キャッシュメモ
リが格納するデータのうち、変更されているデータをメ
インメモリに書き戻す操作をキャッシュフラッシュ操作
と呼ぶ。また、キャッシュメモリのデータが変更されて
いる状態をダーティ状態と呼ぶ。そして、ダーティ状態
にあるキャッシュブロックをダーティブロックと呼ぶ。
For example, when data stored in a cache memory is transferred to an input / output device having no snoop mechanism, write-back is required. The operation of writing back changed data from the data stored in the cache memory to the main memory is called a cache flush operation. A state in which data in the cache memory is changed is called a dirty state. The cache block in the dirty state is called a dirty block.

【0008】このようなキャッシュフラッシュ操作は、
スヌープ機構を持たない入出力装置に対するデータの転
送時以外にも、チェックポイント方式の計算機にとって
有用である。すなわち、計算機に何らかの障害が発生し
たときに、予め取得しておいたチェックポイントから処
理を再開するチェックポイント方式の計算機の場合に
は、チェックポイントの時点で、キャッシュメモリ中に
のみ存在する変更されたデータをメインメモリに書き戻
す必要がある。
[0008] Such a cache flush operation includes:
This is useful for a checkpoint computer other than when transferring data to an input / output device that does not have a snoop mechanism. That is, in the case of a checkpoint-type computer that resumes processing from a previously acquired checkpoint when any failure occurs in the computer, a change that exists only in the cache memory at the time of the checkpoint is performed. It is necessary to write the data back to the main memory.

【0009】キャッシュフラッシュ操作は、通常、キャ
ッシュフラッシュ命令を含むソフトウェアに基づいて実
行される。ソフトウェアを実行することにより、プロセ
ッサは、キャッシュタグの内容を参照して、キャッシュ
ブロック毎にダーティブロックであるか否かを判断す
る。その結果、ダーティブロックであれば、対応するキ
ャッシュブロックのデータをメインメモリに書き戻すキ
ャッシュフラッシュ動作を行なう。
[0009] A cache flush operation is typically performed based on software containing cache flush instructions. By executing the software, the processor refers to the contents of the cache tag to determine whether or not each cache block is a dirty block. As a result, if the block is a dirty block, a cache flush operation for writing back the data of the corresponding cache block to the main memory is performed.

【0010】このように、プロセッサは、与えられたプ
ログラムに従って、すべてのキャッシュブロックの1つ
1つについて、その状態を判定し、ダーティ状態である
場合には、メインメモリへの書き戻し(キャッシュフラ
ッシュ操作)を実行せねばならない。すべてのキャッシ
ュブロックについて処理を行うには、非常に多くの時間
を要する。
As described above, the processor determines the state of each of the cache blocks one by one according to a given program, and if the cache block is in a dirty state, writes it back to the main memory (cache flush). Operation) must be performed. It takes a very long time to process all the cache blocks.

【0011】この状況を次のようなプログラム例を参照
して具体的に説明する。
This situation will be specifically described with reference to the following program example.

【0012】図32に米国SGI社R4000プロセッ
サにおいてキャッシュフラッシュ操作を行なうためのプ
ログラムの一例を示す。このプログラムでは、「cac
he0x17,0($4)」という命令を実行すると、
第4レジスタ($4)に保持されているアドレスに対応
するセカンドキャッシュのキャッシュブロックが選択さ
れる。そのキャッシュブロックの状態がダーティであれ
ば、その内容がメインメモリに書き戻されるとともに、
インバリッド状態となる。一方、ダーティ状態でなけれ
ば、単にインバリッド状態となる。このループ(loo
p)は、セカンダリキャッシュのキャッシュブロックの
数だけ実行する必要がある。
FIG. 32 shows an example of a program for performing a cache flush operation in the US SGI R4000 processor. In this program, "cac
He0x17,0 ($ 4) "
The cache block of the second cache corresponding to the address held in the fourth register (# 4) is selected. If the state of the cache block is dirty, its contents are written back to main memory,
The state becomes invalid. On the other hand, if it is not a dirty state, it will simply be an invalid state. This loop (loop
p) needs to be executed by the number of cache blocks of the secondary cache.

【0013】このループ(loop)を処理する時間を
数えると、命令数が4つであるので、4プロセッササイ
クルを要し、これをバスサイクルに換算すると、2バス
サイクルとなる(1バスクロックで2命令を実行)。し
たがって、すべてのキャッシュブロックをフラッシュす
る時間は、データをメインメモリに書き戻す時間を含め
なくても、キャッシュフラッシュ時間=キャッシュブロ
ック数×2バスサイクルとなり、非常に時間のかかる処
理となる。
When the time required to process this loop is counted, the number of instructions is four, so four processor cycles are required, which is converted into two bus cycles (one bus clock). Execute two instructions). Therefore, the time for flushing all cache blocks does not include the time for writing data back to the main memory, and the cache flush time = the number of cache blocks × 2 bus cycles, which is a very time-consuming process.

【0014】一方、キャッシュフラッシュ操作を高速化
するために、キャッシュメモリ自体を改造することも行
なわれている。しかし、この方法では、既存のキャッシ
ュメモリを高速化することはできない。
On the other hand, in order to speed up the cache flush operation, the cache memory itself is modified. However, this method cannot increase the speed of an existing cache memory.

【0015】[0015]

【発明が解決しようとする課題】上記したように、従来
の計算機においては、キャッシュメモリ全体のフラッシ
ュ操作(すべてのダーティブロックについて、その内容
をメインメモリに書き戻すこと)をソフトウェアにより
すべてのキャッシュブロックに対して逐次的に行なって
いたために、多くの処理時間を費やしていた。
As described above, in the conventional computer, the flush operation of the entire cache memory (writing back the contents of all dirty blocks to the main memory) is performed by software for all cache blocks. , A lot of processing time was spent.

【0016】また、キャッシュメモリ全体にフラッシュ
操作をを行う期間中は、そのプロセッサが他のプログラ
ムを実行することはできないため、本来のデータ処理が
ストップすることになり、システム全体の性能低下を招
いてしまうという問題があった。
Also, while the flash operation is being performed on the entire cache memory, the processor cannot execute other programs, so that the original data processing is stopped and the performance of the entire system is reduced. There was a problem that would be.

【0017】特に、チェックポイントにおいて、キャッ
シュフラッシュ操作を行なわなければならないような方
式を採用した計算機にあっては、チェックポイント処理
時間の増大が大きな問題であった。
Particularly, in a computer adopting a method in which a cache flush operation must be performed at a checkpoint, an increase in the checkpoint processing time has been a serious problem.

【0018】本発明は上記のような点に鑑みなされたも
ので、キャッシュフラッシュ操作に要する時間を短縮し
てシステム性能を向上させるキャッシュフラッシュ装置
及び同装置を備えた計算機システム、記録媒体を提供す
ることを目的とする。
The present invention has been made in view of the above points, and provides a cache flush apparatus which shortens the time required for a cache flush operation to improve system performance, a computer system including the same, and a recording medium. The purpose is to:

【0019】[0019]

【課題を解決するための手段】[Means for Solving the Problems]

(1)本発明の第1の態様によれば、キャッシュフラッ
シュ装置は、バススヌープ機構を有するコピーバック型
のキャッシュメモリを備えた少なくとも1つ以上のプロ
セッサと、メインメモリと、上記プロセッサと上記メイ
ンメモリとを接続するシステムバスとを具備してなる計
算機に用いられるキャッシュフラッシュ装置であって、
上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段と、上記キャッシ
ュメモリ上でのデータ更新を上記システムバスの監視に
よって検知し、その更新アドレスとデータ更新を行なっ
た上記プロセッサの識別番号とから上記更新アドレス記
憶手段の各領域の中のいずれかの領域を選択し、その選
択した領域に上記更新アドレスを格納する更新アドレス
登録手段と、上記ダーティブロックが保持するデータの
上記メインメモリへの書き戻しを上記システムバスの監
視によって検知し、その書き戻しアドレスと書き戻しを
行なった上記プロセッサの識別番号とから上記更新アド
レス記憶手段の各領域の中のいずれかの領域を選択し、
その選択した領域に格納された上記書き戻しアドレスと
一致する更新アドレスを削除する更新アドレス削除手段
と、上記プロセッサから指示されたときに、上記更新ア
ドレス記憶手段に記憶されたすべての更新アドレスを逐
次読み出し、その読み出した更新アドレスで示される上
記ダーティブロックが保持するデータの上記メインメモ
リへの書き戻しを要求するコマンドを上記システムバス
に発行するフラッシュ実行手段とを具備してなることを
特徴とする。
(1) According to a first aspect of the present invention, a cache flush device includes at least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, the processor, and the main processor. A cache flash device used in a computer comprising a system bus for connecting to a memory,
An update including a plurality of areas for storing addresses of data held by a dirty block which is a cache block holding data to be written back to the main memory among cache blocks secured in the cache memory. An address storage unit and a data update in the cache memory are detected by monitoring the system bus, and an update address and an identification number of the processor that has performed the data update are used in each area of the update address storage unit. An update address registering means for selecting any one of the areas and storing the update address in the selected area; and detecting the writing back of the data held by the dirty block to the main memory by monitoring the system bus, The write-back address and the above-mentioned professional who performed the write-back And a Tsu service identification number to select one of the regions in each region of the update address storage means,
Update address deletion means for deleting an update address that matches the write-back address stored in the selected area; and sequentially instructing all update addresses stored in the update address storage means when instructed by the processor. A flash execution means for issuing to the system bus a command for reading and writing back the data held by the dirty block indicated by the read update address to the main memory. .

【0020】上記第1の態様では、キャッシュメモリ上
のすべてのダーティブロックのアドレスは、更新アドレ
ス登録手段によって更新アドレス記憶手段の備える複数
の領域の中のいずれかに記憶される。また、あるキャッ
シュブロックが一旦ダーティ状態となった後、ダーティ
状態でなくなったときには、更新アドレス削除手段によ
って領域からそのアドレスは削除される。
In the first aspect, the addresses of all the dirty blocks in the cache memory are stored in one of a plurality of areas provided in the update address storage means by the update address registration means. Also, when a cache block once becomes dirty and then no longer dirty, the address is deleted from the area by the update address deletion means.

【0021】そして、キャッシュフラッシュを行なうと
きには、フラッシュ実行手段が、ダーティブロックのア
ドレスを各領域から順次取り出し、そのアドレスで示さ
れるデータのメインメモリへの書き戻しを要求するコマ
ンドをシステムバスに発行することによって、すべての
ダーティブロックの内容がメインメモリへ書き戻され
る。
When performing a cache flush, the flush execution means sequentially takes out the address of the dirty block from each area and issues a command to the system bus to request the data indicated by the address to be written back to the main memory. As a result, the contents of all dirty blocks are written back to the main memory.

【0022】これにより、例えば従来のソフトウェアに
よるキャッシュフラッシュのように、すべてのキャッシ
ュブロックについて順次ダーティブロックかどうか判定
していくといった処理を行なう必要がなくなるため、迅
速かつ効率的なキャッシュフラッシュ操作を行なうこと
が可能となる。
This eliminates the necessity of performing a process of sequentially determining whether or not all cache blocks are dirty blocks as in a conventional cache flush by software, so that a quick and efficient cache flush operation is performed. It becomes possible.

【0023】(2)本発明の第2の態様によれば、キャ
ッシュフラッシュ装置は、バススヌープ機構を有するコ
ピーバック型であってダイレクトマップ方式のキャッシ
ュメモリを備えた少なくとも1つ以上のプロセッサと、
メインメモリと、上記プロセッサと上記メインメモリと
を接続するシステムバスとを具備してなる計算機に用い
られるキャッシュフラッシュ装置であって、上記キャッ
シュメモリ内に確保されたキャッシュブロックそれぞれ
に対応して設けられ、上記メインメモリに書き戻すべき
データを保持した状態にあるキャッシュブロックである
ダーティブロックが保持するデータのアドレスを記憶す
るための領域であって、それぞれが1つのエントリを有
してなる領域を複数備えた更新アドレス記憶手段と、上
記キャッシュメモリ上でのデータ更新を上記システムバ
スの監視によって検知し、その更新アドレスとデータ更
新を行なった上記プロセッサの識別番号とから上記更新
アドレス記憶手段の各領域の中のいずれかの領域を選択
し、その選択した領域に上記更新アドレスを登録する更
新アドレス登録手段と、上記ダーティブロックが保持す
るデータの上記メインメモリへの書き戻しを上記システ
ムバスの監視によって検知し、その書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とから上
記更新アドレス記憶手段の各領域の中のいずれかの領域
を選択し、その選択した領域に登録された更新アドレス
と上記書き戻しアドレスとが一致するときに、その領域
に登録された更新アドレスを削除する更新アドレス削除
手段と、上記プロセッサから指示されたときに、上記更
新アドレス記憶手段に記憶されたすべての更新アドレス
を逐次読み出し、その読み出した更新アドレスで示され
る上記ダーティブロックが保持するデータの上記メイン
メモリへの書き戻しを要求するコマンドを上記システム
バスに発行するフラッシュ実行手段とを具備してなるこ
とを特徴とする。
(2) According to a second aspect of the present invention, a cache flush device is a copy-back type having a bus snoop mechanism and at least one processor having a direct-mapped cache memory;
A cache flash device for use in a computer comprising a main memory and a system bus connecting the processor and the main memory, the cache flash device being provided corresponding to each cache block secured in the cache memory. A plurality of areas each for storing an address of data held by a dirty block which is a cache block in a state where data to be written back to the main memory is held, each area having one entry; Update address storage means, and data update in the cache memory are detected by monitoring the system bus, and each area of the update address storage means is determined based on the update address and the identification number of the processor which has performed the data update. Select one of the areas in the Update address registering means for registering the update address in the area, and writing back of the data held by the dirty block to the main memory is detected by monitoring the system bus, and the write back address and the write back are detected. Any one of the areas in the update address storage means is selected from the identification number of the processor, and when the update address registered in the selected area matches the write-back address, the area Update address deletion means for deleting the registered update address; and when instructed by the processor, sequentially read out all update addresses stored in the update address storage means, and read the dirty address indicated by the read update address. A command requesting that the data held by the block be written back to the main memory. The de characterized by comprising comprises a flash execution means for issuing to said system bus.

【0024】上記第2の態様では、例えばプロセッサが
メインメモリへの書き込み要求を一時的に蓄えるライト
バッファを持つ場合、システムバスに接続された前述の
キャッシュフラッシュ装置側から見ると、1つのキャッ
シュブロックが、一時に複数のダーティブロックを格納
しているように見えてしまう状況が発生する。本発明の
キャッシュフラッシュ装置は、このような状況に対応さ
せたものであり、各領域が1つのエントリのみを有する
構成として、このエントリには、ライトバッファではな
く、キャシュブロックに格納されたデータのアドレス
(最新の更新アドレス)のみを格納するようにし、更新
アドレス削除手段が、この更新アドレス登録手段によっ
て格納された最新の更新アドレスと、システムバスに発
行された書き戻しアドレスとが一致するときにのみ、そ
の更新アドレスの削除を行なうようにする。このよう
に、各領域を1つのエントリのみを有する構成とし、か
つライトバッファからシステムバスに発行された最新よ
り前の更新アドレスの書き戻し要求を無視することによ
り、適切なキャッシュフラッシュ動作が確保されること
になる。
In the second aspect, for example, when the processor has a write buffer for temporarily storing a write request to the main memory, one cache block is viewed from the aforementioned cache flash device connected to the system bus. However, a situation occurs in which it looks as if a plurality of dirty blocks are stored at one time. The cache flush device of the present invention is designed to cope with such a situation. Each of the areas has only one entry, and this entry stores not the write buffer but the data stored in the cache block. Only the address (latest update address) is stored, and the update address deletion means is used when the latest update address stored by the update address registration means matches the write-back address issued to the system bus. Only the update address is deleted. In this manner, by configuring each area to have only one entry and ignoring a write-back request of an update address earlier than the latest issued from the write buffer to the system bus, an appropriate cache flush operation is ensured. Will be.

【0025】(3)本発明の第3の態様によれば、キャ
ッシュフラッシュ装置は、バススヌープ機構を有するコ
ピーバック型であってダイレクトマップ方式のキャッシ
ュメモリを備えた少なくとも1つ以上のプロセッサと、
メインメモリと、上記プロセッサと上記メインメモリと
を接続するシステムバスとを具備してなる計算機に用い
られるキャッシュフラッシュ装置であって、上記キャッ
シュメモリ内に確保されるキャッシュブロックそれぞれ
に対応して設けられ、上記メインメモリに書き戻すべき
データを保持した状態にあるキャッシュブロックである
ダーティブロックが保持するデータのアドレスを記憶す
るための領域であって、それぞれが1つのエントリを有
してなる領域およびこの領域に対応して設けられるカウ
ンタを複数組備えた更新アドレス記憶手段と、上記キャ
ッシュメモリ上でのデータ更新を上記システムバスの監
視によって検知し、その更新アドレスとデータ更新を行
なった上記プロセッサの識別番号とから上記更新アドレ
ス記憶手段の各領域の中のいずれかの領域を選択し、そ
の更新アドレスを格納するとともに、その領域に対応す
る上記カウンタをインクリメントする更新アドレス登録
手段と、上記ダーティブロックが保持するデータの上記
メインメモリへの書き戻しを上記システムバスの監視に
よって検知し、その書き戻しアドレスと書き戻しを行な
った上記プロセッサの識別番号とから上記更新アドレス
記憶手段の各領域の中のいずれかの領域を選択し、その
領域に対応する上記カウンタをデクリメントする更新ア
ドレス削除手段と、上記プロセッサから指示されたとき
に、上記更新アドレス記憶手段が備えた領域のうち、そ
の領域に対応するカウンタの値が初期値でない領域に格
納された更新アドレスを逐次読み出し、その読み出した
更新アドレスで示される上記ダーティブロックが保持す
るデータの上記メインメモリへの書き戻しを要求するコ
マンドを上記システムバスに発行するフラッシュ実行手
段とを具備してなることを特徴とする。
(3) According to a third aspect of the present invention, a cache flush device is a copy-back type having a bus snoop mechanism and at least one processor provided with a direct-mapped cache memory;
A cache flash device used for a computer comprising a main memory and a system bus connecting the processor and the main memory, provided for each cache block secured in the cache memory. An area for storing an address of data held by a dirty block which is a cache block in a state holding data to be written back to the main memory, each area having one entry; Update address storage means provided with a plurality of sets of counters provided corresponding to the areas; data update in the cache memory detected by monitoring the system bus; the update address and the identification of the processor which has performed the data update; Number of each of the above update address storage means And an update address registering means for storing the update address and incrementing the counter corresponding to the selected area, and writing back the data held by the dirty block to the main memory. Is detected by monitoring the system bus, and any one of the areas of the update address storage means is selected from the write-back address and the identification number of the processor that performed the write-back. The update address deletion means for decrementing the counter, and when instructed by the processor, the value of the counter corresponding to that area is stored in an area other than the initial value among the areas provided in the update address storage means. The update address is sequentially read, and the above-mentioned dirty data indicated by the read update address is read. A command requesting a write back to said main memory data block holds characterized by comprising comprises a flash execution means for issuing to said system bus.

【0026】上記第3の態様も、プロセッサがライトバ
ッファを持つ場合を考慮したものであり、各領域を1つ
のエントリのみを有する構成とするとともに、この領域
それぞれに対応してカウンタを設ける。そして、更新ア
ドレス登録手段は、更新アドレスをある領域に格納する
ときに、その領域に対応するカウンタをインクリメント
する。一方、更新アドレス削除手段は、書き戻しを検知
したときに、その領域に対応するカウンタをデクリメン
トする。そして、フラッシュ実行手段は、このカウンタ
が初期値でない領域に登録された更新アドレスについて
のみ書き戻しを要求する。すなわち、更新ブロック数と
書き戻しブロック数との差分をキャッシュブロックごと
に管理することにより、ライトバッファを適用した場合
でも適切なキャッシュフラッシュ動作が確保されること
になる。
The third aspect also considers the case where the processor has a write buffer. Each area has only one entry, and a counter is provided for each of these areas. Then, when storing the update address in a certain area, the update address registration means increments a counter corresponding to the area. On the other hand, the update address deletion means, when detecting the write-back, decrements the counter corresponding to the area. Then, the flash execution unit requests a write-back only for the update address registered in the area where the counter is not the initial value. That is, by managing the difference between the number of update blocks and the number of write-back blocks for each cache block, an appropriate cache flush operation is ensured even when a write buffer is applied.

【0027】なお、システムによっては、システムバス
へのコマンド発行では、ダーティブロックの内容をメイ
ンメモリへ書き戻すことができない場合がある。この場
合には、前述したフラッシュ実行手段に代えて、更新ア
ドレス記憶手段に記憶されたすべての更新アドレスを逐
次読み出し、この読み出した更新アドレスをプロセッサ
に通知する更新アドレス読み出し手段を備えることが好
ましい。この場合においても、このようにダーティブロ
ックのアドレスのみをプロセッサに通知する手段を備え
ることにより、従来のようにキャッシュブロックについ
て順次ダーティブロックかどうか判定していくといった
処理を行なうことと比較して、迅速かつ効率的なキャッ
シュフラッシュ操作を行なうことが可能となる。
In some systems, the contents of the dirty block cannot be written back to the main memory by issuing a command to the system bus. In this case, it is preferable to provide an update address reading means for sequentially reading all update addresses stored in the update address storage means and notifying the processor of the read update addresses, instead of the above-mentioned flash execution means. Even in this case, the provision of the means for notifying the processor of only the address of the dirty block in this way makes it possible to compare the cache block with a process of sequentially determining whether or not the cache block is a dirty block, as compared with the related art. A quick and efficient cache flush operation can be performed.

【0028】(4)本発明の第4の態様によれば、キャ
ッシュフラッシュ装置は、バススヌープ機構を有するコ
ピーバック型のキャッシュメモリを備えた少なくとも1
つ以上のプロセッサと、メインメモリと、上記プロセッ
サと上記メインメモリとを接続するシステムバスとを具
備してなる計算機に用いられるキャッシュフラッシュ装
置であって、上記キャッシュメモリ内に確保されたキャ
ッシュブロックのうち、上記メインメモリに書き戻すべ
きデータを保持した状態にあるキャッシュブロックであ
るダーティブロックが保持するデータのアドレスを記憶
するための領域を複数備えた更新アドレス記憶手段と、
上記キャッシュメモリ上でのデータ更新を上記システム
バスの監視によって検知し、その更新アドレスとデータ
更新を行なった上記プロセッサの識別番号とから上記更
新アドレス記憶手段の各領域の中のいずれかの領域を選
択し、その選択した領域に上記更新アドレスを格納する
更新アドレス登録手段と、上記更新アドレス登録手段が
選択した領域の空きエントリ数が予め設定した値を下回
るときに、その領域にすでに格納されている更新アドレ
スの中のいずれか1つを選択し、この選択した更新アド
レスで示される上記ダーティブロックが保持するデータ
の上記メインメモリへの書き戻しを要求するコマンドを
上記システムバスに発行するとともに、その更新アドレ
スが格納されていたエントリを空きエントリとするエン
トリ解放手段(entry reclaim) と、上記プロセッサから
指示されたときに、上記更新アドレス記憶手段に記憶さ
れたすべての更新アドレスを逐次読み出し、その読み出
した更新アドレスで示される上記ダーティブロックが保
持するデータの上記メインメモリへの書き戻しを要求す
るコマンドを上記システムバスに発行するフラッシュ実
行手段とを具備してなることを特徴とする。
(4) According to a fourth aspect of the present invention, a cache flush device includes at least one copy-back type cache memory having a bus snoop mechanism.
A cache flash device for use in a computer comprising at least one processor, a main memory, and a system bus connecting the processor and the main memory, the cache flash device being a cache flash device secured in the cache memory. Update address storage means including a plurality of areas for storing addresses of data held by dirty blocks which are cache blocks in a state of holding data to be written back to the main memory;
The data update on the cache memory is detected by monitoring the system bus, and any one of the areas of the update address storage means is determined from the update address and the identification number of the processor that has performed the data update. Update address registration means for selecting and storing the update address in the selected area; and when the number of empty entries in the area selected by the update address registration means is less than a preset value, the update address is already stored in the area. Select one of the update addresses in the system bus, and issue a command to the system bus to request the data held by the dirty block indicated by the selected update address to be written back to the main memory. The entry release means (entry which makes the entry storing the update address a free entry. reclaim), and when instructed by the processor, sequentially reads all update addresses stored in the update address storage means, and transfers the data held by the dirty block indicated by the read update address to the main memory. Flash execution means for issuing a command requesting writing back to the system bus.

【0029】そして、本発明の第4の態様のキャッシュ
フラッシュ装置においては、更新アドレス記憶手段の備
える複数の領域それぞれに、予め設定された数(領域が
備えるエントリ数と一致させてもよいし、その範囲内の
任意の数であってもよい)の更新アドレスを記憶させる
ようにする。
In the cache flush apparatus according to the fourth aspect of the present invention, a predetermined number (the number of entries in the area may be equal to the number of entries in the area, (The number may be any number within the range.)

【0030】すなわち、新たに更新アドレスを格納しよ
うとした際、その領域の空きエントリ数が予め設定され
た数を下回ってしまうようなときに、エントリ解放手段
が、すでに格納されている更新アドレスの中のいずれか
1つを選択し、この選択した更新アドレスの書き戻し要
求を発行するとともに、このエントリを空き状態とす
る。このように、領域それぞれの使用状況に応じて更新
アドレスの書き戻し要求を発行する機構を備えれば、ダ
イレクトマップ方式ではないキャッシュメモリへの適用
が容易になるとともに、更新アドレス記憶手段の備える
領域のエントリ数の設定や、領域とアドレスとの対応づ
けなどの自由度を大幅に拡大させることが可能となる。
That is, when a new update address is to be stored and the number of empty entries in the area falls below a preset number, the entry release means sets the update address of the already stored update address. Any one of them is selected, a write-back request for the selected update address is issued, and this entry is made empty. As described above, if a mechanism for issuing a write-back request for an update address in accordance with the use status of each area is provided, application to a cache memory that is not of the direct map type becomes easy, and the area provided by the update address storage means , The degree of freedom such as setting the number of entries and associating areas with addresses can be greatly expanded.

【0031】なお、キャッシュメモリが、nウェイのセ
ットアソシアティブで構成される場合には、更新アドレ
ス記憶手段が備える複数の領域それぞれを、n個のキャ
ッシュブロックで形成されるグループに一対に設けるこ
とが好ましい。ハードウェアの簡素化と処理の高速化と
を実現するためである。
When the cache memory is constituted by an n-way set associative, a plurality of areas provided in the update address storage means may be provided as a pair in a group formed by n cache blocks. preferable. This is to realize simplification of hardware and high-speed processing.

【0032】(5)本発明の第5の態様によれば、キャ
ッシュフラッシュ装置は、バススヌープ機構を有するコ
ピーバック型のキャッシュメモリを備えた少なくとも1
つ以上のプロセッサと、メインメモリと、上記プロセッ
サと上記メインメモリとを接続するシステムバスとを具
備してなる計算機に用いられるキャッシュフラッシュ装
置であって、上記キャッシュメモリ内に確保されたキャ
ッシュブロックのうち、上記メインメモリに書き戻すべ
きデータを保持した状態にあるキャッシュブロックであ
るダーティブロックが保持するデータのアドレスを記憶
するための領域を複数備えた更新アドレス記憶手段と、
上記キャッシュメモリ上でのデータ更新を上記システム
バスの監視によって検知し、その更新アドレスとデータ
更新を行なった上記プロセッサの識別番号とから上記更
新アドレス記憶手段の各領域の中のいずれかの領域を選
択し、その選択した領域に更新アドレスを登録する更新
アドレス登録手段と、上記ダーティブロックが保持する
データの上記メインメモリへの書き戻しを上記システム
バスの監視によって検知し、その書き戻しアドレスと書
き戻しを行なった上記プロセッサの識別番号とから上記
更新アドレス記憶手段の各領域の中のいずれかの領域を
選択し、その選択した領域内を予め定められた期間内で
検索して上記書き戻しアドレスと一致する更新アドレス
が検出されたときに、その更新アドレスを削除する更新
アドレス削除手段と、上記更新アドレス登録手段が選択
した領域の空きエントリ数が予め設定した値を下回って
いたときに、すでに登録されている更新アドレスの中の
いずれか1つを選択し、この選択した更新アドレスで示
される上記ダーティブロックが保持するデータの上記メ
インメモリへの書き戻しを要求するコマンドを上記シス
テムバスに発行するとともに、その更新アドレスが格納
されていたエントリを空きエントリとするエントリ解放
手段と、上記プロセッサから指示されたときに、上記更
新アドレス記憶手段に記憶されたすべての更新アドレス
を逐次読み出し、その読み出した更新アドレスで示され
る上記ダーティブロックが保持するデータの上記メイン
メモリへの書き戻しを要求するコマンドを上記システム
バスに発行するフラッシュ実行手段とを具備してなるこ
とを特徴とする。
(5) According to a fifth aspect of the present invention, a cache flush device comprises at least one copy-back type cache memory having a bus snoop mechanism.
A cache flash device for use in a computer comprising at least one processor, a main memory, and a system bus connecting the processor and the main memory, the cache flash device being a cache flash device secured in the cache memory. Update address storage means including a plurality of areas for storing addresses of data held by dirty blocks which are cache blocks in a state of holding data to be written back to the main memory;
The data update on the cache memory is detected by monitoring the system bus, and any one of the areas of the update address storage means is determined from the update address and the identification number of the processor that has performed the data update. Update address registering means for selecting and registering an update address in the selected area; and rewriting of the data held by the dirty block to the main memory is detected by monitoring of the system bus. Any one of the areas of the update address storage means is selected from the identification number of the returned processor and the write-back address is searched by searching the selected area within a predetermined period. Update address deletion means for deleting an update address when an update address matching the update address is detected When the number of vacant entries in the area selected by the update address registering means is smaller than a preset value, one of the already registered update addresses is selected, and the selected update address is used. An entry release means for issuing to the system bus a command requesting a write-back of the data held by the indicated dirty block to the main memory, and setting the entry storing the updated address to a free entry; When instructed by the processor, sequentially read all update addresses stored in the update address storage means, and request to write back the data held by the dirty blocks indicated by the read update addresses to the main memory. Executing means for issuing a command to be executed to the system bus. Characterized by comprising comprises a.

【0033】上記第5の態様において、更新アドレス削
除手段は、書き戻しを要求するコマンドを検知したとき
に、予め定められた期間内で書き戻しアドレスに対応す
る領域内を検索し、その書き戻しアドレスと一致する更
新アドレスが検出されたとき、その更新アドレスを削除
(remove)する(検出されなかったときには何も
しない)。この場合には、領域内にすでにダーティブロ
ックではなくなった更新アドレスも混在して格納され続
ける可能性を含むことになるが、エントリ解放手段が空
きエントリ数を管理して能動的に空きエントリを確保す
る処理の中で削除されるものもあり、またフラッシュ実
行手段がこのダーティブロックではなくなったアドレス
を書き戻すコマンドを発行しても、いずれのキャッシュ
メモリもこのコマンドに応答しないのみで何ら問題はな
い。一方で、この更新アドレス削除手段の削除処理に費
やす時間を所定の範囲内に抑えるために、メインメモリ
に対するアクセス頻度が非常に高い場合などにおいても
他の処理に悪影響を与えることがない。
In the fifth aspect, when the update address deletion means detects a command requesting write-back, the update address deletion means searches an area corresponding to the write-back address within a predetermined period, and executes the write-back. When an update address that matches the address is detected, the update address is removed (nothing is performed when the update address is not detected). In this case, there is a possibility that update addresses that are no longer dirty blocks will continue to be stored in the area, but the entry release means will manage the number of empty entries and actively secure empty entries. Even if the flash execution means issues a command to write back the address that is no longer a dirty block, there is no problem since none of the cache memories responds to this command. . On the other hand, since the time spent by the update address deletion means for the deletion processing is kept within a predetermined range, other processing is not adversely affected even when the frequency of access to the main memory is extremely high.

【0034】なお、この更新アドレス削除手段が、予め
定められた期間内で削除処理を実行することに代えて、
当該キャッシュメモリ装置が次に処理すべきコマンドを
検知するまで実行しつづけることも有効である。これに
よれば、他の処理に悪影響を与えることを防止するとと
もに、不要に格納された更新アドレスの削除処理の継続
/中断が、より適切に行なわれることになる。
Note that this update address deletion means does not execute deletion processing within a predetermined period,
It is also effective to continue executing the cache memory device until it detects a command to be processed next. According to this, it is possible to prevent other processes from being adversely affected, and to continue / interrupt the process of deleting the update address stored unnecessarily more appropriately.

【0035】また、更新アドレス削除手段が、前述のよ
うな書き戻しを要求するコマンドの検知以外に、例えば
キャッシュミスが発生したときに発行される読み出しコ
マンドなどを検知して、そのコマンドの対象となるアド
レスが領域内に更新アドレスとして登録されていないか
検索し、検出されたときに削除するなどといったことを
行なうことが好ましい。このキャッシュミスが発生した
ときに発行される読み出しコマンドの対象となるアドレ
スで示されるデータは、クリーンな状態であると判断で
きるため、このようなコマンドを契機とすれば、不要な
更新アドレスの削除処理を実行する頻度を高めることが
でき、エントリを解放する処理やキャッシュのフラッシ
ュ動作を軽減することが可能となる。
In addition to the above-described detection of a command requesting a write-back, the update address deletion unit detects a read command issued when a cache miss occurs, for example, and determines the target of the command. It is preferable to search for an address that is not registered as an update address in the area and delete it when detected. Since the data indicated by the target address of the read command issued when the cache miss occurs can be determined to be in a clean state, if such a command is used as a trigger, unnecessary update addresses are deleted. The frequency of executing the process can be increased, and the process of releasing the entry and the flushing operation of the cache can be reduced.

【0036】また、例えば予想されるキャッシュメモリ
のダーティ率によっては、各領域が有するエントリ数
を、対応するキャッシュブロック数よりも小さくしても
性能上問題になることがないため、その場合に各領域が
有するエントリ数を対応するキャッシュブロック数より
も小さくすれば、備えるべきハードウェア量を低減する
ことが可能となる。
Also, for example, depending on the expected dirty rate of the cache memory, even if the number of entries in each area is smaller than the corresponding number of cache blocks, there is no problem in performance. If the number of entries in the area is made smaller than the number of corresponding cache blocks, the amount of hardware to be provided can be reduced.

【0037】また、場合によっては、更新アドレス記憶
手段が備える複数の領域を、更新アドレスのみで選択可
能に構成することも有効である。例えば、システムバス
の仕様によっては、システムバスの監視のみでは上記プ
ロセッサの識別番号を得ることができない場合もある。
すなわち、その場合であっても、当該キャッシュフラッ
シュ装置を適用可能となるためである。
In some cases, it is effective to configure a plurality of areas included in the update address storage means so that they can be selected only by the update address. For example, depending on the specifications of the system bus, the identification number of the processor may not be obtained only by monitoring the system bus.
That is, even in such a case, the cache flash device can be applied.

【0038】(6)本発明の第6の態様によれば、キャ
ッシュフラッシュ装置は、上記更新アドレス記憶手段
が、上記ダーティブロックが保持するデータのアドレス
を記憶するための領域それぞれに対応した上記ダーティ
ブロックの数を保持するためのダーティブロックカウン
タを有し、上記更新アドレス登録手段が、上記選択した
領域に対応した上記ダーティブロックカウンタをインク
リメントするインクリメント手段を有し、上記ダーティ
ブロックが保持するデータの上記メインメモリへの書き
戻しを上記システムバスの監視によって検知し、その書
き戻しアドレスと書き戻しを行なった上記プロセッサの
識別番号とから上記更新アドレス記憶手段の各領域の中
のいずれかの領域を選択し、その選択した領域に対応し
た上記ダーティブロックカウンタをデクリメントするデ
クリメント手段と、このデクリメント手段のデクリメン
トによって上記ダーティブロックカウンタが初期値にな
ったときに、そのダーティブロックカウンタに対応する
領域の中の更新アドレスが格納されていたエントリをす
べて空きエントリとするエントリ一括解放手段をさらに
具備してなることを特徴とする。
(6) According to a sixth aspect of the present invention, in the cache flash device, the update address storage means may store the dirty block corresponding to each area for storing an address of data held by the dirty block. A dirty block counter for holding the number of blocks; the update address registering means having an incrementing means for incrementing the dirty block counter corresponding to the selected area; and The write-back to the main memory is detected by monitoring the system bus, and one of the areas of the update address storage means is determined from the write-back address and the identification number of the processor that has performed the write-back. Select the dirty row corresponding to the selected area. Decrement means for decrementing the dirty counter, and when the dirty block counter becomes an initial value by the decrement of the decrement means, all the entries storing the update address in the area corresponding to the dirty block counter are vacant entries. Characterized by further comprising entry batch release means.

【0039】上記第6の態様では、ダーティブロックカ
ウンタを管理することにより、ある領域に登録された更
新アドレスすべてがメインメモリへの書き戻し不要とな
ったことを検知することができ、その際にエントリ一括
解放手段がすべてのエントリを空き状態としてエントリ
解放手段の動作機会を減少させれば、計算機全体の性能
を向上させることが可能となる。
In the sixth aspect, by managing the dirty block counter, it can be detected that all the update addresses registered in a certain area do not need to be written back to the main memory. If the entry batch release unit leaves all entries empty and reduces the operation opportunity of the entry release unit, it is possible to improve the performance of the entire computer.

【0040】(7)本発明の第7の態様によれば、キャ
ッシュフラッシュ装置は、上記更新アドレス記憶手段
が、上記ダーティブロックが保持するデータのアドレス
を記憶するための領域それぞれに対応した上記ダーティ
ブロックの数を保持するためのダーティブロックカウン
タを有し、上記更新アドレス登録手段が、上記選択した
領域に対応した上記ダーティブロックカウンタをインク
リメントするインクリメント手段を有し、上記更新アド
レス削除手段が、上記選択した領域に対応した上記ダー
ティブロックカウンタをデクリメントするデクリメント
手段を有し、このデクリメント手段のデクリメントによ
って上記ダーティブロックカウンタが初期値になったと
きに、そのダーティブロックカウンタに対応する領域に
格納された更新アドレスをすべて削除する一括削除手段
をさらに具備してなることを特徴とする。
(7) According to the seventh aspect of the present invention, in the cache flash device, the update address storage means may store the dirty block corresponding to each area for storing an address of data held by the dirty block. A dirty block counter for holding the number of blocks, the update address registering means has increment means for incrementing the dirty block counter corresponding to the selected area, and the update address deleting means has And a decrement means for decrementing the dirty block counter corresponding to the selected area. When the dirty block counter becomes an initial value by the decrement of the decrement means, the dirty block counter is stored in an area corresponding to the dirty block counter. Update ad Characterized by further comprising comprises a bulk delete means for deleting all of the scan.

【0041】上記第7の態様では、ダーティブロックカ
ウンタを管理することにより、ある領域に登録された更
新アドレスすべてがメインメモリへの書き戻し不要とな
ったことを検知することができ、その際にエントリ一括
解放手段がすべてのエントリを空き状態としてエントリ
解放手段の動作機会を減少させれば、計算機全体の性能
を向上させることが可能となる。
In the seventh aspect, by managing the dirty block counter, it is possible to detect that all the update addresses registered in a certain area do not need to be written back to the main memory. If the entry batch release unit leaves all entries empty and reduces the operation opportunity of the entry release unit, it is possible to improve the performance of the entire computer.

【0042】また、ある領域に格納されたすべての更新
アドレスが書き戻し不要となったときに代えて、格納さ
れた更新アドレス数がダーティブロックカウンタの値を
予め定められた値を越えて多くなったときに、エントリ
解放手段にある程度の数の更新アドレスを解放させるこ
とも有効である。この場合には、書き戻し不要となった
更新アドレスが所定量を越えて格納されることを回避し
て、キャッシュフラッシュ操作時に不要に発行されるコ
マンドの数を減少させることが可能となる。
Also, instead of when all the update addresses stored in a certain area do not need to be rewritten, the number of stored update addresses increases beyond the value of the dirty block counter beyond a predetermined value. It is also effective to have the entry release means release a certain number of update addresses when this occurs. In this case, it is possible to avoid storing an update address that does not need to be rewritten beyond a predetermined amount and to reduce the number of commands issued unnecessarily during a cache flush operation.

【0043】(8)本発明の第8の態様によれば、計算
機システムは、バススヌープ機構を有するコピーバック
型のキャッシュメモリを備えた少なくとも1つ以上のプ
ロセッサと、メインメモリと、上記プロセッサと上記メ
インメモリとを接続するシステムバスとを具備してな
り、中断した処理を再開始するためのチェックポイント
を定期的に採取する計算機システムであって、請求項
1、2、3、7乃至13記載のいずれかのキャッシュフ
ラッシュ装置と、このキャッシュフラッシュ装置に更新
アドレスの捕捉をさせながら通常のデータ処理を実行す
るデータ処理手段と、上記プロセッサすべてが同期して
実行するデータ処理中のコンテキストのメインメモリへ
の格納、および上記キャッシュフラッシュ装置の上記フ
ラッシュ実行手段が実行するすべてのダーティブロック
が保持するデータの上記メインメモリへの書き戻しを含
むチェックポイント作成手段と、故障が発生したとき
に、直前に採取したチェックポイント時点に上記メイン
メモリを復元し、この復元された上記メインメモリに保
持された情報を用いて、データ処理を再開するロールバ
ックリカバリ手段とを具備してなることを特徴とする。
(8) According to an eighth aspect of the present invention, a computer system includes at least one or more processors having a copy-back type cache memory having a bus snoop mechanism, a main memory, and the processor. 14. A computer system comprising a system bus for connecting to the main memory and periodically collecting checkpoints for restarting interrupted processing, wherein the computer bus comprises: Any one of the cache flush devices described above, data processing means for executing normal data processing while causing the cache flush device to capture an update address, and a main of a context during data processing executed by all of the processors in synchronization. Storing in a memory and executing the flush execution means of the cache flush device Checkpoint creation means including writing back the data held by all the dirty blocks to the main memory; and, when a failure occurs, restoring the main memory at the time of the checkpoint collected immediately before. And rollback recovery means for resuming data processing using the information held in the main memory.

【0044】上記第8の態様では、中断した処理を再開
始するためのチェックポイントを定期的に採取する計算
機システムにおいては、このチェックポイントの採取に
費やす時間をいかに短縮するかが重要である。そして、
このチェックポイント採取処理のほとんどが、キャッシ
ュフラッシュ操作で占められている。すなわち、このよ
うな計算機システムに、前述したようなキャッシュフラ
ッシュ装置を適用すれば、システム全体の性能を向上さ
せることが可能となる。
In the eighth aspect, in a computer system that periodically collects checkpoints for restarting interrupted processing, it is important how to reduce the time spent for collecting checkpoints. And
Most of this checkpoint collection processing is occupied by cache flush operations. That is, if the above-described cache flush device is applied to such a computer system, the performance of the entire system can be improved.

【0045】なお、チェックポイントを定期的に採取す
ることに加えて、主系および従系といった複数の計算機
を備えた計算機システムの場合も、前述したようなキャ
ッシュフラッシュ装置を適用することが好ましい。チェ
ックポイント採取時の所要時間を短縮できるために、シ
ステム全体の性能を向上させることが可能となるからで
ある。さらに、これらの計算機が通常時に実行するデー
タ処理の中で、キャッシュフラッシュ装置のフラッシュ
実行手段を起動すれば、チェックポイント採取時の所要
時間をさらに短縮することが可能となる。
It is preferable to apply the above-described cache flush device to a computer system having a plurality of computers such as a master system and a slave system in addition to periodically collecting check points. This is because the time required for checkpoint collection can be shortened, so that the performance of the entire system can be improved. Furthermore, if the computer executes the flush execution means of the cache flush device in the data processing normally executed, the time required for checkpoint collection can be further reduced.

【0046】[0046]

【発明の実施の形態】以下、図面を参照して本発明の一
実施の形態を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0047】図1は第1の実施形態の構成を示すブロッ
ク図である。
FIG. 1 is a block diagram showing the configuration of the first embodiment.

【0048】キャッシュ一貫性を備えたコピーバック型
のキャッシュメモリ20を有する複数の(ここでは、3
つの)プロセッサ10はシステムバス40に接続され
る。ここで、キャッシュメモリがプライマリとセカンダ
リとの2階層あるいはそれ以上の階層で構成される場
合、本実施の形態でいうキャッシュメモリとは、システ
ムバス40に最も近いキャッシュメモリを指す。また、
キャッシュメモリによっては、命令を格納するキャッシ
ュメモリと、データを格納するキャッシュメモリとに分
かれているものもあるが、その場合、本実施の形態でい
うキャッシュメモリとは、データを格納するためのキャ
ッシュメモリを指す。また、本システムにおけるシステ
ムバス40上でのアドレスは、32ビットとして説明す
る。
A plurality (here, 3) having a copy-back type cache memory 20 with cache coherency
Processor 10 is connected to system bus 40. Here, in the case where the cache memory is configured by two or more hierarchies of a primary and a secondary, the cache memory according to the present embodiment refers to the cache memory closest to the system bus 40. Also,
Some cache memories are divided into a cache memory for storing instructions and a cache memory for storing data. In this case, the cache memory according to the present embodiment is a cache for storing data. Refers to memory. Also, the address on the system bus 40 in the present system will be described as 32 bits.

【0049】システムバス40には、キャッシュフラッ
シュ装置30と、メインメモリ51に接続されるメモリ
コントローラ50も接続される。キャッシュフラッシュ
装置30は、バスインタフェース31、更新アドレス記
憶部32(領域A0〜An−1からなる)、更新アドレ
ス登録部33、更新アドレス削除部34およびフラッシ
ュ実行部35で構成される。
The cache bus device 30 and a memory controller 50 connected to the main memory 51 are also connected to the system bus 40. The cache flash device 30 includes a bus interface 31, an update address storage unit 32 (composed of areas A0 to An-1), an update address registration unit 33, an update address deletion unit 34, and a flash execution unit 35.

【0050】更新アドレス登録部33と更新アドレス削
除部34は上述機能で1種のハードウェアモジュールと
して成されるものである。
The update address registration section 33 and the update address deletion section 34 are implemented as one type of hardware module with the above-described functions.

【0051】バスインタフェース31は、システムバス
40とのインタフェースを司る。
The bus interface 31 controls an interface with the system bus 40.

【0052】更新アドレス記憶部32は、すべてのダー
ティブロックのアドレスを保持するためのn個の領域A
0〜An−1で構成される。本例では、すべてのダーテ
ィブロックのアドレスが更新アドレス記憶部32に格納
され、ダーティではないアドレスは更新アドレス記憶部
32には格納されない。
The update address storage unit 32 has n areas A for holding the addresses of all dirty blocks.
0 to An-1. In this example, the addresses of all dirty blocks are stored in the update address storage unit 32, and addresses that are not dirty are not stored in the update address storage unit 32.

【0053】ここで、領域の構造について説明する。領
域Aiは、図2(a)、図2(b)に示すように、更新
アドレスを格納する1つ以上のエントリを有する。各エ
ントリに格納されている値が有効であるか否かを示す必
要があるが、この方法としては、下記の2つの方法のい
ずれかに基づくのが適当である。
Here, the structure of the region will be described. As shown in FIGS. 2A and 2B, the area Ai has one or more entries for storing an update address. Although it is necessary to indicate whether the value stored in each entry is valid or not, this method is suitably based on one of the following two methods.

【0054】(1)更新アドレスが格納されていないエ
ントリには、通常は決して取り得ない値(例えば、0x
FFFFFFFF)を格納する(図2(a))。
(1) An entry in which an update address is not stored usually has a value that can never be taken (for example, 0x
FFFFFFFF) is stored (FIG. 2A).

【0055】(2)アドレスを格納するエントリとは別
にエントリの内容が有効か否か(valid or invalid)を示
すフラグを各エントリにつける(図2(b))。
(2) A flag indicating whether the contents of the entry is valid (valid or invalid) is attached to each entry separately from the entry for storing the address (FIG. 2B).

【0056】なお、更新アドレス記憶部32を構成する
領域の設け方、およびアドレスと領域の対応について
は、後で詳細な説明を行なう。
It should be noted that a detailed description will be given later of how to provide the area constituting the update address storage unit 32 and the correspondence between the address and the area.

【0057】図3は、更新アドレス登録部33の動作手
順を示す。プロセッサ10によるデータ書き込みによ
り、キャッシュメモリ20上でデータ更新が発生したこ
とを示すコマンドを検知すると(ステップA1)、更新
の発生したアドレス(更新アドレス)、および更新を行
なったプロセッサの識別番号に基づいて、更新アドレス
記憶部32を構成するn個の領域(A0〜An−1)の
いずれかの領域を選択し(ステップA2)、選択した領
域に属する更新を行なったプロセッサ10の識別番号の
獲得は、システムバスの仕様によって、下記の2通りの
場合がある。
FIG. 3 shows an operation procedure of the update address registration unit 33. When the processor 10 detects a command indicating that data has been updated in the cache memory 20 by writing data (step A1), the processor 10 writes the command based on the updated address (update address) and the identification number of the updated processor. Then, one of the n areas (A0 to An-1) constituting the update address storage unit 32 is selected (step A2), and the identification number of the processor 10 that has performed the update belonging to the selected area is obtained. There are the following two cases depending on the specifications of the system bus.

【0058】(1)上記コマンドに含まれる場合 (2)バスアービトレーションの信号を監視することに
よって得られる場合 図4は、更新アドレス削除部34の動作手順を示す。ダ
ーティブロックの内容をメインメモリに書き戻すための
コマンドを検知すると(ステップB1)、書き戻しの発
生したアドレス(書戻しアドレス)、および書き戻しを
行なったプロセッサの識別番号に基づいて、更新アドレ
ス記憶部32を構成するn個の領域(A0〜An−1)
のいずれかの領域を選択し(ステップB2)、その領域
に含まれるエントリの中からそのアドレスを含むエント
リを探し、更新アドレスを削除する(ステップB3)。
(1) In the case of being included in the above command (2) In the case of being obtained by monitoring the signal of bus arbitration FIG. When a command for writing back the contents of the dirty block to the main memory is detected (step B1), the update address is stored based on the address at which the write-back occurred (the write-back address) and the identification number of the processor that performed the write-back. N regions (A0 to An-1) configuring the unit 32
Is selected (step B2), an entry including the address is searched for among the entries included in the area, and the updated address is deleted (step B3).

【0059】なお、更新アドレス登録部33および更新
アドレス削除部34は、プロセッサ識別番号とアドレス
とから更新アドレス記憶部32を構成するn個の領域
(A0〜An−1)のいずれかの領域を選択する方法に
おいて、同一の方法をとらなければならない。また、更
新アドレス記憶部32をn個の領域で構成する理由は、
更新アドレス削除部34が書き戻しアドレスを含むエン
トリを探して、削除する動作をキャッシュメモリ並みに
高速化するためである。
The update address registration unit 33 and the update address deletion unit 34 store any one of n areas (A0 to An-1) constituting the update address storage unit 32 from the processor identification number and the address. In selecting the method, the same method must be used. The reason why the update address storage unit 32 is configured with n areas is as follows.
This is because the operation of the update address deletion unit 34 searching for an entry including the write-back address and deleting the entry is as fast as the cache memory.

【0060】図5は、フラッシュ実行部35の動作手順
を示す。
FIG. 5 shows the operation procedure of the flash execution unit 35.

【0061】フラッシュ実行部35はプロセッサからの
指示に基づき、更新アドレス記憶部32に格納されてい
る全てのアドレスを逐次取り出して、そのアドレスを有
するダーティブロックの内容をメインメモリに書き戻す
ことを要求するコマンドをシステムバスに発行する。こ
のため、ステップC1で領域を示す変数iを0とし、ス
テップC2で領域Aiに更新アドレスがあるか否か決定
する。イエスの場合は、ステップC3で領域Aiに含ま
れる更新アドレスを取り出し、そのアドレスのダーティ
ブロックの内容をメインメモリに書き戻しを要求するコ
マンドを発行し、ステップC2に戻る。ステップC2で
ノーの場合は、ステップC4で変数iをインクリメント
し、ステップC5で全部の領域の処理が終わったか否か
判定するためにi=nか否か決定する。ノーの場合は、
ステップC2に戻り、イエスの場合は、終了する。
The flash execution unit 35 requests to sequentially fetch all addresses stored in the update address storage unit 32 based on an instruction from the processor and write back the contents of the dirty block having the addresses to the main memory. Command to issue to the system bus. Therefore, the variable i indicating the area is set to 0 in step C1, and it is determined whether or not the area Ai has an update address in step C2. If yes, the update address included in the area Ai is taken out in step C3, a command is issued to request the contents of the dirty block at that address to be written back to the main memory, and the process returns to step C2. If the answer is no in step C2, the variable i is incremented in step C4, and in step C5, it is determined whether or not i = n in order to determine whether or not the processing of all the areas has been completed. If no,
Returning to step C2, if yes, end.

【0062】取り出されたアドレスを更新アドレス記憶
部32から削除する処理は、フラッシュ実行部35が実
行しても良いが、フラッシュ実行部35が発行したメイ
ンメモリ51への書き戻しを要求するコマンドを、更新
アドレス削除部34が検知することによっても可能であ
る。
The process of deleting the fetched address from the update address storage unit 32 may be executed by the flash execution unit 35. However, the command issued by the flash execution unit 35 to request writing back to the main memory 51 may be executed. It is also possible that the update address deletion unit 34 detects this.

【0063】次に、本例のキャッシュフラッシュ装置3
0の制御方法に則して、その動作を説明する。
Next, the cache flush device 3 of this embodiment
The operation will be described based on the control method of “0”.

【0064】(初期化)プロセッサ10は、キャッシュ
フラッシュ装置30を動作させる前に、キャッシュメモ
リ20の状態とキャッシュフラッシュ装置30の更新ア
ドレス記憶部32の内容が一致するように初期化を行な
う。初期化では、すべてのキャッシュブロックをインバ
リッド状態にする。領域A0〜An−1は、更新アドレ
スを含まないように初期化される。
(Initialization) The processor 10 performs initialization so that the state of the cache memory 20 and the contents of the update address storage unit 32 of the cache flash device 30 match before operating the cache flash device 30. In the initialization, all cache blocks are invalidated. The areas A0 to An-1 are initialized so as not to include the update address.

【0065】(キャッシュフラッシュ装置30の通常時
の動作)プロセッサ10が初期化を行なった後、キャッ
シュフラッシュ装置30を構成する各部が所定の動作を
行なうことにより、更新アドレス記憶部32には、すべ
てのダーティブロックのアドレスが保持される。逆に更
新アドレス記憶部32に格納されている更新アドレスに
対して、必ずダーティブロックが存在する。それについ
て説明する。ここでは、あるプロセッサ10がキャッシ
ュメモリ20上でデータを更新する場合を考える。
(Normal Operation of Cache Flash Device 30) After the processor 10 performs initialization, the components constituting the cache flash device 30 perform predetermined operations, so that the update address storage unit 32 Of the dirty block is held. Conversely, a dirty block always exists for the update address stored in the update address storage unit 32. It will be described. Here, a case where a certain processor 10 updates data in the cache memory 20 is considered.

【0066】(1)そのキャッシュメモリ20が更新す
べきデータを保持していない場合、そのアドレスのデー
タを要求するとともに、他のキャッシュメモリ20に対
して、そのアドレスのデータの無効化を要求するコマン
ドがシステムバス40に対して発行される。そして、そ
のキャッシュメモリ20にデータが供給されると、その
キャッシュブロックがダーティ状態に変化する。更新ア
ドレス登録部33は、上記コマンドをバスインタフェー
ス31を介して捉え、更新アドレスおよびプロセッサ識
別番号に基づいて、領域A0〜An−1のいずれかを選
択し、その領域の空きエントリに上記アドレスを書き込
む。
(1) If the cache memory 20 does not hold the data to be updated, the cache memory 20 requests the data at the address and also requests the other cache memories 20 to invalidate the data at the address. A command is issued to the system bus 40. When data is supplied to the cache memory 20, the cache block changes to a dirty state. The update address registration unit 33 captures the command via the bus interface 31, selects one of the areas A0 to An-1 based on the update address and the processor identification number, and stores the address in a free entry of the area. Write.

【0067】(2)そのキャッシュメモリ20が更新す
べきデータをShared状態で保持している場合、他
のキャッシュメモリ20に対して、そのアドレスのデー
タの無効化を要求するコマンドがシステムバス40に対
して発行される。そして、他のキャッシュメモリ20か
らの応答があると、そのキャッシュブロックの状態がダ
ーティに変化する。更新アドレス登録部33は、上記コ
マンドをバスインタフェースを介して捉え、更新アドレ
スおよびプロセッサ識別番号に基づいて、領域A0〜A
n−1のいずれかを選択し、その領域に上記アドレスを
書き込む。
(2) If the cache memory 20 holds data to be updated in a shared state, a command requesting the other cache memories 20 to invalidate the data at the address is sent to the system bus 40. Issued to Then, when there is a response from another cache memory 20, the state of the cache block changes to dirty. The update address registration unit 33 captures the command via the bus interface, and based on the update address and the processor identification number, the areas A0 to A
n-1 is selected, and the above address is written in that area.

【0068】(3)そのキャッシュメモリ20が更新す
べきデータをすでにダーティ状態で保持している場合、
システムバス40上にデータ更新を示すコマンドは出
ず、したがって、キャッシュフラッシュ装置30は何の
動作もしない。しかし、そのキャッシュブロックのアド
レスは、かつてダーティ状態以外からダーティ状態にな
ったとき、そのアドレスが領域A0〜An−1のいずれ
かに記憶されているので問題は生じない。
(3) If the cache memory 20 already holds data to be updated in a dirty state,
No command indicating data update is issued on the system bus 40, and therefore, the cache flush device 30 does not perform any operation. However, when the address of the cache block changes from a state other than the dirty state to the dirty state, the address is stored in any of the areas A0 to An-1, so that no problem occurs.

【0069】キャッシュメモリによっては、前述した
(1)〜(3)の状態の他に、Clean Exclu
siveという状態を取り得るものがある。Clean
Exclusive状態というのは、キャッシュメモ
リの内容はメインメモリと同一であり、かつそのアドレ
スのデータを保持しているキャッシュメモリはそのキャ
ッシュメモリのみであることを表わす。キャッシュブロ
ックがClean Exclusive状態になるの
は、プロセッサがデータを読込もうとしてキャッシュミ
スが発生し、そのデータを要求するコマンドがシステム
バスに発行されたとき、いずれのキャッシュメモリも
「そのデータを持っている」との応答を返さなかった場
合である。
Depending on the cache memory, in addition to the above-mentioned states (1) to (3), Clean Exclu may be used.
There is one that can take a state called “sive”. Clean
The exclusive state indicates that the content of the cache memory is the same as that of the main memory, and that the cache memory holding the data at the address is only the cache memory. The reason why the cache block enters the Clean Exclusive state is that when a cache miss occurs when the processor attempts to read data and a command requesting the data is issued to the system bus, any of the cache memories is "held with the data". Is not returned.

【0070】キャッシュブロックがClean Exc
lusive状態である場合に、そのキャッシュブロッ
クに対してデータの書込みが行なわれると、他のキャッ
シュメモリにはそのアドレスに対応するキャッシュブロ
ックが存在しないため、システムバスにはデータの更新
を示すコマンドが発行されることなく、キャッシュブロ
ックがダーティ状態に変化する。
When the cache block is Clean Exc
When data is written to the cache block in the active state, the cache bus corresponding to the address does not exist in the other cache memory, and therefore a command indicating data update is issued to the system bus. The cache block changes to a dirty state without being issued.

【0071】したがって、本例では、Clean Ex
clusive状態を取り得るキャッシュメモリを使用
する場合は、キャッシュブロックがClean Exc
lusive状態とならないようにする必要がある。そ
れは、キャッシュフラッシュ装置30に、あるキャッシ
ュメモリがプロセッサからのデータ読込みでキャッシュ
ミスを起こしてシステムバスにデータを要求するコマン
ドに対し、「そのデータを持っている」との応答を返す
機能を追加することで実現できる。
Therefore, in this example, Clean Ex
When using a cache memory that can take a positive state, the cache block must be a Clean Exc.
It is necessary not to be in a live state. It adds a function to the cache flash device 30 to return a response "having that data" to a command that requests a data from the system bus when a cache memory causes a cache miss by reading data from the processor. It can be realized by doing.

【0072】また、あるダーティブロックの内容がメイ
ンメモリ51に書き戻される場合、更新アドレス削除部
34がそのコマンドを検知し、書き戻しアドレスとプロ
セッサ識別番号をもとに、更新アドレス登録部33が領
域A0〜An−1を選択したのと同じ方法で領域A0〜
An−1のいずれかを選択し、その中に含まれる同アド
レスを削除する。
When the contents of a certain dirty block are written back to the main memory 51, the update address deletion unit 34 detects the command and the update address registration unit 33 detects the command based on the write back address and the processor identification number. The areas A0 to An-1 are selected in the same manner as the areas A0 to An-1 are selected.
An-1 is selected, and the same address contained therein is deleted.

【0073】(キャッシュフラッシュ装置30によるキ
ャッシュフラッシュ動作)プロセッサ10がキャッシュ
フラッシュ装置30にキャッシュフラッシュを命ずる
と、フラッシュ実行部35は、プロセッサ10からの指
示に基づき、更新アドレス記憶部32に格納されている
すべてのアドレスを逐次取り出して、そのアドレスを有
するダーティブロックの内容をメインメモリ51に書戻
すことを要求するコマンドをシステムバス40に発行す
る。
(Cache Flush Operation by Cache Flush Device 30) When the processor 10 commands the cache flush device 30 to perform a cache flush, the flush execution unit 35 is stored in the update address storage unit 32 based on an instruction from the processor 10. A command is issued to the system bus 40 requesting that the addresses of the dirty blocks having the addresses are sequentially fetched and written back to the main memory 51.

【0074】この結果、ダーティブロックが存在せず、
また、更新アドレス記憶部32にも更新アドレスが記憶
されていない初期状態に戻る。
As a result, there is no dirty block,
In addition, the process returns to the initial state in which the update address is not stored in the update address storage unit 32.

【0075】本実施形態においては、更新アドレス記憶
部32を構成する領域A0〜An−1の設定方法、およ
びアドレスと領域との対応づけは、キャッシュメモリ2
0の構成に合わせるのが望ましい。次にそれについて説
明する。
In this embodiment, the setting method of the areas A0 to An-1 constituting the update address storage unit 32 and the correspondence between the addresses and the areas are determined by the cache memory 2
It is desirable to match the configuration of 0. Next, it will be described.

【0076】(領域の設計方法その1)まず、キャッシ
ュメモリ20がダイレクトマップ方式で、プロセッサ数
が1という最も単純な場合について説明する。いま、1
つのキャッシュブロックの大きさがBバイト、キャッシ
ュブロックの個数がMであるとする。この場合、通常の
キャッシュメモリでは、アドレスa番地のデータは、
(a/B mod M)番目のキャッシュブロックに格
納される。
(Area Design Method 1) First, the simplest case in which the cache memory 20 is a direct map system and the number of processors is 1 will be described. Now 1
It is assumed that the size of one cache block is B bytes and the number of cache blocks is M. In this case, in a normal cache memory, the data at address a is
It is stored in the (a / B mod M) th cache block.

【0077】この場合、領域A0〜An−1は、キャッ
シュブロックと1対1に対応させて設ける。すなわち、
領域の個数nをキャッシュブロック数Mと同じにして、
アドレスa番地のデータは、(a/B mod M)番
目の領域に格納する。なお、プロセッサ数が1であるの
で、更新アドレス登録部33および更新アドレス削除部
34は、プロセッサ識別番号を使用する必要はない。
In this case, the areas A0 to An-1 are provided in one-to-one correspondence with the cache blocks. That is,
When the number n of areas is equal to the number M of cache blocks,
The data at address a is stored in the (a / B mod M) -th area. Since the number of processors is 1, the update address registration unit 33 and the update address deletion unit 34 do not need to use the processor identification number.

【0078】ここで、最近のプロセッサが備えているラ
イトバッファと呼ばれる機構を有するキャッシュメモリ
に対処する必要があるので、それについて説明する。
Here, it is necessary to deal with a cache memory having a mechanism called a write buffer provided in a recent processor, which will be described.

【0079】ライトバッファとは、プロセッサおよびキ
ャッシュメモリからメインメモリへのデータ書込み要求
を一時的に蓄えるバッファである。ライトバッファを備
えることにより、プロセッサがダーティブロックに対し
て別のアドレスのデータを更新しようとしてライトミス
が発生した場合、まず新しく更新すべきデータをメイン
メモリから読み出して、その後に、もともとのダーティ
ブロックの内容をメインメモリに書き戻すようになる。
つまり、プロセッサからいえば、新しく更新すべきデー
タが、いち早く利用可能になるわけであり、その分だけ
性能が向上することになる。
The write buffer is a buffer for temporarily storing a data write request from the processor and the cache memory to the main memory. By providing a write buffer, if a write miss occurs when the processor attempts to update data at another address with respect to the dirty block, the data to be updated is first read from the main memory, and then the original dirty block is updated. Will be written back to the main memory.
In other words, from the viewpoint of the processor, the data to be newly updated becomes available immediately, and the performance is improved accordingly.

【0080】最近のプロセッサでは、ライトバッファを
2個以上備えるので、同じキャッシュブロックに対応す
る種々のアドレスでのデータ更新が次々に起こると、メ
インメモリから更新すべきデータの読み出しが次々に起
こり、その後、ダーティブロックの書き戻しが連続して
起こる可能性がある。
In a recent processor, two or more write buffers are provided. Therefore, when data is updated at various addresses corresponding to the same cache block one after another, data to be updated is read from the main memory one after another. Thereafter, the dirty block may be written back continuously.

【0081】このため、システムバス40を観測してい
るキャッシュフラッシュ装置30には、あたかも1つの
領域に対する更新アドレスが、ライトバッファの数+1
だけ存在するように見えることが一時的に起こるので、
それに対する対策が必要である。
Therefore, in the cache flash device 30 observing the system bus 40, the update address for one area is equal to the number of write buffers + 1.
Because it only temporarily appears to exist
Countermeasures are needed.

【0082】最も単純な対策は、各領域のエントリ数を
増やすことであるが、下記の問題がある。
The simplest measure is to increase the number of entries in each area, but has the following problems.

【0083】(1)エントリ数を大きくするため、ハー
ドウェア量が大きくなる。
(1) Since the number of entries is increased, the amount of hardware is increased.

【0084】(2)多くのエントリの中から、メインメ
モリへの書き戻しのあったアドレスを見つけるのを高速
化することは難しい。
(2) It is difficult to speed up finding an address that has been written back to the main memory from many entries.

【0085】キャッシュメモリがダイレクトマップ方式
の場合に限れば、ライトバッファ機構を有するキャッシ
ュメモリに対しては、下記に示す2つの具体例が有効で
ある。
If the cache memory is of the direct map type, the following two specific examples are effective for a cache memory having a write buffer mechanism.

【0086】(具体例1)ここでは、各領域のエントリ
数を1とする。更新アドレス登録部33がデータ更新を
示すコマンドを検知したときのキャッシュフラッシュ装
置30の動作手順を示す図6、更新アドレス削除部34
がダーティブロックのメインメモリ51への書き戻しを
示すコマンドを検知したときのキャッシュフラッシュ装
置30の動作手順を示す図7を参照して動作手順を説明
する。
(Specific Example 1) Here, it is assumed that the number of entries in each area is one. FIG. 6 shows an operation procedure of the cache flash device 30 when the update address registration unit 33 detects a command indicating data update, and the update address deletion unit 34.
The operation procedure will be described with reference to FIG. 7 showing the operation procedure of the cache flash device 30 when the command indicating that the dirty block is written back to the main memory 51 is detected.

【0087】(1)更新アドレス登録部33は、データ
更新を示すコマンドを検知すると、対応する領域のエン
トリに更新アドレスを書き込む(図6)。
(1) Upon detecting a command indicating data update, the update address registration unit 33 writes the update address in the entry of the corresponding area (FIG. 6).

【0088】(2)更新アドレス削除部34は、ダーテ
ィブロックの内容のメインメモリ51への書き戻しコマ
ンドを検知すると、対応する領域のエントリの内容と書
き戻しアドレスを比較する。一致すれば、そのエントリ
の内容を空きエントリの状態に変更する(図7)。
(2) Upon detecting a command to write back the contents of the dirty block to the main memory 51, the update address deletion unit 34 compares the contents of the entry in the corresponding area with the write-back address. If they match, the content of the entry is changed to a state of an empty entry (FIG. 7).

【0089】(3)フラッシュ実行部35は、各領域に
ついて、その領域のエントリが空きエントリでないと
き、そのアドレスのダーティブロックの内容のメインメ
モリ51への書き戻しを要求するコマンドをシステムバ
ス40に発行する。
(3) For each area, when the entry of the area is not an empty entry, the flash execution unit 35 sends to the system bus 40 a command requesting that the contents of the dirty block at that address be written back to the main memory 51. Issue.

【0090】ここで、図8を参照して、プロセッサ10
が、0番地、B×M番地、2B×M番地にそれぞれデー
タD0,D1,D2を連続して書き込む場合の動作を説
明する。ただし、Bはキャッシュブロックの大きさ、M
はプロセッサのキャッシュブロック数である。
Here, referring to FIG.
Will be described in the case where data D0, D1 and D2 are continuously written at address 0, address B × M, and address 2B × M, respectively. Where B is the size of the cache block, M
Is the number of cache blocks of the processor.

【0091】(1)プロセッサ10が、0番地にデータ
D0を書こうとしたが、キャッシュブロック0に0番地
のデータが格納されていなかったので、システムバス4
0にメインメモリ51もしくは他のプロセッサ10のキ
ャッシュメモリ20(この場合、プロセッサ数は1なの
で、他のプロセッサ10からというのは、実際には起こ
らない)に、0番地から(B−1)番地のデータを要求
するとともに、データを更新することを他のプロセッサ
10に伝えるコマンドをシステムバス40に発する。
(1) The processor 10 attempts to write the data D0 at the address 0, but the data at the address 0 is not stored in the cache block 0.
At 0, the main memory 51 or the cache memory 20 of another processor 10 (in this case, the number of processors is 1, so it does not actually occur from another processor 10). And issues a command to the system bus 40 to notify the other processors 10 that the data is to be updated.

【0092】(2)その結果、キャッシュブロック0
に、0番地から(B−1)番地までのデータがダーティ
状態で格納され、そのうち、0番地のデータがD0に更
新される。また、領域A0には、0番地が更新されたこ
とに対応して更新アドレス0が格納される。
(2) As a result, cache block 0
The data from address 0 to address (B-1) is stored in a dirty state, and the data at address 0 is updated to D0. In the area A0, an updated address 0 is stored in correspondence with the update of the address 0.

【0093】(3)プロセッサ10が、B×M番地にデ
ータD1を書こうとしたが、キャッシュブロック0にB
×M番地のデータが格納されていなかったので、現在ダ
ーティ状態で保持されている0番地のデータをメインメ
モリ51に書き戻すためのメインメモリ51へのライト
要求が、ライトバッファに格納される。また、システム
バス40に、メインメモリ51もしくは他のプロセッサ
10のキャッシュメモリ20に(この場合、プロセッサ
数は1なので、他のプロセッサ10からというのは、実
際には起こらない)、B×M番地から(B×M+B−
1)番地のデータを要求するとともに、データを更新す
ることを他のプロセッサ10に伝えるコマンドをシステ
ムバス40に発する。
(3) The processor 10 tries to write the data D1 at the address B × M, but the cache block 0
Since the data at address xM has not been stored, a write request to the main memory 51 for writing back the data at address 0, which is currently held in a dirty state, to the main memory 51 is stored in the write buffer. Also, in the system bus 40, in the main memory 51 or the cache memory 20 of another processor 10 (in this case, since the number of processors is 1, it does not actually occur from the other processor 10), the address B × M From (B × M + B−
1) Requests data at an address and issues a command to the system bus 40 to notify another processor 10 that data is to be updated.

【0094】(4)その結果、キャッシュブロック0
に、B×M番地から(B×M+B−1)番地までのデー
タがダーティ状態で格納され、そのうち、B×M番地の
データがD1に更新される。また、領域A0には、B×
M番地が更新されたことに対応してB×Mが格納され
る。
(4) As a result, cache block 0
The data from the address B × M to the address (B × M + B−1) is stored in a dirty state, and the data at the address B × M is updated to D1. In the area A0, B ×
B × M is stored in correspondence with the update of the address M.

【0095】(5)プロセッサ10が2B×M番地にデ
ータD2を書こうとしたが、キャッシュブロック0に2
B×M番地のデータが格納されていなかったので、現在
ダーティ状態で保持されているB×M番地のデータをメ
インメモリ51に書き戻すためのメインメモリ51への
ライトアクセス要求が、ライトバッファに格納される。
この結果、ライトバッファには、メインメモリ51への
書き戻しのコマンドが2個格納されることになる。ま
た、システムバス40にメインメモリ51もしくは他の
プロセッサ10のキャッシュメモリ20に(この場合、
プロセッサ数は1なので、他のプロセッサ10からとい
うのは、実際には起こらない)、2B×M番地から(2
B×M+B−1)番地のデータを要求するとともに、デ
ータを更新することを他のプロセッサ10に伝えるコマ
ンドをシステムバス40に発する。 (6)その結果、キャッシュブロック0に、2B×M番
地から(2B×M+B−1)番地までのデータがダーテ
ィ状態で格納され、そのうち、2B×M番地のデータが
D2に更新される。また、領域A0には、2B×M番地
が更新されたことに対応して2B×Mが格納される。
(5) The processor 10 attempts to write the data D2 at the address 2B × M,
Since the data at the address B × M was not stored, a write access request to the main memory 51 for writing back the data at the address B × M currently held in the dirty state to the main memory 51 is sent to the write buffer. Is stored.
As a result, two commands for writing back to the main memory 51 are stored in the write buffer. In addition, the main memory 51 or the cache memory 20 of another processor 10 is connected to the system bus 40 (in this case,
Since the number of processors is 1, it does not actually occur from another processor 10). From address 2B × M (2
A request for the data at the address of (B × M + B-1) is issued, and a command to update the data to another processor 10 is issued to the system bus 40. (6) As a result, data from address 2B × M to address (2B × M + B−1) is stored in the cache block 0 in a dirty state, and the data at address 2B × M is updated to D2. In the area A0, 2B × M is stored in correspondence with the update of the address 2B × M.

【0096】(7)ライトバッファに格納されていた、
0番地から(B−1)番地までのデータのメインメモリ
51への書き戻しのコマンドが、システムバス40に発
せられる。更新アドレス削除部34は、領域A0の内容
2B×Mと書き戻しアドレス0が一致しないので、何も
しない。
(7) Stored in the write buffer,
A command to write back data from address 0 to address (B-1) to the main memory 51 is issued to the system bus 40. The update address deletion unit 34 does nothing because the content 2B × M of the area A0 does not match the write-back address 0.

【0097】(8)ライトバッファに格納されていた、
B×M番地から(B×M+B−1)番地までのデータの
メインメモリ51への書き戻しのコマンドが、システム
バス40に発せられる。更新アドレス削除部34は、領
域A0の内容2B×Mと書き戻しアドレスB×Mが一致
しないので、何もしない。
(8) Stored in the write buffer,
A command for writing back data from the address B × M to the address (B × M + B−1) to the main memory 51 is issued to the system bus 40. The update address deletion unit 34 does nothing because the content 2B × M of the area A0 does not match the write-back address B × M.

【0098】以上、具体例1について説明した。[0098] The first embodiment has been described above.

【0099】(具体例2)ここでは、各領域のエントリ
数を1とし、その領域に対応する更新アドレスがいくつ
あるかを示すカウンタを設ける。エントリおよびカウン
タは、下記のように使用される。
(Specific Example 2) Here, the number of entries in each area is set to 1, and a counter indicating the number of update addresses corresponding to the area is provided. Entries and counters are used as follows.

【0100】(1)カウンタ0は、その領域に含まれる
更新アドレスが無いことを示す。
(1) The counter 0 indicates that there is no update address included in the area.

【0101】(2)更新アドレス登録部33は、データ
更新を検知すると、対応する領域のエントリに更新アド
レスを書き込むとともに、その領域のカウンタを+1す
る。 (3)更新アドレス削除部34は、ダーティブロックの
内容のメインメモリ51への書き戻しを検知すると、対
応する領域のカウンタを−1する。
(2) When detecting the data update, the update address registration unit 33 writes the update address in the entry of the corresponding area and increments the counter of that area by one. (3) When detecting that the contents of the dirty block are written back to the main memory 51, the update address deletion unit 34 decrements the counter of the corresponding area by one.

【0102】(4)フラッシュ実行部35は、各領域に
ついて、その領域のカウンタが0でないとき、そのアド
レスのダーティブロックの内容のメインメモリ51への
書き戻しを要求するコマンドをシステムバス40に発行
する。
(4) For each area, when the counter of that area is not 0, the flash execution unit 35 issues a command to the system bus 40 requesting that the contents of the dirty block at that address be written back to the main memory 51. I do.

【0103】領域Aiの構造を、図9に示す。32ビッ
トのエントリに4ビットのカウンタが設けられている。
FIG. 9 shows the structure of the region Ai. A 4-bit counter is provided for a 32-bit entry.

【0104】図10は更新アドレス登録部33がデータ
更新を示すコマンドを検知した時のキャッシュフラッシ
ュ装置30の動作手順、図11は更新アドレス削除部3
4がダーティブロックのメインメモリ51への書き戻し
を示すコマンドを検知したときのキャッシュフラッシュ
装置30の動作手順、および図12はフラッシュ実行部
35の動作手順をそれぞれ示す。
FIG. 10 shows the operation procedure of the cache flash device 30 when the update address registration unit 33 detects a command indicating data update, and FIG.
4 shows an operation procedure of the cache flash device 30 when detecting a command indicating writing back of a dirty block to the main memory 51, and FIG. 12 shows an operation procedure of the flash execution unit 35, respectively.

【0105】次に、図13を参照して、プロセッサ10
が、0番地、B×M番地、2B×M番地にそれぞれデー
タD0,D1,D2を連続して書き込む場合の動作を説
明する。ただし、Bはキャッシュブロックの大きさ、M
はプロセッサのキャッシュブロック数である。
Next, referring to FIG.
Will be described in the case where data D0, D1 and D2 are continuously written at address 0, address B × M, and address 2B × M, respectively. Where B is the size of the cache block, M
Is the number of cache blocks of the processor.

【0106】(1)プロセッサ10が、0番地にデータ
D0を書こうとしたが、キャッシュブロック0に0番地
のデータが格納されていなかったので、システムバス4
0にメインメモリ51もしくは他のプロセッサ10のキ
ャッシュメモリ20(この場合、プロセッサ数は1なの
で、他のプロセッサ10からというのは、実際には起こ
らない)に、0番地から(B−1)番地のデータを要求
するとともに、データを更新することを他のプロセッサ
10に伝えるコマンドをシステムバス40に発する。
(1) The processor 10 attempts to write the data D0 at the address 0, but since the data at the address 0 is not stored in the cache block 0, the system bus 4
At 0, the main memory 51 or the cache memory 20 of another processor 10 (in this case, the number of processors is 1, so it does not actually occur from another processor 10). And issues a command to the system bus 40 to notify the other processors 10 that the data is to be updated.

【0107】(2)その結果、キャッシュブロック0
に、0番地から(B−1)番地までのデータがダーティ
状態で格納され、そのうち、0番地のデータがD0に更
新される。また、領域A0には、0番地が更新されたこ
とに対応して0が格納され、カウンタの値は+1されて
1となる。
(2) As a result, cache block 0
The data from address 0 to address (B-1) is stored in a dirty state, and the data at address 0 is updated to D0. In addition, 0 is stored in the area A0 in correspondence with the update of the address 0, and the value of the counter is incremented by 1 to become 1.

【0108】(3)プロセッサ10が、B×M番地にデ
ータD1を書こうとしたが、キャッシュブロック0にB
×M番地のデータが格納されていなかったので、現在ダ
ーティ状態で保持されている0番地のデータをメインメ
モリ51に書き戻すためのメインメモリ51へのライト
アクセス要求が、ライトバッファに格納される。また、
システムバス40に、メインメモリ51もしくは他のプ
ロセッサ10のキャッシュメモリ20(この場合、プロ
セッサ数は1なので、他のプロセッサ10からというの
は、実際には起こらない)に、B×M番地から(B×M
+B−1)番地のデータを要求するとともに、データを
更新することを他のプロセッサ10に伝えるコマンドを
システムバス40に発する。
(3) The processor 10 tried to write the data D1 at the address B × M, but the cache block 0
Since the data at address xM has not been stored, a write access request to the main memory 51 for writing back the data at address 0, which is currently held in a dirty state, to the main memory 51 is stored in the write buffer. . Also,
In the system bus 40, the main memory 51 or the cache memory 20 of the other processor 10 (in this case, the number of processors is 1, so it does not actually occur from the other processor 10). B × M
+ B-1) Requests the data at the address, and issues a command to the other processor 10 to update the data to the system bus 40.

【0109】(4)その結果、キャッシュブロック0
に、B×M番地から(B×M+B−1)番地までのデー
タがダーティ状態で格納され、そのうち、B×M番地の
データがD1に更新される。また、領域A0には、B×
M番地が更新されたことに対応してB×Mが格納され
る。また、カウンタの値は+1されて2となる。
(4) As a result, cache block 0
The data from the address B × M to the address (B × M + B−1) is stored in a dirty state, and the data at the address B × M is updated to D1. In the area A0, B ×
B × M is stored in correspondence with the update of the address M. Further, the value of the counter is incremented by 1 to become 2.

【0110】(5)プロセッサ10が2B×M番地にデ
ータD2を書こうとしたが、キャッシュブロック0に2
B×M番地のデータが格納されていなかったので、現在
ダーティ状態で保持されているB×M番地のデータをメ
インメモリ51に書き戻すためのメインメモリ51への
ライトアクセス要求が、ライトバッファに格納される。
この結果、ライトバッファには、メインメモリ51への
書き戻しのコマンドが2個格納されることになる。ま
た、システムバス40にメインメモリ51もしくは他の
プロセッサ10のキャッシュメモリ20(この場合、プ
ロセッサ数は1なので、他のプロセッサ10からという
のは、実際には起こらない)に、2B×M番地から(2
B×M+B−1)番地のデータを要求するとともに、デ
ータを更新することを他のプロセッサ10に伝えるコマ
ンドをシステムバス40に発する。 (6)その結果、キャッシュブロック0に、2B×M番
地から(2B×M+B−1)番地までのデータがダーテ
ィ状態で格納され、そのうち、2B×M番地のデータが
D2に更新される。また、領域A0には、2B×M番地
が更新されたことに対応して2B×Mが格納される。ま
た、カウンタの値は+1されて3となる。
(5) The processor 10 attempts to write the data D2 at the address 2B × M,
Since the data at the address B × M was not stored, a write access request to the main memory 51 for writing back the data at the address B × M currently held in the dirty state to the main memory 51 is sent to the write buffer. Is stored.
As a result, two commands for writing back to the main memory 51 are stored in the write buffer. Further, in the system bus 40, the main memory 51 or the cache memory 20 of another processor 10 (in this case, since the number of processors is 1, it does not actually occur from the other processor 10). (2
A request for the data at the address of (B × M + B-1) is issued, and a command to update the data to another processor 10 is issued to the system bus 40. (6) As a result, data from address 2B × M to address (2B × M + B−1) is stored in the cache block 0 in a dirty state, and the data at address 2B × M is updated to D2. In the area A0, 2B × M is stored in correspondence with the update of the address 2B × M. Further, the value of the counter is incremented by 1 to become 3.

【0111】(7)ライトバッファに格納されていた、
0番地から(B−1)番地までのデータのメインメモリ
51への書き戻しのコマンドが、システムバス40に発
せられる。領域A0に対応するカウンタの値は−1され
て、2となる。
(7) The data stored in the write buffer
A command to write back data from address 0 to address (B-1) to the main memory 51 is issued to the system bus 40. The value of the counter corresponding to the area A0 is decremented by one to two.

【0112】(8)ライトバッファに格納されていた、
B×M番地から(B×M+B−1)番地までのデータの
メインメモリ51への書き戻しのコマンドが、システム
バス40に発せられる。また、領域A0に対応するカウ
ンタの値は−1されて、1となる。
(8) The data stored in the write buffer
A command for writing back data from the address B × M to the address (B × M + B−1) to the main memory 51 is issued to the system bus 40. Further, the value of the counter corresponding to the area A0 is decremented by 1 to become 1.

【0113】以上、具体例2について説明した。In the above, the specific example 2 has been described.

【0114】(領域の設計方法その2)次に、キャッシ
ュメモリ20がダイレクトマップ方式で、プロセッサ数
がPという場合について説明する。この場合、1つのキ
ャッシュブロックの大きさがBバイト、キャッシュブロ
ックの個数がMであるとする。
(Area Design Method 2) Next, a case where the cache memory 20 is of the direct map system and the number of processors is P will be described. In this case, it is assumed that the size of one cache block is B bytes and the number of cache blocks is M.

【0115】この場合、2つの具体例がある。In this case, there are two specific examples.

【0116】(具体例3)領域の個数nをP×Mとし、
各領域のエントリ数を1とする。そして、最初のM個の
領域を最初のプロセッサ10のキャッシュメモリ20
に、次のM個の領域を2番目のプロセッサ10のキャッ
シュメモリ20に、という具合に対応させる。
(Specific Example 3) The number n of regions is P × M,
Assume that the number of entries in each area is one. Then, the first M areas are stored in the cache memory 20 of the first processor 10.
Then, the next M areas are made to correspond to the cache memory 20 of the second processor 10, and so on.

【0117】更新アドレス登録部33および更新アドレ
ス削除部34は、前述の通りにプロセッサ識別番号とア
ドレスをもとに、領域を選択すれば良い。各領域は、1
つのプロセッサ10の1つのキャッシュブロックと対応
づけられるので、プロセッサ10が有するライトバッフ
ァへの対処では、先に説明した具体例1および具体例2
が有効である。
The update address registration unit 33 and the update address deletion unit 34 may select an area based on the processor identification number and the address as described above. Each area is 1
Since it is associated with one cache block of one processor 10, in dealing with the write buffer of the processor 10, the specific examples 1 and 2 described above are used.
Is valid.

【0118】(具体例4)領域の個数nをMとし、各領
域のエントリ数をPとする。領域Aiは、各プロセッサ
10の第i番目のキャッシュブロックに対応させる。
(Specific Example 4) The number n of areas is M, and the number of entries in each area is P. The area Ai corresponds to the i-th cache block of each processor 10.

【0119】このような対応づけを行なうことにより、
どのプロセッサ10でデータ更新が発生したかに依ら
ず、更新のあったアドレスから対応する領域が求められ
るので、第1の候補と異なり、プロセッサ識別番号は必
要ない。したがって、システムバスの仕様により、デー
タ更新を行なったプロセッサの識別番号が得られないよ
うな場合にも有効である。
By making such a correspondence,
Regardless of which processor 10 has generated the data update, the corresponding area is obtained from the updated address, so that unlike the first candidate, the processor identification number is not required. Therefore, the present invention is also effective in a case where the identification number of the processor that has updated the data cannot be obtained due to the specifications of the system bus.

【0120】ただし、プロセッサが有するライトバッフ
ァへの対処では、先に説明した具体例1および具体例2
が適用できないという問題がある。そのため、ライトバ
ッファを有するプロセッサについては、具体例3か、あ
るいは、後述する第2乃至第4の実施形態に基づく方が
望ましい。
However, in dealing with the write buffer of the processor, the specific examples 1 and 2 described above are used.
There is a problem that is not applicable. Therefore, it is preferable that the processor having the write buffer be based on the specific example 3 or the second to fourth embodiments described later.

【0121】(領域の設計方法その3)次に、キャッシ
ュメモリがNウェイのセットアソシアティブで、キャッ
シュブロック数がM、プロセッサ数が1という場合につ
いて説明する。1つのキャッシュブロックの大きさがB
バイトであるとする。この場合、N個のキャッシュブロ
ックがグループを形成し、アドレスa番地のデータは、
((a/B)mod(M/N))番目のグループのキャ
ッシュブロックに格納されることになる。
(Area Design Method 3) Next, a case where the cache memory is N-way set associative, the number of cache blocks is M, and the number of processors is 1 will be described. The size of one cache block is B
Assume it is a byte. In this case, the N cache blocks form a group, and the data at address a is:
((A / B) mod (M / N))-th group of cache blocks.

【0122】(具体例5)この場合、領域の個数nはM
/Nとし、各領域のエントリ数はNとする。また、アド
レスa番地のデータは、((a/B)mod(M/
N))番目の領域に格納する。この方法の欠点は、プロ
セッサ10がライトバッファを有する場合、ダイレクト
マップのキャッシュメモリ20の場合のような改良案が
ないことである。この問題に対しては、次に示す第2乃
乃至第4の実施形態に示す方式によるのが望ましい。
(Specific Example 5) In this case, the number n of areas is M
/ N, and the number of entries in each area is N. The data at the address a is ((a / B) mod (M /
N)) is stored in the th area. The disadvantage of this method is that when the processor 10 has a write buffer, there is no improvement as in the case of the direct mapped cache memory 20. In order to solve this problem, it is desirable to use the method shown in the second to fourth embodiments described below.

【0123】(具体例6)キャッシュメモリ20がセッ
トアソシアティブであっても、更新アドレスがどのウェ
イに格納されるか、システムバス40の制御信号線を観
測するなどの手段によって分かる場合には、ダイレクト
マップの場合と同様に、各キャッシュブロックごとに領
域を設定することが可能である。その場合には、プロセ
ッサ10が有するライトバッファへの対処では、先に説
明した時杖弦例1および具体例2が有効である。
(Specific Example 6) Even if the cache memory 20 is set associative, if the way in which the update address is stored can be determined by means of observing the control signal line of the system bus 40, the direct As in the case of the map, it is possible to set an area for each cache block. In that case, in dealing with the write buffer of the processor 10, the wand string example 1 and the specific example 2 described above are effective.

【0124】以上説明した本例のキャッシュフラッシュ
装置30によるキャッシュフラッシュ処理と従来のソフ
トウェアによるキャッシュフラッシュ処理とを比較する
と、キャッシュブロックがダーティである率が、例えば
50%を超えるような非常に高い場合は、ダーティブロ
ックの内容をメインメモリ51に書戻す処理が多いた
め、所要時間に大きな差はない。
A comparison between the cache flush processing by the cache flush apparatus 30 of the present embodiment described above and the cache flush processing by the conventional software shows that the rate at which the cache blocks are dirty is very high, for example, exceeding 50%. Since there are many processes for writing back the contents of the dirty block to the main memory 51, there is no great difference in the required time.

【0125】一方、キャッシュブロックがダーティであ
る率が、例えば10%の場合、ソフトウェアによるキャ
ッシュフラッシュでは、次のダーティブロックを見つけ
るのに、平均して2バスサイクル×10=20サイクル
を要するのに対して、本実施形態のキャッシュフラッシ
ュ装置30のフラッシュ実行部35は、各領域A0〜A
n−1に記憶されているアドレスを順に取り出す(タグ
サーチ)のを、例えば複数の領域を並列に検査するハー
ドウェアにより高速化できるので、キャッシュフラッシ
ュ処理時間を短縮できる。
On the other hand, if the rate at which a cache block is dirty is, for example, 10%, it takes 2 bus cycles × 10 = 20 cycles on average to find the next dirty block in cache flush by software. On the other hand, the flush execution unit 35 of the cache flush device 30 of the present embodiment
The speed of sequentially fetching the addresses stored in n-1 (tag search) can be increased by, for example, hardware for checking a plurality of areas in parallel, so that the cache flush processing time can be reduced.

【0126】また、領域A0〜An−1にアドレス以外
に付加情報を持たせることによってもタグサーチ時間を
高速化できる。この例については、第2の実施形態で説
明する。
The tag search time can be shortened by providing additional information other than the addresses in the areas A0 to An-1. This example will be described in a second embodiment.

【0127】本キャッシュフラッシュ装置のもう1つの
効果は、専用のハードウェアを設けたので、キャッシュ
フラッシュ装置にキャッシュフラッシュ処理をさせなが
ら、プロセッサは通常の処理を実行できるという点であ
る。これは、本実施形態のキャッシュフラッシュ装置を
チェックポイント方式を採用した耐障害性の計算機シス
テムに適用する場合に特に効果がある。これについては
第5および第6の実施形態で説明する。
Another advantage of the present cache flush device is that the processor can execute a normal process while causing the cache flush device to perform the cache flush process because the dedicated hardware is provided. This is particularly effective when the cache flush device of the present embodiment is applied to a fault-tolerant computer system employing a checkpoint method. This will be described in the fifth and sixth embodiments.

【0128】なお、これまで説明してきたキャッシュフ
ラッシュ装置30は、フラッシュ実行部35が、ダーテ
ィブロックに対して、それが保持しているデータをメイ
ンメモリ51に書き戻すことを要求するコマンドをシス
テムバス40に発行することにより、キャッシュフラッ
シュが実行できることを前提としている。
In the cache flush device 30 described above, the flush execution unit 35 sends a command to the dirty block to request that the data held therein be written back to the main memory 51. It is premised that the cache flush can be executed by issuing the cache flush to the cache.

【0129】通常のシステムでは、キャッシュ間でデー
タの一貫性を保持しながらデータの読み出しを要求する
Read−lineといったコマンドがそれに該当す
る。Read−lineに対する応答としては2種類あ
る。
In a normal system, a command such as Read-line that requests data reading while maintaining data consistency between caches corresponds to the command. There are two types of responses to the Read-line.

【0130】1つは、ダーティブロックの内容がシステ
ムバスに発行され、その際、メインメモリも同時に更新
される。
One is that the contents of the dirty block are issued to the system bus, and the main memory is updated at the same time.

【0131】もう1つは、Retry(少し後で再びR
ead−Lineを実行せよ)がシステムバスに発行さ
れる。次に、ダーティブロックの属するキャッシュメモ
リが自発的にWrite−Lineコマンドをシステム
バスに発行してダーティブロックの内容をメインメモリ
に書き戻す。そして、Retryを受けた側が、再度R
ead−Lineをシステムバスに発行すると、今度
は、メインメモリが最新のデータを応答する。
The other is Retry (a little later, R
Executing "ad-Line") is issued to the system bus. Next, the cache memory to which the dirty block belongs voluntarily issues a Write-Line command to the system bus, and writes the contents of the dirty block back to the main memory. Then, the side receiving the Retry receives the R again.
When the head-line is issued to the system bus, the main memory responds with the latest data.

【0132】しかしながら、計算機システムによって
は、Read−Lineコマンドをシステムバスに発行
しても、ダーティブロックの内容がメインメモリ書き戻
されることなく、ダーティブロックに保持され続けるこ
ともあり得る。そこで、ここでは、そのような計算機シ
ステムに適用可能なキャッシュフラッシュ装置30の2
つの具体例について明する。
However, depending on the computer system, even if the Read-Line command is issued to the system bus, the contents of the dirty block may not be written back to the main memory and may be kept in the dirty block. Therefore, here, 2 of the cache flush device 30 applicable to such a computer system is described.
Two specific examples will be described.

【0133】(具体例7)キャッシュフラッシュ装置3
0がキャッシュフラッシュを行なう際、まず、Read
−Line−with−Invalidateコマンド
という、ダーティブロックのデータを読み出すととも
に、ダーティブロックの内容を無効化するコマンドを発
行し、次に、Write−Lineコマンドを発行する
ことにより、先に読み出したデータをメインメモリ51
に書き戻す方法である。この方法は、データ一貫性を維
持するため、キャッシュフラッシュ装置30自身が、あ
たかもダーティブロックを保有するキャッシュメモリ2
0と同様に動作する必要がある。
(Specific Example 7) Cache Flash Device 3
0 performs a cache flush, first,
-A command to read the data of the dirty block called a Line-with-Invalidate command and issue a command to invalidate the contents of the dirty block, and then issue a Write-Line command, so that the previously read data is Memory 51
It is a method of writing back to. In this method, in order to maintain data consistency, the cache flush device 30 itself uses the cache memory 2 as if it had a dirty block.
It must behave like 0.

【0134】 Read-Line-with-Invalidate 〜 Write-Line この方法では、キャッシュフラッシュ装置がデータ一貫
性を保つためにキャッシュのような動作をする必要があ
る。
Read-Line-with-Invalidate to Write-Line In this method, the cache flush device needs to operate like a cache in order to maintain data consistency.

【0135】Read-Line 〜Write-Line(Write-Line は無
条件でInvalidateも含む) この方法をUltraSPARC版のMBT で設計している。この方
法だと、キャッシュのような動作は不要でハードウェア
構成が簡単である。
Read-Line to Write-Line (Write-Line unconditionally includes Invalidate) This method is designed with UltraSPARC version MBT. According to this method, an operation such as a cache is not required, and the hardware configuration is simple.

【0136】(具体例8)第2の構成法は、まず、プロ
セッサ10が更新アドレス記憶部32に記憶されたすべ
ての更新アドレスを取得できるようにする。これは、例
えば図14に示すように、更新アドレス記憶部32に記
憶されたすべての更新アドレスを逐次読み出す機能をも
つ更新アドレス読み出し部37を、フラッシュ実行部3
5に代わってキャッシュフラッシュ装置30に設け、プ
ロセッサがこの更新アドレス読み出し部37の保存する
更新アドレスを読み出せるようにすることによって実現
する。更新アドレス読み出し部37はプロセッサに更新
アドレスを読み出されるたびに、新しい更新アドレスを
用意する。さらに、プロセッサによる更新アドレスの読
み出し時に、一度に複数の更新アドレスを読み出せるよ
うにして、さらに高速化することも考えられる。そし
て、プロセッサ10が、この更新アドレス読み出し部3
7を介して取得したアドレスを使用して、ダーティブロ
ックの内容をメインメモリに書き戻すようにする。
(Embodiment 8) In the second configuration method, first, the processor 10 is enabled to acquire all update addresses stored in the update address storage unit 32. For example, as shown in FIG. 14, the update address reading unit 37 having a function of sequentially reading all update addresses stored in the update address storage unit 32 is changed to the flash execution unit 3.
5 is provided in the cache flash device 30 instead of 5, so that the processor can read the update address stored in the update address reading unit 37. The update address reading unit 37 prepares a new update address every time the processor reads the update address. Furthermore, when the update address is read by the processor, it is possible to read a plurality of update addresses at a time to further increase the speed. Then, the processor 10 determines that the update address reading unit 3
7, the content of the dirty block is written back to the main memory.

【0137】このとき、プロセッサ10は、キャッシュ
操作命令を使用するか、あるいは更新アドレスと同じキ
ャッシュブロックに格納される別アドレスのデータをメ
インメモリから読み出すことにより、キャッシュブロッ
クのリプレースメントを起こさせる。これを、更新アド
レスがなくなるまで繰り返せば全てのダーティブロック
をメインメモリに書き戻すことができる。更新アドレス
がなくなったという情報は更新アドレスと同様に、プロ
セッサが更新アドレス読み出し部37から読み出す。
At this time, the processor 10 causes the replacement of the cache block by using a cache operation instruction or by reading out the data of another address stored in the same cache block as the update address from the main memory. By repeating this until there is no more updated address, all dirty blocks can be written back to the main memory. The information that the update address has disappeared is read by the processor from the update address reading unit 37 in the same manner as the update address.

【0138】この方法は、キャッシュフラッシュ装置3
0がデータ一貫性の管理をする必要がないため、ハード
ウェアが簡単になるのが長所である。また、プロセッサ
10がすべての処理をソフトウェアで実行する従来の方
法と比較して、ダーティブロックを効率よく見つけられ
るため、キャッシュフラッシュ処理が高速である。
This method uses the cache flush device 3
0 has the advantage of simplifying the hardware since there is no need to manage data consistency. Further, compared with the conventional method in which the processor 10 executes all the processing by software, the dirty flash can be found more efficiently, so that the cache flush processing is faster.

【0139】この具体例8の動作を示すフローチャート
を図15に示す。
FIG. 15 is a flowchart showing the operation of the embodiment 8.

【0140】以下、本発明の他の実施形態を説明する。
以下の説明で、第1の実施形態と対応する部分は同一の
参照数字を付して詳細な説明は省略する。
Hereinafter, another embodiment of the present invention will be described.
In the following description, portions corresponding to those in the first embodiment are denoted by the same reference numerals, and detailed description is omitted.

【0141】(第2の実施形態)次に、本発明の第2の
実施形態を説明する。図16は、本発明の第2の実施形
態の計算機システムのシステム構成を示す。キャッシュ
フラッシュ装置30が適用される計算機の構成は第1の
実施形態と同じである。
(Second Embodiment) Next, a second embodiment of the present invention will be described. FIG. 16 shows a system configuration of a computer system according to the second embodiment of this invention. The configuration of the computer to which the cache flush device 30 is applied is the same as that of the first embodiment.

【0142】キャッシュフラッシュ装置30は、バスイ
ンタフェース31、更新アドレス記憶部32(領域A0
〜An−1)、更新アドレス登録部33、フラッシュ実
行部35およびエントリ解放部36で構成される。
The cache flash device 30 includes a bus interface 31 and an update address storage unit 32 (area A0).
To An-1), an update address registration unit 33, a flash execution unit 35, and an entry release unit 36.

【0143】更新アドレス記憶部32は、すべてのダー
ティブロックのアドレスを保持するためのn個の領域
(領域A0〜An−1)で構成される。本実施形態で
は、すべてのダーティブロックのアドレスが更新アドレ
ス記憶部32に格納されるが、それ以外に、かつてダー
ティブロックであったが現在ではそうでなくなったよう
なアドレスも更新アドレス記憶部32に格納されること
がある。これは、本実施形態では、第1の実施形態で示
す更新アドレス削除部34を持たないことによるもので
あり、これが第1の実施形態との基本的な違いである。
The update address storage unit 32 is composed of n areas (areas A0 to An-1) for holding addresses of all dirty blocks. In the present embodiment, the addresses of all dirty blocks are stored in the update address storage unit 32. In addition, addresses that were once dirty blocks but are no longer valid are stored in the update address storage unit 32. May be stored. This is because this embodiment does not include the update address deletion unit 34 shown in the first embodiment, and this is a fundamental difference from the first embodiment.

【0144】ここで、領域Aiの構造について説明す
る。領域Aiの各エントリに格納されている値が有効で
あるか否かを示すには、第1の実施形態で示す方法を採
用することも可能であるが、下記の方法に基づく方がよ
り望ましい。
Here, the structure of the region Ai will be described. In order to indicate whether the value stored in each entry of the area Ai is valid, the method described in the first embodiment can be employed, but it is more preferable to use the following method. .

【0145】すなわち、領域を構成する複数のエントリ
を循環バッファとして使用する。読み出しポインタ(R
ポインタ)と書き込みポインタ(Wポインタ)を設け、
Rポインタが指すエントリからWポインタが指すエント
リの1つ手前のエントリまで更新アドレスが格納される
ようにする。ただし、WポインタとRポインタが一致す
る場合に、それがすべてのエントリが空きである状態を
表わすのか、すべてのエントリが空きでない状態を表わ
すのかが不明であり、これを判別するため、満杯フラグ
という1ビットのフラグも設ける。この方法は、更新ア
ドレス登録部33やフラッシュ実行部35の動作が高速
化しやすいという長所がある。
That is, a plurality of entries constituting an area are used as a circular buffer. Read pointer (R
Pointer) and a write pointer (W pointer),
The updated address is stored from the entry pointed to by the R pointer to the entry immediately before the entry pointed to by the W pointer. However, when the W pointer and the R pointer match, it is not known whether this indicates a state where all entries are empty or all entries are not empty. A 1-bit flag is also provided. This method has an advantage that the operations of the update address registration unit 33 and the flash execution unit 35 are easily accelerated.

【0146】図17は、本実施形態の領域の構成を示す
概念図である。Rポインタは、有効な更新アドレスのう
ち、最も古く登録されたものを示す。また、Wポインタ
は、新しい更新アドレスを登録すべき位置を示す。そし
て、満杯フラグは、WポインタとRポインタが一致する
場合に、それがすべてのエントリが空きである状態を表
わす(満杯フラグ=OFF)のか、すべてのエントリが
空きでない状態を表わす(満杯フラグ=ON)のかの判
別に使用する。
FIG. 17 is a conceptual diagram showing the structure of the area according to the present embodiment. The R pointer indicates the oldest registered update address among valid update addresses. The W pointer indicates a position where a new update address should be registered. When the W pointer and the R pointer match, the full flag indicates that all entries are empty (full flag = OFF) or that all entries are not empty (full flag = ON).

【0147】更新アドレス登録部33は、第1の実施形
態と同じである。
The update address registration section 33 is the same as in the first embodiment.

【0148】エントリ解放部36は、前述した更新アド
レス登録部33がある領域に更新アドレスを書き込もう
とした場合に、その領域に属する空きエントリが無いこ
とを検出したときに、格納されている更新アドレスの中
から1つを選択し、そのアドレスを有するダーティブロ
ックの内容をメインメモリ51に書き戻すことを要求す
るコマンドをシステムバス40に発行する。このとき、
そのアドレスを保持していたエントリを空きにする。な
お、エントリ解放部36は、上記タイミングでエントリ
を解放するのが最も効率的であるが、未だ空きエントリ
が少し残っているような、より早いタイミングで行なう
ことも可能である。
When the update address registering unit 33 attempts to write an update address in a certain area and detects that there is no free entry belonging to the area, the entry release unit 36 stores the update address stored in the area. And issues a command to the system bus 40 requesting that the contents of the dirty block having that address be written back to the main memory 51. At this time,
The entry holding the address is vacated. It is most efficient that the entry release unit 36 releases the entries at the above timing, but it is also possible to perform the release at an earlier timing such that a few empty entries still remain.

【0149】図18は、キャッシュメモリ20上でデー
タ更新が発生したことを示すコマンドを更新アドレス登
録部33が検知したときの、更新アドレス登録部33お
よびエントリ解放部36の処理フローを示す。ステップ
I1でデータ更新を示すコマンドを検出すると、ステッ
プI2でプロセッサ識別番号と更新アドレスから対応す
る領域Aiを求める。ステップI3で領域Aiの満杯フ
ラグがオンか否か判定する。ノーの場合は、ステップI
8に飛び、イエスの場合は、ステップI4でエントリ開
放部36が領域AiのRポインタの示すエントリ中のア
ドレスを用いてダーティブロックのメインメモリへの書
き戻しを要求するコマンドを発行する。ステップI5で
Rポインタが最後のエントリを指しているか否かを判定
する。ノーの場合はステップI6でRポインタを1だけ
インクリメントし、イエスの場合はステップI7でRポ
インタが最初のエントリを指すようにしてから、ステッ
プI8を実行する。ステップI8では、Wポインタの示
す位置に更新アドレスを登録する。
FIG. 18 shows a processing flow of the update address registration unit 33 and the entry release unit 36 when the update address registration unit 33 detects a command indicating that data update has occurred in the cache memory 20. When a command indicating data update is detected in step I1, a corresponding area Ai is obtained from the processor identification number and the update address in step I2. In step I3, it is determined whether or not the full flag of the area Ai is ON. If no, step I
If the answer is YES, in step I4, the entry release unit 36 issues a command requesting the dirty block to be written back to the main memory using the address in the entry indicated by the R pointer of the area Ai. In step I5, it is determined whether or not the R pointer points to the last entry. If no, the R pointer is incremented by 1 in step I6. If yes, step R8 is executed after the R pointer points to the first entry in step I7. In step I8, the update address is registered at the position indicated by the W pointer.

【0150】ステップI9でWポインタが最後のエント
リを指しているか否かを判定する。ノーの場合はステッ
プI10でWポインタを1だけインクリメントし、イエ
スの場合はステップI11でWポインタが最初のエント
リを指すようにしてから、ステップI12を実行する。
ステップI12では、WポインタとRポインタが示す位
置が等しいか否か判定する。等しい場合にはステップI
13で満杯フラグをオンにしてから終了し、等しくない
場合には直ちに終了する。
At step I9, it is determined whether or not the W pointer points to the last entry. If no, the W pointer is incremented by 1 in step I10, and if yes, step W11 is performed after the W pointer points to the first entry in step I11.
In step I12, it is determined whether or not the positions indicated by the W pointer and the R pointer are equal. If equal, step I
At 13, the full flag is turned on, and the processing ends. If they are not equal, the processing ends immediately.

【0151】フラッシュ実行部35の処理フローを図1
9に示す。フラッシュ実行部35は、プロセッサ10か
らの指示に基づき、更新アドレス記憶部32に格納され
ているすべてのアドレスを逐次取り出して(この結果、
読み出されたアドレスは、更新アドレス記憶部32から
消される)(ステップJ2〜J10)、そのアドレスの
ダーティブロックの内容をメインメモリ51に書き戻す
ことを要求するコマンドをシステムバス40に発行する
(ステップJ5)。
The processing flow of the flash execution unit 35 is shown in FIG.
9 The flash execution unit 35 sequentially fetches all addresses stored in the update address storage unit 32 based on an instruction from the processor 10 (as a result,
The read address is erased from the update address storage unit 32 (steps J2 to J10), and a command is issued to the system bus 40 requesting that the contents of the dirty block at that address be written back to the main memory 51 (step J2). Step J5).

【0152】この実施形態では、各領域Aiについて、
RポインタからWポインタの指し示す範囲のエントリに
のみ有効な更新アドレスが格納されるので、ダーティブ
ロックの存在する割合が小さい場合でも、効率的にダー
ティブロックのアドレスを取り出すことができ、キャッ
シュフラッシュが高速化される。
In this embodiment, for each area Ai,
Since the effective update address is stored only in the entry pointed to by the R pointer to the W pointer, the dirty block address can be efficiently extracted even when the percentage of dirty blocks existing is small, and the cache flush can be performed at high speed. Be transformed into

【0153】次に、本実施形態のキャッシュフラッシュ
装置30の制御方法に則して、その動作を説明する。
Next, the operation of the cache flash device 30 according to the present embodiment will be described in accordance with the control method.

【0154】(初期化)プロセッサ10は、キャッシュ
フラッシュ装置30を動作させる前に、キャッシュメモ
リ20の状態とキャッシュフラッシュ装置30の更新ア
ドレス記憶部32の内容が一致するように初期化を行な
う。初期化では、すべてのキャッシュブロックをインバ
リッド状態にする。領域A0〜An−1は、初期化しな
くとも正しく動作するが、各領域に対応するRポインタ
とWポインタを一致するようにすることが、性能上望ま
しい。
(Initialization) The processor 10 performs initialization so that the state of the cache memory 20 and the contents of the update address storage unit 32 of the cache flash device 30 match before operating the cache flash device 30. In the initialization, all cache blocks are invalidated. The areas A0 to An-1 operate correctly without initialization, but it is desirable in terms of performance that the R pointer and the W pointer corresponding to each area match.

【0155】(キャッシュフラッシュ装置30の通常時
の動作)プロセッサ10が初期化を行なった後、キャッ
シュフラッシュ装置30を構成する各部が所定の動作を
行なうことにより、更新アドレス記憶部32には、すべ
てのダーティブロックのアドレスが保持される。ただ
し、あるダーティブロックの内容をメインメモリ51に
書き戻したとき、それに応じて領域A0〜An−1に保
持されているアドレスを削除する訳ではなく、したがっ
て、領域A0〜An−1に含まれているアドレスのダー
ティブロックが存在しない場合もある。それについて説
明する。
(Normal Operation of Cache Flash Device 30) After the processor 10 performs initialization, the components constituting the cache flash device 30 perform predetermined operations, so that the updated address storage unit 32 Of the dirty block is held. However, when the contents of a certain dirty block are written back to the main memory 51, the addresses held in the areas A0 to An-1 are not deleted correspondingly, and accordingly, the addresses included in the areas A0 to An-1 are not deleted. In some cases, there is no dirty block at the address. It will be described.

【0156】更新アドレス登録部33が、キャッシュメ
モリ20上でデータが更新されたことを検知すると、そ
の更新アドレスとデータ更新を行なったプロセッサ10
の識別番号とに基づいて、領域A0〜An−1のいずれ
かを選択し、その領域にアドレスを書き込もうとする。
ここで、その領域に空きエントリが無ければ、すなわ
ち、満杯フラグがONであれば、エントリ解放部36
は、Rポインタの指すエントリに格納されているアドレ
スを有するダーティブロックの内容をメインメモリ51
に書き戻すことを要求するコマンドをシステムバス40
に発行する。この結果、上記アドレスを有するダーティ
ブロックがあれば、その内容がメインメモリ51に書き
戻され、ダーティ状態ではなくなる。また、上記アドレ
スを有するダーティブロックが無い場合には何も起こら
ない。いずれにせよ、この操作により上記アドレスに対
するダーティブロックが無いことが保証できるので、空
いたエントリを更新アドレス登録部33が更新アドレス
の書き込みに使用することができる。
When the update address registration unit 33 detects that data has been updated in the cache memory 20, the update address and the processor 10 that has updated the data are updated.
And any one of the areas A0 to An-1 is selected based on the identification number, and an address is to be written in that area.
Here, if there is no empty entry in the area, that is, if the full flag is ON, the entry release unit 36
Stores the contents of the dirty block having the address stored in the entry pointed to by the R pointer in the main memory 51.
A command requesting that data be written back to the system bus 40.
Issue to As a result, if there is a dirty block having the above address, its contents are written back to the main memory 51, and the block is not in the dirty state. If there is no dirty block having the above address, nothing happens. In any case, since this operation can guarantee that there is no dirty block for the address, the vacant entry can be used by the update address registration unit 33 for writing the update address.

【0157】また、プロセッサ10がデータ処理をする
過程でダーティブロックの内容がメインメモリ51に書
き戻される場合、キャッシュフラッシュ装置30を構成
する各部は、何の動作も行わない。
When the contents of the dirty block are written back to the main memory 51 in the process of the processor 10 performing data processing, the components constituting the cache flash device 30 do not perform any operation.

【0158】(キャッシュフラッシュ装置30によるキ
ャッシュフラッシュ時の動作)プロセッサ10がキャッ
シュフラッシュ装置30にキャッシュフラッシュを命ず
ると、フラッシュ実行部35は、プロセッサ10からの
指示に基づき、更新アドレス記憶部32に格納されてい
るすべてのアドレスを逐次取り出して、そのアドレスを
有するダーティブロックの内容をメインメモリ51に書
き戻すことを要求するコマンドをシステムバス40に発
行する。
(Operation at the time of cache flush by the cache flush unit 30) When the processor 10 commands the cache flush unit 30 to perform a cache flush, the flush execution unit 35 stores it in the update address storage unit 32 based on an instruction from the processor 10. Then, a command is issued to the system bus 40 requesting that the addresses of the dirty blocks having the addresses are sequentially written out and written back to the main memory 51.

【0159】この結果、ダーティブロックが存在せず、
また、更新アドレス記憶部32にも更新アドレスが記憶
されていない初期状態に戻る。
As a result, no dirty block exists,
In addition, the process returns to the initial state in which the update address is not stored in the update address storage unit 32.

【0160】本実施形態は、第1の実施形態と比較し
て、更新アドレス記憶部32を構成する領域の設定方法
およびアドレスと領域との対応づけの自由度が格段に大
きくなっている。すなわち、第1実施形態では、更新ア
ドレス記憶部32の領域はキャッシュメモリ20の構成
に合わせる必要があった。それは、各領域がダーティブ
ロックのアドレスを正確に保持し、かつ領域に保持しき
れなくなった場合に、ダーティブロックの内容をメイン
メモリ51に書き戻すようなアクションをとる手段が無
かったためである。これに対して、本実施形態では、更
新アドレスを領域に保持しきれなくなった場合には、エ
ントリ解放部36がその領域に保持されている更新アド
レスを1つ取り出して、そのアドレスを有するダーティ
ブロックの内容のメインメモリ51への書き戻しを要求
するコマンドをシステムバス40に発行することによ
り、キャッシュメモリ20の状態を更新アドレス記憶部
32の状態に合わせることができる。
In the present embodiment, as compared with the first embodiment, the method of setting the area constituting the update address storage unit 32 and the degree of freedom in associating the address with the area are greatly increased. That is, in the first embodiment, the area of the update address storage unit 32 needs to match the configuration of the cache memory 20. This is because there is no means for accurately retaining the address of the dirty block in each area and for writing back the contents of the dirty block to the main memory 51 when the area cannot be fully retained. On the other hand, in the present embodiment, when the update address can no longer be held in the area, the entry release unit 36 fetches one update address held in the area and returns the dirty block having the address. By issuing to the system bus 40 a command requesting that the contents of the cache memory 20 be written back to the main memory 51, the state of the cache memory 20 can be adjusted to the state of the update address storage unit 32.

【0161】更新アドレス記憶部32を構成する領域の
設定方法およびアドレスと領域との対応づけの具体例を
説明する。
A description will be given of a method of setting an area constituting the update address storage unit 32 and a specific example of the correspondence between an address and an area.

【0162】(具体例1)キャッシュメモリ20がダイ
レクトマップ方式で、プロセッサ数がpという場合を考
える。この場合、例えば、すべてのプロセッサ10のi
番目のキャッシュブロックに対応させて、領域を1個設
けることができる。1つのキャッシュメモリ20のキャ
ッシュブロック数をMとすると、領域の数nは、Mとな
る。
(Specific Example 1) Consider a case where the cache memory 20 is a direct map system and the number of processors is p. In this case, for example, i of all processors 10
One area can be provided corresponding to the third cache block. Assuming that the number of cache blocks in one cache memory 20 is M, the number n of areas is M.

【0163】1つの領域を構成するエントリ数は、第1
の実施形態では少なくともp必要であったが、本実施の
形態ではそれより少なくできる。この場合、1つの領域
に対応するキャッシュブロックの個数はpであるが、通
常、あるキャッシュブロックがダーティである率は20
〜50%程度であるので、エントリ数はp/2程度とし
ても良い。また、プロセッサ10のライトバッファへの
対策は特に必要はない。これについては後述する。
The number of entries constituting one area is the first
In this embodiment, at least p is necessary, but in the present embodiment, it can be reduced. In this case, the number of cache blocks corresponding to one area is p, but the rate at which a certain cache block is dirty is usually 20.
Since it is about 50%, the number of entries may be about p / 2. Further, there is no particular need for a measure for the write buffer of the processor 10. This will be described later.

【0164】(具体例2)最も極端な例ではあるが、領
域の個数を1個としても良い。キャッシュブロックの個
数はp×Mであるので、エントリ数は例えばp×M/4
〜p×M/2程度とする。このとき、キャッシュメモリ
20の構成は、ダイレクトマップ方式でも、セットアソ
シアティブ方式でも、フルアソシアティブ方式でも正し
く動作する。
(Specific Example 2) Although this is the most extreme example, the number of regions may be one. Since the number of cache blocks is p × M, the number of entries is, for example, p × M / 4
Pp × M / 2. At this time, the configuration of the cache memory 20 operates correctly in the direct map system, the set associative system, and the full associative system.

【0165】本実施の形態の場合、空きエントリがある
間は、キャッシュフラッシュ装置30は、システムバス
40に対して何のコマンドも発行しない。しかし、空き
エントリが無くなると、キャッシュメモリ20上でライ
トミスが発生する度に、ダーティブロックの内容のメイ
ンメモリ51への書き戻しを要求するコマンドが1個発
生する。
In the case of the present embodiment, the cache flush device 30 does not issue any command to the system bus 40 while there is a free entry. However, when there are no free entries, one command is issued every time a write miss occurs in the cache memory 20 to request writing back the contents of the dirty block to the main memory 51.

【0166】このように、領域の個数を1個とすると、
プロセッサ識別番号や更新アドレスから対応する領域を
選択するハードウェアが不要になるという長所がある反
面、同じアドレスに対するキャッシュミスが何度か発生
すると、複数のエントリにその更新アドレスが格納され
てしまうという事態が生じやすくなり、それだけ性能が
劣化する。
Thus, assuming that the number of regions is one,
Although there is an advantage that hardware for selecting a corresponding area from a processor identification number and an update address becomes unnecessary, if a cache miss occurs for the same address several times, the update address is stored in a plurality of entries. The situation is more likely to occur and the performance will be degraded accordingly.

【0167】したがって、更新アドレス記憶部32の構
成を決定する際は、ハードウェア設計と性能とのバラン
スに配慮して、ある程度キャッシュメモリ20の構造に
合わせる必要がある。
Therefore, when determining the configuration of the update address storage unit 32, it is necessary to match the structure of the cache memory 20 to some extent in consideration of the balance between hardware design and performance.

【0168】(具体例3)キャッシュメモリ20がNウ
ェイのセットアソシアティブ方式で、キャッシュブロッ
ク数がM、プロセッサ数がpという場合について説明す
る。1つのキャッシュブロックの大きさがBバイトであ
るとする。この場合、N個のキャッシュブロックがグル
ープを形成し、アドレスa番地のデータは、((a/
B)mod(M/N))番目のグループのキャッシュブ
ロックに格納される。
(Specific Example 3) A case where the cache memory 20 is an N-way set associative system, the number of cache blocks is M, and the number of processors is p will be described. It is assumed that the size of one cache block is B bytes. In this case, the N cache blocks form a group, and the data at the address a is ((a /
B) Mod (M / N)) is stored in the cache block of the (th) group.

【0169】このとき、領域をp×M個とし、各領域の
エントリ数を1とする。そして、プロセッサ識別番号が
kのプロセッサによるa番地のデータの更新を、(M×
k+(a/BmodM))番目の領域に対応させる。
At this time, the number of areas is p × M, and the number of entries in each area is 1. Then, the update of the data at address a by the processor with the processor identification number k is (M ×
It corresponds to the (k + (a / BmodM)) th area.

【0170】この方法では、キャッシュメモリ20上で
は、Nウェイのセットアソシアティブで管理されている
が、キャッシュフラッシュ装置30上では、ダイレクト
マップのキャッシュメモリとして管理する。この結果、
例えば、識別番号0のプロセッサ10が、キャッシュメ
モリ20上で0番地のデータをダーティ状態で保持して
いる場合に、B×M番地のデータを更新しようとする
と、キャッシュフラッシュ装置30が0番地のデータの
メインメモリ51への書き戻しを要求するコマンドを発
行する。
In this method, the cache memory 20 is managed as an N-way set associative, but the cache flash device 30 is managed as a direct map cache memory. As a result,
For example, when the processor 10 having the identification number 0 holds the data at the address 0 in the cache memory 20 in a dirty state and tries to update the data at the address B × M, the cache flash device 30 A command for requesting data to be written back to the main memory 51 is issued.

【0171】本来、セットアソシアティブ方式のキャッ
シュメモリ20をダーティ状態の場合だけとはいえ、ダ
イレクトマップ方式で管理するのは、キャッシュヒット
率の劣化になるが、キャッシュフラッシュ装置30の設
計に関しては、ダイレクトマップ方式のように管理する
ことにより、1つのエントリに含まれる更新アドレスを
参照するだけでよく、ハードウェアの簡単化と処理の高
速化が実現できる。
Although the cache memory 20 of the set associative method is originally managed only in the dirty state and managed by the direct map method, the cache hit rate is deteriorated. By performing management in a map manner, it is only necessary to refer to the update address included in one entry, and hardware simplification and processing speedup can be realized.

【0172】本実施の形態では、上記具体例1および具
体例2で示すように、1つの領域をすべてのプロセッサ
10のあるキャッシュブロックに対応づけることも可能
である。これにより、更新アドレス登録部33などは、
領域A0〜An−1を求める際、プロセッサ10の識別
番号は必要としないので、システムバス40の仕様がコ
マンド中にプロセッサ識別番号を含まないようになって
いる場合でも適用できる。
In this embodiment, as shown in the specific examples 1 and 2, it is also possible to associate one area with a certain cache block of all the processors 10. Thereby, the update address registration unit 33 and the like
When determining the areas A0 to An-1, the identification number of the processor 10 is not required, so that the present invention can be applied even when the specification of the system bus 40 does not include the processor identification number in the command.

【0173】次に、図20を参照して、プロセッサ10
が、0番地、B×M番地、2B×M番地にそれぞれデー
タD0,D1,D2を連続して書き込む場合の動作を説
明する。ただし、Bはキャッシュブロックの大きさ、M
はプロセッサのキャッシュブロック数である。また、領
域A0のエントリ数は2とする。
Next, referring to FIG.
Will be described in the case where data D0, D1 and D2 are continuously written at address 0, address B × M, and address 2B × M, respectively. Where B is the size of the cache block, M
Is the number of cache blocks of the processor. The number of entries in the area A0 is two.

【0174】(1)プロセッサ10が、0番地にデータ
D0を書こうとしたが、キャッシュブロック0に0番地
のデータが格納されていなかったので、システムバス4
0にメインメモリ51もしくは他のプロセッサ10のキ
ャッシュメモリ20に0番地から(B−1)番地のデー
タを要求するとともに、データを更新することを他のプ
ロセッサ10に伝えるコマンドをシステムバス40に発
する。
(1) The processor 10 attempts to write the data D0 at address 0, but since the data at address 0 is not stored in the cache block 0, the system bus 4
0 requests the main memory 51 or the cache memory 20 of another processor 10 for data from addresses 0 to (B-1), and issues a command to the other processor 10 to update the data to the system bus 40. .

【0175】(2)その結果、キャッシュブロック0
に、0番地から(B−1)番地までのデータがダーティ
状態で格納され、そのうち、0番地のデータがD0に更
新される。また、領域A0には、0番地が更新されたこ
とに対応して0が格納される。 (3)プロセッサ10が、B×M番地にデータD1を書
こうとしたが、キャッシュブロック0にB×M番地のデ
ータが格納されていなかったので、現在ダーティ状態で
保持されている0番地のデータをメインメモリ51に書
き戻すためのメインメモリ51へのライトアクセス要求
が、ライトバッファに格納される。また、システムバス
40に、メインメモリ51もしくは他のプロセッサ10
のキャッシュメモリ20に、B×M番地から(B×M+
B−1)番地のデータを要求するとともに、データを更
新することを他のプロセッサ10に伝えるコマンドをシ
ステムバス40に発する。
(2) As a result, cache block 0
The data from address 0 to address (B-1) is stored in a dirty state, and the data at address 0 is updated to D0. In the area A0, 0 is stored in correspondence with the update of the address 0. (3) The processor 10 attempts to write the data D1 at the address B × M, but the data at the address B × M is not stored in the cache block 0. A write access request to the main memory 51 for writing data back to the main memory 51 is stored in the write buffer. Also, the main memory 51 or another processor 10 is connected to the system bus 40.
From the B × M address to the (B × M +
B-1) Requests data at the address, and issues a command to the other processor 10 to update the data to the system bus 40.

【0176】(4)その結果、キャッシュブロック0
に、B×M番地から(B×M+B−1)番地までのデー
タがダーティ状態で格納され、そのうち、B×M番地の
データがD1に更新される。また、領域A0には、B×
M番地が更新されたことに対応して、0とB×Mが格納
される。
(4) As a result, cache block 0
The data from the address B × M to the address (B × M + B−1) is stored in a dirty state, and the data at the address B × M is updated to D1. In the area A0, B ×
0 and B × M are stored in correspondence with the update of the address M.

【0177】(5)プロセッサ10が2B×M番地にデ
ータD2を書こうとしたが、キャッシュブロック0に2
B×M番地のデータが格納されていなかったので、現在
ダーティ状態で保持されているB×M番地のデータをメ
インメモリ51に書き戻すためのメインメモリ51への
ライトアクセス要求が、ライトバッファに格納される。
この結果、ライトバッファには、メインメモリ51への
書き戻しのコマンドが2個格納されることになる。ま
た、システムバス40にメインメモリ51もしくは他の
プロセッサ10のキャッシュメモリ20に、2B×M番
地から(2B×M+B−1)番地のデータを要求すると
ともに、データを更新することを他のプロセッサ10に
伝えるコマンドをシステムバス40に発する。
(5) The processor 10 attempts to write the data D2 at the address 2B × M,
Since the data at the address B × M was not stored, a write access request to the main memory 51 for writing back the data at the address B × M currently held in the dirty state to the main memory 51 is sent to the write buffer. Is stored.
As a result, two commands for writing back to the main memory 51 are stored in the write buffer. Further, while requesting data from the address 2B × M to (2B × M + B−1) from the main memory 51 to the system bus 40 or the cache memory 20 of another processor 10, the other processor 10 requests updating of the data. Is issued to the system bus 40.

【0178】(6)その結果、キャッシュブロック0
に、2B×M番地から(2B×M+B−1)番地までの
データがダーティ状態で格納され、そのうち、2B×M
番地のデータがD2に更新される。また、領域A0に
は、2B×M番地が更新されたことに対応して2B×M
を格納しようとして、空きエントリが無い(満杯フラグ
=ON)であるため、一番最初に格納されたアドレス0
番地を有するダーティブロックの内容のメインメモリ5
1への書き戻しを要求するコマンドがシステムバス40
に発行される。
(6) As a result, cache block 0
The data from address 2B × M to address (2B × M + B−1) is stored in a dirty state, of which 2B × M
The address data is updated to D2. In addition, in the area A0, the 2B × M address is updated in response to the update of the 2B × M address.
There is no empty entry (full flag = ON), so the first stored address 0
Main memory 5 of contents of dirty block having address
1 is a command requesting a write-back to system bus 40.
Issued to

【0179】(7)キャッシュフラッシュ装置30から
システムバス40に発行された上記コマンドに呼応し
て、プロセッサ10のライトバッファに格納されていた
0番地〜(B−1)番地のデータのメインメモリ51へ
の書き戻しが行なわれる。
(7) In response to the command issued from the cache flash device 30 to the system bus 40, the main memory 51 of the data at addresses 0 to (B-1) stored in the write buffer of the processor 10 Is written back.

【0180】(8)ライトバッファに格納されていた、
B×M番地から(B×M+B−1)番地までのデータの
メインメモリ51への書き戻しのコマンドが、システム
バス40に発せられる。
(8) Stored in the write buffer
A command for writing back data from the address B × M to the address (B × M + B−1) to the main memory 51 is issued to the system bus 40.

【0181】(9)キャッシュフラッシュ装置30は、
(8)のコマンドについて何ら処理をしないので、領域
A0のエントリには、2B×MとともにB×Mも保持さ
れ続ける。
(9) The cache flush device 30
Since no processing is performed on the command of (8), B × M as well as 2B × M are kept in the entry of the area A0.

【0182】(第3の実施形態)次に、本発明の第3の
実施形態を説明する。図21には、本発明の第3の実施
形態の計算機システムのシステム構成を示す。キャッシ
ュフラッシュ装置30が適用される計算機の構成は第1
および第2の実施形態と同じである。
(Third Embodiment) Next, a third embodiment of the present invention will be described. FIG. 21 shows a system configuration of a computer system according to the third embodiment of this invention. The configuration of the computer to which the cache flush device 30 is applied is the first
This is the same as in the second embodiment.

【0183】キャッシュフラッシュ装置30は、バスイ
ンタフェース31、更新アドレス記憶部32(領域A0
〜An−1)、更新アドレス登録部33、更新アドレス
削除部34、フラッシュ実行部35およびエントリ解放
部36で構成される。
The cache flash device 30 includes a bus interface 31, an update address storage unit 32 (area A0).
To An-1), an update address registration unit 33, an update address deletion unit 34, a flash execution unit 35, and an entry release unit 36.

【0184】更新アドレス記憶部32、更新アドレス登
録部33、フラッシュ実行部35およびエントリ解放部
36は、第2の実施形態と同じである。
The update address storage unit 32, update address registration unit 33, flash execution unit 35, and entry release unit 36 are the same as those in the second embodiment.

【0185】更新アドレス記憶部32は、第1の実施形
態と類似するが、第1の実施形態では、書き戻しアドレ
スに対応する領域の中から常にそのアドレスを保持する
エントリを探し、空きエントリにしていたのとは異な
り、本実施形態では、この処理をある一定時間だけ試み
て、もし、その間にそのアドレスを保持するエントリが
見つかれば、それを空きエントリとするが、もし、見つ
からない場合には締めてしまう(アドレスを削除しな
い)。この結果、更新アドレス記憶部32には、すでに
ダーティブロックでなくなったアドレスも保持される可
能性があるので、第2の実施形態のように、エントリ解
放部36が能動的に空きエントリを作成する。
The update address storage unit 32 is similar to the first embodiment. In the first embodiment, an entry that always holds the write-back address is searched for in an area corresponding to the write-back address, and the updated entry is set as an empty entry. Unlike this, in the present embodiment, this process is tried for a certain period of time, and if an entry holding the address is found during that time, it is set as an empty entry. Is closed (do not delete the address). As a result, there is a possibility that an address that is no longer a dirty block may be held in the update address storage unit 32. Therefore, as in the second embodiment, the entry release unit 36 actively creates an empty entry. .

【0186】更新アドレス削除部34が書き戻しアドレ
スと同じアドレスが格納されているエントリを一定時間
だけ探す最も典型的な例を、図22に示すフローチャー
トにしたがって説明する。図22に示すように、更新ア
ドレス削除部34は、Rポインタが指すエントリの内容
と書き戻しアドレスとを比較して(ステップK3)、も
し一致すれば、Rポインタを進めることにより(ステッ
プK5〜K6)、更新アドレスを削除する。この結果、
エントリ解放部36が、適宜にフラッシュコマンド発行
手段を通してダーティブロックをなくす操作を減らすこ
とができる分、性能を向上させることができる。
The most typical example in which the update address deletion unit searches for an entry storing the same address as the write-back address for a fixed time will be described with reference to the flowchart shown in FIG. As shown in FIG. 22, the update address deletion unit 34 compares the contents of the entry pointed to by the R pointer with the write-back address (step K3), and if they match, advances the R pointer (steps K5 to K5). K6), delete the update address. As a result,
Since the entry release unit 36 can appropriately reduce the operation of eliminating the dirty block through the flash command issuing unit, the performance can be improved.

【0187】また、更新アドレス削除部34が、書き戻
しアドレスと同じアドレスが格納されているエントリを
探す処理を一定時間だけ実行する代わりに、キャッシュ
メモリ20上でのデータ更新を示すコマンドが次に検知
されるまで、あるいはダーティブロックの内容をメイン
メモリ51へ書き戻すためのコマンドが次に検知される
までこの探す処理を実行することも可能である。その方
が、更新アドレス削除部34が実際に更新アドレス記憶
部32から更新アドレスを削除する頻度が高くなるの
で、性能上はより好ましい。
Also, instead of the update address deletion unit 34 executing processing for searching for an entry storing the same address as the write-back address for a fixed time, a command indicating data update on the cache memory 20 is sent next. It is also possible to execute this search processing until a command for rewriting the contents of the dirty block back to the main memory 51 is detected until the command is detected. This is more preferable in terms of performance because the frequency of the update address deletion unit 34 actually deleting the update address from the update address storage unit 32 increases.

【0188】さらに、本実施の形態における更新アドレ
ス削除部34は、ダーティブロックの内容をメインメモ
リ51に書き戻すためのコマンドを検知することを契機
として、更新アドレス記憶部32に同一のアドレスが見
つかれば、それを削除するとした。しかし、例えば、プ
ロセッサ10がキャッシュメモリ20からデータを読も
うとしてキャッシュミスが発生したときに、キャッシュ
メモリ20からシステムバス40に発行されるコマンド
を検出したことを契機として、更新アドレス記憶部32
に同一のアドレスが見つかればそれを削除することもで
きる。一般に、システムバス40に発行されるコマンド
であって、その結果、対象となるアドレスのキャッシュ
メモリ20がダーティでない状態(クリーンな状態)に
なるようなコマンドの検知を契機とすることができる。
これにより、更新アドレス削除部34が動作する頻度が
増え、エントリ解放部36を必要とする回数が減り、性
能向上が期待できる。
Further, the update address deletion unit 34 in the present embodiment detects the same address in the update address storage unit 32 upon detecting a command for writing back the contents of the dirty block to the main memory 51. If you decide to delete it. However, for example, when the processor 10 attempts to read data from the cache memory 20 and a cache miss occurs, the detection of a command issued from the cache memory 20 to the system bus 40 triggers the update address storage unit 32
If you find the same address, you can delete it. In general, the detection of a command issued to the system bus 40 and causing the cache memory 20 at the target address to be in a non-dirty state (clean state) can be triggered.
As a result, the frequency at which the update address deletion unit 34 operates increases, the number of times the entry release unit 36 is required decreases, and an improvement in performance can be expected.

【0189】(第4の実施の形態)次に、本発明の第4
の実施形態を説明する。図23には、本発明の第4の実
施形態の計算機システムのシステム構成を示す。キャッ
シュフラッシュ装置30が適用される計算機の構成は第
1および第2の実施形態と同じである。
(Fourth Embodiment) Next, the fourth embodiment of the present invention will be described.
An embodiment will be described. FIG. 23 shows a system configuration of a computer system according to the fourth embodiment of this invention. The configuration of the computer to which the cache flush device 30 is applied is the same as in the first and second embodiments.

【0190】キャッシュフラッシュ装置30は、バスイ
ンタフェース31、更新アドレス記憶部32(領域A0
〜An−1)、更新アドレス登録部33、更新アドレス
削除部34、フラッシュ実行部35およびエントリ解放
部36で構成される。
The cache flash device 30 includes a bus interface 31, an update address storage unit 32 (area A0).
To An-1), an update address registration unit 33, an update address deletion unit 34, a flash execution unit 35, and an entry release unit 36.

【0191】更新アドレス記憶部32は、第2の実施形
態で説明したものに加えて、図24に示すように各領域
に対応してこの領域に対応するダーティブロックの個数
を保持するダーティブロックカウンタを設ける。
The update address storage unit 32 includes, in addition to those described in the second embodiment, a dirty block counter which holds the number of dirty blocks corresponding to each area as shown in FIG. Is provided.

【0192】更新アドレス登録部33は、第2の実施形
態で説明したものに加えて、その領域に対するダーティ
ブロックカウンタを+1する機能を追加したものであ
る。
The update address registration section 33 has a function of adding +1 to the dirty block counter for the area in addition to the one described in the second embodiment.

【0193】エントリ解放部36は、第2の実施形態で
説明したものと同一である。
The entry release unit 36 is the same as that described in the second embodiment.

【0194】図25には、キャッシュメモリ20上でデ
ータ更新が発生したことを示すコマンドを更新アドレス
登録部33が検知したときの更新アドレス登録部33お
よびエントリ解放部36の処理フローを示す。ステップ
L1でデータ更新を示すコマンドを検出すると、ステッ
プL2でプロセッサ識別番号と更新アドレスから対応す
る領域Aiを求める。ステップL3でダーティブロック
カウンタを+1する。ステップL4で領域Aiの満杯フ
ラグがオンか否か判定する。ノーの場合は、 ステップL
9に飛び、イエスの場合は、ステップL5でエントリ開
放部36が領域AiのRポインタの示すエントリ中のア
ドレスを用いてダーティブロックのメインメモリへの書
き戻しを要求するコマンドを発行する。ステップL6で
Rポインタが最後のエントリを指しているか否かを判定
する。ノーの場合はステップL7でRポインタを1だけ
インクリメントし、イエスの場合はステップL8でRポ
インタが最初のエントリを指すようにしてから、ステッ
プL9を実行する。ステップL9では、Wポインタの示
す位置に更新アドレスを登録する。
FIG. 25 shows a processing flow of the update address registration unit 33 and the entry release unit 36 when the update address registration unit 33 detects a command indicating that data update has occurred in the cache memory 20. When a command indicating data update is detected in step L1, a corresponding area Ai is obtained from the processor identification number and the update address in step L2. At step L3, the dirty block counter is incremented by one. In step L4, it is determined whether or not the full flag of the area Ai is on. If no, step L
If the answer is yes, the entry release unit 36 issues a command requesting the dirty block to be written back to the main memory using the address in the entry indicated by the R pointer of the area Ai in step L5. At step L6, it is determined whether or not the R pointer points to the last entry. If no, the R pointer is incremented by 1 in step L7, and if yes, the R pointer is set to point to the first entry in step L8, and then step L9 is executed. In step L9, the update address is registered at the position indicated by the W pointer.

【0195】ステップL10でWポインタが最後のエン
トリを指しているか否かを判定する。ノーの場合はステ
ップL11でWポインタを1だけインクリメントし、イ
エスの場合はステップL12でWポインタが最初のエン
トリを指すようにしてから、ステップL13を実行す
る。ステップL13では、WポインタとRポインタが示
す位置が等しいか否か判定する。等しい場合にはステッ
プL14で満杯フラグをオンにしてから終了し、等しく
ない場合には直ちに終了する。
At step L10, it is determined whether the W pointer points to the last entry. If no, the W pointer is incremented by 1 in step L11, and if yes, the W pointer is pointed to the first entry in step L12, and then step L13 is executed. In Step L13, it is determined whether or not the positions indicated by the W pointer and the R pointer are equal. If they are equal, the full flag is turned on in step L14, and the process ends. If they are not equal, the process ends immediately.

【0196】図26は、更新アドレス削除部34の処理
フローを示す。更新アドレス削除部34は、ダーティブ
ロックの内容をメインメモリ51に書き戻すためのコマ
ンドを検知すると(ステップM1)、書き戻しの発生し
たアドレス(書き戻しアドレス)、および書き戻しを行
なったプロセッサ10の識別番号に基づいて、上記更新
アドレス記憶部32を構成するn個の領域(A0〜An
−1)のいずれかの領域を選択し(ステップM2)、そ
のダーティブロックカウンタを−1する(ステップM
3)。そして、その結果、もしダーティブロックカウン
タの値がゼロになれば、Rポインタの値をWポインタの
値と一致させ、かつ、満杯フラグをOFFとすることに
より(ステップM5)、その領域が保持していたすべて
の更新アドレスを削除する。
FIG. 26 shows a processing flow of the update address deletion unit 34. Upon detecting a command for writing back the contents of the dirty block to the main memory 51 (step M1), the update address deletion unit 34 determines the address at which the write-back occurred (write-back address) and the processor 10 that has performed the write-back. Based on the identification number, n areas (A0 to An) constituting the update address storage unit 32
-1) is selected (step M2), and its dirty block counter is decremented by one (step M2).
3). As a result, if the value of the dirty block counter becomes zero, the value of the R pointer is made to coincide with the value of the W pointer, and the full flag is turned off (step M5), so that the area is held. Delete all the renewal addresses.

【0197】図27は、フラッシュ実行部35の処理フ
ローを示す。フラッシュ実行部35は、プロセッサ10
から指示に基づき、各領域のダーティブロックカウンタ
の値が0でない領域について、その各エントリに格納さ
れているアドレスを有するダーティブロックの内容のメ
インメモリ51への書き戻しを要求するコマンドをシス
テムバス40に発行する(ステップN3)。そして、ダ
ーティブロックカウンタが0になったところで(ステッ
プN2)、その領域に対する処理を終了する。本実施の
形態では、第2の実施形態の構成に加えて、更新アドレ
ス記憶部32を構成する各領域に対応させて、ダーティ
ブロックカウンタを設け、更新アドレス登録部33およ
び更新アドレス削除部34が、上記カウンタをダーティ
ブロックの増減に合わせてメンテナンスしている。そし
て、ある領域に対応するダーティブロックがすべて無く
なった場合に、更新アドレス削除部34が、その領域の
すべてのエントリを空きにしている。
FIG. 27 shows a processing flow of the flash execution unit 35. The flash execution unit 35 includes the processor 10
, A command requesting that the contents of the dirty block having the address stored in each entry be written back to the main memory 51 for an area in which the value of the dirty block counter of each area is not 0 based on the instruction from the system bus 40. (Step N3). Then, when the dirty block counter becomes 0 (step N2), the processing for that area is terminated. In the present embodiment, in addition to the configuration of the second embodiment, a dirty block counter is provided corresponding to each area constituting the update address storage unit 32, and the update address registration unit 33 and the update address deletion unit 34 The above counter is maintained according to the increase or decrease of the dirty block. Then, when all the dirty blocks corresponding to a certain area are gone, the update address deletion unit 34 makes all entries in the area free.

【0198】この結果、第2の実施形態と比較して、エ
ントリ解放部36を起動する頻度を減少させ、本キャッ
シュフラッシュ装置30を備えた計算機の性能を向上さ
せることができる。
As a result, as compared with the second embodiment, the frequency of activating the entry release unit 36 can be reduced, and the performance of the computer provided with the cache flush device 30 can be improved.

【0199】なお、本実施の形態では、第2の実施形態
への手段の追加として説明したが、第3の実施形態に対
しても同じ手段の追加できる。
Although the present embodiment has been described as adding means to the second embodiment, the same means can be added to the third embodiment.

【0200】また、本実施の形態では、更新アドレス削
除部34がダーティブロックカウンタをデクリメントし
た結果、0となったときに、対応する領域Aiのすべて
のエントリを空きにしているが、下記に示すようなダー
ティブロックカウンタの第2の利用法が考えられる。
In this embodiment, when the update address deletion unit 34 decrements the dirty block counter to 0, all the entries in the corresponding area Ai are vacant. A second use of such a dirty block counter is conceivable.

【0201】いま、領域Aiのダーティブロックカウン
タをデクリメントした結果、1になったとする。このと
き、領域Aiに格納されている更新アドレスの個数(こ
れは、RポインタとWポインタの差から求めることがで
きる)が大きい場合、領域Aiに保持されているほとん
どの更新アドレスに対して、ダーティブロックは実在し
ないことを意味する。
Now, suppose that the dirty block counter of the area Ai is decremented to 1 as a result. At this time, if the number of update addresses stored in the area Ai (which can be obtained from the difference between the R pointer and the W pointer) is large, for most update addresses held in the area Ai, Dirty blocks mean that they do not exist.

【0202】そこで、領域Aiのすべてのエントリに対
してエントリ解放部36を適用すれば、フラッシュ実行
部35がダーティブロックの実在しないアドレスに対し
て、メインメモリ51への書き戻しを要求するコマンド
の発行回数を減らすことができ、性能向上が期待でき
る。
Therefore, if the entry release unit 36 is applied to all entries in the area Ai, the flash execution unit 35 issues a command for writing back to the main memory 51 to an address where a dirty block does not exist. The number of issues can be reduced, and performance can be improved.

【0203】以上、第1の実施形態から第4の実施形態
は、キャッシュフラッシュ装置について説明した。次
に、上述した4つの実施形態のいずれかを用いた耐障害
性計算機の実施形態を説明する。
As described above, the cache flush devices have been described in the first to fourth embodiments. Next, an embodiment of a fault tolerance computer using any one of the above-described four embodiments will be described.

【0204】(第5の実施形態)図28は、本発明の第
5の実施形態を示す。第1乃至第4の実施形態のいずれ
かのキャッシュフラッシュ装置30がシステムバス40
に接続される。各プロセッサ10は、キャッシュ一貫性
を備えたコピーバック型のキャッシュメモリ20を有す
る。
(Fifth Embodiment) FIG. 28 shows a fifth embodiment of the present invention. The cache flash device 30 according to any one of the first to fourth embodiments is
Connected to. Each processor 10 has a copy-back type cache memory 20 having cache coherency.

【0205】本実施形態の計算機は、常時、下記の3つ
のステップのいずれかを実行することにより、耐障害性
に優れたデータ処理機能を提供する。
The computer of this embodiment always provides one of the following three steps to provide a data processing function with excellent fault tolerance.

【0206】(1)データ処理ステップ キャッシュフラッシュ装置30に更新アドレスの捕捉を
させながら通常のデータ処理を実行する。
(1) Data Processing Step Normal data processing is executed while causing the cache flash device 30 to capture the update address.

【0207】(2)チェックポイント作成ステップ このステップは、データ処理ステップを一時中断する形
で定期的に実行されるステップである。プロセッサ10
が複数ある場合には、すべてのプロセッサ10が同期し
て実行する。このステップで行なう処理は、下記の2つ
である。
(2) Checkpoint Creation Step This step is a step that is periodically executed while temporarily suspending the data processing step. Processor 10
If there are multiple, all the processors 10 execute in synchronization. The processing performed in this step is the following two.

【0208】(2a)データ処理中のプロセッサ10の
コンテキスト(プロセッサ10のプログラムカウンタや
汎用レジスタなどの内容)をメインメモリ51へ格納す
る。
(2a) The context of the processor 10 during data processing (contents of the program counter and general-purpose registers of the processor 10) is stored in the main memory 51.

【0209】(2b)上記キャッシュフラッシュ装置3
0のフラッシュ実行部35を起動することにより、すべ
てのダーティブロックの内容をメインメモリ51へ書き
戻す。
(2b) The above cache flush device 3
By activating the flash execution unit 35 of 0, the contents of all dirty blocks are written back to the main memory 51.

【0210】(3)ロールバック&リカバリステップ このステップは、データ処理ステップあるいはチェック
ポイント作成ステップの実行中に計算機に何らかの故障
が発生した時に実行されるステップである。このステッ
プで行なう処理は、下記の2つである。
(3) Rollback & Recovery Step This step is executed when any failure occurs in the computer during execution of the data processing step or the checkpoint creation step. The processing performed in this step is the following two.

【0211】(3a)直前に作成したチェックポイント
の状態にメインメモリ51を復元する。
(3a) The main memory 51 is restored to the state of the check point created immediately before.

【0212】(3b)復元されたメインメモリ51に格
納されている情報を使用して、データ処理を再開する
(再開されると、データ処理ステップに移る)。
(3b) Data processing is resumed by using the information stored in the restored main memory 51 (when the processing is resumed, the process proceeds to the data processing step).

【0213】図29は、本実施形態の計算機で、時間の
経過とともに、3つのステップが移り変わる様子を表わ
している。
FIG. 29 shows how the three steps change over time in the computer of this embodiment.

【0214】データ処理ステップを開始して一定時間が
経過すると、各プロセッサ10はチェックポイント作成
ステップを開始する。このチェックポイント作成ステッ
プで行なう第1の処理は、直前のデータ処理ステップ
で、どこまで処理を行なったか、すなわち、直前のデー
タ処理ステップからチェックポイント作成ステップに切
り替わる時のプロセッサのコンテキスト(プログラムカ
ウンタ、状態レジスタ、および汎用レジスタなどの内
容)をメインメモリ51に書き出すことである。ただ
し、実際には、キャッシュメモリ20上にのみ格納され
るだけかもしれない。チェックポイント作成ステップで
行なう第2の処理は、ダーティブロックの内容をメイン
メモリ51に書き戻すことである。この第2の処理は、
キャッシュメモリ20中のデータが壊れてしまうような
故障が発生した場合にでも、ロールバック&リカバリス
テップによって、故障発生前の状態からデータ処理を再
開させるために必要である。
When a predetermined time has elapsed after the start of the data processing step, each processor 10 starts a checkpoint creation step. The first processing performed in the checkpoint creation step is the extent to which the processing has been performed in the immediately preceding data processing step, that is, the context (program counter, state, etc.) of the processor when switching from the immediately preceding data processing step to the checkpoint creation step. Register and general-purpose registers) in the main memory 51. However, in actuality, it may only be stored in the cache memory 20 only. The second process performed in the checkpoint creation step is to write back the contents of the dirty block to the main memory 51. This second processing is
Even when a failure occurs such that the data in the cache memory 20 is destroyed, it is necessary to restart the data processing from the state before the failure by the rollback & recovery step.

【0215】チェックポイント作成ステップが終了する
と、データ処理ステップを再開する。このとき、チェッ
クポイント作成ステップでメインメモリ51に書き出し
たプロセッサ10のコンテキストが使用される。
When the check point creation step is completed, the data processing step is restarted. At this time, the context of the processor 10 written in the main memory 51 in the checkpoint creation step is used.

【0216】図29では、3番目のデータ処理ステップ
の途中で何らかの故障が発生し、ロールバック&リカバ
リステップが開始した旨を示す。ロールバック&リカバ
リステップで行なう第1の処理は、メインメモリ51の
状態を直前のチェックポイント作成ステップを実行した
状態、別の言い方をすれば、3番目のデータ処理ステッ
プを開始する直前の状態に復元することである。
FIG. 29 shows that a failure has occurred during the third data processing step, and the rollback & recovery step has started. The first process performed in the rollback & recovery step is to change the state of the main memory 51 to a state in which the immediately preceding checkpoint creation step has been executed, in other words, to a state immediately before the start of the third data processing step. It is to restore.

【0217】一般に、データ処理ステップでは、ダーテ
ィブロックの内容のメインメモリ51への書き戻しが随
時発生するので、メインメモリ51の状態は、データ処
理ステップ開始時の状態から少しずつ変化する。そこ
で、ロールバック&リカバリステップの第1の処理とし
て、メインメモリ51の状態を直前のチェックポイント
の状態に復元する。この復元の方法は、例えば、ダーテ
ィブロックの内容のメインメモリ51への書き戻しが発
生するごとに、メインメモリ51の書き戻し前の内容を
ログメモリに蓄積しておき、それを用いてメインメモリ
51の状態を復元しても良い。
Generally, in the data processing step, the contents of the dirty blocks are written back to the main memory 51 at any time, so that the state of the main memory 51 slightly changes from the state at the start of the data processing step. Therefore, as a first process of the rollback & recovery step, the state of the main memory 51 is restored to the state at the immediately preceding checkpoint. This restoration method is, for example, each time the contents of the dirty block are written back to the main memory 51, the contents before the writing back of the main memory 51 are stored in the log memory, and the main memory 51 is stored in the log memory. The state of 51 may be restored.

【0218】例えば、a番地にD1というデータの書き
戻しが発生するとき、メインメモリコントローラ50
が、その書き戻しのためのコマンドを保留して、メイン
メモリ51のa番地の内容(D0)を読み出した後、メ
インメモリ51のa番地にD1を書き込む。そしてa番
地とD0の組を蓄積しておく。そして、ロールバック&
リカバリステップの第1の処理として、a番地のメイン
メモリ51にD0を書き込むことで、直前のチェックポ
イント時のメインメモリ51の状態が復元できる。
For example, when a write back of data D1 occurs at address a, the main memory controller 50
Suspends the command for writing back, reads out the contents (D0) of the address a of the main memory 51, and then writes D1 at the address a of the main memory 51. Then, a set of the address a and D0 is stored. And rollback &
As a first process of the recovery step, by writing D0 to the main memory 51 at the address a, the state of the main memory 51 at the time of the immediately preceding check point can be restored.

【0219】また、別の方法としては、メインメモリ5
1をメモリAとメモリBとに二重化しておき、データ処
理ステップでのダーティブロックの内容のメインメモリ
51への書き戻しでは、メモリAにのみ書き戻しを行な
い、チェックポイント作成ステップで、メモリAの変化
分をメモリBにも適用することによっても実現すること
ができる。
Another method is as follows.
1 is duplicated in the memory A and the memory B, and when the contents of the dirty block are written back to the main memory 51 in the data processing step, only the memory A is written back. Can also be realized by applying the change amount to the memory B.

【0220】ロールバック&リカバリステップの第2の
処理は、復元したメインメモリの状態からデータ処理ス
テップを再開することである。この処理は、チェックポ
イント作成ステップからデータ処理ステップへの移行と
同一である。上図の場合、3番目のデータ処理ステップ
と同じ状態から4番目のデータ処理ステップが開始され
る。
The second processing in the rollback & recovery step is to restart the data processing step from the restored state of the main memory. This process is the same as the transition from the checkpoint creation step to the data processing step. In the case of the above figure, the fourth data processing step is started from the same state as the third data processing step.

【0221】なお、ロールバック&リカバリステップで
は、この他に故障した原因を調べて、故障した装置を切
り離したり、深刻な障害の場合には、データ処理ステッ
プの再開を締めて、計算機を停止させるなどの処理が必
要である。ただし、この部分は本発明の本旨ではないの
で説明は省略する。
In the rollback & recovery step, the cause of the other failure is examined, and the failed device is disconnected. In the case of a serious failure, the restart of the data processing step is closed and the computer is stopped. Such processing is required. However, since this part is not the gist of the present invention, the description is omitted.

【0222】このような計算機では、定期的にチェック
ポイント作成ステップを実行する分、データ処理性能が
劣化するので、チェックポイント作成ステップの所要時
間の短縮が重要である。チェックポイント作成ステップ
の処理の大半は、ダーティブロックの内容をメインメモ
リ51に書き戻すことであるので、本発明のキャッシュ
フラッシュ装置30を使用することにより、書き戻し時
間が短縮でき、チェックポイント作成ステップの所要時
間の大幅な短縮が期待できる。
In such a computer, the data processing performance is degraded by the periodic execution of the checkpoint creation step. Therefore, it is important to reduce the time required for the checkpoint creation step. Since most of the processing in the checkpoint creation step is to write back the contents of the dirty block to the main memory 51, the write-back time can be reduced by using the cache flash device 30 of the present invention. It can be expected that the time required for the operation will be greatly reduced.

【0223】なお、データ処理ステップの後半に、キャ
ッシュフラッシュ装置30のフラッシュ実行部35を起
動すると、チェックポイント作成ステップの所要時間を
さらに短縮できる。それは、キャッシュフラッシュ装置
30のフラッシュ実行部35を起動することにより、チ
ェックポイント作成ステップの開始時点で、ダーティブ
ロックの個数が、上記処理をしなかった場合と比較して
かなり減るためである。上記処理をしなかった場合、ダ
ーティブロックの割合が、例えば30%であるものが、
15%程度になる。第1乃至第4の実施形態のキャッシ
ュフラッシュ装置30のフラッシュ実行部35は、ダー
ティブロックの割合が小さいときにも効率的に更新アド
レス記憶部32に格納されている更新アドレスを取り出
せるので、ダーティブロックの割合が15%であれば、
チェックポイント作成ステップの所要時間は、ほぼ半分
になる。
If the flush execution unit 35 of the cache flush unit 30 is activated in the latter half of the data processing step, the time required for the checkpoint creation step can be further reduced. This is because, by activating the flush execution unit 35 of the cache flush unit 30, the number of dirty blocks at the start of the checkpoint creation step is considerably reduced as compared with the case where the above processing is not performed. If the above processing is not performed, the percentage of dirty blocks is, for example, 30%,
It is about 15%. The flush execution unit 35 of the cache flush device 30 according to the first to fourth embodiments can efficiently retrieve the update address stored in the update address storage unit 32 even when the ratio of dirty blocks is small. Is 15%,
The time required for the checkpoint creation step is almost halved.

【0224】(第6の実施形態)次に、本発明の第6の
実施形態を説明する。図30には、第1乃至第4の実施
形態に示すいずれかのキャッシュフラッシュ装置30を
備えた本実施形態の耐障害性計算機の構成を示す。図3
0に示すように、本実施形態では、独立した第1の計算
機100aと第2の計算機100bとをメモリ更新観測
部60(第1の計算機100a内)とメモリ更新部70
(第2の計算機100b内)とで接続した構成をとって
いる。第1の計算機100aと第2の計算機100bと
は、少なくとも同じ種類のプロセッサ10と同じ種類の
メインメモリ51を含む必要がある。
(Sixth Embodiment) Next, a sixth embodiment of the present invention will be described. FIG. 30 shows the configuration of the fault-tolerant computer of this embodiment including any one of the cache flush devices 30 shown in the first to fourth embodiments. FIG.
As shown in FIG. 0, in the present embodiment, the independent first computer 100a and the second computer 100b are connected to the memory update observation unit 60 (within the first computer 100a) and the memory update unit 70.
(Within the second computer 100b). The first computer 100a and the second computer 100b need to include at least the same type of processor 10 and the same type of main memory 51.

【0225】第1の計算機100aは、常時、データ処
理ステップとチェックポイント作成ステップを実行す
る。一方、第2の計算機100bは、通常は、待機ステ
ップを実行し、第1の計算機100aに障害が発生する
と第1の計算機100aがそれまで実行してきたデータ
処理を引き継ぐ。
The first computer 100a always executes a data processing step and a checkpoint creation step. On the other hand, the second computer 100b normally executes a standby step, and when a failure occurs in the first computer 100a, takes over the data processing that has been executed by the first computer 100a.

【0226】メモリ更新観測部60は、第1の計算機1
00aのシステムバス40を観測することにより、第1
の計算機100aで発生するメインメモリ51を更新す
るコマンドを観測・蓄積する。そして、第1の計算機1
00aの指示により、蓄積していたコマンドを第2の計
算機100bに接続されたメモリ更新部70に送る。メ
モリ更新部70は、メモリ更新観測部60から受け取っ
たコマンドを第2の計算機100bのシステムバス40
に発行することにより、第2の計算機100bのメイン
メモリ51の状態を第1の計算機100aと一致させ
る。
The memory update observing section 60 is the first computer 1
By observing the system bus 40 of 00a, the first
The command for updating the main memory 51 generated in the computer 100a is observed and accumulated. Then, the first computer 1
According to the instruction of 00a, the stored command is sent to the memory update unit 70 connected to the second computer 100b. The memory update unit 70 transmits the command received from the memory update observation unit 60 to the system bus 40 of the second computer 100b.
To make the state of the main memory 51 of the second computer 100b coincide with that of the first computer 100a.

【0227】第1の計算機100aのデータ処理ステッ
プおよびチェックポイント作成ステップについて説明す
る。
The data processing step and the checkpoint creation step of the first computer 100a will be described.

【0228】(1)データ処理ステップ キャッシュフラッシュ装置30に更新アドレスの捕捉を
させながら通常のデータ処理を実行する。
(1) Data Processing Step Normal data processing is executed while causing the cache flash device 30 to capture the update address.

【0229】(2)チェックポイント作成ステップ このステップは、データ処理ステップを一時中断する形
で定期的に実行されるステップである。プロセッサ10
が複数ある場合には、すべてのプロセッサ10が同期し
て実行する。このステップで行なう処理は、下記の3つ
である。
(2) Checkpoint creation step This step is a step that is periodically executed while temporarily suspending the data processing step. Processor 10
If there are multiple, all the processors 10 execute in synchronization. The following three processes are performed in this step.

【0230】(2a)データ処理中のプロセッサ10の
コンテキスト(プロセッサ10のプログラムカウンタや
汎用レジスタなどの内容)をメインメモリ51へ格納す
る。(2b)上記キャッシュフラッシュ装置30のフラ
ッシュ実行部35を起動することにより、すべてのダー
ティブロックの内容をメインメモリ51へ書き戻す。
(2a) The context of the processor 10 during data processing (the contents of the program counter and general-purpose registers of the processor 10) is stored in the main memory 51. (2b) The contents of all dirty blocks are written back to the main memory 51 by activating the flush execution unit 35 of the cache flush device 30.

【0231】(2c)メモリ更新観測部60に対して、
蓄積したコマンドをメモリ更新部70に送るよう指示す
る。
(2c) For the memory update observation unit 60,
It instructs the stored command to be sent to the memory update unit 70.

【0232】第2の計算機100bの待機ステップで
は、各プロセッサ10はデータ処理は行なわず、メモリ
更新部70に第1の計算機100aからのメインメモリ
更新のコマンドが定期的に受信されているか否かを調べ
る。そして、一定期間以上、上記コマンドが受信されな
ければ、第1の計算機100aが動作不能に陥ったもの
とし、その時点の第2の計算機100bのメインメモリ
51の状態からデータ処理を行なう。
In the standby step of the second computer 100b, each processor 10 does not perform data processing, and the memory updating unit 70 determines whether or not a main memory update command from the first computer 100a is periodically received. Find out. If the command is not received for a certain period or more, it is assumed that the first computer 100a has become inoperable, and data processing is performed from the state of the main memory 51 of the second computer 100b at that time.

【0233】図31は、本実施の形態の計算機で、時間
の経過にともなう、第1の計算機100aと第2の計算
機100bとの状態が変化する様子を表わしている。
FIG. 31 shows how the state of the first computer 100a and the state of the second computer 100b change with time in the computer according to the present embodiment.

【0234】第1の計算機100aでは、データ処理ス
テップを開始して一定時間が経過すると、各プロセッサ
10はチェックポイント作成ステップを開始する。ここ
で行なう第1の処理は、直前のデータ処理ステップで、
どこまで処理を行なったか、すなわち、直前のデータ処
理ステップからチェックポイント作成ステップに切り替
わる時のプロセッサのコンテキスト(プログラムカウン
タ、状態レジスタ、および汎用レジスタなどの内容)を
メインメモリ51に書き出すことである。ただし、実際
には、キャッシュメモリ20上にのみ格納されるだけか
もしれない。
In the first computer 100a, each processor 10 starts a checkpoint creation step after a predetermined time has elapsed from the start of the data processing step. The first processing performed here is the immediately preceding data processing step.
It is to write in the main memory 51 how far the processing has been performed, that is, the context (contents of the program counter, status register, general-purpose register, etc.) of the processor at the time of switching from the immediately preceding data processing step to the checkpoint creation step. However, in actuality, it may only be stored in the cache memory 20 only.

【0235】チェックポイント作成ステップで行なう第
2の処理は、ダーティブロックの内容をメインメモリ5
1に書き戻すことである。この第2の処理は、第1の計
算機100aでのメインメモリ51の更新をすべて第2
の計算機100bに送るために必要である。
The second processing performed in the check point creation step is to store the contents of the dirty block in the main memory 5.
Writing back to 1. In the second process, all updates of the main memory 51 in the first computer 100a are performed in the second computer.
Is necessary to send the data to the computer 100b.

【0236】チェックポイント作成ステップで行でう第
3の処理は、メモリ更新観測部60に、蓄積したコマン
ドをメモリ更新部70に送るよう指示することである。
この指示は、チェックポイント作成ステップが終了する
直前に行なうのが望ましい。それは、第2の計算機10
0bに常に健全なメインメモリイメージを保持させるた
めである。
The third process performed in the check point creation step is to instruct the memory update observation unit 60 to send the stored command to the memory update unit 70.
This instruction is desirably issued immediately before the checkpoint creation step ends. It is the second computer 10
0b always holds a sound main memory image.

【0237】チェックポイント作成ステップが終了する
と、データ処理ステップを再開する。このとき、チェッ
クポイント作成ステップでメインメモリ51に書き出し
たプロセッサ10のコンテキストが使用される。
Upon completion of the checkpoint creation step, the data processing step is restarted. At this time, the context of the processor 10 written in the main memory 51 in the checkpoint creation step is used.

【0238】図31では、3番目のデータ処理ステップ
の途中で何らかの故障が発生した旨を示す。このとき、
第1の計算機100aは単に処理を停止するだけで良
い。あるいは、次に第2の計算機100bで故障が発生
したときに備えて、スタートアップを行なうこともでき
る。
FIG. 31 shows that some trouble has occurred during the third data processing step. At this time,
The first computer 100a may simply stop the processing. Alternatively, startup may be performed in preparation for the next occurrence of a failure in the second computer 100b.

【0239】第2の計算機100bは、第1の計算機1
00aで故障が発生するまで、待機ステップを実行す
る。そして、時刻Tにおいて、メモリ更新部70がメモ
リ更新観測部60からコマンドを一定時間以上受け取っ
ていないとして、データ処理ステップを実行する。図3
1の場合、第2の計算機100bでは、第1の計算機1
00aでの3番目のデータ処理ステップと同じ状態から
データ処理ステップが開始されることになる。
The second computer 100b is connected to the first computer 1
The standby step is executed until a failure occurs at 00a. Then, at time T, it is determined that the memory update unit 70 has not received a command from the memory update observation unit 60 for a certain period of time or more, and executes a data processing step. FIG.
In the case of 1, the second computer 100b uses the first computer 1
The data processing step is started from the same state as the third data processing step in 00a.

【0240】このような計算機では、定期的にチェック
ポイント作成ステップを実行する分、データ処理性能が
劣化するので、チェックポイント作成ステップの所要時
間の短縮が重要である。チェックポイント作成ステップ
の処理の大半は、ダーティブロックの内容をメインメモ
リ51に書き戻すことであるので、キャッシュフラッシ
ュ装置30を使用することにより大幅な所要時間の短縮
が期待できる。
In such a computer, the data processing performance is degraded by the regular execution of the checkpoint creation step. Therefore, it is important to reduce the time required for the checkpoint creation step. Most of the processing in the checkpoint creation step is to write back the contents of the dirty block back to the main memory 51. Therefore, the use of the cache flush device 30 can greatly reduce the required time.

【0241】なお、データ処理ステップの後半に、キャ
ッシュフラッシュ装置30のフラッシュ実行部35を起
動すると、チェックポイント作成ステップの所要時間を
さらに短縮できるのは、第5の実施形態の場合と同様で
ある。
When the flush execution unit 35 of the cache flush unit 30 is activated in the latter half of the data processing step, the time required for the checkpoint creation step can be further reduced, as in the case of the fifth embodiment. .

【0242】また、上述した各実施形態において記載し
た手法は、コンピュータに実行させることのできるプロ
グラムとして、例えば磁気ディスク(フロッピーディス
ク、ハードディスク等)、光ディスク(CD−ROM、
DVD等)、半導体メモリなどの記録媒体に書き込んで
各種装置に適用したり、通信媒体により伝送して各種装
置に適用することも可能である。本装置を実現するコン
ピュータは、記録媒体に記録されたプログラムを読み込
み、このプログラムによって動作が制御されることによ
り、上述した処理を実行する。
The method described in each of the embodiments described above can be executed by a computer as a program such as a magnetic disk (floppy disk, hard disk, etc.), an optical disk (CD-ROM,
It is also possible to write the data on a recording medium such as a DVD or a semiconductor memory and apply it to various devices, or to transmit it via a communication medium and apply it to various devices. A computer that realizes the present apparatus reads the program recorded on the recording medium, and executes the above-described processing by controlling the operation of the program.

【0243】[0243]

【発明の効果】以上のように本発明によれば、キャッシ
ュメモリ上のすべてのダーティブロックのアドレスは、
キャッシュフラッシュ装置内のいずれかの領域に記憶さ
れる。また、あるキャッシュブロックが一旦ダーティ状
態となった後、ダーティ状態でなくなった場合、領域か
らそのアドレスは削除される。そして、フラッシュ実行
部が、ダーティブロックのアドレスを各領域から順次取
出し、そのアドレスのダーティブロックの内容のメイン
メモリへの書き戻しを要求するコマンドをシステムバス
に発行することにより、すべてのダーティブロックの内
容がメインメモリへ書き戻される。
As described above, according to the present invention, the addresses of all the dirty blocks in the cache memory are
It is stored in any area in the cache flash device. Further, when a certain cache block is once in a dirty state and then no longer in the dirty state, the address is deleted from the area. Then, the flash execution unit sequentially fetches the addresses of the dirty blocks from the respective areas, and issues a command to the system bus to request the contents of the dirty blocks at the addresses to be written back to the main memory. The contents are written back to main memory.

【0244】これにより、たとえば従来のソフトウェア
によるキャッシュフラッシュのように、すべてのキャッ
シュブロックについて順次ダーティブロックかどうか判
定していくといった処理を行なう必要がなくなるため、
迅速かつ効率的なキャッシュフラッシュ操作を行なうこ
とが可能となる。
This eliminates the need to perform a process of sequentially determining whether or not all cache blocks are dirty blocks as in a cache flush by conventional software, for example.
A quick and efficient cache flush operation can be performed.

【0245】また、プロセッサがライトバッファを持つ
場合であっても、たとえば各領域が一つのエントリのみ
を有する構成として、このエントリには、ライトバッフ
ァではなく、キャシュブロックに格納されたデータのア
ドレス(最新の更新アドレス)のみを格納するようにす
る等により、適切なキャッシュフラッシュ動作が確保さ
れる。
Even when the processor has a write buffer, for example, each area has only one entry, and this entry has not the write buffer but the address (data) stored in the cache block. By storing only the latest update address, an appropriate cache flush operation is ensured.

【0246】さらに、領域それぞれの使用状況に応じて
更新アドレスの書き戻し要求を発行する機構を備えるこ
とにより、更新アドレス記憶部の備える領域のエントリ
数の設定や、領域とアドレスとの対応づけなどの自由度
を大幅に拡大させることを可能とする。
Further, by providing a mechanism for issuing a write-back request for an update address in accordance with the use status of each area, setting of the number of entries in the area provided in the update address storage unit, association of the area with the address, etc. Greatly expand the degree of freedom.

【0247】また、本発明の計算機システムによれば、
チェックポイント採取処理のほとんどを占めるキャッシ
ュフラッシュ操作を迅速かつ効率的に行なうため、シス
テム全体の性能を向上させることとなる。
According to the computer system of the present invention,
Since the cache flush operation, which accounts for most of the checkpoint collection processing, is performed quickly and efficiently, the performance of the entire system is improved.

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

【図1】本発明の一実施の形態に係わる計算機システム
のシステム構成を示す図。
FIG. 1 is a diagram showing a system configuration of a computer system according to an embodiment of the present invention.

【図2】同実施の形態に係わる更新アドレス記憶部の領
域Aiの構造を示す概念図。
FIG. 2 is a conceptual diagram showing a structure of an area Ai of an update address storage unit according to the embodiment.

【図3】同実施の形態に係わる更新アドレス登録部の動
作手順を示す図。
FIG. 3 is an exemplary view showing an operation procedure of an update address registration unit according to the embodiment;

【図4】同実施の形態に係わる更新アドレス削除部の動
作手順を示す図。
FIG. 4 is a diagram showing an operation procedure of an update address deletion unit according to the embodiment.

【図5】同実施の形態に係わるフラッシュ実行部の動作
手順を示す図。
FIG. 5 is an exemplary view showing an operation procedure of a flash execution unit according to the embodiment;

【図6】同実施の形態に係わる更新アドレス登録部がデ
ータ更新を示すコマンドを検知したときのキャッシュフ
ラッシュ装置の動作手順を示す図。
FIG. 6 is a view showing an operation procedure of the cache flash device when the update address registration unit according to the embodiment detects a command indicating data update.

【図7】同実施の形態に係わる更新アドレス削除部がダ
ーティブロックのメインメモリへの書き戻しを示すコマ
ンドを検知したときのキャッシュフラッシュ装置の動作
手順を示す図。
FIG. 7 is a diagram showing an operation procedure of the cache flash device when the update address deletion unit according to the embodiment detects a command indicating writing back of a dirty block to the main memory.

【図8】同実施の形態に係わるプロセッサが、0番地、
B×M番地、2B×M番地にそれぞれデータD0,D
1,D2を連続して書き込む場合の動作を説明する図。
FIG. 8 is a block diagram showing a processor according to the embodiment;
Data D0 and D are stored at addresses B × M and 2B × M, respectively.
FIG. 3 is a diagram for explaining an operation when writing data D1 and D2 continuously.

【図9】同実施の形態に係わる変形例における領域Ai
の構造を示す概念図。
FIG. 9 is a diagram showing a region Ai according to a modification of the embodiment;
FIG.

【図10】同実施の形態に係わる同変形例の更新アドレ
ス登録部がデータ更新を示すコマンドを検知した時のキ
ャッシュフラッシュ装置の動作手順を示す図。
FIG. 10 is a view showing an operation procedure of the cache flash device when the update address registration unit of the modification example according to the embodiment detects a command indicating data update.

【図11】同実施の形態に係わる同変形例の更新アドレ
ス削除部がダーティブロックのメインメモリへの書き戻
しを示すコマンドを検知したときのキャッシュフラッシ
ュ装置の動作手順を示す図。
FIG. 11 is a view showing an operation procedure of the cache flash device when the update address deletion unit according to the modification of the embodiment detects a command indicating writing back of a dirty block to the main memory.

【図12】同実施の形態に係わる同変形例のフラッシュ
実行部の動作手順を示す図。
FIG. 12 is an exemplary view showing an operation procedure of a flash execution unit of the modification according to the embodiment.

【図13】同実施の形態に係わる同変形例のプロセッサ
が、0番地、B×M番地、2B×M番地にそれぞれデー
タD0,D1,D2を連続して書き込む場合の動作を説
明する図。
FIG. 13 is an exemplary view for explaining the operation in the case where the processor according to the modification of the embodiment writes data D0, D1, and D2 continuously at addresses 0, B × M, and 2B × M, respectively;

【図14】同実施の形態に係わる他の変形例に係る計算
機システムのシステム構成を示す図。
FIG. 14 is an exemplary diagram showing a system configuration of a computer system according to another modification of the embodiment.

【図15】同実施の形態に係わる図14の変形例のフラ
ッシュ実行部の動作手順を示す図。
FIG. 15 is a diagram showing an operation procedure of the flash execution unit according to the modification of FIG. 14 according to the embodiment;

【図16】本発明の第2の実施形態に係わる計算機シス
テムのシステム構成を示す図。
FIG. 16 is a diagram showing a system configuration of a computer system according to a second embodiment of the present invention.

【図17】同実施の形態に係わる更新アドレス記憶部の
領域の構成を示す概念図。
FIG. 17 is a conceptual diagram showing a configuration of an area of an update address storage unit according to the embodiment;

【図18】同実施の形態に係わるキャッシュメモリ上で
データ更新が発生したことを示すコマンドを更新アドレ
ス登録部が検知したときの更新アドレス登録部およびエ
ントリ解放部の処理フローチャート。
FIG. 18 is a processing flowchart of the update address registration unit and the entry release unit when the update address registration unit detects a command indicating that data update has occurred in the cache memory according to the embodiment.

【図19】同実施の形態に係わるフラッシュ実行部の処
理のフローチャート。
FIG. 19 is a flowchart of a process performed by a flash execution unit according to the embodiment;

【図20】同実施の形態に係わるプロセッサが、0番
地、B×M番地、2B×M番地にそれぞれデータD0,
D1,D2を連続して書き込む場合の動作を説明する
図。
FIG. 20 is a block diagram showing a processor according to the embodiment which stores data D0, D0 at address 0, B × M, and 2B × M, respectively;
FIG. 8 is a diagram for explaining an operation when writing D1 and D2 continuously.

【図21】本発明の第3の実施形態に係わる計算機シス
テムのシステム構成を示す図。
FIG. 21 is a diagram showing a system configuration of a computer system according to a third embodiment of the present invention.

【図22】同実施の形態に係わり更新アドレス削除部が
一定時間だけ書き戻しアドレスと同じアドレスが格納さ
れているエントリを一定時間探す例を示す図。
FIG. 22 is a diagram illustrating an example in which the update address deletion unit searches for an entry in which the same address as the write-back address is stored for a certain period of time according to the embodiment;

【図23】本発明の第4の実施形態に係わる計算機シス
テムのシステム構成を示す図。
FIG. 23 is a diagram showing a system configuration of a computer system according to a fourth embodiment of the present invention.

【図24】同実施の形態に係わる更新アドレス記憶部の
領域の構成を示す概念図。
FIG. 24 is a conceptual diagram showing a configuration of an area of an update address storage unit according to the embodiment.

【図25】同実施の形態に係わるキャッシュメモリ上で
データ更新が発生したことを示すコマンドを更新アドレ
ス登録部が検知したときの更新アドレス登録部およびエ
ントリ解放部の処理のフローチャート。
FIG. 25 is a flowchart of processing performed by the update address registration unit and the entry release unit when the update address registration unit detects a command indicating that data update has occurred in the cache memory according to the embodiment;

【図26】同実施の形態に係わる更新アドレス削除部の
処理を示すフローチャート。
FIG. 26 is a flowchart showing processing of an update address deletion unit according to the embodiment.

【図27】同実施の形態に係わるフラッシュ実行部の処
理を示すフローチャート。
FIG. 27 is a flowchart showing processing of a flash execution unit according to the embodiment;

【図28】本発明の第5の実施形態に係わる耐障害性計
算機の構成を示す図。
FIG. 28 is a diagram showing a configuration of a fault-tolerant computer according to a fifth embodiment of the present invention.

【図29】同実施の形態に係わる計算機において時間の
経過とともに3つのステップが移り変わる様子を表わす
図。
FIG. 29 is a view showing a state where three steps change over time in the computer according to the embodiment.

【図30】本発明の第6の実施形態に係わる耐障害性計
算機の構成を示す図。
FIG. 30 is a diagram showing a configuration of a fault tolerance computer according to a sixth embodiment of the present invention.

【図31】同実施の形態に係わる計算機において時間の
経過にともなう第1の計算機100aと第2の計算機1
00bとの状態が変化する様子を表わす図。
FIG. 31 shows a first computer 100a and a second computer 1 over time in the computer according to the embodiment.
The figure showing a mode that the state of 00b changes.

【図32】従来のキャッシュフラッシュ操作を行うため
のプログラムを示す図。
FIG. 32 is a diagram showing a program for performing a conventional cache flush operation.

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

10…プロセッサ 20…キャッシュメモリ 30…キャッシュフラッシュ装置 31…バスインタフェース 32…更新アドレス記憶部 33…更新アドレス登録部 34…更新アドレス削除部 35…フラッシュ実行部 36…エントリ解放部 37…更新アドレス読み出し部 40…システムバス 50…メモリコントローラ 51…メインメモリ 100a…第1の計算機 200b…第2の計算機 DESCRIPTION OF SYMBOLS 10 ... Processor 20 ... Cache memory 30 ... Cache flash device 31 ... Bus interface 32 ... Update address storage part 33 ... Update address registration part 34 ... Update address deletion part 35 ... Flash execution part 36 ... Entry release part 37 ... Update address reading part 40 system bus 50 memory controller 51 main memory 100a first computer 200b second computer

Claims (76)

【特許請求の範囲】[Claims] 【請求項1】 バススヌープ機構を有するコピーバック
型のキャッシュメモリを備えた少なくとも1つのプロセ
ッサと、メインメモリと、上記少なくとも1つのプロセ
ッサと上記メインメモリとを接続するシステムバスとを
具備してなる計算機に用いられるキャッシュフラッシュ
装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、データの書き戻しがあった書き戻しアドレ
スと書き戻しを行なった上記プロセッサの識別番号とに
基づいて、上記更新アドレス記憶手段の各領域の中のい
ずれかの領域を選択し、その選択した領域に格納された
上記書き戻しアドレスと一致する更新アドレスを削除す
る更新アドレス削除手段と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行するフラッシュ実行手段とを具備したことを特徴とす
るキャッシュフラッシュ装置。
1. A system comprising: at least one processor having a copy-back type cache memory having a bus snoop mechanism; a main memory; and a system bus connecting the at least one processor and the main memory. A cache flash device used in a computer, wherein an address of data held by a dirty block which is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory. Update address storage means having a plurality of areas for storing data, and detecting the data update on the cache memory by monitoring the system bus, and performing the update with the update address at which the data has been updated. Based on the processor identification number An update address registering means for selecting any one of the areas of the update address storage means and storing the update address in the selected area; and A write-back of the retained data to the main memory is detected, and based on the write-back address at which the data was written back and the identification number of the processor that performed the write-back, each area of the update address storage means is rewritten. Update address deletion means for selecting any one of the areas and deleting an update address that matches the write-back address stored in the selected area; and storing the update address in response to an instruction from the processor. Means for sequentially reading out all update addresses stored in the means, and reading the update address indicated by the read update address. A flash execution unit for issuing to the system bus a command for requesting writing back of data held by the security lock to the main memory.
【請求項2】 バススヌープ機構を有するコピーバック
型でダイレクトマップ方式のキャッシュメモリを備えた
少なくとも1つのプロセッサと、メインメモリと、上記
少なくとも1つのプロセッサと上記メインメモリとを接
続するシステムバスとを具備してなる計算機に用いられ
るキャッシュフラッシュ装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域を複数備えた更新アドレス記憶
手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なったプロセッサの識別番号とに基づい
て、上記更新アドレス記憶手段の各領域の中のいずれか
の領域を選択し、その選択した領域に格納された更新ア
ドレスと上記書き戻しアドレスとを比較し、両者が一致
するときに、その選択した領域に格納された更新アドレ
スを削除する更新アドレス削除手段と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行するフラッシュ実行手段とを具備したことを特徴とす
るキャッシュフラッシュ装置。
2. A copy-back type direct-mapped cache memory having a bus snoop mechanism and at least one processor, a main memory, and a system bus connecting the at least one processor and the main memory. A cache flash device used in a computer comprising: a cache block provided corresponding to each cache block secured in the cache memory and holding data to be written back to the main memory. Update address storage means for storing an address of data held by a certain dirty block, wherein the update address storage means comprises a plurality of areas each having one entry; and Updating data in memory Based on the detected address and the update address at which the data was updated, and the identification number of the processor that has performed the data update, any one of the areas of the update address storage means is selected, and the selected area is assigned to the selected area. Update address registering means for storing the update address; monitoring the system bus to detect write-back of the data held by the dirty block to the main memory; Based on the identification number of the processor that has returned, one of the areas of the update address storage means is selected, and the update address stored in the selected area is compared with the write-back address. Update address deletion means for deleting an update address stored in the selected area when the two coincide with each other; In response to an instruction from the processor, all update addresses stored in the update address storage means are sequentially read, and data stored in the dirty block indicated by the read update address is written back to the main memory. Flash execution means for issuing a command for requesting a command to the system bus.
【請求項3】 バススヌープ機構を有するコピーバック
型でダイレクトマップ方式のキャッシュメモリを備えた
少なくとも1つのプロセッサと、メインメモリと、上記
少なくとも1つのプロセッサと上記メインメモリとを接
続するシステムバスとを具備してなる計算機に用いられ
るキャッシュフラッシュ装置であって、 上記キャッシュメモリ内に確保されるキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域およびこの領域に対応して設け
られるカウンタを複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段が備
えた複数の領域の中のいずれかの領域を選択し、その選
択した領域にその更新アドレスを格納するとともに、そ
の領域に対応する上記カウンタをインクリメントする更
新アドレス登録手段と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とに基づ
いて、上記更新アドレス記憶手段の各領域の中のいずれ
かの領域を選択し、その選択した領域に対応する上記カ
ウンタをデクリメントする更新アドレス削除手段と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段の各領域のうち、その領域に対応する上記カ
ウンタの値が初期値でない領域に格納された更新アドレ
スを逐次読み出し、その読み出した更新アドレスで示さ
れる上記ダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻しを要求するコマンドを上記システ
ムバスに発行するフラッシュ実行手段とを具備したこと
を特徴とするキャッシュフラッシュ装置。
3. A copy-back type direct-mapped cache memory having a bus snoop mechanism and at least one processor, a main memory, and a system bus connecting the at least one processor and the main memory. A cache flash device used in a computer comprising: a cache block provided corresponding to each cache block secured in the cache memory and holding data to be written back to the main memory. Update address storage means for storing an address of data held by a certain dirty block, each area having one entry, and a plurality of counters provided corresponding to this area; Monitoring the above system bus Detecting the data update on the cache memory, and based on the update address at which the data update has been performed and the identification number of the processor that has performed the data update, the data in the plurality of areas provided in the update address storage means. An update address registering means for selecting one of the areas, storing the update address in the selected area, and incrementing the counter corresponding to the area, and holding the dirty block by monitoring the system bus The write-back of the data to be written to the main memory is detected, and based on the write-back address at which the write-back has been performed and the identification number of the processor that has performed the write-back, each area of the update address storage means is Select any area and decrement the counter corresponding to the selected area A new address deleting unit, and sequentially reading an update address stored in an area where the value of the counter corresponding to the area is not an initial value in each area of the update address storage means in response to an instruction from the processor. Flash execution means for issuing to the system bus a command requesting a write-back of the data held by the dirty block indicated by the read update address to the main memory. .
【請求項4】 バススヌープ機構を有するコピーバック
型のキャッシュメモリを備えた少なくとも1つのプロセ
ッサと、メインメモリと、上記少なくとも1つのプロセ
ッサと上記メインメモリとを接続するシステムバスとを
具備してなる計算機に用いられるキャッシュフラッシュ
装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、データの書き戻しがあった書き戻しアドレ
スと書き戻しを行なった上記プロセッサの識別番号とに
基づいて、上記更新アドレス記憶手段の各領域の中のい
ずれかの領域を選択し、その選択した領域に格納された
上記書き戻しアドレスと一致する更新アドレスを削除す
る更新アドレス削除手段と、 上記更新アドレス記憶手段に記憶されたすべての更新ア
ドレスを逐次読み出し、その読み出した更新アドレスを
上記プロセッサが順次読み出せるように用意する更新ア
ドレス読み出し手段とを具備したことを特徴とするキャ
ッシュフラッシュ装置。
4. A system comprising: at least one processor having a copy-back type cache memory having a bus snoop mechanism; a main memory; and a system bus connecting the at least one processor and the main memory. An address of data held by a dirty block, which is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory, the cache flash device being used in a computer. Update address storage means having a plurality of areas for storing the data, and detecting the data update on the cache memory by monitoring the system bus, and performing the update with the update address where the data has been updated. Based on the processor identification number An update address registering means for selecting any one of the areas of the update address storage means and storing the update address in the selected area; and A write-back of the retained data to the main memory is detected, and based on the write-back address at which the data was written back and the identification number of the processor that performed the write-back, the update address storage means Update address deletion means for selecting any one of the areas and deleting an update address that matches the write-back address stored in the selected area; and updating all the update addresses stored in the update address storage means. Sequential reading, update address prepared so that the above-mentioned processor can sequentially read the read update address And a cache read device.
【請求項5】 バススヌープ機構を有するコピーバック
型でダイレクトマップ方式のキャッシュメモリを備えた
少なくとも1つのプロセッサと、メインメモリと、上記
少なくとも1つのプロセッサと上記メインメモリとを接
続するシステムバスとを具備してなる計算機に用いられ
るキャッシュフラッシュ装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域を複数備えた更新アドレス記憶
手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とに基づ
いて、上記更新アドレス記憶手段の各領域の中のいずれ
かの領域を選択し、その選択した領域に格納された更新
アドレスと上記書き戻しアドレスとを比較し、両者が一
致するときに、その選択した領域に格納された更新アド
レスを削除する更新アドレス削除手段と、 上記更新アドレス記憶手段に記憶されたすべての更新ア
ドレスを逐次読み出し、その読み出した更新アドレスを
上記プロセッサが順次読み出せるように用意する更新ア
ドレス読み出し手段とを具備したことを特徴とするキャ
ッシュフラッシュ装置。
5. A copy-back type direct-mapped cache memory having a bus snoop mechanism and at least one processor, a main memory, and a system bus connecting the at least one processor and the main memory. A cache flash device used in a computer comprising: a cache block provided corresponding to each cache block secured in the cache memory and holding data to be written back to the main memory. Update address storage means for storing an address of data held by a certain dirty block, wherein the update address storage means comprises a plurality of areas each having one entry; and Updating data in memory Based on the detected address and the update address at which the data was updated, and the identification number of the processor that has performed the data update, any one of the areas of the update address storage means is selected, and the selected area is assigned to the selected area. Update address registering means for storing the update address; monitoring the system bus to detect write-back of the data held by the dirty block to the main memory; Based on the returned identification number of the processor, any one of the areas of the update address storage means is selected, and the update address stored in the selected area and the write-back address are determined. Comparing, and when they match, update address deletion means for deleting the update address stored in the selected area. The update address reading all updates address stored in the storage means sequentially, the cache flush apparatus characterized by the update address thus read out to and a update address reading means for preparing to let out sequentially to read the processor.
【請求項6】 バススヌープ機構を有するコピーバック
型でダイレクトマップ方式のキャッシュメモリを備えた
少なくとも1つのプロセッサと、メインメモリと、上記
少なくとも1つのプロセッサと上記メインメモリとを接
続するシステムバスとを具備してなる計算機に用いられ
るキャッシュフラッシュ装置であって、 上記キャッシュメモリ内に確保されるキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域およびこの領域に対応して設け
られるカウンタを複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
にその更新アドレスを格納するとともに、その領域に対
応する上記カウンタをインクリメントする更新アドレス
登録手段と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とに基づ
いて、上記更新アドレス記憶手段の各領域の中のいずれ
かの領域を選択し、その選択した領域に対応する上記カ
ウンタをデクリメントする更新アドレス削除手段と、 上記更新アドレス記憶手段が備えた領域のうち、その領
域に対応するカウンタの値が初期値でない領域に格納さ
れた更新アドレスを逐次読み出し、その読み出した更新
アドレスを上記プロセッサが順次読み出せるように用意
する更新アドレス読み出し手段とを具備したことを特徴
とするキャッシュフラッシュ装置。
6. A copy-back type direct-mapped cache memory having a bus snoop mechanism and at least one processor, a main memory, and a system bus connecting the at least one processor and the main memory. A cache flash device used in a computer comprising: a cache block provided corresponding to each cache block secured in the cache memory and holding data to be written back to the main memory. Update address storage means for storing an address of data held by a certain dirty block, each area having one entry, and a plurality of counters provided corresponding to this area; Monitoring the above system bus The data update on the cache memory is detected, and based on the update address at which the data has been updated and the identification number of the processor that has performed the data update, any one of the areas in the update address storage means is detected. Selecting an area, storing the update address in the selected area, incrementing the counter corresponding to the area, and updating address registration means; and monitoring the system bus to store the data held by the dirty block. A write-back to the main memory is detected, and based on a write-back address at which the write-back has been performed and an identification number of the processor that has performed the write-back, any one of the areas of the update address storage means is determined. An update address that selects an area and decrements the counter corresponding to the selected area Deleting means; sequentially reading out update addresses stored in an area in which the counter value corresponding to the area is not an initial value among the areas provided in the update address storage means, and the processor sequentially reading the read update addresses. A cache flash device comprising: an update address reading means prepared so as to be issued.
【請求項7】 バススヌープ機構を有するコピーバック
型のキャッシュメモリを備えた少なくとも1つのプロセ
ッサと、メインメモリと、上記少なくとも1つのプロセ
ッサと上記メインメモリとを接続するシステムバスとを
具備してなる計算機に用いられるキャッシュフラッシュ
装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記更新アドレス登録手段が選択した領域の空きエント
リ数を所定値と比較し、空きエントリ数が上記所定値を
下回るときに、その領域にすでに格納されている更新ア
ドレスの中のいずれか1つを選択し、この選択した更新
アドレスで示される上記ダーティブロックが保持するデ
ータの上記メインメモリへの書き戻しを要求するコマン
ドを上記システムバスに発行するとともに、その更新ア
ドレスが格納されていたエントリを空きエントリとする
エントリ解放手段と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行するフラッシュ実行手段とを具備したことを特徴とす
るキャッシュフラッシュ装置。
7. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. An address of data held by a dirty block, which is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory, the cache flash device being used in a computer. Update address storage means having a plurality of areas for storing the data, and detecting the data update on the cache memory by monitoring the system bus, and performing the update with the update address where the data has been updated. Based on the processor identification number Update address registration means for selecting one of the areas of the update address storage means and storing the update address in the selected area; and a free entry of the area selected by the update address registration means. The number is compared with a predetermined value, and when the number of empty entries falls below the predetermined value, one of the update addresses already stored in the area is selected, and the selected update address indicated by the selected update address is selected. An entry release means for issuing to the system bus a command requesting a write-back of the data held by the dirty block to the main memory, and setting the entry storing the updated address to a free entry; In response to the instruction, sequentially read all update addresses stored in the update address storage means, A flash execution unit for issuing, to the system bus, a command requesting a write-back of the data held by the dirty block indicated by the read update address to the main memory.
【請求項8】 上記キャッシュメモリは、nウェイのセ
ットアソシアティブ型であり、 上記更新アドレス記憶手段が備える複数の領域それぞれ
は、n個のキャッシュブロックで形成されるグループと
1対1に対応して設けられることを特徴とする請求項7
記載のキャッシュフラッシュ装置。
8. The cache memory is of an n-way set associative type, and each of a plurality of areas provided in the update address storage means has a one-to-one correspondence with a group formed by n cache blocks. 8. A device according to claim 7, wherein
A cache flush device as described.
【請求項9】 バススヌープ機構を有するコピーバック
型のキャッシュメモリを備えた少なくとも1つのプロセ
ッサと、メインメモリと、上記少なくとも1つのプロセ
ッサと上記メインメモリとを接続するシステムバスとを
具備してなる計算機に用いられるキャッシュフラッシュ
装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、書き戻しがあった書き戻しアドレスと書き
戻しを行なった上記プロセッサの識別番号とに基づい
て、上記更新アドレス記憶手段の各領域の中のいずれか
の領域を選択し、その選択した領域内に上記書き戻しア
ドレスと一致する更新アドレスがあるか否かを一定時間
だけ検索し、上記書き戻しアドレスと一致する更新アド
レスが検出された場合、その更新アドレスを削除する更
新アドレス削除手段と、 上記更新アドレス登録手段が選択した領域の空きエント
リ数を所定値と比較し、空きエントリ数が上記所定値を
下回るときに、その領域にすでに格納されている更新ア
ドレスの中のいずれか1つを選択し、この選択した更新
アドレスで示される上記ダーティブロックが保持するデ
ータの上記メインメモリへの書き戻しを要求するコマン
ドを上記システムバスに発行するとともに、その更新ア
ドレスが格納されていたエントリを空きエントリとする
エントリ解放手段と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行するフラッシュ実行手段とを具備したことを特徴とす
るキャッシュフラッシュ装置。
9. A system comprising: at least one processor having a copy-back type cache memory having a bus snoop mechanism; a main memory; and a system bus connecting the at least one processor and the main memory. An address of data held by a dirty block, which is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory, the cache flash device being used in a computer. Update address storage means having a plurality of areas for storing the data, and detecting the data update on the cache memory by monitoring the system bus, and performing the update with the update address where the data has been updated. Based on the processor identification number An update address registering means for selecting any one of the areas of the update address storage means and storing the update address in the selected area; and A write-back of the retained data to the main memory is detected, and based on the write-back address at which the write-back has been performed and the identification number of the processor that has performed the write-back, each of the update address storage means If any area is selected, a search is performed for a fixed time to determine whether or not there is an update address that matches the write-back address in the selected area, and if an update address that matches the write-back address is detected, Update address deletion means for deleting the update address; and the number of empty entries in the area selected by the update address registration means. When the number of vacant entries is smaller than the predetermined value, one of the update addresses already stored in the area is selected, and the dirty block indicated by the selected update address is selected. A command for requesting writing back of the retained data to the main memory is issued to the system bus, and entry release means for setting the entry storing the updated address to a free entry; and responding to an instruction from the processor. Then, all the update addresses stored in the update address storage means are sequentially read, and a command requesting writing back of the data held by the dirty block indicated by the read update address to the main memory is executed by the system. Flash execution means for issuing to a bus. Flash flush device.
【請求項10】 上記更新アドレス削除手段は、あるア
ドレスで示されるデータを保持するキャッシュブロック
すべてがダーティブロックでないことを示すコマンドを
検知したときに、そのアドレスから上記更新アドレス記
憶手段の各領域の中のいずれかの領域を選択し、その選
択した領域内を検索して上記書き戻しアドレスと一致す
る更新アドレスが検出された場合、その更新アドレスを
削除することを特徴とする請求項9記載のキャッシュフ
ラッシュ装置。
10. The update address deletion means, when detecting a command indicating that all cache blocks holding data indicated by a certain address are not dirty blocks, reads from the address an address of each area of the update address storage means. 10. The method according to claim 9, wherein any one of the areas is selected, and when the selected area is searched and an update address that matches the write-back address is detected, the update address is deleted. Cache flush device.
【請求項11】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなる計算機に用いられるキャッシュフラッシ
ュ装置であって、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段と、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する更新アドレス登録手段
と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、書き戻しがあった書き戻しアドレスと書き
戻しを行なった上記プロセッサの識別番号とに基づい
て、上記更新アドレス記憶手段の各領域の中のいずれか
の領域を選択し、その選択した領域内に上記書き戻しア
ドレスと一致する更新アドレスがあるか否かを当該キャ
ッシュフラッシュ装置が次に処理すべきコマンドを検知
するまで検索し、上記書き戻しアドレスと一致する更新
アドレスが検出された場合、その更新アドレスを削除す
る更新アドレス削除手段と、 上記更新アドレス登録手段が選択した領域の空きエント
リ数を所定値と比較し、空きエントリ数が上記所定値を
下回るときに、その領域にすでに格納されている更新ア
ドレスの中のいずれか1つを選択し、この選択した更新
アドレスで示される上記ダーティブロックが保持するデ
ータの上記メインメモリへの書き戻しを要求するコマン
ドを上記システムバスに発行するとともに、その更新ア
ドレスが格納されていたエントリを空きエントリとする
エントリ解放手段と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行するフラッシュ実行手段とを具備したことを特徴とす
るキャッシュフラッシュ装置。
11. A system comprising: at least one processor having a copy-back type cache memory having a bus snoop mechanism; a main memory; and a system bus connecting the at least one processor and the main memory. An address of data held by a dirty block, which is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory, the cache flash device being used in a computer. Update address storage means having a plurality of areas for storing the data, and detecting the data update on the cache memory by monitoring the system bus, and performing the update with the update address where the data has been updated. Processor identification number Then, any one of the areas of the update address storage means is selected, the update address registration means for storing the update address in the selected area, and the dirty block is monitored by monitoring the system bus. The write-back of the data held in the main memory is detected, and based on the write-back address at which the write-back has been performed and the identification number of the processor that has performed the write-back, the contents of each area of the update address storage means are determined. Is searched until there is an update address in the selected area that matches the write-back address until the cache flash device detects a command to be processed next. Update address deletion means for deleting the update address when an update address matching the return address is detected; The number of free entries in the area selected by the update address registering means is compared with a predetermined value, and when the number of free entries falls below the predetermined value, any one of the update addresses already stored in the area is replaced. A command is issued to the system bus requesting that the data held by the dirty block indicated by the selected update address be written back to the main memory, and the entry storing the update address be freed. An entry release unit to be an entry; and sequentially reading all update addresses stored in the update address storage unit in response to an instruction from the processor, and data held by the dirty block indicated by the read update address. A command requesting write back to the main memory A cache flush device comprising: a flush execution unit for issuing.
【請求項12】 上記更新アドレス削除手段は、あるア
ドレスで示されるデータを保持するキャッシュブロック
すべてがダーティブロックでないことを示すコマンドを
検知したときに、そのアドレスから上記更新アドレス記
憶手段の各領域の中のいずれかの領域を選択し、その選
択した領域内を検索して上記書き戻しアドレスと一致す
る更新アドレスが検出された場合、その更新アドレスを
削除することを特徴とする請求項11記載のキャッシュ
フラッシュ装置。
12. The update address deletion means, when detecting a command indicating that all the cache blocks holding data indicated by a certain address are not dirty blocks, reads from the address an address of each area of the update address storage means. 12. The method according to claim 11, wherein any one of the selected areas is selected, and if the updated address matching the write-back address is detected by searching the selected area, the updated address is deleted. Cache flush device.
【請求項13】 上記更新アドレス記憶手段が備える複
数の領域それぞれが有するエントリ数は、対応するキャ
ッシュブロックの個数より小さいことを特徴とする請求
項7記載のキャッシュフラッシュ装置。
13. The cache flash device according to claim 7, wherein the number of entries in each of the plurality of areas included in said update address storage means is smaller than the number of corresponding cache blocks.
【請求項14】 上記更新アドレス記憶手段が備える複
数の領域それぞれが有するエントリ数は、対応するキャ
ッシュブロックの個数より小さいことを特徴とする請求
項9記載のキャッシュフラッシュ装置。
14. The cache flash device according to claim 9, wherein the number of entries in each of the plurality of areas included in said update address storage means is smaller than the number of corresponding cache blocks.
【請求項15】 上記更新アドレス記憶手段が備える複
数の領域それぞれが有するエントリ数は、対応するキャ
ッシュブロックの個数より小さいことを特徴とする請求
項11記載のキャッシュフラッシュ装置。
15. The cache flash device according to claim 11, wherein the number of entries in each of the plurality of areas included in said update address storage means is smaller than the number of corresponding cache blocks.
【請求項16】 上記更新アドレス記憶手段が備える複
数の領域は、上記更新アドレスのみで選択可能であるこ
とを特徴とする請求項1記載のキャッシュフラッシュ装
置。
16. The cache flash device according to claim 1, wherein a plurality of areas provided in said update address storage means can be selected only by said update address.
【請求項17】 上記更新アドレス記憶手段が備える複
数の領域は、上記更新アドレスのみで選択可能であるこ
とを特徴とする請求項7記載のキャッシュフラッシュ装
置。
17. The cache flash device according to claim 7, wherein a plurality of areas provided in said update address storage means can be selected only by said update address.
【請求項18】 上記更新アドレス記憶手段が備える複
数の領域は、上記更新アドレスのみで選択可能であるこ
とを特徴とする請求項9記載のキャッシュフラッシュ装
置。
18. The cache flash device according to claim 9, wherein a plurality of areas provided in said update address storage means can be selected only by said update address.
【請求項19】 上記更新アドレス記憶手段が備える複
数の領域は、上記更新アドレスのみで選択可能であるこ
とを特徴とする請求項11記載のキャッシュフラッシュ
装置。
19. The cache flash device according to claim 11, wherein a plurality of areas provided in said update address storage means can be selected only by said update address.
【請求項20】 上記更新アドレス記憶手段は、上記ダ
ーティブロックが保持するデータのアドレスを記憶する
ための領域それぞれに対応した上記ダーティブロックの
数を保持するためのダーティブロックカウンタを有し、 上記更新アドレス登録手段は、上記選択した領域に対応
した上記ダーティブロックカウンタをインクリメントす
るインクリメント手段を有し、 上記システムバスの監視によって上記ダーティブロック
が保持するデータの上記メインメモリへの書き戻しを検
知し、その書き戻しアドレスと書き戻しを行なった上記
プロセッサの識別番号とから上記更新アドレス記憶手段
の各領域の中のいずれかの領域を選択し、その選択した
領域に対応した上記ダーティブロックカウンタをデクリ
メントするデクリメント手段と、 このデクリメント手段のデクリメントによって上記ダー
ティブロックカウンタが初期値になったときに、そのダ
ーティブロックカウンタに対応する領域の中の更新アド
レスが格納されたエントリをすべて空きエントリとする
エントリ一括解放手段とを具備したことを特徴とする請
求項7記載のキャッシュフラッシュ装置。
20. The update address storage means has a dirty block counter for storing the number of the dirty blocks corresponding to each area for storing the address of the data stored in the dirty block. The address registering means has an incrementing means for incrementing the dirty block counter corresponding to the selected area, and detects writing back of the data held by the dirty block to the main memory by monitoring the system bus, Any one of the areas of the update address storage means is selected from the write-back address and the identification number of the processor that has performed the write-back, and the dirty block counter corresponding to the selected area is decremented. Decrement means and this When the dirty block counter becomes an initial value due to the decrement by the decrementing means, the entry block releasing means for setting all the entries storing the update addresses in the area corresponding to the dirty block counter to empty entries is provided. 8. The cache flush device according to claim 7, wherein:
【請求項21】 上記更新アドレス記憶手段は、上記ダ
ーティブロックが保持するデータのアドレスを記憶する
ための領域それぞれに対応した上記ダーティブロックの
数を保持するためのダーティブロックカウンタを有し、 上記更新アドレス登録手段は、上記選択した領域に対応
した上記ダーティブロックカウンタをインクリメントす
るインクリメント手段を有し、 上記更新アドレス削除手段は、上記選択した領域に対応
した上記ダーティブロックカウンタをデクリメントする
デクリメント手段を有し、 このデクリメント手段のデクリメントによって上記ダー
ティブロックカウンタが初期値になったときに、そのダ
ーティブロックカウンタに対応する領域に格納された更
新アドレスをすべて削除する一括削除手段を具備したこ
とを特徴とする請求項9記載のキャッシュフラッシュ装
置。
21. The update address storage means includes a dirty block counter for storing the number of the dirty blocks corresponding to each area for storing the address of the data held by the dirty block, The address registration means has increment means for incrementing the dirty block counter corresponding to the selected area, and the update address deletion means has decrement means for decrementing the dirty block counter corresponding to the selected area. When the dirty block counter becomes an initial value by the decrement of the decrementing means, a batch deleting means for deleting all update addresses stored in an area corresponding to the dirty block counter is provided. The cache flush device according to claim 9.
【請求項22】 上記更新アドレス記憶手段は、上記ダ
ーティブロックが保持するデータのアドレスを記憶する
ための領域それぞれに対応した上記ダーティブロックの
数を保持するためのダーティブロックカウンタを有し、 上記更新アドレス登録手段は、上記選択した領域に対応
した上記ダーティブロックカウンタをインクリメントす
るインクリメント手段を有し、 上記更新アドレス削除手段は、上記選択した領域に対応
した上記ダーティブロックカウンタをデクリメントする
デクリメント手段を有し、 このデクリメント手段のデクリメントによって上記ダー
ティブロックカウンタが初期値になったときに、そのダ
ーティブロックカウンタに対応する領域に格納された更
新アドレスをすべて削除する一括削除手段を具備したこ
とを特徴とする請求項11記載のキャッシュフラッシュ
装置。
22. The update address storage means includes a dirty block counter for storing the number of the dirty blocks corresponding to respective areas for storing addresses of data held by the dirty blocks, The address registration means has increment means for incrementing the dirty block counter corresponding to the selected area, and the update address deletion means has decrement means for decrementing the dirty block counter corresponding to the selected area. When the dirty block counter becomes an initial value by the decrement of the decrementing means, a batch deleting means for deleting all update addresses stored in an area corresponding to the dirty block counter is provided. The cache flush device according to claim 11.
【請求項23】 上記エントリ解放手段は、上記更新ア
ドレス記憶手段が備えた複数の領域の中のいずれかの領
域に格納されている更新アドレスの個数が、その領域に
対応する上記ダーティブロックカウンタの値が予め定め
られた値を越えて多くなったときに、その領域にすでに
格納されている更新アドレスの中のいずれか1つを選択
し、この選択した更新アドレスで示される上記ダーティ
ブロックが保持するデータの上記メインメモリへの書き
戻しを要求するコマンドを上記システムバスに発行する
とともに、その更新アドレスが格納されていたエントリ
を空きエントリとすることを特徴とする請求項20記載
のキャッシュフラッシュ装置。
23. The entry release means, wherein the number of update addresses stored in any one of the plurality of areas provided in the update address storage means determines whether the number of update addresses of the dirty block counter corresponding to the area is equal to the number of update addresses. When the value increases beyond a predetermined value, one of the update addresses already stored in the area is selected, and the dirty block indicated by the selected update address is held. 21. The cache flash device according to claim 20, wherein a command requesting a write-back of the data to be written back to the main memory is issued to the system bus, and the entry storing the updated address is made an empty entry. .
【請求項24】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項1記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストの上記メインメモリへの格納および上記
キャッシュフラッシュ装置の上記フラッシュ実行手段が
実行するすべてのダーティブロックが保持するデータの
上記メインメモリへの書き戻しを含むチェックポイント
作成手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
24. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. A cache system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 1; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing a data processing context synchronously executed by all the processors in the main memory and data held by all dirty blocks executed by the flush execution means of the cache flash device. Main memory above Checkpoint creation means including writing back to the main memory, and when a failure occurs, restoring the main memory at the time of the checkpoint taken immediately before, and using the information held in the restored main memory, A computer system comprising: rollback recovery means for restarting processing.
【請求項25】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項2のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストの上記メインメモリへの格納および上記
キャッシュフラッシュ装置の上記フラッシュ実行手段が
実行するすべてのダーティブロックが保持するデータの
上記メインメモリへの書き戻しを含むチェックポイント
作成手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
25. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 3. A computer system for periodically taking a checkpoint for restarting an interrupted process, comprising: a cache flush device according to claim 2; and a normal data process while causing the cache flush device to capture an update address. Data processing means to be executed, storing of a context during data processing executed by all of the processors synchronously in the main memory, and data storage of all dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back; and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. A computer system comprising: a rollback recovery unit for restarting.
【請求項26】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項3記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
26. A system comprising at least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 4. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 3; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed by all of the processors synchronously, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back; and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. A computer system comprising: a rollback recovery unit for restarting.
【請求項27】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項7記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
27. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 8. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 7; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back; and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. A computer system comprising: a rollback recovery unit for restarting.
【請求項28】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項8記載のキャッシュフラッシュ装置と、 上記キャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
28. At least one processor having a copy-back type cache memory having a bus snooping mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 9. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 8; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back; and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. A computer system comprising: a rollback recovery unit for restarting.
【請求項29】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項9記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
29. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 10. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 9; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back; and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. A computer system comprising: a rollback recovery unit for restarting.
【請求項30】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項10記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
30. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 11. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 10; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項31】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項11記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
31. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 12. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 11; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項32】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項12記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
32. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 13. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 12; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項33】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項13記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
33. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 14. A computer system for periodically taking a checkpoint for restarting an interrupted process, comprising: a cache flush device according to claim 13; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing a data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing a flush operation of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項34】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項14記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
34. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 15. A computer system for periodically taking a checkpoint for restarting an interrupted process, comprising: a cache flush device according to claim 14; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項35】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項15記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
35. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 16. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 15; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項36】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項16記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
36. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 17. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 16; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項37】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項17記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
37. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 18. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 17; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項38】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項18記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
38. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 19. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 18; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項39】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項19記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
39. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 20. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 19; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項40】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項20記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
40. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 21. A computer system for periodically taking a checkpoint for restarting an interrupted process, comprising: a cache flush device according to claim 20; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項41】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項21記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
41. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 22. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 21; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing a data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing a flush operation of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項42】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項22記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
42. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 23. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 22; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing the data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing the data stored in all the dirty blocks executed by the flash execution means of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項43】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項23記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納および上記キャ
ッシュフラッシュ装置の上記フラッシュ実行手段が実行
するすべてのダーティブロックが保持するデータの上記
メインメモリへの書き戻しを含むチェックポイント作成
手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
43. At least one processor having a copy-back type cache memory having a bus snooping mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 24. A computer system for periodically taking a checkpoint for restarting an interrupted process, comprising: a cache flush device according to claim 23; and normal data processing while causing the cache flush device to capture an update address. And a data processing means for executing a data processing context which is executed synchronously by all of the processors, storing the context in the main memory, and executing a flush operation of the cache flash device. To the above main memory Checkpoint creation means including write-back of the main memory, and, when a failure occurs, restoring the main memory at the time of the immediately preceding checkpoint, and performing data processing using the restored information held in the main memory. Computer system comprising: a rollback recovery unit for restarting the process.
【請求項44】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項4記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストの上記メインメモリへの格納および上記
キャッシュフラッシュ装置の上記更新アドレス読み出し
手段を介して上記更新アドレスを取得し、その取得した
更新アドレスで示されるデータを上記キャッシュメモリ
から上記メインメモリへ書き戻すための命令列を実行す
ることによるすべてのダーティブロックが保持するデー
タの上記メインメモリへの書き戻しを含むチェックポイ
ント作成手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
44. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 5. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 4; and normal data processing while causing the cache flush device to capture an update address. Data processing means for executing the processing, and storing the context during the data processing executed by all of the processors in synchronization with the main memory and acquiring the update address via the update address reading means of the cache flash device, Indicated by the acquired update address Checkpoint creation means including writing back all the dirty blocks to the main memory by executing an instruction sequence for writing back the data to be written from the cache memory to the main memory; Rollback recovery means for restoring the main memory at the time of the immediately preceding checkpoint, and resuming data processing using the information retained in the restored main memory. Computer system.
【請求項45】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項5記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストの上記メインメモリへの格納および上記
キャッシュフラッシュ装置の上記更新アドレス読み出し
手段を介して上記更新アドレスを取得し、その取得した
更新アドレスで示されるデータを上記キャッシュメモリ
から上記メインメモリへ書き戻すための命令列を実行す
ることによるすべてのダーティブロックが保持するデー
タの上記メインメモリへの書き戻しを含む上記チェック
ポイント作成手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
45. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 6. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 5; and normal data processing while causing the cache flush device to capture an update address. And a data processing unit that executes the processing, storing the context during the data processing executed by all of the processors in synchronization with the main memory and acquiring the update address through the update address reading unit of the cache flash device, Indicated by the acquired update address The checkpoint creation means including writing back the data held by all the dirty blocks to the main memory by executing an instruction sequence for writing back the data to be written from the cache memory to the main memory; Rollback recovery means for restoring the main memory at the time of a checkpoint taken immediately before when the occurrence occurs, and resuming data processing using the information retained in the restored main memory. Characteristic computer system.
【請求項46】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなり、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 請求項6記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストの上記メインメモリへの格納および上記
キャッシュフラッシュ装置の上記更新アドレス読み出し
手段を介して上記更新アドレスを取得し、その取得した
更新アドレスで示されるデータを上記キャッシュメモリ
から上記メインメモリへ書き戻すための命令列を実行す
ることによるすべてのダーティブロックが保持するデー
タの上記メインメモリへの書き戻しを含む上記チェック
ポイント作成手段と、 故障が発生したときに、直前に採取したチェックポイン
ト時点に上記メインメモリを復元し、この復元された上
記メインメモリに保持された情報を用いてデータ処理を
再開するロールバックリカバリ手段とを具備したことを
特徴とする計算機システム。
46. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. 7. A computer system for periodically collecting checkpoints for restarting interrupted processing, comprising: a cache flush device according to claim 6; and normal data processing while causing the cache flush device to capture an update address. And a data processing unit that executes the processing, storing the context during the data processing executed by all of the processors in synchronization with the main memory and acquiring the update address through the update address reading unit of the cache flash device, Indicated by the acquired update address The checkpoint creation means including writing back the data held by all the dirty blocks to the main memory by executing an instruction sequence for writing back the data to be written from the cache memory to the main memory; Rollback recovery means for restoring the main memory at the time of a checkpoint taken immediately before when the occurrence occurs, and resuming data processing using the information retained in the restored main memory. Characteristic computer system.
【請求項47】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項1記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
47. At least a first computer and a second computer, and a command for writing to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
A computer system for periodically taking a checkpoint for restarting an interrupted process, wherein the first computer acquires a cache flush device according to claim 1 and captures an update address in the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors in synchronization with the main memory; and all dirty processing executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means Serial when no command is received from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項48】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、 このメモリ更新観測手段が送信したコマンドを受信し
て、上記第2の計算機のメインメモリに対して上記第1
の計算機と同様の書き込みコマンドを発行するメモリ更
新手段とを備え、断した処理を再開始するためのチェッ
クポイントを定期的に採取する計算機システムであっ
て、 上記第1の計算機は、 請求項2記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
48. At least a first computer and a second computer, and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit for transmitting a command to the second computer; receiving the command transmitted by the memory update observing unit, and transmitting the command to the main memory of the second computer;
And a memory updating means for issuing a write command similar to that of the first computer, wherein the first computer periodically obtains a checkpoint for restarting the interrupted process. A cache flush device described above; data processing means for executing normal data processing while causing the cache flush device to capture an update address; and Storing, writing back the data held by all the dirty blocks executed by the flush execution unit of the cache flush unit to the main memory, and transmitting the stored command to the memory update observation unit to the second computer. Checkpoint collection means including transmission instructions The second computer includes a standby unit that starts data processing when the memory update unit has not received a command from the memory update observation unit for a predetermined time. Computer system.
【請求項49】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項3記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
49. At least a first computer and a second computer, and a command for writing to a main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 3 and the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors synchronously in the main memory; and all dirty operations executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means Serial when no command is received from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項50】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項7記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備してなることを特徴と
する計算機システム。
50. At least first and second computers and a write command to the main memory generated by the first computer are captured and accumulated, and when instructed by the first computer, the accumulated commands are stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting a checkpoint for restarting an interrupted process, wherein the first computer acquires the cache address of the cache flush device according to claim 7 and an update address of the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors synchronously in the main memory; and all dirty operations executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means Serial when no command is received from the memory update monitoring means, the computer system characterized by comprising comprises a waiting means for starting the data processing.
【請求項51】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項8記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
51. At least a first and a second computer, and a write command to a main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 8 and an update address of the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors synchronously in the main memory; and all dirty operations executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means Serial when no command is received from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項52】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、 このメモリ更新観測手段が送信したコマンドを受信し
て、上記第2の計算機のメインメモリに対して上記第1
の計算機と同様の書き込みコマンドを発行するメモリ更
新手段とを備え、中断した処理を再開始するためのチェ
ックポイントを定期的に採取する計算機システムであっ
て、 上記第1の計算機は、 請求項9記載のキャッシュフラッシュ装置と、 上記キャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
52. At least a first computer and a second computer, and a command for writing to a main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored commands are stored. A memory update observing unit for transmitting a command to the second computer; receiving the command transmitted by the memory update observing unit, and transmitting the command to the main memory of the second computer;
A computer updating means for issuing a write command similar to that of the computer, and periodically collecting checkpoints for restarting the interrupted processing, wherein the first computer comprises: A cache flush device described above; data processing means for executing normal data processing while causing the cache flush device to capture an update address; and Storing, writing back the data held by all the dirty blocks executed by the flush execution unit of the cache flush unit to the main memory, and transmitting the stored command to the memory update observation unit to the second computer. Checkpoint collection means including transmission instructions The second computer further comprises a standby unit for starting data processing when the memory update unit has not received a command from the memory update observation unit for a predetermined time. Computer system.
【請求項53】 少なくとも第1および第2の計算機
と、上記第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項10記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
53. At least first and second computers and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored commands are stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
A computer system for periodically taking a checkpoint for restarting an interrupted process, wherein the first computer acquires a cache flush device according to claim 10 and captures an update address in the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors synchronously in the main memory; and all dirty operations executed by the flash executing means of the cache flash device. A checkpoint collection unit including a write-back of data held by the block to the main memory, and a transmission instruction to the memory update observation unit for transmitting the stored command to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項54】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項11記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
54. At least first and second computers, and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored commands are stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
12. A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 11 and an update address of the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors in synchronization with the main memory; and all dirty processing executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means exceeds a predetermined time. When it does not receive a command from said memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項55】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項12記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
55. At least a first computer and a second computer, and a command for writing to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 12 and an update address of the cache flush device. Data processing means for executing normal data processing while storing the context during the data processing which is executed by all of the processors in synchronization with the main memory; A checkpoint collection unit including a write-back of data held by the block to the main memory, and a transmission instruction to the memory update observation unit for transmitting the stored command to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項56】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項13記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
56. At least first and second computers and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored commands are stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
14. A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires a cache flush device according to claim 13 and an update address in the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors in synchronization with the main memory; and all dirty processing executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means exceeds a predetermined time. When it does not receive a command from said memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項57】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項14記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
57. At least first and second computers and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 14 and an update address of the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors in synchronization with the main memory; and all dirty processing executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means exceeds a predetermined time. When it does not receive a command from said memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項58】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項15記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
58. At least first and second computers, and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
16. A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 15 and the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors synchronously in the main memory; and all dirty operations executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means exceeds a predetermined time. When it does not receive a command from said memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項59】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項16記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
59. At least first and second computers, and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
17. A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires a cache flush device according to claim 16 and an update address in the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors synchronously in the main memory; and all dirty operations executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means exceeds a predetermined time. When it does not receive a command from said memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項60】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項17記載のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
60. At least a first computer and a second computer, and a write command to a main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer acquires the cache address of the cache flush device according to claim 17 and the cache flush device. Data processing means for executing normal data processing while storing the context during data processing which is executed by all of the processors in synchronization with the main memory; and all dirty processing executed by the flash executing means of the cache flash device. A write-back of the data held by the block to the main memory; and a checkpoint collection unit including an instruction to transmit the stored command to the memory update observation unit to the second computer. The computer may be configured such that the memory updating means exceeds a predetermined time. When it does not receive a command from said memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項61】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項18のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
61. At least a first computer and a second computer, and a command for writing to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer causes the cache flush device according to claim 18 to acquire an update address. Data processing means for executing normal data processing while storing contexts in the main memory for data processing contexts executed synchronously by all of the processors, and all dirty blocks executed by the flush execution means of the cache flush device And a checkpoint collecting means including an instruction to write back the data held in the main memory to the main memory, and to transmit the stored command to the memory update observing means to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項62】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項19のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
62. At least first and second computers, and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. Memory updating means for issuing a command,
20. A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer causes the cache flush device according to claim 19 to capture an update address. Data processing means for executing normal data processing while storing contexts in the main memory for data processing contexts executed synchronously by all of the processors, and all dirty blocks executed by the flush execution means of the cache flush device And a checkpoint collecting means including an instruction to write back the data held in the main memory to the main memory, and to transmit the stored command to the memory update observing means to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項63】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項20のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
63. At least first and second computers and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored commands are stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
21. A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer causes the cache flash device according to claim 20 to capture an update address. Data processing means for executing normal data processing while storing all contexts during data processing which are executed synchronously by the processors in the main memory, and all dirty blocks executed by the flash execution means of the cache flash device And a checkpoint collecting means including an instruction to write back the data held in the main memory to the main memory, and to transmit the stored command to the memory update observing means to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項64】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを具備
し、中断した処理を再開始するためのチェックポイント
を定期的に採取する計算機システムであって、 上記第1の計算機は、 請求項21のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
64. At least first and second computers, and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. A memory update observing unit that transmits a command to the second computer; and a command that receives the command transmitted by the memory update observing unit and writes the same in the main memory of the second computer in the same manner as the first computer. 22. A computer system comprising: a memory updating unit for issuing a command; and periodically collecting checkpoints for restarting the interrupted processing, wherein the first computer comprises: a cache flush device according to claim 21; Data processing means for executing normal data processing while causing the cache flash device to capture an update address; Storing in the main memory the context in which data is being processed, all executed synchronously, writing back to the main memory the data held by all the dirty blocks executed by the flush execution means of the cache flash device, and Checkpoint collection means including an instruction to transmit the stored command to the second computer to the memory update observation means, the second computer comprising: A computer system comprising a standby unit for starting data processing when a command is not received from an update observation unit.
【請求項65】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項22のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
65. At least first and second computers and a write command to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored data is stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer causes the cache flush device according to claim 22 to capture an update address. Data processing means for executing normal data processing while storing all contexts during data processing which are executed synchronously by the processors in the main memory, and all dirty blocks executed by the flash execution means of the cache flash device And a checkpoint collecting means including an instruction to write back the data held in the main memory to the main memory, and to transmit the stored command to the memory update observing means to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項66】 少なくとも第1および第2の計算機
と、この第1の計算機で発生したメインメモリへの書き
込みコマンドを捉えて蓄積し、上記第1の計算機から指
示されたときに、上記蓄積したコマンドを上記第2の計
算機に送信するメモリ更新観測手段と、このメモリ更新
観測手段が送信したコマンドを受信して、上記第2の計
算機のメインメモリに対して上記第1の計算機と同様の
書き込みコマンドを発行するメモリ更新手段とを備え、
中断した処理を再開始するためのチェックポイントを定
期的に採取する計算機システムであって、 上記第1の計算機は、 請求項23のキャッシュフラッシュ装置と、 このキャッシュフラッシュ装置に更新アドレスの捕捉を
させながら通常のデータ処理を実行するデータ処理手段
と、 上記プロセッサすべてが同期して実行するデータ処理中
のコンテキストのメインメモリへの格納、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段が実行する
すべてのダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻し、および上記メモリ更新観測手段
に対する上記蓄積したコマンドの上記第2の計算機への
送信指示を含むチェックポイント採取手段とを具備し、 上記第2の計算機は、 上記メモリ更新手段が所定の時間を越えて上記メモリ更
新観測手段からコマンドを受信しなかったときに、デー
タ処理を開始する待機手段を具備したことを特徴とする
計算機システム。
66. At least a first computer and a second computer, and a command for writing to the main memory generated by the first computer are captured and stored, and when instructed by the first computer, the stored commands are stored. Memory update observing means for transmitting a command to the second computer; receiving the command transmitted by the memory update observing means; and writing the same in the main memory of the second computer as in the first computer. Memory updating means for issuing a command,
A computer system for periodically collecting checkpoints for restarting interrupted processing, wherein the first computer causes the cache flash device of claim 23 to capture an update address. Data processing means for executing normal data processing while storing all contexts during data processing which are executed synchronously by the processors in the main memory, and all dirty blocks executed by the flash execution means of the cache flash device And a checkpoint collecting means including an instruction to write back the data held in the main memory to the main memory, and to transmit the stored command to the memory update observing means to the second computer. Means that the memory updating means When it does not receive a command from the memory update monitoring means, computer system, characterized by comprising standby means for initiating a data processing.
【請求項67】 上記データ処理手段は、上記キャッシ
ュフラッシュ装置の上記フラッシュ実行手段を起動させ
る処理を含むことを特徴とする請求項24乃至45、請
求項47乃至66のいずれか1項に記載の計算機システ
ム。
67. The method according to claim 24, wherein said data processing means includes a process of activating said flush execution means of said cache flush device. Computer system.
【請求項68】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなる計算機に用いられ、 上記メインメモリに書き戻すべきデータを保持した状態
にあるキャッシュブロックであるダーティブロックが保
持するデータのアドレスを記憶するための領域を複数備
えた更新アドレス記憶手段を有するキャッシュフラッシ
ュ装置を制御するためのプログラムを記録した記録媒体
であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記キャッシュメモリ内に確保
されたキャッシュブロックのうち、上記更新アドレス記
憶手段の各領域の中のいずれかの領域を選択し、その選
択した領域に上記更新アドレスを格納する手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、データの書き戻しがあった書き戻しアドレ
スと書き戻しを行なった上記プロセッサの識別番号とに
基づいて、上記更新アドレス記憶手段の各領域の中のい
ずれかの領域を選択し、その選択した領域に格納された
上記書き戻しアドレスと一致する更新アドレスを削除す
る手順と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行する手順とを実行させるプログラムを記録したコンピ
ュータ読み取り可能な記録媒体。
68. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. A cache flash device which is used in a computer and has update address storage means provided with a plurality of areas for storing addresses of data held by a dirty block which is a cache block holding data to be written back to the main memory. A storage medium storing a program for controlling the data processing, wherein the processor detects the data update on the cache memory by monitoring the system bus, and updates the updated address of the data and the data updated. On the basis of the identification number and Selecting one of the areas of the update address storage means from the cache blocks secured in the cache memory and storing the update address in the selected area; and monitoring the system bus By doing so, the writing back of the data held by the dirty block to the main memory is detected, and the update is performed based on the write back address at which the data was written back and the identification number of the processor that performed the writing back. A step of selecting any one of the areas of the address storage means and deleting an update address that matches the write-back address stored in the selected area; and, in response to an instruction from the processor, Sequentially reading out all update addresses stored in the update address storage means, Issuing a command requesting write-back of data held by the dirty block to the main memory to the main memory, to the system bus.
【請求項69】 バススヌープ機構を有するコピーバッ
ク型でダイレクトマップ方式のキャッシュメモリを備え
た少なくとも1つのプロセッサと、メインメモリと、上
記少なくとも1つのプロセッサと上記メインメモリとを
接続するシステムバスとを具備してなる計算機に用いら
れ、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域を複数備えた更新アドレス記憶
手段を有するキャッシュフラッシュ装置を制御するため
のプログラムを記録した記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なったプロセッサの識別番号とに基づい
て、上記更新アドレス記憶手段の各領域の中のいずれか
の領域を選択し、その選択した領域に格納された更新ア
ドレスと上記書き戻しアドレスとを比較し、両者が一致
するときに、その選択した領域に格納された更新アドレ
スを削除する手順と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行する手順とを実行させるプログラムを記録したコンピ
ュータ読み取り可能な記録媒体。
69. At least one processor provided with a copy-back type direct-mapped cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. Dirty blocks, which are used in a computer provided and are provided corresponding to each of the cache blocks secured in the cache memory and are cache blocks in a state where data to be written back to the main memory are retained. A storage medium for storing a program for controlling a cache flash device having an update address storage unit provided with a plurality of areas each having one entry, the area being for storing data addresses. Monitor the above system bus The data update on the cache memory is thereby detected, and based on the update address at which the data was updated and the identification number of the processor that performed the data update, Selecting the area and storing the update address in the selected area; and monitoring the system bus to detect writing back of the data held by the dirty block to the main memory and writing the data. Based on the restored write-back address and the identification number of the processor that performed the write-back, any one of the areas of the update address storage means is selected, and the update stored in the selected area is selected. The address is compared with the write-back address, and when they match, the update address stored in the selected area is And sequentially reading all update addresses stored in the update address storage means in response to an instruction from the processor, and reading the main data of the data held by the dirty block indicated by the read update address. Issuing a command requesting a write-back to the memory to the system bus.
【請求項70】 バススヌープ機構を有するコピーバッ
ク型でダイレクトマップ方式のキャッシュメモリを備え
た少なくとも1つのプロセッサと、メインメモリと、上
記少なくとも1つのプロセッサと上記メインメモリとを
接続するシステムバスとを具備してなる計算機に用いら
れ、 上記キャッシュメモリ内に確保されるキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域およびこの領域に対応して設け
られるカウンタを複数備えた更新アドレス記憶手段を有
するキャッシュフラッシュ装置を制御するためのプログ
ラムを記録した記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段が備
えた複数の領域の中のいずれかの領域を選択し、その選
択した領域にその更新アドレスを格納するとともに、そ
の領域に対応する上記カウンタをインクリメントする手
順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とに基づ
いて、上記更新アドレス記憶手段の各領域の中のいずれ
かの領域を選択し、その選択した領域に対応する上記カ
ウンタをデクリメントする手順と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段の各領域のうち、その領域に対応する上記カ
ウンタの値が初期値でない領域に格納された更新アドレ
スを逐次読み出し、その読み出した更新アドレスで示さ
れる上記ダーティブロックが保持するデータの上記メイ
ンメモリへの書き戻しを要求するコマンドを上記システ
ムバスに発行する手順とを実行させるプログラムを記録
したコンピュータ読み取り可能な記録媒体。
70. At least one processor having a copy-back type and direct-mapped cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. A dirty block, which is used in a computer provided and is provided corresponding to each cache block secured in the cache memory and is a cache block in a state of holding data to be written back to the main memory, is held. A cache flash device is provided which has an area for storing data addresses, each area having one entry, and an update address storage means having a plurality of counters provided corresponding to this area. Program for recording A recording medium, detecting data update in the cache memory by monitoring the system bus, and based on an update address at which data is updated and an identification number of the processor that has performed data update, A step of selecting any one of a plurality of areas provided in the update address storage means, storing the update address in the selected area, and incrementing the counter corresponding to the area; By monitoring the write-back of the data held by the dirty block to the main memory, and based on the write-back address where the write-back was performed and the identification number of the processor that performed the write-back, Select any one of the areas of the update address storage means and correspond to the selected area Decrementing the counter, and, in response to an instruction from the processor, an update address stored in an area where the value of the counter corresponding to the area is not an initial value in each area of the update address storage means. And a procedure for issuing to the system bus a command for requesting the main memory to write back the data held by the dirty block indicated by the read update address. Recording medium.
【請求項71】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなる計算機に用いられ、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段を有するキャッシ
ュフラッシュ装置を制御するためのプログラムを記録し
た記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、データの書き戻しがあった書き戻しアドレ
スと書き戻しを行なった上記プロセッサの識別番号とに
基づいて、上記更新アドレス記憶手段の各領域の中のい
ずれかの領域を選択し、その選択した領域に格納された
上記書き戻しアドレスと一致する更新アドレスを削除す
る手順と、 上記更新アドレス記憶手段に記憶されたすべての更新ア
ドレスを逐次読み出し、その読み出した更新アドレスを
上記プロセッサが順次読み出せるように用意する手順と
を実行させるプログラムを記録したコンピュータ読み取
り可能な記録媒体。
71. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. An area for storing an address of data held by a dirty block, which is used in a computer and is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory. A storage medium storing a program for controlling a cache flash device having an update address storage means provided with a plurality of data storage means, wherein a data update in the cache memory is detected by monitoring the system bus, and the data update is performed. There was an update address and A step of selecting any one of the areas of the update address storage means based on the identification number of the processor that has performed the data update, and storing the update address in the selected area; By monitoring the system bus, write-back of the data held by the dirty block to the main memory is detected, and based on the write-back address where the data was written back and the identification number of the processor that performed the write-back. Selecting one of the areas in the update address storage means and deleting the update address that matches the write-back address stored in the selected area; All stored update addresses are sequentially read, and the read update addresses are sequentially read by the processor. And a computer-readable recording medium on which a program for executing the steps of:
【請求項72】 バススヌープ機構を有するコピーバッ
ク型でダイレクトマップ方式のキャッシュメモリを備え
た少なくとも1つのプロセッサと、メインメモリと、上
記少なくとも1つのプロセッサと上記メインメモリとを
接続するシステムバスとを具備してなる計算機に用いら
れ、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域を複数備えた更新アドレス記憶
手段を有するキャッシュフラッシュ装置を制御するため
のプログラムを記録した記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とに基づ
いて、上記更新アドレス記憶手段の各領域の中のいずれ
かの領域を選択し、その選択した領域に格納された更新
アドレスと上記書き戻しアドレスとを比較し、両者が一
致するときに、その選択した領域に格納された更新アド
レスを削除する手順と、 上記更新アドレス記憶手段に記憶されたすべての更新ア
ドレスを逐次読み出し、その読み出した更新アドレスを
上記プロセッサが順次読み出せるように用意する手順と
を実行させるプログラムを記録したコンピュータ読み取
り可能な記録媒体。
72. At least one processor having a copy-back type direct-mapped cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. A dirty block, which is used in a computer provided with the cache block and is provided corresponding to each of the cache blocks secured in the cache memory and is a cache block in a state in which data to be written back to the main memory is retained. A storage medium for storing a program for controlling a cache flash device having an update address storage means provided with a plurality of areas each having one entry, the area being for storing data addresses. Monitor the above system bus Thus, data update in the cache memory is detected, and based on the update address at which the data has been updated and the identification number of the processor that has performed the data update, any one of the areas of the update address storage means is determined. Selecting an area and storing the update address in the selected area; and, by monitoring the system bus, detecting writing back of the data held by the dirty block to the main memory and detecting the writing. Based on the returned write-back address and the identification number of the processor that performed the write-back, any one of the areas of the update address storage means is selected and stored in the selected area. The update address is compared with the write-back address, and when they match, the update address stored in the selected area is compared. And a step of sequentially reading all update addresses stored in the update address storage means and preparing the read update addresses so that the processor can sequentially read the update addresses. Possible recording medium.
【請求項73】 バススヌープ機構を有するコピーバッ
ク型でダイレクトマップ方式のキャッシュメモリを備え
た少なくとも1つのプロセッサと、メインメモリと、上
記少なくとも1つのプロセッサと上記メインメモリとを
接続するシステムバスとを具備してなる計算機に用いら
れ、 上記キャッシュメモリ内に確保されるキャッシュブロッ
クそれぞれに対応して設けられ、上記メインメモリに書
き戻すべきデータを保持した状態にあるキャッシュブロ
ックであるダーティブロックが保持するデータのアドレ
スを記憶するための領域であって、それぞれが1つのエ
ントリを有してなる領域およびこの領域に対応して設け
られるカウンタを複数備えた更新アドレス記憶手段を有
するキャッシュフラッシュ装置を制御するためのプログ
ラムを記録した記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
にその更新アドレスを格納するとともに、その領域に対
応する上記カウンタをインクリメントする手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、その書き戻しがあった書き戻しアドレスと
書き戻しを行なった上記プロセッサの識別番号とに基づ
いて、上記更新アドレス記憶手段の各領域の中のいずれ
かの領域を選択し、その選択した領域に対応する上記カ
ウンタをデクリメントする手順と、 上記更新アドレス記憶手段が備えた領域のうち、その領
域に対応するカウンタの値が初期値でない領域に格納さ
れた更新アドレスを逐次読み出し、その読み出した更新
アドレスを上記プロセッサが順次読み出せるように用意
する手順とを実行させるプログラムを記録したコンピュ
ータ読み取り可能な記録媒体。
73. At least one processor provided with a copy-back type direct-mapped cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. A dirty block, which is used in a computer provided and is provided corresponding to each cache block secured in the cache memory and is a cache block in a state of holding data to be written back to the main memory, is held. A cache flash device is provided which has an area for storing data addresses, each area having one entry, and an update address storage means having a plurality of counters provided corresponding to this area. Program for recording A recording medium, detecting data update in the cache memory by monitoring the system bus, and based on an update address at which data is updated and an identification number of the processor that has performed data update, Selecting one of the areas in the update address storage means, storing the update address in the selected area, incrementing the counter corresponding to the area, and monitoring the system bus Thus, writing back of the data held by the dirty block to the main memory is detected, and the update address storage is performed based on the write back address at which the write back was performed and the identification number of the processor that performed the write back. Select one of the areas of the means, and select the area corresponding to the selected area. Decrementing a counter, and sequentially reading update addresses stored in an area where the value of a counter corresponding to the area is not an initial value among the areas provided in the update address storage means, and reading the read update address into the processor. And a computer-readable recording medium on which a program for executing a procedure for preparing to be sequentially read is recorded.
【請求項74】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなる計算機に用いられ、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段を有するキャッシ
ュフラッシュ装置を制御するためのプログラムを記録し
た記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する手順と、 上記データ更新時に選択した領域の空きエントリ数を所
定値と比較し、空きエントリ数が上記所定値を下回ると
きに、その領域にすでに格納されている更新アドレスの
中のいずれか1つを選択し、この選択した更新アドレス
で示される上記ダーティブロックが保持するデータの上
記メインメモリへの書き戻しを要求するコマンドを上記
システムバスに発行するとともに、その更新アドレスが
格納されていたエントリを空きエントリとする手順と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行する手順とを実行させるプログラムを記録したコンピ
ュータ読み取り可能な記録媒体。
74. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. An area for storing an address of data held by a dirty block, which is used in a computer and is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory. A storage medium storing a program for controlling a cache flash device having an update address storage means provided with a plurality of data storage means, wherein a data update in the cache memory is detected by monitoring the system bus, and the data update is performed. There was an update address and A step of selecting any one of the areas of the update address storage means based on the identification number of the processor that has performed the data update, and storing the update address in the selected area; Comparing the number of empty entries in the area selected at the time of data update with a predetermined value, and when the number of empty entries falls below the predetermined value, selects one of the update addresses already stored in the area; A command for requesting the main memory to write back the data held by the dirty block indicated by the selected update address to the main memory is issued to the system bus, and the entry storing the update address is set as an empty entry. Procedure, and in response to an instruction from the processor, updates all update addresses stored in the update address storage means. Computer-readable recording a program for executing a sequential reading and a command for requesting the system memory to write back the data held by the dirty block indicated by the read updated address to the main memory, to the system bus. recoding media.
【請求項75】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなる計算機に用いられ、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段を有するキャッシ
ュフラッシュ装置を制御するためのプログラムを記録し
た記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、書き戻しがあった書き戻しアドレスと書き
戻しを行なった上記プロセッサの識別番号とに基づい
て、上記更新アドレス記憶手段の各領域の中のいずれか
の領域を選択し、その選択した領域内に上記書き戻しア
ドレスと一致する更新アドレスがあるか否かを一定時間
だけ検索し、上記書き戻しアドレスと一致する更新アド
レスが検出された場合、その更新アドレスを削除する手
順と、 上記データ更新時に選択した領域の空きエントリ数を所
定値と比較し、空きエントリ数が上記所定値を下回ると
きに、その領域にすでに格納されている更新アドレスの
中のいずれか1つを選択し、この選択した更新アドレス
で示される上記ダーティブロックが保持するデータの上
記メインメモリへの書き戻しを要求するコマンドを上記
システムバスに発行するとともに、その更新アドレスが
格納されていたエントリを空きエントリとする手順と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行する手順とを実行させるプログラムを記録したコンピ
ュータ読み取り可能な記録媒体。
75. At least one processor having a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. An area for storing an address of data held by a dirty block, which is a cache block used to hold data to be written back to the main memory among cache blocks secured in the cache memory and used in the computer. A storage medium storing a program for controlling a cache flash device having an update address storage means provided with a plurality of data storage means, wherein a data update on the cache memory is detected by monitoring the system bus, and the data update is performed. There was an update address and A step of selecting one of the areas of the update address storage means based on the identification number of the processor that has performed the data update and storing the update address in the selected area; By monitoring the system bus, the write-back of the data held by the dirty block to the main memory is detected, and based on the write-back address where the write-back was performed and the identification number of the processor that performed the write-back, Any one of the areas in the update address storage means is selected, and a search is performed for a predetermined time to determine whether or not the selected area has an update address that matches the write-back address. If an update address that matches the address is detected, the procedure for deleting the update address and the free space in the area selected at the time of data update are performed. The number of birds is compared with a predetermined value, and when the number of empty entries is smaller than the predetermined value, one of the update addresses already stored in the area is selected and indicated by the selected update address. Issuing a command requesting writing back of the data held by the dirty block to the main memory to the system bus, and setting the entry storing the updated address as a free entry, and an instruction from the processor. In response to the command, all the update addresses stored in the update address storage means are sequentially read, and a command requesting the data stored in the dirty block indicated by the read update address to be written back to the main memory is issued. Computer recording a program for executing the above-mentioned procedure for issuing to the system bus A readable recording medium.
【請求項76】 バススヌープ機構を有するコピーバッ
ク型のキャッシュメモリを備えた少なくとも1つのプロ
セッサと、メインメモリと、上記少なくとも1つのプロ
セッサと上記メインメモリとを接続するシステムバスと
を具備してなる計算機に用いられ、 上記キャッシュメモリ内に確保されたキャッシュブロッ
クのうち、上記メインメモリに書き戻すべきデータを保
持した状態にあるキャッシュブロックであるダーティブ
ロックが保持するデータのアドレスを記憶するための領
域を複数備えた更新アドレス記憶手段を有するキャッシ
ュフラッシュ装置を制御するためのプログラムを記録し
た記録媒体であって、 上記システムバスを監視することにより上記キャッシュ
メモリ上でのデータ更新を検知し、データ更新があった
更新アドレスとデータ更新を行なった上記プロセッサの
識別番号とに基づいて、上記更新アドレス記憶手段の各
領域の中のいずれかの領域を選択し、その選択した領域
に上記更新アドレスを格納する手順と、 上記システムバスを監視することにより上記ダーティブ
ロックが保持するデータの上記メインメモリへの書き戻
しを検知し、書き戻しがあった書き戻しアドレスと書き
戻しを行なった上記プロセッサの識別番号とに基づい
て、上記更新アドレス記憶手段の各領域の中のいずれか
の領域を選択し、その選択した領域内に上記書き戻しア
ドレスと一致する更新アドレスがあるか否かを当該キャ
ッシュフラッシュ装置が次に処理すべきコマンドを検知
するまで検索し、上記書き戻しアドレスと一致する更新
アドレスが検出された場合、その更新アドレスを削除す
る手順と、 上記データの更新時に選択した領域の空きエントリ数を
所定値と比較し、空きエントリ数が上記所定値を下回る
ときに、その領域にすでに格納されている更新アドレス
の中のいずれか1つを選択し、この選択した更新アドレ
スで示される上記ダーティブロックが保持するデータの
上記メインメモリへの書き戻しを要求するコマンドを上
記システムバスに発行するとともに、その更新アドレス
が格納されていたエントリを空きエントリとする手順
と、 上記プロセッサからの指示に応答して、上記更新アドレ
ス記憶手段に記憶されたすべての更新アドレスを逐次読
み出し、その読み出した更新アドレスで示される上記ダ
ーティブロックが保持するデータの上記メインメモリへ
の書き戻しを要求するコマンドを上記システムバスに発
行する手順とを実行させるプログラムを記録したコンピ
ュータ読み取り可能な記録媒体。
76. At least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory, and a system bus connecting the at least one processor and the main memory. An area for storing an address of data held by a dirty block, which is used in a computer and is a cache block in a state of holding data to be written back to the main memory among cache blocks secured in the cache memory. A storage medium storing a program for controlling a cache flash device having an update address storage means provided with a plurality of data storage means, wherein a data update in the cache memory is detected by monitoring the system bus, and the data update is performed. There was an update address and A step of selecting any one of the areas of the update address storage means based on the identification number of the processor that has performed the data update, and storing the update address in the selected area; By monitoring the system bus, the write-back of the data held by the dirty block to the main memory is detected, and based on the write-back address where the write-back was performed and the identification number of the processor that performed the write-back, Any one of the areas of the update address storage means is selected, and the cache flash device should next process whether or not there is an update address that matches the write-back address in the selected area. Search until a command is detected.If an update address that matches the write-back address is detected, the update address is deleted. And comparing the number of empty entries in the area selected at the time of updating the data with a predetermined value, and when the number of empty entries falls below the predetermined value, any one of the update addresses already stored in the area. One is selected, a command is issued to the system bus requesting that the data held by the dirty block indicated by the selected update address be written back to the main memory, and the update address is stored. In response to an instruction from the processor, a procedure for setting an entry to an empty entry, and sequentially reading all update addresses stored in the update address storage means, and holding the dirty block indicated by the read update address Issue a command to the system bus to request that data be written back to the main memory. And a computer-readable recording medium recording a program for executing the steps.
JP9274214A 1997-03-19 1997-10-07 Cache flashing device, computer system provided with the device and recording medium Pending JPH10320274A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9274214A JPH10320274A (en) 1997-03-19 1997-10-07 Cache flashing device, computer system provided with the device and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-67021 1997-03-19
JP6702197 1997-03-19
JP9274214A JPH10320274A (en) 1997-03-19 1997-10-07 Cache flashing device, computer system provided with the device and recording medium

Publications (1)

Publication Number Publication Date
JPH10320274A true JPH10320274A (en) 1998-12-04

Family

ID=26408225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9274214A Pending JPH10320274A (en) 1997-03-19 1997-10-07 Cache flashing device, computer system provided with the device and recording medium

Country Status (1)

Country Link
JP (1) JPH10320274A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012074036A (en) * 2010-09-28 2012-04-12 Arm Ltd Coherency control with writeback ordering
JP2014186521A (en) * 2013-03-22 2014-10-02 Fujitsu Ltd Arithmetic processing unit, information processing unit, and control method of arithmetic processing unit
US10366021B2 (en) 2015-12-30 2019-07-30 Samsung Electronics Co., Ltd. Memory system including DRAM cache and cache management method thereof

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4322815A (en) * 1979-05-09 1982-03-30 International Computers Limited Hierarchical data storage system
JPS59160899A (en) * 1982-12-09 1984-09-11 セコイア・システムス・インコ−ポレ−テツド Memory backup system
JPS638835A (en) * 1986-06-27 1988-01-14 Yokogawa Hewlett Packard Ltd Trouble recovery device
JPH0227440A (en) * 1988-06-30 1990-01-30 Internatl Business Mach Corp <Ibm> Memory system
JPH02217943A (en) * 1989-02-20 1990-08-30 Toshiba Corp Rapid cache memory
JPH056308A (en) * 1990-11-05 1993-01-14 Mitsubishi Electric Corp Cache controller, fault tolerant computer and its data transfer system
JPH086851A (en) * 1994-06-16 1996-01-12 Toshiba Corp Cache memory controller
JPH096731A (en) * 1995-06-19 1997-01-10 Toshiba Corp Memory state restoration device
JPH096636A (en) * 1995-06-19 1997-01-10 Toshiba Corp Check point acquisition system
JPH096680A (en) * 1995-06-19 1997-01-10 Toshiba Corp Cache flush device
JPH09198312A (en) * 1996-01-17 1997-07-31 Hitachi Ltd Semiconductor memory system
JPH09259098A (en) * 1996-03-19 1997-10-03 Toshiba Corp Decentralized memory type multiprocessor system and fault recovery method
JPH09269905A (en) * 1996-01-31 1997-10-14 Toshiba Corp Computer system
JPH09330303A (en) * 1996-06-12 1997-12-22 Toshiba Corp Computer system and its fault recovering method
JPH1078918A (en) * 1996-09-04 1998-03-24 Toshiba Corp Check point processing accerelator and computer system to which the same device is applied
JPH10149307A (en) * 1996-09-20 1998-06-02 Toshiba Corp Check point processing method and recording medium
JPH10154134A (en) * 1996-09-30 1998-06-09 Toshiba Corp Memory update history preserving device and memory update history preserving method
JPH10187535A (en) * 1996-12-24 1998-07-21 Toshiba Corp Computer system and memory state recovering device
JP2916421B2 (en) * 1996-09-09 1999-07-05 株式会社東芝 Cache flush device and data processing method

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4322815A (en) * 1979-05-09 1982-03-30 International Computers Limited Hierarchical data storage system
JPS59160899A (en) * 1982-12-09 1984-09-11 セコイア・システムス・インコ−ポレ−テツド Memory backup system
JPS638835A (en) * 1986-06-27 1988-01-14 Yokogawa Hewlett Packard Ltd Trouble recovery device
JPH0227440A (en) * 1988-06-30 1990-01-30 Internatl Business Mach Corp <Ibm> Memory system
JPH02217943A (en) * 1989-02-20 1990-08-30 Toshiba Corp Rapid cache memory
JPH056308A (en) * 1990-11-05 1993-01-14 Mitsubishi Electric Corp Cache controller, fault tolerant computer and its data transfer system
JPH086851A (en) * 1994-06-16 1996-01-12 Toshiba Corp Cache memory controller
JPH096636A (en) * 1995-06-19 1997-01-10 Toshiba Corp Check point acquisition system
JPH096731A (en) * 1995-06-19 1997-01-10 Toshiba Corp Memory state restoration device
JPH096680A (en) * 1995-06-19 1997-01-10 Toshiba Corp Cache flush device
JPH09198312A (en) * 1996-01-17 1997-07-31 Hitachi Ltd Semiconductor memory system
JPH09269905A (en) * 1996-01-31 1997-10-14 Toshiba Corp Computer system
JPH09259098A (en) * 1996-03-19 1997-10-03 Toshiba Corp Decentralized memory type multiprocessor system and fault recovery method
JPH09330303A (en) * 1996-06-12 1997-12-22 Toshiba Corp Computer system and its fault recovering method
JPH1078918A (en) * 1996-09-04 1998-03-24 Toshiba Corp Check point processing accerelator and computer system to which the same device is applied
JP2916421B2 (en) * 1996-09-09 1999-07-05 株式会社東芝 Cache flush device and data processing method
JPH10149307A (en) * 1996-09-20 1998-06-02 Toshiba Corp Check point processing method and recording medium
JPH10154134A (en) * 1996-09-30 1998-06-09 Toshiba Corp Memory update history preserving device and memory update history preserving method
JPH10187535A (en) * 1996-12-24 1998-07-21 Toshiba Corp Computer system and memory state recovering device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012074036A (en) * 2010-09-28 2012-04-12 Arm Ltd Coherency control with writeback ordering
JP2014186521A (en) * 2013-03-22 2014-10-02 Fujitsu Ltd Arithmetic processing unit, information processing unit, and control method of arithmetic processing unit
US10366021B2 (en) 2015-12-30 2019-07-30 Samsung Electronics Co., Ltd. Memory system including DRAM cache and cache management method thereof
US11023396B2 (en) 2015-12-30 2021-06-01 Samsung Electronics Co., Ltd. Memory system including DRAM cache and cache management method thereof

Similar Documents

Publication Publication Date Title
JP2916421B2 (en) Cache flush device and data processing method
JP2916420B2 (en) Checkpoint processing acceleration device and data processing method
US7085955B2 (en) Checkpointing with a write back controller
JP2566701B2 (en) Change ownership controller for data units in shared cache
KR100247875B1 (en) Multi-processor system
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
KR100567099B1 (en) Method and apparatus for facilitating speculative stores in a multiprocessor system
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
US7925839B1 (en) System and method for performing memory operations in a computing system
US6418515B1 (en) Cache flush unit
KR100243853B1 (en) Method and apparatus for an improved memory architecture
JP2902976B2 (en) Cache flush device
JP3086779B2 (en) Memory state restoration device
EP0372201B1 (en) Method for fetching potentially dirty data in multiprocessor systems
US7260677B1 (en) Programmable system and method for accessing a shared memory
US5016168A (en) Method for storing into non-exclusive cache lines in multiprocessor systems
JPH05210584A (en) Digital data processor having improved paging
JPH10320274A (en) Cache flashing device, computer system provided with the device and recording medium
JP3320562B2 (en) Computer with cache memory
JP3083786B2 (en) Memory update history storage device and memory update history storage method
JPH0744459A (en) Cache control method and cache controller
JP3833760B2 (en) Computer system and memory state restoration device
JP3555847B2 (en) Cache memory failure processing apparatus, cache memory failure processing method, and multiprocessor system
JPH10149307A (en) Check point processing method and recording medium
JPH05324470A (en) Multiprocessor system, method and device for controlling cache memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081021