JPS63269244A - キヤシユメモリ制御方式 - Google Patents

キヤシユメモリ制御方式

Info

Publication number
JPS63269244A
JPS63269244A JP62105078A JP10507887A JPS63269244A JP S63269244 A JPS63269244 A JP S63269244A JP 62105078 A JP62105078 A JP 62105078A JP 10507887 A JP10507887 A JP 10507887A JP S63269244 A JPS63269244 A JP S63269244A
Authority
JP
Japan
Prior art keywords
cache memory
cache
data
memory
error
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.)
Pending
Application number
JP62105078A
Other languages
English (en)
Inventor
Katsu Ueda
植田 克
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 JP62105078A priority Critical patent/JPS63269244A/ja
Publication of JPS63269244A publication Critical patent/JPS63269244A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャシュメモリ制御方式、特に、キャシュメモ
リからの読出データに誤りが検出されたときのキャシュ
メモリ制御方式に関する。
〔従来の技術〕
主処理装置(以下CPUと記す)とメインメモリとの動
作スピードギャップを埋めるために、周知のごとく、両
者の間に高速・小容量のメモリで構成されるキャシュ記
憶装置を設ける方策がよく採用される。
メインメモリは予め一定の容量にブロック化され、これ
らブロックのうちの一部のブロックが格納しているデー
タを、キャシュ記憶装置のうちのキャシュメモリに書き
込んでおく(ブロックロードという)。メインメモリの
ブロックのうちのどのブロックがキャシュメモリに書き
込まれたかの情報は、キャシュ記憶装置のうちのキャシ
ュディレクトリに書き込まれる。
CPUがメモリデータの読出要求を出すと、キャシュデ
ィレクトリとキャシュメモリとが読み出されるが、先ず
キャシュディレクトリからの読出データによって、読出
要求されているデータがキヤシ−メモリに存在する(ヒ
ツト)か否(ミスヒツト)かが調べられる。
もしヒツトすれば、キャシュメモリからの読出データの
うちの当該データがCPUに送出される。
またミスヒツトすれば、キャシュメモリからの読出デー
タは放棄され、メインメモリの当該アドレスを読んでC
PUK送出するとともに、そのデータが含まれるブロッ
クがキャシュメモリの空ブロック、または最も永く使用
されていないデータを含むブロックにブロックロードさ
れる。このときに、キャシュディレクトリの更新も行わ
れることになる。
一方、キャシュメモリからの読出データは、その真偽が
外部に与える重要性に鑑み、誤り検出さらには誤り訂正
の対象とされることが多い。もし誤りが検出(誤り訂正
方式を採用する場合には訂正不可能な誤りの検出)がさ
れると、ヒツトしていても当該ブロック群(コンパート
メントという)またはキャシェ記憶装置全体を切離し、
デグレード(degrade )運転するようにしてい
る。
〔発明が解決しようとする問題点〕 このような従来構成においては、キャシュメモリからの
読出データに誤りが検出されるとデグレード運転される
ため、キャシュメモリが縮少されてヒツト率が低下した
り、メモリアクセス毎にメインメモリをアクセスしなけ
ればならなくなシ、メモリアクセスの性能低下を招くと
いう問題点がある。
本発明の目的は、キャシュメモリからの読出データに誤
りが検出されてもメモリアクセスの性能に変化を起さな
いようなキャシュメモリ制御方式を提供することにある
〔問題点を解決するための手段〕
本発明の方式は、所望語数の2倍のキャシーメモリおよ
びキャシュディレクトリと、キャシュメモリからの読出
データの誤り検出を行う誤り検出回路と、誤り検出回路
が誤りを検出するとCPUによって反転されるフリップ
フロップとを設け、フリップフロップの出力をキャシー
メモリおよびキャシュディレクトリの最上位アドレス信
号としたことを特徴とする。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例を示すブロック図である。
本実施例は、キャシュメモリ1と、キャシュディレクト
リ2と、キャシェ書込回路3と、キャシュディレクトリ
書込回路4と、2個のヒツト検出回路50および51と
、アドレスレジスタ6と、データ選択回路7と、制御回
路8と、2つの7リツプ70ツブ90および91と、2
つのパリティチェック回路AOおよびA1とから構成さ
れている。
メインメモリ(図示せず)は、16メガバイトの客用を
有し、それぞれが16バイトからなる1メガ個のブロッ
クに分割されている。各ブロックは、0〜4,095の
ブロック番号とθ〜255のカラム番号とで指定される
。キャシュメモリ1とキャシュディレクトリ2それぞれ
は、ブロック番号0および1と、7リツプフロツプ90
および91の出力と、カラム番号0〜255とで指定さ
れる1024個のブロックに分割されている。
この場合、システムで必要とするブロックの数は512
個だけであシ、後述のように、7リツプフロツプ90お
よび91の出力に従って、前半のブロック群と後半のブ
ロック群とを切替えて使用する。
第1図において、ブロック群10と20のそれぞれは、
ブロック番号0と7リツプフロツプ90の出力で指定さ
れる512個のブロックからなり、ブロック群11と2
1のそれぞれは、ブロック番号1と7リツプ70ツブ9
1の出力で指定される512個のブロックからなる。つ
マシ、メインメモIJ においてθ〜2550カラム番
号で指定される各カラムあた。94,096個のブロッ
クのうちの2個(合計で512個)だけが、キャシーメ
モリ1に同じカラム番号で対応付けられてブロック群1
゜またはIIKブロックロードされる。ブロック群10
または11にブロックロードされたブロックのメインメ
モリにおけるブロック番号が、それぞれキャシュメモリ
10カラム番号で対応付けられて、キャシュディレクト
リ2のブロック群20および21に書き込まれる。
キャシュディレクトリ2のブロック群20と21は有効
性ビットvを有している。この有効性ビットは、キャシ
ュディレクトリ2に書き込まれたデータが有効なもので
あるか否かを表示するように、制御回路8の制御によシ
キャシュディレクトリ書込回路4によりて書き込まれる
第2図は制御回路8の詳細を示すブロック図であり、シ
ーケンサ80と、デコーダ81と、フリップ7四ツブ8
2と、5個のゲー) GO、Gl 、G2゜G3および
G4とから成る。
次に本実施例の動作について説明する。
当初、第1図におけるフリップフロップ91゜92と第
2図におけるクリップ7寵ツブ82の各出力は、いずれ
も論理wO”に設定されている。
この結果、キャシュメモリlとキャシュディレクトリ2
の前半エリアが使用されるようになりている。
CPUがメモリ動作を起動するときには、コマンドCM
Dとアドレス信号ADD(24ビツト)とを出力する。
アドレス信号ADDのうちの中位アドレス信号ADM(
第13ビツト〜第20ビツトの8ビツト)は、キャシュ
メモリ1とキャシュディレクトリ2とのカラム番号を指
定し、これらのアクセスアドレスとなる。
キャシュメモリ1のブロック群10と11から読み出さ
れたデータは、パリティチェック回路AOとA1でパリ
ティチェックされ、その結果、誤りが検出されると誤り
信号ERAft論理@1′とする。また、キャシュディ
レクトリ2のブロック20と21から読み出されたデー
タは、ヒツト検出回路50と51で上位アドレス信号A
DHと比較されることによってヒツト・ミスヒツトが検
査される。
一方、CPUから入力したコマンドCMDは、第2図に
おけるデコーダ81によって解読され、メモリ読出要求
であることがわかると、デコーダ81は読出信号YOM
1を論理@1”にする。
第3図は、読出信号YOMIが論理11”となったとき
の制御回路8の動作を示すフローチャートである。以下
、第3図に従って本実施例の動作を説明する。
(1)パリティ誤りが無い場合 フリップフロップ82の出力は論理@0”を維持する。
(Ll)ヒツトの場合 ヒツト検出回路50または51からそれぞれヒツト信号
HITOまたはHITIが論理11mと々って出力され
、ゲー)G2またはG3(いずれも論理積回路)におい
て、続出信号YOMIの論理′″1”と7リツプフロツ
プ82の出力論理@0”との間でアンド条件を成立させ
る。ゲートG2またはG3のうちのアンド条件が成立し
たゲートは、データ選択信号5ELOまたは5ELIを
論理11”出力し、ゲートG4(論理和回路)を経てC
PUに応答信号RPYを送出する(ステップ■)ととも
に1デ一タ選択回路7に供給する。
このとき、キャシ瓢メモリ1のブロック群10と11と
は、中位アドレス信号ADMによって指定される番地か
ら共にデータ選択回路7にデータ(16バイト)が読み
出されている。ブロック群10と11いずれからの読出
データを選択するかはヒツト信号HITOまたはHIT
Iのうちの論理11”になっている方によって決り、1
6バイト長である読出データからの4バイトの特定(C
PUとキャシェ記憶装置との間のデータ転送は4バイト
単位)は、下位アドレス信号ADL(第21ビツト〜第
24ビツト)のうちの第21ビツトと第22ビツトとで
行なう。このようにして選択されたデータが出力データ
DAOとしてCPUに転送さる。
(1・2) ミスヒツトの場合 ゲートG1(論理積回路)においてアンド条件が成立し
、その論理″1”出力ブロックロード開始信号BLSと
なって、シーケンサ801Cブロツクロードの開始(ス
テップ■)とキャシュディレクトリ2の更新(ステップ
■)とを行なわせる。
シーケンス80は、ブロックロード開始信号BLSに応
答して、読出要求READとディレクトリ書込信号DW
Tとを出力する。キャシュディレクトリ書込回路4はブ
イレフ) IJ書込信号DWTに応答して、キャシュデ
ィレクトリ2の中位アドレス信号ADMによって定まる
番地に上位アドレス信号ADHを書き込む。この場合に
、キャシュディレクトリ2のうちのブロック群2oと2
1のいずれに書き込むべきかは、いずれのブロック群が
よシ永く使用されていないデータを記憶しているかによ
って決り、そのように指示されるが、公知の技術である
ため、図示は省略する。
メインメモリからの入力データDAIは4バイト単位で
4回連続して読み出され、メモリ応答信号MRYもこれ
に同期してシーケンス80に入力する。入力データDA
Iが到着すると(ステップ■)、シーケンサ80は、メ
モリ応答信号MRYに応答してキャシュ書込信号CWT
をキャシュメモリ書込回路3に出力し、キャシュメモリ
1のうちの中位アドレス信号ADMによって指定される
番地に入力データDAIを書き込ませる(ステップ■)
。このときに書き込まれるブロック群は、先に更新され
たキャク為ディレクトリ2のブロック群に応答して、ブ
ロック群10と11のいずれかになる。
シーケンサ80は、下位アドレス信号ADLのうちの第
21ビツトと第22ビツトとによりて、CPUから読出
を要求されているデータの読出順番を認識しておシ、入
力データDAIが要求データであるか否かを監視してい
る(ステップ■)。
シーケンサ80は、要求データの読出類番目に入力する
メモリ応答信号MRYのタイミングで、CPU応答信号
CRYをデータ選択回路7に出力するとともに1ゲー)
G4を経て応答信号RPYとしてCPUK送出する(ス
テップ■)。データ選択回路7はCPU応答信号CRY
と同タイミングで入力してくる入力データDAIを出力
データDAOとしてCPUに転送する。
ステップ■において、要求データでないと判定された入
力データDAIは、ステップ0でブロックロード終了判
定がされるまで、キャシュメモリ1に書き込まれる。
なお、入力データDAIについても誤り検出が行われる
ことが多いが、本発明の本質に係わるものではないため
、その説明は省略する。
(2)パリティ誤りが有る場合 さて、パリティチェック回路AOまたはA1がブロック
群10または11からの読出データにパリティ誤りを検
出すると、誤り信号ERAを発生し、7リツプ70ツブ
82の出力を論理@1”とする。
この場合には、制御回路8の制御は、第3図のステップ
■から左下方のステップ■に移り、フリップ70ツブ8
2の出力をエラー信号ERAとしてCPUへ送出する。
また、論理11′となったフリップ70ツブ82の出力
と読出信号YOMIは、ゲートGO(論理積回路)にお
いてアンド条件を成立させ、この結果によシシーケンサ
80は、先ずメインメモリに読出要求READを出力し
、このときにアドレスレジスタ6が保持するアドレス信
号ADDによって指定される番地を読み出す(ステップ
0)。メインメモリから読み出したデータ(入力データ
)DAIとメモリ応答信号MRYとが到着する(ステッ
プ0)と、シーケンサ80はCPU応答信号CRYを出
力するとともに7リツプ70ツブ82をリセットする。
CPU応答信号CRYは、ゲートG4を経て応答信号R
DYとなりCPUに送出される(ステップO)とともに
、データ選択回路7において入力データDAIを選択す
るために使用され、出力データDAOとして。
CPUに送出する。
このようにして、アドレス信号ADDによって指定され
た番地のデータがCPUへ転送される。
応答信号RPYを受は取ったCPUは、故障診断マイク
ロプログラムを起動し、パリティ誤りを検出したパリテ
ィチェック回路AOまたはA1に対応するフリップ70
ツブ90または91に論理11#をセットする。
第4図はパリティ誤りが検出された場合の波形図を示す
7リツプフロツプ90または91の出力は、キヤシュメ
モリ1のブロック群10または11とキャシュディレク
トリ2のブロック群20または21の最上位アドレス信
号となるように構成されておシ、上述のように7リツプ
フロツプ90または91に論理11”がセットされると
、対応するブロック群10.20または11.21は、
それ以後は後半エリアが使用されるようになる。
ブロック群10,11および20,21は、前述のよう
に所望語数の2倍分の語数を有するため、使用上、何ら
の支障をもたらすことはない。また、後半エリアを使用
中に、パリティ誤りが検出された前半エリアを修理して
おけば、もし後半エリアにパリティ誤りが検出されると
前半エリアに切り替えることが可能となる。
〔発明の効果〕
以上詳細に説明したように、本発明はキャシュメモリと
キャシュディレクトリの語数を所望数の2倍にしておき
通常はその半分のエリアを使用しているが、キャシュメ
モリからの続出データに誤りを検出すると他の半分のエ
リアに切シ替えて使用するような構成としたため、キャ
シュメモリをデグレード運転しなくてよいことになるの
で、キャシュメモリからの続出データに誤りが検出され
てもメモリアクセス性能は不変であるという効果がある
【図面の簡単な説明】
第1図は本発明の一実施例、第2図は本実施例の部分詳
細、第3図は本実施例要部のフローチャートおよび第4
図は本実施例の動作波形をそれぞれ示す。 1・・・・・・キャシュメモリ、2・・・・・・キャシ
ュディレクトリ、3・・・・・・キャシュメモリ書込回
路、4・・・・・・キャシュディレクトリ書込回路、6
・・・・・・アドレスレジスタ、7・・・・・・データ
選択回路、8・・・・・・制御回路、10,11,20
.21・・・・・・ブロック群、50.51・・・・・
・ヒツト検出回路、80・・・・・・シーケンサ、81
・・・・・・デコーダ、82,90.91−−−−−−
7リツプ7cIツブ、AO,AI−・・・・・パリティ
チェック回路、GO2第4図

