JPH0147813B2 - - Google Patents

Info

Publication number
JPH0147813B2
JPH0147813B2 JP57101487A JP10148782A JPH0147813B2 JP H0147813 B2 JPH0147813 B2 JP H0147813B2 JP 57101487 A JP57101487 A JP 57101487A JP 10148782 A JP10148782 A JP 10148782A JP H0147813 B2 JPH0147813 B2 JP H0147813B2
Authority
JP
Japan
Prior art keywords
data
cache
host
field
register
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
JP57101487A
Other languages
English (en)
Other versions
JPS5823376A (ja
Inventor
Goodon Riido Deebitsudo
Edowaado Riiku Richaado
Suteiibun Uiriamuzu Jon
Hanto Kurisuchan Jon
Hawaado Haatangu Maikeru
Haabaato Noruta Aasaa
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 JPS5823376A publication Critical patent/JPS5823376A/ja
Publication of JPH0147813B2 publication Critical patent/JPH0147813B2/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
    • 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
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明の分野 本発明は階層型の周辺メモリ・システムに関
し、特にバツキング・ストアからそのようなメモ
リ・システムの前面ストアへデータ信号を転送す
る周辺メモリ・システムに関する。
先行技術 ホスト(中央処理ユニツト)へ接続可能な周辺
メモリ・システムは、ホストに関して種々の目的
を達成する。或るシステムはユーザのデータを記
憶し、他のシステムはページング及びスワツピン
グ・データを記憶するために使用される。後者の
場合、システムは、ページング及びスワツピン
グ・プログラム・データ・セツトと関連ずけて使
用されることができる。ページング記憶装置の例
は、IBM2305固定ヘツド記憶装置である。これ
は、IBM社から出版されている「IBM2835固定
ヘツド記憶制御装置及びIBM2305固定ヘツド記
憶装置」(Reference Manual for IBM2835
Storage Control and IBM2305 Fixed Head
Storage Module、GA26−1589−3)に説明さ
れている。この周辺メモリ・システムは磁気記憶
ドラムから構成され、このドラムは記憶されたデ
ータへの迅速なアクセスを可能にする。ドラムの
記憶容量には制限があるので、大容量を必要とす
る大型ホストは、必ずしもIBM2305のページン
グ記憶機構をその最大効率まで有効に使用するこ
とができない。足りない容量は、デイスク型の直
接アクセス記憶装置(DASD)によつて補われ
る。これは、特にスワツピング・データ・セツト
が使用される場合、即ち、多量のシーケンシヤ
ル・データ・セツトが迅速にホストと周辺メモリ
との間で転送される場合に行われる。効率を犠牲
にすることなく、記憶容量の制限を軽減するた
め、IBM2305の記憶ドラムに代つて階層記憶機
構を使用することができる。このような階層記憶
機構の例は、Edenの米国特許3569938に示され
る。この米国特許は、高速キヤツシユ・メモリを
DASD又は磁気テープ・レコーダのようなバツキ
ング・ストアへ動作的に接続することによつて、
高効率及び大容量の見かけの記憶装置を実現する
方法を教示している。Edenは、要求に応じてバ
ツキング・ストアからキヤツシユ又は前面ストア
へ、データをページングすること(要求されたデ
ータの周辺にあるデータをページングすることを
含む)が有利であることを教示している。この米
国特許は、周辺メモリの一般的アプリケーシヨン
としては非常に効果的なものであるが、一連のバ
ツキング・ストアが共通のキヤツシユを共用し、
ホストがマルチタスキング法を採用している場合
には、多量の直列データをキヤツシユに転送する
ことは煩雑となる。1つの解法は大容量のキヤツ
シユを使用することである。この解法は周辺シス
テムのコストを不必要に増大させ、望ましくな
い。従つて、もつと良い解法が必要となる。
Beladyの米国特許3588839は、所与のワードが
リクエストされた時、次のデータ・ワードを転送
することを開示している。この構成は、メイン・
メモリに設けられたキヤツシユの場合には良好に
働く。しかし、多量のデータ・セツトが転送され
ている場合、1つの追加的なデータ・セツトを転
送するだけでは、ホストは必ずしも周辺メモリ・
システムを最大に利用することはできない。この
最大効率の使用不可能性は、バツキング・ストア
の物理的特性によつて加重される。例えば、
DASDがバツキング・ストアである場合、デイス
ク記憶装置の機械的特性によつて生じるいくつか
の顕著な遅延境界が存在する。例えば、1つのデ
イスク記憶装置又は他のデイスク記憶装置を選択
する時、実質的な遅延が生じる。更に、大部分の
デイスク記憶装置は、コストを制限するため、記
録表面当り1個又は2個の変換器しか有しない。
デイスク記憶装置の全てのデータ領域にアクセス
するには、同心円の記録トラツクのそれぞれにア
クセスするため変換器を半径方向に移動させねば
ならない。そのようなヘツドの移動はシリンダ・
シークと呼ばれ、電子回路の速度と比較した場
合、かなりの遅延を生じる。従つて、Beladyの
解法は、多くのアプリケーシヨンで卓越した効果
をもたらすが、マルチ・タスク及びマルチ・デバ
イスの環境において、多量のシーケンシヤル・デ
ータ・セツトを処理する場合の問題を解決するこ
とができない。
Tobiasの米国特許3898624は、ホストとメイ
ン・メモリの中間にキヤツシユ・メモリを接続し
た構成を開示している。この特許に従えば、メイ
ン・メモリからキヤツシユへ1ラインのデータを
転送する時点を選択するため、オペレータ・コン
トロール・パネルが使用される。転送は常に1ラ
インのデータについて起る。このシステムは、或
る場合には有効に使用できるが(例えば、メイ
ン・メモリとホストとの関係で)、前記のシーケ
ンシヤル・データ・セツトの問題を解決すること
はできない。
更に、これらの周辺メモリ・システムにおい
て、所望の目的を達成するため、システム中のホ
ストの介入動作を最少にすることが望まれる。ホ
スト介入を最少にする問題は、Bassその他の米
国特許4262332に開示されている。この特許は、
DASD周辺システムへのホストのアクセスを最少
にするため、高使用特性及び領域限定機構を使用
する。この特許は、確かにそのような装置に対す
るホストの介入を最少にするが、上記先行技術の
いずれも、マルチ・タスキング及びマルチ・デバ
イス環境において、共用キヤツシユに関して多量
のシーケンシヤル・データ・セツトをどのように
処理するかを教示していない。
本発明の要約 本発明の目的は、キヤツシユの前面ストア又は
バツフアのサイズを最小にしつつ、シーケンシヤ
ル・データ信号転送における遅延の数を減少させ
るシステムを提供することである。キヤツシユを
介してバツキング・ストアとホストとの間でシー
ケンシヤル・データ信号を転送するには、周辺指
令の連鎖を使用する。本発明の動作において、周
辺記憶システムは、ホストから、シーケンシヤ
ル・データが来たるべき周辺動作のセツト中でホ
ストによつてリクエストされる旨の表示を受取
る。上記周辺動作は一連の周辺指令によつて特徴
づけられる。上記のシーケンシヤル表示と共に、
表示されたシーケンシヤル・ブロツクの終りに到
るまで順次にアクセスされる上記データ信号のブ
ロツクの数を示す信号が与えられる。周辺システ
ムは上記ブロツク数及びアドレス信号を上記シー
ケンシヤル表示と共に記憶し、続いて受取られる
周辺指令が一連の周辺動作として効果的に実行さ
れるようにする。キヤツシユの動作は、キヤツシ
ユ・ミスが起る度に、周辺記憶システムがキヤツ
シユ内容を調べ、シーケンシヤル・データを受取
るため、複数のランダムに選択されたキヤツシユ
領域を割当てるようなものである。次に、シーケ
ンシヤル・データの所定数のブロツクが、デイス
ク記憶装置の如きバツキング・ストアからキヤツ
シユへ迅速に転送される。デイレクトリイが更新
されて、キヤツシユ内のランダム・ロケーシヨン
のいずれがシーケンシヤル・データを含むかを表
示する。そのようなシーケンシヤル・データのブ
ロツクがリクエストされる度に、デイレクトリイ
はキヤツシユ中のデータを指示し、それがあたか
もバツキング・ストアから順次に受取られつつあ
るかの如く表示する。
本発明の他の動作モードにおいて、ホストによ
つてシーケンシヤルとして限定されたデータの全
ては、キヤツシユへ転送される。例えば、8ブロ
ツクのデータがシーケンシヤルであると表示され
た場合、最初8個のブロツクがキヤツシユへ転送
される。ホストは、そのようなデータの3個のブ
ロツクを読取ることができる。ここで置換アルゴ
リズムによつて、他の5個のブロツクが置換され
たものと仮定する。ホストが次に第4のブロツク
をリクエストした時、ミスが起る(第4のブロツ
クは置換されている)。シーケンシヤル・データ
が表示された時、周辺システムは、シーケンシヤ
ル・データの残りのもの(即ちブロツク4から8
まで)をキヤツシユへ自動的に転送し、ホストに
よつて使用させる。
シーケンシヤル・データの転送は、所与のデー
タ・ブロツクに所与のエラー状態を生じるかも知
れない。エラー・ブロツクは転送されないが、全
ての先行するブロツクはキヤツシユへ転送され
る。全ての他のブロツクはキヤツシユへ転送され
ることができる。次にホストは、キヤツシユから
転送されたデータ・ブロツクを読取る。転送され
なかつたブロツクへ試みられたアクセスは、ミス
を生じる。ミスのデータに対しては、1回だけ再
試行が実行されてよい。もし再試行が不成功であ
れば、永久的エラーがホストへ表示され、他のシ
ーケンシヤル・データがキヤツシユから読取られ
ることができる。エラー・ブロツクの復元は、デ
イスク記憶装置を直接にアクセスするため、ホス
トから無効動作を起すことによつて可能となる。
この復元は、DASDにあるエラーの復元を生じな
い。
実施例の説明 階層周辺記憶システム10はホスト11へ接続
される。ホスト11は、データ信号を受信及び送
信して、ホスト及び記憶機構で利用できるように
する。記憶システムの典型的アプリケーシヨンに
おいて、ホスト11は中央処理ユニツト(CPU)
から構成される。他の応用例では、ホスト11は
1つの仮想マシン、又はハードウエアCPUの上
で走る1セツトの仮想マシンであつてよい。更
に、ホスト11は多重プロセツサ、付加されたプ
ロセツサを有する単一プロセツサであつてよい。
本発明は非常に多様な記憶システム10へ適用す
ることができるが、実施例は、ページング及びス
ワツピング・データ・セツトを処理するためのペ
ージング周辺記憶システムを示す。概して、その
ようなページング及びスワツピング・データ・セ
ツトは、ホスト11のためにプログラム・デー
タ・セツトを記憶することに関連する。そのよう
なものとして、記憶システム10は単一のホスト
へ接続され、一般的アプリケーシヨンの周辺記憶
システムは、複数のホストへ接続されることがで
きる。本発明は、いずれの形式の周辺記憶システ
ムへも適用できる。
ページング記憶システム10とホスト11との
間の通信は、複数のI/O(入出力)接続12−
15を介して実行される。これらのI/O接続
は、IBM社から市販されているIBM370シリー
ズ・コンピユータの入出力周辺チヤネルに従つて
構成される。このようなI/O接続(通常、チヤ
ネル及びサブチヤネルと呼ばれる)は周知である
から、詳細な説明を省略する。記憶システム10
は複数の直接アクセス記憶装置(DASD)16−
18より成るバツキング・ストアを有する。周辺
記憶装置10において、ホスト11によつて実行
される全てのデータのアクセス及びデータの記憶
は、DASD16−18をアドレスすることによつ
て行われる。このアドレシングはI/O接続12
−15のアーキテクチヤーを使用して達成される
が、このアーキテクチヤーは論理ブロツク19に
要約される。論理ブロツク19は、IBM入出力
接続のためにチヤネルで使用されるチヤネル指令
ワード(CCW)を表わす。典型的には、論理ブ
ロツク19はアドレス・バイト20を含む。アド
レス・バイト20は制御ユニツト(CU)を指定
する複数のビツトを含む。CUは指令を受取るべ
きユニツトである。第2の複数個のビツトDEV
は、アクセスされるべきDASD16−18を指定
する。記憶システム10において、DASD16−
18の各々は複数の論理装置アドレスを与えられ
る。即ち、DASD16(D0)は4つのアドレス
の任意の1つによつてアドレスされることができ
る。このような複数アドレシングは、IBM2305
固定ヘツド記憶装置において、制限された程度で
実行されてきた。各DASDに対する論理アドレス
は、アドレス・バイト20のAC部分で示される。
従つて、AC部分は、4つの論理アドレスのいず
れがDASD16をアドレスするためにホスト11
によつて使用されつつあるかを示す2個のビツト
を有する。実施例において、論理アドレスの1つ
00は、DASD16−18に対する直接アクセスを
示す。即ち、ホスト11は、DASD16−18に
関して、記憶システム10があたかも階層システ
ムではないかの如く動作する。全ての階層は直接
アクセスについてバイパスされる。AC部分が01、
10、11に等しい場合、DASD16−18からデー
タを読出し又はそこへデータを与えるため、後に
説明する階層記憶がアクセスされる。DASDの見
かけの効率は、これら3つの論理装置アドレスを
使用する場合に改善される。AC部分は、DEV部
分によつて示された装置に対して論理的アクセス
通路を示す。
論理ブロツク19の第2のバイトは指令バイト
21である。指令バイト21は、記憶システム1
0へどのような機能が実行されるべきかを示すコ
ードを含む。第3のバイトは指令修正バイト22
である。指令修正バイト22は、複数の制御フイ
ールドを有し、これらのフイールドは、記憶シス
テム10へ、指令バイト21で表わされた指令を
実行するため、各種の動作モードを示す。本発明
に関連のあるフイールドはSEQフイールドであ
る。ホスト11は、SEQフイールドを使用して、
来たるべき転送動作で転送されるべきデータがシ
ーケンシヤル・データであることを記憶システム
10へ知らせる。バイト22のSEQフイールド
がシーケンシヤル・データを示す時、第2の指令
修正バイト23が論理ブロツク19に含まれる。
バイト23は、DASD16−18からホスト11
へ(又はその逆方向へ)シーケンシヤル・デー
タ・セツトとして転送されるデータ・ブロツク又
はデータ・セグメントの数を示す。ページング環
境におけるそのようなシーケンシヤル・データ・
セツトは、スワツピング・データ・セツトとも呼
ばれる。更にバイト22はRDフイールドによつ
て読出放棄を指定することができる。RDフイー
ルドは、ホスト11が階層記憶機構から1度デー
タを獲得すれば、キヤツシユ中のそのデータは放
棄されることができることを意味する。DASD1
6−18のデータは保持される。更に、GO
(Guest Operating Syatem)フイールドによつ
て、他の制御が与えられる。ホスト11の仮想コ
ンピユータ環境において、オペレーテイング・シ
ステムの1つは記憶システム10を認識すること
ができる。記憶システム10へのアクセスは、デ
ータへアクセスし又はデータを記憶するため、他
のオペレーテイング・システムへ移されることが
できる。そのような他のオペレーテイング・シス
テムは、最初のオペレーテイング・システムのゲ
ストであり、記憶システムの或る制御局面を修正
することは許されない。バイト22には、本発明
と関連のない他の制御フイールドも含まれる。
階層記憶機構は、半導体ランダム・アクセス形
のシステム・ストレージ30を含む。システム・
ストレージ30はDASD16−18のためのキヤ
ツシユ40を含む。キヤツシユの使用原理は周知
であるから、キヤツシユ40の目的を説明する必
要はあるまい。コントロール31はホスト11か
ら周辺指令を受取る。それは、論理装置アドレス
の1つによつてDASD16−18をアクセスする
と共に、他の3つの論理装置アドレスに基いて
(AC部分に注意)、キヤツシユ40へアクセスす
るためである。データは、記憶システム10によ
つて、キヤツシユ40とDASD16−18の間で
自動的に転送される。この転送は、ホスト11と
DASD16の間で実行される転送の原理と同じ原
理で達成される。即ち、ホスト11はDASD16
−18へ直接モードで(AC=00)アクセスする
が、それは、チヤネル・アダプタ32(CAA、
CAB、CAC、CAD)、バス70、直接アクセ
ス・コントロール56、データ・フロー回路3
3、装置アダプタ34、デイスク制御アダプタ3
5を介して行われる。受取られた論理ブロツク1
9は、コントロール31によつて解釈される。そ
れは、ホスト11とDASD16−18の間のデー
タ・フローの方向を決定し、かつこの種の記憶装
置を制御する既知の他の機能を決定するためであ
る。キヤツシユ40とDASD16−18の関係
は、実質的にホスト11とDASD16−18の関
係に等しい。即ち、ホスト11が一連のCCWを
含む論理ブロツク19により制御を与えている
間、コントロール31は、複数の内部制御ワード
(ICW)を使用して、キヤツシユ40とDASD1
6−18との間のアクセスを与える。内部制御ワ
ード(ICW)は、後に明らかになるように、
CCWと同じように構成されている。論理ブロツ
ク19に関して内部制御ワードを変更することに
よつて、転送動作の効率が改善される。コントロ
ール31は、チヤネル・アダプタ32を使用する
代りに、キヤツシユ・アクセス・コントロール6
1を使用する。コントロール61はシステム・ス
トレージ30を動作させ、かつ内部制御ワード2
4を使用して、直接アクセス・コントロール56
を通してDASD16−18へアクセスする。チヤ
ネル・アダプタ32の代りに、リンケージ・ポー
ト25がコントロール61とコントロール56と
の間の転送を制御する。リンケージ・ポート25
については、後に第3図を参照して説明する。
内部制御ワード24は、指令バイト21に対応
する指令バイト26を含む。ここで理解すべき
は、同じ指令に対するコードは等しいことであ
る。ただし指令バイト26については、指令バイ
ト21として供給される指令のいくつかは使用さ
れず、その代りにいくつかのの追加的な指令が使
用される。指令修正バイト27は、連鎖フイール
ドを含む。このフイールドに含まれる連鎖制御ビ
ツトは、通常ホスト11からチヤネル・アダプタ
32を介してコントロール31へ与えられる連鎖
表示と入替る。(ホスト11による連鎖表示は、
SUPPRESS OUTタグ信号を与えることであ
る。)最終状況が記憶システム10によつてホス
ト11へ報告されるべきである時、連鎖の
SUPPRESS OUT表示(即ち、一連の密接に関
連した周辺指令)が、I/O接続12−15と共
に使用される。コントロール61はタグ制御信号
を使用しないから、指令修正バイト27がそのタ
グ制御信号と入替るために使用される。内部制御
ワード24のアドレス・バイト28は、DASD1
6−18のアドレスの記憶ロケーシヨンを指定す
る。内部制御ワードの中では、論理アドレスは使
用されない。事実として、コントロール31は、
階層記憶機構へ導かれた論理アドレスの全てを
DEV部分へ変換する。アドレス・バイト28は、
DEV部分の記憶されたロケーシヨンを指定する
のみならず、シリンダ・アドレスC、ヘツド・ア
ドレス又はトラツク・アドレスH、及びレコー
ド・アドレスRを指定する。
レコード・アドレスは、大部分のデイスク記憶
装置をアドレスするときに使用されるセクタ・ア
ドレスに対応する。実施例において、4つのレコ
ードが1本のトラツク(Hアドレス)上に存在す
る。従つて、レコード・アドレスは、デイスクが
回転する基準地点に関して有する0゜、90゜、180゜、
270゜の方向に対応して1、2、3、4である。設
計パラメータとしては、直角方向とは異つた実際
の回転方向を規定されてよい。
キヤツシユ40は、バス41及びチヤネル・ア
ダプタ32を介して、ホスト11との間でデータ
信号を転送する。同様に、データ信号は、バス4
2及びデータ・フロー回路33を介して、キヤツ
シユとDASD16−18との間を転送される。キ
ヤツシユ40とホスト11との間、及びキヤツシ
ユ40とDASD16−18との間における同時転
送が望まれなければ、バス41及び42はデータ
転送によつて時分割される単一のバスへ結合され
る。キヤツシユ40(これは数メガ・バイトを含
む比較的大型のメモリであることができる)にア
クセスするには、コントロール61が、装置アド
レスをシリンダ・アドレス及びレコード・アドレ
スCHRと共に、バス64を介してハツシユ回路
44へ送ることを要する。マイクロコード構成で
あつてよいハツシユ回路44は、DASDのアドレ
スをハツシユ・クラス・インデイケータへ変換す
る。キヤツシユ40の記憶容量はDASD16−1
8よりはるかに小さいので、DASD16−18の
アドレス範囲は、アクセスを容易にするため、ハ
ツシユ・クラスと呼ばれるクラスへ集中させられ
る。スキヤタ・インデツクス・テーブル45は、
ハツシユ回路44によつて限定されたクラスの
各々について1個のレジスタを有する。テーブル
45にあるレジスタの内容は、デイレクトリイ4
3に対するアドレス・ポインタである。デイレク
トリイ43は、DASD16−18へアクセスする
ために使用されるアドレスDCHRを含む。デー
タがキヤツシユ40に記憶される時、DASD16
−18のDCHRアドレスが、キヤツシユ40の
アドレスと共にデイレクトリイ43のエントリイ
部分へ書込まれる。DASD16−18の複数のア
ドレスが1つのハツシユ・クラスに対応するの
で、単一的にリンクされたハツシユ・クラス・リ
ストがデイレクトリイ43のエントリイ中に設け
られ、ハツシユ値を用いてキヤツシユ40を走査
するには、所与のハツシユ・クラス内のエントリ
イを走査するだけでよいように構成されている。
デイレクトリイ43の内容に基いて、キヤツシユ
40は既知の手法を使用してアクセスされる。も
し関連したエントリイがデイレクトリイ43の中
で発見されなければミスが生じる。その場合、コ
ントロール61は、ホスト11からのデータを受
取るためのスペースをキヤツシユ40に割当てる
か、内部制御ワード24及びリンケージ・ポート
25を使用してDASD16−18からデータを転
送する必要がある。
コントロール31は、ホストへ接続される制御
ユニツトの通常の部分を含む。例えば、アドレス
及び指令評価器50は、ホスト11から指令信号
を受取りかつ状況信号をホスト11へ与えるた
め、バス51,52,53,54を介してチヤネ
ル・アダプタ32と通信する。評価器50は、論
理ブロツク19のCCWを評価し、記憶装置10
へ命令を与えて、指令機能を実行させると共に、
連鎖状態を表示し、かつ周辺システムの他の部分
から状況信号を受取つて、それをホスト11へ転
送する。直接モードでは(即ちAC=00の時)、評
価器50はバス55を介して指令信号を直接アク
セス・コントロール56へ与え、データ信号が既
知のDASD手法を用いてデータ・フロー回路33
と適当なチヤネル・アダプタ32との間で転送さ
れるようにする。コントロール56は、その機能
を実行する時、通常の態様でデータ・フロー回路
33を制御する。
ここで重要なのは階層記憶機構の動作である。
この動作によつて、シーケンシヤル・データ・セ
ツトは、最小サイズのキヤツシユと最小の割当制
御機構を使用して、キヤツシユ40中に置かれる
ことができる。その場合、効率的な態様で連続性
が維持され、ホスト11の動作要件を満足させる
ため、十分な数のデータ・ブロツクがキヤツシユ
中に維持される。評価器50は、記憶機構へのア
クセスを示すバイト20中の論理装置アドレスを
受取つた時、受取つた指令信号を、3つのバス6
0の1つを介して、コントロール61へ与える。
3つのバスは、キヤツシユ40のそれぞれのアク
セスを示す論理バスである。コントロール61
は、受取つた指令及び修正データを、チヤネル制
御ブロツク・レジスタ63に記憶する。論理装置
の各々に対して1個のレジスタが存在する。
DASDの各々に対して3つの論理装置アドレスが
存在することを想起されたい。従つて、もし8個
のDASD16−18があれば、レジスタ62には
24個のレジスタが置かれている。(DASD18は
1本の破線として示されているが、実際には、こ
の線上に6個のDASDが取付けられている。) 各論理装置の識別情報及び動作状況は、論理装
置制御ブロツク・レジスタ62にある複数のレジ
スタの1つに保存される。論理装置へのアクセス
(これはキヤツシユ40中のレジスタを、バイト
20のAC及びDEV部分で示されたアドレスへ割
当てることによつて表わされる)は、アドレス・
バス64を経由してハツシユ回路44に対してな
される。シーケンシヤル・データ及びDASD16
−18のシーケンシヤル・アドレス(CHR部分)
について、テーブル45中の連続したレジスタが
アクセスされる。従つて、コントロール61は、
ハツシユ回路44における遅延を避けるため、バ
ス65を介してテーブル45にアクセスする。こ
の動作は、シーケンシヤル・データが処理されて
いる時、記憶システム10のホスト11に対する
応答を早める。コントロール61が、デイレクト
リイ43のハツシユ・クラスを探索することから
生じたミス表示を受取つた時、DASD16−18
からキヤツシユ40へのデータ転送リクエスト
は、リンケージ・ポート25を介してバス66か
らコントロール56へ与えられる。バス66上の
信号は、コントロール56の注意をそのリクエス
トへ向けさせ、内部制御ワードがリンケージ・ポ
ート25を介してアドレス可能であることを表示
する。マイクロコードを用いた実施例では、リン
ケージ・ポート25は、後に明らかになるよう
に、マイクロコード・リンケージ・ポートであ
る。コントロール56は、それが論理ブロツク1
9に応答する場合と同じようにして、内部制御ワ
ード24に応答する。リンケージ・ポート25を
介してリクエストされたデータ転送が完了する
と、コントロール56はバス67を介してコント
ロール61へ状況信号を与える。その時点で、キ
ヤツシユ40はホスト11で利用可能なデータを
有する。コントロール61とコントロール56と
の間のその他の通信は、バス68を介して行われ
る。そのような通信はメツセージ・データをリン
ケージ・ポート25に記憶することを含む。
DASD16−18は複数の論理装置アドレスによ
つてアクセスされるから、1組のキユー・レジス
タ69が、コントロール61によつてリクエスト
された装置に関連した動作を待ち行列に入れる。
このようにして、コントロール56は、論理装置
を介する待合せリクエストとは無関係に、ホスト
11及びコントロール61のために、直接アクセ
ス・モードで動作することができる。コントロー
ル56は、階層記憶機構と関連ずけて使用できる
だけでなく、階層記憶機構を使用しない周辺記憶
システムにおいても使用されることができる。
更に、コントロール61は追加の制御回路を含
む。例えば、アクチブ・デイレクトリイ・エント
リイ・バツフア・レジスタ76は、コントロール
61が現在一緒に動作しているデイレクトリイ4
3の1つのエントリイを含む。即ち、DASD16
−18のアドレスがキヤツシユ40のヒツトを生
じた場合、又はキヤツシユ40の1部がホスト1
1によつて与えられるべきデータへ割当てられた
場合、レジスタ76にエントリイを入れることに
よつて、コントロール61の動作は改善される。
即ち、デイレクトリイ43はシステム・ストレー
ジ30の1部であり、アクチブなエントリイをレ
ジスタ76に置くことによつて、システム・スト
レージ30は、コントロール31から独立して、
バス41及び42を介してデータを転送できるよ
うに解放される。装置バツフア・レジスタ77
は、DASD16−18に関連した制御情報を含
み、コントロール56を介してアクセスを設定す
る時、コントロール61によつて使用される。そ
のようなレジスタは、本発明をアイクロコード構
成とした場合に、書込可能制御ストア中で発見さ
れる。レジスタ77は単に制御ストアの割当部分
であり、指定されたデータ構造を有しない。バツ
フア・シーケンス・テーブル78は、後に第3図
と関連して説明する。それは、バス42上を一連
のデータ・ブロツクとして転送されるデータ・ブ
ロツクの各々についてデイレクトリイ43を指定
するポインタを含み、かつシーケンシヤル転送の
間に、どのデイレクトリイ・インデツクスがキヤ
ツシユ40へアクセスするために使用されるべき
かを決定する走査制御機構を含む。このようにし
て、シーケンシヤル転送はアドレス設定なしで実
行されることができ、後に明らかになるように、
DASD16−18からブロツクのバーストが中断
なしに実行される。
第2図は、第1図に示されたシステムの代替実
施例を示す。第2図の実施例は、第1図のコント
ロール31に対応するプログラム化されたマイク
ロプロセツサ31Pを含む。バス70は、チヤネ
ル・アダプタ32からデータ・フロー回路33へ
延長され、第1図の場合と同じように動作する。
バス41及び42は、それぞれチヤネル・アダプ
タ32及びデータ・フロー回路33からシステ
ム・ストレージ30へ延長される。バス41及び
42は、データ転送が単一のバスを時分割する場
合、1本バスへ結合されてよい。プロセツサ31
Pは、データ・フロー回路とシステム・ストレー
ジ30との間でデータ転送を制御する場合、バス
71を介して回路33へ制御信号を与え、バス7
2を介してシステム・ストレージ30へアドレス
及びシーケンシングの制御信号を与える。複数の
システム・ストレージ・アドレス・レジスタ
(SSAR)79は、システム・ストレージ30へ
アドレスを与える。例えば、8個又は16個の
SSAR79が設けられてよい。従つて、プロセツ
サ31Pがシステム・ストレージ30にアクセス
する時、それはシステム・ストレージ30のアド
レスをSSAR79へ与えるのみならず、どの
SSARが使用されるべきかをも示す。メモリに対
して複数のアドレス・レジスタを設ける技術は知
られており、これ以上詳細に説明しない。
本発明の実施において、SSAR79はシーケン
シヤル・データ・ブロツクの各バーストのために
使用され、プロセツサ31Pはキヤツシユ40
(システム・ストレージ30の1部)のアドレス
をSSAR79にロードすることによつてシステ
ム・ストレージ30を起動する。従つて、アドレ
スは連続したシーケンシヤル・ブロツクの中間で
SSAR79へロードされる必要はない。シーケン
シヤル転送の間、プロセツサ31Pは、キヤツシ
ユ40とDASD16−18の間でデータ信号の転
送を開始するため、単にSSARを参照する。ここ
で注意すべきは、キヤツシユ40がシステム30
内で同じような態様で所与のアドレス・スペース
を有することである。デイレクトリイ43は、異
つた範囲のアドレスを有する。SSAR79は、シ
ステム・ストレージ30のメモリ・アレイの外に
ある別個の電子レジスタである。プロセツサ31
Pは、バス51−54を介してチヤネル・アダプ
タ32と通信する。
プロセツサ31Pの動作は、コントロール・ス
トア73に記憶されたマイクロコード・プログラ
ムに従う。コントロール・ストア73は書込可能
であることが望ましい。1部のみを書込可能に
し、プログラムを含む部分は読出専用にすること
ができる。バス74はプロセツサ31Pをコント
ロール・ストア73へ接続する。コントロール・
ストア73の中には、アドレス及び指令評価器5
0の機能を実行するプログラム50P、直接アク
セス・コントロール56の機能を実行するプログ
ラム56P、キヤツシユ・アクセス・コントロー
ル61の機能を実行するプログラム61P、記憶
システム10の動作に必要なその他のプログラム
75がある。プログラム50P,56P,61P
によつてシステム10を制御するため、プロセツ
サ31Pによつて使用されるレジスタ乃至記憶領
域には、論理装置制御ブロツク・レジスタ62、
チヤネル制御ブロツク・レジスタ63、キユー・
レジスタ69、アクチブ・デイレクトリイ・エン
トリイ・バツフア・レジスタ76、スキヤナ・イ
ンデツクス・テーブル45、装置バツフア・レジ
スタ77、リンケージ・ポート25、バツフア・
シーケンス・テーブル78などがある。非常に容
量の大きいキヤツシユ40については、テーブル
45をシステム・ストレージ30に記憶すること
ができる。効率を上げるため、テーブル45の1
ページを含む1群のレジスタが、コントロール・
ストア73に設定されてよい。
第2図に示される装置の動作は、第3図乃至第
9図を参照することによつて良好に理解できる。
これらの図面は詳細なデータ構造、及び本発明の
動作の理解に必要なマイクロコード部分に対する
論理フロー図を示す。第3図は、本発明に従つて
記憶システム10を動作させるため、プロセツサ
31Pによつて使用されるデータ構造を示す。レ
ジスタ62はデータ信号を含む一連のレジスタで
あつて、4つの部分に分けられる。基本部分80
は基本的なデータ構造であつて、これは一般的動
作の意味における記憶システム10の機能を限定
すると共に機能をサポートする。ページング・パ
ラメータ部分81は、ページング及びスワツピン
グ機能を限定するパラメータに関連する部分であ
る。ページング及びスワツピング機能は、後に説
明するページング・パラメータ設定指命により設
定される。指令パラメータ部分82は、ホスト1
1によつて出されたセクタ設定、シーク、識別情
報探索指令のような指令パラメータを含む。これ
らの指令は、既知のデイスク記憶装置周辺記憶シ
ステムと関連して使用される。読出パラメータ部
分83は、読出パラメータをサポートするパラメ
ータを含む。読出しは、データ信号をDASD16
−18からキヤツシユ40へ転送することであ
る。
基本部分80は装置フイールド90を含む。フ
イールド90は装置終了信号が記憶システム10
によつてホスト11へ出されるべきか否かを示
す。チヤネル・マスク・フイールド91は、どの
チヤネル・アダプタ32が現在の指令を受取つた
か(即ち、論理装置がどのチヤネルに関連してい
るか)を示すビツト・パターンを含む。論理装置
アドレス・フイールド92は、指令と共に受取ら
れた論理アドレス(即ち、第1図のバイト20の
AC及びDEV部分)を示すコードを含む。指令フ
イールド93は第1図のバイト21からのコード
を含む。シーケンス・フイールド94は第1図の
バイド22のSEQ部分を含む。チヤネル指令リ
トライ・フイールド95は、システム10によつ
てチヤネル指令リトライ信号がホスト11へ送ら
れたか否かを示す。キヤツシユ・ミスがミス・フ
イールド96で示されると、チヤネル指令リトラ
イ信号がホスト11へ送られている。従つて、レ
ジスタ62は、キヤツシユ40についてミスが生
じたこと、及びシステム10が適当なチヤネル指
令リトライ信号を与えたことを知らせる。チヤネ
ル指令リトライ信号は、単に周辺指令の実行中に
遅延が必要であることをホスト11へ知らせる。
システム10が指令を実行できる状態に達する
と、それにホストへ装置終了信号を送る。次に、
ホストは2度目の周辺指令を送り、その指令はシ
ステム10によつて実行されることができる。
ページング・パラメータ部分81は、バイト2
2のSEQフイールドに対応するシーケンス・フ
イールド100、及びバイト22のRDフイール
ドから取られた読出フイールド101を含む。カ
ウント・フイールド102は、バイト23から取
られたブロツク数を含む。シーケンシヤル・デー
タの各ブロツクがホスト11へ転送される度に、
カウント・フイールド102は1だけ減少され
る。従つて、それはキヤツシユ40を介してホス
ト11へ転送されるべきブロツクの数を示す。ベ
ース・シリンダ・フイールド103は、シーケン
シヤル・データがDASD16−18から転送され
る場合のシリンダ・アドレスCを含む。即ち、マ
ルチシリンダ・リクエストの場合、フイールド1
03は、仮想マシン・ミニデイスクのC値を含
む。
指令パラメータ部分82は、シーク・アドレ
ス・フイールド104にDASDのシーク・アドレ
スを含み、探索フイールド105に最後又は現在
の識別情報探索引数を含み、セクタ・フイールド
106に最後又は現在のセクタ値を含む。
読出パラメータ部分83は要求フイールド11
0を含む。フイールド110は、DASD16−1
8からキヤツシユ40へのデータ転送が要求され
ていることを示す。進行フイールド111は、
DASD16−18からキヤツシユ40への読出し
が進行中であることを示す。後処理フイールド1
12は、DASD16−18からの読出しが完了
し、或る後処理機能が実行されていることを示
す。装置アドレス・フイールド113は、アドレ
スされている実際のDASD16−18の表示する
ため、バイト20(第1図)から取られたDEV
部分を含む。デイレクトリイ・インデツクス・フ
イールド114は、どのデイレクトリイ・エント
リイ・レジスタがレジスタ62で指定された論理
装置に対応するエントリイを含むかを示すため、
デイレクトリイ43のインデツクス値を含む。ス
トレージ・アドレス・レジスタ・フイールド11
5は、DASD16−18とキヤツシユ40の間の
データ転送で、どのSSAR79がキヤツシユ40
にアクセスするために使用されるかを示す。保存
フイールド119は、割込動作を含む各種の動作
の間に、プロセツサ31Pが制御データを保存す
るために使用するレジスタ62の領域を示す。
アクチブ・デイレクトリイ・エントリイ・バツ
フア・レジスタ76は、デイレクトリイ43の各
エントリイと同じ構成を有する。従つて、レジス
タ76の説明は、デイレクトリイ43の説明と同
じである。デイレクトリイ43及びレジスタ76
の各エントリイにおいて、インデツクス・フイー
ルド107はデイレクトリイ・エントリイの論理
アドレスを含む。これは、各エントリイのための
自己識別データである。フイールド108は、キ
ヤツシユに記憶されたデータ、又は記憶の割当て
を受けたデータに対応するDASD16−18のア
ドレスを含む。CCPフイールドは物理シリン
ダ・アドレス(即ち、DASD16−18に対する
シリンダの実際の物理アドレス)を含む。Hフイ
ールドはヘツド・アドレスを含む。Rフイールド
はレコード・アドレスを含む。Dフイールドはバ
イト20のDEV部分に対応する装置アドレスを
含む。セクタ・フイールドは実際のセクタ値(即
ち、読出しが始まるデイスク回転位置)を含む。
4つのレコードを有するトラツクのためのRフイ
ールドの値は、1から4まで変動するが、セク
タ・フイールドの値は、実際のセクタ・アドレス
である。DASDをアドレスする時、Rフイールド
の値は、通常のDASDアドレシング手法を用い
て、バイト・レベルで回転位置インデイケータへ
変換される。或る種のホスト・オペレーテイン
グ・システムにおけるRフイールドの値は、1−
120の範囲をとる。その他の範囲の場合、Rフイ
ールドの値はトラツクに含まれるレコードの数N
のモジユロ値へ減少される。次に、Rフイールド
の値及びモジユロNはデイスクの回転アドレスへ
変換される。そのようなセクタ値は、最小の待ち
時間遅延と共にレコードへのアクセスを開始する
ために適している。CCLフイールドは論理シリ
ンダ・アドレスを含む。このアドレスは、物理装
置上で限定される論理装置のために使用される。
リンク・フイールド109は、ハツシユ・クラス
の全てのエントリイを相互にリンクするため、単
一的にリンクされたリストのデータ信号コードを
含む。所与のハツシユ・クラスの最後のエントリ
イは、連鎖の終り又はクラスの終りを示す特定の
コード(ゼロ)を含む。変更フイールド269
は、キヤツシユ40中のデータが、DASD16−
18から受取られた後で変更されたかどうかを示
す。本発明の理解に関係のない他のコードを、デ
イレクトリイ43の各エントリイへ付加すること
ができる。例えば、MRU−LRUリストを各エン
トリイに含ませてよい。
リンケージ・ポート25は、プログラム50
P,56P,61Pによつてアクセス可能なコン
トロール・ストア73の領域である。この領域
は、これらマイクロコード・ユニツトの実行の相
互作用を制御するためのメツセージ領域である。
或る実施型態では、プログラム50P及び56P
は1つのコード・セグメントとして取扱われ、リ
ンケージ・ポート25は、これら2つのマイクロ
コード・セクシヨンによつて単一ユニツトとして
アクセスされる。リンケージ・ポート25はコー
ド・ポイント・フイールド110′を含む。この
フイールドは、制御データをリンケージ・ポート
に転送したコードの部分を示す。即ち、プログラ
ム61Pがエントリイをリンケージ・ポート25
に転送した時、プログラム56Pはその制御デー
タをフエツチし、機能を実行する。プログラム5
6Pが、プログラム61Pによるリクエストに応
答して、新しいデータをリンケージ・ポート25
に入れた時、フイールド110′は、コード実行
のどの地点にプログラム56Pが関連しているか
をプログラム61Pに知らせるので、プログラム
61Pは、プログラム56Pの応答に基いて処理
を継続することができる。優先順位フイールド1
11′は、リンケージ・ポート25に入れられた
リクエストの優先順位が高いか、低いか、又は連
続処理を要するものかを表示するコードを含む。
有効フイールド112′は、リンケージ・ポート
25のエントリイが有効であるかどうか(即ち、
アクシヨンを要する最近のエントリイであるかど
うか)を示す。装置フイールド113′は、
DASD16−18のいずれがリンケージ・ポート
25にある現在の制御データと関連しているかを
示すため、バイト20から取られたDEV部分を
含む。パラメータ・フイールド114′は、メツ
セージに関連した各種のパラメータ(即ち、どの
ような機能が実行されるべきであるか、状況情報
など)を含む。
バツフア・シーケンス・テーブル78は、
DASD16−18の各々のために1群のレジスタ
を有する。第1のレジスタは削除フイールド12
0を含む。フイールド120はデイレクトリイ・
インデツクス122−123を指定する1から8
までのインデツクス値を含む。これらのインデツ
クスは、削除されるべきデイレクトリイ・エント
リイを指定する。カウント・フイールド121
は、テーブルに含まれる有効なエントリイの数の
カウントを含む。更に、それはアドレスとして使
用される。例えば、最初のデイレクトリイ・イン
デツクスは常に122に記憶され、第8番目のデ
イレクトリイ・インデツクスは123に記憶され
る。フイールド121に3の値があれば、第3番
目のデイレクトリイ・インデツクスがアクセスさ
れる。デイレクトリイ・インデツクスは、デイレ
クトリイ43のエントリイの論理アドレスであ
り、デイレクトリイ43に対して迅速なアクセス
を可能とする。
第4図はデータの読出し又は書込み転送におけ
る一連のチヤネル指令ワード(CCW)及び内部
制御ワード(ICW)を示す。読出転送は、
DASD16−18からホスト11への信号転送で
あり、書込転送はその逆方向のデータ転送であ
る。CCW連鎖130は、ページング・パラメー
タ設定(SPP)CCW132から始まる。第5図
は記憶システム10によるそのような指令の実行
を示す。基本的には、SPP CCW132は、シー
ケンシヤル・データが記憶システム10からホス
ト11へ転送されるべきか否かを設定すると共
に、第1図の論理ブロツク19のバイト22で指
定される他のパラメータを設定する。SPP CCW
132が1度動作パラメータをシステム10へ表
示すると、シークCCW133はシーク指令を周
辺記憶システムへ転送する。シーク・パラメータ
はSPP CCW中に含まれていてよい。通常の
DASD構造に従えば、シークの次にセクタ設定
CCW134が続き、その次にID(識別情報)等価
探索CCW135が続く。ここで記憶システムは、
読出CCW136によつて、アドレスされた
DASD16−18からデータを読出す準備を完了
する。読出指令を受取ると、記憶システム10は
列131に示されるアクシヨンを実行する。先
ず、シーク、セクタ設定、及びID等価探索の各
CCWはスタツク140にある。137で、第1
図に関して説明したように、デイレクトリイ43
の探索が実行される。ヒツトの場合(即ち、要求
されたデータがキヤツシユ40にある場合線13
8によつて示されるように、データは、キヤツシ
ユからホストへ、指令を受取つたチヤネル・アダ
プタ32を介して転送される。他方、データがキ
ヤツシユに存在しないことをデイレクトリイ43
が表示すると、線141で示されるようにミスが
生じる。この場合、線142で示されるように、
チヤネル指令リトライ信号がシステム10によつ
て与えられる。これは、ホスト11へ、装置終了
信号がシステム10から受取られた時、同じ読出
指令をシステム10へ送ることによつて、読出
CCW136がチヤネルによつて再実行されねば
ならないことを知らせる。これが生じると、シス
テム10は、ICW連鎖143−148を形成す
る。このICW連鎖は、シークICW143で始ま
るが、このICWはホスト11から受取られてス
タツクされたシーク指令から導入される。マルチ
トラツク動作の場合、ICWはID探索パラメータ
から導入される。シークICW143の次にはセ
クタ設定ICW144が続く。ICW144はレコ
ード番号から計算されたセクタを有する。ローカ
ルの入力は、キヤツシユ設定ICW145を作る。
このICWは、プログラム56Pをして、読出さ
れるべきデータが記憶されるシステム・ストレー
ジ30のアドレスを、適当なSSAR79へ挿入せ
しめる。もし複数のデータ・ブロツクが転送され
るべきであれば、146で示されるように複数の
キヤツシユ設定ICWが生じる。次に、CCW13
5に対応するID等価探索ICW147が生じる。
ID等価探索ICW147は最初のキヤツシユ設定
ICW145に対応する。これは、1つのICW1
47を用いて、複数のデータ・ブロツクが順次に
読出されることを意味する。次に、転送されるべ
きデータ・ブロツクの数に等しい読出ICW14
8がプログラム56Pへ与えられる。それは、キ
ヤツシユ設定ICWの数によつて指定された所定
数のデータ・ブロツクを読出すためである。読出
し(アドレスされたDASD16−18からSSAR
97中に設定されたキヤツシユ40のアドレスへ
データを転送すること)が完了すると、線150
で示されるように、システム10は装置終了信号
をホスト11へ与える。ホスト11は、151で
CCW136に対応する周辺指令を出すことによ
つて直ちに応答する。勿論、ICW連鎖が実行さ
れたばかりであるからシステム10は152でデ
イレクトリイ43を探索しヒツトを生じる。次に
線153で示されるように、データはキヤツシユ
40からホスト11へ転送される。136でリク
エストされたデータ・ブロツクについて、データ
が転送されなかつた場合、他のミスが生じ、エラ
ー状況がホスト11へ報告される。このエラー状
況は、システム10がアドレスされたDASD16
−18のシリンダ及びヘツド・アドレスからデー
タを転送することができなかつた事実を反映す
る。次に、ホスト11は、標準のデイスク記憶装
置回復手法を用いて回復をはかるため、直接アク
セス法(AC=00)に頼ることができる。省略符
号154は、上記の動作が何度も反復されること
を示すと共に、複数のDASD16−18に対する
複数のCCW連鎖がインタリーブされることを示
す。ICW連鎖は、必ずしもCCW連鎖のシーケン
スに従わない。環境に応じて、ICW連鎖は、後
に生じるCCW連鎖によつて構成されかつ使用さ
れてよい。そのような可能性は、CCW連鎖に関
するICW連鎖の非同期的局面を示す。通常、最
初のCCW連鎖は最初のICW連鎖を生じる。任意
の時点で、別個のICW連鎖はそれぞれのDASD
についてアクチブであることができる。
第5図はシステム10によるSPP指令の実行を
示す。プログラム50PはSPP指令を受取るとそ
れをデコードする。デコードの結果として、プロ
セツサ31Pはプログラム61Pを能動化する。
それが能動化されると、プロセツサ31Pはプロ
グラム61Pを介して155で本発明に関連のな
い論理機能を実行する。次に156で、第3図の
レジスタ62がアクセスされ、部分82にある探
索フイールド105が1へセツトされ、部分80
にある装置フイールド90が0へセツトされ、
CCRフイールド95が0へセツトされ、シーケ
ンス・フイールド100がバイト22で受取られ
た値へセツトされ(Xによつて示される)、読出
フイールド101がバイト22のRD部分の値へ
セツトされ、部分81のカウント・フイールド1
02がバイト23で示された値へセツトされる。
レジスタ62の設定に続いて、プロセツサ31P
は155で本発明と関連のない論理機能を実行す
る。次にプロセツサ31Pは、157でレジスタ
62のシーケンス・フイールド100を調べ、シ
ーケンシヤル・データが指定されているかどうか
を調べる。もし指定されていなければ、プロセツ
サ31Pはリンケージ・ポート25を介してプロ
グラム50Pへ戻る。もしシーケンシヤル・デー
タが指定されていれは、プロセツサ31Pは、1
58で、カウント・フイールド102で示された
ブロツク数をプロセツサ31Pの内部レジスタ
IR(図示せず)へ転送する。実施例において、最
大8個のブロツクが、データ・ブロツクの所与の
バースト中に転送される。カウント・フイールド
102のカウントが8より大きいか又は8に等し
い時、8個のブロツクが転送され、カウントは8
だけ減少される。カウントが8より少なければ、
そのカウントに等しい数のブロツクが転送され
る。次に159で、ブロツク・カウントの値が検
査される。もしそれがゼロでなければ、適当な
SPP指令の実行が生じている。もしブロツク・カ
ウントが0であれば、シーケンシヤル・インデイ
ケータ又はブロツク・カウントがエラーである。
従つて、プロセツサ31Pはステツプ159から
エラー状況報告手順へ進む。
シーク、セクタ設定、ID等価探索の各CCW1
33−135は周知であるから説明しない。シス
テム10が先行技術と異なる動作をとるのは、シ
ーケンシヤル・データのために読出CCW136
に基いて読出指令を受取つた時である。第6図
は、シーケンシヤル・データを転送するマシン動
作を示す。160で、受取られた指令がプログラ
ム50Pによつて処理される。次にリンケージ・
ポート25を介して、プログラム61Pがプロセ
ツサ31Pによつて能動化される。指令は再び1
61でデコードされる。それは読出指令であるか
ら、162でデイレクトリイ43が第1図に関し
て説明したようにして探索される。163で、プ
ロセツサ31Pは、デイレクトリイの探索がヒツ
トを生じたかミスを生じたかを決定する。ミスの
場合、164で、指令及び制御情報をキユー・レ
ジスタ69に置くことによつて、受取られた指令
が待ち行列に入れられ、チヤネル指令リトライ信
号がホスト11へ送られる。キユー・レジスタ6
9が任意のフオーマツトを使用することができる
から、これ以上説明しないが、待ち行列はDASD
の各々のための先入れ先出し(FIFO)待ち行列
である。即ち、8個のDASD16−18が存在す
れば、8つの待ち行列が設けられる。FIFO待ち
行列の使用が重要であるのは、所与の装置につい
てホストへの応答シーケンスが、ホストによつて
送られた指令のシーケンスに確実に対応するよう
にするためである。待ち行列から、プログラム6
1Pは、第7図乃至第9図を参照して説明するよ
うに、アドレスされたDASD16−18からの読
出しを開始する。
163で、デイレクトリイ探索のヒツト状態が
生じると、170でキヤツシユ40は、適当なチ
ヤネル・アダプタ32を介して、データをホスト
11へ自動的に転送する。そのような自動的なキ
ヤツシユからホストへの転送は周知であり、従つ
て説明を省略する。自動的データ転送の間に、エ
ラーが起るかも知れない。従つて、エラーが検出
されると、プロセツサ31Pはエラー報告兼分析
ルーチンへ進む。一般的には、データ転送にエラ
ーは生じない。172で、データ転送が成功裡に
完了すると、プロセツサ31Pは、フイールド1
01を検査するためレジスタ62にアクセスす
る。もし読出しの後の放棄が表示されていれば、
プロセツサ31Pは、173で、読出されたばか
りのデータ・ブロツクをそれが変更されていれば
デステージし、変更されていなければ自由にす
る。デステージングは、指令が実行されていな
時、プロセツサ31Pによつて実行される。置換
アルゴリズムの要求が生じる前に、データをデス
テージングすることは、キヤツシユ40の効率的
管理に必要な制御回路を小さくする。即ち、自由
なスペースが必要となる前に、それらが利用可能
となる。次に、ステツプ172又は173のいず
れかから論理通路174を介して、175で、プ
ロセツサ31Pは、デイレクトリイ43から、デ
ータがキヤツシユ40に保留されるか否かを決定
する。キヤツシユ40へのデータの保留は、デイ
レクトリイ43のピニング・フラグ(図示せず)
が消去されるまで、データがDASD16−18へ
転送され得ないことを意味する。もしデータがキ
ヤツシユへ保留されるのでなければ、176で読
出されたばかりのブロツクは、置換アルゴリズム
のためにLRUリスト(図示せず)中で最近時に
使用されたブロツクとされる。これはデイレクト
リイ43にアクセスし、そのデイレクトリイ中で
既知の仕様を有するLRUリストを更新すること
によつて達成される。177で、本発明と無関係
の論理ステツプがプロセツサ31Pによつて実行
される。次に180で、レジスタ62が再びアク
セスされて、シーケンス・フイールド100が検
査される。もしシーケンシヤル・データが指示さ
れていれば、182で、プロセツサ31Pはレジ
スタ62のフイールド102を調べて、ブロツ
ク・カウントが0に等しいかどうか(即ち、転送
されたばかりのブロツクがデータのシーケンス中
で最後のブロツクであるかどうか)を決定する。
もしそれが最後のブロツクでなければ、183
で、ブロツク・カウントが1だけ減少される。ス
テツプ180,182,183に続いて、論理通
路181は、プロセツサ31Pをプログラム50
Pへ戻す。それは、通常の態様でホスト11へ最
終的な状況報告を行うためである。
第7図及び第8図はキユー・レジスタ69にあ
る読出待ち行列を走査し、ICW連鎖を発生する
流れ図を示す。リクエストされた読出しが待ち行
列に入れられた後、プロセツサ31Pは、システ
ム10をして、各種の機能を実行せしめる。例え
ば、そのような機能として、チヤネル・アダプタ
の1つを介して受取られた指令、及び読出指令
(チヤネル指令リトライの対象となつた)を転送
したチヤネル・アダプタから受取られた他の指令
に応答する機能がある。ホストからの周辺指令の
受取りに休止があれば、シーク及びセクタ設定指
令がDASD16−18に送られる。キヤツシユ4
0がデータをホスト11へ転送したり、ホスト1
1からデータを受取つたり、アドレスされた
DASDからデータを受取つたりそこへ転送したり
している間、制御アクテイビテイ中に休止が生じ
ると、プロセツサ31Pは、プログラム75の1
部であるデイスパツチヤ・マイクロコードを介し
て、キユー・レジスタ69を含む作業テーブル
(図示せず)を走査する。もし待ち行列が空であ
れば(即ち、読出しが起るできでなければ)、プ
ロセツサ31Pは、論理通路192を通つて、デ
イスパツチヤ190へ戻る。もし読出しが待ち行
列に入れられていることが、キユー・フラグを走
査することによつて、191で検出されると、1
93で、待ち行列のエントリイがキユー・レジス
タ69からプロセツサ31Pの内部レジスタ(図
示せず)へ転送される。もしこの転送でエラーが
生じれば、194を介してエラー報告及び回復手
順へ行く。キユー・レジスタから待ち行列のエン
トリイが成功裡に読出されると、195でレジス
タ62がアクセスされ、装置フイールド90が1
へセツトされる。それは、成功した読出しが完了
すると、装置終了信号を発生する必要があるから
である。196で、本発明と無関係の機能が実行
される。次に200で、アドレスされた装置に対
応する装置バツフア・レジスタ77で、連鎖ビツ
トがセツトされる。そのビツトは、論理連鎖が起
ること、即ちアドレスされたDASD16−18に
対する来たるべきアクセスで、1つを超える
ICWが使用されることを示す。201で、レジ
スタ62が再びアクセスされ、シーケンス・フイ
ールド100の値が調べられる。シーケンシヤ
ル・データが指定されていれば、プロセツサ31
Pは202へ進み、来たるべきICW連鎖のため
のブロツク・カウントをページング・パラメータ
に等しくセツトする。
所与のICW連鎖を通して転送されるブロツク
の最大数は、SSAR79の数に等しい。例えば、
8個のSSARがあれば、転送されるブロツクの数
は最大8個である。更に、遅延限界を考慮しなけ
ればならない。例えば、転送される8個のブロツ
クが2個のシリンダにアクセスする必要があれ
ば、最初のシリンダにあるブロツクのみが転送さ
れる。例えば、8個のブロツクのうち、最初のシ
リンダに4ブロツクがあり、第2のシリンダに4
ブロツクがあれば、ブロツクの数は4へセツトさ
れる。このアクシヨンは、一連のブロツクを転送
するのに必要な時間を最小にし、かつ全ての転送
が電子的速度で完了するようにする。所与のシリ
ンダの第1ブロツクでミスが起ると、8個までの
ブロツクが自動的に転送されることができる。更
に、ブロツクの最大数は、カウント・フイールド
102にある残りの値よりも決して大きくならな
い。ICW連鎖は、シリンダ境界が決してICW連
鎖によつて横断されないように配列される。その
ような配列は、通常のコンピユータ・プログラミ
ングに従つて行われる。201で、もしシーケン
シヤル・データが指定されなければ、203で転
送されるべきブロツクの数は1へセツトされる。
ブロツクを設定する数値は、連鎖フラグ、装置ア
ドレスその他の装置制御データと共に装置バツフ
ア・レジスタ77(第1図)へ与えられる。20
4で、SSAR79の識別情報が0へセツトされ
る。これは、プロセツサ31Pが識別情報0を有
するSSARにアクセスすることを意味する。
205で、第1図の論理ブロツク19から得ら
れたAC及びDEVより成る論理アドレスが物理装
置アドレスへ変換される。実施例において、この
アクシヨンは、単に論理アドレスからAC部分を
マスクすることによつて達成される。206で、
本発明と無関連の機能が実行される。接続表示2
07は、第8図から来る論理フローの続きであ
る。190から206までの論理ステツプは準備
ステツプであり、以下に説明するステツプは、一
連のブロツク転送を設定するため、ループとして
反復可能である。
ループ中の最初のステツプ210は、キヤツシ
ユ40でスロツト又はスペースを割当てる。通常
の割当手順がとられる。即ち自由リスト(図示せ
ず)上のアドレス可能なスロツトが、アドレスさ
れたDASD16−18から最初の信号ブロツクを
受取るべきスロツトとして指定される。次にその
スロツトは自由リストから除かれ、プロセツサ3
1P内の内部レジスタ(図示せず)で表示され
る。それは、デイレクトリイ43のどのエントリ
イを使用してキヤツシユ40中のスロツトを識別
するかを示すためである。ここで注意すべきは、
キヤツシユ40中のそれぞれのアドレス可能なス
ロツトに対して、デイレクトリイ43の中に1つ
のエントリイ・レジスタが存在することである。
従つて、キヤツシユ40におけるデータの実際の
アドレスは、デイレクトリイ43のエントリイを
含むレジスタから直接引出すことができる。
ステツプ202又は203で設定されたブロツ
クの数に等しいスロツトの数を割当てようと試み
た場合、プロセツサ31Pは、211で、割当て
過程でエラーが生じたかどうかを決定する。もし
エラーが生じていれば、ブロツクの全てがアドレ
スされたDASD16−18からキヤツシユ40へ
成功裡に転送されないかも知れない。従つて、エ
ラー状態が生じた場合、プロセツサ31Pは、2
12でレジスタ62のシーケンス・フイールド1
00を調べ、シーケンシヤル転送かどうかを決定
する。もしシーケンシヤル転送でなければ、プロ
セツサ31Pは論理通路213をたどり、プログ
ラム50Pへ戻る。それは、置換アルゴリズムの
制御を待機して、1個のブロツクのために利用可
能なスペースを作るためである。
シーケンシヤル転送の場合、プロセツサ31P
は、214で、転送されるべき最初のブロツク上
でエラーが生じたかどうかを決定する。もしエラ
ーが生じたのであれば、全体の動作は無効にされ
る。従つて215で、レジスタ62がアクセスさ
れ、図示されないユニツト・チエツク(UC)フ
ラグが1へセツトされ、切断状況(DS)フラグ
が1へセツトされ、その他のフラグが0へリセツ
トされる。次にプロセツサ31Pは、論理通路2
16を介してプログラム50Pへ戻る。もし割当
エラーが最初のブロツクについて生じていなけれ
ば、残りのブロツクのデータ転送が生じる。プロ
セツサ31Pは通路217から220へ進むが、
それは、ICWリストから割当てられない領域へ
転送されるブロツクの数を切詰めるためである。
ステツプ211へ戻つて、もし割当エラーが生
じていなければ、218で、本発明と無関係の機
能が実行される。これらの機能は、割当てに関係
のないマイクロコード論理エラーを分析すること
を含む。もしスロツトが、そのようなマイクロコ
ード・エラーのために割当てられなかつたのであ
れば、切詰ステツプ220が実行され、アドレス
されたDASD16−18からキヤツシユ40へ転
送されるブロツクの数が減少される。エラーが生
じないか、又は切詰めがなされた後、プロセツサ
31Pは、221で、本発明と無関係の論理ステ
ツプを実行する。222で、レジスタ62のシー
ケンス・フイールド100が検査される。もしシ
ーケンス・フイールド100が0を含むならば、
シーケンシヤル・データは指定されておらず、従
つて223で、キヤツシユ40中でデータを受取
るべきスロツトに対応するデイレクトリイ43の
エントリイのインデツクスが、レジスタ62のデ
イレクトリイ・インデツクス・フイールド114
へ入れられる。シーケンシヤル・データの場合、
又はインデツクスがレジスタ62へ入れられた
後、224で、後にSSAR79へ挿入されるべき
キヤツシユ・アドレスが、レジスタ62へ入れら
れたばかりのデイレクトリイ・インデツクスから
発生される。これは、単にオフセツト値をデイレ
クトリイ・インデツクスの各々へ付加することで
ある。225及び231で、シーケンシヤル・モ
ードを示すレジスタ62のシーケンス・フイール
ド100が、プロセツサ31Pをして、カウン
ト・フイールド102を検査させ、そのカウント
が1より大きいかどうかを調べさせる。もしカウ
ントが1より大きければ、232で、プロセツサ
31Pは、転送されつつあるブロツクのシーケン
スにある最初のブロツクが、処理されつつあるか
どうかを検査する。もし処理されていなければ、
233で、第2のブロツクのための新しいキヤツ
シユ・アドレスが与えられる。次に234で、装
置バツフア・レジスタ77において、第2又はそ
の他のブロツクに対応するSSAR79がキヤツシ
ユ・アドレスへセツトされ、フラグがセツトさ
れ、デイレクトリイ43へのポインタがセツトさ
れ、キヤツシユ・アドレスを受取るべきSSAR7
9が指定される。実行されるべき他の機能も、レ
ジスタ77の中で限定されてよい。
ステツプ225,231,232からの論理通
路226は、本発明と無関係のステツプ227へ
続き、次いでプロセツサ31Pは228で、レジ
スタ62へアクセスして、発生されたキヤツシ
ユ・アドレスを読出パラメータ部分83の現アド
レス・フイールド118へ記憶する。次にプロセ
ツサ31Pは、本発明と無関係のステツプ229
をとり、接続表示235を介して第8図の論理ス
テツプへ進む。
第8図のステツプ241で、プロセツサ31P
は第3図のカウント・フイールド121を増加さ
せることによつて、SSAR79へのポインタを更
新する。242で、プロセツサ31Pは、キヤツ
シユ40へ転送されるべきブロツクの全てが、キ
ヤツシユ40中で割当てを得られたかどうかを決
定する。もし割当てを得ていなければ、プロセツ
サ31Pは、接続表示Bを介して第7図の接続表
示Bへ戻り、キヤツシユ40のスペースをブロツ
クへ割当てる。このループは、カウント・フイー
ルド121が転送されるべきブロツク数と等しい
カウント(8を超えない)を含むようになるまで
繰返される。
ループを完了した後、本発明と無関係の論理ス
テツプが244で実行される。245で、読出指
令がICWへセツトされる。このICWはDASD1
6のためのデータ読出指令を表わす。250で、
レジスタ62がアクセスされ、ページング・パラ
メータ部分81にあるシーケンス・フイールド1
00がセツトされているかどうかを決定する。そ
れがセツトされていれば、プロセツサ31Pは、
251で、受取られたブロツク・カウントが1よ
り大きいかどうかを決定する。もしそれが1より
大きければ、ICW24(第1図)の指令修正バ
イト27の連鎖フラグがセツトされる。1より大
きくなれば、ステツプ250又は251から入つ
たステツプ252で、連鎖フラグをリセツトする
ことによつて、バイト27で連鎖終了が示され
る。254で、コントロール・ストア73にある
装置バツフア・レジスタ77はICWを受取る。
即ち、指令コード、フラグ、その他の動作表示が
受取られる。255で、プロセツサ31Pは、再
びレジスタ62のシーケンス・フイールド100
を検査し、それがシーケンシヤルでないかどうか
を決定する。1つのブロツクのみが転送されるの
であれば、プロセツサ31Pは論理ステツプ25
7を実行するための論理通路256をたどる。そ
れは、リンケージ・ポート25を介して、形成さ
れたばかりのICWをプログラム56Pへ転送す
るためである。
シーケンシヤル・データ転送の場合、プロセツ
サ31Pはステツプ255を離れて論理ステツプ
260を実行する。それは、カウント・フイール
ド121を次のエントリイへ調整するためであ
る。次に261で、残りのブロツク・カウントが
1より大きくなければ、ステツプ257でICW
がプログラム56Pへ転送される。残りのブロツ
ク数が1より大きければ、残りのICWを連鎖へ
設定するループ270が実行される。271で、
カウント、キー、データ読出指令及びマルチトラ
ツク指令が設定される。272で、プロセツサ3
1Pは、ブロツク・シーケンスの中にある最後の
ブロツクが処理されているのかどうかを決定す
る。もし処理されていなければ、ICWのバイト
27にある連鎖フラグが1へセツトされる。そう
でなければ、274で、連鎖フラグをリセツトす
ることによつて、連鎖状態の終りが表示される。
275で、ICWが装置バツフア・レジスタ77
へ転送される。276で、キヤツシユ・アドレス
が装置バツフア・レジスタに記憶され、バースト
転送のために、それが直ちにSSAR79へ転送さ
れることができるようになる。277で、プロセ
ツサ31Pは、ブロツクが最後のブロツクである
かどうかを決定する。もし最後のブロツクでなけ
れば、278でループがインデツクスされ、通常
の制御手法を用いて、内部レジスタ(図示せず)
にあるカウントが調整される。最後のブロツクで
あれば、ステツプ257が実行される。ループが2
78でインデツクスされた時、ステツプ271−
277が再び実行される。
プログラム56Pは、ICW連鎖を受取ると、
チヤネル・アダプタ32を介して受取つた指令と
同じようにその連鎖を実行する。指令の実行は良
く知られているから、ICW連鎖の実行について
はこれ以上説明しない。ここで注意すべきは、
DASDからキヤツシユ40へ信号を転送するに当
つて、プログラム56PはDASDをアドレスする
のみならず、レジスタ77のキヤツシユ・アドレ
スをSSAR79へ転送し、いくつかのデータ・ブ
ロツクが単一のデータ・ストリームで転送できる
ようにする(即ち、マルチトラツク転送)。その
転送の終りに、プログラム56Pは、エラー表示
を含む結果の状況情報をリンケージ・ポート25
へロードする。次いで、プロセツサ31Pの動作
は、プログラム56Pからプログラム61Pへ切
替えられる。
第9図は後処理と呼ばれるプログラム61Pの
部分を示す。この部分は、DASDからキヤツシユ
40へのデータ信号の転送に続いて実行される論
理ステツプである。先ず、ステツプ280でリン
ケージ・ポート25の内容が作業レジスタへ転送
される。上記内容は装置アドレス、レジスタ62
へのポインタ、プログラム56Pによつて発生さ
れるフラグが含まれる。281で、プロセツサ3
1Pはレジスタ62へアクセスし、DASDからの
読出しが進行中でないことを示すため、進行フイ
ールド111を0へリセツトする。282で、本
発明と無関連の論理ステツプが実行される。28
3で、プロセツサ31Pはプログラム56Pのリ
ターン・コードを検査して、エラーでないかどう
か、全ての要求されたデータ・ブロツクがキヤツ
シユ40へ成功裡に転送されたかどうか、リター
ン・コードは0になつているかどうかをテストす
る。そのような成功した動作が存在すれば、28
4でプロセツサ31Pの内部作業レジスタの内容
が1へセツトされる。285で、レジスタ62が
アクセスされ、シーケンス・フイールド100が
検査される。もし転送がシーケンシヤルでなけれ
ば(即ち、1つのデータ・ブロツクのみが転送さ
れるのであれば)、287で転送されるブロツク
の数が1へセツトされる。そうでなければ、28
6で、レジスタ77に記憶されるように割当てら
れたブロツクの数が、テーブル78におけるエン
トリイの数を示すためにカウント・フイールド1
21へ転送される。
ステツプ283でエラー状態が生じていれば
(即ち、リターン・コードが0に等しくなけれ
ば)、290でエラー分析の論理ステツプが実行
される。もしそのような分析によつて永久的エラ
ーが表示されれば、プロセツサ31Pは通路29
1をたどり、永久的エラー回復及び報告手順へ進
む。この手順は、本発明の範囲外にある。そうで
なければ292で、プロセツサ31Pは指令がマ
ルチトラツク指令であつたかどうか(即ち、1つ
のデータ・ブロツクを超えるデータ・ブロツクが
自動的に転送されるべきか否か)を決定する。も
しマルチトラツク指令でなければ、エラー状態は
単一ブロツクの転送を生じ、永久的エラーが処理
されて、プロセツサ31Pは論理通路291へ進
む。もし複数のブロツクが転送されたのであれ
ば、それ以上のアクシヨンをとることができる。
即ち、1つのブロツクはエラーであるかも知れな
いが、先行する全てのブロツクはエラーなしで転
送されたのかも知れない。プログラム56Pは、
リンケージ・ポート25を介して、どのブロツク
がエラーを生じたかを表示する。プログラム61
Pは、プログラム56Pから与えられた情報か
ら、どのICWがエラーに関連しているかどうか
を表示する。次にプロセツサ31Pは、293
で、レジスタ77から、直前のICWをフエツチ
する。294で、もし指令がDASDからキヤツシ
ユ40へのデータを読出する指令であつたなら
ば、295で、プロセツサ31Pは、割当てられ
たスロツトからエラー・ブロツクの数を減算する
ことによつて、ブロツク・カウントを調整する。
294で、データ読出指令以外のエラーの場合
(即ち、データ転送の前に生じたエラーの場合)、
プロセツサ31Pは永久的エラー・ルーチン(説
明せず)へ進む。ステツプ286,287,29
5から入つたステツプ300では、本発明と無関
連のステツプが実行される。そのような論理ステ
ツプは内部アドレツシングと無関係である。30
1で、プロセツサ31Pはレジスタ62のシーケ
ンス・フイールド100へアクセスし、シーケン
シヤル転送が表示されているかどうかを決定す
る。シーケンシヤル転送の場合、論理通路302
がステツプ304へとられて、転送されたブロツ
クが最初のブロツクであるかどうかが決定され
る。ブロツク・シーケンスとして転送された最初
のブロツク、又は非シーケンシヤル・モードにお
ける最初のブロツクである場合(後者の場合、1
つだけのブロツクが転送される)、305でプロ
セツサ31Pは、後続する論理ステツプのため
に、レジスタ62の内容を作業レジスタ(図示せ
ず)へ転送する。この転送は論理シリンダCCL、
レコード番号R、論理装置アドレスD、その他の
制御データの転送を含む。最初のブロツクではな
いブロツクについては、プロセツサ31Pは、3
06で、テーブル78(第3図)へアクセスし、
そのブロツクのために削除フイールド120によ
つて指定されるデイレクトリイ・インデツクスを
参照する。最初のブロツク又は非シーケンシヤル
のデータについては、デイレクトリイ・インデツ
クス・フイールド114が同じ情報を与える。
デイレクトリイ43の探索については、307
で、プロセツサ31Pは装置アドレスに対応する
キヤツシユ・アドレスを探す。この探索は、デイ
レクトリイ43がDASDからキヤツシユ40へ転
送されたばかりのデータ・ブロツクに対応するエ
ントリイを有するかどうかを決定するためのハツ
シユ動作を含む。同一のDASDに対する複数の並
列アクセスが可能であることに注意されたい。従
つて、DASDにあるデータの1つのコピーだけが
キヤツシユ40に存在するようにしておくことが
重要である。この要件はデータの完全性を与え
る。即ち、2重のコピーがキヤツシユ40に存在
すれば、1つのコピーだけが更新され、第2のコ
ピーは更新されないままに残される(即ちエラー
である)ことが起る。更新されたコピーはDASD
に記憶されキヤツシユ40中のそのコピーは消去
されるかも知れない。後にホストがシステム10
へアクセスする時、キヤツシユ40に存在するエ
ラーのコピーがチヤネル・アダプタ32を介して
ホストへ転送されるかも知れない。
探索に続いて、308でエラー表示が検査され
る。エラーがない場合、310で、プロセツサ3
1Pは2重のコピーが発見されたかどうかを決定
する。2重エラーがない場合、311で、テーブ
ル78のエントリイ(即ち、削除フイールド12
0の内容)が計算され、デイレクトリイ・インデ
ツクス122,123(第3図)がアクセスさ
れ、DASDアドレスに対応するデイレクトリイ4
3のエントリイをデイレクトリイ43からレジス
タ76へ転送することによつて、それをプロセツ
サ31Pがアクセスできるようにする。これらア
クシヨンの全ては312で起る。313で、プロ
セツサ31Pはレジスタ76中の変更フイールド
269をリセツトする。変更フイールド269
は、キヤツシユ40の中に変更されたデータがあ
ることを示す。変更フイールド269を0へリセ
ツトすることは、キヤツシユ40中のコピーが
DASD中のコピーと同じであることを示す。31
4で、テーブル78が再びアクセスされ、削除フ
イールド120が増加され、カウント・フイール
ド121が減少される。315で、デイレクトリ
イ43のエントリイがキヤツシユ40へ転送され
たデータに対応して付加される。プログラム56
Pがキヤツシユ40へのデータ・ブロツクの転送
を生じた時、デイレクトリイ43は未だ更新され
ておらず、キヤツシユ40中のデータは未だアド
レス可能でない。315で、通常のやり方でデイ
レクトリイ・エントリイを作ることによつて、
DASDからキヤツシユ40へ転送されたデータは
アドレス可能になる。
他方、310で2重コピーが発見されると、既
にキヤツシユ40中にあるデータが正しいコピー
であるものと(即ち、それが変更されたものであ
ると)仮定される。従つて、転送されたデータ・
ブロツクをアドレス可能とせず、次のデータ・ブ
ロツクへ進むことが望まれる。316で、カウン
ト・フイールド121を減少させ、削除フイール
ド120を増加させることが望まれる。317
で、転送されたばかりのブロツクが解放され、キ
ヤツシユ40にはデータの単一のコピーのみが残
される。ブロツクの解放は、それをアドレス不可
能にする。
最後のハウスキーピング論理機能は、ステツプ
320から始まる。ステツプ320では、DASD
からキヤツシユ40へ転送されたデータ・ブロツ
クの全てが後処理されたかどうかが決定される。
もし後処理されていなければ、321で、後処理
されるべきブロツクの数が1だけ減少される。次
にプロセツサ31Pは、論理通路302を通つ
て、ステツプ304−315を含むループを実行
する。
全てのデータ・ブロツクが後処理されたのであ
れば、323で、テーブル78がアクセスされ、
カウント・フイールド121及び削除フイールド
120が0へリセツトされる。ステツプ323
は、論理通路325を介して論理通路291から
も入られる。324で、キユー・レジスタ69が
アクセスされ、2重の読出しが生じないように、
待ち行列からキユー・エントリイが除去される。
第6図において、読出指令は164で待ち行列に
入れられたことを想起されたい。次に322で、
レジスタ62がアクセスされ、チヤネル指令リト
ライ・フイールド95、ミス・フイールド96、
後処理フイールド112のような制御フラグ・フ
イールドがリセツトされ、装置フイールド90を
セツトすることによつて、装置終了表示がセツト
される。190では、プログラム50Pを介し
て、状況情報がホストへ与えられる。これまでの
説明において、DASDからキヤツシユ40へのデ
ータ転送、及びその逆方向へのデータ転送は、チ
ヤネル・アダプタ32の動作に関して非同期ベー
スで生じることに注意されたい。或る状況の下で
は、チヤネル・アダプタ32を介して送られるホ
ストからのリクエストは、データ転送よりも高い
優先順位をとることができ、従つてこれまで説明
してきた動作の或るものは、より高い優先順位の
動作とインタリーブされてよい。多重処理は周知
であるから、その詳細は説明しない。
【図面の簡単な説明】
第1図はホストへ接続された本発明に従う周辺
システムの論理図及び本発明と関連して使用され
るチヤネル指令ワード及び内部指令ワードを示す
図、第2図は周辺システムを制御するためプログ
ラム化されたプロセツサを含む本発明の代替的実
施例の論理ブロツク図、第3図は第1図及び第2
図に示される周辺メモリ・システムの動作と関連
して使用される各種のデータ構造を示す図、第4
図はチヤネル指令ワード及び内部指令ワードを使
用する周辺メモリ・システムの動作モードを示す
図、第5図は第1図及び第2図に示される周辺メ
モリ・システムによつてページング・パラメータ
設定指令が実行される様子を示す論理フロー図、
第6図は第1図及び第2図に示されるメモリ・シ
ステムにおいて読出指令が実行され、キヤツシ
ユ・ヒツトが生じた場合の論理フロー図、第7図
及び第8図はバツキング・ストアからキヤツシ
ユ・ストアへシーケンシヤル・データを転送する
場合の論理フローであつて準備段階及び内部指令
ワードの処理段階を含むものの図、第9図は第1
図及び第2図に示されるメモリ・システムで多量
のシーケンシヤル・データ・セツトを処理する場
合の後処理を示す論理フロー図である。 10……記憶システム、11……ホスト、1
6,17……直接アクセス記憶装置(DASD)、
25……リンケージ・ポート、30……システ
ム・ストレージ、31……コントロール、32…
…チヤネル・アダプタ、33……データ・フロー
回路、34……装置アダプタ、35……デイスク
制御アダプタ、40……キヤツシユ、43……デ
イレクトリイ、44……ハツシユ回路、45……
スキヤタ・インデツクス・テーブル、50……ア
ドレス及び指令評価器、56……直接アクセス・
コントロール、61……キヤツシユ・アクセス・
コントロール、62……論理装置制御ブロツク・
レジスタ、63……チヤネル制御ブロツク・レジ
スタ、69……キユー・レジスタ、76……アク
チブ・デイレクトリイ・エントリイ・バツフア・
レジスタ、77……装置バツフア・レジスタ、7
8……バツフア・シーケンス・テーブル、79…
…システム記憶アドレス・レジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 バツキング・ストア、該バツキング・ストア
    の記憶内容の写しを保持するキヤツシユ、並びに
    該バツキング・ストア及び該キヤツシユをホスト
    に接続する制御手段で構成され、該制御手段が下
    記の(イ)及び(ロ)を含むことを特徴とする記憶システ
    ム。 (イ) シーケンシヤル・データ・ブロツクの転送を
    示す標識及び転送すべきブロツク数を示すカウ
    ントを含む指令を前記ホストから受取つて記憶
    する第1手段。 (ロ) 前記指令が前記第1手段に記憶されている状
    態において、前記ホストからの読出し指令に応
    答して、要求されたデータ・ブロツクが前記キ
    ヤツシユにあるかどうかを調べ、もしあれば該
    データ・ブロツクを前記キヤツシユから前記ホ
    ストへ転送すると共に前記カウントを減分し、
    前記要求されたデータ・ブロツクが前記キヤツ
    シユになければ、前記要求されたデータ・ブロ
    ツクから始まり且つ前記カウントによつて示さ
    れる数のシーケンシヤル・データ・ブロツクを
    前記バツキング・ストアから前記キヤツシユへ
    転送した後で前記ホストに読出しをリトライさ
    せる第2手段。
JP57101487A 1981-08-03 1982-06-15 記憶システム Granted JPS5823376A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US289632 1981-08-03
US06/289,632 US4533995A (en) 1981-08-03 1981-08-03 Method and system for handling sequential data in a hierarchical store

Publications (2)

Publication Number Publication Date
JPS5823376A JPS5823376A (ja) 1983-02-12
JPH0147813B2 true JPH0147813B2 (ja) 1989-10-17

Family

ID=23112373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57101487A Granted JPS5823376A (ja) 1981-08-03 1982-06-15 記憶システム

Country Status (8)

Country Link
US (1) US4533995A (ja)
EP (1) EP0072108B1 (ja)
JP (1) JPS5823376A (ja)
AU (1) AU548909B2 (ja)
CA (1) CA1176382A (ja)
DE (1) DE3279135D1 (ja)
ES (1) ES514648A0 (ja)
SG (1) SG25991G (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
US4774654A (en) * 1984-12-24 1988-09-27 International Business Machines Corporation Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
JPS62243044A (ja) * 1986-04-16 1987-10-23 Hitachi Ltd デイスクキヤツシユメモリの制御方式
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
US5008820A (en) * 1987-03-30 1991-04-16 International Business Machines Corporation Method of rapidly opening disk files identified by path names
US5134563A (en) * 1987-07-02 1992-07-28 International Business Machines Corporation Sequentially processing data in a cached data storage system
US4926317A (en) * 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US5133061A (en) * 1987-10-29 1992-07-21 International Business Machines Corporation Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses
US5321823A (en) * 1988-07-20 1994-06-14 Digital Equipment Corporation Digital processor with bit mask for counting registers for fast register saves
US5253351A (en) * 1988-08-11 1993-10-12 Hitachi, Ltd. Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values
US5140683A (en) * 1989-03-01 1992-08-18 International Business Machines Corporation Method for dispatching work requests in a data storage hierarchy
US5155831A (en) * 1989-04-24 1992-10-13 International Business Machines Corporation Data processing system with fast queue store interposed between store-through caches and a main memory
US5133060A (en) * 1989-06-05 1992-07-21 Compuadd Corporation Disk controller includes cache memory and a local processor which limits data transfers from memory to cache in accordance with a maximum look ahead parameter
US5185694A (en) * 1989-06-26 1993-02-09 Motorola, Inc. Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies
US5257370A (en) * 1989-08-29 1993-10-26 Microsoft Corporation Method and system for optimizing data caching in a disk-based computer system
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH05137393A (ja) * 1991-11-08 1993-06-01 Victor Co Of Japan Ltd 情報記録再生装置
JP3087429B2 (ja) * 1992-04-03 2000-09-11 株式会社日立製作所 記憶装置システム
US5408653A (en) * 1992-04-15 1995-04-18 International Business Machines Corporation Efficient data base access using a shared electronic store in a multi-system environment with shared disks
US5659713A (en) * 1992-04-24 1997-08-19 Digital Equipment Corporation Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
JP3390482B2 (ja) * 1992-06-12 2003-03-24 株式会社リコー ファクシミリ装置
US5715424A (en) * 1992-12-10 1998-02-03 International Business Machines Corporation Apparatus and method for writing data onto rewritable optical media
AU8011994A (en) * 1993-09-30 1995-04-18 Apple Computer, Inc. System for decentralized backing store control of virtual memory in a computer
JPH08328752A (ja) * 1994-06-10 1996-12-13 Canon Inc 情報記録装置及び方法
US5684986A (en) * 1995-06-07 1997-11-04 International Business Machines Corporation Embedded directory method and record for direct access storage device (DASD) data compression
JPH09190465A (ja) * 1996-01-11 1997-07-22 Yamaha Corp 分類格納された情報の参照方法
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
EP1008051A4 (en) 1997-03-12 2007-04-25 Storage Technology Corp MEMORY DATA SUBSYSTEM ON VIRTUAL MAGNETIC STRIP AND ATTACHED TO A NETWORK
US6154813A (en) * 1997-12-23 2000-11-28 Lucent Technologies Inc. Cache management system for continuous media system
US6070225A (en) * 1998-06-01 2000-05-30 International Business Machines Corporation Method and apparatus for optimizing access to coded indicia hierarchically stored on at least one surface of a cyclic, multitracked recording device
US6094605A (en) * 1998-07-06 2000-07-25 Storage Technology Corporation Virtual automated cartridge system
US6327644B1 (en) 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in 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
US6381677B1 (en) 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
US6330621B1 (en) 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
US6728823B1 (en) * 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
US6834324B1 (en) 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes
JP4162184B2 (ja) * 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
DE10156749B4 (de) * 2001-11-19 2007-05-10 Infineon Technologies Ag Speicher, Prozessorsystem und Verfahren zum Durchführen von Schreiboperationen auf einen Speicherbereich
US20030126132A1 (en) * 2001-12-27 2003-07-03 Kavuri Ravi K. Virtual volume management system and method
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
TWI399651B (zh) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
US20130326113A1 (en) * 2012-05-29 2013-12-05 Apple Inc. Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory
CN108932206B (zh) * 2018-05-21 2023-07-21 南京航空航天大学 一种三维多核处理器混合缓存架构及方法
CN110879687B (zh) * 2019-10-18 2021-03-16 蚂蚁区块链科技(上海)有限公司 一种基于磁盘存储的数据读取方法、装置及设备
CN111198750A (zh) * 2020-01-06 2020-05-26 紫光云技术有限公司 一种提高虚拟磁盘读写性能的方法
CN117421112B (zh) * 2023-10-18 2024-08-06 中科驭数(北京)科技有限公司 加速单元、网卡、主机和报文处理加速方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5054249A (ja) * 1973-09-11 1975-05-13
JPS5444176A (en) * 1977-09-12 1979-04-07 Mitsubishi Electric Corp Tilt signal generating circuit
JPS5680872A (en) * 1979-12-06 1981-07-02 Fujitsu Ltd Buffer memory control system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL226419A (ja) * 1957-04-01
US3341817A (en) * 1964-06-12 1967-09-12 Bunker Ramo Memory transfer apparatus
US3521240A (en) * 1968-03-06 1970-07-21 Massachusetts Inst Technology Synchronized storage control apparatus for a multiprogrammed data processing system
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
US4047243A (en) * 1975-05-27 1977-09-06 Burroughs Corporation Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
US4371927A (en) * 1977-11-22 1983-02-01 Honeywell Information Systems Inc. Data processing system programmable pre-read capability
US4157587A (en) * 1977-12-22 1979-06-05 Honeywell Information Systems Inc. High speed buffer memory system with word prefetch
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4262332A (en) * 1978-12-28 1981-04-14 International Business Machines Corporation Command pair to improve performance and device independence
JPS5911135B2 (ja) * 1979-01-17 1984-03-13 株式会社日立製作所 デ−タ処理システムのデ−タ転送方式
US4371924A (en) * 1979-11-09 1983-02-01 Rockwell International Corp. Computer system apparatus for prefetching data requested by a peripheral device from memory
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5054249A (ja) * 1973-09-11 1975-05-13
JPS5444176A (en) * 1977-09-12 1979-04-07 Mitsubishi Electric Corp Tilt signal generating circuit
JPS5680872A (en) * 1979-12-06 1981-07-02 Fujitsu Ltd Buffer memory control system

Also Published As

Publication number Publication date
CA1176382A (en) 1984-10-16
SG25991G (en) 1991-06-21
EP0072108B1 (en) 1988-10-19
EP0072108A3 (en) 1986-05-14
AU8670182A (en) 1983-02-10
ES8305146A1 (es) 1983-03-16
AU548909B2 (en) 1986-01-09
ES514648A0 (es) 1983-03-16
EP0072108A2 (en) 1983-02-16
JPS5823376A (ja) 1983-02-12
US4533995A (en) 1985-08-06
DE3279135D1 (en) 1988-11-24

Similar Documents

Publication Publication Date Title
JPH0147813B2 (ja)
EP0106212B1 (en) Roll mode for cached data storage
EP0071719B1 (en) Data processing apparatus including a paging storage subsystem
JPS6143742B2 (ja)
US4875155A (en) Peripheral subsystem having read/write cache with record access
US4779189A (en) Peripheral subsystem initialization method and apparatus
US4500954A (en) Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
US4571674A (en) Peripheral storage system having multiple data transfer rates
US4499539A (en) Method and apparatus for limiting allocated data-storage space in a data-storage unit
JPS6149709B2 (ja)
JPS6367686B2 (ja)
US5233702A (en) Cache miss facility with stored sequences for data fetching
JPH0335694B2 (ja)
JPS59158461A (ja) デ−タ転送制御装置
JPS5821353B2 (ja) チヤネル対メモリ書込み装置
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data
JPH05173961A (ja) データ・ブロック転送制御方法
EP0354931B1 (en) Cache/disk system having command selection based on disk access time