JPS59220853A - Disc cache system - Google Patents
Disc cache systemInfo
- Publication number
- JPS59220853A JPS59220853A JP58093711A JP9371183A JPS59220853A JP S59220853 A JPS59220853 A JP S59220853A JP 58093711 A JP58093711 A JP 58093711A JP 9371183 A JP9371183 A JP 9371183A JP S59220853 A JPS59220853 A JP S59220853A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- file
- area
- block
- buffer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、キャッシュバッファを備え、当該キャッシュ
バッファを介してディスク装置との入出力を行なうディ
スクキャッシュ7ステムに関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a disk cache 7 stem that includes a cache buffer and performs input/output to/from a disk device via the cache buffer.
磁気ディスク装置の大容量化は着実に進んでいる。磁気
ディスクの面記録密度はここ10年間で約10倍の割合
で向上してきた。それに対して磁気ディスクへのアクセ
ス速度はほとんど改善されていない。ファイル記憶とし
て中心的な役割シを果す磁気ディスクへのアクセス速度
がボトルネックとなシ、システム全体の処理性能が上が
らないという指通は以前からあった。The capacity of magnetic disk devices is steadily increasing. The areal recording density of magnetic disks has improved at a rate of about 10 times over the past 10 years. In contrast, the access speed to magnetic disks has hardly been improved. It has long been known that the bottleneck is the access speed to the magnetic disk, which plays a central role in storing files, and that the processing performance of the entire system cannot be improved.
主記憶と磁気ディスクのアクセス速度が10〜5
10のオーダで差がちシ、これはアクセス・ギャップと
して知られている。The access speeds between main memory and magnetic disks tend to differ by orders of magnitude between 10 and 510, which is known as the access gap.
そこで、主記憶と磁気ディスクの間に半導体メモリで構
成されるバッファを設け、磁気ディスクへの実行的なア
クセス時間の向上を図る試みがある。それがディスクキ
ャッジ−と呼ばれる機構である。Therefore, attempts have been made to provide a buffer made of semiconductor memory between the main memory and the magnetic disk to improve the actual access time to the magnetic disk. This is a mechanism called a disc cage.
ところで、従来、オペレーティングシステム(以降、単
にOSと称する)がサポートする基本ディスクアクセス
において、その高速化手段としては、ユーザタスク内で
のバッファリング及び上述したディスクキャッシュ機構
が存在する。By the way, conventionally, in basic disk access supported by an operating system (hereinafter simply referred to as OS), buffering within a user task and the above-mentioned disk cache mechanism exist as means for speeding up the access.
前者はソフトウェア、後者はソフトウェアで行なうもの
とハードウェア(ディスク側)で行なうものとがある。The former is done by software, and the latter is done by software and hardware (on the disk side).
しかしながら、前者においては、マルチタスク環境下で
共有ファイル等の取扱いに制限があり、又、後者におい
てもユーザタスクのディスクアクセス形態とは無関係に
制御が行なわれたシ、ファイルアクセスの特性を充分に
生がしきれない制御が行なわれたシすることがあり、特
に共有ファイル、大容量データベースファイルには不向
きであった。例えば、キャッシュバッファ内のデータ管
理はファイルのブロック入出力サイズとは無関係に行な
われるため、キャッシュメ七りの使用効率が低下する。However, in the former, there are restrictions on the handling of shared files, etc. in a multitasking environment, and in the latter, control is performed regardless of the disk access mode of the user task, and the characteristics of file access are not fully understood. It was not suitable for shared files and large-capacity database files, as it sometimes performed excessive control. For example, data management in the cache buffer is performed regardless of the file block input/output size, which reduces the efficiency of cache memory usage.
又、インデックスファイルのインデックス部の様に頻繁
にアクセスされるブロックもマルチユーザ環境下での物
理的、時間的に単純なLRUアルゴリズム(Least
Recently Used :キー?ッシュの空き
を作り出す方法の一つ。空きを作るためにキャッシュか
ら追い出すブロックは最も昔に参照されたものを選ぶ。In addition, blocks that are frequently accessed, such as the index part of an index file, can be processed using the LRU algorithm (Least), which is physically and temporally simple in a multi-user environment.
Recently Used: Key? One of the ways to create space in the bank. The most recently referenced block is selected to be evicted from the cache to free up space.
それが最も使われそうにないからだという仮定に基づく
。LRUは実現が簡単frilllに効率が良いとされ
ている。)では、キャッシニバソファ内に留まる確率が
低くなり、結局ディスクキャッシュの使用効率低下の要
因となっていた。This is based on the assumption that this is because it is the least likely to be used. LRU is said to be easy to implement and extremely efficient. ), the probability of staying in the Cassiniva couch was low, which ultimately led to a decline in disk cache usage efficiency.
本発明は上記欠点に鑑みてなされたものであシ、従来シ
ステムでは実現できなかったマルチタスク、ファイル共
有の環境下でも充分高速化が計られる様、ファイルアク
セス特性を考慮した改良されたディスクキャッシュの制
御方式とその装置を実現するものであり、特に各°ファ
イルブロック長の不均一性、インデックスファイルのイ
ンデックス部アクセス特性を考慮してマルチタスク環境
下でのデータベースファイルアクセスの高速化を計った
ファイルシステムオリエンテッドなディスクキャッシュ
システムヲ提供することを目的とする。The present invention has been made in view of the above-mentioned drawbacks, and is an improved disk cache that takes into account file access characteristics so that it can be sufficiently accelerated even in multitasking and file sharing environments that were not possible with conventional systems. This system realizes a control method and its device, and takes into account the nonuniformity of each file block length and the access characteristics of the index part of the index file, and aims to speed up database file access in a multitasking environment. The purpose is to provide a file system oriented disk cache system.
ディスクキャッシュシステムにおけるキャッシュバッフ
ァ制御の重点は、キャッシュ領域確保の基準と、ヒツト
率の向上にあることは周知の通シである。本発明はこの
制御方式に以下に示す(1)、(2)を採用することに
ょシその実現をはかったものである。It is well known that the emphasis of cache buffer control in a disk cache system is on the criteria for securing a cache area and improving the hit rate. The present invention aims to realize this by employing (1) and (2) shown below in this control method.
(1) 多種ファイルの存在による可変長の7アイル
ブロツクに対するキャッジ−バッファ領域確保基準の設
定。(1) Setting criteria for securing cache buffer area for variable-length 7-aisle blocks due to the presence of various types of files.
<2)7−rイルアクセス形態に信任したキャッジ−バ
ッファ使用モードの設定。<2) Setting of cache-buffer usage mode trusted in 7-r file access mode.
又、°キャッシュバッファ全領域の論理空間化により、
キャッジ−バッファ空間のダイナミック化や、キャッシ
ュブロックバッファ管理テーブルのダイナミックな伸縮
により、先天的なテーブルサイズ決定の必要がなく、キ
ャッジ−バッファ領域を有効利用するものである。Also, by converting the entire cache buffer area into a logical space,
By making the cache buffer space dynamic and dynamically expanding and contracting the cache block buffer management table, there is no need to determine the table size a priori, and the cache buffer area can be used effectively.
以下、本発明の一実施例を図面を参照しながら説明する
。An embodiment of the present invention will be described below with reference to the drawings.
第1図は本発明におけるディスクキャッジ。FIG. 1 shows a disc carriage according to the present invention.
システムの要部構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of main parts of the system.
図中、11はユーザタスク、12は該タスク1ノの動作
を管理するタスク制御ブロック(TCB)、13はユー
ザ毎のファイルアクセス状況等を示すファイルアクセス
制御ブロック(FAB) 、J 4はファイルの属性、
ディスク上での領域等を示すファイル固有の制御ブロッ
ク(FOR) 、15はユーザがプログラムでデータレ
コードの処理加工を行なう作業領域(ユーザレコード)
である。In the figure, 11 is a user task, 12 is a task control block (TCB) that manages the operation of the task 1, 13 is a file access control block (FAB) that shows the file access status etc. for each user, and J4 is a file access control block (FAB). attribute,
A file-specific control block (FOR) indicating the area on the disk, etc. 15 is a work area (user record) where the user processes data records with a program
It is.
ユーザタスク11は、データベースファイル3のアクセ
スに際し、上記TCB J 2 、 FAB 13゜F
CB 14 、作業領域15等の情報を生成し、081
6に対し処理要求を発する。0816からその要求を受
信したデータベース管理ルーチン17(システムプログ
ラム)はその要求を解釈して基本的なファイルブロック
アクセス(列)に分解する。この時、実際のディスク入
出力を行なうにあたシ、ユーザのファイルアクセスが永
久ファイルアクセスか、参照のみか更新か等の情報とP
CB情報をファイルサーバ2に伝える。When accessing the database file 3, the user task 11 uses the above TCB J 2 and FAB 13°F.
Generates information such as CB 14 and work area 15, and 081
Issue a processing request to 6. The database management routine 17 (system program) that receives the request from 0816 interprets the request and breaks it down into basic file block accesses (sequences). At this time, when performing actual disk input/output, information such as whether the user's file access is permanent, read-only or update, etc.
CB information is transmitted to the file server 2.
伺、キャッシュバッファ領域19は、本発明実施例では
主記憶装置J上に確保されるものとするが、ファイルサ
ーバ2内蔵のRAM領域にあっても構わない。ここでは
、主記憶装置りを有効に且つダイナミックに使える様考
慮し2て、キャッシュバッファ領域を管理するテーブル
18とキャッジ−バッファ領域の実体19を分離させて
いる。ファイルサーバ2は伝えられた基本入出力要求が
どのファイルのどのブロックに対応するものであるかを
認識し、キャッシュ管理テーブル18内にあるファイル
ブロック管理テーブル(後述するFBET )を検索し
、その中でヒツトずれは物理入出力を行なわすにキャッ
シュバッファ領域とデータベース/ファイル管理ルチン
17の示すユーザバッファ20間でデータ転送を行なう
。ヒツトしないときは、キャッジ−バッファ領域19に
その領域を確保(場合によっては、キャッシュバッファ
領域19を使用せずに直接ユーザバッファ20と)シ、
物理入出力を行なう。Although the cache buffer area 19 is assumed to be secured on the main storage device J in the embodiment of the present invention, it may be located in the RAM area built into the file server 2. Here, in order to use the main memory effectively and dynamically, the table 18 for managing the cache buffer area and the entity 19 of the cache buffer area are separated. The file server 2 recognizes which block of which file the transmitted basic I/O request corresponds to, searches the file block management table (FBET to be described later) in the cache management table 18, and searches the file block management table (FBET described later) in the cache management table 18. When a hit shift occurs, data is transferred between the cache buffer area and the user buffer 20 indicated by the database/file management routine 17 when physical input/output is performed. When there is no hit, the area is secured in the cache buffer area 19 (in some cases, the area is directly connected to the user buffer 20 without using the cache buffer area 19),
Performs physical input/output.
キャッシュバッファ制御の重点は、このキャッシュバッ
ファ領域確保の基準とヒツト率の向上にあることは上述
したとおシである。本発明では「各種ファイルの存在に
よる可変長のファイルブロックに対する新規なキャッシ
ュバッファ領域確保基準」と、[ファイルアクセス形態
”に依存したキャッシュ使用モードの設置」Kより
その実現を計るものである。又、キャッシュバッファ全
領域の論理空間化によシキャッシュバッファ空間のダイ
ナミック化やキャッシュブロック管理テーブルのダイナ
ミックな伸縮によシ先天的なテーブルサイズ決定の必要
がなく、キャッシュ領域を有効利用するものである。As mentioned above, the emphasis of cache buffer control is on the criteria for securing this cache buffer area and on improving the hit rate. The present invention aims to achieve this through ``a new standard for securing a cache buffer area for variable-length file blocks due to the presence of various files'' and ``setting up a cache usage mode that depends on the file access type.'' In addition, by converting the entire cache buffer area into a logical space, the cache buffer space becomes dynamic, and the cache block management table dynamically expands and contracts, eliminating the need for a priori table size determination and making effective use of the cache area. be.
まず、キャッシュ領域19を論理空間化するため、第2
図に示すキャッシュバッファ領域テーブル(CRT )
を用意する。テーブル(CRT)を構成する各エントリ
イはα、β、γから成り、αはそのキャッシュバッファ
の存在するセグメント番号、βはそのキャッシュバッフ
ァの先頭アドレス、そしてγは最終アドレスを示すもの
とする。NOT USEは未使用域である。これによっ
て、mjの連続したメモリ空間にそのメモリセグメント
、先頭アドレス、最終アドレスが定義される。以降、フ
ァ・fルサーパ2は、キャッシュサーバ19をアクセス
するときこのキャッ7ユパソファ領域番号mと、後述す
るそのバッファ領域内に確保されたキャッシュブロック
番号nの組(m、n)を用いる。First, in order to convert the cache area 19 into a logical space, the second
Cache buffer area table (CRT) shown in the figure
Prepare. Each entry constituting the table (CRT) consists of α, β, and γ, where α is the segment number in which the cache buffer exists, β is the start address of the cache buffer, and γ is the final address. NOT USE is an unused area. As a result, the memory segment, start address, and end address are defined in the continuous memory space of mj. Thereafter, when accessing the cache server 19, the file server 2 uses the set (m, n) of the cache area number m and the cache block number n secured in the buffer area, which will be described later.
このCB−Tに定義された各キャ、シーバッファ領域1
9には、その先頭エントリイからブロックバッファの制
御テーブル(BBET)が、その最終エン) IJイか
ら逆方向に実際のブロックバッファデータ領域が、それ
ぞれファイルの基本人出力(ブロック入出力)に対応し
て確保されている。第3図にこの模様(キャッシュバッ
ファ領域19内におけるデータ構造)が示されている。Each cache and sea buffer area 1 defined in this CB-T
9 contains the block buffer control table (BBET) from the first entry (IJ), and the actual block buffer data area in the reverse direction from the last entry (IJ), each corresponding to the basic output (block input/output) of the file. is secured. FIG. 3 shows this pattern (data structure within the cache buffer area 19).
BBETのエントリイは各々、ファイルのブロック番号
とキャッシュバッファブロックの対応表となっておシ、
各ファイル毎リンクする様に作られている。この中にキ
ャッシュの窒き領域を示す特別なエントリイがあり、こ
れも同様にリンクしている。図中、aはそのブロックの
番号、bはそのブロックのキャッシュバッファデータ先
頭アドレス、Cはファイル毎のキャッシュブロックリン
クフィールド(NRUポインタL dはそのキャッシ
ュブロックの利用状況を示すフラグ類、eはそのキャッ
シュブロックを参照しているタスク数、fはそのブロッ
クの存在するディスク番号、gはそのブロックの存在す
るディスクアドレスを示すものとする。Each BBET entry is a correspondence table between file block numbers and cache buffer blocks.
It is designed to link each file individually. Inside this there is a special entry indicating the cache blockage area, which is also linked. In the figure, a is the number of the block, b is the cache buffer data start address of the block, C is the cache block link field for each file (NRU pointer L, d is the flags indicating the usage status of the cache block, and e is the cache block link field for each file. It is assumed that the number of tasks referencing a cache block, f indicates the disk number where the block exists, and g indicates the disk address where the block exists.
一方、ファイルのアクセス特性を反映させるため)ファ
イル毎のLRUブロックの再利用アルゴリズムを使用す
る。このために使用されるファイルブロック管理テーブ
ル(FBET)の構造を第4図に示す。該テーブル(F
BET)には、ファイル識別番号とそのファイルのブロ
ック長(256バイト単位にアサイン)、使用状況(0
PEN中、他)とそのファイル内のブロックに対応する
キャッシュブロックバッファのLRUリンク情報(m
、 Hの組をリンク情報として検索する)が置かれる。On the other hand, in order to reflect the access characteristics of files, an LRU block reuse algorithm for each file is used. The structure of the file block management table (FBET) used for this purpose is shown in FIG. The table (F
BET) includes the file identification number, block length of the file (assigned in units of 256 bytes), usage status (0
PEN, etc.) and the cache block buffer LRU link information (m
, H sets as link information) is placed.
LRUブロックは、このLRUリンクの先頭ブロックと
いうことになる。図中、各エントリイを構成する要素人
はそのファイルで確保しているキャッシュブロックの個
数、Bはファイル識別ID(システムで一意的にファイ
ルが識別できるもの)、Cはそのファイルのブロックセ
クタ長、Dはファイルの利用状況を示す7ラグ類、Eは
そのファイルで確保しているキャッシュブロックの各ブ
ロックを使用時間の古い順に並べたブロックリンクフィ
ールド(LRUチェーン)を示す。先頭のファイル0に
対するエントリイは、キャッジ−領域の未使用域を管理
するために使用される。(空き領域のブロックリンクチ
ェーンをエントリイしている)。The LRU block is the first block of this LRU link. In the figure, the elements that make up each entry are the number of cache blocks reserved for that file, B is the file identification ID (a file that can be uniquely identified by the system), C is the block sector length of the file, D indicates 7 lags indicating the usage status of the file, and E indicates a block link field (LRU chain) in which cache blocks secured in the file are arranged in order of oldest usage time. The entry for the first file 0 is used to manage unused areas in the cache area. (Entering free space block link chain).
以下、本発明の動作につき詳述する。ファイルサーバ2
は、基本入出力要求を受けるとどのファイルのどのブロ
ックに対するものかを認識し、まず、ファイル識別名に
基づきFBET (第4図)を検索する。このテーブル
検索の結果、使用ファイルが見つからなかった時はFB
ET上に1個のファイルブロック制御レコードを生成す
る。The operation of the present invention will be explained in detail below. File server 2
When receiving a basic input/output request, it recognizes which block of which file it is for, and first searches for FBET (FIG. 4) based on the file identification name. If the file to be used is not found as a result of this table search, please use FB.
Generate one file block control record on the ET.
生成にあたり、レコード域の中で全く使用されていない
(どのタスクからもオープンされていない)ファイルの
キャッシュ領域を解放して、その不用となったファイル
ブロック制御レコード域を用いる。この様な未使用域乃
至は不用のレコード域がない場合、その基本人出力は通
常時たされている。但し、キャッシュ領域のバイパス指
定があると、この様な場合でも待ちスティ) (WAI
T)に入らないで指定されたバッフ判領域と直接入出力
を行なう。During generation, the cache area of a file that is not used at all (not opened by any task) in the record area is released, and the file block control record area that is no longer used is used. If there is no such unused area or unnecessary record area, the basic output is normally completed. However, if there is a cache area bypass specification, even in such a case, the waiting status) (WAI
Perform direct input/output to the specified buffer size area without entering T).
一方、FBET上に使用ファイルが存在する場合1今度
はブロック番号でそのLRUリンクを検索する。LRU
リンクは(X’FF’ 、 X’FF’)を見つけると
終わりを意味している。このLRUリンクの中に目的の
ブロック番号が見つかる(ヒツト)と、そのBBET
(第3図)のエントリイからキャッジ−バッファブロッ
クのアドレスを見出して、キャッシュバッファとO8で
指定するバッファとの間で入出力を行なう。これによっ
て、物理入出力を減らすことができる。この動作は、入
力(READ)と出力(WRITE)によって若干異な
る。この模様はそれぞれ第5図、第6図にフローチャー
トとして示す。ヒツトしたブロックはLRUリンクの最
先端にMRU (Most Recently Use
d )として置き直される。LRUリンクの中に目的の
ブロックが存在しない場合は、次の基準でキャッシュバ
ッファの確保を行なう。On the other hand, if a file to be used exists on FBET, 1 the LRU link is searched by block number. LRU
The link ends when (X'FF', X'FF') is found. When the target block number is found in this LRU link, the BBET
The address of the cache buffer block is found from the entry number (FIG. 3), and input/output is performed between the cache buffer and the buffer specified by O8. This can reduce physical input/output. This operation differs slightly depending on input (READ) and output (WRITE). This pattern is shown as a flowchart in FIG. 5 and FIG. 6, respectively. The hit block is placed in the MRU (Most Recently Used) at the leading edge of the LRU link.
d). If the target block does not exist in the LRU link, a cache buffer is secured based on the following criteria.
(1) 同一ファイル(同時に確保できる最大のキャッ
シュブロックバッファの数)を越える場合、そのファイ
ルのLRUバッファを使用する。(1) If the number of cache block buffers exceeds the number of cache block buffers for the same file (the maximum number of cache block buffers that can be secured at the same time), the LRU buffer of that file is used.
(2) (1)で不可のとき、キャッシュ空き領域か
ら目的のファイルブロック長井のバッファ領域を確保す
る。(2) If (1) is not possible, secure a buffer area for the target file block Nagai from the cache free area.
(3) (2)で不可のとき、N−サイズ以上のブロ
ック長を持つ他のファイル中で最小ブロック長のファイ
ルから、そのLRUバッファを切シ出して使用する。(
残りは空き領域につながる)(4) (3)で不可の
とき、同一サイズ未満のファイルのLRUバッファを1
個ずつ解放しながら併合を行ない切出して使用する。(3) If (2) is not possible, the LRU buffer is extracted from the file with the smallest block length among other files having a block length of N-size or more and used. (
(The rest becomes free space) (4) If (3) is not possible, reduce the LRU buffer of files less than the same size by 1.
They are released one by one, merged, and cut out for use.
(5) (4)で不可のときは、プログラム(O8乃
至はユーザプログラム)が指定する一般のバッファを使
用する。(5) If (4) is not possible, use a general buffer specified by the program (O8 or user program).
同、この基準に関連して、インディスクファイルのルー
トインデックスブロック等アクセスが頻繁なものは、フ
ァイルサーバ2に対してキャッシー非常駐モードでアク
セス要求することでキャッシュバッファブロックに非常
駐モードフラグが設定され、上記のLRU切出し対象に
なっ/ことき、■■の扱いを受ける様動作する。Similarly, in relation to this standard, for frequently accessed items such as the root index block of an in-disk file, a non-resident mode flag is set in the cache buffer block by requesting access to the file server 2 in cache non-resident mode. It operates in such a way that it is subject to the LRU extraction mentioned above and is treated as ■■.
更に高速化をはかるため、キャッシュ領域が主記憶装置
Jに置かれたときの入力動作として、MOVEモード(
転送)とLOCATE (配置)モードが設置され、L
OCATEモードでは対応のキャッシュバッファブロッ
クのアドレスが返されるだけでう′−タ転送は行なわれ
ない。出力動作も同様であるが、データ保全性のため、
%権モードでしか動作しない。また、シーケンシャルフ
ァイルのシーケンシャルリードの様に一度読込すれた゛
ら殆んど再利用されないものもあり、キャッシュバッフ
ァ領域を使用しても意味のないものも存在する。この、
様なアクセス形態のため、ヒツトしないとき新たにキャ
ッシュバッファブロックを確保しないモード(キャッシ
ュバイパスモード)が設定され、不要なキャッジ−領域
の使用を制限する。一方、出力時の動作においても、一
時ファイル等中間的ファイルや高速出力のため書込みは
キャッジ−バッファに対してのみ行ない、実際のディス
クファイルへの物理的な書込みは、LRUとして切出さ
れるとき、ファイルのクローズ時チェックポイントをと
る任意の時点等の様に非同期に行なうモードが設定され
る。In order to further speed up the operation, MOVE mode (
transfer) and LOCATE (location) modes have been established,
In the OCATE mode, only the address of the corresponding cache buffer block is returned and no data transfer is performed. The output behavior is the same, but for data integrity,
It only works in % rights mode. Furthermore, there are some cases, such as sequential read of a sequential file, which are read once and are hardly ever reused, and there are cases where it is meaningless to use the cache buffer area. this,
Because of various types of access, a mode (cache bypass mode) is set in which a cache buffer block is not newly secured when there is no hit, thereby restricting the use of unnecessary cache areas. On the other hand, during output operations, writing is performed only to intermediate files such as temporary files and cache buffers for high-speed output, and physical writing to actual disk files is performed when they are extracted as LRUs. A mode is set to perform the checkpoint asynchronously, such as at an arbitrary point in time when the file is closed.
以上の動作は第5図、第6図にプロックンローとして示
されている。The above operation is shown as block-n-row in FIGS. 5 and 6.
以上説明の如く本発明によれは、以Fに列挙する効果が
得られる。As explained above, according to the present invention, the following effects can be obtained.
(1) ファイルアクセス特性によるキャッシュバッ
ファ使用モードが指定用能でヒツト率が大幅に向上する
。(1) The hit rate can be greatly improved by specifying the cache buffer usage mode based on file access characteristics.
(2) ファイル毎のLRUアルゴリズムを用い更に
非常駐モードの設定によりキャッシュ領域が有効利用さ
れる。(2) The cache area is effectively used by using the LRU algorithm for each file and by setting the non-resident mode.
(3)キャッジ−バッファブロックは可変ブロック長の
対応が可能となり、キャッシュ領域の活用がはかれると
共にヒツト率の向上にっながる。(3) The cache-buffer block can accommodate variable block lengths, making better use of the cache area and improving the hit rate.
(4)マルチタスクアクセス下でも、キャッシュ領域使
用効率が低下せず、特にインディクスファイル、共有フ
ァイル等ではヒツト率が向上し、大幅な高速化が実現さ
れる。(4) Even under multitask access, the cache area usage efficiency does not decrease, and the hit rate improves, especially for index files, shared files, etc., and a significant increase in speed is achieved.
(5) キャッシュ領域がダイナミックに定義可能で
、その中の管理は自動的に行なわれる等、従来のキャッ
シュ制御にない高速化が実現される0(5) Cache areas can be dynamically defined and management within them is performed automatically, achieving faster speeds than conventional cache control.
第1図は本発明におけるディスクキ51−ツシュシステ
ムの実施例を示すブロック図、第2図は本発明において
使用されるキャッシュ/くソファ領域の定義テーブル(
CBT)のテーブルフォーマットを示す図、第3図は本
発明において使用されるキャッシュバッファの内部デー
タ構造を示す図、第4図はファイルとキャッシュ・ぐソ
ファ使用前mテーブル(FBET)のテーブルフォーマ
ットを示す図、第5図、第6図はそれぞれ入力、出力時
における本発明の動作を示す概略ブロック70−である
。
1・・・主記憶装置、2・・・ファイル−ナーノ々、3
・・・大容量ファイル装置(磁気ディスク装(庁)。
出願人代理人 弁理士 鈴 江 武 彦第2図
第3図
第4図
第5図FIG. 1 is a block diagram showing an embodiment of the disk key 51-touch system in the present invention, and FIG. 2 is a cache/cache area definition table used in the present invention.
3 is a diagram showing the internal data structure of the cache buffer used in the present invention, and FIG. 4 is a diagram showing the table format of the file and cache before use table (FBET). The diagrams shown in FIGS. 5 and 6 are schematic blocks 70-- showing the operation of the present invention during input and output, respectively. 1...Main storage device, 2...File nanos, 3
...Large capacity file device (magnetic disk drive (Office)).Applicant's agent Patent attorney Takehiko Suzue Figure 2 Figure 3 Figure 4 Figure 5
Claims (1)
ファを介してディスクとの入出力制御を行なうディスク
キャッシュシステムにおいて、キャッシュバッファ領域
が定義される第1のテーブルと、ファイルブロック及び
上記第1のデープルにて定義されるキャッシュブロック
の使用状況を管理する第2のテーブルと、上記ファイル
ブロックと上記キャッシュブロックとの対応関係が示さ
れる第3のテーブルと、外部より与えられるファイル識
別名とファイルブロック番号に基づき上記第1、第2、
第3テーブル内容に従かいキャッシュバッファをアクセ
スする手段と、上記キャッジ−バッファ領域から指定ブ
ロック長井の領域を上記第1、第2、第3の゛テーブル
内容と所定の基準に基づき切p出しキャッシュバッファ
の確保を行なう手段と、上記キャッシュブロックの参照
順序を保持するLRU(Least Recently
Used )制御手段とを具備して成ることを特徴と
するディスクキャッシュシステム。(1) In a disk cache system that includes a cache buffer and performs input/output control with the disk via the cache buffer, a first table in which a cache buffer area is defined, a file block, and the first table a second table that manages the usage status of defined cache blocks; a third table that shows the correspondence between the file blocks and the cache blocks; The first, second,
means for accessing a cache buffer according to the contents of a third table; and means for cutting out a designated block Nagai area from the cache buffer area and caching it based on the contents of the first, second, and third tables and a predetermined standard. A means for allocating buffers and an LRU (Least Recently) for maintaining the reference order of the cache blocks.
1. A disk cache system comprising a control means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58093711A JPS59220853A (en) | 1983-05-27 | 1983-05-27 | Disc cache system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58093711A JPS59220853A (en) | 1983-05-27 | 1983-05-27 | Disc cache system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS59220853A true JPS59220853A (en) | 1984-12-12 |
Family
ID=14090000
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58093711A Pending JPS59220853A (en) | 1983-05-27 | 1983-05-27 | Disc cache system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59220853A (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61208551A (en) * | 1985-03-14 | 1986-09-16 | Fujitsu Ltd | Data access centralized management method |
| JPS61279960A (en) * | 1985-06-05 | 1986-12-10 | Hitachi Ltd | Buffer management method |
| JPS63180146A (en) * | 1987-01-21 | 1988-07-25 | Nec Corp | Multiplex buffering control system for work file |
| JPS6423355A (en) * | 1987-07-02 | 1989-01-26 | Ibm | Cache memory management |
| JPS6458045A (en) * | 1987-08-28 | 1989-03-06 | Mitsubishi Electric Corp | Data transfer system |
| JPH01133156A (en) * | 1987-11-18 | 1989-05-25 | Victor Co Of Japan Ltd | File system |
| JPH01134642A (en) * | 1987-11-20 | 1989-05-26 | Fujitsu Ltd | Controlling and processing system for data base |
| JPH025152A (en) * | 1988-06-24 | 1990-01-10 | Nec Corp | Data file write control system |
| JPH04209041A (en) * | 1990-11-16 | 1992-07-30 | Ricos:Kk | Data loading device |
| JPH06314223A (en) * | 1993-04-30 | 1994-11-08 | Internatl Business Mach Corp <Ibm> | Buffer control system and method |
-
1983
- 1983-05-27 JP JP58093711A patent/JPS59220853A/en active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61208551A (en) * | 1985-03-14 | 1986-09-16 | Fujitsu Ltd | Data access centralized management method |
| JPS61279960A (en) * | 1985-06-05 | 1986-12-10 | Hitachi Ltd | Buffer management method |
| JPS63180146A (en) * | 1987-01-21 | 1988-07-25 | Nec Corp | Multiplex buffering control system for work file |
| JPS6423355A (en) * | 1987-07-02 | 1989-01-26 | Ibm | Cache memory management |
| JPS6458045A (en) * | 1987-08-28 | 1989-03-06 | Mitsubishi Electric Corp | Data transfer system |
| JPH01133156A (en) * | 1987-11-18 | 1989-05-25 | Victor Co Of Japan Ltd | File system |
| JPH01134642A (en) * | 1987-11-20 | 1989-05-26 | Fujitsu Ltd | Controlling and processing system for data base |
| JPH025152A (en) * | 1988-06-24 | 1990-01-10 | Nec Corp | Data file write control system |
| JPH04209041A (en) * | 1990-11-16 | 1992-07-30 | Ricos:Kk | Data loading device |
| JPH06314223A (en) * | 1993-04-30 | 1994-11-08 | Internatl Business Mach Corp <Ibm> | Buffer control system and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR940005775B1 (en) | Method of opening disk file | |
| US10564850B1 (en) | Managing known data patterns for deduplication | |
| US6397311B1 (en) | System and method for defragmenting a file system | |
| US6216199B1 (en) | Hardware mechanism for managing cache structures in a data storage system | |
| US7694103B1 (en) | Efficient use of memory and accessing of stored records | |
| US8161240B2 (en) | Cache management | |
| US20160203135A1 (en) | In-memory latch-free index structure | |
| JPH02281350A (en) | Cache memory management | |
| CN113094336B (en) | File system directory management method and system based on Cuckoo hash | |
| US7418544B2 (en) | Method and system for log structured relational database objects | |
| CN116186085A (en) | A key-value storage system and method based on cache gradient cold and hot data layering mechanism | |
| JPS60140446A (en) | Storage hierarchy control method | |
| CN110968269A (en) | SCM and SSD-based key value storage system and read-write request processing method | |
| JPS59220853A (en) | Disc cache system | |
| US5584015A (en) | Buffer memory management method, recording medium, and computer system incorporating same | |
| WO2020102998A1 (en) | Method and apparatus for deleting index entry in memory | |
| JPS60214060A (en) | Control system of external storage cache | |
| JPH06103128A (en) | Storage device | |
| JP7713417B2 (en) | STORAGE SYSTEM AND DATA CACHING METHOD | |
| CN120295944B (en) | Data processing method, electronic device and program product for block storage | |
| JP2636470B2 (en) | Data transfer path selection method | |
| JPH0477938A (en) | Data storage method | |
| JP3578501B2 (en) | Document search method and apparatus | |
| JPH08328929A (en) | Database partition management system | |
| JP2912657B2 (en) | File access processor |