JP2636746B2 - I / O cache - Google Patents

I / O cache

Info

Publication number
JP2636746B2
JP2636746B2 JP6201648A JP20164894A JP2636746B2 JP 2636746 B2 JP2636746 B2 JP 2636746B2 JP 6201648 A JP6201648 A JP 6201648A JP 20164894 A JP20164894 A JP 20164894A JP 2636746 B2 JP2636746 B2 JP 2636746B2
Authority
JP
Japan
Prior art keywords
block
input
cache
access
output
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.)
Expired - Lifetime
Application number
JP6201648A
Other languages
Japanese (ja)
Other versions
JPH0863398A (en
Inventor
昌彦 城市
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6201648A priority Critical patent/JP2636746B2/en
Publication of JPH0863398A publication Critical patent/JPH0863398A/en
Application granted granted Critical
Publication of JP2636746B2 publication Critical patent/JP2636746B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、中央処理装置と入出力
装置との間に位置付けられる入出力処理装置における入
出力キャッシュに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an input / output cache in an input / output processing device located between a central processing unit and an input / output device.

【0002】[0002]

【従来の技術】入出力キャッシュは、主記憶装置と入出
力装置間の記憶階層レベルとして設けられた小容量で高
速なメモリであって、主記憶装置の内容の一部を記憶す
ることにより入出力装置に対して高速なアクセスを提供
する。従来のキャッシュメモリでは、キャッシュミスが
生じたときに置き換え対象となるブロックデータを選択
する方法として、例えばランダム法やLRU(Least Re
cently Usedの略)法がある。ランダム法とは、文字通
り乱数を用いることにより、次にどのブロックを置き換
え対象とするかをランダムに決定する方法である。この
ランダム法によれば、置き換え制御用のハードウェアを
簡単な構成で実現できる。また、LRU法とは、有効な
データブロックの中でも必要性の高いデータを格納して
いるブロックを主記憶に追い出してしまわないように、
キャッシュ内の各ブロックへのアクセス状況を記録し、
最も長い間アクセスされなかったブロックのデータを置
き換えの対象とする方法である。このLRU法によれ
ば、使用頻度の高いブロックがキャッシュに留まるため
効率の良いデータ転送ができる。
2. Description of the Related Art An input / output cache is a small-capacity, high-speed memory provided as a storage hierarchy level between a main storage device and an input / output device. Provides fast access to output devices. In a conventional cache memory, as a method of selecting block data to be replaced when a cache miss occurs, for example, a random method or an LRU (Least Re
cently Used) method. The random method is a method of randomly determining which block is to be replaced next by using a random number literally. According to this random method, replacement control hardware can be realized with a simple configuration. In addition, the LRU method is used to prevent a block storing high-necessity data among valid data blocks from being flushed to main memory.
Record the access status to each block in the cache,
In this method, the data of the block that has not been accessed for the longest time is to be replaced. According to the LRU method, a frequently used block remains in the cache, so that efficient data transfer can be performed.

【0003】これら従来のブロック置き換え方法につい
ては、例えば、「長島,堀越著:キャッシュ記憶,情報
処理,Vol.21,No.4,pp.332-340(1980年4月)」
を参照できる。
[0003] These conventional block replacement methods are described in, for example, "Nagashima, Horikoshi: Cache Storage, Information Processing, Vol. 21, No. 4, pp. 332-340 (April 1980)".
Can be referred to.

【0004】[0004]

【発明が解決しようとする課題】しかし、従来のランダ
ム法では、必要性の高いデータのブロックであっても、
特に考慮されることなく置き換えられて主記憶に追い出
されてしまうおそれがあった。
However, in the conventional random method, even if the data block is highly necessary,
There is a possibility that the data will be replaced without being taken into consideration and be expelled to the main memory.

【0005】また、LRU法を用いても、入出力キャッ
シュでは同一のアドレスのデータを頻繁に書き換えるよ
うな動作は稀であることからブロック間の使用頻度の差
がつき難いため、データ転送性能の向上はあまり期待で
きないという問題があった。
Even if the LRU method is used, since the operation of frequently rewriting data at the same address is rare in the input / output cache, a difference in the frequency of use between blocks is hard to be obtained. There was a problem that improvement could not be expected so much.

【0006】すなわち、入出力装置のデータ転送は、大
容量のデータを連続したアドレスでアクセスすることが
多く、一度アクセスしたデータをまたすぐにアクセスす
るというよりも、ブロックの最初から最後までを一度ア
クセスしてしまえばそのブロックは不要となる場合が多
い。また、入出力装置の中でも、ディスク装置のように
比較的高速な装置もあれば、回線系のように低速な装置
もある。従って、入出力キャッシュにおける置き換え対
象ブロックの決定に当たっては、これら入出力装置特有
の事情を考慮する必要がある。
That is, in data transfer of an input / output device, a large amount of data is often accessed by a continuous address. Therefore, rather than accessing the data once accessed again immediately, the data is transferred from the beginning to the end of the block once. Once accessed, the block is often unnecessary. Also, among input / output devices, there are relatively high-speed devices such as disk devices, and low-speed devices such as line systems. Therefore, when deciding the replacement target block in the input / output cache, it is necessary to consider the circumstances specific to these input / output devices.

【0007】本発明の目的は、上述の問題を解決し、入
出力キャッシュに適したブロック置き換えアルゴリズム
を有する入出力キャッシュを提供することにある。
An object of the present invention is to solve the above-mentioned problem and to provide an input / output cache having a block replacement algorithm suitable for the input / output cache.

【0008】また、本発明の他の目的は、ブロック内の
最後のバイトまでアクセスしたブロックやディスク装置
以外の装置によるデータを有するブロックを判別して、
キャッシュミス時に入出力装置の特性を活かした置き換
え対象ブロックを決定することにある。
Another object of the present invention is to determine a block that has accessed up to the last byte in a block or a block having data from a device other than a disk device,
An object of the present invention is to determine a replacement target block utilizing a characteristic of an input / output device at the time of a cache miss.

【0009】さらに、本発明の他の目的は、主記憶装置
と入出力装置間のデータ転送性能を向上させることにあ
る。
Another object of the present invention is to improve the data transfer performance between a main storage device and an input / output device.

【0010】[0010]

【課題を解決するための手段】上記課題を解決するため
に本発明の入出力キャッシュは、ブロック毎に管理され
入出力装置によりアクセスされる入出力キャッシュであ
って、前記入出力装置からアクセスがあった場合にディ
スク装置以外の入出力装置であればセットされる第1の
アクセスフラグを各ブロック毎に保持する第1のアクセ
スフラグ保持手段と、前記入出力キャッシュ内に新たに
ブロックを確保する際、前記第1のアクセスフラグ保持
手段の内容に応じて前記入出力キャッシュのブロックの
中から何れのブロックを置き換え対象ブロックとすべき
かを判定する置き換え対象ブロック判定手段とを含む。
In order to solve the above problems, an input / output cache according to the present invention is an input / output cache managed for each block and accessed by an input / output device. If the input / output device is an input / output device other than a disk device, a first access flag holding means for holding a first access flag to be set for each block, and a new block is secured in the input / output cache. In this case, a replacement target block determination unit that determines which block from the blocks of the input / output cache should be a replacement target block in accordance with the contents of the first access flag holding unit.

【0011】また、本発明の他の入出力キャッシュは、
ブロック毎に管理され入出力装置によりアクセスされる
入出力キャッシュであって、前記入出力装置からアクセ
スがあった場合に回線系のアクセスであればセットされ
る第1のアクセスフラグを各ブロック毎に保持する第1
のアクセスフラグ保持手段と、前記入出力キャッシュ内
に新たにブロックを確保する際、前記第1のアクセスフ
ラグ保持手段の内容に応じて前記入出力キャッシュのブ
ロックの中から何れのブロックを置き換え対象ブロック
とすべきかを判定する置き換え対象ブロック判定手段と
を含む。
Further, another input / output cache according to the present invention includes:
An input / output cache managed for each block and accessed by an input / output device, wherein a first access flag which is set if a line-based access is made from the input / output device is set for each block. First to hold
Access flag holding means, and when a new block is reserved in the input / output cache, which block is replaced with any of the blocks of the input / output cache according to the contents of the first access flag holding means. Replacement target block determination means for determining whether or not the replacement should be performed.

【0012】また、本発明の他の入出力キャッシュは、
ブロック毎に管理され入出力装置によりアクセスされる
入出力キャッシュであって、前記入出力装置からアクセ
スがあった場合にディスク装置以外の入出力装置であれ
ばセットされる第1のアクセスフラグを各ブロック毎に
保持する第1のアクセスフラグ保持手段と、ブロック中
の最終位置のバイトにアクセスがあったことを示す第2
のアクセスフラグを各ブロック毎に保持する第2のアク
セスフラグ保持手段と、前記入出力キャッシュ内に新た
にブロックを確保する際、前記第1のアクセスフラグ保
持手段および前記第2のアクセスフラグ保持手段の内容
に応じて前記入出力キャッシュのブロックの中から何れ
のブロックを置き換え対象ブロックとすべきかを判定す
る置き換え対象ブロック判定手段とを含む。
Further, another input / output cache according to the present invention includes:
A first access flag that is set for an I / O cache that is managed for each block and that is accessed by the I / O device if the I / O device accesses the I / O device other than the disk device. First access flag holding means for holding each block, and second access flag indicating that the last byte in the block has been accessed.
Second access flag holding means for holding the access flag for each block, and when securing a new block in the input / output cache, the first access flag holding means and the second access flag holding means And a replacement target block determining means for determining which block among the blocks of the input / output cache is to be replaced.

【0013】また、本発明の他の入出力キャッシュは、
ブロック毎に管理され入出力装置によりアクセスされる
入出力キャッシュであって、前記入出力装置からアクセ
スがあった場合に回線系のアクセスであればセットされ
る第1のアクセスフラグを各ブロック毎に保持する第1
のアクセスフラグ保持手段と、ブロック中の最終位置の
バイトにアクセスがあったことを示す第2のアクセスフ
ラグを各ブロック毎に保持する第2のアクセスフラグ保
持手段と、前記入出力キャッシュ内に新たにブロックを
確保する際、前記第1のアクセスフラグ保持手段および
前記第2のアクセスフラグ保持手段の内容に応じて前記
入出力キャッシュのブロックの中から何れのブロックを
置き換え対象ブロックとすべきかを判定する置き換え対
象ブロック判定手段とを含む。
Another input / output cache according to the present invention includes:
An input / output cache managed for each block and accessed by an input / output device, wherein a first access flag which is set if a line-based access is made from the input / output device is set for each block. First to hold
Access flag holding means, a second access flag holding means for holding, for each block, a second access flag indicating that the byte at the last position in the block has been accessed, and a new access flag holding means in the I / O cache. When allocating a block, it is determined which of the blocks of the input / output cache should be a replacement target block according to the contents of the first access flag holding means and the second access flag holding means. And a replacement target block determining unit.

【0014】また、本発明の他の入出力キャッシュは、
ブロック毎に管理され入出力装置によりアクセスされる
入出力キャッシュにおいて、前記置き換え対象ブロック
判定手段は、前記入出力キャッシュに空きのブロックが
あるか否かを判定する未使用ブロック有無判定部と、前
記第1のアクセスフラグ保持手段の内容に応じて前記第
1のアクセスフラグがセットされているブロックがある
か否かを判定する第1のアクセスブロック有無判定部
と、前記入出力キャッシュの各ブロックのステータスを
判定するブロックステータス判定部と、置き換えブロッ
クを決定する際のブロック探索開始位置を保持する探索
位置保持部とを含み、前記未使用ブロック有無判定部に
より前記探索位置保持部の保持する位置から各ブロック
を探索して未使用ブロックがあれば該ブロックを置き換
え対象ブロックとして決定し、前記第1のアクセスブロ
ック有無判定部により前記探索位置保持部の保持する位
置から各ブロックを探索して前記第1のアクセスフラグ
がセットされているブロックがあれば該ブロックを置き
換え対象ブロックとして決定する。
Further, another input / output cache according to the present invention includes:
In the I / O cache managed for each block and accessed by the I / O device, the replacement target block determination unit includes an unused block presence / absence determination unit that determines whether there is a free block in the I / O cache, A first access block presence / absence determining unit for determining whether or not there is a block in which the first access flag is set according to the contents of the first access flag holding unit; A block status determination unit that determines the status, and a search position holding unit that holds a block search start position when determining a replacement block, from the position held by the search position storage unit by the unused block presence / absence determination unit Each block is searched, and if there is an unused block, the block is set as a replacement target block. Is determined, the first access block presence / absence determining unit searches each block from the position held by the search position holding unit, and if there is a block in which the first access flag is set, the block is replaced with a target block. To be determined.

【0015】また、本発明の他の入出力キャッシュは、
ブロック毎に管理され入出力装置によりアクセスされる
入出力キャッシュにおいて、前記置き換え対象ブロック
判定手段は、前記入出力キャッシュに空きのブロックが
あるか否かを判定する未使用ブロック有無判定部と、前
記第1のアクセスフラグ保持手段の内容に応じて前記入
出力キャッシュに前記第1のアクセスフラグがセットさ
れているブロックがあるか否かを判定する第1のアクセ
スブロック有無判定部と、前記第2のアクセスフラグ保
持手段の内容に応じて前記入出力キャッシュに前記第2
のアクセスフラグがセットされているブロックがあるか
否かを判定する第2のアクセスブロック有無判定部と、
前記入出力キャッシュの各ブロックのステータスを判定
するブロックステータス判定部と、置き換えブロックを
決定する際のブロック探索開始位置を保持する探索位置
保持部とを含み、前記未使用ブロック有無判定部により
前記探索位置保持部の保持する位置から各ブロックを探
索して未使用ブロックがあれば該ブロックを置き換え対
象ブロックとして決定し、前記第2のアクセスブロック
有無判定部により前記探索位置保持部の保持する位置か
ら各ブロックを探索して前記第2のアクセスフラグがセ
ットされているブロックがあれば該ブロックを置き換え
対象ブロックとして決定し、前記第1のアクセスブロッ
ク有無判定部により前記探索位置保持部の保持する位置
から各ブロックを探索して前記第2のアクセスフラグが
セットされているブロックがあれば該ブロックを置き換
え対象ブロックとして決定する。
Further, another input / output cache according to the present invention includes:
In the I / O cache managed for each block and accessed by the I / O device, the replacement target block determination unit includes an unused block presence / absence determination unit that determines whether there is a free block in the I / O cache, A first access block presence / absence determining unit that determines whether or not there is a block in which the first access flag is set in the input / output cache in accordance with the contents of a first access flag holding unit; In the input / output cache according to the contents of the access flag holding means.
A second access block presence / absence determination unit that determines whether there is a block for which the access flag is set,
A block status determination unit that determines a status of each block of the input / output cache; and a search position holding unit that holds a block search start position when determining a replacement block, wherein the search is performed by the unused block presence / absence determination unit. Each block is searched from the position held by the position holding unit, and if there is an unused block, the block is determined as a replacement target block, and the second access block presence / absence determining unit determines from the position held by the search position holding unit. Each block is searched, and if there is a block in which the second access flag is set, the block is determined as a replacement target block, and the position held in the search position holding unit by the first access block presence / absence determining unit is determined. , And the second access flag is set. The lock is determined as the target block replaces the block, if any.

【0016】また、本発明の他の入出力キャッシュは、
データを格納するデータアレイと、このデータアレイに
対応するアドレスおよび制御情報を格納するタグアレイ
とを有し、前記制御情報は、前記第1のアクセスフラグ
保持手段と前記第2のアクセスフラグ保持手段とを含
む。
Further, another input / output cache according to the present invention includes:
A data array for storing data; and a tag array for storing address and control information corresponding to the data array, wherein the control information is stored in the first access flag holding unit and the second access flag holding unit. including.

【0017】また、本発明の他の入出力キャッシュは、
一定以上のバイト数でキャッシュのブロックにアクセス
を行った場合にそのアクセスのあったブロックに対応し
た前記第1のアクセスフラグをセットする。
Further, another input / output cache according to the present invention includes:
When the cache block is accessed with a certain number of bytes or more, the first access flag corresponding to the accessed block is set.

【0018】また、本発明の他の入出力キャッシュは、
キャッシュアクセスの際にディスク装置識別信号を伴わ
ない場合にそのアクセスのあったブロックに対応した前
記第1のアクセスフラグをセットする。
Further, another input / output cache according to the present invention includes:
When a cache access is not accompanied by a disk device identification signal, the first access flag corresponding to the accessed block is set.

【0019】[0019]

【実施例】次に本発明の入出力キャッシュの一実施例に
ついて図面を参照して詳細に説明する。
Next, an embodiment of the input / output cache according to the present invention will be described in detail with reference to the drawings.

【0020】図1を参照すると、本発明の一実施例であ
る入出力キャッシュ100は、中央処理装置101や主
記憶装置102が接続するシステムバス103と入出力
装置群106−1〜nが接続する入出力バス105との
間に位置する入出力処理装置104の中に含まれてい
る。
Referring to FIG. 1, an input / output cache 100 according to an embodiment of the present invention includes a system bus 103 to which a central processing unit 101 and a main storage device 102 are connected, and input / output device groups 106-1 to 106-n. In the input / output processing unit 104 located between the input / output bus 105 and the input / output bus 105.

【0021】中央処理装置101によって、主記憶装置
102から入出力装置106に対する転送命令が発行さ
れると、入出力装置106は入出力バス入力バッファ1
11およびセレクタ112を介して入出力キャッシュ1
00にアクセスする。所望のデータが入出力キャッシュ
100に存在すれば、そのデータはセレクタ114およ
び入出力バス出力バッファ110を介して行き先入出力
装置106に転送される。もし、所望のデータが入出力
キャッシュ100に存在しなければ、セレクタ113お
よびシステムバス出力バッファ108を介して主記憶装
置102に要求が通知される。要求されたデータを含む
ブロックは主記憶装置102から読み出された後、シス
テムバス入力バッファ107およびセレクタ112を介
して入出力キャッシュ100に格納される。また、要求
されたデータについてはセレクタ114および入出力バ
ス出力バッファ110を介して行き先入出力装置106
にも転送される。上記入出力キャッシュへのブロックの
格納により、その後の当該ブロック内のデータについて
は主記憶装置102へのアクセスが不要となる。
When the CPU 101 issues a transfer command from the main storage device 102 to the I / O device 106, the I / O device 106
11 and the input / output cache 1 via the selector 112
Access 00. If the desired data exists in the input / output cache 100, the data is transferred to the destination input / output device 106 via the selector 114 and the input / output bus output buffer 110. If the desired data does not exist in the input / output cache 100, a request is notified to the main storage device 102 via the selector 113 and the system bus output buffer 108. After the block containing the requested data is read from the main storage device 102, it is stored in the input / output cache 100 via the system bus input buffer 107 and the selector 112. The requested data is sent to the destination input / output device 106 via the selector 114 and the input / output bus output buffer 110.
Will also be forwarded. By storing the block in the input / output cache, subsequent access to the main storage device 102 for data in the block becomes unnecessary.

【0022】なお、図1では入出力処理装置104の
内、入出力キャッシュに関係する部分のみを示してい
る。
FIG. 1 shows only a part of the input / output processing device 104 related to the input / output cache.

【0023】図2を参照すると、本発明の一実施例であ
る入出力キャッシュ100は、データを格納するデータ
アレイ208と、このデータアレイ208に対応するア
ドレスや制御情報を格納するタグアレイ207とを含ん
でいる。また、この入出力キャッシュ100は、コマン
ド、アドレスおよびデータを保持するデータバッファ2
01と、未使用ブロックの有無を判定する未使用ブロッ
ク有無判定回路202と、LBU(Last Byte Usedの
略)ブロックの有無を判定するLBUブロック有無判定
回路203と、各ブロックのステータスを判定するブロ
ックステータス判定回路204と、NDA(ディスク以
外の装置によるアクセス、Non Disk Accessの略)ブロ
ックの有無を判定するNDAブロック有無判定回路20
5と、置き換え対象となるブロックを決定しその旨の指
示を行う置き換えブロック決定回路206と、置き換え
対象を探索する開始点を示すリプレースポインタ209
と、置き換え対象となったブロックとリプレースポイン
タ209の示すブロックとが一致するか否かを検出する
比較器210と、キャッシュタグアレイ207およびキ
ャッシュデータアレイ208を制御するキャッシュ制御
回路211とを含んでいる。
Referring to FIG. 2, an input / output cache 100 according to an embodiment of the present invention includes a data array 208 for storing data and a tag array 207 for storing addresses and control information corresponding to the data array 208. Contains. The input / output cache 100 is provided with a data buffer 2 for holding commands, addresses and data.
01, an unused block presence / absence determination circuit 202 for determining the presence / absence of an unused block, an LBU block presence / absence determination circuit 203 for determining the presence / absence of an LBU (Last Byte Used) block, and a block for determining the status of each block A status determination circuit 204 and an NDA block presence / absence determination circuit 20 for determining the presence / absence of an NDA (access by a device other than a disk, abbreviation for Non Disk Access)
5, a replacement block determination circuit 206 that determines a block to be replaced and issues an instruction to that effect, and a replacement pointer 209 that indicates a starting point for searching for a replacement target.
And a comparator 210 for detecting whether the block to be replaced matches the block indicated by the replacement pointer 209, and a cache control circuit 211 for controlling the cache tag array 207 and the cache data array 208. I have.

【0024】本発明の一実施例の入出力キャッシュは、
キャッシュタグアレイ207にブロック毎に「無効(以
下Iとする)」、「共有(以下Sとする)」、「一致/
排他的(以下CEとする)」および「不一致/排他的
(以下DEとする)」の何れかのステータスを有するこ
とを前提とする。ステータスが「I」であればそのブロ
ックには有効データが格納されていないことを示してい
る。「S」であればそのブロックは中央処理装置101
のキャッシュと入出力キャッシュ100に共有されてい
ることを示している。「CE」であればそのブロックは
入出力キャッシュ100に専有されており、かつ、その
内容が記憶装置のものと一致していることを示してい
る。また、「DE」であればそのブロックは入出力キャ
ッシュ100に専有されており、かつ、その内容が記憶
装置のものと一致していないことを示している。これら
ステータスは既存の技術によるものであり、例えば、
「天野等著:並列処理機構,丸善,pp.186-190(198
9年8月)」に記載されている。
An input / output cache according to an embodiment of the present invention includes:
In the cache tag array 207, "invalid (hereinafter referred to as I)", "shared (hereinafter referred to as S)", "match /
It is assumed that the status has one of the statuses “exclusive (hereinafter, referred to as CE)” and “mismatch / exclusive (hereinafter, referred to as DE)”. If the status is "I", it indicates that no valid data is stored in that block. If "S", the block is the central processing unit 101
And the I / O cache 100. If "CE", it indicates that the block is occupied by the I / O cache 100 and its contents match those of the storage device. In addition, if it is “DE”, it indicates that the block is exclusively used by the input / output cache 100 and that its contents do not match those of the storage device. These statuses are due to existing technology, for example:
"Amano et al .: Parallel processing mechanism, Maruzen, pp.186-190 (198
Aug. '09) ".

【0025】本発明の一実施例の入出力キャッシュは、
キャッシュタグアレイ207においてブロック毎に、さ
らにLBUフラグ、およびNDAフラグを保持する。
An input / output cache according to an embodiment of the present invention includes:
The cache tag array 207 further holds an LBU flag and an NDA flag for each block.

【0026】LBUフラグとは、ブロック中の最後尾に
該当するバイトにリードまたはライトのアクセスを行っ
たことを示すものである。入出力装置のデータ転送は、
大容量のデータを連続したアドレスでアクセスすること
が多く、一度アクセスしたデータをまたすぐにアクセス
するというよりも、ブロックの最初から最後までを一度
アクセスしてしまえばそのブロックは不要となる場合が
多い。そこで、このLBUフラグを設け、最後のバイト
をアクセスしてしまったブロックは置き換え対象とする
こととしたものである。
The LBU flag indicates that a read or write access has been made to the last byte in the block. I / O device data transfer
Often, a large amount of data is accessed at a continuous address, and rather than accessing the data once accessed again, once the block is accessed from the beginning to the end, the block may become unnecessary. Many. Therefore, this LBU flag is provided, and the block accessing the last byte is to be replaced.

【0027】NDAフラグとは、そのブロックがディス
ク装置以外の装置により使用されていることを示すもの
である。高速転送可能なディスク系のアクセスは16バ
イト転送が主流であり、回線系等による低速転送のアク
セスは2バイトが主流であるため、高速にアクセスでき
るディスク系のデータを追い出すよりもそれ以外の低速
な装置のデータを追い出す方が入出力キャッシュを効率
良く使用することができる。このNDAフラグをセット
するには、例えば16バイト未満の転送で入出力キャッ
シュにアクセスがあった場合にそのアクセス対象となっ
たブロックのNDAフラグをセットするようにする方法
が考えられる。また、ディスク装置のアクセスの際には
識別信号を入出力処理装置104に送ることにして、こ
の信号がない場合にはディスク装置以外の装置によるア
クセスであるとみなしてそのアクセス対象となったブロ
ックのNDAフラグをセットするようにしてもよい。
The NDA flag indicates that the block is used by a device other than the disk device. 16-byte transfer is the mainstream for high-speed transfer disk-based access, and low-speed transfer access for line-based systems is mainly 2 bytes. I / O cache can be used more efficiently if data from a device is removed. In order to set the NDA flag, for example, when the input / output cache is accessed by transfer of less than 16 bytes, a method of setting the NDA flag of the block to be accessed may be considered. When the disk device is accessed, an identification signal is sent to the input / output processing device 104. In the absence of the signal, the block is regarded as being accessed by a device other than the disk device, and May be set.

【0028】キャッシュ制御回路211は、データバッ
ファ201に保持されているコマンドおよびアドレス
と、キャッシュタグアレイ207の内容により、各ブロ
ックに対応するキャッシュタグのステータスを遷移さ
せ、また、LBUフラグやNDAフラグを設定してい
る。また、このキャッシュ制御回路211は、置き換え
ブロック決定回路206からの置き換えブロックと置き
換え指示によって、キャッシュミス時におけるキャッシ
ュタグアレイ207とキャッシュデータアレイ208の
置き換え処理を行う。
The cache control circuit 211 changes the status of the cache tag corresponding to each block according to the command and address held in the data buffer 201 and the contents of the cache tag array 207, and also changes the LBU flag and the NDA flag. Is set. Further, the cache control circuit 211 performs a process of replacing the cache tag array 207 and the cache data array 208 at the time of a cache miss in accordance with the replacement block and the replacement instruction from the replacement block determination circuit 206.

【0029】ブロックステータス判定回路204は、キ
ャッシュタグアレイ207のデータを参照して、各ブロ
ックのステータスが「S」または「CE」であるか、
「DE」であるかを判定して、その結果をLBUブロッ
ク有無判定回路203とNDAブロック有無判定回路2
05に送る。
The block status determination circuit 204 refers to the data of the cache tag array 207 and determines whether the status of each block is "S" or "CE".
It is determined whether it is “DE” and the result is determined by the LBU block presence / absence determination circuit 203 and the NDA block presence / absence determination circuit 2
Send to 05.

【0030】未使用ブロック有無判定回路202は、キ
ャッシュタグアレイ207の各ブロックに対応する内容
とリプレースポインタ209を参照して、ステータスが
「I」のブロックがあれば、その旨とそのブロックの番
号とを、置き換えブロック決定回路206に送る。
The unused block presence / absence determination circuit 202 refers to the content corresponding to each block of the cache tag array 207 and the replacement pointer 209, and if there is a block whose status is "I", that fact and the number of the block To the replacement block determination circuit 206.

【0031】LBUブロック有無判定回路203は、キ
ャッシュタグアレイ207の各ブロックに対応するLB
Uフラグ、リプレースポインタ209の値およびブロッ
クステータス判定回路204からの各ブロックのステー
タス情報を参照して、LBUフラグがセットされている
ブロックがあれば、その旨、そのブロックの番号および
ステータスを、置き換えブロック決定回路206に送
る。
The LBU block presence / absence determination circuit 203 determines whether the LBU corresponding to each block of the cache tag
By referring to the U flag, the value of the replacement pointer 209, and the status information of each block from the block status determination circuit 204, if there is a block in which the LBU flag is set, that fact is replaced by the block number and status. This is sent to the block determination circuit 206.

【0032】NDAブロック有無決定回路205は、キ
ャッシュタグアレイ207の各ブロックに対応するND
Aフラグ、リプレースポインタ209の値、ブロックス
テータス判定回路204からの各ブロックのステータス
情報を参照して、NDAフラグがセットされているブロ
ックがあれば、その旨、そのブロックの番号およびステ
ータスを、置き換えブロック決定回路206に送る。ま
た、NDAフラグがセットされているブロックがなけれ
ば、その旨、そのブロックの番号およびステータスを、
置き換えブロック決定回路206に送る。
The NDA block presence / absence determination circuit 205 determines the ND corresponding to each block of the cache tag array 207.
By referring to the A flag, the value of the replacement pointer 209, and the status information of each block from the block status determination circuit 204, if there is a block in which the NDA flag is set, the fact and the number and status of the block are replaced. This is sent to the block determination circuit 206. If there is no block in which the NDA flag is set, the fact, the number and status of the block are set as follows.
This is sent to the replacement block determination circuit 206.

【0033】置き換えブロック決定回路206は、リプ
レースポインタ209と、未使用ブロック有無判定回路
202、LBUブロック有無判定回路203、NDAブ
ロックの有無判定回路205によるキャッシュブロック
の各判定結果とを基に、置き換えブロックを決定して、
そのブロックの番号と置き換え指示とを出力する。
The replacement block determination circuit 206 performs replacement based on the replacement pointer 209 and each determination result of the cache block by the unused block presence determination circuit 202, the LBU block presence determination circuit 203, and the NDA block presence determination circuit 205. Determine the block,
The block number and the replacement instruction are output.

【0034】比較器210は、置き換え指示が置き換え
ブロック決定回路206から出力されると、置き換えブ
ロック決定回路206の出力する置き換えブロックの番
号とリプレースポインタの値とを比較して、両者の値が
一致した場合にはリプレースポインタ209の値を1つ
増加させる。
When the replacement instruction is output from the replacement block determination circuit 206, the comparator 210 compares the number of the replacement block output from the replacement block determination circuit 206 with the value of the replacement pointer, and the two values match. In this case, the value of the replacement pointer 209 is increased by one.

【0035】次に本発明の入出力キャッシュの一実施例
の動作を図面を参照して詳細に説明する。
Next, the operation of one embodiment of the input / output cache of the present invention will be described in detail with reference to the drawings.

【0036】図3および図2を参照すると、リプレース
ポインタ209は初期状態が0となっており、キャッシ
ュの先頭ブロックを示している(S301)。キャッシ
ュミスが発生してキャッシュブロックの置き換えが必要
になると(S302)、まずリプレースポインタ209
の示すブロックのステータスが「I」か否かを調べ(S
303)、「I」であれば現在のリプレースポインタ2
09の示すブロックを置き換え対象として決定する(S
304)。
Referring to FIG. 3 and FIG. 2, the initial state of the replacement pointer 209 is 0, indicating the head block of the cache (S301). When a cache block needs to be replaced due to a cache miss (S302), first, the replacement pointer 209 is replaced.
It is checked whether the status of the block indicated by “I” is “I” (S
303), if "I", the current replacement pointer 2
09 is determined as a replacement target (S
304).

【0037】現リプレースポインタ209の示すブロッ
クのステータスが「I」でなかった場合には、他のブロ
ックに「I」がないかをリプレースポインタに近いブロ
ックから順に探し(S305)、ステータスが「I」の
ブロックがあればそのブロックを置き換え対象とする
(S306)。
If the status of the block indicated by the current replacement pointer 209 is not "I", the other blocks are searched for "I" in order from the block closest to the replacement pointer (S305). If there is a block "", the block is set as a replacement target (S306).

【0038】上記処理において「I」のブロックが一つ
もなかった場合には、キャッシュ内に空きブロックがな
いことになるので、使用中のブロックの中から置き換え
対象を探すことになる。そこで、次に最後のバイトまで
使用したブロックがあったか否かを判断する。
If there is no block of "I" in the above processing, there is no empty block in the cache, and the replacement target is searched for from the used blocks. Therefore, it is determined whether there is a block that has been used up to the last byte.

【0039】LBUフラグがセットされていて、ステー
タスが「S」または「CE」のブロックがないかをリプ
レースポインタに近いブロックから順に探し(S30
7)、あればそのブロックを置き換え対象とする(S3
08)。該当するブロックがなければステータスが「D
E」のブロックでLBUフラグがセットされているブロ
ックがないかリプレースポインタに近いブロックから順
に探し(S309)、あればそのブロックを置き換え対
象とする(S310)。ここで、「S」および「CE」
のブロックを先に置き換え対象としたのは、これらのス
テータスの場合には主記憶上に同じデータがあるため、
置き換えの際、主記憶に該ブロックのデータを書き戻す
必要がないためすぐに置き換え処理ができるが、「D
E」のブロックの場合は主記憶上のデータと一致しない
ため、置き換えの際にはまず主記憶にそのブロックのデ
ータを書き戻す必要が生じ、このブロックデータの主記
憶への書き込みが終了しなければ、そのブロックへのデ
ータの置き換えはできないからである。
The LBU flag is set, and the block whose status is "S" or "CE" is searched in order from the block closest to the replacement pointer (S30).
7) If present, the block is replaced (S3)
08). If there is no corresponding block, the status is "D
In the block of “E”, the LBU flag is set, and the block closest to the replacement pointer is searched in order (S309). If there is a block, the block is set as a replacement target (S310). Where "S" and "CE"
The block was replaced first because, in these statuses, the same data exists in main memory,
At the time of replacement, there is no need to write back the data of the block to the main memory, so the replacement process can be performed immediately.
In the case of the block "E", the data does not match the data in the main memory. Therefore, it is necessary to write the data of the block back to the main memory at the time of replacement. This is because the data cannot be replaced with the block.

