JPH03177946A - 磁気ディスクバッファキャッシュ制御方式 - Google Patents

磁気ディスクバッファキャッシュ制御方式

Info

Publication number
JPH03177946A
JPH03177946A JP1316429A JP31642989A JPH03177946A JP H03177946 A JPH03177946 A JP H03177946A JP 1316429 A JP1316429 A JP 1316429A JP 31642989 A JP31642989 A JP 31642989A JP H03177946 A JPH03177946 A JP H03177946A
Authority
JP
Japan
Prior art keywords
buffer
magnetic disk
control means
buffer cache
priority
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
JP1316429A
Other languages
English (en)
Inventor
Seiichiro Naka
誠一郎 中
Jun Ohata
純 大畑
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.)
TOHOKU NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
TOHOKU NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Tohoku 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 TOHOKU NIPPON DENKI SOFTWARE KK, NEC Corp, NEC Software Tohoku Ltd filed Critical TOHOKU NIPPON DENKI SOFTWARE KK
Priority to JP1316429A priority Critical patent/JPH03177946A/ja
Publication of JPH03177946A publication Critical patent/JPH03177946A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムのファイルシステムにおいて
、磁気ディスク装置とのブロックデータ入出力のために
、メモリの一部をバッファキャッシュメモリとして持ち
、その割り当てを優先順位によって行い、ブロックデー
タの読み出しを実際の磁気ディスク装置からの読み出し
ではなく、バッファキャッシュメモリからの読み出しで
済ませるようにし、ブロックデータ入出力に要する時間
を短縮するファイルシステムに関する。
〔従来の技術〕
従来、この種の計算機システムにおける磁気ディスクバ
ッファキャッシュ制御方式では、磁気ディスク装置から
ユーザバッファへのブロック転送を行う際に、磁気ディ
スク装置から読み込んだブロックデータをバッファキャ
ッシュメモリ上に保存してからユーザバッファに転送し
ている。再度、同様に磁気ディスク装置からユーザバッ
ファへのブロック転送要求が発生した場合、そのブロッ
クデータが以前既に転送されたものであり、バッファキ
ャッシュメモリ上に残っていると判断(キャツシュヒツ
ト)すると、そのバッファキャッシュメモリからのブロ
ック転送のみで済む。したがって、実際の磁気ディスク
装置からのブロック転送を必要としないため、ブロック
データ入出力に要する時間を短縮することができる。
上述した従来の磁気ディスクバッファキャッシュ制御方
式では、バッファキャッシュメモリの数の制服上、古い
ブロックデータ、即ちアクセスしてから一番時間の経過
したものは、−様に別ブロックデータに置き換えられて
いる。
〔発明が解決しようとする課題〕
従って、例え頻繁に使用するブロックデータであっても
、−時的にしか使用されないブロックデータは、同様に
バッファキャッシュメモリの数が足りなくなったときに
は、別ブロックデータにそのバッファキャッシュメモリ
を譲ることになる。
その為、次回のアクセスでは、必ず磁気ディスク装置で
の書き込みや読み出し処理が発生することになる。
したがって、本発明の課題は、従来の経過時間によるも
のだけでなく、アクセス頻度の高いブロックデータが格
納されたバッファキャッシュメモリヲなるべく他のブロ
ックデータへ割り当てないように、バッファキャッシュ
メモリに優先順位(プライオリティ)を持たせて管理を
行い、キャツシュヒツト率をなるべく向上させ、より入
出力処理に要する時間を低減することにある。
〔課題を解決するための手段〕
本発明による磁気ディスクバッファキャッシュ制御方式
は、計算機システムにおいて実行された利用者プログラ
ムからの要求により該利用者プログラム又は前記計算機
システム自体と磁気ディスク装置とのブロックデータ転
送の管理制御を行うファイルブロック制御手段と、利用
者のメモリ空間上に存在し、前記磁気ディスク装置へ書
き出すブロックデータ又は前記磁気ディスク装−置から
読み込むブロックデータを保持するユーザバッファと、
前記磁気ディスク装置と前記ユーザバッファとの間でブ
ロック転送の高速化を図る為に前記計算機システム上に
論理ブロック単位で複数個存在するバッファキャッシュ
メモリと、前記バッファキャッシュメモリの管理情報を
持つバッファヘッダと、前記バッファキャッシュメモリ
から利用すべきバッファキャッシュメモリを選択し、前
記ファイルブロック制御手段へ選択されたバッファキャ
ッシュメモリを提供するバッファキャッシュ制御手段と
、フリーバッファの獲得順番を制御する為に用いるフリ
ーバッファプライオリティテーブルと、該フリーバッフ
ァプライオリティテーブルを参照して、フリーバッファ
の利用順序を決定し、前記バッファキャッシュメモリの
ヒツト率を高める役割をするプライオリティ制御手段と
、前記磁気ディスク装置に対するブロックデータの書き
込み及び読み出しを制御する磁気ディスク装置制御手段
とを有する。
また、ブロックデータのブロック番号を予め決められた
値で割った余りとして得られるエントリに前記バッファ
ヘッダへのポインタが格納されるハツシュテーブルと、
ブロック転送実行の際に、ブロックデータが格納された
バッフ7キヤツシユメモリの探索に必要な処理手続きを
簡潔にするために、前記ハツシュテーブルの管理を行う
ハツシュテーブル制御手段と、を有してもよい。
更に、システム終了時に、それぞれのバッファキャッシ
ュメモリに存在するブロックデータのプライオリティを
前記磁気ディスク装置に保持するシステム終了制御手段
と、システム回文ち上げ時に、前記システム終了制御手
段によって保持されたブロックデータのプライオリティ
を前記磁気ディスク装置より読み出して、前回でのプラ
イオリティを継承するシステム立ち上げ制御手段と、を
有してもよい。
〔実施例〕
以下、本発明の実施例について図面を参照して説明する
第1図を参照すると、本発明の一実施例による磁気ディ
スクバッファキャッシュ制御方式が適用される計算機シ
ステムは、ファイルブロック制御手段]と、バッファキ
ャッシュ制御手段2と、磁気ディスク装置制御手段3と
、ハツシュテーブル制御手段4と、フリーバッファ制御
手段5と、プライオリティ制御手段6と、ユーザバッフ
ァ7と、バッファキャッシュメモリ8と、システム立ち
上げ制御手段つと、システム終了制御手段10と、磁気
ディスク装置11と、バッファヘッダ12と。
ハツシュテーブル13と、フリーバッファプライオリテ
ィテーブル14と、プライオリティ引き継ぎテーブル1
5とを有している。
ファイルブロック制御手段1は、計算機システムにおい
て実行された利用者プログラムからの要求により利用者
プログラム又は計算機システム自体と磁気ディスク装置
11とのブロックデータ転送の管理制御を行う。ユーザ
バッファ7は、利用者のメモリ空間上に存在し、磁気デ
ィスク装置11へ書き出すブロックデータ又は磁気ディ
スク装置11から読み込むブロックデータを保持する。
バッファキャッシュメモリ8は、磁気ディスク装置11
とユーザバッファ7との間でブロック転送の高速化を図
る為に計算機システム上に論理ブロック単位で複数個存
在する。バッファヘッダ]−2は、バッフ7キヤツシユ
メモリ8の管理情報を持つ。バッファキャッシュ制御手
段5は、バッファキャッシュメモリ8から利用すべきバ
ッファキャッシュメモリを選択し、ファイルブロック制
御手段1へ選択されたバッファキャッシュメモリを提供
する。フリーバッファプライオリティテーブル14は、
フリーバッファの獲得順番を制御する為に用いられる。
プライオリティ制御手段6は、フリーバッファプライオ
リティテーブル14を参照して、フリーバッファの利用
順序を決定し、バッファキャッシュメモリ8のヒツト率
を高める役割をする。磁気ディスク装置制御手段3は、
磁気ディスク装置11に対するブロックデータの書き込
み及び読み出しを制御する。ハツシュテーブル13は、
ブロックデータのブロック番号を予め決められた値で割
った余りとして得られるエントリにバッファヘッダ12
へのポインタが格納されている。ハツシュテーブル制御
手段4は、プロック転送実行の際に、ブロックデータが
格納されたバッファキャッシュメモリ8の探索に必要な
処理手続きを簡潔にするために、ハツシュテーブル13
の管理を行う。プライオリティ引き継ぎテーブル15は
、プライオリティ引き継ぎに利用される。
システム終了制御手段10は、システム終了時に、それ
ぞれのバッファキャッシュメモリに存在するブロックデ
ータのプライオリティを磁気ディスク装置11に保持す
る。システム立ち上げ制御手段9は、システム回文ち上
げ時に、システム終了制御手段10によって保持された
ブロックデータのプライオリティを磁気ディスク装置1
1より読み出して、前回でのプライオリティを継承する
次に、このように構成された計算機システムの磁気ディ
スクバッファキャッシュ制御方式の動作について説明す
る。
フリーバッファのプライオリティはバッファキャッシュ
メモリが確保される順番を示している。
プライオリティが小さい数であればある程、そのプライ
オリティの割当てれらたバッファキャッシュメモリのブ
ロックデータが他のブロックデータに書き変わる可能性
がある。フリーバッファのプライオリティの上げ下げの
アルゴリズムについては、様々な方法が考えられる。本
実施例では、以下にのべる5つの操作からなるアルゴリ
ズムでプライオリティの変化を制御する。
■システム初期化時(前回運転時のプライオリティを考
慮しない場合)、全てのバッファキャッシュメモリに割
り当てられているプライオリティを最低位のプライオリ
ティ、すなわち、プライオリティ○とする。
■新しくブロックデータが書き込まれたバッファキャッ
シュメモリのプライオリティをプライオリティ1とする
■キヤツシユヒツトが発生した場合、そのヒツトしたバ
ッファキャッシュメモリのプライオリティを1つ上げる
■キャツシュヒツトしなかった場合、全てのバッファキ
ャッシュメモリのプライオリティを1つ下げる。
■システム初期化時(過去の運転時のプライオリティを
考慮する場合)で過去のプライオリティ値があるブロッ
クデータの場合、全てのノくツファキャッシュメモリの
プライオリティは過去の運転時のプライオリティ番号に
つなげられる。
以下にこのアルゴリズムを具体的な例によって説明する
第2図を参照すると、システム立ち上げ時に全てのバッ
ファキャッシュメモリのヘッダは、フリバッファとして
フリーバッファプライオリティテーブル14の0番から
ポインタのチェーンにつなげられる。
バッファキャッシュメモリのバッファへ・ソダ12とは
、バッファキャシュメモリへのアドレスを持ったテーブ
ルで、計算機システムが持つノ<・ノファキャッシュメ
モリの数と同数個存在する。また、フリーバッファプラ
イオリティテーブル14とは、フリーバッファを管理す
るテーブルであり、0番からX番までのプライオリティ
番号を持ち、フリーなバッファキャッシュ群を管理する
。また、この段階では、ハツシュテーブル13にはどの
バッファヘッダ12もつながっていない。
第3図を参照して、ブロック番号が10のブロックデー
タの読み込み要求が発生し、バッファキャッシュメモリ
が1つ必要になったとする。
ファイルブロック制御手段1は、バッファキャッシュ制
御手段2に対し、フリーバッファの確保を要求する。バ
ッファキャッシュ制御手段2はハツシュテーブル制御手
段4を呼び出し、指定のブロック番号に対応したバッフ
ァヘッダ12がハツシュテーブル13に存在するかどう
かの判断を行う。この時は、まだ1つもハツシュテーブ
ル13にバッファヘッダ12がつながっていないため、
バッファキャッシュ制御手段2はフリーバッファを得る
ために、フリーバッファ制御手段5を使い、フリーバッ
ファプライオリティテーブル14から一番プライオリテ
ィの低いバッファキャシュメモリの1つを得る。この得
られたバッファキャシュメモリはバッファヘッダaをも
つとする。
この時、ハツシュテーブル制御手段4は、ハッシュテー
ブル13にバッファヘッダaをつなぐ。
磁気ディスク装置制御手段3は、磁気ディスク装置11
から確保したバッファヘッダ12に対応するバッファキ
ャシュメモリ8に対し、ブロックデータの読み込み処理
を行う。
ブロックデータの読み込みが完了すると、フリ−バッフ
1制御手段5はプライオリティ制御手段6を呼び出し、
フリーバッファプライオリティテーブル14の1番にバ
ッファヘッダaをつなぐ。
第4図を参照すると、このようにしてフリーなバッファ
キャッシュメモリはブロックデータの読み込み/書き込
みの為に次々の割り当てられ、プライオリティが変化す
る。
次に、このプライオリティ上下の例を示す。
第4図及び第5図を参照して、ブロック番号が10のブ
ロックデータの読み込み要求によって、バッファキャッ
シュ制御手段2が働いたとする。
ハツシュテーブル制御手段4において、要求のあったブ
ロック番号10と同じ番号を持ったバッファヘッダaを
発見した場合、前回アクセスした時のブロックデータが
バッファキャッシュメモリ8上にあると判断されると、
キャツシュヒツトしたことになる。
この場合、バッファキャッシュ制御手段2はバッファキ
ャッシュメモリ8上のブロックデータをユーザバッファ
7に読み込み、プライオリティ制御手段6によってブロ
ック番号が10のブロックデータのプライオリティを1
つ上げる。
第5図及び第6図を参照して、ブロック番号が79のブ
ロックデータの読み込み要求が発生したとする。このブ
ロックデータはバッファキャッシュメモリ8上にないの
で、キャツシュヒツトしない。この場合、磁気ディスク
装置制御手段3が磁気ディスク装置11からバッファキ
ャッシュメモリ8にブロック番号79のブロックデータ
を書き込んだ後で、全てのフリーバッファのプライオリ
ティは1つ下げられ、使用されたバッファヘッダCのバ
ッファキャッシュメモリに最高のプライオリティXが割
り当てられる。
第7図を参照して、システム終了時に、システム終了制
御手段10は、フリーバッファプライオリティテーブル
14からつながったバッファヘッダのチェーンをブロッ
ク番号順にソートし、プライオリティ引き継ぎテーブル
15に格納後、磁気ディスク装置11に1つのファイル
として保存する。このファイルを仮にファイルAと名づ
ける。
次回のシステム立ち上げ時には、システム立ち上げ制御
手段9が、利用者の指定によりファイルAに収められた
以前のプライオリティを引き継ぐと判断した後で、磁気
ディスク装置11からプライオリティ引き継ぎテーブル
15にファイルAに収められた以前のプライオリティ情
報を展開する。
システム立ち上げ処理完了後は、フリー・バッファの獲
得後、プライオリティ引き継ぎテーブル15をサーチし
て、同一ブロックデータを発見したら、そのプライオリ
ティ番号が引き継がれる。
以上説明した一連の処理によって、プライオリティの制
御が行われ、バッファキャッシュメモリ獲得時は、プラ
イオリティの低いものから別のブロックデータに置き換
えられる。
〔発明の効果〕
以上説明したように本発明は、フリーバッファキャッシ
ュの獲得制御を使用頻度によるプライオリティを持たせ
、さらにこれをシステム前立ち上げ時にも、数種のファ
イルとしてこのプライオリティを維持出来るようにする
ことで、利用者の運用形態にそって、よりキャツシュヒ
ツトの確率を高め、磁気ディスク装置とのデータ転送な
しにメモリ間のみの転送を行うことで、ブロックデータ
入出力時間の短縮を図り、利用者プログラムの人出力待
ち時間を低減する効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例による磁気ディスクバッファ
キャッシュ制御方式が適用される計算機システムの構成
を示すブロック図、第2図はシステム立ち上げ時にフリ
ーバッファプライオリティテーブルにバッファヘッダが
全てつながった状態を示す図、第3図はブロック番号1
0のブロックデータがバッファキャッシュメモリaに書
き込まれた状態を示す図、第4図は様々なブロックデー
タの書き込み/読み出しが発生した後の状態を示す図、
第5図は第4図の状態でブロック番号10のブロックデ
ータの読み込みがあった後の状態を示す図、第6図は第
5図の状態でブロック番号79のブロックデータの読み
込み要求が発生し、キャツシュヒツトしなかったために
全てのバッファキャッシュメモリのプライオリティが1
ずつ下がり、バッファキャッシュメモリCに磁気ディス
ク装置から読まれてきたブロック番号79のブロックデ
ータが書き込まれ、バッファキャッシュメモリCのプラ
イオリティが最高となった状態を示す図、第7図はシス
テム終了時にフリーバッファプライオリティテーブルに
つながったバッファヘッダ群の情報をプライオリティ引
き継ぎテーブルに格納後、磁気ディスク装置にファイル
Aとして書き出し、再立ち上げ時にファイルAの指定が
あり、これを磁気ディスク装置から読み出してプライオ
リティの引き継ぎを行う様子を示す図である。 1・・・ファイルブロック制御手段、2・・・バッファ
キャッシュ制御手段、3・・・磁気ディスク装置制御手
段、4・・・ハツシュテーブル制御手段、5・・・フリ
ーバッファ制御手段、6・・・プライオリティ制御手段
、7・・・ユーザバッファ、8・・・バッファキャッシ
ュメモリ、9・・・システム立ち上げ制御手段、〕0・
・・システム終了制御手段、11・・・磁気ディスク装
置、12・・・バッファヘッダ、13・・・ハツシュテ
ーブル、14・・・フリーバッファプライオリティテー
ブル、15・・・プライオリティ引き継ぎテーブル。 第2図 ハツシュテーブル 第3図 フリーバッファ プライオリティテーブル 第4図 フリーバッファ ハツシュテーブル 第5図 フリーバッファ プライオリティテーブル ハッシュテーブル 第6図 フリーバッファ プライオリティテーブル 第7図 ◆ ◆

Claims (1)

  1. 【特許請求の範囲】 1、計算機システムにおいて実行された利用者プログラ
    ムからの要求により該利用者プログラム又は前記計算機
    システム自体と磁気ディスク装置とのブロックデータ転
    送の管理制御を行うファイルブロック制御手段と、 利用者のメモリ空間上に存在し、前記磁気ディスク装置
    へ書き出すブロックデータ又は前記磁気ディスク装置か
    ら読み込むブロックデータを保持するユーザバッファと
    、 前記磁気ディスク装置と前記ユーザバッファとの間でブ
    ロック転送の高速化を図る為に前記計算機システム上に
    論理ブロック単位で複数個存在するバッファキャッシュ
    メモリと、 前記バッファキャッシュメモリの管理情報を持つバッフ
    ァヘッダと、 前記バッファキャッシュメモリから利用すべきバッファ
    キャッシュメモリを選択し、前記ファイルブロック制御
    手段へ選択されたバッファキャッシュメモリを提供する
    バッファキャッシュ制御手段と、 フリーバッファの獲得順番を制御する為に用いるフリー
    バッファプライオリティテーブルと、該フリーバッファ
    プライオリティテーブルを参照して、フリーバッファの
    利用順序を決定し、前記バッファキャッシュメモリのヒ
    ット率を高める役割をするプライオリティ制御手段と、 前記磁気ディスク装置に対するブロックデータの書き込
    み及び読み出しを制御する磁気ディスク装置制御手段と
    、 を有することを特徴とする磁気ディスクバッファキャッ
    シュ制御方式。 2、更に、ブロックデータのブロック番号を予め決めら
    れた値で割った余りとして得られるエントリに前記バッ
    ファヘッダへのポインタが格納されるハッシュテーブル
    と、 ブロック転送実行の際に、ブロックデータが格納された
    バッファキャッシュメモリの探索に必要な処理手続きを
    簡潔にするために、前記ハッシュテーブルの管理を行う
    ハッシュテーブル制御手段と、 を有することを特徴とする請求項1記載の磁気ディスク
    バッファキャッシュ制御方式。 3、更に、システム終了時に、それぞれのバッファキャ
    ッシュメモリに存在するブロックデータのプライオリテ
    ィを前記磁気ディスク装置に保持するシステム終了制御
    手段と、 システム再立ち上げ時に、前記システム終了制御手段に
    よって保持されたブロックデータのプライオリティを前
    記磁気ディスク装置より読み出して、前回でのプライオ
    リティを継承するシステム立ち上げ制御手段と、 を有することを特徴とする請求項1記載の磁気ディスク
    バッファキャッシュ制御方式。
JP1316429A 1989-12-07 1989-12-07 磁気ディスクバッファキャッシュ制御方式 Pending JPH03177946A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1316429A JPH03177946A (ja) 1989-12-07 1989-12-07 磁気ディスクバッファキャッシュ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1316429A JPH03177946A (ja) 1989-12-07 1989-12-07 磁気ディスクバッファキャッシュ制御方式

Publications (1)

Publication Number Publication Date
JPH03177946A true JPH03177946A (ja) 1991-08-01

Family

ID=18076985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1316429A Pending JPH03177946A (ja) 1989-12-07 1989-12-07 磁気ディスクバッファキャッシュ制御方式

Country Status (1)

Country Link
JP (1) JPH03177946A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787471A (en) * 1993-09-08 1998-07-28 Matsushita Electric Industrial Co., Ltd. Cache memory management apparatus having a replacement method based on the total data retrieval time and the data size
US6243108B1 (en) 1992-11-02 2001-06-05 Fujitsu Limited Method and device for processing image data by transferring the data between memories

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243108B1 (en) 1992-11-02 2001-06-05 Fujitsu Limited Method and device for processing image data by transferring the data between memories
US5787471A (en) * 1993-09-08 1998-07-28 Matsushita Electric Industrial Co., Ltd. Cache memory management apparatus having a replacement method based on the total data retrieval time and the data size

