JPS6143742B2 - - Google Patents

Info

Publication number
JPS6143742B2
JPS6143742B2 JP58010024A JP1002483A JPS6143742B2 JP S6143742 B2 JPS6143742 B2 JP S6143742B2 JP 58010024 A JP58010024 A JP 58010024A JP 1002483 A JP1002483 A JP 1002483A JP S6143742 B2 JPS6143742 B2 JP S6143742B2
Authority
JP
Japan
Prior art keywords
data
cache
register
dasd
command
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
Application number
JP58010024A
Other languages
English (en)
Other versions
JPS58147880A (ja
Inventor
Hawaado Haatangu Maikeru
Erusuwaasu Teiraa Jerarudo
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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)

Description

【発明の詳細な説明】 〔本発明の分野〕 本発明は多重レベルのデータ記憶階層に関し、
更に具体的には、そのような階層において上位レ
ベルから下位レベルへデータを転送することに関
して、そのような階層を制御することに関する。
〔先行技術の説明〕
周辺データ記憶階層は、Edenその他による米
国特許第3569938号によつて示唆されるように、
みかけの記憶装置を与えるため、多年の間使用さ
れてきた。Edenその他の教示によれば、要求時
ページング又はリクエスト・システムにおいて
は、データを高速記憶装置(バツフア)へ貯蔵す
ることによつて、周辺記憶システムは大容量を有
する外観をとることができ、かつデータへの高速
アクセスが可能となる。この高速アクセスは、バ
ツキング・ストアによつて可能となるアクセスよ
りも早い。更に、Edenその他の教示によれば、
バツキング・ストアは磁気テープ・レコーダや磁
気デイスク・レコーダのように保存性のデータ記
憶装置であつてよく、前面ストアは磁気コア・メ
モリの如く排持久性のものであつてよい。メモリ
技術の進歩にともなつて、前面ストアは、現在典
型的には半導体型のメモリ素子から作られてい
る。米国特許第3839704号は、他の形式の記憶階
層を説明している。
記憶階層の重要な局面は、データの完全性を保
証することである。即ち、中央処理ユニツト
(CPU)又はデータ処理装置のようなユーザから
受取られたデータは、正確に、又はエラーが存在
する旨の表示とともに供給ユニツトへ戻されねば
ならない。従つて、記憶階層においては、保存性
記憶装置のためにデータを高レベルから低レベル
へ移動させるとともに、高レベルでデータを制限
して他のデータを高速アクセスに備えて記憶させ
ることが通常の典型的なやりかたである。米国特
許第4020466号は、高レベル・ストアからバツキ
ング・ストアへ変化したデータを複写する技術を
教える。米国特許第4077059号は、所定の条件の
下で複写データを戻す技術(コピーバツク)を教
える。そのようなコピーバツク動作は記憶階層の
効率的時間を消費する。即ち、コピーバツクされ
るデータが多いと、現用ユニツトによるデータの
アクセスは能率が悪くなる。この問題は、米国特
許第3588839号によつて部分的に解消することが
できる。この米国特許は、高レベル記憶ユニツト
から低レベル記憶装置へコピーバツクされるデー
タを、変更されたデータに限る技術を教えてい
る。即ち、バツキング・ストアに記憶されたデー
タと、前面ストアに記憶されたデータとの間に不
一致がある場合にコピーバツクが行なわれる。
記憶階層は種々の形態を有する。例えば、
Edenその他による米国特許第3569938号によれ
ば、1個の高速ストアがいくつかのユーザにサー
ビスを与える。米国特許第3735360号は、各プロ
セツサがそれ自体の高速ストア又はキヤツシユを
有することが可能である技術を教える。更に、記
憶階層の効率は、所定のデータをキヤツシユ又は
高速記憶機構へ貯蔵するために使用されるアルゴ
リズム及び制御機構によつて影響を受ける。米国
特許第3898624号は、バツキング・ストアから前
面ストア(又はキヤツシユ)へデータを取出す時
間変化が、現用CPUで実行されているプログラ
ムに従つて、コンピユータ・オペレータによつて
選択される技術を示す。このように、キヤツシユ
又は階層の上位レベルに存在するデータはCPU
によつて必要とされるデータであり、必要とされ
ない余分のデータはキヤツシユに存在させないよ
うにして、多くの有用なデータが高レベルの記憶
機構に記憶されるようにすることが望まれる。こ
れらの動作は、全く複雑となる。従つて、記憶階
層をどの程度良好に管理するかを評価するため、
記憶階層の評価プログラムが使用されてきた。米
国特許第3964028号及び第4068304号は、これらの
目的を達成するため、記憶階層の効率を監視する
技術を開示している。それでもなお、各種の記憶
階層において、データの完全性を確保しつつ、最
適の効率を達成するため多くの技術的改善がなさ
れねばならない。記憶階層に関する多くの改善
は、現用CPUへ接続されたキヤツシユ及びメイ
ン・メモリの組合せについてなされてきた。メイ
ン・メモリとキヤツシユを組合せる原理は、最初
Edenその他によつて示唆されたように、周辺シ
ステムのデータを貯蔵しかつバツフアリングする
ことと関連して教示されてきた。Edenその他に
よる教示は、ホスト・プロセツサの外部でデータ
を貯蔵するか又はバツフアリングすることに関す
る。勿論、Edenその他の以前においても、CPU
のために磁気テープ及びデイスク・ユニツトから
のデータをバツフアリング又は貯蔵するため、メ
イン・メモリが使用されてきた。即ち、メイン・
メモリは、CPUの作業メモリとして使用される
のみならず、周辺装置のバツフアとしても使用さ
れた。
ある種のデータ記憶システムはユーザ・データ
を記憶し、また他の種のデータ記憶システムはペ
ージング及びスワツピング・データを記憶する。
これらのデータは、ページングないしスワツピン
グ・プログラム・データ・セツトと関連して使用
されることができる。このようにページング・ス
トアの例は、IBM2305固定ヘツド記憶装置であ
る。この装置は、IBM社から出版された
「IBM2835固定ヘツド記憶制御装置及びIBM2305
固定ヘツド記憶装置の参照マニユアル」
(Reference Manual for IBM2835 Storage
Control and IBM2305 Fixed Head Storage
Module)に説明されている。この周辺データ記
憶システムは、記憶されたデータへ迅速にアクセ
スする磁気記憶ドラムを含む。磁気記憶ドラムの
記憶容量は制限されているので、より大きな容量
を必要とするより大型のホストは、IBM2305固定
ヘツド記憶装置が最大の効率を発揮できるほど効
率的に使用することができなかつた。足りない容
量は、デイスク型の直接アクセス記憶装置によつ
て補われた。特に、スワツピング・データ・セツ
トが使用される場合、即ち、ホストと周辺メモリ
との間で大量のシーケンシヤル・データ・セツト
が迅速に転送される場合に、上記のような問題が
生じた。効率を犠牲にすることなく、記憶容量の
制限を除くため、IBM2305固定ヘツド記憶装置に
代えて階層記憶装置を使用することができる。
ランダム・アクセス排持久性前面ストアと
DASDバツキング・ストアとを有するデータ記憶
階層において、前面ストア(キヤツシユ)と
DASDとの間のデータ転送は適当にグループ化さ
れねばならない。その場合、単純にして効率的な
データ転送グループ化機構が、ホストの介入なし
にそのような転送に必要な時間を減少させるため
に望まれる。特に、キヤツシユの記憶スペースが
他のデータを記憶するために必要とされる前に、
キヤツシユからのDASDへデータを移すことが望
まれる。キヤツシユからDASDへ、スペースが必
要とされる前に、変更されたデータを移す技術
は、1981年5月のIBM技術開示報告第23巻12号の
5426頁及び5427頁に記載されている(IBM
Technical Disclosure Bulletin、Volume 23、
No.12、May 1981)。この文献の記事によれば、
LRU(least recently used)−MRU(most
recently used)リストにおいて変更されたデー
タが走査される。それは、前面ストア(キヤツシ
ユ)からバツキング・ストアへ、変更されたデー
タの複写を転送して、置換アルゴリズムが呼出さ
れた時、データがキヤシユからバツキング・スト
アへ転送される必要がないようにするためであ
る。この先行技術は、置換アルゴリズムを有効に
働かせるため、LRU端部からLRU−MRUリスト
を走査して、キヤツシユからDASDデータを転送
する技術を教えている。しかし、それは、データ
のブロツク転送を実行するため、関連したデータ
をバツチしたりグループ化したりする技術を教示
していない。
〔本発明の要約〕
本発明の目的は、データ記憶階層のために、効
率的なデータ・グループ化制御装置を提供するこ
とである。
本発明に従えば、キヤツシユ(通常、非持久性
を有する)置換オーバレイ制御リストが維持され
る。そのようなリストは、LRUに基いているこ
とが望ましいが、他の基準を使用してもよい。所
定時間の間に、バツキング・ストア(保存性を有
する)へ移動されるべきキヤツシユ中の変更され
たデータを発見するため、キヤツシユ置換オーバ
レイ制御リストが走査される。バツキング・スト
アはDASDであつてよい。キヤツシユ置換オーバ
レイ制御リストは、前面ストアにおけるアドレス
可能記憶スロツトの全ての所定の百分率である利
用可能閾値(可用閾値)を有する。キヤツシユ置
換オーバレイ制御リスト上のスロツトであつて可
用閾値より下のスロツトが走査されると、キヤツ
シユからDASDへデータ転送が開始される。その
ような転送を開始する前に、第2のより高い閾値
(グループ化閾値又はバツチ閾値と呼ばれる)の
下にあるキヤツシユの全てのデータ・スロツトが
走査される。それは、キヤツシユ内の所定の限界
に至るまでの全てのデータについて、変更されか
つバツキング・ストアの同じアクセス遅延境界内
に存在するデータを決定するためである。DASD
において、遅延境界は、トラツクの1つのシリン
ダからトラツクの他のシリンダへ切換えられる。
所定の限界は、キヤツシユへの(及びキヤツシユ
からの)データ転送特性によつて決定される。1
度、関連したデータ・ブロツクの全てが決定され
ると、それらデータ・ブロツクは1つの待ち行列
へグループ化される。次いで、データ転送が開始
される。
本発明の第2の局面に従えば、放棄リストが維
持される。放棄されるべきデータ・ブロツクを発
見するため、先ず放棄リストが検査される。デー
タ書込転送を開始する前に、放棄されるべきブロ
ツクの全てが先ず放棄される。このようにして、
キヤツシユのアドレス可能記憶領域は、第1に放
棄されることのできるデータに基いて、第2にバ
ツキング・ストアに記憶されねばならないデータ
に基いて、データ記憶のために割当可能とされる
か、又は自由に(解放)される。
〔実施例の説明〕
ここで図面を参照する。これらの図面におい
て、同一の番号は同一の構成部分を示す。階層周
辺データ記憶システム10は、ホスト・プロセツ
サ(以下、ホストともいう)11のためにデータ
信号を受取り、それを記憶し、又はそれを供給す
るため、ホスト11へ接続される。記憶システム
10の典型的アプリケーシヨンにおいて、ホスト
11は中央処理ユニツト(CPU)を含む。他の
アプリケーシヨンにおいて、ホスト11は1つの
仮想計算機であつても、ハードウエアCPUの上
で走る1組の仮想計算機であつてもよい。更に、
ホスト11は多重プロセツサであつても、付加プ
ロセツサなどを有する単一プロセツサであつても
よい。本発明は非常に多様な記憶システム10に
適用することができるが、望ましい実施態様とし
ては、データ・セツトのページング及びスワツピ
ングを処理するページング周辺データ記憶システ
ムに応用する場合もある。概して、そのようなペ
ージング及びスワツピング・データ・セツトは、
ホスト11のためにプログラム・データ・セツト
を記憶することに関連している。そのような場
合、記憶システム10は、通常、単一のホストへ
付加される。しかし、一般的アプリケーシヨンの
周辺記憶システムは、複数のホストへ付加される
ことができる。本発明は、周辺データ記憶システ
ムのいずれの型式に対しても適用することができ
る。
記憶システム10とホスト11との間の通信
は、複数のI/O接続12−15を介して実行さ
れる。I/O接続12−15は、IBMシステム/
370の入出力週辺チヤンネルに従つて構成され
る。そのようなI/O接続(通常、システム及び
サブチヤンネルと呼ばれる)は周知であるから、
これ以上説明しない。記憶システム10は、複数
のDASD16(D0,D1と表示される)を含む
低位(又はバツキング)記憶装置部分を有する。
記憶システム10に関して、ホスト11によつて
実行されるデータのアクセス及び記憶の全ては、
DASD16をアドレスすることによつてなされ
る。このアドレシングは、チヤンネル指令ワード
(CCW)19及びI/O接続12−15のアーキ
テクチヤーを使用することによつて達成される。
典型的には、チヤンネル指令ワード19は、アド
レス・バイト20を含む。アドレス・バイト20
は、指令を受取るべき制御ユニツト(CU)を指
定する複数のビツトを含む。第2群のビツトは、
アクセスされるべきDASD16を独特に指定す
る。記憶システム10において、DASD16の
各々は複数の論理装置アドレスを有する。例え
ば、装置D0は4つのアドレスの1つによつてア
ドレスされることができる。そのような複数アド
レシングは、IBM2305固定ヘツド記憶装置におい
て、制限された範囲で実行されてきた。各装置に
対する論理アドレスはアドレス・バイト20の他
のビツトによつても表示される。本実施例におい
ては、4つの論理アドレスの1つを指定して
DASD16をアドレスするため、2つの論理装置
アドレス・ビツトがホスト11によつて使用され
るものと仮定する。即ち、アドレス・ビツト00
は、DASD16に対する直接アクセスを指示す
る。この場合、ホスト11は、あたかも記憶シス
テム10が階層システムではないかの如く、
DASD16に関して動作する。アドレス・ビツト
が01、10、11に等しい時、後述するように、
DASD16のみかけの効率がそれらの3つの論理
装置アドレスによつて改善されるように、階層シ
ステムがアクセスされ、DASD16からデータが
取出され、又はそこへデータが与えられる。
CCW19の第2のバイトは指令バイト21で
ある。指令バイト21は、どのような機能が実行
されるべきかを、記憶システム10へ指示するコ
ードを含む。例示された指令SPPは、ページン
グ・パラメータ・セツト(モード・セツト)指令
である。第3のバイトは指令修飾バイト22であ
る。指令修飾バイト22は複数の制御フイールド
を有し、これらの制御フイールドは、記憶システ
ム10に対して、指令バイト21で示された指令
を実行するための各種のモードを表示する。例え
ば、1つのビツトSEQは、記憶システム10に
対して、来たるべき転送動作で転送されるべきデ
ータがシーケンシヤル・データであることを知ら
せる。バイト22のSEQビツトがシーケンシヤ
ル・データであることを示す時、追加の指令修飾
バイト(図示されず)がCCW19に含まれる。
この指令修飾バイトは、DASD16からホスト1
1へ(又は、この逆方向へ)シーケンシヤルなデ
ータ・セツトとして転送されるべきデータ・ブロ
ツク又はデータ・セグメントの数を示す。そのよ
うなシーケンシヤルなデータ・セツトは、ページ
ング環境においてしばしばスワツピング・デー
タ・セツトと呼ばれる。更に、バイト22はRD
ビツトによつて「読出し及び放棄」を指定するこ
とができる。これは、1度ホスト11が階層シス
テムからデータを取出した後は、そのデータはキ
ヤツシユから放棄されることができることを意味
する。DASD16にあるデータは保存される。更
に、他の制御ビツトを使用することができる。
データ記憶階層は、半導体ランダム・アクセス
型のシステム・ストレージ30を含む。システ
ム・ストレージ30はDASD16のためのキヤツ
シユ40を有する。キヤツシング(貯蔵)原理は
周知であるから、DASD16に対するキヤツシユ
40の目的及び意味は詳細に説明しない。制御機
構31はホスト11から周辺指令を受取り、かつ
論理装置アドレスの1つを使用してDASD16へ
アクセスするとともに、他の3つの論理装置アド
レスに基いてキヤツシユ40とアクセスする。デ
ータは、キヤツシユ40とDASD16との間で、
ホスト動作に関して非同期的にかつ自動的に記憶
システム10によつて転送される。その転送は、
ホスト11とDASD16との間のデータ転送と同
じ原理に基いて達成される。例えば、ホスト11
は、直接モードにおいて、チヤネル・アダプタ3
2(個別的にCAA、CAB、CAC、CADと示され
る)、バス70、直接アクセス・コントロール
(DAC)56によつて制御されるデータ回路3
3、装置アダプタ34、及び装置制御アタツチメ
ント(DCA)35を介してDASD16へアクセス
する。受取られたCCW19は制御機構31によ
つて解釈され、ホスト11とDASD16との間の
データ・フローの方向が決定されるとともに、こ
の種の周辺データ記憶装置を制御するための他の
機能が決定される。このような機能は周知であ
る。キヤツシユ40とDASD16との間の関係
は、実質的にホスト11とDASD16との間の関
係に等しい。即ち、ホスト11は一連のCCWに
よつて制御機能を実行するが、制御機構31は複
数の内部制御ワード(ICW)を使用して、キヤ
ツシユ40とDASD16との間のアクセスを実現
する。ICWは、後に説明するように、CCWと同
じような構成を有する。CCW19に関してICW
24を変更することによつて、データ転送動作の
或る程度の効率性が達成される。制御機構31は
キヤツシユ・アクセス・コントロール(CAC)
61を含む。CAC61はシステム・ストレージ
30を動作させ、ICW24を使用しかつ直接ア
クセス・コントロール(DAC)56を介して
DASD16にアクセスする。チヤネル・アダブタ
32に代つて、リンケージ・ポート(LKP)・レ
ジスタ25がCAC61とDAC56との間の転送
を実現する。LKPレジスタ25については、後
に第3図に関して説明する。
ICW24は、CCWの指令バイト21に対応す
る指令バイト26を含む。同じ指令に対するコー
ドは同一であることに注意すべきである。追加の
指令が与えられてもよく、またCCW指令の或る
ものは無くてもよい。指令修飾バイト27は連鎖
制御ビツトCを含む。このビツトは、通常、チヤ
ネル・アダプタ32を介してホスト11から制御
機構31へ与えられる連鎖表示と置換される。ホ
スト11によつて与えられる連鎖表示は、抑制ア
ウト・タグ信号である。ICW24のアドレス・
バイト23は、DASD16のアドレスの記憶され
たロケーシヨンを指定する。ICWでは、論理ア
ドレスは使用されない。事実として、制御機構3
1は、記憶階層へ与えられた論理アドレスの全て
を、実際の装置アドレス・ビツトへ変換する。ア
ドレス・バイト28は、装置アドレスの記憶され
たロケーシヨンを指定するのみならず、シリン
ダ・アドレス(C)、ヘツド・アドレス(トラツク・
アドレス)(H)、レコード・アドレス(R)を指
定する。ブロツク・アドレスの中にあるデータ・
レコードは、大部分のデイスク記憶装置をアドレ
スする時に使用されるセクタ・アドレスに対応す
る。実施例において、1本のトラツク(Hアドレ
ス)の上に4つのレコードが与えられる。従つ
て、レコード・アドレスは1、2、3、4であ
り、これらは基準の回転地点に関してデイスクの
0゜、90゜、180゜、270゜の方向に対応する。設
計パラメータによつて、直交する方向とは異つた
実際の回転方向を指示するようにしてもよい。受
取られたレコード・アドレスは、全て4つの回転
レコード・アドレスの1つへ変換される。
キヤツシユ40は、チヤネル・アダプタ32及
びバス41を介してホスト11との間でデータ信
号を転送する。同様に、データ信号は、DASD1
6とキヤツシユ40との間で、データ回路33及
びバス42を介して転送される。キヤツシユ40
とホスト11又はDASD16との間で同時的転送
が望まれないならば、バス41及び42が1本の
バスへ結合され、このバスがデータ転送によつて
時分割される。数メガバイトを含む比較的大きな
メモリであるようなキヤツシユ40にアクセスす
る場合、キヤツシユ・アクセス・コントロール6
1が、バス64を介してハツシユ回路44へ、装
置アドレス、シリンダ・アドレス及びレコード・
アドレスCHRを送る必要がある。マイクロコー
ドによつて機能が実行されてよいハツシユ回路4
4は、DASDアドレスをハツシユ・クラス・イン
デイケータへ変換する。キヤツシユ40の記憶容
量はDASD16よりはるかに小さいから、アクセ
スを容易にするため、DASD16のアドレス範囲
は、ハツシユ・クラスと呼ばれるクラスへ集中さ
せられる。分散指標テーブル(SIT)45は、ハ
ツシユ回路44によつて限定されるクラスの各々
について1つのレジスタを有する。分散指標テー
ブル45にあるレジスタの内容は、登録簿
(DIR)43に対するアドレス・ポインタであ
る。登録簿43は、DASD16をアクセスするた
めに使用されるアドレスDCHRを含む。データが
キヤツシユ40に記憶される時、DASD16へ
DCHRアドレスとキヤツシユ40のアドレスと
が、登録簿43のエントリイ・レジスタに記憶さ
れる。複数の装置アドレスが1つのハツシユ・ク
ラスに対応するから、ハツシユ法を用いてキヤツ
シユ40を走査するには、所与のハツシユ・クラ
ス内のエントリイ・レジスタを走査すればよいよ
うに、単一的にリンクされたハツシユ・クラス・
リストが登録簿43のエントリイ・レジスタ中に
設けられる。登録簿43の内容に基き、キヤツシ
ユ40は既知の手法を用いてアクセスされる。も
し関連したエントリイが登録簿43の中に発見さ
れなければ、キヤツシユ・ミスが生じる。これ
は、キヤツシユ・アクセス・コントロール61に
よつて、ホスト11からデータを受取るためキヤ
ツシユ40の中でスペースを割当てるか、ICW
24及びリンケージ・ポート・レジスタ25を用
いてDASD16からデータを転送することを必要
とする。
更に、制御機構31は、ホストへ接続される制
御ユニツトの通常の制御部分を含む。例えば、
「アドレス及び指令」評価器(ACE)50は、ホ
スト11から指令信号を受取りかつ状況信号をホ
スト11へ与えるため、バス51,52,53,
54を介してチヤネル・アダプタ32と通信す
る。「アドレス及び指令」評価器50はCCW19
を評価し、かつ命令された機能を実行するよう記
憶システム10へ命令を与えるとともに、連鎖条
件を表示し、また記憶システムの他の部分から状
況信号を受取つてそれをホスト11へ送る。直接
モードでは、「アドレス及び指令」評価器50
は、バス55を介して指令信号を直接アクセス・
コントロール56へ与える。従つて、データ信号
は、既知のDASD周辺記憶装置手法を使用するこ
とにより、データ回路33と適当なチヤネル・ア
ダプタ32との間で、バス70を介して転送され
ることができる。直接アクセス・コントロール
(DAC)56がその機能を実行する時、DAC56
は通常の方式に従つてデータ回路33を制御す
る。
データ記憶装置の動作は階層的に実行される。
即ち、シーケンシヤル・データ・セツトは、最小
サイズのキヤツシユ及び最小の割当制御動作を使
用してキヤツシユ40の中に置かれる。また、デ
ータの順次性は効率的な方法で維持され、かつホ
スト11の動作要件を満足させるため、十分な数
のデータ・ブロツクがキヤツシユ40の中に維持
される。「アドレス及び指令」評価器(ACE)5
0が、アドレス・バイト20の中にある論理装置
アドレスを受取つた時、記憶階層へのアクセスを
指示するため、ACE50は、論理アドレスに従
つて、3つのバス60の1つを介して、受取つた
指令信号をキヤツシユ・アクセス・コントロール
(CAC)61へ与える。3つのバスは、キヤツシ
ユ40のそれぞれのアクセスを指示する論理バス
である。CAC61は、受取つた指令及び修飾デ
ータを論理装置制御ブロツク(LDCB)レジスタ
62に記憶する。装置の各々について3つの論理
装置アドレスがあることを想起されたい。従つ
て、もし8個のDASD16があれば、24個の
LDCBレジスタ62がある。
各論理装置の識別情報及び動作状況は、論理装
置制御ブロツク・レジスタ62の1つに保存され
る。論理装置へのアクセス(これは、キヤツシユ
40の中のレジスタを装置アドレスへ割当てるこ
とによつて表わされる)は、ハツシユ回路44へ
至るアドレス・バス64を介して行なわれる。シ
ーケンシヤル・データ及びDASD16に対するシ
ーケンシヤル・アドレス(CHR部分)が処理さ
れる或る場合には、分散指標テーブル45にある
連続したレジスタをアクセスすることができる。
従つて、キヤツシユ・アクセス・コントロール6
1は、ハツシユ回路44における遅延を避けるた
め、バス65を介して分散指標テーブル45にア
クセスする。この動作は、シーケンシヤル・デー
タが処理されている時、ホスト11に対する記憶
システム10の応答を早める。
キヤツシユ・アクセス・コントロール61が、
読出リクエストについて、登録簿43のハツシ
ユ・クラスを探索した結果、ミス表示信号を受取
ると、DASD16からキヤツシユ40へのデータ
転送リクエストが、バス66及びリンケージ・ポ
ート・レジスタ25を介して直接アクセス・コン
トロール(DAC)56へ与えられる。バス66
上の信号は、そのリクエストに対してDAC56
の注意を向けさせ、かつICWがリンケージ・ポ
ート・レジスタ25を介してアドレス可能である
ことを教える。後に明らかになるように、実施例
において、リンケージ・ポート・レジスタ25は
マイクロコード・リンケージ・ポート・レジスタ
である。直接アクセス・コントロール56は、そ
れがCCW19に対して応答するように、ICW2
4へ応答する。リンケージ・ポート・レジスタ2
5を介してリクエストされたデータ転送(DASD
16からキヤツシユ40へ)が完了すると、直接
アクセス・コントロール56はバス67を介して
キヤツシユ・アクセス・コントロール61へ状況
信号を与える。その時点で、キヤツシユ40はホ
スト11で利用可能なデータを有する。書込ミス
が起ると、通常、キヤツシユ40のスペースが割
当てられ、次いでホストからデータが受取られ
る。
更に、キヤツシユ・アクセス・コントロール6
1と直接アクセス・コントロール56との間の通
信は、バス68を介して行なわれる。このような
通信は、メツセージ・データをリンケーン・ポー
ト・レジスタ25に記憶することを含む。DASD
16は複数の論理装置アドレスを介してアクセス
されるので、1群の待ち行列レジスタ(Q)69
は、キヤツシユ・アクセス・コントロール61に
よつてリクエストされた、装置に関連した動作を
待ち行列として含む。このようにして、直接アク
セス・コントロール56は、論理装置アドレスに
よるリクエストに関与せず、ホスト11又はキヤ
ツシユ・アクセス・コントロール61のために、
直接アクセスDASDモードで動作することができ
る。このようにして、直接アクセス・コントロー
ル56は階層システムと関連して使用されるのみ
ならず、階層構成をとらない周辺記憶システムの
中で使用されることができる。
更に、キヤツシユ・アクセス・コントロール
(CAC)61は、他の制御機構を含む。例えば、
ADEBレジスタ76は、CAC61が現在一緒に
動作している登録簿43の1つのエントリイを含
む。キヤツシユ40のヒツトを生じたDASD16
のアドレス、又はキヤツシユ40の1部はホスト
11によつて与えられるデータへ割当てられる。
レジスタ76にエントリイを置くことによつて、
キヤツシユ・アクセス・コントロール61の動作
が改善される。即ち、登禄簿43はシステム・ス
トレージ30の1部であり、レジスタ76にアク
チブなエントリイを入れることによつて、システ
ム・ストレージ30は解放され、制御機構31か
ら独立して、バス41及び42を介して、データ
を転送することができる。装置バツフア(DEV
BUF)レジスタ77は、DASD16に関連した制
御情報を含み、直接アクセス・コントロール56
を介してアクセスを設定する場合に、キヤツシ
ユ・アクセス・コントロール61によつて使用さ
れる。このようなレジスタは、マイクロコード実
施例中の書込可能制御ストア中に設けられる。レ
ジスタ77は単に制御ストア中の割当てられた部
分であり、データ構造は指定されない。バツフ
ア・シーケンス・テーブル(BST)78につい
ては、第3図を参照して後に説明する。BST7
8は、バス42を介してデータ・ブロツクのシー
ケンスとして転送される各データ・ブロツクのた
めに、登録簿43に対するポインタを含む。ま
た、BST78は、シーケンシヤル転送の間に、
どの登録簿指標がキヤツシユ40のアクセスに使
用されるべきかを決定する走査制御機構を含む。
このようにして、シーケンシヤル転送はアドレス
の設定を必要とせず、後に明らかになるように、
DASD16からのブロツクが中断を生じることな
く迅速に転送される。チヤネル制御ブロツク
(CCB)レジスタ63は、チヤネル・アダプタ3
2を介して現在実行されつつあるデータ転送につ
いての制御情報を含む。自由ブロツク・リスト
(FBL)・レジスタ79は、キヤツシユ40のア
ドレス可能記憶領域(ブロツク・スロツトなど)
のいずれが、ホスト11又はDASD16から来る
データ信号を受取りかつ記憶するために、現在割
当て可能であるかを決定する。本発明の1つの目
的は、FBLレジスタ79が所与の最大数のエン
トリイを含むようにすることがである。
登録簿43はキヤツシユ置換LRUリスト46
を含む。リスト46は、置換制御に備えて、キヤ
ツシユ40のアドレス可能領域のリストを配列す
る基準として、LRU法を使用する。リスト46
の詳細は第4図に示される。説明の順序として、
本発明を容易に理解させるため、リスト46は第
1図の下方にも示される。リスト46は第1の部
分47及び第2の部分48を有する。第1の部分
47は、アドレス可能領域に含まれるデータが変
更されたかどうかを示す(ビツト1は変更、ビツ
ト0は変更なし。Mビツト。)。アドレス可能領域
は、ホスト11によつてチヤネル・アダプタ32
を介して最も最近時に使用された(MRU)順序
に従つてリストされている。キヤツシユ40のア
ドレス可能記憶領域の中で、最も最後に参照され
た領域が、最も最近時に使用されたアドレス可能
記憶領域である。そのような記憶領域は、LRU
リスト46の中でMRU−0としてリストされ
る。第1図に示されるように、例えばキヤツシ
ユ・アドレスによつて指定されたMRU−0は変
更されている。即ち、最後の参照動作は書込みで
あつた。同様に、次の「最も最近時に使用され
た」アドレス可能記憶領域はMRU−1である。
第1図では、MRU−1も変更されている。従つ
て、キヤツシユ40の中のデータは、対応する
DASD16に記憶されたデータとは異つている。
しかし、第3の「最も最近時に使用された」アド
レス可能記憶領域は、対応するDASD16に記憶
されたデータと同じデータをキヤツシユ40に記
憶されている。使用時点が新しくない記憶領域
は、最も使用時点が新しくない記憶領域LRU+
0に至るまで、順序に配列される。従つて、次の
「最も使用時点が新しくない」記憶領域はLRU+
1である。以下同様である。大型のキヤツシユ4
0では、例えば何千という多数のエントリイが
LRUリスト46に存在することは注意された
い。
LRUリスト46の中で、LRU+0とLRU+N
との間にある、キヤツシユ40のアドレス可能記
憶領域の全ては、可用閾値49の下にある。
LRUリスト46が走査され、かつアドレス可能
記憶領域が変更されたデータを有することを、エ
ントリイが表示する時、それぞれの変更されたア
ドレス可能記憶領域のために、キヤツシユ40に
記憶されたデータがDASD16へ転送され始め
る。第2の閾値は上位閾値(又はグループ化閾
値)57である。この閾値は、データをDASD1
6へ単一のデータ・ストリームとして転送するた
め、キヤツシユ40のアドレス可能記憶領域から
データをグループ化するために使用される。前述
したように、このグループ化は、所与のDASD1
6における1つのシリンダ(多くのトラツクを含
む)に限定される。シリンダ上のトラツクは、全
て同じ半径位置にある。即ち、これらのトラツク
は、1群の変換器を半径方向に移動させることな
く、電気的切換えによつてアクセスされることが
できる。従つて、データ転送がLRU+0と可用
閾値49との間の走査によつて開始される時、
DASD16へ書込まれるデータ・ブロツクのグル
ープをアセンブルするため、走査はグループ化閾
値57まで続けられる。例えば、LRU+1はキ
ヤツシユ40で最も使用時点の古い、変更された
データ・ブロツクであるとする。これは、複数の
ブロツクをDASD16へ転送させる。例えば、
LRU+NはLRU+1と同じシリンダにあるとす
る。従つて、LRU+Nは書込みのためにLRU+
1とグループ化される。可用閾値49の上にある
MRU−Mは異なつたシリンダにあるとする。従
つて、それはグループの外に置かれる。キヤツシ
ユ40にある他のデータ・ブロツク、例えばグル
ープ化閾値57の下にあるMRU−(K+1)は変
更されており、かつLRU+1と同じシリンダに
あるものとする。グループ化閾値57の上方にあ
るデータは、全てDASD16へ書込まれない。何
故ならば、使用時点が新しいため、近い将来、デ
ータが再びホスト11によつて参照される可能性
が強いからである。そのようなデータの参照は、
書込み参照であるかも知れない。従つて、グルー
プ化閾値57の上にあるデータをキヤツシユ40
から移動させることは、不要なデータ転送とな
る。これは効率を低下させる。
可用閾値49及びグループ化閾値57は、記憶
システム10がホスト11と共に現在動作してい
る特定の動作特性に基いて選択される。これは、
閾値49及び57が或る時間の間で変化してもよ
いことを意味する。大切な事は、先ず可用閾値4
9まで走査が実行されると、データ転送が開始さ
れることである。次に走査がグループ化閾値57
まで続けられると、DASD16へグループ・デー
タ転送を開始するため、データ・ブロツクのグル
ープ化が行なわれる。このグループ化は、DASD
16が選択されねばならない回数を減少させ、従
つてデータ転送の効率を高める。
第2図は、第1図に示した記憶システムの変更
例である。この変更例は制御機構31の中にプロ
グラム化されたマイクロプロセツサ31Pを含
む。バス70は、チヤネル・アダプタ32からデ
ータ回路33へ接続され、第1図の場合と同じよ
うに動作する。バス41及び42は、それぞれチ
ヤネル・アダプタ32及びデータ回路33からシ
ステム・ストレージ30へ接続される。バス41
及び42は1つのバスへ結合されてよく、その場
合、データ転送は1本のバスを時分割して使用す
る。マイクロプロセツサ31Pは、データ回路3
3とシステム・ストレージ30との間でデータ転
送を制御するに当つて、バス71を介してデータ
回路33へ制御信号を与え、バス72を介してシ
ステム・ストレージ30へアドレス信号及びシー
ケンス制御信号を与える。複数のシステム・スト
レージ・アドレス・レジスタ(SSAR)58は、
システム・ストレージ30へアドレスを与える。
例えば、8個又は16個のSSAR58が設けられて
よい。マイクロプロセツサ31Pがシステム・ス
トレージ30へアクセスする時、それはシステ
ム・ストレージ30のアドレスをSSAR58へ与
えるだけでなく、システム・ストレージへアクセ
スする場合にどのSSARを使用すべきかを指示す
る。1つのメモリに対して多重のアドレス・レジ
スタを使用することは既知であり、従つてこれ以
上説明しない。SSAR58はシーケンシヤル・デ
ータ・ブロツクの各バーストのために設けられ、
マイクロプロセツサ31Pのキヤツシユ40のア
ドレスをSSAR58へロードすることによつて、
システム・ストレージ30を起動する。従つて、
アドレスは、連続したシーケンシヤル・ブロツク
の中間で、SSAR58へロードされる必要はな
い。シーケンシヤル転送の間、マイクロプロセツ
サ31Pは、キヤツシユ40とDASD16との間
でデータ信号の転送を開始するため、単にSSAR
を参照するだけでよい。ここで注意すべきは、キ
ヤツシユ40がシステム・ストレージ30の中で
所定のアドレス・スペースを有することである。
登録簿43は、異つた範囲のアドレスを有する。
SSAR58は、システム・ストレージ30のメモ
リ・アレイの外に設けられた別個の電子レジスタ
である。マイクロプロセツサ31Pは、バス51
−54を介してチヤネル・アダプタ32と通信す
る。
マイクロプロセツサ31Pの動作は、制御スト
ア73に記憶されたマイクロコード・プログラム
に従う。制御ストア73は書込可能であることが
望ましいが、1部が書込可能であつて、プログラ
ムを含む他の部分は読出専用であつてよい。バス
74は、マイクロプロセツサ31Pを制御ストア
73へ接続する。制御ストア73の中には、「ア
ドレス及び指令」評価器50の機能を実行する
ACEプログラム50P、直接アクセス・コント
ロール56の機能を実行するDACプログラム5
6P、キヤツシユ・アクセス・コントロール61
の機能を実行するCACプログラム61P、記憶
システム10の動作に必要な他のプログラムであ
るOPプログラム75がある。しかし、OPプログ
ラム75は、本発明を理解するために必要ではな
い。プログラム50P,56P,61Pによつて
記憶システム10を制御するため、マイクロプロ
セツサ31Pによつて使用されるデータを記憶す
るレジスタとしては、CCBレジスタ63、LDCB
レジスタ62、待ち行列レジスタ69、ADEBレ
ジスタ76、SITレジスタ45、バツフア・レジ
スタ77、LKPレジスタ25、及びBSTレジス
タ78がある。更に後述するように、FBLレジ
スタ79、Jカウンタ37、放棄リスト(DL)
38が使用される。キヤツシユ40が非常に大き
い場合、SITレジスタ45をシステム・ストレー
ジ30に記憶することができる。効率を向上させ
るためには、SITレジスタ45にあるページを貯
蔵するため、1組のレジスタを制御ストア73に
予約しておくことができる。
第2図に示された記憶システム10の動作は、
第3図から第12図までを参照すれば、最も良く
理解することができる。第3図から第12図まで
は、データ構造を詳細に示すとともに、本発明の
理解に必要なマイクロコードについてのマシン動
作流れ図を示す。第3図は、記憶システム10を
動作させるため、マイクロプロセツサ31Pによ
つて使用されるデータ構造を示す。LDCBレジス
タ62は制御ストア73の中でデータ信号を含む
一連のレジスタであり、4つの部分より構成され
る。最初の部分80は、基礎データ構造
(FOUND)部分である。部分80は、記憶シス
テム10の機能を一般的に限定するとともにサポ
ートする。PPARMS部分81は、後に説明する
セツト・ページ・パラメータ指令によつて設定さ
れたページング及びスワツピング機能を限定する
パラメータに関連している。CPARMS部分82
は、ホスト11によつて出されたセツト・セク
タ・シーク・サーチID指令のような指令パラメ
ータを含む。これらの指令は既知のデイスク記憶
装置周辺記憶システムと組合せて使用される。
RPARMS部分83は、読出活動(即ち、DASD
16からキヤツシユ40へデータ信号を転送する
こと)をサポートするパラメータを含む。
部分80はODEフイールド90を含む。フイ
ールド90は、装置終了(DE)信号が記憶シス
テム10からホスト11へ送られるべきか否かを
示す。CNL MASKフイールド91は、チヤネ
ル・アダプタ32のいずれが現在の指令を受取つ
たか、即ち、論理装置がどのチヤネルと提携関係
を有するかを示すビツト・パターンを含む。
LDADDRフイールド92は、指令とともに受取
られた論理アドレスを指示するコードを含む。
CMDフイールド93は、第1図のバイイ21か
ら取られたコードを含む。SEQフイールド94
は、第1図のバイト22から取られた内容を含
む。CCRフイールド95は、記憶システム10
によつてチヤネル指令再試行(CCR)信号がホ
スト11へ送られたかどうかを示す。キヤツシ
ユ・ミスがMISSフイールド96で表示される
と、チヤネル指令再試行信号がホスト11へ送ら
れる。従つて、フイールド96は、キヤツシユ4
0についてミスがいつ生じたか、記憶システム1
0が適当なCCR信号を与えたかどうかを示す。
CCR信号は、単にホスト11に対して、受取ら
れた周辺指令を実行する場合に遅延が必要である
かどうかを示す。記憶システム10が指令を実行
できる状態に達すると、それはホスト11へ装置
終了信号を送る。次に、ホストは前の周辺指令を
再び送り、その指令が記憶システム10によつて
実行されることになる。
PPARMS部分81は、バイト22にあるシー
ケンシヤル・ビツトに対応するSEQフイールド
100を含み、かつバイト22のRD部分から取
られたRDフイールド101を含む。B
COUNTフイールド102は、シーケンシヤル・
データとして転送されるべきブロツクの数を含
む。シーケンシヤル・データの各ブロツクがホス
ト11へ転送される度に、B COUNTフイール
ド102は1だけ減少される。従つて、それはキ
ヤツシユ40を介してホスト11へ転送されるべ
きブロツクの数を示す。BASE CYLフイールド
103は、シーケンシヤル・データがDASD16
から転送される場合のシリンダ・アドレスCを含
む。即ち、多重シリンダ・リクエストにおいて、
BASE CYLフイールド103は、仮想計算機
(VM)ミニデイスクの値Cを含む。
CPARMS部分82は、SEEK ADDRフイール
ド104にDASDシーク・アドレスを含み、SID
フイールド105に最後又は現在のサーチID引
数を含み、SECTORフイールド106に最後又
は現在のセツト・セクタ値を含む。
RPARMS部分83は、DASD16からキヤツ
シユ40へのデータ転送が必要であることを示す
REQDフイールド110を含む。RIPフイールド
111は、DASD16からキヤツシユ40への読
出しが進行中であることを示す。RAフイールド
112は、DASD16からの読出しが完了したこ
と、またある後処理機能が実行されていることを
示す。DADDRフイールド113は、アドレスさ
れている実際のDASD16を示すため、バイト2
0(第1図)からの装置アドレスを含んでいる。
DIR INDEXフイールド114は、登録簿43の
指標値を含む。この指標値は、どの登録簿エント
リイが、特定のLDCBレジスタ62で指定された
論理装置に対応するエントリイを含むかを表示す
る。SSARフイールド115は、DASD16とキ
ヤツシユ40との間のデータ転送において、どの
SSAR58がキヤツシユ40をアクセスするとき
に使用されるかを示す。SAVEフイールド117
は、各種の動作(割込動作を含む)の間、制御デ
ータ信号を保存するため、マイクロプロセツサ3
1Pが使用するLDCBレジスタ62の領域を示
す。
ADEBレジスタ76の構成は、登録簿43の各
エントリイの構成と同じである。従つて、ADEB
レジスタ76の説明は、登録簿43についてもあ
てはまる。登録簿43及びADEBレジスタ76の
各エントリイにおいて、INDEXフイールド10
7は登録簿エントリイの論理アドレスである。こ
のフイールドは、各エントリイのために自己識別
データを含む。フイールド108は、キヤツシユ
中に記憶されたデータ、又は記憶のために割当て
られたデータに対応するDASD16のアドレスを
含む。CCPは物理シリンダ・アドレス、即ち
DASD16のためのシリンダの実際の物理アドレ
スである。Hはヘツド・アドレスであり、Rはレ
コード・アドレスであり、Dは装置アドレスであ
り、SECTORは実際のセクタ値である。このセ
クタ値は、データ・アクセスが開始されるデイス
クの回転位置を示す。4つのレコードを有するト
ラツクに対するR値は、1から4まで変化するこ
とができ、セクタ値は実際のセクタ・アドレスを
示す。DASDをアドレスする場合、R値は、通常
のDASDアドレシング手法におけるように、バイ
ト・レベルの回転位置指示情報へ変換される。R
値は、ある種のホスト・オペレーテイング・シス
テムにおいて1から120またはそれ以上の数をと
ることができる。120を超える場合、R値は1つ
のトラツクにあるレコード数Nのモジユロ値へ減
少させられる。次いで、モジユロNのR値は、デ
イスクの回転アドレスへ変換される。そのような
セクタ値は、待ち時間の遅延を最小にして、レコ
ードへのアクセスを開始させるのに適している。
CLLは、物理装置上で限定される論理装置のた
めに与えられるような、論理シリンダ・アドレス
である。LINKフイールド109は、1つのハツ
シユ・クラスの全てのエントリイを一緒に結合す
るため、単一的にリンクされたリストのデータ信
号コードを含む。所与のハツシユ・クラスの最後
のエントリイは、特定のコード・パターン(ゼ
ロ)を有する。このコード・パターンは、連鎖の
終り、又はクラスの終りを示す。Mフイールド
(Mビツト)124は、キヤツシユ40にあるデ
ータが、DASD16から受取られた後、変更され
たかどうかを示す。Mフイールド124は第1図
の部分47に対応する。MRUPフイールド125
は、キヤツシユ40の次の「使用時点がより新し
い」アドレス可能記憶領域を指すポインタであ
り、MRUP126は、キヤツシユ40の次の「使
用時点がより新しくない」アドレス可能記憶領域
を指すポインタである。これらのポインタは、そ
れぞれのエントリイに対するフイールド107の
指標値である。MRUPフイールド及びLRUPフイ
ールドは、後に第4図を参照して説明する二重リ
ンクのリストと共に使用される。それぞれの登録
簿エントリイに対しては、他のコードを付け加え
てよいが、これらのコードは、本発明の理解に必
要ではない。
LKPレジスタ25は、制御ストア73にある
プログラム50P,56P,61Pによつてアク
セス可能な領域である。この領域は、これらマイ
クロコード・プログラムの実行の相互作用を制御
するため、リンケージ・ポート又はメツセージ領
域を形成する。1つの実施態様では、プログラム
50P及び56Pは1つのコード・セグメントと
して処理され、LKPフイールド25は、これら
2つのマイクロコード部分によつて1つのユニツ
トとしてアクセスされる。コード・ポイント
(CP)フイールド85は、制御データをポートに
置いたマイクロコード部分を指定する。プログラ
ム61PがエントリイをLKPレジスタ25に置
くと、プログラム56Pはその制御データを取出
し、その機能を実行する。プログラム56Pが、
プログラム61Pからのリクエストに応答して、
新しいデータをLKPレジスタ25に置くと、CP
フイールド85は、連続した処理のために、プロ
グラム56Pが応答したコード実行中の地点がど
こであるかを、プログラム61Pに教える。
PRIORITYフイールド86は、LKPフイールド
25に置かれたリクエストが高優先順位である
か、低優先順位であるか、または連続処理を示す
ものであるかを表示するコードを含む。Vフイー
ルド(Vビツト)87は、LKPレジスタ25の
エントリイが有効であるかどうか(即ち、それが
アクシヨンを必要とする最近のエントリイである
かどうか)を示す。DADDRフイールド88は、
DASD16のどれがLKPレジスタ25の現在の制
御データ信号に関連しているかを表示するため、
バイト20から取られた装置アドレスを含む。
PARMSフイールド89は、メツセージ(即ち、
どの機能が実行されるべきであるか、状況など)
と関連した各種のパラメータを含む。
BSTレジスタ78は、DASD16の各々に対す
る1組のレジスタを有する。最初のレジスタは
DELEPフイールド120を含む。フイールド1
20は、登録簿指標フイールド122−123を
指定する指標値1−8を含む。これらの指標値
は、削除されるべき登録簿エントリイを指定す
る。EKフイールド121は、テーブル中にある
有効なエントリイの数を含む。更に、それはアド
レスとして使用される。例えば、最初の登録簿ポ
インタ指標は、常にフイールド122に記憶さ
れ、第8番目の指標は、常にフイールド123に
記憶される。EKフイールド121に3の値があ
ると、第3番目の登録簿指標がアクセスされる。
登録簿指標は登禄簿43のエントリイの論理アド
レスであり、従つて登録簿43への迅速なアクセ
スが可能となる。
システム・ストレージ30とDASD16との間
の動作は非同期的であり、かつホスト11と
DASD16との間の動作、及びホスト11とシス
テム・ストレージ30との間の動作から実質的に
独立している。そのため、読出待ち行列128及
び書込待ち行列127が待ち行列レジスタ69に
設定される。書込待ち行列127は、装置D0,
D1,D2,D3,D4の各々のために別個の待
ち行列を有する。書込待ち行列は、書込動作を表
示するエントリイについて、INDEXフイールド
107に記憶された指標を含む。更に、書込待ち
行列は、DASD16へアクセスするために必要な
アドレスを記憶している。これらのアドレスはシ
ーク引数、サーチ引数、セクタを含んでいる。更
に、書込待ち行列は、キヤツシユ・ブロツク・ア
ドレスやシステム・ストレージ・アドレス・レジ
スタ58のようなキヤツシユ40をアクセスする
のに必要なアドレス部分、及び装置マスクを含
む。各装置について、書込待ち行列127にある
次のエントリイを指定し、または次の装置書込動
作(即ち、キヤツシユ40中のどのレコードが次
にDASD16へ書込まれるべきか)を指定するた
め、リンク・フイールドを設けることができる。
従つて、書込待ち行列127は、DASD16の
各々へ書込まれるべきデータ・ブロツクにアクセ
スするため、キヤツシユ40のアドレス可能記憶
領域に対する1つ又は複数の参照項目を含むこと
ができる。各書込待ち行列はフラグ・カウンタ1
27Fを含む。フラグ・カウンタ127Fがゼロ
でない時、それはフラグ・カウンタ127Fにあ
る計数値に等しいエントリイが書込待ち行列12
7にあることを示し、フラグ・カウンタ127F
がゼロである時、それは関連した書込待ち行列1
27が空であることを示す。書込待ち行列カウン
タ(WQK)127Kは8ビツトのシフト・レジ
スタであつて、書込待ち行列127のいずれが次
にエントリイを走査されるべきかを指定するた
め、上記シフト・レジスタの1ビツトがセツトさ
れる。各走査はWQK127Kを1ビツトだけシ
フトし、それによつて次の書込待ち行列127が
指定される。
更に、待ち行列レジスタ69は読出待ち行列1
28を含む。読出待ち行列128の各々はポイン
タ129を有する。ポインタ129はラウンド・
ロビン待ち行列である。読出待ち行列128は、
どの論理装置がDASD16からキヤツシユ40へ
のデータ転送を必要とするかを指定するLDCBレ
ジスタ62のアドレスを含む。ポインタ129
は、どの論理装置が次にサービスされるべきかを
示すため、各読出待ち行列の中にある3個の可能
なエントリイの1つを指定する。ゼロのポインタ
129は、空の待ち行列を表示する。例えば、装
置D0のポインタ129は2を含むが、これは
LDCBレジスタ2が次にサービスされるべきこと
を示す。LDCBレジスタ2の次にLDCBレジスタ
3がサービスされる。その次にLDCBレジスタ1
がサービスされる。D0は、それに関連した全て
の論理装置について、満杯の読取待ち行列を有す
る。装置D1の読出待ち行列は2つのエントリイ
を有する。それらは、LDCB1及びLDCB3であ
る。ポインタ129の数は3であるから、これは
LDCBレジスタ3が次にサービスされるべきこと
を示している。読出待ち行列128にアクセスす
ることによつて、マイクロプロセツサ31Pは、
データがホスト11によつてリクエストされた順
序に関して、適当なシーケンスでDASD16から
キヤツシユ40へデータを転送するため、正しい
LDCBレジスタ62へアクセスすることができ
る。本発明を実施するに当つて、他の優先順位決
定方式を使用することができる。第3図に示され
たレジスタの外に、記憶システム10を構成する
ため他のレジスタを使用することができる。この
ようなレジスタは、本発明を理解するためには必
要でないので、説明を省略する。
LRUリスト46は、第1図に示されるような
後入れ先出し単一リンク型スタツクではなく、第
4図に示されるような二重リンク型リストである
ことが望ましい。第4図のリストは、登録簿43
の指標に従つて構成される。この指標は、欄11
6に示されるようにキヤツシユ・アドレス
CADDRに対応する。1の値を有するCADDR
は、キヤツシユ40の最低メモリ・アドレスに対
応し、2の値を有するCADDRは、第2のアドレ
ス可能データ記憶領域のための、キヤツシユ40
のメモリ・アドレスを示す。以下同様である。欄
125は、キヤツシユ40の中で使用時点がより
新しいアドレス可能データ記憶領域であるような
エントリイを、LRUリスト46の中で指定す
る。第4図の例では、M+2のCADDRや、欄1
25のゼロによつて示されるように、キヤツシユ
のMRUアドレス可能データ記憶領域である。同
様に、欄126は、次の「使用時点が新しくな
い」アドレス可能データ記憶領域を指定する。使
用時点が最も新しくないものは、欄126にゼロ
があることによつて知られるように、K+2であ
る。注意すべきは、マイクロプロセツサ31Pの
中にある作業レジスタ(図示せず)がMRU及び
LRUのアドレス可能記憶領域のアドレスを含ん
でおり、LRUリスト46は、LRU端部又はMRU
端部(第1図参照)のいずれからも走査できるこ
とである。MRU及びLRUのポインタ値は、通常
の二重リンク型リスト・パターンで設定される。
例えば、CADDRがK+2のMRUPは1の値に等
しい。1の値を有するCADDRを探すと、LRUP
はK+2の値を有し、MRUPはMの値を有する。
これは、次の「使用時点がより新しい」エレメン
トである。CADDRがMであるエレメントを探す
と、LRUP値は1を有し、MRUP値は2つのハイ
フンを有する。2つのハイフンは、リストの中に
追加のエントリイがあることを示す(説明を簡略
にするため、これ以上説明しない)。同様に、
CADDRが2である場合、LRUP値は2つのハイ
フンであり、これはエントリイが省略されている
ことを示す。可用閾値49及びグループ化閾値5
7は、LRUリスト46の中でどこにあつてもよ
い。そのような閾値を走査する場合、走査された
エレメントの数がカウントされ、閾値に達したか
どうかを決定するため、ある数値と比較される。
これについては、第10図を参照して詳細に説明
する。
第5図は、読出データ転送及び書込データ転送
におけるCCW及びICWのシーケンスを示す。読
出転送は、DASD16からホスト11へ信号を転
送し、書込転送はその反対におけるデータ転送で
ある。CCW連鎖130は、セツト・ページーパ
ラメータ(SPP)指令132で始まる。第12図
は、そのような指令が記憶システム10によつて
実行される有様を示す。基本的には、SPP指令1
32は、キヤツシユ40からホスト11へ読出さ
れたデータが放棄されることができるかどうかを
設定するとともに、CCW19(第1図)のバイ
ト22で指定された他のパラメータを設定する。
1度SPP指令が動作パラメータを記憶システム1
0へ指示すると、シーク指令133によつて、シ
ーク指令が周辺記憶システムへ転送される。1つ
の実施例において、シーク・パラメータはSPP指
令に含まれている。通常のDASDアーキテクチヤ
ーに従えば、シーク指令の次にセツト・セクタ指
令134が来る。セツト・セクタ指令の次にはサ
ーチID等価(SIDE)指令135が来る。ここで
記憶システムは、読出指令136によつて、アド
レスされたDASD16からデータを読取る準備を
完了する。読出指令を受取ると、記憶システム1
0は、スタツク131で示される動作を準備す
る。先ず、シーク指令、セツト・セクタ指令、
ID指令が140でスタツクされる。137で
は、第1図に関して説明したように、登録簿43
のサーチが実行される。キヤツシユ・ヒツトの場
合(即ち、リクエストされたデータがキヤツシユ
40にある場合、矢印138で示されるように、
データは、直ちにキヤツシユ40からホスト11
へ、指令を受取つたチヤネル・アダプタ32を介
して転送される。他方、登録簿43によつて、デ
ータがキヤツシユにないことが示されると、矢印
141で示されるように、キヤツシユ・ミスが生
じる。そして、矢印142で示されるように、チ
ヤネル指令再試行(CCR)信号が記憶システム
10によつて与えられる。CCR信号は、いつ装
置終了信号が記憶システム10から受取られた
か、及び同じ読出指令を記憶システム10へ送る
ことによつて、読出指令136がチヤネルによつ
て再実行されねばならないことをホスト11へ知
らせる。これが起つている間に、記憶システム1
0は、シークICW143で始まるICW連鎖14
3−148を組立てる。シークICW143は、
ホスト11から受取られたスタツクのシーク指令
から引出される。多重トラツク動作においては、
ICWはサーチIDパラメータから引出される。シ
ークICW143の次にセツト・セクタICW14
4が来る。セツト・セクタICW144は、レコ
ード番号から計算されたセクタを有する。145
において、局所入力によつてセツト・キヤツシユ
ICW145が生じる。このICWによつて、プロ
グラム56Pは、読出されるべきデータが記憶さ
れるシステム・ストレージ30のアドレスを、適
当なシステム・ストレージ・アドレス・レジスタ
へ入れる。もし複数のデータ・ブロツクが転送さ
れるべきであれば、146で示されるように、複
数のセツト・キヤツシユICWが起る。次に、
SIDE指令135に対応するサーチID等価ICW1
47が起る。サーチID等価ICW147は、最初
のセツト・キヤツシユICW145に対応する。
これは、複数のデータ・ブロツクが、1つの
SIDE指令147を使用して順次に読出されるこ
とを意味する。次に、転送されるべきデータ・ブ
ロツクの数に等しい読出ICW148がプログラ
ム56Pへ与えられる。それは、セツト・キヤツ
シユICWの数によつて示されたデータ・ブロツ
クの数を読出すためである。アドレスされた
DASD16から、キヤツシユ40のシステム・ス
トレージ・アドレス・レジスタ58によつて指定
されたアドレスへ、データを転送する読出動作が
完了すると、記憶システム10は、ホスト11へ
矢印150によつて示されるように装置終了
(DE)信号を与える。ホスト11は、指令136
に対応する周辺指令を151で再び出すことによ
つて、直ちに応答する。勿論、記憶システム10
は152で登録簿43をサーチし、その結果、
ICW連鎖が実行されたばかりであるから、キヤ
ツシユ・ヒツトを生じる。次に、データは、矢印
153で示されるように、キヤツシユ40からホ
スト11へ転送される。136において、リクエ
ストされたデータ・ブロツクについて、データが
転送されなかつた場合、他のキヤツシユ・ミスが
生じ、エラー状況がホスト11へ報告される。こ
のエラー状況は、記憶システム10が、DASD1
6のリクエストされたシリンダ及びヘツド・アド
レスからデータを転送できなかつた事実を反映す
る。その場合、ホスト11は、標準のデイスク記
憶装置回復手法を使用して、直接アクセスの経路
からデータを転送することができる。省略符号1
54は、前述した動作が反復されること、及び複
数のDASD16について複数のCCW連鎖が間挿
されてよいことを示す。ICW連鎖は、必ずしも
CCW連鎖の順序に従わなくてもよい。状況に応
じて、ICW連鎖は、後に発生するCCW連鎖によ
つて組立てられかつ使用されてよい。そのような
可能性は、CCW連鎖に関してICW連鎖の非同期
的局面を示す。通常、最初のCCW連鎖によつ
て、最初に発生するICW連鎖を生じる。任意の
時点で、別個のICW連鎖が各装置に対してアク
チブであつてよい。シーク、セツト・セクタ、
SIDEの指令133−135は周知であるから、
これ以上説明しない。
第6図はシーケンシヤルな読出データを転送す
るためのマシン動作を示す。160において、受
取られた指令は、プログラム50Pによつて処理
される。次に、LKPレジスタ25を介して、プ
ログラム61Pがマイクロプロセツサ31Pによ
つて能動化される。161で、指令は再びプログ
ラム61Pによつてデコードされる。それは読出
指令であるから、第1図に関して説明したように
して、登録簿43がサーチされる。163で、登
録簿のサーチの結果、キヤツシユ・ヒツトが生じ
たか、キヤツシユ・ミスが生じたかを、マイクロ
プロセツサ31Pが決定する。キヤツシユ・ミス
の場合、164で、指令及びその制御情報を待ち
行列レジスタ69に置くことによつて、受取られ
た指令が待ち行列に入れられる。また、CCR信
号がホスト11へ送られる。待ち行列69は任意
の様式を有してよい。待ち行列69は、DASD1
6の各々に対する先入れ先出し(FIFO)待ち行
列である。即ち、8個のDASD16があれば、8
つの待ち行列が存在する。FIFO待ち行列を使用
することによつて、所与の装置に関して、ホスト
に対する応答の順序が、確実にホストによつて送
られた指令の順序に対応することとなる。待ち行
列レジスタ69から、プログラム64Pは、スタ
ツク131を形成することによつて、アドレスさ
れたDASD16からの読出しを起動する。
163で、登録簿サーチによつてキヤツシユ・
ヒツトが生じると、キヤツシユ40は、170
で、適当なチヤネル・アダプタ32を介して、自
動的にデータをホスト11へ転送する。キヤツシ
ユからホストへの、そのような自動的転送は周知
であるから、詳細に説明しない。自動的データ転
送の間に、エラーが起る場合がある。従つて、エ
ラーが検出されると、マイクロプロセツサ31P
は、エラー報告分析ルーチンへ行く。概して、デ
ータ転送にエラーは生じない。171で、データ
転送が成功裡に終了すると、マイクロプロセツサ
31PはLDCBレジスタ62にアクセスして、
RDフイールド101を検査する。もしRDフイー
ルド101に「読出し及び放棄」が表示されてい
れば、173で、マイクロプロセツサ31Pは、
キヤツシユ中に読出したばかりのデータ・ブロツ
クについて、制御ストア73の放棄リスト38の
中に「放棄」を表示する。放棄は、指令が実行さ
れていない時、マイクロプロセツサ31Pがシス
テム・ストレージ30の登録簿43にアクセスし
て、そのエントリイを消去することにより実行さ
れる。置換アルゴリズムが呼出される前に、デー
タを放棄することは、キヤツシユ40を効率的に
管理するのに必要な制御手順を減少させる。即
ち、自由な(解放された)アドレス可能データ記
憶領域は、それらが必要とされる前に確保される
ことになる。171で、RD=0であれば(読出
し及び放棄でない)、175で、マイクロプロセ
ツサ31Pは、登録簿43の或るフイールドによ
つて(図示せず)、データがキヤツシユ40へ固
定されるべきかどうかを決定する。キヤツシユ4
0へのデータの固定は、登録簿43の固定フラグ
(図示せず)がホスト11の指令によつて消去さ
れるまで、そのデータをキヤツシユ40から消去
できないことを意味する。もしデータがキヤツシ
ユへ固定されるのでなければ、176で、読出さ
れたばかりのブロツクは、登録簿43のLRUリ
スト中で、「使用時点の最も新しい」(MRU)ブ
ロツクとされる。177で、本発明と無関連の論
理ステツプがマイクロプロセツサ31Pによつて
実行される。次に180で、LDCBレジスタ62
が再びアクセスされて、SEQフイールド100
が検査される。もしアドレスされたDASD16に
関してシーケンシヤル・データが表示されていれ
ば、182で、マイクロプロセツサ31Pは
LDCBレジスタ62のB COUNTフイールド1
02を検査する。それは、ブロツク・カウント
(BK)が0に等しいかどうか、即ち、転送された
ばかりのブロツクが、データのシーケンス中最後
のブロツクであるかどうかを調べるためである。
もしそれが最後のブロツクでなければ、183
で、ブロツク・カウントが1だけ減少される。ス
テツプ180,182,183及び論理通路18
1は、マイクロプロセツサ31Pをプログラム5
0Pへ導く。それは、通常の態様で、最終状況を
ホスト11へ報告するためである。
第7図及び第8図は、待ち行列レジスタ69の
中の読出待ち行列を走査し、記憶システム10の
内部指令であるICW連鎖を発生する動作フロー
を示す。リクエストされた読出指令が待ち行列に
入れられた後、マイクロプロセツサ31Pは記憶
システム10に各種の機能を実行させる。例え
ば、そのような機能は、チヤネル・アダブタ32
を介して受取られた指令に応答すること、読出指
令を転送したチヤネル・アダプタ32から受取ら
れた他の指令を実行したりすることを含む。ホス
トからの周辺指令の受取りが休止すると、シーク
指令及びセツト・セクタ指令がマイクロプロセツ
サ31PによつてDASD16へ送られる。キヤツ
シユ40がデータをホスト11へ送つたり、ホス
ト11からデータを受取つたり、DASD16へデ
ータを送つたり又はそこからデータを受取つてい
る間に生じる制御活動が休止すると、マイクロプ
ロゼツサ31Pは、そのタスク指名マイクロコー
ド(これは第2図に示されるOP75の1部であ
る)を介して、待ち行列レジスタ69を含む作業
テーブル(図示せず)を走査する。もし待ち行列
レジスタ69の中の待ち行列が空であれば(即
ち、読出しも書込みも起るべきでない)、マイク
ロプロセツサ31Pは論理通路192をたどつて
190へ戻る。もし191で、ポインタ129
(第3図)を走査することによつて、読出指令が
待ち行列に入れられていることが検出されると、
193で、読出待ち行列128からマイクロプロ
セツサ31Pの内部レジスタ(図示せず)へ行列
のエントリイが転送される。もしこの転送の間に
エラーが生じると、エラー報告及び回復手順が1
94で開始される。待ち行列レジスタ69からの
エントリイの読出しが成功すると、195で
LDCBレジスタ62がアクセスされ、ODEフイー
ルド90が1ヘセツトされる。それは、読出しが
成功裡に完了した時、装置終了信号を出すべきで
あることを示す(第5図の矢印150を参照)。
196で、本発明と無関連の機能が実行される。
次に200で、アドレスされたDASDに対応する
バツフア・レジスタ77(第2図)の中で、第1
図のバイト27にあるビツトがセツトされる。そ
れは、論理連鎖が生じること、即ちアドレスされ
たDASD16に対する来たるべきアクセスで、1
つ以上のICWが使用されることを示す。201
で、LDCBレジスタ62が再びアクセスされて、
SEQフイールド100の値が検査される。シー
ケンシヤル・データが表示されていれば、マイク
ロプロセツサ31Pはステツプ202へ進す。そ
れは、来たるべきICW連鎖のためのブロツク・
カウント(BK)を、受取られたページング・パ
ラメータ(PA)に等しくセツトするためであ
る。
所与のICW連鎖を介して転送されることので
きるブロツクの最大数は、システム・ストレー
ジ・アドレス・レジスタ(SSAR)58の数に等
しい。例えば、SSARが8個の場合、転送される
ブロツクの数は、最大8個である。更に、遅延境
界を考慮に入れなければならない。例えば、転送
されるべき8個のブロツクが2個のシリンダにア
クセスすることを必要とすれば、最初にアクセス
されたシリンダにあるブロツクのみが転送され
る。もし8個のブロツクの中で、最初のシリンダ
に4個のブロツクがあり、第2のシリンダに4個
のブロツクがあれば、ブロツク数は4にセツトさ
れる。この方法は、一連のブロツクを転送するた
めに必要な時間を最小にし、全ての転送が電子的
速度で完了することを可能にする。所与のシリン
ダの最初のブロツクでミスが生じた場合、8個の
ブロツクまで自動的に転送される。更に、ブロツ
クの最大数は、B COUNTフイールド102に
ある数値より決して大きくない。ICWの構成
は、シリンダ境界が所与のICW連鎖によつて決
して交差されないようになつている。このような
計算は、通常のプログラミング手法によつて実行
することができ、これ以上詳細に説明しない。ス
テツプ201で、もしシーケンシヤル・データが
表示されなければ、ステツプ203で、転送され
るべきブロツクの数は、1へセツトされる。これ
らの数値は、連鎖フラグ、DASDアドレス、及び
他の装置制御データと共にバツフア・レジスタ7
7へ与えられる。204で、SSAR58の識別記
号が0へセツトされる。これは、マイクロプロセ
ツサ31Pが、識別記号0を有するSSARにアク
セスすることを意味する。
205で、第1図のCCW19を介して受取ら
れた論理アドレスLDADDRが、DASD16の物
理アドレス(DADDR)へ変換される。この動作
は、論理アドレス表示ビツトを削除するため、単
に論理アドレスをマスクすることによつて達成さ
れる。206で、本発明と無関連の機能が実行さ
れる。論理コネクタ207は、第8図で説明され
るマシン動作流れ図の論理コネクタ243から接
続される。即ち、190から206までの論理ス
テツプの全ては、準備ステツプであり、次に説明
するステツプは、連続したデータ・ブロツク転送
を実行するため、ループとして反復可能なステツ
プである。
ループ中の最初のステツプ210は、キヤツシ
ユ40の中でスロツト又はアドレス可能データ記
憶スペースを割振る。通常の割振手順がとられ
る。即ち、自由リスト中のアドレス可能ユニツト
(スロツト)が、DASD16から来た最初の信号
ブロツクを受取るため、アドレス可能のユニツト
又はスロツトとして指定される。次に、そのスロ
ツトは自由リスト(FBLレジスタ79)から除
かれ、マイクロプロセツサ31Pの中にある内部
レジスタに表示される。それは、キヤツシユ40
の中のスロツトを指定するため、登録簿43の中
のどのエントリイが使用されるべきかを示す。注
意すべきは、キヤツシユ40にある各アドレス可
能スロツトのために、登録簿43の中に1つのエ
ントリイ・レジスタが設けられていることであ
る。従つて、キヤツシユ40にあるデータの実際
のアドレスは、登録簿43のエントリイを含むレ
ジスタから直接に引出すことができる。
ステツプ202又は203で設定されたブロツ
ク数に等しい数のスロツトが割振りを試みられた
後、211で、マイクロプロセツサ31Pは割振
プロセスでエラーが生じたかどうかを決定する。
もしエラーが生じたのであれば、DASD16から
キヤツシユ40へ、ブロツクの全数が成功裡に転
送されなかつたのかも知れない。従つて、エラー
条件が生じると、212で、マイクロプロセツサ
31Pは、LDCBレジスタ62のSEQフイールド
100を調べて、データ転送がシーケンシヤル転
送であるかどうかを決定する。もしそれがシーケ
ンシヤル転送でなければ、マイクロプロセツサ3
1Pは論理通路213をたどつて、プログラム5
0Pへ戻り、1つのブロツクに対しスペースを利
用可能とするため、置換アルゴリズムの制御を待
機する。シーケンシヤルなデータ転送である場
合、214でマイクロプロセツサ31Pは、転送
されるべき最初のブロツク上でエラーが生じたの
かどうかを決定する。もしそれが最初のブロツク
であれば、マイクロプロセツサ31Pは論理通路
216を介してプログラム50Pへ戻る。そし割
振りのエラーが最初のブロツクについて生じたの
でなければ、先行するブロツクのデータ転送が起
る。マイクロプロセツサ31Pは通路217をた
どつてステツプ220へ至る。それは、割振され
ない領域において転送されるべきブロツクの数を
ICWから除去するためである。即ち、割振エラ
ーに関連させることのできるブロツクから始まる
全ての所望のブロツクが、ICW連鎖から除去さ
れる。
次にステツプ211に戻つて、もし割振エラー
が起らなかつたのであれば、218で本発明と無
関連の機能が実行される。これらの機能は、割振
りに関連しないマイクロコード論理エラーを分析
することを含む。もしそのようなマイクロコー
ド・エラーのために、スロツトが割振られなかつ
たのであれば、除去ステツプ220が実行され
て、DASD16からキヤツシユ40へ転送される
ブロツクの数が減少される。エラーが生じない場
合、又は除去ステツプの後、マイクロプロセツサ
31Pは221で本発明と無関連の論理ステツプ
を実行する。222で、LDCBレジスタ62の
SEQフイールド100が検査される。もしSEQ
フイールド100がゼロに等しければ(即ち、シ
ーケンシヤルでないデータ)、223で、データ
を受取るべきキヤツシユ40中のスロツトに対応
する、登録簿43のエントリイの指標が、
RPARM部分83のフイールド114へ入れられ
る。シーケンシヤル・データの場合、又は指標が
LDCBレジスタ62へ入れられた後、224で、
後にシステム・ストレージ・アドレス・レジスタ
58へ挿入されるべきキヤツシユ・アドレスが、
LDCBレジスタ62へ挿入されたばかりの登録簿
指標から発生される。この発生は、単にオフセツ
トを登録簿指標の各々へ付け加えることによつて
なされる。次に225で、SEQフイールド10
0がシーケンシヤル・モードを示すと、ブロツ
ク・カウント(BK)が1より大きいかどうかを
調べるため、マイクロプロセツサ31PはB
COUNTフイールド102を検査する。次に23
2で、マイクロプロセツサ31Pは、転送されつ
つあるブロツクのシーケンス中にある最初のデー
タ・ブロツクが、現在処理されているかどうかを
調べる。もし処理されていなければ、233で、
第2のブロツクに対する新しいキヤツシユ・アド
レスが与えられる。次に234で、バツフア・レ
ジスタ77の中で、第2又は他のブロツクに対応
するシステム・ストレージ・アドレス・レジスタ
(SSAR)58がキヤツシユ・アドレスへセツト
され、フラグがセツトされ、登録簿43に対する
ポインタがセツトされ、キヤツシユ・アドレスを
受取るべきSSAR58が指定される。更に、バツ
フア・レジスタ77の中に、実行すべき他の機能
を限定してよい。
ステツプ225,231,232へ戻つて、論
理通路226は本発明と無関連のステツプ227
へ進み、次いでマイクロプロセツサ31Pは
LDCBレジスタ62へ進んで、RPARMS部分8
3のフイールド116に発生されたキヤツシユ4
0のアドレスを記憶する。次いでマイクロプロセ
ツサ31Pは本発明と無関連のステツプ229を
実行し、論理コネクタ235を介して第8図の論
理ステツプへ進む。
第7図の論理コネクタ235は、第8図の論理
コネクタ240へ接続される。241で、マイク
ロプロセツサ31Pは、第3図のEKフイールド
121を増加することによつて、SSAR58への
ポインタを更新する。242において、マイクロ
プロセツサ31Pは、キヤツシユ40へ転送され
るべきデータ・ブロツクの全てが、キヤツシユ4
0の中でスペースの割振りを受けたかどうかを決
定する。もし受けていなければ、マイクロプロセ
ツサ31Pは、論理コネクタ243を介して、第
7図の論理コネクタ207へ戻り、他のデータ・
ブロツクのためにキヤツシユ40のスロツトを割
振る。このループは、EKフイールド121が転
送されるべきブロツク数に等しいカウントを含む
ようになるまで反復される。
前記のループを完了した後、本発明と無関連の
論理ステツプが244で実行される。245で、
読出指令がICWにセツトされて、DASD16のた
めのデータ読出指令が表示される。250で、
LDCBレジスタ62がアクセスされて、
PRARMS部分81にあるSEQフイールド100
がセツトされているかリセツトされているかが決
定される。セツトされていれば、251で、マイ
クロプロセツサ31Pは、受取られたブロツク・
カウントが1より大きいかどうかを決定する。も
しそれが1より大きければ、ICW24の指令修
飾バイト27の中にセツトされる。1より大きく
なければ、ステツプ250又は251から、バイ
ト27の連鎖表示をリセツトすることによつて、
連鎖終了表示EOCが表示される。254で、制
御ストア73にあるバツフア・レジスタ77は、
ICWを受取る。即ち、コード、フラグ、及び他
の記憶動作表示(STOROP)が受取られる。2
55で、マイクロプロセツサ31Pは再びLDCB
レジスタ62のSEQフイールド100を調べ
て、それが0に等しいかどうか(即ち、シーケン
シヤルでないかどうか)を決定する。もし1つの
ブロツクだけが転送されるのであれば、マイクロ
プロセツサ31Pは論理通路256をたどり、構
成されたばかりのICWをLKPレジスタ25を介
してDACプログラム56Pへ転送するため、ス
テツプ257を実行する。
シーケンシヤル・データ転送の場合、マイクロ
プロセツサ31Pはステツプ255からステツプ
260へ進み、EKフイールド121を次のエン
トリイへ調整する。次に261で、もし残りのブ
ロツク・カウントが1より大きくなければ、25
7で、ICW24がLKPレジスタ25を介して
DACプログラム56Pへ転送される。残つてい
るブロツク数が1より大であれば、ループ270
が実行されて、連鎖中の残りのICW24が設定
される。271で、「カウント、キー、データ」
読出指令及び多重トラツク指令がセツトされる。
272で、マイクロプロセツサ31Pは、シーケ
ンシヤルなブロツク群の中の最後のブロツクが処
理されるべきか否かを決定する。もし処理される
べきでなければ、形成されつつあるICWのバイ
ト27にある連鎖フラグが1ヘセツトされる。処
理されるべきであれば、274で、連鎖フラグを
リセツトすることによつて、連鎖状態の終り
(EOC)が表示される。275で、形成されたば
かりのICW24がバツフア・レジスタ77へ転
送される。276で、キヤツシユ・アドレス
CADDRがバツフア・レジスタ77に記憶され、
それが直ちにバースト転送のためにSSAR58へ
転送されることができるようになる。277で、
マイクロプロセツサ31Pは、データ・ブロツク
が最後のブロツクであるかどうかを決定する。も
し最後のブロツクでなければ、ループは278で
調整され、通常の制御手法を用いて、内部レジス
タ内のカウントが調整される。最後のブロツクで
あれば、ステツプ257が実行される。ループが
278で調整された時、ステツプ271から27
7までが実行される。
プログラム56PがICW連鎖を受取ると、そ
れはチヤネル・アダプタ32を通して受取つた連
鎖指令を実行するようにして、ICW連鎖を実行
する。このような動作は周知であるから、ICW
連鎖の実行はこれ以上説明しない。注意すべき
は、DASD16からキヤツシユ40へ信号を転送
する時、プログラム56PはDASD16へアドレ
シングするのみならず、バツフア・レジスタ77
のキヤツシユ・アドレスをSSAR58へ与え、数
ブロツクのデータが単一のデータ・ストリームで
転送されることができるようにする。即ち、多重
トラツク転送ができるようにする。転送が終る
と、プログラム56Pは、エラー表示を含む結果
の状況をLKPレジスタ25へロードする。次に
マイクロプロセツサ31Pの動作は、プログラム
56PからCACプログラム61Pへ切換えられ
る。
第9図は、キヤツシユ・ミスに続いて、マイク
ロプロセツサ31Pを介して実行されるマシン動
作を示す。これらのマシン動作は、例えば、第6
図のステツプ164で起る。280で、マイクロ
プロセツサ31Pはアドレスされた論理装置に対
するLDCBレジスタ62にアクセスし、FOUND
部分80のCCRフイールド95及びMISSフイー
ルド96を1へセツトする。その動作は、キヤツ
シユ・ミスが生じたため、チヤネル指令再試行信
号がホスト11へ送られたことを示す。これにつ
いて、後に第11図を参照して説明する。次に2
81で、マイクロプロセツサ31Pは、FBL4
自由ブロツク・リスト)レジスタ79を検査し
て、キヤツシユ40のアドレス可能データ記憶領
域又はブロツクが割振りのために解放されている
かどうかを決定する。キヤツシユ40からDASD
16へ、データを早期に転送しておれば、可能性
としていくつかのブロツクが解放されているであ
ろう。FBLレジスタは、LRUリスト46の部分
47がゼロに等しいことを必要とするように構成
するのが望ましい。LRUリスト46の中に解放
されたブロツクを表示することによつて、指定さ
れたデータのアドレス可能性が維持される。ステ
ツプ301−307はこの動作を示す。解放され
たブロツクを発見すると、マイクロプロセツサ3
1Pはステツプ284への論理通路282をと
る。ステツプ284では、FBLレジスタ79か
ら解放された自由ブロツクの表示が除去され、登
録簿43の対応するエントリイが現在の識別表示
から変更され、その時キヤツシユ40へ割振られ
つつあるDASD16のアドレス可能記憶領域が表
示される。そのような割振動作の間にエラーが発
生すると、マイクロプロセツサ31Pはステツプ
284から論理通路285をたどつてエラー回復
手順へ進む。別個のFBLレジスタ79が設けら
れている場合、割振ステツプ284は、第11図
を参照して説明するように、論理コネクタ283
を介してデータ転送動作に続いて実行されてよ
い。
284で、キヤツシユ40のアドレス可能デー
タ記憶領域の割振りが成功すると、286で、マ
イクロプロセツサ31PはLDCBレジスタ62の
CMDフイールド93にアクセスし、キヤツシ
ユ・ミスがチヤネル読出型の指令から生じたの
か、チヤネル書込型指令から生じたのかを決定す
る。チヤネル書込型指令の場合、287で、装置
終了(DE)信号がホスト11へ与えられる。即
ち、書込指令に対するキヤツシユ・ミスを処理す
る場合、必要なことは、ホスト11からデータを
受取るため、キヤツシユ40の中でスペースを割
振ることである。マイクロプロセツサ31Pが十
分に早い時、書込指令のミスに対してCCR信号
を送らなくてもよい。その場合、ステツプ284
及び286がステツプ280に先行する。次にス
テツプ280が、ステツプ291の前にあるよう
に、キヤツシユ読出ミスのサーチに対してのみ実
行される。286において、読出動作が表示され
ると、291で、マイクロプロセツサ31Pは関
連したDASD16のために読出待ち行列(第3
図)をセツトする。例えば、装置D2の場合、そ
れに関連したLDCBレジスタ2に対するキヤツシ
ユ・ミスは、読出待ち行列128に図示されたエ
ントリイを生じる。マイクロプロセツサ31P
は、読出待ち行列を設定した後に、292の動作
へ進む。292の動作は、記憶システム10の中
で実行されるべき作業をサーチするタスク指令ス
テツプ190を実行することを含む。ステツプ1
90を実行した結果として、実行すべくスケジユ
ールされた読出動作を決定するため、読出待ち行
列128が走査される。次に、293で、マイク
ロプロセツサ31Pは、リクエストされたデー
タ・ブロツクをDASD16(例えば装置D2)か
らキヤツシユ40へ転送する。勿輪、これは、マ
イクロプロセツサ31Pが読出待ち行列128の
情報を、プログラム56Pによつて使用される
LKPレジスタ25へ与えることを含む。1度、
プログラム56PがICW連鎖から必要な情報を
受取ると、データは、既知のDASD読出手法を用
いて、アドレスされたDASD16からキヤツシユ
40へ転送される。その読出動作が終了すると、
294で、マイクロプロセツサ31Pは、装置D
2に対するLDCBレジスタ62のCCRフイールド
95及びMISSフイールド96を検査する。その
検査によつて、マイクロプロセツサ31Pは、
DASD16からキヤツシユ40への読出動作がキ
ヤツシユ・ミスから生じたことを確認する。これ
は、294で示されるように、装置終了信号がホ
スト11へ与えられることを必要とする。
キヤツシユ・ミスを生じたチヤネル指令の再実
行は、少し遅れて起る。即ち、ホスト11は、チ
ヤネル指令を再び出すことによつて、ステツプ2
87又は294で送られた装置終了信号に応答す
る。程なく、288で、記憶システム10は、ホ
スト11によつてリクエストされた全ての種類の
データ記憶動作及び非同期的動作を実行するた
め、本発明と無関連の指令を受取る。290で、
ホスト11は第2回目の指令を与え、登録簿43
をサーチしている記憶システム10は、今や第6
図のステツプ163で生じるようなキヤツシユ・
ヒツトを有し、その結果、データはキヤツシユ4
0からホスト11へ転送される。2回目に出され
た指令が完了すると、記憶システム10は、タス
ク指名ステツプ190を介して、他のデータ動作
へ進む。
FBLレジスタ79によつて、キヤツシユ40
に解放されたブロツクがないか、又はLRUリス
ト46を走査した結果、部分47がゼロであるエ
ントリイがない場合、キヤツシユ40のアドレス
可能記憶領域のあるものが解放されて、割振ステ
ツプ284の実行を可能にしなければならない。
そのような解放はキヤツシユ・ミスの結果だけで
なく、タスク指令ステツプ190の動作が作業を
走査している時にも生じる。例えば、所定の優先
順位に従つて、ステツプ190はマイクロプロセ
ツサ31Pをして論理通路299をたどらしめ、
定期的又は非定期的に、次に説明するループ30
0のマシン動作を実行させる。それは、FBLレ
ジスタ79が、キヤツシユ・ミスから生じた割振
要件を満足させるエントリイを有するようにさせ
るためである。その場合、FBLレジスタ79が
空でないと、キヤツシユ・ミスを有する書込指令
について、割振ステツプ284を迅速に実行さ
せ、前述したようにホスト11へチヤンネル指令
再試行(CCR)信号を送るのをやめることがで
きる。CCR信号の送信中止は、記憶システム1
0の望ましい動作モードである。
本発明の場合、キヤツシユ40からDASD16
へのデータ転送動作(以下、カースト・アウト動
作ともいう)では、転送されるデータが指定され
るのみならず、キヤツシユ40のいくつかのアド
レス記憶領域からの複数のデータ・ブロツクが、
グループとしてまとめられる。DASD16が、電
気的切換えにより複数の変換器によつてアクセス
可能な複数のシリンダを有する場合、シリンダに
記憶可能なデータ・ブロツクの全て、及び最初に
指令されたデータ・ブロツクは、DASD16の1
回の選択の間に、記録のためにグループ化され
る。ある情況の下では、データ・ブロツクの数
は、所与のシリンダにおけるトラツクの全数より
少ない数に制限されてよい。例えば、システム・
ストレージ・アドレス・レジスタ58が8個しか
ない時、最大8個のデータ・ブロツクを転送する
ことができる。キヤツシユ・アドレスを即時に利
用可能とすることから独立して、全ての転送を十
分に早く処理するように動作するキヤツシユ40
の場合、転送されるデータ・ブロツクのグループ
におけるデータ・ブロツクの最大数は、シリンダ
におけるトラツク数に等しい。データ・ブロツク
がトラツクのサブセツトである場合(例えば、各
データ・ブロツクがトラツクの4分の1を占める
場合)、SSAR58が8つであれば、8つのブロ
ツクが転送される。同じように、所与のシリンダ
において、2つのトラツクでデータの記憶が起
る。グループ化の要件については、他の順序置換
方法を採用してよい。そのようなグループ化及び
書込みは、第10図を参照して説明するように、
タスク指令ステツプ190の動作によつて生じ
る。
これまで説明した走査及びグループ化は、マイ
クロプロセツサ31Pのかなりの動作時間を必要
とする。従つて、第9図のステツプ281で自由
なブロツクがない時、マイクロプロセツサ31P
は、カースト・アウト動作へ行かないで、LRU
リスト46を調べて、キヤツシユ40で変更され
ないで記憶されているデータ・ブロツクがあるか
どうかを調べる。LRUリスト46の中で、部分
47(第1図)にある変更(M)ビツトが0のエ
ントリイは、割振可能な(即ち、自由な)ブロツ
クのリストを構成する。第3図のADEBレジスタ
76にあるMフイールド124は、そのようなエ
ントリイについてゼロである。従つて、部分47
の変更ビツトが検査される。そして、LRUリス
ト46の中でMビツトがゼロである最初のエント
リイが、ホスト11又はDASD16からデータを
受取るように割振られる。そのような走査は、
LRUリスト46のLRU端部(LRU+0)のとこ
ろで始まる。LRUリスト46の走査は、制御ス
トア73(第2図)のJカウンタ37によつて制
御される。Jカウンタ37は、それをオール・ゼ
ロへセツトすることによつて301で初期化され
る(第9図)。Jカウンタ37がゼロの時、LRU
リスト46を走査しているマイクロプロセツサ3
1Pは、キヤツシユ40で使用時点の最も古いデ
ータ・ブロツクを指定するエントリイにアクセス
する。ステツプ301の初期化の後、ループ30
0は、LRUリスト46の走査を制御する。先
ず、302で、LRU+Jのエントリイがマイク
ロプロセツサ31Pへ読出される。これは、
LRUリスト46でINDEXフイールド107を通
して指定された登録簿43のエントリイが、シス
テム・ストレージ30からADEBレジスタ76へ
略読出されることを意味する。303で、登録簿
43から読出されたばかりのエントリイが調べら
れ、Mフイールド124がゼロであるかどうか決
定される。もしMフイールド124がゼロであれ
ば、それは変更されていないデータであり、キヤ
ツシユ40に記憶されたデータは、DASD16中
に記憶された対応するデータに等しい。次に30
4で、決定されたデイレクトリイ43のエントリ
イ及びADEBレジスタ76の内容を削除すること
によつて、キヤツシユ40の決定されたばかりの
アドレス可能記憶領域が、割振りのために解放さ
れる。次にループ300は終了し、通路282が
とられて、割振ステツプ284へ進む。もしMビ
ツトがゼロなければ、マイクロプロセツサ31P
は、ループ300を通つて、LRUリスト46の
次の「使用時点が最も古い」エントリイを指定す
るように進行する。305で、Jカウンタ37へ
1が加えられる。306で、マイクロプロセツサ
31Pは、新しいJカウンタの値と、(N+1)
の値と比較する。N+1は、第1図の可用閾値4
9のすぐ上にあるLRUリスト46のエントリイ
に対応する。MRU−MはLRU+(N+1)と同じ
値であることに注意されたい。JカウンタがN+
1より小さい時、マイクロプロセツサ31Pはス
テツプ302へ戻り、303のブランチによつて
データが変更されていないことが決定されるか、
可用閾値49に達するまで、ループ300が反復
される。次に、307で、マイクロプロセツサ3
1Pは、タスク指名ステツプ190へ戻る前に、
いくつかの無関連の機能を実行する。ステツプ3
06から190へ戻つた時、キヤツシユ・ミスの
結果(読出しであつても書込みであつても)、キ
ヤツシユ40に記憶されるべきデータについて、
キヤツシユ40内にスペースは割振られていな
い。所望されたデータ転送は、キヤツシユ40中
のデータがDASD16へ転送されるまで待たなけ
ればならない。データのDASD16への転送は、
変更されないブロツクを284で割振らせること
になる。
キヤツシユ・ミスが生じた後、又はタスク指名
ステツプ190の定期的走査中に、キヤツシユ4
0の中で変更されないデータ・ブロツクが存在し
なければ、記憶システム10は第10図の流れ図
に従つてLRUリスト46を走査する。書込み又
は読出されるべきデータについて、キヤツシユ4
0中に利用可能なスペースを作るため、自由ブロ
ツクを設定する上記の走査は、2つの大きな段階
で行なわれる。第1の段階は、放棄リストDL3
8を調べて、データの放棄が可能がどうかを決定
することである。第2の段階は、LRUリスト4
6が最も使用時点の古いエントリイから可用閾値
49まで走査される。この走査でヒツト(変更さ
れたデータ)が生じると、そこからグループ化閾
値57まで第2の走査が始まり、所与のDASD1
6上に記録されるべきデータ・ブロツクの群が設
定される。DASD16は上記ヒツトによつて決定
された、キヤツシユ40の変更されているデータ
を記憶する。
自由なリストがLRUリスト46の1部として
含まれている時、キヤツシユ・ミスの後の検査は
ステツプ281を省略し、ステツプ301を介し
てループ300へ直接に進む。勿論、299の論
理入力は、種々の理由で生じてよい。
ここで第10図を参照すると、マイクロプロセ
ツサ31Pは論理通路310をたどつて、なされ
るべき作業を探す。311で、第2図の放棄リス
ト38がエントリイを有するかどうかを検査され
る。もし放棄リスト38の中にエントリイがあれ
ば、312で、そのエントリイが取出される。そ
れは、登録簿43のどのエントリイが削除される
べきであるか(ステツプ313)を決定し、かつ
指標値(ADEBレジスタ76のINDEXフイール
ド107)をFBLレジスタ79へ転送するため
である。これらの動作は、キヤツシユ40のため
に自由ブロツクを作る。次に、マイクロプロセツ
サ31Pは、LRUリスト46の走査のためにル
ープ316及び330へ進むことができる。ステ
ツプ314では、LDCBレジスタ62のCCRフイ
ールド95及びMISSフイールド96が1へセツ
トされる論理装置であるかどうか検査される。も
しそのような論理装置であれば、マイクロプロセ
ツサ31Pは論理コネクタ319を介して第9図
のステツプ284へ進む。次いでステツプ284
から294までが、LDCBレジスタに表示された
CCRフイールド95に関して、記憶システム1
0の動作を完了する。この時点で、マイクロプロ
セツサ31PはCCRフイールド95をクリアし
ない。なぜならば、それは次に受取られた指令を
検査して、その指令がチヤネル指令再試行の結果
として送られたかどうかを決定するからである。
ステツプ311で、放棄リスト38にエントリ
イがないか、314で、CCRフイールドをセツ
トされているLDCBレジスタがなければ、マイク
ロプロセツサ31PはLRUリスト46を走査す
るステツプへ進む。315で、Jカウンタ37を
ゼロへセツトすることによつて、走査が開始され
る。次にループ316が開始され、LRUリスト
46の最も使用時点が古い指標値から可用閾値4
9まで走査が実行される。ループ316は、
LRU+Jに記憶された指標値によつて指定され
た登録簿43のエントリイを読出すステツプを含
む。ループ316を最初に通る時のJカウンタは
ゼロである。従つて、マイクロプロセツサ31P
はLRUリストの使用時点が最も古いエントリイ
を読出して、318でMフイールド124を調べ
る。Mフイールドがゼロである時、320でJカ
ウンタは1だけ増加される。次に321で、Jカ
ウンタの値がN+1(LRUリスト46で可用閾
値49のすぐ上にあるエントリイ)と比較され
る。JカウンタがまだN+1に等しくなければ、
ループ316が反復される。ループ316が完了
すると、論理通路337がとられて、マイクロプ
ロセツサ31Pはタスク指名ステツプ190へ戻
される。この場合、LRU+0と可用閾値49と
の間で指定された全てのデータ・ブロツクは、変
更されたデータを有しない。即ち、第10図に示
されたマシン動作は十分な回数だけ実行された
か、他のアルゴリズムによつて、可用閾値49の
下にあるエントリイによつて表わされるキヤツシ
ユ40の全ての変更されたデータが、DASD16
へ転送されている。この場合、キヤツシユ40か
らデータを転送する必要はない。第9図のステツ
プ303で、新しい割振りによつて変更されない
データ・ブロツクが発見されるからである。
第10図において、検査されている登録簿43
のエントリイのMフイールド124、又はLRU
リスト46中の部分(Mビツト)47が1である
時、走査中に書込ヒツトが起つている。次にマイ
クロプロセツサ31Pは論理通路325をたど
り、現在検査されているエントリイで指定された
装置について、書込待ち行列(WQ)127へ
LRU+Jの指標値を転送する。上記の装置は、
ADEBレジスタ76のフイールド108にあるD
フイールドで指定されている。例えば、もし装置
D2がDフイールドに指定されていれば、対応す
る書込待ち行列127は、ADEBレジスタ76の
フイールド107から指標値を受取る。この時点
で、装置D2に対応するフラグ・カウンタ127
Fは、1だけ増加される。もし書込待ち行列が空
であつたならば、フラグ・カウンタは1の値を含
む。空でなければ、フラグ・カウンタは書込待ち
行列におけるエントリイの数を反映している。こ
の指標値は、キヤツシユ40からDASD16へ転
送されるべき、最初の指定されたデータ・ブロツ
クを表わす。ヒツトの発生はループ316を終了
させ、マイクロプロセツサ31Pにループ330
を実行させる。
ループ330はLRUリスト46を走査する
が、その走査はヒツト位置(例えばLRU+1)
からグループ化閾値57まで、又は最初に決定さ
れたデータ・ブロツクとグループにすることがで
きる、適当な数のデータ・ブロツクが決定される
までである。キヤツシユ40中でグループにする
ことができるデータ・ブロツクは、最初に決定さ
れたデータ・ブロツクのCCP値(ADEBレジスタ
76のフイールド108参照)に等しいCCP値
を有するデータ・ブロツクである。勿論、これら
のデータ・ブロツクは同一のアドレスされた装置
の中にある。
グループ化閾値57までの第2の走査は、ヒツ
トがループ316で生じた時にのみ起る。それ
は、マイクロプロセツサ31PがJカウンタを1
だけ増加させるステツプ331で始まる。第1図
の例では、走査されるべき次のLRUエントリイ
は、LRU+2に対応する。従つて、登録簿43
のそのエントリイはADEBレジスタ76へ転送さ
れる。次にマイクロプロセツサ31Pは、332
でMフイールド124を検査する。その値はゼロ
に等しいから、マイクロプロセツサ31Pは論理
通路333をたどつて、ステツプ331へ戻り、
ループ330を繰返す。もしMフイールド124
がゼロでなければ、334でマイクロプロセツサ
31PはADEBレジスタ76のCCP値、及び最初
に指定されたツデータ・ブロツク(これは書込待
ち行列127にある)のCCP値とを検査する。
他の実施例としてマイクロプロセツサ31Pの中
にある作業レジスタへ、ADEBレジスタ76のフ
イールド108で表わされた装置アドレスを含ま
せ、現在のADEBレジスタ76のエントリイにお
けるCCP値と、最初に指定されたデータ・ブロ
ツクのCCP値とを比較するようにしてもよい。
注意すべきは、CCP値が装置上の物理シリン
ダ・アドレスを表わすことである。こうして、
DASD16内部の実際のデイスク構成は、LRUリ
スト46の走査を変更せず、またそれに影響を及
ぼさない。
もしシリンダ・アドレス(CCP値)が異つて
いれば、論理通路333がとられ、ループ330
の次の走査が開始される。双方のデータ・ブロツ
クが同一のシリンダにあれば、335で、マイク
ロプロセツサ31PはLRU+(J+1)の指標値
を書込待ち行列(WQ)127へ転送し、フラ
グ・カウンタ127Fを増加させる。次に336
で、マイクロプロセツサ31PはWQ127を検
査し、CCP値を有するシリンダについて、8個
のエントリイがあるかどうか決定する。もし8個
のエントリイがあれば、キヤツシユ40から
DASD16へ転送するためのデータ・ブロツクの
完全なグループが決定されたことになる。ループ
330の走査は不完全のままである。従つて、タ
スク指名ステツプ190への戻りが生じ、第11
図を参照して説明する書込待ち行列の走査が、グ
ループ化されたデータの転送をスケジユールす
る。もしグループ化が上限に達していなければ、
338で、マイクロプロセツサ31PはJカウン
タ37の内容を検査し、その値をMRU−K(グ
ループ化閾値57のすぐ上にある、LRUリスト
46のエントリイ)と比較する。もし比較が一致
すれば、それは第2走査の完了を意味し、タスク
指名ステツプ190への通路337がとられる。
その時点で、転送されるべきデータ・ブロツクが
1個だけであつてもよく、7個までのブロツクが
あつてよい。Jカウンタの値がまだMRU−Kに
達していなければ、、通路333がとられて、も
う1回のループ330が実行される。
第11図は、キヤツシユ40に記憶されたデー
タであつて、DASD16へ転送されるべきものを
探すため、書込待ち行列127の全てを走査する
マイクロプロセツサ31Pのマシン動作を示す。
マシン動作は、タスク指名ステツプ190から論
理通路340を介して起動される。341で、検
査されるべき書込待ち行列127を決定するた
め、書込待ち行列カウンタ(WQK)127Kの
内容が検査される。WQK127Kは、DASD1
6の数に等しいデイジツト位置を有するシフト・
レジスタとして処理される。1つのビツトが1へ
セツトされており、そのビツト位置はどの書込待
ち行列が検査されるべきかを示す。1つの書込待
ち行列の検査が完了すると、1のビツトが次のデ
イジツト位置へシフトされ、次の書込待ち行列の
検査が可能となる。このようにして、ラウンド・
ロビン式の待ち行列検査が実行される。
ループ342はフラグ・カウンタ127Fを検
査して、関連した書込待ち行列が空であるか(フ
ラグ・カウンタ127Fがゼロに等しい)、又は
非ゼロであつて1つ又はそれ以上のエントリイを
指示するかどうかを決定する。343で、書込待
ち行列カウンタ(WQK)127Kに対応するフ
ラグ・カウンタ127Fが、制御ストア73から
取出される。フラグ・カウンタ127Fは344
で検査される。もしフラグ・カウンタ127Fが
ゼロであれば、345でWQK127Kが1だけ
増進される。346で、シフトされた値が、34
1で取出された初期値と比較される。もしそれら
の値が等しければ、走査は完了している。次にマ
イクロプロセツサ31Pは、通路347をたどつ
てタスク指名ステツプ190へ戻る。比較が一致
しなければ、ステツプ343−345が反復され
る。フラグ・カウンタ127Fがゼロでなけれ
ば、マイクロプロセツサ31Pは通路348をた
どり、350で指定された装置が使用中であるか
どうかを検査する。もし装置が使用中であれば、
その装置について作業はスケジユールされず、マ
イクロプロセツサ31Pは論理通路351をたど
つて、ステツプ343へ戻り、ループ342を実
行して走査を継続する。350で、もし装置が使
用中でなければ、352で、前述した手順を用い
てICW連鎖が形成される。353で、形成され
たICW連鎖がLKPレジスタ25を介してDACプ
ログラム56Pへ転送され、そこで実行される。
次に354で、キヤツシユ40からアドレスされ
たDASD16へ、実際のデータ転送が起る。35
5で、本発明と無関連の事後転送動作が起る。3
56で、第1図のLRUリスト46にあるMビツ
ト(部分47)がリセツトされ、FBLレジスタ
79にあるエントリイは、DASD16へ転送され
たばかりのデータ・ブロツクを含む、キヤツシユ
40のアドレス可能データ記憶領域の指標値を受
取る。これは記憶システム10を準備して、
FBLレジスタ79に従つてキヤツシユ40の中
でスペースを割振らせる。357で、LDCBレジ
スタ62が検査され、CCRフイールド95及び
MISSフイールド96が1へセツトされているか
どうかが決定される。もしキヤツシユ・ミスがあ
れば、358でFBLレジスタ79が読出され、
キヤツシユ40で解放されたばかりのアドレス可
能記憶領域の1つの指標値が得られる。359
で、FBLレジスタ79が検査され、それが空で
あるかどうか決定される。もしそれが空であれ
ば、エラーが生じている。即ち、ステツプ358
は成功裡に実行されない。次にマイクロプロセツ
サ31Pは、通路360をたどつて、エラー回復
手順へ進む。空でなければ、マイクロプロセツサ
31Pは、第11図の論理コネクタ361及び第
9図の論理コネクタ283を介して第9図の割振
ステツプ284へ進む。もし357で示されるよ
うに、LDCBレジスタのCCRフイールド及び
MISSフイールドが1でなかつたために、キヤツ
シユ・ミスが生じて、書込待ち行列の走査が起ら
なかつたのであれば、マイクロプロセツサ31P
は、362で本発明と無関係の機能を実行し、タ
スク指名ステツプ190へ戻る。
代替方法として、マイクロプロセツサ31P
は、書込待ち行列127の走査を完了するため、
ステツプ362からループ342へ戻つてよい。
しかし、或る設計上の制限が存在する場合、マイ
クロプロセツサ31Pにとつて、書込待ち行列の
中に現われるDASD16への全ての書込みを完了
するのではなく、実行されるべき各種の作業を走
査するため、タスク指名ステツプ190を使用す
るのが適切であろう。他の設計の制限がある場合
には、ループ342を反復するため、直ちに通路
351へ戻るのがよいかも知れない。
第12図は、例えば第1図のセツト・ページ・
パラメータ(SPP)指令のようなモード設定型の
指令に対する、マイクロプロセツサ31Pのマシ
ン動作を示す。このような指令は、チヤネル・ア
ダプタ32を通して受取られる。指令は365で
第1図の「アドレス及び指令」評価器50によつ
てデコードされ、366で、マイクロプロセツサ
は、その指令がモード設定型の指令であるかどう
かを決定する。もしモード設定型の指令でなけれ
ば、マイクロプロセツサ31Pは論理通路367
をたどつて、その指令を実行する。もしモード設
定型の指令であれば、368で、マイクロプロセ
ツサ31PはCCW19(第1図)のアドレス・
バイト20に関連した適当なLDCBレジスタ62
にアクセスし、RD(読出し及び放棄)フイール
ド101をバイト22の値へセツトするととも
に、SEQフイールド94及び100をセツトす
る。本発明の実施に関する限り、アドレスされた
論理装置に対するLDCBレジスタ62の更新は、
モード設定指令の実行を完了する。セツト・ペー
ジ・パラメータ指令は、他の制御パラメータを含
んでよく、このような制御パラメータは、記憶シ
ステム10の制御データ構造(制御ストア73に
置かれるのが望ましい)の中で更新されねばなら
ない。369で、マイクロプロセツサ31Pは、
通常の如くホスト11へ終了状況信号を送る。マ
イクロプロセツサ31Pが追加の仕事を探してタ
スク指名ステツプ190に戻る前に、370で他
の機能を実行してよい。
【図面の簡単な説明】
第1図はホストへ接続された周辺データ記憶シ
ステムを示す、本発明を含む論理図である。更
に、本発明を実施するに当つて使用されるチヤネ
ル指令、内部指令ワード、及びキヤツシユ置換制
御リストが示される。第2図は周辺データ記憶シ
ステムを制御するためプログラム化されたプロセ
ツサを使用する、第1図のシステムの変更例を示
す論理ブロツク図である。第3図は第1図及び第
2図に示された周辺データ記憶システムで使用さ
れる各種のデータ構造を示す図である。第4図は
LRUキヤツシユ置換(又はオーバレイ)基準を
使用するキヤツシユ置換制御リストを示す図であ
る。第5図はチヤネル指令ワード及び内部指令ワ
ードを使用する、第1図及び第2図の記憶システ
ムの動作を示す図である。第6図は読出指令を実
行するときのマシン動作流れ図、及び第1図及び
第2図に示された記憶システムのキヤツシユ・ヒ
ツト論理フローを示す図である。第7図及び第8
図は第1図及び第2図に示される記憶システムに
おいてバツキング・ストアから前面ストア(キヤ
ツシユ)へシーケンシヤル・データを転送すると
きのマシン動作流れ図(準備部分及び内部指令ワ
ード部分を含む)である。第9図はキヤツシユ・
ミスに続く制御処理を示すマシン動作流れ図であ
る。第10図は非同期的書込動作の書込グループ
化を示すマシン動作流れ図である。第11図はキ
ヤツシユからDASDへ書かれる、グループ化され
たデータの待ち行列走査を示すマシン動作流れ図
である。第12図はモード設定指令の実行を示す
マシン動作流れ図である。 10……階層周辺データ記憶システム、11…
…ホスト、12〜15……I/O接続(チヤン
ル、サブチヤネル)、16……DASD、19……
チヤネル指令ワード(CCW)、20……アドレ
ス・バイト、21……指令バイト、22……指令
修飾バイト、23……アドレス・バイト、24…
…内部指令ワード(ICW)、25……リンケー
ジ・ポート(LKP)レジスタ、26……指令バ
イト、27……指令修飾バイト、28……アドレ
ス・バイト、30……システム・ストレージ、3
1……制御機構、32……チヤネル・アダプタ、
33……データ回路、34……装置アダプタ、3
5……装置制御アタツチメント、37……Jカウ
ンタ、38……放棄リスト(DL)、40……キヤ
ツシユ、43……登録簿、44……ハツシユ回
路、45……分散指標テーブル、46……キヤツ
シユ置換LRUリスト、47………M(変更)ビ
ツト部分、49……可用閾値、50……「アドレ
ス及び指令」評価器(ACE)、56……直接アク
セス・コントロール(DAC)、57……グループ
化閾値、58……システム・ストレージ・アドレ
ス・レジスタ(SSAR)、61……キヤツシユ・
アクセス・コントロール(CAC)、62……論理
装置制御ブロツク(LDCB)レジスタ、63……
チヤネル制御ブロツク(CCB)レジスタ、69
……待ち行列(Q)レジスタ、73……制御スト
ア、75……他のプログラム、76……ADEBレ
ジスタ、77……装置バツフア(DEVBUF)レ
ジスタ、78……バツフア・シーケンス・テーブ
ル(BST)、79……自由ブロツク・リスト
(FBL)、31P……マイクロプロセツサ、50
P……ACEプログラム、56P……DACプログ
ラム、61P……CACプログラム。

Claims (1)

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

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPS58147880A JPS58147880A (ja) 1983-09-02
JPS6143742B2 true 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)

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
US4974197A (en) * 1988-05-05 1990-11-27 International Business Machines Batching data objects for recording on optical disks with maximum object count
JPH073661B2 (ja) * 1988-05-05 1995-01-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 情報処理システム及びその制御方法
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
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
EP0451196A4 (en) * 1988-12-29 1992-12-23 Storage Technology Corp Computer system memory performance improvement apparatus
US5131087A (en) * 1988-12-29 1992-07-14 Storage Technology Corporation Computer system having apparatus for automatically redistributing data records stored therein
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
DE69033262T2 (de) 1989-04-13 2000-02-24 Sandisk Corp., Santa Clara EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
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
US5239637A (en) * 1989-06-30 1993-08-24 Digital Equipment Corporation Digital data management system for maintaining consistency of data in a shadow set
ATE158424T1 (de) * 1989-06-30 1997-10-15 Digital Equipment Corp Verfahren und anordnung zur steuerung von schattenspeichern
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.
FR2699703B1 (fr) * 1992-12-22 1995-01-13 Bull Sa Procédé de gestion d'une mémoire tampon, support d'enregistrement et système informatique l'incorporant.
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 キャッシュ制御方法および回転形記憶装置
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
JP3264465B2 (ja) * 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
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
US5765193A (en) * 1993-07-01 1998-06-09 Digital Equipment Corporation System for controlling a write operation involving data held in a write cache
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
CA2223876C (en) * 1995-06-26 2001-03-27 Novell, Inc. Apparatus and method for redundant write removal
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. 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 株式会社東芝 ディスク記憶装置
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
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
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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JPS6143742B2 (ja)
EP0071719B1 (en) Data processing apparatus including a paging storage subsystem
EP0072108B1 (en) A multiple operating mode storage subsystem
US4571674A (en) Peripheral storage system having multiple data transfer rates
US4875155A (en) Peripheral subsystem having read/write cache with record access
US4633387A (en) Load balancing in a multiunit system
US4500954A (en) Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
EP0106212B1 (en) Roll mode for cached data storage
US4779189A (en) Peripheral subsystem initialization method and apparatus
US6105075A (en) Scatter gather memory system for a hardware accelerated command interpreter engine
EP0075688B1 (en) Data processing apparatus including a selectively resettable peripheral system
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
US5233702A (en) Cache miss facility with stored sequences for data fetching
US4466059A (en) Method and apparatus for limiting data occupancy in a cache
US6192450B1 (en) Destage of data for write cache
JPS6367686B2 (ja)
JPH023215B2 (ja)
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data