【0040】上記処理において、最後のバイトを使用し
たブロックがなかった場合には、NDAフラグがセット
されているか否かを判断する。
In the above process, if there is no block using the last byte, it is determined whether or not the NDA flag is set.

【0041】NDAフラグがセットされていて、かつ、
ステータスが「S」または「CE」のブロックがないか
をリプレースポインタ209に近い順に探し(S31
1)、あればそのブロックを置き換え対象とする(S3
12)。該当するブロックがなければステータスが「D
E」のブロックでNDAフラグがセットされているブロ
ックがないかリプレースポインタに近いブロックから順
に探し(S313)、あればそのブロックを置き換え対
象とする(S314)。ここで、ステータスが「DE」
のブロックが置き換え対象になると、LBUフラグがセ
ットされている時の処理(S310)と同様に、そのブ
ロックのデータを主記憶に書き込んでから置き換え処理
を行う。
If the NDA flag is set, and
A search is made for a block whose status is "S" or "CE" in the order of proximity to the replacement pointer 209 (S31).
1) If present, the block is set as a replacement target (S3
12). If there is no corresponding block, the status is "D
In the block of "E", the block in which the NDA flag is set is searched in order from the block closest to the replacement pointer (S313), and if there is, the block is set as a replacement target (S314). Here, the status is "DE"
Is replaced, the data of the block is written to the main memory and the replacement process is performed in the same manner as the process when the LBU flag is set (S310).

【0042】上記処理において、NDAフラグがセット
されているブロックがなかった場合には、キャッシュ内
のブロックは全てディスクに関するものであることがわ
かるので、まずステータスが「S」または「CE」のブ
ロックがないかをリプレースポインタ209に近いブロ
ックから順に探し(S315)、あればそのブロックを
置き換え対象と決定する(S316)。該当するブロッ
クがなければステータスが「DE」のブロックだけにな
るので、その時はリプレースポインタ209の示すブロ
ックを置き換え対象とする(S317)。
In the above processing, when there is no block in which the NDA flag is set, it is known that all the blocks in the cache are related to the disk, so that the block whose status is "S" or "CE" first. Are searched in order from the block closest to the replacement pointer 209 (S315), and if there is, the block is determined as a replacement target (S316). If there is no corresponding block, only the block whose status is "DE" is set, and at that time, the block indicated by the replacement pointer 209 is set as a replacement target (S317).

【0043】以上のような処理により、置き換え対象の
ブロックが決定し、そのブロックのステータスが「S」
または「CE」ならばそのブロックに保持されているデ
ータを主記憶に書き戻さずに置き換え処理を実行し、ス
テータスが「DE」ならば、まずそのブロックに保持さ
れているデータを主記憶に書き込んでから置き換え処理
を実行する(S318)。そして、その置き換えたブロ
ックの番号とリプレースポインタの値とを比較して(S
319)、異なる場合はリプレースポインタ109の値
はそのままの値で、一致する場合はリプレースポインタ
209の値を1つ増加させ(S320)、次のキャッシ
ュアクセス(S302)に備える。
With the above processing, the block to be replaced is determined, and the status of the block is set to "S".
Or, if "CE", the replacement process is executed without writing back the data held in the block to the main memory, and if the status is "DE", first, the data held in the block is written to the main memory. Then, the replacement process is executed (S318). Then, the number of the replaced block is compared with the value of the replacement pointer (S
319) If different, the value of the replacement pointer 109 is the same value. If they match, the value of the replacement pointer 209 is incremented by one (S320) to prepare for the next cache access (S302).

