(57)【要約】【課題】複数の記憶制御装置を統合的に管理する記憶システムを提供する。【解決手段】第２の記憶制御装置に対する上位装置からのＩ／Ｏを第１の記憶制御装置を介して処理する。第１の記憶制御装置は、第２の記憶制御装置の管理情報を保持することで、第１及び第２の記憶制御装置間においても論理デバイスのペア生成を可能にする。【効果】第２の記憶制御装置を第１の記憶制御装置から制御することが可能となる。【選択図】  図１
2004302713.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から受領した記憶装置に対するデータの書き込みや読み出しを制御する第１の記憶制御装置を有する記憶システムであって、
前記第１の記憶制御装置は、前記上位装置に接続され、前記上位装置からのコマンドを処理する第１の処理部と、
前記上位装置から受領したデータを一時的に保持するキャッシュメモリと、
前記記憶システムの管理情報を保持するメモリと、
前記キャッシュメモリ上のデータの前記記憶装置に対する書き込みを制御する第２の処理部と、を有し
前記記憶システムは、前記第２の処理部に、第２の記憶制御装置が接続されることを特徴とする記憶システム。
【請求項２】
請求項１に記載の記憶システムにおいて、前記第１の記憶制御装置が、前記第１の記憶制御装置の制御下にある第１の記憶装置上の論理デバイスと、前記第２の記憶制御装置の制御下にある第２の記憶装置上の論理デバイスとの間にペア関係を生成することを特徴とする記憶システム。
【請求項３】
請求項２に記載の記憶システムにおいて、前記メモリの管理情報として、第１及び第２の記憶制御装置の制御情報、デバイス情報、差分管理情報を含むことを特徴とする記憶システム。
【請求項４】
請求項１に記載の記憶システムにおいて、前記第２の記憶制御装置は、この記憶制御装置に制御される記憶装置上に少なくとも２以上の論理デバイスを有し、前第１の記憶制御装置の前記メモリ内に、前記２以上の論理デバイス同士のペア状態を管理する管理情報を保持することを特徴とする記憶システム。
【請求項５】
請求項４に記載の記憶システムにおいて、
前記管理情報は、前記第２の記憶制御装置によって制御される記憶装置上の記憶デバイスのペア状態が、スプリット状態である場合に、その差分情報を保持する差分管理情報を有することを特徴とする記憶システム。
【請求項６】
上位装置から受領したデータの記憶装置に対する書き込みや読み出しを制御する第１の記憶制御装置を有する記憶システムであって、
前記第１の記憶制御装置は、前記上位装置に接続され、前記上位装置からのコマンドを処理する第１の処理部と、
前記上位装置から受領したデータを一時的に保持するキャッシュメモリと、
前記記憶システムの管理情報を保持するメモリと、
前記キャッシュメモリ上のデータの前記記憶装置に対する書き込みを制御する第２の処理部と、を有し
前記記憶システムは、前記第２の処理部に、第２の記憶制御装置が接続され、
前記第１の処理部が前記コマンドを受領した場合に、前記第１の記憶制御装置内の管理情報を参照して、前記コマンドが、前記第１の記憶制御装置が制御する記憶装置上の論理デバイスに対するものか、前記第２の記憶制御装置が制御する記憶装置上の論理デバイスに対するものかを、判定することを特徴とする記憶システム。
【請求項７】
請求項６に記載の記憶システムにおいて、前記判定が前記第２の記憶制御装置に上の論理デバイスに対するものであると判定した場合に、
前記第１の処理部または、前記第２の処理部が、前記コマンドを前記第２の記憶制御装置で制御可能なコマンドにコマンドの等価変換を行うことを特徴とする記憶システム。
処理部を介して前記第２の記憶制御装置に対して発行するかどうかを判定することを特徴とする記憶システム。
【請求項８】
上位装置から受領した記憶装置に対するデータの読み出しを制御する第１の記憶制御装置を有する記憶システムであって、
前記第１の記憶制御装置は、
データを蓄積する第１の記憶装置と、
前記上位装置に接続され、前記上位装置からの読み出しコマンドを処理する第１の処理部と、
前記第１の処理部の処理結果に応答して前記第１の記憶装置から前記データを読み出して、キャッシュメモリに保持する第２の処理部と、を有し、
前記記憶システムは、前記第２の処理部と接続される第２の記憶制御装置を有し、
前記第２の記憶制御装置は、
前記第２の処理部からの読み出しコマンドを受領する第３の処理部と、
前記第２の記憶制御装置が制御する第２の記憶装置とを有し、
前記第３の処理部の処理結果に応答して前記第２の記憶装置からデータの読み出しを行う第４の処理部とを有することを特徴とする記憶システム。
【請求項９】
請求項８に記載の記憶システムにおいて、
前記第１の記憶制御システムは、前記第２の記憶装置上に生成された論理デバイスの管理情報を保持するメモリを有することを特徴とする記憶システム。
【請求項１０】
請求項９に記載の記憶システムにおいて、
前記管理情報が、前記第２の記憶装置上の論理デバイスを含むペア論理デバイスの管理情報であることを特徴とする記憶システム。
【請求項１１】
請求項１０に記載の記憶システムにおいて、
前記管理情報が、前記第２の記憶装置上の論理デバイスを含むペア論理デバイス間の差分情報を含むことを特徴とする記憶システム。
【請求項１２】
請求項１１に記載の記憶システムにおいて、
前記第１または、前記第２の処理部が、前記差分情報に基づいて、前記上位装置から読み出し命令を受領したデータを  前記第１の記憶制御装置が制御する論理デバイスから読み出すか、前記第２の記憶制御装置が制御する論理デバイスから読み出すかを判定することを特徴とする記憶システム。
【請求項１３】
第１の記憶装置を有する第１の記憶制御装置に、第２の記憶装置を有する第２の記憶制御装置が接続された記憶システムの制御方法であって、
前記第１の記憶装置が、上位装置からデータの書き込みまたは読み出し命令を受領する第１のステップと、
前記第１の記憶制御装置内の管理情報に基づいて、前記上位装置からのデータの書き込みまたは読み出しを前記第１の記憶装置に対して行うか、前記第２の記憶装置に対して行うかを判定する第２のステップと、
前記第２のステップの判定結果に応答して、前記第１または前記第２の記憶装置に対してデータの書き込みまたは読み出しを行う第３のステップとからなる記憶システムの制御方法。
【請求項１４】
上位装置から受領した記憶装置に対するデータの書き込みや読み出しを制御する第１の記憶制御装置を有する記憶システムにおいて、
前記第１の記憶制御装置は、前記上位装置に接続され、前記上位装置からのコマンドを処理する第１の処理部と、  前記上位装置から書き込み命令を受領したデータを記憶する第１の記憶装置と、前記上位装置から書き込み命令を受領したデータまたは前記上位装置から読み出し命令を受領し前記第１の記憶装置から読み出したデータを一時的に保持するキャッシュメモリと、  前記記憶システムの管理情報を保持するメモリと、  前記キャッシュメモリ上のデータの前記第１の記憶装置に対する書き込みを制御する第２の処理部と、を含み、  前記第２の処理部に、第２の記憶制御装置が接続される記憶システムの制御方法であって、
前記第１の処理部が、上位装置からデータの書き込みまたは読み出し命令を受領する第１のステップと、
前記上位装置から受領したコマンドが、前記第１の記憶装置上の論デバイスに関するものか、前記第２の記憶装置上の論理デバイスに対するものかを前記管理情報を参照して判定する第２のステップと、
前記第２のステップにおける判定結果が、前記第２の記憶装置上の論理デバイスに対するものであるとの判定結果である場合に、
前記第２の処理部を介して、前記第２の記憶制御装置に制御コマンドを中継することを特徴とする第３のステップとを有することを特徴とする記憶システムの制御方法。
【請求項１５】
請求項１４に記載の記憶システムの制御方法において、
前記第２の記憶制御装置に制御コマンドを中継する場合に、前記第１の処理部または、前記第２の処理部が、前記中継する制御コマンドを前記第２の記憶制御装置が処理可能なコマンドに等価変換する第４のステップとをさらに含むことを特徴とする記憶システムの制御方法。
【請求項１６】
請求項１４に記載の記憶システムにおいて、
前記記憶システムは、前記第１の記憶装置上の論理デバイスと、前記第２の記憶装置上の論理デバイスとの間に論理デバイスペアを生成するステップをさらに有し、前記論理ペアデバイスに対する前記上位装置からの書き込み命令を受領した場合に、前記論理デバイスの更新情報を差分情報として前記管理情報に蓄積することを特徴とする請求項１４に記載の記憶システム。
【請求項１７】
請求項１４に記載の記憶システムが、前記上位装置からのデータの読み出しコマンドを受領した場合に、
前記差分情報を参照して、前記読み出しを前記第１の記憶装置上の論理デバイスと、前記第２の記憶装置上の論理デバイスのいずれから読み出すかを判定するステップとをさらに有することを特徴とする記憶システムの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２以上の記憶制御装置間での論理デバイスペア構成方法、及び論理デバイスペアへの各記憶制御装置からのＩ／Ｏの処理方式に関する。
【０００２】
【従来の技術】
複数の記憶制御装置に跨って論理デバイスペアが構築されている場合、この論理デバイスペアをそれぞれ別にアクセス可能にしようとする場合、上位装置からＳｐｌｉｔ状態と呼ばれる状態に遷移するコマンドを発行し、ペアを構成されている論理デバイスのそれぞれは、アクセス履歴を管理される状態に遷移させられる。このようなリモートコピーに関する技術として例えば特許文献１がある。
【０００３】
この場合、上位装置からのそれぞれの論理デバイスに対するＩ／Ｏ命令は、それぞれの記憶制御装置にが受領し、処理をされる。上位装置からのＩ／Ｏをそれぞれの記憶制御装置で処理するために、論理デバイスペア間ではデータの差異が生じる。この生じたデータの差異は、それぞれの記憶制御装置上に持つ差分情報蓄積手段に記録される。これら独立して制御されていた論理デバイスをもとの同期しているペアの状態にするには、Ｒｅｓｙｎｃというコマンドを上位装置から発行する。このリンシンクコマンドが発行されると、正論理デバイスと副論理デバイスのデータを一致させるために、正論理デバイスのデータを副論理デバイスにコピーする。ここでいう正論理デバイスとは、例えば、運用系の論理デバイスのことで、副論理デバイスはある時点での運用系の論理デバイスのデータイメージを保持しているボリュームを指す。
【０００４】
但し、この場合において、Ｓｐｌｉｔ中にデータを更新するようなＩ／Ｏを受けていないデータについては、コピー量・コピー時間の短縮の目的から、それぞれの記憶制御装置上で記録した前述の差分情報をマージし、差異部分についてのみコピー処理を行っている。例えば、Ｒｅｓｙｎｃによる差分データのコピー処理を、正側制御装置が主導で行う場合に、副側制御装置に記録された副側論理デバイスの差分情報を、副側制御装置に対し転送指示を与え、正側制御装置は受信した差分情報  を正側論理デバイスの差分情報とマージして、差分コピーするデータを決定する。
【０００５】
【特許文献１】特開平１０−３３３８３８号公報
【発明が解決しようとする課題】
前記従来技術によれば、正側記憶制御装置と副側記憶制御装置との間で、差分情報を送受信するためのインタフェースが不可欠である。現時点では、差分情報の管理方式は、ストレージメーカー独自の技術が採用されている。したがって、Ｒｅｓｙｎｃ時の差分コピー量・時間を短縮することの可能なリモートコピーの正副記憶制御装置は、同一メーカーのストレージ製品であることが要求される。。
【０００６】
しかしながら、この制約は各社の記憶制御装置が存在するヘテロ環境の中では、記憶制御装置の構成の自由度を大きく妨げてしまう。
【０００７】
そこで本発明の第一の目的は、リモートコピー時の正副制御装置間の差分管理方式に違いがあっても、高速なリシンクを可能とすることにある。また、副側制御装置に差分管理機能を持たない記憶制御装置上の論理デバイスとの間であっても、高速なリシンクを可能とすることにある。
【０００８】
さらにまた、従来技術によれば、正側論理デバイスと副側論理デバイスの更新情報をそれぞれの制御装置側で差分管理することから、ペアスプリット（Ｓｐｌｉｔ）状態での上位装置からのリード命令は、リード命令先の論理デバイスから読み出すしかない。その読み出そうとするデータが、更新されたものである場合には、更新されたデータを読み出す必要があるからである。
【０００９】
そこで、本発明の第二の目的は、上位装置のリード命令を正副論理デバイスから読み出させるように分散処理を可能とする記憶制御装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記第１の目的を達成する本願発明の記憶制御装置は、副側論理デバイスを正側制御装置と接続し構成することにあり、上位装置の副側論理デバイスに対するＩ／Ｏ命令を正側制御装置で受領する手段と、上位装置の副側論理デバイスに対するＩ／Ｏ命令を正側制御装置から副側装置に対し実行する手段と、ペアＳｐｌｉｔ状態において論理デバイスペアに対するそれぞれ論理デバイスデータの更新Ｉ／Ｏ位置を差分情報化し記録する手段と、ペアＲｅｓｙｎｃ時に記録した差分情報から差分コピーする手段と、各論理デバイスに対するＩ／Ｏの統計情報と論理デバイスペアの差分情報から上位装置のリード命令に対しデータの読み出し先論理デバイスを決定する手段とを備える、リモートコピーシステムで達成できる。
具体的には、記憶制御装置における論理デバイスペア間の正側と副側差分情報を、正側記憶制御装置に持つように構成する。この差分情報を利用することで正副論理デバイスのデータの一致部分が把握できることから、上位装置の副側論理デバイスに対するリード命令を正側論理デバイスで読み出すことが可能かどうかが判断可能になり、同様に正側論理デバイスに対するリード命令を副側論理デバイスで読み出すことが可能かどうかを判断できるようになる。
【００１１】
【発明の実施の形態】
図１は、本実施例のシステム構成を示す。第１の記憶制御装置２は、この記憶制御装置２に命令を発行する情報処理装置である上位装置１（以下単に上位装置と呼ぶ。）に接続され、この上位装置からのデータ出入力要求に応答して、第１の記憶装置３に対して、データの書き込みや読み出しを制御する。
この第１の記憶制御装置２は、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部を介して、第二の記憶制御装置４と接続される。
【００１２】
この第１の記憶制御装置は、上位装置１から書き込みや読み出し命令を受けたデータを一時的に蓄積するキャッシュメモリ１０を有する。
【００１３】
このキャッシュメモリ１０は、第２の記憶制御装置４に接続される第２記憶装置５ａや、第３記憶装置５ｂから第１の記憶制御装置２が読み出したデータをバッファリングする場合や、第１の記憶制御装置２から、Ｉ／０処理部８を介して、第２の記憶制御装置４に接続される第２記憶装置５ａや第３の記憶装置５ｂに書き込みするデータを一時的に保持するためにも用いられる。
【００１４】
この第１の記憶制御装置２は、上位装置１からのＩ／Ｏ命令を処理するためのＴａｒｇｅｔコマンド処理部６と、第一記憶装置に対しＩ／Ｏ命令を処理するためのＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７とを備え、同様に第二制御装置に対しＩ／Ｏ命令を処理するためのＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８を備える。
【００１５】
さらにこの第１の記憶制御装置２は、Ｔａｒｇｅｔコマンド処理部６とＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７，８との間で、情報の共有や交換を行うための共有メモリ９から構成される。共有メモリ９は、ＩｎｉｔｉａｔｏｒＩ／０処理部８を介して接続される第２の記憶制御装置４のアドレスを管理する制御装置情報１１を有し、この情報によって、第１の記憶制御装置は、第２の記憶制御装置のアドレスを特定することが可能となる。さらに共有メモリ内には、論理デバイスと記憶装置と、記憶制御装置と、論理デバイスペアとを関連付けるためのデバイス情報１２を有し、第一の記憶制御装置２は、この情報を参照して、上位装置が論理ボリュームに対して発行した命令が、第１記憶装置３のどのアドレスへのアクセス命令なのか特定を容易にする。
【００１６】
一方、このデバイス情報１２は、どの論理ボリューム同士がペアを構成しているかを管理する情報であり、第１の記憶制御装置２は上位装置１からのＩ／０要求に対して、この情報を参照して、ペアを形成している論理ボリュームが存在する場合には、当該ペアとなっている論理ボリュームにもデータの書き込みを行うような処理を実行する。即ち、これらの情報によって、書き込みを行うべき論理デバイスが自筐体に存在するか。第２の記憶制御装置４のように第１の記憶制御装置２とは別の筐体なのかを識別する。
【００１７】
さらに、この共有メモリ９は、ペアを形成している論理デバイス間（以下論理デバイスペア間）でデータに差分が生じた場合に差分が生じた位置を示す差分情報１３を有する。
【００１８】
一方、この共有メモリ９は、Ｔａｒｇｅｔコマンド処理部６とＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７、８との間で論理デバイスに対する処理の指示と処理の結果を連絡するためのＩ／Ｏ情報１４、及び、論理デバイスに対するＩ／Ｏ処理数を記録するための統計情報１５を備える。この統計情報１５は、論理デバイスの物理ボリューム上の配置を最適化する場合に用いられる他、「Ｉ／Ｏ命令を出すときの最適化」すなわちＩ／Ｏのバランシングを目指す目的で使用する。
【００１９】
第２の記憶制御装置４は、第１の記憶制御装置２のＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８のから出力される、第２の記憶装置５ａ上に配置される論理デバイス１７と第３の記憶装置５ｂにある論理デバイス１９に対するＩ／Ｏ命令の処理手段を備える。具体的な構成は、第１の記憶制御装置２と同じである。
【００２０】
図２は、記憶制御装置が、記憶装置上の論理デバイス配置を管理するための制御装置情報１１を示す。この制御情報は、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部に接続される制御装置を特定し、管理するための情報で、図２に示すようにテーブル構成を有する。
【００２１】
記憶制御装置番号１０１は、第一の記憶制御装置２内で、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８に接続された記憶制御装置を識別するための識別子である。筐体位置１０２は、アドレスを管理する記憶制御装置が第一記憶制御装置自身を指すのか、第一の記憶制御装置のＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８を通じて接続される他筐体であるのかを示すデータである。
【００２２】
さらにこのテーブルは、制御装置がＩｎｉｔｉａｔｏｒＩ／Ｏ処理部を通じて接続される場合に、どのＩｎｉｔｉａｔｏｒＩ／Ｏ処理部を経由するかを示すイニシエータ制御部番号と、その制御装置がユニークに判別できるためのノードネーム１０４と、ＩｎｉｔｉａｔｏｒＩ／Ｏ制御部がその制御装置にＩ／Ｏを発行するための制御装置アドレス１０５を情報として持つ。
【００２３】
この情報は前述の通り、共有メモリ９内に置かれ、ターゲットとする論理デバイスを配下に有する記憶制御装置のアドレスを求めるときや、記憶制御装置間のコネクションを行うときに参照する。
【００２４】
次に、デバイス情報１２の構成要素を図３で説明する。上位装置がＩ／Ｏユニットとして認識する論理デバイス番号を配列として、参照する論理デバイスに関する情報の格納位置が求まる。制御装置番号２０２は、論理デバイスの実装される記憶制御装置の番号であり、図２の制御装置情報テーブルで管理される制御装置の番号（制御装置情報テーブルの配列の要素番号に等しい）である。、記憶装置番号２０３は、制御装置番号２０２が指す記憶制御装置内の記憶装置の番号である。
【００２５】
ペア状態２０４は、論理デバイスがリモートコピーペアデバイスであるかを示す情報で、図でＳｐｌｉｔとあるのは、ペアを組んでいる論理デバイスが存在し、その論理デバイスペアが、現在それぞれ独立して書き込みや読み出しの要求を受け、その差異は、差分管理によって管理されている状態を示している。またＳｉｍｐｌｅｘとあるのは、どの論理デバイスとペアを構成しているほかの論理デバイスがないことを示している。
【００２６】
ペア番号２０５は、そのペアを識別するための識別子である。属性２０６は、ペアの正側論理デバイスなのか副側論理デバイスなのか属性を表すものである。ペア論理デバイス番号２０７は、ペアを組む相手先の論理デバイス番号を示す。コピーポインタ２０８は、ペア形成中の初期コピー進捗位置を指すポインタである。
【００２７】
デバイス情報１２は、論理デバイスに対するアクセス要求に対し、論理デバイスの実装先、つまりデータをリード・ライトするためのＩ／Ｏを発行する物理的な位置情報である記憶装置番号または記憶制御装置番号を求めるために使用する。また、ペア状態２０４から、データ更新Ｉ／Ｏについては、ペアとなる正副両論理デバイスに対する二重書き込みの要否を判断する。二重書き込みが必要と判断する場合には、ペアを組む相手先論理デバイス番号２０７を用いて、相手先論理デバイスの実装先をデバイス情報テーブル１２から求める事が出来る。
【００２８】
次に、Ｉ／Ｏ情報テーブルを図４を用いて説明する。Ｔａｒｇｅｔコマンド処理部６が上位装置から論理デバイスデータのアクセス要求を受け、キャッシュメモリ１０と記憶装置３や第二の記憶制御装置４とでデータ転送の必要性が発生するときに、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７，８に対しリード・ライトをリクエストするために、リクエストキュー３０１〜３０７を使用する。リクエストキューポインタテーブル３０１は、リクエストキューに要求を格納する先を示すＩＮポインタ３０２と、リクエストキューの要求を取り出すためのＯＵＴポインタ３０３から成る。ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７，８は、論理デバイスに対する要求が発生しているかを知るために、ＩＮポインタ３０２とＯＵＴポインタ３０３の差分が有るかを判断する。リクエストキューは、リクエストキューポインタのポイント先としてリクエストキューエントリ番号３０４と、要求する命令を格納するコマンド３０５、コマンド対象ブロック番号３０６、コマンド処理ブロック長３０７から成る。レスポンスキュー３０８〜３１３は、リクエストキューで指示された要求の処理結果を格納するために使用する。
レスポンスキューポインタテーブル３０８は、レスポンスキューに応答を格納する先を指すＩＮポインタ３０９と、応答を取り出す先を指すＯＵＴポインタ３１０から成る。指示された要求に対する処理結果は、ＩＮポインタ３０９が指すレスポンスエントリ番号３１１の処理結果３１２に格納し、処理結果の詳細情報が有れば詳細情報３１３に格納する。
【００２９】
換言すれば、Ｉ／Ｏ情報テーブルとは、論理デバイスに対するアクセス要求に対し、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部を通じて、物理デバイス（＝記憶装置）に対しＩ／Ｏを発行すべきと判断した場合に、Ｔａｒｇｅｔコマンド処理部６と、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７，８間で、要求を通知し（リクエストキュー）、要求に対し応答を通知する（レスポンスキュー）するためのテーブルである。したがって、記憶装置３だけでなく、第二の記憶制御装置４とのデータ転送の必要性が発生した場合に使用する。
【００３０】
次に、図５の差分情報１３について説明する。Ｔａｒｇｅｔコマンド処理部６が、上位装置１から論理デバイスのデータ更新要求を受けたときに、デバイス情報１２から論理デバイス番号を配列として、この論理デバイスのペア状態２０４を参照する。ペア状態がＳｐｌｉｔにあるとき、ペアデバイスのどちらか一方だけがデータを更新することになる。このため、正副論理デバイス間で更新した部分は正副不一致になる。よって、更新位置と長さから不一致になるデータに相当する差分ビット位置を求め差分ビットを「１」に設定する。差分ビットの意味は、正副論理デバイス間でデータが一致となる位置の差分ビットは「０」、不一致となる位置の差分ビットは「１」としておく。このことから、ペアＲｅｓｙｎｃするときは、そのペアの差分情報１３の差分ビットが「１」の部分だけを、正側の論理デバイスから副側の論理デバイスに対し差分コピーすれば良い。
【００３１】
次に、図６の統計情報テーブル１５について説明する。上位装置１からの所定の論理デバイスデータに対するアクセス要求に対し、Ｔａｒｇｅｔコマンド処理部６がＩ／Ｏ情報テーブル１４を用いて、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７，８を介して、記憶装置３，５ａ，５ｂにＩ／Ｏを指示したときに、統計情報テーブル１５の対象論理デバイスの全Ｉ／Ｏカウンタ４０２のカウンタを更新する。そのＩ／Ｏがリード要求であった場合リードＩ／Ｏカウンタ４０３を、また、そのＩ／Ｏがライト要求であった場合ライトＩ／Ｏカウンタ４０４を更新する。この統計情報テーブル１５により、上位装置１の論理デバイスに対する要求によって記憶装置に対して何回のＩ／Ｏを指示したかの回数を把握できる。
さらに、図７、図８を用いて、これらの制御情報を使用する本発明の方式について詳細に説明する。
図７，８は、上位装置１から第１記憶制御装置２に対し発行される、第２の記憶制御装置上の論理デバイス５ａ，５ｂに対するのＩ／Ｏ要求を、第２記憶制御装置にＩ／Ｏコマンドを転送するまでの流れについて説明している。
【００３２】
図７は、上位装置１と接続される第１の記憶制御装置２のＴａｒｇｅｔコマンド処理部６における処理フローである。Ｔａｒｇｅｔコマンド処理部６は、受信したＩ／Ｏ要求が自筐体内で処理可能か、それともＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８を介して他の記憶制御装置に転送するべきかを判断する。
【００３３】
ステップ１００２は、上位装置１から与えられた論理デバイス番号から、デバイス情報１２の制御装置番号２０２を取得している。具体的には図３のテーブルを用いて、指定された論理デバイス番号２０１に対応する制御装置番号２０１を読み出す。
【００３４】
続くステップ１００３〜は、制御装置番号２０２から図２に示す制御装置情報１１を用いて、筐体位置１０２を参照し、論理デバイスが自身が制御する記憶装置上の論理デバイスであるかどうかに関する情取得している。
続くステップ１００４では、上位装置１からのＩ／Ｏ要求が自筐体内でのみ処理可能かを判定する。自筐体でのみ処理可能であるならば、通常のＴａｒｇｅｔＩ／Ｏ動作が可能であり、ステップ１０１１に進む。ここで、自筐体のみでのＩ／Ｏ動作が可能という意味は、上位装置１から書込みや読込み等のＩ／Ｏコマンドを受領した記憶制御装置自身の制御下に、そのＩ／Ｏコマンドの対象となる論理デバイスが、存在しているという意味である。
【００３５】
自筐体で処理不可もしくは他筐体でも処理すべきと判断した場合、即ち、Ｉ／０の対象となった論理デバイスが、他記憶制御装置の制御下にある場合は、続くステップ１００５，１００６にて、図４に示すＩ／Ｏ情報１４にあるＩ／Ｏメッセージテーブルのリクエストキューに空きエントリがあるかチェックする。リクエストキューに空きが無い場合は、ステップ１０１２に進み、エラーを返却することでリトライを催促する。リクエストキューにエントリ可能であれば、ステップ１００７でリクエストキューのＩＮポインタ３０２が示すリクエスト番号のリクエストエントリ３０４に、上位装置１から受領した要求をコマンド３０５・ブロック番号３０６・ブロック長３０７を登録する。ステップ１００８では、リクエストをリクエストキューに格納済みである事を示すために、リクエストキューのＩＮポインタ３０２を加算する。ステップ１００９では、リクエストキューに要求を転送したことを呼び元に通知するための返却値を設定する。
ところで、図７においては、上位装置１からのＩ／Ｏコマンドがアクセスの対象としている論理デバイスが、当該Ｉ／Ｏコマンドを受領した記憶制御装置自身が制御する記憶装置上のデバイスであるかどうかを判定し、Ｉ／Ｏコマンドを受領した記憶制御装置自身の論理デバイスを対象とするアクセスである場合には、その記憶制御装置自身が、自身の制御下の論理デバイスに対するＩ／Ｏ処理を行ない、そうでない場合は、他の記憶制御装置の筐体番号を特定して、当該他の筐体の記憶制御装置にその処理を委ねるように構成した場合を説明した。この点を図１を用いて詳述すると、上位装置１から受領したＩ／Ｏコマンドが、第１の記憶制御装置２の制御下にある第１記憶装置３上に形成された論理デバイス１８である場合は、Ｔａｒｇｅｔコマンド処理部６及びＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７が共有メモリ９内の各種情報に基づいて、論理デバイス１８へのＩ／Ｏ処理を行う。一方、上位装置１から受領したＩ／０コマンドが、第２記憶装置５ａ、または、第３記憶装置５ｂ上の論理デバイス１７、または、１９を対象としたものである場合は、Ｔａｒｇｅｔｏコマンド制御部６は、Ｉｎｉｔｉａｔｏｒ制御部８を介して、当該Ｉ／Ｏを第２記憶制御装置４に中継するのである。
【００３６】
Ｉ／Ｏコマンドの中継を受領した第２記憶制御装置４は、当該Ｉ／Ｏコマンドが第２記憶制御装置自身が制御する記憶装置上の論理デバイスを対象としたものかどうかを判定する。（図７の手順に同じ。）そして、このＩ／Ｏコマンドが対象とした論理デバイスが、例えば第２記憶装置５ａ上の論理デバイス１７である場合には、当該論理デバイス１７に対して第二記憶制御装置内の処理部がＩ／Ｏ処理を行うのである。
【００３７】
ここで、第１の記憶制御装置２と、第２の記憶制御装置４とは同じ種類または性能の記憶制御装置である必要はない。なぜなら、第２の記憶制御装置は、第１の記憶制御装置２から中継されるＩ／Ｏコマンドを単に、上位装置から受領するＩ／Ｏコマンドであるのと同じように受領し、処理するからである。
【００３８】
一方、第１記憶制御装置１のＩｎｉｔｉａｔｏｒＩ／Ｏ処理部を介して中継されるＩ／Ｏコマンドは、必ずしも上位装置１が発行したＩ／Ｏコマンドをそのまま、転送するものでなく、第１記憶制御装置２のＴａｒｇｅｔコマンド処理部６或いは、ＩｎｉｔｉａｔｏｒＩ／０処理部８が何らかの変換を行ってから中継するように構成することもできる。
【００３９】
上位装置１から発行されるコマンドが、第２の記憶制御装置４自身では処理できないようなＩ／Ｏコマンドであったとしても、第１の記憶制御装置が当該Ｉ／Ｏコマンドを解釈して、第２の記憶制御装置４が処理できる等価のＩ／Ｏコマンドとして発行するのである。
【００４０】
このようにコマンドを変換してから中継することが可能に構成にすることは、性能の異なる記憶制御装置を利用する場合に最適である。
【００４１】
例えば、第２の記憶制御装置を介して、その制御下の第２記憶装置５ａ、第３記憶装置５ｂを利用していたユーザが、新たに新しい機能を有する記憶制御装置として、第１の記憶制御装置２を導入したような場合である。
【００４２】
本願発明を適用しない場合、新たに便利なＩ／Ｏコマンドを有する第１の記憶制御装置２を導入したとしても、第２の記憶制御装置４は、従来の制御装置なので、ユーザがこれまで利用していた第２記憶装置５ａや第３記憶装置５ｂ内のデータに対してはその新たなＩ／Ｏコマンドを利用することができない。そのようなコマンドを利用するためには、第２記憶装置５ａ及び第３記憶装置５ｂ内のデータを新たに導入した第１記憶制御装置の制御下の第１記憶装置３に移行しなければならない。当然移行してしまうと、従来利用していた第２記憶制御装置４及び、その制御下の第２記憶装置５ａ及び第３記憶装置が無駄になってしまう。
【００４３】
そこで、本願発明のように第１の記憶制御装置２（新装置）で上位装置からの高度なコマンドを受領し、そのコマンドの解釈して、第２の記憶制御装置が処理できるコマンドするコマンド等価変換をこの第１の記憶制御装置２で行うと供に、第１の記憶制御装置２の共有メモリ９に蓄積された制御装置情報１１を用いて、第２記憶制御装置４（旧装置）の論理デバイスへのアクセスを可能にすれば、これまでのデータ資源及び、第２の記憶制御装置４、記憶装置５ａ、５ｂのようなハードウェア資源も有効に利用することができるのである。
【００４４】
ところで、本願図１においては、説明を容易にするために、上位装置と接続するアダプタであって、上位装置からのコマンドを受領して処理するＴａｒｇｅｔコマンド処理部６が一つの場合を用いて説明したが、この上位装置と接続され、当該上位装置のコマンドを処理するアダプタ部は、通常１の記憶制御装置に対して、複数設けられることが一般的である。
【００４５】
そして、記憶システムの全体の拡張性、スケラビリティを向上させるために、できるだけ多くこのようなアダプタ部を設けるように工夫されている。このような上位装置と接続されるアダプタ部は、ディレクター部或いは、チャネルアダプタと呼ばれることがある
本願発明においては、第２の記憶制御装置４を第１の記憶制御装置２と接続するにあたり、このようなＴＡＲＧＥＴコマンド部６を使用せずに、記憶装置を接続するアダプタであるＩｎｉｔｉａｔｏｒＩ／Ｏ処理部を利用する。この１実施態様においては、その第２の記憶制御装置４を第１の記憶制御装置２が、記憶装置を接続するアダプタポートを介して接続されるので、第２の記憶制御装置４への接続のために、ＴＡＲＧＥＴコマンド部６のような上位装置との接続部が利用されない。つまり、上位装置との接続アダプタを、他記憶制御装置へのコマンド中継によって占有されるという不便がないのである。
【００４６】
図７のステップ１００４は、単にホストがターゲットとした論理デバイスが自筐体に存在するかどうかということだけでなく、その処理を「自筐体では処理不可もしくは他筐体にも処理させるべき」という判断をするステップとすれば、上位装置からのコマンドをコマンドの種別に対応して、その処理を行う記憶制御装置を峻別することが可能となる。
【００４７】
図８は、図７のステップ１００７の手順で蓄積された上位装置１からのＩ／Ｏ要求に対し、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８で要求を検出し、第二記憶制御装置４に対し要求を発行する手順を示す。
【００４８】
図１に照らして具体的に説明すると、図７は、上位装置１から発行されたＩ／Ｏコマンドが、第１の記憶制御装置２内で処理されるべきか、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部８を介して、第２の記憶制御装置４内で処理されるべきものが判定する手順であり、図８は、第２の記憶制御装置４で処理するべき上位装置１からのＩ／ＯコマンドをＩｎｉｔｉａｔｏｒＩ／Ｏ処理部が、処理する手順を示している。
【００４９】
ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部は、Ｔａｒｇｅｔコマンド処理部からコマンドを受領すると、自身がホストコンピュータのように振る舞い、第２の記憶制御装置４に対して、受領したコマンドを発行する。
【００５０】
ステップ２００２〜２００３は、ｉｎｉｔｉａｔｏｒＩ／Ｏ処理部８が、自身に接続される記憶制御装置が制御する記憶装置上の論理デバイスに対する要求を蓄積する領域を監視して、その論理デバイスに対するＩ／Ｏ要求があるかどうかを判定するステップである。
ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部は、自身に接続される記憶制御装置の制御下に生成された論理デバイスに対するリクエストがあるかどうかを、図４に示すＩ／Ｏ情報１４のリクエストキューを参照して、判定する。
【００５１】
具体的には、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部は、図４の該当する論理デバイスのＩ／ＯメッセイジテーブルのリクエストキューＩＮポインタ３０２とＯＵＴポインタ３０３とが等しければ、ＩＮポインタ３０２が進んでいないので要求が無いと判断し、ステップ２０１１に進む。もしステップ２００３で、ＩＮポインタ３０２とＯＵＴポインタ３０３とが不一致であれば、リクエストが蓄積されていると判断して、続くステップ２００４でリクエストキューＯＵＴポインタ３０３が示すリクエスト番号のリクエストエントリ３０４から、コマンド３０５・ブロック番号３０６・ブロック長３０７を取得する。
【００５２】
続くステップ２００５は、リクエストを受けた論理デバイスの論理デバイス番号から、デバイス情報１２を参照して、記憶制御装置及び記憶装置番号とを取得する。
【００５３】
それに続くステップ２００６で、制御装置情報１１から記憶制御装置のアドレスを取得して、ステップ２００７で、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部から、第２の記憶制御装置に対してコマンド送信する。ステップ２００８は、リクエストに対応したことを示すために、リクエストキューのＯＵＴポインタ３０３を加算する。ステップ２００９では、リクエストキューから他制御装置に対しコマンド送信できたことを返却するための返却値を設定する。
【００５４】
コマンド送信を受領した記憶制御装置は、上位装置から受領したコマンドと同様に、当該コマンドに対応する処理を行う。
【００５５】
ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部は、ステップ２００７でコマンドを送信する前に、コマンドの処理内容を解釈し、送信先となる記憶制御装置の性能で処理が可能なコマンドに変換してから送信するようにしても良い。このようにすることで、性能や機能が違う記憶制御装置を第２の記憶制御装置として接続することが可能となる。
【００５６】
次に、ペアＲｅｓｙｎｃ時のコピーデータが、正と副のペアデータの差分に限定されるようにするための差分設定処理を説明する。ペアデバイスは少なくとも２つの論理デバイスからなる。本願説明においては、便宜上、ペアの片方の論理デバイスを正論理デバイス、もう片方の論理デバイスを副論理デバイスとして説明する。ペアを生成した論理デバイス間には、次のような状態がある。
第１の状態は２重化状態であって、これは正の論理デバイスと同期して副の論理デバイスが同じデータイメージになるように更新される状態である。
第２の状態は、スプリット（ｓｐｌｉｔ）状態であって、この場合は、上述の二重化状態が解消され、各論理デバイスは別々にデータの書き込みや読み出しのアクセスを受ける状態である。この場合、書き込みを受けた領域は図５に示す差分情報で管理され、どの位置が更新されたかが判別可能に管理される。
第２の状態であるスプリット状態から、再度二重化状態に戻す場合は、この差分情報を参照して、正論理ボリュームと副論理ボリュームが、同じデータイメージトとなるようにデータを復元する。この処理をリシンク（Ｒｅｓｙｎｃ）という。図１の本発明の構成と、図７，図８で説明した通り、上位装置１から受領する第二記憶装置４・第二記憶装置５ａ・第三記憶装置５ｂ上の論理デバイスへのＩ／Ｏは、第一記憶制御装置２のＴａｒｇｅｔコマンド処理部６で受け付ける。
【００５７】
図９は、Ｔａｒｇｅｔコマンド処理部６が更新Ｉ／Ｏを受け付けたときに、差分情報１３にある差分ビットを設定するための処理である。ステップ３００１〜３００７と図５に示す差分情報は、正副論理デバイス毎で分けて処理する必要は無く、差分管理は正副デバイスを一元管理している。
ところで、従来、物理的にことなる記憶制御装置間に生成されたでペア論理デバイスは、各々の記憶制御装置において、その差分管理をしていた。併しながら、本願発明の正論理デバイスと副論理デバイスは、図８に示すように第２の記憶制御装置４の制御下の記憶装置５ａ，５ｂ上に配置される論理デバイスに対するＩ／Ｏは、上位装置１から第１の記憶制御装置２が受取り、解析して第２の記憶制御装置４に発行する中継処理を行うことから、正副デバイスペア間のデータ不一致に対する差分管理を、第二の記憶制御装置が行う必要が無く（管理情報を持たなくても良い。）、第１の記憶制御装置２が管理するだけで良い。つまり、第２の記憶制御装置が、ダイレクトに上位装置からのＩ／Ｏ要求を受領せずに、第１の記憶制御装置を介して受領するので、第１の記憶制御装置でペア論理デバイスのそれぞれの更新状態を一元管理すれば良いということになる。また、この場合において論理デバイス毎に差分を管理する方法を用いても良いが、スプリット状態の終了後、正論理デバイスのデータイメージに復元する場合、それぞれの差分をマージすることになるので、最初から、個々の論理デバイス単位でなく、ペア単位で差分を管理するようにしておくことでマージという手順が必要なくなるように構成しても良い。
【００５８】
この第１の記憶制御装置２における差分情報の一元管理のさらに優れている点については後述する。
【００５９】
図９の３００１の差分設定判断の手順を詳述すると、まず、ステップ３００２で、図３に示すデバイス情報から、ペアの状態を取得する。
ペアの状態がスプリット状態でない場合は、差分情報を取得する必要がないので終了する。（ステップ３００７）
一方、二重化状態である場合には、更新ブロック番号から差分ビット位置を算出し、（ステップ３００４）、さらに更新ブロック長から、差分ビット数を算出する。（ステップ３００５）。
ステップ３００４及びステップ３００５で得られた情報に基づいて図５に示す差分管理テーブルの該当個所のビットをオンにする。
【００６０】
図１０は、ペアリシンク（Ｒｅｓｙｎｃ）時の処理フローである。前述の通り、正副デバイス間の差分情報が、第１の記憶制御装置２に保持する差分情報１３で一元化されるため、図１０の処理フローに、第２の記憶制御装置４からの差分情報を読み込む処理を含む必要が無い。
【００６１】
図１０の差分コピー判定の処理は、差分ビットテーブルを参照して、差分ビット位置０から、差分ビットの参照を開始し、（ステップ４００２、４００３）、差分ビットが１である場合には、そのビット位置に対応する正論理デバイスの内容を副論理デバイスにコピーする。（ステップ４００５）
順次差分ビット位置を加算して（ステップ４００６）差分ビット位置が、終端となるまで繰り返す。（４００７）
図１１，１２は、論理デバイスペアのデータに対し、上位装置１からリード要求が出されたときの、正副論理デバイスのどちらからデータをリードするかを決定するための処理を示している。
【００６２】
前述のとおり、本願発明においては、第１の記憶制御装置２とは、別体である第２の記憶制御装置４の制御下の記憶装置上の論理デバイス１７，１９への上位装置からのＩ／Ｏが、第１の記憶制御装置２を介して行われるので、第１の記憶制御装置上でそのような他の記憶制御装置上の論理デバイスの差分情報をも管理することができる。
【００６３】
そこで本願発明においては、上位装置が発行するリード命令に対して、より効率の良い論理デバイスから読み出すという方法を提供することが可能となる。即ち、ペアとなっている論理デバイスが二重化状態（Ｄｕｐｌｅｘ）の場合のみならず、スプリット状態であった場合でもペア単位で管理している差分情報を参照すれば、差分ビットに１が設定されていない場合は、どちらから読み出しを行っても良いことになるので、記憶装置に対するＩ／Ｏの負荷を分散することができる。例えば、図１との論理デバイス１７と論理デバイス１９のように物理的に異なる記憶装置上の論理デバイスにおいてＩ／Ｏを分散処理することで特定の記憶装置に対する負荷が増大して、ホストに対するレスポンス性能が劣化することを防ぐのである。
【００６４】
図１１を用いて本願発明のリードするデバイスの決定方法を詳細に説明する。ステップ５００２はリード要求を受領した直後の初期状態を示す。本説明において、入力論理デバイスとは、ホストから処理対象として入力を受けた論理デバイス番号を指し、処理論理デバイスとは、実際のリード処理を行う対象とする論理デバイスをいう。
初期状態において、入力論理デバイスと処理論理デバイス番号は一致している。
【００６５】
ステップ５００４において、入力論理デバイスのペア形成状態を取得し、続くステップ５００４で、そのペア状態が、スプリット（Ｓｐｌｉｔ）状態または二重化状態（Ｄｕｐｌｅｘ）にあるのか、それ以外かを判定する。それ以外の状態としてシンプレックス（ｓｉｍｐｌｅｘ）というペアが形成されていない状態がある。ここで、スプリット状態でも二重化状態でもない場合には、ペアが存在しないこと（シンプレックス）であることが分かるので、そもそも他の論理デバイスを用いて読み出すことができず、処理を終了する。この場合は初期値がそのまま維持され、入力論理デバイス番号は、処理論理デバイス番号に一致し、処理論理デバイス番号の論理デバイスに対して処理を行うことは、ホストからリード要求を受けた論理デバイスに対してリード処理がなされることとなる、
それに対して、入力論理デバイスが、スプリット状態または、二重化状態である場合には、Ｉ／Ｏの負荷比較（ステップ）５００５を実行する。このステップ５００５については、図１２を用いて詳述する。
【００６６】
図１２は、ペアとなっている正副の論理デバイスのどちらに、ホストからのＩ／Ｏ負荷がかかっているかを、判定する一実施例である。
まず、入力論理デバイスのＩ／Ｏカウンタを取得し（６００２）、次いで、その入力論理デバイスのペアとなっている論理デバイスの論理デバイス番号を取得し（６００３）、さらに、その論理デバイス番号で特定される論理ボリュームのＩ／Ｏカウンタを取得する。（６００４）
ステップ６００５において、入力論理デバイスのＩ／Ｏと、そのペアと成っている論理デバイスのＩ／Ｏとを比較し、入力論理デバイスのＩ／Ｏカウンタの方が、ペア論理デバイスのＩ／Ｏカウンタよりも大きい場合は、戻り値として、ペア論理デバイス番号を取得する。
【００６７】
一方、入力論理デバイスのＩ／Ｏカウンタが、ペア論理デバイスのＩ／Ｏカウンタよりも大きくない場合は、戻り値として入力論理デバイス番号を取得する。
【００６８】
この１連のステップにおいては、Ｉ／Ｏカウンタの少ない方の論理デバイス番号を取得することができる。
【００６９】
図１２に示す処理を実行して、戻り値を取得すると、図１１のステップ５００６において、処理論理デバイス番号にその図１２の処理の戻り値である論理デバイス番号を設定する。
【００７０】
次に、リードブロック番号から、差分ビットの位置（ステップ５００７）及びそのブロック長から差分ビット数を算出し（ステップ５００８）、その領域の差分ビットテーブルを参照する。すべての差分ビットが０である場合は、どちらの論理デバイスから読み出しても良いことになるので、処理デバイスはステップ５００５で取得したＩ／Ｏカウンタの少ない方の論理デバイスから読み出すのがふさわしい、そこで、処理論理デバイス番号として、ステップ５００５で取得したＩ／Ｏカウンタの少ない方の論理デバイス番号が、処理論理デバイスとなる。
【００７１】
一方、ステップ５００１で差分ビットが０でない場合は、処理論理デバイス番号と入力論理デバイス番号とを再度一致させ、入力論理デバイスに対して読み出し処理を行うようにしている。これは、読み出そうとする領域が正・副の論理ボデバイス間で異なっていることを示しているので、読み出す論理デバイスを変更することができないからである。
【００７２】
図１１及び図１２に示す読み出し論理デバイスの決定手順は、その手順を適宜変更することができる。
例えば、図１１のステップ５００７から５０１０の処理である差分ビットの状態判定をステップ５００５のＩ／Ｏ負荷比較処理に先行して行うようにしても良い。その手順によれば、差分ビットに１が設定されている場合には、入力論理デバイスに対してリード処理を行う他ないのであるから、Ｉ／Ｏ負荷比較を行う必要がなくなる。
【００７３】
本願発明を換言すれば、異なる記憶制御装置にある論理デバイスとの差分情報を、第１の記憶制御装置で一元管理しているために、リード要求の出された位置のデータが正副論理デバイスで一致しているかどうかを判断できるため、Ｔａｒｇｅｔコマンド処理部６で、リード先の論理デバイスを選択することが可能になるということである。ま
尚、本願実施例においては、Ｉ／Ｏカウンタ値によって、処理論理デバイスを選択するように構成した例を示したが、システム全体の時間的な負荷バランスに特定の周期性があるような場合には、所定のタイムスケジュールによって、処理論理デバイスの選択を行うように設計することも可能である。
図１３に本願の他の実施例を示す。
図１３は、ディスクドライブ（第一の記憶制御装置）を接続するためのポートにファイバチャネルデバイスコネクタを介在させて、第２の記憶制御装置とを接続したものである。
この場合、第１の記憶制御装置２の共有メモリ上のデバイス情報テーブルには、ファイバチャネルデバイスコネクタのどのノードに第２の記憶制御装置が接続されているかについての情報を保持する必要がある。
【００７４】
図１４は、図１３に示す第２の記憶制御装置の接続するノードをノードネーム１０４として、デバイス情報テーブルに保持した一例を示している。
図１３をさらに詳細に説明すれば、図１３は、Ｔａｒｇｅｔコマンド処理部６に加えて、さらにＴａｒｇｅｔコマンド処理部７０を有する構成である。また、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７を介して、
ファイバチャネルデバイスコネクタ９０が接続され、このコネクタ９０ｂに第１の記憶装置が接続され、他のコネクタ９０ｃに第２の記憶制御装置４が接続されている。
【００７５】
このような構成によって、、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７から第二の記憶制御装置４配下の第二、第三の記憶装置５ａ、５ｂを制御可能な構成としている。
図１４は、図１３で第２の記憶制御装置４が、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部７で接続されていることで、他筐体である第２の記憶制御装置４との接続口を示すイニシエータ制御部番号１０３が、自筐体接続口のイニシエータ制御部番号１０３と同じ値を指すことを示している。
図１５さらに他の実施例を示す。
図１５は、複数の記憶制御装置が、ＩｎｉｔｉａｌＩ／Ｏ処理部を介して、複数を接続されている状態を示している。本発明におけるデバイス情報や制御手段を有する複数の記憶制御装置２、４ｘ、４ｙによりを経由してアクセス可能な記憶制御装置４ｚの制御下に実装される記憶装置５ｚにデータが格納される論理デバイス１９ｚと、記憶制御装置２の制御下に実装される記憶装置３にデータが格納される論理デバイス１８とが、論理デバイスペアを構成している図を示す。このように、上位装置１から論理デバイス１９ｚに対するアクセス要求が発生した場合、記憶制御装置２、４ｘ、４ｙの共有メモリに持つ制御装置情報・デバイス情報・Ｉ／Ｏ情報を用いて、論理デバイスの特定を行い、異なる記憶制御装置に対して、処理要求に対する処理が可能となる。
【００７６】
本願発明は、図１で示すとおり、第１の記憶制御装置２のＩｎｉｔｉａｔｏｒＩ／Ｏ処理部に、別の筐体で第２の記憶制御装置４を接続した構成である。換言すれば、第１の記憶制御装置のディスクをつなぐ口を利用して、他の記憶制御装置４と接続し、第１の記憶制御装置２の制御下で、当該第２の記憶制御装置を制御しようとするものである。
【００７７】
本願発明のようなディスクアレイ装置の場合、ディスクアダプタは複数のディスクドライブをファイバチャネル接続することから、複数のディスクドライブをつなぐ装着口を持っていて、その装着口はディスクドライブをフル実装しない限り使いきらない。ディスクドライブの装着口を、本発明にある第２の記憶制御装置４との接続に用いる事で、第一の記憶制御装置２と上位装置１とのチャネル接続口数が制限されることもない。
【００７８】
第１の記憶制御装置２に接続する記憶装置の代わりに、第２の記憶制御装置４を接続し、その第２の記憶制御装置４が見せる論理デバイスが、第１の記憶制御装置２の記憶装置として制御することが可能になる。
【００７９】
本願発明の図１においては、第１の記憶制御装置２のディスク接続ポートに接続される第２の記憶制御装置が１台である場合を例示して詳細に説明したが、何台の記憶制御装置が、第１の記憶制御装置の配下に接続されるかは随時、ユーザの設定ポリシーに従って設計可能である。
【００８０】
また、図１５に示すように第２の記憶制御装置のディスク接続ポートに他の記憶制御装置をさらに接続して、階層的に制御することも可能である。
【００８１】
尚、本願発明において、Ｔａｒｇｅｔコマンド処理部として説明した部位は、記憶制御装置のチャネアダプタとしての機能を有し、上位装置からの受領したコマンドを処理するように構成し、ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部は、記憶制御装置のディスクアダプタとしての機能を有し、記憶装置へのキャッシュメモリ上のデータの書き込みも制御するに構成することができる。
【００８２】
【発明の効果】
本発明により、第２の記憶制御装置の配下にある論理ボリュームの管理が、第１の記憶制御装置によって一元管理されることが可能になる。また、この場合においおいて、第２の記憶制御装置が有する記憶装置の接続ポートを利用すれば、第１の記憶制御装置の上位装置側に接続されるポートが、リモートコピーペアとのインタフェースとして利用されることがなくなり、接続可能な上位装置台数が減ることがない。
【００８３】
さらに、物理的に異なる筐体間の論理デバイスペアの副側制御装置の差分管理方式の違いや、その有無に関わらず、ペアを生成することが可能となり、Ｒｅｓｙｎｃ時間の短縮も可能になる。
【００８４】
また、正側記憶制御装置上に、正と副両方の論理デバイス間の差分を保持するため、上位装置からのリード命令を、正副論理デバイスで負荷分散することが可能になる。
【図面の簡単な説明】
【図１】本発明のシステム構成である。
【図２】制御装置情報である。
【図３】デバイス制御情報である。
【図４】Ｉ／Ｏ要求・応答通知用のメッセージテーブルである。
【図５】差分情報である。
【図６】統計情報である。
【図７】Ｉ／Ｏ要求送信処理フローである。
【図８】Ｉ／Ｏ要求受信処理フローである。
【図９】差分ビット設定判定処理フローである。
【図１０】差分コピー処理フローである。
【図１１】正副リードデバイス決定処理フローである。
【図１２】正副デバイス負荷判定フローである。
【図１３】ディスクドライブ接続口に第二の記憶制御装置をつないだ構成図である。
【図１４】図１３における制御装置情報である。
【図１５】第２の記憶制御装置のディスク接続ポートに他の記憶制御装置をさらに接続した図である。
【符号の説明】
１・・・上位装置、２・・・第１記憶制御装置、３・・・第記憶装置、４・・・第２記憶制御装置、５ａ・・・第２記憶装置、５ｂ・・・第３記憶装置、６・・・ＴＡＲＧＥＴコマンド処理部、７・・・ＩｎｉｔｉａｔｏｒＩ／Ｏ処理部、９・・・共有メモリ、１０・・・キャッシュメモリ、１１・・・制御装置情報、１２・・・デバイス情報、１３・・・差分情報、１４・・・Ｉ／Ｏ情報、１５・・・統計情報、１７・１８・１９・・・論理デバイス
【図１】
2004302713.tif 000003
【図２】
2004302713.tif 000004
【図３】
2004302713.tif 000005
【図４】
2004302713.tif 000006
【図５】
2004302713.tif 000007
【図６】
2004302713.tif 000008
【図７】
2004302713.tif 000009
【図８】
2004302713.tif 000010
【図９】
2004302713.tif 000011
【図１０】
2004302713.tif 000012
【図１１】
2004302713.tif 000013
【図１２】
2004302713.tif 000014
【図１３】
2004302713.tif 000015
【図１４】
2004302713.tif 000016
【図１５】
2004302713.tif 000017