(57)【特許請求の範囲】
【請求項１】
複数の上位装置に第１のインタフェースを介して接続される第１の記憶サブシステムと、第２のインタフェースを介して前記第１の記憶サブシステムに接続される第２の記憶サブシステムとを含み、前記上位装置から前記第１の記憶サブシステムに書き込まれるライトデータを、前記第１の記憶サブシステムから前記第２の記憶サブシステムにリモートコピーすることで、前記第１および第２の記憶サブシステムにて前記ライトデータを多重に保持する記憶サブシステムであって、
前記第１の記憶サブシステムは、
個々の前記上位装置毎に、当該第１の記憶サブシステム内のデータバッファにおける前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの占有比率を制御する第１の閾値と、
個々の前記上位装置毎に設定された前記第１の閾値に基づいて個々の前記上位装置からのデータ書込要求の処理を遅延させる制御論理と、
複数の前記上位装置による前記データバッファにおける、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和の占有比率を制御し、前記上位装置毎にリモートコピー未完のデータが保持されているサイドファイルの使用済み容量に対して流入制限制御を開始する契機を与える第２の閾値と、
を備え、
前記制御論理は、前記第２の閾値に基づいて、前記第１の閾値による前記上位装置からのデータ書込要求の処理を遅延させる動作の開始契機を制御し、前記サイドファイルのサイドファイル容量に対するデータ使用量の占有比率が前記第２の閾値を越えた場合に、前記第１の閾値を参照して前記上位装置からのデータの流入制限を開始する
ことを特徴とする記憶サブシステム。
【請求項２】
請求項１記載の記憶サブシステムにおいて、
前記第１のインタフェースは、メインフレーム系ホストインタフェースおよびオープン系ホストインタフェースの少なくとも一方からなり、
前記第２のインタフェースは、ファイバチャネルからなることを特徴とする記憶サブシステム。
【請求項３】
複数の上位装置に第１のインタフェースを介して接続される第１の記憶サブシステムと、第２のインタフェースを介して前記第１の記憶サブシステムに接続される第２の記憶サブシステムとを含み、前記上位装置から前記第１の記憶サブシステムに書き込まれるライトデータを、前記第１の記憶サブシステムから前記第２の記憶サブシステムにリモートコピーすることで、前記第１および第２の記憶サブシステムにて前記ライトデータを多重に保持する記憶サブシステムの制御方法であって、
個々の前記上位装置毎に、前記第１の記憶サブシステム内のデータバッファにおける前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの占有比率を制御する第１の閾値を設定し、
複数の前記上位装置による前記データバッファにおける、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和の占有比率を制御し、前記上位装置毎にリモートコピー未完のデータが保持されているサイドファイルの使用済み容量に対して流入制限制御を開始する契機を与える第２の閾値を設定し、
前記第２の閾値に基づいて、前記第１の閾値による前記上位装置からのデータ書込要求を遅延させる操作の開始契機を制御し、前記サイドファイルのサイドファイル容量に対するデータ使用量の占有比率が前記第２の閾値を越えた場合に、前記第１の閾値を参照して前記上位装置からのデータの流入制限を開始する
ことを特徴とする記憶サブシステムの制御方法。
【請求項４】
複数の上位装置に第１のインタフェースを介して接続される第１の記憶サブシステムと、第２のインタフェースを介して前記第１の記憶サブシステムに接続される第２の記憶サブシステムとを含み、前記上位装置から前記第１の記憶サブシステムに書き込まれるライトデータを、前記第１の記憶サブシステムから前記第２の記憶サブシステムにリモートコピーすることで、前記第１および第２の記憶サブシステムにて前記ライトデータを多重に保持する記憶サブシステムであって、
前記第１の記憶サブシステムに設けられた記憶制御装置は、
個々の前記上位装置毎に、当該第１の記憶サブシステム内のデータバッファにおける前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの占有比率を制御する第１の閾値と、
個々の前記上位装置毎に設定された前記第１の閾値に基づいて個々の前記上位装置からのデータ書込要求の処理を遅延させる制御論理と、
複数の前記上位装置による前記データバッファにおける、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和の占有比率を制御し、前記上位装置毎にリモートコピー未完のデータが保持されているサイドファイルの使用済み容量に対して流入制限制御を開始する契機を与える第２の閾値と、
を備え、
前記サイドファイルのサイドファイル容量に対するデータ使用量の占有比率が前記第２の閾値を越えた場合に、前記第１の閾値を参照して前記上位装置からのデータの流入制限を開始する
ことを特徴とする記憶サブシステム。
【請求項５】
複数の上位装置に第１のインタフェースを介して接続される第１の記憶サブシステムと、第２のインタフェースを介して前記第１の記憶サブシステムに接続される第２の記憶サブシステムとを含み、前記上位装置から前記第１の記憶サブシステムに書き込まれるライトデータを、前記第１の記憶サブシステムから前記第２の記憶サブシステムにリモートコピーすることで、前記第１および第２の記憶サブシステムにて前記ライトデータを多重に保持する記憶サブシステムであって、
前記第１の記憶サブシステムに設けられた記憶制御装置は、
個々の前記上位装置毎に、当該第１の記憶サブシステム内のデータバッファにおける前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの占有比率を制御する第１の閾値と、
個々の前記上位装置毎に設定された前記第１の閾値に基づいて個々の前記上位装置からのデータ書込要求の処理を遅延させる制御論理と、
複数の前記上位装置による前記データバッファにおける、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和の占有比率を制御し、前記上位装置毎にリモートコピー未完のデータが保持されているサイドファイルの使用済み容量に対して流入制限制御を開始する契機を与える第２の閾値と、
を備え、
前記制御論理は、前記第２の閾値に基づいて、前記第１の閾値による前記上位装置からのデータ書込要求の処理を遅延させる動作の開始契機を制御する制御論理をさらに備え、
前記サイドファイルのサイドファイル容量に対するデータ使用量の占有比率が前記第２の閾値を越えた場合に、前記第１の閾値を参照して前記上位装置からのデータの流入制限を開始する
ことを特徴とする記憶サブシステム。
【請求項６】
請求項５記載の記憶サブシステムにおいて、
前記データ書込要求の処理を遅延させる動作の開始契機を制御する前記制御論理は、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和が前記第２の閾値に達したとき、前記第１の閾値に基づいて、前記第１の閾値に基づく前記データ書込要求の処理を遅延させることを特徴とする記憶サブシステム。
【請求項７】
請求項４記載の記憶サブシステムにおいて、
前記第１のインタフェースは、メインフレーム系ホストインタフェースおよびオープン系ホストインタフェースの少なくとも一方からなり、
前記第２のインタフェースは、ファイバチャネルからなることを特徴とする記憶サブシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶サブシステムおよびその制御技術に関し、特に、遠隔地等に設置された複数の記憶サブシステム間でのデータ複写によるデータの多重化技術等に適用して有効な技術に関する。
【０００２】
【従来の技術】
昨今の情報化社会の進展により、社会活動の各分野での情報処理に用いられるコンピュータシステムの記憶装置に格納するデータ量が爆発的に増え、また、データとシステムの両方に対して高い信頼性が要求されている。データの信頼性とシステム動作の保証を同時に満たす手法として、記憶装置自体の多重化が行われている。ホストコンピュータから出力されるデータは、直接接続されている記憶装置にだけでなく、その記憶装置を経由して他の記憶装置へもコピーされる。
【０００３】
一般的に、この手法をリモートコピーと称し、高信頼性が要求されるコンピュータシステムへの適用が行われている。このリモートコピー技術によれば、一方の記憶装置に障害が発生して、動作不可能な状態に陥っても、他方の記憶装置のデータを用いてシステム動作が可能である。
【０００４】
ホストコンピュータが、当該ホストコンピュータと接続されている記憶装置（以下、マスター側記憶装置と記す）へデータを格納する際、そのデータ転送と同期、又は非同期に、マスター側記憶装置は、マスター側記憶装置に接続される他の記憶装置（以下、リモート側記憶装置と記す）へ、当該データをコピーできるリモートコピーの制御方式が実現されている。
【０００５】
マスター側記憶装置に障害が発生して動作不可となった場合は、アクティブとなる記憶装置をリモート側に切り替えるだけで、リモート側記憶装置に残っているデータがそのまま利用可能となる。
【０００６】
また、公衆回線等を経由して、遠隔地へのリモートコピーも行われている。マスター側記憶装置が設置されている場所や都市に大規模な天災等が発生しても、遠隔地にあるリモート側記憶装置に被害が及ばない限り、リモート側システムへの切り替えを行うだけで、システム全体としては継続動作が可能となる。
【０００７】
一般的に、遠隔地へのリモートコピーはデータ転送に時間がかかるため、マスター側記憶装置はデータが内部バッファに格納された時点で、ホストコンピュータへ受領完了の応答を行い、その後、ホスト転送とは非同期にリモート側記憶装置へのデータ転送を行う。
【０００８】
現在では、上記技術はデータの入出力が行われている最中にも実現され、オンラインシステムを停止せずにリモート側へのコピー開始、またはシステム切り替えが可能となっている。
【０００９】
【発明が解決しようとする課題】
近年、ファイバチャネル・プロトコル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ）がＡＮＳＩ，ＮＣＩＴＳ  Ｔ１１で標準化されている等、ホストコンピュータとマスター側記憶装置間の転送性能が飛躍的に向上し続けている。その一方、マスター側記憶装置とリモート側記憶装置間の接続チャネル資源は経済的な理由に制限され、無限に広げることができない。特に、リモートコピー機能を有するシステムを構築する際、広域災害への対応を考えれば、リモート側記憶装置をマスター側記憶装置から遠く離して設置したいが、遠隔地へのリモートコピーを行うことになると、公衆回線を利用しても、代りに専用線を敷設しても、膨大な費用が必要となってしまう。
【００１０】
その結果、ホストコンピュータとマスター側記憶装置間のデータ転送チャネルと比較して、マスター側記憶装置とリモート側記憶装置間のリモートコピーチャネルは、どうしても本数が制限され、データ転送の限界性能も比較的に低いものとなる。
【００１１】
従って、例えば、ある時間帯にマスター側各ホストコンピュータからのデータ格納が、リモートコピーチャネルの性能限界を超えて大量に発生すると、リモートコピーが追従できずに、マスター側記憶装置内のデータバッファに未コピーのデータが溢れてしまう。マスター側記憶装置のデータバッファが満杯になると、データロストが発生しない様に、ホストから新たなデータ書き込みを受け付けなくするが、マスター側記憶装置に接続されている複数ホストコンピュータの内、１つのホストから大量なデータが流れてくるだけで、他のホストコンピュータからもデータ格納ができなくなってしまう。
【００１２】
マスター側記憶装置に複数ホストコンピュータが接続されている場合、全てのホストチャネルが同じ重要度を持っているとは限らない。各ホストチャネルの性能要求や転送されるデータ量にもばらつきがあると考えられる。例えば、性能要求が低く、もしくは比較的に重要でないホストチャネルからのデータ格納が多量に発生し、上述のデータバッファ満杯の現象を引き起こしても、性能要求が高かったり、重要だったりする他のホストチャネルからもデータの書き込みができなくなる不具合が考えられ、運用上の大きな技術的課題となっている。
【００１３】
一方、近年では、小型コンピュータ用の汎用ＯＳを搭載したパーソナルコンピュータあるいはワークステーション等の性能向上に伴い、ホストコンピュータとして、メインフレーム以外に、これらの小型コンピュータもホストコンピュータとして記憶サブシステムに接続されるに至っている。
【００１４】
このため、記憶サブシステム側では、メインフレーム系ホストインタフェースの他に、小型コンピュータ用の、いわゆるオープン系ホストインタフェースも備えて、メインフレーム系およびオープン系のホストコンピュータの双方に記憶サブシステムを共有させる運用形態も考えられる。
【００１５】
その場合、上述のようにリモートコピーチャネルにおける経済的な制約により、データのリモートコピーを行う複数の記憶サブシステムを、上述の多様なインタフェースにて接続することは現実的ではなく、異なるホスト接続インタフェース間におけるデータフォーマットの統一が必要となる、という技術的課題もある。
【００１６】
本発明の目的は、記憶サブシステムに接続される複数の上位装置の各々の重要度に応じた優先度にて、複数の記憶サブシステム間でのライトデータのリモートコピーを行うことが可能な記憶サブシステムおよびその制御技術を提供することにある。
【００１７】
本発明の他の目的は、記憶サブシステムに接続される複数の上位装置のうち、特定の上位装置によるデータ書込負荷の増大に影響されることなく、複数の記憶サブシステム間での効率的なリモートコピーを実現することが可能な記憶サブシステムおよびその制御技術を提供することにある。
【００１８】
本発明の他の目的は、複数の上位装置の各々と記憶サブシステム間の多様な接続インタフェースを、データのリモートコピーを行う複数の記憶サブシステム間の接続インタフェースに統一することで、効率的なリモートコピーシステムの構築が可能な技術を提供することにある。
【００１９】
【課題を解決するための手段】
本発明は、複数の上位装置に第１のインタフェースを介して接続される第１の記憶サブシステムと、第２のインタフェースを介して前記第１の記憶サブシステムに接続される第２の記憶サブシステムとを含み、前記上位装置から前記第１の記憶サブシステムに書き込まれるライトデータを、前記第１の記憶サブシステムから前記第２の記憶サブシステムにリモートコピーすることで、前記第１および第２の記憶サブシステムにて前記ライトデータを多重に保持する記憶サブシステムであって、前記第１の記憶サブシステムは、個々の前記上位装置毎に、当該第１の記憶サブシステム内のデータバッファにおける前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの占有比率を制御する第１の閾値と、個々の前記上位装置毎に設定された前記第１の閾値に基づいて個々の前記上位装置からのデータ書込要求の処理を遅延させる制御論理と、複数の前記上位装置による前記データバッファにおける、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和の占有比率を制御し、前記上位装置毎にリモートコピー未完のデータが保持されているサイドファイルの使用済み容量に対して流入制限制御を開始する契機を与える第２の閾値と、を備え、前記制御論理は、前記第２の閾値に基づいて、前記第１の閾値による前記上位装置からのデータ書込要求の処理を遅延させる動作の開始契機を制御し、前記サイドファイルのサイドファイル容量に対するデータ使用量の占有比率が前記第２の閾値を越えた場合に、前記第１の閾値を参照して前記上位装置からのデータの流入制限を開始するものである。
【００２０】
また、本発明は、複数の上位装置に第１のインタフェースを介して接続される第１の記憶サブシステムと、第２のインタフェースを介して前記第１の記憶サブシステムに接続される第２の記憶サブシステムとを含み、前記上位装置から前記第１の記憶サブシステムに書き込まれるライトデータを、前記第１の記憶サブシステムから前記第２の記憶サブシステムにリモートコピーすることで、前記第１および第２の記憶サブシステムにて前記ライトデータを多重に保持する記憶サブシステムの制御方法であって、個々の前記上位装置毎に、前記第１の記憶サブシステム内のデータバッファにおける前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの占有比率を制御する第１の閾値を設定し、複数の前記上位装置による前記データバッファにおける、前記第２の記憶サブシステムへのリモートコピーが未完の前記ライトデータの総和の占有比率を制御し、前記上位装置毎にリモートコピー未完のデータが保持されているサイドファイルの使用済み容量に対して流入制限制御を開始する契機を与える第２の閾値を設定し、前記第２の閾値に基づいて、前記第１の閾値による前記上位装置からのデータ書込要求を遅延させる操作の開始契機を制御し、前記サイドファイルのサイドファイル容量に対するデータ使用量の占有比率が前記第２の閾値を越えた場合に、前記第１の閾値を参照して前記上位装置からのデータの流入制限を開始するものである。
【００２１】
より具体的には、本発明では、記憶サブシステム間のリモートコピーにおいて、リモートコピーの経路としてファイバチャネル・プロトコルを採用するとともに、以下の手段を用いる。
【００２２】
（１）第１の記憶サブシステムであるマスター側記憶装置に接続される各ホスト（上位装置）単位に、使用できるバッファ容量等の資源の比率を定義し、ユーザーインタフェース経由で設定できる手段を設ける。
【００２３】
（２）マスター側記憶装置内のデータバッファの使用容量を、各ホスト単位に個別に自動に計測し、各ホストが使用しているバッファ容量の比率を求める。
【００２４】
（３）データバッファの合計使用量が高い場合、各ホストが使用しているバッファ容量の比率を、前記ユーザー設定で定めた使用できる資源の比率と比較し、使用量が多過ぎたホストチャネルからのライトデータの流入を制限する。
【００２５】
（４）ホストチャネルからのデータ流入制限手段として、マスター側記憶装置にホストを待たせる論理を持たせる。
【００２６】
（５）マスター側記憶装置内のデータバッファから、第２の記憶サブシステムであるリモート側記憶装置へのデータコピーはランダムに行う。その結果、各ホストコンピュータ側から見ると、設定された比率の通りにリモートコピーのスケジューリングが行われることになる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００２８】
図１は、本発明の一実施の形態である記憶サブシステムの制御方法を実施する記憶サブシステムを用いた情報処理システムの構成の一例を示す概念図であり、図２は、本実施の形態の記憶サブシステムの内部構成の一例をより詳細に例示した概念図である。
【００２９】
本実施の形態の記憶サブシステムは、マスターディスクサブシステム１と、リモートディスクサブシステム７と、これらを接続するリモートコピー用ファイバチャネル６で構成されている。
【００３０】
マスターディスクサブシステム１は、外部に接続する複数の入出力ポート１０と、入出力データを一時的に格納するバッファの役割をも果たすキャッシュメモリ１１、共用メモリ１１−１等を含む記憶制御装置１ａと、データ記憶媒体であるディスクアレイ１２から構成される。マスターディスクサブシステム１の入出力ポート１０を構成するファイバチャネルターゲットポート１０ａは、ファイバチャネル２を経由して、オープンホストコンピュータ３と接続し、メインフレーム系チャネルターゲットポート１０ｂは、メインフレーム系チャネル４を経由して、メインフレームホストコンピュータ５と接続されている。
【００３１】
また、マスターディスクサブシステム１の入出力ポート１０を構成するファイバチャネルイニシエータポート１０ｃは、リモートコピー用ファイバチャネル６を経由してリモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄに接続する。すなわち、マスターディスクサブシステム１は、リモートディスクサブシステム７に対してはホストコンピュータとして振る舞う。
【００３２】
マスターディスクサブシステム１の記憶制御装置１ａには、キャッシュメモリ１１とディスクアレイ１２との間におけるデータの入出力を制御する複数のディスクアダプタ１２ａが設けられている。
【００３３】
記憶制御装置１ａにおけるファイバチャネルターゲットポート１０ａ、メインフレーム系チャネルターゲットポート１０ｂ、ファイバチャネルイニシエータポート１０ｃ、およびディスクアダプタ１２ａ、さらには、キャッシュメモリ１１および共用メモリ１１−１は、バス１３を介して相互に接続され、このバス１３を介して、これらの各要素間での情報の授受が行われる。
【００３４】
本実施例ではバス１３を用いて説明しているが、各要素の接続手段としては、スイッチを用いたスターネット接続で実現してもよい。
【００３５】
すなわち、ファイバチャネルターゲットポート１０ａ、メインフレーム系チャネルターゲットポートは１０ｂ、ファイバチャネルイニシエータポート１０ｃ、およびディスクアダプタ１２ａは、各々が独立したプロセッサ（ＣＰＵ）を備え、共用メモリ１１−１に設定される後述のような制御情報の参照および更新にて、並行動作により、データの入出力処理等における相互に協調した制御動作を行う。
【００３６】
リモートディスクサブシステム７の構成は、マスターディスクサブシステム１と等価であるため、マスターディスクサブシステム１と同一機能部分は、共通の符号を付して重複した説明は割愛する。
【００３７】
なお、図１に例示された本実施の形態のマスターディスクサブシステム１のファイバチャネルターゲットポート１０ａ、メインフレーム系チャネルターゲットポート１０ｂ、ファイバチャネルイニシエータポート１０ｃは、１つずつしか示していないが、それぞれ複数個に増設できる。また、リモートディスクサブシステム７の入出力ポートも同様である。
【００３８】
リモートディスクサブシステム７には、マスターディスクサブシステム１と同様に図示しないホストコンピュータが接続されていてもよい。
【００３９】
図２に例示されるように、マスターディスクサブシステム１は、ＬＡＮ等の外部接続インタフェース１５を持ち、小型パーソナルコンピュータ等で構成されるサービスプロセッサ１４（ＳＶＰ）が接続されている。ユーザーは、ＳＶＰ１４を通じてマスターディスクサブシステム１へリモートコピーのパス構成を定義できる他、後述のような本実施の形態における後述のサイドファイルの使用に関わる各種制御情報として、システムに合計比率閾値４０、各ターゲットポート毎に個別比率閾値３２を設定することも可能となっている。
【００４０】
図３は、本実施の形態における記憶サブシステムにて用いられる制御情報の一例を示す概念図である。
【００４１】
本実施の形態の場合、共用メモリ１１−１には、制御情報としてサイドファイル管理テーブル３０、合計比率閾値４０、サイドファイル容量４１、キャッシュ管理テーブル５０が設定される。
【００４２】
サイドファイル管理テーブル３０は、オープンホストコンピュータ３、メインフレームホストコンピュータ５と接続されるファイバチャネルターゲットポート１０ａ、メインフレーム系チャネルターゲットポート１０ｂ、等のホストコンピュータ接続ポート（すなわちホストコンピュータそのもの）を個別に識別するための複数のポート番号３１の各々のエントリ毎に、当該ポートに接続されるホストコンピュータ毎に設定される個別比率閾値３２、サイドファイル内の個別使用量３３等の情報が設定される。
【００４３】
キャッシュ管理テーブル５０には、キャッシュメモリ１１の記憶領域を分割して設定された複数のセグメントを識別するためのセグメント番号５１と、このセグメント番号５１の各々に対応して設けられたマスタダーティフラグ５２、リモートダーティフラグ５３、ＬＲＵ管理情報５４、等が格納されている。
【００４４】
キャッシュメモリ１１は上述のセグメントを単位としてデータの格納が行われ、ファイバチャネルターゲットポート１０ａおよびメインフレーム系チャネルターゲットポート１０ｂによるホスト側からキャッシュメモリ１１へのデータ書込に際しては、キャッシュメモリ１１のセグメントに格納された時点で、書込完了がホストに応答され、ディスクアダプタ１２ａによるキャッシュメモリ１１からディスクアレイ１２への実際の書込、およびファイバチャネルイニシエータポート１０ｃによるキャッシュメモリ１１からリモートディスクサブシステム７へのリモートコピーは、ホスト側からキャッシュメモリ１１へのデータ書込とは非同期に実行される。
【００４５】
すなわち、マスタダーティフラグ５２（＝１）は、ホスト側からキャッシュメモリ１１に書き込まれたライトデータを保持するセグメントのうち、当該ライトデータがディスクアレイ１２側に未反映の状態を示し、ファイバチャネルターゲットポート１０ａおよびメインフレーム系チャネルターゲットポート１０ｂによってデータ書込時にセット（＝１）され、ディスクアダプタ１２ａにて、ディスクアレイ１２への反映後にリセット（＝０）される。
【００４６】
リモートダーティフラグ５３（＝１）は、ホスト側からキャッシュメモリ１１に書き込まれたライトデータを保持するセグメントのうち、リモートディスクサブシステム７側へのリモートコピーが未完の状態を示し、ファイバチャネルターゲットポート１０ａおよびメインフレーム系チャネルターゲットポート１０ｂによってキャッシュメモリ１１へのライトデータの書込時にセット（＝１）され、リモートコピー完了後に、ファイバチャネルイニシエータポート１０ｃによってリセットリセット（＝０）される。
【００４７】
本実施の形態の場合、サイドファイルとは、キャッシュメモリ１１上の上述のセグメントにおいて、リモートダーティフラグ５３（＝１）がセットされ、リモートコピー未完のデータを一時保持した状態にあるバッファ（セグメント）の集合を示す。
【００４８】
上述のサイドファイル容量４１は、このサイドファイルを構成するセグメントの最大数を示し、システム管理者によって、ＳＶＰ１４から設定される。
【００４９】
ＬＲＵ管理情報５４は、ＬＲＵ等のアルゴリズムによって、新たなライトデータに対するキャッシュメモリ１１のセグメントの割り当てや、用済みのセグメントの解放を制御する情報が格納される。
【００５０】
本実施の形態において、合計比率閾値４０とは、サイドファイルの使用済み容量に対して、流入制限制御を開始する契機を与える閾値である。リモートディスクサブシステム７へのリモートコピーが完了していないデータの総和（個別使用量３３の合計）である合計使用量３４が占めるサイドファイルのサイドファイル容量４１に対する比率が本閾値を越えた場合に、後述の個別比率閾値３２を参照してのホスト側からのライトデータの流入制限を開始する。
【００５１】
サイドファイル管理テーブル３０における個別比率閾値３２とは、個々のホストから格納されるデータが、それぞれ使用できるサイドファイル容量の比率であり、後で詳細を述べるが、リモートディスクサブシステム７へのデータコピーも本比率で定義されている優先度で行われることになる。デフォルト値は、接続されている各ホストコンピュータが全サイドファイルを均等に使える様に設定されるが、ユーザーは各ホストコンピュータのデータアクセスパターンを加味しながら、アクセス量が多く、性能要求が高く、又は重要なホストチャネルに対して、高い個別比率閾値３２を定義することができる。
【００５２】
例として、ホストコンピュータが４つ接続されるマスターディスクサブシステムにおいて、合計比率閾値と個別比率閾値を設定した一例を模式図として図４に示す。この図４の例では、ホストＡ〜ホストＤによるサイドファイル内のデータの総和が、サイドファイル容量４１の６０％を超過した時点で、個別比率閾値３２による、各ホストコンピュータ毎のライトデータの流入制限制御が開始される。
【００５３】
図４の場合、この流入制限制御の開始以後におけるライトデータの受け付けおよびリモートコピーの優先度は、個別比率閾値３２の大きい順に、ホストＤ、ホストＡ、ホストＢ、ホストＣとなる。
【００５４】
以下、本実施の形態の作用の一例について説明する。
【００５５】
まず、ＳＶＰ１４を介して、合計比率閾値４０、サイドファイル容量４１、個別比率閾値３２を適宜設定する。この設定操作は、稼働中に随時行うこともできる。
【００５６】
システム立ち上げによる初期化後、又はＳＶＰ１４からリモートコピーパス形成指示を受けた契機に、ファイバチャネルイニシエータポート１０ｃは、アドレスを検出した全ポートにＮ＿Ｐｏｒｔログイン（ＰＬＯＧＩ）処理を発行する。ファイバチャネル接続機器は通常ＰＬＯＧＩに対して応答（ＡＣＣ）を返す際、そのペイロードにファイバチャネル規格に定められているポート固有のＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）を格納する。本実施の形態のリモートコピーに対応するポートは予め一定ルールに従ってＷＷＮを定めるので、ファイバチャネルイニシエータポート１０ｃは各ＡＣＣに格納されているＷＷＮをチェックすることにより、リモートコピー対象のリモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄを識別できる。
【００５７】
目的外のポートだと判定したら、直ちにログアウト（ＬＯＧＯ）を出力し、当該ポートからログアウトする。リモートコピーの対象のリモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄだと判定したら、続けてプロセスログイン（ＰＲＬＩ）を発行し、リモートコピーのパス形成を行う。
【００５８】
このような準備処理の後、図８に例示されるフローチャートにて、ホスト側からのライトデータの流入制限を伴うライトコマンドの処理を実行する。
【００５９】
たとえば、オープンホストコンピュータ３から、データライトコマンド（ライトコマンド以外は、ステップ１１３で処理しコマンド待ちに戻る）を受けたマスターディスクサブシステム１のファイバチャネルターゲットポート１０ａは（ステップ１０１、ステップ１０２）、ライトデータを一時的にキャッシュメモリ１１へ格納するとともに（ステップ１０３）、リモートコピーのパス構成情報をチェックする（ステップ１０４）。リモートコピーのパスが形成されていなければ、マスタダーティフラグ５２をセットして、そのままデータ受領（ライテト完了）の応答をオープンホストコンピュータ３に返すが（ステップ１１２）、リモートコピーのパスが形成されていれば、続いて合計比率閾値４０のチェックを行う（ステップ１０５）。
【００６０】
このステップ１０５で、キャッシュメモリ１１上のサイドファイルの合計使用量３４（複数のポートの個別使用量３３の総和）を計算し、使用済み容量（合計使用量３４）のサイドファイル容量４１に対する比率が、システムに対して予め設定された合計比率閾値４０を超えていなければ（合計使用量３４  ≦  サイドファイル容量４１  ×  合計比率閾値４０）、リモートダーティフラグ５３をセットし、当該ライトデータが保持されたセグメントをサイドファイルに追加する（ステップ１１０）とともに、合計使用量３４（個別使用量３３の総計）および個別使用量３３の更新を行い（ステップ１１１）、さらにマスタダーティフラグ５２をセットし、データ受領の応答をホストコンピュータに返す（ステップ１１２）。
【００６１】
ステップ１０５で、使用済み容量（個別使用量３３の総計）が合計比率閾値４０を上回った場合（合計使用量３４  ＞  サイドファイル容量４１  ×  合計比率閾値４０）、更に当該ファイバチャネルターゲットポート１０ａに設定されている個別比率閾値３２をチェックする（ステップ１０６）。
【００６２】
即ち、このステップ１０６で、オープンホストコンピュータ３から格納されたライトデータが使用したサイドファイル内の個別使用量３３の合計使用量３４に対する比率が、当該ファイバチャネルターゲットポート１０ａに対して、予め設定された個別比率閾値３２を超えていなければ（個別使用量３３  ≦  個別比率閾値３２  ×  合計使用量３４）、そのまま正常終了の応答をホストコンピュータに返す（前述のステップ１１０〜ステップ１１２を実行）が、個別比率閾値３２を上回った場合（個別使用量３３  ＞  個別比率閾値３２  ×  合計使用量３４）は、ホストコンピュータの種別を判別し（ステップ１０７）、この場合オープン系なので、ファイバチャネルプロトコルに含まれるスリープ処理を実行し（ステップ１０８）、オープンホストコンピュータ３への応答をできる限り遅らせる。ここで、応答を遅延させるのは、ホスト側からのデータの流入速度を制限するためである。データ流入速度が緩和されている間に、非同期に並行して実行される後述の図９のフローチャートに例示されるリモートディスクサブシステム７へのリモートコピーが進めば、コピーが完了したデータ分のサイドファイルが解放され、データバッファ上に占める当該ホストコンピュータのライトデータの割合が減少していくことは容易に想像できる。
【００６３】
マスターディスクサブシステム１のファイバチャネルターゲットポート１０ａが、オープンホストコンピュータ３にデータ受領を応答した後、当該ファイバチャネルターゲットポート１０ａ（オープンホストコンピュータ３）が使用したバッファ容量（個別使用量３３）の加算を行い、次回の判定に使うために保存する。
【００６４】
図９のフローチャートに例示されるように、ホスト側からキャッシュメモリ１１へのデータ書込とは非同期にリモートコピーを実行するマスターディスクサブシステム１のファイバチャネルイニシエータポート１０ｃには、リモートコピーをスケージュリングするマイクロプログラムが内蔵されている。
【００６５】
すなわち、サイドファイルの管理情報（リモートダーティフラグ５３）を常時検索して（ステップ２０１、ステップ２０２）、リモートコピーが完了していないデータ（セグメント）をランダムに選択し（ステップ２０３）、リモートコピーパスが形成されているリモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄに対して、リモートコピー専用のコマンドを発行する（ステップ２０４）。
【００６６】
本実施の形態では、マスターディスクサブシステム１のファイバチャネルイニシエータポート１０ｃと、リモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄには、ＳＣＳＩ−ＦＣＰプロトコルに独自のコマンド（Ｖｅｎｄｏｒ  Ｕｎｉｑｕｅ  Ｃｏｍｍａｎｄ）を追加している。ＳＣＳＩ−ＦＣＰプロトコルはＦＣＰ  ＣＤＢを１６バイトのフォーマットで規定している。リモートコピー専用コマンドは、ライトコマンド、リードコマンド、コントロール／センスコマンドの３種類に大別され、ここで詳細フォーマットは省略するが、いずれも先頭バイトのオペコードに特殊コマンド（Ｖｅｎｄｏｒ  Ｕｎｉｑｕｅ  Ｃｏｍｍａｎｄ）を設定し、以下サブコード、パラメータの各バイトに転送長、サブブロック種別等の詳細情報を格納する。このように、リンクレベルを含めて、ファイバチャネルプロトコルのフレーム形式を遵守しながら、リモートコピー独自の処理を実行可能とする。
【００６７】
リモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄは、ホストからの通常コマンド以外、上記リモートコピー専用コマンドにも対応できる制御論理を備えているものとする。リモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄはリモートコピー用のライトコマンドを受領したら、データを格納する領域をキャッシュメモリ上に確保し、転送レディを返す。
【００６８】
マスターディスクサブシステム１のファイバチャネルイニシエータポート１０ｃは転送レディを受領すると、リモートコピー用ファイバチャネル６を経由してデータ転送を行う。すべてのデータがライト完了した後、最後にファイバチャネルターゲットポート１０ｄからのＲＳＰを受領してコピー動作を完結するとともに、マスターディスクサブシステム１のキャッシュメモリ１１におけるリモートコピー済みの当該セグメントのリモートダーティフラグ５３をリセット（＝０）し、サイドファイルからの削除を実行し（ステップ２０５）、対応ホストの個別使用量３３の減算更新を実行する（ステップ２０６）。
【００６９】
上述のマスターディスクサブシステム１と、リモートディスクサブシステム７間のリモートコピーのためのコマンド及びデータのやり取りシーケンスの一例を図５に示す。
【００７０】
なお、前に述べた様に、マスターディスクサブシステム１のファイバチャネルイニシエータポート１０ｃがコピー転送を行う順序は、サイドファイル内にコピーが完了していないデータ（セグメント）（リモートダーティフラグ５３＝１のもの）をランダムに選択（ステップ２０３）して決定されるので、各ホストコンピュータのデータは結果的に、個別比率閾値３２の大小に依存した優先順位でリモートコピーされることになる。
【００７１】
上述の図８のフローチャートにおいて、マスターディスクサブシステム１が、メインフレーム系チャネル４経由で、メインフレームホストコンピュータ５からデータライトコマンドを受けた場合は、メインフレーム系チャネルターゲットポート１０ｂは、リモート側へコピーする前、キャッシュメモリ１１に格納するタイミング（ステップ１０３）でデータフォーマットの変換を行う。
【００７２】
図６に、この時のデータフォーマットの変換方法の一例を示す。メインフレームホストコンピュータシステム（メインフレームホストコンピュータ５）で使われるＣＫＤデータフォーマットのレコードは、Ｃ部（カウント部）、Ｋ部（キー部）、Ｄ部（データ部）から形成され、レコード内のＣ部、Ｋ部、Ｄ部間、及びレコード間には、データを含まないＧＡＰと呼ばれる部分で区切られている。Ｃ部、Ｋ部、Ｄ部はそれぞれ不定長である。オープン系のホストコンピュータで一般に使用されるＳＣＳＩの規格ではデータ格納単位であるブロックが固定サイズであり、ＣＫＤデータフォーマットのデータをそのままＳＣＳＩ−ＦＣＰ準拠のコマンドで転送（リモートコピー）できない。そこで、マスターディスクサブシステム１のメインフレーム系チャネルターゲットポート１０ｂは、ホスト（メインフレームホストコンピュータ５）からのライトデータを受けながら、Ｃ部の位置を対応する一定長ブロックの先頭に来るように定め、ＧＡＰ部分を捨て、後続するＫ部、Ｄ部を前に詰めた上で、キャッシュメモリ１１に格納する。また、レコード間には区切りのＧＡＰを埋める。各レコードのＣ部の位置を対応するブロックの先頭に置くのは、メインフレームホストコンピュータ５からのアクセスが行われた時、目的レコードのサーチが単純計算によって、高速に行える様にするためである。以降、キャッシュメモリ１１に格納されているデータは、固定長ブロックに分割されたものとして扱う。キャッシュメモリ１１からディスクアレイ１２へのデータ格納時にも、リモートコピー用ファイバチャネル６を経由した、リモートディスクサブシステム７へのデータコピー時にも、オープン系データと同じ様に扱う。
【００７３】
データフォーマット変換処理以外は、マスターディスクサブシステム１からリモートディスクサブシステム７へのリモードコピー動作は共通である。合計比率閾値４０及び個別比率閾値３２を用いて流入制限を行う制御は、メインフレームホストコンピュータ５の接続時にも適応される。但し、メインフレームホストコンピュータ５とのインタフェース規格上、スリープによる単純な遅延が長く持続できないので、メインフレームホストコンピュータ５を待たせる手段としてコマンドリトライを要求する応答を返し、ステップ１０３でライトコマンド受領時に一時的にキャッシュメモリ１１に保持したデータは破棄することになる（図８のステップ１０７、ステップ１０９）。
【００７４】
マスターディスクサブシステム１のファイバチャネルイニシエータポート１０ｃと、リモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄも、オープンコンピュータ用とメインフレームホストコンピュータ用とを区別せず、同一構造のポートが使用可能である。
【００７５】
図１０のフローチャートにて、キャッシュメモリ１１内のライトデータをディスクアレイ１２に反映させる処理の一例について説明する。
【００７６】
ディスクアダプタ１２ａは、共用メモリ１１−１のキャッシュ管理テーブル５０を検索し（ステップ３０１）、ディスクに未反映のデータ（マスタダーティフラグ５２＝１のセグメント）があるか調べ（ステップ３０２）、ある場合には、たとえば、ＬＲＵ等の方法で最も古い、すなわち長くキャッシュメモリ１１内に留まっていたセグメントを選択して（ステップ３０３）、当該セグメントのディスクアレイ１２への書込を実行（ステップ３０４）した後、当該セグメントのマスタダーティフラグ５２をリセット（＝０）するとともにＬＲＵ管理情報５４の更新を行う（ステップ３０５）。
【００７７】
本実施の形態では、リモートコピーの経路としてファイバチャネル・プロトコルを用いるので、図７に示す様に、マスタ側からリモート側をファイバチャネルケーブルで直結するルート（Ｒ１）と、ファイバチャネルハブ６０を経由してリモート側に接続するルート（Ｒ２）と、ファイバチャネルスイッチ７１からファブリック７０（Ｆａｂｒｉｃ）に連結し、リモート側に接続するルート（Ｒ３）と、ファイバチャネルハブ６０を経由してファイバチャネルスイッチ７１からＦａｂｒｉｃ７０に連結し、リモート側に接続するルート（Ｒ４）とが考えられる。これらのルート（Ｒ１）〜ルート（Ｒ４）の接続方式はすべてファイバチャネルプロトコルで規格化されている接続モードであり、前述した様に、本実施の形態の場合には、マスターディスクサブシステム１のファイバチャネルイニシエータポート１０ｃからリモートディスクサブシステム７のファイバチャネルターゲットポート１０ｄまでの間は、全て、一般的なファイバチャネルプロトコルに準拠しているため、ＦＣ−ＡＬに対応する機器を利用して接続することが可能である。
【００７８】
以上説明したように、本実施の形態によれば、リモートディスクサブシステム７に対してリモートコピーを行うマスターディスクサブシステム１に複数のホストコンピュータが接続される場合、各ホスト単位に設定した個別比率閾値３２や合計比率閾値４０等の比率情報を用いて、共有資源であるキャッシュメモリ１１内のサイドファイルを各ホストの重要度等に応じて効率的に配分して使用できるため、ユーザが意図した優先度の通りに、各ホストコンピュータのデータをマスターディスクサブシステム１からリモートディスクサブシステム７側へと確実にリモートコピーできる。
【００７９】
従って、たとえば、マスターディスクサブシステム１において、特定の１つのホストコンピュータからの大量なデータ書き込みが発生しても、他の重要度の高いホストコンピュータの入出力処理は影響されることなく、当該重要度の高いホストコンピュータからのアクセスを受け付けながら、リモートコピーの動作を継続できる。
【００８０】
また、本実施の形態の場合には、メインフレーム系チャネルプロトコルのＣＫＤ形式等のデータ形式を、オープン系のファイバチャネルプロトコル・チャネルに準拠したデータ形式に変換した後に、ディスクアレイ１２への格納およびリモートディスクサブシステム７へのリモートコピーを実行するので、マスターディスクサブシステム１とリモートディスクサブシステム７の接続インタフェースとして、一種類のリモートコピー用ファイバチャネル６のみを用いるだけで、ファイバチャネルプロトコル・チャネルに接続するオープン系システムだけでなく、メインフレームホストコンピュータで扱うＣＫＤフォーマットデータについても同様の制御にてリモートコピーが可能であり、低コストで効率的なリモートコピーシステムの構築が可能となる。
【００８１】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８２】
たとえば、上述の実施の形態の説明では、一例として、自動計測したサイドファイル使用済み容量（個別使用量３３、合計使用量３４）と、ＳＶＰ１４を経由してユーザーが予め設定した合計比率閾値４０、個別比率閾値３２とを比較して、データ流入制限の指標としているが、ユーザー設定に限らず、たとえば長期間に渡って自動計測したサイドファイル使用量等の統計的な情報から上述の各種閾値の指標を定める制御論理を記憶制御装置等に付加することも本発明に含まれる。
【００８３】
【発明の効果】
本発明によれば、記憶サブシステムに接続される複数の上位装置の各々の重要度に応じた優先度にて、複数の記憶サブシステム間でのライトデータのリモートコピーを行うことができる、という効果が得られる。
【００８４】
また、本発明によれば、記憶サブシステムに接続される複数の上位装置のうち、特定の上位装置によるデータ書込負荷の増大に影響されることなく、複数の記憶サブシステム間での効率的なリモートコピーを実現することができる、という効果が得られる。
【００８５】
また、本発明によれば、複数の上位装置の各々と記憶サブシステム間の多様な接続インタフェースを、データのリモートコピーを行う複数の記憶サブシステム間の接続インタフェースに統一することで、効率的なリモートコピーシステムの構築ができる、という効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である記憶サブシステムの制御方法を実施する記憶サブシステムを用いた情報処理システムの構成の一例を示す概念図である。
【図２】本発明の一実施の形態である記憶サブシステムの内部構成の一例をより詳細に例示した概念図である。
【図３】本発明の一実施の形態である記憶サブシステムにて用いられる制御情報の一例を示す概念図である。
【図４】本発明の一実施の形態である記憶サブシステムの作用の一例を示す概念図である。
【図５】本発明の一実施の形態である記憶サブシステムにおけるリモートコピーの作用の一例を示す概念図である。
【図６】本発明の一実施の形態である記憶サブシステムにおけるデータフォーマットの変換方法の一例を示す概念図である。
【図７】本発明の一実施の形態である記憶サブシステムにおけるファイバチャネルプロトコルによる記憶サブシステム間の接続方法の変形例を示す概念図である。
【図８】本発明の一実施の形態である記憶サブシステムの作用の一例を示すフローチャートである。
【図９】本発明の一実施の形態である記憶サブシステムの作用の一例を示すフローチャートである。
【図１０】本発明の一実施の形態である記憶サブシステムの作用の一例を示すフローチャートである。
【符号の説明】
１…マスターディスクサブシステム（第１の記憶サブシステム）、１ａ…記憶制御装置、２…ファイバチャネル（第１のインタフェース）、３…オープンホストコンピュータ、４…メインフレーム系チャネル（第１のインタフェース）、５…メインフレームホストコンピュータ、６…リモートコピー用ファイバチャネル（第２のインタフェース）、７…リモートディスクサブシステム（第２の記憶サブシステム）、１０…入出力ポート、１０ａ…ファイバチャネルターゲットポート、１０ｂ…メインフレーム系チャネルターゲットポート、１０ｃ…ファイバチャネルイニシエータポート、１０ｄ…ファイバチャネルターゲットポート、１１…キャッシュメモリ、１１−１…共用メモリ、１２…ディスクアレイ、１２ａ…ディスクアダプタ、１３…バス、１４…サービスプロセッサ（ＳＶＰ）、１５…外部接続インタフェース、３０…サイドファイル管理テーブル、３１…ポート番号、３２…個別比率閾値（第１の閾値）、３３…個別使用量、３４…合計使用量、４０…合計比率閾値（第２の閾値）、４１…サイドファイル容量、５０…キャッシュ管理テーブル、５１…セグメント番号、５２…マスタダーティフラグ、５３…リモートダーティフラグ、５４…ＬＲＵ管理情報、６０…ファイバチャネルハブ、７０…ファブリック、７１…ファイバチャネルスイッチ。
【図１】
0003997061.tif 000002
【図２】
0003997061.tif 000003
【図３】
0003997061.tif 000004
【図４】
0003997061.tif 000005
【図５】
0003997061.tif 000006
【図６】
0003997061.tif 000007
【図７】
0003997061.tif 000008
【図８】
0003997061.tif 000009
【図９】
0003997061.tif 000010
【図１０】
0003997061.tif 000011