JP2010244583A - Storage system - Google Patents
Storage system Download PDFInfo
- Publication number
- JP2010244583A JP2010244583A JP2010173675A JP2010173675A JP2010244583A JP 2010244583 A JP2010244583 A JP 2010244583A JP 2010173675 A JP2010173675 A JP 2010173675A JP 2010173675 A JP2010173675 A JP 2010173675A JP 2010244583 A JP2010244583 A JP 2010244583A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- copy
- control module
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
Description
本発明は、1または2以上の記憶装置を有するストレージシステムであって、順序性を保証した非同期のコピー機能を有するストレージシステムに関する。 The present invention relates to a storage system having one or more storage devices and having an asynchronous copy function that guarantees the order.
従来、分散キャッシュメモリ型のストレージシステムを採用するRAID(Redundant Arrays of Inexpensive Disks)装置では、性能や信頼性の向上のために、ストレージに対するデータの入出力を制御する制御モジュールを複数備える冗長構成が採用されている。そして、制御モジュール毎に、論理ボリュームに対するデータのRead/Write処理が実行される。 Conventionally, a RAID (Redundant Array of Inexpensive Disks) apparatus that employs a distributed cache memory type storage system has a redundant configuration including a plurality of control modules that control input / output of data to / from storage in order to improve performance and reliability. It has been adopted. Data read / write processing for the logical volume is executed for each control module.
また、このようなRAID装置では、信頼性等の向上のために、アドバンスト・コピーといわれる順序性を保証したリモートコピー機能が備えられる。
図33は、順序性を保証したリモートコピー機能を備えるRAID装置の従来例を示す図である。なお、図33は、制御モジュール00および01を備えるRAID装置3301と、制御モジュール10および11を備えるRAID装置3302と、で構成されるストレージシステムを示している。
In addition, such a RAID device is provided with a remote copy function that guarantees ordering, called advanced copy, in order to improve reliability and the like.
FIG. 33 is a diagram showing a conventional example of a RAID apparatus having a remote copy function that guarantees order. FIG. 33 shows a storage system including a RAID device 3301 including control modules 00 and 01 and a RAID device 3302 including control modules 10 and 11.
各RAID装置は、記憶媒体に記憶した若しくは記憶するデータを複数に分割した領域に一時的に記憶するバッファと、バッファに記憶したデータに対して領域毎に割り付けられるインデックスを記憶するBIT(Buffer Index Table)と、を有する記録バッファと、コピー対象のデータが記憶されているコピー元装置に備わる1または2以上のバッファとコピー元装置から送られたデータを記憶するコピー先装置に備わる1または2以上のバッファとの組み合わせからなるバッファセットを記憶するバッファセット記憶部と、データを記憶する記憶媒体と、を備える。 Each RAID device stores a buffer that temporarily stores data stored in a storage medium or stores data into a plurality of divided areas, and a BIT (Buffer Index) that stores an index assigned to each area of the data stored in the buffer. 1 or 2 provided in a copy destination device that stores data sent from the copy source device and one or more buffers provided in the copy source device in which the data to be copied is stored. A buffer set storage unit that stores a buffer set composed of a combination of the above buffers and a storage medium that stores data are provided.
順序性を保証するリモートコピーでは、コピー元装置において、記憶媒体からコピー対象のデータを読み出して順次記録バッファに格納していく。そして、記録バッファ内の全ての領域を使い切る、若しくは一定時間経過すると、コピー元装置は、バッファセットにしたがって、ネットワークを介して接続されたコピー先装置3302に対して、記録バッファのデータをまとめて送信する(この送信方式を、以下「まとめ送り方式」という)。この時、バッファセットも同時に送信する。 In remote copy that guarantees order, the copy source device reads data to be copied from a storage medium and sequentially stores it in a recording buffer. When all the areas in the recording buffer are used up or a certain time has elapsed, the copy source device collects the data in the recording buffer to the copy destination device 3302 connected via the network according to the buffer set. Transmit (this transmission method is hereinafter referred to as “collective transmission method”). At this time, the buffer set is also transmitted simultaneously.
一方、コピー先装置3302では、コピー元装置3301からデータを受信すると、当該データを記録バッファに一時的に格納する。また、コピー先装置3302は、受信したバッファセットも自身のバッファセット記憶部に格納する。全てのデータを受信すると、コピー先装置3302は、記録バッファのデータを所定の記録媒体内に展開する。 On the other hand, when receiving data from the copy source device 3301, the copy destination device 3302 temporarily stores the data in the recording buffer. Further, the copy destination apparatus 3302 also stores the received buffer set in its own buffer set storage unit. When all the data is received, the copy destination apparatus 3302 expands the data in the recording buffer in a predetermined recording medium.
以上のように、記録バッファを使用したまとめ方式によるデータ送信を行なって、バッファセットを一括制御し、コピー先装置3302において、バッファセット単位でデータを記憶媒体に展開することで、順序性を保証している。 As described above, data transmission is performed in a collective manner using a recording buffer, the buffer set is collectively controlled, and data is expanded on a storage medium in the copy destination device 3302, thereby guaranteeing order. is doing.
図33では、コピー元装置3301における制御モジュールおよび制御モジュールが有する記録バッファの数とコピー先装置3302における制御モジュールおよび制御モジュールが有する記録バッファの数とが同数の場合の例を示した。 FIG. 33 shows an example where the number of control modules in the copy source apparatus 3301 and the number of recording buffers included in the control module are the same as the number of recording buffers included in the control module and control module in the copy destination apparatus 3302.
同様に、コピー元装置3301における制御モジュールおよび制御モジュールが有する記録バッファの数より、コピー先装置3302における制御モジュールおよび制御モジュールが有する記録バッファの数の方が多い場合には、コピー元装置3301の全てのバッファセットを有効に利用することができる。 Similarly, when the number of control buffers in the copy source apparatus 3301 and the number of recording buffers in the control module are larger than the number of recording buffers in the copy destination apparatus 3302, the copy source apparatus 3301 All buffer sets can be used effectively.
しかし、コピー元装置3301における制御モジュールおよび制御モジュールが有する記録バッファの数が、コピー先装置3302における制御モジュールおよび制御モジュールが有する記録バッファの数より多い場合には、コピー元装置3301の全てのバッファセットを有効に利用することができないという問題があった。 However, if the number of control buffers in the copy source apparatus 3301 and the number of recording buffers in the control module are larger than the number of control buffers in the copy destination apparatus 3302 and the number of recording buffers in the control module, all the buffers in the copy source apparatus 3301 There was a problem that the set could not be used effectively.
図33は、コピー元装置における制御モジュールの数が、コピー先装置における制御モジュールの数より多い場合の例を示す図である。図33には、制御モジュール00、01、02および01を備えるRAID装置3301と、制御モジュール10および11を備えるRAID装置3302と、で構成されるストレージシステムを示している。 FIG. 33 is a diagram illustrating an example in which the number of control modules in the copy source apparatus is greater than the number of control modules in the copy destination apparatus. FIG. 33 shows a storage system including a RAID device 3301 including control modules 00, 01, 02, and 01 and a RAID device 3302 including control modules 10 and 11.
図33と同様に、各RAID装置は、記憶媒体に記憶した若しくは記憶するデータを複数に分割した領域に一時的に記憶するバッファと、バッファに記憶したデータに対して領域毎に割り付けられるインデックスを記憶するBITと、を有する記録バッファと、コピー元のバッファのIDとコピー先のバッファのIDとからなるバッファセットを記憶するバッファセット記憶部と、データを記憶する記憶媒体と、を備える。 Similarly to FIG. 33, each RAID device temporarily stores a data stored in a storage medium or data to be stored in a plurality of divided areas, and an index assigned to each area for the data stored in the buffer. A recording buffer having a BIT to be stored; a buffer set storage unit that stores a buffer set including an ID of a copy source buffer and an ID of a copy destination buffer; and a storage medium that stores data.
例えば、制御モジュールにおけるバッファの領域が8個である場合、コピー元装置3301における制御モジュールが4台に対して、コピー先装置3302における制御モジュールが2台しかないので、上述のまとめ送り方式によるデータ送信を行なう場合、コピー元装置3301の制御モジュールで有効に使用できるバッファの領域の数は半分の4個となり、残りのバッファは使用できない。 For example, when there are eight buffer areas in the control module, there are only two control modules in the copy destination apparatus 3302 compared to four control modules in the copy source apparatus 3301, so data by the above-described batch sending method is used. When transmission is performed, the number of buffer areas that can be effectively used by the control module of the copy source apparatus 3301 is half, which is four, and the remaining buffers cannot be used.
上記技術に関連して、書き込みデータを一時的に格納する書き込みバッファの使用状況を監視し、バッファの空き容量が少なくなった場合にバッファ内の情報を別途用意した高速ディスクシステムに書き出し、使用状況が好転した場合に待避させたデータを再びバッファに書き戻すディスクアレイシステムのバックアップ装置が知られている。 In relation to the above technology, the usage status of the write buffer that temporarily stores the write data is monitored, and when the free space of the buffer decreases, the information in the buffer is written to a separately prepared high-speed disk system, and the usage status 2. Description of the Related Art A backup device for a disk array system is known in which the saved data is written back to the buffer when the situation improves.
また、一次装置と二次装置との間の距離に関係なく各ホストの書き込みに対する低い待ち時間を達成することにより、故障時における二次装置の一貫性(修復性)を提供する仮想順序付け書込み方法が知られている。 Also, a virtual ordered writing method that provides consistency (restorability) of the secondary device at the time of failure by achieving a low latency for each host write regardless of the distance between the primary device and the secondary device It has been known.
また、管理計算機、ホスト計算機、第一の記憶装置および第二の記憶装置を備えるシステムにおいて、第一の記憶装置の複製データを第二の記憶装置に遠隔データコピーにより維持する際、ホスト計算機から第一の記憶装置へのアクセス量の変化等を監視し、当該変化等に応じて管理計算機が遠隔データコピーの方式の切り替えを記憶装置へ指示するデータコピー方式の切り替え方法が知られている。 Further, in a system including a management computer, a host computer, a first storage device, and a second storage device, when maintaining duplicate data of the first storage device in the second storage device by remote data copy, from the host computer A data copy method switching method is known in which a change in the access amount to the first storage device is monitored, and the management computer instructs the storage device to switch the remote data copy method in accordance with the change.
また、分散キャッシュメモリ型のストレージシステムのスケーラビリティの優位性を維持しつつ、順序性保証を保証するリモートコピー機能を備えるストレージシステムが知られている。 A storage system having a remote copy function that guarantees the order guarantee while maintaining the superiority of scalability of a distributed cache memory type storage system is also known.
また、あらかじめリモートコピーのための予約バッファを確保してバッファ予約対象を用いて行う通信のバッファ不足を回避することにより、アプリケーション処理の中断を防止するストレージ装置が知られている。 There is also known a storage apparatus that prevents interruption of application processing by securing a reservation buffer for remote copy in advance and avoiding a buffer shortage of communication performed using a buffer reservation target.
また、更新データの送信プロトコルにおけるオーバヘッドを小さくし、かつデータ更新の順序保証機能およびコピー停止機能を実現するディスクアレイ装置間の遠隔データコピー方式が知られている。
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、順序性を保証したリモートコピーに使用するバッファに関し、コピー先装置に備わるバッファが、コピー元先装置に備わるバッファより少ない場合であっても、コピー元装置が有するバッファを有効に使用できるストレージシステムを提供することである。 The present invention has been made in view of the above-described problems, and a problem to be solved by the present invention relates to a buffer used for remote copy that guarantees the order, and the buffer provided in the copy destination apparatus is included in the copy source destination apparatus. To provide a storage system that can effectively use a buffer of a copy source device even when the number of buffers is smaller than that provided.
上記課題を解決するために、本ストレージシステムは、上位装置から送信されるデータを記憶する第1の記憶ボリュームと前記第1の記憶ボリュームへの記憶を制御する第1の制御部とを備えた第1の記憶装置と、前記第1の記憶装置に記憶されたデータがネットワークを介してコピーされる第2の記憶ボリュームと前記第2の記憶ボリュームへの記憶を制御する第2の制御部とを備えた第2の記憶装置とを備えたストレージシステムであって、前記第1の制御部は、前記第2の記憶装置に設けられた受信用バッファの識別に用いられる受信用バッファ識別情報を取得する識別情報取得部と、前記第2の記憶装置の前記受信用バッファに転送するデータを格納する送信用バッファと、転送処理を行う際に、前記送信用バッファに設けられた送信用バッファ識別情報と前記受信用バッファ識別情報とに基づいて前記送信用バッファと前記受信用バッファとを対応づけるデータ転送制御部と、前記対応づけに基づいて前記送信用バッファのデータを前記受信用バッファに対して転送する転送処理部と、を備える。 In order to solve the above-described problem, the storage system includes a first storage volume that stores data transmitted from a host device and a first control unit that controls storage in the first storage volume. A first storage device, a second storage volume to which data stored in the first storage device is copied via a network, and a second control unit that controls storage in the second storage volume; And a second storage device, wherein the first control unit receives reception buffer identification information used for identification of a reception buffer provided in the second storage device. An identification information acquisition unit to be acquired, a transmission buffer for storing data to be transferred to the reception buffer of the second storage device, and a transmission provided in the transmission buffer when performing transfer processing A data transfer control unit for associating the transmission buffer with the reception buffer based on the buffer identification information for reception and the reception buffer identification information, and for receiving the data in the transmission buffer based on the association A transfer processing unit for transferring data to the buffer.
本ストレージシステムによると、第1の制御部では、転送処理を行う際に、送信用バッファに設けられた送信用バッファ識別情報と受信用バッファ識別情報とに基づいて送信用バッファと受信用バッファとを対応づけてテータ転送を行なうので、受信用バッファに空きがなくても、送信用バッファに空きがあれば受信処理が可能となるので、コピー処理を継続することが可能となる。また、受信用バッファに空きがある間に、送信用バッファに空きが生じれば、第1の記憶装置から第2の記憶装置へのコピー処理も可能となる。 According to this storage system, when the first control unit performs the transfer process, the transmission buffer and the reception buffer based on the transmission buffer identification information and the reception buffer identification information provided in the transmission buffer Therefore, even if there is no space in the reception buffer, reception processing can be performed if there is space in the transmission buffer, so that the copy processing can be continued. Further, if there is a space in the transmission buffer while there is a space in the reception buffer, a copy process from the first storage device to the second storage device can be performed.
以上に説明したように、開示のストレージシステムによると、コピー先装置に備わるバッファが、コピー元装置に備わるバッファより少ない場合であっても、コピー元装置が有するバッファを有効に使用できるストレージシステムを提供することが可能となる。 As described above, according to the disclosed storage system, a storage system that can effectively use the buffer of the copy source device even when the copy destination device has fewer buffers than the copy source device. It becomes possible to provide.
以下、実施形態の一例について、図1〜図33に基づいて説明する。
図1は、本実施例に係るストレージシステム100の構成の概要を示す図である。
図1に示すストレージシステム100は、制御モジュール102a、102b、102cおよび102dを有するRAID装置101と、制御モジュール112a、112b、112cおよび112dを有するRAID装置111と、を備える分散キャッシュメモリ型のストレージシステムである。
Hereinafter, an example of the embodiment will be described with reference to FIGS.
FIG. 1 is a diagram illustrating an outline of a configuration of a storage system 100 according to the present embodiment.
A storage system 100 shown in FIG. 1 includes a RAID device 101 having control modules 102a, 102b, 102c and 102d, and a RAID device 111 having control modules 112a, 112b, 112c and 112d, and a distributed cache memory type storage system. It is.
制御モジュール102aは、所定のプログラム命令を実行して制御モジュール102aを動作させるCPU(Central Processing Unit)103aと、後述するBIT、記録バッファやバッファセット記憶部等に使用するメモリ104aと、ホストコンピュータ(以下、「ホスト」という)109とのインターフェース制御部であるCA(Channel Adapter)105aと、ネットワークまたは専用線120を介して接続される他のRAID装置等とのインターフェース制御部であるRA(Remote Adapter)106aと、ディスク装置108aとのインターフェース制御部であるFC(Fibre Channel)107aと、磁気ディスク装置などの記憶装置で構成されるディスク装置108aと、を備える。 The control module 102a includes a CPU (Central Processing Unit) 103a that executes a predetermined program instruction to operate the control module 102a, a memory 104a used for a BIT, a recording buffer, a buffer set storage unit, and the like described later, and a host computer ( Hereinafter, a CA (Channel Adapter) 105a, which is an interface control unit with a "host" 109, and an RA (Remote Adapter), which is an interface control unit, between another RAID device or the like connected via a network or a dedicated line 120. ) 106a and a disk device 1 including an FC (Fibre Channel) 107a that is an interface control unit between the disk device 108a and a storage device such as a magnetic disk device. 08a.
RAID装置101に備わる制御モジュール102b、102cおよび102dや、RAID装置111に備わる制御モジュール112a、112b、112cおよび112dも同様の構成である。 The control modules 102b, 102c and 102d included in the RAID device 101 and the control modules 112a, 112b, 112c and 112d included in the RAID device 111 have the same configuration.
以上の構成において、例えば、「識別情報取得部」、「データ転送制御部」、「転送処理部」、「退避制御部」、「復元制御部」などは、CPU103aがメモリ104a上の所定の領域に展開されたプログラム命令を実行することによって実現することができる。 In the above configuration, for example, the “identification information acquisition unit”, “data transfer control unit”, “transfer processing unit”, “evacuation control unit”, “restoration control unit”, and the like are stored in a predetermined area on the memory 104a by the CPU 103a. It can be realized by executing the program instruction expanded in (1).
また、「送信用バッファ」、「第1のポインタ」、「第2のポインタ」などは、メモリ104aの一部の領域を用いて実現することができ、「退避用ボリューム」は、1または2以上の磁気ディスク装置等で構成されるディスク装置108aの一部を用いて実現することができる。 The “transmission buffer”, “first pointer”, “second pointer”, and the like can be realized by using a partial area of the memory 104a, and the “evacuation volume” is 1 or 2 This can be realized by using a part of the disk device 108a constituted by the magnetic disk device described above.
以下の実施例では、RAID装置101からRAID装置111にリモートコピーを行なう場合について説明する。そして、この場合のRAID装置101を「コピー元装置101」といい、RAID装置111を「コピー先装置111」という。 In the following embodiment, a case where remote copy is performed from the RAID apparatus 101 to the RAID apparatus 111 will be described. In this case, the RAID device 101 is referred to as “copy source device 101”, and the RAID device 111 is referred to as “copy destination device 111”.
なお、図1では、RAID装置101および111が4つの制御モジュールで構成されている場合について示しているが、これに限定する趣旨ではない。同様に、CA、RAおよびFCの数についても、図1に示す数に限定する趣旨ではない。 Although FIG. 1 shows the case where the RAID devices 101 and 111 are configured by four control modules, the present invention is not limited to this. Similarly, the numbers of CA, RA, and FC are not limited to the numbers shown in FIG.
図2は、本実施例に係る制御モジュールが備えるメモリ、例えば、図1に示したメモリ104a、114aの具体的な構成例を示す図である。
図2に示すように、本実施例に係るRAID装置101または111の制御モジュールに備わるメモリ200は、ディスク装置に記憶しもしくは記憶したデータを一時的に記憶・管理する記録バッファ201と、バッファセットを格納するバッファセット記憶部202と、コピー先装置111における未使用のバッファのバッファIDを記憶する未使用バッファID記憶部203と、を備える。
FIG. 2 is a diagram illustrating a specific configuration example of a memory included in the control module according to the present embodiment, for example, the memories 104a and 114a illustrated in FIG.
As shown in FIG. 2, the memory 200 provided in the control module of the RAID device 101 or 111 according to the present embodiment includes a recording buffer 201 that stores in the disk device or temporarily stores and manages the stored data, and a buffer set Are stored in the buffer set storage unit 202, and an unused buffer ID storage unit 203 that stores buffer IDs of unused buffers in the copy destination apparatus 111.
バッファ201aは、一定サイズに分割された複数の領域(以下、「世代」という)毎にデータが管理される記憶部であり、各世代には、それぞれディスク装置108aなどのディスク装置に記憶しもしくは記憶するデータ(例えば、後述するWriteデータ)が一時的に記憶される。 The buffer 201a is a storage unit that manages data for each of a plurality of areas (hereinafter referred to as “generations”) divided into a certain size, and each generation stores data in a disk device such as the disk device 108a. Data to be stored (for example, write data described later) is temporarily stored.
バッファ201a内に記載の(0000)、(0001)、(0002)、・・・に関し、括弧内の数字0000、0001、0002、・・・は各世代に割当てられたバッファIDを示し、括弧付きの数字(0000)、(0001)、(0002)、・・・は、それぞれ括弧内の数字のバッファIDのバッファに任意のデータが格納されていることを意味している。 Regarding (0000), (0001), (0002),... Described in the buffer 201a, the numbers 0000, 0001, 0002,... In parentheses indicate the buffer IDs assigned to the respective generations and are enclosed in parentheses. The numbers (0000), (0001), (0002),... Indicate that arbitrary data is stored in the buffer of the numbered buffer ID in parentheses.
BIT201bは、バッファ201aの世代毎に、当該世代に記憶されているデータが展開されているLU(Logical Unit)やLBA(Logical Block Address)、データサイズ、コピーセッションの番号などが記憶されるテーブルである。 The BIT 201b is a table that stores, for each generation of the buffer 201a, an LU (Logical Unit) or LBA (Logical Block Address) in which data stored in the generation is expanded, a data size, a copy session number, and the like. is there.
BIT201b内に記載の0000、0001、0002、・・・はバッファ201aの世代毎に割当てられているバッファIDを示す。例えば、BIT201b内の0000には、バッファIDが0000のバッファに記憶されているデータが展開されているLUやLBA、データサイズ、コピーセッションの番号などが記憶されていることを示す。 バッファセット記憶部202は、RAID装置間におけるリモートコピーを行なう場合、コピー対象のデータが格納されているコピー元装置101に備わるバッファのバッファID(以下、「コピー元ID」という)と、コピー先装置111に備わるバッファのバッファID(以下、「コピー先ID」という)と、の組合わせ(以下、「バッファセット」という)を記憶する。 0000, 0001, 0002,... Described in the BIT 201b indicate buffer IDs assigned for each generation of the buffer 201a. For example, 0000 in the BIT 201b indicates that the LU or LBA in which the data stored in the buffer with the buffer ID 0000 is expanded, the data size, the copy session number, and the like are stored. When performing remote copy between RAID devices, the buffer set storage unit 202 includes a buffer ID (hereinafter referred to as “copy source ID”) of a buffer provided in the copy source device 101 storing the copy target data, and a copy destination. A combination (hereinafter referred to as “buffer set”) of a buffer ID (hereinafter referred to as “copy destination ID”) of the buffer provided in the apparatus 111 is stored.
本実施例のようにコピー元装置101やコピー先装置111に複数の制御モジュールを備える場合、バッファセットは、コピー対象のデータが格納されているバッファであってコピー元装置101に備わる複数の制御モジュールのバッファのバッファIDと、コピー元装置101から送られたデータを記憶するバッファであってコピー先装置111に備わる複数の制御モジュールのバッファのバッファIDと、の組合わせとなる。 When the copy source apparatus 101 and the copy destination apparatus 111 are provided with a plurality of control modules as in the present embodiment, the buffer set is a buffer in which data to be copied is stored and a plurality of controls provided in the copy source apparatus 101. This is a combination of the buffer ID of the module buffer and the buffer IDs of the buffers of a plurality of control modules provided in the copy destination apparatus 111 that store data sent from the copy source apparatus 101.
例えば、図2に記載のバッファセット記憶部202には、図3に示すようにコピー元装置101に備わる制御モジュール00、01、02および03がそれぞれバッファIDが0000、0100、0200および0300のバッファを有し、図6に示すようにコピー先装置111に備わる制御モジュール00、01、02および03がそれぞれバッファIDが1000、1100、1001および1101のバッファを有する場合のバッファセットを示している。 For example, in the buffer set storage unit 202 illustrated in FIG. 2, the control modules 00, 01, 02, and 03 included in the copy source apparatus 101 have buffers IDs of 0000, 0100, 0200, and 0300, respectively, as illustrated in FIG. FIG. 6 shows a buffer set when the control modules 00, 01, 02 and 03 provided in the copy destination apparatus 111 have buffers with buffer IDs 1000, 1100, 1001 and 1101, respectively.
すなわち、コピー元装置101に備わる制御モジュール00のバッファのバッファID「0000」とコピー先装置111に備わる制御モジュール00のバッファのバッファID「1000」、コピー元装置101に備わる制御モジュール01のバッファのバッファID「0100」とコピー先装置111に備わる制御モジュール01のバッファのバッファID「1100」、コピー元装置101に備わる制御モジュール02のバッファのバッファID「0200」とコピー先装置111に備わる制御モジュール02のバッファのバッファID「1001」、コピー元装置101に備わる制御モジュール03のバッファのバッファID「0300」とコピー先装置111に備わる制御モジュール03のバッファのバッファID「1101」、の組み合わせが定義されている。 That is, the buffer ID “0000” of the buffer of the control module 00 provided in the copy source apparatus 101, the buffer ID “1000” of the buffer of the control module 00 provided in the copy destination apparatus 111, and the buffer ID of the control module 01 provided in the copy source apparatus 101. The buffer ID “0100”, the buffer ID “1100” of the buffer of the control module 01 provided in the copy destination apparatus 111, the buffer ID “0200” of the buffer of the control module 02 provided in the copy source apparatus 101, and the control module provided in the copy destination apparatus 111 Buffer ID “1001” of the buffer 02, buffer ID “0300” of the buffer of the control module 03 provided in the copy source apparatus 101, and buffer ID “1101” of the buffer of the control module 03 provided in the copy destination apparatus 111, The combination has been defined.
なお、以下の説明では、新たに記録バッファ201に格納されるバッファ若しくはそのバッファについてのバッファセットの世代を「新世代」、既に記録バッファ201に格納されているバッファ若しくはそのバッファについてのバッファセットの世代を「旧世代」という。 In the following description, the generation of a buffer newly stored in the recording buffer 201 or the buffer set for the buffer is “new generation”, and the buffer set already stored in the recording buffer 201 or the buffer set for the buffer is The generation is called the “old generation”.
未使用バッファID記憶部203は、コピー先装置111に備わる未使用のバッファのバッファIDを記憶する。例えば、コピー元装置101の未使用バッファIDの通知の要求に応じて、コピー先装置111から未使用のバッファのバッファIDの通知を受けると、コピー元装置101は、通知されたバッファIDを未使用バッファID記憶部203に記憶する。 The unused buffer ID storage unit 203 stores a buffer ID of an unused buffer provided in the copy destination apparatus 111. For example, upon receiving a notification of an unused buffer ID from the copy destination device 111 in response to a request for notification of an unused buffer ID of the copy source device 101, the copy source device 101 sets the notified buffer ID to an unused buffer ID. This is stored in the used buffer ID storage unit 203.
以上の構成において、本実施例に係るリモートコピー処理では、例えば、コピー元装置101におけるWriteデータの記録バッファ201への格納、コピー先装置111への転送、コピー先装置111における転送データのディスク装置118aへの展開等の処理を、バッファセット単位で一括して行うことにより、ストレージシステム全体の順序性を保証している。 In the above configuration, in the remote copy processing according to the present embodiment, for example, the write data in the copy source apparatus 101 is stored in the recording buffer 201, transferred to the copy destination apparatus 111, and the transfer data disk apparatus in the copy destination apparatus 111. The order of the entire storage system is guaranteed by performing processing such as expansion to 118a in a batch in units of buffer sets.
本実施例に係るコピー元装置101は、コピー元装置101−コピー先装置111間のネットワーク状態を監視し、ネットワークの状況に応じて、コピー元装置101−コピー先装置111間のリモートコピー処理を制御する。リモートコピー処理は、例えば、図11、図12、図14A、図14B、図15などに示す。 The copy source apparatus 101 according to this embodiment monitors the network status between the copy source apparatus 101 and the copy destination apparatus 111, and performs remote copy processing between the copy source apparatus 101 and the copy destination apparatus 111 according to the network status. Control. The remote copy process is shown in FIGS. 11, 12, 14A, 14B, 15 and the like, for example.
また、本実施例に係るコピー元装置101は、コピー元装置101からコピー先装置111へのデータ転送直前にバッファセットを確定する。すなわち、コピー元装置101は、データ転送直前に、転送対象のデータが記憶されているコピー元装置101のバッファと、転送先のコピー先装置111のバッファと、の関連づけを行なう。 Further, the copy source apparatus 101 according to the present embodiment determines a buffer set immediately before data transfer from the copy source apparatus 101 to the copy destination apparatus 111. That is, immediately before data transfer, the copy source apparatus 101 associates the buffer of the copy source apparatus 101 storing the transfer target data with the buffer of the transfer destination copy destination apparatus 111.
その結果、コピー元装置101では、Writeデータ等をバッファに格納する際に転送先であるコピー先装置111のバッファを確保する必要がなくなるので、コピー元装置101は、転送先となるコピー先装置に空きバッファがなくても、Writeデータ等をコピー元装置101のバッファに格納する処理が可能となる。 As a result, the copy source apparatus 101 does not need to secure a buffer for the copy destination apparatus 111 that is a transfer destination when storing write data or the like in the buffer. Even if there is no empty buffer, it is possible to store write data or the like in the buffer of the copy source apparatus 101.
そして、コピー先装置111に空きバッファが発生すると、コピー元装置101は、この段階でバッファセットを確定し、コピー先装置111へのデータ転送を行なう。そのため、コピー先装置111に備わるバッファがコピー元装置101に備わるバッファより少ない場合であっても、コピー元装置101のバッファを有効に使用してリモートコピー処理を行なうことが可能となる。 When an empty buffer is generated in the copy destination apparatus 111, the copy source apparatus 101 determines a buffer set at this stage and transfers data to the copy destination apparatus 111. Therefore, even if the buffer provided in the copy destination apparatus 111 is smaller than the buffer provided in the copy source apparatus 101, it is possible to perform remote copy processing by effectively using the buffer of the copy source apparatus 101.
すなわち、コピー元装置101に備わるリモートコピーに使用するバッファのサイズと、コピー先装置111に備わるリモートコピーに使用するバッファのサイズと、が不一致の場合であっても、有効にバッファを使用して効率的なリモートコピー処理を行なうことが可能となる。
(本実施例に係るリモートコピー処理の概要)
図3〜図8に基づいて、本実施例に係るリモートコピー処理の概要を説明する。なお、図3〜図6および図8は、リモートコピー処理時におけるコピー元装置101またはコピー先装置111における記録バッファ201、バッファセット記憶部202および未使用バッファID記憶部203の状態を示す図である。
That is, even when the size of the buffer used for remote copy provided in the copy source apparatus 101 and the size of the buffer used for remote copy provided in the copy destination apparatus 111 do not match, the buffer is used effectively. Efficient remote copy processing can be performed.
(Overview of remote copy processing according to this embodiment)
The outline of the remote copy processing according to the present embodiment will be described with reference to FIGS. 3 to 6 and FIG. 8 are diagrams illustrating states of the recording buffer 201, the buffer set storage unit 202, and the unused buffer ID storage unit 203 in the copy source apparatus 101 or the copy destination apparatus 111 at the time of remote copy processing. is there.
コピー元装置101が、ホスト109から、例えば、Write I/O命令を受付けると、Write I/O命令を受付けた制御モジュール00、01、02または03は、Write I/O命令にしたがって、その制御モジュールに備わるディスク装置108a、108b、108cまたは108dにWriteデータを記憶する。 When the copy source apparatus 101 receives, for example, a write I / O command from the host 109, the control module 00, 01, 02, or 03 that has received the write I / O command controls the control according to the write I / O command. Write data is stored in the disk devices 108a, 108b, 108c or 108d provided in the module.
同時に、Write I/O命令を受けた制御モジュール00、01、02または03は、図3に示すように、当該命令とともに受信したWriteデータをバッファ201a、301a、401aまたは501aの所定の世代に記憶するとともに、Writeデータを記憶した世代に割り当てたインデックスをBIT201bに記憶する。 At the same time, the control module 00, 01, 02 or 03 that has received the write I / O instruction stores the write data received together with the instruction in a predetermined generation of the buffer 201a, 301a, 401a or 501a as shown in FIG. In addition, the index assigned to the generation storing the write data is stored in the BIT 201b.
また、コピー元装置101は、バッファセット記憶部202にコピー元IDだけを設定し、コピー先IDが未確定な状態のバッファセットを作成する。
一方、コピー元装置101は、コピー先装置111に対して未使用バッファの通知を依頼し、コピー先装置111から未使用状態となったバッファについて通知を受けると、コピー元装置101は、当該未使用バッファに対応する未使用バッファIDを未使用バッファID記憶部203に記憶する。
Further, the copy source apparatus 101 sets only the copy source ID in the buffer set storage unit 202 and creates a buffer set in which the copy destination ID is indeterminate.
On the other hand, when the copy source apparatus 101 requests the copy destination apparatus 111 to notify the unused buffer and receives a notification from the copy destination apparatus 111 regarding the unused buffer, The unused buffer ID corresponding to the used buffer is stored in the unused buffer ID storage unit 203.
以上のように、本実施例に係るリモートコピー処理では、バッファセット作成時に、バッファセット記憶部にはコピー元IDだけを設定し、コピー先IDは設定しない。すなわち、コピー元のバッファとコピー先のバッファとのマッチング処理は、バッファセット作成時には行なわず、後述するように、バッファのデータを転送先に転送する直前に行なう。 As described above, in the remote copy processing according to the present embodiment, when creating a buffer set, only the copy source ID is set in the buffer set storage unit, and no copy destination ID is set. In other words, the matching process between the copy source buffer and the copy destination buffer is not performed when the buffer set is created, but is performed immediately before the buffer data is transferred to the transfer destination, as will be described later.
これにより、コピー元装置101に備わるバッファを有効に使用することができる。その結果、コピー先装置に備わるバッファが、コピー元先装置に備わるバッファより少ない場合であっても、コピー元装置が有するバッファを有効に使用することが可能となる。 As a result, the buffer provided in the copy source apparatus 101 can be used effectively. As a result, even if the buffer provided in the copy destination device is smaller than the buffer provided in the copy source device, the buffer of the copy source device can be used effectively.
図4に示すように、(a)コピー元装置101は、格納対象のバッファセットで一定時間経過もしくは,データを格納すべき領域がなくなった場合、次のバッファセットを格納対象に切り替える「バッファセット切り替え」を行う。バッファセット切り替えが行われると、古いバッファセットは転送対象となる。 As shown in FIG. 4, (a) the copy source apparatus 101 switches the next buffer set to the storage target when a fixed time has passed or no data storage area exists in the buffer set to be stored. Switch ”. When buffer set switching is performed, the old buffer set becomes a transfer target.
また、(b)コピー元装置101は、転送対象のバッファセットに未使用バッファID記憶部203から取得した未使用のコピー先IDを割当てる。そして、割り当てられたバッファIDは未使用バッファID記憶部203から削除される。 Further, (b) the copy source apparatus 101 assigns an unused copy destination ID acquired from the unused buffer ID storage unit 203 to the buffer set to be transferred. Then, the assigned buffer ID is deleted from the unused buffer ID storage unit 203.
具体的には、コピー元装置101は、バッファセット切り替えの際に、未使用バッファID記憶部203を参照し、未使用バッファIDを必要に応じた数だけ取得する。そして、コピー元装置101は、バッファセット切り替えにより転送対象となったバッファセットにおけるバッファセット記憶部202のコピー先IDに、取得した未使用バッファIDを設定する。 Specifically, the copy source apparatus 101 refers to the unused buffer ID storage unit 203 when switching buffer sets, and acquires as many unused buffer IDs as necessary. Then, the copy source apparatus 101 sets the acquired unused buffer ID as the copy destination ID of the buffer set storage unit 202 in the buffer set to be transferred by the buffer set switching.
そして、(c)バッファセットの設定(上述の(a)および(b)の処理)が完了すると、コピー元装置101は、バッファ単位でバッファに格納された情報を転送する。
なお、コピー元装置101は、未使用バッファID記憶部203から取得した未使用バッファIDは、未使用バッファID記憶部203から削除する。また、未使用バッファID記憶部203から必要な数の未使用バッファIDを取得できない場合には、必要な数の未使用バッファIDを取得できるまで、バッファの転送処理を中断する。
When (c) buffer set setting (the above-described processes (a) and (b)) is completed, the copy source apparatus 101 transfers information stored in the buffer in units of buffers.
The copy source apparatus 101 deletes the unused buffer ID acquired from the unused buffer ID storage unit 203 from the unused buffer ID storage unit 203. If a necessary number of unused buffer IDs cannot be acquired from the unused buffer ID storage unit 203, the buffer transfer process is suspended until a required number of unused buffer IDs can be acquired.
本実施例に係るリモートコピー処理では、以上に説明した処理に加えて、以下に説明する処理を行なう。
本実施例に係るコピー元装置101は、コピー元装置101−コピー先装置111間のネットワーク501の状態を監視する。そして、図5に示すように、装置間のデータ転送経路が閉塞状態(以下、「経路閉塞状態」という)であることを検出すると、コピー元装置101は、(a)経路閉塞により再転送対象となったバッファセットの組み合わせを保持する。すなわち、記録バッファ201およびバッファセット記憶部202の状態を保持する。また、コピー元装置101は、(b)未使用バッファID記憶部203に記憶されている未使用バッファIDを全てクリアする。
In the remote copy processing according to the present embodiment, the following processing is performed in addition to the processing described above.
The copy source apparatus 101 according to this embodiment monitors the state of the network 501 between the copy source apparatus 101 and the copy destination apparatus 111. Then, as shown in FIG. 5, when it is detected that the data transfer path between the apparatuses is blocked (hereinafter referred to as “path blocked state”), the copy source apparatus 101 (a) Holds the combination of the buffer set. That is, the state of the recording buffer 201 and the buffer set storage unit 202 is held. Also, the copy source apparatus 101 clears all unused buffer IDs stored in (b) the unused buffer ID storage unit 203.
また、コピー元装置101は、経路閉塞状態中にホスト109からのWrite I/O命令を受けると、(c)可能な限りWrite I/O命令を受付ける。そして、コピー元装置101は、記録バッファ201、301、401または501にWriteデータを格納する。 Further, when the copy source apparatus 101 receives a write I / O command from the host 109 while the path is blocked, (c) accepts the write I / O command as much as possible. The copy source apparatus 101 stores the write data in the recording buffer 201, 301, 401, or 501.
例えば、経路閉塞中にホスト109からのWrite I/O命令を受付けると、コピー元装置101は、各制御モジュールのバッファにデータを格納していく。例えば、図5に示す制御モジュールaでは、記録バッファ201のバッファ0002、0003、・・・、0007に順次データが格納される。経路閉塞中にいずれかの制御モジュールの記録バッファのバッファにデータを格納しきってしまった場合、コピー元装置101は、バッファに格納されているデータをBIT情報にしたがって各セッションのビットマップに書き戻すバッファHalt処理を行なう。 For example, when a write I / O command from the host 109 is received while the path is blocked, the copy source apparatus 101 stores data in the buffer of each control module. For example, in the control module a shown in FIG. 5, data is sequentially stored in the buffers 0002, 0003,. If the data is completely stored in the buffer of the recording buffer of any control module while the path is closed, the copy source apparatus 101 writes the data stored in the buffer back to the bitmap of each session according to the BIT information. Buffer halt processing is performed.
したがって、記録バッファ201が枯渇する前に、経路閉塞状態が解消されれば、ホスト109への影響を抑えることが可能となる。
その結果、一時的な経路閉塞が発生しても、コピー元装置101には可能な限りのWrite I/Oを溜め込むことができ、経路再開通時までにバッファを使用しつくさなければ、バッファの転送再開時に経路閉塞中にバッファにためていたデータの送信を再開することが可能となるので、順序性を保証したリモートコピーを継続することが可能となる。
Therefore, if the path blockage state is resolved before the recording buffer 201 is depleted, the influence on the host 109 can be suppressed.
As a result, even if a temporary path blockage occurs, as much write I / O as possible can be stored in the copy source apparatus 101. If the buffer is not used up until the path is restarted, Since it is possible to resume the transmission of data stored in the buffer while the path is closed when the transfer is resumed, it is possible to continue the remote copy in which the order is guaranteed.
また、コピー元装置101は、(d)経路閉塞状態の検出時にバッファ転送完了または転送中などのバッファ未解放状態であったバッファセットを、再転送の対象とし、経路閉塞状態解消後に改めて転送を行なう。 In addition, the copy source apparatus 101 sets (d) a buffer set that has not been released as a buffer transfer is complete or is being transferred when a path blockage state is detected, and retransfers the buffer set after the path blockage state is resolved. Do.
コピー先装置111は、コピー元装置101と同様に、コピー元装置101−コピー先装置111間のネットワーク601の状態を監視する。図6に示すように、経路閉塞状態を検出すると、コピー先装置111は、(a)展開待ち状態の世代の展開処理は行わない。例えば、「転送中」または「転送済みかつ解放待ち」のバッファセットについては、記録バッファ601、701、801または901内のバッファに格納されているデータはディスク装置に展開せず、バッファセット記憶部602、702、802または902の内容を保持し、コピー元IDとのマッチングをそのままにコピー元装置101による再度転送待ちとなる。そして、コピー元装置101から未使用となったバッファIDの通知を要求する「未使用バッファ通知要求コマンド」が発行されるまで待ち状態となる。 Similar to the copy source apparatus 101, the copy destination apparatus 111 monitors the state of the network 601 between the copy source apparatus 101 and the copy destination apparatus 111. As illustrated in FIG. 6, when the path blockage state is detected, the copy destination apparatus 111 does not perform (a) the expansion process of the generation waiting for expansion. For example, for the buffer set “in transfer” or “transferred and waiting for release”, the data stored in the buffer in the recording buffer 601, 701, 801 or 901 is not expanded in the disk device, and the buffer set storage unit The contents of 602, 702, 802 or 902 are held, and the copy source apparatus 101 waits for transfer again while maintaining the matching with the copy source ID. Then, the process waits until an “unused buffer notification request command” for requesting notification of an unused buffer ID is issued from the copy source apparatus 101.
また、コピー先装置111は、(b)経路閉塞検出時に展開処理をしていた世代は展開処理を完了するまで行う。すなわち、経路閉塞状態検出時に、記録バッファ601、701、801および901内のデータのディスク装置への展開処理が途中の処理は、完了するまで継続して行なう。 In addition, the copy destination apparatus 111 performs (b) the generation that was performing the expansion process when the path blockage was detected until the expansion process is completed. In other words, when the path blockage state is detected, the process of expanding the data in the recording buffers 601, 701, 801 and 901 to the disk device is continued until completion.
なお、図6に示したコピー先装置111も未使用バッファID記憶部203を備えていてもよいが、説明を簡単にするために図示省略してある。ただし、図示省略は図6の構成に本発明を限定する趣旨ではない。 The copy destination apparatus 111 shown in FIG. 6 may also include the unused buffer ID storage unit 203, but is not shown for the sake of simplicity. However, the omission of illustration is not intended to limit the present invention to the configuration of FIG.
図7は、経路閉塞状態解消時におけるコピー元装置101−コピー先装置111間のリモートコピー処理を示す図である。
(a)経路閉塞状態が解消すると、コピー元装置101は、コピー先装置111に対してバッファ通知要求コマンドを発行する。この時、コピー元装置101は、経路閉塞状態におけるバッファHalt処理の実施の有無についての情報をバッファ通知要求コマンドに付加する。
FIG. 7 is a diagram showing a remote copy process between the copy source apparatus 101 and the copy destination apparatus 111 when the path blocking state is resolved.
(A) When the path blocking state is resolved, the copy source apparatus 101 issues a buffer notification request command to the copy destination apparatus 111. At this time, the copy source apparatus 101 adds information on the presence / absence of execution of the buffer halt processing in the path blocked state to the buffer notification request command.
(b)バッファ通知要求コマンドを受付けると、コピー先装置111は、当該コマンドとともに通知されたバッファHalt処理の実施の有無を参照する。そして、コピー元装置101においてバッファHalt処理が実施されていた場合、コピー先装置111も、バッファHalt処理を行ない、コピー元装置101に対してエラー応答を返す。そして、バッファHalt処理が完了すると、コピー先装置111は、再度コピー元装置101からのバッファ通知要求コマンド受信待ちの状態となる。 (B) Upon reception of the buffer notification request command, the copy destination apparatus 111 refers to the presence / absence of execution of the buffer halt processing notified together with the command. When the buffer halt process is performed in the copy source apparatus 101, the copy destination apparatus 111 also performs the buffer halt process and returns an error response to the copy source apparatus 101. When the buffer halt process is completed, the copy destination apparatus 111 again waits to receive a buffer notification request command from the copy source apparatus 101.
一方、(b‘)コピー先装置111からの応答がエラー応答の場合、コピー元装置101は、リトライ処理を行う。すなわち、コピー先装置111に対して再度バッファ通知要求コマンドを発行する。 On the other hand, when the response from the (b ′) copy destination apparatus 111 is an error response, the copy source apparatus 101 performs a retry process. That is, the buffer notification request command is issued again to the copy destination apparatus 111.
(c)コピー元装置101においてバッファHalt処理が実施されていない場合、コピー先装置111は、コピー元装置101に対してバッファ情報通知コマンドを発行し、未使用バッファID等のバッファ情報をコピー元装置101に通知し、リモートコピー処理を再開する。 (C) When the buffer halt process is not performed in the copy source apparatus 101, the copy destination apparatus 111 issues a buffer information notification command to the copy source apparatus 101, and the buffer information such as an unused buffer ID is copied to the copy source apparatus 101. The device 101 is notified and the remote copy process is resumed.
(d)コピー元装置101は、通知されたバッファ情報を未使用バッファID記憶部に格納してConsistency動作を再開する。すなわち、コピー元装置101は、コピー先装置111から通知された未使用バッファIDを未使用バッファID記憶部203に記憶する。そして、コピー元装置101は、通知された未使用バッファIDと、再転送の対象としてバッファセット記憶部202に保持されているバッファセットにおけるコピー先IDとに矛盾がないことを確認すると、リモートコピー処理を再開するとともに、正常応答をコピー先装置111に返す。 (D) The copy source apparatus 101 stores the notified buffer information in the unused buffer ID storage unit and restarts the consistency operation. That is, the copy source apparatus 101 stores the unused buffer ID notified from the copy destination apparatus 111 in the unused buffer ID storage unit 203. When the copy source apparatus 101 confirms that there is no contradiction between the notified unused buffer ID and the copy destination ID in the buffer set stored in the buffer set storage unit 202 as a retransfer target, the remote copy The process is resumed and a normal response is returned to the copy destination apparatus 111.
この時のコピー元装置101の状態記録バッファ201、バッファセット記憶部202および未使用バッファID記憶部203の状態を図8に示す。
コピー元装置101は、経路閉塞状態が解消され、コピー先装置111から未使用バッファIDを通知されると、当該未使用バッファIDを未使用バッファID記憶部203に記憶する。
FIG. 8 shows the states of the state recording buffer 201, buffer set storage unit 202, and unused buffer ID storage unit 203 of the copy source apparatus 101 at this time.
The copy source apparatus 101 stores the unused buffer ID in the unused buffer ID storage unit 203 when the path blockage state is resolved and the unused buffer ID is notified from the copy destination apparatus 111.
ここで、(a)経路閉塞を検出した時にデータが転送完了したが未解放のバッファ、または転送中などで未解放のバッファを再転送処理の対象とする。再転送処理の対象となるので、再転送処理の対象となる領域は開放されず記録バッファ201の内容が保持される。 Here, (a) a data transfer is completed when a path blockage is detected, but an unreleased buffer, or an unreleased buffer during transfer or the like is set as a target of the retransfer process. Since it becomes the object of the retransfer process, the area that is the object of the retransfer process is not released and the contents of the recording buffer 201 are retained.
図8では、例えば、バッファセット記憶部202、302、402および502にそれぞれ記憶されたバッファセットであって、(コピー元ID−コピー先ID)が(0000−1000)、(0100−1100)、(0200−1001)および(0300−1101)からなる組み合わせのバッファセットと、(0001−1002)、(0101−1102)、(0201−1003)および(0301−1103)からなる組み合わせのバッファセットと、が再転送の対象となっている場合を示している。 In FIG. 8, for example, buffer sets stored in the buffer set storage units 202, 302, 402, and 502, respectively, where (copy source ID−copy destination ID) is (0000-1000), (0100-1100), A combination buffer set consisting of (0200-1001) and (0300-1101), and a combination buffer set consisting of (0001-1002), (0101-1102), (0201-1003) and (0301-1103), Indicates a case where is subject to retransmission.
ここで、0000および0001、0100および0101、0200および0201、0300および0301は、それぞれコピー元装置101に備わる制御モジュール00、01、02および03が有するバッファ201a、301a、401aおよび501aのバッファIDである。 Here, 0000 and 0001, 0100 and 0101, 0200 and 0201, 0300 and 0301 are buffer IDs of the buffers 201a, 301a, 401a and 501a included in the control modules 00, 01, 02 and 03 of the copy source apparatus 101, respectively. is there.
また、1000および1002、1100および1102、1001および1003、1101および1103は、それぞれ図6に示したコピー先装置111に備わる制御モジュール00、01、02および03が有するバッファ601a、701a、801aおよび901aのバッファIDである。 Further, 1000 and 1002, 1100 and 1102, 1001 and 1003, 1101 and 1103 are buffers 601a, 701a, 801a and 901a respectively included in the control modules 00, 01, 02 and 03 provided in the copy destination apparatus 111 shown in FIG. Buffer ID.
なお、図8に記載の記録バッファ201、301、401および501内は、バッファIDの一部を図示省略している。また、バッファセット記憶部202、302、402および502には、バッファセットの一部としてコピー元ID(例えば、0002、0102、0202、0302)が格納されている。
A part of the buffer ID is not shown in the recording buffers 201, 301, 401, and 501 shown in FIG. The buffer set storage units 202, 302, 402, and 502 store a copy source ID (eg, 0002, 0102, 0202, 0302) as a part of the buffer set.
(b)経路再開通を検出すると、コピー元装置101は、未使用バッファID記憶部203を参照し、未使用バッファID記憶部203に含まれる未使用バッファIDと、バッファセット記憶部202に記憶されている再転送対象のバッファセットにおけるコピー先IDと、が重複しないことを確認する。 (B) When the path resumption is detected, the copy source apparatus 101 refers to the unused buffer ID storage unit 203 and stores the unused buffer ID included in the unused buffer ID storage unit 203 and the buffer set storage unit 202. It is confirmed that the copy destination ID in the retransfer target buffer set is not duplicated.
未使用バッファIDが重複して矛盾が生じたと判断した場合、コピー元装置101は、未使用バッファID記憶部203から矛盾が生じないように新たな未使用バッファIDをコピー先装置111から取得し、コピー先IDに設定する。 If it is determined that a contradiction has occurred due to duplicate unused buffer IDs, the copy source apparatus 101 acquires a new unused buffer ID from the copy destination apparatus 111 so that no contradiction occurs from the unused buffer ID storage unit 203. Set to the copy destination ID.
(c)再転送対象のバッファセットにおけるコピー先IDがコピー先装置111から通知された未使用バッファIDが経路閉塞前と同じ場合、すなわち、未使用バッファID記憶部203に含まれる未使用バッファIDと、バッファセット記憶部202に記憶されている再転送対象のバッファセットにおけるコピー先IDと、に重複するなどの矛盾がなければ、コピー元装置101は、そのままの状態から転送処理(リモートコピー処理)を再開する。矛盾が解消された場合も、コピー元装置101は、転送処理を再開する。 (C) When the unused buffer ID notified from the copy destination apparatus 111 is the same as that before the path is blocked, that is, the unused buffer ID included in the unused buffer ID storage unit 203 in the buffer set to be retransferred. If there is no contradiction such as an overlap between the copy destination ID in the buffer set to be retransferred stored in the buffer set storage unit 202, the copy source apparatus 101 performs transfer processing (remote copy processing) as it is. ) To resume. Even when the contradiction is resolved, the copy source apparatus 101 resumes the transfer process.
図9Aおよび図9Bは、本実施例に係るリモートコピー処理の概要を示すフローチャートである。以下、図9Aおよび図9Bに基づいて、本実施例に係るリモートコピー処理の概要を説明する。 9A and 9B are flowcharts showing an overview of the remote copy processing according to the present embodiment. The outline of the remote copy processing according to this embodiment will be described below with reference to FIGS. 9A and 9B.
ステップS900aにおいて、リモートコピー処理が開始されると、コピー元装置101は、処理をステップS901aに移行する。
ステップS901aにおいて、コピー元装置101は、バッファ初期構成処理を行なう。コピー元装置101は、例えば、あらかじめ設定された構成情報にしたがって、各制御モジュールに備わるメモリ200に、図2に示した構成の領域を確保し、各領域について初期化を行なう。
In step S900a, when the remote copy process is started, the copy source apparatus 101 moves the process to step S901a.
In step S901a, the copy source apparatus 101 performs buffer initial configuration processing. The copy source apparatus 101, for example, secures areas having the configuration shown in FIG. 2 in the memory 200 provided in each control module according to configuration information set in advance, and initializes each area.
ステップS902aにおいて、コピー元装置101は、コピー先装置111に対して、未使用バッファの通知を要求するために、未使用バッファ通知要求コマンドを発行する。
一方、ステップS901bにおいて、コピー先装置111は、ステップS901aと同様にバッファ初期構成処理を行なう。そして、コピー先装置111は、ステップS902bに処理を移行し、コピー元装置101からの未使用バッファ通知要求コマンドを受けるまで、当該コマンドを監視する(S902b NO)。
In step S902a, the copy source apparatus 101 issues an unused buffer notification request command to the copy destination apparatus 111 in order to request notification of an unused buffer.
On the other hand, in step S901b, the copy destination apparatus 111 performs buffer initial configuration processing in the same manner as in step S901a. Then, the copy destination apparatus 111 shifts the processing to step S902b and monitors the command until an unused buffer notification request command is received from the copy source apparatus 101 (S902b NO).
ステップS902bにおいて、コピー元装置101からの未使用バッファ通知要求コマンドを検出すると(S902b YES)、コピー先装置111は、処理をステップS903bに移行する。そして、コピー先装置111は、自身に備わる制御モジュールの記録バッファ201において、領域が解放された空きバッファを検索し、空きバッファを検出すると、当該バッファのバッファIDを未使用バッファIDとしてコピー元装置101に通知する。 In step S902b, when an unused buffer notification request command from the copy source apparatus 101 is detected (S902b YES), the copy destination apparatus 111 moves the process to step S903b. Then, the copy destination apparatus 111 searches for an empty buffer whose area has been released in the recording buffer 201 of the control module included in the copy destination apparatus 111. When the copy destination apparatus 111 detects an empty buffer, the copy source apparatus uses the buffer ID of the buffer as an unused buffer ID. 101 is notified.
ステップS903aにおいて、コピー元装置101は、バッファセット初期作成処理を行う。例えば、既にホスト109からのWrite I/O命令を受付けてそのWrite I/O命令とともに受信したWriteデータが、記録バッファ201のバッファ201aに記録されている場合、バッファ201aに記録されているバッファのバッファIDをコピー元IDとするコピー先IDが未定のバッファセットを生成し、生成したバッファセットをバッファセット記憶部202に記憶する。なお、本ステップでは、図3でも説明したように、コピー元装置101のバッファIDのみからなるバッファセットを生成しバッファセット記憶部202に記憶する。 In step S903a, the copy source apparatus 101 performs buffer set initial creation processing. For example, when the write I / O command from the host 109 has already been received and the write data received together with the write I / O command is recorded in the buffer 201a of the recording buffer 201, the buffer data recorded in the buffer 201a is stored. A buffer set whose copy destination ID is undetermined with the buffer ID as the copy source ID is generated, and the generated buffer set is stored in the buffer set storage unit 202. In this step, as described with reference to FIG. 3, a buffer set including only the buffer ID of the copy source apparatus 101 is generated and stored in the buffer set storage unit 202.
また、ステップS903aにおいて、コピー先装置111から未使用バッファIDの通知を受けると、コピー元装置101は、当該未使用バッファIDを未使用バッファID記憶部203に記憶する。そして、処理をステップS904aに移行する。 In step S903a, upon receiving notification of an unused buffer ID from the copy destination apparatus 111, the copy source apparatus 101 stores the unused buffer ID in the unused buffer ID storage unit 203. Then, the process proceeds to step S904a.
ステップS904aにおいて、コピー元装置101は、例えば、ホスト109からのWrite I/O命令を受付けると、当該命令とともに受信したWriteデータを、記録バッファ201のバッファ201aに格納する。また、ステップS903aと同様に、記憶したバッファのバッファIDをコピー元IDとするコピー先IDが未定のバッファセットを生成し、生成したバッファセットをバッファセット記憶部202に記憶する。 In step S904a, for example, when the copy source apparatus 101 receives a write I / O command from the host 109, the copy source apparatus 101 stores the write data received together with the command in the buffer 201a of the recording buffer 201. Similarly to step S903a, a buffer set whose copy destination ID is undetermined with the buffer ID of the stored buffer as a copy source ID is generated, and the generated buffer set is stored in the buffer set storage unit 202.
ステップS905aにおいて、コピー元装置101は、受付けた全てのWrite I/O命令について、バッファセット記憶部202へのバッファセットの格納が完了したか否かを判別する。バッファセット記憶部202へのバッファセットの格納が完了していないと判断した場合、コピー元装置101は、ステップS905aの処理を繰返す(S905a NO)。 In step S905a, the copy source apparatus 101 determines whether or not the buffer set storage in the buffer set storage unit 202 has been completed for all the received Write I / O instructions. When determining that the storage of the buffer set in the buffer set storage unit 202 has not been completed, the copy source apparatus 101 repeats the process of step S905a (NO in step S905a).
ステップS905aにおいて、バッファセット記憶部202へのバッファセットの格納が全て完了したと判断すると(S905a YES)、コピー元装置101は、処理をステップS906aに移行する。 If it is determined in step S905a that all buffer sets have been stored in the buffer set storage unit 202 (YES in step S905a), the copy source apparatus 101 moves the process to step S906a.
ステップS906aにおいて、コピー元装置101は、未使用バッファID記憶部203を参照する。そして、コピー元装置101は、未使用バッファIDが必要な数だけあるか否かを判別する。例えば、バッファセット記憶部202に格納されている全てのバッファセットにコピー先IDを設定できる分だけ未使用バッファIDがあるか否かを判別する。 In step S906a, the copy source apparatus 101 refers to the unused buffer ID storage unit 203. Then, the copy source apparatus 101 determines whether or not there are a necessary number of unused buffer IDs. For example, it is determined whether or not there are unused buffer IDs that can set copy destination IDs in all buffer sets stored in the buffer set storage unit 202.
そして、必要な数だけ未使用バッファIDがない場合(S906a NO)、コピー元装置101は、必要な数の未使用バッファIDを確認できるまでステップS906aの処理を繰返し行なう。また、必要な数の未使用バッファIDがあると判断すると、コピー元装置101は、処理をステップS907aに移行する(S906a YES)。 If the necessary number of unused buffer IDs does not exist (NO in S906a), the copy source apparatus 101 repeats the process in step S906a until the necessary number of unused buffer IDs can be confirmed. If it is determined that there are a required number of unused buffer IDs, the copy source apparatus 101 moves the process to step S907a (YES in S906a).
ステップS907aにおいて、コピー元装置101は、未使用バッファID記憶部203から、必要な数の未使用バッファIDを取得する。そして、コピー元装置101は、バッファセット記憶部202に設定されているバッファセットのコピー先IDとして、取得した未使用バッファIDを設定する(例えば、図4を参照)。この処理を「マッチング処理」という。 In step S907a, the copy source apparatus 101 acquires a necessary number of unused buffer IDs from the unused buffer ID storage unit 203. Then, the copy source apparatus 101 sets the acquired unused buffer ID as the copy destination ID of the buffer set set in the buffer set storage unit 202 (see, for example, FIG. 4). This process is called “matching process”.
ステップS908aにおいて、コピー先装置111は、バッファセット記憶部202に記憶されているバッファセットにしたがって、コピー元IDとコピー先IDが設定されたバッファセットおよびバッファセットに設定されているコピー元IDのバッファに格納されているデータおよびそのBITをコピー先装置111に送信する。 In step S908a, the copy destination apparatus 111 sets the copy source ID and the copy destination ID according to the buffer set stored in the buffer set storage unit 202, and the copy source ID set in the buffer set. The data stored in the buffer and its BIT are transmitted to the copy destination apparatus 111.
一方、コピー先装置111は、コピー元装置101からバッファセット等を受信すると、処理をステップS904bに移行する。
ステップS904bにおいて、コピー先装置111は、バッファセットの受信処理を行なう。例えば、コピー先装置111は、受信したバッファセットをバッファセット記憶部202に記憶し、バッファセットとともに受信したデータを記録バッファ201に記憶する。
On the other hand, when the copy destination apparatus 111 receives a buffer set or the like from the copy source apparatus 101, the process proceeds to step S904b.
In step S904b, the copy destination apparatus 111 performs buffer set reception processing. For example, the copy destination apparatus 111 stores the received buffer set in the buffer set storage unit 202 and stores the data received together with the buffer set in the recording buffer 201.
ステップS905bにおいて、コピー先装置111は、全てのバッファセットを受信したか否かを判別する。そして、まだ、全てのバッファセットを受信していないと判断すると(S905b NO)、コピー先装置111は、処理をステップS904bに移行し、ステップS904b〜S905bの処理を繰返す。 In step S905b, the copy destination apparatus 111 determines whether all the buffer sets have been received. If it is determined that all the buffer sets have not been received yet (NO in S905b), the copy destination apparatus 111 moves the process to step S904b and repeats the processes in steps S904b to S905b.
ステップS905bにおいて、全てのバッファセットを受信したと判断すると(S905b YES)、コピー先装置111は、処理をステップS906bに移行する
ステップS906bにおいて、コピー先装置111は、記録バッファ201のバッファ201aに記憶したデータを含む、ステップS904bで取得したバッファセットが、自身に備わる記憶装置のディスク装置に展開可能か否かを判断する。展開可能と判断すると(S906bYES)、コピー先装置111は、処理をステップS907bに移行する。
If it is determined in step S905b that all the buffer sets have been received (YES in S905b), the copy destination apparatus 111 moves the process to step S906b. In step S906b, the copy destination apparatus 111 stores the data in the buffer 201a of the recording buffer 201. It is determined whether or not the buffer set acquired in step S904b including the processed data can be expanded on the disk device of the storage device included in the buffer set. If it is determined that expansion is possible (S906b YES), the copy destination apparatus 111 moves the process to step S907b.
ステップS907bにおいて、コピー先装置111は、ステップS904bで取得したデータを、自身に備わるディスク装置に展開する。当該展開が終了すると、コピー先装置111は、処理をステップS908bに移行し、バッファセットの展開が完了した旨をコピー元装置101に通知する。以下、この通知を「バッファセット展開完了通知」という。 In step S907b, the copy destination apparatus 111 expands the data acquired in step S904b on the disk apparatus provided in itself. When the expansion ends, the copy destination apparatus 111 moves the process to step S908b and notifies the copy source apparatus 101 that the expansion of the buffer set has been completed. Hereinafter, this notification is referred to as “buffer set expansion completion notification”.
バッファセットのディスク装置への展開が終了すると、ステップS909bにおいて、コピー先装置111は、バッファセットの解放処理を行なう。例えば、バッファセットを記憶するバッファセット記憶部202、そのバッファのバッファIDを記憶する記録バッファ201の領域を解放する。 When the expansion of the buffer set to the disk device is completed, in step S909b, the copy destination device 111 performs a buffer set release process. For example, the areas of the buffer set storage unit 202 for storing the buffer set and the recording buffer 201 for storing the buffer ID of the buffer are released.
ステップS910bにおいて、コピー先装置111は、ステップS901bと同様に、解放した領域に新たにバッファセット記憶部202および記録バッファ201の領域を確保して、例えば、図2に示した構成を構築する。 In step S910b, similarly to step S901b, the copy destination apparatus 111 newly secures the areas of the buffer set storage unit 202 and the recording buffer 201 in the released area, and constructs the configuration shown in FIG. 2, for example.
以上の処理が終了すると、コピー先装置111は、処理をステップS911bに移行し、ステップS909b〜S910bの処理によって新たに使用可能となったバッファの未使用バッファIDをコピー元装置101に通知する。 When the above processing ends, the copy destination apparatus 111 shifts the process to step S911b, and notifies the copy source apparatus 101 of the unused buffer ID of the buffer that has become newly usable by the processes of steps S909b to S910b.
一方、ステップS909aにおいて、コピー元装置101は、コピー先装置111からのバッファセット展開完了通知を受信したか否かを判断する。そして、バッファセット展開完了通知を受信しない場合(S909a NO)には、ステップS909aの処理を繰り返す。また、コピー先装置111からバッファセット完了通知を受信すると(S909a YES)、コピー元装置101は、処理をステップS910aに移行する。 On the other hand, in step S909a, the copy source apparatus 101 determines whether or not a buffer set expansion completion notification from the copy destination apparatus 111 has been received. If the buffer set expansion completion notification is not received (NO in S909a), the process in step S909a is repeated. When the buffer set completion notification is received from the copy destination apparatus 111 (YES in S909a), the copy source apparatus 101 moves the process to step S910a.
ステップS910aにおいて、コピー元装置101は、ステップS908aでデータの転送が完了したバッファセットについて、ステップS909bと同様に、バッファセットの解放処理を行なう。そして、ステップS911aにおいて、コピー元装置101は、ステップS901aと同様に、バッファの再構築処理を行なう。 In step S910a, the copy source apparatus 101 performs buffer set release processing on the buffer set for which data transfer has been completed in step S908a, as in step S909b. In step S911a, the copy source apparatus 101 performs a buffer reconstruction process in the same manner as in step S901a.
以上の処理が終了すると、コピー元装置101は、リモートコピー処理を終了する、または、ステップS902aに処理を移行してリモートコピー処理を継続、若しくは、ホスト109から新たにWrite I/O命令を受付けると、S904a等に移行して、リモートコピー処理を継続する。また、コピー先装置111は、上述の処理が終了すると、リモートコピー処理を終了する、または、ステップS902bもしくは904b等に処理を移行してリモートコピー処理を継続する。
(本実施例に係るリモートコピー機能の具体的な処理)
図9Aおよび図9Bに示した本実施例に係るリモートコピー処理において、以下の処理についてより具体的に説明する。
When the above processing is completed, the copy source apparatus 101 ends the remote copy processing, shifts the processing to step S902a to continue the remote copy processing, or receives a new Write I / O command from the host 109. Then, the process proceeds to S904a and the like, and the remote copy process is continued. Further, when the above-described processing ends, the copy destination apparatus 111 ends the remote copy processing, or shifts the processing to step S902b or 904b and continues the remote copy processing.
(Specific processing of the remote copy function according to this embodiment)
In the remote copy processing according to the present embodiment shown in FIGS. 9A and 9B, the following processing will be described more specifically.
(1)バッファセット転送時におけるコピー元のバッファとコピー先のバッファとのマッチング処理(ステップS907a)。
(2)経路閉塞状態解消時に開始する転送処理を決定する処理。
(1) Matching processing between the copy source buffer and the copy destination buffer at the time of buffer set transfer (step S907a).
(2) A process for determining a transfer process to be started when the route blockage state is resolved.
(3)経路閉塞状態におけるI/O処理。
(4)経路閉塞状態解消後における未使用バッファID取得処理およびバッファセット転送再開処理。
(3) I / O processing in a route blockage state.
(4) An unused buffer ID acquisition process and a buffer set transfer restart process after the path blockage state is resolved.
(5)コピー先装置における経路閉塞状態検出時の処理。
(1)バッファセット転送時におけるコピー元のバッファとコピー先のバッファとのマッチング処理(ステップS907a)
図10は、図9Bに示したコピー先バッファ割り当て処理(ステップS907a)の具体的な処理を示すフローチャートである。なお、図10では、コピー元装置101に備わる制御モジュール全体を制御する制御モジュール(以下、「マスタ制御モジュール」という)と、その他の制御モジュールと、についての具体的な処理を示す。
(5) Processing at the time of detecting a path blocking state in the copy destination apparatus.
(1) Matching process between copy source buffer and copy destination buffer at the time of buffer set transfer (step S907a)
FIG. 10 is a flowchart showing a specific process of the copy destination buffer allocation process (step S907a) shown in FIG. 9B. FIG. 10 shows specific processing for a control module (hereinafter referred to as “master control module”) that controls the entire control module provided in the copy source apparatus 101 and other control modules.
ステップS1001aにおいて、マスタ制御モジュールは、未使用バッファID記憶部203を参照する。そして、未使用バッファID記憶部203に記録されている未使用バッファIDの数が、バッファセット記憶部202のバッファセットにおけるコピー先IDとして必要な数だけあるか否かを確認する。 In step S1001a, the master control module refers to the unused buffer ID storage unit 203. Then, it is confirmed whether or not the number of unused buffer IDs recorded in the unused buffer ID storage unit 203 is a necessary number as copy destination IDs in the buffer set of the buffer set storage unit 202.
そして、ステップS1001aにおいて、必要な数の未使用バッファIDを確認できない場合(S1001a NO)、マスタ制御モジュールは、処理をステップS1002aに移行する。そして、マスタ制御モジュールは、S1002aにてコピー先装置111からの未使用バッファ通知を待ち、未使用バッファ通知を受付けると、処理をステップS1001aに移行する。 If the necessary number of unused buffer IDs cannot be confirmed in step S1001a (NO in S1001a), the master control module moves the process to step S1002a. In step S1002a, the master control module waits for an unused buffer notification from the copy destination apparatus 111. When the master control module receives the unused buffer notification, the process proceeds to step S1001a.
また、ステップS1001aにおいて、必要な数の未使用バッファIDを確認すると(S1001a YES)、マスタ制御モジュールは、処理をステップS1003aに移行する。 If the necessary number of unused buffer IDs is confirmed in step S1001a (YES in S1001a), the master control module shifts the process to step S1003a.
ステップS1003aにおいて、マスタ制御モジュールは、未使用バッファID記憶部203から必要な数の未使用バッファIDを取得する。そして、既にステップS904aにおいてバッファセット記憶部202にセットされたバッファセットにおけるコピー先IDに、取得した未使用バッファIDを設定する。これにより、コピー元バッファとコピー先バッファとのマッチングが行なわれる。 In step S1003a, the master control module obtains the necessary number of unused buffer IDs from the unused buffer ID storage unit 203. Then, the acquired unused buffer ID is set as the copy destination ID in the buffer set already set in the buffer set storage unit 202 in step S904a. Thus, matching between the copy source buffer and the copy destination buffer is performed.
このマッチング処理が終了すると、マスタ制御モジュールは、他の制御モジュールに対して、バッファセット情報の多重化依頼を通知する。
一方、ステップS1001bにおいて、マスタ制御モジュールからバッファセット情報の多重化依頼の通知を受けると、各制御モジュールは、バッファセット情報の多重化処理を行なう。ここで、バッファセット情報の多重化処理とは、コピー元装置101またはコピー先装置111に備わる全ての制御モジュールに同一のバッファセット情報を保持させる処理である。
When this matching process is completed, the master control module notifies the other control modules of a buffer set information multiplexing request.
On the other hand, in step S1001b, upon receiving a buffer set information multiplexing request notification from the master control module, each control module performs buffer set information multiplexing processing. Here, the multiplexing process of buffer set information is a process of holding the same buffer set information in all the control modules provided in the copy source apparatus 101 or the copy destination apparatus 111.
例えば、マスタ制御モジュールから、ステップS1003aのマッチング処理が行なわれたバッファセットを取得する。そして、自身に備わるバッファセット記憶部202に取得したバッファセットを反映する。 For example, the buffer set that has undergone the matching process in step S1003a is acquired from the master control module. Then, the acquired buffer set is reflected in the buffer set storage unit 202 provided in itself.
そして、S1001bにおけるバッファセット情報の多重化処理が終了すると、各制御モジュールは、バッファセット情報の多重化処理の完了をマスタ制御モジュールに通知する。 When the buffer set information multiplexing process in S1001b is completed, each control module notifies the master control module of the completion of the buffer set information multiplexing process.
ステップS1005aにおいて、マスタ制御モジュールは、バッファセット情報の多重化処理の依頼をした制御モジュールの全てから応答を受信したか否かを確認する。そして、当該応答を全ての制御モジュールから受信したと判断すると(S1005a YES)、コピー先バッファ割り当て処理を終了し(ステップS1005a)、図9Bに示したステップS908aの処理に移行する。 In step S1005a, the master control module confirms whether or not responses have been received from all of the control modules that have requested the buffer set information multiplexing process. If it is determined that the response has been received from all control modules (YES in S1005a), the copy destination buffer allocation process is terminated (step S1005a), and the process proceeds to the process in step S908a shown in FIG. 9B.
以上に説明したように、従来のリモートコピー処理では、におけるバッファセット作成時に、コピー元IDとコピー先IDとのマッチング処理を行なっていたが、本実施例に係るリモートコピー処理では、ステップS904aのタイミングでは行わず、バッファへの格納処理が完了して転送処理を行う直前(ステップS907a)で行う。 As described above, in the conventional remote copy process, the matching process between the copy source ID and the copy destination ID is performed when the buffer set is created. However, in the remote copy process according to the present embodiment, the process of step S904a is performed. It is not performed at the timing, but is performed immediately before the transfer process is performed after the buffer storage process is completed (step S907a).
そのため、転送処理に関するバッファ以外に対して、転送処理と並行してデータの記憶処理を行うことができるため、コピー元装置101に備わる記録バッファ201およびバッファセット記憶部202を含むバッファを全て使用することが可能となる。例えば、ホスト109からのWrite I/Oに係るデータを、コピー元装置101に備わるバッファの容量がなくなるまで格納することが可能となる。 For this reason, since data storage processing can be performed in parallel with the transfer processing for buffers other than those related to the transfer processing, all the buffers including the recording buffer 201 and the buffer set storage unit 202 provided in the copy source apparatus 101 are used. It becomes possible. For example, data related to Write I / O from the host 109 can be stored until the buffer capacity of the copy source apparatus 101 runs out.
その結果、順序性を保証したリモートコピーに使用するバッファに関し、コピー先装置111に備わるバッファが、コピー元装置101に備わるバッファより少ない場合であっても、コピー元装置が有するバッファを有効に使用することが可能となる。 As a result, regarding the buffers used for remote copy that guarantees the order, even if the copy destination apparatus 111 has fewer buffers than the copy source apparatus 101, the buffers of the copy source apparatus are effectively used. It becomes possible to do.
(2)経路閉塞状態解消時に開始する転送処理を決定する処理
本実施例に係るリモートコピー処理では、コピー元装置101において、経路閉塞状態を検出すると、バッファHalt処理が実行されていた場合にはバッファHalt処理を中止し、各バッファセットの転送状況に応じて、経路閉塞状態解消時における再転送対象を決定する。本実施例では、下記の条件を満たすバッファセットを再転送対象とする。
(2) Processing for determining transfer processing to be started when route blockage state is resolved In the remote copy processing according to the present embodiment, when the path blockage state is detected in copy source apparatus 101, if buffer halt processing has been executed. The buffer halt process is stopped, and the retransfer target when the path blockage state is resolved is determined according to the transfer status of each buffer set. In this embodiment, a buffer set that satisfies the following conditions is a retransfer target.
1)転送済みの旧世代のバッファセット
2)転送中の旧世代のバッファセット
3)転送処理開始待ち状態にある旧世代のバッファセット
また、本実施例に係るリモートコピー処理では、経路閉塞状態解消時におけるバッファセットの再転送では、古い世代からバッファセットの転送を行なう。
1) Previous generation buffer set that has been transferred 2) Old generation buffer set that is being transferred 3) Old generation buffer set that is waiting for transfer processing start In the remote copy processing according to this embodiment, the path blockage state is resolved In the retransfer of the buffer set at the time, the buffer set is transferred from the old generation.
図11は、コピー元装置101において、経路閉塞状態解消後のバッファセット転送処理を決定する処理を示すフローチャートである。
ステップS1100aにおいて、経路閉塞状態を検出すると、コピー元装置101におけるマスタ制御モジュールは、処理をステップS1101aに移行する。
FIG. 11 is a flowchart showing processing for determining the buffer set transfer processing after the path blockage state is resolved in the copy source apparatus 101.
In step S1100a, when a path blockage state is detected, the master control module in the copy source apparatus 101 moves the process to step S1101a.
ステップS1101aにおいて、マスタ制御モジュールは、記録バッファ201もしくはバッファセット記憶部202を参照する。そして、マスタ制御モジュールは、1)転送済み、2)転送中、または3)転送処理開始待ち状態にある旧世代のバッファセットがあるか否かを確認する。 In step S1101a, the master control module refers to the recording buffer 201 or the buffer set storage unit 202. Then, the master control module checks whether there is an old generation buffer set that is 1) already transferred, 2) being transferred, or 3) waiting to start transfer processing.
ステップS1101aにおいて、1)、2)あるいは3)の条件に該当するバッファセットが検出されない場合(S1001a NO)、マスタ制御モジュールは、処理をステップS1104aに移行し、図11の処理を終了する。また、該当するバッファセットを検出した場合(S1101a YES)、マスタ制御モジュールは、処理をステップS1102aに移行する。 In step S1101a, when a buffer set corresponding to the condition 1), 2) or 3) is not detected (NO in S1001a), the master control module shifts the process to step S1104a and ends the process of FIG. If a corresponding buffer set is detected (S1101a YES), the master control module moves the process to step S1102a.
ステップS1102aにおいて、マスタ制御モジュールは、ステップS1101aで検出した該当バッファセットをバッファ転送の順序制御に使用するキュー(以下、「転送キュー」という)に追加する。この時、旧世代のバッファセットに係る転送キューの優先度を高くするようにキューイングを行なう。 In step S1102a, the master control module adds the corresponding buffer set detected in step S1101a to a queue used for buffer transfer order control (hereinafter referred to as “transfer queue”). At this time, queuing is performed so as to increase the priority of the transfer queue related to the old generation buffer set.
キューイング処理が終了すると、マスタ制御モジュールは、他の制御モジュールに対して、上述の転送キュー情報の多重化を依頼する通知を行なう。
一方、マスタ制御モジュールから転送キュー情報の多重化依頼の通知を受けると、各制御モジュールは、当該転送キュー情報をマスタ制御モジュールから取得し、自身に備わる転送キュー情報に反映させる(S1101b)。
When the queuing process is completed, the master control module notifies other control modules to request multiplexing of the transfer queue information described above.
On the other hand, when receiving a request for multiplexing transfer queue information from the master control module, each control module acquires the transfer queue information from the master control module and reflects it in the transfer queue information provided in itself (S1101b).
各制御モジュールは、S1101bの処理による転送キュー情報の反映が終了すると、マスタ制御モジュールに対して転送キュー情報の多重化が完了した旨の通知を行なう。
ステップS1103aにおいて、マスタ制御モジュールは、他の制御モジュールからの転送キュー情報の多重化の完了通知を確認する。そして、全ての制御モジュールから完了通知を受付けると(S1103a YES)、マスタ制御モジュールは、処理をステップS1104aに移行し、経路閉塞状態解消後のバッファセット転送処理を決定する処理を終了する。
When the transfer queue information is completely reflected by the processing of S1101b, each control module notifies the master control module that the transfer queue information has been multiplexed.
In step S1103a, the master control module confirms the completion notification of transfer queue information multiplexing from another control module. When the completion notification is received from all the control modules (YES in S1103a), the master control module shifts the process to step S1104a and ends the process of determining the buffer set transfer process after the path blockage state is resolved.
そして、経路閉塞状態が解消したことを検出すると、マスタ制御モジュールは、例えば、図8に説明した処理を行なった後に、キュー情報にしたがってバッファセットの再転送処理を行なう。 When detecting that the route blockage state has been resolved, the master control module performs the buffer set retransfer process according to the queue information after performing the process described in FIG. 8, for example.
なお、上述の転送済みのバッファセットとは、コピー先装置111への転送は完了しているが、コピー先装置111からバッファセット展開完了通知を受信していないバッファセットを示している。この場合、バッファの解放をせずにコピー先装置111からのバッファセット展開完了通知を待つ必要がある。 The above-mentioned transferred buffer set indicates a buffer set that has been transferred to the copy destination apparatus 111 but has not received a buffer set expansion completion notification from the copy destination apparatus 111. In this case, it is necessary to wait for a buffer set expansion completion notification from the copy destination apparatus 111 without releasing the buffer.
(3)経路閉塞状態におけるI/O処理
従来のリモートコピー処理では、コピー元装置において経路閉塞状態を検出した場合、バッファHalt処理によって、バッファに格納されていたデータをBIT情報に応じて、各セッションのビットマップに書き戻していた。そして、バッファHalt処理後の経路閉塞状態解消時に、書き戻したビットマップに応じて順序性を保障しないリモートコピー処理を行なっていた。この順序性を保障しないリモートコピーが動作している間のホストからのWrite I/O処理については、順序性を保障しないリモートコピーが行なわれていた。
(3) I / O processing in path blocked state In the conventional remote copy processing, when a path blocked state is detected in the copy source device, the data stored in the buffer by the buffer halt processing is changed according to the BIT information. I was writing back to the session bitmap. Then, when the path blockage state after the buffer halt processing is resolved, remote copy processing that does not guarantee the order according to the written back bitmap is performed. As for the write I / O processing from the host while the remote copy that does not guarantee the order is operating, the remote copy that does not guarantee the order is performed.
本実施例に係るリモートコピー処理では、経路閉塞状態を検出した場合、バッファHalt処理を行なわず、記録バッファ201およびバッファセット記憶部202(以下、あわせて単に「バッファ」という)を格納可能な状態にし、ホストからのWrite I/Oを可能な限りバッファへ格納する。 In the remote copy processing according to the present embodiment, when the path blockage state is detected, the recording buffer 201 and the buffer set storage unit 202 (hereinafter simply referred to as “buffer”) can be stored without performing the buffer halt processing. Then, write I / O from the host is stored in the buffer as much as possible.
ただし、新たにデータを格納する領域がバッファになくなった状態でさらにホストからのWrite I/O等を受付けた場合は、バッファ切り替え依頼を行い、バッファ切り替えができない場合は、バッファHalt処理を行なう。 However, when a new I / O or the like is received from the host in a state where there is no new data storage area in the buffer, a buffer switching request is made. If the buffer cannot be switched, a buffer halt process is performed.
図12は、コピー元装置101において経路閉塞状態を検出した時のバッファの状態変更処理を示すフローチャートである。
ステップS1200aにおいて、経路閉塞状態を検出すると、マスタ制御モジュールは、処理をステップS1201aに移行する。
FIG. 12 is a flowchart showing buffer state change processing when a path blockage state is detected in the copy source apparatus 101.
In step S1200a, when the path blockage state is detected, the master control module shifts the process to step S1201a.
ここで、本実施例に係るバッファは、少なくとも3つの状態(Halt、ActiveおよびBuffering)を遷移する。例えば、経路閉塞状態を検出すると、連動して、バッファはBufferingの状態になる。Buffering状態の場合、バッファへのデータの格納はできるが、バッファに格納されたデータの送信ができない。また、Haltの場合、ホスト109からWrite I/O命令を受信してもバッファへのデータ格納はできない。Active状態は、バッファへのデータの格納が可能で、バッファに格納されたデータの送信もできる。 Here, the buffer according to the present embodiment transits at least three states (Halt, Active, and Buffering). For example, when a path blockage state is detected, the buffer enters a buffering state in conjunction with it. In the buffering state, data can be stored in the buffer, but data stored in the buffer cannot be transmitted. In the case of Halt, data cannot be stored in the buffer even if a write I / O command is received from the host 109. In the Active state, data can be stored in the buffer, and data stored in the buffer can also be transmitted.
ステップS1201aにおいて、マスタ制御モジュールは、バッファの状態をActive状態からBuffering状態に変更する。そして、マスタ制御モジュールは、他の制御モジュールに対して、バッファ状態の多重化依頼を通知する。 In step S1201a, the master control module changes the buffer state from the active state to the buffering state. Then, the master control module notifies the other control modules of the buffer status multiplexing request.
一方、マスタ制御モジュールからバッファ状態の多重化依頼の通知を受けると、各制御モジュールは、処理をステップS1201bに移行する。そして、自身のバッファ状態をBuffering状態に変更する。 On the other hand, when receiving a buffer status multiplexing request notification from the master control module, each control module proceeds to step S1201b. Then, its own buffer state is changed to the Buffering state.
S1201bにてバッファ状態のBuffering状態への変更が終了した制御モジュールは、マスタ制御モジュールに対して、バッファ状態の多重化が完了した旨を通知する。 The control module that has finished changing the buffer state to the buffering state in S1201b notifies the master control module that the multiplexing of the buffer state has been completed.
ステップS1202aにおいて、マスタ制御モジュールは、制御モジュールからのバッファ状態の多重化の完了通知を確認する。そして、全ての制御モジュールから完了通知を受付けると(S1202a YES)、マスタ制御モジュールは、処理をステップS1203aに移行し、バッファの状態変更処理を終了する。 In step S1202a, the master control module confirms the completion notification of the buffer status multiplexing from the control module. When the completion notification is received from all the control modules (S1202a YES), the master control module shifts the process to step S1203a and ends the buffer state change process.
図13は、経路閉塞状態におけるコピー元装置101でのI/O処理を示すフローチャートである。
S1300でホスト109からWrite I/O命令を受付けると、Write I/O命令を受付けたコピー元装置101における制御モジュールは、処理をステップS1301に移行する。
FIG. 13 is a flowchart showing I / O processing in the copy source apparatus 101 in the path blocked state.
When the write I / O command is received from the host 109 in S1300, the control module in the copy source apparatus 101 that has received the write I / O command shifts the processing to step S1301.
ステップS1301において、Write I/O命令を受信した制御モジュールは、記録バッファ201およびバッファセット記憶部202(以下、必要に応じて両者をあわせて単に「バッファ」という)の状態を参照する。そして、バッファがデータを格納な状態か否かを確認する。そして、制御モジュールは、当該バッファがActive状態かBuffering状態以外の状態の場合(S1301 NO)、データをバッファに格納可能な状態でないと判断し、処理をステップS1302に移行する。そして、制御モジュールはS1302で、自身に備わるメモリ等にあらかじめ用意されたビットマップにWrite I/Oを記録する。 In step S1301, the control module that has received the Write I / O command refers to the states of the recording buffer 201 and the buffer set storage unit 202 (hereinafter, both are simply referred to as “buffer” if necessary). Then, it is confirmed whether or not the buffer is in a state of storing data. If the buffer is in a state other than the active state or the buffering state (NO in S1301), the control module determines that the data cannot be stored in the buffer, and the process proceeds to step S1302. In step S1302, the control module records Write I / O in a bitmap prepared in advance in a memory provided in the control module.
一方、ステップS1301において、バッファの状態がActive状態かBuffering状態の場合(S1301 YES)、制御モジュールはバッファに対してデータを格納可能な状態と判断し、処理をステップS1303に移行する。 On the other hand, in step S1301, when the buffer state is the active state or the buffering state (YES in S1301), the control module determines that data can be stored in the buffer, and the process proceeds to step S1303.
ステップS1303において、制御モジュールは、格納対象のバッファにデータを格納可能な領域があるか否かを確認する。データを格納可能な領域がないと判断した場合(S1303 NO)、制御モジュールは、処理をステップS1304に移行する。そして、制御モジュールはS1304において、マスタ制御モジュールに対して、バッファセットの切替えを依頼する。 In step S1303, the control module checks whether there is an area where data can be stored in the buffer to be stored. If it is determined that there is no area where data can be stored (NO in S1303), the control module moves the process to step S1304. In step S1304, the control module requests the master control module to switch the buffer set.
S1304によるバッフ切替依頼を受付けると、マスタ制御モジュールは、自身のバッファセットの切替えを行なうとともに、他の制御モジュールに対してもバッファの切替依頼通知を行なう。制御モジュールは、切替えたバッファにWrite I/Oを格納することになる。なお、バッファ切替えができない場合、バッファHalt処理が行なわれる。 Upon accepting the buffer switching request in S1304, the master control module switches its own buffer set, and also notifies other control modules of buffer switching requests. The control module stores Write I / O in the switched buffer. If the buffer cannot be switched, buffer halt processing is performed.
ステップS1303において、データを格納する領域があると判断した場合(S1303 YES)、制御モジュールは、処理をステップS1305に移行し、データを格納するための領域を獲得する。そして、処理をステップS1306に移行する。 If it is determined in step S1303 that there is an area for storing data (YES in S1303), the control module moves the process to step S1305 to acquire an area for storing data. Then, the process proceeds to step S1306.
ステップS1306において、ホスト109によるWrite I/O処理が行なわれる。この時、制御モジュールは、ホスト109からのWrite I/O命令にしたがって、自身に備わるディスク装置にデータの書き込み等を行なう。そして、制御モジュールは、処理をステップS1307またはS1308に移行する。 In step S1306, a write I / O process by the host 109 is performed. At this time, the control module writes data to the disk device provided in the control module in accordance with the Write I / O command from the host 109. Then, the control module moves the process to step S1307 or S1308.
例えば、バッファに格納するWriteデータがない場合には、ステップS1307に処理を移行する。また、バッファに格納するWriteデータがある場合には、ステップS1308に移行し、Writeデータをバッファにコピーする。 For example, if there is no write data to be stored in the buffer, the process proceeds to step S1307. If there is write data to be stored in the buffer, the process proceeds to step S1308 to copy the write data to the buffer.
(4)経路閉塞状態解消後における未使用バッファID取得処理およびバッファセット転送再開処理
コピー元装置101において、経路閉塞状態を検出し、図12で説明した(2)の処理、図13で説明した(3)の処理が行なわれ、経路閉塞状態が解消した場合、コピー元装置101からコピー先装置111に対して、経路閉塞中のコピー元装置101の状態に応じて、以下の2つのパターンのバッファ通知要求処理を行う。
(4) Unused buffer ID acquisition processing and buffer set transfer resumption processing after route blockage state cancellation In the copy source apparatus 101, the route block state is detected, and the process (2) described in FIG. 12 and described in FIG. When the process of (3) is performed and the path blocking state is resolved, the following two patterns are transferred from the copy source apparatus 101 to the copy destination apparatus 111 in accordance with the state of the copy source apparatus 101 in the path blocking state. Perform buffer notification request processing.
1)経路閉塞状態にバッファHalt処理が行なわれていない場合。
2)経路閉塞状態にバッファHalt処理が行なわれた場合。
上記パターン2)の場合は、コピー元装置101で既にバッファHalt処理が行なわれているため、バッファがクリアされている。したがって、コピー先装置111でもバッファHalt処理を行なってバッファをクリアする必要がある。コピー先装置でバッファHalt処理を行う契機として、コピー元装置101でバッファHalt処理を行なった旨を示したバッファ通知要求をコピー先装置に対して発行する。バッファ通知要求を受けたコピー元装置101は、リトライを意図するエラーをコピー元装置に応答しつつ、コピー先装置のバッファHalt処理を行なう。
1) When the buffer halt processing is not performed in the route blockage state.
2) When the buffer halt process is performed in the path blocked state.
In the case of the above pattern 2), since the buffer halt processing has already been performed in the copy source apparatus 101, the buffer is cleared. Therefore, the copy destination apparatus 111 also needs to clear the buffer by performing the buffer halt processing. As a trigger for performing the buffer halt process in the copy destination apparatus, a buffer notification request indicating that the buffer halt process has been performed in the copy source apparatus 101 is issued to the copy destination apparatus. Upon receiving the buffer notification request, the copy source apparatus 101 performs buffer halt processing of the copy destination apparatus while responding to the copy source apparatus with an error intended to be retried.
コピー先装置からのエラーを受信したコピー元装置101は、エラー受信から一定時間経過後にバッファ通知要求をコピー先装置に対して行うが、このときは、上記パターン1)の通知、つまり経路閉塞中にバッファHalt処理が行なわれていない旨の通知でバッファ通知要求を発行する。 The copy source apparatus 101 that has received an error from the copy destination apparatus issues a buffer notification request to the copy destination apparatus after a predetermined time has elapsed since the error was received. At this time, the notification of the above pattern 1), that is, the path is being blocked. A buffer notification request is issued with a notification that the buffer halt processing has not been performed.
1)経路閉塞状態でバッファHalt処理が行なわれていない場合
図14Aおよび図14Bは、経路閉塞状態解消後における未使用バッファID取得処理およびバッファセット転送再開処理を示すフローチャートである。以下、必要に応じて、コピー元装置101のマスタ制御モジュールを「コピー元マスタ制御モジュール」といい、コピー元装置101の制御モジュールを「コピー元制御モジュール」という。また、コピー先装置111のマスタ制御モジュールを「コピー先制御モジュール」という。
1) When Buffer Halt Processing is not Performed in Route Blocked State FIGS. 14A and 14B are flowcharts showing unused buffer ID acquisition processing and buffer set transfer restart processing after the route blocked state is resolved. Hereinafter, as necessary, the master control module of the copy source apparatus 101 is referred to as a “copy source master control module”, and the control module of the copy source apparatus 101 is referred to as a “copy source control module”. The master control module of the copy destination apparatus 111 is referred to as a “copy destination control module”.
ステップS1400aにおいて、コピー元マスタ制御モジュールは、経路の再開通を検出すると、処理をステップS1401aに移行する。
ステップS1401aにおいて、コピー元マスタ制御モジュールは、コピー先装置111に対してバッファ通知要求のコマンドを発行する。この時、当該コマンドには、バッファHalt処理が行なわれていない旨の情報が付される。
In step S1400a, when the copy source master control module detects resumption of the path, the process proceeds to step S1401a.
In step S1401a, the copy source master control module issues a buffer notification request command to the copy destination apparatus 111. At this time, information indicating that the buffer halt processing is not performed is attached to the command.
ステップS1402aにいて、コピー元マスタ制御モジュールは、自身のバッファ状態をBuffering状態からActive状態に変更する。さらに、コピー元装置101に備わる他のコピー元制御モジュールに対して、バッファ状態をBuffering状態からActive状態へ変更するように依頼する。 In step S1402a, the copy source master control module changes its buffer state from the Buffering state to the Active state. Further, it requests another copy source control module provided in the copy source apparatus 101 to change the buffer state from the Buffering state to the Active state.
一方、ステップS1401bにおいて、コピー元マスタ制御モジュールからバッファ状態の変更依頼を受付けると、各コピー元制御モジュールは、自身のバッファ状態をBuffering状態からActive状態に変更し、変更が完了した旨をコピー元マスタ制御モジュールに通知する。 On the other hand, in step S1401b, upon receiving a buffer status change request from the copy source master control module, each copy source control module changes its buffer status from the Buffering status to the Active status, and indicates that the change has been completed. Notify the master control module.
ステップS1403aにおいて、コピー元マスタ制御モジュールは、依頼した全ての制御モジュールから、バッファ状態の変更完了の通知を受付けたか否かをチェックする。そして、依頼した全ての制御モジュールから通知を受付けると(S1403a YES)、コピー元マスタ制御モジュールは、処理をステップS1404aに移行する。 In step S1403a, the copy source master control module checks whether or not a notification of completion of buffer state change has been received from all requested control modules. When the notification is received from all requested control modules (YES in S1403a), the copy source master control module moves the process to step S1404a.
一方、ステップS1401cにおいて、コピー先マスタ制御モジュールは、コピー元装置101からバッファ通知要求を受付けると、処理をステップS1402cに移行する。
コピー先マスタ制御モジュールは、バッファの使用状況を確認し、ステップS1402cにおいてバッファ通知コマンドを発行して未使用のバッファ、つまり解放済みバッファをコピー元マスタ制御モジュールに対して通知する。
On the other hand, when the copy destination master control module receives a buffer notification request from the copy source apparatus 101 in step S1401c, the process proceeds to step S1402c.
The copy destination master control module confirms the buffer usage status and issues a buffer notification command in step S1402c to notify the copy source master control module of an unused buffer, that is, a released buffer.
ステップS1404aにおいて、コピー先装置111からバッファ通知コマンドを受信すると、コピー元マスタ制御モジュールは、処理をステップS1405aに移行する。
ステップS1405aにおいて、コピー元マスタ制御モジュールは、自身のバッファを参照し、再転送すべき世代があるか否かを確認する。再転送すべき世代がないと判断した場合(S1405a NO)、コピー元マスタ制御モジュールは、処理をステップS1406aに移行し、通常動作を再開する。また、転送すべき世代があると判断した場合(S1405a YES)、コピー元マスタ制御モジュールは、処理をステップS1407aに移行する。
In step S1404a, when receiving a buffer notification command from the copy destination apparatus 111, the copy source master control module shifts the processing to step S1405a.
In step S1405a, the copy source master control module refers to its own buffer and confirms whether there is a generation to be retransferred. If it is determined that there is no generation to be retransmitted (NO in S1405a), the copy source master control module moves the process to step S1406a and resumes normal operation. If it is determined that there is a generation to be transferred (S1405a YES), the copy source master control module shifts the processing to step S1407a.
ステップS1407aにおいて、コピー元マスタ制御モジュールは、再転送の対象となっている世代のバッファセットに設定されているバッファIDと、ステップS1404aで受信したバッファIDと、に矛盾がないか否かをチェックする。 In step S1407a, the copy source master control module checks whether there is a contradiction between the buffer ID set in the buffer set of the generation to be retransferred and the buffer ID received in step S1404a. To do.
例えば、コピー元マスタ制御モジュールは、再転送の対象となっている世代のバッファセットのコピー先IDに設定されているバッファIDとステップS1404aで受信したバッファIDとが重複するか否かをチェックし、重複する場合、矛盾があると判断し(S1407 NO)、処理をステップS1408aに移行し、バッファHalt処理を実行する。 For example, the copy source master control module checks whether or not the buffer ID set in the copy destination ID of the buffer set of the generation to be retransferred overlaps with the buffer ID received in step S1404a. If they overlap, it is determined that there is a contradiction (NO in S1407), the process proceeds to step S1408a, and the buffer halt process is executed.
また、ステップS1407aにおいて、再転送の対象となっている世代のバッファセットに設定されているバッファIDとステップS1404aで受信したバッファIDとが重複しない場合(S1407a YES)、コピー元マスタ制御モジュールは、処理をステップS1409aに移行し、転送処理を開始する。 In step S1407a, when the buffer ID set in the buffer set of the generation to be retransferred and the buffer ID received in step S1404a do not overlap (YES in S1407a), the copy source master control module The processing moves to step S1409a and starts transfer processing.
2)経路閉塞状態でバッファHalt処理が行なわれた場合
図15は、経路閉塞状態解消後における未使用バッファID取得処理およびバッファセット転送再開処理を示すフローチャートである。
2) When Buffer Halt Processing is Performed in Route Blocked State FIG. 15 is a flowchart showing unused buffer ID acquisition processing and buffer set transfer restart processing after the route blocked state is resolved.
ステップS1500aにおいて、コピー元マスタ制御モジュールは、経路の再開通を検出すると、処理をステップS1501aに移行する。
ステップS1501aにおいて、コピー元マスタ制御モジュールは、コピー先装置111に対してバッファ通知要求のコマンドを発行する。この時、当該コマンドには、バッファHalt処理が行なわれた旨の情報が付される。
In step S1500a, when the copy source master control module detects resumption of the path, the process proceeds to step S1501a.
In step S1501a, the copy source master control module issues a buffer notification request command to the copy destination apparatus 111. At this time, information indicating that the buffer halt processing has been performed is attached to the command.
一方、ステップS1501bにおいて、コピー先マスタ制御モジュールは、コピー元装置101から送られたバッファ通知要求のコマンドを受信すると、処理をステップS1502bに移行する。 On the other hand, when the copy destination master control module receives the buffer notification request command sent from the copy source apparatus 101 in step S1501b, the process proceeds to step S1502b.
ステップS1502bにおいて、コピー先マスタ制御モジュールは、バッファ通知要求コマンドに付された情報から、コピー元装置101においてバッファHalt処理が行なわれたことを検出すると、コピー元装置101に対してエラー応答を返す。そして、ステップS1503bに移行し、処理を終了する。 In step S1502b, when the copy destination master control module detects from the information attached to the buffer notification request command that the buffer halt process has been performed in the copy source apparatus 101, it returns an error response to the copy source apparatus 101. . Then, the process proceeds to step S1503b, and the process ends.
ステップS1502aにおいて、コピー先マスタ制御モジュールは、コピー先装置111からエラー応答を受付けると、エラー応答受信から一定時間待ってからステップS1501aの処理を1度だけ実行する。そして、処理をステップS1503に移行する。 In step S1502a, when the copy destination master control module receives an error response from the copy destination device 111, the copy destination master control module waits for a predetermined time from the reception of the error response and then executes the process of step S1501a only once. Then, the process proceeds to step S1503.
(5)コピー先装置における経路閉塞状態検出時の処理
図16は、経路閉塞状態検出時におけるコピー先装置111での処理を示すフローチャートである。
(5) Processing at the time of detecting the path blocking state in the copy destination apparatus FIG. 16 is a flowchart showing the processing at the copy destination apparatus 111 when the path blocking state is detected.
ステップS1600において、コピー先装置111のマスタ制御モジュールは、既にコピー元装置101から転送されたデータが記憶されている世代のバッファのデータのディスク装置への展開処理が完了すると、処理をステップS1601に移行する。そして、経路閉塞が起きているか否かをチェックする。 In step S1600, when the master control module of the copy destination apparatus 111 completes the process of expanding the data of the generation buffer in which the data already transferred from the copy source apparatus 101 is stored in the disk apparatus, the process proceeds to step S1601. Transition. Then, it is checked whether a path blockage has occurred.
ステップS1601において、経路閉塞を検出した場合(S1601 YES)、マスタ制御モジュールは、処理をステップS1602に移行し、図14Aおよび図14B、または、図15に示した処理の実行待ちとなる。 If a path blockage is detected in step S1601 (YES in S1601), the master control module shifts the process to step S1602, and waits for execution of the process shown in FIG. 14A and FIG. 14B or FIG.
また、ステップS1601において、経路閉塞を検出しない場合(S1601 NO)、マスタ制御モジュールは、処理をステップS1603に移行し、ディスクへの展開処理が完了したバッファの次の世代のバッファに記憶されているデータのディスク装置への展開処理を開始する。
(本実施例に係るリモートコピー処理の変形例)
図17および図18に示すコピー元装置3301およびコピー先装置3302は、図33に示すコピー元装置3301およびコピー先装置3302と同じ構成であるが、本変形例についての説明を容易にするために、バッファセット記憶部を図示省略している。
If the path blockage is not detected in step S1601 (NO in S1601), the master control module shifts the process to step S1603 and stores it in the buffer of the next generation after the buffer expansion processing is completed. The process of expanding data to the disk device is started.
(Modified example of remote copy processing according to this embodiment)
The copy source device 3301 and the copy destination device 3302 shown in FIGS. 17 and 18 have the same configuration as the copy source device 3301 and the copy destination device 3302 shown in FIG. 33, but in order to facilitate the description of this modification example. The buffer set storage unit is not shown.
順序性を保証したリモートコピー機能では、図17に示すように、(a)ホスト109からWrite I/O命令を受付けると、各制御モジュールは当該命令にしたがってWriteデータをディスク装置108a、108bに記憶する。同時に、(b)各制御モジュールは、Writeデータを転送してバッファに格納する。この時、Writeデータは、バッファセット単位で管理される。 In the remote copy function that guarantees the order, as shown in FIG. 17, (a) when a write I / O command is received from the host 109, each control module stores the write data in the disk devices 108a and 108b according to the command. To do. At the same time, (b) each control module transfers Write data and stores it in the buffer. At this time, the write data is managed in units of buffer sets.
そして、(c)バッファへのWriteデータの書込みが完了すると、制御モジュールは、当該Writeデータについて、バッファセット単位でデータ転送を実行し、リモートコピー処理を開始する。 Then, (c) when the writing of the write data to the buffer is completed, the control module executes data transfer for each write data in units of buffer sets, and starts remote copy processing.
(d)リモートコピーによってコピー元装置101から送られたWriteデータは、コピー先装置111の各制御モジュールに備わるバッファに記憶される。すると、制御モジュールは、バッファに記憶されたWriteデータをディスク装置1701a、1701bに反映する。 (D) Write data sent from the copy source apparatus 101 by remote copy is stored in a buffer provided in each control module of the copy destination apparatus 111. Then, the control module reflects the write data stored in the buffer on the disk devices 1701a and 1701b.
以上の処理が完了すると、(e)コピー元装置101およびコピー先装置111の制御モジュールは、バッファやBITを開放する。
しかし、図18に示すように、コピー元装置101で転送したバッファやBITのメモリ領域は、コピー先装置111でデータがディスク装置に展開されるまで解放されずに保持される。このため、(f)コピー先装置111での反映処理の遅延や、筐体間の回線状態により転送処理に遅延が発生すると、コピー先装置111のバッファやBITを格納するメモリの解放ができない。
When the above processing is completed, (e) the control modules of the copy source device 101 and the copy destination device 111 release the buffer and BIT.
However, as shown in FIG. 18, the buffer and BIT memory areas transferred by the copy source apparatus 101 are held without being released until the data is expanded on the disk apparatus by the copy destination apparatus 111. For this reason, (f) if a delay occurs in the transfer process due to a delay in the reflection process in the copy destination apparatus 111 or a line state between the casings, it is not possible to release the buffer or the memory storing the BIT in the copy destination apparatus 111.
例えば、筐体間の回線帯域の低さや不安定などにより転送処理に遅延が発生すると、その分コピー先装置111のバッファやBITのメモリ域は使用中の状態が長くなり、その間メモリの解放ができなくなる。 For example, if the transfer process is delayed due to the low bandwidth or instability between the cabinets, the buffer area of the copy destination apparatus 111 and the memory area of the BIT become longer in use, and the memory is released during that time. become unable.
(g)このような状態でコピー元装置101に対してホストからWrite I/O命令を受けると、当該命令を受ける度に、コピー元装置101は、Writeデータをバッファに格納するためバッファを次々と消費する。 (G) When a write I / O command is received from the host to the copy source apparatus 101 in such a state, each time the command is received, the copy source apparatus 101 stores buffers one after another in order to store write data in the buffer. And consume.
(h)データを格納可能なバッファのメモリ領域を確保できなくなり、コピー元装置のバッファ枯渇が発生してしまう場合が考えられる。また、設定されているバッファの大きさ以上にWriteデータが大きい場合でも、同様にバッファ枯渇が発生してしまう場合が考えられる。 (H) It is conceivable that the memory area of the buffer capable of storing data cannot be secured, and the buffer of the copy source apparatus is depleted. In addition, even when the write data is larger than the set buffer size, it is possible that the buffer depletion similarly occurs.
バッファ枯渇の状態では、ホストからのWrite I/Oをコピー元装置101内部で処理させずに止めているため、この状態を長く継続することはできない。そのため、(i)一時的にI/O処理を停止し、一定時間経過してもバッファ枯渇状態が解消されない場合は、バッファHalt処理を行なう。バッファHalt処理によりバッファ状態をクリアするとともにI/O処理を再開させる。 In the buffer depleted state, the write I / O from the host is stopped without being processed inside the copy source apparatus 101, and this state cannot be continued for a long time. For this reason, (i) I / O processing is temporarily stopped, and buffer halt processing is performed when the buffer exhaustion state is not resolved even after a predetermined time has elapsed. The buffer state is cleared by the buffer halt process and the I / O process is restarted.
この時、バッファ内のWriteデータ等の情報は専用のビットマップへ書き戻され、当該ビットマップを元に順序性を保障しないリモートコピー転送が行なわれる。したがって、順序性を保障したリモートコピーが中断されてしまう。 At this time, information such as Write data in the buffer is written back to a dedicated bitmap, and remote copy transfer that does not guarantee the order based on the bitmap is performed. Therefore, the remote copy that ensures the order is interrupted.
そこで、本実施例に係る変形例では、メモリ上のバッファセットを一時的に退避させる領域をディスク装置に確保する。以下、このディスク装置に確保された領域を「退避用バッファ」という。そして、メモリ上のバッファ(以下、必要に応じて「キャッシュバッファ」という)の使用状況に応じて、バッファセットを退避用バッファ190に退避する。この一連の処理を「バッファ退避処理」という。 Therefore, in the modification according to the present embodiment, an area for temporarily saving the buffer set on the memory is secured in the disk device. Hereinafter, the area secured in the disk device is referred to as “evacuation buffer”. Then, the buffer set is saved in the save buffer 190 according to the usage status of the buffer on the memory (hereinafter referred to as “cache buffer” as necessary). This series of processing is referred to as “buffer saving processing”.
例えば、コピー元装置101では、メモリ上にバッファの空き領域が少なくなると、転送対象となっているバッファセットをすぐにコピー先装置111に転送せずに退避用バッファ190に退避してメモリ上のバッファの空き領域を一定以上確保することにより、新たにWrite I/O命令を受付けてもバッファ枯渇となることを防止することができる。 For example, in the copy source apparatus 101, when the free space of the buffer is reduced in the memory, the buffer set to be transferred is immediately transferred to the save buffer 190 without being transferred to the copy destination apparatus 111 and is stored in the memory. By ensuring a certain amount of free space in the buffer, it is possible to prevent the buffer from being exhausted even if a new Write I / O instruction is received.
そして、コピー先装置111に転送・反映されてバッファセットの領域が解放されると、解放されたバッファの領域に退避用バッファ190に退避されたバッファセットを格納し、転送処理を継続する。図19〜図21にバッファ退避処理の概要を示す。 When the buffer set area is released by being transferred / reflected to the copy destination apparatus 111, the buffer set saved in the save buffer 190 is stored in the released buffer area, and the transfer process is continued. 19 to 21 show an outline of the buffer saving process.
図19および図20は、本実施例に係るバッファ退避処理を説明する図である。
図19は、バッファセット1−4が、転送中またはコピー先装置111における展開処理待ちのため使用中となっている状態で、Write I/O命令を受付けた場合のバッファ退避処理を説明する図である。
19 and 20 are diagrams for explaining buffer save processing according to the present embodiment.
FIG. 19 is a diagram for explaining buffer save processing when a write I / O instruction is received in a state where the buffer set 1-4 is being transferred or is being used for waiting for expansion processing in the copy destination apparatus 111. It is.
(a)Write I/O命令を受付けると、制御モジュールは、自身のディスク装置にWriteデータを記憶するとともに、(b)Writeデータのコピーデータをバッファセット5に格納する。以下、この場合のWriteデータのコピーデータも「Writeデータ」という。 (A) Upon receiving a write I / O command, the control module stores write data in its own disk device, and (b) stores copy data of the write data in the buffer set 5. Hereinafter, the copy data of the write data in this case is also referred to as “write data”.
ここで、制御モジュールは、例えば、バッファセットの使用率(例えば、「バッファセットで使用されているバッファの世代数」/「全バッファの世代数」)が一定以上(本実施例では50%以上)となると、(c)制御モジュールは、次にコピー先装置111に転送予定の例えばバッファセット5のデータを退避用バッファ190に退避するとともに、新たなWriteデータ等の記憶先をバッファセット5からバッファセット6に切り替える。 Here, the control module has, for example, a buffer set usage rate (for example, “the number of generations of buffers used in the buffer set” / “the number of generations of all buffers”) of a certain value or more (in this embodiment, 50% or more). ), The control module saves, for example, data in the buffer set 5 scheduled to be transferred to the copy destination apparatus 111 to the save buffer 190 and stores a new write data storage destination from the buffer set 5. Switch to buffer set 6.
そして、(d)新たなWrite I/O命令を受付けると、制御モジュールは、Writeデータをディスク装置に記憶するとともに、Writeデータを切り替えられたバッファセット6に格納する。 Then, (d) when a new Write I / O command is received, the control module stores the Write data in the disk device and stores the Write data in the switched buffer set 6.
しかし、バッファセット6よりも古いバッファセット、図19ではバッファセット5が退避用バッファ190に退避されているので、(e)制御モジュールは、バッファセット6のデータを退避用バッファ190に退避する。 However, since the buffer set older than the buffer set 6, in FIG. 19, the buffer set 5 is saved in the save buffer 190, (e) the control module saves the data in the buffer set 6 in the save buffer 190.
そして、使用中の状態にあったバッファセット1が解放されると、(f)制御モジュールは、退避用バッファ190に記憶されているバッファセット5のデータを読み出して、バッファセット5に記憶する。 Then, when the buffer set 1 in use is released, (f) the control module reads the data of the buffer set 5 stored in the save buffer 190 and stores it in the buffer set 5.
本実施例に係るリモートコピー処理の変形例において、以下の処理についてより具体的に説明する。
(1)退避用バッファの領域を作成する処理。
In the modification of the remote copy process according to the present embodiment, the following process will be described more specifically.
(1) Processing for creating a save buffer area.
(2)制御モジュールへの退避用バッファの割り当て処理。
(3)ライトバックポインタ情報/ステージポインタ情報の更新処理。
(4)キャッシュバッファから退避用バッファへのライトバック処理。
(2) Allocation process for saving buffer to control module.
(3) Write back pointer information / stage pointer information update processing.
(4) Write back processing from the cache buffer to the save buffer.
(5)退避用バッファからキャッシュバッファへのステージング処理。
本実施例では、キャッシュバッファに格納されているデータを退避用バッファに格納することを「ライトバック処理」といい、退避用バッファに格納されているデータをキャッシュバッファに格納することを「ステージング処理」という。
(5) Staging processing from the save buffer to the cache buffer.
In this embodiment, storing the data stored in the cache buffer in the save buffer is called “write-back processing”, and storing the data stored in the save buffer in the cache buffer is called “staging process”. "
(1)退避用バッファの領域を作成する処理
図21は、本実施例に係る退避用バッファの領域を生成する処理を示すフローチャートである。
(1) Process for Creating Save Buffer Area FIG. 21 is a flowchart showing a process for creating a save buffer area according to this embodiment.
ステップS2101において、コピー元装置101は、ユーザからの入力に応じて退避用バッファを設定すべきバッファを選択する。そして、コピー元装置101は、処理をステップS2102に移行し、ユーザからの入力に応じてRAIDを構成するためのディスク装置を選択する。 In step S2101, the copy source apparatus 101 selects a buffer in which a save buffer is to be set according to an input from the user. Then, the copy source apparatus 101 shifts the processing to step S2102, and selects a disk apparatus for configuring a RAID according to an input from the user.
ステップS2103において、コピー元装置101は、ステップS2102で選択したディスク装置はRAIDを構成する条件を満たすか否かをチェックする。条件を満たさない場合(S2103 NO)、コピー元装置101は、例えば、他のディスク装置を指定すべき旨を表示装置等に表示して、処理をステップS2102に移行する。 In step S2103, the copy source apparatus 101 checks whether the disk apparatus selected in step S2102 satisfies the conditions for configuring the RAID. If the condition is not satisfied (NO in S2103), for example, the copy source apparatus 101 displays on the display device or the like that another disk apparatus should be designated, and the process proceeds to step S2102.
ステップS2103において、条件を満たす場合(S2103 YES)、コピー元装置101は、処理をステップS2104に移行する。
ステップS2104において、コピー元装置101は、ステップS2102で選択されたディスク装置で構成されるRAIDグループを生成し、コピー元装置101の装置構成などを保持する構成情報にその情報を反映する。
If the condition is satisfied in step S2103 (YES in step S2103), the copy source apparatus 101 moves the process to step S2104.
In step S2104, the copy source apparatus 101 generates a RAID group composed of the disk apparatuses selected in step S2102, and reflects the information in the configuration information that holds the apparatus configuration of the copy source apparatus 101.
ステップS2105において、コピー元装置101は、ステップS2104で作成したRAIDグループ内に複数のボリュームを作成する。コピー元装置101は、処理をステップS2106に移行し、ステップS2105で作成した論理ユニットの構成を構成情報に反映する。 In step S2105, the copy source apparatus 101 creates a plurality of volumes in the RAID group created in step S2104. The copy source apparatus 101 moves the process to step S2106, and reflects the configuration of the logical unit created in step S2105 in the configuration information.
ステップS2107において、コピー元装置101は、図22で示す処理によって、各制御モジュールで使用するボリューム(以下、必要に応じて「担当ボリューム」という)を決定する。各制御モジュールは、この決定したボリュームを退避用バッファの領域として使用する。 In step S2107, the copy source apparatus 101 determines a volume to be used in each control module (hereinafter referred to as “in-charge volume” as necessary) by the processing shown in FIG. Each control module uses the determined volume as a save buffer area.
(2)制御モジュールへの退避用バッファの割り当て処理
図22は、本実施例に係る退避用バッファの制御モジュールへの割り当て(ステップS2107)の具体的な処理を示すフローチャートである。
(2) Saving Buffer Allocation Processing to Control Module FIG. 22 is a flowchart showing specific processing of saving buffer allocation to the control module (step S2107) according to this embodiment.
ステップS2201において、コピー元装置101は、構成情報を参照し、バッファに割り当てるRAIDグループの数(A)を取得する。
さらに、コピー元装置101は、処理をステップS2202に移行し、構成情報からコピー元装置に実装されている制御モジュールの数(B)を取得する。
In step S2201, the copy source apparatus 101 refers to the configuration information and acquires the number (A) of RAID groups to be allocated to the buffer.
Further, the copy source apparatus 101 shifts the process to step S2202, and acquires the number (B) of control modules installed in the copy source apparatus from the configuration information.
ステップS2203において、コピー元装置101は、RAIDグループあたりの制御モジュールの数(C)=(B)/(A)を算出する。そして、処理をステップS2204に移行し、各RAIDグループに対して(C)個の制御モジュールを割り当てる。 In step S2203, the copy source apparatus 101 calculates the number of control modules per RAID group (C) = (B) / (A). Then, the process proceeds to step S2204, and (C) control modules are assigned to each RAID group.
ステップS2205において、コピー元装置101は、各RAIDグループのボリュームの数を(C)で除算し、担当ボリュームの数(D)を算出する。そして、コピー元装置101は、処理をステップS2206に移行し、ステップS2205の算出結果から、RAIDグループ毎に割り当てた制御モジュールに対して担当ボリュームを(D)個を割り当てる。 In step S2205, the copy source apparatus 101 divides the number of volumes in each RAID group by (C) to calculate the number of volumes in charge (D). Then, the copy source apparatus 101 shifts the processing to step S2206, and assigns (D) assigned volumes to the control modules assigned for each RAID group from the calculation result of step S2205.
ステップS2207において、コピー元装置101は、以上の処理によって決定した構成を構成情報に反映するとともに、各制御モジュールが備える設定情報にも反映し、処理を終了する(ステップS2208)。 In step S2207, the copy source apparatus 101 reflects the configuration determined by the above processing in the configuration information and also in the setting information included in each control module, and ends the processing (step S2208).
図23は、本実施例に係る退避用バッファを1つのRAIDグループで構成する場合の構成例を示す図である。
図23に示す退避用バッファとして用いられるRAIDグループ2301は、論理ユニットLU#0〜LU#Fを有する。また、横長に点線で囲まれたLU#0−LU#3と、LU#4−LU#7と、LU#8−LU#Bと、LU#C−LU#Fと、がそれぞれボリュームグループを構成する。RAIDグループ2301は、ボリュームグループ単位で使用される。
FIG. 23 is a diagram illustrating a configuration example when the save buffer according to the present embodiment is configured by one RAID group.
A RAID group 2301 used as a save buffer shown in FIG. 23 includes logical units LU # 0 to LU # F. In addition, LU # 0-LU # 3, LU # 4-LU # 7, LU # 8-LU # B, and LU # C-LU # F surrounded by dotted lines in the horizontally long form volume groups, respectively. Constitute. The RAID group 2301 is used in units of volume groups.
そして、制御モジュール毎に、キャッシュバッファとボリュームグループとが割り当てられている。例えば、制御モジュール#00のキャッシュバッファには、論理ユニットLU#0、#4、#8および#Cが割り当てられている。同様に、制御モジュール#01のキャッシュバッファには、論理ユニットLU#1、#5、#9および#Dが割り当てられ、制御モジュール#02のキャッシュバッファには、論理ユニットLU#2、#6、#Aおよび#Eが割り当てられ、制御モジュール#03のキャッシュバッファには、論理ユニットLU#3、#7、#Bおよび#Fが割り当てられている。 A cache buffer and a volume group are assigned to each control module. For example, logical units LU # 0, # 4, # 8 and #C are allocated to the cache buffer of the control module # 00. Similarly, logical units LU # 1, # 5, # 9 and #D are allocated to the cache buffer of the control module # 01, and logical units LU # 2, # 6, and #D are allocated to the cache buffer of the control module # 02. #A and #E are assigned, and logical units LU # 3, # 7, #B and #F are assigned to the cache buffer of the control module # 03.
なお、ボリュームグループを構成する論理ユニットの数が実装制御モジュール数を上回る場合は、1つの制御モジュールに対して複数の論理ユニットを割り当ててもよい。
また、各ボリュームグループを構成する論理ユニットは、キャッシュバッファと同様に、キャッシュバッファの1世代と同じサイズで世代毎に領域が分割されており、各制御モジュールのバッファセットのデータは、例えば、図23に示す矢印に示すように、各制御モジュールに割り当てられたボリュームグループの任意の世代の領域に記憶される。 図24は、本実施例に係る退避用バッファを2つのRAIDグループで構成する場合の構成例を示す図である。
When the number of logical units constituting the volume group exceeds the number of mounted control modules, a plurality of logical units may be assigned to one control module.
Similarly to the cache buffer, the logical units constituting each volume group have the same size as one generation of the cache buffer and the area is divided for each generation. The data of the buffer set of each control module is, for example, As indicated by an arrow 23, the information is stored in an area of an arbitrary generation of the volume group assigned to each control module. FIG. 24 is a diagram illustrating a configuration example when the save buffer according to the present embodiment is configured by two RAID groups.
図24に示す退避用バッファは、論理ユニットLU#0〜LU#Fを備えるRAIDグループ2401と、論理ユニットLU#10〜LU#1Fを備えるRAIDグループ2402と、で構成される。 The save buffer illustrated in FIG. 24 includes a RAID group 2401 including logical units LU # 0 to LU # F and a RAID group 2402 including logical units LU # 10 to LU # 1F.
また、RAIDグループ2401において、LU#0、LU#1、LU#4、LU#5、LU#8、LU#9、LU#CおよびLU#Dと、LU#2、LU#3、LU#6、LU#7、LU#A、LU#B、LU#EおよびLU#Fと、がそれぞれボリュームグループを構成する。 In the RAID group 2401, LU # 0, LU # 1, LU # 4, LU # 5, LU # 8, LU # 9, LU # C and LU # D, LU # 2, LU # 3, LU #. 6, LU # 7, LU # A, LU # B, LU # E and LU # F constitute a volume group.
同様に、RAIDグループ2402において、LU#10、LU#11、LU#14、LU#15、LU#18、LU#19、LU#1CおよびLU#1Dと、LU#12、LU#13、LU#16、LU#17、LU#1A、LU#1B、LU#1EおよびLU#1Fと、がそれぞれボリュームグループを構成する。 Similarly, in the RAID group 2402, LU # 10, LU # 11, LU # 14, LU # 15, LU # 18, LU # 19, LU # 1C and LU # 1D, LU # 12, LU # 13, LU # 16, LU # 17, LU # 1A, LU # 1B, LU # 1E, and LU # 1F constitute a volume group.
そして、制御モジュール毎に、キャッシュバッファとボリュームグループとが割り当てられている。例えば、制御モジュール#00のキャッシュバッファには、論理ユニットLU#0、LU#1、LU#4、LU#5、LU#8、LU#9、LU#CおよびLU#Dで構成されるボリュームグループが割り当てられている。同様に、制御モジュール#02のキャッシュバッファには、論理ユニットLU#10、LU#11、LU#14、LU#15、LU#18、LU#19、LU#1CおよびLU#1Dで構成されるボリュームグループが割り当てられている。 A cache buffer and a volume group are assigned to each control module. For example, the cache buffer of the control module # 00 has a volume composed of logical units LU # 0, LU # 1, LU # 4, LU # 5, LU # 8, LU # 9, LU # C, and LU # D. A group is assigned. Similarly, the cache buffer of the control module # 02 includes logical units LU # 10, LU # 11, LU # 14, LU # 15, LU # 18, LU # 19, LU # 1C, and LU # 1D. A volume group is assigned.
また、各ボリュームグループを構成する論理ユニットは、キャッシュバッファと同様に、世代毎に領域が分割されており、各制御モジュールのバッファセットのデータは、例えば、図24に示す矢印に示すように、各制御モジュールに割り当てられたボリュームグループの任意の世代の領域に記憶される。 In addition, the logical units constituting each volume group are divided into areas for each generation, like the cache buffer, and the buffer set data of each control module is, for example, as shown by the arrows shown in FIG. It is stored in an area of an arbitrary generation of a volume group assigned to each control module.
図24に示したように、キャッシュバッファに対して2以上のRAIDグループを割り当てた場合、各RAIDグループの負荷を分散する効果が得られる。なお、図24には、2つのRAIDグループを使用した場合を示したが、2以上のRAIDグループを使用しても同様の効果を得ることができるのは当然である。 As shown in FIG. 24, when two or more RAID groups are allocated to the cache buffer, an effect of distributing the load of each RAID group can be obtained. FIG. 24 shows the case where two RAID groups are used, but it is natural that the same effect can be obtained even when two or more RAID groups are used.
上述のように、本実施例に係る退避用バッファは、キャッシュバッファと同様のサイズで世代毎に領域を分割して使用される。図25にその概要を示す。退避用バッファの各世代に、キャッシュバッファに記憶されているバッファセット、BITおよびバッファが格納される。 As described above, the save buffer according to this embodiment is used by dividing an area for each generation with the same size as the cache buffer. The outline is shown in FIG. The buffer set, BIT, and buffer stored in the cache buffer are stored in each generation of the save buffer.
(3)ライトバックポインタ情報/ステージポインタ情報の更新処理
本実施例に係るバッファ退避処理では、ライトバック対象の世代のバッファセットを退避用バッファにライトバックする位置(世代)を記憶するライトバックポインタ情報(第1のポインタ)と、どの世代まで退避用バッファからデータを読み出してステージング処理を行なったかを記憶するステージポインタ情報(第2のポインタ)と、の2つの情報により、退避用バッファに格納するデータの書き込み位置(世代)と退避用バッファから読み出すデータの読み出し位置(世代)とを管理する。
(3) Write Back Pointer Information / Stage Pointer Information Update Processing In the buffer save processing according to this embodiment, a write back pointer that stores a position (generation) at which a write-back target generation buffer set is written back to the save buffer. The information (first pointer) and the stage pointer information (second pointer) for storing the generation from which data has been read from the save buffer and the staging process are stored are stored in the save buffer. The write position (generation) of data to be read and the read position (generation) of data read from the save buffer are managed.
図26は、本実施例に係るバッファ退避処理におけるライトバックポインタ情報・ステージポインタ情報を説明する図である。
例えば、制御モジュールにおいてx回目のバッファセット切り替えが行なわれた場合、ステージポインタ情報は、最後に処理された世代を情報として保持する。ライトバックポインタ情報は、ボリュームグループの世代xを情報として保持する。なお、キャッシュバッファの使用状況によって、バッファ退避処理を行なうか否かが変わるため、本実施例では、バッファセットx作成時にキャッシュバッファへの書き込み領域を決定している。
FIG. 26 is a diagram for explaining write-back pointer information / stage pointer information in the buffer saving process according to the present embodiment.
For example, when the x-th buffer set switching is performed in the control module, the stage pointer information holds the last processed generation as information. The write-back pointer information holds the volume group generation x as information. Since whether or not to perform the buffer saving process varies depending on the usage state of the cache buffer, in this embodiment, a write area to the cache buffer is determined when the buffer set x is created.
また、制御モジュールにおいてx+1回目のバッファセット切り替え時に世代xのバッファセットがすぐにコピー先装置111に転送された場合、世代xに格納されているデータがステージング処理されて転送処理が完了すると、ステージポインタ情報は、世代xから世代x+1に更新される。ライトバックポインタ情報は、ボリュームグループの世代x+1を情報として保持する。ただし、バッファセットx+1作成時にキャッシュバッファへの書き込み領域が決定される。 In addition, when the generation x buffer set is immediately transferred to the copy destination apparatus 111 at the time of the (x + 1) th buffer set switching in the control module, the data stored in the generation x is staged and the transfer process is completed. The pointer information is updated from generation x to generation x + 1. The write-back pointer information holds the volume group generation x + 1 as information. However, the write area to the cache buffer is determined when the buffer set x + 1 is created.
また、制御モジュールにおいてx+2回目のバッファセット切り替え時に世代x+1が退避用バッファにライトバックされた場合、ステージポインタ情報が保持するボリュームグループの世代が世代xであれば、次のステージング対象は世代x+1となる。ライトバックポインタ情報は、ボリュームグループの世代x+2を保持する。ただし、バッファセットx+2作成時にキャッシュバッファへの書込み領域が決定される。 Further, when generation x + 1 is written back to the save buffer at the time of x + 2 buffer set switching in the control module, if the generation of the volume group held in the stage pointer information is generation x, the next staging target is generation x + 1. Become. The write-back pointer information holds the volume group generation x + 2. However, the write area to the cache buffer is determined when the buffer set x + 2 is created.
図25に示したようにライトバックポインタ情報には、バッファセットが作成される毎に作成されたバッファセットの次の世代が情報として保持される。また、ステージポインタ情報は、切り替えられた旧世代のバッファセットの処理が完了する毎に、例えば、コピー先にデータ転送が完了しかつコピー先でデータの展開が完了する毎にステージポインタ情報が更新される。退避用バッファとして割当てたボリュームグループが複数ある場合、ボリュームグループに割り当てられた番号の小さい順にボリュームグループを使用していき、ボリュームグループを最後まで使用した場合は、最初にもどりサイクリックにボリュームグループを使用する。 As shown in FIG. 25, in the write-back pointer information, the next generation of the created buffer set is held as information every time the buffer set is created. The stage pointer information is updated every time processing of the switched old generation buffer set is completed, for example, every time data transfer to the copy destination is completed and data expansion is completed at the copy destination. Is done. When there are multiple volume groups assigned as evacuation buffers, the volume groups are used in ascending order of the numbers assigned to the volume group. When the volume group is used up to the end, the volume group is returned to the first and cyclically. use.
以下、図27および図28にライトバックポインタ情報およびステージポインタ情報の具体的な更新処理を説明する。
図27は、本実施例に係るライトバックポインタ情報の更新処理を示すフローチャートである。
Hereinafter, specific update processing of the write-back pointer information and the stage pointer information will be described with reference to FIGS.
FIG. 27 is a flowchart illustrating the write back pointer information update process according to the present embodiment.
ステップS2700aにおいて、コピー元装置101のマスタ制御モジュールは、バッファセットの切替え処理を開始すると、処理をステップS2701aに移行する。
ステップS2701aにおいて、マスタ制御モジュールは、現在保持しているライトバックポインタ情報を1つ進める。例えば、現在保持している世代を1だけインクリメントして次の世代を情報として保持する。
In step S2700a, when the master control module of the copy source apparatus 101 starts buffer set switching processing, the processing proceeds to step S2701a.
In step S2701a, the master control module advances the write-back pointer information currently held by one. For example, the generation currently held is incremented by 1, and the next generation is held as information.
ステップS2702aにおいて、マスタ制御モジュールは、退避用バッファに新規のバッファセットを作成し、バッファセットの世代をライトバックポインタ情報に設定する。例えば、ステップS2701aの世代をバッファセットの世代とする。 In step S2702a, the master control module creates a new buffer set in the save buffer and sets the generation of the buffer set in the write-back pointer information. For example, the generation of step S2701a is set as the generation of the buffer set.
さらに、マスタ制御モジュールは、コピー元装置101に備わる他の制御モジュールに対して、ステップS2702aと同様の処理を依頼する。
一方、ステップS2701bにおいて、各制御モジュールは、退避用バッファに新規のバッファセットを作成し、当該バッファセットの世代をライトバックポインタ情報に設定する。そして、ライトバックポインタ情報の設定が完了すると、その旨をマスタ制御モジュールに通知する。
Further, the master control module requests other control modules included in the copy source apparatus 101 to perform the same process as in step S2702a.
On the other hand, in step S2701b, each control module creates a new buffer set in the save buffer, and sets the generation of the buffer set in the write-back pointer information. Then, when the setting of the write back pointer information is completed, the master control module is notified accordingly.
ステップS2703aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S2703a NO)、ステップS2703aの処理を繰り返す。 In step S2703a, the master control module checks whether or not responses have been received from all requested control modules. If there is a control module that has not received a response (NO in step S2703a), the process of step S2703a is performed. repeat.
ステップS2703aにおいて、依頼した全ての制御モジュールから応答を受信したと判断すると(S2703a YES)、マスタ制御モジュールは、処理をステップS2704aに移行し、ライトバックポインタ情報の更新処理を終了する。 If it is determined in step S2703a that responses have been received from all requested control modules (YES in S2703a), the master control module moves the process to step S2704a and ends the update process of the write-back pointer information.
図28は、本実施例に係るステージポインタ情報の更新処理を示すフローチャートである。
ステップS2800aにおいて、コピー元装置101のマスタ制御モジュールは、バッファセットの解放処理を開始すると、処理をステップS2801aに移行する。
FIG. 28 is a flowchart illustrating the stage pointer information update process according to the present embodiment.
In step S2800a, when the master control module of the copy source apparatus 101 starts the buffer set release process, the process proceeds to step S2801a.
ステップS2801aにおいて、マスタ制御モジュールは、解放対象のバッファセットがあるか否かを判別する。解放対象となるバッファセットがない場合(S2801a NO)、マスタ制御モジュールは、ステップS2804aに移行し、処理を終了する。 In step S2801a, the master control module determines whether there is a buffer set to be released. If there is no buffer set to be released (S2801a NO), the master control module moves to step S2804a and ends the process.
なお、本実施例では、コピー先装置111への転送が完了し、かつ、コピー先装置111から転送したデータのディスク装置への展開が完了した旨の通知を受けたバッファセットを領域解放の対象と判断する。 In this embodiment, the buffer set that has been notified that the transfer to the copy destination device 111 has been completed and the transfer of the data transferred from the copy destination device 111 to the disk device has been completed is subject to area release. Judge.
ステップS2801aにおいて、解放対象となるバッファセットがある場合(S2801a YES)、マスタ制御モジュールは、処理をステップS2802aに移行する。
ステップS2802aにおいて、マスタ制御モジュールは、解放対象となるバッファセット(BITを含む)とそのバッファ領域を解放するとともに、ステージポインタ情報を更新する。そして、マスタ制御モジュールは、コピー元装置101に備わる他の制御モジュールに対して、ステップS2802aと同様の処理を依頼する。
If there is a buffer set to be released in step S2801a (YES in S2801a), the master control module moves the process to step S2802a.
In step S2802a, the master control module releases the buffer set (including BIT) to be released and its buffer area, and updates the stage pointer information. Then, the master control module requests other control modules included in the copy source apparatus 101 to perform the same process as in step S2802a.
ステップS2801bにおいて、各制御モジュールは、マスタ制御モジュールから依頼を受けると、解放対象のバッファセット(BITを含む)とそのバッファ領域を解放するとともに、ステージポインタ情報を更新する。処理が完了すると、各制御モジュールは、マスタ制御モジュールに対して完了通知を行なう。 In step S2801, when receiving a request from the master control module, each control module releases the buffer set (including BIT) to be released and its buffer area, and updates the stage pointer information. When the processing is completed, each control module notifies the master control module of completion.
ステップS2803aにおいて、マスタ制御モジュールは、依頼した制御モジュールからの応答を確認し、全ての制御モジュールから応答を受信したか否かを判別する。そして、応答を受信していない制御モジュールがある場合(S2803a NO)、ステップS2803の処理を繰返す。 In step S2803a, the master control module confirms responses from the requested control module, and determines whether or not responses have been received from all the control modules. If there is a control module that has not received a response (NO in S2803a), the process of step S2803 is repeated.
また、ステップS2803aにおいて、全ての制御モジュールから応答を受信したと判断した場合(S2803a YES)、マスタ制御モジュールは、ステップS2804aに移行してバッファセットの解放処理を終了する。 If it is determined in step S2803a that responses have been received from all control modules (YES in S2803a), the master control module proceeds to step S2804a and ends the buffer set release processing.
(4)キャッシュバッファから退避用バッファへのライトバック処理
図29は、本実施例に係るライトバック処理を示すフローチャートである。
ステップS2900aにおいて、例えば、Writeデータのバッファセットへの格納処理が完了すると、コピー元装置101におけるマスタ制御モジュールは、処理をステップS2901aに移行する。
(4) Writeback Processing from Cache Buffer to Saving Buffer FIG. 29 is a flowchart showing writeback processing according to this embodiment.
In step S2900a, for example, when the process of storing the write data in the buffer set is completed, the master control module in the copy source apparatus 101 moves the process to step S2901a.
ステップS2901aにおいて、マスタ制御モジュールは、キャッシュバッファに転送中または開放待ちのバッファセットの世代数(以下、「使用中の世代数」という)を取得する。そして、使用中の世代数とあらかじめ決められた閾値、例えば、全世代数の50%の値とを比較し、使用中の世代数が閾値より少ない場合(S2901a NO)は、処理をステップS2906aに移行し、使用中の世代数が閾値以上の場合は(S2901a YES)、処理をステップS2902aに移行する。 In step S2901a, the master control module acquires the number of generations of the buffer set being transferred to the cache buffer or waiting to be released (hereinafter referred to as “number of generations in use”). Then, the number of generations in use is compared with a predetermined threshold, for example, a value of 50% of the total number of generations. If the number of generations in use is less than the threshold (NO in S2901a), the process proceeds to step S2906a. If the number of generations in use is equal to or greater than the threshold (YES in S2901a), the process proceeds to step S2902a.
ステップS2902aにおいて、マスタ制御モジュールは、使用中の世代以外の世代のバッファセット、BITおよびバッファのデータを、当該バッファセットに割当てられた退避用バッファに退避するライトバック処理を行なう。 In step S2902a, the master control module performs a write-back process for saving the buffer set, BIT, and buffer data of generations other than the generation in use to the save buffer assigned to the buffer set.
ライトバック処理が完了すると、マスタ制御モジュールは、コピー元装置101に備わる他の制御モジュールに対して、ステップS2902aと同様の処理を依頼する。
ステップS2901bにおいて、各制御モジュールは、マスタ制御モジュールから依頼のあったバッファセットおよびBITを、当該バッファセットに割当てられた退避用バッファに退避する。
When the write-back process is completed, the master control module requests the same control as that in step S2902a to other control modules provided in the copy source apparatus 101.
In step S2901b, each control module saves the buffer set and BIT requested from the master control module in the save buffer assigned to the buffer set.
ステップS2902bにおいて、各制御モジュールは、S2901bでライトバック対象となったバッファセットに対応するバッファにWriteデータが記憶されているか否かをチェックし、Writeデータがバッファにある場合(S2902b YES)、処理をステップS2903bに移行する。 In step S2902b, each control module checks whether or not the write data is stored in the buffer corresponding to the buffer set to be written back in S2901b, and if the write data is in the buffer (YES in step S2902b). Goes to step S2903b.
ステップS2903bにおいて、各制御モジュールは、バッファに格納されているWriteデータを、該当するバッファセットに割当てられた退避用バッファに退避する。そして、マスタ制御モジュールに依頼された処理の完了を通知する。 In step S2903b, each control module saves the write data stored in the buffer to the save buffer assigned to the corresponding buffer set. Then, the master control module is notified of the completion of the requested process.
一方、ステップS2903aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S2903a NO)、ステップS2903aの処理を繰返す。 On the other hand, in step S2903a, the master control module checks whether or not responses have been received from all requested control modules. If there is a control module that has not received a response (NO in step S2903a), the master control module performs step S2903a. Repeat the process.
全ての制御モジュールから応答を受信した場合(S2903a YES)、ステップS2904aにおいて、マスタ制御モジュールは、バッファセット、BITおよびバッファの領域を解放する。バッファセット等の解放が完了すると、マスタ制御モジュールは、コピー元装置101に備わる他の制御モジュールに対して、ステップS2904aと同様の処理を依頼する。 When responses are received from all the control modules (YES in S2903a), in step S2904a, the master control module releases the buffer set, BIT, and buffer areas. When the release of the buffer set or the like is completed, the master control module requests the same processing as step S2904a to the other control module provided in the copy source apparatus 101.
一方、ステップS2904bにおいて、各制御モジュールは、マスタ制御モジュールからの依頼に応じて、該当するバッファセット等を解放する。バッファセット等の解放が完了すると、各制御モジュールは、マスタ制御モジュールに対して完了通知を行なう。 On the other hand, in step S2904b, each control module releases the corresponding buffer set or the like in response to a request from the master control module. When the release of the buffer set or the like is completed, each control module notifies the master control module of completion.
ステップS2905aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S2906a NO)、ステップS2905aの処理を繰り返す。 In step S2905a, the master control module checks whether or not responses have been received from all requested control modules. If there is a control module that has not received a response (NO in step S2906a), the process of step S2905a is performed. repeat.
ステップS2905aにおいて、依頼した全ての制御モジュールから応答を受信したと判断すると、マスタ制御モジュールは、処理をステップS2906aに移行し、バッファ退避処理を終了する。 If it is determined in step S2905a that responses have been received from all requested control modules, the master control module moves the process to step S2906a and ends the buffer saving process.
図30および図31は、本実施例に係るライトバック処理の具体例を示す図である。
図30および図31は、コピー元装置101が制御モジュール#0〜#3を備え、各制御モジュールが8世代のバッファを備えるコピー元装置101において、図29で説明した閾値が4世代の場合のライトバック処理を説明する図である。
30 and 31 are diagrams illustrating a specific example of the write-back process according to the present embodiment.
30 and 31 illustrate a case where the copy source apparatus 101 includes control modules # 0 to # 3 and each control module includes an 8th generation buffer, and the threshold described in FIG. 29 is 4th generation. It is a figure explaining a write-back process.
(a)バッファセットの世代1〜4が、転送中、転送完了待ち、解放待ちのいずれかの状態、かつ、(b)世代5がライトバック処理中の場合を考える。この場合、(c)Writeデータを格納するバッファセットの世代は世代6となる。 Consider the case where (a) generations 1 to 4 of the buffer set are in transfer, waiting for transfer completion, or waiting for release, and (b) generation 5 is in write-back processing. In this case, the generation of the buffer set for storing (c) Write data is generation 6.
図31に示すように、(d)世代1が使用していた領域が解放されると、マスタ制御モジュールは、ステージポインタ情報を更新し、次のステージング処理によるデータの格納先を世代1に設定する。 As shown in FIG. 31, (d) when the area used by generation 1 is released, the master control module updates the stage pointer information and sets the data storage destination in the next staging process to generation 1 To do.
今、世代5はライトバック処理対象となっているので、ステージング対象も世代5となっている。世代5のライトバック処理が処理中の場合、(e)キャッシュバッファ上にデータがあるので、世代5のライトバック処理を中断し、世代5のバッファセットのコピー先装置111への転送処理を開始する。 Since generation 5 is now a write-back processing target, the staging target is also generation 5. When generation 5 write-back processing is in progress, (e) because there is data in the cache buffer, generation 5 write-back processing is interrupted and transfer processing of the generation 5 buffer set to the copy destination device 111 is started. To do.
また、世代5のライトバック処理が完了している場合、退避用バッファからから世代5のバッファセットのデータを読み出して世代1の領域に記憶するステージング処理を行なう。 When generation 5 write-back processing is complete, staging processing is performed in which data of the generation 5 buffer set is read from the save buffer and stored in the generation 1 area.
(5)退避用バッファからキャッシュバッファへのステージング処理
図32Aおよび図32Bは、本実施例に係るステージング処理を示すフローチャートである。
(5) Staging Processing from Saving Buffer to Cache Buffer FIGS. 32A and 32B are flowcharts showing staging processing according to the present embodiment.
ステップS3200aにおいて、旧世代の解放処理が完了すると、コピー元装置101におけるマスタ制御モジュールは、処理をステップS3201aに移行する。
ステップS3201aにおいて、マスタ制御モジュールは、ステージング対象となる世代を決定する。例えば、マスタ制御モジュールは、ステージポインタ情報を参照し、ステージポインタ情報に記憶されている世代を1だけインクリメントし、インクリメントした世代を新たにステージング対象となる世代に決定する。
In step S3200a, when the old generation release process is completed, the master control module in the copy source apparatus 101 shifts the process to step S3201a.
In step S3201a, the master control module determines a generation to be staged. For example, the master control module refers to the stage pointer information, increments the generation stored in the stage pointer information by 1, and determines the incremented generation as a new generation to be staged.
ステップS3202aにおいて、マスタ制御モジュールは、ステージング対象のステージング先の領域は解放処理待ちか否かをチェックする。ステージング先の領域が解放待ちの場合(S3202a YES)、マスタ制御モジュールは、処理をステップS3203aに移行する。 In step S3202a, the master control module checks whether the staging target area to be staged is waiting for release processing. If the staging destination area is awaiting release (S3202a YES), the master control module shifts the process to step S3203a.
ステップS3203aにおいて、マスタ制御モジュールは、ステージング対象の世代に1を加算した世代を新たなステージング対象の世代に設定する。そして、マスタ制御モジュールは、処理をステップS3202aに移行する。 In step S3203a, the master control module sets a generation obtained by adding 1 to the staging target generation as a new staging target generation. Then, the master control module shifts the process to step S3202a.
一方、ステップS3202aにおいて、ステージング先の領域が解放待ちでない場合(S3202a NO)、マスタ制御モジュールは、処理をステップS3204aに移行する。 On the other hand, if the staging destination area is not waiting for release in step S3202a (NO in S3202a), the master control module shifts the process to step S3204a.
ステップS3204aにおいて、マスタ制御モジュールは、ステージング先のバッファセットが転送中か否かをチェックする。ステージング先のバッファセットが転送中の場合(S3204a YES)、マスタ制御モジュールは、処理をステップS3203aに移行する。 In step S3204a, the master control module checks whether or not the staging destination buffer set is being transferred. When the buffer set of the staging destination is being transferred (S3204a YES), the master control module shifts the process to step S3203a.
一方、ステップS3204aにおいて、ステージング先のバッファセットが転送中でない場合(S3204a NO)、マスタ制御モジュールは、処理をステップS3205aに移行する。 On the other hand, if the staging destination buffer set is not being transferred in step S3204a (NO in S3204a), the master control module shifts the processing to step S3205a.
ステップS3205aにおいて、マスタ制御モジュールは、ステージング対象がステージング処理中か否かをチェックする。ステージング対象がステージング処理中の場合(S3205a NO)、マスタ制御モジュールは、処理をステップS3203aに移行する。 In step S3205a, the master control module checks whether or not the staging target is being staged. When the staging target is in the staging process (S3205a NO), the master control module shifts the process to step S3203a.
一方、ステップS3205aにおいて、ステージング対象がステージング処理中でない場合(S3205a YES)、マスタ制御モジュールは、処理をステップS3206aに移行する。 On the other hand, in step S3205a, when the staging target is not in the staging process (S3205a YES), the master control module shifts the process to step S3206a.
ステップS3206aにおいて、マスタ制御モジュールは、ステージング対象がライトバック処理中か否かをチェックする。ステージング対象がライトバック処理中の場合(S3206a YES)、マスタ制御モジュールは、処理をステップS3207aに移行する。 In step S3206a, the master control module checks whether the staging target is being written back. If the staging target is in the write-back process (S3206a YES), the master control module shifts the process to step S3207a.
ステップS3207aにおいて、マスタ制御モジュールは、自身のライトバック処理を中断するとともに、コピー元装置101に備わる他の制御モジュールに対して、ライトバック処理の中断を依頼する。 In step S3207a, the master control module interrupts its own write-back process and requests other control modules provided in the copy source apparatus 101 to interrupt the write-back process.
ステップS3201bにおいて、各制御モジュールは、マスタ制御モジュールからの依頼を受けると、処理中のライトバック処理を中断する。そして、マスタ制御モジュールに対して、ライトバック処理を中断した旨を通知する。 In step S3201b, when receiving a request from the master control module, each control module interrupts the write-back process being processed. Then, the master control module is notified that the write-back process has been interrupted.
ステップS3208aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S3208a NO)、ステップS3208aの処理を繰り返す。 In step S3208a, the master control module checks whether or not responses have been received from all requested control modules. If there is a control module that has not received a response (NO in step S3208a), the process of step S3208a is performed. repeat.
ステップS3208aにおいて、依頼した全ての制御モジュールから応答を受信したと判断すると(S3208a YES)、マスタ制御モジュールは、処理をステップS3209aに移行し、ステージング処理を終了する。 If it is determined in step S3208a that responses have been received from all requested control modules (YES in S3208a), the master control module moves the process to step S3209a and ends the staging process.
一方、ステップS3206aにおいて、ステージング対象がライトバック処理中でないと判断した場合(S3206a NO)、マスタ制御モジュールは、処理をステップS3210aに移行する。 On the other hand, if it is determined in step S3206a that the staging target is not in the write-back process (NO in S3206a), the master control module moves the process to step S3210a.
ステップS3210aにおいて、マスタ制御モジュールは、ステージング先のバッファセットが、Writeデータ等の格納処理中か否かをチェックする。ステージング先のバッファセットが格納処理中と判断した場合(S3210a YES)、マスタ制御モジュールは、処理をステップS3211aに移行し、ステージング処理を終了する。 In step S3210a, the master control module checks whether or not the staging destination buffer set is in the process of storing write data or the like. If it is determined that the staging destination buffer set is being stored (YES in S3210a), the master control module shifts the process to step S3211a and ends the staging process.
ステップS3210aにおいて、ステージング先のバッファセットが格納処理中でないと判断した場合(S3210a YES)、マスタ制御モジュールは、処理をステップS3212aに移行する。 If it is determined in step S3210a that the staging destination buffer set is not being stored (YES in S3210a), the master control module shifts the process to step S3212a.
ステップS3212aにおいて、マスタ制御モジュールは、ステージング先のバッファセットを取得する。そして、マスタ制御モジュールは、処理をステップS3213aに移行し、ステージ処理用バッファセットに既にステージング対象のデータが格納されているか否かをチェックする。 In step S3212a, the master control module acquires a staging destination buffer set. Then, the master control module shifts the processing to step S3213a and checks whether or not staging target data is already stored in the stage processing buffer set.
ステージング対象のデータがある場合(S3213a YES)、マスタ制御モジュールは、ステップS3217aに移行してステージング処理を終了する。また、ステージング対象のデータがない場合(S3213a NO)、マスタ制御モジュールは、処理をステップS3214aに移行する。 If there is data to be staged (S3213a YES), the master control module proceeds to step S3217a and ends the staging process. If there is no data to be staged (S3213a NO), the master control module moves the process to step S3214a.
ステップS3214aにおいて、マスタ制御モジュールは、退避用バッファからステージング対象の世代のデータを取得し、ステップS3212aで取得したバッファセットに格納する。そして、処理をステップS3215aに移行する。 In step S3214a, the master control module acquires the generation data to be staged from the save buffer and stores it in the buffer set acquired in step S3212a. Then, the process proceeds to step S3215a.
ステップS3215aにおいて、マスタ制御モジュールは、各担当制御モジュールに対して、ステップS3214aと同様に、退避用バッファからステージング対象の世代のデータを取得してステージング処理を行うように依頼する。 In step S3215a, the master control module requests each responsible control module to acquire the data of the generation to be staged from the save buffer and perform the staging process, as in step S3214a.
ステップS3202bにおいて、依頼を受けた制御モジュールは、マスタ制御モジュールから依頼のあったバッファセットについてステージング処理を行なう。そして、処理をステップS3203bに移行する。 In step S3202b, the control module that has received the request performs staging processing on the buffer set requested by the master control module. Then, the process proceeds to step S3203b.
ステップS3203bにおいて、各制御モジュールは、退避用バッファを参照し、ステージング対象の世代のバッファにステージング処理をすべきWriteデータがあるか否かを判別する。そして、Writeデータがある場合(S3203b YES)、各制御モジュールは、当該Writeデータに対してステージング処理を行なう(S3204b)。ステージング処理が完了すると、各制御モジュールは、マスタ制御モジュールに対して完了通知を行なう。 In step S3203b, each control module refers to the save buffer and determines whether there is write data to be staged in the buffer of the generation to be staged. If there is write data (YES in S3203b), each control module performs a staging process on the write data (S3204b). When the staging process is completed, each control module notifies the master control module of completion.
また、ステップS3203bにおいて、ステージング対象の世代のバッファにステージング処理をすべきWriteデータがない場合(S3203b NO)、各制御モジュールは、マスタ制御モジュールに対して完了通知を行う。 In step S3203b, if there is no write data to be staged in the buffer of the generation to be staged (NO in S3203b), each control module notifies the master control module of completion.
ステップS3216aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信するまで完了通知を監視する。そして、依頼した全ての制御モジュールから応答を受信すると(S3216a YES)、マスタ制御モジュールは、処理をステップS3217aに移行し、ステージング処理を終了する。 In step S3216a, the master control module monitors completion notification until responses are received from all requested control modules. And if a response is received from all the requested control modules (S3216a YES), the master control module moves the process to step S3217a and ends the staging process.
以上に説明したように、本実施例に係るリモートコピー処理では、例えばステップS907aで説明されたように、バッファへの格納処理が完了して転送処理を行う直前に、バッファセットのコピー元IDとコピー先IDとのマッチング処理を行なって、バッファセットを確立するので、コピー元装置101に備わる記録バッファ201およびバッファセット記憶部202といったバッファには、ホスト109からのWrite I/Oに係るWriteデータを、バッファの容量がなくなるまで格納することが可能となる。 As described above, in the remote copy processing according to the present embodiment, as described in step S907a, for example, immediately after the storage processing in the buffer is completed and the transfer processing is performed, the copy source ID of the buffer set is set. Since the matching process with the copy destination ID is performed and the buffer set is established, the write data related to the write I / O from the host 109 is stored in the buffer such as the recording buffer 201 and the buffer set storage unit 202 provided in the copy source apparatus 101. Can be stored until the capacity of the buffer runs out.
その結果、順序性を保証したリモートコピーに使用するバッファに関し、コピー先装置111に備わるバッファが、コピー元装置101に備わるバッファより少ない場合であっても、コピー元装置が有するバッファを有効に使用することが可能となる。 As a result, regarding the buffers used for remote copy that guarantees the order, even if the copy destination apparatus 111 has fewer buffers than the copy source apparatus 101, the buffers of the copy source apparatus are effectively used. It becomes possible to do.
また、コピー元装置101−コピー先装置111間のネットワークに何らかのトラブルが生じる等して経路閉塞状態となった場合でも、コピー元装置101に備わるバッファに容量が許す限りWriteデータを格納することができるので、当該バッファが枯渇するまでに経路閉塞状態を解消すれば、順序性を保証したリモートコピー処理を中断する必要がなくなるという効果を奏する。その結果、リモートコピー処理の信頼性・安定性を向上するという効果を奏する。 Further, even when a problem occurs in the network between the copy source apparatus 101 and the copy destination apparatus 111 and the path is blocked, the write data can be stored in the buffer provided in the copy source apparatus 101 as long as the capacity allows. Therefore, if the path blockage state is eliminated before the buffer is depleted, there is an effect that it is not necessary to interrupt the remote copy processing that guarantees the order. As a result, there is an effect that the reliability and stability of the remote copy process is improved.
さらに、本実施例にリモートコピー処理の変形例で示した退避用バッファ190を利用してバッファ退避処理を行なうことにより、コピー元装置101に備わるバッファが枯渇することがなくなるので、コピー元装置101−コピー先装置111間のネットワークに何らかのトラブルが生じる等して経路閉塞状態となった場合でも、ホスト側の制限等の条件が許す限り、順序性を保証したリモートコピー処理を継続することが可能となるという効果を奏する。 Further, by performing the buffer saving process using the saving buffer 190 shown in the modification of the remote copy process in this embodiment, the buffer provided in the copy source apparatus 101 is not exhausted. -Even if a route is blocked due to some trouble in the network between the copy destination devices 111, it is possible to continue remote copy processing with guaranteed order as long as conditions such as restrictions on the host side allow. It has the effect of becoming.
以上の実施例1〜nを含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
上位装置から送信されるデータを記憶する第1の記憶ボリュームと前記第1の記憶ボリュームへの記憶を制御する第1の制御部とを備えた第1の記憶装置と、前記第1の記憶装置に記憶されたデータがネットワークを介してコピーされる第2の記憶ボリュームと前記第2の記憶ボリュームへの記憶を制御する第2の制御部とを備えた第2の記憶装置とを備えたストレージシステムであって、
前記第1の制御部は、
前記第2の記憶装置に設けられた受信用バッファの識別に用いられる受信用バッファ識別情報を取得する識別情報取得部と、
前記第2の記憶装置の前記受信用バッファに転送するデータを格納する送信用バッファと、
転送処理を行う際に、前記送信用バッファに設けられた送信用バッファ識別情報と前記受信用バッファ識別情報とに基づいて前記送信用バッファと前記受信用バッファとを対応づけるデータ転送制御部と、
前記対応づけに基づいて前記送信用バッファのデータを前記受信用バッファに対して転送する転送処理部とを備えたことを特徴とするストレージシステム。
(付記2)
前記第1の記憶装置に、前記送信用バッファに記憶されたデータを一時的に退避する退避用ボリュームと、前記退避用ボリュームへのデータ退避を制御する退避制御部とをさらに備え、
前記退避制御部は、前記送信用バッファの使用状態が所定の状態に達すると前記送信用バッファに格納されたデータを世代単位で前記退避用バッファに退避させることを特徴とする付記1に記載のストレージシステム。
(付記3)
前記退避制御部は、前記送信用バッファに格納されたデータのうち、転送用意が完了し、かつ転送順位が低い世代のデータを前記退避用ボリュームに退避させることを特徴とする付記2に記載のストレージシステム。
(付記4)
前記制御部に、前記送信用バッファの書き込み状態を示す第1のポインタを備え、
前記退避制御部は、前記第1のポインタに基づいて前記退避用ボリュームに前記転送順位が低い世代のデータを退避さることを特徴とする付記3に記載のストレージシステム。
(付記5)
前記制御部に、前記送信用バッファの読み出し状態を示す第2のポインタと、
前記第2のポインタに基づいて前記退避用ボリュームから前記転送順位が低い世代のデータを復元する復元制御部をさらに備えた事を特徴とする付記1から4に記載のストレージシステム。
(付記6)
前記前記復元制御部は、前記送信用バッファに格納されている転送順位が低い世代のデータが使用可能な場合は、前記転送順位が低い世代のデータに付随する制御データのみを前記退避用ボリュームから前記送信用バッファに復元する事を特徴とする付記1から4に記載のストレージシステム。
(付記7)
上位装置から送信されるデータを記憶する第1の記憶ボリュームと、
前記第1の記憶ボリュームへの記憶制御とネットワークを介して接続される第2の記憶ボリュームへのコピー制御をおこなう制御部とを備えた記憶装置であって、
前記制御部は、
前記第2の記憶ボリュームを備える受信側記憶装置に設けられた受信用バッファの識別に用いられる受信用バッファ識別情報を取得する識別情報取得部と、
前記第2の記憶装置の前記受信用バッファに転送するデータを格納する送信用バッファと、
転送処理を行う際に、前記送信用バッファに設けられた送信用バッファ識別情報と前記受信用バッファ識別情報とに基づいて前記送信用バッファと前記受信用バッファとを対応づけるデータ転送制御部と、
前記対応づけに基づいて前記送信用バッファのデータを前記受信用バッファに対して転送する転送処理部とを備えたことを特徴とする記憶装置。
(付記8)
送信装置に、前記送信用バッファに記憶されたデータを一時的に退避する退避用ボリュームと、前記退避用ボリュームへのデータ退避を制御する退避制御部とをさらに備え、
前記退避制御部は、前記送信用バッファの使用状態が所定の状態に達すると前記送信用バッファに格納されたデータを世代単位で前記退避用バッファに退避させることを特徴とする付記7に記載の記憶装置。
(付記9)
前記退避制御部は、前記送信用バッファに格納されたデータのうち、転送用意が完了し、かつ転送順位が低い世代のデータを前記退避用ボリュームに退避させることを特徴とする付記8に記載の記憶装置。
(付記10)
前記制御部に、前記送信用バッファの書き込み状態を示す第1のポインタを備え、
前記退避制御部は、前記第1のポインタに基づいて前記退避用ボリュームに前記転送順位が低い世代のデータを退避さることを特徴とする付記9に記載の記憶装置。
(付記11)
前記制御部に、前記送信用バッファの読み出し状態を示す第2のポインタと、
前記第2のポインタに基づいて前記退避用ボリュームから前記転送順位が低い世代のデータを復元する復元制御部をさらに備えた事を特徴とする付記8から10に記載の記憶装置。
(付記12)
前記前記復元制御部は、前記送信用バッファに格納されている転送順位が低い世代のデータが使用可能な場合は、前記転送順位が低い世代のデータに付随する制御データのみを前記退避用ボリュームから前記送信用バッファに復元する事を特徴とする付記8から10に記載の記憶装置。
(付記13)
上位装置から送信されるデータを記憶する第1の記憶ボリュームへの記憶制御とネットワークを介して接続される第2の記憶ボリュームへのコピー制御をおこなう制御部とを備えた記憶装置の制御方法であって、
前記第2の記憶ボリュームを備える受信側記憶装置に設けられた受信用バッファの識別に用いられる受信用バッファ識別情報を取得する識別情報取得ステップと、
前記受信側記憶装置の前記受信用バッファに転送するデータを送信用バッファに格納するデータ格納ステップと、
転送処理を行う際に、前記送信用バッファに設けられた送信用バッファ識別情報と前記受信用バッファ識別情報とに基づいて前記送信用バッファと前記受信用バッファとを対応づけるデータ転送制御ステップと、
前記対応づけに基づいて前記送信用バッファのデータを前記受信用バッファに対して転送する転送処理ステップとを備えたことを特徴とする記憶装置の制御方法。
(付記14)
前記記憶装置に備えられた退避用ボリュームに、前記送信用バッファに記憶されたデータを一時的に退避する退避制御ステップをさらに備え、
前記退避制御ステップは、前記送信用バッファの使用状態が所定の状態に達すると前記送信用バッファに格納されたデータを世代単位で前記退避用バッファに退避させることを特徴とする付記13に記載の記憶装置の制御方法。
(付記15)
前記退避制御ステップは、前記送信用バッファに格納されたデータのうち、転送用意が完了し、かつ転送順位が低い世代のデータを前記退避用ボリュームに退避させることを特徴とする付記15に記載の記憶装置の制御方法。
(付記16)
前記退避制御ステップは、前記送信用バッファの書き込み状態を示す第1のポインタに基づいて前記退避用ボリュームに前記転送順位が低い世代のデータを退避さることを特徴とする付記15に記載の記憶装置の制御方法。
(付記17)
送信用バッファの読み出し状態を示す第2のポインタに基づいて前記退避用ボリュームから前記転送順位が低い世代のデータを復元する復元制御部をさらに備えた事を特徴とする付記14から16に記載の記憶装置の制御方法。
(付記18)
前記前記復元制御ステップは、前記送信用バッファに格納されている転送順位が低い世代のデータが使用可能な場合は、前記転送順位が低い世代のデータに付随する制御データのみを前記退避用ボリュームから前記送信用バッファに復元する事を特徴とする付記14から16に記載の記憶装置の制御方法。
Regarding the embodiment including the above Examples 1 to n, the following supplementary notes are further disclosed.
(Appendix 1)
A first storage device comprising a first storage volume for storing data transmitted from a host device and a first controller for controlling storage in the first storage volume; and the first storage device A storage device comprising: a second storage device that includes a second storage volume to which data stored in the storage device is copied via a network; and a second control unit that controls storage in the second storage volume. A system,
The first controller is
An identification information acquisition unit for acquiring reception buffer identification information used for identification of a reception buffer provided in the second storage device;
A transmission buffer for storing data to be transferred to the reception buffer of the second storage device;
A data transfer control unit that associates the transmission buffer and the reception buffer based on the transmission buffer identification information and the reception buffer identification information provided in the transmission buffer when performing the transfer process;
A storage system comprising: a transfer processing unit that transfers data in the transmission buffer to the reception buffer based on the association.
(Appendix 2)
The first storage device further includes a save volume for temporarily saving data stored in the transmission buffer, and a save control unit for controlling data save to the save volume,
The appending control unit according to appendix 1, wherein when the use state of the transmission buffer reaches a predetermined state, the save control unit saves the data stored in the transmission buffer to the save buffer in units of generations. Storage system.
(Appendix 3)
The supplementary control unit according to appendix 2, wherein the save control unit saves data of a generation whose transfer preparation is completed and whose transfer order is low among the data stored in the transmission buffer to the save volume. Storage system.
(Appendix 4)
The control unit includes a first pointer indicating a write state of the transmission buffer,
The storage system according to appendix 3, wherein the save control unit saves data of a generation having a lower transfer order to the save volume based on the first pointer.
(Appendix 5)
A second pointer indicating a read state of the transmission buffer;
The storage system according to any one of appendices 1 to 4, further comprising a restoration control unit that restores the generation of data having a lower transfer order from the save volume based on the second pointer.
(Appendix 6)
When the generation data having a low transfer order stored in the transmission buffer is usable, the restoration control unit only transfers control data associated with the generation having a low transfer order from the save volume. The storage system according to any one of appendices 1 to 4, wherein the storage system is restored to the transmission buffer.
(Appendix 7)
A first storage volume for storing data transmitted from the host device;
A storage device comprising: a control unit that performs storage control to the first storage volume and copy control to a second storage volume connected via a network;
The controller is
An identification information acquisition unit for acquiring reception buffer identification information used for identification of a reception buffer provided in a reception-side storage device including the second storage volume;
A transmission buffer for storing data to be transferred to the reception buffer of the second storage device;
A data transfer control unit that associates the transmission buffer and the reception buffer based on the transmission buffer identification information and the reception buffer identification information provided in the transmission buffer when performing the transfer process;
A storage device comprising: a transfer processing unit that transfers data in the transmission buffer to the reception buffer based on the association.
(Appendix 8)
The transmission device further comprises a save volume for temporarily saving data stored in the transmission buffer, and a save control unit for controlling data save to the save volume,
The appending control unit according to claim 7, wherein the save control unit saves the data stored in the transmission buffer to the save buffer in units of generations when the use state of the transmission buffer reaches a predetermined state. Storage device.
(Appendix 9)
The supplementary control 8 according to appendix 8, wherein the save control unit saves, to the save volume, data of a generation whose transfer preparation is completed and whose transfer order is low among the data stored in the transmission buffer. Storage device.
(Appendix 10)
The control unit includes a first pointer indicating a write state of the transmission buffer,
The storage device according to appendix 9, wherein the save control unit saves the generation data having a low transfer order to the save volume based on the first pointer.
(Appendix 11)
A second pointer indicating a read state of the transmission buffer;
11. The storage device according to any one of appendices 8 to 10, further comprising a restoration control unit that restores the generation data having a lower transfer order from the save volume based on the second pointer.
(Appendix 12)
When the generation data having a low transfer order stored in the transmission buffer is usable, the restoration control unit only transfers control data associated with the generation having a low transfer order from the save volume. The storage device according to any one of appendices 8 to 10, wherein the storage device is restored to the transmission buffer.
(Appendix 13)
A storage device control method comprising: storage control to a first storage volume that stores data transmitted from a host device; and a control unit that performs copy control to a second storage volume connected via a network. There,
An identification information acquisition step of acquiring reception buffer identification information used for identification of a reception buffer provided in a reception-side storage device comprising the second storage volume;
A data storage step of storing in the transmission buffer data to be transferred to the reception buffer of the reception-side storage device;
A data transfer control step for associating the transmission buffer with the reception buffer based on the transmission buffer identification information and the reception buffer identification information provided in the transmission buffer when performing the transfer process;
A storage device control method comprising: a transfer processing step of transferring data in the transmission buffer to the reception buffer based on the association.
(Appendix 14)
A saving control step of temporarily saving data stored in the transmission buffer to a saving volume provided in the storage device;
14. The saving control step according to claim 13, wherein when the use state of the transmission buffer reaches a predetermined state, the data stored in the transmission buffer is saved in the saving buffer in generation units. Storage device control method.
(Appendix 15)
Item 15. The supplementary note 15, wherein the save control step saves, to the save volume, data of a generation whose transfer preparation is completed and whose transfer order is low among the data stored in the transmission buffer. Storage device control method.
(Appendix 16)
16. The storage device according to appendix 15, wherein the saving control step saves the generation data having a low transfer order to the saving volume based on a first pointer indicating a writing state of the transmission buffer. Control method.
(Appendix 17)
Supplementary notes 14 to 16, further comprising: a restoration control unit that restores the generation data having a lower transfer order from the save volume based on a second pointer indicating a read state of the transmission buffer. Storage device control method.
(Appendix 18)
In the restoration control step, when generation data having a low transfer order stored in the transmission buffer is usable, only the control data accompanying the generation data having a low transfer order is transferred from the save volume. 17. The storage device control method according to any one of appendices 14 to 16, wherein the data is restored to the transmission buffer.
101 コピー元装置
104a メモリ
108a ディスク装置
109 ホスト
111 コピー先装置
190 退避用バッファ
201 記録バッファ
201a バッファ
201b BIT
202 バッファセット記憶部
203 未使用バッファID記憶部
101 Copy source device 104a Memory 108a Disk device 109 Host 111 Copy destination device 190 Evacuation buffer 201 Recording buffer 201a Buffer 201b BIT
202 Buffer set storage unit 203 Unused buffer ID storage unit
Claims (6)
前記第1の制御部は、
前記第2の記憶装置に転送するデータを格納するための複数の領域を有する送信用バッファと、
前記送信用バッファのデータを前記第2の記憶装置に対して転送する転送処理部と、
前記送信用バッファの使用率が所定値以上になったことを検出すると、前記送信用バッファに記憶されたデータを一時的に退避する退避用バッファに、前記送信用バッファが有する複数の領域のうち、転送される順番が遅いデータが格納されている領域のデータを退避する退避制御部と、
を備えたことを特徴とするストレージシステム。 A first storage device including a first storage unit that stores data transmitted from a host device and a first control unit that controls storage in the first storage unit; and the first storage device. A storage device comprising: a second storage device that includes a second storage unit to which data stored in the storage unit is copied via a network; and a second storage device that controls storage in the second storage unit A system,
The first controller is
A transmission buffer having a plurality of areas for storing data to be transferred to the second storage device;
A transfer processing unit for transferring data in the transmission buffer to the second storage device;
When detecting that the usage rate of the transmission buffer is equal to or greater than a predetermined value, the save buffer temporarily saves the data stored in the send buffer, among the plurality of areas of the send buffer An evacuation control unit that evacuates data in an area in which data that is transferred in a later order is stored;
A storage system characterized by comprising:
前記退避制御部は、前記第1のポインタに基づいて前記退避用バッファに前記転送する順番が遅いデータが格納された前記領域のデータから退避させることを特徴とする請求項1に記載のストレージシステム。 The control unit includes a first pointer indicating a write state in the area of the transmission buffer,
2. The storage system according to claim 1, wherein the save control unit saves data from the area in which the data to be transferred in a later order is stored in the save buffer based on the first pointer. .
前記第2のポインタに基づいて前記退避用バッファから前記転送する順番が遅いデータが格納された前記領域のデータから復元する復元制御部をさらに備えたことを特徴とする請求項1または2に記載のストレージシステム。 A second pointer indicating a read state from the area of the transmission buffer;
3. The restoration control unit according to claim 1, further comprising: a restoration control unit configured to restore from the data in the area in which the data with the later transfer order is stored from the save buffer based on the second pointer. Storage system.
前記制御部は、
前記他の記憶装置に転送するデータを格納するための複数の領域を有する送信用バッファと、
前記送信用バッファのデータを前記他の記憶装置に対して転送する転送処理部と、
前記送信用バッファの使用率が所定値以上になったことを検出すると、前記送信用バッファに記憶されたデータを一時的に退避する退避用バッファに、前記送信用バッファが有する複数の領域のうち、転送される順番が遅いデータが格納されている領域のデータを退避する退避制御部と、
を備えたことを特徴とする記憶装置。 A first storage unit that stores data transmitted from the host device, a control unit that performs storage control to the first storage unit and copy control to other storage devices connected via a network; A storage device comprising:
The controller is
A transmission buffer having a plurality of areas for storing data to be transferred to the other storage device;
A transfer processing unit for transferring the data in the transmission buffer to the other storage device;
When detecting that the usage rate of the transmission buffer is equal to or greater than a predetermined value, the save buffer temporarily saves the data stored in the send buffer, among the plurality of areas of the send buffer An evacuation control unit that evacuates data in an area in which data that is transferred in a later order is stored;
A storage device comprising:
前記他の記憶装置に転送するデータを格納するための複数の領域を有する送信用バッファ、にデータを格納するデータ格納ステップと、
前記送信用バッファのデータを前記他の記憶装置に対して転送する転送処理ステップと、
前記送信用バッファの使用率が所定値以上になったことを検出すると、前記送信用バッファに記憶されたデータを一時的に退避する退避用バッファに、前記送信用バッファが有する複数の領域のうち、転送される順番が遅いデータが格納されている領域のデータを退避する退避制御ステップと、
を備えたことを特徴とする記憶装置の制御方法。 A control method for a storage device including a control unit that performs storage control to a first storage unit that stores data transmitted from a host device and copy control to another storage device connected via a network. And
A data storage step of storing data in a transmission buffer having a plurality of areas for storing data to be transferred to the other storage device;
A transfer processing step of transferring data in the transmission buffer to the other storage device;
When detecting that the usage rate of the transmission buffer is equal to or greater than a predetermined value, the save buffer temporarily saves the data stored in the send buffer, among the plurality of areas of the send buffer An evacuation control step for evacuating data in an area in which data that is transferred in a later order is stored;
A method for controlling a storage device, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010173675A JP5263237B2 (en) | 2010-08-02 | 2010-08-02 | Storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010173675A JP5263237B2 (en) | 2010-08-02 | 2010-08-02 | Storage system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008198852A Division JP4774085B2 (en) | 2008-07-31 | 2008-07-31 | Storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010244583A true JP2010244583A (en) | 2010-10-28 |
JP5263237B2 JP5263237B2 (en) | 2013-08-14 |
Family
ID=43097444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010173675A Active JP5263237B2 (en) | 2010-08-02 | 2010-08-02 | Storage system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5263237B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010624A (en) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | Relay device, relay method and relay program |
US10007467B2 (en) | 2016-03-14 | 2018-06-26 | Fujitsu Limited | Storage system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0836877A (en) * | 1994-07-20 | 1996-02-06 | Fujitsu Ltd | Queue device |
JP2000090061A (en) * | 1998-02-06 | 2000-03-31 | Ncr Internatl Inc | Data communication method in parallel processing computer system |
JP2005216317A (en) * | 2005-02-04 | 2005-08-11 | Fujitsu Ltd | Queue device |
JP2006260355A (en) * | 2005-03-18 | 2006-09-28 | Hitachi Ltd | Storage system and storage control method |
JP2006260292A (en) * | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | Remote copy method and storage system |
JP2008135133A (en) * | 2006-11-29 | 2008-06-12 | Matsushita Electric Ind Co Ltd | Bit stream reproducing device |
-
2010
- 2010-08-02 JP JP2010173675A patent/JP5263237B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0836877A (en) * | 1994-07-20 | 1996-02-06 | Fujitsu Ltd | Queue device |
JP2000090061A (en) * | 1998-02-06 | 2000-03-31 | Ncr Internatl Inc | Data communication method in parallel processing computer system |
JP2005216317A (en) * | 2005-02-04 | 2005-08-11 | Fujitsu Ltd | Queue device |
JP2006260292A (en) * | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | Remote copy method and storage system |
JP2006260355A (en) * | 2005-03-18 | 2006-09-28 | Hitachi Ltd | Storage system and storage control method |
JP2008135133A (en) * | 2006-11-29 | 2008-06-12 | Matsushita Electric Ind Co Ltd | Bit stream reproducing device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010624A (en) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | Relay device, relay method and relay program |
US10007467B2 (en) | 2016-03-14 | 2018-06-26 | Fujitsu Limited | Storage system |
Also Published As
Publication number | Publication date |
---|---|
JP5263237B2 (en) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4774085B2 (en) | Storage system | |
JP5397148B2 (en) | Storage device, control device, and control method of storage device | |
US8589646B2 (en) | Storage apparatus and method for storage apparatus | |
US7454583B2 (en) | Storage controller and control method for dynamically accomodating increases and decreases in difference data | |
US7669022B2 (en) | Computer system and data management method using a storage extent for backup processing | |
JP4375435B2 (en) | Hierarchical storage system for predictive data migration | |
WO2017022002A1 (en) | Storage device, storage system, and control method for storage system | |
EP1860560B1 (en) | Storage control method and system for performing backup and/or restoration | |
US8639898B2 (en) | Storage apparatus and data copy method | |
JP6024296B2 (en) | Information processing apparatus, copy control program, and copy control method | |
JP5593792B2 (en) | RAID device, storage control method, and storage control program | |
JP2008210164A (en) | Job management device, cluster system, and job management program | |
JP2010097533A (en) | Application migration and power consumption optimization in partitioned computer system | |
US7734591B1 (en) | Coherent device to device data replication | |
JP2015052844A (en) | Copy controller, copy control method, and copy control program | |
JP5549243B2 (en) | Storage device, storage device control method, and storage device control program | |
KR101427535B1 (en) | Information processing apparatus, recording medium, and area release control method | |
JP5263237B2 (en) | Storage system | |
JP6019940B2 (en) | Information processing apparatus, copy control program, and copy control method | |
JP4340616B2 (en) | Disk array device | |
JP5544897B2 (en) | Storage device, control device, and control method of storage device | |
JP2012022645A (en) | Data storage system and asynchronous replication method | |
JP2012252416A (en) | Storage device, data control method, and data controller | |
JP5297250B2 (en) | Storage system and information storage method | |
JP2020140325A (en) | Storage system including multiple storage nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5263237 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |