JPH03268043A - ディスクキャッシュ制御方式 - Google Patents
ディスクキャッシュ制御方式Info
- Publication number
- JPH03268043A JPH03268043A JP2067032A JP6703290A JPH03268043A JP H03268043 A JPH03268043 A JP H03268043A JP 2067032 A JP2067032 A JP 2067032A JP 6703290 A JP6703290 A JP 6703290A JP H03268043 A JPH03268043 A JP H03268043A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- data
- segments
- slot
- cache
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ディスクキャッシュ制御技術に関し、特に、
キャッシュメモリを有する記憶階層におけるデータの授
受の高速化などに有効な技術に関する。
キャッシュメモリを有する記憶階層におけるデータの授
受の高速化などに有効な技術に関する。
たとえば、汎用の電子計算機システムなどにおいては、
動作の高速な中央処理装置やチャネル装置などの上位処
理装置と、外部記憶装置としての磁気ディスク装置との
間に、磁気ディスク装置などよりも動作の墨かに高速な
半導体メモリなどからなるキャッシュメモリを介在させ
ることが知られている。
動作の高速な中央処理装置やチャネル装置などの上位処
理装置と、外部記憶装置としての磁気ディスク装置との
間に、磁気ディスク装置などよりも動作の墨かに高速な
半導体メモリなどからなるキャッシュメモリを介在させ
ることが知られている。
そして、上位処理装置による磁気ディスク装置からのデ
ータの読み出し要求に際して、可能な限り、予めキャッ
シュメモリに複写されているデー夕を用いて応答したり
、上位処理装置から磁気ディスク装置へのデータの書き
込みに際して、キャッシュメモリに当該データを書き込
んだ時点で動作完了を上位処理装置に報告するなどの動
作を行うことにより、磁気ディスクの回転待ちなどのた
めに動作の遅い磁気ディスク装置に直接的にアクセスす
ることによる、上位処理装置の処理速度の低下を緩和し
ようとするものである。
ータの読み出し要求に際して、可能な限り、予めキャッ
シュメモリに複写されているデー夕を用いて応答したり
、上位処理装置から磁気ディスク装置へのデータの書き
込みに際して、キャッシュメモリに当該データを書き込
んだ時点で動作完了を上位処理装置に報告するなどの動
作を行うことにより、磁気ディスクの回転待ちなどのた
めに動作の遅い磁気ディスク装置に直接的にアクセスす
ることによる、上位処理装置の処理速度の低下を緩和し
ようとするものである。
ところで、このようなキャッシュメモリの管理技術とし
ては、従来では、たとえば特開昭59114658号公
報に開示されているように、キャッシュメモリへのデー
タの書き込みの際には、当該データの量に関わらず、ま
ず磁気ディスク装置における1トラック分の容量に相当
する充分な領域を確保し、書き込み終了後に、確保した
領域のうち、当該書き込み処理による正味使用領域以外
の記憶領域を解放するという操作を行うことが知られて
いる。
ては、従来では、たとえば特開昭59114658号公
報に開示されているように、キャッシュメモリへのデー
タの書き込みの際には、当該データの量に関わらず、ま
ず磁気ディスク装置における1トラック分の容量に相当
する充分な領域を確保し、書き込み終了後に、確保した
領域のうち、当該書き込み処理による正味使用領域以外
の記憶領域を解放するという操作を行うことが知られて
いる。
ところが、上記の従来技術では、データ量が予め確保し
た記憶領域に満たない場合には、不必要な記憶領域の確
保および解放処理を行うこととなり、その分だけ上位処
理装置と磁気ディスク装置トノ間のキャッシュメモリを
介したデータ転送処理において冗長な時間くオーバーヘ
ッド)が増大するので、上位処理装置と磁気ディスク装
置との間における単位時間当たりのデータ転送量(スル
ーブツト)が低下し、システム全体の性能低下を生じる
という問題がある。
た記憶領域に満たない場合には、不必要な記憶領域の確
保および解放処理を行うこととなり、その分だけ上位処
理装置と磁気ディスク装置トノ間のキャッシュメモリを
介したデータ転送処理において冗長な時間くオーバーヘ
ッド)が増大するので、上位処理装置と磁気ディスク装
置との間における単位時間当たりのデータ転送量(スル
ーブツト)が低下し、システム全体の性能低下を生じる
という問題がある。
また、キャッシュメモリへのデータの格納処理が集中し
た場合には、無駄な記憶領域の割り当てによる当該記憶
領域の不足が発生し、それまでに格納されている他のデ
ータの追い出しが頻繁になるため、データのキャッシュ
メモリにおける滞在時間が減少する結果、上位処理装置
の要求するデータが当該キャッシュメモリ内に存在する
確率(ヒツト率)が低下し、キャッシュメモリの効果が
薄れることが懸念される。
た場合には、無駄な記憶領域の割り当てによる当該記憶
領域の不足が発生し、それまでに格納されている他のデ
ータの追い出しが頻繁になるため、データのキャッシュ
メモリにおける滞在時間が減少する結果、上位処理装置
の要求するデータが当該キャッシュメモリ内に存在する
確率(ヒツト率)が低下し、キャッシュメモリの効果が
薄れることが懸念される。
そこで、本発明の目的は、上位処理装置とディスク装置
との間で授受されるデータのキャッシュメモリへの格納
におけるオーバーヘッドの発生を防止して、上位処理装
置とディスク装置との間におけるデータ転送でのスルー
ブツトを向上させることが可能なディスクキャッシュ制
御方式を提供することにある。
との間で授受されるデータのキャッシュメモリへの格納
におけるオーバーヘッドの発生を防止して、上位処理装
置とディスク装置との間におけるデータ転送でのスルー
ブツトを向上させることが可能なディスクキャッシュ制
御方式を提供することにある。
本発明の他の目的は、キャッシュメモリにおけるヒツト
率を向上させて、キャッシュメモリ有効利用を図ること
が可能なディスクキャッシュ制御方式を提供することに
ある。
率を向上させて、キャッシュメモリ有効利用を図ること
が可能なディスクキャッシュ制御方式を提供することに
ある。
本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述および添付図面から明らかになるであろう
。
明細書の記述および添付図面から明らかになるであろう
。
本願において開示される発明のうち、代表的なものの概
要を簡単に説明すれば、下記のとおりである。
要を簡単に説明すれば、下記のとおりである。
すなわち、本発明になるディスクキャッシュ制御方式は
、上位処理装置と回転型記憶装置との間に介在し、両者
の間で授受されるデータを一時的に記憶するキャッシュ
メモリを、回転型記憶装置における物理的または論理的
な所定の記憶単位に対応したスロットに論理的に分割し
て管理し、個々のスロットには所定の長さの複数のセグ
メントを単位として当該キャッシュメモリの記憶領域を
割り当てるようにしたディスクキャッシュ制御方式であ
って、上位処理装置からアクセス要求されたデータのキ
ャッシュメモリへの格納に際して、当該データのキャッ
シュメモリへの書き込みに先立って、キャッシュメモリ
におけるスロットの拡張または新規なスロットの配置に
必要なセグメントの最少数を算出し、当該必要最少数の
セグメントを割り当てた後に、データの必要最少数の当
該セグメントへの書き込み動作を行わせるようにしたも
のである。
、上位処理装置と回転型記憶装置との間に介在し、両者
の間で授受されるデータを一時的に記憶するキャッシュ
メモリを、回転型記憶装置における物理的または論理的
な所定の記憶単位に対応したスロットに論理的に分割し
て管理し、個々のスロットには所定の長さの複数のセグ
メントを単位として当該キャッシュメモリの記憶領域を
割り当てるようにしたディスクキャッシュ制御方式であ
って、上位処理装置からアクセス要求されたデータのキ
ャッシュメモリへの格納に際して、当該データのキャッ
シュメモリへの書き込みに先立って、キャッシュメモリ
におけるスロットの拡張または新規なスロットの配置に
必要なセグメントの最少数を算出し、当該必要最少数の
セグメントを割り当てた後に、データの必要最少数の当
該セグメントへの書き込み動作を行わせるようにしたも
のである。
上記した本発明のディスクキャッシュ制御方式によれば
、上位処理装置とディスク装置との聞授受されるデータ
のキャッシュメモリへの格納に際して、予め当該データ
の格納に必要な最少のセグメント数を算出し、当該必要
最少数のセグメント分の記憶領域を割り当てるので、た
とえば、データの多少に関わらず、スロットの最大セグ
メント数分の記憶領域を確保し、データを格納した後に
余剰のセグメントを解放する場合に比較して、無駄なセ
グメントの確保および解放に要するオーバーヘッドの発
生が無くなり、上位処理装置とディスク装置との間にお
けるデータ転送でのスルーブツトを向上させることがで
きる。
、上位処理装置とディスク装置との聞授受されるデータ
のキャッシュメモリへの格納に際して、予め当該データ
の格納に必要な最少のセグメント数を算出し、当該必要
最少数のセグメント分の記憶領域を割り当てるので、た
とえば、データの多少に関わらず、スロットの最大セグ
メント数分の記憶領域を確保し、データを格納した後に
余剰のセグメントを解放する場合に比較して、無駄なセ
グメントの確保および解放に要するオーバーヘッドの発
生が無くなり、上位処理装置とディスク装置との間にお
けるデータ転送でのスルーブツトを向上させることがで
きる。
また、キャッシュメモリへのデータの格納処理が集中し
た場合でも、必要最少限の記憶領域を確保するだけなの
で、領域確保のために、それまで格納されていたデータ
の追い出し頻度の必要以上の増大に起因するデータのキ
ャッシュメモリにおける滞在時間の減少、すなわちヒツ
ト率の低下が防止され、キャッシュメモリの有効利用を
図ることができる。
た場合でも、必要最少限の記憶領域を確保するだけなの
で、領域確保のために、それまで格納されていたデータ
の追い出し頻度の必要以上の増大に起因するデータのキ
ャッシュメモリにおける滞在時間の減少、すなわちヒツ
ト率の低下が防止され、キャッシュメモリの有効利用を
図ることができる。
第1図は、本発明の一実施例であるディスクキャッシュ
制御方式の一例を示す流れ図であり、第2図は、このデ
ィスクキャッシュ制御方式を行うディスクキャッシュ制
御装置を含む電子31w機ンステムの構成の一例を示す
ブロック図、さらに第3図は、ディスクキャッシュ制御
装置の構成の一例を示すブロック図である。
制御方式の一例を示す流れ図であり、第2図は、このデ
ィスクキャッシュ制御方式を行うディスクキャッシュ制
御装置を含む電子31w機ンステムの構成の一例を示す
ブロック図、さらに第3図は、ディスクキャッシュ制御
装置の構成の一例を示すブロック図である。
まず、第2図および第3図を参照しながら、本実施例の
計算機システトの構成の概略を説明する。
計算機システトの構成の概略を説明する。
中央処理装置10 (CPU)には、当該中央処理装
置10に代わって周辺機器などとの情報の授受の制御動
作を行うチャネル10aおよびディスクキャッシュ制御
装置11.磁気ディスク接続装置12を介して、複数の
磁気ディスク装置14が接続されている。
置10に代わって周辺機器などとの情報の授受の制御動
作を行うチャネル10aおよびディスクキャッシュ制御
装置11.磁気ディスク接続装置12を介して、複数の
磁気ディスク装置14が接続されている。
ディスクキャッシュ制御装置11は、第3図に示される
ように、ランダムアクセスメモリ (RAM)21に格
納されているマイクロプログラムに基づいて全体の制御
を行うマイクロプロセッサ(MPU>20と、上位のチ
ャネル10aとの間におけるデータ転送を制御する対チ
ャネル転送制御装置22と、下位の磁気ディスク装置1
4の側との間におけるデータ転送を制御する対ディスク
転送制御装置24と、チャネル−磁気ディスク装置間の
同期をとりつつデータ転送を制御するデータ転送制御回
路23とを備えている。
ように、ランダムアクセスメモリ (RAM)21に格
納されているマイクロプログラムに基づいて全体の制御
を行うマイクロプロセッサ(MPU>20と、上位のチ
ャネル10aとの間におけるデータ転送を制御する対チ
ャネル転送制御装置22と、下位の磁気ディスク装置1
4の側との間におけるデータ転送を制御する対ディスク
転送制御装置24と、チャネル−磁気ディスク装置間の
同期をとりつつデータ転送を制御するデータ転送制御回
路23とを備えている。
さらに、ディスクキャッシュ制御装置11には、磁気デ
ィスクの回転待ちなどの機械的な動作を伴う磁気ディス
ク装置14よりも浪かに高速なアクセスが可能な半導体
メモリなどで構成されるキャッシュメモリ50が設けら
れており、磁気ディスク装置14に格納されているデー
タのうち上位のチャネル10aの側からのアクセスされ
る確率の高いデータの写を保持したり、チャネル10a
から磁気ディスク装置14に書き込むべきデータを一時
的に保持するなどの動作を行うように構成されている。
ィスクの回転待ちなどの機械的な動作を伴う磁気ディス
ク装置14よりも浪かに高速なアクセスが可能な半導体
メモリなどで構成されるキャッシュメモリ50が設けら
れており、磁気ディスク装置14に格納されているデー
タのうち上位のチャネル10aの側からのアクセスされ
る確率の高いデータの写を保持したり、チャネル10a
から磁気ディスク装置14に書き込むべきデータを一時
的に保持するなどの動作を行うように構成されている。
この場合、キャッシュメモリ50は、スロットと呼ばれ
る所定の単位に分割して管理されており、さらに個々の
スロットは、所定容量のセグメントを単位として構成さ
れ、1スロツトが最大で磁気ディスク装置14における
1トラツクの容量に相当するセグメント数を含むように
設定されている。
る所定の単位に分割して管理されており、さらに個々の
スロットは、所定容量のセグメントを単位として構成さ
れ、1スロツトが最大で磁気ディスク装置14における
1トラツクの容量に相当するセグメント数を含むように
設定されている。
個々のスロットに格納されているデータと、当該データ
の磁気ディスク装置14における実際の格納位置との関
係は、サーチ管理テーブル30に記録されており、上位
のチャネル10aの側から、磁気ディスク装置14にお
けるシリンダ番号やトラック番号、レコード番号などに
基づくインターナルレコード番号などを指定して特定の
データに対するアクセス要求が発生した場合に、これら
の情報に基づいて当該サーチ管理テーブル30を参照す
ることで、当該データがキャッシュメモリ50に存在す
る(キャツシュヒツト)か否(キャツンユミス)かが判
るようになっている。
の磁気ディスク装置14における実際の格納位置との関
係は、サーチ管理テーブル30に記録されており、上位
のチャネル10aの側から、磁気ディスク装置14にお
けるシリンダ番号やトラック番号、レコード番号などに
基づくインターナルレコード番号などを指定して特定の
データに対するアクセス要求が発生した場合に、これら
の情報に基づいて当該サーチ管理テーブル30を参照す
ることで、当該データがキャッシュメモリ50に存在す
る(キャツシュヒツト)か否(キャツンユミス)かが判
るようになっている。
また、キャッシュメモリ50における個々のスロットは
、スロットコントロールテーブル40によって管理され
ている。
、スロットコントロールテーブル40によって管理され
ている。
ここで、第4図は磁気ディスク装置14におけるデータ
の記録形式と、キャッシュメモリ50におけるスロット
でのデータの記録形式との関係の一例を示したものであ
り、本実施例の場合には以下のような仕様になっている
ものとする。
の記録形式と、キャッシュメモリ50におけるスロット
でのデータの記録形式との関係の一例を示したものであ
り、本実施例の場合には以下のような仕様になっている
ものとする。
すなわち、磁気ディスク装置14においては、(1)1
024シリンダ/デイスク (2)16トラツク/シリンダ (3)48にバイト/トラック また、キャッシュメモリ50においては、(4)204
8)ラック/キャッシュメモリ(5)8にバイト/セグ
メント (6)6セグメント/トラツク となっている。
024シリンダ/デイスク (2)16トラツク/シリンダ (3)48にバイト/トラック また、キャッシュメモリ50においては、(4)204
8)ラック/キャッシュメモリ(5)8にバイト/セグ
メント (6)6セグメント/トラツク となっている。
また、特に図示しないがスロットコントロールテーブル
40には、たとえばスロット番号、当該スロットを構成
する複数のセグメントの先頭のキャッシュメモリ50に
おけるアドレスを示すポインタ、当該スロットを構成す
るセグメント数、当該スロットに格納されている複数の
レコードのレコード長や最終レコード長などの情報が記
録された格納データ情報などが記録されている。
40には、たとえばスロット番号、当該スロットを構成
する複数のセグメントの先頭のキャッシュメモリ50に
おけるアドレスを示すポインタ、当該スロットを構成す
るセグメント数、当該スロットに格納されている複数の
レコードのレコード長や最終レコード長などの情報が記
録された格納データ情報などが記録されている。
なお、個々スロットを構成する複数のセグメントは、キ
ャッシュメモリ50の内部において物理的に連続してい
る必要はなく、周知のリスト構造などによって管理する
ことにより、スロットの解放によって生じた不定数およ
び不定位置のセグメントを有効に利用するようになって
いる。
ャッシュメモリ50の内部において物理的に連続してい
る必要はなく、周知のリスト構造などによって管理する
ことにより、スロットの解放によって生じた不定数およ
び不定位置のセグメントを有効に利用するようになって
いる。
以下、このような構成および仕様のシステムにおける作
用の一例を第1図の流れ図などを参照しながら説明する
。
用の一例を第1図の流れ図などを参照しながら説明する
。
まず、中央処理装置10からチャネル10aを介してデ
ィスクキャッシュ制御装置11に、磁気ディスク装置1
4に格納されているデータに対するリード要求が発行さ
れた場合について説明する。
ィスクキャッシュ制御装置11に、磁気ディスク装置1
4に格納されているデータに対するリード要求が発行さ
れた場合について説明する。
リード要求が、チャネルlOaから発行される、たとえ
ば以下のCCV (チャネル・コマンド・ワード)チエ
インで行われる場合、 LOC/RD D/RD D/ LOGコマンドでは、当該リード要求が目的とするレコ
ードの磁気ディスク装置14における格納位置を示すパ
ラメータが与えられ、また、個々のRD Dコマンド
では、実際に磁気ディスク装置14から読み出すべき個
々のレコードの転送が行われる。
ば以下のCCV (チャネル・コマンド・ワード)チエ
インで行われる場合、 LOC/RD D/RD D/ LOGコマンドでは、当該リード要求が目的とするレコ
ードの磁気ディスク装置14における格納位置を示すパ
ラメータが与えられ、また、個々のRD Dコマンド
では、実際に磁気ディスク装置14から読み出すべき個
々のレコードの転送が行われる。
なお、本実施例の場合には、2つのRD Dコマンド
によって転送される2個のレコード(レコードカウント
−2)は各々4にバイトであり、当該レコードを含むス
ロットがキャッシュメモリ50に存在しない場合、すな
わちキャッシュミスで、磁気ディスク装置t14からキ
ャッシュメモリ50に当該レコードを格納する必要があ
る場合を説明する。
によって転送される2個のレコード(レコードカウント
−2)は各々4にバイトであり、当該レコードを含むス
ロットがキャッシュメモリ50に存在しない場合、すな
わちキャッシュミスで、磁気ディスク装置t14からキ
ャッシュメモリ50に当該レコードを格納する必要があ
る場合を説明する。
ディスクキャッシコ制御装置11は、チャネル10aか
らLOGコマンドを受領することにより、これから実行
するデータ転送の種類とそれに付随する制限を認識する
(ステップ101)。
らLOGコマンドを受領することにより、これから実行
するデータ転送の種類とそれに付随する制限を認識する
(ステップ101)。
本実施例の場合には、LOGコマンドを受は取った時点
で、リード要求であることを認識し、さらに当該レコー
ドの磁気ディスク装Wt14における格納位置情報に対
応したインターナルサーチレコード#などに基づいて、
サーチ管理テーブル30を検索する゛が(ステップ10
2)、前述のように、キャッシュメモリ50には目的の
レコード(スOット)が存在しないのでキャッシニミス
トナリ、キャッシュメモリ50における新たなスロット
(セグメント)の配置および磁気ディスク装置14から
当該スロット(セグメント)への当該レコードの複写を
行うスロットアロケートに移る。
で、リード要求であることを認識し、さらに当該レコー
ドの磁気ディスク装Wt14における格納位置情報に対
応したインターナルサーチレコード#などに基づいて、
サーチ管理テーブル30を検索する゛が(ステップ10
2)、前述のように、キャッシュメモリ50には目的の
レコード(スOット)が存在しないのでキャッシニミス
トナリ、キャッシュメモリ50における新たなスロット
(セグメント)の配置および磁気ディスク装置14から
当該スロット(セグメント)への当該レコードの複写を
行うスロットアロケートに移る。
すなわち、まず、同コマンドに随伴したレコードカウン
トおよび転送長などから、総転送データ長を算出する。
トおよび転送長などから、総転送データ長を算出する。
この場合、レコードカウント(2)X転送長4にバイト
より、総転送データ長=8にバイトを算出する(ステッ
プ103)’。
より、総転送データ長=8にバイトを算出する(ステッ
プ103)’。
さらに、この総転送データ長8にバイトから、必要な割
り付はセグメント数1 (&!転送データ長8にバイト
/8にバイト/セグメント=1セグメント)を求め(ス
テップ104)、キャッシュメモリ50に対して1個の
セグメントを含む新たなスロットの割り付けを行い、磁
気ディスク装置14から当該1個のセグメントに該当デ
ータ(2個のレコード)を複写する(第5図(a) )
。
り付はセグメント数1 (&!転送データ長8にバイト
/8にバイト/セグメント=1セグメント)を求め(ス
テップ104)、キャッシュメモリ50に対して1個の
セグメントを含む新たなスロットの割り付けを行い、磁
気ディスク装置14から当該1個のセグメントに該当デ
ータ(2個のレコード)を複写する(第5図(a) )
。
なお、上位のチャネル10aの側へのリード要求された
データの転送は、キャッシュメモリ50への当該データ
の複写と並行して行ってもよいし、キャッシュメモリ5
0に一旦複写した後に、当該データを読み出して転送す
るようにしてもよい。
データの転送は、キャッシュメモリ50への当該データ
の複写と並行して行ってもよいし、キャッシュメモリ5
0に一旦複写した後に、当該データを読み出して転送す
るようにしてもよい。
ここで、従来の場合には、前述のように、前記スロット
の確保に際して、総転送データ長に関係なくスロットを
構成する最大セグメント数6を割り当ててデータ転送を
行った後、余剰の5個のセグメントを解放する操作を行
うため、当該5個のセグメントの確保および解放のため
のオーバーヘッドの発生がある。
の確保に際して、総転送データ長に関係なくスロットを
構成する最大セグメント数6を割り当ててデータ転送を
行った後、余剰の5個のセグメントを解放する操作を行
うため、当該5個のセグメントの確保および解放のため
のオーバーヘッドの発生がある。
ところが、本実施例の場合には、前述のように、磁気デ
ィスク装置14からキャッシュメモリ50へのデータ転
送に先立って、予め、スロットを構成する必要最少数の
1個のセグメントを確保し、当該セグメントへの目的の
レコードの格納を行うので、このようなオーバーヘッド
を生じることがない。
ィスク装置14からキャッシュメモリ50へのデータ転
送に先立って、予め、スロットを構成する必要最少数の
1個のセグメントを確保し、当該セグメントへの目的の
レコードの格納を行うので、このようなオーバーヘッド
を生じることがない。
次に、磁気ディスク装置14に対して、チャネル10a
からデータのライト要求が発生した場合の処理について
説明する。
からデータのライト要求が発生した場合の処理について
説明する。
たとえば、ライト要求が以下のCCWチエインによるレ
コードの更新処理である場合、LOC/WRT UP
D/ L OGコマンドでは、ライト処理すべきレコードの磁
気ディスク装置14における格納位置などを示す各種パ
ラメータが指示され、WRT UPDコマンドでは、
更新書き込みすべきデータが転送される。
コードの更新処理である場合、LOC/WRT UP
D/ L OGコマンドでは、ライト処理すべきレコードの磁
気ディスク装置14における格納位置などを示す各種パ
ラメータが指示され、WRT UPDコマンドでは、
更新書き込みすべきデータが転送される。
なお、以下の説明では、更新対象のレコードを含むスロ
ットがキャッシュメモリ50に存在し、キャツシュヒツ
トとして更新処理が行われる場合を説明する。
ットがキャッシュメモリ50に存在し、キャツシュヒツ
トとして更新処理が行われる場合を説明する。
すなわち、キャッシュメモリ50において、LOGコマ
ンドの条件に合致するレコードを含むスロットには、現
在2個のセグメントを使用して、1個当たり5にバイト
のレコードが3個=15にバイトのデータが格納されて
おり、最後のレコードにおける実際のデータ長は3にバ
イトであるとする。そして、更新処理はこの最後の1個
のレコードに対して行うものとする。
ンドの条件に合致するレコードを含むスロットには、現
在2個のセグメントを使用して、1個当たり5にバイト
のレコードが3個=15にバイトのデータが格納されて
おり、最後のレコードにおける実際のデータ長は3にバ
イトであるとする。そして、更新処理はこの最後の1個
のレコードに対して行うものとする。
まず、ディスクキャッシュ制御装置11は、L0Cコマ
ンドを受領するとくステップ101)、当該コマンドに
随伴するインターナルサーチレコード番号などの情報に
よってサーチ管理テーブル30を検索し、ヒツト/ミス
の判定を行う(ステップ102)。
ンドを受領するとくステップ101)、当該コマンドに
随伴するインターナルサーチレコード番号などの情報に
よってサーチ管理テーブル30を検索し、ヒツト/ミス
の判定を行う(ステップ102)。
前述のように、目的のレコードを含むスロットがキャッ
シュメモリ50に存在するので、キャツシュヒツトと判
定され、セグメントアロケートに移る。
シュメモリ50に存在するので、キャツシュヒツトと判
定され、セグメントアロケートに移る。
すなわチ、スロットコントロールテーブル40における
当該スロットに関する、キャッシュメモリ50での先頭
セグメントへのポインタ、セグメント数、格納データ情
報などを用いて、まず、最終位置にある更新対象レコー
ドを除く格納データ長を算出する(ステップ105)。
当該スロットに関する、キャッシュメモリ50での先頭
セグメントへのポインタ、セグメント数、格納データ情
報などを用いて、まず、最終位置にある更新対象レコー
ドを除く格納データ長を算出する(ステップ105)。
すなわち、最終位置にある更新対象レコードを除く格納
データ長=(該当するスロットにおける現在のデータ長
15にバイト)−(更新対象の最終レコードの長さ3に
バイト)=12にバイトを得る。
データ長=(該当するスロットにおける現在のデータ長
15にバイト)−(更新対象の最終レコードの長さ3に
バイト)=12にバイトを得る。
さらに、前記LOGコマンドに随伴したレコードカウン
タの値(この場合1)や平均転送レコード長(この場合
5にバイト)により総転送データ長くレコード長)5に
バイトを算出する(ステップ106)。
タの値(この場合1)や平均転送レコード長(この場合
5にバイト)により総転送データ長くレコード長)5に
バイトを算出する(ステップ106)。
そして、ステップ105で得られた更新対象レコードを
除く格納データ長12にバイトに、ステップ106で得
られた総転送レコード長5にバイトを加算することによ
り、更新処理後に全データ長17にバイトを算出する(
ステップ107)。
除く格納データ長12にバイトに、ステップ106で得
られた総転送レコード長5にバイトを加算することによ
り、更新処理後に全データ長17にバイトを算出する(
ステップ107)。
さらに、この全データ長17にバイトと、1セグメント
当たりの容18にバイトから当該全データ長17にバイ
トを格納するのに必要なセグメント数−3を算出しくス
テップ108) 、さらに、このセグメント数(3)か
ら、それまでに使用していたセグメント数(2)を差し
引くことにより、当該更新処理による最終レコードの長
さの増加に伴って必要となったセグメントの数(1)を
求め(ステップ109)、当該1セグメント分だけの新
たな記憶領域の割り付け(追加)処理を行い、その後、
当該1個のセグメントとこれまでの2個のセグメントを
用いて目的の最終レコードの更新処理を行う(第5図ら
))。
当たりの容18にバイトから当該全データ長17にバイ
トを格納するのに必要なセグメント数−3を算出しくス
テップ108) 、さらに、このセグメント数(3)か
ら、それまでに使用していたセグメント数(2)を差し
引くことにより、当該更新処理による最終レコードの長
さの増加に伴って必要となったセグメントの数(1)を
求め(ステップ109)、当該1セグメント分だけの新
たな記憶領域の割り付け(追加)処理を行い、その後、
当該1個のセグメントとこれまでの2個のセグメントを
用いて目的の最終レコードの更新処理を行う(第5図ら
))。
ここで、従来の場合には、まず、当該更新レコードが属
するスロットのセグメント数が最大となるように、すな
わち、これまでの使用セグメント数(2)に4個の新た
なセグメントを割り当てた後、実際には3セグメントし
か使用されないので、余剰の3セグメントの解放処理が
必要となり、余剰の当該3セグメント分の割り当てや解
放のためのオーバーヘッドが発生することになるが、本
実施例の場合には、前述のように、必要最少限のセグメ
ントしか割り当てを行わないので、従来のようなオーバ
ーヘッドが発生することがない。
するスロットのセグメント数が最大となるように、すな
わち、これまでの使用セグメント数(2)に4個の新た
なセグメントを割り当てた後、実際には3セグメントし
か使用されないので、余剰の3セグメントの解放処理が
必要となり、余剰の当該3セグメント分の割り当てや解
放のためのオーバーヘッドが発生することになるが、本
実施例の場合には、前述のように、必要最少限のセグメ
ントしか割り当てを行わないので、従来のようなオーバ
ーヘッドが発生することがない。
以上説明したように、本実施例のディスクキャッシュ制
御方式では、上位のチャネル10a(中央処理装置10
)と磁気ディスク装置14との間におけるキャッシュメ
モリ50を介してのデータの授受(リード/ライト)に
伴うオーバヘッドの発生が抑止されるので、上位のチャ
ネル10a(中央処理装置10)と磁気ディスク装置1
4との間におけるデータ転送のスループットが確実に向
上する。
御方式では、上位のチャネル10a(中央処理装置10
)と磁気ディスク装置14との間におけるキャッシュメ
モリ50を介してのデータの授受(リード/ライト)に
伴うオーバヘッドの発生が抑止されるので、上位のチャ
ネル10a(中央処理装置10)と磁気ディスク装置1
4との間におけるデータ転送のスループットが確実に向
上する。
また、キャッシュメモリ50へのデータの格納に際して
、必要以上に大きな記憶領域の割り当てを行わないので
、当該記憶領域の割り当てに伴ってキャッシュメモリ5
0から追い出される他のデータの量が少なくなり、すな
わちデータ全体のキャッシュメモリ50における滞在時
間が長くなり、チャネルlOaの側からアクセス要求さ
れるデータがキャッシュメモリ50に存在する確率(ヒ
ツト率)が確実に高くなり、キャッシュメモリ50をよ
り有効に活用することができる。
、必要以上に大きな記憶領域の割り当てを行わないので
、当該記憶領域の割り当てに伴ってキャッシュメモリ5
0から追い出される他のデータの量が少なくなり、すな
わちデータ全体のキャッシュメモリ50における滞在時
間が長くなり、チャネルlOaの側からアクセス要求さ
れるデータがキャッシュメモリ50に存在する確率(ヒ
ツト率)が確実に高くなり、キャッシュメモリ50をよ
り有効に活用することができる。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は前記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。
体的に説明したが、本発明は前記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。
たとえば、キャッシュメモリを構成する記憶媒体として
は、半導体メモリに限らず、他の不揮発性記憶媒体であ
っても同様の効果を得ることができる。
は、半導体メモリに限らず、他の不揮発性記憶媒体であ
っても同様の効果を得ることができる。
本願において開示される発明のうち、代表的なものによ
って得られる効果を簡単に説明すれば、以下のとおりで
ある。
って得られる効果を簡単に説明すれば、以下のとおりで
ある。
すなわち、本発明になるディスクキャッシュ制御方式に
よれば、上位処理装置と回転型記憶装置との間に介在し
、両者の間で授受されるデータを一時的に記憶するキャ
ッシュメモリを、前記回転型記憶装置j:おける物理的
または論理的な所定の記憶単位に対応したスロットに論
理的に分割して管理し、個々の前記スロットには所定の
長さの複数のセグメントを単位として当該キャッシュメ
モリの記憶領域を割り当てるようにしたディスクキャッ
シュ制御方式であって、前記上位処理装置からアクセス
要求されたデータの前記キャッシュメモリへの格納に際
して、当該データの前記キャッシュメモリへの書き込み
に先立って、前記キャッシュメモリにおける前記スロッ
トの拡張または新規なスロットの配置に必要な前記セグ
メントの最少数を算出し、当該必要最少数の前記セグメ
ントを割り当てた後に、前記データの必要最少数の当該
セグメントへの書き込み動作を行わせるので、たとえば
、データの多少に関わらず、スロットの最大セグメント
数分の記憶領域を確保し、データを格納した後に余剰の
セグメントを解放する場合などに比較して、無駄なセグ
メントの確保および解放に要するオーバーヘッドの発生
が無くなり、上位処理装置とディスク装置との間にふけ
るデータ転送でのスループットを向上させることができ
る。
よれば、上位処理装置と回転型記憶装置との間に介在し
、両者の間で授受されるデータを一時的に記憶するキャ
ッシュメモリを、前記回転型記憶装置j:おける物理的
または論理的な所定の記憶単位に対応したスロットに論
理的に分割して管理し、個々の前記スロットには所定の
長さの複数のセグメントを単位として当該キャッシュメ
モリの記憶領域を割り当てるようにしたディスクキャッ
シュ制御方式であって、前記上位処理装置からアクセス
要求されたデータの前記キャッシュメモリへの格納に際
して、当該データの前記キャッシュメモリへの書き込み
に先立って、前記キャッシュメモリにおける前記スロッ
トの拡張または新規なスロットの配置に必要な前記セグ
メントの最少数を算出し、当該必要最少数の前記セグメ
ントを割り当てた後に、前記データの必要最少数の当該
セグメントへの書き込み動作を行わせるので、たとえば
、データの多少に関わらず、スロットの最大セグメント
数分の記憶領域を確保し、データを格納した後に余剰の
セグメントを解放する場合などに比較して、無駄なセグ
メントの確保および解放に要するオーバーヘッドの発生
が無くなり、上位処理装置とディスク装置との間にふけ
るデータ転送でのスループットを向上させることができ
る。
また、キャッシュメモリへのデータの格納処理が集中し
た場合でも、必要最少限の記憶領域を確保するだけなの
で、領域確保のために、それまで格納されていたデータ
の追い出し頻度が必要以上に増大することに起因するデ
ータのキャッシュメモリにおける滞在時間の減少、すな
わちヒツト率の低下が防止され、キャッシュメモリの有
効利用を図ることができる。
た場合でも、必要最少限の記憶領域を確保するだけなの
で、領域確保のために、それまで格納されていたデータ
の追い出し頻度が必要以上に増大することに起因するデ
ータのキャッシュメモリにおける滞在時間の減少、すな
わちヒツト率の低下が防止され、キャッシュメモリの有
効利用を図ることができる。
第1図は、本発明の一実施例であるディスクキャッンユ
制御方式の一例を示す流れ図、第2図は、本発明の一実
施例であるディスクキャッシュ制御方式を行うディスク
キャッシュ制御装置を含む電子計算機システムの構成の
一例を示すブロック図、 第3図は、ディスクキャッシュ制御装置の構成の一例を
示すブロック図、 第4図は、本発明の一実施例であるディスクキャッシュ
制御方式が実施される計算機システムにおける磁気ディ
スク装置およびキャッシュメモリでのデータの記録形式
の対応関係の一例を示す概念図、 第5図(a)およびい)は、スロットアロケートおよび
セグメントアロケートにおけるデータ格納状態の一例を
示す概念図である。 10・・・中央処理装置(CPU)、10a・・・チャ
ネル(上位処理装[)、11・・・ディスクキャッシュ
制御装置、12・・・磁気ディスク装置、14・・・磁
気ディスク装置(回転型記憶装置)、20・・・マイク
ロプロセッサ(MPU)、21・・・ランダムアクセス
メモリ (RAM)、22・・・対チャネル転送制御装
置、23・・・データ転送制御回路、24・・・対ディ
スク転送制御装置、30・・・サーチ管理テーブル、4
0・・・スロットコントロールテーブル 50・・・キ
ャッシュメモリ、101〜109・・・ディスクキャッ
シュ制御方式の−・例を示す処理ステップ。
制御方式の一例を示す流れ図、第2図は、本発明の一実
施例であるディスクキャッシュ制御方式を行うディスク
キャッシュ制御装置を含む電子計算機システムの構成の
一例を示すブロック図、 第3図は、ディスクキャッシュ制御装置の構成の一例を
示すブロック図、 第4図は、本発明の一実施例であるディスクキャッシュ
制御方式が実施される計算機システムにおける磁気ディ
スク装置およびキャッシュメモリでのデータの記録形式
の対応関係の一例を示す概念図、 第5図(a)およびい)は、スロットアロケートおよび
セグメントアロケートにおけるデータ格納状態の一例を
示す概念図である。 10・・・中央処理装置(CPU)、10a・・・チャ
ネル(上位処理装[)、11・・・ディスクキャッシュ
制御装置、12・・・磁気ディスク装置、14・・・磁
気ディスク装置(回転型記憶装置)、20・・・マイク
ロプロセッサ(MPU)、21・・・ランダムアクセス
メモリ (RAM)、22・・・対チャネル転送制御装
置、23・・・データ転送制御回路、24・・・対ディ
スク転送制御装置、30・・・サーチ管理テーブル、4
0・・・スロットコントロールテーブル 50・・・キ
ャッシュメモリ、101〜109・・・ディスクキャッ
シュ制御方式の−・例を示す処理ステップ。
Claims (1)
- 1、上位処理装置と回転型記憶装置との間に介在し、両
者の間で授受されるデータを一時的に記憶するキャッシ
ュメモリを、前記回転型記憶装置における物理的または
論理的な所定の記憶単位に対応したスロットに論理的に
分割して管理し、個々の前記スロットには所定の長さの
複数のセグメントを単位として当該キャッシュメモリの
記憶領域を割り当てるようにしたディスクキャッシュ制
御方式であって、前記上位処理装置からアクセス要求さ
れたデータの前記キャッシュメモリへの格納に際して、
当該データの前記キャッシュメモリへの書き込みに先立
って、前記キャッシュメモリにおける前記スロットの拡
張または新規なスロットの配置に必要な前記セグメント
の最少数を算出し、当該必要最少数の前記セグメントを
割り当てた後に、前記データの必要最少数の当該セグメ
ントへの書き込み動作を行わせることを特徴とするディ
スクキャッシュの制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2067032A JPH03268043A (ja) | 1990-03-19 | 1990-03-19 | ディスクキャッシュ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2067032A JPH03268043A (ja) | 1990-03-19 | 1990-03-19 | ディスクキャッシュ制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03268043A true JPH03268043A (ja) | 1991-11-28 |
Family
ID=13333131
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2067032A Pending JPH03268043A (ja) | 1990-03-19 | 1990-03-19 | ディスクキャッシュ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03268043A (ja) |
-
1990
- 1990-03-19 JP JP2067032A patent/JPH03268043A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4536836A (en) | Detection of sequential data stream | |
| US5530829A (en) | Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory | |
| US5269019A (en) | Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track | |
| US5584012A (en) | Cache control method and rotary storage device having cache control | |
| JP2784440B2 (ja) | データ・ページの転送制御方法 | |
| JP2783748B2 (ja) | 動的マップド・データ蓄積システムにおける補助記憶装置へのデータ転送のための方法および装置 | |
| US5418929A (en) | Controller for storage unit and method of controlling storage unit | |
| US5734861A (en) | Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity | |
| US5991775A (en) | Method and system for dynamic cache allocation between record and track entries | |
| EP0077453B1 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
| KR100373313B1 (ko) | 캐시 메모리를 관리하는 방법 및 시스템 | |
| US6151660A (en) | Information recording/reproducing apparatus having segmented cache memory | |
| US4974197A (en) | Batching data objects for recording on optical disks with maximum object count | |
| EP0073330A2 (en) | Hierarchical storage systems adapted for error handling | |
| US5420983A (en) | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data | |
| JPH06342395A (ja) | 構造化データ記憶方法及び媒体 | |
| JPH06180671A (ja) | ディスクキャッシュ制御装置 | |
| JP2002207620A (ja) | ファイルシステム及び該システムにおけるデータキャッシング方法 | |
| JPH07104817B2 (ja) | データレコード転送方法 | |
| EP0490485B1 (en) | Rotating memory system | |
| US7139874B1 (en) | System and method for providing client-directed staging to improve non-sequential access performance in a caching disk storage system | |
| CN119440406B (zh) | 磁盘空间分配方法、装置、电子设备及存储介质 | |
| US5761710A (en) | Information apparatus with cache memory for data and data management information | |
| JPH0511933A (ja) | ハードデイスクエミユレータ及びその固定キヤツシユエリア割付方法 | |
| US6209057B1 (en) | Storage device having data buffer |