JP3555847B2 - キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム - Google Patents

キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム Download PDF

Info

Publication number
JP3555847B2
JP3555847B2 JP14687799A JP14687799A JP3555847B2 JP 3555847 B2 JP3555847 B2 JP 3555847B2 JP 14687799 A JP14687799 A JP 14687799A JP 14687799 A JP14687799 A JP 14687799A JP 3555847 B2 JP3555847 B2 JP 3555847B2
Authority
JP
Japan
Prior art keywords
update
address
cache memory
storage
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.)
Expired - Fee Related
Application number
JP14687799A
Other languages
English (en)
Other versions
JP2000339218A (ja
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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Priority to JP14687799A priority Critical patent/JP3555847B2/ja
Publication of JP2000339218A publication Critical patent/JP2000339218A/ja
Application granted granted Critical
Publication of JP3555847B2 publication Critical patent/JP3555847B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、主記憶書き込み動作で主記憶データの更新を行わずキャッシュメモリに保持するデータの更新のみ行うストアイン方式のキャッシュメモリを有するマルチプロセッサにおける障害処理に関し、特にキャッシュメモリ障害時のキャッシュ内データの障害処理に関する。
【0002】
【従来の技術】
従来、ストアインキャッシュ方式のキャッシュメモリ障害処理システムでは、ハードウェアの故障により不正なデータをリード/ライトしシステム全体でのデータの一貫性が保証できなくなることでシステムを停止することを防止するため、書き込み動作時のライトデータのパリティエラーチェックや障害発生後のキャッシュメモリ内容の掃き出し除去により、キャッシュメモリ障害による主記憶内容不正防止を図りキャッシュメモリ障害時のシステム停止の可能性を低減しシステムの信頼性の向上を行っていた。
【0003】
特開平8−286977号公報「ストアインキャッシュの障害処理システム」では、ライトデータのパリティエラー検出時エラーをプロセッサに通知し、該当データを2ビットエラーの形でキャッシュメモリに登録しプロセッサ側から処理できるようにし、またライトアドレスのパリティエラー検出時は出力要求をマスクし不正にキャッシュメモリにライトされることを抑止することによりキャッシュメモリ障害検出時のシステム停止の可能性を低減する、という技術が開示されている。
【0004】
特開平9−146836号公報「キャッシュ索引の障害訂正装置」では、ストアイン方式のキャッシュメモリのアドレスアレイから読み出したデータに障害を検出した時、当該アドレスをキャッシュメモリから追い出し当該アドレスについてアドレスアレイの無効化を行う。この間障害検出の要因となったリクエストの処理は、この無効化処理が終了するまで保留し、再度のキャッシュ索引に使用することによりキャッシュメモリ障害検出時のシステム停止の可能性を低減する、という技術が開示されている。
【0005】
【発明が解決しようとする課題】
第1の問題点は、従来技術においてストアイン方式キャッシュメモリにて、主記憶へのライトデータがキャッシュメモリの障害発生によりキャッシュメモリ上のデータアレイに書き込めない場合はプロセッサへのライトデータのパリティエラー報告となるが、リードデータがキャッシュメモリの障害発生により読み出せず読み出しデータがキャッシュメモリ上の更新データの場合、データの復元が行われずデータ喪失となるためシステムを停止しなければならない場合がありシステムの稼働率が悪化するという問題があった。
【0006】
その理由は、ストアイン方式のキャッシュメモリの場合、ライトデータは一時キャッシュメモリのみに存在し実際の主記憶への書き戻しはプロセッサの書き込み指示とは非同期に遅延して行われるため、主記憶への書き戻し前に当該キャッシュメモリの障害が発生し主記憶に書き込むべきデータがキャッシュメモリ上に残ると、ライトデータを主記憶上に復元できずデータ喪失となる。
【0007】
第2の問題点は、従来技術においてストアイン方式キャッシュメモリにて、キャッシュメモリ上のアドレスアレイからの読み出しデータにパリティエラーを検出した場合、再度キャッシュ索引を行うことによりキャッシュ障害訂正をおこなえるが、キャッシュメモリ上のデータアレイに障害が発生しデータの読み出しおよび主記憶への書き戻しができない場合、キャッシュメモリ上の更新データの喪失となるためシステムを停止しなければならない場合がありシステムの稼働率が悪化するという問題があった。
【0008】
その理由は、ストアイン方式のキャッシュメモリの場合、プロセッサの書き込み指示で更新されたキャッシュメモリ上のデータアレイ中のデータは一時的にキャッシュメモリのみ存在し実際の主記憶への書き戻しは非同期に遅延して行われるため、主記憶への書き戻し前に当該キャッシュメモリの障害が発生し主記憶に書き込むべきデータがキャッシュメモリ上に残ると、データアレイ中のデータを復元できずデータ喪失となる。
【0009】
【課題を解決するための手段】
本発明第一のキャッシュ障害処理装置は、キャッシュメモリで処理される主記憶アドレスを保持する主記憶アドレスレジスタと、前記キャッシュメモリで更新される更新データの前記主記憶アドレスを保持する更新アドレス記憶機構と、前記主記憶アドレスレジスタの値と前記更新データの前記主記憶アドレスを保持している前記更新アドレス記憶機構の値を比較するアドレス比較機構と、更新アドレス記憶制御機構を有し、前記更新アドレス記憶制御機構は前記キャッシュメモリの前記更新データの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記キャッシュメモリの更新により前記キャッシュメモリの前記更新データの前記主記憶アドレスを前記更新アドレス記憶機構に登録し、前記キャッシュメモリから前記主記憶への前記更新データの書き戻しにより前記更新データ書き戻しの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記更新アドレス記憶機構が保持するアドレス値を前記アドレス比較機構を用いて比較し、一致した前記更新アドレス記憶機構に保持するアドレス値を削除し、外部からの要求により前記更新アドレス記憶機構に保持する値を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサと、主記憶をバスで接続し、前記キャッシュメモリの障害を検出する障害検出手段と、前記障害検出手段により前記キャッシュメモリの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新アドレス記憶機構に保持する値を出力するアドレス出力手段と、前記アドレス出力手段から出力された値のアドレスをもつキャッシュラインを前記主記憶へ書き戻す書き戻し手段とを有し、前記更新アドレス記憶機構に保持するアドレスがすべて前記主記憶へ書き戻されたことを確認する確認手段と、前記確認手段により前記書き戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する運転継続手段と、前記確認手段により前戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する運転停止手段を備える。
【0012】
本発明第二のキャッシュ障害処理装置は、キャッシュメモリで処理される主記憶アドレスを保持する更新状態記憶ポインタと、主記憶アドレス毎のデータ更新状態を記憶する複数の更新状態記憶エントリを有し前記主記憶の更新状態情報を記憶する更新状態記憶機構と、更新状態記憶制御機構を有し、前記更新状態記憶制御機構は前記キャッシュメモリのデータ更新動作を示すキャッシュメモリ更新信号とその時の前記キャッシュメモリでアクセス処理する前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記主記憶アドレスに対応する前記更新状態記憶エントリを更新済みと設定し、前記キャッシュメモリから前記主記憶への更新データ書き戻し動作を示すキャッシュメモリ無効化信号を受けることにより前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記更新状態記憶機構の前記更新状態記憶エントリを更新無しと設定し、外部からの出力要求により前記更新状態記憶機構内の前記更新状態記憶エントリに保持する前記更新状態情報を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサと、主記憶をバスで接続し、前記キャッシュメモリの障害を検出する障害検出手段と、前記障害検出手段により前記キャッシュメモリの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新状態記憶ポインタ記憶に保持する値を出力するポインタ出力手段と、前記ポインタ出力手段から出力された値のポインタをもつキャッシュラインを主記憶へ書き戻す書き戻し手段とを有し、前記更新状態記憶ポインタに保持するポインタがすべて前記主記憶へ書き戻されたことを確認する確認手段と、前記確認手段により前記書き戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する運転継続手段と、前記確認手段により前戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する運転停止手段を備える。
【0013】
本発明第一のキャッシュ障害処理方法は、キャッシュメモリで処理される主記憶アドレスを保持する主記憶アドレスレジスタと、前記キャッシュメモリで更新される更新データの前記主記憶アドレスを保持する更新アドレス記憶機構と、前記主記憶アドレスレジスタの値と前記更新データの前記主記憶アドレスを保持している前記更新アドレス記憶機構の値を比較するアドレス比較機構と、更新アドレス記憶制御機構を有し、前記更新アドレス記憶制御機構は前記キャッシュメモリの前記更新データの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記キャッシュメモリの更新により前記キャッシュメモリの前記更新データの前記主記憶アドレスを前記更新アドレス記憶機構に登録し、前記キャッシュメモリから前記主記憶への前記更新データの書き戻しにより前記更新データ書き戻しの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記更新アドレス記憶機構が保持するアドレス値を前記アドレス比較機構を用いて比較し、一致した前記更新アドレス記憶機構に保持するアドレス値を削除し、外部からの要求により前記更新アドレス記憶機構に保持する値を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサ、入出力制御装置と、主記憶をバスで接続し、キャッシュの障害を検出する第一手順と、前記第一の手順により前記キャッシュの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新アドレス記憶機構に保持する値を出力する第二の手順と、前記アドレス出力手順から出力された値のアドレスをもつキャッシュラインを主記憶へ書き戻す第三の手順と、前記更新アドレス記憶機構に保持するアドレスがすべて前記主記憶へ書き戻されたことを確認する第四の手順と、前記確認手順により前記戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する第五の手順と、前記確認手順により前記書き戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する第六の手順を備える。
【0014】
本発明第二のキャッシュ障害処理方法は、キャッシュメモリで処理される主記憶アドレスを保持する更新状態記憶ポインタと、主記憶アドレス毎のデータ更新状態を記憶する複数の更新状態記憶エントリを有し前記主記憶の更新状態情報を記憶する更新状態記憶機構と、更新状態記憶制御機構を有し、前記更新状態記憶制御機構は前記キャッシュメモリのデータ更新動作を示すキャッシュメモリ更新信号とその時の前記キャッシュメモリでアクセス処理する前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記主記憶アドレスに対応する前記更新状態記憶エントリを更新済みと設定し、前記キャッシュメモリから前記主記憶への更新データ書き戻し動作を示すキャッシュメモリ無効化信号を受けることにより前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記更新状態記憶機構の前記更新状態記憶エントリを更新無しと設定し、外部からの出力要求により前記更新状態記憶機構内の前記更新状態記憶エントリに保持する前記更新状態情報を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサと、主記憶をバスで接続し、キャッシュの障害を検出する第一手順と、前記第一の手順により前記キャッシュの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新状態記憶ポインタに保持する値を出力する第二の手順と、前記ポインタ出力手順から出力された値のポインタをもつキャッシュラインを主記憶へ書き戻す第三の手順と、前記更新状態記憶ポインタに保持するポインタがすべて前記主記憶へ書き戻されたことを確認する第四の手順と、前記確認手順により前記書き戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する第五の手順と、前記確認手順により前戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する第六の手順を備える。
【0015】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0016】
図1は、本発明の実施の形態の適用されるマルチプロセッサシステムの構成を示すブロック図である。
【0017】
このマルチプロセッサシステムは、3つの中央処理装置1、主記憶8と入出力制御装置5およびそれらを相互に接続するシステムバス9から構成されている。中央処理装置1は、更新アドレス保持部3とキャッシュメモリ4を有し、キャッシュメモリ4を介してシステムバスに接続されている。プロセッサ2は、主記憶8へのデータの読み出しおよび書き込み命令を実行し、主記憶8へのメモリアクセス要求をキャッシュメモリ4に送出する。
【0018】
次に、システムバス9上で主記憶読み出しの動作を説明する。キャッシュメモリ4がメモリにライトされるべき更新データがマルチプロセッサシステム内にただ一つ有している状態をダーティーエクスクルーシブ状態と言う。また、キャッシュメモリ4がメモリにライトされるべき更新データがマルチプロセッサシステム内のキャッシュメモリ4間で共有されている状態をダーティーシェアード状態と言う。他のプロセッサ2がダーティーエクスクルーシブ状態のキャッシュライン49内のデータを読みだそうとするときには、主記憶8から読み出さずにダーティーエクスクルーシブ状態のキャッシュライン49内のデータを読み出し他のプロセッサ2へ当該データを返送する。このデータを受け取った他のプロセッサ2のキャッシュライン49はこのデータを受け取りダーティーシェアード状態となる。
【0019】
図2は、本発明の第一の実施の形態の更新アドレス保持部3とキャッシュメモリ4の構成を示す図である。
【0020】
キャッシュメモリ4は、キャッシュ制御部41、キャッシュタグメモリ43、キャッシュデータメモリ44、キャッシュステータスメモリ45から構成される。また、キャッシュライン49は、対応するアドレスのキャッシュタグメモリ43、キャッシュデータメモリ44、キャッシュステータスメモリ45それぞれのラインに対応するものでる。キャッシュメモリ4は、プロセッサ2からのメモリアクセス要求を受け、要求アドレスに対応するデータをキャッシュメモリ4内部に保持している場合、キャッシュメモリ4内部で読み出し書き込み処理を行い、キャッシュメモリ4内部に保持していない場合、書き込みアクセス要求はキャッシュメモリ4内部でデータ保持し、読み出しアクセス要求はシステムバス9にアクセス要求を出し、システムバス9上要求に従って主記憶8または、他のプロセッサ2のキャッシュメモリが応答しデータをシステムバス9上に出力する。システムバス9上のデータをキャッシュメモリ4に取り込んだ後要求元プロセッサ2へ返却する。キャッシュタグメモリ43は主記憶のアドレスの一部を保持する、キャッシュデータメモリ44は対応するアドレスのデータを保持する。キャッシュステータスメモリ45はキャッシュメモリ4内のデータの状態つまり、バリッド、シェアード、ダーティーエクスクルーシブ等の状態を保持する。キャッシュ制御部41は、キャッシュメモリ4の制御を行いキャッシュステータスメモリ45を変更し、またキャッシュステータスメモリ45の内容によりキャッシュメモリ無効化信号25、キャッシュメモリ更新信号24を出力する。
【0021】
キャッシュ制御部41は次の動作を行う。キャッシュメモリ4が正常に動作しているか適宜診断を行う。診断の結果、障害が発見されたならば、プロセッサ2に報告を行う。プロセッサ2からの指示があると、更新アドレス記憶機構21、または更新状態記憶機構31内に格納されている値を出力する。また他のプロセッサ2からの指示により、キャッシュメモリ4内のダーティーシェアード状態のキャッシュライン49を主記憶8へ書き戻す。他のプロセッサ2から受け取った更新アドレス記憶機構21、または更新状態記憶機構31内に格納されている値と、自分のプロセッサ2に接続されている更新アドレス記憶機構21、または更新状態記憶機構31内に格納されている値との比較を行いすべて一致しているかどうかの検査を行う。すべて一致していた場合は、マルチプロセッサシステムの運転を継続するためにキャッシュメモリ4を切り離す。ひとつでも一致していないならば、マルチプロセッサシステムの運転を停止するために他のキャッシュ制御部41に対して指示を出す。
【0022】
更新アドレス保持部3は、キャッシュメモリ4で使用される主記憶アドレスを保持する主記憶アドレスレジスタ20と、主記憶アドレスレジスタ20の内容を記憶する複数の更新アドレス記憶エントリ211から構成される更新アドレス記憶機構21と、主記憶アドレスレジスタ20の値と更新アドレス記憶機構21の値を比較するアドレス比較機構22と更新アドレス記憶制御機構23から構成されている。更新アドレス記憶制御機構23は、キャッシュメモリ4中のデータの更新動作を示すキャッシュメモリ更新信号24とその時の主記憶アドレスレジスタ20の値によりキャッシュメモリの更新データの主記憶アドレスを更新アドレス記憶機構21に登録する。また、更新アドレス記憶制御機構23はキャッシュメモリ4から主記憶8への更新データ書き戻しの動作を示すキャッシュメモリ無効化信号25を受けることによりこの時の主記憶アドレスレジスタ20の値と更新アドレス記憶機構21の値をアドレス比較機構22を用いて比較し一致した更新アドレス記憶機構21の中に保持する主記憶アドレスを削除する。更新アドレス記憶制御機構23は、プロセッサからの読み出し要求であるプロセッサ読み出し信号26により更新アドレス記憶機構21に保持する値を出力する。
【0023】
次に本発明の実施の形態の動作について、図3乃至7を参照して詳細に説明する。
【0024】
図3は、本発明の実施の形態において、プロセッサ2から主記憶8を読み出す動作を示すフローチャートである。プロセッサ2は主記憶読み出し要求が生じた場合、主記憶アクセス読み出し要求と読み出し主記憶アドレスを一組として、接続されるキャッシュメモリ4へ送出する。キャッシュメモリ4は読み出し要求と読み出し主記憶アドレスを受け取り(ステップ100)、キャッシュメモリ4内で要求読み出し主記憶アドレスと一致するアドレスを持つキャッシュライン49をサーチする(ステップ101)。サーチの結果要求主記憶アドレスと一致したキャッシュライン49が有る場合、一致したキャッシュライン49のデータを主記憶読み出しデータとして要求元プロセッサ2に返却する(ステップ102)。サーチの結果要求主記憶アドレスと一致したキャッシュライン49が無い場合、読み出しデータ登録のためキャッシュライン49の中から新しく登録するキャッシュライン49を選択し(ステップ103)、選択したキャッシュライン49が更新されたデータを持っているかキャッシュステータスメモリ45を参照しチェックする(ステップ104)。更新データを持っていない場合、選択したキャッシュライン49の登録データのクリアを行い(ステップ105)、要求読み出し主記憶アドレスで主記憶8からデータを読み出し、または要求読みだしアドレスのキャッシュライン49を所有する他のプロセッサ2に接続するキャッシュメモリ4が応答しデータを出力しする。そのデータを選択したキャッシュライン49へ登録し(ステップ106)、その後登録したキャッシュライン49のデータを要求元プロセッサ2へ返却する(ステップ102)。選択したキャッシュライン49が更新データを保持している場合選択したキャッシュライン49の現登録データを主記憶8へ書き戻し(ステップ107)、接続される更新アドレス保持部3へキャッシュメモリ無効化信号25を出力する(ステップ108)。その後選択したキャッシュライン49のクリア以降の動作を行う(ステップ105乃至106と102)。
【0025】
図4は、本発明の実施の形態において、プロセッサ2から主記憶8へ書き込みする動作を示すフローチャートである。
【0026】
主記憶書き込み要求が生じた場合プロセッサ2は、主記憶アクセス書き込み要求と書き込み主記憶アドレスと書き込みデータを一組として、接続されるキャッシュメモリ4へ送出する。キャッシュメモリ4では、書き込み要求と書き込み主記憶アドレスと書き込みデータを受け取り(ステップ110)、キャッシュメモリ4内で要求書き込み主記憶アドレスと一致するアドレスを持つキャッシュエントリ49をサーチする(ステップ111)。サーチの結果要求主記憶アドレスと一致したキャッシュライン49が有りの場合、一致したキャッシュライン49へ書き込みデータを登録し(ステップ112)、更新アドレス保持部3へキャッシュメモリ更新信号24を出力する(ステップ113)。サーチの結果要求主記憶アドレスと一致したキャッシュメモリ4のエントリ無しの場合、書き込みデータ登録のためキャッシュライン49の中から新登録キャッシュライン49を選択し(ステップ114)、選択したキャッシュライン49が更新されたデータを持っているかチェックし(ステップ115)、更新データを持っていない場合選択したキャッシュライン49の登録データのクリアを行う(ステップ116)。その後書き込みデータの登録以降の動作を行う(ステップ112〜113)。選択したキャッシュライン49が更新データを持っている場合選択したキャッシュライン49内のキャッシュデータメモリ44の内容を主記憶8へ書き戻し(ステップ117)、接続される更新アドレス保持部3へキャッシュメモリ無効化信号25を出力する(ステップ118)。その後選択したキャッシュライン49のクリア以降の動作を行う(ステップ116とステップ112乃至113)。
【0027】
図5は、本発明の実施の形態において、更新アドレス保持部3がキャッシュメモリ無効化信号25を受信したときの動作を示すフローチャートである。キャッシュメモリ4がキャッシュメモリ無効化信号25を出力した場合、主記憶書き戻しアドレスを、接続された更新アドレス保持部3に送出する。更新アドレス保持部3は、キャッシュメモリ4から送出された主記憶書き戻しアドレスを主記憶アドレスレジスタ20に保持し(ステップ120)、更新アドレス記憶制御機構23によって、更新アドレス記憶機構21内で主記憶書き戻しアドレスと一致するアドレスを持つ更新アドレス記憶エントリ211をサーチし(ステップ121)、主記憶書き戻しアドレスと一致した更新アドレス記憶機構21の更新アドレス記憶エントリ211の登録アドレスをクリアし(ステップ122)、未使用の更新アドレス記憶エントリ211とする(ステップ123)。
【0028】
図6は、本発明の実施の形態において、更新アドレス保持部3がキャッシュメモリ更新信号24を受信したときの動作を示すフローチャートである。キャッシュメモリ4がキャッシュメモリ更新信号24を出力した場合、主記憶書き込みアドレスを、接続される更新アドレス保持部3へ送出する。更新アドレス保持部3は、キャッシュメモリ4から送出された書き込み主記憶アドレスを主記憶アドレスレジスタ20に保持し(ステップ130)、更新アドレス記憶制御機構23によって、更新アドレス記憶機構21内の未使用の更新アドレス記憶エントリ211から新しい更新アドレス記憶エントリ211を選択し(ステップ131)、更新アドレス記憶機構21内の選択した更新アドレス記憶エントリ211に更新主記憶アドレスを登録する(ステップ132)。
【0029】
図7は、本発明の実施の形態において、キャッシュメモリ障害処理の動作を示すフローチャートである。キャッシュメモリ4に障害が発生し、内部に保持するデータとアドレスを取り出すことができなくなった場合、キャッシュ制御部41に制御により次の動作を行う。障害が発生したキャッシュメモリ4と接続するプロセッサ2からのプロセッサ読み出し信号26の出力を受けて更新アドレス記憶制御機構23は更新アドレス記憶機構21の各更新アドレス記憶エントリ211を順次選択し(ステップ140)、選択した更新アドレス記憶エントリ211内の更新主記憶アドレスを取り出し(ステップ143)、他プロセッサに接続するすべてのキャッシュメモリ4にて、更新アドレス記憶機構21から取り出した更新主記憶アドレスと一致するアドレスをサーチする(ステップ144)。サーチの結果更新アドレス記憶機構21から取り出した更新主記憶アドレスと一致した他プロセッサのキャッシュメモリ4のエントリ有りの場合、一致した他プロセッサのキャッシュメモリ4の更新アドレス記憶エントリ211のデータを主記憶に書き戻す(ステップ145)。更新アドレス記憶機構21の全エントリについて、他プロセッサキャッシュメモリ4の更新アドレス記憶エントリ211のサーチ完了後、更新アドレス記憶機構21の全更新アドレス記憶エントリ211の更新主記憶アドレスについて他プロセッサキャッシュメモリのデータによる主記憶書き戻しが完了したかどうかチェックし(ステップ141)、全更新主記憶アドレスについて他プロセッサキャッシュメモリによる主記憶書き戻しができた場合は、障害キャッシュメモリが保持していた更新データのデータ復旧完了(ステップ142)としてシステムの稼動を継続する。他プロセッサキャッシュメモリによる主記憶書き戻しができない更新主記憶アドレスを持つ更新アドレス記憶機構21の更新アドレス記憶エントリ211があった場合は、障害キャッシュメモリの更新データのデータ復元の失敗(ステップ146)としてシステムを停止させる。
【0030】
キャッシュメモリ4にダーティーシェアードで記憶されていて紛失してしまったデータの復元が完了しシステムの稼動が継続した場合、障害があるキャッシュメモリ4と接続するプロセッサ2は、障害があるキャッシュメモリ4を使用せず直接主記憶8とアクセスを行う。
【0031】
次に、本発明のマルチプロセッサシステムの第二の実施の形態について、図面を参照して説明する。
【0032】
図8は、本発明の第二の実施の形態の更新アドレス保持部3の構成を示す図である。第1の実施の形態の更新アドレス保持部3において、キャッシュメモリ4のデータ更新情報の保存形態を、更新主記憶アドレスの形態による保存から各主記憶アドレスについての更新状態情報形態による保存に変更したものである。キャッシュメモリ4で使用される主記憶アドレスを保持する更新状態記憶ポインタ30と、主記憶アドレス毎のデータ更新状態を記憶する複数の更新状態記憶エントリ311を持つ更新状態記憶機構31と、キャッシュメモリ4のデータ更新動作を示すキャッシュメモリ更新信号33とその時のキャッシュメモリ4でアクセス処理する主記憶アドレスを保持している更新状態記憶ポインタ30で指される主記憶アドレスに対応する更新状態記憶機構31の記憶エリアを更新済みと設定し、キャッシュメモリ4から主記憶8への更新データ書き戻し動作を示すキャッシュメモリ無効化信号34を受けることによりキャッシュメモリ4でアクセス処理する主記憶アドレスを保持している更新状態記憶ポインタ30で指される更新状態記憶機構31の更新状態記憶エントリ311を更新無しと設定し、プロセッサ2からの出力要求であるプロセッサ読み出し信号35により任意の値を設定した更新状態記憶ポインタ30で指される更新状態記憶機構31の更新状態記憶エントリ311に保持する更新状態情報を出力する更新状態記憶制御機構32を備える。
【0033】
第2の実施の形態ではキャッシュメモリ4の更新データに対応する更新主記憶アドレスについての比較と登録と削除の動作が無くなり、主記憶アドレス毎の更新状態の設定と読み出しが行われること以外は第1の実施の形態と同様に動作する。キャッシュメモリ4からキャッシュメモリ無効化信号34が出力された場合、キャッシュメモリ4からの主記憶書き戻しアドレスを更新状態記憶ポインタ30に保持し、更新状態記憶制御機構32によって、更新状態記憶ポインタ30で指された更新状態記憶機構31の更新状態記憶エントリ311を更新無しと設定する。キャッシュメモリ4からキャッシュメモリ更新信号33が出力された場合、キャッシュメモリ4からの主記憶書き込みアドレスを更新状態記憶ポインタ30に保持し、更新状態記憶制御機構32によって、更新状態記憶ポインタ30で指された更新状態記憶機構31の更新状態記憶エントリ311を更新済みと設定する。または、他のプロセッサ2に接続するダーティエクスクルーシブまたはダーティシェアート状態のキャッシュメモリ4がデータを出力する応答をし、キャッシュメモリ4からキャッシュメモリ更新信号33が出力された場合に、そのデータの主記憶書き込みアドレスを更新状態記憶ポインタ30に保持し、更新状態記憶制御機構32によって、更新状態記憶ポインタ30で指された更新状態記憶機構31の更新状態記憶エントリ311を更新済みと設定する。
【0034】
キャッシュメモリ4に障害が発生し内部に保持するデータとアドレスを取り出すことができなくなった場合、キャッシュ制御部41に制御により次の動作を行う。プロセッサからのプロセッサ読み出し信号35の出力を受けて更新状態記憶制御機構32から更新状態記憶ポインタ30に値を設定することで更新状態記憶機構31の各更新状態記憶エントリ311を順次選択し、障害となったキャッシュメモリ4と接続されているプロセッサ2は、更新状態記憶機構31の各更新状態記憶エントリ311の内容を取り出し、更新状態記憶エントリ311が更新済みとなっているアドレスについて障害キャッシュメモリと接続していない他プロセッサ2に接続するキャッシュライン49をサーチする。サーチの結果更新状態記憶機構31の更新状態記憶エントリ311が更新済みとなっているアドレスと一致した主記憶アドレスを持つ他プロセッサ2のキャッシュライン49が有る場合、一致した他プロセッサ2のキャッシュライン49のデータを主記憶に書き戻す。更新状態記憶機構31の更新状態記憶エントリ311が更新済みとなっているアドレス全てについて、他プロセッサ2のキャッシュメモリ4のデータによる主記憶書き戻しができた場合は、障害があるキャッシュメモリ4の全てのダーティシェアードデータのデータ復旧完了としてシステムの稼動を継続する。更新状態記憶機構31の更新状態記憶エントリ311が更新済みとなっているアドレスで他プロセッサ2に接続するキャッシュメモリ4による主記憶書き戻しができないアドレスがある場合は、障害があるキャッシュメモリ4のデータ復元失敗としてシステムを停止させる。
【0035】
以上のように制御を行う手段を設けることにより、キャッシュメモリ障害時のデータ復元動作を行うことができる。本発明の第2の実施の形態は、第1の実施の形態と同様に障害キャッシュメモリ上の更新データのデータ復元をしキャッシュメモリ障害処理をおこなうことができ、第1の実施の形態から一部機能を省くことによりハードウェア量を押さえることができるという効果を有する。
【0036】
【発明の効果】
第1の効果は、キャッシュメモリに障害が発生しキャッシュメモリの内部に保持するデータとアドレスを取り出すことができなくなった場合でも、キャッシュメモリ内のデータを主記憶上に反映することができる。その理由は、キャッシュメモリを有する複数のプロセッサを備えるマルチプロセッサシステムでは、各プロセッサのアクセスしたデータがそれぞれのプロセッサに接続されるキャッシュメモリ上にダーティシェアード状態で存在する場合があり、つまり各キャッシュメモリ上に同一主記憶アドレスの同一データが存在する場合がある。このため、障害となったキャッシュメモリの更新データのアドレスと同一のアドレスを他プロセッサのキャッシュメモリが保持していれば、同一アドレスのデータを主記憶に書き込むことにより、障害となったキャッシュメモリの更新データの復元が行える。
【0037】
第2の効果は、キャッシュメモリに障害が発生しキャッシュメモリの内部に保持するデータとアドレスを取り出すことができなくなった場合でも、障害キャッシュメモリ上に更新データが存在するかどうか判断し更新データが無い場合は、データの復元動作無しで障害復旧完了とすることができる。その理由は、キャッシュメモリのデータ更新時に、キャッシュメモリのデータ更新エントリに対応する主記憶アドレスに関する情報をキャッシュメモリの外に保持しているからである。
【図面の簡単な説明】
【図1】本発明の実施の形態の適用されるマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の第一の実施の形態の更新アドレス保持部3とキャッシュメモリ4の構成を示す図である。
【図3】本発明の実施の形態において、プロセッサ2から主記憶8を読み出す動作を示すフローチャートである。
【図4】本発明の実施の形態において、プロセッサ2から主記憶8へ書き込みする動作を示すフローチャートである。
【図5】本発明の実施の形態において、更新アドレス保持部3がキャッシュメモリ無効化信号25を受信したときの動作を示すフローチャートである。
【図6】本発明の実施の形態において、更新アドレス保持部3がキャッシュメモリ更新信号24を受信したときの動作を示すフローチャートである。
【図7】本発明の実施の形態において、キャッシュメモリ障害処理の動作を示すフローチャートである。
【図8】本発明の第二の実施の形態の更新アドレス保持部3の構成を示す図である。
【符号の説明】
1 中央処理装置
2 プロセッサ
3 更新アドレス保持部
4 キャッシュメモリ
5 入出力制御装置
8 主記憶
9 システムバス
20 主記憶アドレスレジスタ
21 更新アドレス記憶機構
22 アドレス比較機構
23 更新アドレス記憶制御機構
24 キャッシュメモリ更新信号
25 キャッシュメモリ無効化信号
26 プロセッサ読み出し信号
30 更新状態記憶ポインタ
31 更新状態記憶機構
32 更新状態記憶制御機構
41 キャッシュ制御部
43 キャッシュタグメモリ
44 キャッシュデータメモリ
45 キャッシュステータスメモリ
49 キャッシュライン
211 更新アドレス記憶エントリ
311 更新状態記憶エントリ

Claims (4)

  1. キャッシュメモリで処理される主記憶アドレスを保持する主記憶アドレスレジスタと、前記キャッシュメモリで更新される更新データの前記主記憶アドレスを保持する更新アドレス記憶機構と、前記主記憶アドレスレジスタの値と前記更新データの前記主記憶アドレスを保持している前記更新アドレス記憶機構の値を比較するアドレス比較機構と、更新アドレス記憶制御機構を有し、前記更新アドレス記憶制御機構は前記キャッシュメモリの前記更新データの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記キャッシュメモリの更新により前記キャッシュメモリの前記更新データの前記主記憶アドレスを前記更新アドレス記憶機構に登録し、前記キャッシュメモリから前記主記憶への前記更新データの書き戻しにより前記更新データ書き戻しの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記更新アドレス記憶機構が保持するアドレス値を前記アドレス比較機構を用いて比較し、一致した前記更新アドレス記憶機構に保持するアドレス値を削除し、外部からの要求により前記更新アドレス記憶機構に保持する値を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサと、主記憶をバスで接続し、前記キャッシュメモリの障害を検出する障害検出手段と、前記障害検出手段により前記キャッシュメモリの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新アドレス記憶機構に保持する値を出力するアドレス出力手段と、前記アドレス出力手段から出力された値のアドレスをもつキャッシュラインを前記主記憶へ書き戻す書き戻し手段とを有し、前記更新アドレス記憶機構に保持するアドレスがすべて前記主記憶へ書き戻されたことを確認する確認手段と、前記確認手段により前記戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する運転継続手段と、前記確認手段により前記書き戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する運転停止手段を備えることを特徴とするキャッシュメモリの障害処理装置。
  2. キャッシュメモリで処理される主記憶アドレスを保持する主記憶アドレスレジスタと、前記キャッシュメモリで更新される更新データの前記主記憶アドレスを保持する更新アドレス記憶機構と、前記主記憶アドレスレジスタの値と前記更新データの前記主記憶アドレスを保持している前記更新アドレス記憶機構の値を比較するアドレス比較機構と、更新アドレス記憶制御機構を有し、前記更新アドレス記憶制御機構は前記キャッシュメモリの前記更新データの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記キャッシュメモリの更新により前記キャッシュメモリの前記更新データの前記主記憶アドレスを前記更新アドレス記憶機構に登録し、前記キャッシュメモリから前記主記憶への前記更新データの書き戻しにより前記更新データ書き戻しの前記主記憶アドレスを示す前記主記憶アドレスレジスタの値と前記更新アドレス記憶機構が保持するアドレス値を前記アドレス比較機構を用いて比較し、一致した前記更新アドレス記憶機構に保持するアドレス値を削除し、外部からの要求により前記更新アドレス記憶機構に保持する値を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサ、入出力制御装置と、主記憶をバスで接続し、前記キャッシュメモリの障害を検出する第一手順と、前記第一の手順により前記キャッシュメモリの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新アドレス記憶機構に保持する値を出力する第二の手順と、前記アドレス出力手順から出力された値のアドレスをもつキャッシュラインを主記憶へ書き戻す第三の手順と、前記更新アドレス記憶機構に保持するアドレスがすべて前記主記憶へ書き戻されたことを確認する第四の手順と、前記確認手順により前記戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する第五の手順と、前記確認手順により前記書き戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する第六の手順を備えることを特徴とするキャッシュメモリの障害処理方法。
  3. キャッシュメモリで処理される主記憶アドレスを保持する更新状態記憶ポインタと、主記憶アドレス毎のデータ更新状態を記憶する複数の更新状態記憶エントリを有し前記主記憶の更新状態情報を記憶する更新状態記憶機構と、更新状態記憶制御機構を有し、前記更新状態記憶制御機構は前記キャッシュメモリのデータ更新動作を示すキャッシュメモリ更新信号とその時の前記キャッシュメモリでアクセス処理する前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記主記憶アドレスに対応する前記更新状態記憶エントリを更新済みと設定し、前記キャッシュメモリから前記主記憶への更新データ書き戻し動作を示すキャッシュメモリ無効化信号を受けることにより前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記更新状態記憶機構の前記更新状態記憶エントリを更新無しと設定し、外部からの出力要求により前記更新状態記憶機構内の前記更新状態記憶エントリに保持する前記更新状態情報を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサと、主記憶をバスで接続し、前記キャッシュメモリの障害を検出する障害検出手段と、前記障害検出手段により前記キャッシュメモリの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新状態記憶ポインタ記憶に保持する値を出力するポインタ出力手段と、前記ポインタ出力手段から出力された値のポインタをもつキャッシュラインを主記憶へ書き戻す書き戻し手段とを有し、前記更新状態記憶ポインタに保持するポインタがすべて前記主記憶へ書き戻されたことを確認する確認手段と、前記確認手段により前記戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する運転継続手段と、前記確認手段により前記書き戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する運転停止手段を備えることを特徴とするキャッシュメモリの障害処理装置。
  4. キャッシュメモリで処理される主記憶アドレスを保持する更新状態記憶ポインタと、主記憶アドレス毎のデータ更新状態を記憶する複数の更新状態記憶エントリを有し前記主記憶の更新状態情報を記憶する更新状態記憶機構と、更新状態記憶制御機構を有し、前記更新状態記憶制御機構は前記キャッシュメモリのデータ更新動作を示すキャッシュメモリ更新信号とその時の前記キャッシュメモリでアクセス処理する前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記主記憶アドレスに対応する前記更新状態記憶エントリを更新済みと設定し、前記キャッシュメモリから前記主記憶への更新データ書き戻し動作を示すキャッシュメモリ無効化信号を受けることにより前記主記憶アドレスを保持している前記更新状態記憶ポインタで指される前記更新状態記憶機構の前記更新状態記憶エントリを更新無しと設定し、外部からの出力要求により前記更新状態記憶機構内の前記更新状態記憶エントリに保持する前記更新状態情報を出力するストアイン方式のキャッシュメモリを有する複数のプロセッサと、主記憶をバスで接続し、前記キャッシュメモリの障害を検出する第一手順と、前記第一の手順により前記キャッシュメモリの障害が検出されたときに前記キャッシュメモリの障害を有する前記プロセッサからの要求により前記更新状態記憶ポインタに保持する値を出力する第二の手順と、前記ポインタ出力手順から出力された値のポインタをもつキャッシュラインを主記憶へ書き戻す第三の手順と、前記更新状態記憶ポインタに保持するポインタがすべて前記主記憶へ書き戻されたことを確認する第四の手順と、前記確認手順により前記書き戻しがすべて前記主記憶へ書き戻された時に前記複数のプロセッサの運転を継続する第五の手順と、前記確認手順により前戻しがすべて前記主記憶へ書き戻されない時に前記複数のプロセッサを停止する第六の手順を備えることを特徴とするキャッシュメモリの障害処理方法。
JP14687799A 1999-05-26 1999-05-26 キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム Expired - Fee Related JP3555847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14687799A JP3555847B2 (ja) 1999-05-26 1999-05-26 キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14687799A JP3555847B2 (ja) 1999-05-26 1999-05-26 キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2000339218A JP2000339218A (ja) 2000-12-08
JP3555847B2 true JP3555847B2 (ja) 2004-08-18

Family

ID=15417598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14687799A Expired - Fee Related JP3555847B2 (ja) 1999-05-26 1999-05-26 キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP3555847B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868481B1 (en) * 2000-10-31 2005-03-15 Hewlett-Packard Development Company, L.P. Cache coherence protocol for a multiple bus multiprocessor system
JP5224038B2 (ja) * 2008-02-27 2013-07-03 日本電気株式会社 コンピュータ装置、コンピュータ装置の運用継続方法及びプログラム

Also Published As

Publication number Publication date
JP2000339218A (ja) 2000-12-08

Similar Documents

Publication Publication Date Title
KR100233207B1 (ko) 캐시 플러시 장치 및 이 장치를 구비한 계산기 시스템
JP3510240B2 (ja) キャッシュメモリー付マルチ処理システム
KR100567099B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
US6418515B1 (en) Cache flush unit
US6119209A (en) Backup directory for a write cache
EP0833248B1 (en) Computer system with memory update history storage
JP2665718B2 (ja) 情報処理装置のキャッシュメモリテスト方法
JPH09511088A (ja) マルチプロセッサ・システムのための高可用性のエラー自己回復共用キャッシュ
CA2127081A1 (en) Processor interface chip for dual-microprocessor processor system
JPH06202922A (ja) 書き込みエラー検出用チェック・ビットの処理方法
EP0498520B1 (en) Improved data cache and method for handling memory errors during copyback
JP3129224B2 (ja) キャッシュメモリ装置
JP3555847B2 (ja) キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム
JP3070453B2 (ja) 計算機システムのメモリ障害回復方法および回復システム
JP3083786B2 (ja) メモリ更新履歴保存装置およびメモリ更新履歴保存方法
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
JPH0217550A (ja) マルチプロセッサシステムの障害処理方式
JP3716190B2 (ja) キャッシュメモリにおけるデータアレイの訂正不能障害救済方式
JP3080030B2 (ja) 階層型キャッシュ装置
JP2690697B2 (ja) バッファメモリ装置
JP2000181790A (ja) メモリ更新履歴保存装置
JP3651857B6 (ja) キャッシュ・コヒーレントdma書込み方法
JP3651857B2 (ja) キャッシュ・コヒーレントdma書込み方法
JPH10320274A (ja) キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体
US7069391B1 (en) Method for improved first level cache coherency

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040507

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees