JPH07311710A - Buffer cache managing method for computer - Google Patents

Buffer cache managing method for computer

Info

Publication number
JPH07311710A
JPH07311710A JP6102766A JP10276694A JPH07311710A JP H07311710 A JPH07311710 A JP H07311710A JP 6102766 A JP6102766 A JP 6102766A JP 10276694 A JP10276694 A JP 10276694A JP H07311710 A JPH07311710 A JP H07311710A
Authority
JP
Japan
Prior art keywords
buffer cache
size
buffer
computer
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6102766A
Other languages
Japanese (ja)
Inventor
Kenji Ogawa
賢治 小川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6102766A priority Critical patent/JPH07311710A/en
Publication of JPH07311710A publication Critical patent/JPH07311710A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the utilization efficiency of a buffer cache of buffer cache size corresponding to the highest frequency by storing an access request size in a buffer cache management table. CONSTITUTION:The upper-limit value and lower-limit value of access size as use standards of the buffer cache 8 and the number of request headers 6 are set in a buffer cache use definition table 3. Then, the size of a data storage area prepared in a request header 6 is entered as the request header extension size of the buffer cache use definition table 3 on the basis of the lower-limit value of the access size. Namely, data of data size corresponding to the highest frequency are left on the buffer cache 8 preferentially according to the upper- limit value and lower-limit value in the buffer cache use definition table 3, so the utilization efficiency of the buffer cache 8 of buffer cache size corresponding to the highest frequency can be improved when the buffer cache 8 is reused in a random memory device 1.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明はコンピュータの不揮発
性メモリとランダムアクセスメモリ上に用意されたバッ
ファキャッシュとの間のデータ転送をオペレーティング
システムで管理する方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of managing data transfer between a non-volatile memory of a computer and a buffer cache provided on a random access memory by an operating system.

【0002】[0002]

【従来の技術】従来、コンピュータにおいては、フロッ
ピーディスクやハードディスクなどのような不揮発性メ
モリを構成するディスクメモリ上のファイルへのアクセ
ス時間がコンピュータの性能を左右する重要な要因であ
った。そのため、ディスクメモリに記憶されたデータの
一部をランダムアクセスメモリ上に用意したバッファキ
ャッシュに読み込むことにより、以降のユーザによるア
クセスはバッファキャッシュを介して行う方法が採用さ
れている。
2. Description of the Related Art Conventionally, in a computer, access time to a file on a disk memory which constitutes a non-volatile memory such as a floppy disk or a hard disk has been an important factor affecting the performance of the computer. Therefore, a method is adopted in which a part of the data stored in the disk memory is read into a buffer cache prepared on the random access memory, and subsequent user access is performed via the buffer cache.

【0003】バッファキャッシュのサイズはコンピュー
タ内に1つ乃至数種類用意され、数種類のサイズが用意
された場合、ユーザはファイル内の最頻度アクセスサイ
ズでバッファキャッシュを選んでディスクメモリをファ
イルとして接続する。ユーザがアクセス要求を行った場
合の空きバッファキャッシュ割り当て方法はLRU(L
east Recently Used;最も昔にアク
セスされたバッファキャッシュを空きバッファキャッシ
ュとして新たなアクセス要求に割り当てるアルゴリズ
ム;最長不使用アルゴリズム)が一般的には採用され
る。
There are one to several kinds of buffer cache sizes prepared in the computer. When several kinds of sizes are prepared, the user selects the buffer cache with the most frequently accessed size in the file and connects the disk memory as a file. When the user makes an access request, the free buffer cache allocation method is LRU (L
The most recently used algorithm is generally used; an algorithm that allocates the earliest accessed buffer cache as a free buffer cache to a new access request; the longest unused algorithm).

【0004】また、ディスクメモリとバッファキャッシ
ュとの間でデータ転送を行う以上何らかのタイミングで
バッファキャッシュ内のデータをディスクメモリに反映
するフラッシュ動作(sync動作)が必要になるが、
それには2つあり、1つはバッファキャッシュにデータ
を書き込むと同時にディスクメモリにも書き込むライト
スルー方法である。もう1つは周期的に起動するプログ
ラムがフラッシュするタイミングをシステムコールによ
りオペレーティングシステムに伝達し、オペレーティン
グシステムで一括してフラッシュする方法である。この
オペレーティングシステムによる場合、フラッシュする
データの重要性や順序については考慮されていないた
め、フラッシュ途中に電源断が発生すると、例えばファ
イルを構成するデータの一部が失われる場合から、ファ
イル構造を構成するデータを失うところのファイルの破
壊となる状況まで、ユーザが当該ファイルにおける被害
状況を予測したり、ユーザが被害の起こらないように制
御するのは困難である。
Further, since data is transferred between the disk memory and the buffer cache, a flash operation (sync operation) for reflecting the data in the buffer cache in the disk memory is required at some timing.
There are two of them, one is a write-through method of writing data to the buffer cache and at the same time writing to the disk memory. The other is a method of transmitting the flash timing of a program that is periodically activated to the operating system by a system call, and the operating system collectively flashes. With this operating system, the importance and order of the data to be flashed is not considered, so if a power failure occurs during flashing, for example, some of the data that makes up the file will be lost, and so the file structure will be configured. It is difficult for the user to predict the damage situation in the file or to control the user so that the damage does not occur until the file is destroyed where the data is lost.

【0005】また、大容量半導体ディスクメモリの出現
により、同半導体ディスクメモリ上に構築されたファイ
ルへのアクセスについても、バッファキャッシュを介し
たアクセスとなるため、半導体ディスクメモリからバッ
ファキャッシュを経由してユーザバッファにコピーする
メモリ間コピーのオーバヘッドを生み出すことや、半導
体ディスクメモリ本体がバッテリバックアップ機能を持
っていても、バッファキャッシュ自身がバッテリバック
アップ機能を持っていないと、電源断時のデータ損失、
バッファキャッシュと媒体との間の一貫性問題などが解
決されない。
With the advent of the large-capacity semiconductor disk memory, access to a file constructed on the semiconductor disk memory also requires access via the buffer cache, so that the semiconductor disk memory is accessed via the buffer cache. Data overhead at the time of power failure, if you create the overhead of memory-to-memory copy to copy to the user buffer, or if the semiconductor disk memory body has a battery backup function but the buffer cache itself does not have a battery backup function,
Problems such as coherency between the buffer cache and media are not resolved.

【0006】図11は1990年10月5日に共立出版
株式会社から発行されたMourice J.Bach
著「UNIXカーネルの設計」第32〜49頁に記載さ
れたバッファキャッシュ管理方法を示す図である。この
図11において、7はバッファヘッダ、8はバッファヘ
ッダ7上のポインタを操作することにより管理されるバ
ッファキャッシュ、100は使用可能なバッファヘッダ
7を管理する自由リスト、101は自由リスト7の先頭
と最後とを保持する自由リストヘッダ、110はバッフ
ァキャッシュ8に高速にアクセスするためのハッシュリ
スト、111はハッシュリスト110の先頭と最後とを
管理する待ち行列ヘッダである。
[0006] FIG. 11 is a schematic diagram of Maurice J. J. published by Kyoritsu Publishing Co., Ltd. Bach
It is a figure which shows the buffer cache management method described in "Design of UNIX kernel" pages 32-49. In FIG. 11, 7 is a buffer header, 8 is a buffer cache managed by operating a pointer on the buffer header 7, 100 is a free list for managing the usable buffer headers 7, and 101 is the head of the free list 7. And 110 are a free list header that holds the end of the hash list, 110 is a hash list for accessing the buffer cache 8 at high speed, and 111 is a queue header that manages the beginning and end of the hash list 110.

【0007】上記バッファヘッダ7は装置番号、ブロッ
ク番号、状態フィールドおよび各種ポインタを有する。
装置番号とブロック番号とはディスクメモリ上のデータ
位置を特定するためのものである。、状態フィールドは
バッファキャッシュ8が使用中であるか、バッファキャ
ッシュ8に変更が加えられたかなど、バッファキャッシ
ュ8の使用状態を示すものである。各種ポインタ中のバ
ッファキャッシュ8へのポインタはバッファヘッダ7を
示すものである。また、バッファヘッダ7は2つの管理
構造によって管理され、その1つが自由リスト100で
あり、もう1つがハッシュリスト110である。これら
自由リスト100およびハッシュリスト110は双方向
のリスト構造を有する。つまり、自由リスト100は前
方ポインタ102と後方ポインタ103を持っている。
ハッシュリスト110の待ち行列も図外の前方ポインタ
および後方ポインタで管理される。
The buffer header 7 has a device number, a block number, a status field and various pointers.
The device number and the block number are for specifying the data position on the disk memory. The status field indicates the usage status of the buffer cache 8 such as whether the buffer cache 8 is being used or whether the buffer cache 8 has been changed. The pointer to the buffer cache 8 in the various pointers indicates the buffer header 7. The buffer header 7 is managed by two management structures, one of which is the free list 100 and the other of which is the hash list 110. The free list 100 and the hash list 110 have a bidirectional list structure. That is, the free list 100 has a front pointer 102 and a rear pointer 103.
The queue of the hash list 110 is also managed by a forward pointer and a backward pointer not shown.

【0008】上記バッファキャッシュ8の割り当てを管
理するLRUについて説明する。ディスクメモリ本体の
ブロックの内容を含むバッファキャッシュ、すなわちデ
ィスクブロックに割り当てられたバッファキャッシュ8
は他のすべてのバッファキャッシュ8が使用されるま
で、他のディスクブロックに割り当てられることはな
い。オペレーティングシステムはバッファキャッシュ8
が使用された順番を保存するためにバッファキャッシュ
8の自由リスト100を管理する。オペレーティングシ
ステムが起動されたとき、すべてのバッファキャッシュ
8は自由リストヘッダ101に繋がれる。新しい空きバ
ッファキャッシュが必要な時には、オペレーティングシ
ステムは自由リストヘッダ101の先頭からバッファキ
ャッシュ8を取り出す。しかし、或る特定のディスクブ
ロックに割り付けられたバッファキャッシュ8が必要な
場合には、自由リスト100の途中から取り出して使用
する。
The LRU for managing the allocation of the buffer cache 8 will be described. A buffer cache containing the contents of blocks of the disk memory body, that is, a buffer cache allocated to the disk block 8
Will not be allocated to another disk block until all other buffer caches 8 have been used. Operating system is buffer cache 8
Manages the free list 100 of the buffer cache 8 in order to save the order in which was used. All buffer caches 8 are tied to the free list header 101 when the operating system is booted. When a new free buffer cache is needed, the operating system fetches the buffer cache 8 from the beginning of the free list header 101. However, when the buffer cache 8 allocated to a specific disk block is required, it is taken out from the middle of the free list 100 and used.

【0009】オペレーティングシステムがバッファキャ
ッシュ8を自由リストに戻す場合には自由リスト100
の最後に戻し、エラー発生時などの特別な場合には自由
リスト100の先頭に戻し、いずれの場合でも自由リス
ト100の途中に戻すことはない。したがって、自由リ
スト100の先頭のバッファキャッシュ8は自由リスト
100の後部にあるものより使用時期が古いことにな
る。また、自由リスト100上に空きバッファキャッシ
ュがない場合には、ユーザは空きバッファキャッシュが
できるまで待たされることになる。
If the operating system returns the buffer cache 8 to the free list, the free list 100
To the end of the free list 100, and to the beginning of the free list 100 in special cases such as when an error occurs. In any case, it is not returned to the middle of the free list 100. Therefore, the buffer cache 8 at the head of the free list 100 is older than the one at the rear of the free list 100. If there is no free buffer cache on the free list 100, the user will have to wait until a free buffer cache is created.

【0010】オペレーティングシステムが特定のディス
クブロックに割り付けられたバッファキャッシュ8にア
クセスする際には、装置番号とブロック番号との組み合
わせで検索する。この場合、バッファキャッシュ8全体
を検索するのではなく、バッファヘッダ7を装置番号と
ブロック番号との関数としてハッシュされた個々の待ち
行列によって管理する。図11のハッシュリスト110
ではブロック番号を4で割った余り(mod)で4つの
待ち行列を作成した場合を例として図示してある。
When the operating system accesses the buffer cache 8 assigned to a specific disk block, it searches by a combination of a device number and a block number. In this case, rather than searching the entire buffer cache 8, the buffer header 7 is managed by individual queues hashed as a function of device number and block number. Hash list 110 of FIG.
Then, a case where four queues are created by the remainder (mod) obtained by dividing the block number by 4 is shown as an example.

【0011】オペレーティングシステムによる読み込み
動作は、目的とするディスクブロックのデータを保持し
たバッファキャッシュ8が待ち行列ヘッダ11にない場
合には、自由リスト100から空きバッファキャッシュ
を見つけだし、バッファヘッダ7の状態フィールドに使
用中の印を付けた後、該当するディスクブロックからバ
ッファキャッシュ8に一度読み込んだ後にユーザバッフ
ァへのコピーが行われる。逆に、目的とするディスクブ
ロックのデータを保持したバッファキャッシュ8が待ち
行列ヘッダ111上に存在する場合には、そのバッファ
キャッシュ8より読み込む。そして、読み込み後はバッ
ファヘッダ7の状態フィールドの使用中印を消去し、読
み込み後のバッファキャッシュ8を自由リスト100の
最後に繋ぐ。
In the read operation by the operating system, when the buffer cache 8 holding the data of the target disk block is not in the queue header 11, a free buffer cache is found from the free list 100 and the status field of the buffer header 7 is found. Is marked as being used, the disk block is once read from the corresponding disk block, and then copied to the user buffer. On the contrary, when the buffer cache 8 holding the data of the target disk block exists on the queue header 111, it is read from the buffer cache 8. After reading, the in-use mark in the status field of the buffer header 7 is erased, and the buffer cache 8 after reading is connected to the end of the free list 100.

【0012】オペレーティングシステムによる書き込み
動作も同様に、待ち行列ヘッダ111上に目的とするバ
ッファキャッシュ8が存在するかを捜索し、なければ空
きバッファキャッシュを自由リスト100から見つけだ
し、該当するディスクブロックからバッファキャッシュ
8に読み込んだ後、バッファキャッシュ8上で修正を行
い、バッファヘッダ7の状態フィールドに修正があった
ことを示す印を付し、修正後のバッファキャッシュ8を
自由リスト100の最後に繋ぐ。すなわち、ディスクメ
モリへの書き込みはすぐには行わない。
Similarly, the write operation by the operating system searches for the target buffer cache 8 on the queue header 111, and if not, finds a free buffer cache from the free list 100 and buffers it from the corresponding disk block. After the data is read into the cache 8, the buffer cache 8 is modified, the status field of the buffer header 7 is marked, and the modified buffer cache 8 is connected to the end of the free list 100. That is, writing to the disk memory is not performed immediately.

【0013】バッファキャッシュ8内のデータがディス
クメモリに書き込まれるのは以下の2つの場合である。
1つは、読み込みまたは書き込みにおいて自由リスト1
00上から空きバッファキャッシュを探す際に、バッフ
ァヘッダ7上の状態フィールドに修正を示す印の付けら
れたものが見つかった場合である。もう1つは、オペレ
ーティングシステムにて周期的にすべてのバッファヘッ
ダ7を捜索し、状態フィールドに修正を示す印の付けら
れたものを書き込む場合である。
The data in the buffer cache 8 is written in the disk memory in the following two cases.
One is a free list for reading or writing 1
When searching for a free buffer cache from above 00, the one marked with a correction in the status field on the buffer header 7 is found. The other is when the operating system periodically searches through all the buffer headers 7 and writes the status field marked as modified.

【0014】したがって、書き込み動作の場合、バッフ
ァキャッシュ8上での修正と該当するディスクブロック
に修正内容を反映するフラッシュ動作とでは、時間的な
ずれを生じることとなり、この時間的なずれ中において
電源断やクラッシュによりオペレーティングシステムが
動作不能になると、バッファキャッシュ8とディスクブ
ロックとの間に矛盾を生じることになる。
Therefore, in the case of the write operation, there is a time lag between the correction on the buffer cache 8 and the flash operation for reflecting the correction content on the corresponding disk block, and during the time lag, the power supply is changed. If the operating system becomes inoperable due to a disconnection or a crash, a conflict will occur between the buffer cache 8 and the disk block.

【0015】[0015]

【発明が解決しようとする課題】上記従来のバッファキ
ャッシュ管理方法には下記のような問題点がある。 (1)ファイルアクセス要求全部にバッファキャッシュ
8を利用するため、アクセス頻度の低い大容量のアクセ
スサイズについてもバッファキャッシュ8を確保しなけ
ればならず、バッファキャッシュ8の入れ替えが発生
し、アクセス頻度の高いアクセスサイズのバッファキャ
ッシュ8が無効となり、バッファキャッシュサイズでの
要求に対するバッファキャッシュ8の利用率が低下す
る。 (2)ファイルアクセス要求全部にバッファキャッシュ
8を利用するため、サイズの小さいファイルに対するア
クセスについてもバッファキャッシュ8を確保しなけれ
ばならず、バッファキャッシュ8が効率よく使用されな
い。例えば、バッファキャッシュサイズ1Kバイトでフ
ァイルサイズが100バイトの場合。924バイトが無
駄になる。 (3)バッファキャッシュ8を一括管理するため、バッ
ファキャッシュ8内のデータのディスクメモリへのフラ
ッシュ動作やバッファキャッシュ8を使用しないなどの
操作がファイルごとに制御できない。このため、重要な
ファイルとそれほど重要でないファイルとの優先度付け
ができない。 (4)総バッファキャッシュサイズが増加するに従い、
周期的に起動される一括ファイル動作の負荷およびフラ
ッシュ時間が増大する。 (5)バッファキャッシュ8の枯渇時には不特定時間の
待ち状態となる。
The above conventional buffer cache management method has the following problems. (1) Since the buffer cache 8 is used for all file access requests, the buffer cache 8 must be secured even for a large-capacity access size with a low access frequency. The buffer cache 8 with a high access size becomes invalid, and the utilization rate of the buffer cache 8 for requests with the buffer cache size decreases. (2) Since the buffer cache 8 is used for all file access requests, the buffer cache 8 must be secured even when accessing a small file, and the buffer cache 8 is not used efficiently. For example, if the buffer cache size is 1 Kbyte and the file size is 100 bytes. 924 bytes are wasted. (3) Since the buffer cache 8 is collectively managed, the operation of flushing the data in the buffer cache 8 to the disk memory and the operation of not using the buffer cache 8 cannot be controlled for each file. Therefore, it is not possible to prioritize important files and less important files. (4) As the total buffer cache size increases,
The load and flush time of the batch file operation that is activated periodically increases. (5) When the buffer cache 8 is exhausted, it enters a waiting state for an unspecified time.

