JPH10269143A - ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置 - Google Patents

ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置

Info

Publication number
JPH10269143A
JPH10269143A JP9071670A JP7167097A JPH10269143A JP H10269143 A JPH10269143 A JP H10269143A JP 9071670 A JP9071670 A JP 9071670A JP 7167097 A JP7167097 A JP 7167097A JP H10269143 A JPH10269143 A JP H10269143A
Authority
JP
Japan
Prior art keywords
disk
cache
disk cache
ways
sets
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
JP9071670A
Other languages
English (en)
Inventor
Atsushi Matsushita
淳 松下
Junichi Ishikawa
純一 石川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9071670A priority Critical patent/JPH10269143A/ja
Publication of JPH10269143A publication Critical patent/JPH10269143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 ストアイン型セットアソシエイティブ方式を
採用したディスクキャッシュ装置において、システムの
稼働を停止せずに、セット数及びウェイ数を変更する。 【解決手段】 該当するディスクに対するディスクキャ
ッシュのライトキャッシュ機能を停止する(ステップS
8−2)。これによって、新たなライトデータはディス
クキャッシュに書き込まれない。ライトバック動作によ
ってディスクキャッシュからライトデータが完全にディ
スクに転送されたことを確認した後(ステップS8−
3、S8−4)、該当するディスクキャッシュの機能を
完全に停止する(ステップS8−5)。その後、ディス
クキャッシュのセット数やウェイ数を変更する(ステッ
プS8−7)。次に、ディスクキャッシュの動作を開始
する(ステップS8−8)。これによって、システムを
停止させずにディスクキャッシュのセット数やウェイ数
を変更できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスクキャッシ
ュに関する。特に、ストアイン型のセットアソシエイテ
ィブ方式を採用したディスクキャッシュに関する。
【0002】
【従来の技術】ディスク記憶装置は大容量のデータを記
憶するのに幅広く用いられている。しかし、一般に、C
PU等のデータ処理ユニットに比較してデータのアクセ
ス速度が遅いため、いわゆるディスクキャッシュが広く
用いられている。そして、このようなディスクキャッシ
ュを内蔵したディスク記憶装置も多く用いられている。
このディスクキャッシュにおいては、データの実際のデ
ィスク上のアドレスと、ディスクキャッシュ上の格納位
置との対応手法が種々提案されている。これらの手法の
内、セットアソシエイティブ方式は性能と構成のバラン
スが良いため広く用いられている。
【0003】
【発明が解決しようとする課題】このようなセットアソ
シエイティブ方式のディスクキャッシュにおいては、セ
ット数とウェイ数とがヒット率に大きな影響を与えるこ
とが知られている。しかし、システムの稼働中には、セ
ット数とウェイ数の値を変更することは容易ではない。
【0004】さらに、システムで使用するアプリケーシ
ョンが複数個ある場合は、セット数とウェイ数とが固定
であることによって、実行しているアプリケーションに
よってはキャッシュのヒット率が低下してしまう事態も
想定される。
【0005】本発明は、係る課題に鑑みなされたもので
あり、その目的は、アプリケーションを実行したまま、
ディスクキャッシュのパラメータを変更する方法を提供
することである。
【0006】又、本発明は、アプリケーションを実行し
たまま、ディスクキャッシュのパラメータを最適な値に
設定できる方法を提供することである。
【0007】又、本発明は、複数のディスクに共通に設
けられているディスクキャッシュであって、各ディスク
毎にキャッシュのパラメータを設定できるディスクキャ
ッシュを提供することを目的とする。
【0008】パラメータとしては容量や、セット数、ウ
ェイ数等が挙げられる。
【0009】又、本発明は、複数のディスクに共通に設
けられているディスクキャッシュであって、各ディスク
に対するアクセス回数に基づき、各ディスクのキャッシ
ュの容量を設定できるディスクキャッシュを提供するこ
とを目的とする。
【0010】又、本発明は、セット数やウェイ数をヒッ
ト率を最大にするように設定できるディスクキャッシュ
を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明は、上記課題を解
決するために、ストアイン型セットアソシエイティブ方
式を採用したディスクキャッシュ装置のセット数及びウ
ェイ数を変更する方法において、ライトキャッシュ機能
をOFF動作させ、前記ディスクキャッシュ装置から前
記ディスク装置へのライトバック動作を維持したまま、
前記ディスク装置に書き込むべきデータであるライトデ
ータが新たに前記ディスクキャッシュ装置に書き込まれ
ることを禁止するライトキャッシュ機能OFFステップ
と、前記ディスクキャッシュ装置に、前記ライトデータ
がまだ格納されているか否かを観察し、前記ライトデー
タが前記ディスクキャッシュ装置に格納されていない状
態になるまで、該監視を続ける監視ステップと、前記監
視ステップにおいて、前記ディスクキャッシュ装置に前
記ライトデータが格納されていないと判断された場合
に、前記ディスクキャッシュ装置の機能を停止させるデ
ィスクキャッシュ機能停止ステップと、前記ディスクキ
ャッシュ装置の内容を無効化する無効化ステップと、前
記ディスクキャッシュ装置のセット数とウェイ数とを所
定の値に設定するセット数及びウェイ数設定ステップ
と、前記ディスクキャッシュ装置を動作状態にするキャ
ッシュ機能ONステップと、を含むものである。
【0012】本発明は、前記キャッシュパラメータは、
前記ディスクキャッシュ装置のセット数及びウェイ数で
あるものである。
【0013】本発明は、セットアソシエイティブ方式を
採用したディスクキャッシュ装置のセット数及びウェイ
数を算出する方法において、前記ディスク装置に対し
て、セット及びウェイの数を設定する設定ステップであ
って、前記設定するセット数及びウェイの数を変動させ
ながら、前記ディスク装置のヒット率を検出する変動ヒ
ット率検出ステップと、前記変動ヒット率検出ステップ
において検出したヒット率と、その検出時の前記セット
数及びウェイ数とを、記憶する記憶ステップと、前記記
憶ステップにおいて記憶したヒット率の中から、最大の
ヒット率を見つけだし、その最大のヒット率を検出した
時の前記セット数及びウェイ数を出力するセット・ウェ
イ数算出ステップと、を含むものである。
【0014】本発明は、セットアソシエイティブ方式を
採用したディスクキャッシュ装置のセット数及びウェイ
数を設定する方法において、前記ディスク装置に対し
て、セット数及びウェイの数を設定する設定ステップで
あって、前記設定するセット数及びウェイの数を変動さ
せながら、前記ディスク装置のヒット率を検出する変動
ヒット率検出ステップと、前記変動ヒット率検出ステッ
プにおいて検出したヒット率と、その検出時の前記セッ
ト数及びウェイ数とを、記憶する記憶ステップと、前記
記憶ステップにおいて記憶したヒット率の中から、最大
のヒット率を見つけだし、その最大のヒット率を検出し
た時の前記セット数及びウェイ数を出力するセット・ウ
ェイ数算出ステップと、前記セット・ウェイ数算出ステ
ップにおいて算出したセット数及びウェイ数を前記ディ
スクキャッシュ装置に設定する設定ステップと、を含む
ものである。
【0015】本発明は、複数のディスク装置に共通のデ
ィスクキャッシュ装置において、前記複数のディスク装
置のそれぞれに対して、独立してディスクキャッシュ容
量を設定する方法において、前記複数のディスク装置の
それぞれに対するアクセス回数をカウントするカウント
ステップと、前記カウントステップにおいてカウントし
た各ディスク装置に対するアクセス回数に基づき、前記
複数のディスク装置のそれぞれに対するディスクキャッ
シュ容量を設定するディスクキャッシュ容量設定ステッ
プと、を含むものである。
【0016】本発明は、ストアイン型セットアソシエイ
ティブ方式を採用したディスクキャッシュ装置におい
て、ライトキャッシュ機能をOFF動作させ、本ディス
クキャッシュ装置から前記ディスク装置へのライトバッ
ク動作を維持したまま、前記ディスク装置に書き込むべ
きデータであるライトデータが新たに本ディスクキャッ
シュ装置に書き込まれることを禁止するライトキャッシ
ュ機能OFF手段と、本ディスクキャッシュ装置に、前
記ライトデータがまだ格納されているか否かを観察し、
前記ライトデータが本ディスクキャッシュ装置に格納さ
れていない状態になるまで、該監視を続ける監視手段
と、前記監視手段が、本ディスクキャッシュ装置に前記
ライトデータが格納されていないと判断した場合に、本
ディスクキャッシュ装置の機能を停止させるディスクキ
ャッシュ機能停止手段と、前記ディスクキャッシュ装置
の内容を無効化する無効化手段と、前記ディスクキャッ
シュ装置のセット数とウェイ数とを所定の値に設定する
セット数及びウェイ数設定手段と、前記ディスクキャッ
シュ装置を動作状態にするキャッシュ機能ON手段と、
を含むものである。
【0017】本発明は、複数のディスク装置に共通のデ
ィスクキャッシュ装置であって、セットアソシエイティ
ブ方式を採用したディスクキャッシュ装置において、前
記複数のディスク装置のそれぞれに対して、独立してキ
ャッシュパラメータを設定するキャッシュパラメータ設
定手段、を含むものである。
【0018】本発明は、前記キャッシュパラメータ設定
手段は、前記複数のディスク装置のそれぞれに対して、
独立してセット数及びウェイ数を設定するセット・ウェ
イ数設定手段、を含むものである。
【0019】本発明は、前記キャッシュパラメータ設定
手段は、前記複数のディスク装置のそれぞれに対して、
独立してディスクキャッシュの容量を設定するディスク
キャッシュ容量設定手段、を含むものである。
【0020】本発明は、前記複数のディスク装置のそれ
ぞれに対するアクセス回数をカウントするカウンタ手
段、を含み、前記ディスクキャッシュ容量設定手段は、
前記カウント手段がカウントした各ディスク装置に対す
るアクセス回数に基づき、前記複数のディスク装置のそ
れぞれに対するディスクキャッシュ容量を設定するもの
である。
【0021】本発明は、セットアソシエイティブ方式を
採用したディスクキャッシュ装置において、ディスク装
置に対してセット及びウェイを設定する手段であって、
前記設定するセット数及びウェイの数を変動させなが
ら、前記ディスク装置のヒット率を検出する変動ヒット
率検出手段と、前記変動ヒット率変動手段によって検出
されたヒット率と、前記ヒット率を検出した時の前記セ
ット数及びウェイ数とを記憶する記憶手段と、前記記憶
手段中から、最大のヒット率を見つけだし、この最大の
ヒット率が検出された時のセット及びウェイ数を出力す
るセット・ウェイ数決定手段と、を含むものである。
【0022】本発明は、最適セット・ウェイ数決定手段
によって出力されたセット数及びウェイ数を、本ディス
クキャッシュに設定するセット数及びウェイ数設定手
段、を含むものである。
【0023】
【発明の実施の形態】以下、本発明の好適な実施の形態
を図面に基づいて説明する。
【0024】実施の形態1.図1には、本発明の好適な
実施の形態に係るディスク記憶装置の構成ブロック図が
示されている。この図1に示されているように、本ディ
スク記憶装置は、複数のディスク10を備えたディスク
記憶装置である。これら複数のディスク10はディスク
コントローラ12によって制御されている。このディス
クコントローラ12は、ホスト14からの指示により所
定のデータをディスク10に対して書き込む動作や、ホ
スト14からの指示により所望のデータをディスク10
から読み出す動作などを行う。
【0025】本実施の形態にかかるディスクコントロー
ラ12には、ディスクキャッシュ16が備えられてい
る。このディスクキャッシュ16は従来のディスクキャ
ッシュと同様にキャッシュデータ部18とキャッシュ制
御機構20とを備えている。
【0026】このように、本実施の形態は複数のディス
ク10を制御するディスクコントローラ12に備えられ
ているディスクキャッシュ16に関するものである。特
に、キャッシュ制御機構20によるディスク制御とし
て、いわゆるストアイン型の制御方式を採用しているも
のである。
【0027】また、キャッシュデータ部18にはリード
キャッシュとライトキャッシュとが含まれている。リー
ドキャッシュは、ディスク10から読みとったデータを
一時保持しておくキャッシュであり、ホスト14から再
び同じデータに対しアクセスがあった場合に、このリー
ドキャッシュに保持されているデータをディスクコント
ローラ12はホスト14に返すものである。
【0028】ライトキャッシュはディスク10に書き込
むべきデータを一旦保持しておくキャッシュである。本
実施の形態においては、いわゆるストアイン型のライト
キャッシュの制御方式を採用しており、ホスト14がデ
ィスクコントローラ12に対し送出したデータはライト
キャッシュにのみ書き込まれる。そして、ホスト14か
らのライトキャッシュへのデータの書き込みとは独立し
てライトキャッシュからディスク10にデータが転送さ
れている。このように、ホスト14からのデータ書込と
は独立して、ライトキャッシュからのデータをディスク
10に書き込むデータをライトバック動作と一般に呼
ぶ。ストアイン型の制御方式はこのようにライトバック
動作を用いることにより、ホスト14からのデータの処
理を迅速に行おうとするものである。
【0029】なお、リードキャッシュとライトキャッシ
ュとは必ずしも物理的に別個独立とは限らず、一般には
物理的に同一のキャッシュが用いられる。本実施の形態
においては、単一のデータアレイ22がリードキャッシ
ュ及びライトキャッシュとして用いられる構成が採用さ
れている。
【0030】図1におけるキャッシュデータ部18の詳
細な構成図が図2に示されている。図2に示されている
ように、キャッシュデータ部18は、データアレイ22
とアドレスアレイ24と、データ保護用バッテリ26
と、を備えている。
【0031】データアレイ22は、複数のブロックに分
割されている記憶装置であり、実際にディスクに書き込
むべきデータ、又はディスクから読んできたデータを収
納する部分である。例えばひとつのブロックは1kバイ
ト等の値が採用される。
【0032】アドレスアレイ24は、データアレイ22
の各ブロック数と同数のタグに分割されている記憶装置
である。すなわち、各ブロック毎にその情報を保持する
記憶装置である。
【0033】このように、アドレスアレイ24はデータ
アレイ22のブロックと同数のタグに分割されており、
各タグには、そのブロックが保持するデータがどのディ
スクに対応するか否かを表す「ディスク番号」やそのデ
ィスク中のどのアドレスのデータであるか否かを表す
「アドレス」等の情報が格納されている。上述したよう
に、本実施の形態に係るディスク記憶装置は、複数のデ
ィスク10を備えているため、データアレイ22の各ブ
ロックについてどのディスク10の中のデータであるか
否かを表す必要があるためである。
【0034】更に、このアドレスアレイ24の各タグの
中には、ライトデータであるのかリードデータであるの
かを表す「ライト/リードデータ」のフラグが格納され
ている。ここで、このフラグの値が「ライトデータ」で
あるときは、対応するブロックのデータがディスク10
に書き込むべきデータであることを意味する。上述した
ように、本実施の形態においてはストアイン型のライト
キャッシュを採用しているため、ライトバック動作によ
りこの「ライトデータ」はいずれディスク10に書き込
まれるべきデータである。フラグの値の「リードデー
タ」とは、対応するブロックのデータがディスク10か
ら読みとったデータであることを意味する。従って、デ
ィスク10からデータを読む代わりに、このリードデー
タをデータアレイ22から読み出すことができれば、迅
速なデータの読み出しが行える。
【0035】なお、値「ライトデータ」は、対応するブ
ロックのデータがライトバック動作によりディスク10
に書き込まれた後は、ディスク10内部のデータとその
値が一致するため、「リードデータ」のフラグ値に変更
される。
【0036】また、アドレスアレイ24の各タグの中に
は、「LRU情報」及びその他の制御情報も格納されて
いる。この「LRU情報」は、いわゆるキャッシュの追
い出し動作などにおいてどのブロックを追い出すべきか
否かを決定するのに用いられる情報である。
【0037】データ保護用バッテリ26は、停電などに
よりデータアレイ22やアドレスアレイ24のデータが
破壊されないように、充電式のバッテリによりこれらの
記憶装置を保護する働きをしている。本実施の形態にお
いては、ストアイン型のライトキャッシュを用いている
ため、データの書き込みがあった場合にはディスク10
の内容とデータアレイ22の内容が一致しない場合が生
じている。この場合、正しい値は、ライトキャッシュに
のみ保持されている。従って、停電などによりデータア
レイ22やアドレスアレイ24の内容が消えてしまう
と、正しいデータを復元できなくなってしまう場合が生
じるからである。
【0038】図1におけるキャッシュ制御機構20の詳
細な構成図が図3に示されている。この図3に示されて
いるように、キャッシュ制御機構20はヒット判定部や
ライトバック動作を制御するライトバック制御部などの
従来から良く知られている従来の機構28を備えてい
る。この従来の機構28に加え、本実施の形態に係るキ
ャッシュ制御機構20は、ディスクへのアクセス回数を
測定するアクセス回数測定部30と、ディスクキャッシ
ュにヒットする確率であるヒット率を測定するヒット率
測定部32と、キャッシュパラメータの変更を行うキャ
ッシュパラメータ変更部34と、を備えている。キャッ
シュパラメータの具体的な内容については、後述する。
また、図3に示されているように、キャッシュ制御機構
20は、キャッシュパラメータを管理するパラメータ管
理テーブル36を備えている。
【0039】アクセス回数測定部30は、各ディスク1
0毎のキャッシュへのアクセス回数を測定するものであ
る。また、ヒット率測定部32は各ディスク10毎のヒ
ット率を測定するものである。このヒット率を測定する
にはディスク10へのアクセス回数と、ディスクキャッ
シュにヒットした回数を用いれば測定することができ
る。このヒットした回数をについては、このヒット率測
定部32は、従来の機構28に含まれるヒット判定部の
ヒットの判定を単に監視しているだけである。このヒッ
ト判定部のヒット判定を監視することにより、容易にヒ
ット率を測定することができる。
【0040】本実施の形態においては、後述するよう
に、ライトアクセスは基本的に常にヒット扱いと同様の
扱いがなされるため、リードアクセスについてこのヒッ
ト率を測定している。
【0041】キャッシュパラメータ変更部34は、各デ
ィスク10に対応したキャッシュ領域の分割や、その他
のキャッシュのパラメータの変更を行う部分である。後
述するように、本実施の形態においては各ディスク毎に
キャッシュ容量を別個に設定することができ、各ディス
ク10に対応するキャッシュ容量がこのキャッシュパラ
メータ変更部34において設定されるのである。
【0042】また、本実施の形態においては後述するよ
うにいわゆるセットアソシエイティブ制御方式を採用し
たディスクキャッシュを利用しているが、このセットア
ソシエイティブ制御方式におけるセット数及びウェイ数
をキャッシュパラメータとして変更する部分がこのキャ
ッシュパラメータ変更部34である。
【0043】パラメータ管理テーブル36は、各ディス
ク毎のキャッシュのパラメータを管理するテーブルであ
る。このパラメータ管理テーブル36においては各ディ
スク10毎に、例えば「キャッシュバイパスレングス」
や「キャッシュON/OFF」、「ライトキャッシュO
N/OFF」等の情報が格納されている。
【0044】ここで、「キャッシュバイパスレングス」
は、キャッシュを用いずにデータ転送が行われる場合の
データの長さである。ディスクキャッシュが備えられて
いる場合には、データの読み出しや書き込みは原則とし
て全てディスクキャッシュを介して行われる。しかし、
きわめて巨大なデータの転送においては、いちいちキャ
ッシュにデータを格納するのは、オーバヘッドが大きく
なってしまうため、直接ディスク10に書き込んだ(又
は読み出した)方が速度が向上する場合がある。又、そ
のような巨大なデータは頻繁にアクセスされるものでは
ないと考えられるため、ディスクキャッシュに格納して
おく意味がほとんどないことが多い。
【0045】そのため、ある一定の長さ以上の大きなデ
ータについてはディスクキャッシュをバイパスするよう
な制御が行われることが多い。このようにキャッシュを
バイパスするべきデータの大きさの最小の大きさがこの
「キャッシュバイパスレングス」であり、この「キャッ
シュバイパスレングス」より大きな長さのデータはディ
スクキャッシュを介さずに直接ディスク10とデータの
やりとりが行われる。
【0046】パラメータの「キャッシュON/OFF」
は、ディスクキャッシュを用いるか否かを表す情報であ
る。また、「ライトキャッシュON/OFF」は、スト
アイン型の制御か、もしくはライトスルー型の制御を行
うかを表すフラグである。「ライトキャッシュON」の
場合にはストアイン型のキャッシュの制御を意味し、
「ライトキャッシュOFF」の場合にはライトスルー型
の制御を意味する。
【0047】このパラメータ管理テーブル36には、
「スタートブロック」と「エンドブロック」に関しても
各ディスク10毎に記憶している。本実施の形態におい
ては、ディスクキャッシュはひとつの大きな容量の記憶
装置を設け、各ディスク10毎にこの記憶装置の中を適
宜区切って、各ディスク10用のディスクキャッシュと
して利用しているのである。従って、各ディスク10が
用いるディスクキャッシュはその一つの巨大な記憶装置
の中のどの部分を利用するのかをあらかじめ決めておく
必要がある。
【0048】そこで、各ディスク10毎にディスクキャ
ッシュとして用いる領域を、上記「スタートブロック」
と「エンドブロック」で囲まれた部分と定義しているの
である。換言すれば、使用する領域の始点が「スタート
ブロック」で示され、終点が「エンドブロック」で示さ
れているのである。
【0049】この「スタートブロック」と「エンドブロ
ック」の値を調整することにより、各ディスク10に対
して用いられるディスクキャッシュの容量を調整するこ
とが本実施の形態においてできるものである。
【0050】更に、パラメータ管理テーブル36は、各
ディスク10毎の「セット数」と「ウェイ数」とを格納
している。このセット数とウェイ数とはセットアソシエ
イティブ方式のディスクキャッシュにおけるセット数と
ウェイ数である。
【0051】本実施の形態において特徴的なことは、こ
のセット数とウェイ数とが各ディスク10毎に別個独立
に設定できることである。このように、セット数及びウ
ェイ数を各ディスク10毎に設定できるため、データア
クセスの仕方に応じた最適なセット数及びウェイ数を各
ディスク10毎に設定することができるのである。
【0052】本実施の形態において特徴的なことはこの
パラメータ管理テーブル36の中に、スタートブロック
及びエンドブロック、そしてセット数及びウェイ数が格
納されていることである。このような値が各ディスク1
0毎に設けられているため、ディスク毎にディスクキャ
ッシュの容量を調節することができ、またディスク10
毎にセット数やウェイ数を変更することができるもので
ある。従来の技術では、このようなキャッシュのパラメ
ータはディスク記憶装置全体に対して単一の値しか設定
できず、各ディスク10毎にきめ細かい制御を行うこと
はできなかったのである。
【0053】図4には、ディスクキャッシュの動作概要
を表す説明図が示されている。この図を用い、ディスク
キャッシュの動作を簡単に説明する。
【0054】ミスヒット時のリード動作 まず、ホスト14からディスクコントローラ12に対
し、リードコマンドが発行される(1)。次にディスク
コントローラ12はこのリードコマンドに対応してディ
スクキャッシュ16の内容を確認する(2)。ディスク
キャッシュ16の内容を確認した結果、対応するデータ
がディスクキャッシュ16には格納されていない、すな
わちミスヒットであることが判明すると、このディスク
コントローラ12は対応するディスク10に対してアク
セスを行う(4)。そして、ディスクコントローラ12
はディスク10からデータを受信する(5)。最後にデ
ィスクコントローラ12は受信したデータをホスト14
とディスクキャッシュ16に転送する(2、6)。
【0055】ヒット時のリード動作 ホスト14からディスクコントローラ12にリードコマ
ンドが発行される(1)。このリードコマンドに対し
て、ディスクコントローラ12はディスクキャッシュ1
6の内容を確認する(2)。すると上記ミスヒット時と
は異なり、対応するデータがディスクキャッシュ16の
内部に格納されている、すなわちヒットであることが判
明するため、ディスクコントローラ12はディスクキャ
ッシュ16から対応するデータを受信する(3)。この
受信したデータをディスクコントローラ12はホスト1
4に対して転送する(6)。
【0056】ライト動作 まず、ホスト14はディスクコントローラ12に対し書
き込むべきデータを伴ったライトコマンドを発行する
(1)。次に、ディスクコントローラ12はディスクキ
ャッシュ16の内容を確認する(2)。ディスクキャッ
シュ16内に対応するデータが存在する場合には(ヒッ
トの場合)、データを上書きする。一方、ディスクキャ
ッシュ16内に対応するデータが存在しない場合(ミス
ヒットの場合)には、新たにディスクキャッシュ16に
そのデータを格納する。
【0057】本実施の形態においては、ストアイン型の
ライトキャッシュの制御方式を採用しているため、いわ
ゆるヒット時においてもミスヒット時においても、その
動作はほぼ同じである。すなわち、ヒットの場合にはそ
のデータに対し上書きが行われ、ミスヒットの場合には
新たにデータが格納されるだけであり、いずれの場合に
おいてもディスク10に対するアクセスは発生しない。
【0058】更に本実施の形態においては、ライト動作
が行われた場合、そのディスクキャッシュ内のデータに
対するフラグの値は「ライトデータ」に変更される。こ
の値「ライトデータ」は、上述したようにディスク10
に書き込まれるべきデータであることを意味する。
【0059】なお、厳密に言えば、ライト動作の場合に
ミスヒットが生じると、ライトキャッシュにおいてブロ
ックの追い出しが必要となる場合もあり得る。しかし、
一般にはそのような場合は十分に少ないと考えられるた
め、結果的にミスヒットの場合もヒットの場合もライト
動作はほぼ同様の動作となる。
【0060】ライトバック動作 ライトバック動作は、上述したリード動作やライト動作
と異なりホスト14からの指示により行われる動作では
ない。このライトバック動作は、ホスト14からのアク
セスとは非同期にディスクキャッシュ16のライトデー
タをディスク10に書き戻す動作である。このライトバ
ック動作は、ディスクキャッシュ16から「ライトデー
タ」のフラグが付されているデータを見つけだして読み
出してくること(3)から始まる。読み出してきたデー
タは対応するディスク10に書き込まれることになる
(4)。そして、このライトバック動作が完了したブロ
ックについてはその対応するフラグが「ライトデータ」
から「リードデータ」に変更される。この「リードデー
タ」のフラグは上述したようにディスク10上のデータ
とその値が一致していることを意味し、ディスク10か
ら読み出す代わりに、ディスクキャッシュ16から読み
出すことができることを意味する。また、このリードデ
ータのフラグが付されているブロックのデータは、ディ
スク10上のデータの値と同一であることを意味するた
め、そのキャッシュのデータを消しても正しいデータが
失われることはない。
【0061】以上がディスクキャッシュ16の動作の概
要であるが、上述のようにホスト14から送られてきた
データの長さがきわめて大きい場合には、ディスクキャ
ッシュ16をバイパスさせることが好ましい。しかし、
この場合でも送られてきたデータの中にディスクキャッ
シュ16にすでに保持されているデータがある場合に
は、適宜ホスト14から送られてきたデータの内容に合
わせてディスクキャッシュ16の内容を更新することが
好ましい。
【0062】実施の形態2.次に、キャッシュ制御機構
20において特徴的な構成であるアクセス回数測定部3
0の動作をフローチャートに基づいて説明する。このア
クセス回数測定部30の動作を表すフローチャートが図
5に示されている。
【0063】まず、ディスクキャッシュ16に対するア
クセスが発生した場合に、転送するデータの大きさがキ
ャッシュバイパスレングス以下であるか否かがステップ
S5−1において確認される。キャッシュバイパスレン
グス以下でない場合には、キャッシュはバイパスされる
ため、このような場合にはアクセス回数の測定は行わな
い。一方キャッシュバイパスレングス以下である場合に
は、キャッシュに対するアクセスが発生するため、次の
ステップS5−2に処理が移行する。
【0064】ステップS5−2においては、複数あるデ
ィスク10のうち、どのディスクに対するアクセスかが
判断される。この判断の結果、ディスク0へのアクセス
である場合には、ステップS5−3においてディスク0
に対応するカウンタをインクリメントし、処理が終了す
る。ディスク1に対するアクセスの場合には、ディスク
1に対応するカウンタの値をインクリメントし(ステッ
プS5−4)、処理が終了する。アクセスするディスク
がディスクnの場合にはそのディスクnに対応するカウ
ンタの値がインクリメントされる(ステップS5−
5)。
【0065】このように、アクセス回数測定部30は、
ディスクキャッシュ16に対するアクセスの回数を、各
ディスク10毎にカウントするもののである。このた
め、アクセス回数測定部30は各ディスク10毎にカウ
ンタを有している。このカウンタはハードウェアによる
カウンタで構成することも好ましいが、メモリ上の所定
の記憶領域にカウント値を格納するものとし、適宜CP
U等でこのカウント値をインクリメントする構成とする
ことも好ましい。
【0066】次にキャッシュ制御機構20における特徴
的な構成であるヒット率測定部32(図3参照)の動作
をフローチャートに基づいて説明する。図6にはこのヒ
ット率測定部32の動作を表すフローチャートが示され
ている。まず、ホスト14からディスクアクセスの命令
が発行されると、ステップS6−1において、この命令
がリードアクセスか否かが検査される。この検査の結
果、リードアクセスでない場合にはヒット率には何ら反
映されない。これは、ライトアクセスの場合には、ヒッ
トである場合とミスヒットである場合の動作がほぼ同様
であるため、ヒット率にはあまり関係がないためであ
る。ステップS6−1においてリードアクセスであると
判断される場合には、ステップS6−2において転送さ
れるデータがキャッシュバイパスレングス以下であるか
否かが検出される。この検査を行う理由は、上述した図
5におけるフローチャートと同様である。
【0067】ステップS6−2における検査の結果、キ
ャッシュバイパスレングス以下であると判断された場合
には、ステップS6−3においてどのディスク10に対
するアクセスかが検査される。この動作も、上述した図
5のフローチャート同様に、各ディスク毎にヒット率を
測定するために行われているものである。
【0068】ディスク0に対するアクセスの場合には、
ステップS6−4に処理が移行し、ヒットであるか否か
が検出される。このヒットであるか否かの判定自体は従
来の機構によってすでに判定されているため、このヒッ
ト率測定部32は、この従来の機構におけるヒットの判
定を参照するだけである。
【0069】ヒットしている場合にはステップS6−5
においてディスク0のヒットカウンタがインクリメント
され、処理が終了する。一方、ヒットでない場合には、
ディスク0のミスヒットカウンタがインクリメントさ
れ、処理が終了する(ステップS6−6)。
【0070】さて、上記ステップS6−3においてディ
スク1に対するアクセスであると判断される場合には、
ステップS6ー7において同じようにヒットか否かが検
査される。ヒットである場合にはステップS6−8にお
いて所定のヒットカウンタがインクリメントされ、ヒッ
トでない場合にはステップS6−9においてミスヒット
カウンタがインクリメントされる。
【0071】ディスクnに対するアクセスである場合に
も、ヒットであるか否かが検出され、所定のヒットカウ
ンタ又はミスヒットカウンタのいずれかがインクリメン
トされる。これらの動作はステップS6−10からステ
ップS6−12において行われるが、これらの動作は上
述したステップS6−4からステップS6−6と同様で
ある。
【0072】尚ヒットカウンタやミスヒットカウンタ
は、ハードウェアで構成することも好ましいし、又、メ
モリ上の所定領域にカウント値を格納し、適宜インクリ
メントする構成とすることも好ましい。
【0073】次に、本実施の形態におけるヒットの定義
について説明する。本実施の形態においては、ヒットす
る場合とは、ディスク10自体に対するアクセスが発生
しない場合(リード動作に限る)を言うものとする。な
お、ライト動作の場合には上述したように常にディスク
アクセスは発生しないため、ヒット率の測定におけるヒ
ットの定義には直接含めない。
【0074】図7には、このヒット率測定部32におい
てヒットと判定される場合、及びミスヒットと判定され
る場合の説明図が示されている。もちろん上述したよう
にこのようなヒット・ミスヒットの判断自体は従来の構
成によって行われており、ヒット率測定部32は単にこ
の判定結果を監視しているだけである。
【0075】図7には1ブロックが1Kバイトである場
合の例が示されている。すなわち図7においてaやbな
どはそれぞれ1Kバイトのブロックを意味する。
【0076】まず、図7(1)に示されているように、
ディスクキャッシュ16の上にabのデータが格納され
ている場合、ホスト14から2Kバイトのアクセス要求
がabについて行われている。この場合には、アクセス
要求が出されたデータが全てディスクキャッシュ16上
に存在するため、ディスクアクセスは発生せず、ヒット
となる。
【0077】図7(2)の場合には、キャッシュ上のデ
ータがabcdである場合に、ホスト14から1kバイ
トのアクセス要求がbについて行われている。この場合
には、アクセス要求があったデータは全てディスクキャ
ッシュ16上に存在するため、ディスクアクセスは発生
しない。従って、この場合もヒットとなる。
【0078】図7(3)に示されている場合には、ディ
スクキャッシュ16にはdeのブロックが格納されてお
り、ホスト14から2Kバイトのアクセス要求がabに
ついて出されている。この場合には、アクセス要求があ
ったデータはいずれもディスクキャッシュ16の上には
存在しない。従って、ディスクアクセスをしなければな
らず、この場合はミスヒットである。
【0079】図7(4)に示されているように、ディス
クキャッシュ16上にbcdeが存在するときにホスト
14からのアクセス要求がabcdの4Kバイトについ
て行われたときは、いわば一部ヒットの状態である。こ
の場合はbcdについてはディスクキャッシュ16から
取り出すことができるが、aについては実際のディスク
10に対してアクセスを行わなければならない。従って
本実施の形態においてはこのようないわば一部ヒットの
場合はミスヒットとしている。すなわち、本実施の形態
においては、ディスクアクセスが全く生じない場合のみ
をヒットとしているのである。
【0080】本実施の形態においては上述したようにリ
ードアクセスの場合についてのみヒット率を測定してい
る。これは、ライトアクセスにおいてはキャッシュバイ
パスまたはキャッシュに空きブロックが存在しない場合
を除いて、ディスクアクセスは発生しないためである。
一般には上述した非同期のライトバック動作によりキャ
ッシュ上のライトデータは次々にディスク10に書き込
まれるため、常に空きブロックは存在すると考えること
ができる。そのため、ライトアクセスについてはヒット
率を測定していない。
【0081】具体的なヒット率の計算式は、ヒットカウ
ント/(ヒットカウント+ミスヒットカウント)×10
0(%)となる。なお、ミスヒットカウントには、キャ
ッシュバイパスの場合のカウントは含まれないことは、
上述した通りである。
【0082】次に、キャッシュパラメータ変更部34
(図3参照)の動作をフローチャートに基づいて説明す
る。キャッシュパラメータ変更部34の動作を表すフロ
ーチャートが、図8に示されている。この図に示されて
いるように、キャッシュパラメータ変更部34は、ホス
ト14からパラメータ変更コマンドを受信すると(ステ
ップS8−1)、パラメータを変更する対象であるディ
スク10のライトキャッシュをOFFとする(ステップ
S8−2)。このライトキャッシュをOFFさせること
により、新たなライトデータがディスクキャッシュ16
上に格納されることがなくなる。
【0083】次にステップS8−3においては、その該
当するディスク10のライトバック動作が実行される。
このライトバック動作は、ホスト14からのアクセス動
作とは非同期に常に動作しており、ライトキャッシュが
OFFされることにより、ライトキャッシュに対しては
ライトバック動作のみが行われることになる。
【0084】次にステップS8−4において、ディスク
キャッシュ16上のライトデータがなくなったか否かが
検査される。ライトデータがまだ残っている場合には、
このステップS8−4が繰り返し実行される。上述した
ようにライトバック動作は、ライトキャッシュをOFF
させても維持されているため、このライトバック動作に
よりディスクキャッシュ16上のライトデータは次々に
ディスク10に転送される。この転送が行われるとディ
スクキャッシュ16上のフラグは上述したように、その
値が「ライトデータ」から「リードデータ」に変更され
ていくのである。
【0085】なお、上述したように本実施の形態におい
ては大きな記憶装置の中の一部分を一台のディスク10
に割り当て、複数のディスク10がひとつの大きな記憶
装置をディスクキャッシュ16として共用している。そ
のため、ステップS8−4におけるライトデータの存在
の検査は、該当するディスク10に対応する領域のみが
検査されるのである。
【0086】ステップS8−4における検査の結果、ラ
イトデータが全てディスク10上に転送されてしまい、
ディスクキャッシュ16上のデータが全てリードデータ
(ディスク10上のデータと同一の値のデータ)になっ
てしまった場合には、ステップS8−5において該当す
るディスク10のキャッシュがOFFとされる。このキ
ャッシュOFFにより、該当するディスク10のディス
クキャッシュ16は完全に動作をしなくなる。
【0087】ステップS8−6においては該当するディ
スク10に対応するアドレスアレイ24のクリアが行わ
れる。すなわち、このアドレスアレイ24の内容をリセ
ットすることにより、データアレイ22を無効化してい
るのである。そのため、データアレイ22自体をクリア
する必要はないため、データアレイ22についてはなん
ら処理を行っていない。
【0088】次に、ステップS8−7において、キャッ
シュパラメータの変更が行われる。このキャッシュパラ
メータは、そのディスクキャッシュ16のセット数やウ
ェイ数、スタートブロックやエンドブロックの値などで
ある。このステップS8−7において、キャッシュのパ
ラメータを変更することにより、セットアソシエイティ
ブ方式におけるセット数やウェイ数を自由に変更するこ
とができる。また、スタートブロックやエンドブロック
の値を書き換えることによりその対応するディスク10
のディスクキャッシュ16の容量を変更することができ
る。
【0089】本実施の形態において特徴的なことは、シ
ステムが稼働している最中に、このようなキャッシュパ
ラメータの変更を行うことができることである。従来
は、アプリケーションが動作しているのを止めて、ディ
スクキャッシュを使わない状態にしてから、そのディス
クキャッシュのパラメータを変更する必要があった。
【0090】しかしながら、本実施の形態によれば、ま
ずライトキャッシュをOFFすることにより、新たなラ
イトデータがライトキャッシュに書き込まれるのを制限
した。そのため、ディスクキャッシュ16上のデータを
失っても良い状態に移行させることができた。そのた
め、アプリケーションを止めることなくディスクキャッ
シュ16を止めることができるものである。
【0091】従って、システム及びアプリケーションを
何ら止めることなく、ディスクキャッシュ16のセット
数やウェイ数などのパラメータを変更することができ
る。もちろん、アプリケーションなどを停止させる必要
はないが、ディスクキャッシュ16が一時的に停止する
ため、性能は低下することになる。
【0092】このようなステップS8−7におけるキャ
ッシュパラメータの変更を終えた後、ステップS8−8
において該当するディスク10のキャッシュがON状態
となる。同様にして、該当するディスクのライトキャッ
シュもON状態とすることにより、ディスクキャッシュ
16が動作状態とされる。
【0093】以上述べたように、本実施の形態によれ
ば、アプリケーションを止めることなく、キャッシュの
パラメータ、すなわちセット数やウェイ数を変更するこ
とができる。また、スタートブロックやエンドブロック
を変更することにより、各ディスク10毎にディスクキ
ャッシュ16の容量を変更することができる。
【0094】しかし、実際には、各ディスク10が使用
できる容量は、他のディスク10との関係を考慮しなけ
ればならない。そのため、各ディスク10毎にディスク
キャッシュ16の容量を変更する場合には、全てのディ
スク10に対する容量をまとめて変更することが好まし
い。
【0095】又、キャッシュパラメータ、例えばセット
数やウェイ数を変更する際には、最適なセット数やウェ
イ数を設定することが好ましい。このためには、実験や
経験則などにより最適なセット数やウェイ数を予め知る
必要がある。また、実行するアプリケーション毎に最適
なセット数やウェイ数が異なる場合も多いであろう。そ
のため、アプリケーションが切り替わる際に本実施の形
態で提案する方法によってキャッシュのパラメータを適
宜最適な値に変更することが好ましい。このように、ア
プリケーションの切替の度にキャッシュパラメータを予
め実験等により調べておいた最適なセット数やウェイ数
に設定することにより、常に最高の性能を発揮するディ
スク記憶装置が得られる。
【0096】なお、ホスト14から発行されるキャッシ
ュパラメータ変更コマンドによれば、各ディスク10毎
にキャッシュパラメータの変更が行える。
【0097】実施の形態3.次に、セットアソシエイテ
ィブ方式について説明する。
【0098】図9には、本実施の形態において採用され
ているセットアソシエイティブ方式の概念の説明図が示
されている。セットアソシエイティブ方式自体は従来か
ら広く知られている概念である。
【0099】図9に示されているように、データアレイ
22の中にブロックが32個含まれている場合、これに
対応し、アドレスアレイ24の中にも対応して32個の
タグが必要である。セットアソシエイティブ方式は、論
理アドレスをこの32個のタグに対応させる場合の管理
概念である。
【0100】なお、データアレイ22における1ブロッ
クの容量は、実際のディスク10の1セクタ分に対応す
ることが好ましい。
【0101】図9に示されているように、セットアソシ
エイティブ方式の管理方法によれば、32個のタグを4
セットの8ウェイにマトリクス状に配置し、2次元で管
理を行っている。
【0102】ここで、本実施の形態においては、論理ア
ドレスの下2ビットによりセットが決定される。すなわ
ち、4つのセットは論理アドレス「00」、「01」、
「10」、「11」にそれぞれ対応する。次に、その論
理アドレスに対応するタグがどこにあるかは、1つのセ
ットに含まれる全てのウェイを調べることから行われ
る。図9に示されている例においては、8ウェイである
ため、8個のタグとの比較が行われる。そして、比較の
結果、対応する論理アドレスが存在した場合には、デー
タアレイ22の中に対応する論理アドレスのデータが格
納されていることになり、見つけられなかった場合には
いわゆるミスヒットであり、データアレイ22には対応
する論理アドレスのデータは格納されていない。なお、
アドレスアレイ24の中の各タグの中にはデータアレイ
22のどのブロックに対応するか否かの情報が格納され
ているため、タグからデータアレイ22の中のブロック
をたどることができるものである。
【0103】図9に示されているように、32ブロック
に対応する32個のタグを2次元に配置する方法は4セ
ット×8ウェイだけではない。セットを増やしウェイを
減らすことも考えられる。例えば、8セット×4ウェイ
にすることもできる。セットの数とウェイの数をどのよ
うに選ぶかは、実行するアプリケーションの性質による
と考えられる。
【0104】一般には、ランダムアクセスの場合には、
セット数を少なくし、ウェイ数を増やした方が良いと考
えられている。これに対し、シーケンシャルアクセスの
場合には、論理アドレス上で連続したアクセスが行われ
る場合が多いため、ウェイ数を少なくし、セット数を増
やした方が検索の対象が少なくてすみ、好ましいと考え
られている。
【0105】ところで、本実施の形態においては、図1
で説明したように複数のディスク#1、#0が備えられ
ている。そして、この複数のディスク#1、#0に対し
単一のディスクキャッシュ16が用いられているのであ
る。従来の技術にかかるディスクキャッシュ装置によれ
ば、セット数やウェイ数はディスクキャッシュ装置全体
で一定のものしか採用できなかった。例えば、ディスク
の#0についてはシーケンシャルアクセスが多いのに対
し、ディスクの#1についてはランダムアクセスが多い
場合も考えられよう。このような状況下においては、デ
ィスクキャッシュ装置全体としてひとつのセット数及び
ウェイ数だけを設定したのではそれぞれのディスクに対
して最適な設定を行うことができない。
【0106】これに対し、本実施の形態によれば、各デ
ィスク#1、#0毎にセット数及びウェイ数を設定でき
るため、各ディスク#1、#0に対し最適なセット数及
びウェイ数を設定することができる。
【0107】ディスク#0とディスク#1に対し異なる
セット数やウェイ数が設定されている場合の説明図が図
10に示されている。
【0108】この図10に示されている例においてもデ
ータアレイ22の中には32ブロック含まれており、こ
れらのブロックがディスクの#0とディスクの#1に分
割してそれぞれ割り当てられている。また、図9に示さ
れている例と同様に、1ブロックの容量は、ディスク#
1、#0の1セクタ分である。
【0109】図10に示されているように、本実施の形
態に係るデータアレイ22は、ディスクの#0とディス
クの#1に分割されている。分割の比率は、自由に定め
ることができるが、図10に示されている例においては
16ブロックずつ等分にされている。分割の比率は、上
述したようにスタートブロックやエンドブロックを調整
することにより行われる。例えば、ディスク#0のスタ
ートブロックは、ブロック1であり、ディスク#0のエ
ンドブロックはブロック16である。なお、ディスク#
0のスタートブロックが図10において(1)で示さ
れ、エンドブロックが(3)で示されている。同様にし
てディスク#1のスタートブロック、すなわち(2)は
ブロック17でありディスク#1のエンドブロックはブ
ロック32である(図10において(4)で示されてい
る)。このように、スタートブロックとエンドブロック
によって、各ディスク#1、#0に対する容量が定めら
れているため、スタートブロックとエンドブロックの値
を変えることにより、容易に各ディスク#1、#0に対
するディスクキャッシュの容量を調整することができ
る。
【0110】図10に示されている例においては、各デ
ィスク#0とディスク#1に対して分割したディスクキ
ャッシュの構造を、各ディスク毎に最適化している。例
えば、ディスク#0に対しては4ウェイの4セットが設
定されている。このようなディスク#0に対するセット
数やウェイ数もキャッシュのパラメータとして登録され
ている。このキャッシュパラメータは、図3で説明した
ようにパラメータ管理テーブル36において管理されて
いる。図10においてはディスク#0のセット数が
(5)で示されており、ディスク#0のウェイ数が
(7)で示されている。ディスク#0に対しては4セッ
トであるため、図10に示されているように論理アドレ
スの下2ビットを用いて論理アドレスと各セットとの対
応がとられている。そして、ウェイ数は4であるため、
1つのセットの中に含まれる4個のタグの中から対応す
る論理アドレスが探索されるのである。
【0111】これに対し、ディスク#1に対しては同じ
16個のブロック数ではあるものの、8セット2ウェイ
のセットアソシエイティブ方式が採用されている。図1
0に示されているように、このディスク#1のセット数
が(6)で示されており、ディスク#1のウェイ数が
(8)で示されている。セット数が8であるため、この
ディスク#1については論理アドレスの下3ビットを用
いて論理アドレスと各セットとの対応がとられている。
各セットには2つのウェイが含まれているため、1回の
アクセスにおいては2つのウェイの中から対応する論理
アドレスの探索が行われる。
【0112】本実施の形態において特徴的なことは、複
数のディスク#1、#0に対するディスクキャッシュを
1つの大きなデータアレイ22を用いて構成し、各ディ
スク10毎にそのスタートブロックとエンドブロックを
キャッシュパラメータとして管理していることである。
そのため、各ディスク10毎にディスクキャッシュの容
量を設定することができる。また、各ディスク10毎に
セット数とウェイ数をキャッシュパラメータとして管理
しているため、各ディスク10毎にセット数とウェイ数
を最適な値に設定することができる。
【0113】実施の形態4.さて、上述したように、本
実施の形態においては、各ディスク10毎にセット数や
ウェイ数、ディスクキャッシュ容量をそれぞれ設定する
ことができる。ここで、ディスクキャッシュの容量はそ
れぞれのディスク10に対するアクセスの回数を測定し
て分割比率を決定することが好ましい。更に、セット数
とウェイ数については実際のシステムを運用しながらそ
のヒット率を監視し、ヒット率が高くなるような値に決
定することが好ましい。
【0114】このような考えに基づき各ディスク10毎
の分割比率やセット数・ウェイ数の設定を行う動作の流
れが図11のフローチャートに示されている。
【0115】まず、ステップS11−1においてシステ
ムの立ち上げが行われる。そして、ディスクキャッシュ
16を適当な比率に複数のディスク10に対して分割し
て、標準的なセット数及びウェイ数を設定する。
【0116】この状態で、ステップS11−2において
アクセス回数の測定が行われる。この測定は、所定時間
行われるが、各システムの種類に応じて必要な時間は異
なることになろう。例えば、簡単なアプリケーションを
実行するような場合には、短時間でこのアクセス回数の
測定を終了できるであろうし、又、午前と午後で行う業
務が異なるような大規模な用途においては、アクセス回
数の測定も1日かけて行う必要があろう。
【0117】ステップS11−3において各ディスク1
0に対するアクセス回数が測定され、この測定回数に基
づき各ディスク10に対するキャッシュの容量を決める
ことができる。典型的には、各ディスク10に対するア
クセス回数に比例するようにディスクキャッシュ16の
容量を分割することが好ましい。このようなディスクキ
ャッシュ16の分割容量の設定は、ホスト14からディ
スクコントローラ12に対するキャッシュパラメータ変
更コマンドにより行われる。なお、本ステップS11−
2におけるアクセス回数の測定は、アクセス回数測定部
30により行われる。
【0118】次にステップS11−4においては、上記
分割されたディスクキャッシュ16の各ディスク10に
対応して、標準的なセット数及びウェイ数を設定する。
このセット数やウェイ数の設定は、やはりキャッシュパ
ラメータ変更コマンドにより行う。
【0119】次にステップS11−5においてヒット率
の測定が行われる。このヒット率の測定はヒット率測定
部32により行われる。
【0120】ステップS11−6においては、最適なセ
ット数及びウェイ数が判明したか否かが確認される。こ
の最適なセット数及びウェイ数は、複数のセット数とウ
ェイ数の組を実際にシステムに適用してみて、各設定値
におけるヒット率を測定することにより行われる。複数
のセット数及びウェイ数の組をすでに適用し、なおか
つ、これらの組の中で最もヒット率が高かったセット数
ウェイ数の組が明らかである状況であれば、最適なセッ
ト数及びウェイ数が判明したと判断することができる。
【0121】これに対し、充分なセット数とウェイ数の
組を設定して実行することをまだ十分に行っていない場
合や、十分に高いヒット率が測定されていない場合等に
おいては、まだ最適なセット数やウェイ数は判明してい
ないものと判断するのが妥当である。そのため、上記ス
テップS11−4に再び処理を移行させるのである。こ
のステップS11−4においては再び別のセット数ウェ
イ数の組み合わせを設定し、ヒット数の新たな測定に入
るのである。
【0122】一方、最適なセット数及びウェイ数が既に
判明したと、ステップS11−6において判断される場
合には、ステップS11−7においてその最適なセット
数とウェイ数が実際のディスクキャッシュ16に設定さ
れる。この設定は、キャッシュパラメータ変更コマンド
がホスト14から出されることにより行われる。
【0123】以上述べたように、本実施の形態において
特徴的なことは、アクセス回数を測定することにより、
各ディスク10に対するアクセスの割合を求めることが
でき、この割合に基づきキャッシュ分割容量を設定する
ことができることである。更に本実施の形態において特
徴的なことは、キャッシュの分割容量が設定された後に
セットアソシエイティブ方式のセット数及びウェイ数を
種々の値に設定してみることにより、各値の場合のヒッ
ト率を測定したことである。このようにセット数やウェ
イ数として種々の値を試してみることにより最適なセッ
ト数とウェイ数を知ることができるのである。
【0124】以上のようにして、最適なセット数及びウ
ェイ数が設定された後はこの最適なセット数とウェイ数
でシステムの運用が行われる(ステップS11−8)。
このシステムの運用の最中においても、ヒット率測定部
32は常にヒット率を測定することができる。このヒッ
ト率測定部32は、上述したように、従来の機構28に
含まれるヒット判定部におけるヒット判定を監視してい
るだけであるため、システムの性能には何ら影響を与え
ずにヒット率の測定をすることができる。
【0125】ステップS11−9においては、ヒット率
が極端に下がったか否かが検出される。アプリケーショ
ンの改訂やディスク装置の構成の変化などによりアプリ
ケーションの実行環境が変化した場合にはそれまでに設
定されていたセット数やウェイ数が最適なものではない
場合が生じるが、このような場合にはヒット率が極端に
下がることが予想され、セット数やウェイ数を最適な値
に変更する必要がある。そこで、ステップS11−9に
おいては、ヒット率が極端に下がった場合には再びステ
ップS11−4に処理が移行し、セット数とウェイ数の
設定をやり直すのである。
【0126】もちろん、ヒット率が極端に下がらない場
合にはそのままヒット率の測定が続けられる(ステップ
S11−8)。
【0127】以上、図11のフローチャートに基づき、
本実施の形態におけるシステム運用中のキャッシュパラ
メータの最適化の動作について説明した。このフローチ
ャートに示されている全ての操作は、システムを止める
ことなく実行することができる。但し、セット数及びウ
ェイ数として種々の値を設定する場合には、一時的には
ヒット率が低下する場合もあり得る。しかしながら、ス
テップS11−6において最適なセット数とウェイ数が
判明した後は、この最適なセット数とウェイ数がディス
クキャッシュ16に設定されることにより(ステップS
11−7)、その後はシステム運用を最適な環境のもと
で行うことができる。
【0128】実施の形態5.次に従来のディスクキャッ
シュ装置と、本発明のディスクキャッシュ装置及びキャ
ッシュパラメータの変更方法とを比較して検討する。例
えば、特開平2−197941号公報には、セットアソ
シエイティブ方式を採用するディスクキャッシュ装置に
おいて、所定のセットにのみアクセスが集中した場合
に、他のアクセスが少ないセットに割り当てられている
タグを一時的に、その集中しているセットに割り振る方
式が提案されている。この割振の様子が図12の説明図
に示されている。
【0129】図12(a)には、セット数が8でありウ
ェイ数が4であるようなアドレスアレイのタグの概念図
が示されている。このようなセット数とウェイ数の関係
は従来から良く知られているものである。このようなセ
ットアソシエイティブ方式を採用したディスクキャッシ
ュ装置において、例えば図12に向かって左から4番目
のセットにアクセスが集中した場合には、4個のウェイ
だけではブロックの置き換えが頻繁に行われ、性能が悪
化することも考えられる。そこで、この第4セットにア
クセスが集中する場合にはほとんど使われていない第8
セットのタグを第4セットに回すことが考えられる。こ
のように第8セットのタグを第4セットに回す動作の概
念図が図12(b)に示されている。このようにすれ
ば、第4セットに対応するウェイは8個となり、キャッ
シュの効率的な利用ができよう。尚、本文ではタグの割
振と表現したが、これは実質的には、データアレイのブ
ロックの割振と同等の動作である。
【0130】なお、公報にはアクセスの集中が解消され
た場合には、アドレスアレイの構造を再び図12(a)
の状況に戻すことが示されている。
【0131】このように同号公報に記載されている方法
によれば、自動的にディスクキャッシュの構造が変化
し、追従が行われる。しかし、あまりに頻繁にこの動作
が発生する場合には、ディスクキャッシュの構造を変化
させるためのオーバーヘッドによる性能の低下が懸念さ
れる。
【0132】これに対して、本実施の形態においては、
自動的にキャッシュの構造を変化させることはしないも
のの、このようなアクセスの集中に適した最適な構造に
はじめからすることを目標としているため、同号公報に
記載されている手法に比べてヒット率のさらなる向上が
見込まれるものである。特に、アプリケーションによっ
てどのようなセット数及びウェイ数が最適であるかが判
明していれば、そのアプリケーションを実行する前にセ
ット数とウェイ数をキャッシュパラメータ変更コマンド
によって明示的に変更できるため、オーバーヘッドを最
小にしたまま、よりシステムの性能を向上させることが
できる。
【0133】また、システム運用において午前と午後に
おいて業務内容が定型的に変わる場合等においては、そ
れぞれの業務内容に応じたキャッシュパラメータを予め
測定しておくことが好ましい。このようなことにより、
個別のアプリケーションなどから業務に合わせた自動ス
ケジューリングができるものである。すなわち、業務内
容が変更されるときにキャッシュパラメータ変更コマン
ドが発行されるのである。このように予め行われる業務
に合わせてセット数とウェイ数等のキャッシュパラメー
タを変更したり、自動的な追従よりも更にキャッシュの
利用効率が向上するものと考えられる。
【0134】このように、業務内容が変更される場合の
キャッシュパラメータの変更動作が図13のフローチャ
ートに示されている。この図に示されているようにまず
ステップS13−1において通常のシステム運用が行わ
れる。
【0135】そして、運用の途中でステップS13−2
において業務内容が変更されるか否かが確認される。業
務内容に変更がなければステップS13−1におけるシ
ステム運用が続行される。
【0136】一方、業務内容に変更が生じた場合には、
ステップS13−3においてキャッシュパラメータ変更
コマンドがホスト14からディスクコントローラ12に
対し発行される。このキャッシュパラメータは変更後の
業務内容に合わせたパラメータに設定されている。この
変更コマンドを発行した後、再びシステム運用がステッ
プS13−1にて行われる。本実施の形態においては、
上述したようにシステム運用を何ら停止されることなく
キャッシュパラメータを変更することができる。そのた
め、業務内容の変更に伴い、キャッシュの内容が一時ク
リアされることによって一時的な性能の低下はあるもの
の、円滑なキャッシュパラメータの変更ができることに
よりディスクキャッシュ16のヒット効率を円滑に向上
させることができる。
【0137】以上述べたように、本実施の形態において
はディスクキャッシュ16はディスクコントローラ12
に対して設けられており、いわば複数のディスク10に
対し共通に設けられているディスクキャッシュである。
【0138】これに対し、図14に示されているよう
に、ディスクキャッシュ16をそれぞれ対応するディス
ク10毎に設けるような構成も考えられる。ディスクキ
ャッシュ16自身は、本来的には各ディスク10毎に設
けられる場合が多いかもしれない。このように、ディス
ク10毎にディスクキャッシュ16を設けた場合におい
てはそのディスクキャッシュ16は対応するディスク1
0に合わせてセット数やウェイ数をそれぞれ設定するこ
とになる。しかしながら各ディスク10に対するディス
クキャッシュ16の容量は、予め決まっているため、業
務内容の変更によってディスクキャッシュ16の割り当
て容量を変更するなどという動作を行うことはできな
い。更に、各ディスク10毎にディスクキャッシュ16
を設けなければならないため、ディスクキャッシュ16
のコストが上昇してしまっていた。
【0139】これに対し図15に示されているようなデ
ィスクコントローラ12自体にディスクキャッシュ16
を設ける構成においては、複数のディスク10に対しひ
とつのいわば大きなディスクキャッシュ16を備えたこ
とになる。そのため、本実施の形態によれば、各ディス
ク10毎にセット数やウェイ数をそれぞれ別個に設定す
ることができるため、上記図14に示されているような
従来のディスクキャッシュ16と同様の設定の自由さを
持ったものといえよう。
【0140】更に、各ディスク10毎にディスクキャッ
シュ16を設ける構成に対し、本実施の形態においては
ディスクコントローラ12に容量の大きな単一のディス
クキャッシュ16を設けたため、装置構成が簡易なもの
となり、コストの低減に寄与するものである。
【0141】更に、各ディスク10に対して割り当てる
キャッシュの容量をダイナミックに変更することができ
るため、図14に示されている例に比べ、より柔軟なデ
ィスクキャッシュの利用を測ることができるものであ
る。そのため図14に示されているように、個別にディ
スクキャッシュ16を設けるのに比べて、ディスクキャ
ッシュの全体の容量を小さくすることもでき、コストの
低減はますます著しいものとなる。
【0142】図15に示されているように本実施の形態
においてはひとつの大きなディスクキャッシュ16を複
数のディスク10に対してディスクキャッシュとして用
いている。その結果、以下に述べるようなメリットも生
じる。
【0143】例えば、図16に示されているように、3
2ブロックを有するディスクキャッシュを4セットで使
用する場合には、図16に示されているように8ウェイ
必要である。従って、ディスクキャッシュにヒットした
か否かを検索するためには、この8ウェイ全てを検索す
る必要がある。
【0144】これに対し、この32ブロックあるディス
クキャッシュ16を2つのディスク、ディスク#0とデ
ィスク#1に分割した場合にはこの8ウェイが例えば4
ウェイずつ各ディスクに分割されることになる(図17
参照)。もちろん、実施する業務内容によっては6ウェ
イと2ウェイに分割される場合も考えられる。いずれに
せよ4セットという条件を維持したまま各ディスクに分
割することにより検索の対象となるウェイの数を減らす
効果がある。図17においては、ディスク#0とディス
ク#1に対しそれぞれ4ウェイずつ分割されているが、
この結果、検索の対象は4個のウェイとなっている。こ
のため、図16の構成に比べて、検索速度の向上が期待
される。
【0145】
【発明の効果】以上述べたように、本発明によれば、シ
ステムを稼働中にキャッシュパラメータを変更すること
ができる。
【0146】本発明によれば、システムを稼働中に、デ
ィスクキャッシュ装置のセット数やウェイ数を変更する
ことができる。
【0147】本発明によれば、ディスクキャッシュ装置
の最適なセット数やウェイ数を算出することができる。
【0148】本発明によれば、ディスクキャッシュ装置
の最適なセット数やウェイ数をディスクキャッシュ装置
に設定することができる。
【0149】本発明によれば、複数のディスクのアクセ
ス頻度に合致したディスクキャッシュ容量を設定するこ
とができる。
【0150】本発明によれば、システムを稼働中にキャ
ッシュパラメータを変更することができるディスクキャ
ッシュ装置が得られる。
【0151】本発明によれば、複数のディスク毎に独立
してキャッシュパラメータを設定することができるディ
スクキャッシュ装置が得られる。
【0152】本発明によれば、複数のディスク毎に独立
してセット数やウェイ数を設定することができるディス
クキャッシュ装置が得られる。
【0153】本発明によれば、複数のディスク毎に独立
してキャッシュ容量を設定することができるディスクキ
ャッシュ装置が得られる。
【0154】本発明によれば、複数のディスクのそれぞ
れに対するアクセス頻度に対応してディスクキャッシュ
容量を設定することができるので、効率的なディスクの
アクセスができるディスクキャッシュ装置が得られる。
【0155】本発明によれば、ディスクキャッシュ装置
の最適なセット数やウェイ数を算出できるディスクキャ
ッシュ装置が得られる。
【0156】本発明によれば、ディスクキャッシュ装置
の最適なセット数やウェイ数を設定できるディスクキャ
ッシュ装置が得られる。
【図面の簡単な説明】
【図1】 本発明の好適な実施の形態に係るディスク記
憶装置の構成ブロック図である。
【図2】 キャッシュデータ部の詳細な構成図である。
【図3】 キャッシュ制御機構の詳細な構成図である。
【図4】 ディスクキャッシュの動作概要を表す説明図
である。
【図5】 アクセス回数測定部の動作を表すフローチャ
ートである。
【図6】 ヒット率測定部の動作を表すフローチャート
である。
【図7】 ヒット率測定部においてヒットと判定される
場合、及びミスヒットと判定される場合の説明図であ
る。
【図8】 キャッシュパラメータ変更部の動作を表すフ
ローチャートである。
【図9】 セットアソシエイティブ方式の概念の説明図
である。
【図10】 ディスク#0とディスク#1に対し異なる
セット数やウェイ数が設定されている場合の説明図であ
る。
【図11】 各ディスク毎の分割比率やセット数・ウェ
イ数の設定を行う動作の流れを表すフローチャートであ
る。
【図12】 キャッシュのブロックがセット間で割り振
られる様子を表す説明図である。
【図13】 業務内容が変更される場合のキャッシュパ
ラメータの変更動作を表すフローチャートである。
【図14】 ディスクキャッシュをそれぞれ対応するデ
ィスク毎に設けた構成を表す説明図である。
【図15】 ディスクコントローラ自体に、ディスクキ
ャッシュを設けた構成を表す説明図である。
【図16】 32ブロックを有するディスクキャッシュ
を4セットで使用する場合の説明図である。
【図17】 32ブロックを有するディスクキャッシュ
を2つのディスクに分割した場合を表す説明図である。
【符号の説明】
10 ディスク、12 ディスクコントローラ、14
ホスト、16 ディスクキャッシュ、18 キャッシュ
データ部、20 キャッシュ制御機構、22データアレ
イ、24 アドレスアレイ、26 データ保護用バッテ
リ、28 従来の機構、30 アクセス回数測定部、3
2 ヒット率測定部、34 キャッシュパラメータ変更
部、36 パラメータ管理テーブル。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 ストアイン型セットアソシエイティブ方
    式を採用したディスクキャッシュ装置のキャッシュパラ
    メータを変更する方法において、 ライトキャッシュ機能をOFF動作させ、前記ディスク
    キャッシュ装置から前記ディスク装置へのライトバック
    動作を維持したまま、前記ディスク装置に書き込むべき
    データであるライトデータが新たに前記ディスクキャッ
    シュ装置に書き込まれることを禁止するライトキャッシ
    ュ機能OFFステップと、 前記ディスクキャッシュ装置に、前記ライトデータがま
    だ格納されているか否かを観察し、前記ライトデータが
    前記ディスクキャッシュ装置に格納されていない状態に
    なるまで、該監視を続ける監視ステップと、 前記監視ステップにおいて、前記ディスクキャッシュ装
    置に前記ライトデータが格納されていないと判断された
    場合に、前記ディスクキャッシュ装置の機能を停止させ
    るディスクキャッシュ機能停止ステップと、 前記ディスクキャッシュ装置の内容を無効化する無効化
    ステップと、 前記ディスクキャッシュ装置のキャッシュパラメータを
    所定の値に設定するキャッシュパラメータ設定ステップ
    と、 前記ディスクキャッシュ装置を動作状態にするキャッシ
    ュ機能ONステップと、 を含むことを特徴とするストアイン型セットアソシエイ
    ティブ方式を採用したディスクキャッシュ装置のキャッ
    シュパラメータ制御方法。
  2. 【請求項2】 前記キャッシュパラメータは、前記ディ
    スクキャッシュ装置のセット数及びウェイ数であること
    を特徴とする請求項1記載のストアイン型セットアソシ
    エイティブ方式を採用したディスクキャッシュ装置のキ
    ャッシュパラメータ制御方法。
  3. 【請求項3】 セットアソシエイティブ方式を採用した
    ディスクキャッシュ装置のセット数及びウェイ数を算出
    する方法において、 前記ディスク装置に対して、セット及びウェイの数を設
    定する設定ステップであって、前記設定するセット数及
    びウェイの数を変動させながら、前記ディスク装置のヒ
    ット率を検出する変動ヒット率検出ステップと、 前記変動ヒット率検出ステップにおいて検出したヒット
    率と、その検出時の前記セット数及びウェイ数とを、記
    憶する記憶ステップと、 前記記憶ステップにおいて記憶したヒット率の中から、
    最大のヒット率を見つけだし、その最大のヒット率を検
    出した時の前記セット数及びウェイ数を出力するセット
    ・ウェイ数算出ステップと、 を含むことを特徴とするディスクキャッシュ装置のキャ
    ッシュパラメータ制御方法。
  4. 【請求項4】 セットアソシエイティブ方式を採用した
    ディスクキャッシュ装置のセット数及びウェイ数を設定
    する方法において、 前記ディスク装置に対して、セット数及びウェイの数を
    設定する設定ステップであって、前記設定するセット数
    及びウェイの数を変動させながら、前記ディスク装置の
    ヒット率を検出する変動ヒット率検出ステップと、 前記変動ヒット率検出ステップにおいて検出したヒット
    率と、その検出時の前記セット数及びウェイ数とを、記
    憶する記憶ステップと、 前記記憶ステップにおいて記憶したヒット率の中から、
    最大のヒット率を見つけだし、その最大のヒット率を検
    出した時の前記セット数及びウェイ数を出力するセット
    ・ウェイ数算出ステップと、 前記セット・ウェイ数算出ステップにおいて算出したセ
    ット数及びウェイ数を前記ディスクキャッシュ装置に設
    定する設定ステップと、 を含むことを特徴とするディスクキャッシュ装置のキャ
    ッシュパラメータ制御方法。
  5. 【請求項5】 複数のディスク装置に共通のディスクキ
    ャッシュ装置において、前記複数のディスク装置のそれ
    ぞれに対して、独立してディスクキャッシュ容量を設定
    する方法において、 前記複数のディスク装置のそれぞれに対するアクセス回
    数をカウントするカウントステップと、 前記カウントステップにおいてカウントした各ディスク
    装置に対するアクセス回数に基づき、前記複数のディス
    ク装置のそれぞれに対するディスクキャッシュ容量を設
    定するディスクキャッシュ容量設定ステップと、 を含むことを特徴とするディスクキャッシュ装置のキャ
    ッシュパラメータ制御方法。
  6. 【請求項6】 ストアイン型セットアソシエイティブ方
    式を採用したディスクキャッシュ装置において、 ライトキャッシュ機能をOFF動作させ、本ディスクキ
    ャッシュ装置から前記ディスク装置へのライトバック動
    作を維持したまま、前記ディスク装置に書き込むべきデ
    ータであるライトデータが新たに本ディスクキャッシュ
    装置に書き込まれることを禁止するライトキャッシュ機
    能OFF手段と、 本ディスクキャッシュ装置に、前記ライトデータがまだ
    格納されているか否かを観察し、前記ライトデータが本
    ディスクキャッシュ装置に格納されていない状態になる
    まで、該監視を続ける監視手段と、 前記監視手段が、本ディスクキャッシュ装置に前記ライ
    トデータが格納されていないと判断した場合に、本ディ
    スクキャッシュ装置の機能を停止させるディスクキャッ
    シュ機能停止手段と、 前記ディスクキャッシュ装置の内容を無効化する無効化
    手段と、 前記ディスクキャッシュ装置のセット数とウェイ数とを
    所定の値に設定するセット数及びウェイ数設定手段と、 前記ディスクキャッシュ装置を動作状態にするキャッシ
    ュ機能ON手段と、 を含むことを特徴とするストアイン型セットアソシエイ
    ティブ方式を採用したディスクキャッシュ装置。
  7. 【請求項7】 複数のディスク装置に共通のディスクキ
    ャッシュ装置であって、セットアソシエイティブ方式を
    採用したディスクキャッシュ装置において、 前記複数のディスク装置のそれぞれに対して、独立して
    キャッシュパラメータを設定するキャッシュパラメータ
    設定手段、 を含むことを特徴とするディスクキャッシュ装置。
  8. 【請求項8】 前記キャッシュパラメータ設定手段は、 前記複数のディスク装置のそれぞれに対して、独立して
    セット数及びウェイ数を設定するセット・ウェイ数設定
    手段、 を含むことを特徴とする前記請求項7記載のディスクキ
    ャッシュ装置。
  9. 【請求項9】 前記キャッシュパラメータ設定手段は、 前記複数のディスク装置のそれぞれに対して、独立して
    ディスクキャッシュの容量を設定するディスクキャッシ
    ュ容量設定手段、 を含むことを特徴とする前記請求項7記載のディスクキ
    ャッシュ装置。
  10. 【請求項10】 前記複数のディスク装置のそれぞれに
    対するアクセス回数をカウントするカウンタ手段、 を含み、前記ディスクキャッシュ容量設定手段は、前記
    カウント手段がカウントした各ディスク装置に対するア
    クセス回数に基づき、前記複数のディスク装置のそれぞ
    れに対するディスクキャッシュ容量を設定することを特
    徴とする請求項9記載のディスクキャッシュ装置。
  11. 【請求項11】 セットアソシエイティブ方式を採用し
    たディスクキャッシュ装置において、 ディスク装置に対してセット及びウェイを設定する手段
    であって、前記設定するセット数及びウェイの数を変動
    させながら、前記ディスク装置のヒット率を検出する変
    動ヒット率検出手段と、 前記変動ヒット率変動手段によって検出されたヒット率
    と、前記ヒット率を検出した時の前記セット数及びウェ
    イ数とを記憶する記憶手段と、 前記記憶手段中から、最大のヒット率を見つけだし、こ
    の最大のヒット率が検出された時のセット及びウェイ数
    を出力するセット・ウェイ数決定手段と、 を含むことを特徴とするディスクキャッシュ装置。
  12. 【請求項12】 最適セット・ウェイ数決定手段によっ
    て出力されたセット数及びウェイ数を、本ディスクキャ
    ッシュに設定するセット数及びウェイ数設定手段、 を含むことを特徴とする請求項11記載のディスクキャ
    ッシュ装置。
