JPS5823376A - 記憶システム - Google Patents

記憶システム

Info

Publication number
JPS5823376A
JPS5823376A JP57101487A JP10148782A JPS5823376A JP S5823376 A JPS5823376 A JP S5823376A JP 57101487 A JP57101487 A JP 57101487A JP 10148782 A JP10148782 A JP 10148782A JP S5823376 A JPS5823376 A JP S5823376A
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.)
Granted
Application number
JP57101487A
Other languages
English (en)
Other versions
JPH0147813B2 (ja
Inventor
デ−ビツド・ゴ−ドン・リ−ド
リチヤ−ド・エドワ−ド・リ−ク
ジヨン・ステイ−ブン・ウイリアムズ
ジヨン・ハント・クリスチヤン
マイケル・ハワ−ド・ハ−タング
ア−サ−・ハ−バ−ト・ノルタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明の分野 本発明は階層型の周辺メモリ・システムに関し、特にバ
ッキング・ストアからその、ようなメモリ・システムの
前面ストアへデータ信号を転送する周辺メモリ・システ
ムに関する。  。
先行技術 ホスト(中央処理ユニット)へ接続可能な周辺メモリ・
システムは、ホストに関して種々の目的を達成する。成
るシステムはユーザのデータを記憶し、他のシステムは
ページング及びスワツピング・データを記憶するために
使用される。後者の場合、システムは、ページング及び
スワツピング・プログラム・データ・セットと関連ずけ
て使用されることができる。ページング記憶装置の例は
、IBM230!%固定ヘッド記憶装置である。これは
、IBM社から出版されている「I BM2835固定
ヘツド記憶制御装置及びI BM2305固定ヘツド記
憶装置1 (Reference Man’ua’1f
or  rBM2835  Storage  Con
troland  IBM2305  Fixed H
ead  StorageModule、GA26−1
589−3)  に説明されている。この周辺メモリ・
システムは磁気記憶ドラムから構成され、このドラムは
記憶されたデータへの迅速なアクセスを可能にする。ド
ラムの記憶容量には制限があるので、大容量を必要とす
る。大型ホストは、必ずしもI BM2305のページ
ング記憶機構をその最大効率まで有効に使用することが
できない。足りない容量は、ディスク型の直接アクセス
話憶装置(DASD)によって補われる。
これは、特にスワツピング・データ・セットが使。
用される場合、即ち、多量のシーケンシャル・データ・
セットが迅速にホストと周辺メモリとの間で転送される
場合に行われる。効率を犠牲にすることなく、記憶容量
の制限を軽減するため、IBM2105の記憶ドラムに
代って階層記憶機構を使用することができる。このよう
な階層記憶機構の例は、Edenの米国特許′5569
938に示される。この米国特許は、高速キャラ7:I
−・メモリをDASD又は磁気テープ・レコーダのよう
なバンキング・ストアへ動作的に接続することによって
、高効率及ν大容量の見かけの記憶装置を実現する方法
を教示している。Edenは、要求に応じてバッキング
・ストアからキャッシュ又は前面ストアへ、データをペ
ージングすること(要求されたデータの周辺にあるデー
タをページングすることを含む)が有利であることを教
示している。この米国特許は、周辺メモリの一般的アプ
リケーションとしては非常に効果的なものであるが、一
連のバッキング・ストアが共通のキャッシュを共用し、
ホストがマルチタスキング法を採用している場合には、
多量の直列データをキャッシュに転送することは煩雑と
なる。1つの解法は大容量のキャッシュを使用すること
である。この解法は周辺システムのコストを不必要に増
大させ、望ましくない。従って、もつと良い解法が必要
となる。
Be1adyの米国特許3588839は、所与のワー
ドがリクエストされた時、次のデータ・ワードを転送す
ることを開示している。この構成は、メイン・メモリに
設けられたキャッシュの場合には良好に働く。しかし、
多量のデータ・セットが転送されている場合、1つの追
加的なデータ・セットを転送するだけでは、ホストは必
ずしも周辺メモリ・システムを最大に利用することはで
きない。この最大効率の使用不可能性は、バッキング・
ストアの物理的特性によって加重される。例えば、DA
SDがバッキング・ストアである場合、ディスク記憶装
置の機械的特性によって生じるいくつかの顕著な遅延境
界が存在する。例えば、1つのディスク記憶装置又は他
のディスク記憶装置を選択する時、実質的な遅延が生じ
る。更に、大部分のディスク記憶装置は<、7ストを制
限す−るため、記録表面当り1個又は2個の変換器しか
有しない。ディスク記憶装置の全てのデータ領域にアク
セスするには、同心円の記録トラックのそれぞれにアク
セスするため変換器を半径方向に移動させねばならない
。そのようなヘッドの移動はシリンダ・シークと呼ばれ
、電子回路の速度と比較した場合、かなりの遅延を生じ
る。従って、Be1adyの解法は・多くのアプリケー
ションで卓越した効果をもたらすが、マルチ・タスク及
びマルチ・デバイスの環境において、多量のシーケンシ
ャル・データ・セットを処理する場合の問題を解決する
ことができない。
Tabins の米国特許3898624は、ホストと
メイン・メモリの中間にキャッシュ・メモリを接続した
構成を開示している。この特許に従えば、メイン・メモ
リからキャッシュへ1ラインのデータを転送する時点を
選択するため、オペレータ・コントロール・パネルが使
用される。転送は常に1ライ、ンのデータについて起る
。このシステムは、成る場合には有効に使用できるが(
例えば、メイン・メモリとホストとの関係で)、前記の
シーケンシャル・データ・セットの問題を解決すること
はできない。
更に、これらの周辺メモリ・システムにおいて、所望の
目的を達成するため、システム中のホストの介入動作を
最少にすることが望オれる。ホスト介入を最少にする問
題は、Ba5sその他の米国特許4262332に開示
されている。この特許は、DASD周辺システムへのホ
ストのアクセスを最少にするため、高使用特性及び領域
限定機構を使用する。この特許は、確かにそのような装
置に対するホストの介入を最少にするが、上記先行技術
のいずれも、マルチ・タスキング及びマルチ・デバイス
環境において、共用キャッシュに関して多量のシーケン
シャル・データ・セットをどのように処理するかを教示
していない。
本発明の要約 本発明の目的は、キャッシュの前面ストア又はバッファ
のサイズを最小にしつつ、シーケンシャル・データ信号
転送における遅延の数を減少させるシステムを提供する
ことである。キャッシュを介してバンキング・ストアと
ホストとの間でシー1ケンシヤル・データ信号を転送す
るには、周辺指令の連鎖を使用する。本発明の動作にお
いて、周辺記憶システムは、ホストから、シーケンシャ
ル・デニタが来たるべき周辺動作のセット中でホストに
よってリクエストされる旨の表示を受取る。
上記周辺動作は一連の周辺指令によって特徴づけられる
。上記のシーケン7ヤル表示と共に、表示されたシーケ
ンシャル・ブロックの終りに到るまで順次にアクセスさ
れる上記データ信号のブロックの数を示す信号が与えら
れる。周辺システムは上記ブロック数及びアドレス信号
を上記シーケン7ヤル表示と共に記憶し、続いて受取ら
れる周辺指令が一連の周辺動作として効果的に実行され
るようにする。キャッシュの動作ハ、キャッシュ・ミス
が起る度に・周辺記憶システムはキャッシュ内容を調べ
、シーケンシャル・データを受取ルため、複数のランダ
、ムに選択されたキャラツユ領域を割当てる。次に、シ
ーケンシャル・データの所定数のプロ′ツクが、ディス
ク記憶装置の如きバンキング・ストアからキャッシュへ
迅速−に転送される。ディレクトリイが更新されて、キ
ャッシュ内のランダム#ロケーションのいずれがシーケ
ンシャル・データを含むかを表示する。そのようなシー
ケンシャル・データのブロックがリクエストされる度に
・ディレクトリイはキャッシュ中のデータを指示し、そ
れがあたかもバッキング・ストアから順次に受取られつ
つあるかの如く表示する。
本発明の他の動作モードにおいて、ホストによってシー
ケンシャルとして限定されたデータの全ては1キヤツン
ユへ転送される。例えば、8ブロツクのデータがシーケ
ンシャルであると表示された場合・最初8個のブロック
がキャッシュへ転送される。ホストは、そのようなデー
タの3個のブロックを読取ることができる。ここで置換
アルゴリズムによって、他の5個のブロックが置換され
たものと仮定する。ホストが次に第4のブロックをリク
エストした時、ミスが起る(第4のブロックは置換され
ている)。シーケンシャル・デー゛りが表示された時、
周辺システムは、シーケンシャル・データの残りのもの
(即ちブロック4から8まで)をキャッシュへ自動的に
転走し、ホストによって“使用させる\ シーケンシャル・データの転送は、所与のデータ・ブロ
ックに所与あエラー状態を生じるかも知れない。エラー
・ブロックは転送されな°いが、全ての先行するブロッ
クはキゞヤッシュへ転送される。
全ての他のブロックは阜ヤッシュへ転送されることがで
きる。次にホストは、キャッシュから転送されたデータ
・プロ↓りを読取る。転送されなかったブロックへ試み
られたアクセスは、ミスを生じる。ミスのデータに対し
ては、1回だけ再試行が実行されてよい。もし再試行が
不成功であれば、永久的エラーがホストへ表示され、他
のシーケンシャル・データがキャッシュから読取られる
ことができる。エラー・ブロックの復元は、ディスク−
記憶装置を直接にアクセスするため、ホストから無効動
作を起すことによって可能となる。この復元は、DAS
Dにあるエラーの復元を生じない。
実施例の説明 階層周辺記憶システム10はホスト11へ接続される。
ホスト11は、データ信号を受信及び送信して、ホスト
及び記憶機構で利用できるようにする。記憶システムの
典型的アプリケーションにおいて、ホスト11は中央処
理ユニット(CPU)から構成される。他の応用例では
、ホスト11は1つの仮想マシン、又はハードウェアC
PUの上で走る1セツトの仮想マシンであってよい。更
にホスト11は多重プロセッサ、付加されたプロセッサ
を有する単一プロセッサであってよい。本発明は非常に
多様な記憶システム10へ適用することができるが、実
施例は、ページング及びスワツピング・データ・セット
を処理するためのページング周辺記憶システムを示す。
機上で、そのようなページング及びスワツピング・デー
タ・セットは、ホスト11のためにプログラム・データ
・セットを記憶することに関連する。そのようなものと
して、記憶システム10は単一のホストへ接続され、一
般的アプリケーションの周辺記憶システムは、複数のホ
ストへ接続されることができる。
本発明は、いずれの形式の周辺記憶システムへも適用ヤ
きる。
ぺ、ジング記憶システム10とホスト11との間の通信
は、複数のl10(入出力)接続12−15を介して実
行される。これらのI10接続は、IBM社から市販さ
れているI BM570シリーズ・コンピュータの入出
力周辺チャネルに従って構成される。このような■10
接続(通常、チャネル及びサブチャネルと呼ばれる)は
周知であるから、詳細な説明を省略する。記憶システム
10は複数の直接アクセス記憶装置(DASD)16−
18より成るバッキング・ストアを有する。周辺記憶装
置10に訃いて、ホスト11によって実行される全ての
データのアクセス及びデータの記憶は、DASDl6−
18をアドレスすることによって行われる。このアドレ
シングは■10接続1’2−15のアーキテクチャ−を
使用して達成されるが、このアーキテクチャ−は論理ブ
ロック19に要約される。論理羞ロック19は、IBM
入出力接続のためにチャネルで使用されるチャネル指令
ワード(CCW)を表わす。典型的には、論理ブロック
19はアドレス・バイト20を含む。
アドレス・バイト20は制御ユニット(CU’)を指定
する複数のビットを含む。CUは指令を受取るべきユニ
ットである。第2の複数個のピッ)DE’Vは)アクセ
スされるべきDASDl6−18を指定する。記憶シス
テム10において、DASDl6−18の各々は複数の
論理装置゛アドレスを与えられる。即ち、DA”SD 
16 (DO)は4つのアドレスの任意の1つによって
アドレスされることができる。このような複数アドレシ
ングは、IBM2305固定ヘッド記憶装置において、
制限された程度で実行されてきた。各DASDに対する
論理アドレスは、アドレス・パイ)20のAC部分で示
される。従って、AC部分は、4つの論理アドレスのい
ずれがDASDl(Sをアドレスするためにホスト11
によって使用されつつあるかを示す2個のビットを有す
る。実施例において、論理アドレスの1つODは、DA
SD 16−18に対する直接アクセスを示す。即ち、
ホス、ト11は、DASDI<5−18に関して、記憶
システム10があたかも階層システムではないかの如く
動作する。全ての階層は直接アクセスについてバイパス
される。AC部分が01.10.11に等しい場合、I
)ASD16−18からデータを読出し又はそこへデー
タを与えるため、後に説明する階層記憶がアクセスされ
る。DASDの見かけの効率は、これら6つの論理装置
アドレスを使用する場合に改善される。AC部分は、D
EV部分によって示された装置に対して論理的アクセス
通路を示す。
論理ブロック19の第2のバイトは指令バイト21であ
る。指令バイト21は、記憶システム10へどのような
機能が実行されるべきかを示すコードを含む。第3のバ
イトは指令修正バイト22である。指令修正バイト22
は、複数の制御フィールドを有し、これらのフィールド
ハ、記憶システム1Dへ、指令バイト21で表わされた
指令を実行するtこめ、各種の動作モードを示す。本発
明に関連のあるフィールドはSEQフィールドである。
ホスト11は、SEQフィールドを使用して、来たるべ
き転送動作で転送されるべきデータがシーケンシャル・
データであることを記憶システム10へ知らせる。バイ
ト22のSEQフィールドがシーケンシャル・データを
示す時、第2の指令修正バイト23が論理ブロック19
に含まれる。
バイト2 、3は、DASDl6−18からホスト11
へ(又はその逆方向へ)シーケンシャル・データ・セッ
トとして転送されるデータ・ブロック又はデータ・セグ
メントの数を示す。ページング環境におけるそのような
シーケンシャル・データ・セットは、スワツピング・デ
ータ・セットとも呼ばれる。東にバイト22はRDフィ
ールドによって読出放棄を指定することができる。RD
フィールドは、ホスト11が階層記憶機構から1度デー
タを獲得すれば、キャッシュ中のそのデータは放棄1さ
れることができることを意味する。DASDl6−18
のデータは保持される。更に、GO(Guest  O
perating  System )フィールドによ
って、他の制御が与えられる。ホスト11の仮想コンピ
ュータ環境において、オペレーティング・システムの1
つは記憶システム10を認識することができる。記憶シ
ステム10へのアクセスは、データへアクセスし又はデ
ータを記憶するため、他のオペレーティング・システム
へ移されることができる。そのような他のオペレーティ
ング・システムは、最初のオペレーティング・システム
のゲストであり、記憶システムの成る制御局面を修正す
ることは許されない。ノ(イト22には、本発明と関連
のない他の制御フィールドも含まれる。
階層記憶機構は、半導体ランダム・アクセス形のシステ
ム・ストレージ30”ir含む。システム・ストレー?
30はDASDl6−18のためのキャッシュ40を含
む一キャッシュの使用原理は周知で委るから、キャッシ
ュ40の目的を説明する必要はあるまい二,コント、ロ
ール31はホスト11から周辺指令全受取る。それは、
論理装置アドレスの1つによってDASDl 6−1 
8をアクセスすると共に、他の3つの論理装置アドレス
に基いて(AC部分に注意)、キャッシュ40ヘアクセ
スするためである。データは、記憶システム10によー
って、キャッシュ40とD’ASD116−18の間で
自動的に転送される。この転送は、ホスト′,11とD
ASDl6の間で実行される転送の原理と同じ原理で達
成される。即ち、ホスト11はDASDl6−18へ直
接モードで(、、AC=OO)アクセスするが、それは
、チャネル・アダプタ62(CAA,CAB,CAC,
CAD)、バス70、直接アクセス・−コントロール5
6、データ・フロー回路65、装置アダプタ64、ディ
スク制御アダプタ65を介して行われる。受電られた論
理ブロック19は、コントロール61によって解釈され
る。それは、ホスト11とDASDl 6−18の間の
データ・フローの方向を決定し、かつこの種の記憶装置
を制御する既知の他の機能を決定するためである。キャ
ッシュ40とDASDl6−18の関係は、実質的にホ
スト11とDASDl6−18の関係に等しい。即ち、
ホスト11が一連のCCWを含む論理ブロック19によ
り制御を与えている間、コントロール61は、複数の内
部制御ワード(raw)を使用して、キャラ・/ユ40
とDASD 1 6− 1 8との間のアクセスを与え
ろ。内部制御リード(’ICW)は、援に明らかになる
ように、CCWと同じように構成されている。論理ブロ
ック19に関して内部制御ワードを変更することによっ
て、転送動作の効率が改善サレル。コントロールろ1は
、チャネル・アダプタ62を使用する代りに、キャッシ
ュ・アクセス・コントロール6 1 を使用tル。コン
トロール61はシステム・ストレージろ0を動作させ、
φ)つ内部制御ワード24を使用して、直接アクセス・
コントロールを通してDASD 1 6− 1 8へア
クセスする。チャネル・アダプタ320代りに、リンケ
ージ・、l−”−上25フ5Eコントロール61とコン
トロール56との間の転送を制御する。リンケージ・ボ
ー′ト25については、後に第6図を参照して説明する
内部制御ワード24は、指令バイト21に対応する指令
バイト26を含な。ここで理解すべきは・同じ指令に対
するコー、ドは等しいこζである。指令バイト21を省
略できるように、いくつかの追加的指令が設けられてい
る2、指令修正バイト27は、連鎖フィールドを含む。
このフィールド(含まれる連鎖制御ビットは、通常ホス
ト11からチャネル・アダプタ′52を介してコントロ
ール31へ与えられる連鎖表示と入替る。(ホスト11
による連鎖表示は、5UPPRESS  OUTタグ信
号を与えることである。)最終状況が記憶システム°1
0によってホスト11へ報告されるべきである時、連鎖
の5UPPRESS  OUT表示(即ち、一連の密接
に関連した周辺指令)が、I10接続12−15と共に
使用される。コントロール61はタグ制御信号を使用し
ないから、指令修正バイト27がそのタグ制御信号と入
替るために使り 用される。内部制御ワード24のアドレス・バイト28
は、DASD16−18のアドレスの記憶ロケーション
を指定する。内部制御ワードの中では、論理アドレスは
使用されない。事実として、コントロール61は、階層
記憶機構へ導かれた論理アドレスの全て’1DEV部分
へ変換する。アドレス・バイト28は、DEV部分の記
憶されたロケーションを指定するのみならず、シリンダ
・アドレス(C)、ヘッド・アドレス又はトラック・ア
ドレス(H)、及びレコード・アドレス(R)を指定す
る。
レコード・アドレスは、大部分のディスク記憶装置をア
ドレスするときに使用されるセクタ・アドレスに対応す
る。実施例において、4つのレコードが1本のトラック
(Hアドレス)上に存在する。従って、レコード・アド
レスは、ディスクが回転する基準地点に関して有するO
o、90’、180°、270°の、方向に対応して1
.2.3.4 である。設計パラメータとしては、直角
方向とは異った実際の回転方向を規定されてよい。
キャッシュ40は、バス41及びチャネル・アダプタ6
2を介して、ホスト11との間でデータ信号を転送する
。同様に、データ信号は、バス42及びデータ・フロー
回路66を介して、キャッゾiとDAsDl 6−18
との間を転送される。
キャラシュ40とホスト11との間、及びキャラシュ4
0とDASD16−18との間における同時転送が望ま
れなければ、バス41及び42はデータ転送、によって
−分割される単一のバスへ結合される。キャッシュ40
(これは数メガ・バイトを含む比較的大型のメモリであ
ることができる)にアクセスするには、コントロール6
1が、装置アドレスをシリンダ・アドレス及びレコード
°アドレスCHRと共に、バス64を介してハツシュ回
路44へ送ることを要する。マイクロコード構成であっ
てよいハツシュ回路44は、DASDのアドレスをハツ
シュ・クラス・インディケータへ変換する。キャッシュ
40の記憶容量はDASD16−18よりはるかに小さ
いので、DAS D 16−18のアドレス範囲は、ア
クセスを容易にするため、ハツシュ・クラスと呼ばれる
クラスへ集中させられる。スキャタ・インーデックス・
テーブル45は、ハツシュ回路44によって限定された
クラスの各々について1個のレジスタを有する。
テーブル45にあるレジスタの内容は、ディレクトリイ
46に対するアドレス・ポインタである。
ディレクトリイ46は、DASD16−18へアクセス
するために使用されるアドレスDCHRを含む。データ
がキャッシュ40に記憶される時、−E)−A S D
 16−18のDCHRアドレスが、キャッシュ40の
アドレスと共にディレクトリイ46のエントリイ部分へ
書込まれる。DASD16−18の複数のアドレスが1
つのハツシュ・クラスに対応するので、単一的にリンク
されたハソンユ・クラス・リストがディレクトリイ46
のエントリイ中に設けられ、・・ツジュ値を用いてキャ
ラシュ40を走査するには、所与のノ・ツ7ユ・クラス
内の工ントリイを走査するだけでよいように構成されて
いる。ディレクトリイ46の内容に基いて、キャッシュ
4Dは既知の手法を使用してアクセスされる。もし関連
したエントリイがディレクトリイ46の中で発見されな
ければミスが生じる。その場合、コントロール61は、
ホスト11からのデータを受取るためのスペースをキャ
ッシュ40に割当てるか、内部制御ワード24及びリン
グ、−ジ・ポート25を使用してDASD16−18・
11からデータを転送する必要がある。
コントロール31は、ホストへ接続される制御ユニット
の通常の部分を含む。例えば、アドレス及び指令評価器
50は、ホスト11から指令信号を受取りかつ状況信号
をホスト11へ与えるため、バス51.52.53.5
4を介してチャネルパアダプタ32と通信する。評価器
50は、論理ブロック19のCCWを評価し、記憶装置
10へ命令を与えて、指令機能を実行させると共に、連
鎖状態を表示し1かつ周辺システムの他の部分から状況
信号を受取って、それをホスト11へ転送する。
直接モードでは(、即ちAC=00の時)、評価器50
はバス55を介して指令信号を直接アクセス・コントロ
ール56へ与え、データ信号が既知のDASD手法を用
いてデータ・フロー回路36と適当なチャネル・アダプ
タ62との間で転送されるようにする。コントロール5
6は、その機能を実行する時、通常の態様でデータ・フ
ロー回路33を制御する。
ここで重要なのは階層記憶機構の動作である。
この動作によって、シーケンシャル・データ・セットは
、最小サイズのキャッシュと最小の割当制御機構を使用
して、キャッシュ40中に置かれることができる。その
場合、効率的な態様で連続性が維持され、ホスト11の
動作要件を満足させるため、十分な数のデータ・ブロッ
クがキャッシュ中に維持される。評価器50は、記憶機
構へのアクセスを示すバイト20中の論理装置アドレス
を受取った時、受取った指令信号を、3つのバス600
1つを介して、コントロール61へ与える。
3つのバスは、キャッシュ40のそれぞれのアクセスを
示す論理バスである。コントロール61は、受取った指
令及び修正データを、チャネル制御ブロック・レジスタ
6゛3に記憶する。論理装置の各々に対して1個のレジ
スタが存在する。DASDの各々に対して6つの論理装
置アドレスが存在することを想起されたい。従って、も
し8個のDASDI6−18があれば、レジスタ62に
は24個のレジスタが置かれている。(DASD18は
1本のダラシ線として示されているが、実際にはλこの
線上に6個のDASDが取付けられている。)各論理装
置の識別情報及び動作状況は、論理装置制御ブロック・
レジスタ62にある複数のレジスタの1つに保存される
。論理装置へのアクセス(これはキャッシュ40中のレ
ジスタを、バイト20のAC及びDEV部分で示された
アドレスへ割当てることによって表わされる)は、アド
レス・バス64を経由してハツシュ回路44に対してな
される。シーケンシャル・データ及びDASD16−1
8のシーケンシャル・アドレス(CHR部分)について
、テーブル4.5中の連続したレジスタがアクセスされ
る。従って、コントロール61は、ハツシュ回路Δ4に
おける遅延を避けるため、バス65を介してテーブル4
5にアクセスする。この動作は、シーケンシャル・デー
タが処理されている時、記憶システム10のホ゛スト1
1に対する応答を早める。コントロール61が、デイレ
クトリイ43のバッジ子・クラスを探索することから生
じたミス表示を受取った時、DASDI6−18からキ
ャッシュ40へのデータ転送リクエストは、リンケージ
・ポート25を介してバス66からコントロール56へ
与えられる。バス66上の信号は、コントロール56の
注意をそのリクエストへ向けさせ、内部制御ワードがリ
ンケージ・ポート25を介してアドレス可能であること
を表示する。マイクロコードを用いた実施例では、リン
ケージ・ポート25は、後に明らかになるよウニ、マイ
クロコード・リンケージ・ポートである。コントロール
56は、それが論理ブロック19に応答する場合と同じ
ようにして、内部制御ワード24に応答する。リンケー
ジ・ポート25を介してリクエストされたデータ転送が
完了すると、コントロール56はバス67を介してコン
トロール61へ状況信号を与える。その時点で、キャッ
シュ40はホスト11で利用可能なデータを有する。コ
ントロール61とコントロール56との間のその他の通
信は、バス68を介して行われる。
そのような通信はメツセージ・データをリンケージ・ボ
ート25に記憶することを含む。DASD16−18は
複数の論理装置アドレスに2よってアクセスされるから
、1組のキュー・レジスタ69が、コントロール61に
よってリクエストされた装置に関連した動作を待ち行列
に入れる。このようにして、コントロール56は、論理
装置を介する待合せリクエストとは無関係に、ホスト1
1及びコントロール61のために、直接アクセス・モー
ドで動作することができる。コントロール56は・階層
記憶機構と関連ずけて使用できるだけでなく・階層記憶
機構を使用しない周辺記憶システムにおいても使用され
ることができる。
更に、コントロール61は追加の制御回路を含む。例え
ば、アクチブ・ディレクトリイ・エントリイ・バッファ
・レジスタ76は、コントロール61が現在−緒に動作
しているディレクトリイ43の1つのエントリイを含む
。即ち、DAS D 16−18のアドレスがキャッシ
ュ40のヒツトを生じた場合、又はキャッシュ40の1
部がホスト11によって与えられるべきデータへ割当て
られた場合、レジスタ76にエントリイを入れることに
よって、レジスタ61の動作は改善される。即ち、ディ
レクトリイ43はシステム・ストレージ3001部であ
り、アクチブなエントリイをレジスタ76に置くことに
よって、システム・ストレージ30は、コントロール6
1から独立して、バス41及び42を介してデータを転
送できるように解放される。装置バッファ・レジスタ7
7は、DASD16−18に関連した制御情報を含み、
コントロール−56を介してアクセスを設定する時、コ
ントロール61によって使用される。そのようなレジス
タは、本発明をマイクロコード構成とした場合に、書込
可能制御ストア中で発見される。
レジスタ77は単に制御ストアの割当部分であり、指定
されたデータ構造を有しない。バッファ・シーケンス・
テーブル78は、後に第3図と関連して説明する。それ
は、バス42上を一連のデータ・ブロックとして転送さ
れるデータ・ブロックの各々についてディレクトリイ4
3を指定するポインタを含み、かつシーケンシャル転送
の間に、どのディレクトリイ・インデックスがキャッシ
ュ4Dヘアクセスするために使用されるべきかを決定す
る走査制御機構を含む。このようにして、シーケンシャ
ル転送はアドレス設定なしで実行されることができ・後
に明らかになるように、DAS’DI6−18からブロ
ックのバーストが中断なしに実行される。
第2図は、第1図に示されたシステムの代替実施例を示
す。第2図の実施例は、第1図のコントロール61に対
応するプログラム化されたマイクロプロセッサ31Pを
含む。バス70は、チャネル・アダプタ32からデータ
・フロー回路36へ延長され、第1図の場合と同じよう
に動作する。
バス41及び42は、それぞれチャネル・アダプタ62
及′びデータ・フロー回路66からシステム・ストレー
ジ30へ延長される。バス41及び42は、データ転送
が単一のバスを時分割する場合、1本゛のバスへ結合さ
れてよい。プロセッサ31Pは、データ、フロー回路と
システム・ストレージ!10との間でデータ転送を制御
する場合、バス71を介して回路33へ制御信号を与え
、バス72を介してシステム・ストレージ30ヘアドレ
ス及びシーケンシングの制御信号を与える。複数のシス
テム・ストレージ・アドレス・レジスタ(SSAR)7
9は、システム・ストレージ30ヘアドレスを与える。
例えば、8個又は16個の5SAR79が設けられてよ
い。従って、プロセッサ31P7>Eシステム・ストレ
ージ60にアクセスする時、それは7ステム・ストレー
ジ30のアドレスを5SAR79へ与えるのみならず、
どの5SARが使用されるべきかをも示す。メモリに対
して複数のアドレス・レジスタを設ける技術は知られて
おり、これ以上詳細に説明しない。
本発明の実施において、5SAR79はシーケンシャル
・データ・ブロックの各バ′−ストのために使用され、
プロセッサ51Pはキャッシュ40(システム・ストレ
ージ3001部)のアドレスを5SAR79にロードす
ることによってシステム・ストレージ30を起動する。
従って、アドレスは連続した7−ケンシヤル・ブロック
の中間で5SAR79ヘロードされる必要はない。シー
ケンシャル転送の間、プロセッサ31Pは、キャッンユ
40とDASD16−18の間でデータ信号の転送を開
始するため、単に5SARを参照する。
ここで注意すべきは、キャッシュ40がシステム60内
で同じような態様で所与のアドレス・スペースを有する
ことである。ディレクトリイ43は・異った範囲のアド
レスを有する。5SAR79は、システム・ストレージ
30のメモリ・アレイの外にある別個の電子レジスタで
ある。プロ声ツサ61PU、バス51−54を介してチ
ャネル・アダプタ32と通信する。
プロセイサ31Pの動作は、コントロール・ストア76
に記憶されたマイクロコード・プログラムに従う。コン
トロール・ストア73は書込可能であることが望ましい
。1部のみを書込可能にし・プログラムを゛含む部分は
読出専用にすることができる。バス74はプロセッサ3
1P’iコントロール・ストア76へ接iする。コント
ロール・ストア76の中には、アドレス及び指令評価器
500機能を実行するプログラム50P、直接アクセス
・コントロール56の機能を実行するプログラム56P
1キヤツシユ・アクセス・コントロール610機能を実
行するプログラム61P、記憶システム10の動作に必
要なその他のプログラム75がある。プログラム50P
、56P、6IPによってシステム10を制御するため
、プロセッサ61Pによって使用されるレジスタ乃至記
憶領域には、論理装置制御ブロック・レジスタ62、チ
ャネル制御ブロック・レジスタ63、キュー・レジスタ
69、アクチブ曖ディレクトリイ・エントリイ・バッフ
ァ・レジスタ76、スキャタ・インデックス・テーブル
45、装置バッファ・レジスタ77、リンケージ・ポー
ト25、バッファ・シーケンス・テーブル78などがあ
る。非常に容量の大きいキャッシュ40については、テ
ーブル4.5をシステム・ストレージ30に記憶するこ
とができる。効率を上げるため、テーブル45の1ペー
ジを含む1群のレジスタが、コントロール・ストア73
に設定されてよい。
第2図に示される装置の動作は、第3図乃至第9図を参
照することによって良好に理解できる。
これらの図面は詳細なデータ構造、及び本発明の動作の
理解に必要なマイクロコード部分に対する論理フロー図
を示す。第3図は、本発明に従って記憶7ステム10を
動作させるため、プロセッサろ1Pによって使用される
データ構造を示す。レジスタ62はデータ信号を含む一
連のレジスタであって%4つの部分に分けられる。基本
部分80は基本的なデータ構造であって・これは一般的
動作の意味における記憶システム10の機能を限定する
と共に機能をサポートする。ぺ・−ジンク・パラメータ
部分81は、ベージング及びスワツピング機能を限定す
るパラメータに関連する部分である。ベージング及びス
ワツピング機能ヲキ1、後に説明するベージング・パラ
メータ設定指命により設定される。指令パラメータ部分
82は、ホスト11によって出されたセクタ設定、シー
ク、識別情報探索指令のような指令パラメータを含む。
これらの指令は、既知のディスク記憶装置周辺記憶7ス
テムと関連して使用される。読出パラメータ部分83は
、続出パラメータをサポートするパラメータを含む。読
出しは、データ信号をDASD16−18からキャッシ
ュ40へ転送することである。
基本部分80は装置フィールド9Dを含む。フィールド
90は装置終了信号が記憶システム1゜によってホスト
12へ出されるべきか否かを示す。
チャネル・マスク・フィールド91は、どのチャネル・
アダプp32が現在の指令を受取ったか(即ち、論理装
置がどのチャネルに関連しているか)を示すピット・パ
ターンを含む。論理装置アドレス・フィールド92は、
指令と共に受取られた論理アドレス(即ち、第1図のバ
イト20のAC及びDEV部分)を示すコードを含む。
指令フィールド93は第1図のバイト21からのコード
を含む。シーケンス・フィールド94は第1図のバイト
22のSEQ部分を含む。チャネル指令リトライ・フィ
ールド95は、システム10によってチャネル指令リト
ライ信号がホスト11へ送られたか否かを示す。キャッ
シュ・ミスがミス・フィールド96で示されると、チャ
ネル指令リトライ信号がホスト11へ送られている。従
って、レジスタ62は、キャツンユ40についてミスが
生じたこと、及びシステム10が適当なチャネル指令リ
トライ信号を与えたことを知らせる。チャネル指令リト
ライ信号は、単に周辺指令の実行中に遅延が必要である
ことをホスト11へ知らせる。システム10が指令を実
行できる状態に達すると・それはホストへ装置終了信号
を送る。次K、ホストは2度目の周辺指令を送り、その
指令はシステム10によって実行されることができる。
ページング・パラメータ部分81は、バイト22のSE
Qフィールドに対応するシーケンス・フィールド100
、及びバイト22のRDフィールドから取られた読出フ
ィールド101を含む。カウント・フィールド102は
、バイト23から取られたブロック数を含む。シーケン
シャル拳データの各ブロックがホスト11へ転送される
度に、カウント・フィールド102は1だけ減少される
従って、それはキャッシュ40を介してホスト11へ転
送されるべきブロックの数を示す。ベース・シリンダ・
フィールド103は、シーケンシャル・データがDAS
D 16−18から転送される場合のシリンダ・アドレ
スCを含む。即ち、マルチシリンダ・リクエストの場合
、フィールド103は・仮想マシン・ミニディスクのC
値を含む。
指令パラメータ部分82は、シーク・アドレス・フィー
ルド104にDASDのシー°り・アドレスを含み、探
索フィールド105に最後又は現在の識別情報探索引数
を含み、セクタ・フィールド106に最後又は現在のセ
クタ値を含む。
読出パラメータ部分83は要求フィー、ルド110を合
む。フィールド110は、DASD16−18からキャ
ッシュ40へのデータ転送が要求されていることを示す
。進行フィールド111は、DASD16−18からキ
ャッシュ40への読出しが進行中であることを示す。後
処理フィールド112は、DASD 16−18からの
読出しが完了し、成る後処理機能が実行されていること
を示す。装置アドレス・フィールド113は、アドレス
されている実際のDASD16−18を表示するため・
バイト20(第1図)から取られたDEV部分を含む。
ディレクトリイ・インデックス・フィールド114は、
どのディレクトリイ・エントリイ・レジスタがレジスタ
62で指定された論理装置に対応するエントリイを含む
かを示すため、ディレクトリイ43のインデックス値を
含む。ストレージ・アドレス・レジスタ・フィールド1
15は、DASD16−18とキャッシュ40の間のデ
ータ転送で、どの5SAR79がキャッシュ40にアク
セスするために使用されるかを示す。
保存フィールド119は、割込動作を含む各種の動作の
間に、プロセッサ31Pが制御データを保存するために
使用するレジスタ62の領域を示す。
アクチブ・ディレクトリイ・エントリイ・バッファ・レ
ジスタ76は、ディレクトリイ43の各−エントリイと
同じ構成を有する。従ってルジスタ7乙の説明は、ディ
レクトリイ46の説明と同じである。ディレクトリイ4
3及びレジスタ76の各エントリイにおいて、インデッ
クス・フィールド107はディレクトリイ・エントリイ
の論理アドレスを含む。これは、各エントリイのための
自己識別データである。フィールド108は、キャッシ
ュに記憶されたデータ、又は記憶の割当てを受けたデー
タに対応するDASD16−18のアドレスを含む。C
CPフィールドは物理シリンダ・アドレス(即ち、DA
SD16−18に対するシリンダの実際の物理アドレス
)を含む。Hフィールドはヘッド・アドレスを含む。R
フィールドはレコード・アドレスを含む。Pフィールド
はバイト20のDEV部分に対応する装置アドレスを含
む。セクタ・フィールドは実際のセクタ値(即ち、読出
しが始′まるディスク回転位置)を含む。
4つのレコー、ドを有するトラックのためのRフィール
ドの値は、1から4まで変動するが、セクタ・フィール
ドの値は、実際のセクタ・アドレスである。DASDを
アドレスする時、Rフィールドの値は、通常のDASD
アドレシング手法を用いて、バイト・レベルで回転位置
インデイケータへ変換される。成る種のホスト・オペレ
ーティング・ンステムにおけるRフィー ルドの値は、
1−120の範囲をとる。その他の範囲の場合・Rフィ
ールドの値はトラックに含まれるレコードの数Nのモジ
ュロ値へ減少される。次に、Rフィールドの値及びモジ
ュロNはディスクの回転アドレスへ変換される。そのよ
うなセクタ値は、最小の待ち時間遅延と共にレコードへ
のアクセスを開始するために適している。CCLフィー
ルドは論理ゾリンタ”・アドレスを含む。このアドレス
は、物理装置上で限定される論理装置のために使用され
る。
リンク・フィールド109は、ハツシュ・クラスの全て
のエントリイを相互にリンクするため、重−的にリンク
されたリストのデータ信号コードを含む。所与のハラツ
ユ・クラスの最後のエントリイは、連鎖の終り又はクラ
スの終りを示す特定のコード(ゼロ)を含む。変更フィ
ールド269は、キャッシュ40中のデータが、DAS
D 16−18から受取られたため変更されたかどうか
を示す。
本発明の理解に関係のない他のコードを、デイレクトリ
イ45の各エントリイヘ付加することができる。例えば
、MRU−LRUリストヲ各エントリイに含ませてよい
リンケージ・ポート25は、プログラム50P156P
、61Pによってアクセス可能なコントロール・ストア
76の領域である。この領域は、こしG;> −r イ
クロコード・ユニットの実行の相互作用を制御するため
のメツセージ領域である。成る実施型態では、プログラ
ム50P及び56Pは1つのコード・セグメントとして
取扱われ、リンケージ・ポート25は、これら2つのマ
イクロコード・セクショ/によって単一ユニットとして
アクセスされる。リンケージ・ポート25はコード・ポ
イント・フィールド110”を含む。このフィールドは
、制御データをリンケージ・ポートに転送したコードの
部分を示す。即ち、プログラム6IPがエントリイをり
/ケージ・ポート25に転送した時、プログラム56P
はその制御データをフェッチし、機能を実行する。プロ
グラム56Pが、プログラム61Pによるリクエストに
応答して、新しいデータをリンケージ・ポート25に入
れた時、フィールド1101は、コード実行のどの地点
にプログラム56Pが関連しているかをプログラム6I
Pに知らせるので、プログラム<SIPは、プログラム
56Pの応答に基いて処理を継続することができる。優
先順位フィールド111′は、リンケージ°ボート25
に入れられたリクエストの優先順位が高いか、低いか、
又は連続処理を要するものかを表示するコードを含む。
有効フィールド1121は、リンケージ・ポート25の
エントリイが有効であるかどうか(即ち、アクションを
要する最近のエントリイであるかどうか)を示す。装置
フィールド1161は、DASDl<5−18のいずれ
がり/ケージ・ポート25にある現在の制御データと関
連しているかを示すため、バイト20から取られたDE
V部分を含む。パラメータ・フィールド1141は、メ
ツセージに関連した各種のパラメータ(即ち、どのよう
な機能が実行されるべきであるか、状況情報など)を含
む。
バッファ・シーケンス・テーブル78は、DASDl6
−18の各々のために1群のレジスタを有する。第1の
レジスタは削除フィールド120を含む。フィールド1
20はディレクトリイ・インデックス122−121e
指定する1から8までのインデックス値を含む。これら
のインデックスは、削除されるべきディレクトリイ・エ
ントリイを指定する。カウント・フィールド121は、
テーブルに含まれる有効なエントリイの数のカウントを
含む。更に、それはアドレスとして使用される。例えば
、最初のディレクトリイ・インデックスは常に122に
記憶され、第8番目のディレクトリイ・インデックスは
126に記憶される。
フィールド121に6の値があれば、第6番目のディレ
クトリイ・インデックスがアクセスされる。
ディレクトリイ・インデックスは、ディレクトリイ46
の工ントリイの論理アドレスであり、ディレクトリイ4
3に対して迅速なアクセスを可能とする。
第4図はデータの読出し又は書込み転送における一連の
チャネル゛指令ワード(CCW)及び内部制御ワード(
ICW)を示す。読出転送は、DASD16−18から
ホスト11への信号転送であり、書込転送はその逆方向
のデータ転送である。
CCW連鎖130は、ベージング−パラメータ設定(S
PP)CCW132から始まる。第5図は記憶システム
10によるそのような指令の実行を示す。基本的には、
SPP  CCW132は、シーケンシャル・データが
記憶システム10からホスト11へ転送されるべきか否
かを設定すると共に・第1図の論理ブロック190バイ
ト22で指定される他のパラメータを設定する。spp
  cCW1′52が1度動作パラメータをシステム1
0へ表示すると、シークCCW133はシーク指令を周
辺記憶システムへ転送する。シーク・パラメータはsp
p  ccw中に含まれていてよい。通常のDASD構
造に従えば、シークの次にセクタ設定CCW1!+4が
続き、その次にID(識別情報)等価探索CCW135
が続く。ここで記憶システムは、読出CCW136によ
って、アドレスされたDASD16−18からデータを
読出す準備を完了する。続出指令を受取ると、記憶シス
テム10は列131に示されるアクションを実行する。
先ず、シーク、セクタ設定、及びID等価探索の各CC
Wはスタック140にある。137で、第1図に関して
説明したように、ディレクトリイ43の探索が実行され
る。ヒツトの場合(即ち、要求されたデータがキャッシ
ュ4oにあル場合、線138によって示されるように、
データは、キャッシュからホストへ、指令を受取ったチ
ャネル・アダプタ32を介して転送される。他方、デー
タがキャッシュに存在しないことをディレクトリイ43
が表示すると、線141で示されるようにミスが生じる
。この場合、線142で示されるように、チャネル指令
リトライ信号が7ステム1゜によって与えられる。これ
は、ホスト11へ、装置終了信号がシステム10から受
取られた時、同じ読出指令をシステム10へ送ることに
よって、読出CCW136がチャネルによって再実行さ
れねばならないことを知らせる。これが生じると、シス
テム10は、ICW連鎖143−148を形成する。こ
のICW連鎖は、シークICW143で始まるが、この
ICWはホスト11から受取られてスタックされたシー
ク指令から導入される。
マルチトラック動作の場合、工CWはID探索ハラメー
タから導入される。シークICW14Sの次にはセクタ
設定ICW144が続く。ICW144はレコード番号
から計算されたセクタを有する。ローカルの入力は、キ
ャッシュ設定ICW145を作る。このICWは、プロ
グラム56Pをして・読出されるべきデータが記憶され
るシステム・ストレージ30のアドレスを、適当な5S
AR79へ挿入せしめる。もし複数のデータ・ブロック
が転送されるべきであれば、146で示されるように複
数のキャッシュ設定ICWが生じる。
次に、CCW135に対応するID等価探索ICW14
7が生じる。ID等価探索ICW147は最初のキャツ
ーンユ設定ICW145に対応する。
これは、1つのICW147を用いて、複数のデータ・
ブロックが順次に読出されることを意°味する。次に、
転送されるべきデータ・ブロックの数に等しい読出IC
W148がプログラム56Pへ与えられる。それは、キ
ャッシュ設定ICWO数によって指定された所定数のデ
ータ・ブロックを読出すためである。読出しくアドレス
されたDASD16−18から5SAR97中に設定さ
れたキャッシュ40のアドレスへデータを転送すること
)が完了すると、線150で示されろように、システム
10は装置終了信号をホスト11へ与える。ホスト11
は、151でCCW136に対応する周辺指令を出すこ
とによって直ちに応答する。
勿論、ICW連鎖が実行されたばかりであるから、シス
テム10は152でディレクトリイ43を探索しヒツト
を生じる。次に線15′5で示されるように、データは
キャッシュ40からホスト11へ転送される。136で
リクエストされたデータ・プロン〉について、データが
転送されなかった場合、他のミスが生じ、エラー状況が
ホスト11へ報告される。このエラー状況は、システム
10がアドレスされたDASI)16−18のシリンダ
及びヘッド・アドレスからデータを転送することができ
なかった事実を反映する。次に、ホスト11は、標準の
ディスク記憶装置回復手法を用いて回復をはかるため、
直接アクセス法(AC=OO)に頼ることができる。省
略符号154は、上記の動作が稠度も反復されることを
示すと共に、複数のDASD16−18に対する複数の
CCW連鎖がインタリーブされることを示す。ICW連
鎖ハ、必ずしもCCW連鎖のシーケンスに従わない。環
境に応じて、ICW連鎖は、後に生じるCCW連鎖によ
って構成されかつ使用されてよい。そのような可能性は
、CCW連鎖に関するICW連鎖の非同期的局面を示す
。通常、最初のCCW連鎖は最初のICW連鎖を生じる
。任意の時点で、別個のICW連鎖はそれぞれのDAS
Dについてアクチブであることができる。
第5図はシステム10によるSPP指令の実行を示す。
プログラム50PはSPP指令を受取るとそれをデコー
ドする。デコードの結果として、プロセッサ31Pはプ
ログラム6IPを能動化する。それが能動化されると、
プロセッサ31Pはプログラム6IPを介して155で
本発明に関連のない論理機能を実行する。次に156で
、第3図のレジスタ62がアクセスされ、部分82にあ
る探索フィールド105が1ヘセツトされ、部分80に
ある装置フィールド90が0ヘセツトされ、CCRフィ
ールド95がOヘセットされ、シーケンス・フィールド
100がバイト22で受取られた値ヘセットされ(Xに
よって示される)、読出フィールド101がバイト22
のRD部分の値ヘセットされ、部分810カウント・フ
ィールド102がバイト26で示された値ヘセットされ
る。
レジスタ62の設定に続いて、プロセッサろ1Pは15
5で本発明と関連のない論理機能を実行する。次にプロ
セッサ31Pは、157でレジスタ62のシーケンス・
フィールド100を調べ、シーケンシャル・データが指
定されているかどうかを調べる。もし指定されていなけ
れば、プロセッサ31 Pバリンケージ・ポート25を
介してプログラム50Pへ戻る。もしシーケンシャル・
データが指定されていれば、プロセッサ31Pは、15
8で、カウント・フィールド102で示されたブロック
数をプロセッサ31Pの内部レジスタエR(図示せず)
へ転送する。実施例において、最大8個のブロックが、
データ・ブロックの所与のバースト中に転送される。カ
ウント・フィールド102のカウントが8より大きいか
父は8に等しい時、8個のブロックが転送され、カウン
トは8だけ減少される。カウントが8より少なければ、
そのカウントに等しい数のブロックが転送される。
次に159で、ブロック・カウントの値が検査される。
もしそれがゼロでなければ、適当なSPP指令の実行が
生じている。もしブロック・カウントが0であれば、シ
ーケンシャル・インディケータ又はブロック・カウント
がエラーである。従って、プロセッサ31Pはステップ
159からエラー状況報告手順へ進む。
シーク、セクタ設定、ID等価探索の各CCW133−
135は周知であるから説明しない。システム10が先
行技術と異なる動作をとるのは、シーケンシャル・デー
タのために読出CCW136に基いて続出指令を受取っ
た時である。第6図は、シーケンシャル・データを転送
するマ/ン動作を示す。160で、受取られた指令がプ
ログラム50Pによって処理される。次にリンケージ・
ボート25を介して、プログラム6IPがプロセッサ3
1Pによって能動化される。指令は再び161でデコー
ドされる。それは読出指令であるから、162でディレ
クトリイ43が第1図に関して説明したようにして探索
される。163で、プロセッサ31Pは、ディレクトリ
イの探索がヒツトを生じたかミスを生じたかを決定する
。ミスの鳴合、164で、指令及び制御情報をキュー・
レジスタ69に置くことによって、受取られた指令が待
ち行列に入れられ、チャネル指令リトライ信号がホスト
11へ送られる。キュー・レジスタ69は任意のフォー
マットを使用することができるから、これ以上説明しな
いが、待ち行列はDASDの各々のための先入れ先出し
くFIFO)待ち行列である。即ち、8個のDASD1
6−18が存在すれば、8つの待ち行列が設けられる。
FlF’O待ち行列の使用が重要であるのは、所与の装
置1(ついてホストへの応答シーケンスが、ホストによ
って送られた指令のシーケンスに確実に対応するように
するためである。待ち行列から、プログラム6IPは、
第7図乃至第9図を参照して説明するように、アドレス
されたDASD16−18からの読出しを開始する。
163で、ディレクトリイ探索のヒツト状態が生じると
、170でキャッシュ40は、適当なチャネル・アダプ
タ32を介して、データをホスト11へ壇動的に転送す
る。そのような自動的なキャッシュからホストへの転送
は周知であり、従って説明を省略する。自動的データ転
送の間に、エラーが起るかも知れない。従って、エラー
が検出されると、プロセッサ31Pはエラー報告兼分析
ルーチンへ進む。一般的には、データ転送にエラーは生
じない。172で、データ転送が成功裡に完了すると、
プロセッサ31Pは、フィールド101を検査するため
レジスタ62にアクセスする。
もし読出しの後の放棄が表示されていれば、プロセッサ
31Fは、173で読出されたばかりのデータ・ブロッ
クをデステージするためキャッシュに入れ、自由になる
。デステージングは、指令が実行されていない時、プロ
セッサ31Pによって実行される。置換アルゴリズムの
要求が生じる前に、データをデステージングすることは
、キャッシュ40の効率的管理に必要な制御回路を小さ
くする。即ち、自由なスペースが必要となる前に、それ
らが利用可能となる。次に、ステップ172又は173
のいずれかから論理通路174を介して、175で、プ
ロセッサ31Pは、ディレクトリイ43から、データが
キャッシュ40に保留されるか否かを決定する。キャッ
シュ40へのデータの保留は、ディレクトリイ43のピ
ニング・フラグ(図示せず)が消去されるまで、データ
がDASD 16−18へ転送され得ないことを意味す
る。もしデータがキャッシュへ保留されるのでなければ
、176で読出されたばかりのブロックは・置換アルゴ
リズムのためにL RU IJスト(図示せず)中で最
近時に使用されたブロックとされる。
これはディレクトリイ43にアクセスし、そのディレク
トリイ中で既知の仕様を有するLRUIJストを更新す
ることによって達成される。177で、本発明と無関係
の論理ステップがプロセッサ61Pによって実行される
。次に180で、レジスタ62が再びqクセスされて、
シーケンス・フィールド100が検査される。もしシー
ケンシャル・データが指示されていれば、182で、プ
ロセッサ31Pはレジスタ62のフィールド102を調
べて、ブロック・カウントが0に等しいかどうか(即ち
・転送されたばかりのブロックがデータのシーケンス中
で最後のブロックであるかどうか)を決定する。もしそ
れが最後のブロックでなければ・ 183で、ブロック
・カウントが1だけ減少される。ステップ180.18
2.183に続いて、論理通路181は、プロセッサ3
1Pをプログラム50Pへ戻す。それは、通常の態様で
ホスト11へ最終的な状況報告を行うためである。
第7図及び第8図はキュー・レジスタ69にある続出待
ち行列を走査し、ICW連鎖を発生する流れ図を示す。
リクエストされた読出しが待ち行列!(入れられた後、
プロセッサ31Pは、システム10をして、各種の機能
を実行せしめる。例えば、そのような機能として、チャ
ネル・アダプタの1つを介して受取られた指令、及び続
出相合(チャネル指令リトライの対象となった)を転送
したチャネル・アダプタから受取られた他の指令に応答
する機能がある。ホストからの周辺指令の受取りに休止
があれば、シーク及びセクタ設定指令がDASD 16
−18に送られる。キャッシュ4Qがデータをホスト1
1へ転送したり、ポスト11からデータを受取ったり、
アドレスされたDAsDからデータを受取ったりそこへ
転送したりしている間、制御アクティビティ中に休止が
生じると、プロセッサ31Pは、プログラム75の1部
であるディスパッチャ・マイクロコードを介して、キュ
ー・レジスタ69を含む作業テーブル(図示せず)を走
査する。もし待ち行列が空であれば(即ち、読出しが起
るべきでなければ)1.プロセッサ31Pは、論理通路
192を通って、ディスバソチャ190へ戻る。もし読
出しが待ち行列に入れられていることが、キュー・フラ
グを走査することによって、191で検出されると、1
96で、待ち行列のエントリイがキュー・レジスタ69
からプロセッサ31Pの内部レジスタ(図示せず)へ転
送される。もしこの転送でエラーが生じれば、194を
介してエラー報告及び回復手順へ行く。
キュー・レジスタから待ち行列のエントリイが成功裡に
読出されると、195でレジスタ62がアクセスされ、
装置フィールド90が1へセットされる。それは、成功
した読出しが完了すると、装置終了信号を発生する必要
があるからである。196で、本発明と無関連の機能が
実行される。次に200で、アドレスされた装置に対応
する装置バッファ・レジスタ77で、連鎖ビットがセッ
トされる。そのビットは、論理連鎖が起ること、即ちア
ドレスされたDASDl(S−18に対する来たるべき
アクセスで、1つを超えるICWが使用されることを示
す。201で、レジスタ62が再びアクセスされ、シー
ケンス・フィールド100の値が調べられる。シーケン
シャル・デーpが指定されていれば、プロセッサ31P
は202へ進み、来たるべきICW連鎖のためのブロッ
ク・カウントをページング・パラメータに等しくセット
する。
所与のICW連鎖を通して転送されるブロックの最大数
は、5SAR79の数に等しい。例えば1.8個の5S
ARがあれば・転送されるブロックの数は最大8個であ
る。更に、遅延限界を考慮しなければならない。例えば
・転送される8個のブロックが2個のシリンダにアクセ
スする必要があれば、最初のシリンダにあるブロックの
みが転送される。
例えば、8個のブロックのうち、最初のシリンダに4ブ
ロツクがあり、第2のシリンダに4ブロツクがあれば、
ブロックの数は4ヘセツトされる。
このアクションは、一連のブロックを転送するのに必要
な時間を最小にし、かつ全ての転送が電子的速度で完了
するようにする。所与のシリンダの第1ブロツクでミス
が起ると、8個までのブロックが自動的に転送されるこ
とができる。更に、ブロックの最大数は、カウント・フ
ィールド102にある残りの値よりも決して大きくなら
ない。工CW連鎖は、シリンダ境界が決してICW連鎖
によって横断されないように配列される。そのような配
列は、通常のコンピュータ・プログラミングに従って行
われる。201で、もしシーケンシャル・データが指定
されなければ、203で転送されるべきブロックの数は
1ヘセツトされる。ブロックを設定する数値は、連鎖フ
ラグ、装置アドレスその池の装置制御データと共に装置
バッファ・レジスタ77(第1図)へ与えられる。20
4で、5SAR79の識別情報が0ヘセツトされる。こ
れは、プロセッサ51Pが識別情報0を有する5SAR
にアクセスすることを意味する。
205で、第1図の論理ブロック19から得られたAC
及びDEVより成る論理アドレスが物理装置アドレスへ
変換される。実施例において、このアクションは、単に
論理アドレスからAC部分をマスクするととKよって達
成される。206で、本発明と無関連の機能が実行され
る。接続表示207は、第8図から来る論理フローの続
きである。
190から206までの論理ステップは準備ステ   
′ツブであり、以下に説明するステップは、一連のブロ
ック転送を設定するため、ループとして反復可能である
ループ中の最初のステップ21bは、キャッシュ40で
スロット又はスペースを割当てる。通常の割当手順がと
られる。即ち自由リスト(図示せず)上のアドレス可能
なスロットが、アドレスされたDASDl(S−18か
ら最初の信号ブロックを受取るべきスロットとして指定
される。次にそのスロットは自由リストから除かれ、プ
ロセッサ31P内の内部レジスタ(図示せず)で表示さ
れる。それは、ディレクトリイ43のどのエントリイを
使用してキャッシュ40中のスロットkR別するかを示
すためである。ここで注意すべきは、キャッシュ40中
のそれぞれのアドレス可能なスロットに対して、ディレ
クトリイ43の中に1つのエントリイ・レジスタが存在
することである。
従って、キャッシュ40におけるデータの実際のアドレ
スは、ディレクトリイ43のエントリイを含むレジスタ
から直接引出すことができる。
ステップ202又は203で設定されたブロックの数に
等しいスロットの数を割当てようと試みた場合、プロセ
ッサ31Pは、211で、割当て過程でチラーが生じた
かどうかを決定する。もしエラーが生じていれば、ブロ
ックの全てがアドレスされたDASD 16−18から
キャッシュ40へ成功裡に転送されたとは言えない。従
って、エラー状態が生じた場合、プロセッサ31Pは、
212でレジスタ62のシーケンス・フィールド100
を調べ・シーケンシャル転送かどうかを決定する。もし
シーケンシャル転送でなければ・ブロセッ+3IPは論
理通路213をたどり、プログ5ム5CJPへ戻る。そ
れは、置換アルゴリズムの制御を待機して、1個のブロ
ックのために利用可能なスペースを作るためである。
7−ケンシヤル転送の場合、プロセッサ31Pは、21
4で・転送されるべき最初のブロック上でエラーが生じ
たかどうかを決定する。もしエラーが生じたのであれば
、全体の動作は無効にされる。従って215で、レジス
タ62がアクセスされ、図示されないユニット・チェッ
ク(UC)フラグが1ヘセツトされ、切断状況(DC)
フラグが1ヘセツトされ、その他のフラグが0ヘリセツ
トされる。次にプロセッサ31Pは1、論理通路216
を介してプログラム50Pへ戻る。もし割当エラーが最
初のブロックについて生じていなければ、残りのブロッ
クのデータ転送が生じる。プロセッサ31Pは通路21
7から220へ進むが、それは、ICWIJストから割
当てられない領域へ転送されるブロックの数を切詰める
ためである。
ステップ211へ戻って、もし割当エラーが生じていな
ければ、218で、本発明と無関係の機能が実行される
。これらの機能は、割当てに関係のないマイクロコード
論理エラーを分析することを含む。もしスロットが、そ
のようなマイクロコード・エラーのために割当てられな
かったのであれば、切詰ステップ220が実行され、ア
ドレスされたDASD16−18からキャッシュ40へ
転送されるブロックの数が減少される。エラーが生じな
いか、又は切詰めがなされた後、プロセッサ31Pは・
 221で、本発明と無関係の論理ステップを実行する
。222で、レジスタ62のシーケンス・フィールド1
00が検査される。もしシーケンス・フィールド100
が0を含むならば、シーケンシャル・データは指定され
ておらず、従って223で、キャッシュ40中でデータ
を受取ルヘキスロットに対応するディレクトリイ46の
エントリイのインデックスが、レジスタ62のディレク
トリイ・インデックス・フィールド114へ入れられる
。シーケンシャル・データの場合、又はインデックスが
レジスタ62へ入れられた後・224で、後に5SAR
79へ挿入されるべきキャッシュ・アドレスが、レジス
タ62へ入れられたばかりのディレクトリイ・インデッ
クスから発生される。これは、単にオフセット値をディ
レクトリイ・インデックスの各々へ付加することである
。225及び231で、シーケンシャル・モードを示す
レジスタ62のシーケンス・フィールド100が、プロ
セッサ31Pをして、カウント・フィールド102を検
査させ、そのカウントが1より大きいかどうかを調べさ
せる。もしカウントが1より大きければ、2′52で、
プロセッサ61Pは、転送されつつあるブロックのシー
ケンスにある最初のブロックが、処理されつつあるかど
うかを検査する。もし処理されていなければ、236で
、第2のブロックのための新しいキャッシュ・アドレス
が与えられる。次に234で、装置バッファ・レジスタ
77において、第2又はその他ノフロックに対応する5
SAR79がキャッシュ・アドレスヘセットされ、フラ
グがセットされ、ディレクトリイ43へのポインタがセ
ットされ、キャッシュ・アドレスを受取るべき5SAR
79が指定される。実行されるべぎ一他の機能も、レジ
スタ77の中で限定されてよい。
ステップ225.261.232からの論理通路226
は、本発明と無関係のステップ227へ続き、次いでプ
ロセッサ31Pは228で、レジスタ62ヘアクセスし
て、発生されたキャッシュ・アドレスを読出パラメータ
部分83の現γ下レス・フィールド118へ記憶する。
次にプロセッサ31Pは、本発明と無関係のステップ2
29をとり、接続表示265を介して第8図の論理ステ
ップへ進む。
第8図のステップ241で、プロセッサ31Pは第6図
のカウント・フィールド121を増加させることによっ
て、5SAR79へのポインタを更新する。242で、
プロセッサ61Pは、キャッシュ40へ転送されるべき
ブロックの全てが、キャッシュ40中で割当てを得られ
たかどうかを決定する。もし割当てを得ていなければ、
プ1セッサ31Pは、接続表示Bを介して第7図の接続
表示Bへ戻り、キャッシュ40のスペースラフロックへ
割当てる。このループは、カウント・フィールド121
が転送されるべきブロック数と等しいカウント(8を超
えない)を含むようになるまで繰返される。
ループを完了した後、本発明と無関連の論理ステップが
244で実行される。245で、読出指令がICWC上
へトされる。このICWはDASD16のためのデータ
読出指令を表わす。250で、レジスタ62がアクセス
され、ベージング・パラメータ部分81にあるシーケン
ス・フィールド100がセットされているかどうかを決
定する。
それがセットされていれば、プロセッサ31Pは、25
1で、受取られたブロック・カウントが1より大きいか
どうかを決定する。もしそれが1より太きければ、IC
W24(第1図)の指令修正ノくイト27の連鎖フラグ
がセットされる。1より大きくなれば、ステップ250
又は251から入ったステップ252で、連鎖フラグを
リセットすることによって、バイト27で連鎖終了が示
される。
254−t’、コントロール・ストア73にある装置バ
ッファ・レジスタ77はICWft受取る。即ち、指令
コード、フラグ、その他の動作表示が受取られる。25
5で、プロセッサ31Pは、再びレジスタ62のシーケ
ンス・フィールド100を検査し、それがシーケンシャ
ルでないかどうかを決定する。1つのブロックのみが転
送されるのであれば、プロセッサ31Pは論理ステップ
257を実行rるための論理通路256をたどる。それ
は、リンケージ・ボート25を介して、形成されたばか
りのICWをプログラム56Pへ転送するためである。
シーケンシャル・データ転送の場合、プロセラ?3IP
はステップ255を離れて論理ステップ260を実行す
る。それは、カウント・フィールド121を次のエント
リイヘ調整するためである。
次に261で、残りのブロック・カウントが1より大き
くなければ、ステップ257でICWがプログラム56
Pへ転送される。残りのブロック数が1より大きければ
、残りのICWを連鎖へ設定するループ270が実行さ
れる。271で、カウント、キー、データ読出指令及び
マルチトラック指令が設定される。272で、プロセッ
サ31Pは、ブロック・シーケンスの中にある最後のブ
ロックが処理されているのかどうかを決定する。□もし
処理されていなければ、ICWのバイト27にある連鎖
フラグが1ヘセツトされる。そうでなけレバ、274で
、連鎖フラグをリセットすることによって、連鎖状態の
終りが表示される。275で、ICWが装置バッファ・
レジスタ77へ転送すttル。276で、キャッシュ、
・アドレスが装置バッファ・レジスタに記憶され、バー
スト転送のためK、それが直ちに5SAR79へ転送さ
れることができるよう忙なる。277で、プロセッサ3
1Pは、ブロックが最後のブロックであるかどうかを決
定する。もし最後のブロックでなければ278でループ
がインデックスされ、通常の制御手法を用いて、内部レ
ジスタ(図示せず)Kあるカウントが調整される。最後
のブロックであれば、ステップ257が実行される。ル
ープが278でインデックスされた時、ステップ271
−277が再び実行される。
プログラム56Pは、ICW連鎖を受取ると、チャネル
・アダプタ32を介して受取った指令と同じようにその
連鎖を実行する。指令の実行は良く知られているから、
ICW連鎖の実行についてはこれ以上説明しない。ここ
で注意すべきは、DASDからキャッシュ40へ信号を
転送するに当って、プログラム56PはDASDをアド
レスするのみならず、レジスタ77のキャッシュ・アド
レスをS S A R,79へ転送し、いくつかのデー
タ・ブロックが単一のデータ・ストリームで転送できる
ようにする(即ち、マルチトラック転送)。
その転送の終りに、プログラム56Pは・エラー表示を
含む結果の状況情報をり/ケージ・ポート25ヘロード
する。次いで、プロセッサ31Pの動作は、プログラム
56Pからプログラム61Pへ切替えられる。
第9図はポート処理と呼ばれるプログラム61Pの部分
を示す。この部分は、DASDからキャツ/ユ40への
データ信号の転送に続いて実行される論理ステップであ
ろう先ず、ステップ280でリンケージ・ポート25の
内容が作業レジスタへ転送される。上記内容は装置アド
レス、レジスタ62へめポインタ、プログラム56Pに
よって発生されろフラグが含まれる。281で、プロセ
ッサ31Fはレジスタ62ヘアクセスし、DASDから
の読出しが進行中でないことを示すため、進行フィール
ド111’kOヘリセツトする。282で、本発明と無
関連の論理ステップが実行される。283で、プロセッ
サ31Pはプログラム56Pのリターン・コードを検査
して、エラーでないかどうか、全て゛の要求されたデー
タ・ブロックがキャッシュ40へ成功裡に転送されたか
どうか、リターン・コードは0になっているかどうかを
テストする。そのような成功した動作が存在すれば、2
84でプロセッサ31Pの内部作業レジスタの内容が1
へセットされる。285で、レジスタ62がアクセスさ
れ、シーケンス・フィールド100が検査される。もし
転送がシーケンシャルでなければ(即ち、1つのデータ
・ブロックのみが転送されるのであれば)、287で転
送されるブロックの数が1ヘセツトされる。そうでなけ
れば、286で、レジスタ77に記憶されるように割当
てられたブロックの数が・テーブル78におけるエント
リイの数を示すためにカウント・フィールド121へ転
送される。
ステップ283でエラー状態が生じていれば(即ち、リ
ターン・コードが0に等しくなければ)・290でエラ
ー分析の論理ステップが実行される。
もしそのような分析によって永久的エラーが表示されれ
ば、プロセッサ31Pは通路291をたどり、永久的エ
ラー回復及び報告手順へ進む。この手順は、本発明の範
囲外にある。そうでなければ292で、プロセッサ31
Pは指令がマルチトラック指令であったかどうか(即ち
、1つのデータ・ブロックを超えるデータ・ブロックが
自動的に転送されるべきか否か)を決定する。もしマル
チI・ラック指令でなければ、エラー状態は単一ブロッ
クの転送を生じ、永久的エラーが処理されて・プロセッ
サ31Pは論理通路291へ進む。もし複数のブロック
が転送されたのであれば、それ以上のアクションをとる
ことができる。即ち、1つのブロックはエラーであるか
も知れないが、先行する全てのブロックはエラーなしで
転送されたのかも知れない。プログラム56Pは、リン
ケージ・ポート25を介して、どのブロックがエラーを
生じたかを表示する。プログラム6IPは、プログラム
561から与えられた情報から、とのICWがエラーに
関連しているかどうかを表示tろ。
次にプロセッサ31Pは、293で、レジスタ77から
、直前のICWをフェッチする。294で、もし指令が
DASDからキャッシュ40ヘデータを読出す指令であ
ったならば、295で、プロセッサ31Pは、割当てら
れたスロットからエラー・ブロックの数を減算すること
によって、ブロック・カウントを調整する。294で、
データ続出指令以外のエラーの場合(即ち、データ転送
の前に生じたエラーの場合)、プロセッサ31Pは永久
的エラー・ルーチン(説明せず)へ進む。ステップ28
6.287.295から入ったステップ300では、本
発明と無関連のステップが実行される。そのような論理
ステップは内部アドレッシングと無関係である。601
で、プロセッサ61Pはレジスタ62のシーケンス・フ
ィールド100ヘアクセスし、シーケンシャル転送が表
示されているかどうかを決定する。シーケンシャル転送
の用台、論理通路602がステップ304へとられて、
転送されたブロックが最初のブロックであるかどうかが
決定される。ブロック・シーケンスとして転送された最
初のブロック、又は非シーケン7ヤル・モードにおける
最初のブロックである場合(後者の場合、1つだけのブ
ロックが転送される)、305でプロセッサ31Pは、
後続する論理ステップのために、レジスタ62の内容を
作業レジスタ(図示せず)へ転送する。この転送は論理
シリンダCCL、レコード番号R1論理装置アドレスD
1その他の制御データの転送を含む。
最初のブロックではないブロックについては、プロセッ
サ31Pは、306で、テーブル78(第3図)へアク
セスし、そ゛のブロックのために削除フィールド121
によって指定されるディレクトリイ・インデックスを参
照する。最初のブロック又は非シーケンシャルのデータ
については、ディレクトリイ・インデックス・フィール
ド114が同じ情報を与える。
ディレクトリイ43の探索については、307で、プロ
セッサ31Pは装置アドレスに対応するキャッシュ・ア
ドレスを探す。この探索は、ディレクトリイ43がDA
SDからキャッシュ40へ転送されたばかりのデータ・
ブロックに対応するエントリイを有するかどうかを決定
するためのノ1ンシュ動作を含む。同一のDASDに対
する複数の並列アクセスが可能であることに注意された
い。
従って、DASDにあるデータの1つのコピーだけがキ
ャッシュ40に存在するようにしておくことが重要であ
る。この要件はデータの完全性を与える。即ち、2重の
コピーがキャッシュ40に存在すれば、1つのコピーだ
けが更新され、第2のコピーは更新されないままに残さ
れる(即ちエラーである)ことが起る。更新されたコピ
ーはDASDに記憶されキャッシュ40中のそのコピー
は消去されるかも知れない。後にホストがンステム10
ヘアクセスする時、キャッシュ40に存在スる1ラ−、
のコピーがチャネル・アダプタ32を介してホストへ転
送されるかも知れない。
探索に続いて、308でエラー表示が検査される。エラ
ーがない場合、310で、プロセッサ31Pは2屯のコ
ピーが発見されたかどうかを決定する。2重エラーがな
い場Q、311で1テーブル78のエントリイ(即ち、
削除フィールド120の内容)が計算され、ディレクト
リイ・インデックス122.126(第3図)がアクセ
スされ、DASDアドレスに対応するディレクトリイ4
3のエントリイをディレクトリイ43からレジスタ76
へ転送することによって、それをプロセッサ31Pがア
クセスできるようにする。これらアクションの全ては3
12で起る。316で、プロセッサ31Pはレジスタ7
6中の変更フィールド269をリセットする。変更フィ
ールド269は、キャッシュ40の中に変更されたデー
タがあることを示す。変更フィールド269を0ヘリセ
ツトすることは、キ1ヤッ、シ、:L4−1)中のコピ
ーがDASD中のコピーと同じであることを示す。61
4で、テーブル78が再びアクセスされ、削除フィール
ド120が増加され、カウント・フィールド121が減
少される。315で、デ・イレクトリイ46のエントリ
イがキャッシュ40へ転送されたデータに対応して付加
される。プログラム56Pがキャッシュ40へのデータ
・ブロックの転送を生じた時、ディレクトリイ43は未
だ更新されておらず、キャッシュ40中のデータは未だ
アドレス可能でない。515で、通常のやり方でディレ
クトリイ・エントリイを作ることによって、DASDか
らキャッシュ40へ転送されたデータはアドレス可能に
なる。
他方、310で2重コピーが発見されろと、既にキャッ
シュ40中にあるデータが正しいコピーであるものと(
即ち、それが変更されたものであると)仮定される。従
って、転送されたデータ・ブロックをアドレス可能とせ
ず、次のデータ・ブロックへ進むことが望まれる。61
6で、カウント・フィールド121を減少させ、削除フ
ィールド120を増加させることが望まれる。317で
、転送されたばかりのブロックが解放され、キャッシュ
40にはデータの単一のコピーのみが残される。ブロッ
クの解放は、それをアドレス不可能にする。
最後のハウスキーピング論理機能は、ステップ320か
ら始まる。ステップ320では、DASDからキャッシ
ュ40へ転送されたデータ・ブロックの全てが後処理さ
れたかどうかが決定される。
もし後処理されていなければ、321で、後処理される
べきブロックの数が1だけ減少される。次にプロセッサ
31Pは、論理通路602を通って、ステップ304−
315を含むループを実行する。
全てのデータ・ブロックが後処理されたのであれば、3
26で、テーブル78がアクセスされ、カウント・フィ
ールド121及び削除フィールド120がロヘリセット
される。ステップ623は、論理通路325を介して論
理通路291からも入られる、324で、キュー・レジ
スタ69がアクセスされ、2重の読出しが生じないよう
に、待ち行列からキュー・エントリイが除去される。第
6図において、読出指令は164で待ち行列に入れられ
たことを想起されたい。次に622で、レジスタ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・・・・ポスト、16
.1′7・・・・直接アクセス記憶装置(DASD)、
25・・・・リンケージ・ボート、30・・・・システ
ム・ストレージ、’ 31°・・・コントロール、32
・・・・チャネル・アダプタ、33・・・・データ・フ
ロー回路、34・・・・装置アダプタ、35・・・・デ
ィスク制御アダプタ、40・・・・キャッシュ、43・
・・・ディレクトリイ、44・・・・ハゲシュ回路、4
5・・・・スキャタ・インデックス・テーブル、5o・
・・・アドレス及び指令評価器、56・・・・直接アク
セス・コントロール、61・・・・キャッシュ−アクセ
ス・コントロール、62・・・・論理装置制御ブロック
・レジスタ、66・・・・チャネル制御ブロック・レジ
スタ、69・・・・キュー・レジスタ、76・・・・ア
クチブ・ディレクトリイ・エントリイ・バッファ・レジ
スタ、77・・、・・装置バッファ・レジスタ、78・
・・・バッファ・7−ケンス・テーブル、79・・・・
システム記憶アドレス・レジスタ。 出願人  インターナシ田ナノいビジネス・マシーンズ
・コーポレーション代理人 弁理士  頓   宮  
 孝   −(外1名) 第1頁の続き 0発 明 者 ジョン・ハント・クリスチャンアメリカ
合衆国アリシナ州ツー ソン・イースト・ケープ・ホー ン・ドライブ12995番地 0発 明 者 マイケル・ハワード・バータング アメリカ合衆国アリシナ用ツー ソン・ノース・タニユリ・ドラ イブ3865番地 0発 明 者 アーサー・バーバート・ノルタアメリカ
合衆国アリシナ州ツー ソン・イースト・プラツク・セ ンナ9161番地

Claims (1)

    【特許請求の範囲】
  1. 高速データ・キャッシュ、低速バッキング記憶装置、及
    び上記データ・キャッシュと低速バッキング記憶′装置
    との間でデータ信号を転送する手段を有しかつホストへ
    接続された記憶システムであって・上記ホストから所定
    のブロック長を有する一連のデータ・ブロックを表示す
    る信号を受取りそれを記憶する手段と、上記データ・キ
    ャッシュから上記ホストへデータ・ブロックを転送しか
    つ上記データ・ブロック表示信号によって限定されたデ
    ータ・ブロックが上記ホストへ送られたことを記憶する
    手段と、上記夾ストからバッキング記憶装置読出指令を
    受取りかつ上記データ・ブロック表示信号及び上記一連
    のデータ・ブロックの中の任意のブロックに対するリク
    エストに応答して、上記データ・ブロック表示信号によ
    って指定されたブロックを1上記記憶システムによって
    上記ホストへ前に転送されなかったブロックb最大値に
    達するまで、上記バッキング記憶装置から上記データ・
    キャッシュへ転送する手段とを具備する記憶システム。
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 true JPS5823376A (ja) 1983-02-12
JPH0147813B2 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) ES8305146A1 (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
DE69429777T2 (de) * 1993-09-30 2002-10-17 Apple Computer System zur dezentralen massenspeichersteuerung eines rechners mit virtuellem speicher
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 分類格納された情報の参照方法
WO1998040810A2 (en) 1997-03-12 1998-09-17 Storage Technology Corporation Network attached virtual tape data storage subsystem
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
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
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
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 紫光云技术有限公司 一种提高虚拟磁盘读写性能的方法
CN117421112A (zh) * 2023-10-18 2024-01-19 中科驭数(北京)科技有限公司 加速单元、网卡、主机和报文处理加速方法

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
LU35932A1 (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
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
US4157587A (en) * 1977-12-22 1979-06-05 Honeywell Information Systems Inc. High speed buffer memory system with word prefetch
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
DE3279135D1 (en) 1988-11-24
ES514648A0 (es) 1983-03-16
AU8670182A (en) 1983-02-10
EP0072108A2 (en) 1983-02-16
EP0072108A3 (en) 1986-05-14
CA1176382A (en) 1984-10-16
US4533995A (en) 1985-08-06
SG25991G (en) 1991-06-21
JPH0147813B2 (ja) 1989-10-17
AU548909B2 (en) 1986-01-09
EP0072108B1 (en) 1988-10-19
ES8305146A1 (es) 1983-03-16

Similar Documents

Publication Publication Date Title
JPS5823376A (ja) 記憶システム
EP0106212B1 (en) Roll mode for cached data storage
EP0071719B1 (en) Data processing apparatus including a paging storage subsystem
US4636946A (en) Method and apparatus for grouping asynchronous recording operations
US4403288A (en) Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices
US4901232A (en) I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US6105075A (en) Scatter gather memory system for a hardware accelerated command interpreter engine
JPH0727495B2 (ja) データ転送方法
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
JPH0335694B2 (ja)
JPS6367686B2 (ja)
JPH0458051B2 (ja)
JPS5821353B2 (ja) チヤネル対メモリ書込み装置
JPS6238731B2 (ja)
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data
JPS61114353A (ja) 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体
US5862363A (en) Method of controlling a disk device by disk control unit
JPH04243458A (ja) チャネルー直接アクセス記憶装置間非同期通信システム
JPH0115903B2 (ja)
EP0354931A1 (en) Cache/disk system having command selection based on disk access time
JP2850340B2 (ja) キャッシュメモリ制御回路
JPS60230247A (ja) デイスク制御装置
JP2000090007A (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
JPS58158756A (ja) バツフア内蔵型デイスク・サブシステム
JPH0255814B2 (ja)