JP2006221487A - リモートコピーシステム - Google Patents

リモートコピーシステム Download PDF

Info

Publication number
JP2006221487A
JP2006221487A JP2005035404A JP2005035404A JP2006221487A JP 2006221487 A JP2006221487 A JP 2006221487A JP 2005035404 A JP2005035404 A JP 2005035404A JP 2005035404 A JP2005035404 A JP 2005035404A JP 2006221487 A JP2006221487 A JP 2006221487A
Authority
JP
Japan
Prior art keywords
write data
storage device
write
storage devices
data set
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
Application number
JP2005035404A
Other languages
English (en)
Inventor
Takanari Iwamura
卓成 岩村
Takashi Arakawa
敬史 荒川
Kenta Futase
健太 二瀬
Yoshihiro Azumi
義弘 安積
Yusuke Hirakawa
裕介 平川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005035404A priority Critical patent/JP2006221487A/ja
Priority to US11/118,927 priority patent/US7437389B2/en
Priority to EP20050255898 priority patent/EP1691291B1/en
Priority to CN201110263663.9A priority patent/CN102446124B/zh
Priority to CN 200510132236 priority patent/CN1821974B/zh
Publication of JP2006221487A publication Critical patent/JP2006221487A/ja
Priority to US12/206,325 priority patent/US8032726B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2064Error 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 while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Abstract

【課題】
計算機が使用するデータをストレージシステムが格納し、ストレージシステムがこのデータを別のストレージシステムに転送して別のストレージシステムにデータの複製を保持するシステムにおいて、ライトデータにライト時刻を付与しない計算機がストレージシステムに書き込んだデータについても、複製の整合性を保持する。
【解決手段】
正ストレージシステムは、ライト要求にライト時刻が付与されている場合はライト時刻を記録すると共に受領したライトデータにこのライト時刻を付与し、ライト時刻が付与されていない場合は記録されているライト時刻を受領したライトデータに付与し、ライト時刻付きのライトデータを別のストレージシステムへ転送する。副ストレージシステムはライト時刻に基づき副ストレージシステム内の論理ボリュームへのライトデータを格納する。
【選択図】 図1

Description

本発明は、計算機が使用するデータを格納し、計算機からデータの更新を受けるストレージシステムに関し、特に、複数のストレージシステム間でデータの複製を保持する処理に関する。
特許文献1には、計算機が使用するデータをストレージシステムが格納し、遠隔地に設置された別のストレージシステムにこのデータのコピーを、データのライト順を反映しつつ格納する技術が開示されている。特許文献1に示された処理では、正側のホスト計算機からライトデータを受領した正側のストレージシステムは、ライトデータ受領後直ちに、ライトデータの受領完了を、正側のホスト計算機に報告する。このあと正側のホスト計算機はライトデータのコピーを、正側のストレージシステムから読み出す。このライトデータには、ライトデータについてのライト要求が発行された時刻であるライト時刻が付与されていて、ライトデータが正側のホスト計算機に読み出される際には、ライト時刻も正側のホスト計算機に渡される。さらに正側のホスト計算機はライトデータとライト時刻を副側のホスト計算機に転送する。ライトデータとライト時刻を受け取った副側のホスト計算機は、ライト時刻などの情報を副側のストレージシステムにある制御用のボリュームに書き込み、さらに各ライトデータに付与されたライト時刻を参照してライト時刻順にライトデータを副側のストレージシステムに書き込む。ライト時刻順にライトデータを副側のストレージシステムに書き込むことで、副側のストレージシステムに整合性のあるデータを保持することができる。
ここで、もしライト順を無視してライトデータを副側のストレージシステムに反映(副側のストレージシステムにライトデータを格納することを、以下、データを反映する、とも表現する。)していくと、例えば銀行口座のデータベースにおいて口座Aから口座Bに預金を移す処理において、口座Aの減額と口座Bの増額を1つのトランザクションとして再現できず、例えば副側のストレージシステムにおいて、口座Aの預金額を減額する前に口座Bの預金額を増額している期間が生じ得る。この場合、副側のストレージシステムにおいて口座Aの預金額が減額される前に、正側のストレージシステムに障害が発生して使用不可能になると、副側のストレージシステムには整合性のないデータが残ることになり、そのあと副側のホスト計算機で業務を引き継いだとしても正しくない処理を行うことになる。従ってライト順を守って副側のストレージシステムにライトデータを格納することにより、整合性のあるデータを保持することができ、関連のあるデータに対する関連のある操作間の順序の正しさが保証される。
特許文献2には、計算機が使用するデータをストレージシステムが格納し、このストレージシステムが格納されたデータを遠隔地に設置された別のストレージシステムにもコピーすることで、一方のストレージシステムが天災や火災などで使用不能になっても別のストレージシステムでデータを保持する技術が開示されている。
特許文献3には、計算機が使用するデータをストレージシステムが格納し、このストレージシステムが格納されたデータを遠隔地に設置された別のストレージシステムにもコピーし、さらにこの別のストレージシステムが受信したデータを第三のストレージシステムにもコピーすることで、データに対するより高いレベルの冗長性を得る技術が開示されている。
欧州特許出願公開第0672985号明細書 米国特許第6092066号公報 米国特許第6209002号公報
特許文献1に開示の技術では、ホスト計算機からのライトデータを副側のストレージシステムに反映する際に、ライトデータにホスト計算機が付与したライト時刻を用いてライト順序を守っているため、ホスト計算機がライトデータにライト時刻を付与しない場合は、副側のストレージシステムに格納しているデータの複製の整合性を保持することができない。いわゆるメインフレームのホスト計算機ではライト要求にライト時刻を付与できるが、いわゆるオープンシステムのホスト計算機ではライト要求にライト時刻を付与しない。従って、特許文献1に開示の技術ではオープンシステムのホスト計算機からのI/Oに対して、副側のストレージシステムに格納されるデータの複製の整合性を保持することができない。
また特許文献2および特許文献3にも、ホスト計算機にオープンシステムのホスト計算機が含まれている場合の副側のストレージシステムに格納されるデータの複製の整合性保持に関しての開示はない。
そこで、計算機が使用するデータをストレージシステムが格納し、このストレージシステムが格納しているデータを別のストレージシステムに転送して別のストレージシステムでもデータの複製を保持する計算機システムにおいて、オープンシステムのホスト計算機のようにライトデータにライト時刻を付与しないホスト計算機がストレージシステムに書き込むデータに対しても、別のストレージシステム(即ち、副側のストレージシステム)に格納されるデータの複製の整合性を保持する技術を開示する。
システムは、計算機に接続され、計算機から受信するデータが格納される第一の論理ボリュームを有する第一の記憶装置システムと、第一の記憶装置システムに接続され、第一の論理ボリュームに格納されるデータの複製データが格納される第二の論理ボリュームを有する第二の記憶装置システムとを有する。
第一の記憶装置システムは、計算機から受信したライトデータに時刻情報を付与し、ライトデータと時刻情報とを第二の記憶装置システムに送信し、第二の記憶装置システムは、第一の記憶装置システムから受信したライトデータを、該ライトデータに付与されている時刻情報に従って第二の論理ボリュームに格納する。
計算機が使用するデータをストレージシステムが格納し、このストレージシステムがデータを別のストレージシステムに転送してデータの複製を別のストレージシステムでも保持する計算機システムにおいて、オープンシステムのホスト計算機のようにライトデータにライト時刻を付与しないホスト計算機がストレージシステムに格納したデータについても、別のストレージシステム(副側のストレージシステム)に格納されるデータの複製の整合性を保持することができる。
以下、本発明の実施形態を説明する。尚、本発明は以下に説明する実施形態によって限定されるものではない。
図1は第一の実施形態における計算機システムの構成例を示す図である。
本システムは記憶装置(ストレージシステムともいう。)A100、メインフレームホスト計算機A(MFAともいう。)600、オープンシステムホスト計算機A700、記憶装置B190、メインフレームホスト計算機B(MFBともいう。)690、オープンシステムホスト計算機B790からなる。記憶装置A100とMFA600、オープンシステムホストA700はそれぞれI/Oパス900で接続されている。記憶装置B190とMFB690、オープンシステムホストB790もそれぞれI/Oパス900で接続されている。MFB690とオープンシステムホストB790は、通常時はスタンバイ系である。MFA600とMFB690とオープンシステムホストA700とオープンシステムホストB790はネットワーク920で接続されている。
MFA600とMFB690にはOS610とアプリケーションソフトウェア(APP)620が存在する。またオープンシステムホストA700とオープンシステムホストB790にもOS710とAPP720が存在する。MFA600、MFB690、オープンシステムホストA700、若しくはオープンシステムホストB790のAPPからOSを介して発行されるI/O要求がI/Oパス900を介して記憶装置A100や記憶装置B190に発行される。ここではDBMSなどのソフトウェアもAPP620やAPP720に含む。
記憶装置A100は制御部200、制御用メモリ300、キャッシュ400を有する。制御部200はライトデータ受領部A210とライトデータ転送部A220を備える。制御部200は制御用メモリ300にアクセスして、制御用メモリに格納されている情報を利用して後述の処理を行う。キャッシュ400は主にリードデータやライトデータを格納する高速なメモリであり、記憶装置Aはこれを使用することによって高いI/O処理性能を実現することができる。尚、これらの部位は耐障害性、可用性のために二重化され、バックアップ電源が用意されていることが望ましい。
記憶装置B190も制御部200、制御メモリ300、キャッシュ400を有する。制御部200はライトデータ受領部B211とライトデータ反映指示部230と、ライトデータ反映部240を備える。制御メモリ300とキャッシュ400の役割は前述の記憶装置A100の説明と同様である。
記憶装置A100と記憶装置B190は、MFA600、オープンシステムホストA700、MFB690、オープンシステムホストB790に対し、データの記憶領域として論理ボリューム500を提供する。1つの論理ボリューム500は物理的には1つの装置である必要はなく、例えば複数の磁気ディスク装置に分散した記憶領域の集合であってもよい。また論理ボリュームは、例えばミラー構成や、パリティデータを付加したRAID構成などの冗長性を持たせた構成であってもよい。
記憶装置A100は上記のように論理ボリューム500を提供するが、MFA600とオープンシステムホストA700とでは、記憶装置A100が提供する論理ボリューム500のタイプが異なり、またI/Oパス900の論理的および/または物理的インタフェースが異なる。記憶装置B190、MFB690、オープンシステムホストB790についても同様である。MFA600からのライト要求630には、ライト要求630の時刻がライト時刻650として含まれているが、オープンシステムホストA700からのライト要求730には含まれていない。
記憶装置A100と記憶装置B190は転送パス910で接続されている。記憶装置A100と記憶装置B190は後述のように一方の論理ボリュームの内容の複製をもう一方の論理ボリュームに保持することができる。本実施例の例では記憶装置A100の論理ボリューム500の内容の複製が、記憶装置B190の論理ボリューム500に保持され、記憶装置A100の論理ボリューム500に対して行われた更新の内容は転送パス910を介して記憶装置B190に送られ、記憶装置B190の論理ボリューム500にも格納される。記憶装置A100と記憶装置B200は複製について後述のように、論理ボリューム間の関係を示す管理情報を持ち、これを用いて上記の複製の保持が行われる。論理ボリューム間の関係および後述する論理ボリュームグループの関係はユーザの必要に応じてユーザにより設定される。
本実施例では、論理ボリューム間の関係はグループ化されている。論理ボリュームのグループの一例を表す概念図を図2に示す。破線は論理ボリューム500間または論理ボリュームグループ間の複製関係、即ち正側(ソースともいう。)と副側(ターゲットともいう。)の対応関係を示している。本実施例ではこのような複数の論理ボリュームを有する論理ボリュームグループの単位で、記憶装置A100におけるライトデータの順序や、記憶装置間のライトデータの転送や、記憶装置B190における反映を管理していて、また上記のような処理に必要なリソースの割り当ても、論理ボリュームグループ単位で行っている。
もしこれらを個々の論理ボリューム毎に行うと、管理対象が多く管理が煩雑になり、また処理に必要なリソースも処理対象が多いため増大する可能性がある。一方、記憶装置A100全体で1つの単位としてしまうときめこまやかな管理が行えなくなる。特にメインフレームホストとオープンシステムホストでは論理ボリューム500に対する性能などの要求が大きく異なるため、これらは別のグループに分けてそれぞれで処理を行うようにし、また処理に対するユーザからの操作やチューニング条件の設定などを別々に受けられるようにすることが好ましい。このような論理ボリュームグループを設けることで、ユーザや業務の必要に応じた、柔軟な複製処理および管理を提供することができる。
続いて、MFA600とオープンシステムホストA700が使用する論理ボリューム500を異なる論理ボリュームグループに属するようにしている場合において、各論理ボリューム500へ行われたデータのライトに対する処理と、記憶装置B190へのデータの転送および記憶装置B190におけるデータの反映の処理について説明する。これらの処理によって記憶装置A100の各論理ボリューム間のライト順序どおりに複製への反映を行い、各複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を常に維持できるようにする。
図3は、記憶装置A100が複製を作成している論理ボリューム500(ソースとなる論理ボリューム500)に対してMFA600またはオープンシステムホストA700からライト要求を受領した場合の処理を示した図である。ライトデータ受領部A210はMFA600またはオープンシステムホストA700からライト要求を受領する(ステップ1000)。ライトデータ受領部A210は受領したライト要求にライト時刻650が含まれていれば(ステップ1001)、ライトデータをキャッシュ400に格納し(ステップ1002)、シーケンシャル番号をライトデータに与えてライトデータ管理情報330を作成する(ステップ1003)。このときライトデータ受領部A210はライト時刻650をライトデータ管理情報330に記録する。またシーケンシャル番号を付与する際に、ライトデータ受領部A210は、ライト対象の論理ボリュームが属する論理ボリュームグループのグループ管理情報310からシーケンシャル番号を参照し、これに1を加えた値をライトデータのシーケンシャル番号としてライトデータ管理情報330に記録し、この新しいシーケンシャル番号をグループ管理情報310に記録する。
図4は各論理ボリュームグループのグループ管理情報310の一例を示す図である。グループIDは記憶装置A100において論理ボリュームグループを特定するためのIDである。シーケンシャル番号は当該論理ボリュームグループに属する論理ボリュームに対するライトデータに連続的に与えられる番号であり、初期値は例えば0で、順次1ずつ増やした番号がライトデータに与えられていく。論理ボリューム数は当該論理ボリュームグループに属している論理ボリュームの数である。論理ボリューム番号は記憶装置A100において当該論理ボリュームグループに属している論理ボリュームのIDである。相手記憶装置IDは、当該論理ボリュームグループと対となる論理ボリュームグループを有し、当該論理ボリュームグループに属する論理ボリュームの内容の複製を格納する記憶装置(本実施例では記憶装置B190)を特定するID(シリアル番号など)である。相手グループIDは相手記憶装置(記憶装置B190)において、当該論理ボリュームグループの対となる論理ボリュームグループ、即ち当該論理ボリュームグループに属する論理ボリュームの内容の複製を格納している論理ボリューム500(相手論理ボリュームとも呼ぶ。)が属する論理ボリュームグループを特定するIDである。
図5は各ライトデータを管理するためのライトデータ管理情報330の一例を示す図である。論理ボリュームIDはライトデータが格納される論理ボリュームのIDである。ライトアドレスは前記論理ボリュームにおける当該ライトデータのライト開始アドレスである。ライトデータ長は当該ライトデータの長さである。ライトデータポインタはキャッシュ400における当該ライトデータの格納開始アドレスである。シーケンシャル番号はライトデータが書き込まれる論理ボリュームが属する論理ボリュームグループにおいて、ライトデータに連続的に与えられている番号である。ライト時刻については後述する。転送必要ビットは当該ライトデータを記憶装置Bに転送する必要があるか否かを示すビットであり、ライトデータ受領部A210がライトデータを受領してライトデータ管理情報330を作成する際にONにする。ライトデータ管理情報330は例えば論理ボリュームグループ毎にリスト管理される。尚、論理ボリュームID、ライトアドレス、ライトデータ長は記憶装置AがMFA600若しくはオープンシステムホストA700から受信するライトコマンドから求めることができる。従って、ライトデータ受領部A210はライトコマンド内の情報も用いてライトデータ管理情報330を作成することとなる。
図3に戻って、ステップ1004でライトデータ受領部A210はライト時刻650を制御用メモリ300にライト時刻情報340として記録する。
ステップ1001でライト要求にライト時刻が含まれていない場合には、ライトデータ受領部A210はライトデータをキャッシュ400に格納し(ステップ1005)、ライト時刻情報340を参照してライトデータにライト時刻を与え、またグループ管理情報310を参照してシーケンシャル番号を与えてライトデータ管理情報330を作成する(ステップ1006)。この際ライトデータ受領部A210は、ライトデータ管理情報300のライト時刻にはその時点でライト時刻情報340に記録されている時刻を記録し、シーケンシャル番号は前述のステップ1003と同様の手順で求めて、ライトデータ管理情報300に記録する。
最後にステップ1007でMFA600またはオープンシステムホストA700にライト完了報告を行う。上記の処理には、キャッシュ400に格納されたライトデータを論理ボリューム500の物理的記録媒体へ書き込んだり、記憶装置B190へライトデータを転送したりといった時間のかかる処理は含まれず、これらは後に適当なタイミングで非同期に行う。よってライトデータ受領部A210がライト要求を受領してからライト完了を報告するまでの時間は短時間ですみ、MFA600またはオープンシステムホストA700に対する高速な応答を実現することができる。
図6は記憶装置A100から記憶装置B190へのライトデータの転送処理の一例を示す図である。ライトデータ転送部A220はライトデータ管理情報330のリストを参照して、転送が必要なライトデータを求め、更にライトデータ管理情報330とグループ管理情報310と相手論理ボリューム情報320を参照して、記憶装置B190へ転送されるライトデータに関する情報を求める(ステップ1100)。この情報には、ライトデータ管理情報330から取得したライトアドレス、ライトデータ長、シーケンシャル番号、ライト時刻と、相手論理ボリューム情報320から取得した相手記憶装置ID、相手論理ボリューム番号と、論理ボリュームIDを用いてグループ管理情報310から参照した相手グループ番号が含まれる。
図7は各論理ボリュームの相手論理ボリューム情報320の一例を示す図である。論理ボリュームIDはソース側の論理ボリューム(実施例1では記憶装置Aが有する論理ボリューム)のIDである。相手記憶装置IDは、当該論理ボリュームと対となっており当該論理ボリュームに格納されるデータの複製を格納する論理ボリューム(相手論理ボリュームともいう。)を有する記憶装置(実施例1では記憶装置B190)を特定するID(シリアル番号など)である。相手論理ボリュームIDは相手記憶装置(実施例1では記憶装置B190)において、相手論理ボリューム(即ち、論理ボリュームに格納されるデータの複製を格納するターゲット側の論理ボリューム500)を特定するIDである。
次に図6に戻って、ライトデータ転送部A220はライトデータとステップ1100で求めた情報を記憶装置B190に転送する(ステップ1101)。記憶装置Bのライトデータ受領部B211は、受信したライトデータと情報をキャッシュ400に格納し(ステップ1102)、受信した情報からライトデータ管理情報330を作成する(ステップ1103)。記憶装置B190のライトデータ管理情報330の項目は、記憶装置A100のライトデータ管理情報330のものと同じである。記憶装置B190のライトデータ管理情報330の内容に関しては、論理ボリュームIDは複製を格納するターゲット側の論理ボリューム500のIDであり、ライトデータポインタは記憶装置B190のキャッシュ400におけるライトデータの格納開始アドレスであり、転送必要ビットは常にOFFであることが、記憶装置A100のライトデータ管理情報330とは異なるが、他は同じとなる。
記憶装置B190はグループ管理情報310も持つが、この項目も記憶装置A100のものと同じである。グループ管理情報310の内容に関しては、グループIDは複製を格納するターゲット側の論理ボリューム500が属する論理ボリュームグループを特定するIDであり、相手記憶装置IDはソースとなる記憶装置(実施例1では記憶装置A100)のIDであり、相手グループIDは相手記憶装置(実施例1では記憶装置A100)において相手論理ボリューム(即ちソースとなる論理ボリューム500)が属する論理ボリュームグループを特定するIDとなる。また記憶装置B190は相手論理ボリューム情報320も持つが、これの項目も記憶装置A100のものと同じであって、内容に関しては、論理ボリュームIDは複製を格納する論理ボリューム500を特定するIDであり、相手記憶装置IDはソースとなる記憶装置(記憶装置A100)のIDを特定するIDであり、相手論理ボリュームIDは相手記憶装置(記憶装置A100)において相手論理ボリューム(ソースとなる論理ボリューム500)を特定するIDとなる。
図6に戻って、次にライトデータ受領部B211は到着済みライト時刻情報350を更新する(ステップ1104)。
図8は各グループの到着済みライト時刻情報350の一例を示す図である。グループIDは記憶装置B190において論理ボリュームグループを特定するIDである。到着済みライトデータの最新ライト時刻は、記憶装置B190の論理ボリュームグループについて、ライトデータ受領部B211が受領したライトデータに与えられていたライト時刻のうち最も現時刻に近い最新の時刻である。但しシーケンシャル番号順で見て一部未到着のライトデータがある場合(途中抜けているライトデータがある場合)は、シーケンシャル番号順で連続している最後のライトデータ(抜けの直前のライトデータ)までを時刻比較の範囲として、これらのライトデータに付与されているライト時刻のうち最新の時刻が、到着済ライト時刻情報として記録される。
ライトデータ転送部A220とライトデータ受領部B211との間のライトデータの転送においては、複数ライトデータを並列に同時に転送してもよい。このためライトデータ受領B211はライトデータをシーケンシャル番号順に受領するとは限らないが、後述するようにライトデータは各論理ボリュームグループごとに、シーケンシャル番号順に反映される(即ち記憶装置Bの論理ボリュームに格納される)ため、更新順序どおりに(即ち記憶装置Aにおけるライトデータのライト順通りに)複製に反映される。
再び図6に戻って、最後にライトデータ受領部B211は、ライトデータ転送部A220にライトデータ受領完了を報告する(ステップ1105)。これを受信した記憶装置Aのライトデータ転送部Aは、ライトデータ受領完了の報告に対応するライトデータについて、ライトデータ管理情報330の転送必要ビットをOFFにする。この時点で記憶装置A100は、記憶装置Bへの転送用に保持していた転送済のライトデータをキャッシュから破棄できる。
図9は記憶装置B190におけるライトデータの反映処理(即ち、ライトデータの論理ボリュームへの格納処理)の一例を示す図である。
ライトデータ反映指示部B230は記憶装置B190の全論理ボリュームグループの到着済みライト時刻情報350を調べ、この中で最も過去の時刻を求める(ステップ1200)。ライトデータ反映指示部B230は求めた時刻よりライト時刻が前のライトデータの論理ボリュームへの反映をライトデータ反映部B240に指示(若しくは許可)する(ステップ1201)。この指示(若しくは許可)を受けたライトデータ反映部240は、ライトデータ管理情報330とグループ管理情報310を参照して、ライト時刻順に、また同じライト時刻であれば各論理ボリュームグループにおけるシーケンシャル番号順に、指示された時刻範囲のライトデータ(即ちライト時刻がステップ1200で求めた時刻より以前のライトデータ)を、複製を格納している論理ボリューム500に対して反映する(即ちターゲット側の論理ボリュームにライトデータを格納する。)(ステップ1202)。ステップ1202において指示された範囲のライトデータを全て反映し終わったら、ライトデータ反映部B240は指示された処理の完了をライトデータ反映指示部230に報告する(ステップ1203)。記憶装置Bは、反映したライトデータはキャッシュ400から破棄できる。
以上ステップ1200からステップ1203の処理によって、1サイクルの反映処理が終了する。記憶装置Aから転送されてくるライトデータを継続して反映するためにライトデータ反映指示部B230とライトデータ反映部B240は上記のサイクルを繰り返す。
上記の処理により、メインフレームホストによるデータの更新とオープンシステムホストによるデータの更新の間の順序を守って、記憶装置B190の更新されたデータの複製を格納し、各複製間のデータ整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を維持することができる。
すなわち記憶装置Aは、メインフレームホストから受信するライト要求630に含まれているライト時刻650を利用して、オープンシステムホストから受信するライトデータにもライト時刻を付与し、更に受信したライトデータをライト時刻と共にシーケンシャル番号をも用いて管理する。副側の記憶装置Bでは、反映可能な(即ちターゲット側の論理ボリュームに格納可能な)ライトデータを、シーケンシャル番号とライト時刻を用いて指定し、指定されたライトデータをターゲット側の論理ボリュームに格納する。この結果、途中のバッファリングや転送は並列であっても、メインフレームホストから書き込まれたデータとオープンシステムホストから書き込まれたデータとの間の書き込み順序を守った上で、副側の記憶装置B190の論理ボリュームにコピーデータを格納することができる。
また、例えば記憶装置A100に障害が発生し、先に更新されたライトデータが記憶装置B190に届かなかったとしても、届かなかったライトデータのライト時刻以降のライト時刻のライトデータにはついては、シーケンシャル番号が連続しないため、反映が許可されない。従って副側の記憶装置Bにおいてデータ更新の抜けは生じず、正側の記憶装置Aと副側の記憶装置Bとの間の整合性が確保される。この結果、正側の記憶装置Aに障害が生じた場合であっても、MFB690やオープンシステムホストB790は整合性のとれた記憶装置B190の論理ボリューム500の内容を用いて業務を引き継ぐことができる。
また上記の処理では記憶装置Aが受信する全てのライトデータにライト時刻が与えられるため、データを使用するホストがメインフレームホストかオープンシステムホストかにかかわらず、任意の論理ボリューム500においてどのライト時刻までのライトデータが記憶装置Aから記憶装置Bへ転送済みか、記憶装置Bに到着ずみか、記憶装置Bにおいて反映済み(即ち論理ボリュームに格納済)か、等の情報を知ることができる。
尚、上記のステップ1202において処理負荷を軽減するために、ライト時刻順は無視して各論理ボリュームグループにおけるシーケンシャル番号順に、指示された時刻範囲のライトデータを、複製を格納している論理ボリューム500に格納しても良い。この場合には、ステップ1203での処理完了報告のタイミングで複製間(即ち副側の記憶装置Bの論理ボリューム間)の整合性が保持されることになる。処理完了報告と次の処理完了報告との間の期間も整合性のあるデータを保持したい場合は、複製を格納している論理ボリューム500のスナップショットを処理完了報告のタイミングで取得すればよい。このようなスナップショットを取得する方法としては例えば米国特許6658434号に開示の技術がある。この方法では記憶装置B190の別の論理ボリューム500(副ボリューム)にスナップショットを取得すべきデータを格納している論理ボリューム500(正ボリューム)の格納内容をコピーし、正ボリュームが更新されたら副ボリュームにも更新内容を反映することとなるが、本実施形態においては、一旦正ボリュームのスナップショットを副ボリュームに格納した時点で、反映を停止して、副ボリュームの内容を静止、確定させる。
また上記のライトデータの転送処理において、最初にライトデータ転送部A220がライトデータ受領部B211に対してライトデータを転送するとしたが、最初にライトデータ受領部B211がライトデータ転送部220に対してライトデータの転送要求を発行し、この要求を受領したライトデータ転送部A220がライトデータ受領部B211に対してライトデータを転送してもよい。ライトデータの転送要求を用いることで、記憶装置B190の処理の状況や負荷、ライトデータの蓄積量などに応じて、ライトデータの転送のペースを調整することが可能となる。
また上記の処理ではライトデータを格納する場所をキャッシュ400としたが、別にライトデータ格納用の論理ボリューム500を用意して、この論理ボリューム500にライトデータを格納してもよい。一般にキャッシュ400に対し論理ボリューム500は大容量を用意できるため、より多くのライトデータを蓄積することが可能となる。
また上記の処理ではライト時刻情報340をメインフレームホストから受信するライト時刻650により更新するとしたが、記憶装置A100が内部に時計を有し、この時計を参照してライト時刻情報340を常時更新してもよい。この場合に、記憶装置A100が複製を作成している論理ボリューム500(ソースとなる論理ボリューム500)に対するライト要求を、MFA600またはオープンシステムホストA700から受領した際に実行する処理の一例を図10に示す。この処理は図3に示す処理に対応する処理である。
ライトデータ受領部A210はMFA600またはオープンシステムホストA700からライト要求を受領する(ステップ1300)。ライトデータ受領部A210はライトデータをキャッシュ400に格納し(ステップ1301)、記憶装置Aが有する時計合わせて常時更新されているライト時刻情報340を参照してライトデータにライト時刻を与え、またグループ管理情報310を参照してライトデータにシーケンシャル番号を与えてライトデータ管理情報330を作成する(ステップ1302)。最後にMFA600またはオープンシステムホストA700にライト完了報告を行う(ステップ1303)。
また上記の処理では時刻をライト時刻情報340やライトデータ管理情報300のライト時刻や到着済みライト時刻情報350に用いるとしたが、この際使用される時刻は必ずしも年、月、日、時、分、秒、ミリ秒、マイクロ秒、ナノ秒やもしくは通算時間といった形式でなくても良く、シーケンシャルな番号を用いてもよい。特に記憶装置A100がみずからライト時刻情報340を更新する場合の、記憶装置A100が複製を作成している論理ボリューム500(ソースとなる論理ボリューム500)に対するライト要求を、MFA600またはオープンシステムホストA700から受領した場合の処理の一例を図11に示す。この処理は図3や図10に対応する処理である。尚、図11においては、ライト時刻情報340の初期値は例えば0で、下記のように順次1ずつ増やした番号をライト時刻としてライトデータに与えていく。
ライトデータ受領部A210はMFA600またはオープンシステムホストA700からライト要求を受領する(ステップ1400)。ライトデータ受領部A210はライトデータをキャッシュ400に格納し(ステップ1401)、ライト時刻情報340から番号を読み出しこれに1を加えた値をライト時刻としてライトデータに与え(ステップ1402)、ステップ1402において1を加えられた後の値をライト時刻情報340として記録してライト時刻情報340を更新する(ステップ1403)。またグループ管理情報310を参照してシーケンシャル番号をライトデータに与えて(ステップ1404)、ライトデータ管理情報330を作成する(ステップ1405)。ライトデータ受領部A210は、最後にMFA600またはオープンシステムホストA700にライト完了報告を行う(ステップ1406)。
このようにライト時刻としてシーケンシャルな番号を用いる場合は、記憶装置B190での処理においてライトデータ受領部B211が受信したライトデータに付与されているライト時刻を用いて到着済みライト時刻情報350を更新し、ライトデータ反映指示部B230が各論理ボリュームグループの到着済みライト時刻情報350をチェックして記憶装置Bの論理ボリュームに格納可能なライトデータの範囲を指定する代わりに、ライトデータ反映部240はライトデータ管理情報330のライト時刻に記録されるシーケンシャルな番号を参照して、記憶装置Bに到着しているライトデータを番号順に番号を飛ばすことなく論理ボリューム500に反映(即ち格納)するようにしてもよい。
図12は第二の実施形態における計算機システムの構成例を示す図である。
実施例1との違いはMFA600とオープンシステムホストA700は記憶装置C180にI/Oパス900を介して接続しており、記憶装置C180は転送パス910を介して記憶装置A100に接続している点である。本実施例では記憶装置C180の論理ボリューム500に格納されているデータの複製を記憶装置A100の論理ボリューム500に格納する。そしてさらに記憶装置Aの論理ボリューム500に格納されているデータの複製を実施例1に説明した処理と同様の処理で記憶装置B190の論理ボリューム500に格納する。すなわち本実施例では記憶装置C180の論理ボリューム500に格納されているデータの複製が記憶装置A100と記憶装置B180に格納される。
かかる処理を実現するために、記憶装置C180は実施例1で説明した記憶装置A100と同様の構成や各種情報などを備える。但し、ライトデータ受領部C212がライトデータに対するライト完了通知を送信するタイミングは実施例1とは異なる。ライトデータ受領部は下記の様に、記憶装置Aのライトデータ受領部Aから受領完了通知を受信した後にMFA600若しくはオープンシステムホストAにライト完了通知を送信する。その他の記憶装置Cの構成は実施例1で説明した記憶装置Aと同様である。
MFA600やオープンシステムホストA700から論理ボリューム500へのライト要求630やライト要求730を受領した記憶装置C180は、受領したライトデータ640やライトデータ740を記憶装置C内の論理ボリュームに格納するとともに、記憶装置Aのライトデータ受領部A210に転送する。このとき実施例1で説明した処理とは異なり、記憶装置C180はライトデータ受領部A210からの受領完了通知を待ってからMFA600若しくはオープンシステムホストA700にライト完了通知を送ることで、記憶装置C180はライトしたライトデータ640やライトデータ740の複製が記憶装置A100に存在することを保証する。これにより例えば記憶装置C180や転送パス910に障害が発生し記憶装置A100にデータが転送できなくなったとしても、記憶装置A100に転送されなかったライトデータはMFA600やオープンシステムホストA700にとってライトされていないことになるし、記憶装置A100に受領されたライトデータは確実にライトされていることになるので、MFA600上のAPP620やオープンシステムホストA700上のAPP720の期待通りの複製が記憶装置A100に存在することとなる。
さらに記憶装置A100が受領したライトデータを記憶装置B190に全て送った後は、記憶装置B190にも期待通りの複製が存在するので、MFB690やオープンシステムホストB790は、MFA600やオープンシステムホストA700が実行していた処理が中断した時点においてMFA600若しくはオープンシステムホストA700が書き込み済みだと認識していたデータと同じ期待通りのデータを用いて業務を引き継ぐことができる。
実施例1で最初に示したようにライト時刻情報340をライトデータに付与されているライト時刻650により更新する場合、記憶装置C100のライトデータ受領部C212は受領したライト要求630にライト時刻650が含まれていたならば、ライトデータ管理情報330にライト時刻も記録し、ライトデータ転送部C222はライトデータ転送時にライト時刻も記憶装置A100のライトデータ受領部A210に転送する。
ライトデータと共にライト時刻を受領したライトデータ受領部A210は、実施例1でメインフレームホストから受信したライト要求630を処理したのと同様の方法で、記憶装置Cから受信したライトデータとライト時刻を処理することで、記憶装置A内の論理ボリュームに格納される各複製間の整合性を維持し、メインフレームホストから発行されるライトデータとオープンシステムホストから発行されるライトデータとの間でも整合性を維持することができる。
これにより大規模災害などで記憶装置C180と記憶装置A100の両方に障害が発生したとしても、MFB690やオープンシステムホストB790は整合性のとれた記憶装置B190の論理ボリューム500の内容を用いて業務を引き継ぐことができる。
実施例1の最後で示したように記憶装置A100がみずからライト時刻情報340を更新する場合は、記憶装置C180からのライト時刻の転送は不要で、記憶装置Cからライトデータを受領したライトデータ受領部A210はライトデータを実施例1の最後で示した図11の処理と同様に処理すればよい。
尚、記憶装置A100に接続して記憶装置A100にライトデータの複製を送信し、記憶装置Aにライトデータの複製を格納させる記憶装置C180が複数台存在しても良い。
また図示していないメインフレームホストおよびオープンシステムホストが記憶装置A100にI/Oパスで接続している場合には、記憶装置Aに接続されるメインフレームホストやオープンシステムホストは、MFA600やオープンシステムホストA700や記憶装置C180に障害が発生した場合などに、整合性のとれた記憶装置A100の論理ボリューム500の内容を用いて、MFA600やオープンシステムホストA700が実行していた業務を引き継ぐことができる。
図13は実施例3における計算機システムの構成例を示す図である。
実施例1との主な違いは記憶装置A100と記憶装置B190がそれぞれ複数台あり、MFA600とオープンシステムホストA700が複数台の記憶装置A100それぞれにI/Oパス900を介して接続し、MFB690とオープンシステムホストB790が複数の記憶装置B190それぞれにI/Oパス900を介して接続し、MFA600に管理ソフトA800が存在し、MFB690に管理ソフトB890が存在する点である。その他の差異については以下に説明していく。
以下にMFA600とオープンシステムホストA700が使用する論理ボリューム500について、各論理ボリューム500へ行われたライトに対する処理と、記憶装置B190へのライトデータの転送および記憶装置B190におけるライトデータの反映(即ちライトデータの論理ボリュームへの格納)処理について説明する。これらの処理によって複数の記憶装置Bが有する複数の論理ボリューム各々に格納されている複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータとの間でも共通の整合性を維持できるようにする。
図14は記憶装置A100が複製を作成している論理ボリューム500(ソースとなる論理ボリューム500)に対するライト要求を、MFA600またはオープンシステムホストA700から受領した場合の処理の一例を示した図である。
ライトデータ受領部A210はMFA600またはオープンシステムホストA700からライト要求を受領する(ステップ1500)。ライトデータ受領部A210はライトデータをキャッシュ400に格納し(ステップ1501)、また実施例1と同様にグループ管理情報310を参照してシーケンシャル番号を取得してライトデータ管理情報330を作成する(ステップ1502)。最後にMFA600またはオープンシステムホストA700にライト完了報告を行う(ステップ1503)。グループ管理情報310は実施例1のものと同じである。本実施例のライトデータ管理情報330については後で説明する。
図15は管理ソフトA800が記憶装置A100に対してライト要求の処理の保留とマーカ作成を指示した場合の処理の一例を示した図である。後で説明するように、記憶装置A100の論理ボリューム500に対する更新間でこの処理が行われたタイミングで、のちに各複製への反映の同期が行われて、複数の記憶装置B190に格納されている複製間の整合性が確立される。
まず管理ソフトA800は全ての記憶装置A100にライト要求の処理の保留を指示する(ステップ1600)。この指示を受けてライトデータ受領部A210はライト要求の処理を保留し(ステップ1601)、保留を開始したことを管理ソフトA800に報告する(ステップ1602)。管理ソフトA800は指示した記憶装置A100全てから保留開始の報告があるのを確認してから次の処理に進む(ステップ1603、ステップ1604)。
次に管理ソフトA800はマーカ作成を全ての記憶装置A100に指示する(ステップ1605)。この指示にはパラメータとしてマーカ番号が含まれる。マーカ番号については後述する。この指示を受けてマーカ作成部A250は受領したマーカ番号を制御メモリ300に格納されている図16に示すマーカ番号情報360に記録し(ステップ1606)、情報伝達用の特殊なライトデータ(以降マーカと呼ぶ)を全論理ボリュームグループに対して作成する(ステップ1607)。尚、マーカとはライトデータ管理情報300にマーカ属性を設定したライトデータである。
図17は本実施例におけるライトデータのライトデータ管理情報330の一例を示す図であり、実施例1のライトデータ管理情報330に対してマーカ属性ビットとマーカ番号が加わっている。
マーカ属性ビットは当該ライトデータがマーカであることを示すビットであり、通常のライトデータではOFFであるが、マーカに対してはONに設定される。マーカ番号には前述のマーカ番号が設定される。マーカに対しても通常のライトデータ同様にグループにおけるシーケンシャル番号が取得され与えられる。すなわちマーカの作成に際してマーカ作成部A250はライトデータ受領部Aの処理と同様にグループのグループ管理情報310からシーケンシャル番号を参照し、これに1を加えた値を前記マーカのシーケンシャル番号としてライトデータ管理情報330に記録し、新しいシーケンシャル番号をグループ管理情報310に記録する。このようにマーカにはシーケンシャル番号が与えられて通常のライトデータ同様に記憶装置B190に転送されるが、マーカは論理ボリューム500には反映されない。
マーカ番号はマーカがどの指示に基づいて作成されたかを特定するための番号であり、例えば初期値は0であって管理ソフトA800はマーカ作成指示を発行する際にマーカ番号を1ずつ増やしてから発行する。管理ソフトA800はマーカ番号情報360に記録されたマーカ番号を読み出して、現在のマーカ番号を確認することができる。
図15に戻って、全論理ボリュームグループに対してマーカを作成したマーカ作成部A250はマーカ作成完了を管理ソフトA800に報告する(ステップ1608)。管理ソフトA800は指示した記憶装置A100全てからマーカ作成完了の報告があるのを確認してから次の処理に進む(ステップ1609、ステップ1610)。
管理ソフトA800は全ての記憶装置A100にライト要求の処理保留の解除を指示する(ステップ1611)。この指示を受けてライトデータ受領部A210はライト要求の処理保留を解除し(ステップ1612)、保留解除したことを管理ソフトA800に報告する(ステップ1613)。
図18は記憶装置A100から記憶装置B190へのライトデータの転送処理の一例を示す図である。この処理は実施例1の図6で説明した転送処理とほぼ同様であるが、ライトデータ受領部B211による到着済みライト時刻情報350の更新が行われないことが異なる。尚記憶装置B190のライトデータ管理情報330は前述の図17に示すライトデータ管理情報と同じであり、ステップ1703においては、ライトデータのマーカ属性の有無やマーカ番号もライトデータ管理情報330に記録される。
図19は記憶装置B190における論理ボリュームへのライトデータの反映(格納)処理の一例を示す図である。まず管理ソフトB890は全ての記憶装置B190に、複製を格納する論理ボリューム500へのマーカまでのライトデータの反映を指示する(ステップ1800)。この指示を受けたライトデータ反映部B240はライトデータ情報330とグループ管理情報310を参照して、複製を格納する論理ボリューム500に対してマーカまでのライトデータを各グループにおけるシーケンシャル番号順に反映する(ステップ1801)。即ちライトデータ反映部B240は、ライトデータをシーケンシャル番号順に論理ボリュームに格納してゆき、マーカ属性のライトデータ(即ちマーカ)を見つけたらデータの格納処理を停止し、反映完了を管理ソフトB890に報告する(ステップ1802)。上記の処理においてライトデータ反映部Bはマーカのライトデータ管理情報330に記録されているマーカ番号を調べ、マーカ番号が正しいか(前述のマーカ番号決定ルールと同じルールに従っているか、例えば初期値が0からなる番号で、前回のマーカ番号に対して1加えられた番号であるか)を判定し、正しくない場合は管理ソフトB890に異常を報告し、正しい場合はマーカ番号をマーカ番号情報360に記録して正常を報告する。管理ソフトB890はマーカ番号情報360に記録されたマーカ番号を読み出して、現在のマーカ番号を確認することができる。
管理ソフトB890は指示した記憶装置B190全てから正常な反映完了の報告があるのを確認してから次の処理に進む(ステップ1803、ステップ1804)。
次に管理ソフトB890は全ての記憶装置B190に、複製を格納する論理ボリューム500のスナップショットの更新を指示する(ステップ1805)。この指示を受けたスナップショット取得部B260は論理ボリューム500の内容のスナップショットを更新する(ステップ1806)。このようなスナップショットを取得する方法としては例えば米国特許6658434号に開示の技術がある。尚、本実施形態では実施例1で説明した方法と同様、スナップショット取得の時点でスナップショットデータを格納するボリュームへのライトデータの反映を停止して、スナップショットデータを格納するボリュームの内容を静止させる。スナップショットを更新したスナップショット取得部B260はスナップショット更新完了を管理ソフトB890に報告する(ステップ1807)。管理ソフトB890は指示した記憶装置B190全てからスナップショット更新完了の報告があるのを確認してから次の処理に進む(ステップ1808、ステップ1809)。
管理ソフトA800と管理ソフトB890はそれぞれ上記ステップ1600からステップ1613、及びステップ1800からステップ1809の処理を繰り返す。これにより記憶装置A100の論理ボリューム500への更新が、記憶装置B190の論理ボリューム500に定常的に反映される。
上記のように処理することによって、MFA600とオープンシステムホストA700によるデータ更新をとめて、更新状況を複数記憶装置間で統一するタイミング(チェックポイント)としてマーカを作成し、複数の副側の記憶装置Bが有する複数の副側論理ボリュームに格納されている複製データへの更新データの反映(即ち格納)はマーカが書き込まれる直前の時点で同期させることができるので、各複製間の整合性について、このマーカの時点でメインフレームホストのデータとオープンシステムホストのデータで共通の整合性を得ることができる。さらに複製データへの更新データの反映が、複数の複製データ間で同期した時点でスナップショットを取得して、共通の整合性を持つ複製をスナップショットボリュームに保持しているので、MFB690やオープンシステムホストB790はスナップショットボリュームに格納されている整合性のとれたデータを用いて業務を引き継ぐことができる。
上記の処理では管理ソフトB890の指示に基づいて記憶装置B190がスナップショットを更新するとしたが、記憶装置Bが複数の複製データ間で更新データの反映を同期させるタイミングでスナップショットを更新してもよい。この場合の記憶装置B190における複製へのライトデータの反映処理の一例を図20に示す。
管理ソフトB890は全ての記憶装置B190に、複製を格納する論理ボリューム500へのマーカまでのライトデータの反映を指示する(ステップ1900)。この指示を受けたライトデータ反映部B240は図19で説明した処理と同様にライトデータを反映し、マーカを見つけたら反映を停止しスナップショット取得部B260に通知する(ステップ1901)。通知を受けたスナップショット取得部B260は論理ボリューム500の内容のスナップショットを更新し、ライトデータ反映部B240に通知する(ステップ1902)。通知をうけたライトデータ反映部B240は反映完了を管理ソフトB890に報告する(ステップ1903)。管理ソフトB890は指示した記憶装置B190全てからスナップショット更新完了の報告があるのを確認してから次の処理に進む(ステップ1904、ステップ1905)。
また上記の処理では管理ソフトA800または管理ソフトB890からの各種指示に対し記憶装置A100または記憶装置B190が処理完了を報告するとしているが、管理ソフトA800または管理ソフトB890が前記指示に対して処理状態を定期的に記憶装置A100または記憶装置B190に問い合わせることで管理ソフトA800または管理ソフトB890が記憶装置A100または記憶装置B190の各種処理完了を検出してもよい。
また上記の処理では記憶装置A100から記憶装置B190へのライトデータの転送処理を継続して行っているが、記憶装置A100はマーカを作成してライトデータを転送した後はライトデータの転送を停止し、さらに記憶装置B190は受領したマーカを反映処理で検出した後(マーカ以前のライトデータは反映した後)はライトデータの反映を停止し、すなわち記憶装置A100と記憶装置B190による複製処理を停止状態(サスペンド状態と呼ぶ)にしてもよい。ただし記憶装置B190は管理ソフトB890からの指示に関係なくマーカ検出まではライトデータの反映を行うとする。この場合、マーカ作成指示はサスペンド状態移行指示と等価となり、全ての記憶装置B190がサスペンド状態に移行した時点で、記憶装置B190の論理ボリューム500には共通の整合性のある複製が作成される。複製処理を再開する際は論理ボリューム500のスナップショットを取得してから、管理ソフトA800または管理ソフトB890から複製処理再開を指示して記憶装置A100と記憶装置B190による複製処理を再開させる。この結果共通の整合性を持つ複製をスナップショットが格納されているデータに保持することができ、MFB690やオープンシステムホストB790は整合性のとれたデータを用いて業務を引き継ぐことができる。
また上記の処理において管理ソフトA800や管理ソフトB890と記憶装置A100や記憶装置B190との間の各種の指示、報告及び情報の送受信は、I/Oパス900経由で実行されてもよく、ネットワーク920経由で実行されてもよい。マーカ作成指示が記憶装置A100へのライト要求の形式で行われる場合は、ライト要求の処理保留の対象外となる論理ボリューム500を記憶装置A100に設け、マーカ作成指示はこの論理ボリューム500に対して行われる。
また上記の処理において記憶装置A100と記憶装置B190は一対一で接続している必要はなく、それぞれの論理ボリューム500および論理ボリュームグループがソースおよび複製として対応していれば、同じ台数である必要もない。
また上記の構成では管理ソフトA800はMFA600に存在し、管理ソフトB890はMFB690に存在するとしたが、管理ソフトA800および管理ソフトB890はMFA600、MFB690、オープンシステムホストA700、オープンシステムホストB790、記憶装置A100、記憶装置B190のいずれに存在してもかまわない。また記憶装置A100や記憶装置B190と接続する図示されていない他の計算機に存在してもよい。
上記の処理ではライトデータ反映部B240が正しいマーカ番号を決定するとしたが、正しいマーカ番号を管理ソフトBが反映指示のパラメータとして記憶装置B190に指定してもよい。また管理ソフトA800が記憶装置A100に対してライト要求の処理の保留とマーカ作成を指示する際に一意なマーカ番号を決定して記憶装置A100に指定するとともに管理ソフトB890に通知し、このマーカ番号を管理ソフトB890が記憶装置B190に指定してもよい。
上記の処理において、管理ソフトA800が記憶装置A100に対してライト要求の処理の保留とマーカ作成を指示する契機は、APP620やAPP720の処理に連動して決定されてもよい。例えばDBMSのチェックポイント作成の契機でライト要求処理の保留とマーカ作成を指示することで、チェックポイントで複製への反映の同期が行われることになる。従って、チェックポイントにおける正側の論理ボリューム500の格納内容が副側の論理ボリューム中の複製に反映された状態でスナップショットが取得され、MFB690やオープンシステムホストB790はこの状態のデータを用いて業務を引き継ぐことができる。
また管理ソフトA800が記憶装置A100に対してライト要求の処理の保留および保留解除を指示する代わりに、OS610やOS710が管理ソフトA800と連携することにより、MFA600やオープンシステムホストA700が記憶装置A100へのライト要求の発行を保留したり、再開したりすることとしてもよい。
また実施例1で説明したように、キャッシュ400とは別にライトデータ格納用の論理ボリューム500を用意して、このライトデータ格納用論理ボリューム500にライトデータを格納してもよい。またライトデータの転送処理においても、最初にライトデータ受領部B211がライトデータ転送部220に対してライトデータの転送要求を発行し、この要求を受領したライトデータ転送部A220がライトデータ受領部B211に対してライトデータを転送してもよい。
本実施例で説明した処理はライト要求にライト時刻が含まれていなくても実施可能である。
図21は実施形態4における計算機システムの構成例を示す図である。
実施例3との違いはMFA600とオープンシステムホストA700は複数の記憶装置C180各々にI/Oパス900を介して接続しており、複数の記憶装置C180は転送パス910を介して複数の記憶装置A100に接続している点である。さらに複数の記憶装置C180はネットワーク920で他の計算機や装置に接続している。尚、実施例4の記憶装置A及び記憶装置Bは、実施例3における記憶装置A及び記憶装置Bと同様の構成、機能を有する。
本実施例では実施例2と同様に記憶装置C180の論理ボリューム500に格納されたデータの複製を記憶装置A100の論理ボリューム500に格納する。すなわち記憶装置C180は実施例2と同様の構成や各種情報などを備えて、MFA600やオープンシステムホストA700から論理ボリューム500へのライト要求を受領した記憶装置C180は、受領したライトデータを格納するとともに、記憶装置Aのライトデータ受領部A210に転送するが、このとき実施例2と同様にライトデータ受領部A210からの受領完了通知を待ってからMFA600やオープンシステムホストA700にライト完了通知を送り、記憶装置C180はライトしたライトデータ640やライトデータ740の複製が記憶装置A100に存在することを保証する。
さらに記憶装置Aは記憶装置Cの論理ボリューム500に格納されているデータの複製を、実施例3で説明した処理と同様の処理で記憶装置B190の論理ボリューム500に格納する。上記のような処理により、実施例2で説明したように、例えば記憶装置C180や転送パス910に障害が発生し記憶装置A100にデータが転送できなくなったとしても、MFB690やオープンシステムホストB790は、MFA600やオープンシステムホストA700が処理を中断した際記憶装置Cに格納されていると認識している期待通りの内容を記憶装置Bから得ることができるので、このデータを用いて業務を引き継ぐことができる。
上記の処理において、管理ソフトA800は、実施例3で記憶装置A100に対して行った処理と同様に、全ての記憶装置C180に対して、ライト要求の処理の保留や、マーカ作成や、ライト要求の処理保留の解除の指示を行う。実施例3のステップ1600と同様に、まず管理ソフトA800は全ての記憶装置C180にライト要求の処理の保留を指示する。この指示を受けた記憶装置C180のライトデータ受領部C212は実施例3のステップ1601とステップ1602で記憶装置A100が行った処理と同様に、ライト要求の処理を保留し、管理ソフトA800に保留開始を報告する。前述のようにこの時点でMFA600やオープンシステムホストA700に対してライト完了通知済みのライトデータは記憶装置A100に転送済みであり、記憶装置A100においてライトデータのライトデータ管理情報300が作成されている。管理ソフトA800は実施例3のステップ1603とステップ1604と同様に、指示した記憶装置C180全てから保留開始の報告があるのを確認してから次の処理に進む。
次に管理ソフト800は実施例3のステップ1605と同様に、全ての記憶装置C180にマーカ作成を指示する。この指示を受領した記憶装置C180は複製を格納する記憶装置A100マーカ作成指示を転送パス910またはネットワーク920を介して伝達する。マーカ作成指示を受けた記憶装置A100は、実施例3のステップ1606、ステップ1607とステップ1608と同様にマーカを作成し、前記記憶装置C180にマーカ作成完了を転送パス910またはネットワーク920を介して報告する。報告を受領した記憶装置C180は管理ソフト800にマーカ作成完了を報告する。管理ソフトA800は実施例3のステップ1609とステップ1610と同様に、指示した記憶装置C180全てからマーカ作成完了の報告があるのを確認してから次の処理に進む。
次に管理ソフトA800は実施例3のステップ1611と同様に、全ての記憶装置C180にライト要求の処理保留の解除を指示する。この指示を受けた記憶装置C180のライトデータ受領部C212は、実施例3のステップ1612とステップ1613で記憶装置A100が行った処理と同様に、ライト要求の処理保留を解除し、保留解除したことを管理ソフトA800に報告する。
すなわちライト要求の処理保留と保留解除は記憶装置C180が行い、その間のマーカ作成は記憶装置C180が記憶装置A100に指示を伝達して記憶装置A100が行う。前述のようにMFA600やオープンシステムホストA700に対してライト完了通知済みのライトデータは記憶装置A100に転送済みであり、記憶装置A100において係るライトデータのライトデータ管理情報300が作成されているので、実施例3で記憶装置A100がライト要求の処理の保留を行うことと、本実施例で記憶装置C180がライト要求の処理の保留を行うことは同等である。よって上記の処理を行い、また他の処理を実施例3で説明したように行うことによって、本実施例の構成においても実施例3と同様に、MFA600とオープンシステムホストA700によるデータ更新をとめて、更新状況を複数記憶装置間で統一するタイミング(チェックポイント)としてマーカを作成し、複製への更新の反映はマーカの時点で同期させ、各複製間の整合性について、この時点でメインフレームホストのデータとオープンシステムホストのデータで共通の整合性を得ることができる。さらに反映の同期の時点でスナップショットを取得して共通の整合性を持つ複製をスナップショットボリュームに保持し、MFB690やオープンシステムホストB790は整合性のとれたデータを用いて業務を引き継ぐことができる。
上記の処理では、管理ソフトA800がマーカ作成を記憶装置C180に指示し、記憶装置C180はこの指示を記憶装置A100に伝達するとしたが、管理ソフトA800が全ての記憶装置A100にマーカ作成を直接指示し、記憶装置A100が管理ソフト800にマーカ作成完了を報告してもよい。すなわち管理ソフトA800はまず全ての記憶装置C180にライト要求の処理の保留を指示し、指示した記憶装置C180全てから保留開始の報告があるのを確認して、実施例3のステップ1605と同様に、全ての記憶装置A180にマーカ作成を指示する。この指示を受けた前記記憶装置A100は、実施例3のステップ1606、ステップ1607とステップ1608と同様にマーカを作成し、管理ソフト800にマーカ作成完了を報告する。管理ソフトA800は実施例3のステップ1609とステップ1610と同様に、指示した記憶装置A100全てからマーカ作成完了の報告があるのを確認して、全ての記憶装置C180にライト要求の処理保留の解除を指示するようにしてもよい。
または記憶装置C180がマーカ作成部とマーカ番号情報330を有し、管理ソフトA800からのマーカ作成の指示を受けてマーカを作成し、ライトデータとして作成したマーカを記憶装置A100に転送し、記憶装置A100のライトデータ受領部210からの受領報告を受けて、管理ソフトA800にマーカ作成完了を報告してもよい。この場合は、記憶装置A100は受領したマーカを特殊なライトデータとして扱い、通常のライトデータ同様に処理して記憶装置B190に転送するが、複製への反映は行わない。
いずれにせよ上記は記憶装置A100に接続して記憶装置A100に複製を置く記憶装置C180の数に関わらず実現できる。
また図示していないメインフレームホストおよびオープンシステムホストが記憶装置A100にI/Oパスで接続している場合には、前記メインフレームホストおよび前記オープンシステムホストはMFA600やオープンシステムホストA700や記憶装置C180に障害が発生した場合などに整合性のとれた記憶装置A100の論理ボリューム500の内容を用いて業務を引き継ぐことができる。
図22は本発明を適用した計算機システムの実施例5における構成例を示す図である。
実施例3との違いは管理ソフトA800が1つの記憶装置A100に存在し、管理ソフトB890が1つの記憶装置B190に存在し、各記憶装置A100は転送バス910によって接続し、各記憶装置B190も転送パス910によって接続している点である。また各記憶装置B190は後述する到着済マーカ番号情報370を制御メモリ300に有する。到着済マーカ番号情報370はグループ毎に存在する。その他の差異については以下に説明していく。
以下にMFA600とオープンシステムホストA700が使用する論理ボリューム500について、各論理ボリューム500へ行われたライトに対する処理と、記憶装置B190への転送および記憶装置B190における反映の処理について説明する。これらの処理によって各複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を常に維持できるようにする。本実施例では、各複製間の整合性を確保するための処理を、記憶装置A100および記憶装置B190が前述の転送パス910を介して制御することによって、記憶装置A100および記憶装置B190の処理のみで実現することができる。
本実施例においては、複製が作成される論理ボリューム500(ソースとなる論理ボリューム500)に対して記憶装置A100がMFA600またはオープンシステムホストA700からライト要求を受領した場合の処理は、実施例3で説明した処理と同様であり、記憶装置A100は実施例3で図14で説明した処理を行う。本実施例における各種管理情報は到着済マーカ番号情報370を除き、実施例3で説明したものと同様である。
図23は記憶装置A100に存在する管理ソフトA800が各記憶装置A100に対してライト要求の処理の保留とマーカ作成を指示した場合の処理を示した図である。実施例3で図15で説明した処理とほぼ同様である。但し、本実施例においては実施例3とは異なり、上述の様に管理ソフトAが複数の記憶装置Aのうちのある記憶装置Aに存在するので、管理ソフトAと記憶装置Aとの間のやりとりは、管理ソフトAと、管理ソフトAが存在する記憶装置A内のライトデータ受領部やマーカ作成部との間、若しくは、管理ソフトAと、管理ソフトAが存在する記憶装置A以外の記憶装置A内のライトデータ受領部やマーカ作成部との間で実行される。更に、本実施例においてはマーカ番号について、マーカ番号を採用する規則として、ステップ3005で指定するマーカ番号は前回のマーカ番号に対して1を加えた番号(1ずつ増やした番号)としている。
図24は記憶装置A100から記憶装置B190へのライトデータの転送処理を示す図である。実施例3で図18で説明した処理とほぼ同様であるが、ステップ3106でライトデータ受領部B211がライトデータ転送部A220にライトデータ受領完了を報告する前に、ステップ3104でライトデータ受領部B211は受領したライトデータがマーカであるか判定し、マーカであった場合は、ステップ3105でライトデータ受領部B211は前記マーカのマーカ番号を図25に示す到着済マーカ番号情報370に記録する点が異なる。到着済マーカ番号情報370はグループ毎に存在し、管理ソフトB890は各グループの到着済マーカ番号情報370に記録されたマーカ番号を読み出して各グループの到着済マーカ番号を取得することができる。
図26は記憶装置B190における複製へのライトデータの反映処理を示す図である。記憶装置B190に存在する管理ソフトB890は到着済マーカ番号情報370に記録されているマーカ番号を全ての記憶装置B190の全グループから取得し、取得したマーカ番号のうち最も小さいマーカ番号を求める(ステップ3200)。次に管理ソフトB890は求めたマーカ番号を持つマーカまでのライトデータの論理ボリューム500への反映を各グループに関し全ての記憶装置B190に指示する(ステップ3201)。この指示を受けたライトデータ反映部B240はライトデータ情報330とグループ管理情報310を参照して、複製を格納する論理ボリューム500にライトデータを、各グループにおけるシーケンシャル番号順に、指示されたマーカまで反映する(ステップ3202)。ライトデータ反映部B240は各グループについてライトデータをシーケンシャル番号順に処理する中で、グループ毎に指示されたマーカを見つけたら反映を停止し、反映完了を管理ソフトB890に報告する(ステップ3203)。ステップ3200で最も小さいマーカ番号を求めているので、このマーカ番号のマーカは各記憶装置B190の各グループに必ず到着しており、よって指示されたマーカまでのライトデータの反映は必ず可能である。ライトデータ反映部B240は反映したマーカのマーカ番号をマーカ番号情報360に記録し、管理ソフトB890はマーカ番号情報360に記録されたマーカ番号を読み出して確認することができる。管理ソフトB890は各グループに関し指示した記憶装置B190全てから正常な反映完了の報告があるのを確認してから次の処理に進む(ステップ3204、ステップ3205)。
管理ソフトA800と管理ソフトB890はそれぞれ上記の処理を繰り返す。これにより記憶装置A100の論理ボリューム500への更新が、記憶装置B190の論理ボリューム500に定常的に反映される。
上記の反映処理ではスナップショットを用いずに各複製間の整合性を確保、維持するため、スナップショット用の論理ボリューム500(副ボリューム)といったスナップショット用の記憶領域は不要である。一方、前述のような管理ソフトA800および管理ソフトB890が記憶装置A100および記憶装置B190に存在する構成でも、実施例3で説明した反映処理のようにスナップショットを用いた整合性確保を行う処理は可能である。
上記の処理により、複数の記憶装置A100および複数の記憶装置B190で作成される各複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を常に維持できる。さらに各複製間の整合性を確保するための処理を、記憶装置A100および記憶装置B190が制御することによって、各複製間の整合性の確保を記憶装置A100および記憶装置B190の処理のみで実現することができ、ホスト上の資源を使用しなくてすむ。
上記の処理において管理ソフトA800や管理ソフトB890と記憶装置A100や記憶装置B190との間の各種の指示や報告や情報取得は転送パス910経由としたが、ネットワーク920経由でもよい。マーカ作成指示が記憶装置A100へのライト要求の形式で行われる場合は、ライト要求の処理保留の対象外となる論理ボリューム500を記憶装置A100に設け、前記マーカ作成指示は前記論理ボリューム500に対して行われる。
また上記の処理において記憶装置A100と記憶装置B190は一対一で接続している必要はなく、それぞれの論理ボリューム500およびグループがソースおよび複製として対応していれば、同じ台数である必要もない。
また実施例1で説明したように、キャッシュ400とは別にライトデータ格納用の論理ボリューム500を用意して、前記論理ボリューム500にライトデータを格納してもよく、またライトデータの転送処理において最初にライトデータ受領部B211がライトデータ転送部220に対してライトデータの転送要求を発行し、前記要求を受領したライトデータ転送部A220がライトデータ受領部B211に対してライトデータを転送してもよい。
また実施例4のように、記憶装置C180に相当する図示していない他の記憶装置Dを記憶装置A100に転送パス910を介して接続し、MFA600とオープンシステムホストA70をこの他の記憶装置DにI/Oパス900を介して接続してもよい。この場合、実施例2または実施例4で説明した処理と同様、記憶装置Dの論理ボリューム500の複製を記憶装置A100の論理ボリューム500に格納し、さらに本実施例で既に説明したように記憶装置A100の前記論理ボリューム500の複製を記憶装置B190の論理ボリューム500に格納することで、実施例4または実施例2で説明したように、例えば記憶装置Dや転送パス910に障害が発生し、記憶装置A100にデータが転送できなくなったとしても、MFB690やオープンシステムホストB790はMFA600やオープンシステムホストA700の処理中断直後の期待通りの内容を用いて業務を引き継ぐことができる。
上記の処理に関し、記憶装置A100は以下のインタフェース(CLIやGUIやAPI)を提供する。
(1)管理ソフトA800が行う上記処理を開始または停止するインタフェース。
(2)管理ソフトA800の処理状態を取得または表示するインタフェース。
(3)管理ソフトA800が動作する記憶装置A100を決定または指定するインタフェース。前記記憶装置A100はユーザや管理者に指定されてもよく、処理負荷バランスを考慮して処理負荷の小さい記憶装置A100が自動的に選択されてもよい。また管理ソフトA800が動作可能な記憶装置A100を示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて管理ソフトA800が動作可能な記憶装置A100を把握し、この中から管理ソフトA800を動作させる前記記憶装置A100を選択し指定してもよい。
(4)管理ソフトA800が行う上記処理の対象となる記憶装置A100およびグループを指定するインタフェース。記憶装置A100のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または管理ソフトA800が行う上記処理の対象となることが可能な記憶装置A100およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象となることが可能な記憶装置A100およびグループを把握し、この中から上記処理の対象となる記憶装置A100およびグループを選択し指定してもよい。
(5)管理ソフトA800が行う上記処理の対象から記憶装置A100またはグループを削除するインタフェース。記憶装置A100のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または現在管理ソフトA800が行う上記処理の対象となっている記憶装置A100およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象から削除可能な記憶装置A100およびグループを把握し、この中から上記処理の対象から削除する記憶装置A100およびグループを選択し指定してもよい。
(6)管理ソフトA800が上記処理を繰り返す間隔(インターバル)を決定または指定するインタフェース。前記間隔はユーザや管理者に指定されてもよく、処理負荷を考慮して自動的に決定されてもよく、ライトデータ量に基づいて自動的に決定されてもよい。
(7)管理ソフトA800が行う上記処理において記憶装置A100からの報告を待つ上限時間を決定または指定するインタフェース。
(8)管理ソフトA800が行う上記処理において障害要因を特定または表示するインタフェース。
(9)管理ソフトA800が行う上記処理において障害が発生した場合の影響範囲を、管理ソフトA800が行う上記処理の対象全体とするか、前記障害に関連する一部の記憶装置A100とするか、一部のグループとするか、一部の論理ボリューム500とするかを選択するインタフェース。
(10)作成済マーカ番号を取得または表示するインタフェース。
また上記の処理に関し、記憶装置B190は以下のユーザインタフェースを提供する。
(11)管理ソフトB890が行う上記処理を開始または停止するインタフェース。
(12)管理ソフトB890の処理状態を取得または表示するインタフェース。
(13)管理ソフトB890が動作する記憶装置B190を決定または指定するインタフェース。前記記憶装置B190はユーザや管理者に指定されてもよく、処理負荷バランスを考慮して処理負荷の小さい記憶装置B190が自動的に選択されてもよい。また管理ソフトB890が動作可能な記憶装置B190を示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて管理ソフトB890が動作可能な記憶装置B190を把握し、この中から管理ソフトB890を動作させる前記記憶装置B190を選択し指定してもよい。
(14)管理ソフトB890が行う上記処理の対象となる記憶装置B190およびグループを指定するインタフェース。記憶装置B190のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または管理ソフトB890が行う上記処理の対象となることが可能な記憶装置B190およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象となることが可能な記憶装置B190およびグループを把握し、この中から上記処理の対象となる記憶装置B190およびグループを選択し指定してもよい。
(15)管理ソフトB890が行う上記処理の対象から記憶装置B190またはグループを削除するインタフェース。記憶装置B190のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または現在管理ソフトB890が行う上記処理の対象となっている記憶装置B190およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象から削除可能な記憶装置B190およびグループを把握し、この中から上記処理の対象から削除する記憶装置B190およびグループを選択し指定してもよい。
(16)管理ソフトB890が上記処理を繰り返す間隔(インターバル)を決定または指定するインタフェース。前記間隔はユーザや管理者に指定されてもよく、処理負荷を考慮して自動的に決定されてもよく、記憶装置B190に到着して反映されていないライトデータ量や、反映済マーカ番号と到着済マーカ番号の差に基づいて自動的に決定されてもよい。
(17)管理ソフトB890が行う上記処理において記憶装置B190からの報告を待つ上限時間を決定または指定するインタフェース。
(18)管理ソフトB890が行う上記処理において障害要因を特定するインタフェース。
(19)管理ソフトB890が行う上記処理において障害が発生した場合の影響範囲を、管理ソフトB890が行う上記処理の対象全体とするか、前記障害に関連する一部の記憶装置B190とするか、一部のグループとするか、一部の論理ボリューム500とするかを選択するインタフェース。
(20)到着済マーカ番号および反映済マーカ番号を取得または表示するインタフェース。記憶装置B190のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。
(21)到着して反映していないライトデータ量を取得または表示するインタフェース。記憶装置B190のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。
(22)到着して反映していないライトデータを格納する記憶領域の大きさを指定するインタフェース。記憶装置B190のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。
上記のインタフェースの形式としてはCLIやGUIやAPIがありうる。また上記のインタフェースの使用方法としては、記憶装置A100や記憶装置B190の端末を直接使用することも可能であり、ネットワーク920やI/Oパス910や転送パス920を介してMFA600やMFB690やオープンシステムホストA700やオープンシステムホストB790や図示されていない他の計算機から遠隔で使用することも可能である。
上の説明では管理ソフトA800が記憶装置A100に存在し、管理ソフトB890が記憶装置B190に存在するとしたが、転送パス910やネットワーク920を介して各種の指示や報告や情報取得を行うことによって、管理ソフトA800が記憶装置B190で動作してもよく、管理ソフトB890が記憶装置A100で動作してもよい。この場合でも各複製間の整合性を確保するための処理を、記憶装置A100および記憶装置B190が制御することによって、各複製間の整合性の確保を記憶装置A100および記憶装置B190の処理のみで実現することができ、ホスト上の資源を使用しなくてすむ。
図27は本発明を適用した計算機システムの実施例6における構成例を示す図である。実施例6のシステム構成は実施例5と共通点が多いので、以下実施例5との差異点を説明する。実施例6と実施例5との主な違いは以下の通りである。
(1)管理ソフトA800と管理ソフトB890が一つの記憶装置A100に存在する。
(2)マーカ作成時(T1)から次のマーカ作成時(T2)までに記憶装置A100に到着したライトデータを記憶装置Aにて差分集合としてグループ化しておき、記憶装置A100から記憶装置B190へのデータの転送や、記憶装置B190におけるデータの反映を、この差分集合単位で実施する。尚、マーカ番号は本実施形態においては差分集合を識別するための識別情報として用いられる。
(3)上述の差分集合の管理と、差分集合の状態の操作のために、各記憶装置A100は差分集合切り替え部A270を制御部200に有し、各記憶装置B190は差分集合切り替え部B271を制御部200に有する。また、各記憶装置Aは送出済マーカ番号情報380を制御用メモリ300に有している。
その他の違いについては以下に順を追って述べる。
まず差分集合を用いた処理の概要を以下に示す。
(A)記憶装置A100は、ある時刻T1以降に受信した、記憶装置A100が有する論理ボリュームに対する書き込み要求のライトデータを、発生差分集合410として管理する。
(B)時刻T2となった時に記憶装置A100は発生差分集合410を送出差分集合420に変更する。そして記憶装置A100は、時刻T2以降に受信した論理ボリュームに対する書き込み要求のライトデータは、新たな発生差分集合410として管理する。更に記憶装置A100は送出差分集合420として管理されているライトデータを記憶装置B190に送信し、これを受信した記憶装置B190Bは受信したライトデータを受領差分集合430として管理する。
(C)記憶装置B190は、送出差分集合420のデータを全て受信したら、受領差分集合230を反映差分集合440に変更する。そして記憶装置B190は反映差分集合440中のライトデータを記憶装置B190が有する論理ボリュームに書き込むことで非同期リモートコピーを実現する。
なお、上述の差分集合の状態の変更やライトデータの送信等は後述するように管理ソフトA800や管理ソフトB890からの指示に基づいて行われる。また(A)から(C)の処理はパイプライン処理のように並行に実施されてもよい。
以下にMFA600やオープンシステムホストA700が使用する記憶装置A100の論理ボリューム500に対して発行されたライト要求に対する処理と、記憶装置A100から記憶装置B190へのライトデータの転送処理、及び記憶装置B190におけるライトデータ反映の処理について説明する。
図32はライトデータ受領部A210がMFA600若しくはオープンシステムホストA700からライト要求を受け付けた場合の処理の一例を示したフロー図である。以下、ステップごとに説明する。
記憶装置A100のライトデータ受領部A210がライト要求を受信した場合(ステップ4201)、ライトデータ受領部A210はライトデータ(以降の説明ではこのライトデータをライトデータNewと呼ぶ)をキャッシュ400に格納する(ステップ4202)。
次にライトデータ受領部A210は、ライトコマンドから得たライトデータNewのライト先の開始アドレス及び終了アドレス(開始アドレスとライト長から算出できる)で示される記憶領域内に、ステップ4201以前に受信したライトデータ(以降、ライトデータOldと呼ぶ)が存在するかどうか判断する。この判断は、例えば、ライトデータ管理情報330を検索することで行うことができる(ステップ4203)。尚、本実施形態におけるライトデータ管理情報330については後述する。
判断の結果、ライトデータOldが存在しない場合はステップ4206に進み、存在する場合はステップ4208に進む。
ステップ4206においてライトデータ受領部A210は、マーカ番号情報360を参照し、マーカ番号情報360として記録されているマーカ番号をライト時刻としてライトデータ管理情報330を作成する。ここで本実施形態においては、マーカ番号は実施例5と同様管理ソフトA800の指示に基づき1ずつインクリメントされ、各記憶装置A100の制御用メモリ300にマーカ番号情報360として記録されているものとする。また、本実施形態においては、ライトデータ管理情報330として図17に示すライトデータ管理情報と同様の情報を用いる。但し、本実施形態ではシーケンシャル番号、マーカ属性ビット、マーカ番号、転送必要ビットはライトデータ管理情報330に含まれていなくても良い。また本実施形態では上述の様に、ライトデータ管理情報330のライト時刻として、マーカ番号情報360に記録されているマーカ番号が用いられる。
図32に戻ってステップ4207でライトデータ受領部A210は、ライト完了をライト要求を発行したMFA600やオープンシステムホストA700に報告し、処理を終了する。
一方ステップ4208においてライトデータ受領部A210は、ステップ4203で存在が確認されたライトデータOldのライトデータ管理情報330を参照し、ライトデータOldのライト管理情報330にライト時刻として記録されているマーカ番号と現在マーカ番号情報360として記録されているマーカ番号とを比較する。比較の結果、同じ値であればステップ4204に進み、異なる値(つまり、ライトデータOldがライトデータNewより1世代古いデータ)であればステップ4206に進む。
ステップ4204でライトデータ受領部A210は、ライトデータNewとライトデータOldをマージする。マージとはアドレスが重なりあう複数のライトデータ及びライトデータ管理情報330を一つにまとめることをさす。そしてステップ4205でライトデータ受領部A210は、ライト完了をライト要求の発行元であるMFA600やオープンシステムホストA700に報告する。
次に図29を用いて、図32のステップ4204にて説明したライトデータNewとライトデータOldのマージ操作の一例を示す。
図29のケース1の場合は、ライトデータ受領部A210がキャッシュ400上で、ライトデータOldのうちライトデータNewに相当する部分をライトデータNewで上書きする。更にライトデータ受領部A210は、ライトデータNewのライトデータ管理情報330としてライトデータOldのライトデータ管理情報330をそのまま用いることができる。
図29のケース2の場合は、ライトデータ受領部A210はライトデータOldを廃棄する。更にライトデータ受領部A210は、ライトデータOldのライトデータ管理情報330のうち、ライトデータポインタをライトデータNewへのポインタに更新し、ライトアドレスとライトデータ長も各々ライトデータNewのライトアドレスとライトデータ長に更新して、更新後のライトデータ管理情報330をライトデータNewのライトデータ管理情報330とする。
図29のケース3または4の場合は、ライトデータ受領部A210はキャッシュ400上でライトデータOldの上にライトデータNewを上書きする。またライトデータ受領部A210は、ライトデータNewのライトデータ管理情報330のライトアドレスとして、ライトデータOldとライトデータNewのライトアドレスのうち小さい方の値を用いる。またライトデータ受領部A210は、ライトデータOldとライトデータNewの終了アドレスのうち、最も大きな終了アドレス求め、この終了アドレスから先に求めたライトアドレスを引いた値を、ライトデータNewのライトデータ管理情報330のライトデータ長に用いる。
この様に図32のステップ4204においてライトデータ受領部A210がライトデータ及びライトデータ管理情報330のマージを行うことにより、同じ差分集合内には最新のライトデータのみが残ることとなる。つまり前述の時刻T1から時刻T2の間に重複するアドレスに複数回ライト要求があった場合には、アドレスが重複する範囲については最新のライト要求に基づくライトデータのみがキャッシュ400上に残り、発生差分集合として記憶装置A100の制御部200に管理される。従って、記憶装置A100から記憶装置B190へ転送されるデータの量を削減できる。
図28は、記憶装置A100から記憶装置B190へライトデータを送信する場合の、ライトデータ転送部Aとライトデータ受領部Bの処理の一例について示したフロー図である。以下、フローを追って説明する。
ライトデータ転送部A220は送出差分集合420として管理されているライトデータデータを記憶装置B190へ送信する(ステップ4001)。この際ライトデータ転送部A220は、送出差分集合420のとして管理されているライトデータと共に、このライトデータのライトデータ管理情報330も記憶装置B190に送信する。
ライトデータ転送部A220がこのステップ4001の送信処理を開始する契機は、図31のステップ4116の説明で後述するように管理ソフトAからの指示があった場合である。ライトデータ転送部A220は送出差分集合420として管理されているライトデータを送出し終わったら、記憶装置B190にその旨を示す完了通知を送信し、ライトデータ受領部B211からの受信完了報告を待つ。
尚本実施例ではキャッシュ400内のライトデータが送出差分集合420に含まれるライトデータであるか否かを、マーカ番号情報360及びライトデータ管理情報330を参照することにより判別することができる。即ち、マーカ番号情報360が示すマーカ番号より1世代前の値(本実施例では1だけ小さい値)をライト時刻として持つライトデータ管理情報330を検索すると、このライトデータ管理情報330に対応するライトデータが、送出差分集合420に含まれるライトデータであるということになる。
ライトデータ受領部B211は、送出差分集合420のデータを受信すると、受信したライトデータを受領差分集合430としてキャッシュ400に保存する(ステップ4003)。また受信したライトデータ管理情報330は制御用メモリ300に保存する。
ライトデータ受領部B211がライトデータ転送部A220から完了通知を受信すると、ライトデータ受領部B211は送出差分集合420のデータの受信を全て完了した旨を認識し、ライトデータ転送部A220へ受信完了報告を送信する(ステップ4004)。
そしてライトデータ受領部B211は制御用メモリ300内の到着済マーカ番号情報370を更新する(ステップ4005)。即ちライトデータ受領部B211は、受領差分集合430として管理されているライトデータのライトデータ管理情報330にライト時刻として記録されているマーカ番号を、到着済マーカ番号情報370として制御用メモリ300に記録する。尚本実施形態では、この更新処理は、到着済マーカ番号情報370の値を1インクリメントする処理となる。
一方、ライトデータ受領部B211から受信完了報告を受信したライトデータ転送部A220は、送信済マーカ番号情報380を更新する(ステップ4006)。即ちライトデータ転送部A220は、ステップ4001でライトデータ受領部B211に送信したライトデータのライトデータ管理情報330にライト時刻として記録されているマーカ番号を、送信済マーカ番号情報380として、制御用メモリ300に記録する。尚本実施例ではこの更新処理は、送信済マーカ番号情報380の値を1インクリメントする処理となる。
図30と図31は、ライト要求の一時保留処理と、差分集合の切り替え処理の一例を示すフロー図である。まず図30から説明する。尚図30のステップ4100の時点で、全ての記憶装置A100において送出差分集合420のデータの転送が完了しており、全記憶装置A100の送出済マーカ番号情報380の値は等しいものとする。また同様に図30のステップ4100の時点で、全ての記憶装置B190において反映差分集合440として管理されているライトデータの論理ボリューム500への反映が完了しており、全記憶装置B190の到着済マーカ番号情報370の値は等しいものとする。
管理ソフトA800は全記憶装置A100にライト要求の保留を指示する(ステップ4100)。この指示を受信した各記憶装置A100のライトデータ受領部A210は、指示を受けた後にMFA600やオープンシステムホストA700から受信したライト要求を保留し(ステップ4101)、ライト要求を保留した旨を管理ソフトA800に報告する(ステップ4102)。
管理ソフトA800は全記憶装置A100からライト要求の保留開始完了が報告されるまで待つ(ステップ4103及びステップ4104)。全記憶装置A100から報告が上がって来たら、管理ソフトA800は前回指定したマーカ番号より1値の大きいマーカ番号を指定して、マーカ番号情報360の更新を全記憶装置A100に指示する(ステップ4105)。
この指示を受信した各記憶装置A100のマーカ作成部A250は、指定されたマーカ番号をマーカ番号情報360に記録する(ステップ4106)。更に、各記憶装置A100の差分集合切り替え部A270は、発生差分集合410を送出差分情報420に変更し、新しい発生差分集合を作成する(ステップ4108)。なお、差分集合切り替え部A270は、新しい発生差分集合の作成に伴って、これまで送出差分集合であったライトデータやライトデータ管理情報を破棄してもよい。そして各記憶装置A100のマーカ作成部A250は、管理ソフトA800にマーカ番号情報360の更新完了を報告する(ステップ4109)。
管理ソフトA800は全記憶装置A100からマーカ番号情報360の更新完了が報告されるまで待つ(ステップ4110、ステップ4111)。
図31に移って、全記憶装置A100からマーカ番号情報360の更新完了報告がされたら、管理ソフトA800は全記憶装置A100にライト要求の保留解除を指示する(ステップ4112)。この指示を受信した各記憶装置A100のライトデータ受領部A210は、ライト要求の保留を解除し(ステップ4113)、その旨を管理ソフトA800に報告する(ステップ4114)。
次に管理ソフトA800は、管理ソフトB890に受領差分集合430と反映差分集合440の切り替えと、反映差分集合440として管理されるライトデータの論理ボリューム500に対する反映を指示する。なお、この指示を受信した管理ソフトB890及び記憶装置B190が実行する処理は図33を用いて後述する。
管理ソフトA800は、全記憶装置A100のライトデータ転送部A220に、送出差分集合として管理されているデータの記憶装置B190への転送を指示する(ステップ4116)。この指示を受信したライトデータ転送部A220は図28で説明した処理を実行する。
管理ソフトAは、ステップ4116で指示したデータの転送処理と、ステップ4115で指示したデータの反映処理の完了報告を待つ(ステップ4117及びステップ4118)。全ての記憶装置A100でデータ転送処理が完了し、また全ての記憶装置B190でデータの反映処理が完了した場合には、図30のステップ4100に再び戻り、図30及び図31にて説明した処理が繰り返し実行される。
図33は、管理ソフトB890が管理ソフトA800から受領差分集合430と反映差分集合440の切り替えと、論理ボリューム500に対するライトデータの反映指示を受け取った場合の処理の一例を示したフロー図である。
管理ソフトBは、全記憶装置B190について到着済マーカ番号情報370の値を収集し、この値が全記憶装置B190について同じ値になるまで待つ(ステップ4119)。つまり、管理ソフトBは、全記憶装置B190について、送出差分集合420のデータの受信が完了するのを待つ。尚、ステップ4119において管理ソフトBは、全記憶装置A100について送出済マーカ番号情報380の値を収集し、この値が全記憶装置A100について同じ値になるまで待つものとしても良い。
次に管理ソフトBは、各記憶装置B190の差分集合切り替え部B271とライトデータ反映部B240に対して、差分集合の切り替えと論理ボリューム500に対するライトデータの反映を指示する(ステップ4120)。
この指示を受信した記憶装置B190の差分集合切り替え部B271は、受領差分集合430を反映差分集合440に変更し、新しい受領差分集合430を設ける(ステップ4121)。なお、差分集合切り替え部B271は、新しい受領差分集合の作成に伴って、これまで反映差分集合であったライトデータやライトデータ管理情報を破棄してもよい。
更にライトデータ反映部B240は、新しく反映差分集合440となった集合中のライトデータを論理ボリューム500に書き込む(ステップ4122)。また、ライトデータ反映部B240は記憶装置B190のマーカ番号情報360の値を更新する。即ち論理ボリューム500に反映されるライトデータのライトデータ管理情報330にライト時刻として記録されているマーカ番号が、記憶装置B190のマーカ番号情報360の値となる。尚本実施例ではこの処理は、マーカ番号情報360の値を1インクリメントすることによって実行される。
反映差分集合440のライトデータが全て論理ボリューム500に反映されたら、ライトデータ反映部B240は記憶装置B190のマーカ番号情報を1インクリメントしてから管理ソフトB890に処理の完了を報告する(ステップ4123)。報告は記憶装置A100を通じて行ってもよい。
管理ソフトB890は全ての記憶装置B190について、差分集合の切り替えと論理ボリューム500に対する反映についての完了報告を待ち、全ての記憶装置B190から完了報告があったら、その旨を管理ソフトA800に報告する(ステップ4124)。
尚、管理ソフトB890と差分集合切り替え部B271やライトデータ反映部B240との間のやりとりは、例えば記憶装置A100と記憶装置B190間を接続しているネットワーク経由で行われる。
ここで、管理ソフトB890から各記憶装置B190に送信される差分集合の切り替えと論理ボリューム500に対する反映指示は、記憶装置B190毎に出される。そのため、管理ソフトB890が指示している途中に記憶装置A100に障害が発生すると、障害回復が正しく行えない場合がある。この一例を図34に示す。
図34は、図33のステップ4120で管理ソフトB890がそれぞれの記憶装置B190に差分集合切り替えと反映を指示指示しているときに、記憶装置A100Lが障害停止した場合の動作について示している。より具体的には以下の時系列で反映の指示と記憶装置A100Lの障害停止が起きた場合を示している。
(1)記憶装置A100Rの中の管理ソフトB890は、記憶装置B190Rに対してマーカ番号がAの差分集合の反映を指示する。
(2)記憶装置A100Lは障害によって停止する。
(3)記憶装置A100Rの中の管理ソフトB890は、記憶装置A100Lを経由して記憶装置B190Lに対してマーカ番号がAの差分集合の反映を指示する。しかし、記憶装置A100Lは障害停止しているため、記憶装置B190Lに対して反映指示が届かない。その結果、記憶装置B190Rの論理ボリューム500のデータだけ先の時刻に進んでおり、ライト順序関係が保たれていない。
そこでこの状態を回避するために、記憶装置B190Lか記憶装置B190Rのいずれかで、記憶装置B190の論理ボリューム500を使う前に、以下のステップを有するプログラムを実行してもよい。なお、ここでは図34の状況で反映が停止した状態を例として用いる。
(初期状態)記憶装置B190Lと記憶装置B190R内部で、差分集合のデータ転送と反映が停止するまで待つ。すると、記憶装置B190Lの到着済みマーカ番号情報はAであり、論理ボリュームに対してはマーカ番号がA−1の差分集合が反映された状態で停止する(つまり、マーカ番号情報はA−1)。また、記憶装置B190Rの到着済みマーカ番号情報の値はAまたはA+1であり、論理ボリューム500に対してはマーカ番号がAの差分集合が反映された状態で停止する(マーカ番号情報はA)。なお、管理ソフトB890は全ての到着済みマーカ番号が同じ値にならない限り反映を指示しないため、記憶装置B190Lの到着済みマーカ番号情報はAより小さな値になることはない。
(ステップA)記憶装置B190Lと記憶装置B190Rから到着済みマーカ番号情報とマーカ番号情報を集める。
(ステップB)集めた到着済みマーカ番号情報から最も小さな値を選択する(以後、最小到着済みマーカ番号と呼ぶ)。本例ではAが最小到着済みマーカ番号となる。
(ステップC)記憶装置B190Lのマーカ番号情報が最少到着済みマーカ番号より小さな値の場合は、記憶装置B190Lに対して反映指示を行う。本例では、記憶装置B190Lのマーカ番号情報はA−1であるため、記憶装置B190Lに対して反映が指示されるため、記憶装置B190Lの論理ボリューム500はマーカ番号がAの差分集合が反映される。
(ステップD)記憶装置B190Rのマーカ番号情報が最少到着済みマーカ番号より小さな値の場合は、記憶装置B190Rに対して反映指示を行う。本例では、記憶装置B190Rのマーカ番号情報はAであるため、反映は指示されずに記憶装置B190Lの論理ボリューム500はマーカ番号がAの差分集合が反映された状態のままである。
なお、図33のステップ1119とステップ4120の代わりとして、上記ステップA、ステップB、ステップCを実行することで管理ソフトB890と処理の共通化を行ってもよい。
なお、管理ソフトA800と管理ソフトB890は、記憶装置A100ではなく、MFA600、オープンシステムホストA700、MFB690、オープンシステムホストB790、記憶装置B190に存在してもよい。この場合は管理ソフトA800と管理ソフトB890に対する設定インターフェースは管理ソフトA800と管理ソフトB890が存在する計算機に存在することが考えられるが、それ以外の場所から設定してもよい。また、管理ソフトA800や管理ソフトB890から指示を発行するためのインタフェース、管理ソフトA800や管理ソフトB890が情報を収集するためのインターフェースは、記憶装置A100や記憶装置B190から提供されてもよい。
以上の実施例では差分集合に含まれるライトデータをライトデータ管理情報を用いて管理してきた。しかしその他の方法で管理しても構わない。例えばアドレスブロック毎のデータの差分の有無を示す情報である差分ビットマップを、差分集合ごとに用意して、差分ビットマップを用いて差分集合に含まれるライトデータを管理してもよい。
また、以上の実施例では各記憶装置は送出差分集合のデータの転送や、受領差分集合430と反映差分集合440の切り替え及び反映差分集合440のデータの反映処理を、別々の指示を契機として実行していたが、一つの指示に基づき以下の順序でまとめて処理を行ってもよい。
(1)受領差分集合430と反映差分集合440の切り替えを伴った反映処理
(2)送出差分集合のデータ転送
(3)(1)と(2)の完了を待って報告
以上実施例1から実施例6では、記憶装置A100や記憶装置B190にメインフレームホストとオープンシステムホストの両方が接続されているケースを例に説明したが、メインフレームホストのみが接続されている場合であっても、これらの実施例は実施可能である。また、実施例3から実施例6については更に、オープンシステムホストのみが接続されている場合であっても実施可能である。
実施例1における計算機システムの構成例を示す図である。 論理ボリュームグループの一例を示す概念図である。 記憶装置Aがライト要求を受領した場合の処理の一例を示すフロー図である。 グループ管理情報の一例を示す図である。 ライトデータを管理するためのライトデータ管理情報の一例を示す図である。 記憶装置Aから記憶装置Bへのライトデータの転送処理の一例を示すフロー図である。 論理ボリュームの相手論理ボリューム情報の一例を示す図である。 到着済みライト時刻情報の一例を示す図である。 記憶装置Bでのライトデータの反映処理の一例を示すフロー図である。 記憶装置Aがライト要求を受領した場合の処理の他の一例を示すフロー図である。 記憶装置Aがライト要求を受領した場合の処理の他の一例を示すフロー図である。 実施例2における計算機システムの構成例を示す図である。 実施例3における計算機システムの構成例を示す図である。 実施例3での記憶装置Aがライト要求を受領した場合の処理の一例を示すフロー図である。 管理ソフトAが記憶装置Aに対してライト要求の処理の保留とマーカ作成を指示した場合の処理の一例を示すフロー図である。 マーカ番号情報の一例を示す図である。 ライトデータ管理情報の他の一例を示す図である。 実施例3での記憶装置Aから記憶装置Bへのライトデータの転送処理の一例を示すフロー図である。 実施例3での記憶装置Bにおけるライトデータの反映処理の一例を示すフロー図である。 実施例3での記憶装置Bにおけるライトデータの反映処理の他の一例を示すフロー図である。 実施例4における計算機システムの構成例を示す図である。 実施例5における計算機システムの構成図例を示す図である。 実施例5での管理ソフトAが記憶装置Aに対してライト要求の処理の保留とマーカ作成を指示した場合の処理の一例を示すフロー図である。 実施例5での記憶装置Aから記憶装置Bへのライトデータの転送処理の一例を示すフロー図である。 到着済マーカ番号情報の一例を示す図。 実施例5での記憶装置Bにおける複製へのライトデータの反映処理の一例を示すフロー図である。 実施例6における計算機システムの構成例を示す図である。 ライトデータ転送部A及びライトデータ受領部Bの処理の一例を示す図である。 ライトデータNewとライトデータOldのマージ処理の一例を示す図である。 ライト要求の保留と差分集合の切り替え処理の一例を示す図である。 ライト要求の保留と差分集合の要り変え処理の一例を示す図である。 実施例6におけるライト要求受信時の処理の一例を示す図である。 差分集合の切り替え処理と、記憶装置B190でのデータの反映処理の一例を示す図である。 ライトデータの反映指示の発行中に記憶装置に障害が生じた場合の一例を示す図である。
符号の説明
100…記憶装置A
180…記憶装置C
190…記憶装置B
200…制御部
210…ライトデータ受領部A
211…ライトデータ受領部B
212…ライトデータ受領部C
220…ライトデータ転送部A
222…ライトデータ転送部C
230…ライトデータ反映指示部B
240…ライトデータ反映部B
250…マーカ作成部A
260…スナップショット取得部C
300…制御用メモリ
310…グループ管理情報
320…相手論理ボリューム管理情報
330…ライトデータ管理情報
340…ライト時刻情報
350…到着済みライト時刻情報
360…マーカ番号情報
400…キャッシュ
500…論理ボリューム
600…メインフレームホストA(MFA)
610…OS
620…アプリケーションソフト(APP)
630…ライト要求
640…ライトデータ
650…ライト時刻
690…メインフレームホストB(MFB)
700…オープンシステムホストA
710…OS
720…アプリケーションソフト(APP)
730…ライト要求
740…ライトデータ
790…オープンシステムホストB
800…管理ソフトA
890…管理ソフトB
900…I/Oパス
910…転送パス
920…ネットワーク

Claims (19)

  1. 各々ホスト計算機と接続される複数の第一の記憶装置と、
    各々いずれかの第一の記憶装置に接続される複数の第二の記憶装置とを有し、
    前記複数の第一の記憶装置は各々、管理部からの指示に基づきホスト計算機から受信するライト要求の処理を保留し、その後前記管理部からの指示に基づきホスト計算機から受信するライト要求の処理を再開するよう構成されており、
    前記複数の第一の記憶装置は各々、前記管理部の指示に従ってライト要求の処理を再開してから、次に前記管理部の指示に従ってライト要求の処理を保留するまでの間に処理したライト要求のライトデータをライトデータ集合として管理し、ライトデータ集合ごとにライトデータをいずれかの第二の記憶装置に送信するよう構成されており、
    前記管理部は、前記複数の第一の記憶装置からライト要求の処理の保留の完了報告を受信した後に、前記複数の第一の記憶装置に新しいライトデータ集合の生成を指示して、該複数の第一の記憶装置において生成されるライトデータ集合に共通の識別情報を付与し、その後前記複数の第一の記憶装置にライト要求の処理の再開を指示するよう構成されており、
    前記複数の第二の記憶装置は各々、ライトデータ集合ごとに第一の記憶装置から受信したライトデータを、該第二の記憶装置が有する論理ボリュームに格納するよう構成されており、前記複数の第二の記憶装置は前記管理部からの指示に基づいて同じ識別情報を有するライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納することを特徴とするシステム。
  2. 請求項1記載のシステムであって、
    前記管理部は、前記複数の第一の記憶装置からライト要求の処理の保留の完了報告を受信した後に、当該ライト要求の処理の保留が実行されるまでに前記複数の第一の記憶装置各々が処理したライト要求のライトデータが含まれるライトデータ集合について、ライトデータを前記複数の第二の記憶装置のいずれかに送信するよう、前記複数の第一の記憶装置に指示するよう構成されていることを特徴とするシステム。
  3. 請求項2記載のシステムであって、
    前記複数の第二の記憶装置は各々キャッシュメモリを有しており、いずれかの第一の記憶装置から受信したライトデータを前記キャッシュメモリに格納するよう構成されており、
    前記管理部は、前記複数の第一の記憶装置が前記ライトデータ集合についてのライトデータの送信を終えた後に、前記複数の第二の記憶装置に対して、前記キャッシュメモリに格納されている前記ライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納するよう指示することを特徴とするシステム。
  4. 請求項3記載のシステムであって、
    前記複数の第二の記憶装置は各々、ライトデータ集合のライトデータの受信が完了した際に該ライトデータ集合に付与されている識別情報を該第二の記憶装置が有するメモリに記録するよう構成されており、
    前記管理部は、前記複数の第二の記憶装置から前記メモリに記録された識別情報を収集し、収集した識別情報の値が一致する場合に、前記キャッシュメモリに格納されている前記ライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納するよう指示することを特徴とするシステム。
  5. 請求項4記載のシステムであって、
    前記複数の第一の記憶装置は各々、ライトデータ集合のライトデータをいずれかの第二の記憶装置に送信するに際して、該ライトデータ集合に付与されている識別情報を該第二の記憶装置に通知することを特徴とするシステム。
  6. 請求項5記載のシステムであって、
    前記複数の第一の記憶装置は各々、ホスト計算機からのライト要求に従って受信するライトデータについて、該ライトデータが属するライトデータ集合の識別情報を含むライトデータ管理情報を生成するよう構成されており、
    ライトデータ集合のライトデータをいずれかの第二の記憶装置に送信するに際して、該ライトデータのライトデータ管理情報も該第二の記憶装置に送信するよう構成されていることを特徴とするシステム。
  7. 請求項3記載のシステムであって、
    前記複数の第一の記憶装置は各々、ライトデータ集合のライトデータの送信が完了した際に該ライトデータ集合に付与されている識別情報を該第一の記憶装置が有するメモリに記録するよう構成されており、
    前記管理部は、前記複数の第一の記憶装置から前記メモリに記録された識別情報を収集し、収集した識別情報の値が一致する場合に、前記複数の第二の記憶装置各々が有するキャッシュメモリに格納されている前記ライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納するよう指示することを特徴とするシステム。
  8. 請求項1記載のシステムであって、
    前記複数の第一の記憶装置は各々、前記管理部の指示に従ってライト要求の処理を再開してから、次に前記管理部の指示に従ってライト要求の処理を保留するまでの間に、重複するアドレスに対する複数のライト要求を処理した場合には、最新のライトデータをライトデータ集合に属するライトデータとして管理するよう構成されていることを特徴とするシステム。
  9. 請求項8記載のシステムであって、
    前記複数の第一の記憶装置は各々、ライトデータ集合に属するライトデータをキャッシュメモリに格納しており、前記管理部の指示に従ってライト要求の処理を再開してから、次に前記管理部の指示に従ってライト要求の処理を保留するまでの間に、重複するアドレスに対する複数のライト要求を受信した場合には、アドレスの重複する部分についてキャッシュメモリ上でライトデータを更新するよう構成されていることを特徴とするシステム。
  10. 請求項3記載のシステムであって、
    前記管理部は、前記複数の第一の記憶装置のいずれかが有することを特徴とするシステム。
  11. 請求項3記載のシステムであって、
    前記管理部は、前記複数の第一の記憶装置に接続される計算機が有することを特徴とするシステム。
  12. 各々ホスト計算機と接続される複数の第一の記憶装置と、各々いずれかの第一の記憶装置に接続される複数の第二の記憶装置との間で実行されるリモートコピー方法であって、
    前記複数の第一の記憶装置が各々、ホスト計算機から受信するライトデータを第一のライトデータ集合として管理するステップと、
    前記複数の第一の記憶装置が各々、管理部からの指示に基づきホスト計算機から受信するライト要求の処理を保留して、該管理部にその旨を報告するステップと、
    前記管理部が前記複数の第一の記憶装置からライト要求の処理の保留の完了報告を受信した後に、前記複数の第一の記憶装置に前記第一のライトデータ集合を第二のライトデータ集合に変更し、新たな第一のライトデータ集合を生成するよう指示するステップと、
    前記複数の第一の記憶装置が各々、前記管理部からの指示に基づき前記第一のライトデータ集合を前記第二のライトデータ集合に変更し、新たな第一のライトデータ集合を管理する準備をして、その旨を前記管理部に報告するステップと、
    前記管理部が前記複数の第一の記憶装置から報告を受信した後に、ライト要求の処理の保留を解除するよう該複数の第一の記憶装置に指示するステップと、
    前記複数の第一の記憶装置が各々、前記管理部からの指示に基づいて、ライト要求の処理の保留を解除し、以降に処理するライト要求のライトデータを新たな第一のライトデータ集合として管理するステップと、
    前記複数の第一の記憶装置が各々、前記管理部からの指示に基づいて、前記第二のライトデータ集合のライトデータを、いずれかの第二の記憶装置に送信するステップと、
    前記複数の第二の記憶装置が各々、いずれかの第一の記憶装置から受信したライトデータを第三のライトデータ集合に属するライトデータとして管理するステップと、
    前記複数の第二の記憶装置が各々、前記管理部からの指示に基づいて、前記第三のライトデータ集合を第四のライトデータ集合に変更し、該第四のライトデータ集合に属するライトデータを、第二の記憶装置が有する論理ボリュームに格納するステップとを有することを特徴とするリモートコピー方法。
  13. 請求項12記載のリモートコピー方法であって、
    前記管理部からの指示に基づいて生成される第一のライトデータ集合には、前記管理部から指定される前記複数の第一の記憶装置間で共通の識別情報が付与され、該第一のライトデータ集合に付与された識別情報は、第二のライトデータ集合、第三のライトデータ集合、及び第四のライトデータ集合に引き継がれることを特徴とするリモートコピー方法。
  14. 請求項12記載のリモートコピー方法であって、
    前記管理部は、前記複数の第二の記憶装置が、第一の記憶装置から前記第二のライトデータ集合に属するライトデータを受信し終わった後に、第三のライトデータ集合を第四のライトデータ集合に変更するよう、該複数の第二の記憶装置に指示することを特徴とするリモートコピー方法。
  15. 請求項14記載のリモートコピー方法であって、
    前記複数の第一の記憶装置が各々、前記第二のライトデータ集合に属するライトデータを第二の記憶装置に送信し終わった場合に、その旨を該第二の記憶装置に報告するステップと、
    前記複数の第二の記憶装置が各々、第一の記憶装置から前記報告を受信した場合に、受信したライトデータが属する第三のライトデータ集合に付与されている識別情報を該第二の記憶装置が有するメモリに記録するステップと、
    前記管理部が、前記複数の第二の記憶装置からメモリに記録されている識別情報を収集するステップとを有し、
    前記管理部は、前記複数の第二の記憶装置から収集された識別情報の値が一致する場合に、前記複数の第二の記憶装置に、第三のライトデータ集合を第四のライトデータ集合に変更するよう指示することを特徴とするリモートコピー方法。
  16. 請求項14記載のリモートコピー方法であって、
    前記複数の第一の記憶装置が各々、前記第二のライトデータ集合に属するライトデータを第二の記憶装置に送信し終わった場合に、該第二のライトデータ集合に付与されている識別情報を該第一の記憶装置が有するメモリに記録するステップと、
    前記管理部が、前記複数の第一の記憶装置からメモリに記録されている識別情報を収集するステップとを有し、
    前記管理部は、前記複数の第一の記憶装置から収集された識別情報の値が一致する場合に、前記複数の第二の記憶装置に、第三のライトデータ集合を第四のライトデータ集合に変更するよう指示することを特徴とするリモートコピー方法。
  17. 請求項12記載のリモートコピー方法であって、
    前記複数の第一の記憶装置は各々、アドレス範囲の重複する領域に対して複数のライト要求を受信した場合に、最新のライト要求のライトデータを第一のライトデータ集合に属するライトデータとして管理することを特徴とするリモートコピー方法。
  18. 請求項12記載のリモートコピー方法であって
    前記管理部は、前記複数の第一の記憶装置のいずれかが有することを特徴とするリモートコピー方法。
  19. 請求項12記載のリモートコピー方法であって、
    前記管理部は、前記複数の第一の記憶装置に接続される計算機が有することを特徴とするリモートコピー方法。
JP2005035404A 2003-12-03 2005-02-14 リモートコピーシステム Pending JP2006221487A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2005035404A JP2006221487A (ja) 2005-02-14 2005-02-14 リモートコピーシステム
US11/118,927 US7437389B2 (en) 2004-03-10 2005-05-02 Remote copy system
EP20050255898 EP1691291B1 (en) 2005-02-14 2005-09-22 System and method to maintain consistency on the secondary storage of a mirrored system
CN201110263663.9A CN102446124B (zh) 2005-02-14 2005-12-22 远程拷贝系统
CN 200510132236 CN1821974B (zh) 2005-02-14 2005-12-22 远程拷贝系统
US12/206,325 US8032726B2 (en) 2003-12-03 2008-09-08 Remote copy system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005035404A JP2006221487A (ja) 2005-02-14 2005-02-14 リモートコピーシステム

Publications (1)

Publication Number Publication Date
JP2006221487A true JP2006221487A (ja) 2006-08-24

Family

ID=35695902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005035404A Pending JP2006221487A (ja) 2003-12-03 2005-02-14 リモートコピーシステム

Country Status (3)

Country Link
EP (1) EP1691291B1 (ja)
JP (1) JP2006221487A (ja)
CN (2) CN1821974B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057366B2 (ja) * 2006-10-30 2012-10-24 株式会社日立製作所 情報システム及び情報システムのデータ転送方法
US8868874B2 (en) * 2012-02-01 2014-10-21 International Business Machines Corporation Managing remote data replication
JP6040840B2 (ja) * 2013-03-29 2016-12-07 富士通株式会社 演算処理装置、情報処理装置及び情報処理装置の制御方法
CN106250322B (zh) * 2016-08-12 2019-11-19 华为技术有限公司 一种写数据的方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244597A (ja) * 1994-02-22 1995-09-19 Internatl Business Mach Corp <Ibm> 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
JPH1139744A (ja) * 1997-07-10 1999-02-12 Matsushita Electric Ind Co Ltd 記録モード判別装置及び情報再生装置
JPH11313210A (ja) * 1998-04-27 1999-11-09 Matsushita Graphic Communication Systems Inc 通信装置及び通信方法
JP2001282628A (ja) * 2000-03-31 2001-10-12 Hitachi Ltd 記憶サブシステムのデータ二重化方法及びデータ二重化システム
JP2002290742A (ja) * 2001-03-23 2002-10-04 Kanebo Ltd 画像エラーストリーム補正方法及び復号化装置
JP2003167684A (ja) * 2001-12-04 2003-06-13 Nec Corp ディスクアレイ装置間の遠隔データコピー方式
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2894676B2 (ja) 1994-03-21 1999-05-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法
JP2002528932A (ja) * 1998-10-20 2002-09-03 アジェイ・デオ インテリジェント・ネットワークにおけるリアルタイム呼処理サービスを提供する方法および装置
US6493796B1 (en) * 1999-09-01 2002-12-10 Emc Corporation Method and apparatus for maintaining consistency of data stored in a group of mirroring devices
US7043504B1 (en) * 2000-04-10 2006-05-09 International Business Machines Corporation System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
US20030050930A1 (en) 2001-09-12 2003-03-13 Malcolm Mosher Method and apparatus for lockstep data replication
TWI227468B (en) * 2002-04-01 2005-02-01 Sony Corp Recording method, and storage medium driving apparatus
JP4419460B2 (ja) * 2003-08-04 2010-02-24 株式会社日立製作所 リモートコピーシステム
US7133986B2 (en) * 2003-09-29 2006-11-07 International Business Machines Corporation Method, system, and program for forming a consistency group

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244597A (ja) * 1994-02-22 1995-09-19 Internatl Business Mach Corp <Ibm> 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
JPH1139744A (ja) * 1997-07-10 1999-02-12 Matsushita Electric Ind Co Ltd 記録モード判別装置及び情報再生装置
JPH11313210A (ja) * 1998-04-27 1999-11-09 Matsushita Graphic Communication Systems Inc 通信装置及び通信方法
JP2001282628A (ja) * 2000-03-31 2001-10-12 Hitachi Ltd 記憶サブシステムのデータ二重化方法及びデータ二重化システム
JP2002290742A (ja) * 2001-03-23 2002-10-04 Kanebo Ltd 画像エラーストリーム補正方法及び復号化装置
JP2003167684A (ja) * 2001-12-04 2003-06-13 Nec Corp ディスクアレイ装置間の遠隔データコピー方式
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム

Also Published As

Publication number Publication date
EP1691291B1 (en) 2011-06-01
CN102446124A (zh) 2012-05-09
CN102446124B (zh) 2014-10-29
EP1691291A1 (en) 2006-08-16
CN1821974B (zh) 2011-11-02
CN1821974A (zh) 2006-08-23

Similar Documents

Publication Publication Date Title
US8375000B2 (en) Remote copy system
US7330861B2 (en) Remote copying system and method of controlling remote copying
JP4477950B2 (ja) リモートコピーシステム及び記憶装置システム
US6981008B2 (en) Method for duplicating data of storage subsystem and data duplicating system
US8285824B2 (en) Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized
US8131963B2 (en) Remote copy system
US20070113034A1 (en) Storage remote copy system
JP4425728B2 (ja) リモートコピーシステム
JP2005309793A (ja) データ処理システム
US8250240B2 (en) Message conversion method and message conversion system
US7437389B2 (en) Remote copy system
JP2006221487A (ja) リモートコピーシステム
US8032726B2 (en) Remote copy system
JP2006285336A (ja) 記憶装置及びストレージシステム並びにその制御方法
JP2004272884A (ja) 複数リモートストレージでのリモートコピー停止後のデータ同期化方式
JP2004272884A5 (ja)
JP2008009660A (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
EP1840747A1 (en) Remote copying system and method of controlling remote copying

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060523

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080213

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111122