JPH086858A - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JPH086858A
JPH086858A JP6138455A JP13845594A JPH086858A JP H086858 A JPH086858 A JP H086858A JP 6138455 A JP6138455 A JP 6138455A JP 13845594 A JP13845594 A JP 13845594A JP H086858 A JPH086858 A JP H086858A
Authority
JP
Japan
Prior art keywords
cache
area
buffer
data
column
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.)
Withdrawn
Application number
JP6138455A
Other languages
English (en)
Inventor
Kyoichi Sasamoto
享一 笹本
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6138455A priority Critical patent/JPH086858A/ja
Publication of JPH086858A publication Critical patent/JPH086858A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明に係るキャッシュ制御装置は、データ
バッファに必要な領域を確保しつつ、キャッシュの性能
の低下を少なくすることのできる。 【構成】 本発明に係るキャッシュ制御装置は、複数の
ブロックに分けられた領域を有するキャッシュメモリ4
と、このキャッシュメモリ4の前記各領域の用途を、キ
ャッシュ用からバッファ用にまたはバッファ用からキャ
ッシュ用に変更する用途管理手段5と、この用途管理手
段5により用途がキャッシュ用からバッファ用に変更さ
れた領域をバッファメモリ領域として使用して、記憶装
置3と上位装置2との間でデータ転送を行うデータ転送
手段6とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、キャッシュメモリを
備えるキャッシュ制御装置に関するものである。
【0002】
【従来の技術】従来、例えば、磁気ディスク記憶装置な
どのDASD(ダスド)と上位装置との間には、データ
アクセス速度の高速化等のために、キャッシュメモリを
備えるキャッシュ制御装置が設けられる。このキャッシ
ュメモリは、通常、上位装置における処理では、同一デ
ータが1度ならず2度以上必要となることを考慮して、
当該キャッシュメモリに磁気ディスク記憶装置などから
読み出したデータを記憶しておき、同一データの要求が
あると、上記磁気ディスク記憶装置などをアクセスする
ことなく、当該キャッシュメモリから対応データを得て
転送することにより、上位装置の高速処理に寄与する。
【0003】従って、データの性格上、一度の読み出し
を行った後には、暫くの間、または、殆ど、読み出すこ
とのないデータについては、上記キャッシュメモリに格
納すると、再読み出しされるデータが払い出され、キャ
ッシュメモリの特性を低下させるので、図7に示すよう
に構成する。つまり、ホスト装置(上位装置)700と
磁気ディスク装置800との間に設けられたキャッシュ
制御装置900に、リードキャッシュ901以外に別
に、データバッファ902を設け、このような特性を低
下させるデータについては、データバッファを使用して
転送していた。
【0004】
【発明が解決しようとする課題】しかしながら、上記の
構成のキャッシュ制御装置によると、キャッシュ制御装
置に搭載されるメモリ容量がスペースやコスト等の関係
から制限される場合には、データバッファのためにキャ
ッシュの容量を少なくせざるを得ない。このようにキャ
ッシュの容量を少なくすると、当然のことながら、減少
した領域分に応じてミスヒットが多くなり、キャッシュ
のデータの保持期間が減少し、これが更にミスヒットを
生じさせ、キャッシュの性能低下を来たすという問題点
があった。
【0005】本発明は上記のキャッシュ制御装置の問題
点を解決するためになされたもので、その目的は、デー
タバッファに必要な領域を確保しつつ、キャッシュの性
能の低下を抑制することのできるキャッシュ制御装置を
提供することである。また、他の目的は、セットアソシ
アティブマッピング方式を採用する場合でも、記憶装置
から読み出したデータの連続性を損なうことなく、キャ
ッシュメモリにデータを記憶することを可能とするキャ
ッシュ制御装置を提供することである。
【0006】
【課題を解決するための手段】そこで本願の請求項1に
記載の発明では、複数のブロックに分けられた領域を有
するキャッシュメモリと、このキャッシュメモリの前記
各領域の用途を、キャッシュ用からバッファ用にまたは
バッファ用からキャッシュ用に変更する用途管理手段
と、この用途管理手段により用途がキャッシュ用からバ
ッファ用に変更された領域をバッファメモリ領域として
使用して、記憶装置と上位装置との間でデータ転送を行
うデータ転送手段とを備させてキャッシュ制御装置を構
成した。
【0007】更に、請求項2に記載の発明では、セット
アソシアティブマッピング方式のキャッシュ制御装置
に、複数のブロックに分けられた領域を有するキャッシ
ュメモリと、このキャッシュメモリの前記各領域の用途
を、キャッシュ用からバッファ用に転用する場合、各カ
ラムを均等に選択してキャッシュ用からバッファ用に転
用する一方、バッファ用からキャッシュ用に変更する用
途管理手段と、この用途管理手段により用途がキャッシ
ュ用からバッファ用に変更された領域をバッファメモリ
領域として使用して、記憶装置と上位装置との間でデー
タ転送を行うデータ転送手段とを備えさせてキャッシュ
制御装置を構成した。
【0008】また、請求項3に記載の発明に係るキャッ
シュ制御装置では、用途管理手段が、各カラムにおい
て、所定数のキャッシュ用領域が残るように当該カラム
における領域を、キャッシュ用からバッファ用に転用す
ることを特徴とする。
【0009】また、請求項4に記載の発明に係るキャッ
シュ制御装置では、用途管理手段が、カラムにおける領
域において、キャッシュ用からバッファ用に転用された
数が所定数を越えた場合、次のカラムにおいてキャッシ
ュ用からバッファ用への転用を実行することを特徴とす
る。
【0010】また、請求項5に記載の発明に係るキャッ
シュ制御装置では、用途管理手段が、各領域がキャッシ
ュ用とバッファ用とのいずれであるかを示す用途情報を
有し、この情報に基づき各領域をキャッシュ用とバッフ
ァ用との間で変更することを特徴とする。
【0011】また、請求項6に記載の発明に係るキャッ
シュ制御装置では、用途管理手段が、領域を、キャッシ
ュ用からバッファ用に転用する場合には、LRU(Leas
t Recently Used )方式により、転用すべき領域を検出
することを特徴とする。
【0012】また、請求項7に記載の発明に係るキャッ
シュ制御装置では、用途管理手段が、データ転送手段に
よるデータの転送が完了した後に、キャッシュ用からバ
ッファ用に転用されていた領域を、バッファ用から解放
することを特徴とする。
【0013】
【作用】請求項1に記載の発明に係るキャッシュ制御装
置によれば、キャッシュメモリの各領域の用途を、キャ
ッシュ用からバッファ用にまたはバッファ用からキャッ
シュ用に変更して使用するので、バッファ用に領域が固
定されることなく、バッファが必要な時にのみ、キャッ
シュ用の領域をバッファ用へ転用し、各領域を基本的に
はキャッシュメモリとして使用することができる。
【0014】請求項2に記載の発明に係るキャッシュ制
御装置によれば、セットアソシアティブマッピング方式
のキャッシュ制御を行う場合に、キャッシュメモリの各
領域の用途を、キャッシュ用からバッファ用に転用する
とき、各カラムを均等に選択してキャッシュ用からバッ
ファ用に転用するので、バッファ用に転用される領域が
特定のカラムに偏ることがなく、このカラムに読み出さ
れるべき記憶装置のデータについてキャッシュヒット率
の低下を防ぐことができる。
【0015】請求項3に記載の発明に係るキャッシュ制
御装置によれば、各カラムにおいて、所定数のキャッシ
ュ用領域が残るように当該カラムにおける領域を、キャ
ッシュ用からバッファ用に転用し、セットアソシアティ
ブマッピング方式により記憶されるデータの連続性を、
上記の残された当該カラムの領域を用いて確保するよう
にできる。
【0016】請求項4に記載の発明に係るキャッシュ制
御装置によれば、カラムにおける領域において、キャッ
シュ用からバッファ用に転用された数が所定数を越えた
場合、次のカラムにおいてキャッシュ用からバッファ用
への転用を実行し、各カラムにおいてキャッシュ用の領
域を所定数確保し、セットアソシアティブマッピング方
式により記憶されるデータの連続性を、上記の確保され
た当該カラムの領域を用いて保証するようにできる。
【0017】請求項5に記載の発明に係るキャッシュ制
御装置によれば、各領域がキャッシュ用とバッファ用と
のいずれであるかを示す用途情報に基づき各領域をキャ
ッシュ用とバッファ用との間で変更するので、キャッシ
ュ用またはバッファ用の領域を必要なだけ的確に確保で
き、或いは制限を越えてバッファ用の領域確保がなされ
ることを防止できる。
【0018】請求項6に記載の発明に係るキャッシュ制
御装置によれば、領域を、キャッシュ用からバッファ用
に転用する場合には、LRU(Least Recently Used )
方式により、転用すべき領域を検出するため、当該時点
の近くには使用されていないデータが記憶されているキ
ャッシュ用の領域をバッファ用に転用することができ
る。
【0019】請求項7に記載の発明に係るキャッシュ制
御装置によれば、データ転送手段によるデータの転送が
完了した後に、キャッシュ用からバッファ用に転用され
ていた領域を、バッファ用から解放するため、この解放
された領域を再びキャッシュ用として使用できる。
【0020】
【実施例】以下添付図面を参照して本発明の実施例に係
るキャッシュ制御装置を説明する。各図面において、同
一の構成要素には同一の符号を付し重複する説明を省略
する。図1には、本発明の実施例に係るキャッシュ制御
装置1を用いて構成したコンピュータシステムが示され
ている。キャッシュ制御装置1は、ホストCPU等によ
り構成される上位装置2とDASDなどの記憶装置3と
の間に接続される。キャッシュ制御装置1には、複数の
ブロックに分けられた領域を有するキャッシュメモリ
4、このキャッシュメモリ4の各領域の用途を、キャッ
シュ用からバッファ用にまたはバッファ用からキャッシ
ュ用に変更する用途管理手段5、この用途管理手段5に
より用途がキャッシュ用からバッファ用に変更された領
域をバッファメモリ領域として使用して、記憶装置3と
上位装置2との間でデータ転送を行うデータ転送手段6
を備えている。
【0021】用途管理手段5は、キャッシュメモリ4の
各領域がキャッシュ用とバッファ用とのいずれであるか
を示す用途情報7を有し、上位装置2からバッファを用
いる旨を含んだコマンドが到来すると、上記用途情報7
を参照してキャッシュメモリ4の領域を、バッファ用に
転用する。この時、用途管理手段5は、例えば、LRU
(Least Recently Used )方式により、転用すべき領域
を検出する。このため、当該時点の近くには使用されて
いないデータが記憶されているキャッシュ用の領域がバ
ッファ用に転用されることになる。用途管理手段5は転
用する領域をデータ転送手段6に通知すると共に、当該
領域の用途をバッファとして用途情報7に登録する。通
知を受けたデータ転送手段6はこのキャッシュメモリ4
の領域をバッファとして使用し、上位装置2から与えら
れたリードコマンドの指定アドレスに基づき、記憶装置
3のデータを読み出して、上位装置2へデータを転送す
る。このような転用に係るバッファ(例えば、図1のキ
ャッシュメモリ4内の斜線の領域)を用いてのデータ転
送が行われ、所定分のデータ転送が完了すると、データ
転送手段6は完了の旨を用途管理手段5へ通知する。通
知を受けた用途管理手段5は、バッファ用に転用されて
いた領域をバッファ用から解放する。つまり、用途管理
手段5は、用途情報7バッファ用に転用されていた領域
の用途を未使用として用途情報7に登録する。これによ
り、当該領域は再び、キャッシュ用として使用すること
が可能となる。
【0022】用途管理手段5は、キャッシュ制御装置1
がセットアソシアティブマッピング方式のキャッシュ制
御を行う場合に対応して、検索対象カラム情報8、転用
候補情報9を有している。つまり、バッファ用の領域を
確保するときに、各カラムで均等に確保の機会が生じる
ように、カラムの指定をローテーションさせるための情
報、例えば、ポインタが設けられるが、このポインタの
値が検索対象カラム情報8である。また、転用候補情報
9はカラム毎で転用でき得る領域の数、RLU情報等か
らなる。キャッシュ制御装置1がセットアソシアティブ
マッピング方式のキャッシュ制御を行う場合には、検索
対象カラム情報8、転用候補情報9を用いて、例えば、
第1番目のカラムから、第2番のカラム、・・・、再後
尾のカラム、第1番目のカラムの順で、検索対象カラム
をローテーションして指定し、指定したカラムにおい
て、転用でき得る領域の数、RLU情報等、更に、用途
情報7に基づき、適切な領域をバッファ用に転用する。
転用後の処理については、既述した通りであるので、重
複する説明を省略する。
【0023】図2には、上記コンピュータシステムのよ
り実際的な構成が示されている。上位装置20には、ホ
ストCPU21と主記憶装置22とインタフェース23
とがバスにより接続されて設けられている。ホストCP
U21は主記憶装置22のプログラムおよびデータを用
いて処理を行うが、必要な場合には、インタフェース2
3を介して磁気ディスク記憶装置11へアクセスする。
【0024】キャッシュ制御装置である磁気ディスク制
御装置10には、インタフェース12、13、リードキ
ャッシュメモリ14、DMAC(ダイレクト メモリ
アクセス コントローラ)15、MPU(マイクロプロ
セッサ)16、主メモリ17が備えられている。インタ
フェース12は上位装置2とのインタフェースであり、
インタフェース13は磁気ディスク記憶装置11とのイ
ンタフェースである。DMAC15は、MPU16に代
わって独立してデータ転送を行うために設けられ、イン
タフェース13からのデータをリードキャッシュメモリ
14へ転送し、また、リードキャッシュメモリ14のデ
ータをインタフェース12へ転送する。リードキャッシ
ュメモリ14は、複数のブロックに分けられた領域(キ
ャッシュブロック)を有する。MPU16は主メモリ1
7内のプログラムおよびデータを用いてセットアソシア
ティブマッピング方式のキャッシュ制御を実行する。
【0025】主メモリ17には、図3に示されるディレ
クトリ情報等が登録されたメモリテーブル25、図4に
示されるバッファポインタ26、カラム毎のバッファ数
のカウンタ27、カラムバッファ数閾値情報28が記憶
されている。図3のメモリテーブル25には、リードキ
ャッシュメモリ14の各領域であるキャッシュブロック
(ナンバー)に対応して、キャッシュブロックのアドレ
ス情報、当該キャッシュブロックに記憶されているデー
タが、磁気ディスク記憶装置11のいずれのディスクナ
ンバーのディスクにおいて、どのセクタに記憶されてい
るかを示すタグ情報、当該キャッシュブロックがキャッ
シュ用、バッファ用、未使用、LRU情報記憶用のいず
れに使用されているかを示すフラグ情報が、それぞれ記
憶されている。
【0026】ここで、リードキャッシュメモリ14が、
例えば、図5に示される通り、カラム数が「11」、ロ
ウ数が「6」のリードキャッシュメモリ14Aである場
合においては、バッファ用に転用するキャッシュブロッ
クを取得すべきカラムを指示する図4のポインタ26
と、カラム(ナンバー)に対応してそれぞれのカラムで
取得されているバッファ数のカウンタ27と、各カラム
においてバッファ用に転用可能な最大領域数(カラムバ
ッファ数閾値)28において、カラムナンバーの「m」
は「11」となり、カラムバッファ数閾値28の「k」
は例えば「2」などとなる。
【0027】セットアソシアティブマッピング方式のキ
ャッシュ制御においては、磁気ディスク記憶装置11の
セクタ領域が図5の11Aに示されるようであり、例え
ば、この1セクタ分のデータがリードキャッシュメモリ
14Aの1キャッシュブロックに記憶されるように構成
される。磁気ディスク記憶装置11のセクタ領域11A
においては、関連性のあるデータ(例えば、1ファイル
のデータ)がセクタ領域11Aの連続するセクタ(図で
は、横方向)に斜線で示される如く記憶される。このよ
うな連続性のあるデータをリードキャッシュメモリ14
Aに記憶すると、各カラムのキャッシュブロックを使用
するように記憶される。ただし、同一のロウナンバーの
キャッシュブロックに記憶される(つまり、図の横方向
に連続して記憶される)必要はない。
【0028】このため、リードキャッシュメモリ14A
に斜線で示すように、1つのカラムが全てバッファ用に
転用されると、磁気ディスク記憶装置11では連続性を
持たされて記憶されていたデータの連続性がとぎれてし
まう。一般に、キャッシュメモリでは、連続性あるデー
タを上位装置が読み出す場合、そのデータの1セクタ分
でもキャッシュヒットがなされなければ、磁気ディスク
記憶装置をアクセスする必要が生じ、結局、アクセス速
度は全データを磁気ディスク記憶装置から読み出す場合
と同程度に低下する。本実施例では係る問題点をも解決
する。
【0029】なお、図5においては、磁気ディスク記憶
装置11のセクタ領域11Aから読み出されたデータD
1、D2、D3は、リードキャッシュメモリ14Aの所
定キャッシュブロックに、ロウナンバーは問わないが、
各カラムを横断する方向に記憶される。また、ディレク
トリ情報等が登録されるメモリテーブル25Aには、リ
ードキャッシュメモリ14AのデータD1、D2、D3
が記憶されたキャッシュブロックに対応して、ディレク
トリ情報等d1、d2、d3が記憶される。もちろん、
磁気ディスク記憶装置11のセクタ数とリードキャッシ
ュメモリ14のカラム数とが一致するようにリードキャ
ッシュメモリ14を構成する必要はなく、磁気ディスク
記憶装置11連続する所定数のセクタのデータをリード
キャッシュメモリ14の各カラムに配置できれば十分で
ある。
【0030】図6には、MPU16が図1の各手段とし
て機能するためのプログラムに対応したフローチャート
が示されている。このフローチャートのプログラムは、
主メモリ17に記憶されている。以下、上記の図6に示
されフローチャートを参照して実施例の動作を説明す
る。電源投入等により磁気ディスク制御装置10が立ち
上がると、図6のフローチャートのプログラムが読み出
され、起動される。すると、MPU16は、上位装置2
よりリード要求が到来するのを待つ(101)。ここ
で、リード要求が到来すると、リード要求に含まれるバ
ッファの使用・不使用を示す情報を参照しバッファを使
用するか否か検出する(102)。バッファを使用しな
いことが、つまり、リードキャッシュメモリ14を使用
してのデータアクセスであることが検出されると、リー
ドキャッシュメモリ14を用いてデータ転送を行う(1
03)。つまり、リード要求に含まれる読み出し対象デ
ータの磁気ディスク記憶装置11におけるアドレス(デ
ィスクナンバー、セクタアドレス)に基づき、図3に示
すメモリテーブル25のタグ情報を参照して、リードキ
ャッシュメモリ14に記憶されているかを検出する。リ
ードキャッシュメモリ14に記憶されている場合には、
DMAC15に指示を与えて当該データをインタフェー
ス12へ転送させ、インタフェース12から上位装置2
へと送出させる。一方、リードキャッシュメモリ14に
記憶されていない場合には、インタフェース13を介し
て磁気ディスク記憶装置11へアドレス(ディスクナン
バー、セクタアドレス)とリードコマンドとを与え、更
に、DMAC15に指示を与えて磁気ディスク記憶装置
11から読み出される当該データをインタフェース13
からへリードキャッシュメモリ14へ転送させ、更に、
当該データをインタフェース12へ転送させ、インタフ
ェース12から上位装置2へと送出させる。
【0031】上記図6のステップ102において、バッ
ファを使用することが検出されると、図4に示したバッ
ファカラムポインタ26の値(例えば、1)を取り込み
(104)、更に、ポインタが示すコラムナンバーのバ
ッファ数カウンタ27から、バッファ数をサーチし(1
05)、その数が閾値情報28の閾値「k」以上かを検
出する(106)。ここで、閾値「k」以上である場合
には、ポインタ26を「1」歩進して(107)更に、
ポインタが示すコラムナンバーのバッファ数カウンタ2
7から、バッファ数をサーチし(105)、その数が閾
値情報28の閾値「k」以上かを検出する(106)。
これにより、各カラムにおいて、所定数のキャッシュ用
領域が残るようになり、1つのカラムが全てバッファ用
に転用されることなく、セットアソシアティブマッピン
グ方式により記憶されるデータの連続性がとぎれてしま
うことを防止する。上記ポインタ26が最大カラム数と
なている時(図5の例では、「11」)には、「1」へ
戻すものとする。このように動作するうちに、閾値
「k」未満のバッファ数のカラムが検出されると、図3
のフラグ情報によりキャッシュ(CACHE)または未
使用(0)となっているキャッシュブロックを得る。そ
して、このキャッシュブロックについて、図3のメモリ
テーブル25からフラグ情報により、LRU情報が記憶
されているキャッシュブロックのアドレスを得て、リー
ドキャッシュメモリ14の該当キャッシュブロックから
LRU情報を得て、当該カラムにおいて最近に最も使用
されることのなかったデータが記録されているキャッシ
ュブロックを検出し、これをデータバッファに転用する
と共に、当該カラムに対応のバッファ数カウンタ27を
「1」歩進する(108)。更に、図3のメモリテーブ
ル25の対応ディレクトリ情報のフラグ情報について、
データバッファ用に転用したこと(BUFF.)を登録
し、取得したキャッシュブロックをDMAC15に通知
し、及びリード要求に含まれる読み出し対象データの磁
気ディスク記憶装置11におけるアドレス(ディスクナ
ンバー、セクタアドレス)とリードコマンドとを磁気デ
ィスク記憶装置11へ与え、更に、DMAC15に指示
を与えて磁気ディスク記憶装置11から読み出される当
該データをインタフェース13からへリードキャッシュ
メモリ14のバッファ用として確保されたキャッシュブ
ロックへ転送させ、更に、当該データをインタフェース
12へ転送させ、インタフェース12から上位装置2へ
と送出させる(110)。
【0032】上記のデータ転送中に、MPU16は、デ
ータ転送の完了を、上位装置2から送られたデータ要求
から検出し(111)、更に、同上位装置2から送られ
たデータ要求から更にバッファ用のキャッシュブロック
を取得する必要があるのかを検出し(112)、他のバ
ッファ用のキャッシュブロックを取得する必要がない場
合は、ステップ110〜112を繰り返すが、他のバッ
ファ用のキャッシュブロックを取得する必要がある場合
には、ステップ104へ戻って他のバッファ用のキャッ
シュブロックを取得する。このようにして、リードキャ
ッシュメモリ14内においてキャッシュブロックから転
用された必要数のバッファを使用して、上位装置2と磁
気ディスク記憶装置11と間でデータ転送が行われる。
【0033】そして、ステップ111にて、データ転送
の完了が、DAMC15からの通知で検出されると、M
PU16は、図3のメモリテーブル25の対応するカラ
ムのフラグ情報についてデータバッファ用に転用(BU
FF.)から解放して未使用「0」とし、かつ、図4の
バッファ数カウンタ27をリセットして(113)リタ
ーンする。これにより、MPU16は、解放されたキャ
ッシュブロックを再びキャッシュ用として使用できる。
【0034】以上の通り、本実施例によれば、各カラム
において、バッファ用に転用するキャッシュブロックの
数を制限し、これを越えると次のカラムへ進んでバッフ
ァ用に転用するキャッシュブロックの確保動作を行うの
で、1つのカラムが全てバッファ用に転用されることを
防止して、連続性あるデータを上位装置が読み出す場
合、そのデータの1セクタ分でもリードキャッシュメモ
リ14に記憶されていないことに基づくキャッシュヒッ
トがなされない確率を下げ、セットアソシアティブマッ
ピング方式のキャッシュ制御におけるアクセス速度の低
下を少なくし、かつ、バッファ領域の確保に応える。
【0035】なお、上記実施例では、LRU情報を用い
てバッファ用に転用する領域を検出したが、これに限定
されない。他の実施例では、例えば、連続するセクタの
データが他の領域に記憶されているデータであるか否か
の情報を主メモリ17に保持するようにし、この情報に
より、連続するセクタのデータが他の領域に記憶されて
いるデータの領域である場合に、この領域を避けてバッ
ファ用への転用を図るようにする。この実施例による
と、上記実施例以上に、連続性あるデータを上位装置が
読み出す場合、そのデータの1セクタ分でもリードキャ
ッシュメモリ14に記憶されていないことに基づくキャ
ッシュヒットがなされない確率を下げ、セットアソシア
ティブマッピング方式のキャッシュ制御におけるアクセ
ス速度の低下を少なくしながら、バッファ領域の確保に
応える。
【0036】
【発明の効果】以上説明したように請求項1に記載の本
発明に係るキャッシュ制御装置によれば、キャッシュメ
モリの各領域の用途を、キャッシュ用からバッファ用に
またはバッファ用からキャッシュ用に変更して使用する
ので、バッファ用に領域が固定されることなく、バッフ
ァが必要な時にのみ、キャッシュ用の領域をバッファ用
へ転用し、各領域を基本的にはキャッシュメモリとして
使用することができ、データバッファに必要な領域を確
保しつつ、キャッシュの性能の低下を少なくすることが
できる。
【0037】また、請求項2に記載の本発明に係るキャ
ッシュ制御装置によれば、セットアソシアティブマッピ
ング方式のキャッシュ制御を行う場合に、キャッシュメ
モリの各領域の用途を、キャッシュ用からバッファ用に
転用するとき、各カラムを均等に選択してキャッシュ用
からバッファ用に転用するので、データバッファに必要
な領域を確保しつつ、バッファ用に転用される領域が特
定のカラムに偏ることがなく、キャッシュメモリをセッ
トアソシアティブマッピング方式のキャッシュ制御に好
適な状態とし、読み出されるべき記憶装置のデータにつ
いてキャッシュヒット率の低下を防ぐことができる。
【0038】また、請求項3に記載の本発明に係るキャ
ッシュ制御装置によれば、各カラムにおいて、所定数の
キャッシュ用領域が残るように当該カラムにおける領域
を、キャッシュ用からバッファ用に転用して、セットア
ソシアティブマッピング方式により記憶されるデータの
連続性を、上記の残された当該カラムの領域を用いて確
保するようにでき、データバッファに必要な領域を確保
しつつ、キャッシュメモリをセットアソシアティブマッ
ピング方式のキャッシュ制御に好適な状態とし、読み出
されるべき記憶装置のデータについてキャッシュヒット
率の低下を防ぐことができる。
【0039】また、請求項4に記載の本発明に係るキャ
ッシュ制御装置によれば、カラムにおける領域におい
て、キャッシュ用からバッファ用に転用された数が所定
数を越えた場合、次のカラムにおいてキャッシュ用から
バッファ用への転用を実行し、各カラムにおいてキャッ
シュ用の領域を所定数確保し、セットアソシアティブマ
ッピング方式により記憶されるデータの連続性を、上記
の確保された当該カラムの領域を用いて保証するように
でき、データバッファに必要な領域を確保しつつ、キャ
ッシュメモリをセットアソシアティブマッピング方式の
キャッシュ制御に好適な状態とし、読み出されるべき記
憶装置のデータについてキャッシュヒット率の低下を防
ぐことができる。
【0040】また、請求項5に記載の本発明に係るキャ
ッシュ制御装置によれば、各領域がキャッシュ用とバッ
ファ用とのいずれであるかを示す用途情報に基づき各領
域をキャッシュ用とバッファ用との間で変更するので、
キャッシュ用またはバッファ用の領域を必要なだけ的確
に確保でき、或いは制限を越えて確保することを防止で
き、データバッファに必要な領域を確保しつつ、キャッ
シュの性能の低下を少なくすることができる。
【0041】また、請求項6に記載の本発明に係るキャ
ッシュ制御装置によれば、領域を、キャッシュ用からバ
ッファ用に転用する場合には、LRU(Least Recently
Used )方式により、転用すべき領域を検出するため、
当該時点の近くには使用されていないデータが記憶され
ているキャッシュ用の領域をバッファ用に転用すること
ができ、必要と思われるデータがキャッシュメモリから
消去されること確率を少なくできる。
【0042】、請求項7に記載の本発明に係るキャッシ
ュ制御装置によれば、データ転送手段によるデータの転
送が完了した後に、キャッシュ用からバッファ用に転用
されていた領域を、バッファ用から解放するため、この
解放された領域を再びキャッシュ用として使用でき、デ
ータバッファに必要な領域を確保しつつ、キャッシュの
性能の低下を少なくすることができる。
【図面の簡単な説明】
【図1】本発明の実施例に係るキャッシュ制御装置を用
いて構成したコンピュータシステムの機能ブロック図。
【図2】本発明の実施例に係るキャッシュ制御装置を用
いて構成したコンピュータシステムの詳細なブロック
図。
【図3】本発明の実施例に係るキャッシュ制御装置に保
持される、ディレクトリ情報等が登録されたメモリテー
ブルを示す図。
【図4】本発明の実施例に係るキャッシュ制御装置に保
持される、ポインタ等が登録された主メモリの要部を示
す図。
【図5】本発明の実施例に係るキャッシュ制御装置を用
いて構成したコンピュータシステムにおいて、セットア
ソシアティブマッピング方式による制御を示すための
図。
【図6】本発明の実施例に係るキャッシュ制御装置の動
作を示すフローチャート。
【図7】従来のキャッシュ制御装置を用いて構成したコ
ンピュータシステムの詳細なブロック図。
【符号の説明】
1 キャッシュ制御装置 2,20
上位装置 3 記憶装置 4 キャッ
シュメモリ 5 用途管理手段 6 データ
転送手段 7 用途情報 8 検索対
象カラム情報 9 転用候補情報 10 磁気
ディスク制御装置 11 磁気ディスク記憶装置 12、1
3、 インタフェース 14 リードキャッシュメモリ 15 DM
AC 16 MPU 17 主メ
モリ 21 ホストCPU 22 主制
御装置 23 インタフェース

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数のブロックに分けられた領域を有す
    るキャッシュメモリと、 このキャッシュメモリの前記
    各領域の用途を、キャッシュ用からバッファ用にまたは
    バッファ用からキャッシュ用に変更する用途管理手段
    と、 この用途管理手段により用途がキャッシュ用からバッフ
    ァ用に変更された領域をバッファメモリ領域として使用
    して、記憶装置と上位装置との間でデータ転送を行うデ
    ータ転送手段とを備えることを特徴とするキャッシュ制
    御装置。
  2. 【請求項2】 セットアソシアティブマッピング方式の
    キャッシュ制御装置において、 複数のブロックに分けられた領域を有するキャッシュメ
    モリと、 このキャッシュメモリの前記各領域の用途を、キャッシ
    ュ用からバッファ用に転用する場合、各カラムを均等に
    選択してキャッシュ用からバッファ用に転用する一方、
    バッファ用からキャッシュ用に変更する用途管理手段
    と、 この用途管理手段により用途がキャッシュ用からバッフ
    ァ用に変更された領域をバッファメモリ領域として使用
    して、記憶装置と上位装置との間でデータ転送を行うデ
    ータ転送手段とを備えることを特徴とするキャッシュ制
    御装置。
  3. 【請求項3】 用途管理手段は、 各カラムにおいて、所定数のキャッシュ用領域が残るよ
    うに当該カラムにおける領域を、キャッシュ用からバッ
    ファ用に転用することを特徴とする請求項2記載のキャ
    ッシュ制御装置。
  4. 【請求項4】 用途管理手段は、 カラムにおける領域において、キャッシュ用からバッフ
    ァ用に転用された数が所定数を越えた場合、次のカラム
    においてキャッシュ用からバッファ用への転用を実行す
    ることを特徴とする請求項2記載のキャッシュ制御装
    置。
  5. 【請求項5】 用途管理手段は、 各領域がキャッシュ用とバッファ用とのいずれであるか
    を示す用途情報を有し、この情報に基づき各領域をキャ
    ッシュ用とバッファ用との間で変更することを特徴とす
    る請求項1乃至請求項4のいずれか1項に記載のキャッ
    シュ制御装置。
  6. 【請求項6】 用途管理手段は、 領域を、キャッシュ用からバッファ用に転用する場合に
    は、LRU(Least Recently Used )方式により、転用
    すべき領域を検出することを特徴とする請求項1乃至請
    求項5のいずれか1項に記載のキャッシュ制御装置。
  7. 【請求項7】 用途管理手段は、 データ転送手段によるデータの転送が完了した後に、キ
    ャッシュ用からバッファ用に転用されていた領域を、バ
    ッファ用から解放することを特徴とする請求項1乃至請
    求項6のいずれか1項に記載のキャッシュ制御装置。
JP6138455A 1994-06-21 1994-06-21 キャッシュ制御装置 Withdrawn JPH086858A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6138455A JPH086858A (ja) 1994-06-21 1994-06-21 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6138455A JPH086858A (ja) 1994-06-21 1994-06-21 キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH086858A true JPH086858A (ja) 1996-01-12

Family

ID=15222420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6138455A Withdrawn JPH086858A (ja) 1994-06-21 1994-06-21 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH086858A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004282A (ja) * 2003-06-09 2005-01-06 Nec Corp ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム
JP2007528079A (ja) * 2004-03-08 2007-10-04 サンディスク コーポレイション フラッシュコントローラのキャッシュ構造
US7558937B2 (en) 2004-10-04 2009-07-07 Fujitsu Limited Disk array device memory having areas dynamically adjustable in size
JP2013510353A (ja) * 2009-11-09 2013-03-21 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング メモリ構成
US10210093B2 (en) 2013-12-09 2019-02-19 Samsung Electronics Co., Ltd. Memory device supporting both cache mode and memory mode, and operating method of the same

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004282A (ja) * 2003-06-09 2005-01-06 Nec Corp ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム
US7536518B2 (en) 2003-06-09 2009-05-19 Nec Corporation Scalable disc array unit, and management method and management program for a scalable disc array unit
JP2007528079A (ja) * 2004-03-08 2007-10-04 サンディスク コーポレイション フラッシュコントローラのキャッシュ構造
US9678877B2 (en) 2004-03-08 2017-06-13 Sandisk Technologies Llc Flash controller cache architecture
US7558937B2 (en) 2004-10-04 2009-07-07 Fujitsu Limited Disk array device memory having areas dynamically adjustable in size
JP2013510353A (ja) * 2009-11-09 2013-03-21 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング メモリ構成
US10210093B2 (en) 2013-12-09 2019-02-19 Samsung Electronics Co., Ltd. Memory device supporting both cache mode and memory mode, and operating method of the same

Similar Documents

Publication Publication Date Title
CA1176382A (en) Method and system for handling sequential data in a hierarchical store
EP0077453B1 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
JP4067887B2 (ja) プリフェッチを行う演算処理装置、情報処理装置及びそれらの制御方法
EP0104588A2 (en) Peripheral storage system having multiple data transfer rates
JPS6367686B2 (ja)
JPS624745B2 (ja)
JPH06348597A (ja) キャッシュ制御方法および回転形記憶装置
US7237067B2 (en) Managing a multi-way associative cache
WO2005121966A2 (en) Cache coherency maintenance for dma, task termination and synchronisation operations
CN113641596B (zh) 缓存管理方法、缓存管理装置、处理器
WO2015081889A1 (zh) 一种缓存系统和方法
KR20110101994A (ko) 멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법
US6792498B2 (en) Memory system with mechanism for assisting a cache memory
JPH086858A (ja) キャッシュ制御装置
AU604101B2 (en) High availability cache organization
JPH044617B2 (ja)
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法
US20100299482A1 (en) Method and apparatus for determining cache storage locations based on latency requirements
JP3130591B2 (ja) キャッシュメモリを持つコンピュータ
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
JP3221409B2 (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
JPH02224040A (ja) データローディング方法および装置
CN117311638A (zh) 缓存管理方法、缓存管理装置、处理器
JPS593772A (ja) 2階層スタツクの制御方式
JPH10320278A (ja) メモリコントローラ及びコンピュータシステム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010904