JPH01137347A - Input/output controller - Google Patents
Input/output controllerInfo
- Publication number
- JPH01137347A JPH01137347A JP62295221A JP29522187A JPH01137347A JP H01137347 A JPH01137347 A JP H01137347A JP 62295221 A JP62295221 A JP 62295221A JP 29522187 A JP29522187 A JP 29522187A JP H01137347 A JPH01137347 A JP H01137347A
- Authority
- JP
- Japan
- Prior art keywords
- input
- data
- channel
- disk
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006870 function Effects 0.000 abstract description 9
- 238000000034 method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 230000036316 preload Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 101100353161 Drosophila melanogaster prel gene Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機システムの入出力制御装置に係り、特に
ディスクキャッシュ等のキャッシュメモリを有する入出
力系におけるキャッシュ装置への先読みを行う入出力制
御装置に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an input/output control device for a computer system, and particularly to input/output control that performs prefetching to a cache device in an input/output system having a cache memory such as a disk cache. Regarding equipment.
近年、計算機システムにおいて、主記憶装置のアクセス
速度と二次記憶装置特に磁気ディスク装置のアクセス速
度のa■のギャップが広がってきている。このため、デ
ィスクに対する入出力処理がボトルネックとなり、計算
機システム全体の性能が低下する可能性がある。上記の
ギャップを解消する手段の一つに、ディスクキャッシュ
によるディスク入出力処理の実効的に高速化がある。In recent years, in computer systems, the gap between the access speed of a main storage device and the access speed of a secondary storage device, especially a magnetic disk device, has been widening. Therefore, input/output processing to the disk becomes a bottleneck, and the performance of the entire computer system may deteriorate. One way to eliminate the above gap is to effectively speed up disk input/output processing using a disk cache.
キャッシュメモリを有するディスク制御装置においては
、特開昭59−100964号および特開昭60−25
6854号に記載されているように、入出力対象のファ
イルの編成法やプログラムでの処理形態を考慮して、キ
ャッシュ管理アルゴリズムとしていくつかのモードを用
意している。通常のモードでは、データの局所参照性の
考え方に基づき、LRU(リースト リセントリ ュー
ズド: LeastRecently IJ+ad)方
式によりキャッシュを管理する。Regarding a disk control device having a cache memory, Japanese Patent Application Laid-Open Nos. 59-100964 and 60-25
As described in No. 6854, several modes are prepared as cache management algorithms, taking into account the organization method of files to be input/output and the processing form of programs. In the normal mode, the cache is managed using the LRU (Least Recently IJ+ad) method based on the idea of local referentiality of data.
すなわち、キャッシュにデータを書込むためにキャッシ
ュ中のデータを追い出す際に、最も長い間参照されなか
ったデータをキャッシュがら追い出す、また、参照され
たデータの近くのデータが引き続き参照される可能性が
高いという考え方に基づき、参照されたデータの前後の
データもキャッシュにロードしておく。これらに上り、
キャッシュにロードされているデータが参照される可能
性が高くなり、平均アクセス時間を短縮することができ
る。また、順次アクセス処理に対しては、順次アクセス
モードがある。順次アクセスモードの場合、要求された
データを含むトラックを読出した後、そのトラックに続
くトラックをディスクからキャッシュに予めロード(先
読み)しておく。In other words, when evicting data in the cache to write data to the cache, data that has not been referenced for the longest time is evicted from the cache, and data near the referenced data may continue to be referenced. Based on this idea, the data before and after the referenced data is also loaded into the cache. Climb to these;
The data loaded in the cache is more likely to be referenced, and the average access time can be reduced. Further, for sequential access processing, there is a sequential access mode. In the sequential access mode, after reading the track containing the requested data, the tracks following that track are preloaded (read ahead) from the disk into the cache.
この先読み制御により、順次アクセスの場合には最初の
データ以外は必ずキャッシュに存在するため、入出力処
理の高速化を実現することができる。With this prefetch control, in the case of sequential access, data other than the first one always exists in the cache, so it is possible to achieve faster input/output processing.
この2つのモード以外に、キャッシュバイパスモード等
がある。これらのモードは、中央処理装置側のチャネル
からディスク制御装置に入出力処理を指示するための指
命を表わすチャネルコマンドワード(CCW)の列の先
頭で指定することができる。In addition to these two modes, there is a cache bypass mode, etc. These modes can be specified at the beginning of a channel command word (CCW) sequence representing an instruction for instructing input/output processing from a channel on the central processing unit side to a disk controller.
上記の従来方式では、キャッシュ管理モードに基づいて
、ディスク制御装置がキャッシュにロードすべきデータ
を決定する。このため、順次アクセス以外で中央処理装
置側で予め入力対象データ群が判明あるいは予想できる
場合でも、該データ群を入力処理に先だって必ずキャッ
シュにロードしておくことということはできない。なお
、中央処理装置側で予め入力対象データが判明あるいは
予想できる場合として、データベースのバッチ処理や関
係データベースの集合検索処理等において。In the conventional method described above, the disk control device determines the data to be loaded into the cache based on the cache management mode. For this reason, even if the data group to be input can be known or predicted in advance on the central processing unit side by means other than sequential access, the data group cannot always be loaded into the cache prior to input processing. Note that cases in which input target data can be known or predicted in advance on the central processing unit side include database batch processing, relational database set search processing, etc.
インデックス等により処理対象データが予め判っている
場合がある。There are cases where the data to be processed is known in advance using an index or the like.
本発明の目的は、上述のような中央処理装置側で予め入
力対象データが判明あるいは予想できる場合に、中央処
理装置がディスク制御装置等の入出力制御装置に対して
、入力対象データを入出力装置からキャッシュに予めロ
ードしておくように指示することを可能とし、入出力処
理を高速化することにある。An object of the present invention is to enable the central processing unit to input/output input data to an input/output control device such as a disk control device when the input data can be known or predicted in advance on the central processing unit side as described above. The purpose is to speed up input/output processing by making it possible to instruct the device to preload data into the cache.
上記目的は、中央処理装置側のチャネルから入出力制御
装置に入出力処理を指示するための指令であるチャネル
コマンドに、入出力装置中の指定データをキャッシュ装
置内にロードすることを指示する機能を追加することに
より、達成される。The above purpose is a function that instructs a channel command, which is a command to instruct input/output processing to an input/output control device, from a channel on the central processing unit side to load specified data in the input/output device into the cache device. This is achieved by adding .
上記手段の作用を以下に述べる。 The operation of the above means will be described below.
(1)入出力制御装置は、中央処理%m側のチャネルか
ら入出力装置中の指定データをキャッシュ装置内にロー
ドすることを指示するチャネルコマンドを受は取ると、
指定データをキャッシュ装置内にロードする。なお、キ
ャッシュ装置内にロードしたデータは、少なくともチャ
ネルコマンドを受は取るまでのキャッシュ装置内に置い
ておく。(1) When the input/output control device receives a channel command from the channel on the central processing %m side that instructs to load specified data in the input/output device into the cache device,
Load the specified data into the cache device. Note that the data loaded into the cache device is kept in the cache device at least until a channel command is received or received.
(2)入出力制御装置は、キャッシュ装置内にロードし
たデータの入力を指示するチャネルコマンドをチャネル
から受は取ると、指定されたデータをキャッシュ装置か
ら読出し、チャネルに転送する。(2) When the input/output control device receives a channel command from the channel that instructs input of data loaded into the cache device, the input/output control device reads the specified data from the cache device and transfers it to the channel.
以上により、順次アクセス以外でも中央処理装置側で予
め入力対象データ群が判明あるいは予想できる場合に、
該データ群を入力処理に先だってキャッシュ装置にロー
ドしておくことにより、入力処理を高速に行うことがで
きる。As described above, when the input target data group can be known or predicted in advance on the central processing unit side even when access is not sequential,
By loading the data group into the cache device prior to input processing, input processing can be performed at high speed.
以下4本発明の一実施例を図面を引用しながら説明する
。Hereinafter, four embodiments of the present invention will be described with reference to the drawings.
最初に、本実施例の構成を説明する。第2図は本実施例
における計算機システムの全体摘成を示す図である0本
実施例の計算機システムは、中央処理袋[1111,主
記憶装置12.チャネル13゜ディスク制御装置20.
ディスク装置30から構成される。ディスク制御装置2
0は、さらに、記憶ディレクタ21.ディレクトリ22
.ディスクキャッシュ装v123から構成される。中央
処理装置11は、演算および論理判断動作の実行ならび
に制御機能、他装置の制御機能などを持ち、計算機シス
テム全体の制御を行う、主記憶装置12は。First, the configuration of this embodiment will be explained. FIG. 2 is a diagram showing the overall outline of the computer system in this embodiment. Channel 13° disk controller 20.
It is composed of a disk device 30. Disk control device 2
0 further includes storage director 21.0. directory 22
.. It consists of a disk cache device v123. The central processing unit 11 has a function of executing and controlling arithmetic and logical judgment operations, a function of controlling other devices, etc., and a main memory 12 controls the entire computer system.
中央処理装置11およびチャネル13で処理する各種情
報を格納する。チャネル13は、主記憶装置12と計算
機システム内の各種入出力装置との間の情報転送の制御
を行う。記憶ディレクタ21は、ディスク装置30を制
御するとともに、ディスクキマツシュ装置23の管理を
行い。チャネル13とディスクキャッシュ装置23の間
のデータ転送、ディスクキャッシュ装置23とディスク
装置30の間のデータ転送、およびチャネル13とディ
スク装置30の間のデータ転送を制御する。Various information processed by the central processing unit 11 and the channel 13 is stored. The channel 13 controls information transfer between the main storage device 12 and various input/output devices within the computer system. The storage director 21 controls the disk device 30 and also manages the disk release device 23. It controls data transfer between the channel 13 and the disk cache device 23, data transfer between the disk cache device 23 and the disk device 30, and data transfer between the channel 13 and the disk device 30.
ディレクトリ22には、ディスクキャッシュ装置23上
にディスク装置30のどの部分のデータが格納されてい
るかを示す情報が格納されている。The directory 22 stores information indicating which part of the data of the disk device 30 is stored on the disk cache device 23.
ディスクキャッシュ装置23には、記憶ディレクタ21
の制御により、ディスク装置30内のデータの一部が必
要に応じて置かれる。The disk cache device 23 includes a storage director 21
Under the control of , part of the data in the disk device 30 is placed as necessary.
次に、システムの動作を説生明する。第1図は本発明の
特徴を示す図であり、本実施例におけるシステムの動作
例の概要を説明する図である。第1図において、中央処
理装置/主記憶装置10上のプログラムは処理開始時に
予め入力対象データがa、b、 cであることを知って
おり、入力要求に先立ちこれらのデータに対する先読み
を要求する。この先読み要求は、ディスク装[30から
指定データのディスクキャッシュ装置23への先読みを
指示するチャネルコマンドであるPRELOAI)(プ
リロード)コマンドに変換され、チャネルを介してディ
スク制御装置ff20中の記憶ディレクタ21に通知さ
れる。記憶ディレクタ21は、上記PRELOADコマ
ンドに対し、コマンド処理終了をチャネルに通知し、指
定されたデータa、b、cをディスクキャッシュ装置2
3にロードする。中央処理装置/主記憶装置10上のプ
ログラムは、上記先読み要求に引き続き、データa、b
、cを順次入力し、必要な処理を行う。これらのデータ
a。Next, the operation of the system will be explained. FIG. 1 is a diagram showing the features of the present invention, and is a diagram illustrating an overview of an example of the operation of the system in this embodiment. In FIG. 1, the program on the central processing unit/main memory 10 knows in advance that the input target data are a, b, and c at the start of processing, and requests pre-reading of these data before making an input request. . This prefetch request is converted into a PRELOAI (preload) command, which is a channel command that instructs prefetching of specified data from the disk drive 30 to the disk cache device 23, and is transmitted to the storage director 21 in the disk controller ff20 via the channel. will be notified. In response to the PRELOAD command, the storage director 21 notifies the channel that command processing has ended, and transfers the specified data a, b, and c to the disk cache device 2.
Load into 3. Following the above prefetch request, the program on the central processing unit/main memory 10 reads data a and b.
, c in sequence and perform the necessary processing. These data a.
b、cに対する入力要求は、READ (リード)コマ
ンドを含むチャネルコマンドの列に変換され、チャネル
を介してディスク制御装置2o中の記憶ディレクタ21
に通知される。記憶ディスク21は、これらの入力要求
に対し、ディスクキャッシュ装置23上にロードされた
データa g b y cをチャネル13を介して中央
処理装置/主記憶装置1oに転送する。Input requests for b and c are converted into a sequence of channel commands including a READ command, and sent to the storage director 21 in the disk controller 2o via the channel.
will be notified. In response to these input requests, the storage disk 21 transfers the data a g b y c loaded on the disk cache device 23 to the central processing unit/main storage device 1o via the channel 13.
上述のPRELOADコマンドでは、ディスク装置30
からディスクキャッシュ装置23にロードするレコード
数および各レコードのアドレスを指定する。レコードの
アドレスは、シリンダ番号(CC)、トラック番号(H
H)、レコード番号(R)により指定する。In the above PRELOAD command, the disk device 30
Specify the number of records to be loaded into the disk cache device 23 and the address of each record. The address of the record is the cylinder number (CC), track number (H
H), specified by record number (R).
以下、PREI、OADコマンドを受は取った時の記憶
ディレクタ21の概略処理フローを第3図、第4図に従
って説明する。コマンドを受は取ると、記憶ディレクタ
21は該コマンドに対する先読み要求ブロック40を作
成し、デバイス(ボリューム)毎に設けた先読み要求ブ
ロック40のチエインに。A schematic processing flow of the storage director 21 when receiving PREI and OAD commands will be described below with reference to FIGS. 3 and 4. When receiving a command, the storage director 21 creates a prefetch request block 40 for the command, and creates a chain of prefetch request blocks 40 provided for each device (volume).
作成した先読み要求ブロック40を加える(ステップ1
01)。第4図は、先読み要求ブロック40の詳細図で
ある。他ブロックへのポインタ41は。Add the created prefetch request block 40 (Step 1
01). FIG. 4 is a detailed diagram of the prefetch request block 40. A pointer 41 to another block is.
他ブロックとチエインするためのポインタであり。It is a pointer for chaining with other blocks.
最後のブロックの場合にはその旨を示す値が設定される
。CCHHR42は、入力対象データのディスク装置3
0上のアドレスを示すシリンダ番号。In the case of the last block, a value indicating that fact is set. CCHHR42 is the disk device 3 of input target data.
Cylinder number indicating address above 0.
トラック番号、レコード番号である。ディスクキャッシ
ュアドレス43には、入力対象データがロードされるデ
ィスクキャッシュ装置
23内の領域のアドレスが格納される。位置付は要求フ
ラグ44は、ディスク装[30に対して位置付は要求が
出ている時にはON、出ていない時にはOFFが設定さ
れる。ウェイトフラグ45は。Track number, record number. The disk cache address 43 stores the address of an area within the disk cache device 23 into which input target data is loaded. The locating request flag 44 is set to ON when a locating request is issued to the disk device [30, and OFF when no locating request is issued. The weight flag 45 is.
位置付は後、データ転送の待ちが発生していることを示
す。The positioning indicates that there is a wait for data transfer.
第5図は、デバイス毎に設けた先読み要求ブロック40
のチエインを示す図であり、3個の先読み要求ブロック
40がチエインされ、先頭のブロックは先読み要求ブロ
ックポインタ5oによりポイントされている。FIG. 5 shows a prefetch request block 40 provided for each device.
3 is a diagram showing a chain in which three prefetch request blocks 40 are chained, and the first block is pointed to by a prefetch request block pointer 5o.
上記のステップ101の処理が終了すると、記憶ディレ
クタ21は、チャネル13にPRHLOADコマンド処
那の終了を通知する(ステップ102)。When the processing in step 101 above is completed, the storage director 21 notifies the channel 13 of the completion of the PRHLOAD command (step 102).
この後、記憶ディレクタ21は、チャネル13がらのコ
マンドとは別にディスク装置3oがらディスフキャッシ
ュ装置23への指定データの先読み処理を行う。最初に
、初期設定処理として、先読み要求ブロックポインタ5
oに先頭の先読み要求ブロック40のアドレスを設定し
くステップ103)、以下要求されたデータのディスク
キャッシュ装置23への先読みを行う。Thereafter, the storage director 21 pre-reads the specified data from the disk device 3o to the disk cache device 23, separately from the command from the channel 13. First, as an initial setting process, the prefetch request block pointer 5
The address of the first prefetch request block 40 is set in step 103), and the requested data is subsequently prefetched to the disk cache device 23.
まず、ディレクトリ22を参照して指定データがディス
クキャッシュ装置23内に存在するかどうかを調べ(ス
テップ104)、存在しない場合は、ディスク装置30
から指定データをディスクキャッシュ装置23内にロー
ドする(ステップ105〜ステツプ108)。そのため
、まず、ディレクトリ22を参照して該データのための
領域をディスクキャッシュ装置23中に確保する(ステ
ップ105)。次に、ディスク装置30が空いていれば
、ディスク装置30に対して位置付は要求を発行し1位
置付は要求フラグ44をONにする(ステップ106)
、ディスク装置30が空いていない場合は、位置付は要
求フラグ44をOFFにしておいて空きを待ち、その開
催の処理を行う。First, it is checked whether the specified data exists in the disk cache device 23 by referring to the directory 22 (step 104).
The designated data is loaded into the disk cache device 23 (steps 105 to 108). Therefore, first, the directory 22 is referred to and an area for the data is secured in the disk cache device 23 (step 105). Next, if the disk device 30 is vacant, a positioning request is issued to the disk device 30, and the 1-positioning request flag 44 is turned ON (step 106).
If the disk device 30 is not vacant, the positioning turns off the request flag 44, waits for a vacant space, and processes the event.
位置付は完了したならば、指定データをディスク装ff
!130からディスクキャッシュ装置23へ転送する(
ステップ107)。なお、データ転送で待ちが生じた場
合、ウェイトフラグ45をONにしておいて空きを待ち
、その開催の処理を行う。Once the positioning is complete, transfer the specified data to the disk.
! 130 to the disk cache device 23 (
Step 107). Note that if a wait occurs during data transfer, the wait flag 45 is turned ON to wait for a free space, and then the processing for holding the event is performed.
最後に、ディレクトリ22に該データのディスク装置3
0上でのアドレス(CCHHR)等を設定しくステップ
108)、ロード処理が完了する。Finally, the data is stored in the directory 22 on the disk device 3.
After setting the address (CCHHR) etc. on 0 (step 108), the loading process is completed.
ロード処理完了後は、指定データがディスクキャッシュ
装置23内に存在する場合と同一処理となり、ディレク
トリ22中の該データに関する先読み要求カウンタは1
増やす(ステップ109)。After the loading process is completed, the process is the same as when the specified data exists in the disk cache device 23, and the prefetch request counter for the data in the directory 22 is 1.
Increase (step 109).
先読み要求カウンタは先読み要求の多重度制御のために
用い、0になった場合は当該領域をディスクキャッシュ
装置23のリプレースメントの対象とする。The prefetch request counter is used to control the multiplicity of prefetch requests, and when it reaches 0, the area is targeted for replacement in the disk cache device 23.
以上で一つのデータの先読み処理が完了し、次のデータ
を処理するために先読み要求ブロックポインタ50に次
の先読み要求ブロック40のアドレスを設定する(ステ
ップ110)。このとき、次の先読み要求ブロック40
があるがどうがを調べ(ステップ111)、次のブロッ
クがなければ該デバイスの先読み処理が完了する。The prefetching process for one data is completed, and the address of the next prefetching request block 40 is set in the prefetching request block pointer 50 in order to process the next data (step 110). At this time, the next prefetch request block 40
It is checked whether there is a next block or not (step 111), and if there is no next block, the pre-reading process for the device is completed.
なお、上述の処理中、ステップ103〜ステツプ111
の処理はチャネル13とディスクキャッシュ装置1¥2
3の間のデータ転送、チャネル13と他のデバイスとの
間のデータ転送、ディスクキャッシュ装置23と他のデ
バイスの間のデータ転送と並行して処理が可能であり、
特開昭60−256854に記載の方式により、これら
の並列処理を実現することができる。Note that during the above processing, steps 103 to 111
Processing is done by channel 13 and disk cache device 1\2
3, between the channel 13 and other devices, and between the disk cache device 23 and other devices.
These parallel processes can be realized by the method described in Japanese Patent Application Laid-Open No. 60-256854.
次に、チャネルからPRELOADコマンドに対応する
R F、!: A D要求を受は取った時の記憶ディレ
クタ21の処理について述べる。なお、受は取ったRE
AD要求がPREl、OADコマンドに対応するがどう
かを区別するため、対応する場合にはチャネルコマンド
列の先頭に対応するREAD要求であることを示すチャ
ネルコマンドを付加する。Next, the R F, ! corresponding to the PRELOAD command from the channel. : The processing of the storage director 21 when receiving an AD request will be described. In addition, the receiver is the RE who took the
In order to distinguish whether the AD request corresponds to PREL or OAD commands, if they do, a channel command indicating that it is a corresponding READ request is added to the head of the channel command string.
PRELOADコマンドに対応するREAD要求の場合
。For a READ request corresponding to a PRELOAD command.
ディスクキャッシュ装置23内の指定データをチャネル
13に転送し、先読み要求カウンタを1減する。先読み
要求カウンタが0になった場合には、上述のとおり当該
データをディスキャッシュ装置23のリプレースメント
の対象とする。The specified data in the disk cache device 23 is transferred to the channel 13, and the prefetch request counter is decremented by 1. When the prefetch request counter reaches 0, the data is targeted for replacement in the disk cache device 23 as described above.
最後に、中央処理装置11上のプログラムおよび処理に
ついて説明する。計算機システムにおける入出力処理は
、通常、計算機システムを動作させるための汎用プログ
ラムの集りであるオペレーティングシステム(以下O8
と略)によって各種アクセス法として汎用的な機能が提
供されている。Finally, the programs and processing on the central processing unit 11 will be explained. Input/output processing in a computer system is usually handled by an operating system (hereinafter referred to as O8), which is a collection of general-purpose programs for operating the computer system.
) provides general-purpose functions for various access methods.
データベース管理システム等のO8以外の各種プログラ
ムでは、これらのアクセス法が提供する機能を用いて入
出力処理を行う。したがって1本実施例において、チャ
ネルコマンドの一種として設けたPRELOADコマン
ドに対応する機能をアクセス法の機能として追加する。Various programs other than O8, such as database management systems, perform input/output processing using the functions provided by these access methods. Therefore, in this embodiment, a function corresponding to the PRELOAD command provided as a type of channel command is added as an access method function.
すなわち、データベース管理システム等のプログラムで
は、アクセス法が適用するマクロにより入力対象データ
群の先読みをO8に要求し、O8はこの先読み要求に対
してPRELOADコマンドを含む一連のチャネルコマ
ンドの列を生成し、チャネル13を介して記憶ディレク
タ21に指定データ群の先読みを指示する。That is, in a program such as a database management system, a macro applied by an access method requests the O8 to prefetch a group of input data, and the O8 generates a series of channel commands including a PRELOAD command in response to this prefetch request. , instructs the storage director 21 to pre-read the designated data group via the channel 13.
これにより、データベース管理システム等のO8以外の
プログラムから、本発明で示した先読み機能を用いるこ
とができる。。This allows the prefetch function shown in the present invention to be used from programs other than O8, such as a database management system. .
なお、本発明が有効な処理の代表的な例として、次の2
つがある。The following two typical examples of processing for which the present invention is effective are as follows.
There is one.
(1)関係データベースに対する集合検索処理関係デー
タベースに対する検索処理の場合、ディスク装置上のデ
ータベースからある条件を満たすデータの集合を人力す
る必要がある。このとき、インデックス等により人力対
象データのデータベース中での格納場所が事前に分かつ
ていることがある。このような場合、上述のアクセス法
が提供するマクロを用いることにより、データベース管
理システムは入力対象データの先読みを行うことができ
る。(1) Set search process for a relational database In the case of a search process for a relational database, it is necessary to manually search for a set of data that satisfies a certain condition from a database on a disk device. At this time, the storage location of the human-powered data in the database may be known in advance using an index or the like. In such a case, by using the macro provided by the access method described above, the database management system can pre-read the data to be input.
(2)データベースに対するバッチ処理銀行オンライン
システムの月末処理等のデータベースに対するバッチ処
理において、全件処理ではなく、ある条件を満たすデー
タのみを処理対象とすることが多い。このような場合に
、バッチ処理プログラムからインデックスやキー等の値
により処理対象データをデータベース管理システムに指
定すれば、データベース管理システムは前項同様これら
のデータの先読みを行うことができる。(2) Batch processing for databases In batch processing for databases, such as month-end processing in bank online systems, only data that meets certain conditions are often processed, rather than all items being processed. In such a case, if the batch processing program specifies the data to be processed to the database management system using values such as indexes and keys, the database management system can pre-read these data as in the previous section.
以上、ディスクメモリの場合について本発明の実施例を
詳細に説明したが、本発明の考え方はキャッシュメモリ
を有するメモリ全般に適用できるものである。また、本
実施例特有の効果として、先読み要求の多重制御を行っ
ているので、同一データに対して複数の先読み要求が発
行された場合にも先読みコマンド(PRIOADコマン
ド)の効果が失われることがない。なお、本実施例の説
明では触れなかったが、先読み要求元のプログラムや端
末が途中で処理をやめた場合に備え、一定時間以上先読
み要求やREAD要求がないデータに対しては先読み要
求を破棄するものとする。Although the embodiments of the present invention have been described above in detail in the case of a disk memory, the concept of the present invention can be applied to any memory having a cache memory. In addition, as a unique effect of this embodiment, multiple control of prefetch requests is performed, so even if multiple prefetch requests are issued for the same data, the effect of the prefetch command (PRIOAD command) will not be lost. do not have. Although not mentioned in the explanation of this embodiment, in preparation for the case where the program or terminal that is the source of the prefetch request stops processing midway through, the prefetch request is discarded for data for which there is no prefetch or READ request for a certain period of time or more. shall be taken as a thing.
本発明によれば、順次アクセス以外でも中央処理装置側
で予め入力対象データ判明あるいは予想できる場合に、
中央処理装置がディスク制御装置等の入出力制御装置に
対して、入力対象データを入出力装置からキャッシュ装
置に予めロードしておくように指示することを可能とし
、入出力処理を高速化することができる。特に、ディス
ク装置の場合、入力対象データがディスク装置上で同一
トラックや同一シリンダ等の物所的に近接した場所に存
在する場合、記憶ディレクタが連続してこれらのデータ
をディスク装置からディスクキャッシュ装置にロードす
るため、大幅に入出力処理を高速化できる。According to the present invention, even in cases other than sequential access, when input target data can be known or predicted in advance on the central processing unit side,
To speed up input/output processing by enabling a central processing unit to instruct an input/output control device such as a disk control device to preload input target data from the input/output device to a cache device. Can be done. In particular, in the case of a disk device, if the input data exists in physical proximity on the disk device, such as on the same track or in the same cylinder, the storage director continuously transfers this data from the disk device to the disk cache device. , the input/output processing can be greatly speeded up.
第1図は本発明の一実施例におけるシステムの動作例の
概要の説明図、第2図は本発明の実施例における計算機
システムの全体構成図、第3図は先読みコマンド(PR
ELOADコマンド)を受は取った時の記憶ディレクタ
の概略処理フロー図、第4図は先読み要求ブロックの詳
細説明図、第5図はデバイス毎に設けた先読み要求ブロ
ックのチエインを示す説明図である。
10・・・中央処理装置/主記憶装置、11・・・中央
処理装置、12・・・主記憶装置、13・・・チャネル
、20・・・ディスク制御装置、21・・・記憶ディレ
クタ、22・・・ディレクトリ、23・・・ディスクキ
ャッシュ装置、30・・・ディスク装置、40・・・先
読み要求ブ第2図
JuT4X7篭、l
第3図FIG. 1 is an explanatory diagram of an overview of an example of system operation in an embodiment of the present invention, FIG. 2 is an overall configuration diagram of a computer system in an embodiment of the present invention, and FIG. 3 is a prefetch command (PR
FIG. 4 is a detailed explanatory diagram of a prefetch request block, and FIG. 5 is an explanatory diagram showing a chain of prefetch request blocks provided for each device. . DESCRIPTION OF SYMBOLS 10... Central processing unit/main storage device, 11... Central processing unit, 12... Main storage device, 13... Channel, 20... Disk control device, 21... Storage director, 22 ...Directory, 23...Disk cache device, 30...Disk device, 40...Pre-read request block Fig. 2 JuT4X7 basket, l Fig. 3
Claims (1)
制御装置と、上記主記憶装置と上記入出力装置の間に位
置するキャッシュ装置と、により構成される計算機シス
テムにおいて、上記処理装置から上記入出力制御装置に
対して上記入出力装置中の指定データを上記キャッシュ
装置内にロードすることを指示する手段を有することを
特徴とする入出力制御装置。1. In a computer system comprising a main storage device, a processing device, an input/output device, an input/output control device, and a cache device located between the main storage device and the input/output device, the above processing An input/output control device comprising means for instructing the input/output control device from the device to load specified data in the input/output device into the cache device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62295221A JPH01137347A (en) | 1987-11-25 | 1987-11-25 | Input/output controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62295221A JPH01137347A (en) | 1987-11-25 | 1987-11-25 | Input/output controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01137347A true JPH01137347A (en) | 1989-05-30 |
Family
ID=17817773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62295221A Pending JPH01137347A (en) | 1987-11-25 | 1987-11-25 | Input/output controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01137347A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014115851A (en) * | 2012-12-10 | 2014-06-26 | Canon Inc | Data processing device and method of controlling the same |
JP2015118638A (en) * | 2013-12-19 | 2015-06-25 | キヤノン株式会社 | Information processing device and control method thereof, and program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60163146A (en) * | 1984-02-06 | 1985-08-26 | Hitachi Ltd | Data loading system to disk cache |
JPS61175721A (en) * | 1985-01-30 | 1986-08-07 | Nec Corp | Input and output controller for prefetching of read-out record |
-
1987
- 1987-11-25 JP JP62295221A patent/JPH01137347A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60163146A (en) * | 1984-02-06 | 1985-08-26 | Hitachi Ltd | Data loading system to disk cache |
JPS61175721A (en) * | 1985-01-30 | 1986-08-07 | Nec Corp | Input and output controller for prefetching of read-out record |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014115851A (en) * | 2012-12-10 | 2014-06-26 | Canon Inc | Data processing device and method of controlling the same |
JP2015118638A (en) * | 2013-12-19 | 2015-06-25 | キヤノン株式会社 | Information processing device and control method thereof, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7383392B2 (en) | Performing read-ahead operation for a direct input/output request | |
EP0077453B1 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
JPH11282631A (en) | Input and output control device and method | |
JPH0364893B2 (en) | ||
JPH0459653B2 (en) | ||
JPH06289999A (en) | Disk control system | |
US5293618A (en) | Method for controlling access to a shared file and apparatus therefor | |
CN1226023A (en) | Load/load detection and reorder method | |
JPH0773085A (en) | Data processing system and look-ahead method for meta data | |
JP3566319B2 (en) | Information storage device | |
JPH01137347A (en) | Input/output controller | |
JPS59220853A (en) | Disc cache system | |
JPH0460730A (en) | Cache control system | |
JPH01309149A (en) | Input/output control system | |
JP3255081B2 (en) | File-access device and machine-readable recording medium recording program | |
JP2641399B2 (en) | File management device | |
JP2634867B2 (en) | Disk cache data transfer control method | |
JP2980610B2 (en) | Transaction management device | |
JP2740572B2 (en) | Program loading method | |
JPH02224040A (en) | Method and device for loading data | |
JPH05151037A (en) | Reorganization processing system for database in business processing | |
JP2569524B2 (en) | Virtual disk control method for extended storage device | |
JP3317897B2 (en) | Access control apparatus, access control method, and recording medium recording access control program | |
JPS61276040A (en) | File access system | |
JPH08305622A (en) | Information processing system and its exclusive control system |