JP9071670A 1997-03-25 1997-03-25 ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置 Pending JPH10269143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9071670A JPH10269143A (ja) 1997-03-25 1997-03-25 ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9071670A JPH10269143A (ja) 1997-03-25 1997-03-25 ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置

Publications (1)

Publication Number Publication Date
JPH10269143A true JPH10269143A (ja) 1998-10-09

Family

ID=13467270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9071670A Pending JPH10269143A (ja) 1997-03-25 1997-03-25 ディスクキャッシュ装置のキャッシュパラメータ制御方法及びディスクキャッシュ装置

Country Status (1)

Country Link
JP (1) JPH10269143A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211222A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
JP2012022532A (ja) * 2010-07-14 2012-02-02 Nec Corp ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
JP2013533551A (ja) * 2010-06-29 2013-08-22 トゥクセラ インコーポレイテッド メモリへの読取り又は書込み
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
JP2018133038A (ja) * 2017-02-17 2018-08-23 Necプラットフォームズ株式会社 情報処理装置、制御装置、制御方法及びプログラム
JP2023040677A (ja) * 2021-09-10 2023-03-23 株式会社日立製作所 ストレージシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211222A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
US9201717B2 (en) 2008-03-01 2015-12-01 Kabushiki Kaisha Toshiba Memory system
US10901625B2 (en) 2008-03-01 2021-01-26 Toshiba Memory Corporation Memory system
US11409442B2 (en) 2008-03-01 2022-08-09 Kioxia Corporation Memory system
JP2013533551A (ja) * 2010-06-29 2013-08-22 トゥクセラ インコーポレイテッド メモリへの読取り又は書込み
JP2016149155A (ja) * 2010-06-29 2016-08-18 トゥクセラ インコーポレイテッド メモリへの読取り又は書込み
JP2012022532A (ja) * 2010-07-14 2012-02-02 Nec Corp ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
JP2018133038A (ja) * 2017-02-17 2018-08-23 Necプラットフォームズ株式会社 情報処理装置、制御装置、制御方法及びプログラム
JP2023040677A (ja) * 2021-09-10 2023-03-23 株式会社日立製作所 ストレージシステム

Similar Documents

Publication Publication Date Title
US6460114B1 (en) Storing a flushed cache line in a memory buffer of a controller
US5566324A (en) Computer apparatus including a main memory prefetch cache and method of operation thereof
EP0077452B1 (en) Data promotion in storage subsystems
US6292871B1 (en) Loading accessed data from a prefetch buffer to a least recently used position in a cache
EP0470734B1 (en) Cache memory management system
US6983356B2 (en) High performance memory device-state aware chipset prefetcher
US4956803A (en) Sequentially processing data in a cached data storage system
US8606997B2 (en) Cache hierarchy with bounds on levels accessed
US5134563A (en) Sequentially processing data in a cached data storage system
US20080059707A1 (en) Selective storage of data in levels of a cache memory
US10725923B1 (en) Cache access detection and prediction
EP0104588A2 (en) Peripheral storage system having multiple data transfer rates
JPH037978B2 (ja)
JPH0575134B2 (ja)
US20100281218A1 (en) Intelligent cache replacement mechanism with varying and adaptive temporal residency requirements
WO2010035426A1 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
US20070239940A1 (en) Adaptive prefetching
JPH0574102B2 (ja)
US20100217937A1 (en) Data processing apparatus and method
US7237067B2 (en) Managing a multi-way associative cache
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
EP0470739B1 (en) Method for managing a cache memory system
US7346741B1 (en) Memory latency of processors with configurable stride based pre-fetching technique
KR100505695B1 (ko) 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법
EP1030243A1 (en) Optimized hardware cleaning function for virtual index virtual tag data cache