JPH0532764B2 - - Google Patents

Info

Publication number
JPH0532764B2
JPH0532764B2 JP58123540A JP12354083A JPH0532764B2 JP H0532764 B2 JPH0532764 B2 JP H0532764B2 JP 58123540 A JP58123540 A JP 58123540A JP 12354083 A JP12354083 A JP 12354083A JP H0532764 B2 JPH0532764 B2 JP H0532764B2
Authority
JP
Japan
Prior art keywords
data
cache
record
track
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58123540A
Other languages
English (en)
Other versions
JPS5966755A (ja
Inventor
Hawaado Haatangu Maikeru
Haabaato Noruta Aasaa
Goodon Riido Deebitsudo
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 JPS5966755A publication Critical patent/JPS5966755A/ja
Publication of JPH0532764B2 publication Critical patent/JPH0532764B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/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

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

【発明の詳細な説明】 [発明の技術的分野] 本発明は階層型の周辺記憶システム、特に前記
周辺記憶システムの後部記憶と前部記憶の間のデ
ータ転送に係る。
[先行技術の説明] ホスト(中央処理ユニツト等)に接続可能な周
辺記憶システムはホストに関して種々の目的で貢
献する。あるシステムはユーザのデータを記憶す
るために使用されるのに対し、他のシステムは、
プログラム・データ・セツトのページング及びス
ワツピングに関連する、いわゆるページング及び
スワツピング・データを記憶するために使用され
る。IBM社発行の出版物である“Reference
Manual for IBM2835 Storage Control and
IBM2305 Fixed Head Storage Module”
(Form No. GA26−1589−3)に記述されてい
るIBM2305固定ヘツド記憶モジユールはページ
ング記憶の一例である。この周辺記憶システムは
磁気記憶ドラムから成り、記憶されたデータに対
する敏速なアクセスを与える。前記ドラムの記憶
容量は限られているから、より大きい記憶容量を
必要とする、より大型のホストが常にIBM2305
のページング記憶を最大限に効率よく使用できる
とは限らない。このため、追加の記憶容量がデイ
スク型直接アクセス記憶装置(DASD)によつて
供給される。このことは、いわゆるスワツピン
グ・データ・セツトが使用されるとき、すなわち
ホストと周辺記憶システムの間で大きな順次デー
タ・セツトが迅速に転送されるときに特に当ては
まる。性能を犠牲にせずに記憶容量の制限を緩和
するためには、前記2305記憶ドラムの代りに階層
記憶を使用することができる。このような階層記
憶の1つの例は、米国特許第3569938号に示され
ている。この特許には、DASDまたは磁気テープ
記録装置のような後部記憶に接続された高速キヤ
ツシユ記憶を使用することにより、高性能大容量
の仮想(apparent)記憶を実現するという概念
が開示されている。この特許が教示するところに
よれば、要求されたデータのみならずその近傍に
あるデータをも後部記憶からキヤツシユまたは前
部記憶に要求時にページングすることが有利であ
る。周辺記憶システムの一般的な使用に関しては
前記方式は非常によい結果を与えるが、一連の後
部記憶がキヤツシユを共用し且つホストが多重タ
スク処理を行なつているときには、キヤツシユの
中に大きな直列データのセツトを置くことは厄介
なことになる。その解決方法の1つはより大きい
キヤツシユを使用することであるが、これは周辺
システムのコストを不必要に高くするので望まし
くない。従つて、よりよい解決方法が必要であ
る。
米国特許第3588839号は所与のワードが要求さ
れるごとに次のデータ・ワードを昇格
(promote)させることを示す。この方式は主記
憶上のキヤツシユに対しては良好に働く。しかし
ながら、大きなデータ・セツトが転送中である場
合、1つの追加データ・セツトのみを昇格させて
もホストによる周辺記憶システムの利用度は必ず
しも最大にならない。逆に、周辺記憶システムの
利用度は、後部記憶の物理的特性のために更に低
下する。例えば後部記憶(DASD)にはデイスク
記憶装置の機械的特性によつて生じる重要ないく
つかの遅延境界がある。例えば、1つのデイスク
記憶装置または他のデイスク記憶装置を選択する
とき、大幅な遅延が生じうる。更に、大抵のデイ
スク記憶装置はコストを軽減させるために記録面
当り1個または2個の変換器を有するにすぎな
い。周知のように、デイスク記憶装置のデータ領
域をアクセスするには、変換器を放射状に移動し
て同心円状のレコード記憶トラツクを別個にアク
セスすることが必要である。このようなヘツドの
移動はシリンダ・シークと呼ばれ、電子的速度と
比較すると大幅な遅延を伴なう。従つて、前記特
許の解決方法は、多くの使用に関しては高い満足
を与えるが、複数の後部記憶(DASD)を包含す
る多重タスク処理の環境では大量の順次または連
続レコードを処理するという問題を解決するもの
ではない。望ましいのは、順次に処理されたレコ
ードを、非連続データ記憶領域に高いデータ速度
で記憶するということである。
また、これらの周辺記憶システムはホストの介
入を最小限にして要求された目標を達成すること
が望ましい。このようなホストの介入を最小化す
るという1つの例は米国特許第4262332号に示さ
れている。この特許は使用特性及びエクステント
定義機構を使用してホストが周辺記憶システム
(DASD)にアクセスするのを最小限にしている。
この解決方法はホストがDASDに介入するのを最
小限にはするが、複数のDASDを包含する多重タ
スク処理の環境において共用されるキヤツシユに
よつて大量の順次または連続データ・セツトをど
のように処理するかということは前記先行技術の
どれによつても示唆されてはいない。
DASDのようなデイスク記憶装置は回転の待ち
時間を含み、この待ち時間はトラツクに記憶され
たデータに対するアクセス遅延を生じる。前記待
ち時間による遅延を最小限にするために、多くの
ホスト・プログラムはデイスク回転と同期するよ
うに設計されている。しかしながら、最初のアク
セス時、すなわちデイスク回転がホストのオペレ
ーシヨンと同期される前には、依然として遅延が
存在する。キヤツシユを有する記憶階層において
さえも、データ・アクセス・オペレーシヨンはデ
イスク記憶装置に対する複数のアクセスによつて
特徴づけられるので、待ち時間が性能に対する厳
しい障害となることがある(性能はデータに対す
る短いアクセス時間を前提としている)。
デイスク記憶装置の待ち時間による遅延を回避
するために、初期のIBM製デイスク・フアイル
に対する7612デイスク・シンクロナイザでは、デ
イスク記憶装置をアクセスする際、複数のセク
タ、すなわち回転位置のどれか1つでデータ転送
が行なわれるようにしている。このようなデータ
転送は1トラツクのデータ全部を転送するために
のみ行なわれ、そしてこれらのデータ転送は4096
バイト境界(データ・ブロツク境界)上で識別可
能である。このオペレーシヨン・モードは「ロー
ル・モード」と呼ばれ、この用語の一般的用法か
らすれば、最初にデータ・トラツクの任意の部分
を転送し、続いてインデツクス、すなわちトラツ
クの開始位置に無関係に残り部分のデータ転送を
完了することを意味する。このデータ転送は連続
的にアドレス可能な単一の磁気コア記憶領域を対
象として行なわれた。このロール・モードの概念
は、DASDの複数のトラツクを占有するレコー
ド・モードにまで拡張された。多重トラツク・レ
コードを転送するためのロール・モード・オペレ
ーシヨンは、IBM Technical disclosure
Bulletin、Vol.3、No.1、June1970、pp.93−95に
示されている。この文献で注目すべきは、トラツ
ク切替がトラツク間の回転位置における歳差運動
(precession)を生ぜしめうるという点である。
ロール・モードの変形は、IBM Technical
Disclosure Bulletin、Vol.12、No.6、
November1969、pp.815−817に示されている。
それによれば、各々のセクタすなわち回転位置は
別個の待ち行列を有し、それらの待ち行列は
DASDレコード面のアクセスを決定する。これら
の待行列を選択するために優先順位機構が設けら
れる。また、米国特許第4198699号に示すように、
ロール・モードはシフト・レジスタを回転するた
めにも使用されている。この特許では、連続的に
回転するシフト・レジスタに記憶されたデータは
単一ステツプのロール・モードで転送される。要
約すれば、ロール・モード・オペレーシヨンは、
デイスク記憶装置、磁気ドラム記憶装置または回
転式シフト・レジスタのような循環記憶装置に対
するアクセスを与えるために、任意の回転位置で
転送を開始させ且つ1トラツク(シフト・レジス
タ)の中の全データが循環記憶装置の単一トラツ
クと授受されるまで転送を続行させるのである。
もちろん、通常のフオーマツト制御、すなわちデ
ータ開始点の識別及び転送中レコードの識別は今
まで通り行なわれなければならない。
前掲のすべての先行技術はロール・モードを採
用することによつて待ち時間を減少させることを
示しているが、キヤツシユを有するデータ記憶シ
ステムにおいては、一層の性能向上が要求されて
いる。特に、一連のコマンド・チエーンによつて
データ転送が制御されるような場合には、前記要
求を満足させることが一層重要となる。
[発明の概要] 本発明の目的は、ランダム・アクセス記憶装置
と循環記憶装置の間で実行されるデータ転送にお
ける遅延を減少するための方法及び装置を与える
ことである。
本発明に従つて、周期的にアクセス可能な複数
の記憶トラツクまたはシフト・レジスタを有する
循環記憶装置は、循環レコード・トラツク中のア
ドレス可能な連続データ記憶領域にある順次に関
連する一連のデータ・レコードを効率的かつ選択
的に転送するようにアクセスされる。但し、各々
のトラツクにはN個のレコード記憶領域がある。
本発明の方法及び装置は、最初のトラツクについ
て転送されるべきレコードの数を検査することを
含む。もし、転送さるべきレコードの数が該トラ
ツク中のデータ記憶領域番号の所定の部分であれ
ば、下記のオペレーシヨンが続いて行なわれる。
さもなければ、該データ記憶領域は記憶アドレス
の所定の等差数列(arithmetic Progression)の
リストに従つてアクセスされる。本発明によつて
改善されるオペレーシヨンには下記の動作が含ま
れる。前記リストの記憶アドレスのNよりも大き
くない最初の番号に関して前記トラツクの1つに
記録された信号のレコードまたはブロツクを検査
することにより、リストされた1つの記憶アドレ
スを前記1つのトラツクのレコード記憶領域(次
にアクセス可能なデータ記憶領域)に関連する記
憶アドレスとして識別する。次に、リストされた
アドレスのうち算術的に直前のアドレスを最後に
アクセスされるデータ記憶領域を識別するものと
してマークする。そして、前記次にアクセス可能
なデータ記憶領域で始まり、かつ複数の前記トラ
ツクにあるアドレスのリストの最後のアドレスま
で続く前記リストされたアドレスによつて指示さ
れるとおりに、1つ以上の前記トラツク中の前記
データ記憶領域を相次いでアクセスする。前記ア
クセスが終了した後、前記アドレスのリストの中
の最初のアドレスによつて識別されたデータ記憶
領域で始まり、前記リストされたアドレスの直前
のアドレスによつて識別された前記データ記憶領
域にわたつて連続するデータ記憶領域を次々とア
クセスする。
本発明の特殊な形態では、アクセスされるべき
一連のデータ記憶領域は一連のアクセス・コマン
ドによつて識別され、そしてアクセスされるべき
トラツクの1つはデータ・アクセス・コマンドの
原始リストについてその循環位置をモニタされ
る。このモニタ結果に基づいて、1つコマンドが
最初に実行されるべきコマンドとして選択され
る。その直前のコマンドは処理終了コマンドとし
てマークされる。次いで、所定の循環位置に達し
たとき、識別されたコマンドで始まるコマンドが
チエーン終了コマンドに至るまで逐次実行され
る。チヤネル内転送コマンドは最初にリストされ
たデータ・アクセス・コマンドへのスイツチン
グ・オペレーシヨンを生ぜしめる。そして、最初
にリストされたデータ・アクセス・コマンドから
処理終了コマンドとして識別されたデータ・アク
セス・コマンドに至るまでのデータ・アクセス・
コマンドのすべてが実行される。ランダム・アク
セス記憶について複数のアドレス・レジスタが関
連する場合には、これらのアドレス・レジスタは
アクセスされるべきデータ記憶領域に従つて事前
ロードされうる。次いで、最初にアクセスされた
レコードの数はランダム・アクセス記憶装置に通
知されるので、ランダム・アクセス記憶内の所望
のデータ記憶アドレスに適当なデータが記憶され
る。読取りオペレーシヨンでは、事前ロードは任
意であり、データとキヤツシユ・データ記憶領域
を相関させる必要はない。このような相関はデー
タ転送に続いて行なわれることがある。
[詳細な説明] 以下図面を参照して本発明の実施例を説明する
にあたり、同一の参照番号は図面が異つても同じ
部分及び構造を表わすものとする。第1図におい
て、階層式周辺記憶システム10はホスト11に
接続され、これによりホスト及び周辺記憶システ
ムで利用するデータ信号が授受される。周辺記憶
システム10の代表的な適用例では、ホスト11
は中央処理ユニツト(CPU)から成る。他の適
用例では、ホスト11はハードウエアCPUで走
行する1台の仮想計算機または1組の仮想計算機
である場合がある。ホスト11はまた、マルチプ
ロセツサ、または接続されたプロセツサを有する
単一プロセツサ等である場合もある。本発明は
種々の周辺記憶システム10に適用可能である
が、本明細書に示す実施例はデータ・セツトのペ
ージング及びスワツピングを処理するためのペー
ジング周辺記憶システムを示す。一般に、デー
タ・セツトのページング及びスワツピングは、ホ
スト11に対するプログラム・データ・セツトを
記憶することに関係する。前記のように、周辺記
憶システム10は単一のホストに接続されるが、
一般的適用例では周辺記憶システムは複数のホス
トに接続可能である。本発明はどちらのタイプの
周辺記憶システムにも適用可能である。
ページング周辺記憶システム10とホスト11
の間の通信は複数の入出力接続12〜15を介し
て行なわれる。これらの入出力接続はIBMシス
テム370の入出力周辺チヤネルに従つて構成さ
れる。一般にチヤネルまたはサブチヤネルと呼ば
れるこれらの入出力接続は周知であるから、その
説明は省略する。周辺記憶システム10は下位す
なわち後部記憶部分を有する。これは複数の直接
アクセス記憶装置(DASD)16〜18から成
り、それらは個々にD0,D1,……と番号を付
されている。ホスト11による周辺記憶システム
10のアクセスは、すべてDASD16〜18をア
ドレス指定することによつて行なわれる。このア
ドレス指定のために、1組の論理ブロツク19に
要約されている入出力接続12〜15のアーキテ
クチヤが使用される。これらの論理ブロツク19
はIBMシステム/370のチヤネルで使用され
るようなチヤネル・コマンド・ワード(CCW)
を表わす。以下、前記論理ブロツクをCCW19
と呼称する。各々のCCW19は一般にアドレ
ス・バイト20を含み、このバイトは当該コマン
ドを受取るべき制御ユニツト(CU)を指定する
ための複数のビツトを含む。別の複数ビツト
DEVはアクセスされるべき装置(DASD)16
〜18の1つを識別する。ページング及びスワツ
ピング周辺記憶システム10において、DASD1
6〜18の各々は複数の論理アドレスを具備す
る。例えば、装置D0は4つのアドレスの中のい
ずれか1つによつてアドレス指定されうる。この
ような多重アドレス指定はある程度まで
IBM2305ページング記憶システムで実施された。
各々の装置(DASD)の論理アドレスはアドレ
ス・バイト20のビツトACで指示される。この
例の場合、ACは2ビツトを有し、従つて装置D
0をアドレス指定するのに4つの論理アドレスの
中のどれがホスト11によつて使用中であるかを
指示する。本発明の実施例では、論理アドレスの
1つ「00」はDASD16〜18に対する直接アク
セスを指定する。すなわち、ホスト11は周辺記
憶システム10があたかも階層システムではない
かのように、DASD16〜18に関連して動作す
る。直接アクセスの場合すべての階層はバイパス
される。ACビツトが01、10又は11の等しい場合
は、後述する如く、DASD16〜18とデータを
授受するように階層がアクセスされるので、これ
らの3つの論理アドレスについてはDASD16〜
18の見かけ上のパフオーマンスが向上すること
になる。略語ACはビツトDEVによつて指示され
た装置(DASD)への(論理的な)アクセス経路
を指示することを意味する。
CCW19の2番目のバイトはコマンド・バイ
ト21であり、これは周辺記憶システム10に対
しどの機能を実行すべきかを通知するコードを含
んでいる。CCW19の3番目のバイトはコマン
ド修飾バイト22である。このバイトは複数の制
御フイールドを有し、該フイールドはコマンド・
バイト21で指示されたコマンドを実行するため
の種々のオペレーシヨン・モードを周辺記憶シス
テム10に指示する。本発明にとつて重要なの
は、到来する転送セツトで転送されるデータが順
次データであることを周辺記憶システム10に知
らせるためのビツト・パターンSEQである。コ
マンド修飾バイト22のSEQ部分が順次データ
を表わす場合、CCW19に追加のコマンド修飾
バイト23が置かれ、これにより、DASD16〜
18からホスト11へ、またはその逆方向に順次
データ・セツトとして転送されるデータ・ブロツ
クまたはセグメントの数が指示される。ページン
グ環境における前記順次データ・セツトはしばし
ばスワツピング・データ・セツトと呼ばれる。更
に、コマンド修飾バイト22はセクシヨンRDで
読取及び廃棄を指示することがある。これは、ホ
スト11が階層からデータを取込んだ後、階層キ
ヤツシユ内の該データが廃棄されうることを意味
する。この場合、DASD16〜18内の該データ
はそのまま保持される。更に、いわゆる「ゲス
ト・オペレーテイング・システム」GOによる制
御が与えられる。ホスト11の仮想計算機環境に
おいては、オペレーテイング・システムの1つは
ページング周辺記憶システム10の管轄権
(cognizance)を有し、そしてデータをアクセス
または記憶するために周辺記憶システム10のア
クセスが別のオペレーテイング・システムに移管
されることがある。このような他のオペレーテイ
ング・システムは最初のオペレーテイング・シス
テムのゲストであり、従つて周辺記憶システム1
0の一定の制御様式を変更することができない。
又、他の制御フイールドがコマンド修飾バイト2
2の範囲内で使用されるが、それらは本発明の要
旨に関係ない。
階層には、DASD16〜18のキヤツシユとし
て指定された部分(以下、キヤツシユ40とし
う)を有する半導体ランダム・アクセス型のシス
テム記憶30が含まれる。キヤツシユ動作の原理
は周知であるので、DASD16〜18に関するキ
ヤツシユ40の目的及び意図は詳述しない。制御
31はホスト11から周辺コマンドを受取り、論
理アドレスACの1つによつてDASD16〜18
をアクセスするとともに、他の3つの論理アドレ
スACに基づいてキヤツシヤ40に対するアクセ
スを与える。周辺記憶システム10によつて、キ
ヤツシユ40とDASD16〜18の間でデータは
自動的に転送される。この転送は、ホスト11と
DASD16の間の転送と同じ原理を使用して達成
される。すなわち、ホスト11は直接モード
(AC=00)でDASD16〜18をアクセスするに
際し、CAA、CAB、CAC及びCADと個々に表
記されたチヤネル・アダプタ32、バス70を利
用し、また直接アクセス制御(DAC)56、デ
ータ回路33、装置アダプタ(DAA)34及び
装置制御接続機構(DCA)35を利用する。受
取られたCCW19は制御31によつて解釈され
るが、これはホスト11とDASD16〜18の間
のデータ・フローの方向を決定するとともに、こ
のタイプの記憶装置を制御する他の周知の機能を
決定するためである。キヤツシユ40とDASD1
6〜18の関係はホスト11とDASD16〜18
の関係に大体において同じである。すなわち、ホ
スト11は一連のCCW19を介して制御を与え
るが、制御31は後述するようにCCWと類似の
構成を有する複数の内部制御ワード(ICW)2
4を使用することによつてキヤツシユ40と
DASD16〜18の間のアクセスを与える。
CCW19に関しICW24を変更することによつ
てデータ転送オペレーシヨンを或る程度効率化す
ることができる。チヤネル・アダプタ32を経由
する代りに、制御31はキヤツシユ・アクセス制
御(CAC)61を有する。CAC61はシステム
記憶30を動作させ、そしてICW24を使用す
る直接アクセス制御(DAC)56を通して
DASD16〜18に対するアクセスを与える。チ
ヤネル・アダプタ32の代りに、連係ポート
(LKP)25がCAC61とDAC56の間の転送
を可能にする。LKP25は後に第3図に関連し
て説明する。
各々のICW24はCCW19のコマンド・バイ
ト21に相当するコマンド・バイト26を含む。
同じコマンドはコード構成も同じである点を認識
されたい。いくつかの追加のコマンドが与えられ
るのに対し、いくつかコマンドは廃止される。コ
マンド修飾バイト27はチエーン制御ビツト「チ
エーン」を含み、このビツトは通常はホスト11
からチヤネル・アダプタ32を介して制御31に
与えられる連鎖指示に代る。(ホスト11による
連鎖指示はタグ信号「サプレス・アウト」の供給
である。)周辺記憶システム10からホスト11
に最終ステータスが報告されるときは、「サプレ
ス・アウト」が連鎖、すなわち入出力接続12〜
15に関連して使用される一連の密接に関連する
周辺コマンドの指示を与える。CAC61はタグ
信号を使用しないのでコマンド修飾バイト27は
前記タグ制御信号に代つて使用される。EOP(処
理終了)ビツトは本発明に関連して使用され、後
に明らかになるようにICWチエーンの中の任意
の選択された場所でICWチエーンの処理を終了
させる。これらのすべてのICWはアクテイブな
チエーン・ビツトを有する。ICW24のアドレ
ス・バイト28はDASD16〜18のアドレスの
記憶位置を指す。ICWでは論理アドレスを使用
する必要はない。事実、制御31は階層に向けら
れた論理アドレスのすべてをDEVビツトに変換
する。十分に大きい装置バツフア77が設けられ
ているので、CCHHはシークICWとともに記憶
され、キヤツシユ40のアドレスは読取または書
込ICWとともに記憶される。アドレス・バイト
28はDEVの記憶位置を指すだけでなく、シリ
ンダ・アドレス(C)、ヘツドすなわちトラツク・ア
ドレス(H)及びレコード・アドレス(R)も指す。レコ
ード・アドレスは殆どのデイスク記憶装置をアド
レス指定する際に用いるセクタ・アドレスに相当
する。本発明の良好な実施例では、4つのレコー
ドが単一のトラツク(Hアドレス)に与えられ
る。従つてレコード・アドレスは1、2、3また
は4であつて、デイスクが回転基準点に関し0゜、
90゜、180゜及び270゜に方向づけられているのに対応
する。実際の回転方向づけは、設計パラメータに
従つて、直交する方向づけと異なることがある。
後述するように、回転位置検出よりはむしろ、ア
ドレス・マーク制御が使用されることがある。
キヤツシユ40はバス41及びチヤネル・アダ
プタ32を経由してホスト11とデータ信号を転
送する。同様に、DASD16〜18からキヤツシ
ユ40へのデータ信号の転送はデータ回路33及
びバス42を介して行なわれる。キヤツシユ40
とホスト11またはDASD16〜18の間の同時
転送が要求されないときは、バス41及び42は
単一のバスに結合され、データ転送は時分割で行
なわれる。比較的大容量(数メガバイト)のメモ
リから成るキヤツシユ40をアクセスするには、
シリンダ及びレコード・アドレスCHRとともに
装置アドレスをCAC61からバス64を介して
ハツシユ回路44へ転送することが必要である。
ハツシユ回路44―これはマイクロコードで実現
されることがある―は、DASDのアドレスをハツ
シユ・クラス標識に変換する。キヤツシユ40の
記憶容量はDASD16〜18よりもずつと小さい
から、アクセスを容易にするためDASD16〜1
8のアドレス範囲はハツシユ・クラスと呼ばれる
クラスに集中される。分散インデツクス・テーブ
ル(SIT)45はハツシユ回路44によつて定義
されたクラスごとに1つのレジスタを有する。
SIT45にあるレジスタの内容はデイレクトリ
(DIR)43に対するアドレス・ポインタである。
DIR43は、DASD16〜18をアクセスするの
に用いるアドレスDCHRを含む。キヤツシユ4
0にデータが書込まれるとき、DASD16〜18
のDCHRアドレスはキヤツシユ40のアドレス
とともにいわゆるDIR43の項目(エントリ)に
書込まれる。DASD16〜18の複数のアドレス
は1つのハツシユ・クラスに対応するから、ハツ
シングを使用してキヤツシユ40を走査する際に
所与のハツシユ・クラス内にある項目のみを走査
すれば済むように、単一に連係されたハツシユ・
クラス・リストがDIR43の項目中に設けられ
る。DIR43の内容に基づいて、キヤツシユ40
は既知の方法を使用してアクセスされる。もし、
関連する項目がDIR43で見つからないならば、
キヤツシユ・ミスが生じるので、CAC61はホ
スト11からのデータを受取るべきキヤツシユ4
0中の空間を割当てるか、またはICW24及び
LKP25を使用してDASD16〜18から(キ
ヤツシユ40に)データを転送しなければならな
い。
制御31には通常、ホスト11に接続される制
御装置の部分が含まれる。例えば、アドレス/コ
マンド鑑定器(ACE)50はバス51ないし5
4を介してチヤネル・アダプタ32と通信し、ホ
スト11からコマンド信号を受取るとともに、ホ
スト11にステータス信号を供給する。ACE5
0はCCW19を鑑定し、周辺記憶システム10
に対しコマンドによつて指定された機能を実行す
ることを命令し、連鎖状態を指示するとともに、
周辺システムの他の部分からのステータス信号を
受取つてこれをホスト11に中継する。直接モー
ド、すなわちAC=00の場合には、ACE50はバ
ス55を介してDAC56にコマンド信号を供給
するので、既知のDASD技術を使用してデータ回
路33と適切なチヤネル・アダプタ32の間でデ
ータ信号の転送を行なうことができる。その機能
を実行する際、DAC56は通常の方法でデータ
回路33を介して制御を行なう。
本明細書で重要なのは階層のオペレーシヨンで
あり、更に詳細に説明すれば、非順次データ・ブ
ロツク中の順次または連続データ・セツトを最小
限の割当制御の下で最小限の大きさを有するキヤ
ツシユ40に置くことができるようにするととも
に、このような順次性を効率的に維持し且つホス
ト11の動作要求を満足させるために十分な数の
データ・ブロツクをキヤツシユ40内に維持する
ことである。ACE50は、階層に対するアクセ
スを指示するような論理装置アドレスをアドレ
ス・バイト20を介して受取るとき、受取つたコ
マンド信号を3つのバス60の中の1つを介して
CAC61に供給する。3つのバス60はそれぞ
れがキヤツシユ40のアクセスを指示する論理バ
スである。CAC61は論理装置に対応するチヤ
ネル制御ブロツク(CCB)レジスタ63に受取
つたコマンド及び修飾データを記憶する。DASD
ごとに3つの論理装置アドレスがあるので、も
し、DASD16〜18が8個であれば、CCB6
3とLDCB62には24個のレジスタがあることに
なる。
各々の論理装置の識別及び動作ステータスは論
理装置制御ブロツク(LDCB)62中のレジスタ
ごとに維持される。論理装置に対するアクセス
は、キヤツシユ40中のレジスタをアドレス・バ
イト20のフイールドAC及びDEVで指示された
アドレスへ割当てることによつて表わされるが、
この目的のためにアドレス・バス64はハツシユ
回路44へ接続される。順次データの或る状況で
は、DASD16〜18の順次アドレス(CHR部
分)についてSIT45中の連続するレジスタをア
クセスすることができる。従つて、CSC61はバ
ス65を介してSIT45をアクセスすることによ
り、ハツシユ回路44における遅延を回避する。
このオペレーシヨンは、順次データが処理中であ
るとき、ホスト11に対する周辺記憶システム1
0の応答を改善する。DIR43のハツシユ・クラ
スを探索した結果として、キヤツシユ・ミスの指
示をCAC61が受取つたときDASD16〜18
からキヤツシユ40へのデータ転送要求がLKP
25及びバス66を介してDAC56に供給され
る。バス66の信号は前記要求についてDAC5
6に警報を発し、そしてICW24がLKP25を
介してアドレス可能であるきとを知らせる。マイ
クロコード形式の実施例では、後に明らかになる
ようにLKP25はマイクロコード連係ポートで
ある。DAC56はCCW19に応答するのと同様
にICW24に応答する。LKP25を介して要求
されたデータ転送が完了すると、DAC56はバ
ス67を介してCAC61にステータス信号を供
給する。その時点で、キヤツシユ40はホスト1
1に利用可能なデータを有する。その後のCAC
61とDAC56の間の通信はバス68を介して
行なわれ、前記通信のすべてはLKP25にメツ
セージ・データを記憶することを含む。DASD1
6〜18は複数の論理装置アドレスによつてアク
セスされるから1組の待行列レジスタ69は
CAC61によつて要求された装置関連オペレー
シヨンを待行列化する。このように、DAC56
は論理装置を通して複数の要求を待行列化するこ
とには関係しないが、ホスト11またはCAC6
1に対しては直接アクセスDASDモードで動作で
きる。このようにDAC56は階層に関連して使
用しうるだけでなく、階層を使用しない周辺記憶
システムにおいても使用しうる。
CAC61はまた追加の制御を含む。例えば、
レジスタADEB76はDIR43の1項目―それに
ついてCAC61が現在動作中である―を有する。
すなわちDASD16〜18のアドレスがキヤツシ
ユ40のビツトを生ぜしめるか、またはキヤツシ
ユ40の一部分がホスト11によつて供給される
データに割当てられた場合、ADEB76に該項
目を置くことによつて、CAC61のオペレーシ
ヨンが向上する。すなわち、DIR43はシステム
記憶30の一部分であるから、ADEB76にそ
のアクテイブな項目を加えることによつて、シス
テム記憶30は制御31とは無関係にバス41及
び42を介して自由にデータを転送することがで
きるようになる。装置バツフア・レジスタ77は
DASD16〜18に関連する制御情報を有し、
DAC56によるアクセスをセツトアツプする際
にCAC61によつて使用される。これらのレジ
スタは、本発明のマイクロコード化された実現形
態では、書込可能な制御記憶に存在する。装置バ
ツフア77は指定されたデータ構造を持たない制
御記憶の割当てられた部分に過ぎない。BST7
8は後に第3図に関連して説明するバツフア・シ
ーケンス・テーブルであつて、図示の周辺記憶シ
ステム10内で本発明の実施に関連して使用され
る。BST78はバス42を介して順次に転送さ
れるデータ・ブロツクの各々ごとにDIR43に対
するポインタを含み、さらにこのような順次転送
中にキヤツシユ40をアクセスするために使用す
べき特定のデイレクトリ・インデツクスを決定す
る走査制御機構を含んでいる。このように、順次
転送はアドレツシング・セツトアツプを免除され
るので、後に明らかになるように、DASD16〜
18からのブロツクのバーストは中断されること
なく転送されうる。
第2図は第1図に示すシステムの実施例のブロ
ツク図で、制御31に相当するプログラム式マイ
クロプロセツサ(以下、プロセツサ31Pとい
う)を使用する。バス70はチヤネル・アダプタ
32とデータ回路33を相互接続し、第1図の場
合と全く同じように動作する。バス41及び42
はチヤネル・アダプタ32及びデータ回路33と
システム記憶30をそれぞれ相互接続する。バス
41及び42を1つのバスに結合してもよいが、
この場合には単一バスを時分割化してデータ転送
が行なわれる。データ回路33とシステム記憶3
0の間の転送を制御する際、プロセツサ31Pは
バス71を介してデータ回路33に制御信号を与
えるとともに、バス72を介してシステム記憶3
0にアドレス及び順序制御信号を与える。複数の
システム記憶アドレス・レジスタ(SSAR)79
はシステム記憶30にアドレスを与える。例え
ば、8個または16個のSSAR79が設けられるこ
とがある。従つて、プロセツサ31Pがシステム
記憶30をアクセスするとき、プロセツサ31P
はシステム記憶30のアドレスをSSAR79に与
えるだけではなく、SSAR79のどれがシステム
記憶30をアクセスする際に使用されるべきかも
指示する。メモリに対する多重アドレツシング・
レジスタは周知であるので、これ以上の説明は省
略する。
キヤツシユ40が複数のSSAR79を有すると
き、プロセツサ31Pはキヤツシユ40(システ
ム記憶30の一部分)のアドレスをSSAR79に
ロードすることによつてシステム記憶30を準備
させるので、連続する順次ブロツクの中間で
SSAR79に前記アドレスをロードしなくても済
む。従つて、順次データ転送の間、プロセツサ3
1PはSSARを参照するだけで、キヤツシユ40
とDASD16〜18の間のデータ信号の転送を開
始させる。単一のSSAR79しか設けられていな
い場合は、レコード転送の途中でアドレスが単一
のSSAR79にロードされる。同様に、キヤツシ
ユ40はシステム記憶30内の所与のアドレス空
間を有する点に注目する必要がある。DIR43は
異なるアドレス範囲を有する。SSAR79はシス
テム記憶30のメモリ・アレイの外側にある別個
の電子レジスタである。プロセツサ31Pは参照
番号51〜54を付された単一バスによつてチヤネ
ル・アダプタ32と通信する。
プロセツサ31Pのオペレーシヨンは制御記憶
73に記憶されたマイクロコード・プログラムに
従つて行なわれる。制御記憶73は書込可能であ
ることが望ましいが、その一部分は書込可能で、
他の部分は読取専用であつてもよい。バス74は
プロセツサ31Pを制御記憶73に接続する。制
御記憶73には、ACE50の機能を実現するプ
ログラムACE50P、DAC56の機能を実現す
るプログラムDAC56P、CAC61の機能を実
現するプログラムCAC61P、及び周辺記憶シ
ステム10のオペレーシヨンに必要な他のプログ
ラムであつて、本発明を理解するのに必要としな
いプログラムOP75が含まれる。プログラム5
0P,56P及び61Pを介して周辺記憶システ
ム10を制御するためにプロセツサ31Pによつ
て使用されるレジスタには、CCB63、LDCB6
2、待ち行列レジスタ69、ADEB76、SIT4
5、装置バツフア77、LKP25及びBST78
が含まれる。大容量のキヤツシユが使用される場
合、または複数の記憶デイレクタすなわち制御装
置が使用される場合は、SIT45はシステム記憶
30に記憶されるのが望ましい。性能向上のため
には、SIT45の1ページを含む1組のレジスタ
が制御記憶73に予約されることがある。システ
ム記憶30が複数の制御31によつて共用される
ときには、SIT45は常にシステム記憶30に記
憶される。
第2図に示された実施例のオペレーシヨンは第
3図〜第15図を参照することによつて最もよく
理解される。これらの図面は本発明のオペレーシ
ヨンを理解するのに必要な詳細なデータ構造なら
びにマイクロコード部分の論理流れ図である。第
3図は本発明に従つて周辺記憶システム10を動
作させるためにプロセツサ31Pによつて使用さ
れるデータの構造を示す。LDCB62は4つのセ
クシヨンを構成する一連のレジスタであつて、制
御記憶73内のデータ信号を含む。最初のセクシ
ヨンFOUND80は一般的なオペレーシヨンの感
覚で周辺記憶システム10の機能を定義し且つ支
援する、いわゆる基礎データ構造である。
PPARMS81は後に説明するページング・パラ
メータ・セツト・コマンドによつて確立されるペ
ージング及びスワツピング機能を定義するような
パラメータに関連するLDCB62の部分である。
CPARMS82はホスト11から出されたセク
タ・セツト・コマンド、シーク・コマンド、ID
探索コマンドのようなコマンド・パラメータを含
む。これらのコマンドは既知のデイスク記憶装置
に関連して使用されるコマンドである。
RPARMS83は読取活動、すなわちデータ信号
をDASD16〜18からキヤツシユ40に転送す
る動作を支援するためのパラメータを含む。
FOUND80はOEDビツト90を含む。これ
は装置終了(DE)が周辺記憶システム10によ
るものであるかどうかをホスト11に知らせる。
CNL MASK91はどのチヤネル・アダプタ32
が現在のコマンドを受取つたか、すなわち論理歎
置がどのチヤネルに関連を有するかを指示するビ
ツト・パターンを有する。LDADDR92はコマ
ンドとともに受取つた論理アドレス、すなわち第
1図のアドレス・バイト20のAC及びDEVのビ
ツト・パターンを指示するコードを含む。CMD
93は第1図のコマンド・バイト21からのコー
ドを含む。SEQ94は第1図のコマンド修飾バ
イト22にあるSEQセクシヨンからの内容を含
む。CCR95はチヤネル・コマンド再試行が周
辺記憶システム10によつてホスト11に送られ
たかどうかを指示する。これに関して、キヤツシ
ユ・ミスがMISSセクシヨン96で指示されてい
るときは、チヤネル・コマンド再試行がホスト1
1に送られたことを示す。従つて、LDCB62は
キヤツシユ40のキヤツシユ・ミスが生じた時機
と周辺記憶システム10が適切なCCR信号を供
給したかどうかを知らせる。チヤネル・コマンド
再試行は、ホスト11に対し、周辺コマンドの実
行を遅延させる必要があることを知らせるだけで
ある。コマンド実行が可能な状態に達したとき、
周辺記憶システム10は装置終了(DE)信号を
ホスト11に送る。するとホスト11は2回目の
周辺コマンドを送り、これに応じて該コマンドが
周辺記憶システム10によつて実行可能になる。
PPARM81はWOビツト98及びROビツト
99を含み、該ビツトはLDCB62に関連する
ICWチエーンが読取または書込オペレーシヨン
のために本発明のロール・モードを使用すること
を知らせる。順次ビツト、すなわちSEQ100
はコマンド修飾バイト22中の順次ビツトSEQ
に相当する。標識RD101はコマンド修飾バイ
ト22のRDセクシヨンに相当する。B
COUNT102はバイト23からのブロツク数を
含む。順次データの各々のブロツクがホスト11
に転送されるごとに、B COUNT102は1ず
つ減少される。従つて、B COUNT102はキ
ヤツシユ40を介してホスト11へなお転送され
るべきブロツク数を表わす。仮想環境ではBASE
CYL103は順次データを転送するような
DASD16〜18のシリンダ・アドレスCを含
む。多重シリンダ要求の場合は、BASE CYL1
03は仮想計算機(VM)のミニデイスクの値C
を含む。
CPARMS82は、DASDのシーク・アドレス
を含むSEEK ADDR104、新しいコマンド・
チエーンが開始したことを表わすSIOビツト10
4A、最後または現在のID探索引数を含むSID1
05、及び最後または現在のセクタ・セツト値を
含むSECT106を有する。
RPARMS83はDASD16〜18からキヤツ
シユ40へのデータ転送が要求されていることを
表わすREQD110を含む。RIP111はDASD
16〜18からキヤツシユ40への読取が進行中
であることを表わす。RA112はDASD16〜
18からの読取が完了し且つ一定の後処理機能が
実行中であることを表わす。DADDR113はア
ドレスされている実際のDASD16〜18を表わ
すアドレス・バイト20(第1図)からのビツ
ト・パターンDEVを含む。DIR INDEX114
はDIR43のインデツクス値を含み、これによつ
てLDCB62中の特定レジスタで識別された論理
装置に対応する項目をどのデイレクトリ項目レジ
スタが含むかを表わす。SSAR115は、DASD
16〜18及びキヤツシユ40の間のデータ転送
でキヤツシユ40をアクセスする際にどのSSAR
79が使用されるかを識別する。SAVE119
は、割込オペレーシヨンを含む各種のオペレーシ
ヨンの間にプロセツサ31Pが制御データ信号を
セーブするのに使用するLDCB62のレジスタ領
域を指示する。
ADEB76はDIR43の各々の項目と同じよう
に構成される。従つて、ADEB76の説明はDIR
43の場合と同様である。DIR43ならびに
ADEB76の各項目において、INDEX107は
デイレクトリ項目の論理アドレスである。このフ
イールドは各項目の自己識別データを含む。セク
シヨン108はキヤツシユ40に記憶されたデー
タまたは記憶のために割当てられたデータに対応
するDASD16〜18のアドレスを含む。CCPは
シリンダの物理アドレス、すなわちDASD16〜
18のシリンダの実際の物理アドレスであり、H
はヘツド・アドレス、Rはレコード・アドレス、
Dはアドレス・バイト20のセクシヨンDEVに
対応する装置アドレスのビツト・パターン、
SECTORは実際のセクタの値、すなわちデイス
クの回転位置―この位置から読取が始まる―であ
る。4レコードを有するトラツクについては、R
の値は1から4まで変りうるが、SECTORの値
は実際のセクタ・アドレスである。DASDをアド
レス指定する際、Rの値は通常のようにバイト・
レベルで回転位置標識に変換される。あるホスト
のオペレーテイング・システムにおけるRの値は
1〜120また他の数値の範囲に分布しうる。この
ような場合には、より大きいRの値はトラツク内
のレコード数Nを法とする値に減少され、そして
Rの値(モジユロN)はデイスクの回転アドレス
に変換される。このようなセクタの値は最小限の
待時間遅延でレコードのアクセスを開始するのに
適している。CCLは論理装置に与えられるよう
な論理シリンダ・アドレスである。LINK109
は各ハツシユ・クラスの全項目を互いに連係させ
るために単一に連係されたリストのデータ信号コ
ードを含む。所与のハツシユ・クラスの最後の項
目はチエーン終了またはクラス終了を指示する特
定のコード・パターン(複数の0)を有する。M
ビツト269はキヤツシユ40にあるデータが
DASD16〜18から受取られて以来、変更され
たかどうかを表わす。DIR43の各項目に他のコ
ードが追加されることもあるが、それは本発明の
理解とは無関係である。例えば、各々の項目に
MRU−LRUリストが含まれることがある。
LKP25はプログラムACE50P、DAC56
P及びCAC61Pによつてアクセス可能な制御
記憶73中の領域であつて、これらのマイクロコ
ード・ユニツトの実行の相互作用を制御するため
の連係ポートまたはメツセージ領域を構成する。
ある実施例では、ACE50P及びDAC56Pは
1つのコード・セグメントとして扱われ、LKP
25は前記2つのマイクロコード・セクシヨンに
よつて単一のユニツトとしてアクセスされる。い
ずれにせよ、前記ポートの構造はコード・ポイン
トCP124を含み、これは該ポートに制御デー
タを記入したコード部分を識別する。すなわち、
CAC61PがLKP25に項目を記入すると、
DAC56Pは制御データを取出し、その機能を
実行する。次いで、CAC61Pの要求に応答し
てDAC56PがLKP25に新しいデータを入れ
ると、CP124はDAC56Pが供給したデータ
がコード実行におけるどの点に関連するかを
CAC61Pに指示するので、CAC61PはDAC
56Pの応答に基づいて処理を継続することがで
きる。PRIORITYセクシヨン125はLKP25
に記入された要求が高い優先順位、低い優先順位
または処理続行のいずれであるかを指示するコー
ドを有する。Vビツト126はLKP25の項目
が有効であるかどうか、すなわち動作を必要とす
る新しい項目であるかどうか指示する。DADDR
セクシヨン127はアドレス・バイト20からの
DEVコードを含み、DASD16〜18のどれが
現在のLKP25の制御データ信号に関連してい
るかを識別する。PARMS128はメツセージ、
すなわち実行されるべき機能、またはステータス
等に関連する各種のパラメータを含む。TR1,
TR2及びTR3はロール・モードオペレーシヨ
ンの変形における3トラツクの各々のあるレコー
ド数を指定する。
BST78はDASD16〜18の各々ごとに1
組のレジスタを有する。最初のレジスタは
DELEPセクシヨン120を含み、このセクシヨ
ンはデイレクトリ・インデツクス122〜123
を指す1〜8のインデツクス値を有する。これら
のインデツクスはDIR43の削除されるべき項目
を識別する。EK121はBST78のテーブルに
ある有効項目数のカウントを含む。第1のデイレ
クトリ・インデツクスは常にデイレクトリ・イン
デツクス122に記憶されるが、第8のインデツ
クスは常にデイレクトリ・インデツクス123に
記憶される。EK121にある値が3の場合、第
3のデイレクトリ・インデツクスがアクセスされ
る。デイレクトリ・インデツクスはDIR43の項
目の論理アドレスであり、従つてDIR43の迅速
なアクセスを与える。
システム記憶30とDASD16〜18の間のオ
ペレーシヨンは非同期的であつて、ホスト11と
DASD16〜18の間のオペレーシヨン及びホス
ト11とシステム記憶30の間のオペレーシヨン
とは独立している。この独立性を達成するため、
1組の読取待行列及び書込待行列が待行列レジス
タ69のセツトに確立されている。待行列レジス
タ69(第3図)は書込待行列85を含み、該待
行列はD0〜D4……と表記された装置ごとに別
個の待行列を有する。各々の書込待行列はDIR4
3のINDEX107に対応するインデツクスを有
する。書込待行列はまた、DASD16〜18をア
クセスするために必要なシーク引数、探索引数、
セクタ、装置マスクを含むアドレスを記憶すると
ともにキヤツシユ・ブロツク・アドレス及びシス
テム記憶30をアドレス指定するのに使用される
SSAR79のようなキヤツシユ40をアクセスす
るためのアドレスを記憶する。連係フイールド
(図示せず)を設けてそこにポインタを保持させ
ることもできるが、このようにすると、所与の装
置に対する書込待行列85中の次の項目をポイン
トすることができるし、あるいは次の装置書込オ
ペレーシヨン(すなわち、DASD16〜18に次
に書込まれるべきキヤツシユ40中のページ)を
ポイントすることができる。従つて、各々の書込
待行列85は所与のDASD16〜18に書込まれ
るべきレコードまたはデータ・ブロツクをアクセ
スするためにキヤツシユ40に対する1つ以上の
参照を含むことができる。
待行列レジスタ69はまた読取待行列を含み、
その各々は読取待行列86及び87を含む。各々
の読取待行列はラウンドロビン(round−robin)
式待行列である。読取待行列86はLDCB62の
アドレスを含み、これによつてどの論理装置が
DASD16〜18からキヤツシユ40へのデータ
転送を必要とするかを識別する。読取待行列87
は各々の待行列にある3つの可能な項目の中の1
つに対するポインタを指示し、かくて次にどの論
理装置がサービスされるべきかを表わす。例え
ば、D0の読取待行列87は番号2を有するが、
これはLDCB2が次にサービスされ、続いて
LDCB3がサービスされ、次いでLDCB1がサー
ビスされることを示す。D0はDASD16に関連
するすべての論理装置に対する完全な読取待行列
を有する。DASD17に対応する装置D1は2つ
の項目を有する。この読取待行列では、読取待行
列87にポインタ番号3を有するLDCB1及び
LDCB3はLDCB3が次にサービスされるべきこ
とを指示する。読取待行列86及び87をアクセ
スすると、プロセツサ31Pは正しいLDCB62
をアクセスすることが可能となり、従つてホスト
11が要求した順序に関し、DASD16〜18か
らキヤツシユ40へ適切な順序でデータを転送す
ることができる。装置読取待行列は読取待行列8
6のLDCBポインタが走査されるのと同様にラウ
ンドロビン形式で走査される。本発明を実施する
にあたり、他の優先順位決定様式を用いてもよ
い。第3図に示すレジスタに加えて、周辺記憶シ
ステム10を構成する際に他のレジスタが使用さ
れることがある。これらのレジスタは図示された
環境で本発明がいかに動作するかを理解するのに
必要ではない。
ロール・モードのデータ転送オペレーシヨンが
循環記憶媒体の循環特性に完全に同期しない場合
には、代表実施例をロール・モードで動作させる
アルゴリズムを確立するのに第3図に示すテーブ
ル84が有用である。LKPKはどのICWが次に
アクセスされるべきかを指示するカウンタであ
る。INDEX部分は所与のトラツクすなわちデー
タ記憶領域のグループから転送されるレコード数
を指示する。TKは後に説明するように現在のロ
ール・モードに対する相対的トラツク番号であ
る。TR1,TR2及びTR3は3つの相対的にア
ドレス可能なトラツクT1,T2及びT3の各々
から転送されるレコード数をそれぞれ指示する。
RK1,RK2及びRK3はそれぞれのトラツクT
1,T2及びT3の現在のロール・モード・オペ
レーシヨンで転送されたレコード数を指示する。
RK4は転送されたレコードの累計カウントであ
る。このテーブルの利用の仕方については後に第
6表に関連して説明する。
第4図は読取または書込データ転送における
CCWおよびICWの順序を説明する。読取転送は
データ信号をアドレス指定されたDASD16〜1
8からホスト11に転送するものであり、書込転
送は逆方向のデータ転送である。CCW130の
チエーンはページング・パラメータ・セツト
(SPP)132で開始する。第7図は周辺記憶シ
ステム10による前記のようなコマンドの実行を
示す。基本的には、SPP132は順次データが周
辺記憶システム10からホスト11へ転送される
べきかどうかを設定するとともに、CCW19
(第1図)のコマンド修飾バイト22で識別され
た他のパラメータを設定する。いつたん、SPP1
32が周辺記憶システム10に対しオペレーシヨ
ンのパラメータを指示した場合、シークCCW1
33はシーク・コマンドを生ぜしめこれを周辺記
憶システム10に与える。ある実施例では、シー
ク・パラメータはSPPコマンドに組込まれてい
る。通常のDASDアーキテクチヤを使用すると、
シークの後にセクタ・セツトCCW134が続き、
その後にIDイコール探索(SIDE)コマンド13
5が続く。ここで、周辺記憶システム10は読取
CCW136によつてアドレス指定されたDASD
16〜18からデータを読取ることが可能であ
る。読取コマンドを受取つた場合、周辺記憶シス
テム10はカラム131に指示された動作を与え
る。第1に、シーク、セクタ・セツト及びSIDE
コマンドがスタツク140にスタツクされる。参
照番号137の箇所では、第1図に関して説明し
たように、DIR43の探索が行なわれる。ヒツ
ト、すなわち要求されたデータがキヤツシユ40
にある場合は、該データは直ちに矢印138で示
すようにキヤツシユ40からホスト11へ、前記
コマンドを受取つたチヤネル・アダプタ32を介
して転送される。それに対して、もし、データが
キヤツシユ40になかつたことをDIR43が指示
すれば、矢印141で示すようにミスが生じる。
チヤネル・コマンド再試行(CCR)は矢印14
4で示すように周辺記憶システム10によつて供
給される。これは、装置終了信号が周辺記憶シス
テム10から受取られたとき、同じ読取コマンド
を周辺記憶システム10に送ることによつて読取
CCW136がチヤネルによつて再実行されなけ
ればならないことをホスト11に知らせる。前記
動作が行なわれている間に、周辺記憶システム1
0はシークCCW143で始まるICW143〜1
48のチエーンを構成する。このシークICW1
43は第5図の変換器340をアドレスされたシ
リンダのトラツクへ移動させるためのものであ
り、ホスト11から受取られたスタツク140中
のシーク・コマンドから得られる。多重トラツ
ク・オペレーシヨンの場合は、ICWはID探索パ
ラメータから取出される。シークICW143の
後にはオリエントICW144が続く。オリエン
トICW144はDAC56Pをアクテイブにし、
(第5図の)デイスク・レコード面330,33
1,332及び333のうち選択された面でヘツ
ド340が次に出合う最初の完全なレコードを識
別する。次の完全なレコード領域を識別する際の
最初のステツプは、いわゆるアドレス・マーク3
35の探索である。DASDではトラツクに記録さ
れたこの特別の信号は後続信号がレコード・カウ
ント・フイールド(ID)であることを意味する。
最初のアドレス・マーク(インデツクス)に出合
うと、DAC56Pは現在の回転位置(R1はイ
ンデツクスに続き、R2は90度の回転位置であ
る、等)を確かめるためフアイルされたレコー
ド・カウンタを読取る。図示の実施例における時
間的束縛のため、次のレコードに続くレコードが
アクセスされる。すなわち、もしR1が現在の回
転位置にあれば、レコードR2が無条件にアクセ
スされる。キヤツシユ・セツトICW145は、
DAC56Pを活性化することにより、転送され
るべきレコードのキヤツシユ・アドレスをSSAR
79へ転送する。これらのアドレスの転送順序
は、変換器すなわちヘツド340がDASDレコー
ド・デイスク上でこれらのレコードと出合う順序
と同じである。これらの識別されたレコードに対
するキヤツシユ・アドレスはLKP25から取出
され、SSAR79に書込まれる。この場合、次に
出合う最初のレコードのキヤツシユ・アドレスは
番号0で識別されるSSAR79に置かれ、その次
に出合うレコードのキヤツシユ・アドレスは番号
1で識別されるSSAR79に置かれ、以下同様の
操作が転送される全レコードについて行なわれ
る。複数のデータ・ブロツクが転送されようとし
ているときは、複数のキヤツシユ・セツトICW
が参照番号146で示すように生じる。そして、
SIDE CCW135に対応するSIDE ICW147
が生じる。SIDE ICW147は最初のキヤツシ
ユ・セツトICW145に対応し、アクセスされ
るべきレコードが次に生じるレコードであること
を確立する。その後、ロール・モード・オペレー
シヨンではSIDEコマンドは使用されない。これ
は複数のデータ・ブロツクがただ1つのSIDE
ICW147を使用して順次に読取られることを
意味する。次いで、転送されるデータ・ブロツク
数に等しい数の読取ICW148がDAC56Pに
よつてLKP25から取出され、SET CACHE
ICW数によつて示された所定のデータ・ブロツ
ク数を読取る。(アドレス指定されたDASD16
〜18とSSAR97にセツトされたキヤツシユ・
アドレスとの間でデータを転送する)読取が完了
すると、矢印150で示すように、周辺記憶シス
テム10はホスト11に装置終了(DE)を供給
する。ホスト11はこれに直ちに応答し読取
CCW136に対応する周辺コマンドを参照番号
151の箇所で再び出す。もちろん、ICWチエ
ーンは実行されたばかりであるから、周辺記憶シ
ステム10がDIR43を探索すると、参照番号1
52で示すようにヒツトを生ずる。そして、矢印
153で示すように、データはキヤツシユ40か
らホスト11に転送される。読取CCW136で
要求されたデータ・ブロツクについてデータが転
送されなかつた場合、もう1つのミスが生じ、そ
してもし次の再試行が失敗すれば、ホスト11に
エラー・ステータスが報告される。このエラー・
ステータスは、周辺記憶システム10がシリンダ
及びヘツド・アドレスでアドレス指定された
DASD16〜18からデータを転送できなかつた
事実を反映する。そして、ホスト11は直接アク
セス(AC=00)を使用し、本発明の範囲外の標
準デイスク記憶装置回復方法を使用して回復を試
みることができる。省略記号154は前記オペレ
ーシヨンが高度の反復性を有するとともにDASD
16〜18に対する種々のCCWチエーンがイン
タリーブされうることを表わす。ICWチエーン
は必ずしもCCWチエーンの順序には従わない。
状況によつては、ICWチエーンは後に生じる
CCWチエーンによつて構成されて使用されるこ
とがある。このような可能性はCCWチエーンと
ICWチエーンの非同期的側面を表わす。通常、
最初のCCWチエーンは最初に生じるICWチエー
ンをもたらす。いずれにせよ、DASD16〜18
の各々について個々のICWチエーンがアクテイ
ブになりうる。
第5図はDASD16におけるトラツクのシリン
ダを本発明の実施に影響する機能的側面とともに
示す。本発明の理解を容易にするためDASD16
の部分を強調するように第5図は簡略化して示さ
れている。代表的なDASDはデイジタル信号を磁
気的に記録する磁気被膜面を有する複数のデイス
ク330,331,332及び333を含む。デ
イスク333の表面は典型的に1組のサーボ信号
を有し、デイスク330,331及び332のそ
れぞれの記録面に対して放射状に移動可能な関係
で、くし支持(comb supprot)構造342にお
ける複数のヘツド340の放射状位置をDASD1
6に対して識別する。トランスジユーサすなわち
ヘツド341はデイスク333の表面に沿つて移
動して前記サーボ信号をセンスすることにより、
それぞれの記録面上の複数のレコード・トラツク
に関しヘツド340の放射状位置が正確に支持す
る。例えば、デイスク330は背中合せの面に一
対のトラツク360及び361を有する。これら
はデイスク331のレコード・トラツク362及
び333ならびにデイスク332のレコード・ト
ラツク364及び365の対応する対と放射状に
一線をなす。これらの放射状に一線をなすトラツ
クはトラツクのシリンダを構成する。実際の例で
は、図示のものより一層多い複数のレコード・デ
イスクが使用されて、17,18またはそれ以上
のレコード・トラツクがトラツクのシリンダ33
4を構成する。更に図示の実施例では、それぞれ
のレコード・トラツクは複数の部分に分割され、
その各々の部分は4096データ・バイトの単一レコ
ードを有する。レコード領域は図面上では、アド
レス・マーク335によつて分離されているよう
に示されており、各々のレコード領域はDASDの
通常のアドレス・セクタに関連しうる回転アドレ
スを有する。本発明を使用して構成された1つの
実施例では、アドレス・マーク335はレコード
識別子(ビツト・パターン)の開始部であり、そ
れぞれのレコード・トラツクにおいて普通のトラ
ツク・インデツクス・マーク(図示せず)に関し
て任意に選択された位置に置かれている。すなわ
ち、シリンダに対するシークが完了すると、アド
レス・マーク(AM)に対する探索が現在の回転
位置とは無関係に行なわれる。最初に検出された
AMによつて、到来するレコードの書込まれた識
別子(ID)が読取られる。このIDはその変換器
すなわちヘツド340に関するトラツクの現在の
回転位置を与える。もしインデツクスが検出され
れば、レコードIDのR1が使用される。このID
はロール・モードが開始するICWのチエーンに
おけるオフセツトを決定する。この動作はICW
チエーンをデイスク回転方向に向ける。
スイツチ・システム343は電子速度でレコー
ド・トラツク間の切替を可能にする。これはシリ
ンダ334のレコード・トラツクがそれぞれのデ
イスク330等の回転の待時間を条件として迅速
にアクセスされうることを意味する。従つて、レ
コード・トラツクによるオペレーシヨンはシリン
ダを基準として行なうのが望ましい。スイツチ・
システム343はDAA34及びDCA35を介し
てデータ回路33(第2図)に接続されたバス3
44と信号を授受する。DASD16〜18内にあ
ることが望ましいパターン検出器345は、ビツ
ト・パターンすなわちアドレス・マーク335を
検出し、これに応じて割込信号としてバス71を
介してプロセツサ31Pに中継される同期入力信
号346を供給する。この信号はポーリングされ
ることがあり、割込信号とした用語は前記いずれ
かを含むことを意図するものである。この同期入
力割込信号は後に説明するように、ロール・モー
ド・オペレーシヨンに関して使用される。線34
7のフイールド完了信号もパターン検出器345
によつて供給される。この信号は、レコード・ト
ラツクからデータ回路33へ1つのデータ・フイ
ールドが良好に転送されたこと、従つてそのデー
タ内容をプロセツサ31Pが使用しうることをプ
ロセツサ31Pに知らせる。例えば、レコード識
別フイールドは3バイトの識別データを有するこ
とがある。これらの3バイトがバス344を介し
て良好に転送されたことをパターン検出器345
が検出したとき、線347のフイールド完了割込
がプロセツサ31Pに送られる。パターン検出器
345とバス344の間の接続は第2図のD01
6からDCA35,DAA34への接続及び通常、
データ回路33内で見出される接続(図示せず)
を図式化することを意図している。バス344上
の信号はキヤツシユ40に、またはバス40から
チヤネル・アダプタ32を介してホスト11に送
られることがある。
サーボ・センス・ヘツド341によるヘツド3
40のサーボ位置決定は、プロセツサ31Pから
線351を介して受取られたシリンダ334の放
射状位置アドレス“CC”に基づいてサーボ回路
350によつて与えられる。ヘツド・シークの完
了は線355を介してプロセツサ31Pにシーク
完了信号を供給するサーボ回路350によつて指
示される。もちろん、これらのアドレス信号の実
際の転送は、第2図に示すように且つ通常の技術
で実施されているように、プロセツサ31Pから
データ回路33、DAA34、DCA35を介して
DO 16に向つて行なわれる。RPS検出器35
2は矢印353で示すように、プロセツサ31P
からセクタ・セツトすなわち回転位置信号を受取
る。そしてRPS検出器352はデイスク330
〜333の現在の回転位置とセクタ・セツトの値
を比較し、両者が等しいときは、回転位置がセク
タ・セツト値であることを指示する信号を線35
4を介して送る。この信号は最終的にはプロセツ
サ31Pに到達する。プロセツサ31Pは、ホス
ト11とD0 16の間のデータ転送を監視して
いるとき、D0 16がコマンド・チエーンを続
けることが可能であることをホスト11に知らせ
る。ホスト11は通常の方法で応答してデータを
転送する。キヤツシユ40とD0 16の間でデ
ータが転送中であるとき、プロセツサ31Pの
DAC56PはLKP25に動作可能情報を記憶し
且つプロセツサ31Pの制御をCAC61Pに転
送することにより、キヤツシユ40及びSSAR7
9がD0 16とキヤツシユ40の間でデータを
転送するために準備されるようにする。
第6図は図示のシステムにおける本発明のオペ
レーシヨンを5種類の各モードごとに図表で示
す。モード1は期待されるロール・モード・オペ
レーシヨンを与えるのに必要な制御が簡単である
という理由で良好なモードである。モード1のオ
ペレーシヨンの属性にはレコード・トラツクのイ
ンデツクスに対するロール・モード・データ転送
の迅速な同期が含まれる。いつたん、ロール・モ
ード・オペレーシヨンがインデツクスに同期され
た後は、データ転送は後に明らかになるように最
も効率的になる。レコード・トラツクのシリンダ
は5種類の各モードごとに図表形式で示される。
参照番号360乃至367はそれぞれ、単一のレ
コード・トラツク・シリンダの異なるレコード面
上の別個のレコード・トラツクを示す。参照番号
335によつて示された複数の縦線は第5図のレ
コード境界回転位置すなわちアドレス・マーク3
35にそれぞれ対応する。左側の縦線はシリンダ
のすべてのレコード・トラツクのインデツクス3
70のマークを示す。参照の便宜上、各々のトラ
ツクは各々の図表の最下部に沿つてR1,R2,
R3及びR4と命令された4つのレコードを記憶
するものとする。モードの各々は371で始まり
372に及ぶアドレス・エクステントに関して記
述されているので、トラツク362では3レコー
ド領域が使用されるのに対しトラツク367では
2レコード領域が使用される。トラツク362と
トラツク367の間に介在するトラツク363〜
366はそれぞれ、定義されたエクステントに4
レコードを記憶する。ハツチング領域373は前
にキヤツシユ40に転送されているデータを表わ
す。ここで説明を行なうにあたり、データ・アク
セス要求がホスト11から受取られた結果、参照
番号374の箇所でキヤツシユ・ミスが生ずる。
すなわちトラツク363のレコードR2が要求さ
れたが、キヤツシユ40に記憶されていないもの
と仮定する。また順次モードが指示されていると
仮定する。すなわちホスト11はエクステント3
71〜372の範囲内で順次に複数のレコードを
使用するつもりであることを周辺記憶システム1
0に通知済である。この場合、プロセツサ31P
のCAC61Pは要求を分析してロール・モー
ド・オペレーシヨンが続いて生じねばならないこ
とを指示する。従つて、トラツク363のレコー
ドR1で始まりトラツク364のレコードR4ま
で続けてトラツク363及び364を順次読取る
ために、ICW24のチエーンが構成される。ト
ラツク363のレコードR1部分に相当するハツ
チング領域373は、ロール・モードのオペレー
シヨンをトラツク・インデツクス370と同期さ
せるために、DASD16からキヤツシユ40に再
転送される。図示のように、トラツク363及び
364について使用されるロール・モードはトラ
ツク363のレコードR3(シークの後に出合つ
た最初のレコードで、参照番号1を付されてい
る)の読取で開始する。次いで、トラツク363
のレコードR4が第2のデータ・ブロツクとして
読取られる。多重トラツク・オペレーシヨンにお
いて、またはICW多重トラツク・オペレーシヨ
ンの間に、インデツクス370に達すると、
DASDは自動的に読取を次のトラツク364にス
イツチする。他の実施例では、トラツク・スイツ
チングは多くの現在のDASD記憶システムにおけ
るようにDAC56によつて制御される。第3の
レコード読取はトラツク364のレコードR1で
あり、これに続いて同じトラツクのレコードR
2,R3,R4(データ・ブロツク4,5,6)
の順に読取られる。そして・ヘツド・スイツチ・
コマンドはトラツクを最初のトラツクにスイツチ
することにより、トラツク363のレコードR1
―DASDからキヤツシユ40へのデータをステー
ジングによつて複製されたレコード―の読取りを
行なわしめる。このオペレーシヨンは転送中の最
後のレコードとしてトラツク363のレコードR
2を読取ることによつて完了する。このR2を読
取るためのICWにあるEOPフラグはロール・モ
ード・オペレーシヨンの完了を指示する。この時
点で、2つの完全なデータ・トラツクがDASD1
6からキヤツシユ40に転送済であり、またトラ
ツク363のトラツクR1は再びステージングさ
れているので、これによつてDASDのインデツク
ス370に対するロール・モードの同期がとられ
ている。ステージングされたレコードのみがキヤ
ツシユ40に前のコピーを有する場合、前のコピ
ーは保持されるがステージングされたばかりのコ
ピーはキヤツシユ40から廃棄される。
その後、ホスト11はDASDからキヤツシユ4
0にステージングされたデータをアクセスし参照
番号375の位置で次のキヤツシユ・ミスが生じ
る。このキヤツシユ・ミスはインデツクス370
と同期され、トラツク365及び366のデータ
内容をキヤツシユ40へ転送する次のロール・モ
ードは再ステージングを省略する。図示のよう
に、トラツク365のレコードR4が最初に読取
られるレコードであり、これに続いてトラツク3
66のレコードR1〜R4が読取られる。このオ
ペレーシヨンはトラツク365のレコードR1〜
R3をロール・モード転送のデータ・ブロツク
6,7及び8として転送することによつて終了す
る。次のキヤツシユ・ミスは参照番号376の位
置で生じる。この場合も、インデツクス370と
の同期が得られる。しかしながら、定義されたエ
クステント371〜372にはトラツク367の
2つのレコードR1及びR2が残つているだけで
あるから、ロール・モード・オペレーシヨンは開
始されない。というよりはむしろ、レコードR1
及びR2に対する参照番号K1及びK2によつて
示される直接データ転送によつてトラツク367
の前半部からキヤツシユ40にデータが転送され
る。トラツク363〜366の転送での待時間遅
延及びRPSミスの回避とは反対に、レコードR
1及びR2のアクセスはデータ転送の待時間遅延
に左右される。
モード1Aはトラツク363のレコードR1の
再ステージングを回避しながらロール・モードを
インデツクス370と同期化することを示す。参
照番号374で示すように最初のキヤツシユ・ミ
スが生じた場合、トラツク363のレコードR2
〜R4はそれぞれ、参照番号K1,K2及びK3
で示すように通常のデータ転送オペレーシヨンに
よつてキヤツシユ40に昇格される。この転送で
は、普通の待時間遅延が生じるので、データ転送
は常にトラツク363のレコードR2で始まる。
このオペレーシヨン・モードが望ましいのは、レ
コードのデータ転送時間が待時間のかなりの部分
を占めるような場合である。例えば、トラツク3
63の通常の転送K1,K2,K3を与えるとい
うよりはむしろ、トラツク363に2またはそれ
よりも少ないレコードが生じる場合にのみ、モー
ド1Aを使用することが望ましいであろう。従つ
て、再ステージング時間がDASDの回転期間の半
分よりも少ない場合には、データの再転送すなわ
ち再ステージングが望ましい。トラツク363の
ステージングに続いて、参照番号378の位置に
おける次のキヤツシユ・ミスが完全な2トラツク
のロール・モードオペレーシヨンを生じさせる。
モード1Aで示すように、ロール・モード中のト
ラツク364及び365の昇格はトラツク364
のレコードR3で開始し、表記された参照番号1
乃至8の順に進行する。参照番号379の位置で
次のキヤツシユ・ミスが生ずると、トラツク36
6のデータのみがロール・モード中に昇格され
る。もしロール・モードがトラツク366のレコ
ードR1で開始されたならば、2つの追加コマン
ドをロール・モードに付加することによつて前記
ロール・モードはトラツク367のレコードR1
及びR2にまで及ぶ。代りに、トラツク366及
び367のロール・モード昇格に関するコマン
ド・チエーンを構成するようにしてもよい。も
し、最初に出合つた昇格されるべきレコードがR
1であれば、トラツク367の最初の2つのレコ
ードが昇格される。さもなければ、トラツク36
6の内容だけが昇格されるが、これはトラツク3
67のR3及びR4部分にあるレコードを読取ら
ないで走査することによつて生じる待時間遅延を
回避するためである。装置選択を減少するための
代案は、トラツク367のレコードR3及びR4
を走査するがデータを転送しないことである。
モード1Bがモード1Aと違う点は、トラツク
363に関連するK1,K2及びK3のデータ転
送の代りに、トラツク364全体のデータ内容も
またトラツク363の3レコードとともに転送さ
れるということだけである。この拡張されたデー
タ・ステージングは次のそしてインデツクスの同
期したデータ転送を参照番号380の位置まで遅
延させ、これによりトラツク365及び366の
データ内容をこれら2つのトラツクのロール・モ
ードを使用してキヤツシユ40に転送することを
可能にする。そして、最後の2レコード、トラツ
ク367のR1及びR2が普通の形式で転送され
る。再び、参照番号1〜8はトラツク365及び
366からのデータ転送順序を指示する。
モード2はデータ転送をインデツクス370と
同期させずにロール・モード・オペレーシヨンを
与える。このモードはいくつかの電子ヘツド・シ
ークを必要とする。従つて、連続するレコード領
域間の経過時間はヘツド・スイツチングをするの
に十分でなければならない。レコード間の時間が
トラツク・スイツチングを行なうのに不十分であ
る場合には、「ダミー」レコードの使用、または
レコードのインターレース読取(すべての偶数番
号のレコード、次にすべての奇数番号のレコード
というように、1つおきのデータを読取る)のよ
うな代りの方法を使用することがある。モード2
の読取は図示のようにトラツク363に相当する
最初のトラツクT1で開始する。読取はインデツ
クス370の位置でトラツクT2(トラツク36
4)にスイツチする。キヤツシユ・ミスの論理位
置374に到達し、そしてトラツクT1にあるレ
コード領域がまだキヤツシユ40に転送されてい
ない場合、これらのレコード(トラツク363の
R2)が読取られる。これらレコードの読取が完
了すると、再びトラツクT2にスイツチされてレ
コードR3及びR4が5番目及び6番目の転送レ
コードとして読取られ、そしてインデツクスはト
ラツクT3(トラツク365)にスイツチされて
7番目のレコード(トラツク365のR1)を読
取る。読取られるべき最後のレコードは中間のト
ラツクT2(364)にあつて、このレコードは
最初にインデツクス370のマークを越えた後に
最初のトラツクT1(トラツク363)から読取
られたレコードR2(4番目のレコード)と同じ
論理位置にある。図示のように、転送された最初
のトラツクはトラツクT1のR3であり、次にト
ラツクT1のR4、続いてトラツクT2のR1が
転送される。そしてヘツド・シークすなわちスイ
ツチが読取をトラツクT1に移し、トラツクT1
のレコードR2が4番目のレコードとして読取ら
れる。トラツクT1のレコードR3が読取られな
かつた場合には、それもこの時点で読取られる。
トラツクT1のR2の読取が終ると、2番目のヘ
ツド・スイツチを行なうことによりトラツクT2
のレコードR3及びR4が5番目と6番目のレコ
ードとして読取られる。インデツクス370にお
けるトラツク・スイツチによつてトラツクT3
(トラツク365)のレコードR1が次に(7番
目に)読取られ、続いてトラツクT2の最後の
(8番目の)レコードR2が読取られる。このロ
ール・モード転送の後に、トラツクT3の残りの
3つのレコードR2,R3及びR4が読取られ
て、ロール・モード・オペレーシヨンはインデツ
クス370と同期する。そして、トラツク366
及び367はモード1Aで説明したようにロー
ル・モードで読取られる。そうでない場合は本手
順はトラツクT3のレコードR2〜R4について
反復されることがある。
モード3では、同期はモード1におけるように
行なわれる。しかしながら、トラツク363のレ
コードR1のデータを転送するというよりはむし
ろ、7つのレコードのみが転送され、トラツク3
63のR1部分はデータ転送を伴なわずに走査さ
れるに過ぎない。キヤツシユ・ミス374に続く
最初のロール・モード・オペレーシヨンでは、ト
ラツク363の読取は最初に生じるアドレス・マ
ーク335の同期で始まり、かくて図示に如くR
3に続いてR4が読取られる。インデツクス37
0はトラツク364にスイツチし、そのトラツク
全体のデータ内容を読取る。そして、トラツク3
63のレコード領域R1が走査され、レコードR
2のデータ転送が7番目でかつ最後のステツプと
して行なわれる。そしてモード3におけるトラツ
ク365及び366はモード1について示した手
順に従つて完全なロール・モードで読取られる。
トラツク367もモード1で説明したように読取
られる。
以上で明らかなように、所与のシリンダ内のロ
ール・モード・オペレーシヨンのシーケンスにお
いて、ロール・モード・オペレーシヨンの初期の
ロール・モードとインデツクス370の同期化は
有効なデータ転送を促進する。他のモードが使用
されることもあるが、後に明らかになる追加の制
御が有効なデータ転送のために必要である。
第7図は周辺記憶システム10によるSPPコマ
ンドの実行を示す。ACE50PはSPPコマンド
を受取つて解読する。前記解読の結果、プロセツ
サ31PはCAC61Pを動作させる。CAC61
Pが動作すると、プロセツサ31PはCAC61
Pを介して参照番号155の位置で本発明に無関
係な一定の論理機能を実行する。そしてステツプ
156では、LDCB62(第3図)がアクセスさ
れてCPARM82にあるSIO 104Aを1にセツト
し、FOUND 80にあるODE 90を0にセツトし、
ビツトCCR 95を0にセツトし、コマンド修飾バ
イト22で受取つた値(A)にSEQ 100をセツトし、
コマンド修飾バイト22のRDセクシヨンにある
値にRD 101をセツトし、PRARMS 81のB
COUNT 102をブロツク数23に示された値にセツ
トする。LDCB62をセツトした後、プロセツサ
31Pは参照番号155Aの位置で本発明の理解
に無関係な幾つかの論理機能を実行する。そし
て、プロセツサ31Pはステツプ157でLDCB6
2のSEQ 100を検査することにより順次データ
を伴なつているかどうかを調べる。そうでないな
らば、プロセツサ31PはLKP25を介して
ACE50Pにリターンする。もし、順次データ
(を伴なつていること)が示されれば、プロセツ
サ31Pはステツプ158でBCOUNT102に表
示されたブロツク数をプロセツサ31Pの内部レ
ジスタIR(図示せず)に転送する。図示の実施例
では、最大8ブロツクがデータ・ブロツの所与の
バーストで転送される事になつている。この実施
例では、B COUNT102が8に等しいか、ま
たは8よりも大きい場合は、8ブロツクが転送さ
れ、そしてB COUNT102は8だけ減少され
る。B COUNT102が8よりも少ない場合に
は、B COUT102に等しいブロツク数が転
送される。そしてステツプ159でブロツク・カウ
ント(BK)の値が検査される。もしBKの値が
非0であれば、適切なSPPコマンドが実行され
る。もしBKの値が0であれば、順次標識すなわ
ちブロツク・カウントにエラーがあるに違いな
い。従つて、プロセツサ31Pはステツプ159か
ら本発明の要旨に関係のないエラー・ステータス
報告手順に進む。
シークCCW133、セクタ・セツトCCW13
4及びSIDE CCW135(第4図)については
よく知られているので説明は省略する。周辺記憶
システム10と先行技術との違いは読取CCW1
36に基づく順次データの読取コマンドの受取り
に際して見出される。第8図は順次データを転送
するためのマシン・オペレーシヨンを示す。ステ
ツプ160で受取られたコマンドはACE50Pによ
つて処理される。そしてLKP25を介して、
CAC61Pがプロセツサ31Pによつて動作さ
せられる。前記コマンドはステツプ161で再び解
読される。それは読取コマンドであるから、第1
図に関して説明したようにステツプ162でDIR4
3が探索される。ステツプ163でプロセツサ31
Pはデイレクトリ探索がヒツトまたはミスを生じ
たかどうかを決定する。ミスを生じた場合、前記
受取られたコマンドはステツプ164で待行列に加
えられ、従つて該コマンドとその制御情報は待行
列レジスタ69に入れられる。CCRはホスト1
1に送られる。待行列レジスタ69はどんなフオ
ーマツトでも使用しうるから、アドレス可能な装
置ごとにFIFO待行列がある、すなわち8つの
DASD16〜18に対して8つの待行列があるこ
とを除くと、待行列レジスタ69の説明は行なわ
ない。FIFO待行列を有することの重要性は、ホ
スト11に対する所与の装置の応答の順序がホス
ト11によつて送られたコマンドの順序に対応す
ることを確実にすることである。待行列レジスタ
69からCAC61Pは、第9図以下に関して説
明するように、アドレス指定されたDASD16〜
18の読取または書込オペレーシヨンを開始す
る。
デイレクトリ探索のヒツト状態(ステツプ163)
が検出されると、キヤツシユ40はステツプ170
で適切なチヤネル・アダプタ32を介してデータ
をホスト11へ自動的に転送する。キヤツシユか
らホストへのこのような自動転送はよく知られて
いるので説明は省略する。自動的なデータ転送の
間にエラーを生じることがある。このようなエラ
ーが検出されると、プロセツサ31Pはエラー報
告/分析ルーチン(図示せず)に進む。一般にデ
ータ転送はエラーを生じない。データ転送が完了
した後、ステツプ172でプロセツサ31Pは
LDCB62をアクセスしてRDセクシヨン101
を検査する。読取後の廃棄が指示された場合、プ
ロセツサ31Pは読取つたばかりのデータ・ブロ
ツクが変更されていればこれを(現在または後
に)デステージ(destage)し変更されていなけ
ればこれを自由にする。いかなるコマンドも実行
中でない場合にプロセツサ31Pによつてデイテ
ージングが実行される。置換アルゴリズムの呼出
しを必要とする前にデータのデステージングを行
なうと、たとえ、いくつかの不要なデステージン
グが生じることがあつたとしても、キヤツシユ4
0を効率的に管理するために必要な制御を減少さ
せる、すなわち自由空間をそれらが必要になる前
に使用可能にすることができる。そしてステツプ
172または173から論理経路174を通つて、プロ
セツサ31Pはステツプ175でDIR43のあるフ
イールド(図示せず)から、データがキヤツシユ
40に固定されているかどうかを決定する。デー
タをキヤツシユ40に固定することは、DIR43
の固定フラグ(図示せず)が消去されるまで、
DASD16〜18に該データを転送できないこと
を意味する。もし、データがキヤツシユ40に固
定されていないならば、読取られたばかりのブロ
ツクはステツプ176で、置換アルゴリズムのLRU
リスト(図示せず)におけるMRUブロツクにさ
れる。これはDIR43をアクセスし、該デイレク
トリにある既知の設計のLRUリストを更新する
ことによつて行なわれる。ステツプ177で、本発
明の理解に無関係な論理ステツプがプロセツサ3
1Pによつて実行される。そして、ステツプ180
で再びLDCB62がアクセスされてSEQ 100が検
査される。もし、順次データが指示されていれ
ば、プロセツサ31Pはステツプ182でLDCB6
2のB COUNT102を検査することによりブ
ロツク・カウント(BK)が0に等しい、すなわ
ち転送されたばかりのブロツクがデータ・シーケ
ンスにおける最後のブロツクであるかどうかを調
べる。もしこれが転送された最後のブロツクでな
れば、ステツプ183でBKは1だけ減少される。
ステツプ180、182または183に続いて、論理経路
181によつてプロセツサ31PはACE50P
にリターンし、ホスト11に対する最終ステータ
ス報告を通常の方法で実行する。
第9図及び第10図は読取待行列86(第3
図)の走査及び周辺記憶システム10の内部コマ
ンドのICWチエーンの生成がすべてCAC61P
によつて行なわれることを示す。要求された読取
が待行列に入れられた後、プロセツサ31Pは周
辺記憶システムに種々の機能を実行させる。これ
らの機能には、種々のチヤネル・アダプタによつ
て受取られたコマンド、または(CCRされた)
読取コマンドを転送したチヤネル・アダプタから
受取られた追加のコマンドに応答することが含ま
れる。ホスト11からの周辺コマンドの受取に一
時的休止がある番号、シークまたはセクタ・セツ
トの装置コマンドがアドレス指定されたDASD1
6〜18に送られる。制御活動の一時的休止―こ
れはキヤツシユ40がデータをホスト11に転送
中、データをホスト11から受領中、データをア
ドレス指定されたDASD16〜18から転送中ま
たは受領中に生じることがある―がある場合、プ
ロセツサ31Pはそのデイスパツチヤ・マイクロ
コード―これはOP75(第2図)の一部分であ
る―によつて、待行列レジスタ69を含むその作
業テーブルを走査する。もし、待行列が空であれ
ば、すなわち読取が生じる予定がなければ、プロ
セツサ31Pは論理経路192を通つてステツプ
190のデイスパツチヤにリターンする。もし読取
が待行列に加えられていてステツプ191で読取待
行列86の走査によつて検出されれば、LDCB6
2を識別する待行列項目はステツプ193でその待
行列からプロセツサ31Pの内部レジスタ(図示
せず)に転送される。もし、この転送でエラーが
生じるならば、エラー報告/回復手順が論理経路
194で開始される。待行列レジスタ69から待
行列項目が良好に読取られた後、LDCB62がス
テツプ195でアクセスされてODE90を1にセツ
トし、これにより(第4図の矢印150で示す様
に)装置終了が良好な読取の完了に原因するもの
であることを表わす。RPARMS83のREQD1
10も0にセツトされる。ステツプ196で、本発
明の理解に無関係ないくつかの機能が実行され
る。そしてステツプ200では、アドレツシングさ
れた装置に対応する装置バツフア77の領域にお
いて、論理チエーニングが生じること(すなわち
1よりも多くのICWがアドレツシングされた
DASD16〜18に到来するアクセスに使用され
ること)を表わすように、或るビツトがセツトさ
れる。ステツプ201では、SEQ100の値を検査
するために、LDCB62が再びアクセスされる。
順次データが指示されている場合、プロセツサ3
1Pはステツプ202に進んで到来するICWチエー
ンのブロツク・カウント(B COUNT102)
を検査する。任意選択により、転送されるブロツ
ク数が2よりも大きい場合にのみ、ロール・モー
ド・オペレーシヨンがデータ転送(読取または書
込)で使用される。この場合、アクセスされてい
る最初のトラツクは転送されるべき少なくとも3
つのレコードに対する記憶領域を有することが望
ましい。ステツプ209でプロセツサ31Pが(第
3図のPPARMS81にある)RO99を1にセ
ツトすることによりロール・モードが指示され
る。
本発明の実施例では所与のICWチエーンによ
つて転送しうる最大ブロツク数は必要に応じ再ロ
ードしうるSSAR79の数に等しい。例えば、8
つのSSARがある場合、転送されるブロツク数は
最大8である。更に、遅延境界が考慮すべき問題
である。例えば、もし転送される8ブロツクが2
つのシリンダのアクセスを必要とするならば、第
1のシリンダのブロツクだけが転送される。例え
ば、もし8ブロツクが第1のシリンダに4ブロツ
ク、第2のシリンダに4ブロツクを有するなら
ば、ブロツク数は4にセツトされる。この動作は
一連のブロツクを転送するのに必要な時間を最小
限にし、またすべての転送を電子速度で完了させ
る。所与のシリンダの最初のブロツクにミスが存
在する場合、最大8ブロツクまで自動的に転送さ
れるであろう。また、最大ブロツク数は決して、
B COUNT102に残されている値よりも大き
くはない。どのICWチエーンもシリンダ境界を
越えないように形成される。これらの計算は普通
のコンピユータのプログラミング方法に準拠する
ので、その説明は省略する。もし、順次データが
ステツプ201で指示されないならば、転送される
ブロツク数はステツプ203で1にセツトされる。
これらは数はチエーン・フラグ、装置アドレス及
びその他の装置制御データとともに装置バツフア
77に供給される。ステツプ204で、SSAR79
の識別が0にセツトされる。これはプロセツサ3
1Pが識別0を有するSSAR79をアクセスする
ことを意味する。
ステツプ205で、第1図のCCW19からのAC
及びDEVを含む論理アドレスLDADDRが物理装
置アドレスDADDRに変換される。図示の実施例
では、この動作は単に論理アドレスからAC部分
をマスクすることにより行なわれる。ステツプ
206で本発明の理解に無関係な一定の機能が実行
される。ステツプ207は第10図に関して記述さ
れた論理流れ図の延長としての再入力点Bであ
る。すなわちステツプ190から206までのすべての
論理ステツプは準備ステツプである。ステツプ
209で、プロセツサ31Pは現在のICWのコマン
ド・バイト26を検査し、現在のオペレーシヨン
がアドレス指定されたDASD16〜18を対象と
する読取/書込であるかどうかを決定する。書込
オペレーシヨンの場合、プロセツサ31Pは後に
説明するブロツク222へ直接進む。読取オペレ
ーシヨンの場合には、次に説明するオペレーシヨ
ンは一連のブロツク読取転送の連続をセツトアツ
プするためのループとして反復司能である。
このループの最初のステツプ210はキヤツシユ
40におけるスロツトすなわち空間を割当てる。
普通の割当手順は次のとおりである。すなわち、
いわゆる自由リスト(図示せず)上のアドレス可
能なユニツト(スロツト)はアドレツシングされ
たDASD16〜18から最初の信号ブロツクを受
取るユニツトとして識別される。そして、該スロ
ツトは前記自由リストから取除かれてプロセツサ
31P内の内部レジスタ(図示せず)に置かれ、
そこでDIR43のどの項目がキヤツシユ40のス
ロツトを識別するために使用されるべきであるか
を指示する。デイレクトリ43にはキヤツシユ4
0内のアドレス可能なスロツトごとに1つの項目
レジスタがある点に注意されたい。従つて、キヤ
ツシユ40内にあるデータの実際のアドレスは該
項目を含むDIR43のレジスタから直接取出すこ
とが可能である。ステツプ210でスロツトの割当
が試みられた後、プロセツサ31Pはステツプ
211で割当プロセス中にエラーが生じたかどうか
を決定する。もしエラーが生じたならば、アドレ
ツシングされたDASD16〜18からキヤツシユ
40に全ブロツク数が良好に転送されないことが
ある。従つて、エラー状態の場合は、ステツプ
212でプロセツサ31PはLDCB62のSEQ 1
00を検査し、データ転送が順次転送であるかど
うかを決定する。もし、それが順次転送でないな
らば、プロセツサ31Pは論理経路213を通つ
てACE50Pにリターンし、置換アルゴリズム
制御が1ブロツクの空間を使用可能にするのを待
つ。順次転送の場合、プロセツサ31Pはステツ
プ214で転送される最初のブロツクでエラーが生
じたことを決定したとき、論理経路216を介し
てACE50Pにリターンする。もし割当エラー
が最初のブロツクに対するものでないならば、割
当られたブロツクのデータ転送が生じる。プロセ
ツサ31Pは経路217を通つてステツプ220に
進み、非割当領域に転送されるブロツク数を
ICWリストから切りとる。
ステツプ211で、もし割当エラーがなければ、
ステツプ218で本発明の理解に無関係ないくつか
の機能が実行される。これらの機能は割当に関連
しないマイクロコード論理エラーの分析を含む。
もしスロツトがこのようなマイクロコード・エラ
ーのために割当てられなかつたならば、ステツプ
220はまた実行され、アドレス指定されたDASD
16〜18からキヤツシユ40に転送されたブロ
ツク数を減じる。エラーがない場合、またはブロ
ツク数短縮の後、プロセツサ31Pはステツプ
221で本発明の理解に無関係ないくつかの論理ス
テツプを実行する。それには一定のハウスキーピ
ング機能を実行するためにACE50Pにリター
ンすることが含まれることがある。ステツプ222
で、LDCB62のSEQ 100が検査される。も
しSEQ 100が0で非順次データを指示すれ
ば、ステツプ223で、データを受取るべきキヤツ
シユ40のスロツトに対応するDIR43の項目の
インデツクスがLDCB62のRPARMS83の
DIR INDEX114に入れられる。順次データの
場合、またはインデツクスがLDCB62に入れら
れた後、ステツプ224では、後にSSAR79に挿
入されるキヤツシユ・アドレスが、LDCB62に
挿入されたばかりのデイレクトリ・インデツクス
から生成される。この生成は単にデイレクトリ・
インデツクスの各々にオフセツトを加えることに
よつて行なわれる。そしてステツプ225で、
LDCB62のSEQ 100が順次モードを指示す
る場合、プロセツサ31Pはステツプ231で、B
COUNT102を検査してブロツク・カウント
が1よりも大きいかどうかを調べる。もし、この
カウントが1よりも大きければ、ステツプ232で、
プロセツサ31Pは転送中のブロツク列の第1の
ブロツクが処理中であるかどうかを検査する。も
し処理中でないならば、ステツプ233で第2のブ
ロツクの新しいキヤツシユ・アドレスが与えられ
る。そしてステツプ234で、装置バツフア77の
領域にICWが作成される。この結果、第2の、
または他のブロツクに対応するSSAR79は前記
キヤツシユ・アドレスにセツトされ、フラグがセ
ツトされ、DIR43へのポインタがセツトされ、
また前記キヤツシユ・アドレスを受取るべき
SSAR79が識別される。実行される他の機能も
装置バツフア77で定義されることがある。
ステツプ225、231又は232の判断結果が前記と
異なる場合、プロセツサ31Pは論理経路226
を通り、ステツプ227で本発明の理解に無関係の
機能を実行し、そしてステツプブロツク228で
LDCB62をアクセスしてRPARMS83の
CADDR118に前記生成されたキヤツシユ・ア
ドレスを記憶する。次いでステツプ229でプロセ
ツサ31Pは本発明の理解に無関係の機能を実行
した後、接続の為のステツプ235を通つて第10
図に示す論理ステツプに進む。
第9図と第10図の間のプログラム接続はそれ
ぞれステツプ235及び240の結合子Aによつて行な
われる。ステツプ241でプロセツサ31Pは第3
図のEK121を増分することによつてSSAR7
9へのポインタを更新する。ステツプ242でプロ
セツサ31Pはキヤツシユ40に転送されるブロ
ツクのすべてがキヤツシユ40内の割当を受けて
いるかどうかを決定する。もし割当を受けていな
いならば、ステツプ243の結合子Bを通つてプロ
セツサ31Pは第9図のステツプ207の結合子B
にリターンし、他のブロツクにキヤツシユ40の
空間を割当てる。このループはEK121が転送
されるブロツク数に等しい(8以下の)カウント
を有するまで反復される。
ループが完了した後、ステツプ244で本発明の
理解に無関係な機能が実行される。ステツプ245
で、コード読取コマンド(または順次書込の場合
は書込コマンド)がDASD16〜18のデータ読
取コマンド(またはデータ書込コマンド)を表わ
すICWにセツトされる。読取オペレーシヨンの
場合、プロセツサ31Pはステツプ250でLDCB
62をアクセスしてPPARMS81の順次デー
タ・フラグSEQ 100が1にセツトされてい
るか、または0にリセツトされているかを決定す
るとともに、WQすなわち書込待行列85をアク
セスしてロール・モード・フラグ(図示せず)が
セツトされているか、またはリセツトされている
かを決定する。順次データ・フラグまたはロー
ル・モード・フラグのいずれかがセツトされてい
る場合、プロセツサ31Pはステツプ251で、受
取られたブロツク・カウント(BK)が1よりも
大きいかどうかを決定する。もしBKが1よりも
大きいならば、ステツプ253でICW24(第1
図)のコマンド修飾バイト27にあるチエーンが
セツトされる。さもなければ、ステツプ250また
は251からプロセツサ31Pはステツプ252に進
み、そこでコマンド修飾バイト27中のチエーン
標識をリセツトすることによりチエーン終了
EOCが指示される。ステツプ254で、制御記憶7
3中の装置バツフア77がこのICW、すなわち
コード順列フラグ及びその他の記憶オペレーシヨ
ン(STOROP)表示を受取る。ステツプ255で、
プロセツサ31Pは再び、LDCB62のSEQ 1
00が非順次、すなわちSEQ=0であるかどう
かを検査する。非順次データ転送の場合、プロセ
ツサ31Pは論理経路256を通り、ステツプ
247で論理ステツプを実行して作成されたばかり
のICWを終了する。そしてステツプ257で、プロ
セツサ31PはLKP25を介してDAC56Pに
ICWチエーンを転送する。
順次データ転送の場合、プロセツサ31Pはス
テツプ255から260に進んで論理ステツプを実行
し、そこでEK121(図示されていないプロセ
ツサ31P中の他のレジスタであつて、ブロツク
244でカウンタ内容を0に初期設定されたレジ
スタが容易に使用される)を調整することにより
次の項目を識別する(次の項目をセツトする)。
そしてステツプ261で、もし残つているブロツ
ク・カウントが1以下であれば、後述するように
ステツプ247でICWチエーンは終了し、ステツプ
257でDAC56Pに転送される。ステツプ261で、
残つているブロツク・カウントが1よりも大きい
ならば、ループ270が実行されて前記ICWの
チエーンの残りのICWをセツトアツプする。カ
ウンタ271で、カウント読取、キー、データ、書
込及び多重トラツク・コマンドがセツトされる。
ステツプ272で、プロセツサ31Pは順次ブロツ
クのグループ内の最後のブロツクが処理中である
かどうかを決定する。処理中でない場合、形成中
のICWのコマンド修飾バイト27にある「チエ
ーン」フラグは1にセツトされる。さもなけれ
ば、ステツプ274で、ICW24の「チエーン」フ
ラグをリセツトするとともにEOCフラグをセツ
トすることによつてチエーン終了状態が表示され
る。ステツプ275で、ICWは装置バツフア77に
転送される。ステツプ276でキヤツシユ・アドレ
スは装置バツフアに書込まれ、バースト転送の場
合直ちにSSAR79に転送しうるようにする。ス
テツプ277で、プロセツサ31Pはブロツクが最
後のブロツクであるかどうかを決定する。最後の
ブロツクではない場合、ステツプ278でループが
インデツクスされ、普通の制御方法を使用して内
部レジスタ(図示せず)にあるカウントが調整さ
れる。ステツプ278でループがインデツクスされ
ると、ステツプ271乃至277が再び実行される。ル
ープ270が終了すると、プロセツサ31Pはス
テツプ246でロール・モード標識RO99(第3
図)を検査し、ICWチエーンがロール・モード
を開始すべきか、または他のアクセス方法を使用
すべきかを決定する。チエーン中の最初の2つの
コマンドがアクセス方法を決定する。ブロツク2
47で、最初の2つのICWはシークICW及びセ
クタ・セツトICWであり、これらはDASDデー
タ記憶システムのCCWに等しい。ロール・モー
ド(ステツプ246でRO=1)の場合、ステツプ
248で同じシークICWと、それに続いて(前に説
明した)ORIENT ICWが示される。この時点
で、DAC56Pはコマンド・チエーンのどの場
所でデータ転送が開始するかを知る。また、コマ
ンド修飾バイト27(第1図)中のすべてのチエ
ーン標識は1にセツトされ、EOPはリセツトさ
れるとともに、そのICWチエーンの末尾で普通
のTIC(チヤネル内転送)CCWに等しいTIC
ICWがセツトされ、第11図に示すように、そ
のICWチエーンのヘツドの方向にマシン・オペ
レーシヨンを移動させる。
DAC56PはICWチエーンを受取ると、チヤ
ネル・アダプタ32を介して受取つたコマンドを
実行する場合と同様に該チエーンを実行する。こ
のオペレーシヨンはよく知られているから、
ICWチエーンの実行についてこれ以上の説明は
行なわない。DASD16からキヤツシユ40へ信
号を転送する際、DAC56PはDASD16に対
するアドレス指定を与えるだけではなく、装置バ
ツフア77のキヤツシユ・アドレスの内容を
SSAR79に転送し、従つていくつかのデータ・
ブロツクを単一のデータ・ストリームで転送可能
にする点に注目されたい。この転送が終了する
と、DAC56Pはエラー表示を含む結果的なス
テータスをLKP25にロードする。プロセツサ
31Pのオペレーシヨンはその後、DAC56P
からCAC61Pにスイツチする。
第11図は図示された装置においてロール・モ
ード・オペレーシヨンを行なうためのICWコマ
ンド・チエーンを示す。コマンド・チエーン40
0は第10図のステツプ257に相当する矢印40
1によつて示すように開始される。第12図は第
11図に示すコマンド・チエーンに関連して記述
された時間指向のマシン・オペレーシヨン図であ
る。コマンド・チエーン400は時間領域でコマ
ンド・チエーン400の実行を表わす3つの主要
な部分X,Y及びに論理的に分割される。部分X
はシリンダ・シーク403を含む準備ステツプ
で、所望トラツクのシリンダ334を定義する位
置にヘツド340(第5図)を整列させるための
ものである。シーク・ステツプはDAC56Pに
よつて一連のステツプ425を通して実行される。
最初のステツプはステツプ426においてLKP25
の位置1(LKP1)を読取る。このステツプは
ICWのビツト・パターンをLKP25からDAC5
6Pへ転送し、これをCCWと同様に実行させる。
ステツプ427で、テーブル84(第3図)のカウ
ンタLKPKが増分され、次のICWの読取の準備
をする。ステツプ403で、トラツクのシリンダ3
34に対する実際のシークが実行される。アドレ
ス指定されたDASD16〜18によつてシークが
実行されている間、プロセツサ31Pは待機ルー
プに入るか、またはシーク・オペレーシヨンの終
了を待ちながら、この中断に無関係な他の機能を
実行する。ステツプ430で、アドレス指定された
DASD16〜18からのシーク終了信号が線35
5(第5図)を介して受取られたかどうか
(DONE)が検査される。タイムアウトTO(図示
せず)がステツプ433で検査される。もし、タイ
ムアウトでなければ、エラー状態は存在しないの
で、経路435を介してステツプ430を反復する。
タイムアウトの場合、ERP(エラー回復手順)が
経路434で開始される。シークを終了すると、
ブロツク440でプロセツサ31PはDAC56
Pを実行させつつLKPKの位置でLKP25を読
取る。この読取によつてORIENT ICW404
(第11図)がその実行のためにLKP25の領域
からDAC56Pに転送される。ステツプ441で
LKPKは1だけ増分される。ステツプ402で、受
取られたばかりのORIENT ICW404が第13
図で詳細に示すように、実行される。ORIENT
ICW404の実行はDASD16〜18との回転
同期を確立し、そしてコマンド・チエーン400
の部分Yを開始するICWをプロセツサ31Pが
選択しうるようにする。すなわち、転送されるべ
き最初のレコードを含むレコード・トラツクを走
査する際に回転位置が識別される。プロセツサ3
1Pは識別された回転位置をとらえ、その直後の
レコードを選択する。このレコードは適当な変換
器すなわちヘツド340の下を通過し、これに伴
ない最初のICWがコマンド・チエーン400中
のその論理位置に関係なく実行される。書込すな
わち記録オペレーシヨンの場合には、データの完
全性を確保するため、最初に出合つたレコード領
域をスツプすることが望ましいことがある。第6
図のモード1を再び参照するに、適切なヘツド3
40がトラツク363を走査しているとき、例え
ばアドレス・マーク335がヘツド340を通過
した後のレコードR2の領域で、トラツク363
の回転同期が確立される。(ヘツド340が)レ
コード識別すなわちレコードR3のアドレス・マ
ーク335に出会うと直ちに同期は確立され、ト
ラツク363のレコードR3の領域に関連するデ
ータが転送される。(ヘツド340が)レコード
R3に出会う前に、トラツク363のレコードR
3の領域に関連する制御データはキヤツシユ40
に転送される。第12図において、ステツプ412
で最初のデータ転送ICWが実行される。部分Y
中の後続ICWで識別されたデータ領域―第11
図ではD〜H表記されている―は、第6図に関し
て説明した順序で転送される。ORIENT ICW4
04はステツプ412におけるデータ転送のために
セツトアツプされるだけではなく、また転送中の
データ・ブロツクCとして示されたデータに対す
るSIDE C ICW411中のEOCフラグをセツ
トする。モード1では、これはトラツク363に
あるレコードR3のデータ転送に先行するSIDE
コマンドに相当する。いい換えれば、DASDにお
けるデータ転送の探索識別準備ステツプはICW
として選択されるのであるが、これは第1図に示
したように、また後に第14図に関して説明する
ように、コマンド修飾バイト27のEOCを使用
することにより、最後のデータ転送の後にコマン
ド・チエーン400の実行を終了するためであ
る。同時に、矢印410によつて示すように、
(8個のSSARを有する実施例の場合は)3番目
のデータ・セツトを受取るようにSSAR79のア
ドレスがセツトされる。すなわち、SSAR79は
数字0〜7によつてアドレス可能である。従つ
て、3番目のレコードが転送されるべき最初のレ
コードである場合は、数字2によつてアドレス指
定されたSSAR79がキヤツシユ40の最初のア
ドレスを与える。SSAR79のアドレスはデー
タ・ブロツクがラウンドロビン形式で転送される
ごとに自動的に増分されるので、コマンド・チエ
ーン400のデータ・ブロツクHに対するアドレ
スを与えるSSAR79に続いて、数字0によつて
識別されるSSAR79を通してデータ・ブロツク
Aがキヤツシユ40でアドレス指定される。ロー
ル・モードで8個未満のデータ・ブロツクが転送
中であるときは、後に説明するヘツド・シーク・
コマンドがSSARのICW(図示せず)をプリセツ
トしてデータ・ブロツクをAに向ける。以上説明
した手順は読取オペレーシヨンに関しては変更さ
れることがある。すなわち、SSAR79はキヤツ
シユ・アドレスを任意の順序でプリセツトさせ、
これに応じて多重レコード読取データ転送が生じ
る。データ転送の後、このようなデータの既知の
DASDアドレスに基づいてレコードの順次性が確
立される。この手順はアドレス・マーク335と
実際のレコード領域の最初の間の経過時間を最小
にすることができるので、読取オペレーシヨンに
関してはこの手順の方が好ましい。
第11図に戻ると、ICWチエーン400の部
分Yは、ICWチエーン400において最後に識
別されたデータ・ブロツクを転送するステツプ
414によつて完了される。続いて、ヘツド・シー
クICW415によつて電子スイツチ・システム
343がトラツクT1にスイツチ・バツクする。
このようなヘツド・シーク・コマンドはよく知ら
れているので、これ以上の説明は行なわない。ヘ
ツド・シークICW415に続いて、TIC ICW4
16によつてICWチエーン400は論理経路4
17を通つてSIDE A ICW418に戻る。これ
はLKPKを3にセツトして3番目のICWすなわ
ちSIDE A ICW418をLKP25から読取ら
せることにより達成される。そしてICWチエー
ン400の部分Zが通常の方法で順次に実行され
る。SIDE C ICW411が実行された後、ステ
ツプ443でリターン・コードRCがLKP25にセ
ツトされる。ホスト11の処理機能は第15図に
示すようにCAC61Pによつて与えられる。多
重レコード転送はまた、データ・トラツクに記憶
されたデータの大部分を1つのコマンドによつて
読取るIBM3830及び3880型記憶制御の多重カウ
ント・キー及びデータ読取コマンドによつて達成
することができる。すなわち、トラツク上で最初
に出会つたレコードとインデツクスまでの間にあ
る全レコードが1つのCCWによつて読取られる。
要約すれば、ORIENT ICW404は論理経路
407によつて示すようにレコードRNへの有効
なジヤンプを生ぜしめる。このICWはICWチエ
ーン400内の中心または任意の位置にあるが、
本実施例では常に第6図の参照番号374におけ
るような最初のキヤツシユ・ミスに続く最初のト
ラツク内のレコードにジヤンプする。ICWチエ
ーン400の部分Yの実行開始に続いて、多重ト
ラツク・オペレーシヨンにおけるインデツクス3
70はICWチエーン400における位置413
で自動的なトラツク・スイツチングを生ぜしめ、
これにより次のトラツク364(第6図)を後続
するデータ転送のためにアクセスされる。ICW
チエーン400の部分Yが完了した後、(ホス
ト・プロセツサ中のチヤネル転送に似た)チヤネ
ル転送コマンドによつてコマンド・チエーン最初
の部分が前に説明したように実行される。
以上の説明は初期の回転同期に関係する。これ
はモード2に関して説明したように無条件に必要
なものではない。モード2を遂行するには、参照
番号420によつて集合的に示すようにICWチ
エーン400内のヘツド・シーク・コマンドが位
置づけられる。トラツクT1〜T3で転送中のレ
コード数と、セクシヨンRK1〜RK3で表示さ
れた転送済みのレコード数と、現在アクセス中の
トラツクTKとに関する情報がテーブル84の検
査によつて得れると、モード2を実現するための
マイクロ・プログラムを構築することができる。
これらの関係は純粋に計数的であつて、モード2
は良好なモードではないので、これ以上の説明は
行なわれないが、トラツクのアドレツシング構造
及び第11図の説明から計数部分は容易に理解し
うる。
ORIENT ICW404はロール・モード・アク
セスを待時間遅延アクセスから見分けるICWで
ある。第13図はORIENT ICW404の実行を
示す。ステツプ451で、パターン検出器345
(第5図)によつて与えられた同期入力信号が検
査される。もし、同期入力信号を待つている間
に、起りうる最大待時間遅延に比較して短かい待
時間遅延がDASDの回転期間に等しければ、ステ
ツプ452でインデツクスが検査される。トラツ
ク・スイツチングは禁止されるべきであるから、
インデツクス・ルーチン453(説明せず)が実
行される。そして論理経路454を通つてステツ
プ451に戻ることにより待ループ450が完成さ
れる。ステツプ452でインデツクスが検出中でな
ければ、ステツプ455でタイムアウト(TO)が
検査される。タイムアウトの場合、エラー状態が
表示され、参照番号456によつて示すように
ERPが開始される。さもなければ待ループ45
0が続けられる。線347(第5図)がら同期入
力フイールド完了(FC)信号がステツプ460及び
待ループ461によつて待ちうけられる。FC信
号はレコード識別信号がDASD16〜18から制
御31に読取まれたことを表わす。FC信号の受
領は信号ギヤツプ(図示せず)がレコード・トラ
ツクにおいて走査されており、従つてステツプ
462でプロセツサ31Pがフオーマツト検査をな
しうることを表わす。その結果、エラーが生じた
ならば、経路456でERPが開始される。さも
なければ、ステツプ463で、トラツク上のレコー
ド数(R1〜R8)がテーブル84のLKPKの初
期値を計算するのに使用される。モード1の場
合、この計算はレコード数を2倍にして1を加え
ることから成る。第11図に戻ると、転送される
べきレコードごとに2つのICWが使用されるの
で、ICWを取出すためのレコード数を2倍にす
る必要がある。SIDE ICWはデータ転送ごとに使
用しなくてもよい。その代り、既知のカウント・
キー・データ読取コマンドを2つのコマンドの代
りに使用し、それに従つて計算を調整することが
できる。さらにX部分(第11図)のため、1が
加えられてデータ転送ICWに達するとともに
SIDE ICWを避ける。これは、レコード数は数字
0というよりは数字1で始まり、X部分は計算か
ら除外されているからである。ステツプ463(第1
3図)で、LKP25のアドレスによつてICWが
識別されるのに続いて、ステツプ464でプロセツ
サ31PはDAC56P内でLKPKにおけるICW
−第11図におけるSIDE C ICW411―をア
クセスする。コマンド修飾バイト(第1図)の
EOPは1にセツトされ、処理終了(EOP)を表
わす。ステツプ465で、SSAR79のアドレスが
セツトされる。ステツプ466で、LKPKは1だけ
増分され、データICW412(第11図)を取
り出す。図示のオペレーシヨンでは、データ・ア
クセス・コマンドは読取コマンドであり、また書
込コマンドであることもある。そして、ステツプ
467で、取出されたばかりのICWのバイトを検査
し、チエーン・ビツトが1にセツトされ、かつ
EOPビツトが0にセツトされているかどうかを
調べる。これらの条件が満たされない場合はエラ
ー状態であるから、経路456でERPが開始さ
れる。さもなければ、ステツプ468で次のICW
(データICW412)が取出され、ICWチエーン
400の部分Yが実行される。
第14図はロール・モードのICWチエーン4
00におけるSIDEコマンド及びデータ・アクセ
ス・コマンドの実行を示す簡略化された手順47
0である。手順470において、ブロツク471
でEOPが検査される。もし、EOPが生じるなら
ば、論理経路472を介して第15図の後処理が
開始される。制御ユニツトの時間を節約するため
コマンド実行前にEOPが検査される。すなわち
ロール・モードでは、ORIENT ICWが実行され
る様式に起因してICWの1つは決して実行され
ない点に注目されたい。EOPの検査に続いて
(EOPが生じない場合)、ステツプ473でICWコマ
ンドが実行された後、ステツプ474でコマンド修
飾バイト27(第1図)のチエーン・ビツトが検
査される。もし、チエーン完了が指示されれば、
第15図の後処理に続く。さもなければ、ステツ
プ475でテーブル84のLKPKが1だけ増分され、
これによりステツプ476で示す次のICWのアクセ
スが可能になる。第14図に示すような手順によ
つて同じICWをロール・モード及び非ロール・
モードの双方で実行することが可能になる。すな
わちロール・モード・オペレーシヨンのため重複
コードを与えなくてもよいので、制御記憶が節約
される。
第15図は後処理と呼ばれるCAC60Pの部
分、すなわちDASD16からキヤツシユ40への
データ信号の転送に続いて実行される論理ステツ
プを示す。最初に、ステツプ280でLKP25の内
容が作業レジスタに転送される。これは装置アド
レス、LDCB62へのポインタ、及びフラグ―
DAC56Pによつて生成されることがある―を
含む。ステツプ281で、プロセツサ31Pは
LDCB62をアクセスしてRIP111を0にリセ
ツトすることにより、DASDからの読取が進行中
ではないことを表わす。ステツプ282で本発明の
理解に無関係ないくつかの論理ステツプが実行さ
れる。ステツプ283で、プロセツサ31PはDAC
56Pのリターン・コード(RC)を検査してエ
ラーが無いかどうかを決定する。要求されたすべ
てのデータ・ブロツクがエラーを伴なうことなく
キヤツシユ40へ転送された場合には、リター
ン・コード0が与えられる。このような良好なオ
ペレーシヨンの場合、ステツプ284でプロセツサ
31Pの内部作業レジスタの内容が1にセツトさ
れる。これはカウントを初期設定する。ステツプ
285で、LDCB62がアクセスされ、SEQ 10
0が検査される。もし、転送が順次転送ではな
い、すなわち1データ・ブロツクのみが転送され
る予定であるならば、ステツプ287で、転送中の
ブロツク数が1にセツトされる。さもなければ、
ステツプ286で、装置バツフア77に書込まれた
割込ブロツク数がEK121に転送されBST78
における項目数を指示する。
ステツプ283でエラー状態が指示される場合す
なわちRCが0に等しくない場合、ステツプ290で
1組のエラー分析の論理ステツプが実行される。
もし、前記分析によつて永久エラーが指示されれ
ば、プロセツサ31Pは経路291を通つて、本
発明の要旨に関係ない永久エラー回復/報告手順
に進む。さもなければ、ステツプ292で、プロセ
ツサ31Pはコマンドが多重ブロツク転送コマン
ドであつた、すなわち複数のデータ・ブロツクが
自動的に転送される予定であつたかどうかを決定
する。そうでなければ、エラー状態が単一のブロ
ツクで生じたことにより、従つて永久エラーが処
理されねばならないので、プロセツサ31Pは論
理経路31Pを経由する。もし、複数のデータ・
ブロツクが転送されていたならば、それ以上の動
作が生じることがある。すなわち、1つのブロツ
クにエラーが生じるのに対し、先行するデータ・
ブロツクのすべてがエラーなしに転送された状態
が生じることがある。DAC56PはLKP25を
介してどのブロツクがエラーを生じたかを識別し
ている。CAC61PはDAC56Pの情報から、
どのICWがエラーに関連しているかを識別しう
る。そしてプロセツサ31Pはステツプ293で、
直前のICWを装置バツフア77から取出す。ス
テツプ294で、もしコマンドがDASD16からキ
ヤツシユ40へデータを読取るコマンドであつた
ならば、プロセツサ31Pはステツプ295で、割
当てられたスロツトからエラーのブロツクを差引
くことによりブロツク・カウントを調整する。ス
テツプ294で、エラーに関連するコマンドがデー
タ読取コマンド以外のコマンドの場合、前記エラ
ーはどのデータ転送よりも前に生じたものであ
る。この場合、プロセツサ31Pは永久エラー・
ルーチン(説明せず)に進む。ステツプ286、287
または295からステツプ300に進み、本発明の理解
に無関係な、内部アドレツシングに関するいくつ
かの論理ステツプが実行される。ステツプ301で、
プロセツサ31PはLDCB62のSEQ 100を
アクセスして順次転送が指示されているかどうか
を決定する。順次転送の場合、論理経路302を
通つてステツプ304に進み、そこで転送されたブ
ロツクが最初のブロツクであつたかどうかを決定
する。転送中のブロツク列における、または非順
次モード―この場合1ブロツクのみが転送される
―における最初のブロツクの場合、プロセツサ3
1Pはステツプ305でLDCB62の内容を後続す
る論理ステツプのため作業レジスタ(図示せず)
に転送する。これは論理シリンダ表示CCL(セク
シヨン108)、レコード番号R、論理装置アド
レスD、及び本発明の理解に無関係な他の制御デ
ータの転送を含む。最初のブロツクではないブロ
ツクの場合、プロセツサ31Pはステツプ306で
BST78(第3図)をアクセスし、EK121に
よつて示す該ブロツクのデイレクトリ・インデツ
クスを得る。最初のブロツクまたは非順次データ
の場合LDCBのDIR43のインデツクス、すなわ
ちDIR INDEX114は同じ情報を与える。
DIR43を探索する場合、プロセツサ31Pは
ステツプ307で、装置アドレスに対応するキヤツ
シユ・アドレスを探す。この探索にはDASD16
からキヤツシユ40に転送されたばかりのデー
タ・ブロツクに対応する項目をDIR43が有する
かどうかを決定するハツシユ・オペレーシヨンが
含まれる。同じDASD16へのいくつかの並行ア
クセスを非同期的に行なうことができることを想
起されたい。従つて、DASD16の1つのそして
ただ1つだけのコピーがキヤツシユ40の中にあ
ることが重要である。この要件はデータの保全性
を与える。すなわち、キヤツシユ40の中にコピ
ーが重複してあるならば、1つのコピーが更新さ
れ、別のコピーがエラーになることがある。そし
て、更新されたコピーはDASD16に書込まれ、
その項目は(キヤツシユ40から)消されること
がある。後にホスト11による周辺記憶システム
10へのアクセスによつて、キヤツシユ40に残
留しているエラー・データがチヤネル・アダプタ
32を介してホスト11に送られることがある。
探索に続いて、ステツプ308でエラー表示が検
査される。エラーがない場合ステツプ310で、プ
ロセツサ31Pは重複コピーが見つかつたかどう
かを決定する。重複がない場合、ステツプ311で、
BST78の項目が計算される。すなわちBST7
8のDELEP120の値がアクセスされてデイレ
クトリ・インデツクス122,123(第3図)
を指し、次いでステツプ312でDASD16のアド
レスに相当するDIR43の項目がDIR43から
ADEB76に転送されてプロセツサ31Pによ
つて容易にアクセスされる。ステツプ313で、プ
ロセツサ31PはADEB76にあるM269を
リセツトする。Mはキヤツシユ40中の変更され
たデータを表わす。Mを0にリセツトすることは
キヤツシユ40中のコピーがDASD16上のコピ
ーに同一であることを表わす。ステツプ314で、
再びBST78がアクセスされ、DELEP120を
増分するとともにEK121を減分する。ステツ
プ315で、DIR43の項目がキヤツシユ40に転
送されたばかりのデータに対応して加えられる。
すなわち、DAC56Pによつてデータ・ブロツ
クがキヤツシユ40に転送させられた場合、DIR
43はまだ更新されていなかつた、すなわちキヤ
ツシユ40の中のデータはまだアドレス可能では
ない。ステツプ315で、普通の方法でデイレクト
リ項目を生成することにより、DASD16〜18
からキヤツシユ40へ転送されたばかりのデータ
がアドレス可能になる。
他方、ステツプ310で重複が発見されるならば
キヤツシユ40中のデータは正しいコピーであ
る、すなわちこのデータは変更されていることが
あるものと仮定する。従つて、転送されたばかり
のデータ・ブロツクをアドレス可能にしないで、
次のデータ・ブロツクに進むことが望ましい。ス
テツプ316でBST78がアクセスされ、EK12
1を減分するとともにDELEP120を増分する。
ステツプ317で、転送されたばかりのブロツクは
解放され、単一のデータ・コピーだけをキヤツシ
ユ40の中に残す。ブロツクを解放することはそ
のブロツクをアドレス不能にすることである。
ステツプ320で最後のハウスキーピング論理機
能が開始され、DASD16からキヤツシユ40へ
転送されたデータ・ブロツクのすべてが後処理さ
れたかどうかを決定する。もし、後処理されてい
なければ、ステツプ321で、後処理されるブロツ
ク数が1だけ減分される。そしてプロセツサ31
Pは論理経路302を通つてステツプ304乃至315
を含むループを実行する。
ステツプ320で全ての後処理が済んでいる場合、
ステツプ323でBST78がアクセスされ、EK1
21及びDELEP120が0にリセツトされる。
又、論理経路291から論理経路325を介して
ステツプ323が開始される。ステツプ324で、待行
列レジスタ69がアクセスされ、待行列から待行
列項目が取除かれるので、重複する読取は生じな
い。第8図のステツプ164で読取コマンドが待行
列に加えられたことを想起されたい。そして、ス
テツプ322で、LDCB62がアクセスされCCR9
5、MISS96、RA112等のような制御フラ
グがリセツトされるとともに、ODE90をセツ
トすることによるように装置終了を記入する。ス
テツプ190で、ACE50Pを介してホスト11に
ステータスが送られる。前記説明のすべてにおい
て、DASD16からキヤツシユ40への、または
その逆方向のデータ信号の転送はチヤネル・アダ
プタ32のオペレーシヨンに関しては非同期式に
行なわれることに注目されたい。一定の状況下で
はチヤネル・アダプタ32を介したホスト11か
らの要求は転送に優先することがあり、従つて、
説明したばかりのオペレーシヨンのいくつかは、
より高い優先順位のオペレーシヨンによつてイン
タリーブされることがある。多重処理は当業者に
よく知られているので、前記の詳細についてこれ
以上の説明は行なわない。
[略語] 本明細書で使用される主要な略語を下記に示
す。
ACE:アドレス/コマンド鑑定器 AM:アドレス・マーク BK:ブロツク・カウント BST:バツフア・シーケンス・テーブル CCW:チヤネル・コマンド・ワード CAC:キヤツシユ・アクセス制御 CCB:チヤネル制御ブロツク CCR:チヤネル・コマンド再試行 DAA:装置アダプタ接続機構 DCA:装置制御接続機構 DAC:直接アクセス制御 DIR:デイレクトリ DE:装置終了 EOP:処理終了 EOC:チエーン終了 FC:フイールド完了 ICW:内部制御ワード IR:内部レジスタ LDCB:論理装置制御ブロツク RC:リターン・コード RPS:回転位置信号 SIT:分散インデツクス・テーブル SSAR:システム記憶アドレス・レジスタ SPP:ページング・セツト・パラメータ SIDE:IDイコール探索 TO:タイム・アウト
【図面の簡単な説明】
第1図は、ホストに接続された本発明の周辺デ
ータ記憶システム及び本発明の実施に関連して使
用されるチヤネル・コマンド・ワードと内部コマ
ンド・ワードを示す図、第2図は第1図の周辺シ
ステムを制御するためにプログラム式デイジタ
ル・プロセツサを使用する本発明の1実施例を示
す論理ブロツク図、第3図は第1図及び第2図の
周辺データ記憶システムのオペレーシヨンに関連
して使用された種々のデータ構造を示す図、第4
図はチヤネル・コマンド・ワード及び内部コマン
ド・ワードを使用している第1図及び第2図の周
辺記憶システムのオペレーシヨン・モードを示す
図、第5図はDASDのトラツク・シリンダ及び回
転位置センス機構を示すデータ記憶配列を示す
図、第6図は第5図のDASDを対象として行なわ
れるデータ転送ロール・モード・オペレーシヨン
の種々のモードを示す図、第7図は第1図及び第
2図の周辺データ記憶システムによるページン
グ・パラメータ・セツト・コマンドの実行を示す
流れ図、第8図は第1図及び第2図のデータ記憶
システムにおけるキヤツシユ・ヒツト論理フロー
及び読取コマンド実行のマシン・オペレーシヨン
を示す流れ図、第9図及び第10図は第1図及び
第2図のデータ記憶システムにおけるDASDから
キヤツシユのキヤツシユ記憶順次データの昇格に
関連するマシン・オペレーシヨンを示す流れ図、
第11図は第6図のオペレーシヨンの一部分に影
響を与えるチエーンされたコマンドを示す図、第
12図は第1図及び第2図のシステムにおける
DASDのロール・モード・オペレーシヨンを示す
流れ図、第13図は第12図に関連するロール・
モード探索ICWの実行を示す流れ図、第14図
は第12図のオペレーシヨンの機能の1部分を実
現するために変更された探索及びデータ・アクセ
スICWを用いて行なわれるマシン・オペレーシ
ヨンを示す簡略流れ図、第15図は第1図及び第
2図のデータ記憶システムにおいて大容量の順次
データ・セツトについて行なわれるデー昇格の後
処理を示す論理流れ図である。

Claims (1)

  1. 【特許請求の範囲】 1 ホストに接続可能であつて、少なくとも1つ
    のデイスク記憶装置と、該デイスク記憶装置に記
    憶されているデータのうちから選択されたものを
    記憶するためのキヤツシユと、上記ホストから与
    えられるコマンドに従つて上記デイスク記憶装置
    及び上記キヤツシユに関連した動作を制御するた
    めの制御装置とを有する記憶システムであつて、 上記デイスク装置が、複数の同心円状トラツク
    のそれぞれに沿つて複数のレコードの記録を可能
    ならしめる複数の回転可能な記録表面と、該複数
    の記録表面に1つずつ対応するように設けられて
    いて、同じ半径をもつ複数のトラツクによつて構
    成された任意のシリンダに対して位置決めされる
    ように一団となつて移動可能な複数の変換ヘツド
    と、該変換ヘツドに対する上記レコードの回転位
    置を示すための回転位置指示手段とを有し、 上記制御装置が、上記ホストと上記キヤツシユ
    との間のデータ転送を制御するための第1の手段
    と、上記キヤツシユと上記デイスク記憶装置との
    間のデータ転送を制御するための第2の手段と、
    上記ホストからのコマンドを解読するための第3
    の手段とを有し、 上記第3の手段が、上記デイスク記憶装置にお
    ける選択されたシリンダに属する一連のレコード
    を上記ホストへ転送することを要求する所定のコ
    マンドに応じて、要求されたレコードが上記キヤ
    ツシユに記憶されているか否かを調べて、上記レ
    コードが上記キヤツシユに記憶されているときに
    は、上記第1の手段を働かせ、上記レコードが上
    記キヤツシユに記憶されていないときには、上記
    第2の手段を働かせると共に、コマンド再試行が
    必要なことを上記ホストに通知する機能を有し、 上記第2の手段が、(イ)上記所定のコマンドに基
    づいて、上記変換ヘツドを上記選択されたシリン
    ダに位置決めするための位置決め用内部制御ワー
    ドと、該シリンダに属する1つ以上のトラツクに
    おいて連続する所定数のレコードをそれぞれアク
    セスするための制御情報を含んでいて、トラツク
    順で且つレコード順に従つて配列された複数の内
    部制御ワードから成る内部制御ワード・チエーン
    とを設定する手段と、(ロ)上記回転位置指示手段に
    接続されていて、上記位置決め用内部制御ワード
    による上記選択されたシリンダに対する上記変換
    ヘツドの位置決めの完了後、最初に完全にアクセ
    スすることのできるレコードがどれかを判断し、
    そのレコードに対応する内部制御ワードを最初に
    実行すべき開始ワードとして選択し、該開始ワー
    ドから始まつて、上記内部制御ワード・チエーン
    の末尾まで、そして上記内部制御ワード・チエー
    ンの先頭から上記開始ワードの前の内部制御ワー
    ドまで、個々の内部制御ワードを順次実行する手
    段とを有する ことを特徴とする記憶システム。
JP58123540A 1982-10-08 1983-07-08 記憶システム Granted JPS5966755A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/433,599 US4583166A (en) 1982-10-08 1982-10-08 Roll mode for cached data storage
US433599 1982-10-08

Publications (2)

Publication Number Publication Date
JPS5966755A JPS5966755A (ja) 1984-04-16
JPH0532764B2 true JPH0532764B2 (ja) 1993-05-17

Family

ID=23720761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58123540A Granted JPS5966755A (ja) 1982-10-08 1983-07-08 記憶システム

Country Status (6)

Country Link
US (1) US4583166A (ja)
EP (1) EP0106212B1 (ja)
JP (1) JPS5966755A (ja)
CA (1) CA1197021A (ja)
DE (1) DE3381419D1 (ja)
HK (1) HK138594A (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4780808A (en) * 1981-11-27 1988-10-25 Storage Technology Corporation Control of cache buffer for memory subsystem
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
US5038281A (en) * 1986-09-19 1991-08-06 International Business Machines Corporation Acceleration of system interrupts between operating systems in guest-host relationship
US4814903A (en) * 1987-06-29 1989-03-21 International Business Machines Corporation Alternate storage areas in magnetooptical media
DE3855200T2 (de) * 1987-09-30 1997-01-09 Unisys Corp Cache/plattenspeichersystem mit auf plattenzugriffszeit basierender befehlsauswahl
GB8816413D0 (en) * 1988-07-09 1988-08-17 Int Computers Ltd Data processing system
US5341479A (en) * 1989-01-31 1994-08-23 Storage Technology Corporation Address mark triggered read/write head buffer
US5140683A (en) * 1989-03-01 1992-08-18 International Business Machines Corporation Method for dispatching work requests in a data storage hierarchy
US5255371A (en) * 1990-04-02 1993-10-19 Unisys Corporation Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands
US5450564A (en) * 1990-05-04 1995-09-12 Unisys Corporation Method and apparatus for cache memory access with separate fetch and store queues
JPH0776950B2 (ja) * 1990-06-22 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及び装置
US5235690A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Method for operating a cached peripheral data storage subsystem including a step of subsetting the data transfer into subsets of data records
US5146576A (en) * 1990-08-31 1992-09-08 International Business Machines Corporation Managing high speed slow access channel to slow speed cyclic system data transfer
US5235692A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Disk rotational position controls for channel operations in a cached peripheral subsystem
US5594885A (en) * 1991-03-05 1997-01-14 Zitel Corporation Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry
US5590300A (en) * 1991-03-05 1996-12-31 Zitel Corporation Cache memory utilizing address translation table
US5317713A (en) * 1991-09-19 1994-05-31 Quantum Corporation Micro-winchester disk drive having on-board segmented cache memory
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5893918A (en) * 1992-05-18 1999-04-13 International Business Machines Corporation System and method for rotational position sensing miss avoidance in direct access storage devices
US5555390A (en) * 1992-10-19 1996-09-10 International Business Machines Corporation Data storage method and subsystem including a device controller for respecifying an amended start address
US5794056A (en) * 1993-10-04 1998-08-11 International Business Machines Corporation System for automatic buffering of commands for DASD units
US5729718A (en) * 1993-11-10 1998-03-17 Quantum Corporation System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
US5826109A (en) * 1994-01-04 1998-10-20 Intel Corporation Method and apparatus for performing multiple load operations to the same memory location in a computer system
US5548795A (en) * 1994-03-28 1996-08-20 Quantum Corporation Method for determining command execution dependencies within command queue reordering process
US5603063A (en) * 1994-06-27 1997-02-11 Quantum Corporation Disk drive command queuing method using two memory devices for storing two types of commands separately first before queuing commands in the second memory device
US5664143A (en) * 1994-11-23 1997-09-02 International Business Machines Corporation Method and apparatus for sorting disk access commands in a rotational position queue according to time differences between the commands
US5649153A (en) * 1995-06-19 1997-07-15 International Business Machines Corporation Aggressive adaption algorithm for selective record caching
JPH09190465A (ja) * 1996-01-11 1997-07-22 Yamaha Corp 分類格納された情報の参照方法
US5850567A (en) * 1996-03-15 1998-12-15 Adaptec, Inc. Method for specifying concurrent execution of a string of I/O command blocks in a chain structure
US5822614A (en) * 1996-05-31 1998-10-13 Unisys Corporation Self-identifying peripheral device
US5889996A (en) * 1996-12-16 1999-03-30 Novell Inc. Accelerator for interpretive environments
US5983310A (en) 1997-02-13 1999-11-09 Novell, Inc. Pin management of accelerator for interpretive environments
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6578193B1 (en) 1998-03-24 2003-06-10 Novell, Inc. Endian-neutral loader for interpretive environment
US6141732A (en) * 1998-03-24 2000-10-31 Novell, Inc. Burst-loading of instructions into processor cache by execution of linked jump instructions embedded in cache line size blocks
US6356996B1 (en) 1998-03-24 2002-03-12 Novell, Inc. Cache fencing for interpretive environments
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
US6209058B1 (en) * 1999-01-27 2001-03-27 Quantum Corp. Cache management for data transfer control from target disk areas
JP3712567B2 (ja) * 1999-07-23 2005-11-02 富士通株式会社 記憶装置
US6484220B1 (en) * 1999-08-26 2002-11-19 International Business Machines Corporation Transfer of data between processors in a multi-processor system
US6851011B2 (en) 2001-08-09 2005-02-01 Stmicroelectronics, Inc. Reordering hardware for mass storage command queue
US7043567B2 (en) * 2002-07-22 2006-05-09 Seagate Technology Llc Method and apparatus for determining the order of execution of queued commands in a data storage system
US7225293B2 (en) * 2003-06-16 2007-05-29 Hitachi Global Storage Technologies Netherlands B.V. Method, system, and program for executing input/output requests
CN110879687B (zh) * 2019-10-18 2021-03-16 蚂蚁区块链科技(上海)有限公司 一种基于磁盘存储的数据读取方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53129923A (en) * 1977-04-20 1978-11-13 Hitachi Ltd Control system for input/output device
JPS56140435A (en) * 1980-03-24 1981-11-02 Ibm Data transfer control system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
US3588839A (en) * 1969-01-15 1971-06-28 Ibm Hierarchical memory updating system
US4262332A (en) * 1978-12-28 1981-04-14 International Business Machines Corporation Command pair to improve performance and device independence
US4198699A (en) * 1979-03-01 1980-04-15 Kearney & Trecker Corporation Mass memory access method and apparatus
US4453209A (en) * 1980-03-24 1984-06-05 International Business Machines Corporation System for optimizing performance of paging store
US4430701A (en) * 1981-08-03 1984-02-07 International Business Machines Corporation Method and apparatus for a hierarchical paging storage system
US4403288A (en) * 1981-09-28 1983-09-06 International Business Machines Corporation Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53129923A (en) * 1977-04-20 1978-11-13 Hitachi Ltd Control system for input/output device
JPS56140435A (en) * 1980-03-24 1981-11-02 Ibm Data transfer control system

Also Published As

Publication number Publication date
HK138594A (en) 1994-12-16
EP0106212A2 (en) 1984-04-25
EP0106212B1 (en) 1990-04-04
DE3381419D1 (de) 1990-05-10
JPS5966755A (ja) 1984-04-16
US4583166A (en) 1986-04-15
CA1197021A (en) 1985-11-19
EP0106212A3 (en) 1987-03-18

Similar Documents

Publication Publication Date Title
JPH0532764B2 (ja)
EP0072108B1 (en) A multiple operating mode storage subsystem
US4430701A (en) Method and apparatus for a hierarchical paging storage system
EP0117408B1 (en) Method and mechanism for load balancing in a multiunit system
US4875155A (en) Peripheral subsystem having read/write cache with record access
JPH0727495B2 (ja) データ転送方法
US4636946A (en) Method and apparatus for grouping asynchronous recording operations
US6463505B2 (en) Disk array device with selectable method for generating redundant data
US6148367A (en) Controller limiting modification of cache based upon amount of dirty lines in the cache
JPH0458051B2 (ja)
JPS6149709B2 (ja)
JPS6238731B2 (ja)
JPS6367686B2 (ja)
US5958078A (en) Storage unit and storage unit subsystem
JPH07152491A (ja) 仮想ディスクシステム
JPH05265661A (ja) ディスク処理装置
JPH04243458A (ja) チャネルー直接アクセス記憶装置間非同期通信システム
JPH11191037A (ja) データ記憶装置
JPH07200187A (ja) ディスクアレイ装置
JP2000311112A (ja) 情報システム
WO1988003682A2 (en) I/o system for off-loading operating system functions
JPH0519179B2 (ja)