Patent ID: 8745344

Claim:
A storage system comprising: a storage device including areas providing a storage area pool; a thin provisioning controller allocating a plurality of units of storage areas in the storage area pool to at least one logical volume provided to an external apparatus; a snapshot controller configured to: designate one of the logical volumes as a primary volume; define a secondary volume as a partner pair of data copy including a data backup of the primary volume which is combined data of the data stored in the primary volume and difference data which is data different from the stored data in the primary volume; assign unused one of the units of storage areas in the storage area pool, which includes storage areas allocated to the primary volume for storing the difference data; and set a volume pair created with the primary volume and the secondary volume either into a synchronizing state where the data stored in the primary volume and the data stored in the secondary volume are synchronized and a non-synchronizing state where the data stored in the primary volume and the data stored in the secondary volume are not synchronized; a cache memory for storing data temporarily; and wherein the cache memory includes a primary volume data temporarily storing area and a pool data temporary storing area, the primary volume data temporary storing area for storing data read from the primary volume temporarily, the pool data temporary storing area for storing data to be written into the storage area pool; wherein, when receiving a data write request for the secondary volume from the external apparatus, the storage system is configured to: determine whether or not data to be written in the data write request include corresponding difference data; if it is determined that data to be written in the data write request do not include corresponding difference data, transmit information indicating that processing of the data write request is completed to the external apparatus after the data to be written are stored into the pool data temporary storing area; read primary volume data stored in a storage area including the data to be written from the primary volume; store the read primary volume data into the primary volume data temporary storing area; combine the read primary volume data with the data to be written in the pool data temporary storing area; and store the combined data into the storage area pool.