JPS6052465B2 - 周辺サブシステム - Google Patents

周辺サブシステム

Info

Publication number
JPS6052465B2
JPS6052465B2 JP57001081A JP108182A JPS6052465B2 JP S6052465 B2 JPS6052465 B2 JP S6052465B2 JP 57001081 A JP57001081 A JP 57001081A JP 108182 A JP108182 A JP 108182A JP S6052465 B2 JPS6052465 B2 JP S6052465B2
Authority
JP
Japan
Prior art keywords
buffer
segment
microprocessor
list
lru
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP57001081A
Other languages
English (en)
Other versions
JPS57152028A (en
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 JPS57152028A publication Critical patent/JPS57152028A/ja
Publication of JPS6052465B2 publication Critical patent/JPS6052465B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • 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
    • 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

Description

【発明の詳細な説明】 本発明は周辺サブシステムの動作及び構成に関し更に
具体的には、複数の情報担持信号処理装置を有し、この
ような処理装置が接続された上位システム又は他の処理
装置に関して非同期的に処理装置とバッファとの間の動
作をスケジュールするため、「管理された」バッファを
共用する周辺サブシステムに関する。
本発明は特に磁気テープ・レコーダを使用する記憶サブ
システムに適用できる。 上位システム(これは1つ又
はそれ以上の上位コンピユータを含んでよい)へ付加さ
れた周辺記憶サブシステムは、複数の入出力チヤネルを
介して上位システムと通信する。
そのような入出力チヤネルの例は、IBM社の出版物「
IBMシステム/36へシステム/37皓1御ユニツト
に対する入出力インターフエイス・チヤネル、原機器製
造者の情報」(IBMSystem/360Syste
m/3701/0InterfaceChanne1t
0C0ntr01Unjt10rigina1Equi
pmentManufacturers′IrlfOr
matiOn.sGA22一6974−4)に記載され
ている。このインターフエースを使用する入出力動作は
、チヤネル指令の連鎖を使用することができ、このチヤ
ネル指令は周辺サブシステムと上位システムとの間で連
続的な相互作用を惹起する。このような入出力チヤネル
を使用する記憶サブシステムにおいて、通常、一連の指
令は「モード設定」チヤネル指令を含み、この指令は周
辺サブシステムへ所与の指令の連鎖内で実行されるべき
動作の性質を知らせる。例えばテープ●サブシステムに
おいて、モード設定指令は、読取り又は書込みモード、
テープの記録密度、又は特定の入出力動作のシーケンス
を実行するのに望まれる他の情報を指定する。同じ指令
の連鎖は、書込指令又は読取指令のような一連の信号転
送指令を含む。このような指令は、上位システムからテ
ープ・レコーダへ(又はその逆方−向へ)の信号転送を
生じる。データ処理技術で周知のように、連鎖の中へ他
の指令をインタリーフすることができる。多くのテープ
●サブシステムは、テープ●レコーダと入出力チヤネル
との間で信号バツフアリン.グ機能を実行する。
例えば米国特許第2960683号において、真空カラ
ム・テープ駆動装置と上位コンピユータとの間に、信号
プロツクを記憶するためのバツフアが設けられる。この
バツフアは、テープ駆動装置に関する動作のために使用
される。!その後、テープ●サブシステムの或るものは
、小さいバツフア(即ち従来までの4096/<イト●
バツフアの代りに32/<イト●バツフア)を採用した
。多くの場合、バツフアは複数のテープ駆動装置のため
に使用され、上位システムとテープ・サブシ・ステムと
の間の信号転送は、1時に1個の装置へ限定された。即
ち、全ての動作はプロツク転送レベルで同期していた。
これが可能であつたのは、テープ・レコーダが真空カラ
ムという機械的バツフアを使用したからである。真空カ
ラムは比較的迅速にテープ記録体の加速及び減速するこ
とができる。残念ながら、真空カラム・バツフア式テー
プ●レコーダは高価であり、比較的大きな空間を必要と
した。
大型データ処理装置が設置される場合、このような要件
はデータ処理装置の拡張に重大な制限を課し、かつ上位
システムと周辺サブシステムとの間に長いケーブルを必
要とする。長いケ一暑ブルはコストを増大させるのみな
らず、上位システムと周辺サブシステムとの間で信号の
伝播遅延を増大させ、データ速度を制限する。従つて、
真空カラム乃至機械的バツフア式テープ・レコーダを所
謂リール対リール式テープ・レコーダと置換することが
望まれる。残念ながら、大部分のりール対リール式レコ
ーダは遅い加速及び減速特性を有し、このようなレコー
ダを比較的中程度のバツフアを介して上位システムへ直
接に接続すると、不満足なコンピユータ動作を生じる。
従つて、比較的大型のバツフアがリール対リール式テー
プ・レコーダと上位システムとの間に設けられる。その
ような大型バツフアがテープ●レコーダの各々に設けら
れると、周辺記憶サブシステムのコストは大きく増大す
る。かくて、複数のリール対りール式テープ◆レコーダ
と上位システムとの間に「管理された」バツフアを設け
ることが望ましい。「管理された」バツフアは、バツフ
アのサイズが1つの時点で全てのテープ●レコーダのた
めに必要とされるサイズよりも小さいバツフアを意味す
る。その場合、バツフアの1部(セグメント)が各テー
プ・レコーダへ割当てられ、また上位システムによつて
テープ記憶サブシステムへ課されるデータ転送の要件に
従つて、各周辺テープ・レコーダに対するセグメントの
割当てがダイナミツクに決定されたり割当てが解かれた
りする。全サブシステムの効率を最大にするため、テー
プ・レコーダ(又は他の信号処理装置)と管理されたバ
ツフアとの間の信号転送は、バツフアと上位システムと
の転送に対して独立していなければならない。
それらの動作をインタリーフ又は重複させることによつ
て、最大効率が達成される。信号処理装置から「管理さ
れた」バツフアへのデータ信号の転送はプロモーシヨン
(PrOmOtiOn)と呼ばれ、他方、バツフアから
信号処理装置への信号転送はデモーシヨン(DemOt
iOn)と呼ばれる。このような転送のスケジユールは
、上位システムに対する転送透過性を最大にするように
なされるべきであり、また最小コストで達成されねばな
らない。従来までの装置において、バツフアが周辺サブ
システムに設けられようと、メイン●メモリに設けられ
ようと(キヤツシユとして)、データ信号の速度変化、
及び信号処理分離機能を与えるため、定型的なバツフア
動作が実行された。
即ちプロセツサとメイン●メモリとの間の転送をバツフ
アリングするため、メイン・メモリへ取付けられたバツ
フアは、一般的にページング手法を使用する。その場合
、プロセツサからメイン・メモリへの最後のアクセス・
リクエストは、メイン●メモリ又はバツキング・ストア
からバツフアへ、データのプロモーシヨンを生じる。各
リクエストのために関連したデータのプリフエツチが生
じてよい。このプリフエツチ転送及びプロセツサへの転
送の或るものは同時的であつてもよく、また有効な同時
性を達成するためにインタリーフされてよい。このよう
な装置の例は米国特許第3670309号及び第367
0307号に開示されている。バツフアとバツキング●
ストアとの間のデータのプロモーシヨン及びデモーシヨ
ンの外に、置換アルゴリズムの問題がある。これは、デ
ータがキヤツシユ又はバツフア●ストアへ挿入される時
、スペースが利用可能でなければならないことを意味す
る。既にバツフアへ記憶されてデータは、新しくリクエ
ストされたデータによつて置換されねばならない。これ
は、旧いデータがバツフアから消去されねばならないこ
とを意味し、また旧いデータがバツキング●ストアヘデ
モーシヨンされねばならないかも知れない。かくて、バ
ツフアは常にデータで充たされている。置換アルゴリズ
ムは、通常、最旧時使用(LRU)アルゴリズムを使用
する。その場合、置換されるデータは、バツフア中で、
プロセツサによつて最後のアクセスがなされた後、最も
長い時間が経過したデータである。上記の手法のいずれ
も、複数の周辺信号処理装置と上位システムとの間で、
「管理された」バツフアを介してなされるデータ信号の
転送に関し、満足すべき解決法を与えない。
従つて、データ処理技術分野において、上位システムと
共に使用されてきた機械的バツフア真空カラム式テープ
駆動装置をリール対リール式テープ駆動装置と置換する
に当り、装置動作及びバツフア管理の低コストであつて
有効なスケジユーリングが必要となる。本発明の要約本
発明の目的は、バツフアと複数のバツキング記憶装置と
の間で信号のプロモーシヨン及びデモーシヨンを制御し
、かつバツフア内容の置換制御を達成する単一のメカニ
ズムを提供することである。
本発明の他の目的は、バツフアと複数の信号処理装置と
の間で実行される非同期的信号転送を改善し、かつバツ
フアと他のユニツトとの間の接続を改善することである
本発明の特徴は、「管理された」バツフアに対して信号
処理装置の動作をスケジユールすることにある。
このスケジユールは、バツフアに対する置換手順の1部
と組合せられて、バツフアから他のユニツト(プロセツ
サなど)へなされる信号転送の時間的順序によつて決定
される。複数の信号処理装置のそれぞれへ割当てられた
バツフアに対するアクセスを時間的にリストしたものは
、信号処理装置の動作及びバツフアにおけるデータ置換
の双方を制御する。
そのような時間的リストは、最近時使用(r!4RU)
部分と呼はれるリストの最上部から最旧時使用(LRU
)部分と呼ばれる最下部(経過時間の最も長いバツフア
”部分)まで延長されている。そのような時間リストは
変則的なものであつてもよい。即ち、バツフアの割当て
られていない部分(如何なる装置に対しても割当てられ
ていない部分)が常に時間リストのLRU端に現われて
もよい。そのような部分.は必ずしも外部アクセスの時
間順になつていなくてもよい。時間リストのMRU端部
分はバツフアに対する外部アクセスと緊密に結合され、
MRU端部分の真の時間的順序が保証される。本発明は
、複数の信号処理装置の全てが、「管l理された]バツ
フア・メモリへ接続された複数ユニツト・システムを想
定する。
「管理された」バツフア・メモリは、信号を転送するた
め上位システムのような外部装置へ接続される。外部装
置は、信号転送のリクエストをバツフア●メモリへ与え
る。リクエストが信号処理装置へ印加された時間は、バ
ツフアを可変数のセグメントへ区画し、各セグメントを
周辺装置へ割当てた場合のバツフア・セグメントと関連
付けることができる。時間リスト中に存在する全てのバ
ツフア・セグメントは、そのような割当て及び装置から
の割当解放に従う。装置からの割当解放はセグメントを
LRUセグメントとする。信号処理装置と「管理された
」バツフアとの間の信号転送は、r!4RU部分からL
RU部分へのリストの順序に従つてなされる。リストの
MRU部分の最上部にある割当てられたバツフア●セグ
メントは、装置からバツフアへの、またバツフアから装
置への信号転送のために最初の候補セグメントとなる。
もし関連した装置が使用中であるが、バツフアが満杯又
は空の状態であつて装置の活動が不可能であれば、MR
U部分の次のバンフア●セグメントに関連した装置が、
信号転送の可能性を検査される。この手順は、LRU部
分が信号転送のために使用可能かどうかを検査されるま
で繰返される。割当てられたバツフア●セグメント及び
割当てられないバツフア●セグメントは、リスト中でイ
ンタリーフされることができ、これはバツフア・メモリ
に関する装置動作のスケジユーリングを妨害しない。バ
ツフア・セグメントの内容を、信号処理装置又は信号を
発生した上位システムからの新しいデータと置換する目
的で、信号処理装置のためにバツフア中のスペースを割
当てることは、時間リストのLRU端部からMRU端部
に向つてなされる。従つて、単一のメカニズムが、バツ
フアの置換及び一スペース管理をスケジユールするのみ
ならず装置動作をスケジユールして、バツフアと上位シ
ステムとの間で生じる信号の外部転送に関しバツフア信
号記憶状況が最適になるように保証する。バツフア式テ
ープ●サブシステムのバツフア.は、バツフア・セグメ
ントの数よりも多いテープ●レコーダへ、セグメントを
ダイナミツクに割当てることができる部分を有する。テ
ープ・レコーダとの間で生じるデータ信号のプロモーシ
ヨン及びデモーシヨンは、MRU−LRUバツフア●セ
ーグメントわれる。リストは、上位システムがバツフア
●セグメントヘアクセスした順序及び装置がもはやバツ
フア・スペースを必要としなくなつたため、バツフア・
セグメントが解放された順序になつている。バツフア・
スペースを除去する必要があるかどうかは、バツフア式
テープ・サブシステムへの上位サブシステムの指令に基
づいている。本発明の実施例において、マイクロプロセ
ツサは単一のリストに基いてバツフアから装置への信号
転送をスケジユールする。
リストの最上部分は最近時にアクセスされたバツフア・
セグメントである。このセグメントは、上位システムと
バツフ・ア・メモリとの間で実行される最近時転送活動
に対応するデータ・プロモーシヨン又はデータ・デモー
シヨンに使用される。バツフア・セグメントは、データ
転送(即ち、テープ・レコーダからの読取り又はそこへ
の書込み)に従つて殆んど満杯にされるか又は空にされ
ることが望ましい。本発明に従つて、上位システムと複
数の信号処理装置との間におけるデータ転送のスケジユ
ーリングは、単一の「管理された」バツフア及び単一の
制御リストによつて改善される。実施例の説明 各図面を参照するに当つて、同一の数字は同一の部分及
び構成要素を示す。
第1図において、磁気テープ・レコーダ記憶サブシステ
ムである周辺サブシステム10は、制御ユニツト11を
介して上位システム12へ接続される。上位システム1
2は複数のホスト(即ち中央処理ユニツト)を含む。制
御ユニツト11は、複数の装置13(ここではリール対
リール式磁気テープ・レコーダ)と上位システム12と
の間て入出力チヤネル14を介してデータを転送する。
制御ユニツト11に含まれる単一の「管理された」バツ
フア15は、リール対リール装置の遅い加速/減速特性
を上位システム12からマスクする。本発明に作つて制
御ユニツト11のために設けられるコントロール33は
上位システム12とバツフア15との間、及びバツフア
15と装置13との間でデータ転送の高度のインタリー
フを達成する。上位システム12によつて要求されたサ
ブシステム10との間のデータ転送は、バツフア15と
の間で生じ、その間、バツフア15と装置13との間の
対応する信号転送は、上位システム12とバツフア15
との間の信号転送と非同期的であり、実質的に独立して
いる。一般的に、サブシステム10は上位システム12
によつて指令された(即ち、スケジユ一ルされた)装置
13の動作を利用する。即ち、上位システム12と装置
13との間に信号転送は、バツフア15のバツフア●セ
グメントを介して同期化することができる。本発明を実
施するに当つては、サブシステム10へのアクセスを改
善し、バツフア15の管理をバツフア15と装置13と
の間で実行されるデータのプロモーシヨン及びデモーシ
ヨンと組合せて、通常のリール対リール式テープ・レコ
ーダでは不可能な高能率の記憶サブシステムを実現する
ことが望ましい。バツフア15と装置13との間の制御
ユニツト11によつてスケジユールされた動作は、非同
期動作と呼ばれ、上位システム12によつてはスケジユ
ールされない。周辺サブシステム10の全ての動作は、
上位システム12から入出力チヤネル14を介して受取
られた指令及び他の制御データに基づいて実行される。
そのような指令はチヤネル・アダプタ80を介して転送
され、次いでケーブル50を介して解読器20へ与えら
れる。解読器20は指令信号に応答し、データ処理技術
分野て実施されるように、サブシステム10内で種々の
動作を開始する。本発明の最良実施形態では、上位シス
テム12に対するサブシステム10の応答を迅速にする
ため、全ての動作は持ち行列にされる。上位システム1
2に対する制御ユニツト11の応答を早めるため、制御
ユニツト・テーブルCUTl3Oは1対のFIFO(先
入れ先出し)持ち行列を含む。FIFO持ち行列21は
チヤネル指令持ち行列であり、これは制御ユニツト11
から装置13のアドレスされた1つへ転送される制御情
報に基づいてスケジユーリングを行う。同様に、持ち行
列22は装置13から制御ユニツト11への感知情報の
転送(後に上位システム12へ転送される)をスケジユ
ールする。例えば、周知の感知指令が持ち行列22の中
に入れられる。装置13の活動を生じるデータ転送動作
は、持ち行列23に入れられる。持ち行列23は装置動
作テーブルDOTl36(第4図)内に設けられた1群
のレジスタを含む。全ての装置動作は、上位システム1
2によつて指令されようと、制御ユニツト11によつて
開始されようと、本発明に従つて持ち行列23を介して
スケジユールされる。更に解読器20は、読取り又は書
込み動作を指示しかつゲート26又は28を能動化する
制御信号を線24を介して与える。
バツフア15は、装置13へ割当てられたバツフア15
中のセグメントの各々について状況情報を線25に与え
る。バツフア状況情報は、バツフア記録テーブルBRT
l4l(第4図)に含まれる。読取動作において、もし
完全なレコードがバツフア15のセグメント中にあれば
、ゲート26は線24上の信号を転送回路27へ通す。
転送回路27は、アドレスされたバツフア●セグメント
(そのバツフア●セグメントが割当てられた装置をアド
レスすることによつてアドレスされる)からの信号を、
チヤネル・アダプタ80及び入出力チヤネル14を介し
て上位システム12へ転送する。他方、もし装置活動が
必要となるようなバツフア状況であれば、ゲート28が
能動化され、解読器20からのデータ転送リクエストを
持ち行列23に置く。持ち行列23は、ケーブル50を
介して上位システム12から与えられた指令と共に装置
アドレスを含む。これについては、以下の説明で更に明
らかにされる。ここで本明細書で使用する略語の意味を
明らかにしておく(特に第4図及び第10図参照)。
ABS・・・・・・バツフア●セグメント割当モジユー
ル。ASE・・・・・・単一セグメント割当モジユール
ASP・・・・・・複数セグメント割当モジユール。C
UCB・・・・・・制御ユニツト●チヤネル●バツフア
●プログラム。CUCE・・・・・・制御ユニツト指令
実行プログラム。
CUCS・・・・・・制御ユニツト指令サポート・プロ
グラム。DBS・・・・・・バツフア●セグメント割当
解放モジユール。
DEVDES・・・・装置選択解放モジユール。
DEVOP・・・・装置動作制御モジユール。化・・・
・・・負荷バランス●モジユール。0VRN・・・・・
・オーバラン(バツフア)・モジユール。
PPAT・・・・・・係属割当配置テーブル。
RBA・・・・・・バツフア割当要求モジユール。RC
・・・・・・記録完了リスト。SDO・・・・・・装置
動作スケジユール●モジユール。
SRC・・・・・・セツト●レコード完了モジール。U
PLRU・・・・・・LRU端更新モジユール。UPM
RU・・・・・・MRU端更新モジユール。時間リスト
の更新を含むバツフア15の管理はコントロール33の
1部である制御ユニツト・バツフア管理プログラムCU
BMl5O(第4図)を介して行われる。CUBMl5
Oは、上位システム12から受取られた指令及びサブシ
ステム10の動作状況に応答して、装置13に関してバ
ッフア15のセグメントの割当て及びその割当解放を管
理する。更にそれは、転送回路27を介して実行される
バツフア15と入出力チヤネル14との間のチヤネル転
送を監視する。転送回路27は、線41を介してCUB
Ml5Oへ信号を与える。この信号は、バツフア15の
所与のセグメントヘアクセスすることによつて生じたチ
ヤネル転送を示す。そのバツフア●セグメントはバツフ
ア15の最近時使用セグメントとなり、かつそれは装置
13へ割当てられるので、上位システム12と装置13
との間で信号を転送する場合の最近時使用の装置13を
表示する。時間リストは、バツフア状況テーブルBST
l37(第4図)に設けられた1群のレジスタ内に存在
するMRU−LRUリスト40てある。リスト40は、
前述したチヤネル活動に基づき線34上の信号によつて
更新される。これについては、後にもつと詳細に説明す
る。制御ユニツトによる装置13の管理は、制御ユニツ
ト装置管理プログラムCUDMl58(第4図)によつ
て行われる。
CUDMl58はバツフア15と装置13との間て信号
を転送する転送回路32を作動させる。転送回路32は
CUBMl5Oと通信する。FIFO持ち行列21〜2
3は、装置13を制御する信号をCUDMl58へ与え
る。
CUDMl58は走査線35によつて示されるようにリ
スト40を走査する。即ち、CUDMl58は、装置1
3の動作をスケジユールするため、MRU部分から始ま
つてMRU−1,MRU−2,・・,LRU部分までリ
スト40を走査する。そのような装置動作は、CUDM
l58によつて線29を介して持ち行列23へ与えられ
た装置命令によつてスケジユールされる。上記の構成か
ら、持ち行列23はゲート28から受取られた指令動作
を含むのみならず、CUDMl58から受取られたスケ
ジユールされない非同期的動作をも含むことが分る。更
に、リスト40は、接続線36によつて示されるように
、CUBMl5Oの置換アルゴリズムを駆動する。即ち
、バツフア15内の旧いデータを、上位システム12に
よつてリクエストされるか又は送られた新しいデータと
置換するため、先ずLRUバツフア●セグメント中のデ
ータが置換される。それは、例えばバツフア15から装
置13へ旧いデータをデモーシヨンし、それを消去”し
、装置13に関して訂正動作を行うことによつてなされ
る。次いでそのバツフア・セグメントが上位システム1
2によつて要求された装置へ割当てられ、次に通常のデ
ータ転送動作が続く。以上のことから、リスト40はサ
ブシステム10で階層型同期動作及びバツフア15にお
けるメモリ・スペース管理を可能にすることが分る。階
層型同期動作は、主として転送回路27を介してなされ
るバツフア15に対するチヤネル14のアクセスを監視
することに基づいて実行される。更に、バツフア15内
でセグメントの割当てが解放されると、そのセグメント
はLRUセグメントとなる。例えば、装置13は上位シ
ステム12へ信号を転送しているかも知れない。上位シ
ステム12は、入出力チヤネル14を介して、装置動作
の連鎖が終了しつつあることを知らせる。その連鎖に関
して、全てのバツフア活動が完了すると、バツフア・セ
グメントはもはや装置13へ割当てられている必要はな
い。従つて、そのセグメントは割当てを解放されLRU
セグメントとなる。バツフア15でバツフア●セグメン
トが装置13へ割当てられても、リスト40におけるそ
の位置は変らない。例えば、LRU+2は、上位システ
ム12から新しい指令を受取つた時、割当てを解放され
、次にコントロール33はLRU+2を他の装置(例え
ばD4)へ割当ててよい。そのような割当てはバツフア
・スペースをD4へ割当てることである。
しかし、バツフア活動が生じたわけではないから、リス
ト40中の位置は変らない。ここで注意すべきは、非同
期的装置動作を開始するため、リスト40を走査するC
U)Ml58は、最終的にLRU+2に達することであ
る。
CUDMl58は、LRU+2が空のバツフア・スペー
スを有し、かつ装置D4へ割当てられていることを知ら
せる。次いで読取指令が、D4をして、LRU+2によ
つて指定されたバツフア●セグメントヘデータを記憶せ
しめる。このようにして、上位システム12がアドレス
された装置13(例えばD4)に関して活動を指示する
前でも、バツフア15へデータを記憶することができる
。本発明をこれ以上説明する前に、本発明を組込むのに
望ましい環境を第2図乃至第4図を参照して説明する。
これらの図面は、リール対リール・テープ駆動装置D1
〜Dl2を使用する記憶ユニツト13を示す。好適な構
成としては、2個の制御ユニツト11(CU−0、CU
−1)を含む。この構成は、駆動装置の任意のものが入
出力チヤネル14及び制御ユニツトCU−0又はCU−
1のいずれかを介してホスト12へ接続され得るように
なつている。制御ユニツト11の各々をホスト12へ付
加することは、複数のチヤネル・アダプタ80によつて
なされる。それらの各々は個別的にC,AA−CAHと
名称を付される。チヤネル・アダプタ80の各々は、2
つの制御ユニツト11にあるバツフア15と直接に通信
することができる。CU−0及びCU−1の双方は同様
の構成を有する。従つて同一の番号は2つの制御ユニツ
トの中の同様な部分を表わすが、制御ユニツト間の接続
線は別個の番号を有している。チヤネル・アダプタCA
A−CADはCU−0に置かれ、CAE−CAHはCU
−1に置かれる。それぞれのチヤネル・アダプタはケー
ブル81を介して制御ユニツトのそれぞれのバツフア1
5と通信する。バツフア15から記憶ユニツト13への
通信は、ケーブル82、データ・フロー回路83、ケー
ブル84、複数の装置アダプタ85を介して行なわれる
。装置アダプタは双方の制御ユニツト11においてD,
AA及びDABと個別的に示される。データ・フロー回
路83は既知の記録回路を含む。プログラム・コントロ
ール33は、それぞれの制御ユニツト11の説明した部
分の全てへ電気的に接続され、米国特許第365461
7号に開示されるように、記憶サブシステムのために既
知の態様で動作する。制御ユニツト11と記憶ユニツト
13との間の相互接続は、1次/2次ベースによる。
駆動装置D1〜D7はCU−0に対して1次であり、C
U−1に対して2次である。同様に、駆動装置D8〜D
l5(Dl3〜Dl5は図示せず)はCU−1に対して
1次であり、CU−0に対して2次である。1次及び2
次接続の意味は、制御ユニツトCU−0又はCU−1の
いずれがそれぞれの駆動装置のために状況情報を維持す
るかに関する。
即ち、制御ユニツトCU−0ほD1〜D7のために状況
情報を維持し、CU−1はD8〜Dl5のために1次的
に状況情報を維持する。後に明らかになるように、双方
の制御ユニツトCU−0及びCU−1は駆動装置の全て
のために状況標識を記憶する。1次接続において、CU
−0のアダプタDAAはケーブル90を介して駆動装置
D1〜D7の全てへ接続される。
同様に、D8〜Dl5とCU一1との間の接続は、ケー
ブル93及びアダプタDABを介して行なわれる。CU
−0から駆動装置D8〜Dl5への2次接続は、ケーブ
ル94を介して行なわれ、CU−1はケーブル95を介
して駆動装置D1〜D7へ接続される。装置アダプタ8
5と駆動装置D1〜Dl5との間の接続線はタブ制御線
及びバス・データ転送線を含む。これらの線は、制御ユ
ニツト11をして駆動装置を緊密に制御させる。先行技
術のテープ・サブシステムにおいて、チヤネル・アダプ
タ80はそれぞれの制御ユニツト11にあるデータ●フ
ロー回路83とのみ通信する点で、データ・フロー通路
は完全に多重通路化されていなかつた。
望ましい構成において、チヤネル●アダプタCAA−C
AHはいずれのデータ●フロー回路83を介しても駆動
装置の任意のもの゛と通信することができる。チヤネル
・アダプタCAA−CADからCU−1のバツフア15
への接続はケーブル96を介して行なわれ、チヤネル・
アダプタCAE−CAHはケーブル97を介してCU−
0のバツフア15へ接続される。従つて、データ・フロ
ー回路83及びバツフア15のいずれも任意のチヤネル
●アダプタ80を介して任意のホストと通信することが
できる。もちろん、この構成は制御ユニツト11の間の
緊密な協動を必要とする。ノ 制御ユニツト11におい
て、全体的なサブシステム状況は状況ストア100によ
つて維持される。
CU−0及びCU−1の状況ストア100は、データ処
理動作と独立して、ケーブル101を介して相互に通信
する。即ち、CU−0が例えばある駆動装置を選択する
ことによつて状況を変更すると、CU−0中の状況スト
ア100は直ちにCU一1中の状況ストア100と通信
する。同様に、チヤネル・アダプタ80とバツフア15
との相互通信は、直ちに双方の状況ストア100に表示
される。状況ストア100の各々は複数のレジスタを含
み、これらのレジスタは装置状況、バツフア状況、チヤ
ネル状況などに関連したビツトを含む。それらの状況情
報は、駆動装置の選択状況、そのビジー状況、偶発的接
続、及び入出力チヤネル14と共に記憶サブシステムを
動作させるのに必要な全ての状況を反映している。唯1
個だけの制御ユニツト11が所与の1時点で記憶サブシ
ステム10の構成を変更することができる。
この点に関して、ケーブル102がそれぞれの状況スト
ア100からコントロール33へ延長される。CU−一
0のコントロール33がある駆動装置を選択することに
よつてサブシステム論理構成を変更したいものとする。
コントロール33はその状況ストア100と通信し、サ
ブシステム状況を変更してよいかどうかの許可を求める
。状況ストア100は適当なマスター状態にあり、コン
トロール33による選択を許す。そうでなければ、CU
−0の状況ストア100は、CU−1の状況ストア10
0へ、マスター状態を与えることを要求する。マスター
状態を有するいずれかの制御ユニツト11が、サブシス
テムの論理構成を変更することのできる唯一の制御ユニ
ツトである。マスター状態は、構成変更の必要性に従つ
て、制御ユニツト間をシフトされる。更に、状況ストア
100は、ケーブル103を介して制御ユニツト中のそ
れぞれのチヤネル・アダプタと通信する。そのような通
信は、状況ストアからチヤネル・アダプタへの装置ビジ
ー状況の供与、チヤネル・アダプタから状況ストアへの
選択要求を含む。即ち、もしCABがホスト要求のため
に装置D6を選択することを欲すれば、CABはCU−
0の状況ストア100と通信し、装置6が選択されるべ
きことを要求する。状況ストア100はD6のビジー又
はノットビジー状況をCABへ与える。次にCABは装
置D6に関して直ちにホスト要求に応答する。これによ
つて、ホスト12と制御ユニツト11との間の選択及び
質問時間は減少されることになる。コントロール33は
異なつた構成をとることができる。
第2図に示された記憶サブシステムに関連して使用する
のに適した構成は第3図に示される。プログラム化され
たマイクロプロセツサ110は、コントロール・ストア
111に記憶されたマイクロコード●プログラム(マイ
クロプログラム)に従つて動作する。そのようなマイク
ロプログラムは、マイクロプロセツサ110をして、バ
ツフア15を完全に管理させ、データ・フロー回路83
を監視させ、状況ストア100と通信させ、チヤネル●
アダプタ80及び装置アダプタ85の選択を監視すると
ともに能動化する。更に、2個の制御ユニツト11中の
コントロール33の相互間の通信は、プロセツサ対プロ
セツサ・ベースで行なわれ、それは既知のプロセツサ間
通信方法を使用してケーブル109を介してなされる。
既知の手法を使用して、マイクロプロセツサ110はア
ドレス・バス112を介してコントロール●ストア11
1のマイクロプログラムを選択する。制御データ信号は
コントロール・ストア111から与えられるが、その信
号はマイクロプログラム命令ワードを含み、これはバス
113を介して与えられる。もちろん、マイクロプロセ
ツサ110を動作させるための通常の遊び走査ループが
コントロール●ストア111に存在している。更に、各
コントロール・ストア33はローカル・ストア114を
含む。ローカル・ストア114はマイクロプロセツサ1
10のために作業コントロール・ストアとして働く。ロ
ーカル・ストア114のアドレス可能レジスタはバス1
15によつてアドレスされる。バス116は、マイクロ
プロセツサ110の制御の下で、ローカル・ストア11
4からコントロール・ストア111へ信号を転送する。
即ち、マイクロプロセツサ110からコントロール・ス
トア111に記憶される制御データ信号は、ローカル●
ストア114を介して転送されることが望ましい。コン
トロール33と制御ユニツト11中に示される構成要素
の全てとの間の通信は、外部レジスタ群118を介して
行なわれる。外部レジスタ118は、ローカル・ストア
114からバス117を介して与えられたアドレス信号
によつてアドレスされる。外部レジスタ群118から制
御ユニツト11の各種の構成要素に対する通信は、一対
の単方向性バス119を介して行なわれる。その電気的
接続は通常の方法で実行される。マイクロプロセツサ1
10はバス・アウトBOl2O及びバス・インBIl2
lを含む。
(1)及びBIはローカル●ストア11牡外部レジスタ
118、及び所望される他のユニツトへ接続される。マ
イクロプロセツサ110は複数の割込レベルによつて割
込駆動される。これらの割込みはバス122を介して制
御ユニツト11の各種の構成要素によつて与えられる。
バス122はレベル0〜6を有する割込信号を搬送する
が、その優先順位は記憶サブシステム中で実行されるべ
き機能に従つて予め割当てられている。制御ユニツト1
1の電気信号タイミングはクロツク兼シーケンサ123
によつて遂行される。クロツク兼シーケンサ123はタ
イミング●パルスを与えるのみでなく、マイクロプロセ
ツサ110を順序付け、コントロール33に初期値を与
えて、制御ユニツト11を正しく動作させる。外部レジ
スタ118から出る接線119は、制御ユニツト11の
全ての他の部分へ接続される。第4図は制御テーブル及
びマイクロプログラム群を示すコントロール・ストア1
11のマツプである。
もちろんテーブルは記憶サブシステムの成功した動作の
ために必要な制御情報を表わす信号を含む。まずテーブ
ルについて説明する。CUTl3Oは制御ユニツト11
の全体に関連した情報信号を含む制御ユニツト動作テー
ブルである。
このテーブルは個々の制御ユニツトCU−0及びCU−
1の動作状況に関連しており、駆動装置やチヤネル14
に関連していない。CSTl3lは指令状況テーブルで
ある。このテーブルはアドレスされた駆動装置の為に実
行されつつある現在の指令状況を表わす情報信号を含む
。ホスト12は入出力チヤネル14を介してそれぞれの
制御ユニツト11ヘチヤネル指令を与える。CSTl3
lは任意のチヤネル・アダプタ80によつて受取られた
それら指令の実行に関して現在の状況を反映する。SD
Tl32は選択された駆動装置の状況を表わす情報信号
を含む。このテーブルは、制御ユニツト11をして、任
意の駆動装置を緊密に制御させ且つ動作させる。LDT
l33は論理装置テーブルである。このテーブルは、駆
動装置が論理的にバツフア15へ拡張された時の各駆動
装置の状況、及び各駆動装置の広範な動作状況を表わす
情報信号を含む。上記の広範な動作状況は、例えばSD
Tl32に現われるものよりも性格的により一般的なも
のである。PATl34は係属割当テーブルであつて、
このテーブルは、バツフア・スペースが未だ割当てられ
ていない時、バツフア・スペースを必要とする駆動装置
をそれらの各アドレスによつて待合せさせる情報信号を
有する。このテーブルはFIFO(先入れ先出し)テー
ブルであることが望ましい。HIDl35は、チヤネル
・アダプタ80を介して制御ユニツト11と通信してい
るホスト12のためのホスト識別信号を含む。DOrl
36は装置動作に関連し、スケジユール、アクチブな装
置動作及び完了した装置動作を表わす情報信号を含む。
そのような動作としては、テープの搬送、読取り及び書
込みなどがある。BSTl37はバツフア15の状況に
関連した情報信号を含む。そのような情報信号は、バツ
フアへのデータ転送、そこからのデータ転送、バツフア
●スペースの割当て、その他のバツフア関連機能に関連
している。PDIl38は、バツフア・スペースに関連
した活動が終つた時、駆動装置から割当てを解くことの
できるバツフア15のバツフア・スペースを表わす情報
信号を含む。割当ての解放は、そのような活動がストツ
プするまで生じない。DIAl39は装置情報、駆動装
置及び入出力チヤネル14に関連した制御データを表わ
す情報信号を含む。ケーブル109を介して実行される
コントロール間通信情報もここに記憶される。それらの
情報は、駆動装置動作及びチヤネル動作に基づいて発生
してよい。DSTl4Oは装置状況に関連した情報信号
を記憶する。即ち、駆動装置によつて制御ユニツト11
へ与えられた最後の装置状況がこの領域に記憶される。
BRTl4lはバツフア15の動作に関連している。こ
のテーブルはバツフア15にあるレコードの状況を表わ
す。バツフア中の各レコードはBRTl4lへ入れられ
、バツフア15におけるレコードの記憶状況を示す信号
を含んでよ・い。DIAGl42は制御ユニツト11で
実行される診断機能を制御するため使用されるテーブル
である。
CXTl43は、バツフア15と任意の入出カチヤネル
14との間でチヤネル・アダプタ80を介して実行され
る信号転送に関連した情報信号を含む。そのような情報
は、転送の方向及び転送に関連した駆動装置のアドレス
を含む。SNSl44は、ホスト12へ報告されるべぎ
惑知データを表わす情報信号及び装置アドレスによつて
配列されたいわゆるバツフア・ログを含む。BCTl4
5はバツフア15のダイナミツクな論理アドレス構成に
関連した情報信号を記憶する。そのような構成は、制御
ユニツトへ接続された駆動装置の数、及び制御ユニツト
11が1個であるか2個であるかに従つて変動する。P
GMl46はいわゆる通路群マツプである。これは、サ
ブシステムを1つ又はそれ以上の論理記憶ユニツトへ区
分するため、どの駆動装置が論理的にチヤネル・アダプ
タ80へ接続されるかを示す。PGTl47はそれが論
理区分を表わす識別信号を含み、且つ各論理区分中にチ
ヤネル・アダプタ80のいずれが存在するかを示す点で
、PGMl46を補足するものである。SCTl48は
、遊び走査に関連した信号を含むテーブルである。遊び
走査は、所与の駆動装置に関して、活動が生ずべきかど
うかを決定する。多様な動作がSCTl48を介して導
入され得る。数字149は、ここで特に説明されない他
のテーブルを表わす。
しかし、これらのテーブルは第2図に示された記憶サブ
システムの実施例中で使用されてよいものである。その
様なテーブルは、バツフア15の自由スペースを識別す
る表示、バッフア15のスペースの為の優先順位持ち行
列、バツフア15の為のセグメンテーシヨン表示、追跡
状況、タイム●アウトを制御するタイマ●テーブル、及
び複数装置記憶サブシステムを構築するのに必要又は望
ましい各種の領域を含んでよい。各種のマイクロプログ
ラム又は論理群は、バツフア15の管理に関連したマイ
クロコード●プログラムであるCUBMl5Oを含む。
CUCBl5lは、チヤネル・アダプタ80を介して入
出力チヤネル14とバツフア15との間で実行される信
号転送に関連したマイクロコード●プログラム又は論理
を指定する。CUCEl52は、入出力チヤネル14を
介してホスト12から受取られた指令を実行する準備と
して、前述した各種のテーブルを設定することに関する
。CUCHl53は、装置選択の如きチヤネル制御に関
連している。CUSVl54は、割込みの優先順位を決
定するに当つてスキヤン・ベクトルを使用する場合の割
込監視プカグラムに関連している。CUCSl55は、
CUCEl52によつて設定された指令を実行するマイ
クロコード論理の指令指示セツトである。CUDBl5
6は、駆動装置とバツフア15との間の信号転送を制御
し且つ監視することに関連する。CUDIl57は、動
作をスケジユールする場合などの装置アダプタ85の制
御に関連している。CUERl59はエラーの検出及び
回復に関連している。CUMDl6Oは、制御ユニツト
11によつて実行される診断手順を含む保守機能に関連
している。CUSNl6lは、例えばSNSl44に記
憶された感知データを処理することに関する。数字16
3は、記憶サブシステムのために必要が生じた時、上記
のプログラム群が変更され且つ拡張されてよいことを示
す。次に第5図を参照して、MRU−LRUリスト40
の発生及び利用を説明する。
リスト40を格納する機構は、BSTl37のレジスタ
170である。バツフア15にある各バツフア・セグメ
ントに対して1個のレジスタが割当てられる。各バツフ
ア・セグメントは、それがデマークされておろうと(こ
れはそのバツフア・セグメントの使用を防止する)、そ
れが他のバツフア●セグメントと対になつておろうと、
装置13に対するセグメントの割当てがどうなつておろ
うと、BSTl37において対応するレジスタ170を
有する。対になつたバツフア●セグメントは、その2つ
のセグメントのために、リスト40中で1つのエントリ
イを有する。これは、1つのセグメントがリスト40か
ら削除されることを意味する。レジスタ170は、既知
のプラス●オフセツト●アドレシング法によつて、コン
トロール●ストア111内でアドレス可能である。例え
ば、コントロール33内の1つのレジスタ(図示せず)
が、BSTl37のMRU部分を指定するアドレスを含
み、第2のレジスタ(図示せず)がLRU部分を表わす
レジスタ170を指定するアドレスを含む。他のレジス
タ170は、既知の方法で設計されたアドレス変換テー
ブルを使用して、装置アドレス、又はr!4RUポイン
タ(MRUP)、又はLRUポインタ(LRUP)に基
づいてアドレスされる。レジスタ170の各々は、関連
したバツフア・セグメントが割当てられている装置アド
レスを格納するためのレジスタ・セクシヨン171を有
する。
各セグメントは開始アドレス及び終了アドレスによつて
限定される。これらのアドレスは、例えば40000/
<イト(40KB)レジスタのように、バツフア15の
アドレス・スペースの連続したプロツクを限定する。こ
れらのセグメントを結合して、より大きな信号プロツク
の転送を処理するため、大きなセグメントを形成するこ
とができる。例えば、2つのセグメントを結合して、対
の(即ち、2本足)パーテイーシヨンと呼ばれる80K
Bバツフア●パーテイーシヨンを形成することができる
。また4つのセグメントを結合して、4本足パーテイー
シヨンを形成することができる。約束によつて、論理的
に連続するように結合されたバツフア・セグメントの最
低位のアドレスを有するセグメントは、BSTl37中
のレジスタによつて指定される。そのようなセグメンテ
ーシヨンに関連するレジスタ170のセクシヨンは、説
明を簡単にするため図示されていない。レジスタ170
の各々の第2のセクシヨン172はMRUPを含む。
MRUPはリスト40上で次に「高い」(数値的にMR
U部分に近い)装置(セグメント)を指定するポインタ
である。この装置(セグメント)は次の最近時に使用さ
れた装置(セグメント)である。同様に、第3のセクシ
ヨン173はLRUPを含む。LRUPは次の最旧時に
使用された装置(セグメント)を指定する。従つて、各
レジスタは第1図のリスト40の最上部(MRU端)方
向を指定するMRUポインタを有するとともに、リスト
40の最下部(LRU端)方向を指定するLRUポイン
タを有することになる。MRUPの全ては、それらが配
列されたリストとしてまとめられる時、本発明のメカニ
ズムに基づいて行われる、サブシステム10におけるデ
ータのプロモーシヨン及びデモーシヨンのスケジユール
順序を示す。同様に、LRUPの全ては、バツフア置換
アルゴリズムを導く。レジスタ170の各々にある第4
のセクシヨン174は、データ転送の方向を表示する。
セクシヨン174は、上位システム(ホスト)12から
受取られたモード設定指令を処理する時、CUCEl5
2によつてセツトされる。この部分にRがあれば、それ
は読取モードであり、信号は装置13から上位システム
12へ転送される。この部分にWがあれば、それは書込
モードであり、信号は上位システム12から装置13へ
転送される。Rは2進値「0月こよつて表わされてよく
、wは2進値「1」によつて表わされてよい。数字17
5は、他のエントリイがあつてもよいことを示す。BS
Tl37はバツフア動作を指定するが、更にそれは現実
の装置13とそれに割当てられたバツフア・セグメント
とから構成される論理装置を制御していると見ることが
できる。BSTl37の他の状況情報としては、実行中
のチヤネル指令が存在するかどうか、セグメントが解放
をスケジユールされているかどうか(上位システム12
がアドレスされた装置に関して以後のデータ転送が生じ
ないことを指示し、かつその装置に関してバツフア動作
が完了した時、セグメントは解放される)、診断モード
●ビツト又はエラー回復ビツト、デマーキング●セグメ
ント●イン●エラー●ビツト、基本サイズより大きい単
一の割当可能セグメントを形成した場合のセグメント組
合せ状況、読取り又は書込みの際に不完全レコードのよ
うなデータ転送状況、再接続状況、方向(前方か後方か
)、レコード・カウント、データ信号を受取るために利
用可能なスペース、レジスタ170によつて指定される
セグメントのレコード管理制御に関連した、BRTl4
lに対するアドレス・ポインタなどがある。リスト40
の使用法は、テーブルBST−1からBST−4までを
参照することによつて理解することができる。
テーブル圧J−1は、所与の処理動作における1時点の
リスト40の現況を示す。その場合、装置DOからDA
まではバツフア・セグメントを割当てられ、割当てられ
ていないバツフア・セグメントは存在しない。装置アド
レスDOで指定されたバツフア・セグメントはLRUセ
グメントを意味し、装置アドレスD5で指定されたバツ
フア●セグメントはMRUセグメントを意味する。MR
UP及びLRUPはデータ処理技術分野で広く使用され
る周知のダブル結合リストを構成することが分る。BS
T−1に掲げられたリスト40に影響を及ぼすサブシス
テム状況の2つの変更について説明する。
第1の変更として、装置D2へ割当てられたセグメント
が削除され、第2の変更として装置D8のセグメントが
MRUセグメントとなる。これらの変更は次のテーブル
圧J−2に掲げられている。BST−2を検査すると、
装置アドレスD2がエントリイから削除され、MRUP
及びLRUPも削除されていることが分る。
この状態は削除されたセグメントを表わす。もしセグメ
ントの割当てが解かれたのであれば、装置アドレスのみ
が削除される。MRUP及びLRUPは、依然として次
の…及びLRUセグメントを指定する。BST−2にお
いて、D8のセグメントはMRUセグメントとなる。B
ST−1において、装置D8は論理的に装置DOと装置
D3との間にある。DOは次の最旧時使用セグメントで
あり、D3は次の最近時使用セグメントである。リスト
は装置DOとD3の間で閉じられていなければならない
。これは、装置アドレスDOについてu干がD8からD
3へ変更され、D3についてLRUPがD8からDOへ
変更されることによつて達成される。他のエントリイは
変更されない。MRUセグメントからLRUセグメント
までの順序はMRUP及びLRUPを検査し、これらポ
インタに従つて装置アドレスを分類することによつて決
定される。リスト40に関して説明される次の変更は、
第1ステツプとしてMRUセグメントD8が割当てを解
かれ、新しいセグメントDBがリスト40へ付加される
ことてある。
付加されたセグメントは新しいLRUセグメントとなる
。次のテーブル圧江−3を参照されたい。 旧いL
RUセグメント 新しいMRIJセグメント BST−3を検査すると、装置アドレスDOについて、
そのLRUPが0からD8へ変更されることによつて旧
いLRUセグメントにされたことが分る。
セグメントDBを付加したために、D8セグメントのL
RUPはDBにされ、DBセグメントのMRUPはD8
にされ、そのLRUPはゼロにされる。従つてDBセグ
メントはLRUセグメントになる。MRUP中にゼロを
有するD5セグメントは、新しいMRUセグメントであ
ることを示す。圧J−3を更に変更して、LRUセグメ
ントDBを、次の圧J−4に示すように、新しい…セグ
メントにすることができる。旧いLRUセグメントDB
はそのMRUPをゼロへ変更される。
これはそれがMRUであることを示一す。そのLRUP
は、旧いMRUセグメントD5を指定する。旧いMRU
セグメントD5は、DBを指定するMRUPを有する。
新しいLRUセグメントは「旧いLRU+1」(第1図
参照)のセグメントである。割当てを解かれたD8セグ
メントは、LRUPをゼロへ変更される。上記のテーブ
ルの全ては、バツフア●セグメントを指定するために装
置アドレスを使用する。
なぜならば、一般的に、バツフア●セグメントが装置へ
割当てられ、そのように参照することが便宜だからであ
る。実際の実施態様では、それぞれのバツフア●セグメ
ントは、BST−4の右端(セグメント・アドレス)に
示したようなそれ自体のメモリ・アドレスを有する。こ
れらの相対的アドレス0〜Bは、バツフア・セグメント
に対する装置の割当てに何の関係も有しない。勿論、セ
グメント●メモリ・アドレスは決して変更されない。装
置に対するセグメントの割当ては、リスト40における
そのランクを変更しないことを想起されたい。BST−
1からBST−4までに記載されるように、リスト中の
大部分の変更は、…端又はLRU端でなされる。もしセ
グメントがエラーであると決定されるか(使用不可能)
、又はセグメントが合併すると、そのセグメントはリス
ト40の中間から除くことができる。これについての詳
細な説明は、後に第10図から第13図までを参照して
説明する。次に第6図を参照して、BRTl4lを説明
する。
BRTl4lは複数のレジスタを含む。これらレジスタ
は、リンク・リスト・レジスタ群180,181として
配列される。アドレス群180,181は所定のバツフ
ア・セグメントのために使用される。例えば、もしバツ
フア15に1帽のバツフア●セグメントが存在すれば、
リンク・リスト・レジスタを形成する1圓のレジスタ群
が存在する。所与のバツフア●セグメント内に記憶され
た各信号レコードは、レジスタ群180,181内のレ
ジスタに1つの関連したエントリイを有する。リンク・
リスト・レジスタは全てのエントリイを相互に連結し、
セグメント中の各レコードが受取られた時間の順序で他
の全てのレコードへ連結されるようにし、バツフア●セ
グメントはFIFOバツフアとして動作するようになる
。リンクされていないBRTl4lレジスタ(割当てら
れていないレジスタ)は、使用可能なレジスタ群(プー
ル)を形成し、バツフア●セグメントの任意のものに対
して使用することができる。リンク・リスト・レジスタ
は論理的に関連させられており、コントロール・ストア
111の所与のアドレス領域内に散在させることができ
る。即ち、各リンク・リスト・レジスタは必ずしも同一
のリンク・リスト内の他のレジスタと隣接していない。
従つて、バツフア15中の全てのセグメントのために、
BRTl4lへ入れられるエントリイの最大数は、使用
されていないレジスタ群180,181に依存している
。BRTl4lのレジスタがレコードへ割当てられる前
の所与の時点で、コントロール33のマイクロプロセツ
サ110によつてテストがなされる。このテストは、バ
ツフア・セグメントへ割当てられた装置が利用可能な一
BRTl4lのレジスタ群の半分より多くをそれに割当
てられているかどうかを決定する。もし半分より多くを
割当てられていれば、BRTエントリイはそれ以上その
装置へ割当てられず、これはBRTl4lのエントリイ
記憶能力に制限がある.ため、バツフア・セグメントが
満杯であることを示す。BRTl4lエントリイの連結
リストはBSTl37を介してアドレスされる。即ち、
各BSTl37レジスタはBRTl4lレジスタを指定
するアドレスを有し、BRTl4lレジスタは、BST
l37レジスタに関連したセグメント内の最初の受取ら
れたレコードを含む。レコードがバツフア15から取出
されるにつれて、このポインタは、バツフア●セグメン
ト内のその時点の最初に受取られたレコードに対応する
BRTl4lエントリイをダイナミツクに指定するよう
に調節される。本発明を説明するに当つて、BRTl4
lレジスタのセクシヨンを説明する。最初のセクシヨン
182は、その所与のセグメントに関連した次のBRT
l4lエントリイに対するリンクを含む。即ち、セグメ
ント中の最初のレコードに関連したレジスタは、BST
l37によつて指定される。その最初のレジスタは、セ
クシヨン182にアドレスを有するが、このアドレスは
第2の受取られたレコードに関連した次のレジスタを指
定する。レコードがバツフア・セグメントから除去され
るにつれて、連結リストは既知のデータ処理方法を使用
して更新される。セクシヨン183は関連したバツフア
●セグメント内のアドレスを有するが、このアドレスに
おいて、バツフア●セグメント中に記憶されかつBRT
l4lレジスタによつて指定されたレコードが全体のレ
コードのための開始アドレスを有する。同様に、セクシ
ヨン184は所与のレコードのための終了アドレスを記
憶する。勿論、BRTl4l内の第2のレジスタはセク
シヨン183内のレコード開始アドレスを有する。この
アドレスは、最初のBRTl4lレジスタのセクシヨン
184に記憶された終了アドレスより1だけ大きい。セ
クシヨン185はレコードの完全性を示す表示を含む。
この表示は、完全なレコードが現在関連したバツフア・
セグメントに記憶されているかどうかを表わす。更に、
同一のビツトがBRTl4lレジスタにおいて後続した
エントリイの有効性を示す。セクシヨン187は記憶さ
れたレコードの種類を示す。この種類とは、データ、イ
メージ、コード化されていない情報、テープマーク、消
去ギヤツプ情報、密度マーク、又は各種の周辺サブシス
テムの動作と関連して使用されてよい他の制御情報やデ
ータなどである。数字188は、本発明には直接の関連
を有しないが、サブシステムの動作に関連するエントリ
イを、BRTl4lが有することを示す。第7図、第8
図、第9図は本発明て使用される動作の概略的論理を示
す。
マイクロプロセツサ110は、ここで説明される機能を
実行するため、コントロール・ストア111に記憶され
たプログラムに応答する。マイクロプロセツサ110は
、第3図の線122で示されるように、複数の割込レベ
ル計画を有する。サブシステム10における割込処理動
作の全てのレベルは、この割込レベル計画に従つて実行
される。割込レベルのいずれもアクチブでない時、マイ
クロプロセツサ110は、後述するような遊び走査状態
に置かれる。このような遊び走査は、低い割込レベルに
おける通常の手法であつて、プログラム化されたコント
ローラをして実行すべき作業を探索させるために使用さ
れる。本発明の実施例において、このような遊び走査は
、タイム・アウト、装置13の動作の完全性、診断サー
ビスのリクエスト、遅延ユニツト・チエツクの付与、制
御ユニツト11の状況の処理、非同期的装置動作のスケ
ジユールなどを検査する。遊び走査におけるステツプが
第7図に示される。これらのステツプはリスト40を検
査する。この検査における最初の動作は、ステツプ19
1で持ち行列23を探索することである。持ち行列23
は、BRTl4lについて説明した連結リストと同じよ
うにして構成することができる。従つて、持ち行列23
のリスト・アドレスを走査することによつて、装置動作
がスケジユールされているかどうかを容易に決定するこ
とができる。探索の結果は、マイクロプロセツサ110
内の作業レジスタ(図示されず)にログされる。次にス
テツプ192で、マイクロプロセツサ110は、持ち行
列23にエントリイが存在するかどうかを検査する。も
しエントリイがなければ、ゼロの結果が表示され、マイ
クロプロセツサ110は通路194を通つてリターン1
93で遊び走査へ戻る。もし持ち行列23内に実行すべ
き作業があれば、非同期的装置動作はリスト40を介し
て開始されない。もし持ち行列23が空であれば、その
時にのみコントロール33は装置動作をスケジユールす
る。次にマイクロプロセツサ110は、テーブルBST
−1に掲げられるようなリスト40の走査へ入る。最初
に走査されるエントリイは、装置D5のために指定され
るMRUセグメントである。従つてマイクロプロセツサ
110はBSTl37からエントリイD5をフエツチし
、装置アドレス、MRUP..LRUPの内容をマイク
ロプロセツサ110内の作業レジスタに入れる。次にフ
エツチされた各エントリイについて、196でLRUP
の値が検査される。
もしLRUPがゼロに等しければ、検査されているセグ
メントはLRUセグメントであり、走査は完了する。従
つて、196の結果が1であれば、マイクロプロセツサ
は193で遊び走査へ戻る。もし走査されたセグメント
がLRUセグメントでなければ、リスト40の走査はス
テツプ197,200,201と続く。それは、走査が
ノ一・ビツト(LRUP=0)で完了するか、又は使用
可能な装置が指定されるまで続く。1つのセグメントの
みがアクチブであれば、…セグメントはLRUセグメン
トでもある。
197の次のステツプは、セグメントの割当状況を検査
することである。
もしセグメントが装置へ割当てられていなければ、装置
活動を始める必要はない。その場合、ステツプ200が
スキツプされ、後述するステツプ201が実行される。
セグメントが割当てられている場合、200で、マイク
ロプロセツサ110は論理装置テーブルLDTl33を
検査する。それは、割当てられたセグメントに関連する
装置が選択された(即ち、データ処理動作を実行してい
る)かどうか、又は再位置付けされつつある(即ち、独
立した動作が装置によつて実行されつつある)かどうか
を決定するためである。これらの条件のいずれも、指定
された装置13が現在使用中であることを示す。従つて
、次のエントリイMRU−1を検査できるように、ステ
ツプ201がとられる。ステツプ201は、マイクロプ
ロセツサ110をして、MRU−1セグメントをフエツ
チさせる。このセaグメントは、BST−1においては
第6番目のエントリイである。次に、ステツプ196,
197,200が反復されるが、それは走査の終りにな
るまで、又は割当てられたセグメントに関連した装置が
使用中でないことを発見されるまで続け門られる。その
場合、202で、マイクロプロセツサ110は、BST
l37のレジスタ部分174を読取ることによつて、装
置が読取モードにあるか書込モードにあるかを決定する
。もし装置が読取モードにあれば、203で示されるよ
うにプリフフエツチ読取りがスケジユールされる(第9
図を参照して説明する。他方、もし装置が書込モードに
あれば、204でテープ書込動作が実行される(第8図
を参照して説明する)。リスト40の完全な走査は、コ
ントロール・スドア111からBST−1に示されるエ
ントリイの各々をフエツチし、フエツチされたエントリ
イをマイクロプロセツサ110内の作業レジスタ(図示
せず)に置くことを含む。
これは通常のデータ処理動作である。エントリイの検査
は、第7図に示された論理の実行を許す。第7図のステ
ツプ203及び204は、それぞれ第8図及び第9図に
示されるルーチンの呼出しを表わす。第8図に示された
論理を実行する場合、マイクロプロセツサ110によつ
て書込決定がなされた。先ず、第7図の探索によつて指
定されたBRTl4lレジスタ(第6図)がフエツチさ
れ、マイクロプロセツサ110の作業レジスタ(図示せ
ず)中に記憶される。BRTl4lレジスタは、アドレ
スされた装置に関連したバツフア・セグメント中に現在
記憶されている最初に受取られたレコードと関連したエ
ントリイを含む。211で、マイクロプロセツサ110
はBRTl4lエントリイのセクシヨン185を検査し
、バツフア・セグメント中で最初に受取られたレコード
が完全なレコードであるかどうかを決定する。
もし完全なレコードでなければ、他の作業を探すため、
プログラム群CUCSl55が実行される。もし他の仕
事が発見されなければ、第7図に示された探索が反復さ
れる。反復はMRU又は最後に検査された装置で始まる
ことができる。再びMRUを検査することが望ましい。
他方、マイクロプロセツサ110は、高い優先順位の作
業を途中で検査することなく、リスト40の走査へ戻る
ことができる。211で、レコードが完全である場合、
212でマイクロプロセツサ110は書込みが禁止され
ているかどうかを検査する。
制御ユニツト11については、書込禁止はCUTl3O
に記録されており、装置については、LDTl33に記
録されている。212で、もし書込禁止が存在すれば、
不完全なレコードが211で発見された場合と同じよう
にして、CUCSl55が実行される。
もし211及び212の条件が共に満足させられると、
213でコントロール・ストア111中のフラグ(図示
せず)が能動状態へセツトされる。これは書込動作がス
ケジユールされるべきであることを示す。この時点で、
持ち行列23は未だ変更されていない。即ち、それは依
然としてオール・ゼロであり、装置の作業は未だスケジ
ユールされていない。215で、マイクロプロセツサ1
10はDOTl36を検査して、アドレスされた装置が
スタートできるかどうかを調べる。
もしイエスであれば、アドレスされた装置が適当な装置
アダプタ85を介してスタートさせられる。次に216
で、バツフア15内のバツフア●セグメントからテープ
・レコーダへ転送されるべきレコードの数が計算される
。マイクロプロセツサ110によるこの計算は、各々の
装置13の動作において、アドレスされた装置13とバ
ツフア15との間で複数レコードの転送を能動化するこ
とによつて、サブシステム10の効率を最大にする。こ
の動作は装置13のスタート・ストツプの数を減少させ
る。複数レコードのそのような転送は「ストリーム・ブ
レーキング」と呼ばれる。計算された最少数のレコード
が所与の「ストリーム」中で転送された時、「ストリー
ム」に関与する装置13へアクセスする入出力指令が上
位システム12から受取られて、転送が停止され、スト
リームが破られる。このようにして、上位システム12
によつて出された入出力指令に対する応答時間の短縮化
が達成される。各バツフア・セグメントのためのLJ)
Tl33セクシヨン402(第16図)(論理装置)は
、レコード・サイズを示す。このレコード・サイズから
、マイクロプロセツサ110は、テープ●レコーダ中の
テープのフオーマツトを予め知つているので、各レコー
ド及びそれらの間に介在するインタプロツク●ギヤツプ
を受取るのに必要なテープの長さを確めることができる
。インタプロツク・ギヤツプは、通常、レコードを識別
するためにテープ上に記録される。この長さの計算は、
装置13の各々のために転送時間を確定するため、リー
ル対リール式テープ駆動装置13の加速/減速特性と組
合せて実行される。準備的なテープ動作では、重複した
動作がとられるので、リール対リール式テープ駆動装置
の加速特性は、同期的動作からマスクされる。いずれに
せよ、レコードの転送時間はレコード・サイズに基づい
て計算される。インタリーフを最大にする望ましい方法
として、バツフア15と装置13との間て行われる信号
転送のバーストのために、その最大時間が各記憶サブシ
ステム10のために設定される。そのような記憶サブシ
ステムの各々は、その適用業務に従つて異なつたタイム
・スライス制限を有することができる。1つのレコード
を転送するのに必要な時間は、整数個のレコードを生じ
させるために必要な最大タイム●スライスへ分割される
この整数は、それぞれの非同期的動作で転送されるべき
レコードの最小数である。いずれにせよ、216でレコ
ード数を計算した後、217でマイクロプロセツサ11
0は装置アドレス、書込指令レコードの数を持ち行列2
3へ転送する。これらは、検査されたばかりのエントリ
イによつて表わされるバツフア・セグメントから装置1
3ヘバツフアされたデータを記録するため、後にCUD
Ml58によつて解釈される。この装置活動を持ち行列
23に登録した後、218でマイクロプロセツサ110
は遊び走査へ戻る。遊び走査の1部として、持ち行列2
3が検査され、記録(書込)動作のために、装置動作が
スケジユールされる。バツフアからテープ駆動装置への
記録動作は周知であるから、これについては詳細に説明
しない。第7図の203でプリフ土ツチ読取りが指示さ
れると、第9図の動作論理がマイクロプロセツサ110
によつて実行される。
この実行は、第7図の203に対応するステツプ220
で始まる。先ず、マイクロプロセツサ110は、制御ユ
ニツト11が、プリフエツチ読取りを禁止されているか
どうかを決定するためCUTl3Oを検査する。もし禁
止されていれば、第8図に関して説明したように、CU
CSl55が実行される。もし禁止されていなければ、
222で、マイクロプロセツサ110はDOTl36の
セクシヨン383(第14図)から、動作方向が前方か
後方かを決定する。読取りはテープ動作がいずれの方向
であつてもよいが、書込みは1つの方向のみ(前方)で
可能であることに注意されたい。次に223で、マイク
ロプロセツサはLDTl33でセクシヨン401(第1
6図)を検査し、プリフエツチ読取りが特定の装置につ
いて禁止されているかどうかを調べる。もし禁止されて
いれば、CUCSl55に入る。もしプリフエツチ読取
りが禁止されていなければ、224で、マイクロプロセ
ツサ110はCXTl43(第17図)を調べ、現在、
バツフア15と上位システム12との間にチヤネル転送
が生じているかどうかを決定する。もしチヤネル転送が
存在すれば、マイクロプロセツサ110は通路225を
とり、読取動作を持ち行列23に登録するステツプ22
6を実行する。換言すれば、バツフア15から上位シス
テム12への信号転送は、装置13中のテープの読取り
によつて、割当てられたバツフア・セグメントがオーバ
ーフローしないような速度で起る。他方、チヤネル転送
が現在ないことがCXTl43によつて示されると、バ
ツフア・セグメントが満杯であるかどうかが227でテ
ストされる。もし満杯でなければ、1データ・プロツク
の読取りが226でスケジユールされる。もし満杯であ
れば、バツフア・セグメントのオーバランを防止するた
め、読取りはスケジユールされない。次に、CUCSl
55を介して、他の作業が探索される。上で説明した論
理の詳細な動作が第10図から第14図までに見出され
る。
書込みの非同期動作において、リール対リール式テープ
駆動装置13のスタート及びストツプ動作を減少させる
ため、最少数のレコードが転送された。読取りにおいて
バツフアが最大限に使用されるように、同一の動作が読
取動作のために実行されることができる。しかし、レコ
ード長は不確定であり、バツフア・サイズは2つの完全
なレコードより少ないものを受取るように調節されるこ
とができるので、プリフエツチ読取りのための単一のレ
コード読取りが、良好な効率で達成されることができる
。小さなレコードについては、1回のテープ動作で複数
のレコードを読取るのがよい。いずれにせよ、読取るべ
きレコードの数の決定は、所望の効率及びノバツフアを
介して処理されつつあるレコード・サイズに対するバツ
フア●セグメントのサイズの比率によつて確められる。
そのような計算は、説明を簡単にするために省略される
。そのような計算はアルゴリズム的な性質を有するので
、本発明と7直接の関連を有しない。第10図は本発明
で使用されるコントロール33の部分を示す。
前述したように、遊び走査231は、上位システムから
割込信号又は指令が与えられたため、マイクロプロセツ
サ110に作業がフ課されていない時、マイクロプロセ
ツサ110に作業を探索させる論理である。電源オン・
りセツト又は最初の電源アツプが起こると、マイクロプ
ロセツサ110は通常の初期手順230をとる。そのよ
うな初期手順は、マイクロプロセツサ110の各部分を
動作的に検査することを含む。そのような初期手順が成
功裏に完了すると、遊び走査231はマイクロプロセツ
サ110によつて連続的に実行される。その実行は、マ
イクロプロセツサ110がサブシステム10の機能を実
行するため最初の割込信号を受取るまで続く。第10図
を説明するに当つては、各種のテーブルにおけるエント
リイがサブシステム10の現在の状況を表わすように、
サブシステム10が動作していたものと仮定する。実行
すべき作業を探索する場合、マイクロプロセツサ110
は第4図に示されるテーブルの或るものを検査する。例
えば、PATl34が検査され、バツフア15内のバツ
フア●セグメントの割当てがなされるべきか否かが決定
される。同様に、割当ての解放がPDTl38で検査さ
れる。各種の順序づけ動作はSCTl48で検査される
が、このような動作には、リスト40の…端を更新する
ことが入る。DOTl36は、持ち行列23によつてス
ケジユールされた装置動作があるかどうかを検査される
。他のテーブルも他の動作のために検査されるが、この
ような動作の実行は本発明と直接の関連を有しないので
、説明を省略する。更に、第10図は選択された論理モ
ジユールを示すが、これらの論理モジユールは、マイク
ロプロセツサ110をして、本発明と直接に関連した機
能を実行せしめる。特に、本発明と直接の関連を有する
CUBMl5O及びCUDMl58に含まれる論理モジ
ユールが示されている。CUBMl5Oの1部である論
理モジユール一UPMRU232は、遊び走査231に
よつて能動化される。
この能動化は、リスト40を更新すべきであるとすると
SCTl48の表示を遊び走査231が感知したことを
応答してなされる。SCTl48は第15図を参照して
説明される。3SCT148は、装置13の各々につい
てビツト位置を有するレジスタを含む。
このビツト位置が2進の1へセツトされると、それは、
装置13へ割当てられたバツフア・セグメントヘチヤネ
ル14のアクセスがなされたことを示す。従つて、テt
−ブルBST−1からBST−4までを参照して説明し
、かつ後に第11図を参照して説明するようにして、M
RUセグメントが更新される。CUBMl5O内の論理
モジユールでありかつ後に第12図を参照して説明され
るUPLRU233は、新しいLRUセグメントを指示
するため、BSTl37と協動する。
第12図の説明は、第5図に示されるBSTl37を参
照して行われる。UPLRU233は、複数の論理通路
を介して選択的に能動化される。先ず、遊び走査231
は、マイクロプロセツサ110をして、割当ての解放が
係属中であるかどうかについてPDTl38を走査せし
める。バツフア・セグメントの割当j解放がなされるべ
きことをPDTl38が表示すると、遊び走査231は
、マイクロプロセツサ110をして、論理モジユールH
PD235を実行するため、論理通路234を通らせる
。遊び走査231の1部として、マイクロプロセ.ツサ
110は、データ通路280を介してDPREP28l
を能動化する。
それはデータ転送のために装置を準備するためである。
DOTl36の持ち行列23はDPREP28lを介し
て走査される。それは装置13によるプリフエツチ読取
りが可能であるかどうかを発見し、又は非同期的な記録
動作を実行するためである。もしデータ転送持ち行列中
の装置が選択されると、次のデータ処理動作のために装
置は準備されない。DPREP28lは、非同期的記録
動作を開始するため、記録論理モジユール(図示せず)
を能動化する。プリフエツチ読取動作については、マイ
クロプロセツサ110はSRAH283へ至る論理通路
282を通る。それは装置13からバツフア15へのプ
リフエツチ読取りをスケジユールするためである。リス
ト40は、プリフエツチ読取動作を実行する装置を求め
て走査され、同時に非同期的記録動作が開始され得るか
どうかを決定する。マイクロプロセツサ110は、SR
AH283から通路284を介してDEVOP27lを
能動化する。SRAH283は、線288で示されるよ
うに冗136と協動し、線287で示されるように1J
)Tl33と協動する。SRAH283は第13図を参
照して詳細に説明される。マイクロプロセツサ110が
、モジユールABS24lを介して割当てを続行すべき
であることを決定すると、それは先ずBSTl37を検
査し(線229によつて示されるように)、割当てられ
たバツフア●セグメントのために、入来データのプロツ
ク・サイズを決定する。
もしプロツク・サイズ(即ち、レコード・サイズ)が1
個のセグメントでデータ処理動作を処理することができ
る程度のものであれば、ASE243が通路242によ
つて能動化される。全てのセグメントが割当てられる場
合、ASE243は、マイクロプロセツサ110をして
、論理通路244を通らしめ、モジユールDBS237
を介して割当ての解放を実行させる。もしマイクロプロ
セツサ110が、ABS24lで、続くデータ処理動作
を処理するため、複数のバツフア・セグメントが必要で
あることを決定すると、マイクロプロセツサ110は論
理通路245を通つてASP246へ行く。ASP24
6は複数のセグメントをデータ処理動作へ割当てる。A
SP246の実行中、それは複数のバツフア●セグメン
トを1つのパーテイーシヨンへ結合しなければならない
かも知れない。従つて、テーブルBST−2で示された
ように、バツフア●セグメントの或るものがリスト40
から削除される。これを実行するために、マイクロプロ
セツサ110は、論理モジユールUPLRU233を能
動化するため、論理通路247を通る。バツフア・セグ
メントの割当て及び割当ての解放は、リスト40と緊密
な活動関係を有することが分る。第2図に示された制御
ユニツト群は、2個の制御ユニツトCU−0及びCU−
1の間でバツフアの負荷をバランスさせることができる
2個の制御ユニツト11の1つは、本発明の範囲外にあ
る装置を使用して、そのバツフア15がオーバロードで
あることを示すかも知れない。
従つて、その状況ストア100は、負荷バランス機能を
要求する通路101を介して、他の制御ユニツトの状況
ストア100と通信する。そのような要求はCUTl3
Oに記憶される。CUTl3Oは、遊び走査231の間
にマイクロプロセツサ110によつて走査される。マイ
クロプロセツサ110は、C頃゛130にあるロードバ
ランス要求を調べて、論理通路251を通つて負荷バラ
ンス・モジユールLB25Oを能動化する。LB25O
はCUBMl5Oの1部である。1B250を実行して
いるマイクロプロセツサ110は、所定の基準に従つて
、2個の制御ユニツト11の中でデータ処理動作が切換
可能であることを決定する。
その結果、例えば現在CU−0と共に動作している装置
13がCU−1へ転移される。従つて、転移されつつあ
る装置へ現在割当てられているバツフア・セグメントを
解放する必要が生じる。更に、CU−0から受取られた
装置は、データ処理動作が続行できるように、バツフア
●セグメントの割当てを要求する。このため、マイクロ
プロセツサ110は論理通路255を通つてモジユール
PPAT256を能動化する。それは、受取られた新し
い装置13のために、バツフア・セグメントの割当てを
要求するためである。PPAT256は、線257で示
されるように、マイクロプロセツサ110をして、エン
トリイをPATl34へ入れさせる。割当ての解放は、
マイクロプロセツサ110によつて、モジユールPPD
T253へ至る論理通路252を介して行われる。PP
DT253は、線254によつて示されるように、リク
エストをPDTl38へ挿入する。リクエストが1度P
ATl34又はPDTl38へ挿入されると、LPLR
U233に関して前に説明した動作が実行される。更に
セグメントの割当ては、上位システム12が制御ユニツ
ト11へモード設定指令を与える時に実行することがで
きる。
装置選択及び指令実行の大部分が、本発明の範囲外であ
る各種の割込レベルによつて処理されるので、これら機
能の実行はPATl34ヘエントリイを入れる。第10
図において、線261はマイクロプロセツサ110に対
するそのような割込みを表わし、SDO26Oは割込み
に応答して実行される装置選択動作を表わす。即ち、装
置はインタフエース・プロトコールに従つて選択される
。SDO26OはCUCEl52の1部分であり、CU
CSl55の部分を含むことができる。いずれにせよ、
それらの割込みによつて駆動される論理モジユールは論
理通路262を能動化することができる。CUBMl5
Oの1部である論理モジユールRBA263は、マイク
ロプロセツサ110をして、PATl34ヘエントリイ
を挿入することによつて、SDO26Oによつてアドレ
スされた装置を登録せしめる。“RBA263は、マイ
クロプロセツサ110をして、BSTl37を検査せし
め、スペースが既にこのアドレスされた装置へ割当てら
れたかどうかを決定する、もし割当てられていれば、デ
ータ処理動作が切迫しており、その結果、マイクロプロ
セツサ110は、割当てられたバツフア・セグメントが
「約束されている」(即ち、データ処理が切迫している
)ことを示すため、BSTl37を変更する。もし割当
てられていなければ、割当てが必要とされる場合、LB
25OがPPAT256を能動化したのと同じようにし
て、RBA263はマイクロプロセツサ110をしてP
PAT256を能動化せしめる。更に上位システム12
は、サブシステム10へ指令を与えて、装置13の選択
を解かしめる。
この動作は第10図において線264によつて表わされ
る。線264はマイクロプロセツサ110に対する割込
みを表わし、この割込みは、選択解放指令を受取つた制
御ユニツト11から生じたものである。モジュールDE
VDES265,CUCEl52、及びCUCSl55
は既知のサブシステム手法を用いて、実際の選択解放プ
ロセスを能動化する。更に、バツフア15のセグメント
の割当てが解かれねばならない。従つて、DEVDES
265は、マイクロプロセツサ110をして割当ての解
放を要求させるが、それはPPDT253を能動化する
論理通路266を介して行われる。第10図に示される
コントロールによつて動かされる第2図のサブシステム
は、LDTl33中に示されるレコード・サイズが維持
されているか、又は変更されつつあるかを決定するため
、それぞれのデータ処理動作を監視する。
レコード・サイズに変化があれば、バツフア15の動作
は、その変化に適合するため、ダイナミツクに変えられ
る。その結果、例えば大きなサイズのパーテイーシヨン
に適合するため、バツフア●セグメントの割当ての解放
が行われ、バツフア15の再割当てが行われる。プロツ
ク・サイズの増加があれば、割当ての解放が必要である
。そのような活動は、2つの論理モジユールから生じる
ことができる。第1のモジユールはSRC274である
。このモジユールは、バツフア15への転送が上位シス
テム12から生じたものであれ、装置13から生じたも
のであれ、マイクロプロセツサ110をして、その転送
の終りに或る制御情報を処理せしめる。線272は、上
位システムからSRC274が能動化されたことを示す
が、それはCUCBl5lによつて処理される。読取動
作が完了すると、DEVOP27lが論理回路273を
介してSRC274を能動化する。SRC274は、マ
イクロプロセツサ110をして、再割当てを必要とする
ようなプロツク・サイズの増加を検出せしめる。次に、
通路275を通るマイクロプロセツサ110は、PPD
T253を能動化する。同様に、もしオーバランが起る
と(即ち、現在割当てられているパーテイーシヨンで処
理できない程、多くの信号がバツフア15へ与えられる
と)、DEVOP27lから通路277を介して能動化
さ”れた0VRN276がPPDT253を能動化する
PPDT253は、CUBMl5Oの1部である。HP
D235を実行しているマイクロプロセツサ110は、
割当てを解かれるべきバツフア15の全てのバツフア●
セグメントの表示を集めるため、PDTl38を探索す
る。遊び走査231は、マイクロプロセツサ110をし
て、HPD235を能動化するため、割当て解放のリク
エストに応答せしめたことを想起されたい。テーブルの
走査は周知の処理技法であるから、HPD235につい
てはこれ以上説明しない。HPD235は、マイクロプ
ロセツサ110をして通路236をとらせ、CUBMl
5Oの1部である論理モジユールDBS237を呼出さ
せる。
DBS237は、マイクロプロセツサ110をして、割
当てを解かれるべき特定のセグメントが、装置13につ
いて現在勤作状態にないことを検証させる。これはLD
Tl33から適当なエントリイ(図示されず)を読取る
ことによつて検査される。割当てを解かれるべきセグメ
ントが残余データを有する場合、装置13の書込動作は
、DEVOP27l(CUDMl58の1部)を能動化
する通路239を介してスケジユールされる。
DEVOP27lは、線278によつて示されるように
、DOTl36の持ち行列23へ要求された動作を挿入
することによつて、リクエストされた動作へ入る。その
ような装置書込動作が終ると、BSTl37は、セグメ
ントが「自由化」のためにスケジユールされている(即
ち、割当て解放のために適切である)ことを知らされる
。いずれにせよ、割当てを解かれるべきセグメントがデ
ータを解放される時、DBS237は論理通路238を
介してUPLRU233を能動化する。割当てを解かれ
つつあるセグメントが他のセグメントと結合されて大き
なバツフア●パーテイーシヨンを形成している場合、パ
ーテイーシヨンの全体が割当てを解かれる。即ち、1個
のセグメントのみがPDTl38に表示されている時で
も、1対のセグメントが割当てを解かれる。同様に、4
本足セグメント・パーテイーシヨンは、4個のバツフア
・セグメントの全ての割当てを解かれる。任意選択的方
法として、大きなパーテイーシヨンの4個又は2個のセ
グメントの全てが、LRUセグメントとしてリスト40
へ同時に加えられてよい。他の方法として、パーテイー
シヨンの個別的な非分割化が要求されてよいように、2
本足又は4本足のセグメントの組合せが、割当てもしく
は割当て解放の如何によらず維持されてよい。本発明の
実施に当つては、上記の方法のいずれも均等に採用され
ることができる。バツフア15のセグメントの割当ては
、リスト40内のそのバツフア●セグメントのロケーシ
ヨンを変更しない。
しかし、バツフア●セグメントの割当リクエストは、置
換バツフア機能において通常行われるように、バツフア
・セグメントの割当の解放を生じることができる。従つ
て、マイクロプロセツサ110が、遊び走査231を介
してPATl34中に係属している割当てを感知する時
、マイクロプロセツサ110はABS24lへ至る論理
通路240を進む。それは、バツフア・セグメントをP
ATl34中で表示される装置13へ割当てるためであ
る。PATl34は、ABS24lがマイクロプロセツ
サ110を能動化してPATl34中で最初に受取られ
た装置アドレスを得ることができるように、FIFO(
先入れ先出し)持ち行列である。動作をとる前に、,A
BS24lの論理を実行しているマイクロプロセツサ1
10は、PDTl38を走査して、同一の装置アドレス
について割当て解放が係属中であるかどうかを調べる。
もし係属していれば新しいセグメントを割当てる理由は
存在しない。従つて、PATl34中のエントリイは消
去される。マイクロプロセツサ110は、ABS24l
を介して、PATl34のそれぞれのエントリイを処理
する。第11図はUPMRU232の論理を示す。論理
通路290は、以下に説明するようにして、SCTl4
8のレジスタを走査する論理ステツプのループへ導く。
291で、リスト40がMRU端で更新されるべきかど
うかを調べるため、最初の装置アドレスに対応する上記
レジスタ中の最初のビツトが検査される。
もしそのビツトがセツトされていれば、MRUの更新が
リクエストされている。292で、アドレスされた装置
について、MRUのリクエストが検出されたかどうかが
決定される。
もし検出されなければ、ループは論理ステツプ293へ
進む。ステツプ293は、SCTl48レジスタ中の全
てのエントリイが評価されたかどうかを決定する。
もし評価されていなければ、294で1を加えることに
よつて、SCTl48のための次の装置アドレスが発生
される。これは前記SCTl48レジスタのビツト位置
のシフトを生じる。294に続いて、論理通路295は
再びループへ入る。
他方、293で、もし最後の装置であることが検出され
ると、マイクロプロセツサ110は296で遊び走査へ
入る。292で、もし検査されている装置の更新リクエ
ストが存在すれば、リスト40が更新される。
先ず300で、マイクロプロセツサ110はセグメント
「X」ビツトをゼロにして、SCTl48におけるその
装置の更新要求ビツトをゼロにする。301で、マイク
ロプロセツサ110は、セグメント「X」が既に最近時
使用のセグメントになつているかどうかを決定する。
もしそうであれば、論理ステツプ302は出=Xをセツ
トする。ステツプ302に続いて、マイクロプロセツサ
110は、ステツプ293でループ291〜295へ戻
る。もしセグメント「X」がMRUでなければ、それは
MRUにされなければならない。ステツプ303で、セ
グメント「X」のためのBSTl37のエントリイが更
新される。ステツプの最初の部分は、セグメント「X」
のためのMRUPをゼロにセツトする。この動作は、「
X」を最近時使用の装置として識別する。これは入出力
チヤネル14によつてバツフア15へアクセスした場合
である。次に、セグメント「X」のためのLRUPが前
のMRU装置アドレスに等しくセツトされる。次に、前
のMRUセグメントのMRUPが「X」に等しくされる
。304で、MRUを識別したマイクロプロセツサ11
0内の作業レジスタ(図示せず)が「X」へセツトされ
る。
この動作は、新しいMRUセグメントになつたテーブル
BST−2の装置D8について説明した手順に対応する
。この動作はリスト40の更新を完了しない。305で
、マイクロプロセツサ110は、セグメント「X」がL
RUセグメントであるかどうかを検査する。
もし新しいMRUが旧いLRUであつたならば、装置D
8についてBST−4に掲げたような状態が存在する。
更に306の動作が必要であり、その場合、「X+1」
セグメントのLRUP(LRU+1セグメント)がゼロ
へ等しくされる。今や、最旧時使用セグメントの次のセ
グメントが、最旧時使用セグメントとなる。BST−4
において、これは装置D8に対応する。次に、LRUを
指定するためマイクロプロセツサ110にある作業レジ
スタが「X+1」へセツトされる。BST−4において
、これはこの作業レジスタにD8を入れることに対応す
る。次に、論理通路307がとられて、前述したステツ
プ293へ進む。305で、もしセグメント「X」がL
RUでなければ、セグメント「X」は、リスト40の中
間に位置を有する。
セグメント「X」はMRU位置へ動かされたから、リス
ト40に生じたギヤツプが閉じられねばならない。これ
はステツプ308で達成され、かつテーブル圧J−1及
び圧汀一2で装置D8について説明された変化に対応す
る。BST−1において、装置D3は「X+1」であり
、装置DOは「X−1」である。ステツプ308へ戻つ
て、セグメント「X+1」のLRUPは「X−1」に等
しくされ、セグメント「X一1」のMRUPは「X+1
」に等しくされる。この動作はリストを閉じ、本発明の
ために必要な連続性を与える。ステツプ308が完了す
ると、マイ5クロプロセツサ110は通路307を通つ
てステツプ293へ至る。上記の説明から、HPMRU
232の動作は、全くチヤネル14の活動に基づいてい
ることが分る。全く異つた状況の場合、第12図のUP
LRU233は、3つの可能なエントリイの1つによつ
て能動化されることができる。
エントリイ310は、テーブルBST−1からBST−
4までを参照したように、第10図の線238及び24
7に対応する。最初の機能はステツプ311で起る。ス
・テツプ311は、セグメント「X」(これはリスト4
0のLRU端を変更する場合に、考慮されつつあるセグ
メントである)が現在のLRUセグメントであるかどう
かを決定する。もしそれがLRUであれば、以後の動作
は必要でなく、論理通路312がとられて、313で呼
出した論理モジユールへ戻る。概して、「X」はLRU
セグメントではなく、従つてステツプ314が実行され
て、前のLRUO)LRUPが「X」に等しくされる。
これはテーブルBST−3における装置DOに関する動
作に対応する。DOはBST−2においてLRUであつ
た。BST−3において、新しいLRUはD8であつた
。即ち、これは割当てを解かれたLセグメントである。
DOのLRUPはD8に等しくされる(D8はセグメン
ト「X」である)。従つて、セグメント「X」(BST
−3のD8)に対するBSTl37レジスタにおいて、
LRUPが0に等しくされる。BST−3には2つの機
能があるから、セグメントDBが加えられた時、D8の
LRUPが割当てを解かれ、D8のLRUPはD8に等
しくされた。314へ進んで、セグメント「XJD8の
uルは旧いLRUセグメントDOに等しくされる。
次に314で、マイクロプロセツサ110は、セグメン
トXが旧いMRUセグメントであるかどうかを決定する
旧いMRUセグメントは割当てを解かれることができ、
かくて新しいLRUセグメントとなる。もしそれが旧い
MRUであれば、前の「MRU−1」セグメントがMR
Uとなり、前のLRUセグメントはセグメント「LRU
+1」となる。この動作は、ステツプ316で、「X一
1」セグメントのれルをゼロへ等しくすることによつて
達成される。この場合、「X−1」はP恨U−1」セグ
メントである。同時に、MRUは「X−1」へセツトさ
れる。LRU状況は314で更新されたから、それ以上
の動作は必要でない。従つて通路312がとられて、3
13て呼出モジユールへ戻る。315で、セグメントx
が旧いMRUでなければ、マイクロプロセツサ110は
ステツプ317へ行く。
この動作は、セグメントXがリスト40の中間から取ら
れ、これは第11図のステツプ308に関して説明した
のと同じようにして、閉じられる必要があることを意味
する。第12図のステツプ317と第11図のステツプ
308は同じものである。UPLRU233への他の2
つのエントリイは、リスト40からセグメントを削除し
、又はリスト40へセグメントを付加することに関連す
る。
これらはそれぞれBST−2(削除に関して)及び圧汀
−3(付加に関して)に示される。エントリイDLRU
32Oはリスト40からセグメントを削除する。
321で、マイクロプロセツサ110は、削除されるべ
きセグメント「X」がLRUセグメントであるかどうか
を決定する。
もしそれがLRUセグメントでなければ、xのためのエ
ントリイは322でゼロにされる。この動作は、装置ア
ドレスから独立したセグメント・アドレスに注目し、前
述したように、通常のれ止及びLRUPアドレシング手
法によつてレジスタをアドレス不可能にすることによつ
て達成される。次に、セグメントの削除を完了するため
、ステツプ315に入る。しかし、セグメントxがLR
Uセグメントであれば、ステツプ323で、セグメント
Xのためのエントリイを含んでいるBSTl37レジス
タは、ステツプ322で設定されたようにして消去され
る。更に、「LRU+1」セグメントは、そのLRUP
部分をゼロヘセツトすることによつて、LRUセグメン
トと等しくされる。従つて、新しいLRUは「X+1」
セグメントである。マイクロプロセツサ110は通路3
24を通り313て戻る。リスト40へセグメントを付
加する場合、AL.RU33Oにおけるエントリイが使
用される。
先ず331で、マイクロプロセツサ110はマイクロプ
ロセツサ110内の作業レジスタ(図示せず)からBS
TLRUPをフェッチする。BSTLRUPはBSTl
37のLRUセグメントを指定する。そのフエツチされ
たセグメント(これは旧いLRUセグメントであり、B
ST−3においては装置D8てある)について、前のL
RUセグメント・エントリイのLRUPが、付加された
セグメントに等しくされる。圧J−3において、D8の
LRUPはD8へ等しくされた。DBは付加されたセグ
メントである。次に333で、付加セグメント・レジス
タのMRUP(これは今やBSTl37中のエントリイ
である)が前のLRUに関連したバツフア●セグメント
を指定する。このLRUはBST−3においてはD8で
ある。最後にLRUは新しく付加されたセグメントに等
しくされる。この動作は、マイクロプロセツサ110の
作業レジスタ中で起る。マイクロプロセツサ110は3
13で呼出論理モジユールへ戻る。リスト40の更新及
び保守が完了した。
ここで第13図に示されるプリフエツチ読取選択(SR
AH)論理モジユール283を参照して、非同期的プリ
フエツチ読取り又は非同期的書込みを開始する走査を説
明する。
SRAH283の目的は、サブシステム10の効率が最
大になるように、上位システム12のリクエストを予想
して、マイクロプロセツサ110に装置活動を創出させ
ることである。SRAH283の能動化は340で起り
、先ずステツプ341及び342より成る,AND/0
R論理機能が実行される。0R機能344で示されるよ
うに、制御ユニツト11についてプリフエツチ読取りが
禁止されるか、又はバツフア15の非同期的動作が禁止
されていれば、論理通路345はマイクロプロセツサ1
10をCUCSl55へ導く。
CUCSl55は、制御ユニツト11によつて前に受取
られた上位システム12の指令の完了を確保するために
実行される。他方、343で示されるAND条件が満足
されると(即ち、プリフエツチ読取りも非同期的バツフ
ア書込みも禁止されていなければ)、350で、MRU
であるBSTl37セグメント・エントリイがフエツチ
され、マイクロプロセツサ110の作業レジスタ(図示
せず)に記憶される。351で、マイクロプロセツサ1
10はフエツチされたエントリイを調べ、指定されたセ
グメントが割当てられているかどうかを検査する。
もしセグメントが割当てられていなければ、ステツプ3
52及び353を含(む走査が開始される。352で、
マイクロプロセツサ110は、BST3l7エントリイ
のためのアドレスされたセグメント「X」がLRUセグ
メントであるかどうかを決定する。
これはLRUPl73がゼロてあるかどうかを検査する
ことにより決定・される。もしそれがLRUセグメント
であれば、CUCSl55が実行される。もしそれがL
RUセグメントでなければ、バツフア●セグメント●ア
ドレス「X」が353で増加され、ステツプ350及び
351が続く。割当てられたセグメントが発)見される
や否や(即ち、論理装置がアクチブであり、装置13が
バッフア15からの割当てられたセグメントを有する時
、)、ステツプ354で、マイクロプロセツサ110は
対応する装置が使用中であるかどうかを決定する。もし
装置が使用中であれば、非同期的動作を開始することが
できない。従つて、ステツプ352へ至る通路355を
介して、前述した走査ループ350,351,352,
353が再び実行される。他方、論理装置に関連した装
置13が選択されなければ(即ち、使用中でもなく、再
位置づけも実行しておらず、独立の動作を実行していな
ければ)、論理装置は非同期的動作に適している。従つ
て、380で、マイクロプロセツサ110は装置状況テ
ーブルDSTl4Oから装置状況をフエツチする。DS
Tl4Oは、非同期的動作を考慮されつつある論理装置
に関連した装置について、最後に報告された状況を含む
。次に、356で、後続する非同期的データ処理動作で
転送されることができるレコードの数を決定するため、
論理装置のためのLDTl33のセクシヨン402から
レコード●サイズがフエツチされる。−357で、転送
を予想されるレコードの数が計算される。この数は、レ
コード長に基づいてプリセツト時間にバツフア15と装
置13との間て転送されることのできるレコードの数の
関数である。次に、通路358を通ることによつて、マ
イクロプロセツサ110は360でBSTl37のセク
シヨン174を読取り、動作モード(即ち、データ処理
動作は装置13からの読取りであるか、装置13への書
込みであるか)を決定する。読取モードの場合、マイク
ロプロセツサ110は、361で、プリフエツチ読取り
が制御ユニツト11のために許されているかどうかを決
定する。
プリフエツチ読取りは、エラー回復手順又は診断手順の
間、エラー制御のために禁止されることができる。もし
プリフエツチ読取りが禁止されていれば(CUT′13
0に表示される)、マイクロプロセツサ110はCUC
Sl55へ至る通路364を通る。もしプリフエツチ読
取りが許されてい.れば、362で、マイクロプロセツ
サ110は、汀136のセクシヨン383(第14図)
からデータ処理動作のためのテープ動作の方向(即ち、
前方か後方か)をフエツチし、その方向インデイケータ
をマイクロプロセツサ110内の作業一レジスタ(図示
せず)に記憶する。次に、363で、マイクロプロセツ
サ110は、非同期的読取動作のために考慮されつつあ
る論理装置についてプリフエツチ読取りが許されている
かどうか(第16図のLDTl33のセクシヨン401
に表示される)を決定する。もし許されていなければ、
通路364を介してCUCSl55がとられる。363
で、もしプリフエツチ読取りが許されていれば、365
で、マイクロプロセツサ110はCXTl43を調べ、
非同期的読取りを考慮されつつある装置について、チヤ
ネルとバツフアとの間でデータ転送が現在生じているか
どうかを決定する。
もしチヤネルとの間にデータ転送が生じて”いれば、チ
ヤネル●バツフア・オーバランは起り得ないから、第1
0図に示される論理モジユールDEVOP27lを能動
化することによつて、366で、装置動作が開始される
。もしアドレスされた論理装置について、チヤネル転送
が生じていなければ、367で、バツフア・スペースの
自由バイトの数が決定される。それは、プリフエツチ読
取動作を正当化するため、問題のセグメント内で十分の
バツフア・スペースが利用可能であるかどうかを決定す
るためである。もし利用可能であれば、366で、論理
モジユールDEVOP27lを能動化することによつて
、装置動作が開始される。ここで注意すべきは、ステツ
プ367の計算はレコードの最少数を指定することであ
る。もしその最少数の要件が満足されなければ、マイク
ロプロセツサ110は通路364を介してCUCSl5
5へ戻る。他方、360て、BSTl37中の書込モー
ドが検出されると、370で、適格性のある装置xにつ
いてBRTl4lが検査され、論理装置のバツフア●セ
グメント中に完全なレコードが存在するかどうかが決定
される。
もしバツフア15に完全なレコードが存在しなければ、
非同期的書込みは起り得ない。従つて、マイクロプロセ
ツサ110は、通路364を介してCUCSl55へ戻
る。もし非同期的書込みのために完全なレコードが存在
すれば、371で、マイクロプロセツサ110は、その
ような非同期的書込みが禁止されているかどうかを決定
する。そのような禁止は、エラー制御の目的で、エラー
回復手順によつてなされてもよい。もし禁止されていれ
ば、前述したようにして、CUCSl55に入る。禁止
されていなければ、非同期的記録動作を起すために、3
72で装置動作が開始される。コントロール・ストア1
11のDOTl36は第14図に示される。
アクチブ又は完了した動作をスケジユールした各装置に
ついて1個のレジスタが存在する。DOTl36中の各
レジスタはいくつかのセクシヨンを有する。第1のセク
シヨン380は持ち行列23のためにFIFO連鎖にお
ける次のレジスタのアドレスを記憶する。136の第1
のエントリイは、マイクロプロセツサ110中の作業レ
ジスタ(図示せず)によつて指定されるレジスタにより
指定される。
DOTl36の他の全てのレジスタは、セクシヨン38
0の連鎖結合によつて指定される。セクシヨン381は
、レジスタ中に記憶された信号に関連した論理装置アド
レスを含む。セクシヨン382は、セクシヨン381中
のアドレスされた装置13上で実行されるべくスケジユ
ールされた装置指令コードを含む。そのような指令コー
ドは、動作モードの暗黙的指定、読取り又は書込み、方
向、前方又は後方、関係する持ち行列(第1図の21,
22,23)の指定を含む。セクシヨン383は、バツ
フア動作が関連するかどうかを示す単一のビツトである
。或る種のテープ動作はバツフア活動を必要とせず、従
つてこのビツトはOである。バツフア転送の対象となる
レコードの数は、セクシヨン384に表示される。セク
シヨン384がゼロでなく、セクシヨン383がゼロで
あれば、セクシヨン382の指令コードは読取り又は逆
方向読取りでなければならない。これは、前にテープ上
に記録されたレコードの指定された数だけテープを移動
させるため、前方又は後方向スペース動作が実行される
ことを意味する。上記以外の場合、前述したように、最
少数のレコードが転送される。セクシヨン385は所謂
スタート・ビツトであつて、事実上装置動作が開始した
ことを示す。即ち、セクシヨン381で表示された装置
が選択されたこと、又は既にデータ処理動作のために準
備されたことを示す。セクシヨン386は、セクシヨン
382で表示された装置動作が完了したかどうかを示す
。セクシヨン387はDIAl39のアドレスを示す。
DIAl39は装置に関する情報を含むが、これは本発
明と直接の関連を有しない。省略記号は、サブシステム
、特に装置13の動作を制御するため、レジスタのため
追加的なセクシヨンを設けてよいことを示す。SCTl
48は第15図に短縮された形で示される。
本発明に関連のある部分のみが示される。それぞれの論
理装置アドレスはSCTl48のセクシヨン390に示
される。各装置アドレスのために別個のレジスタが存在
するが、そのレジスタは第15図において垂直方向に配
列されている。各レジスタの3ビツトのみが示される。
SCTl48の走査は装置アドレス0、装置アドレス1
、・・・・というようにレジスタを読取ることによつて
実行される。UPMRUセクション391は1ビット位
置を有するが、このビツトは、リスト40を更新するた
めUPMRU232が能動化されるべきかどうかを示す
。2バイト・レジスタがセクシヨン391,392,3
93の各々を保持するように、テーブルが方向づけられ
ていれば、レジスタの連続したビツトをアドレスして、
情報フイールドを走査するため、既知のビツト・シフト
手法が使用できる。セクシヨン392は、チヤネル●オ
ーバラン(CORUN)が起つたかどうかを示す。
もしオーバランが生じたのであれば、セグメントの割当
て解放に続いて、装置へ更に大きなセグメントを割当て
ることができる。これはUPLRU233に関して、本
発明の動作に影響を与える。同様に、セクシヨン393
は、装置オーバラン(DORUN)を示す。これはUP
LRU233へ同様の影響を及ぼす。第16図はLDT
l33の1部分を示す。
線400によつて示されるように、各装置アドレスに関
連して1個のレジスタが設けられている。レジ・スタへ
のアクセスは、コントロール・ストア111に対するベ
ース・アドレスと、装置アドレスに等しいオフセツト値
によつて決定される。LDTl33において、セクシヨ
ン401は、第13図に関連して説明したようにプリフ
エツチ読取許容.ビツトを含む。セクシヨン402は、
第10図に関連して説明したように、各データ処理動作
について転送されつつあるレコードのサイズを示すビツ
トを有する。セクシヨン402の情報はダイナミツクで
あり、データ処理動作中の変化に適応さjせるためダイ
ナミツクに変更される。セクシヨン403は、BSTl
37中のエントリイを指定するアドレスを含み、LDT
l33を参照することによつて、BSTl37を容易に
参照することができる。セクシヨン404は、テープ・
マークが装置13へ最後に書かれたか、又はそこから読
取られたかを示す。勿論、実際の実施例においては論理
装置に対する追加的な制御フイールドがLDTl33へ
付加されてよい。例示されたセクシヨンは本発明に直接
の関連があるもののみである。第17図は単一のレジス
タCXTl43を示す。
このレジスタは、実際のデータ転送が入出力チヤネル1
4とバツフア15との間で起つている時にのみ、ゼロで
ない情報を有する。セクシヨン405は、そのようなチ
ヤネル転送に関連した論理装置の装置アドレスを含む。
セクシヨン406は、チヤネル転送が現在アクチブであ
るかどうかを示す。即ち、チヤネル転送が命令され、未
だ開始されていない時、X=1である。セクシヨン40
6は、チヤネル転送が完了していれば、2進の0を含む
。セクシヨン409は、セクシヨン405で指定された
装置に関連したBRTl4lレジスタ(第6図)のアド
レスを含む。それは、また、現在のチヤネル転送、即ち
現在転送されつつあるレコードに関連している。
【図面の簡単な説明】
第1図は上位システムへ接続可能な周辺サブシステムで
使用された本発明を例示する論理図、第2図は本発明を
実施するのに適した型態で周辺サブシステムの構成上の
特徴を示したプロツク図、第3図は第2図に例示された
周辺サブシステムの制御部分を示すプロツク図、第4図
は第3図に例示した制御部分の制御メモリ構成を示した
図、第5図は第1図及び第2図に示された周辺サブシス
.テムに含まれる管理されたバツフアの或る制御状態に
関して、第4図に示されるコントロール・ストアに含ま
れる1群のレジスタを示す図、第6図は第1図及び第2
図に示される周辺サブシステムで実行される情報レコー
ド転送に関連するものと.して第4図に示されたコント
ロール・ストア中に含まれる複数組のレジスタ群を示す
図、第7図は装置動作をスケジユールするため第1図及
び第2図に示された周辺サブシステムの動作を示す論理
図、第8図はデータ・デモーシヨン動作について第1図
及び第2図に示される周辺サブシステムの動作を示す論
理図、第9図は第1図及び第2図の周辺サブシステム内
で第7図の論理によつて開始されたデータ・プロモーシ
ヨンの準備段階を示す論理図、第10図は本発明を実施
するため第1図及び第2図の周辺サブシステム内で配列
されたコントロール部分を示す論理図、第11図は第1
図及び第2図に示された周辺サブシステムのMRUコン
トロール部分を更新する論理図、第12図は第10図に
示されたコントロール部分のLRU部分を更新しかつ変
更する論理図、第13図は第10図の論理に従つてデー
タをバツフアヘプロモーシヨンする場合にプリフエツチ
読取りをスケジユールする論理図、第14図は装置動作
に関して第4図に示されるコントロール・ストアに含ま
れる1組のレジスタを示す図、第15図は第4図に示さ
れるコントロール・ストアに含まれる1組のレジスタで
あつて上位システムから周辺サブシステムへの動作に基
づいて実行される複数の周辺装置のシーケンス制御に関
連したものの図、第16図は第4図に示されるコントロ
ール・ストアに含まれる1組のレジスタであつて装置に
関して割当てられたバツフア・セグメント(論理装置)
の制御に関連したものの図、第17図は第4図に示され
るコントロール●ストアに含まれる単一のレジスタであ
つて周辺サブシステムのバツフア・メモリと上位システ
ムとの間で実行される現在の活動転移に関連するものの
図である。 10・・・・・・周辺サブシステム、11・・・・・制
御ユニツト、12・・・・上位システム、13・・・・
装置、14・・・・・・入出力チヤネル、15・・・・
・・バツフア、20・・・・解読器、21,22,23
・・・・・・先入れ先出し持ち行列、27,32・・・
・・・転送回路、40・MRU−LRUリスト、80・
・・・・チヤネル●アダプタ、141・・・・・・バツ
フア記録テーブル、150・・・・・・制御ユニツト●
バツフア管理プログラム、158・・・・・制御ユニツ
ト装置管理プログラム。

Claims (1)

    【特許請求の範囲】
  1. 1 上位システム及び複数の周辺装置へ接続されたバッ
    ファ・メモリを有し、上記上位システム及び周辺装置と
    の間で情報担持信号を転送する周辺サブシステムであつ
    て、上記バッファ・メモリを可変数のバッファ・セグメ
    ントへ論理的に区画する手段と、上記周辺装置へ選択的
    にアクセスする手段と、上記バッファ・セグメントを上
    記周辺装置へ割当てる手段と、上記周辺装置へ割当てら
    れたバッファ・セグメントの割当てを解く手段と、上記
    バッファ・セグメントを識別する信号を記憶するととも
    に上記識別信号の順序を表示する手段と、上記上位シス
    テムと上記周辺装置との間で情報担持信号を転送するた
    めのリクエスト信号を上記上位システムから受取る手段
    と、上記リクエスト信号に応答してそれぞれの周辺装置
    へアクセスするため上記リクエスト信号が受取られた順
    序に上記識別信号を配列する手段と、上記周辺装置と上
    記バッファ・メモリとの間で情報担持手段を転送するた
    めその転送の先入れ先出しリストを記憶する手段と、上
    記識別信号の配列を走査して現在周辺装置の機能を実行
    しておらずかつ上記バッファ・セグメントを割当てられ
    た周辺装置のために上記リスト中へ実行すべき転送を登
    録しそれぞれの周辺装置が上記識別信号の配列に従つて
    情報担持信号を転送できるようにする手段とを具備する
    周辺サブシステム。
