(57)【要約】【課題】入出力動作を多重に実行出来るチャネル装置において、接続を待っているＩ／Ｏに対する処理が沈み込む可能性を少なくし、システム全体の性能を最大限に引き出す。【解決手段】入出力動作を多重に実行出来るチャネル装置において、チャネル処理装置からの入出力起動に対してビジーを応答した回数を記憶する手段と、入出力装置からの接続要求フレームに対してビジーを応答した回数を記憶する手段とを備え、チャネル処理装置からの入出力起動に対して応答したビジーの回数と入出力装置からの接続要求フレームに対してビジーを応答した回数とを比較し、有限個の記憶領域にチャネル処理装置からの入出力起動と入出力装置からの接続要求を割当てる割合を随時更新する。【選択図】  図６
2004272723.tif 000002
【特許請求の範囲】
【請求項１】
入出力制御情報を保持するエントリを有限個有するメモリを備え、一つまたは複数の入出力装置とフレーム単位で入出力動作を多重に実行するチャネル装置において、入出力動作の起動に対応する入出力制御情報を保持するエントリ数と入出力装置からの接続要求に対応する入出力制御情報を保持するエントリ数の割合を予め決定し、入出力動作の起動時または入出力装置からの接続要求時に前記エントリを確保し、入出力動作の起動時または入出力装置からの接続要求時に前記エントリを確保できなかった場合にビジーを応答するチャネル装置の入出力制御方法。
【請求項２】
前記チャネル装置は、入出力動作の起動要求に対してビジーを応答した回数を記憶するメモリと、入出力装置からの接続要求に対してビジーを応答した回数を記憶するメモリとをさらに備え、入出力動作の起動要求に対してビジーを応答した回数と入出力装置からの接続要求に対してビジーを応答した回数とを比較し、前記比較結果に応じて前記エントリ数の割合を変更する請求項１記載のチャネル装置の入出力制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システムにおいて入出力装置（Ｉ／Ｏ）との間で入出力動作を行うチャネル装置（ＣＨ）に係り、特にフレーム単位で入出力動作を多重に実行するチャネル装置の入出力制御方法に関する。
【０００２】
【従来の技術】
チャネル処理装置（ＣＨＰ）とその配下の複数のチャネル装置（ＣＨ）からなる入出力処理装置（ＩＯＰ）、ＣＨに接続される一つまたは複数の入出力装置（Ｉ／Ｏ）等を具備する情報処理システムにおいて、ＣＨでは、当該ＣＨ内のローカルストレージ（ＬＳ）上に多重に実行できる入出力動作数分の入出力制御情報記憶領域を設け、ＣＨＰからの起動要求あるいはＩ／Ｏからの接続要求を該入出力制御情報領域の一つに割り当て、フレーム単位で入出力動作を多重に動作させる。
【０００３】
命令処理装置（ＩＰ）上で動作しているオペレーティングシステムが発行した入出力命令をＣＨＰが受けると、ＣＨＰはその配下のＣＨに対して入出力起動を発行する。ＣＨは、ＣＨＰが発行した入出力起動に対してそれぞれ入出力制御情報記憶領域を割当てて入出力動作を行う。ＣＨＰがオペレーティングシステムからの複数の入出力命令を受け同一のＣＨに対して複数の入出力起動を発行した場合は、入出力起動毎に入出力制御情報記憶領域を割当て多重動作する。
【０００４】
また、Ｉ／Ｏが入出力動作の終了を報告する時、または、Ｉ／Ｏのビジー状態が解除され次の入出力動作の実行が可能になった時に接続要求フレームを発行してくる。ＣＨは、ＣＨＰが発行する入出力起動に対する処理と同じように、前記接続要求フレームに対して入出力制御情報記憶領域を割当てて多重動作する。
【０００５】
このような従来技術に関連するものとして、例えば、特許文献１がある。
【０００６】
【特許文献１】
特開２００２−２８８１０６号公報
【０００７】
【発明が解決しようとする課題】
上記のような従来技術においては、ＣＨＰからの入出力起動とＩ／Ｏからの接続要求フレームは非同期に発生するため、入出力起動および接続要求フレームを受けた順に入出力制御情報記憶領域を割当てて入出力動作を行うことになる。有限個の入出力制御情報記憶領域を全て使用している時に、入出力起動または接続要求フレームを受けた場合は、これらに対しビジーを応答する。一般に、Ｉ／Ｏからの接続要求フレームよりＣＨＰからの入出力起動の方が短時間で再発行される。このため、入出力起動および接続要求フレームが一度ビジー応答を受けている場合、入出力制御情報記憶領域が空いた時点で入出力起動の再発行が先に受け付けられる可能性が極めて大きい。さらに、複数の入出力起動および接続要求フレームが以前にビジー応答を受け入出力制御情報記憶領域が空くのを待っている場合は、入出力制御情報記憶領域が空く度に入出力起動が先に受理される事になり、Ｉ／Ｏからの接続要求フレームをいつまでも処理できない可能性がある。Ｉ／Ｏに対してビジーを応答することは、Ｉ／Ｏインタフェースの転送性能を無駄に使用するだけでなく、そのＩ／Ｏに対する処理が沈み込むことにより応答時間が長くなり、システム全体の性能が劣化する。この問題は、Ｉ／Ｏの特性及び構成に依存する。一方、入出力制御情報記憶領域を、入出力起動を処理する領域とＩ／Ｏからの接続要求フレームを処理する領域に分けて管理した場合、接続要求フレームが発生しないＩ／Ｏのみが接続される構成だとＩ／Ｏからの接続要求フレームを処理する領域の資源が全く使用されず無駄になる。
【０００８】
本発明の目的は、上述のようなチャネル装置において、ＣＨＰからの入出力起動とＩ／Ｏからの接続要求フレームを受理する割合を最適に調節し、接続を待っているＩ／Ｏに対する処理が沈み込む可能性を少なくし、システム全体の性能を最大限に引き出すことにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明は、入出力制御情報を保持するエントリを有限個有するメモリを備え、一つまたは複数の入出力装置とフレーム単位で入出力動作を多重に実行するチャネル装置において、入出力動作の起動に対応する入出力制御情報を保持するエントリ数と入出力装置からの接続要求に対応する入出力制御情報を保持するエントリ数の割合を予め決定し、入出力動作の起動時または入出力装置からの接続要求時に前記エントリを確保し、入出力動作の起動時または入出力装置からの接続要求時に前記エントリを確保できなかった場合にビジーを応答することを特徴とする。
【００１０】
また、本発明では、上記チャネル装置は、入出力動作の起動要求に対してビジーを応答した回数を記憶するメモリと、入出力装置からの接続要求に対してビジーを応答した回数を記憶するメモリとをさらに備え、入出力動作の起動要求に対してビジーを応答した回数と入出力装置からの接続要求に対してビジーを応答した回数とを比較し、前記比較結果に応じて前記エントリ数の割合を変更することを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明の一実施例を図面により説明する。
【００１２】
図１は、本発明の一実施例を示す情報処理システムの構成図であり、１０は命令処理装置（ＩＰ）、２０は主記憶装置（ＭＳ）、３０は入出力処理装置（ＩＯＰ）、４１，４２はＩ／Ｏインタフェースケーブル、６１と６２は入出力装置（Ｉ／Ｏ）を示す。入出力処理装置（ＩＯＰ）３０はチャネル処理装置（ＣＨＰ）３１とその配下の複数のチャネル装置（ＣＨ）３２（０）〜３２（ｉ）からなる。本実施例では、ＩＯＰ３０は１台であるが、複数存在してもよい。また、Ｉ／Ｏも２台である必要はない。
【００１３】
ＣＨ３２（０）〜３２（ｉ）とＩ／Ｏ６１，６２との間の入出力動作はフレーム５０を用いて行なわれる。本実施例では、ＣＨ３２（０）〜３２（ｉ）における入出力動作の多重制御可能数はそれぞれ６４であるとする。ＣＨ３２（０）〜３２（ｉ）は、各々ローカルストレージ（ＬＳ）３２１を具備している。ＬＳ３２１については後述する。ＴＯＤ３２２は４バイトから構成され１μｓごとに１が加算されていき、４バイトの全てのビットが１となった時に１が加算されたら全てのビットが０になるものとする。
【００１４】
ＭＳ２０は、ＩＰ１０、ＩＯＰ３０のＣＨＰ３１、ＣＨ３２（０）〜３２（ｉ）とで共有される。ＩＰ１０上で動作するオペレーティングシステムが入出力命令を発行する時は、ＭＳ２０に入出力命令に関する情報を書き込みＩＯＰ３０に入出力命令を発行する。入出力命令はＩＯＰ３０内のＣＨＰ３１で処理される。ＣＨＰ３１は、ＭＳ２０の入出力命令に関する情報を参照してＣＨ３２（０）〜３２（ｉ）から入出力動作を行うＩ／Ｏと接続されているＣＨを選択し起動を掛ける。
【００１５】
図２は、図１のＣＨ３２（０）に具備されるＬＳ３２１のフォーマットの一例を示している。なお、他のＣＨのＬＳも同様のフォーマットである。
ＬＳ３２１には、入出力制御情報領域３２１１があり、本領域３２１１は、ＣＨ３２が多重に動作できる最大入出力動作数分のエントリを有している。本実施例では、エントリ数は６４である。また、ＴＩＭＥＲ３２１２は前回本発明の処理を実行した時のＴＯＤ３２２の値を格納し、現在のＴＯＤ３２２の値と比較して経過時間を算出するために用いる。ＳＢＳＹ３２１３はＣＨＰ３１からの入出力起動に対してビジーを応答した回数、ＣＢＳＹ３２１４はＩ／Ｏからの接続要求に対してビジーを応答した数、ＳＣＮＴ３２１５は入出力制御情報格納領域３２１１のエントリを使用している数である。ＴＩＭＥＲ３２１２、ＳＢＳＹ３２１３、ＣＢＳＹ３２１４、ＳＣＮＴ３２１５はリセット時に０に初期化される。ＳＬＩＭＩＴ３２１６はＣＨＰ３１からの入出力起動を受ける数を制限するために使用し、ビジー応答の状況に合わせて随時更新される。本実施例ではリセット時に４８に初期化されるものとする。
【００１６】
以下、図１において、ＣＨ３２（０）とＩ／Ｏ６１間の動作を例に、本発明のアルゴリズムを説明する。
【００１７】
初めに、オペレーティングシステムがＩ／Ｏ６１に対し入出力命令を発行した場合を説明する。図３はこの場合のＣＨ３２（０）の処理フローを示したものである。
【００１８】
ＩＰ１０上で動作するオペレーティングシステムがＭＳ２０にＩ／Ｏ６１との入出力動作に必要な情報を書き込み、入出力命令を発行すると、ＩＯＰ３０内のＣＨＰ３１がＩＰ１０からの入出力命令を受けＭＳ２０に格納されている情報を参照する。そして、ＣＨＰ３１はＩ／Ｏ６１と入出力動作を行うためにＣＨ３２（０）に対し入出力起動を行う。ＣＨ３２（０）はＣＨＰ３１から入出力起動を受けると、ＬＳ３２１内のＳＣＮＴ３２１５とＳＬＩＭＩＴ３２１６を比較し（ステップ１０）、現在実行中の入出力動作数が入出力起動の受理制限に達していなければ、ＬＳ３２１内の入出力制御情報領域３２１１の１エントリ分のリソースを使用中に更新し、ＳＣＮＴ３２１５に１を加算してＣＨＰ３１に入出力起動を受け付けたことを通知する（ステップ１１）。既に入出力起動の受理制限を越えて入出力動作を実行中ならばＳＢＳＹ３２１３に１を加算してＣＨＰ３１に対しビジーを応答する（ステップ１２）。但し、ＳＢＳＹ３２１３の上限は２５５とする。ＣＨＰ３１に対してビジー応答した入出力起動は、後でＣＨＰ３１によりＣＨ３２（０）に対し再起動される。
【００１９】
次ぎにＩ／Ｏ６１が接続要求フレームを発行してくる場合を説明する。図４はこの場合のＣＨ３２（０）の処理フローを示したものである。
【００２０】
一般的に、ディスク装置やテープ装置といったＩ／ＯではＣＨからデータを受信する時間と受信したデータを実際の記憶媒体であるディスクやテープに書き込み終えるまでの時間を比較した場合、後者の方が非常に遅い。そのため、ＣＨからデータを受信した後、一旦接続を解除し他の入出力動作を処理するためにリソースの解放を行う。そして、受信したデータを実際の記憶媒体に書き込み終えた後で、ＣＨに対して接続要求フレームを発行し入出力動作の続きを再開する。また、Ｉ／Ｏが他の入出力動作を行っているために当該ＣＨとの入出力動作を実行できない場合はＣＨに対しＩ／Ｏがビジー状態であることを報告する。その後、他の入出力動作が完了し当該ＣＨと入出力動作を実行できる状態になった時に、当該ＣＨに対して接続要求フレームを発行してくる。
【００２１】
ＣＨ３２（０）がＩ／Ｏ６１から接続要求フレームを受けた場合、ＬＳ３２１内の入出力制御情報領域３２１１にＩ／Ｏ６１と入出力動作を行うために必要な制御情報を格納するためのリソースの空きがあるかを確認する（ステップ２０）。入出力制御情報領域３２１１にリソースの空きがあればそのリソースを使用中に更新し、ＳＣＮＴ３２１５に１を加算してＩ／Ｏ６１に接続要求を受け付けたことを応答する（ステップ２１）。入出力制御情報領域３２１１にリソースの空きがなければ、ＣＨ３２（０）はＣＢＳＹ３２１４に１を加算してＩ／Ｏ６１の接続要求フレームに対してビジーフレームを応答する（ステップ２２）。但し、ＣＢＳＹ３２１４の上限は２５５とする。Ｉ／Ｏ６１に対してビジーフレームを応答した場合、一定時間経過後にＩ／Ｏ６１はＣＨ３２（０）に対し再度接続要求フレームを送信してくる。
【００２２】
オペレーティングシステムが要求した入出力命令の動作が完了したり、Ｉ／Ｏ６１が接続を解除してきたりした場合を説明する。図５はこの場合のＣＨ３２（０）の処理フローを示したものである。
ＣＨ３２（０）はこの入出力動作で使用していた入出力制御情報領域３２１１のリソースを空き状態に更新し、ＳＣＮＴ３２１５から１を減算する（ステップ３０）。
【００２３】
最後にＣＨ３２（０）が定期的にビジーの応答状況を確認し、ＣＨＰ３１が発行する入出力起動の受理数を調整する処理を説明する。図６はこの場合のＣＨ３２（０）の処理フローを示したものである。
ＣＨ３２（０）はＴＯＤ３２２と定期的に割込みを発生させる手段を持っているとする。タイマー割込みが発生したら（ステップ４０）、ＴＯＤ３２２とＴＩＭＥＲ３２１２と比較し（ステップ４１）、ある一定時間を経過している場合ＳＢＳＹ３２１３とＣＢＳＹ３２１４の値を確認しＳＬＩＭＩＴ３２１６の更新処理を行う。ＳＢＳＹ３２１３＝０で、且つ、ＣＢＳＹ３２１４＝０の場合は、ＳＬＩＭＩＴ３２１６は更新しない（ステップ４２）。ＳＢＳＹ３２１３＞０で、且つ、ＣＢＳＹ３２１４＝０の場合は（ステップ４３）、ＳＬＩＭＩＴ３２１６に１を加算する。但し、ＳＬＩＭＩＴ３２１６の値が６４の場合は更新しない（ステップ４４）。ＳＢＳＹ３２１３＝０で、且つ、ＣＢＳＹ３２１４＞０の場合、または、ＳＢＳＹ３２１３＞０で、且つ、ＣＢＳＹ３２１４＞０の場合、Ｉ／Ｏ６１の接続要求フレームを優先的に処理するためにＳＬＩＭＩＴ３２１６から１を減算する。但し、ＳＬＩＭＩＴ３２１６の値が０の場合は更新しない（ステップ４５）。ＳＬＩＭＩＴ３２１６の更新処理を実行した後、ＳＢＳＹ３２１３、及び、ＣＢＳＹ３２１４を０にリセットし、ＴＩＭＥＲ３２１２にＴＯＤ３２２の値を格納する（ステップ４６）。
【００２４】
Ｉ／Ｏ６１の接続要求フレームを優先的に処理するのではなく、ＣＨＰ３１からの入出力命令の起動を優先的に処理する時には、このＳＢＳＹ３２１３とＣＢＳＹ３２１４との判定処理を変更する。
【００２５】
【発明の効果】
以上説明したように、本発明によれば、入出力動作を多重に実行出来るチャネル装置において、チャネル処理装置からの入出力起動とＩ／Ｏからの接続要求フレームを受理する割合を最適に調節し、接続を待っているＩ／Ｏに対する処理が沈み込む可能性を少なくし、システム全体の性能を最大限に引き出すことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の情報処理システムの全体的構成を示すブロック図である。
【図２】ＬＳのフォーマットである。
【図３】本発明の一実施形態のＣＨＰからの入出力起動を受けた時の処理フローを示すフローチャートである。
【図４】本発明の一実施形態のＩ／Ｏからの接続要求を受けた時の処理フローを示すフローチャートである。
【図５】本発明の一実施形態の入出力動作完了時、又は、Ｉ／Ｏが接続を切断してきた時の処理フローを示すフローチャートである。
【図６】本発明の一実施形態のＣＨＰからの入出力起動受理数を調整するための処理フローを示すフローチャートである。
【符号の説明】
１０：命令処理装置（ＩＰ）
２０：主記憶装置（ＭＳ）
３０：入出力処理装置（ＩＯＰ）
３１：チャネル処理装置（ＣＨＰ）
３２（０）〜３２（ｉ）：チャネル装置
３２１：ローカルストレージ（ＬＳ）
３２２：時計機構（ＴＯＤ）
３２１１：入出力制御情報領域
３２１２：時間監視用ＴＯＤ格納領域（ＴＩＭＥＲ）
３２１３：対入出力命令ビジー応答回数（ＳＢＳＹ）
３２１４：対接続要求フレームビジー応答回数（ＣＢＳＹ）
３２１５：処理中の入出力動作の数（ＳＣＮＴ）
３２１６：入出力命令の受理数の上限値（ＳＬＩＭＩＴ）
【図１】
2004272723.tif 000003
【図２】
2004272723.tif 000004
【図３】
2004272723.tif 000005
【図４】
2004272723.tif 000006
【図５】
2004272723.tif 000007
【図６】
2004272723.tif 000008