JPH037978B2 - - Google Patents
Info
- Publication number
- JPH037978B2 JPH037978B2 JP57143539A JP14353982A JPH037978B2 JP H037978 B2 JPH037978 B2 JP H037978B2 JP 57143539 A JP57143539 A JP 57143539A JP 14353982 A JP14353982 A JP 14353982A JP H037978 B2 JPH037978 B2 JP H037978B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- memory
- write
- dasd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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/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)
Description
【発明の詳細な説明】
〔本発明の技術分野〕
本発明は多重レベルの記憶階層に係り、更に詳
細に説明すれば、記憶階層の上位レベルに置かれ
たデータを制御することに係る。
細に説明すれば、記憶階層の上位レベルに置かれ
たデータを制御することに係る。
米国特許第3569938号に記述されている様に、
周辺システムの記憶階層は見かけ上のメモリを与
える為に長年に亘つて使用されてきた。この米国
特許は、要求時ページング・システムにキヤツシ
ユ或いはバツフア・メモリを設けると、周辺シス
テムの記憶機構が大容量を有する様に見え、しか
も通常のバツキング・メモリより高速のアクセス
能力を有する様に見える事を教示している。又こ
の米国特許は、バツキング・メモリが磁気テープ
又は磁気デイスクの如き持久性メモリであるのに
対し、キヤツシユは磁気コア・メモリの如き非持
久性メモリである事を教示する。技術が進歩した
現在では、キヤツシユとして半導体メモリを使用
する事ができる。米国特許第3839704号は、他の
形式の記憶階層を記述している。記憶階層の重要
な側面は、データの保全性(integrity)である。
即ち、中央処理ユニツト(CPU)又は他のデー
タ処理装置の如きユーザから受取られるデータ
は、正しい状態で又はエラーが存在しうるという
指示を伴なつて、供給ユニツトへ戻されねばなら
ない。この点について記憶階層の分野で普通に使
用されている技法は、上位レベルから下位レベル
(持久性メモリ)へデータを移動するとともに、
上位レベルにおけるデータを制限して他のデータ
を記憶することができるようにする、というもの
である。米国特許第4020466号は上位レベルから
下位レベルのバツキング・メモリへ変更データを
コピーすることを示し、米国特許第4077059号は
予定の条件下でコピー・バツクを強制することを
示している。このようなコピー・バツク動作は大
量のデータを対象として行なわれることがある
が、このような場合には使用ユニツトによるデー
タのアクセスが妨げられるので、記憶階層の性能
が全体として低下することになる。この問題は、
上位レベルから下位レベルへコピー・バツクする
必要があるのは変更データだけであることを教示
する、米国特許第3588839号によつて部分的に解
決された。
周辺システムの記憶階層は見かけ上のメモリを与
える為に長年に亘つて使用されてきた。この米国
特許は、要求時ページング・システムにキヤツシ
ユ或いはバツフア・メモリを設けると、周辺シス
テムの記憶機構が大容量を有する様に見え、しか
も通常のバツキング・メモリより高速のアクセス
能力を有する様に見える事を教示している。又こ
の米国特許は、バツキング・メモリが磁気テープ
又は磁気デイスクの如き持久性メモリであるのに
対し、キヤツシユは磁気コア・メモリの如き非持
久性メモリである事を教示する。技術が進歩した
現在では、キヤツシユとして半導体メモリを使用
する事ができる。米国特許第3839704号は、他の
形式の記憶階層を記述している。記憶階層の重要
な側面は、データの保全性(integrity)である。
即ち、中央処理ユニツト(CPU)又は他のデー
タ処理装置の如きユーザから受取られるデータ
は、正しい状態で又はエラーが存在しうるという
指示を伴なつて、供給ユニツトへ戻されねばなら
ない。この点について記憶階層の分野で普通に使
用されている技法は、上位レベルから下位レベル
(持久性メモリ)へデータを移動するとともに、
上位レベルにおけるデータを制限して他のデータ
を記憶することができるようにする、というもの
である。米国特許第4020466号は上位レベルから
下位レベルのバツキング・メモリへ変更データを
コピーすることを示し、米国特許第4077059号は
予定の条件下でコピー・バツクを強制することを
示している。このようなコピー・バツク動作は大
量のデータを対象として行なわれることがある
が、このような場合には使用ユニツトによるデー
タのアクセスが妨げられるので、記憶階層の性能
が全体として低下することになる。この問題は、
上位レベルから下位レベルへコピー・バツクする
必要があるのは変更データだけであることを教示
する、米国特許第3588839号によつて部分的に解
決された。
記憶階層は種々の形式を有する。たとえば前掲
の米国特許第3569938号では、単一のキヤツシユ
が複数の使用ユニツトをサービスしている。米国
特許第3735360号は、性能向上のために各プロセ
ツサにそれ自体のキヤツシユを設けることを示し
ている。記憶階層の性能に影響するものとして
は、キヤツシユへ予定のデータを置くために使用
されるアルゴリズム及び他の制御がある。この意
味で、米国特許第3898624号は、バツキング・メ
モリからキヤツシユへデータをフエツチするに要
する時間を、CPUで実行されているプログラム
に従つて操作員が選択し得ることを示している。
このようにして、CPUによつて必要とされるデ
ータだけをキヤツシユ、即ち記憶階層の上位レベ
ルに置くことが望まれるのである。この方式は一
層有用なデータが上位レベルの記憶位置に記憶さ
れることを許容する。これらのすべての動作は著
しく複雑である。従つて、記憶階層の最良の管理
様式を評価するために、種々の記憶階層用評価プ
ログラムが使用された。米国特許第3964028号及
び第4068304号は、これらの目標を達成するため
に記憶階層の性能をモニタすることを示してい
る。更に、データの保全性を維持しつつ最適の性
能を保証するために、種々の型式の記憶階層にお
いて多くのことがなされねばならない。記憶階層
に関する多くの作業は、CPUへ接続されたキヤ
ツシユとメイン・メモリとの組合せについて行な
われた。キヤツシユとメイン・メモリとの組合せ
について得られた諸原理は、前掲の米国特許第
3569938号で最初に示唆されたように、キヤツシ
ユ付きの周辺システムに直接的に関係している。
もちろん、過去においては磁気テープ及び磁気デ
イスクからのデータをバツフアするためにメイ
ン・メモリが使用された。即ち、メイン・メモリ
はCPUの作業メモリとして使用されただけでな
く、周辺デバイスのバツフアとしても使用された
のである。
の米国特許第3569938号では、単一のキヤツシユ
が複数の使用ユニツトをサービスしている。米国
特許第3735360号は、性能向上のために各プロセ
ツサにそれ自体のキヤツシユを設けることを示し
ている。記憶階層の性能に影響するものとして
は、キヤツシユへ予定のデータを置くために使用
されるアルゴリズム及び他の制御がある。この意
味で、米国特許第3898624号は、バツキング・メ
モリからキヤツシユへデータをフエツチするに要
する時間を、CPUで実行されているプログラム
に従つて操作員が選択し得ることを示している。
このようにして、CPUによつて必要とされるデ
ータだけをキヤツシユ、即ち記憶階層の上位レベ
ルに置くことが望まれるのである。この方式は一
層有用なデータが上位レベルの記憶位置に記憶さ
れることを許容する。これらのすべての動作は著
しく複雑である。従つて、記憶階層の最良の管理
様式を評価するために、種々の記憶階層用評価プ
ログラムが使用された。米国特許第3964028号及
び第4068304号は、これらの目標を達成するため
に記憶階層の性能をモニタすることを示してい
る。更に、データの保全性を維持しつつ最適の性
能を保証するために、種々の型式の記憶階層にお
いて多くのことがなされねばならない。記憶階層
に関する多くの作業は、CPUへ接続されたキヤ
ツシユとメイン・メモリとの組合せについて行な
われた。キヤツシユとメイン・メモリとの組合せ
について得られた諸原理は、前掲の米国特許第
3569938号で最初に示唆されたように、キヤツシ
ユ付きの周辺システムに直接的に関係している。
もちろん、過去においては磁気テープ及び磁気デ
イスクからのデータをバツフアするためにメイ
ン・メモリが使用された。即ち、メイン・メモリ
はCPUの作業メモリとして使用されただけでな
く、周辺デバイスのバツフアとしても使用された
のである。
前述の性能モニタによつて明らかになつたこと
は、データ処理全体の性能及び保全性の観点から
すれば、使用ユニツトとバツキング・メモリとの
間に設けられたキヤツシユを常時使用することは
必ずしも最良の方策ではない、ということであ
る。たとえば、米国特許第4075686号は特殊命令
によつてキヤツシユを選択的にオン(非バイパ
ス)及びオフ(バイパス)状態に切換えることを
教示している。また、バツキング・メモリは複数
のセグメントへ分割され、そのうちいくつかのセ
グメントは逐次的な入出力動作についてバイパス
された。またこの特許は、或る指令についてはキ
ヤツシユを使用していないことが望ましいことを
教示している。他の米国特許第4268907号は、デ
ータのフエツチを指定する或る指令について指示
フラグが予定の状態へセツトされることを教示し
ている。このような指示フラグが予定の状態へセ
ツトされていると、置換回路は後続する予定の指
令に応答してキヤツシユをバイパスし、かくて長
い直列データ転送の際にキヤツシユに現に記憶さ
れている多数のデータ命令の置換を防止する。他
の米国特許第4189770号は、オペランドについて
キヤツシユをバイパスするけれども、命令につい
てはキヤツシユを使用することを教示する。
は、データ処理全体の性能及び保全性の観点から
すれば、使用ユニツトとバツキング・メモリとの
間に設けられたキヤツシユを常時使用することは
必ずしも最良の方策ではない、ということであ
る。たとえば、米国特許第4075686号は特殊命令
によつてキヤツシユを選択的にオン(非バイパ
ス)及びオフ(バイパス)状態に切換えることを
教示している。また、バツキング・メモリは複数
のセグメントへ分割され、そのうちいくつかのセ
グメントは逐次的な入出力動作についてバイパス
された。またこの特許は、或る指令についてはキ
ヤツシユを使用していないことが望ましいことを
教示している。他の米国特許第4268907号は、デ
ータのフエツチを指定する或る指令について指示
フラグが予定の状態へセツトされることを教示し
ている。このような指示フラグが予定の状態へセ
ツトされていると、置換回路は後続する予定の指
令に応答してキヤツシユをバイパスし、かくて長
い直列データ転送の際にキヤツシユに現に記憶さ
れている多数のデータ命令の置換を防止する。他
の米国特許第4189770号は、オペランドについて
キヤツシユをバイパスするけれども、命令につい
てはキヤツシユを使用することを教示する。
いくつかの記憶階層においては、データを記憶
階層に書込むべきときに該データをキヤツシユに
及びバツキング・メモリの両方へ転送することに
よつてデータの保全性が確保されている。米国特
許第4045781号はその一例を開示している。これ
は多くの場合有効であるが、キヤツシユにおける
データ占有の割合が高くなるため、応用形態によ
つては全体的な性能が悪くなることがある。米国
特許第4173781号は、記憶階層の種々のレベル間
における一貫性を保証するためのテーブル制御シ
ステムを開示している。記憶階層の更新に関して
は、例えば米国特許第4167782号のようにキヤツ
シユの更新後にバツキング・メモリを更新するも
の、米国特許第4157586号のように記憶階層が更
新されるときにキヤツシユの更新を制御するも
の、米国特許第4084234号のようにデータがキヤ
ツシユに存在しているか又はキヤツシユ中にスペ
ースを割振られている場合には常にキヤツシユへ
の書込みを行なうようにしたもの、などが知られ
ている。データ保全のため、キヤツシユ中で変更
されたデータは、米国特許第4020466号に開示さ
れているように、バツキング・メモリなどの下位
レベルへコピー・バツクされるのが普通である。
直接アクセス記憶装置(DASD)及び電子ランダ
ム・アクセス・メモリ形のキヤツシユを含む多重
レベルの記憶階層においては、非持久性の電子ラ
ンダム・アクセス・メモリにのみデータが存在し
ているとデータ保全の点で問題があるので、持久
記憶を与えるDASDにできるだけ早くデータを書
込むのが望ましい。
階層に書込むべきときに該データをキヤツシユに
及びバツキング・メモリの両方へ転送することに
よつてデータの保全性が確保されている。米国特
許第4045781号はその一例を開示している。これ
は多くの場合有効であるが、キヤツシユにおける
データ占有の割合が高くなるため、応用形態によ
つては全体的な性能が悪くなることがある。米国
特許第4173781号は、記憶階層の種々のレベル間
における一貫性を保証するためのテーブル制御シ
ステムを開示している。記憶階層の更新に関して
は、例えば米国特許第4167782号のようにキヤツ
シユの更新後にバツキング・メモリを更新するも
の、米国特許第4157586号のように記憶階層が更
新されるときにキヤツシユの更新を制御するも
の、米国特許第4084234号のようにデータがキヤ
ツシユに存在しているか又はキヤツシユ中にスペ
ースを割振られている場合には常にキヤツシユへ
の書込みを行なうようにしたもの、などが知られ
ている。データ保全のため、キヤツシユ中で変更
されたデータは、米国特許第4020466号に開示さ
れているように、バツキング・メモリなどの下位
レベルへコピー・バツクされるのが普通である。
直接アクセス記憶装置(DASD)及び電子ランダ
ム・アクセス・メモリ形のキヤツシユを含む多重
レベルの記憶階層においては、非持久性の電子ラ
ンダム・アクセス・メモリにのみデータが存在し
ているとデータ保全の点で問題があるので、持久
記憶を与えるDASDにできるだけ早くデータを書
込むのが望ましい。
本発明の目的は、DASDの如きバツキング・メ
モリ及び非持久性のキヤツシユ或いはバツフア・
メモリを含む記憶階層において、データのための
スペースがキヤツシユ中に割振られていない場合
には常にバツキング・メモリへの書込みを行なう
ようにすることによつて記憶階層の性能を改善
し、更にバツキング・メモリへの書込みを促進す
るためにキヤツシユに書込まれるデータを制限す
ることにある。
モリ及び非持久性のキヤツシユ或いはバツフア・
メモリを含む記憶階層において、データのための
スペースがキヤツシユ中に割振られていない場合
には常にバツキング・メモリへの書込みを行なう
ようにすることによつて記憶階層の性能を改善
し、更にバツキング・メモリへの書込みを促進す
るためにキヤツシユに書込まれるデータを制限す
ることにある。
本発明によれば、使用ユニツトから送られてく
る一連の記憶階層アクセス・リクエストがモニタ
され、特定のリクエストの受取りが指示される。
指示されたリクエストに応答して予定のデータが
キヤツシユから除かれ、その結果、後続する予定
のアクセス・リクエストはバツキング・メモリに
のみ記憶されているデータに向けられている。後
述する実施例においては、特定のリクエストは記
憶階層への書込み、特にバツキング・メモリのみ
への書込み、順次データの書込み、キヤツシユで
のデータ更新などに関するものである。キヤツシ
ユから除去されるべきデータは、その原因となつ
た書込みの型に従つて選択される。周辺システム
においては、一連のアクセス・リクエストによる
動作が完了した後にキヤツシユからデータを除去
するのが好ましい。普通、一連のアクセス・リク
エストは指令連鎖の形で与えられる。
る一連の記憶階層アクセス・リクエストがモニタ
され、特定のリクエストの受取りが指示される。
指示されたリクエストに応答して予定のデータが
キヤツシユから除かれ、その結果、後続する予定
のアクセス・リクエストはバツキング・メモリに
のみ記憶されているデータに向けられている。後
述する実施例においては、特定のリクエストは記
憶階層への書込み、特にバツキング・メモリのみ
への書込み、順次データの書込み、キヤツシユで
のデータ更新などに関するものである。キヤツシ
ユから除去されるべきデータは、その原因となつ
た書込みの型に従つて選択される。周辺システム
においては、一連のアクセス・リクエストによる
動作が完了した後にキヤツシユからデータを除去
するのが好ましい。普通、一連のアクセス・リク
エストは指令連鎖の形で与えられる。
一連のアクセス・リクエストは読取りリクエス
トが含まれていた場合には、対応するデータをバ
ツキング・メモリからキヤツシユへ移しておくと
(これをデータ・プロモーシヨン或いは単にプロ
モーシヨンという)、読取りヒツト率を上げるこ
とができる。従つて本発明の特定の実施態様にお
いては、記憶階層への書込みは主としてバツキン
グ・メモリで直接実行され、記憶階層からの読取
りは主としてキヤツシユで実行される。
トが含まれていた場合には、対応するデータをバ
ツキング・メモリからキヤツシユへ移しておくと
(これをデータ・プロモーシヨン或いは単にプロ
モーシヨンという)、読取りヒツト率を上げるこ
とができる。従つて本発明の特定の実施態様にお
いては、記憶階層への書込みは主としてバツキン
グ・メモリで直接実行され、記憶階層からの読取
りは主としてキヤツシユで実行される。
第1A図において、中央処理ユニツトの如き使
用ユニツト10は入出力接続部11を介して、メ
モリ・デイレクタ12を含む記憶階層に接続され
る。本実施例では、この記憶階層は周辺データ記
憶システムを構成しており、バツキング・メモリ
14及びキヤツシユ15を含む。バツキング・メ
モリ14とキヤツシユ15の間では装置接続部1
3を介してデータが転送される。使用ユニツト1
0は、スイツチ17,18の設定状態に従つてバ
ツキング・メモリ14又はキヤツシユ15を選択
的にアクセスすることができる。たとえば、スイ
ツチ17が図示のように設定されていると、入出
力接続部11の出力母線20が装置入力母線21
に結合されて、データが使用ユニツト10からバ
ツキング・メモリ14へ直接転送される。バツキ
ング・メモリ14から使用ユニツト10への直接
データ転送は、装置接続部13の装置出力母線2
2、スイツチ18、及び入出力接続部11の入力
母線23を介して行なわれる。スイツチ17,1
8の設定状態を変えると、出力母線20はキヤツ
シユ入力母線24に接続され、入力母線23はキ
ヤツシユ出力母線25に接続される。母線21,
22,24,25はバツキング・メモリ14とキ
ヤツシユ15の間のデータ転送にも使用される。
好ましい実施例においては、バツキング・メモリ
14は複数のDASDを含み、キヤツシユ15は半
導体の電子ランダム・アクセス・メモリである。
用ユニツト10は入出力接続部11を介して、メ
モリ・デイレクタ12を含む記憶階層に接続され
る。本実施例では、この記憶階層は周辺データ記
憶システムを構成しており、バツキング・メモリ
14及びキヤツシユ15を含む。バツキング・メ
モリ14とキヤツシユ15の間では装置接続部1
3を介してデータが転送される。使用ユニツト1
0は、スイツチ17,18の設定状態に従つてバ
ツキング・メモリ14又はキヤツシユ15を選択
的にアクセスすることができる。たとえば、スイ
ツチ17が図示のように設定されていると、入出
力接続部11の出力母線20が装置入力母線21
に結合されて、データが使用ユニツト10からバ
ツキング・メモリ14へ直接転送される。バツキ
ング・メモリ14から使用ユニツト10への直接
データ転送は、装置接続部13の装置出力母線2
2、スイツチ18、及び入出力接続部11の入力
母線23を介して行なわれる。スイツチ17,1
8の設定状態を変えると、出力母線20はキヤツ
シユ入力母線24に接続され、入力母線23はキ
ヤツシユ出力母線25に接続される。母線21,
22,24,25はバツキング・メモリ14とキ
ヤツシユ15の間のデータ転送にも使用される。
好ましい実施例においては、バツキング・メモリ
14は複数のDASDを含み、キヤツシユ15は半
導体の電子ランダム・アクセス・メモリである。
図示の記憶階層は、バツキング・メモリ14へ
の直接書込み及びキヤツシユ15からのデータ読
取りを促進するために、読取ヒツト/書込ミス制
御装置26の制御を受ける。使用ユニツト10か
ら書込み型のアクセス・リクエストが送られてく
るとキヤツシユ15のデイレクトリ58が調べら
れ、キヤツシユ15中にスペースが割振られてい
なければ、データはバツキング・メモリ14に直
接書込まれる。DASDが使用される場合には、キ
ヤツシユ15への書込みよりもむしろDASDへの
直接書込みを行なうのが望ましい。そうすれば、
キヤツシユ15からバツキング・メモリ14への
データ再書込みが不要になる。データ保全の点か
らは、できるだけ早い機会にデータを持久性メモ
リに書込むことが必要である。読取り動作によつ
てデータを使用ユニツト10へ供給する場合に
は、できるだけ短いアクセス時間が望まれる。読
取りについては、バツキング・メモリ14にデー
タのコピーを保持しておくことによつてデータの
保全性が確保される。従つて、読取りヒツト/書
込みミス制御装置26は、データ読取りリクエス
トがあつたときにリクエストされたデータをキヤ
ツシユ15から読取れるようにするため、バツキ
ング・メモリ14にあるデータをキヤツシユ15
へ移す。
の直接書込み及びキヤツシユ15からのデータ読
取りを促進するために、読取ヒツト/書込ミス制
御装置26の制御を受ける。使用ユニツト10か
ら書込み型のアクセス・リクエストが送られてく
るとキヤツシユ15のデイレクトリ58が調べら
れ、キヤツシユ15中にスペースが割振られてい
なければ、データはバツキング・メモリ14に直
接書込まれる。DASDが使用される場合には、キ
ヤツシユ15への書込みよりもむしろDASDへの
直接書込みを行なうのが望ましい。そうすれば、
キヤツシユ15からバツキング・メモリ14への
データ再書込みが不要になる。データ保全の点か
らは、できるだけ早い機会にデータを持久性メモ
リに書込むことが必要である。読取り動作によつ
てデータを使用ユニツト10へ供給する場合に
は、できるだけ短いアクセス時間が望まれる。読
取りについては、バツキング・メモリ14にデー
タのコピーを保持しておくことによつてデータの
保全性が確保される。従つて、読取りヒツト/書
込みミス制御装置26は、データ読取りリクエス
トがあつたときにリクエストされたデータをキヤ
ツシユ15から読取れるようにするため、バツキ
ング・メモリ14にあるデータをキヤツシユ15
へ移す。
本発明の一態様に従えば、データ書込み動作を
分析してそれに基づいてキヤツシユ15からデー
タを除くことにより、キヤツシユ15で書込みミ
スが生じる可能性が高くされ、従つてバツキン
グ・メモリ14への直接書込みの割合が大きくな
る。この動作は、バツキング・メモリ14が複数
のDASDから成つている場合に重要である。従つ
て第1B図に示したように、29からまつてステ
ツプ30で連鎖された一連の周辺動作が実行され
ている間、所与の型の全書込み動作がステツプ3
1で記録(tally)される。連鎖された周辺動作
が完了すると、記憶階層は記録された書込み動作
を調べる(ステツプ32)。詳細については後述
するが、所定の型の書込み動作が記録されていな
ければ、キヤツシユ15のデータを制限するステ
ツプ34は実行されない。所与の型の書込み動作
が実行された後は、メモリ・デイレクタ12がス
テツプ34で、キヤツシユ15に書込まれている
予定のデータのアドレス可能性をなくすことによ
つてキヤツシユ15の内容を制限する。通常、こ
のような予定のデータは、ステツプ31で記録さ
れた書込み動作に関係するものである。キヤツシ
ユ15で読取りヒツトが生じる可能性を大きくす
るため、次のステツプ36でバツキング・メモリ
14からキヤツシユ15へデータが移される(デ
ータ・プロモーシヨン)。
分析してそれに基づいてキヤツシユ15からデー
タを除くことにより、キヤツシユ15で書込みミ
スが生じる可能性が高くされ、従つてバツキン
グ・メモリ14への直接書込みの割合が大きくな
る。この動作は、バツキング・メモリ14が複数
のDASDから成つている場合に重要である。従つ
て第1B図に示したように、29からまつてステ
ツプ30で連鎖された一連の周辺動作が実行され
ている間、所与の型の全書込み動作がステツプ3
1で記録(tally)される。連鎖された周辺動作
が完了すると、記憶階層は記録された書込み動作
を調べる(ステツプ32)。詳細については後述
するが、所定の型の書込み動作が記録されていな
ければ、キヤツシユ15のデータを制限するステ
ツプ34は実行されない。所与の型の書込み動作
が実行された後は、メモリ・デイレクタ12がス
テツプ34で、キヤツシユ15に書込まれている
予定のデータのアドレス可能性をなくすことによ
つてキヤツシユ15の内容を制限する。通常、こ
のような予定のデータは、ステツプ31で記録さ
れた書込み動作に関係するものである。キヤツシ
ユ15で読取りヒツトが生じる可能性を大きくす
るため、次のステツプ36でバツキング・メモリ
14からキヤツシユ15へデータが移される(デ
ータ・プロモーシヨン)。
本発明におけるキヤツシユ管理制御方式は、キ
ヤツシユ読取りヒツトの可能性を小さくすること
なくキヤツシユ書込みヒツトの可能性を小さくし
得る。バツキング・メモリ14からキヤツシユ1
5へ移されるのは、後続の読取りアクセスによつ
て参照される可能性があり且つこのような参照が
書込みのためにのみ行なわれるとは予想されない
ようなデータである。かくして、キヤツシユ15
からの読取りが可能になる。実験によれば、いわ
ゆるライト・スルー方式を採用している記憶階層
で通常行なわれているバツキング・メモリからキ
ヤツシユへの非同期データ移動を行なわなくても
読取りヒツト率はそれ程影響されないが(改善さ
れることもある)、書込みヒツト率は減少される。
また、バツキング・メモリへの書込み時にキヤツ
シユの更新を行なわなければ、サブシステムの内
部作業負荷(キヤツシユ15へのデータ移動)が
軽減されることも明らかである。書込みヒツト率
が小さくなつても、即ち書込みミスの可能性が大
きくなつても、記憶階層の性能が低下することは
ない。書込みミスについてはチヤネル・ビジーが
DASDアクセス回転ミスの一因となるため、書込
みミスが生じた場合には書込みヒツトのときより
も回転ミスの可能性が高い。しかしながら、これ
は、書込みヒツトに関連する二重転送(使用ユニ
ツトからキヤツシユへの転送、及びそれに続くキ
ヤツシユからDASDへの転送)が不要であつてそ
のために制御ユニツトに起因する回転ミスの可能
性が小さくなるという事実によつて相殺される。
全体的にみれば、キヤツシユの書込みヒツトの回
数が減り且つ書込みミスの回数が増えると、回転
ミスの可能性は小さくなるといえる。これは性能
の向上を意味する。
ヤツシユ読取りヒツトの可能性を小さくすること
なくキヤツシユ書込みヒツトの可能性を小さくし
得る。バツキング・メモリ14からキヤツシユ1
5へ移されるのは、後続の読取りアクセスによつ
て参照される可能性があり且つこのような参照が
書込みのためにのみ行なわれるとは予想されない
ようなデータである。かくして、キヤツシユ15
からの読取りが可能になる。実験によれば、いわ
ゆるライト・スルー方式を採用している記憶階層
で通常行なわれているバツキング・メモリからキ
ヤツシユへの非同期データ移動を行なわなくても
読取りヒツト率はそれ程影響されないが(改善さ
れることもある)、書込みヒツト率は減少される。
また、バツキング・メモリへの書込み時にキヤツ
シユの更新を行なわなければ、サブシステムの内
部作業負荷(キヤツシユ15へのデータ移動)が
軽減されることも明らかである。書込みヒツト率
が小さくなつても、即ち書込みミスの可能性が大
きくなつても、記憶階層の性能が低下することは
ない。書込みミスについてはチヤネル・ビジーが
DASDアクセス回転ミスの一因となるため、書込
みミスが生じた場合には書込みヒツトのときより
も回転ミスの可能性が高い。しかしながら、これ
は、書込みヒツトに関連する二重転送(使用ユニ
ツトからキヤツシユへの転送、及びそれに続くキ
ヤツシユからDASDへの転送)が不要であつてそ
のために制御ユニツトに起因する回転ミスの可能
性が小さくなるという事実によつて相殺される。
全体的にみれば、キヤツシユの書込みヒツトの回
数が減り且つ書込みミスの回数が増えると、回転
ミスの可能性は小さくなるといえる。これは性能
の向上を意味する。
本発明はまたデータの保全性をも向上させる。
持久性のバツキング・メモリ14に直接書込みを
行なうことにすると、使用ユニツト10がデータ
の変更を直接制御できる。書込み誤りあるいは記
録誤りはどのようなものであつても直ちに検出さ
れる。キヤツシユ15に書込んだ後にバツキン
グ・メモリ14への書込みを行なうのであれば、
記録誤りが生じても、使用ユニツト10はそれに
よるダメージに気づかない。仮りに使用ユニツト
10が何らかの形でダメージに気づいたとして
も、誤りからの自動回復を簡単に行なう方法は現
在のところない。従つて、データ保全のために
は、バツキング・メモリ14がデータを首尾よく
記録してしまうまで最終記録状況を与えるべきで
はない。バツキング・メモリ14への書込みに対
してライト・スルー方式が文字通りに適用される
と、バツキング・メモリ14及びキヤツシユ15
は異なつたデータを有することになるが、この問
題も本発明によつて解決される。
持久性のバツキング・メモリ14に直接書込みを
行なうことにすると、使用ユニツト10がデータ
の変更を直接制御できる。書込み誤りあるいは記
録誤りはどのようなものであつても直ちに検出さ
れる。キヤツシユ15に書込んだ後にバツキン
グ・メモリ14への書込みを行なうのであれば、
記録誤りが生じても、使用ユニツト10はそれに
よるダメージに気づかない。仮りに使用ユニツト
10が何らかの形でダメージに気づいたとして
も、誤りからの自動回復を簡単に行なう方法は現
在のところない。従つて、データ保全のために
は、バツキング・メモリ14がデータを首尾よく
記録してしまうまで最終記録状況を与えるべきで
はない。バツキング・メモリ14への書込みに対
してライト・スルー方式が文字通りに適用される
と、バツキング・メモリ14及びキヤツシユ15
は異なつたデータを有することになるが、この問
題も本発明によつて解決される。
第2図は2台のメモリ・デイレクタ12を用い
た実施例を示しており、バツキング・メモリ14
にDASDが使用されている。各メモリ・デイレク
タ12に複数のチヤネル・アダプタ50を含み、
これらのチヤネル・アダプタ50及び複数の入出
力接続部11を介して複数の使用ユニツト10に
接続される。各チヤネル・アダプタ50は、第2
図においては、チヤネル・アダプタを表わす略号
「CA」に添字「A」乃至「H」を付して区別して
ある。各メモリ・デイレクタ12はチヤネル・ア
ダプタ50の他にプログラムされたプロセツサ5
1を含む。図には示していないが、プロセツサ5
1は処理ユニツトと、メモリ・デイレクタ12を
働かせるためのプログラムを記憶している制御メ
モリとを含む。プロセツサ51の構成要素として
第2図に示されているのは、周辺指令を受取つて
評価するアドレス/指令評価部(ACEと略称)
52,ACE52によつて評価され解続された指
令に応答して使用ユニツト10とアドレス指定さ
れたDASD14との間のデータ転送を制御する直
接アクセス制御部(DACと略称)53,及びキ
ヤツシユ15をアクセスするためのキヤツシユ・
アクセス制御部(CACと略称)54である。
ACE52の機能は、キヤツシユを持たない
DASDのための通常のメモリ・デイレクタでも遂
行されている。DAC53は、上述のようなデー
タ転送を制御する他に、DASD14自体のアクセ
ス及び制御のための装置指令をDASD14へ送
り、更に制御メモリ(図示せず)において書込み
記録31を生成する。DAC53及びDAC54
は、各々のDASD14に対して1ビツトずつ準備
されているCDビツト20をアクセスして、キヤ
ツシユ15及びDASD14の何れかがアクセスさ
れるかを調べる。キヤツシユ・ミスの場合は、
CDビツト20はD状態にセツトされる。メモ
リ・デイレクタ12とDASD14との接続は、装
置アダプタ及びデータ・フローに関する周知の設
計技術に従つて構成されているDASD回路55を
介して行なわれる。キヤツシユ15は、アドレス
及びアクセス・リクエストを発生するメモリ回路
56を介してアクセスされる。キヤツシユ15は
大容量のランダム・アクセス・メモリ(以下シス
テム・メモリという)57の一部である。キヤツ
シユ15のためのデイレクトリ58もシステム・
メモリ57に記憶されている。デイレクトリ58
はDASD14のアドレス構造に基づく周知のハツ
シング方式を用いてアクセスされる。データ処理
の分野でよく知られているように、キヤツシユ1
5に記憶されている各データ単位(トラツクある
いはレコード)はデイレクトリ58中に1つのエ
ントリを持つている。
た実施例を示しており、バツキング・メモリ14
にDASDが使用されている。各メモリ・デイレク
タ12に複数のチヤネル・アダプタ50を含み、
これらのチヤネル・アダプタ50及び複数の入出
力接続部11を介して複数の使用ユニツト10に
接続される。各チヤネル・アダプタ50は、第2
図においては、チヤネル・アダプタを表わす略号
「CA」に添字「A」乃至「H」を付して区別して
ある。各メモリ・デイレクタ12はチヤネル・ア
ダプタ50の他にプログラムされたプロセツサ5
1を含む。図には示していないが、プロセツサ5
1は処理ユニツトと、メモリ・デイレクタ12を
働かせるためのプログラムを記憶している制御メ
モリとを含む。プロセツサ51の構成要素として
第2図に示されているのは、周辺指令を受取つて
評価するアドレス/指令評価部(ACEと略称)
52,ACE52によつて評価され解続された指
令に応答して使用ユニツト10とアドレス指定さ
れたDASD14との間のデータ転送を制御する直
接アクセス制御部(DACと略称)53,及びキ
ヤツシユ15をアクセスするためのキヤツシユ・
アクセス制御部(CACと略称)54である。
ACE52の機能は、キヤツシユを持たない
DASDのための通常のメモリ・デイレクタでも遂
行されている。DAC53は、上述のようなデー
タ転送を制御する他に、DASD14自体のアクセ
ス及び制御のための装置指令をDASD14へ送
り、更に制御メモリ(図示せず)において書込み
記録31を生成する。DAC53及びDAC54
は、各々のDASD14に対して1ビツトずつ準備
されているCDビツト20をアクセスして、キヤ
ツシユ15及びDASD14の何れかがアクセスさ
れるかを調べる。キヤツシユ・ミスの場合は、
CDビツト20はD状態にセツトされる。メモ
リ・デイレクタ12とDASD14との接続は、装
置アダプタ及びデータ・フローに関する周知の設
計技術に従つて構成されているDASD回路55を
介して行なわれる。キヤツシユ15は、アドレス
及びアクセス・リクエストを発生するメモリ回路
56を介してアクセスされる。キヤツシユ15は
大容量のランダム・アクセス・メモリ(以下シス
テム・メモリという)57の一部である。キヤツ
シユ15のためのデイレクトリ58もシステム・
メモリ57に記憶されている。デイレクトリ58
はDASD14のアドレス構造に基づく周知のハツ
シング方式を用いてアクセスされる。データ処理
の分野でよく知られているように、キヤツシユ1
5に記憶されている各データ単位(トラツクある
いはレコード)はデイレクトリ58中に1つのエ
ントリを持つている。
DASD14はストリング配置になつている。即
ち、複数のDASD14が関連する制御装置65
(DCA乃至DCD)を介してメモリ・デイレクタ1
2に接続される。各メモリ・デイレクタ12と制
御装置65との接続はいもづる式の装置接続部1
3を介して行なわれる。もちろん、星形接続等の
他の接続方式も可能である。次に、第3図のフロ
ーチヤートも参照しながら、第2図の実施例の動
作を説明する。
ち、複数のDASD14が関連する制御装置65
(DCA乃至DCD)を介してメモリ・デイレクタ1
2に接続される。各メモリ・デイレクタ12と制
御装置65との接続はいもづる式の装置接続部1
3を介して行なわれる。もちろん、星形接続等の
他の接続方式も可能である。次に、第3図のフロ
ーチヤートも参照しながら、第2図の実施例の動
作を説明する。
第3図の最初のステツプ30における連鎖され
た周辺動作は、IBM社のシステム370,4300シリ
ーズなどの計算機に接続される周辺システムのた
めの手順に従つて遂行される。各メモリ・デイレ
クタ12は、連鎖された周辺動作の間に生じた特
定の書込み動作を記録する(ステツプ71)。こ
のような書込み動作にはいわゆるフオーマツト書
込みが含まれる。フオーマツト書込みは上述の計
算機で使用されている周辺指令、例えばホーム・
アドレス書込み、レコード・ゼロ書込み、カウン
ト・キー及びデータ書込みなどによつて行なわれ
る。カウント・キー及びデータの書込みによるデ
ータ更新は、CDビツト20に従つてキヤツシユ
15又はDASD14で行なわれる。
た周辺動作は、IBM社のシステム370,4300シリ
ーズなどの計算機に接続される周辺システムのた
めの手順に従つて遂行される。各メモリ・デイレ
クタ12は、連鎖された周辺動作の間に生じた特
定の書込み動作を記録する(ステツプ71)。こ
のような書込み動作にはいわゆるフオーマツト書
込みが含まれる。フオーマツト書込みは上述の計
算機で使用されている周辺指令、例えばホーム・
アドレス書込み、レコード・ゼロ書込み、カウン
ト・キー及びデータ書込みなどによつて行なわれ
る。カウント・キー及びデータの書込みによるデ
ータ更新は、CDビツト20に従つてキヤツシユ
15又はDASD14で行なわれる。
2番目の型の書込み動作はキヤツシユ15への
書込みに関するものである。即ち、指令連鎖中に
キヤツシユ15でデータが更新される度にその事
実が記録され、その結果、連鎖された動作が完了
したときに、フオーマツト書込みを含む指令連鎖
中にキヤツシユ15で更新されたデータが、キヤ
ツシユ15からDASD14へ移され、更にキヤツ
シユ15のデータ記憶域のアドレス可能性をなく
すことによつて実質的にキヤツシユ15から消去
され得るようになる。アドレス可能性をなくすに
は、デイレクトリ58中の対応するエントリを消
去すればよい。更に、連鎖された動作がどのよう
なものであつても、使用ユニツト10がいわゆる
順次ビツト(図示せず)を供給することによつて
順次データを指示していた場合には、連鎖された
動作中に更新されたすべてのデータがDASD14
へ移され、そしてキヤツシユ15から消去され
る。更に、キヤツシユ15の何れかのデータ記憶
域(複数のデータ・レコードを含み得る)で2以
上のレコードが更新されると、連鎖された動作が
完了したときに、このデータ記憶域にあるデータ
がDASD14へ移される。
書込みに関するものである。即ち、指令連鎖中に
キヤツシユ15でデータが更新される度にその事
実が記録され、その結果、連鎖された動作が完了
したときに、フオーマツト書込みを含む指令連鎖
中にキヤツシユ15で更新されたデータが、キヤ
ツシユ15からDASD14へ移され、更にキヤツ
シユ15のデータ記憶域のアドレス可能性をなく
すことによつて実質的にキヤツシユ15から消去
され得るようになる。アドレス可能性をなくすに
は、デイレクトリ58中の対応するエントリを消
去すればよい。更に、連鎖された動作がどのよう
なものであつても、使用ユニツト10がいわゆる
順次ビツト(図示せず)を供給することによつて
順次データを指示していた場合には、連鎖された
動作中に更新されたすべてのデータがDASD14
へ移され、そしてキヤツシユ15から消去され
る。更に、キヤツシユ15の何れかのデータ記憶
域(複数のデータ・レコードを含み得る)で2以
上のレコードが更新されると、連鎖された動作が
完了したときに、このデータ記憶域にあるデータ
がDASD14へ移される。
以上の動作は、書込みミスを促進するために、
即ちキヤツシユ15をアクセスすることなく
DASD14への直接書込みを行なわせるために、
キヤツシユ15にあるデータを制限するものであ
る。このようにして、非持久性メモリ(キヤツシ
ユ)の代りに持久性メモリ(DASD)に直接書込
むことにすると、データの保全性が確保される。
即ちキヤツシユ15をアクセスすることなく
DASD14への直接書込みを行なわせるために、
キヤツシユ15にあるデータを制限するものであ
る。このようにして、非持久性メモリ(キヤツシ
ユ)の代りに持久性メモリ(DASD)に直接書込
むことにすると、データの保全性が確保される。
上で説明したデータ記憶域の定義は任意でよ
い。例えば、DASD14から読取られたトラツ
ク・データのレコードを記憶し得るもの、4Kバ
イトの仮想ページの如き一定数の、データ・バイ
トを記憶し得るもの、又は他のアドレス指令可能
な記憶単位でよい。
い。例えば、DASD14から読取られたトラツ
ク・データのレコードを記憶し得るもの、4Kバ
イトの仮想ページの如き一定数の、データ・バイ
トを記憶し得るもの、又は他のアドレス指令可能
な記憶単位でよい。
ステツプ30の連鎖された動作が完了すると、
分岐ルーチン32の実行を制御するために、ステ
ツプ71で記録された状況ビツトがメモリ・デイ
レクタ12によつて調べられる。分岐ルーチン3
2は通常の分岐命令を用いてプロセツサ51で実
行される。最初のステツプ72に対応する分岐命
令は、連鎖された動作のために使用ユニツト10
から送られてきた順次ビツトSEQ及び書込み指
令WRを調べる。DASDへの書込みであれば、論
理ステツプ74において、DASD14で変更され
たデータに対応するデータがキヤツシユ15から
除かれる。前述のように、これはデイレクトリ5
8中の対応するエントリを消去することによつて
行なわれる。データはDASD14に直接書込まれ
且つキヤツシユ15は書込み指令を受取つていな
いので、キヤツシユ15からDASD14へのデー
タ移動は不要である。ステツプ73でDASD14
へのフオーマツト書込みFMT WRが検出された
場合にも(キヤツシユ15は更新されていない)、
ステツプ74が実行される。ステツプ72及び7
3でDASD14への書込みが検出されなければ、
ステツプ80で、フオーマツト書込み指令が受取
られた否か及びCAC54を介してキヤツシユ1
5への書込みが行なわれたか否かが調べられる。
キヤツシユ15への書込みが行なわれていると、
パス83を介してステツプ84に進む。ステツプ
84では、変更されたデータ(トラツク)がキヤ
ツシユ15からDASD14へ移され、次いでキヤ
ツシユ15から除去される。ステツプ81でキヤ
ツシユ15への順次データの書込みが検出された
場合も同様である。また、キヤツシユ15に記憶
されているトラツクにおいて変更されたレコード
の数RCDSが2以上であることがステツプ82で
検出されると、それらのトラツクがキヤツシユ1
5から除去される。ステツプ82までの判断結果
がすべて否定的(0)であれば、プロセツサ51
はステツプ71で記録された順次ビツトSEQを
調べる(ステツプ85)。SEQ=1で順次データ
が処理されていることを示していると、予想され
る次のアクセス・リクエストに備えて、ステツプ
86で次にアクセスされるはずのトラツクの内容
がDASD14からキヤツシユ15へ移される。ス
テツプ86が完了するか又はステツプ85で
SEQ=0(非順次データ)が検出されると、プロ
セツサ51はパス87からルーチン36の方へ進
む。ルーチン36は、DASD14からキヤツシユ
15への他の読取り型のデータ・プロモーシヨン
を実行する。即ち、データ転送の性質が異なれ
ば、キヤツシユ15に保持されるべきデータも異
なつたものが要求されることがある。
分岐ルーチン32の実行を制御するために、ステ
ツプ71で記録された状況ビツトがメモリ・デイ
レクタ12によつて調べられる。分岐ルーチン3
2は通常の分岐命令を用いてプロセツサ51で実
行される。最初のステツプ72に対応する分岐命
令は、連鎖された動作のために使用ユニツト10
から送られてきた順次ビツトSEQ及び書込み指
令WRを調べる。DASDへの書込みであれば、論
理ステツプ74において、DASD14で変更され
たデータに対応するデータがキヤツシユ15から
除かれる。前述のように、これはデイレクトリ5
8中の対応するエントリを消去することによつて
行なわれる。データはDASD14に直接書込まれ
且つキヤツシユ15は書込み指令を受取つていな
いので、キヤツシユ15からDASD14へのデー
タ移動は不要である。ステツプ73でDASD14
へのフオーマツト書込みFMT WRが検出された
場合にも(キヤツシユ15は更新されていない)、
ステツプ74が実行される。ステツプ72及び7
3でDASD14への書込みが検出されなければ、
ステツプ80で、フオーマツト書込み指令が受取
られた否か及びCAC54を介してキヤツシユ1
5への書込みが行なわれたか否かが調べられる。
キヤツシユ15への書込みが行なわれていると、
パス83を介してステツプ84に進む。ステツプ
84では、変更されたデータ(トラツク)がキヤ
ツシユ15からDASD14へ移され、次いでキヤ
ツシユ15から除去される。ステツプ81でキヤ
ツシユ15への順次データの書込みが検出された
場合も同様である。また、キヤツシユ15に記憶
されているトラツクにおいて変更されたレコード
の数RCDSが2以上であることがステツプ82で
検出されると、それらのトラツクがキヤツシユ1
5から除去される。ステツプ82までの判断結果
がすべて否定的(0)であれば、プロセツサ51
はステツプ71で記録された順次ビツトSEQを
調べる(ステツプ85)。SEQ=1で順次データ
が処理されていることを示していると、予想され
る次のアクセス・リクエストに備えて、ステツプ
86で次にアクセスされるはずのトラツクの内容
がDASD14からキヤツシユ15へ移される。ス
テツプ86が完了するか又はステツプ85で
SEQ=0(非順次データ)が検出されると、プロ
セツサ51はパス87からルーチン36の方へ進
む。ルーチン36は、DASD14からキヤツシユ
15への他の読取り型のデータ・プロモーシヨン
を実行する。即ち、データ転送の性質が異なれ
ば、キヤツシユ15に保持されるべきデータも異
なつたものが要求されることがある。
本発明の別の態様に従えば、リクエストされた
書込みを行なうためのスペースがキヤツシユ15
に割振られておらず、従つて書込みのためにバツ
キング・メモリ14がアクセスされねばならない
場合には、所与の指令連鎖に関連する、バツキン
グ・メモリ14からキヤツシユ15へのデータ・
プロモーシヨンは禁止されるか、又はその回数が
減らされる。一般的に言うと、記憶階層に書込ま
れたデータが書込み後の短期間の間に再び参照さ
れることはめつたにない。このような参照が繰返
されるのは、記憶階層からのデータ読取りの場合
だけである。書込みをリクエストされたデータの
スペースがキヤツシユ15に割振られていなけれ
ば、即ち書込みミスが生じた場合には、データは
直接バツキング・メモリ14に書込まれる。書込
みミスが生じても上述の如きデータ・プロモーシ
ヨンを行なわなければ、書込みヒツト率は減少す
るが、読取りヒツト率にはそれ程の影響はない。
更に、データ・プロモーシヨンの回数が減ると、
記憶階層の作業負荷がその分だけ軽減されるの
で、記憶階層のデータ・アクセス時間が短くな
る。
書込みを行なうためのスペースがキヤツシユ15
に割振られておらず、従つて書込みのためにバツ
キング・メモリ14がアクセスされねばならない
場合には、所与の指令連鎖に関連する、バツキン
グ・メモリ14からキヤツシユ15へのデータ・
プロモーシヨンは禁止されるか、又はその回数が
減らされる。一般的に言うと、記憶階層に書込ま
れたデータが書込み後の短期間の間に再び参照さ
れることはめつたにない。このような参照が繰返
されるのは、記憶階層からのデータ読取りの場合
だけである。書込みをリクエストされたデータの
スペースがキヤツシユ15に割振られていなけれ
ば、即ち書込みミスが生じた場合には、データは
直接バツキング・メモリ14に書込まれる。書込
みミスが生じても上述の如きデータ・プロモーシ
ヨンを行なわなければ、書込みヒツト率は減少す
るが、読取りヒツト率にはそれ程の影響はない。
更に、データ・プロモーシヨンの回数が減ると、
記憶階層の作業負荷がその分だけ軽減されるの
で、記憶階層のデータ・アクセス時間が短くな
る。
以上の点に鑑みて、第3図のルーチン36にお
ける最初のステツプ90では、ステツプ71で書
込み動作が記録されていたどうかが調べられる。
直前の指令連鎖において書込みが行なわれていな
ければ、メモリ・デイレクタ12は次のステツプ
91で、参照された最後のトラツク(LTRと略
称)についてキヤツシユ15を調べる。指令連鎖
の完了時にキヤツシユ15がLTRの完全なコピ
ーを持つていると、ステツプ91からパス75へ
の分岐が行なわれる。さもなければステツプ94
への分岐が行なわれ、DASD14にあるLTRの
内容がキヤツシユ15へ移される(プロモーシヨ
ン)。ステツプ90で書込み動作が検出されると、
データ・プロモーシヨンのための別の検査がステ
ツプ92で実行される。ステツプ92では、
LTRの内容がキヤツシユ15にあるか否か、及
びそれがDASD14にあるLTRの内容と一致し
ているか否か(即ち、キヤツシユ15又はDASD
14でLTRの書込みがあつたか否か)が調べら
れる。ステツプ92での判断結果が背定的(1)であ
ればパス75の方へ出るが、さもなければ続いて
ステツプ94が実行される。ステツプ94で
DASD14にあるLTRの内容がすべてキヤツシ
ユ15へ移されてしまうと、本発明とは関係のな
い他の目的(例えば読取り)のためのデータ・プ
ロモーシヨンがステツプ95で実行されてもよ
い。また、ステツプ91,92からパス75への
出口96はステツプ95への出口であつてもよ
い。パス75は、リクエストされた動作を終らせ
ると共に次の動作に備えるためのものであつて、
本発明には関係しない。次の動作が連鎖された周
辺動作であつた場合には、第3図の各ステツプが
再び実行されることになる。
ける最初のステツプ90では、ステツプ71で書
込み動作が記録されていたどうかが調べられる。
直前の指令連鎖において書込みが行なわれていな
ければ、メモリ・デイレクタ12は次のステツプ
91で、参照された最後のトラツク(LTRと略
称)についてキヤツシユ15を調べる。指令連鎖
の完了時にキヤツシユ15がLTRの完全なコピ
ーを持つていると、ステツプ91からパス75へ
の分岐が行なわれる。さもなければステツプ94
への分岐が行なわれ、DASD14にあるLTRの
内容がキヤツシユ15へ移される(プロモーシヨ
ン)。ステツプ90で書込み動作が検出されると、
データ・プロモーシヨンのための別の検査がステ
ツプ92で実行される。ステツプ92では、
LTRの内容がキヤツシユ15にあるか否か、及
びそれがDASD14にあるLTRの内容と一致し
ているか否か(即ち、キヤツシユ15又はDASD
14でLTRの書込みがあつたか否か)が調べら
れる。ステツプ92での判断結果が背定的(1)であ
ればパス75の方へ出るが、さもなければ続いて
ステツプ94が実行される。ステツプ94で
DASD14にあるLTRの内容がすべてキヤツシ
ユ15へ移されてしまうと、本発明とは関係のな
い他の目的(例えば読取り)のためのデータ・プ
ロモーシヨンがステツプ95で実行されてもよ
い。また、ステツプ91,92からパス75への
出口96はステツプ95への出口であつてもよ
い。パス75は、リクエストされた動作を終らせ
ると共に次の動作に備えるためのものであつて、
本発明には関係しない。次の動作が連鎖された周
辺動作であつた場合には、第3図の各ステツプが
再び実行されることになる。
キヤツシユ15にあるデータは、連鎖された周
辺動作(ステツプ30)の実行中に無効化するこ
とができる。即ち、ステツプ30と並行してステ
ツプ74又は84を実行する事ができる。この無
効化は基本的には書込みヒツト率を下げる事を目
的とするものであり、従来の様に読取りヒツト率
を上げる事、即ち使用ユニツト10によつて読取
られる可能性の高いデータをキヤツシユ15へ持
つてくる為に不必要と思われるデータをキヤツシ
ユ15から除去する事を目的とするものではな
い。この結果、書込みミスの生じる割合が大きく
なるので、記憶階層の作業負荷(キヤツシユ15
への書込み及びそれに続くキヤツシユ15から
DASD14への書込み)が軽減される。書込みミ
スは記憶階層の性能を低下させるが、記憶階層に
おいては書込みよりも読取りの回数の方がかなり
多いから、書込みミスによる性能低下はシステム
全体からみればほとんど無視できる。むしろ、書
込みミスを積極的に促進することによつてデータ
の保全性を向上させるという効果の方が重要であ
る。
辺動作(ステツプ30)の実行中に無効化するこ
とができる。即ち、ステツプ30と並行してステ
ツプ74又は84を実行する事ができる。この無
効化は基本的には書込みヒツト率を下げる事を目
的とするものであり、従来の様に読取りヒツト率
を上げる事、即ち使用ユニツト10によつて読取
られる可能性の高いデータをキヤツシユ15へ持
つてくる為に不必要と思われるデータをキヤツシ
ユ15から除去する事を目的とするものではな
い。この結果、書込みミスの生じる割合が大きく
なるので、記憶階層の作業負荷(キヤツシユ15
への書込み及びそれに続くキヤツシユ15から
DASD14への書込み)が軽減される。書込みミ
スは記憶階層の性能を低下させるが、記憶階層に
おいては書込みよりも読取りの回数の方がかなり
多いから、書込みミスによる性能低下はシステム
全体からみればほとんど無視できる。むしろ、書
込みミスを積極的に促進することによつてデータ
の保全性を向上させるという効果の方が重要であ
る。
DASD14をアクセスする際の問題としては、
デイスク表面上の所望のレコード領域とヘツドと
が整列するまでの待ち時間による遅延がある。も
ちろん、キヤツシユ15ではこのような遅延はな
い。従つて、書込みミスによつてDASD14への
直接書込みを行なうと、キヤツシユ15への書込
みに比べて書込み時間が長くなる。しかしなが
ら、本発明に従つてDASD14に直接書込んだ場
合の待ち時間による遅延は、データをまずキヤツ
シユ15に書込み、続いてキヤツシユ15から
DASD14へ移すという二重転送における遅延よ
りも短い。というのは、DASD14の特定のシリ
ンダのところで一旦書込み動作を開始すると、そ
れに続く一連の書込み動作をDASD14の回転と
同期して実行することができ、従つて待ち時間に
よる遅延が最小になるからである。
デイスク表面上の所望のレコード領域とヘツドと
が整列するまでの待ち時間による遅延がある。も
ちろん、キヤツシユ15ではこのような遅延はな
い。従つて、書込みミスによつてDASD14への
直接書込みを行なうと、キヤツシユ15への書込
みに比べて書込み時間が長くなる。しかしなが
ら、本発明に従つてDASD14に直接書込んだ場
合の待ち時間による遅延は、データをまずキヤツ
シユ15に書込み、続いてキヤツシユ15から
DASD14へ移すという二重転送における遅延よ
りも短い。というのは、DASD14の特定のシリ
ンダのところで一旦書込み動作を開始すると、そ
れに続く一連の書込み動作をDASD14の回転と
同期して実行することができ、従つて待ち時間に
よる遅延が最小になるからである。
第1A図は本発明に従う記憶階層の一例を示す
ブロツク図、第1B図は第1A図の記憶階層にお
ける動作の流れを示すフローチヤート、第2図は
バツキング・メモリにDASDを用いた記憶階層の
一例を示すブロツク図、第3図は第2図の記憶階
層における動作の流れを示すフローチヤートであ
る。
ブロツク図、第1B図は第1A図の記憶階層にお
ける動作の流れを示すフローチヤート、第2図は
バツキング・メモリにDASDを用いた記憶階層の
一例を示すブロツク図、第3図は第2図の記憶階
層における動作の流れを示すフローチヤートであ
る。
Claims (1)
- 【特許請求の範囲】 1 アドレス指定可能な複数の記憶域を各々有す
る持久性のバツキング・メモリ及び非持久性のキ
ヤツシユを備え、書込みよりも読取りの方が多く
行われる記憶階層において、該記憶階層に対する
書込みは主として前記バツキング・メモリで行わ
せ、該記憶階層からの読取りは主として前記キヤ
ツシユから行わせるために、 使用ユニツトから送られてくる一連のアクセ
ス・リクエストをモニタし、 順次データ書込み、又は前記キヤツシユの特定
の記憶域における複数のデータ更新を予定の書込
みとして検出し、 前記予定の書込みが前記バツキング・メモリで
行われた場合は前記キヤツシユ中の対応するデー
タを無効化し、 前記予定の書込みが前記キヤツシユで行われた
場合は前記キヤツシユに書込まれたデータを前記
バツキング・メモリへ移した後、前記キヤツシユ
中の該データを無効化することを特徴とする記憶
階層制御方法。
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 | 1994-09-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5873085A JPS5873085A (ja) | 1983-05-02 |
| JPH037978B2 true 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 | ディスク制御システム及びその並列データ転送方法 |
| US4875155A (en) * | 1985-06-28 | 1989-10-17 | International Business Machines Corporation | Peripheral subsystem having read/write cache with record access |
| US4779189A (en) * | 1985-06-28 | 1988-10-18 | International Business Machines Corporation | Peripheral subsystem initialization method and apparatus |
| 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 |
| US5134563A (en) * | 1987-07-02 | 1992-07-28 | International Business Machines Corporation | Sequentially processing data in a cached data storage system |
| US4882642A (en) * | 1987-07-02 | 1989-11-21 | 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 |
| EP0935255A2 (en) | 1989-04-13 | 1999-08-11 | SanDisk Corporation | Flash EEPROM system |
| 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 |
| 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 |
| 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 |
| US6049845A (en) * | 1997-11-05 | 2000-04-11 | Unisys Corporation | System and method for providing speculative arbitration for transferring data |
| US6014709A (en) * | 1997-11-05 | 2000-01-11 | Unisys Corporation | Message flow protocol for avoiding deadlocks |
| 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 |
| 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 |
| US6209058B1 (en) * | 1999-01-27 | 2001-03-27 | Quantum Corp. | Cache management for data transfer control from target disk areas |
| US6665761B1 (en) | 1999-07-28 | 2003-12-16 | Unisys Corporation | Method and apparatus for routing interrupts in a clustered multiprocessor system |
| 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 |
| 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 |
Family Cites Families (13)
| 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 |
| JPS55157055A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash control unit |
| 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
Also Published As
| Publication number | Publication date |
|---|---|
| EP0077453B1 (en) | 1988-10-26 |
| JPS5873085A (ja) | 1983-05-02 |
| US4466059A (en) | 1984-08-14 |
| CA1180465A (en) | 1985-01-02 |
| DE3279161D1 (en) | 1988-12-01 |
| EP0077453A2 (en) | 1983-04-27 |
| EP0077453A3 (en) | 1986-03-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0077453B1 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
| EP0077452B1 (en) | Data promotion in storage subsystems | |
| EP0077451B1 (en) | Storage subsystem including a bypassable cache | |
| US4875155A (en) | Peripheral subsystem having read/write cache with record access | |
| US6205521B1 (en) | Inclusion map for accelerated cache flush | |
| US4420807A (en) | Selectively holding data in a buffer for defective backing store tracks | |
| US5353430A (en) | Method of operating a cache system including determining an elapsed time or amount of data written to cache prior to writing to main storage | |
| US4571674A (en) | Peripheral storage system having multiple data transfer rates | |
| US5325509A (en) | Method of operating a cache memory including determining desirability of cache ahead or cache behind based on a number of available I/O operations | |
| EP0114190B1 (en) | Data storage hierarchy | |
| JP3697149B2 (ja) | キャッシュ・メモリを管理する方法 | |
| JPH0458051B2 (ja) | ||
| US6877065B2 (en) | Advanced read cache management | |
| US5590300A (en) | Cache memory utilizing address translation table | |
| JPS6117025B2 (ja) | ||
| US5694570A (en) | Method and system of buffering data written to direct access storage devices in data processing systems | |
| JPS6326417B2 (ja) | ||
| JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
| JP2000047942A (ja) | キャッシュメモリ制御装置及びその制御方法 | |
| JP2000347941A (ja) | キャッシュメモリ装置 | |
| JPH01125639A (ja) | ディスクキャッシュ制御方式 | |
| EP0460852A2 (en) | System for maintaining data coherency between main and cache memories | |
| JPS61231641A (ja) | キヤツシユ制御方式 | |
| JPS6214247A (ja) | キヤツシユサブシステム |