JP57001081A 1981-03-06 1982-01-08 周辺サブシステム Expired JPS6052465B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US241322 1981-03-06
US06/241,322 US4467411A (en) 1981-03-06 1981-03-06 Scheduling device operations in a buffered peripheral subsystem

Publications (2)

Publication Number Publication Date
JPS57152028A JPS57152028A (en) 1982-09-20
JPS6052465B2 true JPS6052465B2 (ja) 1985-11-19

Family

ID=22910222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57001081A Expired JPS6052465B2 (ja) 1981-03-06 1982-01-08 周辺サブシステム

Country Status (5)

Country Link
US (1) US4467411A (ja)
EP (1) EP0059829B1 (ja)
JP (1) JPS6052465B2 (ja)
CA (1) CA1172378A (ja)
DE (1) DE3279629D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61173854U (ja) * 1985-04-17 1986-10-29

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4468730A (en) * 1981-11-27 1984-08-28 Storage Technology Corporation Detection of sequential data stream for improvements in cache data storage
US4530055A (en) * 1982-03-03 1985-07-16 Sperry Corporation Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory
US4530054A (en) * 1982-03-03 1985-07-16 Sperry Corporation Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory
US4569034A (en) * 1982-07-19 1986-02-04 International Business Machines Corporation Method and apparatus which allows the working storage to be reconfigured according to demands for processing data input
US4499539A (en) * 1982-12-20 1985-02-12 International Business Machines Corporation Method and apparatus for limiting allocated data-storage space in a data-storage unit
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
US4599689A (en) * 1983-02-28 1986-07-08 Data Translations, Inc. Continuous data transfer system
US4703449A (en) * 1983-02-28 1987-10-27 Data Translation Inc. Interrupt driven multi-buffer DMA circuit for enabling continuous sequential data transfers
US4603382A (en) * 1984-02-27 1986-07-29 International Business Machines Corporation Dynamic buffer reallocation
US4962451A (en) * 1985-11-07 1990-10-09 International Business Machines Corporation Cache-effective sort string generation method
US4811132A (en) * 1986-09-26 1989-03-07 Hunter Dan A Early end of tape sensing for a cache buffered tape drive
KR910002325B1 (ko) * 1987-01-12 1991-04-11 후지쓰 가부시기가이샤 데이타 교환용 데이타 전송 버퍼회로
US4843544A (en) * 1987-09-25 1989-06-27 Ncr Corporation Method and apparatus for controlling data transfers through multiple buffers
US5301304A (en) * 1988-05-20 1994-04-05 International Business Machines Corporation Emulating records in one record format in another record format
CA1329432C (en) * 1988-11-02 1994-05-10 William Davy Method of memory and cpu time allocation for a multi-user computer system
US5293612A (en) * 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
US5125085A (en) * 1989-09-01 1992-06-23 Bull Hn Information Systems Inc. Least recently used replacement level generating apparatus and method
JPH0743732B2 (ja) * 1989-09-12 1995-05-15 三菱電機株式会社 収集データの格納方法
JPH0666056B2 (ja) * 1989-10-12 1994-08-24 甲府日本電気株式会社 情報処理システム
JPH03176756A (ja) * 1989-11-22 1991-07-31 Internatl Business Mach Corp <Ibm> 情報処理システム
US5226156A (en) * 1989-11-22 1993-07-06 International Business Machines Corporation Control and sequencing of data through multiple parallel processing devices
DE69127773T2 (de) * 1990-06-15 1998-04-02 Compaq Computer Corp Vorrichtung zur echten LRU-Ersetzung
EP0464237A1 (en) * 1990-07-03 1992-01-08 International Business Machines Corporation Bus arbitration scheme
US5537552A (en) * 1990-11-27 1996-07-16 Canon Kabushiki Kaisha Apparatus for selectively comparing pointers to detect full or empty status of a circular buffer area in an input/output (I/O) buffer
US5293608A (en) * 1991-04-19 1994-03-08 Legent Corporation System and method for optimizing cache memory utilization by selectively inhibiting loading of data
JP2793410B2 (ja) * 1991-04-22 1998-09-03 インターナショナル・ビジネス・マシーンズ・コーポレイション ウェブ駆動装置及びテープ駆動装置
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5289331A (en) * 1991-06-13 1994-02-22 International Business Machines Corporation Constrained pivot guide post
JP2516301B2 (ja) * 1991-06-13 1996-07-24 インターナショナル・ビジネス・マシーンズ・コーポレイション テ―プ駆動装置
US5327535A (en) * 1991-08-29 1994-07-05 Hitachi, Ltd. Magnetic recording control apparatus
US5245485A (en) * 1991-08-30 1993-09-14 International Business Machines Corporation Multiple tape thickness, multiple recording format tape drive systems
US5584042A (en) * 1993-06-01 1996-12-10 International Business Machines Corporation Dynamic I/O data address relocation facility
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
US5606685A (en) * 1993-12-29 1997-02-25 Unisys Corporation Computer workstation having demand-paged virtual memory and enhanced prefaulting
US5539895A (en) * 1994-05-12 1996-07-23 International Business Machines Corporation Hierarchical computer cache system
US5890221A (en) * 1994-10-05 1999-03-30 International Business Machines Corporation Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
JP3525518B2 (ja) * 1994-10-13 2004-05-10 ヤマハ株式会社 データ転送装置
GB2296797B (en) * 1994-12-13 2000-02-16 Antech Information Systems Int An interface system
US5797042A (en) * 1995-03-16 1998-08-18 Intel Corporation Method and apparatus for adjusting the buffering characteristic in the pipeline of a data transfer system
US5890012A (en) * 1995-04-25 1999-03-30 Intel Corporation System for programming peripheral with address and direction information and sending the information through data bus or control line when DMA controller asserts data knowledge line
US6493762B1 (en) * 1995-05-08 2002-12-10 International Business Machines Corporation Index allocation for data broadcasting
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5809548A (en) * 1996-08-30 1998-09-15 International Business Machines Corporation System and method for zeroing pages with cache line invalidate instructions in an LRU system having data cache with time tags
US6011908A (en) * 1996-12-23 2000-01-04 Transmeta Corporation Gated store buffer for an advanced microprocessor
US5892980A (en) * 1997-02-28 1999-04-06 Comsys Communication And Signal Processing Ltd. System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system
JP3196681B2 (ja) * 1997-03-13 2001-08-06 ヤマハ株式会社 通信データ一時記憶装置
US5961606A (en) * 1997-06-30 1999-10-05 Sun Microsystems, Inc. System and method for remote buffer allocation in exported memory segments and message passing between network nodes
US20060034275A1 (en) * 2000-05-03 2006-02-16 At&T Laboratories-Cambridge Ltd. Data transfer, synchronising applications, and low latency networks
US6842826B1 (en) 2000-06-07 2005-01-11 International Business Machines Incorporated Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US6629108B2 (en) * 2001-03-09 2003-09-30 Hewlett-Packard Development Company, Lp. Method for insuring data integrity for mirrored independently accessible memory devices
US6810448B1 (en) * 2001-05-02 2004-10-26 Lsi Logic Corporation Method and apparatus for processing chain messages (SGL chaining)
US7054925B2 (en) * 2001-11-21 2006-05-30 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US20070180155A1 (en) * 2006-02-01 2007-08-02 International Business Machines Corporation Method and apparatus for implementing transfer ordering using hardware linked list
US9378769B2 (en) * 2011-01-31 2016-06-28 Oracle International Corporation System and method for storing data with host configuration of storage media
US10534540B2 (en) * 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US11119921B1 (en) * 2020-08-24 2021-09-14 Xilinx, Inc. State machine generation for multi-buffer electronic systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26624A (en) * 1859-12-27 Railroad-chair
BE629069A (ja) 1962-03-05
US3911401A (en) * 1973-06-04 1975-10-07 Ibm Hierarchial memory/storage system for an electronic computer
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
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
US4052704A (en) * 1976-12-20 1977-10-04 International Business Machines Corporation Apparatus for reordering the sequence of data stored in a serial memory
GB2037037B (en) * 1978-12-11 1983-07-27 Honeywell Inf Systems Data-processing apparatus
GB2052118A (en) * 1979-06-04 1981-01-21 Memorex Corp Disc Cache Subsystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61173854U (ja) * 1985-04-17 1986-10-29

Also Published As

Publication number Publication date
US4467411A (en) 1984-08-21
CA1172378A (en) 1984-08-07
EP0059829A2 (en) 1982-09-15
JPS57152028A (en) 1982-09-20
EP0059829A3 (en) 1986-03-19
EP0059829B1 (en) 1989-04-19
DE3279629D1 (en) 1989-05-24

Similar Documents

Publication Publication Date Title
JPS6052465B2 (ja) 周辺サブシステム
US4458316A (en) Queuing commands in a peripheral data storage system
US4779189A (en) Peripheral subsystem initialization method and apparatus
US4870565A (en) Parallel transfer type director means
US4571674A (en) Peripheral storage system having multiple data transfer rates
US4410942A (en) Synchronizing buffered peripheral subsystems to host operations
US4080651A (en) Memory control processor
US5418929A (en) Controller for storage unit and method of controlling storage unit
EP0059828B1 (en) Method and system for balancing workloads among control units
US4607346A (en) Apparatus and method for placing data on a partitioned direct access storage device
US4638424A (en) Managing data storage devices connected to a digital computer
CA1215180A (en) Dynamic buffer reallocation
EP0059826B1 (en) Buffered data recording peripheral systems
EP0059799A2 (en) Data processor systems
EP0485507B1 (en) Modular input/output system for supercomputers
US4811280A (en) Dual mode disk controller
JPS6238731B2 (ja)
US4126893A (en) Interrupt request controller for data processing system
US8244955B2 (en) Storage system and its controlling method
US5694570A (en) Method and system of buffering data written to direct access storage devices in data processing systems
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
US5136692A (en) Memory disk buffer manager
EP0240616B1 (en) Method to test and set data in a record on disk in one atomic input/output operation
WO1991008536A1 (en) Data record move apparatus for a virtual memory system