JPH0773106A - キャッシュメモリ - Google Patents

キャッシュメモリ

Info

Publication number
JPH0773106A
JPH0773106A JP5242192A JP24219293A JPH0773106A JP H0773106 A JPH0773106 A JP H0773106A JP 5242192 A JP5242192 A JP 5242192A JP 24219293 A JP24219293 A JP 24219293A JP H0773106 A JPH0773106 A JP H0773106A
Authority
JP
Japan
Prior art keywords
bit
entry
memory
parity
fail
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
JP5242192A
Other languages
English (en)
Other versions
JP2701703B2 (ja
Inventor
Mitsuhiro Yamamoto
満博 山本
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 Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP5242192A priority Critical patent/JP2701703B2/ja
Publication of JPH0773106A publication Critical patent/JPH0773106A/ja
Application granted granted Critical
Publication of JP2701703B2 publication Critical patent/JP2701703B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】キャッシュ・メモリ内の記憶素子が故障した場
合に、故障箇所を含むエントリを使用禁止にすること
で、システムの性能を落とさずにキャッシュ・メモリの
正常動作を可能とするキャッシュメモリの提供。 【構成】ウェイが単数のダイレクトマップ方式、又は複
数ウェイを有するセットアソシアティブ方式のキャッシ
ュメモリにおいて、前記ウェイを構成するエントリ毎に
エントリが有効か無効かを示す手段を備え、該手段が無
効を示すエントリの使用を禁止することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリに関
し、特に信頼性の高いキャッシュメモリに関する。
【0002】
【従来の技術】従来のキャッシュメモリを図面を参照し
て以下に説明する。図5は、一般的なキャッシュメモリ
方式の構成概念を示すブロック図を示している。同図に
示すように、キャッシュメモリ方式においては、CPU
1から要求に応じてメインメモリ2のうち使用頻度の高
いデータを高速のメモリであるキャッシュメモリ3に記
憶し、CPU1からのアクセスに対して、メインメモリ
2に代わってデータの読み出し/書き込みが高速に行わ
れる。
【0003】また、例えば特開平1−228036に
は、不良ビットが存在しても、それによる誤動作を防止
でき、その結果不良品を良品にすることができるような
キャッシュメモリとして、図6に示すように、4ウェイ
・セット・アソシアティブ方式のキャッシュメモリが開
示されている。
【0004】図6において、CPU1の要求アドレス4
は、アドレス・タグ4aと、セット・セレクト4bと、
ワード・セレクト4cとから構成されている。
【0005】アドレス・タグ4aは、アドレス・タグ比
較器8に与えられ、セット・セレクト4bはアドレス・
タグメモリ5、データメモリ7及びLRU12に与えら
れる。ワード・セレクト4cはワードセレクタ9に与え
られる。
【0006】アドレス・タグメモリ5は、CPU1から
出力された要求アドレス4のタグ部分を複数個記憶し、
データメモリ7はアドレス・タグメモリ5内のアドレス
に対応するデータを複数個記憶している。
【0007】チェックビット13は、各ウェイのアドレ
ス・タグメモリ5にそれぞれ付加され、対応するアドレ
ス・タグメモリ5が有効か無効かを示す。
【0008】アドレス・タグメモリ5及びデータメモリ
7のアクセスは、セット・セレクト4bに基づいて行わ
れる。すなわち、セット・セレクト4bによって選択さ
れたアドレス・タグメモリ5の記憶領域からタグアドレ
スおよびチェックビット13の内容が読み出されてアド
レス・タグ比較器8に与えられ、チェックビット13の
内容はLRU12にも与えられる。また、セット・セレ
クト4bによって選択されたデータメモリ7の記憶領域
からデータ・ブロックが読み出されてワードセレクタ9
に与えられる。
【0009】ワード・セレクタ9は、与えられるワード
・セレクト4cに基づいて、1つのデータ・ブロック中
に含まれる複数ワードのうち、1又は複数のワードを選
択してウェイセレクタ10に与える。
【0010】一方、アドレス・タグ比較器8は、CPU
1から現在要求されているアドレス4のアドレス・タグ
4aと、アドレス・タグメモリ5から読み出されたタグ
アドレスとを比較し、一致しているか否かを検出する。
一致検出を行う際、チェックビット13の内容が無効を
示していた場合、ヒット信号はミスヒットを示し、チェ
ックビット13の内容が有効を示していた場合、アドレ
ス・タグ4aとアドレス・タグメモリ5から読み出され
たタグアドレスの比較結果を示し、ウェイセレクタ10
に与えられる。
【0011】チェックビット13の内容が無効を示した
場合、LRU12は対応したウェイを書き込み対象から
外す。チェックビット13の値の設定はレーザーでカッ
トする方法がある。なお、LRU12はLeast Recently
Usedアルゴリズムに従ってどのウェイのアドレス・タ
グメモリ5及びデータメモリ7を書き換えるかを制御し
ている。
【0012】このキャッシュメモリでは、チェックビッ
ト13の内容が無効を示している場合、対応するウェイ
は使用不可能となり、キャッシュメモリはその他の正常
なウェイだけキャッシュ動作を行うことになる。
【0013】したがって、メモリ内に不良ビットが存在
しても、チェックビット13を無効に設定することで、
キャッシュメモリを正常に動作させることが可能とな
る。
【0014】
【発明が解決しようとする課題】しかしながら、前記特
開平1−228036(「従来例」という)のキャッシ
ュメモリには、下記の3つの重大な問題点がある。
【0015】従来例の第1の問題点は、不良ビットが発
生した場合のキャッシュメモリの性能低下が著しいとい
う点である。すなわち、従来例の4ウェイのセット・ア
ソシアティブ方式のキャッシュメモリにおいては、メモ
リに1ビットでも不良が発生したウェイは無効化される
ため、ウェイ数は4ウェイが3ウェイに、2ウェイが1
ウェイのダイレクトマップになり、したがって無効化後
のキャッシュメモリ容量は4ウェイの場合は75%、2
ウェイの場合は50%に低下する。
【0016】また、不良発生前のキャッシュ容量が4K
バイトの場合、4ウェイ(1ウェイ当たり1Kバイト)
のヒット率は91%、2ウェイ(1ウェイ当たり2Kバ
イト)のヒット率は90%であるのに対して、1ビット
不良発生後には、4ウェイのヒット率は89%、2ウェ
イのヒット率は85%に低下することが実験により求め
られている(例えば、John L.Hennesy, David A.Patter
son著, "Computer Architecture A Quantitative Appro
ach", 1990 by Morgan Kaufman Publishers, Inc.刊、
第421〜422頁、 図8.12及び8.13等参照)。
【0017】前記従来例の第2の問題点は、キャッシュ
メモリ・システムの信頼性が低い点である。従来のキャ
ッシュメモリの構成では不良が発生するたびにウェイ数
が1減少することになる。すなわち、キャッシュメモリ
・システムが動作可能な不良発生回数はウェイ数から1
減じた値となる。4ウェイ方式のキャッシュメモリ・シ
ステムの場合、不良が4回発生すると使用可能なキャッ
シュメモリは存在しなくなり、キャッシュメモリが動作
できなくなる。
【0018】さらに、前記従来例の第3の問題点は、ダ
イレクトマップ方式のキャッシュメモリ・システムには
適用できない点である。前記従来例をダイレクトマップ
方式(1ウェイ方式)で使用した場合、不良が1回発生
すると使用可能なキャッシュメモリが存在しなくなり、
キャッシュメモリが動作不可能になる。
【0019】したがって、本発明は前記問題点を解消
し、キャッシュメモリ内の記憶素子が故障した場合に故
障箇所を含むエントリを使用禁止にすることで、システ
ムの性能を落とさずにキャッシュ・メモリの正常動作を
可能とするキャッシュメモリを提供することを目的とす
る。
【0020】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、ウェイが単数のダイレクトマップ方式、
又は複数ウェイを有するセット・アソシアティブ方式の
キャッシュメモリにおいて、前記ウェイを構成するエン
トリ毎にエントリが有効か無効かを示す手段を設け、該
手段が無効を示すエントリの使用を禁止することを特徴
とするキャッシュメモリを提供する。
【0021】また、本発明は、エントリが有効か無効か
を示す手段が、マイクロプロセッサの所定の命令により
書き込み及び読み出しが制御されるビットフラグで構成
されたキャッシュメモリを提供する。
【0022】さらに、本発明は、エントリが有効か無効
かを示す手段が、複数のビットフラグから成り、同一エ
ントリに複数回メモリ不良が発生した時に該エントリの
無効を示すように構成されたキャッシュメモリを提供す
る。
【0023】そして、本発明は、好ましい実施態様とし
て、請求項4、5に記載のキャッシュメモリの構成を提
供する。
【0024】
【実施例】図面を参照して、本発明の実施例を以下に説
明する。
【0025】
【実施例1】図1を参照して、本発明の第1の実施例に
ついて説明する。図1には、本発明に係るウェイが単数
のダイレクトマップ方式のキャッシュメモリの構成を示
すブロック図が示されている。本実施例においては、不
良メモリアレイを示すビットへの書き込みは、マイクロ
プロセッサ側のソフトウェア制御によって行われる。
【0026】図1に示すように、メモリアレイ21a
は、アドレス・タグを格納するTag、アドレスタグT
agのパリティを格納するTagP、アドレスタグに対
応するデータを格納するData、データのパリティを
格納するDataP、特定アドレスに対してエントリを
無効化することを示すフラグであるバリッドビット(Va
lid_bit)、及び、メモリアレイ21aのエントリの不
良を示すフェイルビット(fail_bit)から構成されてい
る。
【0027】なお、メモリアレイ21aの各エントリ
は、例えば図6に示す要求アドレス4の下位アドレスで
あるセット・セレクト4bに基づいてアクセスされる。
【0028】メモリアレイ21a内の各エントリ毎に設
けられたバリッドビットとは、不図示のメインメモリと
キャッシュメモリが保持するデータとが互いに異なるこ
とを示すフラグで、通常、DMA(ダイレクト・メモリ
・アクセス)によりメインメモリの内容が書き換えられ
た場合に、不図示のDMAコントローラがバリッドビッ
トをセットする。あるいは、ライトバック方式のキャッ
シュメモリにおいては、マイクロプロセッサから部分ワ
ードの書き込みが行なわれる場合、メインメモリにデー
タが直接書き込まれ、キャッシュメモリには、該当する
エントリが保持するデータがこの書き込みによって無効
となったことを示すために、プロセッサがバリッドビッ
トをセットする。
【0029】また、エントリ毎に設けられたフェイルビ
ットは、該エントリのメモリが正常に読み書きできない
という物理的な不良の存在を示すフラグである。
【0030】双方向バッファ22は、メモリアレイ21
a内のフェイルビットの読み出し書き込み用のバッファ
である。
【0031】比較器23は、要求アドレス4(図6参
照)の上位アドレス40とこの上位アドレス40に対す
る下位アドレスのセット・セレクト4bで選択されたメ
モリアレイ21a内のアドレス・タグTagの読み出し
内容とを比較し、両者が同一の場合、比較結果“1”を
出力する。
【0032】OPコード44は、本実施例に係るキャッ
シュメモリとともに用いられるマイクロプロセッサ(図
5参照)の命令コードであり、デコーダ24は、マイク
ロプロセッサから転送されたOPコード44をデコード
する。
【0033】バスバッファ25は、メモリアレイ21a
内のフェイルビットの外部データバス45への読み出し
用のバッファである。
【0034】上位アドレス40は、キャッシュメモリを
アクセスする際のアドレスであり、メモリアレイ21a
内のアドレス・タグTagと対応している。
【0035】信号41は、比較器23の入力が不一致、
すなわち比較器23の出力が“0”、又はメモリアレイ
21a内のバリッドビットの値が“1”の場合に、キャ
ッシュのミスヒットを通知する信号である。
【0036】セット・フェイルビット(set_fail_bit)
信号42は、デコーダ24のデコード出力信号であり、
双方向バッファ22の出力制御端子に接続され、メモリ
アレイ21aに対して双方向バッファ22を書き込み方
向に制御し、図示の如く、“1”が双方向バッファ22
を介してメモリアレイ21aに伝達される。
【0037】ストア・フェイルビット(store_fail_bi
t)信号43は、デコーダ24のデコード出力信号であ
り、バスバッファ25のゲートを開けメモリアレイ21
a内のフェイルビットの読み出し制御を行い、外部デー
タバス45を介してバスバッファ25の出力が読み出さ
れる。なお、フェイルビットの読み出し時、双方向バッ
ファ22は読み出し方向に制御される。
【0038】図1において、例えばメモリアレイ21a
内の同一箇所で複数回パリティエラーが発生する等によ
り、メモリアレイ21a内で不良ビットの存在が検出さ
れると、割込み信号によりマイクロプロセッサ上で現在
実行中のプログラムの流れを変更し、メモリアレイ21
a内の不良箇所の処理を行う。
【0039】具体的には、マイクロプロセッサが処理プ
ログラム内でメモリアレイ21a内のフェイルビットへ
の書き込み命令SF(Set_Fail_bit)を実行すると、デ
コーダ24で該命令がデコードされ、セット・フェイル
ビット(set_fail_bit)信号42がアクティブとなり、
メモリアレイ21a内の不良エントリに対応するフェイ
ルビット(fail_bit)位置にメモリエントリの不良を示
す情報である“1”が書込まれる。
【0040】メモリアレイ21aからタグアドレスが読
出され、上位アドレス40と比較器23で比較される際
に、メモリアドレス21a内のフェイルビットの内容が
“1”である場合、比較器23の比較結果に関わらずミ
スヒット信号41がアクティブとなりキャッシュのミス
ヒットを示し、このためメインメモリからデータがロー
ドされる。
【0041】本発明のキャッシュメモリを用いたシステ
ムの電源を落とす場合、メモリアレイ21a内のフェイ
ルビットの内容を保持しておく必要がある。マイクロプ
ロセッサがプログラム内でフェイルビットの読み出し命
令STF(STore Fail_bit)を実行すると、デコーダ2
4によりストアフェイルビット信号43がアクティブと
なり、メモリアレイ21a内のフェイルビットの内容が
データバス45に出力され、この情報は外部記憶装置に
格納保持される。
【0042】
【実施例2】次に、図2、及び3を参照して、本発明の
第2実施例について説明する。
【0043】図2には、本発明の第2の実施例に係るダ
イレクトマップ方式のキャッシュメモリの構成を示すブ
ロック図が示されている。本発明の第2の実施例では、
不良メモリアレイを示すビットへの書き込みはハードウ
ェアで行われる。また、図3には、図2の動作を示すタ
イミング図が示されている。
【0044】図2に示すように、メモリアレイ21b
は、前記第1の実施例の内メモリアレイ21aに更にフ
ェイル・ビフォアビット(fail_before_bit)を追加し
た構成から成る。
【0045】双方向バッファ22は、メモリアレイ21
b内のフェイルビット(fail_bit)の読み出し及び書き
込み用のバッファである。
【0046】符号23は、上位アドレス40とこの上位
アドレス40に対する下位アドレスで選択されたメモリ
アレイ21b内のアドレス・タグTagの読み出し内容
とを比較し、入力が同じ場合、比較結果“1”を出力す
る比較器である。
【0047】双方向バッファ26は、メモリアレイ21
b内のフェイル・ビフォアビット(fail_before_bit)
の読み出し及び書き込み用のバッファである。
【0048】ラッチ27は、メモリアレイ21bの読み
出しサイクル時にパリティ・エラー信号47をラッチ
し、ラッチ28は、メモリアレイ21bの読み出しサイ
クル時にメモリアレイ21b内のフェイル・ビフォアビ
ットの内容をラッチする。
【0049】パリティ・ジェネレータ29は、メモリア
レイ21b内のアドレス・タグTagのパリティを計算
し、パリティ・ジェネレータ30は、メモリアレイ21
b内のデータDataのパリティを計算する。
【0050】比較器31は、パリティ・ジェネレータ2
9のパリティ計算結果とメモリアレイ21b内のアドレ
ス・タグTagのパリティTagPの値とを比較し、こ
れらが互いに異なる場合に比較結果“0”を出力する。
また、比較器32はパリティ・ジェネレータ30のパリ
ティ計算結果とメモリアレイ21b内のDataのパリ
ティDataPの値を比較し、両者が異なる場合、比較
結果“0”を出力する。
【0051】ラッチ33は、メモリアレイ21bの読み
出しサイクル時にメモリアレイ21b内のフェイルビッ
ト(fail_bit)の内容をラッチする。
【0052】符号40は、キャッシュメモリをアクセス
する際のアドレスであり、メモリアレイ21b内のTa
gに対応する上位アドレスである。
【0053】信号41は、比較器23の比較結果が不一
致又はメモリアレイ21b内のバリッドビット(Valid_
bit)の値が“1”の場合にキャッシュ・ミスヒットを
示す信号である。
【0054】信号46は、メモリアレイ21bの読み出
しおよび書き込みを制御するキャッシュ・リード/ライ
ト(cache_read/ ̄write)信号である。なお、信号名に
付された記号“ ̄”は、該信号が低レベルでアクティブ
であることを示し、信号46は低レベルの時にキャッシ
ュの書き込みを、高レベルの時に読み出しを制御する。
【0055】パリティ・エラー信号47は、メモリアレ
イ21b内のTagのパリティ計算結果とTagP、又
はメモリアレイ21b内Dataのパリティ計算結果と
DataPのいずれか一方が不一致の場合、すなわち、
比較器31,32のいずれか一方の出力が“0”の時
に、“1”となる。パリティ・エラー信号47は、ラッ
チ27のデータ入力端子に接続される。
【0056】また、信号48は、キャッシュ・リード/
ライト(cache_read/ ̄write)信号46とラッチ33の
出力を入力とするORゲートの出力信号であり、メモリ
アレイ21b内のフェイルビット(fail_bit)専用の読
み出し及び書き込みを制御するフェイルビット・リード
/ライト(fail_bit_read/ ̄write)信号である。
【0057】次に、本発明の第2の実施例の動作を、図
2、図3を参照して説明する。
【0058】初期状態時、メモリアレイ21b内のフェ
イルビット(fail_bit)、及びフェイル・ビフォアビッ
ト(fail_before_bit)の値はすべて“0”である。
【0059】図3に示すように、メモリアクセスのサイ
クル1では、前半の読み出しサイクル中において、メモ
リアレイ21bの特定のエントリが読み出されパリティ
チェックの結果パリティ・エラーが発生し、パリティ・
エラー信号47がアクティブとなる。
【0060】パリティ・エラー信号47は、キャッシュ
・リード/ライト(cache_read/ ̄write)信号46の立
ち下がりでラッチ27に取り込まれ、サイクル1の後半
の書き込みサイクルでメモリアレイ21b内のフェイル
・ビフォアビット(fail_before_bit)に書込まれる。
【0061】本実施例においては、メモリアレイ21b
内にて、図3に示すように、パリティエラーがサイクル
1で発生した場合、直ちにメモリ不良とせず、再度同一
箇所がアクセスされ再びパリティ・エラーが発生した場
合にのみ、エントリの無効が判定される。これにより、
メモリ不良検出の確度を高めている。
【0062】したがって、図3のサイクル2では、サイ
クル1と同一のエントリが再度アクセスされ、パリティ
チェックの結果パリティ・エラーが再び発生している。
パリティ・エラー信号47は、キャッシュ・リード/ラ
イト(cache_read/ ̄write)信号46の立ち下がりでラ
ッチ27に保持される。
【0063】また、メモリアレイ21b内のフェイル・
ビフォアビットの値は、キャッシュ・リード/ライト
(cache_read/ ̄write)信号6の立ち下がりでラッチ2
8に保持され、サイクル2の後半でメモリアレイ21b
内の該当するフェイルビット(fail_bit)に書込まれ
る。
【0064】なお、一度メモリアレイ21b内のフェイ
ルビットに“1”が書込まれると、書き込みサイクル時
にフェイルビット・リード/ライト(fail_bit_read/
 ̄write)信号48はマスクされ、メモリアレイ21b
内のフェイルビットへの書き込みができなくなる。
【0065】図3のサイクル3では、パリティ・エラー
は発生していないが、サイクル2でメモリアレイ21b
内のフェイルビットに“1”が書込まれているため、ミ
スヒット信号41がアクティブとなる。
【0066】
【実施例3】次に、本発明の第3実施例について説明す
る。
【0067】図4には、本発明の実施例に係る4ウェイ
・セット・アソシアティブ方式のキャッシュメモリの構
成を示すブロック図が示されている。
【0068】図4において、フェイルビット14以外は
図6に示した前記従来例と同等なので説明を省略する。
【0069】フェイルビット14はアドレス・タグ5の
エントリに対して1対1に対応するビットで、各エント
リが有効か無効かを示す。
【0070】キャッシュメモリ・リードの場合、アドレ
ス・タグ4aに対応するアドレス・タグメモリ5、フェ
イルビット14が読み出され、アドレス・タグ4aとア
ドレス・タグメモリ5とがアドレス・タグ比較器8で比
較される。
【0071】アドレス・タグ比較器8における比較結果
が一致し且つフェイルビット14の内容が有効の場合は
キャッシュヒットとなる。比較結果が不一致、又はフェ
イルビット14の内容が無効を示す場合はキャッシュミ
スヒットとなる。
【0072】フェイルビット14の内容が無効でキャッ
シュミスヒットとなり、書き込み対象エントリを決める
場合、フェイルビット14の内容が無効を示すエントリ
を書き込み対象から外す制御を行う。
【0073】なお、図4の4ウェイ・セット・アソシア
ティブ方式のキャッシュメモリにおいては、前記第1又
は第2の実施例で説明したメモリアレイ及びフェイルビ
ット制御回路が実装されており、不良が検出されたエン
トリへのフェイルビットの書き込みがソフトウェア制御
又はハードウェア制御により行なわれる。
【0074】以上、本発明の実施例に係るキャッシュメ
モリにおいては、メモリに1ビット不良が発生した場合
に、特定ウェイの特定エントリのみが無効化されるた
め、無効化前のキャッシュメモリ容量が4Kバイトの場
合、無効化によって元の容量の99.90%の容量とな
り、性能低下は皆無と言ってよい。
【0075】より詳細には、1エントリが1ワード(4
バイト)、データ領域が4Kバイトのキャッシュにおい
て、総エントリは1024本で、1エントリに不良が発
生しエントリ数が1023本になった場合、メモリ容量
は元の容量の99.90%となり、無効化によって容量
は僅か0.1%減少するだけである。
【0076】また、本実施例においては、不良発生によ
りウェイ数が減少することはなく、また、キャッシュシ
ステムは1ウェイのエントリ数回の不良が発生するまで
正常動作する。
【0077】一般的なキャッシュメモリ・システムで
は、1ウェイ当たりのエントリ数は少なくても256程
度あるため、従来例の4ウェイ構成では、最悪4回(毎
回異なるウェイに不良が発生する)でキャッシュ動作が
できなくなるのに対して、本実施例では最悪256回
(特定ウェイで毎回異なるエントリに不良が発生)で動
作不能となり、したがって信頼性を定量的に評価する
と、本実施例に係るキャッシュメモリは前記従来例より
256/4=64倍も信頼性を向上している。
【0078】さらに、本発明を1ウェイのダイレクトマ
ップ方式のキャッシュメモリ・システムに適用した場
合、前記第1、2の実施例に説明したように、エントリ
単位の無効化を管理するため、不良が発生した場合、エ
ントリ数が減るだけで、キャッシュシステムとして使用
可能である。
【0079】なお、本発明は、以上説明したように、多
様な実施例を提供しているが、本発明の原理に準ずる他
の実施例をも含む。
【0080】
【発明の効果】以上説明したとおり、本発明のキャッシ
ュメモリは、前記従来のキャッシュメモリについて掲げ
た重大且つ基本的問題点を全て解決するものである。
【0081】すなわち、本発明によれば、前記第1の問
題点に対して、不良ビットが発生した場合でも、ほとん
ど性能低下を生じない。すなわち、本発明では、メモリ
に1ビット不良が発生した場合に、特定ウェイの特定エ
ントリのみが無効化されるため、無効化前のキャッシュ
メモリ容量が4Kバイトの場合、無効化によって容量は
僅か0.1%低下するだけであり、性能低下は皆無と言
ってよい。
【0082】また、本発明では不良ビットの無効化をエ
ントリ単位に行うため、ウェイ数の減少という問題は存
在せず、したがって、以上の2点から、本発明において
は、キャッシュメモリ・システムの性能指標であるヒッ
ト率は無効化前と変わらないという利点を有する。
【0083】さらに、本発明は、前記第2の問題点を解
決し、キャッシュメモリ・システムの高信頼性を達成す
るものである。すなわち、前記従来例では不良が発生す
るたびにウェイ数が減少し、ウェイ数回不良が発生する
とキャッシュメモリ・システムが動作しなくなるのに対
して、本発明においては、不良発生によりウェイ数が減
少することはなく、また、キャッシュシステムは1ウェ
イのエントリ数回の不良が発生するまで正常動作する。
【0084】ところで、一般的なキャッシュメモリ・シ
ステムでは、1ウェイ当たりのエントリ数は少なくても
256程度あるため、本発明は、従来の4ウェイ構成の
キャッシュメモリより64倍も信頼性を向上している。
【0085】さらにまた、本発明は、前記第3の問題点
を解決し、ダイレクトマップ方式のキャッシュメモリ・
システムにも適用可能である。すなわち、本発明はエン
トリ単位に無効化を管理するため、不良が発生しても、
エントリ数が減少するだけで、キャッシュ・システムと
して使用可能であるとい利点を有する。
【0086】そして、本発明は、エントリ毎にエントリ
の無効を示すビットを複数設けメモリ不良検出の確度を
高める構成を提供し、キャッシュメモリ・システム全体
の効率及び信頼性を著しく高めるものである。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るキャッシュメモリ
の構成を示すブロック図である。
【図2】本発明の第2の実施例に係るキャッシュメモリ
の構成を示すブロック図である。
【図3】本発明の第2の実施例の動作を示すタイミング
図である。
【図4】本発明の第3の実施例に係る4ウェイ・セット
・アソシアティブ方式のキャッシュメモリの構成を示す
ブロック図である。
【図5】キャッシュメモリ方式の概略構成を示す概念図
である。
【図6】従来の4ウェイ・セット・アソシアティブ方式
のキャッシュメモリの構成を示すブロック図である。
【符号の説明】
1 CPU 2 メインメモリ 3 キャッシュメモリ 4 要求アドレス 4a アドレス・タグ 4b セット・セレクト 4c ワード・セレクト 5 アドレス・タグメモリ 7 データメモリ 8 アドレス・タグ比較器 9 ワードセレクタ 10 ウェイセレクタ 12 LRU 13 チェックビット 14 フェイルビット 21a,21b メモリアレイ 22,26 双方向バッファ 23,31,32 比較器 24 デコーダ 25 バスバッファ 27,28,33 ラッチ 29,30 パリティ・ジェネレータ 40 上位アドレス 41 ミスヒット信号 42 セット・フェイルビット(set_fail_bit)信号 43 ストア・フェイルビット(store_fail_bit)信号 44 OPコード 45 外部データバス 46 キャッシュ・リード/ライト(cache_read/ ̄wri
te)信号 47 パリティ・エラー信号 48 フェイルビット・リード/ライト(fail_bit_rea
d/ ̄write)信号

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ウェイが単数のダイレクトマップ方式、又
    は複数ウェイを有するセット・アソシアティブ方式のキ
    ャッシュメモリにおいて、前記ウェイを構成するエント
    リ毎にエントリが有効か無効かを示す手段を備え、該手
    段が無効を示すエントリの使用を禁止することを特徴と
    するキャッシュメモリ。
  2. 【請求項2】前記エントリが有効か無効かを示す手段
    が、マイクロプロセッサの所定の命令により書き込み及
    び読み出しが制御されるビットフラグで構成されたこと
    を特徴とする請求項1記載のキャッシュメモリ。
  3. 【請求項3】前記エントリが有効か無効かを示す手段
    が、複数のビットフラグから成り、同一エントリに複数
    回メモリ不良が発生した時に該エントリの無効を示すよ
    うに構成されたことを特徴とする請求項1記載のキャッ
    シュメモリ。
  4. 【請求項4】前記エントリが、アドレス・タグ、アドレ
    ス・タグのパリティ情報を格納するタグ・パリティ、デ
    ータメモリ、データのパリティ情報を格納するデータパ
    リティ、エントリの無効を示すフラグであるバリッドビ
    ット、及びエントリ内におけるメモリ不良の存在を示す
    フラグであるフェイルビットから成り、該エントリを複
    数含むメモリアレイと、 前記アドレス・タグと上位アドレスとを比較する比較器
    と、 前記比較器の出力と、フェイルビット、及びバリッドビ
    ットとに基づきミスヒット信号を出力するゲート手段
    と、 マイクロプロセッサのフェイルビット書き込み命令及び
    読み出し命令をデコードし前記メモリアレイに対しフェ
    イルビットの書き込み及び読み出しを制御する信号を出
    力するデコード手段と、を備え、 メモリ不良のエントリ検出時に、前記マイクロプロセッ
    サが前記フェイルビット書き込み命令を実行し、前記メ
    モリ不良のエントリのフェイルビットをオンにセットす
    るように構成されて成る請求項2記載のキャッシュメモ
    リ。
  5. 【請求項5】前記エントリが、アドレス・タグ、アドレ
    ス・タグのパリティ情報を格納するタグ・パリティ、デ
    ータメモリ、データのパリティ情報を格納するデータパ
    リティ、エントリの無効を示すバリッドビット、エント
    リ内におけるメモリ不良の存在を示すフェイルビット及
    びフェイル・ビフォアビットから成り、該エントリを複
    数含むメモリアレイと、 前記アドレス・タグのパリティを生成する第1のパリテ
    ィ生成器と、 前記データのパリティを生成する第2のパリティ生成器
    と、 前記第1のパリティ生成器と前記タグ・パリティを入力
    とする第1の比較器と、 前記第2のパリティ生成器と前記データ・パリティを入
    力とする第2の比較器と、 前記第1及び第2の比較器の出力を入力しパリティ・エ
    ラー信号を出力する第1のゲート手段と、 前記第1のゲート手段の出力であるパリティ・エラー信
    号をキャッシュ書き込み信号で取り込み、これを一旦メ
    モリアレイのメモリ不良のエントリのフェイル・ビフォ
    アビットに出力する第1のラッチ回路と、 前記メモリ不良のエントリに格納されたフェイル・ビフ
    ォアビットをキャッシュ読み出し信号で取り込み、これ
    を対応のエントリのフェイルビットに出力する第2のラ
    ッチ回路と、 前記フェイルビットを取り込みこれを保持する第3のラ
    ッチ回路と、 前記キャッシュ書き込み信号と前記第3のラッチ回路の
    出力を入力し、メモリアレイのフェイルビットへの書き
    込みをマスクする第2のゲート手段と、 アドレス・タグと上位アドレスとを比較する比較器と、 前記エントリのフェイルビット、前記バリッドビット、
    及び前記比較器の出力に基づきミスヒット信号を出力す
    る第3のゲート手段と、を備え、 前記ファイル・ビフォアビットが“1”のエントリにつ
    いて再度パリティ・エラーが検出された時に、該エント
    リのフェイルビットに基づき前記ミスヒット信号をアク
    ティブとする請求項3記載のキャッシュメモリ。
JP5242192A 1993-09-03 1993-09-03 キャッシュメモリ Expired - Lifetime JP2701703B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5242192A JP2701703B2 (ja) 1993-09-03 1993-09-03 キャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5242192A JP2701703B2 (ja) 1993-09-03 1993-09-03 キャッシュメモリ

Publications (2)

Publication Number Publication Date
JPH0773106A true JPH0773106A (ja) 1995-03-17
JP2701703B2 JP2701703B2 (ja) 1998-01-21

Family

ID=17085663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5242192A Expired - Lifetime JP2701703B2 (ja) 1993-09-03 1993-09-03 キャッシュメモリ

Country Status (1)

Country Link
JP (1) JP2701703B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100492041B1 (ko) * 1996-11-14 2005-08-25 프리스케일 세미컨덕터, 인크. 캐시를구비한데이터처리시스템및그방법
JP2012503263A (ja) * 2008-09-30 2012-02-02 インテル・コーポレーション 低電圧動作時のキャッシュ部分のディセーブル
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations
US10963344B2 (en) 2019-05-28 2021-03-30 Kabushiki Kaisha Toshiba Information processing circuitry, information processing method, and non-transitory computer readable medium
CN113218051A (zh) * 2021-05-13 2021-08-06 海信(山东)空调有限公司 更新室外机运行数据的方法、空调器和计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370354A (ja) * 1986-09-11 1988-03-30 Fujitsu Ltd アドレス変換装置
JPS647144A (en) * 1987-06-30 1989-01-11 Toshiba Corp Cache memory control system
JPH04273348A (ja) * 1991-02-28 1992-09-29 Nec Corp キャッシュ・メモリ
JPH05120138A (ja) * 1991-10-24 1993-05-18 Hitachi Ltd キヤツシユメモリ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370354A (ja) * 1986-09-11 1988-03-30 Fujitsu Ltd アドレス変換装置
JPS647144A (en) * 1987-06-30 1989-01-11 Toshiba Corp Cache memory control system
JPH04273348A (ja) * 1991-02-28 1992-09-29 Nec Corp キャッシュ・メモリ
JPH05120138A (ja) * 1991-10-24 1993-05-18 Hitachi Ltd キヤツシユメモリ装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100492041B1 (ko) * 1996-11-14 2005-08-25 프리스케일 세미컨덕터, 인크. 캐시를구비한데이터처리시스템및그방법
JP2012503263A (ja) * 2008-09-30 2012-02-02 インテル・コーポレーション 低電圧動作時のキャッシュ部分のディセーブル
JP2014041647A (ja) * 2008-09-30 2014-03-06 Intel Corp 低電圧動作時のキャッシュ部分のディセーブル
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations
US10528473B2 (en) 2008-09-30 2020-01-07 Intel Corporation Disabling cache portions during low voltage operations
US10963344B2 (en) 2019-05-28 2021-03-30 Kabushiki Kaisha Toshiba Information processing circuitry, information processing method, and non-transitory computer readable medium
CN113218051A (zh) * 2021-05-13 2021-08-06 海信(山东)空调有限公司 更新室外机运行数据的方法、空调器和计算机存储介质
CN113218051B (zh) * 2021-05-13 2022-12-06 海信空调有限公司 更新室外机运行数据的方法、空调器和计算机存储介质

Also Published As

Publication number Publication date
JP2701703B2 (ja) 1998-01-21

Similar Documents

Publication Publication Date Title
US6205521B1 (en) Inclusion map for accelerated cache flush
US8977820B2 (en) Handling of hard errors in a cache of a data processing apparatus
US8103830B2 (en) Disabling cache portions during low voltage operations
KR102421311B1 (ko) 태그 매칭 명령에 응답하는 저장회로
US7987407B2 (en) Handling of hard errors in a cache of a data processing apparatus
JP4395425B2 (ja) 破損データ値を処理するためのデータ処理装置と方法
US6868472B1 (en) Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory
JP3718302B2 (ja) 命令取り出し方法および装置
US8117395B1 (en) Multi-stage pipeline for cache access
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US8190973B2 (en) Apparatus and method for error correction of data values in a storage device
KR100273907B1 (ko) 컴퓨터에 의해 사용되는 캐쉬내의 결함을 제거하기 위한 방법
JP2012103826A (ja) キャッシュメモリシステム
US10528473B2 (en) Disabling cache portions during low voltage operations
US20090019306A1 (en) Protecting tag information in a multi-level cache hierarchy
JPH09146836A (ja) キャッシュ索引の障害訂正装置
US20020087825A1 (en) Error detection in cache tag array using valid vector
JP2004030527A (ja) 記憶制御装置、および記憶制御方法
JP2701703B2 (ja) キャッシュメモリ
JPH10161938A (ja) ディスク制御装置
EP1622001A2 (en) Branch prediction device and control method thereof
US8504776B2 (en) Device and method for controlling caches
JP2000305840A (ja) キャッシュメモリ及びその障害検出方法
JPH01228036A (ja) キャッシュメモリ
EP0432807A2 (en) Microprocessor having internal cache memory

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970902