JP3066623B2 - ディスクキャッシュ制御方式 - Google Patents

ディスクキャッシュ制御方式

Info

Publication number
JP3066623B2
JP3066623B2 JP5051405A JP5140593A JP3066623B2 JP 3066623 B2 JP3066623 B2 JP 3066623B2 JP 5051405 A JP5051405 A JP 5051405A JP 5140593 A JP5140593 A JP 5140593A JP 3066623 B2 JP3066623 B2 JP 3066623B2
Authority
JP
Japan
Prior art keywords
cache
data
area
magnetic disk
stored
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 - Fee Related
Application number
JP5051405A
Other languages
English (en)
Other versions
JPH06243040A (ja
Inventor
昭七 宗像
崇幸 栗林
恵一 勇
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 JP5051405A priority Critical patent/JP3066623B2/ja
Publication of JPH06243040A publication Critical patent/JPH06243040A/ja
Application granted granted Critical
Publication of JP3066623B2 publication Critical patent/JP3066623B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、磁気ディスク記憶装置
を有するシステムにおけるディスクキャッシュ制御方式
に係り、特に、キャッシュ専用ハードウェアを設けるこ
となくキャッシュ機能を実現できるディスクキャッシュ
制御方式に関する。
【0002】
【従来の技術】従来の技術においては、キャッシュ制御
部、キャッシュメモリ等キャッシュ専用のハードウェア
を付加する構成をとっていた。また、キャッシュメモリ
に格納される先読みデータも、ディスク回転待の間のト
ラック全てのデータをキャッシュメモリへ転送し保持す
るという方式となっている。この種の方式として、特開
平3−116221等が知られている。
【0003】
【発明が解決しようとする課題】上記従来技術は、基本
的にキャッシユ専用の制御部およびメモリをハードウェ
アとして持っており、原価的に高価な作りとなってい
る。近年磁気ディスクの標準インタフェースとなってい
るSCSI I/Fにおいて、SCSIバスのデータ転
送速度が遅いため、磁気ディスク装置そのものの性能を
引き出せていないと言う問題があり、特にCOBOL言
語及び順編成ファイルのソート処理等の様にレコード単
位でデータを扱う処理において性能上問題があった。本
発明の目的は、キャッシユ機能を持たない磁気ディスク
でも専用のハードウェアを持つことなくキャッシユ機能
を安価に提供すると共に、COBOL言語等レコード単
位でデータを扱う処理に対しても処理性能を向上させる
ことにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、主記憶装置のハードウェア専用領域に複数のキャッ
シュ用エリアを設け、磁気ディスク制御装置の制御部に
キャッシュ用エリア対応にキャッシュ制御テーブルを設
ける。そして、前記制御部は、中央処理装置から入出力
起動命令を受け、読み出し起動のとき、起動パラメータ
の起動数が所定値より大きな場合には、磁気ディスク装
置からデータを読み出し主記憶装置のユーザエリアに転
送格納する。起動数が所定値以下の場合は、起動パラメ
ータとキャッシュ制御テーブルの内容を比較し、一致し
たときは、一致したキャッシュ制御テーブルに対応する
キャッシュ用エリアのデータをユーザエリアに転送格納
する。不一致のときは、更新順位の低いキャッシュ制御
テーブルを、前記起動パラメータの内の起動アドレスを
該起動アドレスに起動数を加えたアドレスとした起動パ
ラメータで更新し、磁気ディスク装置から前記起動数の
倍のデータを読み出し、前半分のデータを前記ユーザエ
リアに転送格納し、後半分のデータを前記更新したキャ
ッシュ制御テーブルに対応するキャッシュ用エリアに先
読みデータとして転送格納するようにしている。
【0005】
【作用】上記の手段を取ることにより、起動パラメータ
の起動数が所定数より大きな場合には、磁気ディスク装
置から読み出されたデータはそのまま主記憶装置のユー
ザエリアに転送格納するが、起動数が所定数以下の場合
には、起動パラメータとキャッシュ制御テーブルの内容
が一致すれば、該テーブルに対応するキャッシュ用エリ
アに格納されている先読みデータがユーザエリアに転送
格納し、不一致ならば、更新順位の低いキャッシュ制御
テーブルの内容を更新して、起動パラメータのディスク
装置NOと起動数と、起動アドレスに起動数を加えて得
られるアドレスに書替え、起動数の倍のデータを磁気デ
ィスク装置から読み出し、前半分のデータを本来の指定
された読み出しデータとして前記ユーザエリアに転送格
納し、後半分のデータを前記更新したキャッシュ制御テ
ーブルに対応するキャッシュ用エリアに先読みデータと
して転送格納するようにしているので、キャッシユ専用
ハードウェアを備えていなくても、磁気ディスク制御装
置に多少手を加えることにより、少ないメモリ容量でキ
ャッシユ機能を安価、容易に実現することができる。
【0006】
【実施例】以下本発明の1実施例を図1〜図4により具
体的に説明する。
【0007】図1は、本発明におけるシステム構成を示
すブロック図であり、1はプログラムを解析実行しデー
タ転送受授を行うDMAC(DMAコントローラ)6を
具備した中央処理部(CPU)であり、2はユーザエリ
アおよびハードウェア専用領域を設けた主記憶装置、3
は磁気ディスク装置を制御する磁気ディスク制御装置
(DKC)である。7はDKCを制御するマイクロプロ
セッサ(MP)であり、4は磁気ディスク装置(DK
U)である。通常磁気ディスクへの起動は、CPU1よ
り入出力起動命令が発令され、データバス5を通してD
KC3へ転送される。DKC3では、マイクロプロセッ
サ7が、入出力起動命令の入出力起動パラメータを解析
し、DKU4へ起動をかけ、データバス5、DMAC6
を通して主記憶装置のユーザエリアへデータが、転送さ
れる。ここで、入出力起動パラメータは、図3に60と
して示されており、ディスク装置NO、コマンド、起動
アドレス、起動数、チェイニング テーブル アドレスか
らなる。本実施例では、詳細には後述するが、入出力起
動パラメータを解析して読み出し起動のとき、、起動数
(例えば、セクタ数)が所定値より大きければ、上述の
通常のデータ転送、すなわち、起動数だけのデータが磁
気ディスクから読み出され、主記憶装置のユーザエリア
へ転送される。起動数が所定値以下の場合には、キャッ
シュ制御処理へと移行する。すなわち、既に起動アドレ
スから起動数分のデータがハードウェア専用領域のキャ
ッシュ用エリアに格納されていれば、このキャッシュ用
エリアに格納されているデータがユーザエリアに転送記
憶されるが、キャッシュ用エリアに格納されていなけれ
ば、起動アドレスから起動数分のデータがユーザエリア
に転送記憶され、続く起動数分だけのデータが先読みデ
ータとしてハードウェア専用領域のキャッシュ用エリア
に転送記憶される。そして、これらの制御は後述する各
種テーブルを用いて行なわれる。
【0008】図2は、主記憶装置2のハードウェア専用
領域に、本実施例にて使用するキャッシュ用エリア1
0、11およびチェイニングテーブル12を割り当てた
様子を示した図である。図3は、本実施例において使
用、作成する制御情報およびそのテーブルを示してい
る。キャッシュ制御テーブルは、ハードウェア専用領域
のキャッシュ用エリアに格納されているデータに関する
パラメータが記述されており、キャッシュ用エリア1、
2に対応して2面用意され、これらのテーブルはマイク
ロプロセッサ7の内部メモリに用意されている。キャッ
シュ制御フラグは最後に更新したテーブルを指示するフ
ラグであり、マイクロプロセッサ7内に用意されてい
る。磁気ディスク入出力起動パラメータは磁気ディスク
起動時にマイクロプロセッサ7に送られるものであり、
チェイニングテーブル70はDKC3内のレジスタに用
意され、チェイニングテーブル80はハードウェア専用
領域に設けられたチェイニングテーブル12である。
【0009】図4は、本実施例における処理の概略フロ
ーを示している。CPU1よりDKC3へ入出力起動命
令が発行されると、DKC3は、MP7により入出力起
動命令を受理して処理を行ない、読み出し起動のとき処
理100に移る。処理100にて、DKU4への起動数
をチェックする。本実施例では起動数が4セクタ(レコ
ード)以下か否かを判定している。ここで、起動数が、
4セクタ以下の場合、本発明におけるキャッシュ制御処
理へと移行する。4セクタより大きな場合は通常処理を
行ない、起動アドレスから起動数分のセクタのデータを
ユーザエリアに転送記憶する。すなわち、チェイニング
テーブル70にて示されているユーザエリア内のデータ
転送アドレスへ、起動数に対応するデータ転送数(バイ
ト数)(1セクタは256Bとしている)だけ転送す
る。チェイニングテーブル70のデータ転送アドレス、
データ転送数は入出力起動パラメータ発行時にセットさ
れる。なお、上記の判定の基準となる起動数、すなわ
ち、キャッシュ制御処理へと移行する起動数は、4セク
タに限られるわけではなく、任意に指定できるが、余り
大きな起動数を指定すると、ハードウェア専用領域にデ
ータを格納できなくなり、また、磁気ディスクからデー
タを読み出すために要する時間が長くなり、次の命令の
実行に支障を来たすことになる。
【0010】処理101では、入出力起動パラメータ
と、キャッシュ制御テーブル40または50内のパラメ
ータであるディスク装置NO、起動アドレス、起動数と
が同一値であるか比較計算する。比較結果が同一値で一
致したならば、キャシシュヒットしたと考え処理110
へ移行する。なお、本実施例では、キャッシュ制御テー
ブル40、50と2面設定しているが、本テーブルも任
意に増すことができる。処理110では、キャシシュヒ
ットしたテーブルに対応したハードウェア専用領域のキ
ャッシュ用エリアに格納されているデータを、チェイニ
ングテーブル70にて示されているユーザエリア内のデ
ータ転送アドレスへ、起動数に対応するデータ転送数
(バイト数)だけ転送する。入出力起動パラメータと、
キャッシュ制御テーブルのパラメータとの比較の結果、
キャッシュ制御テーブル40、50のいずれとも一致が
取れなかった場合には、処理102へ移行する。
【0011】処理102では、キャッシュ制御フラグ3
0をチェックする。キャッシュ制御フラグは、キャッシ
ュ制御テーブル40、50のどちら側が最後に更新した
テーブル、すなわち、更新順位の高いテーブルかを示す
フラグであり、マイクロプロセッサ7内に記憶されてい
る。フラグは、オン(‘1')のとき1面目(キャッシ
ュ制御テーブル40)を更新している事を示し、オフ
(‘0')のとき2面目(キャッシュ制御テーブル5
0)を更新している事を示す。フラグはキャッシュ制御
テーブルの更新に伴い後述するように更新される。フラ
グがオンのときは処理103へ、オフのときは処理10
4へ移行する。
【0012】処理103、104では、該当キャッシュ
制御テーブルの、ディスク装置NO、起動アドレス、起
動数を更新設定する。ここで、ディスク装置NOは、磁
気ディスク入出力起動バラメータ60内のディスク装置
NOを設定する。起動アドレスは、磁気ディスク入出力
起動パラメータ60内の起動アドレスに同パラメータ6
0内の起動数を加算した値を、起動アドレスとして設定
する。起動数には、同パラメータ60内の起動数そのも
のを設定する。この様にして各データ設定後、処理10
5へ移行する。なお、該当ハードウェア専用領域アドレ
スとしては対応するキャッシュ用エリアのアドレスが設
定されている。処理105では、キャッシュ制御フラグ
30を更新する。処理106では、DKU4を実際に起
動するパラメータを更新する。すなわち、キャッシユ用
先読みデータの読み取りを実行させる為、磁気ディスク
入出力起動パラメータ60内の起動数を2倍に設定し直
す。
【0013】処理107では、チェイニングテーブルの
作成が行なわれる。すなわち、チェイニングテーブル8
0(ハードウェア専用領域のチェイニングテーブル12
と同じ)に対するハードウェア専用領域アドレスとデー
タ転送数(起動数)の設定およびチェイニングテーブル
70に対する次のチェイニングテーブルアドレスの設定
が行なわれる。ハードウェア専用領域アドレスとして
は、キャッシュ用エリア1あるいは2のアドレスを設定
し、データ転送数としては、チェイニングテーブル70
と同一値を設定し、次のチェイニングテーブルアドレス
としては、チェイニングテーブル12のアドレスを設定
する。設定終了後、処理108へ移行する。処理108
では、DKU4に対し実際に入出力起動をかける。DK
C3は、処理106で更新された磁気ディスク入出力起
動パラメータ60により、通常の読み込みデータを、す
なわち、起動アドレスから始まるチェイニングテーブル
70のデータ転送数だけのデータを、チェイニングテー
ブル70に示される主記憶装置2のユーザエリアのデー
タ転送アドレスへDKU4よりDMAC6を介してへ転
送する。次いで、チェイニングテーブル70の‘次のチ
ェイニングテーブルアドレス’によりハードウェア専用
領域のチェイニングテーブル12を参照し、そのハード
ウェア専用領域アドレス(キャッシュ用エリアのアドレ
ス)に、そのデータ転送数だけ、上記通常の読み込みデ
ータに引続いて読み出されるデータ(先読みデータ)を
DKU4よりDMAC6を介してへ転送する。CPU1
から磁気ディスク入出力命令発行され、読み出し起動の
場合、上述した処理がくり返される。
【0014】以上述べた実施例から分かる様に、ディス
クキャッシュを持たないシステムにおいて、ディスクD
KC3内のマイクロプロセッサ7に手を加える事によ
り、記憶装置のハードウェア専用領域を利用してハード
ウェアの追加無しで容易にキャッシユ機能を実現するこ
とができる。
【0015】
【発明の効果】本発明によれば、ディスクキャッシュを
持たないシステムにおいて、キャッシユ専用ハードウェ
アを用意することなく、少ないメモリ容量でキャッシユ
機能を安価に実現できる。ディスク記憶装置、上位プロ
グラム(OSレベル)を変更することなくにキャッシユ
機能を組み込むことができる。COBOL言語等、高級
言語で扱うディスクアクセスの単位はレコード(セク
タ)単位であり処理の性能向上が計られる。
【図面の簡単な説明】
【図1】本発明におけるシステム構成を示すブロック図
である。
【図2】主記憶装置内の各エリアを説明するための図で
ある。
【図3】実施例において使用、作成する制御情報および
そのテーブルを示す図である。
【図4】実施例における処理の概略フローを示す図であ
る。
【符号の説明】
1 中央処理装置 2 主記憶装置 3 磁気ディスク制御装置 4 磁気ディスク装置 5 データバス 6 DMAC 7 マイクロプロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 勇 恵一 愛知県尾張旭市晴丘町池上1番地 株式 会社 日立製作所 オフィスシステム事 業部内 (56)参考文献 特開 平2−123446(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08,13/10,3/06

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、磁気ディスク装置と、
    制御部を有する磁気ディスク制御装置と、ユーザエリア
    と通常プログラムからはアクセスできないハードウェア
    専用領域を具備した主記憶装置とから成る計算機システ
    ムにおけるディスクキャッシュ制御方式であって、 前記主記憶装置のハードウェア専用領域に複数のキャッ
    シュ用エリアを設け、前記磁気ディスク制御装置の制御
    部に前記キャッシュ用エリア対応にキャッシュ制御テー
    ブルを設け、 前記制御部は、中央処理装置から入出力起動命令を受
    け、読み出し起動のとき、起動パラメータの起動数が所
    定値より大きな場合は、磁気ディスク装置からデータを
    読み出し前記ユーザエリアに転送格納し、 起動数が所定値以下の場合は、前記起動パラメータとキ
    ャッシュ制御テーブルの内容を比較し、一致したとき
    は、一致したキャッシュ制御テーブルに対応する前記キ
    ャッシュ用エリアのデータを前記ユーザエリアに転送格
    納し、不一致のときは、更新順位の低いキャッシュ制御
    テーブルを、前記起動パラメータの内の起動アドレスを
    該起動アドレスに起動数を加えたアドレスとした起動パ
    ラメータで更新し、磁気ディスク装置から前記起動数の
    倍のデータを読み出し、前半分のデータを前記ユーザエ
    リアに転送格納し、後半分のデータを前記更新したキャ
    ッシュ制御テーブルに対応する前記キャッシュ用エリア
    に先読みデータとして転送格納することを特徴とするデ
    ィスクキャッシュ制御方式。
JP5051405A 1993-02-17 1993-02-17 ディスクキャッシュ制御方式 Expired - Fee Related JP3066623B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5051405A JP3066623B2 (ja) 1993-02-17 1993-02-17 ディスクキャッシュ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5051405A JP3066623B2 (ja) 1993-02-17 1993-02-17 ディスクキャッシュ制御方式

Publications (2)

Publication Number Publication Date
JPH06243040A JPH06243040A (ja) 1994-09-02
JP3066623B2 true JP3066623B2 (ja) 2000-07-17

Family

ID=12886032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5051405A Expired - Fee Related JP3066623B2 (ja) 1993-02-17 1993-02-17 ディスクキャッシュ制御方式

Country Status (1)

Country Link
JP (1) JP3066623B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736319B2 (ja) * 1987-05-28 1995-04-19 株式会社東芝 カラ−受像管装置

Also Published As

Publication number Publication date
JPH06243040A (ja) 1994-09-02

Similar Documents

Publication Publication Date Title
US6029209A (en) Method and arrangement for allowing a computer to communicate with a data storage device
US5022077A (en) Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2006236193A (ja) 起動プログラム実行方法、デバイス、記憶媒体及びプログラム
JPH06289999A (ja) ディスク制御システム
WO1991019246A1 (en) Unix peripheral device interface
KR20090032821A (ko) 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치
US20070162626A1 (en) System and method for enhancing external storage
EP0335318A2 (en) Input and output control system
JP2737562B2 (ja) 高密度磁気ディスク装置のパトロールシーク方式
JP2005196793A (ja) メモリを予約するための方法、システム、および製品
US20060277353A1 (en) Virtual tape library device, virtual tape library system, and method for writing data to a virtual tape
JP3066623B2 (ja) ディスクキャッシュ制御方式
US6209057B1 (en) Storage device having data buffer
JPS6258351A (ja) 光デイスクキヤツシユ方式
JP2980326B2 (ja) ディスク制御装置
JPH0944315A (ja) 記憶装置及びその方法
JPH09223049A (ja) ディスクアレイ装置
JP3425355B2 (ja) 多重書き込み記憶装置
JP3951808B2 (ja) ハードディスクドライブサブシステム
CN1735855A (zh) 用于处理数据传送的方法和装置
JP2811678B2 (ja) キャッシュメモリ付データ処理装置
JP2002108704A (ja) ディスクキャッシュ制御システム
JP2994917B2 (ja) 記憶システム
JP3524954B2 (ja) ディスク制御装置
TWI230947B (en) Control method for enhancing efficiency and increasing lifetime for an AND gate system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees