Patent ID: 8478727

Claim:
A storage system, comprising: a storage device that stores data; and a storage controller having the storage device as an access target, the storage controller including a logical unit that is associated with the data stored in the storage device, the logical unit including a plurality of snapshot generations, wherein the storage controller manages, when-updating data stored in the storage device, the plurality of snapshot generations using a forward differential method in which each new data is written in an area that is different from an area in which corresponding former data was stored and a backward differential method in which each new data is written alter corresponding former data is copied to a different area, wherein each snapshot generation included in the plurality of snapshot generations belongs to one of a forward differential group managed using the forward differential method and a backward differential group managed using the backward differential method, wherein the storage controller maintains information indicating whether each of the plurality of snapshot generations is an initial production generation for the plurality of snapshot generations, indicating whether each of the plurality of snapshot generations is managed using the forward differential method or the backward differential method, and indicating a corresponding relationship between the initial production generation and each of the other snapshot generations of the plurality of snapshot generations, wherein, in response to receiving a read command, the storage controller selects a method for determining a read destination address based on whether the snapshot generation targeted by the read command is managed using the forward differential method or the backward differential method; wherein, in response to receiving a write command, the storage controller selects a method for determining a write destination address based on whether the snapshot generation targeted by the write command is managed using the forward differential method or the backward differential method and further based on whether the snapshot generation targeted by the write command is the initial production generation for the plurality of snapshot generation wherein the snapshot generation targeted by the write command is managed using the backward differential method; wherein the storage system further comprises: a base volume storing data that is commonly used between the forward differential group and the backward differential group; one or more forward differential data pools that store difference data in comparison with the data of the base volume that belongs to the forward differential group; and one or more backward differential data pools that store difference data in comparison with the data of the base volume that belongs to the backward differential group, and wherein the base volume is shared by the forward differential group and the backward differential group.