JPH0612359A - Input/output control method and system therefor - Google Patents

Input/output control method and system therefor

Info

Publication number
JPH0612359A
JPH0612359A JP4773193A JP4773193A JPH0612359A JP H0612359 A JPH0612359 A JP H0612359A JP 4773193 A JP4773193 A JP 4773193A JP 4773193 A JP4773193 A JP 4773193A JP H0612359 A JPH0612359 A JP H0612359A
Authority
JP
Japan
Prior art keywords
input
output
external storage
control
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4773193A
Other languages
Japanese (ja)
Other versions
JP3252517B2 (en
Inventor
Yoshifumi Takamoto
良史 高本
Hiroaki Odawara
宏明 小田原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP04773193A priority Critical patent/JP3252517B2/en
Publication of JPH0612359A publication Critical patent/JPH0612359A/en
Application granted granted Critical
Publication of JP3252517B2 publication Critical patent/JP3252517B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To speed up the processing of an input/output request by decreasing the overhead accompanying command transfer between an input/output control ler and an external storage controller. CONSTITUTION:Input/output requests 130 to a disk device 132 which are issued by a host device are registered in input/output request queues 122 and 113 by an input/output processor 101 and channel programs 123-125 corresponding to one or, preferably, plural input/output requests registered in the input/output request queues are read together out of a main storage device 121 and sent out to a disk controller 131, which temporarily stores those channel programs by itself and also executes plural commands included in them while controlling their execution timing.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はコンピュータシステムに
係り、特に高スループット、高速レスポンスの要求され
るデータ入出力制御方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system, and more particularly to a data input / output control method and apparatus which are required to have high throughput and high speed response.

【0002】[0002]

【従来の技術】一般に入出力制御装置は、中央処理装置
のような上位装置と磁気ディスク装置に代表される2次
記憶装置などのデバイスの中間に位置し、上位装置とデ
バイスとの間の入出力を非同期に行うことを主な目的と
している。すなわち、従来技術では、上位装置は、入出
力要求の内容を示す一組のチャネルコマンド語(チャネ
ルプログラムともいう)を主記憶装置に記憶し、さら
に、その入出力要求がデバイスへのデータの書き込みを
要求するときにはそのデータを主記憶装置内に記憶し、
その後その一組のチャネルコマンド語のアドレスその入
出力要求を入出力制御装置に送出していた。
2. Description of the Related Art Generally, an input / output control device is located between a host device such as a central processing unit and a device such as a secondary storage device typified by a magnetic disk device. Its main purpose is to output asynchronously. That is, in the prior art, the host device stores a set of channel command words (also called a channel program) indicating the contents of the input / output request in the main storage device, and further, the input / output request writes data to the device. When requesting, store the data in the main memory,
Thereafter, the address of the set of channel command words and the input / output request were sent to the input / output control device.

【0003】入出力制御装置は、主記憶装置内に設けた
入出力要求キューにこの入出力要求を登録し、その後適
宜このキューから入出力要求を取り出して、デバイスに
転送していた。この入出力制御装置により上位装置は、
デバイスの入出力処理完了を待つことなく他の処理を実
行し続けることができる。
The input / output control device has registered this input / output request in an input / output request queue provided in the main storage device, and thereafter, extracts the input / output request from this queue as appropriate and transfers it to the device. This input / output control device allows the host device to
It is possible to continue executing other processing without waiting for the completion of input / output processing of the device.

【0004】入出力制御装置とデバイスの間は、複数の
チャネルパスで接続されており、入出力制御装置とデバ
イス間で転送される入出力コマンドやデータは、このチ
ャネルパスを介して転送される。チャネルパスとデバイ
スとは、1対1、1対多、多対1の接続形態で接続可能
である。また、入出力制御装置は同時に複数の入出力要
求を処理することができる。こういった状況では、上位
装置が入出力要求を発行してもチャネルパスが使用中の
ためコマンドやデータの転送ができないことがありう
る。この問題の対策として、従来技術装置では、例えば
特開昭60−183660号公報に記載されていよう
に、上位装置から転送された入力要求を入力要求キュー
に登録したときに、その入力要求が使用可能なチャネル
パスが空き状態にあるかを判別し、そのパスが空きであ
れば、その入力キューからそのパスを使用する一つの入
出力要求を取り出し、処理していた。あるいは、いずれ
かの現在使用のチャネルパスが空き状態になったとき
も、同様のことをしていた。
The I / O controller and the device are connected by a plurality of channel paths, and the I / O commands and data transferred between the I / O controller and the device are transferred through this channel path. . The channel paths and devices can be connected in a one-to-one, one-to-many, and many-to-one connection form. Also, the I / O controller can handle multiple I / O requests at the same time. In such a situation, even if the higher-level device issues an I / O request, the command or data may not be transferred because the channel path is in use. As a measure against this problem, in the prior art device, when the input request transferred from the host device is registered in the input request queue, the input request is used as described in, for example, Japanese Patent Laid-Open No. 60-183660. It determines if a possible channel path is free, and if that path is free, it takes one I / O request using that path from its input queue and processes it. Alternatively, the same thing was done when any of the currently used channel paths became empty.

【0005】入出力制御装置が一つの入出力要求を処理
するには、その空き状態となったチャネルパスを使用す
る一つの入出力要求を、上記にキューから取り出した
後、(1)その入出力要求が指定するアドレスに基づい
てチャネルプログラム内の一つのチャネルコマンド語を
読み出し、(2)それをディスク制御装置に転送し、
(3)そのコマンド語の実行終了がディスク制御装置か
ら通知されるごとに上記(1)(2)を繰り返してい
た。
In order for the I / O controller to process one I / O request, after dequeuing one I / O request using the channel path in the idle state from the queue, (1) the input Read one channel command word in the channel program based on the address specified by the output request, and (2) transfer it to the disk controller,
(3) The above steps (1) and (2) are repeated each time the disk controller notifies that the command word has been executed.

【0006】このような処理により、その一組のチャネ
ルコマンド語が全て実行されたときに、その入出力制御
装置によるその入出力要求の実行が終了する。
By such processing, the execution of the input / output request by the input / output control unit ends when all of the set of channel command words have been executed.

【0007】従来技術では、以上の動作を、上位装置か
ら新たな入出力要求が入力されるごとに、あるいは一つ
のチャネルパスが空き状態になるごとに実施していた。
In the prior art, the above-described operation is performed every time a new input / output request is input from the host device or one channel path becomes idle.

【0008】(4)さらに、その入出力要求がデータの
書き込み要求であるときには、その一組のチャネルコマ
ンド語の一つより指定された主記憶アドレスを用いて、
主記憶装置から書き込みデータを入出力制御装置内のバ
ッファに読み出し、その後、そのデータをディスク制御
装置へ転送していた。
(4) Further, when the input / output request is a data write request, the main memory address designated by one of the set of channel command words is used,
The write data was read from the main storage device to the buffer in the input / output control device, and then the data was transferred to the disk control device.

【0009】[0009]

【発明が解決しようとする課題】上記、従来方式ではキ
ューから一つづつ入出力要求の取り出しを行っては、そ
れを処理している。したがって、一つ一つの入出力要求
の処理に、いろいろのオーバヘッドがかかることにな
る。
In the above-mentioned conventional method, the I / O requests are fetched from the queue one by one and processed. Therefore, various overheads are incurred in processing each I / O request.

【0010】これらのオーバヘッドをさらに具体的に説
明する。オーバヘッドは大きく分けると二つの種類があ
る。
These overheads will be described more specifically. There are two types of overhead.

【0011】一つは、主記憶装置内に格納されているチ
ャネルコマンド語やデータ等の取り出しオーバヘッドで
ある。入出力プロセッサが入出力の実行を行なう際、ユ
ーザあるいはオペレーティングシステムが主記憶装置内
に格納した、入出力コマンドやデータを入出力プロセッ
サ内に取り込む必要がある。さらに具体的には、以下の
通りである。以下の処理は、複数のチャネルコマンド語
で構成された一つの入出力要求を、入出力要求が存在す
る限り繰り返し実行する動作を示している。
One is a retrieval overhead of channel command words and data stored in the main storage device. When the input / output processor executes input / output, it is necessary to fetch the input / output command and data stored in the main storage device by the user or the operating system into the input / output processor. More specifically, it is as follows. The following process shows the operation of repeatedly executing one input / output request composed of a plurality of channel command words as long as the input / output request exists.

【0012】(1)入出力要求の有無判定 (2)入出力構求の取り出し (3)取り出した入出力要求の無効化 (4)入出力要求からチャネルコマンドが格納されてい
る主記憶装置アドレスを抽出 (5)主記憶装置からチャネルコマンド語を一つ取り出
し (6)一つの入出力要求が終了するまで、(5)を繰り
返す (7)次の入出力要求を処理するため(1)に戻る 上記処理は、複数のマイクロプログラムモジュールから
構成されている。従って、入出力処理の実行には、多数
のマイクロプログラムモジュール渡り、時には複数のマ
イクロプセッサを渡った処理も必要になる。これらの処
理が、性能低下要因の一つとなる。
(1) Judgment of presence / absence of input / output request (2) Extraction of input / output request (3) Invalidation of extracted input / output request (4) Main storage device address in which channel command is stored from input / output request (5) Retrieving one channel command word from the main memory (6) Repeating (5) until one input / output request is completed (7) To process the next input / output request Return The above process is composed of a plurality of micro program modules. Therefore, in order to execute the input / output processing, it is necessary to perform processing across a large number of micro program modules, and sometimes across a plurality of microprocessors. These processes are one of the factors of performance degradation.

【0013】オーバヘッドの二つ目は、入出力プロセッ
サからディスク制御装置へコマンドやデータを転送する
際に生じるオーバヘッドである。具体的には、以下の通
りであり、上記(5)と(6)の間で実行される処理で
ある。
The second type of overhead is the overhead that occurs when commands and data are transferred from the I / O processor to the disk controller. Specifically, it is as follows and is a process executed between the above (5) and (6).

【0014】(a)主記憶装置から取り出したチャネル
コマンドを解析 (b)ティスク制御装置に対するコマンドか入出力プロ
セッサに対するコマンドかを判定し、ディスク制御装置
に対するコマンドであれば、コマンドを指定されたディ
スク制御装置へ転送 (c)入出力プロセッサに対するコマンドであればそれ
を実行 (d)一つの入出力要求が終了するまで、(a)から
(c)を繰り返す これらは主に、入出力プロセッサがディスク制御と同期
的に処理を行なっているために生じるオーバヘッドであ
る。ディスク制御装置はSEEK、SEARCH、RE
AD/WRITEといった一連の処理を行なうが、入出
力プロセッサからはこれらのコマンドを一つずつディス
ク制御装置に転送している。ところが、前記SEARC
Hコマンドは、ディスクヘッドが所定の一に到着したか
どうかを判定する処理であるが、入出力プロセッサは本
コマンドをディスク制御装置に転送してしまうと、次の
チャネルコマンドの実行を開始してしまうためこのまま
では正常な動作をしない。つまり、この時点で次のRE
AD/WRITEコマンドを実行してしまうと、現在の
ディスクヘッドの位置に対してREAD/WEITを実
行してしまうため、不当なデータを読み書きしてしま
う。そこで、TICコマンドをSEARCHコマンドと
READ/WRITEコマンドの間に置き、SEARC
Hコマンドにより目的のデータが存在する位置はディス
クが到着するまで、SEARCHコマンドを実行し続け
る処理が必要になる。この間、入出力プロセッサは本来
ディスク制御装置へのコマンドとは直接関係のない、入
出力プロセッサ専用のチャネルコマンドを実行しなけれ
ばならない。
(A) Analyzing the channel command fetched from the main storage device (b) Judging whether it is a command to the disk controller or a command to the I / O processor, and if it is a command to the disk controller, the disk for which the command is specified Transfer to controller (c) Execute command if it is for I / O processor (d) Repeat (a) to (c) until one I / O request is completed. This is an overhead that occurs because processing is performed in synchronization with control. Disk controller is SEEK, SEARCH, RE
Although a series of processes such as AD / WRITE is performed, these commands are transferred from the input / output processor to the disk control device one by one. However, the SEARC
The H command is a process for determining whether or not the disk head has reached a predetermined one, but when the I / O processor transfers this command to the disk controller, it starts executing the next channel command. As it is, it does not operate normally. In other words, at this point the next RE
If the AD / WRITE command is executed, READ / WEIT will be executed for the current position of the disk head, and thus illegal data will be read or written. Therefore, place the TIC command between the SEARCH command and the READ / WRITE command, and
At the position where the target data exists by the H command, it is necessary to continue processing the SEARCH command until the disk arrives. During this time, the I / O processor must execute a channel command dedicated to the I / O processor, which originally has no direct relation to the command to the disk controller.

【0015】従来方式は制御が容易である点や、比較的
低負荷環境での性能には大きく響かないこと等の利点が
ある。ところが、チャネルパス転送が高速になってくる
と、前記オーバヘッドの割合が相対的に大きくなってく
る。例えば、 従来チャネルパス転送時間:1m秒 オーバヘッド0.
5m秒 と仮定するとオーバヘッド比率は33%である。しか
し、オーバヘッドが一定でチャネルパス転送速度が1桁
向上した場合には、同じデータ長のデータを転送した場
合であっても、 高速チャネルパス転送時間:0.1m秒 オーバヘッド
0.5m秒 となりオーバヘッド比率は83%にもなる。つまりチャ
ネルパス転送時間が短くなってくるに従って、チャネル
パス使用時間のほとんどがオーバヘッド時間ということ
になる。
The conventional method has advantages that it is easy to control and that performance in a relatively low load environment does not significantly affect. However, as the channel path transfer becomes faster, the overhead ratio becomes relatively large. For example, conventional channel path transfer time: 1 ms, overhead 0.
Assuming 5 msec, the overhead ratio is 33%. However, if the overhead is constant and the channel path transfer rate is improved by one digit, the high-speed channel path transfer time is 0.1 msec and the overhead is 0.5 msec, even if data of the same data length is transferred. The ratio will be 83%. That is, as the channel path transfer time becomes shorter, most of the channel path use time becomes the overhead time.

【0016】また、デバイスに接続するチャネルパス数
はできるだけ少なくしたほうが、運用が容易であり、デ
バイスの増設が柔軟にできるメリットがある。こういっ
たメリットを要求するユーザ環境では、キューイングさ
れる入出力要求の個数が多くなり、上記問題が一層、顕
著化することになる。
Further, it is advantageous that the number of channel paths connected to the device is reduced as much as possible because the operation is easy and the device can be flexibly added. In a user environment that demands such merits, the number of queued I / O requests increases, and the above problem becomes more prominent.

【0017】本発明の一つの目的は、入出力制御装置と
外部記憶制御装置との間のコマンド転送に伴うオーバヘ
ッドを減少させる入出力制御方法及び装置を提供するに
ある。
An object of the present invention is to provide an input / output control method and device for reducing the overhead caused by command transfer between the input / output control device and the external storage control device.

【0018】本発明の別の目的は個々のコマンドを主記
憶装置から読み出すことに伴う入出力制御方法及び装置
を提供するにある。
Another object of the present invention is to provide an input / output control method and device which involves reading individual commands from the main memory.

【0019】[0019]

【課題を解決するための手段】本発明によれば、上位装
置から発行された外部記憶装置への少くとも一つの出力
要求が指定するチャネルプログラムを読み出し、上記外
部記憶制御装置に送出する。
According to the present invention, a channel program specified by at least one output request issued from a higher-level device to an external storage device is read and sent to the external storage control device.

【0020】上記外部記憶制御装置ではそのチャネルプ
ログラムを記憶し、そのプログラムに含まれるコマンド
を外部記憶制御装置の制御下で実行して行く。本発明の
より望ましい態様では、複数のチャネルプログラムをま
とめて、入出力制御装置から外部記憶制御装置に転送す
る。
The external storage controller stores the channel program and executes the commands contained in the program under the control of the external storage controller. In a more desirable aspect of the present invention, a plurality of channel programs are collected and transferred from the input / output control device to the external storage control device.

【0021】[0021]

【作用】この様に、本発明の一例においてはチャネルプ
ログラムの実行を外部記憶制御装置において制御するの
で、従来必要であった入出力制御装置と外部記憶制御装
置のコマンド転送に伴うオーバヘッドが最小に抑えられ
高スループットが得られる。
As described above, in the example of the present invention, since the execution of the channel program is controlled by the external storage controller, the overhead required by the command transfer between the I / O controller and the external storage controller, which has been conventionally required, can be minimized. High throughput can be obtained.

【0022】さらに、同一のチャネルプログラムに属す
る複数のコマンドがあらかじめまとめて取り出されるの
で、従来のごとく、逐次これらを取り出す場合に比べ
て、コマンド読み出しに伴うオーバヘッドが減少する。
Further, since a plurality of commands belonging to the same channel program are fetched together in advance, the overhead associated with command reading is reduced as compared with the conventional case where these commands are fetched successively.

【0023】さらに、複数のチャネルプログラムをまと
めて主記憶より取り出し、ディスク制御装置に転送した
場合には、コマンド読み出しオーバヘッドおよび転送オ
ーバヘッドがさらに減る。
Further, when a plurality of channel programs are collectively fetched from the main memory and transferred to the disk controller, the command read overhead and the transfer overhead are further reduced.

【0024】[0024]

【実施例】以下、図面を用い本発明によるデータ入出力
制御方法について詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A data input / output control method according to the present invention will be described in detail below with reference to the drawings.

【0025】(実施例1)図1は、本発明を適用した入
出力サブシステムの一実施例の全体構成を示すブロック
図である。入出力サブシステムは、主に入出力制御装置
あるいは入出力プロセッサ101、外部記憶制御装置あ
るいはディスク制御装置131、外部記憶装置、例えば
ディスク装置132、および主記憶装置121から構成
される。本発明よる入出力サブシステムは、上位装置
(図示せず)から入出力要求130が発行されると、入
出力プロセッサ101で入出力要求受付処理などを行な
い、その後、主記憶装置120とディスク制御装置13
1との間でデータ転送を行うことで入出力が達成され
る。入出力プロセッサ101は、入出力制御プロセッサ
102と複数のチャネル制御プロセッサ(またはチャネ
ル装置)108から構成される、入出力要求を発行した
上位装置とは独立して動作し、上位装置からの入出力要
求に従って、ディスク装置132等と記憶装置121と
の間で転送されるデータの入出力制御を行う。入出力プ
ロセッサ101とディスク制御装置131とは複数のチ
ャネルパス142により接続され、各チャネル制御プロ
セッサ108は、それぞれ一つのチャネルパスを介して
ディスク制御装置131に接続されている。入出力要求
制御プロセッサ102は、主記憶装置121とのデータ
転送制御を行う主記憶転送制御部134と制御プロセッ
サ136とメモリ138から構成される。メモリ138
には、例えばチャネルパス制御テーブル103や複数の
マイクロプログラム1060が格納されている。制御プ
ロセッサ136はメモリ138に格納されているマイク
ロプログラム1060を実行し、また制御テーブル10
3の参照更新を行いながら入出力要求130の受付制御
等を行う。チャネル制御プロセッサ108は、主記憶転
送制御部135と制御プロセッサ137とメモリ139
から構成される。これらのチャネル制御プロセッサ10
8は、ディスク制御装置131とのデータ転送を行う。
メモリ139にはコマンドやデータを一時的に格納する
ためのコマンド/データバッファ113や複数のマイク
ロプログラム1090等が格納されている。ディスク制
御装置131は、それぞれ制御プロセッサ140とメモ
リ141などで構成される複数のディスク制御プロセッ
サ133から成る。各ディスク制御プロセッサ133
は、入出力プロセッサ101に複数のチャネルパス14
2を介して接続され、入出力プロセッサ101から転送
されたコマンドを解析し、nコ(n:2以上の整数)の
ディスク装置132(132−1〜132−n)に対し
てディスク入出力を行ったりする。メモリ141内に
は、入出力プロセッサ101から転送されたコマンドや
データを一時保存するためのコマンド/データキュー1
15やチャネルパス制御テーブル103’,ディスク制
御テーブル118、複数のマイクロプログラム106
0’などが格納されている。
(Embodiment 1) FIG. 1 is a block diagram showing the overall configuration of an embodiment of an input / output subsystem to which the present invention is applied. The input / output subsystem mainly includes an input / output control device or input / output processor 101, an external storage control device or disk control device 131, an external storage device such as a disk device 132, and a main storage device 121. In the input / output subsystem according to the present invention, when an input / output request 130 is issued from a higher-level device (not shown), the input / output processor 101 performs an input / output request acceptance process, and then the main storage device 120 and the disk controller. Device 13
Input / output is achieved by performing data transfer with 1. The input / output processor 101 operates independently of a host device that issues an input / output request, and is composed of an input / output control processor 102 and a plurality of channel control processors (or channel devices) 108. According to the request, input / output control of data transferred between the disk device 132 and the storage device 121 is performed. The input / output processor 101 and the disk control device 131 are connected by a plurality of channel paths 142, and each channel control processor 108 is connected to the disk control device 131 via one channel path. The input / output request control processor 102 includes a main memory transfer control unit 134 that controls data transfer with the main memory device 121, a control processor 136, and a memory 138. Memory 138
The channel path control table 103 and a plurality of microprograms 1060 are stored in, for example. The control processor 136 executes the microprogram 1060 stored in the memory 138 and also controls the control table 10
The reception control of the input / output request 130 and the like are performed while the reference update of 3 is performed. The channel control processor 108 includes a main memory transfer control unit 135, a control processor 137, and a memory 139.
Composed of. These channel control processors 10
8 transfers data with the disk controller 131.
The memory 139 stores a command / data buffer 113 for temporarily storing commands and data, a plurality of microprograms 1090, and the like. The disk control device 131 comprises a plurality of disk control processors 133 each composed of a control processor 140 and a memory 141. Each disk control processor 133
Indicates that the input / output processor 101 has a plurality of channel paths 14
The command input from the I / O processor 101, which is connected via the I / O processor 2, is analyzed, and the disk I / O is performed on the n disk devices (n: integer of 2 or more) 132 (132-1 to 132-n). I will go. In the memory 141, a command / data queue 1 for temporarily storing commands and data transferred from the input / output processor 101.
15, channel path control table 103 ′, disk control table 118, a plurality of microprograms 106
0'and the like are stored.

【0026】次に、図2は、図1の各制御プロセッサ1
36,137,140で実行されるマイクロプログラム
群を示す。入出力要求プロセッサ101内の制御プロセ
ッサ106は、チャネルパス選択/入出力要求登録部1
04、一括制御部106、チャネルビジー検出部10
5、入出力要求一括フェッチ部107といったマイクロ
プログラムを実行する。各チャネル制御プロセッサ10
8内の制御プロセッサ137はコマンド一括フェッチ部
109、データ一括転送部110、入出力要求解析部1
11、データ転送制御部112といったマイクロプログ
ラムを実行する。ディスク制御装置131内の制御プロ
セッサ140は、一括制御部106’、データ転送制御
部114、コマンド処理部117、チャネルビジー検出
部105’というマイクロプログラムを実行する。
Next, FIG. 2 shows each control processor 1 of FIG.
36, 137 and 140 show microprogram groups executed. The control processor 106 in the I / O request processor 101 uses the channel path selection / I / O request registration unit 1
04, collective control unit 106, channel busy detection unit 10
5. The microprogram such as the input / output request batch fetch unit 107 is executed. Each channel control processor 10
The control processor 137 in 8 includes a command batch fetch unit 109, a data batch transfer unit 110, and an input / output request analysis unit 1.
11, a microprogram such as the data transfer control unit 112 is executed. The control processor 140 in the disk control device 131 executes a microprogram including a batch control unit 106 ', a data transfer control unit 114, a command processing unit 117, and a channel busy detection unit 105'.

【0027】また、主記憶装置121内には上位装置
(図示せず)から転送された入出力要求130を保持す
るための複数の入出力要求キュー122と、入出力要求
キュー122からポイントされるチャネルプログラム1
23,124,125の格納領域、およびそれぞれのチ
ャネルプログラムに付随するデータを格納するデータエ
リア126,127,128が確保されている。各チャ
ネルプログムは複数のチャネルコマンド語からなる。
Further, the main storage device 121 is pointed to by a plurality of input / output request queues 122 for holding the input / output requests 130 transferred from a host device (not shown), and the input / output request queue 122. Channel program 1
Storage areas 23, 124, 125 and data areas 126, 127, 128 for storing data associated with the respective channel programs are secured. Each channel program consists of multiple channel command words.

【0028】まず、本実施例における入出力処理の概略
について説明する。図3は、入出力プロセッサ101内
の処理フローを示したものである。
First, the outline of the input / output processing in this embodiment will be described. FIG. 3 shows a processing flow in the input / output processor 101.

【0029】まず、上位装置から発行された入出力要求
130は、入出力要求制御プログラム102で、受付け
られ(ステップ204)、次に、受け付けた入出力要求
130の内容からどのチャネルパス142を経由してデ
ータ転送を行うか判別する(ステップ205)。この判
別は、チャネルパス制御テーブル103をサーチするこ
とで行われる。その後、ステップ206で受付けた入出
力要求130を入出力要求キュー122の一つに登録す
る。次に、入出力要求制御プロセッサ102はステップ
205で選択されたチャネパスが、現在他のデータ転送
で使用中であるかどうか検出し(ステップ207)、他
のデータ転送で使用中(ビジー)であればそのデータ転
送が終了するのを待つ(ステップ210)。このパス空
き完了待ちは、そのチャネルパスにおけるデータ転送が
終了し、パス空き報告を受けた時点で解析され、ステッ
プ207においてチャネルパスがビジーでなければステ
ップ208に進む。ステップ208では、入出力要求キ
ュー122内に同じパスを使用する入出力要求の待ちが
既に存在しているかどうか判定し、待ちがなければ、登
録待ちによりキュー登録が行われるのを待つことになる
(ステップ209)。次に入出力制御プロセッサパス
は、ステップ208において、そのチャネルパスを使用
する入出力命令が登録ずみであるとき、ステップ211
で、入出力要求キュー122内に登録された入出力要求
の内、空き状態にあるチャネルパスを使用する複数の入
出力要求を取り出し、次のステップ212ではそれぞれ
の入出力要求に対応したコマンドあるいはデータをまと
めて、主記憶装置から読み出し、まとめにしてディスク
制御装置131に転送する。ディスク制御装置131で
は、これらのコマンドとデータをキューに保持し、コマ
ンド処理部117により、それぞれのコマンドを適当な
タイミングより実行する。本実施例において従来と大き
くことなるところは、いずれかのチャネルパスが空き状
態になっているとき、そのパスを使用する複数の入出力
要求とそれが指定する複数のチャネルプログラムとそれ
らの中の一部又は全部が指定する書き込みデータをまと
めて取り出す点およびそれらをディスク制御装置131
にそのチャネルパスを使用してまとめて転送し、ディス
ク制御装置131において、それらのコマンドの実行タ
イミングを決定するようにした点である。これにより、
チャネルプログラム、データの読み出しに伴なうオーバ
ヘッド、各チャネル制御プロセッサとディスク制御装置
の間のチャネルコマンド語とデータの転送に伴うオーバ
ヘッドなどを削減でき、高スループットを実現すること
ができる。
First, the input / output request 130 issued from the host device is accepted by the input / output request control program 102 (step 204), and then the channel path 142 is passed from the content of the accepted input / output request 130. Then, it is determined whether data transfer is to be performed (step 205). This determination is performed by searching the channel path control table 103. After that, the input / output request 130 accepted in step 206 is registered in one of the input / output request queues 122. Next, the I / O request control processor 102 detects whether the channel path selected in step 205 is currently being used by another data transfer (step 207), and if it is being used (busy) by another data transfer. For example, it waits until the data transfer is completed (step 210). The waiting for the completion of the free path is analyzed when the data transfer in the channel path is completed and the free path report is received, and if the channel path is not busy in step 207, the process proceeds to step 208. In step 208, it is determined whether or not there is already a wait for an I / O request that uses the same path in the I / O request queue 122. If there is no wait, then waiting for registration is performed by waiting for registration. (Step 209). The I / O control processor path then proceeds to step 208 when the I / O instruction using that channel path is registered at step 208.
Then, among the I / O requests registered in the I / O request queue 122, a plurality of I / O requests that use the channel paths in the empty state are extracted, and in the next step 212, commands or commands corresponding to the respective I / O requests are output. The data is collected, read from the main storage device, and transferred together to the disk control device 131. The disk control unit 131 holds these commands and data in a queue, and the command processing unit 117 executes each command at an appropriate timing. The major difference of the present embodiment from the conventional one is that when any channel path is idle, a plurality of I / O requests that use that path, a plurality of channel programs specified by them, and A point at which write data designated by a part or all of them are collectively fetched, and those are taken out by the disk controller 131
That is, the transfer is performed collectively using the channel path, and the execution timing of these commands is determined in the disk control device 131. This allows
It is possible to reduce the channel program, the overhead associated with reading data, the overhead associated with the transfer of channel command words and data between each channel control processor and the disk controller, and to realize high throughput.

【0030】以下、本実施例についてさらに詳細に説明
する。
The present embodiment will be described in more detail below.

【0031】まず、本実施例において上位装置から発行
される入出力要求について、図4を用いて説明する。
First, the input / output request issued from the host device in this embodiment will be described with reference to FIG.

【0032】図4はデバイス内に格納されたファイルの
入出力を行うプログラムの一例301と、ファイル入出
力を受けて実際にデバイスに対して入出力を行うため
の、上位装置(図示せず)で実行されるオペレーテイン
グシステムの動作(302〜304)の概略を示したも
のである。入出力プログラム301は、一般的なファイ
ル入出力プログラムを記述したものである。ファイル入
出力はREAD部分で行われ、その前後に入出力を行う
ための前後処理(OPEN/CLOSE)が含まれる。
READ部分では、パラメタとしてデータを格納したデ
ータエリアやその他の情報が指定される。入出力プログ
ラム301のREAD部分を受けてオペレーティングシ
ステムが起動される。ステップ302ではチャネルプロ
グラム語を作成する。チャネルプログムは入出力プロセ
ッサ101に要求する動作が前述されたチャネルコマン
ド語の並びで、この中にはディスクに対する入出力要求
などが格納されている。ステップ303では、チャネル
プログラムの実行を入出力プロセッサに依頼する入出力
要求を発行する。このとき、入出力要求は、パラメタと
して入出力動作を行うべきデバイスの識別子や入出力要
求ブロックアドレスを指定する。実行すべてチャネルプ
ログラムが格納されたアドレスは、入出力要求ブロック
アドレスから知ることができる。そして、ステップ30
4では入出力処理が完了するを待つ。入出力処理の完了
は入出力プロセッサ101から上位装置に対して割り込
みを返すことで実現される。この割り込みにより入出力
完了待ちが解除され、入出力プログラム301の処理が
継続される。
FIG. 4 shows an example of a program 301 for inputting / outputting a file stored in a device, and a host device (not shown) for actually inputting / outputting the file input / output to / from the device. FIG. 3 is a schematic view showing the operations (302 to 304) of the operating system executed in 1. The input / output program 301 describes a general file input / output program. File input / output is performed in the READ part, and pre-processing and post-processing (OPEN / CLOSE) for performing input / output before and after the READ part are included.
In the READ part, a data area storing data as parameters and other information are designated. Upon receiving the READ portion of the input / output program 301, the operating system is activated. In step 302, a channel program word is created. The channel program is a sequence of channel command words for which the operation required of the input / output processor 101 is described, and the input / output request for the disk is stored in this. In step 303, an input / output request for requesting the input / output processor to execute the channel program is issued. At this time, the input / output request specifies, as a parameter, the identifier of the device to perform the input / output operation or the input / output request block address. The address where the execute all channel program is stored can be known from the I / O request block address. And step 30
At 4, the input / output process is waited for. Completion of the input / output processing is realized by returning an interrupt from the input / output processor 101 to the host device. This interrupt cancels the I / O completion wait and continues the processing of the I / O program 301.

【0033】入出力プロセッサと上位装置とのインタフ
ェースプログラムであるチャネルプログラムの例を図
5,6に示す。
An example of a channel program which is an interface program between the input / output processor and the host device is shown in FIGS.

【0034】図5,6は、入出力処理に用いられるチャ
ネルプログラムを2種類示している。図5(A),
(B)にそれぞれ示す第1のタイプのチャネルプログラ
ムは、ディスクヘッドの制御をコマンドで行う形式で、
401〜408はREAD処理、409〜416はWR
ITE処理のチャネルプログラムを示している。SEE
K(401)はディスクの目的レコードへシリンダヘッ
ドの位置付けを行うためのものであり、SET SEC
TOR(402)は目的レコードのセクタへシリンダへ
ッドの位置付けを行うためのものである。SEARCH
ID EQUAL(403)は、目的レコードの確認
を行う命令であり、TIC(404)は、通常、SEA
RCH ID EQUAL(403)へのジャンプ動作
を意味する。SARCH ID EQUAL(403)
とTIC(404)とは対になっており、条件が成立
し、目的レコードが確認されるまでSEARCH ID
EEQUAL(403)を繰り返し実施する。SEA
RCH ID EQUAL(403)において条件が成
立する(目的レコード位置に達する)とTIC(40
4)はステップされREAD(405)へ制御が移行す
る。READ(405)は、現在のディスクヘッド位置
からデータ長(406)で示される長さのデータ読みだ
しを意味する。読みだされたデータは主記憶アドレス
(407)で示されるメモリ内に格納される。WRIT
E処理(409〜416)もREAD(405)がRI
TE(403)に変更され、主記憶アドレスが書き込み
データの格納エリアを示すアドレスに変更されるだけで
他の形式は同様である。
5 and 6 show two types of channel programs used for input / output processing. FIG. 5 (A),
The first type of channel program shown in (B) is a format for controlling the disk head by a command,
401 to 408 are READ processing, 409 to 416 are WR
The channel program of ITE processing is shown. SEE
K (401) is for positioning the cylinder head to the target record on the disk.
TOR (402) is for positioning the cylinder head to the sector of the target record. SEARCH
The ID EQUAL (403) is an instruction to confirm the target record, and the TIC (404) is usually the SEA.
It means a jump operation to the RCH ID EQUAL (403). SARCH ID EQUAL (403)
And TIC (404) are paired, and the SEARCH ID is set until the condition is met and the target record is confirmed.
Repeat EEQUAL (403). SEA
When the condition is met in RCH ID EQUAL (403) (the target record position is reached), TIC (40
In step 4), control is transferred to READ (405). READ (405) means reading of data of the length indicated by the data length (406) from the current disk head position. The read data is stored in the memory indicated by the main storage address (407). WRIT
In the E processing (409 to 416), READ (405) is also RI.
The other format is the same except that the TE (403) is changed and the main storage address is changed to an address indicating the storage area of the write data.

【0035】ただし、動作はREAD時はチャネルプロ
グラム(401−407)が指定するデータエリア(4
08)に結果が格納されるのに対し、WRITE時は上
位装置がデータエリア(416)にデータを格納した後
にチャネルプログラム(409〜415)の実行を開始
する。
However, the operation is such that at the time of READ, the data area (4) specified by the channel program (401-407) is specified.
The result is stored in (08), whereas in WRITE, the upper device starts executing the channel programs (409 to 415) after storing data in the data area (416).

【0036】図6(A),(B)にそれぞれ示す第2の
タイプのチヤネルプログラムは、第1のタイプのチャネ
ルプログラと異なり、シンプルな形式である。第1のタ
イプのチャネルプログラムがディスクヘッドの制御をチ
ャネルプログラム内(401〜407,409〜40
5)で行っているのに対し、第2のタイプのチャネルコ
マンド語はディスクに対する要求(READ,WRIT
E)と目的レコード位置を指定するだけで、SEEK,
SET SECTOR,SEARCH IR EQUA
L,TICといった一連の制御をディスク制御装置(1
31)が行う。417〜420はREAD動作を行うチ
ャネルプログラムであり、422〜425はWRITE
動作を行うチャネルプログラムである。
The second type channel programs shown in FIGS. 6A and 6B are simple formats, unlike the first type channel programs. The first type of channel program controls the disk head within the channel program (401-407, 409-40
5), the second type of channel command word is a request (READ, WRIT) to the disk.
E) and the target record position, SEEK,
SET SECTOR, SEARCH IR EQA
Disk controller (1
31). Reference numerals 417 to 420 are channel programs for performing READ operation, and 422 to 425 are WRITE.
It is a channel program that operates.

