JP2002108707A - Cache memory control system - Google Patents
Cache memory control systemInfo
- Publication number
- JP2002108707A JP2002108707A JP2000296153A JP2000296153A JP2002108707A JP 2002108707 A JP2002108707 A JP 2002108707A JP 2000296153 A JP2000296153 A JP 2000296153A JP 2000296153 A JP2000296153 A JP 2000296153A JP 2002108707 A JP2002108707 A JP 2002108707A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- segment
- cache memory
- memory control
- data
- 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.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はキャッシュメモリ制
御方式、特にディスクキャッシュ(ディスクアレイ装
置)に搭載されるキャッシュメモリの制御方式に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory control method, and more particularly to a control method of a cache memory mounted on a disk cache (disk array device).
【0002】[0002]
【従来の技術】ディスクキャッシュ(disk cache)又
はRAMディスク(RAM-disk)は、コンピュータの主記
憶領域の一部又は外付けRAMを、(磁気)ディスクの
代わりに使用してアクセス時間を短縮するソフトウエア
およびハードウエアである。これにより、主記憶領域の
一部をディスク装置として扱うことができるソフトウエ
アおよびディスク装置と同様に扱うことができる外付け
半導体メモリ装置の2種に大別できる。2. Description of the Related Art A disk cache or a RAM disk (RAM-disk) uses a part of a main storage area of a computer or an external RAM in place of a (magnetic) disk to reduce access time. Software and hardware. This can be broadly classified into two types: software that can handle a part of the main storage area as a disk device and an external semiconductor memory device that can handle the same as a disk device.
【0003】斯かるディスクキャッシュに搭載されるキ
ャッシュメモリ(cache memory)の制御は、キャッシ
ュデータの格納単位であるキャッシュページを固定長で
管理する方式および可変長で管理する方式の2方式が提
案されている。前者は、処理単位が固定であるために、
オーバーヘッドが少なく、比較的簡単な制御方式である
という特徴を有する。しかし、そのページサイズよりも
十分大きいアクセスに対しては、ページ分割数分のオー
バーヘッドが常に発生してしまう傾向がある。一方、後
者は、キャッシュページサイズによらず一定のオーバー
ヘッドが維持でき、特にライト処理の場合には、要求の
あったアクセスサイズに合わせてヒットさせることがで
きるという特徴を有する。しかし、可変長であるため
に、キャッシュページの管理が複雑になる傾向がある。[0003] As a method of controlling a cache memory mounted on such a disk cache, two methods have been proposed: a method of managing a cache page as a storage unit of cache data with a fixed length and a method of managing a cache page with a variable length. ing. In the former, because the processing unit is fixed,
It is characterized by a relatively simple control method with little overhead. However, for an access that is sufficiently larger than the page size, overhead for the number of page divisions tends to always occur. On the other hand, the latter has a feature that a certain overhead can be maintained irrespective of the cache page size, and particularly in the case of write processing, a hit can be made in accordance with the requested access size. However, due to the variable length, management of cache pages tends to be complicated.
【0004】斯かるキャッシュメモリの制御方式の従来
例は、例えば特開平2−98755号公報の「キャッシ
ュ無効化処理方式」等に開示されている。この特許公報
には、緩衝記憶装置におけるキャッシュメモリに登録さ
れているn種の意味の違った或いは大きさの異なったブ
ロックデータを個別に無効化することにより登録された
ブロックデータを無駄に消してしまうことをなくし且つ
高速化を可能にしたブロックデータの無効化処理方式を
開示している。A conventional example of such a cache memory control method is disclosed, for example, in Japanese Patent Application Laid-Open No. 2-98755, entitled "Cache Invalidation Processing Method". This patent publication discloses that the n kinds of block data having different meanings or different sizes registered in the cache memory of the buffer storage device are individually invalidated to wastefully erase the registered block data. There is disclosed a block data invalidation processing method that eliminates the problem and enables high-speed processing.
【0005】[0005]
【発明が解決しようとする課題】上述した如き可変長の
キャッシュページサイズによるキャッシュ制御方法で
は、キャッシュデータの置き換えアルゴリズムをLRUア
ルゴリズムにて行う。そこで、キャッシュデータの破棄
(図3(A)参照)を行うと、散発的なエリヤが破棄さ
れることが多くなる(図3(B)参照)。このため、破
棄するキャッシュページのサイズが小さい場合およびキ
ャッシュメモリ上の離れた場所のキャッシュページを破
棄する場合が多いと、空き領域が散発的となり、フラグ
メンテーションが発生してしまうことになる。この状態
では、ガーべジコレクションをする等により、空き領域
の管理を常に行う必要がある。そこで、複雑なキャッシ
ュ制御によりディスクアレイ装置の性能が低下すること
となる。In the cache control method using a variable-length cache page size as described above, the cache data replacement algorithm is performed by the LRU algorithm. Therefore, when the cache data is discarded (see FIG. 3A), sporadic areas are often discarded (see FIG. 3B). For this reason, if the size of the cache page to be discarded is small or if the cache page at a distant place on the cache memory is often discarded, the empty area becomes sporadic and fragmentation occurs. In this state, it is necessary to always manage the free area by performing garbage collection and the like. Therefore, the performance of the disk array device is reduced by complicated cache control.
【0006】[0006]
【発明の目的】従って、本発明の目的は、上述した従来
技術の課題を解消又は軽減し、空き領域の発生による性
能低下を阻止するディスクキャッシュ等に搭載のキャッ
シュメモリの制御方式を提供することである。SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a control method of a cache memory mounted on a disk cache or the like which solves or reduces the above-mentioned problems of the prior art and prevents a decrease in performance due to the occurrence of an empty area. It is.
【0007】[0007]
【課題を解決するための手段】本発明のキャッシュメモ
リ制御方式は、可変長のキャッシュページのキャッシュ
データを格納するようにキャッシュメモリを制御するも
のであって、キャッシュメモリを予め決められた一定サ
イズの複数のセグメントに分割し、これらセグメントの
うち1つのセグメントには同一属性のキャッシュデータ
を格納する。A cache memory control system according to the present invention controls a cache memory so as to store cache data of a variable-length cache page. And cache data having the same attribute is stored in one of the segments.
【0008】また、本発明のキャッシュメモリ制御方式
の好適実施形態によると、キャッシュデータの属性は、
ホストコマンドのリード/ライト又はシーケンシャルア
クセス/ランダムアクセスにより判別することを特徴と
する。セグメントには優先度を設け、特定属性のキャッ
シュデータを格納するセグメントが満杯になると、優先
度が低いセグメントのキャッシュデータを破棄して空き
セグメントを作成することを特徴とする。また、同一属
性のセグメントをLRUアルゴリズムにより管理し、破
棄対象になるセグメントは、最もアクセス頻度の少ない
ものを選択する。According to a preferred embodiment of the cache memory control system of the present invention, the attribute of the cache data is:
The determination is made based on read / write or sequential access / random access of a host command. Segments are provided with priorities, and when a segment storing cache data of a specific attribute becomes full, cache data of a segment having a lower priority is discarded to create an empty segment. In addition, segments having the same attribute are managed by the LRU algorithm, and a segment to be discarded is selected with the least access frequency.
【0009】[0009]
【発明の実施の形態】以下、本発明によるキャッシュメ
モリ制御方式の好適実施形態の構成および動作を、添付
図を参照して詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The configuration and operation of a preferred embodiment of a cache memory control system according to the present invention will be described below in detail with reference to the accompanying drawings.
【0010】先ず、図1は、本発明によるキャッシュメ
モリ制御方式の好適実施形態の内部構成を示す図であ
る。図1において、キャッシュメモリ1は、キャッシュ
メモリ全体を示す。キャッシュページ2は、可変長のキ
ャッシュデータであり、キャッシュメモリ1にデータを
格納する際の連続したデータの単位である。セグメント
3は、キャッシュメモリ1を一定サイズで分割した領域
であり、キャッシュページ2の集合体である。FIG. 1 is a diagram showing the internal configuration of a preferred embodiment of a cache memory control system according to the present invention. In FIG. 1, a cache memory 1 indicates the entire cache memory. The cache page 2 is variable-length cache data, and is a unit of continuous data when data is stored in the cache memory 1. The segment 3 is an area obtained by dividing the cache memory 1 into a certain size, and is an aggregate of cache pages 2.
【0011】次に、図1に示す本発明のキャッシュメモ
リ1にデータを書き込む場合の動作例を説明する。先
ず、複数のセグメント3内に配置するキャッシュページ
2は、同一のセグメント3内は全て同じ種類(属性)の
ものにする。例えば、この属性のタイプは、ホストから
発行される命令(ホストコマンド)のパターンによって
分けるようにする。Next, an example of the operation when data is written in the cache memory 1 of the present invention shown in FIG. 1 will be described. First, cache pages 2 arranged in a plurality of segments 3 are all of the same type (attribute) in the same segment 3. For example, the type of this attribute is divided according to the pattern of a command (host command) issued from the host.
【0012】図3は、この属性の判別処理を示すフロー
チャートである。先ず、ホストコマンドを受信する(ス
テップS1)。次に、リード/ライト(読み出し/書き
込み)を判別する(ステップS2)。次に、シーケンシ
ャルアクセスかランダムアクセスかを判別する(ステッ
プS3)。更に、セグメント属性を決定する(ステップ
S4)。そして、シーケンシャルライトセグメント(ス
テップS5)、ランダムライトセグメント(ステップS
6)、シーケンシャルリードセグメント(ステップS
7)およびランダムリードセグメント(ステップS8)
を行う。FIG. 3 is a flowchart showing the attribute discriminating process. First, a host command is received (step S1). Next, read / write (read / write) is determined (step S2). Next, it is determined whether the access is sequential access or random access (step S3). Further, a segment attribute is determined (step S4). Then, the sequential write segment (step S5), the random write segment (step S5)
6), sequential read segment (step S
7) and random read segment (step S8)
I do.
【0013】上述の如く、リードおよびライトのコマン
ドによって分けることで、一般的にいうクリーンデータ
とダーティデータに明確に分けることができる。そのた
めに、ライトバックが必要なセグメントとそれ以外のセ
グメントとを容易に区別することが可能となる。また、
シーケンシャルアクセスによって得られたキャッシュデ
ータと、ランダムアクセスによって得られたキャッシュ
データによって分けることにより、キャッシュデータの
先読み処理と連動させることができるというメリットが
ある。As described above, by dividing the data into read and write commands, the data can be clearly divided into clean data and dirty data. Therefore, it is possible to easily distinguish a segment requiring write-back from another segment. Also,
By separating the cache data obtained by the sequential access from the cache data obtained by the random access, there is an advantage that the cache data can be linked with the prefetching process of the cache data.
【0014】次に、新たなキャッシュページ2をキャッ
シュメモリ1内に作成する場合を説明する。この場合に
重要となるのは、どのセグメント3内にキャッシュペー
ジ2を作成するかである。セグメント属性は、一義的に
決まるので、その属性を示すセグメントにキャッシュペ
ージ2を作成すれば良い。Next, a case where a new cache page 2 is created in the cache memory 1 will be described. What is important in this case is in which segment 3 the cache page 2 is created. Since the segment attribute is uniquely determined, the cache page 2 may be created in the segment indicating the attribute.
【0015】しかし、対象となるセグメント3が既に満
杯(フル)状態で且つ他に同じ属性のセグメント3が存
在しない場合には、新たにその属性を有するセグメント
3を作成しなければならない。そのためには、1つのセ
グメント3を破棄して空きセグメント3として確保する
必要がある。破棄するセグメント3の選択方法は、次の
とおりである。However, if the target segment 3 is already full and there is no other segment 3 having the same attribute, a new segment 3 having that attribute must be created. For that purpose, it is necessary to discard one segment 3 and secure it as an empty segment 3. The method of selecting the segment 3 to be discarded is as follows.
【0016】先ず、属性別に破棄対象になる場合の優先
度を設ける。そして、優先度が低いセグメント3ほど、
破棄される確率が高くなるようにする。反対に、優先度
が高いセグメント3ほど、キャッシュメモリ1内に常駐
させる事ができる。また、優先度の同じセグメントが多
数存在する場合があるため、同一属性のセグメント3を
LRUアルゴリズムによって管理することにより、破棄
対象になるセグメント3は、最もアクセス頻度の低いも
のを選択することも可能である。First, a priority is set for each attribute in the case of being discarded. And segment 3 with lower priority,
Increase the probability of being discarded. Conversely, the segment 3 having a higher priority can be made resident in the cache memory 1. In addition, since there may be many segments having the same priority, the segment 3 to be discarded can be selected as the segment 3 to be discarded by managing the segment 3 having the same attribute by the LRU algorithm. It is.
【0017】上述の如く、空き領域を新たに作る際に、
セグメント単位にキャッシュデータを破棄することによ
り、一度に連続したメモリ領域を確保することができ
る。これにより、可変長のキャッシュページであって
も、キャッシュメモリ1を効率よく利用することが可能
である。As described above, when newly creating an empty area,
By discarding the cache data for each segment, a continuous memory area can be secured at a time. As a result, the cache memory 1 can be used efficiently even for a variable-length cache page.
【0018】以上、本発明によるキャッシュメモリ制御
方式の好適実施形態の構成および動作を詳述した。しか
し、斯かる実施形態は、本発明の単なる例示に過ぎず、
何ら本発明を限定するものではないことに留意された
い。本発明の要旨を逸脱することなく、特定用途に応じ
て種々の変形変更が可能であること、当業者には容易に
理解できよう。The configuration and operation of the preferred embodiment of the cache memory control system according to the present invention have been described above in detail. However, such embodiments are merely exemplary of the present invention,
It should be noted that the present invention is not limited in any way. It will be readily apparent to those skilled in the art that various modifications can be made in accordance with the particular application without departing from the spirit of the invention.
【0019】[0019]
【発明の効果】以上の説明から理解される如く、本発明
のキャッシュメモリ制御方式によると、次の如き実用上
の顕著な効果が得られる。即ち、キャッシュメモリ内の
キャッシュデータを破棄する際に、常に連続した領域
(セグメント)を空き領域として使用することが可能で
あるので、従来技術の如く分断された空き領域が生じ
ず、キャッシュメモリの使用効率が改善される。また、
本発明によると、常に安定した性能を提供することが可
能である。As will be understood from the above description, the cache memory control system according to the present invention has the following remarkable practical effects. That is, when the cache data in the cache memory is discarded, a continuous area (segment) can always be used as a free area, so that a separated free area does not occur as in the related art. Usage efficiency is improved. Also,
According to the present invention, it is possible to always provide stable performance.
【図1】本発明によるキャッシュメモリ制御方式を説明
するためのキャッシュメモリの内部構成を示す図であ
る。FIG. 1 is a diagram showing an internal configuration of a cache memory for explaining a cache memory control method according to the present invention.
【図2】本発明におけるキャッシュページの属性判別処
理を示すフローチャートである。FIG. 2 is a flowchart illustrating a cache page attribute determination process according to the present invention.
【図3】従来技術を示し、(A)はキャッシュメモリ内
のキャッシュデータの破棄を示し、(B)は破棄後に分
断された空き領域を示す。3A and 3B show a conventional technique, in which FIG. 3A shows the destruction of cache data in a cache memory, and FIG. 3B shows an empty area divided after the destruction.
1 キャッシュメモリ 2 キャッシュページ 3 セグメント 1 Cache memory 2 Cache page 3 Segment
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 557 G06F 12/08 557 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 12/08 557 G06F 12/08 557
Claims (5)
ータを格納するようキャッシュメモリを制御するキャッ
シュメモリ制御方式において、前記キャッシュメモリを
予め決められた一定サイズの複数のセグメントに分割
し、該セグメントのうち1つのセグメントには同一属性
のキャッシュデータを格納することを特徴とするキャッ
シュメモリ制御方式。In a cache memory control method for controlling a cache memory so as to store cache data of a cache page of a variable length, the cache memory is divided into a plurality of segments of a predetermined fixed size. A cache memory control method wherein cache data having the same attribute is stored in one segment.
マンドのリード又はライトにより判別することを特徴と
する請求項1に記載のキャッシュメモリ制御方式。2. The cache memory control method according to claim 1, wherein the attribute of the cache data is determined by reading or writing a host command.
マンドのシーケンシャルアクセス又はランダムアクセス
により判別することを特徴とする請求項1又は2に記載
のキャッシュメモリ制御方式。3. The cache memory control method according to claim 1, wherein the attribute of the cache data is determined by sequential access or random access of a host command.
性のキャッシュデータを格納するセグメントが満杯にな
ると、前記優先度が低いセグメントのキャッシュデータ
を破棄して空きセグメントを作成することを特徴とする
請求項1、2又は3に記載のキャッシュメモリ制御方
式。4. A segment is provided with a priority, and when a segment storing cache data of a specific attribute becomes full, the cache data of the segment with a lower priority is discarded to create an empty segment. The cache memory control method according to claim 1, 2 or 3, wherein
リズムにより管理し、前記破棄対象になるセグメント
は、最もアクセス頻度の少ないものを選択することを特
徴とする請求項1乃至4の何れかに記載のキャッシュメ
モリ制御方式。5. The segment according to claim 1, wherein the segments having the same attribute are managed by an LRU algorithm, and the segment to be discarded is selected with the least access frequency. Cache memory control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000296153A JP3751814B2 (en) | 2000-09-28 | 2000-09-28 | Cache memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000296153A JP3751814B2 (en) | 2000-09-28 | 2000-09-28 | Cache memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002108707A true JP2002108707A (en) | 2002-04-12 |
JP3751814B2 JP3751814B2 (en) | 2006-03-01 |
Family
ID=18778473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000296153A Expired - Fee Related JP3751814B2 (en) | 2000-09-28 | 2000-09-28 | Cache memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3751814B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322215A (en) * | 2004-03-31 | 2005-11-17 | Microsoft Corp | Strategies for reading information from mass storage medium using cache memory |
JP2007265600A (en) * | 2006-03-27 | 2007-10-11 | Toshiba Corp | Disk drive write method |
JP2012164129A (en) * | 2011-02-07 | 2012-08-30 | Canon Inc | Buffer cache management method, buffer cache management device and program |
-
2000
- 2000-09-28 JP JP2000296153A patent/JP3751814B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322215A (en) * | 2004-03-31 | 2005-11-17 | Microsoft Corp | Strategies for reading information from mass storage medium using cache memory |
JP2007265600A (en) * | 2006-03-27 | 2007-10-11 | Toshiba Corp | Disk drive write method |
JP2012164129A (en) * | 2011-02-07 | 2012-08-30 | Canon Inc | Buffer cache management method, buffer cache management device and program |
Also Published As
Publication number | Publication date |
---|---|
JP3751814B2 (en) | 2006-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6745295B2 (en) | Designing a cache with adaptive reconfiguration | |
US6807607B1 (en) | Cache memory management system and method | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
US7120759B2 (en) | Storage system and method for prestaging data in a cache for improved performance | |
US9507705B2 (en) | Write cache sorting | |
US20060112232A1 (en) | Method and apparatus for managing a cache memory in a mass-storage system | |
US6578111B1 (en) | Cache memory system and method for managing streaming-data | |
US6772288B1 (en) | Extended cache memory system and method for caching data including changing a state field value in an extent record | |
US20080059728A1 (en) | Systems and methods for masking latency of memory reorganization work in a compressed memory system | |
EP1769364B1 (en) | Information processing apparatus and information processing method | |
US20130205089A1 (en) | Cache Device and Methods Thereof | |
JP2002544624A (en) | The least recently used replacement method with protection function | |
JP2007011523A (en) | Data look-ahead method and computer system | |
US7007135B2 (en) | Multi-level cache system with simplified miss/replacement control | |
US20120047330A1 (en) | I/o efficiency of persistent caches in a storage system | |
CN108664217B (en) | Caching method and system for reducing jitter of writing performance of solid-state disk storage system | |
US20060143395A1 (en) | Method and apparatus for managing a cache memory in a mass-storage system | |
JP2017162194A (en) | Data management program, data management device, and data management method | |
JPH08137754A (en) | Disk cache device | |
US7496722B2 (en) | Memory mapped page priorities | |
JP3751814B2 (en) | Cache memory control method | |
JPH08263380A (en) | Disk cache control system | |
WO2002027498A2 (en) | System and method for identifying and managing streaming-data | |
US7805572B2 (en) | Cache pollution avoidance | |
KR20210036120A (en) | Methods for a time based cache replacement and apparatuses thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051114 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081216 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081216 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |