JPH0415493B2 - - Google Patents
Info
- Publication number
- JPH0415493B2 JPH0415493B2 JP56058075A JP5807581A JPH0415493B2 JP H0415493 B2 JPH0415493 B2 JP H0415493B2 JP 56058075 A JP56058075 A JP 56058075A JP 5807581 A JP5807581 A JP 5807581A JP H0415493 B2 JPH0415493 B2 JP H0415493B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- secondary storage
- read
- data
- storage device
- 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.)
- Expired - Lifetime
Links
- 239000000872 buffer Substances 0.000 claims description 128
- 238000000034 method Methods 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明は、バツフア記憶を用いた二次記憶装置
の制御装置に関するものである。
の制御装置に関するものである。
磁気デイスク記憶装置のように、比較的遅いア
クセス機構をもつ二次記憶装置では、従来、アク
セスアームを効率良く動作させることにより、性
能の実質的な向上を図つている。一方、主記憶装
置と同様に、二次記憶装置でもバツフア記憶装置
を利用すると、以後にアクセスされる領域のデー
タを高速のバツフア記憶に予め読み出しておくこ
とにより、その領域に対して実際にアクセス要求
が出された場合は高速なサービスが可能である。
しかし、バツフア記憶装置を有効に用いて平均ア
クセス時間を短縮するには、バツフアのヒツト率
を上げる必要がある。このためには、アクセスさ
れる確率の高い領域をできるだけ使用直前に読み
出し、使用可能性のなくなつた領域を早く見つ
け、そのバツフアを開放すればよいが、これに
は、フアイル領域の使用順序をできるだけ適確に
予測することと、バツフアと二次記憶装置間のデ
ータ転送を効率化することが必要である。
クセス機構をもつ二次記憶装置では、従来、アク
セスアームを効率良く動作させることにより、性
能の実質的な向上を図つている。一方、主記憶装
置と同様に、二次記憶装置でもバツフア記憶装置
を利用すると、以後にアクセスされる領域のデー
タを高速のバツフア記憶に予め読み出しておくこ
とにより、その領域に対して実際にアクセス要求
が出された場合は高速なサービスが可能である。
しかし、バツフア記憶装置を有効に用いて平均ア
クセス時間を短縮するには、バツフアのヒツト率
を上げる必要がある。このためには、アクセスさ
れる確率の高い領域をできるだけ使用直前に読み
出し、使用可能性のなくなつた領域を早く見つ
け、そのバツフアを開放すればよいが、これに
は、フアイル領域の使用順序をできるだけ適確に
予測することと、バツフアと二次記憶装置間のデ
ータ転送を効率化することが必要である。
二次記憶装置内には多くのフアイルが記憶され
ており、それぞれ連続した領域にあることが多
く、それらのフアイルがアドレス順にアクセスさ
れる順アクセスならば、使用順序と使用完了時点
を予測することが可能である。この順アクセスが
開始されたことを検出し、それ以後順アクセスさ
れると予測される領域をバツフアへ先読しておく
ことにより、以後の順アクセス要求にはバツフア
からサービスすることができる。
ており、それぞれ連続した領域にあることが多
く、それらのフアイルがアドレス順にアクセスさ
れる順アクセスならば、使用順序と使用完了時点
を予測することが可能である。この順アクセスが
開始されたことを検出し、それ以後順アクセスさ
れると予測される領域をバツフアへ先読しておく
ことにより、以後の順アクセス要求にはバツフア
からサービスすることができる。
順アクセス・モードで読み書きするサイズは、
先読したブロツクが使用済みになるまでの時間が
読出し時間になるように定めればよい。一方、1
回の入出力動作での入出力データ量を大きくする
ほど、単位データ量に対する入出力装置のの負荷
を軽減することができるので、出来るだけ大きい
サイズの入出力バツフアを用いて、まとめて入出
力動作を行うことが、入出力装置の使用効率を上
げるためには望ましいことである。しかし、バツ
フア領域も種々の入出力要求間で共用されてお
り、容量にも限度があるので、これを有効に使用
するためには、バツフアサイズを利用状況に応じ
て最適に選ぶ必要がある。
先読したブロツクが使用済みになるまでの時間が
読出し時間になるように定めればよい。一方、1
回の入出力動作での入出力データ量を大きくする
ほど、単位データ量に対する入出力装置のの負荷
を軽減することができるので、出来るだけ大きい
サイズの入出力バツフアを用いて、まとめて入出
力動作を行うことが、入出力装置の使用効率を上
げるためには望ましいことである。しかし、バツ
フア領域も種々の入出力要求間で共用されてお
り、容量にも限度があるので、これを有効に使用
するためには、バツフアサイズを利用状況に応じ
て最適に選ぶ必要がある。
このためには、バツフアの基本サイズをLバイ
トとするとき、そのLバイトの単一バツフアのデ
ータ滞留時間が小さいうちは先読みバツフア・サ
イズを拡大して、先読みデータ量を増せばよい。
これにより、データを処理プログラムに高速に供
給する可能性が増加し、処理プログラム側の実行
が加速され、入出力要求の時間間隔が短縮され
る。
トとするとき、そのLバイトの単一バツフアのデ
ータ滞留時間が小さいうちは先読みバツフア・サ
イズを拡大して、先読みデータ量を増せばよい。
これにより、データを処理プログラムに高速に供
給する可能性が増加し、処理プログラム側の実行
が加速され、入出力要求の時間間隔が短縮され
る。
本発明の目的は、二次記憶装置からデータをバ
ツフアへ先読みするにあたり、上記の点を配慮し
た二次記憶制御装置を提供することにある。
ツフアへ先読みするにあたり、上記の点を配慮し
た二次記憶制御装置を提供することにある。
しかして、本発明では入出力要求の平均時間間
隔もしくはバツフアの滞留時間を観測しておき、
これらが小さくなつている間は先読みデータを量
を増加させ、バツフアサイズを拡大してゆく。な
お、入出力要求の時間間隔が減少しなくなれば、
先読みの効果はなくなつたと考えてよいので、そ
のときはバツフアサイズを増加することを中止
し、以後、所定サイズのバツフアを用いてデータ
を先読みすればよい。又、バツフアに余裕のない
ときは、各順アクセス領域毎の単位サイズ当りの
バツフア滞留時間の大きいものゝバツフアサイズ
を小さくする。順アクセスが終了したことは、最
後に読み込んだバツフアの滞留時間が非常に増大
することで検出可能である。
隔もしくはバツフアの滞留時間を観測しておき、
これらが小さくなつている間は先読みデータを量
を増加させ、バツフアサイズを拡大してゆく。な
お、入出力要求の時間間隔が減少しなくなれば、
先読みの効果はなくなつたと考えてよいので、そ
のときはバツフアサイズを増加することを中止
し、以後、所定サイズのバツフアを用いてデータ
を先読みすればよい。又、バツフアに余裕のない
ときは、各順アクセス領域毎の単位サイズ当りの
バツフア滞留時間の大きいものゝバツフアサイズ
を小さくする。順アクセスが終了したことは、最
後に読み込んだバツフアの滞留時間が非常に増大
することで検出可能である。
以下、本発明を図示の一実施例を用いて詳細に
説明する。
説明する。
第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はアクセス要求を監視して、
個々のバツフアの使用が完了したことを検出する
回路である。個々のバツフアの使用が完了したこ
とは、各バツフア中の最終ブロツクがアクセスさ
れたことを検出することで認識できる。
る。図において、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はアクセス要求を監視して、
個々のバツフアの使用が完了したことを検出する
回路である。個々のバツフアの使用が完了したこ
とは、各バツフア中の最終ブロツクがアクセスさ
れたことを検出することで認識できる。
先読み制御テーブル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、IOTを入力するための線である。先読
みサイズ決定回路20は先読みのバツフア・サイ
ズを決定する回路で、はじめは予め定められたサ
イズで初期値をセツトするが、その後はBT、
IOT等に従つて次に読むべき最適バツフア・サイ
ズを決めてセツトする。
される領域毎に、二次記憶装置70,71からバ
ツフア記憶装置40へ所望のデータブロツクを先
読みするのに必要な情報を登録しておくメモリで
ある。この先読み制御テーブル12の1エントリ
はDA、BT、IOTおよびSZよりなる。DAは順ア
クセスが行われると予測される先頭の二次記憶ア
ドレスで、入出力要求(アクセス要求)があつた
時、順アクセス検出回路10により検索されて登
録される。BTはバツフア記憶装置40内の先読
みデータの滞留時間を表わす。言い換えると、該
当バツフアに含まれるデータが先読みされてから
利用完了するまでの時間であり、該データがバツ
フアへ読み込まれてから先読み制御回路50によ
り一定時間間隔毎に使用時間が加算されて更新さ
れる。IOTは二次記憶装置からバツフアへデータ
を読み出すまでの入力時間を示し、先読み制御回
路50によつてこの時間を監視しておき登録され
る。SZは先読みのバツフア・サイズであり、先
読みサイズ決定回路20により作られ、信号線1
02を介してセツトされる。信号線101は先読
みサイズ決定回路20が先読み制御テーブル12
からBT、IOTを入力するための線である。先読
みサイズ決定回路20は先読みのバツフア・サイ
ズを決定する回路で、はじめは予め定められたサ
イズで初期値をセツトするが、その後はBT、
IOT等に従つて次に読むべき最適バツフア・サイ
ズを決めてセツトする。
次に、第1図の動作を説明する。いま、中央処
理装置より二次記憶装置へのアクセス要求が信号
線1に出されたとする。バツフア制御回路60
は、この二次記憶装置へのアクセス要求を入力す
ると、バツフア管理テーブル30のDAフイール
ドを検索して、アクセスするブロツクがバツフア
記憶装置40に読み出されているかどうか調べ、
すでにバツフア上にあれば、それを用いて中央処
理装置とデータ線2を介してサービスを行う。
又、アクセスするブロツクがバツフア記憶装置4
0に読み出されていないときは、バツフア制御回
路60は実際に二次記憶装置70,71に対して
アクセス要求を実行し、読み出したデータのバツ
フア記憶装置40への格納、その二次記憶アドレ
ス等のバツフア管理テーブル30への登録を行う
と共に、バツフアへ読み出したデータを用いて、
あらためて中央処理装置とサービスを行なう。な
お、バツフア制御回路60は二次記憶装置70,
71から読み出したデータをバツフア記憶装置4
0へ新しく登録する際、バツフア記憶装置内の出
来るだけ使用されそうにないバツフアを選択し、
その内容を二次記憶装置70,71に書き出すこ
とにより空きバツフアを作り、新しいバツフア・
エントリとして使用する。これに関するアルゴリ
ズムはすでに種々提案されているので、これ以上
の詳細な説明は省略する。
理装置より二次記憶装置へのアクセス要求が信号
線1に出されたとする。バツフア制御回路60
は、この二次記憶装置へのアクセス要求を入力す
ると、バツフア管理テーブル30のDAフイール
ドを検索して、アクセスするブロツクがバツフア
記憶装置40に読み出されているかどうか調べ、
すでにバツフア上にあれば、それを用いて中央処
理装置とデータ線2を介してサービスを行う。
又、アクセスするブロツクがバツフア記憶装置4
0に読み出されていないときは、バツフア制御回
路60は実際に二次記憶装置70,71に対して
アクセス要求を実行し、読み出したデータのバツ
フア記憶装置40への格納、その二次記憶アドレ
ス等のバツフア管理テーブル30への登録を行う
と共に、バツフアへ読み出したデータを用いて、
あらためて中央処理装置とサービスを行なう。な
お、バツフア制御回路60は二次記憶装置70,
71から読み出したデータをバツフア記憶装置4
0へ新しく登録する際、バツフア記憶装置内の出
来るだけ使用されそうにないバツフアを選択し、
その内容を二次記憶装置70,71に書き出すこ
とにより空きバツフアを作り、新しいバツフア・
エントリとして使用する。これに関するアルゴリ
ズムはすでに種々提案されているので、これ以上
の詳細な説明は省略する。
一方、二次記憶アクセス要求が信号線1に出さ
れると、順アクセス検出回路10は、そのアクセ
ス要求に対して、最近受付けたアクセス要求のう
ちに入出力アクセスが隣り合つたものがあるかど
うかをチエツクし、もしあれば、当該アクセス要
求のアドレス以降も引き続いて順アクセスが行わ
れると予測する。そして、順アクセス検出回路1
0は、順アクセスが行われると予測される先頭の
二次記憶アドレスを先読み制御テーブル12の
ADフイールドに登録し、先読みサイズ決定回路
20および先読み制御回路50に起動をかける。
これにより、先読みサイズ決定回路20は、信号
線21を通して与えられる入出力負荷の状態によ
り初めの先読みサイズを決定して先読み制御テー
ブル12のSZフイールドに登録する。先読み制
御回路50は、この先読み制御テーブル12に新
しく登録されたDAフイールド、SZフイールドの
内容を入力して二次記憶装置70,71をアクセ
スし、そのDAフイールドで示されるアドレスか
らSZフイールドのバツフアサイズに等しいデー
タを読み出してバツフア記憶装置40に格納す
る。同時に、先読み制御回路50はバツフア管理
テーブル30上の該当エントリ(データが格納さ
れたバツフアに対応するエントリ)のADフイー
ルドに二次記憶アドレスを登録し、先読みフラグ
LA、使用未完了フラグUもあわせてセツトする。
更に先読み制御回路50は、バツフア記憶装置4
0に読み出された領域に対し、その使用開始時刻
と入力所要時間を先読み制御テーブル12のBT
フイールドとIOTフイールドに記録する。以後、
BTフイールドの内容は先読み制御回路50によ
り一定時間毎に更新され、バツフアの滞留時間を
示すことになる。
れると、順アクセス検出回路10は、そのアクセ
ス要求に対して、最近受付けたアクセス要求のう
ちに入出力アクセスが隣り合つたものがあるかど
うかをチエツクし、もしあれば、当該アクセス要
求のアドレス以降も引き続いて順アクセスが行わ
れると予測する。そして、順アクセス検出回路1
0は、順アクセスが行われると予測される先頭の
二次記憶アドレスを先読み制御テーブル12の
ADフイールドに登録し、先読みサイズ決定回路
20および先読み制御回路50に起動をかける。
これにより、先読みサイズ決定回路20は、信号
線21を通して与えられる入出力負荷の状態によ
り初めの先読みサイズを決定して先読み制御テー
ブル12のSZフイールドに登録する。先読み制
御回路50は、この先読み制御テーブル12に新
しく登録されたDAフイールド、SZフイールドの
内容を入力して二次記憶装置70,71をアクセ
スし、そのDAフイールドで示されるアドレスか
らSZフイールドのバツフアサイズに等しいデー
タを読み出してバツフア記憶装置40に格納す
る。同時に、先読み制御回路50はバツフア管理
テーブル30上の該当エントリ(データが格納さ
れたバツフアに対応するエントリ)のADフイー
ルドに二次記憶アドレスを登録し、先読みフラグ
LA、使用未完了フラグUもあわせてセツトする。
更に先読み制御回路50は、バツフア記憶装置4
0に読み出された領域に対し、その使用開始時刻
と入力所要時間を先読み制御テーブル12のBT
フイールドとIOTフイールドに記録する。以後、
BTフイールドの内容は先読み制御回路50によ
り一定時間毎に更新され、バツフアの滞留時間を
示すことになる。
バツフア制御回路60はすでに説明した様に、
信号線1にアクセス要求が出されると、バツフア
管理テーブル30を検索するが、その結果、アク
セスするブロツクが先読み制御回路50によりバ
ツフア記憶装置40に先読みされていると、それ
を用いて中央処理装置と直ちにサービスを行うこ
とができる。なお、アクセスするブロツクがバツ
フア上にない場合、バツフア制御回路60は要求
のあつたブロツクをバツフアに読み出すことにな
るが、この実際に要求された領域と前記先読み制
御回路50による先読み領域とが重複することが
考えられる。これはバツフア制御回路60に実際
に要求のあつたブロツクを優先させ、先読みブロ
ツクと重複しないようにする手段を持たせること
で解決される。
信号線1にアクセス要求が出されると、バツフア
管理テーブル30を検索するが、その結果、アク
セスするブロツクが先読み制御回路50によりバ
ツフア記憶装置40に先読みされていると、それ
を用いて中央処理装置と直ちにサービスを行うこ
とができる。なお、アクセスするブロツクがバツ
フア上にない場合、バツフア制御回路60は要求
のあつたブロツクをバツフアに読み出すことにな
るが、この実際に要求された領域と前記先読み制
御回路50による先読み領域とが重複することが
考えられる。これはバツフア制御回路60に実際
に要求のあつたブロツクを優先させ、先読みブロ
ツクと重複しないようにする手段を持たせること
で解決される。
信号線1に出された二次記憶アクセス要求はバ
ツフア使用完了検出回路11にも入力される。バ
ツフア使用完了検出回路11は該アクセス要求を
監視していて、該当バツフア中の最後のブロツク
に対する入出力要求を検出すると、バツフア管理
テーブル30の該当バツフア・エントリ中の使用
未完了フラグUをリセツトし、バツフア制御回路
60に報告する。アクセス要求が該当バツフア中
の最終ブロツクに対するものであるかどうかは、
次のようにして検出することができる。即ち、ま
ずバツフア管理テーブル30を検索して、アクセ
ス要求のあつたブロツクがバツフア記憶装置40
のどのバツフアにあるか調べ、次にDAフイール
ドの内容に一定数を加算してそのブロツクを含ん
だバツフアの最後のブロツクアドレスを求め、こ
の最終ブロツクアドレスとアクセス要求アドレス
を比較する。
ツフア使用完了検出回路11にも入力される。バ
ツフア使用完了検出回路11は該アクセス要求を
監視していて、該当バツフア中の最後のブロツク
に対する入出力要求を検出すると、バツフア管理
テーブル30の該当バツフア・エントリ中の使用
未完了フラグUをリセツトし、バツフア制御回路
60に報告する。アクセス要求が該当バツフア中
の最終ブロツクに対するものであるかどうかは、
次のようにして検出することができる。即ち、ま
ずバツフア管理テーブル30を検索して、アクセ
ス要求のあつたブロツクがバツフア記憶装置40
のどのバツフアにあるか調べ、次にDAフイール
ドの内容に一定数を加算してそのブロツクを含ん
だバツフアの最後のブロツクアドレスを求め、こ
の最終ブロツクアドレスとアクセス要求アドレス
を比較する。
バツフア制御回路60では、バツフアの使用完
了の報告を受けると、該当バツフアが変更されて
いれば、二次記憶装置70,71に書き出し処理
を行い、空きバツフアとして利用できるようにバ
ツフア管理テーブル30の中の該当エントリをク
リアし、そのFビツトを空きエントリとしてセツ
トしておく。なお、二次記憶装置への書き出し処
理は、先読みした他のバツフアとまとめて1回の
出力処理として書き出してもよい。変更のなかつ
たバツフアは改めて書き戻さないようにする。こ
の結果、入出力のための時間がさらに短縮でき
る。
了の報告を受けると、該当バツフアが変更されて
いれば、二次記憶装置70,71に書き出し処理
を行い、空きバツフアとして利用できるようにバ
ツフア管理テーブル30の中の該当エントリをク
リアし、そのFビツトを空きエントリとしてセツ
トしておく。なお、二次記憶装置への書き出し処
理は、先読みした他のバツフアとまとめて1回の
出力処理として書き出してもよい。変更のなかつ
たバツフアは改めて書き戻さないようにする。こ
の結果、入出力のための時間がさらに短縮でき
る。
上記バツフアの使用完了の検出により、該当バ
ツフアでのデータの滞留時間が決定される。先読
みサイズ決定回路20では、順アクセス検出回路
10により当該アクセス要求のアドレス以降も引
き続いて順アクセスが行われると予測される旨の
報告を受けると、先読み制御テーブル12の該当
エントリのBTフイールド、IOTフイールド、SZ
フイールドの内容を信号線101を通し入力し
て、そのBT、SZより単一バツフア当りのバツフ
ア滞留時間を求め、該バツフア滞留時間と単一バ
ツフア当りの入出力時間と、信号線21より与え
られる負荷モードに従つて、次に読み出すべき最
適バツフア・サイズを決め、信号線102を通し
て先読み制御テーブル12の該当SZフイールド
にセツトする。即ち、実際のアクセス要求のアド
レス以降も引き続いて順アクセスが行われると予
測された時、先読みサイズ決定回路20は、初め
は負荷状態等にもとづいて所定のバツフア・サイ
ズを決めるが、それ以後は、先読みバツフアの使
用完了時点毎に動的に先読みバツフア・サイズを
調整し、次に読むべき最適バツフア・サイズを決
める。先読み制御回路50は、この新しく設定さ
れたバツフア・サイズだけ先読みを実行してい
く。
ツフアでのデータの滞留時間が決定される。先読
みサイズ決定回路20では、順アクセス検出回路
10により当該アクセス要求のアドレス以降も引
き続いて順アクセスが行われると予測される旨の
報告を受けると、先読み制御テーブル12の該当
エントリのBTフイールド、IOTフイールド、SZ
フイールドの内容を信号線101を通し入力し
て、そのBT、SZより単一バツフア当りのバツフ
ア滞留時間を求め、該バツフア滞留時間と単一バ
ツフア当りの入出力時間と、信号線21より与え
られる負荷モードに従つて、次に読み出すべき最
適バツフア・サイズを決め、信号線102を通し
て先読み制御テーブル12の該当SZフイールド
にセツトする。即ち、実際のアクセス要求のアド
レス以降も引き続いて順アクセスが行われると予
測された時、先読みサイズ決定回路20は、初め
は負荷状態等にもとづいて所定のバツフア・サイ
ズを決めるが、それ以後は、先読みバツフアの使
用完了時点毎に動的に先読みバツフア・サイズを
調整し、次に読むべき最適バツフア・サイズを決
める。先読み制御回路50は、この新しく設定さ
れたバツフア・サイズだけ先読みを実行してい
く。
なお、順アクセスの予測違いを防いだり、順ア
クセスが完了した場合、該当領域に関して差読み
制御を取り止める必要がある。これは次のように
して行えばよい。先読み制御テーブル12のBT
フイールドのバツフア滞留時間は先読み制御回路
50により記録更新されており、後続のアクセス
が無くなつた場合、その値は増大する一方であ
る。そこで、先読み制御回路50で先読み制御テ
ーブル12の各BTフイールドの値をチエツク
し、それが一定値を越えた場合、該当エントリを
先読み制御テーブル12より削除する。
クセスが完了した場合、該当領域に関して差読み
制御を取り止める必要がある。これは次のように
して行えばよい。先読み制御テーブル12のBT
フイールドのバツフア滞留時間は先読み制御回路
50により記録更新されており、後続のアクセス
が無くなつた場合、その値は増大する一方であ
る。そこで、先読み制御回路50で先読み制御テ
ーブル12の各BTフイールドの値をチエツク
し、それが一定値を越えた場合、該当エントリを
先読み制御テーブル12より削除する。
次に先読みバツフア・サイズの決定方法につい
て、少し詳細に説明する。いまバツフア・サイズ
の最大、最小をそれぞれbnax、bnioとする。単一
バツフア当りのバツフア滞留時間L、入出力時間
Iは先読みバツフア・サイズbに依存して第2図
のような傾向を示す。どのバツフア・サイズが最
適であるかは、二次記憶装置への負荷(使用率)
により異なる。そこで、二次記憶装への負荷が高
いときはバツフア・サイズを大きくし、バツフア
への負荷が大きいときはバツフア・サイズを小さ
くしてやればよい。又、二次記憶装置とバツフア
への負荷がバランスしている場合は、両方への負
荷が最小になるようなバツフア・サイズを選べば
よい。負荷の状態は中央処理装置からの命令でセ
ツト、リセツトされる負荷モード信号線21によ
り先読みサイズ決定回路20に与えられ、これに
より、現在の状態が、入出力負荷が高い状態か、
CPU負荷が高い状態か、双方がバランスしてい
る状態を知ることができる。
て、少し詳細に説明する。いまバツフア・サイズ
の最大、最小をそれぞれbnax、bnioとする。単一
バツフア当りのバツフア滞留時間L、入出力時間
Iは先読みバツフア・サイズbに依存して第2図
のような傾向を示す。どのバツフア・サイズが最
適であるかは、二次記憶装置への負荷(使用率)
により異なる。そこで、二次記憶装への負荷が高
いときはバツフア・サイズを大きくし、バツフア
への負荷が大きいときはバツフア・サイズを小さ
くしてやればよい。又、二次記憶装置とバツフア
への負荷がバランスしている場合は、両方への負
荷が最小になるようなバツフア・サイズを選べば
よい。負荷の状態は中央処理装置からの命令でセ
ツト、リセツトされる負荷モード信号線21によ
り先読みサイズ決定回路20に与えられ、これに
より、現在の状態が、入出力負荷が高い状態か、
CPU負荷が高い状態か、双方がバランスしてい
る状態を知ることができる。
以上、本発明の一実施例として、第1図のよう
に各種の制御回路等をそれぞれハードウエアで構
成した場合を示したが、これらの回路ないし装置
の一部または全部をマイクロコンピユータ等によ
り等価的に構成することも可能であり、本発明が
第1図のような構成に限定されるものでないこと
は云うまでもない。
に各種の制御回路等をそれぞれハードウエアで構
成した場合を示したが、これらの回路ないし装置
の一部または全部をマイクロコンピユータ等によ
り等価的に構成することも可能であり、本発明が
第1図のような構成に限定されるものでないこと
は云うまでもない。
第1図は本発明の一実施例のブロツク図、第2
図は先読みサイズ決定方法の説明図である。 1……二次記憶アクセス要求線、2……データ
線、10……順アクセス検出回路、11……バツ
フア使用完了検出回路、12……先読み制御テー
ブル、20……先読みサイズ決定回路、30……
バツフア管理テーブル、40……バツフア記憶装
置、50……先読み制御回路、60……バツフア
制御回路、70,71……二次記憶装置。
図は先読みサイズ決定方法の説明図である。 1……二次記憶アクセス要求線、2……データ
線、10……順アクセス検出回路、11……バツ
フア使用完了検出回路、12……先読み制御テー
ブル、20……先読みサイズ決定回路、30……
バツフア管理テーブル、40……バツフア記憶装
置、50……先読み制御回路、60……バツフア
制御回路、70,71……二次記憶装置。
Claims (1)
- 【特許請求の範囲】 1 磁気デイスク等の二次記憶装置に対するアク
セス要求を処理、実行する二次記憶制御装置にお
いて、 上記二次記憶装置の一部のデータを格納してお
くための高速バツフアメモリと、 アクセス要求のデータが上記バツフアメモリに
格納されていると、該バツフアメモリに対してア
クセスを行うバツフア制御手段と、 上記二次記憶装置を先読みし、そのデータを上
記バツフアメモリに格納する先読み制御手段と、 アクセス要求の平均時間間隔又はバツフアメモ
リでのデータ滞留時間を観測し、これに基づいて
上記先読み制御手段が二次記憶装置から先読みす
るデータ量を変化せしめる手段とを有することを
特徴とする二次記憶制御装置。 2 上記アクセス要求が出されると、そのアドレ
ス以降のデータが引続いてアクセスされるかどう
か予測する手段を設け、上記先読み制御手段は、
該アクセス要求以降のデータがアクセスされると
予測された時、上記二次記憶装置を先読みするこ
とを特徴とする特許請求の範囲第1項記載の二次
記憶制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56058075A JPS57172457A (en) | 1981-04-17 | 1981-04-17 | Secondary storage controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56058075A JPS57172457A (en) | 1981-04-17 | 1981-04-17 | Secondary storage controller |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5009723A Division JPH0799510B2 (ja) | 1993-01-25 | 1993-01-25 | 二次記憶制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57172457A JPS57172457A (en) | 1982-10-23 |
JPH0415493B2 true JPH0415493B2 (ja) | 1992-03-18 |
Family
ID=13073791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56058075A Granted JPS57172457A (en) | 1981-04-17 | 1981-04-17 | Secondary storage controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57172457A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60230247A (ja) * | 1984-04-27 | 1985-11-15 | Panafacom Ltd | デイスク制御装置 |
JPS61208575A (ja) * | 1985-03-14 | 1986-09-16 | Hitachi Ltd | イメ−ジ・キヤシユ・メモリ・システム |
JPH0650479B2 (ja) * | 1987-02-13 | 1994-06-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ処理装置 |
JPS641047A (en) * | 1987-02-13 | 1989-01-05 | Internatl Business Mach Corp <Ibm> | Data processing system |
US5257370A (en) * | 1989-08-29 | 1993-10-26 | Microsoft Corporation | Method and system for optimizing data caching in a disk-based computer system |
KR102527265B1 (ko) * | 2018-08-23 | 2023-05-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
-
1981
- 1981-04-17 JP JP56058075A patent/JPS57172457A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS57172457A (en) | 1982-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3522527B2 (ja) | 入出力制御装置および入出力制御方法 | |
US5895488A (en) | Cache flushing methods and apparatus | |
US6324599B1 (en) | Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor | |
US6012106A (en) | Prefetch management for DMA read transactions depending upon past history of actual transfer lengths | |
US4489378A (en) | Automatic adjustment of the quantity of prefetch data in a disk cache operation | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
US20030212865A1 (en) | Method and apparatus for flushing write cache data | |
JP2000235520A (ja) | キャッシュ・データ管理方法 | |
EP0066766B1 (en) | I/o controller with a dynamically adjustable cache memory | |
JPH08185355A (ja) | データメモリおよびその動作方法 | |
EP0835490B1 (en) | Write cache for write performance improvement | |
JPH0415493B2 (ja) | ||
JPH08137754A (ja) | ディスクキャッシュ装置 | |
JPH04259048A (ja) | 統計情報による先読みデータ制御方式 | |
JPH08263380A (ja) | ディスクキャッシュ制御方式 | |
JPH11506238A (ja) | キャッシュ管理システムにおける順次性検出用のシステムと方法 | |
JP2943896B2 (ja) | 計算機システム及びディスク・データの制御方法 | |
JP4104283B2 (ja) | 記憶サブシステム及び情報処理システム | |
JPH0799510B2 (ja) | 二次記憶制御装置 | |
EP0513784A1 (en) | Cache control system | |
JP2502844B2 (ja) | 電子ファイル装置 | |
JP2636470B2 (ja) | データ転送パス選択方法 | |
JP2854667B2 (ja) | ディスク・キャッシュ制御方式 | |
JP2854668B2 (ja) | ディスク・キャッシュ制御方式 | |
JPH0863397A (ja) | ディスクキャッシュ制御方法 |