JPS5873085A - 記憶階層制御方法 - Google Patents
記憶階層制御方法Info
- Publication number
- JPS5873085A JPS5873085A JP57143539A JP14353982A JPS5873085A JP S5873085 A JPS5873085 A JP S5873085A JP 57143539 A JP57143539 A JP 57143539A JP 14353982 A JP14353982 A JP 14353982A JP S5873085 A JPS5873085 A JP S5873085A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- memory
- write
- storage
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
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
【発明の詳細な説明】
〔本発明の技術分野〕
本発明は多重レベルの記憶階層に係り、更に詳細に説明
す几ば、記憶階層の上位レベルに置かれたデータを制御
することに係る。
す几ば、記憶階層の上位レベルに置かれたデータを制御
することに係る。
米国特許第35S9938号に記述−grtでいる様に
、周辺システムの記憶階層は見かけ上のメモリを与える
為に長年に亘って使用さnてきた。こノ米国特許は、要
求時ベージング・システムにキャッシュ或いはバッファ
・メモリを設けると、周辺システムの記憶機構が大容量
を有する様に見え、しかも通常のバッキング・メモリよ
り高速のアクセス能力を着する様に見え石車を教示して
いる。
、周辺システムの記憶階層は見かけ上のメモリを与える
為に長年に亘って使用さnてきた。こノ米国特許は、要
求時ベージング・システムにキャッシュ或いはバッファ
・メモリを設けると、周辺システムの記憶機構が大容量
を有する様に見え、しかも通常のバッキング・メモリよ
り高速のアクセス能力を着する様に見え石車を教示して
いる。
又この米国特許は、バッキング・メモリが磁気テープ又
は磁気ディスクの如き持久性メモリでろるのに対し、キ
ャッシュは磁気コア・メモリの如き非持久性メモリであ
る事を教示する。技術が進歩した現在では、キャッシュ
として半導体メモリを使用する事ができる。米国特許第
3839704号は、他の形式の記憶階層を記述してい
る。記憶階層の重要な側面は、データの保全性(int
egrity)である。PDち、中央処理ユニット(c
PU)又は他のデータ処理装置の如きユーザから受取ら
nるデータは、正1.い状態で又はエラーが存在しうる
という指示を伴なって、供給ユニットへ戻されねばなら
ない。この点について記憶階層の分野で普通に使用さ几
ている技法は、上位レベルから下位レベル(持久性メモ
リ)へデータを移動するとともに、上位レベルにおける
デーiを制限して他のデータを記憶することができるよ
うにする、というものである。米国特許第402046
6号は上位レヘルカラ下位レベルのバッキング・メモリ
へ変更データをコピーすることを示し、米国特許第40
77059号は予定の東件下でコピー・バックを強制す
ることを示している。このようなコピー・バック動作は
大量のデータを対象として行なわれることがあるが、こ
のような場合には使用ユニットによるデータのアクセス
が妨げられるので記憶階層の性能が全体として低下する
ことになる。
は磁気ディスクの如き持久性メモリでろるのに対し、キ
ャッシュは磁気コア・メモリの如き非持久性メモリであ
る事を教示する。技術が進歩した現在では、キャッシュ
として半導体メモリを使用する事ができる。米国特許第
3839704号は、他の形式の記憶階層を記述してい
る。記憶階層の重要な側面は、データの保全性(int
egrity)である。PDち、中央処理ユニット(c
PU)又は他のデータ処理装置の如きユーザから受取ら
nるデータは、正1.い状態で又はエラーが存在しうる
という指示を伴なって、供給ユニットへ戻されねばなら
ない。この点について記憶階層の分野で普通に使用さ几
ている技法は、上位レベルから下位レベル(持久性メモ
リ)へデータを移動するとともに、上位レベルにおける
デーiを制限して他のデータを記憶することができるよ
うにする、というものである。米国特許第402046
6号は上位レヘルカラ下位レベルのバッキング・メモリ
へ変更データをコピーすることを示し、米国特許第40
77059号は予定の東件下でコピー・バックを強制す
ることを示している。このようなコピー・バック動作は
大量のデータを対象として行なわれることがあるが、こ
のような場合には使用ユニットによるデータのアクセス
が妨げられるので記憶階層の性能が全体として低下する
ことになる。
この問題は、上位レベルから下位レベルへコピー・バッ
クする必要があるのは変更データだけであることを教示
する、米国特許第3588゛839号によって部分的に
解決された。
クする必要があるのは変更データだけであることを教示
する、米国特許第3588゛839号によって部分的に
解決された。
記憶階層は種々の形式を有する。たとえば前掲の米国特
許第3569938号では、単一のキャツビュが複数の
使用ユニットヲサービスしている。
許第3569938号では、単一のキャツビュが複数の
使用ユニットヲサービスしている。
米国特許第3735360号は、性能向上のために各プ
ロセッサにそ几自体のキャッシュを設けることを示して
いる。記憶階層の性能に影響するものとしては、キャッ
シュへ予定のデータ命令くために使用されるアルゴリズ
ム及び他の制御があろうこの意味で、米国特許第589
8624号は、バッキング・メモリからキャッシュへデ
ータをフェッチするに要する時間を1.CPUで実行さ
れているプログラムに従って操作員が選択し得ることを
示している。このようにして、C,PUによって必要と
されるデータだけをキャッシュ、囲ち記憶階層の上位レ
ベルに置くことが望まれるのである。
ロセッサにそ几自体のキャッシュを設けることを示して
いる。記憶階層の性能に影響するものとしては、キャッ
シュへ予定のデータ命令くために使用されるアルゴリズ
ム及び他の制御があろうこの意味で、米国特許第589
8624号は、バッキング・メモリからキャッシュへデ
ータをフェッチするに要する時間を1.CPUで実行さ
れているプログラムに従って操作員が選択し得ることを
示している。このようにして、C,PUによって必要と
されるデータだけをキャッシュ、囲ち記憶階層の上位レ
ベルに置くことが望まれるのである。
この方式は一層有用なデータが上位レベルの記憶位置に
記憶されることを許容する。こnらのすべての動作は著
しく複雑である。従って、記憶階層の最良の管理様式を
評−するために、種々の記憶階層、用評価プログラムが
使用さnた。米国特許第3964028号及び第406
8304号は、こしらの目標を達成するために記憶階層
の性能をモニタすることを示している。更に、データの
保全性を維持しつつ最適の性能を保証するために、種々
の型式の記憶階層において多くのことがなされねばなら
ない。記憶階層に関する多くの作業は、CPUへ接続さ
几たキャッシュとメ1ン・メ、モリとの組合せについて
行なわれた。キャッジiとメ1ン・メモリとの組合せに
ついて得られた諸原理は、前掲の米国特許第35699
38号で最初に示唆されたように、キャッシュ付きの周
辺システムに直接的に関係している。もちろん、過去に
おいては磁気テープ及び磁気ディスクからのデータをバ
ンファするために71ン・メモリが使用された。
記憶されることを許容する。こnらのすべての動作は著
しく複雑である。従って、記憶階層の最良の管理様式を
評−するために、種々の記憶階層、用評価プログラムが
使用さnた。米国特許第3964028号及び第406
8304号は、こしらの目標を達成するために記憶階層
の性能をモニタすることを示している。更に、データの
保全性を維持しつつ最適の性能を保証するために、種々
の型式の記憶階層において多くのことがなされねばなら
ない。記憶階層に関する多くの作業は、CPUへ接続さ
几たキャッシュとメ1ン・メ、モリとの組合せについて
行なわれた。キャッジiとメ1ン・メモリとの組合せに
ついて得られた諸原理は、前掲の米国特許第35699
38号で最初に示唆されたように、キャッシュ付きの周
辺システムに直接的に関係している。もちろん、過去に
おいては磁気テープ及び磁気ディスクからのデータをバ
ンファするために71ン・メモリが使用された。
囲ち、メ1ン・メモリはCPUの作業メモリとして使用
さnただけでなく、周辺デノ(イスの);ツファとして
も使用さ牡たのである。
さnただけでなく、周辺デノ(イスの);ツファとして
も使用さ牡たのである。
前述の性能モニタによって明らかになったことは、デー
タ処理全体の性能及び保全性の観点力1らすれば、使用
ユニットとノ(ツキング・メモ1)との間に設けらtt
7tキャッシュを常時使用することは必ずしも最良の方
策ではない、ということである。
タ処理全体の性能及び保全性の観点力1らすれば、使用
ユニットとノ(ツキング・メモ1)との間に設けらtt
7tキャッシュを常時使用することは必ずしも最良の方
策ではない、ということである。
たとえば、米国特許第4075686号は特殊命令によ
ってキャッシュを選択的にオン(非)(イノく°ス)及
びオフ(バイパス)状態に切換えることを教示している
。また、バッキング・メモリは複数のセグメントg分割
さ几、そのうちいくつかのセグメントは逐次的な入出力
動作について7(4)ニスさnた。またこの特許は、成
る指令についてはキャッシュを使用しないことが望まし
いことを教示している。他の米国特許第4268907
号は、データのフェッチを指宕する成る指令について指
示フラグが予定の状態ヘセットされることを教示してい
る。このような指示フラグが予定の状態へセットさ1て
いると、置換回路は後続する予定の指令に応答してキャ
ッシュをノ(1)くスし、かくて長い直列データ転送の
際にキャッシュに現に記憶さnている多数のデータ命令
の置換を防止する。
ってキャッシュを選択的にオン(非)(イノく°ス)及
びオフ(バイパス)状態に切換えることを教示している
。また、バッキング・メモリは複数のセグメントg分割
さ几、そのうちいくつかのセグメントは逐次的な入出力
動作について7(4)ニスさnた。またこの特許は、成
る指令についてはキャッシュを使用しないことが望まし
いことを教示している。他の米国特許第4268907
号は、データのフェッチを指宕する成る指令について指
示フラグが予定の状態ヘセットされることを教示してい
る。このような指示フラグが予定の状態へセットさ1て
いると、置換回路は後続する予定の指令に応答してキャ
ッシュをノ(1)くスし、かくて長い直列データ転送の
際にキャッシュに現に記憶さnている多数のデータ命令
の置換を防止する。
他の米国特許第41.89770号は、オペランドにつ
いてはキャッシュをノ(1)ζスするけれども、命令に
ついてはキャッシュを使用することを教示する。
いてはキャッシュをノ(1)ζスするけれども、命令に
ついてはキャッシュを使用することを教示する。
いくつかの記憶階層においては、データを記憶階層に書
込むべきときに該データをキャッシュ及びバッキング・
メモリの両方へ転送することによってデータの保全性が
確保されている。米国特許第4045781号はその一
例を開示している。
込むべきときに該データをキャッシュ及びバッキング・
メモリの両方へ転送することによってデータの保全性が
確保されている。米国特許第4045781号はその一
例を開示している。
これは多くの場合有効であるが、キャッシュにおけるデ
ータ占有の割合が高くなる几め、応用形態によっては全
体的な性能が悪くなることがある。
ータ占有の割合が高くなる几め、応用形態によっては全
体的な性能が悪くなることがある。
米国特許第4173781号は、記憶階層の種々のレベ
ル間における一貫性を保証するためのテーブル制御シス
テムを開示している。記憶階層の更新に関しては、例え
ば米国特許第4167782号のようにキャッシュの更
新後にバンキング・メモリを更新するもの、米国特許第
4157586号のように記憶階層が更新されるときに
キャッシュの更新を制御するもの、米国特許第“408
4264号のようにデータがキャッシュ中に存在してい
るか又はキャッシュ中にス′ペースを割振られている場
合には常にキャッシュへのP込2kを行なうようにした
もの、などが知られている。データ保全のため、キャッ
シュ中で変更されたデータは、米国特許第402046
6号に開示されているように、バッキング・メモリなど
の下位レベルへコピー・バックさnるのが普通である。
ル間における一貫性を保証するためのテーブル制御シス
テムを開示している。記憶階層の更新に関しては、例え
ば米国特許第4167782号のようにキャッシュの更
新後にバンキング・メモリを更新するもの、米国特許第
4157586号のように記憶階層が更新されるときに
キャッシュの更新を制御するもの、米国特許第“408
4264号のようにデータがキャッシュ中に存在してい
るか又はキャッシュ中にス′ペースを割振られている場
合には常にキャッシュへのP込2kを行なうようにした
もの、などが知られている。データ保全のため、キャッ
シュ中で変更されたデータは、米国特許第402046
6号に開示されているように、バッキング・メモリなど
の下位レベルへコピー・バックさnるのが普通である。
直接アクセス記憶装置(D’ASD)及び電子ランダム
・アクセス・メモリ形のキャッシュを含む多重レベルの
記憶階層においては、非持久性の電子ランダム・アクセ
ス・メモリにのみ一データが存在しているとデータ保全
の点で問題があるので、持久記憶を与えるDASDにで
きるだけ早くデータを書込むのが望ましい。
・アクセス・メモリ形のキャッシュを含む多重レベルの
記憶階層においては、非持久性の電子ランダム・アクセ
ス・メモリにのみ一データが存在しているとデータ保全
の点で問題があるので、持久記憶を与えるDASDにで
きるだけ早くデータを書込むのが望ましい。
本発明の目的は、DASDの如きバッキング・メモリ及
び非持久性のキャッシュ或いはバッファ・メモリを含む
記憶階層において、データのためのスペースがキャッシ
ュ中に割振らnていない場合には常にバッキング・メモ
リへの書込みを行なうようにすることによって記憶階層
の性能を改善し、更にバッキング・メモリへの書込みを
促進するためにキャッシュに書込まnるデータを制限す
ることにあるっ 本発明によれば、使用ユニツ゛トから送らnてくる一連
の記憶階層アクセス・リクエストがモニタされ、特定の
リクエストの受取りが指示さルる。指示されたリクエス
トに応答して゛予定のデータがキャッシュから除か几、
その結果、後続する予定のアクセス・リクエストはバッ
キング・メモリにのみ記憶さ1ているデータに向けらn
るつ後述する実施例においては、特定のリクエストは記
憶階層への書込み、特にバッキング・メモリのみへの書
込み、順次データの書込み、キャッシュでのデータ更新
などに関するものであるっキャッシュから除去されるべ
きデータは、その原因となった書込みの型に従って選択
されるっ周辺システムにおいては、一連のアクセス・リ
クエストによる動作が完了した後にキャッシュからデー
タを除去するのが好ましいう普通、一連のアクセス・リ
クエストは指令連鎖の形で与えら几るっ 一連のアクセス・リクエストに読取りリクエストが含ま
nていた場合には、対応するデータをバッキング・メモ
リからキャッシュへ移しておくと(こn4−データ・プ
ロモーション或いは単にプロモーションという)、読@
9ヒツト率を上げることができる。従って本発明の特定
の実施態様においては、記憶階層への書込みは主として
バッキング・メモリで直接実行さn1記憶階層からの読
取りは主としてキャッシュで実行さ几るっ〔実施例の説
明〕 第1A図において、中央処理ユニットの如き使用ユニッ
ト10は入出力接続部11を介して、メモリ・デルクタ
12t−含む記憶階層に接続さルる。本実施例では、こ
の記憶階層は周辺データ記憶システムを構成しておシ、
ノ<ツ干ング・メモリ14及びキャッシュ15e含tr
。パンヤング・メモ1J14(!ニー?ヤッシュ150
間では装置接続部16を介してデータが転送される。使
用ユニット10は、スイッチ17.18の設定状態に従
ってバツq7グ・/モIJ14又は千ヤ゛ツシュ15t
−選択的にアクセスすることができる。たとえば、スイ
ッチ17が図示のように設定されていると、入出力接続
部11の出力母線2oが装置入力母線21に結合されて
、データが使用ユニット1oが−らバッキング・メモリ
14へ直接転送される。バッキング・メモ・す14から
使用ユニット1nへの直接データ転送は、装置接続部1
3の装置出力母線22、スイッチ18、及び入出力接続
部11の入力母線23を介して行なわnる。スイッチ1
7.18の設定状態を変えると、出力母線2oはキャッ
シュ入力母線24に接続され、入力母線23はキャッシ
ュ出力母線25に接続さnるっ母線21.22.24.
25はバラ千ングφメモリ14とキャッシュ15の間の
データ転送にも使用されるっ好ましい実施例においては
、バッキング・メモリ14は複数のDASDを含み、キ
ャッシュ15は半導体の電子ランダム・アクセス・メモ
リである。
び非持久性のキャッシュ或いはバッファ・メモリを含む
記憶階層において、データのためのスペースがキャッシ
ュ中に割振らnていない場合には常にバッキング・メモ
リへの書込みを行なうようにすることによって記憶階層
の性能を改善し、更にバッキング・メモリへの書込みを
促進するためにキャッシュに書込まnるデータを制限す
ることにあるっ 本発明によれば、使用ユニツ゛トから送らnてくる一連
の記憶階層アクセス・リクエストがモニタされ、特定の
リクエストの受取りが指示さルる。指示されたリクエス
トに応答して゛予定のデータがキャッシュから除か几、
その結果、後続する予定のアクセス・リクエストはバッ
キング・メモリにのみ記憶さ1ているデータに向けらn
るつ後述する実施例においては、特定のリクエストは記
憶階層への書込み、特にバッキング・メモリのみへの書
込み、順次データの書込み、キャッシュでのデータ更新
などに関するものであるっキャッシュから除去されるべ
きデータは、その原因となった書込みの型に従って選択
されるっ周辺システムにおいては、一連のアクセス・リ
クエストによる動作が完了した後にキャッシュからデー
タを除去するのが好ましいう普通、一連のアクセス・リ
クエストは指令連鎖の形で与えら几るっ 一連のアクセス・リクエストに読取りリクエストが含ま
nていた場合には、対応するデータをバッキング・メモ
リからキャッシュへ移しておくと(こn4−データ・プ
ロモーション或いは単にプロモーションという)、読@
9ヒツト率を上げることができる。従って本発明の特定
の実施態様においては、記憶階層への書込みは主として
バッキング・メモリで直接実行さn1記憶階層からの読
取りは主としてキャッシュで実行さ几るっ〔実施例の説
明〕 第1A図において、中央処理ユニットの如き使用ユニッ
ト10は入出力接続部11を介して、メモリ・デルクタ
12t−含む記憶階層に接続さルる。本実施例では、こ
の記憶階層は周辺データ記憶システムを構成しておシ、
ノ<ツ干ング・メモリ14及びキャッシュ15e含tr
。パンヤング・メモ1J14(!ニー?ヤッシュ150
間では装置接続部16を介してデータが転送される。使
用ユニット10は、スイッチ17.18の設定状態に従
ってバツq7グ・/モIJ14又は千ヤ゛ツシュ15t
−選択的にアクセスすることができる。たとえば、スイ
ッチ17が図示のように設定されていると、入出力接続
部11の出力母線2oが装置入力母線21に結合されて
、データが使用ユニット1oが−らバッキング・メモリ
14へ直接転送される。バッキング・メモ・す14から
使用ユニット1nへの直接データ転送は、装置接続部1
3の装置出力母線22、スイッチ18、及び入出力接続
部11の入力母線23を介して行なわnる。スイッチ1
7.18の設定状態を変えると、出力母線2oはキャッ
シュ入力母線24に接続され、入力母線23はキャッシ
ュ出力母線25に接続さnるっ母線21.22.24.
25はバラ千ングφメモリ14とキャッシュ15の間の
データ転送にも使用されるっ好ましい実施例においては
、バッキング・メモリ14は複数のDASDを含み、キ
ャッシュ15は半導体の電子ランダム・アクセス・メモ
リである。
図示の記憶階層は、バッキング・メモリ14への直接書
込み及びキャッシュ15がらのデータ読取シを促進する
ために、読取ヒツト/書込ミス制御装置26の制御を受
けるっ使用ユニット1oがら書込み型のアクセス・リク
エストが送らn−c<るとキャッシュ15のディレクト
リ58が調べら几、キャンシ互15中にスペースが割振
らnてぃなければ、データはバッキング・メモリ14に
直接書込まnるっDASDが使用される場合には、キャ
ッシュ15への書込みょシもむしろDAS Dへの直接
書込みを行なうのが望ましい。そうすれハ、キャッシュ
15からバッキング・メモリ14へのデータ再書込みが
不要になるうデータ保全の点からは、できるだけ早い機
会にデータを持久性メモリに書込むことが必要である。
込み及びキャッシュ15がらのデータ読取シを促進する
ために、読取ヒツト/書込ミス制御装置26の制御を受
けるっ使用ユニット1oがら書込み型のアクセス・リク
エストが送らn−c<るとキャッシュ15のディレクト
リ58が調べら几、キャンシ互15中にスペースが割振
らnてぃなければ、データはバッキング・メモリ14に
直接書込まnるっDASDが使用される場合には、キャ
ッシュ15への書込みょシもむしろDAS Dへの直接
書込みを行なうのが望ましい。そうすれハ、キャッシュ
15からバッキング・メモリ14へのデータ再書込みが
不要になるうデータ保全の点からは、できるだけ早い機
会にデータを持久性メモリに書込むことが必要である。
読取り動作によってデータを使用ユニット10へ供給す
る場合には、できるだけ短いアクセス時間が望ま几るっ
読取りについては、バッキング・メモリ14にデータの
コピーを保持しておくことによってデータの保全性が確
保される。従って、読取9ヒツト/書込みミス制御装置
26は、データ読取りリクエストがあったときにリクエ
ストされたデータをキャッシュ15から読取nるように
するため、バッキング・メモリ14にあるデータをキャ
ッシュ15へ移す。゛ 本発明の一態様に従えば、データ書込み動作を分析して
そしに基づいてキャッシュ15から、データを除くこと
によシ、キャッシュ15で書込みミスが生じる可能性が
高くさn、従ってバッキング・メモリ14への直接書込
みの割合が大きくなる。
る場合には、できるだけ短いアクセス時間が望ま几るっ
読取りについては、バッキング・メモリ14にデータの
コピーを保持しておくことによってデータの保全性が確
保される。従って、読取9ヒツト/書込みミス制御装置
26は、データ読取りリクエストがあったときにリクエ
ストされたデータをキャッシュ15から読取nるように
するため、バッキング・メモリ14にあるデータをキャ
ッシュ15へ移す。゛ 本発明の一態様に従えば、データ書込み動作を分析して
そしに基づいてキャッシュ15から、データを除くこと
によシ、キャッシュ15で書込みミスが生じる可能性が
高くさn、従ってバッキング・メモリ14への直接書込
みの割合が大きくなる。
この動作は、バッキング・メモリ14が複数のDASD
から成っている場合に重要である。従って第1B図に示
したように、29から始まってステップ30で連鎖嘔れ
た一連の周辺動作が実行されている間、所与の型の全書
込み動作がステップ31で記録(tall)’ )され
る。連鎖さルた周辺動作が完了すると、記憶階層は記録
された書込み動作を調べる(ステップ32)。詳細につ
いては後述するが、所与の型の書込み動作が記録されて
いなければ、キャッシュ15のデータを制限す、るステ
ップ34は実行されない。所与の型の書込み動作が実行
された後は、メモリ・ディレクタ12かステップ34で
、キャッシュ15に書込まれている予定のデータのアド
レス可能性をなくすことKよってキャッシュ15の内容
を制限する。通常1このような予定のデータは、ステッ
プ51で記録さnた書込み動作に関係するものである。
から成っている場合に重要である。従って第1B図に示
したように、29から始まってステップ30で連鎖嘔れ
た一連の周辺動作が実行されている間、所与の型の全書
込み動作がステップ31で記録(tall)’ )され
る。連鎖さルた周辺動作が完了すると、記憶階層は記録
された書込み動作を調べる(ステップ32)。詳細につ
いては後述するが、所与の型の書込み動作が記録されて
いなければ、キャッシュ15のデータを制限す、るステ
ップ34は実行されない。所与の型の書込み動作が実行
された後は、メモリ・ディレクタ12かステップ34で
、キャッシュ15に書込まれている予定のデータのアド
レス可能性をなくすことKよってキャッシュ15の内容
を制限する。通常1このような予定のデータは、ステッ
プ51で記録さnた書込み動作に関係するものである。
キャッシュ15で読取シヒットが生じる可能性を大きく
するため、次のステップ66でバッキング・メモ1月4
からキャッシュ15ヘデータが移される(データ・プロ
モーション)。
するため、次のステップ66でバッキング・メモ1月4
からキャッシュ15ヘデータが移される(データ・プロ
モーション)。
本発明におけるキャッシュ管理制御方式は、キャッシュ
読取りヒツトの可能性を小さくすることなく干ヤッシュ
@込みヒツトの可能性を小さくし得る。バッキング・メ
モリ14がらキャッシュ15へ移されるのは、後続の読
取シアクセスによって参照さ几る可能性がちシ且つこの
ような参照が書込みのためにのみ行なわれるとは予想さ
れないようなデータである。かくして、キャッシュ15
からの読取りが可能になる。実験によれば、いわゆるう
1r・スル一方式を採用している記憶階層で通常行なわ
几ているバッキング・メモリからキャッシュへの非同期
データ移動を行なわなくても読取シヒット率はそれ程影
響さnないが(改善されることもある)、書込みヒツト
率は減少される。
読取りヒツトの可能性を小さくすることなく干ヤッシュ
@込みヒツトの可能性を小さくし得る。バッキング・メ
モリ14がらキャッシュ15へ移されるのは、後続の読
取シアクセスによって参照さ几る可能性がちシ且つこの
ような参照が書込みのためにのみ行なわれるとは予想さ
れないようなデータである。かくして、キャッシュ15
からの読取りが可能になる。実験によれば、いわゆるう
1r・スル一方式を採用している記憶階層で通常行なわ
几ているバッキング・メモリからキャッシュへの非同期
データ移動を行なわなくても読取シヒット率はそれ程影
響さnないが(改善されることもある)、書込みヒツト
率は減少される。
また、パンヤング・メモリへの書込み時にキャッシュの
更新を行なわなければ、サブシステムの内部作業負荷(
キャッシュ15へのデータ移動)が軽減されることも明
らかである。書込みヒツト率が小さくなっても、囲ち書
込みミスの可能性が大きくなっても、記憶階層の性能が
低下することはない。書込みミスについてはチャネル・
ビジーがDASDアクセス回転ミスの一因となるため、
書込みミスが生じた場合には書込みヒツトのときよりも
回転≧スの可能性が高い。しかしながら、こ几は、書込
みヒツトに関連する二重転送(使用ユニットからキャッ
シュへの転送、及びそれに続くキャッシュからDASD
への転送)が不要でろってそのために制御ユニットに起
因する回転ミスの可能性が小さくなるという門実によっ
て相殺されの回数が減シ且っ書込みミスの回数が増える
と、回転ミスの可能性は小さくなるといえる。こ江は性
能の向上を意味する。
更新を行なわなければ、サブシステムの内部作業負荷(
キャッシュ15へのデータ移動)が軽減されることも明
らかである。書込みヒツト率が小さくなっても、囲ち書
込みミスの可能性が大きくなっても、記憶階層の性能が
低下することはない。書込みミスについてはチャネル・
ビジーがDASDアクセス回転ミスの一因となるため、
書込みミスが生じた場合には書込みヒツトのときよりも
回転≧スの可能性が高い。しかしながら、こ几は、書込
みヒツトに関連する二重転送(使用ユニットからキャッ
シュへの転送、及びそれに続くキャッシュからDASD
への転送)が不要でろってそのために制御ユニットに起
因する回転ミスの可能性が小さくなるという門実によっ
て相殺されの回数が減シ且っ書込みミスの回数が増える
と、回転ミスの可能性は小さくなるといえる。こ江は性
能の向上を意味する。
本発明はまたデータの保全性をも向上させる。
持久性のバッキング・メモ1714に直接書込みを行な
うことにす慝と、使用ユニット1oがデータの変更を直
接制御できる。書込み誤シあるいは記録誤シはどのよう
なものであっても直ちに検出さnル、−v−ヤッシュ1
5に書込んだ後にバッキング・メモリ14への書込みを
行なうのであれば、記録誤シが生じても、便用ユニット
1oはそt″LKよるダメージに気づかない。仮シに使
用ユニット10が何らかの形でダメージに気づいたとし
ても、誤りからの自動回復を簡単に行なう方法は現在の
ところない、従って、データ保全のためには、バッキン
グ・メモリ14がデータを首尾よく記録してしまうまで
最終記録状況を与えるべきではない。
うことにす慝と、使用ユニット1oがデータの変更を直
接制御できる。書込み誤シあるいは記録誤シはどのよう
なものであっても直ちに検出さnル、−v−ヤッシュ1
5に書込んだ後にバッキング・メモリ14への書込みを
行なうのであれば、記録誤シが生じても、便用ユニット
1oはそt″LKよるダメージに気づかない。仮シに使
用ユニット10が何らかの形でダメージに気づいたとし
ても、誤りからの自動回復を簡単に行なう方法は現在の
ところない、従って、データ保全のためには、バッキン
グ・メモリ14がデータを首尾よく記録してしまうまで
最終記録状況を与えるべきではない。
パラ千ング拳メモリ14への書込みに対してライト・ス
ル一方式が文字通シに適用されると、バッキング・メモ
リ14及びキャッシュ15は異なったデータを有するこ
とになるが、この問題も本発明によって解決さnる。
ル一方式が文字通シに適用されると、バッキング・メモ
リ14及びキャッシュ15は異なったデータを有するこ
とになるが、この問題も本発明によって解決さnる。
第2図は2台のメモリ・ディレクタ121fe用いた実
施例を示しており、パツキングーメモリ14にDASD
が使用されている。各メモリ・ディレクタ12は複数の
チャネル・アダプタ50tQみ、こ几らのチャネル・ア
ダプタ50及び複数の、入出力接続部111”介して複
数の使用ユニット10に接続される。各チャネル争アダ
プタ50は、第2図においては、チャネル・アダプタを
表わす略号rCAJに添字「A」乃至rHJt付して区
別しである。各メモリ・デルクタ12はチャネル・アダ
プタ50の他にプログラムされたプロセッサ51を含む
っ図には示していないが、プロセッサ51は処理ユニッ
トと、メモリ・ディレクタ12を働かせるためのプログ
ラムを記憶している制御メモリとを含む。プロセッサ5
1の構成要素として第2図に示さしているのは、周辺指
令を受取って評価するアドレス/指令評価部(ACEと
略称)52、ACE52によって評価され解読された指
令に応答して使用ユニット10とアドレス指定されたD
ASD14との間のデータ転送を制御する直接アクセス
制御部(DACと略称)53、及びキャッシュ1st−
アクセスするためのキャッシュ・アクセス制御部(CA
Cと略称)54であるつACE520機能は、キャッシ
ュを持たないDASDのための通常のメモリ・デルクタ
でも遂行されている。DhC55は、上述のようなデー
タ転送を制御する他に、DASD14自体のアクセス及
び制御のための装置指令−1iDAsD14へ送シ、更
に制御メモリ(図示せず)において書込み記録611に
生成する。DA C55及びCAC34は、各々のDA
SD14に対して1ピツトずつ準備されているCDピッ
ト20t−アクセスして、キャッシュ15及びDASD
14の何れがアクセスされるかを調べるっキャッシュ・
ミスの場合は、CDビット20はD状態にセットされる
。メモリ・デルクタ12とDASD14との接続は、装
置アダプタ及びデータ・フローに関する周知の設計技術
に従って構成されているDASD回路55を介して行な
わnる。キャッシュ15は、アドレス及びアクセス・リ
クエストを発生するメモリ回路56を介してアクセスさ
れる。°キャッシュ15は大容量のランダム・アクセス
・メモリ(以下システム・メモリという)57の一部で
ある。キャッシュ15のためのデルクトリ58もシステ
ム・メモリ57に記憶されているっデルクトリ58は、
DASD14のアドレス構造に基づく周知のハツシング
方式を用いてアクセスさ几るウデータ処理の分野でよく
知られているように1千ヤツシユ15に記憶さnている
各データ単位(トラックあるいはレコード)はディレク
トリ58中に1つのエントリを持っているう DA、5D14はストリング配置になっている。
施例を示しており、パツキングーメモリ14にDASD
が使用されている。各メモリ・ディレクタ12は複数の
チャネル・アダプタ50tQみ、こ几らのチャネル・ア
ダプタ50及び複数の、入出力接続部111”介して複
数の使用ユニット10に接続される。各チャネル争アダ
プタ50は、第2図においては、チャネル・アダプタを
表わす略号rCAJに添字「A」乃至rHJt付して区
別しである。各メモリ・デルクタ12はチャネル・アダ
プタ50の他にプログラムされたプロセッサ51を含む
っ図には示していないが、プロセッサ51は処理ユニッ
トと、メモリ・ディレクタ12を働かせるためのプログ
ラムを記憶している制御メモリとを含む。プロセッサ5
1の構成要素として第2図に示さしているのは、周辺指
令を受取って評価するアドレス/指令評価部(ACEと
略称)52、ACE52によって評価され解読された指
令に応答して使用ユニット10とアドレス指定されたD
ASD14との間のデータ転送を制御する直接アクセス
制御部(DACと略称)53、及びキャッシュ1st−
アクセスするためのキャッシュ・アクセス制御部(CA
Cと略称)54であるつACE520機能は、キャッシ
ュを持たないDASDのための通常のメモリ・デルクタ
でも遂行されている。DhC55は、上述のようなデー
タ転送を制御する他に、DASD14自体のアクセス及
び制御のための装置指令−1iDAsD14へ送シ、更
に制御メモリ(図示せず)において書込み記録611に
生成する。DA C55及びCAC34は、各々のDA
SD14に対して1ピツトずつ準備されているCDピッ
ト20t−アクセスして、キャッシュ15及びDASD
14の何れがアクセスされるかを調べるっキャッシュ・
ミスの場合は、CDビット20はD状態にセットされる
。メモリ・デルクタ12とDASD14との接続は、装
置アダプタ及びデータ・フローに関する周知の設計技術
に従って構成されているDASD回路55を介して行な
わnる。キャッシュ15は、アドレス及びアクセス・リ
クエストを発生するメモリ回路56を介してアクセスさ
れる。°キャッシュ15は大容量のランダム・アクセス
・メモリ(以下システム・メモリという)57の一部で
ある。キャッシュ15のためのデルクトリ58もシステ
ム・メモリ57に記憶されているっデルクトリ58は、
DASD14のアドレス構造に基づく周知のハツシング
方式を用いてアクセスさ几るウデータ処理の分野でよく
知られているように1千ヤツシユ15に記憶さnている
各データ単位(トラックあるいはレコード)はディレク
トリ58中に1つのエントリを持っているう DA、5D14はストリング配置になっている。
ROち、複数のDASD14が関連する制御装置65(
DCA乃至DCD)を介してメモリ・デルクタ12に接
続さ几る。各メモリ・デルクタ12と制御装置65との
接続はいもづる式の装置接続部13を介して行なわれる
っもちろん、星形接続等の他の接続方式も可能である。
DCA乃至DCD)を介してメモリ・デルクタ12に接
続さ几る。各メモリ・デルクタ12と制御装置65との
接続はいもづる式の装置接続部13を介して行なわれる
っもちろん、星形接続等の他の接続方式も可能である。
次に、第6図のフローチャートも参照しながら、第2図
の実施例の動作を説明するっ 第3図の最初のステップ6oにおける連鎖す几た周辺動
作は、IBM社のシスチー4370,430ロシリーズ
などの計算機に接続さ几る周辺システムのための千−順
に従って遂行される。各メモリ・ディレクタ12は、連
鎖さnた周辺動作の間に生じた特定の書込み動作を記録
する(ステップ71)。このような書込み動作にはいわ
ゆるフォーマット書込みが含まれる。フォーマント書込
ミハ上述の計算機で使用さnている周辺指令、例えばホ
ーム・アドレス書込み、レコード・ゼロ書込み、カウン
ト・千−及びデータ書込みなどKよって行なわnる。カ
ウント・千−及びデータの書込みによるデータ更新は、
CDピン)2Qに従ってキャッシュ15又はDASI)
14で行なゎnる。
の実施例の動作を説明するっ 第3図の最初のステップ6oにおける連鎖す几た周辺動
作は、IBM社のシスチー4370,430ロシリーズ
などの計算機に接続さ几る周辺システムのための千−順
に従って遂行される。各メモリ・ディレクタ12は、連
鎖さnた周辺動作の間に生じた特定の書込み動作を記録
する(ステップ71)。このような書込み動作にはいわ
ゆるフォーマット書込みが含まれる。フォーマント書込
ミハ上述の計算機で使用さnている周辺指令、例えばホ
ーム・アドレス書込み、レコード・ゼロ書込み、カウン
ト・千−及びデータ書込みなどKよって行なわnる。カ
ウント・千−及びデータの書込みによるデータ更新は、
CDピン)2Qに従ってキャッシュ15又はDASI)
14で行なゎnる。
2番目の型の書込み動作はキャッシュ15への書込みに
関するものである。即ち、指令連鎖中にキャッシュ15
でデータか更新される度にその事実が記録され、その結
果、連鎖された動作が完了したときに、フォーマット書
込みを含む指令連鎖中にキャッシュ15で更新されたデ
ータが、キャッシュ15からDASD14へ移さル、更
にキャッシュ15のデータ記憶域のアドレス可能性をな
くすことによつf4f”的にキャッシュ15から消去ざ
1得るようになる。アドレス可能性をな、〈すには、デ
ィレクトリ58中の対応するエントリを消去す几ばよい
。更に、連鎖さまた動作がどのようなものであっても、
使用ユニット10がいわゆる順次ピント(図示せず)f
t供給することによって順次データを指示していた場合
には、連鎖された動作中に更新されたすべてのデータが
DASD14へ移さ几、そして千ヤツシ;L15から消
去さ几る。更に、−v−ヤツシュ15の何れかのデータ
記憶域(複数のデータ・レコードを含み得る)で2以上
のレコードが更新されると、連鎖さnた動作が完了した
ときに、このデータ記憶域にあるデータがDASD14
へ移゛される。
関するものである。即ち、指令連鎖中にキャッシュ15
でデータか更新される度にその事実が記録され、その結
果、連鎖された動作が完了したときに、フォーマット書
込みを含む指令連鎖中にキャッシュ15で更新されたデ
ータが、キャッシュ15からDASD14へ移さル、更
にキャッシュ15のデータ記憶域のアドレス可能性をな
くすことによつf4f”的にキャッシュ15から消去ざ
1得るようになる。アドレス可能性をな、〈すには、デ
ィレクトリ58中の対応するエントリを消去す几ばよい
。更に、連鎖さまた動作がどのようなものであっても、
使用ユニット10がいわゆる順次ピント(図示せず)f
t供給することによって順次データを指示していた場合
には、連鎖された動作中に更新されたすべてのデータが
DASD14へ移さ几、そして千ヤツシ;L15から消
去さ几る。更に、−v−ヤツシュ15の何れかのデータ
記憶域(複数のデータ・レコードを含み得る)で2以上
のレコードが更新されると、連鎖さnた動作が完了した
ときに、このデータ記憶域にあるデータがDASD14
へ移゛される。
μ上の動作は、書込みミスを促進する九めに、囲ちキャ
ッシュ151にアクセスすることな(DASD14への
直接書込みを行なわせるために、キャッシュ15にある
データを制限するものである。
ッシュ151にアクセスすることな(DASD14への
直接書込みを行なわせるために、キャッシュ15にある
データを制限するものである。
このようにして、非持久性メモリ(−?ヤッシュ)の代
りに持久性メモリ(DASD)に直接書込むことにする
と、データの保全性が確保さnる。
りに持久性メモリ(DASD)に直接書込むことにする
と、データの保全性が確保さnる。
上で説明したデータ記憶域の定義は任意でよい。
例えば、DASD14から読取らnたトラック・データ
のレコードを記憶し得るもの、4にバ1トの仮想ページ
の如き一定数の、データ・バ1トを記憶し得るもの、又
は他のアドレス指定可能な記憶単位でよいっ ステップ30の連鎖さnた動作が完了すると、分岐ルー
チン32の実行を制御するために、ステップ71で記録
さr′L、り状況ビットがメモリ・デルクタ12によっ
て調べられる。分岐ルーチン32は通常の分岐命令を用
いてプロセッサ51で実行さ几る。最初のステップ72
に対応する分岐命令は、連鎖さnた動作のために便用ユ
ニン)10から送らnてきた順次ビン)SEQ及び書込
み指令WRを調べる。D A 、S Dへの書込みであ
れば、論理ステップ74において、DASDl4で変更
されたデータに対応するデータがキャッシュ15から除
かれる。前述のように、これはディレクトリ58中の対
応するエントリを消去することによって行なわれる。デ
ータはDASDl4に直接書込tt″L且つキャッシュ
15は曹へみ指令を受、取っていないので、キャッシュ
15からDASDl 4へのデータ移動は不要である。
のレコードを記憶し得るもの、4にバ1トの仮想ページ
の如き一定数の、データ・バ1トを記憶し得るもの、又
は他のアドレス指定可能な記憶単位でよいっ ステップ30の連鎖さnた動作が完了すると、分岐ルー
チン32の実行を制御するために、ステップ71で記録
さr′L、り状況ビットがメモリ・デルクタ12によっ
て調べられる。分岐ルーチン32は通常の分岐命令を用
いてプロセッサ51で実行さ几る。最初のステップ72
に対応する分岐命令は、連鎖さnた動作のために便用ユ
ニン)10から送らnてきた順次ビン)SEQ及び書込
み指令WRを調べる。D A 、S Dへの書込みであ
れば、論理ステップ74において、DASDl4で変更
されたデータに対応するデータがキャッシュ15から除
かれる。前述のように、これはディレクトリ58中の対
応するエントリを消去することによって行なわれる。デ
ータはDASDl4に直接書込tt″L且つキャッシュ
15は曹へみ指令を受、取っていないので、キャッシュ
15からDASDl 4へのデータ移動は不要である。
ステップ73でDASDl4へのフォーマット填込みF
MT WRが検出された場合にも(−?キッシュ15
は更新されていない)、ステップ74が実行さ几るつス
テップ72及び73でDASDl4へのV込みが検出さ
れなければ、ステップ80で、フォーマット書込み指令
が受取らrたか否か及びCAo 541に介してキャッ
シュ15への書込みが行なわnたか否かが調べらnるっ
キャッシュ15への書込みが行なわnていると、パス8
5t−介してステップ84に進むっステップ84では、
変更さまたデータ(トラック)がキャッジ5−15から
DASDl4へ移さn1次いでキャッシュ15から除去
される。
MT WRが検出された場合にも(−?キッシュ15
は更新されていない)、ステップ74が実行さ几るつス
テップ72及び73でDASDl4へのV込みが検出さ
れなければ、ステップ80で、フォーマット書込み指令
が受取らrたか否か及びCAo 541に介してキャッ
シュ15への書込みが行なわnたか否かが調べらnるっ
キャッシュ15への書込みが行なわnていると、パス8
5t−介してステップ84に進むっステップ84では、
変更さまたデータ(トラック)がキャッジ5−15から
DASDl4へ移さn1次いでキャッシュ15から除去
される。
ステップ81でキャッシュ15への順次データの書込み
が検出さnた場合も同様であるうまた、キャッシュ15
に記憶さnているトラックにおいて変更1tLfcレコ
ードの数RCDSが2以上であることがステップ82で
検出さ几ると、そnらのトラックがヤヤヅシュ15から
除去さする。ステップ82tでの判断結果がすべて否定
的(0)であ几ば、プロセッサ51はステップ71で記
録された順次ピッ°)SEQを調べる(ステップ85)
。
が検出さnた場合も同様であるうまた、キャッシュ15
に記憶さnているトラックにおいて変更1tLfcレコ
ードの数RCDSが2以上であることがステップ82で
検出さ几ると、そnらのトラックがヤヤヅシュ15から
除去さする。ステップ82tでの判断結果がすべて否定
的(0)であ几ば、プロセッサ51はステップ71で記
録された順次ピッ°)SEQを調べる(ステップ85)
。
5EQ=1で順次データが処理さnていることを示して
いると、予想さルる次のアクセス・リクエストに備えて
、ステップ86で次にアクセスされるはずのトランクの
内容がI)ASI)14からキャッシュ15へ移さnる
。ステップ86が完了するか又はステップ85で5EQ
=O(非順次データ)が検出さnると、プロセッサ51
はパス87からルーチン36の方へ進む。ルーチン36
は、DASDl 4かラキャッシュ15への他の読取シ
型のデータ・プロモーションを実行する。囲ち、データ
転送の性質が異な几ば、キャッシュ15に保持されるべ
きデータも異なったものが要求さ牡ることかある。
いると、予想さルる次のアクセス・リクエストに備えて
、ステップ86で次にアクセスされるはずのトランクの
内容がI)ASI)14からキャッシュ15へ移さnる
。ステップ86が完了するか又はステップ85で5EQ
=O(非順次データ)が検出さnると、プロセッサ51
はパス87からルーチン36の方へ進む。ルーチン36
は、DASDl 4かラキャッシュ15への他の読取シ
型のデータ・プロモーションを実行する。囲ち、データ
転送の性質が異な几ば、キャッシュ15に保持されるべ
きデータも異なったものが要求さ牡ることかある。
本発明の別の態様に従えば、リクエストさレタ書込みを
行なうためのスペースが先ヤツシ−L15に割振られて
おらず、従って書込みのためにノ(ツヤソゲ・メモリ1
4がアクセスされねばならない場合には、所与の指令連
鎖に関連する、)(ツヤソゲ・メモリ14からキャッシ
ュ15へのデータ・プロモーションは禁止さf′L;!
−か、又はその回数が城らさする。一般的に言うと、記
憶階層に書込まnfCデータが書込み後の短期間の間に
再び参照さnることはめったにない。このような参照が
繰返されるのは、記憶階層からのデータ読取りの場合だ
けである。書込みをリクエストさまたデータのスペース
がキャッシュ15に割振ら几ていナケルば、即ち@込み
ミスが生じ友場合には、データは直接パンヤング・メモ
リ14に@込ま几るつ書込みミスが生じても上述の如き
データ・プロモーションを行なわなけnば、書込みヒン
ト率は減少するが、読取りヒツト率にはそル程の影響は
ない。
行なうためのスペースが先ヤツシ−L15に割振られて
おらず、従って書込みのためにノ(ツヤソゲ・メモリ1
4がアクセスされねばならない場合には、所与の指令連
鎖に関連する、)(ツヤソゲ・メモリ14からキャッシ
ュ15へのデータ・プロモーションは禁止さf′L;!
−か、又はその回数が城らさする。一般的に言うと、記
憶階層に書込まnfCデータが書込み後の短期間の間に
再び参照さnることはめったにない。このような参照が
繰返されるのは、記憶階層からのデータ読取りの場合だ
けである。書込みをリクエストさまたデータのスペース
がキャッシュ15に割振ら几ていナケルば、即ち@込み
ミスが生じ友場合には、データは直接パンヤング・メモ
リ14に@込ま几るつ書込みミスが生じても上述の如き
データ・プロモーションを行なわなけnば、書込みヒン
ト率は減少するが、読取りヒツト率にはそル程の影響は
ない。
更に、データ・プロモーションの回数が減ると、記憶階
層の作業負荷がその分だけ軽減されるので、記憶階層の
データ・アクセス時間が短くなる。
層の作業負荷がその分だけ軽減されるので、記憶階層の
データ・アクセス時間が短くなる。
以上の点に鑑みて、第3図゛のルーチン36における最
初のステップ90では、ステップ71で書込み動作が記
録”さルていたかどうかが調べら几る。
初のステップ90では、ステップ71で書込み動作が記
録”さルていたかどうかが調べら几る。
直前の指令連鎖において書込みが行なわ扛ていなければ
、メモリ・ディレクタ12は次のステップ91で、参照
さnz最後のトランク(LTRと略称)についてキャッ
シュ15を調べるつ指令連鎖の完了時にキャッシュ15
がLTRの完全なコピーを持っていると、ステップ91
からパス75への分岐が行なわnる。さもなければステ
ップ94への分岐が行なわし、DASDl4にあるLT
Rの内容がキャッシュ15へ移さ几る(プロモーション
)。ステップ90で書込み動作が検出さ几るト、データ
・プロモーションのための別の検査がステップ92で実
行さ几るっステップ92では、LTRの内容がキャッシ
ュ15にあるか否か、及びそれかDASDI4にあるL
TRの内容と一致しているか否か(囲ち、キャッシュ1
5又はDASDI 4でL T、 Rの書込みがおった
か否か)が調べられる。ステップ92での判断結果が肯
定的(1)’t’6t’Lババス75の方へ出るが、さ
もなければ続いてステップ94が実行される。ステップ
94でDASDI4にあるLTRの内容がすべて千ヤツ
シュ15へ移さnてしまうと、本発明とは関係のない他
の目的(例えば読取り)の几めのデータ・プロモーショ
ンがステップ95で実行されてもよい。ま友、ステップ
91.92からノ(スフ5への出口96はステップ95
への出口でおってもよい。
、メモリ・ディレクタ12は次のステップ91で、参照
さnz最後のトランク(LTRと略称)についてキャッ
シュ15を調べるつ指令連鎖の完了時にキャッシュ15
がLTRの完全なコピーを持っていると、ステップ91
からパス75への分岐が行なわnる。さもなければステ
ップ94への分岐が行なわし、DASDl4にあるLT
Rの内容がキャッシュ15へ移さ几る(プロモーション
)。ステップ90で書込み動作が検出さ几るト、データ
・プロモーションのための別の検査がステップ92で実
行さ几るっステップ92では、LTRの内容がキャッシ
ュ15にあるか否か、及びそれかDASDI4にあるL
TRの内容と一致しているか否か(囲ち、キャッシュ1
5又はDASDI 4でL T、 Rの書込みがおった
か否か)が調べられる。ステップ92での判断結果が肯
定的(1)’t’6t’Lババス75の方へ出るが、さ
もなければ続いてステップ94が実行される。ステップ
94でDASDI4にあるLTRの内容がすべて千ヤツ
シュ15へ移さnてしまうと、本発明とは関係のない他
の目的(例えば読取り)の几めのデータ・プロモーショ
ンがステップ95で実行されてもよい。ま友、ステップ
91.92からノ(スフ5への出口96はステップ95
への出口でおってもよい。
パス75ば、リクエストさf′L九動作を終らせると共
に次の動作に備えるためのものであって、本発明には関
係しない。次の動作が連鎖さnfC周辺動作であった場
合には、第6図の各ステップが再び実行されることにな
るっ ヤヤツシュ15にあるデータは、連鎖された周辺動作(
ステップ30)の実行中に無効化することができる。囲
ち、ステップ30と並行してステ効化は基本的には書込
みヒツト率を下げる事を目的とするものでろシ、従来の
様に読取りヒツト率を上げる事、即ち使用ユニット10
によって読取ら詐る可能性の高いデータをキャッシュ1
5へ持ってくる為に不必要と思わルるデータをキャッシ
ュ15から除去°する事を目的とするものではない。
に次の動作に備えるためのものであって、本発明には関
係しない。次の動作が連鎖さnfC周辺動作であった場
合には、第6図の各ステップが再び実行されることにな
るっ ヤヤツシュ15にあるデータは、連鎖された周辺動作(
ステップ30)の実行中に無効化することができる。囲
ち、ステップ30と並行してステ効化は基本的には書込
みヒツト率を下げる事を目的とするものでろシ、従来の
様に読取りヒツト率を上げる事、即ち使用ユニット10
によって読取ら詐る可能性の高いデータをキャッシュ1
5へ持ってくる為に不必要と思わルるデータをキャッシ
ュ15から除去°する事を目的とするものではない。
この結果、書込みミスの生じる割合が大きくなるノテ、
記憶階層の作業負荷(キャッシュ15への書込み及びそ
れに続くキャッシュ15からDASDI4への書込み)
が軽減さnる。書込みミスは記憶階層の性能を低下させ
るが、記憶階層においては書込みよシも読取りの回数の
方がかなり多いから、書込みミスによる性能低下はシス
テム全体からみればほとんど無視できる。むしろ、書込
みミスを積極的に促進することによってデータの保全性
を向上させるという効果の方が重要である。
記憶階層の作業負荷(キャッシュ15への書込み及びそ
れに続くキャッシュ15からDASDI4への書込み)
が軽減さnる。書込みミスは記憶階層の性能を低下させ
るが、記憶階層においては書込みよシも読取りの回数の
方がかなり多いから、書込みミスによる性能低下はシス
テム全体からみればほとんど無視できる。むしろ、書込
みミスを積極的に促進することによってデータの保全性
を向上させるという効果の方が重要である。
DASD14tアクセスする際の問題としては、ディス
ク表面上の所望のレコード領域とヘッドとが整りUする
までの待ち時間による遅延がある。もちろん、ヤヤンシ
ュ15ではこのような遅延はない。
ク表面上の所望のレコード領域とヘッドとが整りUする
までの待ち時間による遅延がある。もちろん、ヤヤンシ
ュ15ではこのような遅延はない。
従って、書込みミスによってDASDI4への直接書込
みを行なうと、キャッシュ15への書込みに比べて書込
み時間が長くなる。しかしながら、本発明に従ってDA
SDI4に直接書込んだ場合の待ち時間による遅延は、
データt−まずヤヤツシュ15に書込み、続いて千ヤツ
シュ15からpASD14へ移すという立型転送におけ
る遅延よりも短い。というのは、DASDI4の特定の
シリンダのところで一旦書込み動作を開始すると、それ
に続く一連の書込み動作1DAsD14の回転と同期し
て実行することができ、従って待ち時間による遅延が最
小になるからである。
みを行なうと、キャッシュ15への書込みに比べて書込
み時間が長くなる。しかしながら、本発明に従ってDA
SDI4に直接書込んだ場合の待ち時間による遅延は、
データt−まずヤヤツシュ15に書込み、続いて千ヤツ
シュ15からpASD14へ移すという立型転送におけ
る遅延よりも短い。というのは、DASDI4の特定の
シリンダのところで一旦書込み動作を開始すると、それ
に続く一連の書込み動作1DAsD14の回転と同期し
て実行することができ、従って待ち時間による遅延が最
小になるからである。
第1A図は本発明に従う記憶階層の一例を示すブロック
図、第1B図は第1A図の記憶階層における動作の流n
l示すフローチャート、第2図はパンヤング・メモリに
pASDを用いた言己憶階層の一例を示すブロック図、
第6図は第2図のi己憶階層における動作の流f′Lを
示すフローチャートであるう
図、第1B図は第1A図の記憶階層における動作の流n
l示すフローチャート、第2図はパンヤング・メモリに
pASDを用いた言己憶階層の一例を示すブロック図、
第6図は第2図のi己憶階層における動作の流f′Lを
示すフローチャートであるう
Claims (1)
- 【特許請求の範囲】 アドレス指定可能な複数の記憶域を各々有するバッキン
グ・メモリ及びキャッシュを備えた記憶階層において下
記(1)及び(ロ)のステップを実行することを詩徴と
する記憶階層制御方法っ (1) 使用ユニットから送られてくる一連のアクセ
ス・リクエストをモニタし、所与の型の書込みが生じる
とその旨を記録する。 (→ 前記所与の型の書込みについては前記バッキング
・メモリにデータf:書込み、該書込みに関連する予定
のデータを前記キャッシュから除去する。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/311,738 US4466059A (en) | 1981-10-15 | 1981-10-15 | Method and apparatus for limiting data occupancy in a cache |
US311738 | 1999-05-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5873085A true JPS5873085A (ja) | 1983-05-02 |
JPH037978B2 JPH037978B2 (ja) | 1991-02-04 |
Family
ID=23208236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57143539A Granted JPS5873085A (ja) | 1981-10-15 | 1982-08-20 | 記憶階層制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4466059A (ja) |
EP (1) | EP0077453B1 (ja) |
JP (1) | JPS5873085A (ja) |
CA (1) | CA1180465A (ja) |
DE (1) | DE3279161D1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US4574346A (en) * | 1982-09-29 | 1986-03-04 | International Business Machines Corporation | Method and apparatus for peripheral data handling hierarchies |
JPS59100964A (ja) * | 1982-12-01 | 1984-06-11 | Hitachi Ltd | ディスク制御システム及びその並列データ転送方法 |
US4779189A (en) * | 1985-06-28 | 1988-10-18 | International Business Machines Corporation | Peripheral subsystem initialization method and apparatus |
US4875155A (en) * | 1985-06-28 | 1989-10-17 | International Business Machines Corporation | Peripheral subsystem having read/write cache with record access |
US4785395A (en) * | 1986-06-27 | 1988-11-15 | Honeywell Bull Inc. | Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement |
US4882642A (en) * | 1987-07-02 | 1989-11-21 | International Business Machines Corporation | Sequentially processing data in a cached data storage system |
US5134563A (en) * | 1987-07-02 | 1992-07-28 | International Business Machines Corporation | Sequentially processing data in a cached data storage system |
US4956803A (en) * | 1987-07-02 | 1990-09-11 | International Business Machines Corporation | Sequentially processing data in a cached data storage system |
JP2567922B2 (ja) * | 1988-08-30 | 1996-12-25 | 株式会社日立製作所 | パス制御方式 |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US5202972A (en) * | 1988-12-29 | 1993-04-13 | International Business Machines Corporation | Store buffer apparatus in a multiprocessor system |
US5018060A (en) * | 1989-01-26 | 1991-05-21 | Ibm Corporation | Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters |
US5029104A (en) * | 1989-02-21 | 1991-07-02 | International Business Machines Corporation | Prestaging objects in a distributed environment |
US7190617B1 (en) | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
DE69033438T2 (de) | 1989-04-13 | 2000-07-06 | Sandisk Corp., Santa Clara | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
CA2025197C (en) * | 1989-10-19 | 1998-04-21 | Michael H. Kelley | Method and system for dynamically controlling the operation of a program |
DE69025302T2 (de) * | 1989-12-22 | 1996-10-02 | Digital Equipment Corp | Hochleistungsrasterpuffer- und -cachespeicheranordnung |
JPH0776950B2 (ja) * | 1990-06-22 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理方法及び装置 |
US5235692A (en) * | 1990-08-31 | 1993-08-10 | International Business Machines Corporation | Disk rotational position controls for channel operations in a cached peripheral subsystem |
US5293609A (en) * | 1991-04-19 | 1994-03-08 | International Business Machines Corporation | Hit-density-based replacement for data cache with prefetching |
US5440686A (en) * | 1993-12-22 | 1995-08-08 | International Business Machines Corporation | Selecting a data unit candidate to be demoted to a backing store from a front store based upon thresholds individual to each of the data candidates |
US5519846A (en) * | 1993-12-23 | 1996-05-21 | Unisys Corporation | Multiprocessor system with scheme for managing allocation and reservation of cache segments in a cache system employing round-robin replacement and exclusive access |
JPH0883232A (ja) * | 1994-09-09 | 1996-03-26 | Fujitsu Ltd | ファイルサーバシステム |
US6065100A (en) * | 1996-11-12 | 2000-05-16 | Micro-Design International | Caching apparatus and method for enhancing retrieval of data from an optical storage device |
US7088387B1 (en) * | 1997-08-05 | 2006-08-08 | Mitsubishi Electric Research Laboratories, Inc. | Video recording device responsive to triggering event |
US6052760A (en) * | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
US6014709A (en) * | 1997-11-05 | 2000-01-11 | Unisys Corporation | Message flow protocol for avoiding deadlocks |
US6049845A (en) * | 1997-11-05 | 2000-04-11 | Unisys Corporation | System and method for providing speculative arbitration for transferring data |
US6092156A (en) * | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
US6324620B1 (en) * | 1998-07-23 | 2001-11-27 | International Business Machines Corporation | Dynamic DASD data management and partitioning based on access frequency utilization and capacity |
US6314501B1 (en) | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
US6209058B1 (en) * | 1999-01-27 | 2001-03-27 | Quantum Corp. | Cache management for data transfer control from target disk areas |
US6687818B1 (en) | 1999-07-28 | 2004-02-03 | Unisys Corporation | Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system |
US6665761B1 (en) | 1999-07-28 | 2003-12-16 | Unisys Corporation | Method and apparatus for routing interrupts in a clustered multiprocessor system |
JP4393317B2 (ja) * | 2004-09-06 | 2010-01-06 | 富士通マイクロエレクトロニクス株式会社 | メモリ制御回路 |
USRE49818E1 (en) * | 2010-05-13 | 2024-01-30 | Kioxia Corporation | Information processing method in a multi-level hierarchical memory system |
US11941151B2 (en) * | 2021-07-16 | 2024-03-26 | International Business Machines Corporation | Dynamic data masking for immutable datastores |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55157055A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash control unit |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3566358A (en) * | 1968-03-19 | 1971-02-23 | Bevier Hasbrouck | Integrated multi-computer system |
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
US4084231A (en) * | 1975-12-18 | 1978-04-11 | International Business Machines Corporation | System for facilitating the copying back of data in disc and tape units of a memory hierarchial system |
US4055851A (en) * | 1976-02-13 | 1977-10-25 | Digital Equipment Corporation | Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle |
US4115850A (en) * | 1976-11-03 | 1978-09-19 | Houston George B | Apparatus for performing auxiliary management functions in an associative memory device |
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
US4084236A (en) * | 1977-02-18 | 1978-04-11 | Honeywell Information Systems Inc. | Error detection and correction capability for a memory system |
US4161024A (en) * | 1977-12-22 | 1979-07-10 | Honeywell Information Systems Inc. | Private cache-to-CPU interface in a bus oriented data processing system |
US4217640A (en) * | 1978-12-11 | 1980-08-12 | Honeywell Information Systems Inc. | Cache unit with transit block buffer apparatus |
US4264953A (en) * | 1979-03-30 | 1981-04-28 | Honeywell Inc. | Virtual cache |
GB2052118A (en) * | 1979-06-04 | 1981-01-21 | Memorex Corp | Disc Cache Subsystem |
-
1981
- 1981-10-15 US US06/311,738 patent/US4466059A/en not_active Expired - Lifetime
-
1982
- 1982-08-20 JP JP57143539A patent/JPS5873085A/ja active Granted
- 1982-08-25 DE DE8282107804T patent/DE3279161D1/de not_active Expired
- 1982-08-25 EP EP82107804A patent/EP0077453B1/en not_active Expired
- 1982-09-21 CA CA000411870A patent/CA1180465A/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55157055A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash control unit |
Also Published As
Publication number | Publication date |
---|---|
EP0077453A3 (en) | 1986-03-19 |
US4466059A (en) | 1984-08-14 |
EP0077453B1 (en) | 1988-10-26 |
EP0077453A2 (en) | 1983-04-27 |
DE3279161D1 (en) | 1988-12-01 |
JPH037978B2 (ja) | 1991-02-04 |
CA1180465A (en) | 1985-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5873085A (ja) | 記憶階層制御方法 | |
US7111134B2 (en) | Subsystem and subsystem processing method | |
EP0077452B1 (en) | Data promotion in storage subsystems | |
JP3697149B2 (ja) | キャッシュ・メモリを管理する方法 | |
US4875155A (en) | Peripheral subsystem having read/write cache with record access | |
CN103714015B (zh) | 减少来自侦听过滤器的后无效事务的方法、装置和系统 | |
US5615353A (en) | Method for operating a cache memory using a LRU table and access flags | |
US7171516B2 (en) | Increasing through-put of a storage controller by autonomically adjusting host delay | |
CN103207839B (zh) | 存储的高速缓存内的轨道清除的高速缓存管理方法和系统 | |
JPS5876956A (ja) | バッファ記憶付きディスク・システム | |
US5590300A (en) | Cache memory utilizing address translation table | |
JPS5960552A (ja) | 周辺デ−タ記憶システム | |
US7039765B1 (en) | Techniques for cache memory management using read and write operations | |
JPH0458051B2 (ja) | ||
JPS6367686B2 (ja) | ||
JPS6117025B2 (ja) | ||
WO1992015933A1 (en) | Cache memory system and method of operating the cache memory system | |
JPH08221326A (ja) | 記憶制御装置及びその制御方法 | |
Menon et al. | The IBM 3990 disk cache | |
JPS6326417B2 (ja) | ||
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
JP3785165B2 (ja) | ディスクアレイ装置および筐体内レプリケーション方法 | |
EP4328755A1 (en) | Systems, methods, and apparatus for accessing data in versions of memory pages | |
JP2854668B2 (ja) | ディスク・キャッシュ制御方式 | |
JP2634867B2 (ja) | デイスクキヤツシユデータ転送制御方式 |