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
Application number
JP56058075A
Other languages
English (en)
Other versions
JPS57172457A (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 JP56058075A priority Critical patent/JPS57172457A/ja
Publication of JPS57172457A publication Critical patent/JPS57172457A/ja
Publication of JPH0415493B2 publication Critical patent/JPH0415493B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
回の入出力動作での入出力データ量を大きくする
ほど、単位データ量に対する入出力装置のの負荷
を軽減することができるので、出来るだけ大きい
サイズの入出力バツフアを用いて、まとめて入出
力動作を行うことが、入出力装置の使用効率を上
げるためには望ましいことである。しかし、バツ
フア領域も種々の入出力要求間で共用されてお
り、容量にも限度があるので、これを有効に使用
するためには、バツフアサイズを利用状況に応じ
て最適に選ぶ必要がある。
このためには、バツフアの基本サイズを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はアクセス要求を監視して、
個々のバツフアの使用が完了したことを検出する
回路である。個々のバツフアの使用が完了したこ
とは、各バツフア中の最終ブロツクがアクセスさ
れたことを検出することで認識できる。
先読み制御テーブル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等に従つて次に読むべき最適バツフア・サイ
ズを決めてセツトする。
次に、第1図の動作を説明する。いま、中央処
理装置より二次記憶装置へのアクセス要求が信号
線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によ
り一定時間毎に更新され、バツフアの滞留時間を
示すことになる。
バツフア制御回路60はすでに説明した様に、
信号線1にアクセス要求が出されると、バツフア
管理テーブル30を検索するが、その結果、アク
セスするブロツクが先読み制御回路50によりバ
ツフア記憶装置40に先読みされていると、それ
を用いて中央処理装置と直ちにサービスを行うこ
とができる。なお、アクセスするブロツクがバツ
フア上にない場合、バツフア制御回路60は要求
のあつたブロツクをバツフアに読み出すことにな
るが、この実際に要求された領域と前記先読み制
御回路50による先読み領域とが重複することが
考えられる。これはバツフア制御回路60に実際
に要求のあつたブロツクを優先させ、先読みブロ
ツクと重複しないようにする手段を持たせること
で解決される。
信号線1に出された二次記憶アクセス要求はバ
ツフア使用完了検出回路11にも入力される。バ
ツフア使用完了検出回路11は該アクセス要求を
監視していて、該当バツフア中の最後のブロツク
に対する入出力要求を検出すると、バツフア管理
テーブル30の該当バツフア・エントリ中の使用
未完了フラグUをリセツトし、バツフア制御回路
60に報告する。アクセス要求が該当バツフア中
の最終ブロツクに対するものであるかどうかは、
次のようにして検出することができる。即ち、ま
ずバツフア管理テーブル30を検索して、アクセ
ス要求のあつたブロツクがバツフア記憶装置40
のどのバツフアにあるか調べ、次にDAフイール
ドの内容に一定数を加算してそのブロツクを含ん
だバツフアの最後のブロツクアドレスを求め、こ
の最終ブロツクアドレスとアクセス要求アドレス
を比較する。
バツフア制御回路60では、バツフアの使用完
了の報告を受けると、該当バツフアが変更されて
いれば、二次記憶装置70,71に書き出し処理
を行い、空きバツフアとして利用できるようにバ
ツフア管理テーブル30の中の該当エントリをク
リアし、そのFビツトを空きエントリとしてセツ
トしておく。なお、二次記憶装置への書き出し処
理は、先読みした他のバツフアとまとめて1回の
出力処理として書き出してもよい。変更のなかつ
たバツフアは改めて書き戻さないようにする。こ
の結果、入出力のための時間がさらに短縮でき
る。
上記バツフアの使用完了の検出により、該当バ
ツフアでのデータの滞留時間が決定される。先読
みサイズ決定回路20では、順アクセス検出回路
10により当該アクセス要求のアドレス以降も引
き続いて順アクセスが行われると予測される旨の
報告を受けると、先読み制御テーブル12の該当
エントリのBTフイールド、IOTフイールド、SZ
フイールドの内容を信号線101を通し入力し
て、そのBT、SZより単一バツフア当りのバツフ
ア滞留時間を求め、該バツフア滞留時間と単一バ
ツフア当りの入出力時間と、信号線21より与え
られる負荷モードに従つて、次に読み出すべき最
適バツフア・サイズを決め、信号線102を通し
て先読み制御テーブル12の該当SZフイールド
にセツトする。即ち、実際のアクセス要求のアド
レス以降も引き続いて順アクセスが行われると予
測された時、先読みサイズ決定回路20は、初め
は負荷状態等にもとづいて所定のバツフア・サイ
ズを決めるが、それ以後は、先読みバツフアの使
用完了時点毎に動的に先読みバツフア・サイズを
調整し、次に読むべき最適バツフア・サイズを決
める。先読み制御回路50は、この新しく設定さ
れたバツフア・サイズだけ先読みを実行してい
く。
なお、順アクセスの予測違いを防いだり、順ア
クセスが完了した場合、該当領域に関して差読み
制御を取り止める必要がある。これは次のように
して行えばよい。先読み制御テーブル12のBT
フイールドのバツフア滞留時間は先読み制御回路
50により記録更新されており、後続のアクセス
が無くなつた場合、その値は増大する一方であ
る。そこで、先読み制御回路50で先読み制御テ
ーブル12の各BTフイールドの値をチエツク
し、それが一定値を越えた場合、該当エントリを
先読み制御テーブル12より削除する。
次に先読みバツフア・サイズの決定方法につい
て、少し詳細に説明する。いまバツフア・サイズ
の最大、最小をそれぞれbnax、bnioとする。単一
バツフア当りのバツフア滞留時間L、入出力時間
Iは先読みバツフア・サイズbに依存して第2図
のような傾向を示す。どのバツフア・サイズが最
適であるかは、二次記憶装置への負荷(使用率)
により異なる。そこで、二次記憶装への負荷が高
いときはバツフア・サイズを大きくし、バツフア
への負荷が大きいときはバツフア・サイズを小さ
くしてやればよい。又、二次記憶装置とバツフア
への負荷がバランスしている場合は、両方への負
荷が最小になるようなバツフア・サイズを選べば
よい。負荷の状態は中央処理装置からの命令でセ
ツト、リセツトされる負荷モード信号線21によ
り先読みサイズ決定回路20に与えられ、これに
より、現在の状態が、入出力負荷が高い状態か、
CPU負荷が高い状態か、双方がバランスしてい
る状態を知ることができる。
以上、本発明の一実施例として、第1図のよう
に各種の制御回路等をそれぞれハードウエアで構
成した場合を示したが、これらの回路ないし装置
の一部または全部をマイクロコンピユータ等によ
り等価的に構成することも可能であり、本発明が
第1図のような構成に限定されるものでないこと
は云うまでもない。
【図面の簡単な説明】
第1図は本発明の一実施例のブロツク図、第2
図は先読みサイズ決定方法の説明図である。 1……二次記憶アクセス要求線、2……データ
線、10……順アクセス検出回路、11……バツ
フア使用完了検出回路、12……先読み制御テー
ブル、20……先読みサイズ決定回路、30……
バツフア管理テーブル、40……バツフア記憶装
置、50……先読み制御回路、60……バツフア
制御回路、70,71……二次記憶装置。

Claims (1)

  1. 【特許請求の範囲】 1 磁気デイスク等の二次記憶装置に対するアク
    セス要求を処理、実行する二次記憶制御装置にお
    いて、 上記二次記憶装置の一部のデータを格納してお
    くための高速バツフアメモリと、 アクセス要求のデータが上記バツフアメモリに
    格納されていると、該バツフアメモリに対してア
    クセスを行うバツフア制御手段と、 上記二次記憶装置を先読みし、そのデータを上
    記バツフアメモリに格納する先読み制御手段と、 アクセス要求の平均時間間隔又はバツフアメモ
    リでのデータ滞留時間を観測し、これに基づいて
    上記先読み制御手段が二次記憶装置から先読みす
    るデータ量を変化せしめる手段とを有することを
    特徴とする二次記憶制御装置。 2 上記アクセス要求が出されると、そのアドレ
    ス以降のデータが引続いてアクセスされるかどう
    か予測する手段を設け、上記先読み制御手段は、
    該アクセス要求以降のデータがアクセスされると
    予測された時、上記二次記憶装置を先読みするこ
    とを特徴とする特許請求の範囲第1項記載の二次
    記憶制御装置。
JP56058075A 1981-04-17 1981-04-17 Secondary storage controller Granted JPS57172457A (en)

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)

* Cited by examiner, † Cited by third party
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 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템

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
EP1074916B1 (en) Hardware mechanism for managing cache structures in a data storage system
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
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) ディスクキャッシュ制御方法