JPH0235544A - Cache memory control system - Google Patents

Cache memory control system

Info

Publication number
JPH0235544A
JPH0235544A JP63184717A JP18471788A JPH0235544A JP H0235544 A JPH0235544 A JP H0235544A JP 63184717 A JP63184717 A JP 63184717A JP 18471788 A JP18471788 A JP 18471788A JP H0235544 A JPH0235544 A JP H0235544A
Authority
JP
Japan
Prior art keywords
data
cache memory
lru
evicted
entry
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
JP63184717A
Other languages
Japanese (ja)
Inventor
Shigeo Honma
繁雄 本間
Yoshinaga Kuwabara
桑原 善祥
Yoshiko Serizawa
芹澤 佳子
Mitsuo Nagasawa
長澤 光男
Yoshihiro Azumi
安積 義弘
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63184717A priority Critical patent/JPH0235544A/en
Publication of JPH0235544A publication Critical patent/JPH0235544A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve a hit rate by decrease the order of subsequent expelling from a cache memory when a request to access data excellent from the cache memory in the past is generated again. CONSTITUTION:An MPU 20 controls the whole disk cache controller 11 according to a microprogram on a RAM 21. The cache memory 60 is stored with data of high access frequency from a CPU in track units and a directory memory 25 is stored with information for controlling the data stored on the cache memory 60. This directory memory 25 decreases the order of subsequent expelling of data from the cache memory 60 if the request to access the data expelled from the cache memory 60 in the past is generated again.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、L RU (Least Recently
 Used)方式等に基づいてキャッシュメモリからデ
ータを追い出す論理構成を含むキャッシュメモリ管理方
式に係り、特に、アクセス要求のあったデータがキャッ
シュメモリ上に存在する確率(ヒツト率)を向上させる
のに好適なキャッシュメモリ管理方式に関する。
[Detailed Description of the Invention] [Industrial Field of Application] The present invention provides LRU (Least Recently
The present invention relates to a cache memory management method that includes a logical configuration for expelling data from a cache memory based on a method such as a ``Used'' method, etc., and is particularly suitable for improving the probability (hit rate) that data requested for access exists in the cache memory. This paper relates to a cache memory management method.

[従来の技術] 従来、中央処理装置(cpu)と磁気ディスク等の回転
型外部記憶装置間のアクセス速度の大きな差が原因で、
CPU側の処理能力が向上しない、いわゆるボトルネッ
クの問題がある。これを解決する1つの手段としてディ
スクキャッシュシステムが提案されているにのディスク
キャッシュシステムは、CPUと磁気ディスクの間に位
置し、ディスク容量に比べれば少ない容量のキャッシュ
メモリを持ち、該キャッシュメモリに、CPUからの比
較的アクセス頻度の高いデータを格納することにより、
ディスクに直接アクセスしなくてもデータのリード/ラ
イトができるという特徴を有している。
[Prior Art] Conventionally, due to the large difference in access speed between a central processing unit (CPU) and a rotating external storage device such as a magnetic disk,
There is a so-called bottleneck problem in which the processing power on the CPU side does not improve. A disk cache system has been proposed as a means to solve this problem.A disk cache system is located between the CPU and a magnetic disk, and has a cache memory with a small capacity compared to the disk capacity. , by storing relatively frequently accessed data from the CPU,
It has the feature that data can be read/written without directly accessing the disk.

ディスクからキャッシュメモリへデータを1例えばトラ
ック単位でステージング(ロード)する際のキャッシュ
メモリエリアの管理アルゴリズムとして最も広く使用さ
れているのは、LRU(LeastRecently 
Used)方式である。LRU方式では、最も近い過去
に参照されたデータは将来も参照される可能性が高いと
いう仮定のちとに、キャッシュメモリへの新たなステー
ジング要求が発生した時、キャッシュメモリ中最も古い
過去に参照されたデータの占有していたエリアを割当て
るという形をとる。この場合、キャッシュメモリ容量は
限られているので、新たな要求データをステージジグす
るために、最も古く参照されたデータは追い出されるこ
とになる。
The most widely used cache memory area management algorithm when staging (loading) data from disk to cache memory in track units, for example, is LRU (Least Recently).
(Used) method. In the LRU method, after assuming that data referenced in the most recent past is likely to be referenced in the future, when a new staging request to the cache memory occurs, the data referenced in the oldest past in the cache memory is This takes the form of allocating the area occupied by the data. In this case, since the cache memory capacity is limited, the oldest referenced data will be evicted in order to stage new requested data.

しかし、アクセスの間隔、アクセスの性質(シーケンシ
ャルアクセスとランダムアクセス等)の各々異なる複数
個のデータを格納するキャッシュメモリを、前記LRU
方式のような1個のアルゴリズムだけで管理しようとす
ると、あるデータは確かにキャッシュメモリ内に長く留
まりCPUからアクセスがあった時、目的データがキャ
ッシュメモリに存在する確率(ヒツト率)が高くなるが
However, the cache memory that stores a plurality of pieces of data with different access intervals and access characteristics (sequential access, random access, etc.) is
If you try to manage it using only one algorithm like the above method, certain data will certainly remain in the cache memory for a long time, and when accessed by the CPU, the probability (hit rate) that the target data will exist in the cache memory increases. but.

別のデータはステージングしてもすぐにキャッシュメモ
リから追い出されてヒツト率が上がらない、という問題
が起きる。これは、自ずと異なる性格のデータをある一
定のアルゴリズムで管理しようとするために発生する問
題であり、CPUからの種々様々なアクセス要求にもう
少し柔軟に対応できるキャッシュメモリの管理アルゴリ
ズムが必要になる。この種の提案として例えば特開昭5
8−144961号公報がある。
A problem arises in that even if other data is staged, it is immediately evicted from the cache memory and the hit rate does not increase. This is a problem that arises because data of different characteristics are tried to be managed by a certain algorithm, and a cache memory management algorithm that can respond more flexibly to various access requests from the CPU is needed. An example of this type of proposal is the Japanese Patent Application Laid-open No. 5
There is a publication No. 8-144961.

[発明が解決しようとする課題] 従来のLRU方式によるキャッシュメモリ管理アルゴリ
ズムによれば、最も古い過去にアクセスされたデータと
判断されれば、このデータがキャッシュメモリから追い
出されるとともにディレクトリ内の管理情報もそれに伴
って消滅するため。
[Problems to be Solved by the Invention] According to the conventional cache memory management algorithm using the LRU method, if the data is determined to be the oldest data accessed in the past, this data is evicted from the cache memory and the management information in the directory is will also disappear along with it.

あとで当該データに対しアクセス要求があってもミスと
判断されるのみである。ところが、このようなデータは
もうしばらくキャッシュメモリ上での滞在時間を延ばし
てやれば、ヒツトとなりうる。
Even if there is an access request for the data later, it will only be determined as a mistake. However, if such data stays in the cache memory for a while longer, it can become a hit.

すなわち、ステージングされたデータがLRU論理でキ
ャッシュメモリから追い出されるまでの平均滞在時間を
T、ある任意のデータに対するCPUからの平均アクセ
ス間隔をしhすると、−膜内には、T≧tの場合はヒツ
トとなり、T<tの場合はミスになる。
In other words, if T is the average residence time of staged data until it is evicted from the cache memory using LRU logic, and h is the average access interval from the CPU to certain arbitrary data, - within the film, if T≧t, is a hit, and if T<t, it is a miss.

従来のLRU方式によるキャッシュメモリ管理アルゴリ
ズムによれば、前記T<tのような形態をとるアクセス
要求に対しては、はとんどの場合にミスとなりキャッシ
ュ制御装置が本来持つ特性を充分に発揮することができ
ないという問題があった。
According to the conventional cache memory management algorithm based on the LRU method, when an access request takes the form of T<t, it almost always results in a miss, and the inherent characteristics of the cache control device are fully utilized. The problem was that I couldn't do it.

従って、本発明の目的は、上記従来技術の問題点を解消
し、もう少しキャッシュメモリ上での滞在時間を延ばせ
ばヒツトになり得るデータを調べ、キャッシュメモリ管
理のアルゴリズムに上記の調査結果を反映させることに
より、キャッシュメモリの容量はそのままでキャッシュ
メモリのヒツト率を向上させると共に、キャッシュ制御
装置が持つ本来の能力を充分に引き出すようにしたキャ
ッシュメモリ管理方式を提供することにある。
Therefore, an object of the present invention is to solve the problems of the prior art described above, to investigate data that could become a hit if the residence time in the cache memory was extended a little more, and to reflect the above findings in the cache memory management algorithm. Therefore, it is an object of the present invention to provide a cache memory management method that improves the cache memory hit rate while maintaining the cache memory capacity and fully brings out the original ability of a cache control device.

[課題を解決するための手段] 上記目的を達成するため、本発明のキャッシュメモリ管
理方式は、中央処理装置による新たなアクセス要求に対
し、原則として、より古い過去に参照されたデータを占
有していたキャッシュメモリの領域から該古いデータを
追い出して該領域に新たなデータをステージングするい
わゆるLRU方式のキャッシュメモリ管理方式において
、前記キャッシュメモリ上に現存するデータをその追い
出し順(追い出すべき順序)に管理する第1のデータ管
理手段(例えば第1のLRtJテーブル)と。
[Means for Solving the Problems] In order to achieve the above object, the cache memory management method of the present invention, in principle, occupies older previously referenced data in response to a new access request from the central processing unit. In the so-called LRU cache memory management method, in which old data is evicted from an area of the cache memory that has been previously used and new data is staged in the area, data currently existing on the cache memory is evicted in the order in which it was evicted (the order in which it should be evicted). and a first data management means (for example, a first LRtJ table).

前記キャッシュメモリから過去に追い出されたデータを
所定量管理する第2のデータ管理手段(例えば第2のL
RUテーブル)と、新たなアクセス要求が前記第2のデ
ータ管理手段で管理されるデータに対してなされたとき
(ステップ220)、該アクセス要求のあったことを表
示するサブヒツトデータ管理手段(例えばサブヒツトテ
ーブル)と、前記第1のデータ管理手段で最先の追い出
し順位にあるデータが前記サブヒツトデータ管理手段に
より前記アクセス要求のあった旨表示されたデータであ
るとき、該データに係る前記第1のデータ管理手段にお
ける追い出し順位を繰り下げる手段(ステップ2o5)
とを備える。
A second data management means (for example, a second L
RU table), and when a new access request is made to data managed by the second data management means (step 220), the sub-hit data management means (for example, When the data that is ranked first in the ejection order by the first data management means is the data for which the access request has been made by the subhit data management means, the Means for lowering the eviction ranking in the first data management means (step 2o5)
Equipped with.

また、前記第1および第2のデータ管理手段(第1およ
び第2のLRUテーブル)により管理される全データに
対するエントリを持つサーチテーブルを設ける。該サー
チテーブルは、前記全データの各々について、第1およ
び第2のLRUテーブル上の位置を指示するポインタと
、外部記憶装置上の物理的アドレス(ディスク番号、シ
リンダ番号、トラック番号)と、キャッシュメモリ上に
データが存在するか否かを示すフラグとを格納する。
Further, a search table having entries for all data managed by the first and second data management means (first and second LRU tables) is provided. The search table includes, for each of the above-mentioned data, a pointer indicating the position on the first and second LRU tables, a physical address (disk number, cylinder number, track number) on the external storage device, and a cache. A flag indicating whether data exists on the memory is stored.

外部記憶装置とキャッシュメモリとの間のデータのステ
ージングおよび追い出しくデステージング)は5通常、
トラック単位で行なねれる。
Staging and destaging of data between external storage devices and cache memory
This cannot be done on a track-by-track basis.

前記追い出し順位の繰り下げは1例えば最先の追い出し
順位(最下位のエントリ)から最後尾の追い出し順位(
最上位のエントリ)へ変更することで行なわれる。この
変更のあったときは、前記サブヒツトデータ管理手段(
サブヒツトテーブル)」−のアクセスのあった旨の表示
(サブヒツト表示)は抹消される(ステップ207)。
The eviction order may be moved down by 1, for example, from the earliest eviction order (lowest entry) to the last eviction order (the lowest entry).
This is done by changing the top level entry). When this change occurs, the sub-hit data management means (
The display (subhit display) indicating that the subhit table "-" has been accessed is deleted (step 207).

なお、キャッシュメモリには、その容量をステージング
/デステージングのための最小管理単位分の容量(1ト
ラック分の容量)で除算した商の値分のエントリ数を持
たせる。
Note that the cache memory has a number of entries equal to the value of the quotient obtained by dividing its capacity by the capacity for the minimum management unit for staging/destaging (capacity for one track).

第1および第2のLRUのエントリは、ポインタで、追
い出すべき順序(第1LRUの場合)および追い出され
た順序(第2LRUの場合)に従ってチェーンされる。
Entries for the first and second LRUs are chained in pointers according to the order in which they should be evicted (for the first LRU) and the order in which they were evicted (for the second LRU).

[作用] 上記構成に基づく作用を説明する。[Effect] The operation based on the above configuration will be explained.

ディスクからキャッシュメモリへ新たなデータのステー
ジング要求が発生した時、第1のLRUテーブルの最下
位に位置するエントリが指し示すキャッシュメモリ上の
データをキャッシュメモリから追い出し、当該データの
占めていたエリアを新たにステージングが必要なデータ
のために空けるが、この時サーチテーブル上の対応エン
トリは追い出さずに留めるとともに、当該エントリの示
す物理アドレスに属するデータがキャッシュメモリ上に
は存在しないことを示すフラグをオンし、さらに第1の
LRUテーブルの最下位のエントリは第1のLRUテー
ブル上からは追い出し、第2のLRUテーブルの最上位
につなぎかえる。ただしこの時、新たにステージングが
必要になったデータを管理するための情報を格納するた
めの空きエントリを、サーチテーブル上と第1のLRU
テーブル上に確保する必要があるため、第2のLRUテ
ーブルの例えば最下位を占めていたエントリと、そのエ
ントリが指し示していたサーチテーブル上のエントリを
その用に使用する。
When a request for staging new data from the disk to the cache memory occurs, the data on the cache memory pointed to by the lowest entry in the first LRU table is evicted from the cache memory, and the area occupied by the data is replaced with a new one. However, at this time, the corresponding entry on the search table is not evicted, and a flag indicating that the data belonging to the physical address indicated by the entry does not exist in the cache memory is turned on. Furthermore, the lowest entry in the first LRU table is removed from the first LRU table and reconnected to the highest rank in the second LRU table. However, at this time, empty entries for storing information for managing data that newly require staging are created on the search table and in the first LRU.
Since it is necessary to reserve it on the table, the entry occupying the lowest position in the second LRU table and the entry on the search table pointed to by that entry are used for that purpose.

次に、CPUからリード要求があった時を考える。ヒツ
ト/ミスの判定のためまずサーチテーブルを検討するが
、検索結果は3通り存在する。第1の結果はリード要求
のあったデータがキャッシュメモリ上にも存在し、かつ
管理情報がサーチテーブル上にもLRUテーブル(この
場合は第1のLRtJテーブル)上にも存在する場合、
第2の結果はキャッシュメモリ上にもディレクトリ(サ
ーチテーブルとLRUテーブル)上にも存在しない場合
、第3の結果は、リード要求のあったデータはキャッシ
ュメモリ上には存在しないが、管理情報がサーチテーブ
ル上とLRUテーブル(この場合は第2のLRUテーブ
ル)上に存在する場合である。
Next, consider the case when a read request is received from the CPU. First, a search table is examined to determine hits/misses, and there are three types of search results. The first result is that if the data requested to read exists in the cache memory and the management information also exists in the search table and the LRU table (in this case, the first LRtJ table),
The second result is that it does not exist in the cache memory or the directory (search table and LRU table), and the third result is that the data requested to read does not exist in the cache memory, but the management information is This is a case where the information exists on the search table and the LRU table (in this case, the second LRU table).

従来方式によれば、第1と第2の結果しか得られなかっ
たが1本発明によればさらに第3の結果を得ることがで
きる。第3の結果と判断された場合、リード要求のあっ
たデータはすでにキャッシュメモリ上には存在しないが
、もう少しキャッシュメモリ上での滞在時間を延ばせば
ヒツト率を向上させ得るという判断ができる。この場合
、リード要求のあったデータがどの物理アドレスに属す
るものかを前述のサブヒツトテーブル上に記憶しておい
てから、目的データのキャッシュメモリ上へのステージ
ング処理を行なう。
According to the conventional method, only the first and second results were obtained, but according to the present invention, a third result can be obtained. If the third result is determined, the data requested to be read no longer exists in the cache memory, but it can be determined that the hit rate can be improved by extending the stay time in the cache memory a little more. In this case, the physical address to which the read-requested data belongs is stored in the aforementioned subhit table, and then the target data is staged onto the cache memory.

以前に第3の結果と判断されたデータがキャッシュメモ
リ上にステージングされたが、その後アクセスがないま
ま第1のLRUテーブルの最下位に達し、追い出しの対
象となった時、サブヒツトテーブルを参照し、該当する
物理アドレスのデータが以前にキャッシュメモリから追
い出されたあとにアクセス対象となったことがわかれば
、例えば第1のLRUテーブルの最上位に再度つなぎが
える。こうすることにより以前はあと少し滞在時間が足
りずにミスになっていたデータの滞在時間を延長するこ
とができヒツト率向上につながる。
When data that was previously determined to be the third result is staged in the cache memory, but reaches the bottom of the first LRU table without being accessed and becomes a target for eviction, refer to the subhit table. However, if it is found that the data at the corresponding physical address has become an access target after being evicted from the cache memory previously, it is reconnected to the top of the first LRU table, for example. By doing this, it is possible to extend the residence time of data that previously resulted in errors due to insufficient residence time, leading to an increase in the hit rate.

なお、キャッシュメモリ上から追い出されたデータは、
該データが更新されたデータの場合、外部記憶装置に格
納(デステージング)されることになるが、該データが
未更新データ(外部記憶装置からステージングされたま
まのデータ)の場合は抹消してもよい。
Note that the data evicted from the cache memory is
If the data is updated data, it will be stored (destaged) in an external storage device, but if it is unupdated data (data that has been staged from the external storage device), it will be deleted. Good too.

[実施例] 以下、本発明の一実施例を図面を用いて説明する。[Example] An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明を適用したディスクキャッシュ制御袋′
R11を含む計算機処理システムである。
Figure 1 shows a disk cache control bag to which the present invention is applied.
This is a computer processing system including R11.

10は中央処理装置(CPU)、101はチャネル、1
4は磁気ディスク駆動装置a(ディスク)。
10 is a central processing unit (CPU), 101 is a channel, 1
4 is a magnetic disk drive device a (disk).

12は磁気ディスク接続装置である。ディスクキャッシ
ュ制御装置’llはCPUl0からの指令に基づき接続
装置12を通してディスク駆動装置14を制御する。な
お、94gl装置11は必要に応じディスク駆動装置1
4に記憶されているデータをトラック単位で自らが持つ
キャッシュメモリにステージングしたり、キャッシュメ
モリに格納しているトラック単位のデータをディスク駆
動装置14にデステージングしたりする。
12 is a magnetic disk connection device. The disk cache control device 'll controls the disk drive device 14 through the connection device 12 based on commands from the CPU10. Note that the 94gl device 11 can be connected to the disk drive device 1 as needed.
4 is staged on a track-by-track basis to its own cache memory, or track-based data stored in the cache memory is destaged on a disk drive device 14.

第2図にディスクキャッシュ制御装置11の内部構成を
示す。20はマイクロプロセッサユニット(M P U
)で、ランダムアクセスメモリ(RAM)21に格納さ
れているマイクロプログラムを逐次デコードしつつ実行
し、制御装置11全体を制御する。22はチャネルとの
データ転送を制御するための制御回路、24はディスク
とのデータ転送を制御するための制御回路、23はチャ
ネルとディスク間の同期をとりつつデータ転送を制御す
る制御回路である。又、60はCPUからのアクセス頻
度の高いデータをトラック単位で格納しておくためのキ
ャッシュメモリ、25はキャッシュメモリに格納されて
いるデータを管理する情報が入っているディレクトリメ
モリである。ディレクトリメモリは内部にサーチテーブ
ル30.第1LRUテーブル40.第2LRUテープ/
I/ 50 (7)2つのLRUテーブル、そして、サ
ブヒツトテーブル70の4つのテーブル要素を持つ。
FIG. 2 shows the internal configuration of the disk cache control device 11. 20 is a microprocessor unit (MPU
), the microprograms stored in the random access memory (RAM) 21 are sequentially decoded and executed to control the entire control device 11. 22 is a control circuit for controlling data transfer with the channel, 24 is a control circuit for controlling data transfer with the disk, and 23 is a control circuit that controls data transfer while synchronizing between the channel and the disk. . Further, 60 is a cache memory for storing frequently accessed data from the CPU in units of tracks, and 25 is a directory memory containing information for managing the data stored in the cache memory. The directory memory contains a search table 30. First LRU table 40. 2nd LRU tape/
I/50 (7) Has two LRU tables and four table elements: subhit table 70.

今、制御装置11が500トランク分のデータを格納で
きるだけのキャッシュメモリを持ち、ディスク装置14
を合計32台制御し、さらにディスク装置14は1台当
りのシリンダ数が1000−1シリンダ当りのトラック
数が20であるとする。
Now, the control device 11 has a cache memory that can store data for 500 trunks, and the disk device 14 has enough cache memory to store data for 500 trunks.
It is assumed that a total of 32 disk devices 14 are controlled, and the number of cylinders per disk device 14 is 1000-the number of tracks per cylinder is 20.

上記のように仮定した時の、第3図はキャッシュメモリ
、第4図はサーチテーブル、第5図は第1LRUテーブ
ル、第6図は第2LRUテーブル、第7図はサブヒツト
テーブルである。
Assuming the above, FIG. 3 shows the cache memory, FIG. 4 shows the search table, FIG. 5 shows the first LRU table, FIG. 6 shows the second LRU table, and FIG. 7 shows the subhit table.

第3図に示すキャッシュメモリはT、〜T49.まで、
500個のエントリを持ち、任意のエントリTk61に
トラック単位のデータを格納する0本発明ではサーチテ
ーブルのエントリ数はキャッシュメモリのエントリ数以
上の必要があるため、第4図に示すサーチテーブル30
は、キャッシュメモリ60のエントリ数500の2倍、
1000のエントリを持つ、サーチテーブル30におけ
る任意のエントリ5n31は、キャッシュメモリに格納
している又は過去に格納していたトラック単位のデータ
がディスク14上のどの物理アドレスに属するものかを
ディスク番号32、シリンダ番号33、トランク番号3
4によって示すとともに。
The cache memory shown in FIG. 3 is T, to T49. to,
In the present invention, the number of entries in the search table must be greater than the number of entries in the cache memory, so the search table 30 shown in FIG.
is twice the number of entries 500 in the cache memory 60,
An arbitrary entry 5n31 in the search table 30 having 1000 entries indicates the disk number 32 to which physical address on the disk 14 the track unit data stored in the cache memory or previously stored belongs. , cylinder number 33, trunk number 3
As shown by 4.

32.33.34で示すトランクデータがキャッシュメ
モリに存在するか否かを示すフラグ35(オン時トラッ
クデータがキャッシュメモリ上に存在)及び、第1LR
tJテーブル又は第2 LRUテーブルへのポインタ3
6を含む。
A flag 35 indicating whether or not the trunk data shown in 32, 33, and 34 exists in the cache memory (when on, track data exists in the cache memory), and the first LR
Pointer 3 to tJ table or second LRU table
Contains 6.

第5図に示す第1LRUテーブルは、キャッシュメモリ
と等しい500ケのエントリ数を持ち。
The first LRU table shown in FIG. 5 has 500 entries, which is the same as the cache memory.

任意のエントリL□、は内部に前方ポインタ43゜後方
ポインタ44、サーチテーブルへのポインタ45、キャ
ッシュメモリへのポインタ46を持つ。
An arbitrary entry L□ internally has a forward pointer 43, a backward pointer 44, a pointer 45 to the search table, and a pointer 46 to the cache memory.

個々のエントリはポインタ43.44によって互いにリ
ンクされ、ポインタ46によってポイントされるキャッ
シュメモリ中のエントリ61に格納されているトラック
データが、キャッシュメモリ内の全トラックのデータ中
、最も最近アクセスのあったデータの時、L工、は最上
位ポインタ41によってポイントされる。逆にポインタ
46によってポイントされるキャッシュメモリ中のエン
トリ61に格納されているトラックデータが、キャッシ
ュメモリ内の全トラックデータ中量も古い過去にアクセ
スのあったデータの時、Ll、は最下位ポインタ42に
よってポイントされる。さらに各エントリは、最も最近
アクセスのあったトラックデータから最も古い過去にア
クセスのあったトラックデータの顔に最上位ポインタと
各エントリの前方ポインタ43によってチエインし、そ
の逆順を最下位ポインタと各エントリの後方ポインタ4
4によってチエインする。
The individual entries are linked to each other by pointers 43 and 44, and the track data stored in the entry 61 in the cache memory pointed to by the pointer 46 is the most recently accessed data among all the track data in the cache memory. When it is data, L is pointed to by the highest pointer 41. Conversely, when the track data stored in the entry 61 in the cache memory pointed to by the pointer 46 is data that has been accessed in the past, which is older than all the track data in the cache memory, Ll is the lowest pointer. 42. Further, each entry is chained from the most recently accessed track data to the oldest track data accessed in the past using the top pointer and the forward pointer 43 of each entry, and the reverse order is chained from the bottom pointer to each entry. backward pointer 4
Chain by 4.

ディスクからキャッシュメモリへの新たなステージング
要求が発生した時、基本的には第1LRUテーブル中、
最下位ポインタ42によって示されるキャッシュメモリ
のエントリが新たなトラックデータ格納のために割当て
られる。第6図に示す第2LRUテーブルはその結果キ
ャッシュメモリから追い出されたトラックデータを追い
出された順に前方ポインタ53を使って各エントリをチ
エインする。実際にどのディスク番号、シリンダ番号、
トラック番号のトラックデータがキャッシュメモリから
追い出されたかは、第2LRUテーブルの任意のエント
リL2J中、サーチテーブルポインタ55で指し示され
るサーチテーブルのエントリ中の32.33.34を調
べることにより認識される。最上位ポインタ51によっ
て指し示されるエントリが最も最近キャッシュメモリか
ら追い出されたトラックデータを示し、前方ポインタの
チエインする順番に古くなり、最下位ポインタ52によ
って指し示されるエントリが最も古くキャッシュメモリ
から追い出されたトラックデータを示す、逆順は後方ポ
インタ54のチエインする順番で示される。なお、第6
図の第2LRUテーブルは、サーチテーブルのエントリ
数1oooとキャッシュメモリのエントリ数500の差
である500のエントリ数を持つ。このため、キャッシ
ユメモリから追い出されたトラックデータがどのディス
ク番号、シリンダ番号、トラック番号のデータかを覚え
ていられる上限は500である。第7図のサブヒツトテ
ーブル70は、キャッシュメモリからトラックデータは
追い出されてしまったが追い出されたトラックデータの
管理情報がサーチテーブル及び第2LRUテーブル内に
残っている時に、CPUから当該データにアクセス要求
があった、すなわちもう少し滞在時間を延ばせばヒツト
率向上を期待できるトラックデータはどのディスク番号
、シリンダ番号のものなのかを記憶しておくためのテー
ブルである。テーブル70は。
When a new staging request from disk to cache memory occurs, basically the first LRU table is
The cache memory entry indicated by lowest pointer 42 is allocated for new track data storage. As a result, the second LRU table shown in FIG. 6 uses the forward pointer 53 to chain the track data evicted from the cache memory in the order in which they were evicted. Which disk number, cylinder number,
Whether the track data of the track number has been evicted from the cache memory can be recognized by checking 32.33.34 in the search table entry pointed to by the search table pointer 55 in any entry L2J of the second LRU table. . The entry pointed to by the highest pointer 51 indicates the track data most recently evicted from the cache memory, becomes older in the order of chaining of forward pointers, and the entry pointed to by the lowest pointer 52 is the oldest track data evicted from the cache memory. The reverse order of track data is indicated by the chaining order of the backward pointer 54. In addition, the 6th
The second LRU table in the figure has 500 entries, which is the difference between the number of entries in the search table, 1ooo, and the number of entries in the cache memory, 500. Therefore, the upper limit for remembering which disk number, cylinder number, and track number the track data evicted from the cache memory corresponds to is 500. The sub-hit table 70 in FIG. 7 is used to access the data from the CPU when the track data has been evicted from the cache memory but the management information of the evicted track data remains in the search table and second LRU table. This is a table for storing which disk number and cylinder number the track data for which there has been a request, that is, the hit rate can be expected to improve if the staying time is extended a little more, belongs to. Table 70 is.

システム全体のトラック本数分のビット位置を有し、各
ビット位置に、もう少し滞在時間を延ばすべきトラック
データか否かを1ビツト(or L ITか110 I
Tか)で表示する。ディスクキャッシュ制御装置11は
、ディスク番号O〜31の32台のディスク装置14を
制御し、各ディスク装置14は1台当りのシリンダ数が
シリンダ番号O〜999までの1000ケ、1シリンダ
当りのトランク数がトラック番号O〜19までの20ケ
と仮定している。このため前述の、もう少し滞在時間を
延ばせばと判断されたトラックデータが、ディスク番号
X、シリンダ番号y、トラック番号2のものであれば、
サブヒツトテーブル先頭から、x (1000X20)
+ y X20+ zピット分離れた位置eID71の
ビットをオンする。
It has bit positions equal to the number of tracks in the entire system, and each bit position has a 1 bit (or LIT or 110 I
T or ). The disk cache control device 11 controls 32 disk devices 14 with disk numbers O to 31, each disk device 14 has 1000 cylinders with cylinder numbers O to 999, and a trunk per cylinder. It is assumed that there are 20 track numbers from O to 19. For this reason, if the track data for which it was determined that the staying time should be extended a little longer is disk number X, cylinder number y, track number 2, then
From the top of the subhit table, x (1000X20)
+y

今CPUl0から制御袋c11へディスク番号X、シリ
ンダ番号y、t−ラック番号Zのトラックデータに対し
リード要求がきた時を考える。制御装置11の動作とし
てはまず指示されたトラックデータがキャッシュメモリ
内に存在するか否かを調べることから始める必要がある
が、この時の処理手順を図8を使用して説明する。
Let us now consider the case where a read request is received from the CPU 10 to the control bag c11 for track data of disk number X, cylinder number y, and t-rack number Z. The operation of the control device 11 must first start by checking whether the instructed track data exists in the cache memory, and the processing procedure at this time will be explained using FIG.

まず始めに、ステップ200でディスク番号X。First, in step 200, disk number X is entered.

シリンダ番号y、トラック番号Zをキーにして、サーチ
テーブル30を全域検索する。検索が終了したらステッ
プ201でリード要求のあったトラックデータに対応す
るエントリがサーチテーブル上にあったかを判定する。
The entire search table 30 is searched using the cylinder number y and track number Z as keys. When the search is completed, it is determined in step 201 whether there is an entry on the search table that corresponds to the track data requested to be read.

なかった、すなわちミスと判定されれば要求されたトラ
ックデータをキャッシュメモリヘステージングする準備
のためステップ202に進む。202では第1LRUテ
ーブルの最下位ポインタ42の示すエントリを得、次に
ステップ203で、202で得たエントリ中45が示す
サーチテーブルからディスク番号、シリンダ番号、トラ
ック番号を知る。ステップ203で求めたディスク番号
、シリンダ番号、トランク番号に対応するトラックデー
タがキャッシュメモリからの追い出し対象となる。ただ
しその前に、追い出し対象となったトラックデータがキ
ャッシュメモリ内滞在期間延長の対象になっていないか
を調査するため、ステップ204で、サブヒツトテーブ
ル70の該当ビットがオンになっていないかを調べる。
If it is determined that there is no such data, that is, it is determined that there is a miss, the process proceeds to step 202 to prepare for staging the requested track data to the cache memory. In step 202, the entry indicated by the lowest pointer 42 of the first LRU table is obtained, and in step 203, the disk number, cylinder number, and track number are obtained from the search table indicated by entry 45 among the entries obtained in step 202. The track data corresponding to the disk number, cylinder number, and trunk number obtained in step 203 are to be purged from the cache memory. However, before that, in order to investigate whether the track data to be evicted is subject to an extension of the stay period in the cache memory, in step 204, it is checked whether the corresponding bit in the subhit table 70 is turned on. investigate.

オンになっていれば、ヒツト率向上のためステップ20
5で第1LRUテーブルの最上位エントリ八つなぎ換え
る。さらにステップ206で最下位の1つ前のエントリ
を新たに第1LRUテーブルの最下位エントリとする。
If it is on, step 20 will improve the hit rate.
5, the top eight entries of the first LRU table are reconnected. Further, in step 206, the entry immediately before the lowest level is newly set as the lowest entry in the first LRU table.

次にステップ207で、204でオンと判断したサブヒ
ツトテーブル70の該当ビットをオフする。その後はス
テップ204でサブヒツトテーブルのビットがオフ、す
なわち滞在期間延長の対象になっていないトラックデー
タが見つかるまでステップ202〜207を繰り返す。
Next, in step 207, the corresponding bit in the subhit table 70 that was determined to be on in 204 is turned off. Thereafter, steps 202 to 207 are repeated until the bit in the subhit table is turned off in step 204, that is, until track data that is not subject to stay period extension is found.

そして、この繰り返しの度に、第1LRUの各エントリ
は1段ずつ上位がら下位へずらされ、最下位に達すると
最上位へ移されて行く。204でNoと判断されるトラ
ックデータが見つかると、この時の第1LRUテーブル
の最下位エントリの指すキャッシュメモリのトラックデ
ータが実際に追い出されることになる。ステップ208
で、この第1LRU最下位エントリを第i L RUテ
ーブルの範囲からはずし、第2LRUテーブルの最上位
エントリとする。(即ち、今まで、第1LRUテーブル
の最下位ポインタ42に接続されていたエントリを、第
2LRUの最上位ポインタ51に接続する。)これ以降
、当該トラックデータは、キャッシュメモリ上にデータ
としては存在しないが管理情報の形でサーチテーブルと
第2LRUテーブル上に保持されることになる。
Each time this is repeated, each entry in the first LRU is shifted one stage from the higher level to the lower level, and when it reaches the lowest level, it is moved to the highest level. If track data for which the determination is No in step 204 is found, the track data in the cache memory pointed to by the lowest entry in the first LRU table at this time will actually be evicted. Step 208
Then, this first LRU lowest entry is removed from the range of the i-th LRU table and is made the highest entry of the second LRU table. (In other words, the entry that has been connected to the lowest pointer 42 of the first LRU table is connected to the highest pointer 51 of the second LRU.) From now on, the track data will not exist as data on the cache memory. Although not, it is held in the search table and second LRU table in the form of management information.

このためステップ209で該当サーチテーブルのエント
リ中のキャッシュ上にデータなしのフラグ35をオンし
ておく3次にステップ210で第1LRUテーブルの最
下位エントリを更新する(最下位より1つ手前のエン1
−りを最下位エントリとする。)。ステップ211では
、ミスであってもリード要求のあったトラックデータが
キャッシュメモリ上にもなく管理情報もない全くのミス
なのか(ステップ211でNoの場合)、それとも管理
情報だけは存在するのか(ステップ211でYesの場
合)を調べる。ここでは流れに従って次にステップ21
2以降に行く。ステップ212.ステップ213では新
たにステージング対象となるトラックデータの管理情報
を入れるためのサーチテーブルのエリアおよびLRUテ
ーブルのエリアを割当てる。そのため、ステップ212
では、第2LRUテーブルの最下位エントリを確保して
これを第1LRUテーブル最上位エントリにつなぎ換え
ると共に、当該第2LRU最下位エントリの指していた
サーチテーブルのエントリを得る。ステップ213では
、ステップ21.2で得たサーチテーブルのエントリと
、第1LRUテーブル最上位とされたエントリに対し、
新たにステージングするエリアの管理情報を割当て格納
する。また、ステップ216で、第2LRUテーブルの
最下位エントリを更新しておく。このようにして、第1
〜第2LRUテーブルを通してエントリが1段ずつ繰り
下がると共に、第1LRUテーブルの最上位エントリに
新たにステージングするデータの管理情報が入り、又、
第2LRUテーブルの最下位エントリにあった古い管理
情報が追い出されたことになる。
Therefore, in step 209, the no-data flag 35 is turned on on the cache in the corresponding search table entry.Next, in step 210, the lowest entry of the first LRU table is updated (the entry one position before the lowest). 1
- is the lowest entry. ). In step 211, even if it is a miss, is the track data for which the read request was requested not on the cache memory and is it a complete miss with no management information (if No in step 211), or is there only management information present? If Yes in step 211) is checked. Here, following the flow, next step 21
Go to 2 or later. Step 212. In step 213, a search table area and an LRU table area are allocated for storing management information of track data to be newly staged. Therefore, step 212
Now, the lowest entry in the second LRU table is secured and connected to the highest entry in the first LRU table, and the entry in the search table pointed to by the second lowest entry is obtained. In step 213, for the search table entry obtained in step 21.2 and the entry determined to be the topmost entry in the first LRU table,
Allocate and store management information for the new staging area. Further, in step 216, the lowest entry in the second LRU table is updated. In this way, the first
~The entries are moved down one stage at a time through the second LRU table, and the management information for the data to be newly staged is entered in the top entry of the first LRU table, and
This means that the old management information that was in the lowest entry of the second LRU table has been purged.

以上の処理で新たなトラックデータをステージングする
ための準備が整ったため、ステップ217でステージン
グを実行した後、ステップ218で目的データをCPU
に転送して処理を終える。
With the above processing, preparations for staging new track data have been completed, so after staging is executed in step 217, the target data is transferred to the CPU in step 218.
Transfer it to and finish processing.

次に、処理を元に戻して、ステップ201でYesと判
断された場合、すなわちリード要求のあったトラックデ
ータがサーチテーブル上に存在するケースを説明する。
Next, we will explain the case where the process is returned to its original state and the determination in step 201 is Yes, that is, the track data for which the read request is made exists on the search table.

この場合ステップ219でキャッシュメモリ上に該当デ
ータが存在するかを調べる。存在するYesと判定され
たケースがヒツトの場合で、サーチテーブルの該当エン
トリ中のLRUポインタから第1LRUテーブルのエン
トリを知り、さらにそのエントリ中のキャッシュメモリ
へのポインタを求め、ステップ221で求めたキャッシ
ュメモリ上のデータをCPUに転送して処理を終える。
In this case, in step 219, it is checked whether the corresponding data exists on the cache memory. If the case in which it is determined that the existence exists is a hit, the entry in the first LRU table is known from the LRU pointer in the corresponding entry in the search table, and the pointer to the cache memory in that entry is also determined, which is determined in step 221. The data on the cache memory is transferred to the CPU and processing ends.

ステップ219で存在しない、Noと判定されたケース
は実質的にはミスであるが、その管理情報は第2LRU
テーブル上に格納されており、しばらく前まではキャッ
シュメモリ上にトラックデータが存在しており、以後当
該トラックデータをステージング後はキャッシュメモリ
上での滞在期間を意識的に延長してやれば、ヒツトにつ
ながるケースである。又、このような判断は従来のLR
U方式ではできなかったところである。この場合。
A case that does not exist or is determined as No in step 219 is essentially a mistake, but the management information is stored in the second LRU.
It is stored on a table, and the track data existed on the cache memory until a while ago, and after staging the track data, if you consciously extend the period of stay on the cache memory, it will lead to more hits. It is a case. In addition, such judgment is based on the conventional LR
This is something that could not be done with the U method. in this case.

ステップ220でサブヒツトテーブル70の該当ビット
をオンしておく。なお、この後、ステップ214で第2
LRUテーブルの該当エントリは第1 LRUテーブル
の最上位エントリに移されるが、その後もサブヒツトテ
ーブル70の該当ビットは。
At step 220, the corresponding bit in the subhit table 70 is turned on. Note that after this, in step 214, the second
The corresponding entry in the LRU table is moved to the highest entry in the first LRU table, but the corresponding bit in the subhit table 70 remains unchanged thereafter.

更にその後の別のアクセス要求により順位が下がって第
1LRUテーブル最下位に至り、その追い出しを免れる
迄(ステップ207)、オン状態に保持され続ける。そ
して、ステップ220でオンしたビットは、以後別のト
ラックデータの新たなステージング要求のため第1LR
Uテーブルの最下位エントリ及びそれに連結するキャッ
シュメモリ内のトランクデータがキャッシュメモリから
の追い出し対象になった時、ステップ204でチエツク
され、オンと判定されれば、ステップ205で第1LR
Uテーブルの最上位につなぎかえられる。従って、キャ
ッシュメモリ上での滞在期間の延長を実現でき、ヒツト
率向上に寄与する。たとえば、従来の滞在期間をtとす
ると、−ヒ記の第1LRUテーブルの最下位から最上位
へのつなぎかえにより、これが再び最下位まで来て追い
出されるまでに更に時間しを要することから、滞在期間
は従来の2倍程度となる。ステップ220実行後は前述
のミスのケースと同様ステージングするトラックデータ
のための空きをキャッシュメモリ上に作るためステップ
202から210までを実行する。次にステップ211
ではyesと判断され、ステップ214で第1LRtJ
テーブルの最上位へのつなぎ換えを行なう。さらにステ
ップ215で214のつなぎ換えの結果発生する第2L
RUテーブル内の前方ポインタ、後方ポインタの修復を
実行し、ステップ2】7以降へ行く、ステップ217゜
218では前述したようにステージング処理及びCPU
へのデータ転送を実行し処理を終える。
Furthermore, it continues to be kept in the on state until it is lowered in rank due to another access request and reaches the bottom of the first LRU table and is saved from being kicked out (step 207). Then, the bit turned on in step 220 is used as the first LR for a new staging request for another track data.
When the lowest entry of the U table and the trunk data in the cache memory connected to it are targeted for eviction from the cache memory, it is checked in step 204, and if it is determined to be on, the first LR is cleared in step 205.
It can be reconnected to the top of the U table. Therefore, it is possible to extend the stay period on the cache memory, contributing to improving the hit rate. For example, if the conventional length of stay is t, it will take more time for the first LRU table to reach the bottom again and be kicked out due to the reconnection from the lowest to the highest in the first LRU table described in The period will be approximately twice as long as before. After step 220 is executed, steps 202 to 210 are executed in order to create space in the cache memory for track data to be staged, as in the case of a miss described above. Next step 211
Then, in step 214, the first LRtJ
Reconnect to the top of the table. Furthermore, in step 215, the second L generated as a result of the connection of 214 is
The forward pointer and backward pointer in the RU table are repaired, and the process proceeds to steps 2) and 7 onwards. In steps 217 and 218, the staging process and CPU
Executes data transfer to and finishes processing.

以上の実施例によれば、ステージングされたデータがL
RU論理でキャッシュメモリから追い出されるまでの平
均滞在時間をT、ある任意のデータに対するCPUから
の平均アクセス間隔をしいステージジグされたデータの
管理情報がディレクトリに記憶されてから消滅するまで
の平均滞在時間(データ自体は途中でキャッシュメモリ
から追い出される可能性がある)をt2とすると、本発
明ではし□≦t2であればT(tlの場合でもヒツトに
つなげることができるという効果がある6[発明の効果
] 以上詳しく述べたように、本発明のキャッシュメモリ管
理方式によれば、第1のデータ管理手段に加えて第2の
データ管理手段とサブヒツトデータ管理手段を設け、キ
ャッシュメモリ上から過去に追い出されたデータに対し
て再びアクセス要求のあったとき(サブヒツトしたとき
)、該データに対し、もう少しキャッシュメモリ上での
滞在時間を延ばせばヒツトになり得るデータであるとし
て、その後のキャッシュメモリからの追い出し順位を繰
り下げるようにしたので、該データに対する以後の滞在
時間は、従来のLRU方式による滞在時間に比べて実質
的に延長され、ヒツト率を向上することができる等、優
れた効果を奏する6
According to the above embodiment, the staged data is
In RU logic, the average stay time until it is evicted from the cache memory is T, and the average access interval from the CPU to certain arbitrary data is the average stay from the time the management information of the stage jig data is stored in the directory until it disappears. Assuming that the time (the data itself may be evicted from the cache memory midway) is t2, the present invention has the effect that if □≦t2, it can connect to a human even in the case of T(tl)6[ Effects of the Invention] As described in detail above, according to the cache memory management method of the present invention, in addition to the first data management means, the second data management means and the sub-hit data management means are provided, and When there is another access request (subhit) to data that was evicted in the past, it is assumed that the data could become a hit if it stayed in the cache memory a little longer, and the subsequent cache Since the order of eviction from memory is moved down, the subsequent residence time for the data is substantially extended compared to the residence time using the conventional LRU method, which has excellent effects such as improving the hit rate. play 6

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

第1図は本発明を実施する上で必要な計算機システムの
系統図、第2図は本発明を適用したディスクキャッシュ
制御装置の内部構成図、第3図はキャッシュメモリの内
部構成図、第4図はサーチテーブルの内部構成図、第5
図は第1LRUテーブルの内部構成図、第6図は第2L
RUテーブルの内部構成図、第7図はサブヒツトテーブ
ルの内部構成図、第8図(A)、(B)はキャッシュメ
モリ管理の処理手順を示す流れ図である。 第 2図 第3図 キャッシュメモリ 第4図 リーチテーフ〕ノ 原市国府津公弼0番地 株式会社日立製作所小
FIG. 1 is a system diagram of a computer system necessary to implement the present invention, FIG. 2 is an internal configuration diagram of a disk cache control device to which the present invention is applied, FIG. 3 is an internal configuration diagram of a cache memory, and FIG. The figure is an internal configuration diagram of the search table, No. 5
The figure shows the internal configuration of the 1st LRU table, and Figure 6 shows the 2nd LRU table.
FIG. 7 is an internal configuration diagram of the RU table, FIG. 7 is an internal configuration diagram of the subhit table, and FIGS. 8(A) and 8(B) are flowcharts showing processing procedures for cache memory management. Fig. 2 Fig. 3 Cache memory Fig. 4 Reach tape] Hitachi, Ltd., Nohara-shi, Kokufutsukosuke 0, Hitachi, Ltd.

Claims (1)

【特許請求の範囲】 1、中央処理装置と、外部記憶装置と、前記外部記憶装
置の写しを持つキャッシュメモリとを有し、前記中央処
理装置による新たなアクセス要求に対し、より古い過去
に参照されたデータを占有していたキャッシュメモリの
領域から該古いデータを追い出して該領域に新たなデー
タをステージングするキャッシュメモリ管理方式におい
て、前記キャッシュメモリ上に現存するデータをその追
い出し順に管理する第1のデータ管理手段と、前記キャ
ッシュメモリから過去に追い出されたデータを所定量管
理する第2のデータ管理手段と、新たなアクセス要求が
前記第2のデータ管理手段で管理されるデータに対して
なされたとき、該アクセス要求のあつたことを表示する
サブヒットデータ管理手段と、前記第1のデータ管理手
段で最先の追い出し順位にあるデータが前記サブヒット
データ管理手段により前記アクセス要求のあつた旨表示
されたデータであるとき、該データに係る前記第1のデ
ータ管理手段における追い出し順位を繰り下げる手段と
を備えたことを特徴とするキャッシュメモリ管理方式。 2、前記第1および第2のデータ管理手段により管理さ
れる全データに対するエントリを持つサーチテーブルを
備え、前記第1および第2のデータ管理手段は第1およ
び第2のデータ管理テーブルから成り、前記サーチテー
ブルは、前記全データの各々について、前記第1および
第2のデータ管理テーブル上の位置を指示するポインタ
と、前記外部記憶装置上の物理的アドレスと、キャッシ
ュメモリ上のデータ有無を示すフラグとを有しているこ
とを特徴とする請求項1記載のキャッシュメモリ管理方
式。 3、前記データはトラック単位でステージングおよび追
い出しが行なわれるように構成したことを特徴とする請
求項1記載のキャッシュメモリ管理方式。 4、前記追い出し順位を繰り下げる手段は、前記最先の
追い出し順位から最後尾の追い出し順位に変更する手段
により構成したことを特徴とする請求項1記載のキャッ
シュメモリ管理方式。 5、前記追い出し順位の繰り下げ後、前記サブヒットデ
ータ管理手段におけるアクセス要求のあつた旨の表示を
抹消する手段を備えたことを特徴とする請求項1記載の
キャッシュメモリ管理方式。
[Scope of Claims] 1. A central processing unit, an external storage device, and a cache memory having a copy of the external storage device, and in response to a new access request by the central processing unit, an older past reference is made. In a cache memory management method in which old data is evicted from an area of a cache memory that occupied the data and new data is staged in the area, a first method that manages existing data on the cache memory in the order in which it is evicted; a second data management means for managing a predetermined amount of data evicted from the cache memory in the past; and a second data management means for managing a predetermined amount of data evicted from the cache memory in the past; When the access request is received, the sub-hit data management means displays the fact that the access request has been made; 1. A cache memory management system comprising: means for lowering the eviction ranking of the data in the first data management means when the data is displayed as such. 2. A search table having entries for all data managed by the first and second data management means, the first and second data management means comprising first and second data management tables, The search table indicates, for each of all the data, a pointer indicating the position on the first and second data management tables, a physical address on the external storage device, and whether the data exists on the cache memory. 2. The cache memory management method according to claim 1, further comprising a flag. 3. The cache memory management system according to claim 1, wherein the data is configured to be staged and purged on a track-by-track basis. 4. The cache memory management system according to claim 1, wherein the means for lowering the eviction order comprises means for changing the eviction order from the earliest eviction order to the last eviction order. 5. The cache memory management system according to claim 1, further comprising means for deleting a display indicating that an access request has been received in said sub-hit data management means after said evicting order has been lowered.
JP63184717A 1988-07-26 1988-07-26 Cache memory control system Pending JPH0235544A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63184717A JPH0235544A (en) 1988-07-26 1988-07-26 Cache memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63184717A JPH0235544A (en) 1988-07-26 1988-07-26 Cache memory control system

Publications (1)

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

Family

ID=16158133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63184717A Pending JPH0235544A (en) 1988-07-26 1988-07-26 Cache memory control system

Country Status (1)

Country Link
JP (1) JPH0235544A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276198A (en) * 2004-03-23 2005-10-06 Internatl Business Mach Corp <Ibm> System and method for balancing multiple memory buffer sizes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276198A (en) * 2004-03-23 2005-10-06 Internatl Business Mach Corp <Ibm> System and method for balancing multiple memory buffer sizes

Similar Documents

Publication Publication Date Title
US10169232B2 (en) Associative and atomic write-back caching system and method for storage subsystem
US6457102B1 (en) Cache using multiple LRU&#39;s
US6341331B1 (en) Method and system for managing a raid storage system with cache
EP0077453B1 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
US5717893A (en) Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions
US6877065B2 (en) Advanced read cache management
CN103207839B (en) Cache management method and system that track in the high-speed cache of storage is removed
US20030079087A1 (en) Cache memory control unit and method
US6286080B1 (en) Advanced read cache emulation
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
EP0066766B1 (en) I/o controller with a dynamically adjustable cache memory
US20200117601A1 (en) Storage controller, storage system, storage controller controlling method, and program
JPS6111865A (en) Memory access control system
EP0114944B1 (en) Method and apparatus for controlling a single physical cache memory to provide multiple virtual caches
AU707876B2 (en) System and method for sequential detection in a cache management system
JPH0235544A (en) Cache memory control system
JPH11224164A (en) Magnetic disk sub system
JP2852232B2 (en) Computer
JP2000285022A (en) Disk controller
EP0665499A2 (en) Hierarchic data storage system
JP2854668B2 (en) Disk cache control method
JP3083530B2 (en) Cache memory data management method and cache control device
JPH06214720A (en) Method for update of data of disk storage device
JPH05225062A (en) Disk cache device
JP2854667B2 (en) Disk cache control method