【0044】このように、本発明の一実施例である入出
力キャッシュによれば、キャッシュタグアレイ207の
各ブロックにLBUフラグとNDAフラグを設けたこと
により、ブロック内の最後のバイトまでアクセスしたブ
ロックやディスク装置以外の装置によるデータを有する
ブロックを、LBUブロック有無判定回路203やND
Aブロック有無判定回路205により容易に判別でき、
性能重視の観点から置き換えるべきブロックを決定する
ことができる。
As described above, according to the input / output cache according to one embodiment of the present invention, the last byte in the block is accessed by providing the LBU flag and the NDA flag in each block of the cache tag array 207. A block having data by a device other than the block and the disk device is transferred to the LBU block presence / absence determination circuit 203 or ND.
It can be easily determined by the A block presence / absence determination circuit 205,
Blocks to be replaced can be determined from the viewpoint of performance emphasis.

【0045】[0045]

【発明の効果】以上の説明で明らかなように、本発明に
よると、キャッシュメモリの状態としてLBUフラグと
NDAフラグを設けたことにより、ブロック内の最後の
バイトまでアクセスしたブロックやディスク装置以外の
装置によるデータを有するブロックを容易に判別でき、
キャッシュミス時に入出力装置の特性を活かした置き換
え対象ブロックの決定ができるため、主記憶装置と入出
力装置間のデータ転送性能を向上させることができる。
As is apparent from the above description, according to the present invention, the provision of the LBU flag and the NDA flag as the state of the cache memory allows the block other than the block or disk device which has accessed the last byte in the block. Blocks having data by the device can be easily identified,
Since the block to be replaced can be determined by utilizing the characteristics of the input / output device at the time of a cache miss, the data transfer performance between the main storage device and the input / output device can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の入出力キャッシュの外部との接続の一
例を示す図である。
FIG. 1 is a diagram illustrating an example of a connection between an input / output cache and the outside according to the present invention.

【図2】本発明の入出力キャッシュの一実施例の構成を
表す図である。
FIG. 2 is a diagram illustrating a configuration of an embodiment of an input / output cache according to the present invention.

【図3】本発明の一実施例の入出力キャッシュの動作を
表す図である。
FIG. 3 is a diagram illustrating an operation of an input / output cache according to an embodiment of the present invention.

【符号の説明】 100 入出力キャッシュ 101 中央処理装置 102 主記憶装置 103 システムバス 104 入出力処理装置 105 入出力バス 106 入出力装置 107 システムバス入力バッファ 108 システムバス出力バッファ 110 入出力バス出力バッファ 111 入出力バス入力バッファ 112〜114 セレクタ 201 データバッファ 202 未使用ブロック有無判定回路 203 LBUブロック有無判定回路 204 ブロックステータス判定回路 205 NDAブロック有無判定回路 206 置き換えブロック決定回路 207 キャッシュタグアレイ 208 キャッシュデータアレイ 209 リプレースポインタ 210 比較器 211 キャッシュ制御回路DESCRIPTION OF SYMBOLS 100 input / output cache 101 central processing unit 102 main storage device 103 system bus 104 input / output processing device 105 input / output bus 106 input / output device 107 system bus input buffer 108 system bus output buffer 110 input / output bus output buffer 111 Input / output bus input buffers 112 to 114 Selector 201 Data buffer 202 Unused block presence / absence determination circuit 203 LBU block presence / absence determination circuit 204 Block status determination circuit 205 NDA block presence / absence determination circuit 206 Replacement block determination circuit 207 Cache tag array 208 Cache data array 209 Replace pointer 210 Comparator 211 Cache control circuit

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ブロック毎に管理され入出力装置により
アクセスされる入出力キャッシュにおいて、前記入出力装置からアクセスがあった場合にディスク装
置以外の入出力装置であればセットされる第1のアクセ
スフラグ を各ブロック毎に保持する第1のアクセスフラ
グ保持手段と、 前記入出力キャッシュ内に新たにブロックを確保する
際、前記第1のアクセスフラグ保持手段の内容に応じて
前記入出力キャッシュのブロックの中から何れのブロッ
クを置き換え対象ブロックとすべきかを判定する置き換
え対象ブロック判定手段とを含むことを特徴とする入出
力キャッシュ。
1. An input / output device that is managed for each block
In accessed Ru O cache, disk instrumentation when an access from said input device
If the input / output device is a device other than the
A first access flag holding unit for holding a block flag for each block ; and when securing a new block in the I / O cache, a block of the I / O cache according to the contents of the first access flag holding unit. An input / output cache, comprising: a replacement target block determination unit that determines which block is to be replaced.
【請求項2】 ブロック毎に管理され入出力装置により
アクセスされる入出力キャッシュにおいて、予め定められた速度よりも低速な入出力処理装置からア
クセスがあった場合にセットされる第1のアクセスフラ
を各ブロック毎に保持する第1のアクセスフラグ保持
手段と、 前記入出力キャッシュ内に新たにブロックを確保する
際、前記第1のアクセスフラグ保持手段の内容に応じて
前記入出力キャッシュのブロックの中から何れのブロッ
クを置き換え対象ブロックとすべきかを判定する置き換
え対象ブロック判定手段とを含むことを特徴とする入出
力キャッシュ。
2. It is managed for each block and is controlled by an input / output device.
In accessed Ru O cache, A than a predetermined speed from the low-speed input-output processor
The first access flag set when there is access
A first access flag holding unit for holding a block for each block; and, when a new block is secured in the input / output cache, a block of the input / output cache according to the contents of the first access flag holding unit. An input / output cache, comprising: a replacement target block determination unit that determines which block is to be replaced.
【請求項3】 ブロック毎に管理され入出力装置により
アクセスされる入出力キャッシュにおいて、前記入出力装置からアクセスがあった場合にディスク装
置以外の入出力装置であればセットされる第1のアクセ
スフラグ を各ブロック毎に保持する第1のアクセスフラ
グ保持手段と、 ブロック中の最終位置のバイトにアクセスがあったこと
を示す第2のアクセスフラグを各ブロック毎に保持する
第2のアクセスフラグ保持手段と、 前記入出力キャッシュ内に新たにブロックを確保する
際、前記第1のアクセスフラグ保持手段および前記第2
のアクセスフラグ保持手段の内容に応じて前記入出力キ
ャッシュのブロックの中から何れのブロックを置き換え
対象ブロックとすべきかを判定する置き換え対象ブロッ
ク判定手段とを含むことを特徴とする入出力キャッシ
ュ。
3. An input / output device which is managed for each block
In accessed Ru O cache, disk instrumentation when an access from said input device
If the input / output device is a device other than the
A first access flag holding unit for holding a block flag for each block , and a second access flag for each block indicating that a byte at the last position in the block has been accessed.
A second access flag holding unit, and when securing a new block in the input / output cache, the first access flag holding unit and the second access flag holding unit .
And a replacement target block determining means for determining which block from among the blocks of the input / output cache is to be replaced according to the contents of the access flag holding means.
【請求項4】 ブロック毎に管理され入出力装置により
アクセスされる入出力キャッシュにおいて、予め定められた速度よりも低速な入出力処理装置からア
クセスがあった場合にセットされる第1のアクセスフラ
を各ブロック毎に保持する第1のアクセスフラグ保持
手段と、 ブロック中の最終位置のバイトにアクセスがあったこと
を示す第2のアクセスフラグを各ブロック毎に保持する
第2のアクセスフラグ保持手段と、 前記入出力キャッシュ内に新たにブロックを確保する
際、前記第1のアクセスフラグ保持手段および前記第2
のアクセスフラグ保持手段の内容に応じて前記入出力キ
ャッシュのブロックの中から何れのブロックを置き換え
対象ブロックとすべきかを判定する置き換え対象ブロッ
ク判定手段とを含むことを特徴とする入出力キャッシ
ュ。
4. It is managed for each block and is controlled by an input / output device.
In accessed Ru O cache, A than a predetermined speed from the low-speed input-output processor
The first access flag set when there is access
A first access flag holding means for holding a block for each block , and a second access flag for each block indicating that a byte at the last position in the block has been accessed.
A second access flag holding unit, and when securing a new block in the input / output cache, the first access flag holding unit and the second access flag holding unit .
And a replacement target block determining means for determining which block from among the blocks of the input / output cache is to be replaced according to the contents of the access flag holding means.
【請求項5】 前記置き換え対象ブロック判定手段は、 前記入出力キャッシュに空きのブロックがあるか否かを
判定する未使用ブロック有無判定部と、 前記第1のアクセスフラグ保持手段の内容に応じて前記
第1のアクセスフラグがセットされているブロックがあ
るか否かを判定する第1のアクセスブロック有無判定部
と、 前記入出力キャッシュの各ブロックのステータスを判定
するブロックステータス判定部と、 置き換えブロックを決定する際のブロック探索開始位置
を保持する探索位置保持部とを含み、 前記未使用ブロック有無判定部により前記探索位置保持
部の保持する位置から各ブロックを探索して未使用ブロ
ックがあればブロックを置き換え対象ブロックとして
決定し、前記第1のアクセスブロック有無判定部により
前記探索位置保持部の保持する位置から各ブロックを探
索して前記第1のアクセスフラグがセットされている
ロックがあればブロックを置き換え対象ブロックとし
て決定することを特徴とする請求項に記載の入出力キ
ャッシュ。
5. An unused block presence / absence determining unit for determining whether or not there is a free block in the input / output cache, and a content of the first access flag holding unit. Said
A first access block determining unit determines whether the first access flag is block being set, and determines the block status determination unit the status of each block of the input cache, the replacement block A search position holding unit for holding a block search start position at the time of determination, wherein the unused block presence / absence determination unit searches for each block from the position held by the search position holding unit, and if there is an unused block, A block in which the first access flag is set is determined by determining the block as a replacement target block and searching for each block from the position held by the search position holding unit by the first access block presence / absence determining unit. > claim 1, wherein the determining the target block replaces the block if there is locked Input and output cache.
【請求項6】 前記置き換え対象ブロック判定手段は、 前記入出力キャッシュに空きのブロックがあるか否かを
判定する未使用ブロック有無判定部と、 前記第1のアクセスフラグ保持手段の内容に応じて前記
入出力キャッシュに前記第1のアクセスフラグがセット
されているブロックがあるか否かを判定する第1のアク
セスブロック有無判定部と、 前記第2のアクセスフラグ保持手段の内容に応じて前記
入出力キャッシュに前記第2のアクセスフラグがセット
されているブロックがあるか否かを判定する第2のアク
セスブロック有無判定部と、 前記入出力キャッシュの各ブロックのステータスを判定
するブロックステータス判定部と、 置き換えブロックを決定する際のブロック探索開始位置
を保持する探索位置保持部とを含み、 前記未使用ブロック有無判定部により前記探索位置保持
部の保持する位置から各ブロックを探索して未使用ブロ
ックがあればブロックを置き換え対象ブロックとして
決定し、前記第2のアクセスブロック有無判定部により
前記探索位置保持部の保持する位置から各ブロックを探
索して前記第2のアクセスフラグがセットされている
ロックがあればブロックを置き換え対象ブロックとし
て決定し、前記第1のアクセスブロック有無判定部によ
り前記探索位置保持部の保持する位置から各ブロックを
探索して前記第2のアクセスフラグがセットされている
ブロックがあればブロックを置き換え対象ブロックと
して決定することを特徴とする請求項3に記載の入出力
キャッシュ。
6. An unused block presence / absence determining unit for determining whether or not there is a free block in the input / output cache, and a content of the first access flag holding unit. The first access flag is set in the I / O cache
A first accession <br/> Seth block determining unit determines whether the block is being, the second access to the output cache in accordance with the content of the second access flag holding means A second action for determining whether or not there is a block with the flag set.
Access block presence / absence determination unit, a block status determination unit for determining the status of each block in the input / output cache, and a search position holding unit for holding a block search start position when determining a replacement block, Each block is searched from the position held by the search position holding unit by the block presence / absence determination unit, and if there is an unused block, the block is determined as a replacement target block, and the second access block presence / absence determination unit determines the search position. if the searches the blocks from the position held by the holding portion second access flag blanking <br/> lock has been set is determined as the object block replaces the block, the first access block whether the determination unit the search position holder position from the second to search each block to hold the O cache of claim 3 Kusesufuragu is characterized by determining a target block replaces the block if there is <br/> block being set.
JP6201648A 1994-08-26 1994-08-26 I / O cache Expired - Lifetime JP2636746B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6201648A JP2636746B2 (en) 1994-08-26 1994-08-26 I / O cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6201648A JP2636746B2 (en) 1994-08-26 1994-08-26 I / O cache

Publications (2)

Publication Number Publication Date
JPH0863398A JPH0863398A (en) 1996-03-08
JP2636746B2 true JP2636746B2 (en) 1997-07-30

Family

ID=16444575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6201648A Expired - Lifetime JP2636746B2 (en) 1994-08-26 1994-08-26 I / O cache

Country Status (1)

Country Link
JP (1) JP2636746B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6330904B2 (en) * 2013-06-07 2018-05-30 マーベル ワールド トレード リミテッド System and method for cache management for a universal serial bus system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6045855A (en) * 1983-08-22 1985-03-12 Fujitsu Ltd Sequential access detecting method of magnetic disk device
JPH01292549A (en) * 1988-05-20 1989-11-24 Nec Corp Reservation system for logical address space

Also Published As

Publication number Publication date
JPH0863398A (en) 1996-03-08

Similar Documents

Publication Publication Date Title
US5761536A (en) System and method for reducing memory fragmentation by assigning remainders to share memory blocks on a best fit basis
US6779088B1 (en) Virtual uncompressed cache size control in compressed memory systems
EP1654660B1 (en) A method of data caching
US6349372B1 (en) Virtual uncompressed cache for compressed main memory
US6353874B1 (en) Method and apparatus for controlling and caching memory read operations in a processing system
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
US20080059728A1 (en) Systems and methods for masking latency of memory reorganization work in a compressed memory system
US7493445B2 (en) Cache memory system and control method of the cache memory system
US20210157746A1 (en) Key-value storage device and system including the same
US20080055323A1 (en) Systems and methods for reducing latency for accessing compressed memory using stratified compressed memory architectures and organization
US6457105B1 (en) System and method for managing data in an asynchronous I/O cache memory
EP0713181A1 (en) Data processing system including mechanism for storing address tags
KR100443320B1 (en) Reclaim space reserve for a compressed memory system
US5717888A (en) Accessing cached data in a peripheral disk data storage system using a directory having track and cylinder directory entries
KR20010050881A (en) Method for controlling cache memories, computer system, hard disk drive unit, and hard disk control unit
US7246202B2 (en) Cache controller, cache control method, and computer system
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
EP0675443A1 (en) Apparatus and method for accessing direct mapped cache
US5900009A (en) System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element
JP2001195197A (en) Digital data sub-system including directory to efficiently provide format information about stored record
JP2001154895A (en) Digital data storage sub-system including directory for efficiently offering format information related with stored record
JP2636746B2 (en) I / O cache
US6842843B1 (en) Digital data storage subsystem including arrangement for increasing cache memory addressability
US8812782B2 (en) Memory management system and memory management method
JP4664586B2 (en) Cache control device, cache control method, and computer system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970311