【0037】本実施例では上記2つのタイプのチャネル
プログラムに対しても適用可能である。
This embodiment can be applied to the above two types of channel programs.

【0038】図7にはディスク装置接続構成例の概略図
を示す。入出力プロセッサ101内にはチャネル制御プ
ロセッサ108が複数存在し、それぞれは一つのチャネ
ルパスに対応している。本実施例では、チャネルパス1
〜4があると仮定する。ディスク制御装置131には複
数のディスク装置132が接続される。これらディスク
装置132に対して入出力要求を発行するソフトウェア
からは、一般的にはそれぞれのディスク装置132に対
応するシテム内でユニークな名称、例えば、VOL1〜
VOL4を指定して入出力を行う。図7ではVOL1と
VOL2に対しては、チャネルパス1とチャネルパス2
のいずれかを介してデータ入出力が行なわれる。同じよ
うにVOL3とVOL4に対しては、チャネルパス3あ
るいはチャネルパス4のいずれかを介してデータ入出力
が行われる。通常はデータ転送を行ってないチャネルパ
ス(空きパス)を介して入出力が行われる。このよう
に、複数のチャネルパスを同一ディスクに接続すること
でスループットを上げることができる。
FIG. 7 shows a schematic diagram of an example of a disk device connection configuration. There are a plurality of channel control processors 108 in the input / output processor 101, and each corresponds to one channel path. In this embodiment, the channel path 1
Suppose there is ~ 4. A plurality of disk devices 132 are connected to the disk control device 131. Software that issues I / O requests to these disk devices 132 generally has a unique name in the system corresponding to each disk device 132, for example, VOL1.
Input and output by specifying VOL4. In FIG. 7, channel path 1 and channel path 2 are associated with VOL1 and VOL2.
Data is input / output via any of the above. Similarly, data input / output is performed with respect to VOL3 and VOL4 through either channel path 3 or channel path 4. Input / output is normally performed via a channel path (empty path) where data is not transferred. In this way, the throughput can be increased by connecting a plurality of channel paths to the same disk.

