JP3853535B2 - データ転送システム、装置及び方法、並びに記録媒体 - Google Patents
データ転送システム、装置及び方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP3853535B2 JP3853535B2 JP11582299A JP11582299A JP3853535B2 JP 3853535 B2 JP3853535 B2 JP 3853535B2 JP 11582299 A JP11582299 A JP 11582299A JP 11582299 A JP11582299 A JP 11582299A JP 3853535 B2 JP3853535 B2 JP 3853535B2
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- task
- control means
- transfer control
- peripheral
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、複数の周辺装置と主記憶装置との間のデータ転送を効率的に行うための技術に関する。
【0002】
【従来の技術】
ホストコンピュータに複数の周辺装置が接続されるシステムにおいて、ホストコンピュータの主記憶装置と周辺装置との間で行われるデータ転送が、配下に複数の周辺装置を有する周辺制御装置とホストコンピュータ側のデータ転送制御装置とを介して行われるものがある。このようなシステムで複数の周辺制御装置が用いられる場合には、従来、ホストコンピュータの側のデータ転送制御装置は、周辺制御装置と1対1で対応して配置されていた。
【0003】
【発明が解決しようとする課題】
このようなシステムですでにデータ転送動作を行っている周辺装置と同一の周辺制御装置に接続されている他の周辺装置が主記憶装置との間でデータ転送を行う場合、当該他の周辺装置に関わるデータ転送は、前の周辺装置に関わるデータ転送が終了するまで、待たされることとなってしまう。
【0004】
ところで、ホストコンピュータに複数の周辺装置が接続されたシステムにおいて、複数の周辺装置とホストコンピュータ内の主記憶装置との間のデータ転送を効率的に行う技術として、特開昭62−214456号公報に開示されたデータ転送スケジュール方式(以下、公報1という)や、特公平7−21786号公報に開示されたデータ転送制御方式(以下、公報2という)がある。
【0005】
公報1は、従データ処理装置から主データ処理装置へのデータ転送を、従データ処理装置から要求される優先度及びデータ転送に必要とされる資源の有無により設定される優先度に従って行うことを開示している。しかしながら、公報1は、ホストコンピュータ(ここでは、主データ処理装置が該当する)に複数の周辺制御装置が接続される構成は開示しておらず、上記した従来技術の問題点を解消するものとはなり得ない。
【0006】
一方、公報2は、任意の1台の入出力装置のデータ転送終了から前処理に必要とする一定時間分先だって、別の入出力装置の前処理を起動することを開示している。しかしながら、公報2でも、入出力装置との間での転送対象となるデータが記憶される主記憶装置を有するホストコンピュータに複数の周辺制御装置が接続される構成は開示しておらず、上記した従来技術の問題点を解消するものとはなり得ない。
【0007】
本発明は、同一の周辺制御装置の配下にある複数の周辺装置と主記憶装置との間のそれぞれのデータ転送を効率的に行うことができるデータ転送システム、装置及び方法、並びにその方法を実現するプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点にかかるデータ転送システムは、 転送対象となるデータが記憶される主記憶装置を有するホスト装置と、該ホスト装置に接続され、それぞれ複数の周辺装置を配下に有する複数の周辺制御装置とを備え、前記主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送システムであって、
前記ホスト装置は、
前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段と、
前記周辺装置と前記主記憶装置との間でデータ転送を行うために起動されたプログラムが、前記複数のデータ転送制御手段のうちでどのデータ転送制御手段を使用してデータ転送を行わせるかをスケジューリングするスケジュール手段とを備え、
前記スケジュール手段は、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と該各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理手段と、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記タスク管理手段を参照して他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理手段を参照して動作状態がデータ転送中でないデータ転送制御手段を選択し、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理手段に管理させるタスクスケジュール手段とを備える
ことを特徴とする。
【0009】
上記データ転送システムでは、スケジュール手段は、起動されたデータ転送のためのプログラムに対して、動的にデータ転送制御手段を割り当てることができる。このため、例えば、すでにデータ転送制御手段を使用してデータ転送を行っている周辺装置のデータ転送が完了していなくても、他のデータ転送制御手段を使用させることによって、同一の周辺制御装置の配下にある周辺装置と主記憶装置との間のデータ転送を行うことができるようになる。このため、データ転送の効率がよくなる。
【0010】
さらに、データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段が選択される。また、複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには動作状態がデータ転送中でないデータ転送制御手段が選択される。よって、データ転送の効率が一層向上する。
【0012】
なお、前記データ転送制御手段は、それぞれを使用するタスクのうちで前記周辺装置と前記主記憶装置とのデータ転送を行うことが可能なタスクが実行すべきデータ転送に関する情報を記憶するタスク情報記憶手段を備え、該タスク情報記憶手段に記憶されている情報に従って、前記周辺装置と前記主記憶装置との間のデータ転送を行うものとしてもよい。
【0013】
この場合には、前記タスクスケジュール手段は、新たなタスクで使用するデータ転送制御手段として動作状態がデータ転送中でないデータ転送制御装置を選択する際に、前記タスク情報記憶手段に記憶されているデータ転送に関する情報を、所定の退避領域に退避させる手段をさらに備えるものとすることができる。
【0014】
上記データ転送システムにおいて、
前記複数の周辺制御装置は、前記複数のデータ転送制御手段の2つ以上と実質的に同時に協働動作することが可能であり、配下にある2つ以上の周辺装置と前記主記憶装置との間のデータ転送を実質的に同時に行うことができるものであってもよい。
【0015】
上記目的を達成するため、本発明の第2の観点にかかるデータ転送装置は、
複数の周辺装置を配下に有する複数の周辺制御装置が接続され、転送対象となるデータが記憶される内部の主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送装置であって、
前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段と、
前記周辺装置と前記主記憶装置との間でデータ転送を行うために起動されたプログラムが、前記複数のデータ転送制御手段のうちでどのデータ転送制御手段を使用してデータ転送を行わせるかをスケジューリングするスケジュール手段とを備え、
前記スケジュール手段は、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と該各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理手段と、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記タスク管理手段を参照して他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理手段を参照して動作状態がデータ転送中でないデータ転送制御手段を選択し、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理手段に管理させるタスクスケジュール手段とを備える、
ことを特徴とする。
【0018】
上記目的を達成するため、本発明の第3の観点にかかるデータ転送方法は、
転送対象となるデータが記憶される主記憶装置を有するホスト装置と、該ホスト装置に接続され、それぞれ複数の周辺装置を配下に有する複数の周辺制御装置とを備えるシステムにおいて、前記主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送方法であって、
前記ホスト装置には、前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段を備え、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報を各タスクに対応付けて管理する第1のタスク管理ステップと、
各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報を各タスクに対応付けて管理する第2のタスク管理ステップと、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記第1のタスク管理ステップですでに管理された他のタスクでデータ転送のために使用していないデータ転送制御手段を選択し、当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記第1のタスク管理ステップによる管理対象とさせる第1のタスクスケジュールステップと
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときに、前記第2のタスク管理ステップですでに管理された動作状態がデータ転送中でないデータ転送制御手段を選択し、当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記第2のタスク管理ステップによる管理対象とさせる第2のタスクスケジュールステップと、
を含むことを特徴とする。
【0020】
上記目的を達成するため、本発明の第4の観点に係るコンピュータ読み取り可能な記録媒体は、
複数の周辺装置を配下に有する複数の周辺制御装置と、前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と内部の主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段を有するホスト装置とから構成されるシステムにおいて、前記周辺装置と前記主記憶装置との間のデータ転送を制御するためのプログラムを記録するコンピュータ読み取り可能な記録媒体であって、起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理機能と、
前記タスク管理機能によって管理されている他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理機能で管理されている動作状態がデータ転送中でないデータ転送制御手段を選択し、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理機能によって管理させるタスクスケジュール機能と、
を実行するためのプログラムを記録することを特徴とする。
【0022】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0023】
図1は、この実施の形態にかかるデータ転送システムの機能ブロック図である。図示するように、このデータ転送システムは、ホストコンピュータ0と、配下に入出力装置(I/O DEVICE)41、42を有する周辺制御装置40と、配下に入出力装置51、52を有する周辺制御装置50と、配下に入出力装置61、62を有する周辺制御装置60とを有している。
【0024】
ホストコンピュータ0は、タスクスケジュール装置4と、主記憶装置6と、データ転送制御装置10、20、30とを備えている。また、ホストコンピュータ0上にソフトウェア的に実現されている機能として、チャネルプログラム(CP)1〜3、チャネルプログラム退避領域7〜9、タスク管理表5、及びカレントタスク情報11、21、31が存在する。
【0025】
チャネルプログラム1〜3は、ホストコンピュータ1のチャネルが入出力装置41、42、51、52、61、62を制御するためのプログラムであり、チャネル番号(制御すべき周辺制御装置の番号PCU/配下の入出力装置の番号DEVICE)と、入出力装置のアドレスや主記憶装置のアドレスと、入出力装置41、42、51、52、61、62の動作を規定するプログラムが記述されている。なお、チャネルプログラム1〜3は、プログラムを実行するCPU(Central Processing Unit)からの指示によって起動され、起動されたもののそれぞれがタスクスケジュール装置4によってタスクとして管理される。
【0026】
チャネルプログラム退避領域7〜9は、チャネルプログラム1〜3のそれぞれに対応して設けられ、チャネルプログラム1〜3の実行途中の状態を格納する。チャネルプログラム退避領域7〜9には、後述するように他のタスクに切り換わる前のカレントタスク情報11、21、31が、タスクスケジュール装置4によって退避される領域である。
【0027】
タスクスケジュール装置4は、CPUからの指示によって起動されたチャネルプログラム1〜3に、それぞれユニークなタスク番号を付与する。タスクスケジュール装置4は、チャネルプログラム1〜3で使用するデータ転送制御装置10、20、30を他のチャネルプログラム(タスクを意味する。以下、同じ)で使用していないものから優先して選択する。データ転送制御装置10、20、30のすべてが他のチャネルプログラムで使用されている場合には、タスクスケジュール装置4は、データ転送状態でないデータ転送制御装置10、20、30をチャネルプログラム1〜3で使用するものとして選択する。その際、選択したデータ転送制御装置10、20、30に対応するカレントタスク情報11、21、31が、チャネルプログラム退避領域7〜9に退避される。
【0028】
タスク管理表5は、タスクスケジュール装置4によって管理され、起動されたチャネルプログラム1〜3に付与したタスク番号と、選択したデータ転送制御装置10、20、30の番号(DTC番号)と、データ転送制御装置10、20、30の動作状態(DTC状態)と、前述したチャネル番号とを対応付けて格納する。
【0029】
主記憶装置6は、入出力装置41、42、51、52、61、62との間で転送されるデータを記憶する。
【0030】
データ転送制御装置10、20、30は、それぞれ周辺制御装置40、50、60のすべてと論理的に接続可能である。データ転送制御装置10、20、30は、それぞれタスクスケジュール装置4によって決められた周辺制御装置40、50、60との協働により、主記憶装置6と入出力装置41、42、51、52、61、62との間でのデータ転送を制御する。
【0031】
周辺制御装置40、50、60は、それぞれの配下にある入出力装置41、42、51、52、61、62の動作を制御する。周辺制御装置40、50、60は、バッファメモリを有しており、実質上同時に複数のデータ転送制御装置10、20、30と協働して動作可能となっており、配下の入出力装置と主記憶装置6との間のデータ転送を、実質的に並行して行うことができるようになっている。
【0032】
なお、チャネルプログラム1〜3、チャネルプログラム退避領域7〜9、及びタスク管理表5は、実際には、主記憶装置6の所定の領域に記憶されている。タスクスケジュール装置4は、ホストコンピュータ0のチャネルが後述するプログラムを実行することによって実現することができる。カレントタスク情報11、21、31は、それぞれデータ転送装置10、20、30のローカルメモリに記憶させるものとしても、主記憶装置6の所定の領域に記憶させるものとしてもよい。
【0033】
以下、この実施の形態にかかるデータ転送システムの動作について説明する。
【0034】
図2は、図1のタスクスケジュール装置4の処理を示すフローチャートである。このフローチャートの処理は、ホストコンピュータのCPUが実行するプログラムによりチャネルプログラム1〜3のいずれかが起動され、そのことがタスクスケジュール装置4に通知されることによって開始する。なお、このフローチャートの処理は、起動されたチャネルプログラム1〜3毎に、それぞれ別々のプロセスとして実行される。
【0035】
処理が開始すると、タスクスケジュール装置4は、まず、タスク管理表5のタスク番号の欄を参照し、タスク管理表5で管理可能なタスク番号のうちで他のチャネルプログラムに付与されていない未使用のタスク番号があるかどうかサーチする(ステップS101)。そして、タスクスケジュール装置4は、サーチの結果から未使用のタスク番号があるかどうかを判定する(ステップS102)。
【0036】
未使用のタスク番号がない場合には、タスクスケジュール装置4は、ステップS201の判定処理を繰り返し、他のプロセスにおけるステップS118の処理(後述)でタスク番号が開放されるのを待ち合わせる。未使用のタスク番号がある場合には、タスクスケジュール装置4は、サーチされた未使用のタスク番号のいずれかに対応付けて、当該チャネルプログラムのチャネル番号をタスク管理表5に登録する(ステップS103)。
【0037】
次に、タスクスケジュール装置4は、タスク管理表5のDTC番号の欄を参照し、他のチャネルプログラムで使用していないデータ転送制御装置10、20、30をサーチする(ステップS104)。そして、タスクスケジュール装置4は、サーチの結果から未使用のデータ転送制御装置10、20、30があるかどうかを判定する(ステップS105)。
【0038】
未使用のデータ転送制御装置10、20、30がある場合には、ステップS109の処理に進む。一方、未使用のデータ転送制御装置10、20、30がない場合には、タスクスケジュール装置4は、タスク管理表5のDTC状態の欄を参照し、現在の動作状態がデータ転送中になっていないものをサーチする(ステップS106)。そして、タスクスケジュール装置4は、サーチの結果からデータ転送中の状態になっていないものがあるかどうかを判定する(ステップS107)。
【0039】
データ転送中の状態になっていないものがない場合には、タスクスケジュール装置4は、ステップS107の処理を繰り返し、他のいずれかのチャネルプログラムによるデータ転送が中断されるのを待ち合わせる。一方、データ転送中の状態になっていないものがある場合には、タスクスケジュール装置4は、データ転送中の状態になっていないチャネルプログラムが使用するデータ転送制御装置10、20、30に対応したカレントタスク情報11、21、31をチャネルプログラム退避領域7〜9に退避し(ステップS108)、ステップS109の処理に進む。
【0040】
ステップS109では、タスクスケジュール装置4は、ステップS104でサーチした未使用のデータ転送制御装置10、20、30の番号、或いはステップS108でカレントタスク情報11、21、31を退避したデータ転送制御装置10、20、30の番号をタスク管理表5のDTC番号の欄に登録する。
【0041】
さらに、タスクスケジュール装置4は、DTC番号を登録したデータ転送制御装置10、20、30に対応するカレントタスク情報11、21、31に、ステップS103で付与したタスク番号、当該チャネルプログラムのチャネル番号、及び転送対象となるデータの主記憶装置6上のアドレスやデータ長を登録する(ステップS110)。
【0042】
次に、タスクスケジュール装置4は、ステップS103で登録したチャネル番号に含まれる入出力装置41、42、51、52、61、62の番号、入出力装置41、42、51、52、61、62内でのアドレスと共に、データ転送の起動を登録したチャネル番号に含まれる周辺制御装置40、50、60に通知する(ステップS111)。その後、タスクスケジュール装置4は、この通知に対してステップS202の処理(後述)で周辺制御装置40、50、60から送られてくるタスク番号とDTC番号との受信を待ち合わせる(ステップS112)。
【0043】
周辺制御装置40、50、60からタスク番号とDTC番号とを受信すると、タスクスケジュール装置4は、周辺制御装置40、50、60から受信したDTC番号のデータ転送制御装置10、20、30に対応するカレントタスク情報11、21、31として登録されているタスク番号を、周辺制御装置40、50、60から受信したタスク番号と比較し(ステップS113)、比較結果が一致であるか不一致であるかを判定する(ステップS114)。
【0044】
比較結果が不一致である場合には、ステップS109でDTC番号を登録したデータ転送制御装置10、20、30が他のチャネルプログラムによって取得されてしまっているため、ステップS104の処理に戻ってDTC番号の再登録を行う。この際、チャネルプログラム退避領域7〜9に退避されているカレント情報を再登録したDTC番号のデータ転送制御装置10、20、30に対応するカレント情報11、21、31に復元する。
【0045】
一方、比較結果が一致である場合には、タスクスケジュール装置4は、当該タスク番号に対応してタスク管理表5に登録されているDTC状態を、データ転送中に遷移させる(ステップS115)。さらに、タスクスケジュール装置4は、当該周辺制御装置40、50、60にデータ転送の許可を通知する(ステップS116)。
【0046】
その後、タスクスケジュール装置4は、この通知によって行われたデータ転送に対してステップS205の処理(後述)で周辺制御装置40、50、60から送られてくる完了通知を待ち合わせる(ステップS117)。
【0047】
周辺制御装置40、50、60からの完了通知を受け取ると、タスクスケジュール装置4は、タスク管理表5内の当該タスク番号に対応するDTC番号、DTC状態及びチャネル番号の欄を空き状態にして、他のチャネルプログラムが当該タスク番号を使用できるようにする(ステップS118)。そして、このフローチャートの処理を終了する。
【0048】
図3は、図1の周辺制御装置40の処理を示すフローチャートである(周辺制御装置50、60の処理も同じ)。周辺制御装置40は、電源がオンされると図3の処理を開始し、前述したタスクスケジュール装置4から何らかの通知がされたかどうかを判定する(ステップS201)。タスクスケジュール装置4からの通知がないと判定している間は、周辺制御装置40は、ステップS201の処理を繰り返し、タスクスケジュール装置4からの通知を待ち合わせる。
【0049】
タスクスケジュール装置4からの通知がデータ転送の起動であると判定した場合は、周辺制御装置40は、タスク番号とDTC番号とをタスクスケジュール装置4に送信して、当該DTC番号に対応するタスクスケジュール装置10、20、30が周辺制御装置40の配下にある入出力装置41、42にデータ転送をするのに使用可能かを確認する(ステップS202)。その後、ステップS201の処理に戻り、周辺制御装置40は、再度タスクスケジュール装置4からの通知を待ち合わせる。
【0050】
一方、タスクスケジュール装置4からの通知がデータ転送の許可であると判定した場合には、周辺制御装置40は、ステップS202でDTC番号が通知されているデータ転送制御装置10、20、30との協働作業により、主記憶装置6と配下の入出力装置41、42との間でデータ転送を実行する(ステップS203)。そして、ステップS204でデータ転送の完了を判別するまで、周辺制御装置40は、データ転送の実行を継続する。
【0051】
ステップS204でデータ転送の完了を判別すると、周辺制御装置40は、タスクスケジュール装置4に対して、タスク番号及びDTC番号と共に、データ転送の完了を通知する(ステップS205)。その後、ステップS201の処理に戻り、周辺制御装置40は、再度タスクスケジュール装置4からの通知を待ち合わせる。
【0052】
なお、図3のフローチャートの処理は、周辺制御装置4の電源がオフされた場合や、エラーが生じた場合に強制的に終了させられる他は、常時実行されることとなる。
【0053】
以下、この実施の形態にかかるデータ転送システムの動作例を、具体例に基づいて説明する。ここでは、主記憶装置6と入出力装置41との間でデータ転送を行う場合、タスク番号100が他のチャネルプログラムによって使用されていないものとして、次の2つの場合を例として説明する。
【0054】
I.データ転送制御装置10が使用中であるが、データ転送制御装置20が未使用である場合
この場合は、タスク番号100が未使用であるため(ステップS101、S102)、起動されたチャネルプログラムにタスク番号100が割り当てられ、まず、タスク管理表5のタスク番号100に対応するチャネル番号の欄に、「PCU40/DEVICE41」が登録される(ステップS103)。
【0055】
次に、データ転送制御装置10が使用中であるが、データ転送制御装置20が未使用であるため(ステップS104、S105)、タスク管理表5のタスク番号100に対応するDTC番号に、「DTC20」が登録される(ステップS109)。そして、データ転送制御装置20に対応するカレントタスク情報21に、主記憶装置6のアドレスなどの他に、「タスク番号100」と「PCU40/DEVICE41」が登録される(ステップS110)。
【0056】
次に、タスク管理装置4から周辺制御装置40にデータ転送の起動が通知される(ステップS111)。これに対する応答が返却され(ステップS202、S112)、タスク番号が一致すると(ステップS113、S114)、タスク管理表5のタスク番号100に対応するDTC状態が「転送中」に遷移される(ステップS115)。
【0057】
さらに、タスク管理装置4から周辺制御装置40にデータ転送の許可が通知されることで、データ転送制御装置20と周辺制御装置40との協働によって、主記憶装置6と入出力装置41との間でデータ転送が行われる(ステップS116、S203)。
【0058】
II.すべてのデータ転送制御装置10、20、30が使用中で、データ転送制御装置30が転送状態でない場合
この場合も、Iの場合と同様に、起動されたチャネルプログラムにタスク番号100が割り当てられ、タスク管理表5のタスク番号100に対応するチャネル番号の欄に、「PCU40/DEVICE41」が登録される(ステップS101〜S103)。
【0059】
次に、データ転送制御装置10、20、30のすべてが使用中であるが(ステップS104、S105)、データ転送制御装置30が転送状態でないため(ステップS106、S107)、カレントタスク情報31がチャネルプログラム退避領域に退避され(ステップS108)、タスク管理表5のタスク番号100に対応するDTC番号に、「DTC30」が登録される(ステップS109)。そして、データ転送制御装置30に対応するカレントタスク情報31に、主記憶装置6のアドレスなどの他に、「タスク番号100」と「PCU40/DEVICE41」が登録される(ステップS110)。
【0060】
次に、タスク管理装置4から周辺制御装置40にデータ転送の起動が通知される(ステップS111)。これに対する応答が返却され(ステップS202、S112)、タスク番号が一致すると(ステップS113、S114)、タスク管理表5のタスク番号100に対応するDTC状態が「転送中」に遷移される(ステップS115)。
【0061】
さらに、タスク管理装置4から周辺制御装置40にデータ転送の許可が通知されることで、データ転送制御装置30と周辺制御装置50との協働によって、主記憶装置6と入出力装置41との間でデータ転送が行われる(ステップS116、S203)。
【0062】
以上説明したように、この実施の形態にかかるデータ転送システムでは、データ転送制御装置10、20、30が使用中であっても、他に使用されていないデータ転送制御装置があれば、これを使用して同一の周辺制御装置40、50、60の配下にある入出力装置41、42、51、52、61、62と主記憶装置6との間のデータ転送を行うことができる。このため、他の入出力装置と主記憶装置6との間のデータ転送の終了を待つことなく、データ転送を効率的に行うことができる。
【0063】
さらに、この実施の形態にかかるデータ転送システムでは、データ転送制御装置10、20、30が使用中であっても、データの転送動作中でないデータ転送制御装置があれば、これを使用して同一の周辺制御装置40、50、60の配下にある入出力装置41、42、51、52、61、62と主記憶装置6との間のデータ転送を行うことができる。このため、他の入出力装置と主記憶装置6との間のデータ転送の終了を待つことなく、データ転送を効率的に行うことができる。
【0064】
この場合において、転送動作中でないタスクに関して登録されているカレントタスク情報11、21、31がチャネルプログラム退避領域7〜9に退避され、退避したカレントタスク情報を復帰させてデータ転送を行なうことによって、エラーを生じさせることなく、起動されたすべてのチャネルプログラム1〜3(タスク)によるデータ転送を行うことができる。
【0065】
上記の実施の形態では、データ転送制御装置10、20、30と周辺制御装置40、50、60とは、それぞれ3つずつであり、周辺制御装置40、50、60は、それぞれ配下に2つずつの入出力装置41、42、51、52、61、62を有するものとしていた。しかしながら、本発明においてこれらの数は任意である。
【0066】
上記の実施の形態では、タスク管理装置4の機能は、チャネルが図2のフローチャートの処理を実行することによって実現されるものとして説明した。これに対して、図2のフローチャートに示すプログラムは、磁気ディスクや光磁気ディスクなどのコンピュータ読み取り可能な記録媒体に格納して配布するものとしてもよい。
【0067】
【発明の効果】
以上説明したように、本発明によれば、同一の周辺制御装置の配下にある周辺装置に対してのデータ転送が終了していなくても、他の周辺装置に対してのデータ転送が行えるようになるため、データ転送を効率よく行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるデータ転送システムの機能ブロック図である。
【図2】図1のタスクスケジュール装置の処理を示すフローチャートである。
【図3】図1の周辺制御装置の処理を示すフローチャートである。
【符号の説明】
1〜3 チャネルプログラム(CP)
4 タスクスケジュール装置
5 タスク管理表
6 主記憶装置
7〜9 チャネルプログラム(CP)退避領域
10、20、30 データ転送制御装置
11、21、31 カレントタスク情報
40、50、60 周辺制御装置
41、42、51、52、61、62 入出力装置(I/O DEVICE)
【発明の属する技術分野】
本発明は、複数の周辺装置と主記憶装置との間のデータ転送を効率的に行うための技術に関する。
【0002】
【従来の技術】
ホストコンピュータに複数の周辺装置が接続されるシステムにおいて、ホストコンピュータの主記憶装置と周辺装置との間で行われるデータ転送が、配下に複数の周辺装置を有する周辺制御装置とホストコンピュータ側のデータ転送制御装置とを介して行われるものがある。このようなシステムで複数の周辺制御装置が用いられる場合には、従来、ホストコンピュータの側のデータ転送制御装置は、周辺制御装置と1対1で対応して配置されていた。
【0003】
【発明が解決しようとする課題】
このようなシステムですでにデータ転送動作を行っている周辺装置と同一の周辺制御装置に接続されている他の周辺装置が主記憶装置との間でデータ転送を行う場合、当該他の周辺装置に関わるデータ転送は、前の周辺装置に関わるデータ転送が終了するまで、待たされることとなってしまう。
【0004】
ところで、ホストコンピュータに複数の周辺装置が接続されたシステムにおいて、複数の周辺装置とホストコンピュータ内の主記憶装置との間のデータ転送を効率的に行う技術として、特開昭62−214456号公報に開示されたデータ転送スケジュール方式(以下、公報1という)や、特公平7−21786号公報に開示されたデータ転送制御方式(以下、公報2という)がある。
【0005】
公報1は、従データ処理装置から主データ処理装置へのデータ転送を、従データ処理装置から要求される優先度及びデータ転送に必要とされる資源の有無により設定される優先度に従って行うことを開示している。しかしながら、公報1は、ホストコンピュータ(ここでは、主データ処理装置が該当する)に複数の周辺制御装置が接続される構成は開示しておらず、上記した従来技術の問題点を解消するものとはなり得ない。
【0006】
一方、公報2は、任意の1台の入出力装置のデータ転送終了から前処理に必要とする一定時間分先だって、別の入出力装置の前処理を起動することを開示している。しかしながら、公報2でも、入出力装置との間での転送対象となるデータが記憶される主記憶装置を有するホストコンピュータに複数の周辺制御装置が接続される構成は開示しておらず、上記した従来技術の問題点を解消するものとはなり得ない。
【0007】
本発明は、同一の周辺制御装置の配下にある複数の周辺装置と主記憶装置との間のそれぞれのデータ転送を効率的に行うことができるデータ転送システム、装置及び方法、並びにその方法を実現するプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点にかかるデータ転送システムは、 転送対象となるデータが記憶される主記憶装置を有するホスト装置と、該ホスト装置に接続され、それぞれ複数の周辺装置を配下に有する複数の周辺制御装置とを備え、前記主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送システムであって、
前記ホスト装置は、
前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段と、
前記周辺装置と前記主記憶装置との間でデータ転送を行うために起動されたプログラムが、前記複数のデータ転送制御手段のうちでどのデータ転送制御手段を使用してデータ転送を行わせるかをスケジューリングするスケジュール手段とを備え、
前記スケジュール手段は、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と該各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理手段と、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記タスク管理手段を参照して他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理手段を参照して動作状態がデータ転送中でないデータ転送制御手段を選択し、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理手段に管理させるタスクスケジュール手段とを備える
ことを特徴とする。
【0009】
上記データ転送システムでは、スケジュール手段は、起動されたデータ転送のためのプログラムに対して、動的にデータ転送制御手段を割り当てることができる。このため、例えば、すでにデータ転送制御手段を使用してデータ転送を行っている周辺装置のデータ転送が完了していなくても、他のデータ転送制御手段を使用させることによって、同一の周辺制御装置の配下にある周辺装置と主記憶装置との間のデータ転送を行うことができるようになる。このため、データ転送の効率がよくなる。
【0010】
さらに、データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段が選択される。また、複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには動作状態がデータ転送中でないデータ転送制御手段が選択される。よって、データ転送の効率が一層向上する。
【0012】
なお、前記データ転送制御手段は、それぞれを使用するタスクのうちで前記周辺装置と前記主記憶装置とのデータ転送を行うことが可能なタスクが実行すべきデータ転送に関する情報を記憶するタスク情報記憶手段を備え、該タスク情報記憶手段に記憶されている情報に従って、前記周辺装置と前記主記憶装置との間のデータ転送を行うものとしてもよい。
【0013】
この場合には、前記タスクスケジュール手段は、新たなタスクで使用するデータ転送制御手段として動作状態がデータ転送中でないデータ転送制御装置を選択する際に、前記タスク情報記憶手段に記憶されているデータ転送に関する情報を、所定の退避領域に退避させる手段をさらに備えるものとすることができる。
【0014】
上記データ転送システムにおいて、
前記複数の周辺制御装置は、前記複数のデータ転送制御手段の2つ以上と実質的に同時に協働動作することが可能であり、配下にある2つ以上の周辺装置と前記主記憶装置との間のデータ転送を実質的に同時に行うことができるものであってもよい。
【0015】
上記目的を達成するため、本発明の第2の観点にかかるデータ転送装置は、
複数の周辺装置を配下に有する複数の周辺制御装置が接続され、転送対象となるデータが記憶される内部の主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送装置であって、
前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段と、
前記周辺装置と前記主記憶装置との間でデータ転送を行うために起動されたプログラムが、前記複数のデータ転送制御手段のうちでどのデータ転送制御手段を使用してデータ転送を行わせるかをスケジューリングするスケジュール手段とを備え、
前記スケジュール手段は、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と該各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理手段と、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記タスク管理手段を参照して他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理手段を参照して動作状態がデータ転送中でないデータ転送制御手段を選択し、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理手段に管理させるタスクスケジュール手段とを備える、
ことを特徴とする。
【0018】
上記目的を達成するため、本発明の第3の観点にかかるデータ転送方法は、
転送対象となるデータが記憶される主記憶装置を有するホスト装置と、該ホスト装置に接続され、それぞれ複数の周辺装置を配下に有する複数の周辺制御装置とを備えるシステムにおいて、前記主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送方法であって、
前記ホスト装置には、前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段を備え、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報を各タスクに対応付けて管理する第1のタスク管理ステップと、
各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報を各タスクに対応付けて管理する第2のタスク管理ステップと、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記第1のタスク管理ステップですでに管理された他のタスクでデータ転送のために使用していないデータ転送制御手段を選択し、当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記第1のタスク管理ステップによる管理対象とさせる第1のタスクスケジュールステップと
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときに、前記第2のタスク管理ステップですでに管理された動作状態がデータ転送中でないデータ転送制御手段を選択し、当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記第2のタスク管理ステップによる管理対象とさせる第2のタスクスケジュールステップと、
を含むことを特徴とする。
【0020】
上記目的を達成するため、本発明の第4の観点に係るコンピュータ読み取り可能な記録媒体は、
複数の周辺装置を配下に有する複数の周辺制御装置と、前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と内部の主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段を有するホスト装置とから構成されるシステムにおいて、前記周辺装置と前記主記憶装置との間のデータ転送を制御するためのプログラムを記録するコンピュータ読み取り可能な記録媒体であって、起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理機能と、
前記タスク管理機能によって管理されている他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理機能で管理されている動作状態がデータ転送中でないデータ転送制御手段を選択し、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理機能によって管理させるタスクスケジュール機能と、
を実行するためのプログラムを記録することを特徴とする。
【0022】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0023】
図1は、この実施の形態にかかるデータ転送システムの機能ブロック図である。図示するように、このデータ転送システムは、ホストコンピュータ0と、配下に入出力装置(I/O DEVICE)41、42を有する周辺制御装置40と、配下に入出力装置51、52を有する周辺制御装置50と、配下に入出力装置61、62を有する周辺制御装置60とを有している。
【0024】
ホストコンピュータ0は、タスクスケジュール装置4と、主記憶装置6と、データ転送制御装置10、20、30とを備えている。また、ホストコンピュータ0上にソフトウェア的に実現されている機能として、チャネルプログラム(CP)1〜3、チャネルプログラム退避領域7〜9、タスク管理表5、及びカレントタスク情報11、21、31が存在する。
【0025】
チャネルプログラム1〜3は、ホストコンピュータ1のチャネルが入出力装置41、42、51、52、61、62を制御するためのプログラムであり、チャネル番号(制御すべき周辺制御装置の番号PCU/配下の入出力装置の番号DEVICE)と、入出力装置のアドレスや主記憶装置のアドレスと、入出力装置41、42、51、52、61、62の動作を規定するプログラムが記述されている。なお、チャネルプログラム1〜3は、プログラムを実行するCPU(Central Processing Unit)からの指示によって起動され、起動されたもののそれぞれがタスクスケジュール装置4によってタスクとして管理される。
【0026】
チャネルプログラム退避領域7〜9は、チャネルプログラム1〜3のそれぞれに対応して設けられ、チャネルプログラム1〜3の実行途中の状態を格納する。チャネルプログラム退避領域7〜9には、後述するように他のタスクに切り換わる前のカレントタスク情報11、21、31が、タスクスケジュール装置4によって退避される領域である。
【0027】
タスクスケジュール装置4は、CPUからの指示によって起動されたチャネルプログラム1〜3に、それぞれユニークなタスク番号を付与する。タスクスケジュール装置4は、チャネルプログラム1〜3で使用するデータ転送制御装置10、20、30を他のチャネルプログラム(タスクを意味する。以下、同じ)で使用していないものから優先して選択する。データ転送制御装置10、20、30のすべてが他のチャネルプログラムで使用されている場合には、タスクスケジュール装置4は、データ転送状態でないデータ転送制御装置10、20、30をチャネルプログラム1〜3で使用するものとして選択する。その際、選択したデータ転送制御装置10、20、30に対応するカレントタスク情報11、21、31が、チャネルプログラム退避領域7〜9に退避される。
【0028】
タスク管理表5は、タスクスケジュール装置4によって管理され、起動されたチャネルプログラム1〜3に付与したタスク番号と、選択したデータ転送制御装置10、20、30の番号(DTC番号)と、データ転送制御装置10、20、30の動作状態(DTC状態)と、前述したチャネル番号とを対応付けて格納する。
【0029】
主記憶装置6は、入出力装置41、42、51、52、61、62との間で転送されるデータを記憶する。
【0030】
データ転送制御装置10、20、30は、それぞれ周辺制御装置40、50、60のすべてと論理的に接続可能である。データ転送制御装置10、20、30は、それぞれタスクスケジュール装置4によって決められた周辺制御装置40、50、60との協働により、主記憶装置6と入出力装置41、42、51、52、61、62との間でのデータ転送を制御する。
【0031】
周辺制御装置40、50、60は、それぞれの配下にある入出力装置41、42、51、52、61、62の動作を制御する。周辺制御装置40、50、60は、バッファメモリを有しており、実質上同時に複数のデータ転送制御装置10、20、30と協働して動作可能となっており、配下の入出力装置と主記憶装置6との間のデータ転送を、実質的に並行して行うことができるようになっている。
【0032】
なお、チャネルプログラム1〜3、チャネルプログラム退避領域7〜9、及びタスク管理表5は、実際には、主記憶装置6の所定の領域に記憶されている。タスクスケジュール装置4は、ホストコンピュータ0のチャネルが後述するプログラムを実行することによって実現することができる。カレントタスク情報11、21、31は、それぞれデータ転送装置10、20、30のローカルメモリに記憶させるものとしても、主記憶装置6の所定の領域に記憶させるものとしてもよい。
【0033】
以下、この実施の形態にかかるデータ転送システムの動作について説明する。
【0034】
図2は、図1のタスクスケジュール装置4の処理を示すフローチャートである。このフローチャートの処理は、ホストコンピュータのCPUが実行するプログラムによりチャネルプログラム1〜3のいずれかが起動され、そのことがタスクスケジュール装置4に通知されることによって開始する。なお、このフローチャートの処理は、起動されたチャネルプログラム1〜3毎に、それぞれ別々のプロセスとして実行される。
【0035】
処理が開始すると、タスクスケジュール装置4は、まず、タスク管理表5のタスク番号の欄を参照し、タスク管理表5で管理可能なタスク番号のうちで他のチャネルプログラムに付与されていない未使用のタスク番号があるかどうかサーチする(ステップS101)。そして、タスクスケジュール装置4は、サーチの結果から未使用のタスク番号があるかどうかを判定する(ステップS102)。
【0036】
未使用のタスク番号がない場合には、タスクスケジュール装置4は、ステップS201の判定処理を繰り返し、他のプロセスにおけるステップS118の処理(後述)でタスク番号が開放されるのを待ち合わせる。未使用のタスク番号がある場合には、タスクスケジュール装置4は、サーチされた未使用のタスク番号のいずれかに対応付けて、当該チャネルプログラムのチャネル番号をタスク管理表5に登録する(ステップS103)。
【0037】
次に、タスクスケジュール装置4は、タスク管理表5のDTC番号の欄を参照し、他のチャネルプログラムで使用していないデータ転送制御装置10、20、30をサーチする(ステップS104)。そして、タスクスケジュール装置4は、サーチの結果から未使用のデータ転送制御装置10、20、30があるかどうかを判定する(ステップS105)。
【0038】
未使用のデータ転送制御装置10、20、30がある場合には、ステップS109の処理に進む。一方、未使用のデータ転送制御装置10、20、30がない場合には、タスクスケジュール装置4は、タスク管理表5のDTC状態の欄を参照し、現在の動作状態がデータ転送中になっていないものをサーチする(ステップS106)。そして、タスクスケジュール装置4は、サーチの結果からデータ転送中の状態になっていないものがあるかどうかを判定する(ステップS107)。
【0039】
データ転送中の状態になっていないものがない場合には、タスクスケジュール装置4は、ステップS107の処理を繰り返し、他のいずれかのチャネルプログラムによるデータ転送が中断されるのを待ち合わせる。一方、データ転送中の状態になっていないものがある場合には、タスクスケジュール装置4は、データ転送中の状態になっていないチャネルプログラムが使用するデータ転送制御装置10、20、30に対応したカレントタスク情報11、21、31をチャネルプログラム退避領域7〜9に退避し(ステップS108)、ステップS109の処理に進む。
【0040】
ステップS109では、タスクスケジュール装置4は、ステップS104でサーチした未使用のデータ転送制御装置10、20、30の番号、或いはステップS108でカレントタスク情報11、21、31を退避したデータ転送制御装置10、20、30の番号をタスク管理表5のDTC番号の欄に登録する。
【0041】
さらに、タスクスケジュール装置4は、DTC番号を登録したデータ転送制御装置10、20、30に対応するカレントタスク情報11、21、31に、ステップS103で付与したタスク番号、当該チャネルプログラムのチャネル番号、及び転送対象となるデータの主記憶装置6上のアドレスやデータ長を登録する(ステップS110)。
【0042】
次に、タスクスケジュール装置4は、ステップS103で登録したチャネル番号に含まれる入出力装置41、42、51、52、61、62の番号、入出力装置41、42、51、52、61、62内でのアドレスと共に、データ転送の起動を登録したチャネル番号に含まれる周辺制御装置40、50、60に通知する(ステップS111)。その後、タスクスケジュール装置4は、この通知に対してステップS202の処理(後述)で周辺制御装置40、50、60から送られてくるタスク番号とDTC番号との受信を待ち合わせる(ステップS112)。
【0043】
周辺制御装置40、50、60からタスク番号とDTC番号とを受信すると、タスクスケジュール装置4は、周辺制御装置40、50、60から受信したDTC番号のデータ転送制御装置10、20、30に対応するカレントタスク情報11、21、31として登録されているタスク番号を、周辺制御装置40、50、60から受信したタスク番号と比較し(ステップS113)、比較結果が一致であるか不一致であるかを判定する(ステップS114)。
【0044】
比較結果が不一致である場合には、ステップS109でDTC番号を登録したデータ転送制御装置10、20、30が他のチャネルプログラムによって取得されてしまっているため、ステップS104の処理に戻ってDTC番号の再登録を行う。この際、チャネルプログラム退避領域7〜9に退避されているカレント情報を再登録したDTC番号のデータ転送制御装置10、20、30に対応するカレント情報11、21、31に復元する。
【0045】
一方、比較結果が一致である場合には、タスクスケジュール装置4は、当該タスク番号に対応してタスク管理表5に登録されているDTC状態を、データ転送中に遷移させる(ステップS115)。さらに、タスクスケジュール装置4は、当該周辺制御装置40、50、60にデータ転送の許可を通知する(ステップS116)。
【0046】
その後、タスクスケジュール装置4は、この通知によって行われたデータ転送に対してステップS205の処理(後述)で周辺制御装置40、50、60から送られてくる完了通知を待ち合わせる(ステップS117)。
【0047】
周辺制御装置40、50、60からの完了通知を受け取ると、タスクスケジュール装置4は、タスク管理表5内の当該タスク番号に対応するDTC番号、DTC状態及びチャネル番号の欄を空き状態にして、他のチャネルプログラムが当該タスク番号を使用できるようにする(ステップS118)。そして、このフローチャートの処理を終了する。
【0048】
図3は、図1の周辺制御装置40の処理を示すフローチャートである(周辺制御装置50、60の処理も同じ)。周辺制御装置40は、電源がオンされると図3の処理を開始し、前述したタスクスケジュール装置4から何らかの通知がされたかどうかを判定する(ステップS201)。タスクスケジュール装置4からの通知がないと判定している間は、周辺制御装置40は、ステップS201の処理を繰り返し、タスクスケジュール装置4からの通知を待ち合わせる。
【0049】
タスクスケジュール装置4からの通知がデータ転送の起動であると判定した場合は、周辺制御装置40は、タスク番号とDTC番号とをタスクスケジュール装置4に送信して、当該DTC番号に対応するタスクスケジュール装置10、20、30が周辺制御装置40の配下にある入出力装置41、42にデータ転送をするのに使用可能かを確認する(ステップS202)。その後、ステップS201の処理に戻り、周辺制御装置40は、再度タスクスケジュール装置4からの通知を待ち合わせる。
【0050】
一方、タスクスケジュール装置4からの通知がデータ転送の許可であると判定した場合には、周辺制御装置40は、ステップS202でDTC番号が通知されているデータ転送制御装置10、20、30との協働作業により、主記憶装置6と配下の入出力装置41、42との間でデータ転送を実行する(ステップS203)。そして、ステップS204でデータ転送の完了を判別するまで、周辺制御装置40は、データ転送の実行を継続する。
【0051】
ステップS204でデータ転送の完了を判別すると、周辺制御装置40は、タスクスケジュール装置4に対して、タスク番号及びDTC番号と共に、データ転送の完了を通知する(ステップS205)。その後、ステップS201の処理に戻り、周辺制御装置40は、再度タスクスケジュール装置4からの通知を待ち合わせる。
【0052】
なお、図3のフローチャートの処理は、周辺制御装置4の電源がオフされた場合や、エラーが生じた場合に強制的に終了させられる他は、常時実行されることとなる。
【0053】
以下、この実施の形態にかかるデータ転送システムの動作例を、具体例に基づいて説明する。ここでは、主記憶装置6と入出力装置41との間でデータ転送を行う場合、タスク番号100が他のチャネルプログラムによって使用されていないものとして、次の2つの場合を例として説明する。
【0054】
I.データ転送制御装置10が使用中であるが、データ転送制御装置20が未使用である場合
この場合は、タスク番号100が未使用であるため(ステップS101、S102)、起動されたチャネルプログラムにタスク番号100が割り当てられ、まず、タスク管理表5のタスク番号100に対応するチャネル番号の欄に、「PCU40/DEVICE41」が登録される(ステップS103)。
【0055】
次に、データ転送制御装置10が使用中であるが、データ転送制御装置20が未使用であるため(ステップS104、S105)、タスク管理表5のタスク番号100に対応するDTC番号に、「DTC20」が登録される(ステップS109)。そして、データ転送制御装置20に対応するカレントタスク情報21に、主記憶装置6のアドレスなどの他に、「タスク番号100」と「PCU40/DEVICE41」が登録される(ステップS110)。
【0056】
次に、タスク管理装置4から周辺制御装置40にデータ転送の起動が通知される(ステップS111)。これに対する応答が返却され(ステップS202、S112)、タスク番号が一致すると(ステップS113、S114)、タスク管理表5のタスク番号100に対応するDTC状態が「転送中」に遷移される(ステップS115)。
【0057】
さらに、タスク管理装置4から周辺制御装置40にデータ転送の許可が通知されることで、データ転送制御装置20と周辺制御装置40との協働によって、主記憶装置6と入出力装置41との間でデータ転送が行われる(ステップS116、S203)。
【0058】
II.すべてのデータ転送制御装置10、20、30が使用中で、データ転送制御装置30が転送状態でない場合
この場合も、Iの場合と同様に、起動されたチャネルプログラムにタスク番号100が割り当てられ、タスク管理表5のタスク番号100に対応するチャネル番号の欄に、「PCU40/DEVICE41」が登録される(ステップS101〜S103)。
【0059】
次に、データ転送制御装置10、20、30のすべてが使用中であるが(ステップS104、S105)、データ転送制御装置30が転送状態でないため(ステップS106、S107)、カレントタスク情報31がチャネルプログラム退避領域に退避され(ステップS108)、タスク管理表5のタスク番号100に対応するDTC番号に、「DTC30」が登録される(ステップS109)。そして、データ転送制御装置30に対応するカレントタスク情報31に、主記憶装置6のアドレスなどの他に、「タスク番号100」と「PCU40/DEVICE41」が登録される(ステップS110)。
【0060】
次に、タスク管理装置4から周辺制御装置40にデータ転送の起動が通知される(ステップS111)。これに対する応答が返却され(ステップS202、S112)、タスク番号が一致すると(ステップS113、S114)、タスク管理表5のタスク番号100に対応するDTC状態が「転送中」に遷移される(ステップS115)。
【0061】
さらに、タスク管理装置4から周辺制御装置40にデータ転送の許可が通知されることで、データ転送制御装置30と周辺制御装置50との協働によって、主記憶装置6と入出力装置41との間でデータ転送が行われる(ステップS116、S203)。
【0062】
以上説明したように、この実施の形態にかかるデータ転送システムでは、データ転送制御装置10、20、30が使用中であっても、他に使用されていないデータ転送制御装置があれば、これを使用して同一の周辺制御装置40、50、60の配下にある入出力装置41、42、51、52、61、62と主記憶装置6との間のデータ転送を行うことができる。このため、他の入出力装置と主記憶装置6との間のデータ転送の終了を待つことなく、データ転送を効率的に行うことができる。
【0063】
さらに、この実施の形態にかかるデータ転送システムでは、データ転送制御装置10、20、30が使用中であっても、データの転送動作中でないデータ転送制御装置があれば、これを使用して同一の周辺制御装置40、50、60の配下にある入出力装置41、42、51、52、61、62と主記憶装置6との間のデータ転送を行うことができる。このため、他の入出力装置と主記憶装置6との間のデータ転送の終了を待つことなく、データ転送を効率的に行うことができる。
【0064】
この場合において、転送動作中でないタスクに関して登録されているカレントタスク情報11、21、31がチャネルプログラム退避領域7〜9に退避され、退避したカレントタスク情報を復帰させてデータ転送を行なうことによって、エラーを生じさせることなく、起動されたすべてのチャネルプログラム1〜3(タスク)によるデータ転送を行うことができる。
【0065】
上記の実施の形態では、データ転送制御装置10、20、30と周辺制御装置40、50、60とは、それぞれ3つずつであり、周辺制御装置40、50、60は、それぞれ配下に2つずつの入出力装置41、42、51、52、61、62を有するものとしていた。しかしながら、本発明においてこれらの数は任意である。
【0066】
上記の実施の形態では、タスク管理装置4の機能は、チャネルが図2のフローチャートの処理を実行することによって実現されるものとして説明した。これに対して、図2のフローチャートに示すプログラムは、磁気ディスクや光磁気ディスクなどのコンピュータ読み取り可能な記録媒体に格納して配布するものとしてもよい。
【0067】
【発明の効果】
以上説明したように、本発明によれば、同一の周辺制御装置の配下にある周辺装置に対してのデータ転送が終了していなくても、他の周辺装置に対してのデータ転送が行えるようになるため、データ転送を効率よく行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるデータ転送システムの機能ブロック図である。
【図2】図1のタスクスケジュール装置の処理を示すフローチャートである。
【図3】図1の周辺制御装置の処理を示すフローチャートである。
【符号の説明】
1〜3 チャネルプログラム(CP)
4 タスクスケジュール装置
5 タスク管理表
6 主記憶装置
7〜9 チャネルプログラム(CP)退避領域
10、20、30 データ転送制御装置
11、21、31 カレントタスク情報
40、50、60 周辺制御装置
41、42、51、52、61、62 入出力装置(I/O DEVICE)
Claims (4)
- 転送対象となるデータが記憶される主記憶装置を有するホスト装置と、該ホスト装置に接続され、それぞれ複数の周辺装置を配下に有する複数の周辺制御装置とを備え、前記主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送システムであって、
前記ホスト装置は、
前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段と、
前記周辺装置と前記主記憶装置との間でデータ転送を行うために起動されたプログラムが、前記複数のデータ転送制御手段のうちでどのデータ転送制御手段を使用してデータ転送を行わせるかをスケジューリングするスケジュール手段とを備え、
前記データ転送制御手段は、自身を使用するタスクが実行すべきデータ転送に関する情報を保持するタスク情報記憶手段を備え、
前記スケジュール手段は、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と該各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理手段と、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記タスク管理手段を参照して他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理手段を参照して動作状態がデータ転送中でないデータ転送制御手段を選択し、当該データ転送制御手段の前記情報記憶手段に保持された当該データ転送制御手段を使用しているタスクのデータ転送に関する情報を所定の退避領域に退避させ、当該データ転送制御手段を新たなタスクのデータ転送のために使用するデータ転送制御手段として前記タスク管理手段に管理させるタスクスケジュール手段とを備えることを特徴とするデータ転送システム。 - 複数の周辺装置を配下に有する複数の周辺制御装置が接続され、転送対象となるデータが記憶される内部の主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送装置であって、
前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段と、
前記周辺装置と前記主記憶装置との間でデータ転送を行うために起動されたプログラムが、前記複数のデータ転送制御手段のうちでどのデータ転送制御手段を使用してデータ転送を行わせるかをスケジューリングするスケジュール手段とを備え、
前記スケジュール手段は、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と該各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理手段と、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記タスク管理手段を参照して他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理手段を参照して動作状態がデータ転送中でないデータ転送制御手段を選択し、当該データ転送制御手段に保持された当該データ転送制御手段を使用しているタスクのデータ転送に関する情報を所定の退避領域に退避させ、当該データ転送制御手段を新たなタスクのデータ転送のために使用するデータ転送制御手段として前記タスク管理手段に管理させるタスクスケジュール手段とを備えることを特徴とするデータ転送装置。 - 転送対象となるデータが記憶される主記憶装置を有するホスト装置と、該ホスト装置に接続され、それぞれ複数の周辺装置を配下に有する複数の周辺制御装置とを備えるシステムにおいて、前記主記憶装置と前記周辺装置との間でデータ転送を行うデータ転送方法であって、
前記ホスト装置には、前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と前記主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段を備え、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報を各タスクに対応付けて管理する第1のタスク管理ステップと、
各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報を各タスクに対応付けて管理する第2のタスク管理ステップと、
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記第1のタスク管理ステップですでに管理された他のタスクでデータ転送のために使用していないデータ転送制御手段を選択し、当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記第1のタスク管理ステップによる管理対象とさせる第1のタスクスケジュールステップと
データ転送のためのプログラムが起動され、新たなタスクとして管理されるときに、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときに、前記第2のタスク管理ステップですでに管理された動作状態がデータ転送中でないデータ転送制御手段を選択し、当該データ転送制御手段に保持される当該データ転送制御手段を使用しているタスクのデータ転送に関する情報を所定の退避領域に退避させ、当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記第2のタスク管理ステップによる管理対象とさせる第2のタスクスケジュールステップとを含むことを特徴とするデータ転送方法。 - 複数の周辺装置を配下に有する複数の周辺制御装置と、前記複数の周辺制御装置の2つ以上に接続可能で、前記複数の周辺制御装置のいずれかとの協働によって当該周辺制御装置が配下に有する周辺装置と内部の主記憶装置との間でデータ転送を行わせる複数のデータ転送制御手段を有するホスト装置とから構成されるシステムにおいて、前記周辺装置と前記主記憶装置との間のデータ転送をコンピュータに制御させるためのプログラムを記録するコンピュータ読み取り可能な記録媒体であって、
起動されたデータ転送のためのプログラムをそれぞれタスクとして管理し、さらに各タスクでデータ転送のために使用するデータ転送制御手段に関する情報と各タスクでデータ転送のために使用しているデータ転送制御手段の動作状態に関する情報とを各タスクに対応付けて管理するタスク管理機能と、
前記タスク管理機能によって管理されている他のタスクでデータ転送のために使用していないデータ転送制御手段があればそのデータ転送制御手段を選択し、前記複数のデータ転送制御手段のすべてが他のタスクによって使用されているときには前記タスク管理機能で管理されている動作状態がデータ転送中でないデータ転送制御手段を選択し、当該データ転送制御手段の前記情報記憶手段に保持された当該データ転送制御手段を使用しているタスクのデータ転送に関する情報を所定の退避領域に退避させ、選択したデータ転送制御手段を当該新たなタスクでデータ転送のために使用するデータ転送制御手段として前記タスク管理機能によって管理させるタスクスケジュール機能と、を実行するためのプログラムを記録することを特徴とするコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11582299A JP3853535B2 (ja) | 1999-04-23 | 1999-04-23 | データ転送システム、装置及び方法、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11582299A JP3853535B2 (ja) | 1999-04-23 | 1999-04-23 | データ転送システム、装置及び方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000305887A JP2000305887A (ja) | 2000-11-02 |
JP3853535B2 true JP3853535B2 (ja) | 2006-12-06 |
Family
ID=14671973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11582299A Expired - Fee Related JP3853535B2 (ja) | 1999-04-23 | 1999-04-23 | データ転送システム、装置及び方法、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3853535B2 (ja) |
-
1999
- 1999-04-23 JP JP11582299A patent/JP3853535B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000305887A (ja) | 2000-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000330807A (ja) | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 | |
JP2005056077A (ja) | データベース制御方法 | |
JPS61228533A (ja) | 電子計算機におけるセツシヨンの制御方法 | |
KR20130017969A (ko) | Usb 장치, 및 그것을 포함하는 usb 시스템 | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及系统 | |
US20040049531A1 (en) | Job network setup method, job network execution method, job management system, management terminal and program | |
JP2001306341A (ja) | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 | |
CN106843890B (zh) | 基于智能决策的传感器网络、节点及其运行方法 | |
JP3853535B2 (ja) | データ転送システム、装置及び方法、並びに記録媒体 | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
JP2004252829A (ja) | バックアップ制御装置 | |
CN114157619A (zh) | 报文缓存管理方法、装置及网络处理器 | |
CN112269649A (zh) | 实现主机任务异步执行的方法及装置、系统 | |
JP4336763B2 (ja) | ジョブ管理システム | |
US20030041190A1 (en) | System and method for efficiently performing a command swapping procedure | |
US6842900B2 (en) | Information processing apparatus executing processing corresponding to new thread by reusing arrangement for previous thread | |
JP3884762B2 (ja) | ジョブ実行システムおよび記録媒体 | |
JP2003263366A (ja) | スワッピング制御方法及びその実施装置並びにその処理プログラム | |
JP2005293066A (ja) | 完了待ち合わせシステム及び完了待ち合わせプログラム | |
CN108009005A (zh) | 一种线程池管理方法及装置 | |
JP2004246779A (ja) | マルチプロセッサシステム及びデバイス共有方法 | |
JP2535568B2 (ja) | アプリケ―ションプログラムでの動的バッファ管理方式 | |
JP2008217659A (ja) | Dma転送起動方法 | |
JPH01222335A (ja) | マルチタスク処理方式 | |
JPH113231A (ja) | ソフトウェア処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060906 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090915 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |