JPH0877067A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置

Info

Publication number
JPH0877067A
JPH0877067A JP6208465A JP20846594A JPH0877067A JP H0877067 A JPH0877067 A JP H0877067A JP 6208465 A JP6208465 A JP 6208465A JP 20846594 A JP20846594 A JP 20846594A JP H0877067 A JPH0877067 A JP H0877067A
Authority
JP
Japan
Prior art keywords
data
cache memory
written
write
block
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
JP6208465A
Other languages
English (en)
Inventor
Masahiko Shiroichi
昌彦 城市
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 JP6208465A priority Critical patent/JPH0877067A/ja
Publication of JPH0877067A publication Critical patent/JPH0877067A/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)【要約】 【目的】 処理装置からキャッシュメモリへのブロック
中の一部分の書込みを高速化して、キャッシュメモリ全
体の処理性能を向上させる。 【構成】 処理装置からキャッシュメモリ110への書
込み要求があると、書込みデータがライトバッファ12
0に保持されると共に、ライトバッファ120の書込み
のあったバイト位置に対応するバリッドビット群130
のビットがセットされる。その後、ライトバッファ12
0の1ブロック分のデータがキャッシュメモリ110に
一度に転送される。この際キャッシュメモリ110は、
バリッドビット群130のビットがセットされているバ
イトのみを取り込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュメモリの制
御を行うキャッシュメモリ制御装置に関し、特にキャッ
シュメモリに対する書込みを高速化するキャッシュメモ
リ制御装置に関する。
【0002】
【従来の技術】従来キャッシュメモリでは、キャッシュ
メモリ内の領域をブロックとよぶ単位に分割し、これを
単位としてデータを管理している。また、このキャッシ
ュメモリに接続される処理装置からの書込みはキャッシ
ュメモリへのパスのデータ幅等に制限される。以下、こ
の書込みの単位をパス幅という。
【0003】たとえば、特開平3−263243号公報
には、ブロックサイズが64バイトであるのに対して、
データの書込みを8バイト単位で行う、すなわちパス幅
が8バイトの、キャッシュメモリ制御方式の技術が記載
されている。
【0004】
【発明が解決しようとする課題】上述の従来技術では、
キャッシュメモリに書き込まれるデータがパス幅よりも
広い場合には、このデータをパス幅を単位として分割し
てキャッシュメモリに書き込む必要があった。すなわ
ち、その分割された数に相当する回数分のキャッシュメ
モリへの書き込み処理が必要であった。そのため、この
書込み処理によりキャッシュメモリが塞がってしまい、
他の要求が待たされてしまうという問題があった。
【0005】また、従来技術では、キャッシュメモリが
故障した場合には、処理装置からの書込みデータを一つ
一つ主記憶装置に書き込んでいかなければならず、デー
タ転送が終了するまでバスが専有されてしまい、他の要
求が待たされてしまうという問題があった。また、主記
憶装置ではエラー訂正符号としてECCを採用すること
が多く、書込みデータのバイト数は不定であるため、該
当するブロックの内容を一度読み出してからECCデー
タを修正した後に主記憶装置に書き戻す必要がある。こ
の処理を主記憶装置側で行うと、転送データのバイト数
が不定であり、バスの制御が複雑になるという問題があ
った。
【0006】さらに、従来の技術では、キャッシュメモ
リに書き込まれるデータにエラーが発生した場合、キャ
ッシュメモリの内容を破壊してしまうという問題があっ
た。
【0007】本発明の目的は、処理装置からキャッシュ
メモリへの書込みであって、特にブロック中の一部分に
対する書込みを高速化して、キャッシュメモリ全体の処
理性能を向上させることにある。
【0008】また、本発明の他の目的は、キャッシュメ
モリが故障した場合でもデータを消失することなく正常
な動作を保証することにある。
【0009】さらに、本発明の他の目的は、キャッシュ
メモリへアクセスをしようとする際にエラーが発生した
場合に、そのエラーの影響をキャッシュメモリに及ばさ
ず、障害処理後継続動作できるようにすることにある。
【0010】
【課題を解決するための手段】上記課題を解決するため
に本発明のキャッシュメモリ制御装置は、データをブロ
ック毎に管理するキャッシュメモリと、このキャッシュ
メモリに書き込むべきデータを少なくとも1ブロック分
保持する書込みデータ保持手段と、この書込みデータ保
持手段に保持されているデータの有効性を保持する有効
性表示手段とを含み、前記書込みデータ保持手段の保持
するデータの内、前記有効性表示手段が有効である旨を
表示するデータのみを前記キャッシュメモリに転送す
る。
【0011】また、本発明の他のキャッシュメモリ制御
装置は、データをブロック毎に管理するキャッシュメモ
リと、このキャッシュメモリに書き込むべきデータを少
なくとも1ブロック分保持する書込みデータ保持手段
と、この書込みデータ保持手段に保持されているデータ
の有効性を保持する有効性表示手段と、前記書込みデー
タ保持手段に保持されているブロックであって前記書き
込むべきデータが書き込まれる前のブロックを保持する
読出しデータ保持手段と、前記有効性表示手段に従って
前記書込みデータ保持手段または前記読出しデータ保持
手段の何れかを選択して出力する選択手段とを含む。
【0012】また、本発明の他のキャッシュメモリ制御
装置は、データをブロック毎に管理するキャッシュメモ
リと、このキャッシュメモリに書き込むべきデータを少
なくとも1ブロック分保持する書込みデータ保持手段
と、この書込みデータ保持手段に保持されているデータ
の有効性を保持する有効性表示手段と、前記書込みデー
タ保持手段に保持されているブロックであって前記書き
込むべきデータが書き込まれる前のブロックを保持する
読出しデータ保持手段と、前記有効性表示手段に従って
前記書込みデータ保持手段または前記読出しデータ保持
手段の何れかを選択して出力する選択手段と、前記書き
込むべきデータにエラーが発生したことを検出して前記
有効性表示手段を全て無効にするエラー検出手段とを含
む。
【0013】また、前記有効性表示手段は前記書込みデ
ータ保持手段に保持されているデータの有効性を1バイ
ト単位に保持する。
【0014】また、前記エラー検出手段はパリティチェ
ックを行う。
【0015】
【実施例】次に本発明のキャッシュメモリ制御装置の第
一の実施例について図面を参照して詳細に説明する。
【0016】図1を参照すると、本発明の第一の実施例
であるキャッシュメモリ制御装置100は、キャッシュ
メモリ110と、キャッシュメモリ110への書込みデ
ータを保持するライトバッファ120と、ライトバッフ
ァ120に保持されているデータが有効であるか否かを
示すバリッドビット群130とを有している。
【0017】本実施例のキャッシュメモリ110は、1
ワード4バイトのデータを1ブロック当たり4ワード分
格納できる4セットアソシアティブキャッシュとして構
成しているが、これはダイレクトマップキャッシュやフ
ルアソシアティブキャッシュであってもよい。
【0018】ライトバッファ120は、キャッシュメモ
リ110に書き込む1ブロック分のデータ、すなわち1
ワード4バイトのデータを4ワード分保持できるバッフ
ァである。
【0019】バリッドビット群130は、ライトバッフ
ァ120の対応する各バイト位置に有効なデータが格納
されているか否かを表示するビット群であり、ライトバ
ッファに対応して4ビット×4ワード=16ビットのバ
リッドビットを保持している。すなわち、このバリッド
ビットがセットされていればライトバッファ120の対
応するバイト位置のデータが有効であることを示し、リ
セットされていれば無効であることを示している。
【0020】処理装置からキャッシュメモリ110への
書込み要求があると、書込みデータがライトバッファ1
20に保持されると共に、ライトバッファ120の書込
みのあったバイト位置に対応するバリッドビット群13
0のビットがセットされる。その後、ライトバッファ1
20の1ブロック分のデータがキャッシュメモリ110
に一度に転送される。この際キャッシュメモリ110
は、バリッドビット群130のビットがセットされてい
るバイトのみを取り込む。ライトバッファ120からキ
ャッシュメモリ110への転送が完了すると、バリッド
ビット群130の各ビットはリセットされる。なお、い
ずれのブロックに書き込むかの選択は、例えばLRU
(Least Recently Usedの略)方式などの従来技術を使
用することができる。
【0021】このように、本発明の第一の実施例である
キャッシュメモリ制御装置によれば、処理装置からキャ
ッシュメモリ110へのデータ書込みの際、書込みデー
タをライトバッファ120に書き込むと共に、バリッド
ビット群130の対応する位置をセットしておき、その
後ライトバッファ120からキャッシュメモリ110に
一度にデータ転送することにより、ブロック中の一部の
データの書き込みであっても、バリッドビット群130
のセットされている位置の書込みデータのみをキャッシ
ュメモリ110に高速に格納することができる。
【0022】次に本発明のキャッシュメモリ制御装置の
第二の実施例について図面を参照して詳細に説明する。
【0023】図2を参照すると、本発明の第二の実施例
であるキャッシュメモリ制御装置100は、第一の実施
例と同様にキャッシュメモリ110と、ライトバッファ
120と、バリッドビット群130とを有し、さらに主
記憶装置からの読出しデータを保持するリードバッファ
140と、リードバッファ140またはライトバッファ
120のいずれかを選択して主記憶装置に出力する出力
セレクタ150とを有している。
【0024】リードバッファ140は、ライトバッファ
120と同様の構成を有しており、主記憶装置から読み
出したキャッシュメモリ110の1ブロック分のデータ
を保持できる。
【0025】出力セレクタ150は、バリッドビット群
130の内容に従い、ライトバッファ120またはリー
ドバッファ140のいずれかのデータをバイト単位に選
択して主記憶装置に転送する。
【0026】本実施例のキャッシュメモリ制御装置10
0では、キャッシュメモリ110に障害が発生して使用
することができなくなった場合でも、処理装置から書込
み要求のあったデータが第一の実施例と同様にライトバ
ッファ120に書き込まれると共に、バリッドビット群
130の対応する位置のビットがセットされる。そし
て、バリッドビット群130の一部のビットのみがセッ
トされた場合、すなわちブロック中に書き換えないバイ
トがある場合には、その書き換えないバイトを得るため
に、対応するブロック中の全てのデータを主記憶装置か
らリードバッファ140に読み出してくる。リードバッ
ファ140に1ブロック分の読出しデータが保持される
と、出力セレクタ150はバリッドビット群130の内
容に従い、ライトバッファ120またはリードバッファ
140のいずれかのデータをバイト単位に選択して主記
憶装置に転送する。すなわち、バリッドビット群130
がセットされているビットについてはライトバッファ1
20側から対応するバイト位置のデータを出力し、バリ
ッドビット群130がリセットされているビットについ
てはリードバッファ140側から対応するバイト位置の
データを出力する。
【0027】このように、本発明の第二の実施例である
キャッシュメモリ制御装置によれば、第一の実施例に加
えてリードバッファ140と出力セレクタ150とを設
けたことにより、キャッシュメモリ110に障害が発生
した場合でも、ブロックの一部に対する書込みデータを
保持するライトバッファ120または書き換え前のデー
タを読み出したリードバッファ140のいずれかを、出
力セレクタ150がバリッドビット群130に従って選
択でき、ブロックの一部の領域に対するデータの書込み
であっても効率よく主記憶装置に書き込むことができ
る。
【0028】次に本発明のキャッシュメモリ制御装置の
第三の実施例について図面を参照して詳細に説明する。
【0029】図3を参照すると、本発明の第三の実施例
であるキャッシュメモリ制御装置100は、第二の実施
例と同様にキャッシュメモリ110と、ライトバッファ
120と、バリッドビット群130と、リードバッファ
140と、出力セレクタ150とを有していると共に、
さらに処理装置からのデータのエラーを検出するエラー
検出回路160を有している。
【0030】エラー検出回路160は、処理装置からの
データにエラーがないか否かチェックを行う。このエラ
ーチェックには、例えばデータにパリティビットを付加
することによりパリティチェックを行うことが考えられ
る。
【0031】処理装置からキャッシュメモリ110への
書込み要求があると、書込みデータはライトバッファ1
20に保持されると共に、エラー検出回路160にも入
力される。エラー検出回路160は、エラーを検出しな
かった場合にはライトバッファ120の書込みのあった
バイト位置に対応するバリッドビット群130のビット
をセットする。エラー検出回路160は、エラーを検出
した場合にはバリッドビット群130のビットを全てリ
セットしてライトバッファ120からキャッシュメモリ
110への転送を抑止する。
【0032】このように、本発明の第三の実施例である
キャッシュメモリ制御装置によれば、第二の実施例に加
えてエラー検出回路160を設けたことにより、処理装
置からのデータにエラーがあった場合でもライトバッフ
ァ120からキャッシュメモリ110へのデータ転送を
抑止して、キャッシュメモリ110に不正なデータが書
き込まれるのを防ぐことができる。
【0033】
【発明の効果】以上の説明で明らかなように、本発明に
よると、処理装置からの書込みデータをライトバッファ
に書き込むと共に、バリッドビット群の対応する位置を
セットしておくことにより、ブロック中の一部のデータ
の書き込みであっても、ライトバッファからキャッシュ
メモリへのデータ転送を一度に行うことができ、キャッ
シュメモリ全体の処理性能を向上させることができる。
【0034】また、本発明によると、リードバッファと
出力セレクタとを設けたことにより、キャッシュメモリ
に障害が発生した場合でも、ブロックの一部の領域に対
する書込みデータを効率よく主記憶装置に書き込むこと
ができる。
【0035】さらに、本発明によると、エラー検出回路
を設けたことにより、処理装置からのデータにエラーが
あった場合でもキャッシュメモリに不正なデータが書き
込まれるのを防ぐことができる。
【図面の簡単な説明】
【図1】本発明のキャッシュメモリ制御装置の第一の実
施例の構成を示すブロック図である。
【図2】本発明のキャッシュメモリ制御装置の第二の実
施例の構成を示すブロック図である。
【図3】本発明のキャッシュメモリ制御装置の第三の実
施例の構成を示すブロック図である。
【符号の説明】
100 キャッシュメモリ制御装置 110 キャッシュメモリ 120 ライトバッファ 130 バリッドビット群 140 リードバッファ 150 出力セレクタ 160 エラー検出回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データをブロック毎に管理するキャッシ
    ュメモリと、 このキャッシュメモリに書き込むべきデータを少なくと
    も1ブロック分保持する書込みデータ保持手段と、 この書込みデータ保持手段に保持されているデータの有
    効性を保持する有効性表示手段とを含み、 前記書込みデータ保持手段の保持するデータの内、前記
    有効性表示手段が有効である旨を表示するデータのみを
    前記キャッシュメモリに転送することを特徴とするキャ
    ッシュメモリ制御装置。
  2. 【請求項2】 データをブロック毎に管理するキャッシ
    ュメモリと、 このキャッシュメモリに書き込むべきデータを少なくと
    も1ブロック分保持する書込みデータ保持手段と、 この書込みデータ保持手段に保持されているデータの有
    効性を保持する有効性表示手段と、 前記書込みデータ保持手段に保持されているブロックで
    あって前記書き込むべきデータが書き込まれる前のブロ
    ックを保持する読出しデータ保持手段と、 前記有効性表示手段に従って前記書込みデータ保持手段
    または前記読出しデータ保持手段の何れかを選択して出
    力する選択手段とを含むことを特徴とするキャッシュメ
    モリ制御装置。
  3. 【請求項3】 データをブロック毎に管理するキャッシ
    ュメモリと、 このキャッシュメモリに書き込むべきデータを少なくと
    も1ブロック分保持する書込みデータ保持手段と、 この書込みデータ保持手段に保持されているデータの有
    効性を保持する有効性表示手段と、 前記書込みデータ保持手段に保持されているブロックで
    あって前記書き込むべきデータが書き込まれる前のブロ
    ックを保持する読出しデータ保持手段と、 前記有効性表示手段に従って前記書込みデータ保持手段
    または前記読出しデータ保持手段の何れかを選択して出
    力する選択手段と、 前記書き込むべきデータにエラーが発生したことを検出
    して前記有効性表示手段を全て無効にするエラー検出手
    段とを含むことを特徴とするキャッシュメモリ制御装
    置。
JP6208465A 1994-09-01 1994-09-01 キャッシュメモリ制御装置 Pending JPH0877067A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6208465A JPH0877067A (ja) 1994-09-01 1994-09-01 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6208465A JPH0877067A (ja) 1994-09-01 1994-09-01 キャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JPH0877067A true JPH0877067A (ja) 1996-03-22

Family

ID=16556637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6208465A Pending JPH0877067A (ja) 1994-09-01 1994-09-01 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JPH0877067A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1325416A1 (en) * 2000-10-12 2003-07-09 Emulex Corporation Method for determining valid bytes for multiple-byte burst memories

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62248049A (ja) * 1986-04-22 1987-10-29 Nec Corp バツフア記憶装置
JPH0298754A (ja) * 1988-10-06 1990-04-11 Nec Corp 主記憶制御方式
JPH03171340A (ja) * 1989-11-30 1991-07-24 Koufu Nippon Denki Kk データ処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62248049A (ja) * 1986-04-22 1987-10-29 Nec Corp バツフア記憶装置
JPH0298754A (ja) * 1988-10-06 1990-04-11 Nec Corp 主記憶制御方式
JPH03171340A (ja) * 1989-11-30 1991-07-24 Koufu Nippon Denki Kk データ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1325416A1 (en) * 2000-10-12 2003-07-09 Emulex Corporation Method for determining valid bytes for multiple-byte burst memories
EP1325416A4 (en) * 2000-10-12 2005-08-10 Emulex Corp METHOD FOR DETERMINING CORRECT BYTES IN MULTI-BYTE GAS MEMORIES

Similar Documents

Publication Publication Date Title
JPH11143775A (ja) キャッシュメモリシステム
JPS6324428A (ja) キヤツシユメモリ
KR20020029925A (ko) 디지털 데이터의 소프트 에러를 정정하는 방법 및 장치
JPS6310460B2 (ja)
JP3129224B2 (ja) キャッシュメモリ装置
JP2002024085A (ja) ディスクキャッシュシステム、及びその制御方法
JPH0877067A (ja) キャッシュメモリ制御装置
JP3733604B2 (ja) キャッシュメモリ
JPH0746323B2 (ja) 部分書込みアクセスを圧縮する主記憶装置
JP3162459B2 (ja) データ処理装置
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
GB2037466A (en) Computer with cache memory
JPH0773106A (ja) キャッシュメモリ
JPH08137753A (ja) ディスクキャッシュ装置
JPH10232789A (ja) Eccパーシャルライト制御ユニット
JP3074897B2 (ja) メモリ回路
JP2703255B2 (ja) キャッシュメモリ書込み装置
US6317857B1 (en) System and method for utilizing checksums to recover data
JP2000047941A (ja) ディスクキャッシュ制御装置
JPH06301600A (ja) 記憶装置
JPH04162161A (ja) 記憶制御装置
JP2000259496A (ja) 記憶装置
JPS5842546B2 (ja) ストア制御方式
JPH071490B2 (ja) デ−タ書戻し方式
JPH0148571B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970128