JPS6015760A - Dasdキヤツシユの情報をステ−ジングするための方法 - Google Patents
Dasdキヤツシユの情報をステ−ジングするための方法Info
- Publication number
- JPS6015760A JPS6015760A JP59109804A JP10980484A JPS6015760A JP S6015760 A JPS6015760 A JP S6015760A JP 59109804 A JP59109804 A JP 59109804A JP 10980484 A JP10980484 A JP 10980484A JP S6015760 A JPS6015760 A JP S6015760A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- block
- record
- dasd
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、キャッシュの管理に係り、更に具体的に云え
ば、DASDキャッシュに於(づる固定ブロック・エク
ステン1〜を置換えるためのディレクトリによる管理方
法に係る。
ば、DASDキャッシュに於(づる固定ブロック・エク
ステン1〜を置換えるためのディレクトリによる管理方
法に係る。
[従来技術]
従来、ページ(固定ブロック)の移動を制御し、記憶階
層の論理アドレス空間と物理アドレス空間との間を動的
に関連づけるために、機械により実行可能なページ又は
他の固定ブロックの置換え方法が用いられている。それ
に関連して、LUR(least recently
used)法又はM RU (mostrecentl
y used)法によるページ置換え方法を用いている
階層記憶システムは、要求時ページングであれば、単一
レベルの記憶の場合よりも相当に少ない数のページ(固
定ブロック)しか必要としない。キャッシュ(ディレク
トリにより管理されるバッファ・ステージ)の性能は、
ヒツト/ミス率によって特性づけられる。“ヒツト″と
は、要求しているCPUの実行可能なプロセスにより生
じたキャッシュへの読取の参照が、所望のデータ項目を
、低速度の補助記憶装置でなく、高速度のキャッシュに
見出すことを意見する。書込の参照に関しての“ヒツト
”は、上記CPUの実行可能なプロセスが、キャッシュ
管理機構により、重ね書きすべき対応する位置を、部分
的にしか充だされでいないバッファに見出したときに成
される。
層の論理アドレス空間と物理アドレス空間との間を動的
に関連づけるために、機械により実行可能なページ又は
他の固定ブロックの置換え方法が用いられている。それ
に関連して、LUR(least recently
used)法又はM RU (mostrecentl
y used)法によるページ置換え方法を用いている
階層記憶システムは、要求時ページングであれば、単一
レベルの記憶の場合よりも相当に少ない数のページ(固
定ブロック)しか必要としない。キャッシュ(ディレク
トリにより管理されるバッファ・ステージ)の性能は、
ヒツト/ミス率によって特性づけられる。“ヒツト″と
は、要求しているCPUの実行可能なプロセスにより生
じたキャッシュへの読取の参照が、所望のデータ項目を
、低速度の補助記憶装置でなく、高速度のキャッシュに
見出すことを意見する。書込の参照に関しての“ヒツト
”は、上記CPUの実行可能なプロセスが、キャッシュ
管理機構により、重ね書きすべき対応する位置を、部分
的にしか充だされでいないバッファに見出したときに成
される。
これに関して、パミス″は、読取りの参照に於てデータ
がキャッシュに於て得られない場合、又は書込の参照に
於て空間を設けるために成るデータがキャッシュからデ
ステージングされねばならない場合に登録される。
がキャッシュに於て得られない場合、又は書込の参照に
於て空間を設けるために成るデータがキャッシュからデ
ステージングされねばならない場合に登録される。
小さい高速度のキャッシュと、より大きいがより低速度
の補助記憶装置との間において、データがデステージン
グ又はステージングされねばならない場合には、ステー
ジングのアルゴリズムが必要とさオシる。LRU又はM
RUの如き、一般に用いられているアルゴリズムは、成
るCPUの実行可能なプロセスにより将来恐らく参照さ
れるであろう項目を、キャッシュ・インベン1−り中に
維持する。参照された項目を含んでいないキャッシュ及
び完全に充たされているキャッシュは、そのデータ要素
の1つが要求されている項目により置換えられるように
、上記データ要素の1つを移動させねばならない。従っ
て、システムは、長い間余照されなかった項目は将来も
参照されそうもないという仮定に基づいて、LRU項目
を置換えようとする。
の補助記憶装置との間において、データがデステージン
グ又はステージングされねばならない場合には、ステー
ジングのアルゴリズムが必要とさオシる。LRU又はM
RUの如き、一般に用いられているアルゴリズムは、成
るCPUの実行可能なプロセスにより将来恐らく参照さ
れるであろう項目を、キャッシュ・インベン1−り中に
維持する。参照された項目を含んでいないキャッシュ及
び完全に充たされているキャッシュは、そのデータ要素
の1つが要求されている項目により置換えられるように
、上記データ要素の1つを移動させねばならない。従っ
て、システムは、長い間余照されなかった項目は将来も
参照されそうもないという仮定に基づいて、LRU項目
を置換えようとする。
ディスク・キャッシュは、ディスク・アドレス空間内容
の一部を保持するために用いられるキャッシュ即ちバッ
ファである。それは、記憶サブシステム内に於けるその
物理的位置、及びチャネル・コマンド・ワードに応答す
ることにより、CPUキャッシュと異なっている。
の一部を保持するために用いられるキャッシュ即ちバッ
ファである。それは、記憶サブシステム内に於けるその
物理的位置、及びチャネル・コマンド・ワードに応答す
ることにより、CPUキャッシュと異なっている。
動作に於て、成るCPUの実行プロセスが、そのCPU
キャッシュ又は主記憶装置内に記憶されていない情報を
参照するとき、その参照はCPUの外部の記憶サブシス
テムに対して行われる。例えば米国特許第372586
4号及び第4207609号の明細書の如き従来技術は
、CPUへの及びCPUからのデータの転送並びに記憶
装置のアクセス位置について記載している。そのような
システムは、チャネルを含む物理的な径路接続を用いて
おり、制御装置が一方の側で上記チャネルと同期的に通
信し、他方の側で選択された装置と通信する。上記CP
Uのオペレーティング・システムは、入出力開始命令に
よって、転送を開始させる。これは、制御を、一連のチ
ャネル・コマンド・ワード(CCW)に引渡すことにな
る。チャネル・コマンド・ワードのシーケンス即ちチェ
インは、記憶装置を選択及びアクセスし、インターフェ
ースを介してデータを移動させるために、CPUからチ
ャネルを経て制御装置へ送られる74−記の両特許明細
吉:は又、CPUと装置どを関連づける径路を独立させ
る、適応性を有するチャネルの切断及び再接続について
も記載している。
キャッシュ又は主記憶装置内に記憶されていない情報を
参照するとき、その参照はCPUの外部の記憶サブシス
テムに対して行われる。例えば米国特許第372586
4号及び第4207609号の明細書の如き従来技術は
、CPUへの及びCPUからのデータの転送並びに記憶
装置のアクセス位置について記載している。そのような
システムは、チャネルを含む物理的な径路接続を用いて
おり、制御装置が一方の側で上記チャネルと同期的に通
信し、他方の側で選択された装置と通信する。上記CP
Uのオペレーティング・システムは、入出力開始命令に
よって、転送を開始させる。これは、制御を、一連のチ
ャネル・コマンド・ワード(CCW)に引渡すことにな
る。チャネル・コマンド・ワードのシーケンス即ちチェ
インは、記憶装置を選択及びアクセスし、インターフェ
ースを介してデータを移動させるために、CPUからチ
ャネルを経て制御装置へ送られる74−記の両特許明細
吉:は又、CPUと装置どを関連づける径路を独立させ
る、適応性を有するチャネルの切断及び再接続について
も記載している。
連想アクセス・メモリ又はランダム・アクセス・メモリ
の形のキャッシュはナノ秒のアクセス時間を有するが、
DASDはミリ秒のアクセス時間を有する。LRU/M
RU@により管理されるキャッシュをDASD記憶制御
装置内に配置することにより、CCWの参照の高いヒラ
1へ串がスルーブツトを相当に増加させることが予測さ
れる。参照の多くがマイクロ秒で応答され、少数の参照
だけがDASDからキャッシュへのステーシンクのため
にミリ秒を必要とする。
の形のキャッシュはナノ秒のアクセス時間を有するが、
DASDはミリ秒のアクセス時間を有する。LRU/M
RU@により管理されるキャッシュをDASD記憶制御
装置内に配置することにより、CCWの参照の高いヒラ
1へ串がスルーブツトを相当に増加させることが予測さ
れる。参照の多くがマイクロ秒で応答され、少数の参照
だけがDASDからキャッシュへのステーシンクのため
にミリ秒を必要とする。
D、ASDキャッシュの今日の設泪に於ては、キャッシ
ュの“ミス”が生じたとき、その参照によつて必要とさ
れたDASDのトラック上に記憶されたレコードと、同
一トランク上に於て上記レコードに続く全てのレコード
とが、上記キャッシュにステージングされる。これに関
して、キャッシュ内に於けるデータ管理の従来の単位は
、DASDのトランクである。これは、DASDの各ト
ラックが、異なる寸法のレコードを含む場合でも、同一
の寸法を有しているので、便利である。
ュの“ミス”が生じたとき、その参照によつて必要とさ
れたDASDのトラック上に記憶されたレコードと、同
一トランク上に於て上記レコードに続く全てのレコード
とが、上記キャッシュにステージングされる。これに関
して、キャッシュ内に於けるデータ管理の従来の単位は
、DASDのトランクである。これは、DASDの各ト
ラックが、異なる寸法のレコードを含む場合でも、同一
の寸法を有しているので、便利である。
当技術分野に関連する他の従来技術には米国特許第39
38097号及び第3544529号の明、?[11書
、日本特願昭58−39321号明細書、並びに28
I E E E Transactions onCo
mputers、1979年2月、第133頁乃至第1
41頁に於けるEaston等によるυse BitS
canning in Replacement De
cisions” と題する論文等がある。CPUキャ
ッシュについては、Computing 5urvey
s、第14巻、第3号、1982年9月、第473頁乃
至第530頁を参照されたい。
38097号及び第3544529号の明、?[11書
、日本特願昭58−39321号明細書、並びに28
I E E E Transactions onCo
mputers、1979年2月、第133頁乃至第1
41頁に於けるEaston等によるυse BitS
canning in Replacement De
cisions” と題する論文等がある。CPUキャ
ッシュについては、Computing 5urvey
s、第14巻、第3号、1982年9月、第473頁乃
至第530頁を参照されたい。
[発明が解決しようとする問題点]
本発明の目的は、記憶ザブシステムを参照するCPUプ
ロセス(チャネル・プログラム)の実行速度を増し、階
層記憶システムのステージ間に於けるデータの転送を相
当に減少させることてあり、更に具体的に云えば、キャ
ッシュに於けるnf変長レコードの管理の複雑さを除い
て、D A l) SとI)ASDキャッシュとの間に
於けるデータの転送を減少させることである。
ロセス(チャネル・プログラム)の実行速度を増し、階
層記憶システムのステージ間に於けるデータの転送を相
当に減少させることてあり、更に具体的に云えば、キャ
ッシュに於けるnf変長レコードの管理の複雑さを除い
て、D A l) SとI)ASDキャッシュとの間に
於けるデータの転送を減少させることである。
[問題点を解決するための手段]
本発明は、各ブロックが少くとも1つの可変長レコード
に亘っているか又はそれ自体が、!l、 −の++J変
長レコードに亘る幾つかのブロックの1っである。ディ
レクトリにより管理されるDΔS Dキャッシュに於け
る情報の固定ブロック・エクステントを置換えるための
、CPUにより実行可能な方法を提供する。この方法は
、キャッシュにおいて得られないレコード(ミス・レコ
ード)を参照することにより呼出される。この方法のス
テップは、DASDの参照トラックに於て、ミス・レコ
ードから始まって、固定ブロックに亘るが、該トラック
の端部に達するか、又はキャッシュに既に存在するレコ
ードに遭遇するかする迄続くし、コードを上記キャッシ
ュにブロッキングしてステージングすることを含む。こ
れは、込の条件に従って行われる。即ち、(8)上記ミ
ス・レコードがブロック・エクステントと等しいか又は
それよりも小さい場合には、上記キャッシュに既にステ
ージングされているレコードが上記ブロックにあるか否
かを確認することが必要である。上記ブロックにおける
最初のすでにステージソゲされているレコード及び上記
ブロックにおいて上記ステージングされているレコード
に続く全てのレコードが、−1が生じた場合に、上記ブ
ロックから削除される6又、(b)上記ミス・レコード
がブロック・エクステントよりも大きい場合には、上記
キャッシュ内の最近用いられていない最初のに個のブロ
ックが割振らねて、上記のに個のブロックのレコードが
ステージングされる。
に亘っているか又はそれ自体が、!l、 −の++J変
長レコードに亘る幾つかのブロックの1っである。ディ
レクトリにより管理されるDΔS Dキャッシュに於け
る情報の固定ブロック・エクステントを置換えるための
、CPUにより実行可能な方法を提供する。この方法は
、キャッシュにおいて得られないレコード(ミス・レコ
ード)を参照することにより呼出される。この方法のス
テップは、DASDの参照トラックに於て、ミス・レコ
ードから始まって、固定ブロックに亘るが、該トラック
の端部に達するか、又はキャッシュに既に存在するレコ
ードに遭遇するかする迄続くし、コードを上記キャッシ
ュにブロッキングしてステージングすることを含む。こ
れは、込の条件に従って行われる。即ち、(8)上記ミ
ス・レコードがブロック・エクステントと等しいか又は
それよりも小さい場合には、上記キャッシュに既にステ
ージングされているレコードが上記ブロックにあるか否
かを確認することが必要である。上記ブロックにおける
最初のすでにステージソゲされているレコード及び上記
ブロックにおいて上記ステージングされているレコード
に続く全てのレコードが、−1が生じた場合に、上記ブ
ロックから削除される6又、(b)上記ミス・レコード
がブロック・エクステントよりも大きい場合には、上記
キャッシュ内の最近用いられていない最初のに個のブロ
ックが割振らねて、上記のに個のブロックのレコードが
ステージングされる。
前述の米国特許第3938097号明細書は、キャッシ
ュへの固定ブロックの転送のステージングについて記載
しているが、二重レコードの問題及び可変長のレコード
についても、又複数ブロック1こ亘るレコードのための
連続的空間の割振りについても、何ら言及していない。
ュへの固定ブロックの転送のステージングについて記載
しているが、二重レコードの問題及び可変長のレコード
についても、又複数ブロック1こ亘るレコードのための
連続的空間の割振りについても、何ら言及していない。
前述の米国特許第3541529号明細書は、主記憶装
置に於て記憶のブロックを選択するだめの方法について
記載している。転送されているデータのブロックは、固
定の長さ及び範囲を有している。それらのブロックは、
重複していない記憶の区画を形成しているので、二重の
記憶は生しなし)6 前述+7)8本特願昭58−39321号明lll1l
f!F’は。
置に於て記憶のブロックを選択するだめの方法について
記載している。転送されているデータのブロックは、固
定の長さ及び範囲を有している。それらのブロックは、
重複していない記憶の区画を形成しているので、二重の
記憶は生しなし)6 前述+7)8本特願昭58−39321号明lll1l
f!F’は。
線形的にアドレスされるバッファ記憶装釘の非連続的ブ
ロック中に可変長レコードを書込むことについて記載し
ている。本発明の方法に於るキャッシュの場合の如く、
ディレクトリにより管理されていないので、キャッシュ
における二重レコー1へを管理するための手段は何ら設
けられていない。
ロック中に可変長レコードを書込むことについて記載し
ている。本発明の方法に於るキャッシュの場合の如く、
ディレクトリにより管理されていないので、キャッシュ
における二重レコー1へを管理するための手段は何ら設
けられていない。
前述のEaston等による論文は、本発明の方法にお
いて、キャッシュにに個の連続ブロックを確保するため
に、修正して用いられている、第2チヤンス・アルゴリ
ズムについて記載している。これは、レコードの長さが
ブロックの寸法を超えている場合に、バッファ空間にに
個の連続ブロックを見つけることを容易にする。このク
ロッキング・アルゴリズムにおいては、そのブロックに
おけるデータが参照されたとき、″使用”ビットがター
ン・オンされる。次に、位置表示機n’jがブロックの
パ使用″ビットのセットをラウンド・ロビン式に循環し
、上記位置表示機栂が進むに従って、それらの″使用″
ビットをターン・″オフ″させる。
いて、キャッシュにに個の連続ブロックを確保するため
に、修正して用いられている、第2チヤンス・アルゴリ
ズムについて記載している。これは、レコードの長さが
ブロックの寸法を超えている場合に、バッファ空間にに
個の連続ブロックを見つけることを容易にする。このク
ロッキング・アルゴリズムにおいては、そのブロックに
おけるデータが参照されたとき、″使用”ビットがター
ン・オンされる。次に、位置表示機n’jがブロックの
パ使用″ビットのセットをラウンド・ロビン式に循環し
、上記位置表示機栂が進むに従って、それらの″使用″
ビットをターン・″オフ″させる。
k個の連続ブロックが必要とされる場合には、キャッシ
ュにおける最近用いられていないに個の連続ブロックが
選択される。
ュにおける最近用いられていないに個の連続ブロックが
選択される。
[実施例]
キャッシュ及びデータの単位
今日のキャッシュに於ては、キャッシュに於て管理され
るデータの単位は、二次記憶に於ける所定の位置でしか
始まらない。それらの位置又は境界は均一な空間を置い
て配置される。CPUキャッシュに於ては、2つの連続
する境界の間の全てのデータが1つの単位としてステー
ジングされる。これとは反対に、一般に入手される幾つ
かのディスク・キャッシュにおいては、ステージングは
、任意のレコードから始まって成る境界で終るが、又は
成る境界から始まって特定のレコードで終るかのいずれ
かである。しかしながら、割振られるデータの単位は律
゛に。
るデータの単位は、二次記憶に於ける所定の位置でしか
始まらない。それらの位置又は境界は均一な空間を置い
て配置される。CPUキャッシュに於ては、2つの連続
する境界の間の全てのデータが1つの単位としてステー
ジングされる。これとは反対に、一般に入手される幾つ
かのディスク・キャッシュにおいては、ステージングは
、任意のレコードから始まって成る境界で終るが、又は
成る境界から始まって特定のレコードで終るかのいずれ
かである。しかしながら、割振られるデータの単位は律
゛に。
連続する境界の間の全体である。他のデーrスク・キャ
ッシュに於ては、1つの単位全体が常にステージングさ
れる。
ッシュに於ては、1つの単位全体が常にステージングさ
れる。
例えばIBM社のカラン1−・キー・データ(CK D
)方式又は拡張カラン1−・キー・データ(CK I)
E )方式の如き、ID A S D方式は、転送の
単位を1つ又はそれ以上のレコードに限定しており、そ
れらのレコードの長さは異なることがあるので、今日の
ディスク・キャッシュに於ける割振りの単位はディスク
のトラックであり、境界がトラックの開始点である。そ
れらのトラックは典型的には多数のレコードを含むので
、トラックのステージングに於ては、プログラムに必要
とされる個々のレコードよりも多くのデータが移動され
る。その結果、性能が低下し、ヒツト率が低下する。個
々のレコードをキャッシュにステージングすることは、
可変長レコードの管理が複雑であるために、従来広く用
いられていない。
)方式又は拡張カラン1−・キー・データ(CK I)
E )方式の如き、ID A S D方式は、転送の
単位を1つ又はそれ以上のレコードに限定しており、そ
れらのレコードの長さは異なることがあるので、今日の
ディスク・キャッシュに於ける割振りの単位はディスク
のトラックであり、境界がトラックの開始点である。そ
れらのトラックは典型的には多数のレコードを含むので
、トラックのステージングに於ては、プログラムに必要
とされる個々のレコードよりも多くのデータが移動され
る。その結果、性能が低下し、ヒツト率が低下する。個
々のレコードをキャッシュにステージングすることは、
可変長レコードの管理が複雑であるために、従来広く用
いられていない。
第2図は、CPUIがCPUキャッシュ2を介して主記
憶装置4と通信する、従来の典型的な記憶階層を示して
いる。参照されたときにキャッシュ又は主記憶装置に含
ま九でいない情報について、外部記憶即ち二次記憶27
が参照される。コンピュータにキャッシュ・メモリを付
加する、性能に関する要求は、CPUによる平均アクセ
ス時間をCPUキャッシュの平均アクセス時間に出来る
限り近づけることである。これは又、DASDキャッシ
ュを用いる場合の目的でもある6”Computer
Archii;ecture andOrganiza
tion”、 McGraw 1lill Compu
terScience 5eries、1978年、第
385頁乃至第388頁に於て、1layesにより指
摘されている如く、キャッシュ及び主記憶の階層と主記
憶及び二次記憶の階層との間には幾つかの重要な相違が
存在する。それらの相違の1つは、CPUキャッシュに
必要な動作速度がソフト・ウェアのルーチンでなく、高
速度論理回「)iによって管理されることである。他方
、主記憶及び二次記憶のシステムは、CPUに於けるオ
ペレーティング・システム内のプログラムによって制御
される。従って、その記憶システムl’l’J mはp
HIi”Jなる適用プロセスにも見えないが、システム
・プロセスにはみえる。これに列して、CI) Uキャ
ッシュ及び主記憶は互いに見えない。
憶装置4と通信する、従来の典型的な記憶階層を示して
いる。参照されたときにキャッシュ又は主記憶装置に含
ま九でいない情報について、外部記憶即ち二次記憶27
が参照される。コンピュータにキャッシュ・メモリを付
加する、性能に関する要求は、CPUによる平均アクセ
ス時間をCPUキャッシュの平均アクセス時間に出来る
限り近づけることである。これは又、DASDキャッシ
ュを用いる場合の目的でもある6”Computer
Archii;ecture andOrganiza
tion”、 McGraw 1lill Compu
terScience 5eries、1978年、第
385頁乃至第388頁に於て、1layesにより指
摘されている如く、キャッシュ及び主記憶の階層と主記
憶及び二次記憶の階層との間には幾つかの重要な相違が
存在する。それらの相違の1つは、CPUキャッシュに
必要な動作速度がソフト・ウェアのルーチンでなく、高
速度論理回「)iによって管理されることである。他方
、主記憶及び二次記憶のシステムは、CPUに於けるオ
ペレーティング・システム内のプログラムによって制御
される。従って、その記憶システムl’l’J mはp
HIi”Jなる適用プロセスにも見えないが、システム
・プロセスにはみえる。これに列して、CI) Uキャ
ッシュ及び主記憶は互いに見えない。
のCPUがt用するD A S Dへのアクニζ内第3
図は、各々対応する制御装置21及び23へ、チャネル
5及びチャネル7(経路11及び13)並びにチャネル
7及びチャネル9(経路15及び17)を介して結合さ
れている、CPUI及びCPU3を示している。それら
の制御装置は、スイッチング手段25を経て、DASD
27及び29へのアクセスを共用している。
図は、各々対応する制御装置21及び23へ、チャネル
5及びチャネル7(経路11及び13)並びにチャネル
7及びチャネル9(経路15及び17)を介して結合さ
れている、CPUI及びCPU3を示している。それら
の制御装置は、スイッチング手段25を経て、DASD
27及び29へのアクセスを共用している。
CPUとDASDとの関係は、該CPUが入出力開始命
令を呼出したときに開始される。この命令は、CPUと
アドレスされた装置即ちDASDとを接続させそして該
装置を用いてチャネル・プログラムを実行させるように
鋤く。入出力開始命令が呼出されると、制御が一連のチ
ャネル・コマンド・ワード(CCW)に引渡される。こ
の一連のCCWは、装置を選択及びアクセスしそしてイ
ンターフェースを介してデータを移動させるために、チ
ャネルを介して上記制御装置へ送られる。各チャネル・
プログラムは、CPtJ又は主記憶装置に存在する一連
のオペレーションのリストより成る。CCWの制御装置
への転送及び該制御装置における実行は、CPUと該制
御装置との間に最初の接続が生じた後でなければ行われ
ない。チャネル・プロゲラ11における各オペレーショ
ン(CCV)について、1つ又はそれ以上の対応するオ
ペレーションが、制御装置のレベル又はDASDのレベ
ルのいずれかにおいて、活動的な接続の間に必要とされ
る。もちろん、上記リスト即ちCCWのシーケンスは、
不連続的に実行(セグメント化)可能である。
令を呼出したときに開始される。この命令は、CPUと
アドレスされた装置即ちDASDとを接続させそして該
装置を用いてチャネル・プログラムを実行させるように
鋤く。入出力開始命令が呼出されると、制御が一連のチ
ャネル・コマンド・ワード(CCW)に引渡される。こ
の一連のCCWは、装置を選択及びアクセスしそしてイ
ンターフェースを介してデータを移動させるために、チ
ャネルを介して上記制御装置へ送られる。各チャネル・
プログラムは、CPtJ又は主記憶装置に存在する一連
のオペレーションのリストより成る。CCWの制御装置
への転送及び該制御装置における実行は、CPUと該制
御装置との間に最初の接続が生じた後でなければ行われ
ない。チャネル・プロゲラ11における各オペレーショ
ン(CCV)について、1つ又はそれ以上の対応するオ
ペレーションが、制御装置のレベル又はDASDのレベ
ルのいずれかにおいて、活動的な接続の間に必要とされ
る。もちろん、上記リスト即ちCCWのシーケンスは、
不連続的に実行(セグメント化)可能である。
接続の最初の動作は、初期選択のシーケンスである。そ
のシーケンスは入出力開始動作で呼出され、該動作にお
いて初期の経路が装置のアドレス(仮想アドレス/実ア
ドレス)及び装置の状況(使用可能/使用中)により電
気的11つ論理的にセラ1へ・アップさAしる。次の活
動的な接続は、CaWの転送及び実行に関するものであ
る。シークの如き制御CCWは、装置にJ−タりる物理
的位置決め又は活動を必要とする。制御装置は、制御C
CWの受信に応答して、該CCWを切断モードで実行す
ることができる。これは、制御装置が、指示されたオペ
レーションを実行する間、チャネルから切断されること
を意味する。制御装置は、チャネルに再接続される迄、
更にチャネルの活動を必要としない。例えば米国特許第
3725864号、第3336582号及び第3564
502号の明細書に記載されている如く、典型的なIB
M370システムにおいては、制御装置は、シークCC
W及びパラメータ(ターゲット・アドレス)を受信した
後、30ミリ秒又はそれ以上の間切断される。
のシーケンスは入出力開始動作で呼出され、該動作にお
いて初期の経路が装置のアドレス(仮想アドレス/実ア
ドレス)及び装置の状況(使用可能/使用中)により電
気的11つ論理的にセラ1へ・アップさAしる。次の活
動的な接続は、CaWの転送及び実行に関するものであ
る。シークの如き制御CCWは、装置にJ−タりる物理
的位置決め又は活動を必要とする。制御装置は、制御C
CWの受信に応答して、該CCWを切断モードで実行す
ることができる。これは、制御装置が、指示されたオペ
レーションを実行する間、チャネルから切断されること
を意味する。制御装置は、チャネルに再接続される迄、
更にチャネルの活動を必要としない。例えば米国特許第
3725864号、第3336582号及び第3564
502号の明細書に記載されている如く、典型的なIB
M370システムにおいては、制御装置は、シークCC
W及びパラメータ(ターゲット・アドレス)を受信した
後、30ミリ秒又はそれ以上の間切断される。
その30ミリ秒は、DASDのアクセス・アームを所望
のシリンダのトラックに到達するようにディスパッチす
るために要する平均時間である。この″死んだ時間″′
の間、チャネル及び制御装置の両者は自由に他の接続を
設定することができる。切断モードと反対に、チャネル
と装置との間におけるデータの移動即ち転送を含む、読
取又はiL)込CCWの如き、CCWは、データ” の
転送を実行するために制御装置がチャネルに接続さ4t
たままであることを必要とする。
のシリンダのトラックに到達するようにディスパッチす
るために要する平均時間である。この″死んだ時間″′
の間、チャネル及び制御装置の両者は自由に他の接続を
設定することができる。切断モードと反対に、チャネル
と装置との間におけるデータの移動即ち転送を含む、読
取又はiL)込CCWの如き、CCWは、データ” の
転送を実行するために制御装置がチャネルに接続さ4t
たままであることを必要とする。
各CCWは、主記憶装置におけるリストから得られて、
チャネルを介して制御装置に転送されねばならない、、
CCWは、制御装置において実行される。その実行の後
、終了シーケンスが生じる。CCWが装置の位置決めを
要する制御型のものであれば、制御装置はチャネルから
切断され、制御即ち装置の位置決めが完了したときに再
接続されねばならない。それから、終了シーケンスが生
じる。
チャネルを介して制御装置に転送されねばならない、、
CCWは、制御装置において実行される。その実行の後
、終了シーケンスが生じる。CCWが装置の位置決めを
要する制御型のものであれば、制御装置はチャネルから
切断され、制御即ち装置の位置決めが完了したときに再
接続されねばならない。それから、終了シーケンスが生
じる。
共用アクセス・システムに、111忌1±犬士人邸」去
キャッシュ 第4図は、本発明による方法が用いられている、複数の
CPU及び共用されているL’l A S If)の構
成を示している。3つのCPUJ、3))、び6が、対
応するチャネルを介して、−刻の制御装置21及び23
に適当に交差接続されている。
キャッシュ 第4図は、本発明による方法が用いられている、複数の
CPU及び共用されているL’l A S If)の構
成を示している。3つのCPUJ、3))、び6が、対
応するチャネルを介して、−刻の制御装置21及び23
に適当に交差接続されている。
CPUIには、4つのチャネル5.7.13及び10が
取付けられている。CPU3には、2つのチャネル9及
び12が取付けられ、CPU6には、2つのチャネル1
4及び16が取付tJられている。
取付けられている。CPU3には、2つのチャネル9及
び12が取付けられ、CPU6には、2つのチャネル1
4及び16が取付tJられている。
チャネル5及び7は制御装置21のポートa及びbにお
いて終端し、チャネル8及び10は制御装置23のポー
トe及びfにおいて終端し、チャネル9は制御装置21
のボー1〜Cにおいて終端し、チャネル12は制御装置
23のポートgにおいて終端し、チャネル14は制御装
置21のポーl−dにおいて終端し、チャネル16は制
御装置23のポートhにおいて終端して、それらを駆動
する。
いて終端し、チャネル8及び10は制御装置23のポー
トe及びfにおいて終端し、チャネル9は制御装置21
のボー1〜Cにおいて終端し、チャネル12は制御装置
23のポートgにおいて終端し、チャネル14は制御装
置21のポーl−dにおいて終端し、チャネル16は制
御装置23のポートhにおいて終端して、それらを駆動
する。
制御装置21及び23には、タグ線及びデータ線を包含
する要求/応答型のインターフェースを介し、DASD
制御装誼即ち接続機構28及び30を経て、1組のDA
SD53が取付けられている。制御装置21とDASD
制御装置28との間のインターフェースは、ダグ線65
並びにデータ入力線57及びデータ出力線59を含む。
する要求/応答型のインターフェースを介し、DASD
制御装誼即ち接続機構28及び30を経て、1組のDA
SD53が取付けられている。制御装置21とDASD
制御装置28との間のインターフェースは、ダグ線65
並びにデータ入力線57及びデータ出力線59を含む。
同様に、ダグ線67並びにデータ入力線61及びデータ
出力線63は、制御装置23をDASD制御装置30に
結合させる。
出力線63は、制御装置23をDASD制御装置30に
結合させる。
要求/応答型のインターフェースにおいては、タグ出力
がデータ出力線上の情報を識別して有効化し、タグ入力
がデータ入力線上の情報を識別して有効化する。この点
に関して、名CI) tJ/制御装置/装置は相互に非
同期的に動作し、方向性制御がトップ・ダウンで行われ
る。制御装置21と23との間に於て、キャッシュ10
1は、制御装[21を経て経路103及びアクセス回路
105を介して、又は制御装置23を経て経路111及
びアクセス回路]09を一部1して、アクセスされる。
がデータ出力線上の情報を識別して有効化し、タグ入力
がデータ入力線上の情報を識別して有効化する。この点
に関して、名CI) tJ/制御装置/装置は相互に非
同期的に動作し、方向性制御がトップ・ダウンで行われ
る。制御装置21と23との間に於て、キャッシュ10
1は、制御装[21を経て経路103及びアクセス回路
105を介して、又は制御装置23を経て経路111及
びアクセス回路]09を一部1して、アクセスされる。
キャッシュ本体は、にへ4oSの如き適当な高速度の主
記憶装置の技術におけるRAMより成ることができる。
記憶装置の技術におけるRAMより成ることができる。
本発明の方法を実施するために適しているDASDキャ
ッシュの構成は、IBM社刊行物G A、 32−00
62−0に記載されているI B M 3880記憶制
御装置のモデル13に見ることができる。
ッシュの構成は、IBM社刊行物G A、 32−00
62−0に記載されているI B M 3880記憶制
御装置のモデル13に見ることができる。
このモデルは、IBMシステム370、特にMVS/S
Pリリース3のオペレーティング・システムとともに用
いられる、高性能キャッシュDASDサブシステムとし
て設計されている。
Pリリース3のオペレーティング・システムとともに用
いられる、高性能キャッシュDASDサブシステムとし
て設計されている。
上記モデル13は、第4図に示されている如き2つの制
御装置、及びキャッシュ101を形成している4乃至8
メガバイトの容量のキャッシュを有している。
御装置、及びキャッシュ101を形成している4乃至8
メガバイトの容量のキャッシュを有している。
1組のDASD53は、各々接続機構28又は30を経
て、別個の経路を介してアクセス可能な装置即ちDAS
DOll、2及び3を含む。
て、別個の経路を介してアクセス可能な装置即ちDAS
DOll、2及び3を含む。
接続機構28は、制御装置21を経て線55を介して任
意の装置への経路を与える。線55は、装置毎に読取/
書込ヘッドを含むディスパッチ可能なアームに於て電気
的に終端している。同様に、接続機構30は、制御装置
23を経て線51を介してもう1つのディスパッチ可能
なアームへの独立したアクセス経路を与える。各接続機
構は、各々接続機構論理(39,47)及びシーケンス
制御装置(41,49)を含む。
意の装置への経路を与える。線55は、装置毎に読取/
書込ヘッドを含むディスパッチ可能なアームに於て電気
的に終端している。同様に、接続機構30は、制御装置
23を経て線51を介してもう1つのディスパッチ可能
なアームへの独立したアクセス経路を与える。各接続機
構は、各々接続機構論理(39,47)及びシーケンス
制御装置(41,49)を含む。
DASDキャッシュ及びデータの移動
オペレーションを実行するための素子間の活動的な接続
は、データの移動に関してのみ、成る期間に亘って必要
とされる。いずれかの制御装置21又は23が、読取C
CWに応答して、データが存在するか否かを確認するた
めにキャッシュのブイレフ1〜りにアクセスする。″ヒ
ツト″が生じた場合には、該制御装置を経てRAMチャ
ネルとの間で移動が行われる。νF込CCWの場合には
、チャネルから制御装置を経てキャッシュへ移動が行わ
れる。該キャッシュか゛ライ1−・イン”型であって゛
′ヒツh”(利用可能な空間又は更新さ4するべきレコ
ード)が生じた場合には、データがキャッシュに書込ま
れた後に、DASDにコピーされる。」二記キャッシュ
が1′ライト・スルー型である場合には、データが独立
にキャッシュ及びD A S T3中にfI込まれる。
は、データの移動に関してのみ、成る期間に亘って必要
とされる。いずれかの制御装置21又は23が、読取C
CWに応答して、データが存在するか否かを確認するた
めにキャッシュのブイレフ1〜りにアクセスする。″ヒ
ツト″が生じた場合には、該制御装置を経てRAMチャ
ネルとの間で移動が行われる。νF込CCWの場合には
、チャネルから制御装置を経てキャッシュへ移動が行わ
れる。該キャッシュか゛ライ1−・イン”型であって゛
′ヒツh”(利用可能な空間又は更新さ4するべきレコ
ード)が生じた場合には、データがキャッシュに書込ま
れた後に、DASDにコピーされる。」二記キャッシュ
が1′ライト・スルー型である場合には、データが独立
にキャッシュ及びD A S T3中にfI込まれる。
キャッシュのディレクトリ
キャッシュは、ディスクのレコードの一部のコピーを保
持する、大容量のRAMを与える。
持する、大容量のRAMを与える。
キャッシュ101が″ライ1−・イン”型で動作される
場合には、RAM107は、接続されたプロセッサから
ディスクに送られたが、未だ書込まれていないレコード
を含むことができる。
場合には、RAM107は、接続されたプロセッサから
ディスクに送られたが、未だ書込まれていないレコード
を含むことができる。
ディレクトリは、ブロックの割振りを用いてディスク・
キャッシュのための内容を記述している。又、ディレク
トリは、RAM1’07に記憶されており、次に示す如
く、トラック及びブロック記述子の表より成る。キャッ
シュの空間は、固定寸法のブロックに分割されている。
キャッシュのための内容を記述している。又、ディレク
トリは、RAM1’07に記憶されており、次に示す如
く、トラック及びブロック記述子の表より成る。キャッ
シュの空間は、固定寸法のブロックに分割されている。
1つのブロックは、ディスク・トラックからの1つ又は
それ以上の隣接するレコードをレコード識別(iD)フ
ィールドとともに含んでいる。更に、レコードを修正す
るためのフラグ情報を含むこともできる。トラックに於
ける、レコードのカウント、キー及びデータのフィール
ド間のギャップは記憶されていない。
それ以上の隣接するレコードをレコード識別(iD)フ
ィールドとともに含んでいる。更に、レコードを修正す
るためのフラグ情報を含むこともできる。トラックに於
ける、レコードのカウント、キー及びデータのフィール
ド間のギャップは記憶されていない。
ディレクトリ・フ本=マツ)Σ
トラック記述子の内容
ビット 項目
5 装置番号
10 シリンダ番号
4 ヘッド番号
12 ハツシュ・チェイン」二の次の1へラック記述子
の指標 14 1−ラックの第1データ・ブロックの4旨1票フ
ラ殆 19 予備 64 合計(8バイ1へ) ブロック記述子の内容 ビット 項目 14 ブロック記述子の循環チェイン上のトラックの次
のブロックの指標 フラグ: 1 予備15 1 最後のレコードは次のブロックに続く1 ブロック
は参照されている 1 ブロックは修正されたレコードを含む14 予備 64 ブロックの第ルコードのID(カウント)フィー
ルド 64 ブロックに続く第ルコードのID(カラン1−)
フィールド 160 合計(20バイト) トラックのためのブロック記述子は循ぶリスi−におい
て相互に連鎖しているべきである。そのチェインは、ト
ラックの第1ブロツクにおいて、トラック記述子のエン
トリにおけるポインタから入るべきである。ブロック記
述子は、それらのレコードがトラックにおいて生じる順
に連鎖している。ディレクトリの索引は、1−ラック記
述子を見出すために、ハツシュ・コーチ−rングを用い
ている。その索引は、要求されたレコードを確認するた
めに、ブロック・チェインに従う。
の指標 14 1−ラックの第1データ・ブロックの4旨1票フ
ラ殆 19 予備 64 合計(8バイ1へ) ブロック記述子の内容 ビット 項目 14 ブロック記述子の循環チェイン上のトラックの次
のブロックの指標 フラグ: 1 予備15 1 最後のレコードは次のブロックに続く1 ブロック
は参照されている 1 ブロックは修正されたレコードを含む14 予備 64 ブロックの第ルコードのID(カウント)フィー
ルド 64 ブロックに続く第ルコードのID(カラン1−)
フィールド 160 合計(20バイト) トラックのためのブロック記述子は循ぶリスi−におい
て相互に連鎖しているべきである。そのチェインは、ト
ラックの第1ブロツクにおいて、トラック記述子のエン
トリにおけるポインタから入るべきである。ブロック記
述子は、それらのレコードがトラックにおいて生じる順
に連鎖している。ディレクトリの索引は、1−ラック記
述子を見出すために、ハツシュ・コーチ−rングを用い
ている。その索引は、要求されたレコードを確認するた
めに、ブロック・チェインに従う。
1−ラックはキャッシュ中に部分的にしか存在しない場
合がある。レコードは、ブロック間においてのみ、存在
しないことがある。所−ダのトラックのためのキャッシ
ュのブロック間の間係は、ブロックの第ルコーlく及び
該ブロックに続く第ルコードの両方のI I)フィール
ドを記憶することによって記録される。
合がある。レコードは、ブロック間においてのみ、存在
しないことがある。所−ダのトラックのためのキャッシ
ュのブロック間の間係は、ブロックの第ルコーlく及び
該ブロックに続く第ルコードの両方のI I)フィール
ドを記憶することによって記録される。
ブロック記述子は、番号1乃至11のデータ領域に記憶
される。キャッシュのデータ・プロツりも、番号1乃至
nのデータ領域に記憶される。
される。キャッシュのデータ・プロツりも、番号1乃至
nのデータ領域に記憶される。
位置iに記憶されたブロック記述子は、常にデータ・ブ
ロックiを参照する。データ(又はキー)・フィールド
及びレコードより(カラン1〜)フィールドを交互に含
むブロックは、第ルコードのデータ(キー)から始まっ
て、最後のレコードのデータ(キー)・フィールドで終
る。
ロックiを参照する。データ(又はキー)・フィールド
及びレコードより(カラン1〜)フィールドを交互に含
むブロックは、第ルコードのデータ(キー)から始まっ
て、最後のレコードのデータ(キー)・フィールドで終
る。
ブロックにおける第ルコード以外のレコードのIDは、
データ・ブロックに記憶されている。
データ・ブロックに記憶されている。
4096バイトのブロック寸法においては、キャッシュ
・ブロックにおけるレコードよりフィールドとブロック
記述子とに利用可能な空間は、8つの512バイトのレ
コード及びそれらのIDを収容するために、更に54バ
イ1−又はそれ以上である。キャッシュが不揮発生キャ
ッシュ(″ライト・イン”キA7ツシユ)として取扱わ
れる場合には、IDフィールドの1ビツトが、レコード
が修正されたことを示す標識として働く。又、ディレク
トリの大きさは、ブロック記述子によって支配される。
・ブロックにおけるレコードよりフィールドとブロック
記述子とに利用可能な空間は、8つの512バイトのレ
コード及びそれらのIDを収容するために、更に54バ
イ1−又はそれ以上である。キャッシュが不揮発生キャ
ッシュ(″ライト・イン”キA7ツシユ)として取扱わ
れる場合には、IDフィールドの1ビツトが、レコード
が修正されたことを示す標識として働く。又、ディレク
トリの大きさは、ブロック記述子によって支配される。
4096バイトの各ブロックのための20バイトの記述
子は、1%よりも小さいディレクトリのオーバヘッドを
示す。
子は、1%よりも小さいディレクトリのオーバヘッドを
示す。
ブロック・ステージングの手順
本発明の方法を呼出して実行するために必要な手順を以
下に記述する。それらの手順は、制御装置21及び/若
しくは23に存在するキャッシュ管理機溝部分によって
実行される。
下に記述する。それらの手順は、制御装置21及び/若
しくは23に存在するキャッシュ管理機溝部分によって
実行される。
1、ブロックの割振り
2、レコードの読取又は書込
3、フォーマットの書込
4、二重のレコード又はキーのチェック5、次のレコー
ドの取得 ブロックの割振り ブロックの割撮りは、新しいブロックのデータがキャッ
シュ101中にステージングされる前に呼出されるプロ
トコルである。最初に、位置表示機構が値1に初期設定
される。該位nst<示機構は値1だけ増分される。そ
の値がn+1に達した場合には、循環されて、1にセッ
トされる。
ドの取得 ブロックの割振り ブロックの割撮りは、新しいブロックのデータがキャッ
シュ101中にステージングされる前に呼出されるプロ
トコルである。最初に、位置表示機構が値1に初期設定
される。該位nst<示機構は値1だけ増分される。そ
の値がn+1に達した場合には、循環されて、1にセッ
トされる。
単一ブロックのデータの割振りに於ては、そのブロック
は、指標が位置表示機溝の値であるブロック記述子にお
いて調べられた参照ピッ1へを有している必要がある。
は、指標が位置表示機溝の値であるブロック記述子にお
いて調べられた参照ピッ1へを有している必要がある。
そのビットが11オフ″である場合には、同一の指標の
値のデータ・ブロックが割振りのために選択される。次
に、上記位置表示機構が増分されて、オペレーションが
終了される。しかしながら、使用ビットが“オン″であ
る場合には、そのビットはターン・オフされて、上記位
置表示機溝が増分される。
値のデータ・ブロックが割振りのために選択される。次
に、上記位置表示機構が増分されて、オペレーションが
終了される。しかしながら、使用ビットが“オン″であ
る場合には、そのビットはターン・オフされて、上記位
置表示機溝が増分される。
オペレーションが、ブロック記述子の検査に戻る。
k個の隣接するデータ・ブロックの割振りは、次のプロ
トコル・ステップを必要とする。
トコル・ステップを必要とする。
1、可変の呼出されたカウンタを零に初期設定する。
2、番号が位置表示機構の値であるブロック記述子に於
けるブロック使用ビットを調べる。
けるブロック使用ビットを調べる。
その使用ビットが″オフ”であれば、カウンタ値が増分
される。そのビットが″オン″であれば、又は位置表示
機構の値が1にセットされていれば、そのビットはター
ン・“オフ”されて、カウンタ値が零にセラ1へされる
。
される。そのビットが″オン″であれば、又は位置表示
機構の値が1にセットされていれば、そのビットはター
ン・“オフ”されて、カウンタ値が零にセラ1へされる
。
3、位置表示機構を+1だけ増分し、カウンタ値がkよ
りも小さい場合には、ステップ2に戻る。
りも小さい場合には、ステップ2に戻る。
4、番号が位置表示機構の最後のkの値に相当するブロ
ックを割振りのために選択する。
ックを割振りのために選択する。
キャッシュが“ライト・イン”型で動作される場合には
、′ブロックは修正されたレコードを含む″のビットが
、割振りのために選択された各ブロックについてチェッ
クされる。修正されたブロックに於けるレコードがD
A S I)に書込まれる。
、′ブロックは修正されたレコードを含む″のビットが
、割振りのために選択された各ブロックについてチェッ
クされる。修正されたブロックに於けるレコードがD
A S I)に書込まれる。
レコードの /書込
レコードの読取り又は書込において、有利な手順は、任
意にTEMPCとして表わされる64ビツトのフィール
ドを用いる。そのフィールドは、二重チェック手順によ
っても用、いられる。
意にTEMPCとして表わされる64ビツトのフィール
ドを用いる。そのフィールドは、二重チェック手順によ
っても用、いられる。
レコードの読取又は書込は次のステップを用いる。
1、キャッシュ・ディレクトリにおける1〜ラツク記述
子のエントリを見出すためにハツシュ・テーブルを索引
することによりその装置番号、シリンダ番号及びヘッド
番号を連結することによって形成された、要求している
トラックのIDを用いる。
子のエントリを見出すためにハツシュ・テーブルを索引
することによりその装置番号、シリンダ番号及びヘッド
番号を連結することによって形成された、要求している
トラックのIDを用いる。
2、ハツシュ・テーブルに衝突が生じた場合には、必要
なエントリを見出すために、トラック記述子のエントリ
に於ける″ハツシュチェモノ上の次のトラック記述子の
指標”を用いることができる。トラックIDが見出され
ない場合には、レコードがキャッシュに存在していない
ことに留意されたい。
なエントリを見出すために、トラック記述子のエントリ
に於ける″ハツシュチェモノ上の次のトラック記述子の
指標”を用いることができる。トラックIDが見出され
ない場合には、レコードがキャッシュに存在していない
ことに留意されたい。
この場合、トラック記述子のエントリは、そのトラック
のためにつくられる。しかしながら、トラックIDが見
出さばした場合には、その記述子のエントリからパI・
ラックの第1データ・ブロックの指標″が得られる。そ
れから、各エン1〜りに存在する″1−ラック・フィー
ルドの次のブロックの指標″を用いてブロック記述子の
チェインが探索される。
のためにつくられる。しかしながら、トラックIDが見
出さばした場合には、その記述子のエントリからパI・
ラックの第1データ・ブロックの指標″が得られる。そ
れから、各エン1〜りに存在する″1−ラック・フィー
ルドの次のブロックの指標″を用いてブロック記述子の
チェインが探索される。
3、その探索において、要求されたIDフィールドが見
出された場合には、読取に於てはキャッシュから制御装
置へ、膚込においては制御装置からキャッシュへ、レコ
ードが転送される。
出された場合には、読取に於てはキャッシュから制御装
置へ、膚込においては制御装置からキャッシュへ、レコ
ードが転送される。
4、その探索において、要求されたIDフィールドが見
出されない場合には、チA7ネルから受信されたレコー
ドの寸法が制マコ1装置から得られる。これは、必要な
ブロックの数を含み、ブロックの寸法による分割された
レコードの寸法を越えない最小の整数であると考えられ
る。レコードの寸法の表示がない場合には、1つのブロ
ックが割振られる。それが不充分であれば、オペレーシ
ョンが再試行される。
出されない場合には、チA7ネルから受信されたレコー
ドの寸法が制マコ1装置から得られる。これは、必要な
ブロックの数を含み、ブロックの寸法による分割された
レコードの寸法を越えない最小の整数であると考えられ
る。レコードの寸法の表示がない場合には、1つのブロ
ックが割振られる。それが不充分であれば、オペレーシ
ョンが再試行される。
1一つのブロックが割振られた場合には、レコードが、
そのトラックからそのブロックに入ることができる数の
後続レコードとともに、キャッシュにステージングさ肛
る。書込に於ては、上記レコードがDASDに書込まれ
、上記後続レコードがDASDからキャッシュヘステー
ジングされる。上記ブロックに入ること力1できない第
ルコードのIDフィールドは、TEMPCフィールド中
に読込まれる。後述される二重チェック手順が、二重レ
コードのステージングを防ぐために用いられる。新しい
ブロックのためのブロック記述子のエントりが書込まれ
、その指標が該トラックのためのブロック記述子のチェ
インに挿入される。″ブロックに続く第ルコードのID
フィールド″がTEMPCフィールドから得られる。
そのトラックからそのブロックに入ることができる数の
後続レコードとともに、キャッシュにステージングさ肛
る。書込に於ては、上記レコードがDASDに書込まれ
、上記後続レコードがDASDからキャッシュヘステー
ジングされる。上記ブロックに入ること力1できない第
ルコードのIDフィールドは、TEMPCフィールド中
に読込まれる。後述される二重チェック手順が、二重レ
コードのステージングを防ぐために用いられる。新しい
ブロックのためのブロック記述子のエントりが書込まれ
、その指標が該トラックのためのブロック記述子のチェ
インに挿入される。″ブロックに続く第ルコードのID
フィールド″がTEMPCフィールドから得られる。
1つ以上のブロックが割振られた場合には、要求された
レコードだけがそれらのブロック中にステージングされ
、そのトラックの次のレコードのレコードIDが続く。
レコードだけがそれらのブロック中にステージングされ
、そのトラックの次のレコードのレコードIDが続く。
書込に於ては、そのトラックの次のレコードのレコード
IDだ【ノがDASDから読取られる。新しいブロック
のためのブロック記述子のエントリが書込まれ、指標が
該トラックのためのブロック記述子のチェインに挿入さ
れる。最後のブロック記述子を除くそのような各ブロッ
ク記述子において、“最後のレコードは次のブロックに
続<1′のピッ1−が″オン″にセットされる。現デー
タ・レコードとともに読込まわる、上記レコードの次の
レコードのIDフィールドが、最後のブロック記述子の
″ブロックに続く第ルコードのIDフィールド”のフィ
ールドに記憶される。
IDだ【ノがDASDから読取られる。新しいブロック
のためのブロック記述子のエントリが書込まれ、指標が
該トラックのためのブロック記述子のチェインに挿入さ
れる。最後のブロック記述子を除くそのような各ブロッ
ク記述子において、“最後のレコードは次のブロックに
続<1′のピッ1−が″オン″にセットされる。現デー
タ・レコードとともに読込まわる、上記レコードの次の
レコードのIDフィールドが、最後のブロック記述子の
″ブロックに続く第ルコードのIDフィールド”のフィ
ールドに記憶される。
キャッシュが1′ライト・イン型であり、チャネルが書
込の参照を行った場合には、″ブロックは修正されたレ
コードを含む″のピッ1へがブロック記述子に於て″オ
ン″にセットされ、レコードIDに於ける″レコード修
正″のビットが“オン”にセットされる。キャッシュが
“ライト・イン型でない場合には、レコードがディスク
に書込まれる。
込の参照を行った場合には、″ブロックは修正されたレ
コードを含む″のピッ1へがブロック記述子に於て″オ
ン″にセットされ、レコードIDに於ける″レコード修
正″のビットが“オン”にセットされる。キャッシュが
“ライト・イン型でない場合には、レコードがディスク
に書込まれる。
フォーマットの書込
フォーマットの書込は、ディスクからのステージング及
びその後に於ける二重処理のチェックが除かれること以
外は、″レコードの書込″と同一である。又、書込まれ
るべきレコードが、キャッシュの単一のブロックに既に
含まれているレコードRの″次″のレコードであり、そ
の新しいレコードがレコードRに続くそのブロックに入
ることができる場合には、レコードを読取る又は書込む
ステップ4が除かれる。その代りに、上記の新しいレコ
ードが、レコードRに続く位置に於て、キャッシュに書
込まれる。更に、書込まれたレコードに続く特定のトラ
ックから、キャッシュにおける任意のブロックが削除さ
れる。書込まれたレコードを含むブロックが既にキャッ
シュに存在している場合には、そのブロック内でそのレ
コードに続く全てのレコードが削除される。
びその後に於ける二重処理のチェックが除かれること以
外は、″レコードの書込″と同一である。又、書込まれ
るべきレコードが、キャッシュの単一のブロックに既に
含まれているレコードRの″次″のレコードであり、そ
の新しいレコードがレコードRに続くそのブロックに入
ることができる場合には、レコードを読取る又は書込む
ステップ4が除かれる。その代りに、上記の新しいレコ
ードが、レコードRに続く位置に於て、キャッシュに書
込まれる。更に、書込まれたレコードに続く特定のトラ
ックから、キャッシュにおける任意のブロックが削除さ
れる。書込まれたレコードを含むブロックが既にキャッ
シュに存在している場合には、そのブロック内でそのレ
コードに続く全てのレコードが削除される。
二重レコードのチェック
この手順は、ブロックがディスクからステージングされ
た後、新しいブロック記述子のエンドりが書込まれる前
に適用される。その手順は次に示すステップを含む。
た後、新しいブロック記述子のエンドりが書込まれる前
に適用される。その手順は次に示すステップを含む。
1、ブロックのための1へラック記述子及び“1ヘラツ
クの第1データ・ブロックの指標″を確認する。
クの第1データ・ブロックの指標″を確認する。
2、新しいブロックに於て連続する各レコードIDフィ
ールドについて、第1フイールドから始めて、各エント
リに存在する″)・ラックの新しいブロックの指標″を
用いて、そのトラックのブロック記述子のチェインを探
索する。レコードIDが既にキャッシュに存在すること
が見出された叫合には、その値がTEMPCフィール1
−に記憶され、そのレコードが新しいブロックの残りの
部分全体とともに削除される。そのとき、」二記手順が
終了する。新しいブロックからの突合せIDがキャッシ
ュに既に存在しCいない場合には、上記手順は終了する
。
ールドについて、第1フイールドから始めて、各エント
リに存在する″)・ラックの新しいブロックの指標″を
用いて、そのトラックのブロック記述子のチェインを探
索する。レコードIDが既にキャッシュに存在すること
が見出された叫合には、その値がTEMPCフィール1
−に記憶され、そのレコードが新しいブロックの残りの
部分全体とともに削除される。そのとき、」二記手順が
終了する。新しいブロックからの突合せIDがキャッシ
ュに既に存在しCいない場合には、上記手順は終了する
。
7のレコードの数件
CCWのシーケンスは、しばしば1.トラック上の″次
″のレコードを暗黙に参照する。フォーマットの書込の
場合には、次のレコードのよりが、到来するCCWシー
ケンスにより供給される。現CCWシーケンスによるア
クセスされた前のレコードがキャッシュに存在している
が。
″のレコードを暗黙に参照する。フォーマットの書込の
場合には、次のレコードのよりが、到来するCCWシー
ケンスにより供給される。現CCWシーケンスによるア
クセスされた前のレコードがキャッシュに存在している
が。
そのブロックの最後に存在していないときに、11次の
レコード″への参照が生じた場合には、次のエントリは
、単にデータ・ブロックに於ける次のエントリである。
レコード″への参照が生じた場合には、次のエントリは
、単にデータ・ブロックに於ける次のエントリである。
又、キャッシュのブロックに於ける最後のレコードがア
クセスされた直後で、その1−ラック上の後続レコード
が必要とされる場合には、次のレコードのIDが、ブロ
ック記述子に於ける“ブロックに続く第ルコードのID
フィールド″から得られる。
クセスされた直後で、その1−ラック上の後続レコード
が必要とされる場合には、次のレコードのIDが、ブロ
ック記述子に於ける“ブロックに続く第ルコードのID
フィールド″から得られる。
その他
第5図において、固定長ブロックにおける従来のステー
ジングの単位が示されており、本発明の方法によるトラ
ック」二のミス・レコードから始まる固定エクステン1
〜に於ける可変長ブロックのバッキング及びステージン
グと対比されている。第1図は、本発明の方法に於ける
ステップを示す高レベルの流れ図を示している。ミス・
レコードがブロック・エクステントを越えるか否かの関
数として、別個の処理が開始される。
ジングの単位が示されており、本発明の方法によるトラ
ック」二のミス・レコードから始まる固定エクステン1
〜に於ける可変長ブロックのバッキング及びステージン
グと対比されている。第1図は、本発明の方法に於ける
ステップを示す高レベルの流れ図を示している。ミス・
レコードがブロック・エクステントを越えるか否かの関
数として、別個の処理が開始される。
もう一つの点は、キーが別個にステーシンクされること
である。その実施においては、″ミス″であるキーの探
索は、新しいブロック中に、必要なキーを、そのトラッ
クがら該プロッタに入ることができる数の後続キーとと
もに、ステージングさせる。二重のキーを除くためのル
ールはレコードに関して示したものと同様である。
である。その実施においては、″ミス″であるキーの探
索は、新しいブロック中に、必要なキーを、そのトラッ
クがら該プロッタに入ることができる数の後続キーとと
もに、ステージングさせる。二重のキーを除くためのル
ールはレコードに関して示したものと同様である。
その選択の利点は、キャッシュに存在していないレコー
ドのキーがそのキャッシュに存在しているかもしれない
ことである。これは、探索時間を短縮する。
ドのキーがそのキャッシュに存在しているかもしれない
ことである。これは、探索時間を短縮する。
以上においては1本発明の方法を読取及び碧込の両方に
おけるキャッシュの参照に関して説明したが、著しい量
のデータを用いた書込の参照について言及しておく。デ
ータ・エクステントを知るための機能が設けられている
ならば、本発明の方法を用いることができる。こ、lb
は、例えば、最大容量迄充たすことができるバッファ又
はCCWにより制御装置に供給されるパラメータを有す
ること等の種々の方法によって行われる。
おけるキャッシュの参照に関して説明したが、著しい量
のデータを用いた書込の参照について言及しておく。デ
ータ・エクステントを知るための機能が設けられている
ならば、本発明の方法を用いることができる。こ、lb
は、例えば、最大容量迄充たすことができるバッファ又
はCCWにより制御装置に供給されるパラメータを有す
ること等の種々の方法によって行われる。
[発明の効果]
本発明の方法によれば、記憶サブシステムを参照するC
PUプロセス(チャネル・プログラム)の実行速度が増
し、Wi層記憶システムのステージ間に於けるデータの
転送が相当に減少し、更に具体的に云えば、キャッシュ
に於ける可変長レコードの管理の複雑さが除かれて、D
ASDとDASDキャッシュとの間におけるデータの転
送が減少する。
PUプロセス(チャネル・プログラム)の実行速度が増
し、Wi層記憶システムのステージ間に於けるデータの
転送が相当に減少し、更に具体的に云えば、キャッシュ
に於ける可変長レコードの管理の複雑さが除かれて、D
ASDとDASDキャッシュとの間におけるデータの転
送が減少する。
第1図は本発明の方法におけるステップを示す層を示す
図、第3図は複数のCPUが複数のI)ASDへのアク
セスを共用している従来技術によるシステム構成を示す
図、第4図は記憶制御装置のレベルにおいて管理される
本発明の方法におけるキャッシュを有する種々のアクセ
ス経路を有している1組のDASDを示す図、第5図は
ステージングのための固定エクステン1へに於ける可変
長レコードのブロッキングと比較されている従来のステ
ージング及び固定ブロックを示ず図である。 1.3.6・・・・CPU、2・・・・CPUキャッシ
ュ、4・・・・主記憶装置、5.7.8.9、]0.1
2.14.16・・・・チャネル、11.13.15.
17.31.33.35.37.103、Lll・・・
・経路、21.23・・・・制御装置、25・・・・ス
イッチング手段、27.29・・・・1〕ΔS1つ、2
8.30・・・・DASD制御装置(接続機構)39.
47・・・・接続機構論理、41.49・・・・シーケ
ンス制御装置、51.55・・・・線、53・・・・1
組のDASD、57.61・・・・データ入力線59.
63・・・・データ出力線、65.67・・・・タグ線
、101・・・・キャッシュ、105.109・・・・
アクセス回路、107・・・・キャッシュRAM、。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 岡 1) 次 生 (外1名)
図、第3図は複数のCPUが複数のI)ASDへのアク
セスを共用している従来技術によるシステム構成を示す
図、第4図は記憶制御装置のレベルにおいて管理される
本発明の方法におけるキャッシュを有する種々のアクセ
ス経路を有している1組のDASDを示す図、第5図は
ステージングのための固定エクステン1へに於ける可変
長レコードのブロッキングと比較されている従来のステ
ージング及び固定ブロックを示ず図である。 1.3.6・・・・CPU、2・・・・CPUキャッシ
ュ、4・・・・主記憶装置、5.7.8.9、]0.1
2.14.16・・・・チャネル、11.13.15.
17.31.33.35.37.103、Lll・・・
・経路、21.23・・・・制御装置、25・・・・ス
イッチング手段、27.29・・・・1〕ΔS1つ、2
8.30・・・・DASD制御装置(接続機構)39.
47・・・・接続機構論理、41.49・・・・シーケ
ンス制御装置、51.55・・・・線、53・・・・1
組のDASD、57.61・・・・データ入力線59.
63・・・・データ出力線、65.67・・・・タグ線
、101・・・・キャッシュ、105.109・・・・
アクセス回路、107・・・・キャッシュRAM、。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 岡 1) 次 生 (外1名)
Claims (1)
- 【特許請求の範囲】 DASDキャッシュに存在しない長さの異なるミス・レ
コードを、DASDのトラックから固定のブロック・エ
クステントに分割された上記DASDキャッシュ内ヘス
テージングするための方法であって、 (a)上記ミス・レコードがブロック・エクステントと
等しいか又はそれよりも小さい場合には、上記ミス・レ
コードから始まるブロック・エクステント内に上記キャ
ッシュに既にステージングさhているレコードがあるか
否かを確認し、既にステージングされているレコード及
びその後続の全てのレコードを上記ブロックから削除す
るように、又は (b)上記ミス・レコードがブロック・エクステントよ
りも大きい場合には、上記キャッシュ内の最近用いられ
ていない最初のに個のブロック裂開振り、上記に個のブ
ロックのレコードをステージングするように、 D A S I)の参照トラックに於て、」二記ミス・
レコードから始まって、固定ブロックに亘るか、」二記
トラックの端部に達するか、又はキャッシュに既に存在
するレコードに遭遇するかする迄続くレコードを上記キ
ャッシュにブロッキングしてステージングするステップ
を含む。 DASDキャッシュに於ける情報の固定ブロック・エク
ステントをステージングするための方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/510,130 US4603380A (en) | 1983-07-01 | 1983-07-01 | DASD cache block staging |
| US510130 | 1990-04-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6015760A true JPS6015760A (ja) | 1985-01-26 |
Family
ID=24029492
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59109804A Pending JPS6015760A (ja) | 1983-07-01 | 1984-05-31 | Dasdキヤツシユの情報をステ−ジングするための方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4603380A (ja) |
| EP (1) | EP0130349B1 (ja) |
| JP (1) | JPS6015760A (ja) |
| DE (1) | DE3480361D1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6009498A (en) * | 1995-02-16 | 1999-12-28 | Fujitsu Limited | Disk control unit for holding track data in cache memory |
| US6101574A (en) * | 1995-02-16 | 2000-08-08 | Fujitsu Limited | Disk control unit for holding track data in non-volatile cache memory |
Families Citing this family (62)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58154054A (ja) * | 1982-03-10 | 1983-09-13 | Hitachi Ltd | 外部記憶装置制御用回路 |
| JPS60233749A (ja) * | 1984-05-07 | 1985-11-20 | Sharp Corp | メモリフアイル装置 |
| US4967353A (en) * | 1987-02-25 | 1990-10-30 | International Business Machines Corporation | System for periodically reallocating page frames in memory based upon non-usage within a time period or after being allocated |
| IT1202687B (it) * | 1987-03-25 | 1989-02-09 | Honeywell Inf Systems | Memoria tampone a predizione di hit |
| US5008820A (en) * | 1987-03-30 | 1991-04-16 | International Business Machines Corporation | Method of rapidly opening disk files identified by path names |
| US4972316A (en) * | 1987-03-30 | 1990-11-20 | International Business Machines Corporation | Method of handling disk sector errors in DASD cache |
| US4977495A (en) * | 1988-02-29 | 1990-12-11 | Unisys Corporation | System and method for accessing a cache memory which is located in the main memory of a large data processing system |
| US5253351A (en) * | 1988-08-11 | 1993-10-12 | Hitachi, Ltd. | Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values |
| JP2872251B2 (ja) * | 1988-10-12 | 1999-03-17 | 株式会社日立製作所 | 情報処理システム |
| US4994962A (en) * | 1988-10-28 | 1991-02-19 | Apollo Computer Inc. | Variable length cache fill |
| US5159677A (en) * | 1988-11-21 | 1992-10-27 | International Business Machines Corp. | Method and system for storing data in and retrieving data from a non-main storage virtual data space |
| US5341479A (en) * | 1989-01-31 | 1994-08-23 | Storage Technology Corporation | Address mark triggered read/write head buffer |
| US5150472A (en) * | 1989-10-20 | 1992-09-22 | International Business Machines Corp. | Cache management method and apparatus for shared, sequentially-accessed, data |
| US7610452B1 (en) * | 1989-10-31 | 2009-10-27 | Canon Kabushiki Kaisha | Data processing system wherein data is stored in a memory and an external storage in parallel |
| AU650242B2 (en) * | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
| JP2826857B2 (ja) * | 1989-12-13 | 1998-11-18 | 株式会社日立製作所 | キャッシュ制御方法および制御装置 |
| US5088026A (en) * | 1990-02-09 | 1992-02-11 | International Business Machines Corporation | Method for managing a data cache using virtual external storage addresses as arguments |
| JPH03266039A (ja) * | 1990-03-16 | 1991-11-27 | Fujitsu Ltd | フリーフォーマットデータリンク処理方式 |
| US5263145A (en) * | 1990-05-24 | 1993-11-16 | International Business Machines Corporation | Method and means for accessing DASD arrays with tuned data transfer rate and concurrency |
| US5146576A (en) * | 1990-08-31 | 1992-09-08 | International Business Machines Corporation | Managing high speed slow access channel to slow speed cyclic system data transfer |
| US5235690A (en) * | 1990-08-31 | 1993-08-10 | International Business Machines Corporation | Method for operating a cached peripheral data storage subsystem including a step of subsetting the data transfer into subsets of data records |
| US5325509A (en) * | 1991-03-05 | 1994-06-28 | Zitel Corporation | Method of operating a cache memory including determining desirability of cache ahead or cache behind based on a number of available I/O operations |
| US5594885A (en) * | 1991-03-05 | 1997-01-14 | Zitel Corporation | Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry |
| US5590300A (en) * | 1991-03-05 | 1996-12-31 | Zitel Corporation | Cache memory utilizing address translation table |
| US5506979A (en) * | 1991-04-02 | 1996-04-09 | International Business Machines Corporation | Method and means for execution of commands accessing variable length records stored on fixed block formatted DASDS of an N+2 DASD synchronous array |
| JP3451099B2 (ja) | 1991-12-06 | 2003-09-29 | 株式会社日立製作所 | 外部記憶サブシステム |
| US5283884A (en) * | 1991-12-30 | 1994-02-01 | International Business Machines Corporation | CKD channel with predictive track table |
| US5608890A (en) * | 1992-07-02 | 1997-03-04 | International Business Machines Corporation | Data set level cache optimization |
| US5446858A (en) * | 1992-08-03 | 1995-08-29 | International Business Machines Corporation | Apparatus and method for transferring information in blocks from a database to a memory |
| JPH0659952A (ja) * | 1992-08-07 | 1994-03-04 | Toshiba Corp | 磁気ディスク装置 |
| US5991775A (en) * | 1992-09-23 | 1999-11-23 | International Business Machines Corporation | Method and system for dynamic cache allocation between record and track entries |
| US5426761A (en) * | 1992-12-22 | 1995-06-20 | International Business Machines Corporation | Cache DASD sequential staging and method |
| US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
| US5636355A (en) * | 1993-06-30 | 1997-06-03 | Digital Equipment Corporation | Disk cache management techniques using non-volatile storage |
| US5551002A (en) * | 1993-07-01 | 1996-08-27 | Digital Equipment Corporation | System for controlling a write cache and merging adjacent data blocks for write operations |
| US5809527A (en) * | 1993-12-23 | 1998-09-15 | Unisys Corporation | Outboard file cache system |
| US5526511A (en) * | 1993-12-23 | 1996-06-11 | Unisys Corporation | Enhanced least recently used round robin cache management method and apparatus for allocation and destaging of cache segments |
| US5535372A (en) * | 1994-07-06 | 1996-07-09 | International Business Machines Corporation | Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices |
| US5659739A (en) * | 1995-10-02 | 1997-08-19 | Digital Equipment Corporation | Skip list data structure enhancements |
| US5761501A (en) * | 1995-10-02 | 1998-06-02 | Digital Equipment Corporation | Stacked skip list data structures |
| US5802557A (en) * | 1996-03-18 | 1998-09-01 | Emc Corp | System and method for caching information in a digital data storage subsystem |
| US5949970A (en) * | 1997-01-07 | 1999-09-07 | Unisys Corporation | Dual XPCS for disaster recovery |
| US5940826A (en) * | 1997-01-07 | 1999-08-17 | Unisys Corporation | Dual XPCS for disaster recovery in multi-host computer complexes |
| US6701330B1 (en) | 1997-12-30 | 2004-03-02 | Unisys Corporation | Protecting duplicate/lost updates against host failures |
| US6079000A (en) * | 1997-12-30 | 2000-06-20 | Unisys Corporation | XPC backup for in-process audit |
| US5941972A (en) | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
| USRE42761E1 (en) | 1997-12-31 | 2011-09-27 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
| US6442647B1 (en) * | 1998-08-21 | 2002-08-27 | International Business Machines Corporation | Method and apparatus for utilization of plural commands to improve read response times of data from a disk track |
| US6822655B1 (en) | 2000-07-20 | 2004-11-23 | International Business Machines Corporation | Method and apparatus for caching variable size patterns into fixed size slots |
| US6851024B1 (en) * | 2000-08-17 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | Exclusive caching in computer systems |
| US7065558B2 (en) * | 2002-02-22 | 2006-06-20 | Microsoft Corporation | Opportunistic directory cache and method of serving target directory information in a network environment |
| US7039765B1 (en) | 2002-12-19 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Techniques for cache memory management using read and write operations |
| KR20050023699A (ko) * | 2003-09-02 | 2005-03-10 | 삼성전자주식회사 | 복수의 cpu 시스템에서 디바이스를 공유하는 방법 및장치 |
| US20100010965A1 (en) * | 2008-07-08 | 2010-01-14 | International Business Machines Corporation | Query Management Systems |
| TW201017421A (en) * | 2008-09-24 | 2010-05-01 | Panasonic Corp | Cache memory, memory system and control method therefor |
| US8732401B2 (en) | 2011-07-07 | 2014-05-20 | Atlantis Computing, Inc. | Method and apparatus for cache replacement using a catalog |
| US9277010B2 (en) | 2012-12-21 | 2016-03-01 | Atlantis Computing, Inc. | Systems and apparatuses for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment |
| US9069472B2 (en) | 2012-12-21 | 2015-06-30 | Atlantis Computing, Inc. | Method for dispersing and collating I/O's from virtual machines for parallelization of I/O access and redundancy of storing virtual machine data |
| US9250946B2 (en) | 2013-02-12 | 2016-02-02 | Atlantis Computing, Inc. | Efficient provisioning of cloned virtual machine images using deduplication metadata |
| US9372865B2 (en) | 2013-02-12 | 2016-06-21 | Atlantis Computing, Inc. | Deduplication metadata access in deduplication file system |
| US9471590B2 (en) | 2013-02-12 | 2016-10-18 | Atlantis Computing, Inc. | Method and apparatus for replicating virtual machine images using deduplication metadata |
| US9773004B2 (en) * | 2014-10-24 | 2017-09-26 | Netapp, Inc. | Methods for replicating data and enabling instantaneous access to data and devices thereof |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3336582A (en) * | 1964-09-01 | 1967-08-15 | Ibm | Interlocked communication system |
| US3564502A (en) * | 1968-01-15 | 1971-02-16 | Ibm | Channel position signaling method and means |
| US3541529A (en) * | 1969-09-22 | 1970-11-17 | Ibm | Replacement system |
| US3725864A (en) * | 1971-03-03 | 1973-04-03 | Ibm | Input/output control |
| US3938097A (en) * | 1974-04-01 | 1976-02-10 | Xerox Corporation | Memory and buffer arrangement for digital computers |
| US4195342A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Multi-configurable cache store system |
| US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
| US4322795A (en) * | 1980-01-24 | 1982-03-30 | Honeywell Information Systems Inc. | Cache memory utilizing selective clearing and least recently used updating |
| US4394732A (en) * | 1980-11-14 | 1983-07-19 | Sperry Corporation | Cache/disk subsystem trickle |
| US4394733A (en) * | 1980-11-14 | 1983-07-19 | Sperry Corporation | Cache/disk subsystem |
| US4437155A (en) * | 1980-11-14 | 1984-03-13 | Sperry Corporation | Cache/disk subsystem with dual aging of cache entries |
| US4423479A (en) * | 1980-11-14 | 1983-12-27 | Sperry Corporation | Cache/disk subsystem with acquire write command |
| US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
| US4490782A (en) * | 1981-06-05 | 1984-12-25 | International Business Machines Corporation | I/O Storage controller cache system with prefetch determined by requested record's position within data block |
| US4429363A (en) * | 1981-10-15 | 1984-01-31 | International Business Machines Corporation | Method and apparatus for managing data movements from a backing store to a caching buffer store |
| US4500954A (en) * | 1981-10-15 | 1985-02-19 | International Business Machines Corporation | Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass |
| US4506323A (en) * | 1982-03-03 | 1985-03-19 | Sperry Corporation | Cache/disk file status indicator with data protection feature |
-
1983
- 1983-07-01 US US06/510,130 patent/US4603380A/en not_active Expired - Lifetime
-
1984
- 1984-05-25 EP EP84105932A patent/EP0130349B1/en not_active Expired
- 1984-05-25 DE DE8484105932T patent/DE3480361D1/de not_active Expired
- 1984-05-31 JP JP59109804A patent/JPS6015760A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6009498A (en) * | 1995-02-16 | 1999-12-28 | Fujitsu Limited | Disk control unit for holding track data in cache memory |
| US6101574A (en) * | 1995-02-16 | 2000-08-08 | Fujitsu Limited | Disk control unit for holding track data in non-volatile cache memory |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0130349B1 (en) | 1989-11-02 |
| EP0130349A3 (en) | 1987-07-29 |
| EP0130349A2 (en) | 1985-01-09 |
| DE3480361D1 (en) | 1989-12-07 |
| US4603380A (en) | 1986-07-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6015760A (ja) | Dasdキヤツシユの情報をステ−ジングするための方法 | |
| US4298929A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
| EP0086886B1 (en) | Hierarchical data storage system for digital computers | |
| US6457102B1 (en) | Cache using multiple LRU's | |
| EP0071719B1 (en) | Data processing apparatus including a paging storage subsystem | |
| EP0112442B1 (en) | Data storage hierarchy and its use for data storage space management | |
| US5193163A (en) | Two-level protocol for multi-component bus ownership, and implementation in a multi-processor cache write back protocol | |
| EP0072108B1 (en) | A multiple operating mode storage subsystem | |
| US4875155A (en) | Peripheral subsystem having read/write cache with record access | |
| EP0114190B1 (en) | Data storage hierarchy | |
| US5418927A (en) | I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines | |
| US7337281B2 (en) | Storage system and data caching method in the system | |
| US5522065A (en) | Method for performing write operations in a parity fault tolerant disk array | |
| US4323968A (en) | Multilevel storage system having unitary control of data transfers | |
| JPH0458051B2 (ja) | ||
| US20070260846A1 (en) | Methods of prefetching data in data storage systems | |
| JPH0727495B2 (ja) | データ転送方法 | |
| JPH05210585A (ja) | キャッシュ管理システム | |
| JPS624745B2 (ja) | ||
| JPS619722A (ja) | デイスク記憶装置のトラツクでペ−ジを再配列する装置 | |
| US5694570A (en) | Method and system of buffering data written to direct access storage devices in data processing systems | |
| US5287482A (en) | Input/output cache | |
| JPS63240653A (ja) | 記憶装置管理ユニットと仮想一実アドレス間の翻訳方法 | |
| CA1123964A (en) | Integrated multilevel storage hierarchy for a data processing system | |
| KR920005296B1 (ko) | 정보처리장치 |