JPH0236446A - Disk cache memory - Google Patents

Disk cache memory

Info

Publication number
JPH0236446A
JPH0236446A JP63185957A JP18595788A JPH0236446A JP H0236446 A JPH0236446 A JP H0236446A JP 63185957 A JP63185957 A JP 63185957A JP 18595788 A JP18595788 A JP 18595788A JP H0236446 A JPH0236446 A JP H0236446A
Authority
JP
Japan
Prior art keywords
cache memory
volume
disk
access
cache
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
JP63185957A
Other languages
Japanese (ja)
Inventor
Toru Yao
八尾 徹
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP63185957A priority Critical patent/JPH0236446A/en
Publication of JPH0236446A publication Critical patent/JPH0236446A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To efficiently use a cache memory and to maintain a high cache hit ratio by providing an access frequency detection means. CONSTITUTION:The access frequency detection circuit 3400 counts the number of access times with respect to respective logical volumes in a disk device 4000 in a prescribed time. When access for a logical volume #0 is concentrated, for instance the number of access times exceeds a prescribed number of times, and the difference of the number of access times with a logical volume #2 having least access frequency exceeds reference, a disk cache control circuit 3600 assigns the set (set number 2) of the cache memory 3200 assigned in the volume #2 through a rewrite control circuit 3800 and a set address generation circuit 3500 to the volume #0. Thus, the high speed memory can effectively be used and the cache hit ratio can be maintained without being deteriorated.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は電子計算機システムにおいて用いられるディス
ク・キャッシュ装置に関し、特にマツピングでセット・
アソシアティブ方式を採用するディスク・キャッシュ装
置に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application The present invention relates to a disk cache device used in a computer system, and in particular, to a disk cache device used in a computer system.
The present invention relates to a disk cache device that employs an associative method.

従来の技術 ディスク装置に対する処理時間を短縮するために、主記
憶装置とディスク装置との間に高速で小容量のキャッシ
ュメモリを設けて参照頻度の高いディスクデータをキャ
ッシュメモリに格納し、平均的なディスクアクセス時間
を短縮しようとするディスクキャッシュ装置において、
その性能を高める上で必要なのが、アクセスされるデー
タがキャッシュメモリ上に見出される確率(キャツシュ
ヒツト率)を高めることと、そのデータがキャッシュメ
モリ上に存在するか否かを判定する時間を短縮すること
であり、ディスク装置のデータの一部をキャッシュメモ
リにうま(対応づける(マツピング)方法が重要になる
。従来、知られているマツピングの方法には、フル・ア
ソシアティブ方式とセット・アソシアティブ方式とがあ
る。フル・アソシアティブ方式はディスクのデータブロ
ック(記憶単位)がキャッシュメモリのどのブロックに
もマツピングできるようにしたものである。またセット
・アソシアティブ方式はディスク装置を論理的にいくつ
かの組に分け、キャッシュメモリのブロックも対応して
セットと呼ばれる一列のグループに分けておき、分割し
た各々でマツピングを行なう。
Conventional technology In order to reduce processing time for disk devices, a high-speed, small-capacity cache memory is provided between the main storage device and the disk device, and frequently referenced disk data is stored in the cache memory. In disk cache devices that try to shorten disk access time,
In order to improve its performance, it is necessary to increase the probability that accessed data will be found on the cache memory (catch hit rate) and shorten the time to determine whether the data exists on the cache memory. Therefore, it is important to have a mapping method for mapping part of the data in the disk device to the cache memory. Conventionally known mapping methods include the full associative method and the set associative method. The fully associative method allows a disk data block (memory unit) to be mapped to any block in the cache memory.The set associative method allows disk devices to be logically organized into several sets. The cache memory blocks are correspondingly divided into groups called sets, and mapping is performed for each divided group.

発明が解決しようとする課題 前述した従来のマツピング方式で、フル・アソシアティ
ブ方式ではアクセスされるデータがキャッシュメモリ上
に存在するか否かを判定するときにキャッシュの全ブロ
ックまたは非常に多くのブロックを調べる必要がある。
Problems to be Solved by the Invention In the conventional mapping method described above, the fully associative method uses all or a large number of blocks in the cache when determining whether or not the data to be accessed exists in the cache memory. I need to find out.

またセット・アソシアティブ方式の構成においては、ア
クセスされるデータがキャッシュメモリ上に存在するか
否かを判定するのに、限られたブロックのみ調べればよ
いのでフル・アソシアティブ方式に比べ短時間で行える
が、反面ディスク装置とキャッシュメモリのセットとの
対応が一度設定されると固定されてしまうため、計算機
システム操作途中、使用状況によって、ディスク装置の
論理的に分割された特定の領域に対してアクセスが集中
するようなことが生じた場合、その領域に対応するセッ
ト以外のキャッシュメモリにはデータを格納できないた
め、高価な高速のメモリを有効に使用できないだけでな
く、小量の減定されたセット分のメモリだけでは参照頻
度の高いデータを十分格納しきれなくなり、キャツシュ
ヒツト率の低下を招く恐れがある。
In addition, in the configuration of the set-associative method, it is necessary to check only a limited number of blocks to determine whether the data to be accessed exists in the cache memory, so it can be done in a shorter time than in the fully-associative method. On the other hand, once the correspondence between a disk device and a cache memory set is set, it is fixed, so during computer system operation, depending on the usage situation, access to a specific logically divided area of the disk device may be restricted. When a concentration occurs, data cannot be stored in cache memory other than the set corresponding to that area, so not only can expensive and fast memory not be used effectively, but a small reduced set The memory for this amount may not be enough to store frequently referenced data, leading to a decrease in the cash hit rate.

本発明は、このような従来の問題点を解決するためにな
されたもので、アクセスされるデータがキャッシュメモ
リ上に存在するか否かを短時間に判定し、しかも限られ
たキャッシュメモリを効率的に使用し、高いキャツシュ
ヒツト率を維持する高性能なディスク・キャッシュ装置
を提供することを目的とする。
The present invention was made in order to solve these conventional problems, and it is possible to quickly determine whether or not data to be accessed exists in the cache memory, and to efficiently use the limited cache memory. The object of the present invention is to provide a high-performance disk cache device that can be used extensively and maintain a high cache hit rate.

課題を解決するための手段 本発明によるディスク・キャッシュ装置では、全体が複
数のセットに区分され、かつ前記セットのそれぞれが複
数のブロックに区別されたキャッシュメモリと、論理的
に、前記セット数と同数の論理ボリュームに分割された
ディスク装置を1台または複数台備え、前記論理ボリュ
ームのそれぞれに対して単位時間あたり上位装置がアク
セスを要求した回数を検出するアクセス頻度検出手段と
、前記ディスク装置の各論理ボリュームに、前記キャッ
シュメモリの各セットを一対一に割り付け、アクセスす
るためのセットアドレスを生成し、また前記セットと前
記ボリュームとの対応情報を有し、前記アクセス頻度検
出手段の検出結果より前記各論理ボリュームへのアクセ
スに極端な偏りが見受けられた場合、アクセス頻度の最
も低い論理ボリュームに対するキャッシュメモリのセッ
トの割り付けを停止し、該セットをアクセス頻度の最ら
高い論理ボリュームに割り付け、該論理ボリュームに対
応するキャッシュメモリを増やすことができ、また前記
各論理ボリュームに対して極端な偏りがなくアクセスが
行われていることが前記アクセス頻度検出手段によって
検出された場合、再び前記キャッシュメモリのセットと
前記論理ボリュームを一対一に割り付けることを可能に
したセットアドレス生成手段と、このセットアドレス生
成手段で生成されたセットアドレスで指定される前記キ
ャッシュメモリの記憶位置に上位装置から与えられるデ
ータブロックを格納させるように制御する手段とを含む
ことを特徴とするディスク・キャッシュ装置である。
Means for Solving the Problems A disk cache device according to the present invention includes a cache memory that is divided into a plurality of sets, each of which is divided into a plurality of blocks, and a cache memory that is logically divided into the number of sets. access frequency detection means comprising one or more disk devices divided into the same number of logical volumes, and detecting the number of times a host device requests access to each of the logical volumes per unit time; Each set of the cache memory is allocated one-to-one to each logical volume, a set address for access is generated, and correspondence information between the set and the volume is provided, and based on the detection result of the access frequency detection means. If there is an extreme bias in access to each of the logical volumes, stop allocating the cache memory set to the least frequently accessed logical volume, allocate the set to the most frequently accessed logical volume, and then If the cache memory corresponding to the logical volume can be increased and the access frequency detection means detects that each logical volume is being accessed without extreme bias, the cache memory is increased again. A set address generation means that makes it possible to allocate a set and the logical volume one-to-one, and a data block given from a host device to a storage location in the cache memory specified by the set address generated by the set address generation means. A disk cache device is characterized in that it includes a means for controlling storage of the data.

作用 以上のような構成によれば、計算機システム操作中、デ
ィスク装置の各論理ボリュームへのアクセスが適度に分
散していれば、セット・アソシアティブ方式の利点で目
的とするデータがキャッシュメモリ上に存在するか否か
を短時間で判定でき、またたとえ特定の論理ボリューム
に対してのアクセスが集中あるいは減少した場合でも、
該論理ボリュームに割り付けるキャッシュメモリのセッ
トを増やしたり。あるいはキャッシュメモリの割り付け
を停止するなど、自動的に調整を行い、キャッシュメモ
リを有効に使うことが可能で、キャツシュヒツト率を低
下させることもない。
Effects According to the configuration described above, during computer system operation, if access to each logical volume of the disk device is distributed appropriately, the target data can be stored in the cache memory due to the advantage of the set associative method. Even if access to a specific logical volume is concentrated or decreased, it can be determined in a short time whether or not to
Increase the cache memory set allocated to the logical volume. Alternatively, it is possible to automatically make adjustments, such as stopping allocation of cache memory, to use cache memory effectively, without reducing the cash hit rate.

実施例 以下、本発明の一実施例を説明する。本発明が適用され
る計算機システムを示す第1図において、1000はC
PU(上位装置’)、2000は主記憶装置、2100
は主記憶装置2000上で動作するO8.2110は0
32100に含まれるプログラム、ドライバ 3000
はディスクキャッシュ装置、4000はディスク制御装
置を含むディスク装置で、内部は論理的に複数のボッニ
ームに分割されていて、各ボリュームに関する情報は0
82100が管理している。3200はディスク・キャ
ッシュ装置300oに含まれるディスク装置4000上
のデータを一時的に記憶するためのキャッシュメモリ、
3100はキャッシュメモリ3200にディスク装置4
000上のどこのデータが入っているか工己1意してい
るディレクトリである。なお、ディスク・キャッシュ装
置3000は装置として必ずしも独立している必要はな
く、入出力チャネル(入出力インターフニス)やディス
ク制御装置に組込むことも可能である。
EXAMPLE An example of the present invention will be described below. In FIG. 1 showing a computer system to which the present invention is applied, 1000 is C
PU (upper unit'), 2000 is main storage, 2100
O8.2110 runs on main memory 2000 is 0
Programs and drivers included in 32100 3000
4000 is a disk cache device, 4000 is a disk device including a disk control device, and the inside is logically divided into multiple volumes, and information about each volume is 0.
It is managed by 82100. 3200 is a cache memory for temporarily storing data on the disk device 4000 included in the disk cache device 300o;
3100 is a cache memory 3200 with a disk device 4
This is a directory in which you can determine which data on 000 is stored. Note that the disk cache device 3000 does not necessarily have to be independent as a device, but can also be incorporated into an input/output channel (input/output interface) or disk control device.

次に、基本的な動作について説明する。CPU1000
がディスク装置4000に対して読出し要求をドライバ
2110を使用して発行すると、ディスクキャッシュ装
置3000はドライバ2110より受は取った読出し要
求のアドレスを用いてディレクトリ3100を検索し、
アクセスしようとしているデータがキャッシュメモリ3
200に存在するか否か調べる。もし存在すれば、そこ
からデータを読出し、CPU100Oへ転−送する。も
し、アクセスされたデータがキャッシュメモリ3200
上に存在しなければ、そのデータを含むデータブロック
を、ディスク装置4000から読出し、このブロックを
キャッシュメモリ3200の適当なブロックに格納し、
ディレクトリ3100を更新すると同時にCPUI 0
00にアクセスされたデータを転送する。
Next, the basic operation will be explained. CPU1000
issues a read request to the disk device 4000 using the driver 2110, the disk cache device 3000 searches the directory 3100 using the address of the read request received from the driver 2110,
The data you are trying to access is in cache memory 3.
Check whether it exists in 200. If the data exists, the data is read therefrom and transferred to the CPU 100O. If the accessed data is stored in the cache memory 3200
If the data does not exist on the disk drive 4000, the data block containing the data is read from the disk device 4000, and this block is stored in an appropriate block of the cache memory 3200.
CPUI 0 at the same time as updating directory 3100
Transfer the data accessed to 00.

逆にCPU100Oがディスク装置4000に対して書
込み要求を発行した場合、書込みデータをディスク装置
4000に書込み、もしディスク装置4000の書込ま
れた場所の前のデータがキャッシュメモリ3200上に
存在するとき、そのブロックを無効にする。
Conversely, when the CPU 100O issues a write request to the disk device 4000, the write data is written to the disk device 4000, and if data before the written location of the disk device 4000 exists on the cache memory 3200, Disable that block.

本発明は以上の動作において、ディスク装置上のデータ
ブロックをキャッシュメモリのどの部分にいかに割り付
けるかに関するものであるので、ディスク・キャッシュ
装置3000の内部を示す第2図を用いて詳細に説明す
る。
Since the present invention relates to how to allocate the data blocks on the disk device to which part of the cache memory in the above operation, it will be explained in detail using FIG. 2 showing the inside of the disk cache device 3000.

第2図において、3300はディスク装置4000への
読出しまたは1込み要求により指定されるデータのアド
レスを格納するアドレスレジスタ、3400はディスク
装置4000の各論理ボリュームに対して単位時間あた
りアクセス要求があった回数を検出するアクセス頻度検
出回数、3500はアクセスするデータのアドレスとア
クセス頻度検出回路3400による情報とに基づいてセ
ットアドレスを生成するセットアドレス生成回路、36
00はディスクキャッシュ装置全般の動作を制御するデ
ィスクキャッシュ制御回路、3700はディレクトリ3
100の内容とアドレスレジスタ3300の内容とを比
較する比較回路、3800はキャッシュメモリのブロッ
クを、新しいデータブロックに置換えるなどの処理を行
う書換え処理回路であり、キャッシュメモリ3200に
は入出力バス3900を通してディスク装置4000と
接続されている。
In FIG. 2, 3300 is an address register that stores the address of data specified by a read or write request to disk device 4000, and 3400 is an access request per unit time for each logical volume of disk device 4000. An access frequency detection number 3500 for detecting the number of times is a set address generation circuit 36 that generates a set address based on the address of the data to be accessed and information from the access frequency detection circuit 3400.
00 is a disk cache control circuit that controls the overall operation of the disk cache device, and 3700 is a directory 3.
A comparison circuit 3800 compares the contents of 100 with the contents of the address register 3300, a rewrite processing circuit 3800 performs processing such as replacing a cache memory block with a new data block, and the cache memory 3200 has an input/output bus 3900. It is connected to the disk device 4000 through.

ディスク装置の最小のの記憶単位をセクタとし、その複
数倍の大きさのまとまりをブロックとすると、アクセス
するデータのアドレスは、ボリューム番号3310.ブ
ロックアドレス3320゜セクタアドレス3330に分
解される。
Assuming that the smallest storage unit of a disk device is a sector, and a block is a block that is multiple times the size of the sector, the address of the data to be accessed is volume number 3310. It is decomposed into block address 3320° and sector address 3330.

キャッシュメモリ3200はセクタ単位でアドレスでき
るメモリで全体が複数のブロックよりなるセットに分解
されていて、各セット内の同順番目のブロックの集まり
をレベルとすると、キャッシュメモリ内のセクタは、セ
ットアドレス、レベルアドレス、およびブロック内のセ
クタアドレスによってアクセスできる。
The cache memory 3200 is a memory that can be addressed in sector units and is divided into sets consisting of a plurality of blocks.If the collection of blocks in the same order in each set is taken as a level, then the sectors in the cache memory can be addressed by a set address. , level address, and sector address within the block.

ディレクトリ3100はキャッシュメモリ3200内の
ブロックに対応したエントリを持つメモリで、キャッシ
ュメモリ3200と同様のセット・レベルの配列をもち
、各エントリにはキャッシュメモリ3200の対応する
ブロックに格納されているディスク装置4000のデー
タブロックのアドレス(ボリューム番号、ブロックアド
レス)が記憶されている。
The directory 3100 is a memory having entries corresponding to blocks in the cache memory 3200, and has a set level arrangement similar to the cache memory 3200, and each entry has a list of disk devices stored in the corresponding block of the cache memory 3200. Addresses (volume numbers, block addresses) of 4000 data blocks are stored.

アクセス頻度検出回路3400は所定時間中ディスク装
置4000への読出し、書込みが要求される毎、アドレ
スレジスタ3300よりボリューム番号を読み、各論理
ボリュームに対するアクセス回路をカウントし、その結
果をディスクキャッシュ制御回路3600に送る。所定
時間が過ぎると各カウント値は一度リセットされ、新た
にカウントし始める。
The access frequency detection circuit 3400 reads the volume number from the address register 3300 every time reading or writing to the disk device 4000 is requested during a predetermined period of time, counts the number of access circuits for each logical volume, and sends the result to the disk cache control circuit 3600. send to After a predetermined time has elapsed, each count value is reset once and counting begins anew.

セットアドレス生成回路3500は、内部にボリューム
・セット対応テーブル3510をもち、ディスク装置4
000の論理ボリューム番号3310を入力とし、ボリ
ューム・セット対応テーブル3510を参照し、セット
アドレスを生成する。通常キャッシュメモリ3200と
ディスク装置4000の各論理ボリュームは一対一に対
応させてお(が、前記アクセス頻度検出回路3400の
情報により、ボリューム・セット対応テーブル3510
の内容の変更も行う。
The set address generation circuit 3500 has an internal volume/set correspondence table 3510, and
The logical volume number 3310 of 000 is input, the volume set correspondence table 3510 is referred to, and a set address is generated. Normally, the cache memory 3200 and each logical volume of the disk device 4000 are in a one-to-one correspondence (however, based on the information of the access frequency detection circuit 3400, the volume set correspondence table 3510
We also make changes to the contents of .

次に第1図、第2図において、本発明の一実施例の動作
について説明する。CPU100Oにより読出し要求が
ある場合、ドライバ2110は指定されたディスク装置
4000のデータのアドレスをアドレスレジスタ330
0に格納する。セットアドレス生成回路3500はアド
レスレジスタ3300の内容によりセットアドレスを生
成し、生成されたセットアドレスに従いディレクトリ3
100内の1つのセットが選択される。比較回路370
0は前記セット内のディレクトリ・エントリ内容とアド
レスレジスタ3300内の内容とを一つずつレベル順に
比較する。この比較動作は選択されたセット内のみで行
うので短時間で処理できる。もし比較があるレベルで一
致すれば、このエントリに対応するキャッシュメモリ3
200のブロックに、アクセスするセクタが格納されて
いて、そのセットアドレスがセットアドレス生成回路3
500より、また一致したレベルアドレスは比較回路よ
り、それぞれキャッシュメモリ3200に伝えられ、そ
のブロックが指定される。そしてアドレスレジスタ33
00内のセクタアドレス3330によりブロック内のセ
クタが選択され、データがCPU100Oに送られる。
Next, referring to FIGS. 1 and 2, the operation of an embodiment of the present invention will be described. When there is a read request from the CPU 100O, the driver 2110 stores the address of the data of the specified disk device 4000 in the address register 330.
Store at 0. The set address generation circuit 3500 generates a set address based on the contents of the address register 3300, and the directory 3 according to the generated set address.
One set within 100 is selected. Comparison circuit 370
0 compares the contents of the directory entries in the set with the contents of the address register 3300 one by one in level order. This comparison operation is performed only within the selected set, so it can be processed in a short time. If the comparison matches at a certain level, the cache memory 3 corresponding to this entry
The sector to be accessed is stored in block 200, and the set address is stored in the set address generation circuit 3.
500 and the matching level address are transmitted to the cache memory 3200 by the comparison circuit, and the block is designated. and address register 33
A sector in the block is selected by the sector address 3330 in 00, and the data is sent to the CPU 100O.

もしセットのすべてのレベルで比較が一致しなければ、
書換え処理回路3800により、キャッシュメモリ32
00から空きブロックを取り出す。もし空きブロックが
存在しないときは、公知のアルゴリズム、例えばL R
U(Least RecentlyUsed)のように
、使用中のブロックの中から最後に参照された時点が最
も古いブロックを使用頻度が最も低いと見なし、置換ブ
ロックとして選択する。そしてそのブロックに相当する
ディレクトリ3100のエントリにアクセスしようとし
ているデータブロックのアドレスが書き込まれる。次に
書換え処理回路3800により、選択されたキャッシュ
メモリ3200のブロックに、ディスク装置4000か
らアドレスレジスタ3300に示すアドレスのブロック
が読み込まれ、同時にそのブロック内のセクタのうち、
セクタアドレス3330で指定されたセクタのデータが
CPU1000へ送られる。
If the comparison does not match at all levels of the set, then
By the rewriting processing circuit 3800, the cache memory 32
Extract an empty block from 00. If there are no free blocks, a known algorithm, e.g.
Like U (Least Recently Used), among the blocks in use, the block that was last referenced the oldest is considered to be least frequently used, and is selected as a replacement block. Then, the address of the data block to be accessed is written in the entry of the directory 3100 corresponding to that block. Next, the rewrite processing circuit 3800 reads the block at the address indicated in the address register 3300 from the disk device 4000 into the selected block of the cache memory 3200, and at the same time, among the sectors in the block,
Data in the sector specified by sector address 3330 is sent to CPU 1000.

以上、セット・アソシアティブ方式のディスクキャッシ
ュ装置の基本動作に続いて、次に本発明の特徴であるア
クセス頻度検出回路3400とセットアドレス生成回路
3500の作用について、第1図、第2図とキャッシュ
メモリのn個のセットをディスク装置のn個の論理ボリ
ュームに割り付ける例を示した第3図を用いて説明する
Following the basic operation of the set-associative type disk cache device, we will next explain the functions of the access frequency detection circuit 3400 and set address generation circuit 3500, which are the features of the present invention, with reference to FIGS. 1 and 2 and the cache memory. An example of allocating n sets of data to n logical volumes of a disk device will be explained using FIG. 3.

計算機システム操作開始当初、ディスク装置4000の
各論理ボリュームに対するアクセスがほぼ平均的に分散
していたと仮定すると、第3図(a)に示すように各論
理ボリュームに対して一つずつキャッシュメモリのセッ
トが割り付けられるが、計算機システム操作途中、アク
セス頻度検出回路3400により、所定時間(例えば1
分間)におけるディスク装置4000内の各論理ボリュ
ームに対するアクセス回路をカウントされ、その情報が
ディスク・キャッシュ制御装置3600に送られる。こ
こで、もし論理ボリューム、ボリューム#0へのアクセ
スが集中し、アクセス回数が所定の回数を越え、かつ最
もアクセス頻度の低い論理ボリューム、ボリューム#2
とのアクセス回数との差が基準を越えれば、ディスク・
キャッシュ制御回路3600は、書換え制御回路380
0を起動してボリューム#2に対応するキャッシュメモ
リのセット(セット番号2)の全ブロックのデータと該
ブロックに対応したディレクトリのエントリを無効化す
る。また同時に、ディスク・キャッシュ制御回路360
0は、セットアドレス生成回路3500にボリューム・
セット対応テーブル3510のセット番号2に対応する
ボリューム番号のエントリを2から0に変更するように
指示する。
At the beginning of computer system operation, assuming that accesses to each logical volume of the disk device 4000 are distributed approximately evenly, one set of cache memory is set for each logical volume as shown in FIG. 3(a). However, during the operation of the computer system, the access frequency detection circuit 3400 determines that the
The number of access circuits to each logical volume in the disk device 4000 for each minute) is counted, and the information is sent to the disk cache control device 3600. Here, if accesses to the logical volume, volume #0, are concentrated, and the number of accesses exceeds a predetermined number of times, and the logical volume, volume #2, which has the lowest access frequency,
If the difference between the number of accesses and the number of accesses exceeds the standard, the disk
The cache control circuit 3600 is a rewrite control circuit 380
0 to invalidate all block data of the cache memory set (set number 2) corresponding to volume #2 and the directory entry corresponding to the block. At the same time, the disk cache control circuit 360
0 indicates the volume/volume in the set address generation circuit 3500.
An instruction is given to change the volume number entry corresponding to set number 2 in the set correspondence table 3510 from 2 to 0.

以上の作用により第3図(b)にしめすように、ボリュ
ーム#2に割り付けられていたキャッシュメモリのセッ
ト(セット番号2)がボリューム#0に割り付けられる
ようになる。従ってボリューム#0に対してアクセス要
求があった場合、まずディレクトリ内のセット番号Oの
セットのエンドJを検索し、アドレスレジスタの内容と
一致するエントリがなければ、次にセット番号2のセッ
トのエントリを検索することになる。なお論理ボリュー
ムへのアクセスにおいて偏りが発生しているかどうかを
判別する単位時間あたりの各論理ボリュームへのアクセ
ス回路の基準値は、論理ボリュームの数やキャッシュメ
モリの容量、計算システムの構成等により、最高値を自
由に設定できるようになっている。
As a result of the above operations, as shown in FIG. 3(b), the cache memory set (set number 2) that was allocated to volume #2 is now allocated to volume #0. Therefore, when there is an access request to volume #0, the end J of the set with set number O in the directory is searched, and if there is no entry that matches the contents of the address register, then the end J of the set with set number O in the directory is searched. You will be searching for an entry. Note that the reference value of the access circuit to each logical volume per unit time to determine whether bias has occurred in access to the logical volume depends on the number of logical volumes, the capacity of the cache memory, the configuration of the calculation system, etc. The maximum value can be set freely.

またボリューム#2に対してアクセス要求が生じた場合
、ボリューム#2に対してキャッシュメモリが割り付け
られていないため、ディレクトリを検索することなく、
直接ディスク装置をアクセスすることになるが、計算機
システム操作途中、各論理ボリュームへのアクセスが分
散し、ボリューム#0へのアクセスが減り、ボリューム
#2へのアクセスが増え、アクセス頻度検出回路340
0の検出結果よりボリューム#Oとボリューム#2への
単位時間あたりのアクセス回数の差が基準値以内になる
か、ボリューム#Oへの単位時間あた。
Furthermore, when an access request occurs to volume #2, the cache memory is not allocated to volume #2, so the directory is not searched.
Although the disk device is directly accessed, during computer system operation, access to each logical volume is distributed, access to volume #0 decreases, access to volume #2 increases, and the access frequency detection circuit 340
From the detection result of 0, either the difference in the number of accesses per unit time to volume #O and volume #2 is within the reference value, or the number of accesses to volume #O per unit time.

りのアクセス回数が基準値以内になった場合、上述した
同じ作用でボリューム#Oに対して割り付けられていた
キャッシュメモリのセット(セット番号2またはO)が
再びボリューム#2に割り付けられ、¥%3図の(a)
の状態になる。しかしなおボリューム#0に対する単位
時間あたりのアクセス回数が基準値を越え、ボリューム
#Oとボリューム#2へ対する単位時間あたりのアクセ
ス回数の差は基準値内であるが、ボリューム#1に対す
るアクセス頻度が最も低くなり、ボリューム#Oとの単
位時間あたりのアクセス回数め差が基準値を越えたと仮
定すると、上述した同じ作用でボリューム#1に対して
割り付けられていたキャッシュメモリのセット(セット
番号1)が、第3図(e)に示すようにボリューム#2
に割り付けられることになり、ボリューム31.32と
もボリューム#〇七の単位時間あたりのアクセス回数の
差が、基準値を越えた場合、第3図(d)に示すように
キャッシュメモリのセットが割り付けられる。
When the number of accesses for the previous volume falls within the standard value, the cache memory set (set number 2 or O) that was allocated to volume #O is allocated to volume #2 again with the same effect as described above, and the ¥% Figure 3 (a)
becomes the state of However, the number of accesses per unit time to volume #0 still exceeds the standard value, and the difference in the number of accesses per unit time to volume #0 and volume #2 is within the standard value, but the access frequency to volume #1 exceeds the standard value. Assuming that the difference in the number of accesses per unit time with volume #O exceeds the reference value, the set of cache memory allocated to volume #1 (set number 1) will be However, as shown in Figure 3(e), volume #2
If the difference in the number of accesses per unit time between volumes 31 and 32 and volume #07 exceeds the standard value, a set of cache memory will be allocated as shown in Figure 3(d). It will be done.

計算機システム操作中、以上のような動作を繰り返すこ
とにより、限られたキャッシュメモリを有効かつ効率的
に使用できる。
By repeating the above operations during computer system operation, the limited cache memory can be used effectively and efficiently.

なお上記の実施例では、セクタを記録単位としたディス
クを1台接続した場合を想定して説明したが、本発明は
セクタ方式以外のディスク装置に対しても適用でき、1
台だけでなく複数台接続した構成も可能である。
Although the above embodiment has been described assuming that one disk is connected with sectors as recording units, the present invention can also be applied to disk devices other than the sector system.
A configuration in which not only one unit but also multiple units are connected is also possible.

発明の効果 本発明は以上説明したように、ディスク装置とキャッシ
ュメモリのブロックをセットに分割し、同じセット内で
マツピングを行うセット・アソシアティブ方式を採用す
ることで、アクセスされたデータブロックがキャッシュ
メモリ上に存在するか否かの判定を容易にかつ短時間で
行え、また計算機システム操作中に特定のディスク装置
あるいはディスク装置の特定の領域に対してアクセスが
集中あるいは減少する、また故障などにより使用不可能
になる状況が生じても、そのディスク装置領域に割り付
けられるキャッシュメモリのセットを自動的に調整する
ことで、量に限りある高価な高速のメモリを有効に使用
でき、キャツシュヒツト率も低下さすことなく維持でき
る効果がある。
Effects of the Invention As explained above, the present invention employs a set associative method in which blocks in a disk device and cache memory are divided into sets and mapping is performed within the same set, so that accessed data blocks are stored in the cache memory. It can be easily and quickly determined whether or not a disk exists on a disk, and it can also be used when accesses are concentrated or reduced to a specific disk device or a specific area of a disk device during computer system operation, or when there is a failure. Even if a situation arises where this is not possible, by automatically adjusting the set of cache memory allocated to that disk device area, the limited amount of expensive, high-speed memory can be used effectively and the cache hit rate can be reduced. It has an effect that can be maintained without any problems.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の適用される計算機システムの構成図、
第2図は本発明のディスク・キャッシュ装置の一構成例
を示す構成ブロック図、第3図はキャッシュメモリのセ
ットをディスク装置に割り付は動作を説明する動作説明
図である。 1000・・・・・・CPU、2000・・・・・・主
記憶装置、3000・・・・・・ディスク・キャッシュ
装置、3100・・・・・・ディレクトリ、3200・
・・・・・キャッシュメモリ、4000・・・・・・デ
ィスク装置、3300・・・・・・アドレスレジスタ、
3400・・・・・・アクセス頻度検出回路、3500
・・・・・・セットアドレス生成回路、3600・・・
・・・ディスクキャッシュ制御回路、3700・・・・
・・比較回路、3800・・・・・・書換え処理回路、
3900・・・・・・入出力バス。 代理人の氏名 弁理士 粟野重孝 ほか1名第1図 第3図 (α) キャヅシスズモリ 第 図 (b) +甲ツンユメモゾ 第 図 (Cノ キャヅシヱシモゾ 第 図 (d) キャッシュメモリ セー/μ番号 詠′ヅユーム・′t!ヅト 苅左ケール
FIG. 1 is a configuration diagram of a computer system to which the present invention is applied;
FIG. 2 is a block diagram showing a configuration example of a disk cache device according to the present invention, and FIG. 3 is an explanatory diagram illustrating the operation of allocating a set of cache memories to a disk device. 1000...CPU, 2000...Main storage device, 3000...Disk cache device, 3100...Directory, 3200...
... Cache memory, 4000 ... Disk device, 3300 ... Address register,
3400...Access frequency detection circuit, 3500
...Set address generation circuit, 3600...
...Disk cache control circuit, 3700...
... Comparison circuit, 3800 ... Rewriting processing circuit,
3900...Input/output bus. Name of agent: Patent attorney Shigetaka Awano and one other person Figure 1 Figure 3 (α) Kazushi Susumori Figure (b) + Ko Tsunyu Memozo Figure (C No Kyadushi Shimozo Figure (d)) Cache Memory Separation/μ Number chant 'duyum・'t! zutokari left kale

Claims (1)

【特許請求の範囲】[Claims] 全体が複数のセットに区分され、前記セットをそれぞれ
複数のブロックに区分されたキャッシュメモリと、論理
的に、前記セット数と同数の論理ボリュームに分割され
たディスク装置を1台または複数台供え、前記論理ボリ
ュームのそれぞれに対して単位時間あたりアクセスを要
求された回数を検出するアクセス頻度検出手段と、前記
キャッシュメモリの各セットを一対一に前記ディスク装
置の各論理ボリュームに割り付け、アクセスするための
セットアドレスを生成し、また前記セットと前記ボリュ
ームとの対応情報を有し、前記アクセス頻度検出手段の
検出結果より前記各論理ボリュームへのアクセスに極端
な偏りが見受けられた場合、アクセス頻度の最も低い論
理ボリュームに対するキャッシュメモリのセットの割り
付けを停止し、該セットをアクセス頻度の最も高い論理
ボリュームに割り付け、該論理ボリュームに対応するキ
ャッシュメモリを増やすことができ、また前記各論理ボ
リュームに対して極端な偏りがなくアクセスが行われて
いることが前記アクセス頻度検出手段によって検出され
た場合、再び前記キャッシュメモリのセットと前記論理
ボリュームを一対一に割り付けることを可能にしたセッ
トアドレス生成手段と、このセットアドレス生成手段で
生成されたセットアドレスで指定される前記キャッシュ
メモリの記憶位置にアクセス要求のあったデータブロッ
クを格納させるように制御する手段とを含むことを特徴
とするディスク・キャッシュ装置。
The whole is divided into a plurality of sets, each set is divided into a plurality of blocks, and a cache memory is provided, and one or more disk devices are logically divided into the same number of logical volumes as the number of sets, access frequency detection means for detecting the number of times access is requested per unit time to each of the logical volumes; It generates a set address and has correspondence information between the set and the volume, and if an extreme bias in accesses to each logical volume is found from the detection result of the access frequency detection means, the most It is possible to stop allocating a set of cache memory to a low logical volume, allocate the set to the most frequently accessed logical volume, increase the cache memory corresponding to the logical volume, and a set address generating means that makes it possible to once again allocate the cache memory set and the logical volume on a one-to-one basis when the access frequency detecting means detects that accesses are being performed without any bias; A disk cache device comprising: means for controlling a data block requested for access to be stored in a storage location of the cache memory designated by a set address generated by a set address generating means.
JP63185957A 1988-07-26 1988-07-26 Disk cache memory Pending JPH0236446A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63185957A JPH0236446A (en) 1988-07-26 1988-07-26 Disk cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63185957A JPH0236446A (en) 1988-07-26 1988-07-26 Disk cache memory

Publications (1)

Publication Number Publication Date
JPH0236446A true JPH0236446A (en) 1990-02-06

Family

ID=16179836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63185957A Pending JPH0236446A (en) 1988-07-26 1988-07-26 Disk cache memory

Country Status (1)

Country Link
JP (1) JPH0236446A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281087B2 (en) 2002-10-17 2007-10-09 Nec Corporation Disk array device managing cache memory by dividing cache memory into a plurality of cache segments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281087B2 (en) 2002-10-17 2007-10-09 Nec Corporation Disk array device managing cache memory by dividing cache memory into a plurality of cache segments

Similar Documents

Publication Publication Date Title
US6401181B1 (en) Dynamic allocation of physical memory space
JP6832187B2 (en) Methods and systems for caching in data storage subsystems
US7496711B2 (en) Multi-level memory architecture with data prioritization
USRE43483E1 (en) System and method for managing compression and decompression of system memory in a computer system
US6490671B1 (en) System for efficiently maintaining translation lockaside buffer consistency in a multi-threaded, multi-processor virtual memory system
US4499539A (en) Method and apparatus for limiting allocated data-storage space in a data-storage unit
US5899994A (en) Flexible translation storage buffers for virtual address translation
US6829679B2 (en) Different caching treatment of memory contents based on memory region
US20100100664A1 (en) Storage system
US8819371B2 (en) Storage system
EP0066766B1 (en) I/o controller with a dynamically adjustable cache memory
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
JPH04233643A (en) Control apparatus for buffer memory
US5287482A (en) Input/output cache
US7246202B2 (en) Cache controller, cache control method, and computer system
US7523290B2 (en) Very high speed page operations in indirect accessed memory systems
US6279092B1 (en) Kernel identification for space management in compressed memory systems
US11321235B2 (en) Cache memory device, system including the same, and method of operating the same
US7237084B2 (en) Method and program product for avoiding cache congestion by offsetting addresses while allocating memory
US6665787B2 (en) Very high speed page operations in indirect accessed memory systems
US6324633B1 (en) Division of memory into non-binary sized cache and non-cache areas
JPH0236446A (en) Disk cache memory
JPH05225062A (en) Disk cache device
EP0665499A2 (en) Hierarchic data storage system
US7181587B1 (en) Mapping an arbitrary number of contiguous memory pages at an arbitrary alignment