(57)【要約】【課題】Ｉ／Ｏ処理システム内でチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するためのコンピュータ・プログラム、装置及び方法を提供する。【解決手段】本方法は、（ａ）Ｉ／Ｏ動作を行うために前記制御装置において前記Ｉ／Ｏサブシステムからの一のコマンド・メッセージを受信するステップと、（ｂ）前記一のコマンド・メッセージ内のチェーン・リンク・フラグを読み取るステップとを有し、前記チェーン・リンク・フラグは、前記Ｉ／Ｏ動作用の後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示し、（ｃ）前記一のコマンド・メッセージ内の直列化フラグを読み取るステップをさらに有し、前記直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況が前記Ｉ／Ｏサブシステムに戻されることを要求し、（ｄ）前記一のコマンド・メッセージ内の１つ以上のコマンドを実行するステップと、（ｅ）前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況を前記Ｉ／Ｏサブシステムに送信するステップとをさらに有する。【選択図】  図１２
2011529589.tif 000002
【特許請求の範囲】
【請求項１】
入出力（Ｉ／Ｏ）処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法であって、
（ａ）Ｉ／Ｏ動作を行うために前記制御装置において前記Ｉ／Ｏサブシステムからの一のコマンド・メッセージを受信するステップと、
（ｂ）前記一のコマンド・メッセージ内のチェーン・リンク・フラグを読み取るステップを有し、
前記チェーン・リンク・フラグは、前記Ｉ／Ｏ動作用の後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示し、
（ｃ）前記一のコマンド・メッセージ内の直列化フラグを読み取るステップをさらに有し、
前記直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況が前記Ｉ／Ｏサブシステムに戻されることを要求し、
（ｄ）前記一のコマンド・メッセージ内の１つ以上のコマンドを実行するステップと、
（ｅ）前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況を前記Ｉ／Ｏサブシステムに送信するステップとをさらに有する、方法。
【請求項２】
前記チェーン・リンク・フラグに応答して、前記後続コマンド・メッセージが予期されることを決定するステップと、
前記一のコマンド・メッセージ及び前記後続コマンド・メッセージにまたがるように前記Ｉ／Ｏ動作に関連する複数のカウンタを継続的に走行させるステップをさらに有する、請求項１に記載の方法。
【請求項３】
１つ以上のコマンドの後続セットを含む、前記後続コマンド・メッセージを受信するステップと、
最後のチェーン・リンク・コマンドを見つけるために、前記受信された１つ以上のコマンドの後続セット内にある各コマンドに関連するコマンド・チェーン・フラグを検査するステップと、
前記最後のチェーン・リンク・コマンドを見つけ且つ当該最後のチェーン・リンク・コマンドを実行することに応答して、前記Ｉ／Ｏ動作用の拡張状況を有する応答メッセージを送信するステップとをさらに有する、請求項２に記載の方法。
【請求項４】
前記装置状況は、チャネル終了（ＣＥ）及び装置終了（ＤＥ）を含み、当該チャネル終了（ＣＥ）及び装置終了（ＤＥ）は、前記一のコマンド・メッセージ内の前記１つ以上のコマンドに続く順次コマンドを保持する前記後続コマンド・メッセージを送信するように前記Ｉ／Ｏサブシステムに命令する、請求項１に記載の方法。
【請求項５】
前記装置状況は、チャネル終了（ＣＥ）、装置終了（ＤＥ）及び状況修飾子（ＳＭ）を含み、当該チャネル終了（ＣＥ）、当該装置終了（ＤＥ）及び当該状況修飾子（ＳＭ）の組み合わせは、前記一のコマンド・メッセージ内の前記１つ以上のコマンドに続く非順次コマンドを保持する前記後続コマンド・メッセージを送信するように前記Ｉ／Ｏサブシステムに命令する、請求項１に記載の方法。
【請求項６】
一の通信交換に関連する１つ以上のコマンドが実行不能であることを決定するステップと、
実行不能であることを示す終止状況メッセージを前記Ｉ／Ｏサブシステムに送信するステップと、
前記１つ以上の実行不能なコマンドに関連するシーケンス番号よりも大きなシーケンス番号を有するオープン済みの複数の通信交換をクローズするステップをさらに有する、請求項１に記載の方法。
【請求項７】
ログイン要求メッセージを受信するステップと、
前記ログイン要求メッセージに応答して、最大リンク・コマンド・フィールドを含む、ログイン受諾メッセージを送信するステップをさらに有し、
前記最大リンク・コマンド・フィールドは、前記制御装置がサポートする前記一のコマンド・メッセージの後の追加のコマンド・メッセージの最大カウントを示す、請求項１に記載の方法。
【請求項８】
前記Ｉ／Ｏサブシステムは、チャネル・サブシステムであり、
前記一のコマンド・メッセージは、一のトランスポート・コマンド情報単位であり、当該トランスポート・コマンド情報単位は、１つ以上の装置制御ワード（ＤＣＷ）内に１つ以上のコマンドを有する一のトランスポート・コマンド制御ブロック（ＴＣＣＢ）から成る、請求項１に記載の方法。
【請求項９】
入出力（Ｉ／Ｏ）処理システム内の制御装置と通信するように構成されたチャネル・サブシステムにおいてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法であって、
（ａ）Ｉ／Ｏ動作を行うために一のコマンド・メッセージに後続コマンド・メッセージが続くことを示すように、前記一のコマンド・メッセージ内のチェーン・リンク・フラグを構成するステップと、
（ｂ）前記後続コマンド・メッセージを選択するために装置状況が前記チャネル・サブシステムに戻されることを要求するように、前記一のコマンド・メッセージ内の直列化フラグを構成するステップと、
（ｃ）前記一のコマンド・メッセージを前記チャネル・サブシステムから前記制御装置に送信するステップを有する、方法。
【請求項１０】
前記ステップ（ｃ）に応答して、装置状況を受信するステップと、
前記受信された装置状況に応答して、前記後続コマンド・メッセージを選択するステップと、
前記選択された後続コマンド・メッセージを前記制御装置に送信するステップをさらに有する、請求項９に記載の方法。
【請求項１１】
複数のトランスポート制御ワード（ＴＣＷ）のチェーン・リンク・シーケンスを構築するステップをさらに有し、
前記複数のＴＣＷの少なくとも１つは、前記一のコマンド・メッセージ内に含むべき第１のコマンド制御ブロック（ＴＣＣＢ）を識別する第１のポインタと、前記制御装置から第１のタイプの装置状況を受信することに応答して前記後続コマンド・メッセージ内に含むべき第２のＴＣＣＢを識別する第２のＴＣＷに対する第２のポインタと、前記制御装置から第２のタイプの装置状況を受信することに応答して前記後続コマンド・メッセージ内に含むべき第３のＴＣＣＢを識別する第３のＴＣＷに対する第３のポインタとを含む、請求項９に記載の方法。
【請求項１２】
アンカ制御ブロック（ＡＣＢ）を前記複数のＴＣＷのチェーン・リンク・シーケンスにリンクするステップをさらに有し、
前記ＡＣＢは、Ｉ／Ｏ装置に問い合わせるためのイニシアティブを受信することに応答してアクセスすべき問い合わせＴＣＷに対する問い合わせポインタを含む、請求項１１に記載の方法。
【請求項１３】
チャネルの最大リンク・コマンド・フィールドを含む、ログイン要求メッセージを送信するステップをさらに有し、
前記チャネルの最大リンク・コマンド・フィールドは、前記一のコマンド・メッセージの後にキューに入れられ且つ前記チャネル・サブシステムがサポートする追加のコマンド・メッセージの最大カウントを示し、
前記ログイン要求メッセージに応答して、制御装置の最大リンク・コマンド・フィールドを含む、ログイン受諾メッセージを受信するステップをさらに有し、
前記制御装置の最大リンク・コマンド・フィールドは、前記一のコマンド・メッセージの後にキューに入れられ且つ前記制御装置がサポートする追加のコマンド・メッセージの最大カウントを示し、
前記制御装置の最大リンク・コマンド・フィールドに適合するように前記制御装置への送信を制限するステップをさらに有する、請求項９に記載の方法。
【請求項１４】
入出力（Ｉ／Ｏ）処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するためのコンピュータ・プログラムであって、
処理回路によって読み取り可能であり且つ請求項１ないし請求項１３の何れか１項に記載の方法を実施するように前記処理回路による実行のための複数の命令を格納する記憶媒体から成るコンピュータ・プログラム。
【請求項１５】
入出力（Ｉ／Ｏ）処理システム内の制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための装置であって、
前記制御装置が、前記Ｉ／Ｏ処理システム内のＩ／Ｏサブシステムと通信するように構成され且つ請求項１ないし請求項１３の何れか１項に記載の方法を実施するように適合されている装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入出力（Ｉ／Ｏ）処理に係り、さらに詳細に説明すれば、Ｉ／Ｏ処理システムにおけるトランスポート制御チャネル・プログラムのチェーン・リンク分岐（chain linked branching）に係る。
【背景技術】
【０００２】
入出力（Ｉ／Ｏ）動作は、メモリ及びＩ／Ｏ処理システム内のＩ／Ｏ装置の間でデータを転送するために使用される。具体的には、Ｉ／Ｏ動作を実行することにより、データがメモリから１つ以上のＩ／Ｏ装置に書き込まれるか、又はデータが１つ以上のＩ／Ｏ装置からメモリに読み取られる。
【０００３】
Ｉ／Ｏ動作の処理を促進するために、Ｉ／Ｏ処理システムのＩ／Ｏサブシステムが使用される。Ｉ／Ｏサブシステムは、主メモリ及びＩ／Ｏ処理システムのＩ／Ｏ装置に結合されており、メモリ及びＩ／Ｏ装置の間の情報のフローを方向付ける。Ｉ／Ｏサブシステムの１例は、チャネル・サブシステムである。チャネル・サブシステムは、通信媒体として複数のチャネル・パスを使用する。各チャネル・パスは、制御装置に結合されたチャネルを含み、この制御装置は、１つ以上のＩ／Ｏ装置にさらに結合される。
【０００４】
チャネル・サブシステムは、Ｉ／Ｏ装置及びメモリの間でデータを転送するために、複数のチャネル・コマンド・ワード（ＣＣＷ）を使用することができる。各ＣＣＷは、実行すべきＩ／Ｏコマンドを指定する。特定のＩ／Ｏ動作を開始するコマンドについては、ＣＣＷは、この動作に関連するメモリ領域、この領域とのデータ転送が完了するときに取るべきアクション及び他のオプションを指定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５４６１７２１号明細書
【特許文献２】米国特許第５５２６４８４号明細書
【非特許文献】
【０００６】
【非特許文献１】"Fibre Channel Single Byte Command Code Sets-3 Mapping Protocol(FC-SB-3)," T11/Project 1357-D/Rev. 1.6, INCITS (March 2003)
【非特許文献２】"Information Technology-Fibre Channel Protocol for SCSI, ThirdVersion (FCP-3)," T10 Project 1560-D, Revision 4, Sep. 13, 2005
【非特許文献３】"IBM.RTM. z/Architecture Principles of Operation,"Publication No. SA22-7832-05, 6th Edition, April 2007
【非特許文献４】"ANSI INCITS 433-2007, Information Technology Fibre ChannelLink Services (FC-LS)", July 2007
【非特許文献５】"SCSI Primary Commands-4 (SPC-4)", Project T10/1731-D, Rev11, INCITS (May 2007)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
Ｉ／Ｏ処理中、チャネルによって、メモリからＣＣＷのリストが取り出される。チャネルは、当該ＣＣＷのリストからの各コマンドを解析し、複数のコマンド（各コマンドはそれ自体のエンティティ内に入っている）を、チャネルに結合された制御装置に転送する。次に、制御装置は、これらのコマンドを処理する。チャネルは、各コマンドの状態をトラッキングし、処理のためにコマンドの次のセットを制御装置に送信すべき時点を制御する。チャネルは、（それ自体のエンティティ内に入っている）各コマンドが制御装置に送信されることを保証する。さらに、チャネルは、コマンドごとの制御装置からの応答の処理に関連する特定の情報を推論する。ＣＣＷごとにＩ／Ｏ処理を行うことは、チャネル・サブシステムにとって大量の処理オーバーヘッドを伴うことがある。というのは、チャネルは、それぞれのＣＣＷを解析し、状態情報をトラッキングし、制御装置からの応答に反応することを必要とするからである。
【課題を解決するための手段】
【０００８】
推奨実施形態は、Ｉ／Ｏ処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するためのコンピュータ・プログラムを含む。本コンピュータ・プログラムは、処理回路によって読み取り可能であり且つ下記方法を実施するように前記処理回路による実行のための複数の命令を格納する記憶媒体を含む。本方法は、（ａ）Ｉ／Ｏ動作を行うために前記制御装置において前記Ｉ／Ｏサブシステムからの一のコマンド・メッセージを受信するステップと、（ｂ）前記一のコマンド・メッセージ内のチェーン・リンク・フラグを読み取るステップとを有し、前記チェーン・リンク・フラグは、前記Ｉ／Ｏ動作用の後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示し、（ｃ）前記一のコマンド・メッセージ内の直列化（serialization）フラグを読み取るステップをさらに有し、前記直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況（device status）が前記Ｉ／Ｏサブシステムに戻されることを要求し、（ｄ）前記一のコマンド・メッセージ内の１つ以上のコマンドを実行するステップと、（ｅ）前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況を前記Ｉ／Ｏサブシステムに送信するステップとをさらに有する。
【０００９】
他の推奨実施形態は、Ｉ／Ｏ処理システム内の制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための装置を含む。本装置は、前記Ｉ／Ｏ処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置を含む。前記制御装置は、Ｉ／Ｏ動作を行うために前記Ｉ／Ｏサブシステムから一のコマンド・メッセージを受信し、当該一のコマンド・メッセージ内のチェーン・リンク・フラグを読み取る。当該チェーン・リンク・フラグは、前記Ｉ／Ｏ動作用の後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示す。前記制御装置は、前記一のコマンド・メッセージ内の直列化フラグを読み取る。当該直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況が前記Ｉ／Ｏサブシステムに戻されることを要求する。前記制御装置は、前記一のコマンド・メッセージ内の１つ以上のコマンドを実行し、前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況を前記Ｉ／Ｏサブシステムに送信する。
【００１０】
他の推奨実施形態は、Ｉ／Ｏ処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法を含む。本方法は、（ａ）Ｉ／Ｏ動作を行うために前記制御装置において前記Ｉ／Ｏサブシステムからの一のコマンド・メッセージを受信するステップと、（ｂ）前記一のコマンド・メッセージ内のチェーン・リンク・フラグを読み取るステップとを有し、当該チェーン・リンク・フラグは、前記Ｉ／Ｏ動作用の後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示し、（ｃ）前記一のコマンド・メッセージ内の直列化フラグを読み取るステップをさらに有し、当該直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況が前記Ｉ／Ｏサブシステムに戻されることを要求し、（ｄ）前記一のコマンド・メッセージ内の１つ以上のコマンドを実行するステップと、（ｅ）前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況を前記Ｉ／Ｏサブシステムに送信するステップとをさらに有する。
【００１１】
他の推奨実施形態は、Ｉ／Ｏ処理システム内の制御装置と通信するように構成された一のサブシステムにおいてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するためのコンピュータ・プログラムを含む。本コンピュータ・プログラムは、処理回路によって読み取り可能であり且つ下記方法を実施するように前記処理回路による実行のための複数の命令を格納する記憶媒体を含む。本方法は、（ａ）Ｉ／Ｏ動作を行うために一のコマンド・メッセージに後続コマンド・メッセージが続くことを示すように、前記一のコマンド・メッセージ内のチェーン・リンク・フラグを構成するステップと、（ｂ）前記後続コマンド・メッセージを選択するために装置状況が前記チャネル・サブシステムに戻されることを要求するように、前記一のコマンド・メッセージ内の直列化フラグを構成するステップと、（ｃ）前記一のコマンド・メッセージを前記チャネル・サブシステムから前記制御装置に送信するステップとを有する。
【００１２】
他の推奨実施形態は、Ｉ／Ｏ処理システム内のチャネル・サブシステムにおいてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための装置を含む。本装置は、前記Ｉ／Ｏ処理システム内の制御装置と通信するように構成されたチャネル・サブシステムを含む。前記チャネル・サブシステムは、Ｉ／Ｏ動作を行うために一のコマンド・メッセージに後続コマンド・メッセージが続くことを示すように、前記一のコマンド・メッセージ内のチェーン・リンク・フラグを構成する。また、前記チャネル・サブシステムは、前記後続コマンド・メッセージを選択するために装置状況が前記チャネル・サブシステムに戻されることを要求するように、前記一のコマンド・メッセージ内の直列化フラグを構成する。さらに、前記チャネル・サブシステムは、前記一のコマンド・メッセージを前記チャネル・サブシステムから前記制御装置に送信する。
【００１３】
追加の特徴及び利点は、本発明の技術を通して実現される。本明細書において詳述する本発明の他の諸実施形態及び諸側面は、本発明の一部と見なされる。諸利点及び諸特徴を有する本発明を十分に理解するためには、以下の詳細な説明及び添付図面を参照されたい。
【発明の効果】
【００１４】
本発明は、トランスポート制御ワード（ＴＣＷ）チャネル・プログラムを使用して、一のトランスポート・コマンド制御ブロック（ＴＣＣＢ）を、複数コマンドのブロックとして、チャネルから制御装置に送信することができるから、通常のＣＣＷチャネル・プログラムを使用する場合に行われていたようなチャネル及び制御装置の間の多数のメッセージを回避することができるという効果を奏する。例えば、このＴＣＷチャネル・プログラムは、制御装置が「write」コマンドを受信したことを応答するために第２の交換（exchange）をオープンすることを不要にすることができる。ＣＣＷチャネル・プログラムの代わりにＴＣＷチャネル・プログラムを稼働させる場合には、複数のコマンド・シーケンスにわたる累積効果は大きな時間節約をもたらし、その結果、Ｉ／Ｏ処理システムの全体的なスループットが向上することになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の１つ以上の側面を包含し且つ使用する、Ｉ／Ｏ処理システムの一実施形態を示す図である。
【図２】本発明の一側面に従った、制御装置及びチャネル・サブシステムの一実施形態を示す図である。
【図３】本発明の一側面に従った、チェーン・リンク分岐を有するトランスポート制御ワード（ＴＣＷ）チャネル・プログラムの一実施形態を示す図である。
【図４】本発明の一側面に従った、Ｉ／Ｏ処理システムの互換性のある制御装置を識別するために使用されるリンク・プロトコルの一実施形態を示す図である。
【図５】図４に示すリンク・プロトコルの要求メッセージの一実施形態を示す図である。
【図６】図４に示すリンク・プロトコルの受諾メッセージの一実施形態を示す図である。
【図７】本発明の一側面に従った、アンカ制御ブロックの一実施形態を示す図である。
【図８】本発明の一側面に従った、ＴＣＷの一実施形態を示す図である。
【図９】本発明の一側面に従った、チャネル・サブシステムから制御装置に通信される一のコマンド・メッセージの一実施形態を示す図である。
【図１０】本発明の一側面に従った、図３に示すチェーン・リンク分岐を有するＴＣＷチャネル・プログラムを実行するようにチャネル及び制御装置の間で通信するために使用されるリンク・プロトコルの一実施形態を示す図である。
【図１１】本発明の一側面に従った、チャネル・サブシステムにおいてＴＣＷチャネル・プログラムのチェーン・リンク分岐を提供するためのプロセスの一実施形態を示す図である。
【図１２】本発明の一側面に従った、制御装置においてＴＣＷチャネル・プログラムのチェーン・リンク分岐を提供するためのプロセスの一実施形態を示す図である。
【図１３】本発明の１つ以上の側面を包含するコンピュータ・プログラムの一実施形態を示す図である。
【発明を実施するための形態】
【００１６】
本発明の一側面に従って、入出力（Ｉ／Ｏ）処理が促進される。というのは、チェーン・リンク分岐を用いると、トランスポート制御チャネル・プログラムの諸部分の条件付き実行が可能となるからである。また、トランスポート制御チャネル・プログラムの諸部分の間でプログラム制御割り込みのサポートも提供することができる。トランスポート制御チャネル・プログラムは、Ｉ／Ｏ処理を行うために使用されるＩ／Ｏ処理システムのコンポーネント間の通信を減少させることにより、Ｉ／Ｏ処理を促進する。例えば、チャネルのようなＩ／Ｏ通信アダプタ及び制御装置の間の交換及びシーケンスの数が減少される。このことは、チャネル・コマンド・ワード（ＣＣＷ）を個々に制御装置に送信するのではなく、制御装置における実行のために複数のコマンド及び／又はデータをブロックにグループ化して制御装置に送信することを通して達成される。
【００１７】
複数のＣＣＷで実装されるチャネル・プログラム（「ＣＣＷチャネル・プログラム」とも称する）は、タスクを行うために大きな初期接続手順を伴う。例えば、ＣＣＷチャネル・プログラムを使用して、４キロバイトのデータ・ブロックを書き込むためには、第１の交換をオープンし、データを有する「define extent」コマンドを送信し、データを有する「locate record」コマンドを送信し、そしてデータを有する「write」コマンドをチャネルから制御装置に送信することを必要とする。この場合、制御装置は、応答を行うために、第２の交換をオープンして前記「write」コマンドを確認するための応答を送信し、前記「write」コマンドが完了する際に状況メッセージを送信し、そして制御装置がオープンした第２の交換をクローズすることを必要とする。次に、チャネルは、これに応答して、チャネルがオープンした第１の交換をクローズする。ＴＣＷチャネル・プログラムを使用すると、一のトランスポート・コマンド制御ブロック（ＴＣＣＢ）を、複数コマンドのブロックとして、チャネルから制御装置に送信することができるから、そうでなければＣＣＷチャネル・プログラムを使用して行われていたようなチャネル及び制御装置の間の多数のメッセージを回避することができる。例えば、このＴＣＷチャネル・プログラムは、制御装置が前記「write」コマンドを受信したことを応答するために第２の交換をオープンすることを不要にすることができる。ＣＣＷチャネル・プログラムの代わりにＴＣＷチャネル・プログラムを稼働させる場合には、複数のコマンド・シーケンスにわたる累積効果は大きな時間節約をもたらし、その結果、Ｉ／Ｏ処理システムの全体的なスループットが向上することになる。推奨実施形態では、Ｉ／Ｏ処理システムは、コマンド・モードにおいてＣＣＷチャネル・プログラムをサポートし且つトランスポート・モードにおいてＴＣＷチャネル・プログラムをサポートすることができる。トランスポート・モードは、チャネルが、トランスポートされるコマンド及びデータを解釈せずに又はこれらを識別せずに、これらのコマンド及びデータを制御装置にトランスポートすることを示す。
【００１８】
推奨実施形態では、コマンド・モード用の通信に使用されるリンク・プロトコルは、ＦＩＣＯＮ（Fibre Connectivity）（登録商標）である。ＦＩＣＯＮ（登録商標）に関する情報は、以下の非特許文献１に記載されている。
"FibreChannel Single Byte Command Code Sets-3 Mapping Protocol (FC-SB-3), "T11/Project 1357-D/Rev. 1.6, INCITS (March 2003)
本明細書では、非特許文献１の全体を援用する。トランスポート・モード用の通信に使用されるリンク・プロトコルは、例えば、ファイバ・チャネル・プロトコル（ＦＣＰ）とすることができる。特に、ＦＣＰリンク・プロトコルの３フェーズを使用すると、データ転送を行うためにＦＣＰをサポートするホスト・バス・アダプタを使用することができる。さらに、ＦＣＰ及びその諸フェーズは、以下の非特許文献２に記載されている。
“InformationTechnology - Fibre Channel Protocol for SCSI, Third Version (FCP-3),” T10Project 1560-D, Revision 4, September 13, 2005 
本明細書では、非特許文献２の全体を援用する。本発明の範囲内で、これらのプロトコル及び／又は同様のプロトコルの他のバージョンを使用することができる。
【００１９】
複数のコマンド（例えば、装置コマンド・ワード又は「ＤＣＷ」）を、一のＴＣＣＢ内に含めることができ、このＴＣＣＢの諸内容は、一のトランスポート制御ワード（ＴＣＷ）内の１つ以上のアドレス参照（間接又は直接）を介して位置指定される。推奨実施形態では、このＴＣＷは、オペレーティング・システム（ＯＳ）又は他のアプリケーションからＩ／Ｏ通信アダプタに送信され、次いでこのＩ／Ｏ通信アダプタは、処理のために一のコマンド・メッセージ内の当該ＴＣＣＢを制御装置に転送する。制御装置は、これらの個々のコマンドに関する状況のトラッキングがＩ／Ｏ通信アダプタによって行われていない場合には、当該コマンドの各々を処理する。前記複数のコマンド（「チャネル・プログラム」とも称する）は、Ｉ／Ｏ通信アダプタではなく、制御装置上で解析され且つ実行される。
【００２０】
単一のＴＣＣＢは、リンク・プロトコル又はバッファ・サイズ制約の機能としてサイズを制約されることがあり、そのようにすると、このＴＣＣＢに関連するコマンドの数及び／又はデータの量を制限することができる。幾つかのＩ／Ｏ動作は、単一のＴＣＣＢ内に含めることができるコマンド又はデータよりも多い数のコマンド又は大きなデータを含むことができる。推奨実施形態では、より大きなＴＣＷチャネル・プログラムを作成するために、複数のＴＣＷと関連する複数のＴＣＣＢとのチェーン・リンキングが採用され、その結果、単一のＩ／Ｏ動作が複数のＴＣＷ及び複数のＴＣＣＢにまたがる（span）ことが可能となる。また、チェーン・リンクＴＣＷチャネル・プログラムの進行状況を表す中間的な通知をチャネルからＯＳに送信するためのプログラム制御割り込み（ＰＣＩ）がサポートされ、その結果、このＰＣＩに先立って一のＴＣＣＢの１つ以上のコマンドのために割り振られていた諸資源をＯＳが解放するか又は再使用することが可能となる。このＰＣＩは、各ＴＣＣＢの後に完全な拡張状況メッセージを必要とすることなく、コンパクトな状況標識として機能する。ＴＣＷチャネル・プログラムとＰＣＩサポートとのチェーン・リンキングを行うと、長いＣＣＷチャネル・プログラムからチェーン・リンクＴＣＷチャネル・プログラムへの変換を強化することができる。そうでなければ、このチェーン・リンクＴＣＷチャネル・プログラムは、単一のＴＣＣＢが保持できるものよりも多い数のコマンドを含むであろう。さらに、チェーン・リンクＴＣＷチャネル・プログラムは、一連の別個のＴＣＷチャネル・プログラムを実行するよりも効率的であり得る。というのは、別個のＴＣＷチャネル・プログラムごとに拡張状況メッセージを送信するのではなく、このチェーン・リンクＴＣＷチャネル・プログラムの全体が完了するまで、拡張状況メッセージの送信を遅らせることができるからである。さらに、一連の別個のＴＣＷチャネル・プログラムの各々がＩ／Ｏ動作の一部を行うものと仮定すると、当該一連の別個のＴＣＷチャネル・プログラムを実行する場合と比較して、チェーン・リンクＴＣＷチャネル・プログラムを実行する場合の方が、構成及び通信の管理に伴うオーバーヘッドをさらに減少させることができる。
【００２１】
ループ又は分岐を使用する場合、幾つかのＩ／Ｏ動作は、より効率的となることがある。例えば、Ｉ／Ｏ装置上のデータを位置指定するために、検索引き数を有する検索コマンドを、この検索引き数が見つかるまで、繰り返し実行することができる。推奨実施形態では、ＴＣＷ及びＴＣＣＢは、Ｉ／Ｏ動作を行うためにＴＣＣＢ間の条件付き分岐を与えるチェーン・リンク分岐サポートを含むように修正される。直列化ビットは、ＤＣＷ間のジャンプ状況を提示するために、ＴＣＷ及びＴＣＣＢ内で定義することができる。Ｉ／Ｏ通信アダプタは、「ｎ」個のＤＣＷを保持する第１セットのＴＣＣＢを制御装置に送信する。制御装置が当該「ｎ」個のＤＣＷ用の状況をＩ／Ｏ通信アダプタに提示することに応答して、Ｉ／Ｏ通信アダプタは、この状況を検査して、複数のＴＣＣＢのうちどれを取り出し且つ制御装置に送信すべきかを決定する。
【００２２】
以下、図１を参照して、本発明の１つ以上の側面を包含し且つ使用するＩ／Ｏ処理システムの１例を説明する。Ｉ／Ｏ処理システム１００は、ホスト・システム１０１を含む。ホスト・システム１０１は、例えば、主メモリ１０２、１つ以上の中央演算処理装置（ＣＰＵ）１０４、ストレージ制御要素１０６及びチャネル・サブシステム１０８を含む。ホスト・システム１０１は、メインフレーム又はサーバのような大規模コンピューティング・システムとすることができる。また、Ｉ／Ｏ処理システム１００は、１つ以上の制御装置１１０及び１つ以上のＩ／Ｏ装置１１２を含む。その各々については、以下で説明する。
【００２３】
主メモリ１０２は、Ｉ／Ｏ装置１１２から入力することができる、データ及びプログラムを格納する。例えば、主メモリ１０２は、１つ以上のＣＰＵ１０４によって実行される、１つ以上のオペレーティング・システム（ＯＳ）１０３を含むことがある。例えば、１つのＣＰＵ １０４は、 異なる仮想計算機インスタンスとして、Ｌｉｎｕｘ（登録商標）オペレーティング・システム１０３及びｚ／ＯＳオペレーティング・システム１０３を実行することができる。主メモリ１０２は、直接アドレス可能であり、ＣＰＵ１０４及びチャネル・サブシステム１０８による高速処理用のデータを提供する。
【００２４】
ＣＰＵ １０４は、Ｉ／Ｏ処理システム１００の制御中枢である。ＣＰＵ１０４は、命令実行、割り込みアクション、タイミング機能、初期プログラム・ローディング及び他のマシンに関係する機能のための順序付け及び処理機能を備える。ＣＰＵ １０４は、双方向又は単方向バスのような接続１１４を介してストレージ制御要素１０６に結合される。
【００２５】
ストレージ制御要素１０６は、バスのような接続１１６を介して主メモリ１０２に結合され、接続１１４を介してＣＰＵ１０４に結合され、接続１１８を介してチャネル・サブシステム１０８に結合される。ストレージ制御要素１０６は、例えば、ＣＰＵ １０４及びチャネル・サブシステム１０８によってなされる諸要求のキューイング及び実行を制御する。
【００２６】
推奨実施形態では、チャネル・サブシステム１０８は、ホスト・システム１０１及び制御装置１１０の間の通信インタフェースを提供する。チャネル・サブシステム１０８は、前述のように、ストレージ制御要素１０６に結合され、そしてシリアル・リンクのような接続１２０を介して制御装置１１０の各々に結合される。接続１２０は、ファイバ・チャネル・ファブリック（例えば、ファイバ・チャネル・ネットワーク）内で単一モード又は多重モードの導波路を採用した、光リンクとして実装することができる。チャネル・サブシステム１０８は、Ｉ／Ｏ装置１１２及び主メモリ１０２の間の情報のフローを方向付ける。チャネル・サブシステム１０８は、Ｉ／Ｏ装置１１２と直接通信するというタスクをＣＰＵ１０４から取り除くことにより、データ処理がＩ／Ｏ処理と同時に進行することを可能にする。チャネル・サブシステム１０８は、１つ以上のチャネル・パス１２２を、Ｉ／Ｏ装置１１２と授受される情報のフローを管理する際の通信リンクとして使用する。また、チャネル・サブシステム１０８は、Ｉ／Ｏ処理の一部として、チャネル・パス１２２の使用可能性をテストし、使用可能なチャネル・パス１２２を選択し、Ｉ／Ｏ装置１１２との動作の実行を開始するというパス管理機能を行う。
【００２７】
各チャネル・パス１２２は、一のチャネル１２４（図１に示す例では、諸チャネル１２４が、チャネル・サブシステム１０８内に設けられている）と、１つ以上の制御装置１１０と、１つ以上の接続１２０とを含む。他の例では、チャネル・パス１２２の一部として、１つ以上の動的スイッチ（図示せず）を設けることも可能である。一の動的スイッチは、一のチャネル１２４及び一の制御装置１１０に結合され、このスイッチに接続された任意の２つのリンクを物理的に相互接続する能力を提供する。他の例では、多重システムを設けることも可能であり、従って制御装置１１０に接続された複数のチャネル・サブシステム（図示せず）を設けることが可能である。
【００２８】
また、チャネル・サブシステム１０８内には、複数のサブチャネル（図示せず）が設けられる。１つのサブチャネルは、各Ｉ／Ｏ装置１１２の専用として提供され、チャネル・サブシステム１０８を通して一のプログラムにアクセス可能である。一のサブチャネル（例えば、テーブルのようなデータ構造）は、このプログラムに対し、一の装置の論理的外観を提供する。各サブチャネルは、関連するＩ／Ｏ装置１１２及びその接続に関する情報をチャネル・サブシステム１０８に提供する。また、このサブチャネルは、関連するＩ／Ｏ装置１１２に関するＩ／Ｏ動作及び他の機能に関する情報を提供する。このサブチャネルは、関連するＩ／Ｏ装置１１２に関する情報をチャネル・サブシステム１０８がＣＰＵ１０４に提供するための手段である。ＣＰＵ １０４は、Ｉ／Ｏ命令を実行することにより、この情報を獲得する。
【００２９】
チャネル・サブシステム１０８は、１つ以上の制御装置１１０に結合される。各制御装置１１０は、１つ以上のＩ／Ｏ装置１１２を操作し且つ制御するための論理を提供し、共通機能を使用することを通して、各Ｉ／Ｏ装置１１２の特性をチャネル１２４によって提供されるリンク・インタフェースに適合させる。これらの共通機能は、Ｉ／Ｏ動作の実行、Ｉ／Ｏ装置１１２及び制御装置１１０の状況に関する表示、チャネル・パス１２２上のデータ転送のタイミングの制御及び特定レベルのＩ／Ｏ装置１１２の制御を提供する。
【００３０】
各制御装置１１０は、接続１２６（例えば、バス）を介して、１つ以上のＩ／Ｏ装置１１２に接続される。Ｉ／Ｏ装置１１２は、情報を受信するか、或いは主メモリ１０２及び／又は他のメモリ内に情報を格納する。Ｉ／Ｏ装置１１２の例は、カード・リーダ及びパンチ、磁気テープ装置、直接アクセス・ストレージ装置、ディスプレイ、キーボード、プリンタ、ポインティング装置、テレプロセッシング装置、通信コントローラ及びセンサ・ベース機器等を含む。
【００３１】
Ｉ／Ｏ処理システム１００の前記コンポーネントのうち１つ以上は、以下の非特許文献３、特許文献１及び特許文献２に記載されている。
“IBM&reg;z/Architecture Principles of Operation,” Publication No. SA22-7832-05, 6thEdition, April 2007
米国特許第５４６１７２１号明細書
米国特許第５５２６４８４号明細書
本明細書では、非特許文献３、特許文献１及び特許文献２の全体を援用する。「ＩＢＭ」は、インターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。本明細書で使用される他の名称は、インターナショナル・ビジネス・マシーンズ・コーポレーション又は他の企業の登録商標、商標又は製品名であることがある。
【００３２】
図２は、ＴＣＷチャネル・プログラムのチェーン・リンク分岐の実行をサポートする、図１の制御装置１１０及びチャネル１２４の一実施形態をより詳細に示す。制御装置１１０内のＣＵ制御論理２０２は、接続１２０を介してチャネル１２４から受信された、１つ以上のＴＣＣＢを保持する諸コマンド・メッセージを解析し且つ処理する。ＣＵ制御論理２０２は、制御装置１１０において受信された１つ以上のＴＣＣＢから諸ＤＣＷ及び制御データを抽出し、接続１２６を介してＩ／Ｏ装置１１２を制御することができる。ＣＵ制御論理２０２は、諸装置コマンド及びデータをＩ／Ｏ装置１１２に送信するとともに、Ｉ／Ｏ装置１１２から状況情報及び他のフィードバックを受信する。ＣＵ制御論理２０２は、ＣＵチェーン論理２０４を使用することにより、制御装置１１０において受信された諸コマンド・メッセージの種々のチェックを行うとともに、適切な応答を決定することができる。例えば、ＣＵチェーン論理２０４は、チャネル１２４に対し、サポートされる諸リンク・コマンドの最大数を通知することができる。また、ＣＵチェーン論理２０４は、埋め込み、不正確な長さの抑止、チェーン・リンキング及びＤＣＷレベルにおけるチェーン・リンク分岐を処理することができる。ＣＵチェーン論理２０４は、ＣＵ制御論理２０２とは別個に図示されているが、ＣＵチェーン論理２０４をＣＵ制御論理２０２の一部として設けることもできる。
【００３３】
ＣＵ制御論理２０２は、ＣＵタイマ２０６（複数）及びＣＵレジスタ２０８（複数）のような、制御装置１１０内の他の要素にアクセスし且つこれを制御することができる。ＣＵタイマ２０６は、一連のＩ／Ｏ動作又は単一のＩ／Ｏ動作が完了するのに要する時間をトラッキングするための複数のタイマ機能を含むことができる。さらに、ＣＵタイマ２０６は、所定の期間内に完了しない諸Ｉ／Ｏ動作及び諸コマンドをモニタし且つ打ち切るための１つ以上のカウントダウン・タイマを含むことができる。推奨実施形態では、ＣＵタイマ２０６は、複数のＴＣＣＢにまたがる一のＩ／Ｏ動作として当該チェーンが完了するまで、複数のチェーンＴＣＣＢ間で継続的に走行する。ＣＵレジスタ２０８は、構成及び状況情報を提供する固定値と、ＣＵ制御論理２０２によって諸コマンドが実行されるにつれて更新される動的な状況情報とを含むことができる。さらに、制御装置１１０は、チャネル１２４及びＩ／Ｏ装置１１２の間の通信に関連する複数のメッセージ又は状況情報を格納するための他のバッファ又はメモリ要素（図示せず）を含むことができる。ＣＵレジスタ２０８は、最大リンク・コマンド・パラメータを含むことができる。このパラメータは、１つのＩ／Ｏ動作について制御装置１１０がサポートする、ストリーム化されたコマンド・メッセージの最大数を定義する。
【００３４】
チャネル・サブシステム１０８内のチャネル１２４は、制御装置１１０との通信をサポートするための複数の要素を含む。例えば、チャネル１２４は、ＣＨＮサブシステム・タイマ２１２（複数）及びＣＨＮサブシステム・レジスタ２１４（複数）とインタフェースする、ＣＨＮ制御論理２１０を含むことができる。推奨実施形態では、ＣＨＮ制御論理２１０は、チャネル・サブシステム１０８及び制御装置１１０の間の通信を制御する。ＣＨＮ制御論理２１０は、トランスポート・コマンド情報単位（ＴＣ_ＩＵ）及び応答ＩＵのような諸コマンドを送信し且つ諸応答を受信するために、接続１２０を介してＣＵ制御論理２０２に対し直接的にインタフェースすることができる。代替的に、ＣＨＮ制御論理２１０及びＣＵ制御論理２０２の間に、メッセージング・インタフェース及び／又はバッファ（図示せず）を配置することができる。ＣＨＮサブシステム・タイマ２１２は、制御装置１１０によってトラッキングされる時間に加えて、一連のＩ／Ｏ動作が完了するのに要する時間をトラッキングするための複数のタイマ機能を含むことができる。さらに、ＣＨＮサブシステム・タイマ２１２は、所定の期間内に完了しない諸コマンド・シーケンスをモニタし且つ打ち切るための１つ以上のカウントダウン・タイマを含むことができる。ＣＨＮサブシステム・レジスタ２１４は、構成及び状況情報を提供する固定値と、諸コマンドがトランスポートされ且つ諸応答が受信されるにつれて更新される動的な状況情報とを含むことができる。
【００３５】
推奨実施形態では、チャネル・サブシステム１０８は、ＣＨＮチェーン論理２１６をさらに含む。ＣＨＮチェーン論理２１６は、チェーン・リンキング、チェーン・リンク分岐及びＰＣＩ生成を管理することができる。ＣＨＮチェーン論理２１６は、ＣＨＮ制御論理２１０とは別個に図示されているが、ＣＨＮチェーン論理２１６をＣＨＮ制御論理２１０の一部として設けることもできる。
【００３６】
図３は、チェーン・リンク分岐を有するＴＣＷチャネル・プログラム３００の一実施形態を示す。ＴＣＷチャネル・プログラム３００は、アンカ制御ブロック（ＡＣＢ）３０２、並びにＴＣＷ３０４〜３１０を含む。推奨実施形態では、当該チェーン内の第１のＴＣＷ（ＴＣＷ ３０４）が分岐用の２つの次のＴＣＷアドレスを保持する場合、ＡＣＢ ３０２は、第１の制御ブロックとして機能する。ＴＣＷ３０４〜３１０にわたって共通のフォーマッティング及びサイジング制約をサポートするために、ＴＣＷフィールドは、分岐用の第２の次のＴＣＷアドレスを保持することができる。そうでなければ、このＴＣＷフィールドは、問い合わせ（interrogate）アドレス位置を保持するために使用されるであろう。ＡＣＢ ３０２は、ＴＣＷフォーマットの変形として、ＴＣＷ３０４〜３１０と同じサイズを有してもよく、問い合わせアドレス位置を保持する。このようにすると、分岐をサポートするためのＴＣＷ ３０４内のスペースが解放されることになる。ＡＣＢ３０２は、ＴＣＷ ３０４にチェーン・リンクされ、ＴＣＷ ３０４は、ＴＣＷ ３０６及びＴＣＷ ３１０の両方にチェーン・リンクされる。ＴＣＷ ３０６は、ＴＣＷ ３０８にチェーン・リンクされる。ＴＣＷチャネル・プログラム３００の実行中、チャネル１２４は、ＴＣＣＢ３１２内の諸ＤＣＷを実行することに応答して制御装置１１０から受信される状況に基づいて、ＴＣＷ ３０６又はＴＣＷ ３１０のどちらに分岐すべきかを決定する。
【００３７】
また、ＴＣＷ ３０４は、ＴＣＣＢ ３１２及びトランスポート状況ブロック（ＴＳＢ）３１４へのリンクを含む。ＴＣＷ３０６は、ＴＣＣＢ ３１６、ＴＳＢ ３１４及びデータ領域３１８へのリンクを含む。ＴＣＷ ３０８は、ＴＣＣＢ ３２０、ＴＳＢ ３１４及びデータ領域３２２へのリンクを含む。ＴＣＷ３１０は、ＴＣＣＢ ３２４、ＴＳＢ ３１４及びデータ領域３２６へのリンクを含む。諸ＴＣＣＢ（例えば、ＴＣＣＢ ３１２、３１６、３２０及び３２４）、ＴＳＢ及び諸データ領域への種々のリンクは、メモリの諸領域への直接又は間接参照とすることができる。例えば、諸ＴＣＣＢ及び諸データ領域３１２、３１６〜３２６をより小さなブロック（連続又は非連続）に細分し、これらのより小さなブロックを指す間接リスト（例えば、トランスポート・モードの間接データ・アドレス・ワードのリスト（ＴＩＤＡＬ））を使用して管理することができる。推奨実施形態では、ＴＣＣＢ３１２は、図１のチャネル・サブシステム１０８からターゲットの制御装置１１０に送信され、当該制御装置１１０は、ＴＣＣＢ ３１２内の諸ＤＣＷを解析し且つ実行する。制御装置１１０は、ＴＣＣＢ３１２内の諸ＤＣＷの実行に関連する諸条件を一の状況メッセージ内に入れてチャネル１２４に報告する。チャネル１２４内のＣＨＮチェーン論理２１６は、当該状況メッセージ内の諸条件に基づいて、ＴＣＣＢ３１６又はＴＣＣＢ ３２４のどちらかを制御装置１１０に送信すべきものとして選択することができる。もし、チャネル１２４がＴＣＣＢ ３１６を選択すれば、ＴＣＣＢ ３２０も制御装置１１０に送信される。
【００３８】
ＴＳＢ ３１４は、制御装置１１０におけるＴＣＣＢ３１２、３１６、３２０及び／又は３２４の実行に関連する状況情報を保持するためにチャネル・サブシステム１０８に留まることができ、その結果、ＯＳ １０３が状況情報にアクセスすることが可能となる。データ領域３１８、３２２及び３２６は、制御装置１１０に送信すべき書き込みデータ又は制御装置１１０から受信される読み取りデータを保持するために使用することができる。
【００３９】
推奨実施形態では、チェーン・リンク分岐を有するＴＣＷチャネル・プログラム３００は、単一のＩ／Ｏ動作を表す。すなわち、当該Ｉ／Ｏ動作は、ＴＣＷ３０４〜３１０並びにＴＣＣＢ ３１２、３１６、３２０及び３２４にわたってチェーンされた複数のコマンドを含む。ＴＣＷ ３０４〜３１０の各々は、同じＴＳＢ ３１４を指す一のＴＳＢアドレスを含む。もし、当該Ｉ／Ｏ動作が成功裡に終了すれば、最後のＴＣＷ（ＴＣＷ３０８又は３１０）内のＴＳＢアドレスだけが、チャネル１２４によって使用される。しかし、何らかの理由で、当該Ｉ／Ｏ動作が早期に終了すれば、チャネル１２４は、当該チャネル１２４が作業中の任意のＴＣＷ内にあるＴＳＢアドレスを使用して、終了状況を格納すべきＴＳＢ３１４内のメモリ・アドレスを獲得することができる。
【００４０】
また、図３の諸ＴＣＷは、関連するＴＣＣＢを実行中の制御装置１１０における当該ＴＣＣＢ内の諸コマンドの完了時に、一のＰＣＩを生成するためのＰＣＩサポートを含むことができる。ＴＣＷ３０４〜３１０及びＡＣＢ ３０２の構成及び数は、一実施形態を表すに過ぎず、本発明の範囲を制限するものではない。というのは、ＴＣＷチャネル・プログラム３００の一部として複数のＰＣＩを含むか又はＰＣＩを全く含まない、チェーン・リンク分岐を有する任意の数のＴＣＷが存在し得るからである。さらに、推奨実施形態では、他の分岐構成を実装することができる。例えば、一のＴＣＷは、検索のような一の条件が満たされるまで、同じコマンド・セット上でループするようにそれ自体のアドレスに分岐バックすることができる。また、分岐を使用することにより、ＴＣＷチャネル・プログラム３００内の任意のＴＣＷにスキップオーバー又はループバックすることができる。
【００４１】
制御装置がチェーン・リンクＴＣＷチャネル・プログラムをサポート可能であるか否かを決定するためには、チェーン・リンクＴＣＣＢを制御装置に送信する前に、互換性リンク・プロトコルを使用することができる。図４は、互換性リンク・プロトコルの１例を示す。チャネル４００は、プロセス・ログイン（ＰＲＬＩ）要求メッセージ４０４を、デフォルトの通信フォーマットで、制御装置４０２に送信する。制御装置４０２は、ＰＲＬＩ受諾メッセージ４０６で応答する。ＰＲＬＩ受諾メッセージ４０６内の情報は、制御装置４０２にとって受諾可能な諸通信パラメータを定義することができる。チャネル４００は、ＰＲＬＩ受諾メッセージ４０６を受信することに応答して、チェーン・リンクＴＣＣＢ（例えば、チェーン・リンクＴＣＣＢ３１２、３１６、３２０及び３２４）を実行のために制御装置４０２に送信することを継続することができる。他のメッセージも、リンク初期化及び構成の一部として、チャネル４００及び制御装置４０２の間で交換することができる。チャネル４００及び制御装置４０２は、図１のチャネル１２４及び制御装置１１０の実施形態を表す。
【００４２】
図５は、ＰＲＬＩ要求メッセージ５００の１例を示す。ＰＲＬＩ要求メッセージ５００は、図４のＰＲＬＩ要求メッセージ４０４の一実施形態を表す。ＰＲＬＩ要求メッセージ５００のペイロードは、一のサービス・パラメータ・ページを含むことができる。このサービス・パラメータ・ページは、１つ又は全てのイメージ・ペア用の諸サービス・パラメータを含む。
【００４３】
このサービス・パラメータ・ページは、複数のフィールド（例えば、タイプ・コード５０２、タイプ拡張５０４、最大開始遅延時間５０６、フラグ５０８及び最大リンク・コマンド５１０）を含むことができる。このサービス・パラメータ・ページ内にある各フィールドは、特定のバイト・アドレスに割り当てられる。図５には、このサービス・パラメータ・ページ内にある諸フィールドの１つの形態が図示されているが、本発明の範囲内でこれらのフィールドの順序を再配列するか、或いは幾つかのフィールドを省略又は組み合わせることができる。
【００４４】
タイプ・コード・フィールド５０２（ワード０、バイト０）は、Fibre Channel Single Byte Protocol のタイプ・コードのようなプロトコル・タイプ・コードを表す。例えば、このバイト内の「１Ｂ」（１６進数表記）は、このサービス・パラメータ・ページが選択されたプロトコル（例えば、Fibre Channel Single Byte Protocol）において定義されていることを示す。タイプ拡張フィールド５０４（ワード０、バイト１）は、タイプ・コード・フィールド５０２を補足することができる。
【００４５】
最大開始遅延時間フィールド５０６（ワード３、バイト０）は、図１のチャネル１２４が制御装置１１０からのプロセス・ログアウト（ＰＲＬＯ）内の開始遅延時間フィールドにおいて許容することができる、最大時間（例えば、秒単位）を提供する。
【００４６】
推奨実施形態では、フラグ５０８は、次の定義を有する。
【００４７】
ビット０：トランスポート・モード／コマンド・モード。このビットが１にセットされると、送信側がコマンド・モード及びトランスポート・モードの両方をサポートすることを意味する。このビットがゼロにセットされると、送信側がコマンド・モードだけをサポートすることを意味する。もし、チャネル１２４がこのビットを１にセットすれば、制御装置１１０は、それがトランスポート・モードをサポートする場合に、このビットを１にセットして応答することができる。
ビット１〜６：予約済み
ビット７：ディセーブル・データ用の第１の転送準備完了（First Transfer Ready for Data Disabled）。もし、チャネル１２４及び制御装置１１０の両方が、第１の書き込み転送準備完了情報単位（ＸＦＥＲ_ＲＤＹ ＩＵ）をディセーブルすることを選択すれば、チャネル１２４及び制御装置１１０の間で書き込みを行っている全てのＩ／Ｏ動作の第１のＴＣ_ＩＵは、一のＩ／Ｏ動作の第１のＴＣ_ＩＵ用の第１の情報単位（データＩＵ）が送信される前に、ＸＦＥＲ_ＲＤＹ ＩＵを使用することなく動作する。もし、チャネル・プログラムの現在のＴＣ_ＩＵ及び任意の後続ＴＣ_ＩＵについて追加のデータＩＵが存在すれば、当該追加のデータＩＵの各々を要求するために、ＸＦＥＲ_ＲＤＹ ＩＵが送信される。
【００４８】
最大リンク・コマンド・フィールド５１０は、第１のＴＣ_ＩＵが制御装置１１０に送信された後、同じＩ／Ｏ装置１１２用のチェーン・リンク・コマンドとして制御装置１１０にストリーム化するためにチャネル１２４がサポートする、追加のトランスポート・コマンド情報単位（ＴＣ_ＩＵ）の最大カウントを示す。その値は、０〜１５の範囲内にある。その値がゼロであると、チャネル１２４がＴＣ_ＩＵのチェーン・リンキングをサポートしないことを意味する。１〜１５に等しいＸの値は、チャネル・プログラムが完全に実行されるまで、チャネル１２４が、同じＩ／Ｏ装置１１２用の第１のＴＣ_ＩＵの後にＸ個のＴＣ_ＩＵを送出し（互いにチェーン・リンクされたＸ個のＴＣＷが存在する場合）、次に完了した以前のＴＣ_ＩＵごとに１つの新しいＴＣ_ＩＵを送出するであろうということを示す。
【００４９】
１つの推奨実施形態では、ＰＲＬＩ要求メッセージ５００のサービス・パラメータ・ページ内にある残りのフィールドは、予約済みであるか又はゼロにセットされる。例えば、ワード０のバイト２及び３、ワード１及び２は、ゼロにセットされる。ワード３のバイト１及びバイト２の一部も、予約済みとすることができる。
【００５０】
図６は、ＰＲＬＩ受諾メッセージ６００の１例を示す。ＰＲＬＩ受諾メッセージ６００は、図４のＰＲＬＩ受諾メッセージ４０６の一実施形態を表す。ＰＲＬＩ受諾メッセージ６００のペイロードは、一のサービス・パラメータ・ページを含むことができる。このサービス・パラメータ・ページは、複数のフィールド（例えば、タイプ・コード６０２、タイプ拡張６０４、応答コード６０６、第１のバースト・サイズ６０８、フラグ６１０及び最大リンク・コマンド６１２）を含むことができる。このサービス・パラメータ・ページ内にある各フィールドは、特定のバイト・アドレスに割り当てられる。図６には、このサービス・パラメータ・ページ内にある諸フィールドの１つの形態が図示されているが、本発明の範囲内でこれらのフィールドの順序を再配列するか、或いは幾つかのフィールドを省略又は組み合わせることができる。
【００５１】
タイプ・コード・フィールド６０２（ワード０、バイト０）は、プロトコル・タイプ・コードであり、図５のタイプ・コード・フィールド５０２に類似する。タイプ拡張フィールド６０４（ワード０、バイト１）は、図５のタイプ拡張フィールド５０４に対応する。
【００５２】
応答コード・フィールド６０６（ワード０、バイト２、ビット４〜７）は、その対応するプロトコルによって定義される。対応するプロトコルとは、例えば、Fibre Channel Framing and Signaling protocol (FC-FS) であり、以下の非特許文献４に記載されている。
“ANSIINCITS 433-2007, Information Technology Fibre Channel Link Services (FC-LS)”,July 2007
本明細書では、非特許文献４の全体を援用する。
【００５３】
第１のバースト・サイズ・フィールド６０８（ワード３、バイト０〜１、ビット０〜１５）は、ディセーブル・データ用の第１の転送準備完了フラグ・ビット（ワード３、バイト３、ビット７）が１にセットされているとき、第１のＴＣ_ＩＵの直後に送信される第１のデータＩＵ内で許容されるデータの最大量（例えば、４ｋバイトのデータ・ブロックの最大数）を提供する。このフィールド内の値がゼロであると、第１のバースト・サイズが指定されていないことを示す。
【００５４】
フラグ６１０は、ＰＲＬＩ要求メッセージ５００に関連して説明した図５のフラグ５０８に類似する。制御装置１１０は、それがチャネル１２４と一緒に実行する動作モードに対応する値をこれらのフラグにセットする。
【００５５】
推奨実施形態では、最大リンク・コマンド・フィールド６１２は、１つのＩ／Ｏ動作について制御装置１１０がサポートする、ストリーム化されたＴＣ_ＩＵの最大カウントである。制御装置１１０は、チャネル１２４が制御装置１１０に送信したＰＲＬＩ要求メッセージ５００のサービス・パラメータ・ページ内にある値に等しいか又はこの値より小さいカウントで応答する。チャネル１２４は、制御装置１１０から受信したこのカウントを、制御装置１１０においてキューに入れられたリンクＴＣ_ＩＵの最大数として使用する。もし、制御装置１１０がゼロのカウントで応答すれば、これは制御装置１１０がＴＣ_ＩＵのチェーン・リンキングをサポートしないことを意味する。
【００５６】
１つの推奨実施形態では、ＰＲＬＩ受諾メッセージ６００のサービス・パラメータ・ページ内にある残りのフィールドは、予約済みであるか又はゼロにセットされる。例えば、ワード０、バイト２のビット１〜３、ワード１及び２は、ゼロにセットされる。ワード０のバイト３は、予約済みでゼロにセットされる。ワード３のバイト２の一部も、予約済みとすることができる。
【００５７】
図７は、ＴＣＷの一のタイプとして、アンカ制御ブロック（ＡＣＢ）７００を例示する。ＡＣＢ７００は、一のチェーン内の第１のＴＣＷが２つのＴＣＷアドレス・ポインタを含む場合、当該チェーン内の第１のＴＣＷにリンクするように（例えば、図３のＡＣＢ ３０２がＴＣＷ３０４にリンクするように）図１のチャネル１２４によって使用することができる。ＡＣＢ ７００は、分岐する複数のＴＣＷが１つの「開始」サブチャネル・コマンドによって使用される場合、使用されるＴＣＷのリストのうちの第１の制御ブロックである。ＡＣＢ７００は、ＴＣＣＢを制御装置１１０に駆動しない。もし、チャネル１２４が、Ｉ／Ｏ装置１１２に問い合わせるためのイニシアティブを受信するのであれば、チャネル１２４は、問い合わせＴＣＷアドレス７１２を取り出すためにＡＣＢ７００のアドレスを保存する。
【００５８】
図７のＡＣＢ ７００では、フォーマット・フィールド７０２は、「０１」（２進数表記）に等しく、後続するものがＡＣＢ７００であることを示す。対照的に、「００」（２進数表記）の値を有するフォーマット・フィールド７０２は、後続するものが標準のＴＣＷであることを示す。「１０」及び「１１」（２進数表記）の値を有するフォーマット・フィールド７０２は、将来のＴＣＷ／ＡＣＢフォーマットのために予約済みとすることができる。ＡＣＢ７００は、可能な将来の使用に備えた予約済みの位置７０４、７０６及び７０８を含むことができる。第１のＴＣＷアドレス・フィールド７１０は、実行すべき一のチェーン内の第１のＴＣＷ（例えば、ＴＣＷ３０４）のアドレスである。ＡＣＢ ７００が構築される場合、ＯＳ １０３は、第１のＴＣＷアドレス・フィールド７１０を構成することができる。問い合わせＴＣＷアドレス・フィールド７１２は、他のＴＣＷのアドレスを保持し、「キャンセル」サブチャネルＩ／Ｏ命令のイニシアティブの下で一の動作の状態を問い合わせるためにチャネル１２４によって使用される。
【００５９】
図７のＡＣＢ ７００は、ＡＣＢの構成方法の１例を示すに過ぎない。図７に示す幾つかのフィールドが含まれないか、又は追加のフィールドが含まれる場合には、他の構成が可能である。
【００６０】
図８は、トランスポート制御ワード（ＴＣＷ）８００を例示する。ＴＣＷ８００は、Ｉ／Ｏ動作をセットアップするために図１のチャネル１２４によって使用されるが、制御装置１１０には送信されない。ＴＣＷ ８００は、単一のＩ／Ｏ動作において入力及び出力データの両方を提供する。ＴＣＷ８００のフォーマッティングは、図３のＴＣＷ ３０４のように、チェーン・リンク分岐を採用するＴＣＷのために使用することができる。
【００６１】
ＴＣＷ ８００では、「００」（２進値）に等しいフォーマット・フィールド８０２は、後続するものが標準的な一のＴＣＷ８００であることを示す。他の値（例えば、０１、１０、１１）は、ＴＣＷフォーマットの諸変形に対応する。ＴＣＷ ８００は、可能な将来の使用に備えた予約済みビット８０４を含むことがある。
【００６２】
ＴＣＷ ８００のフラグ・フィールド８０６内にある予約済みフラグは、ゼロにセットすることができる。フラグ・フィールド８０６にマップされる諸フラグ・ビットの例は、チェーン・リンク・フラグ・ビット、直列化フラグ・ビット、ＰＣＩフラグ・ビット、ジャンプ状況サポート化フラグ・ビット、ＴＩＤＡＬ読み取りフラグ、ＴＣＣＢＴＩＤＡＬフラグ及びＴＩＤＡＬ書き込みフラグを含む。
【００６３】
チェーン・リンク・フラグ・ビットが１にセットされる場合、これはチャネル１２４に対し、Ｉ／Ｏプログラムの継続のために実行すべき次のＴＣＷとして次のＴＣＷアドレス・フィールド８２８を使用するように通知する。チェーン・リンク・フラグ・ビットが１にセットされる場合、諸カウンタ、諸タイマ及び状況トラッキング（例えば、図２のＣＵタイマ２０６及び／又はＣＨＮサブシステム・タイマ２１２）は、１つのＴＣＣＢから次のＴＣＣＢまで（例えば、ＴＣＣＢ３１２及び３１６又は３２４の間で）継続することができる。もし、直列化フラグ・ビットがゼロにセットされていれば、成功裡に実行され且つ関連するトランスポート応答ＩＵ内に等価なＦＣＰゼロ状況をもたらす中間の諸ＴＣＣＢ用の諸交換を制御装置１１０によってクローズすることができる。もし、直列化フラグ・ビットが１にセットされていれば、状況応答がトランスポート応答ＩＵ内に入れられて送信される。チェーン・リンク・チャネル・プログラムの最後のＴＣＣＢが実行されるか、又は制御装置１１０が早期終了条件に遭遇するまで、拡張状況を有する完全なトランスポート応答ＩＵは転送されない。ＴＣＷ８００は、チャネル１２４に対しローカルに留まるから、チェーン・リンク・フラグの状態は、ＴＣ_ＩＵの一部に相当する一のＴＣＣＢ内のチェーン・リンクＴＣＣＢフラグとして制御装置１１０に送信することができる。
【００６４】
もし、チェーン・リンク・フラグ・ビットが１にセットされ且つ直列化フラグ・ビットが１にセットされていれば、チャネル１２４は、次のＴＣＷ（例えば、ＴＣＷ３０６〜３０６又は３１０）を取り出し且つ当該次のＴＣＣＢを制御装置１１０に送信する前に、現在のＴＣＷが完了するまで待機する。推奨実施形態では、直列化フラグ・ビットが１にセットされるのは、ソフトウェアが他のＴＣＷを現在のＴＣＷに追加している場合、又は現在のＴＣＷ及び後続の諸ＴＣＷについて共通のデータ・アドレスが存在する場合である。また、実行すべき次のＴＣＷ／ＴＣＣＢがＩ／Ｏ装置１１２からの終了装置状況に依存する場合にも、直列化フラグ・ビットを１にセットすることができる。また、直列化フラグ・ビットが１にセットされて、制御装置１１０に対しトランスポート応答ＩＵ内の装置状況をチャネル１２４に送信するように通知する場合にも、一のＴＣＣＢ内の直列化必要（serialization required）ＴＣＣＢフラグ・ビットが１にセットされる。
【００６５】
もし、チェーン・リンク・フラグ・ビット及びＰＣＩフラグ・ビットがセットされていれば、チャネル１２４は、ＴＣＷ８００が完了するとき、中間状況割り込みを生成する。その結果、関連するサブチャネルを「サブチャネル・アクティブ」、「装置アクティブ」とマークし、中間状況を保留にすることができる。
【００６６】
ジャンプ状況サポート化フラグ・ビットは、ＴＣＷ８００についてジャンプ状況がサポートされるか否かを示す。制御装置１１０は、諸ＴＣＣＢ内にある諸ＤＣＷの間の非順次実行が望ましいことを決定することに応答して、トランスポート応答ＩＵ内にセットされたチャネル終了（ＣＥ）、装置終了（ＤＥ）、及び状況修飾子（ＳＭ）の組み合わせとしてエンコードされるジャンプ状況を送信することができる。ＳＭは、状況を修正する一の条件が生じていることを制御装置１１０が検出したこと、並びに次の順次命令に進行するのではなく、一の非順次命令が実行されるべきであることを示す。ＣＥ、ＤＥ及びＳＭの組み合わせによって決定されるような、ジャンプ状況が受信され且つチェーン・リンク、直列化及びジャンプ状況サポート化フラグ・ビットの全てが１にセットされている場合、ＴＣＷ８００のワード１４及び１５（ＣＥ、ＤＥ及びＳＭ状況用の次のＴＣＷアドレス・フィールド８３０）は、実行すべき次のＴＣＷを取り出すために使用される。もし、ジャンプ状況サポート化フラグ・ビットがゼロにセットされており且つジャンプ状況が受信されるならば、チャネル１２４は、プログラム・チェックを生成する。
【００６７】
推奨実施形態では、ＴＩＤＡＬ読み取りフラグが１にセットされる場合、入力データ・アドレス・フィールド８１８は、ＴＩＤＡＬのアドレスを保持する。一方、ＴＩＤＡＬ読み取りフラグがゼロにセットされる場合、入力データ・アドレス・フィールド８１８は、データ・アドレスを保持する。推奨実施形態では、ＴＣＣＢＴＩＤＡＬフラグが１にセットされる場合、ＴＣＣＢアドレス・フィールド８２２は、ＴＩＤＡＬのアドレスを保持する。一方、ＴＣＣＢ ＴＩＤＡＬフラグがゼロにセットされる場合、ＴＣＣＢアドレス・フィールド８２２は、ＴＣＣＢを直接的にアドレスする。ＴＣＣＢＴＩＤＡＬフラグは、オペレーティング・システム・ソフトウェア又はハイパーバイザが機能を層状にし且つユーザ・チャネル・プログラムをプレフィックスすることを許容する。推奨実施形態では、ＴＩＤＡＬ書き込みフラグが１にセットされる場合、出力データ・アドレス・フィールド８１６は、ＴＩＤＡＬのアドレスを保持する。一方、ＴＩＤＡＬ書き込みフラグがゼロにセットされる場合、出力データ・アドレス・フィールド８１６は、データ・アドレスを保持する。
【００６８】
ＴＣＷ ８００内のＴＣＣＢ長さフィールド８１０は、ＴＣＣＢの長さを間接的に表し、当該ＴＣＣＢの実際の長さを決定するために使用することができる。
【００６９】
ＴＣＷ ８００内の読み取り／書き込みビット８１２は、ＴＣＷ８００を実行する結果としてデータが読み取られているのか又は書き込まれているのかを示すために使用される。推奨実施形態では、読み取り／書き込み８１２ビット内の読み取りビットが１にセットされると、ＴＣＷ８００を実行する結果として、Ｉ／Ｏ装置１１２からホスト・システム１０１内のシステム・ストレージ（例えば、主メモリ１０２）に入力データが転送中であることを示す。一方、読み取り／書き込みビット８１２内の書き込みビットが１にセットされると、ＴＣＷ８００を実行する結果として、ホスト・システム１０１内のシステム・ストレージ（例えば、主メモリ１０２）からＩ／Ｏ装置に出力データが転送中であることを示す。
【００７０】
出力データ・アドレス・フィールド８１６は、出力データ（存在する場合）用のアドレスを含む。前述のように、出力データ・アドレス・フィールド８１６の内容は、出力データ用のＴＩＤＡＬのアドレス（例えば、間接アドレス）又は出力データ用の実際のアドレス（例えば、直接アドレス）とすることができる。入力データ・アドレス・フィールド８１８は、入力データ（存在する場合）用のアドレスを含む。前述のように、入力データ・アドレス・フィールド８１８の内容は、入力データ用のＴＩＤＡＬのアドレス又は入力データの実際のアドレスとすることができる。
【００７１】
また、ＴＣＷ ８００は、トランスポート状況ブロック（ＴＳＢ）アドレス・フィールド８２０を含む。このアドレスに格納されるのは、Ｉ／Ｏ動作用のトランスポート応答ＩＵ内にある完了状況の一部（例えば、拡張状況部）である。ＴＣＷ８００内のＴＣＣＢアドレス・フィールド８２２は、ＴＣＣＢが置かれているシステム・ストレージ内のアドレスを含む。前述のように、ＴＣＣＢは、ＴＣＷ ８００のために実行すべきＤＣＷが存在する制御ブロックである。前述のように、ＴＣＣＢアドレス・フィールド８２２の内容は、当該ＴＣＣＢ用のＴＩＤＡＬのアドレス又は当該ＴＣＣＢの実際のアドレスとすることができる。
【００７２】
ＴＣＷ ８００内の出力カウント・フィールド８２４は、出力動作のためにＴＣＷ／ＴＣＣＢによって転送すべき出力データの量を示す。推奨実施形態では、出力カウント・フィールド８２４は、ＴＣＷ８００（出力データ・アドレス８１６）によって指定された出力ストレージ領域内の転送バイトの数を指定する。ＴＣＷ ８００内の入力カウント・フィールド８２６は、入力動作のためにＴＣＷ／ＴＣＣＢによって転送すべき入力データの量を示す。推奨実施形態では、入力カウント・フィールド８２６は、ＴＣＷ８００（入力データ・アドレス８１８）によって指定された入力ストレージ領域内の転送バイトの数を指定する。
【００７３】
推奨実施形態では、ＴＣＷ ８００のワード１２及び１３は、ＣＥ、ＤＥ状況用の次のＴＣＷアドレス・フィールド８２８として使用される。このフィールド８２８は、Ｉ／Ｏ装置１１２から受信した状況がＣＥ及びＤＥであり且つチェーン・リンク及び直列化フラグ・ビットが１にセットされている場合に実行すべき、次のＴＣＷのアドレスを保持する。例えば、図３のチェーン・リンク分岐を有するＴＣＷチャネル・プログラムでは、ＴＣＷ３０４内にあるＣＥ、ＤＥ状況用の次のＴＣＷアドレス・フィールド８２８は、ＴＣＷ ３０６のアドレスとすることができる。
【００７４】
前述のように、ＴＣＷ ８００のワード１４及び１５は、ＣＥ、ＤＥ及びＳＭ状況用の次のＴＣＷアドレス・フィールド８３０とすることができる。このフィールド８３０は、Ｉ／Ｏ装置１１２から受信した状況がジャンプ状況（ＣＥ、ＤＥ、ＳＭ）であり且つチェーン・リンク、直列化及びジャンプ状況サポート化フラグ・ビットが１にセットされている場合に実行すべき、次のＴＣＷのアドレスを保持する。例えば、図３のチェーン・リンク分岐を有するＴＣＷチャネル・プログラムでは、ＴＣＷ３０４内にあるＣＥ、ＤＥ及びＳＭ状況用の次のＴＣＷアドレス・フィールド８３０は、ＴＣＷ ３１０のアドレスとすることができる。従って、ＣＨＮチェーン論理２１６は、制御装置１１０から戻された状況に依存して、実行すべき次のＴＣＷを決定するために、少なくとも２つのＴＣＷの間で選択を行うことができる。次のＴＣＷアドレス・フィールド８２８及び８３０は、チャネル・プログラムの一部である任意のＴＣＷを指すことができる。このことは、一連のコマンドを継続的に実行するために同じＴＣＷにループバックすることを含む。
【００７５】
図８のＴＣＷ ８００は、ＴＣＷの構成方法の１例を示すに過ぎない。図８に示す幾つかのフィールドが含まれないか、又は追加のフィールドが含まれる場合には、他の構成が可能である。
【００７６】
図９は、ＴＣＷチャネル・プログラムを実行するためにチャネル・サブシステム１０８から制御装置１１０に通信される、コマンド・メッセージ９００（例えば、トランスポート・コマンドＩＵ）を例示する。コマンド・メッセージ９００は、種々のＴＣ_ＩＵのために使用することができるフォーマットを示す。コマンド・メッセージ９００は、ヘッダ９０２、トランスポート・コマンド・ヘッダ（ＴＣＨ）９０４、トランスポート・コマンド領域ヘッダ（ＴＣＡＨ）９０６、トランスポート・コマンド領域（ＴＣＡ）９０８及びトランスポート・コマンド領域トレーラ（ＴＣＡＴ）９１０を含む。推奨実施形態では、図３のＴＣＣＢ３１２、３１６、３２０及び３２４は、ＴＣＡＨ ９０６、ＴＣＡ ９０８及びＴＣＡT ９１０に示すようなフォーマットを使用する。
【００７７】
ヘッダ９０２は、コマンド・メッセージ９００内の最上位ヘッダを定義する、アドレス・ヘッダ９１２としての複数のワードを含むことができる。ヘッダ９０２は、チャネル及び制御装置のイメージＩＤ並びに装置アドレスのような情報を含むことができる。
【００７８】
ＴＣＨ ９０４は、シーケンス番号９１３を含む。シーケンス番号９１３は、制御装置に対し、一のＩ／Ｏ装置（例えば、Ｉ／Ｏ装置１１２）をターゲットとする同じチャネルＩ／Ｏ動作の一部である、複数のコマンド・メッセージ９００を実行すべき順序を通知する。シーケンス番号９１３は、Ｉ／Ｏ装置１１２への最後の開始について終わるその値とは独立に、同じＩ／Ｏ装置１１２への開始ごとに第１のＴＣ_ＩＵ内の（０１ｈ）で開始する。もし、一のＩ／Ｏ動作が１つのＴＣＷ／ＴＣＣＢだけを含むならば、シーケンス番号９１３の値はゼロにセットされる。互いにチェーン・リンクされた諸ＴＣ_ＩＵは、これらのＴＣ_ＩＵが制御装置１１０において順不同に受信されたとしても、諸シーケンス番号の順序で実行される。
【００７９】
ＴＣＨ ９０４内のタスク情報９１４は、トランスポート・モードで動作している間は、予約済みの値（例えば、ゼロ）にセットすることができる。ＴＣＨ９０４内のＬ１長さフィールド９１６は、ＴＣＡ  ９０８の長さをワード数＋１で定義する。Ｌ１長さフィールド９１６は、ＴＣＡ ９０８のサイズを制限し且つ定義するために使用することができる。ＴＣＨ９０４内の読み取り／書き込みフィールド９１８は、コマンド・メッセージ９００内で読み取りデータ、書き込みデータ又は無データが転送中であることを定義する。但し、読み取りとは、制御装置１１０からチャネル・サブシステム１０８への転送である。
【００８０】
ＴＣＡＨ ９０６内のフォーマット・フィールド９２０及び制御フィールド９２２は、ＳＰＣ−４によって定義されるように、可変長フォーマットが使用されることを示すために、固定値（例えば、７Ｆ（１６進数表記）及びゼロ）にそれぞれセットすることができる。ＳＰＣ−４は、以下の非特許文献５に記載されている。
“SCSIPrimary Commands - 4 (SPC-4)”, Project T10/1731-D, Rev 11, INCITS (May 2007)
本明細書では、非特許文献５の全体を援用する。さらに、ＴＣＡＨ９０６は、予約済みフィールド９２４及び９２６、ＴＣＣＢフラグ９２７、並びにＬ２長さフィールド９２８を含む。
【００８１】
ＴＣＣＢフラグ９２７は、制御装置１１０に対し、コマンド・メッセージ９００（現在のＴＣ_ＩＵ）の特性を通知する。ＴＣＣＢフラグ９２７は、チェーン・リンクＴＣＣＢフラグ・ビット及び直列化必要フラグ・ビットを含むことができる。１にセットされたチェーン・リンクＴＣＣＢフラグ・ビットは、制御装置１１０に対し、同じＩ／Ｏ動作の一部である現在のＴＣ_ＩＵに後続する他のＴＣ_ＩＵが存在することを通知する。チェーン・リンクＴＣＣＢフラグ・ビットが１にセットされ且つこのＴＣ_ＩＵ用のＴＣＡ ９０８内にある最後のＤＣＷ（例えば、ＤＣＷ ９４６）内でコマンド・チェーン（ＣＣ）ビットがセットされる場合、諸カウンタ、諸タイマ及び状況トラッキング（例えば、図２のＣＵタイマ２０６及び／又はＣＨＮサブシステム・タイマ２１２）は、１つのＴＣＣＢから次のＴＣＣＢに継続することができる。もし、直列化必要フラグ・ビットが１にセットされていなければ、このＴＣ_ＩＵが成功裡に実行され且つチャネル終了（ＣＥ）、装置終了（ＤＥ）状況と同等の等価なＦＣＰゼロ状況をもたらす場合、当該交換をクローズすることができる。もし、直列化必要フラグ・ビットが１にセットされていれば、後述するように、装置状況が応答ＩＵ内で送信される。ＴＣＷチャネル・プログラム用の最後のＴＣ_ＩＵが実行されるまで、又はＴＣＷチャネル・プログラムを終了させたＴＣ_ＩＵについては、拡張状況は転送されない。チャネル１２４は、ＴＣＷ８００内の直列化フラグ・ビット及び図２のＣＨＮサブシステム・レジスタ２１４内でトラッキングすることができるＴＣ_ＩＵストリーミング・カウントの値に基づいて、次のＴＣ_ＩＵを制御装置１１０に送信する。もし、直列化フラグがゼロにセットされていれば、チャネル１２４は、最大リンク・コマンド（例えば、最大リンク・コマンド６１２）までの諸ＴＣ_ＩＵを送信し、次に、以前の各ＴＣ_ＩＵが完了する際に後続のＴＣ_ＩＵを送信する。もし、直列化フラグ・ビットが１にセットされていれば、チャネル１２４は、次のＴＣ_ＩＵを送信する前に、制御装置１１０に送信された最後のＴＣ_ＩＵ用の状況が受信されるまで、待機する。
【００８２】
もし、チェーン・リンクＴＣＣＢフラグ・ビットが１にセットされていなければ、直列化必要フラグ・ビットは、何の意味も持っていない。直列化必要フラグ・ビットは、制御装置１１０に対し、チェーン・リンクＴＣＣＢフラグ・ビットが１にセットされていたとしても、装置状況が８ワードのトランスポート応答ＩＵ内でチャネル１２４に送信されるまで、制御装置１１０は次のＴＣ_ＩＵを認識しないであろうということを通知する。しかし、この場合については、拡張状況は、当該トランスポート応答ＩＵ内で送信されない。
【００８３】
Ｌ２長さフィールド９２８は、トランスポート・コマンド領域長さ（ＴＣＡＬ）フィールドとも称し、コマンド・メッセージ９００内のこの位置の後のバイトの数を表すことができる。Ｌ２長さフィールド９２８は、ＴＣＡ９０８のサイズを制限する。さらに、ＴＣＡＨ ９０６は、サービス・アクション・コード９３０、予約済みフィールド９３２、優先順位９３４及び予約済みフィールド９３６を含む。サービス・アクション・コード９３０は、ＴＣＡ９０８内で使用されるＤＣＷのタイプを定義する。優先順位９３４は、ＦＣ−ＳＢ−３内で定義されるようなＦＩＣＯＮ（登録商標）コマンド・ヘッダの優先順位バイトと同等にセットすることができる。
【００８４】
ＴＣＡ ９０８は、ＤＣＷ ＃１及び制御データ９４０、ＤＣＷ＃２ ９４２、ＤＣＷ ＃３ ９４４及びＤＣＷ ＃４ ９４６を含む。ＤＣＷ ＃１及び制御データ９４０は、コマンド９４８、フラグ・フィールド９５０、予約済みフィールド９５２、制御データ（ＣＤ）カウント９５４及びデータ・バイト・カウント９５６のような、諸ＤＣＷフィールドを含む。コマンド９４８は、ＣＣＷコマンド・バイトと同等とすることができるが、チャネル・サブシステム１０８ではなく、制御装置１１０によって直接的に解釈することができる。フラグ・フィールド９５０は、予約済みビットに加えて、コマンド・チェーンの一部としてＴＣＡ９０８内に追加のＤＣＷが存在するか否かを示すような特定の機能に割り当てられた１つ以上のビットも含む。また、フラグ・フィールド９５０は、コマンド・チェーン（ＣＣ）フラグ・ビットを含むことができる。
【００８５】
ＣＣフラグ・ビットは、ＴＣＡ ９０８内にある次のＤＣＷへのコマンド・チェーンを示す。ゼロにセットされたＣＣフラグ・ビットは、関連するＤＣＷがプログラムの最後のＤＣＷであることを意味する。もし、ＴＣＣＢフラグ・フィールド９２７内のチェーン・リンクＴＣＣＢフラグがセットされており且つＴＣＷ８００内のフラグ・フィールド８０６においてチェーン・リンク・フラグ・ビットがセットされていれば、ＣＣフラグ・ビットは、ＴＣＡ ９０８の最後のＤＣＷ内でセットすることができる。
【００８６】
ＣＤカウント９５４は、制御データ９５８のバイト・カウントである。ＣＤカウント９５４は、後続の諸ＤＣＷが４バイト境界上で開始するように、次の４バイト境界まで埋め込みすることができる。データ・バイト・カウント９５６は、埋め込みのないデータ（例えば、顧客データ）の４バイト・カウントである。ＣＤカウント９５４が非ゼロである場合、制御データ９５８が存在する。図９のコマンド・メッセージ９００では、ＤＣＷ＃２ ９４２、ＤＣＷ ＃３ ９４４及びＤＣＷ ＃４ ９４６は、ＤＣＷ ＃１及び制御データ９４０と実質的に同様の諸フィールドを含む。例えば、コマンド９６０、９７０及び９８０は、コマンド９４８と同様な態様でフォーマットされる。さらに、フラグ・フィールド９６２、９７２及び９８２は、フラグ・フィールド９５０と同様にフォーマットされる。さらに、ＣＤカウント９６６、９７６及び９８６は、ＣＤカウント９５４と同様にフォーマットされる。データ・バイト・カウント９６８、９７８及び９８８は、データ・バイト・カウント９５６と同様にフォーマットされる。コマンド・メッセージ９００内には、制御データを有する１つのＤＣＷ（すなわち、ＤＣＷ＃１及び制御データ９４０）を含む４つのＤＣＷだけが図示されているが、コマンド・メッセージ９００内には、制御データを有するか否かに拘わらず、可変数のＤＣＷ（単一のＤＣＷを含む）を含めることができる。
【００８７】
ＴＣＡT ９１０は、コマンド・メッセージ９００の全体について計算された、水平冗長検査（ＬＲＣ）ワード９９０を含む。ＬＲＣワード９９０は、連続的なＬＲＣ計算に含まれる各フィールドの初期シード値に排他的論理和動作を適用することによって生成することができる。また、ＴＣＡT ９１０は、読み取り又は書き込みＩ／Ｏ動作のために転送されるバイトの総数を示す、トランスポート・データ・バイト・カウント９９２を含む。もし、読み取り／書き込みフィールド９１８内で、読み取り及び書き込みビットの両方がアクティブであれば、トランスポート・データ・バイト・カウント９９２は書き込みデータ用のものである。ＴＣＡT ９１０内の双方向読み取りデータ長９９４は、読み取りトランスポート・データ・バイト・カウントである。
【００８８】
複数のＴＣＷ／ＴＣＣＢがチェーン・リンクＴＣＷチャネル・プログラムを形成するように互いにリンクされる場合、異常終了条件は、次のように処理することができる。すなわち、チェーン・リンクＴＣＷチャネル・プログラムについて、「停止」サブチャネル・コマンドは、Ｉ／Ｏ装置１１２用の全てのアクティブな交換を打ち切らせるとともに、１次、２次及びアラート状況を以てサブチャネルをＯＳ１０３に戻させる。チェーン・リンクＴＣＷチャネル・プログラム用の「クリア」サブチャネル・コマンドは、Ｉ／Ｏ装置１１２用の全てのアクティブな交換を打ち切らせた後、選択的なリセット・コマンドをＩ／Ｏ装置１１２に送信させることができる。
【００８９】
チャネル１２４が、互いにリンクされた複数のＴＣＣＢ（複数のＴＣ_ＩＵ内にある）を制御装置１１０に送信している場合、もし、この制御装置１１０がこれらのＴＣＣＢのうちの任意の１つを実行できなければ、この制御装置１１０は、終止用の終了状況、使用中状況（チャネル・プログラムの第１のＴＣ_ＩＵのみに応答して送信することができる）又は再試行状況を送信することができ、早期に終了するＴＣＣＢについてはその交換上の状況確認を伴う。また、制御装置１１０は、終止用の状況を送信した交換のシーケンス番号より大きなシーケンス番号を有する、同じＩ／Ｏ動作用の他の未解決の諸交換をクローズする。チャネル１２４が確認メッセージ用の要求を有する終止用の終了状況ＩＵを検出する場合、チャネル１２４は、新しい諸ＴＣＣＢをその動作のために制御装置１１０に送信することを停止する。タイムアウト期間（例えば、１００ミリ秒）の後にクローズされない、当該Ｉ／Ｏ動作用の他の全ての交換は、チャネル１２４によって打ち切られる。当該Ｉ／Ｏ動作用の他の全ての交換がクローズされる場合、チャネル１２４は、前記確認メッセージを送信して、最後の交換をクローズする。
【００９０】
もし、互いにリンクされた諸ＴＣＣＢを制御装置１１０に送信するためにオープンされた多数の交換のうちの１つが失われるならば、チャネル１２４は、その交換をタイムアウトさせ、次に、ＲＥＣ（Read Exchange Concise）を制御装置１１０に送信して、その交換に関して問い合わせる。もし、制御装置１１０がその交換を有していないことをチャネル１２４に通知すれば、チャネル１２４は、当該Ｉ／Ｏ動作用の制御装置１１０に対する未解決の諸交換を打ち切る。
【００９１】
図１０は、図３のチェーン・リンク分岐を有するＴＣＷチャネル・プログラム３００を実行するようにチャネル１０００及び制御装置１００２の間で通信するために使用される、リンク・プロトコルの一実施形態を示す。チャネル１０００及び制御装置１００２は、図１のチャネル１２４及び制御装置１１０の実施形態である。一旦チャネル１２４及び制御装置１１０が、トランスポート・モードがサポートされることを確立し、そして諸リンク・コマンドの最大数が確立されると、チェーン・リンキングを有するＴＣＷチャネル・プログラムを実行することができる。ＯＳ（例えば、図１のＯＳ１０３）は、図３のＡＣＢ ３０２並びに制御ブロックＴＣＣＢ ３１２、３１６、３２０及び３２４に関連するＴＣＷ ３０４、３０６、３０８及び３１０を構築し、そしてＡＣＢ３０２を指す一の動作要求ブロック内のアドレスを有する、「開始」サブチャネル・コマンドを実行する。ＡＣＢ ３０２は、当該チェーン内の第１のＴＣＷに対するポインタ（例えば、ＴＣＷ３０４を指す第１のＴＣＷアドレス・フィールド７１０）を提供する。また、ＡＣＢ ３０２は、チャネル１０００が問い合わせを行うためのイニシアティブを与えられる場合、その問い合わせアドレス（例えば、問い合わせＴＣＷアドレス・フィールド７１２）を獲得するために、チャネル１０００が再取り出しする制御ブロックである。この例では、チェーン・リンク・フラグ・ビットがＴＣＷ３０４及び３０６内で１にセットされ、直列化フラグ・ビットがＴＣＷ ３０４内で１にセットされているものと仮定する。
【００９２】
第１のＴＣＷを取り出すことを試みる際、チャネル１０００は、フォーマット・フィールド７０２に基づき、それが実際にはＡＣＢ（ＡＣＢ３０２）であることを発見する。チャネル１０００は、ＡＣＢ ３０２のアドレスを記憶し、ＡＣＢ ３０２内の第１のＴＣＷアドレス・フィールド７１０を使用することにより、ＴＣＷ３０４及びその関連するＴＣＣＢ ３１２を取り出す。
【００９３】
チャネル１０００は、シーケンス番号＃１を有し且つ交換Ａをオープンする、ＴＣ_ＩＵ １００４内のＴＣＣＢ ３１２を制御装置１００２に送信する。ＴＣＷ ３０４内では、直列化及びチェーン・リンク・フラグ・ビットが１にセットされているから、チャネル１０００は、ＴＣ_ＩＵ １００４用の状況（例えば、Ｉ／Ｏ装置１１２の状況）が制御装置１００２から受信されるまで、次のＴＣＷを取り出さないであろう。この例では、ＴＣＷ３０４及びＴＣＣＢ ３１２内の読み取り及び書き込みビットが両方ともゼロにセットされていて、チャネル１０００及び制御装置１００２に対し、ＴＣＷ ３０４／ＴＣＣＢ３１２については如何なる顧客データも転送されないであろうということを通知する。
【００９４】
制御装置１００２では、ＴＣ_ＩＵ １００４内で１にセットされたチェーン・リンクＴＣＣＢフラグ・ビットは、制御装置１００２に対し、ＴＣ_ＩＵ １００４のシーケンス番号よりも１つ大きいシーケンス番号を有する他のＴＣ_ＩＵが、当該Ｉ／Ｏ動作の一部であることを通知する。また、直列化必要ビットも１にセットされていて、制御装置１００２に対し、ＴＣ_ＩＵ １００４用の装置状況がチャネル１０００に送信されるまで、次のＴＣ_ＩＵがチャネル１０００によって送信されないであろうということを通知する。
【００９５】
制御装置１００２が、Ｉ／Ｏ装置１１２においてＴＣ_ＩＵ １００４の実行を完了する場合、制御装置１００２は、装置状況を含む３２バイトのトランスポート応答ＩＵ １００６を送信する。トランスポート応答ＩＵ１００６は、交換Ａをクローズし且つＴＣ_ＩＵ １００４が完了したことをチャネル１０００に通知する。この例については、装置状況がＣＥ、ＤＥ及びＳＭ（ジャンプ状況）であるものと仮定する。このＣＥ、ＤＥ及びＳＭ（ジャンプ状況）は、チャネル１０００に対し、ＴＣＷ３０４内のＣＥ、ＤＥ及びＳＭ状況用の次のＴＣＷアドレス・フィールド８３０を使用して、図３のＴＣＷ ３１０を取り出させるものである。
【００９６】
チャネル１０００は、シーケンス番号２を有し且つ交換Ｂをオープンする、ＴＣ_ＩＵ １００８内のＴＣＣＢ ３２４を制御装置１００２に送信する。制御装置１００２は、Ｉ／Ｏ装置１１２においてＴＣ_ＩＵ １００８を実行し、そしてＴＣ_ＩＵ １００８内の諸ＤＣＷコマンドを読み取ることにより、Ｉ／Ｏ装置１１２から読み取られたデータを交換Ｂ上の諸データＩＵ１０１０としてチャネル１０００に送信する。制御装置１００２がＴＣ_ＩＵ １００８を完了する場合、制御装置１００２は、拡張状況を含む４８〜６４（又はそれ以上の）バイトの完了トランスポート応答ＩＵ１０１２を送信する。この完了トランスポート応答ＩＵ １０１２は、交換Ｂをクローズし且つＩ／Ｏ動作の全体が完了したことをチャネル１０００に通知する。チャネル１０００は、１次状況をＯＳ（例えば、ＯＳ１０３）に提示して、当該Ｉ／Ｏ動作が完了したことをＯＳに通知する。
【００９７】
推奨実施形態では、拡張状況は、図２のＣＵタイマ２０６を使用して計算されるような、諸ＴＣ_ＩＵ（例えば、ＴＣ_ＩＵ １００４及び１００８）の間で継続することができる種々のタイミング・パラメータを含む。例えば、拡張状況は、合計の装置時間パラメータ、遅延時間パラメータ、キュー時間パラメータ、装置使用中時間パラメータ、装置アクティブ単独時間パラメータ及び付加されたセンス・データを含むことができる。合計の装置時間パラメータは、制御装置１００２がＴＣ_ＩＵ １００４を受信した時点からＩ／Ｏ動作用のトランスポート応答ＩＵ １０１２を送信するまでの経過時間である。遅延時間パラメータは、制御装置の遅延時間を示す。この遅延時間は、チャネル１０００との通信が行われていない場合の、Ｉ／Ｏ装置（例えば、Ｉ／Ｏ装置１１２）と作業中の制御装置１００２によって累積された時間である。キュー時間パラメータは、一のＩ／Ｏ動作が制御装置１００２においてキューに入れられる時間であるが、同じシステム又は他のシステム上の異なるＯＳ（例えば、ＯＳ１０３）の制御下にある他のチャネル１０００によってＩ／Ｏ装置が予約される場合は、装置使用中時間用のキュー時間を含まない。装置使用中時間パラメータは、ＴＣ_ＩＵが制御装置１００２においてキューに入れられて、同じシステム又は他のシステム上の異なるＯＳの制御下にある他のチャネル１０００によって予約済みのＩ／Ｏ装置によって生ぜられる装置使用中を待機している時間である。装置アクティブ単独時間パラメータは、ＤＥが使用可能となるまで制御装置１００２がＣＥを保留する場合に、制御装置１００２における当該ＣＥ及び当該ＤＥの間の経過時間である。付加されたセンス・データは、装置状況内のアクティブ装置チェック（ＵＣ）ビットに応答して、制御装置１００２が条件付きで提供する補足的な状況である。
【００９８】
図１１は、推奨実施形態に従った、チャネル・サブシステムにおいてＴＣＷチャネル・プログラムのチェーン・リンク分岐を提供するためのプロセス１１００を示し、図１２は、制御装置においてＴＣＷチャネル・プログラムのチェーン・リンク分岐を提供するためのプロセス１２００を示す。以下、図１等のチャネル・サブシステム１０８、制御装置１１０及びチャネル１２４から成るＩ／Ｏ処理システム１００を参照して、プロセス１１００及び１２００をまとめて説明する。推奨実施形態では、図２のＣＨＮチェーン論理２１６は、チャネル１２４のためのチェーン・リンク分岐に関連する処理を管理し、ＣＵチェーン論理２０４は、制御装置１１０のためのチェーン・リンク分岐に関連する処理を管理する。ブロック１１０２で、チャネル・サブシステム１０８のチャネル１２４は、Ｉ／Ｏ動作を行うために一のコマンド・メッセージに後続コマンド・メッセージが続くことを示すように、前記一のコマンド・メッセージ内のチェーン・リンク・フラグを構成する。ブロック１１０４で、チャネル・サブシステム１０８のチャネル１２４は、前記後続コマンド・メッセージを選択するために装置状況が戻されることを要求するように、前記一のコマンド・メッセージ内の直列化フラグを構成する。ブロック１１０６で、チャネル・サブシステム１０８のチャネル１２４は、前記一のコマンド・メッセージを制御装置１１０に送信する。
【００９９】
ブロック１２０２で、制御装置１１０は、前記Ｉ／Ｏ動作を行うためにチャネル・サブシステム１０８のチャネル１２４から前記一のコマンド・メッセージを受信する。例えば、前記一のコマンド・メッセージは、図９に示すようにフォーマットされた図１０のＴＣ_ＩＵ １００４とすることができる。
【０１００】
ブロック１２０４で、制御装置１１０は、前記一のコマンド・メッセージ内のチェーン・リンクＴＣＣＢフラグを読み取る。当該チェーン・リンクＴＣＣＢフラグは、図１０のＴＣ_ＩＵ １００４に続くＴＣ_ＩＵ １００８のように、Ｉ／Ｏ動作用の前記後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示す。
【０１０１】
ブロック１２０６で、制御装置１１０は、前記一のコマンド・メッセージ内の直列化フラグを読み取る。当該直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況がチャネル・サブシステム１０８のチャネル１２４に戻されることを要求する。
【０１０２】
ブロック１２０８で、制御装置１１０は、前記一のコマンド・メッセージ内の１つ以上のコマンドを実行する。これらの１つ以上のコマンドは、Ｉ／Ｏ装置１１２からデータを読み取るか又はＩ／Ｏ装置１１２にデータを書き込むことを要求する、図９のＤＣＷ９４０〜の９４６のような諸ＤＣＷとすることができる。制御装置１１０は、当該１つ以上のコマンドを実行することに応答して、装置状況を受信する。この装置状況は、ＣＥ、ＤＥ及び／又はＳＭを含むことができる。但し、ＣＥ、ＤＥ及びＳＭの組み合わせは、ジャンプ状況である。
【０１０３】
ブロック１２１０で、制御装置１１０は、前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況をチャネル・サブシステム１０８のチャネル１２４に送信する。前記装置状況は、図１０のトランスポート応答ＩＵ１００６のように、拡張状況を有さないトランスポート応答ＩＵ内で送信することができる。
【０１０４】
図１１に戻って、説明を続ける。ブロック１１０８で、チャネル・サブシステム１０８のチャネル１２４は、前記一のコマンド・メッセージを送信することに応答して、前記装置状況を受信する。ブロック１１１０で、チャネル・サブシステム１０８のチャネル１２４は、前記受信された装置状況に応答して、前記後続コマンド・メッセージを選択する。チャネル１２４は、トランスポート応答ＩＵ内で受信された装置状況を検査し、前記後続コマンドを保持する一のＴＣＣＢのためにどのＴＣＷにアクセスすべきかを決定する。もし、受信された装置状況がＣＥ及びＤＥを含んでいれば、チャネル１２４は、現在のＴＣＷのＣＥ、ＤＥ状況用の次のＴＣＷアドレス・フィールド８２８を読み取ることにより、現在のコマンドに対し順次的な１つ以上のコマンドの後続セットを含む後続コマンド・メッセージとして次のＴＣＷ／ＴＣＣＢを決定する。もし、受信された装置状況がＣＥ、ＤＥ及びＳＭを含んでいれば、チャネル１２４は、ＣＥ、ＤＥ及びＳＭ状況用の次のＴＣＷアドレス・フィールド８３０を読み取ることにより、現在のコマンドに対し非順次的な１つ以上のコマンドの後続セットを含む後続コマンド・メッセージとして次のＴＣＷ／ＴＣＣＢを決定する。例えば、ＴＣＣＢ３１２内の諸コマンドを実行した後にＣＥ、ＤＥ及びＳＭがセットされていれば、チャネル１２４は、次のＴＣＷ／ＴＣＣＢとしてＴＣＷ ３１０及びＴＣＣＢ ３２４を選択することができる。しかし、ＴＣＣＢ３１２内の諸コマンドを実行した後にＳＭがセットされていなければ、チャネル１２４は、次のＴＣＷ／ＴＣＣＢとしてＴＣＷ ３０６及びＴＣＣＢ ３１６を選択することができる。ブロック１１１２で、チャネル・サブシステム１０８のチャネル１２４は、前記選択された後続コマンド・メッセージを制御装置１１０に送信する。
【０１０５】
制御装置１１０は、チェーン・リンクされたチャネル・プログラムの一部として、追加の諸後続コマンド・メッセージを受信することができる。制御装置１１０は、前記一のコマンド・メッセージ内のチェーン・リンク・フラグ（例えば、図９のＴＣＣＢフラグ９２７内にあるチェーン・リンクＴＣＣＢフラグ）を読み取ることにより、当該Ｉ／Ｏ動作の一部として前記後続コマンド・メッセージが前記一のコマンド・メッセージに続くと予期されるか否かを決定することができる。制御装置１１０は、前記後続コマンド・メッセージが予期されることを決定することに応答して、前記受信された１つ以上のコマンドを実行する際に、複数のコマンド・メッセージにまたがるように当該Ｉ／Ｏ動作に関連する諸カウンタ（例えば、ＣＵタイマ２０６）を継続的に走行させるとともに、拡張状況を有さないトランスポート応答メッセージを送信することができる。同様の態様で、受信された各コマンド・メッセージを分析することにより、当該チェーンＩ／Ｏ動作の一部として追加のコマンド・メッセージが予期されるか否かを決定することができる。制御装置１１０は、１つ以上のコマンドの後続セットを含む前記後続コマンド・メッセージを受信し、当該受信された１つ以上の後続コマンド内の各コマンドに関連するコマンド・チェーン・フラグ（例えば、ＤＣＷフラグ９５０、９６２、９７２及び／又は９８２のＣＣビット）を検査することにより、最後のチェーン・リンク・コマンドを見つけることができる。制御装置１１０は、当該最後のチェーン・リンク・コマンドを見つけ且つこれを実行することに応答して、当該Ｉ／Ｏ動作用の拡張状況を有する応答メッセージを送信する。この場合、前記後続コマンド・メッセージは、当該チェーンの最後のコマンド・メッセージである。拡張状況を有さない諸トランスポート応答メッセージとして通信される短い諸状況メッセージは、各コマンド・メッセージが当該最後のコマンド・メッセージに先立って実行された後、中間状況をチャネル１２４に提供することができる。当該最後のコマンド・メッセージの諸コマンドを実行する際、当該Ｉ／Ｏ動作用の追加情報及び状況を提供する拡張状況が送信される。
【０１０６】
また、制御装置１１０は、他の諸エラー条件も処理することができる。例えば、制御装置１１０は、一の通信交換に関連する１つ以上のコマンドが実行不能であることを決定することができる。制御装置１１０は、この決定に応答して、終止状況メッセージをチャネル・サブシステム１０８のチャネル１２４に送信して、実行不能であることを示すことができる。制御装置１１０は、前記１つ以上の実行不能コマンドに関連するシーケンス番号よりも大きなシーケンス番号を有するオープン済みの諸通信交換をクローズする。例えば、制御装置１１０が、交換Ａ、Ｂ、Ｃ及びＤ上でシーケンス番号１、２、３及び４を受信しており且つシーケンス番号２に関連する諸コマンドを実行中にエラーが生じるならば、制御装置１１０は、交換Ｂ上の確認用の要求を有する拡張状況によって交換Ｂ上の当該エラーをチャネル１２４に通知するとともに、交換Ｃ及びＤをクローズすることができる。チャネル１２４は、交換Ａ、Ｃ及びＤがクローズされていることを認識した後、交換Ｂ上の確認で以て交換Ｂをクローズするであろう（シーケンス番号１の諸コマンドが成功裏に完了された後に、交換Ａがクローズするものと仮定する）。
【０１０７】
推奨実施形態の技術的効果は、Ｉ／Ｏ動作のために複数のＴＣＷ及び複数のＴＣＣＢにまたがるチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを形成するように、条件付きリンクで以て複数のＴＣＷ及びＴＣＣＢを互いにチェーンすることを含む。チャネルは、諸制約をフォーマットするためのＴＣＷの内容を読み取ることにより、一のＴＣＷが実際にはＡＣＢであるか否かを決定するとともに、制御装置から戻された状況に応答してどのアドレスにアクセスすべきかを決定する。チャネルは、制御装置に対し、後続コマンド・メッセージが現在のコマンド・メッセージにチェーン・リンクされていること、そして制御装置が当該現在のコマンド・メッセージに関連する装置状況を戻すことに応答して、特定の後続コマンド・メッセージを選択するであろうということを通知することができる。もし、チャネルがジャンプ状況を受信すれば、チャネルは、当該チェーン内の次のＴＣＷ及びＴＣＣＢに移るのではなく、非順次的なＴＣＷ及びＴＣＣＢを取り出すことができる。非順次的なＴＣＷ／ＴＣＣＢは、現在のＴＣＷへの分岐バック、順次的に到達するであろう同じチェーン・パス内の前方ジャンプ、又はチャネル・プログラムの順次的な進行中にはアクセス可能でなかったであろう異なるチェーン・パスへのリダイレクトとすることができる。また、チャネルは、トランスポート制御チャネル・プログラムが実行中であるが完全には完了していない間、周期的な状況割り込みが送信されることを可能にする。周期的な状況は、複数のコマンドが実行されたことをホストが確認することを可能にし、その結果、プログラムの全体が完了するのを待機することなく、完了したコマンドに関連するバッファを解放するか又は再使用することができる。
【０１０８】
本発明の諸能力は、ソフトウェア、ファームウェア、ハードウェア又はそれらの組み合わせの形態で実装することができる。
【０１０９】
当業者には明らかなように、本発明は、方法、システム又はコンピュータ・プログラムとして具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又はソフトウェア及びハードウェア要素の両方を含む実施形態の形式を取ることができ、これらの全てを一般に「回路」、「モジュール」又は「システム」と称することができる。さらに、本発明は、コンピュータが使用可能なプログラム・コードを有する表現を任意の有形的媒体内に具体化した、コンピュータ・プログラムの形式を取ることができる。図１３に例示するコンピュータ・プログラム１３００では、コンピュータ使用可能媒体１３０２上のコンピュータ・プログラム・コード論理１３０４は、有形的媒体内に具体化された複数の命令を保持する。複数のコンピュータ・プログラム１３００の各々が、別個の処理回路上で機能的なプロセスを実行するように実装することができる。例えば、図１１及び図１２のプロセス１１００及び１２００を、別個のコンピュータ・プログラム１３００上のコンピュータ・プログラム・コード論理１３０４としてそれぞれ具体化し、その一方を図１のホスト・システム１０１上で実行し、他方を図１の１つ以上の制御装置１１０上で実行することができる。代替的に、プロセス１１００及び１２００は、単一のコンピュータ・プログラム１３００上にコンピュータ実行可能なコードとして格納することができる。
【０１１０】
１つ以上のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組み合わせを使用することができる。例えば、コンピュータ使用可能媒体又はコンピュータ可読媒体は、電子、磁気、光学、電磁気、赤外線、半導体システム、装置又は伝搬媒体とすることができる。コンピュータ可読媒体の特定の例は、１つ以上の線を有する電気接続、フレキシブル・ディスク、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、光ファイバ、読み取り専用のＣＤ−ＲＯＭ、光ストレージ装置、インターネット若しくはイントラネットをサポートする伝送媒体又は磁気ストレージ装置等を含む。さらに、コンピュータ使用可能媒体又はコンピュータ可読媒体を、紙又は他の適切な媒体とすることもできる。すなわち、紙又は他の適切な媒体上に印刷されたプログラムを、光学式スキャン等を介して捕捉し、コンパイルし、解釈し、又は必要に応じて適宜処理した後、その結果をコンピュータ・メモリに格納することができるからである。本明細書の文脈では、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム等に関連して又はこれらによって使用するためのプログラムを保持し、格納し、通信し、伝搬し、移送することができる、任意の媒体とすることができる。コンピュータ使用可能媒体は、伝搬されるデータ信号の形式を有することもできるが、その場合には、ベースバンド内に又は搬送波の一部として、コンピュータ使用可能プログラム・コードを具体化することができる。コンピュータ使用可能プログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦ等を含む、適切な任意の媒体を使用して伝送することができる。
【０１１１】
本発明の諸動作を実施するためのコンピュータ・プログラム・コードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向プログラミング言語及び「Ｃ」プログラミング言語又は同様のプログラミング言語のような通常の手続き的プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書くことができる。図１３のコンピュータ・プログラム・コード論理１３０４は、プログラム・コードの一実施形態を表す。かかるプログラム・コードは、独立のソフトウェア・パッケージとしてユーザ・コンピュータ上で完全に実行することができ、その一部をユーザ・コンピュータ上で且つ他の一部を遠隔コンピュータ上で実行することができ、或いは遠隔コンピュータ又はサーバ上で完全に実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通してユーザ・コンピュータに接続してもよく、或いはその接続を（例えば、インターネット・サービス・プロバイダを利用するインターネットを通して）外部コンピュータに行うことができる。
【０１１２】
以上では、フローチャート及び／又はブロック図を参照して、本発明に従った方法、装置（システム）及びコンピュータ・プログラムを説明した。この点に関し、フローチャート及び／又はブロック図の各ブロック、並びにフローチャート及び／又はブロック図の諸ブロックの組み合わせは、複数のコンピュータ・プログラム命令によって実装することができることを理解されたい。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサに提供すると、前記コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサ上で実行される諸命令が、前記フローチャート及び／又はブロック図の諸ブロックで指定された機能／行為を実装するための手段を作成することを目的として、一のマシンを生産することができる。
【０１１３】
また、これらのコンピュータ・プログラム命令をコンピュータ可読媒体内に格納すると、前記コンピュータ可読媒体内に格納された命令が、前記フローチャート及び／又はブロック図の諸ブロックで指定された機能／行為を実装する命令手段を含む一の製品を生産することを目的として、コンピュータ又は他のプログラム可能なデータ処理装置に対し特定の態様で機能するように指示することができる。
【０１１４】
また、これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能なデータ処理装置にロードすると、前記コンピュータ又は他のプログラム可能なデータ処理装置上で実行される命令が、前記フローチャート及び／又はブロック図の諸ブロックで指定された機能／行為を実装するためのプロセスを提供することを目的として、一のコンピュータ実装方法を生成するように前記コンピュータ又は他のプログラム可能なデータ処理装置上で一連の動作ステップを実行させることができる。
【０１１５】
添付図面のうちのフローチャート及びブロック図は、本発明の種々の実施形態に従った、システム、方法及びコンピュータ・プログラムの可能な実装のアーキテクチャ、機能性及び動作を例示する。この点に関し、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ以上の実行可能命令を含む、モジュール、セグメント又はコードの部分を表すことができる。かかるモジュール、セグメント又はコードの部分は、指定された論理関数を実装するための１つ以上の実行可能な命令から成る。また、幾つかの代替実装では、ブロック内に表記された諸機能は、図面に示す順序とは異なる順序で生じることができる。例えば、図面に順次に示された２つのブロックは、それらの機能性に依存して、実質的に同時に実行することができ、或いは逆の順序で実行することができる。さらに、ブロック図及び／又はフローチャートの各ブロック及び諸ブロックの組み合わせは、指定された機能又は行為を行う専用のハードウェア・ベースのシステム又は専用ハードウェア及びコンピュータ命令の組み合わせによって実装することができる。
【０１１６】
請求項に記載された全ての手段又はステップ＋機能要素に対応する構造、材料、行為及びそれらの均等物は、請求項に明示的に記載された他の要素と組み合わせてその機能を行うための任意の構造、材料又は行為を含むことが意図される。本発明に関する記述は、例示及び説明を目的として与えられたものであり、網羅的であること及び開示された形態に本発明を限定することを意図するものではない。当業者にとって、本発明の範囲及び精神から逸脱することなく、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理及び実際の応用を最もよく説明し、考えられる特定の用途に適するような種々の修正を伴う種々の実施形態に関して当業者が本発明を理解することを可能にするために、選択され説明されたものである。
【０１１７】
添付図面のうちのフローチャートは、１例であるに過ぎない。本発明の精神から逸脱することなく、これらのフローチャート内の諸ステップ（諸動作）に対し多くの変形を施すことができる。例えば、これらのステップを異なる順序で行ったり、諸ステップを追加、除去又は修正することができる。これらの変形の全ては、本発明の範囲に属するものと考えられる。
【０１１８】
前述の説明は、本発明の推奨実施形態に向けられているが、当業者にとって、現在及び将来において、請求項の範囲内で種々の改良及び拡張を施し得ることが明らかであろう。これらの請求項は、最初に記述された本発明の適切な保護を維持するために解釈されるべきである。
【符号の説明】
【０１１９】
１００・・・Ｉ／Ｏ処理システム
１０１・・・ホスト・システム
１０２・・・主メモリ
１０３・・・オペレーティング・システム（ＯＳ）
１０４・・・中央演算処理装置（ＣＰＵ）
１０６・・・ストレージ制御要素
１０８・・・チャネル・サブシステム
１１０・・・制御装置（ＣＵ）
１１２・・・Ｉ／Ｏ装置
１１４、１１６、１１８、１２０、１２６・・・接続
１２２・・・チャネル・パス
１２４・・・チャネル（ＣＨＮ）
２０２・・・ＣＵ制御論理
２０４・・・ＣＵチェーン論理
２０６・・・ＣＵタイマ
２０８・・・ＣＵレジスタ
２１０・・・ＣＨＮ制御論理
２１２・・・ＣＨＮサブシステム・タイマ
２１４・・・ＣＨＮサブシステム・レジスタ
２１６・・・ＣＨＮチェーン論理
３００・・・ＴＣＷチャネル・プログラム
３０２・・・アンカ制御ブロック（ＡＣＢ）
３０４、３０６、３０８、３１０・・・トランスポート制御ワード（ＴＣＷ）
３１２、３１６、３２０及び３２４・・・トランスポート・コマンド制御ブロック（ＴＣＣＢ）
３１４・・・トランスポート状況ブロック（ＴＳＢ）
３１８、３２２、３２６・・・データ
５００・・・プロセス・ログイン（ＰＲＬＩ）要求メッセージ
６００・・・プロセス・ログイン（ＰＲＬＩ）受諾メッセージ
７００・・・アンカ制御ブロック（ＡＣＢ）
８００・・・トランスポート制御ワード（ＴＣＷ）
９００・・・コマンド・メッセージ
【図１】
2011529589.tif 000003
【図２】
2011529589.tif 000004
【図３】
2011529589.tif 000005
【図４】
2011529589.tif 000006
【図５】
2011529589.tif 000007
【図６】
2011529589.tif 000008
【図７】
2011529589.tif 000009
【図８】
2011529589.tif 000010
【図９】
2011529589.tif 000011
【図１０】
2011529589.tif 000012
【図１１】
2011529589.tif 000013
【図１２】
2011529589.tif 000014
【図１３】
2011529589.tif 000015
【手続補正書】
【提出日】平成23年3月24日(2011.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入出力（Ｉ／Ｏ）処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法であって、
（ａ）Ｉ／Ｏ動作を行うために前記制御装置において前記Ｉ／Ｏサブシステムからの一のコマンド・メッセージを受信するステップと、
（ｂ）前記一のコマンド・メッセージ内のチェーン・リンク・フラグを読み取るステップを有し、
前記チェーン・リンク・フラグは、前記Ｉ／Ｏ動作用の後続コマンド・メッセージが前記一のコマンド・メッセージに続くことを示し、
（ｃ）前記一のコマンド・メッセージ内の直列化フラグを読み取るステップをさらに有し、
前記直列化フラグは、前記後続コマンド・メッセージを選択するために装置状況が前記Ｉ／Ｏサブシステムに戻されることを要求し、
（ｄ）前記一のコマンド・メッセージ内の１つ以上のコマンドを実行するステップと、
（ｅ）前記直列化フラグと組み合わせて前記１つ以上のコマンドを実行することに応答して、前記装置状況を前記Ｉ／Ｏサブシステムに送信するステップとをさらに有する、方法。
【請求項２】
前記チェーン・リンク・フラグに応答して、前記後続コマンド・メッセージが予期されることを決定するステップと、
前記一のコマンド・メッセージ及び前記後続コマンド・メッセージにまたがるように前記Ｉ／Ｏ動作に関連する複数のカウンタを継続的に走行させるステップをさらに有する、請求項１に記載の方法。
【請求項３】
１つ以上のコマンドの後続セットを含む、前記後続コマンド・メッセージを受信するステップと、
最後のチェーン・リンク・コマンドを見つけるために、前記受信された１つ以上のコマンドの後続セット内にある各コマンドに関連するコマンド・チェーン・フラグを検査するステップと、
前記最後のチェーン・リンク・コマンドを見つけ且つ当該最後のチェーン・リンク・コマンドを実行することに応答して、前記Ｉ／Ｏ動作用の拡張状況を有する応答メッセージを送信するステップをさらに有する、請求項２に記載の方法。
【請求項４】
前記装置状況は、チャネル終了（ＣＥ）及び装置終了（ＤＥ）を含み、当該チャネル終了（ＣＥ）及び装置終了（ＤＥ）は、前記一のコマンド・メッセージ内の前記１つ以上のコマンドに続く順次コマンドを保持する前記後続コマンド・メッセージを送信するように前記Ｉ／Ｏサブシステムに命令する、請求項１に記載の方法。
【請求項５】
前記装置状況は、チャネル終了（ＣＥ）、装置終了（ＤＥ）及び状況修飾子（ＳＭ）を含み、当該チャネル終了（ＣＥ）、当該装置終了（ＤＥ）及び当該状況修飾子（ＳＭ）の組み合わせは、前記一のコマンド・メッセージ内の前記１つ以上のコマンドに続く非順次コマンドを保持する前記後続コマンド・メッセージを送信するように前記Ｉ／Ｏサブシステムに命令する、請求項１に記載の方法。
【請求項６】
一の通信交換に関連する１つ以上のコマンドが実行不能であることを決定するステップと、
実行不能であることを示す終止状況メッセージを前記Ｉ／Ｏサブシステムに送信するステップと、
前記１つ以上の実行不能なコマンドに関連するシーケンス番号よりも大きなシーケンス番号を有するオープン済みの複数の通信交換をクローズするステップをさらに有する、請求項１に記載の方法。
【請求項７】
ログイン要求メッセージを受信するステップと、
前記ログイン要求メッセージに応答して、最大リンク・コマンド・フィールドを含む、ログイン受諾メッセージを送信するステップをさらに有し、
前記最大リンク・コマンド・フィールドは、前記制御装置がサポートする前記一のコマンド・メッセージの後の追加のコマンド・メッセージの最大カウントを示す、請求項１に記載の方法。
【請求項８】
前記Ｉ／Ｏサブシステムは、チャネル・サブシステムであり、
前記一のコマンド・メッセージは、一のトランスポート・コマンド情報単位であり、当該トランスポート・コマンド情報単位は、１つ以上の装置制御ワード（ＤＣＷ）内に１つ以上のコマンドを有する一のトランスポート・コマンド制御ブロック（ＴＣＣＢ）から成る、請求項１に記載の方法。
【請求項９】
入出力（Ｉ／Ｏ）処理システム内の制御装置と通信するように構成されたチャネル・サブシステムにおいてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法であって、
（ａ）Ｉ／Ｏ動作を行うために一のコマンド・メッセージに後続コマンド・メッセージが続くことを示すように、前記一のコマンド・メッセージ内のチェーン・リンク・フラグを構成するステップと、
（ｂ）前記後続コマンド・メッセージを選択するために装置状況が前記チャネル・サブシステムに戻されることを要求するように、前記一のコマンド・メッセージ内の直列化フラグを構成するステップと、
（ｃ）前記一のコマンド・メッセージを前記チャネル・サブシステムから前記制御装置に送信するステップを有する、方法。
【請求項１０】
前記ステップ（ｃ）に応答して、装置状況を受信するステップと、
前記受信された装置状況に応答して、前記後続コマンド・メッセージを選択するステップと、
前記選択された後続コマンド・メッセージを前記制御装置に送信するステップをさらに有する、請求項９に記載の方法。
【請求項１１】
複数のトランスポート制御ワード（ＴＣＷ）のチェーン・リンク・シーケンスを構築するステップをさらに有し、
前記複数のＴＣＷの少なくとも１つは、前記一のコマンド・メッセージ内に含むべき第１のコマンド制御ブロック（ＴＣＣＢ）を識別する第１のポインタと、前記制御装置から第１のタイプの装置状況を受信することに応答して前記後続コマンド・メッセージ内に含むべき第２のＴＣＣＢを識別する第２のＴＣＷに対する第２のポインタと、前記制御装置から第２のタイプの装置状況を受信することに応答して前記後続コマンド・メッセージ内に含むべき第３のＴＣＣＢを識別する第３のＴＣＷに対する第３のポインタとを含む、請求項９に記載の方法。
【請求項１２】
アンカ制御ブロック（ＡＣＢ）を前記複数のＴＣＷのチェーン・リンク・シーケンスにリンクするステップをさらに有し、
前記ＡＣＢは、Ｉ／Ｏ装置に問い合わせるためのイニシアティブを受信することに応答してアクセスすべき問い合わせＴＣＷに対する問い合わせポインタを含む、請求項１１に記載の方法。
【請求項１３】
チャネルの最大リンク・コマンド・フィールドを含む、ログイン要求メッセージを送信するステップをさらに有し、
前記チャネルの最大リンク・コマンド・フィールドは、前記一のコマンド・メッセージの後にキューに入れられ且つ前記チャネル・サブシステムがサポートする追加のコマンド・メッセージの最大カウントを示し、
前記ログイン要求メッセージに応答して、制御装置の最大リンク・コマンド・フィールドを含む、ログイン受諾メッセージを受信するステップをさらに有し、
前記制御装置の最大リンク・コマンド・フィールドは、前記一のコマンド・メッセージの後にキューに入れられ且つ前記制御装置がサポートする追加のコマンド・メッセージの最大カウントを示し、
前記制御装置の最大リンク・コマンド・フィールドに適合するように前記制御装置への送信を制限するステップをさらに有する、請求項９に記載の方法。
【請求項１４】
入出力（Ｉ／Ｏ）処理システム内のＩ／Ｏサブシステムと通信するように構成された制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するためのコンピュータ・プログラムであって、
処理回路によって読み取り可能であり且つ請求項１ないし請求項１３の何れか１項に記載の方法をコンピュータに実施させるように前記処理回路による実行のための複数の命令を格納する記憶媒体から成るコンピュータ・プログラム。
【請求項１５】
入出力（Ｉ／Ｏ）処理システム内の制御装置においてチェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための装置であって、
前記制御装置が、前記Ｉ／Ｏ処理システム内のＩ／Ｏサブシステムと通信するように構成され且つ請求項１ないし請求項１３の何れか１項に記載の方法を実施するように適合されている装置。
【国際調査報告】
2011529589.tif 000016
2011529589.tif 000017