Similar Documents

Publication Publication Date Title
US8224812B2 (en) Database management system and method
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
US6415372B1 (en) Rolling back storage subsystem reconfigurations
US6480930B1 (en) Mailbox for controlling storage subsystem reconfigurations
JP4036992B2 (ja) キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
CA2281856A1 (en) Information processing system and recording medium to facilitate reading data from a large-capacity storage unit through a data buffer
JP2586219B2 (ja) 高速媒体優先解放型排他方式
JP3543661B2 (ja) 交換機ファイルシステムにおけるバッファキャッシュ方法および装置
US7293144B2 (en) Cache management controller and method based on a minimum number of cache slots and priority
JPH07248967A (ja) メモリ制御方式
JPH03177946A (ja) 磁気ディスクバッファキャッシュ制御方式
JP3020512B2 (ja) フアイルデータ管理方法
JPH10161932A (ja) ディスクキャッシュ制御方式
WO2023116581A1 (zh) 缓存管理的方法、装置、系统及存储介质
JP2001222382A (ja) ディスク装置
JP3772003B2 (ja) メモリ管理システムおよびデータ管理方法
JPH11338748A (ja) ファイルアクセス装置
JPH08272667A (ja) ファイルアクセス制御システム
JP2817911B2 (ja) キー付ファイルのアクセス制御方式
JP2735400B2 (ja) 非同期入出力制御方式
JPH02118859A (ja) 索引検索バッファ管理方式
JPH01222352A (ja) キャッシュ資源管理方式
JPH0436847A (ja) データ転送パス選択方法
JPH01191240A (ja) 循環編成ファイル処理方式