JP2019191801A - Storage system and control device - Google Patents

Storage system and control device Download PDF

Info

Publication number
JP2019191801A
JP2019191801A JP2018082203A JP2018082203A JP2019191801A JP 2019191801 A JP2019191801 A JP 2019191801A JP 2018082203 A JP2018082203 A JP 2018082203A JP 2018082203 A JP2018082203 A JP 2018082203A JP 2019191801 A JP2019191801 A JP 2019191801A
Authority
JP
Japan
Prior art keywords
data
write
area
buffer
recording medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018082203A
Other languages
Japanese (ja)
Inventor
川田 大
Masaru Kawada
大 川田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018082203A priority Critical patent/JP2019191801A/en
Publication of JP2019191801A publication Critical patent/JP2019191801A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

To make data of a copy source device and a copy destination device equivalent in a short time during failover.SOLUTION: A control unit 23 stores first data transmitted from a control unit 13 by synchronous copying in a recording medium 21, and stores control information 24a indicating the first data in a divided area 22a. When notification of a buffer change is made, the control unit stores second data transmitted from the control unit 13 in the recording medium 21 after the notification, The control unit stores a control information 24b indicating the second data in a divided area 22b, and erases the control information 24a from divided area 22b upon receiving a completion notification. When the control device 10 stops after the buffer switching notification, and if the control information 24a remains in the divided area 22a, the control unit 23 reads the first data from the recording medium 21 based on the control information 24a and transmits the first data to the control device 30.SELECTED DRAWING: Figure 1

Description

本発明は、ストレージシステムおよび制御装置に関する。   The present invention relates to a storage system and a control device.

ストレージ装置に記録されたデータをバックアップのために他のストレージ装置にコピーするリモートコピーの方法として、同期コピーと非同期コピーとが知られている。同期コピーでは、コピー元装置は、ホスト装置から書き込みが要求されたデータを記憶するとともに、そのデータをコピー先装置にコピーし、コピーが完了した後にホスト装置に書き込みの完了を通知する。一方、非同期コピーでは、コピー元装置は、書き込みが要求されたデータを記憶した段階でホスト装置に対して書き込みの完了を通知し、これとは非同期のタイミングでデータをコピー先装置にコピーする。   Synchronous copying and asynchronous copying are known as remote copy methods for copying data recorded in a storage device to another storage device for backup. In synchronous copy, the copy source device stores data requested to be written by the host device, copies the data to the copy destination device, and notifies the host device of the completion of writing after the copy is completed. On the other hand, in the asynchronous copy, the copy source device notifies the host device of the completion of writing at the stage where the data requested to be written is stored, and copies the data to the copy destination device at a timing asynchronous with this.

同期コピーは、データを常に二重化できる反面、装置間の距離が長いほどRTT(Round-Trip Time)が増加して書き込みの応答性能が悪化するという特性を有する。このため、広範囲に及ぶ大規模な災害を想定してコピー先装置を遠距離に配置する用途には、非同期コピーが適している。   Synchronous copying has the property that data can always be duplicated, but the longer the distance between the devices, the longer the RTT (Round-Trip Time) and the worse the write response performance. For this reason, asynchronous copying is suitable for applications in which a copy destination apparatus is arranged at a long distance assuming a large-scale disaster over a wide area.

これに関連して、ホスト装置からデータの書き込み要求を受け付けて書き込み制御処理を行う第1装置から、第2装置に対して同期コピーを行うとともに、第1装置から第3装置に対して非同期コピーを行うようにしたストレージシステムが提案されている。このストレージシステムでは、第1装置の動作が停止すると、ホスト装置からの要求に応じた書き込み制御処理を第2装置が引き継ぐとともに、第2装置から第3装置に対して非同期コピーが行われる。   In this connection, the first device that receives a data write request from the host device and performs the write control process performs a synchronous copy to the second device and an asynchronous copy from the first device to the third device. There has been proposed a storage system that performs the above. In this storage system, when the operation of the first device stops, the second device takes over the write control process according to the request from the host device, and asynchronous copy is performed from the second device to the third device.

また、このストレージシステムでは、書き込みの順序性を保証した非同期コピーが行われる。非同期コピーのコピー元装置は、第1記録媒体のデータを第1の記録専用バッファに格納し、このバッファが満杯になるとバッファ内のデータをまとめてコピー先装置に送信する。コピー先装置は、受信したデータを第2の記録専用バッファに格納し、データの受信を完了するとこのバッファ内のデータを第2記録媒体に展開する。   Also, in this storage system, asynchronous copying is performed in which the order of writing is guaranteed. The copy source apparatus for asynchronous copying stores the data of the first recording medium in the first recording-dedicated buffer, and when this buffer becomes full, the data in the buffer are collectively transmitted to the copy destination apparatus. The copy destination apparatus stores the received data in the second recording-dedicated buffer, and when the reception of the data is completed, the data in this buffer is expanded on the second recording medium.

なお、上記に関連する他の技術として、第1ボリュームと第3ボリュームによる非同期コピーペアの形成命令を受信したとき、第1ボリュームとの間で高可用性ペアが形成された第2ボリュームと、第3ボリュームとによるスタンバイペアが形成されていない場合、形成命令を拒否するようにしたストレージシステムが提案されている。   As another technique related to the above, when an instruction for forming an asynchronous copy pair using the first volume and the third volume is received, a second volume in which a high availability pair is formed with the first volume, There has been proposed a storage system that rejects a formation command when a standby pair with three volumes is not formed.

特開2017−167602号公報JP 2017-167602 A 国際公開第2016/084231号International Publication No. 2016/084231

第1装置から第2装置に対して同期コピーを行い、第1装置から第3装置に対して非同期コピーを行うようにした上記のストレージシステムでは、非同期コピーによる第1装置から第3装置へのデータ転送中に、第1装置の動作が停止する場合がある。この場合、第2装置が保持するデータと第3装置が保持するデータとが一致しなくなる。そのため、第2装置が書き込み制御処理を引き継ぐ際に、第2装置が保持するデータを用いて第2装置と第3装置との間でできるだけ短時間でデータを等価にしたいという課題がある。   In the above storage system in which the first device performs the synchronous copy from the second device and the first device performs the asynchronous copy from the third device, the first device to the third device by asynchronous copy. During the data transfer, the operation of the first device may stop. In this case, the data held by the second device does not match the data held by the third device. Therefore, when the second device takes over the write control process, there is a problem that it is desired to make the data equivalent between the second device and the third device in the shortest possible time using the data held by the second device.

1つの側面では、本発明は、フェイルオーバの際にコピー元装置とコピー先装置の各データを短時間で等価にできるストレージシステムおよび制御装置を提供することを目的とする。   In one aspect, an object of the present invention is to provide a storage system and a control device that can equalize each data of a copy source device and a copy destination device in a short time at the time of failover.

1つの案では、第1の制御装置と、第2の制御装置と、第3の制御装置とを有するストレージシステムが提供される。このストレージシステムにおいて、第1の制御装置は、第1の領域と第2の領域とを有するバッファと、上位装置から書き込みが要求されたデータを、第1の記録媒体に書き込むとともに第2の制御装置に送信し、上位装置に書き込み完了を通知する同期コピー処理と、第1の記録媒体に書き込まれたデータを第1の領域に格納し、所定の条件が満たされると、バッファ切り替えを第2の制御装置に通知するとともに、その通知後に第1の記録媒体に書き込まれるデータのバッファにおける格納先を第2の領域に切り替える格納処理と、第1の領域に格納された第1のデータをまとめて第3の制御装置に送信し、第2の領域に格納された第2のデータをまとめて第3の制御装置に送信する非同期コピー処理と、を実行し、第3の制御装置に対する第1のデータの送信が完了すると、完了通知を第2の制御装置に送信する第1の制御部と、を有する。   In one scheme, a storage system having a first control device, a second control device, and a third control device is provided. In this storage system, the first control device writes a buffer having a first area and a second area, and data requested to be written by the host device to the first recording medium and performs a second control. Synchronous copy processing for transmitting to the device and notifying the host device of the completion of writing, and storing the data written to the first recording medium in the first area, and switching the buffer when the predetermined condition is satisfied. And a storage process for switching the storage destination in the buffer of data written to the first recording medium after the notification to the second area, and the first data stored in the first area. And asynchronous copy processing for transmitting the second data stored in the second area together to the third control device, to the third control device. That has the transmission of the first data is completed, the first control unit for transmitting a completion notice to the second control device.

第2の制御装置は、第1の領域に対応付けられた第3の領域と、第2の領域に対応付けられた第4の領域とを有する制御情報記憶部と、第1の制御部から送信された第1のデータを第2の記録媒体に格納するとともに、第1のデータを示す第1の制御情報を第3の領域に格納し、バッファ切り替えが通知されると、その通知後に第1の制御部から送信された第2のデータを第2の記録媒体に格納するとともに、第2のデータを示す第2の制御情報を第4の領域に格納し、完了通知を受信すると、第3の領域から第1の制御情報を消去し、バッファ切り替えの通知後に第1の制御装置が停止すると、上位装置からの書き込み要求の受信処理を第1の制御部から引き継いで、書き込みが要求された第3のデータを第2の記録媒体に格納し、その後の所定のタイミングで第3のデータを第3の制御装置に送信する第2の制御部と、を有する。   The second control device includes a control information storage unit having a third region associated with the first region and a fourth region associated with the second region, and a first control unit. The transmitted first data is stored in the second recording medium, the first control information indicating the first data is stored in the third area, and when the buffer switching is notified, the first data is notified after the notification. When the second data transmitted from the first control unit is stored in the second recording medium, the second control information indicating the second data is stored in the fourth area, and the completion notification is received, When the first control information is erased from the area 3 and the first control device stops after notification of buffer switching, the write request reception processing from the host device is taken over from the first control unit, and the write is requested. The third data is stored in the second recording medium, and then Having a second control unit for transmitting a third data at a predetermined timing to the third control device.

第3の制御装置は、第1の制御装置から第1のデータを受信すると第1のデータを第3の記録媒体に格納し、第1の制御装置から第2のデータを受信すると第2のデータを第3の記録媒体に格納し、第2の制御装置から第3のデータを受信すると第3のデータを第3の記録媒体に格納する第3の制御部を有する。   The third control device stores the first data in the third recording medium when receiving the first data from the first control device, and receives the second data from the first control device when receiving the second data. Data is stored in the third recording medium, and when the third data is received from the second control device, the third control unit stores the third data in the third recording medium.

第2の制御部はさらに、バッファ切り替えの通知後に第1の制御装置が停止したとき、第3の領域に第1の制御情報が残っている場合には、第1の制御情報に基づいて第2の記録媒体から第1のデータを読み出し、読み出した第1のデータを第3の制御装置に送信し、第3の制御部はさらに、第2の制御装置から第1のデータを受信すると第1のデータを第3の記録媒体に格納する。   The second control unit further determines the first control information based on the first control information when the first control device is stopped after the buffer switching notification and the first control information remains in the third area. The first data is read from the second recording medium, the read first data is transmitted to the third control device, and the third control unit further receives the first data from the second control device. 1 data is stored in the third recording medium.

また、1つの案では、バッファと、制御部とを有する制御装置が提供される。この制御装置において、バッファは、第1の領域と第2の領域とを有する。制御部は、上位装置から書き込みが要求されたデータを、記録媒体に書き込むとともに第1の他の制御装置に送信し、上位装置に書き込み完了を通知する同期コピー処理と、記録媒体に書き込まれたデータを第1の領域に格納し、所定の条件が満たされると、バッファ切り替えを第1の他の制御装置に通知するとともに、その通知後に記録媒体に書き込まれるデータのバッファにおける格納先を第2の領域に切り替える格納処理と、第1の領域に格納された第1のデータをまとめて第2の他の制御装置に送信し、第2の領域に格納された第2のデータをまとめて第2の他の制御装置に送信する非同期コピー処理と、を実行し、第2の他の制御装置に対する第1のデータの送信が完了すると、完了通知を第1の他の制御装置に送信する。   In one proposal, a control device having a buffer and a control unit is provided. In this control device, the buffer has a first area and a second area. The control unit writes the data requested to be written from the host device to the recording medium and transmits it to the first other control device, and notifies the host device of the completion of writing, and the data is written to the recording medium. When the data is stored in the first area and the predetermined condition is satisfied, the buffer switching is notified to the first other control device, and the storage destination in the buffer of the data to be written in the recording medium after the notification is set to the second area. Storage processing for switching to the first area and the first data stored in the first area are collectively transmitted to the second other control device, and the second data stored in the second area are collectively Asynchronous copy processing to be transmitted to two other control devices is executed, and when the transmission of the first data to the second other control device is completed, a completion notification is transmitted to the first other control device.

また、第1のデータの書き込み先領域の少なくとも一部が第2のデータの書き込み先領域と重複している場合、制御部は、第2のデータを記録媒体に格納する際に、第1のデータを記録媒体から第1の領域に格納する処理が完了しているかを判定し、当該処理が完了していない場合、当該処理が完了した後に第2のデータを記録媒体に格納する。   When at least a part of the first data writing destination area overlaps with the second data writing destination area, the control unit sets the first data when storing the second data in the recording medium. It is determined whether the process of storing data from the recording medium into the first area is completed. If the process is not completed, the second data is stored in the recording medium after the process is completed.

1つの側面では、フェイルオーバの際にコピー元装置とコピー先装置の各データを短時間で等価にできる。   In one aspect, the data of the copy source device and the copy destination device can be equivalent in a short time during failover.

第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。1 is a diagram illustrating a configuration example and a processing example of a storage system according to a first embodiment. 第2の実施の形態に係るストレージシステムの構成例を示す図である。It is a figure which shows the structural example of the storage system which concerns on 2nd Embodiment. CMのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of CM. 各CMが備える処理機能の構成例を示すブロック図である。It is a block diagram which shows the structural example of the processing function with which each CM is provided. 非同期コピーの基本的な処理手順を説明するための図である。It is a figure for demonstrating the basic process sequence of an asynchronous copy. 各CMの管理情報記憶部に記憶される情報を示す図である。It is a figure which shows the information memorize | stored in the management information storage part of each CM. バッファセット管理テーブルについて説明するための図である。It is a figure for demonstrating a buffer set management table. バッファ管理テーブルの構成例を示す図である。It is a figure which shows the structural example of a buffer management table. ホスト装置からのライト要求に応じたライトI/O処理例を示す図である。It is a figure which shows the example of a write I / O process according to the write request from a host apparatus. バッファセットの切り替え処理例を示す図である。It is a figure which shows the example of a switching process of a buffer set. ライトデータの転送およびバッファセットの展開処理例を示す図である。It is a figure which shows the example of a transfer process of a write data transfer, and a buffer set. バッファセットの解放処理例を示す図である。It is a figure which shows the release process example of a buffer set. フェイルオーバが発生した場合の処理例を示す図である。It is a figure which shows the example of a process when a failover occurs. ライトI/O処理の手順を示すシーケンス図の例である。It is an example of a sequence diagram showing a procedure of write I / O processing. バッファセットの切り替え処理の手順を示すシーケンス図の例である。It is an example of the sequence diagram which shows the procedure of the switching process of a buffer set. バッファ格納処理の手順を示すフローチャートの例である。It is an example of the flowchart which shows the procedure of a buffer storage process. 転送・展開・解放処理の手順を示すシーケンス図の例である。It is an example of a sequence diagram showing a procedure of transfer / development / release processing. フェイルオーバ後の再同期処理の手順を示すシーケンス図の例である。It is an example of the sequence diagram which shows the procedure of the resynchronization process after failover. コピーイング状態でのライトI/O処理の手順を示すフローチャートの例である。It is an example of the flowchart which shows the procedure of the write I / O process in a copying state. アクティブ状態でのライトI/O処理の手順を示すフローチャートの例である。It is an example of the flowchart which shows the procedure of the write I / O process in an active state.

以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図1に示すストレージシステムは、制御装置10,20,30を有する。また、制御装置10,20は、上位装置1と通信可能になっている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a configuration example and a processing example of the storage system according to the first embodiment. The storage system shown in FIG. 1 includes control devices 10, 20, and 30. In addition, the control devices 10 and 20 can communicate with the host device 1.

制御装置10,20,30は、記録媒体11,21,31をそれぞれ有する。なお、図1では例として、記録媒体11,21,31はそれぞれ制御装置10,20,30の内部に搭載されているが、それぞれ制御装置10,20,30の外部に接続されていてもよい。   The control devices 10, 20, and 30 have recording media 11, 21, and 31, respectively. In FIG. 1, as an example, the recording media 11, 21, and 31 are mounted inside the control devices 10, 20, and 30, respectively, but may be connected to the outside of the control devices 10, 20, and 30, respectively. .

制御装置10は、上位装置1からの要求に応じて記録媒体11へのアクセスを制御する。また、制御装置10は、記録媒体11に書き込まれたデータを、バックアップのために制御装置20,30の記録媒体21,31にコピーする機能を備える。制御装置10から制御装置20へは同期コピーが実行され、制御装置10から制御装置30へは非同期コピーが実行される。   The control device 10 controls access to the recording medium 11 in response to a request from the host device 1. Further, the control device 10 has a function of copying data written in the recording medium 11 to the recording media 21 and 31 of the control devices 20 and 30 for backup. Synchronous copy is executed from the control device 10 to the control device 20, and asynchronous copy is executed from the control device 10 to the control device 30.

制御装置20は、記録媒体11への書き込みが要求されたデータを制御装置10から受信し、記録媒体21に書き込む。また、制御装置20は、障害の発生などによって制御装置10の動作が停止すると、上位装置1からの書き込み要求に応じた書き込み制御処理を制御装置10から引き継ぐ。すなわち、この状態では、制御装置20は、上位装置1からの要求に応じて記録媒体21へのアクセスを制御する。これとともに、制御装置20は、記録媒体21に書き込まれたデータを、非同期コピーによって制御装置30の記録媒体31にバックアップする。   The control device 20 receives data requested to be written to the recording medium 11 from the control device 10 and writes the data to the recording medium 21. In addition, when the operation of the control device 10 stops due to the occurrence of a failure or the like, the control device 20 takes over the write control processing corresponding to the write request from the higher-level device 1 from the control device 10. That is, in this state, the control device 20 controls access to the recording medium 21 in response to a request from the higher-level device 1. At the same time, the control device 20 backs up the data written in the recording medium 21 to the recording medium 31 of the control device 30 by asynchronous copy.

制御装置30は、制御装置10または制御装置20から送信されたデータを記録媒体31に書き込む。
また、制御装置10はさらに、バッファ12と制御部13を有する。バッファ12は、例えば、制御装置10が備えるRAM(Random Access Memory)に確保される。制御部13は、例えば、制御装置10が備えるプロセッサとして実現される。制御装置20はさらに、制御情報記憶部22と制御部23を有する。制御情報記憶部22の記憶領域は、例えば、制御装置20が備えるRAMに確保される。制御部23は、例えば、制御装置20が備えるプロセッサとして実現される。制御装置30はさらに、制御部33を有する。制御部33は、例えば、制御装置30が備えるプロセッサとして実現される。
The control device 30 writes the data transmitted from the control device 10 or the control device 20 in the recording medium 31.
The control device 10 further includes a buffer 12 and a control unit 13. The buffer 12 is secured in, for example, a RAM (Random Access Memory) included in the control device 10. The control unit 13 is realized as, for example, a processor included in the control device 10. The control device 20 further includes a control information storage unit 22 and a control unit 23. The storage area of the control information storage unit 22 is secured in, for example, a RAM included in the control device 20. The control unit 23 is realized as a processor included in the control device 20, for example. The control device 30 further includes a control unit 33. The control unit 33 is realized as a processor included in the control device 30, for example.

バッファ12には、記録媒体11から制御装置30に送信されるデータが一時的に格納される。バッファ12は、複数の分割バッファ領域を有している。図1の例では、バッファ12は、分割バッファ領域12a,12bを有する。   In the buffer 12, data transmitted from the recording medium 11 to the control device 30 is temporarily stored. The buffer 12 has a plurality of divided buffer areas. In the example of FIG. 1, the buffer 12 has divided buffer areas 12a and 12b.

制御情報記憶部22には、バッファ12の分割バッファ領域にそれぞれ対応付けられた分割領域を有する。図1の例では、制御情報記憶部22は、分割バッファ領域12a,12bにそれぞれ対応付けられた分割領域22a,22bを有する。制御情報記憶部22の分割領域には、制御情報が記憶される。制御情報とは、対応する分割バッファ領域に格納されるデータそれぞれについて、記録媒体11,21,31に格納するために必要となる情報である。例えば、制御情報は、対応する分割バッファ領域に格納されたデータそれぞれについての書き込み先領域を示す。   The control information storage unit 22 has divided areas respectively associated with the divided buffer areas of the buffer 12. In the example of FIG. 1, the control information storage unit 22 has divided areas 22a and 22b associated with the divided buffer areas 12a and 12b, respectively. Control information is stored in the divided areas of the control information storage unit 22. The control information is information necessary for storing the data stored in the corresponding divided buffer areas in the recording media 11, 21, 31. For example, the control information indicates a write destination area for each piece of data stored in the corresponding divided buffer area.

制御部13は、次に示す「同期コピー処理」、「格納処理」および「非同期コピー処理」を実行する。
同期コピー処理では、制御部13は、上位装置1から書き込みが要求されたデータを、記録媒体11に書き込むとともに制御装置20に送信し、上位装置1に書き込み完了を通知する。制御部23は、制御部13から送信されたデータを記録媒体21に格納するとともに、そのデータを示す制御情報を制御情報記憶部22に格納する。なお、制御部13による上位装置1に対する書き込み完了の通知は、記録媒体21へのデータの格納および制御情報記憶部22への制御情報の格納が完了した後に行われる。以上の同期コピー処理により、少なくとも、記録媒体11に格納されたデータと記録媒体21に格納されたデータとは常に等価となる。
The control unit 13 executes the following “synchronous copy processing”, “storage processing”, and “asynchronous copy processing”.
In the synchronous copy process, the control unit 13 writes the data requested to be written from the higher-level device 1 to the recording medium 11 and transmits the data to the control device 20 to notify the higher-level device 1 of the completion of writing. The control unit 23 stores the data transmitted from the control unit 13 in the recording medium 21 and stores control information indicating the data in the control information storage unit 22. Note that the completion of writing to the higher-level device 1 by the control unit 13 is performed after storage of data in the recording medium 21 and storage of control information in the control information storage unit 22 are completed. By the above synchronous copy process, at least the data stored in the recording medium 11 and the data stored in the recording medium 21 are always equivalent.

格納処理では、制御部13は、記録媒体11に書き込まれたデータを分割バッファ領域12aに格納する。そして、制御部13は、所定の条件が満たされると、バッファ切り替えを制御装置20に通知するとともに、上位装置1から記録媒体11に書き込まれるデータの格納先を分割バッファ領域12aから分割バッファ領域12bに切り替える。したがって、バッファ切り替えの通知後における格納処理では、記録媒体11に書き込まれたデータが分割バッファ領域12bに格納される。   In the storage process, the control unit 13 stores the data written in the recording medium 11 in the divided buffer area 12a. Then, when a predetermined condition is satisfied, the control unit 13 notifies the control device 20 of buffer switching, and also stores the storage destination of data written from the higher level device 1 to the recording medium 11 from the divided buffer region 12a to the divided buffer region 12b. Switch to. Therefore, in the storing process after the buffer switching notification, the data written in the recording medium 11 is stored in the divided buffer area 12b.

ここで、制御部23は、バッファ切り替えが通知される前に、制御部13からのデータを受信して記録媒体21に格納したとき、そのデータに対応する制御情報24aを制御情報記憶部22の分割領域22aに格納する。一方、制御部23は、バッファ切り替えが通知された後に、制御部13からのデータを受信して記録媒体21に格納したとき、そのデータに対応する制御情報24bを制御情報記憶部22の分割領域22bに格納する。このように、制御装置20は、バッファ切り替えの通知を受けることで、その前後で記録媒体21に格納したデータに対応する制御情報を、区別して保持できる。   Here, when the control unit 23 receives the data from the control unit 13 and stores it in the recording medium 21 before the buffer switch is notified, the control information 24 a corresponding to the data is stored in the control information storage unit 22. Store in the divided area 22a. On the other hand, when the control unit 23 receives data from the control unit 13 and stores the data in the recording medium 21 after the buffer switching is notified, the control information 24b corresponding to the data is divided into the divided areas of the control information storage unit 22. 22b. In this way, the control device 20 can distinguish and hold the control information corresponding to the data stored in the recording medium 21 before and after receiving the buffer switching notification.

非同期コピー処理では、制御部13は、分割バッファ領域12aに格納されたデータをまとめて制御装置30に送信する。すなわち、制御部13は、分割バッファ領域12aに対するデータの格納が完了した後、分割バッファ領域12a内のデータを制御装置30に送信する。また、制御部13は、分割バッファ領域12bに格納されたデータをまとめて制御装置30に送信する。   In the asynchronous copy process, the control unit 13 collectively transmits the data stored in the divided buffer area 12a to the control device 30. That is, after the storage of data in the divided buffer area 12a is completed, the control unit 13 transmits the data in the divided buffer area 12a to the control device 30. Further, the control unit 13 collectively transmits the data stored in the divided buffer area 12b to the control device 30.

制御部33は、制御部13から送信された分割バッファ領域12aのデータを受信し、受信したデータを記録媒体31に格納する。また、制御部33は、制御部13から送信された分割バッファ領域12bのデータを受信し、記録媒体31に格納する。   The control unit 33 receives the data in the divided buffer area 12 a transmitted from the control unit 13 and stores the received data in the recording medium 31. Further, the control unit 33 receives the data of the divided buffer area 12 b transmitted from the control unit 13 and stores it in the recording medium 31.

このような非同期コピーによれば、分割バッファ領域単位でデータがコピーされる。したがって、制御装置10と制御装置30との間では、上位装置1からの書き込みの順序性が保証された非同期コピーが実行される。   According to such asynchronous copy, data is copied in units of divided buffer areas. Therefore, asynchronous copy in which the order of writing from the host device 1 is guaranteed is executed between the control device 10 and the control device 30.

制御部13は、非同期コピー処理での制御装置30に対するデータの送信が完了すると、完了通知を制御装置20に送信する。制御部23は、完了通知を受信すると、制御情報24aを分割領域22aから消去する。このように、制御部23は、完了通知を受信することにより、制御情報24aに対応するデータ、すなわち分割バッファ領域12aに格納されたデータについての非同期コピー処理が完了したことを認識できる。   When the transmission of data to the control device 30 in the asynchronous copy process is completed, the control unit 13 transmits a completion notification to the control device 20. Upon receiving the completion notification, the control unit 23 deletes the control information 24a from the divided area 22a. As described above, the control unit 23 can recognize that the asynchronous copy process for the data corresponding to the control information 24a, that is, the data stored in the divided buffer area 12a, is completed by receiving the completion notification.

次に、制御装置10が停止した場合について説明する。
制御部23は、例えば、上記のバッファ切り替えが通知された後に制御装置10が停止した場合、上位装置1からの書き込み要求の受信処理を制御部13から引き継いで、書き込みが要求されたデータを記録媒体21に格納する。そして、制御部23は、その後の所定のタイミングで、記録媒体21に格納したデータを制御装置30に送信する。
Next, the case where the control apparatus 10 stops will be described.
For example, when the control device 10 is stopped after notification of the buffer switching described above, the control unit 23 takes over the write request reception processing from the higher-level device 1 from the control unit 13 and records the data requested to be written. Store in the medium 21. Then, the control unit 23 transmits the data stored in the recording medium 21 to the control device 30 at a predetermined timing thereafter.

これとともに、制御部23は、バッファ切り替えが通知された後に制御装置10が停止したとき、分割領域22aに制御情報24aが残っている場合には、この制御情報24aに基づいて記録媒体21からデータを読み出し、読み出したデータを制御装置30に送信する。制御部33は、制御部23からこのデータを受信し、記録媒体31に格納する。   At the same time, when the control device 10 is stopped after the buffer switching is notified, the control unit 23 transmits data from the recording medium 21 based on the control information 24a if the control information 24a remains in the divided area 22a. And the read data is transmitted to the control device 30. The control unit 33 receives this data from the control unit 23 and stores it in the recording medium 31.

ここで、分割バッファ領域12aのデータを制御装置10から制御装置30に送信している途中で制御装置10が停止した場合、記録媒体11のデータと記録媒体31のデータとが一致しなくなる可能性がある。一方、制御部23は、バッファ切り替えが通知された後に制御装置10が停止したとき、分割領域22aに制御情報24aが残っていることで、分割領域22aに対応する分割バッファ領域12aのデータが制御装置30に送信されていない可能性があると判定できる。このように判定した場合、制御部23は、制御情報24aに基づいて、分割バッファ領域12aのデータと同一のデータを記録媒体21から読み出し、制御装置30に送信する。送信されたデータを制御部33が記録媒体31に格納することで、記録媒体31のデータが記録媒体21のデータと等価になる。   Here, if the control device 10 stops while the data in the divided buffer area 12a is being transmitted from the control device 10 to the control device 30, the data in the recording medium 11 and the data in the recording medium 31 may not match. There is. On the other hand, the control unit 23 controls the data in the divided buffer area 12a corresponding to the divided area 22a because the control information 24a remains in the divided area 22a when the control device 10 is stopped after the buffer switching is notified. It can be determined that there is a possibility of not being transmitted to the device 30. When the determination is made as described above, the control unit 23 reads the same data as the data in the divided buffer area 12 a from the recording medium 21 based on the control information 24 a and transmits the data to the control device 30. When the control unit 33 stores the transmitted data in the recording medium 31, the data on the recording medium 31 becomes equivalent to the data on the recording medium 21.

このような処理により、制御部23は、記録媒体21に格納されているデータのうち、記録媒体31に格納されていない可能性のあるデータだけを、記録媒体21から記録媒体31にコピーすることができる。これにより、制御装置20が書き込み制御処理を引き継ぐフェイルオーバの際に、非同期コピーのコピー元装置である制御装置20と、コピー先装置である制御装置30の各データを短時間で等価にすることができる。   By such processing, the control unit 23 copies only data that may not be stored in the recording medium 31 from the recording medium 21 to the recording medium 31 among the data stored in the recording medium 21. Can do. As a result, at the time of failover in which the control device 20 takes over the write control processing, the data of the control device 20 that is the copy source device of asynchronous copy and the control device 30 that is the copy destination device can be made equivalent in a short time. it can.

なお、上位装置1からの書き込み要求に応じてデータを記録媒体21に格納する処理は、例えば、制御情報24aに基づくデータを記録媒体21から制御装置30へ送信する処理が完了した後に実行されてもよい。あるいは、これらの処理は並行して実行されてもよい。後者の場合、制御装置10が停止してから上位装置1からの要求に応じた書き込み制御処理が再開されるまでの時間を短縮できる。   The process of storing data in the recording medium 21 in response to a write request from the host apparatus 1 is executed after the process of transmitting data based on the control information 24a from the recording medium 21 to the control apparatus 30 is completed, for example. Also good. Alternatively, these processes may be executed in parallel. In the latter case, it is possible to shorten the time from when the control device 10 is stopped until the write control process according to the request from the host device 1 is resumed.

〔第2の実施の形態〕
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、ストレージ装置100,200,300およびホスト装置400を含む。ホスト装置400とストレージ装置100,200とは、例えば、SAN(Storage Area Network)51を介して接続されている。ストレージ装置100とストレージ装置200とは、例えば、専用の通信回線を介して接続され、ストレージ装置100,200とストレージ装置300とは、例えば、WAN(Wide Area Network)52を介して接続されている。ストレージ装置100とストレージ装置200との距離と比較して、ストレージ装置300は遠距離に配置されている。
[Second Embodiment]
FIG. 2 is a diagram illustrating a configuration example of a storage system according to the second embodiment. The storage system shown in FIG. 2 includes storage apparatuses 100, 200, 300 and a host apparatus 400. The host device 400 and the storage devices 100 and 200 are connected via, for example, a SAN (Storage Area Network) 51. The storage apparatus 100 and the storage apparatus 200 are connected through, for example, a dedicated communication line, and the storage apparatuses 100 and 200 and the storage apparatus 300 are connected through, for example, a WAN (Wide Area Network) 52. . Compared to the distance between the storage apparatus 100 and the storage apparatus 200, the storage apparatus 300 is arranged at a long distance.

ストレージ装置100は、CM(Controller Module)110,110aとドライブ部120,120aを有する。ドライブ部120,120aのそれぞれには、複数の記憶装置が搭載されている。それらの記憶装置は、例えばHDD(Hard Disk Drive)であり、その場合、ドライブ部120,120aはディスクアレイ装置である。CM110は、ドライブ部120内の記憶装置に対するアクセスを制御する制御装置であり、CM110aは、ドライブ部120a内の記憶装置に対するアクセスを制御する制御装置である。   The storage apparatus 100 includes CM (Controller Module) 110 and 110a and drive units 120 and 120a. A plurality of storage devices are mounted on each of the drive units 120 and 120a. These storage devices are, for example, HDDs (Hard Disk Drives), and in this case, the drive units 120 and 120a are disk array devices. The CM 110 is a control device that controls access to the storage device in the drive unit 120, and the CM 110a is a control device that controls access to the storage device in the drive unit 120a.

同様に、ストレージ装置200は、CM210,210aとドライブ部220,220aを有しており、ストレージ装置300は、CM310,310aとドライブ部320,320aを有している。なお、図2のストレージシステムにおいては、CM110,110a,210,210a,310,310aが相互に接続されている。   Similarly, the storage apparatus 200 includes CMs 210 and 210a and drive units 220 and 220a, and the storage apparatus 300 includes CMs 310 and 310a and drive units 320 and 320a. In the storage system of FIG. 2, CMs 110, 110a, 210, 210a, 310, 310a are connected to each other.

CM110は、ホスト装置400からの要求に応じて、ドライブ部120内の記憶装置によって実現される論理ボリュームに対するアクセスを制御できるようになっている。同様に、CM110aは、ホスト装置400からの要求に応じて、ドライブ部120a内の記憶装置によって実現される論理ボリュームに対するアクセスを制御できるようになっている。CM110,110aは、対応する論理ボリュームに対するアクセス時に利用するキャッシュをそれぞれが保持する分散キャッシュ方式でアクセス制御を行う。   The CM 110 can control access to a logical volume realized by a storage device in the drive unit 120 in response to a request from the host device 400. Similarly, the CM 110a can control access to a logical volume realized by a storage device in the drive unit 120a in response to a request from the host device 400. The CMs 110 and 110a perform access control using a distributed cache method in which caches used for accessing corresponding logical volumes are held respectively.

ストレージ装置200は、ストレージ装置100がアクティブ状態(運用状態)のとき、スタンバイ状態(待機状態)になっている。この状態では、CM210,210aは、それぞれCM110,110a内のキャッシュのデータを受信してバックアップする。ストレージ装置100内のキャッシュのデータは、同期コピーによってストレージ装置200にバックアップされる。そして、ストレージ装置100に障害が発生したとき、ストレージ装置200はスタンバイ状態からアクティブ状態に遷移し(すなわちフェイルオーバし)、ホスト装置400からの要求に応じた論理ボリュームへのアクセス制御を短時間で引き継ぐ。   The storage apparatus 200 is in a standby state (standby state) when the storage apparatus 100 is in an active state (operation state). In this state, the CMs 210 and 210a receive and back up the cache data in the CMs 110 and 110a, respectively. The cache data in the storage apparatus 100 is backed up to the storage apparatus 200 by synchronous copy. When a failure occurs in the storage apparatus 100, the storage apparatus 200 transitions from the standby state to the active state (that is, fails over), and takes over the access control to the logical volume according to the request from the host apparatus 400 in a short time. .

ストレージ装置300も、ストレージ装置100がアクティブ状態のとき、ストレージ装置100内のキャッシュのデータを受信してバックアップする。具体的には、CM310,310aは、それぞれCM110,110a内のキャッシュのデータを受信してバックアップする。ただし、ストレージ装置100内のキャッシュのデータは、非同期コピーによってストレージ装置300にバックアップされる。そして、ストレージ装置100に障害が発生したとき、ストレージ装置300は,アクティブ状態に遷移したストレージ装置200内のキャッシュのデータをバックアップする。このときも、ストレージ装置200内のキャッシュのデータは、非同期コピーによってストレージ装置300にバックアップされる。   The storage apparatus 300 also receives and backs up cache data in the storage apparatus 100 when the storage apparatus 100 is in an active state. Specifically, the CMs 310 and 310a receive and back up the cache data in the CMs 110 and 110a, respectively. However, the cache data in the storage apparatus 100 is backed up to the storage apparatus 300 by asynchronous copy. When a failure occurs in the storage apparatus 100, the storage apparatus 300 backs up the cache data in the storage apparatus 200 that has transitioned to the active state. Also at this time, the cache data in the storage apparatus 200 is backed up to the storage apparatus 300 by asynchronous copy.

このように、図2に示すストレージシステムでは、ストレージ装置100,200,300が正常に動作しているとき、キャッシュのデータに対応するバックアップデータが二重に記憶され、これによってキャッシュのデータが失われるリスクが低減されている。また、遠隔地に配置されたストレージ装置300に同期コピーによってデータをバックアップした場合、RTTが増大してホスト装置400に対する応答速度が大きく低下してしまう。しかし、図2のストレージシステムによれば、ストレージ装置300には非同期コピーによってデータがバックアップされるので、このような応答速度の低下を防止できる。換言すると、ホスト装置400に対する応答性能を落とさずに、ストレージ装置300を遠隔地に配置することができるので、例えば、影響が広範囲に及ぶ大きな災害が発生した場合にデータが失われるリスクを低減できる。   As described above, in the storage system shown in FIG. 2, when the storage apparatuses 100, 200, and 300 are operating normally, the backup data corresponding to the cache data is stored twice, thereby causing the cache data to be lost. Risk is reduced. In addition, when data is backed up by synchronous copying to a storage apparatus 300 located at a remote location, the RTT increases and the response speed to the host apparatus 400 is greatly reduced. However, according to the storage system of FIG. 2, since data is backed up to the storage apparatus 300 by asynchronous copy, such a decrease in response speed can be prevented. In other words, since the storage apparatus 300 can be remotely located without degrading the response performance with respect to the host apparatus 400, for example, the risk of data loss in the event of a large disaster that affects a wide range can be reduced. .

図3は、CMのハードウェア構成例を示す図である。この図3では、CM110を例示する。
CM110は、プロセッサ111、RAM112、SSD(Solid State Drive)113、ホストインタフェース114、ドライブインタフェース115およびリモートアダプタ116,117を有する。これらの構成要素は、バス118を介して接続されている。
FIG. 3 is a diagram illustrating a hardware configuration example of the CM. In FIG. 3, the CM 110 is illustrated.
The CM 110 includes a processor 111, a RAM 112, an SSD (Solid State Drive) 113, a host interface 114, a drive interface 115, and remote adapters 116 and 117. These components are connected via a bus 118.

プロセッサ111は、CM110全体を統括的に制御する。プロセッサ111は、マルチプロセッサであってもよい。プロセッサ111は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ111は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。   The processor 111 controls the CM 110 as a whole. The processor 111 may be a multiprocessor. The processor 111 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a programmable logic device (PLD). Further, the processor 111 may be a combination of two or more elements among CPU, MPU, DSP, ASIC, and PLD.

RAM112は、CM110の主記憶装置として使用される。RAM112には、プロセッサ111に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM112には、プロセッサ111による処理に必要な各種データが格納される。   The RAM 112 is used as a main storage device of the CM 110. The RAM 112 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 111. The RAM 112 stores various data necessary for processing by the processor 111.

SSD113は、CM110の補助記憶装置として使用される。SSD113には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、HDDなどの他の種類の記憶装置が用いられてもよい。   The SSD 113 is used as an auxiliary storage device for the CM 110. The SSD 113 stores an OS program, application programs, and various data. As the auxiliary storage device, another type of storage device such as an HDD may be used.

ホストインタフェース114は、ホスト装置400と通信するためのインタフェースである。ドライブインタフェース115は、ドライブ部120内の記憶装置と通信するためのインタフェースである。ドライブインタフェース115は、例えば、SAS(Serial Attached SCSI,SCSI:Small Computer System Interface)インタフェースである。リモートアダプタ116は、ストレージ装置200と通信するためのインタフェースであり、リモートアダプタ117は、ストレージ装置300と通信するためのインタフェースである。   The host interface 114 is an interface for communicating with the host device 400. The drive interface 115 is an interface for communicating with a storage device in the drive unit 120. The drive interface 115 is, for example, a SAS (Serial Attached SCSI, SCSI: Small Computer System Interface) interface. The remote adapter 116 is an interface for communicating with the storage apparatus 200, and the remote adapter 117 is an interface for communicating with the storage apparatus 300.

以上のハードウェア構成によってCM110の処理機能が実現される。なお、CM110a,210,210a,310,310aについても、図3と同様のハードウェア構成によって実現される。   The processing functions of the CM 110 are realized by the above hardware configuration. Note that the CMs 110a, 210, 210a, 310, and 310a are also realized by the same hardware configuration as in FIG.

図4は、各CMが備える処理機能の構成例を示すブロック図である。
まず、CM110は、制御部130、キャッシュ140、バッファ150および管理情報記憶部160を有する。制御部130の処理は、プロセッサ111が所定のプログラムを実行することで実現される。キャッシュ140およびバッファ150は、RAM112の記憶領域の一部によって実現される。管理情報記憶部160は、RAM112またはSSD113の記憶領域の一部によって実現される。
FIG. 4 is a block diagram illustrating a configuration example of processing functions included in each CM.
First, the CM 110 includes a control unit 130, a cache 140, a buffer 150, and a management information storage unit 160. The processing of the control unit 130 is realized by the processor 111 executing a predetermined program. The cache 140 and the buffer 150 are realized by a part of the storage area of the RAM 112. The management information storage unit 160 is realized by a part of the storage area of the RAM 112 or the SSD 113.

制御部130は、ホスト装置400からの要求に応じた論理ボリュームに対するアクセスを、キャッシュ140を用いて制御する。例えば、制御部130は、論理ボリュームに対するアクセスを、ライトバック方式を用いて制御する。また、制御部130は、キャッシュ140に書き込んだデータのCM210,310に対するコピー処理を実行する。制御部130は、CM210に対しては同期コピーを行い、CM310に対しては非同期コピーを行う。   The control unit 130 uses the cache 140 to control access to the logical volume in response to a request from the host device 400. For example, the control unit 130 controls access to the logical volume using a write back method. In addition, the control unit 130 executes a copy process for the data 210 and 310 written in the cache 140. The control unit 130 performs synchronous copy for the CM 210 and performs asynchronous copy for the CM 310.

例えば、ライトバック方式が用いられる場合、制御部130は、論理ボリュームに対するライト要求を受けると、ライトが要求されたデータ(ライトデータ)をキャッシュ140に格納する。これとともに、制御部130は、ライトデータをCM210に送信し、CM210のキャッシュ(後述するキャッシュ240)にも格納する。制御部130は、以上の処理が完了すると、ホスト装置400にライト完了通知を送信する。制御部130は、その後の非同期のタイミングで、キャッシュ140に格納されたライトデータをドライブ部120内の記憶装置に書き込む。さらに、制御部130は、ライト完了通知の送信後の非同期のタイミングで、キャッシュ140に格納されたライトデータをCM310に送信し、CM310のキャッシュ(後述するキャッシュ340)に書き込む。   For example, when the write back method is used, when the control unit 130 receives a write request for a logical volume, the control unit 130 stores data (write data) requested to be written in the cache 140. At the same time, the control unit 130 transmits the write data to the CM 210 and stores it in the cache of the CM 210 (a cache 240 described later). When the above processing is completed, the control unit 130 transmits a write completion notification to the host device 400. The control unit 130 writes the write data stored in the cache 140 to the storage device in the drive unit 120 at the subsequent asynchronous timing. Further, the control unit 130 transmits the write data stored in the cache 140 to the CM 310 at an asynchronous timing after the transmission of the write completion notification, and writes it in a cache of the CM 310 (a cache 340 described later).

キャッシュ140には、ホスト装置400からのアクセス対象の論理ボリュームに含まれる少なくとも一部のデータが、一時的に格納される。バッファ150には、キャッシュ140からCM210,310に転送されるライトデータが一時的に格納される。バッファ150は、複数の分割領域に区分されており、書き込みの順序性を保ったまま非同期コピーを実行するために利用される。   The cache 140 temporarily stores at least a part of data included in the logical volume to be accessed from the host device 400. The buffer 150 temporarily stores write data transferred from the cache 140 to the CMs 210 and 310. The buffer 150 is divided into a plurality of divided areas, and is used to execute asynchronous copy while maintaining the order of writing.

管理情報記憶部160には、コピー処理で参照される各種の情報が格納される。例えば、管理情報記憶部160には、バッファ150の各分割領域に対応する制御情報領域が設定される。制御情報領域には、キャッシュ240に格納した各ライトデータに対応するライト制御情報が登録される。ライト制御情報は、ライトデータの書き込み先を示す情報であり、論理ボリュームを識別するLUN(Logical Unit Number)、論理ボリュームにおける書き込み先の先頭アドレスを示すLBA(Logical Block Address)、データ長をブロック単位で示すブロックカウントを含む。このようなライト制御情報は、ライトデータをキャッシュ140への格納後の非同期のタイミングでバッファ150に格納するために利用される。   The management information storage unit 160 stores various types of information referred to in the copy process. For example, a control information area corresponding to each divided area of the buffer 150 is set in the management information storage unit 160. Write control information corresponding to each write data stored in the cache 240 is registered in the control information area. The write control information is information indicating the write destination of the write data. The LUN (Logical Unit Number) for identifying the logical volume, the LBA (Logical Block Address) indicating the start address of the write destination in the logical volume, and the data length in block units. The block count indicated by is included. Such write control information is used to store write data in the buffer 150 at an asynchronous timing after storage in the cache 140.

なお、図示しないが、CM110aもCM110と同様の処理機能を備える。ただし、後述するバッファの世代管理などのリモートコピー処理全体の制御に関しては、CM110はマスタとして動作し、CM110aはスレーブとして動作する。   Although not shown, the CM 110a also has the same processing function as the CM 110. However, regarding the control of the entire remote copy processing such as buffer generation management, which will be described later, the CM 110 operates as a master and the CM 110a operates as a slave.

CM210は、制御部230、キャッシュ240、バッファ250および管理情報記憶部260を有する。制御部230の処理は、CM210が備えるプロセッサが所定のプログラムを実行することで実現される。キャッシュ240およびバッファ250は、CM210が備えるRAMの記憶領域の一部によって実現される。管理情報記憶部260は、CMが備えるRAMまたはSSDの記憶領域の一部によって実現される。   The CM 210 includes a control unit 230, a cache 240, a buffer 250, and a management information storage unit 260. The processing of the control unit 230 is realized by a processor included in the CM 210 executing a predetermined program. The cache 240 and the buffer 250 are realized by a part of the storage area of the RAM included in the CM 210. The management information storage unit 260 is realized by a part of a RAM or SSD storage area provided in the CM.

制御部230は、ストレージ装置100が運用状態のとき、CM110から転送されるライトデータをキャッシュ240に格納する処理を実行する。このとき、制御部230は、キャッシュ240に格納したライトデータについてのライト制御情報を管理情報記憶部260に登録する。登録されたライト制御情報は、フェイルオーバ後に、キャッシュ240に格納されたライトデータのうち、CM310のキャッシュに格納されていないライトデータをCM310に送信するために利用される。   The control unit 230 executes a process of storing the write data transferred from the CM 110 in the cache 240 when the storage apparatus 100 is in an operating state. At this time, the control unit 230 registers the write control information for the write data stored in the cache 240 in the management information storage unit 260. The registered write control information is used to transmit to the CM 310 write data that is not stored in the cache of the CM 310 among the write data stored in the cache 240 after failover.

また、障害発生によりストレージ装置100が停止して、ストレージ装置200がアクティブ状態に遷移すると(フェイルオーバ)、制御部230は、論理ボリュームに対するアクセス制御をCM110の制御部130から引き継ぐ。このとき、制御部230は、ホスト装置400からの要求に応じた論理ボリュームに対するアクセスを、キャッシュ240を用いて制御する。これとともに、制御部230は、キャッシュ240のライトデータを非同期でCM310のキャッシュにコピーする非同期コピー処理を実行する。   Further, when the storage apparatus 100 stops due to the occurrence of a failure and the storage apparatus 200 transitions to an active state (failover), the control unit 230 takes over access control for the logical volume from the control unit 130 of the CM 110. At this time, the control unit 230 controls access to the logical volume according to the request from the host device 400 using the cache 240. At the same time, the control unit 230 executes an asynchronous copy process for asynchronously copying the write data of the cache 240 to the cache of the CM 310.

バッファ250には、ストレージ装置200がアクティブ状態のとき、キャッシュ240からCM310に転送されるライトデータが一時的に格納される。管理情報記憶部260には、コピー処理で参照される各種の情報が格納される。   The buffer 250 temporarily stores write data transferred from the cache 240 to the CM 310 when the storage apparatus 200 is in an active state. The management information storage unit 260 stores various types of information referred to in the copy process.

なお、図示しないが、CM210aもCM210と同様の処理機能を備える。
CM310は、制御部330、キャッシュ340、バッファ350および管理情報記憶部360を有する。制御部330の処理は、CM310が備えるプロセッサが所定のプログラムを実行することで実現される。キャッシュ340およびバッファ350は、CM310が備えるRAMの記憶領域の一部によって実現される。管理情報記憶部360は、CMが備えるRAMまたはSSDの記憶領域の一部によって実現される。
Although not shown, the CM 210a also has the same processing function as the CM 210.
The CM 310 includes a control unit 330, a cache 340, a buffer 350, and a management information storage unit 360. The processing of the control unit 330 is realized by a processor included in the CM 310 executing a predetermined program. The cache 340 and the buffer 350 are realized by a part of the storage area of the RAM provided in the CM 310. The management information storage unit 360 is realized by a part of a RAM or SSD storage area provided in the CM.

制御部330は、CM110,210のうち運用状態のCMから転送されたライトデータを、キャッシュ340に格納する。キャッシュ340には、CM110のキャッシュ140またはCM210のキャッシュ240に格納されたライトデータに対応するコピーデータが格納される。バッファ350には、CM110またはCM210から転送されたライトデータが一時的に格納される。管理情報記憶部360には、コピー処理、すなわち受信したライトデータをキャッシュ340に格納する処理において参照される各種の情報が格納される。   The control unit 330 stores the write data transferred from the active CM among the CMs 110 and 210 in the cache 340. The cache 340 stores copy data corresponding to the write data stored in the cache 140 of the CM 110 or the cache 240 of the CM 210. The buffer 350 temporarily stores write data transferred from the CM 110 or the CM 210. The management information storage unit 360 stores various types of information referred to in the copy process, that is, the process of storing the received write data in the cache 340.

なお、図示しないが、CM310aもCM310と同様の処理機能を備える。
次に、上記のストレージシステムで実行される非同期コピー処理について説明する。本実施の形態では、ストレージ装置100がアクティブ状態のとき、ストレージ装置100とストレージ装置300との間において、順序性が保証された非同期コピーが実行される。
Although not shown, the CM 310a has the same processing function as the CM 310.
Next, asynchronous copy processing executed in the above storage system will be described. In the present embodiment, when the storage apparatus 100 is in an active state, asynchronous copy with guaranteed ordering is executed between the storage apparatus 100 and the storage apparatus 300.

図5は、非同期コピーの基本的な処理手順を説明するための図である。なお、図5では、ストレージ装置100とストレージ装置200との間の同期コピーに関する処理については省略している。   FIG. 5 is a diagram for explaining a basic processing procedure of asynchronous copying. In FIG. 5, processing related to synchronous copying between the storage apparatus 100 and the storage apparatus 200 is omitted.

ストレージ装置100がアクティブ状態のとき、ストレージ装置100は非同期コピーにおけるコピー元装置となり、ストレージ装置300が非同期コピーにおけるコピー先装置となる。前述のように、ストレージ装置100のCM110は、コピー元となるキャッシュ140と、非同期コピーの際に利用されるバッファ150を備える。ストレージ装置100のCM110aも同様に、コピー元となるキャッシュ140aと、非同期コピーの際に利用されるバッファ150aを備える。   When the storage apparatus 100 is in the active state, the storage apparatus 100 becomes a copy source apparatus in asynchronous copy, and the storage apparatus 300 becomes a copy destination apparatus in asynchronous copy. As described above, the CM 110 of the storage apparatus 100 includes the cache 140 serving as a copy source and the buffer 150 used during asynchronous copy. Similarly, the CM 110a of the storage apparatus 100 includes a cache 140a serving as a copy source and a buffer 150a used for asynchronous copy.

また、前述のように、ストレージ装置300のCM310は、コピー先となるキャッシュ340と、非同期コピーの際に利用されるバッファ350を備える。ストレージ装置300のCM310aも同様に、コピー先となるキャッシュ340aと、非同期コピーの際に利用されるバッファ350aを備える。   Further, as described above, the CM 310 of the storage apparatus 300 includes the cache 340 serving as a copy destination and the buffer 350 used during asynchronous copy. Similarly, the CM 310a of the storage apparatus 300 includes a cache 340a serving as a copy destination and a buffer 350a used for asynchronous copying.

バッファ150,150a,350,350aは、それぞれ同数の分割領域に区分されている。図5において、各分割領域に記載された数字は、各分割領域のID(Identification)を示す。以下の説明では、IDが「xxxx」の分割領域を「分割領域(xxxx)」と表記する。   The buffers 150, 150a, 350, and 350a are each divided into the same number of divided regions. In FIG. 5, a number written in each divided area indicates an ID (Identification) of each divided area. In the following description, a divided area whose ID is “xxxx” is referred to as “divided area (xxxx)”.

非同期コピー処理においては、バッファ150,150a,350,350aのそれぞれから分割領域が1つずつ選択され、選択された分割領域が、ホスト装置400から同一期間に書き込まれたライトデータの格納に利用される。そこで、以下の説明では、各分割領域を「世代」という概念で識別する場合がある。図5の例では、分割領域(0000),(0100),(2000),(2100)が同一世代に属する。また、分割領域(0001),(0101),(2001),(2101)が同一世代に属する。また、分割領域(0002),(0102),(2002),(2102)が同一世代に属する。また、分割領域(0003),(0103),(2003),(2103)が同一世代に属する。また、同一世代に属する分割領域の組み合わせを「バッファセット」と呼ぶ。   In the asynchronous copy process, one divided area is selected from each of the buffers 150, 150a, 350, and 350a, and the selected divided area is used to store write data written from the host device 400 in the same period. The Therefore, in the following description, each divided region may be identified by the concept of “generation”. In the example of FIG. 5, the divided areas (0000), (0100), (2000), and (2100) belong to the same generation. Further, the divided areas (0001), (0101), (2001), and (2101) belong to the same generation. The divided areas (0002), (0102), (2002), and (2102) belong to the same generation. The divided areas (0003), (0103), (2003), and (2103) belong to the same generation. A combination of divided areas belonging to the same generation is called a “buffer set”.

CM110は、ホスト装置400からライト要求を受信すると、ホスト装置400から送信されたライトデータをキャッシュ140に書き込み(ステップS11a)、ホスト装置にライト完了通知を送信する。CM110aも同様に、ホスト装置400から送信されたライトデータをキャッシュ140aに書き込み(ステップS11b)、ホスト装置400にライト完了通知を送信する。   When the CM 110 receives a write request from the host device 400, the CM 110 writes the write data transmitted from the host device 400 into the cache 140 (step S11a), and transmits a write completion notification to the host device. Similarly, the CM 110a writes the write data transmitted from the host device 400 to the cache 140a (step S11b), and transmits a write completion notification to the host device 400.

CM110は、キャッシュ140への書き込みとは非同期のタイミングで、キャッシュ140に書き込まれたライトデータを分割領域(0000)に格納(コピー)する(ステップS12a)。CM110aも同様に、キャッシュ140aへの書き込みとは非同期のタイミングで、キャッシュ140aに書き込まれたライトデータを分割領域(0100)に格納(コピー)する(ステップS12b)。   The CM 110 stores (copies) the write data written in the cache 140 in the divided area (0000) at a timing asynchronous with the writing to the cache 140 (step S12a). Similarly, the CM 110a stores (copies) the write data written to the cache 140a in the divided area (0100) at a timing asynchronous with the writing to the cache 140a (step S12b).

その後、コピー元のストレージ装置100では、分割領域(0000),(0100)の少なくとも一方の残容量がなくなるか、または一定時間が経過すると、バッファセットの切り替えが行われる。バッファセットの切り替えとは、ライトデータの格納先とする分割領域を切り替えることを指す。バッファセットの切り替え発生により、キャッシュ140,140aに書き込まれたライトデータの格納先は、次世代のバッファセットに属する分割領域(0001),(0101)にそれぞれ切り替えられる。これとともに、前世代のバッファセットに属する分割領域(0000),(0100)は、コピー先装置への転送の対象となる。   Thereafter, in the copy source storage apparatus 100, the buffer set is switched when the remaining capacity of at least one of the divided areas (0000) and (0100) runs out, or when a certain time elapses. The switching of the buffer set refers to switching of a divided area as a write data storage destination. When the buffer set is switched, the storage destination of the write data written in the caches 140 and 140a is switched to the divided areas (0001) and (0101) belonging to the next-generation buffer set, respectively. At the same time, the divided areas (0000) and (0100) belonging to the previous generation buffer set are to be transferred to the copy destination apparatus.

CM110は、分割領域(0000)の残容量がなくなるか、または一定時間が経過すると、分割領域(0000)に格納されたライトデータをまとめてCM310に転送する(ステップS13a)。CM110aも同様に、分割領域(0100)に格納されたライトデータをまとめてCM310aに転送する(ステップS13b)。   When the remaining capacity of the divided area (0000) runs out or a certain time elapses, the CM 110 collectively transfers the write data stored in the divided area (0000) to the CM 310 (step S13a). Similarly, the CM 110a also collectively transfers the write data stored in the divided area (0100) to the CM 310a (step S13b).

CM310は、CM110から受信したライトデータを分割領域(2000)に一時的に格納し、すべてのライトデータが格納されると、分割領域(2000)に格納されたライトデータをキャッシュ340に書き込む(ステップS14a)。CM310aも同様に、CM110aから受信したライトデータを分割領域(2100)に一時的に格納し、すべてのライトデータが格納されると、分割領域(2100)に格納されたライトデータをキャッシュ340aに書き込む(ステップS14b)。以下、バッファ350,350aからキャッシュ340,340aへの書き込みを「展開」と呼ぶ。   The CM 310 temporarily stores the write data received from the CM 110 in the divided area (2000), and when all the write data is stored, the write data stored in the divided area (2000) is written in the cache 340 (step S14a). Similarly, the CM 310a temporarily stores the write data received from the CM 110a in the divided area (2100). When all the write data is stored, the write data stored in the divided area (2100) is written in the cache 340a. (Step S14b). Hereinafter, writing from the buffers 350 and 350a to the caches 340 and 340a is referred to as “development”.

分割領域(2000),(2100)に格納されたデータの展開が完了すると、分割領域(0000),(0100),(2000),(2100)が属するバッファセットは未使用領域に戻される。このように分割領域が未使用領域に戻されることを「解放」と呼ぶ。   When the expansion of the data stored in the divided areas (2000) and (2100) is completed, the buffer set to which the divided areas (0000), (0100), (2000), and (2100) belong is returned to the unused area. This return of the divided area to the unused area is called “release”.

以上のように、コピー用のバッファを用い、バッファセット単位で装置間のライトデータの転送およびバッファからキャッシュへのライトデータの展開を行うことで、バッファセット単位での書き込みの順序性が保証される。   As described above, by using a buffer for copying and transferring write data between devices in units of buffer sets and developing write data from buffers to cache, the order of writing in units of buffer sets is guaranteed. The

ところで、前述のように、ストレージ装置100に障害が発生した場合には、ホスト装置400からの要求に応じたアクセス制御をストレージ装置200が引き継ぐ(フェイルオーバ)。ここで、ストレージ装置100とストレージ装置200との間では、同期コピーにより常に同じデータがキャッシュに保持されており、ストレージ装置100に障害が発生した場合でもこの点に変わりはない。一方、ストレージ装置100とストレージ装置300との間で非同期コピーによるデータの転送中にストレージ装置100に障害が発生すると、ストレージ装置200とストレージ装置300との間ではキャッシュのデータが等価にならない。このため、フェイルオーバの際に、ストレージ装置200とストレージ装置300との間でキャッシュの等価性を保ちつつ、ホスト装置400からの要求に応じたアクセス制御を短時間で再開することが、このストレージシステムでの1つの課題となる。   Incidentally, as described above, when a failure occurs in the storage apparatus 100, the storage apparatus 200 takes over access control in response to a request from the host apparatus 400 (failover). Here, between the storage apparatus 100 and the storage apparatus 200, the same data is always held in the cache by synchronous copying, and this point does not change even when a failure occurs in the storage apparatus 100. On the other hand, if a failure occurs in the storage apparatus 100 during data transfer by asynchronous copy between the storage apparatus 100 and the storage apparatus 300, the cache data is not equivalent between the storage apparatus 200 and the storage apparatus 300. Therefore, at the time of failover, it is possible to restart the access control according to the request from the host apparatus 400 in a short time while maintaining the cache equivalence between the storage apparatus 200 and the storage apparatus 300. It becomes one problem in.

本実施の形態では、同期コピー先のストレージ装置200において、コピー元からのライトデータをキャッシュ240に書き込むとともに、そのライトデータを示すライト制御情報を管理情報記憶部に記憶しておく。また、バッファセットの切り替えおよび解放の処理をストレージ装置100,200,300で同期させ、ストレージ装置200が切り替え前、切り替え後かつ未解放のそれぞれのバッファセットに対応するライト制御情報を識別できるようにする。   In the present embodiment, in the synchronous copy destination storage apparatus 200, write data from the copy source is written to the cache 240, and write control information indicating the write data is stored in the management information storage unit. In addition, buffer set switching and release processing is synchronized in the storage apparatuses 100, 200, and 300 so that the storage apparatus 200 can identify write control information corresponding to each buffer set before switching, after switching, and unreleased. To do.

そして、ストレージ装置100に障害が発生したとき、ストレージ装置200は、未解放のバッファセットに対応するライト制御情報に基づいて、そのライト制御情報に対応するライトデータをキャッシュから読み出し、ストレージ装置300に転送する。ストレージ装置300は、転送されたライトデータをキャッシュに書き込む。これにより、ストレージ装置200とストレージ装置300との間でキャッシュのデータを等価にする。その際に、ストレージ装置100からストレージ装置300への転送が完了していない可能性のあるライトデータだけが、ストレージ装置200からストレージ装置300に転送されるので、データが等価になるまでの時間が短縮される。   When a failure occurs in the storage apparatus 100, the storage apparatus 200 reads the write data corresponding to the write control information from the cache based on the write control information corresponding to the unreleased buffer set, and stores it in the storage apparatus 300. Forward. The storage apparatus 300 writes the transferred write data to the cache. Thereby, the cache data is made equivalent between the storage apparatus 200 and the storage apparatus 300. At this time, only write data that may not have been transferred from the storage apparatus 100 to the storage apparatus 300 is transferred from the storage apparatus 200 to the storage apparatus 300. Shortened.

また、ストレージ装置200は、上記のようなキャッシュからストレージ装置300へのデータ転送をバックグラウンドで実行しながら、ホスト装置400からの要求に応じた論理ボリュームへのアクセス制御をストレージ装置100から引き継ぐ。これにより、ホスト装置400からの要求に応じたアクセス制御を短時間で再開する。   Further, the storage apparatus 200 takes over the access control to the logical volume according to the request from the host apparatus 400 from the storage apparatus 100 while executing the data transfer from the cache to the storage apparatus 300 as described above. Thereby, the access control according to the request from the host device 400 is resumed in a short time.

図6は、各CMの管理情報記憶部に記憶される情報を示す図である。
CM110の管理情報記憶部160には、セッション管理テーブル161、バッファセット管理テーブル162、バッファ管理テーブル163、切り替え状態情報164、格納バッファセット情報165、切り替え待ちキュー166、格納完了待ちキュー167およびコピービットマップ168が記憶される。なお、図示しないが、CM110aの管理情報記憶部にも同様の情報が記憶される。
FIG. 6 is a diagram illustrating information stored in the management information storage unit of each CM.
The management information storage unit 160 of the CM 110 includes a session management table 161, a buffer set management table 162, a buffer management table 163, switching state information 164, storage buffer set information 165, a switching waiting queue 166, a storage completion waiting queue 167, and a copy bit. A map 168 is stored. Although not shown, similar information is also stored in the management information storage unit of the CM 110a.

また、CM210の管理情報記憶部260には、セッション管理テーブル261、バッファセット管理テーブル262、バッファ管理テーブル263、切り替え状態情報264、格納バッファセット情報265、切り替え待ちキュー266、格納完了待ちキュー267およびコピービットマップ268が記憶される。なお、図示しないが、CM210aの管理情報記憶部にも同様の情報が記憶される。   The management information storage unit 260 of the CM 210 includes a session management table 261, a buffer set management table 262, a buffer management table 263, switching state information 264, storage buffer set information 265, a switching waiting queue 266, a storage completion waiting queue 267, and A copy bitmap 268 is stored. Although not shown, similar information is also stored in the management information storage unit of the CM 210a.

さらに、CM310の管理情報記憶部360には、セッション管理テーブル361、バッファセット管理テーブル362およびバッファ管理テーブル363が記憶される。なお、図示しないが、CM310aの管理情報記憶部にも同様の情報が記憶される。   Further, the management information storage unit 360 of the CM 310 stores a session management table 361, a buffer set management table 362, and a buffer management table 363. Although not shown, similar information is also stored in the management information storage unit of the CM 310a.

セッション管理テーブル161,261,361には、ストレージ装置間で設定されるコピーセッションに関する設定情報が登録される。本実施の形態では、ストレージ装置100とストレージ装置200との間では、同期コピーセッションが設定される。また、ストレージ装置100とストレージ装置300との間では、非同期コピーセッションが設定される。さらに、ストレージ装置200とストレージ装置300との間では、非同期コピーセッションが設定される。   In the session management tables 161, 261, and 361, setting information related to a copy session set between storage apparatuses is registered. In the present embodiment, a synchronous copy session is set between the storage apparatus 100 and the storage apparatus 200. In addition, an asynchronous copy session is set between the storage apparatus 100 and the storage apparatus 300. Further, an asynchronous copy session is set between the storage device 200 and the storage device 300.

セッション管理テーブル161,261,361には、例えば、各コピーセッションにおける同期コピー、非同期コピーの種別、コピー元装置およびコピー先装置を示す情報、セッションステータスが登録される。セッションステータスは、コピーセッションの状態を示す情報が登録される。   In the session management tables 161, 261, and 361, for example, synchronous copy and asynchronous copy types in each copy session, information indicating a copy source device and a copy destination device, and a session status are registered. In the session status, information indicating the status of the copy session is registered.

ストレージ装置100が正常に運用されている状態では、CM110とCM210との間の同期コピーセッションと、CM110とCM310との間の非同期コピーセッションの各セッションステータスが「アクティブ」となる。この状態では、同期コピーと、書き込みの順序性が保証された非同期コピーとが正常に実行されている。また、CM210とCM310との間の非同期コピーセッションのセッションステータスは、起動していないことを示す「スタンバイ」となる。   In a state where the storage apparatus 100 is normally operated, the session statuses of the synchronous copy session between the CM 110 and the CM 210 and the asynchronous copy session between the CM 110 and the CM 310 are “active”. In this state, the synchronous copy and the asynchronous copy in which the order of writing is guaranteed are normally executed. In addition, the session status of the asynchronous copy session between the CM 210 and the CM 310 becomes “standby” indicating that the CM 210 and the CM 310 are not activated.

フェイルオーバが発生すると、CM210とCM310との間の非同期コピーセッションのセッションステータスが、まず「コピーイング」に変更される。この状態では、CM210は、未解放のバッファセットに対応するライト制御情報に基づいて、そのライト制御情報に対応するコピー箇所をコピービットマップ268に記録する。そして、CM210は、コピービットマップ268に記録されたコピー箇所に対応するデータをキャッシュ240から読み出し、CM310に送信する。これにより、ボリュームのデータのうち、フェイルオーバの前にCM110からCM310に対して転送が済んでいなかった差分データがCM310に転送される。そして、コピービットマップ268に記録されたすべてのコピー箇所についてのデータ転送が完了すると、セッションステータスは「アクティブ」に変更される。   When a failover occurs, the session status of the asynchronous copy session between the CM 210 and the CM 310 is first changed to “copying”. In this state, the CM 210 records the copy location corresponding to the write control information in the copy bitmap 268 based on the write control information corresponding to the unreleased buffer set. Then, the CM 210 reads out data corresponding to the copy location recorded in the copy bitmap 268 from the cache 240 and transmits it to the CM 310. As a result, of the volume data, difference data that has not been transferred from the CM 110 to the CM 310 before the failover is transferred to the CM 310. When the data transfer for all the copy locations recorded in the copy bitmap 268 is completed, the session status is changed to “active”.

なお、セッションステータスが「コピーイング」の状態でホスト装置400からのライト要求を受信した場合、次のような処理が行われる。CM210は、ライトデータをキャッシュ240に書き込むとともに、ライト要求に対応するコピー箇所をコピービットマップ268に記録する。このコピー箇所はCM310への転送が済んでいないデータの位置として取り扱われ、上記のようなコピービットマップ268に基づく差分データの転送処理により、このコピー箇所に対応するデータがCM310に送信される。コピービットマップ268を用いることにより、CM210は、ライト要求を受信してライトデータをキャッシュ240に書き込む処理と、差分データをCM310に転送する処理とを並列に実行することができる。その結果、ストレージ装置100が停止してからホスト装置400からの要求に応じた書き込み制御処理が再開されるまでの時間を短縮できる。   When a write request is received from the host device 400 with the session status being “copying”, the following processing is performed. The CM 210 writes the write data to the cache 240 and records the copy location corresponding to the write request in the copy bitmap 268. This copy location is handled as the position of the data that has not been transferred to the CM 310, and the data corresponding to this copy location is transmitted to the CM 310 by the difference data transfer processing based on the copy bitmap 268 as described above. By using the copy bitmap 268, the CM 210 can execute a process of receiving the write request and writing the write data to the cache 240 and a process of transferring the difference data to the CM 310 in parallel. As a result, it is possible to shorten the time from when the storage apparatus 100 is stopped until the write control process according to the request from the host apparatus 400 is resumed.

そして、差分データの転送が完了し、セッションステータスが「アクティブ」になると、CM210とCM310との間で書き込みの順序性が保証された非同期コピーが開始される。すなわち、CM210は、CM110と同等の非同期コピーを再開する。   Then, when the transfer of the difference data is completed and the session status becomes “active”, the asynchronous copy in which the order of writing is guaranteed between the CM 210 and the CM 310 is started. That is, the CM 210 resumes the asynchronous copy equivalent to the CM 110.

バッファセット管理テーブル162,262,362には、非同期コピーセッションにおいて利用されるバッファセットを示す情報が登録される。バッファ管理テーブル163,263には、バッファセット内の各分割領域に格納するライトデータを示すライト制御情報が登録される。バッファ管理テーブル363には、バッファセット内の各分割領域に格納されたライトデータを示すライト制御情報が登録される。   Information indicating the buffer set used in the asynchronous copy session is registered in the buffer set management tables 162, 262, and 362. In the buffer management tables 163 and 263, write control information indicating write data to be stored in each divided area in the buffer set is registered. In the buffer management table 363, write control information indicating the write data stored in each divided area in the buffer set is registered.

ここで、図7は、バッファセット管理テーブルについて説明するための図である。
CM110のバッファ150には、CM110がアクティブ状態のとき、CM110からCM310に転送されるライトデータが一時的に格納される。CM210のバッファ250には、CM210がアクティブ状態のとき、CM210からCM310に転送されるライトデータが一時的に格納される。CM310のバッファ350には、CM110またはCM210から転送されたライトデータが一時的に格納される。バッファ150,250,350は、それぞれ同数の分割領域に分割されている。なお、図7において各分割領域に記載された数字は、分割領域のIDを示す。
Here, FIG. 7 is a diagram for explaining the buffer set management table.
The buffer 150 of the CM 110 temporarily stores write data transferred from the CM 110 to the CM 310 when the CM 110 is in an active state. The buffer 250 of the CM 210 temporarily stores write data transferred from the CM 210 to the CM 310 when the CM 210 is in an active state. The write data transferred from the CM 110 or the CM 210 is temporarily stored in the buffer 350 of the CM 310. The buffers 150, 250, and 350 are each divided into the same number of divided areas. In addition, the number described in each division area in FIG. 7 shows ID of a division area.

CM110のバッファセット管理テーブル162には、非同期コピーセッションの処理において利用されるバッファセットを示す情報が登録される。バッファセットを示す情報は、コピー元の分割領域のIDとコピー先の分割領域のIDを含む。例えば図7では、コピー元が分割領域(0000)、コピー先が分割領域(2000)の組み合わせと、コピー元が分割領域(0100)、コピー先が分割領域(2100)の組み合わせとが、同一世代のバッファセットとして登録されている。   In the buffer set management table 162 of the CM 110, information indicating a buffer set used in asynchronous copy session processing is registered. The information indicating the buffer set includes the ID of the copy source divided area and the ID of the copy destination divided area. For example, in FIG. 7, the combination of the divided area (0000) as the copy source and the divided area (2000) as the copy destination and the combination of the divided area (0100) as the copy source and the divided area (2100) as the copy destination are the same generation. It is registered as a buffer set.

CM210のバッファセット管理テーブル262には、非同期コピーセッションの処理において利用されるバッファセットを示す情報が登録される。例えば図7では、コピー元が分割領域(1000)、コピー先が分割領域(2000)の組み合わせと、コピー元が分割領域(1100)、コピー先が分割領域(2100)の組み合わせとが、同一世代のバッファセットとして登録されている。   In the buffer set management table 262 of the CM 210, information indicating a buffer set used in the asynchronous copy session processing is registered. For example, in FIG. 7, the combination of the divided area (1000) as the copy source and the divided area (2000) as the copy destination and the combination of the divided area (1100) as the copy source and the divided area (2100) as the copy destination are the same generation. It is registered as a buffer set.

バッファセット管理テーブル162とバッファセット管理テーブル262との間では、コピー先として同じIDの分割領域が登録されたバッファセットが登録されており、このようなバッファセットが同一世代のバッファセットとして利用される。このような情報登録方法によれば、CM110からCM210に対してコピー先の分割領域のIDを送信することで、世代を通知できる。これにより、CM110とCM210との間で世代(バッファセット)の切り替えや解放の処理を同期させることができる。   Between the buffer set management table 162 and the buffer set management table 262, a buffer set in which a divided area having the same ID is registered as a copy destination is registered, and such a buffer set is used as a buffer set of the same generation. The According to such an information registration method, the generation can be notified by transmitting the ID of the copy-destination divided area from the CM 110 to the CM 210. As a result, generation (buffer set) switching and release processing can be synchronized between the CM 110 and the CM 210.

なお、図示しないが、CM110aの管理情報記憶部にも、バッファセット管理テーブル162と同一の情報が登録されたバッファセット管理テーブルが保持される。また、CM210aの管理情報記憶部にも、バッファセット管理テーブル262と同一の情報が登録されたバッファセット管理テーブルが保持される。   Although not shown, the CM 110a management information storage unit also holds a buffer set management table in which the same information as the buffer set management table 162 is registered. The management information storage unit of the CM 210a also holds a buffer set management table in which the same information as the buffer set management table 262 is registered.

図8は、バッファ管理テーブルの構成例を示す図である。図8では、CM110のバッファ管理テーブル163を例示している。
バッファ管理テーブル163は、制御情報領域163a〜163dに区分されている。制御情報領域163a,163b,163c,163dは、バッファ150の分割領域(0000),(0001),(0002),(0003)にそれぞれ対応付けられている。制御情報領域163a〜163dのそれぞれには、対応する分割領域に格納するライトデータを示すライト制御情報163−1が、格納状態情報163−2を付加した状態で登録される。
FIG. 8 is a diagram illustrating a configuration example of the buffer management table. FIG. 8 illustrates the buffer management table 163 of the CM 110.
The buffer management table 163 is divided into control information areas 163a to 163d. The control information areas 163a, 163b, 163c, and 163d are associated with the divided areas (0000), (0001), (0002), and (0003) of the buffer 150, respectively. In each of the control information areas 163a to 163d, the write control information 163-1 indicating the write data stored in the corresponding divided area is registered with the storage state information 163-2 added.

ライト制御情報163−1は、対応するライトデータをキャッシュ140からバッファ150内の対応する分割領域に格納するために参照される。格納状態情報163−2は、ライト制御情報163−1に対応するライトデータがキャッシュ140からバッファ150に対して格納済みか否かを示すフラグ情報である。ライト制御情報163−1が制御情報領域に登録されたとき、「未格納」を示す格納状態情報163−2がライト制御情報163−1に付加される。   The write control information 163-1 is referred to store the corresponding write data from the cache 140 in the corresponding divided area in the buffer 150. The storage state information 163-2 is flag information indicating whether or not the write data corresponding to the write control information 163-1 has been stored in the buffer 150 from the cache 140. When the write control information 163-1 is registered in the control information area, the storage state information 163-2 indicating “not stored” is added to the write control information 163-1.

CM210のバッファ管理テーブル263も、CM110のバッファ管理テーブル163と同様に、バッファ250の各分割領域に対応する制御情報領域に区分されている。バッファ管理テーブル263の制御情報領域には、バッファ管理テーブル163における同じ世代の制御情報領域と同じライト制御情報が、格納状態情報を付加した状態で登録される。CM110がアクティブ状態、CM210がスタンバイ状態のとき、制御情報領域に登録されたライト制御情報は、フェイルオーバした場合に、対応するライトデータをキャッシュ240からCM310に転送するために参照される。一方、CM210がアクティブ状態に遷移した後に制御情報領域に登録されたライト制御情報は、対応するライトデータをキャッシュ240からバッファ150内の対応する分割領域に格納するために参照される。   Similarly to the buffer management table 163 of the CM 110, the buffer management table 263 of the CM 210 is also divided into control information areas corresponding to the divided areas of the buffer 250. In the control information area of the buffer management table 263, the same write control information as the control information area of the same generation in the buffer management table 163 is registered with storage state information added. When the CM 110 is in the active state and the CM 210 is in the standby state, the write control information registered in the control information area is referred to in order to transfer the corresponding write data from the cache 240 to the CM 310 when a failover occurs. On the other hand, the write control information registered in the control information area after the CM 210 changes to the active state is referred to in order to store the corresponding write data from the cache 240 in the corresponding divided area in the buffer 150.

CM310のバッファ管理テーブル363も、CM110のバッファ管理テーブル163と同様に、バッファ350の各分割領域に対応する制御情報領域に区分されている。バッファ管理テーブル363の制御情報領域には、対応する分割領域に格納されたライトデータを示すライト制御情報が登録される。ライト制御情報は、対応するライトデータをバッファ350内の対応する分割領域からキャッシュ340に格納する(展開する)ために参照される。   Similarly to the buffer management table 163 of the CM 110, the buffer management table 363 of the CM 310 is also divided into control information areas corresponding to the divided areas of the buffer 350. In the control information area of the buffer management table 363, write control information indicating the write data stored in the corresponding divided area is registered. The write control information is referred to in order to store (decompress) the corresponding write data in the cache 340 from the corresponding divided area in the buffer 350.

以下、図6に戻って説明を続ける。
切り替え状態情報164,264は、バッファセットの切り替え処理が実行中か否かを示す情報である。切り替え状態情報164は、CM110がアクティブ状態の場合に利用され、切り替え状態情報264は、CM210がアクティブ状態の場合に利用される。
Hereinafter, returning to FIG.
The switching status information 164 and 264 is information indicating whether or not the buffer set switching processing is being executed. The switching state information 164 is used when the CM 110 is in an active state, and the switching state information 264 is used when the CM 210 is in an active state.

格納バッファセット情報165,265は、現在格納予約対象となっているバッファセットを示す情報である。「格納予約」とは、バッファの分割領域に格納すべきライトデータを示すライト制御情報を、その分割領域に対応する、バッファ管理テーブルの制御情報領域に登録することを指す。格納バッファセット情報165,265が示すバッファセットは、それぞれバッファ150,250に含まれる分割領域に対応付けられている。なお、CM110のバッファ150を例に示すと、本実施の形態では、格納予約対象となるバッファセットは、分割領域(0000),(0001),(0002),(0003),(0000),・・・の順で切り替えられる。   The storage buffer set information 165 and 265 is information indicating a buffer set currently targeted for storage reservation. “Storage reservation” refers to registering write control information indicating write data to be stored in a divided area of the buffer in the control information area of the buffer management table corresponding to the divided area. The buffer sets indicated by the storage buffer set information 165 and 265 are associated with the divided areas included in the buffers 150 and 250, respectively. For example, in this embodiment, the buffer set to be reserved for storage is divided into areas (0000), (0001), (0002), (0003), (0000),.・ It can be switched in the order.

切り替え待ちキュー166,266は、切り替え処理の実行中にホスト装置400からライト要求を受信した場合に、切り替え処理が完了するまでの間、そのライト要求を示すライト制御情報を一時的に保持するためのFIFO(First In First Out)方式のキューである。切り替え待ちキュー166は、CM110がアクティブ状態の場合に利用され、切り替え待ちキュー266は、CM210がアクティブ状態の場合に利用される。   The switching wait queues 166 and 266 temporarily hold write control information indicating the write request until the switching process is completed when a write request is received from the host device 400 during the switching process. This is a FIFO (First In First Out) type queue. The switching waiting queue 166 is used when the CM 110 is in an active state, and the switching waiting queue 266 is used when the CM 210 is in an active state.

格納完了待ちキュー167,267は、ライト制御情報を一時的に保持するキューである。格納完了待ちキュー167,267には、ホスト装置400からライト要求を受信したとき、書き込み先領域と重複する領域に対して以前の世代でライトが要求され、かつバッファへの格納が済んでないライトデータがある場合に、格納が完了するまで受信したライト要求を示すライト制御情報を一時的に保持する。格納完了待ちキュー167は、CM110がアクティブ状態の場合に利用され、格納完了待ちキュー267は、CM210がアクティブ状態の場合に利用される。   The storage completion waiting queues 167 and 267 are queues that temporarily hold the write control information. In the storage completion waiting queues 167 and 267, when a write request is received from the host device 400, write data is requested for an area overlapping the write destination area in the previous generation and has not yet been stored in the buffer. If there is, the write control information indicating the received write request is temporarily held until the storage is completed. The storage completion waiting queue 167 is used when the CM 110 is in an active state, and the storage completion waiting queue 267 is used when the CM 210 is in an active state.

コピービットマップ268は、フェイルオーバしてCM210がアクティブ状態に遷移したときに、未解放のバッファセットのライトデータをキャッシュ240からCM310に転送するために利用される。コピービットマップ268は、論理ボリューム内のコピー処理単位のブロックごとのビットを有する。ビットに対応するブロックについて転送すべきライトデータがある場合、そのビットに「1」が設定される。このコピービットマップ268を用いることで、フェイルオーバの際にキャッシュ240,340のデータを等価にする場合に、差分データのみをキャッシュ240からCM310に転送できるようになる。   The copy bitmap 268 is used to transfer the write data of the unreleased buffer set from the cache 240 to the CM 310 when the CM 210 transitions to the active state due to failover. The copy bitmap 268 has a bit for each block of the copy processing unit in the logical volume. If there is write data to be transferred for a block corresponding to a bit, “1” is set to that bit. By using this copy bitmap 268, only the difference data can be transferred from the cache 240 to the CM 310 when the data in the caches 240 and 340 are made equivalent at the time of failover.

コピービットマップ168は、フェイルバック後にCM110の動作を再開させる際に、コピービットマップ268と同様の用途で使用される。
次に、図9〜図12を用いて、ストレージ装置100が正常に動作している状態(アクティブ状態)でのコピー処理の概要を説明する。
The copy bitmap 168 is used for the same purpose as the copy bitmap 268 when resuming the operation of the CM 110 after failback.
Next, an overview of copy processing in a state where the storage apparatus 100 is operating normally (active state) will be described with reference to FIGS.

まず、図9は、ホスト装置からのライト要求に応じたライトI/O(Input/Output)処理例を示す図である。
図9に示すように、初期状態では、ホスト装置400はライト要求をCM110に送信する。また、バッファ150の分割領域(0000)およびバッファ250の分割領域(1000)が、格納対象に設定されているとする。すなわち、分割領域(0000),(1000)が、現世代のバッファセットに属している。
First, FIG. 9 is a diagram illustrating an example of a write I / O (Input / Output) process in response to a write request from the host device.
As shown in FIG. 9, in the initial state, the host device 400 transmits a write request to the CM 110. Further, it is assumed that the divided area (0000) of the buffer 150 and the divided area (1000) of the buffer 250 are set as storage targets. That is, the divided areas (0000) and (1000) belong to the current generation buffer set.

CM110は、ホスト装置400からライト要求およびライトデータを受信すると(ステップS11a)、ライトデータをキャッシュ140に格納するとともに、ライトデータをCM210に送信する(ステップS11b)。送信されたライトデータは、CM210のキャッシュ240に格納される。   When the CM 110 receives a write request and write data from the host device 400 (step S11a), the CM 110 stores the write data in the cache 140 and transmits the write data to the CM 210 (step S11b). The transmitted write data is stored in the cache 240 of the CM 210.

また、CM110は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル163の制御情報領域のうち、分割領域(0000)に対応する制御情報領域に登録する(ステップS12a)。このとき、ライト制御情報には「未格納」を示す格納状態情報が付加される。CM220は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル263の制御情報領域のうち、分割領域(1000)に対応する制御情報領域に登録する(ステップS12b)。   Further, the CM 110 registers the write control information indicating the write data write destination in the control information area corresponding to the divided area (0000) in the control information area of the buffer management table 163 (step S12a). At this time, storage state information indicating “not stored” is added to the write control information. The CM 220 registers the write control information indicating the write data write destination in the control information area corresponding to the divided area (1000) in the control information area of the buffer management table 263 (step S12b).

以上の処理が完了すると、CM110は、ホスト装置400にライト完了通知を送信する。このようにしてCM110とCM210との間での同期コピーが実現され、キャッシュ140,240にそれぞれ書き込まれたデータは常に等価となる。これとともに、CM110,210において、バッファ管理テーブルへのライト制御情報の登録、すなわちバッファ格納のための格納予約が行われる。   When the above processing is completed, the CM 110 transmits a write completion notification to the host device 400. In this way, synchronous copying between the CM 110 and the CM 210 is realized, and the data written in the caches 140 and 240 are always equivalent. At the same time, the CMs 110 and 210 register write control information in the buffer management table, that is, reserve storage for buffer storage.

CM110では、キャッシュ140へのライトデータの書き込みとは非同期のタイミングで、次のような処理が実行される。CM110は、非同期コピーセッションの処理として、ステップS12aで登録したライト制御情報に基づいて、キャッシュ140に書き込まれたライトデータをバッファ150の分割領域(0000)に格納(コピー)する(ステップS13)。格納が完了すると、CM110は、ライト制御情報に付加された格納状態情報を「格納済み」に更新する。このように、バッファ150への格納処理がキャッシュ140への書き込み処理とは非同期で実行されることで、ホスト装置400からのライト要求に対する応答時間を短縮できる。   In the CM 110, the following processing is executed at a timing asynchronous with the writing of the write data to the cache 140. As processing of the asynchronous copy session, the CM 110 stores (copies) the write data written in the cache 140 in the divided area (0000) of the buffer 150 based on the write control information registered in Step S12a (Step S13). When the storage is completed, the CM 110 updates the storage state information added to the write control information to “stored”. As described above, the storage process in the buffer 150 is executed asynchronously with the write process in the cache 140, so that the response time to the write request from the host apparatus 400 can be shortened.

一方、CM210では、バッファ250へのライトデータの格納は行われない。すなわち、CM210がスタンバイの状態では、バッファ250は使用されず、バッファ250の領域をCM210のRAMに確保しておく必要がない。   On the other hand, the CM 210 does not store write data in the buffer 250. That is, when the CM 210 is in a standby state, the buffer 250 is not used, and it is not necessary to reserve the buffer 250 area in the RAM of the CM 210.

なお、図示しないが、ホスト装置400はCM110aに対してもライト要求を送信できる。このライト要求に応じて、CM110a,210aは、それぞれCM110,210と同様の処理を実行する。   Although not shown, the host device 400 can also send a write request to the CM 110a. In response to this write request, the CMs 110a and 210a execute the same processing as the CMs 110 and 210, respectively.

図10は、バッファセットの切り替え処理例を示す図である。
図9の処理が継続されると、バッファ150の分割領域(0000)に格納すべきライトデータが増加していく。そして、CM110は、ホスト装置400からデータのライト要求を受信したとき(ステップS21)に、分割領域(0000)に空き領域がなく、そのデータを格納できないと判定したとする。なお、この判定は、バッファ管理テーブル163の分割領域(0000)に対応する制御情報領域に登録されたライト制御情報に基づいて行われる。
FIG. 10 is a diagram illustrating an example of buffer set switching processing.
When the process of FIG. 9 is continued, the write data to be stored in the divided area (0000) of the buffer 150 increases. When the CM 110 receives a data write request from the host device 400 (step S21), the CM 110 determines that there is no free area in the divided area (0000) and the data cannot be stored. This determination is made based on the write control information registered in the control information area corresponding to the divided area (0000) of the buffer management table 163.

このとき、CM110は、CM210に対してバッファセットの切り替えを通知する(ステップS22)。これにより、これ以後にホスト装置400から受信したライトデータの格納先となる分割領域が、CM110とCM210とで同期して切り替えられる。換言すると、バッファセットの世代がCM110とCM210とで同期して切り替えられる。   At this time, the CM 110 notifies the CM 210 of buffer set switching (step S22). As a result, the divided area that becomes the storage destination of the write data received from the host apparatus 400 thereafter is switched between the CM 110 and the CM 210 in synchronization. In other words, the buffer set generation is switched between the CM 110 and the CM 210 in synchronization.

切り替え通知の後、ステップS21で受信されたライトデータは、キャッシュ140に格納されるとともに、CM210に送信されてキャッシュ240に格納される(ステップS23)。また、切り替え前とは異なり、CM110は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル163の制御情報領域のうち、分割領域(0001)に対応する制御情報領域に登録する(ステップS24a)。このとき、ライト制御情報には「未格納」を示す格納状態情報が付加される。また、CM220は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル263の制御情報領域のうち、分割領域(1001)に対応する制御情報領域に登録する(ステップS24b)。以上の処理が完了すると、CM110は、ホスト装置400にライト完了通知を送信する。   After the switching notification, the write data received in step S21 is stored in the cache 140, transmitted to the CM 210, and stored in the cache 240 (step S23). Unlike before switching, the CM 110 registers the write control information indicating the write data write destination in the control information area corresponding to the divided area (0001) in the control information area of the buffer management table 163 (step S110). S24a). At this time, storage state information indicating “not stored” is added to the write control information. Further, the CM 220 registers the write control information indicating the write data write destination in the control information area corresponding to the divided area (1001) in the control information area of the buffer management table 263 (step S24b). When the above processing is completed, the CM 110 transmits a write completion notification to the host device 400.

また、CM110は、上記とは非同期のタイミングで、ステップS24aで登録したライト制御情報に基づいて、キャッシュ140に書き込まれたライトデータをバッファ150の分割領域(0001)に格納(コピー)する(ステップS25)。格納が完了すると、CM110は、ライト制御情報に付加された格納状態情報を「格納済み」に更新する。   Further, the CM 110 stores (copies) the write data written in the cache 140 in the divided area (0001) of the buffer 150 based on the write control information registered in step S24a at a timing asynchronous with the above (step). S25). When the storage is completed, the CM 110 updates the storage state information added to the write control information to “stored”.

このようにして、ライトデータの格納予約先となる分割領域が切り替えられる。また、バッファセットの切り替え通知はCM110a,210aにも通知され、CM110a,210aでもデータの格納予約先となる分割領域が切り替えられる。これにより、データの格納予約先のバッファセットの世代が、ストレージ装置100,200との間で同期して切り替えられる。   In this way, the divided area that is the storage reservation destination of the write data is switched. Further, the notification of switching of the buffer set is also notified to the CMs 110a and 210a, and the divided areas as the data storage reservation destinations are also switched in the CMs 110a and 210a. Thereby, the generation of the buffer set of the data storage reservation destination is switched between the storage apparatuses 100 and 200 in synchronization.

なお、図10の処理において、CM110がホスト装置400からのライトデータをキャッシュ140に格納する際に、そのライトデータと書き込み先が重複する、以前の世代における古いライトデータについて、バッファ150への格納が済んでない場合がある。この場合、CM110は、新たなライトデータのキャッシュ140への格納を保留して、そのライトデータを示すライト制御情報を格納完了待ちキュー167に登録する。これにより、新たなライトデータによるライトI/O処理は待ち状態となる。その後、古いライトデータのバッファ150への格納が完了すると、CM110は、格納完了待ちキュー167からライト制御情報を読み出して、そのライト制御情報に基づいてライトデータをキャッシュ140に格納し、ライト制御情報をバッファ管理テーブル163の制御情報領域に登録する。このような処理により、世代間でライトデータの書き込みの順序性を正確に保つことができる。   In the processing of FIG. 10, when the CM 110 stores the write data from the host device 400 in the cache 140, the old write data in the previous generation whose write data and write destination overlap are stored in the buffer 150. May not be completed. In this case, the CM 110 suspends storage of new write data in the cache 140 and registers the write control information indicating the write data in the storage completion waiting queue 167. As a result, the write I / O processing with the new write data enters a waiting state. Thereafter, when the storage of the old write data in the buffer 150 is completed, the CM 110 reads the write control information from the storage completion waiting queue 167, stores the write data in the cache 140 based on the write control information, and writes the write control information. Are registered in the control information area of the buffer management table 163. By such processing, the order of writing of write data can be accurately maintained between generations.

一方、前世代のバッファセットについては、次の図11に示す処理が実行される。
図11は、ライトデータの転送およびバッファセットの展開処理例を示す図である。
CM110は、切り替えの発生前までにキャッシュ140に書き込まれたすべてのデータがバッファ150の分割領域(0000)に格納されると、分割領域(0000)内のデータをCM310に転送する(ステップS31)。すなわち、CM110は、分割領域単位でデータをまとめてCM310に転送する。このとき、CM110は、バッファ350における格納先の分割領域のID「2000」を、ライトデータとともに転送する。CM310は、受信したライトデータをバッファ350の分割領域(2000)に一時的に格納するとともに、そのライトデータを示すライト制御情報を、バッファ管理テーブル363における分割領域(2000)に対応する制御情報領域に登録する。これらの処理が完了すると、CM310は、分割領域(2000)に格納されたライトデータをキャッシュ340に書き込む(ステップS32)。すなわち、バッファ350内のライトデータがキャッシュ340に展開される。
On the other hand, for the previous generation buffer set, the following processing shown in FIG. 11 is executed.
FIG. 11 is a diagram illustrating an example of a write data transfer and buffer set expansion process.
When all the data written in the cache 140 before the occurrence of switching is stored in the divided area (0000) of the buffer 150, the CM 110 transfers the data in the divided area (0000) to the CM 310 (step S31). . That is, the CM 110 collectively transfers the data in units of divided areas to the CM 310. At this time, the CM 110 transfers the ID “2000” of the storage area in the buffer 350 together with the write data. The CM 310 temporarily stores the received write data in the divided area (2000) of the buffer 350, and stores the write control information indicating the write data in the control information area corresponding to the divided area (2000) in the buffer management table 363. Register with. When these processes are completed, the CM 310 writes the write data stored in the divided area (2000) into the cache 340 (step S32). That is, the write data in the buffer 350 is expanded in the cache 340.

なお、実際には、CM110とCM310との間だけでなく、CM110aとCM310aとの間でも、上記の処理が実行される。すなわち、CM110aのバッファからライトデータが転送され、CM310aのバッファに一旦格納された後、CM310aのキャッシュに展開される。   Actually, the above processing is executed not only between the CM 110 and the CM 310 but also between the CM 110a and the CM 310a. That is, the write data is transferred from the buffer of the CM 110a, temporarily stored in the buffer of the CM 310a, and then developed in the cache of the CM 310a.

また、上記の転送および展開処理と並行して、CM110によるライトI/O処理が継続される。すなわち、CM110は、ホスト装置400からライト要求およびライトデータを受信すると(ステップS33a)、ライトデータをキャッシュ140に格納するとともに、ライトデータをCM210に送信する(ステップS33b)。送信されたライトデータは、CM210のキャッシュ240に格納される。   Further, the write I / O processing by the CM 110 is continued in parallel with the above transfer and expansion processing. That is, when the CM 110 receives a write request and write data from the host device 400 (step S33a), the CM 110 stores the write data in the cache 140 and transmits the write data to the CM 210 (step S33b). The transmitted write data is stored in the cache 240 of the CM 210.

また、CM110は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル163の制御情報領域のうち、分割領域(0001)に対応する制御情報領域に登録する(ステップS34a)。一方、CM210は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル263の制御情報領域のうち、分割領域(1001)に対応する制御情報領域に登録する(ステップS34b)。   Further, the CM 110 registers write control information indicating the write data write destination in the control information area corresponding to the divided area (0001) in the control information area of the buffer management table 163 (step S34a). On the other hand, the CM 210 registers the write control information indicating the write data write destination in the control information area corresponding to the divided area (1001) in the control information area of the buffer management table 263 (step S34b).

以上の処理が完了すると、CM110は、ホスト装置400にライト完了通知を送信する。また、CM110は、その後の非同期のタイミングで、制御情報領域に登録したライト制御情報に基づいて、対応するライトデータをバッファ150の分割領域(0001)に格納する(ステップS35)。   When the above processing is completed, the CM 110 transmits a write completion notification to the host device 400. Further, the CM 110 stores the corresponding write data in the divided area (0001) of the buffer 150 based on the write control information registered in the control information area at an asynchronous timing thereafter (step S35).

図12は、バッファセットの解放処理例を示す図である。分割領域(2000)に格納された全ライトデータについて図11のステップS32に示した展開処理が完了すると、図12に示すような処理が実行される。   FIG. 12 is a diagram illustrating an example of buffer set release processing. When the development process shown in step S32 of FIG. 11 is completed for all the write data stored in the divided area (2000), the process shown in FIG. 12 is executed.

CM310は、バッファセットの解放をCM110に通知する(ステップS41a)。通知を受けたCM310は、バッファセットの解放をCM210に通知する(ステップS41b)。CM310は、分割領域(2000)を解放し(ステップS42a)、解放通知を受けたCM110,210も、それぞれ分割領域(0000),(1000)を解放する(ステップS42b,42c)。分割領域の解放とは、分割領域を未使用の空き領域に戻すことである。上記処理により、同じ世代のバッファセットに属する分割領域(0000),(1000),(2000)が同期して解放される。   The CM 310 notifies the CM 110 of the release of the buffer set (Step S41a). The CM 310 that has received the notification notifies the CM 210 of the release of the buffer set (step S41b). The CM 310 releases the divided area (2000) (step S42a), and the CMs 110 and 210 that have received the release notification also release the divided areas (0000) and (1000), respectively (steps S42b and 42c). The release of the divided area is to return the divided area to an unused empty area. Through the above processing, the divided areas (0000), (1000), and (2000) belonging to the same generation buffer set are released in synchronization.

なお、実際の処理では、CM310だけでなく、CM310aでもキャッシュへの展開が完了した場合に、バッファセットの解放が通知される。解放通知は、CM310からCM310a、CM110からCM110a、CM210からCM210aにそれぞれ送信され、これによってCM310a,110a,210aでも同じ世代のバッファセットに属する分割領域が解放される。   In actual processing, not only the CM 310 but also the CM 310a notifies the release of the buffer set when the expansion into the cache is completed. The release notification is transmitted from the CM 310 to the CM 310a, the CM 110 to the CM 110a, and the CM 210 to the CM 210a, respectively, thereby releasing the divided areas belonging to the same generation buffer set in the CMs 310a, 110a, and 210a.

以上の図9〜図12に示した処理により、CM110とCM210との間で同期コピーが実行されるとともに、CM110とCM310との間で非同期コピーが実行される。また、CM110,210,310の間でバッファセットの解放が同期して行われる。そして、CM210では、バッファセットが解放されるまでの間、そのバッファセットの世代においてキャッシュ240に書き込まれたライトデータを示すライト制御情報が、バッファ管理テーブル263に保持される。このようにしてバッファ管理テーブル263に保持されたライト制御情報は、CM110からCM310へのデータ転送中にフェイルオーバが発生した場合に、CM210とCM310との間でキャッシュのデータの整合をとるために使用される。   9 to 12, the synchronous copy is executed between the CM 110 and the CM 210, and the asynchronous copy is executed between the CM 110 and the CM 310. Further, the release of the buffer set is performed synchronously between the CMs 110, 210, and 310. In the CM 210, until the buffer set is released, write control information indicating the write data written in the cache 240 in the generation of the buffer set is held in the buffer management table 263. The write control information held in the buffer management table 263 in this way is used for matching cache data between the CM 210 and the CM 310 when a failover occurs during data transfer from the CM 110 to the CM 310. Is done.

図13は、フェイルオーバが発生した場合の処理例を示す図である。図13では、図11のようにバッファ150の分割領域(0000)からバッファ350の分割領域(2000)へデータが転送されている途中で、ストレージ装置100の動作が停止した場合の処理例を示す。   FIG. 13 is a diagram illustrating a processing example when a failover occurs. FIG. 13 shows a processing example when the operation of the storage apparatus 100 stops while data is being transferred from the divided area (0000) of the buffer 150 to the divided area (2000) of the buffer 350 as shown in FIG. .

ストレージ装置100の動作が停止すると、ホスト装置400が備えるアクセス先制御機能により、ホスト装置400からの書き込みの要求先は、ストレージ装置100からストレージ装置200へ自動的に変更される。このとき、ホスト装置400が認識する論理的な書き込み先ボリュームが変更されることなく、物理的な書き込み先が変更される。   When the operation of the storage apparatus 100 stops, the write request destination from the host apparatus 400 is automatically changed from the storage apparatus 100 to the storage apparatus 200 by the access destination control function provided in the host apparatus 400. At this time, the physical write destination is changed without changing the logical write destination volume recognized by the host apparatus 400.

また、ストレージ装置200は、ストレージ装置300との間に設定されていた非同期コピーセッションのセッションステータスを「コピーイング」に変更し、ホスト装置400からのライト要求の受信を開始する。このとき、ライト要求に応じた処理と並行して、前世代のバッファセット、すなわち分割領域(1000),(2000)に関する次のような処理が、バックグラウンドで実行される。   In addition, the storage apparatus 200 changes the session status of the asynchronous copy session set with the storage apparatus 300 to “copying”, and starts receiving a write request from the host apparatus 400. At this time, in parallel with the processing according to the write request, the following processing relating to the previous generation buffer set, that is, the divided areas (1000) and (2000) is executed in the background.

ストレージ装置100の動作が停止した時点では、バッファ管理テーブル263における分割領域(1000)に対応する制御情報領域に、ライト制御情報が登録されている。これらのライト制御情報に対応するライトデータは、CM110からCM310に対する転送が完了していない可能性があるデータである。そこで、CM210は、これらのライト制御情報に対応するライトデータをキャッシュ240から読み出して、CM310に転送する(ステップS51)。   When the operation of the storage apparatus 100 is stopped, the write control information is registered in the control information area corresponding to the divided area (1000) in the buffer management table 263. The write data corresponding to the write control information is data that may not be transferred from the CM 110 to the CM 310. Therefore, the CM 210 reads the write data corresponding to the write control information from the cache 240 and transfers it to the CM 310 (step S51).

CM310は、転送されたライトデータをキャッシュ340に格納する。キャッシュ340への格納が完了すると、バッファセットの解放が通知され、分割領域(1000),(2000)が未使用の空き領域に戻される。   The CM 310 stores the transferred write data in the cache 340. When the storage in the cache 340 is completed, the release of the buffer set is notified, and the divided areas (1000) and (2000) are returned to the unused free areas.

このような処理により、フェイルオーバの前に分割領域(0000)から分割領域(2000)へのデータ転送が未完了であっても、転送が未完了の可能性があるライトデータを示すライト制御情報がCM210のバッファ管理テーブル263に保持されている。このため、CM210は、保持されたライト制御情報に基づいて、転送が未完了の可能性があるライトデータをキャッシュ240から読み出し、CM310に転送することができる。これによって、キャッシュ240,340の各データを等価にすることができる。   By such processing, even if data transfer from the divided area (0000) to the divided area (2000) is not completed before failover, the write control information indicating the write data that may not be transferred is obtained. It is held in the buffer management table 263 of the CM 210. Therefore, the CM 210 can read write data that may not be transferred from the cache 240 and transfer it to the CM 310 based on the held write control information. Thereby, the data in the caches 240 and 340 can be made equivalent.

また、CM210は、保持されたライト制御情報に基づいて、キャッシュ240に格納されているライトデータのうち、CM310に転送されていない可能性のある差分データだけを抽出して、CM310に転送することができる。これにより、キャッシュ240,340の各データを等価にするためにCM210からCM310に転送されるデータ量を抑制でき、キャッシュ240,340の各データが等価になるまでの時間を短縮できる。   Also, the CM 210 extracts only difference data that may not be transferred to the CM 310 from the write data stored in the cache 240 based on the held write control information, and transfers it to the CM 310. Can do. Thus, the amount of data transferred from the CM 210 to the CM 310 to equalize the data in the caches 240 and 340 can be suppressed, and the time until the data in the caches 240 and 340 become equivalent can be shortened.

一方、このような処理と並行して、CM210は、ホスト装置400からのライト要求に応じた処理を実行する。CM210は、ホスト装置400からライト要求を受け付けると、ホスト装置400から受信したライトデータをキャッシュ240に書き込み、ホスト装置400に書き込み完了通知を送信する(ステップS52)。また、CM210はその後、キャッシュ240に書き込んだライトデータをCM310に転送する(ステップS53)。CM310は、転送されたライトデータをキャッシュ340に格納する。   On the other hand, in parallel with such processing, the CM 210 executes processing in response to a write request from the host device 400. When the CM 210 receives a write request from the host device 400, the CM 210 writes the write data received from the host device 400 into the cache 240 and transmits a write completion notification to the host device 400 (step S52). The CM 210 then transfers the write data written in the cache 240 to the CM 310 (step S53). The CM 310 stores the transferred write data in the cache 340.

このように、フェイルオーバ時点でCM110からCM310への転送が未完了の可能性があるライトデータのCM310への転送処理と、ホスト装置400からのライト要求に応じた処理とが、並列に実行される。これにより、ストレージ装置100の動作が停止したとき、CM210は、ホスト装置400からのライト要求に応じたアクセス制御を短時間で引き継ぐことができるとともに、そのバックグラウンドで、前世代のバッファセットに関する残りの処理を実行できる。   As described above, the transfer processing of the write data that may not be completely transferred from the CM 110 to the CM 310 at the time of the failover and the processing corresponding to the write request from the host device 400 are executed in parallel. . As a result, when the operation of the storage apparatus 100 stops, the CM 210 can take over the access control according to the write request from the host apparatus 400 in a short time, and in the background, the remaining of the buffer set of the previous generation Can be executed.

なお、実際の処理では、上記の処理はコピービットマップ268を用いて実行される。フェイルオーバが発生すると、CM210は、コピービットマップ268のビットのうち、バッファ管理テーブル263の制御情報領域に登録されているライト制御情報に対応するビットを「1」にする。これにより、キャッシュ240からCM310にコピーすべきライトデータの位置がコピービットマップ268に記録される。CM210は、キャッシュ240のライトデータのうち、コピービットマップ268においてビット値が「1」とされたビットが示すライトデータを、キャッシュ240から読み出してCM310に転送する(ステップS51の処理に対応)。CM210は、コピービットマップ268の全ビットが「0」になるまで、コピービットマップ268に基づくデータ転送を実行する。   In the actual process, the above process is executed using the copy bitmap 268. When a failover occurs, the CM 210 sets the bit corresponding to the write control information registered in the control information area of the buffer management table 263 among the bits of the copy bitmap 268 to “1”. As a result, the position of the write data to be copied from the cache 240 to the CM 310 is recorded in the copy bitmap 268. The CM 210 reads the write data indicated by the bit whose bit value is “1” in the copy bitmap 268 from the write data in the cache 240 from the cache 240 and transfers it to the CM 310 (corresponding to the processing in step S51). The CM 210 executes data transfer based on the copy bitmap 268 until all the bits of the copy bitmap 268 become “0”.

一方、CM210は、ホスト装置400からライト要求を受信し、ライトデータをキャッシュ240に書き込んだとき、コピービットマップ268のビットのうち、ライトデータの書き込み先に対応するビットも「1」にする。上記のように、CM210は、コピービットマップ268の全ビットが「0」になるまでコピービットマップ268に基づくデータ転送を実行する。このため、ライト要求に応じてキャッシュ240に書き込まれたライトデータも、コピービットマップ268に基づいてキャッシュ240からCM310に転送される。   On the other hand, when the CM 210 receives a write request from the host device 400 and writes the write data to the cache 240, the bit corresponding to the write data write destination among the bits of the copy bitmap 268 is also set to “1”. As described above, the CM 210 executes data transfer based on the copy bitmap 268 until all the bits of the copy bitmap 268 become “0”. Therefore, the write data written to the cache 240 in response to the write request is also transferred from the cache 240 to the CM 310 based on the copy bitmap 268.

このように、実際には、コピービットマップ268に基づくCM310へのデータ転送処理と、ホスト装置400からのライト要求に応じたライトデータの書き込みおよびコピービットマップ268の更新の処理とが、並列に実行される。これにより、ストレージ装置100の動作が停止したとき、CM210は、ホスト装置400からのライト要求に応じたアクセス制御を時間を空けずに引き継ぐことができる。   As described above, actually, the data transfer process to the CM 310 based on the copy bitmap 268 and the write data write process and the update process of the copy bitmap 268 in response to the write request from the host apparatus 400 are performed in parallel. Executed. As a result, when the operation of the storage apparatus 100 stops, the CM 210 can take over the access control according to the write request from the host apparatus 400 without leaving time.

そして、コピービットマップ268の全ビットが「0」になると、CM210は、CM310との間の非同期コピーセッションのセッションステータスを「アクティブ」にする。これにより、CM110と同等の非同期コピーがCM210で再開される。すなわち、CM210は、ホスト装置400からのライト要求を受け付けつつ、書き込みの順序性が保証された非同期コピーを実行する。   When all the bits of the copy bitmap 268 become “0”, the CM 210 sets the session status of the asynchronous copy session with the CM 310 to “active”. As a result, the asynchronous copy equivalent to the CM 110 is resumed in the CM 210. That is, the CM 210 executes an asynchronous copy in which the order of writing is guaranteed while receiving a write request from the host device 400.

図13の例では、CM210は、セッションステータスが「アクティブ」になった後にライト要求を受信すると、ライトデータをキャッシュ240に書き込む。これとともに、CM210は、ライトデータの書き込み先を示すライト制御情報を、バッファ管理テーブル263の制御情報領域のうち、分割領域(1001)に対応する制御情報領域に登録する。以上の処理が完了すると、CM210は、ホスト装置400にライト完了通知を送信する。   In the example of FIG. 13, when the CM 210 receives a write request after the session status becomes “active”, the CM 210 writes the write data to the cache 240. At the same time, the CM 210 registers write control information indicating a write data write destination in a control information area corresponding to the divided area (1001) in the control information area of the buffer management table 263. When the above processing is completed, the CM 210 transmits a write completion notification to the host device 400.

また、その後の非同期のタイミングにおいて、CM210は、制御情報領域に登録したライト制御情報に基づいて、キャッシュ240に書き込まれたライトデータをバッファ250の分割領域(1001)に格納(コピー)する。そして、バッファセットの切り替えが行われた後、CM210は、分割領域(1001)に格納されたライトデータをCM310に転送する。転送されたライトデータは、バッファ350の分割領域(2001)を介してキャッシュ340に格納される。   Further, at the subsequent asynchronous timing, the CM 210 stores (copies) the write data written in the cache 240 in the divided area (1001) of the buffer 250 based on the write control information registered in the control information area. After the buffer set is switched, the CM 210 transfers the write data stored in the divided area (1001) to the CM 310. The transferred write data is stored in the cache 340 via the divided area (2001) of the buffer 350.

このような処理により、セッションステータスが「アクティブ」のとき、CM210は、フェイルオーバ前のCM110と同等の非同期コピーを実行できる。
なお、CM210aとCM310aとの間でも、上記と同様の処理が実行される。
By such processing, when the session status is “active”, the CM 210 can execute an asynchronous copy equivalent to the CM 110 before failover.
Note that the same processing as described above is executed between the CM 210a and the CM 310a.

ところで、特許文献1に記載された処理によれば、CM110がアクティブ状態である間に、CM210とCM310との通信が発生する。例えば、特許文献1では、CM110でバッファ150に対してライトデータが格納される際(例えば、図9のステップS13に対応)に、CM210でもバッファ250に対してライトデータが格納される。また、CM110から転送されたライトデータがCM310のバッファ350に格納されたとき、CM210からCM310に対してライト制御情報が送信される。CM310では、受信したライト制御情報を用いて、バッファ350に格納されたライトデータの照合が行われる。この照合によりCM110,210,310の同世代のバッファセットのデータ一致が確認されると、ライトデータがCM310のキャッシュ340に展開され、バッファセットの解放が通知される。この解放通知は、CM310からCM110に対してだけでなく、CM310からCM210へも直接送信される。   By the way, according to the process described in Patent Document 1, communication between the CM 210 and the CM 310 occurs while the CM 110 is in the active state. For example, in Patent Document 1, when write data is stored in the buffer 150 in the CM 110 (for example, corresponding to step S13 in FIG. 9), the write data is also stored in the buffer 250 in the CM 210. When the write data transferred from the CM 110 is stored in the buffer 350 of the CM 310, the write control information is transmitted from the CM 210 to the CM 310. In the CM 310, the received write control information is used to collate the write data stored in the buffer 350. When data matching of the same generation buffer set of the CMs 110, 210, and 310 is confirmed by this collation, the write data is expanded in the cache 340 of the CM 310, and the release of the buffer set is notified. This release notification is transmitted directly from CM 310 to CM 210 as well as from CM 310 to CM 110.

これに対して、図9〜図12に示したように、本実施の形態では、CM110がアクティブ状態である間、CM210とCM310との間の通信は一切行われない。このため、CM110がアクティブの状態におけるCM間の通信量を削減できる。特に、CM310はCM110,210に対して遠隔地に設定される場合が多く、CM110,210とCM310との間の通信路における通信料金が割高になる場合が多い。本実施の形態では、CM210とCM310との間の通信が一切行われなくなることで、必要な通信料金を削減できる。   On the other hand, as shown in FIGS. 9 to 12, in the present embodiment, no communication is performed between the CM 210 and the CM 310 while the CM 110 is in the active state. For this reason, it is possible to reduce the amount of communication between CMs when the CM 110 is active. In particular, the CM 310 is often set at a remote location with respect to the CMs 110 and 210, and the communication charge on the communication path between the CMs 110 and 210 and the CM 310 is often high. In this embodiment, communication between the CM 210 and the CM 310 is not performed at all, so that a necessary communication fee can be reduced.

また、本実施の形態では、CM310においてバッファ350に格納されたライトデータをキャッシュ340に展開する際に、CM210からの送信情報を待つ必要がなく、その送信情報に基づく照合処理も行われない。そのため、バッファ150からバッファ350へのデータ転送を開始してから、キャッシュ340へのデータ展開を行い、バッファセットが解放されるまでの時間を短縮できる。このような転送・展開・解放の処理時間の短縮により、次のような効果も得られる。   Further, in the present embodiment, when the write data stored in the buffer 350 in the CM 310 is expanded in the cache 340, there is no need to wait for transmission information from the CM 210, and collation processing based on the transmission information is not performed. Therefore, it is possible to shorten the time from the start of data transfer from the buffer 150 to the buffer 350 until the data is expanded in the cache 340 and the buffer set is released. By shortening the transfer / development / release processing time, the following effects can be obtained.

図10のようにバッファセットの切り替えが行われる際に、バッファ150に空き分割領域がない場合には、分割領域(0001)が解放されるまで待ち状態となり、切り替え処理は一時停止される。上記のように分割領域(0001)が解放されるまでの時間が短縮されることで、切り替え処理が再開されるまでの時間も短縮される。その結果、切り替えにかかる全体の処理時間を短縮できる。   When the buffer set is switched as shown in FIG. 10, if there is no empty divided area in the buffer 150, the process waits until the divided area (0001) is released, and the switching process is temporarily stopped. As described above, the time until the divided area (0001) is released is shortened, so that the time until the switching process is resumed is also shortened. As a result, the overall processing time required for switching can be shortened.

また、図10のケースのように、ホスト装置400からのライト要求を受信したときに、格納予約対象の分割領域(0000)の空きがないことから切り替えが必要となった場合には、ライト要求に対応するライト制御情報が切り替え待ちキュー166に登録される。そして、切り替えが完了するまでライト要求に応じたライトI/O処理が一時停止される。この場合、上記のように、切り替え処理時間が短縮されることで、ライトI/O処理が再開されるまでの時間も短縮される。その結果、ホスト装置400からのライト要求に対する応答時間を短縮できる。   Also, as shown in the case of FIG. 10, when a write request is received from the host apparatus 400, if there is no space in the storage reservation target divided area (0000), a write request is required. Write control information corresponding to is registered in the switching wait queue 166. Then, the write I / O process according to the write request is suspended until the switching is completed. In this case, as described above, the switching processing time is shortened, so that the time until the write I / O processing is restarted is also shortened. As a result, the response time for the write request from the host device 400 can be shortened.

次に、ストレージシステムにおける処理手順をシーケンス図およびフローチャートを用いて説明する。
まず、図14〜図17を用いて、ストレージ装置100,200,300が正常に動作しており、ストレージ装置100がアクティブ状態、ストレージ装置200がスタンバイ状態である場合の処理を説明する。
Next, a processing procedure in the storage system will be described with reference to a sequence diagram and a flowchart.
First, processing when the storage apparatuses 100, 200, and 300 are operating normally, the storage apparatus 100 is in the active state, and the storage apparatus 200 is in the standby state will be described with reference to FIGS.

図14は、ライトI/O処理の手順を示すシーケンス図の例である。
CM110の制御部130は、ホスト装置400からライト要求およびライトデータを受信する(ステップS101)。制御部130は、切り替え状態情報164を参照して、現在バッファセットの切り替え処理を実行中かを判定する(ステップS102)。ステップS102で実行中であると判定された場合、制御部130は、ライト要求を示すライト制御情報を切り替え待ちキュー166に登録し(ステップS103)、ライトI/O処理を終了する。このとき、ライトデータはRAM112に一時的に保持される。後述するように、切り替え処理が完了すると、切り替え待ちキュー166からライト制御情報が取り出される。そして、このライト制御情報および対応するライトデータについて、ステップS102以降の処理が実行される(図15のステップS130に対応)。
FIG. 14 is an example of a sequence diagram showing the procedure of the write I / O process.
The control unit 130 of the CM 110 receives a write request and write data from the host device 400 (step S101). The control unit 130 refers to the switching state information 164 and determines whether the buffer set switching process is currently being executed (step S102). If it is determined in step S102 that the process is being executed, the control unit 130 registers the write control information indicating the write request in the switching wait queue 166 (step S103), and ends the write I / O process. At this time, the write data is temporarily held in the RAM 112. As will be described later, when the switching process is completed, the write control information is extracted from the switching waiting queue 166. Then, the processing after step S102 is executed for this write control information and the corresponding write data (corresponding to step S130 in FIG. 15).

一方、ステップS102で切り替え処理が実行中でないと判定された場合、制御部130は、バッファ150における格納先の分割領域(ここでは例として、分割領域(0001)とする)に、受信したライトデータを格納できるだけの空き領域があるかを判定する(ステップS104)。この判定では、制御部130は、バッファ管理テーブル163における分割領域(0001)に対応する制御情報領域に登録されたライト制御情報に基づいて、対応するライトデータの合計サイズを算出する。制御部130は、算出された合計サイズに受信したライトデータのサイズを加算した値が、分割領域のサイズより大きい場合に、空き領域がないと判定する。   On the other hand, if it is determined in step S102 that the switching process is not being executed, the control unit 130 receives the received write data in the storage area in the buffer 150 (in this example, the division area (0001)). It is determined whether there is enough free space to store (step S104). In this determination, the control unit 130 calculates the total size of the corresponding write data based on the write control information registered in the control information area corresponding to the divided area (0001) in the buffer management table 163. When the value obtained by adding the size of the received write data to the calculated total size is larger than the size of the divided area, the control unit 130 determines that there is no free area.

ステップS104で空き領域がないと判定された場合、制御部130は、ライト要求を示すライト制御情報を切り替え待ちキュー166に登録し、バッファセットの切り替え処理を起動する(ステップS105)。これにより、図15に示す切り替え処理が開始される。なお、ライトデータはRAM112に一時的に保持される。また、上記と同様に、切り替え処理が完了すると、切り替え待ちキュー166からライト制御情報が取り出され、このライト制御情報および対応するライトデータについて、ステップS102以降の処理が実行される(図15のステップS130に対応)。   When it is determined in step S104 that there is no free space, the control unit 130 registers write control information indicating a write request in the switching wait queue 166, and starts buffer set switching processing (step S105). Thereby, the switching process shown in FIG. 15 is started. The write data is temporarily stored in the RAM 112. Similarly to the above, when the switching process is completed, the write control information is taken out from the switching waiting queue 166, and the processes after step S102 are executed for this write control information and the corresponding write data (step of FIG. 15). Corresponding to S130).

一方、ステップS104で空き領域があると判定された場合、制御部130は、ライトデータの書き込み先領域と重複する領域に対して以前の世代でライトが要求され、かつバッファ150に対して未格納のライトデータがあるかを判定する(ステップS106)。この判定では、制御部130は、バッファ管理テーブル163の制御情報領域のうち、現在より前の世代であり、かつ解放されていないバッファセットに対応する制御情報領域を参照する。制御部130は、参照した制御情報領域に、書き込み先領域がステップS101で受信した新たなライトデータの書き込み先と重複し、かつ、格納状態情報が「未格納」を示すライト制御情報が存在する場合に、ステップS106の条件を満たすと判定する。   On the other hand, if it is determined in step S104 that there is a free area, the control unit 130 requests the previous generation to write to an area that overlaps the write destination area of the write data and does not store in the buffer 150. It is determined whether there is any write data (step S106). In this determination, the control unit 130 refers to a control information area corresponding to a buffer set that is a generation before the present and is not released, among the control information areas of the buffer management table 163. The control unit 130 includes write control information in which the write destination area overlaps with the write destination of the new write data received in step S101 and the storage status information indicates “unstored” in the referenced control information area. In this case, it is determined that the condition of step S106 is satisfied.

この条件を満たす場合、新たなライトデータをキャッシュ140に格納してしまうと、ステップS106の条件を満たす古いライトデータの少なくとも一部が上書きされてしまう。このため、古いライトデータを以前の世代に属する分割領域に正しく残せなくなり、書き込みの順序性を維持できなくなる。そこで、ステップS106の条件を満たす場合、制御部130は、ライト要求を示すライト制御情報を格納完了待ちキュー167に登録し(ステップS107)、ライトI/O処理を終了する。このとき、新たなライトデータはRAM112に一時的に保持される。後述するように、上記の古いライトデータがバッファ150の分割領域に格納されると、格納完了待ちキュー167からライト制御情報が取り出される。そして、このライト制御情報および対応するライトデータについて、ステップS102以降の処理が実行される(図16のステップS137に対応)。   When this condition is satisfied, if new write data is stored in the cache 140, at least part of the old write data that satisfies the condition of step S106 is overwritten. For this reason, old write data cannot be correctly left in the divided areas belonging to the previous generation, and the order of writing cannot be maintained. Therefore, when the condition of step S106 is satisfied, the control unit 130 registers the write control information indicating the write request in the storage completion waiting queue 167 (step S107), and ends the write I / O processing. At this time, new write data is temporarily held in the RAM 112. As will be described later, when the old write data is stored in the divided area of the buffer 150, the write control information is extracted from the storage completion waiting queue 167. Then, the processing after step S102 is executed for this write control information and corresponding write data (corresponding to step S137 in FIG. 16).

一方、ステップS106の条件を満たさない場合、制御部130は、同期コピー処理および格納予約処理を実行する。すなわち、制御部130は、受信したライトデータを示すライト制御情報を、バッファ管理テーブル163における分割領域(0001)に対応する制御情報領域に登録する(ステップS108)。また、制御部130は、ライトデータをライト制御情報とともにCM210に送信する(ステップS109)。このとき、例えば、バッファ250における格納先の分割領域(1001)を示す識別情報が、ライトデータに付加されて送信される。あるいは、分割領域の識別情報の代わりに、世代番号やバッファセットの識別番号が付加されてもよい。   On the other hand, when the condition of step S106 is not satisfied, the control unit 130 executes a synchronous copy process and a storage reservation process. That is, the control unit 130 registers the write control information indicating the received write data in the control information area corresponding to the divided area (0001) in the buffer management table 163 (step S108). Further, the control unit 130 transmits the write data together with the write control information to the CM 210 (step S109). At this time, for example, identification information indicating the storage area division area (1001) in the buffer 250 is added to the write data and transmitted. Alternatively, a generation number or a buffer set identification number may be added instead of the divided region identification information.

CM210の制御部230は、受信したライト制御情報を、バッファ管理テーブル263における分割領域(1001)に対応する制御情報領域に登録するとともに、受信したライトデータをキャッシュ240に書き込む(ステップS110)。これらの処理が完了すると、制御部230は、CM110に完了通知を送信する(ステップS111)。   The control unit 230 of the CM 210 registers the received write control information in the control information area corresponding to the divided area (1001) in the buffer management table 263, and writes the received write data in the cache 240 (step S110). When these processes are completed, the control unit 230 transmits a completion notification to the CM 110 (step S111).

CM110の制御部130は、ライトデータをキャッシュ140に書き込む(ステップS112)。そして、制御部130は、ライト完了通知をホスト装置400に送信して、ライト要求に対する応答を行う(ステップS113)。   The control unit 130 of the CM 110 writes the write data to the cache 140 (Step S112). Then, the control unit 130 transmits a write completion notification to the host device 400 and makes a response to the write request (step S113).

図15は、バッファセットの切り替え処理の手順を示すシーケンス図の例である。バッファセットの切り替え条件が満たされると、図15の処理が開始される。切り替え条件が満たされる場合とは、図14のステップS104で空き領域がないと判定された場合か、または、直近の切り替え処理が実行されてから一定時間が経過した場合である。なお、図15の処理は、図14の処理と並列に実行される。   FIG. 15 is an example of a sequence diagram illustrating a procedure of buffer set switching processing. When the buffer set switching condition is satisfied, the processing of FIG. 15 is started. The case where the switching condition is satisfied is a case where it is determined in step S104 in FIG. 14 that there is no free space, or a case where a certain time has elapsed since the most recent switching process was executed. The process of FIG. 15 is executed in parallel with the process of FIG.

CM110の制御部130は、切り替え状態情報164を、切り替え処理中を示すように更新する(ステップS121)。そして、制御部130は、バッファ150内の分割領域の空き状態を確認し、次のような判定を行う(ステップS122)。制御部130は、空きの分割領域(解放された分割領域)が1つもない場合、分割領域の解放完了待ち状態となる(ステップS123)。この場合、制御部130は、一定時間後にステップS121の処理を再度実行する。   The control unit 130 of the CM 110 updates the switching state information 164 to indicate that switching processing is being performed (step S121). And the control part 130 confirms the empty state of the division area in the buffer 150, and performs the following determinations (step S122). If there is no empty divided area (released divided area), the control unit 130 enters a waiting state for releasing the divided area (step S123). In this case, the control unit 130 executes the process of step S121 again after a predetermined time.

ステップS121において、空きの分割領域がある場合、具体的には、次の世代に対応する分割領域が解放されている場合には、制御部130は、バッファセットを切り替える(ステップS124)。具体的には、制御部130は、格納バッファセット情報165を、次の世代のバッファセットを示すように更新する。また、制御部130は、CM210に対してバッファセットの切り替えを通知する(ステップS125)。   In step S121, if there is an empty divided area, specifically, if a divided area corresponding to the next generation is released, the control unit 130 switches the buffer set (step S124). Specifically, the control unit 130 updates the storage buffer set information 165 to indicate the next generation buffer set. Further, the control unit 130 notifies the CM 210 of buffer set switching (step S125).

CM210の制御部230は、バッファセットを切り替える(ステップS126)。具体的には、制御部230は、格納バッファセット情報265を、次の世代のバッファセットを示すように更新する。そして、制御部230は、完了通知をCM110に送信する(ステップS127)。   The control unit 230 of the CM 210 switches the buffer set (step S126). Specifically, the control unit 230 updates the storage buffer set information 265 to indicate the next generation buffer set. Then, the control unit 230 transmits a completion notification to the CM 110 (step S127).

CM110の制御部130は、切り替え状態情報164を、切り替え処理中でないことを示すように更新する(ステップS128)。そして、制御部130は、切り替え待ちキュー166にライト制御情報が登録されているかを判定する(ステップS129)。ライト制御情報が登録されている場合、制御部130は、そのライト制御情報を切り替え待ちキュー166から取り出し、そのライト制御情報について、図14のステップS102からのライトI/O処理を起動する(ステップS130)。これにより、取り出されたライト制御情報についてのライトI/O処理が再開される。なお、切り替え待ちキュー166にライト制御情報が複数登録されている場合、それらを順番に選択してライトI/O処理を起動する。一方、ステップS129でライト制御情報が登録されていないと判定された場合、切り替え処理は終了される。   The control unit 130 of the CM 110 updates the switching state information 164 to indicate that the switching process is not being performed (step S128). Then, the control unit 130 determines whether the write control information is registered in the switching wait queue 166 (step S129). When the write control information is registered, the control unit 130 retrieves the write control information from the switching wait queue 166, and starts the write I / O processing from step S102 of FIG. 14 for the write control information (step S102). S130). Thereby, the write I / O processing for the extracted write control information is resumed. When a plurality of write control information is registered in the switching wait queue 166, the write I / O processing is activated by selecting them sequentially. On the other hand, if it is determined in step S129 that the light control information is not registered, the switching process is terminated.

図16は、バッファ格納処理の手順を示すフローチャートの例である。図15に示した切り替え処理が完了すると、切り替え後のバッファセットについて図16に示すバッファ格納処理が開始される。なお、図16の処理は、図14の処理や、他のバッファセットについての図15の処理と並列に実行される。   FIG. 16 is an example of a flowchart illustrating the procedure of buffer storage processing. When the switching process shown in FIG. 15 is completed, the buffer storage process shown in FIG. 16 is started for the buffer set after the switching. The process of FIG. 16 is executed in parallel with the process of FIG. 14 and the process of FIG. 15 for other buffer sets.

CM110の制御部130は、バッファ管理テーブル163における処理対象のバッファセットに対応する制御情報領域に、ライト制御情報が登録されているかを判定する(ステップS131)。ライト制御情報が登録されていない場合、制御部130は、バッファセットの切り替え処理が実行されたかを判定する(ステップS132)。制御部130は、格納バッファセット情報165が示すバッファセットの世代が、処理対象のバッファセットと一致しない場合に、切り替え処理が実行されたと判定する。この場合、切り替えが行われたバッファセットに対応する制御情報領域に登録されたすべてのライト制御情報を処理済みの状態となるので、バッファ格納処理は完了する。一方、切り替え処理が実行されていない場合、制御部130は、一定時間後にステップS131の処理を実行する。   The control unit 130 of the CM 110 determines whether the write control information is registered in the control information area corresponding to the buffer set to be processed in the buffer management table 163 (step S131). When the write control information is not registered, the control unit 130 determines whether the buffer set switching process has been executed (step S132). The control unit 130 determines that the switching process has been executed when the generation of the buffer set indicated by the storage buffer set information 165 does not match the buffer set to be processed. In this case, since all the write control information registered in the control information area corresponding to the switched buffer set has been processed, the buffer storage process is completed. On the other hand, when the switching process is not executed, the control unit 130 executes the process of step S131 after a predetermined time.

ステップS131でライト制御情報が登録されていた場合、制御部130は、制御情報領域に登録されたライト制御情報のうち最も先に登録されたライト制御情報を選択する(ステップS133)。次に、制御部130は、選択されたライト制御情報が示すライトデータをキャッシュ140から読み出し、バッファ150における処理対象のバッファセットに対応する分割領域に格納(コピー)する(ステップS134)。そして、制御部130は、選択されたライト制御情報に付加された格納状態情報を、格納済みを示すように更新する(ステップS135)。   When the light control information is registered in step S131, the control unit 130 selects the earliest registered light control information among the light control information registered in the control information area (step S133). Next, the control unit 130 reads the write data indicated by the selected write control information from the cache 140 and stores (copies) the write data in the divided area corresponding to the buffer set to be processed in the buffer 150 (step S134). Then, the control unit 130 updates the storage state information added to the selected write control information so as to indicate that it has been stored (step S135).

次に、制御部130は、格納完了待ちキュー167を参照し、書き込み先領域が重複する新たなライトデータを示すライト制御情報が登録されているかを判定する(ステップS136)。この新たなライトデータとは、その書き込み先領域の少なくとも一部が、ステップS133で選択されたライトデータの書き込み先領域と重複するデータである。   Next, the control unit 130 refers to the storage completion waiting queue 167 and determines whether or not write control information indicating new write data with overlapping write destination areas is registered (step S136). The new write data is data in which at least a part of the write destination area overlaps with the write data write destination area selected in step S133.

ステップS136で該当するライト制御情報が登録されている場合、制御部130は、そのライト制御情報を格納完了待ちキュー167から取り出す。そして、制御部130は、取り出したライト制御情報について、図14のステップS102からのライトI/O処理を起動する(ステップS137)。これにより、取り出されたライト制御情報についてのライトI/O処理が再開される。その後、制御部130は、ステップS131の処理を実行する。   If the corresponding write control information is registered in step S136, the control unit 130 extracts the write control information from the storage completion waiting queue 167. And the control part 130 starts the write I / O process from step S102 of FIG. 14 about the taken-out write control information (step S137). Thereby, the write I / O processing for the extracted write control information is resumed. Then, the control part 130 performs the process of step S131.

一方、ステップS136で該当するライト制御情報が登録されていない場合、制御部130は、ステップS131の処理を実行する。
図17は、転送・展開・解放処理の手順を示すシーケンス図の例である。図16のステップS132で「Yes」と判定されてバッファ格納処理が完了すると、その処理が完了したバッファセット(すなわち、切り替え済みかつバッファ格納済みのバッファセット)について図17に示す処理が開始される。なお、図17の処理は、図14の処理や、他のバッファセットについての図15、図16の処理と並列に実行される。
On the other hand, when the corresponding write control information is not registered in step S136, the control unit 130 executes the process of step S131.
FIG. 17 is an example of a sequence diagram illustrating a procedure of transfer / development / release processing. When it is determined “Yes” in step S132 of FIG. 16 and the buffer storage process is completed, the process shown in FIG. 17 is started for the buffer set for which the process has been completed (that is, the buffer set that has been switched and the buffer has been stored). . The process of FIG. 17 is executed in parallel with the process of FIG. 14 and the processes of FIGS. 15 and 16 for other buffer sets.

CM110の制御部130は、バッファ150の分割領域(ここでは例として、分割領域(0001)とする)に格納されたすべてのライトデータを、対応するライト制御情報とともにCM310に転送する(ステップS141)。このとき、例えば、バッファ350における格納先の分割領域(2001)を示す識別情報が、ライトデータに付加されて送信される。あるいは、分割領域の識別情報の代わりに、世代番号やバッファセットの識別番号が付加されてもよい。   The control unit 130 of the CM 110 transfers all the write data stored in the divided area (in this example, the divided area (0001)) of the buffer 150 to the CM 310 together with the corresponding write control information (Step S141). . At this time, for example, identification information indicating the storage area division region (2001) in the buffer 350 is added to the write data and transmitted. Alternatively, a generation number or a buffer set identification number may be added instead of the divided region identification information.

CM310の制御部330は、受信したライトデータをバッファ350の分割領域(2001)に格納するとともに、受信したライト制御情報を、バッファ管理テーブル363における分割領域(2001)に対応する制御情報領域に登録する(ステップS142)。これらの処理が完了すると、制御部330は、分割領域(2001)に格納されたライトデータをキャッシュ340に書き込む(ステップS143)。これにより、ライトデータがキャッシュ340に展開される。   The control unit 330 of the CM 310 stores the received write data in the divided area (2001) of the buffer 350 and registers the received write control information in the control information area corresponding to the divided area (2001) in the buffer management table 363. (Step S142). When these processes are completed, the control unit 330 writes the write data stored in the divided area (2001) into the cache 340 (step S143). As a result, the write data is expanded in the cache 340.

制御部330は、バッファセットの解放をCM110に通知する(ステップS144)。CM110の制御部130は、解放通知を受けると、バッファセットの解放をCM210に通知する(ステップS145)。これとともに、制御部130は、処理対象のバッファセットを解放する処理を行う(ステップS146)。具体的には、制御部130は、分割領域(0001)を空き領域に戻し、バッファ管理テーブル163における分割領域(0001)に対応する制御情報領域に登録されたライト制御情報を消去する。   The control unit 330 notifies the CM 110 of the release of the buffer set (step S144). Upon receiving the release notification, the control unit 130 of the CM 110 notifies the CM 210 of the release of the buffer set (Step S145). At the same time, the control unit 130 performs processing for releasing the processing target buffer set (step S146). Specifically, the control unit 130 returns the divided area (0001) to an empty area, and erases the write control information registered in the control information area corresponding to the divided area (0001) in the buffer management table 163.

CM210の制御部230は、解放通知を受けると、処理対象のバッファセットを解放する処理を行う(ステップS147)。具体的には、制御部230は、分割領域(1001)を空き領域に戻し、バッファ管理テーブル263における分割領域(1001)に対応する制御情報領域に登録されたライト制御情報を消去する。   Upon receiving the release notification, the control unit 230 of the CM 210 performs processing for releasing the processing target buffer set (step S147). Specifically, the control unit 230 returns the divided area (1001) to an empty area, and erases the write control information registered in the control information area corresponding to the divided area (1001) in the buffer management table 263.

制御部230は、バッファセットの解放完了をCM110に通知する(ステップS148)。CM110の制御部130は、解放完了通知を受けると、バッファセットの解放完了をCM310に通知する(ステップS149)。CM310の制御部330は、処理対象のバッファセットを解放する処理を行う(ステップS150)。具体的には、制御部330は、分割領域(2001)を空き領域に戻し、バッファ管理テーブル363における分割領域(2001)に対応する制御情報領域に登録されたライト制御情報を消去する。   The control unit 230 notifies the CM 110 that the buffer set has been released (step S148). Upon receiving the release completion notification, the control unit 130 of the CM 110 notifies the CM 310 of the completion of buffer set release (step S149). The control unit 330 of the CM 310 performs processing for releasing the processing target buffer set (step S150). Specifically, the control unit 330 returns the divided area (2001) to an empty area, and erases the write control information registered in the control information area corresponding to the divided area (2001) in the buffer management table 363.

このような処理により、CM110,210,310における同世代のバッファセットが同期して解放される。
以上の図17の処理では、特許文献1と比較した場合、ステップS143での展開の際に、CM210からの送信情報を待つ必要がなく、その送信情報に基づく照合処理も行われない。このため、図17の転送・展開・解放の全体の処理時間を短縮できる。
By such processing, the buffer sets of the same generation in the CMs 110, 210, and 310 are released synchronously.
In the process of FIG. 17 described above, when compared with Patent Document 1, it is not necessary to wait for transmission information from the CM 210 at the time of development in step S143, and a matching process based on the transmission information is not performed. For this reason, it is possible to shorten the entire processing time of transfer / development / release in FIG.

そして、このような転送・展開・解放の処理時間が短縮されることで、例えば、図15のステップS123における解放完了待ち時間を短縮でき、それによって、バッファセットの切り替え処理時間を短縮できる。その結果、例えば、図14のステップS103,S105で切り替え待ちキュー166に登録されたライト制御情報についてのライトI/O処理を、短時間で再開でき、それによって、ホスト装置400からのライト要求に対する応答時間を短縮できる。   Further, by shortening the transfer / development / release processing time, for example, the release completion waiting time in step S123 of FIG. 15 can be shortened, thereby reducing the buffer set switching processing time. As a result, for example, the write I / O processing for the write control information registered in the switching wait queue 166 in steps S103 and S105 in FIG. 14 can be resumed in a short time, thereby responding to the write request from the host device 400. Response time can be shortened.

次に、図18〜図20を用いて、障害などによってストレージ装置100の動作が停止した場合の処理について説明する。なお、図18、図19の説明では、例として、フェイルオーバの発生時点でバッファ250における分割領域(1000),(1001)が解放されていないものとする。   Next, processing when the operation of the storage apparatus 100 is stopped due to a failure or the like will be described with reference to FIGS. In the description of FIGS. 18 and 19, as an example, it is assumed that the divided areas (1000) and (1001) in the buffer 250 are not released at the time of occurrence of failover.

図18は、フェイルオーバ後の再同期処理の手順を示すシーケンス図の例である。再同期とは、CM210のキャッシュ240とCM310のキャッシュ340とを等価にする処理である。   FIG. 18 is an example of a sequence diagram illustrating a procedure of resynchronization processing after failover. Resynchronization is a process of making the cache 240 of the CM 210 and the cache 340 of the CM 310 equivalent.

CM210の制御部230は、ストレージ装置100が停止したことを検知すると(ステップS151)、CM310に対してフェイルオーバの発生を通知する(ステップS152)。これとともに、制御部230は、ストレージ装置300との間の非同期コピーセッションのセッションステータスを「コピーイング」に変更する(ステップS153)。一方、CM310の制御部330は、フェイルオーバの発生通知を受けると、ストレージ装置200との間の非同期コピーのセッションステータスを「コピーイング」に変更する(ステップS154)。   When the control unit 230 of the CM 210 detects that the storage apparatus 100 has stopped (step S151), it notifies the CM 310 of the occurrence of failover (step S152). At the same time, the control unit 230 changes the session status of the asynchronous copy session with the storage apparatus 300 to “copying” (step S153). On the other hand, when receiving the notification of the occurrence of failover, the control unit 330 of the CM 310 changes the session status of the asynchronous copy with the storage apparatus 200 to “copying” (step S154).

CM210の制御部230は、バッファ管理テーブル263の制御情報領域を参照し、ライト制御情報が登録されているかを確認する。ライト制御情報が登録されている場合、以下の処理が実行される。ここでは、(1000),(1001)に対応する制御情報領域にライト制御情報が登録されているものとする。制御部230は、これらの制御情報領域に登録されたライト制御情報に基づいて、コピービットマップ268を作成する(ステップS155)。コピービットマップ268は、書き込み対象の論理ボリュームにおける、コピー処理単位のブロックごとのビットを有する。各ビットの初期値は「0」とする。   The control unit 230 of the CM 210 refers to the control information area of the buffer management table 263 and confirms whether the write control information is registered. When the write control information is registered, the following processing is executed. Here, it is assumed that the write control information is registered in the control information area corresponding to (1000) and (1001). The control unit 230 creates a copy bitmap 268 based on the write control information registered in these control information areas (step S155). The copy bitmap 268 has a bit for each block of the copy processing unit in the logical volume to be written. The initial value of each bit is “0”.

制御部230は、上記制御情報領域からライト制御情報を1つずつ取得し、コピービットマップ268のビットのうち、取得したライト制御情報によって指定された書き込み先領域に含まれるブロックに対応するビットを「1」に更新する。上記制御情報領域に登録されたライト制御情報は、CM110のバッファ150からCM310に対する転送が完了していない可能性のあるライトデータを示す。上記処理により、コピービットマップ268には、このようなライトデータが存在する論理ボリューム上の位置が登録される。   The control unit 230 acquires the write control information one by one from the control information area, and among the bits of the copy bitmap 268, sets the bit corresponding to the block included in the write destination area specified by the acquired write control information. Update to “1”. The write control information registered in the control information area indicates write data that may not be transferred from the buffer 150 of the CM 110 to the CM 310. Through the above processing, the position on the logical volume where such write data exists is registered in the copy bitmap 268.

なお、このようにしてコピービットマップ268が作成されると、ホスト装置400からのアクセス要求の受け付けが開始される。例えば、ホスト装置400からライト要求を受信したとき、後の図19に示すライトI/O処理が、図18における以下の処理と並行して実行される。   Note that when the copy bitmap 268 is created in this manner, acceptance of an access request from the host device 400 is started. For example, when a write request is received from the host apparatus 400, the later write I / O processing shown in FIG. 19 is executed in parallel with the following processing in FIG.

制御部230は、作成されたコピービットマップ268からビット値が「1」のビットを1つ選択する。制御部230は、選択されたビットに対応するライトデータをキャッシュ240から読み出し、対応するライト制御情報とともにCM310に転送する(ステップ156)。   The control unit 230 selects one bit whose bit value is “1” from the created copy bitmap 268. The control unit 230 reads the write data corresponding to the selected bit from the cache 240 and transfers it to the CM 310 together with the corresponding write control information (step 156).

CM310の制御部330は、受信したライトデータをキャッシュ340に格納する(ステップS157)。CM210の制御部230は、ライトデータの格納完了通知をCM310から受信すると、コピービットマップ268における、このライトデータに対応するビットを「0」に更新する(ステップS158)。そして、制御部230は、コピービットマップ268の全ビットが「0」かを判定する(ステップS159)。   The control unit 330 of the CM 310 stores the received write data in the cache 340 (step S157). When receiving the write data storage completion notification from the CM 310, the control unit 230 of the CM 210 updates the bit corresponding to the write data in the copy bitmap 268 to “0” (step S158). Then, the control unit 230 determines whether all the bits of the copy bitmap 268 are “0” (step S159).

ビット値が「1」のビットが残っている場合、制御部330は、コピービットマップ268からビット値が「1」のビットを新たに選択して、ステップS156の処理を実行する。このようにして、コピービットマップ268の全ビットが「0」になるまでステップS156〜S158の処理が繰り返される。   When the bit having the bit value “1” remains, the control unit 330 newly selects the bit having the bit value “1” from the copy bitmap 268 and executes the process of step S156. In this way, the processes of steps S156 to S158 are repeated until all bits of the copy bitmap 268 become “0”.

そして、ステップS159においてコピービットマップ268の全ビットが「0」になると、CM210のキャッシュ240とCM310のキャッシュ340とが同期した状態(すなわち、互いのデータが等価の状態)となる。このとき、CM210の制御部230は、バッファセットの解放をCM310に通知する(ステップS160)。これとともに、制御部230は、未解放のバッファセットを解放する処理を行う(ステップS161)。具体的には、制御部230は、分割領域(1000),(1001)を空き領域に戻し、バッファ管理テーブル263における分割領域(1000),(1001)に対応する制御情報領域に登録されたライト制御情報を消去する。   When all the bits in the copy bitmap 268 become “0” in step S159, the cache 240 of the CM 210 and the cache 340 of the CM 310 are synchronized (that is, the data is equivalent to each other). At this time, the control unit 230 of the CM 210 notifies the CM 310 of the release of the buffer set (Step S160). At the same time, the control unit 230 performs a process of releasing the unreleased buffer set (step S161). Specifically, the control unit 230 returns the divided areas (1000) and (1001) to the free area, and writes the write information registered in the control information area corresponding to the divided areas (1000) and (1001) in the buffer management table 263. Erase control information.

CM310の制御部330は、解放通知を受けると、未解放のバッファセットを解放する処理を行う(ステップS162)。具体的には、制御部230は、分割領域(2000),(2001)を空き領域に戻す処理を実行する。解放処理が完了すると、制御部330は、バッファセットの解放完了をCM210に通知する(ステップS163)。   When receiving the release notification, the control unit 330 of the CM 310 performs a process of releasing the unreleased buffer set (step S162). Specifically, the control unit 230 executes a process of returning the divided areas (2000) and (2001) to a free area. When the release process is completed, the control unit 330 notifies the CM 210 of the completion of the release of the buffer set (step S163).

以上の処理により、分割領域(1000),(1001),(2000),(2001)が、同期して解放される。このとき、すべてのバッファセットが解放された状態となる。   Through the above processing, the divided areas (1000), (1001), (2000), and (2001) are released synchronously. At this time, all buffer sets are released.

CM210の制御部230は、ストレージ装置300との間の非同期コピーセッションのセッションステータスを「アクティブ」に変更する(ステップS164)。また、制御部230は、CM310に対してステータスの変更を指示し、CM310の制御部330は、指示に応じてストレージ装置200との間の非同期コピーセッションのセッションステータスを「アクティブ」に変更する(ステップS165)。セッションステータスが「アクティブ」に変更されることで、CM210とCM310との間で、書き込みの順序性が確保された非同期コピーが開始される。   The control unit 230 of the CM 210 changes the session status of the asynchronous copy session with the storage apparatus 300 to “active” (step S164). Further, the control unit 230 instructs the CM 310 to change the status, and the control unit 330 of the CM 310 changes the session status of the asynchronous copy session with the storage apparatus 200 to “active” according to the instruction ( Step S165). As the session status is changed to “active”, an asynchronous copy in which the order of writing is ensured is started between the CM 210 and the CM 310.

なお、セッションステータスが「アクティブ」に変更された時点では、すべてのバッファセットが解放された状態となっている。このため、ホスト装置400からのライト要求に応じたライトI/O処理を開始する際には、どのバッファセットが現世代のバッファセット(格納対象のバッファセット)として選択されてもよい。例えば、CM210,310は、セッションステータスを「アクティブ」に変更すると、あらかじめ決められたバッファセットを現世代のバッファセットとして選択する。   Note that when the session status is changed to “active”, all the buffer sets are released. For this reason, when a write I / O process corresponding to a write request from the host device 400 is started, any buffer set may be selected as the current generation buffer set (buffer set to be stored). For example, when changing the session status to “active”, the CMs 210 and 310 select a predetermined buffer set as the current generation buffer set.

ここで、上記の図18では、コピービットマップ268を用いてデータ転送を行う処理について説明した。しかし、他の方法として、ステップS155で参照した制御情報領域から1つずつライト制御情報を取得し、取得したライト制御情報が示すライトデータをキャッシュ240からCM310に転送する方法が用いられてもよい。ただし、コピービットマップ268を用いることで、CM210からCM310へのデータ転送量を削減できる可能性が生じる。   Here, in FIG. 18 described above, the process of performing data transfer using the copy bitmap 268 has been described. However, as another method, a method may be used in which the write control information is acquired one by one from the control information area referenced in step S155, and the write data indicated by the acquired write control information is transferred from the cache 240 to the CM 310. . However, by using the copy bitmap 268, there is a possibility that the data transfer amount from the CM 210 to the CM 310 can be reduced.

例えば、未解放のバッファセットが複数存在し、それらのバッファセット間で書き込み先領域が同一のライトデータを示すライト制御情報があった場合でも、CM210のキャッシュ240には、それらのライトデータのうち最新のライトデータしか格納されていない。このため、このようなライトデータを示すライト制御情報が存在していたとしても、対応するライトデータをCM310に1回だけ転送すれば済む。   For example, even when there are a plurality of unreleased buffer sets and there is write control information indicating the write data with the same write destination area between the buffer sets, the cache 240 of the CM 210 includes the write data. Only the latest write data is stored. For this reason, even if there is write control information indicating such write data, the corresponding write data need only be transferred to the CM 310 once.

コピービットマップ268を用いることで、このように書き込み先領域が同一のライトデータを、1回の転送処理によってCM210からCM310に転送できるようになる。これにより、CM210からCM310へのデータ転送量を削減でき、キャッシュ240のデータとキャッシュ340のデータとが等価になるまでの時間を短縮できる。   By using the copy bitmap 268, write data having the same write destination area can be transferred from the CM 210 to the CM 310 by a single transfer process. As a result, the amount of data transferred from the CM 210 to the CM 310 can be reduced, and the time until the data in the cache 240 and the data in the cache 340 become equivalent can be shortened.

なお、コピービットマップ268には、上記のように未転送の可能性があるライトデータの位置に加えて、次の図19で示すライトI/O処理において新たにライトデータが書き込まれた位置も記録される。このため、ステップS156〜S158の処理では、ライトI/O処理において新たに書き込まれたライトデータも、CM310に転送される。   In the copy bitmap 268, in addition to the position of write data that may not be transferred as described above, the position at which write data is newly written in the next write I / O processing shown in FIG. To be recorded. For this reason, in the processing of steps S156 to S158, the write data newly written in the write I / O processing is also transferred to the CM 310.

これにより、キャッシュの再同期と並行して、ホスト装置400からのライト要求に応じたライトI/O処理を実行できるようになる。このため、CM210は、フェイルオーバの発生から短時間で、ホスト装置400からの新たなライト要求の受け付けを開始できる。したがって、CM210は、ホスト装置400からのライト要求に応じたライトI/O処理を、CM110から短時間で引き継ぐことができる。   Thus, in parallel with the cache resynchronization, the write I / O processing according to the write request from the host device 400 can be executed. Therefore, the CM 210 can start accepting a new write request from the host apparatus 400 in a short time after the occurrence of failover. Therefore, the CM 210 can take over the write I / O processing corresponding to the write request from the host apparatus 400 from the CM 110 in a short time.

また、ライトI/O処理においてコピービットマップ268が用いられることで、ライト要求によって新たに書き込まれたデータを、キャッシュ240への書き込みとは非同期に(すなわち、ライトバック方式によって)CM310に転送できる。このため、ライト要求に対する応答性能を向上させることができる。   Further, by using the copy bitmap 268 in the write I / O processing, the data newly written by the write request can be transferred to the CM 310 asynchronously with the writing to the cache 240 (that is, by the write back method). . For this reason, the response performance with respect to the write request can be improved.

図19は、コピーイング状態でのライトI/O処理の手順を示すフローチャートの例である。前述のように、図18のステップS153,S154でセッションステータスが「コピーイング」となり、ステップS155でコピービットマップ268が作成されると、ホスト装置400からのアクセス要求の受け付けが開始される。セッションステータスが「コピーイング」の状態においてホスト装置400からライト要求を受信すると、図19の処理が実行される。   FIG. 19 is an example of a flowchart showing the procedure of write I / O processing in the copying state. As described above, when the session status becomes “copying” in steps S153 and S154 in FIG. 18 and the copy bitmap 268 is created in step S155, acceptance of an access request from the host device 400 is started. When the write request is received from the host apparatus 400 in the state where the session status is “copying”, the processing of FIG. 19 is executed.

CM210の制御部230は、ホスト装置400からライト要求およびライトデータを受信する(ステップS171)。すると、制御部230は、ライトデータをキャッシュ240に書き込む(ステップS172)。また、制御部230は、コピービットマップ268のビットのうち、ライトデータの書き込み先領域に含まれるブロックに対応するビットを「1」に更新する(ステップS173)。そして、制御部230は、ライト完了通知をホスト装置400に送信して、ライト要求に対する応答を行う(ステップS174)。   The control unit 230 of the CM 210 receives a write request and write data from the host device 400 (step S171). Then, the control unit 230 writes the write data to the cache 240 (Step S172). Also, the control unit 230 updates the bit corresponding to the block included in the write data write destination area among the bits of the copy bitmap 268 to “1” (step S173). Then, the control unit 230 transmits a write completion notification to the host device 400 and makes a response to the write request (step S174).

以上の図19では、ステップS173の処理により、新たにライトデータが書き込まれた位置がコピービットマップ268に記録される。これにより、図18のステップS156〜S158の処理が実行されることで、新たにキャッシュ240に書き込まれたライトデータが、ライト要求に対する応答とは非同期でCM310に転送されるようになる。   In FIG. 19 described above, the position where the new write data is written is recorded in the copy bitmap 268 by the process of step S173. As a result, the processing of steps S156 to S158 in FIG. 18 is executed, so that the write data newly written in the cache 240 is transferred to the CM 310 asynchronously with the response to the write request.

次に、図18のステップS164,S165で非同期コピーセッションのセッションステータスが「アクティブ」になった後に、ホスト装置400からライト要求を受信した場合のCM210の処理について、図20を用いて説明する。   Next, processing of the CM 210 when a write request is received from the host apparatus 400 after the session status of the asynchronous copy session becomes “active” in steps S164 and S165 in FIG. 18 will be described with reference to FIG.

図20は、アクティブ状態でのライトI/O処理の手順を示すフローチャートの例である。以下に示すように、CM210において実行されるライトI/O処理は、基本的に、図14に示したCM110でのライトI/O処理から、CM210との通信に関する処理(ステップS109〜S111)を除いた処理と同様である。   FIG. 20 is an example of a flowchart showing the procedure of the write I / O process in the active state. As shown below, the write I / O process executed in the CM 210 basically includes processes related to communication with the CM 210 (steps S109 to S111) from the write I / O process in the CM 110 shown in FIG. This is the same as the processing that is excluded.

すなわち、CM210の制御部230は、ホスト装置400からライト要求およびライトデータを受信する(ステップS181)。制御部230は、切り替え状態情報264を参照して、現在バッファセットの切り替え処理が実行中かを判定する(ステップS182)。ステップS182で実行中であると判定された場合、制御部230は、ライト要求を示すライト制御情報を切り替え待ちキュー266に登録し(ステップS183)、ライトI/O処理を終了する。このとき、ライトデータはCM210のRAMに一時的に保持される。なお、切り替え処理が完了すると、切り替え待ちキュー266からライト制御情報が取り出される。そして、このライト制御情報および対応するライトデータについて、ステップS172以降の処理が実行される(図15のステップS130に対応)。   That is, the control unit 230 of the CM 210 receives a write request and write data from the host device 400 (step S181). The control unit 230 refers to the switching state information 264 to determine whether the buffer set switching process is currently being executed (step S182). If it is determined in step S182 that the process is being executed, the control unit 230 registers the write control information indicating the write request in the switching queue 266 (step S183), and ends the write I / O process. At this time, the write data is temporarily held in the CM 210 RAM. When the switching process is completed, the write control information is extracted from the switching wait queue 266. Then, the processing after step S172 is executed for this write control information and corresponding write data (corresponding to step S130 in FIG. 15).

一方、ステップS182で切り替え処理が実行中でないと判定された場合、制御部230は、バッファ250における格納先の分割領域(ここでは例として、分割領域(1001)とする)に、受信したライトデータを格納できるだけの空き領域があるかを判定する(ステップS184)。空き領域がないと判定された場合、制御部230は、ライト要求を示すライト制御情報を切り替え待ちキュー266に登録し、バッファセットの切り替え処理を起動する(ステップS185)。これにより、図15と同様の手順で切り替え処理が開始される。なお、ライトデータはCM210のRAMに一時的に保持される。また、上記と同様に、切り替え処理が完了すると、切り替え待ちキュー266からライト制御情報が取り出され、このライト制御情報および対応するライトデータについて、ステップS182以降の処理が実行される(図15のステップS130に対応)。   On the other hand, when it is determined in step S182 that the switching process is not being executed, the control unit 230 receives the received write data in the storage area of the buffer 250 (in this example, the divided area (1001)). It is determined whether there is enough free space to store (step S184). When it is determined that there is no free space, the control unit 230 registers the write control information indicating the write request in the switching wait queue 266 and starts the buffer set switching process (step S185). Thereby, the switching process is started in the same procedure as in FIG. The write data is temporarily held in the CM 210 RAM. Similarly to the above, when the switching process is completed, the write control information is extracted from the switching waiting queue 266, and the processes after step S182 are executed for this write control information and the corresponding write data (step of FIG. 15). Corresponding to S130).

一方、ステップS184で空き領域があると判定された場合、制御部230は、ライトデータの書き込み先領域と重複する領域に対して以前の世代でライトが要求され、かつバッファ250に対して未格納のライトデータがあるかを判定する(ステップS186)。この条件を満たす場合、制御部230は、ライト要求を示すライト制御情報を格納完了待ちキュー267に登録し(ステップS187)、ライトI/O処理を終了する。このとき、新たなライトデータはCM210のRAMに一時的に保持される。なお、上記の古いライトデータがバッファ150の分割領域に格納されると、格納完了待ちキュー267からライト制御情報が取り出される。そして、このライト制御情報および対応するライトデータについて、ステップS182以降の処理が実行される(図16のステップS137に対応)。   On the other hand, if it is determined in step S184 that there is an empty area, the control unit 230 requests a previous generation for an area overlapping the write data write destination area, and the buffer 250 does not store the write data. It is determined whether there is any write data (step S186). When this condition is satisfied, the control unit 230 registers the write control information indicating the write request in the storage completion waiting queue 267 (step S187), and ends the write I / O processing. At this time, new write data is temporarily held in the RAM of the CM 210. When the old write data is stored in the divided area of the buffer 150, the write control information is extracted from the storage completion queue 267. Then, the processing after step S182 is executed for this write control information and the corresponding write data (corresponding to step S137 in FIG. 16).

一方、ステップS186の条件を満たさない場合、制御部230は、受信したライトデータを示すライト制御情報を、バッファ管理テーブル263における分割領域(1001)に対応する制御情報領域に登録する(ステップS188)。そして、制御部230は、ライトデータをキャッシュ240に書き込む(ステップS189)。制御部230は、ライト完了通知をホスト装置400に送信して、ライト要求に対する応答を行う(ステップS190)。   On the other hand, when the condition of step S186 is not satisfied, the control unit 230 registers the write control information indicating the received write data in the control information area corresponding to the divided area (1001) in the buffer management table 263 (step S188). . Then, the control unit 230 writes the write data to the cache 240 (Step S189). The control unit 230 transmits a write completion notification to the host device 400 and makes a response to the write request (step S190).

なお、図示を省略するが、CM210の制御部230は、図20の処理を1回でも実行すると、図15におけるCM110の処理(CM210への切り替え通知を除く)、図16に示す処理、図17におけるCM110の処理(CM210へのバッファセット解放の通知を除く)と同様の処理を実行する。例えば、図20で例示した分割領域(1001)には、ライトデータがキャッシュ240からコピーされる。また、分割領域(1001)の空きがなくなるなどの条件が満たされると、バッファセットの切り替えが行われ、その後、分割領域(1001)に格納されたライトデータがCM310に送信される。このような処理により、フェイルオーバ前のCM110と同様に、書き込みの順序性が保証された非同期コピーが行われる。   Although illustration is omitted, when the control unit 230 of the CM 210 executes the process of FIG. 20 even once, the process of the CM 110 in FIG. 15 (except for the notification of switching to the CM 210), the process shown in FIG. The same process as the CM 110 process (excluding notification of buffer set release to the CM 210) is executed. For example, write data is copied from the cache 240 to the divided area (1001) illustrated in FIG. Further, when a condition such as no space in the divided area (1001) is satisfied, the buffer set is switched, and then the write data stored in the divided area (1001) is transmitted to the CM 310. As a result of such processing, as in the case of the CM 110 before failover, asynchronous copying is performed in which the order of writing is guaranteed.

なお、上記の各実施の形態に示した装置(例えば、制御装置10,20,30、CM110,110a,210,210a,310,310a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。   Note that the processing functions of the devices (for example, the control devices 10, 20, and 30, the CMs 110, 110a, 210, 210a, 310, and 310a) described in each of the above embodiments can be realized by a computer. In that case, a program describing the processing contents of the functions that each device should have is provided, and the processing functions are realized on the computer by executing the program on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Magnetic storage devices include hard disk devices (HDD) and magnetic tapes. Optical discs include CD (Compact Disc), DVD (Digital Versatile Disc), Blu-ray Disc (BD, registered trademark) and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD on which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.

1 上位装置
10,20,30 制御装置
11,21,31 記録媒体
12 バッファ
12a,12b 分割バッファ領域
13,23,33 制御部
22 制御情報記憶部
22a,22b 分割領域
24a,24b 制御情報
DESCRIPTION OF SYMBOLS 1 High-order apparatus 10, 20, 30 Control apparatus 11, 21, 31 Recording medium 12 Buffer 12a, 12b Divided buffer area 13, 23, 33 Control part 22 Control information storage part 22a, 22b Divided area 24a, 24b Control information

Claims (7)

第1の制御装置と、第2の制御装置と、第3の制御装置とを有するストレージシステムであって、
前記第1の制御装置は、
第1の領域と第2の領域とを有するバッファと、
上位装置から書き込みが要求されたデータを、第1の記録媒体に書き込むとともに前記第2の制御装置に送信し、前記上位装置に書き込み完了を通知する同期コピー処理と、前記第1の記録媒体に書き込まれたデータを前記第1の領域に格納し、所定の条件が満たされると、バッファ切り替えを前記第2の制御装置に通知するとともに、その通知後に前記第1の記録媒体に書き込まれるデータの前記バッファにおける格納先を前記第2の領域に切り替える格納処理と、前記第1の領域に格納された第1のデータをまとめて前記第3の制御装置に送信し、前記第2の領域に格納された第2のデータをまとめて前記第3の制御装置に送信する非同期コピー処理と、を実行し、前記第3の制御装置に対する前記第1のデータの送信が完了すると、完了通知を前記第2の制御装置に送信する第1の制御部と、
を有し、
前記第2の制御装置は、
前記第1の領域に対応付けられた第3の領域と、前記第2の領域に対応付けられた第4の領域とを有する制御情報記憶部と、
前記第1の制御部から送信された前記第1のデータを第2の記録媒体に格納するとともに、前記第1のデータを示す第1の制御情報を前記第3の領域に格納し、前記バッファ切り替えが通知されると、その通知後に前記第1の制御部から送信された前記第2のデータを前記第2の記録媒体に格納するとともに、前記第2のデータを示す第2の制御情報を前記第4の領域に格納し、前記完了通知を受信すると、前記第3の領域から前記第1の制御情報を消去し、前記バッファ切り替えの通知後に前記第1の制御装置が停止すると、前記上位装置からの書き込み要求の受信処理を前記第1の制御部から引き継いで、書き込みが要求された第3のデータを前記第2の記録媒体に格納し、その後の所定のタイミングで前記第3のデータを前記第3の制御装置に送信する第2の制御部と、
を有し、
前記第3の制御装置は、
前記第1の制御装置から前記第1のデータを受信すると前記第1のデータを第3の記録媒体に格納し、前記第1の制御装置から前記第2のデータを受信すると前記第2のデータを前記第3の記録媒体に格納し、前記第2の制御装置から前記第3のデータを受信すると前記第3のデータを前記第3の記録媒体に格納する第3の制御部、
を有し、
前記第2の制御部はさらに、前記バッファ切り替えの通知後に前記第1の制御装置が停止したとき、前記第3の領域に前記第1の制御情報が残っている場合には、前記第1の制御情報に基づいて前記第2の記録媒体から前記第1のデータを読み出し、読み出した前記第1のデータを前記第3の制御装置に送信し、
前記第3の制御部はさらに、前記第2の制御装置から前記第1のデータを受信すると前記第1のデータを前記第3の記録媒体に格納する、
ストレージシステム。
A storage system having a first control device, a second control device, and a third control device,
The first control device includes:
A buffer having a first region and a second region;
The data requested to be written by the host device is written to the first recording medium and transmitted to the second control device, and the host device is notified of the completion of writing, and the first recording medium The written data is stored in the first area, and when a predetermined condition is satisfied, the buffer switching is notified to the second control device, and the data written to the first recording medium after the notification is notified. The storage process for switching the storage destination in the buffer to the second area and the first data stored in the first area are collectively transmitted to the third control device and stored in the second area. Asynchronous copy processing for collectively transmitting the second data thus transmitted to the third control device, and when the transmission of the first data to the third control device is completed, A first control unit that transmits a notification to the second controller,
Have
The second control device includes:
A control information storage unit having a third region associated with the first region and a fourth region associated with the second region;
The first data transmitted from the first control unit is stored in a second recording medium, and first control information indicating the first data is stored in the third area, and the buffer When the switching is notified, the second data transmitted from the first control unit after the notification is stored in the second recording medium, and second control information indicating the second data is stored. When storing in the fourth area and receiving the completion notification, the first control information is erased from the third area, and when the first control device stops after notification of the buffer switching, Taking over the reception process of the write request from the apparatus from the first control unit, the third data requested to be written is stored in the second recording medium, and the third data is transmitted at a predetermined timing thereafter. The third system A second control unit for transmitting device,
Have
The third control device includes:
When the first data is received from the first control device, the first data is stored in a third recording medium, and when the second data is received from the first control device, the second data is stored. Is stored in the third recording medium, and upon receiving the third data from the second control device, a third control unit stores the third data in the third recording medium,
Have
The second control unit may further include the first control information if the first control information remains in the third area when the first control device is stopped after the buffer switching notification. Reading the first data from the second recording medium based on the control information, transmitting the read first data to the third control device;
The third control unit further stores the first data in the third recording medium when receiving the first data from the second control device.
Storage system.
前記第2の制御部は、前記バッファ切り替えの通知後に前記第1の制御装置が停止したとき、前記第3のデータを前記第2の記録媒体に格納し、その後に前記第3のデータを前記第3の制御装置に送信する処理を、前記第3の領域に残っている前記第1の制御情報に基づいて、前記第2の記録媒体からの前記第1のデータを読み出し、前記第1のデータを前記第3の制御装置へ送信する処理と並行して実行する、
請求項1記載のストレージシステム。
The second control unit stores the third data in the second recording medium when the first control device stops after notification of the buffer switching, and then stores the third data in the second recording medium. Based on the first control information remaining in the third area, the first data from the second recording medium is read out, and processing to be transmitted to the third control device is performed. Executing in parallel with the process of transmitting data to the third control unit;
The storage system according to claim 1.
前記第2の制御装置は、前記第2の記録媒体の記憶領域ごとのビットを有するビットマップを記憶し、
前記第2の制御部は、
前記バッファ切り替えの通知後に前記第1の制御装置が停止したとき、前記第2の制御情報に基づき、前記ビットマップのビットのうち、前記第2の記録媒体における前記第2のデータの記憶領域に対応するビットを、データの存在を示す第1の値に設定し、
書き込みが要求された前記第3のデータを前記第2の記録媒体に格納したとき、前記ビットマップのビットのうち、前記第2の記録媒体における前記第3のデータの記憶領域に対応するビットを、前記第1の値に設定し、
前記ビットマップを参照し、前記所定値が設定されたビットに対応する、前記第2の記録媒体の記憶領域からデータを読み出して前記第3の制御装置へ送信し、当該ビットを第2の値に更新する処理を、前記ビットマップの全ビットが前記第2の値になるまで実行する、
請求項1記載のストレージシステム。
The second control device stores a bitmap having a bit for each storage area of the second recording medium,
The second controller is
When the first control device stops after the notification of the buffer switching, the second data storage area of the second recording medium among the bits of the bitmap is based on the second control information. Set the corresponding bit to the first value indicating the presence of data,
When the third data requested to be written is stored in the second recording medium, the bit corresponding to the storage area of the third data in the second recording medium among the bits of the bitmap , Set to the first value,
The bit map is referenced, data is read from the storage area of the second recording medium corresponding to the bit for which the predetermined value is set, is transmitted to the third control device, and the bit is set to the second value. To update all the bits of the bitmap until the second value,
The storage system according to claim 1.
前記第1のデータの書き込み先領域の少なくとも一部が前記第2のデータの書き込み先領域と重複している場合、前記第1の制御部は、前記第2のデータを前記第1の記録媒体に格納する際に、前記第1のデータを前記第1の記録媒体から前記第1の領域に格納する処理が完了しているかを判定し、当該処理が完了していない場合、当該処理が完了した後に前記第2のデータを前記第1の記録媒体に格納する、
請求項1乃至3のいずれか1項に記載のストレージシステム。
When at least a part of the write destination area for the first data overlaps with the write destination area for the second data, the first control unit transfers the second data to the first recording medium. When storing the first data in the first area from the first recording medium, the process is completed if the process is not completed. And then storing the second data in the first recording medium,
The storage system according to any one of claims 1 to 3.
前記第1の制御部は、前記所定の条件が満たされたとき、それ以前に前記上位装置から書き込みが要求されて前記第2の領域に格納され、かつ、前記第3の制御装置への転送が完了していない第3のデータがあるかを判定し、前記第3のデータがある場合、前記第3のデータの前記第3の制御装置への転送が完了した後に、前記バッファ切り替えを前記第2の制御装置に通知する、
請求項1乃至4のいずれか1項に記載のストレージシステム。
When the predetermined condition is satisfied, the first control unit is requested to write from the host device before that and is stored in the second area, and is transferred to the third control device. If there is third data that has not been completed, and if there is the third data, the buffer switching is performed after the transfer of the third data to the third control device is completed. Notify the second controller;
The storage system according to any one of claims 1 to 4.
前記第1の制御部は、前記所定の条件として、前記上位装置から前記第2のデータの書き込みが要求され、かつ、前記第1の領域に前記第2のデータを格納できるだけの空き領域がないという条件が満たされたとき、それ以前に前記上位装置から書き込みが要求されて前記第2の領域に格納され、かつ、前記第3の制御装置への転送が完了していない第3のデータがあるかを判定し、前記第3のデータがある場合、前記第3のデータの前記第3の制御装置への転送が完了した後に、前記バッファ切り替えを前記第2の制御装置に通知し、前記第2のデータを前記第1の記録媒体に書き込むとともに前記第2の制御装置に送信し、前記上位装置に前記第2のデータの書き込み完了を通知した後、前記第2のデータを前記第2の領域に格納する、
請求項1乃至4のいずれか1項に記載のストレージシステム。
The first control unit is requested to write the second data from the host device as the predetermined condition, and there is no free space in the first area to store the second data. When the above condition is satisfied, the third data that has been requested to be written by the host device and stored in the second area before the transfer to the third control device is completed. If there is the third data, after the transfer of the third data to the third control device is completed, the buffer switching is notified to the second control device, and After the second data is written to the first recording medium and transmitted to the second control device, the second device is notified of the completion of the writing of the second data, and then the second data is sent to the second recording device. Store in the area of
The storage system according to any one of claims 1 to 4.
第1の領域と第2の領域とを有するバッファと、
上位装置から書き込みが要求されたデータを、記録媒体に書き込むとともに第1の他の制御装置に送信し、前記上位装置に書き込み完了を通知する同期コピー処理と、前記記録媒体に書き込まれたデータを前記第1の領域に格納し、所定の条件が満たされると、バッファ切り替えを前記第1の他の制御装置に通知するとともに、その通知後に前記記録媒体に書き込まれるデータの前記バッファにおける格納先を前記第2の領域に切り替える格納処理と、前記第1の領域に格納された第1のデータをまとめて第2の他の制御装置に送信し、前記第2の領域に格納された第2のデータをまとめて前記第2の他の制御装置に送信する非同期コピー処理と、を実行し、前記第2の他の制御装置に対する前記第1のデータの送信が完了すると、完了通知を前記第1の他の制御装置に送信する制御部と、
を有し、
前記第1のデータの書き込み先領域の少なくとも一部が前記第2のデータの書き込み先領域と重複している場合、前記制御部は、前記第2のデータを前記記録媒体に格納する際に、前記第1のデータを前記記録媒体から前記第1の領域に格納する処理が完了しているかを判定し、当該処理が完了していない場合、当該処理が完了した後に前記第2のデータを前記記録媒体に格納する、
制御装置。
A buffer having a first region and a second region;
The data requested to be written by the host device is written to the recording medium and transmitted to the first other control device, and the host device is notified of the completion of writing, and the data written to the recording medium is transmitted. When it is stored in the first area and a predetermined condition is satisfied, the buffer switching is notified to the first other control device, and the storage destination in the buffer of the data written to the recording medium after the notification is notified. The storage process for switching to the second area and the first data stored in the first area are collectively transmitted to the second other control device, and the second data stored in the second area is stored. Asynchronous copy processing for collectively transmitting data to the second other control device, and when the transmission of the first data to the second other control device is completed, a completion notification And a control unit which transmits to said first other control device,
Have
When at least a part of the write destination area of the first data overlaps with the write destination area of the second data, the control unit, when storing the second data in the recording medium, It is determined whether the process of storing the first data from the recording medium into the first area is completed. If the process is not completed, the second data is stored after the process is completed. Store in a recording medium,
Control device.
JP2018082203A 2018-04-23 2018-04-23 Storage system and control device Pending JP2019191801A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018082203A JP2019191801A (en) 2018-04-23 2018-04-23 Storage system and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018082203A JP2019191801A (en) 2018-04-23 2018-04-23 Storage system and control device

Publications (1)

Publication Number Publication Date
JP2019191801A true JP2019191801A (en) 2019-10-31

Family

ID=68390368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018082203A Pending JP2019191801A (en) 2018-04-23 2018-04-23 Storage system and control device

Country Status (1)

Country Link
JP (1) JP2019191801A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415934A (en) * 2020-10-28 2022-04-29 上海川源信息科技有限公司 Data access system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (en) * 2001-08-08 2003-04-25 Hitachi Ltd Remote copy control method, storage sub-system using it, and wide area data storage system using them
JP2007066154A (en) * 2005-09-01 2007-03-15 Hitachi Ltd Storage system for copying data to be stored in multiple storages
JP2008243138A (en) * 2007-03-29 2008-10-09 Hitachi Ltd Storage system and data restoration method
JP2012003621A (en) * 2010-06-18 2012-01-05 Nec System Technologies Ltd Remote copy processing system, processing method and processing program for use between disk array devices
WO2012090370A1 (en) * 2010-12-28 2012-07-05 Necカシオモバイルコミュニケーションズ株式会社 Remote operation system, user terminal and remote operation method
JP2017167602A (en) * 2016-03-14 2017-09-21 富士通株式会社 Storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (en) * 2001-08-08 2003-04-25 Hitachi Ltd Remote copy control method, storage sub-system using it, and wide area data storage system using them
JP2007066154A (en) * 2005-09-01 2007-03-15 Hitachi Ltd Storage system for copying data to be stored in multiple storages
JP2008243138A (en) * 2007-03-29 2008-10-09 Hitachi Ltd Storage system and data restoration method
JP2012003621A (en) * 2010-06-18 2012-01-05 Nec System Technologies Ltd Remote copy processing system, processing method and processing program for use between disk array devices
WO2012090370A1 (en) * 2010-12-28 2012-07-05 Necカシオモバイルコミュニケーションズ株式会社 Remote operation system, user terminal and remote operation method
JP2017167602A (en) * 2016-03-14 2017-09-21 富士通株式会社 Storage system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415934A (en) * 2020-10-28 2022-04-29 上海川源信息科技有限公司 Data access system

Similar Documents

Publication Publication Date Title
JP4915775B2 (en) Storage system and storage system remote copy control method
JP4942418B2 (en) Computer system and snapshot creation method thereof
JP4958739B2 (en) A storage system for repairing data stored in a storage device in which a failure has occurred
JP5192226B2 (en) Method for adding standby computer, computer and computer system
US9213490B2 (en) Computer system and data migration method
JP5286212B2 (en) Remote copy control method and system in storage cluster environment
JP6024296B2 (en) Information processing apparatus, copy control program, and copy control method
US10191685B2 (en) Storage system, storage device, and data transfer method
JP2005309550A (en) Remote copying method and system
US9471449B2 (en) Performing mirroring of a logical storage unit
US9342418B2 (en) Storage system, storage control device and data transfer method
JP2010282324A (en) Storage control apparatus, storage system, and storage control method
JP6069962B2 (en) Information processing apparatus, area release control program, and area release control method
US10007467B2 (en) Storage system
JP6230707B2 (en) Storage system
JP2019191801A (en) Storage system and control device
US20160036653A1 (en) Method and apparatus for avoiding performance decrease in high availability configuration
US9304876B2 (en) Logical volume migration in single server high availability environments
WO2016084156A1 (en) Storage system
JP4294692B2 (en) Information processing system
JP5924117B2 (en) Computer, data storage method, data storage program, and information processing system
JP4704463B2 (en) Storage control device, storage control program, and storage control method
JP7050707B2 (en) Storage control device, storage system, storage control method, and storage control program
US20170060478A1 (en) Storage system and data write method
JP5731665B2 (en) Computer system and replication control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210122

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220301