【0039】次に、入出力プロセッサが使用する主要な
リソースについて説明する。本発明で使用する重要なリ
ソースは図1に示す入出力要求キュー122とチャネル
パス制御テーブル103である。チャネルパス制御テー
ブル103は図7で説明した複数のチャネル制御プロセ
ッサ108を管理するために用いられる。また、入出力
要求キュー122は、上位装置から送られてくる入出力
要求を一時的に待たせるために使用する。
Next, main resources used by the input / output processor will be described. The important resources used in the present invention are the I / O request queue 122 and the channel path control table 103 shown in FIG. The channel path control table 103 is used to manage the plurality of channel control processors 108 described in FIG. Further, the input / output request queue 122 is used to temporarily hold an input / output request sent from the host device.

【0040】まず、図8を用いてチャネルパス制御テー
ブル103の構造を説明する。チャネルパス制御テーブ
ル103は、各デバイスに対するデバイス識別子60
1、各デバイスに対する入出力要求を保持している入出
力要求キューの識別子602それぞれの入出力要求キュ
ーに登録されている待ち入出力要求数603、各デバイ
スをアクセスするのに現在使用可能チャネル番号(つま
り、チャネル制御プロセッサの番号)4、およびチャネ
ル装置ステータス605を格納するフィールドを有して
いる。
First, the structure of the channel path control table 103 will be described with reference to FIG. The channel path control table 103 has a device identifier 60 for each device.
1. I / O request queue identifier 602 that holds I / O requests for each device 602 Number of waiting I / O requests registered in each I / O request queue 603; Channel number currently available to access each device (That is, the channel control processor number) 4 and a field for storing the channel device status 605.

【0041】通常、デバイス識別子601は、個々の入
出力デバイスを識別するために、システム構築時にデバ
イスごとにシステム管理者が設定する値である。この値
は、システム内でユニークであり、異なるデバイスに対
して同じデバイス識別子が設定されることはない。した
がって、デバイス識別子が指定されると、それに対応す
るデバイスが一意に決定することになる。この値はソフ
トウェアから入出力プロセッサ101に対して入出力要
求を発行するときにも指定される。
Normally, the device identifier 601 is a value set by the system administrator for each device when the system is constructed in order to identify each input / output device. This value is unique in the system, and the same device identifier is never set for different devices. Therefore, when the device identifier is designated, the device corresponding to it is uniquely determined. This value is also specified when the software issues an input / output request to the input / output processor 101.

【0042】入出力要求キュー識別子602は、複数存
在する入出力要求キュー122を識別するためのもので
ある。入出力要求キュー122は、基本的にはどういう
単位に持っていてもかまわない。入出力要求キュー12
2は構造、および保持単位についてはあとで詳細に説明
する。フィールド603は入出力要求キュー122ごと
にどのくらいの入出力要求が待ち入出力要求として登録
されているかを示す値である。フィールド604は、利
用可能チャネル装置を示し、図7で説明したように一つ
のデバイスに対応して複数のチャネルパスが割り当てら
れる。ここで利用可能チャネルパスとは、空き状態であ
ればデータ転送を行ってもよいチャネルパスを示す。こ
の利用可能チャネルパス(利用可能チャネル装置)は、
システムの構築時に管理者が設定する。例えば、管理者
は負荷の高そうなディスク装置が接続されたディスク制
御装置に対してより多くのパスを接続するのが一般的で
ある。チャネル装置ステータスフィールド605は、チ
ャネルパスが使用中かどうかを示している。図中“BU
SY”は、目的のチャネルパスが現在、他の入出力要求
の処理に使用されていることを示し、“FREE”は使
用されていないことを示している。例えば、デバイス識
別子“10”で識別されるディスク装置132には3つ
のチャネルパス(チャネル装置:“1”、“2”、“1
0”)が割り当てられており、そのうちチャネル装置
“2”と“10”のチャネルパスは現在使用中であるこ
とを示している。また、入出力要求キュー122は識別
子“1”で一括管理されており、要求待ちの入出力要求
数は5である。入出力要求キュー122の別な割り当て
方として、デバイス識別子“20”で識別されるディス
ク装置132のように、2つの入出力要求キュー122
(入出力要求キュー識別子:“2”、“3”)が割り当
てられているケースもある。これは、チャネル装置10
8ごとに入出力要求キュー122を持っていることを示
している。
The input / output request queue identifier 602 is for identifying a plurality of input / output request queues 122. The input / output request queue 122 may basically have any unit. I / O request queue 12
The structure of 2 and the holding unit will be described in detail later. A field 603 is a value indicating how many input / output requests are registered as waiting input / output requests for each input / output request queue 122. A field 604 indicates an available channel device, and a plurality of channel paths are assigned to one device as described in FIG. Here, the available channel path indicates a channel path that may be used for data transfer if it is free. This available channel path (available channel device) is
Set by the administrator when building the system. For example, it is common for an administrator to connect more paths to a disk control device to which a disk device that is likely to be heavily loaded is connected. The channel device status field 605 indicates whether the channel path is busy. In the figure "BU
SY "indicates that the target channel path is currently used for processing another I / O request, and" FREE "indicates that it is not used. For example, it is identified by the device identifier" 10 ". There are three channel paths (channel devices: "1", "2", "1"
0 ”) is assigned, and the channel paths of the channel devices“ 2 ”and“ 10 ”are currently in use. The input / output request queue 122 is collectively managed by the identifier“ 1 ”. The number of I / O requests waiting for a request is 5. As another allocation method of the I / O request queue 122, two I / O request queues 122, such as the disk device 132 identified by the device identifier “20”, are used.
In some cases, (input / output request queue identifiers: “2”, “3”) are assigned. This is the channel device 10
It is shown that each 8 has an input / output request queue 122.

【0043】次に、図9を用いて入出力要求キュー12
2に保持される入出力要求を説明する。ここでは、入出
力要求キュー識別子“1”で示される入出力要求キュー
122を例に説明する。各入出力要求は、4つのフィー
ルド701〜704を有する。
Next, referring to FIG. 9, the input / output request queue 12
The input / output request held in 2 will be described. Here, the input / output request queue 122 indicated by the input / output request queue identifier “1” will be described as an example. Each I / O request has four fields 701 to 704.

【0044】フィールド701は各入出力要求が指定す
るチャネルプログラム123,124又は125(図
1)の先頭アドレスを保持する。フィールド702は、
各入出力要求が使用するデバイスの識別子を保持する。
フィールド703は、各入出力要求で転送されるデータ
のデータ長をしめす。フィールド704は、各入出力要
求の種類を示し、例えば、デバイスから主記憶装置への
データ転送を示す“READ”、その逆に主記謀装置か
らデバイスへのデータ転送を示す“WRITE”などが
ある。図9に示すように、入出力要求キュー122は複
数存在する。また、入出力要求キュー122は、チャネ
ルパス制御テーブル103から入出力要求キュー識別子
を介して関連付けられている。なお、本実施例では入出
力要求キュー122は、主記憶装置121上に置かれる
が、可能であれば、入出力プロセッサ101内に配置し
た方が、処理性能を向上することができる。
The field 701 holds the start address of the channel program 123, 124 or 125 (FIG. 1) designated by each input / output request. Field 702
Holds the identifier of the device used by each I / O request.
The field 703 indicates the data length of the data transferred by each input / output request. A field 704 indicates the type of each input / output request, for example, “READ” indicating data transfer from the device to the main storage device, and conversely “WRITE” indicating data transfer from the main conspirator device to the device. is there. As shown in FIG. 9, there are a plurality of input / output request queues 122. The input / output request queue 122 is associated with the channel path control table 103 via the input / output request queue identifier. Although the input / output request queue 122 is placed on the main storage device 121 in this embodiment, it is possible to improve the processing performance by placing it in the input / output processor 101 if possible.

【0045】次に、図10を用いて入出力要求キュー1
22の管理単位について説明する。
Next, referring to FIG. 10, the input / output request queue 1
The 22 management units will be described.

【0046】入出力要求キュー122は任意の単位に設
定することができる。基本的には、アクセス頻度が高く
性能上ネックになる可能性が高い箇所ごとに配置するこ
とが望ましい。図10(A)に示す配置1は、一例とし
て2台のディスク制御装置131a,131bのそれぞ
れに対応して入出力要求キュー122a、および122
bを設けている。このような配置が有効なケースとして
は、各ディスク制御装置131a,131bが多数のデ
ィスク装置を管理している場合が考えられる。
The input / output request queue 122 can be set in arbitrary units. Basically, it is desirable to place them at locations where access is frequent and there is a high possibility that performance will be a bottleneck. The arrangement 1 shown in FIG. 10A is, as an example, the input / output request queues 122a and 122 corresponding to the two disk control devices 131a and 131b, respectively.
b is provided. As a case where such an arrangement is effective, it is conceivable that each disk control device 131a, 131b manages many disk devices.

【0047】図10(B)に示す配置2は、ディスク装
置ごとに入出力要求キュー122c、122d配置した
ものを示している。配置2では配置1と異なり、ディス
ク制御装置131の数に関係なく各ディスク装置ごとに
入出力要求キューを設けている。このような入出力要求
キューの管理単位は、高頻度でアクセスを行なうことの
できるデバイスを用いる場合に有効である。例えば、デ
ィスクアレイ装置132′のようにソフトウェアからは
論理的に一つのディスク装置に見えるが、装置内部では
複数のディスク装置815,816,817に対して同
時にアクセス可能なデバイス、あるいは半導体メモリ等
で構成された非常に高速なレスポンスが期待できるデバ
イスなどが考えられる。
Arrangement 2 shown in FIG. 10B shows an arrangement in which the input / output request queues 122c and 122d are arranged for each disk device. Unlike the arrangement 1, the arrangement 2 has an input / output request queue for each disk device regardless of the number of disk control devices 131. Such an input / output request queue management unit is effective when using a device that can be accessed frequently. For example, like a disk array device 132 ', the software logically looks like a single disk device, but inside the device it is a device that can simultaneously access a plurality of disk devices 815, 816, 817, or a semiconductor memory or the like. It is conceivable that the configured device can expect very fast response.

【0048】図10(c)に示す配置3はチャネルパス
ごとに入出力要求キュー122e,122fを配置した
ものである。このような配置は、少ない本数の入出力パ
スを用い高頻度で入出力要求処理しなければならないと
きや、高速なチャネルを用いて短いデータを効率よく処
理しようとするときに有効である。
In the arrangement 3 shown in FIG. 10C, the input / output request queues 122e and 122f are arranged for each channel path. Such an arrangement is effective when it is necessary to process input / output requests with high frequency using a small number of input / output paths, or when efficiently processing short data using a high-speed channel.

【0049】本発明は以上のいろいろの配置に対しても
適用可能であるが、以下では、高速化のために、上記配
置3を使用していると仮定する。
Although the present invention can be applied to the above various arrangements, it is assumed below that the arrangement 3 is used for speeding up.

【0050】次に、入出力プロセッサ101内の制御プ
ロセッサ136の動作を、上記リソースを利用しながら
説明する。図11はチャネルパス選択/入出力要求登録
部104における処理のフローを示したものである。上
位装置より入出力要求130が送られてくると、制御プ
ロセッサ136は、まず、この処理を起動し、その要求
を受付ける(ステップ901)。チャネルパス選択/入
出力要求登録部104は、入出力要求130を受付ける
と、チャネルパス制御テーブル103内のステータスフ
ィールド605をサーチし、その入出力要求が指定する
デバイス識別子に対応する利用可能チャネル装置108
が現在使用可能かどうか調べる(ステップ902)。な
お、チャネルビジー検出部105は、チャネル制御プロ
セッサ108の動作を常時監視して、このテーブル10
3内のステータスフィールドを更新するようになってい
る。ステップ402の調査の結果、チャネル装置ステー
タスが“FREE(空き)”のチャネル装置108があ
れば、それに対応する入出力要求キュー122を選択す
る。チャネル装置ステータスが“FREE”のチャネル
装置108がない場合には、入出力要求130の待ち数
がより少ないチャネルパスに対応する入出力要求キュー
識別子を選択する。待ち要求数は同じく図8の待ち要求
数フィールド603を参照することで得ることができ
る。ただし、入出力要求130の待ち数による選択は、
受付けられた入出力要求が指定するデバイスに対し複数
の入出力要求キュー122を割り当てている場合のみ可
能で、そうでない場合には入出力要求130の待ち数に
よる選択は必要はない。ステップ904では、ステップ
903で得られた入出力要求キュー識別子に対応する入
出力要求キュー122へ、デバイス識別子、チャネルコ
マンド語先頭アドレス、転送データ長、要求種類を登録
する。その後、チャネルパス制御テーブル103の待ち
要求数フィールド603の値をインクリメントし(ステ
ップ905)、一括制御部106に対し起動要求を行な
う(ステップ906)。この際、新たに登録した入出力
要求を一括制御部に通知する。
Next, the operation of the control processor 136 in the input / output processor 101 will be described using the above resources. FIG. 11 shows a flow of processing in the channel path selection / input / output request registration unit 104. When the input / output request 130 is sent from the host device, the control processor 136 first activates this process and accepts the request (step 901). Upon receiving the input / output request 130, the channel path selection / input / output request registration unit 104 searches the status field 605 in the channel path control table 103, and the available channel device corresponding to the device identifier designated by the input / output request. 108
Is currently available (step 902). The channel busy detection unit 105 constantly monitors the operation of the channel control processor 108,
The status field in 3 is updated. As a result of the investigation in step 402, if there is a channel device 108 whose channel device status is “FREE (empty)”, the I / O request queue 122 corresponding to it is selected. When there is no channel device 108 whose channel device status is "FREE", the I / O request queue identifier corresponding to the channel path with the smaller number of waiting I / O requests 130 is selected. The number of waiting requests can be obtained by referring to the number of waiting requests field 603 of FIG. However, the selection based on the number of waiting I / O requests 130 is
This is possible only when a plurality of I / O request queues 122 are assigned to the device specified by the received I / O request, and in other cases, selection by the number of waiting I / O requests 130 is not necessary. In step 904, the device identifier, channel command word start address, transfer data length, and request type are registered in the input / output request queue 122 corresponding to the input / output request queue identifier obtained in step 903. After that, the value of the waiting request number field 603 of the channel path control table 103 is incremented (step 905), and a start request is issued to the collective control unit 106 (step 906). At this time, the batch control unit is notified of the newly registered input / output request.

【0051】一括制御部106における処理は、本発明
の特徴の一つであり、以下これについて図12を参照し
て説明する。
The processing in the collective control unit 106 is one of the features of the present invention, which will be described below with reference to FIG.

【0052】一括制御部106の起動契機は、2種類あ
る。ひとつは先に述べたチャネルパス選択/入出力要求
登録処理部104からの起動要求、もう一つはチャネル
制御プロセッサ108で実行されるデータ転送処理部1
12からの起動要求である。
There are two types of activation triggers for the collective control unit 106. One is the activation request from the channel path selection / I / O request registration processing unit 104 described above, and the other is the data transfer processing unit 1 executed by the channel control processor 108.
12 is a start request.

【0053】チャネルパス選択/入出力要求登録部10
4からの起動要求を受けると(ステップ1001)、一
括制御部106は、チャネルビジー検出部105に対し
チャネルパスの使用可否を問いあわせる(ステップ10
2)。ここで、チャネルビジー検出部105では、チャ
ネルパス制御テーブル103を参照し、受け付けられた
入出力要求で指定されたデバイス識別子に対応するチャ
ネルパス142が使用可能かどうかを検出する。そし
て、その結果を一括制御部106に報告する。次に、一
括制御部106は、該当するチャネルパス140が“B
USY”であれば処理を終了し、“FREE”である場
合には次のステップに移る(ステップ1003)。ステ
ップ1003において該当するチャネルパス140が
“FREE”であったならば、一括制御部106は、チ
ャネルパス制御テーブル103をサーチして、そのチャ
ネルパスを使用するデバイスに対する入出力装置要求を
保持している入出力要求キューの識別子得る(ステップ
1004)。ステップ1005では、入出力要求一括フ
ェッチ処理部107に対して、先に得た入出力要求キュ
ー識別子に対応する特定の入出力要求キュー122に登
録されているそのチャネルパスを使用するデバイスに対
する全ての入出力要求の取り出しを指示する(ステップ
1005)。本実施例で仮定しているように、各入出力
要求キューが一つのチャネルパスに対応して設けられて
いる場合には、ステップ1004で得た入出力要求キュ
ー識別子を有する入出力キューに登録されている全ての
入出力要求の取り出しを要求すればよい。そして、チャ
ネルパス制御テーブル103の対応する待ち要求数フィ
ールド603にゼロをセットし、またチャネル装置ステ
ータスフィールド605を“FREE”から“BUS
Y”にする(ステップ1006)。その後、入出力要求
一括フェッチ処理部107は、その特定の入出力要求キ
ューに登録された複数の入出力要求を取り出し、一括制
御部106は、これらの取り出された複数の入出力要求
を、そのチャネルパスに対して設けられたチャネル制御
プロセッサ108の入出力要求解析部111へ送る(ス
テップ1007)。具体的には、一括制御部106は、
それぞれの入出力要求として、図9に示すように、チャ
ネルプログラム先頭アドレスその他の情報を送る。
Channel path selection / I / O request registration unit 10
When receiving the activation request from the communication controller 4 (step 1001), the collective control unit 106 inquires of the channel busy detection unit 105 whether or not the channel path can be used (step 10).
2). Here, the channel busy detection unit 105 refers to the channel path control table 103, and detects whether the channel path 142 corresponding to the device identifier designated by the received input / output request can be used. Then, the result is reported to the collective control unit 106. Next, the collective control unit 106 determines that the corresponding channel path 140 is “B”.
If it is "USY", the process is terminated, and if it is "FREE", the process proceeds to the next step (step 1003) If the corresponding channel path 140 is "FREE" in step 1003, the collective control unit 106 Searches the channel path control table 103 to obtain the identifier of the input / output request queue holding the input / output device request for the device using the channel path (step 1004). The processing unit 107 is instructed to take out all the I / O requests for the device that uses the channel path registered in the specific I / O request queue 122 corresponding to the previously obtained I / O request queue identifier ( (Step 1005). As assumed in this embodiment, each input / output request queue has one If it is provided corresponding to the channel path, it is sufficient to request the extraction of all the I / O requests registered in the I / O queue having the I / O request queue identifier obtained in step 1004. The corresponding wait request number field 603 of the control table 103 is set to zero, and the channel device status field 605 is set from "FREE" to "BUS".
Y ″ (step 1006). Thereafter, the input / output request batch fetch processing unit 107 fetches a plurality of I / O requests registered in the specific I / O request queue, and the batch control unit 106 fetches these. The plurality of input / output requests are sent to the input / output request analysis unit 111 of the channel control processor 108 provided for the channel path (step 1007).
As shown in FIG. 9, a channel program start address and other information are sent as each input / output request.

【0054】一括制御部106に対するもう一つの起動
である、いずれかのチャネル制御プロセッサのデータ転
送制御部112からの起動要求は、いずれかのチャネル
パスにおけるデータ転送が終了した時点で発生する。こ
のとき、一括制御部106には、情報として、どのチャ
ネルパスのデータ転送が終了したのかという情報が送ら
れる。ステップ1008でデータ転送制御部112から
の起動要求を受けると、一括制御部106は、この情報
を元にチャネルパス制御テーブル103をサーチし、該
当するチャネルパスへのデータ転送を待っている入出力
要求があるかどうか調べ、その結果データ転送を待って
いる入出力要求の待ちがなければ処理は終了し、そうで
なければステップ1002に移り、前述と同じ処理を行
う(ステップ1009)。
The activation request from the data transfer control unit 112 of any channel control processor, which is another activation to the collective control unit 106, is generated at the time when the data transfer in any channel path is completed. At this time, the collective control unit 106 is sent with information as to which channel path the data transfer is completed. Upon receiving the activation request from the data transfer control unit 112 in step 1008, the collective control unit 106 searches the channel path control table 103 based on this information, and inputs / outputs waiting for data transfer to the corresponding channel path. Whether or not there is a request is checked, and if the result is that there is no waiting for an input / output request waiting for data transfer, the process ends, otherwise the process moves to step 1002 and the same process as described above is performed (step 1009).

【0055】チャネル制御プロセッサ108の入出力要
求解析部111は、一括制御部106から送られてきた
複数の入出力要求の解析を行ない、それらがデバイスに
対するデータ読み出し要求かデータ書き込み要求かを判
別する。これらの判定は、入出力要求キュー122内の
要求種類704(図9)のフィールドを参照することに
より行なわれる。その後、コマンド一括フェッチ部10
9を起動し、それらの入出力要求が指定するチャネルプ
ログラムのフェッチを行う。一括制御部106から送ら
れてくる複数の入出力要求は、それぞれが使用するチャ
ネルプログラムの先頭アドレスを保持しており、コマン
ド一括フェッチ部109では、これらの先頭アドレスを
用いて主記憶装置121からこれらの入出力要求が指定
する複数のチャネルプログラム123,124又は12
5を順次読みだし、コマンド/データバッファ113に
転送する。その後、入出力要求制御部111は、データ
一括転送部110を起動し、コマンド一括フェッチ部1
09により取り出されたチャネルプログラム内のコマン
ドが指定する主記憶アドレスに基づいて書き込みデータ
を主記憶から読み出し、コマンド/データバッファ11
3に取り込む。データの書き込みを要求する入出力要求
が複数あるときには、順次それらの入出力要求が指定す
る書き込みデータを主記憶装置121から読み出す。
The input / output request analysis unit 111 of the channel control processor 108 analyzes a plurality of input / output requests sent from the collective control unit 106 and determines whether they are a data read request or a data write request to the device. . These determinations are made by referring to the field of the request type 704 (FIG. 9) in the input / output request queue 122. After that, the command batch fetch unit 10
9 is started, and the channel program specified by those input / output requests is fetched. The plurality of I / O requests sent from the batch control unit 106 hold the start addresses of the channel programs used by each, and the command batch fetch unit 109 uses these start addresses from the main storage device 121. A plurality of channel programs 123, 124 or 12 designated by these input / output requests
5 is sequentially read and transferred to the command / data buffer 113. After that, the input / output request control unit 111 activates the data batch transfer unit 110, and the command batch fetch unit 1
The write data is read from the main memory on the basis of the main memory address designated by the command in the channel program fetched by 09, and the command / data buffer 11 is read.
Take in 3. When there are a plurality of input / output requests for writing data, the write data designated by the input / output requests are sequentially read from the main storage device 121.

【0056】このようにして読み出された複数のチャネ
ルプログラムと書き込みデータが図16に示すようにコ
マンド/データバッファ113に記憶される。簡単化の
ために図ではチャネルプログラムをコマンドとして示
し、書き込みデータはデータとして示してある。具体的
には、各入出力要求に対する、チャネルプログラムに続
いて、その入出力要求がデータ書き込みを要求するとき
には、書き込みデータが記憶される。コマンド/データ
1405,1408はそのようなプログラムあるいはプ
ログラムと書き込みデータの組の例である。各コマンド
/データ1405又は1408の前には、コマンド識別
子1403又は1406、コマンド/データ長1404
又は1407が付加される。コマンド識別子1403又
は1406にはそれに続いて記憶されるチャネルプログ
ラムで制御されるデバイスを識別子を用いる。コマンド
/データ長は、それに続くチャネルプログラムあるいは
それと書き込みデータとの組のデータ長である。このよ
うな複数の入出力要求に対する複数組のデータの前に、
ヘッダとして、データ識別子1401、総転送データ長
1402が付加される。データ識別子1401は、本実
施例では前述の複数の入出力要求を取り出した入出力要
求キューの識別子を用いる。これらのデータ識別子14
01、総転送データ長、コマンド識別子1403,14
06、コマンド/データ長は、入出力要求制御部111
により書き込まれる。
The plurality of channel programs and write data thus read are stored in the command / data buffer 113 as shown in FIG. For simplification, the channel program is shown as a command and the write data is shown as data in the figure. Specifically, following the channel program for each input / output request, when the input / output request requests data writing, write data is stored. Commands / data 1405, 1408 are examples of such programs or sets of programs and write data. Each command / data 1405 or 1408 is preceded by a command identifier 1403 or 1406 and a command / data length 1404.
Or 1407 is added. The command identifier 1403 or 1406 uses an identifier of a device controlled by a channel program stored subsequently. The command / data length is the data length of the channel program that follows it or a set of it and write data. Before multiple sets of data for such multiple I / O requests,
A data identifier 1401 and a total transfer data length 1402 are added as a header. As the data identifier 1401, in this embodiment, the identifier of the input / output request queue from which the aforementioned plurality of input / output requests are extracted is used. These data identifiers 14
01, total transfer data length, command identifier 1403, 14
06, the command / data length is the input / output request control unit 111
Written by.

【0057】このように、本実施例では、複数の入出力
要求の群に対して入出力要求部111、コマンド一括フ
ェッチ部109、データ一括転送部119が起動される
ので、これらのマイクロプログラムの起動、終了のオー
バヘッドが少ない。
As described above, in this embodiment, the I / O request unit 111, the command batch fetch unit 109, and the data batch transfer unit 119 are activated for a group of a plurality of I / O requests. There is little overhead of starting and ending.

【0058】従来とは異なり、複数のコマンドやそれに
付随するデータを取り込む必要があることから、コマン
ド/データバッファ113の容量は従来より大きくする
必要がある。この容量は、入出力要求キュー122の個
数と、入出力要求の入出力要求キュー122毎の平均キ
ューイング長と、一つの入出力要求の平均データ長の積
で求めた値が望ましいが、入出力プロセッサの実装など
の関係から、それよりも少ない容量のメモリ量しか持て
ない可能性がある。その場合には、入出力要求キュー1
22内の全ての要求をコマンド/データバッファ113
に格納することができないケースがある。こういった場
合は、コマンド/データバッファ113の空き領域に格
納できる限りの入出力要求を取り込む制御を設ければよ
い。これらの制御は、コマンド一括フェッチ部109あ
るいはデータ一括転送部110の実行時に、格納できな
かった入出力要求を入出力要求キュー122に戻すこと
で達成される。この際、既に所定の入出力要求キュー1
22に新たな入出力要求が格納されている可能性もある
ため、入出力要求キュー122の最も先頭(次に最も早
く取り出される位置)にキューイングすることで、入出
力の順番を保つことができる。また、チャネルパス制御
テーブル103の待ち要求数フィールド603の値に、
前記格納できなかった入出力要求数を加える必要があ
る。さらに、コマンド/データバッファ113に格納さ
れた複数の入出力要求がコマンド/データバッファ11
3のどの位置に格納されたかを認識しておく必要があ
る。このために、一括制御部106が入出力要求キュー
122から取り出したデータフィールド内に格納されて
いるチャネルコマンド語先頭アドレス701、コマンド
/データバッファ113内のアドレスに置き換えること
で実現可能となる。この情報は、ディスク制御装置13
1にコマンドやデータを正常に転送し終わるまで保存/
管理しているため可能となる。さらには、複数のコマン
ドやデータや一括してディスク制御装置131に転送す
ることから、ディスク制御装置131内のキュー116
の容量の関係で格納できないケースにも使用できる。つ
まり、ディスク制御装置131内のキュー116の容量
は有限であることから、キューイングできるコマンドや
データの数にも限りがある。この時、ディスク制御装置
131から格納できないコマンドを通知することで、デ
ィスク制御装置131内のキュー116に格納できなか
ったコマンドだけを入出力要求キュー122に再登録す
ることができるようになる。
Unlike the prior art, it is necessary to take in a plurality of commands and the data associated with them, so that the capacity of the command / data buffer 113 must be made larger than before. This capacity is preferably a value obtained by multiplying the number of input / output request queues 122, the average queuing length of each input / output request queue 122, and the average data length of one input / output request. Due to the implementation of the output processor, there is a possibility that it can only have a smaller amount of memory. In that case, I / O request queue 1
Command / data buffer 113 for all requests in 22
There are cases where it cannot be stored in. In such a case, control may be provided to fetch as many input / output requests as can be stored in the free area of the command / data buffer 113. These controls are achieved by returning the input / output request that could not be stored to the input / output request queue 122 when the command batch fetch unit 109 or the data batch transfer unit 110 is executed. At this time, the predetermined input / output request queue 1
Since there is a possibility that a new I / O request is stored in 22, the I / O order can be maintained by queuing at the head of the I / O request queue 122 (position that is taken out earliest next). it can. Also, the value of the waiting request number field 603 of the channel path control table 103 is set to
It is necessary to add the number of input / output requests that could not be stored. Further, a plurality of I / O requests stored in the command / data buffer 113 are sent to the command / data buffer 11
It is necessary to recognize in which position of 3 the data is stored. Therefore, the batch control unit 106 can be realized by replacing the channel command word start address 701 stored in the data field extracted from the input / output request queue 122 with the address in the command / data buffer 113. This information is used by the disk controller 13
Save the command and data to 1 until the transfer is completed /
It is possible because it is managed. Furthermore, since a plurality of commands and data or all of them are collectively transferred to the disk control device 131, the queue 116 in the disk control device 131 is
It can also be used in cases where it cannot be stored due to the capacity of. That is, since the capacity of the queue 116 in the disk control device 131 is limited, the number of commands and data that can be queued is also limited. At this time, by notifying the command that cannot be stored from the disk control device 131, only the command that could not be stored in the queue 116 in the disk control device 131 can be re-registered in the I / O request queue 122.

【0059】さて、コマンド/データバッファ113へ
の複数のチャネルプログラムおよび書き込みデータの転
送が終了すると、チャネル制御プロセッサ108は、デ
ータ転送制御部112を起動する。データ転送制御部1
12は、このようにしてコマンド/データバッファ11
3に格納された1401〜1408の各部からなるデー
タをディスク制御装置131内のデータ転送制御部11
4に対して、チャネルパス群142の内、そのデータ転
送制御部112が属するチャネル制御プロセッサ108
−iに接続されたチャネルパスを介して一つの転送デー
タとして送信する。ディスク制御装置131との間での
コマンド/データ転送が終了すると、データ転送制御部
112は、一括制御部106に転送に使用したチャネル
制御プロセッサ108のチャネル装置番号とともに終了
を通知する。
When the transfer of a plurality of channel programs and write data to the command / data buffer 113 is completed, the channel control processor 108 activates the data transfer control unit 112. Data transfer control unit 1
12 is thus the command / data buffer 11
The data transfer control unit 11 in the disk control device 131 stores the data composed of the respective units 1401 to 1408 stored in FIG.
4, the channel control processor 108 to which the data transfer control unit 112 belongs in the channel path group 142.
-Send as one transfer data via the channel path connected to i. When the command / data transfer with the disk control device 131 is completed, the data transfer control unit 112 notifies the batch control unit 106 of the end together with the channel device number of the channel control processor 108 used for the transfer.

【0060】ディスク制御装置131の一括制御部10
6′、およびチャネルビジー検出部105′では、それ
ぞれ、入出力プロセッサ101内の一括制御部106、
およびチャネルビジー検出部105と同様の処理が行な
われる。また、チャネルパス制御テーブル103′は、
チャネルパス制御テーブル103と同じ内容を有する。
コマンド/データキューは2種類あり、コマンド/デー
タキュー116は、複数に設けられ、入出力プロセッサ
101からの起動要求時に用いられ、入出力プロセッサ
101から一括して送られてきたコマンドやライト時の
ライトデータを格納する。一方、コマンド/データキュ
ー115は、複数設けられ、入出力処理完了時に、入出
力プロセッサ101に転送される実行結果情報およびリ
ード時のリードデータを保持するものである。コマンド
/データキュー115,116はそれぞれ複数存在す
る。理想的にはディスク装置132と同じ数だけ持つ事
が望ましい。
Collective control unit 10 of disk control device 131
6 ′ and the channel busy detection unit 105 ′ respectively include a collective control unit 106 in the input / output processor 101,
And the same processing as that of the channel busy detection unit 105 is performed. Further, the channel path control table 103 'is
It has the same contents as the channel path control table 103.
There are two types of command / data queues, and a plurality of command / data queues 116 are provided, which are used at the time of a start request from the input / output processor 101, and are sent in batch from the input / output processor 101 and at the time of writing. Stores write data. On the other hand, a plurality of command / data queues 115 are provided and hold the execution result information transferred to the input / output processor 101 and the read data at the time of reading when the input / output processing is completed. There are a plurality of command / data queues 115 and 116, respectively. Ideally, it is desirable to have the same number as the disk devices 132.

【0061】ディスク制御装置131内のデータ転送制
御部114は、チャネルパスを介して送られてきたデー
タを格納すべきコマンド/データキュー116を選択
し、ヘッダ1401,1402をはずした、1403〜
1408からなるデータをそのコマンド/データキュー
116に格納する。
The data transfer control unit 114 in the disk controller 131 selects the command / data queue 116 in which the data sent via the channel path should be stored, removes the headers 1401 and 1402, and 1403-
Data consisting of 1408 is stored in the command / data queue 116.

【0062】図13には、ディスク装置制御テーブル1
18の構造をしめす。フィールド1101はディスク装
置識別子、フィールド1102はコマンド/データキュ
ー識別子、フィールド1103は処理待ち要求数、フィ
ールド1104はディスク装置ステータスを保持してい
る。ディスク装置制御テーブル118により、ディスク
装置132の状態や、各ディスク装置132に対応する
コマンド/データキュー115,116などを知る事が
できる。コマンド処理部117では、ディスク装置制御
テーブル118を参照して処理を行なう。
FIG. 13 shows the disk device control table 1
The structure of 18 is shown. A field 1101 holds a disk device identifier, a field 1102 holds a command / data queue identifier, a field 1103 holds the number of processing waiting requests, and a field 1104 holds a disk device status. From the disk device control table 118, it is possible to know the status of the disk device 132 and the command / data queues 115 and 116 corresponding to each disk device 132. The command processing unit 117 refers to the disk device control table 118 to perform processing.

【0063】図14は、コマンド処理部117における
ディスクコマンド処理のフローを示している。ディスク
コマンド処理の起動契機は2種類あり、一つはデータ転
送制御部114からの起動要求に基づくもの、もうひと
つはディスク装置119からの入出力終了報告に基づく
ものである。
FIG. 14 shows a flow of disk command processing in the command processing section 117. There are two kinds of activation triggers for the disk command processing, one is based on the activation request from the data transfer control unit 114, and the other is based on the input / output end report from the disk device 119.

【0064】データ転送制御部114から起動要求を受
けた場合(ステップ1201)、コマンド処理部117
は、入出力要求されたディスク装置に対応するコマンド
/データキュー116から、そこに登録されているコマ
ンド及びデータのうち、先頭に登録された一つを取り出
し、そのコマンドに先行するコマンド識別子で指定され
る目的のディスクを起動する(ステップ1202)。こ
の起動により、バックグラウンドに図25の処理が開始
される。この起動はチャネルコマンド語(1210から
1213)が使用される。このチャネルコマンド語(1
210から1213)は入出力プロセッサ101から転
送されてきたものである。前に述べたように、ディスク
制御装置131にはディスク装置132の制御に必要な
コマンドしか転送されていないため、主記憶装置内に格
納されている形式と比べると簡略化されている。具体的
にはTICコマンドの削減である。従って、このTIC
コマンドと同じ動作をさせることが、本処理の主な目的
となる。ステップ1214はチャネルコマンド語の最後
を検知している。ステップ1215はチャネルコマンド
語を一つ取り出す動作を行なう。ステップ1216はチ
ャネルコマンドがSEEKかどうか判定し、そうであれ
ばコマンドをディスク装置131に転送し、その終了を
待って(ステップ1224)、ステップ1214に戻
る。ステップ1217では、チャネルコマンドがSEA
RCHかどうか判定し、そうであればコマンドをディス
ク装置131に転送し、その終了を待って(ステップ1
225)、ステップ1214に戻る。ステップ1218
では、コマンドがSEARCHID EQUALかどう
か判定し、そうであればコマンドをディスク装置131
に転送する。その後、コマンドの実行結果がコマンドの
条件を満足しているかどうかを判定し(ステップ122
6)、条件を満足していなければステップ1222を再
実行する。成立してれば、ステップ1214を実行す
る。この処理により、従来入出力プロセッサ側で行なっ
ていた、TICコマンドをディスク制御装置131で実
現可能となる。ステップ1219では、チャネルコマン
ドがREADかどうか判定し、そうであればコマンドを
ディスク装置131に転送し、その終了を待って(ステ
ップ1227)、ステップ1214に戻る。このとき、
ディスク装置制御テーブル118の該当するディスク装
置ステータス1104に“BUSY”を書き込み(ステ
ップ1203)、次のディスク起動要求を待つ(ステッ
プ1204)。
When the activation request is received from the data transfer control unit 114 (step 1201), the command processing unit 117 is executed.
Takes out one of the commands and data registered therein from the command / data queue 116 corresponding to the disk device for which the input / output is requested, and registers the one registered at the beginning, and designates it by the command identifier preceding the command. The target disk is activated (step 1202). By this activation, the process of FIG. 25 is started in the background. This activation uses the channel command words (1210 to 1213). This channel command word (1
210 to 1213) are transferred from the input / output processor 101. As described above, since only the commands necessary for controlling the disk device 132 are transferred to the disk control device 131, it is simplified as compared with the format stored in the main storage device. Specifically, it is the reduction of TIC commands. Therefore, this TIC
The main purpose of this process is to perform the same operation as the command. Step 1214 detects the end of the channel command word. In step 1215, the operation of extracting one channel command word is performed. In step 1216, it is determined whether or not the channel command is SEEK, and if so, the command is transferred to the disk device 131, the end thereof is waited for (step 1224), and the process returns to step 1214. In step 1217, the channel command is SEA
It is determined whether it is the RCH, and if so, the command is transferred to the disk device 131, and waits for its completion (step 1
225), and returns to step 1214. Step 1218
Then, it is determined whether the command is SEARCHID EQUAL, and if so, the command is sent to the disk device 131.
Transfer to. Then, it is judged whether or not the execution result of the command satisfies the condition of the command (step 122).
6) If the conditions are not satisfied, step 1222 is re-executed. If it is satisfied, step 1214 is executed. By this processing, the TIC command, which is conventionally performed on the input / output processor side, can be realized by the disk control device 131. In step 1219, it is determined whether the channel command is READ, and if so, the command is transferred to the disk device 131, the completion of the command is waited for (step 1227), and the process returns to step 1214. At this time,
"BUSY" is written in the corresponding disk device status 1104 of the disk device control table 118 (step 1203), and the next disk activation request is waited for (step 1204).

【0065】一方、ディスク装置119から入出力終了
報告を受けると(ステップ1205)、コマンド処理部
117は入出力終了報告のあったディスク装置に対応す
るコマンド/データキュー115にリードデータあるい
はリターン情報をセットする(ステップ1206)。そ
して、一括制御部106′にキューイングを通知する
(ステップ1207)。なお、キューイングの通知を受
けた一括制御部106′では、入出力プロセッサ101
内の一括制御部106と同様の処理(図12におけるス
テップ1001から始まる処理)を行ない、データある
いはリターン情報を入出力プロセッサに転送する操作を
開始する。
On the other hand, when the I / O completion report is received from the disk device 119 (step 1205), the command processing section 117 sends the read data or the return information to the command / data queue 115 corresponding to the disk device for which the I / O completion report was issued. Set (step 1206). Then, the collective control unit 106 'is notified of the queuing (step 1207). In addition, in the collective control unit 106 ′ that has received the notification of queuing, the input / output processor 101
The same processing as the collective control unit 106 (processing starting from step 1001 in FIG. 12) is performed, and the operation of transferring data or return information to the input / output processor is started.

【0066】次に、入出力終了報告のあったディスク装
置に対応するコマンド/データキュー116から先頭に
あるデータ及びコマンドを一つ取り出し、ステップ12
02に進んで目的のディスク装置を起動する(ステップ
1208)。そして、ディスク装置制御テーブル118
の該当するディスク装置ステータス1104に“BUS
Y”を書き込む(ステップ1203)。もし、ステップ
1208においてコマンド/データキュー116に登録
されている待ち要求がなければ、ディスク装置制御テー
ブル118の該当するディスク装置ステータス1104
に、ディスクステータスとして“FREE”を書き込
む。
Next, one data and command at the head are extracted from the command / data queue 116 corresponding to the disk device for which the I / O completion report has been issued, and step 12
The process proceeds to 02 to activate the target disk device (step 1208). Then, the disk device control table 118
The corresponding disk unit status 1104 of “BUS
Y ”is written (step 1203). If there is no waiting request registered in the command / data queue 116 in step 1208, the corresponding disk unit status 1104 of the disk unit control table 118 is written.
Then, "FREE" is written as the disc status.

【0067】以上述べたようなディスクコマンド処理を
複数のコマンド/データキューのそれぞれに対してパラ
レルに行なうことで、図15に示すような動作を実現す
ることができる。
By performing the disk command processing as described above in parallel for each of a plurality of command / data queues, the operation as shown in FIG. 15 can be realized.

【0068】図15では、ディスク装置1307と13
08でコマンド/データキュー1301を共通に使用
し、ディスク装置1309,1310は、それぞれ独立
してコマンド/データキュー1302,1303を使用
する。ディスクコマンド処理1304,1305,13
06では、それぞれ対応するコマンド/データキュー1
301,1302,1303内に待ちがあるかどうか調
べ、待ちがある場合にはそれぞれ対応するディスク装置
を起動する。このような制御を行なうことにより、各デ
ィスク装置のビジー率を高めることができる。特にディ
スク装置1309,1310のように、1台のディスク
装置で1つのコマンド/データキューを使用するように
構成するとビジー率をより高めることができる。このた
めにはデータ転送制御114は、そこに転送された複数
のチャネルプログラムをコマンド/データキューに登録
するにあたり、同じ外部記憶装置を制御する複数のチャ
ネルプログラムを同じ、コマンド/データキューに登録
し、異なる外部記憶装置を制御する複数のチャネルプロ
グラムはなるべく異なるコマンド/データキューに登録
するようにすることが望ましい。
In FIG. 15, the disk devices 1307 and 13 are shown.
08, the command / data queue 1301 is commonly used, and the disk devices 1309 and 1310 independently use the command / data queues 1302 and 1303. Disk command processing 1304, 1305, 13
In 06, the corresponding command / data queue 1
It is checked whether there is a wait in each of 301, 1302, and 1303, and if there is a wait, the corresponding disk device is activated. By performing such control, the busy rate of each disk device can be increased. In particular, if one disk device is used to use one command / data queue like the disk devices 1309 and 1310, the busy rate can be further increased. For this purpose, the data transfer control 114 registers the plurality of channel programs transferred to the command / data queue in the same command / data queue when registering the plurality of channel programs in the command / data queue. It is desirable to register a plurality of channel programs for controlling different external storage devices in different command / data queues as much as possible.

【0069】図15では、ディスク装置1307と13
08でコマンド/データキュー1301を共通に使用
し、ディスク装置1309,1310は、それぞれ独立
してコマンド/データキュー1302,1303を使用
する。ディスクコマンド処理1304,1305,13
06では、それぞれ対応するコマンド/データキュー1
301,1302,1303内に待ちがあるかどうか調
べ、待ちがある場合にはそれぞれ対応するディスク装置
を起動する。このような制御を行なうことにより、各デ
ィスク装置のビジー率を高めることができる。特にディ
スク装置1309,1310のように、1台のディスク
装置で1つのコマンド/データキューを使用するように
構成するとビジー率をより高めることができる。このた
めにはデータ転送制御114は、そこに転送された複数
のチャネルプログラムをコマンド/データキューに登録
するにあたり、同じ外部記憶装置を制御する複数のチャ
ネルプログラムを同じコマンド/データキューに登録
し、異なる外部記憶装置を制御する複数のチャネルプロ
グラムはなるべく異なるコマンド/データキューに登録
するようにすることが望ましい。
In FIG. 15, the disk devices 1307 and 13 are used.
08, the command / data queue 1301 is commonly used, and the disk devices 1309 and 1310 independently use the command / data queues 1302 and 1303. Disk command processing 1304, 1305, 13
In 06, the corresponding command / data queue 1
It is checked whether there is a wait in each of 301, 1302, and 1303, and if there is a wait, the corresponding disk device is activated. By performing such control, the busy rate of each disk device can be increased. In particular, if one disk device is used to use one command / data queue like the disk devices 1309 and 1310, the busy rate can be further increased. To this end, the data transfer control 114 registers a plurality of channel programs controlling the same external storage device in the same command / data queue when registering the plurality of channel programs transferred thereto in the command / data queue, It is desirable to register a plurality of channel programs for controlling different external storage devices in different command / data queues as much as possible.

【0070】以上におけるチャンネルプログラムの処理
をより具体的に説明する。
The channel program processing described above will be described more specifically.

【0071】先ず、WRITE要求に対応するチャンネ
ルプログラムの処理を図20、21を用いて説明する。
First, the processing of the channel program corresponding to the WRITE request will be described with reference to FIGS.

【0072】図20は、あるディスク装置132(例え
ば、132-1)に対するWRITE要求を示すチャネルプ
ログラム(123)が、該WRITE要求と同一ディス
ク装置に対する他の入出力要求(WRITE,READ
要求問わず)と共に一括化されてディスク制御装置(1
31)へ転送されるまでの流れを示している。入出力プ
ロセッサ(101)内の入出力要求一括フェッチ部(1
07)は、主記憶装置(121)内に格納されている入
出力要求キュー(122)内の入出力要求を一つ(例え
ば、122-1)あるいは複数を一括即ち、ひとまとめにし
て取り込む。こうして例えば一括して取り込まれた複数
の入出力要求sからポイントされている複数のチャネル
プログラム(123,124など)を取り込む。この
時、チャネルプログラム内に含まれるディスク入出力制
御には直接関連しないチャネルプログラムを取り除く、
例えば、本例では、TICは入出力プロセッサ(10
1)の制御用のものであるため取り除かれる。しかし、
図6A、6Bのチャネルコマンド語2のWRITE形式
では取り除く必要ない。さらに、データ一括フェッチ部
(110)は、もし入出力要求がWRITE処理であれ
ば、データ(126)を取り込む。これら、複数のチャ
ネルプログラムとデータを一つのデータとしてまとめ
(1803〜1810)、さらにこれら一括されたデー
タのデータ識別子1801)と、一括化後のチャネルコ
マンドとデータとの総データ転送長Lを示すデータ(1
802)とをヘッダとして付加したものが、データ転送
制御部(112)によりディスク制御装置(131)へ
転送され、ディスク転送制御部114を介してディスク
装置132(例えば、132-1)に対応するコマンド/デ
ータキュー116の一つのキューにストアされる。従っ
てコマンド処理部117により該WRITE要求に基づ
くデータが対応するディスク装置(例えば、132-1)に
書込まれる。
In FIG. 20, a channel program (123) indicating a WRITE request to a certain disk device 132 (for example, 132-1) has another input / output request (WRITE, READ) to the same disk device as the WRITE request.
Disk controller (1 regardless of request)
31) shows the flow until it is transferred to 31). Input / output request batch fetch unit (1 in the input / output processor (101)
07) takes in one (for example, 122-1) or a plurality of input / output requests in the input / output request queue (122) stored in the main storage device (121) collectively, that is, collectively. Thus, for example, a plurality of channel programs (123, 124, etc.) pointed to by a plurality of input / output requests s that are collectively fetched are fetched. At this time, remove the channel program that is not directly related to the disk I / O control included in the channel program,
For example, in this example, the TIC is an input / output processor (10
It is for control of 1) and is removed. But,
It need not be removed in the WRITE format of channel command word 2 in FIGS. 6A and 6B. Further, the data batch fetch unit (110) fetches the data (126) if the input / output request is a WRITE process. These plural channel programs and data are grouped as one data (1803 to 1810), and the data identifier 1801 of these grouped data and the total data transfer length L of the channel command and data after grouping are shown. Data (1
802) as a header is transferred to the disk control device (131) by the data transfer control unit (112) and corresponds to the disk device 132 (for example, 132-1) via the disk transfer control unit 114. It is stored in one of the command / data queues 116. Therefore, the command processing unit 117 writes the data based on the WRITE request in the corresponding disk device (for example, 132-1).

【0073】図21は、図20で発行された1つのWR
ITE要求(1803〜1809)によりそのデータ
(1809)が所定のディスク装置(例えば、132-1)
に書き終わり、その終了報告を入出力プロセッサ(10
1)に転送する処理を示している。コマンド処理部11
7は、WRITE要求(1803〜1809)により対
応するディスク装置(例えば、132-1)にデータが出力
された結果、その処理が正常に終了したか、異常終了で
あったかを示すWRITE終了結果(1908)にコマ
ンド識別子(1907)を付加し、それを該ディスク装
置(例えば、132-1)に対応するコマンドデータキュー
(例えば、115-1)に格納する。ディスク制御装置(1
31)の一括制御部(106)はこうしてコマンドデー
タキュー(115−1)にストアされたWRITE終了
結果及び同一ディスク装置(132−1)に対応する他
の入出力結果(WRITE,READ終了結果)から一
つあるいは複数の入出力終了結果(1906〜190
8)を取り込み、さらにデータ識別子(1901)と、
こうして一括して取込まれた入出力終了結果とデータと
の総データ転送長Lを示すデータ(1802)とをヘッ
ダとして付加したものをデータ転送制御部114より入
出力プロセッサ(106)へパケットとして転送する。
FIG. 21 shows one WR issued in FIG.
According to the ITE request (1803 to 1809), the data (1809) has a predetermined disk device (for example, 132-1).
And write the end report to the input / output processor (10
The process of transferring to 1) is shown. Command processing unit 11
7 is a WRITE end result (1908) indicating whether the processing is normally ended or abnormally ended as a result of the data being output to the corresponding disk device (for example, 132-1) by the WRITE request (1803 to 1809). ) Is added to the command identifier (1907) and stored in the command data queue (for example, 115-1) corresponding to the disk device (for example, 132-1). Disk controller (1
The batch control unit (106) of 31) thus stores the WRITE end result stored in the command data queue (115-1) and other input / output results (WRITE, READ end result) corresponding to the same disk device (132-1). From one or more input / output end results (1906 to 190)
8) is taken in, and the data identifier (1901) is added,
The data transfer control unit 114 adds, as a packet, the data (1802) indicating the total data transfer length L together with the I / O end result that is collectively fetched in this way to the I / O processor (106) as a packet. Forward.

【0074】ここで、コマンド識別子1904等は一括
制御部106’で付加される。
Here, the command identifier 1904 and the like are added by the collective control unit 106 '.

【0075】このパケットを送られた入出力プロセッサ
(101)は、一括化された終了報告を一括化したまま
の形式で、あるいは入出力要求単位に、あるいはある分
割単位に対応するホストプロセッサに転送する。
The I / O processor (101), to which this packet is sent, transfers the batched end report to the host processor corresponding to a unit of I / O request or a unit of I / O request in the form of being kept in a batch. To do.

【0076】次にREAD要求に対応するチャンネルプ
ログラムの処理について図22、23を参照して説明す
る。
Next, the processing of the channel program corresponding to the READ request will be described with reference to FIGS.

【0077】図22はあるディスク装置132(例え
ば、132-1)に対するREAD要求を示すチャネルプロ
グラム(123)が、該READ要求と同一ディスク装
置に対する他の入出力要求(WRITE,READ要求
問わず)と共に一括化されてディスク制御装置(13
1)へ転送されるまでの流れを示している。入出力プロ
セッサ(101)内の入出力要求一括フェッチ部(10
7)は、主記憶装置(121)内に格納されている入出
力要求キュー(122)内の入出力要求を一つあるいは
複数を一括して取り込む。こうして例えば一括して取り
込まれた入出力要求からポイントされている複数のチャ
ネルプログラム(123,124など)を取り込む。こ
の時、チャネルプログラム内に含まれるディスク入出力
制御には直接関連しないチャネルプログラムを取り除
く。例えば、本例では、TICは入出力プロセッサ(1
01)の制御用のため取り除かれる。しかし、図6A,
6Bのチャネルコマンド語2のWRITE形式では取り
除く処理は必要ない。WRITE処理と違い、READ
処理ではデータはまだ存在しないため、入力後のデータ
を主記憶装置(121)のどこに書かなければならない
かを覚えておく必要があるため主記憶アドレス(200
9)も付加させる。さらに、データ一括フェッチ部11
0は、もし入出力要求がWRITE処理であれば、デー
タ(126)を取り込むが、本READ処理においては
なにもしない。これら、複数のチャネルプログラムある
いはデータを一つのデータとしてまとめ(2003〜2
010)、さらにデータ識別子(2001)と、一括化
後のチャネルコマンドsとデータとの総データ転送長L
を示すデータ(2002)をヘッダとして付加したもの
が、データ転送制御部(112)によりディスク制御装
置(131)へ転送されディスク転送制御部114を介
してディスク装置132(例えば、132-1)に対応する
コマンド/データキュー116にストアされる。従って
コマンド処理部117により該READ要求に基づき対
応するディスク装置(例えば、132-1)からデータが読
出される。
In FIG. 22, a channel program (123) indicating a READ request to a certain disk device 132 (for example, 132-1) has another input / output request (regardless of WRITE or READ request) to the same disk device as the READ request. Together with the disk controller (13
The flow until it is transferred to 1) is shown. I / O request batch fetch unit (10) in the I / O processor (101)
7) fetches one or a plurality of input / output requests in the input / output request queue (122) stored in the main storage device (121) at once. In this way, for example, a plurality of channel programs (123, 124, etc.) pointed to by the input / output requests that are collectively fetched are fetched. At this time, the channel program included in the channel program and not directly related to the disk input / output control is removed. For example, in this example, the TIC is an input / output processor (1
It is removed for control of 01). However, in FIG.
6B channel command word 2 WRITE format does not require removal processing. Unlike WRITE processing, READ
Since data does not yet exist in the processing, it is necessary to remember where in the main storage device (121) the input data should be written, so the main storage address (200
9) is also added. Further, the data batch fetch unit 11
For 0, if the input / output request is the WRITE processing, the data (126) is fetched, but nothing is done in the READ processing. These plural channel programs or data are collected as one data (2003-2
010), and further, a data identifier (2001) and a total data transfer length L of the channel command s and the data after grouping.
Which has been added as a header to the disk device 132 (for example, 132-1) via the disk transfer controller 114 is transferred to the disk controller (131) by the data transfer controller (112). It is stored in the corresponding command / data queue 116. Therefore, the command processing unit 117 reads data from the corresponding disk device (for example, 132-1) based on the READ request.

【0078】図23は、図22で発行された1つのRE
AD要求(2003〜2009)によりデータ(211
2)が所定のディスク装置(例えば、132-1)から転送
され、その終了報告を入出力プロセッサ(101)に転
送する処理を示している。コマンド処理部117はRE
AD要求(2003〜2009)により対応するディス
クにデータが出力された結果、その処理が正常に終了し
たか、異常終了であったかを示すREAD終了結果(2
110)とデータ(2112)にコマンド識別子(21
09)を付加し、それを該ディスク装置(例えば、132-
1)に対応するコマンドデータキュー(例えば、115-1)
に格納する。ディスク制御装置(131)の一括制御部
106’はこうしてコマンドデータキュー115−1に
ストアされた該READ終了結果及び同一ディスク装置
132−1に対応する他の入出力結果(READ,WR
ITE終了結果)から一つあるいは複数の入出力終了結
果(2108〜2112)及び主記憶アドレス2114
を取り込み、さらにデータ識別子(2101)とこうし
て一括して取込まれた入出力終了結果とデータとの総デ
ータ転送長Lを示すデータ(2,02)とをヘッダとし
て付加したものをデータ転送制御部114より入出力プ
ロセッサ(106)へパケットとして転送する。
FIG. 23 shows one RE issued in FIG.
Data (211) according to AD request (2003 to 2009)
2) is transferred from a predetermined disk device (for example, 132-1) and the completion report is transferred to the input / output processor (101). The command processing unit 117 is RE
As a result of the data being output to the corresponding disk by the AD request (2003 to 2009), the READ end result (2
110) and data (2112) have command identifier (21
09) is added to the disk device (for example, 132-
Command data queue corresponding to 1) (for example, 115-1)
To store. The collective control unit 106 'of the disk control device (131) thus stores the READ end result stored in the command data queue 115-1 and other input / output results (READ, WR) corresponding to the same disk device 132-1.
One or more input / output end results (2108 to 2112) and main storage address 2114 from the ITE end result)
Data transfer control is performed by adding a data identifier (2101), a result of input / output completion thus collectively received, and data (2, 02) indicating the total data transfer length L of the data as a header. The packet is transferred from the unit 114 to the input / output processor (106).

【0079】ここで、コマンド識別子2103,210
4等は一括制御部106’で付加される。
Here, the command identifiers 2103 and 210
4 and the like are added by the collective control unit 106 '.

【0080】このパケットを送られた入出力プロセッサ
(101)は、一括化された終了報告を一括化したまま
の形式で、あるいは入出力要求単位に、あるいはある分
割単位に対応するホストプロセッサに転送する。
The I / O processor (101), to which this packet is sent, transfers the batched end report to the host processor corresponding to a unit of I / O request or a unit of I / O request as it is. To do.

【0081】入出力要求がREAD要求である場合はデ
ータを主記憶装置(121)の所定のエリアに書き込ま
なければならず、その場所を送られてきた主記憶アドレ
ス(2113)から求め書き込む。
When the input / output request is a READ request, the data must be written in a predetermined area of the main storage device (121), and the location is obtained from the main storage address (2113) sent and written.

【0082】このように、入出力要求がディスク装置か
らデータを読み出すことを要求するREAD要求の場
合、入出力プロセッサ101は、そのチャネルプログラ
ムに主記憶装置121の書き込み位置を示す主記憶アド
レスを付加してディスク制御装置131に送っておき、
ディスク制御装置は該READ要求に応答してディスク
装置からデータを読み出した時、読み出したデータを含
む入出力終了結果(2108−2112)と共にこの主
記憶アドレス(2114)を入出力プロセッサに転送
し、これにより入出力プロセッサは読み出されたデータ
を主記憶装置の該アドレスに書き込むことができる。
As described above, when the input / output request is a READ request for reading data from the disk device, the input / output processor 101 adds the main storage address indicating the write position of the main storage device 121 to the channel program. And send it to the disk controller 131,
When the disk controller reads data from the disk device in response to the READ request, it transfers this main memory address (2114) to the input / output processor together with the input / output end result (2108-2112) including the read data, This allows the input / output processor to write the read data to the address in the main memory.

【0083】この場合、入出力プロセッサは、1つのR
EAD要求を示すチャネルプログラムに書き込みアドレ
スを付加したものだけを1まとめにしてディスク制御装
置に転送してもよく、他の入出力要求と共に1まとめに
して転送しても良い。
In this case, the input / output processor uses one R
Only the channel program indicating the EAD request to which the write address is added may be collectively transferred to the disk control device, or may be collectively transferred together with other I / O requests.

【0084】また、ディスク制御装置は、1つのREA
D要求に応答して読み出されたデータを含む入出力終了
結果に上記主記憶アドレスを付加したものだけを1まと
めにして入出力プロセッサに転送してもよく、該入出力
終了結果と同一ディスク装置に関する他の入出力終了結
果と共に1まとめにして転送しても良い。
Further, the disk control device uses one REA.
Only the result obtained by adding the main storage address to the input / output end result including the data read in response to the D request may be collectively transferred to the input / output processor. You may transfer together with the other input / output completion result regarding an apparatus.

【0085】更に、ディスク制御装置では、入出力プロ
セッサーよりばらばらに転送されてきた、同一ディスク
装置に関する、READ要求を含む複数の入出力要求を
示すチャネルプログラムと対応する書き込みアドレスを
まとめて管理しておき、該READ要求に応答して読み
出されたデータを含む入出力終了結果を、該複数の入出
力要求に対応する他の入出力終了結果と共に1まとめに
して入出力プロセッサーに転送しても良い。
Further, the disk controller collectively manages the write addresses corresponding to the channel programs indicating a plurality of I / O requests including the READ request, which are transferred separately from the I / O processor and are related to the same disk device. Alternatively, the input / output end result including the data read in response to the READ request may be collectively transferred to the input / output processor together with other input / output end results corresponding to the plurality of input / output requests. good.

【0086】以上のごとく、本実施例では、チャネル制
御プロセッサから、複数の入出力要求に関するチャネル
プログラム、書き込みデータを一組の転送データとして
ディスク制御装置に送り、ディスク制御装置において、
各チャネルプログラム内の各コマンドの実行タイミング
を制御するので、これらのチャネルプログラムと書き込
みデータの転送時間が従来より短くなる。
As described above, in this embodiment, the channel control processor sends the channel programs and write data relating to a plurality of input / output requests to the disk controller as a set of transfer data.
Since the execution timing of each command in each channel program is controlled, the transfer time of these channel programs and write data becomes shorter than before.

【0087】上記、制御を行なうことで従来発生してい
た以下の、主記憶装置121内に格納された入出力コマ
ンド123,124,125やデータ126,127,
128を入出力プロセッサ内に取り込むオーバヘッドを
少なくすることができる。 (1)入出力要求の有無判定 (2)入出力要求の取り出し (3)取り出した入出力要求の無効化 (4)入出力要求からチャネルコマンドが格納されてい
る主記憶装置アドレスを抽出 (5)主記憶装置からチャネルコマンドを一つ取り出し (6)一つの入出力要求が終了するまで、(5)を繰り
返す (7)次の入出力要求を処理するため(1)に戻る つまり、(1),(2)は一括して取り出すことから、
(1)から(2),(7)から(1)への制御移行オー
バヘッドを少なくすることができ、(3)から(6)は
連続したチャネルコマンドの取り出しと、複数の入出力
要求を一度の制御で行なえることから、前記同様複数の
マイクロプログラムモジュールに渡る制御移行オーバヘ
ッドを少なくすることができる。
The following input / output commands 123, 124, 125 and data 126, 127 stored in the main storage device 121, which have been conventionally generated by the above control, are stored.
The overhead of incorporating 128 into the I / O processor can be reduced. (1) Judgment of presence / absence of input / output request (2) Extraction of input / output request (3) Invalidation of extracted input / output request (4) Extraction of main memory device address in which channel command is stored from input / output request (5 ) Retrieving one channel command from the main memory (6) Repeating (5) until one I / O request is completed (7) Returning to (1) to process the next I / O request. ), (2) are taken out at once,
The control transfer overhead from (1) to (2) and (7) to (1) can be reduced, and from (3) to (6), continuous channel command extraction and multiple I / O requests can be performed once. As described above, the control transfer overhead across a plurality of micro program modules can be reduced.

【0088】また、入出力プロセッサからディスク制御
装置へコマンドやデータを転送する際に生じる以下のオ
ーバヘッドも削減可能である。
Further, it is possible to reduce the following overhead that occurs when a command or data is transferred from the input / output processor to the disk controller.

【0089】(a)主記憶装置から取り出したチャネル
コマンドを解析 (b)ディスク制御装置に対するコマンドか入出力プロ
セッサに対するコマンドかを判定し、ディスク制御装置
に対するコマンドであれば、コマンドを指定されたディ
スク制御装置へ転送 (c)入出力プロセッサに対するコマンドであればそれ
を実行 (d)一つの入出力要求が終了するまで、(a)から
(c)を繰り返す (a)から(d)は、一括して複数の入出力要求が処理
されることにより、マイクロプログラムモジュールに渡
る制御移行オーバヘッド削減効果があるが、(b),
(c)の処理が簡略化されることによる高性能化が大き
い。前述のように、入出力プロセッサ101からディス
ク制御装置131にチャネルコマンド語123,12
4,125を転送する際に、ディスク制御装置131に
直接関係しないコマンド(例えばTICコマンド)を取
り除き、そのコマンド列を一括してディスク制御装置1
31に転送している。TICコマンドの意味は以下の通
りである。ディスク制御装置はSEEK、SEARC
H,READ/WRITEといった一連の処理を行なう
が、入出力プロセッサからはこれらのコマンドを一つず
つディスク制御装置に転送している。ところが、前記S
EARCHコマンドは、ディスクヘッドが所定の一に到
着したかどうかを判定する処理であるが、入出力プロセ
ッサは本コマンドをディスク制御装置に転送してしまう
と、次のチャネルコマンドの実行を開始してしまうため
このままでは正常な動作をしない。つまり、この時点で
次のREAD/WRITEコマンドを実行してしまう
と、現在のディスクヘッドの位置に対してREAD/W
RITEを実行してしまうため、不当なデータを読み書
きしてしまう。そこで、TICコマンドをSEARCH
コマンドとREAD/WRITEコマンドの間に置き、
SEARCHコマンドにより目的のデータが存在する位
置にディスクヘッドが到着するまで、REARCHコマ
ンドを実行し続ける処理が必要になる。しかし、本実施
例のように、入出力プロセッサ101側でそういった同
期処理を行なわないようにすることで、従来は同期的に
行なっていた処理を非同期的に行なうことができるよう
になり、(b),(c)の処理を大幅に低減することが
できようになる。
(A) Analyze the channel command fetched from the main storage device. (B) Determine whether it is a command for the disk controller or a command for the I / O processor. If the command is for the disk controller, the disk for which the command is specified Transfer to controller (c) Execute command if it is command to I / O processor (d) Repeat (a) to (c) until one I / O request is completed (a) to (d) are batch As a result, a plurality of I / O requests are processed to reduce the control transfer overhead across the micro program module.
The simplification of the process of (c) greatly improves the performance. As described above, the channel command words 123, 12 are sent from the I / O processor 101 to the disk controller 131.
When transferring 4,125, a command (for example, a TIC command) not directly related to the disk control device 131 is removed, and the command sequence is collectively included in the disk control device 1.
Transferred to 31. The meaning of the TIC command is as follows. Disk controller is SEEK, SEARC
Although a series of processes such as H and READ / WRITE are performed, these commands are transferred from the input / output processor to the disk controller one by one. However, the S
The EARCH command is a process for determining whether or not the disk head has arrived at a predetermined one, but when the I / O processor transfers this command to the disk controller, it starts executing the next channel command. As it is, it does not operate normally. In other words, if the next READ / WRITE command is executed at this point, READ / W will be performed for the current position of the disk head.
Since RITE is executed, illegal data is read and written. Therefore, TIC command SEARCH
Place it between the command and the READ / WRITE command,
It is necessary to continue executing the REARCH command until the disk head arrives at the position where the target data exists by the SEARCH command. However, by not performing such synchronous processing on the input / output processor 101 side as in the present embodiment, it becomes possible to asynchronously perform the processing which was conventionally performed synchronously. ) And (c) can be greatly reduced.

【0090】図17Aに示す、従来技術による処理手順
によるタイプチャートに比べて、本実施例によれば、図
17Bに示すように、本実施例のチャネル制御によるデ
ータフローでは、入出力要求キューにキューイングされ
た入出力要求を一括して処理を行うことから、コマンド
/データ転送1515あるいは1516に見られるよう
に、チャネルオーバヘッドを生じることなく複数のコマ
ンド/データ転送が行なわれるところがでてくる。一括
化の数は入出力負荷によって異なり、低負荷では従来の
チャネル動作に近づき、高負荷状態では一括化の数が大
きくなる。このような制御が自動的に行われるため、不
必要に多くの入出力要求を待たせる事がなく、極力レス
ポンスを短くしたコマンド/データ転送を行なうことが
できる。また、入出力要求の一括化によりオーバヘッド
の介在が必要最小限に抑えられるため、従来のチャネル
装置に比べて高いスループットの達成が実現できる。特
に、チャネルスピードが早くなるほど、本発明の効果が
大きくなる。これは、チャネルが高速化されることでデ
ータ転送時間は短縮されてもオーバヘッドがほとんど変
わらないことに起因する相対的なオーバヘッド比率の増
大を、本実施例では抑えることができるためである。さ
らに、今後システムの拡大により、チャネルパスを形成
する入出力プロセッサとディスク制御装置等との間のケ
ーブル長が延長されることが想像される。このようにチ
ャネルパスが延長されればされるほど両者の間でコネク
ションが確立されるまでの時間が延び、データ転送時の
オーバヘッドも大きくなる。このような場合にも本実施
例によればオーバヘッド比率の増大を抑え、効率的なデ
ータ転送を行なうことが可能である。
Compared to the type chart according to the processing procedure according to the prior art shown in FIG. 17A, according to this embodiment, as shown in FIG. 17B, in the data flow by the channel control of this embodiment, the I / O request queue is Since the queued I / O requests are collectively processed, as shown in the command / data transfer 1515 or 1516, there are some places where a plurality of command / data transfers are performed without causing channel overhead. The number of batches differs depending on the input / output load. At low load, it approaches the conventional channel operation, and at high load, the number of batches increases. Since such control is automatically performed, it is possible to perform command / data transfer with a response as short as possible without waiting for an unnecessarily large number of input / output requests. Further, since the intervention of overhead is suppressed to a necessary minimum by integrating the input / output requests, higher throughput can be achieved as compared with the conventional channel device. In particular, the faster the channel speed, the greater the effect of the present invention. This is because in this embodiment, an increase in the relative overhead ratio, which is caused by the fact that the overhead is hardly changed even if the data transfer time is shortened by increasing the channel speed, can be suppressed in the present embodiment. Further, it is envisioned that the cable length between the input / output processor forming the channel path and the disk controller etc. will be extended due to the expansion of the system in the future. As the channel path is extended in this way, the time until the connection is established between the two becomes longer, and the overhead at the time of data transfer becomes larger. Even in such a case, according to the present embodiment, it is possible to suppress an increase in the overhead ratio and perform efficient data transfer.

【0091】(実施例2)次に別の実施例について説明
する。
(Embodiment 2) Next, another embodiment will be described.

【0092】図18は、本実施例においてレスポンス優
先制御を行う場合の一括制御部106における処理のフ
ローを示す図である。上記実施例と同様に一括制御部1
06の処理には、2つの起動契約がある。ひとつはチャ
ネルパス選択/入出力要求登録部104からの起動要
求、もう一つはデータ転送処理部112からの起動要求
である。入出力要求登録部104から起動要求があると
(ステップ1601)、一括制御部106はチャネルビ
ジー検出部105を用いてチャネルパス制御テーブル1
03を参照し、入出力要求のあったデバイス識別子に対
応するチャネルパスが使用可能かどうか検出する(ステ
ップ1602)。その結果、目的のチャネルパス140
が“BUSY”であれば処理を終了し、そうでなければ
ステップ1604に移る(ステップ1603)。ステッ
プ1604では、チャネルパス制御テーブル103より
チャネルパスに対応する入出力要求キュー識別子を取得
する。次に、ステップ1604で取得した入出力要求識
別子に対応する入出力要求キュー122からディスク制
御装置131に転送すべきデータのデータ長を加算しつ
つ入出力要求を取り出す。そして、データ長がある所定
の長さを越えたところで入出力要求の取り出しを終了す
る(ステップ1605,1606)。なお、ステップ1
606ではデータ長が所定の長さを超えた場合以外に、
取り出すべき入出力要求が無い場合にも次のステップに
進む。入出力要求の取り出しを終えると、チャネルパス
制御テーブル103の該当する待ち要求数フィールド6
03から、取り出した入出力要求数を差し引いた値をそ
の要求数フィールド603にセットし、またチャネル装
置ステータスフィールド605を“BUSY”にする
(ステップ1607)。その後、取り出した複数の入出
力要求をまとめて入出力要求解析部111へ送る(ステ
ップ1608)。
FIG. 18 is a diagram showing a flow of processing in the collective control unit 106 when the response priority control is performed in this embodiment. Collective control unit 1 as in the above embodiment
The process of 06 has two activation contracts. One is an activation request from the channel path selection / input / output request registration unit 104, and the other is an activation request from the data transfer processing unit 112. When an input request is issued from the input / output request registration unit 104 (step 1601), the collective control unit 106 uses the channel busy detection unit 105 to set the channel path control table 1
03, it is detected whether or not the channel path corresponding to the device identifier for which an input / output request has been made is available (step 1602). As a result, the desired channel path 140
If is "BUSY", the process is terminated. If not, the process proceeds to step 1604 (step 1603). In step 1604, the input / output request queue identifier corresponding to the channel path is acquired from the channel path control table 103. Next, the I / O request is extracted while adding the data length of the data to be transferred to the disk controller 131 from the I / O request queue 122 corresponding to the I / O request identifier acquired in step 1604. Then, when the data length exceeds a predetermined length, the fetching of the input / output request ends (steps 1605 and 1606). In addition, step 1
In 606, except when the data length exceeds a predetermined length,
Even if there is no I / O request to be taken out, the process proceeds to the next step. When the extraction of the I / O request is completed, the corresponding wait request number field 6 of the channel path control table 103
A value obtained by subtracting the extracted number of input / output requests from 03 is set in the requested number field 603, and the channel device status field 605 is set to "BUSY" (step 1607). After that, the plurality of extracted input / output requests are collectively sent to the input / output request analysis unit 111 (step 1608).

【0093】もう一つの起動契機であるデータ転送制御
部112からの起動要求は、いずれかのチャネルパスの
データ転送が終了した時点で発生する。このとき、デー
タ転送制御部112からは、どのチャネルパスにおける
データ転送が終了したのかを示す情報等が送られてくる
(ステップ1609)。ステップ1610では、これら
の情報を元にチャネルパス制御テーブル103をサーチ
し、このチャネルパスを使用する待ちの入出力要求があ
るかどうか調べる。その結果、待ちの入出力要求がなけ
れば処理は終了し、そうでなければステップ1602に
移る。
The activation request from the data transfer control unit 112, which is another activation trigger, is generated when the data transfer of any channel path is completed. At this time, the data transfer control unit 112 sends information indicating which channel path has completed the data transfer (step 1609). In step 1610, the channel path control table 103 is searched based on these pieces of information to see if there is a waiting input / output request to use this channel path. As a result, if there is no waiting input / output request, the process ends, and if not, the process moves to step 1602.

【0094】一括制御部106においてこのような制御
を行なうことにより、上位装置等に対するレスポンスを
優先した入出力制御が可能となる。一括数を制限すると
データあるいはコマンドの転送時間が短くになり、スル
ープットは幾分低下するが、上位装置等に対するレスポ
ンスを優先したいような場合には本実施例は有効であ
る。
By performing such control in the collective control unit 106, it becomes possible to perform input / output control giving priority to the response to the host device or the like. If the number of batches is limited, the transfer time of data or commands will be shortened, and the throughput will be somewhat lowered, but this embodiment is effective when it is desired to give priority to the response to the host device or the like.

【0095】(実施例3)次に、本発明の更に別の実施
例について説明する。
(Embodiment 3) Next, still another embodiment of the present invention will be described.

【0096】図19は、本実施例においてレスポンス優
先制御を行う場合の一括制御部106における処理のフ
ローを示す図である。本実施例ではステップ1706に
おける処理が実施例2のステップ1606とは異なって
いる。本実施例では、ステップ1704で得た入出力要
求識別子に対応する入出力要求キューから、ある所定の
数だけの入出力要求を取り出し、残りの入出力要求の取
り出しを終了する。即ち、ステップ1706において取
り出した入出力要求の数が所定の数に達したかどうか
(または、取り出すべき入出力要求が無くなったかどう
か)を判断し、取り出した入出力要求の数が所定の数を
超えないうちはステップ1705において入出力要求の
取り出しを行ない、取り出した入出力要求の数が所定の
数を超えると次のステップに進む。上記別の実施例2に
おけるステップ1602を本実施例のステップ1701
のように変更することにより、入出力要求の取り出し処
理を高速にできる。これは、複数のチャネルコマンド語
を一連のチャネルコマンド語列として指定したような場
合、実施例2では入出力要求を取り出す毎にチャネルコ
マンド語のチェインを何段か手繰り、データ長を計算し
なければならないのに対し、本実施例では取り出した入
出力要求の数をカウントするだけでよいためである。た
だし、本実施例では、チャネルパスの使用時間の大きな
要因であるデータ長については考慮していない。したが
って、入出力要求長の変化が大きい場合にはあまり適さ
ず、入出力要求長の変化の少ない環境下において有効で
ある。なお、本実施例におけるその他の処理は上記別の
実施例と同様に行なわれる。
FIG. 19 is a diagram showing a flow of processing in the collective control unit 106 when the response priority control is performed in this embodiment. In this embodiment, the processing in step 1706 is different from that in step 1606 of the second embodiment. In this embodiment, a predetermined number of I / O requests are fetched from the I / O request queue corresponding to the I / O request identifier obtained in step 1704, and the fetching of the remaining I / O requests is completed. That is, it is judged whether or not the number of input / output requests fetched in step 1706 has reached a predetermined number (or whether or not there are no more input / output requests to be fetched), and the number of fetched I / O requests is equal to the predetermined number. Before the number of input / output requests is exceeded, the input / output requests are fetched in step 1705. When the number of fetched input / output requests exceeds a predetermined number, the process proceeds to the next step. Step 1602 in the second embodiment is replaced with step 1701 in the present embodiment.
By changing as described above, the process of fetching the I / O request can be speeded up. This is because when a plurality of channel command words are designated as a series of channel command word strings, in the second embodiment, each time an input / output request is taken out, the chain of channel command words must be repeated several steps to calculate the data length. This is because it is necessary to count the number of fetched I / O requests in the present embodiment, whereas this is not necessary. However, the present embodiment does not consider the data length, which is a major factor in the channel path usage time. Therefore, it is not suitable when the change in the I / O request length is large, and is effective in an environment where the change in the I / O request length is small. The other processes in this embodiment are performed in the same manner as in the other embodiment.

【0097】(実施例4)図1、2に示す上記の各実施
例においては制御プロセッサ136、137、140を
用いて制御を行っているが、これら各プロセッサの機能
を専用ハードウェアで置きかえるようにしても良い。図
24はそのように図1、2の全ての構成をハードウェア
で構成した例を示すブロック図であり、図中図2のブロ
ックと同一機能を有する部分には記号Aを符してあり、
同一物には図2と同一番号を付してあり、その説明を省
略する。
(Embodiment 4) In each of the above embodiments shown in FIGS. 1 and 2, control is performed using the control processors 136, 137 and 140, but the functions of these processors may be replaced by dedicated hardware. You can FIG. 24 is a block diagram showing an example in which all the configurations of FIGS. 1 and 2 are configured by hardware in such a manner. In the figure, a portion having the same function as the block of FIG.
The same parts are designated by the same reference numerals as those in FIG. 2, and the description thereof will be omitted.

【0098】[0098]

【発明の効果】以上の様に本発明によれば、チャネルの
起動および終了に要するオーバヘッドを必要最小限に抑
え、かつレスポンス時間をほとんど低下させない入出力
が可能になる。
As described above, according to the present invention, it is possible to perform input / output in which the overhead required for starting and terminating a channel is suppressed to a necessary minimum and the response time is hardly reduced.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明によるデータ入出力システム及び該シス
テムにおけるデータ入出力制御方法を適用した入出力サ
ブシステムの一実施例の構成を示すブロック図。
FIG. 1 is a block diagram showing the configuration of an embodiment of an input / output subsystem to which a data input / output system and a data input / output control method in the system according to the present invention are applied.

【図2】図1において各制御プロセッサsの構成を示し
たブロック図。
FIG. 2 is a block diagram showing a configuration of each control processor s in FIG.

【図3】入出力プロセッサ内の処理を示すフローチャー
ト。
FIG. 3 is a flowchart showing processing in the input / output processor.

【図4】入出力要求の一例を示す図。FIG. 4 is a diagram showing an example of an input / output request.

【図5】チャネルコマンド語の一例を示す図。FIG. 5 is a diagram showing an example of a channel command word.

【図6】チャネルコマンド語の他の例を示す図。FIG. 6 is a diagram showing another example of channel command words.

【図7】ディスク装置の接続構成の一例を示す図。FIG. 7 is a diagram showing an example of a connection configuration of a disk device.

【図8】チャネルパス制御テーブルの一例を示す図。FIG. 8 is a diagram showing an example of a channel path control table.

【図9】入出力要求キューの構造を示す図。FIG. 9 is a diagram showing the structure of an input / output request queue.

【図10】入出力要求キューの配置を説明する図。FIG. 10 is a view for explaining the arrangement of input / output request queues.

【図11】チャネルパス選択/入出力要求登録部におけ
る処理の流れを示す図。
FIG. 11 is a diagram showing a flow of processing in a channel path selection / input / output request registration unit.

【図12】一括制御部における処理の流れを示す図。FIG. 12 is a diagram showing a flow of processing in a collective control unit.

【図13】ディスク装置制御テーブルの一例を示す図。FIG. 13 is a diagram showing an example of a disk device control table.

【図14】コマンド処理部におけるディスクコマンド処
理の流れを示す図。
FIG. 14 is a diagram showing a flow of disk command processing in a command processing unit.

【図15】ディスクコマンド処理の一例を示す図。FIG. 15 is a diagram showing an example of disk command processing.

【図16】データ転送の様子を示す図。FIG. 16 is a diagram showing how data is transferred.

【図17】従来のチャネル制御のデータフローおよび本
発明の第1の実施例のチャネル制御のデータフローを示
す図。
FIG. 17 is a diagram showing a conventional channel control data flow and a channel control data flow according to the first embodiment of the present invention.

【図18】別の実施例におけるレスポンス優先制御を行
なう場合の一括制御部における処理の流れを示す図。
FIG. 18 is a diagram showing the flow of processing in the collective control unit when response priority control is performed in another embodiment.

【図19】更に別の実施例におけるレスポンス優先制御
を行なう場合の一括制御部における処理の流れを示す
図。
FIG. 19 is a diagram showing the flow of processing in the collective control section when performing response priority control in yet another embodiment.

【図20】WRITE要求を示すチャンネルプログラム
とディスク制御装置への転送を示す図。
FIG. 20 is a diagram showing a channel program indicating a WRITE request and transfer to the disk controller.

【図21】WRITE要求に応答する入出力終了結果の
入出力プロセッサでの転送を示す図。
FIG. 21 is a diagram showing transfer of an input / output end result in response to a WRITE request in the input / output processor.

【図22】READ要求を示すチャンネルプログラムと
ディスク制御装置への転送を示す図。
FIG. 22 is a diagram showing a channel program indicating a READ request and transfer to the disk controller.

【図23】READ要求に応答する入出力終了結果の入
出力プロセッサでの転送を示す図。
FIG. 23 is a diagram showing transfer of an input / output end result in response to a READ request in the input / output processor.

【図24】本発明の更に別の実施例の構成を示すブロッ
ク図。
FIG. 24 is a block diagram showing the configuration of still another embodiment of the present invention.

【図25】コマンド処理部による起動処理の詳細フロー
チャート。
FIG. 25 is a detailed flowchart of a startup process performed by a command processing unit.

Claims (34)

【特許請求の範囲】[Claims] 【請求項1】上位装置が発行した、それぞれ複数の外部
記憶装置の一つに対する複数の入出力要求の実行を制御
する入出力制御装置と、該入出力制御装置から転送され
たコマンドに基づいて該複数の外部記憶装置を制御する
外部記憶制御装置とを有する入出力制御システムにおい
て、 (a) 複数の制御プログラムを保持する記憶装置から、該
上位装置から発行された複数の入出力要求の内、処理す
べき少なくとも一つの入出力要求が指定する制御プログ
ラムを該入出力制御装置により読み出し、 (b) 該読み出された制御プログラムを該入出力制御装置
から該外部記憶制御装置に転送し、 (c) 該転送された制御プログラムを該外部記憶制御装置
内に一時的に記憶し、 (d) 該記憶された制御プログラムを該外部記憶制御装置
の制御下で実行するステップを有する入出力制御方法。
1. An I / O control device for controlling execution of a plurality of I / O requests to one of a plurality of external storage devices issued by a host device, and a command transferred from the I / O control device. In an input / output control system having an external storage controller for controlling the plurality of external storage devices, (a) a plurality of input / output requests issued from the host device from a storage device holding a plurality of control programs. A control program specified by at least one input / output request to be processed is read by the input / output control device, (b) the read control program is transferred from the input / output control device to the external storage control device, (c) temporarily storing the transferred control program in the external storage controller, and (d) executing the stored control program under the control of the external storage controller. Input and output control method with.
【請求項2】その実行ステップ (d)は、該記憶された制
御プログラムに含まれる複数のコマンドを、それぞれそ
の制御プログラムで制御すべき一つの外部装置の動作に
依存するタイミングで順次実行するステップを有する請
求項1記載の入出力制御方法。
2. The executing step (d) is a step of sequentially executing a plurality of commands included in the stored control program at a timing depending on an operation of one external device to be controlled by the control program. The input / output control method according to claim 1, further comprising:
【請求項3】(e) 該読み出された制御プログラムが該一
つの外部記憶装置に対するデータの書き込みを要求する
とき、該読み出された制御プログラムが指定する書き込
みデータを該記憶装置から該入出力制御装置により読み
出すステップをさらに有し、 該転送ステップ(c)は、該読み出された制御プログラム
と該読み出された書き込みデータを該外部記憶制御装置
に転送するステップを有し、 該方法は、 (f) 該転送された書き込みデータを記憶し、 (g) 該記憶された書き込みデータを該複数のコマンドの
実行中の適当なタイミングで該記憶された制御プログラ
ムで制御すべき一つの外部記憶装置に転送するステップ
をさらに有する請求項1記載の入出力制御方法。
3. (e) When the read control program requests writing of data to the one external storage device, write data designated by the read control program is input from the storage device. The method further comprises a step of reading by the output control device, and the transferring step (c) includes a step of transferring the read control program and the read write data to the external storage control device. (F) stores the transferred write data, and (g) controls the stored write data by the stored control program at an appropriate timing during execution of the plurality of commands. The input / output control method according to claim 1, further comprising a step of transferring to a storage device.
【請求項4】該転送ステップ(c)は、該読み出された制
御プログラムと該読み出された書き込みデータを該外部
記憶制御装置を一緒に転送するステップを有する請求項
3記載の入出力制御方法。
4. The input / output control according to claim 3, wherein the transfer step (c) includes a step of transferring the read control program and the read write data together to the external storage controller. Method.
【請求項5】該実行ステップ (d)は、 該記憶された制御プログラムが該複数の外部記憶装置の
一つからのデータの読み出しを指定するときには、その
制御プログラムが指定するデータを、該記憶された制御
プログラムで制御されるべき一つの外部記憶装置から読
み出し、 その読み出したデータとともに、その記憶された制御プ
ログラムが指定する、該記憶装置の、そのデータに対す
る書き込みアドレスを該入出力制御装置に転送するステ
ップを有する請求項1記載の入出力制御方法。
5. The executing step (d), when the stored control program designates reading of data from one of the plurality of external storage devices, the data designated by the control program is stored in the storage unit. From the one external storage device to be controlled by the stored control program, and the read data and the write address for the data of the storage device specified by the stored control program are input to the input / output control device. The input / output control method according to claim 1, further comprising a step of transferring.
【請求項6】上位装置が発行した、それぞれ複数の外部
記憶装置の一つに対する複数の入出力要求の実行を制御
する入出力制御装置と、該入出力制御装置から転送され
たコマンドに基づいて該複数の外部記憶装置を制御する
外部記憶制御装置とを有しする入出力制御システムにお
いて、 (a) 複数の制御プログラムを保持する記憶装置から、該
上位装置から発行された複数の入出力要求の内、少なく
とも一つの処理すべき入出力要求が指定する制御プログ
ラムを、該入出力制御装置により読み出し、 (b) 該読み出された制御プログラムが該複数の外部記憶
装置の一つに対する書き込みデータを指定するときに
は、該書き込みデータを該記憶装置から該入出力制御装
置により読み出し、 (c) 該読み出された制御プログラムと書き込みデータを
該入出力制御装置内に一時的に記憶し、 (d) 該記憶された制御プログラムに含まれる複数のコマ
ンドと該記憶された書き込みデータを該外部記憶制御装
置により処理させるために、それらを該入出力制御装置
から該外部記憶制御装置に転送するステップを有する入
出力制御方法。
6. An input / output control device for controlling execution of a plurality of input / output requests to one of a plurality of external storage devices issued by a host device, and a command transferred from the input / output control device. In an input / output control system having an external storage controller for controlling the plurality of external storage devices, (a) a plurality of input / output requests issued from the host device from a storage device holding a plurality of control programs Of the control program specified by at least one input / output request to be processed by the input / output control device, and (b) the read control program writes data to one of the plurality of external storage devices. Is specified, the write data is read from the storage device by the input / output control device, and (c) the read control program and write data are input / output. (D) a plurality of commands included in the stored control program and the stored write data to be processed by the external storage control device; An input / output control method comprising a step of transferring from a device to the external storage control device.
【請求項7】上位装置が発行した、それぞれ複数の外部
記憶装置の一つに対する複数の入出力要求の実行を制御
する入出力制御装置と、該入出力制御装置から転送され
たコマンドに基づいて該複数の外部記憶装置を制御する
外部記憶制御装置とを有する入出力制御システムにおい
て、 (a) 該上位装置から発行された複数の入出力要求の内、
処理すべき複数の入出力要求を選択し、 (b) 複数の制御プログラムを保持する記憶装置から、該
選択された複数の入出力要求が指定する複数の制御プロ
グラムを、該入出力制御装置により読み出し、 (c) 該読み出された複数の制御プログラムを該入出力制
御装置から該外部記憶制御装置に転送し、 (d) 該転送された複数の制御プログラムを該外部記憶制
御装置内に一時的に記憶し、 (e) 該記憶された複数の制御プログラムを該外部記憶制
御装置の制御下で実行するステップを有する入出力制御
方法。
7. An input / output control device for controlling execution of a plurality of input / output requests for one of a plurality of external storage devices issued by a host device, and a command transferred from the input / output control device. In an input / output control system having an external storage controller for controlling the plurality of external storage devices, (a) among a plurality of input / output requests issued from the host device,
By selecting a plurality of I / O requests to be processed, (b) a plurality of control programs designated by the selected plurality of I / O requests from the storage device holding the plurality of control programs by the I / O control device Read, (c) transfer the read control programs from the input / output control device to the external storage control device, and (d) temporarily transfer the transfer control programs to the external storage control device. I / O control method comprising the step of: (e) executing the stored plurality of control programs under the control of the external storage controller.
【請求項8】該実行ステップ(e)は、該記憶された複数
の制御プログラムの内、異なる外部記憶装置に対する入
出力動作を要求する複数のチャネル制御プログラムを並
列に実行するステップを有する請求項7記載の入出力制
御方法。
8. The executing step (e) includes a step of executing, in parallel, a plurality of channel control programs requesting an input / output operation with respect to different external storage devices among the plurality of stored control programs. 7. The input / output control method described in 7.
【請求項9】該記憶ステップ(d)は、該転送された複数
の制御プログラムを、複数のコマンド記憶領域に分散し
て記憶するステップを有し、 該実行ステップ(e)は、異なるコマンド記憶領域に記憶
され、異なる外部記憶装置に対する入出力動作を要求す
る複数のチャネル制御プログラムを並列に実行するステ
ップを有する請求項8記載の入出力制御方法。
9. The storage step (d) includes a step of storing the transferred plurality of control programs in a plurality of command storage areas in a distributed manner, and the execution step (e) includes different command storage areas. 9. The input / output control method according to claim 8, further comprising the step of executing a plurality of channel control programs stored in the area and requesting input / output operations for different external storage devices in parallel.
【請求項10】該転送ステップ(c)は、該読み出された
複数の制御プログラムとともに、それぞれ該複数の制御
プログラムの一つでもって制御すべき外部記憶装置を識
別するための複数の識別情報を該外部記憶制御装置に転
送するステップを有し、 該実行ステップ(e)は、該転送された複数の識別情報か
ら、該転送された複数の制御プログラムにより制御すべ
き外部記憶装置を決定するステップをさらに有する請求
項7記載の入出力制御方法。
10. The transfer step (c) comprises, together with the read control programs, a plurality of identification information for identifying an external storage device to be controlled by one of the control programs. Is transferred to the external storage control device, and the execution step (e) determines an external storage device to be controlled by the transferred plurality of control programs from the transferred plurality of identification information. The input / output control method according to claim 7, further comprising steps.
【請求項11】該転送ステップ(c)は、該読み出された
複数の制御プログラムを該外部記憶制御装置に一緒に転
送するステップを有する請求項7記載の入出力制御方
法。
11. The input / output control method according to claim 7, wherein said transfer step (c) includes a step of transferring the read control programs together to said external storage controller.
【請求項12】(f) 該読み出された複数の制御プログラ
ムの一つまたは複数が該複数の外部記憶装置に対する一
つまたは複数の書き込みデータを指定するときには、該
一つまたは複数の書き込みデータを、該記憶装置から該
入出力制御装置により読み出すステップをさらに有し、 該転送ステップ(c)は、該読み出された複数の制御プロ
グラムと該読み出された一つまたは複数の書き込みデー
タを該外部記憶制御装置に転送するステップを有する請
求項7記載の入出力制御方法。
12. (f) When one or a plurality of the read control programs specify one or a plurality of write data for the plurality of external storage devices, the one or a plurality of write data. Further comprising the step of reading from the storage device by the input / output control device, the transfer step (c) including the plurality of read control programs and the read one or more write data. 8. The input / output control method according to claim 7, further comprising a step of transferring to the external storage control device.
【請求項13】該転送ステップ(c)は、該読み出された
複数の制御プログラムと該読み出された一つまたは複数
の書き込みデータを該外部記憶制御装置に一緒に転送す
るステップを有する請求項12記載の入出力制御方法。
13. The transfer step (c) includes a step of transferring the read plurality of control programs and the read one or more write data together to the external storage control device. Item 12. The input / output control method according to item 12.
【請求項14】該入出力制御装置は、複数のチャネルパ
スを介して該外部記憶制御装置に接続され、 該複数の外部記憶装置は、それぞれに対する入出力動作
を要求する入出力要求が使用可能な一つまたは複数のチ
ャネルパスを割り当てられ、 該選択ステップ(a)は、該複数のチャネルパスのうち、
同一のチャネルパスを割り当てられた一つまたは複数の
外部記憶装置に対する入出力動作を要求する複数の入出
力要求を選択するステップを有する請求項7記載の入出
力制御方法。
14. The input / output control device is connected to the external storage control device via a plurality of channel paths, and the plurality of external storage devices can use an input / output request requesting an input / output operation for each of them. One or more channel paths are assigned, and the selecting step (a) includes
8. The input / output control method according to claim 7, further comprising the step of selecting a plurality of input / output requests requesting an input / output operation for one or a plurality of external storage devices to which the same channel path is assigned.
【請求項15】(f) 該上位装置より発行された複数の入
出力要求の各々を、それぞれ該複数のチャネルパスの一
つに対応して設けられた複数の入出力要求キューの内、
その各入出力要求が指定する外部記憶装置に割り当てら
れた一つのチャネルパスに対応して設けられた一つの入
出力要求キューに記憶するステップをさらに有し、該選
択ステップ (a)は、該複数の入出力要求キューの一つに
記憶された複数の入出力要求を選択するステップを有す
る請求項14記載の入出力制御方法。
15. (f) Among a plurality of I / O request queues provided respectively corresponding to one of the plurality of channel paths, each of the plurality of I / O requests issued by the host device,
The selection step (a) further includes the step of storing in one input / output request queue provided corresponding to one channel path assigned to the external storage device designated by each input / output request. 15. The input / output control method according to claim 14, further comprising the step of selecting a plurality of input / output requests stored in one of the plurality of input / output request queues.
【請求項16】該選択ステップ (a)は、該上位装置から
新に一つの入出力要求を転送されたときに、その入出力
要求が指定する一つの外部記憶装置に割り当てられた一
つのチャネルパスが使用可能であるという条件下で、そ
の一つのチャネルパスに関して実行される請求項14記
載の入出力制御方法。
16. The selecting step (a) comprises, when a new I / O request is transferred from the host device, a channel allocated to an external storage device designated by the I / O request. The input / output control method according to claim 14, which is executed for the one channel path under the condition that the path is available.
【請求項17】該選択ステップ (a)は、該複数のチャネ
ルパスのいずれかが使用状態から不使用状態に変化した
ときに、その一つのチャネルパスに関して実行される請
求項14記載の入出力制御方法。
17. The input / output according to claim 14, wherein the selecting step (a) is executed for one of the plurality of channel paths when any one of the plurality of channel paths changes from the used status to the unused status. Control method.
【請求項18】該選択ステップ (a)は、該選択された複
数の入出力要求が要求する書き込みデータの総量が所定
量を越えないという条件下で、複数の入出力要求を選択
するステップを有する請求項12記載の入出力制御方
法。
18. The selecting step (a) comprises a step of selecting a plurality of input / output requests under the condition that the total amount of write data required by the selected plurality of input / output requests does not exceed a predetermined amount. 13. The input / output control method according to claim 12, which has.
【請求項19】該選択ステップ (a)は、所定数の入出力
要求を選択するステップを有する請求項12記載の入出
力制御方法。
19. The input / output control method according to claim 12, wherein said selecting step (a) includes a step of selecting a predetermined number of input / output requests.
【請求項20】(f) 該記憶された複数の制御プログラム
内のいずれかのコマンドを実行した結果、該複数の外部
記憶装置から該入出力制御装置に転送すべき応答が出力
されたとき、該応答を該外部記憶制御装置内の所定の記
憶領域に一時的に記憶し、 (g) 該記憶領域に記憶された応答が複数あるときには、
それらの応答を一緒に該入出力制御装置に転送するステ
ップをさらに有する請求項7記載の入出力制御方法。
20. (f) When a response to be transferred from the plurality of external storage devices to the input / output control device is output as a result of executing any command in the stored plurality of control programs, The response is temporarily stored in a predetermined storage area in the external storage control device, and (g) when there are a plurality of responses stored in the storage area,
8. The input / output control method according to claim 7, further comprising the step of transferring the responses together to the input / output control device.
【請求項21】上位装置が発行した、それぞれ複数の外
部記憶装置の一つに対する複数の入出力要求の実行を制
御する入出力制御装置と該入出力制御装置から転送され
たコマンドに基づいて該複数の外部記憶装置を制御する
外部記憶制御装置とを有し、 該入出力制御装置は、 (a1) 複数の制御プログラムを保持する記憶装置から、
該上位装置から発行された複数の入出力要求の内、処理
すべき少なくとも一つの入出力要求が指定する制御プロ
グラムを読み出す手段と、 (a2) 該読み出された制御プログラムを該外部記憶制御
装置に転送する手段とを有し、 該外部記憶制御装置は、 (b1) 該転送された制御プログラムを記憶する手段と、 (b2) 該記憶された制御プログラムを実行する手段を有
する入出力制御システム。
21. An input / output control device for controlling execution of a plurality of input / output requests to one of a plurality of external storage devices issued by a host device, and the command transferred from the input / output control device. An external storage control device for controlling a plurality of external storage devices, wherein the input / output control device comprises (a1) a storage device holding a plurality of control programs,
A means for reading out a control program specified by at least one input / output request to be processed among a plurality of input / output requests issued from the host device; and (a2) the read control program for the external storage control device. And an external storage control device comprising: (b1) a means for storing the transferred control program; and (b2) an input / output control system having a means for executing the stored control program. .
【請求項22】該実行手段 (b2)は、該記憶された制御
プログラムに含まれる複数のコマンドをそれぞれその制
御プログラムで制御すべき一つの外部装置の動作に依存
するタイミングで順次実行する手段を有する請求項21
記載の入出力制御システム。
22. The executing means (b2) comprises means for sequentially executing a plurality of commands included in the stored control program at a timing depending on the operation of one external device to be controlled by the control program. Claim 21 having
Input / output control system described.
【請求項23】該入出力制御装置は、 (a3) 該読み出された制御プログラムが該一つの外部記
憶装置に対するデータの書き込みを要求するとき、該読
み出された制御プログラムが指定する書き込みデータを
該記憶装置から読み出す手段をさらに有し、 該転送手段 (a2)は、該読み出された制御プログラムと
該読み出された書き込みデータを該外部記憶制御装置に
転送する手段を有し、 該外部記憶制御装置は、 (b3) 該転送された書き込みデータを記憶する手段と、 (b4) 該記憶された書き込みデータを該制御プログラム
の実行中の適当なタイミングで該一つの外部記憶装置に
転送する手段をさらに有する請求項21記載の入出力制
御システム。
23. The input / output control device comprises: (a3) write data specified by the read control program when the read control program requests writing of data to the one external storage device. Further comprising means for reading out from the storage device, the transfer means (a2) having means for transferring the read control program and the read write data to the external storage control device, The external storage control device comprises (b3) means for storing the transferred write data, and (b4) transfer the stored write data to the one external storage device at an appropriate timing during execution of the control program. 22. The input / output control system according to claim 21, further comprising:
【請求項24】該転送手段(a2)は、該読み出された制御
プログラムと該読み出された書き込みデータを該外部記
憶制御装置を一緒に転送する手段を有する請求項23記
載の入出力制御システム。
24. The input / output control according to claim 23, wherein the transfer means (a2) has means for transferring the read control program and the read write data together to the external storage controller. system.
【請求項25】該実行手段 (b2)は、 該記憶された制御プログラムが該複数の外部記憶装置の
一つからのデータの読み出しを指定するときには、その
制御プログラムが指定するデータを該一つの外部記憶装
置から読み出す手段と、 その読み出したデータとともに、その記憶された制御プ
ログラムが指定する、該記憶装置内のそのデータの書き
込みアドレスを該入出力制御装置に転送する手段を有す
る請求項21記載の入出力制御システム。
25. The execution means (b2), when the stored control program specifies reading of data from one of the plurality of external storage devices, the execution unit (b2) sets the data specified by the control program to the one of the plurality of external storage devices. 22. A means for reading from the external storage device, and means for transferring the read data and the write address of the data in the storage device designated by the stored control program to the input / output control device together with the read data. I / O control system.
【請求項26】上位装置が発行した、それぞれ複数の外
部記憶装置の一つに対する複数の入出力要求の実行を制
御する入出力制御装置と、該入出力制御装置から転送さ
れたコマンドに基づいて該複数の外部記憶装置を制御す
る外部記憶制御装置を有し、 該入出力制御装置は、 (a) 複数の制御プログラムを保持する記憶装置から、該
上位装置から発行された複数の入出力要求の内、少なく
とも一つの処理すべき入出力要求が指定する制御プログ
ラムを読み出す手段と、 (b) 該読み出された制御プログラムが該複数の外部記憶
装置の一つに対する書き込みデータを指定するときに
は、該書き込みデータを該記憶装置から読み出す手段
と、 (c) 該読み出された制御プログラムと書き込みデータを
一時的に記憶する手段と、 (d) 該記憶された制御プログラムに含まれる複数のコマ
ンドと該記憶された書き込みデータを該外部記憶制御装
置により処理させるために、それらを該外部記憶制御装
置に転送する手段を有する入出力制御システム。
26. Based on an input / output control device for controlling execution of a plurality of input / output requests to one of a plurality of external storage devices issued by a host device, and a command transferred from the input / output control device. The input / output control device has an external storage control device for controlling the plurality of external storage devices, and the input / output control device includes: (B) means for reading a control program specified by at least one input / output request to be processed, and (b) when the read control program specifies write data for one of the plurality of external storage devices, Means for reading the write data from the storage device; (c) means for temporarily storing the read control program and write data; and (d) the stored control program. A plurality of commands and the stored write data contained in the arm in order to be processed by the external storage control unit, input-output control system having a means for transferring them to the external storage controller.
【請求項27】上位装置が発行した、それぞれ複数の外
部記憶装置の一つに対する複数の入出力要求の実行を制
御する入出力制御装置と該入出力制御装置から転送され
たコマンドに基づいて該複数の外部記憶装置を制御する
外部記憶制御装置とを有し、 該入出力制御装置は、 (a1) 複数の制御プログラムを保持する記憶装置から、
該上位装置から発行された複数の入出力要求の内、処理
すべき複数の入出力要求が指定する複数の制御プログラ
ムを読み出す手段と、 (a2) 該読み出された複数の制御プログラムを該外部記
憶制御装置に転送する手段とを有し、 該外部記憶制御装置は、 (b1) 該転送された複数の制御プログラムを記憶する手
段と、 (b2) 該記憶された複数の制御プログラムを実行する手
段を有する入出力制御システム。
27. The I / O controller for controlling execution of a plurality of I / O requests to one of a plurality of external storage devices issued by a host device, and the command transferred from the I / O controller based on the I / O controller. An external storage control device for controlling a plurality of external storage devices, wherein the input / output control device comprises (a1) a storage device holding a plurality of control programs,
Means for reading a plurality of control programs specified by a plurality of input / output requests to be processed among a plurality of input / output requests issued from the host device; A storage controller, and the external storage controller has (b1) means for storing the transferred plurality of control programs, and (b2) executes the stored control programs. Input / output control system having means.
【請求項28】該記憶手段(b1)は、該転送された複数の
制御プログラムを分散して記憶するための複数の記憶領
域を有し、 該実行手段(b2)は、該複数の記憶領域に保持された複数
の制御プログラムの内、異なる外部記憶装置に対する入
出力動作を要求する複数のチャネル制御プログラムを並
列に実行する手段を有する請求項27記載の入出力制御
システム。
28. The storage means (b1) has a plurality of storage areas for storing the transferred plurality of control programs in a distributed manner, and the execution means (b2) has a plurality of storage areas. 28. The input / output control system according to claim 27, further comprising means for executing, in parallel, a plurality of channel control programs requesting an input / output operation for different external storage devices among the plurality of control programs stored in the.
【請求項29】該入出力制御装置は、 (f) 該読み出された複数の制御プログラムの一つまたは
複数が該複数の外部記憶装置に対する一つまたは複数の
書き込みデータを指定するときには、該一つまたは複数
の書き込みデータを該記憶装置から読み出す手段をさら
に有し、 該転送手段(a2)は、該読み出された複数の制御プログラ
ムと該読み出された一つまたは複数の書き込みデータを
該外部記憶制御装置に転送する手段を有する請求項27
記載の入出力制御システム。
29. When the one or more of the plurality of read control programs specify one or more write data to the plurality of external storage devices, the input / output control device further comprises: The transfer means (a2) further has a unit for reading one or a plurality of write data from the storage device, and the transfer unit (a2) stores the read control programs and the read one or a plurality of write data. 28. Means for transferring to the external storage controller
Input / output control system described.
【請求項30】該転送手段(a2)は、該読み出された複数
の制御プログラムと該読み出された一つまたは複数の書
き込みデータを該外部記憶制御装置に一緒に転送する手
段を有する請求項29記載の入出力制御システム。
30. The transfer means (a2) has means for transferring the read control programs and the read one or more write data together to the external storage control device. Item 29. The input / output control system according to item 29.
【請求項31】該入出力制御装置は、複数のチャネルパ
スを介して該外部記憶制御装置に接続され、 該複数の外部記憶装置は、それぞれに対する入出力動作
を要求する入出力要求が使用可能な一つまたは複数のチ
ャネルパスを割り当てられ、 該読み出し手段は、それぞれ該複数のチャネルパスの一
つに対応して設けられ、それぞれ対応するチャネルパス
を割り当てられた外部記憶装置を使用する複数の入出力
要求が指定する制御プログラムを該記憶装置より読み出
す複数の、互いに並列に動作可能な読み出し手段を有
し、 該転送手段は、それぞれ該複数のチャネルパスの一つに
対応して設けられ、それぞれ対応するチャネルパスに対
応する読み出し手段により読み出された複数の制御プロ
グラムを該外部記憶制御装置に転送する複数の、互いに
並列に動作可能な転送手段を有する請求項27記載の入
出力制御システム。
31. The input / output control device is connected to the external storage control device via a plurality of channel paths, and the plurality of external storage devices can use an input / output request requesting an input / output operation for each of them. One or a plurality of channel paths, the read means is provided corresponding to one of the plurality of channel paths, respectively, and a plurality of external storage devices using the corresponding channel paths are assigned. A plurality of read means for reading the control program specified by the input / output request from the storage device, which are operable in parallel with each other, and the transfer means are provided corresponding to one of the plurality of channel paths, respectively. A plurality of mutual transfer programs for transferring the plurality of control programs read by the reading means corresponding to the respective corresponding channel paths to the external storage control device. Output control system according to claim 27, further comprising operable transfer means in parallel.
【請求項32】該入出力制御手段は、 (a3) 該複数のチャネルパスが使用中であるか否かを検
出する手段と、 (a4) いずれかのチャネルパスが使用中でないと検出さ
れたときに、該複数の読み出し手段のうち、そのチャネ
ルパスに対応して設けられた一つの読み出し手段を起動
する手段をさらに有する請求項31記載の入出力制御シ
ステム。
32. The input / output control means detects (a3) means for detecting whether or not the plurality of channel paths are in use, and (a4) any one of the channel paths is not in use. 32. The input / output control system according to claim 31, further comprising means for activating one reading means provided corresponding to the channel path among the plurality of reading means.
【請求項33】該検出手段は、該上位装置から新に一つ
の入出力要求を転送されたときに、その入出力要求が指
定する一つの外部記憶装置に割り当てられた一つのチャ
ネルパスが使用中か否かを検出する手段を有する請求項
32記載の入出力制御システム。
33. When a new I / O request is transferred from the host device, the detecting means uses one channel path assigned to one external storage device designated by the I / O request. 33. The input / output control system according to claim 32, further comprising means for detecting whether or not it is inside.
【請求項34】上位装置が発行した、それぞれ複数の外
部記憶装置の一つに対する複数の入出力要求の実行を制
御する入出力制御装置と、該入出力制御装置に複数のチ
ャネルパスを介して接続され、該入出力制御装置から転
送されたコマンドに基づいて該複数の外部記憶装置を制
御する外部記憶制御装置とを有し、 該入出力制御装置は、 (a1) 該複数のチャネルパスの一つに対応して設けられ
た複数のチャネル制御プロセッサと、 (a2) 該複数のチャネル制御プロセッサに共通に設けら
れた入出力要求制御プロセッサとを有し、 該入出力要求制御プロセッサは、 (b1) 該上位装置から発行された入出力要求を複数の入
手力要求キューに記憶する手段と、 (b2) 該複数の入出力要求キューに記憶された複数の入
出力要求の内、該複数のチャネルパスの一つを使用して
実行可能な複数の入出力要求を取り出す手段と、 (b3) 該取り出された入出力要求を、該複数のチャネル
制御プロセッサのうち、該一つのチャネルパスに対応し
て設けられた一つのチャネル制御プロセッサに通知する
手段とを有し、 各チャネル制御プロセッサは、 (c1) 複数の制御プログラムを保持する記憶装置から、
該入出力制御プロセッサから通知された複数の入出力要
求が指定する複数の制御プログラムを読み出す手段と、 (c2) 該読み出された複数の制御プログラムを該外部記
憶制御装置に転送する手段とを有し、 該外部記憶制御装置は、 (d1)該転送された複数の制御プログラムを記憶する手段
と、 (d2)該記憶された複数の制御プログラムの実行を制御す
る手段とを有する入出力制御システム。
34. An I / O controller for controlling execution of a plurality of I / O requests issued by a host device to one of a plurality of external storage devices, and the I / O controller via a plurality of channel paths. An external storage controller connected to the external storage controller for controlling the plurality of external storage devices based on a command transferred from the input / output controller, wherein the input / output controller is (a1) A plurality of channel control processors provided corresponding to one, and (a2) an input / output request control processor commonly provided to the plurality of channel control processors, wherein the input / output request control processor is b1) means for storing the input / output request issued from the higher-level device in a plurality of acquisition request queues, and (b2) a plurality of the plurality of input / output requests stored in the plurality of input / output request queues. Channel path A means for fetching a plurality of I / O requests that can be executed using one of the plurality of channel control processors, and the fetched I / O requests are provided corresponding to the one channel path among the plurality of channel control processors. And a means for notifying another channel control processor, each channel control processor, (c1) from the storage device holding a plurality of control programs,
Means for reading a plurality of control programs specified by a plurality of input / output requests notified from the input / output control processor; and (c2) means for transferring the plurality of read control programs to the external storage controller. The external storage controller has (d1) means for storing the transferred plurality of control programs, and (d2) input / output control having means for controlling execution of the stored control programs. system.
JP04773193A 1992-03-10 1993-03-09 I / O control method and I / O control system Expired - Fee Related JP3252517B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04773193A JP3252517B2 (en) 1992-03-10 1993-03-09 I / O control method and I / O control system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5129992 1992-03-10
JP4-51299 1992-03-10
JP04773193A JP3252517B2 (en) 1992-03-10 1993-03-09 I / O control method and I / O control system

Publications (2)

Publication Number Publication Date
JPH0612359A true JPH0612359A (en) 1994-01-21
JP3252517B2 JP3252517B2 (en) 2002-02-04

Family

ID=26387893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04773193A Expired - Fee Related JP3252517B2 (en) 1992-03-10 1993-03-09 I / O control method and I / O control system

Country Status (1)

Country Link
JP (1) JP3252517B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010901A (en) * 1998-06-19 2000-01-14 Hitachi Ltd Disk array controller
JP2006277583A (en) * 2005-03-30 2006-10-12 Hitachi Ltd Data processing system, data processing method and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010901A (en) * 1998-06-19 2000-01-14 Hitachi Ltd Disk array controller
US7103710B2 (en) 1998-06-19 2006-09-05 Hitachi, Ltd. Disk array controller with connection path formed on connection request queue basis
JP2006277583A (en) * 2005-03-30 2006-10-12 Hitachi Ltd Data processing system, data processing method and program

Also Published As

Publication number Publication date
JP3252517B2 (en) 2002-02-04

Similar Documents

Publication Publication Date Title
US5640596A (en) Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed
US6633925B2 (en) Operating system for generating overlapped input-output requests to a device in a disk array storage
US6078944A (en) Process management method and system
US4435755A (en) Balanced channel finding method
US6944707B2 (en) Storage subsystem, information processing system and method of controlling I/O interface
JPH0778094A (en) Method for control at application program fault time of computer system
JPH0772888B2 (en) Dynamic polling device, machine processing method, controller and data processing system
CN114610472B (en) Multi-process management method in heterogeneous computing and computing equipment
US6934891B2 (en) Storage system having trace information fetching structure and method of fetching the same
US5678062A (en) Input/output control method and data processor
US6725348B1 (en) Data storage device and method for reducing write misses by completing transfer to a dual-port cache before initiating a disk write of the data from the cache
JPS62119626A (en) Multiplex control system for magnetic disc
US5734918A (en) Computer system with an input/output processor which enables direct file transfers between a storage medium and a network
JP3252517B2 (en) I / O control method and I / O control system
JPH05250187A (en) Task control system by ready space queue
CN113241120A (en) Gene sequencing system and sequencing method
JPH08212178A (en) Parallel computer
JPH01126738A (en) System for control data set competition in execution of multiple job
JPH0944438A (en) Multiplex processing method for synchronous type input/ output instruction
JPH0449146B2 (en)
JPH02129724A (en) Program executing system
JP2001344119A (en) Transaction execution control system and transaction execution control method
JPH04153837A (en) Timer request processing system
JPH04271472A (en) System for processing data base
JPH0353655B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees