Patent ID: 9501231
Filing Date: 2016-11-22
CPC Classification: G06F

Claim Text:
1. A storage system comprising: a plurality of storage devices; a memory region; a cache memory region; and a processor, wherein the processor is configured to create a pool from the plurality of storage devices, wherein the pool is divided into a plurality of pages, wherein the processor is configured to manage a plurality of logical volumes including a primary volume and one or more secondary volumes that correspond to one or more snapshot acquisition points of time of the primary volume, wherein the primary volume is configured to be divided into a plurality of logical regions for storing data used by a host computer, wherein the secondary volumes are configured to be based on the pool and to be divided into a plurality of virtual regions for holding one or more snapshot images of the primary volume corresponding to the one or more snapshot acquisition points of time of the primary volume, and the plurality of pages in the pool are allocated dynamically to corresponding virtual regions of the secondary volumes, wherein the cache memory region is configured to store at least one data element that is to be written to one of the logical regions of the primary volume, wherein the memory region is configured to store time relation information indicating a time relationship between each data element to be stored in the logical regions of the primary volume and each of the one or more snapshot acquisition points of time of the primary volume, wherein the memory region is configured to store, on a page basis in the secondary volumes, a first page identifier that is used for referring to the respective page by other ones of the second volumes and a second page identifiers that is used for managing the respective page in the respective one of the secondary volumes, wherein the processor is configured to: (A) receive a write request from the host computer to the primary volume, (B) judge whether or not a first data element that has been previously stored into the cache memory region and that is to be written to a logical region as a write destination of the primary volume corresponding to the write request is a snapshot configuration element that configures one of the snapshot images of the primary volume based on the time relation information for the first data element, (C) in the case in which the first data element is the snapshot configuration element, identify the time relation information corresponding to a data element that is stored in the logical region of the write destination of the first data element, save data of the snapshot configuration element in the cache memory region to the one of the secondary volumes holding the one of the snapshot images to which the snapshot configuration element belongs, and then store a second data element of the write request in the cache memory region, and (D) in case that the first data element is not the snapshot configuration element, store the second data element of the write request in the cache memory region, and wherein in (C), the processor is further configured to: identify one of the secondary volumes holding the snapshot image of the logical region of the write destination of the first data element corresponding to a different time relation information than the identified time relation information, allocate one of the pages from the pool to the virtual region of the identified one of the secondary volumes, and store the data element stored in the logical region of the write destination of the first data element into the allocated page.