Patent ID: 7454583

Claim:
A first storage controller which holds write data provided from a host system and duplexes said data in a second storage controller, comprising: a storage device which provides a storage area for storing data; and a controller, wherein said controller: configures a production volume and a pool volume on said storage area, sequentially stores said data provided from said host system into said production volume, sequentially creates a snapshot composed of a data image of said production volume at a given point in time at regular or irregular intervals, and when said data is written in said production volume after said snapshot is created, sequentially saves the original data that is contained in said production volume immediately prior to the write of said data into said pool volume as difference data as appropriate, and after creating a new version of said snapshot, sequentially reads said difference data of said previously created snapshot from said pool volume and transfers said difference data to said second storage controller, and wherein said controller further: configures a plurality of said pool volumes, assigns a first pool volume out of a plurality of said pool volumes to a first copy pair, assigns a second pool volume to both of a second and third copy pairs, wherein each of said copy pairs includes a group of related production volumes and its corresponding secondary volume contained in the second storage controller, or includes one of said production volumes that does not belong to the group of related production volumes and its corresponding secondary volume contained in the second storage controller, creates said snapshot for each of said copy pairs regularly and changes cycle time as appropriate, said cycle time being a time interval during which said snapshot is created, obtains, for each of said copy pairs, a time difference between the time of creation of said snapshot and the time of completion of transfer of said snapshot to said second storage controller, and dynamically changes said cycle time for each of said copy pairs in accordance with said time difference, wherein when the time difference is greater than a predetermined first threshold value, the controller increases said cycle time for each of said copy pairs, and wherein when the time difference is less than a predetermined second threshold value, the controller decreases said cycle time for each of said copy pairs.