JPS58147880A - 周辺デ−タ記憶システム - Google Patents

周辺デ−タ記憶システム

Info

Publication number
JPS58147880A
JPS58147880A JP58010024A JP1002483A JPS58147880A JP S58147880 A JPS58147880 A JP S58147880A JP 58010024 A JP58010024 A JP 58010024A JP 1002483 A JP1002483 A JP 1002483A JP S58147880 A JPS58147880 A JP S58147880A
Authority
JP
Japan
Prior art keywords
data
register
command
microprocessor
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
Application number
JP58010024A
Other languages
English (en)
Other versions
JPS6143742B2 (ja
Inventor
マイケル・ハワ−ド・ハ−タング
ジエラルド・エルスワ−ス・テイラ−
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS58147880A publication Critical patent/JPS58147880A/ja
Publication of JPS6143742B2 publication Critical patent/JPS6143742B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

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

【発明の詳細な説明】 〔本発明の分野〕 本発明は多重レベルのデータ記憶階層に関し、更に具体
的には、そのような階層において上位レベルから下位レ
ベルへデ°−夕を転送することに関して、そのような階
11ヲ制御するごとに関する、〔先行技術の説明〕 周辺データ記憶階層は、Ede nその他による米国特
許第3569938号によって示唆されるように、みか
けの記憶装置を与えるため、多年の間使用されてきた。
Edenその池の教示によれは、要求時ベージング又は
リクエスト・システムにおいては、データを高速記憶装
置(バッフ了)へ貯′t71することによって、周辺記
憶システムは大容量を有する外観乞とることができ、か
つデータへの高速アクセスが0TtiQとなる。この高
速アクセスは、バッキング・ストアによってC’TIf
eとなるアクセスよりも早い。更に、Eden その他
の教示によれば、バッキング・ストアは磁気テープ・V
ユーザや磁気ディスク・Vユーザのように保存性のデー
タ記憶装置であってよく、前面ストアは磁気コア・tメ
モリσ】如く非持久性のものであってよい。メモリ技術
の進歩にともなって、前面ストアは、現在典型的には半
導体型Urメモリ素子から作られている。
米国特許第3839704号は、他の形式の記憶記憶階
鳴の重要な局面は、データの完全性を保証することであ
る。即ち、中央処理ユニット(CPU)又はデータ処理
装置のようなユーザから受取られたデーjは、正確に、
又はエラーが存在する旨の表示とともに供給ユニットへ
戻されねばならない。従って、記憶階1においては、保
存性記憶装置のためにデータ乞高Vベルから低レベルへ
移動させるとともに、高Vペルでデータケ制限して他の
データを高速アクセスに備えて記憶させることが通常の
典型的なやりかたである。米国特許第4020466号
は、高Vペル・ス[了から)(ツキング・ストアへ変化
したデータを複写する技術を教える。米国特許第407
7059号は、所定Q)東件の下で複写データを戻丁技
術(コピーノくツク)馨教える、そのようなコピーノ(
ツク動作は記憶階層の効率的時間を消費する。即ち、コ
ピーバックされるデータが4いと、現用ユニットによる
データのアクセスは能率が悪くなる。この問題は、米国
特許第3588839号によって部分的に解消すること
かできる。この米国特許番ま、^Vペル記憶ユニットか
ら低レベル記憶装置ヘコヒーバツクされるデータχ、変
更されたデータに限る技術〉教えている。、即ち、)く
ツキング・ストアに記憶すれたデータと、前面ストアに
記憶されたデータとの間に不一致がある場合にコピーノ
(ツク力(朽なゎれる。
記憶階層は種々の形態を有する。例えば、Edenその
池による米国特許第3569938号によれば、1個の
高速ストアがいくつかσ〕ユーザにサービスを与える。
米国特許第3735560号&ま、各プロセッサがそれ
自体の高速ス1了又(まキマッシュ乞有することが0T
吐である技術を教える。更に、記憶階層の効率は、所定
σ〕データをキャッシュ又は高速記憶装置へ貯截するた
めに使用されるアルゴリズム及び制御機構によって影響
乞受6ける。
米国特許第3898624号は、lクツキング・ストア
から前面ストア(又は−?マツシュ)へデータを取出す
時間変化が、現用CPUで実行されて(・るプログラム
に従って、コンピュータ・オペノー夕によって選択され
る技術を示す。こU]ように、−Pl’lクツ又は階層
の上位Vベルに存在するデータはC’PUによって必要
とされるデータであり、必要とされない余分σげ一夕は
−V−ギツシュに存在させないよう、ンして、多くσ】
有用なデータカよ高VベルOi記憶機構に記憶されるよ
うにすること力;望1れる。これらσ〕動作は、全、く
複雑となる。従って、記憶階1どの程度良好に管理する
力為ン評′価するため、記憶階層の評価プログラムが使
用されてきた。米国特許第39641128号及び第4
068304号は、これらQ)目的を達成するため、記
憶階層の効率を監視する技術を開示して(・る。
それでもなお、各檀σ〕記憶階喘にお(・て、データの
完全性を確保しつつ、最適Q)効率を達成するた。
め多くの技術的改善がなされねばならな(・。言己憶階
層に関する多くの改善は、現用CPUへ接続された=?
−1’ツシュ及びメイン・メモ!J17)ff1合せに
ついてなされてきた。メイン・メモ1ノとキャッシュを
組合せる原理は、最初Edenそσ〕他によって示唆さ
れたように、周辺システムσ〕データケ貯蔵しかクバツ
フ了リングすることと関連して教示されてきた。Ede
n その池による教示は、ホスト・プロセッサの外部で
データ乞貯蔵するか又はバッフ了リングすることに関す
る。勿論、Edenその池の以前においても、CPUの
ために磁気テープ及びディスク・ユニットからのブータ
ンバッファリング又は貯蔵するため、メイン・メモリが
使用されてきた。即ち、メイン・メモリは、CPUの作
業メモリとして使用されるQ)みならず、周辺装置0)
バッフ了としても使用された。
ある棟のデータ記憶システムはユーザ・データを記憶し
、また他の檀のデータBI:憶システムはページング及
びスワツピング・データン記憔する。
これらのデータは、ページング々いしスワツピング・7
0グラム・データ・セットと関連して使用されることが
できる。こ(hようなページング・スを了の列は、18
M2305固定ヘツド記憶装置である。この装置は、I
BM社から出版された「IBM2835固定ヘッド記惚
制御装置及びIBM2505固定ヘッド記憶装置の参照
マニュアル」(Reference Manual  
for   I B M 2835Storage  
Control  and   I B M 2505
   FixedHeadStorage Modul
e )に説明されている。この周辺データ記憶システム
は、記憶されたデータへ迅速にアクセスする磁気記憶ド
ラムヶ含む。磁気記憶ドラムの記憶容量は制限されてい
るので、より大きな容量ン必登とするより大型のホスト
は、18M2305固定ヘツド記憶装置が最大の効率馨
発揮できるほど効率的に使用することができなかった。
足りない容量は、ディスク型の直接アクセス記憶装置に
よって補われた。特に、スワツピング・データ・セット
が使用される場合、叩ち、ホストと周辺メモリとの間で
大量のシーケンシ丁ル・データ・セットが迅速に転送さ
れる場合に、上記のような問題が生じた。効率を犠牲に
することなく、記憶容誦の制限を除くため、18M23
05固定ヘツド記憶装置に代えて階層記憶装置を使用す
ることができる。
ランダム・アクセス非持久性前面ストアトDASDバッ
キング・ストアとン有するデータ記憶階層において、前
面ストア(キャッシュ)とDASDとの間のデータ転送
は適当にグループ比されねばならない。その場合、曝純
にして効率的なデータ転送グループ化機構が、ホストの
介入なしにそのような転送に必要な時間を減少させるた
めに望まれる6%に、千マツシュの記憶スペースが他の
データケ記1″Tるために必要とされる前に、千マツシ
ュからDASDへデータY移丁ことが望lれる。キャッ
シュからDASDへ、スペースが必要とされる前に、変
更されたデータン移丁技術は、1981年5月のIBM
技術開示報告第26巻12号の5422頁及び5427
頁に記載されている( I BM  Technica
l Disclosure Bullatin、Vol
ume  25、扁12、May  1981)。この
文献の記事によれば、L RU (1east rac
entlyuaad ) −MRU (most re
cently uaed−)リストにおいて変更された
データが定食される。そレバ、前面ストア(−?−Vツ
シュ)からバッキング・ストアへ、変更されたデータの
複写ン転送して、置換アルゴリズムが呼出された時、デ
ータがキャッシュからバッキング・ストアへ転送される
必要がないようにするためである。この先行技術は、置
換アルゴリズム馨有効に働かせるため、LRU端部から
LRU−MRUリストケ走査して、−?fツシュから・
DASDへデータ?転送する技術を教えている。しかし
、それは、データのブロック転送ケ実行するため、関連
したデータをバッチしたりグループ比したりする技術〉
教示していない。
〔本発明の要約〕
本発明の目的は、データ記憶階鳴σノために、効率的な
データ・グループ比制御装置を提供することである。
本発明に従えば、キャッシュ(通常、非持久性ぞ有する
)置換オーバVイ制御リストが維持される。そのような
リストは、LRUに基いていることが望ましいが、他の
基@を使用してもよい。所定時間の間に、バッキング・
ストア(保存性な有する)へ移動されるべきキャッシュ
中の変更すれたデータを発見するため、キマッシュ置換
オーパV可制御リストが走査される。バラ千ング拳スト
アはDASDであってよい。−Pマツシュ置換オーバL
/イ制御リスtは、前面ストアにおケル了ドVス0T能
記tスロットの全ての所定の百分率である利用0T能閾
値(9用聞直)馨有する。千ギッシュ置換オーバレイ制
御すスト上のスロッtであって9用聞直より下のスロッ
トが走査されると、千マツシュからDASDへデータ転
送が開始される。
そσJような転送を開始する前に、第2のより高い閾1
直(グループ1ヒ閾1直又はバッチ聞直と呼ばれる)0
)下にあるキマッシュのrてのデータ・スロットが走査
される。それは、キマシシュ内の所定の限界に至る1で
の全てのデータについて、変更され−かつバッキング・
ストアの同じアクセス遅MiJIJ内に存在するデータ
ケ決定するためである。DASDにおいて、遅延境界は
、トラックの1つ・のシリンダからトラックの他のシリ
ンダへ切換えられる。所定の限界は、−?マツシュへの
(及びキマッシュからの)データ転送特性によって決定
される。
1度、関連したデータ・ブロックの全てが決定すれると
、それらデータ・ブロックは1つの待ち行列へグループ
比される。次いで、データ転送が開始される。
本発明の第2の局面に従えは、放棄リストが維持される
。、放棄されるべきデータ・ブロックケ発見するため、
先ず放棄リストが検量される。データ書込転送を開始す
る前に、放棄されるべきブロックの全てが先ず放棄され
る。こθ〕ようにして、キ丁ツシュの了ドVス町馳記憶
領域は、第1に放棄されることのできるデータに基いて
、第2にバッキング・ストアに記録されねばならないデ
ータに基いて、データ記憶のために割当0T!7目とさ
れるか、又は自由に(解放)される。
〔実施列の説明〕
ここで図面馨参照する。これらの図面において、同一の
番号は同一の構成部分馨示す。階層周辺データ記憶シス
テム10は、ホスト・プロセッサ(以下、ホスtともい
う)11のためにデータ信号ケ受取り、それχ記憶し、
又はそれケ供給するため、ホスト11へ接続される。記
憶システム10の典型的アプリケーションにおいて、ホ
スト11は中央処理ユニツ) (CPU)’!含む。他
のアプリケーションにおいて、ホスF11は1つQ〕仮
想計算機であっても、ノ・−ドウエアCPUの上で走る
1組の仮想計算機であってもよい。更に、ホスi11は
多重プロセッサであっても、付加プロセッサなどケ有す
る拳、−プロセッサであってもよい。
本発明は非常に多様な記憶システム10に適用すること
かできるが、望ましい実施態様としては、データ・七ツ
l(Iノベージング及びスワツピングを処理するベージ
ング周辺データ記憶システムに応用する場合である。概
して、そのようなベージング及びスワツピング・データ
・セットは、ホスト11σ)ためにプログラム・データ
・セラトラ記憶することに関連している。七〇ノような
場合、−配憶システム10は、通常、儀−のホストへ付
加される。しかし、一般的アプリケーションの周辺記憶
システムは、複数のホストへ付加されることができる。
本発明は、周辺データ記憶システムのいず1れの型式に
対しても適用する。ことができる。
記憶システム10とホスト11との間の通信は、複数の
I10接続j2−15’&介して実行される。
I10接続12−15は、IBMシステム7670の入
出力角辺チτネルに従って構成される。そのようなI1
0接続(通常、チャネル及びサブチマネルと呼ばれる)
は周矧であるから、これ以上説明しない。記憶システム
10は、複数のDASD 16 (DOlDlと表示さ
れる)を含む低位(又はバッキング)記憶装置す分を有
する。記憶システム10に関して、ホスト11によって
実行されるデータのアクセス及び記憶の全ては、DAS
DI6Yアドレスすることによってなされる。この了ド
Vシングは、チャネル指令ワード(CCW)19及びI
10接続12−15の了−キテクチτ−を使用すること
によって達成される。典型的には、チャネル指令ワード
19は、了ドVス・ノくイ12ov含す。アト−v’ス
・バイト20は、指令を受暇るべき制御ユニット(CU
)を指定する複数のピッIY含む。第2群のビットは、
アクセスされるべさDASDl 6に独特に指定する。
記憶システム10において、DASDl6の各々はa数
の論理装置アドレス馨有する。例えば、装置DOは4つ
のアドレスOJ1つによってアドレスされることができ
る。そのような徴数アドレシングは、IBM2105固
定ヘッド記憶装置において、制限された範囲で実行され
てきた。各装置に対する論理アドレスは、アドレス・バ
イト20の他のビットによっても表示される。不実施レ
リにおいては、4つの論理アドレスの1りを指定してD
ASD16ンアドレスするため、2つの論理装置アドレ
ス・ビットがホスト11によって使用されるものと仮定
する。即ち、アドレス・ビットooはDASDl6に対
する直接アクセスを指示する、この場合、ホス111は
、あたかも記憶システム10がIP#層システムではな
いかの如く、DASDl”・6に関して動作する。アト
”L/ス・ビットが01.10゜11に等しい時、後述
するように、DASDl<Sのみかけの効率がそれら6
つの論理装置アドレスによって改善されるように、階層
システムがアクセスされ、DASDl6からデータが@
出され、又はそこへデータが与えられる。
CCW19の第2のバイトは指令バイト21である。指
令バイト21は、どのような機能が実行されるべきかン
、記憶システム10へ指示するコードケ含む。ρU示さ
れた指令SPPは、ベージング・パラメータ・セット(
モード・セット)指令である。第6のバイトは指令修飾
バイト22である。指令修飾バイト22は複数の制御フ
ィールドケ有し、これらの制御フィールドは、記憶シス
テム10に対して、指令バイト21で示された指令を実
行するだめの各種のモードヶ表示する。例えは、1つの
ビットSEQは、記憶システム10に対して、来たるべ
き転送動作で転送されるべきデータがシーケンシギル・
データであること馨矧ら−rる。バイト22のSEQビ
ットがシーケンシ丁ル・データであることケボ丁時、追
加の指令修飾バイト(図示されず)がむCW19に含1
れる。
この指令修飾バイトは、DASDl6からホスt11へ
(又は、この逆方向へ)シーケンシギルなデータ・セン
トとして転送されるべきデータ・ブロック又はデータ・
セグメンかの数ケ示す。そのようなシーケンシギルなデ
ータ・セットは、ヘ−ジンク環境においてしばしばスワ
ツピング・データ・セットと呼ばれる。更に、バイト2
2はRDピットによって「読出し及び放棄」を指定する
ことができる。これは、1度ホスト11が階層システム
からブータラ吹出した陵は、そのデータは千マツシュか
ら放棄されることができることケ意味する。DASD 
16にあるデータは保存される。
更に、他の制御ピッ)Y使用することができる。
データ記憶階層は、半導体ランダム・アクセス型のシス
テム・スFv−ジ30Y含tr。システム・ス)L/−
ジ30はDASDl6のためのキマッシュ40を有する
。、−V−マッシング(貯i!t、)原理は周知である
から、DAsD16に対するキギンシュ40の目的及び
、を味は詳細に説明しない。制御機構31はホスト11
から周辺指令ケ受取り、かつ論理装置アドレスσノ1り
馨使用してDASDl6へアクセスするとともに、池の
3つの論理装置アドレスに基いてキマッシュ40へアク
セスする。
データは、キマッシュ40とDA SD 16との間で
、ホス1動作に関して非同期的にかつ自動的に記憶シス
テム10によって転送される。その転送は、ホスト1.
1とDASD 16との間のデータ転送と同じ原理に基
いて達成される。例えは、ホスト11は、直接モードに
おいて、チマネル・アダプタ62(@別的にCAA、C
AB% CAC,CADと示される)、バス70、直接
アクセス・コンtロール(DAC)56によって制御さ
れるデータ回路33、装置アダプタ34、及び装置制御
アタッチメント(OCA)35を介してDASDl6へ
アクセスする。愛敬られたCCW19は制御機構31に
よって解釈され、ホスト11とDASDl6との間のデ
ータ・フロー〇)方向が決定されるとともに、この檀の
周辺データ記憶装置を制御するための能の機#Cが決定
される。このような機能は周知である。−P丁ツシュ4
0とDASDl6との間の関係は、実質的にホスト11
とDASDl6との間の関係に等しい。即ち、ホスト1
1は一連のCCWによって制御機能を実行するが、制御
機構61は複数の内部制御ワード(I cw)音便用し
て、−V−マツシュ40とDASDl(Sとの間のアク
セス?実現する。ICWは、後に説明するように、CC
Wと同じような構成を有する。CCWl 9に関してI
CW24に変更することによって、データ転送動作の成
る程度の効率性が達成される。制御機構61は千マツシ
ュ・アクセス・コントロール(CAC)61を含む。C
AC61はシステム・ス)L/−ジ30を動作させ、I
CW24を使用しかつ直接アクセス・コントロール(D
AC)56ン介してDASDl6にアクセスする。チ丁
ネル・アダプタ32に代って、リンケージ・ポート(L
KP)・レジスタ25がCAC’61とDAC56との
間の転送ケ実現する。LKPVジスタ25については、
後に第3図に関して、説明する。
I CW24は、CCWの指令バイト21に対3する指
令バイt26Y含む。同じ指令に対下るコードは同一で
あることに注意丁べきである。追加るものは無くてもよ
い。指令修飾バイト27は連鎖制御ヒツトC1¥:含む
。このビットは、通常、チマネル・アダプタ32を介し
てホスト11から制御機構31へ与えられる連鎖表示と
置換される。
ホスi11によって与えられる連鎖表示は、抑制7ウト
・タグ信号である。ICW24のアドレス、バイト23
は、DASDl6のアドレスの記憶されたロケーション
ヶ指定する。ICWでは、論理アト”vスは使用されな
い。事実として、制御機構61は、記憶階層へ与えられ
た論理アドレスの全て乞、実際の装置アドレス・ピッt
へ変換する。
アドレス・バイト28は、装置アドレスの記憶されたロ
ケーションケ指定するのみならず、シリンダ・アドレス
(C)、ヘッド・アドレス(トラック・了ド/ス)(H
)、レコード・アドレス(R)?指定する。ブロック・
アドレスの中にあるデータ・レコードは、大部分゛のデ
ィスク記憶装置を了ドレスする時に使用されるセクタ・
アドレスに対応する。実施列如おいて、1本のトラック
(Hアドレス)の上に4つの7コードが与えられる。従
って、Vコード・アドレスは1.2.3.4であり、こ
れらは基準の回転地点に関してディスク00°、90°
、180°、27o0の方向に対応する。設計パラメー
タによって、直交する方向とは異った実際の回転方向ン
指示するようにしてもよい。受駿られた7コード・了ド
Vスハ、全テ4つの回転7コード・アドレスの1つへ変
換すれる。
−1−マツシュ40は、チτネル・アダプタ32及びバ
ス41ケブrしてホスト11との間でデータ信号ケ転送
する。同様に、データ信号は、DASDl6と−Pギツ
シュ40との間で、データ回路33及ヒハス42ケ介し
て転送される。千マツシュ40とホスト11又はDAS
Dl6との間で同時的転送が望1れないならは、バス4
1及び42が1本のバスへ結合され、このバスがデータ
転送捉よって時分割される。数メガバイトy含む比較的
大きなメモリであるようなキマッシュ40にアクセスす
る場合、−Pマツシューアクセス・コントロール61が
、バス64を介してハツシュ回路44へ、装置アト”v
ス、シリンダ・アドレス及びレコード・了トL/スCH
Ri送る必要がある。マイクロコートニよって機能が実
行されてよいハツシュ回路44は、DASD了ドVスY
ハツシュ・クラス・インデイケー壜へ変換する。−P−
fッシュ40の記憶容量はDASD 16よりはるかに
小さいから、アクセス娶容易にするため、DASDl6
のアドレス範囲は、ハツシュ・クラスと呼ばれるクラス
へ集中させられる。分散指標テーブル(SIT)45は
、ハツシュ回路44によって限定さnるクラスの各々に
ついて1つのレジスタを有する。分数指標テーブル45
にあるレジスタの内容は、登録簿(DfR)43に対す
るアドレス・ポインタである。登録簿43は、D A 
S D 16 乞了り* スするために使用されるアド
レスDCHRY含む。
データが−V−マツシュ40に記憶される時、DASD
l6のDCHRアトVスと一?マツシュ40のアドレス
とが、登録簿43のエントリイ・レジスタに記憶される
。複数の装置アト”vスが1つのハツシュ・クラスに対
応するから、ハツシュ法を用いて千マツシュ40ヶ走食
するには、所与σ】ノ・ツシュ・クラス内のエントリイ
・レジスタを定食てれはよいように、単−的にリンクさ
れたノーツシュ・クラス・リス1が登録簿43のエント
リイ・レジスタ中に設けられる。登録簿46σ〕内容に
基き、−Pマツシュ40は既知の手法Y用いて了りセス
サれる。もし関連したエントリイが登録簿46Q)中に
発見されなければ、キマッシュ・ミスが生じる。
これは、キギツシュ壷アクセス・コントロール61によ
って、ホスト11からデータケ受取るためキマッシュ4
0の中でスペースン割当てるか、ICW24及びリンケ
ージ・ポート・Vラスタ25を用いてDASDl<5か
らデータケ転送することに必要とする。
更に、制御機構31は、ホストへ接続される制御ユニッ
トの通常の制御部分Z含む。列えば 「アドレス及び指
令」評価器(ACE)50は、ホスト11から指令信号
馨受敗りかつ状況信号をホスト11へ与えるため、バス
51.52.56.54ンブrL、てチャネル・アダプ
タ32と通信する。
「アドレス及び指令」評価器50はcCW19Y評価し
、かつ命令された機能ヲ実行するよう記憶システム10
へ命令を与えるとともに、連鎖条件乞表示し、また記憶
システムの他の部分から状況信号Y受取づてそれYホス
ト11へ送る。直接モードでは、「アドレス及び指令」
評価器50は、バス55ン介して指令信号乞直接アクセ
ス・コントロール56へ与える。従って、データ信号は
、既知のDASD周辺記憶装置手法を使用することによ
り、データ回路33と適当なチャネル・アダプタ32と
の間で、バス707介して転送されることができる。直
接アクセス・コントロール(0AC>56がその機if
目ケ実行する時、DAC56は通常σ]方式に従ってデ
ータ回路33を制御する。
データ記憶装置の動作は階層的に実行される。
即チ、シーケンシギル・データ会セツ)ハ、最小サイズ
の一?−1’ツシュ及び最小の割当制御動作を使用して
キマッシュ40σ3中に置かれる。1だ、データの順次
性は効率的な方法で維持され、かつホスi11の動作要
件ン満足させるため、十分な数ノテータ・ブロックが−
Pマツシュ40の中に維持される。「了ドレス及び指令
」評価器(ACE)50が、了ドVス・バイト2clの
中にある論理装置アト”L/スを受取った時、記憶階層
へのアクセスを指示するため、ACE50は、論理アド
レスに従って、3つのバス60の1つン升シテ、受FR
)?、:指令信号Y千丁ツシューアクセス−コントロー
ル(CAC)61へ与える。3つのバスは、−V−マツ
シュ40のそれぞれのアクセスを指示する論理バスであ
る。CAC61は、受取った指令及び修飾デ゛−タを論
理装置制御ブロック(LDCB)L/ジスタロ2に記憶
する。装置の各々について6つQ)論理装置アドレスが
あることケ想起されたい。
従って、もし81固のDASDI 6があれは、24個
のLDCBレジスタ62がある。
各論理装置の識別情報及び動作状況は、論理装置制御ブ
ロック・レジスタ62の1つに保存される− 論! 装
置へノアクセス(これは、キマッシュ40の中のVジス
タ馨装置了ドVスヘ割当てることによって表わされる)
は、ノ・ツシュ回路44へ至るアドレス・バス64を介
して行なわれる。シーケンシギル・データ及びDASD
l6に対するシーケンシ丁ル・アドレス(CHR部分)
−1)E’1Lfllされる成る場合には、分散指標テ
ーブル45にある連続したレジスタをアクセスすること
かできる。
従って、−v−マツシュ・アクセス・コントロール61
は、ハツシュ回路44における遅延を避けるため、バス
65ya′介して分散指標テーブル45にアクセスする
。この動作は、シーケンシギル・f −タが処理されて
いる時、ホスF11に対する記憶システム10の応答を
早める。
一?マツシュ・アクセスΦコンFロール61が、読出リ
クエストについて、登録簿46の・・ツシュ・クラスケ
探索した結果1.ミス表示信号Y愛敬ると、DASDl
6からキマッシュ40へのデータ転送リクエストが、バ
ス66及びリンケージ・ボート・レジス425Y介して
直接アクセス・コントロール(DAC)5;5.へ与え
られる。バス66上σ】信号は、そのリフニスFに対し
てDAC56の注意を向けさせ、かつICWがリンケー
ジ・ボ−ト・レジスタ25乞介して了ドVス0T舵であ
ることを教える。後に明らかになるように、実施列にお
いて、リンケージ・ポート・レジスタ25はマイクロコ
ード・リンケージ・ホード・レジスタでアル。直接アク
セス・コントロール56は、それがCCW19に対して
応答するように、ICW24 ヘC’tr ’Tる。リ
ンケージ・ポート・レジスタ25乞ブrしてリクエスト
されたデータ転送(DASD16からキャッシュ40へ
)が完了すると、直接アクセス・コントロール56はノ
(ス67ヶ升して千丁ツシュ会アクセス・コントロール
61へ状況信号を与える。その時点で、キャッシュ40
はホスト11で利用aT牝なデータケ有する。書込ミス
カ起ると、通常、キャッシュ40のスペースが割当てら
れ、久いてホストからデータが受取られる。
更に、キマツシューフセスーコントロール61と直接ア
クセスeコンtロール56と02間の通信は、バス68
7a1′介して行なわれる。このような通信は、メツセ
ージ・データをりンケージ・ポーD16は複数の論理装
置了ドV7.Y升してアクセスされるので、1群の待ち
行列レジスタ(Q)69は、−?マツシュ・アクセス争
コントロール61によってリク゛エストされた、装置に
関連した動作を待ち行うすとして含む。このようにして
、直接アクセス・コントロール56は、論理装di ’
7 ト” V スによるリクエストに関与せず、ホスト
11又はキャッシュ・アクセス・コントロール61のた
めに、直接アクセスDASDモードで動作することがで
きる。このようにして、直接アクセス・コントロール5
6は階層システムと関連して使用されるのみならず、階
層構成?とらない周辺記憶システムの中で使用されるこ
とができる。
更ニ、キャッシュ・アクセス参コントロー)L/(CA
C)<51は、他の制御機構馨含む。飼えば、ADEB
レジスタ76は、CAC61が現在−緒に動作している
登録簿イ3の1つのエントリ(Y含む。千マツシュ40
のヒツトy生じたDASD16の了ドVス、又はキャッ
シュ4Dの1部はホスト11によって与えられるデータ
へ割当てられる。レジスタフ6にエンtリイを置くこと
によっテ、千τソシューアクセスeコントロール61Q
)動作が改善される。即ち、登録簿46はシステム・ス
FV−ジ30の1都であり、Vジスタフ乙にアクチブな
エントリイ馨入れることによって、システム・ストレー
ジろOは解放され、制御機構61から独立して、バス4
1及び42ケ介して、データを転送することができる。
装置ノくツファ(DEV  BUF)レジスタフ7は、
DASD16に関連した制御情報馨含与、直接アクセス
・コントロール56V介してアクセスケ設定する場合に
、キャッシュ・アクセス・コントロール61によって使
用される。このようなレジスタは、マイクロコード実施
11FIJ中の書込可能制御ストア中に設けられる。レ
ジスタ77は徴に制御ストア中の割やてられた部分であ
り、データ構造は指定されない。
バッフ了・シーケンス・テーブル(BST)78につい
ては、第3図を参照して後に説明する。BST78は、
バス42ン介してデータ・ブロックUノシーケンスとし
て転送される各データ・ブロックのために、登録簿43
に対するポインタ馨含む。
また、BST78は、シーケンシギル転送の間に、トノ
登録簿指標がキャッシュ4oのアクセスに使用されるべ
きかを決定する走査制御機構ケ含む。
こ(/Jようにして、シーケンシギル転送は了トーvス
σ)設定ン必要とせず、陵に明らかになるように、DA
SD 16からQ〕ブロックが中断を生じることなく迅
速に転送される。チτネル制御ブロック(CCB)レジ
スタ63は、チτネル・アダプタ32?介して現在実行
されつつあるデータ転送についての制御情報を含む。自
由ブロック・リスト(FBL)・レジスタフ9は、−?
マツシュ40のアドレスOT#e記憶領域(ブロック・
スロットなど)Q〕いずれが、ホスi11又はDASD
16から来るデータ信号ケ受取りかつ記憶するために、
現在割当て可能であるかを決定する。不発明の1つの目
的は、FBLvジスタフ9が所与の最大数のエントリイ
を含むようにすることである。
登録簿43はキマッシュ置換LRUリスト46を含ひ。
リスト46は、置換制御罠備えて、キマッシュ40の了
ドノス町乾領域のリス1M1JJ−rる基準としで、L
RU法ン法用使用。リスト46の詳細は第4図に示され
る。説明の順序として、本発明ン容易に理解させるため
、リスト46は第1図の下方にも示される。リスト46
は第1の部分47及び第2の部分48を有する。第1の
部分47は、了Vvス町牝領域に含1れるデータが変更
されたかどうかン示す(ビット1は変更、ビット0は変
更なし。Mビット。)。了ドVス町舵領域は、ホスト1
1によってチτネル・アダプタ62を介して最も最近時
に使用された(MRU)順序ニ従ってリストされている
。キマッシュ40の了ドレスoT牝記憶領域の中で、最
・も最後に参照された領域が、最も最近時に使用された
アドレス可能記憶領域である。そのような記憶領域は、
”、、L)jUリスト46の中でMRU−0としてリス
トサれる。第1図に示されるように、例えば千ギツシュ
・アドレスによって指定されたMRU−0は変更されて
いる。即ち、最後の参照動作は書込みであつた。同様に
、次の「最も最近時に使用された」アドレス可能記憶領
域はMRU−1である。第1図では、MRU−1も変更
されている。従って、−V−マツシュ40の中のデータ
は、対しするDASD16に記、憶されたデータとは異
っている。しかし、第3の「最も最近時に使用された」
アト”L/スFi′fqと記憶領域は、対芯丁7:+D
ASD16に記憶されたデータと同じデータンキマッシ
ュ40に記憶されている。使用時点が新しくない記憶領
域は、最も使用時点が新しくない記惚領域LRU+OK
至るまで、順次に配列される。従って、次の「最も使用
時点が新しくない」記憶領域はLRU+1である。以下
同様である。大型の−Pマツシュ40では、例えば測子
という多数のエントリイがLRUリスト46に存在する
ことに注意されたい。
LRUリスト46の中で、LRU+OとI、RU+Nと
のMKある、千マツシュ40のアドレス可能記憶領域の
全ては、町用閾値49の下にある。
LRUリスト46が短資され、かつ了ドVスciT能記
憶領域が変更されたデータ?有することを、エントリイ
が表示する時、それぞれの変更されたア1−” V ス
5’J能記憶領域のために、−t−i−ツシュ40に記
憶されたデータがDASD16へ転送され始める。第2
の閾値は上位閾値(又はグループ比聞直)57である。
この@値は、データをDASD16へ牟−のデータ・ス
1リームとして転送するため、−V−マツシュ40のア
ドレス可能記憶領域からデータケグループ比するために
使用される。前述したように、このグループ1とは、所
与のDASD16における1つのシリンダ(多くのトラ
ックを含む)に限定される。シリンダ上のトラックは、
全て同じ半径位置にある。即ち、これらのトラックは、
1群の変換器音生径方向に移動させることなく、電気的
切換えによってアクセスされることができる。従って、
データ転送がLRU十〇と町用閾値49との間の定量に
よって開始される時、D′ksD16へ書込1れるデー
タ・ブロックのグループケアセンプルするため、短資は
グループ比閾値571で続けられる。例えば、LRU+
1はキマッシュ40で最も使用時点Q)古い、変更され
たデータ・ブロックであるとする。これは、複数のブロ
ックケDASD16へ転送させる。例えば、LRU+N
はLRU+1と同じシリンダにあるとする。
従って、LRU十Nは書込みのためにLRU+1とグル
ープ「ヒされる。9用聞直49の上にあるMRU−Mは
異ったシリンダにあるとする。従って、それはグループ
の外に置かれる。、−Pマツシュ4゜にある他のデータ
・ブロック、例えばグループ化聞直57の下にあるMR
U−(K+1 )は変更されており、かつLRU+1と
同じシリンダにあるもQ】とする。グループ比閾fi!
57の上方にあるデータは、全てDASD16へ書込1
れない。何故ならば、使用時点が新しいため、近い将来
、データが再びホスト11によって参照される可能性が
強いからである。そQ】ようなデータの参照は、書込み
参照であるかも知れない。従って、クループ比閾値57
の上にあるデータケ−V−マツシュ4oがら移動させる
ことは、不必要なデータ転送となる。
これは効率を低下させる。
9用聞直49及びグループ「ヒ閾値57は、記憶システ
ム10がホスト11と共に現在動作している特定の動作
特性に基いて選択される。これは、@値49及び57が
成る時間の間で変地してもよいことを意味する。大切な
事は、先ず町用閾呟491で走査が実行されると、デー
タ転送が開始されることである。次に走査がグループ比
閾値571で続けられると、DASD16ヘグループ・
データ転送を開始するため、データ・ブロックのグルー
フゴヒが行なわれる。このグループ[tSは、DASD
16が選択されねばならない回数馨減少させ、従ってデ
ータ転送の効率馨高める。
第2図は、第1図に示した記憶システムの変更ρりであ
る。この変更列は制御機構31の中にプログラム1ヒさ
れたマイクロプロセッサ31P’5含む。
バス70は、チャネル・アダプタ32かラデータ回路3
3へ接続され、第1図の場合と同じよう□、に動作する
。バス41及び42は、それぞれチャネル・アダプタ5
2及びデータ回路36からシステム・スiL/−ジ30
へ接続される。バス41及び42は1つのバスへ結合さ
れてよく、その場合、データ転送は1本のバスケ時分割
して使用する。
マイクロプロセッサ51Pは、データ回路33とシステ
ム・ストレージ30との間でデータ転送を制御するに当
って、バス71ヶ升してデータ回路33へ制御信号を与
え、バス72ヶ升してシステム・ストレージ30へアド
レス信号及びシーケンス制御信号を与える。複数のシス
テム・ストL/−ジ・アドレス・レジスタ(SSAR)
58は、システム・ストv−ジ30へ了ドVスヲ与える
。例えは、81固又は16個の5SAR5Bが設けられ
てよい。マイクロプロセッサ31Pがシステム・ス)L
/−ジ30ヘアクセスする時、それはシステム・ストレ
ージ60のアドレス?S’5AR58へ与えるだけでな
く、システム・ス)L/−ジヘアクセスする場合にどの
5SARya−使用丁べきかを指示する。1つのメモリ
に対して多電の了ドレス・レジスタケ使用することは既
知であり、従ってこれ以上説明しない。S−8AR58
はシーケンシギル・データ・ブロックの各バース1(7
)ために設ケられ、マイクロプロセッサ31Pは’P−
fツシュ40のアドレス1ssAR58へロードするこ
とによって、システム・ストノージ30Y起i’fる。
従って、アドレスは、連続したシーケンシギル・ブロッ
クの中間で、5SAR58ヘロードされる必要はない。
シーケンシギル転送の間、マイクロプロセッサ31Pは
、キマッシュ40とDA、5D16との間でデータ信号
の転送ケ開始するため、拳に5SARY参照するだけで
よい。ここで注意丁べきは、千マツシュ40がシステム
・ストv−シロ0の中で所定のアドレス・スペース’l
’ 有T ルことである。登録簿43は、異った範囲の
了ド7スヲ有する。5SAR58は、システム・ストV
−ジ30のメモリ・了Vイの外に設けられた別個の電子
レジスタである。マイクロプロセッサ31Pは、バス5
1−54’r介してチャネル・アダプタ32と通信する
、 マイクロプロセッサ31Pの動作は、制御スト了76に
配本されたマイクロコード・プロクラムに従う。制御ス
ト了73は書込oTRQであることが望ましいが、1F
!IBが書込0TWQであって、プログラム1ヒむ他の
部分は読出専用であってよい。バス74は、マイクロプ
ロセッサ31 PY制御ストア73へ接続する。制御ス
ト了73の中には、「アドレス及び指令」評価器50の
機能を実行するACEプログラム50P、直接アクセス
・コントロール560)機fm’r:実行するDACプ
ログラム56p、−v−マツシュ・アクセスeコントロ
ール61の機q目ケ実行するCACプログラム61P1
記憶システム10の動作に必要な池のプログラムである
OPプログラム75がある。しかし、OPプログラム7
5は、本発明ン理解するために必要ではない、プログラ
ム50P、56P、6IPによって記憶システム10ケ
制御するため、マイクロプロセッサ31Pによって使用
されるデータ馨記憶するレジスタとしては、cCBレジ
スタ63、LDCBvジスタロ2、待ち行列Vジスタロ
9、ADEBvジスタフ6.5ITVジスタ45、バッ
フ了・レジスタ77、LKPレジスタ25、及びBST
L/ジスタフ8がある。更に後述するように1FBLレ
ジスタ79、Jカウンタ37、放棄’)ス)(DL)3
8が使用される。キャツシュ40が非常に大きい場合、
SITレジスタ45をシステム・ストレージ30に記憶
することができる。効率を向上させるためには、SIT
ンジスタ45にあるページを貯蔵するため、1組のVジ
スタ’に制御スを了73に予約しておくことができる。
第2図に示された記1システム10の動作は、第6図か
ら第12図1で?参照丁れば、最も良く理解することが
できる。第3図から第12図までは、データ構造馨詳細
に示すとともに、本発明σノ理解に必要なマイクロコー
ドについてのマシン動作流れ図を示す。第3図は、記憶
システム10を動作させるため、マイクロプロセッサ3
1Pによって使用されるデータ構造を示す。LDCBレ
ジスタ62は制御スト了73の中でデータ信号を含む一
連”)”ジスタであり、4つの部分より構′盛される。
最初の部分80は、基礎データ構造(FOUND)部分
である。部分80は、記憶システム10の機1[’一般
的に限定するとともにサポートする。PPARMSe分
81は、後に説明するセット・ページ・パラメータ指令
によって設定されたページング及びスワツピング機WQ
Y限定するパラメータに関連している。CP A RM
 S 部分82は、ホスト11によって出されたセット
・セクタ・シーク・サーチID指令のような指令パラメ
ータ指令む。これらの指令は既刊のディスク記憶装置周
辺記憶システムと組合せて使用される。RPARMSb
分83は、続出活動(即ち、DASD16からキャツシ
ュ40ヘデータ信号ケ転送すること)をサポート1条パ
ラメータを含む。
部分80はODEフィールド”9 Qi含ひ。フィール
ド90は、装置終了(DE)信号が記憶システム10か
らホスト11へ送られるべきか否かY示す。CNL  
MASKフィールド91は、チャネル・アダプタ32の
いずれが現在の指令Y受取ったか、即ち、論理装置がど
のチャネルと提携関係ン有するかン示すビット・パター
ンケ含む。LDADDRフィールド9・2は、指令とと
もに受取られた論理アドレスケ指示するコードを含む。
CMDフィールド93は、第1図のバイト21から取ら
れたコードを含む。SEQフィールド°94をま、第1
図σ】バイト22から取られた内容を含む。CCRフィ
ールド95は、記憶システム10によってチャネル指令
再試行(CCR)信号がホスト11へ送られたかどうか
ン示す。−v−’l’lフッ・ミスがMissフィール
ド96で表示されると、チャネル指令再試行信号がホス
i11へ送られる。従って、フィールド96は、−v−
マツ・シュ40につ0てミスがいつ生じたか、記憶シス
テム10が適当なOCR信号ケ与えたかどう力化示す。
CCR信号は、拳にホスト11に対して、受取られた周
辺指令?実行する場合に遅延が必要であるかどうかを示
す。記憶システム10が指令ン実行できる状態に達する
と、それはホスト11へ装置終了信号?送る。矢に、ホ
ストは前(7J周辺指令ン再び送り、七C1)指令が記
憶システム10によって実行さ〜9ることになる。
PPARMS部分81は、バイト22にあるシーケン7
丁ルーピットに対応するSEQフィールド100’Y含
み、かつバイト22のRD部分から敗られたRDフィー
ルド1O1;V含む。B  C0UNTフイールド、1
02は、シーケンシギル・データとして転送されるべき
ブロックの数?含む。
シーケンシマル・データσJ各ブロックがホスト11へ
転送され1度に、B  C0UNTフイールド102は
1だけ減少される。従って、それはキャツシュ40ケ升
してホスト11へ転送されるべきブロックQ)数ケ示す
。BASFJ CYLフィールド105は、シーケンシ
マル・データがDASD16から転送される場合のシリ
ンダ・了ドVスCヶ含む。即ち、多重シリンダ・リクエ
ストにおいて、BASE  CYLフィールド103は
、仮想計算機(VM)ミニディスクの値Cヶ含む。
CPARMS部分82は、5EEK  ADDRフィー
ルド104にDASDシーク・了ドVスY含み、Sより
フィールド105に最後又は現在のサーチID指令を含
み、SEC’TORフィールド106に最後又は現在σ
)セット・セクタ鎮ケ含む。
RPARMS部分86は、DASD16からキャツシュ
40へのデータ転送が必要であることを示すREQDフ
ィールド110ケ含む。RIPフィールド111は、D
ASDl 6からキギツシュ40への読出しが進行中で
あることン示す。RAフィールド112は、DASDl
6からの読出しが完了したこと、1だある後処理機能が
実行されていることケ示す。DADDRフィールド11
3は、アドレスされている実際σ)DASD16Y示す
ため、バイト20(第1図)からσ)装置アトVスケ含
んでいる。DIRINDEXフィールド114は、登録
簿43の指標1ii!’2含む。この指標値は、どの登
録簿エン) IJイが、特定17)LDCBVジスタロ
2で指定された論理装置に対応するエントリイケ含むか
ン表示する。5SARフィールド115は、DASDl
6と一?マツシュ40との間のデータ転送において、ど
の5SAR58がキマッシュ4[1’rアクセスすると
ぎに使用さ蜆るか%” 示T。5AVEフイールド11
7は、各ti(7)動作(割込動作ケ含む)Oi間、制
御データ信号ケ保iTるため、マイクロプロセッサ31
Pが使用するLDCBvジスタロ2の領域Y示す。
ADEBL/ジスタフ6の構成は、登録簿43の各エン
トリイの構成と同じである。従って、ADEBL/ジス
タフ6の説明は、登録簿43についてもあてはまる。登
録簿43及びADEBVジスタフ 60”)各二ント・
リイにおいて、INDEXフィールド107は登録簿エ
ントリイの論理アドレスである。このフィールドは、各
エントリイのために自己識別データケ含む。フィールド
108は、キマッシュ中に記慣されたデータ、又は記憎
のために割当てられたデータに対応するDA SD 1
6のアト”l/スケ含む。CCPは物理シリンダ・アド
レス、即ちDASD ? 6のためのシリンダの実際の
物理アドレスである。Hはヘッド・了VL/スであり、
Rはレコード・アドレスであり、Dは装置了    ゛
ドVスであり、8ECTORは実際(hセクタ値であり
0このセクタ値は、データ・アクセスが開始されるディ
スクの回転位置ケ示す。4つのレコードン有するトラッ
クに対7rるR暗は、1から4まで変地することができ
、セクタ値は実際のセクタ・了ドVスン示す。DASD
’2了ドVスする場合、R[は、通常のDASD了トレ
シング手法におけるように、パイトノベルの回転位置指
示情報へ変換される。R値は、ある種Q]ホスト・オペ
V −ティング・システムにおいて1から120または
それ以上の数ケとることができる。120′!¥超える
場合、 R1直は1つ(7))ラックにあるレコード数
Nのモジュロ直へ減少させられる。次いで、モジュロN
のR[は、ディスクの回転子ドレスへ変換される。そσ
)ようなセクタ値は、待ち時間の遅延ケ最小にして、レ
コードへσ〕了クセスケ開始させるのに適している。C
LLは、物理装置上で限定される論理装置のために与え
られるような、論理シリンダ・アドレスである。LIN
Kフィールド109は、1つの−・ツシュ・クラスの全
てのエントリイケー緒に結合するため、単一的にリンク
されたリストのデータ信号コードケ含む。所与の−・ツ
シュ・クラスの最後のエントリイは、特定のコード・パ
ターン(ゼc+)V有する。このコード・パターンは、
連鎖の終り、又はクラスの終り乞示す、Mフィールド(
Mビット)124は、:!F−1Pッシュ40にあるデ
ータが、DASDl6から受取られた後、変更されたか
どうかを示す。Mフィールド124は第1図の部分47
に対応する。MRUPフィールド125は、キマッシュ
400久の「使用時点が゛より新しい」アドレス町牝記
慣領域ケ指丁ポインタであり、MRUPI 26は、−
?マツシュ400次の「使用時点がより新しくない」了
ドレス町舵記憶領域ケ指丁ポインタである。これらのポ
インタは、それぞれσJエントリイに対するフィールド
” 107の指標値である。MRUPフィールド及びL
RUPフィールドは、後に第4図ケ参照して説明する二
重り/りのリストと共に使用される。それぞれの登録簿
エン) IJイに対しては、他のコードヶ付は加えてよ
いが、これらのコードは、本発明の理解に必要ではない
LKPレジスタ25は、制御ス1773にあるプログラ
ム50P、56P、61Pによってアクセス町q目な領
域である。この領域は、これらマイクロコード・プログ
ラムの実行の相互作用を制御するため、リンケージ・ボ
ー1又はメツ七−ジ領域を形成する− 1つの実施態様
では、プログラム5DP及び56Pは1つQ〕コード・
セグメントとして処理され、LKPフィールド25は、
これら2つClノマイクロコード部分によって1つのユ
ニットとしてアクセスされる。コード・ポイン)(CP
)フィールド85は、制御データケポートに置いたマイ
クロコードbタケ指定する。プログラム61Pがエント
リイ’?LKPレジスタ25に置くと、プログラム56
Pはその制御データケ@出し、そσ)機q目を実行する
。プログラム56Pが、プログラム61Pかものリクエ
ストに応答して、新しいデータ’a’ L K P v
ラスタ25に置くと、cpフィールド85は、連続した
処理のだぬに、プログラム56Pが応答したコード実行
中の地点がどこであるかケ、プログラム61Pに教える
。PRIORITYフィールド86は、LKPフィール
ド25に置かれたリクエストが高優先順位であるか、低
優先順位であるか、または連続処理を示すものであるか
ケ表示するコードヶ含む。Vフィールド(Vビット)8
7は、LKPvジスタ25のエントリイが有効であるか
どうか(即ち、それがアクションケ必要とする最近+7
Jエントリイであるかどうか)ケ示す。DADDRフィ
ールド88は、DAsDl6のどれがLKPvジスタ2
5の現在の制御データ信号に関連しているかケ表示する
ため、バイト20から取られた装置子ドレスケ含む。P
ARMSフィールド89は、メツセージ(叩ち、どの機
能が実行されるべきであるか、状況など)と関連した各
種のパラメータケ含む。
B STL/ジスタフ8は、DAsDl6の各々に対T
る1組のレジスタケ有する。最初のVジスタはDELE
Pフィールド120ケ含む、フィールド120は、登録
簿指標フィールド122−123ケ指定する指標堕1−
8ヶ含む。これらの指標直は、削除されるべき登録簿エ
ントリイン指定する。Ili:にフィールド” 121
は、テーブル中にある有効なエン) IJイの数ケ含む
、更に、それは了ドVスとして使用される゛。列えば、
最初の登録簿ポインタ指標は、常にフィールド” 12
2に記憶され、第8番目の指標は、常にフィールド” 
123に記憶される。EKフィールド” 121に6の
1直があると、第3番目の登録簿指標がアクセスされる
。登録簿指標は登録s43のエン? IJイの論理子ト
°ノヌであり、従って登録簿43へσノ迅速なアクセス
が町q目となる。
システム・ストレージ30とDAsDl6との間の動作
は非同期的であり、かつホスト11とDA SD 16
トの間の動作、及びホスト11とシステム・スト7−ジ
60との間の動作から実質的に独立している。そのだ約
、続出待ち行列128及び書込待ち行列127が待ち行
列Vジスタロ9に設定される。書込待ち行列127は、
装置DO1D1、D2、D3、D4σ〕各々のために別
個σ)待ち行列ン有する、書込待ち行列は、書込動作ケ
表示するエン[リイについて、INDEXフィールド’
107に記憶された指標ケ含む。更に、棗込待ち行列は
、DAsDl6へアクセスするために必要な了ドレスケ
記憶している。これらσ)了ドレスはシーク引数、サー
チ引数、セクタを含んでいる。
更に、書込待ち行列は、千丁ツンユ・ブロック・了ドV
スやシステムeストレージ・了ドノス帝レジスタ58の
ようなキマッシュ404アクセスする(hに必要な了ド
7ス部分、及び装置マスフケ含む。各装置について、書
込待ち行列127にある次のエントリイン指定し、また
は次の装置書込動作(EDち、−P−iFッシ!40中
σ]どのVコート°が久にDAsDl6へ書込1れるべ
ぎが)を指定するだぬ、リンク・フィールトン設けるこ
とかでさる。
従って、書込待ち行列127は、DAsDl 6の各々
へ書込1れるべぎデータ・ブロックにアクセスするため
、千マツシュ40のアドレスorrte記tn領域に対
する1つ又は複数σノ参照項目ケ含むことができる。各
書込待ち行列はフラグ・カウンタ127F:r含む、フ
ラグ・カウンタ127Fがゼロでない時、それはフラグ
・カウンタ127Fにある計数1直に等しいエン) I
Jイが書込待ち行列127にあることケ示し、フラグ・
カウンタ127Fがゼロである時、それは関連した書込
待ち行列127が空であることケ示す6書込待ち行列カ
ウンタ(WQK)127には8ビツトのシフト・レジス
タであって、書込待ち行列127のいずれが次にエン)
 リイ2走量されるべきかン指定するため、上記シフト
・レジスタの1ビツトがセットされる。
各走置はWQK 127Kv1ビツトだけシフトし、そ
れによって次の書込待ち行列127が指定され輝 更に、待ち行りυレジスタ69は読め待ち行列128ン
含む。読出待ち行列128の各々はポインタ129ケ有
する。ポインタ129はラウンド・ロビン待ち行りUで
あ界、読出待ち行列128は、どの論理装置がDASD
16からキマッシュ4゜へのデータ転送?必要とするか
ン指定するLDCBvジスタロ2σノ了ト”vスン含む
。ポインタ129は、どσノ論理装置が次にサービスさ
れるべきがケ示すため、各読出待ち行列の中にある6@
の町q目なエントリイの1つケ指定する。ゼロのポイン
タ129は、窒の待ち行列ケ表示する。例えは、装fl
D Dのポインタ129は2ヶ含むが、これはLDCB
レジスタ2が次にサービスされるべきこと?示す、LD
CBL/ジスタ2の次にLDCBvジスタ3がサービス
される。その次にLDCBVジスタ1がサービスされる
c、DOは、それに関連した全ての論理装#について、
満杯の読取待ち行列を有する、装置D1の読出待ち行列
は2つのエントリイY有下る。それらは、LDCBl及
びLDCB3である。ポインタ129Qr数は3である
から、これはLDCBvジスタ3が次にサービスされる
べきことを示している。読出待ち行タリ128にアクセ
ス千ることによって、マイクロプロセッサ51Pは、デ
ータがホスト11によってリクエストされた順序に関し
て、適当なシーケンスでDASD16から千マツシュ4
0ヘデータ?転送T7−、ため、正しいLDCBレジス
タ62へアクセスすることができる。本発明ン実施下る
に当って、他σ】優先順位決定方式ケ使用丁すことがで
きる。
第6図に示されたレジスタの外に、記憶システム10ケ
構成するため他のVジスタケ使用することかでき7−)
。こσ】ようなV、ジスタは、本発明?理解下るために
は必要でないので、説明ケ省略する。
LRUリスト46は、第1図に示されるような後入れ先
出し単一リンク型スタックではなく、第4図に示される
ような二重リンク型リストであることが望ましい、第4
図のリストは、登録簿430)指標に従って構成される
、こσ〕指標は、欄116に示されるように千マツシュ
・了ドノスCADDRに対応する。1の値ン有するC’
ADDRは、−V−丁ソシュ40の最低メモリ・アトV
スに対応し、2σ〕@ン肩するCADDRは、第2のア
トVス町[27−タF 惚fl 域σ)ためσ)、キマ
ッシュ40のメモリ・アドレスン示す。以下同様である
。欄125は、千τソシュ40の中で使用時点がより新
しい了ドVス0Tt4Qデータ記憶領域であるようなエ
ントリイF、LRUリスト46I7〕中で指定下る、第
4図vJりでは、M+2のCADDRが、欄125のゼ
ロによって示されるように、キマッシュのMRU了ドV
スaT旺データ記惜領域である。同様に、欄126は、
次の「使用時点が新しくない」テドレスoT牝データ記
憶領域ケ指定する。使用時点が最も新しくないもσ)は
、欄126にゼロがあることによって知られるように、
K+2である。注意丁べきは、マイクロブロセツ’11
Pσ】中にある作業レジスタ(図示せず)がMRU及び
LRUの了ドVス町1目記憶領域σ〕了ドレスケ含んで
おり、LRUリスト46は、LRU端部又はMRU端部
(第1図参照)のいずれからも走置できることであ、b
。M RU、及びI、RUのポインタ値は、通常ノ二重
すンク型リスト・パターンで設定される。例えば、CA
DDRかに+2(7)MRUPは1の値に等しい。1の
値ン有するCADDRケ探丁と、LRUPはに+20)
l直を有し、MRUPはMの直を有する。これは、次の
「使用時点がより新しい」二Vメントである。CADD
RがMである工Vメントケ探丁と、LRUP値は1シ有
し、MRUP1直は2つσ)−・イフンン有する。2つ
のノ・イフンは、リスト(7)中に追加のエントリイが
あることケ示す(説明ケ簡略に下るため、これは上説明
しない)6同様に、CADDRが2である場合、LRU
P値は2つのノ・イフンであり、これはエントリイが省
略されていることン示す。町用閾値49及びグループ比
聞直57は、II、RUリスト46の中でどこにあって
もよい。そのような閾百ン定食する場合、走査すれた工
Vメントの数がカウントされ、閾値に達したかどうかを
決定するため、ある数頭と比較される。これについては
、第10図ケ診照して詳細に説明する。
第5図は、読めデータ転送及び書込データ転送における
CCW及びICWのシーケンヌン示す。
読め転送は、DASD16からホスト11へ信号ケ転送
し、書き転送はその反対におけるデータ転送である。C
CW連鎖130は、セット・ページ・パラメータ(SP
P)指令132で始まる。第12図は、そσノような指
令が記憶システム10によって実行される有様?示す。
基本的には、SPP 指令132は、キャッシュ40か
らホスt11へ読出されたデータが放棄されることがで
きるかどうかケ設定するとともに、CCWl 9 (l
j1図)のバイト22で指定された他σ〕パラメータケ
岐定する。1度SPP指令が動作パラメータ娶記憶シス
テム10へ指示すると、シーク指令136によって、シ
ーク指令が周辺記憶システムへ転送されはSPP指令に
含まれている。通常のDASD了−キテクチマーに従え
ば、シーク指令(7J次にセット・セクタ指令134が
来る。セット・セクタ指令の次にはサーチID等価(S
IDE)指令135が来る。ここで記憶システムは、続
出指令136によって、了ドVスされたDASD 16
からデータを読暇る準備を完了1石。続出指令ケ受@る
と、記憶システム1Dは、スタック131で示される動
作ケ準備する。先ず、シーク指令、セット、セクタ指令
、ID指令が140でスタックされる。137では、第
1図に関して説明したように、登録簿43のサーチが実
行される。−?τツシュ・ヒラ1の場合(即ち、リクエ
ストされたデータが千マツシュ40にある場合、矢印1
38で示されろように、データは、直ちに−Pギツシュ
40からホスト11へ、指令ケ受取ったグ°fネル・ア
ダブタ32ケ介して転送される。flt!方、登録簿4
3によって、データがキャッシュにないことが示される
と、矢印141で示されるように、キャッシュ・ミスが
生じる。そして、矢印142で示されるように、チ丁ネ
ル指令再試行(CCR)信号が記憶システム10によっ
て与えられる。OCR信号は、いつ装置終了信号が記憶
システム10から受取られたか、及び同じ読出指令ケ記
憶システム10へ道ることによりて、読出指令166が
チマネルによって再実行されねばならないことケホスト
11へ知らせる。これが起っている間、記憶システム1
0は、シークICW143で始するICW連鎖143−
148ケ組立てる、シークICW145は、ホスト11
から受取られたスタックのシーク指令から引出される。
多重トラック動作においては、ICWはサーチIDパラ
メータから引lt、される。シークICW143の次に
セット・セクタエCW144が来る、セット・セクタI
CW144ハ、レコード番号から計算されたセフタケ有
”する。
145において、局所入力によってセット・キギツシ隼
I CWl 45が生じろ。このICWによって、プロ
クラム56Pは、読出されるべきデータが記憶されるシ
ステム・スFL/−シロ0のアト”vスケ、適当なシス
テム・ストレージ・了ドレスーVジスタへ入れる。もし
複数のデータ・ブロックが転送されるべきであれは、1
46で示されるように、複数σ〕セット@千マツシュI
CWが起る。
次に、S I DE指令135に灯心するサーチID等
価ICW147が起る、サーチID等価ICW147ハ
、を初のセット・千マツシュI CWl 45に対応す
る。これは、複数σ)データ・プロクラム1つの5ID
Ilili令147Y使用して順次に読出されることン
意味千る。次に、転送されるべきデータ・ブロックの数
に等しい読出ICW148がプログラム56Pへ与えら
れる。それは、セット・キャッシュICWの数によって
示されたデータ・ブロックの数シ読出丁ためである。了
ドレスされたDASD16から、−Pマツシュ40のシ
ステム拳ストレージ・アドレス・レジスタ58によって
指定すしたアドレスへ、データケ転送する読め動作が完
了すると、記憶システム10は、ホスト11へ矢印15
0によって示されるように装置終了(DE)信号ン与え
る。ホスト11は、指令136に対応する周辺指令ケ1
51で再び出丁ことによって、直ちに応答する、勿論、
記憶システム10は152で登録簿43ケサーチし、そ
の結果、ICW連鎖が実行されたばかりであるから、キ
マッシュ・ヒツトy生じる。次に、データは、矢印15
3で示されるように、千丁ツシュ40からホスト11へ
転送される。156において、リクエストされたデータ
・ブロックについて、データが転送されなかった場合、
他Q)キギツゾユ・ミスか生じ、エラー状況がホスト1
1へ報告される。このエラー状況は、記憶システム10
が、DASD16のリクエストされたシリンダ及びヘッ
ド・了ドVスからデータケ転送できなかった事実ケ反映
する。そI7)場合、ホスト11は、標準のディスク記
憶装置回復手法ケ使用して、直接アクセスの経路からデ
ータケ転送することができる。省略符号154は、前述
した動作が反復されること、及6複数のDASD16に
ついて複数のCCW連鎖が間挿されてよいことン示す。
ICW連鎖は、必ずしもCCW連鎖σノ順序に従わなく
てもよい。状況に旧じて、lCW連鎖は、後に発生する
CCW連鎖によって組立てられかつ使用されてよい。そ
のような可能性は、CCW連鎖に関して■CW連鎖の非
同期的局面ケ示す。通常、最初のCCW連鎖によって、
最初に発生するICW連鎖ン生じる。任意σ〕時点で、
別I(lil(hICW連鎖が各装置に対してアクチブ
であってよい。シーク、セット・セクタ、5IDEの指
令(135−135)は周知であるから、これ以上説明
しない。
第6図はシーケンシギルな読出デルタケ転送するための
マシン動作ケ示す。160において、受取られた指令は
、プログラム50Pによって処理される。次に、LKP
レジスタ25し升して、プログラム61Pがマイクロプ
ロセッサ31Pによって能動1ヒされる。161で、指
令は再びプログラム(SIPによってデコードされる。
それは続出指令であるから、第1図に関して説明したよ
うにして、登録簿43がサーチされる。163で、登e
簿のサ f”結果、−v−マツシュ・ヒツト;e=生シ
たか、キマッシュ・ミスが生じたかン、マイクロプロセ
ッサ31Pが決定する。、千マツシュ・ミスの場合、1
64で、指令及びその制御情報ケ待ち行f!I vジス
タロ9に置くことによって、受なられた指令が待ち行列
に入れられる。1だ、CCR信号がホスト11へ送られ
る。待ち行列69は任意の様式ケ有してよい。待ち行列
69は、DASD16の各々に対する先入れ先出しくF
IFO)待ち行列である。即ち、8個のDASD16が
あれば、8つの待ち行列が存在する。FIFO待ち行夕
IJ%’使用することによって、所与の装置に関して、
ホストに対する応答の順序が、確実にホストによって送
られた指令の順序に対6−″rることと々る。
待ち行列Vジスタロ9から、プログラム61Pは、スタ
ック131ケ形成することによって、アドノスされたD
ASD16からの読出しを起動する。
163で、登録簿サーチによって千マツシュ・ヒツトが
生じると、キマッシュ40は、170で、適当なチャネ
ル・アダプタ62ケ介して、自動的にデータケホスト1
1へ転送″rる。−Pマツシュからホストへσノ、そ(
hような自動的転送は周知であるから、詳細に説明しな
い。自動的データ転送の間に、エラーが起る場合がある
。従って、エラーが検出されると、マイクロプロセッサ
′51Pは、エラー報告分析ルーチンへ行く。概して、
データ転送にエラーは生じない。171で、データ転送
が成功裡に終了すると、マイクロプロセッサ31PはL
DCBL/ジスタロ2にアクセスして、RDフィールド
101ケ検査する。もしRDフィールド101に「読出
し及び放棄」が表示されていれば、173で、マイクロ
プロセッサ31Pは、キャッシュ中に読出したばかりの
データーブロックについて、制御ストア73の放棄リス
ト38の中に「放棄」ケ表示Tる。放棄は、指令が実行
されていない時、マイクロプロセッサ31Pがシステム
・ストv−ジ30の登録簿43にアクセスして、そのエ
ントリイケ消去することにより実行される。    ・
置換アルゴリズムが呼出される前に、データを放棄する
ことは、キギツ/ユ40%’効率的に管理するのに必要
な制御手順ン減少させる6即ち、自由な(解放された)
了トvス可能データ記憶領域は、羊れらが必要とされる
前に確保炎れることになる。
171で、RD=Oであれば(読出し及び放棄でない)
、175で、マイクロプロセッサ31Pは、R録114
3の成るフィールドによって(図示せず)、データがキ
ャッシュ40へ固定されるべきかどうかン決定する。キ
ャッシュ40へのデータの固定は、登録簿43の固定フ
ラグ(図示せず)かホスト110指令によって消去され
るまで、そのデータンキャッシュ40から消去できない
ことケ意味する。もしデータがキャッシュへ固定される
のでなければ、176で、読出されたばかりσ)ブロッ
クは、登録簿43のLRtJリストの中で、「使用時点
の最も新しいJ(MRU)ブロックとされる。
177で、本発明と無関連σ)論理ステップがマイクロ
プロセッサ31Pによって実行される6次に180で、
LDCBレジスタ62が再び了り2セスされて、SEQ
フィールド100が@食される。
もしアドレスされたDASDl<Sに関してシーケンシ
ギル・データか表示されていれば、182で、マイクロ
プロセッサ31PはLDCBvジスタロ2のB  C0
UNTフィールド102ケ検査する。
それは、ブロック・カウント:(BK)が0に等しいか
どうか、即ち、転送さnたばかりのブロックが、データ
σ】シーケンス中最後のブロックであるかど5かン牌べ
るためである。もしそれが最後σ)ブロックで逃ければ
、183で、ブロック・カウントが1だけ減少される。
ステップ180.182.183及び論理通路181は
、マイクロプロセッサ31P’&プログラム50Pへ導
く。それは、通常の態様で、最終状況乞ホスト11へ報
告するためである。
第7図及び第8図は、待ち行列レジスfi69の中の読
出待ち行列ケ走膏し、記憶システム10の内部指令であ
るICW連鎖連鎖7王生動作フローン示す。リクエスト
された読出指令が待ち行列に入れられた陵、マイクロプ
ロセッサ31Pは記憶システム10に各種の機q目ケ実
行させる。例えば。
そのような機q目は、チマネル・了ダブタロ2ン介して
受取られた指令に応答すること、読出指令ケ転送したチ
マネル・アダプタ32から受取られた熊の指令ケ実行し
たりすることン含む。ホストからの周辺指令の受敗りが
休止すると、シーク指令及びセット・セクタ指令がマイ
クロプロセッサ31PによってDASDl6へ送られる
。千マツシュ40がデータケホスト11へ送ったり、ホ
スト11からデータケ受叡ったり、DASDl6へデー
タケ送ったり又はそこからデータケ受敗っている間に生
じる制御活動が休止すると、マイクロプロセッサ31P
は、そQ〕タスク指名マイクロコード(これは第2図に
示される0P75の1部である)ン介して、待ち行ダ(
jレジスタ69ケ含む作業テーブル(図示せず)r走置
する。もし待ち行列レジスタ69の中の待ち行列が空で
あれば(即ち、読出しも書込みも起るべきでない)、マ
イクロプロセッサ31Pは論理通路192ケたどって1
90へ戻る。もし191で、ポインタ129(第3図)
ケ定食することによって、読出指令が待ち行列に入れら
れていることが倹11+きれると、19′5で、読め待
ち行列128からマイクロプロセッサ31Por内F!
1I5Vジスタ(図示せず)へ行列のエントリイが転送
される。もしこの転送の間にエラーが生じると、エラー
報告及び回復手順が194で開始される。待ち行列Vジ
スタロ9からのエントリイの読出しが成功すると、19
5でLDCBL/ジスタロ2が・アクセスされ、ODE
フィールド90が1へセラFされる。それは、読出しが
成功裡に完了した時、装置終了信号yit+”’rべき
であることン示T(第5図の矢印150ケ参照)、19
<5で、本発明と無関連σ)機能が実行される。次に2
00で、了ドレスされたDASDに対応するノ;ツファ
・レジスタ77(第2図)σ)中で、第1図のバイト2
7にあるビットがセットされる。それは、論理連鎖が生
じること、120ちアドレスされたDASDl6に対す
る来たるべきアクセスで、1つ以上の■CWが使用され
ることン示す。201で、LDCBvジスタロ2が再び
アクセスさnて、SEQフィールド100の値が?@食
される。シーケンシギル・データが表示されていれば、
マイクロプロセッサ31Pはステップ202へ進tr6
ソれは、来たるべきICW連鎖のためのブロック・カラ
ン1(BK)&、受取られたページング・パラメータ(
PA)に等しくセットするためである。
所与17JIcW連鎖ンブrして転送されることのでき
るブロックの最大数は、システムeストレージ・了ドレ
ス・7ジスタC85AR)5BのpVc等しい、、レリ
えは、5SARが8個の場合、転送されるブロックσ)
数は、最大8個であ石。更に、遅延境界ケ考慮に入れな
けれはならない。しlえは、転送されるべき8@σ】ブ
ロックが21固のシリンダにアクセスすることケ必要と
てれは、最初にアクセスされたシリンダにあるブロック
のみが転送される。もし81固Q)ブロックσ】中で、
最初のシリンダに41固のブロックがあり、第2のシリ
ンダに41固のブロックがあれは、ブロック数は4にセ
ットされる。こQ)方法は、一連のブロックケ転送する
ために必要な時間ケ最小にし、全てσ)転送が電子的速
度で完了することン町舶にする。所与のシリンダσ〕般
初σ】ブロックでミスが生じた場合、8岡のブロック1
で自動的に転送される。更に、ブロックσ】最大数は、
B C0UNTフイールド102は、シリンダ境界が所
与のICW連鎖によって決して交差されないようになっ
ている。こQ】ような計算は、通常のプログラミング手
法によって実行Tることができ、これμ上詳細に説明し
ない。ステップ201で、もしシーケンシギル・データ
が表示されなければ、スナップ203で、転送さ九るべ
ぎブロックの数は、1ヘセツトされる。これら(/J*
匝は、連鎖フラグ、DASDアドレス、及び他の装置制
御データと共にバッフ了・レジスタ77へ与えられる6
204で、5SAR5Bの識別記号がOヘセットされる
。これは、マイクロプロセッサ31Pが、識別記号ay
有する5SARにアクセスすること?意味する。
205で、第1図のCCWl 9ン介して受取られた論
理了ドVスLDADDRが、DASD16σ)物理了ド
レス(DADDR)へ変換される。この動作は、論理ア
ト”レス表示ビ、ットケ削除するため、拳に論理了ドV
スンマスクすることによって達成される。206で、本
発明と無関連の機1eが実行される。論理コネクタ20
7は、第8図で説明されるマシン動作流れ図の論理コネ
クタ243から接続される。即ち、190から206ま
での論理ステップの全ては、準備ステップであり、次に
説明するステップは、連続したデータ・ブロック転送?
実行するため、ループとして反復打q目なステップであ
る。
ループ中の舒初のステップ210は、キャッシュ40の
中でスロット又はアト7ス町q目データ記憎スペースケ
割振る。通常σ】割振手順がとらnる、αDち、自由リ
スト中のアドレス町T4目ユニット(スロット)が、D
ASD16から来た最初の信号ブロックw受暇るため、
アドレス町q目σ】ユニット又はスロットとして指定さ
れる。、次に、そのスロットは自由リスト(FBLL/
ジスタフ9)から除かれ、マイクロプロセッサ31Pの
中にある内部レジスタに表示される。それは、−P−r
Pツシュ40の中のスロツ)7指定するため、登録簿4
3グ】中のどσ〕エン11Jイが使用されるべきかケ示
T0注意丁べきは、千マツシュ4oにある各了ドレスO
r#Uスロットのために、登録簿43の中に1つのエン
トリイ・レジスタが設けられていることである。
従って、キャッシュ40にあるデータσ)実際σ】了ド
Vスは、登録簿43のエントリイン含むレジスタから直
接に引山丁ことができる、 ステップ202又は203で設定されたブロック数に等
しい数のスロットか割撮りン試みられた後、211で、
マイクロプロセッサ31Pは割振プロセスでエラーが生
じたかどうかケ決定′Tる。
もしエラーが生じたσ】であれば、DASD16から一
?マツシュ40へ、ブロックQ3全数が成功裡に転送さ
れなかったのかも知れない、従って、エラー条件が生じ
ると、212で、マイクロプロセッサ3’1 Pは、L
DCBVジスタロ2のSEQフィールド”1oov調べ
て、データ転送がシーケンシギル転送であるかどうかン
決定する、もしそれがシーケンシギル転送でなければ、
マイクロプロセッサ31Pは論理通路213ケたどって
、プログラム50Pへ戻り、1つのブロックに対しスペ
ースケ利用町舵と′rるため、置換アルゴリズムの制御
ケ待機下る。シーケンシギルなデータ転送であ6Jj3
合、214でマイクロプロセッサ31Pは、転送される
べき最初のブロック上でエラーが生じたのかどうかン決
定する。もしそ扛が最初のブロック、であれは、マイク
ロプロセッサ31Pは論理通路216ケ介してブロクラ
ム50Pへ戻る。もし割振りのエラーが最初のブロック
について生じたのでなければ、先行するブロックのデー
タ転送が起る。マイクロプロセッサ31Pは通路217
ケたどってステップ220へ至る。それは、割振されな
い領域において転送されるべきブロックの数y、−x 
cwから除去するためである、即ち、割振エラーに関連
させることのできるブロックから始まる全て+71所望
のブロックが、ICW連鎖から除去される、 次にステップ211に戻って、もし割振エラーが起らな
かったのであわは、218で本発明と無関連の機能が実
行さnる。こnらの機q目は、割振りに関連しないマイ
クロコード論理エラーを分析することン含む。もしその
ようなマイクロコード・エラーσ〕ために、スロットが
割撮られなかったのであれは、除去ステップ220が実
行さnて、DASD16から−Pマツシュ40へ転送さ
れるブロックσ)数が減少される、エラーが生じない場
合、又は除去ステン、ブの陵、マイクロプロセッサ31
Pは221で本発明と無関連の論理ステップケ実行する
。222で、LDCBL/ジスタロ2σ)SEQフィー
ルド100が険青さ′nる。もしSEQフィールド” 
100がゼロに等しけれは(即ち、シーケンシギルでな
いデータ)、223で、データケ受@! 7;s ヘぎ
千マツシュ40中のスロットに灯心する、Re簿43の
エンドIJイの指標が、RPARMFIf!I分86の
フィールド114へ入れらnる。シーケンシギル・デー
タの場合、又は指椰がLDCBレジスタ62へ入れられ
た後、224で、後にシステム−ストレージ・アドレス
・Vラスタ58へ挿入されるべきキマッシュ・アト”v
スが、LDCBレジスタ62へ挿入さnたばかりの登録
簿指標から発生される。この発生は、甑にオフセットを
登録簿指標の各々へ付は加えることによってなサレル。
久[225で、SEQフィールド1[10がシーケンシ
ギル・モート′Y示すと、ブロック・カラン)(BK)
が1より大きいがどうが%’JJべる1こめ、マイクロ
プロセッサ31PはB  C0UNTフイールド102
ン険IETる。次に232で、マイクロプロセッサ31
Pは、転送されつつあるブロックのシーケンス中にある
最初のデータ・ブロックが、現在処理さnているがどう
がア調べる。
もし処理されていなければ、236で、第2のブロック
に対する新しい−P−1Fッシュ・了トーvスカ与えら
n、る。次に264で、バッファ・ノジスタ77の中で
、W2又は他のブロックに灯心するシステム・ストレー
ジ・了ドVス・レジスタ(SSAR)58がキマッシュ
・了ドレスヘセットサレ、フラグがセットさf1登録簿
43に対するポインタがセットされ、キマッシュ・アト
”l/スケ受淑るべき5SAR58が指定さfLる。更
に、バッファ・Vジスタフ7の中に、実行下べき池の機
we ’v 限定してよい。
ステップ225.231.232へ戻って、論理通路2
26は本発明と無関連のステップ227へ進み、次いで
マイクロプロセッサ31PはLDCBvジスタロ2へ進
ンテ、RpaRMS部分86σ】フィールド”116に
発生さnた千マツシュ40σ) 7 ト” vス?記憶
する、次いでマイクロプロセッサ31Pは本発明と無関
連のステップ229ケ実行し、論理コネクタ235ケ介
して第8図の論理ステップへ進む。
第7図の論理コネクタ235は、第8図の論理コネクタ
240へ接続される。241で、マイクロプロセッサ3
1Pは、第3図θ)EKフィールド121ケ増加するこ
とによって、5SAR58へのポインタに更新Tる。2
42において、マイクロプロセッサ31Pは、−?マツ
シュ4oへ転送すれるべきデータ中ブロックの曾てか、
キマッシュ40の中でスペースの割振りケ受けたがどう
か?決定する。もし受けていなければ、マイクロプロセ
ッサ31Pは、論理ユネクタ243を介して、第7図の
論理コネクタ207へ戻り、他のデータ・ブロックノた
めにキマッシュ4oのスロットヶ割振ル。このループは
、EKフィール)” 1217%転送されるべきブロッ
ク数に等しいカウントケ含むようになる1で反復さnる
前記σ】ループケ完了した牙、本発明と無関連σ〕論理
ステップが244で実行さnる。245で、gt山指令
がICWにセットさnて、DASD16σ〕ためσ〕デ
ータ読出指令が表示される。250で、LDCBvジス
j’62−IJiアクセスさnて、P P−ARMS部
分81にあるSEQフィールド°100がセットさnて
いるかりセラF2nているかが決定さnる。セットさn
ていlrLは、251で、マイクロプロセッサ31Pは
、受取られたブロック・カウントが1より大きいかどう
かン決定′″rる。もしそれが1より大きけ九ば、IC
W24の指令修飾バイト27の中にセットされる。1よ
り大きくなければ、ステップ250又は251から、バ
イト27の連鎖表示’(r IJ上セツトることによっ
て、連鎖終了表示EOCが表示さnる。254で、制御
ストア73にあるバッファ・Vジスタフ7は、■CW’
/受叡る。愛敬17ち、コード、フラグ、及び龍の記憶
動作表示(STOROP)が受取られる。、255で、
マイクロプロセッサ31Pは再びLDCf3vジスタロ
2のSEQフィールド1(]0ケ調べて、それがOK等
しいかどうか(即ち、シーケンシマルでないかどうか)
ン決定Tる。もし1つのブロックだ砂が転送されるので
あれは、マイクロプロセッサ31Pは論理通路256ケ
たどり、構成されたばかりのICW&LKPVジスタ2
5ケ介してDACプログラム56Pへ転送するため、ス
テップ257ケ実行する。
シーケンシ丁ル・データ転送の場合、マイクロプロセッ
サ31Pはステップ255からステップ260へ進み、
EKフィールド12’l’Rのエントリイヘ調整する6
次に261で、もし残りのブロック・カウントが1より
大きくなければ、257で、ICW24がLKPレジス
タ25ケ介してDACプログラム56Pへ転送される。
残っているブロック数が1より大であれば、ループ27
0が実行されて、連鎖中の残りりLI CW 241)
’設定される。、、271で、「カウント、キー、デー
タ」続出指令及び多重トラック指令がセットされる。
272で、マイクロプロセッサ31Pは、シーケンシマ
ルなブロック群σノ中の最後σJ7’ロックが処理され
るべきか否かン決定Tる。もし処理され・・るべきでな
げれば、形成されつつあるICWCtノバイi27にあ
る連鎖フラグが1ヘセツトされる。処理されるべきであ
れは、274で、連鎖フラグケリセット千ることによっ
て、連鎖状態の終り(EOC)が表示される。275で
、形成されたばかりσIICW24がバッファ・Vジス
タフ7へ転送される。276で、キマッシュ・了ドV7
.CADDRがバッフγ・Vジスタフ7に記憶され、そ
れが直ちにパースを転送のために5SAR58へ転送さ
れることかできるようになる。277で、マイクロプロ
セッサ31Pは、データ・ブロックが最後のブロックで
あるかどうか馨決定下る。−1もし最後(hブロックで
なければ、ループは278で調整され、通常の制御手法
ン用いて、内部レジスタ内Q)カウントが調整される。
最後のブロックであれば、ステップ257が実行される
。ループが278でRM[された時、ステップ271か
ら277までが実行される。
プログラム56PがIcW連鎖ン受取ると、それはチャ
ネル・了ダブタロ2ケ通して受敗った連鎖指令ケ実行す
るようにして、■cw連鎖連鎖性実行。こσ]ような動
作は周知であるから、ICw連鎖の実行はこれ以上説明
しない。注意丁べきは、DASDI6からキマッシュ4
oへ信号ケ転送する時、プログラム56PはDA SD
 16へ了ドVシングするσ〕みならず、バッファ・V
ジスタフ7のキマッシュ・アドレスヶ5saR58へ4
え、数ブロックct〕f−夕が単一のデータ・ストリー
ムで転送されることができるようにする。即ち、多重ト
ラック転送ができるようにする。転送が終ると、プログ
ラム56Pは、エラー表示ケ含む結果の状況k L K
 P vラスタ25ヘロードする。次にマイクロプロセ
ッサ31Pの動作は、プログラム56PからCACプロ
グラム61Pへ切換えられる。
第9図は、キマッシュ・ミスに続いて、マイクロプロセ
ッサ31 P乞介して実行されるマシン動作ケ示す。こ
れらのマシン動作は、例えば、第6図のステップ164
で起る。280で、マイクロプロセッサ31Pはアドレ
スされた論理装置に対するLDCBvジスタロ2にアク
セスし、FOUND部分80のCCRフィールド95及
びMisSフィールド96ン1へセットする。こσ〕動
作は、キ丁ツシュ・ミスが生じたため、チマネル指令再
試行信号がホスト11へ送られたことン示す。これにつ
いては、後に第11図r参照して説明Tる。
次に281で、マイクロプロセッサ31Pは、FB L
 (自由ブロック・リスト)Vジスタフ9ン険食して、
キ丁ツシュ4Dのアドレス9帖データ記憶領域又はブロ
ックが割振りのために解放されて(・るかどうかン決定
する。キマッシュ40からDASDI6へ、データケ早
期に転送しておれば、可能性としていくつかのブロック
が解放されているであろう。FBLvジスタは、LRU
リスト460部分47がゼロに等しいこと?必要とする
ように構成するのが望ましい、LRU!Jスト46の中
に解放されたブロックケ表示することによって、指定さ
れたデータのアドレス5T@e性が維持される。
ステップ301−307はこの動作ケ示す。解放された
ブロックケ発見すると、マイクロプロセッサ31Pはス
テップ284への論理通路282ン・とる。ステップ2
84では、FBLvジスタフ9から解放された自由ブロ
ックの表示が除去され、登録簿43の対応するエン) 
IJイが現在の識別表示から変更され、そQ〕時キマッ
シュ4oへ割振られつつあるDASD16&)了ドVス
町NQ記憶領域が表示される。そQノような割振動作0
3間にエラーが発生Tると、マイクロプロセッサ31P
はステップ284から論理通路285ケたどってエラー
回復手順へ進む。別個σ)FBLノジスタ79が設けら
れている場合、割振ステップ284は、第11図?参照
して説明するように、論理コネクタ286ン介してデー
タ転送動作に続いて実行されてよい。
284で、キマッシュ40のアドレスmtYデータ記憶
領域の割振りが成功すると、286で、マイクロプロセ
ッサ51PはLDCBレジスタ62(h CM Dフィ
ールド93にアクセスし、キマッシュ・ミスがチマネル
読出型。)指令から生じたのか、チャネル書込型指令か
ら生じたのがン決定する。
チャネル書込型指令の場合、287で、装置終了(DE
)信号がホスト11へ与えられる。即ち、書込指令に対
するキτツシュ・ミスケ処理する場合、必要なことは、
ホスト11がらデータケ受暇るため、キマッシュ4oの
中でスペース2割振ることである。マイクロプロセッサ
31Pが十分に早い時、書込指令(hiスに対してCC
R信号?送らなくてもよ(・。その場合、ステップ28
4及び286がステップ28oに先行する。次にステッ
プ280か、ステップ291の前にあるように、キマッ
シュ読出ミスθノサーチに対してのみ実行される。28
6において、読出動作が表示されると、291で、マイ
クロプロセッサ31Pは関連したDASDI乙のために
読出待ち行うす(第3図)?セット下る。飼えは、装置
D2の場合、それに関連したLDcBレジスタ2に対す
るキ丁ツシュ。
ミスは、読出待ち行列128に図示されたエントリイン
生じる。マイクロプロセッサ61Pは、読/lI待ち行
列ン設定した段に、292の動作へ進む。
292の動作は、記憶システム10v】中で実行される
べき作業rサーチするタスク指令ステップ190を実行
することケ含む。ステップ190y実行した結果として
、実行下べくスケジュールされた読出動作ケ決定するた
め、読出待ち行列128が定食される。矢に、293で
、マイクロプロセッサ31Pは、リクエストされたデー
タ・ブロックYDASI)16 (例えば装置D2)か
らキマッシュ40へ転送する。勿論、これは、マイクロ
プロセッサ31Pが読出待ち行列128の情報ケ、プロ
グラム56Pによって使用されるLKPレジスタ25へ
与えることケ含む。1度、プログラム56Pがicw連
鎖から必要な情報r受取ると、データは、既刊のDAS
D読山手法ケ用いて、アドレスされたDASDI・6か
らキギッシュ4oへ転送される。そσ〕読め動作が終了
すると、294で、マイクロプロセッサ31Pは、装置
D2に対するLDCBレジスタ62のOCRフィールド
95及びMISSフィールド96ン険食する。七の検倉
によって、マイクロプロセッサ31Pは、DASD16
からキャッシュ40へσ〕読出動作がキャッシュ・ミス
から生じたこと’l”tJ4識する。これは、294で
示されるように、装置終了信号がボスト11へ与えられ
ることケ必要とする。
キャッシュ・ミスケ生じたチャネル指令αノ再実行は、
少し遅れて起る。叩ち、ホスト11は、チ丁ネル指令ケ
再びlltI丁ことによって、ステップ287又は29
4で送られた装置終了信号に応答下る。程なく、288
で、記憶システム1oは、ホスト11によってリクエス
トされた全てグ〕種類のデータ記憶動作及び非同期的動
作?実行するため、本発明と無関連の指令ケ受取る。2
90で、ホスト11は第2回目の指令ン与え、登録簿4
3−ンサーチしている記憶システム10は、今や第6図
のステップ163で生じるようなキャッシュ・ヒラトン
有し、その結果、データはキャッシュ4oがらホスト1
1へ転送される。2回目に出された指令が完了すると、
記憶システム10は、タスク指名ステップ190ン升し
て、flh&Jデータ動作へ進む。
FBLvジスタフ9によって、キャッシュ40に解放さ
れたブロックがな(・か、又はLRUIJスト46ン走
査した結果、部分47がゼロであるエントリイカナい場
合、キャッシュ40のアドレス5Ita:記を領域のあ
るものが解放されて、割振ステップ284σ〕実行’k
 oT@Qにしなければならない。
七〇)ような解放はキャッシュ・ミス”i 果だケチな
く、タスク指令ステップ190の動作が作業ン定食して
いる時にも生じるe、例えば、所定σノ優先順位に従っ
て、ステップ190はマイクロプロセッサ31PVして
論理通路299ケたどらしめ、定期的又は非定期的に、
次に説明するループ3゜Q9)マシン動作ケ実行させる
。それは、FBLレジスタ79が、キャッシュ・ミスか
ら生じた割振要件?満足させるエン゛トリイヶ有するよ
うにさせるためである。その場合、FBLvジスタフ9
が9でないと、キャッシュ・ミスケ七−する書込指令に
ついて、割振ステップ284ケ迅速に実行させ、前述し
たようにホスト11ヘチャネル指令再試行CCCR)信
号ン送るの?やめることができる。
CCR信号丙送信中止は、記憶システム10Qノ望まし
く・動作モードである。
本発明17J場合、キャッシュ40からDASDI6へ
のデータ転送動作(以下、カースト・アウト動作とも(
・う)では、転送されるデータが指定される(hみなら
ス、キャッシュ40のいくつかのアドレス記憶領域から
の液数Q〕データ・ブロックが、グループとしてまとめ
られる。DASD 16が、電気的切換えにより複数Q
〕変換器によってアクセス0JIf目な複数のンリンダ
ン有する場合、シリンダに記tfE 0rNpなデータ
・ブロックOJ♀で、及び最初に指令されたデータ・ブ
ロックは、DASD16Q〕1回σj選択の間に、記録
のためにクルー11+:、される。ある情況Q〕下では
、データ・ブロックの数は、所与σ】シリンダにおける
トランクの全数より少ない数に制限されてよい。ρりえ
ば、システム・ストノージ・アドレス・ノジスタ58が
8ffllLかない時、最大8飼のデータ・ブロック?
転送Tることができる。キャッシュ・了ドVスケ即時ニ
利用0Jり目とすることから独立して、全ての転送ケ十
分に早く処理Tるように動作するキャッシュ40の場合
、転送さ・れるデータ・ブロックのグループにおけるデ
ータ・ブロックの醗大数は、シリンダにおけるトラック
数に等しい。データ・ブロックがトラックのサブセット
である場合(例えば、各データ・ブロックが1ラツクの
4分の1ケ占める場合)、5SAR58が8りであれば
、8クカブロツクが転送される。同じように1所与のシ
リンダにおいて、2つのトラックでデータの記憶が起る
。グループ比の要件については、能の順序#換方云ケ採
用してよい。七〇〕ようなグループ比及び書込みは、第
10図ケ参照して説明するようK。
タスク指令ステップ190の動作によって生じる。
これまで説明した定食及びグループ比は、マイクロプロ
セッサ31Pの・かなりの動作時間ケ必要とてる。従っ
て、第9図のステップ281で自由なブロックがない時
、マイクロプロセッサ31Pは、カースト・アウト動作
へ行かないで、LRUリスF46ケ調べて、キャッシュ
40で変更されな(・で記憶されているデータ・ブロッ
クがあるかどうか?調べる。LRUリスト46σ〕中で
、部分47(第1図)にある変更(M)ビットが0のエ
ントリイは、割振9牝な(即ち、自由な)ブロックσJ
リスFヶ構成する。第6図のAr)F2Bレジスタ76
にあるMフィールド124は、そC1)ようなエン) 
IJイについてゼロである。従って、部分47の変更ビ
ットが@食される。そして、LRUリスト46σ〕中で
Mビットがゼロである最初σJエントリイが、ホスト1
1又はDASD16からデータケ受取るように削撮られ
る。七σノような走査は、LRUリスト−46σ)LR
U端部(LRU’+[))σノところで始ま6.LRU
リスF46σノ走舎は、制御ストア73(第2図) o
〕Jカウンタ37によって制御される。Jカウンタ67
は、それンオール・ゼロへセラFすることによって30
1で初期比される(第9図)。Jカウンタ37がゼロの
時、LRUリスト46ン走齋しているマイクロプロセッ
サ31Pは、キャッシュ40で使用時点の般も古いデー
タ・ブロックケ指定するエントリイにアクセスする。ス
テップ3[]1σ】初期比の後、ル−プ300は、LR
Uリスト46cI〕走査ケ制御T6゜先ず、302で、
LRU+Jのエントリイがマイクロプロセッサ31Pへ
読出される。これは、LRUリスト46でINDEXフ
ィールド107′l¥通して指定された登録簿43のエ
ントリイが、システム・ストレージ30からADEBV
ジスタフ6へ読出されることケ意味丁界f、30ろで、
登録簿43から読出されたばかりのエンドIJイか調べ
られ、Mフィールド124がゼロであるかどうか決定さ
れる。もしMフィールド124がゼロであれは、それは
変更されていないデータであり、キャッシュ40に記憶
されたデータは、1)ASD16中に記憶された対応す
るデータに等しい。次に604で、決定されたディVク
トリイ43σ)エントリイ及びADEBL/ジスタフ6
の内容ケ削除することによって、キャッシュ40の決定
されたばかりの了ドVス可能記憶領域が、割振りのため
に解放される。次に、ループ300は終了し、通路28
2がとられて、割振ステップ284へ進む。
もしMビットがゼロでなげれば、マイクロプロセッサ3
1Pは、ループ600ン通って、LRUリス146の次
の「使用節点か酸も古い」エントリイ?指定するように
進行する−605で、Jカウンタ37へ1が加えられる
。306で、マイクロプロセッサ31Pは、新しく・J
カウンタの直と、(N+1)σ)値とケ比較する。N+
1は、第1図σ)OT用閾百49σノ丁ぐ上にあるLR
U46σJエントリイに対応する。MRU−MはLRU
十(N+1)と同じ値であることに注意されたい。Jカ
ウンタがN+1より小さい時、マイクロプロセッサ31
Pはステップ302へ戻り、306のブランチによって
データが変更されていないことが決定されるか、町用閾
1i! 49 K連子すまで、ループ300が反復され
る。次に、307で、マイクロプロセッサ31Pは、タ
スク指名ステップ190へ戻る前に、いくつかの無関連
Q〕機q目ケ実行する。
ステップ306から190へ戻った時、キ丁ツシユ・ミ
スの結果(読ωしであっても書込みであっても)、キャ
ッシュ40に記憶されるべきデータについて、キ丁ツシ
ュ40内にスペースハ割振うれていない。所望されたデ
ータ転送は、キャッシュ40中Q)データかDASD1
6へ転送されるまで待たなければならない。データQ)
DASD16への転送は、変更されないブロックン28
4で割振らせることになる。
キャッシュ・ミスが生じた後、又はタスク指名ステップ
190の定期的走査中に、キャッシュ40の中で変更さ
れないデータ・ブロックが存在しなければ、記憶システ
ム10は第10図の流れ図に従ってLRUリスト46ケ
走査する、書込み又は読出されるべきデータについで、
キャッシュ40中に利用0TIIなスペースケ作るため
、自由ブロックケ設定丁石上記Q)走査は、2つの大き
な段階で行なわれる。第1の段階は、放棄リス)DL3
8ン調べて、データの放棄が0T吐かどうかン決定する
ことである。第2の段階は、LRUリスト46が最も使
用時点の古いエン) IJイかも町用閾直49まで走査
される。この走査でヒラ)(変更されたデータ)が生じ
ると、そこからクループ1ヒ閾ff157まで第2力走
倉が始まり、所与のDASD16上に記録されるべきデ
ータ・ブロックの群が設定される。DASD16は上記
ヒツトによって決定された、キャッシュ40c/〕変更
されているデータケ記憶する。
自由なリストがLRUリスト46の1部としそ含まれて
(・る時、キャッシュ・ミスの陵のSfはスf ラフ2
811”4略し、ステップ301’2升してルーフ30
0へ直接に進む。勿論、299の論理入力は、種々の理
由で生じてよい。
ここで第10図ケ参照すると、マイクロプロセッサ31
Pは論理通路310%’たどって、なされるべき作業ン
探丁。611で、第2図の放棄リスト38がエントリイ
ケ有するかどうかケ検量される。もし放棄リスト38の
中にエントリイがあれは、312で、そσJエントリイ
が@出される・それは、登録簿43σ〕どのエントリイ
が削除されるべきであるか(ステップ313))2決定
し、かっ指標値(ADEBレジスタ76のINDEXフ
ィールド107)ケFBLレジスタ79へ転送Tるため
である。これらの動作は、キャッシュ40のために自由
ブロックケ作る。次に、マイクロプロセッサ31P・は
、LRUリスト46の走査のためにループ316及び3
60へ進むことができる。
ステップ614では、LDCBレジスタ62のCCRフ
ィールド95及びMISSフィールド96が1ヘセツト
されている論理装置があるかどうか検量される。もしそ
Q〕ような論理装置があれば、マイクロプロセッサ31
Pは論理コネクタ319ケ介して第9図のステップ28
4へ進む。久(・でステップ284から294までが、
LDCBレジスタに表示されたCCRフィールド95に
関して、記憶システム10の動作ケ完了Tる。この時点
で、マイクロプロセッサ31PはCCRフィールド95
%/クリ了しない。なぜならば、それは次に受取られた
指令ケS1食して−そ(h指令がチ丁ネル指令再試行の
結果として送られたかどうかを決定Tるからである。
ステップ311で、放棄リスト38にエントリイがない
か、314で、CCRフィールドケセットされているL
DCBvジスタがなけれは、マイクロプロセッサ31P
はLRUリス146v走食するステップへ進む。315
で、Jカウンタ37ケゼロへセットすることによって、
走査が開始される6次にループ316が開始され、LR
U!Jスト46の最も使用時点が古い指標直から町用閾
値49まで走査が実行される、ループ316は、LRU
十Jに記憶された指標直によって指定された登録簿43
のエントリイン続出丁ステップケ含む。
ループ316%’il:初に通る時のJカワンタはゼロ
であり6従って、マイクロプロセッサ31PはLRUリ
ストの使用時点が最も古いエントリイン続出して、31
8でMフィールド124ケ調べる。
MフィールドがゼロであるJ320でJか、7ンタは1
だけ増加される。次に321で、Jカワンタの直がN+
1(LRUリスト46で町用閾[49の丁り上にあるエ
ントリイ)と比較される。Jカワ/りがまだN+1に等
しくなければ、ル−プ316が反復される。ループ31
6が完了すると、論理通路367がとられて、マイクロ
プロセッサ31Pはタスク指名ステップ190へ戻され
る。
この場合、LRU十〇と町用聞直49との間で指定され
た全てのデータ・ブロックは、変更されたデータケ有し
ない。即ち、第10図に示されたマシン動作は十分な回
数だけ実行されたか、他のアルゴリズムによって、町用
聞直49の下にあるエントリイによって表わされるキャ
ッシュ40の全ての変更されたデータが、DASD15
へ転送されている。この場合、キャッシュ40からデー
タY転送する必要はない。第9図のステップ303で、
新しい割振りKよって変更されないデータ・ブロックが
発見されるからである。
第10図において、検量されている登録簿43のエント
リイのMフィールド124、又はLRUリスト46中の
部分(Mビット)47が1である時、走査中に書込ヒツ
゛トが起っている。次にマイクロプロセッサ31Pは論
理通路325ケたどり、現在検査されているエンドI)
イで指定された装置について、書込待ち行列(WQ)1
27へLRU+Jの指標暗r転送する。上記の装置は、
ADEBvジスタフ6のフィールド108にあるDフィ
ールドで指定されている。列えは、もし装置D2がDフ
ィールドに指定されていれは、対応する書込待ち行列1
27は、ADEBL/ジスタフ6のフィールド107か
も指標1直を受取る。この時点で、装置D2に対応する
フラグ・カワツタ127Fは、1だけ増加される、もし
書込待ち行列が空であったならば、フラグ・カワツタは
117)l直Y含む。窒でなげれば、フラグ・カワツタ
は書込待ち行列におけるエントリイの数ン反映している
。こσ〕指標直は、キマッシュ40からDASD16へ
転送されるべき、最初の指定されたデータ・ブロックケ
表わ丁。ヒツトσ)発生はループ316ケ終了させ、マ
イクロプロセッサ31Pにループ330欠実行させる。
ループ660はLRUリスト46ケ走食下るか、その走
査はヒツト位置(例えばLRU+1 )からグループ1
ヒ閾値57まで、又は最初に決定されたデータ・ブロッ
クとグループにすることができる、適当な数のデータ・
ブロックが決定されるまでである。キマッシュ40中で
グループにすることができるデータ・ブロックは、最初
に決定されたデータ・ブロックσJCCPI直(ADE
BVジスタフ6のフィールド108参照)に等しいCC
P直ケ有するデータ・ブロックである。勿論、これラノ
データ・ブロックは同一のアドレスされた装置の中にあ
7−1.。
グループtと聞直57までσ】第2の走査は、ヒツトが
ループ316で生じた時にのみ起る。それは、マイクロ
プロセッサ31PがJカランタケ1だけ増加させるステ
ップ361で始まる。第1図の例では、検量されるべき
欠のLRUエントリイは、LRU+2に対3てる。従っ
て、登録簿43のそσ〕エントリイはADEBL/ジス
タフ6へ転送されル、矢にマイクロプロセッサ31Pは
、332でMフィールド124ン檎食する。その直はゼ
ロに等シイ力ら、マイクロプロセッサ31Pは論理通路
333′l¥たどって、ステップ331へ戻り、ループ
330y繰返丁。もしMフィールド124がゼロでナケ
れば、334でマイクロプロセッサ31PはADEBL
/ジスタフ6のccp(直、及ヒS初に指定されたデー
タ・ブロック(これは書込待ち行列127にある)のC
CP直とン@査する。
池の実癩例として、マイクロプロセッサ31Pの中にあ
る作業Vジスタヘ、ADEBvジスタフ6のフィールド
1[]8で表わされた装置アドレスケ含マせ、埃在のA
DEBL/ジスタフ6のエントリイにおけるc c p
 直と、最初に指定されたデータ・ブロックのCCPI
直と?比較するようにしてもよい。注意Tべきは、CC
P直が装置上の物理シリンダ・了ドVスン表わ丁ことで
ある。こうして、DASD16内部σノ実際のディスク
構成は、LRUリスト46の短資ケ変更ぜず、またそれ
に影響ケ及ぼさない。
もしシリンダ・アドレス(ccp直)が異っていれは、
論理通路333がとられ、ループ330の次の走査が開
始される。双方σノデータ・ブロックが同−Q】シリン
ダ比あれば、335で、マイクロプロセッサ51PはL
RU+(J+1 )の指標+@’r v込待ち行列(w
Q)127へ転送し、7ラグ・力ryント127Fン増
加させる。矢に336で、マイクロプロセッサ31Pは
WQ127Y倹食し、CCP1直ケ有するシリンダにつ
いて、81固のエントリイがあるかどうか決定下る。も
し8蘭のエントリイがあれハ、キ丁ツシュ4oからDA
SD16へ転送するだめのデータ・ブロックの完全ナク
ループカ決定されたことになる。ループ330Q)走査
は不完全のままである。従って、タスク指名ステップ1
90への戻り力家生じ、第11図ケ参照して説明する書
込待ち行うす力走前が、グループ1ヒされたデータQ)
転送ケスケジュールする。
もしグループ1ヒが上限に達していなければ、338で
、マイクロプロセッサ31PはJカワフタ3フの内容?
r′険食検量σλ値ケMRU、−K(グループ比聞直5
7の丁ぐ上にある、LRUリスト46のエントリイ)と
比較下、る、もし比較が一致丁れば、それは第2走食の
完了ケ意味し、タスク指名ステップ190へ(/J通路
337がとられる。その時点で、転送されるべきデータ
・ブロックが1個だけであってもより、71固までσ】
ブロックがあってよい6Jカワンタσノ1直がまだMR
U−Kに達して(・なければ、通路333がとられて、
もう1回σノルーブ330が実行される。
第11図は、キャッシュ40に記憶されたデータであっ
て、DASD16へ転送されるべきものを探丁ため、書
込待ち行列127の全てヶ走査するマイクロプロセッサ
31Pのマシン動作ン示す。
マシン動作は、タスク指名ステップ190から論理通路
340乞升して起動される。641で、検査されるべき
書込待ち行列127ン決定するため、書込待ち行列力ワ
ンタ(WQK)127にの内容が検査される。WQK1
27には、DASD 16σ) 数K 等しく・ディジ
ット位置ン有するシフト・レジスタとして処理される。
1つのビットが〒・さセットされており、十σ】ビット
位置はどσ〕書込待ち行列が険食されるべきかン示す。
1つの書込時チ行列の検量が完了すると、1のビットが
矢のディジット位置ヘシフトされ、次の書込待ち行列の
検ビン式の待ち行列検量が実行される。
ルーフ342はフラグ・カワ7タ12フFk:噴食して
、関連した書込待ち行列が窒であるが(フラグ・カワン
タ127Fがゼロに等しい)、又は非ゼロであって1つ
又はそれ以上のエントリイン指示するかどうかン決定す
る。343で、書込待ち行列力ワンタ(WQK)127
Kに対しするフラグ・カヮンタ127Fが、制御スト了
73から叡出される。フラグ・カヮンタ127Fは34
4で倹介される。もしフラグ・カヮンタ127Fがゼロ
であれば、345でWQK127Kが1だけ増進される
。346で、シフトされた百が、341で@出された初
期値と比較される。もしそれら(hf直が等しければ、
走査は完了している。次にマイクロプロセッサ31Pは
、通路347ケたどってタスク指名ステップ190へ戻
る。比較が一致しなければ、ステップ343−345が
反復される。フラグ・カワンタ127Fがゼロでなけれ
ば、マイクロプロセッサ31Pは通路348ケたどり、
35[)で、指定された装置が使用中であるがどうかケ
検量下る。もし装置が使用中であれば、その装置につい
て作業はスケジュールされず、マイクロプロセッサ31
Pは論理通路351ケたどって、ステップ343へ戻り
、ループ342乞実行して走f’?継続する。350で
、もし装置が使用中でなけれは、352で、前述した手
順ン用いてICW連釧が形成される。353で、形成さ
れたIcW連鎖カL K P Vジメタ252升してD
AC’フロクラム56Pへ転送され、そこで実行される
。次に354で、キャッシュ4oがら了ドノスされたD
ASD16へ、実際のデータ転送が起る。655で、本
発明と無関連の事後転送動作が起る。656で、第1図
のLRUリスト46にあるMビット(部分47)がυセ
ントされ、FBLvジスタフ 9 K J) 5 x、
 ンh リ(ハ、DASD16へfi”送されたばかり
のデータ・ブロックヶ含む、キャッシュ40のアドレス
町q目データ記憶領域σJ指標IMw受喉る。これは記
憶システム10%’準備シテ、FBLレジスタ79に従
ってキャッシュ40σ)中でスペースケ割振らせる。3
57で、LDCBレジスタ62が検査され、ccRフィ
ールド95及びMissフィールド96が1ヘセツトさ
れているかどうかが決定される。もしキャッシュ・ミス
があれば、358でFBLレジスタ79が読出され、キ
ャッシュ40で解放されたばかりのアドレス可能記憶領
域の1つの指標直が得られる。359で、FBLンジス
タ79が@脣され、それが壁であるかどうか決定される
。もしそれが空であれば、エラーが生じている。即ち、
ステップ358は成功裡に実行されていない。次にマイ
クロプロセッサ31Pは、通路36o?たどって、エラ
ー回復手順へ進む。窒でなければ、マイクロプロセッサ
31Pは、第11図の論理コネクタ361及び第9図の
論理コネクタ283ケ介して第9図の割振ステップ28
4へ進む。もし357で示されるように、LDCBレジ
スタのOCRフィールド及びMISSフィールドが1で
なかったために、キャッシュ・ミスが生じて、書込待ち
行列の走査が起らなかったのであれば、マイクロプロセ
ッサ31Pは、662で本発明と無関係のif目乞実行
し、タスク指名ステップ190へ戻る。
代替方法として、マイクロブロセッtsipは。
書込待ち行列1270定食ン完了するため、ステップ3
62からループろ42へ戻ってよい。しかし、成る設計
上σノ制限が存在する場合、マイクロプロセッサ31P
にとって、書込待ち行うすの中眞現われるDASD16
への全ての書込みケ完了するQ)ではなく、実行される
べき各種の作業ケ走査するため、タスク指名ステップ1
9[:l2使用するのが適切であろう。他σ)設計上の
制限がある場合には、ループ342を反復するため、直
ちに通路357へ戻る0ノがよいかも矧れない。
第12図は、例えば第1図のセット・ページ・パラメー
タ(SPP)指令9Jようなモード設定型の指令に対す
る、マイクロプロセッサ61P、のマシン動作ケ示す。
こσ〕ような指令は、チャネル・アダフタ32ケ通して
受取られる。指令は365で第1図σ】「アドレス及び
指令」評価器5DK、よってデコードされ、366で、
マイクロプロセッサは、七〇〕指令がモード設定型の指
令であるかどうかY決定する。もしモード設定型Q〕指
令でなければ、マイクロプロセッサ31Pは論理通路3
67ケたどって、七Q】指令ケ実行する。もしモード設
定型の指令であれば、368で、マイクロプロセッサ3
1PはCCW19 (第1図)のアドレス・バイト20
に関連した適当なLDCBノジスタ62にアクセスし、
RD(読出し及び放棄)フィールド101Fバイト22
の直へセット′vるトドもに、SEQフィールド94及
び100rセツト下る。本発明の実施に関する限り、ア
ドレスされた論理装置に対するLDCBレジスタ620
更新は、モード設定指令Q】実行?完了する、セット・
ページ・パラメータ指令は、他の制御パラメータ指令ん
でよく、こQ】ような制御パラメータは、記憶システム
10の制御データ構造(制御スト了73に置かれるのが
望ましい)の中で更新7.されねばナラナい。369で
、マイクロプロセッサ31Pは、通常の如くホス111
−’>!了状況信号ケ送る。
マイクロプロセッサ31Pが追加OJ仕事ケ探してタス
ク指名ステップ190へ戻る前に、370で池σ】機q
Cン実行してよい。
【図面の簡単な説明】
第1図はホスtへ接続された周辺データ記憶システムン
示す、本発明ケ含む論理図である。更に、本発明ン実施
するに当って使用されるチギネル指令、内部指令ワード
、及びキャッシュ置換制御リストが示される。 第2図は周辺データ記憶システムヶ制御するためプログ
ラム比されたプロセラサケ使用する、第1図03システ
ムの変更例r示す論理ブロック図である。 第3図は第1図及び第2図に示された周辺データ記憶シ
ステムで使用される各種Qノデータ構造ケ示す図である
。 第4図はLRUキマッシュ置換(又はオー、テ<レイ〕
基準ケ使用するキマッシュ置換制御すストン示す図であ
る。 第5図はチャネル指令ワード及び内部指令ワードケ使用
する、第1図及び第2図の記憶システムの動作?示す図
である。 第6図は読め指令ケ実行するときC/Jマシン動作流れ
図、及び第1図及び第2図に示された記憶システムのキ
ャッシュeヒツト論理7o−f示す図である。 第7図及び第8図は第1図及び第2図に示される記憶シ
ステムにお(・てバッキング・スト了から前面ス1了(
キャッシュ)ヘシーケンシτル・データケ転送するとき
のマシン動作流れ図(準備部分及び内部指令ワード部分
ケ含む)である。 第9図はキャッシュ・ミスに続く制御処理ケ示j−rシ
ン動作流れ図である。 第10図は非同期的書込動作の書込クループrヒケ示す
マシン動作流れ図である。 第11図はキャッシュからDASDへ書かれる、グルー
プrヒされたデータの待ち行列走査ン示すマシン動作流
れ図である。 5W121はモード設定指令σ〕実行ケ示すマシン動作
流れ図である。 10・・・・階1周辺データ記憶システム、11・・・
・ホスト、12〜15・・・・I10接続(チギネル、
サプチ丁ネル)、16・・・・D A S D %  
19・・・・チ〒ネル指令ワード(CCW)、20・・
・・アドレス・バイト、21・・・・指令バイト、22
・・・・指令修飾バイト、23・・・・アドレス・バイ
ト、24・・・・内部指令ワード(ICWL  25・
・・・リンケージ・ポー) (LKP )レジスタ、2
6・・・・指令バイト、27・・・・指令修飾バイト、
28・・・・アドレス・バイト、60・・・・システム
・ストレージ、31・・・・制御機構、62・・・・チ
マネル・アダプタ、33・・・・データ回路、34・・
・・装置アダプタ、35・・・・装置制御アタッチメン
ト、37・・・・Jカワンタ、38・・・・放棄リスト
(DL)、40・・・・キマッシュ、43・・・・登f
&m、44・・・・ノ・ツシュ回路、45・・・・分散
指標テーブル、46・・・・キマッシュ置換L RU 
IJスト、47・・・・M(変更)ピット部分、49・
・・・町用閾値、50・・・・「アドレス及び指令」評
価器(ACE)、56・・・・直接アクセス・コントロ
ール(DAC)、57・・・・ブルーフ比fi1m、5
s・・・・システム・ストV−ジーアドレス拳Vジスタ
(SSAR)、61・・・・キマッシュ・アクセス彎コ
ントロール(CAC)、62・・・・論理装置制御ブロ
ック(LDCB)レジスタ、63・・・・チ丁ネル制御
ブロック(CCB)L/レジスタ69・・・・待ち行伺
(Q )レジスタ、73・・・・制御ストへ 75・・
・・他のプログラム、76・・・・ADEBVジスタ、
77・・・・装置バッフ了(DEVBUF)L/レジス
タ78・・・・バッフ了・シーケンス・データ”ル(B
ST)、79・・・・自由ブロック・リスト(FBL)
、31P・・・・マイクロプロセッサ、50P・・・・
ACIIEプログラム、56P・・・・D A Cプロ
グラム、61P・・・・CACプログラム。

Claims (1)

    【特許請求の範囲】
  1. それぞれ多数のデータ記憶領域を含むキャッシュ及びバ
    ッキング記憶装置と、上記キャッシュ及びバッキング記
    憶装置の間でデータ?転送する転送手段とを有する周辺
    データ記憶システムにおいて、上記−Pマツシュのデー
    タ記憶領域の中で、上記バッキング記憶装置に記憶され
    たデータに対応してデータを記憶しているデータNe 
    tt m Mであることを表示するエントリイ、及び−
    ?マツシュに記憶されたデータが上記バッキング記憶装
    置に記憶された対応するデータから変更されているかど
    うかを示す変更表示を含むキャッシュ置換制御リストを
    保持する手段と、上記千マツシュ置換制御リストにおい
    て間もなく置換されるべき最初の部分を走査して、上記
    千マツシュのデータ記tlH域に記憶されたデータの中
    で変更されたデータを含む最初のデータ記憶領域を識別
    する第1の走査手段と、上記キャッシュ置換制御リスト
    及び上記第1走査手段へ接続され、上記最初のデータ記
    憶領域が識別された後に、上記キャッシュ置換制御リス
    [の残りの部分を走査して、上記最初のデータ記憶領域
    に記憶されたデータと所定の関係を有するデータケ記憶
    したデータ記憶領域を識別する第2の走査手段と、上記
    転送手段及び上記第1及び第20走食手段へ接続され、
    上記識別されたデータ記憶領域に記憶されたデータケ、
    上記千マツシュから上記バッキング記憶装置へ転送され
    るべきデータ・ブロックへクループrt:、する手段と
    を具備する周辺データ記憶システム。
JP58010024A 1982-02-24 1983-01-26 周辺デ−タ記憶システム Granted JPS58147880A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/351,835 US4636946A (en) 1982-02-24 1982-02-24 Method and apparatus for grouping asynchronous recording operations
US351835 1982-02-24

Publications (2)

Publication Number Publication Date
JPS58147880A true JPS58147880A (ja) 1983-09-02
JPS6143742B2 JPS6143742B2 (ja) 1986-09-29

Family

ID=23382617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58010024A Granted JPS58147880A (ja) 1982-02-24 1983-01-26 周辺デ−タ記憶システム

Country Status (4)

Country Link
US (1) US4636946A (ja)
EP (1) EP0086886B1 (ja)
JP (1) JPS58147880A (ja)
DE (1) DE3279851D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07500441A (ja) * 1992-12-22 1995-01-12 ブル・エス・アー バッファ・メモリ管理方法,及び該方法を実施するためのコンピュータシステム

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297036A (ja) * 1985-07-31 1987-05-06 テキサス インスツルメンツ インコ−ポレイテツド 計算機システム
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US5146604A (en) * 1986-06-06 1992-09-08 Canon Kabushiki Kaisha Information filing apparatus that stores and erases information based on frequency of its use
US4974156A (en) * 1988-05-05 1990-11-27 International Business Machines Multi-level peripheral data storage hierarchy with independent access to all levels of the hierarchy
US4987533A (en) * 1988-05-05 1991-01-22 International Business Machines Corporation Method of managing data in a data storage hierarchy and a data storage hierarchy therefor with removal of the least recently mounted medium
JPH073661B2 (ja) * 1988-05-05 1995-01-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 情報処理システム及びその制御方法
US4974197A (en) * 1988-05-05 1990-11-27 International Business Machines Batching data objects for recording on optical disks with maximum object count
US5008808A (en) * 1988-06-23 1991-04-16 Storage Technology Corporation Consolidation of commands in a buffered input/output device
JP2776841B2 (ja) * 1988-09-28 1998-07-16 株式会社日立製作所 ディスク制御装置におけるディスクアクセス制御方法
US5053945A (en) * 1988-10-06 1991-10-01 Alphatronix System and method for performing a multi-file transfer operation
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
US5131087A (en) * 1988-12-29 1992-07-14 Storage Technology Corporation Computer system having apparatus for automatically redistributing data records stored therein
EP0451196A4 (en) * 1988-12-29 1992-12-23 Storage Technology Corp Computer system memory performance improvement apparatus
US5224217A (en) * 1988-12-30 1993-06-29 Saied Zangenehpour Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement
US5220516A (en) * 1989-02-21 1993-06-15 International Business Machines Corp. Asynchronous staging of objects between computer systems in cooperative processing systems
US5140683A (en) * 1989-03-01 1992-08-18 International Business Machines Corporation Method for dispatching work requests in a data storage hierarchy
EP0389151A3 (en) * 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
JP2702769B2 (ja) * 1989-03-28 1998-01-26 松下電器産業株式会社 情報入出力装置と情報入出力方法
US5535328A (en) * 1989-04-13 1996-07-09 Sandisk Corporation Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells
US7447069B1 (en) 1989-04-13 2008-11-04 Sandisk Corporation Flash EEprom system
EP1031992B1 (en) 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US7190617B1 (en) 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US5359713A (en) * 1989-06-01 1994-10-25 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
EP0405859B1 (en) * 1989-06-30 1997-09-17 Digital Equipment Corporation Method and apparatus for managing a shadow set of storage media
US5239637A (en) * 1989-06-30 1993-08-24 Digital Equipment Corporation Digital data management system for maintaining consistency of data in a shadow set
US5210865A (en) * 1989-06-30 1993-05-11 Digital Equipment Corporation Transferring data between storage media while maintaining host processor access for I/O operations
US5247618A (en) * 1989-06-30 1993-09-21 Digital Equipment Corporation Transferring data in a digital data processing system
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data
US5394537A (en) * 1989-12-13 1995-02-28 Texas Instruments Incorporated Adaptive page placement memory management system
US5450564A (en) * 1990-05-04 1995-09-12 Unisys Corporation Method and apparatus for cache memory access with separate fetch and store queues
US5197055A (en) * 1990-05-21 1993-03-23 International Business Machines Corporation Idle demount in an automated storage library
US5155814A (en) * 1990-08-31 1992-10-13 International Business Machines Corporation Nonsynchronous channel/dasd communication system
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5493668A (en) * 1990-12-14 1996-02-20 International Business Machines Corporation Multiple processor system having software for selecting shared cache entries of an associated castout class for transfer to a DASD with one I/O operation
US5590300A (en) * 1991-03-05 1996-12-31 Zitel Corporation Cache memory utilizing address translation table
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
US5269013A (en) * 1991-03-20 1993-12-07 Digital Equipment Corporation Adaptive memory management method for coupled memory multiprocessor systems
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5293608A (en) * 1991-04-19 1994-03-08 Legent Corporation System and method for optimizing cache memory utilization by selectively inhibiting loading of data
JP2618149B2 (ja) * 1991-04-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5418921A (en) * 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
US5506986A (en) * 1992-07-14 1996-04-09 Electronic Data Systems Corporation Media management system using historical data to access data sets from a plurality of data storage devices
US5596736A (en) * 1992-07-22 1997-01-21 Fujitsu Limited Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives
US5420983A (en) * 1992-08-12 1995-05-30 Digital Equipment Corporation Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
US5452421A (en) * 1992-09-23 1995-09-19 International Business Machines Corporation System for using register sets and state machines sets to communicate between storage controller and devices by using failure condition activity defined in a request
US5991775A (en) * 1992-09-23 1999-11-23 International Business Machines Corporation Method and system for dynamic cache allocation between record and track entries
US5581784A (en) * 1992-11-17 1996-12-03 Starlight Networks Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams
US5392415A (en) * 1992-12-15 1995-02-21 International Business Machines Corporation System for grouping non-contiguous pages belonging to a storage object for page out
US5530829A (en) * 1992-12-17 1996-06-25 International Business Machines Corporation Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory
GB2273798A (en) * 1992-12-22 1994-06-29 Ibm Cache system for disk array.
US5448702A (en) * 1993-03-02 1995-09-05 International Business Machines Corporation Adapters with descriptor queue management capability
US5519853A (en) * 1993-03-11 1996-05-21 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
JPH06348597A (ja) * 1993-06-08 1994-12-22 Hitachi Ltd キャッシュ制御方法および回転形記憶装置
JP3264465B2 (ja) 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5765193A (en) * 1993-07-01 1998-06-09 Digital Equipment Corporation System for controlling a write operation involving data held in a write cache
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
US5539893A (en) * 1993-11-16 1996-07-23 Unisys Corporation Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
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
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
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5732239A (en) * 1994-05-19 1998-03-24 Starlight Networks Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams
US5802394A (en) * 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5634109A (en) * 1994-06-20 1997-05-27 International Business Machines Corporation Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache
US5636359A (en) * 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
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
US5717916A (en) * 1994-09-30 1998-02-10 Vlsi Technology, Inc. Method for providing an improved fully associative cache memory having a finite state machine and linked list structure
US5584013A (en) * 1994-12-09 1996-12-10 International Business Machines Corporation Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
DE69605797T2 (de) * 1995-06-26 2000-06-21 Novell, Inc. Verfahren und vorrichtung zur unterdrückung redundanten schreibens
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US5875352A (en) * 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
JPH09190465A (ja) * 1996-01-11 1997-07-22 Yamaha Corp 分類格納された情報の参照方法
US5895469A (en) * 1996-03-08 1999-04-20 Vlsi Technology, Inc. System for reducing access times for retrieving audio samples and method therefor
US6029230A (en) * 1996-10-22 2000-02-22 International Business Machines Corporation Data storage library with media destaging and prestaging for improved response time
JPH10187505A (ja) * 1996-12-24 1998-07-21 Toshiba Corp 情報記憶システム及び同システムに適用するデータ配置方法
GB2323945B (en) * 1997-04-04 2002-02-27 Sony Uk Ltd Automated job scheduling in a data storage and/or retrieval system
US6327644B1 (en) 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in cache
US6381677B1 (en) 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
US6141731A (en) * 1998-08-19 2000-10-31 International Business Machines Corporation Method and system for managing data in cache using multiple data structures
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
GB2347765A (en) * 1999-03-11 2000-09-13 Ibm Cache memory addressing system
JP3601677B2 (ja) * 1999-06-09 2004-12-15 日本電気株式会社 タスク処理システム
US6490664B1 (en) 1999-06-14 2002-12-03 International Business Machines Corporation Method and system for handling destage requests during shut-down in a log-structured array
JP3836651B2 (ja) * 1999-12-24 2006-10-25 株式会社東芝 ディスク記憶装置
US6993621B1 (en) 2000-03-31 2006-01-31 Emc Corporation Data storage system having separate data transfer section and message network with plural directors on a common printed circuit board and redundant switching networks
US7007194B1 (en) * 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6473355B2 (en) 2000-12-01 2002-10-29 Genatek, Inc. Apparatus for using volatile memory for long-term storage
US6742140B2 (en) 2000-12-01 2004-05-25 Jason R. Caulkins Method for using volatile memory for long-term storage
US6732116B2 (en) * 2001-06-21 2004-05-04 International Business Machines Corporation Method and system for dynamically managing data structures to optimize computer network performance
US6938120B2 (en) * 2002-08-29 2005-08-30 International Business Machines Corporation Apparatus and method to form one or more premigration aggregates comprising a plurality of least recently accessed virtual volumes
US6895466B2 (en) * 2002-08-29 2005-05-17 International Business Machines Corporation Apparatus and method to assign pseudotime attributes to one or more logical volumes
US20060069888A1 (en) * 2004-09-29 2006-03-30 International Business Machines (Ibm) Corporation Method, system and program for managing asynchronous cache scans
US8762635B1 (en) * 2005-03-31 2014-06-24 Google Inc. Method and apparatus for selecting and storing data on a hard disk drive
US7908236B2 (en) * 2006-07-20 2011-03-15 International Business Machines Corporation Using multiple data structures to manage data in cache
US8055850B2 (en) * 2009-04-06 2011-11-08 International Business Machines Corporation Prioritization of directory scans in cache
US9690715B2 (en) * 2014-09-03 2017-06-27 Nvidia Corporation Selecting hash values based on matrix rank
US10956322B2 (en) * 2016-06-02 2021-03-23 International Business Machines Corporation Storage drive dependent track removal in a cache for storage
CN110879687B (zh) * 2019-10-18 2021-03-16 蚂蚁区块链科技(上海)有限公司 一种基于磁盘存储的数据读取方法、装置及设备
US11340900B2 (en) * 2020-05-01 2022-05-24 EMC IP Holding Company LLC Flushing dirty pages from page buffers indicated by non-sequential page descriptors

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR121860A (ja) * 1973-07-19
US4263650B1 (en) * 1974-10-30 1994-11-29 Motorola Inc Digital data processing system with interface adaptor having programmable monitorable control register therein
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
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4425616A (en) * 1979-11-06 1984-01-10 Frederick Electronic Corporation High-speed time share processor
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
US4414644A (en) * 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4403288A (en) * 1981-09-28 1983-09-06 International Business Machines Corporation Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices
US4530053A (en) * 1983-04-14 1985-07-16 International Business Machines Corporation DMA multimode transfer controls

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07500441A (ja) * 1992-12-22 1995-01-12 ブル・エス・アー バッファ・メモリ管理方法,及び該方法を実施するためのコンピュータシステム

Also Published As

Publication number Publication date
US4636946A (en) 1987-01-13
EP0086886A2 (en) 1983-08-31
DE3279851D1 (en) 1989-09-07
EP0086886B1 (en) 1989-08-02
JPS6143742B2 (ja) 1986-09-29
EP0086886A3 (en) 1986-05-21

Similar Documents

Publication Publication Date Title
JPS6143742B2 (ja)
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US4403288A (en) Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices
JPS5823376A (ja) 記憶システム
US6105075A (en) Scatter gather memory system for a hardware accelerated command interpreter engine
US4430701A (en) Method and apparatus for a hierarchical paging storage system
US4080651A (en) Memory control processor
US5155835A (en) Multilevel, hierarchical, dynamically mapped data storage subsystem
US4533996A (en) Peripheral systems accommodation of guest operating systems
US4951193A (en) Parallel computer with distributed shared memories and distributed task activating circuits
JP2933282B2 (ja) ディスクエミュレーションシステム
JPS5966755A (ja) 記憶システム
JPH0458050B2 (ja)
US5062042A (en) System for managing data which is accessible by file address or disk address via a disk track map
JPS6367686B2 (ja)
US5038275A (en) Status transfer structure within a data processing system with status read indication
JP2006524401A (ja) 再構成可能なデータ経路を備えたディスクアレイコントローラ
JPH0727495B2 (ja) データ転送方法
US4126893A (en) Interrupt request controller for data processing system
JP2912299B2 (ja) ディスクアレイ制御装置
JPH0668736B2 (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
CN117806540A (zh) 储存装置控制器及储存装置控制器的方法
JP4053208B2 (ja) ディスクアレイ制御装置
JPH07200187A (ja) ディスクアレイ装置
JPH0115903B2 (ja)