【0016】この発明は上記のような課題を解決するた
めになされたもので、第1の目的は最多頻度のバッファ
キャッシュサイズでのバッファキャッシュの利用効率を
向上することであり、第2の目的はバッファキャッシュ
使用の要否を制御可能とすることであり、第3の目的は
システムダウン時のデータ損失を低減することであり、
第4の目的はタイミングのよいフラッシュ動作を行わせ
ることであり、第5の目的はバッファキャッシュが枯渇
した時の不特定待ち時間を低減することである。
The present invention has been made to solve the above problems. A first object of the present invention is to improve the utilization efficiency of the buffer cache with the most frequent buffer cache size, and a second object. Is to control the necessity of using the buffer cache, and the third purpose is to reduce data loss when the system is down.
A fourth purpose is to perform a flush operation with a good timing, and a fifth purpose is to reduce the unspecified waiting time when the buffer cache is exhausted.

【0017】[0017]

【課題を解決するための手段】請求項1に記載された第
1の発明に係るバッファキャッシュ管理方法は、アクセ
ス要求サイズをバッファキャッシュ管理デーブルに記憶
し、このアクセス要求サイズをバッファキャッシュ再利
用基準とするものである。
According to a first aspect of the buffer cache management method of the present invention, an access request size is stored in a buffer cache management table, and the access request size is stored as a buffer cache reuse criterion. It is what

【0018】請求項2に記載された第2の発明に係るバ
ッファキャッシュ管理方法は、小サイズファイルへのア
クセス要求に対し、バッファキャッシュ管理デーブルの
空き領域に小サイズファイルのバッファキャッシュ内の
データを保存するものである。
According to the second aspect of the buffer cache management method of the present invention, in response to an access request to the small size file, the data in the buffer cache of the small size file is stored in the free area of the buffer cache management table. It is something to save.

【0019】請求項3に記載された第3の発明に係るバ
ッファキャッシュ管理方法は、大容量のアクセス要求に
対し、バッファキャッシュをバイパスするアクセスを行
うものである。
According to a third aspect of the buffer cache management method of the present invention, a large-capacity access request is accessed by bypassing the buffer cache.

【0020】請求項4に記載された第4の発明に係るバ
ッファキャッシュ管理方法は、ファイルごとにバッファ
キャッシュを使用するか否かを設定可能とするものであ
る。
In the buffer cache management method according to the fourth aspect of the present invention, whether or not to use the buffer cache for each file can be set.

【0021】請求項5に記載された第5の発明に係るバ
ッファキャッシュ管理方法は、フラッシュ動作の順序を
書き込み動作ごとに行うものである。
In the buffer cache management method according to the fifth aspect of the present invention, the flush operation sequence is performed for each write operation.

【0022】請求項6に記載された第6の発明に係るバ
ッファキャッシュ管理方法は、オペレーティングシステ
ムによる一括フラッシュ動作かユーザ指定によるフラッ
シュ動作かを選択するものである。
According to a sixth aspect of the buffer cache management method of the present invention, a batch flash operation by the operating system or a flash operation designated by the user is selected.

【0023】請求項7に記載された第7の発明に係るバ
ッファキャッシュ管理方法は、バッファキャッシュ枯渇
時のバッファキャッシュの使用を停止するものである。
The buffer cache management method according to the seventh aspect of the present invention is to stop the use of the buffer cache when the buffer cache is exhausted.

【0024】[0024]

【作用】第1の発明のバッファキャッシュ管理方法は、
バッファキャッシュの再利用において、最多頻度のデー
タサイズによるデータがバッファキャッシュ上に残存
し、最多頻度のバッファキャッシュサイズでのバッファ
キャッシュの利用効率が向上する。
According to the buffer cache management method of the first invention,
In the reuse of the buffer cache, the data having the most frequent data size remains on the buffer cache, and the efficiency of using the buffer cache at the most frequent buffer cache size is improved.

【0025】第2の発明のバッファキャッシュ管理方法
は、バッファキャッシュが小容量のデータによって細分
化されることを防止でき、最多頻度のバッファキャッシ
ュサイズでのバッファキャッシュの利用効率が向上す
る。
According to the buffer cache management method of the second invention, the buffer cache can be prevented from being fragmented by a small amount of data, and the utilization efficiency of the buffer cache with the most frequent buffer cache size can be improved.

【0026】第3の発明のバッファキャッシュ管理方法
は、最多要求頻度のバッファキャッシュが大容量サイズ
のアクセス要求によって入れ換わるのを防止し、最多頻
度のバッファキャッシュサイズでのバッファキャッシュ
の利用効率が向上する。
The buffer cache management method of the third invention prevents the buffer cache with the highest request frequency from being replaced by an access request with a large capacity size, and improves the utilization efficiency of the buffer cache with the buffer cache size with the highest frequency. To do.

【0027】第4の発明のバッファキャッシュ管理方法
は、バッファキャッシュ使用の要否が制御可能となる。
According to the buffer cache management method of the fourth invention, it is possible to control the necessity of using the buffer cache.

【0028】第5の発明のバッファキャッシュ管理方法
は、フラッシュ動作中の電源断などによるシステムダウ
ン時に、データ損失の影響が小さくなる。
According to the buffer cache management method of the fifth aspect of the present invention, the influence of data loss is reduced when the system goes down due to power interruption during the flash operation.

【0029】第6の発明のバッファキャッシュ管理方法
は、ユーザがフラッシュ動作のタイミングを制御可能と
なり、一括フラッシュ動作に対する負荷が軽減し、ま
た、ユーザが書き込み動作完了にて明示的にフラッシュ
指示可能なため、タイミングのよいフラッシュ動作が提
供できる。
In the buffer cache management method of the sixth aspect of the present invention, the user can control the timing of the flash operation, the load on the batch flash operation is reduced, and the user can explicitly issue the flash instruction when the write operation is completed. Therefore, a flash operation with good timing can be provided.

【0030】第7の発明のバッファキャッシュ管理方法
は、バッファキャッシュ枯渇時の不特定待ち時間がなく
なる。
The buffer cache management method of the seventh invention eliminates the unspecified waiting time when the buffer cache is exhausted.

【0031】[0031]

【実施例】以下、この発明の各実施例を図1乃至図10
を用い、上記従来例と同一部分に同一符号を付して説明
する。 実施例1(請求項1に対応).図1は実施例1のバッフ
ァキャッシュ管理方法に使用するコンピュータを示す構
成図、図2は実施例1に使用するテーブルを示す構成
図、図3は実施例1の初期動作を示すフローチャート、
図4は実施例1の読み込み動作を示すフローチャート、
図4は実施例1の書き込み動作を示すフローチャートで
ある。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, each embodiment of the present invention will be described with reference to FIGS.
In the following description, the same parts as those in the above-mentioned conventional example are designated by the same reference numerals. Example 1 (corresponding to claim 1). 1 is a block diagram showing a computer used in the buffer cache management method of the first embodiment, FIG. 2 is a block diagram showing a table used in the first embodiment, and FIG. 3 is a flowchart showing an initial operation of the first embodiment.
FIG. 4 is a flowchart showing the reading operation of the first embodiment,
FIG. 4 is a flowchart showing the write operation of the first embodiment.

【0032】図1において、1はランダムアクセスメモ
リを有するランダムメモリ装置であって、これには以下
に説明するテーブル類が配置される。2はハードディス
クなどのディスクメモリを有する不揮発性メモリ装置で
あって、これはデータを一定のサイズの塊、すなわちデ
ィスクブロック9ごとの塊としてブロック番号で管理す
る。3はバッファキャッシュ使用定義テーブルであっ
て、これはバッファキャッシュ8の使用基準をユーザが
定義するためのものである。4はファイル定義テーブル
であって、これはファイルの使用開始時(オープン時)
にファイルごとにバッファキャッシュ8の制御を行うた
めのものである。6は要求ヘッダであって、これはアク
セスサイズによってバッファキャッシュ8を制御するた
めのものである。5は要求ヘッダ6を管理するための要
求ヘッダ管理テーブルであって、これは3種類の双方向
のリストを構成するためのポインタ(大サイズ、小サイ
ズ、自由リスト)を保持する。7はバッファヘッダであ
る。上記バッファキャッシュ8とディスクブロック9と
の関係、自由リスト100およびハッシュリスト110
の使用方法は従来と同じである。
In FIG. 1, reference numeral 1 denotes a random memory device having a random access memory, in which tables described below are arranged. Reference numeral 2 is a non-volatile memory device having a disk memory such as a hard disk, which manages data by block number as a block of a fixed size, that is, a block for each disk block 9. Reference numeral 3 is a buffer cache use definition table for the user to define the use standard of the buffer cache 8. 4 is a file definition table, which is at the start of use of the file (at the time of opening)
The buffer cache 8 is controlled for each file. A request header 6 controls the buffer cache 8 depending on the access size. Reference numeral 5 denotes a request header management table for managing the request header 6, which holds pointers (large size, small size, free list) for composing three types of bidirectional lists. Reference numeral 7 is a buffer header. Relationship between the buffer cache 8 and the disk block 9, the free list 100 and the hash list 110
The usage of is the same as the conventional method.

【0033】この実施例1における立ち上がり時の各種
テーブルの初期化を図2および図3を参照しつつ説明す
る。ユーザはバッファキャッシュ使用定義テーブル3
に、バッファキャッシュ8の使用基準となるアクセスサ
イズの上限値と下限値および要求ヘッダ6の個数を設定
する(ステップ300)。バッファキャッシュ使用定義
テーブル3における要求ヘッダ拡張サイズはアクセスサ
イズの下限値にもとづき要求ヘッダ6内に用意されるデ
ータ格納エリアのサイズを記入する。(ステップ30
1)。
Initialization of various tables at the time of rising in the first embodiment will be described with reference to FIGS. 2 and 3. User uses buffer cache definition table 3
Then, the upper limit value and the lower limit value of the access size and the number of request headers 6 as the reference for using the buffer cache 8 are set (step 300). As the request header extension size in the buffer cache use definition table 3, the size of the data storage area prepared in the request header 6 is entered based on the lower limit value of the access size. (Step 30
1).

【0034】そして、要求ヘッダ6をバッファキャッシ
ュ使用定義テーブル3内の要求ヘッダ6の数だけ用意す
る(ステップ302)。このとき、要求ヘッダ6内にお
けるデータ格納エリアのサイズはバッファキャッシュ使
用定義テーブル3内の要求ヘッダ拡張サイズに設定され
たサイズで用意されるが、データ格納エリアのサイズは
当該デバイスが読み書きを行う最低サイズ(ディスクブ
ロックサイズ)の整数倍に切り上げる。
Then, as many request headers 6 as the number of request headers 6 in the buffer cache usage definition table 3 are prepared (step 302). At this time, the size of the data storage area in the request header 6 is prepared according to the size set in the request header extension size in the buffer cache use definition table 3, but the size of the data storage area is the minimum required for reading and writing by the device. Round up to an integer multiple of the size (disk block size).

【0035】引き続き、ランダムメモリ装置2のランダ
ムアクセスメモリ上に用意された要求ヘッダ6を要求ヘ
ッダ管理テーブル5(図1参照)内の自由リストポイン
タに接続する(ステップ303)。要求ヘッダ6どうし
の接続は要求ヘッダ6内の要求ヘッダ接続リスト上のポ
インタを用いて行う。未使用バッファキャッシュの接続
は要求ヘッダ6を介して行う。つまり、要求ヘッダ管理
テーブル5内の自由リスト次ポインタに接続された一番
目の要求ヘッダ6の要求サイズを総バッファキャッシュ
サイズにセットし、ランダムアクセスメモリ内に存在す
る空きバッファヘッダ7全部を要求ヘッダ6内のバッフ
ァヘッダ7への前方ポインタにすべて接続する(ステッ
プ304)。以上の操作によって、アクセス要求発生に
てコンピュータは未使用バッファキャッシュ獲得のため
には、要求ヘッダ管理テーブル5上の自由リスト次ポイ
ンタの先頭に接続された要求ヘッダ6に接続されている
バッファキャッシュ8を使用することになる。要求ヘッ
ダ6に空きがない場合については後述する。また、要求
ヘッダ6の獲得は要求ヘッダ管理テーブル5の自由リス
ト前ポインタより行う。
Subsequently, the request header 6 prepared on the random access memory of the random memory device 2 is connected to the free list pointer in the request header management table 5 (see FIG. 1) (step 303). The request headers 6 are connected to each other by using the pointer on the request header connection list in the request header 6. The unused buffer cache is connected via the request header 6. That is, the request size of the first request header 6 connected to the free list next pointer in the request header management table 5 is set to the total buffer cache size, and all the empty buffer headers 7 existing in the random access memory are requested headers. Connect all forward pointers to buffer header 7 in 6 (step 304). By the above operation, in order to obtain an unused buffer cache when an access request is generated, the computer has a buffer cache 8 connected to the request header 6 connected to the head of the free list next pointer on the request header management table 5. Will be used. The case where the request header 6 has no space will be described later. The request header 6 is acquired from the pointer before the free list of the request header management table 5.

【0036】次に、読み込み動作および書き込み動作を
図4を用い説明する。読み込み動作が開始すると、要求
ヘッダ6を1つ取得する(ステップ401)。空き要求
ヘッダは要求ヘッダ管理テーブル5の要求ヘッダ6の自
由リスト前ポインタより取得する。そして、要求ヘッダ
6内に必要な記述として要求サイズと状態フラグへの使
用中フラグとのセットを行う(ステップ402)。引き
続き、要求ヘッダ6の接続を行う(ステップ403)。
すなわち、要求ヘッダ管理テーブル5への接続には、ラ
ンダムアクセスメモリに用意されたバッファキャッシュ
サイズを基準に行う。もし、要求サイズがバッファキャ
ッシュサイズより大きければ、要求ヘッダ管理テーブル
5内の大サイズ次ポインタから順に前ポインタに向けて
サイズが大きくなるように、すなわち、前ポインタに近
づくほど要求サイズが大きくなるように要求ヘッダ6を
接続する。また、要求サイズがバッファキャッシュサイ
ズより小さい場合には、小サイズポインタに接続する。
この場合には小サイズポインタ次ポインタから前ポイン
タに向けてサイズが小さくなるように要求ヘッダ6を接
続する。そして、必要なバッファキャッシュ8を準備す
る。つまり、要求ヘッダ管理テーブル5の自由リスト次
ポインタに接続された一番目の要求ヘッダ6にバッファ
キャッシュ8が存在するかどうかを要求ヘッダ6のサイ
ズにより調べ(ステップ404)、存在する場合には当
該要求ヘッダ6の状態フラブを使用中にセットし(ステ
ップ405)、必要な数を要求サイズから必要なブロッ
ク数だけ差し引いて(ステップ406)、必要個数分切
り離す(ステップ407)。最後まで、使用した場合に
は要求ヘッダ6の要求サイズを「0」にセットする。
Next, the read operation and the write operation will be described with reference to FIG. When the reading operation starts, one request header 6 is acquired (step 401). The empty request header is obtained from the pointer before the free list of the request header 6 of the request header management table 5. Then, the request size and the in-use flag to the status flag are set as a necessary description in the request header 6 (step 402). Then, the request header 6 is connected (step 403).
That is, the connection to the request header management table 5 is made based on the buffer cache size prepared in the random access memory. If the request size is larger than the buffer cache size, the size increases in order from the large size next pointer in the request header management table 5 toward the previous pointer, that is, the request size increases as it approaches the previous pointer. The request header 6 is connected to. If the requested size is smaller than the buffer cache size, it is connected to the small size pointer.
In this case, the request header 6 is connected so that the size decreases from the small size pointer next pointer to the previous pointer. Then, the necessary buffer cache 8 is prepared. That is, the size of the request header 6 is checked to see if the buffer cache 8 is present in the first request header 6 connected to the free list next pointer of the request header management table 5 (step 404). The status flag of the request header 6 is set to "in use" (step 405), the required number is subtracted from the request size by the required number of blocks (step 406), and the required number is separated (step 407). Until the end, when used, the request size of the request header 6 is set to "0".

【0037】ステップ404においてバッファキャッシ
ュ8が存在しない場合や必要個数分足りない場合には、
アクセス要求サイズに応じ(ステップ450)、要求ヘ
ッダ管理テーブル5のアクセス要求サイズがランダムメ
モリ装置2のランダムアクセスメモリに用意されたバッ
ファキャッシュサイズより大きい場合には、大サイズポ
インタ前ポインタすなわち保有するバッファヘッダ7の
数が大きい方から検索し(ステップ451)、アクセス
要求サイズがランダムアクセスメモリに用意されたバッ
ファキャッシュサイズより小さい場合には、小サイズポ
インタ前ポインタより検索する(ステップ452)。こ
の際、要求ヘッダ6内の状態フラブが使用中および修正
ありでないものを検索する。
In step 404, if the buffer cache 8 does not exist or the required number is insufficient,
According to the access request size (step 450), if the access request size of the request header management table 5 is larger than the buffer cache size prepared in the random access memory of the random memory device 2, the large size pointer previous pointer, that is, the buffer held The larger number of headers 7 is searched (step 451). If the access request size is smaller than the buffer cache size prepared in the random access memory, the small size pointer previous pointer is searched (step 452). At this time, the status header in the request header 6 is searched for one that is in use or has not been modified.

【0038】結果として、該当する要求ヘッダ6の状態
フラブに使用中フラブをセットし(ステップ453)、
必要なバッファキャッシュ8の分を要求ヘッダ6内のサ
イズより差し引き(ステップ454)、要求ヘッダ6か
らバッファキャッシュ8を切り離し(ステップ45
5)、該当する要求ヘッダ6に接続されたバッファヘッ
ダ7の数が余った場合には、上記初期化と同様に、要求
ヘッダ管理テーブル5の自由リスト次ポインタの先頭に
追加し接続する(ステップ457)。足りない場合には
ステップ451またはステップ452より次の要求ヘッ
ダ6を検索し必要なサイズ分のバッファヘッダ7を確保
する。
As a result, the in-use flag is set in the status flag of the corresponding request header 6 (step 453),
The required buffer cache 8 is subtracted from the size in the request header 6 (step 454), and the buffer cache 8 is separated from the request header 6 (step 45).
5) If the number of buffer headers 7 connected to the corresponding request header 6 is surplus, as in the case of the above initialization, the buffer header 7 is added to the head of the free list next pointer of the request header management table 5 and connected (step). 457). If there is not enough, the next request header 6 is retrieved from step 451 or step 452 to secure the buffer header 7 of the required size.

【0039】確保したバッファヘッダ7は要求ヘッダ6
内のバッファヘッダ7への前方ポインタに接続する(ス
テップ408)。バッファヘッダ7どうしの接続には図
2のバッファヘッダ7の次バッファヘッダへのポインタ
により接続する。ディスクメモリからの読み込み終了
(ステップ409)にて、当該要求ヘッダ6の使用中フ
ラブをリセットする。
The secured buffer header 7 is the request header 6
Connect to the forward pointer to the buffer header 7 inside (step 408). To connect the buffer headers 7 to each other, a pointer to the next buffer header of the buffer header 7 in FIG. 2 is used. Upon completion of reading from the disk memory (step 409), the in-use flag of the request header 6 is reset.

【0040】次に、書き込み動作を説明する。アクセス
に必要な要求ヘッダ6および空きバッファキャッシュの
取得は上記ステップ401乃至408およびステップ4
50乃至457に示す読み込み動作と同じである。よっ
て、ステップ409でのバッファキャッシュ8への読み
込み動作終了後に、バッファキャッシュ8への修正を行
い、要求ヘッダ6内の状態フラブ中に修正ありフラブを
セットし(ステップ410)、書き込み完了後には同修
正フラブをオフし(ステップ411)、使用中フラブを
リセットする(ステップ412)。
Next, the write operation will be described. To obtain the request header 6 and free buffer cache required for access, the above steps 401 to 408 and step 4 are performed.
This is the same as the read operation shown in 50 to 457. Therefore, after the read operation to the buffer cache 8 in step 409 is completed, the buffer cache 8 is modified, and the modified flag is set in the status flag in the request header 6 (step 410). The modified flab is turned off (step 411) and the in-use flab is reset (step 412).

【0041】要するに、この実施例1によれば、バッフ
ァキャッシュ使用定義テーブル3の上限値と下限値とに
よって、最多頻度のデータサイズのデータが優先的にバ
ッファキャッシュ8上に残るので、ランダムメモリ装置
2内のバッファキャッシュ8の再利用において、最多頻
度のバッファキャッシュサイズでのバッファキャッシュ
8の利用効率を向上できる。
In short, according to the first embodiment, the data of the most frequent data size is preferentially left on the buffer cache 8 due to the upper limit value and the lower limit value of the buffer cache use definition table 3, so that the random memory device is used. In the reuse of the buffer cache 8 in 2, the utilization efficiency of the buffer cache 8 with the most frequent buffer cache size can be improved.

【0042】この実施例1ではバッファヘッダ7と要求
ヘッダ6とを分離した例を図示して説明したが、両テー
ブルを同一のテーブルとして構成しても同様の効果が得
られる。
In the first embodiment, an example in which the buffer header 7 and the request header 6 are separated is shown and described, but the same effect can be obtained even if both tables are configured as the same table.

【0043】実施例2(請求項2に対応).この実施例
2はバッファキャッシュサイズより小さいサイズのファ
イルアクセス要求に対してはバッファキャッシュ8を使
用せず、アクセス要求サイズの記憶されたバッファキャ
ッシュ管理テーブルの空き領域を使用することを特徴す
るものであるので、この実施例2のバッファキャッシュ
管理方法に使用するコンピュータの構成要素には図1の
符号を使用して説明する。
Embodiment 2 (corresponding to claim 2). The second embodiment is characterized in that the buffer cache 8 is not used for a file access request having a size smaller than the buffer cache size, but the free area of the buffer cache management table in which the access request size is stored is used. Therefore, the components of the computer used in the buffer cache management method of the second embodiment will be described using the reference numerals of FIG.

【0044】つまり、図5は実施例2のバッファキャッ
シュ管理方法を示すフローチャートである。図5に示す
ように、この実施例2では、ユーザのアクセス要求ファ
イルサイズをバッファキャッシュ使用定義テーブル3内
の下限値と比較し(ステップ501)、下回る場合には
要求ヘッダ6に存在するデータ格納エリアをバッファキ
ャッシュ8として扱い、そのデータ格納エリアにデータ
を格納する。結果として、バッファキャッシュ8が小容
量のデータによって細分化されない。上回る場合すなわ
ち上限値と下限値との間にあるアクセス要求(ステップ
501)は図4に示したフローチャートに従う。この実
施例2のバッファキャッシュ管理方法では、アクセス要
求ファイルサイズがバッファキャッシュ使用定義テーブ
ル3内の下限値より下回る場合に要求ヘッダ6のデータ
格納エリアにデータを格納した後、要求ヘッダ6を確保
する(ステップ502)。つまり、要求ヘッダ6は要求
ヘッダ管理テーブル5の自由リスト前ポインタより1つ
獲得し、要求ヘッダ6の要求サイズにアクセスサイズを
記入し、状態フラグへ使用中フラグを書き込み、バッフ
ァヘッダ7への前方ポインタにはNULLを記入する
(ステップ503)。
That is, FIG. 5 is a flowchart showing the buffer cache management method of the second embodiment. As shown in FIG. 5, in the second embodiment, the access request file size of the user is compared with the lower limit value in the buffer cache usage definition table 3 (step 501), and if it is smaller, the data stored in the request header 6 is stored. The area is treated as the buffer cache 8 and the data is stored in the data storage area. As a result, the buffer cache 8 is not subdivided by a small amount of data. If it exceeds, that is, the access request between the upper limit value and the lower limit value (step 501) follows the flowchart shown in FIG. In the buffer cache management method according to the second embodiment, when the access request file size is smaller than the lower limit value in the buffer cache usage definition table 3, after storing the data in the data storage area of the request header 6, the request header 6 is secured. (Step 502). That is, one request header 6 is acquired from the pointer before the free list in the request header management table 5, the access size is entered in the request size of the request header 6, the busy flag is written in the status flag, and the forward header to the buffer header 7 is written. NULL is entered in the pointer (step 503).

【0045】その後、要求ヘッダ6の接続を行う(ステ
ップ504)。この接続操作は、要求ヘッダ管理テーブ
ル5への接続操作と、ディスクメモリデバイスに関する
ハッシュ待ち行列への接続操作とがある。要求ヘッダ管
理テーブル5への接続はランダムメモリ装置2のランダ
ムアクセスメモリに用意されたバッファキャッシュサイ
ズを基準に行う。すなわち、小ポインタに接続する。こ
の場合には小サイズポインタ次ポインタから前ポインタ
に向けてサイズが小さくなるように接続する。一方、ハ
ッシュ待ち行列への接続はバッファヘッダ7を用いず
に、要求ヘッダ6内のハッシュ待ち行列へのポインタに
接続する。すなわち、バッファキャッシュアクセスの際
の該当するデバイスブロックのバッファキャッシュアク
セスには、待ち行列ヘッダ111(図11参照)から検
索することができる。
After that, the request header 6 is connected (step 504). This connection operation includes a connection operation to the request header management table 5 and a connection operation to the hash queue related to the disk memory device. The connection to the request header management table 5 is made based on the buffer cache size prepared in the random access memory of the random memory device 2. That is, it is connected to the small pointer. In this case, the small size pointer is connected so that the size decreases from the next pointer to the previous pointer. On the other hand, the connection to the hash queue does not use the buffer header 7, but the pointer to the hash queue in the request header 6 is connected. That is, the buffer cache access of the corresponding device block in the buffer cache access can be searched from the queue header 111 (see FIG. 11).

【0046】引き続き、要求ヘッダ6の拡張エリアに読
み込み(ステップ505)、アクセスが読み込みか書き
込みかを判断し(ステップ506)、アクセスが書き込
みならばデータ書き込み後に当該要求ヘッダ6中の状態
フラグに修正を示すフラグをセットし(ステップ50
7)、書き込みスケジューリングを行う(ステップ50
8)。そして、読み込み、書き込み終了にて要求ヘッダ
6内の使用中フラグをオフにする(ステップ509)。
Subsequently, the extended area of the request header 6 is read (step 505), it is judged whether the access is a read or a write (step 506), and if the access is a write, the status flag in the request header 6 is corrected after writing the data. Is set (step 50
7) Write scheduling is performed (step 50).
8). Then, upon completion of reading and writing, the busy flag in the request header 6 is turned off (step 509).

【0047】実施例3(請求項3に対応).この実施例
3はバッファキャッシュ8の入れ替えが発生する大サイ
ズでのアクセス要求に対してはバッファキャッシュ8を
使用せずに入出力を行うことを特徴とするものであるの
で、この実施例2のバッファキャッシュ管理方法に使用
するコンピュータの構成要素には図1の符号を使用して
説明する。
Embodiment 3 (corresponding to claim 3). The third embodiment is characterized in that input / output is performed without using the buffer cache 8 for an access request of a large size in which replacement of the buffer cache 8 occurs. The components of the computer used in the buffer cache management method will be described using the reference numerals in FIG.

【0048】つまり、図6は実施例3のバッファキャッ
シュ管理方法を示すフローチャートである。図6に示す
ように、この実施例3では、ユーザのアクセス要求ファ
イルサイズがバッファキャッシュ使用定義テーブル3内
の上限値を上回るかを判断する(ステップ601)。上
回る場合にはバッファキャッシュ8を使用せず、ユーザ
バッファとの直接アクセスを行う。上回らない場合すな
わち上限値と下限値との間にあるアクセス要求は図4に
示したフローチャートに従う(ステップ601)。この
実施例3のバッファキャッシュ管理方法では、アクセス
要求ファイルサイズがバッファキャッシュ使用定義テー
ブル3内の上限値を上回る場合に、要求ヘッダ6を確保
する(ステップ602)。つまり、要求ヘッダ6は要求
ヘッダ管理テーブル5の自由リスト前ポインタより1つ
獲得し、この要求ヘッダ6への状態フラグに使用中フラ
グを書き込む(ステップ604)。
That is, FIG. 6 is a flowchart showing the buffer cache management method of the third embodiment. As shown in FIG. 6, in the third embodiment, it is determined whether the user's access request file size exceeds the upper limit value in the buffer cache usage definition table 3 (step 601). If it exceeds, the buffer cache 8 is not used and the user buffer is directly accessed. When it does not exceed, that is, the access request between the upper limit value and the lower limit value follows the flowchart shown in FIG. 4 (step 601). In the buffer cache management method of the third embodiment, the request header 6 is secured when the access request file size exceeds the upper limit value in the buffer cache usage definition table 3 (step 602). That is, one request header 6 is acquired from the pointer before the free list of the request header management table 5, and the busy flag is written in the status flag to this request header 6 (step 604).

【0049】その後、要求ヘッダ6の接続を行う(ステ
ップ604)。この接続は要求ヘッダ管理テーブル5の
小ポインタに接続する。これは、要求サイズが例えば4
500バイトであり、該当するディスクメモリデバイス
の最小アクセスサイズが1Kバイトの場合には、4Kバ
イト分をユーザ領域に直接読み込むことが可能である
が、最後の404バイト分は何らかのバッファに読み込
んだ後にユーザバッファへコピーすることが必要である
からである。しかし、要求アクセスサイズが当該ディス
クメモリデバイスのアクセスサイズの整数倍ならば、要
求バッファの獲得、接続および返却は不要である。
After that, the request header 6 is connected (step 604). This connection connects to the small pointer of the request header management table 5. This means that the requested size is 4
If it is 500 bytes and the minimum access size of the corresponding disk memory device is 1 Kbyte, it is possible to read 4 Kbytes directly into the user area, but after reading the last 404 bytes into some buffer, This is because it is necessary to copy to the user buffer. However, if the requested access size is an integral multiple of the access size of the disk memory device, acquisition, connection and return of the request buffer are unnecessary.

【0050】引き続き、アクセスが読み込みか書き込み
かを判断し(ステップ605)、読み込みならば要求ア
クセスサイズのデバイスアクセスサイズの整数倍分をユ
ーザエリアに直接読み込み(ステップ606)、余りの
部分は要求ヘッダ6の拡張エリアに読み込んだ後(ステ
ップ607)、必要なバイト数をユーザエリアにコピー
する(ステップ608)。逆に、アクセスが書き込みな
らば、要求アクセスサイズのデバイスアクセスサイズの
整数倍分をユーザエリアかディスクメモリに直接書き込
み(ステップ611)、余りの部分は要求ヘッダ6の拡
張エリアに相当するディスクエリアより一度読み込んだ
後(ステップ612)、その拡張エリア上での修正を行
った後にディスクメモリへの書き込みを行う(ステップ
613)。そして、書き込みおよび読み込みに使用した
要求ヘッダ6は、使用中フラグをオフにして(ステップ
613)、要求ヘッダ管理テーブル5の自由リストに返
却する(ステップ610)。結果として、この実施例2
によれば、最多頻度のバッファキャッシュ8が大容量サ
イズのアクセス要求サイズによって入れ換わることはな
い。
Subsequently, it is judged whether the access is a read or a write (step 605). If it is a read, an integral multiple of the device access size of the request access size is directly read into the user area (step 606), and the remaining part is the request header. After the data is read into the extension area 6 (step 607), the required number of bytes is copied to the user area (step 608). On the contrary, if the access is writing, an integral multiple of the device access size of the request access size is directly written to the user area or the disk memory (step 611), and the remaining portion is from the disk area corresponding to the extended area of the request header After being read once (step 612), correction is performed on the extended area and then writing to the disk memory is performed (step 613). Then, the request header 6 used for writing and reading turns off the in-use flag (step 613) and returns it to the free list of the request header management table 5 (step 610). As a result, this Example 2
According to the above, the most frequently used buffer cache 8 is not replaced by the large-capacity access request size.

【0051】実施例4(請求項4に対応).この実施例
4は図7に示すようにファイルの利用形態に応じバッフ
ァキャッシュの利用要否を選択することを特徴とするも
のであるので、この実施例4のバッファキャッシュ管理
方法に使用するコンピュータの構成要素には図1の符号
を使用して説明する。
Embodiment 4 (corresponding to claim 4). The fourth embodiment is characterized in that whether or not to use the buffer cache is selected according to the usage pattern of the file as shown in FIG. 7, so that the computer used in the buffer cache management method of the fourth embodiment is The components will be described using the reference numerals in FIG.

【0052】つまり、図7は実施例4のバッファキャッ
シュ管理方法を示すフローチャートである。図7に示す
ように、この実施例4では、ユーザがファイル使用開始
時(オープン動作)に、それ以降のファイルへのアクセ
スをバッファキャッシュ8を用いて行うか否かを選択し
て指定する。以降の読み込みおよび書き込みのアクセス
においては、ファイル定義テーブル4のバッファキャッ
シュ使用可否フラグを調べる(ステップ700)。この
バッファキャッシュ使用可否フラグがセットされている
ときは、バッファキャッシュ8を介したアクセスを行わ
ないことになる。つまり、上記実施例3のステップ60
2以降に示す大サイズアクセス要求時にバッファキャッ
シュ8を使用しないのと同じである。また、上記バッフ
ァキャッシュ使用可否フラグがオフしているときは、図
4に示したフローチャートに従う(ステップ701)。
結果として、この実施例4によれば、バッファキャッシ
ュ使用の要否を制御できる。
That is, FIG. 7 is a flowchart showing the buffer cache management method of the fourth embodiment. As shown in FIG. 7, in the fourth embodiment, when the user starts using the file (open operation), the user selects and specifies whether or not the subsequent access to the file is performed using the buffer cache 8. In subsequent read and write accesses, the buffer cache availability flag of the file definition table 4 is checked (step 700). When the buffer cache availability flag is set, the access via the buffer cache 8 is not performed. That is, step 60 in the third embodiment described above.
This is the same as not using the buffer cache 8 at the time of a large size access request shown in 2 and after. When the buffer cache availability flag is off, the flow chart shown in FIG. 4 is followed (step 701).
As a result, according to the fourth embodiment, the necessity of using the buffer cache can be controlled.

【0053】実施例5(請求項5に対応).この実施例
5は図8に示すようにバッファキャッシュ8の二次記録
媒体としての不揮発性メモリ装置1のディスクメモリへ
の更新内容を反映するフラッシュ動作を書き込み動作ご
とに行うことを特徴とするものであるので、この実施例
5のバッファキャッシュ管理方法に使用するコンピュー
タの構成要素には図1の符号を使用して説明する。
Embodiment 5 (corresponding to claim 5). The fifth embodiment is characterized in that, as shown in FIG. 8, a flash operation that reflects the update content to the disk memory of the non-volatile memory device 1 as the secondary recording medium of the buffer cache 8 is performed for each write operation. Therefore, the components of the computer used in the buffer cache management method of the fifth embodiment will be described using the reference numerals of FIG.

【0054】つまり、図8は実施例5のバッファキャッ
シュ管理方法を示すフローチャートである。図8に示す
ように、この実施例5では、バッファキャッシュ8のフ
ラッシュ動作は要求ヘッダ6を要求ヘッダ管理テーブル
5内の大サイズ次ポインタおよび小サイズ次ポインタよ
り接続されている要求ヘッダ6を検索し(ステップ80
0)、要求ヘッダ6内の状態フラグに修正ありフラグが
セットされているかを判断する(ステップ801)。そ
して、修正ありフラグがセットされていない場合には処
理を行わず(ステップ802)、修正ありフラグがセッ
トされている場合にはフラッシュ動作を行い、要求ヘッ
ダ6内へのバッファヘッダ7への前方ポインタに接続さ
れたバッファキャッシュ8をまとめてディスクメモリに
書き込み(ステップ803)、書き込む終了にて該当す
る要求ヘッダ6の状態フラグから修正フラグをオフする
(ステップ804)。結果として、この実施例5によれ
ば、フラッシュ動作中の電源断などによるシステムダウ
ン時に、データ損失の影響を局所的なものとして小さく
することができる。
That is, FIG. 8 is a flowchart showing the buffer cache management method of the fifth embodiment. As shown in FIG. 8, in the fifth embodiment, the flush operation of the buffer cache 8 retrieves the request header 6 from the large-sized next pointer and the small-sized next pointer in the request header management table 5 to find the connected request header 6. (Step 80
0), it is determined whether the status flag in the request header 6 is set with the modified flag (step 801). If the modified flag is not set, the process is not performed (step 802). If the modified flag is set, the flush operation is performed to forward the buffer header 7 into the request header 6. The buffer caches 8 connected to the pointers are collectively written in the disk memory (step 803), and at the end of writing, the correction flag is turned off from the status flag of the corresponding request header 6 (step 804). As a result, according to the fifth embodiment, it is possible to locally reduce the influence of data loss when the system is down due to power failure during the flash operation.

【0055】実施例6(請求項6に対応).この実施例
6は図9に示すように、バッファキャッシュ8の不揮発
性メモリ装置1のディスクメモリへの更新内容を反映す
るフラッシュ動作をファイルごとに自動的な一括フラッ
シュか操作フラッシュを操作者の指定で選択することを
特徴とするものであるので、この実施例6のバッファキ
ャッシュ管理方法に使用するコンピュータの構成要素に
は図1の符号を使用して説明する。
Embodiment 6 (corresponding to claim 6). In the sixth embodiment, as shown in FIG. 9, the operator specifies a flash operation that reflects the update contents of the buffer cache 8 to the disk memory of the non-volatile memory device 1 automatically for each file or an operation flash. 1 is used for the buffer cache management method of the sixth embodiment, and the description will be given using the reference numerals of FIG.

【0056】つまり、図9は実施例6のバッファキャッ
シュ管理方法を示すフローチャートである。図9に示す
ように、この実施例6では、ユーザがファイル使用開始
時(オープン動作)に、それ以降のファイルへの書き込
み動作によって発生する修正されたバッファキャッシュ
8のフラッシュ動作を選択して指定する。一括でフラッ
シュするなら、ファイル定義テーブル4内のsyncフ
ラグを「0」にリセットし、不要なら「1」にセットす
る。つまり、ファイルアクセス時にファイル定義テーブ
ル4のsyncフラグを参照し(ステップ900)、s
yncフラグが「1」にセットされていれば上記実施例
1の書き込み動作にて要求ヘッダ6を確保した後に要求
ヘッダ6内のsync可否フラグを「0」にセットする
(ステップ902)。結果として、この実施例6によれ
ば、ユーザがフラッシュ動作のタイミングを制御でき、
コンピュータでの一括フラッシュ動作に対する負荷が軽
減し、また、ユーザが書き込み動作完了にてフラッシュ
動作を指示することができる。
That is, FIG. 9 is a flowchart showing the buffer cache management method of the sixth embodiment. As shown in FIG. 9, in the sixth embodiment, when the user starts the use of the file (open operation), the user selects and specifies the modified flush operation of the buffer cache 8 caused by the subsequent write operation to the file. To do. If the flash is performed in a batch, the sync flag in the file definition table 4 is reset to "0", and if not necessary, it is set to "1". That is, at the time of file access, the sync flag of the file definition table 4 is referenced (step 900), and
If the sync flag is set to "1", the sync header flag in the request header 6 is set to "0" after the request header 6 is secured by the write operation of the first embodiment (step 902). As a result, according to the sixth embodiment, the user can control the timing of the flash operation,
The load on the batch flash operation in the computer is reduced, and the user can instruct the flash operation when the write operation is completed.

【0057】この実施例6の動作の結果として、上記実
施例5によるバッファキャッシュフラッシュ動作におい
て要求ヘッダ6にセットされたフラグチェックを行う。
つまり、上記フラグが「1」にセットされているときは
要求ヘッダ6が管理するバッファキャッシュ8について
はフラッシュ動作を一括では行わないことになる。この
場合、例えばユーザが明示的にフラッシュ時期とファイ
ルをオペレーティングシステムに指示するなどの方法が
考えられる。
As a result of the operation of the sixth embodiment, the flag check set in the request header 6 in the buffer cache flush operation according to the fifth embodiment is checked.
That is, when the flag is set to "1", the buffer cache 8 managed by the request header 6 is not collectively flushed. In this case, for example, a method in which the user explicitly indicates the flash timing and the file to the operating system can be considered.

【0058】実施例7(請求項7に対応).この実施例
7は図10に示すようにバッファキャッシュ8の枯渇時
にはバッファキャッシュ8の使用を停止することを特徴
とするものであるので、この実施例7のバッファキャッ
シュ管理方法に使用するコンピュータの構成要素にも図
1の符号を使用して説明する。
Embodiment 7 (corresponding to claim 7). Since the seventh embodiment is characterized in that the use of the buffer cache 8 is stopped when the buffer cache 8 is exhausted as shown in FIG. 10, the configuration of the computer used in the buffer cache management method of the seventh embodiment is as follows. The elements will be described using the reference numerals of FIG.

【0059】つまり、図10は実施例7のバッファキャ
ッシュ管理方法を示すフローチャートである。図10に
示すように、この実施例7では、空きバッファキャッシ
ュ8の枯渇は実施例1で説明したように、要求ヘッダ管
理テーブル5に接続された要求ヘッダ自由リスト次ポイ
ンタの一番目の要求ヘッダ6に接続されたバッファヘッ
ダ7が無い場合、または、大サイズポインタおよび小サ
イズポインタに接続されたすべての要求ヘッダ6の使用
中フラグがセットされた時に発生する。その際の処理は
ステップ1002以降の処理を行うことになり、その処
理は実施例6のバッファキャッシュ8を使用しない場合
の処理と同じである。空きバッファキャッシュ8が見つ
かった場合には、実施例1と同じ処理となる(ステップ
1001)。結果として、この実施例7によれば、バッ
ファキャッシュ8が枯渇したときの不特定待ち時間をな
くすことができる。
That is, FIG. 10 is a flowchart showing the buffer cache management method of the seventh embodiment. As shown in FIG. 10, in the seventh embodiment, the exhaustion of the free buffer cache 8 is the first request header of the request header free list next pointer connected to the request header management table 5 as described in the first embodiment. This occurs when there is no buffer header 7 connected to 6 or when the busy flags of all request headers 6 connected to the large size pointer and the small size pointer are set. The processing at that time is to perform the processing from step 1002 onward, and the processing is the same as the processing when the buffer cache 8 of the sixth embodiment is not used. If the free buffer cache 8 is found, the same processing as in the first embodiment is performed (step 1001). As a result, according to the seventh embodiment, the unspecified waiting time when the buffer cache 8 is exhausted can be eliminated.

【0060】[0060]

【発明の効果】第1の発明によれば、アクセス要求サイ
ズをバッファキャッシュ管理テーブルに記憶し、このア
クセス要求サイズをバッファキャッシュ再利用時の基準
とするようにしたので、コンピュータ内のバッファキャ
ッシュの再利用において、最多頻度のデータサイズによ
るデータが優先的にバッファキャッシュ上に残存し、最
多頻度のバッファキャッシュサイズでのバッファキャッ
シュの利用効率が向上するという効果がある。
According to the first aspect of the present invention, the access request size is stored in the buffer cache management table, and this access request size is used as a reference when reusing the buffer cache. In the reuse, the data with the most frequent data size remains preferentially in the buffer cache, and the effect of using the buffer cache with the most frequent buffer cache size is improved.

【0061】第2の発明によれば、小サイズファイルへ
のアクセス要求に対し、バッファキャッシュ管理デーブ
ルの空き領域に小サイズファイルのバッファキャッシュ
内のデータを保存するようにしたので、コンピュータ内
のバッファキャッシュが小容量データによって細分化さ
れることを防止でき、最多頻度のバッファキャッシュサ
イズでのバッファキャッシュの利用効率が向上するとい
う効果がある。
According to the second invention, the data in the buffer cache of the small size file is stored in the free area of the buffer cache management table in response to the access request to the small size file. There is an effect that the cache can be prevented from being fragmented by a small amount of data, and the use efficiency of the buffer cache with the most frequent buffer cache size can be improved.

【0062】第3の発明によれば、大容量のアクセス要
求に対し、バッファキャッシュをバイパスするアクセス
を行うようにしたので、コンピュータ内での最多要求頻
度のバッファキャッシュが大容量のアクセス要求によっ
て入れ換わるのを防止でき、最多頻度のバッファキャッ
シュサイズでのバッファキャッシュの利用効率が向上す
るという効果がある。
According to the third aspect of the present invention, since a large-capacity access request is accessed by bypassing the buffer cache, the buffer cache with the highest request frequency in the computer is inserted by the large-capacity access request. It is possible to prevent the replacement and to improve the utilization efficiency of the buffer cache with the most frequent buffer cache size.

【0063】第4の発明によれば、ファイルごとにバッ
ファキャッシュを使用するか否かを選択するようにした
ので、バッファキャッシュ使用の要否を制御でき、例え
ば高信頼なファイルに対してはバッファキャッシュを使
用しないなどの細かい制御が可能となるという効果があ
る。
According to the fourth aspect of the present invention, whether or not to use the buffer cache is selected for each file. Therefore, the necessity of using the buffer cache can be controlled. For example, for a highly reliable file, the buffer cache can be used. This has the effect of enabling fine control such as not using the cache.

【0064】第5の発明によれば、バッファキャッシュ
のフラッシュ動作がまとまった書き込みごとに行われる
ようにしたので、フラッシュ動作中の電源断などによる
システムダウン時に、データ損失の影響が局所化される
という効果がある。
According to the fifth aspect of the invention, since the flush operation of the buffer cache is performed every write operation, the influence of data loss is localized at the time of system down due to power interruption during the flush operation. There is an effect.

【0065】第6の発明によれば、ユーザにて一括フラ
ッシュ動作かファイルタイミングかを指定するようにし
たので、ユーザがフラッシュ動作のタイミングを制御す
ることができ、一括フラッシュ動作に対する負荷が軽減
でき、また、タイミングのよいフラッシュ動作が提供で
きるという効果がある。
According to the sixth aspect of the invention, since the user specifies the batch flash operation or the file timing, the user can control the flash operation timing, and the load on the batch flash operation can be reduced. Moreover, there is an effect that a flash operation with good timing can be provided.

【0066】第7の発明によれば、バッファキャッシュ
枯渇時のバッファキャッシュの使用を停止するようにし
たので、バッファキャッシュ枯渇時の不特定待ち時間を
なくすことができるという効果がある。
According to the seventh invention, since the use of the buffer cache is stopped when the buffer cache is exhausted, it is possible to eliminate the unspecified waiting time when the buffer cache is exhausted.

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

【図1】 実施例1に使用するコンピュータを示す構成
図である。
FIG. 1 is a configuration diagram illustrating a computer used in a first embodiment.

【図2】 実施例1のテーブルを示す構成図である。FIG. 2 is a configuration diagram showing a table according to the first embodiment.

【図3】 実施例1の初期動作を示すフローチャートで
ある。
FIG. 3 is a flowchart showing an initial operation of the first embodiment.

【図4】 実施例1のアクセス動作を示すフローチャー
トである。
FIG. 4 is a flowchart showing an access operation according to the first embodiment.

【図5】 実施例2を示すフローチャートである。FIG. 5 is a flowchart showing a second embodiment.

【図6】 実施例3を示すフローチャートである。FIG. 6 is a flowchart showing a third embodiment.

【図7】 実施例4を示すフローチャートである。FIG. 7 is a flowchart showing a fourth embodiment.

【図8】 実施例5を示すフローチャートである。FIG. 8 is a flowchart showing a fifth embodiment.

【図9】 実施例6を示すフローチャートである。FIG. 9 is a flowchart showing a sixth embodiment.

【図10】 実施例7を示すフローチャートである。FIG. 10 is a flowchart showing an example 7.

【図11】 従来例を示す構成図である。FIG. 11 is a configuration diagram showing a conventional example.

【符号の説明】[Explanation of symbols]

1 ランダムメモリ装置、2 不揮発性メモリ装置、3
バッファキャッシュ使用定義テーブル、4 ファイル
定義テーブル、5 要求ヘッダ管理テーブル、6 要求
ヘッダ、7 バッファヘッダ 8 バッファキャッシ
ュ、9 ディスクブロック、100 自由リスト、10
1 自由リストヘッダ、102 自由リストの前方ポイ
ンタ、103 自由リストの後方ポインタ、110 待
ち行列リスト、111 待ち行列ヘッダ。
1 random memory device, 2 non-volatile memory device, 3
Buffer cache usage definition table, 4 file definition table, 5 request header management table, 6 request header, 7 buffer header, 8 buffer cache, 9 disk blocks, 100 free list, 10
1 Free list header, 102 Free list forward pointer, 103 Free list backward pointer, 110 Queue list, 111 Queue header.

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、アクセス要求
サイズをバッファキャッシュ管理テーブルに記憶するこ
とを特徴とするコンピュータのバッファキャッシュ管理
方法。
1. A buffer cache management method for managing data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system, wherein an access request size is stored in a buffer cache management table. A method for managing a buffer cache of a computer characterized by the above.
【請求項2】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、バッファキャ
ッシュサイズより小さいサイズのファイルアクセス要求
に対してはバッファキャッシュを使用せず、アクセス要
求サイズの記憶されたバッファキャッシュ管理テーブル
の空き領域を使用することを特徴とするコンピュータの
バッファキャッシュ管理方法。
2. A buffer cache management method for managing data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system, wherein a file access request having a size smaller than the buffer cache size is requested. A buffer cache management method for a computer, which does not use the buffer cache, but uses a free area of a buffer cache management table in which the access request size is stored.
【請求項3】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、バッファキャ
ッシュの入れ替えが発生する大サイズでのアクセス要求
に対してはバッファキャッシュを使用せずに入出力を行
うことを特徴とするコンピュータのバッファキャッシュ
管理方法。
3. A buffer cache management method for managing data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system in a large size in which replacement of the buffer cache occurs. A buffer cache management method for a computer, which performs input / output without using a buffer cache for an access request.
【請求項4】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、ファイルの利
用形態に応じバッファキャッシュの利用要否を選択する
ことを特徴とするコンピュータのバッファキャッシュ管
理方法。
4. A buffer cache management method for managing data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system. A method for managing a buffer cache of a computer, characterized by selecting whether or not.
【請求項5】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、バッファキャ
ッシュの二次記録媒体への更新内容を反映するフラッシ
ュ動作を書き込み動作ごとに行うことを特徴とするコン
ピュータのバッファキャッシュ管理方法。
5. A buffer cache management method for managing a data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system, the update contents of the buffer cache to a secondary recording medium. A buffer cache management method for a computer, characterized in that a flash operation that reflects is performed for each write operation.
【請求項6】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、オペレーティ
ングシステムによる一括フラッシュ動作かユーザ指定に
よるフラッシュ動作かを選択することを特徴とするコン
ピュータのバッファキャッシュ管理方法。
6. A buffer cache management method for managing data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system, wherein a batch flash operation by the operating system or a flash specified by a user is performed. A method for managing a buffer cache of a computer, which is characterized by selecting whether to operate.
【請求項7】 コンピュータの不揮発性メモリとランダ
ムアクセスメモリ上に用意されたバッファキャッシュと
の間のデータ転送をオペレーティングシステムで管理す
るバッファキャッシュ管理方法において、バッファキャ
ッシュの枯渇時にはバッファキャッシュの使用を停止す
ることを特徴とするコンピュータのバッファキャッシュ
管理方法。
7. A buffer cache management method for managing data transfer between a non-volatile memory of a computer and a buffer cache prepared on a random access memory by an operating system, wherein use of the buffer cache is stopped when the buffer cache is exhausted. A method for managing a buffer cache of a computer characterized by:
JP6102766A 1994-05-17 1994-05-17 Buffer cache managing method for computer Pending JPH07311710A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6102766A JPH07311710A (en) 1994-05-17 1994-05-17 Buffer cache managing method for computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6102766A JPH07311710A (en) 1994-05-17 1994-05-17 Buffer cache managing method for computer

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP11234392A Division JP2000089985A (en) 1999-08-20 1999-08-20 Method for managing buffer cache of computer

Publications (1)

Publication Number Publication Date
JPH07311710A true JPH07311710A (en) 1995-11-28

Family

ID=14336308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6102766A Pending JPH07311710A (en) 1994-05-17 1994-05-17 Buffer cache managing method for computer

Country Status (1)

Country Link
JP (1) JPH07311710A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549982B1 (en) 1999-03-05 2003-04-15 Nec Corporation Buffer caching method and apparatus for the same in which buffer with suitable size is used
JP2005501355A (en) * 2001-08-27 2005-01-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Caching method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549982B1 (en) 1999-03-05 2003-04-15 Nec Corporation Buffer caching method and apparatus for the same in which buffer with suitable size is used
JP2005501355A (en) * 2001-08-27 2005-01-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Caching method

Similar Documents

Publication Publication Date Title
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
JP3830886B2 (en) Method for storing data in nonvolatile memory
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
US6526472B2 (en) Access control method, access control apparatus and computer readable memory storing access control program
US7213110B2 (en) Destaging method for storage apparatus system, and disk control apparatus, storage apparatus system and program
JP3264319B2 (en) Bus bridge
JPS5845611A (en) Peripheral memory system
JPH08314794A (en) Method and system for shortening wait time of access to stable storage device
JPH07152491A (en) Virtual disk system
US20090327624A1 (en) Information processing apparatus, controlling method thereof, and program
US6065099A (en) System and method for updating the data stored in a cache memory attached to an input/output system
US11669264B2 (en) Method for improving trim command response time
US20210294738A1 (en) Storage apparatus, control method, and storage system
TW200417857A (en) Allocating cache lines
JPH06332625A (en) Data multiplexing method for file and data processing system
JP4727800B2 (en) Digital data subsystem including a directory for efficiently providing format information about stored records
JPH07210439A (en) Storage device
JPH07311710A (en) Buffer cache managing method for computer
JP2000305818A (en) Memory fragment elimination (defragmentation) of chip card
JP3882461B2 (en) Storage device system and backup acquisition method thereof
JP3903678B2 (en) Computer system dump processing method
JP2004206424A (en) Data processing device and data transfer method for data processing device
JP4076316B2 (en) Data writing system using non-volatile cache memory
JP2000089985A (en) Method for managing buffer cache of computer
JP6860722B2 (en) Memory system control method