Claims (1)

  1. 【特許請求の範囲】 所望語数の2倍のキャシュメモリおよびキャシュディレ
    クトリと、 前記キャシュメモリからの読出データの誤り検出を行う
    誤り検出回路と、 該誤り検出回路が誤りを検出すると主処理装置によって
    反転されるフリップフロップ とを設け、前記フリップフロップの出力を前記キャシュ
    メモリおよびキャシュディレクトリの最上位アドレス信
    号としたことを特徴とするキャシュメモリ制御方式。
JP62105078A 1987-04-27 1987-04-27 キヤシユメモリ制御方式 Pending JPS63269244A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62105078A JPS63269244A (ja) 1987-04-27 1987-04-27 キヤシユメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62105078A JPS63269244A (ja) 1987-04-27 1987-04-27 キヤシユメモリ制御方式

Publications (1)

Publication Number Publication Date
JPS63269244A true JPS63269244A (ja) 1988-11-07

Family

ID=14397896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62105078A Pending JPS63269244A (ja) 1987-04-27 1987-04-27 キヤシユメモリ制御方式

Country Status (1)

Country Link
JP (1) JPS63269244A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0582370A2 (en) * 1992-06-05 1994-02-09 Compaq Computer Corporation Disk drive controller with a posted write cache memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0582370A2 (en) * 1992-06-05 1994-02-09 Compaq Computer Corporation Disk drive controller with a posted write cache memory
EP0582370A3 (ja) * 1992-06-05 1994-02-16 Compaq Computer Corp
US5586248A (en) * 1992-06-05 1996-12-17 Compaq Computer Corporation Disk drive controller with a posted write cache memory

Similar Documents

Publication Publication Date Title
CN1146790C (zh) 利用硬件自动擦除存储器中的纠错码差错的方法和装置
US5778426A (en) Methods and structure to maintain a two level cache in a RAID controller and thereby selecting a preferred posting method
KR100884351B1 (ko) 타입 비트들을 이용한, 레벨 2 캐시에서의 ecc 및프리디코드 비트들의 저장 추적
JPS58179982A (ja) 多重レベル・キヤツシユ・システム
EP0506761A1 (en) Direct access storage device with independently stored parity
JP3247075B2 (ja) パリティブロックの生成装置
JPS6324428A (ja) キヤツシユメモリ
JPH10320128A (ja) ディスクアレイ装置の制御方法
US5287482A (en) Input/output cache
EP0386719A2 (en) Partial store control circuit
JPS63269244A (ja) キヤシユメモリ制御方式
JPS6129024B2 (ja)
JPS60144847A (ja) キヤツシユメモリ制御方式
JPH11259238A (ja) 信号処理装置
JPH04205449A (ja) キャッシュ装置
JPH02128254A (ja) キャッシュ制御方式
JPS62145445A (ja) キヤツシユメモリシステム
JPS603769A (ja) エラ−回復方法
JPS58213349A (ja) 情報処理装置
JPS5836434B2 (ja) バツフアメモリソウチ
JPH07152650A (ja) キャッシュ制御装置
AU703572B2 (en) An interrupt processing apparatus
JP2003323341A (ja) キャッシュミス回避装置
JPS62145342A (ja) キヤツシユメモリシステム
JPH0877067A (ja) キャッシュメモリ制御装置