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

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

Info

Publication number
JPH04237349A
JPH04237349A JP3005958A JP595891A JPH04237349A JP H04237349 A JPH04237349 A JP H04237349A JP 3005958 A JP3005958 A JP 3005958A JP 595891 A JP595891 A JP 595891A JP H04237349 A JPH04237349 A JP H04237349A
Authority
JP
Japan
Prior art keywords
cache memory
error
memory
central processing
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.)
Granted
Application number
JP3005958A
Other languages
English (en)
Other versions
JP3192664B2 (ja
Inventor
Koichi Okazawa
宏一 岡澤
Ichiji Kobayashi
一司 小林
Kazuharu Yuno
油野 一晴
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

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はC
PU11の外部バスのアドレス線、102はCPU11
の外部バスのデータ線、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からの指示信号205
に従ってCPU11の外部バスのアドレス線101及び
制御線103の制御を行なう。これにより、CPU11
のアクセスへの応答制御が行なわれる。また、シーケン
ス制御回路25からの指示信号205に従ってタグメモ
リ14のデータ線106を、タグメモリ14へのアクセ
ス時と後述のコピーバック動作時にCPU11の外部バ
スのアドレス線101に接続し、またデータ線106の
内容を信号線206によりシーケンス制御回路25に通
知する制御を行なう。
【0027】シーケンス制御回路25はキャッシュメモ
リコントローラ13の動作手順を制御するシーケンサで
ある。市販のキャッシュメモリコントローラのシーケン
サと同様に順序論理回路と組合せ論理回路で構成される
。シーケンス制御回路25は、CPU11がメモリアク
セスまたは内部レジスタ26のアクセスを行なった場合
、バス・アドレス制御回路24から信号線206を介し
てその旨の通知を受ける。CPU11が内部レジスタ2
6のアクセスを行なった場合には、指示信号208に従
ってCPU11の外部バスのデータ線102から内部レ
ジスタ26をアクセスさせる。
【0028】図4に、タグメモリ14のエントリ構成の
一例を示す。この例では、アドレス空間の大きさが4ギ
ガバイト(232)、キャッシュメモリの1ラインの大
きさが16バイト(24)、キャッシュメモリの容量が
256キロバイト(218)、キャッシュメモリのウェ
イ数が1ウェイのダイレクトマッピング方式の場合を想
定する。この場合、タグメモリのエントリ数はキャッシ
ュメモリのライン数に等しく、214個のエントリが存
在する。本実施例では、各エントリはアドレス空間の3
2ビットアドレスA31−A0中のA17−A4の14
ビットを用いてアクセスされる。1エントリは16ビッ
ト(215−20)で構成される。215−22の14
ビットには、アドレスA31−A18の14ビットがタ
グとして格納される。21ビットはVビットまたはバリ
ッドビットと呼ばれ、このVビットが論理値1であると
き、当該エントリが有効であることを示す。20ビット
は、Dビットまたはダーティビットと呼ばれ、このDビ
ット論理値1であるとき、キャッシュメモリの内容と主
記憶の内容が一致していないことを示す。タグメモリ1
4のコンパレータ機能は、215−21の15ビットに
ついて作用し、コンパレートアクセス時に15ビットの
内容が一致したとき、コンパレートステータス線105
がアクティブになる。
【0029】CPU11がメモリアクセスを行なった場
合、キャッシュメモリコントローラ13は図3に示すフ
ローチャートの手順に従って動作する。
【0030】以下、図3を用いて、キャッシュメモリコ
ントローラ13の動作を説明する。CPU11がメモリ
アクセスを行なった場合(301)、バス・アドレス制
御回路24は信号線206によりシーケンス制御回路2
5に通知する。これを受けてシーケンス制御回路25は
、指示信号201及び205を出力してタグメモリ14
へのコンパレートアクセスを行なう(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−A18
の14ビットおよび論理値1のVビットをデータとした
タグメモリのアクセスが行われる。タグメモリ14は、
A17−A4で選択されたエントリのビット215−2
1の内容をデータと比較し、一致したときに限りコンパ
レートステータス線105をアクティブにする。コンパ
レートステータス線105がアクティブのときに限り、
メモリアクセスがキャッシュメモリにヒットしたと判定
される。
【0032】判定303でメモリアクセスがヒットしな
かった場合、シーケンス制御回路25は、信号線207
を参照してエラーモード設定の有無を判定する(308
)。エラーモード設定が行なわれている場合、シーケン
ス制御回路25は、起動制御線109により主記憶装置
12を起動してメモリアクセスへの応答を主記憶に引継
がせて(309)、動作を終了する。エラーモード設定
が行なわれていない場合、シーケンス制御回路25は、
キャッシュメモリの内容のリプレースメントに伴って、
コピーバック方式の特徴であるコピーバック動作を行な
う。
【0033】コピーバック動作では、シーケンス制御回
路25は、まずタグメモリ14へのリードアクセスを行
ない、信号線206によりタグメモリのデータ即ち更新
すべきエントリの内容を確認する(310)。すなわち
、更新すべきエントリについて当該データを主記憶に書
き戻す必要があるか否かをそのVビットおよびDビット
により判定する。次にシーケンス制御回路25は、タグ
メモリ14へのライトアクセスを行ない、CPU11の
メモリアクセスの内容に対応するエントリの更新を行な
う(311)。更にシーケンス制御回路25は、手順3
10で確認したエントリの内容に応じて、一般にコピー
バックアクセスと呼ばれるキャッシュメモリ15と主記
憶12の間でのデータの送受を行なう(312)。コピ
ーバックアクセスではキャッシュメモリ15がアクセス
されるので、キャッシュメモリ15でのメモリエラーが
発生し得る。そこでシーケンス制御回路25は、判定3
05に戻り、指示信号203を出力してキャッシュメモ
リ15へのアクセスにおいてメモリエラーが発生したか
否かを判定する(305)。メモリエラーが発生しなけ
ればキャッシュメモリコントローラ13の動作は終了す
る。メモリエラーが発生した場合は、信号線204によ
って内部レジスタ26にエラーモード設定が行なわれる
(306)。これを受けてシーケンス制御回路25は指
示信号205を出力し、制御線103に割込み信号を出
力する等の手段により、CPU11にメモリエラーの発
生を通知する(307)。
【0034】前記リードアクセス(310)では、タグ
メモリ14の215−20の16ビット全てがリードさ
れ、VビットとDビットの両方が論理値1であるときに
限り、キャッシュメモリの内容が有効でかつ主記憶の内
容と一致していないと判断され、コピーバックアクセス
(312)において、215−22からリードされたA
31−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)。再生不可能
な場合には、通常のシステムエラー処理(503)を行
うことになる。再生可能な場合には、失われたデータの
生成直前まで状態を戻す等の再生処理(509)を行っ
た後、当該エントリの無効化(505)とエントリ更新
の再開(506)とを行って、通常動作に戻る。
【0038】データトレース(507)と再生処理(5
09)では、CPU11がメモリアクセスを行うが、コ
ピーバック方式のキャッシュメモリシステムでは、必要
条件として、有効なエントリについてはキャッシュメモ
リがアクセスされ、かつ他の場合には主記憶がアクセス
されねばならない。また、CPU11のエラー処理が終
了するまでの間は、エラー発生時の状態ができる限り保
存されている必要がある。本発明では、エラー発生時に
はエントリの更新を停止し、かつ、その時点で有効なエ
ントリについてはメモリアクセスのヒット時のみキャッ
シュメモリがアクセスされるようになっているので、上
記の必要条件を満足しており、CPUがエラー処理を容
易に行うことができる。
【0039】図6に、エラー処理時のCPUとキャッシ
ュメモリシステムの動作シーケンスの一例を示す。以下
、同図のフローにしたがって、CPUとキャッシュメモ
リシステムの動作を説明する。図中の番号は、図3の対
応する番号の処理を示している。
【0040】まず、CPU、キャッシュメモリシステム
共に通常動作をしている状態で、CPUがメモリアクセ
スを発生する。キャッシュメモリシステムは図3の手順
に従って、処理301以下の動作を行う。この場合、タ
グメモリアクセス(302)がヒットせず(303NO
)、この時点でエラーモード設定がない(308NO)
。そこで、エントリ内容確認(310)およびエントリ
更新(311)後、コピーバックアクセス(312)が
行われる。このコピーバックアクセスの際にエラーが発
生し(305YES)、キャッシュメモリシステムはエ
ラーモードになり(306)、CPUにエラー通知(3
07)の応答を行う。
【0041】エラー通知を受けたCPUは、図5の手順
に従ってエラー処理を行う。図6の例では、エラーはハ
ードエラーではなく(502NO)、ダーティデータの
エラーである(504YES)。このため、CPUはデ
ータトレース(507)を行っている。このとき、複数
回のメモリアクセスが発生しうるが、図6では1回のみ
を示してある。メモリアクセスを受けたキャッシュメモ
リシステムは、図3の手順に従って、処理301以下の
動作を行う。キャッシュミス(303NO)の後、今度
はエラーモード(308YES)であるので、主記憶が
アクセスされ(309)、CPUに応答している。
【0042】図6の例では、CPUは失われたデータが
再生可能と判断し(508YES)、再生処理(509
)を行っている。ここでも、複数回起こりうるメモリア
クセスのうち、1回のみを示してある。メモリアクセス
を受けたキャッシュメモリシステムは、処理301以下
の動作を行い、キャッシュヒット(303YES)で正
常終了(304,305NO)なので、キャッシュメモ
リがCPUに応答している。再生処理が終わると、CP
Uは、当該エントリを無効化した後(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…内部レジスタ

Claims (7)

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

Similar Documents

Publication Publication Date Title
US7111134B2 (en) Subsystem and subsystem processing method
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US5201041A (en) Cache bypass apparatus
CA2127081A1 (en) Processor interface chip for dual-microprocessor processor system
JPS6367686B2 (ja)
JP2005108222A (ja) 破損データ値を処理するためのデータ処理装置と方法
JPH04237349A (ja) キャッシュメモリシステムおよびキャッシュメモリコントローラ
JPH10161938A (ja) ディスク制御装置
JP3129224B2 (ja) キャッシュメモリ装置
JPH0789328B2 (ja) データ処理装置
JP3083786B2 (ja) メモリ更新履歴保存装置およびメモリ更新履歴保存方法
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
JPH0784879A (ja) キャッシュメモリ装置
EP0128353A2 (en) Error recovery of non-store-through cache
KR100201671B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법
JP3833760B2 (ja) 計算機システム及びメモリ状態復元装置
JP2000181790A (ja) メモリ更新履歴保存装置
JP2791319B2 (ja) データ処理装置
JP3145479B2 (ja) マルチプロセッサシステムとそのキャッシュメモリ制御方法および装置
JPH1027132A (ja) キャッシュメモリ無効化装置
JPH09325912A (ja) 情報処理装置
JPH0341538A (ja) 主記憶装置
JPH06259269A (ja) マルチプロセッサの診断回路
JPH113288A (ja) キャッシュメモリ装置およびキャッシュメモリの障害制御方法

Legal Events

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