JP3517417B2 - データ転送装置 - Google Patents

データ転送装置

Info

Publication number
JP3517417B2
JP3517417B2 JP01281592A JP1281592A JP3517417B2 JP 3517417 B2 JP3517417 B2 JP 3517417B2 JP 01281592 A JP01281592 A JP 01281592A JP 1281592 A JP1281592 A JP 1281592A JP 3517417 B2 JP3517417 B2 JP 3517417B2
Authority
JP
Japan
Prior art keywords
data transfer
command
channel
storage device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP01281592A
Other languages
English (en)
Other versions
JPH05204817A (ja
Inventor
仁 上野
孝夫 佐藤
哲二 小川
俊之 木下
正壱郎 吉岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP01281592A priority Critical patent/JP3517417B2/ja
Priority to US08/006,837 priority patent/US5581789A/en
Publication of JPH05204817A publication Critical patent/JPH05204817A/ja
Application granted granted Critical
Publication of JP3517417B2 publication Critical patent/JP3517417B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

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

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は主記憶装置とは独立の高
速アクセス記憶装置である拡張記憶装置を備えた中央処
理装置に関する。特に、高速大容量のデータ転送が可能
な入出力装置が接続される中央処理装置において、その
入出力装置と拡張記憶装置の間のデータ転送スループッ
トを向上するのに好適なデータ転送装置に関する。 【0002】 【従来の技術】命令処理装置から直接アクセスされるメ
モリ装置と、そのメモリ装置との間でデータ転送を実行
する拡張記憶装置とを設けた中央処理装置に類似した従
来技術としては、特開昭58−9276号に記載のペー
ジ記憶装置を設けたデータ処理システムがあった。 【0003】従来技術によれば、拡張記憶装置は主記憶
装置との間のデータ転送パスを有し、命令処理装置でプ
ログラムを実行する際に、同期的な処理装置命令の実行
あるいは非同期的なチャネルプログラムの起動により、
データ転送動作が実行される。命令処理装置における非
同期的なチャネルプログラムによるデータ転送は、主記
憶装置上にデータ転送用バッファを設け、主記憶装置と
拡張記憶装置との間のデータ転送を実行するチャネルコ
マンドワードを用いたチャネルプログラムを起動するこ
とにより実行される。 【0004】例えば、前記従来技術では、チャネルプロ
グラムを用いた入出力装置から拡張記憶装置への読み込
み動作は、以下に示す2つのチャネルコマンドワードの
組合せにより実行される。 (1)入出力装置のリードコマンド実行により、入出力
装置からチャネル装置に転送されたデータを主記憶装置
上のデータ転送用バッファに転送。 (2)主記憶装置から拡張記憶装置へのデータ転送コマ
ンドにより、データ転送用バッファのデータを拡張記憶
装置に転送。 書き込み動作は、読み出しの場合とは逆向きの動作を同
様な方法で実行される。すなわち、拡張記憶装置から主
記憶装置へのデータ転送が行われた後、主記憶装置から
入出力装置へのデータ転送が実行される。 【0005】 【発明が解決しようとする課題】上記従来技術では、高
速なデータ転送速度で大容量のデータを転送する入出力
装置と、拡張記憶装置との間のデータ転送を、効率よく
実行できないという問題があった。 【0006】すなわち、上記従来技術においては、主記
憶装置をデータ転送用のバッファとして使用するため
に、比較的小容量のデータ転送用バッファを用意して多
数のチャネルコマンドワードを用いることにより小容量
のデータ転送を多数回繰り返すか、大容量のデータ転送
バッファを用意して比較的少ない個数のチャネルコマン
ドワードを用いることにより大容量のデータ転送を少数
回繰り返すか、あるいはこれらの中間的な方法か、いず
れかの方法を採用する必要がある。 【0007】しかし、主記憶装置上に小容量のデータ転
送用バッファを用意する方法は、チャネルコマンドワー
ドをチャネル装置が読み込んで解析し、さらに入出力装
置に対してそのコマンドを転送する処理時間が必要とな
り、小容量のデータ転送時間に比べて無視できない長さ
の時間になるので、チャネル装置によるオーバヘッドが
大きくなり、高速なデータ転送速度を生かしたスループ
ットの高いデータ転送は不可能となる。また、主記憶装
置上に大容量のデータ転送用バッファを用意する方法
は、チャネルコマンドワードの解析時間等による前記チ
ャネル装置のオーバヘッドは少ないが、大容量のデータ
転送用バッファが主記憶装置を占有するために、入出力
動作と並行して実行されている命令処理装置によるプロ
グラム実行に必要なページの不在が多発し、プログラム
の実行速度が低下する。データ転送用バッファの大きさ
として、両者の間をとる中間的な方法は、両者の欠点の
両方を部分的に受け継ぐため、データ転送のスループッ
トの向上とプログラム実行性能の向上の両方を兼ねるこ
とはできない。 【0008】以上の理由により、従来技術における拡張
記憶装置へのデータ転送は、データ転送スループットと
プログラム実行速度を両立させる効率の良いデータ転送
が不可能であった。 【0009】本発明は、プログラム実行性能をほとんど
低下せずに最大のデータ転送スループットを確保できる
データ転送装置を提供することを目的とする。 【0010】 【課題を解決するための手段】上記目的を達成するため
に、本発明では以下に示す3つの手段を設け、拡張記憶
装置とのデータ転送を指定するチャネルコマンドワード
を実行する際にチャネル装置を以下の方法で制御する。 【0011】(1)リードコマンドのデータ転送先また
はライトコマンドの転送元として拡張記憶装置を直接指
定できるチャネルコマンドワードを設ける。 (2)中央処理装置上で動作するプログラムにより管理
される主記憶装置以外のメモリ装置内に2面以上のデー
タ転送用バッファを設ける。 (3)前記データ転送用バッファを指定して、メモリ装
置と拡張記憶装置との間のデータ転送をチャネル装置か
ら起動する、データ転送回路起動手段を設ける。 【0012】(4)チャネル装置制御方法: a.リード動作の場合(入出力装置から拡張記憶装置
へ) (i) 入出力装置のデータを受信して、データ転送用バ
ッファの空いている面に転送する。 (ii) データ転送用バッファに格納されているデータの
拡張記憶装置への転送動作を、データ転送回路起動手段
を用いて起動する。 (iii) 上記(ii)の動作完了を待たずに、入出力装置から
次の空きバッファへのデータ転送を実行する。 (iv) 上記(ii)、(iii)の動作を、チャネルコマンドワ
ードにより指定された容量のデータ転送が済むまで繰り
返す。 b.ライト動作の場合(拡張記憶装置から入出力装置
へ) (i) データ転送回路起動手段を用いて、拡張記憶装置
のデータをデータ転送用バッファの空いている面に転送
する処理を起動する。 (ii) 上記(i)のデータ転送の完了を待たずに、既にデ
ータ転送が完了しているデータ転送用バッファから入出
力装置へのデータ転送を実行する。 (iii) 上記
(i)、(ii)の動作を、チャネルコマンドワードにより指
定された 容量のデータ転送が済むまで繰り返
す。 以上の手段及び制御方法により上記目的が達成される。 【0013】 【作用】データ転送先の装置として拡張記憶装置を直接
指定できるチャネルコマンドワードを用いると、主記憶
装置上にデータ転送用バッファを確保する必要がない。
したがって、ページ不在の多発によるプログラムの実行
性能の低下は生じない。 【0014】また、主記憶装置以外のメモリ装置に複数
面のデータ転送用バッファを設け、拡張記憶装置とデー
タ転送用バッファ間の転送動作を起動するデータ転送回
路起動手段を設けることにより、拡張記憶装置とデータ
転送用バッファとの間のデータ転送動作と、転送用バッ
ファと入出力装置との間のデータ転送動作とを並行して
実行することができる。したがって、両者のデータ転送
が逐次にしか動作しない従来技術に比べて、より大きな
スループットのデータ転送が可能となる。 【0015】また、本発明のチャネル装置の制御方法を
用いる場合、主記憶装置以外のメモリ装置に設けるデー
タ転送用バッファの容量を小さくしても、データ転送性
能の低下を生じない。なぜなら、複数のバッファを切り
替えながら、チャネルコマンドワードで指定される転送
量のデータを転送し続けるので、大容量のデータ転送を
指定された場合でもそれぞれのデータ転送用バッファへ
の転送が完了する度にチャネルコマンドワードを新たに
読み込む必要なく、そのままデータ転送を継続できるの
で、チャネルオーバヘッドがほとんど無いからである。
上記の動作により、プログラムの実行性能を低下させず
に、高速大容量のデータ転送ができる。 【0016】 【実施例】以下、本発明の実施例を図を用いて説明す
る。図1は本発明の要点を示す概略構成図であり、リー
ド動作実行時の動作原理を例に図示している。まず、図
1を用いて、本実施例における入出力装置と拡張記憶装
置(ES:Extended Storage)との間のデータ転送処理
を説明する。ここでは、入出力装置としてDASD(Di
rect Access Storage Device)を利用する場合の実施例
について述べる。 【0017】拡張記憶装置に対する入出力処理は、命令
処理装置(IP:Instruction Processor)により実行さ
れるプログラム内で発行されるSSCH(Start Subcha
nnel)命令101により起動され、チャネル装置116
がSSCH命令101により指定されたチャネルプログ
ラム102を解釈実行することにより処理される。 【0018】また、転送元データ119を有するDAS
D118はデータ転送パス117を介してチャネル装置
116に接続しており、チャネル装置116とメモリ装
置110との間はデータ転送パス115を介して接続さ
れている。メモリ装置110の内部はプログラムから直
接参照可能な主記憶装置111とハードウェアの制御情
報を持ちプログラムからの直接参照ができないハードウ
ェアシステムエリア(HSA:Hardware System Area)
112とから構成されている。転送先領域125を含む
拡張記憶装置124はESデータ転送回路122とデー
タ転送パス123を介して接続されており、ESデータ
転送回路122はデータ転送パス121を介してメモリ
装置110と接続されている。 【0019】SSCH命令101により指定されるチャ
ネルプログラムは、拡張記憶装置124に対するリード
コマンド102を含み、そのリードコマンド102はデ
ータ転送先として主記憶装置111あるいは拡張記憶装
置124のいずれかを選択するためにデータ転送先識別
ビット103を持っている。識別ビット103の値が'
0'のときは主記憶装置110へのデータ転送であること
を示し、値が'1'のときは拡張記憶装置124へのデー
タ転送であることを示す。データ転送先識別方法は他に
も考えられ、他の方法については後述する。 【0020】ハードウェア構成における本発明の特徴
は、ESデータ転送用の2面バッファ(A面)113及
び(B面)114がハードウェアシステムエリア(HS
A)112上に設けられていること、2面バッファの一
方を指定してESデータ転送回路122を起動する指令
を伝達するデータ転送回路起動指令パス120を設けた
ことである。 【0021】また、拡張記憶装置へのデータ転送を行う
リードコマンド102は従来のコマンドと異なるため、
チャネル装置116におけるコマンド実行方法も従来技
術とは異なる。リードコマンド102は、チャネル装置
116内のマイクロプログラム制御128により実行さ
れ、まず、DASD118から転送されたデータをES
データ転送用バッファのA面113に書き込み、それが
完了するとESデータ転送回路122を起動してバッフ
ァA面113から拡張記憶装置124へのデータ転送を
開始する。このデータ転送動作はESデータ転送回路1
22により実行されるのでチャネル装置116はESデ
ータ転送回路122の起動終了後直ちに次のデータ転送
が可能となる。 【0022】そこで、次に、チャネル装置116はES
データ転送バッファのB面114にDASD118から
転送されてくるデータの続きを書き込む。本実施例で
は、入出力装置(DASD118)からES転送バッフ
ァ113、114へのデータ転送速度は、ES転送バッ
ファから拡張記憶装置124へのデータ転送速度より低
速なので、バッファB面114へのデータ書き込みが終
了した時点で、バッファA面113から拡張記憶装置1
24へのデータ転送動作は終了しており、バッファA面
113は空き状態になっている。したがって、次に、チ
ャネル装置116はESデータ転送回路122を起動し
てバッファB面114から拡張記憶装置124へのデー
タ転送を開始する。このデータ転送動作はESデータ転
送回路122により実行されるのでチャネル装置116
はESデータ転送回路122の起動終了後直ちに次のデ
ータ転送が可能となる。 【0023】以上のように、ES転送用バッファ11
3、114から拡張記憶装置124へのデータ転送動作
は、DASD118とES転送用バッファ間のデータ転
送動作と並行に動作するため、見かけ上のデータ転送時
間はほぼDASD118からのデータ転送時間になる。
さらに、1個のチャネルコマンドワード102で比較的
大きい容量のデータ転送バイト数を指定できるにもかか
わらず、データ転送用バッファを多量に用意しなくても
効率の良いデータ転送を実行できる。 【0024】次に、入出力装置−ES間データ転送装置
の構成を示す図2を用いて本実施例を詳細に説明する。 【0025】中央処理装置(CPU:Central Processin
g Unit)311には入出力処理装置(IOP:Input/Out
put Processor)330が備えられており、入出力処理
装置330内のチャネル装置332、入出力ケーブル3
44、ディスク制御装置348及び信号線350を経由
して、高速で大容量のデータ転送を行なうディスク装置
118、119が接続されている。高速大容量のデータ
転送を実行可能なディスク装置としては、大容量のキャ
ッシュメモリを備えたディスク装置や、1個のファイル
のデータを多数のディスク装置に分散させて並列に記録
し読み書きを実行するディスクアレイ装置などがある。 【0026】中央処理装置311は、入出力動作の起動
や実行を行なう入出力処理装置330、命令実行を制御
する命令処理装置(IP:Instruction Processor)31
2、313、メモリ装置110、拡張記憶装置124、
およびこれら装置間の接続を制御するシステム制御装置
(SC:System Controller)314から構成される。 【0027】入出力処理装置330は内部にチャネル装
置(CH:Channel)332、333、334及び335
を備えている。各チャネル装置には、それぞれ入出力ケ
ーブル344、345、346及び347を介して各種
の入出力機器が接続されている。また、各チャネル装置
はメモリ装置110へのデータ転送線336、338、
340、342と、拡張記憶装置124への制御信号線
337、339、341、343が接続されており、こ
れらの信号線はSC接続インタフェース331に集めら
れてシステム制御装置314に接続される。SC接続イ
ンタフェース331は、各チャネル装置332、33
3、334及び335から非同期に発生するメモリ装置
110へのデータ転送要求や拡張記憶装置124への動
作要求のうち各1個を選択して、それぞれをデータ転送
線325とES制御線326に伝達し、他のチャネル装
置からの要求は選択されたチャネル装置からの要求の動
作が完了した後に伝達する排他制御を実行する。 【0028】メモリ装置110はアクセス制御部315
と主記憶装置(MS:Main Storage)11
1とハードウェアシステムエリア(HSA:Hardw
are System Area)112からなり、シ
ステム制御装置314から信号線316を介して与えら
れるメモリアドレスやMS111とHSA112の識別
信号などを用いて、メモリ装置110への書き込み動作
やメモリ装置110からの読みだし動作が実行される。
ハードウェアシステムエリア112内部には入出力装置
(図2ではDISK制御装置348)と拡張記憶装置1
24との間でデータ転送を実行する時に使用するデータ
転送用バッファA113とデータ転送用バッファB11
4が設けられている。データ転送用バッファは比較的小
容量でよく、本実施例では各面とも4KB(キロバイ
ト)程度を確保している。 【0029】拡張記憶装置124はアクセス制御部31
9により制御され、システム制御装置314から信号線
327を介して与えられる拡張記憶装置アドレスなどを
用いて、拡張記憶装置124への書き込み動作あるいは
拡張記憶装置124からの読みだし動作が実行される。
拡張記憶装置124内には、DISK装置118のデー
タ119が転送される領域125、またはDISK装置
118内の領域119に転送するデータが格納されてい
る領域125が設けられている。 【0030】命令処理装置312、313は、メモリ装
置110へのデータ転送信号線320、322、及び拡
張記憶装置124とメモリ装置110との間のデータ転
送を起動する信号線321、323を介して、各々独立
にシステム制御装置314と接続されている。 【0031】システム制御装置314はメモリ装置イン
タフェース部317とESデータ転送制御回路318か
ら構成される。メモリ装置インタフェース部317は信
号線320、322、324及び325から要求される
メモリ装置110とのデータ転送を排他制御する回路で
あり、ESデータ転送制御回路318は信号線321、
323及び326から要求されるメモリ装置110と拡
張記憶装置124との間のデータ転送起動要求を排他制
御する回路である。ESデータ転送制御回路318はデ
ータ転送元や転送先を示すメモリ装置110内アドレス
と拡張記憶装置124内アドレスと転送すべきデータの
バイト数を受け取り、排他制御を行うとともに信号線3
24を介してデータ転送を実行する。 【0032】次に、図3を用いて、DISK装置118
と拡張記憶装置124との間のデータ転送を起動する処
理プログラムの動作の概要を示す。図3に示す処理は命
令処理装置312または313により実行される。 【0033】DISK装置118から拡張記憶装置12
4へのデータ転送を必要とするアプリケーションプログ
ラム401は、拡張記憶装置へのデータ転送であること
をオプションによって指定したGETマクロ命令402
を発行する。GETマクロ命令402が起動されると、
命令処理装置313はGETマクロ処理プログラム40
3に制御を移す。 【0034】GETマクロ処理プログラム403では、
その要求が正当なプログラムからの正当な要求であるか
否かを調べたり、制御に必要な情報の初期設定などを行
なう準備処理(ステップ404)を実行し、リードコマ
ンド102の識別ビット103に基づいてその要求が拡
張記憶装置124へのデータ転送であるか否かを判定す
る(ステップ405)。その要求が拡張記憶装置124
へのデータ転送を指示しているならば、拡張記憶装置1
24への入出力準備処理(ステップ407)を実行し、
主記憶装置111へのデータ転送を指示しているなら
ば、主記憶装置111への入出力準備処理(ステップ4
06)を実行する。拡張記憶装置124への入出力準備
処理(ステップ407)は入出力起動命令を実行する際
に必要となる情報を作成する処理であり、チャネルコマ
ンドワード(CCW)を作成する処理(ステップ40
8)と動作要求ブロック(ORB:Operation Request B
lock)を作成する処理(ステップ409)からなる。 【0035】さらに、データ転送に必要な情報が準備で
きた段階で、SSCH(Start Subchannel)命令を発行
して入出力動作を起動する(ステップ410)。入出力
動作は入出力処理装置330によって制御されるので、
命令処理装置312または313によって実行されるG
ETマクロ処理プログラム403は一旦、待ち状態に入
る(ステップ411)。この待ち状態は、入出力完了割
込みが入出力処理装置330から命令処理装置312ま
たは313に通知されることによって解除され、その
後、完了状態の検査等の後処理を実行し(ステップ41
2)、アプリケーションプログラム401に戻る(ステ
ップ413)。 【0036】次に、図4を用いて、入出力装置と拡張記
憶装置との間のデータ転送をES指定READ/WRI
TEコマンドを用いて実行するチャネルプログラムにつ
いて説明し、図5から図8を用いてチャネルプログラム
の他の実施例を説明する。 【0037】図4は、ディスク装置から拡張記憶装置へ
のデータ転送を指示するES指定READ/WRITE
コマンドを新らたに設定する方法を用いた、チャネルプ
ログラムの構成例を示す。主記憶装置111上には図3
で説明したGETマクロ処理プログラム403のロード
モジュール502が格納されている。入出力動作を起動
するSSCH命令503は、このロードモジュールの中
にX'B233'という値を持つ2バイトの命令コード部50
4として記憶されており、そのオペランド部505で示
される主記憶装置111上のアドレスには動作要求ブロ
ック(ORB)506が記憶されている。 【0038】動作要求ブロック506は、割込みパラメ
タ部507、フラグ部508、ゼロ固定部509及びC
CWアドレス部510から構成される。入出力処理装置
330に入出力動作手順を指示するため命令処理装置3
12または313が作成したチャネルプログラム511
は、動作要求ブロック506のCCWアドレス部510
に記憶されている主記憶装置111上のアドレス位置に
配置されている。チャネルプログラム511は複数のチ
ャネルコマンドワードにより構成され、各チャネルコマ
ンドワードは64ビットからなる。このうち、第0ビッ
トから8ビット分がコマンドコード部、第8ビットから
8ビット分がフラグ部、第16ビットから16ビット分
がカウント部、第32ビットから32ビット分がアドレ
ス部を示す。 【0039】本実施例で用いるチャネルプログラム51
1は、チャネルコマンドワード521から526の列に
より構成されており、チャネルコマンドワード521か
ら526の順に実行される。 【0040】最初のコマンドであるチャネルコマンドワ
ード521のコマンドコード部には、ディスク装置11
8のヘッドを目的のシリンダ位置に位置づけるシークコ
マンドX'07'が格納され、アドレス部にはシーク動作に
関するパラメータを格納した場所を示す主記憶アドレス
値が格納されている。次のチャネルコマンドワード52
2のコマンドコード部には、誤った書き込み動作による
データの破壊を防止するセットファイルマスクコマンド
X'1F'が格納され、アドレス部にはこの動作に必要なパ
ラメータを格納した場所を示す主記憶アドレス値が格納
されている。さらに、チャネルコマンドワード523の
コマンドコード部には、目的のデータレコードが存在す
るセクター付近にヘッドが近づくまで待つ動作を実行す
るセットセクターコマンドX'23'が格納され、アドレス
部にはこの動作に必要なパラメータを格納した場所を示
す主記憶アドレス値が格納されている。 【0041】次のチャネルコマンドワード524のコマ
ンドコード部には、目的のデータレコードを捜すサーチ
コマンドX'31'が格納され、アドレス部にはこの動作に
必要なパラメータを格納した場所を示す主記憶アドレス
値が格納されている。サーチコマンドはデータレコード
を検出する度に次のチャネルコマンドワードに制御を移
す動作を実行するが、見つけたレコードが目的のデータ
でなかった場合にはすぐ後の位置にあるチャネルコマン
ドワードを実行し、見つけたレコードが目的のデータで
あった場合にはチャネルコマンドワードを1個飛ばして
その次のチャネルコマンドワードを実行する。すなわ
ち、チャネルコマンドワード524のサーチコマンドに
より目的のデータレコードが発見されると、次にチャネ
ルコマンドワード526に制御が移ることになる。 【0042】チャネルコマンドワード524のサーチコ
マンドにより目的レコードを発見できなかった場合、次
に、チャネルコマンドワード525に制御が移る。チャ
ネルコマンドワード525のコマンド部には、このコマ
ンドのアドレス部に示す位置のチャネルコマンドワード
に制御を移すことを指示するトランスファーインチャネ
ル(TIC:Transfer in Channel)コマンドX'08'が格
納されている。ここでは、制御の飛び先として直前のチ
ャネルコマンドワード524が指定されているので、こ
のチャネルコマンドワード525の次には再びCCW5
24のサーチコマンドX'31'が実行される。このような
サーチコマンドとTICコマンドの繰り返しは、目的の
レコードが発見されるまで継続される。 【0043】目的のレコードが発見されるとチャネルプ
ログラムの実行はチャネルコマンドワード526に移
る。チャネルコマンドワード526のコマンド部には、
ディスク装置118から拡張記憶装置124にデータを
読み込むREAD TO ESコマンドX'46'が格納され
ており、アドレス部には転送先の拡張記憶装置内のデー
タ格納領域のアドレスが格納されている。このコマンド
の動作により、ディスク装置118から転送されたデー
タが拡張記憶装置124に格納される。 【0044】これとは逆向きに、拡張記憶装置124か
らディスク装置118へのデータ転送は、チャネルコマ
ンドワード526の格納位置にWRITE FROM E
SコマンドX'45'のコマンドコードを持つチャネルコマ
ンドワード527を置くことにより実行される。 【0045】この方法は、拡張記憶装置124とのデー
タ転送を指定するコマンドコードを新設するだけで実現
可能であり、オペレーションリクエストブロック(OR
B)506やチャネルコマンドワードの記録形式の変更
等が不要という利点があるが、拡張記憶装置への直接デ
ータ転送の実行は、拡張記憶装置とのデータ転送をサポ
ートするチャネルコマンドを新設した入出力装置におい
てのみ、可能である。つまり、チャネルコマンドワード
は入出力動作の対象となる入出力装置の種類が異なれば
コマンドコードも異なるので、拡張記憶装置とのデータ
転送コマンドは入出力装置ごとに個別に新設する必要が
ある。 【0046】図5は、チャネルコマンドワードを変更せ
ず、オペレーションリクエストブロック内に拡張記憶装
置のアクセス要求であることを示すフラグを新設する方
法である。 【0047】この方法では、オペレーションリクエスト
ブロック(ORB)506内のゼロ固定部509内の最
下位ビットに拡張記憶アドレッシングフラグ701を新
設し、このフラグが1のときは本オペレーションリクエ
ストブロック506で指定されるチャネルプログラムを
構成するチャネルコマンドワードのアドレス部には、コ
マンドコードがTICコマンドである場合を除き、拡張
記憶装置124上のアドレスを示すアドレス値が格納さ
れる。 【0048】チャネルプログラム702の中で、チャネ
ルコマンドワード703から707までは図4に示した
コマンドと同様のシークコマンドからTICコマンドの
並びであるが、TICコマンド以外の各チャネルコマン
ドワードのアドレス部は拡張記憶装置124上のアドレ
スを示す。TICコマンドのアドレス部は主記憶装置上
のアドレスを示し、これは直前のチャネルコマンドワー
ド706に制御を移すことを意味している。 【0049】DISK装置118から拡張記憶装置12
4へのデータ転送は、チャネルコマンドワード708に
より指示する。このチャネルコマンドワードのコマンド
部にはREAD DATAコマンドX'06'が格納されてお
り、そのアドレス部は拡張記憶装置124上のアドレス
を示すアドレス値が格納されている。拡張記憶装置12
4からDISK装置118への逆向きのデータ転送は、
チャネルコマンドワード708の代わりに、コマンド部
にWRITE DATAコマンドX'05'を持つチャネルコ
マンドワード709を用いることにより実行できる。 【0050】この方法の利点は、拡張記憶装置とのデー
タ転送を実行するための特別なチャネルコマンドを新設
する必要が無いので、装置の種類にかかわらず任意の入
出力装置と拡張記憶装置との間のデータ転送を実行でき
る点にある。 【0051】図6は、チャネルコマンドワードの変更を
せず、オペレーションリクエストブロック内に、間接ア
ドレッシングワード(IDAW:Indirect Addressing W
ord)が使用されていれば、拡張記憶装置のアクセス要
求であるということを示すフラグを新設する方法であ
る。 【0052】この方法では、オペレーションリクエスト
ブロック506内のゼロ固定部509内の最下位ビット
に間接アドレス指定時拡張記憶アドレッシングフラグ8
01を新設し、このフラグが1のときは本オペレーショ
ンリクエストブロック506で指定されるチャネルプロ
グラムを構成するチャネルコマンドワードには間接アド
レッシングワード804のアドレス値が格納され、間接
アドレッシングワード804には拡張記憶装置124上
のアドレスが格納される。 【0053】チャネルプログラム802の中で、チャネ
ルコマンドワード521から525までは図4に示した
コマンドと同様のシークコマンドからTICコマンドの
並びである。 【0054】DISK装置118から拡張記憶装置12
4へのデータ転送は、チャネルコマンドワード803に
より指示される。このチャネルコマンドワードのコマン
ド部にはREAD DATAコマンドX'06'が格納されて
おり、フラグ部には間接アドレッシング(IDA:Indir
ect Addressing)が指定されている。間接アドレッシン
グが指定されている場合、そのアドレス部は間接アドレ
ッシングワード(IDAW)805から806を並べた
間接アドレッシングワードリスト804の先頭のアドレ
スを示す。ここで、間接アドレッシングワードに格納さ
れているアドレス値は、フラグ801の値が1のとき
は、拡張記憶装置124上のアドレスを示す。拡張記憶
装置124からDISK装置118への逆向きのデータ
転送は、チャネルコマンドワード803の代わりに、コ
マンド部にWRITE DATAコマンドX'05'を持つチ
ャネルコマンドワード807を用いることにより実行さ
れる。この場合も、チャネルコマンドワード807のア
ドレス部は、間接アドレッシングワード(IDAW)8
08から809を並べた間接アドレッシングワードリス
ト810の先頭のアドレスを示す。 【0055】この方法の利点は、拡張記憶装置とのデー
タ転送を実行するための特別なチャネルコマンドを新設
する必要が無く、かつ、間接アドレッシングを用いない
限り主記憶装置とのデータ転送であることを前提にでき
るのでシークコマンドやサーチコマンドのパラメータを
主記憶装置上に置くことができ、従って、装置の種類に
かかわらず任意の入出力装置の拡張記憶装置とのデータ
転送を実行できる点にある。 【0056】図7は、チャネルコマンドワードのフラグ
部に、拡張記憶装置アクセス要求フラグを新設する方法
である。この方法では、チャネルプログラム901の中
で、チャネルコマンドワード521から525までは図
4に示したコマンドと同様のシークコマンドからTIC
コマンドの並びであり、DISK装置118から拡張記
憶装置124へのデータ転送は、チャネルコマンドワー
ド902により指示される。このチャネルコマンドワー
ドのコマンド部にはREAD DATAコマンドX'06'が
格納されており、フラグ部903には新設した拡張記憶
装置アクセス要求フラグ(ES)911が設けられてお
り、このフラグ911が1ならばアドレス部は拡張記憶
装置上のアドレス値を示し、このフラグ911が0なら
ばアドレス部は主記憶装置上のアドレス値を示す。 【0057】チャネルコマンドワードのフラグ部903
には、その他に、チェーンデータフラグ(CD)90
4、チェーンコマンドフラグ(CC)905、不正長表
示抑止フラグ(SLI)906、スキップフラグ(SK
IP)907、プログラムコントロールインタラプトフ
ラグ(PCI)908、インダイレクトデータアドレッ
シングフラグ(IDA)909及びサスペンドフラグ
(S)910が含まれる。拡張記憶装置124からDI
SK装置118への逆向きのデータ転送は、チャネルコ
マンドワード902の代わりに、コマンド部にWRIT
E DATAコマンドX'05'を持つチャネルコマンドワー
ド912を用いることにより実行できる。この場合も、
チャネルコマンドワード912のフラグ部903は、拡
張記憶装置アクセス要求フラグ(ES)911を持ち、
この値が1ならば拡張記憶装置124からDISK装置
への書き込みが実行され、この値が0ならば主記憶装置
111からの書き込みが実行される。 【0058】この方法の利点は、拡張記憶装置とのデー
タ転送を実行するための特別なチャネルコマンドを新設
する必要が無く、かつ、チャネルコマンドワード1個毎
にデータ転送元、またはデータ転送先を拡張記憶装置1
24あるいは主記憶装置111のいずれかに指定できる
ので、シークコマンドやサーチコマンドのパラメータを
主記憶装置上に置くことができ、従って、装置の種類に
かかわらず任意の入出力装置の拡張記憶装置とのデータ
転送を実行できる点にある。 【0059】図8は、チャネルコマンドワードとしてデ
ータ転送ユニット切り替えコマンドを新設し、拡張記憶
装置に対するデータ転送と、主記憶装置に対するデータ
転送とを切り替え可能とする方法である。 【0060】この方法では、チャネルプログラム100
1の中で、チャネルコマンドワード521から525ま
では図4に示したコマンドと同様のシークコマンドから
TICコマンドの並びであり、DISK装置118から
拡張記憶装置124へのデータ転送は、チャネルコマン
ドワード1002と1003により指示される。チャネ
ルコマンドワード1002は、コマンド部にTRANS
FER ESコマンドX'48'が格納されており、それ以後
に実行されるチャネルコマンドワードのデータアクセス
先が拡張記憶装置124であることを示す。従って、こ
のコマンドが実行された後に実行されるチャネルコマン
ドワードのアドレス部に格納されているアドレス値は拡
張記憶装置124上のアドレスを示す。チャネルコマン
ドワード1003は、コマンド部にREAD DATA
コマンドX'06'が格納されており、DISK装置118
からの通常の読込み動作を実行し、拡張記憶装置124
にデータを転送する。 【0061】また、データ転送ユニットを主記憶装置1
11に切り替える場合、チャネルコマンドワード100
4に示すTRANSFER MSコマンドX'58'を用い
る。 【0062】拡張記憶装置124からDISK装置11
8への逆向きのデータ転送は、チャネルコマンドワード
1003の代わりに、コマンド部にWRITE DAT
AコマンドX'05'を持つチャネルコマンドワード100
5を用いることにより実行される。この場合も、チャネ
ルコマンドワード1005の実行以前に拡張記憶装置1
24とのデータ転送を指定するTRANSFER ES
コマンドを持つチャネルコマンドワードが実行されてい
れば、拡張記憶装置124からDISK装置118への
データ転送が実行される。 【0063】この方式では拡張記憶装置とのデータ転送
を実行するための特別なチャネルコマンドとして、TR
ANSFER ESコマンドとTRANSFER MSコ
マンドとを新設する必要があるが、これらのコマンドは
入出力処理装置330だけに関連するチャネルコマンド
であるので、各入出力装置毎に拡張記憶装置とのデータ
転送用の特別なコマンドをそれぞれ新設する必要が無
い。 【0064】また、任意のチャネルコマンドワードで指
定するデータ転送先またはデータ転送元を、拡張記憶装
置または主記憶装置のいずれかのユニットに切り替えら
れるので、シークコマンドやサーチコマンドのパラメー
タを主記憶装置上に格納したまま、DISK装置と拡張
記憶装置との間でデータ転送を実行できる。 【0065】本方式の利点は、前述のように、各入出力
装置に対応した個々のチャネルコマンドを新設する必要
がなく、また、任意のチャネルコマンドワードによるデ
ータ転送を拡張記憶装置に対しても実行できることにあ
る。 【0066】以上、図4から図8を用いて説明したチャ
ネルプログラムを用いることにより、拡張記憶装置への
データ転送用バッファとして主記憶装置を使用しなくて
もデータ転送動作が可能となる。 【0067】つぎに、上記のように主記憶装置上にバッ
ファを確保せずに、入出力装置と拡張記憶装置の間のデ
ータ転送を実行する場合のハードウェアの動作を説明す
る。ここで、計算機システム全体のハードウェア構成は
図2に示した構成と同一であるが、データ転送制御回路
318とチャネル装置332について、さらに詳細に説
明する。 【0068】図9はデータ転送制御回路318の概要を
示す図である。データ転送制御回路318は、命令処理
装置313からのデータ転送要求信号線323、命令処
理装置312からのデータ転送要求信号線321及び入
出力処理装置330からのデータ転送要求信号線326
を介して、メモリ装置110と拡張記憶装置124との
間のデータ転送の処理要求を受け付ける。データ転送要
求信号線323、321及び326は、要求排他制御回
路1104に接続され、さらに信号線1105を介して
データ転送実行回路1101、転送方向指定レジスタ1
106、拡張記憶装置アドレスレジスタ1107及びメ
モリ装置アドレスレジスタ1108に接続されている。 【0069】データ転送実行回路1101は信号線11
09、1110及び1111を介して転送に必要な情報
を得て、信号線1105に指示される適当なタイミング
でデータ転送を開始し、データ転送完了時には信号線1
105から要求排他制御回路1104を介してデータ転
送要求元に完了信号を送出する。さらに、メモリ装置1
10とのデータ送受信を実行する信号線324と、拡張
記憶装置124とのデータ送受信を実行する信号線32
7とを用いて、メモリ装置110と拡張記憶装置124
との間のデータ転送動作を実行する。 【0070】また、入出力処理装置330からの転送要
求に対するデータ転送完了通知は、入出力処理装置33
0が信号線326を介して状況検査要求を送出したとき
に、それに対する応答情報としてデータ転送動作完了か
未完了かの情報を応答することにより実行される。デー
タ転送実行回路1101は、入出力処理装置330から
要求されたデータ転送動作が完了した場合、信号線11
03を経由して転送完了応答レジスタ1102に完了情
報を書き込む。入出力処理装置330は信号線326を
介して転送完了応答レジスタ1102の内容を検査する
ことにより、データ転送実行状況を知ることができる。 【0071】次に図10を用いてチャネル装置332の
構成概要を説明する。チャネル装置332は、マイクロ
プログラム1202により動作するチャネルプロセッサ
1204、信号線1203を介してチャネルプロセッサ
1204に接続された制御記憶装置1201、チャネル
プロセッサ1204から信号線1207を介して接続さ
れるデータ転送制御回路1205及び信号線1208を
介してチャネルプロセッサ1204に接続される外部ユ
ニットインタフェース回路1206から構成されてい
る。データ転送制御回路1205には、外部の入出力装
置を接続する信号線344とメモリ装置とのデータ送受
信を実行する信号線336とが接続されており、外部ユ
ニットインタフェース回路1206には、SC接続イン
タフェース331を経由してESデータ転送制御回路3
18に接続される信号線337が接続される。 【0072】次に、図11を用いて、命令処理装置31
2または313の上でSSCH命令が実行されたときの
入出力処理装置330の動作概要を説明する。SSCH
命令が実行されると入出力処理装置330の制御論理が
起動され(1301)、SSCH命令により指定された
入出力装置を特定するサブチャネル番号を求め(130
2)、サブチャネル番号により指定され、かつ入出力装
置が接続されているチャネル装置のうち使用可能なもの
を選択し(1303)、選択したチャネル装置を起動し
(1304)、制御を終了する(1305)。 【0073】次に、図12を用いて各チャネル装置(3
32〜335)内のマイクロプログラムの制御を説明す
る。入出力処理装置330によりチャネル装置が起動さ
れるとマイクロプログラムが起動され(1401)、主
記憶装置111に格納されているチャネルコマンドワー
ドを1ワード読込み(1402)、そのチャネルコマン
ドワードのコマンド部に含まれるコマンドコードを解析
し(1403)、READ系の命令であって(140
4)、かつ拡張記憶装置124へのデータ転送が要求さ
れているならば(1405)、入出力装置から拡張記憶
装置124へのデータ転送処理を実行し(1407)、
READ系コマンドであって(1404)、かつ拡張記
憶装置124へのデータ転送要求でないならば(140
5)、入出力装置から主記憶装置111へデータ転送処
理を実行する(1406)。 【0074】チャネルコマンドワードのコマンド部で指
定された動作がREAD系コマンドではなく(140
4)、かつWRITE系コマンドであって(140
8)、かつ拡張記憶装置124からのデータ転送が要求
されているならば(1409)、拡張記憶装置124か
ら入出力装置へのデータ転送処理を実行し(141
1)、WRITE系コマンドであって(1408)、か
つ拡張記憶装置124からのデータ転送要求でないなら
ば(1409)、主記憶装置111から入出力装置への
データ転送処理を実行する(1410)。 【0075】また、チャネルコマンドワードのコマンド
部により指定されたコマンドが、READ系ではなく
(1404)、かつWRITE系でもない場合(140
8)、SENSE系、CONTROL系、TICなどの
コマンド処理を実行し(1412)、各コマンド処理の
実行が終了した後に、実行すべき次のチャネルコマンド
ワードが存在するならば(1413)、先頭に戻って次
のチャネルコマンドワードを読込み(1402)、次の
チャネルコマンドワードが存在しないならば(141
3)、チャネルの動作を終了し、命令処理装置(312
又は313)に入出力完了割込みを報告する(141
4)。 【0076】次に、図13を用いてチャネル装置内のマ
イクロプログラムが実行する入出力装置から拡張記憶装
置へのデータ転送処理について説明する。これは図12
に示した入出力装置から拡張記憶装置へのデータ転送処
理(1407)の詳細な動作である。 【0077】拡張記憶装置124へのデータ転送動作が
起動されると(1501)、初期設定動作により、ハー
ドウェアシステムエリア(HSA)112上に設けたデ
ータ転送用の2面のバッファ113と114のうちどち
らの面にデータ転送を行なうかを指定する変数HSAA
Dに値として「A面バッファアドレス」を格納し、その
バッファのサイズを変数BUFCNTに格納し、データ
転送量のカウンタである変数TRNSCNTに初期値0
を設定する(1502)。そして、SSCH命令により
指定された入出力装置に対して、チャネルコマンドワー
ドで指示されたREAD系コマンドを送出する(150
3)。 【0078】次に、ハードウェアシステムエリア112
上のA面バッファ113またはB面バッファ114のう
ちHSAADで示される面バッファが満杯になるまで、
あるいは予め定められた転送単位の容量になるまで、入
出力装置から転送されたデータをハードウェアシステム
エリア112に転送し続ける(1504)。 【0079】ハードウェアシステムエリア112への転
送が完了すると、HSAADで示され、満杯になった面
バッファ112または113のデータを拡張記憶装置1
24内の転送先領域125に転送する動作が起動され
る。この転送動作の起動は、入出力処理装置330から
信号線326を介して、データ転送制御回路318内の
転送方向指定レジスタ(DIR)1106の値を「メモ
リ装置から拡張記憶装置向き」に設定し、拡張記憶アド
レスレジスタ(ES−ADR)1107の値を「SSC
H命令により指定されたチャネルコマンドワードに格納
されている拡張記憶アドレス+TRNSCNT値」に設
定し、メモリ装置アドレスレジスタ(MS−ADR)1
108の値を「HSAAD値」に設定して起動要求を送
出することにより実行される(1505)。 【0080】拡張記憶装置124へのデータ転送起動を
実行した後、その完了を待たずに、次に用いるハードウ
ェアシステムエリア上のバッファのアドレスを求める。
これにはまず、現在のHSAADの内容を変数CMPH
SAAD内に待避する。変数CMPHSAAD内には、
拡張記憶装置124へのデータ転送を起動した後に、デ
ータ転送の完了を待っているバッファのアドレスが格納
される。そして、次に用いるバッファアドレスとして、
旧バッファの面に対する逆面のバッファのアドレスをH
SAADに格納する。すなわち、直前に使用したバッフ
ァがA面ならば次に用いるバッファはB面であり、直前
がB面ならば次に用いるバッファはA面であり、次に用
いるバッファのアドレス値をHSAADに格納する。さ
らに、データ転送バイト数のカウンタであるTRNSC
NTの値をBUFCNT(バッファのサイズ)だけ増加
する(1506)。 【0081】ハードウェアシステムエリア112内に設
ける転送用バッファの面数は2面に限定せず、任意の面
数を用いても同様に制御できる。その場合、次に用いる
バッファ面として、最も昔に使用したバッファ面を選択
する。 【0082】次に、データ転送制御回路318内の転送
完了応答レジスタ1102の内容を調べてデータ転送状
況を判定し(1507)、HSAADで示されるハード
ウェアシステムエリア上のバッファがデータ転送中か否
かを調べ、データ転送中ならば転送が完了するまで待ち
(1508)、転送完了ならばチャネルコマンドワード
に指定されたデータ量だけ入出力装置とのデータ転送が
完了したか否かを検査する(1509)。 【0083】全てのデータ転送がまだ完了していないな
らば、ステップ1504に戻って次のデータ転送を継続
し、データ転送が完了したならば再度データ転送制御回
路318の状態を検査し(1510)、起動済みのデー
タ転送処理が全て完了した後で(1511)処理を終了
する(1512)。 【0084】次に、図14を用いてチャネル装置内のマ
イクロプログラムが実行する拡張記憶装置124から入
出力装置へのデータ転送処理について説明する。これは
図12で説明した拡張記憶装置から入出力装置へのデー
タ転送処理(1411)の詳細な動作である。 【0085】拡張記憶装置124からのデータ転送動作
が起動されると(1601)、初期設定動作により、ハ
ードウェアシステムエリア上に設けたデータ転送用の2
面のバッファ113あるいは114のいずれの面をバッ
ファとして使用するかを指定する変数HSAADの値を
「A面バッファアドレス」とし、そのバッファのサイズ
を変数BUFCNTに格納し、データ転送量のカウンタ
である変数TRNSCNTに初期値0を設定する(16
02)。そして、SSCH命令により指定された入出力
装置に対して、チャネルコマンドワードで指示されたW
RITE系コマンドを送出する(1603)。 【0086】次に、拡張記憶装置124からハードウェ
アシステムエリア112上の指定されたバッファ113
または114へのデータ転送が起動される。このデータ
転送の起動は、入出力処理装置330から信号線326
を介して、データ転送制御回路318内の転送方向指定
レジスタ(DIR)1106の値を「拡張記憶装置から
メモリ装置向き」に設定し、拡張記憶アドレスレジスタ
(ES−ADR)1107の値を「SSCH命令により
指定されたチャネルコマンドワードに格納されている拡
張記憶アドレス+TRNSCNT値」に設定し、メモリ
装置アドレスレジスタ(MS−ADR)1108の値を
「HSAAD値」に設定して起動要求を送出することに
より実行される(1604)。 【0087】次に、データ転送制御回路318内の転送
完了応答レジスタ1102の内容を調べてデータ転送状
況を判定し(1605)、HSAADで示すハードウェ
アシステムエリア上のバッファがデータ転送中か否かを
調べ、データ転送中ならば処理1605を繰り返しなが
らデータ転送の完了を待つ(1606)。 【0088】次に、拡張記憶装置124からハードウェ
アシステムエリア上のバッファへのデータ転送動作が実
行されていない空きバッファのアドレスを求める。これ
にはまず、現在のHSAADの内容を変数CMPHSA
AD内に待避する。変数CMPHSAAD内には、拡張
記憶装置124へのデータ転送を起動した後に、データ
転送の完了を待っているバッファのアドレスが格納され
る。そして、次に用いるバッファアドレスとして、旧バ
ッファの面に対応する逆面のバッファのアドレスをHS
AADに格納する。すなわち、直前に使用したバッファ
がA面ならば次に用いるバッファはB面であり、直前が
B面ならば次に用いるバッファはA面であり、次に用い
るバッファのアドレス値をHSAADに格納する。さら
に、データ転送バイト数のカウンタであるTRNSCN
Tの値をBUFCNT(バッファのサイズ)だけ増加す
る(1607)。 【0089】ハードウェアシステムエリア112内に設
ける転送用バッファの面数は2面に限定せず、任意の面
数を用いても同様に制御できる。その場合、次に用いる
バッファ面として、最も昔に使用したバッファ面を選択
する。 【0090】次に、拡張記憶装置124内の転送元領域
125からHSAADで示される面のバッファ112ま
たは113に転送する動作を起動する。この転送動作の
起動は、ステップ1604に示した処理と同様の動作で
ある(1608)。 【0091】次に、ステップ1608のデータ転送の起
動直後に、既に拡張記憶装置124から転送されたデー
タが満たされている面のバッファのデータを、入出力装
置に転送する。すなわち、入出力装置はステップ160
3で送出したWRITEコマンドによってデータ受信待
ち状態となっているので、変数CMPHSAADで示さ
れるバッファ面から入出力処理装置およびチャネル装置
を介して入出力装置へのデータ転送を実行する(160
9)。 【0092】全てのデータ転送が完了していなければ、
ステップ1605に戻って次のデータ転送を継続し、全
てのデータ転送が完了していれば、変数HSAADで示
されるバッファ面から入出力処理装置およびチャネル装
置を介して入出力装置へのデータ転送を実行し(161
1)、処理を終了する(1612)。 【0093】上記の本実施例によれば、オペレーティン
グシステム管理下の主記憶装置上に拡張記憶装置と入出
力装置間のデータ転送用バッファを設けず、ハードウェ
アシステムエリアに小容量の転送用バッファを複数面置
くことで、転送用バッファのメモリを多く必要とせず、
かつ、大容量データの転送の場合でもデータ転送スルー
プットが大きい入出力動作を実現できる。 【0094】 【発明の効果】本発明によれば、ハードウェア性能が数
100メガバイト/秒以上の高速なデータ転送速度を有
し、ソフトウェアから要求される1回の入出力データの
転送量が数10メガバイト以上の大容量のデータを転送
する場合、主記憶装置上にはデータ転送用バッファを確
保せず、ハードウェアシステムエリア上に数100キロ
バイト以下という比較的小容量のバッファを確保するだ
けで、入出力装置とバッファとの間のデータ転送と、拡
張記憶装置とバッファとの間のデータ転送が並行して実
行されるので、ハードウェア性能の上限に近い性能で拡
張記憶装置と入出力装置間のデータ転送を実行できる。
【図面の簡単な説明】 【図1】本発明の動作原理を示す概略構成図。 【図2】本発明の一実施例を示すデータ転送装置の構成
図。 【図3】命令処理装置上のプログラムの動作を示すフロ
ー図。 【図4】拡張記憶指定コマンドを用いたチャネルプログ
ラムを示す図。 【図5】ORBのフラグを用いたチャネルプログラムを
示す図。 【図6】IDAWを用いたチャネルプログラムを示す
図。 【図7】チャネルコマンドワードのフラグ部を用いたチ
ャネルプログラムを示す図。 【図8】データ転送ユニット切り替えコマンドを用いた
チャネルプログラムを示す図。 【図9】ESデータ転送制御回路を示す構成図。 【図10】チャネル装置を示す構成図。 【図11】SSCH命令発行時の入出力処理装置の動作
を示すフロー図。 【図12】チャネル装置内のマイクロプログラムの動作
を示すフロー図。 【図13】入出力装置から拡張記憶装置へのデータ転送
動作を示すフロー図。 【図14】拡張記憶装置から入出力装置へのデータ転送
動作を示すフロー図。 【符号の説明】 110…メモリ装置、112…ハードウェアシステムエリア、
113…A面データ転送用バッファ、114…B面データ転送
用バッファ、118…DISK装置、122…拡張記憶装置デ
ータ転送回路、124…拡張記憶装置、311…中央処理装
置、312、313…命令処理装置、314…システム制御装置、
318…ESデータ転送制御回路、330…入出力処理装置、
332、333、334、335…チャネル装置、401…アプリケーショ
ンプログラム、402…GETマクロ命令、403…GETマ
クロ処理プログラム、506…オペレーションリクエスト
ブロック、511…チャネルプログラム、526…READ TO ES
コマンド、527…WRITE FROM ESコマンド、701…拡張記
憶装置アドレッシング指定フラグ、801…IDAWの拡張記
憶装置アドレッシング指定フラグ、804…IDAWリス
ト、903…フラグ部、911…拡張記憶装置アクセス要求フ
ラグ、1002…TRANSFER ESコマンド、1004…TRANSFER MS
コマンド、1101…データ転送実行回路、1104…要求排他
制御回路、1202…マイクロプログラム、1204…チャネル
プロセッサ、1301…SSCH命令発行時の入出力処理装
置の動作、1401…マイクロプログラムの動作、1501…拡
張記憶装置へのデータ転送処理、1601…拡張記憶装置か
ら入出力装置へのデータ転送処理。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 孝夫 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 小川 哲二 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 木下 俊之 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 吉岡 正壱郎 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 昭58−9276(JP,A) 特開 昭62−165256(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】データ転送装置であって、 命令装置と、 前記命令装置により実行されるプログラムから参照でき
    る主記憶装置部と参照できないバッファ部とを有する記
    憶装置と、 前記記憶装置との間でデータ転送が行われる拡張記憶装
    置と、 入出力装置と前記主記憶装置部との間、及び前記入出力
    装置と前記拡張記憶装置との間でデータ転送を行うチャ
    ネル装置と、 前記チャネル装置からの一つの命令であって、転送対象
    に対する読み出し又は書き込みのいずれかの指示を指定
    する情報前記転送対象が前記拡張記憶装置又は前記主
    記憶装置部のいずれかを指定する情報及び前記転送対象
    のアドレス情報とを含む命令に基づき、前記転送対象と
    して前記拡張記憶装置が指定されたら、前記バッファ部
    を介して前記拡張記憶装置と前記バッファとの間及び
    前記バッファと前記入出力装置との間のデータ転送を
    実行するデータ転送回路から構成されていることを特徴
    とするデータ転送装置。
JP01281592A 1992-01-28 1992-01-28 データ転送装置 Expired - Fee Related JP3517417B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01281592A JP3517417B2 (ja) 1992-01-28 1992-01-28 データ転送装置
US08/006,837 US5581789A (en) 1992-01-28 1993-01-21 Data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01281592A JP3517417B2 (ja) 1992-01-28 1992-01-28 データ転送装置

Publications (2)

Publication Number Publication Date
JPH05204817A JPH05204817A (ja) 1993-08-13
JP3517417B2 true JP3517417B2 (ja) 2004-04-12

Family

ID=11815887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01281592A Expired - Fee Related JP3517417B2 (ja) 1992-01-28 1992-01-28 データ転送装置

Country Status (2)

Country Link
US (1) US5581789A (ja)
JP (1) JP3517417B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128714A (en) * 1994-03-17 2000-10-03 Hitachi, Ltd. Method of processing a data move instruction for moving data between main storage and extended storage and data move instruction processing apparatus
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
JPH10171607A (ja) * 1996-12-09 1998-06-26 Matsushita Electric Ind Co Ltd データ転送システム
DE10041870B4 (de) * 2000-08-25 2004-01-15 OCé PRINTING SYSTEMS GMBH Verfahren zum blockweisen Übertragen von Druckdaten, Sende- und Empfangsschnittstelle für das Verfahren, Druckgerät mit Empfangsschnittstelle und Computerprogramm
GB0622408D0 (en) * 2006-11-10 2006-12-20 Ibm Device and method for detection and processing of stalled data request

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4173783A (en) * 1975-06-30 1979-11-06 Honeywell Information Systems, Inc. Method of accessing paged memory by an input-output unit
US4092715A (en) * 1976-09-22 1978-05-30 Honeywell Information Systems Inc. Input-output unit having extended addressing capability
US4344132A (en) * 1979-12-14 1982-08-10 International Business Machines Corporation Serial storage interface apparatus for coupling a serial storage mechanism to a data processor input/output bus
US4407016A (en) * 1981-02-18 1983-09-27 Intel Corporation Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor
US4476524A (en) * 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means
US4703449A (en) * 1983-02-28 1987-10-27 Data Translation Inc. Interrupt driven multi-buffer DMA circuit for enabling continuous sequential data transfers
US4843544A (en) * 1987-09-25 1989-06-27 Ncr Corporation Method and apparatus for controlling data transfers through multiple buffers
US5167020A (en) * 1989-05-25 1992-11-24 The Boeing Company Serial data transmitter with dual buffers operating separately and having scan and self test modes
US5247616A (en) * 1989-10-23 1993-09-21 International Business Machines Corporation Computer system having different communications facilities and data transfer processes between different computers
US5157770A (en) * 1990-08-31 1992-10-20 International Business Machines Corporation Nonsynchronous dasd control
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path

Also Published As

Publication number Publication date
JPH05204817A (ja) 1993-08-13
US5581789A (en) 1996-12-03

Similar Documents

Publication Publication Date Title
US5461721A (en) System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
JP3431972B2 (ja) 仮想ディスクシステム
JPH11282629A (ja) システム間でデ―タおよびコマンドを動的にマッピングする方法、信号担持媒体および装置
JPH07105126A (ja) インターフェース・システムおよび方法
US7376786B2 (en) Command stack management in a disk drive
JPH07225715A (ja) キャッシュ内のデータにアクセスする方法およびシステム
US6931501B1 (en) Method and apparatus for merging contiguous like commands
US4639862A (en) Computer system
JP3517417B2 (ja) データ転送装置
JPH0748195B2 (ja) チャネルー直接アクセス記憶装置間非同期通信システム
CA1119311A (en) Das device command execution sequence
JPH0776950B2 (ja) データ処理方法及び装置
US7139880B2 (en) Disk array device, method for controlling the disk array device and storage system
JP2774728B2 (ja) ディスクアレイ制御方式
JPH11327802A (ja) ディスクシステム
JPS59723A (ja) 入出力インタ−フエ−ス制御方式
JP3122702B2 (ja) ディスク装置のライトバック制御方法
JPH11143646A (ja) 外部記憶サブシステムの制御方法および外部記憶サブシステム
JP2544039B2 (ja) ディスクドライブ並列操作方法
US5893918A (en) System and method for rotational position sensing miss avoidance in direct access storage devices
JP3063669B2 (ja) 情報処理システム
JP3524954B2 (ja) ディスク制御装置
JP2644857B2 (ja) データ転送方法
JP3456820B2 (ja) 情報処理装置
JP2580998B2 (ja) 記憶制御装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040126

LAPS Cancellation because of no payment of annual fees