JPH10154134A - メモリ更新履歴保存装置およびメモリ更新履歴保存方法 - Google Patents
メモリ更新履歴保存装置およびメモリ更新履歴保存方法Info
- Publication number
- JPH10154134A JPH10154134A JP9228238A JP22823897A JPH10154134A JP H10154134 A JPH10154134 A JP H10154134A JP 9228238 A JP9228238 A JP 9228238A JP 22823897 A JP22823897 A JP 22823897A JP H10154134 A JPH10154134 A JP H10154134A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- transaction
- data
- bus
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
改造せずに、付加ハードのみによってメモリ状態回復機
能を実現する。 【解決手段】メモリ制御部20とは別個にビフォアイメ
ージバッファ制御部21が設けられており、それがバス
16に接続されている。ビフォアイメージバッファ制御
部21は、CPUからそれに対応するキャッシュに対し
てライトアクセス要求があった場合に、当該キャッシュ
からバス16上に発行されるトランザクションに応答し
て自動的に起動して、主メモリ12から更新前データを
リードするためのトランザクションを発行する。このよ
うに、メモリ制御部20とは独立して動作可能なビフォ
アイメージバッファ制御部21を設けることにより、メ
モリコントローラを改造せずに、既存のコンピュータシ
ステムをそのまま流用して容易にメモリ状態回復機能を
実現することが可能となる。
Description
テムの主記憶の内容を復元するメモリ状態回復機能の実
現に必要な主記憶の更新履歴情を保存するメモリ更新履
歴保存装置およびメモリ更新履歴保存方法に関する。
グラムを実行した場合に、一旦処理が進んでしまうと、
それ以前の状態に戻って処理を再開するということは一
般に行うことができない。
ては、メモリの内容を以前の状態に戻してその時点から
処理を継続する機能(メモリ状態回復機能)があること
が望まれる。
に、以前の状態に遡ることにより、エラーの原因を解析
することができる。
なくなった場合、以前の状態に戻ってそこから処理を再
開することにより、システムを停止させることなく動作
を継続することができる。
例えばPhilip A Bernstein, “Sequoia:A Fault-Tolera
nt Tightly Coupled Multiprocessor for Transaction
Processing, ”IEEE Computer, Vol.21,No.2,1988 に開
示されている。
ラッキングが基本的な操作である。メモリの内容が以前
の状態に戻る機能を用いることにより、バックトラッキ
ングを実現することができる。
る方法として考えられている技術の一つに、“バックワ
ード手法”がある。このような技術は、例えばRok Sosi
c ,“History Cache:Hardware Support for Reverse E
xecutrrion, ”Computer Architecture News, Vol.22,N
o.5,1994に開示されている。
メモリ状態回復機能を実現するために必要な従来の典型
的なコンピュータシステムの構成が示されている。図6
のシステムでは、N個のCPU31〜32、各CPUに
対応するN個のキャッシュ41〜42が設けられてい
る。キャッシュ41〜42は、メモリ制御部60とバス
50を介して接続されている。
ォアイメージバッファ80とに接続されており、それら
主メモリ70およびビフォアイメージバッファ80に対
するアクセスを制御する。ビフォアイメージバッファ8
0は、主メモリ70の更新前データとそのアドレスとの
組から成る更新履歴情報を格納するためのものである。
る書き込み要求が発行されると、主メモリ70に対する
実際のライトアクセスに先だって、書き込み対象の更新
前データを主メモリ70から読み出し、その読み出しデ
ータと対応するアドレスとをビフォアイメージバッファ
80に書き込む。
は、ビフォアイメージバッファ80の更新履歴情報を主
メモリ70に書き戻すだけで、主メモリ70の内容を障
害発生前の状態に復元することが可能となる。
は、メモリ制御部60に、ビフォアイメージバッファ8
0に対するアクセスを制御するバッファアクセス制御機
能と、主メモリ70の状態を保存するために必要な各種
機能を制御するための状態保存制御機能などを組み込む
必要があるため、既存のメモリコントローラを利用する
ことができず、メモリコントローラを新たに開発しなけ
ればならないという問題がある。したがって、既存のコ
ンピュータシステムをそのまま流用してメモリ状態回復
機能を実現することは実際上困難であった。
のメモリ制御部を改造せずに、既存のコンピュータシス
テムをそのまま流用して容易にメモリ状態回復機能を実
現し得るメモリ更新履歴保存装置およびメモリ更新履歴
保存方法を提供することを目的とする。
PUと、各CPUに対応して設けられた1以上のキャッ
シュと、主記憶と、この主記憶を制御するメモリコント
ローラと、少なくとも前記1以上のキャッシュと前記メ
モリコントローラとが接続されるバスと備えたコンピュ
ータシステムにおいて前記主記憶の記憶内容を復元する
ために必要な更新履歴情報を保存するメモリ更新履歴保
存装置において、前記主記憶の更新前データとその更新
前データの格納位置を示すアドレスとの組を前記更新履
歴情報として格納するためのバッファと、前記バスに接
続され、前記バッファに対する更新履歴情報の書き込み
を制御するバッファアクセス制御手段とを具備し、前記
バッファアクセス制御手段は、前記CPUからそれに対
応するキャッシュに対してライトアクセス要求があった
場合に当該キャッシュから前記バス上に発行されるトラ
ンザクションに応答して、前記ライトアクセス要求の対
象となる前記主記憶上のデータを読み出すためのリード
トランザクションを前記バス上に発行するトランザクシ
ョン発行手段と、前記リードトランザクションの発行に
応答して前記メモリコントローラによって前記主記憶か
ら前記バス上に読み出されたデータと、そのデータに対
応するアドレスとを、前記バッファに格納する更新履歴
書き込み手段とを具備することを特徴とする。
メモリコントローラとは別個にバッファアクセス制御手
段が設けられており、それがバスに接続されている。バ
ッファアクセス制御手段は、主記憶に対するライトアク
セス要求がメモりコントローラに送られた時に動作する
のではなく、CPUからそれに対応するキャッシュに対
してライトアクセス要求があった場合に当該キャッシュ
からバス上に発行されるトランザクション、例えば、バ
スに接続し得る他のキャッシュに対して対応するキャッ
シュラインの無効化を指示する無効化トランザクショ
ン、に応答して自動的に動作する。すなわち、無効化ト
ランザクションが検出されると、バッファアクセス制御
手段は、その無効化トランザクションで指定されるキャ
ッシュラインのアドレスを用いる事などにより、ライト
アクセス要求の対象となる主記憶上のデータを読み出す
ためのリードトランザクションをバス上に発行する。そ
して、このリードトランザクションに応答してメモリコ
ントローラが主記憶からバス上に読み出したデータと、
そのデータに対応するアドレスとが、バッファアクセス
制御手段によってバッファに書き込まれる。
して動作可能なバッファアクセス制御手段を設けること
により、既存のコンピュータシステムのメモリコントロ
ーラを改造せずに、既存のコンピュータシステムをその
まま流用して容易にメモリ状態回復機能を実現すること
が可能となる。
く、キャッシュへのデータ書き込み時に更新前データを
採取しているので、チェックポイントロールバックによ
るシステム回復手法を用いているシステムに適用した場
合には、チェックポイント時に、キャッシュに保持され
ていた更新データを主記憶に書き出すだけで良く、この
時点で更新前データをバッファに保存する必要がなくな
るため、チェックポイント処理のオーバーヘッドを小さ
くすることができる。
ッシュから発行されるトランザクションが、主記憶、あ
るいはバスに接続し得る他のキャッシュの対応するキャ
ッシュラインからのデータ読み出し、および他のキャッ
シュの対応するキャッシュラインの無効化を指示するリ
ードおよび無効化トランザクションである場合には、バ
ス上にトランザクションを発行せず、キャッシュからの
リードおよび無効化トランザクションによってバス上に
読み出されたデータおよび対応するアドレスをそのまま
利用してバッファに格納することができる。
実施形態を説明する。図1には、この発明の一実施形態
に係るコンピュータシステムの構成が示されている。
ータシステムは、N個のCPU(プロセッサ)14〜1
5、各CPUに対応するN個のキャッシュ17〜18が
設けられている。キャッシュ17〜18は、メモリ制御
部20、およびビフォアイメージバッファ制御部21
と、バス16を介して接続されている。
制御する通常のメモリコントローラである。ビフォアイ
メージバッファ制御部21は、主メモリ12の更新前デ
ータとそのアドレスとの組をスタック形式に蓄積するビ
フォアイメージバッファ13を制御するためのものであ
り、バスインターフェース制御部211、状態保存制御
部212、バストランザクション応答制御部213、バ
ッファアクセス制御部214、およびバストランザクシ
ョン発行制御部215を有している。
16と直接接続され、バスの制御およびスヌープ(バス
トランザクションの監視)を行う。すなわち、バスイン
ターフェース制御部211は、常時、バス16を監視し
ており、バス16に発行されたトランザクションに応じ
て動作する。状態保存制御部212は、主メモリ12の
状態を保存するために必要な各種機能を制御する。バス
トランザクション応答制御部213は、バス16に発行
されたトランザクションに対して応答を返す機能を制御
する。バッファアクセス制御部214は、ビフォアイメ
ージバッファ13と接続され、ビフォアイメージバッフ
ァに対するアクセスを制御する。バストランザクション
発行制御部215は、主メモリ12の状態をビフォアイ
メージバッファ13に保存するために必要なバストラン
ザクションを発行する機能を制御する。
のキャッシュであり、以下に説明する方式にしたがっ
て、データ一貫性保持のためのプロトコルを実現する。
これらキャッシュ17〜18は、それぞれ対応するCP
U(プロセッサ)14〜15に1次キャッシュが存在す
る場合には2次キャッシュとして機能する。また、これ
らキャッシュ17〜18自体が対応するCPUに内蔵さ
れていても良い。
ンデータを保持するデータメモリと、データメモリに格
納された各キャッシュラインデータを管理する情報を保
持するためのタグメモリを有している。
リには、対応するキャッシュラインデータのキャッシュ
ラインアドレス(ADDR)を示すアドレスタグと、キ
ャッシュラインデータの状態を示す3ビットのデータが
格納される。キャッシュラインデータの状態は、バリッ
ド(V:Valid)、モディファイド(M:Modi
fied)、シェアード(S:Shared)の3ビッ
トの値の組み合わせにより管理される。なお、バリッド
(V)は、対応するキャッシュラインデータが有効
(“1”)であることを示す。モディファイド(M)
は、キャッシュ上で更新された状態にあることを示す。
シェアード(S)は、他のプロセッサのキャッシュ上に
も同じキャッシュラインデータが保持されていることを
示す。モディファイド(M)は、キャッシュ上で更新さ
れた状態にあることを示す。シェアード(S)は、他の
プロセッサのキャッシュ上にも同じキャッシュラインデ
ータが保持されていることを示す。これら3ビットの値
の組み合わせにより、図3に示すように、キャッシュラ
インデータは4つの状態、インバリッド、クリーン・エ
クスクルーシブ、クリーン・シェアード、モディファイ
ドを取る。
トランザクションは、次のようなものを含む。 ・“Read−Line”……主メモリからキャッシュ
へのキャッシュラインデータのリードトランザクショ
ン。これは、CPUからのあるアドレスのキャッシュラ
インに対するリードアクセスに対して、該当する有効な
キャッシュラインデータがキャッシュに存在せずキャッ
シュミスした場合に発行される。
とするキャッシュラインデータを示すアドレスがタグメ
モリに格納されていない、およびアドレスは格納されて
いるがバリッドビット(V)が無効(“0”)を示す場
合である。これに対し、キャッシュヒットは、対象とす
るキャッシュラインデータのアドレスがタグメモリに格
納され、バリッドビット(V)が有効(“1”)を示す
場合である。
validate”……主メモリからキャッシュへのキ
ャッシュラインデータのリードおよび他のキャッシュに
格納されたデータの無効化トランザクション。これは、
CPUからのライトアクセスに対して、キャッシュミス
した場合に発行される。つまり、CPUからのライトア
クセスでキャッシュミスが発生すると、その時点で、同
一のキャッシュラインデータを保持する他のキャッシュ
との間で不整合が生じることが予想できる。これは、ラ
イト対象のキャッシュラインデータが主メモリからキャ
ッシュにリフィルされた後にそのキャッシュラインデー
タの書き換えが行われるからである。したがって、CP
Uからのライトアクセスに対してキャッシュミスした場
合には、キャッシュラインデータのリードおよび他のキ
ャッシュに格納されたデータの無効化を同時に指示する
トランザクションが実行される。
ュから主メモリへのキャッシュラインデータのライトト
ランザクション。これは、CPUからの指示により明示
的にキャッシュラインデータを主メモリ12に書き出す
場合、キャッシュラインデータを置換する必要が生じて
更新データが主メモリ12に書き出される場合、および
他のCPUからの要求に応じて更新データを主メモリ1
12に書き出す場合に発行される。
ッシュに格納されたデータの無効化トランザクション。
これは、CPUからのライトアクセスに対して、キャッ
シュに当該ラインが存在したが、クリーン・シェアード
であった場合に発行される。クリーン・シェアードは、
他のキャッシュに同一のキャッシュラインデータが存在
しており、且つそれらキャッシュラインデータが同一値
である状態である。このトランザクションでは無効化対
象のキャッシュラインデータを示すアドレスのめの転送
が行われ、データ転送は伴わない。
ンをサポートする。 ・“Read−Line−none−Snoop”……
他のキャッシュはスヌーブせず、必ずメモリ制御部が応
答し、主メモリからラインデータを読み出す。本実施形
態では、プロセッサ・キャッシュから発行されることは
ない。
にもサポートされることが多いが、以下の記述に直接関
係しないので、説明を省略する。また、キャッシュ17
〜18がそれぞれ対応するCPUに内蔵されている場合
においては、上述のトランザクションはCPU自体によ
って発行されることになる。
ート可能なプロセッサバスなどから構成されるものであ
り、シェアード応答信号線161、モディファイト応答
信号線162、バスコマンド信号線163、アドレス/
データ信号線164を含む。一般には、この他にアービ
トレーションを行うための信号線などを含むが、以下の
記述に直接関係しないので、説明を省略する。
d)は、他のCPU/キャッシュにより発行されたトラ
ンザクションに対して、そのトランザクションが対象と
しているキャッシュラインデータを保持している、すな
わち共有していることを通知するために用いられる。
efied)は、他のCPU/キャッシュにより発行さ
れたトランザクションに対して、トランザクションが対
象としているキャッシュラインデータを更新された状態
で保持していることを通知するために用いられる。この
信号がアサートされたときは、そのトランザクションは
アボートされる。この後、トランザクションをアボート
したスレーブは、バスを獲得した後、更新キャッシュラ
インデータをメモリに書き出す。一方、最初のトランザ
クションを発行したマスタは、再びバスを獲得した後、
同じトランザクションを発行する。
62が同時にアサートされたときにも同様にそのトラン
ザクションはアボートされる。バスコマンド信号線16
3(command)は、前述したバストランザクショ
ンの種類を示す他、トランザクションに関する各種情報
を送るために用いられる。
ess/date)は、バストランザクションがその対
象とするキャッシュラインデータのアドレスおよびデー
タを送るため信号線である。図1においては一つにまと
めて示しているが、共通の信号線を時分割で使う方式
や、アドレス/データ各々に独立した信号線を設ける方
式があり、いずれであっても構わない。
動作、すなわち、前述したバストランザクションを用い
てキャッシュ間のデータ一貫性保持プロトコルがどのよ
うに実現されているかを説明する。
クセスを起動する側のCPUおよびキャッシュ(マスタ
プロセッサ)、あるCPU/キャッシュが発行したトラ
ンザクションに対して動作する他のCPUおよびキャッ
シュ(スレーブプロセッサ)、およびメモリ制御部2
0、およびビフォアイメージバッファ制御部21それぞ
れの動作について説明する。 (1)マスタプロセッサ まず、トランザクションを発行してアクセスを起動する
マスタプロセッサの動作と、発行されたトランザクショ
ンに対応するキャッシュの状態遷移について説明する。
なお、マスタプロセッサがCPU14(キャッシュ1
7)であるとして説明する。
CPU14がリードアクセス要求した結果、キャッシュ
17においてキャッシュヒットした場合、キャッシュ1
7から該当するデータが読み出される。CPU14(キ
ャッシュ17)は、バス16にトランザクションを発行
しない。このとき、キャッシュラインの状態は変わらな
い。
PU14がリードアクセス要求した結果、キャッシュ1
7においてキャッシュミスした場合、CPU14(キャ
ッシュ17)は、バス16に“Read−Line”ト
ランザクションを発行する。
162を介してモディファイト応答信号がアサートされ
たならば、他のキャッシュのうち一つがそのラインの更
新データを保持していることになる。キャッシュ17
は、この後、モディファイド応答信号をアサートしたキ
ャッシュから主メモリ12に書き出されたキャッシュラ
インデータを読み込み、そのキャッシュ17のデータメ
モリに格納する。キャッシュラインの状態は“クリーン
・シェアード”とする。
されず、シェアード応答信号線161を介してシェアー
ド応答信号がアサートされたならば、他のキャッシュが
そのラインをクリーンな状態で保持していることにな
る。キャッシュ17は、キャッシュラインの状態を“ク
リーン・シェアード”とするとともに、主メモリ12よ
り読み出されたデータを取り込んで、データメモリに格
納する。
ド応答信号のいずれもアサートされない場合には、どの
キャッシュにも対象とするキャッシュラインが保持され
ていないことになる。キャッシュ17は、キャッシュラ
インの状態を“クリーン・エクスクルーシブ”とする。
この場合も、キャッシュ17は、主メモリ12より読み
出されたデータを取り込み、データメモリに格納する。
ただし、後述するように、本方式ではクリーンエクスク
ルーシブ状態を避けるように制御されるので、本条件は
実際には存在しないことになる。
6から取り込んだキャッシュラインデータのうち、必要
とされるデータをCPU14に返す。 ・ライト(キャッシュヒット/モディファイド):CP
U14がライトアクセス要求した結果、キャッシュ17
においてキャッシュヒットし、対応するキャッシュライ
ンデータがモディファイドの状態の場合、該当するキャ
ッシュラインにデータが書き込まれる。CPU14(キ
ャッシュ17)は、バス16にトランザクションを発行
しない。このとき、キャッシュラインの状態は変わらな
い。
クスクールシブ):CPU14がライトアクセス要求し
た結果、キャッシュ17においてキャッシュヒットし、
対応するキャッシュラインデータがクリーンエクスクル
ーシブの状態の場合、該当するキャッシュラインにデー
タが書き込まれる。CPU14(キャッシュ17)は、
バス16にトランザクションを発行しない。キャッシュ
17は、該当するキャッシュラインの状態を“モディフ
ァイド”に変更する。ただし、後述するように、本方式
ではクリーンエクスクルーシブ状態を避けるように制御
されるので、本条件は実際には存在しないことになる。
ェアード):CPU14がライトアクセス要求した結
果、キャッシュ17においてキャッシュヒットし、対応
するキャッシュラインデータがクリーンシェアードの状
態の場合、CPU14(キャッシュ17)は、バス16
に“Invalidate”トランザクションを発行す
る。この後、キャッシュ17は、該当するキャッシュラ
インの状態を“モディファイト”にして、データを書き
込む。
がライトアクセス要求した結果、キャッシュ17におい
てキャッシュミスした場合、バス16に“Read−L
ine−with−Invalidate”トランザク
ションを発行する。
アサートされたならば、他のキャッシュのうち一つがそ
のラインの更新データを保持していることになる。キャ
ッシュ17は、この後、モディファイド応答信号をアサ
ートしたキャッシュから主メモリ12に書き出されたキ
ャッシュラインデータを読み込み、それをデータメモリ
に格納する。
されなければ、キャッシュ17は、主メモリ12より読
み出されたデータを取り込み、データメモリに格納す
る。いずれの場合も、該当するキャッシュラインの状態
を“モディファイド”とし、データを書き込む。 (2)スレーブプロセッサ 次にあるプロセッサ/キャッシュが発行したトランザク
ションに対する他のプロセッサとそれに対応するキャッ
シュ(スレーブプロセッサ)の動作、および状態遷移に
ついて説明する。なお、マスタプロセッサがCPU14
(キャッシュ17)、スレーブプロセッサがCPU15
(キャッシュ18)であるとし、マスタプロセッサから
発行されるトランザクション毎に説明する。
ンに対する応答:キャッシュ18は、“Read−Li
ne”トランザクションが対象とするキャッシュライン
データを“モディファイド”の状態で保持している場
合、モディファイド応答信号線162を介してモディフ
ァイド応答信号をアサートして、更新データを保持して
いることを通知する。この後、キャッシュ18は、“W
rite−Line”トランザクションを発行して更新
データを主メモリ12に書き出す。キャッシュ18は、
該当するキャッシュラインの状態を“クリーンシェアー
ド”とする。
ine”トランザクションが対象とするキャッシュライ
ンデータを“クリーンエクススクルーシブ”または“ク
リーンシェアード”の状態で保持している場合、シェア
ード応答信号線161を介してシェアード応答信号をア
サートして、クリーンデータを保持していることを通知
する。いずれの場合も、キャッシュ18は、該当するキ
ャッシュラインの状態を“クリーンシェアード”とす
る。
キャッシュラインデータを保持していない場合には、何
もしない。 ・“Read−Line−with−Invalida
te”トランザクションに対する応答:キャッシュ18
は、“Read−Line−with−Invalid
ate”トランザクションが対象とするキャッシュライ
ンデータを“モディファイド”の状態で保持している場
合、モディファイド応答信号線162を介してモディフ
ァイド応答信号をアサートして、更新データを保持して
いることを通知する。この後、キャッシュ18は、“W
rite−Line”トランザクションを発行して更新
データを主メモリ12に書き出す。キャッシュ18は、
該当するキャッシュラインの状態を“インバリッド”と
する。
ine−with−Invalidate”トランザク
ションが対象とするキャッシュラインデータを“クリー
ンエクスクルーシブ”または“クリーンシェアード”の
状態で保持している場合、該当するキャッシュラインの
状態を“インバリッド”とする。
キャッシュラインデータを保持していない場合には、何
もしない。 ・“Invalidate”トランザクションに対する
応答:キャッシュ18は、“Invalidate”ト
ランザクションが対象とするキャッシュラインデータを
“クリーンエクスクルーシブ”または“クリーンシェア
ード”の状態で保持している場合、該当するキャッシュ
ラインの状態を“インバリッド”とする。
キャッシュラインデータを保持していない場合には、何
もしない。なお、この場合、対応するラインを“モディ
ファイド”の状態で保持していることはあり得ない。
ョンに対する応答:キャッシュ18は、何もしない。 ・“Read−Line−none−Snoop”トラ
ンザクションに対する応答:キャッシュ18は、何もし
ない。 (3)メモリ制御部 メモリ制御部20は、各バストランザクションに対し
て、次のような動作をする。
ョンに対する応答:バス16に発行された“Write
−Line”トランザクションをスヌープすると、メモ
リ制御部20は、キャッシュから書き出されるキャッシ
ュラインデータを取り込み、主メモリ12の該当するア
ドレスに書き込む。
ョンに対する応答:何もしない。 ・“Read−Line”、“Read−Line−w
ith−Invalidate”トランザクションに対
する応答:メモリ制御部20は、これら2つのトランザ
クションに対しては、同一の動作をする。
ファイド応答信号がアサートされた場合は、何もしな
い。これは、アサートしたスレーブプロセッサのキャッ
シュが既に更新データを保持していることを示してい
る。この場合、これらのトランザクションに引き続き、
このキャッシュから“Write−Line”トランザ
クションが発行され、更新データが書き出される。
されない場合は、アクセス対象となっているキャッシュ
ラインのアドレスで示されるメモリロケーションからキ
ャッシュラインデータを読み出し、バス16に出力す
る。
oop”トランザクションに対する応答:アクセス対象
となっているキャッシュラインのアドレスで示されるメ
モリロケーションからキャッシュラインデータを読み出
し、バス16に出力する。 (4)ビフォアイメージバッファ制御部 次に、各バストランザクションに対するビフォアイメー
ジバッファ制御部21の動作を説明する。以下、バス1
6に発行されるトランザクション毎に説明する。
ンに対する応答:バスインタフェース制御部211がバ
ス16に発行された“Read−Line”トランザク
ションをスヌープすると、状態保存制御部212は、バ
ストランザクション応答制御部215を起動する。バス
トランザクション応答制御部215は、バスインターフ
ェース制御部211を介してシェアード応答信号をアサ
ートする。これによって、マスタプロセッサのキャッシ
ュの現在対象としているキャッシュラインの状態を“ク
リーンエクスクルーシブ”ではなく、“クリーンシェア
ード”の状態にすることができる。これによって、この
後、当該キャッシュラインに対してライトアクセスが発
生した場合に、“Invalidate”トランザクシ
ョンの発行を引き起こすことができ、更新前のデータを
保存することを可能としている。
として、“クリーンエクスクルーシブ”状態を避ける方
法がある場合には、ビフォアイメージバッファ制御部2
1がシェアード応答信号をアサートする必要はない。
ョンに対する応答:バスインタフェース制御部211が
バス16に発行された“Invalidate”トラン
ザクションをスヌープすると、状態保存制御部212
は、バストランザクション応答制御部215を起動す
る。バストランザクション応答制御部215は、バスイ
ンターフェース制御部211を介してシェアード応答信
号とモディファイド応答信号をアサートする。これによ
って、“Invalidate”トランザクションアボ
ードされたことになり、この後、マスタプロセッサは、
再びバスを獲得した後、同じトランザクションを再発行
する。
は、下記の処理が完了するまで、再発行された“Inv
alidate”トランザクションに対して、シェアー
ド応答信号およびモディファイド応答信号をアサート
し、アボートし続ける。
ション発行制御部215を起動する。バストランザクシ
ョン発行制御部215は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部211を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line−non−Snoop”トランザクションを
発行する。
ァアクセス制御部214を起動し、メモリ制御部20が
主メモリ12から読み出してバス16に出力したキャッ
シュラインデータを、バスインタフェース制御部211
からバッファアクセス制御部214に転送して、アドレ
ス値と共にビフォアイメージバッファ13に書き込ませ
る。
ョン応答制御部215は、再発行された“Invali
date”トランザクションに対するアボートを中止す
る。また、状態保存制御部212は、上記処理を実施し
たキャッシュブロックのアドレスを記憶し、この後、再
び同じアドレスに対する“Invalidate”トラ
ンザクションが発行された場合には、無視する。
トランザクションに対する応答処理の動作タイミングが
示されている。バストランザクション発行制御部215
は、“Invalidate”トランザクションを確認
すると、その時のアドレス(A)を使用して、主メモリ
12からアドレス(A)の更新前データ(D1〜D4)
を読み出すための“Read−Line−non−Sn
oop”トランザクションを開始する。このとき、各キ
ャッシュメモリはそのトランザクションに対してはスヌ
ープ動作を行わない。
e−non−Snoop”トランザクションに応答し
て、主メモリ12との間に設けられているメモリアドレ
スライン(MM address)、データライン(M
M data)、リードライト制御ライン(MM RA
S#、CAS#、WE#)を制御して、主メモリ12の
アドレス(A)からキャッシュラインデータ(D1〜D
4)を読み出し、それをバス16のデータバス(dat
a bus)上に出力する。
1においては、バッファアクセス制御部214にもアド
レス(A)が渡される。バッファアクセス制御部214
は、ビフォアイメージバッファ13との間に設けられた
アドレスライン(BIB address)、データラ
イン(BIB data)、リードライト制御ライン
(BIB RAS#、CAS#、WE#)を制御して、
アドレス(A)と、バス16のデータバス(data
bus)上に出力されたデータ(D1〜D4)との組
を、ビフォアイメージバッファ13の該当するエントリ
にスタックする。
validate”トランザクションに対する応答:
“Read−Line−with−Invalidat
e”トランザクションの発行に伴って、モディファイド
応答信号がアサートされた場合は、アサートしたキャッ
シュが既に更新データを保持していることを示してお
り、そのプロセッサが最新のチェックポイント以降にラ
イトアクセスを実行していることがわかる。このため、
その時点で以前のデータがビフォアイメージバッファ1
3に格納されていることになり、改めてこのアドレスの
データをビフォアイメージバッファに格納する必要はな
い。したがって、状態保存制御部112は、何もしな
い。
Invalidate”トランザクションの発行に伴っ
て、モディファイド応答信号がアサートされない場合
は、バッファアクセス制御部214を起動し、メモリ制
御部20が主メモリ12から読み出しバス16に出力し
たキャッシュラインデータを、バスインタフェース制御
部211からバッファアクセス制御部214に転送し
て、アドレス値と共にビフォアイメージバッファ13に
書き込ませる。
−Snoop”トランザクションを発行する必要はな
い。 ・“Write−Line”トランザクションに対する
応答:何もしない。 (5)チェックポイント 次に、前述のようにして動作するマルチプロセッサシス
テムにおけるチェックポイント処理について説明する。
ト毎に障害回復に必要な情報を定期的に採取し、障害発
生時には、その直前のチェックポイントにロールバック
することにより処理を再開するというシステム回復方法
である。
〜15の内部状態を主メモリ12に書き出すとともに、
各キャッシュ17〜18の“モディファイド”状態にあ
る全てのキャッシュラインのデータを主メモリ12に書
き戻す。なお、実際には、プロセッサ内部状態の主メモ
リ12への書き出しもキャッシュを介して行われるの
で、バストランザクション上、特別な配慮は不要であ
る。キャッシュ17〜18は、主メモリ12に書き戻し
たキャッシュラインの状態を“クリーンシェアード”ま
たは“インバリッド”にする。主メモリ12へのライン
データの書き戻しは“Write−Line”トランザ
クションを用いて行われるため、このときにビフォアイ
メージバッファ13へのデータ保存が発生することはな
い。
容は正常にチェックポイントが採取された時にクリアさ
れ、そして、通常のプロセス処理の再開されると、ビフ
ォアイメージバッファ13への更新履歴情報の書き込み
が開始される。ロールバック時には、各CPUの内部状
態のみならず、主メモリ12の状態も直前のチェックポ
イントときの状態に復元される。この主メモリ12の状
態回復は、ビフォアイメージバッファ13に蓄積されて
いる更新前データを逐次読み出して、主メモリ12の対
応する番地に書き戻すことによって実現される。
は、コピーバックキャッシュに保持されていた更新デー
タを主メモリ16に書き出すだけで良く、この時点で更
新前データをビフォアイメージバッファ13に保存する
必要がなくなるため、チェックポイントのオーバーヘッ
ドを小さくすることができる。
通常のメモリコントローラから構成されるメモリ制御部
20とは別個にビフォアイメージバッファ制御部21が
設けられており、それがバス16に接続されている。ビ
フォアイメージバッファ制御部21は、主メモリ16に
対するライトアクセス要求がメモリ制御部20に送られ
た時に動作するのではなく、CPUからそれに対応する
キャッシュに対してライトアクセス要求があった場合
に、当該キャッシュからバス16上に発行されるトラン
ザクションに応答して自動的に起動して、主メモリ12
から更新前データをリードするためのトランザクション
を発行する。このように、メモリコントローラとは独立
して動作可能なビフォアイメージバッファ制御部21を
設けることにより、既存のコンピュータシステムのメモ
リコントローラを改造せずに、既存のコンピュータシス
テムをそのまま流用して容易にメモリ状態回復機能を実
現することが可能となる。
クションおよび“Write−Line”トランザクシ
ョンに対するビフォアイメージバッファ制御部21の動
作は、次のように変えて実施することも可能である。
ョンに対する応答:バスインタフェース制御部211が
バス16に発行された“Invalidate”トラン
ザクションをスヌープすると、状態保存制御部212
は、バストランザクション応答制御部215を起動す
る。バストランザクション応答制御部215は、下記の
処理が完了するまで、同じアドレスに対する“Writ
e−Line”トランザクションに対して、シェアード
応答信号をアサートし、アボードし続ける。
ション発行制御部215を起動する。バストランザクシ
ョン発行制御部215は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部211を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line−non−Snoop”トランザクションを
発行する。
ァアクセス制御部214を起動し、メモリ制御部20が
主メモリ12から読み出してバス16に出力したキャッ
シュラインデータを、バスインタフェース制御部211
からバッファアクセス制御部214に転送して、アドレ
ス値と共にビフォアイメージバッファ13に書き込ませ
る。
ョン応答制御部215は、同じアドレスに対する“Wr
ite−Line”トランザクションに対するアボート
を中止する。
ョンに対する応答:上記の通り、“Invalidat
e”トランザクションに対する更新前キャッシュライン
データ読み込み処理中は、バスインタフェース制御部2
11がバス16に発行された“Write−Line”
トランザクションをスヌープすると、これが同じアドレ
スに対するものであれば、バストランザクション応答制
御部215がシェアード応答信号およびモディファイド
応答信号をアサートし、アボートする。
ても異なるアドレスに対する場合には何もしない。ま
た、前記実施形態では、ビフォアイメージバッファを独
立したメモリで構成し、ビフォアイメージバッファ制御
部21に接続していたが、主メモリ12の一部を利用し
て実施することも可能である。
構成においては、ビフォアイメージバッファ13は、主
メモリ12の一部の記憶領域を用いて実現されている。
また、バッファアクセス制御部214は、バストランザ
クション発行制御部215とも接続され、ビフォアイメ
ージバッファ13のアクセスのためにバス16に対して
トランザクションを発行させる機能を持つ。
データと当該アドレスが転送されると、これらを主メモ
リ12中のビフォアイメージバッファ13に格納するた
め、バストランザクション発行制御部215を起動す
る。トランザクション発行制御部215は、バスインタ
フェース制御部211を介して、2つの“Write−
Line”トランザクションを発行する。
であり、もう一つは当該アドレスを格納するためのもの
である。これにより、独立したメモリを備える必要がな
く、安価に構成することが可能となる。
キャッシュについて説明したが、ライトスルーキャッシ
ュに対して以下のようにして更新前データの保存を行う
ことができる。
ライトスルーモードで動作する機能を持つ場合を例とし
て説明するが、ライトスルー専用のキャッシュであって
も同様にして実現できる。
ュの状態は、 ・インバリッド ・バリッド の2種類である。
用い、 ・インバリッド ・クリーンシェアード の2状態で管理するものとする。
れるトランザクションの種類としては、次のものがサポ
ートされる。 ・“Read−Line”トランザクション:キャッシ
ュラインデータのリード。これは前述の実施形態と同じ
であり、CPUからのあるアドレスのキャッシュライン
に対するリードアクセスに対して、該当する有効なキャ
ッシュラインデータがキャッシュに存在せずキャッシュ
ミスした場合に発行される。
ョン:データのライト。CPUからのライトアクセスに
対して、キャッシュ中の当該データの有無に関わらず発
行される。
る。但し、本例では、シェアード応答信号線161、モ
ディファイド応答信号線162は、同時にアサートされ
た場合に、当該トランザクションをアボートするという
機能のみを用いる。 (1)マスタプロセッサ まず、トランザクションを発行してアクセスを起動する
マスタプロセッサの動作と、発行されたトランザクショ
ンに対応するキャッシュの状態遷移について説明する。
なお、マスタプロセッサがCPU14(キャッシュ1
7)であるとして説明する。
CPU14がリードアクセス要求した結果、キャッシュ
17においてキャッシュヒットした場合、キャッシュ1
7から該当するデータが読み出される。CPU14(キ
ャッシュ17)は、バス16にトランザクションを発行
しない。このとき、キャッシュラインの状態は変わらな
い。
PU14がリードアクセス要求した結果、キャッシュ1
7においてキャッシュミスした場合、CPU14 (キ
ャッシュ17)は、バス16に“Read−Line”
トランザクションを発行する。
態を“クリーン・シェアード”とするとともに、主メモ
リ12より読み出されたデータを取り込んで、データメ
モリに格納する。
キャッシュラインデータのうち、必要とされるデータを
CPU14に返す。 ・ライト(キャッシュヒット):CPU14がライトア
クセス要求した結果、キャッシュ17においてキャッシ
ュヒットした場合、対応するキャッシュラインデータを
書き込むとともに、バス16に“Write−Wor
d”トランザクションを発行し、主メモリ12のデータ
を書き換える。このとき、キャッシュラインの状態は変
わらない。
がライトアクセス要求した結果、キャッシュ17におい
てキャッシュミスした場合、バス16に“Write−
Word”トランザクションを発行し、主メモリ12の
データを書き換える。このとき、キャッシュラインの状
態は変わらない。 (2)スレーブプロセッサ 次にあるプロセッサ/キャッシュが発行したトランザク
ションに対する他のプロセッサとそれに対応するキャッ
シュ(スレーブプロセッサ)の動作、および状態遷移に
ついて説明する。なお、マスタプロセッサがCPU14
(キャッシュ17)、スレーブプロセッサがCPU15
(キャッシュ18)であるとする。
ンに対する応答:何もしない。 ・“Write−Word”トランザクションに対する
応答:キャッシュ18は、トランザクションが対象とす
るキャッシュラインデータを“クリーンシェアード”の
状態で保持している場合、該当するキャッシュラインの
状態を“インバリッド”とする。 (3)メモリ制御部 メモリ制御部20は各バストランザクションに対して、
次のような動作をする。
ンに対する応答:アクセス対象となっているキャッシュ
ラインのアドレスで示されるメモリロケーションからキ
ャッシュラインデータを読み出し、バス16に出力す
る。
ョンに対する応答:キャッシュから書き出されるデータ
を取り込み、メモリ12の該当するアドレスに書き込
む。 (4)ビフォアイメージバッファ制御部 次に、各バストランザクションに対するビフォアイメー
ジバッファ制御部21の動作を説明する。
ンに対する応答:何もしない。 ・“Write−Word”トランザクションに対する
応答:バスインタフェース制御部211がバス16に発
行された“Write−Word”トランザクションを
スヌープすると、状態保存制御部212は、バストラン
ザクション応答制御部215を起動する。バストランザ
クション応答制御部215は、バスインターフェース制
御部211を介してシェアード応答信号とモディファイ
ド応答信号を、シェアード応答信号線161およびモデ
ィファイド応答信号線162にアサートする。これによ
って、“Write−Word”トランザクションはア
ボートされたことになり、この後、マスタプロセッサ
は、再びバスを獲得した後、同じトランザクションを再
発行する。
は、下記の処理が完了するまで、再発行された“Wri
te−Word”トランザクションに対して、シェアー
ド応答信号およびモディファイド応答信号をアサート
し、アポートし続ける。
ション発行制御部215を起動する。バストランザクシ
ョン発行制御部215は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部211を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line”トランザクションを発行する。
ァアクセス制御部214を起動し、メモリ制御部20が
主メモリ12から読み出しバス16に出力したキャッシ
ュラインデータを、バスインタフェース制御部211か
らバッファアクセス制御部214に転送して、アドレス
値と共にビフォアイメージバッファ13に書き込ませ
る。
ョン応答制御部215は、再発行された“Write−
Word”トランザクションに対するアボートを中止す
る。また、状態保存制御部212は、上記処理を実施し
たキャッシュブロックのアドレスを記憶し、この後、再
び同じアドレスに対する“Write−Word”トラ
ンザクションが発行された場合には、無視する。
d”トランザクションに対して、ライン単位で更新前デ
ータを保存しているが、ワードデータのリードがサポー
トされていれば、ワード単位で更新前データを保存して
も良い。 (5)チェックポイント チェックポイントの処理は、プロセッサの内部状態を主
メモリに書き出すことで実現される。ライトスルー型キ
ャッシュであるので、キャッシュの内容を書き出す必要
はない。
対象として説明したが、より一般にキャッシュを持たな
いコンピュータシステムや、非キャッシュアクセス動作
モードを持つコンピュータシステムにおいても、同様の
制御により、メモリ状態回復機能を実現することができ
る。
ロセッサ14〜15を持つマルチプロセッサシステムを
説明したが、キャッシュが同様の機能を持っていれば、
単一プロセッサから成るコンピュータシステムに対して
も適用することが可能である。また、キャッシュが単一
でなく、階層構造を取る場合にも同様に適用可能であ
る。すなわち、マルチプロセッサ対応のCPUおよびキ
ャッシュを持つシステムであれば、適用することができ
る。
ァ制御部21は、あるキャッシュまたはCPUからバス
16に発行されたトランザクションに応じて、主メモリ
12に保持された更新前データを含むキャッシュライン
データをビフォアイメージバッファ13に保存する。
バス、プロセッサ、キャッシュ、メモリ制御部には何ら
手を加えずに、バスにビフォアイメージバッファ制御部
21を付加することにより、メモリ状態回復機能を実現
することが可能となる。
御部21の動作は、コンピュータ読み取り可能なCD−
ROM等の記録媒体に格納して提供されるコンピュータ
プログラムによって実現することができる。この場合、
コンピュータプログラムには、CPUからそれに対応す
るキャッシュに対してライトアクセス要求があった場合
にキャッシュからバス上に発行されるトランザクション
に応答して、メモリ制御部20を用いてライトアクセス
要求の対象となるデータを主メモリ12から読み出すた
めの手順と、メモリ制御部20を介して主メモリ12か
らバス上に読み出されたデータと、そのデータに対応す
るアドレスとを、ビフォアイメージバッファ13に格納
するための手順とを含ませればよい。これら手順は上述
したハードウェアの動作手順と同様である。また、キャ
ッシュからバスへのトランザクションのスヌープは、例
えば、バス上のトランザクションの状態がハードウェア
によって設定されるステータスレジスタなどを用意し、
そのステータスレジスタをリードすること等によって実
現できる。
1にマイクロコンピュータを設け、前述のビフォアイメ
ージバッファ制御部21の動作手順をそのマイクロコン
ピュータのROMに格納されたファームウェアなどの動
作制御プログラムによって制御することもできる。ま
た、本発明は、上記実施例に限定されるものではなく、
本発明の要旨の範囲で種々の変形実施が可能である。
ば、既存のコンピュータシステムのメモリ制御部を改造
せずに、付加ハードのみによってメモリ状態回復機能を
実現できるようになり、既存のコンピュータシステムを
そのまま流用する事が可能となる。また、主記憶へのデ
ータ書き込み時では無く、キャッシュへのデータ書き込
み時に更新前データを採取しているので、チェックポイ
ントロールバックによるシステム回復手法を用いている
システムに適用した場合には、チェックポイント時に、
キャッシュに保持されていた更新データを主記憶に書き
出すだけで良く、この時点で更新前データをバッファに
保存する必要がなくなるため、チェックポイント処理の
オーバーヘッドを小さくすることができる。
存装置を用いたマルチプロセッサシステムの構成を示す
ブロック図。
シュのタグメモリの構成例を示す図。
シュに保持されているキャッシュラインデータの状態を
示す図。
歴情報の採取動作を示すタイミングチャート。
ブロック図。
マルチプロセッサシステムの構成を示すブロック図。
4〜15…CPU、16…バス、17〜18…キャッシ
ュ、20…メモリ制御部、21…ビフォアイメージバッ
ファ制御部、211…バスインターフェース制御部、2
12…状態保存制御部、213…バストランザクション
応答制御部、214…バッファアクセス制御部、215
…バストランザクション発行制御部。
Claims (8)
- 【請求項1】 1以上のCPUと、各CPUに対応して
設けられた1以上のキャッシュと、主記憶と、この主記
憶を制御するメモリコントローラと、少なくとも前記1
以上のキャッシュと前記メモリコントローラとが接続さ
れるバスと備えたコンピュータシステムにおいて前記主
記憶の記憶内容を復元するために必要な更新履歴情報を
保存するメモリ更新履歴保存装置において、 前記主記憶の更新前データとその更新前データの格納位
置を示すアドレスとの組を前記更新履歴情報として格納
するためのバッファと、 前記バスに接続され、前記バッファに対する更新履歴情
報の書き込みを制御するバッファアクセス制御手段とを
具備し、 前記バッファアクセス制御手段は、 前記CPUからそれに対応するキャッシュに対してライ
トアクセス要求があった場合に当該キャッシュから前記
バス上に発行されるトランザクションに応答して、前記
ライトアクセス要求の対象となる前記主記憶上のデータ
を読み出すためのリードトランザクションを前記バス上
に発行するトランザクション発行手段と、 前記リードトランザクションの発行に応答して前記メモ
リコントローラによって前記主記憶から前記バス上に読
み出されたデータと、そのデータに対応するアドレスと
を、前記バッファに格納する更新履歴書き込み手段とを
具備することを特徴とするメモリ更新履歴保存装置。 - 【請求項2】 前記バッファアクセス制御手段は、 前記バス上に発行される各種のトランザクションをスヌ
ープするスヌープ手段を具備し、 前記トランザクション発行手段は、 前記CPUが前記キャッシュに対して書き込み要求を発
行したときに前記キャッシュから所定のトランザクショ
ンが前記バス上に発行されたことが前記スヌープ手段に
よって検出されたとき、前記ライトアクセス要求の対象
となる前記主記憶上のデータを読み出すためのリードト
ランザクションを前記バス上に発行することを特徴とす
る請求項1記載のメモリ更新履歴保存装置。 - 【請求項3】 前記キャッシュはコピーバック型のキャ
ッシュであり、 前記所定のトランザクションは、前記バスに接続し得る
他のキャッシュに対して対応するキャッシュラインの無
効化を指示する無効化トランザクションであることを特
徴とする請求項2記載のメモリ更新履歴保存装置。 - 【請求項4】 前記キャッシュはコピーバック型のキャ
ッシュであり、 前記キャッシュから発行されるトランザクションが、前
記主記憶あるいは前記バスに接続し得る他のキャッシュ
の対応するキャッシュラインからのデータ読み出し、お
よび前記他のキャッシュの対応するキャッシュラインの
無効化を指示するリードおよび無効化トランザクション
であることが、前記スヌープ手段によって検出されたと
き、 前記更新履歴書き込み手段は、 前記リードおよび無効化トランザクションによって前記
バス上に読み出されたデータおよび対応するアドレスを
前記バッファに格納することを特徴とする請求項2記載
のメモリ更新履歴保存装置。 - 【請求項5】 前記キャッシュはライトスルー型のキャ
ッシュであり、 前記所定のトランザクションは、 前記主記憶へのライトを実行するライトトランザクショ
ンであることを特徴とする請求項2記載のメモリ更新履
歴保存装置。 - 【請求項6】 前記バッファは、前記主記憶の所定の記
憶領域を用いて実現されており、 前記更新履歴書き込み手段は、 前記バッファに書き込むべきデータおよびアドレスの組
を前記前記主記憶の前記記憶領域に書き込むためのライ
トトランザクションを、前記トランザクション発行手段
に発行させることを特徴とする請求項1記載のメモリ更
新履歴保存装置。 - 【請求項7】 1以上のCPUと、各CPUに対応して
設けられた1以上のキャッシュと、主記憶と、この主記
憶を制御するメモリコントローラと、少なくとも前記1
以上のキャッシュと前記メモリコントローラとが接続さ
れるバスと、前記主記憶の更新前データとその更新前デ
ータの格納位置を示すアドレスとの組から構成される更
新履歴情報を格納するためのバッファとを備えたコンピ
ュータシステムで使用されるメモリ更新履歴保存方法に
おいて、 前記CPUからそれに対応するキャッシュに対してライ
トアクセス要求があった場合に当該キャッシュから前記
バス上に発行されるトランザクションに応答して、前記
ライトアクセス要求の対象となる前記主記憶上のデータ
を読み出すためのリードトランザクションを前記バス上
に発行し、 前記リードトランザクションの発行に応答して前記メモ
リコントローラによって前記主記憶から前記バス上に読
み出されたデータと、そのデータに対応するアドレスと
を、前記バッファに格納することを特徴とするメモリ更
新履歴保存方法。 - 【請求項8】 1以上のCPUと、各CPUに対応して
設けられた1以上のキャッシュと、主記憶と、この主記
憶を制御するメモリコントローラと、少なくとも前記1
以上のキャッシュと前記メモリコントローラとが接続さ
れるバスと、前記主記憶の更新前データとその更新前デ
ータの格納位置を示すアドレスとの組から構成される更
新履歴情報を格納するためのバッファとを備えたコンピ
ュータシステムで実行可能なコンピュータプログラムが
格納された記録媒体であって、 前記コンピュータプログラムは、 前記CPUからそれに対応するキャッシュに対してライ
トアクセス要求があった場合に、前記メモリコントロー
ラを用いて前記ライトアクセス要求の対象となる前記主
記憶上のデータを読み出すための手順と、 前記メモリコントローラを介して前記主記憶から前記バ
ス上に読み出されたデータと、そのデータに対応するア
ドレスとを、前記バッファに格納するための手順とを含
むことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09228238A JP3083786B2 (ja) | 1996-09-30 | 1997-08-25 | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27902796 | 1996-09-30 | ||
JP8-279027 | 1996-09-30 | ||
JP09228238A JP3083786B2 (ja) | 1996-09-30 | 1997-08-25 | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10154134A true JPH10154134A (ja) | 1998-06-09 |
JP3083786B2 JP3083786B2 (ja) | 2000-09-04 |
Family
ID=26528136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09228238A Expired - Fee Related JP3083786B2 (ja) | 1996-09-30 | 1997-08-25 | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3083786B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
JP2004529435A (ja) * | 2001-05-16 | 2004-09-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュ中のラインを投機的に無効にする方法とシステム |
JP2008293212A (ja) * | 2007-05-23 | 2008-12-04 | Hitachi Ltd | 情報処理装置のトランザクション管理方法及び情報処理装置 |
US7796584B2 (en) | 2003-09-30 | 2010-09-14 | Nec Corporation | Method for connection between communication networks of different types and gateway apparatus |
WO2020075276A1 (ja) * | 2018-10-11 | 2020-04-16 | 三菱電機株式会社 | メモリ履歴管理システム |
-
1997
- 1997-08-25 JP JP09228238A patent/JP3083786B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
JP2004529435A (ja) * | 2001-05-16 | 2004-09-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュ中のラインを投機的に無効にする方法とシステム |
US7796584B2 (en) | 2003-09-30 | 2010-09-14 | Nec Corporation | Method for connection between communication networks of different types and gateway apparatus |
JP2008293212A (ja) * | 2007-05-23 | 2008-12-04 | Hitachi Ltd | 情報処理装置のトランザクション管理方法及び情報処理装置 |
WO2020075276A1 (ja) * | 2018-10-11 | 2020-04-16 | 三菱電機株式会社 | メモリ履歴管理システム |
Also Published As
Publication number | Publication date |
---|---|
JP3083786B2 (ja) | 2000-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6148416A (en) | Memory update history storing apparatus and method for restoring contents of memory | |
US5572702A (en) | Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency | |
US6519685B1 (en) | Cache states for multiprocessor cache coherency protocols | |
JP2916420B2 (ja) | チェックポイント処理加速装置およびデータ処理方法 | |
TWI432963B (zh) | 加速器之低成本快取一致 | |
US5113514A (en) | System bus for multiprocessor computer system | |
JP3086779B2 (ja) | メモリ状態復元装置 | |
US7003635B2 (en) | Generalized active inheritance consistency mechanism having linked writes | |
EP1035476A1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
JPH10506483A (ja) | フォールト・トレラントなコンピュータ・システムのためのメイン・メモリ・システム及びチェックポイント用プロトコル | |
US6871267B2 (en) | Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency | |
JP2000322317A (ja) | アドレスエラーから回復するためのシステムおよび方法 | |
US20040068619A1 (en) | Linked-list early race resolution mechanism | |
JP3083786B2 (ja) | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 | |
JP3202943B2 (ja) | 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法 | |
KR100380674B1 (ko) | 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템 | |
US20040068613A1 (en) | Retry-based late race resolution mechanism for a computer system | |
JP3833760B2 (ja) | 計算機システム及びメモリ状態復元装置 | |
US5813035A (en) | Microprocessor employing a technique for restoration of an aborted cycle following a snoop writeback operation | |
JP4091171B2 (ja) | キャッシュフラッシュ方法および装置 | |
JP2000181790A (ja) | メモリ更新履歴保存装置 | |
JP2008171058A (ja) | システムコントローラ、プロセッサ、情報処理システムおよび情報処理プログラム | |
JP3145479B2 (ja) | マルチプロセッサシステムとそのキャッシュメモリ制御方法および装置 | |
JPH06187230A (ja) | メモリ監視制御方法 | |
JPH10149307A (ja) | チェックポイント処理方法及び記録媒体 |
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 |