(57)【要約】【課題】  管理できる記憶サブシステム内の論理デバイスアドレス数を、上位処理装置と記憶サブシステム間のチャンネルインタフェースによるデバイスアドレス数の制限を超えて増大させる。同一論理デバイスに対する並行アクセス処理の性能も向上させる。【解決手段】  上位処理装置１０１は、論理デバイスに対するアクセス要求が発生した場合に、アクセス対象の論理デバイスの論理デバイスアドレスを、アクセス要求のためのチャネルコマンドワード（ＣＣＷ）の一つ（例えば、接頭コマンドのコマンドパラメタ４００）中に格納し、そのＣＣＷを、チャネルインタフェースに従うフレーム５００のデバイスデバイス情報ブロック５１２に設置して、同一デバイスに対する複数アクセスを識別する並行アクセス識別子を、そのフレーム５００のデバイスアドレス５２２ａに設定して、そのフレーム５００を記憶サブシステム１０２へ送信する。【選択図】  図１
2007058646.tif 000002
【特許請求の範囲】
【請求項１】
上位処理装置と、前記上位処理装置に通信可能に接続され、データを記憶するための複数の論理デバイスを有する記憶サブシステムとを備えたデータ処理システムにおいて、
前記上位処理装置は、各論理デバイスに対するアクセス要求を前記記憶サブシステムに通知するチャネル部を有し、
前記記憶サブシステムは、前記上位処理装置から通知された前記アクセス要求に応答して、前記アクセス要求により要求された各論理デバイスに対するアクセス処理を制御する制御プロセッサを有し、
前記上位処理装置の前記チャネル部は、或る論理デバイスに対するアクセス要求が発生した場合、前記アクセス要求に対応する１以上のチャネルコマンドワードを作成し、前記チャネルコマンドワードの少なくとも一つの中の第１のフィールドに、前記或る論理デバイスを識別するための論理デバイス識別情報を設定し、所定構造の１以上のフレームを作成し、前記フレームの中の第２のフィールドに前記チャネルコマンドワードを設定し、そして、前記フレームを前記記憶サブシステムへ送信し、
前記記憶サブシステムの前記制御プロセッサは、前記上位処理装置から送信された前記フレームを受信し、前記受信したフレームの前記第２のフィールドから前記チャネルコマンドワードを受信し、前記受信したチャネルコマンドワードの少なくとも一つの中の前記第１のフィールドから前記論理デバイス識別情報を取得し、前記取得した論理デバイス識別情報に基づきアクセス対象の論理デバイスがどれであるかを特定し、そして、前記受信されたチャネルコマンドワードに従って前記アクセス対象の論理デバイスに対するアクセス処理を制御する、
データ処理システム。
【請求項２】
請求項１に記載のデータ処理システムにおいて、
前記上位処理装置の前記チャネル部は、前記或る論理デバイスに対して複数のアクセス要求が発生した場合、前記複数のアクセス要求に異なる並行アクセス識別情報を割り当て、そして、前記複数のアクセス要求に割り当てた前記異なる並行アクセス識別情報を、それぞれのアクセス要求のための前記フレームの第３のフィールドに設定して前記記憶サブシステムへ送信し、
前記記憶サブシステムの制御プロセッサは、前記受信したフレームの前記第３のフィールドから前記並行アクセス識別情報を取得し、前記取得した並行アクセス識別情報により、同じ論理デバイスに対する複数のアクセス要求を識別する、
データ処理システム。
【請求項３】
請求項２に記載のデータ処理システムにおいて、
前記チャネルコマンドワード中の前記第１のフィールドのサイズは、前記フレーム中の前記第３のフィールドのサイズより大きい、データ処理システム。
【請求項４】
請求項２に記載のデータ処理システムにおいて、
前記記憶サブシステムの制御プロセッサは、前記上位処理装置からの前記アクセス要求に応答するための所定構造の応答フレームを作成し、前記応答フレームに前記アクセス要求に割り当てられた並行アクセス識別情報と、前記アクセス対象の論理デバイスの論理デバイス識別情報とを設定し、そして、前記応答フレームを前記上位処理装置に返信する、
データ処理システム。
【請求項５】
請求項２に記載のデータ処理システムにおいて、
前記上位処理装置は、異なるアクセス要求の処理にそれぞれ割り当てることができる多数の制御ブロックをさらに備え、
前記上位処理装置の前記チャネル部は、前記或る論理デバイスに対して複数のアクセス要求が発生した場合、前記複数のアクセス要求に異なる制御ブロックを割り当て、そして、前記複数のアクセス要求に割り当てた前記異なる制御ブロックと前記異なる並行アクセス識別情報とを用いて、前記複数のアクセス要求の処理を並行的に制御する、
データ処理システム。
【請求項６】
請求項２に記載のデータ処理システムにおいて、
前記上位処理装置の前記チャネル部は、各アクセス要求のための前記フレームの作成に使用される制御情報を各々格納するための複数のサブチャネルを有し、前記複数のサブチャネルの中から現在使用されていないフリーサブチャネルを識別し、各アクセス要求が発生した場合、各フリーサブチャネルを前記各アクセス要求に動的に割り当てる、
データ処理システム。
【請求項７】
請求項２に記載のデータ処理システムにおいて、
前記記憶サブシステムは、前記受信したチャネルコマンドワードから取得した前記論理デバイス識別情報と、前記受信したフレームから取得した前記並行アクセス識別情報との組み合わせに基づいて、同一の論理デバイスに対する複数のアクセス処理にそれぞれ割り当られた複数のアクセス管理ブロックを生成し、前記複数のアクセス管理ブロックを用いて前記複数のアクセス処理を並行的に制御する、
データ処理システム。
【請求項８】
請求項１に記載のデータ処理システムにおける前記上位処理装置。
【請求項９】
請求項１に記載のデータ処理システムにおける前記記憶サブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位処理装置とこれに接続された上位処理装置から送られてくるデータを記憶管理する記憶サブシステムとを備えたデータ処理システムに関する。
【背景技術】
【０００２】
メインフレーム系の上位処理装置とディスクアレイ装置のような記憶サブシステムとがチャネルインタフェースを介して相互通信可能に接続された構成をもつデータ処理システムにおいて、上位処理装置は、記憶サブシステムに対するアクセス要求を処理するため、コマンドコード、コマンドパラメタ及びデータを含む複数のチャネルコマンドワード（以下、ＣＣＷと略記する）の連鎖を作成し、その複数のＣＣＷの連鎖（以下、ＣＣＷチェインという）を記憶サブシステムへ送信する。ＣＣＷチェインについてさらに述べると、上位処理装置から記憶サブシステムへデータを転送する場合、「ＩＢＭ社  3390／9390 Storage Control Reference」に記載されているように、一般的には、ＤＸ（Define Extent）とＬＯＣ（LOCate record）にＷＲＩＴＥ系コマンドが連鎖される。例えば、１つのレコードを記憶サブシステムに書き込む場合、ＤＸ、ＬＯＣ及びＷＲＣＫＤ（WRite Count, Key and Data）という複数のＣＣＷをこの順序で連鎖させたＣＣＷチェインが作成され送信される。また、ＲＥＡＤ及びＷＲＩＴＥ系コマンドに先行する上述したＤＸ等のコマンドは接頭コマンドと呼ばれる。
【０００３】
メインフレーム系データ処理システムでは、上位処理装置と記憶サブシステム間のチャネルインタフェースのためのプロトコルとして、世界的に広く普及したプロトコルが存在する。上位処理装置と記憶サブシステム間のＣＣＷチェインの伝送は、その普及したプロトコルにより規定された構造のフレームを用いて行なわれる。そのフレームはインフォメーションフィールドと呼ばれるフィールドを含み、このインフォメーションフィールドは、デバイスヘッダとデバイス情報ブロックを含み、そして、デバイス情報ブロックにはＣＣＷの内容（コマンド、コマンドパラメタ及びデータ）が設定される。また、上記デバイスヘッダは２バイトのデバイスアドレスフィールドをもち、その中の上位１バイト領域は予備領域であり、下位１バイト領域はデバイスアドレスの指定に使うことができる。
【０００４】
このようなメインフレーム系データ処理システムにおいて、記憶サブシステム内の同一論理デバイスに対する複数のアクセス要求を並行処理するための技術が、例えば特許文献１に開示されている。
【０００５】
一般に、上位処理装置から記憶サブシステムへアクセス要求を行なう場合、上位処理装置は、その処理対象となる実記憶領域を、これに対応づけて予め定義された論理デバイスのアドレスを用いて指定し、その論理デバイスに１対１に予め割り当てられた制御データのセットである制御ブロックを用いて、そのアクセス要求処理を実行する。初期のメインフレーム系データ処理システムでは、１つの論理デバイスのアクセス処理には１つの制御ブロックのみしか割り当てることができない。そのため、１つの論理デバイスに対して連続して複数のアクセス要求が発生した場合、前のアクセス要求の処理が完了するまで、次のアクセス要求の処理が開始できず、これが原因で、上位処理装置側で待ち時間を生じる。
【０００６】
このような不都合を解消するため、特許文献１の開示によれば、上位処理装置は、同じ論理デバイスに対して複数のアクセス要求が発生した場合、それら複数のアクセス要求にそれぞれ対応した複数の制御ブロックを作成し、そして、それら複数の制御ブロックに対してそれぞれ異なる並行アクセス識別情報を割り当てる。さらに、上位処理装置は、記憶サブシステムへ送信される各アクセス要求フレーム上のデバイスアドレスの下位１バイトに、アクセス対象の論理デバイスのアドレスを設定し、上位1バイトの予備領域に、各アクセス要求に対応する並行アクセス識別情報を設定する。記憶サブシステムは、受信した各アクセス要求フレームのデバイスアドレスに設定された並行アクセス識別情報を用いて、同一論理デバイスに対する複数のアクセス要求を識別する、このようにして、同じ論理デバイスに対する複数のアクセス要求を並行的に処理する。
【特許文献１】特開２００１−３１２４５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
一般に、記憶サブシステムは、複数の論理デバイスアドレスを纏めてコントロールユニット（以下、ＣＵという）というユニットで管理する。上述したように、メインフレーム系データ処理システムでは、世界的に広く普及したチャネルインタフェースのためのプロトコルが存在し、そのプロトコルに単純に従えば、上位処理装置から記憶サブシステムに送られるアクセス要求フレーム上のデバイスアドレスの下位1バイト領域に、記憶サブシステム内のアクセス対象の論理デバイスアドレスが設定される。そのため、１つのＣＵで管理できる論理デバイスアドレスには１バイトの制限があり、よって、１つのＣＵで管理できる論理デバイスの最大個数は２５６に制限される。
【０００８】
特許文献１の開示においても、上記プロトコルに単純に従った方法で論理デバイスアドレスがアクセス要求フレーム内に設定される。そのため、チャネルインタフェースで設定できるアドレス数が、記憶サブシステム側で管理できる論理デバイスのアドレス数を制限してしまう。しかし、将来、記憶媒体（例えばハードディスクドライブ等）の大容量化に伴い、上記のようなチャネルインタフェースの制限を受けずに、記憶サブシステム内の論理デバイスのアドレス数を増大させ得るようにすることが望まれる。
【０００９】
本発明の目的は、上位処理装置と記憶サブシステムとがチャネルインタフェースを通じて通信可能に接続されたデータ処理システムにおいて、チャネルインタフェース上のデバイスアドレス制限を超えて論理デバイスアドレス数を拡張できるようにすることにある。
【００１０】
本発明の他の目的は、上位処理装置と記憶サブシステムとがチャネルインタフェースを通じて通信可能に接続されたデータ処理システムにおいて、記憶サブシステム内の同一論理デバイスに対する複数アクセス要求の並行処理性能を向上させることにある。
【課題を解決するための手段】
【００１１】
本発明の原理に従えば、上位処理装置と記憶サブシステム間のチャンネルインタフェースの仕様に左右されないフレーム中の場所に、論理デバイス識別情報が設定されて伝送される。それにより、チャネルインタフェース上のデバイスアドレス制限を超えて論理デバイス識別情報数を拡張できるようになる。
本発明の一つの側面に従えば、上位処理装置と、前記上位処理に通信可能に接続され、データを記憶するための複数の論理デバイスを有する記憶サブシステムとを備えたデータ処理システムにおいて、前記上位処理装置は、前記各論理デバイスに対するアクセス要求を記憶サブシステムに通知するチャネル部を有し、前記記憶サブシステムは、前記上位処理装置から通知された前記アクセス要求に応答して、前記アクセス要求により要求された各論理デバイスに対するアクセス処理を制御する制御プロセッサを有する。
【００１２】
前記上位処理装置の前記チャネル部は、或る論理デバイスに対するアクセス要求が発生した場合、前記アクセス要求に対応する１以上のチャネルコマンドワードを作成し、前記チャネルコマンドワードの少なくとも一つの中の第１のフィールドに、前記或る論理デバイスを識別するための論理デバイス識別情報を設定し、前記所定構造の１以上のフレームを作成し、前記フレームの中の第２のフィールドに前記チャネルコマンドワードを設定し、そして、前記フレームを前記記憶サブシステムへ送信するように構成されている。
【００１３】
また、前記記憶サブシステムの前記制御プロセッサは、前記上位処理装置から送信された前記フレームを受信し、前記受信したフレームの前記第２のフィールドから前記チャネルコマンドワードを受信し、前記受信したチャネルコマンドワードの少なくとも一つの中の前記第１のフィールドから前記論理デバイス識別情報を取得し、前記取得した論理デバイス識別情報に基づきアクセス対象の論理デバイスがどれであるかを特定し、そして、前記受信されたチャネルコマンドワードに従って前記アクセス対象の論理デバイスに対するアクセス処理を制御するように構成されている。
【００１４】
このデータ処理システムによれば、上位処理装置において記憶サブシステム内の或る論理デバイスに対するアクセス要求が発生した場合、アクセス対象の論理デバイスを特定する論理デバイス識別情報は、アクセス要求のチャネルコマンドワード（以下、ＣＣＷという）中に組み込まれて、記憶サブシステムへ送信される。上位処理装置と記憶サブシステム間の通信は、両者間のチャネルインタフェースの仕様に従って、所定構造のフレームに通信内容を設定して、そのフレームを送受信することで行なわれる必要があり、ＣＣＷは１以上のフレーム内に組み込まれて伝送されることになる。しかし、チャネルインタフェースにとり、フレーム中に組み込まれるＣＣＷは単なるデータのようなものであり、ＣＣＷの構造やサイズは、チャネルインタフェースの仕様には制限されない。従って、ＣＣＷ中に組み込まれる論理デバイス識別情報のサイズも、チャネルインタフェースの仕様には制限されない。従って、チャネルインタフェースの仕様に制限されずに、管理可能な論理デバイス識別情報の数を増大させることができる。
【００１５】
本発明に従うデータ処理システムの好適な実施形態では、前記上位処理装置の前記チャネル部は、前記或る論理デバイスに対して複数のアクセス要求が発生した場合、前記複数のアクセス要求に異なる並行アクセス識別情報を割り当て、そして、前記複数のアクセス要求に割り当てた前記異なる並行アクセス識別情報を、それぞれのアクセス要求のための前記フレームの第３のフィールドに設定して前記記憶サブシステムへ送信する。また、前記記憶サブシステムの制御プロセッサは、前記受信したフレームの前記第３のフィールドから前記並行アクセス識別情報を取得し、前記取得した並行アクセス識別情報により、同じ論理デバイスに対する複数のアクセス要求を識別する。
【００１６】
このように、並行アクセス識別情報を用いることで、同一の論理デバイスに対して発生した複数のアクセス要求を並行的に処理することが可能である。並行処理可能なアクセス要求の最大数は、並行アクセス識別情報のサイズにより決まり、記憶サブシステムに実装されている論理デバイス数には依存しない。
【００１７】
また、好適な実施形態では、並行アクセス識別情報は、フレーム内のデバイスアドレスのフィールドに設定され、論理デバイス識別情報は、接頭コマンドのＣＣＷ内のコマンドパラメタ内の所定フィールドに設定されるが、前者のフィールドに比べて、後者のフィールドはサイズが遥かに大きい。よって、前者のフィールドに論理デバイス識別情報を設定する従来技術に比べて、遥かに多くの論理デバイスを管理することが可能である。
【００１８】
また、好適な実施形態では、前記記憶サブシステムの制御プロセッサは、前記上位処理装置からの前記アクセス要求に応答するための所定構造の応答フレームを作成し、前記応答フレームに前記アクセス要求に割り当てられた並行アクセス識別情報と、前記アクセス対象の論理デバイスの論理デバイス識別情報とを設定し、そして、前記応答フレームを前記上位処理装置に返信するように構成されている。応答フレーム中における並行アクセス識別情報と論理デバイス識別情報の設定の仕方も、上述した上位処理装置から送信されるアクセス要求フレームのそれと同様である。
【００１９】
また、好適な実施形態では、前記上位処理装置は、異なるアクセス要求の処理にそれぞれ割り当てることができる多数の制御ブロックをさらに備え、前記上位処理装置の前記チャネル部は、前記或る論理デバイスに対して複数のアクセス要求が発生した場合、前記複数のアクセス要求に異なる制御ブロックを割り当て、そして、前記複数のアクセス要求に割り当てた前記異なる制御ブロックと前記異なる並行アクセス識別情報とを用いて、前記複数のアクセス要求の処理を並行的に制御するように構成されている。
【００２０】
前記上位処理装置の前記チャネル部は、各アクセス要求のための前記フレームの作成に使用される制御情報を各々格納するための複数のサブチャネルを有し、前記複数のサブチャネルの中から現在使用されていないフリーサブチャネルを識別し、各アクセス要求が発生した場合、各フリーサブチャネルを前記各アクセス要求に動的に割り当てるように構成されている。
【００２１】
また、好適な実施形態では、前記記憶サブシステムは、前記受信したチャネルコマンドワードから取得した前記論理デバイス識別情報と、前記受信したフレームから取得した前記並行アクセス識別情報との組み合わせに基づいて、同一の論理デバイスに対する複数のアクセス処理にそれぞれ割り当られた複数のアクセス管理ブロックを生成し、前記複数のアクセス管理ブロックを用いて前記複数のアクセス処理を並行的に制御するように構成されている。
【００２２】
本発明の別の側面に従えば、上述したデータ処理システムにおける上位処理装置が提供される。
【００２３】
本発明のまた別の側面に従えば、上述したデータ処理システムにおける記憶サブシステムが提供される。
【００２４】
本発明のまた別の側面に従えば、上位処理装置と、前記上位処理に通信可能に接続された記憶サブシステムとを備えたデータ処理システムにおいて、前記記憶サブシステム内の複数の論理デバイスに対するアクセス要求を処理する方法において、
Ａ  前記上位処理装置にて、
或る論理デバイスに対するアクセス要求が発生した場合、前記アクセス要求に対応する１以上のチャネルコマンドワードを作成するステップと、
前記チャネルコマンドワードの少なくとも一つの中の第１のフィールドに、前記或る論理デバイスを識別するための論理デバイス識別情報を設定するステップと、
前記所定構造の１以上のフレームを作成し、前記フレームの中の第２のフィールドに前記チャネルコマンドワードを設定するステップと、
前記フレームを前記記憶サブシステムへ送信するステップと、
を有し、
Ｂ  前記記憶サブシステムにて、
前記上位処理装置から送信された前記フレームを受信するステップと、
前記受信したフレームの前記第２のフィールドから前記チャネルコマンドワードを受信するステップと、
前記受信したチャネルコマンドワードの少なくとも一つの中の前記第１のフィールドから前記論理デバイス識別情報を取得するステップと、
前記取得した論理デバイス識別情報に基づきアクセス対象の論理デバイスがどれであるかを特定するステップと、
前記受信されたチャネルコマンドワードに従って前記アクセス対象の論理デバイスに対するアクセス処理を制御するステップと、
を有するアクセス要求処理方法が提供される。
【発明の効果】
【００２５】
本発明に従うデータ処理システム及びアクセス要求処理方法によれば、上位処理装置と記憶サブシステム間のチャネルインタフェースの仕様によるデバイスアドレス数の制限を越えて、管理可能な論理デバイス数を増大させることができる。
【００２６】
本発明のデータ処理システムの好適な実施形態によれば、実装している論理デバイス数に依存することなく、論理デバイスに対する並行アクセス処理を実現できる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態を図面を参照しながら詳細に説明する。
【００２８】
図１は、本発明の一実施形態にかかるメインフレーム系データ処理システムの全体構成を示す。
【００２９】
図１に示すように、この実施形態にかかるデータ処理システムは、上位処理装置１０１と、記憶サブシステム１０２と、上位処理装置１０１と記憶サブシステム１０２とを通信可能に接続するケーブル１００とを備える。このデータ処理システムでは、上位処理装置１０１内でのアクセス要求の処理、上位処理装置１０１から記憶サブシステム１０２へのアクセス要求の伝送、及び、記憶サブシステム１０２内でのアクセス要求の処理のそれぞれの側面において、本発明の原理に従った新規な技術が採用されている。その結果として、同一の論理デバイスに対する複数のアクセス要求を並行処理する性能が従来技術よりも向上し、また、上位処理装置１０１と記憶サブシステム１０２間のチャネルインタフェースのデバイスアドレス数の制限を越えて、管理できる論理デバイスアドレス数が増大することができる。以下に、このデータ処理システムの構成を詳細に説明する。
【００３０】
上位処理装置１０１は、典型的にはメインフレーム系のコンピュータであるが、これは説明のための例示に過ぎず、他のタイプのコンピュータであってもよい。上位処理装置１０１は、オペレーティングシステムやユーザプログラム等のコンピュータプログラムを実行するＣＰＵ１１１と、それらコンピュータプログラムや各種の制御データ等を格納する主記憶装置部１１２と、主記憶装置部１１２と記憶サブシステム１０２との間のデータ転送を制御するチャネル部１１３とを有する。チャネル部１１３は、データ転送及びアクセス要求の処理に必要な各種の制御情報を格納する複数のサブチャネル（以下、ＳＵＢＣＨという）１１３１と、サブチャネル（以下、ＳＵＢＣＨという）１１３１に格納された情報に基づいて、所定のチャネルインタフェースのプロトコルに従ったフレームを作成して、そのフレームを記憶サブシステム１０２に送信したり、記憶サブシステム１０２からフレームを受信したりする入出力装置１１３２とを有する。アクセス要求の処理に必要な制御情報（アクセス対象の論理デバイスアドレス、後述する並行アクセス識別子、およびアクセス要求に対応するＣＣＷの主記憶装置部１１２内でのアドレスなど）を或るＳＵＢＣＨ１１３１に格納することにより、そのアクセス要求を記憶サブシステム１０２に通知するためのフレームが作成されて、記憶サブシステム１０２に伝送されることになる。
【００３１】
記憶サブシステム１０２は、上記チャネルインタフェースを用いて上位処理装置１０１のチャネル部１１３に対するフレームの転送を行なう入出力制御装置１２１と、記憶サブシステム１０２内に格納されているデータを管理しアクセス処理を制御する制御プロセッサ１２２と、アクセス処理を制御するための制御情報やデータを管理するための制御情報等を格納するメモリ１２３と、データの読み書き高速化するためのキャッシュメモリ１２４と、データを格納する複数の物理デバイス（例えば、ハードディスクドライブ）１２５とを備える。
【００３２】
制御プロセッサ１２２は、複数の物理デバイス１２５が提供する記憶領域を、多数の論理デバイス（いわゆるボリューム）に分けて管理する。さらに、制御プロセッサ１２２は、多数の論理デバイスを、制御ユニット（以下、ＣＵという）と呼ばれる複数のグループに分けて管理する。各ＣＵには、ユニークなＣＵ識別子が割り当てられ、また、各論理デバイスには、各ＣＵ内でユニークな論理デバイスアドレスが割り当てられる。
【００３３】
上位処理装置１０１は、或る論理デバイスに対するアクセス要求を記憶サブシステム１０２へ送信する際、アクセス対象の論理デバイスの論理デバイスアドレスと、その論理デバイスが属するＣＵのＣＵ識別子を指定することになる。ここで、後に具体的に説明されるように、上位処理装置１０１が指定するアクセス対象の論理デバイスアドレスは、従来技術のように上位処理装置１０１と記憶サブシステム１０２間のチャネルインタフェースのフレーム上のデバイスアドレスフィールドに設定されるのではなく、そのフレームに設定されたアクセス要求に対応するＣＣＷ内に設定される（例えば、ＲＥＡＤ及びＷＲＩＴＥ系のアクセス要求の場合、接頭コマンドのコマンドパラメタ内に設定され得る）。また、そのフレーム上のデバイスアドレスフィールドには、アクセス対象の論理デバイスアドレスに代えて、同じ論理デバイスに対する並行処理される複数のアクセス要求を識別するための識別情報（以下、並行アクセス識別子という）が設定される。その結果、１つのＣＵに属する論理デバイスの個数は、そのフレームのデバイスアドレスに設定できる最大のデバイスアドレス数（例えば、２５６個）を超えることが可能になる。また、同一の論理デバイスに対する複数のアクセス要求を並行処理することが可能になる。
【００３４】
次に、本実施形態にかかるデータ処理システムにおいて、上位処理装置１０１が主記憶装置部１１２内に生成する、複数のアクセス要求を並行処理するための制御情報の構成について説明する。
【００３５】
図２は、上位処理装置１０１の主記憶装置部１１２内に存在する複数アクセス要求の並行処理のための制御情報の構成例を示す。
【００３６】
図２に示される制御情報の構成において注目すべきことは、同一の論理デバイスに対して複数のアクセス要求が発生した場合、それら複数のアクセス要求に対して異なる並行アクセス識別子をもった複数のユニット制御ブロックが割り当られ、それら複数のユニット制御ブロックを用いることで、それら複数のアクセス要求を並行的に処理することが可能になっている点である。以下、この制御情報の構成を詳細に説明する。
【００３７】
図２に示すように、主記憶装置部１１２内には、多数のユニット制御ブロック(以下、ＵＣＢという）２０１、２０２、２０３、２０４、２５２、２５３、２５４が存在する。各ＵＣＢは、各論理デバイスへの各アクセス要求の処理に必要な論理デバイスアドレス、ＣＵ識別子、並行アクセス識別子、ＵＣＢ属性フラグ等の各種の制御データの集合体である。基本的に、１つのアクセス要求に対して１つのＵＣＢが割り当てられる。各ＵＣＢは「基本」と「並行アクセス」と「フリー」という３種類の属性（または種別）のうちの何れか一つの属性をもつ（以下、それぞれの属性のＵＣＢを、基本ＵＣＢ、並行アクセスＵＣＢ、フリーＵＣＢという）。属性に関わらず、いずれのＵＣＢも、その構造は同一であってよい。
【００３８】
基本ＵＣＢは、記憶サブシステム１０２内に実装された各論理デバイスに予め割り当てられたＵＣＢである。実際には、記憶サブシステム１０２内には非常に多数の論理デバイスが存在するのが通常であるから、それら非常に多数の論理デバイスにそれぞれ割り当れられた非常に多数の基本ＵＣＢが、上位処理装置１０１の主記憶装置部１１２内に存在するが、図２では、説明の都合上、２つの論理デバイスアドレス「Ａ」及び「Ｂ」にそれぞれ対応付けられた２つ基本ＵＣＢ２０１、２０２だけが例示されている。各基本ＵＣＢは、それに割り当られた各論理デバイスに対する１つのアクセス要求に対して割り当てられることができる。
【００３９】
並行アクセスＵＣＢは、１つの論理デバイスに対して複数のアクセス要求が発生した場合に、それら複数のアクセス要求のうちの、基本ＵＣＢに割り当てられた１つのアクセス要求以外の他のアクセス要求に割り当られる。１つの並行アクセスＵＣＢは、或る論理デバイスに対する１つのアクセス要求に割り当てられ、そして、その同じ論理デバイスに対する他のアクセス要求に割り当てられた基本ＵＣＢと相互に関連付けられる。図２の例では、論理デバイスアドレス「Ａ」に割り当てられた基本ＵＣＢ２０１に、２つの並行アクセスＵＣＢ２０３、２０４が関連付けられている。これは、論理デバイスアドレス「Ａ」の論理デバイスに対して現在３つのアクセス要求が存在しており、１つ目のアクセス要求には基本ＵＣＢ２０１が割り当られ、２つ目のアクセス要求には１つ目の並行アクセスＵＣＢ２０３が割り当られ、３つ目のアクセス要求には２つ目の並行アクセスＵＣＢ２０４が割り当てられたことを意味する。他方、論理デバイスアドレス「Ｂ」に割り当てられた基本ＵＣＢ２０２には、何の並行アクセスＵＣＢも関連付けられていない。これは、論理デバイスアドレス「Ｂ」の論理デバイスには複数のアクセス要求が現在存在しないこと（１つのアクセス要求のみが存在するか、アクセス要求が無いこと）を意味する。
【００４０】
図示の基本ＵＣＢ２０１と並行アクセスＵＣＢ２０３、２０４のように、同じ論理デバイスに対する複数のアクセス要求にそれぞれ割り当られて互いに関連付けられた複数のＵＣＢ（１つの基本ＵＣＢと１以上の並行アクセスＵＣＢ）には、それら複数のアクセス要求を識別するための互に異なる並行アクセス識別子が割り当てられる。そして、このように異なる並行アクセス識別子をもつ複数のＵＣＢ（１つの基本ＵＣＢと１以上の並行アクセスＵＣＢ）を使うことによって、複数のアクセス要求が並行処理することが可能である。
【００４１】
フリーＵＣＢは、いずれの論理デバイスに対するいずれのアクセス要求にも現在まだ割り当られていない（つまり、いずれの論理デバイスにも割り当てることができる）ＵＣＢである。フリーＵＣＢは、或るアクセス要求に割り当てられた時に、その属性が変更されて上述した並行アクセスＵＣＢに遷移し、また、それに割り当られたアクセス要求の処理が終わると、再び属性が変更されてフリーＵＣＢに遷移する。このように、フリーＵＣＢは並行アクセスＵＣＢの源である。実際、並行処理され得るアクセス要求の数は多数であるから、多数のフリーＵＣＢを主記憶装置部１１２内が用意されるが、しかし、図２では、説明の都合上、３つのフリーＵＣＢ２５２、２５３、２５４だけが例示されている。
【００４２】
図２に示されるように、複数のフリーＵＣＢ２５２、２５３、２５４は、フリーＵＣＢキュー２０５内で管理される。フリーＵＣＢキュー２０５内では、そのキュー２０５内の最初のフリーＵＣＢ２５２を指し示すＵＣＢポインタ２５１から、複数のフリーＵＣＢ２５２、２５３、２５４がキュー構造でシリアルに関連付けられる。図示省略されているが、各フリーＵＣＢの構造は並行アクセスＵＣＢと同一であり、また、フリーＵＣＢがキュー構造で次のフリーＵＣＢに接続されるためのポインタには、後に説明する各ＵＣＢ内の次ＵＣＢアドレス（例えば、基本ＵＣＢ２０１内の参照番号２１８）が使用される。
【００４３】
所定の或る論理デバイスに対して新たな一つのアクセス要求が発生した場合、もし、その論理デバイスに対応付けられた基本ＵＣＢが既に別のアクセス要求に割り当られていたならば、フリーＵＣＢキュー２０５内から一つのフリーＵＣＢが取り出され、そのフリーＵＣＢが並行アクセスＵＣＢに遷移して、その新たなアクセス要求に割り当てられる。その新たなアクセス要求の処理が終わると、その並行アクセスＵＣＢは、フリーＵＣＢに遷移して再びフリーＵＣＢキュー２０５に入る。
【００４４】
図２に示すように、上位処理装置１０１の主記憶部１１２には、さらに、フリーＳＵＢＣＨ識別子キュー２０６が存在し、そこでは、図１に示した複数のＳＵＢＣＨ（サブチャネル）１１３１のうち、何のアクセス要求処理にも現在割り当てられていないフリーＳＵＢＣＨを識別するＳＵＢＣＨ識別子が管理される。図２の例では、フリーＳＵＢＣＨ識別子キュー２０６内には２つのＳＵＢＣＨ識別子２６２、２６３があり、これは、この２つのＳＵＢＣＨ識別子２６２、２６３にそれぞれ対応する２つのＳＵＢＣＨが現在フリーであることを意味する。
【００４５】
フリーＳＵＢＣＨ識別子キュー２０６内では、このキュー２０６内の最初のＳＵＢＣＨ識別子２６２を指すＳＵＢＣＨ識別子ポインタ２６１から、現在存在するフリーＳＵＢＣＨにそれぞれ対応したＳＵＢＣＨ識別子２６２、２６３がキュー構造でシリアルに関連付けられる。新しい一つのアクセス要求が発生した場合、上述したように、その新しいアクセス要求に対して或るＵＣＢが割り当られるが、その際、フリーＳＵＢＣＨ識別子キュー２０６内から一つのＳＵＢＣＨ識別子が取り出され、そのＳＵＢＣＨ識別子がそのＵＣＢに登録され、それにより、そのＳＵＢＣＨ識別子により特定される一つのＳＵＢＣＨが、その新しいアクセス要求の処理のために確保されることになる。
【００４６】
図２に示すように、上位処理装置１０１の主記憶部１１２には、さらに、各アクセス要求の処理を管理するための入出力キュー(以下、ＩＯＱという）２０７と、ＩＯＱ２０７に関連付けられた入出力サービスブロック（以下、ＩＯＳＢという）２０８と、ＩＯＳＢ２０８に関連付けられたチャネルプログラム２０９が存在する。実際には、現在存在する全てのアクセス要求の各々に１対１でＩＯＱが割り当てられるので、主記憶装置部１１２内には多数のＩＯＱが存在するのであるが、図２では、説明の都合上、１つのＩＯＱ２０７のみしか例示されていない。
【００４７】
図２に示すように、ＩＯＱ２０７は、それに関連付けられたＩＯＳＢ２０８を指すＩＯＳＢアドレス２７１を有する。ＩＯＱ２０７内のＩＯＳＢアドレス２７１は、ＩＯＱ２０７に使用可能なＵＣＢが割り当てられた時点で設定される。ＩＯＳＢ２０８は、アクセス要求の処理に必要なチャネルプログラム２０９やＵＣＢをサブチャネル１１３１(図１参照）に渡すために使われるデータブロックである。ＩＯＳＢ２０８は、それに関連付けられたチャネルプログラム２０９を指すにチャネルプログラムアドレス２８１と、それに関連付けられたＵＣＢを指すＵＣＢアドレス２８２とを有する。チャンネルプログラム２０９は、アクセス処理を実現するためのＣＣＷ（チャネルコマンドワード）２９１、２９２のチェインを有する。図２には、ＲＥＡＤ（読み出し）及びＷＲＩＴＥ（書き込み）系のアクセス要求に対応するＣＣＷ２９１、２９２のチェインが例示されており、最初のＣＣＷ２９１は、接頭コマンドのコマンドコード２９３とコマンドパラメタ２９５を含み、２番目のＣＣＷ２９２は、要求されるアクセス動作のコマンドコード（図示の例「ＷＲＣＫＤ」はＷＲＩＴＥのコマンドコードである）２９４と動作対象のデータ２９６とを含む。
【００４８】
図２に示すように、上位処理装置１０１の主記憶部１１２には、さらに、記憶サブシステム１０２内のＣＵ毎に並行アクセス識別子の使用状態を管理するための並行アクセス管理テーブル２０１０が存在する。並行アクセス管理テーブル２０１０は、ＣＵ毎に、ＣＵ識別子と並行アクセス管理ビットマップを有する。実際には多数のＣＵが記憶サブシステム１０２内に存在するから、それら多数のＣＵにそれぞれ割り当てられた多数のＣＵ識別子と並行アクセス管理ビットマップのセットが並行アクセス管理テーブル２０１０内に存在するが、図２では、説明の都合上、２つのＣＵに割り当てられた２セットのＣＵ識別子２１０１、２１０２と並行アクセス管理ビットマップ２１０３、２１０４のみが示されている。各ＣＵ識別子は、各ＣＵを特定する。各ＣＵに割り当てられた並行アクセス管理ビットマップは、各ＣＵに関して発行可能なＮ個の並行アクセス識別子の使用状態を示すＮビットのビットマップを有し、各ビットは各並行アクセス識別子に対応する。この実施形態では、Ｎ＝２５６であり、この「２５６」という数は、後に具体的に説明するように、上位処理装置１０１と記憶サブシステム１０２間のチャネルインタフェースのフレームのデバイスアドレスフィールドに設定できるデバイスアドレス数（１バイト）に相当する。従って、この実施形態では、１つのＣＵに関して値「０」から値「２５５」までの最大２５６個の並行アクセス識別子が発行でき、このことは、１つのＣＵに関して最大２５６個のアクセス処理を並行処理できることを意味する。
【００４９】
各並行アクセス管理ビットマップ内の各ビットの値「１」（ＯＮ状態）は、そのビットに対応する並行アクセス識別子が現在使用中であることを意味し、値「０」（ＯＦＦ状態）は現在未使用であることを意味する。上位処理装置１０１において或る論理デバイスに対する新しいアクセス要求が発生した場合、並行アクセス管理テーブル２０１０を用いて次のようにして、並行アクセス識別子がそのアクセス要求に割り当られる。すなわち、アクセス対象の論理デバイスが属するＣＵのＣＵ識別子（例えば「０」）２１０１に対応する並行アクセス管理ビットマップ２１０３が参照され、先頭ビットから順に、未使用（値「０」）を示すビットがサーチされる。図２に示された例では、先頭と２番目のビットはともに使用中（値「１」）を示し、３番目のビットが未使用（値「０」）を示している。これは、先頭と２番目のビットにそれぞれ対応する番号「０」と番号「１」の並行アクセス識別子は使用中であり、３番目ビットに対応する番号「２」の並行アクセス識別子が未使用であることを意味する。そこで、未使用の並行アクセス識別子「２」が、そのアクセス要求に割り当てられる（そのアクセス要求に割り当てられたＵＣＢに書き込まれる）、同時に、並行アクセス管理ビットマップ２１０３内の３番目のビットは使用中（値「１」）に変更される。その後、そのアクセス要求の処理が終わると、その３番目のビットは再び未使用（値「０」）に戻される。
【００５０】
図２を参照して、各ＵＣＢの構造について、より詳細に説明する。上述したように、いずれの属性のＵＣＢも構造的には同じでよい。そこで、代表として図２中の基本ＵＣＢ２０１を例に取り、その構造を説明する。
【００５１】
ＵＣＢ２０１は、論理デバイスアドレス２１１、ＣＵ識別子２１２、並行アクセス識別子２１３、ＵＣＢ属性フラグ２１４、使用可能パス情報２１５、ＩＯＱアドレス２１６、ＳＵＢＣＨ識別子２１７、次ＵＣＢアドレス２１８、基本ＵＣＢアドレス２１９及びＵＣＢ管理フラグ２１１０を有する。ここで、論理デバイスアドレス２１１は、このＵＣＢ２０１に割り当られた一つの論理デバイスの論理デバイスアドレスである。ＣＵ識別子２１２は、このＵＣＢに割り当てられた論理デバイスが属するＣＵのＣＵ識別子である。並行アクセス識別子２１３は、このＵＣＢ２０１に割り当られた一つの並行アクセス識別子であり、上述したような方法で並行アクセス管理テーブル２０１０に基づいて割り当られる。ＵＣＢ属性フラグ２１４は、このＵＣＢ２０１の属性（種別）、すなわち、基本ＵＣＢか並行アクセスＵＣＢかフリーＵＣＢかを示す。使用可能パス情報２１５は、アクセス処理に用いることができるパスの情報である。ＩＯＱアドレス２１６は、このＵＣＢ２０１に割り当られたアクセス要求に割り当られたＩＯＱ２０７のアドレスである。ＳＵＢＣＨ識別子２１７は、このＵＣＢ２０１に割り当られたアクセス要求の処理に用いられたＳＵＢＣＨのアドレスであり、上述したように、フリーＳＵＢＣＨ識別子キュー２０６から取り出されたものである。次ＵＣＢアドレス２１８は、同じ論理デバイスに対する他のアクセス要求に割り当られた次の並行アクセスＵＣＢ２０３のアドレスであり、その並行アクセスＵＣＢ２０３にリンクする。基本ＵＣＢアドレス２１９は、同じ論理デバイスに対する或るアクセス要求に割り当られた基本ＵＣＢ２０１のアドレスであって、その基本ＵＣＢ２０１にリンクする。ＵＣＢ管理フラグ２１１０は、このＵＣＢ２１０が使用中かどうか（特定のアクセス要求に割り当てられているか否か）を管理するためのフラグである。
【００５２】
次に、本実施形態にかかるデータ処理システムにおいて、記憶サブシステム１０２がメモリ１２３内に生成する、上位処理装置１０１から受信した複数のアクセス要求を並行処理するため制御情報の構成について説明する。
【００５３】
図３は、記憶サブシステム１０２のメモリ１２３内に存在する複数アクセス要求の並行処理のための制御情報の構成例を示す。
【００５４】
図３に示すように、記憶サブシステム１０２のメモリ１２３内には、論理デバイスの論理デバイスアドレスや構成情報をそれぞれ管理するための多数の論理デバイス管理ブロック(以下、ＬＤＣＢという）３０１、３０２が存在する。実際には、記憶サブシステム１０２に実装された多数の論理デバイスにそれぞれ割り当てられた多数のＬＤＣＢが存在するが、図３では、図示の都合上、２つの論理デバイスに割り当られた２つのＬＤＣＢ３０１、３０２だけが示されている。
【００５５】
また、メモリ１２３内には、それぞれのアクセス処理を管理するための多数のジョブコントロールブロック（以下、ＪＣＢという）３０３、３０４、３０５、３６２、３６３、３６４が存在する。各ＪＣＢは、前述した上位処理装置１０１内のＵＣＢと同様に、「基本」「並行アクセス」及び「フリー」の３つの属性（種別）のいずれかをもつ（以下、それぞれの属性のＪＣＢを、基本ＵＣＢ，並行アクセスＪＣＢ及びフリーＪＣＢという）。いずれのＪＣＢも、属性に関係なく、構造的に同一であってよい。
【００５６】
各基本ＪＣＢは、各論理デバイスに１対1に割り当られ、同じ論理デバイスに割り当られたＬＤＣＢに関連付けられており、各論理デバイスに対する１つのアクセス要求に割り当てられることができる。実際には、記憶サブシステム１０２に実装された多数の論理デバイスにそれぞれ割当てられた多数の基本ＪＣＢが存在するが、図２では、論理デバイスアドレスが「Ａ」と「Ｂ」である２つの論理デバイスにそれぞれ割り当てられた２つの基本ＪＣＢ３０３、３０５だけが例示されている。
【００５７】
各並行アクセスＪＣＢは、同一の論理デバイスに対して複数のアクセス要求が受信された場合に、その複数のアクセス要求のうち、基本ＪＣＢに割り当てられた１つのアクセス要求以外の各アクセス要求に割り当てられる。各並行アクセスＪＣＢは、同じ論理デバイスに割り当れられた基本ＪＣＢに関連づけられる。各論理デバイスに対するアクセス要求の数の増減に応じて、並行アクセスＪＣＢの個数も増減するが、図３では、論理デバイスアドレスが「Ａ」の論理デバイスに割り当てられた１つの並行アクセスＪＣＢ３０４のみが例示されている。
【００５８】
各フリーＪＣＢは、いずれの論理デバイスに対するいずれのアクセス要求にも現在まだ割り当てられていない（つまり、いずれの論理デバイスにも割り当てることができる）ＪＣＢである。実際には、多数のフリーＪＣＢが用意されるが、図３では、３つのフリーＪＣＢ３６２、３６３、３６４のみが例示されている。フリーＪＣＢ３６２、３６３、３６４はフリーＪＣＢキュー３０６内で管理される。フリーＪＣＢキュー３０６では、そのキュー３０６内の先頭のフリーＪＣＢ３６２を指すＪＣＢポインタ３６１から、フリーＪＣＢ３６２、３６３、３６４がキュー構造でシリアルに関連付けられている。フリーＪＣＢキュー３０６は、並行アクセスＪＣＢの供給源である。すなわち、或る論理デバイスに対する１つのアクセス要求が受信されたとき、もし、その論理デバイスに割り当られた基本ＪＣＢが既に他のアクセス要求の処理に割り当られているならば、フリーＪＣＢキュー３０６内から１つのフリーＪＣＢが取り出され、そのフリーＪＣＢが並行アクセスＪＣＢに変更されて、その受信されたアクセス要求の処理に割り当られる。その後、そのアクセス要求の処理が終わると、その並行アクセスＪＣＢは、フリーＪＣＢに変更され、再びフリーＪＣＢキュー３０６に入れられる。
【００５９】
以下では、各ＬＤＣＢと各ＪＣＢの構造について、図３中のＬＤＣＢ３０１と基本ＪＣＢ３０３を代表例に取り説明する。
【００６０】
ＬＤＣＢ３０１は、論理デバイスアドレス３１１と、ＪＣＢ管理フラグ３１２と、ＪＣＢポインタアドレス３１３とを有する。論理デバイスアドレス３１１は、このＬＤＣＢ３０１が割り当られた論理デバイスのアドレスを示す。ＪＣＢ管理フラグ３１２は、このＬＤＣＢ３０１に関連付けられているＪＣＢの状態を管理するためのフラグである。ＪＣＢポインタアドレス３１３は、このＬＤＣＢ３０１と同じ論理デバイスに割り当てられた基本ＪＣＢ３０３のアドレスであり、その基本ＪＣＢ３０３をこのＬＤＣＢ３０１に関連付ける。１つのＬＤＣＢ３０１には必ず１つの基本ＪＣＢ３０３が関連付けられる。
【００６１】
ＪＣＢ３０３は、次ＪＣＢポインタアドレス３３１と、ＪＣＢ属性フラグ３３２と、並行アクセス識別子３３３と、アクセス処理用領域３３４と、ＬＤＣＢポインタアドレス３３５とを有する。次ＪＣＢポインタアドレス３３１は、このＪＣＢ３０３と同じ論理デバイスに割り当られた並行アクセスＪＣＢのアドレスを示し、その並行アクセスＪＣＢをこのＪＣＢ３０３に関連付ける。ＪＣＢ属性フラグ３３２は、このＪＣＢ３０３の属性（種類）、つまり基本ＪＣＢか並行アクセスＪＣＢかフリーＪＣＢかを示す。並行アクセス識別子３３３は、このＪＣＢ３０３に割り当てられたアクセス要求に割り当られた並行アクセス識別子を示す。アクセス処理用領域３３４は、このＪＣＢ３０３に割り当てられたアクセス要求を運んできた受信フレームの内容（つまり、そのアクセス要求を処理するために必要な受信フレームの内容）を格納するための記憶領域である。ＬＤＣＢポインタアドレス３３５は、このＪＣＢ３０３と同じ論理デバイスに割り当られたＬＤＣＢ３０１のアドレスを示し、このＪＣＢ３０３をそのＬＤＣＢ３０１に関連付ける。
【００６２】
次に、この実施形態にかかるデータ処理システムにおいて、上位処理装置１０１が生成するアクセス要求のためのＣＣＷチェインを用いて、アクセス対象の論理デバイスアドレスを指定する方法について説明する。
【００６３】
図４は、アクセス要求のためのＣＣＷチェインにおいて、ＲＥＡＤ及びＷＲＩＴＥ系のアクセス動作コマンドに先行する接頭コマンドのコマンドパラメタ（図２における参照番号２９５）の構造例を示す。図４は、ＲＥＡＤ及びＷＲＩＴＥ系の動作コマンドに先行する接頭コマンドのコマンドパラメタを例に取って示している。
【００６４】
図４に示すように、この接頭コマンドのコマンドパラメタ４００は、接頭コマンドを制御するための複数の制御情報（制御パラメータ）４０１、４０３と、接頭コマンドの制御には利用されない予備エリア４０２とを有する。この実施形態では、コマンドパラメタ４００の予備エリア４０２に、アクセス対象の論理デバイスアドレス４０２−１が設定される。ここで、コマンドパラメタ４００の構造、例えば予備エリア４０２のサイズは、上位処理装置１０１と記憶サブシステム１０２の設計者が適宜に決めることができ、上位処理装置１０１と記憶サブシステム１０２間のチャンネルインタフェースの仕様には制限されない。予備エリア４０２のサイズは、後述する図５に示すフレーム５００内のデバイスアドレス５２２ａ（ここには、後述するように並行アクセス識別子が設定される）のサイズ（１バイト）よりは大きく、例えば、十数バイト程度又はそれより大きくてもあってよく、そのため、予備エリア４０２を用いて指定できる論理デバイスアドレスも同様に十数バイト程度又はそれ以上でよい。その結果、チャンネルインタフェースの仕様に依存して論理デバイスアドレスが１バイトに制限される従来技術に比較して、遥かに多くの数の論理デバイスを管理することが可能である。
【００６５】
次に、この実施形態にかかるデータ処理システムにおいて、上位処理装置１０１と記憶サブシステム１０２間のシリアルチャネルインタフェースにおけるフレームの構造を説明する。
【００６６】
図５は、上位処理装置１０１から記憶サブシステム１０２間で伝送されるフレームの構造例を示す。
【００６７】
図５に示すように、上位処理装置１０１と記憶サブシステム１０２間のシリアルチャネルインタフェースにおいて転送されるフレーム５００は、大きく３つの領域、すなわち、リンクヘッダ（Link Header）５０１と、インフォメーションフィールド（Information Field）５０２、リンクトレーラ（Link Trailer）５０３とを有する。リンクヘッダ５０１には、フレーム５００の先頭を示す情報や送受信に使用されるパス情報などが含まれ、リンクトレーラ５０３には、フレーム５００の終端を示す情報や冗長チェックコードなどが含まれる。インフォメーションフィールド５０２は、デバイスヘッダ５１１と、デバイス情報ブロック５１２とを有する。
【００６８】
インフォメーションフィールド５０２のデバイス情報ブロック５１２には、アクセス要求に対応するＣＣＷやそのＣＣＷに関連する情報が設定される。図４に示された接頭コマンドのコマンドパラメタ４００に格納された論理デバイスアドレスは、接頭コマンドのＣＣＷの一部分であるから、インフォメーションフィールド５０２のデバイス情報ブロック５１２に設定されて転送される。ここで、周知の通り、チャネルインタフェースのプロトコルは、インフォメーションフィールド５０２のデバイス情報ブロック５１２に設定されるＣＣＷを単なるデータとして扱うにすぎず、ＣＣＷ自体の構造やデータサイズを制限するものではない。従って、図４を参照して説明したように、接頭コマンドのコマンドパラメタ４００を用いて指定できる論理デバイスアドレス数は、チャネルインタフェースの仕様による制限を越えて、増大させることができるわけである。
【００６９】
さて、図５に示すように、インフォメーションフィールド５０２のデバイスヘッダ５１１は、情報フィールド識別子（以下、ＩＦＩという）５２１と、デバイスアドレス部５２２と、ＤＨＦフィールド５２３とを有する。ＩＦＩ５２１には、アクセス対象の論理デバイスが属するＣＵのＣＵ識別子等が設定される。デバイスアドレス部５２２は、例えば１６ビット（２バイト）の情報であり、上位８ビット(上位１バイト）は予備エリア５２２ｂであり、下位８ビット(下位１バイト）はデバイスアドレス５２２ａである。従来技術によれば、１バイトのデバイスアドレス５２２ａに、アクセス対象の論理デバイスアドレスが設定されるため、１ＣＵ当たりの管理可能な論理デバイスの数が１バイトで指定できる２５６個に制限されてしまう。これに対し、この実施形態では、図４を参照して説明したように論理デバイスアドレスはチャネルインタフェースの仕様に制限されないＣＣＷそれ自体の中に設定するとともに、デバイスアドレス部５２２の下位１バイトのデバイスアドレス５２２ａには、各アクセス要求に割り当てられた並行アクセス識別子５２２ａ−１が設定される。従って、１ＣＵ当たりで管理可能な並行アクセス識別子の数は、１バイトで指定可能な２５６個に制限される。図２に示されたように、上位処理装置１０１は、並行アクセス管理ビットマップテーブル２０１０を用いて、１ＣＵ当たり最大２５６個の並行アクセス識別子を発行できるように制御を行うが、この最大２５６個という制限は、図５に示したように並行アクセス識別子５２２ａ−１が設定されるデバイスアドレス５２２ａが1バイトであることに起因する。なお、実用上、１ＣＵ当たり２５６個の並行アクセス識別子で、１ＣＵ内の並行アクセス要求を十分まかなえることが多い。
【００７０】
以上、この実施形態にかかるデータ処理システムの構成を説明した。次に、このデータ処理システムにおける、上位処理装置１０１と記憶サブシステム１０２のそれぞれにおけるアクセス要求処理の制御について説明する。まず、上位処理装置１０１が行うアクセス要求処理の制御について説明する。
【００７１】
図６は、上位処理装置１０１が実行するアクセス要求処理のフロー例を示す。
【００７２】
図６と図２を参照して、上位処理装置１０１のチャネル部１１３は、例えば論理デバイスアドレス「Ａ」をもつ論理デバイスに対する接頭コマンド／ＷＲＣＫＤのアクセス要求を検出（ステップ６０１）すると、１つのＩＯＱ２０７を取得し（ステップ６０２）、当該アクセス要求に対応したＩＯＳＢ２０８内のチャネルプログラムアドレス２８１により指し示されるチャネルプログラム２０９内のＣＣＷ２９１に格納されている接頭コマンドのコマンドパラメタ２９５に、アクセス対象の論理デバイスアドレス「Ａ」を設定し（ステップ６０３）、さらに、そのＩＯＳＢ２０８内のＵＣＢアドレス２８２から、アクセス対象の論理デバイスに割り当てられた基本ＵＣＢ２０１を特定する（ステップ６０４）。
【００７３】
チャネル部１１３は、基本ＵＣＢ２０１内のＵＣＢ管理フラグ２１１０から基本ＵＣＢ２０１が使用中か否かを判断し（ステップ６０５）、基本ＵＣＢ２０１が未使用であれば、基本ＵＣＢ２０１内のＵＣＢ管理フラグ２１１０を使用中に設定する（ステップ６０６）。さらに、チャネル部１１３は、並行アクセス管理テーブル２０１０を参照して、アクセス対象の論理デバイスが属するＣＵの並行アクセス識別子に空きがあるかを判断し（つまり、そのＣＵに割り当てられた並行アクセス管理ビットマップ中から「０」(未使用）のビットを探し）（ステップ６０７）、並行アクセス識別子に空きがあるならば（「０」のビットが見つかれば）、並行アクセス管理テーブル２０１０上のその見つかったビットを「１」（使用中）に設定して、そのビットに対応する並行アクセス識別子を確保し（ステップ６０８）、その確保した並行アクセス識別子を基本ＵＣＢ２０１内の並行アクセス識別子２１３に設定する（ステップ６０９）。
【００７４】
さらに、チャネル部１１３は、フリーＳＵＢＣＨキュー２０６からＳＵＢＣＨ識別子をサーチし（ステップ６１０）、フリーＳＵＢＣＨキュー２０６から或るＳＵＢＣＨ識別子、例えばＳＵＢＣＨ識別子２６３が見つかれば、その見つかったＳＵＢＣＨ識別子２６３をフリーＳＵＢＣＨ識別子キュー２０６から取り出し（ステップ６１１）、その取得したＳＵＢＣＨ識別子２６３を基本ＵＣＢ２０１内のＳＵＢＣＨ識別子２１７に設定する（ステップ６１２）。
【００７５】
さらに、チャネル部１１３は、基本ＵＣＢ２０１内のＩＯＱアドレス２１６に、取得したＩＯＱ２０７のアドレスを設定し（ステップ６１３）、ＩＯＱ２０７内のＩＯＳＢアドレス２７１を設定し（ステップ６１４）、基本ＵＣＢ２０１内のＳＵＢＣＨ識別子２１７が指定するＳＵＢＣＨ１１３１(図１参照）に、ＩＯＳＢ２０８内のチャネルプログラムアドレス２８１と、基本ＵＣＢ２０１内の論理デバイスアドレス２１１、ＣＵ識別子２１２、並行アクセス識別子２１３及び使用可能パス情報２１５とを設定する（ステップ６１５）。さらに、チャネル部１１３は、ＳＵＢＣＨ１１３１内に設定された上記情報を元に、並行アクセス識別子２１３をデバイスアドレス５２２ａに組み込んだフレーム５００（図５参照)を作成し（ステップ６１６）、入出力装置１１３２から記憶サブシステム１０２にそのフレーム５００を送信する（ステップ６２３）。
【００７６】
他方、ステップ６０５で基本ＵＣＢ２０１が使用不可(既に他のアクセス要求の処理に使用中である）の場合、チャネル部１１３は、フリーＵＣＢキュー２０５からフリーＵＣＢをサーチし（ステップ６１７）、フリーＵＣＢキュー２０５からフリーＵＣＢが見つかれば、その見つかったフリーＵＣＢを、並行アクセスＵＣＢ２０４として使うために、フリーＵＣＢキュー２０５から取り出し（ステップ６１８）、取得された並行アクセスＵＣＢ２０４内の論理デバイスアドレス２４１、ＣＵ識別子２４２及び使用可能パス情報２４５に、それぞれ、基本ＵＣＢ２０１内の論理デバイスアドレス２１１、ＣＵ識別子２１２及び使用可能パス情報２１５と同じデータを設定し（ステップ６１９）、基本ＵＣＢアドレス２４９に、基本ＵＣＢ２０１のアドレスを設定し（ステップ６２０）、ＵＣＢ属性フラグ２４４を並行アクセスに設定する（ステップ６２１）。さらに、チャネル部１１３は、基本ＵＣＢ２０１から次ＵＣＢアドレス２１８を辿って最後尾の並行アクセスＵＣＢ２０３を見付け、その最後尾の並行アクセスＵＣＢ２０３の次ＵＣＢアドレス２３８に、取得された並行アクセスＵＣＢ２０４のアドレスを設定し、取得された並行アクセスＵＣＢ２０４内のＵＣＢ管理フラグ２４１０を使用中に設定する（ステップ６０６）。
【００７７】
さらに、チャネル部１１３は、並行アクセス管理テーブル２０１０を参照して、アクセス対象の論理デバイスが属するＣＵの並行アクセス識別子に空きがあるか判断し（ステップ６０７）、並行アクセス識別子に空きがあるならば、並行アクセス管理テーブル２０１０上の空きの並行アクセス識別子に対応するビットを「１」（使用中）に設定してその空きの並行アクセス識別子を確保し（ステップ６０８）、確保した並行アクセス識別子をその並行アクセスＵＣＢ２０４内の並行アクセス識別子２４３に設定する（ステップ６０９）。さらに、チャネル部１１３は、フリーＳＵＢＣＨキュー２０６からＳＵＢＣＨ識別子をサーチし（ステップ６１０）、フリーＳＵＢＣＨキュー２０６からフリーＳＵＢＣＨ識別子、例えばフリーＳＵＢＣＨ識別子２６３が見つかれば、そのＳＵＢＣＨ識別子２６３をフリーＳＵＢＣＨ識別子キューから取り出し（ステップ６１１）、取得したＳＵＢＣＨ識別子２６３を並行アクセスＵＣＢ２０４内のＳＵＢＣＨ識別子２４７に設定する（ステップ６１２）。
【００７８】
さらに、チャネル部１１３は、並行アクセスＵＣＢ２０４内のＩＯＱアドレス２４６にＩＯＱ２０７のアドレスを設定し（ステップ６１３）、ＩＯＱ２０７内のＩＯＳＢアドレス２７１を設定する（ステップ６１４）。さらに、チャネル部１１３は、並行アクセスＵＣＢ２０４内のＳＵＢＣＨ識別子２４７が指定するＳＵＢＣＨ１１３１(図１参照）に、ＩＯＳＢ２０８内のチャネルプログラムアドレス２８１と、並行アクセスＵＣＢ２０４内の論理デバイスアドレス２４１、ＣＵ識別子２４２、並行アクセス識別子２４３及び使用可能パス情報２４５とを設定し（ステップ６１５）、ＳＵＢＣＨ１１３１内に設定された上記情報を元に、並行アクセス識別子２４３をデバイスアドレス５２２ａに組み込んだフレーム５００(図５参照）を作成し（ステップ６１６）、入出力装置１１３２から記憶サブシステム１０２にそのフレーム５００を送信する（ステップ６２３）。
【００７９】
また、ステップ６０７で空きの並行アクセス識別子が無い場合、ステップ６１０でフリーＳＵＢＣＨキュー２０６内にＳＵＢＣＨ識別子が無い場合、及び、ステップ６１７でフリーＵＣＢキュー２０５内にフリーＵＣＢが無い場合は、チャネル部１１３は、その求めている資源が空きになるまで待ち処理を行なう（ステップ６２４）。
【００８０】
次に、まず、記憶サブシステム１０２が行うアクセス要求処理の制御について説明する。
【００８１】
図７は、記憶サブシステム１０２が実行する、上位処理装置１０１からのアクセス要求の処理の制御のフロー例を示す。
【００８２】
図７に示すように、記憶サブシステム１０２の制御プロセッサ１２２は、入出力制御装置１２１でのフレーム５００の受領を検出すると（ステップ７０１）、受領した１つ又は連続する複数のフレーム５００(図５参照）により伝送されて来た接頭コマンドのＣＣＷを受信してメモリ１２３に格納し（ステップ７０２）、受領したフレームをメモリ１２３に格納する（ステップ７０３）。制御プロセッサ１２２は、メモリ１２３に格納した接頭コマンドのコマンドパラメタ４００(図４参照）の予備エリア４０２から論理デバイスアドレス４０２を取得し（ステップ７０４）、フレーム５００(図５参照）のデバイスアドレス５２２ａから並行アクセス識別子５２２ａ−１を取得する（ステップ７０４）。
【００８３】
次に、制御プロセッサ１２２は、取得した論理デバイスアドレス（例えば、論理デバイスアドレス「Ａ」）に割り当てられたＬＤＣＢ３０１(図３参照）を特定し、そのＬＤＣＢ３０１内のＪＣＢ管理フラグ３１２から、アクセス対象の論理デバイスに割り当てられた基本ＪＣＢ３０３が使用可能か（どのアクセス要求処理にも使用されてないか）を判定する（ステップ７０６）。その結果、基本ＪＣＢ３０３が使用可能であれば、制御プロセッサ１２２は、ＬＤＣＢ３０１内のＪＣＢ管理フラグ３１２を基本ＪＣＢ使用中に設定し（ステップ７０７）、ＪＣＢ３０３内の並行アクセス識別子３３３に、受領フレーム５００から取得した並行アクセス識別子５２２ａ−１を設定する（ステップ７０８）。さらに、制御プロセッサ１２２は、メモリ１２３に格納された受領フレーム５００を、基本ＪＣＢ３０３内のアクセス処理用領域３３４に格納し（ステップ７０９）、そして、受領フレーム５００により運ばれてきたＣＣＷ（つまりアクセス要求）に従って、アクセス対象の論理デバイスに対する要求されたアクセス処理を実行する（ステップ７１０）。
【００８４】
その後、制御プロセッサ１２２は、要求されたアクセス処理が終了したか否かの判定を行ない（ステップ７１１）、受領フレーム５００に関連する後続フレーム５００が無くなるまで、関連する後続フレーム５００の受領（ステップ７１８）及び前記ステップ７０９、７１０を反復する。関連する後続フレームが無くなって、要求されたアクセス処理が終了した場合、制御プロセッサ１２２は、論理デバイスアドレス４０２−１と並行アクセス識別子５２２ａ−１を含んだ応答フレーム５００を作成し、上位処理装置１０１に送信する（ステップ７１２）。図４、５を参照して説明したＷＲＩＴＥ及びＲＥＡＤ系のコマンドを送信する場合と同様に、応答フレームにおいても、並行アクセス識別子５２２ａ−１は、そのフレーム内のデバイスアドレスのフィールドに設定され、また、論理デバイスアドレス４０２は、応答コマンドのコマンドパラメタ内に設定される。
【００８５】
他方、ステップ７０６の判定で基本ＪＣＢ３０３が使用不可である場合には、制御プロセッサ１２２は、フリーＪＣＢキュー３０６内にフリーＪＣＢが存在するか判定し（ステップ７１３）、フリーＪＣＢが見つかれば、見つかったフリーＪＣＢを、並行アクセスＪＣＢ３０４として使用するために、フリーＪＣＢキュー３０６から取り出し（ステップ７１４）、取得した並行アクセスＪＣＢ３０４内のＪＣＢ属性フラグ３４２を並行アクセスＪＣＢに設定する（ステップ７１５）。さらに、制御プロセッサ１２２は、基本ＪＣＢ３０３の次ＪＣＢポインタアドレス３３１に（或いは、基本ＪＣＢ３０３に、１以上の他の並行アクセスＪＣＢが既に関連付けられているならば、最後尾の並行アクセスＪＣＢの次ＪＣＢポインタアドレスに）、フリーＪＣＢキュー３０６から取得された並行アクセスＪＣＢ３０４のアドレスを設定し（ステップ７１６）、ＬＤＣＢ３０１内のＪＣＢ管理フラグ３１２に並行アクセスＪＣＢ使用中を設定し（ステップ７１７）、並行アクセスＪＣＢ３０４内の並行アクセス識別子３４３に、受領フレーム５００から取得した並行アクセス識別子５２２ａ−１を設定する（ステップ７０８）。さらに、制御プロセッサ１２２は、メモリ１２３に格納された受領フレーム５００を、並行アクセスＪＣＢ３０４内のアクセス処理用領域３４４に格納し（ステップ７０９）、受領フレーム５００により運ばれてきたＣＣＷ（つまりアクセス要求）に従って、アクセス対象の論理デバイスに対する要求されたアクセス処理を実行する（ステップ７１０）。
【００８６】
その後、制御プロセッサ１２２は、要求されたアクセス処理が終了したか否かの判定を行ない（ステップ７１１）、受領フレーム５００に関連する後続フレーム５００が無くなるまで、関連する後続フレーム５００の受領（ステップ７１８）及び前記ステップ７０９、７１０を反復する。関連する後続フレームが無くなって、要求されたアクセス処理が終了した場合、制御プロセッサ１２２は、論理デバイスアドレス４０２−１と並行アクセス識別子５２２ａ−１を含んだ応答フレーム５００を作成し、上位処理装置１０１に送信する（ステップ７１２）。
【００８７】
また、ステップ７１３でフリーＪＣＢキュー３０６内にフリーＪＣＢが無い場合、制御プロセッサ１２２は、論理デバイスアドレス４０２−１と並行アクセス識別子５２２ａ−１を含んだデバイスビジー報告用フレームを作成し上位処理装置１０１に送信する（ステップ７１９）。図４、５を参照して説明したＷＲＩＴＥ及びＲＥＡＤ系のコマンドを送信する場合と同様に、デバイスビジー報告用フレームにおいても、並行アクセス識別子５２２ａ−１は、そのフレーム内のデバイスアドレスのフィールドに設定され、また、論理デバイスアドレス４０２−１は、デバイスビジー報告コマンドのコマンドパラメタ内に設定される。
【００８８】
以上説明したように、この実施形態のデータ処理システムにおいては、上位処理装置１０１は、記憶サブシステム１０２内の或る論理デバイスに対するアクセス要求が発生した場合に、そのアクセス要求のＣＣＷ内に（例えば、図４に例示したように、アクセス動作コマンドに先行する接頭コマンドのコマンドパラメタ４００内に）、アクセス対象の論理デバイスアドレスを格納するとともに、そのＣＣＷを伝送するためのフレーム５００内のデバイスアドレス５２２ａに、そのアクセス要求を同一論理デバイスに対する他のアクセス要求から峻別するための並行アクセス識別子５２２ａ−１を設定し、そして、そのフレーム５００を記憶サブシステム１０２に送信する。記憶サブシステム１０２は、受領したフレーム５００に設定されていた並行アクセス識別子５２２ａ−１を用いて、同一の論理デバイスに対する複数のアクセス要求を識別し、それら複数のアクセス要求を異なるＪＣＢを用いて区別して並行的に処理し、そして、各アクセス要求の処理が終了すると、上位処理装置１０１に対して並行アクセス識別子５２２ａ−１を含んだ応答フレーム５００を返して終了報告する。これにより、データ処理システム全体で管理できる論理デバイスアドレス数が、フレーム５００の構造に制限されることなく、大幅に増大させ得る。また、記憶サブシステム１０２が実装している論理デバイス数に依存することなく、並行アクセス処理を行なうことが可能となる。このように、データ処理システムで管理可能な論理デバイスアドレス数が増大するとともに、データアクセス処理の性能も向上する。
【００８９】
なお、上述した実施形態では、フレーム５００内のデバイスアドレス部５２２の下位１バイトのデバイスアドレス５２２ａに並行アクセス識別子を設定しているため、１ＣＵ当たりの並行アクセス処理数には最大２５６という制限あるが、例えば、デバイスアドレス部５２２の上位１バイトの予備エリア５２２ｂまで、並行アクセス識別子の設定領域を拡張したり、或いは、接頭コマンドやその他のコマンドのコマンドパラメタの予備エリアを、並行アクセス識別子の設定に用いるようにしてもよく、そうすることで容易に、並行アクセス処理数の拡張が可能である。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態にかかるデータ処理システムの全体構成を示すブロック線図。
【図２】同実施形態にかかるデータ処理システムにおいて、上位処理装置が主記憶装置部内に生成する、複数のアクセス要求を並行処理するための制御情報の構成例を示すブロック線図。
【図３】同実施形態にかかるデータ処理システムにおいて、記憶サブシステムがメモリ内に生成する、複数のアクセス要求を並行処理するための制御情報の構成例を示すブロック線図。
【図４】同実施形態にかかるデータ処理システムにおいて、上位処理装置が生成するアクセス要求のためのＣＣＷチェインの最初のＣＣＷに含まれる、接頭コマンドのコマンドパラメタ構造例を示す図。
【図５】同実施形態にかかるデータ処理システムにおいて、上位処理装置と記憶サブシステム間のシリアルチャネルインタフェースにおけるフレームの構造例を示す図。
【図６】同実施形態にかかるデータ処理システムにおいて、上位処理装置により実行される、アクセス要求発生から記憶サブシステムへフレームを転送するまでのアクセス要求処理の一例を示すフローチャート。
【図７】同実施形態にかかるデータ処理システムにおいて、記憶サブシステムにより実行される、フレームを受領後、アクセス処理を実行し上位処理装置へ終了報告するまでの処理の一例を示すフローチャート。
【符号の説明】
【００９１】
１００…ケーブル、１０１…上位処理装置、１１１…ＣＰＵ、１１２…主記憶装置部、１１３…チャネル部、１１３１…ＳＵＢＣＨ、１１３２…入出力装置、１２１…入出力制御装置、１２２…制御プロセッサ、１２３…メモリ、１２４…キャッシュメモリ、１２５…物理デバイス、２０１，２０２…基本ＵＣＢ、２１１，２２１…論理デバイスアドレス、２１３，２２３…並行アクセス識別子、２１７，２２７…ＳＵＢＣＨ識別子、２０３，２０４…並行アクセスＵＣＢ、２３１，２４１…論理デバイスアドレス、２３３，２４３…並行アクセス識別子、２３７，２４７…ＳＵＢＣＨ識別子、２０１０…並行アクセス管理テーブル、３０１，３０２…ＬＤＣＢ、３０３，３０５…基本ＪＣＢ、３０４…並行アクセスＪＣＢ、４００…接頭コマンドのコマンドパラメタ、４０１…制御情報１、４０２…予備エリア、４０３…制御情報２、５００…フレーム、５０１…Ｌｉｎｋ  Ｈｅａｄｅｒ、５０２…Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｉｅｌｄ、５０３…Ｌｉｎｋ  Ｔｒａｉｌｅｒ、５１１…デバイスヘッダ、５１２…デバイス情報ブロック、５２１…ＩＦＩ、５２２…デバイスアドレス部、５２２ｂ…予備エリア、５２２ａ…デバイスアドレス、５２２ａ−１…並行アクセス識別子、５２３…ＤＨＦ。
【図１】
2007058646.tif 000003
【図２】
2007058646.tif 000004
【図３】
2007058646.tif 000005
【図４】
2007058646.tif 000006
【図５】
2007058646.tif 000007
【図６】
2007058646.tif 000008
【図７】
2007058646.tif 000009