JP4412989B2 - 複数の記憶システムを有するデータ処理システム - Google Patents

複数の記憶システムを有するデータ処理システム Download PDF

Info

Publication number
JP4412989B2
JP4412989B2 JP2003416414A JP2003416414A JP4412989B2 JP 4412989 B2 JP4412989 B2 JP 4412989B2 JP 2003416414 A JP2003416414 A JP 2003416414A JP 2003416414 A JP2003416414 A JP 2003416414A JP 4412989 B2 JP4412989 B2 JP 4412989B2
Authority
JP
Japan
Prior art keywords
journal
data
storage system
storage
read
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
JP2003416414A
Other languages
English (en)
Other versions
JP2005174196A (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 JP2003416414A priority Critical patent/JP4412989B2/ja
Priority to US10/765,128 priority patent/US7216209B2/en
Priority to EP04252271A priority patent/EP1548594A1/en
Priority to EP09010604.8A priority patent/EP2120146B1/en
Priority to CN200410050026A priority patent/CN100593775C/zh
Publication of JP2005174196A publication Critical patent/JP2005174196A/ja
Priority to US11/300,372 priority patent/US7457929B2/en
Priority to US12/289,182 priority patent/US7827369B2/en
Application granted granted Critical
Publication of JP4412989B2 publication Critical patent/JP4412989B2/ja
Priority to US12/902,753 priority patent/US7930500B2/en
Priority to US13/070,926 priority patent/US8489835B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/2058Error 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 more than 2 mirrored copies
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

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)

Description

本発明は、複数の記憶システムを有するデータ処理システムに関し、特に複数の記憶システム間でのデータの複製に関する。
近年、常に顧客に対して継続したサービスを提供するために、第一の記憶システムに障害が発生した場合でもデータ処理システムがサービスを提供できるよう、記憶システム間でのデータの複製に関する技術が重要になっている。第一の記憶システムに格納された情報を第二および第三の記憶システムに複製する技術として、以下の特許文献に開示された技術が存在する。
米国特許5170480号公報には、第一の記憶システムに接続された第一の計算機が、第一の記憶システムに格納されたデータを、第一の計算機と第二の計算機間の通信リンクを介し、第二の計算機に転送し、第二の計算機が第二の計算機に接続された第二の記憶システムに転送する技術が開示されている。
米国特許6209002号公報には、第一の記憶システムが、第一の記憶システムに格納されたデータを、第二の記憶システムに転送し、さらに、第二の記憶システムが、第三の記憶システムに転送する技術が開示されている。計算機と第一の記憶システムとは通信リンクにより接続され、第一の記憶システムと第二の記憶システムとは通信リンクにより接続され、さらに、第二の記憶システムと第三の記憶システムとは通信リンクにより接続されている。第一の記憶システムは、複製対象の第一の論理ボリュームを保持する。第二の記憶システムは、第一の論理ボリュームの複製である第二の論理ボリューム、及び、第二の論理ボリュームの複製である第三の論理ボリュームを保持する。第三の記憶システムは、第三の論理ボリュームの複製である第四の論理ボリュームを保持する。この特許文献において、第二の記憶システムは、第二の論理ボリュームから第三の論理ボリュームへのデータ複製処理と、第三の論理ボリュームから第四の論理ボリュームへのデータ複製処理とを排他的に実行する。
米国特許5170480号公報 米国特許6209002号公報
米国特許5170480号公報に開示された技術は、データの複製のために、第一の計算機および第二の計算機を常に使用する。第一の計算機は、通常業務を行っており、第一の計算機にかかるデータ複製処理の負荷は無視できない。さらに、複製のためのデータは、第一の計算機と第一の記憶システム間の通信リンクを使用するため、通常業務のために必要なデータ転送と衝突し、通常業務に必要なデータ参照、データ更新時間が長くなるという課題がある。
米国特許6209002号公報に開示された技術は、複製を行うデータ量の倍の記憶容量が第二の記憶システム及び第三の記憶システムに必要となる。また、複製対象のデータ量が多いことにより、データ複製処理に費やされる時間が長く、第三の記憶システムのデータは古いものとなってしまう。その結果、第三の記憶システムのデータを用いて業務が再開される場合、第三の記憶システムのデータを最新とするまでの時間が長くなり、業務再開までの時間が延びるという課題がある。さらに、この文献の開示によれば、第一の記憶システムは、第一の記憶システム内のデータ更新処理に加えて、第二の記憶システムとの間でのデータ更新処理が終了した時点で、上位の計算機にデータ更新完了報告を行う。したがって、計算機からのデータ更新に費やされる時間が長く、第一の記憶システムと第二の記憶システムとの間の距離が遠くなればなるほど、データ更新に費やされる時間はより長くなる。その結果、各記憶システム間の距離をあまり遠くすることができないという問題もある。
本発明の目的は、記憶システムの上位の計算機に影響を与えず、複数の記憶システム間でデータ転送又はデータの複製を行えるようにすることにある。
本発明の別の目的は、記憶システムと計算機との間の通信に影響を与えずに、複数の記憶システム間でデータ転送又はデータの複製をすることにある。
本発明のまた別の目的は、複数の記憶システム内に保持されるデータ格納領域を少なくすることにある。
本発明のさらに別の目的は、複数の記憶システムの上位の計算機の業務に影響を与えることのないように、高速かつ効率的に複数の記憶システム間でデータ転送又はデータの複製をすることにある。
本発明の一つの観点に従うデータ処理システムは、上位装置に通信可能に接続された第一の記憶システムと、第一の記憶システムにそれぞれ通信可能に接続された第二及び第三の記憶システムと備える。
第一の記憶システムは、第一の制御装置と、上位装置から送られたデータが格納される第一のデータ記憶領域と、第一の記憶領域に格納されたデータの複製を生成するために使用されるジャーナルが格納される第一のジャーナル記憶領域とを有する。第一の制御装置は、上位装置から送られたデータを第一のデータ記憶領域に書き、第一のデータ記憶領域に書かれたデータのジャーナルを第一のジャーナル記憶領域に書き、そして、第二及び第三の記憶システムのそれぞれからの要求に応じて、第一のジャーナル記憶領域内のジャーナルを第二及び第三の記憶システムにそれぞれ送るようになっている。
第二の記憶システムは、第二の制御装置と、第一のデータ記憶領域内のデータの複製が格納される第二のデータ記憶領域と、ジャーナルが格納される第二のジャーナル記憶領域とを有する。第二の制御装置は、独自にスケジュールされたジャーナルリードのタイミングで第一の記憶システムからジャーナルを読み、読まれたジャーナルを第二のジャーナル記憶領域に書き、そして、独自にスケジュールされたリストアのタイミングで、第二のジャーナル記憶領域内の前記ジャーナルに基づいて第一のデータ記憶領域内のデータの複製を生成して、これを第二のデータ記憶領域に書くようになっている。
三の記憶システムは、第三の制御装置と、第一のデータ記憶領域内のデータの複製が格納される第三のデータ記憶領域と、ジャーナルが格納される第三のジャーナル記憶領域とを有する。第三の制御装置は、独自にスケジュールされたジャーナルリードのタイミングで第一の記憶システムからジャーナルを読み、読まれたジャーナルを第三のジャーナル記憶領域に書き、そして、独自にスケジュールされたリストアのタイミングで第三のジャーナル記憶領域内のジャーナルに基づいて第一のデータ記憶領域内のデータの複製を生成して、これを第三のデータ記憶領域に書くようになっている。
さらに、第一の記憶システム内の第一の制御装置は、第一のジャーナル記憶領域内のジャーナルが第二及び第三の記憶システムによって読まれたか否かを検出する。そして、第一の制御装置は、第二及び第三の記憶システムの双方によって読まれるまでは、第一のジャーナル記憶領域内のジャーナルを保持し、第二及び第三の記憶システムの双方によって読まれた後に、第一のジャーナル記憶領域内のジャーナルを消去可能とするようになっている。
第三の記憶システムの第三の制御装置は、第一のジャーナル記憶領域から読んだジャーナルのデータの数に応じて、ジャーナルリードの時間間隔を制御するようになっていてよい。或いは、第三の制御装置は、第一の記憶システムと第三の記憶システムとの間で送受されるデータの通信量に応じて、ジャーナルリードの時間間隔を制御するようになっていてもよい。或いは、第三の制御装置は、第三のデータ記憶領域が保持しているジャーナルの記憶容量に応じて、ジャーナルリードの時間間隔を制御するようになっていてもよい。或いは、第三の制御装置は、第三の記憶システムの処理負荷に応じて、ジャーナルリードの時間間隔を制御するようになっていてもよい。或いは、第三の制御装置は、第一の記憶システム内の第一のジャーナル記憶領域が保持しているジャーナルの記憶容量についての情報を、第一の記憶システムから読み出し、読み出されたジャーナルの記憶容量についての情報に応じて、ジャーナルリードの時間間隔を制御するようになっていてもよい。或いは、第一の記憶システムが、第一のジャーナル記憶領域についての管理情報を所有しており、そして、第三の記憶システムの第三の制御装置が、前記第一の記憶システムが所有している前記第一のジャーナル記憶領域についての管理情報を、前記第一の記憶システムから読み出し、読み出された第一のジャーナル記憶領域についての管理情報に応じて、ジャーナルリードの時間間隔を制御するようにしてもよい。第二の記憶システムの第二の制御装置も、基本的に、これと同様にジャーナルリードの時間間隔を制御するようになっていてよい。
第一の記憶システム内の第一のデータ記憶領域は、複数の論理ボリュームから構成されることができる。第一の制御装置は、その複数の論理ボリュームに格納される複数のデータにそれぞれ対応する複数のジャーナルを、第一のジャーナル記憶領域に書くことができる。第一のジャーナル記憶領域に格納される複数のジャーナルには、対応する複数のデータの更新順序に関する情報が含まれることができる。第二及び第三の記憶システムの第二及び第三の制御装置は、それぞれ、第一の記憶システムから読んだ複数のジャーナルに含まれている更新順序に従って、複数のジャーナルに基づいて複数のデータの複製を生成して、それを第二及び第三のデータ記憶領域にそれぞれ書くことができる。
第三の記憶システムは、第三の記憶システムの処理負荷に応じて、リストアのタイミングを制御するようにしてもよい。
本発明の別の観点に従う上位装置に通信可能に接続された第一の記憶システムと、第一の記憶システムにそれぞれ通信可能に接続された第二及び第三の記憶システムと備える。
第一の記憶システムは、第一の制御装置と、上位装置から送られたデータが格納される第一のデータ記憶領域と、第一の記憶領域に格納されたデータの複製を生成するために使用されるジャーナルが格納される第一のジャーナル記憶領域とを有する。この第一の記憶システムの第一の制御装置は、上位装置から送られたデータを第一のデータ記憶領域に書き、そして、書かれたデータのジャーナルを第一のジャーナル記憶領域に書くようになっている。
第二の記憶システムは、第二の制御装置と、ジャーナルが格納される第二のジャーナル記憶領域とを有する。この第二の記憶システムの第二の制御装置は、所定のジャーナルリードのタイミングで第一の記憶システムからジャーナルを読み、読まれたジャーナルを第二のジャーナル記憶領域に書くようになっている。
第三の記憶システムは、第三の制御装置と、ジャーナルが格納される第三のジャーナル記憶領域とを有する。この第三の記憶システムの第三の制御装置は、所定のジャーナルリードのタイミングで第一の記憶システムからジャーナルを読み、読まれたジャーナルを第三のジャーナル記憶領域に書くようになっている。
第二の記憶システムは、データの複製を格納する第二のデータ記憶領域を更に有することができる。第二の制御装置は、所定のリストアのタイミングで第二のジャーナル記憶領域に格納されたジャーナルからデータの複製を生成し、生成されたデータの複製を第二のデータ記憶装置に書くようになっていてよい。
第三の記憶システムも、データの複製を格納する第三のデータ記憶領域を更に有することができる。第三の制御装置は、所定のリストアのタイミングで第三のジャーナル記憶領域に格納されたジャーナルからデータの複製を生成し、生成されたデータの複製を第三のデータ記憶装置に書くようになっていてよい。
第一の記憶システムの第一の制御装置は、第一のジャーナル記憶領域内のジャーナルが第二及び第三の記憶システムによって読まれたか否かを検出し、第二及び第三の記憶システムの双方によって読まれるまでは第一のジャーナル記憶領域内の前記ジャーナルを保持し、第二及び第三の記憶システムの双方によって読まれた後に第一のジャーナル記憶領域内のジャーナルを消去可能とするようになっていてよい。
本発明によるデータ処理システムの実施形態を図面により詳細に説明する。
図1は、本発明に従うデータ処理システムの一実施形態の物理的な構成を示すブロック図である。図2は、本実施形態の論理的な構成を示すブロック図である。
図1及び図2に示すように、このデータ処理システムでは、ホストコンピュータ180と記憶システム100Aが接続パス190により接続され、また、記憶システム100Aと別の記憶システム100Bとが接続パス200により接続される。記憶システム100Bは、記憶システム100Aに保存されたデータの複製を保持するために使用される。以下の説明において、複製対象のデータを保持する記憶システム100Aと複製データを保持する記憶システム100Bとの区別を容易とするために、前者100Aを「正記憶システム」、後者100Bを「副記憶システム」と呼ぶこととする。
正記憶システム100Aと副記憶システム100Bの物理的構成について、図1を参照して説明する。
正記憶システム100Aと副記憶システム100Bは基本的には同様の物理的構成を有するので、図1では、代表的に正記憶システム100Aの構成のみが示されている。図1に示すように、正記憶システム100Aは、1つ以上のチャネルアダプタ110、1つ以上のディスクアダプタ120、1つ以上のキャッシュメモリ130、1つ以上の共有メモリ140、1つ以上の物理的記憶装置(例えば、ハードディスクドライブ)150、1つ以上のコモンパス160、1つ以上の接続線170を備える。チャネルアダプタ110、ディスクアダプタ120、キャッシュメモリ130、共有メモリ140はコモンパス160により相互に接続されている。コモンパス160は、コモンパス160の障害時のために2重化されてもよい。ディスクアダプタ120と物理的記憶装置150とは接続線170によって接続されている。また、図示していないが、記憶システム100の設定、監視、保守等を行うための保守端末が全てのチャネルアダプタ110とディスクアダプタ120とに専用線を用いて接続されている。
チャネルアダプタ110は、接続線190又は接続線200によりホストコンピュータ180又は他の記憶システム(例えば副記憶システム100B)と接続される。チャネルアダプタ110は、ホストコンピュータ180とキャッシュメモリ130間のデータ転送、又は他の記憶システムとキャッシュメモリ130間のデータ転送を制御する。ディスクアダプタ120は、キャッシュメモリ130と物理的記憶装置150との間のデータ転送を制御する。キャッシュメモリ130は、ホストコンピュータ180又は他の記憶システムから受信したデータ、あるいは物理的記憶装置150から読み出したデータを一時的に保持するメモリである。共有メモリ140は、記憶システム100内の全てのチャネルアダプタ110とディスクアダプタ120とが共有するメモリである。共有メモリ140には、主に、チャネルアダプタ110とディスクアダプタ12が使用する制御や管理のための様々な情報(例えば、後述するボリューム情報400、ペア情報500、グループ情報600およびポインタ情報700など)が記憶され保持される。副記憶システム100Bの物理的構成も、基本的にこれと同様である。
次に、記憶システム100A及び100Bの論理的な構成について、図2を参照して説明する。
図2に示すように、記憶システム100A及び100Bの各々において、物理的記憶装置150、150、…により提供される全体の記憶領域は、論理的な多数の記憶領域230、230、…に分割されて管理される。以下、個々の論理的な記憶領域230を「論理ボリューム」と呼ぶこととする。各論理ボリューム230の容量および記憶システム100A又は100B内での物理的な格納位置(物理アドレス)は、記憶システム100A又は100Bに接続された保守用の端末コンピュータ(図示せず)もしくはホストコンピュータ180から指定することができる。各論理ボリューム230の物理アドレスは、後述するボリューム情報400に保存される。物理アドレスは、例えば、記憶システム100A又は100B内の物理的記憶装置150を識別する番号(記憶装置番号)と、その記憶装置150内での記憶領域を一意に示す数値(例えば、物理的記憶装置150内での記憶領域の先頭からの位置)から構成される。以下の説明では、物理アドレスは、物理的記憶装置150の記憶装置番号とその物理的記憶装置150内での記憶領域の先頭からの位置の組で表されるものとする。普及しているRAIDの原理に従った記憶システムでは、1つの論理ボリューム230が複数の物理的記憶装置150内の複数の物理的な記憶領域に対応しているが、以下では、説明を容易にするために、1つの論理ボリューム230が、1つの物理的な記憶装置150内の1つの記憶領域に対応するものとして説明する。しかし、RAIDの原理に従う記憶システムでも本発明の原理が以下の説明と同様に適用できることを、当業者は容易に理解する筈である。
記憶システム100A、100B内に保存されているデータは、そのデータが存在する論理ボリューム230を識別する番号(論理ボリューム番号)と、その論理ボリューム2030内のそのデータの記憶領域を一意に示す数値(例えば、論理ボリューム230の記憶領域の先頭からの位置)により一意に指定することができる。以下の説明では、論理アドレスは、論理ボリューム230の論理ボリューム番号と論理ボリューム230内での記憶領域の先頭からの位置(論理ボリューム内位置)の組で表されるものとする。
以下の説明において、複製対象の論理ボリュームとその複製である論理ボリュームとの区別を容易とするために、前者を「正論理ボリューム」、後者を「副論理ボリューム」とよぶこととする。一対の正論理ボリュームと副論理ボリュームを「ペア」とよぶこととする。正論理ボリュームと副論理ボリュームの関係および状態等の情報は後述するペア情報500に保存される。
複数の正論理ボリュームと、それらの正論理ボリュームとペアをそれぞれ構成する複数の副論理ボリュームとの間のデータの更新順序を一致させるために、「グループ」という管理単位が設けられる。例えば、ホストコンピュータ180が、第1の正論理ボリューム内の第1のデータを更新し、その後、その第1のデータを読み出し、その第1のデータを用いて、第2の正論理ボリューム内の第2のデータを更新する処理を行う場合を想定する。この場合、第1の正論理ボリュームから第1の副論理ボリュームへのデータ複製処理と、第2の正論理ボリュームから第2の副論理ボリュームへのデータ複製処理とが独立に行われたならば、第1の副論理ボリュームへの第1のデータの複製処理より前に、第2の副論理ボリュームへの第2のデータの複製処理が行われる場合がある。この場合に、もし、第2の副論理ボリュームへの第2のデータの複製処理の終了後、第1の副論理ボリュームへの第1のデータの複製処理が終了する前に、故障等が発生して、第1の副論理ボリュームへの複製処理が停止したならば、第1の副論理ボリュームと第2の副論理ボリュームの間でのデータの整合性が損なわれることになる。このような場合であって、第1の副論理ボリュームと第2の副論理ボリューム間のデータの整合性を保つために、「グループ」を用いた更新順序の制御が行われる。すなわち、正論理ボリュームと副論理ボリューム間でデータの更新順序を一致させる必要のある複数の論理ボリュームが、同じグループに登録される。そのグループに属する正論理ボリュームで行われるデータの更新毎に、後述するグループ情報600の更新番号が割り当てられる。そして、その更新番号順に、更新されたデータの副論理ボリュームへの複製処理が行われる。例えば、図2の例では、正記憶システム100A内の2つの正論理ボリューム「DATA1」と「DATA2」が一つのグループ「グループ1」を構成する。そして、これら2つの正論理ボリューム「DATA1」と「DATA2」の複製である2つの副論理ボリューム「COPY1」と「COPY2」が、副記憶システム100B内で同じグループ「グループ1」を構成する。
データ複製対象である正論理ボリュームのデータを更新する場合、副論理ボリュームのデータの更新に利用するために、そのデータ更新についてのジャーナルが作成され、そのジャーナルが正記憶システム100A内の所定の論理ボリュームに保存される。本実施形態では、正記憶システム110A内の各グループに対して、そのグループのジャーナルのみを保存するための論理ボリューム(以下、ジャーナル論理ボリュームとよぶ)が割り当てられる。図2の例では、グループ「グループ1」に、ジャーナル論理ボリューム「JNL1」が割り当てられている。副記憶システム100B内の各グループにも、ジャーナル論理ボリュームが割り当てられる。図1では、副記憶システム内のグループ「グループ1」に、ジャーナル論理ボリューム「JNL2」が割り当てられている。副記憶システム100B内のジャーナル論理ボリューム「JNL2」は、正記憶システム100Aから副記憶システム100Bに転送された「グループ1」のジャーナルを保存するために使用される。ジャーナルを副記憶システム100B内のジャーナル論理ボリュームに保存することにより、ジャーナル受信時に副論理ボリュームのデータ更新を行なう必要がなくなり、ジャーナル受信時とは非同期の後の時期に、例えば副記憶システム100Bの負荷が低い時に、そのジャーナルに基づいて副論理ボリュームのデータを更新することができる。
さらに、正記憶システム100Aと副記憶システム100Bとの間の接続線200が複数ある場合、正記憶システム100Aから副記憶システム100Bへのジャーナルの転送を多重に行い、複数の接続線200の転送能力を有効に利用することができる。所定の更新順序を守ることにより、副記憶システム100Bに多くのジャーナルが溜まる可能性があるが、副論理ボリュームのデータ更新に直ぐに使用できないジャーナルは、ジャーナル論理ボリュームに退避することにより、キャッシュメモリを開放することができる。
上述のジャーナルは、ライトデータと更新情報とから構成される。更新情報は、ライトデータを管理するための情報で、ライト命令を受信した時刻、グループ番号、後述するグループ情報600の更新番号、ライト命令の論理アドレス、ライトデータのデータサイズ、ライトデータを格納したジャーナル論理ボリュームの論理アドレス等を含む。更新情報は、ライト命令を受信した時刻と更新番号のどちらか一方のみを保持してもよい。ホストコンピュータ180からのライト命令の中にライト命令の作成時刻が含まれている場合は、ライト命令を受信した時刻の代わりに、当該ライト命令内の命令作成時刻を使用してもよい。
図3はジャーナルの更新情報とライトデータの関係の一例を示す。
図3に示すように、ジャーナル論理ボリューム350は、例えば、更新情報を格納する記憶領域(更新情報領域)351と、ライトデータを格納する記憶領域(ライトデータ領域)353に分割されて使用される。正論理ボリューム34に書き込まれたライトデータ320の更新情報310は、ジャーナル論理ボリューム350の更新情報領域351の先頭から、更新番号の順に格納される。或る更新情報310の格納場所が更新情報領域351の終端に達すると、後続の更新情報310は更新情報領域351の先頭から格納される。正論理ボリューム34に書き込まれたライトデータ320に対応するライトデータ330が、ジャーナル論理ボリューム350のライトデータ領域353先頭から、更新番号の順に格納される。或るライトデータ330の格納場所がライトデータ領域353の終端に達すると、後続のライトデータ330はライトデータ領域351の先頭から格納される。更新情報領域351およびライトデータ領域353のサイズ比は、固定値でもよいし、保守端末あるいはホストコンピュータ180により任意値に設定可能であってもよい。ジャーナル論理ボリューム350内での更新情報領域351およびライトデータ領域353の範囲を示したアドレスや、最新及び最古の更新情報310およびライトデータ330の記憶場所を示したアドレスなどの情報は、後述するポインタ情報700内に保持される。以下の説明では、ジャーナル論理ボリューム350が更新情報領域351とライトデータ領域353に分割されて使用されるが、変形例として、ジャーナル論理ボリューム350の先頭から、各ジャーナルの更新情報310とライトデータ330を連続的に格納される方式を採用してもよい。
図4は、ジャーナルの更新情報310の具体例を示す。
図4に例示された更新情報310には、「1999年3月17日の22時20分10秒」のようなライト命令の受信時刻が記憶されている。この更新情報310には、また、当該ライト命令が、ライトデータ320を論理ボリューム番号「1」の論理ボリュームの記憶領域の先頭から「700」の位置に格納する命令であったこと、および、ライトデータのサイズは「300」であったことが記録されている。さらに、この更新情報310には、ジャーナルのライトデータ310が、論理ボリューム番号「4」(ジャーナル論理ボリューム)の記憶領域の先頭から「1500」の位置から格納されていることが記録されている。また、この更新情報310には、論理ボリューム番号「1」の論理ボリュームはグループ「1」に属すること、および、上記ライト命令によるデータ更新が、グループ「1」のデータ複製開始から「4」番目のデータ更新であることが記録されている。
再び図2を参照する。正記憶システム100Aは、ホストコンピュータ180からのデータのリード/ライト命令を受付ける命令受付処理210、及びデータを然るべき論理ボリューム230にリード/ライトするリードライト処理220を行う機能を有する。副記憶システム100Bは、正記憶システム100Aからジャーナルを読むジャーナルリード(JNLRD)処理240、データを然るべき論理ボリューム230にリード/ライトするリードライト処理220、及び正記憶システム100Aからのジャーナルに基づいて然るべき副論理ボリューム230内のデータを更新するリストア処理250を行う機能を有する。これらの処理機能は、図2に示したチャネルアダプタ110、ディスクアダプタ120、キャッシュメモリ130及び共有メモリ140によって実現される。
図2を参照して、正記憶システム100Aの正論理ボリュームへのデータ更新を副記憶システム100Bの副論理ボリュームに反映する動作について概説する。
(1) 正記憶システム100Aは、ホストコンピュータ180から正論理ボリューム(例えば「DATA1」)230内のデータに対するライト命令を受信すると、命令受信処理210およびリードライト処理220によって、正論理ボリューム(「DATA1」)230内の対象データの更新と、ジャーナル論理ボリューム(「JNL1」)230へのジャーナルの保存とを行う(矢印270)。
(2) 副記憶システム100Bは、ジャーナルリード処理240によって、正記憶システム100Aにジャーナルをリードする命令を送る。正記憶システム100Aは、副記憶システム100Bからジャーナルをリードする命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(「JNL1」)230からジャーナルを読み出し、副記憶システム100Bに送信する(矢印280)。
(3) 副記憶システム100Bは、正記憶システムからリードしたジャーナルを、リードライト処理220によって、ジャーナル論理ボリューム(「JNL2」)230に保存する(矢印280)。
(4) 副記憶システム100Bは、リストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順に、ジャーナル論理ボリューム(「JNL2」)230からジャーナルを読み出し、副論理ボリューム(例えば「COPY1」)230のデータを更新する(矢印290)。
図5は、ボリューム情報400の具体例を示す。
ボリューム情報400は、チャネルアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば図1に示した共有メモリ140に保存される。ボリューム情報400は、論理ボリュームを管理するための情報であり、図5に示すように、論理ボリューム番号毎に、ボリューム状態、フォーマット形式、容量、ペア番号、物理アドレスを保持する。ボリューム状態は、“正常”、“正”、“副”、“異常”、“未使用”のいずれかを保持する。ボリューム状態が“正常”もしくは“正”である論理ボリューム230は、ホストコンピュータ180から正常にアクセス可能な論理ボリューム230である。ボリューム状態が“副”である論理ボリューム230は、ホストコンピュータ180からのアクセスを許可してもよい。ボリューム状態が“正”である論理ボリューム230は、データの複製が行われている正論理ボリューム230である。ボリューム状態が“副”である論理ボリューム230は、複製に使用されている副論理ボリューム230である。ボリューム状態が“異常”の論理ボリューム230は、障害により正常にアクセスできない論理ボリューム230である。ここで、障害とは、例えば、論理ボリューム230を保持する記憶装置150の故障である。ボリューム状態が“未使用”の論理ボリューム230は、使用していない論理ボリューム230である。ペア番号は、ボリューム状態が“正”もしくは“副”の場合に有効であり、後述するペア情報500を特定するためのペア番号を保持する。図5に示す例では、論理ボリューム番号「1」の論理ボリュームは、複製対象のデータを保持した正論理ボリュームであり、アクセス可能であり、フォーマット形式が「OPEN3」であり、容量が「3GB」であり、そこに保持されたデータは、記憶装置番号「1」の物理的記憶装置150の記憶領域の先頭から格納されていることが、示されている。
図6は、ペア情報500の具体例を示す。
ペア情報500は、チャネルアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば図1に示した共有メモリ140に保存される。ペア情報500は、ペアを管理するための情報であり、図6に示すように、ペア番号毎に、ペア状態、正記憶システム番号、正論理ボリューム番号、副記憶システム番号、副論理ボリューム番号、グループ番号、コピー済みアドレスを保持する。ペア状態は、“正常”、“異常”、“未使用”,“コピー未”、“コピー中”のいずれかを保持する。ペア状態が“正常”の場合は、正論理ボリューム230のデータ複製が正常に行われていることを示す。ペア状態が“異常”の場合は、障害により正論理ボリューム230の複製が行えないことを示す。ここで、障害とは、例えば、接続パス200の断線などである。ペア状態が“未使用”の場合は、当該ペア番号の情報は有効でないことを示す。ペア状態が“コピー中”の場合は、後述する初期コピー処理中であることを示す。ペア状態が“コピー未”の場合は、後述する初期コピー処理が未だ行われていないことを示す。正記憶システム番号は、正論理ボリューム230を保持する正記憶システム100Aを特定する番号を保持する。副記憶システム番号は、副論理ボリューム230を保持する副記憶システム100Bを特定する番号を保持する。グループ番号は、正記憶システム100Aの場合は、正論理ボリュームが属するグループ番号を保持し、副記憶システム100Bの場合は、副論理ボリュームが属するグループ番号を保持する。コピー済みアドレスは、後述する初期コピー処理にて説明する。図6に例示したペア情報1は、データ複製対象が正記憶システム番号「1」の正論理ボリューム番号「1」により特定される正論理ボリュームであり、データ複製先が副記憶システム番号「2」の副論理ボリューム番号「1」で特定される副論理ボリュームであり、正常にデータ複製処理が行われていることを示す。
図7は、グループ情報600の具体例を示す。
グループ情報600は、チャネルアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に保存される。図7に示すように、グループ情報600は、グループ番号毎に、グループ状態、ペア集合、ジャーナル論理ボリューム番号、更新番号を保持する。グループ状態は、“正常”、“異常”、“未使用”のいずれかを保持する。グループ状態が“正常”の場合は、ペア集合の少なくともひとつのペア状態が“正常”であることを示す。グループ状態が“異常”の場合は、ペア集合の全てのペア状態が“異常”であることを示す。グループ状態が“未使用”の場合は、当該グループ番号の情報は有効でないことを示す。ペア集合は、正記憶システムの場合は、そのグループに属する全ての正論理ボリュームのペア番号を保持し、副記憶システムの場合は、そのグループに属する全ての副論理ボリュームのペア番号を保持する。ジャーナル論理ボリューム番号は、当該グループ番号のグループに属するジャーナル論理ボリューム番号を示す。更新番号は、初期値は1であり、グループ内の正論理ボリュームに対しデータの書き込みが行われると、+1だけ増加する。更新番号は、ジャーナルの更新情報に記憶され、副記憶システム100Bにて、データの更新順を守るために使用する。図7に零時さえタグループ情報600は、グループ番号「1」のグループが、ペア番号「1」及び「2」に属する論理ボリュームと、論理ボリューム番号「4」のジャーナル論理ボリューム4から構成されており、正常にデータの複製処理が行われていることを示す。
図8は、ポインタ情報700の具体例を示す。図9は、ポインタ情報に含まれる項目とジャーナル論理ボリューム350との関係を説明した図である。
ポインタ情報700は、チャネルアダプタ110およびディスクアダプタ120から参照可能なメモリ、例えば共有メモリ140に保存される。ポインタ情報700は、グループ毎に、当該グループのジャーナル論理ボリュームを管理するための情報であり、図8に示すように、そのジャーナル論理ボリューム内の更新情報領域先頭アドレス、ライトデータ領域先頭アドレス、更新情報最新アドレス、更新情報最古アドレス、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス及びリトライ開始アドレスを保持する。
正記憶システム100Aは、正記憶システム100A内のジャーナル論理ボリュームを管理するためのポインタ情報700を、正記憶システム100Aに接続された副記憶システムの台数分のセット数だけ有する。すなわち、図2に示した例では、正記憶システム100Aに接続された副記憶システム100Bは1台であるため、図8に示すように、正記憶システム100Aは、その一つの副記憶システム100Bに対応した1セットのポインタ情報700を有し、そのポインタ情報700には、その一つの副記憶システム100Bのシステム番号が記載されている。しかし、後に説明する図25の例では、正記憶システム100Aに複数(例えば2台)の副記憶システム100B、100Cが並列に接続される。図25の例の場合、正記憶システム100Aは、それら複数の副記憶システム100B、100Cにそれぞれに対応した複数セットのポインタ情報700B、700C(図26参照)を有し、それらの複数セットのポインタ情報700B、700Cには対応する副記憶システム100B、100Cのシステム番号が記録されている。このように正記憶システム100Aが、それに接続された複数の副記憶システム100B、100Cにそれぞれ対応する複数のポインタ情報700を有する場合、それぞれの副記憶システム100B、100Cによる正記憶システム100Aからのジャーナルリードが行われたか否か(そのタイミングは副記憶システム100B、100Cによって異なる)が、副記憶システム100B、100Cにそれぞれ割り当てられた複数のポインタ情報700によって管理することができる。これを利用して、正記憶システム100Aは、正記憶システム100A内の各ジャーナルを、それが複数の副記憶システム100B、100Cの全てによってリードされ終わらない限り、消去されないよう保持するよう制御を行うことができる。
一方、副記憶システム100Bは、基本的に、その副記憶システム110B内のジャーナル論理ボリュームを管理するための1セットのポインタ情報700を有する。ただし、特に図示されてはいないが、正記憶システムに複数の副記憶システムがカスケード接続された構成も採用でき、この場合、そのカスケードの中間に位置する副記憶システムは、その上側と下側の2つの副記憶システムにそれぞれ対応した複数セットのポインタ情報をもつことができる。
図9に示すように、更新情報領域先頭アドレスは、ジャーナル論理ボリューム350の更新情報領域353の先頭の論理アドレスを保持する。ライトデータ領域先頭アドレスは、ジャーナル論理ボリューム350のライトデータ領域353も先頭の論理アドレスを保持する。更新情報最新アドレスは、次にジャーナルを格納する場合に、その更新情報の保存に使用される先頭の論理アドレスを保持する。更新情報最古アドレスは、最古の(更新番号が小さい)ジャーナルの更新情報を保存する先頭の論理アドレスを保持する。ライトデータ最新アドレスは、次にジャーナルを格納する場合に、ライトデータの保存に使用する先頭の論理アドレスを保持する。ライトデータ最古アドレスは、ジャーナル論理ボリューム350内での最古の(更新番号が最も小さい)ジャーナルのライトデータを保存する先頭の論理アドレスを保持する。リード開始アドレスとリトライ開始アドレスは、正記憶システム100Aのみで使用され、後述するジャーナルリード受信処理にて使用される。図8に例示されたポインタ情報700によれば、更新情報領域35が論理ボリュー番号「4」の記憶領域の先頭(アドレス「0」)からアドレス「699」の位置までであり、ライトデータ領域353が論理ボリューム番号「4」の記憶領域のアドレス「700」の位置からアドレス「2699」の位置までである。そして、更新情報は、論理ボリューム番号「4」の記憶領域のアドレス「200」の位置からアドレス「499」の位置まで保存されており、次のジャーナルの更新情報は、論理ボリューム番号「4」の記憶領域のアドレス「500」の位置から格納されることになる。また、ジャーナルのライトデータは、論理ボリューム番号「4」の記憶領域のアドレス「1300」の位置からアドレス「2199」の位置までに保存されており、次のジャーナルのライトデータは、論理ボリューム番号「4」の記憶領域のアドレス「2200」の位置から格納されることになる。
ここでの説明では、1つのグループに1つのジャーナル論理ボリュームが割り当てられる。しかし、1つのグループに複数のジャーナル論理ボリュームを割り当てられてもよい。例えば、1つのグループに2つのジャーナル論理ボリュームが割り当てられ、ジャーナル論理ボリューム毎にポインタ情報700が設けられ、そして、その2つのジャーナル論理ボリュームに交互にジャーナルが格納されるようにしてもよい。これにより、ジャーナルの物理的記憶装置150への書き込みが分散され、性能の向上が見込める。さらに、ジャーナルのリード性能も向上する。別の例としては、1つのグループに2つのジャーナル論理ボリュームが割り当てられ、通常は、1つのジャーナル論理ボリュームのみが使用される。もう一方のジャーナル論理ボリュームは、現在使用されてきたジャーナル論理ボリュームの性能が低下した場合に使用される。性能が低下する場合とは、例えば、ジャーナル論理ボリュームが、複数の物理的記憶装置150から構成され、RAID5の方式でデータを保持しているところ、それら複数の物理的記憶装置150の一台が故障した場合である。
上述したように、ボリューム情報400、ペア情報500、グループ情報600、及びポインタ情報700等は、共有メモリ140に格納されることができる。しかし、これらの情報400、500、600及び700が、キャッシュメモリ130、チャネルアダプタ110、ディスクアダプタ120、又は物理的記憶装置150のいずれかに集中して、又はこれらに分散して格納されてもよい。
図10は、本実施形態においてデータの複製を開始する手順を説明するフローチャートである。図10を参照して、正記憶システム100Aから副記憶システム100Bに対して、データ複製を開始する手順を説明する。
(1) グループ作成(ステップ900)
ユーザは、保守端末あるいはホストコンピュータ180を使用して、正記憶システム100A内のグループ情報600を参照し、グループ状態が“未使用”のグループ番号、例えば「A」、を取得する。ユーザは、保守端末あるいはホストコンピュータ180を使用して、そのグループ番号「A」を指定したグループ作成指示を、正記憶システム100Aに入力する。グループ作成指示を受けて、正記憶システム100Aは、指定されたグループ番号「A」のグループ状態を“正常”に変更する。
同様に、ユーザは、副記憶システム100Bのグループ情報600を参照し、グループ状態が“未使用”のグループ番号、例えば「B」、を取得する。ユーザは、保守端末あるいはホストコンピュータ180を使用して、副記憶システム100Bとグループ番号「B」を指定したグループ作成指示を、正記憶システム100Aに入力する。正記憶システム100Aは、受信したグループ作成指示を副記憶システム100Bに転送する。副記憶システム100Bは、指定されたグループ番号「B」のグループ状態を“正常”に変更する。
或いは、ユーザは、副記憶システム100Bの保守端末あるいは副記憶システム100Bに接続されたホストコンピュータ180を使用して、グループ番号「B」を指定したグループ作成指示を、副記憶システム100Bに直接入力してもよい。この場合も、副記憶システム100Bは、指定されたグループ番号「B」のグループ状態を“正常”に変更する。
(2)ペア登録(ステップ910)
ユーザは、保守端末あるいはホストコンピュータ180を使用して、データ複製元である正論理ボリュームを特定する情報とデータ複製先である副論理ボリュームを特定する情報を指定したペア登録指示を、正記憶システム100Aに入力する。正論理ボリュームを特定する情報には、作成されたグループ番号「A」と、そのグループ「A」内の正論理ボリューム番号が含まれる。副論理ボリュームを特定する情報には、副記憶システム100Bの記憶システム番号と、作成されたグループ番号「B」と、そのグループ「B」内の副論理ボリューム番号が含まれる。
前記ペア登録指示を受けて、正記憶システム100Aは、ペア情報500からペア情報が“未使用”のペア番号を取得する。そして、正記憶システム100A、ペア情報500内の取得したペア番号の行において、ペア状態を“コピー未”に設定し、正記憶システム番号に、正記憶システム100Aの記憶システム番号を設定し、正論理ボリューム番号に、指示された正論理ボリューム番号を設定し、副記憶システム番号に、指示された副記憶システム番号を設定し、副論理ボリューム番号に、指示された副論理ボリューム番号を設定し、そして、グループ番号に、指示されたグループ番号「A」を設定する。さらに、正記憶システム100Aは、指示されたグループ番号「A」のグループ情報600のペア集合に、前記取得したペア番号を追加し、正論理ボリューム番号のボリューム状態を“正”に変更する。
正記憶システム100Aは、正記憶システム100Aの記憶システム番号、ユーザから指定されたグループ番号「B」、正論理ボリューム番号、および副論理ボリューム番号を、副記憶システム100Bに通知する。副記憶システム100Bは、ペア情報500から未使用のペア番号を取得する。そして、副記憶システム100Bは、ペア情報500内の取得したペア番号の行において、ペア状態を“コピー未”に設定し、正記憶システム番号に、記憶システム100Aの記憶システム番号を設定し、正論理ボリューム番号に、指示された正論理ボリューム番号を設定し、副記憶システム番号に、副記憶システム100Bの副記憶システム番号を設定し、副論理ボリューム番号に、指示された副論理ボリューム番号を設定し、そして、グループ番号に、指示されたグループ番号「B」を設定する。さらに、副記憶システム100Bは、指示されたグループ番号「B」のグループ情報600のペア集合に、前記取得したペア番号を追加し、副論理ボリューム番号のボリューム状態を“副”に変更する。
以上の動作が、全てのデータ複製対象のペアに対して行われる。
前記の説明では、論理ボリュームのグループへの登録と、論理ボリュームのペアの設定を同時に行う処理を説明したが、それぞれ個別に行ってもよい。
(3)ジャーナル論理ボリューム登録(ステップ920)
ユーザは、保守端末あるいはホストコンピュータ180を使用して、ジャーナルの保存に使用する論理ボリューム(ジャーナル論理ボリューム)をグループに登録する指示(ジャーナル論理ボリューム登録指示)を、正記憶システム100Aに入力する。ジャーナル論理ボリューム登録指示には、グループ番号と論理ボリューム番号が含まれる。
正記憶システム100Aは、指示されたグループ番号のグループ情報600内のジャーナル論理ボリューム番号に、指示された論理ボリューム番号を登録し、そして、当該論理ボリュームのボリューム情報400内のボリューム状態に、“正常”を設定する。
同様に、ユーザは、保守端末あるいはホストコンピュータ180を使用して、副記憶システム100Bのボリューム情報400を参照し、副記憶システム100Bの記憶システム番号、グループ番号「B」、ジャーナル論理ボリュームの論理ボリューム番号を指定して、ジャーナル論理ボリューム登録の指示を正記憶システム100Aに入力する。正記憶システム100Aは、そのジャーナル論理ボリューム登録指示を副記憶システム100Bに転送する。副記憶システム100Bは、指示されたグループ番号「B」のグループ情報600内のジャーナル論理ボリューム番号に、指示された論理ボリューム番号を登録し、そして、当該論理ボリュームのボリューム情報400内のボリューム状態に、“正常”を設定する。
ユーザは、副記憶システム100Bの保守端末あるいは副記憶システム100Bに接続したホストコンピュータ180を使用して、グループ番号、ジャーナル論理ボリュームの論理ボリューム番号を指定して、ジャーナル論理ボリューム登録指示を副記憶システム100Bに直接入力してもよい。この場合も、副記憶システム100Bは、指示されたグループ番号「B」のグループ情報600内のジャーナル論理ボリューム番号に、指示された論理ボリューム番号を登録し、そして、当該論理ボリュームのボリューム情報400内のボリューム状態に、“正常”を設定する。
以上の動作が、ジャーナル論理ボリュームとして使用される全ての論理ボリュームに関して行われる。ステップ910とステップ920の順は逆であってもよい。
(4) データ複製処理の開始(ステップ930)
ユーザは、保守端末あるいはホストコンピュータ180を使用して、データ複製処理を開始するグループ番号を指定して、データ複製処理の開始を正記憶システム100Aに指示する。正記憶システム100Aは、指示されたグループに属する全てのペア情報400のコピー済みアドレスを“0”に設定する。
正記憶システム100Aは、副記憶システム100Bに、ジャーナルリード処理240およびリストア処理250(図2参照)の開始を指示する。正記憶システム100Aは、後述する初期コピー処理を開始する。
(5)初期コピー処理の終了(ステップ940)
初期コピー処理が終了すると、正記憶システム100Aは、初期コピー処理の終了を副記憶システム100Bに通知する。副記憶システム100Bは、指示されたグループに属する全ての副論理ボリュームのペア状態を“正常”に変更する。
図11は、上述した図10のステップ930で行われる初期コピー処理の手順を示すフローチャートである。
初期コピー処理では、データ複製対象の正論理ボリュームの全記憶領域に関して、ペア情報500のコピー済みアドレスを用いながら、その全記憶領域の先頭から順に、単位データサイズ毎にジャーナルが作成される。コピー済みアドレスは、初期値は0であり、そこに、ジャーナルが作成される都度、ジャーナル作成が済んだデータのデータサイズが加算される。論理ボリュームの記憶領域の先頭から、コピー済みアドレスの直前のアドレスまでの範囲については、初期コピー処理にてジャーナルが作成済みである。初期コピー処理を行うことにより、正論理ボリューム内の更新されていないデータを副論理ボリュームに転送することが可能となる。以下の説明では、正記憶システム100A内のチャネルアダプタ110(図1参照)が初期コピー処理を行うように説明されるが、代わって、ディスクアダプタ120がそれを行ってもよい。以下、図11に基づいて初期コピー処理の手順を説明する。
(1) 正記憶システム100A内のチャネルアダプタ110は、処理対象のグループに属するペアの中でペア状態が“コピー未”である正論理ボリューム、例えば「A」を得、そのペアの状態を“コピー中”に変更し、以下の処理を繰り返す(ステップ1010、1020)。もし、“コピー未”のペア状態にある正論理ボリュームが存在しない場合は、処理を終了する(ステップ1030)。
(2) ステップ1010にて取得した正論理ボリューム「A」について、チャネルアダプタ110は、単位サイズ(例えば、1MB)のデータ毎に、ジャーナルを作成する(ステップ1040)。ジャーナル作成処理の詳細については後述する
(3) チャネルアダプタ110は、ペア情報500のコピー済みアドレスに、ジャーナル作成が済んだデータのサイズを加算する(ステップ1050)。
(4) コピー済みアドレスが、正論理ボリューム「A」の容量に達するまで、上記ステップ1040及び1050の処理を繰り返す(ステップ1060)。コピー済みアドレスが、正論理ボリューム「A」の容量と等しくなった場合、正論理ボリューム「A」の全記憶領域に対してジャーナルが作成されたことになるため、チャネルアダプタ110は、ペア状態を“正常”に更新し、そして、他の正論理ボリュームについて初期コピー処理を開始する(ステップ1070)。
図11のフローチャートでは、個々の正論理ボリュームが逐次に処理されるが、複数の論理ボリュームが同時に処理されてもよい。
図12は、命令受信処理210(図2参照)におけるデータの流れを説明する図である。図13は、命令受信処理210の手順を示すフローチャートである。図14は、ジャーナル作成処理のフローチャートである。以下、図12〜図14を参照して、正記憶システム100Aが、ホストコンピュータ180からデータ複製対象の論理ボリューム230にライト命令を受信した場合の動作について説明する。
まず、図12及び図13を参照して、命令受信処理210の全体的な動作を説明する。
(1) 正記憶システム100A内のチャネルアダプタ110は(図13のステップ1200)、ホストコンピュータからアクセス命令を受信する。アクセス命令は、データリード、データライト、又は後述するジャーナルリード等の命令、命令対象の論理アドレス、及びデータ量等を含んでいる。以下の説明では、アクセス命令内の論理アドレスを論理アドレス「A」、論理ボリューム番号を論理ボリューム「A」、論理ボリューム内位置を論理ボリューム内位置「A」、データ量をデータ量「A」とする。
(2) チャネルアダプタ110は、アクセス命令を調べる(ステップ1210、1215)。ステップ1215の調べで、アクセス命令がジャーナルリード命令の場合は、後述するジャーナルリード受信処理を行う(ステップ1220)。アクセス命令がジャーナルリード命令およびデータライト命令以外、例えば、データリード命令の場合は、従来技術と同じようにデータリード処理を行う(ステップ1230)。
(3) ステップ1210の調べで、アクセス命令がデータライト命令の場合は、チャネルアダプタ110は、論理ボリュームAのボリューム情報400を参照し、ボリューム状態を調べる(ステップ1240)。ステップ1240の調べで、論理ボリュームAのボリューム状態が、“正常”もしくは“正”以外の場合は、論理ボリュームAへのアクセスは不可能なため、チャネルアダプタ110は、ホストコンピュータ180に異常終了を報告する(ステップ1245)。
(4) ステップ1240の調べで、論理ボリュームAのボリューム状態が、“正常”、“正”のいずれかの場合は、チャネルアダプタ110は、キャッシュメモリ130を確保し、ホストコンピュータ180にデータ受信の準備ができたことを通知する。ホストコンピュータ180は、その通知を受け、ライトデータを正記憶システム100Aに送信する。チャネルアダプタ110は、ライトデータを受信し、これを当該キャッシュメモリ130に保存する(ステップ1250、図12の1100)。
(5) チャネルアダプタ110は、論理ボリューム「A」のボリューム状態を参照し、論理ボリューム「A」がデータ複製対象かどうかを調べる(ステップ1260)。ステップ1260の調べで、ボリューム状態が、“正”である場合は、論理ボリューム「A」がデータ複製対象であるため、後述するジャーナル作成処理を行う(ステップ1265)。
(6) ステップ1260の調べで、ボリューム状態が、“正常”である場合、もしくはステップ1265のジャーナル作成処理の終了後、チャネルアダプタ110は、ディスクアダプタ120にライトデータを記憶装置150に書き込むことを命令し(図12の1140)、ホストコンピュータ180に終了報告する(ステップ1270、1280)。その後、当該ディスクアダプタ120は、リードライト処理により、物理的記憶装置150にライトデータを保存する(図12の1110)。
次に、上述した図11のステップ1040又は図13のステップ1265のジャーナル作成処理について、図12及び図14を参照して説明する。
(1) チャネルアダプタ110は、最初のセットのポインタ情報700を取得する(図14のステップ1305)。チャネルアダプタ110は、ジャーナル論理ボリュームのボリューム状態を調べる(ステップ1310)。ステップ1310の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、チャネルアダプタ110は、グループ状態を“異常”に変更し、処理を終了する(ステップ1315)。この場合、チャネルアダプタ110は、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行う。
(2) ステップ1310の調べで、ジャーナル論理ボリュームが正常である場合、チャネルアダプタ110は、ジャーナル作成処理を継続する。ジャーナル作成処理は、初期コピー処理内の処理であるか、命令受信処理内の処理であるかによって動作が異なる(ステップ1320)。ジャーナル作成処理が命令受信処理内の処理の場合は、ステップ1330からの動作が行われる。ジャーナル作成処理が初期コピー処理内の場合は、ステップ1370からの動作が行われる。
(3) ジャーナル作成処理が命令受信処理内の処理の場合、チャネルアダプタ110は、ライト対象の論理アドレス「A」が、初期コピー処理の処理対象となったかを調べる(ステップ1330)。論理ボリューム「A」のペア状態が“コピー未”の場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、チャネルアダプタ110は、ジャーナルを作成せずに処理を終了する(ステップ1335)。論理ボリューム「A」のペア状態が“コピー中”の場合は、コピー済みアドレスが論理アドレス内位置「A」と等しいか小さいならば、後に初期コピー処理にてジャーナル作成処理が行われるため、チャネルアダプタ110は、ジャーナルを作成せずに処理を終了する(ステップ1335)。上記以外、つまり、論理ボリューム「A」のペア状態が“コピー中”かつコピー済みアドレスが論理アドレス内位置「A」以上の場合もしくは、論理ボリューム「A」のペア状態が“正常”の場合は、既に初期コピー処理が完了しているため、チャネルアダプタ110は、ジャーナル作成処理を継続する。
(4) 次に、チャネルアダプタ110は、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。すなわち、チャネルアダプタ110は、ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(ステップ1340)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、チャネルアダプタ110は、ジャーナル作成失敗として処理を終了する(ステップ1390)。
ステップ1340の調べで、更新情報領域に未使用領域が存在する場合は、チャネルアダプタ110は、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(ステップ1345)。ライトデータ最新アドレスとデータ量「A」の和が、ライトデータ最古アドレスと等しいか大きい場合は、ライトデータ領域に格納できないため、チャネルアダプタ110は、ジャーナル作成失敗として処理を終了する(ステップ1390)。次のセットのポインタ情報700が存在する限り、チャネルアダプタ110は、次セットのポインタ情報700について、ステップ1340〜ステップ1345の処理を繰り返す。
(5) ジャーナルが格納可能である場合、チャネルアダプタ110は、更新番号と、更新情報を格納するための論理アドレスと、ライトデータを格納するための論理アドレスを取得し、更新情報をキャッシュメモリ130内に作成する。チャネルアダプタ110は、対象グループのグループ情報600から更新番号を取得し、そして、これに1を加算した数値を、グループ情報600の更新番号に設定する。チャネルアダプタ110は、更新情報を格納するための論理アドレスとして、ポインタ情報700の更新情報最新アドレスを取得し、そして、それに更新情報のサイズを加算した数値を、ポインタ情報700の更新情報最新アドレスに設定する。チャネルアダプタ110は、ライトデータを格納するための論理アドレスとして、ポインタ情報700のライトデータ最新アドレスを取得し、そして、このライトデータ最新アドレスにデータ量「A」を加算した数値を、ポインタ情報700のライトデータ最新アドレスに設定する。チャネルアダプタ110は、上記取得した数値と、グループ番号と、ライト命令を受信した時刻と、ライト命令内の論理アドレス「A」及びデータ量「A」を、更新情報に設定する(ステップ1350、図12の1120)。例えば、図7に例示したグループ情報600及び図8に例示したポインタ情報700が存在する場合において、グループ「1」に属する正論理ボリューム「1」の記憶領域の先頭からアドレス数「800」だけ進んだ位置にデータサイズ「100」のデータをライトせよというライト命令を受信した場合、チャネルアダプタ110は、図15に例示するような更新情報を作成することになる。そして、図7に例示したグループ情報600内の更新番号は「5」に変更される。また、ポインタ情報600内の更新情報最新アドレスは「600」(更新情報のサイズを「100」とした場合)に変更され、ライトデータ最新アドレスは「2300」に変更される。正記憶システムに接続された複数の副記憶システムにそれぞれ対応する複数セットのポインタ情報700が存在する場合、チャネルアダプタ110は、それら複数セットのポインタ情報700の全てを上記のようにして更新する。
(6) チャネルアダプタ110は、ディスクアダプタ120に、ジャーナルの更新情報とライトデータを記憶装置150に書き込むことを命令し、正常終了する(ステップ1360、図12の1130、1140、1150)。
(7) ジャーナル作成処理が、初期コピー処理内の処理の場合は、ステップ1370からの動作が行われる。チャネルアダプタ110は、ジャーナルが作成可能であるかを調べる。すなわち、チャネルアダプタ110は、ポインタ情報700を用い、更新情報領域の未使用領域の有無を調べる(ステップ1370)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、チャネルアダプタ110は、ジャーナル作成失敗として処理を終了する(ステップ1390)。ここで、本実施形態における初期コピー処理においては、ジャーナルのライトデータは、正論理ボリュームからリードされ、ライトデータ領域は使用されないため、ライトデータ領域の未使用領域の確認は不要である。次のセットのポインタ情報700が存在する限り、チャネルアダプタ110は、次セットのポインタ情報700についてステップ1370の処理を繰り返す。
(8) ステップ1370の調べで、ジャーナルが作成可能である場合、チャネルアダプタ110は、更新情報に設定すべき以下のような数値を取得し、更新情報をキャッシュメモリ130内に作成する。すなわち、チャネルアダプタ110は、対象グループのグループ情報600から更新番号を取得し、そして、これに1を足した数値をグループ情報600の更新番号に設定する。チャネルアダプタ110は、更新情報を格納するための論理アドレスとして、ポインタ情報700内の更新情報最新アドレスの位置を取得し、そして、これに更新情報のサイズを足した数値をポインタ情報700内の更新情報最新アドレスに設定する。
チャネルアダプタ110は、上記取得した数値と、グループ番号と、本処理の開始時刻と、初期コピー処理対象の論理アドレスと、初期コピーの1回の処理データ量と、初期コピー処理におけるライトデータを格納したジャーナル論理ボリュームの論理アドレスとを、更新情報に設定する(ステップ1380、図12の1120)。
(9) チャネルアダプタ110は、ディスクアダプタ120に、更新情報を物理的記憶装置150に書き込むことを命令し、正常終了する(ステップ1385、図12の1140、1150)。
上記説明では、更新情報はキャッシュメモリ130内に格納されるが、変形として、更新情報が共有メモリ140又はその他の記憶場所に格納されてもよい。
ディスクアダプタ120によるライトデータの物理的記憶装置150への書き込みは、非同期で行うことができる(つまり、ステップ1360およびステップ1385の直後でなくともよい)。ただし、ホストコンピュータ180が、論理アドレス「A」に対するライト命令を再び発行した場合には、ジャーナルのライトデータが上書きされることになる。そのため、ホストコンピュータ180からライトデータを受信する前に、ジャーナルのライトデータは、更新情報の示すジャーナル論理ボリュームの論理アドレスに対応する物理記憶装置150内の記憶場所に、書き込まれる必要がある。もしくは、ジャーナルのライトデータは、別のキャッシュメモリに退避されて、後に更新情報のジャーナル論理ボリュームの論理アドレスに対応する物理的記憶装置150内の記憶場所に書き込まれてもよい。
前述したジャーナル作成処理では、ジャーナルは適当なタイミングでキャッシュメモリから物理的記憶装置150に保存される。変形例として、ジャーナル用に予め一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリが全て使用された段階で、ジャーナルが物理的記憶装置150に保存されるようにしてもよい。ジャーナル用のキャッシュメモリ量は、例えば、保守端末から指定できるようにしてよい。
リードライト処理220(図2、図12参照)は、ディスクアダプタ120が、チャネルアダプタ110もしくはディスクアダプタ120から命令を受け、実施する処理である。リードライト処理220は、指定されたキャッシュメモリ130のデータを、指定された論理アドレスに対応する物理的記憶装置150内の記憶領域に書き込むライト処理、及び、指定された論理アドレスに対応する記憶装置150内の記憶領域のデータを、指定されたキャッシュメモリ130に読み出すリード処理等に分類される。
図16は、ジャーナルリード命令を受信した正記憶システム100Aのチャネルアダプタ110の動作(ジャーナルリード受信処理)におけるデータ流れを説明する図です。図17は、ジャーナルリード受信処理の手順を示すフローチャートである。以下、これらの図面を用いて、正記憶システム100Aが、副記憶システム100Bからジャーナルリード命令を受信した場合の動作について説明する。
(1) 図16及び図17に示すように、正記憶システム100A内のチャネルアダプタ110は、副記憶システム100Bからアクセス命令(ジャーナルリード命令)を受信する。このアクセス命令は、ジャーナルリード命令であることを示す識別子、命令対象のグループ番号、及びリトライ指示の有無などを゛含んでいる(ステップ1220、図16の1410)。以下の説明では、そのアクセス命令(ジャーナルリード命令)内のグループ番号をグループ番号「A」とする。
(2) チャネルアダプタ110は、グループ番号「A」のグループ状態が“正常”であるかを調べる(ステップ1510)。ステップ1510の調べで、グループ状態が“正常”以外、例えば、“障害”の場合は、チャネルアダプタ110は、副記憶システム100Bにグループ状態を通知し、処理を終了する。副記憶システム100Bは、受信したグループ状態に応じて処理を行う。例えば、副記憶システム100Bは、グループ状態が“障害”の場合は、ジャーナルリード処理を終了する(ステップ1515)。
(3) ステップ1510の調べで、グループ番号「A」のグループ状態が“正常”の場合、チャネルアダプタ110は、ジャーナル論理ボリュームの状態を調べる(ステップ1520)。ステップ1520の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”でない場合、例えば、“障害”の場合は、チャネルアダプタ110は、グループ状態を“障害”に変更し、副記憶システム100Bにグループ状態を通知し、処理を終了する。副記憶システム100Bは、受信したグループ状態に応じて処理を行う。例えば、副記憶システム100Bは、グループ状態が“障害”の場合は、ジャーナルリード処理を終了する(ステップ1525)。
(4) ステップ1520の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、チャネルアダプタ110は、ジャーナルリード命令がリトライ指示かを調べる(ステップ1530)。
(5) ステップ1530の調べで、ジャーナルリード命令がリトライ指示の場合、チャネルアダプタ110は、前回送信したジャーナルを再度、副記憶システム100Bに送信する。チャネルアダプタ110は、キャッシュメモリ130を確保し、ディスクアダプタ120に、ポインタ情報700のリトライ開始アドレスが指す記憶場所から、更新情報のサイズ分のデータ(更新情報)をキャッシュメモリに読み込むことを命令する(図16の1420)。
ディスクアダプタ120のリードライト処理220は、物理的記憶装置150から更新情報を読み込み、これをキャッシュメモリ130に保存し、更新情報のリード終了をチャネルアダプタ110に通知する(図16の1430)。
チャネルアダプタ110は、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタ120にライトデータをキャッシュメモリ130に読み込むことを命令する(ステップ1540、図16の1440)。
ディスクアダプタ120のリードライト処理220は、物理的記憶装置150からライトデータを読み込み、これをキャッシュメモリ130に保存し、ライトデータのリード終了をチャネルアダプタ110に通知する(図16の1450)。
チャネルアダプタ110は、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム100Bに送信し、ジャーナルを保持しているキャッシュメモリ130を開放し、処理を終了する(ステップ1545、図16の1460)。
(6) ステップ1530の調べで、リトライ指示でない場合、チャネルアダプタ110は、送信していないジャーナルが存在するかを調べ、存在すれば、そのジャーナルを副記憶システム100Bに送信する。チャネルアダプタ110は、ポインタ情報700のリード開始アドレスと更新情報最新アドレスを比較する(ステップ1550)。
リード開始アドレスが更新情報最新アドレスと等しい場合は、全てのジャーナルを副記憶システム100Bに送信済みであるため、チャネルアダプタ110は、副記憶システム100Bに“ジャーナル無“を送信し(ステップ1560)、そして、前回のジャーナルリード命令の処理時に副記憶システム100Bに送信したジャーナルの記憶領域を開放する(ステップ1590)。
ステップ1590のジャーナルの記憶領域の開放処理では、その記憶領域に対して積極的にこれを開放する動作を行う必要はなく、単に最古アドレスのポインタを更新するだけでよい。すなわち、ポインタ情報700の更新情報最古アドレスに、リトライ開始アドレスが設定される。更新情報最古アドレスがライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは“0”とされる。ポインタ情報700のライトデータ最古アドレスは、その現在値に、前回のリードジャーナル命令に応じて送信されたライトデータのサイズを加算した数値に変更される。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスが減じられるよう補正される。
(7) ステップ1550の調べで、未送信のジャーナルが存在する場合、チャネルアダプタ110は、キャッシュメモリ130を確保し、ディスクアダプタにポインタ情報700のリード開始アドレスから、更新情報のサイズ分のデータ(更新情報)をキャッシュメモリに読み込むことを命令する(図16の1420)。
ディスクアダプタ120のリードライト処理220は、物理的記憶装置150から更新情報を読み込み、これをキャッシュメモリ130に保存し、更新情報のリード終了をチャネルアダプタ110に通知する(図16の1430)。
チャネルアダプタ110は、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタ120にライトデータをキャッシュメモリに読み込むことを命令する(ステップ1570、図16の1440)。
ディスクアダプタ120のリードライト処理220は、物理的記憶装置150からライトデータを読み込み、これをキャッシュメモリ130に保存し、ライトデータのリード終了をチャネルアダプタに通知する(図16の1450)。
チャネルアダプタ110は、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム100Bに送信し(ステップ1580)、ジャーナルを保持しているキャッシュメモリ130を開放する(図16の1460)。そして、ポインタ情報700のリトライ開始アドレスにリード開始アドレスを設定し、そして、リード開始アドレスを、その現在値に、送信されたジャーナルの更新情報サイズを加算した数値に変更する。
(8) チャネルアダプタ110は、前回のジャーナルリード命令の処理時に副記憶システム100Bに送信されたジャーナルの記憶領域を開放する(ステップ1590)。
上述したジャーナルリード受信処理では、正記憶システム100Aは、ジャーナルを一つずつ逐次に副記憶システム100Bに送信する。変形例として、複数のジャーナルを同時に副記憶システム100Bに送信するようにしてもよい。1つのジャーナルリード命令で送信されるジャーナル数は、副記憶システム100Bによりジャーナルリード命令内で指定されてもよいし、或いは、グループ登録の時等に、ユーザにより正記憶システム100A又は副記憶システム100Bに指定されてもよい。さらに、正記憶システム100Aと副記憶システム100Bの接続パス200の転送能力又は負荷等に応じて動的に、1つのジャーナルリード命令で送信されるジャーナル数が変更されてもよい。また、ジャーナル数でなく、ジャーナルのライトデータのサイズに応じて、ジャーナルの転送量が指定されてもよい。
前述したジャーナルリード受信処理では、ジャーナルが物理的記憶装置150からキャッシュメモリ130に読み込まれる。しかし、この動作は、ジャーナルが既にキャッシュメモリ130に存在する場合は不要である。
前述したジャーナルリード受信処理内のジャーナルの記憶領域の開放処理は、次のジャーナルリード命令の処理時に開放される。変形例として、副記憶システム100Bにジャーナルを送信した直後に、そのジャーナルの記憶領域が開放されてもよい。また、副記憶システム100Bが、ジャーナルリード命令内で開放してよい更新番号を設定し、正記憶システム100Aは、その設定により指定された更新番号のジャーナルの記憶領域を開放するようにしてもよい。
図18は、ジャーナルリード(JNLRD)処理240におけるデータ流れを説明する図である。図19は、ジャーナルリード処理240の手順を示すフローチャートである。図20は、ジャーナルリード処理240の中で行われるジャーナル格納処理の手順を示すフローチャートである。以下、これらの図面を用いて、副記憶システム100Bのチャネルアダプタ110が、正記憶システム100Aからジャーナルを読み出し、ジャーナル論理ボリュームに格納する動作について説明する。
(1) 副記憶システム100B内のチャネルアダプタ110は、ジャーナルを格納するキャッシュメモリ130を確保し、ジャーナルリード命令であることを示す識別子、命令対象の正記憶システム100Aのグループ番号、及びリトライ指示の有無を含むアクセス命令(ジャーナルリード命令)を、正記憶システム100Aに送信する(ステップ1700、図18の1610)。以下、アクセス命令内のグループ番号をグループ番号「A」とする。
(2) チャネルアダプタ110は、正記憶システム100Aの応答およびジャーナルを受信する(図18の1620)。チャネルアダプタ110は、正記憶システム100Aからの応答を調べ、その応答が、“ジャーナル無”の場合は、正記憶システム100Aには、指定したグループのジャーナルが存在しないため、一定時間後、正記憶システム100Aにリードジャーナル命令を送信する(ステップ1720、1725)。
(4) 正記憶システム100Aの応答が、“グループ状態は障害”もしくは“グループ状態は未使用”の場合は、チャネルアダプタ110は、副記憶システム100Bのグループ状態を受信した状態に変更し、ジャーナルリード処理を終了する(ステップ1730、1735)。
(5) 正記憶システム100Aの応答が、上記以外、つまり、正常終了の場合は、チャネルアダプタ110は、ジャーナル論理ボリュームのボリューム状態を調べる(ステップ1740)。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、チャネルアダプタ110は、グループ状態を“異常”に変更し、処理を終了する(ステップ1745)。この場合、チャネルアダプタ110は、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行い、グループの状態を正常に戻す。
(6) ステップ1740の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、チャネルアダプタ110は、後述するジャーナル格納処理1800を行う。ジャーナル格納処理1800が正常に終了した場合は、チャネルアダプタ110は、直ちに次のジャーナルリード命令を送信するか、もしくは、一定時間経過後、次のジャーナルリード命令を送信する(ステップ1760)。次のジャーナル命令を送信するタイミングは、一定の時間間隔で定期的に送信するものでもよく、その時間間隔は、受信したジャーナルの個数、接続線200の通信量、副記憶システム100Bが保持しているジャーナルの記憶容量、又は副記憶システム100Bの負荷等に応じて制御されてもよい。さらに、正記憶システム100Aが保持しているジャーナルの記憶容量又は正記憶システム100Aのポインタ情報を、副記憶システム100Bが読み出し、その数値に基づいて、上記時間間隔が制御されてもよい。上記情報の転送は、専用のコマンドで行われてもよいし、ジャーナルリード命令の応答に含まれていてよい。その後の処理は、ステップ1710以降と同じである。
(7) ステップ1800のジャーナル格納処理が正常に終了しない場合は、ジャーナル論理ボリュームの未使用領域が足りないため、チャネルアダプタ110は、受信したジャーナルを破棄し、一定時間後にリトライ指示のジャーナルリード命令を送信する(ステップ1755)。もしくは、チャネルアダプタ110は、ジャーナルをキャッシュメモリに保持しておき、一定時間後に、再度ジャーナル格納処理を行う。これは、後述するリストア処理250が行われることにより、一定時間後には、ジャーナル論理ボリュームに未使用領域が増える可能性があるためである。この方式の場合は、ジャーナルリード命令にリトライ指示の有無は不要である。
次に、上述したジャーナル格納処理1800について、図20を参照して説明する。
(1) 副記憶システムチャネルアダプタ110は、最初のセットのポインタ情報700を取得する(ステップ1805)。副記憶システムチャネルアダプタ110は、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。すなわち、チャネルアダプタ110は、ポインタ情報700を用い、更新情報領域に未使用領域の有無を調べる(ステップ1810)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、チャネルアダプタ110は、ジャーナル作成失敗として処理を終了する(ステップ1820)。
(2) ステップ1810の調べで、更新情報領域に未使用領域が存在する場合は、チャネルアダプタ110は、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(ステップ1830)。ライトデータ最新アドレスと受信したジャーナルのライトデータのデータ量の和が、ライトデータ最古アドレスと等しいもしくは大きい場合は、ライトデータ領域にライトデータを格納できないため、チャネルアダプタ110は、ジャーナル作成失敗として処理を終了する(ステップ1820)。次のセットのポインタ情報700が存在する限り、チャネルアダプタ110は、次セットのポインタ情報700についてステップ1810〜ステップ1830を繰り返す。
(3) ジャーナルが格納可能である場合、チャネルアダプタ110は、受信した更新情報のグループ番号とジャーナル論理ボリュームの論理アドレスを変更する。グループ番号は、副記憶システム100Bのグループ番号に変更され、ジャーナル論理ボリュームの論理アドレスはポインタ情報700のライトデータ最新アドレスに変更される。チャネルアダプタ110は、ポインタ情報700の更新情報最新アドレスを、これに更新情報最新アドレスに更新情報のサイズを足した数値に変更する。チャネルアダプタ110は、ポインタ情報700のライトデータ最新アドレスを、このライトデータ最新アドレスにライトデータのサイズを足した数値に変更する(ステップ1840)。複数の副記憶システムにそれぞれ対応する複数セットのポインタ情報が存在する場合、チャネルアダプタ110は、それら複数セットのポインタ情報700の全てを上記のように更新する。
(4) チャネルアダプタ110は、ディスクアダプタ120に、更新情報とライトデータを記憶装置150に書き込むことを命令し、ジャーナル作成成功として処理を終了する(ステップ1850、図18の1630)。その後、ディスクアダプタ120は、リードライト処理220により、物理的記憶装置150に更新情報とライトデータを書き込み、キャッシュメモリ130を開放する(図18の1640)。
上述したジャーナル格納処理では、ジャーナルが適当なタイミングでキャッシュメモリ130から物理的記憶装置150に保存される。変形例として、ジャーナル用に予め一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリが全て使用された段階で、物理的記憶装置150にジャーナルを保存してもよい。ジャーナル用のキャッシュメモリ量は、例えば、保守端末から指定できるようにしてよい。
図21は、リストア処理250におけるデータ流れを説明する図である。図22は、リストア処理250の手順を示すフローチャートである。以下、これらの図面を用いて、副記憶システム100Bのチャネルアダプタ110が、ジャーナルを利用し、データの更新を行う動作について説明する。変形例として、リストア処理250が、副記憶システム100Bのディスクアダプタ120により行われてもよい。
(1) 副記憶システム100Bチャネルアダプタ110は、グループ番号Bのグループ状態が“正常”であるかを調べる(ステップ2010)。ステップ2010の調べで、グループ状態が“正常”以外、例えば、“障害”の場合は、チャネルアダプタ110は、リストア処理を終了する(ステップ2015)。
(2) ステップ2010の調べで、グループ状態が“正常”の場合は、チャネルアダプタ110は、ジャーナル論理ボリュームのボリューム状態を調べる(ステップ2020)。ステップ2020の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、アクセス不可能なため、チャネルアダプタ110は、グループ状態を“異常”に変更し、処理を終了する(ステップ2025)。
(3) ステップ2020の調べで、ジャーナル論理ボリュームのボリューム状態が、“正常”の場合は、チャネルアダプタ110は、リストア対象のジャーナルが存在するかを調べる。すなわち、チャネルアダプタ110は、ポインタ情報700の更新情報最古アドレスと更新情報最新アドレスを取得する。更新情報最古アドレスと更新情報最新アドレスが等しい場合、ジャーナルは存在しないため、チャネルアダプタ110は、リストア処理は一旦終了し、一定時間後、リストア処理を再開する(ステップ2030)。
(4) ステップ2030の調べで、リストア対象のジャーナルが存在する場合、チャネルアダプタ110は、最古(最小)の更新番号を持つジャーナルに対して次の処理を行う。最古(最小)の更新番号を持つジャーナルの更新情報は、ポインタ情報700の更新情報最古アドレスから保存されている。チャネルアダプタ110は、キャッシュメモリ130を確保し、ディスクアダプタ120に、更新情報最古アドレスから、更新情報のサイズ分のデータ(更新情報)をキャッシュメモリ130に読み込むことを命令する(図21の1910)。
ディスクアダプタ120のリードライト処理220は、物理的記憶装置150から更新情報を読み込み、キャッシュメモリ130に保存し、更新情報のリード終了をチャネルアダプタ110に通知する(図21の1920)。
チャネルアダプタ110は、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、ディスクアダプタ120にライトデータをキャッシュメモリに読み込むことを命令する(図21の1930)。
ディスクアダプタ120のリードライト処理220は、物理的記憶装置150からライトデータを読み込み、キャッシュメモリ130に保存し、ライトデータのリード終了をチャネルアダプタ110に通知する(ステップ2040、図21の1940)。
(5) チャネルアダプタ110は、更新情報から更新する副論理ボリュームの論理アドレスを求め、ディスクアダプタ120に副論理ボリュームにライトデータを書き込むことを命令する(ステップ2050、図21の1950)。ディスクアダプタ120のリードライト処理220は、副論理ボリュームの論理アドレスに対応する物理的記憶装置150の記憶場所にデータを書き込み、キャッシュメモリ130を開放し、データのライト完了をチャネルアダプタ110に通知する(図21の1960)。
(6) チャネルアダプタ110は、データのライト完了の通知を受け、ジャーナルの記憶領域を開放する。ジャーナルの記憶領域の開放処理では、ポインタ情報700の更新情報最古アドレスが、これに更新情報のサイズを足した数値に変更される。更新情報最古アドレスが、ライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは“0”とされる。ポインタ情報700のライトデータ最古アドレスは、これにライトデータのサイズを足した数値に変更される。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスが減じされるよう補正される。その後、チャネルアダプタ110は、次のリストア処理を開始する(ステップ2060)。
前述したリストア処理250では、物理的記憶装置150からキャッシュメモリ130にジャーナルが読み込まれる。しかし、この動作は、ジャーナルが既にキャッシュメモリ130に存在する場合は不要である。
前述したジャーナルリード受信処理とジャーナルリード処理240では、正記憶システム100Aが、送信すべきジャーナルをポインタ情報700により決めている。変形例として、副記憶システム100Bが、送信すべきジャーナルを決めてもよい。この場合、副記憶システム100Bは、例えば、ジャーナルリード命令に、更新番号を追加することができる。この場合、正記憶システム100Aの共有メモリ140内に、更新番号から更新情報を格納した論理アドレスを求めるためのテーブルもしくは検索方法が設けられ、それにより、正記憶システム100Aが、ジャーナルリード受信処理にて、副記憶システム100Bにより指定された更新番号から、更新情報の論理アドレスを求めるようにすることができる。
前述したジャーナルリード受信処理とジャーナルリード処理240では、ジャーナルリード命令という専用のアクセス命令が用いられる。変形例として、通常のリード命令を用いるようにしてもよい。その場合、例えば、正記憶システム100Aのグループ情報600とポインタ情報700が予め副記憶システム100Bに転送され、そして、副記憶システム100Bが、グループ情報600とポインタ情報700に基づいて、正記憶システム100A内のジャーナル論理ボリュームのデータ(つまり、ジャーナル)をリードするためのリード命令を生成するようにすることができる。
前述したジャーナルリード受信処理では、更新番号の順に、正記憶システム100Aから副記憶システム100Bにジャーナルが順次に送信される。変形例として、更新番号の順とは異なる順序でジャーナルが送信されるようにしてもよい。或いは、正記憶システム100Aから副記憶システム100Bに、複数のジャーナルを並列的に送信されてもよい。この場合、副記憶システム100Bに、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法が設けられ、それにより、副記憶システム100Bでのリストア処理250で、更新番号順にジャーナルが処理されるようにすることができる。
本実施形態では、正記憶システム100Aがジャーナルを取得し、副記憶システム100Bが、正記憶システム100Aからジャーナルをリードして、どれに基づいてデータの複製を行う。これにより、正記憶システム100Aに接続されたホストコンピュータ180は、データの複製に関する負荷を負わない。さらに、正記憶システム100Aと副記憶システム100B間でジャーナルが転送されるので、正記憶システム100Aとホストコンピュータ180間の通信線がデータ複製のためには使用されない。
図23は、本発明に従うデータ処理システムの第2の実施形態の論理的な構成を示す図である。
図23に示すように、この実施形態は、正記憶システム100Aと副記憶システム100Bの他に、第3の記憶システム100Cを有する。これらの記憶システム100A、100B、100Cの物理的な構成は、いずれも、図1を参照して既に説明したそれと基本的に同一でよい。ホストコンピュータ180と第3の記憶システム100Cが接続パス190により接続され、第3の記憶システム100Cと正記憶システム100Aが接続パス200により接続され、そして、正記憶システム100Aと副記憶システム100Bが接続パス200により接続される。第3の記憶システム100Cは、正記憶システム100A内の正論理ボリューム(「DATA1」、「DATA2」等)230内のデータの元のデータをそれぞれ保持したオリジナル論理ボリューム(「ORG1」、「ORG2」等)230を有する。
第3の記憶システム100Cは、ホストコンピュータ180からのデータライト命令により、要求されたオリジナル論理ボリューム(例えば「ORG1」)230内のデータ(オリジナルデータ)を更新する。この時、第3の記憶システム100Cは、オリジナル論理ボリューム(例えば「ORG1」)230内のオリジナルデータを更新するだけでなく、その更新対象のオリジナルデータに対応する正論理ボリューム(「DATA1」)230内のデータを更新するためのデータライト命令を、正記憶システム100Aに送る(2310)。
正記憶システム100Aは、第1の実施形態で説明した通り、上記データライト命令を受けて、要求された正論理ボリューム(例えば「DATA1」)230のデータを更新し、そして、前述した命令受信処理210およびリードライト処理220によって、そのデータ更新のジャーナルを、ジャーナル論理ボリューム(「JNL1」)230に保存する(2310)。
副記憶システム100Bは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(「JNL2」)230にジャーナルを保存する(2320)。
正記憶システム100Aは、副記憶システム100Bからジャーナルをリードする命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(「JNL1」)230からジャーナルを読み出し、副記憶システム100Bに送信する(2320)。
副記憶システム100Bは、前述したリストア処理250およびリードライト処理220によって、更新番号に従い、ジャーナル論理ボリューム(「JNL2」)からジャーナルを読み出し、正論理ボリューム(「DATA1」)230の複製である副論理ボリューム(COPY1)のデータを更新する(2330)。このように、更新番号の順にデータを更新することにより、論理ボリューム間のデータの整合性を保つことが可能となる。
図23に示したデータ処理システムでは、正記憶システム100Aがジャーナルを取得し、これをジャーナル専用の記憶領域に格納する。さらに、副記憶システム100Bは、正記憶システムから受信したジャーナルを、ジャーナル専用の記憶領域に格納する。ジャーナル専用の記憶領域は、データ複製対象の記憶領域より少なくすることが可能であり、より少ない記憶容量で、副記憶システムに正記憶システムのデータの複製が可能となる。
図24は、本発明に従うデータ処理システムの第3の実施形態の論理的な構成を示す図である。
図24に示すように、この実施形態は、正記憶システム100Aと副記憶システム100Bの他に、第3の記憶システム100Cを有する。これらの記憶システム100A、100B、100Cの物理的な構成は、いずれも、図1を参照して既に説明したそれと基本的に同一でよい。ホストコンピュータ180と第3の記憶システム100Cが接続パス190により接続され、第3の記憶システム100Cと正記憶システム100Aが接続パス200により接続され、そして、正記憶システム100Aと副記憶システム100Bが接続パス200により接続される。
正記憶システム100Aは、第3の記憶システム100Cに対し、正論理ボリューム(「DATA1」、「DATA2」等)があるように見せるが、その正論理ボリューム(「DATA1」、「DATA2」等)に対しては、実際の物理的な記憶領域、つまり物理的記憶装置150を割り当てない。例えば、ボリューム情報400内の各正論理ボリュームの物理アドレスに、物理的記憶装置150を割り当てていないことを示す所定の数値が設定される。従って、正記憶システム100A内の正論理ボリューム(「DATA1」、「DATA2」等)は、仮想的なものである。正記憶システム100Aは、これら仮想的な正論理ボリューム(「DATA1」、「DATA2」等)のデータ更新のジャーナルを保持するためのジャーナル論理ボリューム(「JNL1」)230を有し、これには、実際の物理的な記憶領域が割り当てられる。第3の記憶システム100Cは、正記憶システム100A内の仮想的な正論理ボリューム(「DATA1」、「DATA2」)内のデータに相当する実際のデータを保持したオリジナル論理ボリューム(例えば「ORG1」、「ORG2」等)230を有し、これには実際の物理的記憶領域が割り当てられている。
第3の記憶システム100Cは、ホストコンピュータ180からのデータライト命令により、要求されたオリジナル論理ボリューム(例えば「ORG1」)のデータ(オリジナルデータ)を更新する。この時、第3の記憶システム100Cは、そのオリジナルデータを更新するだけでなく、更新されるオリジナルデータに対応する仮想的な正論理ボリューム(例えば「DATA1」)内のデータを更新するためのデータライト命令を、正記憶システム100Aに送る(2410)。
正記憶システム100Aは、第3の記憶システム100Cから仮想的な正論理ボリューム(例えば「DATA1」)内のデータのライト命令を受信すると、図13に示した命令受信処理210のステップ1270の処理(ディスクアダプタへのデータライト命令の発行)は行わずに、そのデータ更新のジャーナルをジャーナル論理ボリューム(「JNL1」)230に保存するだけである(2410)。
副記憶システム100Bは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(「JNL2」)230にジャーナルを保存する(2420)。
正記憶システム100Aは、副記憶システム100Bからジャーナルリード命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(「JNL1」)230からジャーナルを読み出し、記憶システム100Bに送信する(2420)。
副記憶システム100Bは、前述したリストア処理250およびリードライト処理220によって、更新番号に従い、ジャーナル論理ボリューム(「JNL2」)230からジャーナルを読み出し、オリジナル論理ボリューム(例えば「ORG1」)230の複製である副論理ボリューム(例えば「COPY1」)230のデータを更新する(2430)。このように、更新番号の順にデータを更新することにより、論理ボリューム間のデータの整合性を保つことが可能となる。
図24に示したデータ処理システムでは、第3の記憶システム100Cもしくは、第3の記憶システム100Cに接続されたホストコンピュータ180に障害が生じた場合、副記憶システム100Bの論理ボリューム(例えば「COPY1」)230に対し、正記憶システム100A内のジャーナル(「JNL1」)230を反映することにより、副記憶システム100Bに接続されたホストコンピュータ(図24には図示せず)により、最新データの参照、更新が可能となる。さらに、正記憶システム100Aにオリジナルデータの複製を保持せず、ジャーナルのみを格納することで、データ複製に必要な記憶容量が少なくすることが可能となる。
図25は、本発明に従うデータ処理システムの第4の実施形態の論理的な構成を示す図である。
図25に示すように、この実施形態は、正記憶システム100Aと複数(例えば2台)の副記憶システム100B、100Cを有する。これらの記憶システム100A、100B、100Cの物理的な構成は、いずれも、図1を参照して既に説明したそれと基本的に同一でよい。ホストコンピュータ180と正記憶システム100Aが接続パス190により接続され、正記憶システム100Aと第1の副記憶システム100Bが接続パス200により接続され、そして、正記憶システム100Aと第2の副記憶システム100Cが接続パス200により接続される。正記憶システム100Aでは、所定の複数の正論理ボリューム(例えば「DATA1」、「DATA2」)230とジャーナル論理ボリューム(例えば「JNL1」)230が一つのグループ「グループ1」を構成する。第1の副記憶システム100Bでは、上述した「グループ1」に属する複数の正論理ボリューム(「DATA1」、「DATA2」)230のそれぞれの複製である複数の副論理ボリューム(例えば「COPY1」、「COPY2」)230とジャーナル論理ボリューム(例えば「JNL2」)230が同じグループ「グループ1」を構成する。同様に、第2の副記憶システム100Cでも、「グループ1」の正論理ボリューム(「DATA1」、「DATA2」)230のそれぞれの複製である複数の副論理ボリューム(例えば「COPY3」、「COPY4」)230とジャーナル論理ボリューム(例えば「JNL3」)230が同じグループ「グループ1」を構成する。
1台の正記憶システム100Aに対して複数台の副記憶システム100B、100Cが存在するため、図26に例示するように、複数台の副記憶システム100B、100Cにそれぞれ対応した複数のポインタ情報700B、700Cが、正記憶システム100Aに保持される。第1の副記憶システム100Bには、第1の副記憶システム100B用のポインタ情報700Bが保持され、第2の副記憶システム700Cにも、第2の副記憶システム700C用のポインタ情報700Cが保持される。これらのポインタ情報700B、700Cの各々の構成とその意味するところは、図8及び図9を参照して既に説明したものと同様である。異なる副記憶システム100B、100Cは、それぞれ独自にスケジューリングしたタイミングで、ジャーナルリード処理240及びリストア処理250を行う。そのため、図27に例示するように、異なる副記憶システム100B、100C用のポインタ情報700B、700Cが指し示すアドレスは必ずしも同じではない。
再び図25を参照して、この実施形態の動作を以下に説明する。
正記憶システム100Aは、ホストコンピュータ180から或る正論理ボリューム(例えば「DATA1」)230のデータのライト命令を受信すると、前述した命令受信処理210およびリードライト処理220によって、正論理ボリューム(「DATA1」)230内の要求されたデータを更新し、そして、ジャーナル論理ボリューム(「JNL1」)にそのデータ更新のジャーナルを保存する(2510)。
第1の副記憶システム100Bは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(「JNL2」)にそのジャーナルを保存する(2520)。ここで、第1の副記憶システム100Bがジャーナルをリードするタイミング(ジャーナルリード命令を正記憶システム100Aに送るタイミング)は、第1の副記憶システム100Bのチャネルアダプタ110によって独自にスケジューリングされる。このジャーナルリードのタイミングじゃ図19のステップ1760に関して既に説明したように、例えば、前のジャーナルのジャーナル格納処理1800の正常終了後に直ちにでもよいし、前のジャーナルのジャーナル格納処理1800の正常終了後一定時間経過後でもよいし、或いは、一定の時間間隔で定期的にでもよい。定期的にジャーナルリード命令を送る場合には、その時間間隔は、受信したジャーナルの個数、接続線200の通信量、第1の副記憶システム100Bが保持しているジャーナルの記憶容量、又は第1の副記憶システム100Bの負荷等に応じて制御されてもよい。さらに、正記憶システム100Aが保持しているジャーナルの記憶容量又は正記憶システム100Aのポインタ情報を、第1の副記憶システム100Bが読み出し、その数値に基づいて、上記時間間隔が制御されてもよい。上記情報の転送は、専用のコマンドで行われてもよいし、ジャーナルリード命令の応答に含まれていてよい。いずれにしても、ジャーナルをリードするタイミングが他の副記憶システム100Cと同期する必要はない。
正記憶システム100Aは、副記憶システム100Bからジャーナルをリードする命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(「JNL1」)からジャーナルを読み出し、第1の副記憶システム100Bに送信する(2520)。
第1の副記憶システム100Bは、前述したリストア処理250およびリードライト処理220によって、更新番号に従い、ジャーナル論理ボリューム(「JNL2」)からジャーナルを読み出し、正論理ボリューム(「DATA1」)の複製である副論理ボリューム(「COPY1」)のデータを更新する(290)。このように、更新番号の順にデータを更新することにより、論理ボリューム間のデータの整合性を保つことが可能となる。
第2の副記憶システム100Cは、前述したジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(「JNL3」)にジャーナルを保存する(2520)。ここで、第2の副記憶システム100Cがジャーナルをリードするタイミング(ジャーナルリード命令を正記憶システム100Aに送るタイミング)は、第2の副記憶システム100Cのチャネルアダプタ110によって独自にスケジューリングされる。このジャーナルリードのタイミングは、図19のステップ1760に関して既に説明したように、例えば前のジャーナルのジャーナル格納処理1800の正常終了後に直ちにでもよいし、前のジャーナルのジャーナル格納処理1800の正常終了後一定時間経過後でもよいし、或いは、一定の時間間隔で定期的にでもよい。定期的にジャーナルリード命令を送る場合には、その時間間隔は、受信したジャーナルの個数、接続線200の通信量、第2の副記憶システム100Cが保持しているジャーナルの記憶容量、又は第2の副記憶システム100Cの負荷等に応じて制御されてもよい。さらに、正記憶システム100Aが保持しているジャーナルの記憶容量又は正記憶システム100Aのポインタ情報を、第2の副記憶システム100Cが読み出し、その数値に基づいて、上記時間間隔が制御されてもよい。上記情報の転送は、専用のコマンドで行われてもよいし、ジャーナルリード命令の応答に含まれていてよい。いずれにしても、ジャーナルをリードするタイミングは、他の副記憶システム100Bと同期する必要はない。
正記憶システム100Aは、第2の副記憶システム100Cからジャーナルをリードする命令を受信すると、命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(「JNL1」)からジャーナルを読み出し、第2の記憶システム100Cに送信する(2520)。
第2の副記憶システム100Cは、前述したリストア処理250およびリードライト処理220によって、更新番号に従い、ジャーナル論理ボリューム(「JNL3」)からジャーナルを読み出し、正論理ボリューム(「DATA1」)の複製である副論理ボリューム(「COPY3」)のデータを更新する(290)。このように、更新番号の順にデータを更新することにより、論理ボリューム間のデータの整合性を保つことが可能となる。
上述したように、異なる副記憶システム100B、100Cが、それぞれ独自にスケジューリングしたタイミングでジャーナルリード処理240及びリストア処理250を行う。副記憶システム100B、100Cは、それぞれ、リストア処理(又はジャーナルリード処理)が終わると、リストア処理 (又はジャーナルリード処理)の終了した更新番号を含むリストア処理(又はジャーナルリード処理)終了の通知を、正記憶システム100Aに送る。正記憶システム100Aは、副記憶システム100B、100Cからのリストア処理(又はジャーナルリード処理)終了の通知に基づいて、どの副記憶システムシステム100B、100Cがどの更新番号のリストア処理(又はジャーナルリード処理)を終了したかを示す情報を管理する。そして、正記憶システム100Aは、その情報に基づいて、全ての副記憶システム100B、100Cにてリストア処理(又はジャーナルリード処理)が終了した更新番号のジャーナルについて、ジャーナル論理ボリューム(「JNL1」)230内の当該ジャーナルの記憶領域を開放する。副記憶システム100B、100Cのいずれか一つでも未だリストア処理(又はジャーナルリード処理)が終了してない更新番号のジャーナルについては、正記憶システム100Aは、そのジャーナルをジャーナル論理ボリューム(「JNL1」)230内に維持し、そのジャーナルの記憶領域を開放しない。
図25に例示したデータ処理システムによれば、複数台のうちの一部の副記憶システムで障害が発生しても、他の正常な副記憶システムにより正論理ボリュームの複製が維持されるので、安全性が高い。
図25に例示したデータ処理システムでは、一台の正記憶システム100Aに対して2台の副記憶システム100B、100Cが存在する。変形例として、3台以上の副記憶システム100B、100Cが一台の正記憶システム100Aに対して設けられてもよい。
図25に例示したデータ処理システムでは、複数台の副記憶システム100B、100Cが並列的に一台の正記憶システム100Aからジャーナルをリードする。変形例として、各副記憶システム100B、100Cが、正記憶システム100Aからジャーナルをリードする機能の他に、他の副記憶システムからジャーナルをリードする機能も兼ね備えて、正記憶システム100Aと他の副記憶システムのどれからジャーナルをリードするかを選択できるようにすることもできる。例えば、正記憶システム100Aの負荷が小さいときは、全ての副記憶システム100B、100Cが、正記憶システム100Aからジャーナルをリードするが、他方、正記憶システム100Aの負荷が大きいときには、第1の副記憶システム100Bが正記憶システム100Aからジャーナルをリードし、その後に、第2の副記憶システム100Bが、第1の副記憶システム100Bからそのジャーナルをリードするというような制御を行うことができる。
以上、本発明の幾つかの実施形態を説明した。これらの実施形態によれば、記憶システムの上位の計算機に影響を与えずに、或いは、記憶システムと計算機との間の通信にも影響を与えずに、複数の記憶システム間でデータ転送又はデータの複製をすることが可能である。
さらに、或る実施形態によれば、複数の記憶システム内に保持するデータ格納領域を少なくすることができる。また、或る実施形態によれば、複数の記憶システムの上位の計算機の業務に大きい影響を与えることのなしに、高速かつ効率的に複数の記憶システム間でデータ転送又はデータの複製をすることができる。
本発明は、上述した実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明の第1の実施形態のデータ処理システムの物理的構成を示すブロック図である。 第1実施形態のデータ処理システムの論理的構成を示すブロック図である。 ジャーナルの更新情報とライトデータの関係を説明する図である。 ジャーナルに含まれる更新情報の具体例を示す図である。 第1実施形態のボリューム情報の例を説明する図である。 第1実施形態のペア情報の例を説明する図である。 第1実施形態のグループ情報の例を説明する図である。 第1実施形態のポインタ情報の例を説明する図である。 ポインタ情報内の項目とジャーナル論理ボリュームとの関係を説明する図である。 第1実施形態のデータの複製を開始する手順を説明するフローチャートである。 第1実施形態の初期コピー処理を説明するフローチャートである。 第1実施形態の命令受信処理におけるデータ流れを説明する図である。 第1実施形態の命令受信処理の手順を示すフローチャートである。 第1実施形態のジャーナル作成処理の手順を示すフローチャートである。 第1実施形態のジャーナル作成処理時の更新情報の例を説明する図である。 第1実施形態のジャーナルリード受信処理におけるデータ流れを説明する図である。 第1実施形態のジャーナルリード受信処理の手順を示すフローチャートである。 第1実施形態のジャーナルリード命令処理におけるデータ流れを説明する図である。 第1実施形態のジャーナルリード命令処理の手順を示すフローチャートである。 第1実施形態のジャーナル格納処理の手順を示すフローチャートである。 第1実施形態のリストア処理におけるデータ流れを説明する図である。 第1実施形態のリストア処理の手順を示すフローチャートである。 本発明の第2の実施形態の論理的な構成を示す図である。 本発明の第3の実施形態の論理的な構成を示す図である。 本発明の第4の実施形態の論理的な構成を示す図である。 第4実施形態のポインタ情報の例を説明する図である。 第4実施形態のポインタ情報とジャーナル論理ボリュームとの関係を説明する図である。
符号の説明
100 記憶システム
110 チャネルアダプタ
120 ディスクアダプタ
130 キャッシュメモリ
140 管理メモリ
150 記憶装置
160 コモンパス
170 ディスクアダプタと記憶装置間の接続線
180 ホストコンピュータ

Claims (17)

  1. 上位装置に通信可能に接続された第一の記憶システムと、
    前記第一の記憶システムにそれぞれ通信可能に接続された第二及び第三の記憶システムと備え、
    (1) 前記第一の記憶システムは、
    前記上位装置から送られたデータが格納される第一のデータ記憶領域と、
    前記第一の記憶領域に格納されたデータの複製を生成するために使用され、前記データの更新順序に関する情報が含まれているジャーナルが格納される第一のジャーナル記憶領域と、
    前記上位装置から送られたデータを前記第一のデータ記憶領域に書き、前記第一のデータ記憶領域に書かれたデータのジャーナルを前記第一のジャーナル記憶領域に書き、前記第二及び第三の記憶システムのそれぞれからの要求に応じて前記第一のジャーナル記憶領域内の前記ジャーナルを前記第二及び第三の記憶システムにそれぞれ送るようになった第一の制御装置と
    を有しており、
    (2) 前記第二の記憶システムは、
    前記第一のデータ記憶領域内のデータの複製が格納される第二のデータ記憶領域と、
    前記ジャーナルが格納される第二のジャーナル記憶領域と、
    独自にスケジュールされたジャーナルリードのタイミングで前記第一の記憶システムから前記ジャーナルを読み、読まれたジャーナルを前記第二のジャーナル記憶領域に書き、読まれた前記ジャーナルに含まれる更新順序に関する情報を前記第一の記憶システムに送信し、そして、独自にスケジュールされたリストアのタイミングで前記第二のジャーナル記憶領域内の前記ジャーナルに基づいて前記第一のデータ記憶領域内のデータの複製を生成して前記第二のデータ記憶領域に書くようになった第二の制御装置と
    を有し、
    (3) 前記第三の記憶システムは、
    前記第一のデータ記憶領域内のデータの複製が格納される第三のデータ記憶領域と、
    前記ジャーナルが格納される第三のジャーナル記憶領域と、
    独自にスケジュールされたジャーナルリードのタイミングで前記第一の記憶システムから前記ジャーナルを読み、読まれたジャーナルを前記第三のジャーナル記憶領域に書き、読まれた前記ジャーナルに含まれる更新順序に関する情報を前記第一の記憶システムに送信し、そして、独自にスケジュールされたリストアのタイミングで前記第三のジャーナル記憶領域内の前記ジャーナルに基づいて前記第一のデータ記憶領域内のデータの複製を生成して前記第三のデータ記憶領域に書くようになった第三の制御装置と
    を有し、
    前記第一の記憶システムの前記第一の制御装置は、前記第二及び第三の記憶システムのそれぞれから送信される、読まれた前記ジャーナルの前記更新順序に関する情報に基づいて、前記第一のジャーナル記憶領域内の前記ジャーナルが前記第二及び第三の記憶システムによって読まれたか否かを検出し、前記第二及び第三の記憶システムの双方によって読まれるまでは前記第一のジャーナル記憶領域内の前記ジャーナルを保持し、前記第二及び第三の記憶システムの双方によって読まれた後に前記第一のジャーナル記憶領域内の前記ジャーナルの記憶領域を開放する
    ことを特徴とするデータ処理システム。
  2. 請求項1に記載のデータ処理システムにおいて、
    (1) 前記第一の記憶システムは、複数の物理的記憶装置を有し、
    前記第一の記憶システムの前記第一の制御装置は、前記上位装置との間でデータを送受する上位アダプタと、前記複数の物理的記憶装置との間でデータを送受するディスクアダプタと、前記上位アダプタで受けるデータ及び前記ディスクアダプタで受けるデータを記憶するキャッシュメモリとを有しており、
    前記第一の制御装置は、前記第一の記憶システム内の前記複数の物理的記憶装置が持つ記憶領域を、前記第一のデータ記憶領域及び前記第一のジャーナル記憶領域に割当て、
    (2) 前記第二の記憶システムは、複数の物理的記憶装置を有し、
    前記第二の記憶システムの前記第二の制御装置は、前記第一の記憶システムとの間でデータを送受する上位アダプタと、前記複数の物理的記憶装置との間でデータを送受するディスクアダプタと、前記上位アダプタで受けるデータ及び前記ディスクアダプタで受けるデータを記憶するキャッシュメモリとを有しており、
    前記第二の制御装置は、前記第二の記憶システム内の前記複数の物理的記憶装置が持つ記憶領域を、前記第二のデータ記憶領域及び前記第二のジャーナル記憶領域に割当て、
    (2) 前記第三の記憶システムは、複数の物理的記憶装置を有し、
    前記第三の記憶システムの前記第三の制御装置は、前記第一の記憶システムとの間でデータを送受する上位アダプタと、前記複数の物理的記憶装置との間でデータを送受するディスクアダプタと、前記上位アダプタで受けるデータ及び前記ディスクアダプタで受けるデータを記憶するキャッシュメモリとを有しており、
    前記第三の制御装置は、前記第三の記憶システム内の前記複数の物理的記憶装置が持つ記憶領域を、前記第三のデータ記憶領域及び前記第三のジャーナル記憶領域に割当てるようになっている、
    ことを特徴とするデータ処理システム。
  3. 請求項1に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第一のジャーナル記憶領域から読んだジャーナルのデータの数に応じて、前記ジャーナルリードの時間間隔を制御することを特徴とするデータ処理システム。
  4. 請求項1に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第一の記憶システムと前記第三の記憶システムとの間で送受されるデータの通信量に応じて、前記ジャーナルリードの時間間隔を制御するデータ処理システム。
  5. 請求項1記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第三のデータ記憶領域が保持している前記ジャーナルの記憶容量に応じて、前記ジャーナルリードの時間間隔を制御するデータ処理システム。
  6. 請求項1に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第三の記憶システムの処理負荷に応じて、前記ジャーナルリードの時間間隔を制御するデータ処理システム。
  7. 請求項1に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第一の記憶システム内の前記第一のジャーナル記憶領域が保持している前記ジャーナルの記憶容量についての情報を、前記第一の記憶システムから読み出し、前記読み出された前記ジャーナルの記憶容量についての情報に応じて、前記ジャーナルリードの時間間隔を制御することを特徴とするデータ処理システム。
  8. 請求項1に記載のデータ処理システムにおいて、
    前記第一の記憶システムは、前記第一のジャーナル記憶領域についての管理情報を所有し、
    前記第三の記憶システムの前記三の制御装置は、前記第一の記憶システムが所有している前記第一のジャーナル記憶領域についての管理情報を、前記第一の記憶システムから読み出し、読み出された前記第一のジャーナル記憶領域についての管理情報に応じて、前記ジャーナルリードの時間間隔を制御することを特徴とするデータ処理システム。
  9. 請求項1に記載のデータ処理システムにおいて、
    前記第一の記憶システム内の前記第一のデータ記憶領域は、複数の論理ボリュームを有し、
    前記第一の制御装置は、前記複数の論理ボリュームに格納される複数のデータにそれぞれ対応する複数のジャーナルを、前記第一のジャーナル記憶領域に書き、
    前記第一のジャーナル記憶領域に格納される前記複数のジャーナルには、前記複数のジャーナルがそれぞれ対応する前記複数のデータの更新順序に関する情報が含まれており、
    前記第二及び第三の記憶システムの前記第二及び第三の制御装置は、それぞれ、前記第一の記憶システムから読んだ前記複数のジャーナルに含まれている前記更新順序に従って、前記複数のジャーナルに基づいて前記複数のデータの複製を生成して前記第二及び第三のデータ記憶領域にそれぞれ書くことを特徴とするデータ処理システム。
  10. 請求項1に記載のデータ処理システムにおいて、
    前記第三の記憶システムは、前記第三の記憶システムの処理負荷に応じて、前記リストアのタイミングを制御することを特徴とするデータ処理システム。
  11. 上位装置に通信可能に接続された第一の記憶システムと、
    前記第一の記憶システムにそれぞれ通信可能に接続された第二及び第三の記憶システムと備え、
    (1) 前記第一の記憶システムは、
    前記上位装置から送られたデータが格納される第一のデータ記憶領域と、
    前記第一の記憶領域に格納されたデータの複製を生成するために使用され、前記データの更新順序に関する情報が含まれているジャーナルが格納される第一のジャーナル記憶領域と、
    前記上位装置から送られたデータを前記第一のデータ記憶領域に書き、そして、書かれたデータのジャーナルを前記第一のジャーナル記憶領域に書くようになった第一の制御装置とを有し、
    (2) 前記第二の記憶システムは、
    前記ジャーナルが格納される第二のジャーナル記憶領域と、
    所定のジャーナルリードのタイミングで前記第一の記憶システムから前記ジャーナルを読み、読まれたジャーナルを前記第二のジャーナル記憶領域に書き、読まれた前記ジャーナルに含まれる更新順序に関する情報を前記第一の記憶システムに送信する、第二の制御装置とを有し、
    (3) 前記第三の記憶システムは、
    前記ジャーナルが格納される第三のジャーナル記憶領域と、
    所定のジャーナルリードのタイミングで前記第一の記憶システムから前記ジャーナルを読み、読まれたジャーナルを前記第三のジャーナル記憶領域に書き、読まれた前記ジャーナルに含まれる更新順序に関する情報を前記第一の記憶システムに送信する、第三の制御装置とを有し、
    前記第一の記憶システムの前記第一の制御装置は、前記第二及び第三の記憶システムのそれぞれから送信される、読まれた前記ジャーナルの前記更新順序に関する情報に基づいて、前記第一のジャーナル記憶領域内の前記ジャーナルが前記第二及び第三の記憶システムによって読まれたか否かを検出し、前記第二及び第三の記憶システムの双方によって読まれるまでは前記第一のジャーナル記憶領域内の前記ジャーナルを保持し、前記第二及び第三の記憶システムの双方によって読まれた後に前記第一のジャーナル記憶領域内の前記ジャーナルの記憶領域を開放する、
    ことを特徴とするデータ処理システム。
  12. 請求項11に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第一のジャーナル記憶領域から読んだジャーナルのデータの数に応じて、前記ジャーナルリードの時間間隔を制御することを特徴とするデータ処理システム。
  13. 請求項11に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第一の記憶システムと前記第三の記憶システムとの間で送受されるデータの通信量に応じて、前記ジャーナルリードの時間間隔を制御するデータ処理システム。
  14. 請求項11記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第三のデータ記憶領域が保持している前記ジャーナルの記憶容量に応じて、前記ジャーナルリードの時間間隔を制御するデータ処理システム。
  15. 請求項11に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第三の記憶システムの処理負荷に応じて、前記ジャーナルリードの時間間隔を制御するデータ処理システム。
  16. 請求項11に記載のデータ処理システムにおいて、
    前記第三の記憶システムの前記第三の制御装置は、前記第一の記憶システム内の前記第一のジャーナル記憶領域が保持している前記ジャーナルの記憶容量についての情報を、前記第一の記憶システムから読み出し、前記読み出された前記ジャーナルの記憶容量についての情報に応じて、前記ジャーナルリードの時間間隔を制御することを特徴とするデータ処理システム。
  17. 請求項11に記載のデータ処理システムにおいて、
    前記第一の記憶システムは、前記第一のジャーナル記憶領域についての管理情報を所有し、
    前記第三の記憶システムの前記三の制御装置は、前記第一の記憶システムが所有している前記第一のジャーナル記憶領域についての管理情報を、前記第一の記憶システムから読み出し、読み出された前記第一のジャーナル記憶領域についての管理情報に応じて、前記ジャーナルリードの時間間隔を制御することを特徴とするデータ処理システム。
JP2003416414A 2003-12-15 2003-12-15 複数の記憶システムを有するデータ処理システム Expired - Fee Related JP4412989B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2003416414A JP4412989B2 (ja) 2003-12-15 2003-12-15 複数の記憶システムを有するデータ処理システム
US10/765,128 US7216209B2 (en) 2003-12-15 2004-01-28 Data processing system having a plurality of storage systems
EP09010604.8A EP2120146B1 (en) 2003-12-15 2004-04-16 Data mirroring system using journal data
EP04252271A EP1548594A1 (en) 2003-12-15 2004-04-16 Data mirroring system using journal data
CN200410050026A CN100593775C (zh) 2003-12-15 2004-06-24 具有多个存储系统的数据处理系统
US11/300,372 US7457929B2 (en) 2003-12-15 2005-12-15 Data processing system having a plurality of storage systems
US12/289,182 US7827369B2 (en) 2003-12-15 2008-10-22 Data processing system having a plurality of storage systems
US12/902,753 US7930500B2 (en) 2003-12-15 2010-10-12 Data processing system having a plurality of storage systems
US13/070,926 US8489835B2 (en) 2003-12-15 2011-03-24 Data processing system having a plurality of storage systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003416414A JP4412989B2 (ja) 2003-12-15 2003-12-15 複数の記憶システムを有するデータ処理システム

Publications (2)

Publication Number Publication Date
JP2005174196A JP2005174196A (ja) 2005-06-30
JP4412989B2 true JP4412989B2 (ja) 2010-02-10

Family

ID=34544898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003416414A Expired - Fee Related JP4412989B2 (ja) 2003-12-15 2003-12-15 複数の記憶システムを有するデータ処理システム

Country Status (4)

Country Link
US (5) US7216209B2 (ja)
EP (2) EP1548594A1 (ja)
JP (1) JP4412989B2 (ja)
CN (1) CN100593775C (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4477370B2 (ja) * 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
JP2005258850A (ja) * 2004-03-12 2005-09-22 Hitachi Ltd 計算機システム
JP4476683B2 (ja) 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム
US7366857B2 (en) * 2004-04-30 2008-04-29 Hewlett-Packard Development Company, L.P. Internal disk array mirror architecture
JP4715286B2 (ja) 2004-05-11 2011-07-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP4783076B2 (ja) * 2005-07-08 2011-09-28 株式会社日立製作所 ディスクアレイ装置及びその制御方法
JP4738941B2 (ja) * 2005-08-25 2011-08-03 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
JP4828917B2 (ja) 2005-11-07 2011-11-30 株式会社日立製作所 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法
CN100383750C (zh) * 2006-06-07 2008-04-23 中国科学院计算技术研究所 一种面向大规模计算系统的高可信日志系统实现方法
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
JP5042644B2 (ja) * 2007-01-24 2012-10-03 株式会社日立製作所 リモートコピーシステム
WO2009040954A1 (ja) * 2007-09-28 2009-04-02 Fujitsu Limited 正センタの仮想テープ装置、副センタの仮想テープ装置、仮想ライブラリシステムおよび仮想テープ制御方法
JP2009104488A (ja) * 2007-10-24 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法並びにストレージシステム
WO2010016057A2 (en) * 2008-08-04 2010-02-11 Red Bend Ltd. Performing a pre-update on a non volatile memory
JP5366480B2 (ja) * 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
US9569349B2 (en) * 2008-12-19 2017-02-14 Ati Technologies Ulc Method and apparatus for reallocating memory content
US10025523B1 (en) * 2009-12-28 2018-07-17 EMC IP Holding Company LLC Techniques for processing data requests directed to virtualized devices
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US9058275B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9021180B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9116788B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
US9021179B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
US9323668B2 (en) 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9058243B2 (en) * 2011-06-10 2015-06-16 International Business Machines Corporation Releasing blocks of storage class memory
US9116789B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Chaining move specification blocks
US9021226B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
CN102521069A (zh) * 2011-11-15 2012-06-27 北京空间飞行器总体设计部 一种航天器重要数据保护方法
CN102523601B (zh) * 2011-12-05 2015-08-05 大唐移动通信设备有限公司 一种自动路测终端的监控方法及装置
US20130290619A1 (en) * 2012-04-30 2013-10-31 Netapp, Inc. Apparatus and Method for Sequential Operation on a Random Access Device
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
JP6212934B2 (ja) * 2013-05-07 2017-10-18 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
CN103559247B (zh) * 2013-10-29 2018-06-05 北京华胜天成科技股份有限公司 一种数据业务处理方法及装置
CN105446827B (zh) * 2014-08-08 2018-12-14 阿里巴巴集团控股有限公司 一种数据库故障时的数据存储方法和设备
JP6354507B2 (ja) 2014-10-01 2018-07-11 富士通株式会社 ストレージ制御装置およびストレージシステム
US20160100004A1 (en) 2014-10-06 2016-04-07 International Business Machines Corporation Data replication across servers
US10656991B2 (en) * 2015-08-24 2020-05-19 International Business Machines Corporation Electronic component having redundant product data stored externally
US10515671B2 (en) 2016-09-22 2019-12-24 Advanced Micro Devices, Inc. Method and apparatus for reducing memory access latency

Family Cites Families (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2799621A (en) * 1953-02-19 1957-07-16 Armour & Co Preparation of adrenocorticotropin and gonadotropins from pituitary material
US3892855A (en) * 1973-10-10 1975-07-01 Searle & Co Method for fertile breeding control in female bovine
US4840896A (en) * 1983-11-02 1989-06-20 Integrated Genetics, Inc. Heteropolymeric protein
US5639639A (en) * 1983-11-02 1997-06-17 Genzyme Corporation Recombinant heterodimeric human fertility hormones, and methods, cells, vectors and DNA for the production thereof
US6455282B1 (en) * 1983-11-02 2002-09-24 Genzyme Corporation Cells, vectors and methods for producing biologically active TSH
US5156957A (en) * 1983-11-02 1992-10-20 Genzyme Corporation Follicle stimulating hormone
US4610687A (en) * 1984-08-06 1986-09-09 Board Of Trustees Operating Michigan State University Method for breeding control in female bovines
JP2544449B2 (ja) 1986-05-23 1996-10-16 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法
US5322775A (en) * 1986-06-30 1994-06-21 Pharmaceutical Proteins Ltd. Peptide production
US4780451B1 (en) * 1987-01-23 1995-04-04 Asua International Inc Composition and method for producing superovulation in cattle
US4873316A (en) * 1987-06-23 1989-10-10 Biogen, Inc. Isolation of exogenous recombinant proteins from the milk of transgenic mammals
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
JP2569135B2 (ja) 1988-07-27 1997-01-08 株式会社日立製作所 記憶装置のデータ整合性制御方式
US6225449B1 (en) * 1991-10-04 2001-05-01 Washington University Hormone analogs with multiple CTP extensions
US5338835A (en) * 1989-02-21 1994-08-16 Washington University CTP-extended form of FSH
US5705478A (en) * 1989-02-21 1998-01-06 Washington University Covalently linked β subunits of the glycoprotein hormones as antagonists
US5792460A (en) * 1989-02-21 1998-08-11 Washington University Modified glycoprotein hormones having a CTP at the amino terminus
AU648020B2 (en) * 1989-02-21 1994-04-14 Washington University Modified forms of reproductive hormones
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5307481A (en) 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5155845A (en) 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6448469B1 (en) * 1991-10-02 2002-09-10 Genzyme Corporation Production of membrane proteins in the milk of transgenic nonhuman mammals
US6028177A (en) * 1991-10-04 2000-02-22 Washington University Methods of detecting single-chain forms of the glycoprotein hormone quartet
US5985611A (en) * 1992-04-30 1999-11-16 Washington University Recombinant production of gonadotropins in secretory cells
US5459857A (en) 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5555371A (en) 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5667839A (en) * 1993-01-28 1997-09-16 Collagen Corporation Human recombinant collagen in the milk of transgenic animals
US5978565A (en) 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
US6737515B2 (en) * 1993-11-19 2004-05-18 Washington University Follicle stimulating hormone-glycosylation analogs
JP3246146B2 (ja) 1993-12-27 2002-01-15 株式会社日立製作所 外部記憶装置のデータ移行方法
US6238890B1 (en) * 1994-02-18 2001-05-29 Washington University Single chain forms of the glycoprotein hormone quartet
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
BR9506313A (pt) * 1994-08-12 1997-08-05 Univ Washington Formas de cadeia simples do quarteto de hormônio de glicoproteína
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5799323A (en) 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5682513A (en) 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US5692155A (en) * 1995-04-19 1997-11-25 International Business Machines Corporation Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order
US5799141A (en) 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5589457A (en) * 1995-07-03 1996-12-31 Ausa International, Inc. Process for the synchronization of ovulation
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US6403631B1 (en) * 1995-11-24 2002-06-11 Equitech Laboratories, Inc. Method and compositions for enhancing pregnancy success in an animal
US5792785A (en) * 1995-11-24 1998-08-11 Equitech Laboratories, Inc. Method for enhancing pregnancy success in an animal
US5809285A (en) * 1995-12-21 1998-09-15 Compaq Computer Corporation Computer system having a virtual drive array controller
JP3641872B2 (ja) * 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US5933653A (en) 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6092066A (en) 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
US6477627B1 (en) 1996-05-31 2002-11-05 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US5733735A (en) * 1996-06-11 1998-03-31 Washington University Assay system to determine receptor antagonist target site
US5995980A (en) 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
IL122732A0 (en) * 1997-01-15 1998-08-16 Akzo Nobel Nv Liquid gonadotropin-containing formulation its preparation and a device containing same
EP0973934A4 (en) * 1997-02-25 2003-02-05 Genzyme Transgenics Corp NON-SECRETED PROTEINS PRODUCED TRANSGENICALLY
US6073209A (en) 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US5883073A (en) * 1997-04-03 1999-03-16 Washington University Single-chain double-alpha peptide
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
JP3414218B2 (ja) 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6635256B1 (en) * 1998-10-19 2003-10-21 Washington University Glycoprotein hormone compositions comprising two β subunits and methods of use thereof
US6103501A (en) * 1997-11-17 2000-08-15 Washington University Single chain glycoprotein hormones comprising two β and one α subunits and recombinant production thereof
US6052758A (en) 1997-12-22 2000-04-18 International Business Machines Corporation Interface error detection and isolation in a direct access storage device DASD system
US6199146B1 (en) * 1998-03-12 2001-03-06 International Business Machines Corporation Storage management system and method for increasing capacity utilization of nonvolatile storage devices using partially filled substitute storage devices for continuing write operations
US6324654B1 (en) 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6157991A (en) 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6178427B1 (en) 1998-05-07 2001-01-23 Platinum Technology Ip, Inc. Method of mirroring log datasets using both log file data and live log data including gaps between the two data logs
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US6237008B1 (en) * 1998-07-20 2001-05-22 International Business Machines Corporation System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume
DE69938378T2 (de) 1998-08-20 2009-04-30 Hitachi, Ltd. Kopieren von Daten in Speichersystemen
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP2000099277A (ja) 1998-09-18 2000-04-07 Fujitsu Ltd ファイルユニット間のリモート転送方法
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6397307B2 (en) 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
JP2000259505A (ja) 1999-03-11 2000-09-22 Nec Corp システム間のデータバックアップシステム及びその方法
JP2000276304A (ja) * 1999-03-26 2000-10-06 Nec Corp データ移行方法と情報処理システム
JP3744248B2 (ja) 1999-03-29 2006-02-08 株式会社日立製作所 ファイバチャネル接続ストレージサブシステム及びそのアクセス方法
US6336173B1 (en) 1999-04-01 2002-01-01 International Business Machines Corporation Storing and tracking multiple copies of data in data storage libraries
US6389432B1 (en) * 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
US6662197B1 (en) 1999-06-25 2003-12-09 Emc Corporation Method and apparatus for monitoring update activity in a data storage facility
US6363385B1 (en) * 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6804676B1 (en) 1999-08-31 2004-10-12 International Business Machines Corporation System and method in a data processing system for generating compressed affinity records from data records
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US6338126B1 (en) 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6625623B1 (en) 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files
US6779003B1 (en) 1999-12-16 2004-08-17 Livevault Corporation Systems and methods for backing up data files
AU1756001A (en) * 1999-12-16 2001-06-25 Pharmacia & Upjohn Company Implant composition containing melengestrol acetate and trenbolone acetate
US6526418B1 (en) 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6460055B1 (en) 1999-12-16 2002-10-01 Livevault Corporation Systems and methods for backing up data files
US20020103889A1 (en) * 2000-02-11 2002-08-01 Thomas Markson Virtual storage layer approach for dynamically associating computer storage with processing hosts
US6487645B1 (en) 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
US6446176B1 (en) 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
US6601101B1 (en) * 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
JP2001356945A (ja) 2000-04-12 2001-12-26 Anetsukusu Syst Kk データバックアップ・リカバリー方式
US6484187B1 (en) 2000-04-28 2002-11-19 International Business Machines Corporation Coordinating remote copy status changes across multiple logical sessions to maintain consistency
US6622152B1 (en) * 2000-05-09 2003-09-16 International Business Machines Corporation Remote log based replication solution
US6766430B2 (en) * 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
US6823336B1 (en) * 2000-09-26 2004-11-23 Emc Corporation Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor
WO2002031696A1 (en) * 2000-10-09 2002-04-18 Maximum Availability Limited Method and apparatus for data processing
US6324854B1 (en) 2000-11-22 2001-12-04 Copeland Corporation Air-conditioning servicing system and method
US6560673B2 (en) * 2001-01-31 2003-05-06 Hewlett Packard Development Company, L.P. Fibre channel upgrade path
US6498908B2 (en) 2001-02-20 2002-12-24 Hewlett-Packard Company Electrophotographic measurement system
US6987172B2 (en) * 2001-03-05 2006-01-17 Washington University In St. Louis Multifunctional single chain glycoprotein hormones comprising three or more β subunits
US6728736B2 (en) 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
WO2002075582A1 (en) 2001-03-15 2002-09-26 The Board Of Governors For Higher Education State Of Rhode Island And Providence Plantations Remote online information back-up system
US7340505B2 (en) 2001-04-02 2008-03-04 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
US6496908B1 (en) * 2001-05-18 2002-12-17 Emc Corporation Remote mirroring
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US6883122B2 (en) 2001-07-31 2005-04-19 Hewlett-Packard Development Company, L.P. Write pass error detection
EP1451714B1 (en) 2001-11-01 2018-05-02 Verisign, Inc. Method and system for updating a remote database
US6745303B2 (en) 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US6941322B2 (en) 2002-04-25 2005-09-06 International Business Machines Corporation Method for efficient recording and management of data changes to an object
US6676260B2 (en) * 2002-04-25 2004-01-13 Eastman Kodak Company Projection apparatus using spatial light modulator with relay lens and dichroic combiner
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US6968349B2 (en) 2002-05-16 2005-11-22 International Business Machines Corporation Apparatus and method for validating a database record before applying journal data
JP2003330781A (ja) 2002-05-17 2003-11-21 Hitachi Ltd データ多重保障方法
US20030220935A1 (en) 2002-05-21 2003-11-27 Vivian Stephen J. Method of logical database snapshot for log-based replication
JP2004013367A (ja) 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7844577B2 (en) 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
US7076508B2 (en) 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US6959369B1 (en) 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup
JP4124348B2 (ja) * 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
JP2005062928A (ja) 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム
US20050050115A1 (en) 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4476683B2 (ja) * 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム
US7395265B2 (en) * 2004-08-27 2008-07-01 Hitachi, Ltd. Data processing system and storage subsystem provided in data processing system

Also Published As

Publication number Publication date
US20090063798A1 (en) 2009-03-05
US7930500B2 (en) 2011-04-19
EP2120146A2 (en) 2009-11-18
EP2120146B1 (en) 2017-08-16
CN1629815A (zh) 2005-06-22
US20110047331A1 (en) 2011-02-24
EP2120146A3 (en) 2009-12-09
US20050132155A1 (en) 2005-06-16
US8489835B2 (en) 2013-07-16
US20060123213A1 (en) 2006-06-08
US7457929B2 (en) 2008-11-25
EP1548594A1 (en) 2005-06-29
US7216209B2 (en) 2007-05-08
CN100593775C (zh) 2010-03-10
JP2005174196A (ja) 2005-06-30
US7827369B2 (en) 2010-11-02
US20110173406A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
JP4412989B2 (ja) 複数の記憶システムを有するデータ処理システム
JP4124348B2 (ja) 記憶システム
EP2120147B1 (en) Data mirroring system using journal data
US8108606B2 (en) Computer system and control method for the computer system
US7496718B2 (en) Data transfer and access control between disk array systems
JP4728031B2 (ja) リモートコピーペアの移行を行うシステム
JP4519563B2 (ja) 記憶システム及びデータ処理システム
JP4044717B2 (ja) 記憶サブシステムのデータ二重化方法及びデータ二重化システム
JP4374953B2 (ja) データ処理システム
JP4434407B2 (ja) サブシステム及びこれらの統合システム
US20110196825A1 (en) Storage system and data duplication method in the same
JP4124374B2 (ja) 記憶システム
JP4249240B2 (ja) 記憶システム
JP4249247B2 (ja) 記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061108

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

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: 20091117

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: 20091117

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees