JP2007115138A - データ転送方法及びリモートコピーシステム - Google Patents
データ転送方法及びリモートコピーシステム Download PDFInfo
- Publication number
- JP2007115138A JP2007115138A JP2005307670A JP2005307670A JP2007115138A JP 2007115138 A JP2007115138 A JP 2007115138A JP 2005307670 A JP2005307670 A JP 2005307670A JP 2005307670 A JP2005307670 A JP 2005307670A JP 2007115138 A JP2007115138 A JP 2007115138A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- control device
- storage
- storage controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2066—Optimisation of the communication load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ファイバチャネルプロトコルにしたがってデータ転送を行う、送信側ポートと受信側ポート間が、複数の記憶制御装置間でリモートコピーシステムを構成している場合など、遠距離であっても、両ポート間でのデータ転送においてスループットの低下或いはそのおそれが無い、データ転送制御を提供する。
【解決手段】第1の記憶制御装置と、第1の記憶制御装置に通信手段を介して接続され、第1の記憶制御装置からデータを受信する、第2の記憶制御装置を備えるリモートコピーシステムにおける、第1の記憶制御装置と第2の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法である。第1の記憶制御装置と第2の記憶制御装置間との間の距離に応じて、データフレームの転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させる、ようにした。
【選択図】図5
【解決手段】第1の記憶制御装置と、第1の記憶制御装置に通信手段を介して接続され、第1の記憶制御装置からデータを受信する、第2の記憶制御装置を備えるリモートコピーシステムにおける、第1の記憶制御装置と第2の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法である。第1の記憶制御装置と第2の記憶制御装置間との間の距離に応じて、データフレームの転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させる、ようにした。
【選択図】図5
Description
本発明は、ファイバチャネルプロトコルによる、複数のノード間のデータ転送を制御する方式に関する。より詳しくは、本発明は、遠距離を介して置かれた複数の記憶制御装置からなるリモートコピーシステムに適用される、ファイバチャネルプロトコルに基づいたデータフレームの転送を制御する方法及び装置である。
コンピュータシステムがあらゆる組織にとって重要な存在である現在の社会では、アプリケーションによる継続したサービスを提供するデータセンタが、災害や事故などのさまざまな要因によって運用不可能な状態に陥った場合、別のデータセンタにおいて継続したサービスを提供することが大変重要である。
そこで、リモートコピーシステムは、一つの記憶制御装置とは離れた地理的位置に他の記憶制御装置を備え、一つの記憶制御装置に格納されたデータの複製を、他の記憶制御装置に格納するようにしている。
このリモートコピーシステムでは、記憶制御装置からリモートサイトである記憶制御装置へのデータ転送は、ファイバチャネルプロトコルに基づいて行われる。イニシエータノードからターゲットノードにファイバチャネルプロトコルで長距離接続を行う場合、FC2レイヤで定義されているBuffer to Buffer Credit(バッファ・ツゥー・バッファクレジット:BBクレジット)を考慮する必要がある。すなわち、ローカルサイトの記憶制御装置が、リモートサイトの記憶制御装置ヘログインしてデータ転送を行う際、リモートサイトの記憶制御装置において、一度に受信可能なデータフレームの個数は、ログイン時のパラメータの一つであるBBクレジットで決定される。
この種の従来技術として、例えば、特開平11−55314号公報(特許文献1)記載のデータ転送制御方法がある。このものは、送信側に送信したフレームシーケンス番号と受信側の処理が終了したフレームシーケンス番号を送信側が判断して、BBクレジット数を決めている。また、受信側に送信した最新のフレームシーケンス番号と受信側で処理が終了した最新のフレームシーケンス番号との差を送信側が把握する事により、受信側のトラフィック状況に応じて送信するクレジット数を増減させることが記載されている。
なお、特許第3517452号特許公報(特許文献2)には、ケーブルの転送遅延時間によるデータ転送効率の低下を防止することを目的とするデータ転送制御方法が記載されている。この公報には、バッファを有する記憶制御部が、記憶手段の容量に相当するデータ要求を発行後、上位処理装置から転送される最初のデータを受信するまでの間に、記憶制御部は上位処理装置に対してデータ要求を発行すること、さらに、ターゲットがケーブル上の転送遅延時間を見越してデータ要求をイニシエータへ返すことが記載されている。
特開平11−55314号公報
特許第3517452号特許公報
ファイバチャネルプロトコルでは、バッファクレジットの値がゼロの場合、送信側FCポートは、R_RDY(Receive Ready)が戻るまで次のフレームを受信側FCポートに送出してはならない。両ポート間の距離が短い場合には、送信側ポートは、受信側ポートに対して、データ転送路の転送データ及びR_RDYの転送路伝播遅延時間に影響されることなくデータ転送を行うことができる。
しかしながら、両ポート間のデータ転送路距離が長い時、受信側ポートから送信側ポートへのR_RDYの到着が回線遅延により遅れるため、バッファ・ツゥー・バッファ・クレジット(BBクレジット)が接続距離(回線遅延)に対して十分なバッファ数を用意できていない場合、送信側FCポートはフレームを送出できない時間が増え、スループットが低下する問題がある。
本発明はこのような問題を解決するために、ファイバチャネルプロトコルにしたがってデータ転送を行う、送信側ポートと受信側ポート間が、複数の記憶制御装置間でリモートコピーシステムを構成している場合など、遠距離であっても、両ポート間でのデータ転送においてスループットの低下或いはそのおそれが無い、データ転送制御を提供することを目的とするものである。
この目的を達成するために、本発明は、ファイバチャネルプロトコルによる、ポート間の連続するデータ転送制御方法において、送信側のノードが受信側のノードに宣言していたBBクレジット数を、送信側ポート間と受信側ポート間の距離に対応させて、増加させる事を特徴とするものである。
本発明の形態の第1は、情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第1の記憶制御装置と、前記第1の記憶制御装置に通信手段を介して接続され、当該記憶制御装置からデータを受信する、第2の記憶制御装置を備えるリモートコピーシステムにおける、前記第1の記憶制御装置と前記第2の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、前記第1の記憶制御装置と前記第2の記憶制御装置間との間の距離に応じて、前記データフレームの転送に適用されるBBクレジット数を増加させる、ようにした事を特徴とするものである。
本発明の形態の第2は、イニシエータノードのポートとターゲットノードのポート間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、前記イニシエータノードが前記ターゲットノードに、予め定められたBBクレジット数に基づいてログインする第1ステップと、前記イニシエータノードのポートと前記ターゲットノードのポート間の距離と前記データ転送に適用されるBBクレジット数とを対応させた制御テーブルに基づいて、前記BBクレジット数を決定する第2ステップと、第1のステップの前記予め定められたBBクレジット数が、第2のステップで決定されたBBクレジット数以下の場合には、前記イニシエータノードのポートと前記ターゲットノードのポート間での前記データフレームの転送に実際に適用されるBBクレジット数を、前記第2のステップで決定された値に設定する第3のステップと、を備えてなることを特徴とするものである。
さらに、本発明の形態の第3は、情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第1の記憶制御装置と、前記第1の記憶制御装置に通信手段を介して接続される第2の記憶制御装置と、前記第1の記憶制御装置の論理ボリュームを前記第2の記憶制御装置の論理ボリュームにリモートコピーするコピー制御回路と、当該記憶制御装置からデータを受信する、第2の記憶制御装置と、前記第1の記憶制御装置と前記第2の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、前記第1の記憶制御回路のデータフレームを前記第2の記憶制御装置にデータ転送を行う転送制御回路と、を備え、前記転送制御回路は、前記第1の記憶制御装置と前記第2の記憶制御装置間の距離に応じて、前記データ転送に適用されるBBクレジット数を増加させるようにしたことを特徴とするものである。
本発明によれば、複数のノードのポート間における、ファイバチャネルプロトコルに基づくデータ転送の際、データ転送やノードでのデータ処理の状態によってバッファ・ツゥー・バッファ・クレジット(BBクレジット)数を増減させたので、効率的なデータ転送を実行することができる。
以上説明したように、本発明によれば、ファイバチャネルプロトコルにしたがってデータ転送を行う、送信側ポートと受信側ポート間が、複数の記憶制御装置間でリモートコピーシステムを構成している場合など、遠距離であっても、両ポート間でのデータ転送においてスループットの低下或いはそのおそれが無い、データ転送制御を実現することができる。
図1は、本発明の実施形態に係る、複数の記憶システムからなるリモートコピーシステムの全体を示す図である。各記憶システムは後述の図2に示すような記憶制御装置から構成されている。第1の記憶システム10は、ホストコンピュータ5と接続線210を介して接続されている。第2の記憶システム15は、第1の記憶システム10と接続線220を介して接続される。この第2の記憶システムは、第1の記憶システム10と第3の記憶システム20との間の中間サイトとして機能するものである。
ホストコンピュータ5と第1の記憶システム10とにより構成される第1のサイトと、ホストコンピュータ6と第2の記憶システム15とによって構成される第2のサイトとを合わせたシステムがローカルサイトに相当する。一方、ローカルサイトから数百キロメートル以上も離れたところに配置されることがあるリモートサイトを構成する第3の記憶システム20は、第2の記憶システムである記憶システム15と接続線240を介して接続されている。第1の記憶システム10と第2の記憶システム15との間、及び、第2の記憶システム15と第3の記憶システム20との間は、ファイバチャネルプロトコルに基づくデータ通信が行われる。
第1の記憶システム10は、論理ボリューム110(ORG1)、 論理ボリューム120(ORG2)を備えており、論理ボリューム110(ORG1)に複製対象となるオリジナルデータが格納されている。第2の記憶システム15は、論理ボリューム110(ORG1)のデータイメージが同期コピーされる論理ボリューム150(Data1)を備えている。リモートサイトの記憶システム20は、複製データが格納される論理ボリューム200(Data2)を備えている。
記憶システム10、15、20内に定義される論理ボリュームの容量や物理的な格納位置(物理アドレス)は、各記憶システムに接続した管理用コンピュータ(SVP)もしくはホストコンピュータ5、6、7を用いて設定可能である。複製対象のデータが蓄積される論理ボリュームは正論理ボリュームであり、複製データが蓄積される論理ボリュームは副論理ボリュームである。一対の正論理ボリュームと副論理ボリュームとからコピーペアが構成される。
図1において、第1の記憶システム10が、ホストコンピュータ5から第1の記憶システム10内の正論理ボリューム110(ORG1)のデータに対するライト命令を受信すると(250)、第1の記憶システム内の正論理ボリューム110(ORG1)のデータが更新される。そして、当該更新された正論理ボリューム110(ORG1)とペアとなっている第2の記憶システム15の内の論理ボリューム150(Data1)も同期更新される。このことにより第2の記憶システム15は、第1の記憶システム10で障害が発生した場合でも、直ちにその業務を引き継ぐことができる。これは、第2の記憶システム15が、ホストコンピュータ5の使用している正論理ボリューム110(ORG1)と同じデータイメージを持つ副論理ボリューム150(Data1)を保持しているからである。
一方、第2サイトの記憶システム15は、論理ボリューム150(Data1)へのデータ更新があると、すなわち、ホストコンピュータ5から論理ボリューム1にデータの更新I/Oがあると、ジャーナルボリューム151(JNL1)にジャーナルデータの保存を行う(260)。 ジャーナルボリューム151(JNL1)に蓄積されたジャーナルデータは、接続線240を介して、遠距離にある第3の記憶システム20内のジャーナルボリューム201(JNL2)に非同期で転送(270)される。第3の記憶システム20は、ジャーナルボリューム201(JNL2)のジャーナルデータを用いて、第2の記憶システム15の論理ボリューム150(Data1)に対応する論理ボリューム200(Data2)を再生する(280)。この動作は、リストア処理或いはリカバリ処理に相当する。
図2に、記憶システム15のハードウエアのブロック構成を示す。記憶システム10及び20も同様な構成を備えている。第2の記憶システム15は、ホストコンピュータ6と接続するための複数のチャネルアダプタ50を有し、これらチャネルアダプタ50は接続線210、220を介してホストコンピュータ6や第3の記憶システム20と接続されている。チャネルアダプタ50は、接続部55を介して、キャッシュメモリ60に接続され、上位装置(情報処理装置)から受領したコマンドを解析し、ホストコンピュータ6が所望するデータのキャッシュメモリ上への読み出しや書き込みを制御する。論理ボリューム110(ORG1)と論理ボリューム120(ORG2)は、複数のHDD100上にわたって設定されている。80はディスクアダプタで、チャネルアダプタ50とHDD100との間のデータの授受を制御する。70は制御情報などをチャネルアダプタ50とディスクアダプタ80に供給させる共有メモリである。
チャネルアダプタ50はディスクアダプタ80、キャッシュメモリ60、共有メモリ70及び管理端末SVPとの間でデータやコマンドの送受信を行う。SVPはチャネルアダプタ50及びディスクアダプタ80に接続されている。ファイルアクセス要求に対応するI/O要求は、チャネルアダプタ50内の制御回路によって出力される。
次に、第2の記憶システムを送信元ノードとし、第3の記憶システムを送信先ノードとして本発明の実施形態について説明する。図2に示すように、第2の記憶システム15のAポート402から第3の記憶システム20のBポート400へデータを転送する時、図3に示すように、例えば、BBクレジット数=3で送信するフレーム数=10とした場合、AポートとBポート間のデータ転送距離が短い場合には、AポートはBポートに対し、データ転送路の転送データ及びR_RDYの転送路伝播遅延時間に影響されることなくデータを転送することができる。
図3においてBBクレジットカウンタは、チャネルアダプタのマイクロプロセッサ112が、ローカルメモリ114のマイクロプログラムに基づいて構成するものであり、AポートからBポートにフレームが転送されると(実線の矢印で表示)、カウンタ値が1つインクリメントされる。
一方、Bポートから、Aポート側のマイクロプロセッサがR_RDYを受信した場合(破線の矢印で表示)にはBBクレジットカウンタ値がデクリメントされる。BBクレジットカウンタ値が3になると、Aポート側のマイクロプロセッサはBポート側の記憶システムにフレームを送信することができない。図3において、(1),(2)・・・・(10)は、AポートからBポートに送信されるフレームであり、(1)´,(2)´・・・・(10)´はBポートからAポートに送信されるR_RDYである。
AポートとBポート間が、リモートコピーシステムのように遠距離になる場合には、図4に示すように、送信側のAポートから受信側のBポートにデータフレームの転送を実行する時、AポートからBポートへデータを転送し、BポートからAポートへR_RDYが返ってくるまでの時間を“t”とすると、BポートからAポートにR_RDYが返ってくるまでの時間(tloss)、AポートではBポートへデータフレームを送信する事が出来ない。この間Bポート側の記憶システムのバッファが空いている状態となり、データの転送効率が低下する。
BBクレジット数は、受受信ポートを有するノード(記憶システム)の受信バッファ量によって決定される。送信側の記憶システムが受信側の記憶システムにログインした際、受信側の記憶システムは送信側の記憶システムにBBクレジット数を通知する。送信側の記憶システムは通知されたBBクレジット数で、受信側の記憶システムにフレームを送信する。なお、バッファとは、フレームデータの一時記記憶領域であり、受信側のキャッシュメモリ、又はチャネルアダプタのローカルメモリが、バッファに該当する。
データ送信の効率を改善するために、送信側の記憶システムが受信側の記憶システムに最初にログインした際のBBクレジット数を、図5に示すように、Bポート側の記憶システムが処理可能な「3」から例えば「6」にして、送信側の記憶システムが受信側の記憶システムにログインし直すことにより、データ転送効率を改善する。すなわち、この間Bポート側の記憶システムのバッファが空いている状態を見越して、通常よりも多いデータフレームを、Aポート側からBポート側に転送する。なお、送信側であるAポートから送信された6つのフレームのうちの3つのフレームはBポート側の記憶システムにて一度に処理することは出来ないので、AポートとBポートとの間にある転送路に3フレーム分のデータをバッファリングする。例えば、転送路途中のファブリックのバッファにバッファリングし、Bポート側の記憶システムでバッファのフレームがHDDに転送されてバッファが開放された後、ファブリックに保存された3つのフレームがBポート側の記憶システムに取り込まれる。
次にデータ転送の動作について、図6のフローチャートに基づいて説明する。このフローチャートは、送信元記憶制御装置に設けられたチャネルアダプタのマイクロプロセッサ112によって実行される。ステップ600において、マイクロプロセッサは、AポートからBポート側の記憶システム20(図2)にログインする。ログイン時に設定されるBBクレジット数は、Bポート側の記憶システムに当初から設定されているBBクレジット数である。ポート間でのログインの契機は、データの転送を開始する時である。
ステップ602では、マイクロプロセッサはAポートからBポートへデータフレームを一つ送信する。ステップ604では、ステップ602において、マイクロプロセッサがAポートを介してBポートへデータフレームを送信した時刻と、BポートからAポートにR_RDYが返ってくる時刻とから、1フレームの処理に要した時間tを算出する。
ステップ606では、マイクロプロセッサは、ステップ604で計算された時間tが、データフレーム送信間隔時間T(図3参照)とから下記式1の演算を行う。
(数1) (BBクレジット数(n)−1)×T<t
数1は、前記tlossの期間、データフレームを送信できるクレジット数であるか否かを判定するものであり、ステップ606が否定判定された場合は、AポートからBポートへのデータの転送が、転送距離に影響されることなく、適切に実行されているとAポート側のマイクロプロセッサが判断し、BBクレジット数を変更することなく処理を終了する。
(数1) (BBクレジット数(n)−1)×T<t
数1は、前記tlossの期間、データフレームを送信できるクレジット数であるか否かを判定するものであり、ステップ606が否定判定された場合は、AポートからBポートへのデータの転送が、転送距離に影響されることなく、適切に実行されているとAポート側のマイクロプロセッサが判断し、BBクレジット数を変更することなく処理を終了する。
一方、ステップ606が肯定判定された場合は、tlossの間も,AポートからBポートへデータフレームが送信できるBBクレジット数にはなっていないので、マイクロプロセッサは、Bポートに再ログインして、(BBクレジット数(n)−1×T)がtに最も近い整数を新たなBBクレジット数として、これを受信側の記憶システムの共有メモリ或いはBポートのチャネルプロセッサのローカルメモリに設定する(ステップ608)。これにより、ファイバチャネルプロトコルに基づいてデータ送信が行われる、複数のノード間の距離が長い場合でも、スループットの低下を防いで、複数のノード間のデータ送信が可能となる。
図7は、AポートからBポートへのデータ転送処理を行う際の、BBクレジット数の設定に係る他の実施形態を示すフローチャートである。ステップ600−608までは、図5に同じ番号で示されるステップと同様である。ステップ700では、Bポート側のマイクロプロセッサは、ステップ608で決定されたBBクレジット数で送信されたデータフレームの数がBポート側で受信可能な個数以上であり、Bポート側でのデータフレームの処理が停滞して受信バッファのオーバーフローが発生し、データ転送が失敗しているかどうかを監視し、オーバーフローが発生していない場合は、ステップ702に進む。
ステップ700において、オーバーフローが発生した場合は、送信側の記憶システムのマイクロプロセッサは、Aポートからの送信フレーム数が過剰と判断し、BBクレジット数をステップ608で設定したBBクレジット数から1をデクリメントし、Bポート側でのオーバーフローが無くなるまで前記処理を繰返し実施し、データ転送で使用するBBクレジット数を減少させ、データ転送のリトライ動作を試行する(ステップ704)。なお、オーバーフローは、Bポート側の記憶制御装置から該当する制御コードがAポート側の記憶制御装置に送られ、Aポート側の記憶制御装置のチャネルアダプタが判定する。
ステップ702において、BBクレジット数をステップ608で決定した数から減少させているかどうか、Aポート側のマイクロプロセッサが判断し、減少させていない場合はステップ608で宣言したBBクレジット数でデータ転送を行う。もしBポート側でオーバーフローが発生し、BBクレジット数を減少させている場合は、ステップ706に進む。Aポート側のマイクロプロセッサは、BBクレジット数を減少させてから、Bポート側で送信されたデータフレームの処理回数が複数回(この場合、10回以上とする)終了したか否かを判断する。10回以上処理が行われていない場合、10回以上の処理が完了されるまでステップ706が繰り返される。
ステップ706で、複数回の処理が完了した場合は、Aポート側のマイクロプロセッサは、Bポート側でのオーバーフローが完全に解消されたと認識し、AポートからBポートへ再度ログインし、BBクレジット数をステップ608で決定された整数値に再び増やして、Bポートへデータフレームの転送処理を行う。以後、Bポート側でAポート側からのデータフレームの処理にオーバーフローが発生しない場合には、ステップ700とステップ702を経て図7の処理が終了する。Bポート側でオーバーフローが発生した場合には、ステップ700,704,702,706,708を経由して、BBクレジット数が増加・減少される。
この実施形態によれば、記憶制御装置間のデータ転送において、受信側のデータ処理が停滞し、受信側バッファでオーバーフローが発生しても、受信側のデータ処理状況に合せて、BBクレジット数を調整できることにより、記憶制御システム間で効率良くデータ転送を実現することができる。
図8は、さらに他の実施形態に係るフローチャートである。データ送信を行うAポートとデータ受信を行うBポートとのデ−タ転送距離が予め判明している場合に、距離に対応するBBクレジット数をあらかじめAポート側の記憶性制御装置のSVP(図2参照)に管理者が入力し、これを、データ転送を行う時に使用する制御データテーブルとして共有メモリ70に登録しておく(ステップ800)。
図9は、このテーブルの一例であり、AポートとBポート間の距離と、通信において使用する帯域とに応じて、BBクレジット数(n´)が定められている。両ポート間の距離が長距離であるほど、かつ、帯域の周波数が大きいほどBBクレジット数(n´)が多く設定されている。
作成したデータテーブルに基づいて、Aポート側である送信側の記憶制御装置はキャッシュ60に、データ転送を行う距離に対応するBBクレジット数(n´)をあらかじめ記憶しておく(ステップ802)。AポートとBポートとの間でログインが行われる(ステップ804)。このログイン時に設定するBBクレジット数は、Bポート側に予め設定されたクレジット数(n)にてログインを行う。AポートとBポート間のログイン契機はAポートからBポートに対してデータ転送を開始する時である。
Aポート側のマイクロプロセッサは、ステップ802のBBクレジット数(n’)と、ログイン時に設定した現在のBBクレジット数(n)とを比較し(ステップ806)、nの方がn´より大きい場合は、現在のBBクレジット数を変更せず、そのままフレームデータ転送を実施する。それに対しn’がn以上の場合は、BBクレジット数をn’として、AポートとBポートとの間で再度ログインを実施し(ステップ808)、BBクレジット数(n´)でAポートとBポート間でフレームデータ転送を実施する。この実施形態によれば、データが互いに転送される2つのノード間が長距離であっても、ポート間のデータ転送効率を高く維持することが可能である。
なお、既述の実施形態は、第2の記憶制御装置と第3の記憶制御装置間のデータ転送を例にしたが、中間サイトが無い、2つの記憶制御装置間にも本発明を適用することができる。また、リモートコピーシステムに限らず、ファイバチャネルプロトコルで互いに通信を行うコンピュータシステム・機器に本発明を適用することができる。
5、6、7 ホストコンピュータ
10 第1の記憶システム
15 第2の記憶システム
20 第3の記憶システム
110 第1の記憶システム内の論理ボリューム(ORG1)
120 第1の記憶システム内の論理ボリューム(ORG2)
150 第2の記憶システム内の論理ボリューム(Data1)
151 第2の記憶システム内のジャーナルボリューム(JNL1)
200 第3の記憶システム内の論理ボリューム(Data2)
201 第3の記憶システム内のジャーナルボリューム(JNL2)
210、220、240 接続線
250,260,270 データ転送の流れ
50 チャネルアダプタ
55 接続部
60 CACHE
70 SM
80 ディスクアダプタ
100 HDD
400,402 ポート
10 第1の記憶システム
15 第2の記憶システム
20 第3の記憶システム
110 第1の記憶システム内の論理ボリューム(ORG1)
120 第1の記憶システム内の論理ボリューム(ORG2)
150 第2の記憶システム内の論理ボリューム(Data1)
151 第2の記憶システム内のジャーナルボリューム(JNL1)
200 第3の記憶システム内の論理ボリューム(Data2)
201 第3の記憶システム内のジャーナルボリューム(JNL2)
210、220、240 接続線
250,260,270 データ転送の流れ
50 チャネルアダプタ
55 接続部
60 CACHE
70 SM
80 ディスクアダプタ
100 HDD
400,402 ポート
Claims (11)
- 情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第1の記憶制御装置と、前記第1の記憶制御装置に通信手段を介して接続され、当該記憶制御装置からデータを受信する、第2の記憶制御装置を備えるリモートコピーシステムにおける、前記第1の記憶制御装置と前記第2の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、
前記第1の記憶制御装置と前記第2の記憶制御装置間との間の距離に応じて、前記データフレームの転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させる、ようにしたデータ転送方法。 - 前記第1の記憶制御装置が前記第2の記憶制御装置にログインするステップと、
前記第1の記憶制御装置から前記第2の記憶制御装置に、所定のデータフレームを送信するステップと、
前記データフレームの送信時刻から、前記第2の記憶制御装置から前記第1の記憶制御装置がレシーブ・レディを受信する時刻までの経過時間を計測するステップと、
前記経過時間に基づいて、前記バッファ・ツゥー・バッファ・クレジット数を増加させるステップと、を備えてなる、請求項1記載のデータ転送方法。 - 前記第1の記憶制御装置が、
前記バッファ・ツゥー・バッファ・クレジット数の初期値が、前記第2の記憶制御装置が前記第1の記憶制御装置に前記レシーブ・レディを送信してから、前記第1の記憶制御装置が前記レシーブ・レディを受信するまでの間に、前記第2の記憶制御装置にデータフレームを送信できるだけの値か否かを判定する第1ステップと、
この判定が否定された場合、前記バッファ・ツゥー・バッファ・クレジット数を初期値から増加させる第2ステップと、
を実行する、請求項2記載のデータ転送方法。 - 前記第1のステップは、前記バッファ・ツゥー・バッファ・クレジット数の初期値(n)、前記第1の記憶制御装置から送信される複数のデータフレームの送信間隔(T)、前記第2の記憶制御装置が前記第1の記憶制御装置に前記レシーブ・レディを送信してから、前記第1の記憶制御装置が前記レシーブ・レディを受信するまでの間(t)に基づく、下記式Iによって行われる、請求項3記載のデータ転送方法。
(n−1)×T<t・・・・・(I) - 前記増加後のバッファ・ツゥー・バッファ・クレジット数が、(n−1)×Tにて算出した値について前記tに最も近い整数である、請求項4記載のデータ転送方法。
- 前記第1の記憶制御装置が前記第2の記憶制御装置に、前記増加されたバッファ・ツゥー・バッファ・クレジット数のもとで再ログインされる請求項3記載のデータ転送方法。
- 前記第2の記憶制御装置のバッファにおいて、前記第1の記憶制御装置から送られた前記データフレーム処理に停滞が発生した場合、前記第1の記憶制御装置は、前記増加されたバッファ・ツゥー・バッファ・クレジット数を減少させる、請求項3記載のデータ転送方法。
- 前記第1の記憶制御装置が、前記減少したバッファ・ツゥー・バッファ・クレジット数に基づいて前記第2の記憶制御装置に再ログインする第3のステップと、
前記第1の記憶制御装置は、前記データフレームの処理の停滞が解消されない場合には、前記バッファ・ツゥー・バッファ・クレジット数をさらに減少させて、第2の記憶制御装置に再ログインして前記データフレームの転送を行う第4のステップと、を備える、請求項7記載のデータ転送方法。 - 前記第1の記憶制御装置は、前記データフレームの処理の停滞が解消された場合、減少された前記バッファ・ツゥー・バッファ・クレジット数を減少前の値に増加させる第5のステップを備える請求項8記載のデータ転送方法。
- イニシエータノードのポートとターゲットノードのポート間で、ファイバチャネルプロトコルにしたがって、データフレームの転送を行うデータ転送方法において、
前記イニシエータノードが前記ターゲットノードに、予め定められたバッファ・ツゥー・バッファ・クレジット数に基づいてログインする第1ステップと、
前記イニシエータノードのポートと前記ターゲットノードのポート間の距離と前記データ転送に適用されるバッファ・ツゥー・バッファ・クレジット数とを対応させた制御テーブルに基づいて、前記バッファ・ツゥー・バッファ・クレジット数を決定する第2ステップと、
第1のステップの前記予め定められたバッファ・ツゥー・バッファ・クレジット数が、第2のステップで決定されたバッファ・ツゥー・バッファ・クレジット数以下の場合には、前記イニシエータノードのポートと前記ターゲットノードのポート間での前記データフレームの転送に実際に適用されるバッファ・ツゥー・バッファ・クレジット数を、前記第2のステップで決定された値に設定する第3のステップと、
を備えてなるデータ転送方法。 - 情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第1の記憶制御装置と、
前記第1の記憶制御装置に通信手段を介して接続される第2の記憶制御装置と、
前記第1の記憶制御装置の論理ボリュームを前記第2の記憶制御装置の論理ボリュームにリモートコピーするコピー制御回路と、
当該記憶制御装置からデータを受信する、第2の記憶制御装置と、
前記第1の記憶制御装置と前記第2の記憶制御装置との間で、ファイバチャネルプロトコルにしたがって、前記第1の記憶制御回路のデータフレームを前記第2の記憶制御装置にデータ転送を行う転送制御回路と、
を備え、
前記転送制御回路は、前記第1の記憶制御装置と前記第2の記憶制御装置間の距離に応じて、前記データ転送に適用されるバッファ・ツゥー・バッファ・クレジット数を増加させるようにした、リモートコピーシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005307670A JP2007115138A (ja) | 2005-10-21 | 2005-10-21 | データ転送方法及びリモートコピーシステム |
US11/331,084 US7441142B2 (en) | 2005-10-21 | 2006-01-13 | Data transfer method and remote copy system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005307670A JP2007115138A (ja) | 2005-10-21 | 2005-10-21 | データ転送方法及びリモートコピーシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007115138A true JP2007115138A (ja) | 2007-05-10 |
Family
ID=37986656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005307670A Pending JP2007115138A (ja) | 2005-10-21 | 2005-10-21 | データ転送方法及びリモートコピーシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7441142B2 (ja) |
JP (1) | JP2007115138A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044608A (ja) * | 2008-08-13 | 2010-02-25 | Nec Corp | ディスクアレイ装置間の遠隔データコピー方法、システムおよびプログラム |
JP2010117992A (ja) * | 2008-11-14 | 2010-05-27 | Nec Corp | データ複製システム、データ複製方法、プログラム、及びディスクアレイ装置 |
JP2011509443A (ja) * | 2007-11-30 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ファイバ・チャネル通信における永続情報単位ペーシング・プロトコルの使用に関する方法、システム、および装置 |
US8593948B1 (en) | 2012-12-04 | 2013-11-26 | Hitachi, Ltd. | Network device and method of controlling network device |
JP2014230072A (ja) * | 2013-05-22 | 2014-12-08 | 株式会社リコー | データ通信デバイス、データ通信装置及びデータ通信方法 |
US10491544B2 (en) | 2017-08-30 | 2019-11-26 | Fujitsu Limited | Consistency control of a logical path passing through a relay device |
US10938741B2 (en) | 2015-12-04 | 2021-03-02 | International Business Machines Corporation | Resource allocation for a storage area network |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8683000B1 (en) * | 2006-10-27 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Virtual network interface system with memory management |
US8332375B2 (en) | 2007-08-29 | 2012-12-11 | Nirvanix, Inc. | Method and system for moving requested files from one storage location to another |
US10079782B2 (en) * | 2016-03-31 | 2018-09-18 | Mellanox Technologies Tlv Ltd. | Facilitating communication of data packets using credit-based flow control |
CN111416776B (zh) * | 2019-01-07 | 2024-07-09 | 华为技术有限公司 | 传输数据的方法和网络设备 |
US11144230B2 (en) | 2019-02-18 | 2021-10-12 | International Business Machines Corporation | Data copy amount reduction in data replication |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3517452B2 (ja) | 1993-10-05 | 2004-04-12 | 株式会社日立製作所 | データ転送制御方法 |
US5610745A (en) * | 1995-10-26 | 1997-03-11 | Hewlett-Packard Co. | Method and apparatus for tracking buffer availability |
US5751715A (en) * | 1996-08-08 | 1998-05-12 | Gadzoox Microsystems, Inc. | Accelerator fiber channel hub and protocol |
JPH1155314A (ja) | 1997-07-30 | 1999-02-26 | Nippon Telegr & Teleph Corp <Ntt> | データ転送制御方法 |
US7085846B2 (en) * | 2001-12-31 | 2006-08-01 | Maxxan Systems, Incorporated | Buffer to buffer credit flow control for computer network |
US7471628B2 (en) * | 2002-06-10 | 2008-12-30 | Cisco Technology, Inc. | Intelligent flow control management to extend fibre channel link full performance range |
US6859437B2 (en) * | 2002-11-05 | 2005-02-22 | Nortel Networks Limited | Method and system for extending the reach of a data communication channel using a flow control interception device |
-
2005
- 2005-10-21 JP JP2005307670A patent/JP2007115138A/ja active Pending
-
2006
- 2006-01-13 US US11/331,084 patent/US7441142B2/en active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011509443A (ja) * | 2007-11-30 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ファイバ・チャネル通信における永続情報単位ペーシング・プロトコルの使用に関する方法、システム、および装置 |
JP2010044608A (ja) * | 2008-08-13 | 2010-02-25 | Nec Corp | ディスクアレイ装置間の遠隔データコピー方法、システムおよびプログラム |
JP2010117992A (ja) * | 2008-11-14 | 2010-05-27 | Nec Corp | データ複製システム、データ複製方法、プログラム、及びディスクアレイ装置 |
US8593948B1 (en) | 2012-12-04 | 2013-11-26 | Hitachi, Ltd. | Network device and method of controlling network device |
WO2014087449A1 (en) | 2012-12-04 | 2014-06-12 | Hitachi, Ltd. | Network device and method of controlling the network device |
JP2014230072A (ja) * | 2013-05-22 | 2014-12-08 | 株式会社リコー | データ通信デバイス、データ通信装置及びデータ通信方法 |
US10938741B2 (en) | 2015-12-04 | 2021-03-02 | International Business Machines Corporation | Resource allocation for a storage area network |
US10491544B2 (en) | 2017-08-30 | 2019-11-26 | Fujitsu Limited | Consistency control of a logical path passing through a relay device |
Also Published As
Publication number | Publication date |
---|---|
US7441142B2 (en) | 2008-10-21 |
US20070094530A1 (en) | 2007-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007115138A (ja) | データ転送方法及びリモートコピーシステム | |
US8433862B2 (en) | Storage system for adjusting asynchronous copy load based on cache activity rate | |
US7143254B2 (en) | Remote copy system | |
JP4236049B2 (ja) | データのミラー・コピーを提供するための方法、システム、およびプログラム | |
US8595185B2 (en) | Storage disaster recovery using a predicted superset of unhardened primary data | |
JP2008250695A (ja) | ディスクアレイコントローラ及びこれを備えたディスクアレイシステム | |
US8495014B2 (en) | Asynchronous remote copy system and storage control method | |
JP4902538B2 (ja) | 通信網を介してデータセットを更新するためのシステム、方法及び装置 | |
EP3272082B1 (en) | System and methods for message redundancy | |
US7945816B1 (en) | Comprehensive end-to-end storage area network (SAN) application transport service | |
JPH10198607A (ja) | データ多重化システム | |
US20080133695A1 (en) | Information processing system and backing up data method | |
US10140246B2 (en) | Optimizing remote direct memory access (RDMA) with cache aligned operations | |
US7890715B2 (en) | Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller | |
US20040198223A1 (en) | Flow control in a bluetooth wireless communication system | |
US20190042099A1 (en) | Apparatus, method, and program product for data integrity during asynchronous remote copy | |
EP2220820B1 (en) | Usage of persistent information unit pacing protocol in fibre channel communications | |
US7818447B1 (en) | End-to-end broadcast based flow control in a switch fabric | |
JP6912105B2 (ja) | ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置 | |
KR101982416B1 (ko) | 복수의 데이터 노드를 이용하여 tcp 통신을 통해 데이터를 분산하여 저장하는 시스템을 위한 소프트웨어 정의 네트워크와, 이에 포함되는 스위치 및 그 제어 방법 | |
CN110347535B (zh) | 一种提升双控制器写性能的方法 | |
EP3813280B1 (en) | Forward error correction handover method, apparatus, and computer storage medium | |
US11936490B2 (en) | L2 switch, communication method, and communication program | |
JP2006100919A (ja) | Tcpコネクション中継方法およびtcpコネクション中継装置 | |
JP2010117992A (ja) | データ複製システム、データ複製方法、プログラム、及びディスクアレイ装置 |