JP6074415B2 - チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法 - Google Patents

チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法 Download PDF

Info

Publication number
JP6074415B2
JP6074415B2 JP2014517535A JP2014517535A JP6074415B2 JP 6074415 B2 JP6074415 B2 JP 6074415B2 JP 2014517535 A JP2014517535 A JP 2014517535A JP 2014517535 A JP2014517535 A JP 2014517535A JP 6074415 B2 JP6074415 B2 JP 6074415B2
Authority
JP
Japan
Prior art keywords
control unit
data
dcw
transfer
transport
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.)
Active
Application number
JP2014517535A
Other languages
English (en)
Other versions
JP2014522021A (ja
Inventor
ホーソーン・ロジャー
フラナガン・ジョン
リッチ・ルイス・ウィリアム
カールソン・スコット
カロス・マシュー・ジョセフ
ユデンフレンド・ハリー
リーディー・デイル
キャスパー・ダニエル・フランシス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014522021A publication Critical patent/JP2014522021A/ja
Application granted granted Critical
Publication of JP6074415B2 publication Critical patent/JP6074415B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E10/00Energy generation through renewable energy sources
    • Y02E10/70Wind energy
    • Y02E10/72Wind turbines with rotation axis in wind direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

本開示は、一般に入力/出力(I/O)処理に関し、特に、移送モードのI/O動作を容易にするための機能を提供することに関する。
入力/出力(I/O)動作が、I/O処理システムのメモリとI/Oデバイスとの間でデータを転送するために使用される。具体的には、I/O動作を実行することにより、データがメモリから1つまたは複数のI/Oデバイスに書き込まれ、データが1つまたは複数のI/Oデバイスからメモリに読み取られる。
I/O動作の処理を容易にするために、I/O処理システムのI/Oサブシステムが採用される。I/Oサブシステムは、I/O処理システムの主メモリおよびI/Oデバイスに結合され、メモリとI/Oデバイスとの間の情報の流れを指示する。I/Oサブシステムの一例がチャネル・サブシステムである。チャネル・サブシステムは、チャネル経路を通信媒体として使用する。各チャネル経路が制御ユニットに結合されたチャネルを含み、さらにこの制御ユニットは1つまたは複数のI/Oデバイスに結合される。
チャネル・サブシステムおよびI/Oデバイスは、I/Oデバイスとメモリとの間でデータを転送するための1つまたは複数のコマンド制御ブロックの転送をサポートする、移送モードで動作し得る。移送制御ワード(TCW)が、実行されることになる1つまたは複数のI/Oコマンドを指定する。あるI/O動作を開始するコマンドの場合、TCWは、その動作に関連付けられたメモリ領域、その領域との間の転送が完了すると必ず実行される動作、および他のオプションを指定する。
こうしたI/O動作システムは、典型的には、個々の動作を入力データ動作(たとえば読み取り動作)または出力データ動作(たとえば書き込み動作)のいずれかとして処理することに関係する。
米国特許出願第12/030912号
「IBM(登録商標) z/Architecture Principles of Operation」、出版番号SA22−7832−08、第9版、2010年8月 「Fibre Channel:Link Services(FC−LS−2)」、T11 Project 2103−D、改訂版2.00、2008年6月26日
これらのシステムは、典型的には双方向動作をサポートしておらず、特に、双方向サポートの指示を生成または転送するための機能を含まない。
実施形態が、制御ユニットとの通信用に構成されたホスト・コンピュータ・システムでI/O動作命令によって開始される入力/出力(I/O)動作を実行するためのコンピュータ・プログラム製品を含む。コンピュータ・プログラム製品は、チャネル・サブシステムと制御ユニットとの間のリンクを初期化するために、ホスト・コンピュータ・システム内のチャネル・サブシステムによって、プロセス・ログイン(PRLI)要求メッセージを制御ユニットに送信することであって、PRLI要求メッセージは、チャネル・サブシステムが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、送信すること、制御ユニットからPRLI応答メッセージを受信することであって、PRLI応答メッセージは、制御ユニットが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、受信すること、双方向データ転送がサポートされている旨の指示をホスト・オペレーティング・システムに提供すること、および、ホスト・コンピュータ・システムから受信したI/O動作命令の実行に応答して、方法を実行すること、を含む方法を実行するために、処理回路によって読み取り可能であり、処理回路による実行のための命令を記憶する、有形記憶媒体を含む。方法は、ホスト・コンピュータ・システムから受信したI/O動作命令に関連付けられた複数のコマンドを収集することであって、複数のコマンドのうちの少なくとも1つは入力データ転送を指定し、複数のコマンドのうちの少なくとも1つは出力データ転送を指定する、収集すること、複数のコマンドを制御ユニットに転送すること、制御ユニットに転送されることになる出力データを含む少なくとも1つの出力データ・メッセージを制御ユニットに送信することであって、出力データ・メッセージは出力データ転送を指定する複数のコマンドのうちの少なくとも1つに関連付けられる、送信すること、および、ホスト・コンピュータ・システムの主記憶内に記憶されることになる入力データを含む少なくとも1つの入力メッセージを制御ユニットから受信することであって、入力データ・メッセージは入力データ転送を指定する複数のコマンドのうちの少なくとも1つに関連付けられる、受信すること、を含む。
別の実施形態が、制御ユニットとの通信用に構成されたホスト・コンピュータ・システムでI/O動作命令によって開始された入力/出力(I/O)動作を実行するための装置を含む。ホスト・コンピュータ・システムは、チャネル・サブシステムと制御ユニットとの間のリンクを初期化するために、ホスト・コンピュータ・システム内のチャネル・サブシステムによって、プロセス・ログイン(PRLI)要求メッセージを制御ユニットに送信することであって、PRLI要求メッセージは、チャネル・サブシステムが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、送信すること、制御ユニットからPRLI応答メッセージを受信することであって、PRLI応答メッセージは、制御ユニットが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、受信すること、双方向データ転送がサポートされている旨の指示をホスト・オペレーティング・システムに提供すること、および、ホスト・コンピュータ・システムから受信したI/O動作命令の実行に応答して方法を実行することであって、この方法は、ホスト・コンピュータ・システムから受信したI/O動作命令に関連付けられた複数のコマンドを収集することであって、複数のコマンドのうちの少なくとも1つは入力データ転送を指定し、複数のコマンドのうちの少なくとも1つは出力データ転送を指定する、収集すること、複数のコマンドを制御ユニットに転送すること、制御ユニットに転送されることになる出力データを含む少なくとも1つの出力データ・メッセージを制御ユニットに送信することであって、出力データ・メッセージは出力データ転送を指定する複数のコマンドのうちの少なくとも1つに関連付けられる、送信すること、および、ホスト・コンピュータ・システムの主記憶内に記憶されることになる入力データを含む少なくとも1つの入力メッセージを制御ユニットから受信することであって、入力データ・メッセージは入力データ転送を指定する複数のコマンドのうちの少なくとも1つに関連付けられる、受信することを含む、実行することを、実行するように構成される。
別の実施形態が、制御ユニットとの通信用に構成されたホスト・コンピュータ・システムでI/O動作命令によって開始される入力/出力(I/O)動作を実行する方法を含む。方法は、チャネル・サブシステムと制御ユニットとの間のリンクを初期化するために、ホスト・コンピュータ・システム内のチャネル・サブシステムによって、プロセス・ログイン(PRLI)要求メッセージを制御ユニットに送信することであって、PRLI要求メッセージは、チャネル・サブシステムが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、送信すること、制御ユニットからPRLI応答メッセージを受信することであって、PRLI応答メッセージは、制御ユニットが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、受信すること、双方向データ転送がサポートされている旨の指示をホスト・オペレーティング・システムに提供すること、および、ホスト・コンピュータ・システムから受信したI/O動作命令の実行に応答して方法を実行することであって、この方法は、ホスト・コンピュータ・システムから受信したI/O動作命令に関連付けられた複数のコマンドを収集することであって、複数のコマンドのうちの少なくとも1つは入力データ転送を指定し、複数のコマンドのうちの少なくとも1つは出力データ転送を指定する、収集すること、複数のコマンドを制御ユニットに転送すること、制御ユニットに転送されることになる出力データを含む少なくとも1つの出力データ・メッセージを制御ユニットに送信することであって、出力データ・メッセージは出力データ転送を指定する複数のコマンドのうちの少なくとも1つに関連付けられる、送信すること、および、ホスト・コンピュータ・システムの主記憶内に記憶されることになる入力データを含む少なくとも1つの入力メッセージを制御ユニットから受信することであって、入力データ・メッセージは入力データ転送を指定する複数のコマンドのうちの少なくとも1つに関連付けられる、受信することを含む、実行すること、を含む。
追加の機能および利点は、本実施形態の技法を介して実現される。他の実施形態および態様が本明細書で説明され、請求された本発明の一部とみなされる。本発明を利点および機能と共により良く理解するために、説明および図面を参照されたい。
本発明とみなされる対象が具体的に指摘され、本明細書の結びにある特許請求の範囲で明確に請求される。本発明の前述および他の目的、機能、および利点は、添付の図面に関連して説明される以下の詳細な説明から明らかとなろう。
本発明の1つまたは複数の態様を組み込むおよび使用するI/O処理システムの一実施形態を示す図である。 移送制御ワード(TCW)の一実施形態を示す図である。 移送コマンド制御ブロック(TCCB)の一実施形態を示す図である。 図3のTCCBを含む移送コマンド情報ユニット(IU)の一実施形態を示す図である。 図4の移送コマンドIUの移送コマンド・ヘッダの一実施形態を示す図である。 図4のTCCBの移送コマンド領域ヘッダ(TCAH)の一実施形態を示す図である。 図4のTCCBの移送コマンド領域(TCA)の一実施形態を示す図である。 単方向データ転送動作に関する様々なデータ・カウントの例示的決定を示す表である。 双方向データ転送動作に関する様々なデータ・カウントの例示的決定を示す表である。 デバイス・コマンド・ワード(DCW)の一実施形態を示す図である。 図10のDCWの制御フラグ・フィールドの一実施形態を示す図である。 移送コマンド領域拡張(TCAX)の一実施形態を示す図である。 CBCオフセット・ブロックの一実施形態を示す図である。 移送モードI/O動作を実行する方法の一実施形態を示す流れ図である。 チャネルと制御ユニットあるいはI/Oデバイスまたはその両方との間の入力および出力データの移送に使用される、移送データIUの一実施形態を示す流れ図である。 移送応答IUの一実施形態を示す図である。 図16の移送応答IUの状況領域の一実施形態を示す図である。 例示的プロセス・ログイン(PRLI)要求の構成要素を示す図である。 例示的PRLI応答の構成要素を示す図である。 チャネル・サブシステムからホスト・コンピュータ・システムOSに提供される例示的チャネル経路記述ブロックを示す図である。 チャネル・サブシステム機能データを含む、図20の記述ブロックの例示的チャネル記述データを示す図である。
本発明の実施形態が、コンピュータ・システムにおける入力/出力(I/O)処理を容易にする。一実施形態では、I/O動作およびチャネル経路を介したデータの移送を管理するために移送コマンドが提供される。移送コマンドは、データ転送チェックおよび追加DCWの転送を管理するために使用されるコマンド転送メタ情報(TCMI)を含み得る。TCMIは、I/O動作において転送されることになるデータに関する情報を定義、指定、および検証するために、1つまたは複数のデータ移送情報ユニット(IU)内で定義される。移送コマンドは、問い合わせコマンド、CBCオフセット・ブロック転送(TCOB)コマンド、およびTCA拡張転送(TTE)コマンドを含み得る。
一実施形態では、ホスト・コンピュータがI/O動作用のデバイスに送信できるコマンド数を増加可能にすることにより、I/O処理が容易になる。たとえば移送コマンド領域拡張(TCAX)の形のTCMIをホストからデバイスに送信して、I/O動作に関連付けることが可能なコマンド数の数を増加させることができる。一実施形態では、TCAXは、移送コマンド領域拡張(TCA)内で送信されるコマンドに加えて実行されることになるコマンドを含む、TCA拡張転送(TTE)と呼ばれるデバイス・コマンド・ワード(DCW)を介して送信される。
I/O処理は、誤り長さ記録に遭遇した場合、I/OデバイスがI/O動作を続行する際に使用できる手段を提供することによっても容易にできる。たとえば、DCW誤り長さ機構を、ホスト・システムおよび制御ユニットまたは制御デバイス内にインストールし得る。この機構は、制御ユニットによって実行され得る、誤り長さ(IL)チェックを提供する。誤り長さ抑制または抑制長さ指示(SLI)フィールドは、デバイスに送信されるDCWに追加し得る。このビットが活動化された場合、制御ユニットによって誤り長さ条件が検出されると、DCWチェイニングの続行が許可される。
I/O処理は、単一I/O動作中に読み取りコマンドおよび書き込みコマンドの両方をデバイスに送信するための手段を提供することによっても容易にできる。従来技術のTCWチャネル・プログラムは、すべての書き込みコマンドまたはすべての読み取りコマンドのいずれかを指定する。双方向動作は、コマンドIUの移送コマンド・ヘッダ(TCH)内に1つまたは複数のフラグを設定することによって、たとえば、読み取りフラグおよび書き込みフラグの両方を1に設定すること、ならびに読み取りおよび書き取りの両方のデータ・カウントを提供することによって、指定可能である。加えて、プロセス・ログイン(PRLI)要求メッセージなどの開始またはログイン・メッセージ内のフラグは、チャネル・サブシステムが双方向データ転送をサポートすることを示すように設定可能である。PRLI受け入れメッセージなどの応答メッセージは、デバイスが双方向データ転送をサポートしているかどうかを示すように設定可能なフラグを含むことができる。双方向データ転送がホストおよび制御ユニットの両方によってサポートされている場合、デバイスは、コマンドIU内に読み取りフラグおよび書き込みフラグの両方が設定されている場合にエラーを報告しない。この機能は、双方向データ転送動作をサポートしていない従来技術のファイバー・チャネル・プロトコルを超える改良点である。本明細書に記述される場合、「双方向データ転送」とは、たとえば、単一のTCW I/O動作内での読み取りコマンドおよび書き込みコマンドの両方の送信および実行など、単一のTCW I/O動作内で実行される入力データおよび出力データの両方の転送である。
図1は、インターナショナル・ビジネス・マシーンズ・コーポレーション(IBM(登録商標))によるzSeries(登録商標)メインフレーム・コンピュータなどの、データ記憶システムあるいはデータ処理システムまたはその両方を含むホスト・コンピュータ・システム102を含む、I/O処理システム100の例示的実施形態を示す。IBMは、米国ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。本明細書で使用される他の名前は、インターナショナル・ビジネス・マシーンズ・コーポレーションまたは他の会社の登録商標、商標、または製品名とすることができる。ホスト・コンピュータ・システム102は、様々な処理、記憶、および通信の要素を含む。一実施形態では、ホスト・コンピュータ・システム102は、1つまたは複数の中央処理ユニット(CPU)104、主記憶またはメモリ106などのメモリ構成要素、拡張記憶またはメモリ108、CPU104のうちの1つまたは複数によって実行される1つまたは複数のオペレーティング・システム(OS)110を含む。たとえば、1つのCPU104が、異なる仮想マシン・インスタンスとしてLinux(登録商標)オペレーティング・システム110あるいはz/OS(登録商標)オペレーティング・システム110を実行することができる。CPU104はI/O処理システム100の制御センターである。これは、命令の実行、割り込み動作、タイミング機能、初期プログラム・ローディング、および他のマシン関係機能に関する順序付け機構および処理機構を含む。CPU104は、双方向バスまたは単一方向バスなどの接続113を介して、主メモリ106あるいは拡張メモリ108またはその両方に結合される。
ホスト・コンピュータ・システム102は、ホスト・システム101と1つまたは複数の制御ユニット118によって制御され得る様々なI/Oデバイス116との間に通信インターフェースを提供する、チャネル・サブシステム114も含む。I/Oデバイスは、プリンタ、磁気テープ・ユニット、直接アクセス記憶デバイス、ディスプレイ、キーボード、通信コントローラ、テレプロセッシング(teleprocessing)・デバイス、およびセンサーベース機器などの機器を含む。本明細書の説明では、「制御ユニット」および「デバイス」という用語は交換可能に使用され得るか、または制御ユニットは1つまたは複数のデバイスを含むものとみなし得る。チャネル・サブシステム114は、I/Oデバイス116とホスト・コンピュータ・システム102との間の情報の流れを指示する。これは、I/Oデバイスと直接通信するタスクからCPUを解放し、データ処理とI/O処理とを同時に進行することができる。チャネル・サブシステム114は、バスなどの接続120を介して、CPU104、主メモリ106、あるいは拡張メモリ108またはそれらすべてに結合される。
一実施形態では、チャネル・サブシステム114は、直列リンクまたは並列リンクなどの接続124を介してチャネル・サブシステム114を各制御ユニット118に接続する、それぞれの「チャネル経路」122を介して各I/Oデバイス116に接続される。制御ユニット118は、複数のチャネル経路122を介してチャネル・サブシステム114に接続され得、I/Oデバイス116は、複数の制御ユニット118あるいはI/Oデバイス116またはその両方に接続され得る。すべてにおいて、別個のI/Oデバイス116は複数のチャネル経路によってアクセスされ得る。チャネル経路は、並列インターフェース、直列I/Oインターフェース、およびFICON I/Oインターフェースなどの、様々なタイプの接続を使用することができる。たとえば直列チャネル経路は、たとえばファイバ・チャネル・ファブリック内のダイナミック・スイッチ126などを介して制御ユニット118に接続された1つまたは複数の光ファイバを含み得、並列インターフェースは、いくつかの導電体または光ファイバ導体を含み得る。
一実施形態では、チャネル・サブシステム114は、1つまたは複数のチャネル経路122を介してそれぞれが1つまたは複数の制御ユニット118あるいはI/Oデバイス116またはその両方に接続された、1つまたは複数の別個のチャネル128を含む。各チャネル128は、ローカル・チャネル・マイクロプロセッサ130、および、ローカル・チャネル・マイクロプロセッサ130に接続されそれによるアクセスが可能なローカル・チャネル・メモリ132などの、処理エレクトロニクスを含む。ローカル・チャネル・メモリ132は、チャネル・プログラム指定、チャネル経路識別子、デバイス番号、デバイス・カウント、状況指示などの情報、ならびに、経路可用性および保留中または実行中の機能に関する情報を含み得る。
各チャネル128内には、1つまたは複数のサブチャネルも配置される。各サブチャネルは、関連付けられたI/Oデバイス116およびそのチャネル・サブシステム114への接続に関する情報を提供する、チャネル・メモリ132内に配置されたデータ構造である。サブチャネルは、I/O動作および関連付けられたI/Oデバイス116に関連する他の機能に関する情報も提供する。サブチャネルは、それによってチャネル・サブシステム114が、関連付けられたI/Oデバイス116に関する情報をCPU104に提供する手段である。一実施形態では、チャネル・サブシステムによって提供されるサブチャネルの数は、関連付けられたI/Oデバイス116へのチャネル経路122の数とは無関係である。たとえば、代替チャネル経路122を通じてアクセス可能なデバイス116は、依然として単一のサブチャネルによって表される。
各制御ユニット118は、1つまたは複数のI/Oデバイス116を動作および制御するための論理を提供し、チャネル128によって提供されるリンク・インターフェースへの各I/Oデバイス116の特徴を、共通の機構を使用して適応させる。共通の機構は、I/O動作の実行、I/Oデバイス116および制御ユニット118の状況に関する指示、チャネル経路122を介するデータ転送のタイミングの制御、および、あるレベルのI/Oデバイス制御を提供する。制御ユニット118は別々に収容され得るか、またはI/Oデバイス、チャネル・サブシステム、またはCPUと物理的および論理的に統合され得る。
I/O処理システム100の上記構成要素のうちの1つまたは複数については、「IBM(登録商標) z/Architecture Principles of Operation」、出版番号SA22−7832−08、第9版、2010年8月で、より詳細に説明されている。
I/O動作は、ホスト・コンピュータ・システム102とI/Oデバイス116との間のデータの転送を含む、任意の動作として説明される。本明細書で説明される場合、I/O動作は、(一実施形態では、制御ユニット118を介した)チャネル・サブシステム114とデバイス116との間の通信を含み、その中で、単一コマンド(たとえばチャネル・コマンド・ワードまたはCCW)、複数コマンドを含む単一コマンド・メッセージ(たとえば、移送コマンド情報ユニットまたは移送コマンド制御ブロック(TCCB))、または、複数チェーン・コマンド(たとえば複数CCW)が、チャネル・サブシステム114からデバイスへと送信される。I/O動作は、コマンドまたはチェーン・コマンドの受信あるいは実行またはその両方に応答して、デバイス116または関連付けられた制御ユニット118によって生成される、1つまたは複数の応答メッセージも含み得る。
一実施形態では、I/O動作は、デバイス116を用いて、デバイス116に関連付けられたサブチャネルを指定するOS110によって生成されるI/O命令の実行によって開始される。こうした命令は、チャネル・サブシステム114がI/O動作中に様々な機能を実行するよう要求するために、パラメータをチャネル128またはサブチャネルに送信することによって、CPU104により、ホスト・システム内で実行される。
たとえば、CPU104は、チャネル・サブシステム114が、サブチャネルに関連付けられたI/Oデバイス116によって開始機能を実行するように要求するパラメータを、ターゲット・サブチャネルに渡すことにより、「START SUBCHANNEL」命令を実行する。チャネル・サブシステム114は、デバイス116へのアクセス可能なチャネル経路を見つけるため、およびチャネル経路が選択された後はI/O動作を実行するために、START SUBCHANNEL命令の実行中に渡される情報を含む、サブチャネルでの情報を使用することによって、開始機能を実行する。
START SUBCHANNEL命令などの命令がCPU104によって実行される場合、チャネル128がI/O動作の実行を開始する。一実施形態では、チャネル・サブシステム114は、チャネル・サブシステム114とデバイス116あるいは制御ユニット118またはその両方との間の通信のために、高性能FICON(HPF)プロトコルの下で動作する。FICONおよびHPFについては、「Fibre Channel:Single−Byte Command Code Sets Mapping Protocol−4(FC−SB−4)」、T11 Project 2122−D、改訂版3.00、2009年9月22日で、より詳細に説明されている。
一実施形態では、START SUBCHANNEL命令の実行が、動作要求ブロック(ORB)のコンテンツをチャネル・サブシステム114に渡す。ORBは、1つまたは複数のコマンド・ワード(たとえば、以下でより詳細に説明されるチャネル・コマンド・ワードまたは移送コマンド・ワード)のアドレスを含むチャネル・プログラムを指定する。サブチャネル動作には2つのモードが存在する。一実施形態では、ホスト・コンピュータ・システム102はコマンド・モードで動作し、チャネル・コマンド・ワード(CCW)の形でコマンド・ワードを指定する。別の実施形態では、ホスト・システムは移送モードで動作し、移送コマンド・ワード(TCW)の形でコマンド・ワードを指定する。
FCX(ファイバ・チャネル拡張)機構がインストールされ、TCWチャネル・プログラムを指定するSTART SUBCHANNEL命令の実行の結果としてサブチャネルで開始機能が設定された場合、サブチャネルは移送モードに入ることができる。サブチャネルで開始機能がリセットされるまで、サブチャネルは移送モードのままである。その他の場合は常に、サブチャネルはコマンド・モードである。
コマンド・モードでは、チャネルは、単一のチャネル・コマンド・ワード、または特定シーケンスのチャネル動作を制御する順次実行される一連のチャネル・コマンド・ワードを含む、CCWチャネル・プログラムを実行する。制御ユニットは、I/OデバイスによるCCWコマンドの復号、受け入れ、および実行によって、CCW I/O動作を実行する。順次実行用に配列された1つまたは複数のCCWがCCWチャネル・プログラムを形成し、それぞれ1つまたは複数のI/O動作として実行される。
ファイバ・チャネル拡張(FCX)機構は、移送コマンド制御ブロック(TCCB)および移送状況ブロック(TSB)を指定する移送制御ワード(TCW)からなる移送モード・チャネル・プログラムの形成を提供する、オプション機構である。TCCBは、デバイス・コマンド・ワード(DCW)の形である1つまたは複数の(たとえば30までの)I/Oコマンドのリストを含む、移送コマンド領域(TCA)を含む。TCWおよびそのTCCBは、読み取り動作または書き取り動作のいずれかを指定することができる。一実施形態では、システム内にFCX双方向データ転送機構をインストールすることが可能であり、このシステムは、移送モード動作をサポートし、接続されたデバイス116および制御ユニット118が双方向データ転送をサポートしている場合、ホスト・コンピュータ・システム102が単一移送モードのI/O動作において入力データおよび出力データの両方の転送を指定できるようにする。制御ユニット118が双方向データ転送を認識した場合、TCWおよびそのTCCBは、デバイスに応じて読み取りデータおよび書き込みデータの両方の転送を指定することができる。
移送モードでは、単一の移送コマンド・ワード(TCW)が、コマンド・モードでは別々の個々のCCWではなく単一メッセージ内で送信されるTCCBのメモリ内の位置(ならびに1つまたは複数のデータ領域のメモリ106または108内の位置)を指定する。制御ユニット118は、TCCBおよびそれに含まれる個々のDCWの復号、受け入れ、および実行によって、移送モードのI/O動作を実行する。ORBがTCWチャネル・プログラムを指定する場合、チャネル・サブシステム114は指定されたTCW内の情報を使用して、TCCBを制御ユニット118に転送する。TCCBのコンテンツは、TCCBが制御ユニット118に転送された後、チャネル・サブシステム114によって無視され、制御ユニット118および関連付けられたI/Oデバイス116に対してのみ意味を有する。
例示的実施形態では、制御ユニット118はチャネル・プログラムの実行に応答して応答メッセージを生成する。制御ユニット118は、たとえばチャネル・プログラムが実行されないことをチャネル・サブシステム114に通知するために、限定数の通信シナリオの下でチャネル・プログラムを実行することなく応答メッセージを生成することもできる。制御ユニット118は、I/O通信アダプタとI/Oデバイスとの間の通信をサポートするため、ならびにチャネル・プログラム実行をサポートする、いくつかの要素を含むことができる。たとえば、制御ユニット118は、通信および状況監視を容易にするための1つまたは複数のキュー、タイマ、およびレジスタに加えて、メッセージを解析および処理するための制御論理を含むことができる。
図2は、ホスト・システム(たとえば主メモリ106)内に記憶され、チャネル128から制御ユニット118に転送されることになる少なくとも1つの制御ブロックを指定する、移送制御ワード(TCW)140の実施形態を示す。一実施形態では、制御ブロックは、そのコンテンツが処理のために制御ユニット118およびI/Oデバイス116に移送されることになる、移送コマンド・ブロック(TCCB)である。TCW140がTCCBを指定する場合、TCCBは1つまたは複数のデバイス・コマンド・ワード(DCW)および関連付けられたオプションを指定するTCAを含む。データ(TCCB内に含まれる制御データを除く)の転送を開始するコマンドを指定するDCWの場合、TCW140はデータが配置されている1つまたは複数の記憶領域を指定する。
一実施形態では、TCAは、TCCB内に収容可能なものに加えて、追加のDCWあるいは制御データまたはその両方を転送するために提供される、TCA拡張転送(TTE)コマンドを含む。TTEは、TCA拡張(TCAX)を(少なくとも1つのDCWを含む)制御ユニットに転送し、たとえばTCCBの最後のDCWをTTEの最初のDCWにチェイニングすることによって関連付けられるTCAの論理的拡張とみなされる。
再度図2を参照すると、TCW140の実施形態は、64バイト境界上に指定される64バイト制御ブロックである。TCWは以下で説明される様々なフィールドを含む。
たとえばいくつかのフラグ・フィールド142は、入力データ、出力データ、またはTCCBの位置を特定するために、直接または間接的のいずれのデータ・アドレス指定が使用されているかを示す。出力移送間接データ・アドレス指定(TIDA)フィールドは、出力データが直接または間接的のいずれでアドレス指定されるかを示す。たとえば、ワード0、TCW140のビット7がゼロであり、出力データが指定された場合、出力データ・アドレス・フィールド144は絶対記憶内の出力データ位置を指定する。ビット7が1の場合、出力データ・アドレス・フィールド144は、それぞれ出力記憶位置を指定するTIDAワード(TIDAW)またはTIDAWのリスト(TIDAL)内の第1のTIDAWの絶対アドレスを指定する。入力TIDAフィールドは、入力データが直接または間接的のいずれでアドレス指定されるかを示す。たとえば、ワード0、ビット5がゼロであり、入力データが指定された場合、入力データ・アドレス・フィールド146は入力記憶位置(すなわち入力データが記憶されることになる場所)の絶対アドレスを指定する。ビット5が1の場合、入力データ・アドレス・フィールド146は、入力記憶位置を指定するTIDAWまたはTIDAL内の第1のTIDAWの絶対アドレスを指定する。移送コマンド制御ブロックTIDA(TCCB−TIDA)フィールドは、TCCBが直接または間接的のいずれでアドレス指定されるかを示す。たとえば、ワード0、ビット6がゼロの場合、TCCBアドレス・フィールド148はTCWに関するTCCBの絶対アドレスを指定し、ビット6が1の場合、TCCBアドレス・フィールド148は、TCCBの位置を指定するTIDAWまたはTIDALの絶対アドレスを指定する。
TCW140は、TCCBのバイト単位長さを指定する移送コマンド制御ブロック長さ(TCCBL)フィールド150も含む。たとえばTCCBLフィールドは、その値が(たとえば単方向データ転送について20に加えられる場合、または双方向データ転送について24に加えられる場合)バイト単位のTCCB長さを指定する、符号なし整数を含む。
読み取り動作(R)フィールド152は、バイト数が主メモリ106に転送されることを示す場合、非ゼロ(たとえばワード1のビット14が1)である。書き込み動作(W)フィールド154は、バイト数が主記憶から転送されることを示す場合、非ゼロ(たとえばワード1のビット15が1)である。Rフィールド152およびWフィールド154が両方とも1である場合、ターゲット・デバイス116および制御ユニット118が双方向データ転送をサポートしていない限り、プログラム・チェック条件が認識される。Wビットが1でありTCWが問い合わせTCWである場合、プログラム・チェック条件が認識される。
出力データ・アドレス・フィールド144は、デバイスに送信されることになる任意の出力データの記憶内の位置を示す。たとえばワード1のビット15(Wフィールド・ビット154)が1であり、フラグ・フィールド142のビット7(出力TIDAフラグ)がゼロの場合、ワード2〜3は絶対記憶内の64ビット出力位置を指定する。Wビットが1であり、出力TIDAフラグが1である場合、ワード2〜3は、出力記憶位置を指定するTIDAWまたはTIDAWのリストの絶対記憶内の64ビット位置を指定する。入力データ・アドレス・フィールド146は、デバイスから受信された場合に任意の入力データが記憶されることになる位置を示す。たとえば、ワード1のビット14(Rフィールド・ビット152)が1であり、フラグ・フィールド142のビット5(入力TIDAフラグ)がゼロの場合、ワード4〜5は、絶対記憶内の64ビット入力位置を指定する。Rビットが1であり、入力TIDAフラグが1の場合、ワード4〜5は、入力記憶位置を指定するTIDAWまたはTIDAWのリストの絶対記憶内の位置を指定する。
移送状況ブロック・アドレス156は、TCWに関する移送状況ブロックの記憶内の位置を指定する。たとえばワード6〜7は、TCWに関する移送状況ブロックの絶対記憶内の64ビット位置を指定する。
移送コマンド制御ブロック・アドレス・フィールド148は、TCCBの1つまたは複数の(直接または間接)アドレスを指定する。たとえば、TCCB−TIDAビット(フラグ・フィールドのビット6)がゼロの場合、ワード8〜9はTCCBの絶対記憶内の64ビット位置を指定する。TCCB−TIDAビットがゼロの場合、TCCBは記憶の連続領域内に常駐するように指定される。移送コマンド制御ブロックTIDAビットが1の場合、ワード8〜9は、TCCBの絶対記憶内の位置を指定するTIDAWまたはTIDAWのリストの絶対記憶内の64ビット位置を指定する。TCCB−TIDAビットが1の場合、TCCBは記憶の非連続領域内に常駐するように指定可能である。
出力カウント・フィールド158は、TCWに関する出力バイト数を指定する。たとえば、ワード1のビット15(Wビット)が1の場合、ワード10はTCWに関する出力バイトの符号なし整数合計カウントを含む。入力カウント・フィールド160は、TCWに関する入力バイト数を指定する。たとえば、ワード1のビット14(Rビット)が1の場合、ワード11はTCWに関する入力バイトの符号なし整数合計カウントを含む。
TCWが問い合わせ動作を指定する場合、問い合わせTCWアドレス・フィールド162は問い合わせTCWの記憶内の位置を示す。たとえば、START SUBCHANNEL命令がTCWを指定する場合、TCWのワード15はチェックされない。しかしながら、CANCEL SUBCHANNEL命令が、TCWチャネル・プログラムに関する開始を保留し状況を保留していないサブチャネルを指定する場合、START SUBCHANNELによって指定されたTCWのワード15のビット1〜31は、サブチャネルについての問い合わせ動作を開始するために使用される問い合わせTCWの絶対記憶内の31ビット位置を指定する。CANCEL SUBCHANNELが発行された時にワード15がゼロを含む場合、問い合わせ動作は開始されない。CANCEL SUBCHANNELが発行された場合、ワード15のビット0はゼロでなければならず、そうでなければ問い合わせ失敗状況が示されたプログラム・チェック条件が認識される。CANCEL SUBCHANNELが発行され、ワード15のビット1〜31がゼロを含まない場合、ワード15のビット1〜31は64バイト境界上の記憶位置を指定しなければならず、そうでなければ問い合わせ失敗状況が示されたプログラム・チェック条件が認識される。ワード14は、問い合わせTCWアドレス・フィールドを64ビットに拡張するために予約することができる。
図3および図4を参照すると、移送コマンド制御ブロック(TCCB)170は、TCW I/O動作の一部として1つまたは複数の個々のコマンドを含み、チャネル128によってチャネル経路を介し、制御ユニット118あるいはデバイス116またはその両方に送信される。TCCB170は、複数のメッセージまたは情報ユニットを送信しなければならないことからチャネルを解放し、さらに動作実行の責務を制御ユニットに移行して、制御ユニット118が各コマンドについて応答を送信する必要性を取り除く。代わりに制御ユニット118は、すべてのコマンドを実行し、動作の完了時に応答を送信することができる。
TCCB170は可変長であり、ヘッダおよびトレーラの情報、ならびに1つまたは複数の(たとえば1から30の)コマンドを、それらが順番に制御ユニット118によって実行されるように論理的にリンクされた(たとえばチェイニングされた)デバイス・コマンド・ワード(DCW)として含むことが可能である。TCCB170は連続記憶の単一ブロックとして常駐することができるか、または、非連続記憶の複数ブロックとして常駐することができる。たとえば、前述のTCW140内のTCCB−TIDAフラグは、TCCBが連続記憶内に常駐するかどうかを指定するために使用される。
TCCBの例が図3および図4に示されている。図4に示されるように、TCCB170は、I/O動作を開始するために制御ユニット118に送信される移送コマンド情報ユニット(IU)172の一部として、チャネル128から制御ユニット118へと送信可能である。一実施形態では、移送コマンドIU172は8バイトのSB−4ヘッダ174と、それに続く4バイトの移送コマンド・ヘッダ(TCH)176、およびTCCB170で構成される。TCCB170は、16バイトの移送コマンド領域ヘッダ(TCAH)178、可変長の移送コマンド領域(TCA)180、および移送コマンド領域トレーラ(TCAT)182を含む。TCAT182は、4バイトのLRCフィールド184、4バイトのデータ転送長さ(DL)フィールド186、および双方向動作の場合、4バイトの双方向読み取りデータ転送長さ(BRDL)フィールド188を、さらに含むことができる。これらのフィールドについて、以下でより詳細に説明する。
図4を参照すると、SB−4ヘッダ174は、データ転送用の論理経路およびデバイス116を識別するためのFC−4アドレス指定情報を提供する。SB−4ヘッダ174は、チャネル128と制御ユニット118との間の論理経路に関するチャネル・イメージIDおよび制御ユニットID、ならびにデバイスIDを含む情報を提供する。
図5を参照すると、TCH176はTCCB170および関連付けられたデバイス動作に関する情報を含む。一実施形態では、TCH176は、4バイトを含み、移送コマンドIU172内でSB−4ヘッダ174の直後に続く。TCH176は、長さフィールド(「L1」)190、読み取りフィールド(「R」)192、および書き込みフィールド(「W」)194などのフィールドを含む。L1フィールド(たとえばビット24〜29に配置される)は、TCA180に、TCA180直後の1ワードのLRCフィールド184を加えた、ワード単位の長さを指定する。たとえば、双方向動作をサポートしない制御ユニット118の場合、移送コマンドIU172内で転送されるデータの合計量は、L1フィールドに8を加えた結果(すなわち、LIフィールドに2ワードのSB−4ヘッダ、1ワードのTCH、4ワードのTCAH、および1ワードのDLを加えた結果)に等しく、等しくない場合、制御ユニットはデータ・カウント・エラーによる移送コマンドIU整合性エラーを認識する。双方向動作をサポートする制御ユニットの場合、移送コマンドIU172内で転送されるデータの合計量は、L1フィールドに8を加えた結果(すなわち、LIフィールドに2ワードのSB−4ヘッダ、1ワードのTCH、4ワードのTCAH、および1ワードのDLを加えた結果)、または、L1フィールドに9を加えた結果(すなわち、LIフィールドに2ワードのSB−4ヘッダ、1ワードのTCH、4ワードのTCAH、1ワードのDL、および1ワードの双方向動作用のBRDLを加えた結果)に等しく、等しくない場合、制御ユニットはデータ・カウント・エラーによる移送コマンドIU整合性エラーを認識するものとする。移送コマンドIU整合性エラーが認識されない場合、TCCB内のLRCの位置はL1フィールドに基づいて配置され、LRCチェックが実行可能である。
読み取り(R)フィールド192は、1つまたは複数の読み取りまたは入力コマンドを含む。図5の実施形態では、Rフィールド192はRビット、ビット30であり、これが1に設定された場合、TCA180は読み取りデータを転送する1つまたは複数のコマンドを含む。Rビットがゼロに設定された場合、TCA180は読み取りデータを転送するいかなるコマンドも含まない。Rビットが1であり、Wビット(たとえばビット31)がゼロである場合、この動作は読み取り動作と呼ばれる。RビットおよびWビットの両方がゼロに設定された場合、TCA180は読み取りまたは書き込みデータを転送するいかなるコマンドも含まず、これはI/O動作がデータ転送を実行しないことを示す。RビットおよびWビットの両方が1に設定された場合、TCA180は読み取りおよび書き込みデータの両方を転送するコマンドを含むことが可能であり、この動作は双方向動作と呼ばれる。双方向動作が指定され制御ユニット118が双方向動作をサポートしていないか、または制御ユニット118は双方向動作をサポートしているが移送コマンドIU172がBRDLフィールド188を含まない場合、デバイス116または制御ユニット118は、読み取りと書き込みの競合により、TCHコンテンツ・エラーを認識する。Rビットがゼロであり、制御ユニット118またはデバイス116が読み取りデータの転送を試行するTCA180内のコマンドに遭遇した場合、無効の読み取り試行によるTCCBコンテンツ・エラーが認識される。
書き込み(W)フィールド194は、TCA180が1つまたは複数の書き込みまたは出力コマンドを含むことを指定する。図5の実施形態では、WフィールドはWビット、ビット31であり、1に設定された場合、TCA180が書き込みデータを転送する1つまたは複数のコマンドを含むことを示す。Wビットが1であり、Rビット(ビット30)がゼロである場合、この動作は書き込み動作と呼ばれる。Wビットがゼロであり、制御ユニット118またはデバイス116が書き込みコマンドを指定するTCA180内のコマンドに遭遇した場合、無効の書き込み条件によるTCCBコンテンツ・エラーが認識される。
図6を参照すると、TCAヘッダ(TCAH)178の実施形態は、TCA180ならびにTCA長さおよびデバイス指示などのそこに記載された動作に関する情報を含む。この実施形態では、ワード1のバイト3は、TCA180に、TCAヘッダのワード2および3と、TCA180の直後の4バイトのLRCフィールド184とを加えた、バイト単位の長さを指定する、符号なし2進整数を含む「L2」長さフィールド196である。サービス・アクション・コード・フィールド198(たとえば、ワード2のバイト0〜1)は、TCCBによって指定される動作のタイプを指定する符号なしの整数値を含む。たとえば、「1FFE」の16進値はSB−4デバイスのI/O動作を示し、「1FFF」の16進値はSB−4デバイス・サポート機能を示す。優先順位番号フィールド200(たとえばワード2のバイト3)は制御ユニットのI/O優先順位番号を含む。
図7を参照すると、移送コマンド領域(TCA)180は、デバイス・コマンド・ワード(DCW)202として1つまたは複数の(たとえば1から30までの)コマンドを含む可変長領域である。TCA180の長さは、一実施形態では、4バイト・ワードの整数である。デバイス制御データを指定するDCW202の場合、TCA180は各DCW202に関連付けられた制御データも含む。制御データを指定する各DCW202は、コマンド関連データのサイズに応じて、最大DCW容量を1つまたは複数のDCWだけ減じる。入力または出力データを指定するDCW202の場合、TCW140は関連付けられた記憶領域を指定し、DCWは転送するバイト・カウントを指定する。一実施形態では、TCAの最大サイズは240バイトである。図7の実施形態に示されるように、TCA180内にDCW202全体に対して充分なスペースが存在する場合、DCW202は、前のDCW202または前のDCW202に関連付けられた制御データに続くワード境界から開始する。TCA180内の最後のDCW202が整数のワードではない制御データを指定した場合、後続のLRCフィールド184は制御データに続くワード境界から開始する。
いくつかのデバイスの場合、DCW202のリストは、TCA180内に収まる範囲を越えて延在する可能性がある。このような場合、TCA拡張(TCAX)フィールドは、追加のDCWを含むよう指定され得、TCAXが出力データであるかのように転送(たとえば出力移送データIUの一部として転送)され得る。しかしながら、TCAXは、転送データではなくTCA180の論理継続として扱われる。TCAXは、転送TCA拡張(TTE)DCWによってTCA180内に指定される。TCAXおよびTTE DCWは以下でより詳細に説明され、TCAXの実施形態は図12および図13に示される。
図3および図4に示されるように、TCCBは、様々なカウント情報を含む、TCCBに関する追加の情報を提供する移送コマンド領域トレーラ(TCAT)182を含む。一実施形態では、単方向データ転送が指定される(RビットまたはWビットのいずれかが1に設定される)場合、またはデータ転送が指定されない(TCW内のRビットおよびWビットの両方がゼロに設定される)場合、TCAT182は2ワード長さである。双方向データ転送が指定される(TCW内のRビットおよびWビットの両方が1に設定される)場合、TCAT182は3ワード長さである。
たとえば、単方向データ転送が指定される場合、移送カウントまたはデータ長さ(DL)フィールド186は、転送されることになる合計データの32ビット符号なし整数カウント(「移送カウント値」)を指定する。読み取り動作が指定される場合(TCW Rビットが1)、TCAT内の移送カウント・フィールド内の値は、それぞれが読み取りタイプのコマンドを指定するDCW202内のカウント・フィールド値を総和することによって決定できる。この総和は最も近い4の倍数に切り上げられ、切り上げられた総和は移送カウント値に達するまで4だけ増加される。読み取り動作が指定される場合、移送カウント値は、次の4の倍数まで切り上げられたTCW入力カウント・フィールド160内の値に4を加えた結果に等しいはずである。
書き込み動作が指定される場合(TCW内のWビットが1)、書き込みコマンドを指定するDCW202内のカウント・フィールド値が総和される。加えて、移送コマンド・メタ情報(TCMI)の転送を指定するすべての移送コマンドDCW内のカウント・フィールド値(以下で詳細に説明)に、TCMI内の予約済みフィールドのサイズを加えた結果が、合計に加えられる。(TCMI予約済みフィールドのサイズはゼロであってよいことに留意されたい。)任意のTIDAW指定制御ブロック・チェック(CBC)または巡回冗長検査(CRC)バイトおよびパディング・バイトのカウントの合計が、総和に追加される。この総和は最も近い4の倍数に切り上げられ、切り上げられた総和は移送カウント値を得るように4だけ増加される。書き込み動作が指定される場合、移送カウント値は、次の4の倍数まで切り上げられたTCW出力カウント・フィールド158内の値に4を加えた結果に等しいはずである。読み取りまたは書き込みのどちらの動作も指定されない(TCW内のWビットおよびRビットの両方がゼロである)場合、移送カウント値はゼロのはずである。
双方向データ転送が指定される場合、DLフィールド186は書き込みカウントであり、転送されることになる合計出力データの32ビット符号なし整数カウントを指定する。TCAT182内のDLフィールド(書き込みカウント・フィールド)内の移送カウント値は、前述の書き込み動作の場合と同様に決定される。双方向読み取りデータ長さ(BRDL)フィールド188は、転送されることになる合計入力データの32ビット符号なし整数カウントを指定する。BDRLフィールド188の移送カウント値は、前述の読み取り動作の場合と同様に決定される。
一実施形態では、書き込み動作または双方向動作の場合、DLフィールドは、チャネルによって動作のために制御ユニットに転送されることになるバイト数を指定し、すべての中間および最終パッドおよびCRCバイトを含む、4バイト符号なし2進整数を含むものとし、COBが書き込み動作の第1の移送データIU内に含まれる場合、COB、任意のCOBパッド・バイト、およびCOB CRCバイトも含む。TTE DCWがTCA内に存在する場合、DLフィールドはTCAX、任意のTCAXパッド・バイト、およびTCAX CRCバイトも含む。
図8および図9は、それぞれ単方向および双方向の転送のための、TCW入力カウント、出力カウント、およびTCAT移送カウント値の決定をまとめた表である。
双方向動作の場合、送方向読み取りデータ長さ(BRDL)フィールドは、制御ユニットによって動作の為のチャネルに転送されることになるバイト数を指定し、まだワード境界上にない場合はワード境界に丸めるために必要な任意のパッド・バイトに、CRCに関する4バイトを加えた結果を含む、4バイト符号なし2進整数を含む。双方向動作でない動作の場合、デバイスは、移送コマンドIUがBRDLフィールドを含む場合、読み取りと書き込みの競合により、TCHコンテンツ・エラーを認識するものとする。
図10を参照すると、デバイス・コマンド・ワード(DCW)202が、実行されることになるコマンドを指定する。コマンドがあるI/O動作を開始する場合、動作が実行されるバイトのカウント、記憶との間で転送が完了すると必ず実行されるアクション、および他のオプションを指定する。DCWデータ転送動作に関連付けられた記憶領域は、コマンドによって指定される動作に応じて、DCW202を含むTCCB170を指定するTCW140の入力データ・アドレス・フィールド146または出力データ・アドレス・フィールド144によって指定される。入力データ・アドレス・フィールド146または出力データ・アドレス・フィールド144が記憶を直接または間接的のいずれで指定するかは、TCW140内の入力TIDAフラグおよび出力TIDAフラグによって指定される。
一実施形態では、DCW202は、ワード境界上のTCW140内に指定される8バイト制御ブロックである。DCW202は、コマンド・コード・フィールド204、制御フラグ・フィールド206、制御データ・カウント208、およびDCWデータ・カウント210などのフィールドを含む。
コマンド・コード・フィールド204(たとえばワード0のビット0〜7)は、実行されることになる動作を指定する。コマンドが有効かどうかはデバイスに依存し、TCAH 178内のサービス・アクション・コード・フィールド198の値に依存する。基本のコマンドは、読み取り、書き込み、制御、感知、および移送を含む。チャネル・サブシステム114は、制御、順方向出力(書き込み)、順方向入力(読み取り、感知、感知ID)、逆方向入力(逆方向読み取り)、分岐(チャネル内転送)、および移送の、動作を区別する。いくつかのコマンドは、実行された場合、結果としてデータを転送しないが、デバイスをチェイニングさせ、コマンドのチェイニングに関するすべての条件が満たされた場合、次のコマンドの実行を開始させる。それぞれの基本動作について、以下で説明する。
読み取りコマンドは、デバイスからチャネルへのデータ転送を実行するデバイス動作の実行を開始する。書き込みコマンドは、チャネルからデバイスへのデータ転送を実行するデバイス動作の実行を開始する。制御コマンドは、DCW内に提供された制御データを使用するデバイス動作の実行を開始する。感知コマンドは、データが記録ソースからではなく感知指示から取得される点を除いて、読み取りコマンドと同様である。制御コマンドおよび関連付けられた制御データは、特定のI/Oデバイスの管理およびI/Oコマンド実行中のデバイスの制御のために提供される。移送コマンドは、チャネル経路を介したI/O動作およびデータの転送を管理するために提供され、デバイス特有ではない。こうしたコマンドは、巡回冗長検査(CRC)データおよび移送データIU内の追加のDCWの移送などの、制御ブロック・チェック・データの移送を管理する。
制御データ(CD)カウント・フィールド208は、DCW202に関連付けられた制御データ・バイトの数を指定する。たとえばワード0のバイト3は、バイト単位で制御データの長さを指定する。コマンド・コードが制御データを必要とするコマンドを指定し、ワード0のバイト3がコマンドに必要なカウントより少ない制御データ・カウントを指定した場合、ユニット・チェック条件またはTCCBコンテンツ・エラーが認識される。コマンド・コードが制御データを必要とするコマンドを指定し、ワード0のバイト3がゼロを含むか、またはTCAの終わりを過ぎた(または指定されたTCAXの終わりを過ぎた)データを指定する値を含む場合、デバイス検出プログラム・チェック条件またはTCCBカウント・エラーが認識される。
DCWデータ・カウント・フィールド210は、現在のDCW202に対してTCWによって指定されるデータ(読み取りまたは書き込み動作のために転送されることになるデータ、すなわち顧客データ)のバイト・カウントを指定する。たとえば、DCWデータ・カウントは、図10のDCW202のワード1に含まれ、このDCWについてTCWによって指定される記憶領域内のバイトの32ビット符号なし整数カウントを指定する。DCWデータ・カウント・フィールド210は、いずれのパッドまたはCRCバイトも含まない、DCWの実行中にチャネルと制御ユニットとの間で転送されることになるバイト数を示す。
図11を参照すると、一実施形態では、DCW202は様々な制御フラグ206を含む。チェーン・コマンド(CC)フラグ212は、コマンドのチェイニングを実行するための目的を指定する。現行のデバイス動作の通常の完了時、およびデバイスでのデバイス・エンドの認識後、コマンドのチェイニングによってTCA180内の次のDCW202が実行される。TCA内の最後のDCW内で、CCフラグ212はゼロに設定される。図10の実施形態では、ワード0のビット9(CCビット)が1の場合、コマンドのチェイニングを指定する。1の場合、現行のDCWの通常の完了時に、ビットは次のDCWによって指定された動作を開始させる。制御データ・カウントがゼロの場合、次のDCWはTCAまたはTCAX内のDCWの直後に続く。制御データ・カウントがゼロでない場合、次のDCWは、ワード境界に丸められDCW用に指定された制御データの直後に続く。チェーン・コマンド・フラグが1の場合、一実施形態では、TCA内またはTCAX内の次のDCW位置は、8およびCDカウント・フィールド内の値を現行DCWの位置に追加すること、および、最も近いワード境界に切り上げることによって、決定される。TCA内のDCW内でチェーン・コマンド・フラグが1であり、次のDCW位置がTCAの終わりを過ぎており、TCAXが指定されている場合、次のDCWは指定されたTCAXの始めにある。
一実施形態では、制御フラグ・フィールドは抑制長さ指示(SLI)フィールド214を含む。DCW誤り長さ機構がチャネル128および制御ユニット118によってサポートされている場合、コマンド・チェイニングが誤り長さ条件で発生するかどうか、および、誤り長さ条件が制御ユニット118によって検出された場合に誤り長さが制御ユニットによって移送応答IU内に示されるかどうかを制御するビット(たとえばビット2)が、SLIフラグ・フィールド214内に提供される。DCWデータ・カウントが書き込みDCWのためのデバイスによって必要とされるデータ量に一致しない場合、または、DCWデータ・カウントが読み取りDCWのためのデバイスで使用可能なデータ量に一致しない場合、制御ユニットによって誤り長さ条件が検出される。DCW誤り長さ機構がチャネルおよび制御ユニットによってサポートされていない場合、ビット2が予約され、チャネルによってゼロに設定され、制御ユニットによって無視される。SLIフラグ214が1であり、現行のDCWについて誤り長さ条件が存在する場合、示されていればコマンド・チェイニングが許可されるものとし、制御ユニットは次に続くDCWの実行を続行する。SLIフラグがゼロであり、DCWについて誤り長さ条件が存在する場合、示されていればコマンド・チェイニングは許可されず、制御ユニット118はI/O動作を中止する。DCW202について誤り長さ条件が存在し、DCW内のSLIフラグ214が1に設定された場合、以下で説明するようにデータ転送が実行され、そうでなければ動作は終了され、その動作について異常終了条件が報告されるものとする。
読み取りDCW202の場合、DCWデータ・カウントがコマンドについてデバイス116で使用可能なデータ量よりも多い場合、以下のように適用される。CCフラグ212が1である(チェイニングが示される)場合、デバイス116で使用可能なデータはチャネル128に転送され、DCW202について転送されるデータの量がDCWデータ・カウントに等しいように、パッド・バイト(ゼロに設定される)が転送される。パッド・バイトを含むすべての転送されたデータは、動作に必要なCRCの任意の計算に含まれる。CCフラグ212がゼロ(チェイニングが示されない)の場合、デバイスで使用可能なデータはチャネルに転送されるものとし、DCWについて転送されるデータの量がDCWデータ・カウントに等しいように、追加のデータが転送されないかまたはパッド・バイト(ゼロに設定)が転送されるものとする。転送されるデータに任意のパッド・バイトを加えた結果が、動作に必要なCRCの計算に含められるものとする。この場合、パッド・バイトが転送されるかどうかはモデルに依存する。DCWデータ・カウントがコマンドについてデバイスで使用可能なデータ量よりも少ない場合、DCWデータ・カウントに等しいデータ量のみがDCW202用のチャネル128に転送される。転送されるデータのみが、動作に必要なCRCの計算に含められるものとする。
書き込みDCW202について、DCWデータ・カウントがコマンドについてデバイス116が必要とするデータ量よりも多い場合、以下のように適用される。CCフラグ212が1である(チェイニングが示される)場合、DCWデータ・カウントによって指定されるデータ量が制御ユニット118に転送されるものとする。転送されるデータは、動作に必要な任意のCRCの計算に使用されるものとし、デバイス116が必要としないデータは廃棄される。CCフラグがゼロである(チェイニングが示されない)場合、デバイス116が必要とするデータ量が制御ユニット118に転送される。次の中間CRCワードまで、またはDCWについてのデータ・カウントが使い尽くされるまで、追加のデータが転送される。転送されるすべてのデータは、動作に必要な任意のCRCの計算に使用される。DCWデータ・カウントがコマンドについてデバイス116が必要とするデータ量よりも少ない場合、DCWデータ・カウントによって指定されるデータ量が制御ユニット118に転送される。転送されるデータは、動作に必要な任意のCRCの計算に使用される。
移送コマンドDCWは、特定のデータ転送コマンド(すなわち、ホスト・コンピュータ命令によって転送されるように要求される顧客データ)は指定しないが、移送モードI/O動作に関連付けられたサポート機能を実行する移送コマンドを指定するタイプのDCWである。移送コマンドDCWは制御データを指定することが可能であり、移送コマンド・メタ情報(TCMI)の転送も指定することができる。TCMIは、デバイスでのI/O動作の状況、現行のTCCBに適合しないかまたは収容可能な追加のDCWに関する情報、および、巡回冗長検査(CRC)データなどの制御ブロック・チェック(CBC)情報などの、I/O動作において転送機能を制御するために使用されるデータを含む。
移送コマンドDCWがデバイスへのTCMIの転送を指定した場合、TCMIは(たとえば移送データIU内の)出力データとして転送される。TCMIのサイズはコマンドに依存し、たとえば4の倍数である。TCMIのサイズが4の偶数倍であり、出力記憶領域を指定するためにTIDAWが使用され、TCMIを含む記憶を指定するために使用される最後のTIDAW内の挿入CBCフラグが1であり、TCMIを指定する移送コマンドDCW内のチェーン・コマンド・ビットが1であり、さらに後続のDCWがTCMIまたは出力データの転送を指定する場合、TCMIは予約済みの4バイトだけ拡張可能である。移送コマンドがデバイスへのTCMIの転送を指定し、前述のすべての条件が満たされたため、TCMIが保存済みの4バイトだけ拡張される場合、保存済みの4バイトは移送コマンドDCW内のデータ・カウント値には含まれないが、TCMIを含む記憶を指定するために使用される最後のTIDAW内のカウント値、TCW内の出力カウント値、および関連付けられたTCCB内の移送カウント値(単方向データ転送の場合、または双方向転送の場合は関連付けられたTCCB内の書き込みカウント値)に含まれる。
一実施形態では、TCMIは問い合わせ情報(問い合わせDCWを介して)、CBCオフセット・ブロック(転送CBCオフセット・ブロックDCWを介して)、およびTCA拡張(転送TCA拡張DCWを介して)を含む。
図12は、TCCB170のTCA180に含まれ、制御ユニット118に転送されることになるTCA拡張(TCAX)220を指定する、転送TCA拡張(TTE)コマンドと呼ばれる1つのタイプの移送コマンドDCWによって指定されるデータの実施形態を示す。TCAXはTCA180の論理拡張とみなされる。いくつかのデバイス116の場合、I/O動作に関連付けられたDCW202のリストは、TCA180内に収容可能なDCWの数を超える。こうしたインスタンスでは、TTE DCWは、(たとえばデータ移送IU内の)出力データとして転送されるTCAX220を指定するTCW140の終わりに含めることができる。TTE DCWのコンテンツは、移送TCA拡張コマンド(たとえば16進50の値)を含むことができる。
たとえば、TCA180は最大サイズが240の可変長であり、DCWは8バイトである。したがってこの例では、TCCB170内で最大30DCWが伝送可能である。しかしながら、制御データを必要とする制御コマンドを指定するDCW202の場合、制御データはTCCB内の各DCW202の直後に続く。したがって、こうしたコマンドを含むTCCB170は30DCW未満に限定される。TTE DCWは、TCA180に適合しないI/O動作に必要な追加のDCWを指定するために使用できる。
図12に示されるように、TCA拡張(TCAX)は、別の移送コマンドIUまたはTCCB内のTCA180の論理継続である可変長領域であり、DCWのリストおよび関連付けられた制御データを含む。TCAXは、(初期のTCCB内で転送されたものに加えて)TCW I/O動作に関する1つまたは複数の追加のDCWおよび関連付けられた制御データを含み、I/O動作に必要なDCWのリストを拡張するために別のTCCB内または移送データIU内で送信可能である。一実施形態では、TCAXの長さは4の整数倍である。
図12に示されるように、一実施形態では、TCAX220は、DCW202あるいは前のDCW202についての制御データまたはその両方を含む。TCAX220内の最後の情報がDCW202である場合、そのDCW202の終わりがTCAX220内の有意な情報の終わりを画定する。TCAX220内の最後の情報が制御データであり、制御データが4バイト境界上で終わる場合、制御データの終わりがTCAX220内の有意な情報の終わりを画定する。TCAX220内の最後の情報が制御データであり、制御データが4バイト境界上で終わらない場合、4バイト境界に達するように制御データにパディング・バイトが付加され、パディング・バイトの終わりがTCAX220内の有意な情報の終わりを画定する。4で分けられるTCAX220内の有意な情報のサイズが奇数である場合、予約済みバイトは存在せず、奇数でない場合、TCAX220内の有意な情報の直後に続く4バイトは予約済みであり、ゼロを含むものとする。TCA180内の最後のDCW202についての制御データがTCAX220に含まれる場合、その制御データはTCAX220内の最初のデータである。TCAX220内の追加のDCWおよび制御データは、TCA180に関して画定されたものとして処理される。
一実施形態では、TCA180内にTCOB DCW(以下で詳細に説明する)が存在しない場合、TTE DCWはTCA180内の最初のDCW202である。TCA180内にTCOB DCWが存在する場合、TTE DCWはTCA180内の第2のDCW202である。TTE DCWデータ・カウントはTCAX220の長さを指定し、4の整数倍のバイトとすることができる。TTE DCW制御データ・カウントはゼロであり、TTE DCW内のチェーン・コマンド・フラグは1に設定される。TTE DCWデータは、TCAX CRCまたはTCAXパッド・バイトを含まない。
TTEコマンド(TTE DCW)は、TTEコマンドについてのサポートを示すデバイスに送信されるものとし、TCA長さがある最大値(たとえば60ワード)を有し、TCA内の最後のDCWについての制御データがTCA内の最後のバイトを越えて延在するか、またはTCA長さがたとえば58ワードより長く、1つまたは複数の追加のDCWがI/O動作に必要である場合に、送信される。COBが書き込み移送データIU内に提供される場合、TCAXはCOB CRCに続くものとする。COBが提供されない場合、TCAXはI/O動作の第1の書き込み移送データIU内で送信されるものとする。
別のタイプのDCWは転送CBCオフセット・ブロック(TCOB)DCWであり、CBCオフセット・ブロック(COB)を制御ユニットに転送するコマンドである。CBCデータは、I/O動作において正しい量の入力または出力データが転送されていることを検証するために使用される、制御ブロック・チェック・データを表す。一実施形態では、CBCデータは巡回冗長検査(CRC)データであり、COBはCRCオフセット・ブロックであり、TCOB DCWは転送CRCオフセット・ブロックDCWである。一般に、巡回冗長検査(CRC)は、チャネル128と制御ユニット118との間で送信されているロー・データに対する偶発的な変更を検出するように構成された、エラー検出コードである。CRC実行可能デバイス(たとえばチャネル128)は、送信または記憶されることになるデータの各ブロックについて、短い固定長の2進シーケンスを計算し、これをデータに付加して、コードワードまたは「CRCワード」を形成する。たとえば、CRC生成が提供される場合、チャネル128は送信されるデータ上にCRCを生成し、最後のデータ・バイトの終わりに計算された値を挿入する。CRCワードが受信されるかまたは読み取られる場合、受信側デバイス(たとえば制御ユニット118)は、そのチェック値をデータ・ブロックから新しく計算された値と比較するか、または同等に、コードワード全体でCRCを実行して、その結果として生じるチェック値と予測される剰余定数とを比較する。チェック値が一致しない場合、ブロックは転送されるデータ内にエラーを含む。CBCデータは、本明細書の実施形態で説明されるが、そのように限定されるものではない。
図13に示されるように、COB222は書き込みまたは読み取りデータ転送に関する移送データ内(たとえば移送データIU内)の中間CRCワードの位置を指定する。一実施形態では、TCA180内の第1のDCW202がTCOBコマンド、すなわちTCOB DCWを含む場合、COBが提供される。中間CRCオフセットは、データ転送IU内のデータ間に配置され、IUの終わりよりも前に配置される、CRCワードである。COB222は、CRCオフセット224と呼ばれ、それぞれが移送データ内の各中間CRCワードのバイト・オフセットを識別する、1ワード値のリストを含む。たとえばCOBは、それぞれが、出力データに挿入されることになるTIDAWによって指定されるCRCのオフセットを識別する、4バイト・エントリのリストを含む可変長制御ブロックである。
図13に示される実施形態では、COB222は1からN+1ワード(CRCオフセット・ワード224)の中間CRCオフセットを含む。移送データUI内にCOB222が提供される場合、COBも0または1ワードのパッド・バイトおよび1ワードのCRCを含むことができる。パッド・バイトは、CRCを含むワードがダブルワード境界上でないワード境界上となるように、提供可能である。COBの最終ワードは、存在する場合は、中間CRCオフセット0からNおよびパッド・ワードをカバーする、CRCを含むものとする。COBがTCOB DCWについての制御データとして提供される場合、COBパディングまたはCRCは存在しないものとされ、制御データ・カウントはCOB内の中間CRCオフセット・フィールド数の4倍に等しいものとされる。
書き込み動作の場合、TCOB DCWは、COBがデバイス116に移送されることを指定する。TCOB DCWコマンド・コードは、たとえば16進60の値であるTCOBコマンドを含む。COBの位置は制御データ・カウントによって決定され、I/O動作の第1の書き込み移送データIU内に、またはI/O動作のTCOB DCWに続く制御データとして、提供可能である。たとえば、TCOB DCWのCDカウントがゼロでない場合、COB222はTCA180内のTCOB DCWの直後に続き、CDカウントはCOB内のCRCオフセットを4倍した数を指定する。CDカウントがゼロの場合、COB222は出力データと共に転送されるTCMIとして指定され、COBの位置はTCW140内の出力データ・アドレス・フィールド144によって指定される。
COB222内の各中間CRCオフセット224は、移送データIU内のデータの第1のバイトからの相対的オフセットをバイト単位で示す。COB222が移送データIU内に提供される場合、書き込み転送に関するデータの第1のバイトは、TCAX220が提供されていない場合はCOB CRCに続く第1のバイト、または、TCAXが提供されている場合はTCAX CRCに続く第1のバイトの、いずれかである。COBがTCA180内にDCW制御データとして提供される場合、書き込み転送に関するデータの第1のバイトは、TCAX220が提供されていない場合は移送データIU内の第1のバイト、または、TCAX220が提供されている場合はTCAX CRCに続く第1のバイトの、いずれかである。移送データIU内に提供される場合、COBはI/O動作の第1の書き込み移送データIU内に提供される。
さらに他のタイプの移送コマンドDCWは、デバイス116でTCW I/O動作の状態を決定するために使用される問い合わせDCWである。問い合わせコマンドは、デバイス116で動作を開始せず、デバイス116の状態に影響を与えず、デバイス116および関連付けられた論理経路に関連付けられた忠実さ(allegiance)をリセットしない。例示的問い合わせDCWは、(16進40の値を含む)問い合わせコマンド・コードを含む。コマンド・コード・フィールド、カウント・フィールドおよびCDカウント・フィールドを例外として、DCW内の他のすべてのフィールドはゼロを含むはずであり、そうでない場合は、デバイス検出プログラム・チェック条件である。問い合わせDCWのCDカウントがゼロより大きい場合、問い合わせデータが指定される。
問い合わせ動作は、論理経路およびデバイス116上で実行され、デバイス116での動作の状態に関する情報を取得するために、進行中のTCW I/O動作を有する。一実施形態では、問い合わせ動作についてのTCCB170は、問い合わせデバイス・コマンド・コード(たとえばX’40)を伴う単一DCWを含む。問い合わせ動作についてのTCAH 178は、動作に関する読み取りデータ転送を指定するために1に設定されたRビットを含むことができる。制御ユニット118が問い合わせコマンドを指定する移送コマンドIUを受け入れる場合、制御ユニット118で問い合わせ動作が認識される。制御ユニット118で問い合わせ動作が認識され、制御ユニット118が問い合わせコマンドを正常に実行できる場合、制御ユニット118は、問い合わせ移送コマンドIUによって指定された論理経路およびデバイス・アドレスの状態を記述する問い合わせ拡張状況を含む状況を、移送応答IU内に提供することができる。
図14を参照すると、移送モードI/O動作を実行する方法の実施形態300が示される。方法は、1つまたは複数のステージ301〜305を含む。一実施形態では、方法は、記述された順序でのすべてのステージ301〜305の実行を含む。しかしながらあるステージは省略可能であり、ステージは追加可能であり、またはステージの順序は変更可能である。
ステージ301で、ホスト・コンピュータ(たとえばOS110)は、ORBをチャネル・サブシステム114に転送させる命令(たとえば、START SUBCHANNEL)を実行し、TCW140を指定する。一実施形態では、状況の取り込みおよび指定されたTCCB170の移送に特有のTCWフィールドの妥当性に関するプログラム・チェック条件が、チャネル・サブシステム114によってチェックされ、TCCB170をI/Oデバイス116に移送するかどうかを決定する。こうしたプログラム・チェック条件が存在する場合、TCCB170は移送されず、プログラム・チェック条件が認識される。たとえば、TCCBアドレス・フィールド148は、使用可能な記憶位置を指定することがチェックされる。TCCB−TIDAフラグが1の場合、TCCBアドレス・フィールド148は、クワッドワード境界上にあるアドレスを指定することもチェックされる。追加のプログラム・チェック条件について、以下でさらに詳細に説明する。
ステージ302で、チャネル128が、移送コマンド制御ブロック(TCCB)170などの制御ブロックおよび関連付けられたTCW140に関する制御情報を含む移送コマンドIU172を、選択されたデバイス116に転送する場合、TCW I/O動作がI/Oデバイスによって(たとえば制御ユニット118を介して)開始される。一実施形態では、I/O動作およびデバイスの動作の実行に関連付けられた情報(たとえば、コマンド、入力データ、および出力データ)は、チャネル128と制御ユニット118との間で情報ユニット(IU)として転送される。一実施形態では、IUはSB−4情報ユニット(IU)の形である。
一実施形態では、IUまたは他のメッセージは、チャネルと制御ユニットとの間で1つまたは複数の交換を介して送信される。1つはIUを送信するためにチャネル128によって使用され、1つはIUを送信するために制御ユニット118によって使用される、2つの単方向交換からなる交換ペアは、共通モードで実行されるすべてのSB−4リンク制御機能およびすべてのSB−4デバイス・レベル機能に必要である。移送交換と呼ばれる単一の双方向交換が、移送モードで実行されるデバイス・レベル機能に使用される。共通モードでのSB−4リンク制御機能の実行中またはSB−4デバイス・レベル機能の実行中に、チャネル128が送信するIUは、1つの交換に制限され、動作中にチャネルが受信するIUは異なる交換に制限される。チャネル128がIUを送信する交換はアウトバウンド交換と呼ばれ、チャネル128がIUを受信する交換はインバウンド交換と呼ばれる。アウトバウンド交換およびインバウンド交換の両方が、同じリンク・レベル機能またはデバイス・レベル機能の交換のためにチャネル128と制御ユニット118の間で同時に存在する場合、交換ペアが存在すると考えられ、制御ユニット118がチャネル128に接続されていると考えられる。単一接続内で実行されるチャネル・プログラムは、1つの交換ペアのみを使用する。チャネル・プログラム中に交換を閉じることによって接続が除去される場合、チャネル・プログラムを完了するために新しい交換ペアが生成される。チャネル128は、新しい交換(または開始IU)を非請求(unsolicited)コマンドまたは非請求制御情報カテゴリとして開くIUを送信することによって、交換ペアを開始することができる。制御ユニット118は、開始IUを非請求制御情報カテゴリまたは非請求データ情報カテゴリとして送信することによって、交換ペアを開始することができる。
移送モードで実行されるI/O動作の実行中にチャネルおよび制御ユニットが送信するUIは、移送交換と呼ばれる単一の双方向交換に制限される。チャネル128は、移送コマンドIUを非請求コマンド・カテゴリとして送信することによって、移送交換を開く(開始IU)。チャネル128は、それぞれが異なるデバイス116のため、または異なる論理経路上の同じデバイス116のための、複数の移送交換を開くことができる。
問い合わせ動作を実行するために、移送交換が論理経路およびその上の特定のデバイスに関してすでに存在する場合、その論理経路上の特定のデバイスのために新しい移送交換を開くことが可能であり、存在しない場合、チャネル128は既存の移送交換または交換ペアが閉じられるまで待機した後、論理経路上のデバイスのために新しい移送交換を開始する。
ステージ303で、制御ユニット118はTCCB170および移送コマンドIU172を受信し、ある条件に合致する場合、TCCB170を受け入れることができる。移送コマンドIU172が受け入れられた場合、制御ユニット118でTCCB170の実行が完了したものとみなされるまで、TCCB170は制御ユニット118で現行であるものとみなされる。エラー条件のために移送コマンドIU172が受け入れられない場合、デバイス116でTCCB170の実行を開始する以前にエラーが発生したことを示すように初期状況フラグが1に設定された状態で、移送応答IUがチャネル128に戻される。制御ユニット118は、移送コマンドIUエラーを識別するために、移送応答IU(以下で説明される)内の状況フィールドおよびI/O拡張状況フィールド内にエラー情報を提供することができる。一実施形態では、移送コマンドIU172が制御ユニット118で受け入れられるために、以下で説明される例示的条件が満たされなければならない。
1)移送コマンドIUが以下の整合性チェックを満たす。
a)双方向動作をサポートしない制御ユニットの場合、TCH内のLIフィールドに8を加えた結果が、移送コマンドIUについて制御ユニットによって受信されるデータ量に等しいデータ量を指定するものとし、そうでない場合、データ・カウント・エラーによる移送コマンドIU整合性エラーが認識されるものとする。
b)双方向動作をサポートする制御ユニットの場合、TCH内のLIフィールドに8または9を加えた結果が、移送コマンドIUについて制御ユニットによって受信されるデータ量に等しいデータ量を指定するものとし、そうでない場合、データ・カウント・エラーによる移送コマンドIU整合性エラーが認識されるものとする。
c)TCCB内のLRCフィールドは有効であるものとし、有効でない場合、無効LRCエラーによる移送コマンドIU整合性エラーが認識されるものとする。
2)指定された論理経路が確立されるものとし、確立されない場合、論理経路非確立エラーが認識されるものとする。
3)デバイスがインストールおよび準備されることを要求するコマンドの場合、デバイス・アドレスはインストールおよび準備されるデバイスを指定するものとし、指定されない場合、アドレス例外条件が認識されるものとする。
4)双方向データ転送が制御ユニットによってサポートされていないかまたは移送コマンドIUがBRDLフィールドを含まない場合、RビットおよびWビットはどちらもTCH内で1に設定されないものとする。
5)移送コマンドIU内のTCCBが以下のすべての条件を満たすものとし、満たさない場合、TCCBコンテンツ・エラーが認識されるものとする。
a)L2フィールドが、L1フィールドより厳密に8バイト大きい長さを指定し、少なくとも20バイトであり252バイトを超えない値を含むものとする。
b)TCAHのワード0のバイト1がゼロであるものとする。
c)TCAH内のフォーマット制御フィールドが16進「7F」に等しいものとする。
d)TCAH内のサービス・アクション・コードが有効値を含むものとする(8.13.4.4を参照のこと)。
e)RビットおよびWビットがどちらもゼロに設定される場合、データ長さ(DL)フィールドはゼロであるものとする。
6)別のTCW I/O動作が、移送コマンドIU内に指定された論理経路およびデバイス・アドレスについて進行中である場合、サービス・アクション・コードが16進「1FFF」を指定するものとし、さらにTCAの第1のDCW内のコマンド・コードが問い合わせコマンド・コードを指定するものとし、そうでない場合、非問い合わせ第2動作エラーが認識されるものとする。
一実施形態では、チャネル128は、移送コマンドIU172が送信された場合に接続が存在するものとみなし、制御ユニット118は、移送コマンドIU172が受け入れられた場合に接続が存在するものとみなす。したがってチャネル128は、I/O動作が移送応答IUを用いて制御ユニット118によって終了されるまで、制御ユニット118がTCCB170を受け入れたかどうか、またはデバイス116でのI/O動作の進行に気付かない。一実施形態では、チャネル128は、制御ユニットからの応答を受信するための時間ウィンドウを設定することができるため、チャネルがウィンドウ内で移送応答IUを受信しない場合、チャネルは移送コマンド・タイムアウトを認識する。
ステージ304で、TCCB170が受け入れられた場合、制御ユニット118はTCA180を処理し、各DCW202を実行する。実行されているDCW202が現行のDCWとして認識される。DCW202は、移送モード・プログラムの第1のDCW(すなわちTCCB内の第1のDCW)であり、I/Oデバイス116によって実行用に選択された場合、または、コマンド・チェイニング中に後続のDCW202がI/O動作の制御を引き継ぐ場合、現行となる。実行されることになる第1のDCWは、TCCB170内のTCA180のオフセット・ゼロに位置するものとみなすことができる。チャネル・プログラム内の追加の各DCWはTCA180内(またはTCAX220内)に配置され、I/Oデバイス116によってDCWが必要とされる場合に使用される。
コマンド・チェイニングは、DCW内のDCWチェーン・コマンド(CC)フラグによって制御される。このフラグは、現行のDCWが使い尽くされた時に講じるアクションを指定する。チェイニングは、TCA内の連続するDCW間で実行される。TCAXが指定される場合、チェイニングは、TCA内の最終DCWとTCAX内の第1のDCWとの間、およびTCAX内の連続するDCW間でも実行される。現行のDCWがコマンド・チェイニングを指定し、動作中に異常な条件が検出されない場合、現行DCWの完了によって、次のDCWが現行DCWとなり、デバイスによって実行される。TCAXが指定され、次のDCWのオフセットがTCAの終わりを越えた場合、チェイニングはTCAXの第1のDCWを続行し、そのTCAXオフセットは、算出されたオフセットからTCA長さを減じることによって決定される。したがってコマンド・チェイニングは、TCAオフセットの、およびその後TCAXが指定された時にTCAXオフセットの、昇順で進行する。アテンション、ユニット・チェック、ユニット例外、または誤り長さなどの条件が発生した場合(DCW内のSLIフィールド214が活動化されない限り)、一連の動作は終了し、現行動作に関連付けられた状況によって割り込み条件が生成される。この場合、新しいDCWは実行されない。
I/O動作を介して転送するように要求されたデータは、TCCB170内でのDCW202の処理中に、チャネル128と制御ユニット118との間で1つまたは複数の移送データIUを介して送信される。読み取り動作は、読み取りデータ転送のみを実行し、書き込み動作は書き込みデータ転送のみを実行し、双方向動作は読み取りおよび書き込みの両方のデータ転送を実行することができる。
図15を参照すると、書き込み動作または双方向動作の場合、チャネル128は、動作に関する書き込みデータ312を転送するために、1つまたは複数の移送データIU310を制御ユニット118に送信する。読み取り動作または双方向動作の場合、制御ユニット118は、動作用に指定された読み取りデータ316を転送するために、少なくとも1つの移送データIU314をチャネル128に送信する。パッド・バイト318は、それに関してCRCが計算され、カバーされることになるデータ領域が整数のデータ・ワードでない場合、データ領域を次のワード境界にパディングするために使用される、データ領域の最終ワードに含めることができる。これは、COB、中間および最終のCRCによってカバーされることになるデータ領域に適用される。パッド・バイトに使用される値はモデル依存型である。
移送データIUがTCW I/O動作のためにチャネル128または制御ユニット118によって送信される最後の移送データIUである場合、最終CRCフィールド320は移送データIU310、314に含められる。一実施形態では、最終CRCフィールド320はワード整合済み32ビット巡回冗長検査コードを含む。読み取り動作または書き込み動作の場合、TCCB170内のDLフィールドは、すべての必要なパッド・バイトおよびCRCバイトを含むことができる動作中に転送されることになるデータの量を指定する。双方向動作の場合、TCCB170内のDLフィールドは、動作の書き込みデータ転送部分について転送されることになるデータの量を指定し、BRDLフィールドは、動作の読み取りデータ転送部分について転送されることになるデータの量を指定する。これらの量は、すべての必要なパッド・バイトおよびCRCバイトを含むことができる。
書き込みまたは双方向データ転送中に、出力データは、TCW I/O動作に関連付けられた移送交換で、1つまたは複数の移送データIU310内で制御ユニット118に転送される。一実施形態では、第1の転送準備済みが使用不能の場合、動作の第1の書き込み移送データIU310を除き、チャネル128は、各移送データIU310の送信に先立ち、制御ユニット118からの転送準備済みIUを必要とする。制御ユニット118は、書き込み動作に関してTCCB170のDLフィールド186によって指定されたすべてのデータを要求するまで、追加の転送準備済みIUを送信することによって、追加のデータを要求することができる。書き込み動作の場合、TCCB内のDLフィールドによって指定されたデータ転送の完了に続き、制御ユニット118によって送信される次のIUは、移送応答IUである。双方向動作の場合、TCCB内のDLフィールドによって指定されたデータ転送の完了に続き、制御ユニット118によって送信される次のIUは、移送データIUまたは移送応答IUとすることができる。
読み取りデータ転送中、データは、TCW I/O動作に関連付けられた移送交換で、1つまたは複数の移送データIU314内でチャネル128に転送される。各移送データIU内で送信されるデータの量は制御ユニット118によって決定され、動作のためにすべての移送データIU314内で転送されるデータの合計量が、DLフィールド186内の値を、または双方向動作の場合BRDLフィールド188内の値を超えない限り、任意の値に設定されてよい。読み取り動作では、制御ユニットによって送信されるデータの量がTCCB内のDLフィールドより少ない場合、移送応答IU内のDL残余カウントは、CUによって送信されるデータの量とTCCB内のDLフィールドとの間の差異であるものとされる。チャネルは、移送応答IU内の制御ユニットによって提供される残余カウントが、DLとチャネルによって実際に受信されるバイト数との間の差異に合致しない場合、デバイス・レベル・プロトコル・エラーを認識する。
書き込みおよび双方向動作の場合、移送応答IU内のDL残余カウントは、チャネルによって送信されるデータの量とTCCB内のDLフィールドとの間の差異であるものとされる。チャネルは、移送応答IU内の制御ユニットによって提供されるDL残余カウントが、DLとチャネルに実際に送信されるバイト数との間の差異に合致しない場合、デバイス・レベル・プロトコル・エラーを認識する。双方向動作では、制御ユニットによって送信されるデータの量がTCCB内のBRDLフィールドより少ない場合、移送応答IU内のBRDL残余カウントは、CUによって送信されるデータの量とTCCB内のBRDLフィールドとの間の差異であるものとされる。チャネルは、移送応答IU内の制御ユニットによって提供されるBRDL残余カウントが、BRDLとチャネルによって実際に受信されるバイト数との間の差異に合致しない場合、デバイス・レベル・プロトコル・エラーを認識する。
書き込みまたは双方向動作では、第1の転送準備済みが使用不能の場合、チャネルは移送コマンドIUのすぐ後に続いて移送データIUを送信する。第1の移送データIU後のチャネルからのすべての移送データIUでは、および、第1の転送準備済みが使用不能でない場合のチャネルからのすべての移送データIUでは、チャネルは、転送準備済みIUの受信後のみに、書き込み転送データIUを送信するものとする。チャネルは、各転送準備済みIUが受信された後、TCCBによって指定されたすべての書き込みデータが転送されるか、または移送応答IUが受信されるまで、移送データIUを送信するものとする。
読み取りまたは双方向動作では、制御ユニットは、動作用に指定された読み取りデータを転送するために少なくとも1つの移送データIUをチャネルに送信する。
双方向動作では、第1の転送準備済み使用不能が有効でない場合、制御ユニットは転送されることになる第1の移送データIUを選択する。制御ユニットは、移送データIUを要求するために転送準備済みIUをチャネルに送信するか、または移送データIUをチャネルに送信する。第1の転送準備済み使用不能が動作に対して有効である場合、チャネルは、移送コマンドIUに続いて移送データIUを送信する。
双方向動作では、書き込みおよび読み取りの両方のデータ転送が実行可能である。書き込みデータ転送および読み取りデータ転送は、前述のように実行可能である。第1の転送準備済み使用不能が有効である場合の第1の移送データIUを除き、チャネルと制御ユニットとの間のデータ転送は、読み取り移送データIUを送信することにより、または書き込み移送データIUを要求するために転送準備済みIUを送信することにより、制御ユニットによって制御される。
移送データIU内で送信するためにデータがホスト記憶からフェッチされる順序に対して、移送データIU内で受信されたデータがホスト記憶に記憶される順序は、双方向動作について予想不能な場合がある。
第1の転送準備済み使用不能が有効である場合に、または、転送準備済みIUを送信することによって制御ユニットがチャネルに移送データIUを要求する場合に、チャネルが第1の移送データIUを転送する場合、移送データIU内でチャネルによって送信されるデータは、TCA内での読み取りDCWの実行に続いて実行される書き込みDCW用とすることができる。
図15に示されるように、1つまたは複数の中間CRCワード320は、チャネル128によって送信される移送データIU310内に存在することができる。中間CRC320ワードは、TCA180によって指定されるデータ領域全体の伝送に先立ち、データ領域のCRCチェックを提供する。COB CRCワード322は、COB222が移送データIU内で転送されている場合、移送データIU310内に存在することができる。
再度図14を参照すると、ステージ305で、TCW I/O動作はチャネル128または制御ユニット118のいずれかによって終了される。チャネル128は、異常な状況またはプログラム開始による終了の結果として、TCW I/O動作の終了を開始することができる。制御ユニット128は、動作の実行完了の結果として、またはコマンドの実行中に検出された異常な状況の結果として、動作の終了を開始することができる。制御ユニット128は、移送応答IUを送信することによって、またはあるエラーの場合は交換の打ち切りによって、TCW I/O動作の終了を開始することができる。一実施形態では、制御ユニット118は、TCA180(および指定されている場合はTCAX)内のすべてのDCW202が実行されている環境、DCW誤り長さ機構がサポートされ、SLIフラグ214がゼロに設定された場合、誤り長さ条件が検出されている環境、ユニット・チェック条件が検出されている環境、移送エラーなどの異常な条件環境、または、交換が打ち切られることを必要とする別のエラーが認識された環境のうちの、いずれかの環境の下で、TCW I/O動作の終了を開始することができる。
図16〜図18は、制御ユニット118によって送信可能な例示的移送応答IU330を示す。移送応答IU330はTCW I/O動作に状況を提供し、この状況は、通常の終了状況、または、異常な条件が検出された場合、動作の異常終了の原因を示す終了状況を含むことが可能である。移送応答IU330は、動作にさらに状況を提供する、拡張状況フィールドも含むことができる。移送応答IUは、移送交換を閉じる場合、または閉じない場合がある。一実施形態では、移送応答IUによって交換が閉じられたかどうかが、FC−FS−3ヘッダ内に示される。移送交換が移送応答IUによって閉じられなかった場合、チャネルは、移送応答IUの受信後に交換を閉じる、移送確認IUを送信することができる。
一実施形態では、移送応答IU330はSB−4ヘッダ332と、それに続く状況フィールド334、状況LCR344、および、たとえば32から64バイトを含むオプションの拡張状況フィールド346とを含む。拡張状況が提供された場合、4バイト拡張状況LRCフィールド340は、移送応答IU330の最終ワードとして提供可能である。拡張状況バイトの数がワード境界上にない場合、次のワード境界に丸めるためにパッド・バイトは拡張状況に追加される。SB−4ヘッダ332は移送コマンドIUのそれと同様のフォーマットを有し、この交換のために移送コマンドIU内のSB−4ヘッダに等しく設定される。
図17を参照すると、状況領域334の実施形態は、たとえば20バイトであり、TCW I/O動作に関する情報を含む。「状況フラグ1」フィールド336は、TCW I/O動作中に検出された異常条件を報告するために、制御ユニット118によって設定された1つまたは複数の例外コードを含む。例示的なコードは以下を含む。
0−アドレス例外条件によるデバイス・レベル例外
2−論理経路非確立条件によるリンク・レベル拒否
3−リセット・イベント通知−リセット・イベントが、論理経路上および移送コマンドIUに関連付けられたデバイス上で生じた。このコードが移送応答IU内に設定された場合、制御ユニットはその状況に関する状況確認を要求する。状況確認が受信された場合、リセット・イベント条件は論理経路についてデバイスでリセットされ、それ以外の場合、リセット・イベント条件は保留のままである。
4−デバイス検出プログラム・チェック/IFCC−制御ユニットが、結果としてプログラム・チェックまたはIFCCが報告され得る条件を検出した。このカテゴリに入るエラーは、破損状態(たとえばTCCB整合性エラー)で到達した移送コマンドIU、書き込みデータについて検出された無効なCRC、および、問い合わせ動作ではない論理経路およびデバイス・アドレスに関する第2のI/O動作の受信を示す、エラーを含む。
5−デバイス検出プログラム・チェック−制御ユニットがTCHのコンテンツ内にエラーを検出した。
一実施形態では、状況フラグ1フィールド336は誤り長さ(IL)フラグ338を含む。DCW誤り長さ機構がチャネルおよび制御ユニットによってサポートされている場合、ビット0はILフラグであり、1に設定された場合、DCWオフセットによって示されるDCWに関する誤り長さ条件により、TCW I/O動作が終了したことを示すものとする。DCWデータ・カウントが書き込みDCWのためのデバイスが必要とするデータ量に一致しない場合、またはDCWデータ・カウントが読み取りDCWのためのデバイスで使用可能なデータ量に一致しない場合、制御ユニット118によって誤り長さが検出される。
一実施形態では、DCW202がSLIフラグ214を含む場合、ILフラグ338は、SLIフラグ214がゼロである場合、および、デバイス状況がユニット・チェック状況なしにチャネル・エンド状況を含む場合のみ、1に設定される。ILフラグ338が移送応答IU内で1に設定された場合、DCWオフセットは誤り長さ条件を含むDCWを識別し、DCW残余カウントは誤り長さDCWについて転送されたデータ転送の量があれば、これを示す。TCA内の誤り長さDCWに先行するDCWについてのデータ転送があれば、完了するものとし、転送されるデータ上のすべてのCRCチェックは以下で説明するように実行されるものとする。
誤り長さ条件を含むDCWが読み取りDCWである場合、チャネルに送信された最終移送データIUは、TCW I/O動作中にチャネルに転送されたすべての読み取りデータについてのCRCを含む。書き込みDCWがTCA内の誤り長さ読み取りDCWに先行する場合、それらの書き込みDCWに関するデータは制御ユニットによって受信されているものとし、CRCチェックはデータ上で実行されているものとする。誤り長さ読み取りDCWに続くTCA内の書き込みDCWに関するデータは、書き込みデータに関するCRCを取得するため、およびCRCチェックを実行するために必要なように、制御ユニットに転送されるものとする。
誤り長さ条件は、チャネルおよび制御ユニットによって誤り長さ機構がサポートされているかどうかにかかわらず、問い合わせコマンド、転送CRCオフセット・コマンド、またはTTEコマンドによって認識されない。
移送応答IU330は、データ長さ残余カウント(DLRC)フィールド340も含むことができる。書き込み動作および双方向動作の場合、DL残余カウントは、移送コマンドIU内のDLフィールドとチャネルから実際に受信されたバイト数との間の差異を指定する、32ビットの符号なし2進整数である。読み取り動作の場合、DL残余カウントは、移送コマンドIU内のDLフィールドとチャネルに実際に送信されたバイト数との間の差異を指定する、32ビットの符号なし2進整数である。
双方向動作の場合、BRDL残余カウント・フィールド342は、移送応答IU330内に含まれることもある。双方向動作の場合、BRDL残余カウントは、移送コマンドIU内のBRDLフィールドとチャネルに実際に送信されたバイト数との間の差異を指定する、32ビットの符号なし2進整数である。
状況フラグ3フィールド344は、関連付けられた移送モード動作に関する追加の情報を提供するために、制御ユニット118によって使用可能である。このフィールドは、可能な感知データを含む拡張状況が移送応答IU内で送信されたことを示すために、拡張状況送信済み(ESS)ビットを含むことができる。拡張状況は、ESタイプ・コード・フィールドなどのフィールドを含む拡張状況(ES)フラグを含む。タイプ・コードは、I/O状況(拡張状況領域は移送モードI/O動作に関する有効な終了状況を含む)、I/O例外(拡張状況領域は例外条件による移送モードI/O動作の終了に関する情報を含む)、および問い合わせ状況(拡張状況領域は問い合わせ動作に関する状況を含む)を含む。
ESフラグ内のESタイプ・コードがI/O例外である場合、ESは理由コード(RC)を含む。例示的な理由コードは、以下を含む。
1−TCCB整合性エラー:制御ユニットは、TCCBが破損状態で到達したことを決定した(状況フラグ1フィールド内に例外コード4が示される場合に提供される)。
2−無効なCRC検出:データの受信時に無効なCRCが検出された(状況フラグ1フィールド内に例外コード4が示される場合に提供される)。
3−誤りTCCB長さ指定(状況フラグ1フィールド内に例外コード5が示される場合に提供される)。
4−TCAH指定エラー(状況フラグ1フィールド内に例外コード5が示される場合に提供される)。
5−DCW指定エラー:拡張状況内のDCWオフセット・フィールドによって指定されたDCWにエラーが存在する(状況フラグ1フィールド内に例外コード5が示される場合に提供される)。
6−転送方向指定エラー:拡張状況内のDCWオフセット・フィールドによって指定されたDCWによって指定されたコマンドが、TCH内に指定された転送方向と一致しないデータ転送の方向を指定するか、または、TCH内でRビットおよびWビットの両方が1に設定され、双方向データ転送が制御ユニットによってサポートされていない(状況フラグ1フィールド内に例外コード5が示される場合に提供される)。
7−移送カウント指定エラー(状況フラグ1フィールド内に例外コード5が示される場合に提供される)。
8−2つのI/O動作がアクティブ:I/O動作がデバイスでアクティブである間に、第2の非問い合わせTCCBが実行のためにデバイスに移送された。RCQフィールドは意味を有さない。この理由コードは、状況フラグ1フィールド内に例外コード4が示される場合に提供される。
9−CRCオフセット・ブロック内の1つまたは複数のエントリが、中間CRCがデバイスあるいは実行されているコマンドまたはその両方に適切な位置にないことを示し、状況フラグ1フィールド内に例外コード4が示される場合に提供される。
拡張状況は、I/O例外の理由に関する追加の情報を提供する理由コード限定子(RCQ)も提供可能である。異なる理由コード限定子タイプを、TCCB整合性エラー、出力データCRCエラー、誤りTCCB長さ指定、TCAH指定エラー、およびDCW指定エラーなどの、異なるタイプのエラーに使用可能である。TCCB整合性エラーに関する例示的RCQは、以下を含む。
0−追加情報なし。
1−データ・カウント・エラー−移送コマンドIUについて転送されたデータの量が、双方向動作をサポートしていない制御ユニットに関してTCH内のL1フィールドに8を加えた結果によって指定されたデータ量と等価でないか、または、双方向動作をサポートしている制御ユニットに関してL1フィールドに8または9のいずれかを加えた結果によって指定された量と等価でない。
2−LRCエラー−移送コマンドIU上のLRCが無効である。
DCW指定エラーに関する例示的RCQは以下を含む。
1−予約済みフィールド指定エラー:ゼロを含む必要のあるDCW内の予約済みフィールドが非ゼロ値を含む。
2−フラグ・フィールド・コマンド・チェイニング指定エラー:コマンド・チェイニング・ビットが1であり、次のDCWのオフセットが、次のDCWのすべてまたは一部がTCAの終わりを超えて延在するようなオフセットであるか、または、コマンド・チェイニング・ビットがゼロであり、TCA内に3バイトを超える未使用のバイトが残っている。
3−制御データ・カウント指定エラー:CDカウントがTCAの終わりを超える制御データを指定する。
4−TCOB DCW位置エラー:第1のTCOB DCWがTCA内の第1のDCWでない。
5−TCOB DCW重複エラー:複数のTCOB DCWがTCA内に指定される。
6−TCOB DCW複数カウント指定エラー:CDカウントおよびDCWデータ・カウントの両方がゼロまたは非ゼロのいずれかである。
7−TCOB DCW方向エラー:TCOB DCWがTCA内に指定され、TCH内のWビットがゼロである。
8−TCOB DCWチェイニング・エラー:TCOB DCW内のチェーン・コマンド・ビットがゼロである。
9−TCOBカウント指定エラー:TCOB DCWが、非ゼロのCDカウントまたは4の倍数でないデータ・カウントを有する。
10−TTE DCW位置エラー:TCOB DCWが指定され、TCA内の第1のDCWではないTTE DCWに遭遇した、またはTCOB DCWが指定され、遭遇した第1のTTE DCWがTCA内の第2のDCWでなかった。
11−TTE DCW重複エラー:TCA内の複数のTTE DCWに遭遇した。
12−TTE DCW CDカウント指定エラー:TTE DCW内の制御データ・カウントがゼロでない値を指定する。
13−TTE DCWデータ・カウント指定エラー:TTE DCW内のデータ・カウントが、8未満の値または4の倍数でない値を指定する。
14−TTE DCW方向エラー:TTE DCWが指定され、TCH内のWビットがゼロである。
15−TTE DCWチェイニング・エラー:TTE DCW内のチェーン・コマンド・ビットがゼロである。
16−TCAX指定エラー:TTE DCWが指定され、以下のいずれかが真である。
TCAの長さが58ワード以下である、または
TCAの長さが59ワードであり、TCA内の最終DCWが制御データを指定し、制御データの長さが59ワードを超えて延在する、または
TCAの長さが最大長さの60ワードであり、TCA内の最終ワードがDCWの第1のワードを含む。
転送方向指定エラーに関する例示的RCQは、以下を含む。
1−読み取り方向指定エラー:DCWが入力動作を指定し、TCH内のRビットがゼロである。
2−書き込み方向指定エラー:DCWが出力動作を指定し、TCH内のWビットがゼロである。注−DCW指定は、TCOBまたはTTE DCWが指定され、TCH内のWビットがゼロである場合に認識される。
3−読み取り対書き込みの競合:TCH内のRビットおよびWビットの両方が1であり、制御ユニットが双方向動作をサポートしていないか、または制御ユニットが双方向動作をサポートしているが移送コマンドIUがBRDLフィールドを含まない、あるいは、RビットおよびWビットの両方が1でなく、移送コマンドIUがBRDLフィールドを含む。
移送カウント指定エラーに関する例示的RCQは、以下を含む。
1−読み取りカウント指定エラー:読み取り動作の場合、TCCB内のDLフィールドが、TCA内のDCWによって指定されたデータ・バイトにパッド・バイトおよびCRCを加えた結果の合計カウントに等しくない値を指定し、双方向動作の場合、TCCB内のBRDLフィールドが、TCA内の読み取りDCWによって指定されたデータ・バイトにパッド・バイトおよびCRCを加えた結果の合計カウントに等しくない値を指定する。
2−書き込みカウント指定エラー:TCCB内のDLフィールドが、TCA内の書き込みDCWによって指定されたデータ・バイトに、中間パッド・バイト、中間CRC、最終パッド・バイト、および最終CRCバイトを加えた結果の合計カウントに等しくない値を指定し、COBが書き込みデータ転送の第1の移送データIUに含まれる場合、このカウントは、COB、任意のCOBパッド・バイト、およびCOB CRCバイトを含む。TTE DCWがTCA内に存在する場合、このカウントはTCAXおよびTCAX CRCバイトも含む。
プログラム・チェックは、プログラミング・エラーがチャネル・サブシステムによって検出された場合に発生する。移送モード動作の場合、プログラミング・エラーはI/Oデバイス116によっても検出され、プログラム・チェックとして報告される。プログラム・チェック条件は、いかのいずれかの理由によるものとすることができる。
無効なTCW指定:以下のいずれかの条件が検出された場合、無効なTCW指定が認識される。
1.TCW内でゼロについてチェックされた予約済みフィールドがゼロを含まない。
2.TCWフォーマット・フィールド内に非ゼロ値が指定される。
3.TCW内の読み取りビットおよび書き込みビットがどちらも1であり、TCWフラグ・フィールドのビット10がゼロであり、さらにFCX双方向データ転送機構がインストールされていないか、または指定されたデバイスが双方向データ転送をサポートしていないかのいずれかである。
4.TCWフラグのビット10がゼロであり、TCW内のTCCB長さフィールドが12未満または244より大きい長さを指定する。
5.TCWフラグ・フィールドのビット10が1であり、さらに、TCWの書き込み動作(W)ビットがゼロであり、TCWの読み取り動作(R)ビットがゼロであるか、または双方がゼロである。
6.TCWフラグ・フィールドのビット10が1であり、指定されたサブチャネルが、ファイバ・チャネル・サービス要求を移送するように構成された制御ユニットに関連付けられていない。
TTE DCWが使用される場合、以下の条件のいずれかが存在する場合にデバイス検出プログラム・チェックが認識される。
1.TCOB DCWが指定されていない場合、TTE DCWがTCA内の第1のDCWでない。TCOB DCWが指定されている場合、TTE DCWがTCA内の第2のDCWでない。
2.TTE DCWが指定され、書き込み動作が指定されない(すなわち、TCW内のWビットがゼロである)。
3.TTE DCW内のチェーン・コマンド・フラグがゼロである。
4.複数のTTE DCWが指定される。
5.TTE DCW内の制御データ・カウント・フィールドがゼロを含まない。
6.カウント・フィールドが8未満または4の倍数でない値を含む。
7.TCAについて以下のいずれかが真である。
TCAが、移送コマンドDCWでない少なくとも1つのDCWを含まない。
TCAが、移送コマンドDCWでない1つまたは複数のDCWを含み、TCAの最終DCW内のチェーン・コマンド・フラグがゼロである。
TTE DCWが使用され、追加のTCMIあるいは出力データまたはその両方がTCAXの後に続く場合、以下が真のはずであり、そうでない場合、デバイス検出プログラム・チェックが認識される可能性がある。
TCW内の出力TIDAフラグ(フラグ・ビット7)が1でなければならない。または
TIDAが、TCAXの転送およびデータの転送に使用される場合、TCAXの転送に使用される最終TIDAWまたは専用TIDAW内で挿入CBC制御が1に設定されなければならない。TIDAWがTCAXのみの転送に使用される場合、最終または専用TIDAW内で挿入CBC制御を設定する必要がない。
TCAの処理中、以下のいずれかの条件が検出された場合、TCCBコンテンツ・エラーが認識される可能性がある。
1.遭遇する第1のTCOB DCWがTCA内の第1のDCWではない。
2.TCA内で第2のTCOB DCWに遭遇する。
3.TCAH内のWビットがゼロである場合、TCA内でTCOB DCWに遭遇する。
4.TCOB DCWがチェイニング・フラグを設定していない。
5.CDカウントおよびデータ・カウントの両方がゼロであるTCOB DCWに遭遇する。
6.CDカウントおよびデータ・カウントの両方が非ゼロであるTCOB DCWに遭遇する。
7.CDカウントがゼロであり、データ・カウントが4の倍数でない、TCOB DCWに遭遇する。
8.データ・カウントがゼロであり、CDカウントが4の倍数でない、TCOB DCWに遭遇する。
9.TCOB DCWが指定されず、TTE DCWがTCA内の第1のDCWでないか、またはTCOBが指定され、TTE DCWがTCA内の第2のDCWでない。
10.TCAH内のWビットがゼロである場合、TCA内でTTE DCWに遭遇する。
11.TTE DCWがチェイニング・フラグを設定していない。
12.TCA内で第2のTTE DCWに遭遇する。
13.CDカウントが非ゼロであるTTE DCWに遭遇する。
14.データ・カウントがゼロであるかまたは4の倍数でない、TTE DCWに遭遇する。
15.TTE DCWが指定され、さらに、TCAの長さが58ワードまたはそれ未満であること、TCAの長さが59ワードであること、TCA内の最終DCWが制御データを指定し、制御データの長さが59ワードを超えて延在すること、または、TCAの長さが60ワードの最大長さであり、TCA内の最終ワードがDCWの第1のワードを含むことの、いずれかが真である。
16.DCWが、制御データを必要とするコマンドを含み、CDカウント・フィールドがゼロであるかまたはTCAの終わりを超えるデータを指定する値を含む。
17.DCWが非ゼロであるCDカウント・フィールドを含み、コマンドが制御データを提供できない。
18.書き込み動作中、デバイスが、読み取りデータ転送を実行するように試行したTCA内のコマンドに遭遇した。
19.読み取り動作中、デバイスが、書き込みデータ転送を実行するように試行したTCA内のコマンドに遭遇した。
20.CCビットがDCW内でゼロであり、TCA内に3バイトを超える未使用のバイトが残っている。
21.CCビットがDCW内で1であり、次のDCW位置がTCA指示の終わりから8バイト未満であることが決定され、TCAXが提供されていないか、またはTCAXが提供されており、次のDCW位置がTCAXの終わりから8バイト未満であることが決定される。
22.読み取りまたは双方向動作の場合、TCA内の読み取りDCWが現行となった場合に、すべての以前の読み取りDCWおよび現行DCWに関するデータ・カウントにすべてのパッドおよびCRCバイトを加えた合計がTCCB内のDLフィールドを超えるか、または、双方向動作の場合、TCCB内のBRDLフィールドを超える。
23.読み取りまたは双方向動作の場合、TCA内の最終DCWが現行となった場合に、すべての読み取りDCWに関するデータ・カウントにすべてのパッドおよびCRCバイトを加えた合計がTCCB内のDLフィールドに等しくないか、または、双方向動作の場合、TCCB内のBRDLフィールドに等しくない。
24.書き込みまたは双方向動作の場合、TCA内のDCWが現行となった場合に、すべての書き込みDCWに関するデータ・カウントにすべてのパッドおよびCRCバイト(すべての中間のパッドおよびCRCバイトを含む)を加えた合計が、さらにCOBが移送データIUに含まれる場合に、COB、COBパッド、およびCOB CRCバイトが、さらにTCAXが存在する場合に、TCAX、TCAXパッド、およびTCAX CRCバイトが、TCCB内のDLフィールドを超える。
25.書き込み動作または双方向動作の場合、TCA内の最終DCWが現行となった場合に、すべての書き込みDCWに関するデータ・カウントにすべてのパッドおよびCRCバイト(すべての中間のパッドおよびCRCバイトを含む)を加えた合計が、さらにCOBが移送データIUに含まれる場合に、COB、COBパッド、およびCOB CRCバイトが、さらにTCAXが存在する場合に、TCAX、TCAXパッド、およびTCAX CRCバイトが、TCCB内のDLフィールドに等しくない。
一実施形態では、コマンド・モードまたは移送モードの動作を実行するのに先立ち、チャネル・サブシステム114と制御ユニット118あるいはデバイス116またはその両方との間にリンクが確立される。1つまたは複数の制御ユニットとの物理接続を有するI/Oシステム内の各チャネル128は、固有識別子(「N_Port_ID」)を有する「N_Port」と呼ぶことができる。同様に各制御ユニット118も、関連付けられたN_Port_IDを有するN_Portも呼ぶことができる。チャネル128および制御ユニット118の両方が、それぞれ複数のチャネル・イメージまたは制御ユニット・イメージを含むことができる。各N_Portは、ログイン手順の初期化および実行中に割り当てられたアドレス識別子を含む。明示的N_Portログインは、初期化プロセス中に、N_Portログイン(PLOGI)拡張リンク・サービスによって実行可能である。N_Portが別のN_Portを用いてN_Portログインを実行した場合、そのN_Portは他のN_Portを用いてログインされるものと言われる。
一実施形態では、チャネル・サブシステムと制御ユニットとの間のリンク初期化は、プロセス・ログイン(PRLI)拡張リンク・サービス(ELS)プロトコルを使用して実行される。PRLI ELSの要求および応答のフォーマットを含むPRLI ELSの一般的な態様は、以下の項で定義されるFC−SB−4に関する特定の設定値を用いて、2008年6月26日の「Fibre Channel:Link Services(FC−LS−2)」、T11 Project 2103−D、改訂版2.00内で与えられる。
PRLI手順中、PRLIをサポートするチャネル128はその構成内の各制御ユニット118に要求を送信し、制御ユニット118が移送モード動作をサポートするかどうかを決定するためにプロセス・ログインELSもサポートする。一実施形態では、PRLI要求は、論理経路の確立に先立ってチャネル初期化中に送信され、プロセス・ログアウト(PRLO)の結果としても送信可能である。PRLI ELSは、チャネル128と制御ユニット118との間でプロセス・ログイン・サービス・パラメータを交換するために使用される。PRLI ELS要求は、論理経路が制御ユニットによって確立された場合、チャネルによって制御ユニットに送信することが可能であり、確立されたすべての論理経路に適用される。パラメータは、PRLI要求およびPRLI応答を介して、チャネルと制御ユニットとの間で交換することができる。
一実施形態では、制御ユニットが、チャネルですでに実施されているプロセス・ログインに関するサービス・パラメータを修正することになるPRLI ELS要求を受信した場合、制御ユニットはリンク・サービス拒否(LS_RJT)でPRLI ELS要求に応答する。LS_RJT応答は、理由コード16進「09」、「この時点でのコマンド要求実行不可」と共に送信される。制御ユニットがLS_RJTを送信した後、制御ユニットは、チャネルからのPRLI ELS要求の再試行を正常に実行できるようにするために、プロセス・ログアウト(PRLO)ELS要求をチャネルに送信するものとする。
図18を参照すると、PRLI要求は、サービス・パラメータを確立するために使用される様々なフィールドを含むサービス・パラメータ・ページを含む。たとえばサービス・パラメータ・ページ400は、移送モードまたはFC−4プロトコルを識別する(たとえばSB−4プロトコルを示すために16進「1B」に設定される)タイプ・コード・フィールド402を含むことが可能である。タイプ・コード拡張フィールド404(たとえばワード0のバイト1)がゼロに設定される。FC−LS−2フラグ・フィールド406(たとえばワード0のビット16〜19)は、チャネルによって以下のように設定可能である。
ビット16−発信者プロセス・アソシエータ妥当性:このビットはチャネルによってゼロに設定され、制御ユニットによって無視される
ビット17−応答者プロセス・アソシエータ妥当性:このビットはチャネルによってゼロに設定され、制御ユニットによって無視される
ビット18−イメージ・ペア確立:このビットはチャネルによってゼロに設定され、制御ユニットによって無視される
ビット19−予約済み:このビットはチャネルによってゼロに設定され、制御ユニットによって無視される
サービス・パラメータ・ページは、チャネルによってゼロに設定される発信者プロセス・アソシエータ・フィールド408(たとえばワード1)、および応答者プロセス・アソシエータ・フィールド410(たとえばワード2)などの、追加のフィールドを含むことができる。最大開始遅延時間フィールド412(たとえばワード3のバイト0)は、制御ユニットがプロセス・ログアウト(PRLO)要求において開始遅延時間として設定可能な最大値を秒単位で指定する、2進整数を含む。PRLO要求は、チャネルまたは制御ユニットによって、チャネルと制御ユニットとの間の移送モード動作を終了させるために使用される。最大開始遅延時間値は、一般に、チャネルがホスト・システムを阻止することなく新しいI/O動作の開始を遅らせることが可能な時間に基づく。
FC−SB−4フラグ・フィールド414(たとえばPRLI要求ページのワード3のバイト3)は、以下で説明される1つまたは複数のフラグを含む。
0−移送モードがサポートされる。ビット0がゼロに設定される場合、チャネルは移送モード動作をサポートしない。ビット0が1に設定される場合、チャネルは移送モード動作をサポートする。
1−予約済みである。
2−DCW誤り長さ(IL)機構がサポートされる。たとえば、ILフラグがアクティブである場合(たとえばビット2が1に設定される場合)、DCW IL機構はチャネル128によってサポートされる。ビット2がゼロに設定される場合、DCW IL機構はチャネル128によってサポートされない。DCW IL機構は、抑制長さ指示(SLI)フラグ214および誤り長さフラグ338に対するサポートを含む。移送モード・サポート・ビット(ビット0)がゼロに等しい場合、ビット2はゼロに設定されるものとする。
5−双方向データ転送がサポートされる。双方向転送指示がアクティブである(たとえばビット5が1に設定される)場合、送方向データ転送はチャネル128によってサポートされる。ビット5がゼロに設定される場合、双方向データ転送はチャネルによってサポートされない。このビットは、移送モード・サポート・ビットが1に等しい場合のみ有意である。
7−第1の転送準備済み使用不能がサポートされる。ビット7が1に設定される場合、第1の転送準備済み使用不能動作はチャネルによってサポートされる。ビット7がゼロに設定される場合、第1の転送準備済み使用不能動作はチャネルによってサポートされない。移送モード・サポート・ビット(ビット0)がゼロに等しい場合、ビット7はゼロに設定されるものとする。
チャネルおよび制御ユニットの両方が第1の転送準備済み使用不能をサポートしている場合、移送モードの書き込みデータ転送は有効な第1の転送準備済み使用不能で実行され、結果としてチャネルは、制御ユニットからの転送準備済みIUを待つ必要なしに、第1の移送データIUを制御ユニットに送信することができる。チャネルまたは制御ユニットのいずれかが、第1の転送準備済みIU使用不能をサポートしていないことを示す場合、第1の転送準備済み使用不能は移送モード動作に対して有効でない。
図19を参照すると、一実施形態では、PRLI応答は、移送モードまたはFC−4プロトコルを識別する(たとえばSB−4プロトコルを示すために16進「1B」に設定される)タイプ・コード・フィールド402、および、ゼロに設定されるタイプ・コード拡張フィールド404などのフィールドを含むことが可能な、PRLI受け入れサービス・パラメータ・ページを含む。FC−LS−2フラグ・フィールド406(たとえばワード0のビット16〜19)は、チャネルによって以下のように設定可能である。
ビット16−発信者プロセス・アソシエータ妥当性:このビットは制御ユニットによってゼロに設定され、チャネルによって無視される
ビット17−応答者プロセス・アソシエータ妥当性:このビットは制御ユニットによってゼロに設定され、チャネルによって無視される
ビット18−イメージ・ペア確立:このビットは制御ユニットによってゼロに設定され、チャネルによって無視される
ビット19−予約済み:このビットは制御ユニットによってゼロに設定され、チャネルによって無視される
応答コード・フィールド422(たとえばワード0のビット20〜23)は、PRLI要求の結果を示す2進整数を含む。応答コード値の意味は、FC−LS−2によって定義される。第1のバースト・サイズ・フィールド424(たとえばワード3のバイト0〜1)は、チャネルおよび制御ユニットの両方によって第1の転送準備済み使用不能がサポートされている場合、書き込みデータ転送について第1の移送データIU内で送信することが可能となる最大データ量を(たとえば4kバイト単位で)指定する、2進整数を含む。ゼロの値は、第1のバースト・サイズ制限がないことを示す。第1のバースト・サイズ・フィールド424は、第1の転送準備済み使用不能をサポートするすべての制御ユニットによって実装可能である。
PRLI受け入れサービス・パラメータ・ページ420は、以下で説明される定義済みの1つまたは複数のフラグを含むFC−SB−4フラグ・フィールド414(たとえばワード3のバイト3)も含むことが可能である。
0−移送モードがサポートされる。ビット0がゼロに設定される場合、制御ユニット118は移送モード動作をサポートしない。ビット0が1に設定される場合、制御ユニット118は移送モード動作をサポートする。
2−DCW誤り長さ(IL)機構がサポートされる。ビット2が1に設定される場合、DCW誤り長さ(IL)機構は制御ユニット118によってサポートされる。ビット2がゼロに設定される場合、DCW IL機構は制御ユニット118によってサポートされない。DCW誤り長さ機構は、SLIフラグ214および誤り長さフラグ338に対するサポートを含む。移送モード・サポート・ビット(ビット0)がゼロに等しい場合、ビット2はゼロに設定されるものとする。
5−双方向データ転送がサポートされる。双方向転送指示がアクティブである(たとえばビット5が1に設定される)場合、送方向データ転送は制御ユニット118によってサポートされる。ビット5がゼロに設定される場合、双方向データ転送は制御ユニット118によってサポートされない。このビットは、移送モード・サポート・ビットが1に等しい場合のみ有意である。
7−第1の転送準備済み使用不能がサポートされる。ビット7が1に設定される場合、第1の転送準備済み使用不能は制御ユニットによってサポートされる。ビット7がゼロに設定される場合、第1の転送準備済み使用不能動作は制御ユニットによってサポートされない。移送モード・サポート・ビット(ビット0)がゼロに等しい場合、ビット7はゼロに設定されるものとする。
したがって、チャネル・サブシステムおよび制御ユニットは、PRLIメッセージなどのログイン・メッセージを使用して、双方向データ転送についてのそれらそれぞれのサポートに関して互いに指示を与えることができる。チャネル・サブシステムあるいは制御ユニットまたはその両方は、ホスト・システム(たとえばOS110)にも指示を与えることができる。たとえば、制御ユニットが双方向データ転送をサポートしている旨の指示を、制御ユニットからOSに与えることができる。一実施形態では、チャネル・サブシステムは、双方向データ転送をサポートするための機能を含む、チャネル・サブシステムあるいは制御ユニットまたはその両方の機能の指示を提供する。たとえばチャネル・サブシステムは、OSからの命令に応答して、機能情報を提供することができる。
機能指示の例が、図20および図21に示されている。図20に示されるように、チャネル・サブシステムは、OS命令(たとえばSTORE CHANNEL PATH DESCRIPTION命令)に応答して、OSにチャネル経路記述ブロック500を送信することができる。チャネル経路記述ブロック500は、チャネル経路識別子(CHPID)フィールド502、記述子504、およびチャネル記述特有データ(CDSD)フィールド506などの、フィールドを含む。図21を参照すると、例示的CDSDフィールド506はチャネル経路記述ブロック500のワード(たとえばワード5)であり、最大データ長さ(たとえばTCW/TCCBについてサポートされる最大データ長さ)フィールド508を含む。たとえば(00 01h)に設定されたCDSDフィールド506のビット0〜15は、TCW/TCCB当たりの最大バイトが64kであることを意味する。拡張サポート・フィールド510(たとえばビット31)は、FCXプロトコルなどのプロトコルまたはプロトコル拡張についてのサポートを示す。追加フィールド512(たとえばビット16〜30)は、チャネル・サブシステム機能に関する情報を含むことができる。たとえばフィールド512のBIDIビット(たとえばビット28)は、双方向データ転送に関するチャネル・サブシステムサポートを示す。
さらに詳細な説明は、米国特許公報第2009/0210557号として公開された、2008年2月14日出願の米国特許出願第12/030912号「Determining Extended Capability of a Channel Path」に提供されている。
例示的実施形態の技術的な効果および特典は、TCCB内に配置されたI/Oコマンドおよびデバイス・サポート・データに加えて、移送サポート・データならびに追加のコマンドを制御ユニットに転送するための機能を含む。技術的効果は、誤り長さ条件を検出してもDCWの処理を続行するための機能も含み、これによって制御ユニットはI/O動作を終了する必要なしにI/Oコマンドの処理を続行することができる。他の技術的効果は、単一のI/O動作中にチャネルと制御ユニットとの間で入力データと出力データの両方を移送するための機能を含む。
本明細書で使用される用語は、特定の実施形態を説明するためのみのものであり、本発明を制限することは意図されていない。本明細書で使用される場合、単数形「a」、「an」、および「the」は、文脈が明確に示していない限り、複数形も含むことが意図される。「含む」あるいは「含んでいる」またはその両方の用語は、本明細書で使用される場合、示された特徴、整数、ステップ、動作、要素、あるいは構成要素、またはそれらすべての存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、あるいはそれらのグループ、またはそれらすべての存在または追加を排除するものではないことも、さらに理解されよう。
以下の特許請求の範囲におけるすべての手段またはステップの対応する構造、材料、動作、および等価物に機能要素を加えた結果は、具体的に請求された他の請求要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図される。本発明の説明は、例示および説明の目的で提示されているが、本発明を網羅するかまたは開示された形に限定することは意図されていない。当業者であれば、本発明の範囲および趣旨を逸脱することなく、多くの修正および変形が明らかとなろう。実施形態は、本発明の原理および実際の適用例を最も良く説明するため、および、特定の企図された用途に好適な様々な修正を伴う様々な実施形態に関して、他の当業者が本発明を理解できるようにするために、選択および説明された。
当業者であれば理解されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、すべてを全体として「回路」、「モジュール」、または「システム」と呼ぶことのできるソフトウェア態様およびハードウェア態様を組み合わせた実施形態の形を取ることができる。さらに本発明の態様は、その上に具体化されたコンピュータ読み取り可能プログラム・コードを有する、1つまたは複数のコンピュータ読み取り可能媒体内に具体化された、コンピュータ・プログラム製品の形を取ることができる。
1つまたは複数のコンピュータ読み取り可能媒体の任意の組み合わせが利用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体の、システム、装置、またはデバイス、あるいは前述の任意の好適な組み合わせとすることが可能であるが、これらに限定されない。コンピュータ読み取り可能記憶媒体のより特定の例(非網羅的リスト)は、1本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、または前述の任意の好適な組み合わせを含むことになる。本書のコンテキストでは、コンピュータ読み取り可能記憶媒体は、命令実行のシステム、装置、またはデバイスによって、またはそれらに関連して使用するためのプログラムを含むかまたは記憶することが可能な、任意の有形媒体とすることができる。
コンピュータ読み取り可能信号媒体は、たとえばベースバンド内にまたは搬送波の一部として、内部に具体化されたコンピュータ読み取り可能プログラム・コードを備える伝搬データ信号を含むことができる。こうした伝搬信号は、電磁、光、またはそれらの任意の好適な組み合わせを含むがそれらに限定されない、様々な形のうちのいずれかを取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、またはそれらに関連して使用するためのプログラムを通信、伝搬、または移送することが可能な、任意のコンピュータ読み取り可能媒体とすることができる。
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、または前述の任意の好適な組み合わせを含むがこれらに限定されない、任意の適切な媒体を使用して伝送可能である。
本発明の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などの、オブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語などの、従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、または、完全にリモート・コンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介して、ユーザのコンピュータに接続可能であるか、または(たとえば、インターネット・サービス・プロバイダを使用し、インターネットを介して)外部コンピュータへの接続が可能である。
本発明の態様は、本発明の実施形態に従った方法、装置(システム)、およびコンピュータ・プログラム製品の、流れ図あるいはブロック図またはその両方を参照しながら、以下で説明される。流れ図あるいはブロック図またはその両方の各ブロック、および流れ図あるいはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能であることを理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装するための手段を作成するように、汎用コンピュータ、特定用途向けコンピュータ、またはマシンを製造するための他のプログラマブル・データ処理装置のプロセッサに提供可能である。
コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の様式で機能するように命令可能な、コンピュータ読み取り可能媒体内にも記憶可能であり、結果としてコンピュータ読み取り可能媒体内に記憶された命令は、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装する命令を含む製品を製造することになる。
コンピュータ・プログラム命令は、コンピュータ実装プロセスを生成するための一連の動作可能ステップを、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行させるために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードすることも可能であり、結果としてコンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装するためのプロセスを提供することになる。
本明細書に示された流れ図は、単なる一例である。本発明の範囲を逸脱することなく、そこに記載されたこの図またはステップ(または動作)に対する多くの変形が存在可能である。たとえばステップは異なる順序で実行可能であり、ステップは追加、削除、または修正可能である。これらの変形はすべて、請求された本発明の一部とみなされる。
本発明に対する好ましい実施形態について説明してきたが、当業者であれば、現在または将来のいずれにおいても、以下の特許請求の範囲内にある様々な改良および機能強化が実行可能であることを理解されよう。これらの請求項は、第1に説明される本発明に関する適切な保護を維持するものと解釈されるべきである。

Claims (13)

  1. 制御ユニットとの通信用に構成されたホスト・コンピュータ・システムでI/O動作命令によって開始される入力/出力(I/O)動作を実行する方法であって、
    チャネル・サブシステムと制御ユニットとの間のリンクを初期化するために、前記ホスト・コンピュータ・システム内の前記チャネル・サブシステムによって、プロセス・ログイン(PRLI)要求メッセージを前記制御ユニットに送信することであって、前記PRLI要求メッセージは、前記チャネル・サブシステムが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、送信すること、
    前記制御ユニットからPRLI応答メッセージを受信することであって、前記PRLI応答メッセージは、前記制御ユニットが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、受信すること、
    双方向データ転送がサポートされている旨の指示をホスト・オペレーティング・システムに提供すること、および、
    前記ホスト・コンピュータ・システムから受信した前記I/O動作命令の実行に応答して、
    前記ホスト・コンピュータ・システムから受信した前記I/O動作命令に関連付けられた複数のコマンドを収集することであって、前記複数のコマンドのうちの少なくとも1つは入力データ転送を指定し、前記複数のコマンドのうちの少なくとも1つは出力データ転送を指定する、収集すること、
    前記複数のコマンドを前記制御ユニットに転送すること、
    前記制御ユニットに転送されることになる出力データを含む少なくとも1つの出力データ・メッセージを前記制御ユニットに送信することであって、前記出力データ・メッセージは出力データ転送を指定する前記複数のコマンドのうちの少なくとも1つに関連付けられる、送信すること、および、
    前記ホスト・コンピュータ・システムの主記憶内に記憶されることになる入力データを含む少なくとも1つの入力データ・メッセージを前記制御ユニットから受信することであって、前記入力データ・メッセージは入力データ転送を指定する前記複数のコマンドのうちの少なくとも1つに関連付けられる、受信すること、
    を含む方法。
  2. 前記複数のコマンドが、それぞれがI/Oコマンドに関連付けられた複数のデバイス・コマンド・ワード(DCW)であって、前記収集することが、前記I/O動作について前記ホスト・コンピュータ・システム内の前記チャネル・サブシステムで移送コマンド・ワード(TCW)を取得することを含み、前記TCWが、前記ホスト・コンピュータ・システムの前記主記憶内にTCCBのアドレスを含む移送コマンド制御ブロック(TCCB)アドレス・ フィールドを含み、前記TCCBが前記複数のDCWを含み、前記DCWの少なくとも1つが入力データ転送を指定し、前記DCWの少なくとも1つが出力データ転送を指定する、請求項1に記載の方法。
  3. 前記複数のコマンドを転送することが、前記複数のDCWを含む前記TCCBを前記制御ユニットに転送することを含む、請求項2に記載の方法。
  4. 前記指示が、第1の転送準備済み使用不能条件が有効であるかどうかを指定するように構成され、前記方法が、
    前記第1の転送準備済み使用不能条件が有効であることに応答して、前記TCCBの転送に続いて、および前記制御ユニットからの少なくとも1つのメッセージの受信に先立ち、前記少なくとも1つの出力データ・メッセージを前記制御ユニットに送信すること、および
    前記第1の転送準備済み使用不能条件が有効でないことに応答して、前記少なくとも1つの出力データ・メッセージの送信に先立ち、前記制御ユニットから前記少なくとも1つのメッセージを受信すること、
    をさらに含む、請求項3に方法。
  5. 前記制御ユニットからのメッセージが、前記チャネル・サブシステムに出力データを送信するよう要求する転送準備済みメッセージおよび前記入力データ・メッセージのうちの1つを含む、請求項4に記載の方法。
  6. 前記TCCBが前記制御ユニットに送信される移送コマンド情報ユニット(IU)内に含まれ、前記移送コマンドIUが移送コマンド・ヘッダ(TCH)を含み、前記TCHが、前記チャネル・サブシステムが双方向データ転送を要求しているかどうかを示すフィールドを含む、請求項2に記載の方法。
  7. 前記TCCBが、転送されることになる出力データ量を指定する書き込みデータ長さ(DL)フィールド、および転送されることになる入力データ量を指定する双方向読み取りデータ長さ(BRDL)フィールドを含む、請求項6に記載の方法。
  8. 前記方法が、前記制御ユニットが双方向データ動作をサポートしていないことに応答して、前記I/O動作が終了したことを示す移送応答メッセージを前記制御ユニットから受信することをさらに含み、前記移送応答メッセージが、
    前記制御ユニットが、前記TCH内の読み取り(R)ビットおよび書き込み(W)ビットの両方が1に設定されること、および前記TCCBが前記BRDLを含まないことを検出すること、および
    前記制御ユニットが、前記TCH内のRビットおよび書き込みWビットの両方が1に設定されること、および前記制御ユニットが双方向データ転送をサポートしていないことを検出すること、
    のうちの少なくとも1つに応答して、TCHコンテンツ・エラー指示を含む、請求項7に記載の方法。
  9. 前記方法が、前記I/O動作が終了したことを示す移送応答メッセージを前記制御ユニットから受信することをさらに含み、前記移送応答メッセージが、
    前記TCCB内のDLフィールド値と前記制御ユニットによって受信された出力データ量との間の差異を指定する、データ長さ残余カウント(DLRC)フィールド、および
    前記TCCB内のBRDLフィールド値と前記制御ユニットによって送信される入力データ量との間の差異を指定する、BRDL残余カウント
    を含む、請求項7に記載の方法。
  10. 前記チャネル・サブシステムが、
    前記DLRC値が、前記TCCB内の前記DLフィールド値と前記制御ユニットに送信される出力データの量との間の差異に合致しないこと、
    BRDL残余カウント値が、前記BRDLフィールド値と前記制御ユニットから受信する入力データ量との間の差異に合致しないこと、
    のうちの少なくとも1つに応答して、エラーを検出する、請求項9に記載の方法。
  11. 前記PRLI要求メッセージが、前記制御ユニットが移送モード・プロトコルをサポートしているかどうかを示すための要求を前記制御ユニットに示し、前記移送モード・プロトコルが前記TCWおよび前記TCCBの使用をサポートしており、前記PRLI応答メッセージが、前記制御ユニットが 前記移送モード・プロトコルをサポートしているかどうかを示すフィールドを含む、請求項9に記載の方法。
  12. 制御ユニットとの通信用に構成されたホスト・コンピュータ・システムでI/O動作命令によって開始される入力/出力(I/O)動作を実行するための装置であって、前記ホスト・コンピュータ・システムが、
    チャネル・サブシステムと制御ユニットとの間のリンクを初期化するために、前記ホスト・コンピュータ・システム内の前記チャネル・サブ システムによって、プロセス・ログイン(PRLI)要求メッセージを前記制御ユニットに送信することであって、前記PRLI要求メッセージは、前記チャネル・サブシステムが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、送信すること、
    前記制御ユニットからPRLI応答メッセージを受信することであって、前記PRLI応答メッセージは、前記制御ユニットが双方向データ転送をサポートしているかどうかを示す値を有するフィールドを含む、受信すること、
    双方向データ転送がサポートされている旨の指示をホスト・オペレーティング・システムに提供すること、および、
    前記ホスト・コンピュータ・システムから受信した前記I/O動作命令の実行に応答して、
    前記ホスト・コンピュータ・システムから受信した前記I/O動作命令に関連付けられた複数のコマンドを収集することであって、前記複数のコマンドのうちの少なくとも1つは入力データ転送を指定し、前記複数のコマンドのうちの少なくとも1つは出力データ転送を指定する、収集すること、
    前記複数のコマンドを前記制御ユニットに転送すること、
    前記制御ユニットに転送されることになる出力データを含む少なくとも1つの出力データ・メッセージを前記制御ユニットに送信することであって、前記出力データ・メッセージは出力データ転送を指定する前記複数のコマンドのうちの少なくとも1つに関連付けられる、送信すること、および、
    前記ホスト・コンピュータ・システムの主記憶内に記憶されることになる入力データを含む少なくとも1つの入力データ・メッセージを前記制御ユニットから受信することであって、前記入力データ・メッセージは入力データ転送を指定する前記複数のコマンドのうちの少なくとも1つに関連付けられる、受信すること、
    を実行するように構成された、装置。
  13. 請求項1乃至11のいずれかに記載の方法を、コンピュータに実行させるコンピュータ・プログラム。
JP2014517535A 2011-06-30 2012-04-11 チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法 Active JP6074415B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/173,772 2011-06-30
US13/173,772 US8312176B1 (en) 2011-06-30 2011-06-30 Facilitating transport mode input/output operations between a channel subsystem and input/output devices
PCT/EP2012/056534 WO2013000596A1 (en) 2011-06-30 2012-04-11 Facilitating transport mode input/output operations between a channel subsystem and input/output devices

Publications (2)

Publication Number Publication Date
JP2014522021A JP2014522021A (ja) 2014-08-28
JP6074415B2 true JP6074415B2 (ja) 2017-02-01

Family

ID=45999804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014517535A Active JP6074415B2 (ja) 2011-06-30 2012-04-11 チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法

Country Status (17)

Country Link
US (1) US8312176B1 (ja)
EP (1) EP2593878B1 (ja)
JP (1) JP6074415B2 (ja)
CN (1) CN103562899B (ja)
AU (1) AU2012278225B2 (ja)
BR (1) BR112013034067B1 (ja)
CA (1) CA2819159C (ja)
DK (1) DK2593878T3 (ja)
ES (1) ES2449965T3 (ja)
IL (1) IL224385A (ja)
MX (1) MX354282B (ja)
PL (1) PL2593878T3 (ja)
PT (1) PT2593878E (ja)
RU (1) RU2520356C1 (ja)
SG (1) SG194172A1 (ja)
SI (1) SI2593878T1 (ja)
WO (1) WO2013000596A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064786A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 Ufs 장치, ufs 장치의 동작 방법 및 ufs 장치를 포함하는 시스템

Family Cites Families (228)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264096A (ja) 1970-06-27 1972-02-16
US3693161A (en) 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
US4004277A (en) 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US3943283A (en) 1974-06-17 1976-03-09 International Business Machines Corporation Bidirectional single wire data transmission and wrap control
US4080649A (en) 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5852249B2 (ja) * 1978-12-25 1983-11-21 株式会社日立製作所 チヤネル装置
US4380046A (en) 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4374415A (en) 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4414644A (en) 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4455605A (en) 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4497022A (en) 1982-10-19 1985-01-29 International Business Machines Corporation Method and apparatus for measurements of channel operation
US4564903A (en) 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4779188A (en) 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
US4870566A (en) 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
US4837677A (en) 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US4760518A (en) 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
JPS6336461A (ja) 1986-07-31 1988-02-17 Pfu Ltd 汎用チャネル制御方式
US4926320A (en) 1987-04-07 1990-05-15 Nec Corporation Information processing system having microprogram-controlled type arithmetic processing unit
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US4866609A (en) 1988-06-22 1989-09-12 International Business Machines Corporation Byte count handling in serial channel extender with buffering for data pre-fetch
JPH0283757A (ja) 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
US5016160A (en) 1988-12-15 1991-05-14 International Business Machines Corporation Computer system having efficient data transfer operations
US5185736A (en) 1989-05-12 1993-02-09 Alcatel Na Network Systems Corp. Synchronous optical transmission system
EP0412268B1 (en) 1989-08-11 1996-09-11 International Business Machines Corporation Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
GB9012970D0 (en) 1989-09-22 1990-08-01 Ibm Apparatus and method for asynchronously delivering control elements with pipe interface
EP0424618A3 (en) 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
DE3938520A1 (de) 1989-11-21 1991-05-29 Teves Gmbh Alfred Verfahren und system zur messdatenerfassung und -auswertung
AU650242B2 (en) 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
JPH04649A (ja) 1990-04-18 1992-01-06 Nec Corp リモートチャネル装置の障害情報転送方式
CA2037708C (en) 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
RU2017211C1 (ru) * 1990-08-23 1994-07-30 Институт ядерных исследований РАН Устройство для сопряжения эвм с каналами связи
US5170472A (en) 1991-03-28 1992-12-08 International Business Machines Corp. Dynamically changing a system i/o configuration definition
US5644712A (en) 1991-06-05 1997-07-01 International Business Machines Corporation Indirect addressing of channels via logical channel groups
US5386512A (en) 1991-07-19 1995-01-31 International Business Machines Corporation System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
JPH0580104A (ja) 1991-09-20 1993-04-02 Cmk Corp モータ用プリント配線板の製造方法
US5388219A (en) 1992-03-02 1995-02-07 International Business Machines Corporation Efficient channel and control unit for host computer
US5317739A (en) 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
CA2086691C (en) 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5452455A (en) 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5600805A (en) 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5414851A (en) 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5301323A (en) 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
JP2566728B2 (ja) 1992-10-30 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 論理径路スケジューリング装置及び実行方法
JP2840511B2 (ja) 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5526484A (en) 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5528755A (en) 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
US5517670A (en) 1992-12-30 1996-05-14 International Business Machines Corporation Adaptive data transfer channel employing extended data block capability
US5461721A (en) 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5465359A (en) 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5584039A (en) 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JP3528094B2 (ja) 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5907684A (en) 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5548791A (en) 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US5860022A (en) 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
EP0712220A1 (en) 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
US5613163A (en) 1994-11-18 1997-03-18 International Business Machines Corporation Method and system for predefined suspension and resumption control over I/O programs
US5671441A (en) 1994-11-29 1997-09-23 International Business Machines Corporation Method and apparatus for automatic generation of I/O configuration descriptions
US5600793A (en) 1994-12-20 1997-02-04 International Business Machines Corporation Method and system of bi-directional parallel port data transfer between data processing systems
US5680580A (en) 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
JP3225804B2 (ja) 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
US5996026A (en) 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
WO1997010549A1 (fr) 1995-09-13 1997-03-20 Hitachi, Ltd. Systeme de calcul electronique
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5831985A (en) 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US5793983A (en) 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5812877A (en) 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
US5768620A (en) 1996-04-09 1998-06-16 International Business Machines Corporation Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system
US5758190A (en) 1996-04-09 1998-05-26 International Business Machines Corporation Control unit threshold timeout controls for software missing interrupt handlers in operating systems
US5894583A (en) 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6108655A (en) 1996-07-19 2000-08-22 Cisco Technology, Inc. Method and apparatus for transmitting images and other objects over a computer network system
SG74611A1 (en) 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
JP3697831B2 (ja) 1997-04-18 2005-09-21 株式会社日立製作所 コンピュータシステム
TW375529B (en) 1997-05-14 1999-12-01 Sega Corp Data transmission method and game system using the same
US5918028A (en) 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
US6263380B1 (en) 1997-10-14 2001-07-17 Mitutoyo Corporation Measurement data processing unit
US6460087B1 (en) 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6360282B1 (en) 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6353612B1 (en) 1998-06-19 2002-03-05 Brocade Communications Systems, Inc. Probing device
US6693880B2 (en) 1998-09-10 2004-02-17 International Business Machines Corporation System of controlling the flow of information between senders and receivers across links being used as channels
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6230218B1 (en) 1998-10-14 2001-05-08 International Business Machines Corporation Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6343335B1 (en) 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6195330B1 (en) 1998-11-05 2001-02-27 David C. Sawey Method and system for hit-less switching
KR100273641B1 (ko) 1998-11-11 2000-12-15 윤종용 공통 메모리 스위치에서 셀 그룹 처리장치 및 그 처리방법
JP3990833B2 (ja) 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US6347334B1 (en) 1999-01-06 2002-02-12 Mcdata Corporation Self-description extended link service for networks
US6772207B1 (en) 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
US6351779B1 (en) 1999-03-12 2002-02-26 Agilent Technologies, Inc. Extension library to standard visa library for support of complex I/O functions
US6484217B1 (en) 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
US6401223B1 (en) 1999-05-21 2002-06-04 Unisys Corporation Programmable system for invalidating pending requests within a data processing system
TW549004B (en) 1999-06-15 2003-08-21 Matsushita Electric Works Ltd Portable programming device for supervisory remote control system
US6718139B1 (en) 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6651125B2 (en) 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6609171B1 (en) * 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
US6584511B1 (en) 2000-03-24 2003-06-24 Unisys Corporation Loop initialization procedure exception handling for fibre channel transmissions
US6658603B1 (en) 2000-04-17 2003-12-02 International Business Machines Corporation Method and apparatus for efficiently generating and implementing engine error codes and verifying the correctness of the implementation of the engine error codes
US6594785B1 (en) 2000-04-28 2003-07-15 Unisys Corporation System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US6862322B1 (en) 2000-05-19 2005-03-01 International Business Machines Corporation Switchable-bandwidth optical receiver
US6609161B1 (en) 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
JP2002016655A (ja) 2000-06-28 2002-01-18 Sony Corp 伝送方法、伝送システム、伝送装置及び伝送制御装置
US6662319B1 (en) 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
PT1362499E (pt) 2000-08-31 2012-04-18 Dolby Lab Licensing Corp Processo para dispositivo para descodificação matricial áudio
US6694390B1 (en) 2000-09-11 2004-02-17 Intel Corporation Managing bus transaction dependencies
US6950888B1 (en) 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment
US6633925B2 (en) 2000-09-29 2003-10-14 Emc Corporation Operating system for generating overlapped input-output requests to a device in a disk array storage
US6751683B1 (en) 2000-09-29 2004-06-15 International Business Machines Corporation Method, system and program products for projecting the impact of configuration changes on controllers
US6697983B1 (en) 2000-10-24 2004-02-24 At&T Wireless Services, Inc. Data link layer tunneling technique for high-speed data in a noisy wireless environment
US6622268B2 (en) 2000-11-29 2003-09-16 Intel Corp Method and apparatus for propagating error status over an ECC protected channel
US7127514B2 (en) 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US7155569B2 (en) 2001-02-28 2006-12-26 Lsi Logic Corporation Method for raid striped I/O request generation using a shared scatter gather list
US6834363B2 (en) 2001-03-22 2004-12-21 International Business Machines Corporation Method for prioritizing bus errors
US6898202B2 (en) * 2001-06-27 2005-05-24 International Business Machines Corporation Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device
US20030056000A1 (en) 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US6754738B2 (en) 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US7315911B2 (en) 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US6859866B2 (en) 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6745299B2 (en) 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
US7512133B2 (en) 2001-12-03 2009-03-31 International Business Machines Corporation Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
US7085860B2 (en) 2002-01-11 2006-08-01 International Business Machines Corporation Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system
US7007142B2 (en) 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US7099814B2 (en) 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
US6898723B2 (en) 2002-04-01 2005-05-24 Mitac International Corp. Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20030208581A1 (en) 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US7120728B2 (en) 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6826661B2 (en) 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US20040054776A1 (en) 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US7539777B1 (en) 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
US7080094B2 (en) 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
US7418574B2 (en) 2002-10-31 2008-08-26 Lockheed Martin Corporation Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction
US7202801B2 (en) 2002-12-11 2007-04-10 Geospatial Technologies, Inc. Method and apparatus for an automated location-based, dynamic notification system (ALDNS)
US7277387B2 (en) 2003-01-30 2007-10-02 Wind River Systems, Inc. Package manager
US7324455B2 (en) 2003-03-14 2008-01-29 International Business Machines Corporation Transfer of error-analysis and statistical data in a fibre channel input/output system
US6915378B2 (en) 2003-04-23 2005-07-05 Hypernova Technologies, Inc. Method and system for improving the performance of a processing system
US7085898B2 (en) 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7058735B2 (en) 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
TWI271626B (en) 2003-06-17 2007-01-21 Delta Electronics Inc Data transmission method for microprocessors of programmable logic controller
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7124207B1 (en) 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching
US7149823B2 (en) 2003-08-29 2006-12-12 Emulex Corporation System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur
CN1864377B (zh) 2003-10-17 2010-09-01 日本电信电话株式会社 邮件投递系统、邮件投递方法
KR20050043426A (ko) 2003-11-06 2005-05-11 삼성전자주식회사 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치
US20050105456A1 (en) 2003-11-18 2005-05-19 Cookson Christopher J. Double-sided optical disc
US7634582B2 (en) 2003-12-19 2009-12-15 Intel Corporation Method and architecture for optical networking between server and storage area networks
US7564791B2 (en) 2003-12-29 2009-07-21 Intel Corporation Monitoring packet flows
US7382733B2 (en) 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
US7133988B2 (en) 2004-02-25 2006-11-07 Hitachi, Ltd. Method and apparatus for managing direct I/O to storage systems in virtualization
US20050223291A1 (en) 2004-03-24 2005-10-06 Zimmer Vincent J Methods and apparatus to provide an execution mode transition
JP2005293363A (ja) 2004-04-01 2005-10-20 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
US7308516B2 (en) * 2004-04-26 2007-12-11 Atmel Corporation Bi-directional serial interface for communication control
US8171170B2 (en) 2004-04-30 2012-05-01 Emc Corporation Storage switch task processing synchronization
US7240273B2 (en) 2004-05-13 2007-07-03 Industrial Technology Research Institute Cyclic redundancy check modification for message length detection and error detection
US7555554B2 (en) 2004-08-06 2009-06-30 Microsoft Corporation System and method for generating selectable extension to media transport protocol
US7711871B1 (en) 2004-08-30 2010-05-04 Crossroads Systems, Inc. Interface device and method for command processing
US7443798B2 (en) 2004-09-03 2008-10-28 Agere Systems Inc. Transmit adaptive equalization for communication system with one or more serial data channels
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
GB2419198A (en) 2004-10-14 2006-04-19 Hewlett Packard Development Co Identifying performance affecting causes in a data storage system
US7398335B2 (en) 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
JP4575119B2 (ja) 2004-11-25 2010-11-04 株式会社日立製作所 ストレージシステム
US7164425B2 (en) 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
US7672323B2 (en) 2005-01-14 2010-03-02 Cisco Technology, Inc. Dynamic and intelligent buffer management for SAN extension
EP1688847B1 (en) * 2005-02-03 2011-05-04 Texas Instruments Incorporated Die-to-die interconnect interface and protocol for stacked semiconductor dies
US7526633B2 (en) 2005-03-23 2009-04-28 Qualcomm Incorporated Method and system for encoding variable length packets with variable instruction sizes
JP2006277583A (ja) 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
JP2007058646A (ja) 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
US20070072543A1 (en) 2005-09-06 2007-03-29 Nokia Corporation Enhanced signaling of pre-configured interaction message in service guide
US7577773B1 (en) 2005-09-09 2009-08-18 Qlogic, Corporation Method and system for DMA optimization
JP4527640B2 (ja) 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
US7895237B2 (en) * 2005-09-19 2011-02-22 Polytechnic Institute Of New York University Reassembling fragmented files or documents in an order-independent manner that ensures each of the fragments belongs to only one reassembled file
JP2007122108A (ja) 2005-10-25 2007-05-17 Hitachi Ltd セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US7484021B2 (en) 2005-10-27 2009-01-27 Cisco Technology, Inc. Technique for implementing virtual fabric membership assignments for devices in a storage area network
US20070162631A1 (en) 2005-12-28 2007-07-12 International Business Machines Corporation Method for selectable software-hardware internet SCSI
US7594057B1 (en) 2006-01-09 2009-09-22 Qlogic, Corporation Method and system for processing DMA requests
JP2007199975A (ja) 2006-01-26 2007-08-09 Hitachi Ltd データ処理システム及びデータ処理方法
US20070192826A1 (en) * 2006-02-14 2007-08-16 Microsoft Corporation I/O-based enforcement of multi-level computer operating modes
US7743197B2 (en) 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US9032164B2 (en) 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US20080040519A1 (en) 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US8381214B2 (en) 2006-05-05 2013-02-19 Microsoft Corporation Extensible job submission
US7826349B2 (en) 2006-05-30 2010-11-02 Intel Corporation Connection management mechanism
US20080043563A1 (en) 2006-08-15 2008-02-21 International Business Machines Corporation Flexibly controlling the transfer of data between input/output devices and memory
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7797414B2 (en) 2007-01-31 2010-09-14 International Business Machines Corporation Establishing a logical path between servers in a coordinated timing network
US8406248B2 (en) 2007-04-13 2013-03-26 Hart Communication Foundation Priority-based scheduling and routing in a wireless network
US7765336B2 (en) 2007-06-11 2010-07-27 Emulex Design & Manufacturing Corporation Autonomous mapping of protected data streams to fibre channel frames
US8020074B2 (en) 2007-08-24 2011-09-13 Datadirect Networks, Inc. Method for auto-correction of errors in a RAID memory system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7941570B2 (en) * 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US7840718B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
GB2460841B (en) 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US7983257B2 (en) 2008-07-18 2011-07-19 Emulex Design & Manufacturing Corporation Hardware switch for hypervisors and blade servers
US7904606B2 (en) * 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) * 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US20100064072A1 (en) 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
JP5107880B2 (ja) 2008-12-10 2012-12-26 株式会社日立製作所 データ転送処理装置及び方法

Also Published As

Publication number Publication date
EP2593878A1 (en) 2013-05-22
EP2593878B1 (en) 2014-01-29
CN103562899A (zh) 2014-02-05
AU2012278225A1 (en) 2013-05-02
PL2593878T3 (pl) 2014-05-30
JP2014522021A (ja) 2014-08-28
PT2593878E (pt) 2014-03-07
AU2012278225B2 (en) 2015-08-13
KR20130095780A (ko) 2013-08-28
CA2819159C (en) 2020-04-14
BR112013034067B1 (pt) 2021-01-19
US8312176B1 (en) 2012-11-13
MX2013011408A (es) 2013-12-09
CA2819159A1 (en) 2013-01-03
SI2593878T1 (sl) 2014-04-30
BR112013034067A2 (pt) 2018-06-19
RU2520356C1 (ru) 2014-06-20
DK2593878T3 (en) 2014-02-24
MX354282B (es) 2018-02-21
RU2012149011A (ru) 2014-05-27
WO2013000596A1 (en) 2013-01-03
CN103562899B (zh) 2016-10-19
SG194172A1 (en) 2013-12-30
IL224385A (en) 2017-01-31
ES2449965T3 (es) 2014-03-21

Similar Documents

Publication Publication Date Title
US9021155B2 (en) Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8364853B2 (en) Fibre channel input/output data routing system and method
US8583988B2 (en) Fibre channel input/output data routing system and method
US8683084B2 (en) Fibre channel input/output data routing system and method
JP6074416B2 (ja) チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法
US8549185B2 (en) Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8683083B2 (en) Fibre channel input/output data routing system and method
JP6074415B2 (ja) チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法
US8346978B1 (en) Facilitating transport mode input/output operations between a channel subsystem and input/output devices
KR101476075B1 (ko) 채널 서브시스템과 입력/출력 디바이스들 사이에 트랜스포트 모드 입력/출력 동작들을 용이하게 하는 방법, 장치 및 컴퓨터 프로그램 제품
KR101476073B1 (ko) 채널 서브시스템과 입력/출력 디바이스들 사이에 트랜스포트 모드 입력/출력 동작들을 용이하게 하는 방법, 장치 및 컴퓨터 프로그램 제품

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170106

R150 Certificate of patent or registration of utility model

Ref document number: 6074415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150