JPH06342401A - Secondary memory controller - Google Patents

Secondary memory controller

Info

Publication number
JPH06342401A
JPH06342401A JP5009723A JP972393A JPH06342401A JP H06342401 A JPH06342401 A JP H06342401A JP 5009723 A JP5009723 A JP 5009723A JP 972393 A JP972393 A JP 972393A JP H06342401 A JPH06342401 A JP H06342401A
Authority
JP
Japan
Prior art keywords
buffer
secondary storage
storage device
access request
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5009723A
Other languages
Japanese (ja)
Other versions
JPH0799510B2 (en
Inventor
Takashige Kubo
隆重 久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5009723A priority Critical patent/JPH0799510B2/en
Publication of JPH06342401A publication Critical patent/JPH06342401A/en
Publication of JPH0799510B2 publication Critical patent/JPH0799510B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To enable effective utilization by improving the hit rate of a buffer memory for storing the partial data of a secondary storage device. CONSTITUTION:A buffer storage device 40 stores the data blocks of secondary storage devices 70 and 71. When an access request 1 is inputted, a buffer control circuit 60 refers to a buffer managing table 30 and when there is any relevant block in a buffer 40, it is sent to a data line 2. When there is not such a block, the block is transferred from the secondary storage device to the buffer 40, and the secondary memory address or the like is registered on the table 30. On the other hand, a sequential access detection circuit 10 inputs the access request 1 as well and predicts whether the buffer is accessed continuously even after the address of the access request or not and when the prediction is made successful, the secondary memory address or the like is registered on a first read control table 12. A first read control circuit 50 first reads the relevant block from the secondary storage device to the buffer 40 while referring to the table 12.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は二次記憶制御装置に係
り、特にバッファ記憶を用いた二次記憶装置の制御装置
に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a secondary storage control device, and more particularly to a control device for a secondary storage device using buffer storage.

【0002】[0002]

【従来の技術】磁気ディスク記憶装置のように、比較的
遅いアクセス機構をもつ二次記憶装置では、従来、アク
セスアームを効率良く動作させることにより、性能の実
質的な向上を図っている。一方、主記憶装置と同様に、
二次記憶装置でもバッファ記憶装置を利用すると、以後
にアクセスされる領域のデータを高速のバッファ記憶に
予め読み出しておくことにより、その領域に対して実際
にアクセス要求が出された場合は高速なサービスが可能
である。この種の従来技術としては、例えば特開昭55
−157056号公報に記載のディスクキャッシュ制御
方式が挙げられる。
2. Description of the Related Art In a secondary storage device having a relatively slow access mechanism, such as a magnetic disk storage device, conventionally, the access arm has been efficiently operated to substantially improve the performance. On the other hand, like the main memory,
If the buffer storage device is also used in the secondary storage device, the data of the area to be accessed thereafter is read into the high-speed buffer storage in advance, so that when the access request is actually issued to that area, Service is possible. As a conventional technique of this kind, for example, Japanese Patent Laid-Open No.
The disk cache control method described in Japanese Patent Publication No. 157056 is cited.

【0003】[0003]

【発明が解決しようとする課題】バッファ記憶装置を有
効に用いて平均アクセス時間を短縮するには、バッファ
のヒット率を上げる必要がある。このためには、アクセ
スされる確率の高い領域をできるだけ適確に予測して、
使用直前に二次記憶装置からバッファ記憶に読み出し、
使用可能性のなくなった領域を二次記憶装置に戻して、
そのバッファを解放することが必要である。
In order to effectively use the buffer storage device and shorten the average access time, it is necessary to increase the hit rate of the buffer. To do this, predict the areas that are likely to be accessed as accurately as possible,
Just before use, read from secondary storage to buffer storage,
Return the unusable area to secondary storage,
It is necessary to free that buffer.

【0004】本発明の目的は、動作の遅いアクセス機構
をもつ二次記憶装置に対して、物理的に近いアドレスに
対する要求の行われることを自動的に予測する手段を設
け、アクセスの予測される連続するアドレスに対する別
個の要求を単一の要求として発行し、入出力のオーバヘ
ッドを減少させると同時にバッファ記憶も有効に使用す
ることを可能にした二次記憶制御装置を提供することに
ある。
An object of the present invention is to provide a means for automatically predicting that a request for a physically close address will be made to a secondary storage device having an access mechanism with a slow operation, and the access will be predicted. It is an object of the present invention to provide a secondary storage controller which can issue separate requests for consecutive addresses as a single request, reduce the input / output overhead, and at the same time effectively use buffer storage.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、磁気ディスク等の二次記憶装置に対する
アクセス要求を処理、実行する二次記憶制御装置におい
て、上記二次記憶装置の一部のデータを格納しておくた
めのバッファメモリと、アクセス要求のデータが上記バ
ッファメモリに格納されていると、該バッファメモリに
対してアクセスを行うバッファ制御手段と、上記二次記
憶装置のデータを先読みして、上記バッファメモリに格
納する先読み制御手段と、現アクセス要求に対し、最近
受付けた複数のアクセス要求を調べて、現アクセス要求
のアドレス以降のデータが引き続いてアクセスされるか
どうか予測し、アクセスされる可能性があると判断する
と上記先読み制御手段を起動する順アクセス検出手段と
を有することを特徴とする。
In order to achieve the above object, the present invention provides a secondary storage control device for processing and executing an access request to a secondary storage device such as a magnetic disk. A buffer memory for storing a part of the data, and a buffer control unit for accessing the buffer memory when the access request data is stored in the buffer memory, and the secondary storage device. The prefetch control means for prefetching the data and storing it in the buffer memory, and a plurality of recently accepted access requests for the current access request are checked to see if the data after the address of the current access request is continuously accessed. It is characterized by having a forward access detection means for activating the prefetch control means when it is predicted and judged to be accessed. To.

【0006】また、上記順アクセス検出手段は、現アク
セス要求のアドレスに隣合うものが上記最近受付けた複
数のアクセス要求の中に含まれているかどうかチェック
することにより上記予測を行うことを特徴とする。
Further, the forward access detecting means is characterized in that the prediction is performed by checking whether or not the address adjacent to the address of the current access request is included in the plurality of recently received access requests. To do.

【0007】[0007]

【作用】二次記憶装置内には多くのファイルが記憶され
ており、それぞれ連続した領域にあることが多く、それ
らのファイルがアドレス順にアクセスされる順アクセス
ならば、使用順序を予測することが可能である。この順
アクセスが開始されたことを検出し、それ以後順アクセ
スされると予測される領域をバッファへ先読みしておく
ことにより、以後の順アクセス要求にはバッファからサ
ービスすることができる。特に、最近受付けた複数のア
クセス要求に基づいて順アクセスを予測することによ
り、例えば、二次記憶装置が複数の処理装置に共有さ
れ、各処理装置からのアクセスが混在しているような場
合であって、ある処理装置からのアクセス要求が連続し
たアドレスに対するものであるような場合(この場合、
二次記憶装置側からは、連続するアドレスが飛び飛びに
来るように見える)にも、その連続するデータを効率的
に予測でき、バッファの利用効率を高めることが可能と
なる。
A large number of files are stored in the secondary storage device, and they are often in continuous areas. If these files are accessed in the order of address, the order of use can be predicted. It is possible. By detecting that the sequential access is started and prefetching the area predicted to be sequentially accessed thereafter into the buffer, it is possible to service the subsequent sequential access request from the buffer. Particularly, by predicting the sequential access based on a plurality of recently received access requests, for example, in the case where the secondary storage device is shared by a plurality of processing devices and the access from each processing device is mixed. If the access request from a certain processing device is for consecutive addresses (in this case,
From the side of the secondary storage device, continuous addresses seem to come and go), but the continuous data can be predicted efficiently, and the buffer utilization efficiency can be improved.

【0008】[0008]

【実施例】以下、本発明を図示の一実施例を用いて詳細
に説明する。
The present invention will be described in detail below with reference to an embodiment shown in the drawings.

【0009】図1は本発明の一実施例のブロック図であ
る。図において、70と71は磁気ディスク記憶装置の
ような二次記憶装置であり、40は二次記憶装置中の一
部のデータブロックを予め記憶しておく高速のバッファ
記憶装置である。この二次記憶装置70,71とバッフ
ァ記憶装置40間のブロック転送制御を、先読み制御回
路50とバッファ制御回路60が司どる。バッファ記憶
装置40は基本サイズのn個のバッファ1〜nで構成さ
れている。バッファ管理テーブル30は、バッファ記憶
装置40に読み出されたブロックを管理するもので、そ
の各エントリはバッファ記憶装置40の各基本バッファ
1〜nに対応している。バッファ管理テーブル30の1
エントリは、該当バッファに読み出された二次記憶アド
レス(ディスク・アドレス)DA、先読みフラグLA、
使用未完了フラグUおよび空きエントリの表示ビットF
よりなる。順アクセス検出回路10は二次記憶装置のア
クセス要求に対し、そのアドレス以降が順アクセス可能
か否かを予測する回路であり、これには最近受付けたm
個のアクセス要求をスタックしておくレジスタ等が具備
されている。バッファ使用完了検出回路11はアクセス
要求を監視して、個々のバッファの使用が完了したこと
を検出する回路である。個々のバッファの使用が完了し
たことは、各バッファ中の最終ブロックがアクセスされ
たことを検出することで認識できる。
FIG. 1 is a block diagram of an embodiment of the present invention. In the figure, reference numerals 70 and 71 are secondary storage devices such as a magnetic disk storage device, and 40 is a high-speed buffer storage device for storing some data blocks in the secondary storage device in advance. The block transfer control between the secondary storage devices 70 and 71 and the buffer storage device 40 is controlled by the prefetch control circuit 50 and the buffer control circuit 60. The buffer storage device 40 is composed of n buffers 1 to n each having a basic size. The buffer management table 30 manages the blocks read to the buffer storage device 40, and each entry thereof corresponds to each basic buffer 1 to n of the buffer storage device 40. 1 of the buffer management table 30
The entry is the secondary storage address (disk address) DA read in the corresponding buffer, the prefetch flag LA,
Unused flag U and free entry display bit F
Consists of. The forward access detection circuit 10 is a circuit for predicting, in response to an access request from the secondary storage device, whether or not the address and subsequent addresses can be forward accessed.
A register and the like for stacking individual access requests are provided. The buffer use completion detection circuit 11 is a circuit that monitors the access request and detects that the use of each buffer is completed. Completion of use of individual buffers can be recognized by detecting that the last block in each buffer has been accessed.

【0010】先読み制御テーブル12は、順アクセスが
予想される領域毎に、二次記憶装置70,71からバッ
ファ記憶装置40へ所望のデータブロックを先読みする
のに必要な情報を登録しておくメモリである。この先読
み制御テーブル12の1エントリはDA、BT、IOT
およびSZよりなる。DAは順アクセスが行われると予
測される先頭の二次記憶アドレスで、入出力要求(アク
セス要求)があった時、順アクセス検出回路10により
検索されて登録される。BTはバッファ記憶装置40内
の先読みデータの滞留時間を表わす。言い換えると、該
当バッファに含まれるデータが先読みされてから利用完
了するまでの時間であり、該データがバッファへ読み込
まれてから先読み制御回路50により一定時間間隔毎に
使用時間が加算されて更新される。IOTは二次記憶装
置からバッファへデータを読み出すまでの入力時間を示
し、先読み制御回路50によってこの時間を監視してお
き登録される。SZは先読みのバッファ・サイズであ
り、先読みサイズ決定回路20により作られ、信号線1
02を介してセットされる。信号線101は先読みサイ
ズ決定回路20が先読み制御テーブル12からBT、I
OTを入力するための線である。先読みサイズ決定回路
20は先読みのバッファ・サイズを決定する回路で、は
じめは予め定められたサイズで初期値をセットするが、
その後はBT、IOT等に従って次に読むべき最適バッ
ファ・サイズを決めてセットする。
The prefetch control table 12 is a memory for registering information necessary for prefetching a desired data block from the secondary storage devices 70 and 71 to the buffer storage device 40 for each area where forward access is expected. Is. One entry of the prefetch control table 12 is DA, BT, IOT.
And SZ. DA is the head secondary storage address that is predicted to be accessed sequentially, and is searched and registered by the sequential access detection circuit 10 when an input / output request (access request) is made. BT represents the retention time of the prefetch data in the buffer storage device 40. In other words, it is the time from the pre-reading of the data contained in the corresponding buffer to the completion of the use, and the pre-reading control circuit 50 adds and updates the usage time at regular time intervals. It IOT indicates the input time until the data is read from the secondary storage device to the buffer, and this time is monitored and registered by the prefetch control circuit 50. SZ is a buffer size for read-ahead, which is created by the read-ahead size determination circuit 20, and
Set via 02. For the signal line 101, the prefetch size determination circuit 20 uses the prefetch control table 12 to read BT, I
It is a line for inputting OT. The read-ahead size determination circuit 20 is a circuit that determines the buffer size for read-ahead, and initially sets an initial value with a predetermined size.
After that, the optimum buffer size to be read next is determined and set according to BT, IOT, or the like.

【0011】次に、図1の動作を説明する。いま、中央
処理装置より二次記憶装置へのアクセス要求が信号線1
に出されたとする。バッファ制御回路60は、この二次
記憶装置へのアクセス要求を入力すると、バッファ管理
テーブル30のDAフィールドを検索して、アクセスす
るブロックがバッファ記憶装置40に読み出されている
かどうか調べ、すでにバッファ上にあれば、それを用い
て中央処理装置とデータ線2を介してサービスを行う。
又、アクセスするブロックがバッファ記憶装置40に読
み出されていないときは、バッファ制御回路60は実際
に二次記憶装置70,71に対してアクセス要求を実行
し、読み出したデータのバッファ記憶装置40への格
納、その二次記憶アドレス等のバッファ管理テーブル3
0への登録を行うと共に、バッファへ読み出したデータ
を用いて、あらためて中央処理装置とサービスを行う。
なお、バッファ制御回路60は二次記憶装置70,71
から読み出したデータをバッファ記憶装置40へ新しく
登録する際、バッファ記憶装置内の出来るだけ使用され
そうにないバッファを選択し、その内容を二次記憶装置
70,71に書き出すことにより空きバッファを作り、
新しいバッファ・エントリとして使用する。これに関す
るアルゴリズムはすでに種々提案されているので、これ
以上の詳細な説明は省略する。
Next, the operation of FIG. 1 will be described. Now, an access request from the central processing unit to the secondary storage device is issued by the signal line 1
It is supposed to be issued to. When the access request to the secondary storage device is input, the buffer control circuit 60 searches the DA field of the buffer management table 30 to check whether or not the block to be accessed has been read out to the buffer storage device 40, and the buffer is already buffered. If present, it is used to serve via the central processing unit and the data line 2.
Further, when the block to be accessed is not read in the buffer storage device 40, the buffer control circuit 60 actually executes an access request to the secondary storage devices 70 and 71, and the buffer storage device 40 for the read data. To the buffer management table 3 such as the secondary storage address
The data is read out to the buffer, and the central processing unit is serviced again.
In addition, the buffer control circuit 60 uses the secondary storage devices 70 and 71.
When newly registering the data read from the buffer storage device 40 into the buffer storage device 40, a buffer in the buffer storage device that is unlikely to be used is selected, and the contents thereof are written to the secondary storage devices 70 and 71 to create an empty buffer. ,
Used as a new buffer entry. Since various algorithms related to this have already been proposed, detailed description thereof will be omitted.

【0012】一方、二次記憶アクセス要求が信号線1に
出されると、順アクセス検出回路10は、そのアクセス
要求に対して、最近受付けたアクセス要求のうちに入出
力アドレスが隣り合ったものがあるかどうかをチェック
し、もしあれば、当該アクセス要求のアドレス以降も引
き続いて順アクセスが行われると予測する。そして、順
アクセス検出回路10は、順アクセスが行われると予測
される先頭の二次記憶アドレスを先読み制御テーブル1
2のADフィールドに登録し、先読みサイズ決定回路2
0および先読み制御回路50に起動をかける。これによ
り、先読みサイズ決定回路20は、信号線21を通して
与えられる入出力負荷の状態により初めの先読みサイズ
を決定して先読み制御テーブル12のSZフィールドに
登録する。先読み制御回路50は、この先読み制御テー
ブル12に新しく登録されたDAフィールド、SZフィ
ールドの内容を入力して二次記憶装置70,71をアク
セスし、そのDAフィールドで示されるアドレスからS
Zフィールドのバッファサイズに等しいデータを読み出
してバッファ記憶装置40に格納する。同時に、先読み
制御回路50はバッファ管理テーブル30上の該当エン
トリ(データが格納されたバッファに対応するエント
リ)のDAフィールドに二次記憶アドレスを登録し、先
読みフラグLA、使用未完了フラグUもあわせてセット
する。更に先読み制御回路50は、バッファ記憶装置4
0に読み出された領域に対し、その使用開始時刻と入力
所要時間を先読み制御テーブル12のBTフィールドと
IOTフィールドに登録する。以後、BTフィールドの
内容は先読み制御回路50により一定時間毎に更新さ
れ、バッファの滞留時間を示すことになる。
On the other hand, when a secondary storage access request is issued to the signal line 1, the forward access detection circuit 10 detects that the most recently received access request has an adjacent input / output address. It is checked whether or not there is, and if there is, it is predicted that subsequent sequential access will be performed after the address of the access request. Then, the forward access detection circuit 10 prefetches the first secondary storage address predicted to be forward accessed to the prefetch control table 1
Pre-reading size determination circuit 2 registered in the AD field 2
0 and the prefetch control circuit 50 are activated. As a result, the read-ahead size determination circuit 20 determines the initial read-ahead size according to the state of the input / output load applied through the signal line 21 and registers it in the SZ field of the read-ahead control table 12. The prefetch control circuit 50 inputs the contents of the DA field and SZ field newly registered in the prefetch control table 12 to access the secondary storage devices 70 and 71, and the S address from the address indicated by the DA field.
Data equal to the buffer size of the Z field is read and stored in the buffer storage device 40. At the same time, the prefetch control circuit 50 registers the secondary storage address in the DA field of the corresponding entry (entry corresponding to the buffer in which data is stored) on the buffer management table 30, and also matches the prefetch flag LA and the incomplete use flag U. Set. Further, the prefetch control circuit 50 is provided in the buffer storage device 4
The use start time and the required input time for the area read out to 0 are registered in the BT field and the IOT field of the prefetch control table 12. After that, the contents of the BT field are updated by the prefetch control circuit 50 at regular time intervals to indicate the retention time of the buffer.

【0013】バッファ制御回路60はすでに説明した様
に、信号線1にアクセス要求が出されると、バッファ管
理テーブル30を検索するが、その結果、アクセスする
ブロックが先読み制御回路50によりバッファ記憶装置
40に先読みされていると、それを用いて中央処理装置
と直ちにサービスを行うことができる。なお、アクセス
するブロックがバッファ上にない場合、バッファ制御回
路60は要求のあったブロックを二次記憶装置70,7
1からバッファに読み出すことになるが、この実際に要
求された領域と前記先読み制御回路50による先読み領
域とが重複することが考えられる。これは、バッファ制
御回路60に実際に要求のあったブロックを優先させ、
先読みブロックと重複しないようにする手段を持たせる
ことで解決される。
As described above, the buffer control circuit 60 searches the buffer management table 30 when an access request is issued to the signal line 1. As a result, the block to be accessed is read by the prefetch control circuit 50 and stored in the buffer storage device 40. Once pre-read, it can be used to immediately service the central processing unit. If the block to be accessed is not on the buffer, the buffer control circuit 60 stores the requested block in the secondary storage devices 70 and 7.
Although the data is read from 1 to the buffer, it is conceivable that this actually requested area and the preread area by the preread control circuit 50 overlap. This gives priority to the block actually requested by the buffer control circuit 60,
It is solved by providing a means to prevent overlap with the prefetch block.

【0014】信号線1に出された二次記憶アクセス要求
はバッファ使用完了検出回路11にも入力される。バッ
ファ使用完了検出回路11は該アクセス要求を監視して
いて、該当バッファ中の最後のブロックに対する入出力
要求を検出すると、バッファ管理テーブル30の該当バ
ッファ・エントリ中の使用未完了フラグUをリセット
し、バッファ制御回路60に報告する。アクセス要求が
該当バッファ中の最終ブロックに対するものであるかど
うかは、次のようにして検出することができる。即ち、
まずバッファ管理テーブル30を検索して、アクセス要
求のあったブロックがバッファ記憶装置40のどのバッ
ファにあるか調べ、次にDAフィールドの内容に一定数
を加算してそのブロックを含んだバッファの最後のブロ
ックアドレスを求め、この最終ブロックアドレスとアク
セス要求アドレスを比較する。
The secondary storage access request issued to the signal line 1 is also input to the buffer use completion detection circuit 11. The buffer use completion detection circuit 11 monitors the access request, and when detecting the input / output request for the last block in the corresponding buffer, resets the use incomplete flag U in the corresponding buffer entry of the buffer management table 30. , Buffer control circuit 60. Whether or not the access request is for the last block in the corresponding buffer can be detected as follows. That is,
First, the buffer management table 30 is searched to find out in which buffer of the buffer storage device 40 the block requested to be accessed exists. Then, a fixed number is added to the contents of the DA field to determine the end of the buffer containing the block. The block address of is obtained, and the final block address is compared with the access request address.

【0015】バッファ制御回路60では、バッファの使
用完了の報告を受けると、該当バッファが変更されてい
れば、二次記憶装置70,71に書き出し処理を行い、
空きバッファとして利用できるようにバッファ管理テー
ブル30の中の該当エントリをクリアし、そのFビット
を空きエントリとしてセットしておく。なお、二次記憶
装置への書き出し処理は、先読みした他のバッファとま
とめて1回の出力処理として書き出してもよい。変更の
なかったバッファは改めて書き戻さないようにする。こ
の結果、入出力のための時間がさらに短縮できる。
When the buffer control circuit 60 receives the report of the completion of use of the buffer, if the buffer is changed, the buffer control circuit 60 performs the writing process to the secondary storage devices 70 and 71,
The corresponding entry in the buffer management table 30 is cleared so that it can be used as an empty buffer, and its F bit is set as an empty entry. Note that the writing process to the secondary storage device may be performed as one output process together with other prefetched buffers. Don't write back the unchanged buffer again. As a result, the time for input / output can be further shortened.

【0016】上記バッファの使用完了の検出により、該
当バッファでのデータの滞留時間が決定される。先読み
サイズ決定回路20では、順アクセス検出回路10によ
り当該アクセス要求のアドレス以降も引き続いて順アク
セスが行われると予測される旨の報告を受けると、先読
み制御テーブル12の該当エントリのBTフィールド、
IOTフィールド、SZフィールドの内容を信号線10
1を通し入力して、そのBT、SZより単一バッファ当
りのバッファ滞留時間を求め、該バッファ滞留時間と単
一バッファ当りの入出力時間と、信号線21より与えら
れる負荷モードに従って、次に読み出すべき最適バッフ
ァ・サイズを決め、信号線102を通して先読み制御テ
ーブル12の該当SZフィールドにセットする。即ち、
実際のアクセス要求のアドレス以降も引き続いて順アク
セスが行われると予測された時、先読みサイズ決定回路
20は、初めは負荷状態等にもとづいて所定のバッファ
・サイズを決めるが、それ以後は、先読みバッファの使
用完了時点毎に動的に先読みバッファ・サイズを調整
し、次に読むべき最適バッファ・サイズを決める。先読
み制御回路50は、この新しく設定されたバッファ・サ
イズだけ先読みを実行していく。
By detecting the completion of use of the buffer, the retention time of data in the corresponding buffer is determined. When the prefetch size determination circuit 20 receives the report that the forward access detection circuit 10 predicts that the forward access will be continued after the address of the access request, the BT field of the corresponding entry of the prefetch control table 12,
The contents of the IOT field and SZ field are sent to the signal line 10
1 to input the buffer retention time per single buffer from the BT and SZ, and according to the buffer retention time, the input / output time per single buffer, and the load mode given from the signal line 21, The optimum buffer size to be read is determined and set in the corresponding SZ field of the prefetch control table 12 through the signal line 102. That is,
When it is predicted that subsequent sequential access will be performed after the address of the actual access request, the read-ahead size determination circuit 20 initially determines a predetermined buffer size based on the load state, etc. The read-ahead buffer size is dynamically adjusted each time the buffer is completely used, and the optimum buffer size to be read next is determined. The read-ahead control circuit 50 executes the read-ahead by the newly set buffer size.

【0017】なお、順アクセスの予測違いを防いだり、
順アクセスが完了した場合、該当領域に関して先読み制
御を取り止める必要がある。これは次のようにして行え
ばよい。先読み制御テーブル12のBTフィールドのバ
ッファ滞留時間は先読み制御回路50により記録更新さ
れており、後続のアクセスが無くなった場合、その値は
増大する一方である。そこで、先読み制御回路50で先
読み制御テーブル12の各BTフィールドの値をチェッ
クし、それが一定値を越えた場合、該当エントリを先読
み制御テーブル12より削除する。
It should be noted that it is possible to prevent misprediction of sequential access,
When the sequential access is completed, it is necessary to cancel the prefetch control for the relevant area. This can be done as follows. The buffer retention time of the BT field of the prefetch control table 12 is recorded and updated by the prefetch control circuit 50, and when the subsequent access is lost, the value is increasing. Therefore, the prefetch control circuit 50 checks the value of each BT field of the prefetch control table 12, and when it exceeds a certain value, the corresponding entry is deleted from the prefetch control table 12.

【0018】次に先読みバッファ・サイズの決定方法に
ついて、少し詳細に説明する。いまバッファ・サイズの
最大、最小をそれぞれbmax,bminとする。単一バッフ
ァ当りのバッファ滞留時間L、入出力時間Iは先読みバ
ッファ・サイズbに依存して図2のような傾向を示す。
どのバッファ・サイズが最適であるかは、二次記憶装置
への負荷(使用率)により異なる。そこで、二次記憶装
置への負荷が高いときはバッファ・サイズを大きくし、
バッファへの負荷が大きいときはバッファ・サイズを小
さくしてやればよい。又、二次記憶装置とバッファへの
負荷がバランスしている場合は、両方への負荷が最小に
なるようなバッファ・サイズを選べばよい。負荷の状態
は中央処理装置からの命令でセット、リセットされる負
荷モード信号線21により先読みサイズ決定回路20に
与えられ、これにより、現在の状態が、入出力負荷が高
い状態か、CPU負荷が高い状態か、双方がバランスし
ている状態かを知ることができる。
Next, a method of determining the look-ahead buffer size will be described in some detail. Now, let us say that the maximum and minimum buffer sizes are bmax and bmin, respectively. The buffer retention time L and the input / output time I per single buffer show the tendency as shown in FIG. 2 depending on the read-ahead buffer size b.
Which buffer size is optimal depends on the load (usage rate) on the secondary storage device. Therefore, when the load on the secondary storage device is high, increase the buffer size,
If the load on the buffer is heavy, you can reduce the buffer size. When the loads on the secondary storage device and the buffer are balanced, the buffer size may be selected so that the loads on both are minimized. The load state is given to the prefetch size determination circuit 20 by a load mode signal line 21 which is set and reset by a command from the central processing unit, whereby the current state is either a high input / output load state or a CPU load. You can know whether it is high or both are in balance.

【0019】以上、本発明の一実施例として、図1のよ
うに各種の制御回路等をそれぞれハードウェアで構成し
た場合を示したが、これらの回路ないし装置の一部また
は全部をマイクロコンピュータ等により等価的に構成す
ることも可能であり、本発明が図1のような構成に限定
されるものでないことは云うまでもない。
As described above, as one embodiment of the present invention, the case where various control circuits and the like are respectively configured by hardware as shown in FIG. 1 has been shown. However, a part or all of these circuits or devices may be a microcomputer or the like. It is needless to say that the present invention is not limited to the configuration shown in FIG.

【0020】[0020]

【発明の効果】以上の説明から明らかな如く、本発明に
よれば、バッファ記憶を用いた二次記憶装置において、
現アクセス要求に対し、そのアドレス以降のデータが引
き続いてアクセスされる可能性があるか予測し、アクセ
スされる可能性がある場合、二次記憶装置のデータを先
読みしてバッファに格納することにより、バッファ記憶
のヒット率を高め、バッファ記憶を有効に使用すること
が可能になる。特に、最近受付けた複数のアクセス要求
に基づいて順アクセスを予測することにより、例えば、
二次記憶装置が複数の処理装置に共有され、各処理装置
からのアクセスが混在しているような場合であって、あ
る処理装置からのアクセス要求が連続したアドレスに対
するものであるような場合(この場合、二次記憶装置側
からは、連続するアドレスが飛び飛びに来るように見え
る)にも、その連続するデータを効率的に予測でき、バ
ッファの利用効率を高めることが可能となる。
As is apparent from the above description, according to the present invention, in the secondary storage device using the buffer storage,
For the current access request, predict whether data after that address may be accessed subsequently, and if so, by prefetching the data in the secondary storage device and storing it in the buffer It is possible to increase the hit rate of the buffer storage and effectively use the buffer storage. In particular, by predicting forward access based on recently received multiple access requests, for example,
In the case where the secondary storage device is shared by a plurality of processing devices and the accesses from the respective processing devices are mixed, and the access request from a certain processing device is to consecutive addresses ( In this case, from the side of the secondary storage device, even if continuous addresses seem to be scattered, the continuous data can be predicted efficiently, and the buffer utilization efficiency can be improved.

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

【図1】本発明の一実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】先読みサイズ決定方法の説明図である。FIG. 2 is an explanatory diagram of a prefetch size determination method.

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

1 二次記憶アクセス要求線 2 データ線 10 順アクセス検出回路 11 バッファ使用完了検出回路 12 先読み制御テーブル 20 先読みサイズ決定回路 30 バッファ管理テーブル 40 バッファ記憶装置 50 先読み制御回路 60 バッファ制御回路 70,71 二次記憶装置 1 Secondary Storage Access Request Line 2 Data Line 10 Forward Access Detection Circuit 11 Buffer Usage Completion Detection Circuit 12 Prefetch Control Table 20 Prefetch Size Determination Circuit 30 Buffer Management Table 40 Buffer Storage Device 50 Prefetch Control Circuit 60 Buffer Control Circuit 70, 71 2 Next storage device

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 磁気ディスク等の二次記憶装置に対する
アクセス要求を処理、実行する二次記憶制御装置におい
て、 上記二次記憶装置の一部のデータを格納しておくための
バッファメモリと、 アクセス要求のデータが上記バッファメモリに格納され
ていると、該バッファメモリに対してアクセスを行うバ
ッファ制御手段と、 上記二次記憶装置のデータを先読みして、上記バッファ
メモリに格納する先読み制御手段と、 現アクセス要求に対し、最近受付けた複数のアクセス要
求を調べて、現アクセス要求のアドレス以降のデータが
引き続いてアクセスされるかどうか予測し、アクセスさ
れる可能性があると判断すると上記先読み制御手段を起
動する順アクセス検出手段とを有することを特徴とする
二次記憶制御装置。
1. A secondary storage control device for processing and executing an access request to a secondary storage device such as a magnetic disk, and a buffer memory for storing a part of data of the secondary storage device, and an access. When the requested data is stored in the buffer memory, buffer control means for accessing the buffer memory, and prefetch control means for prefetching the data in the secondary storage device and storing it in the buffer memory , In response to the current access request, check the multiple access requests that have been recently received, predict whether data after the address of the current access request will be subsequently accessed, and if it is judged that there is a possibility of being accessed, the prefetch control will be performed. And a sequential access detection means for activating the means.
【請求項2】 上記順アクセス検出手段は、現アクセス
要求のアドレスに隣合うものが上記最近受付けた複数の
アクセス要求の中に含まれているかどうかチェックする
ことにより上記予測を行うことを特徴とする請求項1記
載の二次記憶制御装置。
2. The forward access detection means makes the prediction by checking whether or not a neighbor of the address of the current access request is included in the plurality of recently received access requests. The secondary storage control device according to claim 1.
JP5009723A 1993-01-25 1993-01-25 Secondary storage controller Expired - Lifetime JPH0799510B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5009723A JPH0799510B2 (en) 1993-01-25 1993-01-25 Secondary storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5009723A JPH0799510B2 (en) 1993-01-25 1993-01-25 Secondary storage controller

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP56058075A Division JPS57172457A (en) 1981-04-17 1981-04-17 Secondary storage controller

Publications (2)

Publication Number Publication Date
JPH06342401A true JPH06342401A (en) 1994-12-13
JPH0799510B2 JPH0799510B2 (en) 1995-10-25

Family

ID=11728225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5009723A Expired - Lifetime JPH0799510B2 (en) 1993-01-25 1993-01-25 Secondary storage controller

Country Status (1)

Country Link
JP (1) JPH0799510B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341334B1 (en) 1998-03-24 2002-01-22 Mitsubishi Denki Kabushiki Kaisha Bridge method, bus bridge, and multiprocessor system
JP2003122702A (en) * 2001-10-10 2003-04-25 Hitachi Communication Technologies Ltd Storage device
JP2009211217A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
JP2013008094A (en) * 2011-06-22 2013-01-10 Sony Corp Memory management apparatus, memory management method, control program, and recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341334B1 (en) 1998-03-24 2002-01-22 Mitsubishi Denki Kabushiki Kaisha Bridge method, bus bridge, and multiprocessor system
JP2003122702A (en) * 2001-10-10 2003-04-25 Hitachi Communication Technologies Ltd Storage device
JP2009211217A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
US8225047B2 (en) 2008-03-01 2012-07-17 Kabushiki Kaisha Toshiba Memory system with pre-fetch operation
JP2013008094A (en) * 2011-06-22 2013-01-10 Sony Corp Memory management apparatus, memory management method, control program, and recording medium

Also Published As

Publication number Publication date
JPH0799510B2 (en) 1995-10-25

Similar Documents

Publication Publication Date Title
JP3522527B2 (en) I / O control device and I / O control method
US6324599B1 (en) Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
US6272600B1 (en) Memory request reordering in a data processing system
US6782454B1 (en) System and method for pre-fetching for pointer linked data structures
JP4298800B2 (en) Prefetch management in cache memory
US20030212865A1 (en) Method and apparatus for flushing write cache data
JP4060506B2 (en) Disk controller
JPH0628180A (en) Prefetch buffer
US20070079070A1 (en) Cache controller
US6216208B1 (en) Prefetch queue responsive to read request sequences
EP0602808A2 (en) Cache systems
JPH06342401A (en) Secondary memory controller
JPH08263380A (en) Disk cache control system
JPH11506238A (en) System and method for sequentiality detection in a cache management system
US20010032297A1 (en) Cache memory apparatus and data processing system
JPH0415493B2 (en)
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
JPH09128325A (en) Hierarchical bus control system and bus bridge
JP3516326B2 (en) Memory controller having shared cache memory and computer system having the same
JPH06103169A (en) Read data prefetching mechanism for central arithmetic processor
JPH0728677A (en) File management system of storage device
JP2002182978A (en) Storage sub-system and information processing system
JP2000047942A (en) Device and method for controlling cache memory
JPH0228875A (en) Decentralized data base processing control system