JP4907630B2 - ジャーナルを利用したリモートコピーを行う計算機システム - Google Patents

ジャーナルを利用したリモートコピーを行う計算機システム Download PDF

Info

Publication number
JP4907630B2
JP4907630B2 JP2008272590A JP2008272590A JP4907630B2 JP 4907630 B2 JP4907630 B2 JP 4907630B2 JP 2008272590 A JP2008272590 A JP 2008272590A JP 2008272590 A JP2008272590 A JP 2008272590A JP 4907630 B2 JP4907630 B2 JP 4907630B2
Authority
JP
Japan
Prior art keywords
journal
primary
command
jnl
storage
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.)
Expired - Fee Related
Application number
JP2008272590A
Other languages
English (en)
Other versions
JP2010102463A5 (ja
JP2010102463A (ja
Inventor
一英 佐野
勝博 奥元
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 JP2008272590A priority Critical patent/JP4907630B2/ja
Priority to US12/329,907 priority patent/US8539178B2/en
Priority to EP09251128A priority patent/EP2184682B1/en
Priority to AT09251128T priority patent/ATE537503T1/de
Priority to CN200910203115.XA priority patent/CN101727366B/zh
Publication of JP2010102463A publication Critical patent/JP2010102463A/ja
Publication of JP2010102463A5 publication Critical patent/JP2010102463A5/ja
Application granted granted Critical
Publication of JP4907630B2 publication Critical patent/JP4907630B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/2074Asynchronous techniques
    • 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
    • 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/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ジャーナルを利用したリモートコピーに関する。
例えば、特許文献1には、以下の技術が開示されている。すなわち、プライマリストレージシステムが、プライマリのホスト計算機からライトデータを受領し、ライトデータ受領後直ちに、ライトデータの受領完了を、プライマリのホスト計算機に報告する。このあと、ホスト計算機は、ライトデータのコピーを、プライマリストレージシステムから読み出す。このライトデータには、ライトデータについてのライト要求が発行された時刻であるライト時刻が付与されていて、ライトデータがプライマリのホスト計算機に読み出される際には、ライト時刻もプライマリのホスト計算機に渡される。さらに、プライマリのホスト計算機は、ライトデータとライト時刻をセカンダリのホスト計算機に転送する。セカンダリのホスト計算機は、ライトデータとライト時刻を受領し、ライト時刻などの情報をセカンダリストレージシステムにある制御用のボリュームに書き込み、さらに、各ライトデータに付与されたライト時刻を参照して、ライト時刻順に、ライトデータをセカンダリストレージシステムに書き込む。
欧州特許出願公開第0672985号明細書
特許文献1に開示の技術では、ライトデータに付与されたライト時刻(タイムスタンプ)を利用することで、データのコンシステンシーが保たれる。このため、ホスト計算機がライトデータにライト時刻を付与しない計算機システムには、この技術を適用することはできない。具体的には、例えば、ライト要求にライト時刻を付与できるいわゆるメインフレームの計算機を含んだ計算機システムには、特許文献1に開示の技術を適用し得るが、ライト要求にライト時刻を付与しないいわゆるオープンシステムの計算機を含んだ計算機システムには、特許文献1に開示の技術を適用し得ない。
そこで、本発明の目的は、プライマリストレージシステムが受領するライト対象のデータにタイムスタンプが付与されていなくても、セカンダリストレージシステムに記憶されるデータの整合性を保つことにある。
一以上の計算機の一つに、ストレージ管理部が備えられる。ストレージ管理部は、定期的に又は不定期的に、一以上(例えば二以上)のプライマリストレージシステムに、直前回に発行したIDの次のIDを発行する。各プライマリストレージシステムが、一以上の計算機のいずれかからライトコマンドを受けた場合、ライト対象のデータをプライマリボリュームに書込み、そのライト対象のデータの複製であるジャーナルデータと第一の計算機からの最新のIDとを含んだジャーナルを作成して、作成したジャーナルをプライマリジャーナル記憶領域に格納し、そのジャーナルを、接続先のセカンダリストレージシステムに転送する。セカンダリストレージシステムは、受信したジャーナルをセカンダリジャーナル記憶領域に書込み、セカンダリジャーナル記憶領域に蓄積されている一以上のジャーナルのうちの特定のジャーナルまで、ジャーナル内のジャーナルデータをセカンダリボリュームに書き込む。特定のジャーナルとは、一以上のセカンダリストレージシステムにおける最新の到着済みIDのうちの最も古いIDよりも1つ古いIDを有するジャーナルである。
以下、図面を参照して、本発明の一実施形態を説明する。なお、以下の説明では、ストレージシステムを「DKC」という記号で表し、プライマリDKCを、「PDKC」という記号で表し、セカンダリDKCを、「SDKC」という記号で表すことにする。また、「ライト」という言葉を「WR」と略記し、「リード」という言葉を「RD」と略記することがある。
まず、図1乃至図3を参照して、本実施形態の概要を説明する。
図1は、本発明の一実施形態に係る計算機システムの構成例を示す。
DKC群18がある。DKC群18は、M×N構成となっている。すなわち、DKC群18は、プライマリサイト(Pサイト)15Pに属するM台のPDKCと、セカンダリサイト(Sサイト)15Sに属するN台のSDKCとで構成されている。Mは1以上の整数であり、Nは1以上の整数である。PDKCには、少なくとも一つのSDKCが接続され、SDKCには、少なくとも一つのPDKCが接続される。従って、例えば、2台のPDKCに1台のSDKCが接続されている構成が採用されても良い。本実施形態では、DKC群18は、2台のPDKC(M=2)11P1及び11P2と、2台のSDKC(N=2)11S1及び11S2とで構成されている。そして、PDKCとSDKCは1対1で接続されている。すなわち、PDKC11P1は、SDKC11S1に接続されておりSDKC11S1と互いに通信し、PDKC11P2は、SDKC11S2に接続されておりSDKC11S2と互いに通信する。
PDKC11P1(11P2)は、PVOL17P1(17P2)と、JVOL17PJ1(17PJ2)とを有する。一方、SDKC11S1(11S2)は、JVOL17SJ1(17SJ2)と、SVOL17S1(17S2)とを有する。
ここで、「PVOL」とは、プライマリボリュームの略であり、ホストからのライトコマンドで指定される論理ボリュームである。そのライトコマンドに従って、PVOLにライト対象のデータが書き込まれる。
「JVOL」とは、ジャーナルボリュームの略であり、ジャーナル(JNL)が書き込まれる論理ボリュームである。「JNL」とは、PVOLの更新履歴を表す情報であり、具体的には、例えば、JNCBとJNLデータとで構成される情報である。「JNCB」とは、JNLに関する管理情報(JNL管理情報)である。JNCBには、例えば、そのJNCBを有するJNLが何番目に作成されたかを表すシーケンス番号(SEQ#)や、そのJNL内のJNLデータに対応するライト対象のデータがどのPVOLのどの位置(例えばどのブロック)に書き込まれたかを表す更新位置情報や、後述するPサイト受領TS#が含まれる。「JNLデータ」は、ライト対象のデータの複製である。
「SVOL」とは、セカンダリボリュームの略であり、PVOLとペアを構成する論理ボリュームである。SVOLには、相手のPVOLに格納されたライト対象データの複製であるJNLデータが書き込まれる(つまり、PVOLに格納されたデータがSVOLにも格納されることになる)。
前述したPVOL、JVOL及びSVOLのいずれの論理ボリュームも、DKCが有する複数のHDD(Hard Disk Drive)(フラッシュメモリなど他の物理記憶装置でもよい)を基に形成される論理記憶装置である。
複数のホスト計算機(以下、ホスト)、例えば2台のホスト21A及び21Bが備えられる。ホスト21A及び21Bは、I/O発行部25を有する。I/O発行部25は、アプリケーションプログラム及び/又はオペレーティングシステム(以下、OS)で実現される。OSは、オープンシステム系のOSである。I/O発行部25は、I/Oコマンド、すなわちライトコマンド(以下、WRコマンド)又はリードコマンド(以下、RDコマンド)を送信する。そのI/Oコマンドでは、I/O先のPVOL(具体的には、例えばポート番号とLUN(Logical Unit Number)とのセット)が指定される。
ホスト21A及び21Bのうちの一つのホスト21Aのみに、RAIDマネージャ(以下、RM)23が備えられており、少なくともそのホスト21Aが、全てのPDKC11P1及び11P2に接続されている。RM23は、マイクロプロセッサで実行されるコンピュータプログラムであり、定期的に、全てのPDKC11P1及び11P2にタイムスタンプ番号(以下、TS#)を発行する。TS#は、時刻ではなく単なる番号である。TS#は、各PDKCに順次に発行されても良いし、全てのPDKC11P1及び11P2に一斉に送信されても良い。一つの回で、同一のTS#が全てのPDKC11P1及び11P2に送信される。その次の回で、そのTS#の次のTS#((直前回のTS#)+1の番号)が、全てのPDKC11P1及び11P2に送信される。各PDKC11P1及び11P2は、TS#を受領する都度に、Pサイト受領TS#を、その受領したTS#に更新する。この結果、各PDKC11P1及び11P2には、受領したTS#のうちの最新のTS#がPサイト受領TS#として管理される。
以下、PDKC11P1とSDKC11S1の組を主に例に採って、PDKC11P1とSDKC11S1が行う処理を説明する。
PDKC11P1は、WRコマンドを受信した場合、下記(1−1)及び(1−2)、
(1−1)そのWRコマンドに従うWR対象のデータを、そのWRコマンドで指定されているPVOL17P1に書き込む;
(1−2)そのWR対象データの複製としてのJNLデータを含んだJNLを作成し、そのJNLをJVOL17PJ1に書き込む;
を行う。(1−2)で作成されたJNL内のJNCBには、そのJNLのSEQ#や、更新位置情報(例えば、WR対象データのWR先のPVOLのID(例えば、そのPVOLの番号又はLUN)や、PVOLにおけるWR先ブロックのアドレス)や、WRコマンドを受けたPDKC11P1で管理されているPサイト受領TS#が含まれている。
PDKC11P1は、JVOL17PJ1に蓄積されているJNLのうち、SDKC11S1に未転送のJNLを、SDKC11S1に送信する。
SDKC11S1は、受信したJNLをJVOL17SJ1に書き込む。
また、SDKC11S1は、JVOL17SJ1に蓄積されているJNLのうち、SVOL17S1に未反映のJNLを、SVOL17S1に反映する。「JNLを反映する」とは、JNL内のJNLデータを、そのJNL内のJNCBの更新位置情報から特定されるPVOLとペアを構成するSVOLに書き込むこと、つまりデータをリストアすることである。その際、JNLデータのWR先は、その更新位置情報から特定されるWR先ブロックアドレスと同じ又はそれに対応したアドレスのブロック(SVOL内のブロック)になる。JNLの反映は、JNLのSEQ#順に行われる。
SDKC11S1は、図2に示すように、リストア許可TS#、到着済みTS#及びリストア済みTS#を管理する。「リストア許可TS#」とは、どのJNLまでが反映可能であるかを特定する際に使用されるTS#である(リストア許可TS#については後に詳述する)。「到着済みTS#」とは、受信したJNLのうちの最新のJNL(SEQ#が最新であるJNL)が有するTS#である。「リストア済みTS#」とは、SVOL17S1に反映されたJNLのうち最新のJNL(SEQ#が最新であるJNL)が有するTS#である。
PDKC11P1は、図2に示すように、JNLを、SDKC11S1からのRD−JNLコマンドに応答して送信する。具体的には、例えば、SDKC11S1が、定期的に又は不定期的に、RD−JNLコマンドを、PDKC11P1に送信する。「RD−JNLコマンド」とは、JNLのRDコマンドである。SDKC11S1は、そのRD−JNLコマンドに、SDKC11S1が管理している到着済みTS#及びリストア済みTS#を含める。PDKC11P1は、RD−JNLコマンドを受信した場合に、下記(2A−1)及び(2A−2)、
(2A−1)RD−JNLコマンド内の到着済みTS#及びリストア済みTS#を記憶する;
(2A−2)JVOL17PJ1に蓄積されているJNLのうち、SDKC11S1に未転送のJNLを、RD−JNLコマンドに対するRDデータとして、SDKC11S1に送信する;
を行う。RD−JNLコマンドには、SDKC11S1が受信したJNLのうち最新のJNL(JVOL17SJ1に蓄積されているJNLのうちの最新のJNL)の次のJNLのSEQ#が指定されても良い。この場合、そのSEQ#を有するJNLが、JVOL17PJ1から読み出されてPDKC11P1からSDKC11S1に送信されJVOL17SJ1に書き込まれても良い。
SDKC11S1は、PDKC11P1からRDデータとしてJNLを受信した場合、下記(2B−1)及び(2B−2)、
(2B−1)受信したJNL内のTS#を、到着済みTS#として記憶する;
(2B−2)受信したJNLをJVOL17SJ1に書き込む;
を行う。なお、図2に示すように、SDKC11S1では、Pサイト到着TS#は、管理されないか、無効値“0”として管理される。
また、SDKC11S1は、JVOL17SJ1内の未反映のJNLをSVOL17S1に反映した場合、反映したJNL内のTS#を、リストア済みTS#として記憶する。
SDKC11S1(11S2)で管理されている到着済みTS#及びリストア済みTS#は、PDKC11P1(11P2)宛のRD−JNLコマンドに含められることで、PDKC11P1(11P2)に送信され、PDKC11P1(11P2)に記憶される。PDKC11P1(11P2)に記憶されている到着済みTS#は、図3に示すように、PDKC11P1(11P2)からRM23に送信される。
すなわち、図3に示すように、まず、RM23が、フリーズコマンドを、PDKC11P1及び11P2に送信する(S301A及びS301B)。「フリーズコマンド」とは、I/O処理を留保させる指示である。フリーズコマンドを受けたPDKC11P1及び11P2は、フリーズ状態となり(S302A及びS302B)、フリーズ状態の間は、I/Oコマンドをホスト21A又は21Bから受けても、そのI/Oコマンドで指定されているPVOLに対するI/Oを行わない(例えば、I/Oコマンドを受けてもホスト21A又は21Bに応答を返さない)。
次に、RM23は、報告コマンド(後述の状態取得コマンド)を、PDKC11P1及び11P2に送信する(S303A及びS303B)。PDKC11P1(及び11P2)は、報告コマンドを受けた場合、PDKC11P1(11P2)が管理している到着済みTS#203(到着済みTS#201)を、RM23に送信する(S304A(S304B))。
RM23は、PDKC11P1及び11P2から受けた2つの到着済みTS#のうちの最低値201を、リストア許可TS#201として決定する(S305)。
RM23は、リストア許可TS#201を、PDKC11P1及び11P2に送信する(S306A及びS306B)。PDKC11P1(11P2)は、RM23から受信したリストア許可TS#201を記憶し、そのリストア許可TS#をSDKC11S1(11S2)に転送する(S307A(S307B))。SDKC11S1(11S2)は、受信したリストア許可TS201を記憶する。
SDKC11S1(11S2)は、JVOL17SJ1(17SJ2)に記憶されている未反映のJNLのうち、リストア許可TS#201よりも1小さいTS#(つまりTS#200)を有するJNLまでを、SEQ#順に、SVOL17S1(17S2)に反映する(S308A(S308B))。
以上が、本実施形態の概要である。以上の説明において、例えば、下記(3−1)乃至(3−4)のうちの少なくとも一つが採用されて良い。
(3−1)到着済みTS#及びリストア済みTS#のうちの少なくとも一方は、SDKC11S1(11S2)からRM23に通知されても良い。しかし、前述のように、PDKC11P1(11P2)経由で到着済みTS#及びリストア済みTS#がRM23に通知されるようになっていれば、RM23を有するホスト21Aが、SDKC11S1(11S2)に接続されていなくても良い(或いは、接続を切替えなくても良い)。
(3−2)リストア許可TS#それ自体が、到着済みTS#の最低値より1小さいTS#であっても良い。この場合、S308A及びS3083Bでは、リストア許可TS#を有するJNLまでが、反映される。
(3−3)RM23は、ホストではなく、PDKC11P1及び11P2を管理する管理計算機に備えられる。
(3−4)JNLのうちのJNCBは、JVOL以外の記憶領域(例えば、DKCが有するコントローラ内のメモリ)で管理されても良い。
以上の説明によれば、ホストが、WRコマンド内にタイムスタンプを付与できなくても、一以上のSDKCにおいてデータの整合性を保つことができる。
以下、本実施形態について、詳細に説明する。
図4は、各DKCの構成を示す。
前述したように、少なくともホスト21Aが、PDKC11P1及び11P2に接続されている。また、PDKC11P1(11P2)とSDKC11S1(11S2)とが、互いに通信する。
DKC11P1,11P2,11S1,11S2は、全てが同じ構成であっても良いし、異なる構成であっても良いが、本実施形態では同じ構成であるとする。具体的には、例えば、PDKC11P1(11P2,11S1,11S2)は、論理ボリュームの基になる複数の物理記憶装置と、前記複数の物理記憶装置に対するI/Oを制御するコントローラとを備える。コントローラは、例えば、複数のポート31P1(31P2,31S1,31S2)と、複数のCHA32P1(32P2,32S1,32S2)と、CM33P1(33P2,33S1,33S2)と、SM34P1(34P2,34S1,34S2)と、複数のDKA35P1(35P2,35S1,35S2)とを有する。
ポート31P1(31P2)は、ホスト21AからTS#を受けたり、ホスト21A及び/又は21BからI/Oコマンドを受けたりする。ポート31S1(31S2)は、RDデータ(JNL)をPDKC11P1(11P2)から受ける。
CHAは、チャネルアダプタの略である。CHA32P1(32P2)は、ポート31P1(31P2)、マイクロプロセッサ及びメモリ等を有し、ホスト21A、21Bとの通信を制御するインタフェース装置である。複数のCHA32P1(32P2)のうちの少なくとも一つは、CHA32S1(32S1)のポート31S1(31S2)に接続され、CHA32S1(32S1)との通信(SDKC11S1(11S2)との通信)を制御する。
CMは、キャッシュメモリの略である。CM33P1(33P2)は、PVOL17P1(17P2)とホスト21A、21Bとの間でやり取りされるデータ(WR対象及びRD対象のデータ)を一時的に記憶するメモリである。CM33S1(33S2)は、SVOL17S1(17S2)に対してWR又はRDされるデータを一時的に記憶するメモリである。
SMは、共有メモリの略である。SM34P1(34P2,34S1,34S2)は、CHA32P1(32P2,32S1,32S2)とDKA35P1(35P2,35S1,35S2)からアクセスされるメモリである。SM34P1(34P2,34S1,34S2)は、種々の管理情報を記憶する。管理情報としては、例えば、DKC11P1(11P2,11S1,11S2)の構成に関する情報(例えばどの物理記憶装置を基にどのVOLが形成されているかや、そのVOLのIDなど)や、後述するペア管理テーブル及びJNLグループ管理テーブルがある。
DKAは、ディスクアダプタの略である。DKA35P1(35P2,35S1,35S2)は、マイクロプロセッサ及びメモリ等を有し、物理記憶装置との通信を制御するインタフェース装置である。
以下、PDKC11P1及びSDKC11S1を例に採り、PDKC11P1及びSDKC11S1の機能を説明する。
図5は、PDKC11P1が有する機能ブロックとSDKC11S1が有する機能ブロックとを示す。
複数のポート31P1のうちの少なくとも一つがホスト21Aに接続されており、複数のポート31P1のうちの少なくとも一つが、DKC間ポート(イニシエータポート)として、DKC間ポート(ターゲットポート)としてのポート31S1に、例えばFibre Channel用のケーブルで接続されている。これらのDKC間ポートを介して、RD−JNLコマンドやRDデータの送受信が行われる。
PDKC11P1では、例えばCHA32P1が、TS処理部51P1、I/O処理部52P1、JNL作成部53P1、JNL−RD受領処理部54P1、F/R受領処理部55P1及びペア状態変更部56P1を有し、SM34P1が、ペア管理テーブル57P1及びJNLグループ管理テーブル58P1を記憶している。一方、SDKC11S1では、例えばCHA32S1が、JNL−RD処理部61S1、リストア処理部62S1及びペア状態変更部56S1を有し、SM34S1が、ペア管理テーブル57S1及びJNLグループ管理テーブル58S1を記憶している。各部51P1〜56P1、61S1、62S1及び56S1は、例えば、マイクロプロセッサで実行されるコンピュータプログラムであるが、これらの部のうちの少なくとも一つの全部又は一部が、ハードウェアで構成されても良い。
TS処理部51P1は、RM23からのTS#の処理を行う。
I/O処理部52P1は、ホストからのI/Oコマンドに従うI/O処理を行う。
JNL作成部53P1は、PVOL17P1に書き込まれるWR対象のデータの複製であるJNLデータなどを含んだJNLを作成しJVOL17PJ1に書き込む。
JNL−RD受領処理部54P1は、RD−JNLコマンドに応答してJNLをJVOL17PJ1から読み出す処理を行う。
F/R受領処理部55P1は、RM23からのフリーズコマンド及びRUNコマンドに応答した処理を行う。ここで言う「RUNコマンド」とは、フリーズ状態を解除するコマンドである。
ペア状態変更部56P1(56S1)は、PVOL17P1(17P2)とSVOL17S1(17S2)とのペアの状態を変更する処理を行う。
JNL−RD処理部61S1は、RD−JNLコマンドを送信する処理を行う。
リストア処理部62S1は、JVOL17SJ1(17SJ2)に蓄積されている未反映のJNLをSVOL17S1(17S2)に反映する処理を行う。
ペア管理テーブル57P1(57S1)は、どのPVOLとのSVOLとでペアが構成されておりそのペアがどんな状態であるかを管理するためのテーブルである。
JNLグループ管理テーブル58P1(58S1)は、JNLグループに関する情報を管理するためのテーブルである。
図6Aは、ペア管理テーブル57P1の構成例を示す。図6Bは、ペア管理テーブル57S1の構成例を示す。
ペア管理テーブル57P1(57S1)には、PVOL(SVOL)毎に、ボリューム番号、ボリューム属性、JNLグループ番号、ペア状態、相手ボリューム番号及び相手JNLグループ番号が登録される。以下、一つのVOL(以下、図6A及び図6Bの説明において「対象ボリューム」を例に採り、各項目について説明する。
ボリューム番号は、対象ボリュームの識別番号である。ボリューム番号は、例えば、LUNに関連付けられる。このため、例えば、WRコマンドで指定されているLUNから、そのLUNに関連付けられているボリューム番号が特定され、そのボリューム番号から、WR先のPVOLが特定される。
ボリューム属性は、対象ボリュームの属性である。属性を表す値としては、例えば、PVOLであることを表す“P”や、SVOLであることを表す“S”がある。
JNLグループ番号は、対象ボリュームが属するJNLグループの識別番号である。
ペア状態は、対象ボリュームを有するペアの状態である。ペア状態としては、例えば、PVOLとSVOLの内容が同じ内容であることを意味する“PAIR”、PVOLからSVOLへのコピーが中断されている状態であることを意味する“Suspend”、及び、PVOLからSVOLへのコピーが行われている状態であることを意味する“Copy”がある。
相手ボリューム番号は、対象ボリュームとペアを構成するボリュームの識別番号である。
相手JNLグループ番号は、対象ボリュームが属するJNLグループとペアを構成するJNLグループの識別番号である。
図6Aに示したテーブル57P1によれば、PDKC11P1は、ボリューム番号“0000”のPVOLが、ボリューム番号“1000”のSVOLとペアになっていることがわかる。一方、図6Bに示したテーブル57S1によれば、SDKC11S1は、ボリューム番号“1000”のSVOLが、ボリューム番号“0000”のPVOLとペアになっていることがわかる。
ここで、JNLグループについて、図7を参照して説明する。すなわち、JNLグループは、各DKCにおける複数のVOLの集合である。JNLグループに、1つ以上のJVOLと、1以上のPVOL(SVOL)が属する。そして、PDKCにおけるJNLグループとSDKCにおけるJNLグループとで、ペアが構成される。また、複数のJNLグループペアで、一つのコンシステンシーグループが形成される。本実施形態では、このコンシステンシーグループにおいて、データの整合性が維持される。
図8は、JNLグループ管理テーブル58P1(58S1)の構成例を示す。
JNLグループ管理テーブル58P1(58S1)は、JNLグループ毎に用意されるテーブルである。JNLグループ管理テーブル58P1(58S1)に含まれる情報要素には、例えば、JNLグループ状態、JVOLのボリューム番号、JNLグループ番号、各種SEQ#、OPEN M*N有効フラグ、フリーズ情報、フリーズ状態設定時間、Pサイト受領TS#、リストア許可TS#、到着済みTS#及びリストア済みTS#が含まれる。従って、前述したPサイト受領TS#、リストア許可TS#、到着済みTS#及びリストア済みTS#は、一つのDKCにおいて、JNLグループ毎に管理される。
JNLグループ番号は、JNLグループの識別番号である。
各種SEQ#としては、例えば、一番新しく作成されたJNLのSEQ#であるJNCB SEQ#がある。
OPEN M*N有効フラグは、PDKCが2台以上存在する場合に立つフラグである。
フリーズ情報は、フリーズ状態であるか否かを表す情報である。
フリーズ状態設定時間は、フリーズ状態の開始時刻である。
以下、本実施形態で行われる処理を詳細に説明する。
図9は、WRコマンドを受けた場合にPDKCが行う処理の流れを示す。以下、PDKC11P1を例に採り説明する。
例えばホスト21BからWRコマンドが発行された場合(S801)、PDKC11P1がWRコマンドを受領する(S802)。そのWRコマンドに従うWR対象のデータは、I/O処理部52P1によってCM33P1に書き込まれる。
I/O処理部52P1は、受信したWRコマンドで指定されているPVOL(WR先PVOL)が属するJNLグループをペア管理テーブル57P1から特定し、特定されたJNLグループに対応するJNLグループ管理テーブル58P1内のフリーズ情報を取得する(S803)。
S803で取得されたフリーズ情報がフリーズ状態であることを表していれば(S804:YES)、I/O処理部52P1は、スリープ状態となる(S805)。具体的には、S802で受けたWRコマンドに対して何ら応答がホスト21Bに返されない。
S803で取得されたフリーズ情報がフリーズ状態でないことを表していれば(S804:NO)、I/O処理部52P1は、ペア管理テーブル57P1から、WR先PVOLに対応したペア状態を取得する(S806)。
S806で取得されたペア状態が“PAIR”又は“Copy”であれば(S807:YES)、JNL作成部53P1が、WR対象のデータの複製であるJNLデータとPサイト受領TS#を有するJNCBとを含んだJNLを作成する(S808)。作成されたJNLは、JVOL17PJ1に格納される。I/O処理部52P1は、ホスト21Bへ終了を報告する(S809)。なお、JNCBに含まれる情報要素としては、例えば図18に示すように、Pサイト受領TS#の他に、JNCBが作成された時刻である更新時刻や、WR対象データの書き込み先に関する更新位置情報や、SEQ#が含まれる。
S806で取得されたペア状態が“Suspend”であれば(S810:YES)、I/O処理部52P1は、WR先PVOLを構成するペアに対応した差分ビットマップにおける、WRコマンドに従うWR先ブロックに対応したビットを、差分ビットとして設定する(S811)。この後、前述したS809が行われる。
なお、差分ビットマップを構成する各ビットは、PVOLを構成する各ブロックに対応する。ペア状態が“Suspend”から“Copy”に変わった場合に、差分ビットに対応したブロック毎に、ブロック(PVOL内のブロック)に格納されているデータの複製をJNLデータとして含んだJNLが作成され、JVOL17PJ1に格納される。
また、図9には示していないが、S804:NOの場合、WR対象のデータが、WRコマンドで指定されているWR先ブロック(WR先PVOL内のブロック)に書き込まれる。
図10は、RD−JNLコマンドを送信する場合にSDKCが行う処理の流れを示す。
定期的にJNL−RD処理部61S1が起動する(S901)。
JNL−RD処理部61S1は、JNL管理テーブル58S1を参照し、JNLグループ状態を取得する(S902)。
S902で取得したJNLグループ状態が“開始”であれば(S903:YES)、JNL−RD処理部61S1は、S902で参照したJNL管理テーブル58S1を参照し、OPEN M*N有効フラグを取得する(S904)。
S904で取得したフラグが“有効”を表していなければ(S905:NO)、JNL−RD処理部61S1は、RD−JNLコマンドパラメータを作成し(S909)、そのパラメータを含んだRD−JNLコマンドを発行する(S910)。
S904で取得したフラグが“有効”を表していれば(S905:YES)、JNL−RD処理部61S1は、S902で参照したJNL管理テーブル58S1を参照し、リストア済みTS#及び到着済みTS#を取得する(S906及びS907)。そして、JNL−RD処理部61S1は、取得したリストア済みTS#及び到着済みTS#を含んだRD−JNLコマンドパラメータを作成し(S908)、そのパラメータを含んだRD−JNLコマンドを発行する(S910)。
RD−JNLコマンドパラメータに含まれる情報要素の一例を図19に示す。S908で作成されるRD−JNLコマンドパラメータには、RD−JNLモード、PDKCでのJNLグループ番号、リストア済みTS#及び到着済みTS#が含まれ、RD−JNLモードは、例えば、“特殊リード”である。一方,S909で作成されるRD−JNLコマンドパラメータには、リストア済みTS#及び到着済みTS#は含まれず、また、RD−JNLモードは“通常リード”、“リトライリード”又は“パージ指示”である。また、PDKCでのJNLグループ番号は、S902で参照したJNL管理テーブル58S1に登録されているJNLグループ番号に対応する相手JNLグループ番号(ペア管理テーブル57S1から特定される番号)である。
図11は、RD−JNLコマンドを受けた場合にPDKCが行う処理の流れの一部を示し、図12は、その流れの残りを示す。
図11に示すように、PDKC11P1がRD−JNLコマンドをSDKC11S1から受領した場合(S1001)、JNL−RD受領処理部54P1は、そのコマンドからコマンドパラメータを取得し(S1002)、そのパラメータからRD−JNLモードを取得する(S1003)。
S1003で取得したRD−JNLモードが“通常リード”又は“リトライリード”である場合(S1004:YES)、JNL−RD受領処理部54P1は、未転送のJNLがあれば(S1006:YES)、JNLをJVOL17PJ1から取得し(S1007)、転送パラメータを作成し(S1008)、そのパラメータと共に、S1007で取得したJNLを、RDデータとしてSDKC11S1に転送する(S1009)。一方、未転送のJNLがなければ(S1006:NO)、JNL−RD受領処理部54P1は、転送パラメータを作成し(S1010)、そのパラメータと共にNO−JNL(JNL無しを表す情報)を、RDデータとしてSDKC11S1に転送する(S1011)。
S1003で取得したRD−JNLモードが“パージ指示”の場合(S1004:NO、図12のS1101:NO)、図12に示すように、JNL−RD受領処理部54P1は、転送済みのJNLがJVOL17PJ1にあれば(S1008:YES)、そのJNLをJVOL17PJ1から削除するパージ処理を行う(S1109)。
S1003で取得したRD−JNLモードが“特殊リード”の場合(S1004:NO、図12のS1101:YES)、図12に示すように、JNL−RD受領処理部54P1は、未転送のJNLがあれば(S1103:YES)、JNLをJVOL17PJ1から取得する(S1104)。また、JNL−RD受領処理部54P1は、S1002で取得したパラメータ内のJNLグループ番号を有するJNL管理テーブル58P1からリストア許可TS#を取得する(S1105)。JNL−RD受領処理部54P1は、取得したリストア許可TS#を含んだ転送パラメータを作成し(S1106)、そのパラメータと共に、S1104で取得したJNLを、RDデータとしてSDKC11S1に転送する(S1107)。一方、未転送のJNLがなければ(S1103:NO)、JNL−RD受領処理部54P1は、S1002で取得したパラメータ内のJNLグループ番号を有するJNL管理テーブル58P1からPサイト受領TS#及びリストア許可TS#を取得し(S1110及びS1111)、取得した各TS#を含んだ転送パラメータを作成し(S1112)、そのパラメータと共にNO−JNL(JNL無しを表す情報)を、RDデータとしてSDKC11S1に転送する(S1113)。
図13は、RDデータを受けた場合にSDKCが行う処理の流れを示す。
SDKC11S1がPDKC11P1からRDデータを受けた場合、JNL−RD処理部61S1が起動する(S1201)。
JNL−RD処理部61S1は、RDデータの受信の契機となった、発行したRD−JNLコマンドをチェックする(S1202)。
S1202でチェックしたRD−JNLコマンドのRD−JNLモードが“通常リード”又は“リトライリード”の場合(S1203:YES)、JNL−RD処理部61S1は、RDデータにJNLがあれば(S1204:YES)、RDデータからJNLを取得し(S1205)、取得したJNLをJVOL17SJ1に書き込む(S1206)。
S1202でチェックしたRD−JNLコマンドのRD−JNLモードが“特殊リード”の場合(S1203:YES、S1207:YES)、RDデータにJNLがあれば(S1208:YES)、JNL−RD処理部61S1は、RDデータからリストア許可TS#(以下、図13の説明において“X”)を取得し、取得したXを、S1202でチェックしたRD−JNLコマンドに対応するJNL管理テーブル58S1に、リストア許可TS#として設定する(S1209)。また、JNL−RD処理部61S1は、RDデータからPサイト受領TS#(以下、図13の説明において“W”)を取得し、取得したWを、S1202でチェックしたRD−JNLコマンドに対応するJNL管理テーブル58S1に、到着済みTS#として設定する(S1210)。また、JNL−RD処理部61S1は、RDデータからJNLを取得し(S1211)、取得したJNLをJVOL17SJ1に書き込む(S1212)。一方、RDデータにJNLが無ければ(S1208:NO)、JNL−RD処理部61S1は、RDデータからリストア許可TS#(以下、図13の説明において“Y”)を取得し、取得したYを、S1202でチェックしたRD−JNLコマンドに対応するJNL管理テーブル58S1に、リストア許可TS#として設定する(S1213)。また、JNL−RD処理部61S1は、RDデータからPサイト受領TS#(以下、図13の説明において“Z”)を取得し、取得したZを、S1202でチェックしたRD−JNLコマンドに対応するJNL管理テーブル58S1に、到着済みTS#として設定する(S1214)。
ところで、RM23は、前述したように、定期的にTS#を発行するが、RM23は、図14に示す定義ファイルに基づいて動作する。
定義ファイル69には、例えば、下記情報、
(14−1)TS#の発行先となる全てのPDKCに関する情報(例えばDKCの製造番号)、
(14−2)各PDKCについてのコマンドデバイス番号(TS#の発行の際に指定されるデバイス番号)、
(14−3)各PDKCが有する各PVOLに関する情報(例えばPVOLのボリューム番号(LDEV#))、
(14−4)TS発行間隔(TS#を発行してから次にTS#を発行するまでの時間間隔)、
が含まれる。図14に示した定義ファイル69を基に、RM23は、そのファイル69で指定されているTS発行間隔で、TS設定コマンドを、Serial#64034のDKC(以下、PDKC11P1とする)及びSerial#64045のDKC(以下、PDKC11P2とする)に発行する。そのコマンドには、図15に示すように、下記(15−1)乃至(15−3)の情報要素、
(15−1)コマンドコード(ここでは、TS設定コマンドであることを意味するコード)、
(15−2)JNLグループ番号、
(15−3)TS#、
が含まれる。図16に示すように、PDKCがTS設定コマンドを受けた場合(S1401)、TS処理部51P1が、そのコマンドからTS#を取得し(S1402)、そのコマンド内のJNLグループ番号に対応したJNL管理テーブル58P1に、取得したTS#をPサイト受領TS#として設定し(S1403)、RM23へ処理終了を報告する(S1404)。
また、RM23は、例えば定期的に、リストア許可TS#をPDKC11P1及び11P2に送信する。
具体的には、例えば、図17に示すように、RM23は、Serial#64034のDKC(PDKC11P1)に状態取得コマンドを発行する(S1301)。状態取得コマンドには、例えば、JNLグループ番号が含まれている。図21に示すように、PDKC11P1(11P2)が状態取得コマンドを受けた場合(S1901)、例えばPDKC11P1では、図21に示すように、TS処理部51P1が、マイクロバージョンを取得する(S1902)。また、TS処理部51P1は、状態取得コマンド内のJNLグループ番号に対応したJNL管理テーブル58P1を参照し、JNLグループ状態、Pサイト受領TS#、到着済みTS#及びリストア済みTS#を取得し(S1903、S1904、S1905、S1906)、S1902乃至S1906で取得した情報を含んだ応答情報(図20参照)を作成して(S1907)、その応答情報をRM23に送信する(S1908)。
RM23は、図17に示すように、状態取得コマンドに対する応答情報を受信したら(S1302)、応答情報に含まれているマイクロバージョンを確認する(S1303)。
S1303により(又は他の方法で)、PDKC11P1がOPEN M*Nをサポートしていることが特定された場合(S1304:YES)、RM23は、S1302で受信した応答情報からJNLグループ状態を取得する(S1305)。そのJNLグループ状態が“開始”であれば、RM23は、PDKC11P1のTS#として、その応答情報に含まれている到着済みTS#を設定する(S1307)。
前述したS1301乃至S1307と同様の処理が、PDKC11P2についても行われる(S1308乃至S1314)。
そして、RM23は、S1307で設定したTS#とS1314で設定したTS#とのうちの最低値を、発行するリストア許可TS#として決定する(S1315)。RM23は、決定されたリストア許可TS#を、PDKC11P1及び11P2に送信する(S1316及びS1317)。リストア許可TS#は、例えば、S1301及びS1308で発行した状態取得コマンドに含めたJNLグループ番号と共に送信される。
PDKC11P1(11P2)は、RM23から受信したリストア許可TS#を、そのTS#に対応したJNLグループ管理テーブル58P1に登録する。また、PDKC11P1(11P2)は、JNLグループ管理テーブル58P1に登録されているリストア許可TS#を、SDKC11S1(11S2)に転送する。リストア許可TS#の転送は、PDKC11P1(11P2)が能動的に行っても良いし、例えばSDKC11S1(11S2)からのRD−JNLコマンドに対するRDデータの送信の際に行われても良い。SDKC11S1(11S2)は、PDKC11P1(11P2)から受信したリストア許可TS#を、そのTS#に対応したJNLグループ管理テーブル58S1に登録する。
SDKC11S1(11S2)では、前述したように、リストア許可TS#よりも1つ小さいTS#を有するJNLまでが、SVOL17S1(17S2)に反映される。その理由は、図22に示す通りである。すなわち、SDKC11S1での到着済みTS#が“5”、SDKC11S2での到着済みTS#が“4”であるとした場合、リストア許可#は、それらの最低値である“4”になるが、SDKC11S2では、今後もTS#4を含んだJNLを受ける可能性がある。つまり、SDKC11S2では、TS#4についてのJNLデータが確定しているわけではない。このため、リストア許可TS#4よりも1つ小さいTS#3を含んだJNLまでが、SDKC11S1及び11S2において反映されるのである。
また、前述の説明によれば、PDKC11P1(11P2)は、RD−JNLコマンドを受けた場合、未転送のJNLが無ければ、Pサイト受領TS#を含んだNO−JNLを転送する。これにより、DKC群18に、WRコマンドをしばらく受けていないPDKCが含まれていても、そのPDKC以外のPDKCとペアになっているSDKCにおいて未反映のJNLが多くなりすぎそれ故にJVOLでJNLが満杯になってしまうといったことを未然に防ぐことが期待できる。具体例としては、図23A及び図23Bに示す通りである。
すなわち、図23Aに示すように、例えばPDKC11P2がしばらくWRコマンドを受けていない状況において、PDKC11P2がRD−JNLコマンドを受けて未転送のJNLが無い場合、NO−JNLを送信する機能がなければ、いつまでも、PDKC11P2が管理するPサイト受領TS#70がSDKC11S2に転送されず、それ故、SDKC11S2が管理する到着済みTS#5が更新されない。このため、リストア許可TS#も、SDKC11S2での到着済みTS#5と同じ値のままである。従って、SDKC11S1では、リストア許可TS#5よりも1つ小さいTS#4を有するJNLまでが反映されるものの、次のTS#5を有するJNL以降のJNLは未反映のままJVOL17SJ1に残ることになる。また、PDKC11P1でWRコマンドが受領される都度に、新たなJNLが作成される。新たなJNLは、SDKC11S1に転送されて、JVOL17SJ1に書き込まれる。それ故、JVOL17SJ1が満杯になり、新たにJNLを格納できない可能性が生じる。
そこで、本実施形態では、図23Bに示すように(つまり、これまで説明してきたように)、例えばPDKC11P2がしばらくWRコマンドを受けていない状況において、PDKC11P2がRD−JNLコマンドを受けて未転送のJNLが無い場合、PDKC11P2は、JNLを有さないがPサイト受領TS#を有するRDデータ、つまりNO−JNLを、SDKC11S2に送信する。これにより、図23Bに示す例によれば、SDKC11S1及び11S2から取得される到着済みTS#は共に“70”となり、それ故、リストア許可TS#も“70”となり、SDKC11S1では、TS#69を有するJNLまでをSVOL17S1に反映可能となる。これにより、JVOL17SJ1が未反映のJNLで満杯になってしまうおそれを未然に防ぐことが期待できる。
また、前述の説明によれば、RM23は、TS設定コマンドを送信する前に、フリーズコマンドを、PDKC11P1及び11P2に送信する。このため、更新順序を保つことができる。
例えば、図24に示すように、RM23は、PDKC11P1及び11P2にフリーズコマンドを送信し(S241A、S241B)、その後で、TS#5を含んだTS設定コマンドを、PDKC11P1及び11P2に送信する(S242A、S242B)。
RM23とは独立して、I/O発行部25は稼動している。別の言い方をすれば、TS設定コマンドが発行されるタイミングは、WRコマンドが発行されるタイミングに依存しない。このため、図24に例示するように、RM23がPDKC11P1にTS設定コマンド(TS#5)を送信してからPDKC11P2にTS設定コマンド(TS#5)を送信するまでの間に(つまりS242AとS242Bとの間に)、I/O発行部25が、WRコマンドをPDKC11P1に送信し別のWRコマンドをPDKC11P2に送信することがあり得る。しかし、この時点において、PDKC11P1及び11P2は、いずれも、フリーズ状態になっているため、受領したWRコマンドに応答した処理を行わず、フリーズ状態が解除された後に、その処理を行う。フリーズ状態の間に、S241A及びS241Bで発行されたTS設定コマンド内のTS#5が、PDKC11P1及び11P2においてPサイト受領TS#として管理される。このため、フリーズ状態が解除された場合には、図24に示すように、PDKC11P1では、S242AでのWRコマンドに応答したWR処理が行われた場合、TS#5を含んだJNL2401が作成され、同様に、PDKC11P1でも、S242BでのWRコマンドに応答したWR処理が行われた場合、TS#5を含んだJNL2402が作成される。
以上のことから、TS設定コマンドの受領前にフリーズコマンドが発行されないと、次のような問題が生じ得る。すなわち、図25に示すように、前述したS242AとS242Bとの間に、PDKC11P1及び11P2がWRコマンドを受領した場合、PDKC11P1では、S242Aで受領したTS設定コマンド内のTS#5を含んだJNL2501が作成されるが、PDKC11P2では、S242BでTS設定コマンドを受領する前のPサイト受領TS#4を含んだJNL2502が作成される。この結果、PDKC11P1の方が早くWRコマンドを受けたにも関わらず、PDKC11P2で作成されるJNLに含まれるTS#の方が若い値となる。つまり、更新順序が逆転してしまうことになる。
従って、前述したように、RM23がTS設定コマンドを送信する前にフリーズコマンドを送信することにより、DKC群18における更新順序を保つことができる。
図26は、フリーズコマンドを受けた場合にPDKCが行う処理の流れを示す。
例えばPDKC11P1がフリーズコマンドを受けた場合(S2601)、F/R受領処理部55P1が、そのフリーズコマンドで指定されているJNLグループ番号に対応したJNLグループ管理テーブル(以下、図26の説明において、「対象JNLグループ管理テーブル」と言う)58P1からフリーズ情報を取得する(S2602)。
S2602で取得したフリーズ情報がフリーズ中を表していなければ(S2603:NO)、F/R受領処理部55P1は、例えばタイマから現在時刻を取得し(S2606)、取得した現在時刻を、対象JNLグループ管理テーブルに、フリーズ状態設定時間として書き込む(S2607)。また、F/R受領処理部55P1は、対象JNLグループ管理テーブルに、フリーズ中を表すフリーズ情報を設定する(S2608)。
一方、S2602で取得したフリーズ情報がフリーズ中を表していれば(S2603:YES)、F/R受領処理部55P1は、対象JNLグループ管理テーブルからフリーズ状態設定時間を取得する(S2604)。S2604で取得したフリーズ状態設定時間が表す時刻と現在時刻との差が所定時間を超えていなければ(つまりタイムオーバーが生じていなければ)(S2605:NO)、本処理が終了する。一方、タイムオーバーが生じていれば(S2605:YES)、F/R受領処理部55P1は、解析用のログを出力し(S2609)、対象JNLグループ管理テーブルに登録されているフリーズ情報を、フリーズ中ではないことを表す情報に更新する(S2610)。
図26を参照した説明によれば、フリーズ状態は、タイムオーバーにより解除されるが、それに代えて又は加えて、RM23からのコマンドによって、フリーズ状態が解除されても良い。以下、フリーズ状態の解除コマンドを、「RUNコマンド」と言う。
図27は、RUNコマンドを受けた場合にPDKCが行う処理の流れを示す。
例えばPDKC11P1がRUNコマンドを受けた場合、F/R受領処理部55P1は、RUNコマンドで指定されているJNLグループ番号に対応したJNLグループ管理テーブル(以下、図27の説明において、「対象JNLグループ管理テーブル」と言う)58P1からフリーズ情報を取得する(S2702)。
S2602で取得したフリーズ情報がフリーズ中を表していれば(S2703:YES)、F/R受領処理部55P1は、対象JNLグループ管理テーブルに登録されているフリーズ情報を、フリーズ中ではないことを表す情報に更新する(S2704)。
さて、本実施形態において、図28に示すように、RM23に障害が発生し、RM23がその障害から回復した場合、RM23は、回復後初めて送信するTS設定コマンドにどんなTS#を設定すべきかを判定する処理を行う。具体的には、図29に示す処理が行われる。
すなわち、RM23は、PDKC11P1に、或るJNLグループ(以下、図29の説明において「対象グループ」と言う)について状態取得コマンドを送信することにより(S2901)、PDKC11P1が現在記憶している、対象JNLグループに対応したPサイト受領TS#(図28の例によれば、TS#100)を、PDKC11P1から受領する(S2902)。同様に、RM23は、PDKC11P2に、対象JNLグループについて状態取得コマンドを送信することにより(S2903)、PDKC11P2が現在記憶している、対象JNLグループに対応したPサイト受領TS#(図28の例によれば、TS#99)をPDKC11P1から受領する(S2904)。RM23は、S2902及びS2904で受領したPサイト受領TS#の最大値を判定し(S2905)、判定された最大値(図28の例によれば“100”)よりも1つ大きい値(つまり“101”)を、発行するTS#に決定する(S2906)。RM23は、決定したTS#を含んだTS設定コマンドを、PDKC11P1及び11P2に送信する(S2907)。
さて、本実施形態では、図30に示すように、ホスト21AといずれかのPDKC(例えばPDKC11P1)との間で障害が生じた場合(S3001)、図30乃至図32に示す処理が行われる。以下の説明では、図5を基に、PDKC11P2及びSDKC11S2が有するペア状態変更部を、ペア状態変更部56P2及び56S2と呼び、PDKC11P2及びSDKC11S2が有するペア管理テーブルを、ペア管理テーブル57P2及び57S2と呼ぶ。
RM23が、例えばPDKC11P1に状態設定コマンドを発行しても何ら応答が戻ってこない等の理由により、PDKC11P1との通信不可を検出する(S3002)。RM23は、通信可能なPDKC11P2に、サスペンドを指示する(S3003)。その指示に応答して、PDKC11P2では、ペア状態変更部56P2が、ペア管理テーブル57P2を参照し、全てのペアについて、ペア状態を“Suspend”に更新する(S3004A)。SDKC11S2では、PDKC11P2で全てのペアについてペア状態が“Suspend”に更新されたことが検知され、ペア状態変更部56S2が、ペア管理テーブル57S2における全てのペア状態を“Suspend”に更新する(S3004B)。PDKC11P2で全てのペアについてペア状態が“Suspend”に更新されたことは、PDKC11P2からSDKC11S2に積極的に通知されても良いし、SDKC11S2からの問合せに対する応答で通知されても良い。
この後、図31に示すように、S3001で発生した障害から回復した場合(S3101)、RM23は、障害からの回復に関わるPDKC11P1と、SDKC11S1との間に関する状態を、PDKC11P2とSDKC11S2との間に関する状態と同じ状態にする。すなわち、RM23は、PDKC11P2において全てのペア状態が“Suspend”とされていることをPDKC11P2から検知する(S3102)。この場合、RM23は、PDKC11P1に、サスペンドを指示する(S3104)。その指示に応答して、PDKC11P1では、ペア状態変更部56P1が、ペア管理テーブル57P1を参照し、全てのペアについて、ペア状態を“Suspend”に更新する(S3105A)。SDKC11S1では、PDKC11P1で全てのペアについてペア状態が“Suspend”に更新されたことが検知され、ペア状態変更部56S1が、ペア管理テーブル57S1における全てのペア状態を“Suspend”に更新する(S3105B)。
この後、RM23は、PDKC11P1に、リシンク(再同期)を指示する(S3201A)。その指示に応答して、PDKC11P1では、ペア状態変更部56P1が、ペア管理テーブル57P1を参照し、全てのペアについて、ペア状態を“Suspend”から“PAIR”に更新する(S3202A)。SDKC11S1では、PDKC11P1で全てのペアについてペア状態が“PAIR”に更新されたことが検知され、ペア状態変更部56S1が、ペア管理テーブル57S1における全てのペア状態を“Suspend”から“PAIR”に更新する(S3202B)。なお、ペア状態は、“Suspend”から“Copy”を経て“PAIR”に遷移する。ペア状態“Copy”の間に、PVOLとSVOLとの間の差分が、SVOLに反映され、それにより、PVOLの内容とSVOLの内容が同じになって、ペア状態が“PAIR”になる。
上記と同様の処理が、PDKC11P2及びSDKC11S2についても行われる(S3201B、S3202C、S3202D)。
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、本発明は、オープンシステムの計算機を備えた計算機システムに限らず、メインフレームの計算機を備えた計算機システムに適用することも可能である。
図1は、本発明の一実施形態に係る計算機システムの構成例を示す。 図2は、PDKCとSDKC間とのやり取りの説明図である。 図3は、リストア許可TS#の設定とリストア処理との概要を示す。 図4は、各DKCの構成を示す。 図5は、PDKCが有する機能ブロックとSDKCが有する機能ブロックとを示す。 図6Aは、ペア管理テーブル57P1の構成例を示す。図6Bは、ペア管理テーブル57S1の構成例を示す。 図7は、JNLグループとコンシステンシーグループとの関係を示す。 図8は、JNLグループ管理テーブルの構成例を示す。 図9は、WRコマンドを受けた場合にPDKCが行う処理の流れを示す。 図10は、RD−JNLコマンドを送信する場合にSDKCが行う処理の流れを示す。 図11は、RD−JNLコマンドを受けた場合にPDKCが行う処理の流れの一部を示す。 図12は、RD−JNLコマンドを受けた場合にPDKCが行う処理の流れの残りを示す。 図13は、RDデータを受けた場合にSDKCが行う処理の流れを示す。 図14は、RMが使用する定義ファイルの一例を示す。 図15は、TS設定コマンドに含まれる情報要素を示す。 図16は、RMからTS設定コマンドを受けたPDKCが行う処理の流れを示す。 図17は、リストア許可TS#を決定するための処理の流れを示す。 図18は、JNCBに含まれる情報要素の一例を示す。 図19は、RD−JNLコマンドパラメータに含まれる情報要素の一例を示す。 図20は、RMからの状態取得コマンドに対する応答情報に含まれる情報要素の一例を示す。 図21は、RMからの状態取得コマンドを受けた場合にPDKCが行う処理の流れを示す。 図22は、リストア許可TS#よりも1つ小さいJNLまでが反映対象となる理由の説明図である。 図23Aは、NO−JNLを送信する機能を有しない場合に生じ得る問題の説明図である。図23Bは、NO−JNLを送信する機能を有することによって期待できる効果の説明図である。 図24は、TS設定コマンドを送信する前にフリーズコマンドを送信するケースでの或る処理の説明図である。 図25は、TS設定コマンドを送信する前にフリーズコマンドが送信されない場合に生じ得る問題の説明図である。 図26は、フリーズコマンドを受けた場合にPDKCが行う処理の流れを示す。 図27は、RUNコマンドを受けた場合にPDKCが行う処理の流れを示す。 図28は、RMに障害が生じたことを示す図である。 図29は、RMが障害から回復した場合に行われる処理の流れを示す。 図30は、RMとPDKC11P1との間で障害が生じた場合に行われる処理を示す。 図31は、図30に示した障害から回復した場合に行われる処理を示す。 図32は、図31に示した処理の続きの処理を示す。
符号の説明
23…RAIDマネージャ

Claims (13)

  1. 二以上のセカンダリストレージシステムと、
    前記二以上のセカンダリストレージシステムに接続された二以上のプライマリストレージシステムと、
    前記二以上のプライマリストレージシステムに接続された一以上の計算機と
    を備え、
    前記一以上の計算機の一つに、ストレージ管理部が備えられ、その計算機及び/又は別の計算機に、I/O発行部が備えられ、
    前記ストレージ管理部は、定期的に又は不定期的に、前記一以上のプライマリストレージシステムに、直前回に発行したIDの次のIDを発行し、
    前記I/O発行部は、プライマリボリュームを指定したライトコマンドを発行し、
    各プライマリストレージシステムが、プライマリボリュームとプライマリジャーナル記憶領域とを有しており、
    各セカンダリストレージシステムが、セカンダリボリュームとセカンダリジャーナル記憶領域とを有しており、
    前記各プライマリストレージシステムが、前記ライトコマンドに応答してライト対象のデータを前記プライマリボリュームに書込み、そのライト対象のデータの複製であるジャーナルデータと前記ストレージ管理部からの最新のIDとを含んだジャーナルを作成して、作成したジャーナルを前記プライマリジャーナル記憶領域に格納し、
    前記各セカンダリストレージシステムは、ジャーナルリードコマンドを、接続先のプライマリストレージシステムに送信し、
    前記各プライマリストレージシステムは、前記ジャーナルリードコマンドを受けた場合に、前記プライマリジャーナル記憶領域に蓄積されている一以上のジャーナルのうち未転送のジャーナルを、前記プライマリボリュームとペアを構成するセカンダリボリュームを有する接続先のセカンダリストレージシステムに転送し、もし、未転送のジャーナルが無ければ、前記ストレージ管理部からの最新のIDを含んだ情報を、前記接続先のセカンダリストレージシステムに送信し、
    前記セカンダリストレージシステムが、受信したジャーナルを前記セカンダリジャーナル記憶領域に書込み、前記セカンダリジャーナル記憶領域に蓄積されている一以上の未反映のジャーナルのうちの特定のジャーナルまでを前記セカンダリボリュームに反映し、
    前記特定のジャーナルは、前記以上のセカンダリストレージシステムにおける最新の到着済みIDのうちの最も古いIDよりも1つ古いIDを有するジャーナルであり、
    前記ジャーナルの前記セカンダリボリュームへの反映では、前記ジャーナル内のジャーナルデータが前記セカンダリボリュームに書き込まれる、
    計算機システム。
  2. 二以上のプライマリストレージシステムのそれぞれが、前記以上のセカンダリストレージシステムのうちの少なくとも一つに接続されており、下記(P1)乃至(P7)を有し、
    (P1)下記(P1−1)を記憶するプライマリID記憶領域、
    (P1−1)前記ストレージ管理部から受信した最新のIDであるプライマリ最新ID、
    (P2)前記I/O発行部からのライトコマンドで指定される論理ボリュームである前記プライマリボリューム、
    (P3)前記ライトコマンドに従うライト対象のデータを前記プライマリボリュームに書き込むI/O処理部、
    (P4)下記(P4−1)及び(P4−2)を含んだジャーナルを作成するジャーナル作成部、
    (P4−1)前記ライト対象のデータの複製であるジャーナルデータ、
    (P4−2)ライト対象のデータの書込み先の位置に関する更新位置情報と、前記プライマリID記憶領域に記憶されているプライマリ最新IDとを含んだジャーナル管理情報、
    (P5)作成されたジャーナルを記憶する記憶領域である前記プライマリジャーナル記憶領域、
    (P6)前記プライマリジャーナル記憶領域に記憶されているジャーナルを、そのジャーナル内の更新位置情報が表すプライマリボリュームとペアを構成するセカンダリボリュームを有する前記接続先のセカンダリストレージシステムに転送するジャーナル転送部、
    (P7)前記ストレージ管理部から受信したIDを前記プライマリ最新IDとして前記プライマリID記憶領域に書込むID処理部、
    前記セカンダリストレージシステムは、下記(S1)乃至(S5)を有し、
    (S1)下記(S1−1)を記憶するセカンダリID記憶領域、
    (S1−1)接続先のプライマリストレージシステムから受信したジャーナル内のジャーナル管理情報に含まれているプライマリ最新IDである到着済みID、
    (S2)接続先のプライマリストレージシステムから受信したジャーナルを記憶する前記セカンダリジャーナル記憶領域、
    (S3)前記セカンダリジャーナル記憶領域に蓄積されているジャーナル内のジャーナルデータの書込み先となる論理ボリュームである前記セカンダリボリューム、
    (S4)前記セカンダリジャーナル記憶領域に蓄積されている一以上の未反映のジャーナルのうちの特定のジャーナルまでを、反映対象のジャーナル内のジャーナルデータに対応したライト対象データの書込み先のプライマリボリュームとペアを構成する前記セカンダリボリュームに反映するリストア処理部、
    (S5)前記セカンダリID記憶領域に記憶されている到着済みIDを通知するID通知部、
    前記ストレージ管理部が、前記一以上のセカンダリストレージシステムにおける到着済みIDのうちの最も古いID又はその最も古いIDよりも1つ古いIDであるリストア許可IDを通知し、
    前記特定のジャーナルは、前記リストア許可IDよりも1つ古いID又は前記リストア許可IDを有するジャーナルである、
    請求項1記載の計算機システム。
  3. 前記(S5)は、接続先のプライマリストレージシステムに、到着済みIDを通知し、
    前記(P1)は、下記(P1−2)を更に記憶し、
    (P1−2)接続先のセカンダリストレージシステムから受信した到着済みID、
    前記ストレージ管理部が、ID問合せを前記二以上のプライマリストレージシステムに送信し、それに応答して、前記二以上のプライマリストレージシステムから到着済みIDを受信し、受信した二以上の到着済みIDのうちの最も古いID又はその最も古いIDよりも1つ古いIDを前記リストア許可IDとして各プライマリストレージシステムに通知し、
    前記(P7)は、前記ストレージ管理部から受信したリストア許可IDを、接続先のセカンダリストレージシステムに通知し、
    前記(S1)は、下記(S1−2)を更に記憶する、
    (S1−2)接続先のプライマリストレージシステムから受信したリストア許可ID、
    請求項2記載の計算機システム。
  4. 前記(S5)は、到着済みIDを含んだ前記ジャーナルリードコマンドを、接続先のプライマリストレージシステムに送信し、
    前記(P6)は、前記ジャーナルリードコマンドを受けた場合に、前記ジャーナルリードコマンドに含まれている到着済みIDを、前記プライマリ最新IDが記憶されている前記プライマリID記憶領域に書込む、
    請求項3記載の計算機システム。
  5. 前記ストレージ管理部が、前記ID問合せを送信する前に、I/Oを保留するコマンドであるフリーズコマンドを、ID問合せの送信先のプライマリストレージシステムに送信し、前記フリーズコマンドを送信した後に、前記ID問合せを送信し、
    前記(P3)は、前記フリーズコマンドを受けた場合、前記I/O発行部からのライトコマンドに従うライト対象データをそのライトコマンドで指定されている前記プライマリボリュームに書き込むライト処理を非実行とするフリーズ状態となり、前記フリーズ状態が解除された後に、前記ライト処理を実行する、
    請求項2乃至4のうちのいずれか1項に記載の計算機システム。
  6. 前記ストレージ管理部が、前記IDを送信する前に、前記フリーズコマンドを送信し、前記フリーズコマンドを送信した後に、前記IDを送信する、
    請求項5記載の計算機システム。
  7. 前記セカンダリストレージシステムが、接続先のプライマリストレージシステムに、到着済みIDを通知し、
    前記ストレージ管理部が、ID問合せを各プライマリストレージシステムに送信し、それに応答して、前記各プライマリストレージシステムから到着済みIDを受信し、受信した到着済みIDのうちの最も古いID又はその最も古いIDよりも1つ古いIDを前記リストア許可IDとして各プライマリストレージシステムに通知し、
    前記特定のジャーナルは、前記リストア許可IDよりも1つ古いID又は前記リストア許可IDを有するジャーナルである、
    請求項1記載の計算機システム。
  8. 前記ジャーナルリードコマンドに、到着済みIDが含まれ、
    前記ストレージ管理部が各プライマリストレージシステムから受信する到着済みIDは、前記ジャーナルリードコマンドに含まれていた到着済みIDである、
    請求項1又は7記載の計算機システム。
  9. 前記ストレージ管理部が、前記ID問合せを送信する前に、I/Oを保留するコマンドであるフリーズコマンドを、ID問合せの送信先のプライマリストレージシステムに送信し、前記フリーズコマンドを送信した後に、前記ID問合せを送信し、
    各プライマリストレージシステムは、前記フリーズコマンドを受けた場合、前記I/O発行部からのライトコマンドに従うライト対象データをそのライトコマンドで指定されている前記プライマリボリュームに書き込むライト処理を非実行とするフリーズ状態となり、前記フリーズ状態が解除された後に、前記ライト処理を実行する、
    請求項1、7又は8記載の計算機システム。
  10. 前記ストレージ管理部が、前記IDを送信する前に、I/Oを保留するコマンドであるフリーズコマンドを、ID問合せの送信先のプライマリストレージシステムに送信し、前記フリーズコマンドを送信した後に、前記IDを送信し、
    各プライマリストレージシステムは、前記フリーズコマンドを受けた場合、前記I/O発行部からのライトコマンドに従うライト対象データをそのライトコマンドで指定されている前記プライマリボリュームに書き込むライト処理を非実行とするフリーズ状態となり、前記フリーズ状態が解除された後に、前記ライト処理を実行する、
    請求項1、及び、乃至のうちのいずれか1項に記載の計算機システム。
  11. 前記ストレージ管理部が障害から回復した場合、前記ストレージ管理部は、前記二以上のプライマリストレージシステムに、ID問合せを送信することで、前記二以上のプライマリストレージシステムからプライマリ最新IDを受領し、受領した二以上のプライマリ最新IDのうちの最も新しいIDよりも1つ新しいIDを、前記障害から回復した後に初めて送信するIDとする、
    請求項1乃至10のうちのいずれか1項に記載の計算機システム。
  12. 前記ストレージ管理部が、二以上のプライマリストレージシステムの少なくとも一つと通信不可であることを検出した場合、前記通信不可が検出されていない通信可能なプライマリストレージシステムに、そのプライマリストレージシステムが有するプライマリボリュームを含んだペアの状態をコピー中断状態とすることを指示し、その後、前記通信不可から回復したことを検出した場合、前記通信不可からの回復に関するプライマリストレージシステムに、そのプライマリストレージシステムが有するプライマリボリュームを含んだペアの状態をコピー中断状態とすることを指示し、その後、前記二以上のプライマリストレージシステムに、プライマリボリュームを含んだペアの状態を一致状態とすることを指示し、
    一致状態とすることの指示に応答して、前記プライマリボリュームとセカンダリボリュームとの差分がセカンダリボリュームに反映されて、ペアの状態が、プライマリボリュームの内容とセカンダリボリュームの内容とが一致する状態である前記一致状態となる、
    請求項1乃至11のうちのいずれか1項に記載の計算機システム。
  13. 以上のセカンダリストレージシステムと、前記二以上のセカンダリストレージシステムに接続された二以上のプライマリストレージシステムと、前記二以上のプライマリストレージシステムに接続された計算機とを備えた計算機システムで実現されるリモートコピーの制御方法であって、
    前記一以上の計算機のうちの特定の計算機が、定期的に又は不定期的に、各プライマリストレージシステムに、直前回に発行したIDの次のIDを発行し、
    各プライマリストレージシステムが、前記複数の計算機のうちのいずれかからライトコマンドを受けた場合、ライト対象のデータをプライマリボリュームに書込み、そのライト対象のデータの複製であるジャーナルデータと前記特定の計算機からの最新のIDとを含んだジャーナルを作成して、作成したジャーナルをプライマリジャーナル記憶領域に格納し、
    前記各セカンダリストレージシステムは、ジャーナルリードコマンドを、接続先のプライマリストレージシステムに送信し、
    前記各プライマリストレージシステムは、前記ジャーナルリードコマンドを受けた場合に、プライマリジャーナル記憶領域に蓄積されている一以上のジャーナルのうち未転送のジャーナルを、前記プライマリボリュームとペアを構成するセカンダリボリュームを有する接続先のセカンダリストレージシステムに転送し、もし、未転送のジャーナルが無ければ、前記ストレージ管理部からの最新のIDを含んだ情報を、前記接続先のセカンダリストレージシステムに送信し、
    前記セカンダリストレージシステムが、受信したジャーナルをセカンダリジャーナル記憶領域に書込み、前記セカンダリジャーナル記憶領域に蓄積されている一以上のジャーナルのうちの特定のジャーナルまで、ジャーナル内のジャーナルデータを前記セカンダリボリュームに書き込み、
    前記特定のジャーナルは、前記以上のセカンダリストレージシステムにおける最新の到着済みIDのうちの最も古いIDよりも1つ古いIDを有するジャーナルである、
    リモートコピー制御方法。
JP2008272590A 2008-10-23 2008-10-23 ジャーナルを利用したリモートコピーを行う計算機システム Expired - Fee Related JP4907630B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008272590A JP4907630B2 (ja) 2008-10-23 2008-10-23 ジャーナルを利用したリモートコピーを行う計算機システム
US12/329,907 US8539178B2 (en) 2008-10-23 2008-12-08 Computer system and method for performing remote copy using journal
EP09251128A EP2184682B1 (en) 2008-10-23 2009-04-17 Computer system for performing remote copy using journal
AT09251128T ATE537503T1 (de) 2008-10-23 2009-04-17 Computersystem zur durchführung von entfernt durchgeführtem kopieren mittels journal
CN200910203115.XA CN101727366B (zh) 2008-10-23 2009-05-27 进行利用了日志的远程复制的计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008272590A JP4907630B2 (ja) 2008-10-23 2008-10-23 ジャーナルを利用したリモートコピーを行う計算機システム

Publications (3)

Publication Number Publication Date
JP2010102463A JP2010102463A (ja) 2010-05-06
JP2010102463A5 JP2010102463A5 (ja) 2010-10-07
JP4907630B2 true JP4907630B2 (ja) 2012-04-04

Family

ID=41213235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008272590A Expired - Fee Related JP4907630B2 (ja) 2008-10-23 2008-10-23 ジャーナルを利用したリモートコピーを行う計算機システム

Country Status (5)

Country Link
US (1) US8539178B2 (ja)
EP (1) EP2184682B1 (ja)
JP (1) JP4907630B2 (ja)
CN (1) CN101727366B (ja)
AT (1) ATE537503T1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970363A (zh) * 2012-11-21 2013-03-13 用友软件股份有限公司 远程日志下载系统和远程日志下载方法
JP5744953B2 (ja) * 2013-04-10 2015-07-08 東芝テック株式会社 取引データ処理装置、取引データ処理方法及びプログラム
US11144397B2 (en) 2014-09-12 2021-10-12 Microsoft Technology Licensing, Llc Data recovery using bitmap data structure
CN106648959B (zh) * 2016-09-07 2020-03-10 华为技术有限公司 数据存储的方法和存储系统
JP7343536B2 (ja) * 2021-03-01 2023-09-12 株式会社日立製作所 リモートコピーシステム及び方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP4425728B2 (ja) * 2003-12-03 2010-03-03 株式会社日立製作所 リモートコピーシステム
US7421549B2 (en) * 2004-03-02 2008-09-02 Hitachi, Ltd. Method and apparatus of remote copy for multiple storage subsystems
JP4412722B2 (ja) 2004-07-28 2010-02-10 株式会社日立製作所 リモートコピーシステム
JP4915775B2 (ja) * 2006-03-28 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムのリモートコピー制御方法
JP4738941B2 (ja) * 2005-08-25 2011-08-03 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
JP2007066162A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステム及びストレージシステムの管理方法
EP1840747A1 (en) 2006-03-28 2007-10-03 Hitachi, Ltd. Remote copying system and method of controlling remote copying
JP2007280323A (ja) 2006-04-12 2007-10-25 Hitachi Ltd 記憶システム及びデータ管理方法
JP4867701B2 (ja) 2007-02-21 2012-02-01 東ソー株式会社 重金属処理剤およびそれを用いた重金属汚染物質の安定処理方法
JP4916420B2 (ja) * 2007-11-16 2012-04-11 株式会社日立製作所 ストレージシステム及びリモートコピー制御方法

Also Published As

Publication number Publication date
EP2184682A1 (en) 2010-05-12
US20100106924A1 (en) 2010-04-29
CN101727366A (zh) 2010-06-09
JP2010102463A (ja) 2010-05-06
US8539178B2 (en) 2013-09-17
EP2184682B1 (en) 2011-12-14
CN101727366B (zh) 2013-01-02
ATE537503T1 (de) 2011-12-15

Similar Documents

Publication Publication Date Title
US7827367B2 (en) Backup control method for acquiring plurality of backups in one or more secondary storage systems
EP2120146B1 (en) Data mirroring system using journal data
US7337286B1 (en) Storage control system for restoring a remote data copy
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US7945750B2 (en) Storage system and remote copy control method for storage system
US7496718B2 (en) Data transfer and access control between disk array systems
US6981008B2 (en) Method for duplicating data of storage subsystem and data duplicating system
JP4434407B2 (ja) サブシステム及びこれらの統合システム
EP2188720B1 (en) Managing the copying of writes from primary storages to secondary storages across different networks
JP5564494B2 (ja) 計算機システム、及び、それを用いたバックアップ方法
JP2007179342A (ja) ストレージシステム及びスナップショット管理方法
JP2006293947A (ja) リモートコピーペアの移行を行うシステム
JP2005276162A (ja) 分散リモートコピーシステム
EP1628220B1 (en) Remote copy system maintaining a logically consistent copy
JP4907630B2 (ja) ジャーナルを利用したリモートコピーを行う計算機システム
JP2005309793A (ja) データ処理システム
JP4546629B2 (ja) 記憶システム、記憶システムの応答方法及び記録媒体
JP2006119745A (ja) コンピュータシステム及びコンピュータシステムの制御方法
JP4412722B2 (ja) リモートコピーシステム
JP4452494B2 (ja) 複数リモートストレージでのリモートコピー停止後のデータ同期化方式
WO2016084156A1 (ja) ストレージシステム
JP2021174392A (ja) リモートコピーシステム及びリモートコピー管理方法
JP2004272884A5 (ja)
JP2007148520A (ja) 情報通知方法及び計算機システム
JP4845627B2 (ja) リモートコピーシステム及びリモートコピー制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100818

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4907630

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees