JP3083786B2 - Memory update history storage device and memory update history storage method - Google Patents

Memory update history storage device and memory update history storage method

Info

Publication number
JP3083786B2
JP3083786B2 JP09228238A JP22823897A JP3083786B2 JP 3083786 B2 JP3083786 B2 JP 3083786B2 JP 09228238 A JP09228238 A JP 09228238A JP 22823897 A JP22823897 A JP 22823897A JP 3083786 B2 JP3083786 B2 JP 3083786B2
Authority
JP
Japan
Prior art keywords
cache
memory
transaction
bus
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09228238A
Other languages
Japanese (ja)
Other versions
JPH10154134A (en
Inventor
美生 増渕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP09228238A priority Critical patent/JP3083786B2/en
Publication of JPH10154134A publication Critical patent/JPH10154134A/en
Application granted granted Critical
Publication of JP3083786B2 publication Critical patent/JP3083786B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】この発明はコンピュータシス
テムの主記憶の内容を復元するメモリ状態回復機能の実
現に必要な主記憶の更新履歴情を保存するメモリ更新履
歴保存装置およびメモリ更新履歴保存方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory update history storage device and a memory update history storage method for storing update history information of a main memory necessary for realizing a memory state recovery function for restoring the contents of a main memory of a computer system. .

【0002】[0002]

【従来の技術】通常のコンピュータシステムでは、プロ
グラムを実行した場合に、一旦処理が進んでしまうと、
それ以前の状態に戻って処理を再開するということは一
般に行うことができない。
2. Description of the Related Art In a normal computer system, once a program is executed, once the process proceeds,
It is generally not possible to return to an earlier state and resume processing.

【0003】ところが、次に示す各種の応用技術におい
ては、メモリの内容を以前の状態に戻してその時点から
処理を継続する機能(メモリ状態回復機能)があること
が望まれる。
However, in the following various applied technologies, it is desired to have a function of returning the contents of the memory to the previous state and continuing the processing from that point (memory state recovery function).

【0004】・ソフトウェアデバッキング プログラムの実行中に何らかのエラーが発生した場合
に、以前の状態に遡ることにより、エラーの原因を解析
することができる。
[0004] If any error occurs during execution of the software debugging program, the cause of the error can be analyzed by going back to the previous state.

【0005】・フォールトトレラントシステム システムの動作中に何らかの故障により処理が続行でき
なくなった場合、以前の状態に戻ってそこから処理を再
開することにより、システムを停止させることなく動作
を継続することができる。
Fault Tolerant System When processing cannot be continued due to some kind of failure during the operation of the system, it is possible to continue the operation without stopping the system by returning to the previous state and restarting the processing therefrom. it can.

【0006】このようなフォールトトレラント技術は、
例えばPhilip A Bernstein, “Sequoia:A Fault-Tolera
nt Tightly Coupled Multiprocessor for Transaction
Processing, ”IEEE Computer, Vol.21,No.2,1988 に開
示されている。
[0006] Such a fault-tolerant technique is:
For example, Philip A Bernstein, “Sequoia: A Fault-Tolera
nt Tightly Coupled Multiprocessor for Transaction
Processing, "IEEE Computer, Vol. 21, No. 2, 1988.

【0007】・バックトラッキング 論理型のプログラミング言語では、実行状態のバックト
ラッキングが基本的な操作である。メモリの内容が以前
の状態に戻る機能を用いることにより、バックトラッキ
ングを実現することができる。
Backtracking In a logic programming language, backtracking of the execution state is a basic operation. By using the function of returning the contents of the memory to the previous state, back tracking can be realized.

【0008】以上のようなメモリ状態回復機能を実現す
る方法として考えられている技術の一つに、“バックワ
ード手法”がある。このような技術は、例えばRok Sosi
c ,“History Cache:Hardware Support for Reverse E
xecutrrion, ”Computer Architecture News, Vol.22,N
o.5,1994に開示されている。
One of the techniques considered as a method for realizing the memory state recovery function as described above is a "backward method". Such techniques are, for example, Rok Sosi
c, “History Cache: Hardware Support for Reverse E
xecutrrion, ”Computer Architecture News, Vol.22, N
o.5, 1994.

【0009】図6には、“バックワード手法”を用いて
メモリ状態回復機能を実現するために必要な従来の典型
的なコンピュータシステムの構成が示されている。図6
のシステムでは、N個のCPU31〜32、各CPUに
対応するN個のキャッシュ41〜42が設けられてい
る。キャッシュ41〜42は、メモリ制御部60とバス
50を介して接続されている。
FIG. 6 shows a configuration of a typical conventional computer system required to realize a memory state recovery function using the "backward method". FIG.
In this system, N CPUs 31 to 32 and N caches 41 to 42 corresponding to each CPU are provided. The caches 41 to 42 are connected to the memory control unit 60 via the bus 50.

【0010】メモリ制御部60は、主メモリ70とビフ
ォアイメージバッファ80とに接続されており、それら
主メモリ70およびビフォアイメージバッファ80に対
するアクセスを制御する。ビフォアイメージバッファ8
0は、主メモリ70の更新前データとそのアドレスとの
組から成る更新履歴情報を格納するためのものである。
The memory controller 60 is connected to the main memory 70 and the before image buffer 80, and controls access to the main memory 70 and the before image buffer 80. Before image buffer 8
0 is for storing update history information including a pair of pre-update data of the main memory 70 and its address.

【0011】メモリ制御部60は、主メモリ70に対す
る書き込み要求が発行されると、主メモリ70に対する
実際のライトアクセスに先だって、書き込み対象の更新
前データを主メモリ70から読み出し、その読み出しデ
ータと対応するアドレスとをビフォアイメージバッファ
80に書き込む。
When a write request to the main memory 70 is issued, the memory control unit 60 reads the pre-update data to be written from the main memory 70 prior to the actual write access to the main memory 70 and associates the read data with the read data. Is written to the before image buffer 80.

【0012】この構成により、障害発生時などにおいて
は、ビフォアイメージバッファ80の更新履歴情報を主
メモリ70に書き戻すだけで、主メモリ70の内容を障
害発生前の状態に復元することが可能となる。
With this configuration, when a failure occurs, the contents of the main memory 70 can be restored to the state before the failure only by writing back the update history information of the before image buffer 80 to the main memory 70. Become.

【0013】[0013]

【発明が解決しようとする課題】ところが、この方式で
は、メモリ制御部60に、ビフォアイメージバッファ8
0に対するアクセスを制御するバッファアクセス制御機
能と、主メモリ70の状態を保存するために必要な各種
機能を制御するための状態保存制御機能などを組み込む
必要があるため、既存のメモリコントローラを利用する
ことができず、メモリコントローラを新たに開発しなけ
ればならないという問題がある。したがって、既存のコ
ンピュータシステムをそのまま流用してメモリ状態回復
機能を実現することは実際上困難であった。
However, in this method, the memory control unit 60 has a before image buffer 8
An existing memory controller is used because it is necessary to incorporate a buffer access control function for controlling access to 0 and a state saving control function for controlling various functions necessary for saving the state of the main memory 70. And a new memory controller must be developed. Therefore, it is practically difficult to realize the memory state recovery function by diverting the existing computer system as it is.

【0014】この発明は、既存のコンピュータシステム
のメモリ制御部を改造せずに、既存のコンピュータシス
テムをそのまま流用して容易にメモリ状態回復機能を実
現し得るメモリ更新履歴保存装置およびメモリ更新履歴
保存方法を提供することを目的とする。
According to the present invention, a memory update history storage device and a memory update history storage device capable of easily realizing a memory state recovery function by diverting an existing computer system without modifying a memory control unit of the existing computer system. The aim is to provide a method.

【0015】[0015]

【課題を解決するための手段】この発明は、キャッシュ
を内蔵又は接続する少なくとも一つのCPUと、主メモ
リと、この主メモリに接続され読み出し書き込み制御を
行なうメモリコントローラと、前記キャッシュ又はCP
Uとメモリコントローラとが接続されるバスとを備えた
コンピュータシステムであって、前記コンピユータシス
テムに故障が発生した場合に前記主メモリの記憶内容を
復元するために必要な更新履歴情報を保存するメモリ更
新履歴保存装置において、前記主メモリの記憶内容およ
びその記憶アドレスを組とする前記更新履歴情報を格納
するバッファと、前記バッファおよび前記バスに接続さ
れ、前記バスに出力されるトランザクションを監視し
て、前記CPUが前記キャッシュに対してライトアクセ
ス要求を行なった場合に前記キャッシュ又はCPUから
前記バスに出力されるライトトランザクションに応答し
て、前記主メモリの対応するアドレスに対し書き込みが
行われる前に、その記憶アドレスから上記記憶内容を読
み出すためのリードトランザクションを前記バスを介し
前記メモリコントローラに出力するバッファアクセス制
御手段とを具備することを特徴とする。
SUMMARY OF THE INVENTION The present invention provides a cache
At least one CPU with or without
And read / write control connected to this main memory.
Memory controller and the cache or CP
U and a bus connected to the memory controller
A computer system, wherein the computer system
In the event of a system failure, the contents of the main memory are
Memory update to save update history information necessary for restoration
In the new history storage device, the contents stored in the main memory and
And the update history information as a set of the storage address
Buffer connected to the buffer and the bus.
And monitor transactions issued to the bus.
The write access to the cache by the CPU.
A cache request from the cache or CPU
In response to a write transaction output to the bus
Therefore, writing to the corresponding address of the main memory is not possible.
Before the operation is performed, the above storage contents are read from the storage address.
A read transaction through the bus
Buffer access control for outputting to the memory controller
And control means .

【0016】このこのメモリ更新履歴保存装置において
は、メモリコントローラとは別個にバッファアクセス制
御手段が設けられており、それがバスに接続されてい
る。バッファアクセス制御手段は、主記憶に対するライ
トアクセス要求がメモりコントローラに送られた時に動
作するのではなく、CPUからそれに対応するキャッシ
ュに対してライトアクセス要求があった場合に当該キャ
ッシュからバス上に発行されるトランザクション、例え
ば、ライトスルー型キャッシュであれば主記憶へのデー
タ書き込みのためのライトトランザクションなど、コピ
ーバック(ライトバック)型のキャッシュであればバス
に接続し得る他のキャッシュに対して対応するキャッシ
ュラインの無効化を指示する無効化トランザクション
、に応答して自動的に動作する。これらトランザクシ
ョンが検出されると、バッファアクセス制御手段は、
れらのトランザクションで指定されるアドレスを用いる
事などにより、ライトアクセス要求の対象となる主記憶
上のデータを読み出すためのリードトランザクションを
バス上に発行する。そして、このリードトランザクショ
ンに応答してメモリコントローラが主記憶からバス上に
読み出したデータと、そのデータに対応するアドレスと
が、バッファアクセス制御手段によってバッファに書き
込まれる。
In this memory update history storage device, buffer access control means is provided separately from the memory controller, and it is connected to the bus. The buffer access control means does not operate when a write access request to the main memory is sent to the memory controller. Transactions to be issued, for example, data in main memory for a write-through cache
Copy transactions such as write transactions
Bakku invalidation transactions to instruct disabling (write back) type of the corresponding cache line to other caches that may be connected to the bus if a cache
Etc., to operate automatically in response to. When these Toranzakushi <br/> ® emission is detected, the buffer access control means, its
By using an address specified by these transactions, a read transaction for reading data on the main storage, which is the target of the write access request, is issued on the bus. Then, the data read from the main memory to the bus by the memory controller in response to the read transaction and the address corresponding to the data are written into the buffer by the buffer access control means.

【0017】このように、メモリコントローラとは独立
して動作可能なバッファアクセス制御手段を設けること
により、既存のコンピュータシステムのメモリコントロ
ーラを改造せずに、既存のコンピュータシステムをその
まま流用して容易にメモリ状態回復機能を実現すること
が可能となる。
As described above, by providing the buffer access control means which can operate independently of the memory controller, the existing computer system can be easily used without modification without modifying the memory controller of the existing computer system. It is possible to realize a memory state recovery function.

【0018】また、主記憶へのデータ書き込み時では無
く、キャッシュへのデータ書き込み時に更新前データを
採取しているので、チェックポイントロールバックによ
るシステム回復手法を用いているシステムに適用した場
合には、チェックポイント時に、キャッシュに保持され
ていた更新データを主記憶に書き出すだけで良く、この
時点で更新前データをバッファに保存する必要がなくな
るため、チェックポイント処理のオーバーヘッドを小さ
くすることができる。
Since data before updating is collected not when writing data to the main memory but when writing data to the cache, when applied to a system using a system recovery method by checkpoint rollback, At the time of a checkpoint, it is only necessary to write the update data held in the cache to the main memory, and it is not necessary to save the pre-update data in the buffer at this point, so that the overhead of the checkpoint process can be reduced.

【0019】また、バッファアクセス制御手段は、キャ
ッシュから発行されるトランザクションが、主記憶、あ
るいはバスに接続し得る他のキャッシュの対応するキャ
ッシュラインからのデータ読み出し、および他のキャッ
シュの対応するキャッシュラインの無効化を指示するリ
ードおよび無効化トランザクションである場合には、バ
ス上にトランザクションを発行せず、キャッシュからの
リードおよび無効化トランザクションによってバス上に
読み出されたデータおよび対応するアドレスをそのまま
利用してバッファに格納することができる。
Further, the buffer access control means may be arranged so that a transaction issued from a cache reads data from a corresponding cache line of a main memory or another cache which can be connected to a bus, and a corresponding cache line of another cache. If the transaction is a read or invalidation transaction that instructs invalidation, the transaction is not issued on the bus, and the data and corresponding address read on the bus by the cache read and invalidation transaction are used as is. And store it in a buffer.

【0020】[0020]

【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係るコンピュータシステムの構成が示されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of a computer system according to an embodiment of the present invention.

【0021】図1に示すように、本実施形態のコンピュ
ータシステムは、N個のCPU(プロセッサ)14〜1
5、各CPUに対応するN個のキャッシュ17〜18が
設けられている。キャッシュ17〜18は、メモリ制御
部20、およびビフォアイメージバッファ制御部21
と、バス16を介して接続されている。
As shown in FIG. 1, the computer system according to the present embodiment has N CPUs (processors) 14 to 1.
5. N caches 17 to 18 corresponding to each CPU are provided. The caches 17 and 18 include a memory control unit 20 and a before image buffer control unit 21.
Are connected via a bus 16.

【0022】メモリ制御部は、主メモリ12をアクセス
制御する通常のメモリコントローラである。ビフォアイ
メージバッファ制御部21は、主メモリ12の更新前デ
ータとそのアドレスとの組をスタック形式に蓄積するビ
フォアイメージバッファ13を制御するためのものであ
り、バスインターフェース制御部211、状態保存制御
部212、バストランザクション応答制御部213、バ
ッファアクセス制御部214、およびバストランザクシ
ョン発行制御部215を有している。
The memory controller is a normal memory controller for controlling access to the main memory 12. The before image buffer control unit 21 controls the before image buffer 13 that stores a set of the pre-update data of the main memory 12 and its address in a stack format, and includes a bus interface control unit 211, a state storage control unit 212, a bus transaction response control unit 213, a buffer access control unit 214, and a bus transaction issuance control unit 215.

【0023】バスインタフェース制御部211は、バス
16と直接接続され、バスの制御およびスヌープ(バス
トランザクションの監視)を行う。すなわち、バスイン
ターフェース制御部211は、常時、バス16を監視し
ており、バス16に発行されたトランザクションに応じ
て動作する。状態保存制御部212は、主メモリ12の
状態を保存するために必要な各種機能を制御する。バス
トランザクション応答制御部213は、バス16に発行
されたトランザクションに対して応答を返す機能を制御
する。バッファアクセス制御部214は、ビフォアイメ
ージバッファ13と接続され、ビフォアイメージバッフ
ァに対するアクセスを制御する。バストランザクション
発行制御部215は、主メモリ12の状態をビフォアイ
メージバッファ13に保存するために必要なバストラン
ザクションを発行する機能を制御する。
The bus interface control section 211 is directly connected to the bus 16 and controls the bus and snoops (monitors bus transactions). That is, the bus interface control unit 211 constantly monitors the bus 16 and operates according to the transaction issued to the bus 16. The state storage control unit 212 controls various functions necessary for storing the state of the main memory 12. The bus transaction response control unit 213 controls a function of returning a response to a transaction issued to the bus 16. The buffer access control unit 214 is connected to the before image buffer 13 and controls access to the before image buffer. The bus transaction issuance control unit 215 controls a function of issuing a bus transaction necessary for storing the state of the main memory 12 in the before image buffer 13.

【0024】キャッシュ17〜18は、コピーバック型
のキャッシュであり、以下に説明する方式にしたがっ
て、データ一貫性保持のためのプロトコルを実現する。
これらキャッシュ17〜18は、それぞれ対応するCP
U(プロセッサ)14〜15に1次キャッシュが存在す
る場合には2次キャッシュとして機能する。また、これ
らキャッシュ17〜18自体が対応するCPUに内蔵さ
れていても良い。
The caches 17 and 18 are copy-back type caches, and implement a protocol for maintaining data consistency according to a method described below.
These caches 17 and 18 respectively have a corresponding CP.
If the U (processors) 14 to 15 have a primary cache, they function as secondary caches. Further, the caches 17 and 18 themselves may be built in the corresponding CPU.

【0025】キャッシュ17〜18は、キャッシュライ
ンデータを保持するデータメモリと、データメモリに格
納された各キャッシュラインデータを管理する情報を保
持するためのタグメモリを有している。
Each of the caches 17 and 18 has a data memory for holding cache line data and a tag memory for holding information for managing each cache line data stored in the data memory.

【0026】図2にタグメモリの一例を示す。タグメモ
リには、対応するキャッシュラインデータのキャッシュ
ラインアドレス(ADDR)を示すアドレスタグと、キ
ャッシュラインデータの状態を示す3ビットのデータが
格納される。キャッシュラインデータの状態は、バリッ
ド(V:Valid)、モディファイド(M:Modi
fied)、シェアード(S:Shared)の3ビッ
トの値の組み合わせにより管理される。なお、バリッド
(V)は、対応するキャッシュラインデータが有効
(“1”)であることを示す。モディファイド(M)
は、キャッシュ上で更新された状態にあることを示す。
シェアード(S)は、他のプロセッサのキャッシュ上に
も同じキャッシュラインデータが保持されていることを
示す。モディファイド(M)は、キャッシュ上で更新さ
れた状態にあることを示す。シェアード(S)は、他の
プロセッサのキャッシュ上にも同じキャッシュラインデ
ータが保持されていることを示す。これら3ビットの値
の組み合わせにより、図3に示すように、キャッシュラ
インデータは4つの状態、インバリッド、クリーン・エ
クスクルーシブ、クリーン・シェアード、モディファイ
ドを取る。
FIG. 2 shows an example of the tag memory. The tag memory stores an address tag indicating the cache line address (ADDR) of the corresponding cache line data, and 3-bit data indicating the state of the cache line data. The state of the cache line data is valid (V: Valid), modified (M: Modi).
, and shared (S: Shared) are managed by a combination of 3-bit values. The valid (V) indicates that the corresponding cache line data is valid (“1”). Modified (M)
Indicates that the cache has been updated.
Shared (S) indicates that the same cache line data is held in the cache of another processor. Modified (M) indicates that the cache has been updated. Shared (S) indicates that the same cache line data is held in the cache of another processor. Due to the combination of these three bit values, as shown in FIG. 3, the cache line data takes four states: invalid, clean exclusive, clean shared, and modified.

【0027】コピーバックキャッシュに関連した、バス
トランザクションは、次のようなものを含む。 ・“Read−Line”……主メモリからキャッシュ
へのキャッシュラインデータのリードトランザクショ
ン。これは、CPUからのあるアドレスのキャッシュラ
インに対するリードアクセスに対して、該当する有効な
キャッシュラインデータがキャッシュに存在せずキャッ
シュミスした場合に発行される。
The bus transactions associated with the copy back cache include the following. "Read-Line": Read transaction of cache line data from the main memory to the cache. This is issued when a valid cache line data does not exist in the cache and a cache miss occurs in response to a read access to a cache line at a certain address from the CPU.

【0028】なお、キャッシュミスは、アクセスの対象
とするキャッシュラインデータを示すアドレスがタグメ
モリに格納されていない、およびアドレスは格納されて
いるがバリッドビット(V)が無効(“0”)を示す場
合である。これに対し、キャッシュヒットは、対象とす
るキャッシュラインデータのアドレスがタグメモリに格
納され、バリッドビット(V)が有効(“1”)を示す
場合である。
A cache miss indicates that the address indicating the cache line data to be accessed is not stored in the tag memory, and that the address is stored but the valid bit (V) is invalid ("0"). This is the case. On the other hand, a cache hit occurs when the address of the target cache line data is stored in the tag memory and the valid bit (V) indicates valid ("1").

【0029】・“Read−Line−with−In
validate”……主メモリからキャッシュへのキ
ャッシュラインデータのリードおよび他のキャッシュに
格納されたデータの無効化トランザクション。これは、
CPUからのライトアクセスに対して、キャッシュミス
した場合に発行される。つまり、CPUからのライトア
クセスでキャッシュミスが発生すると、その時点で、同
一のキャッシュラインデータを保持する他のキャッシュ
との間で不整合が生じることが予想できる。これは、ラ
イト対象のキャッシュラインデータが主メモリからキャ
ッシュにリフィルされた後にそのキャッシュラインデー
タの書き換えが行われるからである。したがって、CP
Uからのライトアクセスに対してキャッシュミスした場
合には、キャッシュラインデータのリードおよび他のキ
ャッシュに格納されたデータの無効化を同時に指示する
トランザクションが実行される。
"Read-Line-with-In"
validate "... Reads cache line data from the main memory to the cache and invalidates the data stored in other caches.
Issued when a cache miss occurs in response to a write access from the CPU. That is, when a cache miss occurs due to a write access from the CPU, it can be expected that inconsistency will occur at that time with another cache holding the same cache line data. This is because the cache line data to be written is rewritten after the cache memory is refilled from the main memory into the cache. Therefore, CP
When a cache miss occurs in response to a write access from U, a transaction is executed to simultaneously instruct to read cache line data and invalidate data stored in another cache.

【0030】・“Write−Line”……キャッシ
ュから主メモリへのキャッシュラインデータのライトト
ランザクション。これは、CPUからの指示により明示
的にキャッシュラインデータを主メモリ12に書き出す
場合、キャッシュラインデータを置換する必要が生じて
更新データが主メモリ12に書き出される場合、および
他のCPUからの要求に応じて更新データを主メモリ1
12に書き出す場合に発行される。
"Write-Line": A write transaction of cache line data from the cache to the main memory. This is because when the cache line data is explicitly written to the main memory 12 in accordance with an instruction from the CPU, when it is necessary to replace the cache line data and the update data is written to the main memory 12, and when the request from another CPU is received. Update data according to the main memory 1
Issued when writing to 12.

【0031】・“Invalidate”……他のキャ
ッシュに格納されたデータの無効化トランザクション。
これは、CPUからのライトアクセスに対して、キャッ
シュに当該ラインが存在したが、クリーン・シェアード
であった場合に発行される。クリーン・シェアードは、
他のキャッシュに同一のキャッシュラインデータが存在
しており、且つそれらキャッシュラインデータが同一値
である状態である。このトランザクションでは無効化対
象のキャッシュラインデータを示すアドレスのめの転送
が行われ、データ転送は伴わない。
"Invalidate": A transaction for invalidating data stored in another cache.
This is issued in response to a write access from the CPU when the line exists in the cache but is clean shared. Clean Shared
The same cache line data exists in another cache, and these cache line data have the same value. In this transaction, an address indicating the cache line data to be invalidated is transferred, and no data transfer is performed.

【0032】また、この他に、次のバストランザクショ
ンをサポートする。 ・“Read−Line−none−Snoop”……
他のキャッシュはスヌーブせず、必ずメモリ制御部が応
答し、主メモリからラインデータを読み出す。本実施形
態では、プロセッサ・キャッシュから発行されることは
ない。
In addition, the following bus transaction is supported.・ "Read-Line-none-Snoop" ...
The other caches do not snoop, and the memory control unit always responds and reads the line data from the main memory. In this embodiment, it is not issued from the processor cache.

【0033】なお、以上に示したトランザクション以外
にもサポートされることが多いが、以下の記述に直接関
係しないので、説明を省略する。また、キャッシュ17
〜18がそれぞれ対応するCPUに内蔵されている場合
においては、上述のトランザクションはCPU自体によ
って発行されることになる。
It is to be noted that the transaction is often supported in addition to the transaction described above, but the description is omitted because it is not directly related to the following description. Also, the cache 17
In the case where .about.18 are incorporated in the corresponding CPUs, the above-mentioned transactions are issued by the CPUs themselves.

【0034】バス16は、マルチプロセッサ構成をサポ
ート可能なプロセッサバスなどから構成されるものであ
り、シェアード応答信号線161、モディファイト応答
信号線162、バスコマンド信号線163、アドレス/
データ信号線164を含む。一般には、この他にアービ
トレーションを行うための信号線などを含むが、以下の
記述に直接関係しないので、説明を省略する。
The bus 16 is composed of a processor bus capable of supporting a multiprocessor configuration, and includes a shared response signal line 161, a modified response signal line 162, a bus command signal line 163, an address /
The data signal line 164 is included. Generally, it also includes a signal line for performing arbitration in addition to the above, but since it does not directly relate to the following description, the description is omitted.

【0035】シェアード応答信号線161(share
d)は、他のCPU/キャッシュにより発行されたトラ
ンザクションに対して、そのトランザクションが対象と
しているキャッシュラインデータを保持している、すな
わち共有していることを通知するために用いられる。
The shared response signal line 161 (share)
d) is used to notify a transaction issued by another CPU / cache that the cache line data targeted by the transaction is held, that is, shared.

【0036】モディファイド応答信号線162(mod
efied)は、他のCPU/キャッシュにより発行さ
れたトランザクションに対して、トランザクションが対
象としているキャッシュラインデータを更新された状態
で保持していることを通知するために用いられる。この
信号がアサートされたときは、そのトランザクションは
アボートされる。この後、トランザクションをアボート
したスレーブは、バスを獲得した後、更新キャッシュラ
インデータをメモリに書き出す。一方、最初のトランザ
クションを発行したマスタは、再びバスを獲得した後、
同じトランザクションを発行する。
The modified response signal line 162 (mod
Effied) is used to notify a transaction issued by another CPU / cache that the cache line data targeted by the transaction is held in an updated state. When this signal is asserted, the transaction is aborted. Thereafter, the slave that has aborted the transaction acquires the bus and then writes the updated cache line data to the memory. On the other hand, the master that issued the first transaction acquires the bus again,
Issue the same transaction.

【0037】なお、これら2つの信号線161および1
62が同時にアサートされたときにも同様にそのトラン
ザクションはアボートされる。バスコマンド信号線16
3(command)は、前述したバストランザクショ
ンの種類を示す他、トランザクションに関する各種情報
を送るために用いられる。
Note that these two signal lines 161 and 1
Similarly, when 62 is asserted simultaneously, the transaction is aborted. Bus command signal line 16
3 (command) indicates the type of the bus transaction described above, and is used for sending various information related to the transaction.

【0038】アドレス/データ信号線164(addr
ess/date)は、バストランザクションがその対
象とするキャッシュラインデータのアドレスおよびデー
タを送るため信号線である。図1においては一つにまと
めて示しているが、共通の信号線を時分割で使う方式
や、アドレス/データ各々に独立した信号線を設ける方
式があり、いずれであっても構わない。
Address / data signal line 164 (addr
ess / date) is a signal line for transmitting the address and data of the cache line data targeted by the bus transaction. In FIG. 1, they are collectively shown, but there are a method of using a common signal line in a time-division manner and a method of providing an independent signal line for each address / data.

【0039】次に、図1のマルチプロセッサシステムの
動作、すなわち、前述したバストランザクションを用い
てキャッシュ間のデータ一貫性保持プロトコルがどのよ
うに実現されているかを説明する。
Next, the operation of the multiprocessor system shown in FIG. 1, that is, how the data consistency maintaining protocol between caches is realized using the above-described bus transaction will be described.

【0040】ここでは、トランザクションを発行してア
クセスを起動する側のCPUおよびキャッシュ(マスタ
プロセッサ)、あるCPU/キャッシュが発行したトラ
ンザクションに対して動作する他のCPUおよびキャッ
シュ(スレーブプロセッサ)、およびメモリ制御部2
0、およびビフォアイメージバッファ制御部21それぞ
れの動作について説明する。 (1)マスタプロセッサ まず、トランザクションを発行してアクセスを起動する
マスタプロセッサの動作と、発行されたトランザクショ
ンに対応するキャッシュの状態遷移について説明する。
なお、マスタプロセッサがCPU14(キャッシュ1
7)であるとして説明する。
Here, a CPU and a cache (master processor) on the side that issues a transaction and activates access, another CPU and a cache (slave processor) operating on a transaction issued by a certain CPU / cache, and a memory Control unit 2
0 and the operations of the before image buffer control unit 21 will be described. (1) Master Processor First, the operation of the master processor that issues a transaction to start access and the state transition of the cache corresponding to the issued transaction will be described.
The master processor is the CPU 14 (cache 1
7).

【0041】・リードアクセス(キャッシュヒット):
CPU14がリードアクセス要求した結果、キャッシュ
17においてキャッシュヒットした場合、キャッシュ1
7から該当するデータが読み出される。CPU14(キ
ャッシュ17)は、バス16にトランザクションを発行
しない。このとき、キャッシュラインの状態は変わらな
い。
Read access (cache hit):
If a cache hit occurs in the cache 17 as a result of the read access request from the CPU 14, the cache 1
7, the corresponding data is read. The CPU 14 (cache 17) does not issue a transaction to the bus 16. At this time, the state of the cache line does not change.

【0042】・リードアクセス(キャッシュミス):C
PU14がリードアクセス要求した結果、キャッシュ1
7においてキャッシュミスした場合、CPU14(キャ
ッシュ17)は、バス16に“Read−Line”ト
ランザクションを発行する。
Read access (cache miss): C
As a result of the PU 14 requesting a read access, the cache 1
If a cache miss occurs in 7, the CPU 14 (cache 17) issues a “Read-Line” transaction to the bus 16.

【0043】これに対して、モディファイト応答信号線
162を介してモディファイト応答信号がアサートされ
たならば、他のキャッシュのうち一つがそのラインの更
新データを保持していることになる。キャッシュ17
は、この後、モディファイド応答信号をアサートしたキ
ャッシュから主メモリ12に書き出されたキャッシュラ
インデータを読み込み、そのキャッシュ17のデータメ
モリに格納する。キャッシュラインの状態は“クリーン
・シェアード”とする。
On the other hand, if the modify response signal is asserted via the modify response signal line 162, one of the other caches holds the update data of that line. Cache 17
Reads the cache line data written to the main memory 12 from the cache in which the modified response signal is asserted, and stores it in the data memory of the cache 17. The state of the cache line is “clean shared”.

【0044】一方、モディファイド応答信号がアサート
されず、シェアード応答信号線161を介してシェアー
ド応答信号がアサートされたならば、他のキャッシュが
そのラインをクリーンな状態で保持していることにな
る。キャッシュ17は、キャッシュラインの状態を“ク
リーン・シェアード”とするとともに、主メモリ12よ
り読み出されたデータを取り込んで、データメモリに格
納する。
On the other hand, if the modified response signal is not asserted and the shared response signal is asserted via the shared response signal line 161, another cache is holding the line in a clean state. The cache 17 sets the state of the cache line to “clean shared”, takes in the data read from the main memory 12, and stores the data in the data memory.

【0045】また、モディファイド応答信号とシェアー
ド応答信号のいずれもアサートされない場合には、どの
キャッシュにも対象とするキャッシュラインが保持され
ていないことになる。キャッシュ17は、キャッシュラ
インの状態を“クリーン・エクスクルーシブ”とする。
この場合も、キャッシュ17は、主メモリ12より読み
出されたデータを取り込み、データメモリに格納する。
ただし、後述するように、本方式ではクリーンエクスク
ルーシブ状態を避けるように制御されるので、本条件は
実際には存在しないことになる。
If neither the modified response signal nor the shared response signal is asserted, it means that no cache line holds the target cache line. The cache 17 sets the state of the cache line to “clean exclusive”.
Also in this case, the cache 17 takes in the data read from the main memory 12 and stores it in the data memory.
However, as will be described later, this method is controlled so as to avoid the clean exclusive state, so that this condition does not actually exist.

【0046】いずれの場合も、キャッシュ17はバス1
6から取り込んだキャッシュラインデータのうち、必要
とされるデータをCPU14に返す。 ・ライト(キャッシュヒット/モディファイド):CP
U14がライトアクセス要求した結果、キャッシュ17
においてキャッシュヒットし、対応するキャッシュライ
ンデータがモディファイドの状態の場合、該当するキャ
ッシュラインにデータが書き込まれる。CPU14(キ
ャッシュ17)は、バス16にトランザクションを発行
しない。このとき、キャッシュラインの状態は変わらな
い。
In any case, the cache 17 stores the bus 1
The required data among the cache line data fetched from 6 is returned to the CPU 14. -Write (cache hit / modify): CP
As a result of the write access request from U14, the cache 17
In the case where a cache hit has occurred and the corresponding cache line data is in a modified state, the data is written to the corresponding cache line. The CPU 14 (cache 17) does not issue a transaction to the bus 16. At this time, the state of the cache line does not change.

【0047】・ライト(キャッシュヒット/クリーンエ
クスクールシブ):CPU14がライトアクセス要求し
た結果、キャッシュ17においてキャッシュヒットし、
対応するキャッシュラインデータがクリーンエクスクル
ーシブの状態の場合、該当するキャッシュラインにデー
タが書き込まれる。CPU14(キャッシュ17)は、
バス16にトランザクションを発行しない。キャッシュ
17は、該当するキャッシュラインの状態を“モディフ
ァイド”に変更する。ただし、後述するように、本方式
ではクリーンエクスクルーシブ状態を避けるように制御
されるので、本条件は実際には存在しないことになる。
Write (cache hit / clean exclusive): As a result of a write access request from the CPU 14, a cache hit occurs in the cache 17,
If the corresponding cache line data is in a clean exclusive state, the data is written to the corresponding cache line. The CPU 14 (cache 17)
No transaction is issued to the bus 16. The cache 17 changes the state of the corresponding cache line to “Modified”. However, as will be described later, this method is controlled so as to avoid the clean exclusive state, so that this condition does not actually exist.

【0048】・ライト(キャッシュヒット/クリーンシ
ェアード):CPU14がライトアクセス要求した結
果、キャッシュ17においてキャッシュヒットし、対応
するキャッシュラインデータがクリーンシェアードの状
態の場合、CPU14(キャッシュ17)は、バス16
に“Invalidate”トランザクションを発行す
る。この後、キャッシュ17は、該当するキャッシュラ
インの状態を“モディファイト”にして、データを書き
込む。
Write (cache hit / clean shared): As a result of a write access request by the CPU 14, a cache hit occurs in the cache 17, and when the corresponding cache line data is in a clean shared state, the CPU 14 (cache 17)
Issue an “Invalidate” transaction. Thereafter, the cache 17 changes the state of the corresponding cache line to “modify” and writes data.

【0049】・ライト(キャッシュミス):CPU14
がライトアクセス要求した結果、キャッシュ17におい
てキャッシュミスした場合、バス16に“Read−L
ine−with−Invalidate”トランザク
ションを発行する。
Write (cache miss): CPU 14
As a result of a write access request, if a cache miss occurs in the cache 17, a "Read-L"
issue an "ine-with-Invalidate" transaction.

【0050】これに対して、モディファイド応答信号が
アサートされたならば、他のキャッシュのうち一つがそ
のラインの更新データを保持していることになる。キャ
ッシュ17は、この後、モディファイド応答信号をアサ
ートしたキャッシュから主メモリ12に書き出されたキ
ャッシュラインデータを読み込み、それをデータメモリ
に格納する。
On the other hand, if the modified response signal is asserted, one of the other caches holds the update data of the line. Thereafter, the cache 17 reads the cache line data written to the main memory 12 from the cache that has asserted the modified response signal, and stores it in the data memory.

【0051】一方、モディファイド応答信号がアサート
されなければ、キャッシュ17は、主メモリ12より読
み出されたデータを取り込み、データメモリに格納す
る。いずれの場合も、該当するキャッシュラインの状態
を“モディファイド”とし、データを書き込む。 (2)スレーブプロセッサ 次にあるプロセッサ/キャッシュが発行したトランザク
ションに対する他のプロセッサとそれに対応するキャッ
シュ(スレーブプロセッサ)の動作、および状態遷移に
ついて説明する。なお、マスタプロセッサがCPU14
(キャッシュ17)、スレーブプロセッサがCPU15
(キャッシュ18)であるとし、マスタプロセッサから
発行されるトランザクション毎に説明する。
On the other hand, if the modified response signal is not asserted, the cache 17 takes in the data read from the main memory 12 and stores it in the data memory. In either case, the state of the corresponding cache line is set to “Modified” and data is written. (2) Slave Processor The operation and state transition of another processor and the corresponding cache (slave processor) for a transaction issued by a certain processor / cache will now be described. The master processor is the CPU 14
(Cache 17), the slave processor is the CPU 15
(Cache 18), and will be described for each transaction issued from the master processor.

【0052】・“Read−Line”トランザクショ
ンに対する応答:キャッシュ18は、“Read−Li
ne”トランザクションが対象とするキャッシュライン
データを“モディファイド”の状態で保持している場
合、モディファイド応答信号線162を介してモディフ
ァイド応答信号をアサートして、更新データを保持して
いることを通知する。この後、キャッシュ18は、“W
rite−Line”トランザクションを発行して更新
データを主メモリ12に書き出す。キャッシュ18は、
該当するキャッシュラインの状態を“クリーンシェアー
ド”とする。
Response to "Read-Line" transaction: The cache 18 stores the "Read-Line"
When the cache line data targeted by the “ne” transaction is held in a “modified” state, a modified response signal is asserted via the modified response signal line 162 to notify that the updated data is held. Thereafter, the cache 18 stores “W
write-line "transaction to write the updated data to the main memory 12. The cache 18
The state of the corresponding cache line is set to “clean shared”.

【0053】また、キャッシュ18は、“Read−L
ine”トランザクションが対象とするキャッシュライ
ンデータを“クリーンエクススクルーシブ”または“ク
リーンシェアード”の状態で保持している場合、シェア
ード応答信号線161を介してシェアード応答信号をア
サートして、クリーンデータを保持していることを通知
する。いずれの場合も、キャッシュ18は、該当するキ
ャッシュラインの状態を“クリーンシェアード”とす
る。
The cache 18 stores "Read-L"
When the cache line data targeted by the “ine” transaction is held in the “clean exclusive” or “clean shared” state, the shared response signal is asserted via the shared response signal line 161 to generate the clean data. In any case, the cache 18 sets the state of the corresponding cache line to “clean shared”.

【0054】なお、キャッシュ18は、対応する有効な
キャッシュラインデータを保持していない場合には、何
もしない。 ・“Read−Line−with−Invalida
te”トランザクションに対する応答:キャッシュ18
は、“Read−Line−with−Invalid
ate”トランザクションが対象とするキャッシュライ
ンデータを“モディファイド”の状態で保持している場
合、モディファイド応答信号線162を介してモディフ
ァイド応答信号をアサートして、更新データを保持して
いることを通知する。この後、キャッシュ18は、“W
rite−Line”トランザクションを発行して更新
データを主メモリ12に書き出す。キャッシュ18は、
該当するキャッシュラインの状態を“インバリッド”と
する。
When the cache 18 does not hold the corresponding valid cache line data, it does nothing.・ "Read-Line-with-Invalida"
Response to "te" transaction: cache 18
Is "Read-Line-with-Invalid
When the cache line data targeted by the “ate” transaction is held in a “modified” state, a modified response signal is asserted via the modified response signal line 162 to notify that the updated data is held. Thereafter, the cache 18 stores “W
write-line "transaction to write the updated data to the main memory 12. The cache 18
The state of the corresponding cache line is set to “invalid”.

【0055】また、キャッシュ18は、“Read−L
ine−with−Invalidate”トランザク
ションが対象とするキャッシュラインデータを“クリー
ンエクスクルーシブ”または“クリーンシェアード”の
状態で保持している場合、該当するキャッシュラインの
状態を“インバリッド”とする。
The cache 18 stores "Read-L"
When the cache line data targeted by the “ine-with-Invalidate” transaction is held in a “clean exclusive” or “clean shared” state, the state of the corresponding cache line is set to “invalid”.

【0056】なお、キャッシュ18は、対応する有効な
キャッシュラインデータを保持していない場合には、何
もしない。 ・“Invalidate”トランザクションに対する
応答:キャッシュ18は、“Invalidate”ト
ランザクションが対象とするキャッシュラインデータを
“クリーンエクスクルーシブ”または“クリーンシェア
ード”の状態で保持している場合、該当するキャッシュ
ラインの状態を“インバリッド”とする。
When the cache 18 does not hold the corresponding valid cache line data, it does nothing. Response to “Invalidate” transaction: When the cache 18 holds the cache line data targeted by the “Invalidate” transaction in the “clean exclusive” or “clean shared” state, the cache 18 changes the state of the corresponding cache line to “clean exclusive” or “clean shared”. Invalid.

【0057】また、キャッシュ18は、対応する有効な
キャッシュラインデータを保持していない場合には、何
もしない。なお、この場合、対応するラインを“モディ
ファイド”の状態で保持していることはあり得ない。
If the cache 18 does not hold the corresponding valid cache line data, it does nothing. In this case, the corresponding line cannot be held in the “modified” state.

【0058】・“Write−Line”トランザクシ
ョンに対する応答:キャッシュ18は、何もしない。 ・“Read−Line−none−Snoop”トラ
ンザクションに対する応答:キャッシュ18は、何もし
ない。 (3)メモリ制御部 メモリ制御部20は、各バストランザクションに対し
て、次のような動作をする。
Response to "Write-Line" transaction: Cache 18 does nothing. -Response to "Read-Line-one-Snoop" transaction: Cache 18 does nothing. (3) Memory Control Unit The memory control unit 20 performs the following operation for each bus transaction.

【0059】・“Write−Line”トランザクシ
ョンに対する応答:バス16に発行された“Write
−Line”トランザクションをスヌープすると、メモ
リ制御部20は、キャッシュから書き出されるキャッシ
ュラインデータを取り込み、主メモリ12の該当するア
ドレスに書き込む。
Response to “Write-Line” transaction: “Write-Line” issued on bus 16
When the “Line” transaction is snooped, the memory control unit 20 fetches the cache line data written out from the cache and writes the data to the corresponding address of the main memory 12.

【0060】・“Invalidate”トランザクシ
ョンに対する応答:何もしない。 ・“Read−Line”、“Read−Line−w
ith−Invalidate”トランザクションに対
する応答:メモリ制御部20は、これら2つのトランザ
クションに対しては、同一の動作をする。
Response to "Invalidate" transaction: do nothing. "Read-Line", "Read-Line-w"
Response to "is-Invalidate" transaction: The memory control unit 20 performs the same operation for these two transactions.

【0061】これらのトランザクションに対してモディ
ファイド応答信号がアサートされた場合は、何もしな
い。これは、アサートしたスレーブプロセッサのキャッ
シュが既に更新データを保持していることを示してい
る。この場合、これらのトランザクションに引き続き、
このキャッシュから“Write−Line”トランザ
クションが発行され、更新データが書き出される。
If the modified response signal is asserted for these transactions, nothing is done. This indicates that the cache of the asserted slave processor already holds the updated data. In this case, following these transactions,
A “Write-Line” transaction is issued from this cache, and the updated data is written out.

【0062】一方、モディファイド応答信号がアサート
されない場合は、アクセス対象となっているキャッシュ
ラインのアドレスで示されるメモリロケーションからキ
ャッシュラインデータを読み出し、バス16に出力す
る。
On the other hand, when the modified response signal is not asserted, the cache line data is read from the memory location indicated by the address of the cache line to be accessed, and is output to the bus 16.

【0063】・“Read−Line−none−Sn
oop”トランザクションに対する応答:アクセス対象
となっているキャッシュラインのアドレスで示されるメ
モリロケーションからキャッシュラインデータを読み出
し、バス16に出力する。 (4)ビフォアイメージバッファ制御部 次に、各バストランザクションに対するビフォアイメー
ジバッファ制御部21の動作を説明する。以下、バス1
6に発行されるトランザクション毎に説明する。
"Read-Line-none-Sn"
Response to "oop" transaction: read cache line data from the memory location indicated by the address of the cache line to be accessed, and output it to bus 16. (4) Before image buffer controller Next, before image processing for each bus transaction The operation of the image buffer control unit 21 will be described below.
6 will be described.

【0064】・“Read−Line”トランザクショ
ンに対する応答:バスインタフェース制御部211がバ
ス16に発行された“Read−Line”トランザク
ションをスヌープすると、状態保存制御部212は、バ
ストランザクション応答制御部215を起動する。バス
トランザクション応答制御部215は、バスインターフ
ェース制御部211を介してシェアード応答信号をアサ
ートする。これによって、マスタプロセッサのキャッシ
ュの現在対象としているキャッシュラインの状態を“ク
リーンエクスクルーシブ”ではなく、“クリーンシェア
ード”の状態にすることができる。これによって、この
後、当該キャッシュラインに対してライトアクセスが発
生した場合に、“Invalidate”トランザクシ
ョンの発行を引き起こすことができ、更新前のデータを
保存することを可能としている。
Response to “Read-Line” transaction: When the bus interface controller 211 snoops the “Read-Line” transaction issued to the bus 16, the state storage controller 212 activates the bus transaction response controller 215. I do. The bus transaction response control unit 215 asserts a shared response signal via the bus interface control unit 211. As a result, the state of the cache line currently targeted for the cache of the master processor can be changed to “clean shared” instead of “clean exclusive”. As a result, when a write access occurs to the cache line thereafter, an "Invalidate" transaction can be issued, and the data before update can be stored.

【0065】なお、プロセッサおよびキャッシュの機能
として、“クリーンエクスクルーシブ”状態を避ける方
法がある場合には、ビフォアイメージバッファ制御部2
1がシェアード応答信号をアサートする必要はない。
If there is a method of avoiding the “clean exclusive” state as a function of the processor and the cache, the before image buffer control unit 2
1 does not need to assert the shared response signal.

【0066】・“Invalidate”トランザクシ
ョンに対する応答:バスインタフェース制御部211が
バス16に発行された“Invalidate”トラン
ザクションをスヌープすると、状態保存制御部212
は、バストランザクション応答制御部215を起動す
る。バストランザクション応答制御部215は、バスイ
ンターフェース制御部211を介してシェアード応答信
号とモディファイド応答信号をアサートする。これによ
って、“Invalidate”トランザクションアボ
ードされたことになり、この後、マスタプロセッサは、
再びバスを獲得した後、同じトランザクションを再発行
する。
Response to “Invalidate” transaction: When the bus interface control unit 211 snoops the “Invalidate” transaction issued to the bus 16, the state saving control unit 212
Activates the bus transaction response control unit 215. The bus transaction response control unit 215 asserts the shared response signal and the modified response signal via the bus interface control unit 211. As a result, the "Invalidate" transaction is aborted, after which the master processor
After acquiring the bus again, reissue the same transaction.

【0067】バストランザクション応答制御部215
は、下記の処理が完了するまで、再発行された“Inv
alidate”トランザクションに対して、シェアー
ド応答信号およびモディファイド応答信号をアサート
し、アボートし続ける。
Bus transaction response control unit 215
Will be reissued until the following process is completed.
Assert the shared response signal and the modified response signal for the "alidate" transaction and continue to abort.

【0068】状態保存制御部212は、バストランザク
ション発行制御部215を起動する。バストランザクシ
ョン発行制御部215は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部211を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line−non−Snoop”トランザクションを
発行する。
The state storage control unit 212 activates the bus transaction issuance control unit 215. The bus transaction issuance control unit 215 obtains “Read” for the memory location indicated by the address of the cache line to be invalidated obtained via the bus interface control unit 211 in order to obtain the cache line data before update.
Issue a "Line-non-Snoop" transaction.

【0069】さらに、状態保存制御部212は、バッフ
ァアクセス制御部214を起動し、メモリ制御部20が
主メモリ12から読み出してバス16に出力したキャッ
シュラインデータを、バスインタフェース制御部211
からバッファアクセス制御部214に転送して、アドレ
ス値と共にビフォアイメージバッファ13に書き込ませ
る。
Further, the state saving control unit 212 activates the buffer access control unit 214, and transfers the cache line data read from the main memory 12 by the memory control unit 20 and output to the bus 16 to the bus interface control unit 211.
Is transferred to the buffer access control unit 214 and written into the before image buffer 13 together with the address value.

【0070】この処理が終了すると、バストランザクシ
ョン応答制御部215は、再発行された“Invali
date”トランザクションに対するアボートを中止す
る。また、状態保存制御部212は、上記処理を実施し
たキャッシュブロックのアドレスを記憶し、この後、再
び同じアドレスに対する“Invalidate”トラ
ンザクションが発行された場合には、無視する。
When this process is completed, the bus transaction response control unit 215 sends the reissued “Invali
Further, the abort for the “date” transaction is stopped.The state saving control unit 212 stores the address of the cache block on which the above processing has been performed, and thereafter, when the “Invalidate” transaction for the same address is issued again, ignore.

【0071】図4には、この“Invalidate”
トランザクションに対する応答処理の動作タイミングが
示されている。バストランザクション発行制御部215
は、“Invalidate”トランザクションを確認
すると、その時のアドレス(A)を使用して、主メモリ
12からアドレス(A)の更新前データ(D1〜D4)
を読み出すための“Read−Line−non−Sn
oop”トランザクションを開始する。このとき、各キ
ャッシュメモリはそのトランザクションに対してはスヌ
ープ動作を行わない。
FIG. 4 shows this “Invalidate”
The operation timing of response processing to a transaction is shown. Bus transaction issuance control unit 215
When the “Invalidate” transaction is confirmed, the pre-update data (D1 to D4) of the address (A) is read from the main memory 12 using the address (A) at that time.
"Read-Line-non-Sn" for reading
In this case, each cache memory does not perform a snoop operation on the transaction.

【0072】メモリ制御部20は、“Read−Lin
e−non−Snoop”トランザクションに応答し
て、主メモリ12との間に設けられているメモリアドレ
スライン(MM address)、データライン(M
M data)、リードライト制御ライン(MM RA
S#、CAS#、WE#)を制御して、主メモリ12の
アドレス(A)からキャッシュラインデータ(D1〜D
4)を読み出し、それをバス16のデータバス(dat
a bus)上に出力する。
The memory control unit 20 reads “Read-Lin
In response to the “e-non-Snoop” transaction, a memory address line (MM address) and a data line (M
M data), read / write control line (MM RA)
S #, CAS #, WE #) from the address (A) of the main memory 12 to the cache line data (D1 to D
4) and read it out to the data bus (dat
a bus).

【0073】一方、ビフォアイメージバッファ制御部2
1においては、バッファアクセス制御部214にもアド
レス(A)が渡される。バッファアクセス制御部214
は、ビフォアイメージバッファ13との間に設けられた
アドレスライン(BIB address)、データラ
イン(BIB data)、リードライト制御ライン
(BIB RAS#、CAS#、WE#)を制御して、
アドレス(A)と、バス16のデータバス(data
bus)上に出力されたデータ(D1〜D4)との組
を、ビフォアイメージバッファ13の該当するエントリ
にスタックする。
On the other hand, before image buffer control unit 2
In (1), the address (A) is also passed to the buffer access control unit 214. Buffer access control unit 214
Controls an address line (BIB address), a data line (BIB data), and a read / write control line (BIB RAS #, CAS #, WE #) provided between the image buffer 13 and the before image buffer 13.
The address (A) and a data bus (data
bus) is stacked on a corresponding entry of the before image buffer 13.

【0074】・“Read−Line−with−In
validate”トランザクションに対する応答:
“Read−Line−with−Invalidat
e”トランザクションの発行に伴って、モディファイド
応答信号がアサートされた場合は、アサートしたキャッ
シュが既に更新データを保持していることを示してお
り、そのプロセッサが最新のチェックポイント以降にラ
イトアクセスを実行していることがわかる。このため、
その時点で以前のデータがビフォアイメージバッファ1
3に格納されていることになり、改めてこのアドレスの
データをビフォアイメージバッファに格納する必要はな
い。したがって、状態保存制御部112は、何もしな
い。
"Read-Line-with-In"
response to the "validate" transaction:
“Read-Line-with-Invalidat
If the modified response signal is asserted following the issuance of the e "transaction, it indicates that the asserted cache already holds the updated data, and the processor executes write access after the latest checkpoint. You can see that
At that point, the previous data is stored in the before image buffer 1
3, so that it is not necessary to store the data at this address in the before image buffer again. Therefore, the state saving control unit 112 does nothing.

【0075】一方、“Read−Line−with−
Invalidate”トランザクションの発行に伴っ
て、モディファイド応答信号がアサートされない場合
は、バッファアクセス制御部214を起動し、メモリ制
御部20が主メモリ12から読み出しバス16に出力し
たキャッシュラインデータを、バスインタフェース制御
部211からバッファアクセス制御部214に転送し
て、アドレス値と共にビフォアイメージバッファ13に
書き込ませる。
On the other hand, “Read-Line-with-
If the modified response signal is not asserted following the issue of the “Invalidate” transaction, the buffer access control unit 214 is activated, and the cache line data output from the main memory 12 to the read bus 16 by the memory control unit 20 is transferred to the bus interface control unit. The data is transferred from the unit 211 to the buffer access control unit 214 and written into the before image buffer 13 together with the address value.

【0076】この場合、“Read−Line−non
−Snoop”トランザクションを発行する必要はな
い。 ・“Write−Line”トランザクションに対する
応答:何もしない。 (5)チェックポイント 次に、前述のようにして動作するマルチプロセッサシス
テムにおけるチェックポイント処理について説明する。
In this case, "Read-Line-non"
It is not necessary to issue a “Snoop” transaction.Response to a “Write-Line” transaction: do nothing. (5) Checkpoint Next, checkpoint processing in a multiprocessor system that operates as described above will be described. .

【0077】チェックポイント処理は、チェックポイン
ト毎に障害回復に必要な情報を定期的に採取し、障害発
生時には、その直前のチェックポイントにロールバック
することにより処理を再開するというシステム回復方法
である。
The checkpoint processing is a system recovery method in which information necessary for recovery from a failure is periodically collected for each checkpoint, and when a failure occurs, the processing is restarted by rolling back to the checkpoint immediately before the failure. .

【0078】チェックポイント時には、プロセッサ14
〜15の内部状態を主メモリ12に書き出すとともに、
各キャッシュ17〜18の“モディファイド”状態にあ
る全てのキャッシュラインのデータを主メモリ12に書
き戻す。なお、実際には、プロセッサ内部状態の主メモ
リ12への書き出しもキャッシュを介して行われるの
で、バストランザクション上、特別な配慮は不要であ
る。キャッシュ17〜18は、主メモリ12に書き戻し
たキャッシュラインの状態を“クリーンシェアード”ま
たは“インバリッド”にする。主メモリ12へのライン
データの書き戻しは“Write−Line”トランザ
クションを用いて行われるため、このときにビフォアイ
メージバッファ13へのデータ保存が発生することはな
い。
At the time of a checkpoint, the processor 14
Write the internal state of ~ 15 into the main memory 12,
The data of all the cache lines in the “modified” state of each of the caches 17 to 18 is written back to the main memory 12. Actually, the writing of the internal state of the processor to the main memory 12 is also performed via the cache, so that no special consideration is required in the bus transaction. The caches 17 and 18 change the state of the cache line written back to the main memory 12 to “clean shared” or “invalid”. Since the write-back of the line data to the main memory 12 is performed using the “Write-Line” transaction, the data is not stored in the before image buffer 13 at this time.

【0079】また、ビフォアイメージバッファ13の内
容は正常にチェックポイントが採取された時にクリアさ
れ、そして、通常のプロセス処理の再開されると、ビフ
ォアイメージバッファ13への更新履歴情報の書き込み
が開始される。ロールバック時には、各CPUの内部状
態のみならず、主メモリ12の状態も直前のチェックポ
イントときの状態に復元される。この主メモリ12の状
態回復は、ビフォアイメージバッファ13に蓄積されて
いる更新前データを逐次読み出して、主メモリ12の対
応する番地に書き戻すことによって実現される。
The contents of the before image buffer 13 are cleared when the checkpoint is normally taken, and when the normal processing is restarted, the writing of the update history information to the before image buffer 13 is started. You. At the time of rollback, not only the internal state of each CPU but also the state of the main memory 12 is restored to the state at the time of the immediately preceding checkpoint. The recovery of the state of the main memory 12 is realized by sequentially reading the pre-update data stored in the before image buffer 13 and writing it back to the corresponding address of the main memory 12.

【0080】この方式によると、チェックポイント時に
は、コピーバックキャッシュに保持されていた更新デー
タを主メモリ16に書き出すだけで良く、この時点で更
新前データをビフォアイメージバッファ13に保存する
必要がなくなるため、チェックポイントのオーバーヘッ
ドを小さくすることができる。
According to this method, at the time of a checkpoint, it is only necessary to write the update data held in the copy-back cache to the main memory 16, and it is not necessary to store the pre-update data in the before image buffer 13 at this point. Thus, the overhead of the checkpoint can be reduced.

【0081】以上のように、この実施形態においては、
通常のメモリコントローラから構成されるメモリ制御部
20とは別個にビフォアイメージバッファ制御部21が
設けられており、それがバス16に接続されている。ビ
フォアイメージバッファ制御部21は、主メモリ16に
対するライトアクセス要求がメモリ制御部20に送られ
た時に動作するのではなく、CPUからそれに対応する
キャッシュに対してライトアクセス要求があった場合
に、当該キャッシュからバス16上に発行されるトラン
ザクションに応答して自動的に起動して、主メモリ12
から更新前データをリードするためのトランザクション
を発行する。このように、メモリコントローラとは独立
して動作可能なビフォアイメージバッファ制御部21を
設けることにより、既存のコンピュータシステムのメモ
リコントローラを改造せずに、既存のコンピュータシス
テムをそのまま流用して容易にメモリ状態回復機能を実
現することが可能となる。
As described above, in this embodiment,
A before image buffer control unit 21 is provided separately from a memory control unit 20 including a normal memory controller, and is connected to the bus 16. The before image buffer control unit 21 does not operate when a write access request to the main memory 16 is sent to the memory control unit 20, but when the CPU issues a write access request to the corresponding cache, Automatically activated in response to a transaction issued on the bus 16 from the cache,
Issue a transaction to read the pre-update data from. As described above, by providing the before image buffer control unit 21 which can operate independently of the memory controller, the existing computer system can be easily used as it is without modifying the memory controller of the existing computer system. It is possible to realize a state recovery function.

【0082】なお、“Invalidate”トランザ
クションおよび“Write−Line”トランザクシ
ョンに対するビフォアイメージバッファ制御部21の動
作は、次のように変えて実施することも可能である。
The operation of the before image buffer control unit 21 for the “Invalidate” transaction and the “Write-Line” transaction can be changed as follows.

【0083】・“Invalidate”トランザクシ
ョンに対する応答:バスインタフェース制御部211が
バス16に発行された“Invalidate”トラン
ザクションをスヌープすると、状態保存制御部212
は、バストランザクション応答制御部215を起動す
る。バストランザクション応答制御部215は、下記の
処理が完了するまで、同じアドレスに対する“Writ
e−Line”トランザクションに対して、シェアード
応答信号をアサートし、アボードし続ける。
Response to “Invalidate” transaction: When the bus interface control unit 211 snoops the “Invalidate” transaction issued to the bus 16, the state saving control unit 212
Activates the bus transaction response control unit 215. The bus transaction response control unit 215 sets “Writ” for the same address until the following processing is completed.
Assert the shared response signal for the “e-Line” transaction and continue aborting.

【0084】状態保存制御部212は、バストランザク
ション発行制御部215を起動する。バストランザクシ
ョン発行制御部215は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部211を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line−non−Snoop”トランザクションを
発行する。
The state saving control unit 212 activates the bus transaction issuance control unit 215. The bus transaction issuance control unit 215 obtains “Read” for the memory location indicated by the address of the cache line to be invalidated obtained via the bus interface control unit 211 in order to obtain the cache line data before update.
Issue a "Line-non-Snoop" transaction.

【0085】さらに、状態保存制御部212は、バッフ
ァアクセス制御部214を起動し、メモリ制御部20が
主メモリ12から読み出してバス16に出力したキャッ
シュラインデータを、バスインタフェース制御部211
からバッファアクセス制御部214に転送して、アドレ
ス値と共にビフォアイメージバッファ13に書き込ませ
る。
Further, the state saving control unit 212 activates the buffer access control unit 214, and the cache line data read from the main memory 12 by the memory control unit 20 and output to the bus 16 is transferred to the bus interface control unit 211.
Is transferred to the buffer access control unit 214 and written into the before image buffer 13 together with the address value.

【0086】この処理が終了すると、バストランザクシ
ョン応答制御部215は、同じアドレスに対する“Wr
ite−Line”トランザクションに対するアボート
を中止する。
When this process is completed, the bus transaction response control unit 215 sets “Wr” for the same address.
Abort the "item-Line" transaction.

【0087】・“Write−Line”トランザクシ
ョンに対する応答:上記の通り、“Invalidat
e”トランザクションに対する更新前キャッシュライン
データ読み込み処理中は、バスインタフェース制御部2
11がバス16に発行された“Write−Line”
トランザクションをスヌープすると、これが同じアドレ
スに対するものであれば、バストランザクション応答制
御部215がシェアード応答信号およびモディファイド
応答信号をアサートし、アボートする。
Response to “Write-Line” transaction: As described above, “Invalidat”
During the process of reading the pre-update cache line data for the e "transaction, the bus interface control unit 2
11 is a “Write-Line” issued to the bus 16
When the transaction is snooped, if it is for the same address, the bus transaction response control unit 215 asserts the shared response signal and the modified response signal and aborts.

【0088】この処理実行中以外、および実行中であっ
ても異なるアドレスに対する場合には何もしない。ま
た、前記実施形態では、ビフォアイメージバッファを独
立したメモリで構成し、ビフォアイメージバッファ制御
部21に接続していたが、主メモリ12の一部を利用し
て実施することも可能である。
Nothing is performed except during this processing, and even when the processing is being executed, for a different address. In the above-described embodiment, the before image buffer is configured by an independent memory, and is connected to the before image buffer control unit 21. However, the embodiment can be implemented by using a part of the main memory 12.

【0089】この実現例を図5に示す。図5のシステム
構成においては、ビフォアイメージバッファ13は、主
メモリ12の一部の記憶領域を用いて実現されている。
また、バッファアクセス制御部214は、バストランザ
クション発行制御部215とも接続され、ビフォアイメ
ージバッファ13のアクセスのためにバス16に対して
トランザクションを発行させる機能を持つ。
FIG. 5 shows this implementation example. In the system configuration of FIG. 5, the before image buffer 13 is realized by using a partial storage area of the main memory 12.
The buffer access control unit 214 is also connected to the bus transaction issuance control unit 215, and has a function of issuing a transaction to the bus 16 for accessing the before image buffer 13.

【0090】バッファアクセス制御部214は、更新前
データと当該アドレスが転送されると、これらを主メモ
リ12中のビフォアイメージバッファ13に格納するた
め、バストランザクション発行制御部215を起動す
る。トランザクション発行制御部215は、バスインタ
フェース制御部211を介して、2つの“Write−
Line”トランザクションを発行する。
When the pre-update data and the address are transferred, the buffer access control unit 214 activates the bus transaction issuance control unit 215 to store them in the before image buffer 13 in the main memory 12. The transaction issuance control unit 215 transmits the two “Write-
Issue a "Line" transaction.

【0091】一つは更新前データを格納するためのもの
であり、もう一つは当該アドレスを格納するためのもの
である。これにより、独立したメモリを備える必要がな
く、安価に構成することが可能となる。
One is for storing data before update, and the other is for storing the address. Thus, there is no need to provide an independent memory, and the configuration can be made at low cost.

【0092】また、以上の説明では、コピーバック型の
キャッシュについて説明したが、ライトスルーキャッシ
ュに対して以下のようにして更新前データの保存を行う
ことができる。
In the above description, a copy-back type cache has been described. However, data before updating can be stored in a write-through cache as follows.

【0093】ここでは、図1のキャッシュ17〜18が
ライトスルーモードで動作する機能を持つ場合を例とし
て説明するが、ライトスルー専用のキャッシュであって
も同様にして実現できる。
Here, a case where the caches 17 and 18 in FIG. 1 have a function of operating in the write-through mode will be described as an example. However, a cache dedicated to write-through can be similarly realized.

【0094】ライトスルーキャッシュの場合、キャッシ
ュの状態は、 ・インバリッド ・バリッド の2種類である。
In the case of a write-through cache, there are two types of cache states: invalid, valid.

【0095】以下では、簡単のため図3の状態管理表を
用い、 ・インバリッド ・クリーンシェアード の2状態で管理するものとする。
In the following, for the sake of simplicity, the state management table of FIG. 3 is used, and management is performed in two states: invalid, clean shared.

【0096】キャッシュ17〜18からバス16に出さ
れるトランザクションの種類としては、次のものがサポ
ートされる。 ・“Read−Line”トランザクション:キャッシ
ュラインデータのリード。これは前述の実施形態と同じ
であり、CPUからのあるアドレスのキャッシュライン
に対するリードアクセスに対して、該当する有効なキャ
ッシュラインデータがキャッシュに存在せずキャッシュ
ミスした場合に発行される。
The following types of transactions are issued from the caches 17 to 18 to the bus 16. "Read-Line" transaction: reading of cache line data. This is the same as in the above-described embodiment, and is issued when a valid cache line data does not exist in the cache and a cache miss occurs in response to a read access from the CPU to a cache line at a certain address.

【0097】・“Write−Word”トランザクシ
ョン:データのライト。CPUからのライトアクセスに
対して、キャッシュ中の当該データの有無に関わらず発
行される。
"Write-Word" transaction: data write. It is issued regardless of the presence or absence of the data in the cache in response to a write access from the CPU.

【0098】バス16も前記実施形態と同一の構成とす
る。但し、本例では、シェアード応答信号線161、モ
ディファイド応答信号線162は、同時にアサートされ
た場合に、当該トランザクションをアボートするという
機能のみを用いる。 (1)マスタプロセッサ まず、トランザクションを発行してアクセスを起動する
マスタプロセッサの動作と、発行されたトランザクショ
ンに対応するキャッシュの状態遷移について説明する。
なお、マスタプロセッサがCPU14(キャッシュ1
7)であるとして説明する。
The bus 16 has the same configuration as the above embodiment. However, in this example, the shared response signal line 161 and the modified response signal line 162 only use the function of aborting the transaction when asserted at the same time. (1) Master Processor First, the operation of the master processor that issues a transaction to start access and the state transition of the cache corresponding to the issued transaction will be described.
The master processor is the CPU 14 (cache 1
7).

【0099】・リードアクセス(キャッシュヒット):
CPU14がリードアクセス要求した結果、キャッシュ
17においてキャッシュヒットした場合、キャッシュ1
7から該当するデータが読み出される。CPU14(キ
ャッシュ17)は、バス16にトランザクションを発行
しない。このとき、キャッシュラインの状態は変わらな
い。
Read access (cache hit):
If a cache hit occurs in the cache 17 as a result of the read access request from the CPU 14, the cache 1
7, the corresponding data is read. The CPU 14 (cache 17) does not issue a transaction to the bus 16. At this time, the state of the cache line does not change.

【0100】・リードアクセス(キャッシュミス):C
PU14がリードアクセス要求した結果、キャッシュ1
7においてキャッシュミスした場合、CPU14 (キ
ャッシュ17)は、バス16に“Read−Line”
トランザクションを発行する。
Read access (cache miss): C
As a result of the PU 14 requesting a read access, the cache 1
7, when a cache miss occurs, the CPU 14 (cache 17) sends the “Read-Line”
Issue a transaction.

【0101】キャッシュ17は、キャッシュラインの状
態を“クリーン・シェアード”とするとともに、主メモ
リ12より読み出されたデータを取り込んで、データメ
モリに格納する。
The cache 17 sets the state of the cache line to “clean shared”, and takes in the data read from the main memory 12 and stores it in the data memory.

【0102】キャッシュ17はバス16から取り込んだ
キャッシュラインデータのうち、必要とされるデータを
CPU14に返す。 ・ライト(キャッシュヒット):CPU14がライトア
クセス要求した結果、キャッシュ17においてキャッシ
ュヒットした場合、対応するキャッシュラインデータを
書き込むとともに、バス16に“Write−Wor
d”トランザクションを発行し、主メモリ12のデータ
を書き換える。このとき、キャッシュラインの状態は変
わらない。
The cache 17 returns necessary data to the CPU 14 from the cache line data fetched from the bus 16. Write (cache hit): When a cache hit occurs in the cache 17 as a result of the CPU 14 requesting a write access, the corresponding cache line data is written and “Write-Wor” is written to the bus 16.
A d ″ transaction is issued to rewrite the data in the main memory 12. At this time, the state of the cache line does not change.

【0103】・ライト(キャッシュミス):CPU14
がライトアクセス要求した結果、キャッシュ17におい
てキャッシュミスした場合、バス16に“Write−
Word”トランザクションを発行し、主メモリ12の
データを書き換える。このとき、キャッシュラインの状
態は変わらない。 (2)スレーブプロセッサ 次にあるプロセッサ/キャッシュが発行したトランザク
ションに対する他のプロセッサとそれに対応するキャッ
シュ(スレーブプロセッサ)の動作、および状態遷移に
ついて説明する。なお、マスタプロセッサがCPU14
(キャッシュ17)、スレーブプロセッサがCPU15
(キャッシュ18)であるとする。
Write (cache miss): CPU 14
Makes a cache miss in the cache 17 as a result of the write access request, the “Write-
A "word" transaction is issued to rewrite the data in the main memory 12. At this time, the state of the cache line does not change. (2) Slave processor The other processor and the corresponding cache for the transaction issued by the next processor / cache The operation and state transition of the (slave processor) will be described.
(Cache 17), the slave processor is the CPU 15
(Cache 18).

【0104】・“Read−Line”トランザクショ
ンに対する応答:何もしない。 ・“Write−Word”トランザクションに対する
応答:キャッシュ18は、トランザクションが対象とす
るキャッシュラインデータを“クリーンシェアード”の
状態で保持している場合、該当するキャッシュラインの
状態を“インバリッド”とする。 (3)メモリ制御部 メモリ制御部20は各バストランザクションに対して、
次のような動作をする。
Response to “Read-Line” transaction: Do nothing. Response to “Write-Word” transaction: If the cache 18 holds the cache line data targeted by the transaction in a “clean shared” state, the cache 18 sets the state of the corresponding cache line to “invalid”. (3) Memory control unit The memory control unit 20 responds to each bus transaction by
The operation is as follows.

【0105】・“Read−Line”トランザクショ
ンに対する応答:アクセス対象となっているキャッシュ
ラインのアドレスで示されるメモリロケーションからキ
ャッシュラインデータを読み出し、バス16に出力す
る。
Response to “Read-Line” transaction: Reads cache line data from the memory location indicated by the address of the cache line to be accessed, and outputs it to bus 16.

【0106】・“Write−Word”トランザクシ
ョンに対する応答:キャッシュから書き出されるデータ
を取り込み、メモリ12の該当するアドレスに書き込
む。 (4)ビフォアイメージバッファ制御部 次に、各バストランザクションに対するビフォアイメー
ジバッファ制御部21の動作を説明する。
Response to “Write-Word” transaction: fetches data written from cache and writes it to the corresponding address in memory 12. (4) Before Image Buffer Control Unit Next, the operation of the before image buffer control unit 21 for each bus transaction will be described.

【0107】・“Read−Line”トランザクショ
ンに対する応答:何もしない。 ・“Write−Word”トランザクションに対する
応答:バスインタフェース制御部211がバス16に発
行された“Write−Word”トランザクションを
スヌープすると、状態保存制御部212は、バストラン
ザクション応答制御部215を起動する。バストランザ
クション応答制御部215は、バスインターフェース制
御部211を介してシェアード応答信号とモディファイ
ド応答信号を、シェアード応答信号線161およびモデ
ィファイド応答信号線162にアサートする。これによ
って、“Write−Word”トランザクションはア
ボートされたことになり、この後、マスタプロセッサ
は、再びバスを獲得した後、同じトランザクションを再
発行する。
Response to “Read-Line” transaction: Nothing is done. Response to “Write-Word” transaction: When the bus interface controller 211 snoops the “Write-Word” transaction issued to the bus 16, the state storage controller 212 activates the bus transaction response controller 215. The bus transaction response control unit 215 asserts the shared response signal and the modified response signal to the shared response signal line 161 and the modified response signal line 162 via the bus interface control unit 211. As a result, the “Write-Word” transaction has been aborted. After that, the master processor reacquires the bus and then reissues the same transaction.

【0108】バストランザクション応答制御部215
は、下記の処理が完了するまで、再発行された“Wri
te−Word”トランザクションに対して、シェアー
ド応答信号およびモディファイド応答信号をアサート
し、アポートし続ける。
Bus transaction response control unit 215
Indicates that the reissued “Wri
In response to the "te-Word" transaction, the shared response signal and the modified response signal are asserted and continue to be imported.

【0109】状態保存制御部212は、バストランザク
ション発行制御部215を起動する。バストランザクシ
ョン発行制御部215は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部211を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line”トランザクションを発行する。
The state saving control unit 212 activates the bus transaction issuance control unit 215. The bus transaction issuance control unit 215 obtains “Read” for the memory location indicated by the address of the cache line to be invalidated obtained via the bus interface control unit 211 in order to obtain the cache line data before update.
Issue a "Line" transaction.

【0110】さらに、状態保存制御部212は、バッフ
ァアクセス制御部214を起動し、メモリ制御部20が
主メモリ12から読み出しバス16に出力したキャッシ
ュラインデータを、バスインタフェース制御部211か
らバッファアクセス制御部214に転送して、アドレス
値と共にビフォアイメージバッファ13に書き込ませ
る。
Further, the state saving control unit 212 activates the buffer access control unit 214, and the cache line data read from the main memory 12 by the memory control unit 20 and output to the bus 16 is transmitted from the bus interface control unit 211 to the buffer access control unit 211. The data is transferred to the section 214 and written into the before image buffer 13 together with the address value.

【0111】この処理が終了すると、バストランザクシ
ョン応答制御部215は、再発行された“Write−
Word”トランザクションに対するアボートを中止す
る。また、状態保存制御部212は、上記処理を実施し
たキャッシュブロックのアドレスを記憶し、この後、再
び同じアドレスに対する“Write−Word”トラ
ンザクションが発行された場合には、無視する。
When this process is completed, the bus transaction response control unit 215 sends the re-issued “Write-
The abort for the “Word” transaction is stopped.The state storage control unit 212 stores the address of the cache block on which the above processing has been performed, and thereafter, when the “Write-Word” transaction for the same address is issued again. Ignores.

【0112】なお、本例では、“Write−Wor
d”トランザクションに対して、ライン単位で更新前デ
ータを保存しているが、ワードデータのリードがサポー
トされていれば、ワード単位で更新前データを保存して
も良い。 (5)チェックポイント チェックポイントの処理は、プロセッサの内部状態を主
メモリに書き出すことで実現される。ライトスルー型キ
ャッシュであるので、キャッシュの内容を書き出す必要
はない。
In this example, “Write-Wor
Although the data before update is stored in units of lines for the d ″ transaction, the data before update may be stored in units of words if reading of word data is supported. (5) Checkpoint check Point processing is realized by writing the internal state of the processor to the main memory, and there is no need to write the contents of the cache because it is a write-through cache.

【0113】また、ここではライトスルーキャッシュを
対象として説明したが、より一般にキャッシュを持たな
いコンピュータシステムや、非キャッシュアクセス動作
モードを持つコンピュータシステムにおいても、同様の
制御により、メモリ状態回復機能を実現することができ
る。
Although the write-through cache has been described here, the memory state recovery function is realized by the same control in a computer system having no cache or a computer system having a non-cache access operation mode. can do.

【0114】また、前記実施形態においては、複数のプ
ロセッサ14〜15を持つマルチプロセッサシステムを
説明したが、キャッシュが同様の機能を持っていれば、
単一プロセッサから成るコンピュータシステムに対して
も適用することが可能である。また、キャッシュが単一
でなく、階層構造を取る場合にも同様に適用可能であ
る。すなわち、マルチプロセッサ対応のCPUおよびキ
ャッシュを持つシステムであれば、適用することができ
る。
In the above embodiment, the multiprocessor system having a plurality of processors 14 to 15 has been described. However, if the cache has a similar function,
The present invention can be applied to a computer system including a single processor. Further, the present invention can be similarly applied to a case where the cache is not a single cache but has a hierarchical structure. That is, the present invention can be applied to any system having a CPU and a cache compatible with a multiprocessor.

【0115】このようにして、ビフォアイメージバッフ
ァ制御部21は、あるキャッシュまたはCPUからバス
16に発行されたトランザクションに応じて、主メモリ
12に保持された更新前データを含むキャッシュライン
データをビフォアイメージバッファ13に保存する。
In this way, the before image buffer control unit 21 converts the cache line data including the pre-update data held in the main memory 12 into the before image according to the transaction issued from the certain cache or CPU to the bus 16. The data is stored in the buffer 13.

【0116】すなわち、既存のコンピュータシステムの
バス、プロセッサ、キャッシュ、メモリ制御部には何ら
手を加えずに、バスにビフォアイメージバッファ制御部
21を付加することにより、メモリ状態回復機能を実現
することが可能となる。
That is, the memory state recovery function is realized by adding the before image buffer control unit 21 to the bus without changing the bus, the processor, the cache, and the memory control unit of the existing computer system. Becomes possible.

【0117】なお、上述のビフォアイメージバッファ制
御部21の動作は、コンピュータ読み取り可能なCD−
ROM等の記録媒体に格納して提供されるコンピュータ
プログラムによって実現することができる。この場合、
コンピュータプログラムには、CPUからそれに対応す
るキャッシュに対してライトアクセス要求があった場合
にキャッシュからバス上に発行されるトランザクション
に応答して、メモリ制御部20を用いてライトアクセス
要求の対象となるデータを主メモリ12から読み出すた
めの手順と、メモリ制御部20を介して主メモリ12か
らバス上に読み出されたデータと、そのデータに対応す
るアドレスとを、ビフォアイメージバッファ13に格納
するための手順とを含ませればよい。これら手順は上述
したハードウェアの動作手順と同様である。また、キャ
ッシュからバスへのトランザクションのスヌープは、例
えば、バス上のトランザクションの状態がハードウェア
によって設定されるステータスレジスタなどを用意し、
そのステータスレジスタをリードすること等によって実
現できる。
The operation of the before image buffer control section 21 described above is performed by a computer-readable CD-ROM.
The present invention can be realized by a computer program provided by being stored in a recording medium such as a ROM. in this case,
The computer program becomes a target of the write access request by using the memory control unit 20 in response to a transaction issued from the cache to the bus when the CPU issues a write access request to the corresponding cache. A procedure for reading data from the main memory 12 and a method for storing the data read from the main memory 12 onto the bus via the memory control unit 20 and an address corresponding to the data in the before image buffer 13. May be included. These procedures are the same as the above-described hardware operation procedures. In addition, for the snoop of the transaction from the cache to the bus, for example, a status register in which the status of the transaction on the bus is set by hardware is prepared,
This can be realized by reading the status register or the like.

【0118】また、ビフォアイメージバッファ制御部2
1にマイクロコンピュータを設け、前述のビフォアイメ
ージバッファ制御部21の動作手順をそのマイクロコン
ピュータのROMに格納されたファームウェアなどの動
作制御プログラムによって制御することもできる。ま
た、本発明は、上記実施例に限定されるものではなく、
本発明の要旨の範囲で種々の変形実施が可能である。
The before image buffer control unit 2
1, a microcomputer can be provided, and the operation procedure of the before image buffer control unit 21 can be controlled by an operation control program such as firmware stored in a ROM of the microcomputer. Further, the present invention is not limited to the above embodiment,
Various modifications can be made within the scope of the present invention.

【0119】[0119]

【発明の効果】以上説明したように、この発明によれ
ば、既存のコンピュータシステムのメモリ制御部を改造
せずに、付加ハードのみによってメモリ状態回復機能を
実現できるようになり、既存のコンピュータシステムを
そのまま流用する事が可能となる。また、主記憶へのデ
ータ書き込み時では無く、キャッシュへのデータ書き込
み時に更新前データを採取しているので、チェックポイ
ントロールバックによるシステム回復手法を用いている
システムに適用した場合には、チェックポイント時に、
キャッシュに保持されていた更新データを主記憶に書き
出すだけで良く、この時点で更新前データをバッファに
保存する必要がなくなるため、チェックポイント処理の
オーバーヘッドを小さくすることができる。
As described above, according to the present invention, a memory state recovery function can be realized only by additional hardware without modifying a memory control unit of an existing computer system. Can be used as it is. In addition, since data before updating is collected not when writing data to the main memory but when writing data to the cache, if the method is applied to a system using a system recovery method by checkpoint rollback, the checkpoint Sometimes
It is only necessary to write the update data held in the cache to the main memory. At this point, it is not necessary to save the pre-update data in the buffer, so that the overhead of the checkpoint processing can be reduced.

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

【図1】この発明の一実施形態に係るメモリ更新履歴保
存装置を用いたマルチプロセッサシステムの構成を示す
ブロック図。
FIG. 1 is a block diagram showing a configuration of a multiprocessor system using a memory update history storage device according to an embodiment of the present invention.

【図2】同実施形態に係るシステムに設けられたキャッ
シュのタグメモリの構成例を示す図。
FIG. 2 is an exemplary view showing a configuration example of a tag memory of a cache provided in the system according to the embodiment;

【図3】同実施形態に係るシステムに設けられたキャッ
シュに保持されているキャッシュラインデータの状態を
示す図。
FIG. 3 is an exemplary view showing a state of cache line data held in a cache provided in the system according to the embodiment;

【図4】同実施形態に係るシステムおけるメモリ更新履
歴情報の採取動作を示すタイミングチャート。
FIG. 4 is a timing chart showing an operation of collecting memory update history information in the system according to the embodiment.

【図5】同実施形態に係るシステムの他の構成例を示す
ブロック図。
FIG. 5 is an exemplary block diagram showing another configuration example of the system according to the embodiment;

【図6】メモリ回復機能を実現するために必要な従来の
マルチプロセッサシステムの構成を示すブロック図。
FIG. 6 is a block diagram showing a configuration of a conventional multiprocessor system required to realize a memory recovery function.

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

12…主メモリ、13…ビフォアイメージバッファ、1
4〜15…CPU、16…バス、17〜18…キャッシ
ュ、20…メモリ制御部、21…ビフォアイメージバッ
ファ制御部、211…バスインターフェース制御部、2
12…状態保存制御部、213…バストランザクション
応答制御部、214…バッファアクセス制御部、215
…バストランザクション発行制御部。
12: Main memory, 13: Before image buffer, 1
4 to 15 CPU, 16 bus, 17 to 18 cache, 20 memory control unit, 21 before image buffer control unit, 211 bus interface control unit, 2
12 state storage control unit, 213 bus transaction response control unit, 214 buffer access control unit, 215
... Bus transaction issuing control unit.

フロントページの続き (56)参考文献 特開 平5−128071(JP,A) 特開 平3−68034(JP,A) 米国特許5418916(US,A) IEEE TRANSACTIONS ON PARALLEL AND D ISTRIBUTED SYSTEMS VOL.1 NO.2 1990 p231 −240 Kun−Lung Wu,W.Ken t Fuchs & Janak H. Patel「Error Recove ry in Shared Memor y Multiprocessors Using Private Cach es」1990 IEEE 20th Int ernational Symposi um On Fault−Tolera nt Computing p82−88 Rana Ejaz Ahmed,R obert C.Frazier & Peter N.Marinos「Ca che−Aided Rollback Error Recovery(CA RER)Algorithms for Shared−Memory Mul tiprocessor System s」IEEE TRANSACTION S ON PARALLEL AND DISTRIBUTED SYSTEM S VOL.5 NO.10 1994 p 1033−1043 Bob Janssens & W. Kent Fuchs「The Per formance of Cache− Based Error Recove ry in Multiprocess ors」1987 FAULT−TOLER ANT COMPUTING P170− 175 Douglas B.Hunt & Peter N.Marinos「A General Purpose Ca che−Aided Rollbach Error Recovery(CA RER) (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 678 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)Continuation of the front page (56) References JP-A-5-128071 (JP, A) JP-A-3-68034 (JP, A) U.S. Pat. No. 5,418,916 (US, A) 1 NO. 2 1990 p231-240 Kun-Lung Wu, W.C. Kent Fuchs & Janak H. Patel, "Error Recovery in Shared Memory Multiprocessors Utilizing Private Certificates, 1990, 1990, International R & D Co., Ltd. Frazier & Peter N. Marinos, "Cache-Aided Rollback Error Recovery (CA LER)" Algorithms for Shared-Memory Multiprocessor System Systems, IEEE TRANSLATION SPACE DEVELOP SERIES CONNECTION SERVICE 5 NO. 10 1994 pp. 1033-1043 Bob Janssens & W. Kent Fuchs, "The Performance of Cache-Based Error Recovery in Multiprocessors, 1987 FAULT-TOG BUTTER GROUP. Hunt & Peter N. Marinos, "A General Purpose Cache-Aided Rollbach Error Recovery (CA RR) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 15/177 678 INSSPEC (DIALOG) JICSG file (JOISW) (JOISW)

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 キャッシュを内蔵又は接続する少なくと
も一つのCPUと、主メモリと、この主メモリに接続さ
れ読み出し書き込み制御を行なうメモリコントローラ
と、前記キャッシュ又はCPUとメモリコントローラと
が接続されるバスとを備えたコンピュータシステムであ
って、前記コンピユータシステムに故障が発生した場合
に前記主メモリの記憶内容を復元するために必要な更新
履歴情報を保存するメモリ更新履歴保存装置において、 前記主メモリの記憶内容およびその記憶アドレスを組と
する前記更新履歴情報を格納するバッファと、 前記バッファおよび前記バスに接続され、前記バスに出
力されるトランザクションを監視して、前記CPUが前
記キャッシュに対してライトアクセス要求を行なった場
合に前記キャッシュ又はCPUから前記バスに出力され
るライトトランザクションに応答して、前記主メモリの
対応するアドレスに対し書き込みが行われる前に、その
記憶アドレスから上記記憶内容を読み出すためのリード
トランザクションを前記バスを介し前記メモリコントロ
ーラに出力するバッファアクセス制御手段と、 を具備することを特徴とするメモリ更新履歴保存装置。
At least one CPU having a built-in or connected cache, a main memory, a memory controller connected to the main memory for read / write control, and a bus connected to the cache or CPU and the memory controller. A memory update history storage device for storing update history information necessary for restoring the storage contents of the main memory when a failure occurs in the computer system, comprising: A buffer for storing the update history information having a set of contents and its storage address; and a CPU connected to the buffer and the bus for monitoring a transaction output to the bus, and the CPU performs a write access to the cache. The cache or CP when requesting Before writing to a corresponding address in the main memory in response to a write transaction output from the memory to the bus, a read transaction for reading the storage content from the storage address is performed via the bus. A memory update history storage device, comprising: buffer access control means for outputting to a controller.
【請求項2】 前記メモリコントローラは前記リードト
ランザクションに応答して、前記主メモリの対応する前
記記憶アドレスから上記記憶内容を読み出して前記更新
履歴情報として前記バスを介して前記バッファアクセス
制御手段に出力し、前記バッファアクセス制御手段は前
記更新履歴情報を前記バッファに書き込むことを特徴と
する請求項1記載のメモリ更新履歴保存装置。
2. In response to the read transaction, the memory controller reads the stored contents from the corresponding storage address of the main memory and outputs the read contents as the update history information to the buffer access control means via the bus. 2. The memory update history storage device according to claim 1, wherein said buffer access control means writes said update history information into said buffer.
【請求項3】 前記メモリコントローラは前記キャッシ
ュ又はCPUから再び発行されるライトトランザクショ
ンに応答して、前記主メモリの対応する前記記憶アドレ
スに前記キャッシュへの書き込み情報と同じ内容を書き
込むことを特徴とする請求項2記載のメモリ更新履歴保
存装置。
3. The memory controller writes the same content as the write information to the cache at the corresponding storage address of the main memory in response to a write transaction issued again from the cache or CPU. The memory update history storage device according to claim 2.
【請求項4】 前記キャッシュはライトスルー型のキャ
ッシュであることを特徴とする請求項1記載のメモリ更
新履歴保存装置。
4. The cache according to claim 1, wherein said cache is a write-through cache.
2. The memory update according to claim 1, wherein
New history storage device.
【請求項5】 キャッシュを内蔵又は接続する少なくと
も一つのCPUと、 主メモリと、この主メモリの読み出
し書き込み制御を行なうメモリコントローラと、前記キ
ャッシュ又はCPUとメモリコントローラとが接続され
るバスとを備えたコンピュータシステムであって、前記
コンピュータシステムに故障が発生した場合に前記主メ
モリの記憶内容を復元するために必要な更新履歴情報を
保存するメモリ更新履歴保存方法において、 前記主メモリの記憶内容およびその記憶アドレスを組と
する前記更新履歴情報を格納するバッファと、 前記バッファおよび前記バスに接続され、前記バッファ
の書き込み制御を行なうバッファアクセス制御手段とを
具備し、 前記バッファアクセス制御手段は、 前記キャッシュ又はCPUから前記バスに出力されるト
ランザクションを監視するステップと、 前記監視ステップによって、前記CPUから前記キャッ
シュに対するライトアクセス要求に応答して前記キャッ
シュ又はCPUから出力されるライトトランザクション
を検出した時、前記主メモリの対応するアドレスに対し
て書き込みが行われる前に、その書き込みが行われる記
憶アドレスから記憶内容を読み出すリードトランザクシ
ョンを前記バスを介して前記メモリコントローラに出力
するステップと、 前記メモリコントローラによって前記主メモリから読み
出された前記記憶内容とその記憶アドレスを前記更新履
歴情報として前記バッファに書き込むステップと、 を有することを特徴とするメモリ更新履歴保存方法。
5. At least a built-in or connected cache
Also one CPU, main memory and reading of this main memory
A memory controller for performing write control, and the key
Cache or CPU and memory controller are connected
A computer system comprising:
If a failure occurs in the computer system, the main
Update history information necessary to restore memory contents
In the memory update history storing method for storing, a storage content of the main memory and a storage address thereof are paired.
A buffer for storing the update history information, and a buffer connected to the buffer and the bus,
Buffer access control means for performing write control of
And the buffer access control means is provided with a buffer which is output from the cache or CPU to the bus.
Monitoring the transaction; and the monitoring step allows the CPU to execute the cache.
Cache in response to a write access request to the cache.
Or a write transaction output from the CPU
Is detected, the corresponding address in the main memory is
Before writing is performed
Read transaction to read stored contents from storage address
Output to the memory controller via the bus
A step of reading from the main memory by the memory controller
The updated storage contents and the storage addresses
Writing the history information to the buffer as a history information .
【請求項6】 前記バッファアクセス制御手段は、更に
前記ライトトランザクションをアボートするステップを
具備することを特徴とする請求項5記載のメモリ更新履
歴保存方法。
6. The buffer access control means further comprises:
Aborting the write transaction.
6. The memory update program according to claim 5, wherein the memory update program is provided.
History saving method.
【請求項7】 それぞれにコピーバック型のキャッシュ
を内蔵又は対応接続する複数のCPUと、主メモリと、
この主メモリに接続され読み出し書き込み制御を行なう
メモリコントローラと、前記複数のキャッシュ又はCP
Uとメモリコントローラとが接続されるバスとを備えた
コンピュータシステムであって、前記 コンピュータシス
テムに故障が発生した場合に前記主メモリの記憶内容を
復元するために必要な更新履歴情報を保存するメモリ更
新履歴保存装置において、 前記主メモリの記憶内容およびその記憶アドレスを組と
する前記更新履歴情報を格納するバッファと、 前記バッファおよび前記バスに接続され、前記バッファ
の書き込み制御を行なうバッファアクセス制御手段とを
具備し、 前記バッファアクセス制御手段は、 前記複数のキャッシュ又はCPUから前記バスに出力さ
れるトランザクションを監視する手段と、 この監視手段によって、前記CPUから対応する前記キ
ャッシュに対するライトアクセス要求に応答してそのキ
ャッシュ又はCPUから前記バスを介して他のキャッシ
ュ又はCPUへ出力される対応するキャッシュラインの
無効化を指示する無効化トランザクションを検出した場
合、前記主メモリの対応するアドレスから記憶内容を読
み出すよう前記メモリコントローラに対しリードアクセ
ス要求を出力する手段と、 前記メモリコントローラによって前記主メモリから読み
出された前記記憶内容とその記憶アドレスを前記更新履
歴情報としで前記バッファに書き込む書き込み手段と、 を有することを特徴とするメモリ更新履歴保存装置。
7. A copy-back type cache for each.
A plurality of CPUs that incorporate or connect
Connected to this main memory to perform read / write control
A memory controller and the plurality of caches or CPs;
U and a bus connected to the memory controller
A computer system, wherein the computer system
In the event of a system failure, the contents of the main memory are
Memory update to save update history information necessary for restoration
In the new history storage device, the storage content of the main memory and its storage address are paired.
A buffer for storing the update history information, and a buffer connected to the buffer and the bus,
Buffer access control means for performing write control of
Comprising, the buffer access control means is outputted from said plurality of cache or CPU on the bus
Means for monitoring the transaction to be executed, and the monitoring means
In response to a write access request to the cache.
Cache or other cache via the bus from the CPU.
Of the corresponding cache line output to the
If an invalidation transaction indicating invalidation is detected
Read the stored contents from the corresponding address in the main memory.
Read access to the memory controller
Means for outputting a read request from the main memory by the memory controller.
The updated storage contents and the storage addresses
Writing means for writing to the buffer as history information, a memory update history storage device.
【請求項8】 前記無効化トランザクションは、前記主
メモリあるいは他のキャッシュの対応するキャッシュラ
インからデータを読み出すと共に、前記他のキャッシュ
の対応するキャッシュラインの無効化を指示する無効化
トランザクションであることを特徴とする請求項7記載
のメモリ更新履歴保存装置。
8. The invalidation transaction according to claim 1 , wherein:
Corresponding cacher in memory or other cache
Read data from the other cache
Invalidation to instruct the corresponding cache line to be invalidated
8. The transaction according to claim 7, wherein the transaction is a transaction.
Memory update history storage device.
【請求項9】 前記バッファアクセス制御手段は、更に
前記無効化トランザクションをアボートする手段を具備
することを特徴とする請求項7記載のメモリ更新履歴保
存装置。
9. The buffer access control means further comprises:
Means for aborting the invalidation transaction
8. The memory update history storage according to claim 7, wherein
Device.
【請求項10】 それぞれにコピーパック型のキャッシ
ュを内蔵又は対応接続する複数のCPUと、主メモリ
と、この主メモリに接続され読み出し書き込み制御を行
なうメモリコントローラと、前記複数のキャッシュ又は
CPUとメモリ コントローラとが接続されるバスとを備
えたコンピュータシステムであって、前記コンピュータ
システムに故障が発生した場合に前記主メモリの記憶内
容を復元するために必要な更新履歴情報を保存するメモ
リ更新履歴保存方法において、 前記主メモリの記憶内容およびその記憶アドレスを組と
する前記更新履歴情報を格納するバッファと、 前記バッファおよび前記バスに接続され、前記バッファ
の書き込み制御を行なうバッファアクセス制御手段とを
具備し、 前記バッファアクセス制御手段は、 前記複数のキャッシュ又はCPUから前記バスに出力さ
れるトランザクションを監視するステップと、 この監視ステップによって、前記CPUから対応する前
記キャッシュに対するライトアクセス要求に応答してそ
のキャッシュ又はCPUから前記バスを介して他のキャ
ッシュ又はCPUへ出力される対応するキャッシュライ
ンの無効化を指示する無効化トランザクションを検出し
た場合、前記主メモリの対応するアドレスから記憶内容
を読み出すよう前記メモリコントローラに対しリードア
クセス要求を出力するステップと、 前記メモリコントローラによって前記主メモリから読み
出された前記記憶内容とその記憶アドレスを前記更新履
歴情報として前記バッファに書き込む書き込みステップ
と、 を有することを特徴とするメモリ更新履歴保存方法。
10. A copy pack type cache for each.
Multiple CPUs with built-in or corresponding connections
Connected to this main memory to perform read / write control.
A memory controller and the plurality of caches or
It has a bus to which the CPU and the memory controller are connected.
A computer system, comprising:
In the event of a system failure, the main memory
Note that saves the update history information necessary to restore the contents
In the re-update history storing method, a storage content of the main memory and a storage address thereof are paired.
A buffer for storing the update history information, and a buffer connected to the buffer and the bus,
Buffer access control means for performing write control of
Comprising, the buffer access control means is outputted from said plurality of cache or CPU on the bus
Monitoring the transaction to be performed, and the monitoring step
In response to a write access request to the cache
From another cache or other CPU via the bus.
Cache or the corresponding cache license output to the CPU.
Detects invalidation transactions that indicate invalidation
The stored contents from the corresponding address in the main memory
To the memory controller to read
Outputting an access request, and reading from the main memory by the memory controller.
The updated storage contents and the storage addresses
Writing step of writing in the buffer as history information
And a memory update history storage method.
【請求項11】 前記バッファアクセス制御手段は、更
に前記無効化トランザクションをアボートするステップ
を具備することを特徴とする請求項10記載のメモリ更
新履歴保存方法。
11. The buffer access control means according to claim 1, wherein
Aborting the invalidation transaction to
11. The memory update according to claim 10, comprising:
New history storage method.
JP09228238A 1996-09-30 1997-08-25 Memory update history storage device and memory update history storage method Expired - Fee Related JP3083786B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09228238A JP3083786B2 (en) 1996-09-30 1997-08-25 Memory update history storage device and memory update history storage method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP27902796 1996-09-30
JP8-279027 1996-09-30
JP09228238A JP3083786B2 (en) 1996-09-30 1997-08-25 Memory update history storage device and memory update history storage method

Publications (2)

Publication Number Publication Date
JPH10154134A JPH10154134A (en) 1998-06-09
JP3083786B2 true JP3083786B2 (en) 2000-09-04

Family

ID=26528136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09228238A Expired - Fee Related JP3083786B2 (en) 1996-09-30 1997-08-25 Memory update history storage device and memory update history storage method

Country Status (1)

Country Link
JP (1) JP3083786B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320274A (en) * 1997-03-19 1998-12-04 Toshiba Corp Cache flashing device, computer system provided with the device and recording medium
US6725337B1 (en) * 2001-05-16 2004-04-20 Advanced Micro Devices, Inc. Method and system for speculatively invalidating lines in a cache
JP4400571B2 (en) 2003-09-30 2010-01-20 日本電気株式会社 Coding data processing method and gateway device in connection between different types of communication networks
JP4892406B2 (en) * 2007-05-23 2012-03-07 株式会社日立製作所 Transaction management method for information processing apparatus and information processing apparatus
WO2020075276A1 (en) * 2018-10-11 2020-04-16 三菱電機株式会社 Memory history management system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Bob Janssens & W.Kent Fuchs「The Performance of Cache−Based Error Recovery in Multiprocessors」1987 FAULT−TOLERANT COMPUTING P170−175
Douglas B.Hunt & Peter N.Marinos「A General Purpose Cache−Aided Rollbach Error Recovery(CARER)
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS VOL.1 NO.2 1990 p231−240
Kun−Lung Wu,W.Kent Fuchs & Janak H.Patel「Error Recovery in Shared Memory Multiprocessors Using Private Caches」1990 IEEE 20th International Symposium On Fault−Tolerant Computing p82−88
Rana Ejaz Ahmed,Robert C.Frazier & Peter N.Marinos「Cache−Aided Rollback Error Recovery(CARER)Algorithms for Shared−Memory Multiprocessor Systems」IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS VOL.5 NO.10 1994 p1033−1043

Also Published As

Publication number Publication date
JPH10154134A (en) 1998-06-09

Similar Documents

Publication Publication Date Title
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
JP2916420B2 (en) Checkpoint processing acceleration device and data processing method
US6519685B1 (en) Cache states for multiprocessor cache coherency protocols
TWI432963B (en) Low-cost cache coherency for accelerators
US5572702A (en) Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5996048A (en) Inclusion vector architecture for a level two cache
JP3086779B2 (en) Memory state restoration device
EP1035476A1 (en) Multiprocessing system employing pending tags to maintain cache coherence
JPH0247756A (en) Reading common cash circuit for multiple processor system
JPH07253928A (en) Duplex cache snoop mechanism
US8209490B2 (en) Protocol for maintaining cache coherency in a CMP
US5920891A (en) Architecture and method for controlling a cache memory
JP3083786B2 (en) Memory update history storage device and memory update history storage method
JP3202943B2 (en) Processing apparatus and improved apparatus and method for snooping a lookaside cache
JP3129224B2 (en) Cache memory device
KR100380674B1 (en) Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system
US20040068613A1 (en) Retry-based late race resolution mechanism for a computer system
JP3013631B2 (en) Cache memory synchronization method
JP3833760B2 (en) Computer system and memory state restoration device
JP3145479B2 (en) Multiprocessor system and cache memory control method and apparatus therefor
JP2000181790A (en) Memory update history preservation device
JPH08202622A (en) Cache control method for distributed memory constitution
JPH10149307A (en) Check point processing method and recording medium
JP2000020395A (en) Method and device for cache flash

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120630

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120630

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130630

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees