(57)【特許請求の範囲】
【請求項１】
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵと通信する複数の制御装置であって、前記制御装置の各々が前記ＣＰＵから受信される要求を記憶するキューを有し、前記要求の各々が固有の識別ラベルを有する、前記制御装置と、
前記キューの任意の１つから受信される要求をサービスする記憶装置であって、前記サービスされる要求のステータス及び前記固有の識別ラベルを記憶するメールボックスを有する、前記記憶装置と、
を含む、データ処理システム。
【請求項２】
前記要求が複数のサブコマンドを含む、請求項１記載のデータ処理システム。
【請求項３】
前記メールボックスが実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、請求項２記載のデータ処理システム。
【請求項４】
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵと通信する記憶サブシステムであって、前記記憶サブシステムが、
前記ＣＰＵから受信される要求を同時に記憶するキューを有する制御装置であって、前記要求の各々が固有の識別ラベルを有する前記制御装置を有する、前記記憶サブシステムと、
前記キューから受信される要求をサービスする記憶装置であって、前記サービスされる要求のステータス及び前記固有の識別ラベルを記憶するメールボックスを有する、前記記憶装置と、
を含む、データ処理システム。
【請求項５】
前記要求が複数のサブコマンドを含む、請求項４記載のデータ処理システム。
【請求項６】
前記メールボックスが実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、請求項５記載のデータ処理システム。
【請求項７】
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵと通信する記憶サブシステムであって、前記記憶サブシステムが、
複数の記憶サブ制御装置を有する記憶制御装置であって、前記記憶サブ制御装置の各々が、前記ＣＰＵから受信される要求を同時に記憶するキューを含み、前記要求の各々が固有の識別ラベルを有する前記制御装置を含む、前記記憶サブシステムと、
前記キューから受信される要求をサービスする記憶装置であって、前記サービスされる各要求のステータス及び前記固有の識別を記憶するメールボックスを含む、前記記憶装置と、
を含む、データ処理システム。
【請求項８】
前記要求の各々が複数のサブコマンドを含む、請求項７記載のデータ処理システム。
【請求項９】
前記メールボックスが、実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、請求項８記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の独立記憶制御装置と記憶装置との間の通信のための、複数の独立パスを有するデータ処理システムに関する。特に、本発明は、複数の独立パス記憶サブシステム内のキューの効率的な管理のための方法及び手段に関して、そこでは記憶装置をアクセスするための要求がキューが互いに同期する必要無しに実行される。
【０００２】
【従来の技術】
複数の入出力（Ｉ／Ｏ）記憶サブシステムを有するデータ処理システムは、一般に、システム内のプロセッサと各記憶装置との間に、複数の独立な通信パスを有する。こうした機構を有する典型的なデータ処理システム１００が図１に示される。ホスト１１０は一般に、アプリケーション・プログラム１１２、オペレーティング・システム１１４及びＩ／Ｏスーパバイザ１１６を含み、Ｉ／Ｏスーパバイザは更にホストにより発行される要求を管理するためのホスト・タスク・キュー１１７を含む。ホスト１１０は更に、記憶制御装置１２０との通信のための複数のＩ／Ｏチャネル１１８を含む。記憶制御装置１２０は一般に、ホストとの通信のための複数のＩ／Ｏポート１２２と、高性能化のための共用キャッシュ１２４及び記憶装置１４０をアクセスするための複数の制御装置パス１３０を含む。記憶制御装置１２０及び記憶装置１４０は、一般に、記憶サブシステムとして参照される。
【０００３】
一般にホスト１１０により発行されるＩ／Ｏ要求がキャッシュ１２４内に既に記憶された情報により満足され得ない場合、記憶制御装置１２０は、Ｉ／Ｏ要求を実行するために使用可能な制御装置パス１３０の１つを介して、適切な記憶装置をアクセスする。図１のデータ処理システムは一般に、記憶サブシステムの冗長性、複数のＩ／Ｏチャネル、記憶制御装置内の複数の制御装置パス、及び記憶制御装置と記憶装置との間の複数の通信リンクにより、高度な使用可能性を提供する。
【０００４】
このタイプのシステムでは、ホスト１１０により発行されるＩ／Ｏ要求の典型的なキューイングは次のように実行される。すなわちＩ／Ｏ要求がアプリケーション・プログラム１１２により開始され、Ｉ／Ｏスーパバイザ１１６にパスされる。Ｉ／Ｏスーパバイザ１１６は要求を受信し、それをホスト・タスク・キュー１１７に追加する。ホスト・タスク・キューはＩ／Ｏスーパバイザにより保守される。通信リンク１５０の１つが使用可能になるとき、Ｉ／Ｏスーパバイザ１１６は対応する記憶装置が使用可能である、キュー１１７内の第１の要求に対するＩ／Ｏプロセスを開始する。
【０００５】
このタイプのシステムでは、ホスト・タスク・キュー１１７がシステム内で使用可能なＩ／Ｏオペレーションの唯一のキューであるので、全てのオペレーションがホスト１１０において開始され、ただ１つのオペレーションだけが任意の記憶装置に対してアクティブとなり得る。更にそのオペレーションは、その記憶装置に対する別のオペレーションがＩ／Ｏスーパバイザ１１６により開始される以前に、完了として報告されなければならない。
【０００６】
このタイプのアーキテクチャでは、チャネル１１８、通信リンク１５０、デバイス通信リンク１６０、または制御装置パス１３０の１つの故障が記憶装置へのアクセスを阻止することはないが、ホスト・タスク・キュー１１７に影響する故障がホスト・タスク・キュー１１７内の要求を失敗させ、１つ以上のプログラムを打ち切ることが多い。故障からの回復には、同一のホスト上または異なるホスト・システム上で、プログラムを再実行することが必要であったりする。
【０００７】
しかしながら、記憶制御装置がキャッシュを有するデータ・システムでは、キャッシュ１２４と記憶装置１４０との間のオペレーションが、キャッシュ１２４とホスト１１０（中央処理ユニット（ＣＰＵ）としても参照される）との間のオペレーションと同時に実行されることが望ましい。例えばデータを記憶装置１４２に書込むためにホスト１１０により発行される要求は、データがキャッシュ１２４に転送されたとき、ホスト１１０により完了と見なされ得る。その後、更新データが記憶装置１４２に書込まれる間に、記憶装置１４２に対する続くオペレーションがキャッシュ１２４から実行され得る。
【０００８】
記憶制御装置がキャッシュを有するデータ・システムの例が図２に示される。図２は、IBM System/390（ホスト１１０）、並びにそれと通信するＩＢＭ記憶制御装置３９９０（記憶制御装置１２０）を表し、後者はＩＢＭ磁気記憶装置３３９０（記憶装置１４０）のオペレーションを制御する。このシステムでは、記憶制御装置１２０と記憶装置１４０との間に４つの通信パス（データ・パス）が存在する。各データ・パスは制御装置パス１３０及びデバイス通信リンク１６０を含み、任意の記憶装置１４０上でオペレーションを実行するための命令を送信するために使用可能である。
【０００９】
高度な使用可能性を提供するために記憶制御装置１２０は一般に、２つの記憶サブ制御装置１３２及び１３４に分割される。記憶サブ制御装置１３２は、制御装置タスク・キュー１２６、及び複数の制御装置パス１３０（図２では２つの制御装置パスが示される）を含む。記憶サブ制御装置１３４は、制御装置タスク・キュー１２８、及び複数の制御装置パス１３０（図２では２つの制御装置パスが示される）を含む。タスク・キュー１２６及び１２８はお互いのレプリカ（replica）である。更に２つの記憶サブ制御装置は、システム全体の信頼性を向上するために異なるパワー境界に設計される。従って、記憶サブ制御装置の１つが故障した場合、他の記憶サブ制御装置がそのタスク・キューから要求の実行を継続し、性能的には劣ったレベルにおいてではあるが連続的な性能を提供する。
【００１０】
ホスト１１０により発行される記憶装置に対する各アクセス要求が複数のサブコマンドを含み得り、任意のサブコマンドがあるサブ制御装置により開始され、別のサブ制御装置により完了され得ることを考慮すると、記憶制御装置１２０内のタスク・キューの管理は極めて重要且つ重大な問題となる。例えばＩ／Ｏ要求は通常、２つのサブコマンドを含み、その第１は準備状態コマンド"seek/locate"であり、第２は"read/write"として知られる時間依存データ転送コマンドである。このタイプのＩ／Ｏ要求の場合には、いずれか一方の記憶サブ制御装置が、任意のサブコマンドを所与の時刻に処理するために使用可能であり、実際、次のオペレーションをキュー上でサービスし得る。
【００１１】
従って各記憶サブ制御装置は、read/writeコマンドがいずれか一方のサブ制御装置により実行される以前に、それが正しいＩ／Ｏ要求に関連付けられるように、各記憶装置に対するＩ／Ｏ要求の状態を追跡しなければならない。すなわち、seek/locateサブコマンドの完了の応答が、両方のサブ制御装置により受信されるようにする機構が存在しなければならない。例えばいずれか一方のサブ制御装置によるread/writeサブコマンドの実行が、両方のサブ制御装置が記憶装置から応答信号を受信するまで遅延される。しかしながら、このアプローチは記憶装置へのアクセスを著しく遅らせ、記憶サブ制御装置の独立性を低減させる。
【００１２】
この問題を解決する１つの方法は、高度な使用可能性を保証するために記憶サブ制御装置が独立に動作する一方で、互いに密接に通信し合ってデバイス・アクセス要求を処理することにより性能を向上することである。こうしたアーキテクチャが図２に示され、そこでは記憶装置に対するアクセス要求が各記憶サブ制御装置により複製され、各サブ制御装置により記憶装置に送信される。このアーキテクチャでは記憶装置を獲得し、通信パスを確立する第１の記憶サブ制御装置がseek/locateコマンドを記憶装置に送信する。通信パスが次に記憶装置から切断され、記憶装置がseek/locateサブコマンドの実行を開始する。オペレーションが完了し、記憶装置がデータ転送の準備が整うと記憶装置はフラグを立てるか割込みを発生して、記憶制御装置にそのことを知らせる。記憶装置がフラグを立てるか、割込みを発生すると、記憶装置からの割込みを検出する第１の使用可能なサブ制御装置が記憶装置を獲得し、記憶装置から記憶制御装置１２０内の共用キャッシュ１２４へ、データ転送を完了する。
【００１３】
従ってこのアーキテクチャでは、記憶サブ制御装置が独立に動作し、高度な使用可能性を提供する一方で、高性能を保証するために非常に密接に協動する。しかしながら、各記憶サブ制御装置を通じる通信パスは非同期であり、このことは要求が他方のパスに比較して、一方のパスを通じて遅延され得ることを意味するので、記憶サブ制御装置が既に他の記憶サブ制御装置により完了された要求またはサブコマンドを実行する結果を招き易い。このことは、記憶サブシステムの全体性能を低下させる浪費オペレーションに容易に至り、同時にデータの完全性の問題を生じ得る。
【００１４】
サブ制御装置に、他のサブ制御装置により実行されるオペレーションを知らせるための高速メッセージ伝達アーキテクチャが、図２のシステム内の記憶サブ制御装置間で使用され得る。しかしながら、１つのサブ制御装置から別のサブ制御装置へのメッセージの送信でさえも遅延され、要求の重複並びにデータの完全性の問題を生じ得る。
【００１５】
更に記憶制御装置１２０と記憶装置１４０との間には、複数の通信パスが存在し、使用可能な通信パスの任意の１つが、タスク・キュー１２６及び１２８のいずれか一方から次のＩ／Ｏ要求をサービスし得るので、同一のＩ／Ｏ要求を２度実行することを阻止するために、キューの２つのコピーが常に同一に維持されなければならない。このことは作業準備の整ったサブ制御装置が、キューの両方のコピーに対する排他的アクセスを有し、キューの両方のコピーがロックが解除される以前に更新されるように、高度で複雑なロッキング機構が使用されなければならないことを意味する。
【００１６】
従って、記憶制御装置１２０の２つの記憶サブ制御装置は、ハードウェア故障の点では意図的に独立であるが、２つの記憶サブ制御装置間の通信は、キューの完全性を保証するために非常に重要である。複雑且つ精巧なロッキング機構、並びに記憶制御装置のサブ制御装置間の高速通信への依存性は、システム性能の低下を招き、性能的なボトルネックになり得る。
【００１７】
こうしたボトルネック、及びキュー間の複雑なロッキング機構への依存性を排除する１つの方法は、記憶制御装置１２０を排除し、必要な機能を各記憶装置に移動することである。こうしたアーキテクチャが図３に示され、そこでは複数のプロセッサ２１０及び２１２がＳＣＳＩ（small computer system interface）バス２１８を介して、複数の記憶装置２２０と通信する。このアーキテクチャでは、各記憶装置２２０がデバイス制御装置２２４及び記憶媒体２２２を含む。各ＳＣＳＩデバイス制御装置２２４は、更に、それ自身のデバイス・タスク・キュー２２６を含む。
【００１８】
記憶装置の作業キューをデバイス・レベルそのものに維持することは、キューイングの観点からは効率的であるが、こうした装置は追加のハードウェア並びにソフトウェアを要求し、高度なデバイス制御装置を有さねばならない。高度なデバイス制御装置を有する記憶装置（ＳＣＳＩ装置）は入手可能ではあるが、記憶制御装置において、複数のキューを管理することに関連する問題無しに、記憶制御装置やＲＡＩＤ制御装置、またはネットワーク接続データ・サーバに直接接続可能なデバイス制御装置を有さない、単純な記憶装置が望まれる。
【００１９】
従って、複数の独立なＩ／Ｏ通信（データ）パスを介して、記憶制御装置と通信する複数の記憶装置を有する記憶サブシステムにおいて、記憶サブ制御装置内のタスク・キューを、互いに完全に同期させる必要無しに、また各記憶装置の連続的なステータス、並びに記憶サブ制御装置間の要求を提供する必要無しに、更にキューを互いに同期させるための、記憶サブ制御装置間での高速通信の必要無しに、複数のタスク・キュー内に保持されるＩ／Ｏ要求を調整し、独立な通信パスの間で、完了済みのオペレーションを取り消す方法及び手段が必要とされる。
【００２０】
また、複数の独立なＩ／Ｏ通信（データ）パスを介して、記憶装置と通信する複数の独立な記憶制御装置を有するデータ処理システムにおいて、記憶制御装置内のタスク・キューを互いに完全に同期させる必要無しに、また各記憶装置の連続的なステータス、並びに記憶制御装置間の要求を提供する必要無しに、更にキューを互いに同期させるための、記憶制御装置間での高速通信の必要無しに、記憶制御装置内の複数のタスク・キュー内に保持されるＩ／Ｏ要求を処理し、独立な通信パスの間で、完了済みのオペレーションを取り消す方法及び手段が必要とされる。
【００２１】
【発明が解決しようとする課題】
本発明の第１の主な目的は、記憶制御装置と記憶装置間の通信のための複数の独立パスを有する、高性能記憶サブシステムを提供することである。
【００２２】
本発明の別の目的は、記憶制御装置と記憶装置間の通信のための複数の独立パスを有する、高度な使用可能性の記憶サブシステムを提供することである。
【００２３】
更に本発明の別の目的は、各記憶サブ制御装置内のキューが、他の記憶サブ制御装置内のキューと同期される必要の無い、複数の記憶サブ制御装置を有する記憶サブシステムを提供することである。
【００２４】
更に本発明の別の目的は、各記憶制御装置内の記憶サブ制御装置が、各記憶装置のレジスタを介して互いに通信し合う、記憶サブシステムを提供することである。
【００２５】
更に本発明の別の目的は、キューが互いに同期を維持するために、キューに対する複雑なロッキング機構を必要としない、記憶サブシステムを提供することである。
【００２６】
更に本発明の別の目的は、キューの完全性を維持するための、記憶サブ制御装置間での高速通信の必要性が除去される、記憶サブシステムを提供することである。
【００２７】
更に本発明の別の目的は、各記憶サブ制御装置内のキューを、他の記憶サブ制御装置内のキューと同期させる必要無しに、多重コマンド命令があるサブ制御装置により開始され、別のサブ制御装置により完了される、記憶サブシステムを提供することである。
【００２８】
本発明の第２の主な目的は、複数の独立な記憶制御装置と記憶装置との間の通信のための、複数の独立パスを有する、高性能データ処理システムを提供することである。
【００２９】
本発明の別の目的は、各記憶制御装置内のキューが、他の記憶制御装置内のキューと同期される必要の無い、複数の記憶制御装置を有するデータ処理システムを提供することである。
【００３０】
更に本発明の別の目的は、記憶制御装置が、各記憶装置のレジスタを介して互いに通信し合う、データ処理システムを提供することである。
【００３１】
本発明の更に別の目的は、各記憶制御装置内のキューを、他の記憶制御装置内のキューと同期させる必要無しに、多重コマンド命令があるサブ制御装置により開始され、別のサブ制御装置により完了される、データ処理システムを提供することである。
【００３２】
【課題を解決するための手段】
これらの目的のために、本発明によれば、記憶制御装置と記憶装置との間で、複数の独立なＩ／Ｏパスを有するデータ処理システムにおいて、記憶制御装置が複数の記憶サブ制御装置を含み、各記憶サブ制御装置がタスク・キュー（キュー）を含む状況において、各キューの状態並びに完了済みのまたは進行中のＩ／Ｏ要求（ジョブ）が、各記憶装置に保持されるレジスタを介して、他のキューに伝達される方法及び手段が開示される。これは次のように実現される。
【００３３】
まず第１に、各Ｉ／Ｏ要求がキューに記憶される以前にそれらに固有の識別子を割当てる。キューに記憶される各Ｉ／Ｏ要求の固有の識別子はＩ／Ｏ要求が任意の１つの記憶サブ制御装置を通じ完了されるときに、そのＩ／Ｏ要求がキューの全てのコピーから除去されることを保証する。
【００３４】
第２に、"メールボックス"として知られるレジスタを、各記憶装置内に保持する。記憶装置は、その記憶装置との通信パスを確立する任意の記憶サブ制御装置により読出され、また書込まれ得る。メールボックスは、固有の識別子、及び実行済みの最後のＩ／Ｏ要求、または現在その記憶装置により実行されているＩ／Ｏ要求のステータスを含む。
【００３５】
第３に、任意の記憶サブ制御装置が、メールボックスの内容を読出し、メールボックスの内容にもとづき、適切なアクションを取ることを可能にする。
【００３６】
記憶装置のメールボックスを読出す記憶サブ制御装置により取られる適切なアクションの結果、記憶装置のステータスが変化し、ステータスの変化を反映するようにメールボックスの内容が更新され得る。メールボックスを読出すサブ制御装置は更にその読出した内容にもとづき、キューのコピーを更新し得る。
【００３７】
従って開示される本発明によれば、キューのコピーは必ずしも互いに同期しない。実際、キューは互いに完全に同期を外れ得るが、作業の重複やデータの完全性の問題を生じたり、Ｉ／Ｏ要求の処理を低速化したりすることはない。
【００３８】
例えば、記憶装置Ａからデータを読出す要求がホストにより発行される場合、要求はタスク・キューに記憶される以前に記憶制御装置により、固有のラベルｘを割当てられる。記憶装置Ａが使用可能になると、記憶装置Ａに対するアクセス要求が全ての使用可能な通信パスを通じてディスパッチされる。パス１が最初に記憶装置Ａを獲得する場合、ホストはseek/locateコマンドを発行し、記憶装置にデータ転送の準備をさせる。次に記憶装置Ａが固有のラベルｘをそのメールボックスに記憶し、Ｉ／Ｏオペレーションの状態をセットして、データ転送に備えるためのコマンドを発行されたことを示す。次にパス１が記憶装置Ａを解放し、他のオペレーションを実行する間、記憶装置Ａはデータ転送の準備をする。パス２が記憶装置Ａがデータ転送の準備が整ったことを検出する第１のパスと仮定すると、パス２は記憶装置Ａのメールボックスを読出し、固有のラベルｘを有する要求が進行中であることを見い出し、データ転送をそのタスク・キュー内でｘとラベル付けされた要求に関連付け、次にデータ転送を実行する。データ転送が完了すると、記憶装置Ａにおけるその特定のＩ／Ｏ要求の状態が完了にセットされ、固有のラベルｘに関連付けられた要求が実行されたことを反映する。ここで、パス１が記憶装置Ａを読出そうとすると仮定すると、パス１は記憶装置Ａのメールボックスを読出したとき、固有のラベルｘに関連付けられる要求が既に別のパスを通じて完了されたことを見い出す。従って、パス１は固有のラベルｘに関連付けられる要求を自身のタスク・キューから消去し、次に記憶装置Ａを解放する。
【００３９】
各記憶装置のメールボックスと一緒に、タスク・キューに記憶される各Ｉ／Ｏ要求に対する固有のラベルを使用することにより、同一の要求が記憶サブ制御装置により複数回実行されることを回避する。同時にこのことは、記憶システムの性能に影響すること無しにタスク・キューを非同期に更新することを可能にする。更に、各記憶装置のメールボックスと共に各Ｉ／Ｏ要求に対する固有のラベルを使用することにより、各記憶サブ制御装置内のタスク・キューが他の記憶サブ制御装置内のタスク・キューと同期することを保証する、高度且つ複雑なロック・ステップ機構を有する必要性を排除する。また本発明を使用することにより、キューのステータスを迅速且つ連続的に伝達するために、記憶サブ制御装置間で高速の直接通信を提供する必要性も排除する。なぜなら、タスク・キューが互いに同期する必要が無いからである。
【００４０】
【発明の実施の形態】
次に、本発明を実現するために考えられる最適なモードについて述べることにする。以下の説明及び提示される代替実施例の数は、本発明の一般的な原理を示すことを目的とするものであり、本発明の概念を制限するものではないことを、初めに述べておく。
【００４１】
図４を参照すると、本発明の好適な実施例が示される。データ処理システム３００は、記憶制御装置３２０と通信するホスト３１０を含み、記憶制御装置は記憶アレイ３４０と通信する。記憶アレイ３４０は更に、記憶装置３４５へのアクセスを制御するアレイ制御装置３５０を含む。この実施例では、通常記憶制御装置３２０に接続される記憶装置が、記憶アレイ３４０により置換される。記憶アレイ３４０は、論理（logical）ＩＢＭ３３９０記憶装置として扱われる。すなわち記憶アレイ３４０は、ＩＢＭ３３９０記憶サブシステムなどの既存の記憶装置のエミュレーションを提供することにより、記憶制御装置３２０への標準の記憶装置の接続を可能にする。更にアレイ制御装置３５０は記憶装置３４５と共に、ＲＡＩＤ（Reliable Arrays of Inexpensive Disks）などのアーキテクチャを介して、極めて高いデータの使用可能性を提供し得る。
【００４２】
再度図４を参照すると、ホスト３１０はアプリケーション・プログラム３１２、オペレーティング・システム３１４、Ｉ／Ｏスーパバイザ３１６、及び記憶制御装置３２０と通信するための複数のＩ／Ｏチャネル３１８を含む。記憶制御装置３２０は一般に、ホスト３１０との通信のための複数のＩ／Ｏポート３２２、高性能化のための共用キャッシュ３２４、及び記憶アレイ３４０をアクセスするための２つの記憶サブ制御装置３３１及び３３２を含む。記憶サブ制御装置３３１は、制御装置タスク・キュー３２６及び制御装置パス３３３及び３３４を含む。記憶サブ制御装置３３２は、制御装置タスク・キュー３２８及び制御装置パス３３５及び３３６を含む。記憶制御装置３２０は、複数の通信回線３８０を介して、記憶アレイ３４０と通信する。
【００４３】
図５は、記憶装置３４５及び記憶制御装置３２０と通信するアレイ制御装置３５０の詳細な構成図を示す。アレイ制御装置３５０は、２つの同一の独立に動作する制御装置パス３５２を含む。制御装置パス３５２及び３５４は、一緒に拡張性能及び故障許容オペレーションを提供する。好適な実施例では、アレイ制御装置３５０は、複数の通信リンク３８０（この例では４つが示される）を介して、記憶制御装置３２０と通信する。アレイ制御装置３５０は更に複数の記憶インタフェース・アダプタ４００（この例では４つが示され、各制御装置パスに２つずつ含まれる）を含む。記憶インタフェース・アダプタ４００は、記憶装置３４５をアクセスするためのコマンド（命令、要求）を、記憶制御装置３２０から受信し、最初に記憶制御装置３２０により発行される要求が、バッファ４１６またはバッファ４１８から満足され得るか否かを判断する。バッファ４１６及び４１８は、記憶装置及び記憶制御装置から受信されるデータを記憶する。要求がいずれかのバッファの内容から満足され得る場合、その情報が記憶インタフェース・アダプタ４００の１つを介して記憶制御装置３２０に返送される。バッファの１つの内容から満足され得ない各要求に対しては、記憶インタフェース・アダプタの１つが固有の要求識別子（ラベルとしても参照される）を生成し、要求をその固有の識別子と一緒に、アレイ・マネージャ４１２及び４１４に送信する。アレイ・マネージャ４１２及び４１４は次に、要求及びそのラベルを、それぞれのキュー４１３及び４１５に追加する。
【００４４】
アレイ・マネージャ４１２及び４１４は、一般に記憶制御装置３２０と記憶装置３４５との間のデータ処理を管理する役目をする。これらは更に、記憶装置３４５の形式（固有形式）と、エミュレートされるデバイス形式（記憶制御装置３２０により見られる形式）との間でデータ形式を変換する。例えばデータは記憶装置３４５上に、固定ブロック形式（固有デバイス形式）として記憶され得る。一方、記憶制御装置３２０は情報をカウント・キー・データ形式で処理するようにセットアップされ得る。従って、アレイ・マネージャ４１２及び４１４はこれら２つの異なるタイプのデータ形式の間の変換を提供する。各アレイ・マネージャは更に自身のタスク・キューを保持する。例えばアレイ・マネージャ４１２はアレイ・タスク・キュー４１３を保持し、アレイ・マネージャ４１４はアレイ・タスク・キュー４１５を保持する。各アレイ・マネージャは記憶インタフェース・アダプタ４００の任意の１つから受信されるメッセージを根拠に、また各記憶装置内のメールボックスの内容にもとづき自身のアレイ・タスク・キューを更新する。アレイ・マネージャ４１２及び４１４は更に、デバイス・インタフェース・アダプタ４４０及び４４２をそれぞれ介して、記憶装置３４５へのデバイス・オペレーションのディスパッチを管理する。
【００４５】
好適な実施例では、各アレイ制御装置パス３５２及び３５４が、４つのデバイス・インタフェース・アダプタを含む。アレイ・マネージャ４１２及び４１４は更にそれぞれデバイス・インタフェース・アダプタ４４０及び４４２に対して、記憶装置をアクセスための要求またはデータが伝送のために使用可能であることを通知する。アレイ・マネージャ４１２及び４１４はまた、通信バス４１０を介して互いに通信し合い、それぞれのアレイ制御装置パス３５２及び３５４のオペレーションに影響し得る事象を互いに伝え合ったりする。アレイ・マネージャ４１２及び４１４は更に、データの冗長記録及び故障許容オペレーションを保証するために、記憶装置３４５に渡るパリティを保持するＲＡＩＤ排他的論理和（ＸＯＲ）機能を含み得る。
【００４６】
上述のように、デバイス・インタフェース・アダプタ４４０及び４４２は記憶装置３４５へのアクセスを提供し、記憶装置のオペレーションを制御する。デバイス・インタフェース・アダプタはまた、オペレーション・ステータスをそれぞれのアレイ・マネージャに提供する。図５は更に、複数の記憶装置３４５を示し（この例では３２個の記憶装置が示され、ＳＤ１乃至ＳＤ３２とラベル付けされる）、各記憶装置はメールボックス５００を有する。図５では、記憶装置３４５が４つのクラスタに配列され、各クラスタが８個の装置を含む。記憶装置３４５は、アレイ制御装置パス３５２及び３５４により、それぞれのデバイス・インタフェース・アダプタ４４０及び４４２を通じて独立にアクセスされ得る。各デバイス・インタフェース・アダプタは、各クラスタから１つずつ選ばれる４つの記憶装置を同時にアクセスすることができる。
【００４７】
図６を参照すると、各記憶装置内に保持されるデバイス・メールボックス５００が示される。好適な実施例では、メールボックス５００は、記憶装置がアレイ制御装置３５０から受信した最新の要求の固有の要求ＩＤ５１０（タスクＩＤ）、並びにステータス５２０（タスク・ステータス）を記憶する８バイト・フィールドを含む。固有の要求（タスク）ＩＤ５１０は、好適には、処理及びオペレーションの簡略化のために順次的であるが、必ずしもそうである必要はない。メールボックス５００はまた、要求の送信元のデバイス・インタフェース・アダプタ識別などの情報を含み得る。メールボックス５００はまた、デバイス・アリージャンス（allegiance）などの情報を含み得る。
【００４８】
図７を参照すると、本発明の好適な実施例において、アレイ・マネージャ４１２及び４１４により実行されるデバイス・アクセス及びキュー管理オペレーションのフローチャートが示される。オペレーションはアレイ・マネージャ４１２に関して述べられるが、これはアレイ・マネージャ４１４にも当てはめることができる。
【００４９】
アレイ・マネージャ４１２は最初に、キューのステータスに関する任意のメッセージが通信バス４１０を介して、アレイ・マネージャ４１４から受信されたか否かを判断する（ブロック７０５）。こうしたメッセージが受信される場合、アレイ・タスク・キュー４１３がそれに従い更新され（ブロック７０６）、それ以外ではアレイ・マネージャ４１２は、任意の記憶装置３４５から割込みが受信されたか否かを判断する（ブロック７１０）。記憶装置ｎからデバイス割込みが受信されると、記憶装置ｎが選択され、そのメールボックスが読出され、記憶装置ｎにディスパッチされた最新の要求のタスクＩＤ（要求ＩＤ）及びステータスが何であるかが判断される（ブロック７１２及び７１５）。ここでメールボックス・レジスタの内容が固有の順次ＩＤ"Ｒ"を有するタスク（単にタスク"Ｒ"としても参照される）が進行中であることを示すと仮定する。アレイ・マネージャ４１２は次に、アレイ・タスク・キュー４１３を更新し、"Ｒ"よりも小さな固有の順次ＩＤを有する全ての要求を消去し、タスク"Ｒ"が進行中であることを反映するようにキュー４１３を更新する（ブロック７１６）。アレイ・マネージャ４１２は次に、記憶装置ｎにタスク"Ｒ"を完了するようにコマンドを発行し（ブロック７１７）、同時に"タスクＲ完了"を知らせるために、記憶装置ｎ内のメールボックスを更新する（ブロック７１８）。アレイ・マネージャ４１２は次に記憶装置ｎを選択解除し、タスク"Ｒ"をそのアレイ・タスク・キュー４１３から消去する（ブロック７２０）。
【００５０】
ブロック７１５を再度参照すると、記憶装置ｎ内のメールボックス・レジスタの内容がタスク"Ｒ"が完了したことを示す場合、アレイ・マネージャ４１２は、タスク"Ｒ"及び"Ｒ"よりも小さな固有の順次ＩＤを有する全ての要求を消去することにより、アレイ・タスク・キュー４１３を更新する（ブロック７２５）。アレイ・マネージャ４１２は次に、アレイ・タスク・キュー４１３をチェックし、キュー内に記憶装置ｎに対する他のタスクが存在するか否かを判断する（ブロック７２６）。存在しない場合、オペレーションはブロック７００に戻る。記憶装置ｎに対してタスク"Ｓ"が存在する場合、アレイ・マネージャ４１２はタスク"Ｓ"の実行を開始するコマンドを発行し（ブロック７２７）、タスク"Ｓ"が進行中であることを反映するように、メールボックスが更新され（ブロック７２８）、続いて装置ｎが選択解除され、キュー４１３内のタスク"Ｓ"のステータスが更新される（ブロック７２９）。
【００５１】
ブロック７１０に戻り、アレイ・マネージャ４１２が任意の装置から割込みを受信しない場合、アレイ・マネージャはキュー４１３をチェックし、実行されるべき次のタスクが何であるか、並びにどの記憶装置に対して実行されるかを判断する（ブロック７４０）。ここでキュー４１３に従い、アレイ・マネージャ４１２により実行される次のタスクが、記憶装置ｎに対するタスク"Ｔ"であると仮定する。アレイ・マネージャ４１２は次に記憶装置ｎを選択するコマンドを発行し、そのメールボックスを読出し、記憶装置ｎに発行された最新のタスクのＩＤ及びステータスを判断する（ブロック７４２）。記憶装置ｎのメールボックス内のタスクＩＤが"Ｔ"よりも小さく（ブロック７４５）、そのステータスが進行中の場合（ブロック７７０）、エラーが発生し、エラーがアレイ・マネージャ４１２に返送される（ブロック７７５）。記憶装置ｎのメールボックス内のタスクＩＤが、"Ｔ"よりも小さく（ブロック７４５）、そのステータスが完了の場合、アレイ・マネージャはタスク"Ｔ"を開始するコマンドを発行し、タスク"Ｔ"が進行中であることを示すように、記憶装置ｎのメールボックスを更新し、続いて記憶装置ｎを選択解除し、アレイ・タスク・キュー４１３内のタスク"Ｔ"のステータスを更新する（ブロック７７１、７７２及び７７３）。
【００５２】
記憶装置ｎのメールボックス内のタスクＩＤが"Ｔ"よりも大きな"Ｕ"であり（ブロック７４５）、タスク"Ｕ"のステータスが"完了"の場合、アレイ・マネージャ４１２は、キュー４１３からタスク"Ｔ"及び"Ｕ"を消去し（ブロック７５５）、キュー４１３内に記憶装置ｎに対する他のタスクが存在するか否かを判断する（ブロック７５６）。存在しない場合、オペレーションはブロック７００に戻る。記憶装置ｎに対してタスク"Ｖ"がキュー４１３内に存在する場合、アレイ・マネージャ４１２は、タスク"Ｖ"の実行を開始するコマンドを発行し（ブロック７５７）、タスク"Ｖ"が進行中であることを反映するように、メールボックスが更新され（ブロック７５８）、記憶装置ｎが選択解除され、キュー４１３内のタスク"Ｖ"のステータスが更新される（ブロック７５９）。
【００５３】
記憶装置ｎのメールボックス内のタスクＩＤが"Ｔ"よりも大きな"Ｕ"であり（ブロック７４５）、タスク"Ｕ"のステータスが"進行中"の場合、アレイ・マネージャ４１２はアレイ・タスク・キュー４１３を更新し、"Ｕ"よりも小さなタスクＩＤを有する全てのタスク（要求）を消去し、タスク"Ｕ"が進行中であることを反映するようにキュー４１３を更新する（ブロック７５１）。アレイ・マネージャ４１２は次に記憶装置ｎに、タスク"Ｕ"を完了するようにコマンドを発行し（ブロック７５２）、同時に"タスクＵ完了"を知らせるために、記憶装置ｎ内のメールボックスを更新する（ブロック７５３）。アレイ・マネージャ４１２は次に記憶装置ｎを選択解除し、タスク"Ｕ"をそのアレイ・タスク・キュー４１３から消去する（ブロック７５４）。
【００５４】
一般に図４乃至図７を参照しながら、タスク・キュー４１３及び４１５のオペレーション、並びにメールボックスの使用について、以下の例を用いて更に説明する。ここでタスク・キュー４１３が記憶装置８（ＳＤ８）に対する固有の順次的に番号付けられた要求２５及び２６を含むものと仮定する。要求２５はキューの最上部に存在する（すなわち、次に実行されるオペレーションを意味する）。アレイ・マネージャ４１２は次にデバイス・インタフェース・アダプタ４４０を通じて記憶装置８が使用可能か或いは使用中かを確認するコマンドを発行する。記憶装置８が使用中の場合、その情報がアレイ・マネージャ４１２に返送され、アレイ・マネージャは次に、記憶装置８との通信のための別の試行をする以前に、他の装置に対する要求の実行を決定したりする。一方、記憶装置８が使用可能な場合には、アレイ・マネージャ４１２は記憶装置８を選択し、即時記憶装置８内のメールボックス５００を読出し、記憶装置８により実行された最後の要求のステータスが何であるかを判断する。メールボックス５００が、完了された最後の要求が要求番号２４であったことを示す場合、アレイ制御装置４１２は、要求２５に対するseek/locateコマンドを記憶装置８に発行する。アレイ・マネージャは次に、要求２５が進行中であることを示すように、メールボックスを更新する。これはタスク・ステータス５２０をｐにセットすることにより達成される（ここでｐは"進行中（in progress）"を意味する）。アレイ・マネージャ４１２は次に記憶装置８を選択解除し、要求２５が進行中であることを示すように、キュー４１３を更新する。アレイ・マネージャ４１２はまた、アレイ・マネージャ４１４に要求２５が進行中であることを知らせるメッセージを通信バス４１０を介して送信し得る。アレイ・マネージャ４１２は次にアイドル状態に戻るか、他の記憶装置との通信を確立し得る。
【００５５】
一方、アレイ・マネージャ４１２が記憶装置８を選択し、メールボックス５００を読出した後、要求２５に対するseek/locateコマンドが既に進行中であることを見い出す場合、アレイ・マネージャ４１２は要求２５が進行中であることを示すようにキュー４１３を更新し、次に記憶装置８に、要求２５を完了するように指示するコマンドを発行し、その状態の変化を反映するように、メールボックスを更新する。そして、記憶装置８を選択解除し、キュー４１３から要求２５を消去する。
【００５６】
別に、アレイ・マネージャ４１２が要求２５を実行するために、記憶装置８との通信を確立し、記憶装置８のメールボックスを読出した後、要求２６に対して既にseek/locateが進行中であることを見い出す場合、アレイ・マネージャ４１２は要求２５が既にアレイ・マネージャ４１４により完了されたと結論する。アレイ・マネージャ４１２は次に記憶装置８を選択解除し、キュー４１３から要求２５を消去する。アレイ・マネージャ４１２はまた、要求２６が進行中であることを示すように、キュー４１３を更新し、続いてアイドル状態に戻る。
【００５７】
一方、アレイ・マネージャ４１２が記憶装置８に対して、要求２５を実行しようと試み、メールボックス５００を読出すことにより要求２６が既に完了されたことを見い出す場合、アレイ・マネージャ４１２は要求２５が既に完了され、要求２５及び２６の両方がアレイ・マネージャ４１４によりサービスされたと結論する。アレイ・マネージャ４１２は次に要求２５及び２６の両方をキュー４１３から消去し、続いてキュー４１３を探索し、キュー４１３内に記憶装置８に対する他の要求が存在するか否かを判断する。こうした要求が見い出される場合、アレイ・マネージャ４１２はそれを実行しようと試みる。記憶装置８に対するこうした要求が見い出されない場合には、アレイ・マネージャ４１２は記憶装置８を選択解除し、キュー４１３内において、他の装置に対する要求を探索する。
【００５８】
従って、上述の説明及び提示された例から容易に理解されるように、複数のサブコマンド（２つ、３つまたはそれ以上のサブコマンド）を有する要求のサービスが１つのアレイ・マネージャにより、その固有のアレイ・タスク・キュー内の情報を用いて開始され得る。そして更に同一の要求が、別のアレイ・マネージャにより実行または完了され得る。同様に容易に理解されるように、両方のアレイ・タスク・キュー内に存在する複数の要求が、一方のアレイ・マネージャによってのみサービスされ、他のアレイ・マネージャは、こうしたサービスに参加する時間を有さない。
【００５９】
しかしながら、各記憶装置におけるメールボックス・レジスタの使用は、各要求のステータスをアレイ制御装置内の各アレイ・マネージャに提供する、容易且つ効率的な方法を提供する。それにより、データの完全性の問題または同一の要求を重複する潜在性を生むこと無しに、各制御装置パス内のキューが互いに完全に同期を外れることができる。各レジスタにおけるメールボックスと一緒に固有の要求ラベルを付加することにより、各要求のステータス（完了、進行中、キュー内で待機中）が別々の高速通信リンクの必要無しに、或いはアレイ・タスク・キューが常に同期することを保証する複雑なロッキング機構の必要無しに、アレイ・マネージャ間で伝達され得る。
【００６０】
図８は本発明の別の実施例を示す。データ処理システム８００が、記憶制御装置８２０と通信するホスト８１０を含み、記憶制御装置８２０は記憶装置８４０と直接通信する。この実施例では、図４及び図５に示される好適な実施例と異なり、記憶制御装置８２０が、記憶装置８４０へのアクセスを直接制御する。ホスト８１０はアプリケーション・プログラム８１２、オペレーティング・システム８１４、Ｉ／Ｏスーパバイザ８１６、及び複数の通信チャネル８１８を含む。
【００６１】
記憶制御装置８２０は、ホスト８１０との通信のための複数のＩ／Ｏポート８２２、共用キャッシュ８２４、及び２つの記憶サブ制御装置８３１及び８３２を含む。記憶サブ制御装置８３１は、タスク・キュー８２６及び制御装置パス８２９を含む。記憶サブ制御装置８３２は、タスク・キュー８２８及び制御装置パス８３０を含む。各制御装置パスは更に、プロセッサ及びメモリ・ユニットを含む。記憶サブ制御装置８３１及び８３２は、通信チャネル８４６及び８４７を介して、記憶装置８４０と通信する。各記憶装置８４０はメールボックスを含み、これは各記憶装置により実行された最新の要求の固有のＩＤ及びステータスを記憶する。記憶サブ制御装置による記憶装置のアクセス、メールボックスの読出し、及びタスク・キューの管理は、本発明の好適な実施例のそれと類似である。この実施例では、システム動作を低速化すること無しに、若しくはデータの完全性の問題を生じること無しに、または要求の重複を生じること無しに、タスク・キュー８２６及び８２８が、互いに完全に同期を外れることができる点に注意されたい。
【００６２】
図９は、図８に示される実施例と類似の本発明の別の実施例を示す。この実施例では、データ処理システム９００が記憶制御装置９２０を含み、記憶制御装置は４つの記憶サブ制御装置９３０、９３１、９３２及び９３３を含む。各記憶サブ制御装置は更に固有のタスク・キューを含む。従って、この実施例では、記憶制御装置内に、ホスト９１０により発行される要求をサービスし得る４つのタスク・キューが存在する。開示の本発明を用いれば、タスク・キューは、データの完全性の問題、若しくはデバイス・レベルにおける要求の重複を生じること無しに、またはキューに対する複雑なロッキング機構を必要とすること無しに互いに完全に同期を外れることができる。
【００６３】
図１０は、本発明の更に別の実施例を示し、そこではホストがネットワークにより互いに接続される複数の記憶制御装置を介して記憶装置と通信する。この実施例では、データ処理システム１０００がホスト１０１０、複数の記憶制御装置１０２０Ａ、１０２０Ｂ、．．．、１０２０Ｎ、及び記憶装置１０４０を含む。各記憶制御装置はキャッシュを含み、また１つ以上の記憶サブ制御装置を含み得る。各記憶サブ制御装置は固有のタスク・キューを有する。従って、この実施例ではホスト１０１０の要求が、２つ以上の記憶制御装置に送信されて処理される。好適には、要求が生成されるのと同時に要求の固有のタスクＩＤがホスト１０１０により生成され、記憶制御装置に送信される。要求がキャッシュに既に記憶された情報から処理され得ない場合、要求はタスク・キューに記憶され、本発明の好適な実施例の場合同様、記憶装置１０４０をアクセスすることにより処理される。開示の本発明を用いれば、異なる記憶制御装置内のタスク・キューが、データの完全性の問題、若しくはデバイス・レベルにおける要求の重複を生じること無しに、またはキューに対する複雑なロッキング機構を必要とすること無しに、互いに完全に同期を外れることができる。
【００６４】
以上、本発明の幾つかの実施例について述べてきたが、当業者には、本発明の趣旨及び範囲から逸脱すること無しに、更に様々な変更が可能であることが理解されよう。例えばタスク・キューの数は、ここで開示される本発明に制限を課すこと無く、任意の数であってよい。或いは、任意の装置により処理された過去ｎ個の要求の履歴や、要求を開始または完了したパスなどの追加の情報を保持するために、メールボックスが拡張されてもよい。メールボックスが更に打ち切られた要求や、デバイス・アクセスが特定のパスに制限されるか否かなどの情報を含んでもよい。従って、本発明が開示された特定の実施例により制限されるものではないことが理解されよう。
【００６５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００６６】
（１）中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵと通信する複数の制御装置であって、前記制御装置の各々が前記ＣＰＵから受信される要求を記憶するキューを有し、前記要求の各々が固有の識別ラベルを有する、前記制御装置と、
前記キューの任意の１つから受信される要求をサービスする記憶装置であって、前記サービスされる要求のステータス及び前記固有の識別ラベルを記憶するメールボックスを有する、前記記憶装置と、
を含む、データ処理システム。
（２）前記要求が複数のサブコマンドを含む、前記（１）記載のデータ処理システム。
（３）前記メールボックスが実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、前記（２）記載のデータ処理システム。
（４）前記制御装置の各々が前記メールボックスを読出し、前記メールボックスの内容にもとづき、前記サービスされる要求の前記ステータスを自身の前記キュー内で更新する手段を含む、前記（３）記載のデータ処理システム。
（５）中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵと通信する記憶サブシステムであって、前記記憶サブシステムが、
前記ＣＰＵから受信される要求を同時に記憶するキューを有する制御装置であって、前記要求の各々が固有の識別ラベルを有する前記制御装置を有する、前記記憶サブシステムと、
前記キューから受信される要求をサービスする記憶装置であって、前記サービスされる要求のステータス及び前記固有の識別ラベルを記憶するメールボックスを有する、前記記憶装置と、
を含む、データ処理システム。
（６）前記要求が複数のサブコマンドを含む、前記（５）記載のデータ処理システム。
（７）前記メールボックスが実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、前記（６）記載のデータ処理システム。
（８）前記制御装置が前記メールボックスを読出し、前記メールボックスの内容にもとづき、前記サービスされる要求の前記ステータスを自身の前記キュー内で更新する手段を含む、前記（７）記載のデータ処理システム。
（９）中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵと通信する記憶サブシステムであって、前記記憶サブシステムが、
複数の記憶サブ制御装置を有する記憶制御装置であって、前記記憶サブ制御装置の各々が、前記ＣＰＵから受信される要求を同時に記憶するキューを含み、前記要求の各々が固有の識別ラベルを有する前記制御装置を含む、前記記憶サブシステムと、
前記キューから受信される要求をサービスする記憶装置であって、前記サービスされる各要求のステータス及び前記固有の識別を記憶するメールボックスを含む、前記記憶装置と、
を含む、データ処理システム。
（１０）前記要求の各々が複数のサブコマンドを含む、前記（９）記載のデータ処理システム。
（１１）前記メールボックスが、実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、前記（１０）記載のデータ処理システム。
（１２）前記メールボックスを読出し、前記メールボックスの内容にもとづき、前記キュー内の前記要求の前記ステータスを更新する手段を含む、前記（１１）記載のデータ処理システム。
（１３）ホスト及び記憶サブシステムを含むデータ処理システムにおいて、前記記憶サブシステムが、前記ホストから受信される要求を処理する記憶制御装置並びに記憶装置を含み、前記記憶制御装置が複数のキューを含むものにおいて、前記キューの各々のステータスを更新する方法であって、
前記キューに同時に記憶される各要求に固有の識別ラベルを割当てるステップと、
サービスされる各要求のステータスを記憶する前記記憶装置内のメールボックスを保守するステップと、
前記メールボックスを読出し、サービスされた最後の要求の前記ステータスを判断するステップと、
前記メールボックスの内容にもとづき前記キューを更新するステップと、
を含む、方法。
（１４）前記キューに記憶される前記要求の各々が複数のサブコマンドを含む、前記（１３）記載の方法。
（１５）前記メールボックスが、実行される前記サブコマンドの各々のステータスを記憶するステータス・フィールドを含む、前記（１４）記載の方法。
【図面の簡単な説明】
【図１】記憶サブシステムと通信するホストを有するデータ処理システムを示す図である。
【図２】記憶制御装置に複数のタスク・キューを有する別のデータ処理システムを示す図である。
【図３】各記憶装置内にタスク・キューを有する別のデータ処理システムを示す図である。
【図４】本発明の好適な実施例を示す図である。
【図５】図４に示されるアレイ制御装置の詳細な構成図である。
【図６】各記憶装置に記憶されるメールボックスを示す図である。
【図７】本発明の好適な実施例におけるＩ／Ｏ要求処理のフローチャートである。
【図８】本発明の別の実施例を示す図である。
【図９】本発明の更に別の実施例を示す図である。
【図１０】本発明の更に別の実施例を示す図である。
【符号の説明】
８、１４０、１４２、２２０、３４５、８４０、１０４０  記憶装置
１００、２００、３００、８００、９００、１０００  データ処理システム
１１０、３１０、８１０、１０１０  ホスト
１１２、３１２、８１２  アプリケーション・プログラム
１１４、３１４、８１４  オペレーション・システム
１１６、３１６、８１６  Ｉ／Ｏチャネル
１２２、３２２、８２２  Ｉ／Ｏポート
１２４、３２４、８２４  共用キャッシュ
１２６、１２８、３２８、８２６、８２８  制御装置タスク・キュー
１３０、３３５、３３６、３５２、３５４、８３０  制御装置パス
１３２、１３４、３３１、３３２、８３１、８３２、９３０、９３１、９３２、９３３  記憶サブ制御装置
１５０、３８０  通信リンク
１６０、１６２、１６４、１６６  デバイス通信リンク
２１０、２１２  プロセッサ
２１８  ＳＣＳＩバス
２２２  記憶媒体
２２４  デバイス制御装置
２２６  デバイス・タスク・キュー
３４０  記憶アレイ
３５０  アレイ制御装置
３８０  通信回線
４００  記憶インタフェース・アダプタ
４１０  通信バス
４１２、４１４  アレイ・マネージャ
４１３、４１５  キュー
４１６、４１８  バッファ
４４０、４４２  デバイス・インタフェース・アダプタ
５００  メールボックス
５１０  要求ＩＤ
５２０  ステータス
８１８、８４６、８４７  通信チャネル
【図１】
0003694273.tif 000002
【図２】
0003694273.tif 000003
【図３】
0003694273.tif 000004
【図４】
0003694273.tif 000005
【図５】
0003694273.tif 000006
【図６】
0003694273.tif 000007
【図７】
0003694273.tif 000008
【図８】
0003694273.tif 000009
【図９】
0003694273.tif 000010
【図１０】
0003694273.tif 000011