JPH01309149A - 入出力制御方式 - Google Patents

入出力制御方式

Info

Publication number
JPH01309149A
JPH01309149A JP63140091A JP14009188A JPH01309149A JP H01309149 A JPH01309149 A JP H01309149A JP 63140091 A JP63140091 A JP 63140091A JP 14009188 A JP14009188 A JP 14009188A JP H01309149 A JPH01309149 A JP H01309149A
Authority
JP
Japan
Prior art keywords
block number
read
buffer
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.)
Pending
Application number
JP63140091A
Other languages
English (en)
Inventor
Yoshio Izumida
泉田 義男
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63140091A priority Critical patent/JPH01309149A/ja
Publication of JPH01309149A publication Critical patent/JPH01309149A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔4既要〕 外部記憶装置からデータを先読みする入出力制御方式に
関し、 アクセス要求元がアクセスしたブロック番号履歴から次
に読み込むブロックを予測して先読みし、高速な入出力
を実現することを目的とし、外部記憶装置から先読みし
たデータを格納するバッファと、アクセス要求元からア
クセスされたデータのブロック番号履歴を収集する監視
部と、この監視部によって収集したブロック番号履歴に
基づいて、予め設定した予測パターンを参照して先読み
しようとするブロック番号を予測する予測部とを備え、
この予測部によって予測されたブロック番号のデータを
上記外部記憶装置から先読みして上記バッファに格納し
、アクセス要求のあったデータがこのバッファに先読み
されている場合に、該当データをアクセス要求元に転送
するように構成する。
〔産業上の利用分野〕
本発明は、外部記憶装置からデータを先読みする入出力
制御方式に関するものである。近年の半導体技術の進歩
により主記憶装置のアクセス速度は年々向上している。
しかし、外部記憶装置のアクセス速度はあまり改善され
ておらず、主起4LtK置と外部記憶装置との間のアク
セス速度のギャップが大きくなってきている。このため
、速度の異なる2つの装置間で効率良好に入出力する手
段が要望されている。
〔従来の技術と発明が解決しようとする課題〕従来の人
出力制御方式は、第7図(イ)に示すように、バッファ
を2つ用意し、1つのバッファAにデータを読み込み(
図中■)、主記憶装置11上のプログラム12がそのデ
ータを処理している間に、別のバッファBに次の指定さ
れたブロックのデータを先読みする(図中■)。このよ
うに、データの処理と、先読みとを同時並列に実行し、
入出力を実効的に高速化するようにしている。しかし、
アクセス要求元のプログラム12が次に先読みすべきデ
ータを予め指定する必要があり、プログラム12を作成
する上で入出力に関する制御を意識しなければならず、
プログラミングの生産性を低下させてしまうという問題
があった。
また、第7図(ロ)に示すように、プログラムに先読み
するデータを予め指定させることなく、あるデータ(図
中■)を読み込む場合にそのデータの存在する外部記憶
装置13上のブロックに隣接する複数のブロック(図中
■)を予め先読みする方式がある。そして、次のアクセ
スするデータ(図中■)がこれら先読みしたデータに該
当すれば、外部記憶装置13をアクセスすることなく、
バッファ14から高速にデータを読み込むことが可能と
なる。この方式は、隣接したブロックを順次アクセスす
る場合には、高速化に効果がある。
しかし、それ以外の場合には、先読みのための無駄な外
部記憶装置13へのアクセスが増大してしまい、効率的
でないという問題がある。
本発明は、アクセス要求元がアクセスしたブロック番号
履歴から次に読み込むブロックを予測して先読みし、高
速な入出力を実現することを目的としている。
〔課題を解決する手段〕
第1図は本発明の原理構成図を示す。
第1図において、主記憶装置1は、アクセス要求元とな
るプログラム2などを格納するものである。
外部記憶装置3は、データを記憶するアクセス速度の遅
いディスク装置などである。
バッファ4は、外部記憶装置3から先読みしたデータを
一時的に保持する高速メモリである。
バッファ管理部5は、バッファ4に先読みしたデータを
プログラム2に転送するなどの各種制御を行うものであ
る。
監視部6は、プログラム2が外部記憶装置3をアクセス
したブロック番号を監視してブロック番号履歴情報を収
集などするものである。
予測部7は、ブロック番号履歴情報に基づいて、次に先
読みするブロック番号を予測などするものである。
入出力部8は、外部記憶装置3に対するデータの入出力
を行うものである。
〔作用〕
本発明は、第1図に示すように、監視部6がプログラム
(アクセス要求元)2から外部記憶装置3に対するアク
セス要求のブロック番号履歴情報を収集し、予測部7が
このブロック番号履歴情報に対応する予測パターンを見
つけ、この予測パターンに対応した次に先読みするブロ
ック番号を予測してバッファ管理部5に通知し、バッフ
ァ管理部5が入出力指部8に指示して外部記憶装置3か
ら先読みしたブロックのデータをバッファ4に格納し、
プログラム2からのアクセス要求例えばREAD要求に
対応してバッファ4から該当する先読みしたデータを主
記憶装置1に転送するようにしている。
従って、プログラム(アクセス要求元)2は先読みすべ
きブロック番号を意識することなく、ブロック番号履歴
情報に基づいて予測して先読みしたバッファ4に格納さ
れているデータを、高速に読み出すことが可能となる。
〔実施例〕
次に、第2図から第6図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
第2図において、外部記憶装置3は、複数のブロックに
分割してデータを記憶するものである。
このブロックは、ディスク装置におけるデータ記憶単位
例えばレコードである。
バッファ4は、複数のバッファブロックから構成されて
いる(第3図参照)。
監視部6は、プログラム2が外部記憶装置3をアクセス
するブロック番号を監視する監視制御部6a、この監視
して収集したブロック番号をスタックしてブロック番号
履歴を収集するブロック番号スタック6bなどから構成
されている。ブロック番号スタック6bは、複数あり、
入出力を要求するプログラム2毎、および要求先の外部
記憶装置3毎に設けて、ブロック番号頑歴を収集するよ
うにしている。
予測部7は、予測パターンを予め格納する予測パターン
スタック7b、監視部6によって収集されたブロック番
号履歴に基づいて次に先読み、すべきブロック番号を予
測する予測計算部7c、プログラム2から通知された設
定パターンを予測バクーンスタック7bに設定する予測
パターン設定部7d、および各種制御を行う予測制御部
7aなどから構成されている。予測パターンスタック7
bは、複数存在し、プログラム2毎、および外部記憶装
置3毎に設け、これらに対応した予測パターンを格納す
る。
第3図は、第2図バッファ4を構成するバッファブロッ
ク例を示す。ここで、ブロックNoは、外部記憶装置3
から当該バッファプロ、りに先読みしたブロック番号を
表す。更新フラグは、プログラム2からのREAD要求
に対応して、当該ハソファブロノク内のデータを転送し
た時にセットするものであり、いわばヒントした状態を
表すフラグである。このフラグがセントされているバッ
ファブロックは、再度READ要求がある確率が裔いL
のとして、取り扱うようにする。データは、外部記憶装
置3から読み出した当該ブロックN。
のデータである。
次に、第4図フローチャートに示す順序に従い、第2図
構成の動作を第5図および第6図を用いて詳細に説明す
る。
第4図において、■は、プログラム2がバッファ管理部
5に対してread  iを発行する。
■は、バッファ4にあるか否かを検索する。これは、バ
ッファ管理部5が、第3図バッファブロック内のバッフ
ァNoを検索して読み出し要求のあったブロックiが存
在するか否かを判別することを意味している。YESの
場合には、■で当該見つけたブロックiのデータを主記
憶装置1に転送する。Noの場合には、バッファ管理部
5が入出力部8に指示して外部記憶装置3からブロック
iのデータをバッファ4に格納し、■でブロックNOの
登録およびリンクを張り、■で当8亥バッファ4から主
記憶装置1にデータ転送する。
次に、以下の処理によって先読みを行う。
■は、監視部6でブロック番号スタック6bにread
  iをPUS)f(ブツシュ)する。これは、プログ
ラム2がバッファ管理部5に対して読み込み要求したブ
ロック番号を監視してブロック番号届歴を収集すること
を意味している。
■は、予測部7がブロック番号スタック6bをみて、予
測パターンスタック7bも参照して、次にアクセスする
ブロックjを予測する。これは、ブロック番号スタック
6bから取り出したブロック番号履歴をみていずれの予
測パターンが適切かを判別し、該当予測パターン(順次
アクセスパターン、クラスタアクセスパター、ランダム
アクセスパターンなど)に基づいて、先読みするブロッ
クjを予測することを意味している。具体的に言えば、
ブロック番号回層が例えば第6図(イ)順次アクセスパ
ターンに示すように収集され、図中■の位置でプログラ
ム2が非連続ブロックkをread要求した場合、この
非連続ブロックkを外部記憶装置3から読み込んでプロ
グラム2に転送すると同時に、このブロックkに続くブ
ロックに+1、k+2・・・などを先非光みするフ゛ロ
ックと予測する。この他、ブロック番号履歴に対応して
、第6図(ロ)、(ハ)に示すように先読みするプロ、
りを予測する(後述する)。
■は、バッファ管理部5にブロックjのread要求(
入出力)を行う。
■は、バッファ管理部5が入出力部9へI10要求する
[相]は、外部記憶装置からバッフ14ヘデータ転送す
る。
■は、プログラム2からread要求したブロックがバ
ッファ4内に存在した場合、当該バ・7フア4から主記
憶装置1ヘデータ転送する。
以上の手順によって、プログラム2からtead要求の
あったブロック番号を収集したブロック番号雇歴に基づ
いて、該当する予測パターンを用いて次に読み込むブロ
ックjを予測して外部記憶装置3からバッファ4に先読
みすることにより、プログラム2が外部記憶装置3から
実効的に高速にデータ読み出しを行うことが可能となる
第5図は、予測バクーン例を示す。
第5図(イ)において、“順次(順次アクセスパターン
)”は、ブロックi、i+l、i+2・・・などのよう
に、連続するブロックをread要求するパターンであ
る。“クラスタパターン”は、フ゛ロックi、i+l、
i+2、フ′ロックj、j+l、j+2、プロ、りに、
に+l、k+2というように、あるプロ、りの前後の数
ブロックをread要求するパターンである。“ランダ
ムパターン”は、規則性がないブロック番号のデータを
read要求するパターンである。これらのパターンに
、コードNOを図示のように付与して、パターン管理し
ている。
第5図(ロ)において、予測パターンスタックは、第5
図(イ)順次アクセスパターン、クラスタパターン、ラ
ンダムパターンなどに対応して次に外部記憶装置3から
先読みするブロックNoを予測するパターンを予め格納
したものである。この子側パターンスタックは、プログ
ラム(アクセス要求元)2毎、外部記憶装置3毎に設け
る。
第6図は、予測説明図を示す。
第6図(イ)は、順次アクセスパターン例を示す。これ
は、図示のようにプログラム2がread 1.1→−
1、i+2− ・−i+9とread要求したブロック
番号履歴から順次アクセスパターンと判断され、次に、
図中■で非連続ブロックであるブロックkについてre
ad要求した場合、このブロックkに続くブロックに+
L、k+2、・・・を次に先読みすべきブロックと予測
し、これらのブロックをバッファ4に先読み込みするよ
うにしている。
第6図(ロ)は、クラスタアクセスパターン例を示す。
これは、図示のようにプログラム2がread  i、
i+1.、i−1、read j、、j=1、j+2、
read  kXk+2、k−2ととread要求した
ブロック番号履歴からあるブロック番号の近傍をアクセ
スするいわゆるクラスタアクセスパターンと判断され、
次に、図中■で非連続ブロックであるブロック1+5に
ついてread要求した場合、このブロックi+5の前
後Δの範囲内の例えばブロック1+3.1+4.1+5
、i+5、i+7を次に先読みすべきブロックと予測し
、これらのプロ・ツタをバッファ4に先読みするように
している。
第6図(ハ)は、ランダムアクセスパターン例を示す。
これは、プログラム2がランダムなブロック番号につい
てread要求したと判断された場合、あまり多くのブ
ロックを先読みしないように制御する。
また、プログラム2が設定パターンを予測パターン設定
部7dに通知し、予測パターンスタック7bに登録し、
プログラム2が次に先読みするブロック番号を指示する
ようにしてもよい。
〔発明の効果〕
以上説明したように、本発明によれば、アクセス要求元
が外部記憶装置3をアクセスしたブロック番号を収集し
たブロック番号脂層に基づいて、該当する予測パターン
を適用して次に先読みするブロック番号を予測してバッ
ファに先読みする構成を採用しているため、プログラム
(アクセス要求元)2は先読みすべきブロック番号を意
識することなく、ブロック番号履歴情報に基づいて先読
みを効率的に実行し、外部記憶装置に対する入出力を実
効的に高速にすることができる。
【図面の簡単な説明】
第1図は本発明の原理構成図、第2図は本発明の1実施
例構成図、第3図はハノファプロソク例、第4図は本発
明の動作説明フローチャート、第5図は予測パターン例
、第6図は予測説明図、第7図は従来技術の説明図を示
す。 図中、1は主記憶装置、2はプログラム(アクセス要求
元)、3は外部記憶装置、4はバッファ、5はバッファ
管理部、6は監視部、6bはブロック番号スタ、り、7
は予測部、7bは予測パターンスタック、7Cは予測計
算部、7dは予測パターン設定部、8は入出力部を表す

Claims (1)

  1. 【特許請求の範囲】 外部記憶装置からデータを先読みする入出力制御方式に
    おいて、 外部記憶装置(3)から先読みしたデータを格納するバ
    ッファ(4)と、 アクセス要求元からアクセスされたデータのブロック番
    号履歴を収集する監視部(6)と、この監視部(6)に
    よって収集したブロック番号履歴に基づいて、予め設定
    した予測パターンを参照して先読みしようとするブロッ
    ク番号を予測する予測部(7)とを備え、 この予測部(7)によって予測されたブロック番号のデ
    ータを上記外部記憶装置(3)から先読みして上記バッ
    ファ(4)に格納し、アクセス要求のあったデータがこ
    のバッファ(4)に先読みされている場合に、該当デー
    タをアクセス要求元に転送するように構成したことを特
    徴とする入出力制御方式。
JP63140091A 1988-06-07 1988-06-07 入出力制御方式 Pending JPH01309149A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63140091A JPH01309149A (ja) 1988-06-07 1988-06-07 入出力制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63140091A JPH01309149A (ja) 1988-06-07 1988-06-07 入出力制御方式

Publications (1)

Publication Number Publication Date
JPH01309149A true JPH01309149A (ja) 1989-12-13

Family

ID=15260745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63140091A Pending JPH01309149A (ja) 1988-06-07 1988-06-07 入出力制御方式

Country Status (1)

Country Link
JP (1) JPH01309149A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184652A (ja) * 1990-11-20 1992-07-01 Nec Corp リモートファイル読み込み方式
JPH05204728A (ja) * 1992-01-27 1993-08-13 Hitachi Ltd データベース検索のインテリジェントフェッチ方式
JP2000003309A (ja) * 1998-06-15 2000-01-07 Fujitsu Ltd 記憶装置
JP2008310436A (ja) * 2007-06-12 2008-12-25 Mizuho Information & Research Institute Inc レセプト管理システム、レセプト管理方法及びレセプト管理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184652A (ja) * 1990-11-20 1992-07-01 Nec Corp リモートファイル読み込み方式
JPH05204728A (ja) * 1992-01-27 1993-08-13 Hitachi Ltd データベース検索のインテリジェントフェッチ方式
JP2000003309A (ja) * 1998-06-15 2000-01-07 Fujitsu Ltd 記憶装置
JP2008310436A (ja) * 2007-06-12 2008-12-25 Mizuho Information & Research Institute Inc レセプト管理システム、レセプト管理方法及びレセプト管理プログラム

Similar Documents

Publication Publication Date Title
RU2643651C2 (ru) Система и способ для вычисления дайджеста сообщений
JP4085389B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法
JPS6150350B2 (ja)
JPH0219945A (ja) 主記憶制御装置
US20060179277A1 (en) System and method for instruction line buffer holding a branch target buffer
JP2004500647A (ja) アシストプロセッサを使用して1次プロセッサのデータ値をプリフェッチするための方法および装置
JP2004054916A (ja) プロセッサ間のハードウェア支援通信を実行する方法
JP2001060169A (ja) キャッシュコントローラ及びコンピュータシステム
JPH01309149A (ja) 入出力制御方式
WO2003040948A1 (en) Computer and control method
JPS63172343A (ja) 命令先取り方式
JP7378823B2 (ja) システム、データ処理方法、及びプログラム
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP2523539B2 (ja) 入出力処理方式
TW200415515A (en) System for allowing only a partial value prediction field/cache size
JPH10247182A (ja) マルチプロセッサシステム
JPH03154139A (ja) キャッシュメモリ
JP7141977B2 (ja) 制御装置および制御方法
JPH08314803A (ja) ディスクキャッシュ制御装置
JP2000122880A (ja) リアルタイムosを搭載した情報処理装置
WO2025215775A1 (ja) デバイスデータアクセス装置、デバイスデータアクセス方法およびプログラム
JP2641399B2 (ja) フアイル管理装置
JPH04107634A (ja) メモリデータバイパス制御方式
JPH05225058A (ja) 記憶制御装置
JPH0981402A (ja) マルチプロセッサシステム