JP3192664B2 - キャッシュメモリシステムおよびキャッシュメモリコントローラ - Google Patents

キャッシュメモリシステムおよびキャッシュメモリコントローラ

Info

Publication number
JP3192664B2
JP3192664B2 JP00595891A JP595891A JP3192664B2 JP 3192664 B2 JP3192664 B2 JP 3192664B2 JP 00595891 A JP00595891 A JP 00595891A JP 595891 A JP595891 A JP 595891A JP 3192664 B2 JP3192664 B2 JP 3192664B2
Authority
JP
Japan
Prior art keywords
cache memory
memory
error
cache
processing unit
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
JP00595891A
Other languages
English (en)
Other versions
JPH04237349A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP00595891A priority Critical patent/JP3192664B2/ja
Priority to US07/822,110 priority patent/US5381544A/en
Publication of JPH04237349A publication Critical patent/JPH04237349A/ja
Application granted granted Critical
Publication of JP3192664B2 publication Critical patent/JP3192664B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パーソナルコンピュー
タ、ワークステーション、オフィスコンピュータ等の情
報処理装置に用いられるキャッシュメモリシステムに関
する。
【0002】
【従来の技術】キャッシュメモリを有する情報処理装置
においては、キャッシュメモリ制御の方式として、中央
処理装置からのライトアクセスが常にキャッシュメモリ
と主記憶装置(以下、単に主記憶ともいう)の両方に対
して行なわれ、このため主記憶の記憶内容とキャッシュ
メモリの記憶内容が常に一致しているライトスルー方式
と、中央処理装置からのライトアクセスが通常キャッシ
ュメモリに対してのみ行なわれ、必要に応じてキャッシ
ュメモリの記憶内容を主記憶にコピーするコピーバック
方式が知られている。従来は、主記憶へのアクセスの回
数は多くなるが制御のより容易なライトスルー方式が広
く行なわれてきた。
【0003】ライトスルー方式のキャッシュメモリ制御
に関して、特にキャッシュメモリの内容にエラーが生じ
たことを検出した場合の処理方式に関しては、例えば特
開平2−41537号公報に記載されている。該従来技
術では、キャッシュメモリの内容にエラーが生じたこと
を検出した場合、エラーが生じたアドレスによって主記
憶をアクセスし、主記憶の記憶内容をキャッシュメモリ
にコピーすることにより、動作を再開させるようになっ
ている。
【0004】また、特開平2−66652号公報には、
アドレスアレイのアドレス対応に付加ビットを設け、主
記憶に障害が発生した場合に、付加ビットを利用して主
記憶の代替メモリとしてキャッシュメモリを用いて処理
を続行する技術を開示している。この技術は、キャッシ
ュメモリ自体に障害があった場合にも応用可能であるこ
とが示唆されている。
【0005】その他、キャッシュメモリのエラー等に対
処する従来技術として、特開昭55−122287号、
同57−133596号、同63−66647号、特開
平1−298453号の各公報に記載のものが挙げられ
る。
【0006】
【発明が解決しようとする課題】近年、中央処理装置の
性能が向上するに従い、中央処理装置にとって待ち時間
となる主記憶へのアクセスをできるだけ少なくしたいと
いう要求が生じてきた。これに伴い、キャッシュメモリ
制御の方式として、制御はより複雑になるが主記憶への
アクセスの回数は少なくなるコピーバック方式を採用す
ることが考えられる。
【0007】ところで、上記特開平2−41537号公
報に記載の従来技術は、キャッシュメモリの内容にエラ
ーが生じたことを検出した場合、主記憶の記憶内容をキ
ャッシュメモリにコピーするため、主記憶の記憶内容と
キャッシュメモリの記憶内容が常に一致している必要が
有る。しかし、主記憶の記憶内容とキャッシュメモリの
記憶内容が一致していない場合が有るコピーバック方式
のキャッシュメモリシステムにはこの従来技術は適用で
きない。
【0008】また、上記特開平2−66652号公報も
ライトスルー方式を前提としており、上述したコピーバ
ック方式特有の問題は解決されない。
【0009】本発明の目的は、コピーバック方式で制御
され、キャッシュメモリの内容にエラーが生じたことを
検出した場合の処理を容易に行なえるキャッシュメモリ
システムおよびキャッシュメモリコントローラを提供す
ることにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明によるキャッシュメモリシステムは、中央処
理装置と、主記憶装置と、コピーバック方式で制御され
るキャッシュメモリとを備えたキャッシュメモリシステ
ムにおいて、キャッシュメモリのエントリの更新を停止
し、かつその時点で有効なエントリについては、中央処
理装置からのアクセスがヒットした場合のみキャッシュ
メモリとして動作するよう制御する制御手段を設けたも
のである。
【0011】本発明によるキャッシュメモリシステム
は、他の見地によれば、中央処理装置と、主記憶装置
と、コピーバック方式で制御されるキャッシュメモリと
を備えたキャッシュメモリシステムにおいて、キャッシ
ュメモリのエラーを検出するエラー検出手段と、該エラ
ー検出手段によりエラーが検出された後、キャッシュメ
モリのエントリの更新を停止し、かつ、その時点で有効
なエントリについては、中央処理装置からのアクセスが
ヒットした場合のみキャッシュメモリとして動作するよ
う制御する制御手段とを備えたものである。
【0012】停止されたキャッシュメモリのエントリの
更新の再開を、中央処理装置の指令により行なう手段を
さらに備えてもよい。
【0013】本発明によるキャッシュメモリシステム
は、さらに他の見地によれば、中央処理装置と、主記憶
装置と、コピーバック方式で制御されるキャッシュメモ
リとを備えたキャッシュメモリシステムにおいて、キャ
ッシュメモリのエラー検出した後、その時点で有効なエ
ントリについては、中央処理装置からのアクセスがヒッ
トした場合にはキャッシュメモリへのアクセスを許容
し、アクセスがミスした場合にはキャッシュメモリの内
容のリプレースを行うことなく、主記憶装置をアクセス
させる制御手段を備えたものである。
【0014】本発明によるキャッシュメモリコントロー
ラは、中央処理装置の制御下で、主記憶装置の内容の一
部の写しを保持するキャッシュメモリと該キャッシュメ
モリに保持された写しのアドレス情報を保持するタグメ
モリとを制御するキャッシュメモリコントローラであっ
て、前記タグメモリの読み書きを制御するタグメモリ制
御手段と、前記キャッシュメモリの読み書きを制御する
キャッシュメモリ制御手段と、前記キャッシュメモリの
エラーを検出するエラー検出手段と、該エラー検出手段
によりエラーが検出されたとき、エラー発生を示す情報
を保持するエラー保持手段と、前記中央処理装置の制御
下で、前記エラー保持手段の保持内容に応じて前記タグ
メモリ制御手段およびキャッシュメモリ制御手段の動作
を制御するシーケンス制御手段とを備えたものである。
【0015】好ましくは、前記シーケンス制御手段は、
前記エラー保持手段にエラー発生を示す情報が保持され
ているとき、前記タグメモリへの新たなアドレス情報の
書込みを禁止し、かつ、中央処理装置からのアクセスが
ヒットした場合、前記キャッシュメモリの読み書きを許
容するものである。
【0016】前記キャッシュメモリコントローラにおい
て、前記エラー保持手段の保持内容を前記中央処理装置
から変更可能とする手段をさらに設けてもよい。
【0017】
【作用】コピーバック方式で制御されるキャッシュメモ
リの内容にエラーが生じた場合、主記憶の記憶内容とキ
ャッシュメモリの記憶内容が一致していない場合が有
る。このため、中央処理装置はエラーが生じたキャッシ
ュメモリの動作を一旦停止し、エラーが回復可能かどう
か等を確認した後、エラー処理を行なう必要が有る。本
発明では上記の動作を容易に行なうため、キャッシュメ
モリの内容にエラーが生じたことを検出した場合に、エ
ントリの更新を停止し、かつ、その時点で有効なエント
リについては、中央処理装置からのアクセスがヒットし
た場合のみキャッシュメモリとして動作するようにする
という制御を行なうようにした。さらに、停止されたキ
ャッシュメモリのエントリの更新の再開を、中央処理装
置の指令により行なうことができる。
【0018】これにより、中央処理装置は、主記憶の記
憶内容とキャッシュメモリの記憶内容が一致しているか
否かに無関係に、エラーが回復可能かどうか等を確認し
た後、エラー処理を行なうことができる。また、停止さ
れたキャッシュメモリのエントリの更新の再開を、中央
処理装置の指令により行なうことにより、エラー処理終
了後通常動作に復帰する場合、該復帰を容易に行なうこ
とができる。
【0019】
【実施例】図1に本発明の一実施例のシステム構成を示
す。図1において、11は本システムの中央処理装置
(CPU)、12は本システムの主記憶装置、13は単
数または複数の集積回路から成り本システムのキャッシ
ュメモリシステム全体を制御するキャッシュメモリコン
トローラ、14はコンパレータ機能を有する市販または
専用のタグメモリ、15はパリティビット等のエラー検
出データ生成機能及びエラーチェック機能を有する市販
または専用のキャッシュメモリである。また、101は
CPU11の外部バスのアドレス線、102はCPU1
1の外部バスのデータ線、103はCPU11の外部バ
スの制御線、104はタグメモリ14の制御線、105
はタグメモリ14のコンパレートステータス線、106
はタグメモリ14のデータ線、107はキャッシュメモ
リ15の制御線、108はキャッシュメモリ15のエラ
ーステータス線、109は主記憶装置12の起動制御線
である。
【0020】なお、本明細書では、「キャッシュメモ
リ」なる語は、狭義にはキャッシュメモリ15を指す
が、広義にはタグメモリ14をも含むものとする。
【0021】図1においてキャッシュメモリコントロー
ラ13は、CPU11の外部バスのアドレス線101及
び制御線103を監視し、CPU11がメモリアクセス
を行なった場合、タグメモリ14へのアクセス、キャッ
シュメモリ15へのアクセス、及び主記憶装置12の起
動制御等を行なって、キャッシュメモリシステム全体を
コピーバック方式で制御する。また、キャッシュメモリ
コントローラ13は、キャッシュメモリ15へのアクセ
スにおいてメモリエラーが検出された場合、キャッシュ
メモリのエントリの更新を停止し、かつその時点で有効
なエントリについては、CPUからのアクセスがヒット
した場合のみキャッシュメモリとして動作するようにす
る制御を行なう。
【0022】図2にキャッシュメモリコントローラ13
の内部構成のブロック図を、また図3にキャッシュメモ
リコントローラ13の動作手順のフローチャートを示
す。
【0023】以下、図2及び図3を用いて、キャッシュ
メモリコントローラ13の構成と動作を説明する。図2
において、21はタグメモリ制御回路、22はキャッシ
ュメモリ制御回路、23はメモリエラー検出回路、24
はバス・アドレス制御回路、25はシーケンス制御回
路、26は内部レジスタである。
【0024】タグメモリ制御回路21は一般的なメモリ
制御論理回路であり、シーケンス制御回路25からの指
示信号201に従って、タグメモリ14への制御線10
4を制御する。これによりタグメモリ14へのアクセス
が行なわれる。キャッシュメモリ制御回路21も一般的
なメモリ制御論理回路であり、シーケンス制御回路25
からの指示信号202に従ってキャッシュメモリ15へ
の制御線107を制御する。これによりキャッシュメモ
リ14へのアクセスが行なわれる。
【0025】メモリエラー検出回路23は、キャッシュ
メモリ15のエラーステータス線108を、シーケンス
制御回路25からの指示信号203に従って監視するこ
とによりメモリエラーを検出し、メモリエラーが発生し
た場合は信号線204によって内部レジスタ26にエラ
ーモード設定を行なう論理回路である。内部レジスタ2
6は、エラーモード設定が行なわれる内部レジスタであ
り、信号線204によってエラーモード設定が行なわれ
る他、シーケンス制御回路25からの指示信号208に
従ってCPU11の外部バスのデータ線102からアク
セスできるようになっている。また、エラーモード設定
の有無は信号線207によってシーケンス制御回路25
から参照できるようになっている。
【0026】バス・アドレス制御回路24は、CPU1
1の外部バスのアドレス線101及び制御線103の監
視と制御とを行なうバスインタフェース論理回路であ
る。バス・アドレス制御回路24は、アドレス線101
及び制御線103を監視して、CPU11がメモリアク
セスまたは内部レジスタ26のアクセスを行なった場
合、信号線206によりシーケンス制御回路25に通知
する。また、シーケンス制御回路25からの指示信号2
05に従ってCPU11の外部バスのアドレス線101
及び制御線103の制御を行なう。これにより、CPU
11のアクセスへの応答制御が行なわれる。また、シー
ケンス制御回路25からの指示信号205に従ってタグ
メモリ14のデータ線106を、タグメモリ14へのア
クセス時と後述のコピーバック動作時にCPU11の外
部バスのアドレス線101に接続し、またデータ線10
6の内容を信号線206によりシーケンス制御回路25
に通知する制御を行なう。
【0027】シーケンス制御回路25はキャッシュメモ
リコントローラ13の動作手順を制御するシーケンサで
ある。市販のキャッシュメモリコントローラのシーケン
サと同様に順序論理回路と組合せ論理回路で構成され
る。シーケンス制御回路25は、CPU11がメモリア
クセスまたは内部レジスタ26のアクセスを行なった場
合、バス・アドレス制御回路24から信号線206を介
してその旨の通知を受ける。CPU11が内部レジスタ
26のアクセスを行なった場合には、指示信号208に
従ってCPU11の外部バスのデータ線102から内部
レジスタ26をアクセスさせる。
【0028】図4に、タグメモリ14のエントリ構成の
一例を示す。この例では、アドレス空間の大きさが4ギ
ガバイト(232)、キャッシュメモリの1ラインの大き
さが16バイト(24)、キャッシュメモリの容量が2
56キロバイト(218)、キャッシュメモリのウェイ数
が1ウェイのダイレクトマッピング方式の場合を想定す
る。この場合、タグメモリのエントリ数はキャッシュメ
モリのライン数に等しく、214個のエントリが存在す
る。本実施例では、各エントリはアドレス空間の32ビ
ットアドレスA31−A0中のA17−A4の14ビッ
トを用いてアクセスされる。1エントリは16ビット
(215−20)で構成される。215−22の14ビットに
は、アドレスA31−A18の14ビットがタグとして
格納される。21ビットはVビットまたはバリッドビッ
トと呼ばれ、このVビットが論理値1であるとき、当該
エントリが有効であることを示す。20ビットは、Dビ
ットまたはダーティビットと呼ばれ、このDビット論理
値1であるとき、キャッシュメモリの内容と主記憶の内
容が一致していないことを示す。タグメモリ14のコン
パレータ機能は、215−21の15ビットについて作用
し、コンパレートアクセス時に15ビットの内容が一致
したとき、コンパレートステータス線105がアクティ
ブになる。
【0029】CPU11がメモリアクセスを行なった場
合、キャッシュメモリコントローラ13は図3に示すフ
ローチャートの手順に従って動作する。
【0030】以下、図3を用いて、キャッシュメモリコ
ントローラ13の動作を説明する。CPU11がメモリ
アクセスを行なった場合(301)、バス・アドレス制
御回路24は信号線206によりシーケンス制御回路2
5に通知する。これを受けてシーケンス制御回路25
は、指示信号201及び205を出力してタグメモリ1
4へのコンパレートアクセスを行なう(302)。シー
ケンス制御回路25は、タグメモリ14のコンパレート
ステータス線105を監視してメモリアクセスがキャッ
シュメモリにヒットしたか否かを判定する(303)。
メモリアクセスがヒットした場合、シーケンス制御回路
25は、指示信号202を出力してキャッシュメモリ1
5へのアクセスを行ない、また指示信号205を出力し
てCPU11のアクセスへの応答を行なう(304)。
さらにシーケンス制御回路25は、指示信号203を出
力して、キャッシュメモリ15へのアクセスにおいてメ
モリエラーが発生したか否かを判定する(305)。メ
モリエラーが発生しなければキャッシュメモリコントロ
ーラ13の動作は終了する。メモリエラーが発生した場
合は、信号線204によって内部レジスタ26にエラー
モード設定が行なわれる(306)。これを受けてシー
ケンス制御回路25は指示信号205を出力し、制御線
103に割込み信号を出力する等の手段により、CPU
11にメモリエラーの発生を通知する(307)。
【0031】前記コンパレートアクセス(302)で
は、A17−A4の14ビットを用いて、A31−A1
8の14ビットおよび論理値1のVビットをデータとし
たタグメモリのアクセスが行われる。タグメモリ14
は、A17−A4で選択されたエントリのビット215
1の内容をデータと比較し、一致したときに限りコン
パレートステータス線105をアクティブにする。コン
パレートステータス線105がアクティブのときに限
り、メモリアクセスがキャッシュメモリにヒットしたと
判定される。
【0032】判定303でメモリアクセスがヒットしな
かった場合、シーケンス制御回路25は、信号線207
を参照してエラーモード設定の有無を判定する(30
8)。エラーモード設定が行なわれている場合、シーケ
ンス制御回路25は、起動制御線109により主記憶装
置12を起動してメモリアクセスへの応答を主記憶に引
継がせて(309)、動作を終了する。エラーモード設
定が行なわれていない場合、シーケンス制御回路25
は、キャッシュメモリの内容のリプレースメントに伴っ
て、コピーバック方式の特徴であるコピーバック動作を
行なう。
【0033】コピーバック動作では、シーケンス制御回
路25は、まずタグメモリ14へのリードアクセスを行
ない、信号線206によりタグメモリのデータ即ち更新
すべきエントリの内容を確認する(310)。すなわ
ち、更新すべきエントリについて当該データを主記憶に
書き戻す必要があるか否かをそのVビットおよびDビッ
トにより判定する。次にシーケンス制御回路25は、タ
グメモリ14へのライトアクセスを行ない、CPU11
のメモリアクセスの内容に対応するエントリの更新を行
なう(311)。更にシーケンス制御回路25は、手順
310で確認したエントリの内容に応じて、一般にコピ
ーバックアクセスと呼ばれるキャッシュメモリ15と主
記憶12の間でのデータの送受を行なう(312)。コ
ピーバックアクセスではキャッシュメモリ15がアクセ
スされるので、キャッシュメモリ15でのメモリエラー
が発生し得る。そこでシーケンス制御回路25は、判定
305に戻り、指示信号203を出力してキャッシュメ
モリ15へのアクセスにおいてメモリエラーが発生した
か否かを判定する(305)。メモリエラーが発生しな
ければキャッシュメモリコントローラ13の動作は終了
する。メモリエラーが発生した場合は、信号線204に
よって内部レジスタ26にエラーモード設定が行なわれ
る(306)。これを受けてシーケンス制御回路25は
指示信号205を出力し、制御線103に割込み信号を
出力する等の手段により、CPU11にメモリエラーの
発生を通知する(307)。
【0034】前記リードアクセス(310)では、タグ
メモリ14の215−20の16ビット全てがリードさ
れ、VビットとDビットの両方が論理値1であるときに
限り、キャッシュメモリの内容が有効でかつ主記憶の内
容と一致していないと判断され、コピーバックアクセス
(312)において、215−22からリードされたA3
1−A18の値を用いて主記憶へのデータ転送が行われ
る。
【0035】以上の手順によりキャッシュメモリコント
ローラ13は、CPU11のメモリアクセスに対して、
メモリエラーが発生しなければ通常のコピーバック方式
によるキャッシュメモリ制御を行なう。またメモリエラ
ーが発生した場合は、CPUにメモリエラーの発生を通
知すると共にエラーモード設定が行なわれ、キャッシュ
メモリのエントリの更新を停止し、かつその時点で有効
なエントリについては、CPUからのアクセスがヒット
した場合のみキャッシュメモリとして動作するようにな
っている。すなわち、メモリエラーが発生した後は、キ
ャッシュメモリの内容のリプレースは禁止されるが、有
効なエントリのアクセスは許容される。また、エラーモ
ード設定は、内部レジスタ26をCPUからアクセス可
能とすることにより、CPUから確認・解除できるよう
になっている。
【0036】次に、図5に、キャッシュメモリでエラー
が発生した場合のCPUの処理手順の一例のフローを示
す。この例では、CPU11がタグメモリ14およびキ
ャッシュメモリ15を、主記憶とは異なるアドレスによ
り直接リード/ライトする、いわゆるI/Oアクセスを
行う手段を備えている。この手段は、バス・アドレス制
御回路24が上記の主記憶と異なるアドレスを検出した
場合、シーケンス制御回路25にI/Oアクセスとして
通知し、シーケンス制御回路25がタグメモリ制御回路
21またはキャッシュメモリ制御回路22に指示を行っ
て、タグメモリ14またはキャッシュメモリ15に対し
て、要求されたリード/ライトを行うことにより実現さ
れる。なお、この手段は、ライトスルー方式のキャッシ
ュでも通常備えられている公知のものである。
【0037】以下、図5に従って、エラー発生時の処理
手順を説明する。キャッシュメモリでエラーが発生した
場合、割込み信号の出力等により、CPU11にエラー
の発生が通知される(307)。エラーの発生を通知さ
れたCPU11は、まず、発生したエラーの内容を割込
みベクタ番号等によって確認し(501)、キャッシュ
メモリでのエラーであることを知る。次に、CPU11
は、キャッシュメモリ15のエラーが発生した部分につ
いて、I/Oアクセスによるライト/リードテストを行
い、メモリの破損等のハードエラーであるか否かを調べ
る(502)。ハードエラーである場合には、回復不可
能なエラーとして、通常のシステムエラー処理を行う
(503)。ハードエラーでない場合、CPU11はタ
グメモリ14のエラーが発生したエントリに対してI/
Oアクセスでリードを行い、エラーによって失われたデ
ータがダーティデータ(すなわち有効かつ主記憶の内容
と一致しないデータ)であるか否かを、Dビットの論理
値によって判断する(504)。ダーティデータでない
場合には、失われたデータは主記憶から回復できるの
で、当該エントリのVビットに論理値0をライトするこ
とによって当該エントリを無効化し(505)、その
後、内部レジスタ26へのライトによりエントリ更新を
再開して(505)通常動作に戻る。失われたデータが
ダーティデータである場合には、CPU11は失われた
データの周辺のデータをトレースし(507)、失われ
たデータが再生可能か否かを判断する(508)。再生
不可能な場合には、通常のシステムエラー処理(50
3)を行うことになる。再生可能な場合には、失われた
データの生成直前まで状態を戻す等の再生処理(50
9)を行った後、当該エントリの無効化(505)とエ
ントリ更新の再開(506)とを行って、通常動作に戻
る。
【0038】データトレース(507)と再生処理(5
09)では、CPU11がメモリアクセスを行うが、コ
ピーバック方式のキャッシュメモリシステムでは、必要
条件として、有効なエントリについてはキャッシュメモ
リがアクセスされ、かつ他の場合には主記憶がアクセス
されねばならない。また、CPU11のエラー処理が終
了するまでの間は、エラー発生時の状態ができる限り保
存されている必要がある。本発明では、エラー発生時に
はエントリの更新を停止し、かつ、その時点で有効なエ
ントリについてはメモリアクセスのヒット時のみキャッ
シュメモリがアクセスされるようになっているので、上
記の必要条件を満足しており、CPUがエラー処理を容
易に行うことができる。
【0039】図6に、エラー処理時のCPUとキャッシ
ュメモリシステムの動作シーケンスの一例を示す。以
下、同図のフローにしたがって、CPUとキャッシュメ
モリシステムの動作を説明する。図中の番号は、図3の
対応する番号の処理を示している。
【0040】まず、CPU、キャッシュメモリシステム
共に通常動作をしている状態で、CPUがメモリアクセ
スを発生する。キャッシュメモリシステムは図3の手順
に従って、処理301以下の動作を行う。この場合、タ
グメモリアクセス(302)がヒットせず(303N
O)、この時点でエラーモード設定がない(308N
O)。そこで、エントリ内容確認(310)およびエン
トリ更新(311)後、コピーバックアクセス(31
2)が行われる。このコピーバックアクセスの際にエラ
ーが発生し(305YES)、キャッシュメモリシステ
ムはエラーモードになり(306)、CPUにエラー通
知(307)の応答を行う。
【0041】エラー通知を受けたCPUは、図5の手順
に従ってエラー処理を行う。図6の例では、エラーはハ
ードエラーではなく(502NO)、ダーティデータの
エラーである(504YES)。このため、CPUはデ
ータトレース(507)を行っている。このとき、複数
回のメモリアクセスが発生しうるが、図6では1回のみ
を示してある。メモリアクセスを受けたキャッシュメモ
リシステムは、図3の手順に従って、処理301以下の
動作を行う。キャッシュミス(303NO)の後、今度
はエラーモード(308YES)であるので、主記憶が
アクセスされ(309)、CPUに応答している。
【0042】図6の例では、CPUは失われたデータが
再生可能と判断し(508YES)、再生処理(50
9)を行っている。ここでも、複数回起こりうるメモリ
アクセスのうち、1回のみを示してある。メモリアクセ
スを受けたキャッシュメモリシステムは、処理301以
下の動作を行い、キャッシュヒット(303YES)で
正常終了(304,305NO)なので、キャッシュメ
モリがCPUに応答している。再生処理が終わると、C
PUは、当該エントリを無効化した後(505)、エン
トリ更新を再開し(506)、CPUおよびキャッシュ
メモリシステムが通常動作に戻る。
【0043】以上のように本実施例において、CPU
は、主記憶の記憶内容とキャッシュメモリの記憶内容が
一致しているか否かに無関係に、エラーが回復可能かど
うか等を確認した後、エラー処理を行なうことができ
る。また、停止されたキャッシュメモリのエントリの更
新の再開を、CPUの指令により行なうことにより、エ
ラー処理終了後通常動作に復帰する場合、該復帰を容易
に行なうことができる。
【0044】本発明は、マルチプロセッサシステムにお
いても、各プロセッサごとに有するキャッシュメモリに
対して同様に適用することができる。
【0045】
【発明の効果】本発明によれば、コピーバック方式で制
御されるキャッシュメモリシステムにおいて、キャッシ
ュメモリの内容にエラーが生じたことを検出した場合、
CPUは主記憶の記憶内容とキャッシュメモリの記憶内
容が一致しているか否かに無関係に、エラーが回復可能
かどうか等を確認した後、エラー処理を行なうことがで
き、またエラー処理終了後の通常動作への復帰を容易に
行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すシステム構成を示すブ
ロック図である。
【図2】図1内に示したキャッシュメモリコントローラ
の内部構成を示すブロック図である。
【図3】図2に示したキャッシュメモリコントローラの
動作手順を示すフローチャートである。
【図4】図1内に示したタグメモリの構成例の説明図で
ある。
【図5】図1のシステムにおけるキャッシュメモリのエ
ラー発生時の処理手順を示すフローチャートである。
【図6】図1のシステムにおけるエラー処理の一例を示
す動作シーケンス図である。
【符号の説明】
11…中央処理装置、12…主記憶装置、13…キャッ
シュメモリコントローラ、14…タグメモリ、15…キ
ャッシュメモリ、21…タグメモリ制御回路、22…キ
ャッシュメモリ制御回路、23…メモリエラー検出回
路、24…バス・アドレス制御回路、25…シーケンス
制御回路、26…内部レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 油野 一晴 茨城県日立市大みか町五丁目2番1号 株式会社 日立製作所 大みか工場内 (56)参考文献 特開 昭55−122287(JP,A) 特開 平2−89145(JP,A) 特開 昭56−44181(JP,A) 特開 平1−318129(JP,A) 特開 昭51−113427(JP,A) 特開 昭54−150042(JP,A) 特開 昭55−157180(JP,A) 特開 昭57−179999(JP,A) 特開 昭63−129440(JP,A) 特開 平2−27440(JP,A) 特開 平3−12753(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 12/16 G06F 11/00 G06F 11/14 G06F 11/28 - 11/34

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置と、主記憶装置と、コピーバ
    ック方式で制御されるキャッシュメモリとを備えたキャ
    ッシュメモリシステムにおいて、 キャッシュメモリのエラーを検出するエラー検出手段
    と、 該エラー検出手段によりエラーが検出された後、キャッ
    シュメモリのエントリの更新を停止し、かつ、その時点
    で有効なエントリについては、中央処理装置からのアク
    セスがヒットした場合のみキャッシュメモリとして動作
    するよう制御する制御手段とを備えたことを特徴とする
    キャッシュメモリシステム。
  2. 【請求項2】停止されたキャッシュメモリのエントリの
    更新の再開を、中央処理装置の指令により行なう手段を
    さらに備えたことを特徴とする請求項1に記載のキャッ
    シュメモリシステム。
  3. 【請求項3】中央処理装置と、主記憶装置と、コピーバ
    ック方式で制御されるキャッシュメモリとを備えたキャ
    ッシュメモリシステムにおいて、キャッシュメモリのエ
    ラー検出した後、その時点で有効なエントリについて
    は、中央処理装置からのアクセスがヒットした場合には
    キャッシュメモリへのアクセスを許容し、アクセスがミ
    スした場合にはキャッシュメモリの内容のリプレースを
    行うことなく、主記憶装置をアクセスさせる制御手段を
    備えたことを特徴とするキャッシュメモリシステム。
  4. 【請求項4】中央処理装置の制御下で、主記憶装置の内
    容の一部の写しを保持するキャッシュメモリと該キャッ
    シュメモリに保持された写しのアドレス情報を保持する
    タグメモリとを制御するキャッシュメモリコントローラ
    であって、 前記タグメモリの読み書きを制御するタグメモリ制御手
    段と、 前記キャッシュメモリの読み書きを制御するキャッシュ
    メモリ制御手段と、 前記キャッシュメモリのエラーを検出するエラー検出手
    段と、 該エラー検出手段によりエラーが検出されたとき、エラ
    ー発生を示す情報を保持するエラー保持手段と、 前記中央処理装置の制御下で、前記エラー保持手段の保
    持内容に応じて前記タグメモリ制御手段およびキャッシ
    ュメモリ制御手段の動作を制御するシーケンス制御手段
    とを備え、 前記シーケンス制御手段は、前記エラー保持手段にエラ
    ー発生を示す情報が保持されているとき、前記タグメモ
    リへの新たなアドレス情報の書込みを禁止し、かつ、中
    央処理装置からのアクセスがヒットした場合、前記キャ
    ッシュメモリの読み書きを許容することを特徴とするキ
    ャッシュメモリコントローラ。
  5. 【請求項5】前記エラー保持手段の保持内容を前記中央
    処理装置から変更可能とする手段を設けたことを特徴と
    する請求項4記載のキャッシュメモリコントローラ。
JP00595891A 1991-01-22 1991-01-22 キャッシュメモリシステムおよびキャッシュメモリコントローラ Expired - Fee Related JP3192664B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00595891A JP3192664B2 (ja) 1991-01-22 1991-01-22 キャッシュメモリシステムおよびキャッシュメモリコントローラ
US07/822,110 US5381544A (en) 1991-01-22 1992-01-17 Copyback memory system and cache memory controller which permits access while error recovery operations are performed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00595891A JP3192664B2 (ja) 1991-01-22 1991-01-22 キャッシュメモリシステムおよびキャッシュメモリコントローラ

Publications (2)

Publication Number Publication Date
JPH04237349A JPH04237349A (ja) 1992-08-25
JP3192664B2 true JP3192664B2 (ja) 2001-07-30

Family

ID=11625403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00595891A Expired - Fee Related JP3192664B2 (ja) 1991-01-22 1991-01-22 キャッシュメモリシステムおよびキャッシュメモリコントローラ

Country Status (2)

Country Link
US (1) US5381544A (ja)
JP (1) JP3192664B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2663095A (en) * 1994-06-10 1996-01-05 Sequoia Systems, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
JPH0916472A (ja) * 1995-07-04 1997-01-17 Fujitsu Ltd キャッシュメモリ試験方法
US5815648A (en) * 1995-11-14 1998-09-29 Eccs, Inc. Apparatus and method for changing the cache mode dynamically in a storage array system
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
JP3875749B2 (ja) * 1996-08-08 2007-01-31 富士通株式会社 マルチプロセッサ装置及びそのメモリアクセス方法
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US6802039B1 (en) * 2000-06-30 2004-10-05 Intel Corporation Using hardware or firmware for cache tag and data ECC soft error correction
US8176250B2 (en) * 2003-08-29 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for testing a memory
US7346755B2 (en) * 2003-09-16 2008-03-18 Hewlett-Packard Development, L.P. Memory quality assurance
JP5161696B2 (ja) * 2008-08-07 2013-03-13 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムにおけるエラー回復方法ならびに仮想計算機制御プログラム
JP2012027544A (ja) * 2010-07-20 2012-02-09 Toshiba Corp ライトバックキャッシュを備える情報処理装置、及びその主メモリ診断方法
KR101990971B1 (ko) 2012-01-30 2019-06-19 삼성전자 주식회사 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법
US10089196B2 (en) * 2015-07-14 2018-10-02 Shannon Systems Ltd. Methods for reconfiguring a storage controller when control logic fails and apparatuses using the same
KR102515417B1 (ko) * 2016-03-02 2023-03-30 한국전자통신연구원 캐시 메모리 장치 및 그것의 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0241537A (ja) * 1988-08-02 1990-02-09 Nec Corp キャッシュメモリ制御装置
JPH0266652A (ja) * 1988-08-31 1990-03-06 Nec Corp キャッシュメモリ
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache

Also Published As

Publication number Publication date
US5381544A (en) 1995-01-10
JPH04237349A (ja) 1992-08-25

Similar Documents

Publication Publication Date Title
US7111134B2 (en) Subsystem and subsystem processing method
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
JP4395425B2 (ja) 破損データ値を処理するためのデータ処理装置と方法
JP3987577B2 (ja) システム管理モード情報を他の情報と共にキャッシュに入れる方法および装置
JP3192664B2 (ja) キャッシュメモリシステムおよびキャッシュメモリコントローラ
US5201041A (en) Cache bypass apparatus
CA2127081A1 (en) Processor interface chip for dual-microprocessor processor system
US5684944A (en) Atomic update of EDC protected data
US6108753A (en) Cache error retry technique
JP2540008B2 (ja) デ―タ処理システム及びメモリ手段内のデ―タ・レコ―ド・イメ―ジを有効化する方法
JPH10161938A (ja) ディスク制御装置
US20030037207A1 (en) Disk array apparatus
JP3129224B2 (ja) キャッシュメモリ装置
US6594732B1 (en) Computer system with memory system in which cache memory is kept clean
EP0375864A2 (en) Cache bypass
JPS59214952A (ja) 障害処理方式
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
JPH0784879A (ja) キャッシュメモリ装置
JP2001035096A (ja) 書き込みデータのチェック方法及びこれを用いたデータ記憶装置
JP2000267936A (ja) ディスクサブシステム
JP3450132B2 (ja) キャッシュ制御回路
EP0128353A2 (en) Error recovery of non-store-through cache
JP2637934B2 (ja) キャッシュ制御装置
JP2003140966A (ja) 計算機システムのキャッシュメモリ制御方式
JP3214551B2 (ja) 競合検出故障診断方式、競合検出故障診断方法、バスコンバータ、および記録媒体

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees