(57)【要約】【課題】ファイバチャネルプロトコルにしたがってデータ転送を行う、送信側ポートと受信側ポート間が、複数の記憶制御装置間でリモートコピーシステムを構成している場合など、遠距離であっても、両ポート間でのデータ転送においてスループットの低下或いはそのおそれが無い、データ転送制御を提供する。【解決手段】第１の記憶制御装置と、第１の記憶制御装置に通信手段を介して接続され、第１の記憶制御装置からデータを受信する、第２の記憶制御装置を備えるリモートコピーシステムにおける、第１の記憶制御装置と第２の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法である。第１の記憶制御装置と第２の記憶制御装置間との間の距離に応じて、データフレームの転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させる、ようにした。【選択図】図５
2007115138.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶制御装置と、前記第１の記憶制御装置に通信手段を介して接続され、当該記憶制御装置からデータを受信する、第２の記憶制御装置を備えるリモートコピーシステムにおける、前記第１の記憶制御装置と前記第２の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、
前記第１の記憶制御装置と前記第２の記憶制御装置間との間の距離に応じて、前記データフレームの転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させる、ようにしたデータ転送方法。
【請求項２】
前記第１の記憶制御装置が前記第２の記憶制御装置にログインするステップと、
前記第１の記憶制御装置から前記第２の記憶制御装置に、所定のデータフレームを送信するステップと、
前記データフレームの送信時刻から、前記第２の記憶制御装置から前記第１の記憶制御装置がレシーブ・レディを受信する時刻までの経過時間を計測するステップと、
前記経過時間に基づいて、前記バッファ・ツゥー・バッファ・クレジット数を増加させるステップと、を備えてなる、請求項１記載のデータ転送方法。
【請求項３】
前記第１の記憶制御装置が、
前記バッファ・ツゥー・バッファ・クレジット数の初期値が、前記第２の記憶制御装置が前記第１の記憶制御装置に前記レシーブ・レディを送信してから、前記第１の記憶制御装置が前記レシーブ・レディを受信するまでの間に、前記第２の記憶制御装置にデータフレームを送信できるだけの値か否かを判定する第１ステップと、
この判定が否定された場合、前記バッファ・ツゥー・バッファ・クレジット数を初期値から増加させる第２ステップと、
を実行する、請求項２記載のデータ転送方法。
【請求項４】
前記第１のステップは、前記バッファ・ツゥー・バッファ・クレジット数の初期値（ｎ）、前記第１の記憶制御装置から送信される複数のデータフレームの送信間隔（Ｔ）、前記第２の記憶制御装置が前記第１の記憶制御装置に前記レシーブ・レディを送信してから、前記第１の記憶制御装置が前記レシーブ・レディを受信するまでの間（ｔ）に基づく、下記式Ｉによって行われる、請求項３記載のデータ転送方法。
（ｎ−１）×Ｔ＜ｔ・・・・・（Ｉ）
【請求項５】
前記増加後のバッファ・ツゥー・バッファ・クレジット数が、（ｎ−１）×Ｔにて算出した値について前記ｔに最も近い整数である、請求項４記載のデータ転送方法。
【請求項６】
前記第１の記憶制御装置が前記第２の記憶制御装置に、前記増加されたバッファ・ツゥー・バッファ・クレジット数のもとで再ログインされる請求項３記載のデータ転送方法。
【請求項７】
前記第２の記憶制御装置のバッファにおいて、前記第１の記憶制御装置から送られた前記データフレーム処理に停滞が発生した場合、前記第１の記憶制御装置は、前記増加されたバッファ・ツゥー・バッファ・クレジット数を減少させる、請求項３記載のデータ転送方法。
【請求項８】
前記第１の記憶制御装置が、前記減少したバッファ・ツゥー・バッファ・クレジット数に基づいて前記第２の記憶制御装置に再ログインする第３のステップと、
前記第１の記憶制御装置は、前記データフレームの処理の停滞が解消されない場合には、前記バッファ・ツゥー・バッファ・クレジット数をさらに減少させて、第２の記憶制御装置に再ログインして前記データフレームの転送を行う第４のステップと、を備える、請求項７記載のデータ転送方法。
【請求項９】
前記第１の記憶制御装置は、前記データフレームの処理の停滞が解消された場合、減少された前記バッファ・ツゥー・バッファ・クレジット数を減少前の値に増加させる第５のステップを備える請求項８記載のデータ転送方法。
【請求項１０】
イニシエータノードのポートとターゲットノードのポート間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、
前記イニシエータノードが前記ターゲットノードに、予め定められたバッファ・ツゥー・バッファ・クレジット数に基づいてログインする第１ステップと、
前記イニシエータノードのポートと前記ターゲットノードのポート間の距離と前記データ転送に適用されるバッファ・ツゥー・バッファ・クレジット数とを対応させた制御テーブルに基づいて、前記バッファ・ツゥー・バッファ・クレジット数を決定する第２ステップと、
第１のステップの前記予め定められたバッファ・ツゥー・バッファ・クレジット数が、第２のステップで決定されたバッファ・ツゥー・バッファ・クレジット数以下の場合には、前記イニシエータノードのポートと前記ターゲットノードのポート間での前記データフレームの転送に実際に適用されるバッファ・ツゥー・バッファ・クレジット数を、前記第２のステップで決定された値に設定する第３のステップと、
を備えてなるデータ転送方法。
【請求項１１】
情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶制御装置と、
前記第１の記憶制御装置に通信手段を介して接続される第２の記憶制御装置と、
前記第１の記憶制御装置の論理ボリュームを前記第２の記憶制御装置の論理ボリュームにリモートコピーするコピー制御回路と、
当該記憶制御装置からデータを受信する、第２の記憶制御装置と、
前記第１の記憶制御装置と前記第２の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、前記第１の記憶制御回路のデータフレームを前記第２の記憶制御装置にデータ転送を行う転送制御回路と、
を備え、
前記転送制御回路は、前記第１の記憶制御装置と前記第２の記憶制御装置間の距離に応じて、前記データ転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させるようにした、リモートコピーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイバチャネルプロトコルによる、複数のノード間のデータ転送を制御する方式に関する。より詳しくは、本発明は、遠距離を介して置かれた複数の記憶制御装置からなるリモートコピーシステムに適用される、ファイバチャネルプロトコルに基づいたデータフレームの転送を制御する方法及び装置である。
【背景技術】
【０００２】
コンピュータシステムがあらゆる組織にとって重要な存在である現在の社会では、アプリケーションによる継続したサービスを提供するデータセンタが、災害や事故などのさまざまな要因によって運用不可能な状態に陥った場合、別のデータセンタにおいて継続したサービスを提供することが大変重要である。
【０００３】
そこで、リモートコピーシステムは、一つの記憶制御装置とは離れた地理的位置に他の記憶制御装置を備え、一つの記憶制御装置に格納されたデータの複製を、他の記憶制御装置に格納するようにしている。
【０００４】
このリモートコピーシステムでは、記憶制御装置からリモートサイトである記憶制御装置へのデータ転送は、ファイバチャネルプロトコルに基づいて行われる。イニシエータノードからターゲットノードにファイバチャネルプロトコルで長距離接続を行う場合、ＦＣ２レイヤで定義されているBuffer to Buffer Credit(バッファ・ツゥー・バッファクレジット：ＢＢクレジット)を考慮する必要がある。すなわち、ローカルサイトの記憶制御装置が、リモートサイトの記憶制御装置ヘログインしてデータ転送を行う際、リモートサイトの記憶制御装置において、一度に受信可能なデータフレームの個数は、ログイン時のパラメータの一つであるＢＢクレジットで決定される。
【０００５】
この種の従来技術として、例えば、特開平１１−５５３１４号公報(特許文献１)記載のデータ転送制御方法がある。このものは、送信側に送信したフレームシーケンス番号と受信側の処理が終了したフレームシーケンス番号を送信側が判断して、ＢＢクレジット数を決めている。また、受信側に送信した最新のフレームシーケンス番号と受信側で処理が終了した最新のフレームシーケンス番号との差を送信側が把握する事により、受信側のトラフィック状況に応じて送信するクレジット数を増減させることが記載されている。
【０００６】
なお、特許第３５１７４５２号特許公報（特許文献２）には、ケーブルの転送遅延時間によるデータ転送効率の低下を防止することを目的とするデータ転送制御方法が記載されている。この公報には、バッファを有する記憶制御部が、記憶手段の容量に相当するデータ要求を発行後、上位処理装置から転送される最初のデータを受信するまでの間に、記憶制御部は上位処理装置に対してデータ要求を発行すること、さらに、ターゲットがケーブル上の転送遅延時間を見越してデータ要求をイニシエータへ返すことが記載されている。
【特許文献１】特開平１１−５５３１４号公報
【特許文献２】特許第３５１７４５２号特許公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ファイバチャネルプロトコルでは、バッファクレジットの値がゼロの場合、送信側ＦＣポートは、R_RDY(Receive Ready)が戻るまで次のフレームを受信側ＦＣポートに送出してはならない。両ポート間の距離が短い場合には、送信側ポートは、受信側ポートに対して、データ転送路の転送データ及びR_RDYの転送路伝播遅延時間に影響されることなくデータ転送を行うことができる。
【０００８】
しかしながら、両ポート間のデータ転送路距離が長い時、受信側ポートから送信側ポートへのR_RDYの到着が回線遅延により遅れるため、バッファ・ツゥー・バッファ・クレジット（ＢＢクレジット）が接続距離（回線遅延）に対して十分なバッファ数を用意できていない場合、送信側ＦＣポートはフレームを送出できない時間が増え、スループットが低下する問題がある。
【課題を解決するための手段】
【０００９】
本発明はこのような問題を解決するために、ファイバチャネルプロトコルにしたがってデータ転送を行う、送信側ポートと受信側ポート間が、複数の記憶制御装置間でリモートコピーシステムを構成している場合など、遠距離であっても、両ポート間でのデータ転送においてスループットの低下或いはそのおそれが無い、データ転送制御を提供することを目的とするものである。
【００１０】
この目的を達成するために、本発明は、ファイバチャネルプロトコルによる、ポート間の連続するデータ転送制御方法において、送信側のノードが受信側のノードに宣言していたＢＢクレジット数を、送信側ポート間と受信側ポート間の距離に対応させて、増加させる事を特徴とするものである。
【００１１】
本発明の形態の第１は、情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶制御装置と、前記第１の記憶制御装置に通信手段を介して接続され、当該記憶制御装置からデータを受信する、第２の記憶制御装置を備えるリモートコピーシステムにおける、前記第１の記憶制御装置と前記第２の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、前記第１の記憶制御装置と前記第２の記憶制御装置間との間の距離に応じて、前記データフレームの転送に適用されるＢＢクレジット数を増加させる、ようにした事を特徴とするものである。
【００１２】
本発明の形態の第２は、イニシエータノードのポートとターゲットノードのポート間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、前記イニシエータノードが前記ターゲットノードに、予め定められたＢＢクレジット数に基づいてログインする第１ステップと、前記イニシエータノードのポートと前記ターゲットノードのポート間の距離と前記データ転送に適用されるＢＢクレジット数とを対応させた制御テーブルに基づいて、前記ＢＢクレジット数を決定する第２ステップと、第１のステップの前記予め定められたＢＢクレジット数が、第２のステップで決定されたＢＢクレジット数以下の場合には、前記イニシエータノードのポートと前記ターゲットノードのポート間での前記データフレームの転送に実際に適用されるＢＢクレジット数を、前記第２のステップで決定された値に設定する第３のステップと、を備えてなることを特徴とするものである。
【００１３】
さらに、本発明の形態の第３は、情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶制御装置と、前記第１の記憶制御装置に通信手段を介して接続される第２の記憶制御装置と、前記第１の記憶制御装置の論理ボリュームを前記第２の記憶制御装置の論理ボリュームにリモートコピーするコピー制御回路と、当該記憶制御装置からデータを受信する、第２の記憶制御装置と、前記第１の記憶制御装置と前記第２の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、前記第１の記憶制御回路のデータフレームを前記第２の記憶制御装置にデータ転送を行う転送制御回路と、を備え、前記転送制御回路は、前記第１の記憶制御装置と前記第２の記憶制御装置間の距離に応じて、前記データ転送に適用されるＢＢクレジット数を増加させるようにしたことを特徴とするものである。
【００１４】
本発明によれば、複数のノードのポート間における、ファイバチャネルプロトコルに基づくデータ転送の際、データ転送やノードでのデータ処理の状態によってバッファ・ツゥー・バッファ・クレジット（ＢＢクレジット）数を増減させたので、効率的なデータ転送を実行することができる。
【発明の効果】
【００１５】
以上説明したように、本発明によれば、ファイバチャネルプロトコルにしたがってデータ転送を行う、送信側ポートと受信側ポート間が、複数の記憶制御装置間でリモートコピーシステムを構成している場合など、遠距離であっても、両ポート間でのデータ転送においてスループットの低下或いはそのおそれが無い、データ転送制御を実現することができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の実施形態に係る、複数の記憶システムからなるリモートコピーシステムの全体を示す図である。各記憶システムは後述の図２に示すような記憶制御装置から構成されている。第１の記憶システム１０は、ホストコンピュータ５と接続線２１０を介して接続されている。第２の記憶システム１５は、第１の記憶システム１０と接続線２２０を介して接続される。この第２の記憶システムは、第１の記憶システム１０と第３の記憶システム２０との間の中間サイトとして機能するものである。
【００１７】
ホストコンピュータ５と第１の記憶システム１０とにより構成される第１のサイトと、ホストコンピュータ６と第２の記憶システム１５とによって構成される第２のサイトとを合わせたシステムがローカルサイトに相当する。一方、ローカルサイトから数百キロメートル以上も離れたところに配置されることがあるリモートサイトを構成する第３の記憶システム２０は、第２の記憶システムである記憶システム１５と接続線２４０を介して接続されている。第１の記憶システム１０と第２の記憶システム１５との間、及び、第２の記憶システム１５と第３の記憶システム２０との間は、ファイバチャネルプロトコルに基づくデータ通信が行われる。
【００１８】
第１の記憶システム１０は、論理ボリューム１１０(ORG1)、 論理ボリューム１２０（ORG２）を備えており、論理ボリューム１１０(ORG1)に複製対象となるオリジナルデータが格納されている。第２の記憶システム１５は、論理ボリューム１１０(ORG１)のデータイメージが同期コピーされる論理ボリューム１５０(Data１)を備えている。リモートサイトの記憶システム２０は、複製データが格納される論理ボリューム２００（Data２）を備えている。
【００１９】
記憶システム１０、１５、２０内に定義される論理ボリュームの容量や物理的な格納位置（物理アドレス）は、各記憶システムに接続した管理用コンピュータ（ＳＶＰ）もしくはホストコンピュータ５、６、７を用いて設定可能である。複製対象のデータが蓄積される論理ボリュームは正論理ボリュームであり、複製データが蓄積される論理ボリュームは副論理ボリュームである。一対の正論理ボリュームと副論理ボリュームとからコピーペアが構成される。
【００２０】
図１において、第１の記憶システム１０が、ホストコンピュータ５から第１の記憶システム１０内の正論理ボリューム１１０(ORG１)のデータに対するライト命令を受信すると(２５０)、第１の記憶システム内の正論理ボリューム１１０(ORG１)のデータが更新される。そして、当該更新された正論理ボリューム１１０(ORG１)とペアとなっている第２の記憶システム１５の内の論理ボリューム１５０(Data１)も同期更新される。このことにより第２の記憶システム１５は、第１の記憶システム１０で障害が発生した場合でも、直ちにその業務を引き継ぐことができる。これは、第２の記憶システム１５が、ホストコンピュータ５の使用している正論理ボリューム１１０（ORG１）と同じデータイメージを持つ副論理ボリューム１５０（Data１）を保持しているからである。
【００２１】
一方、第２サイトの記憶システム１５は、論理ボリューム１５０(Data１)へのデータ更新があると、すなわち、ホストコンピュータ５から論理ボリューム１にデータの更新Ｉ／Ｏがあると、ジャーナルボリューム１５１（JNL１）にジャーナルデータの保存を行う(２６０)。  ジャーナルボリューム１５１（JNL1）に蓄積されたジャーナルデータは、接続線２４０を介して、遠距離にある第３の記憶システム２０内のジャーナルボリューム２０１（JNL2）に非同期で転送（２７０)される。第３の記憶システム２０は、ジャーナルボリューム２０１（JNL2）のジャーナルデータを用いて、第２の記憶システム１５の論理ボリューム１５０（Data１）に対応する論理ボリューム２００(Data2)を再生する(２８０)。この動作は、リストア処理或いはリカバリ処理に相当する。
【００２２】
図２に、記憶システム１５のハードウエアのブロック構成を示す。記憶システム１０及び２０も同様な構成を備えている。第２の記憶システム１５は、ホストコンピュータ６と接続するための複数のチャネルアダプタ５０を有し、これらチャネルアダプタ５０は接続線２１０、２２０を介してホストコンピュータ６や第３の記憶システム２０と接続されている。チャネルアダプタ５０は、接続部５５を介して、キャッシュメモリ６０に接続され、上位装置(情報処理装置)から受領したコマンドを解析し、ホストコンピュータ６が所望するデータのキャッシュメモリ上への読み出しや書き込みを制御する。論理ボリューム１１０(ORG１)と論理ボリューム１２０(ORG２)は、複数のＨＤＤ１００上にわたって設定されている。８０はディスクアダプタで、チャネルアダプタ５０とＨＤＤ１００との間のデータの授受を制御する。７０は制御情報などをチャネルアダプタ５０とディスクアダプタ８０に供給させる共有メモリである。
【００２３】
チャネルアダプタ５０はディスクアダプタ８０、キャッシュメモリ６０、共有メモリ７０及び管理端末ＳＶＰとの間でデータやコマンドの送受信を行う。ＳＶＰはチャネルアダプタ５０及びディスクアダプタ８０に接続されている。ファイルアクセス要求に対応するＩ／Ｏ要求は、チャネルアダプタ５０内の制御回路によって出力される。
【００２４】
次に、第２の記憶システムを送信元ノードとし、第３の記憶システムを送信先ノードとして本発明の実施形態について説明する。図２に示すように、第２の記憶システム１５のＡポート４０２から第３の記憶システム２０のＢポート４００へデータを転送する時、図３に示すように、例えば、ＢＢクレジット数＝３で送信するフレーム数＝１０とした場合、ＡポートとＢポート間のデータ転送距離が短い場合には、ＡポートはＢポートに対し、データ転送路の転送データ及びR_RDYの転送路伝播遅延時間に影響されることなくデータを転送することができる。
【００２５】
図３においてＢＢクレジットカウンタは、チャネルアダプタのマイクロプロセッサ１１２が、ローカルメモリ１１４のマイクロプログラムに基づいて構成するものであり、ＡポートからＢポートにフレームが転送されると（実線の矢印で表示）、カウンタ値が１つインクリメントされる。
【００２６】
一方、Ｂポートから、Ａポート側のマイクロプロセッサがR_RDYを受信した場合（破線の矢印で表示）にはＢＢクレジットカウンタ値がデクリメントされる。ＢＢクレジットカウンタ値が３になると、Ａポート側のマイクロプロセッサはＢポート側の記憶システムにフレームを送信することができない。図３において、（１），（２）・・・・（１０）は、ＡポートからＢポートに送信されるフレームであり、（１）´，（２）´・・・・（１０）´はＢポートからＡポートに送信されるR_RDYである。
【００２７】
ＡポートとＢポート間が、リモートコピーシステムのように遠距離になる場合には、図４に示すように、送信側のＡポートから受信側のＢポートにデータフレームの転送を実行する時、ＡポートからＢポートへデータを転送し、ＢポートからＡポートへR_RDYが返ってくるまでの時間を“ｔ”とすると、ＢポートからＡポートにR_RDYが返ってくるまでの時間（ｔｌｏｓｓ）、ＡポートではＢポートへデータフレームを送信する事が出来ない。この間Ｂポート側の記憶システムのバッファが空いている状態となり、データの転送効率が低下する。
【００２８】
ＢＢクレジット数は、受受信ポートを有するノード（記憶システム）の受信バッファ量によって決定される。送信側の記憶システムが受信側の記憶システムにログインした際、受信側の記憶システムは送信側の記憶システムにＢＢクレジット数を通知する。送信側の記憶システムは通知されたＢＢクレジット数で、受信側の記憶システムにフレームを送信する。なお、バッファとは、フレームデータの一時記記憶領域であり、受信側のキャッシュメモリ、又はチャネルアダプタのローカルメモリが、バッファに該当する。
【００２９】
データ送信の効率を改善するために、送信側の記憶システムが受信側の記憶システムに最初にログインした際のＢＢクレジット数を、図５に示すように、Ｂポート側の記憶システムが処理可能な「３」から例えば「６」にして、送信側の記憶システムが受信側の記憶システムにログインし直すことにより、データ転送効率を改善する。すなわち、この間Ｂポート側の記憶システムのバッファが空いている状態を見越して、通常よりも多いデータフレームを、Ａポート側からＢポート側に転送する。なお、送信側であるＡポートから送信された６つのフレームのうちの３つのフレームはＢポート側の記憶システムにて一度に処理することは出来ないので、ＡポートとＢポートとの間にある転送路に３フレーム分のデータをバッファリングする。例えば、転送路途中のファブリックのバッファにバッファリングし、Ｂポート側の記憶システムでバッファのフレームがＨＤＤに転送されてバッファが開放された後、ファブリックに保存された３つのフレームがＢポート側の記憶システムに取り込まれる。
【００３０】
次にデータ転送の動作について、図６のフローチャートに基づいて説明する。このフローチャートは、送信元記憶制御装置に設けられたチャネルアダプタのマイクロプロセッサ１１２によって実行される。ステップ６００において、マイクロプロセッサは、ＡポートからＢポート側の記憶システム２０（図２）にログインする。ログイン時に設定されるＢＢクレジット数は、Ｂポート側の記憶システムに当初から設定されているＢＢクレジット数である。ポート間でのログインの契機は、データの転送を開始する時である。
【００３１】
ステップ６０２では、マイクロプロセッサはＡポートからＢポートへデータフレームを一つ送信する。ステップ６０４では、ステップ６０２において、マイクロプロセッサがＡポートを介してＢポートへデータフレームを送信した時刻と、ＢポートからＡポートにR_RDYが返ってくる時刻とから、１フレームの処理に要した時間ｔを算出する。
【００３２】
ステップ６０６では、マイクロプロセッサは、ステップ６０４で計算された時間ｔが、データフレーム送信間隔時間Ｔ（図３参照）とから下記式１の演算を行う。
(数１)  （ＢＢクレジット数（ｎ）−１）×Ｔ＜ｔ
数１は、前記ｔｌｏｓｓの期間、データフレームを送信できるクレジット数であるか否かを判定するものであり、ステップ６０６が否定判定された場合は、ＡポートからＢポートへのデータの転送が、転送距離に影響されることなく、適切に実行されているとＡポート側のマイクロプロセッサが判断し、ＢＢクレジット数を変更することなく処理を終了する。
【００３３】
一方、ステップ６０６が肯定判定された場合は、ｔｌｏｓｓの間も，ＡポートからＢポートへデータフレームが送信できるＢＢクレジット数にはなっていないので、マイクロプロセッサは、Ｂポートに再ログインして、（ＢＢクレジット数（ｎ）−１×Ｔ）がｔに最も近い整数を新たなＢＢクレジット数として、これを受信側の記憶システムの共有メモリ或いはＢポートのチャネルプロセッサのローカルメモリに設定する（ステップ６０８）。これにより、ファイバチャネルプロトコルに基づいてデータ送信が行われる、複数のノード間の距離が長い場合でも、スループットの低下を防いで、複数のノード間のデータ送信が可能となる。
【００３４】
図７は、ＡポートからＢポートへのデータ転送処理を行う際の、ＢＢクレジット数の設定に係る他の実施形態を示すフローチャートである。ステップ６００−６０８までは、図５に同じ番号で示されるステップと同様である。ステップ７００では、Ｂポート側のマイクロプロセッサは、ステップ６０８で決定されたＢＢクレジット数で送信されたデータフレームの数がＢポート側で受信可能な個数以上であり、Ｂポート側でのデータフレームの処理が停滞して受信バッファのオーバーフローが発生し、データ転送が失敗しているかどうかを監視し、オーバーフローが発生していない場合は、ステップ７０２に進む。
【００３５】
ステップ７００において、オーバーフローが発生した場合は、送信側の記憶システムのマイクロプロセッサは、Ａポートからの送信フレーム数が過剰と判断し、ＢＢクレジット数をステップ６０８で設定したＢＢクレジット数から１をデクリメントし、Ｂポート側でのオーバーフローが無くなるまで前記処理を繰返し実施し、データ転送で使用するＢＢクレジット数を減少させ、データ転送のリトライ動作を試行する（ステップ７０４）。なお、オーバーフローは、Ｂポート側の記憶制御装置から該当する制御コードがＡポート側の記憶制御装置に送られ、Ａポート側の記憶制御装置のチャネルアダプタが判定する。
【００３６】
ステップ７０２において、ＢＢクレジット数をステップ６０８で決定した数から減少させているかどうか、Ａポート側のマイクロプロセッサが判断し、減少させていない場合はステップ６０８で宣言したＢＢクレジット数でデータ転送を行う。もしＢポート側でオーバーフローが発生し、ＢＢクレジット数を減少させている場合は、ステップ７０６に進む。Ａポート側のマイクロプロセッサは、ＢＢクレジット数を減少させてから、Ｂポート側で送信されたデータフレームの処理回数が複数回(この場合、１０回以上とする)終了したか否かを判断する。１０回以上処理が行われていない場合、１０回以上の処理が完了されるまでステップ７０６が繰り返される。
【００３７】
ステップ７０６で、複数回の処理が完了した場合は、Ａポート側のマイクロプロセッサは、Ｂポート側でのオーバーフローが完全に解消されたと認識し、ＡポートからＢポートへ再度ログインし、ＢＢクレジット数をステップ６０８で決定された整数値に再び増やして、Ｂポートへデータフレームの転送処理を行う。以後、Ｂポート側でＡポート側からのデータフレームの処理にオーバーフローが発生しない場合には、ステップ７００とステップ７０２を経て図７の処理が終了する。Ｂポート側でオーバーフローが発生した場合には、ステップ７００，７０４，７０２，７０６，７０８を経由して、ＢＢクレジット数が増加・減少される。
【００３８】
この実施形態によれば、記憶制御装置間のデータ転送において、受信側のデータ処理が停滞し、受信側バッファでオーバーフローが発生しても、受信側のデータ処理状況に合せて、ＢＢクレジット数を調整できることにより、記憶制御システム間で効率良くデータ転送を実現することができる。
【００３９】
図８は、さらに他の実施形態に係るフローチャートである。データ送信を行うＡポートとデータ受信を行うＢポートとのデ−タ転送距離が予め判明している場合に、距離に対応するＢＢクレジット数をあらかじめＡポート側の記憶性制御装置のＳＶＰ（図２参照）に管理者が入力し、これを、データ転送を行う時に使用する制御データテーブルとして共有メモリ７０に登録しておく（ステップ８００）。
【００４０】
図９は、このテーブルの一例であり、ＡポートとＢポート間の距離と、通信において使用する帯域とに応じて、ＢＢクレジット数（ｎ´）が定められている。両ポート間の距離が長距離であるほど、かつ、帯域の周波数が大きいほどＢＢクレジット数（ｎ´）が多く設定されている。
【００４１】
作成したデータテーブルに基づいて、Ａポート側である送信側の記憶制御装置はキャッシュ６０に、データ転送を行う距離に対応するＢＢクレジット数（ｎ´）をあらかじめ記憶しておく（ステップ８０２）。ＡポートとＢポートとの間でログインが行われる（ステップ８０４）。このログイン時に設定するＢＢクレジット数は、Ｂポート側に予め設定されたクレジット数（ｎ）にてログインを行う。ＡポートとＢポート間のログイン契機はＡポートからＢポートに対してデータ転送を開始する時である。
【００４２】
Ａポート側のマイクロプロセッサは、ステップ８０２のＢＢクレジット数（ｎ’）と、ログイン時に設定した現在のＢＢクレジット数（ｎ）とを比較し（ステップ８０６）、ｎの方がｎ´より大きい場合は、現在のＢＢクレジット数を変更せず、そのままフレームデータ転送を実施する。それに対しｎ’がｎ以上の場合は、ＢＢクレジット数をｎ’として、ＡポートとＢポートとの間で再度ログインを実施し（ステップ８０８）、ＢＢクレジット数（ｎ´）でＡポートとＢポート間でフレームデータ転送を実施する。この実施形態によれば、データが互いに転送される２つのノード間が長距離であっても、ポート間のデータ転送効率を高く維持することが可能である。
【００４３】
なお、既述の実施形態は、第２の記憶制御装置と第３の記憶制御装置間のデータ転送を例にしたが、中間サイトが無い、２つの記憶制御装置間にも本発明を適用することができる。また、リモートコピーシステムに限らず、ファイバチャネルプロトコルで互いに通信を行うコンピュータシステム・機器に本発明を適用することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明に係わるリモートコピーシステムの実施形態を示すハードウエアブロック図である。
【図２】記憶制御装置のハードウエアブロック図である。
【図３】送信側ポートと受信側ポートとの間（近距離）で行われる、データフレームの転送形態を示すタイミングチャートである。
【図４】送信側ポートと受信側ポートとの間（遠距離）で行われる、データフレームの転送形態を示すタイミングチャートである。
【図５】ＢＢクレジットを増加させた前後にわたる、データフレームの転送形態を示すタイミングチャートである。
【図６】ＢＢクレジット数を、送信側ポートと受信側ポートとの間におけるデータ転送距離に合わせて調整する事を示すフローチャートである。
【図７】図６のフローチャートの他の実施形態を示すフローチャートである。
【図８】さらに他の実施形態を示すフローチャートである。
【図９】図８のフローチャートにおいて使用される、送信側と受信側ＦＣポート間の距離とＢＢクレジット数との関係を示す制御テーブルである。
【符号の説明】
【００４５】
５、６、７  ホストコンピュータ
１０  第１の記憶システム
１５  第２の記憶システム
２０  第３の記憶システム
１１０  第１の記憶システム内の論理ボリューム(ORG１)
１２０  第１の記憶システム内の論理ボリューム(ORG２)
１５０  第２の記憶システム内の論理ボリューム(Data１)
１５１  第２の記憶システム内のジャーナルボリューム(JNL１)
２００  第３の記憶システム内の論理ボリューム(Data２)
２０１  第３の記憶システム内のジャーナルボリューム(JNL２)
２１０、２２０、２４０  接続線
２５０，２６０，２７０  データ転送の流れ
５０    チャネルアダプタ
５５    接続部
６０    ＣＡＣＨＥ
７０    ＳＭ
８０    ディスクアダプタ
１００  ＨＤＤ
４００，４０２  ポート
【図１】
2007115138.tif 000003
【図２】
2007115138.tif 000004
【図３】
2007115138.tif 000005
【図４】
2007115138.tif 000006
【図５】
2007115138.tif 000007
【図６】
2007115138.tif 000008
【図７】
2007115138.tif 000009
【図８】
2007115138.tif 000010
【図９】
2007115138.tif 000011