Patent ID: 7529899
Filing Date: 2009-05-05
Classification: G06F

Abstract:
1. A storage apparatus having an operational volume for storing data transmitted from a host system, and a pool volume for storing differential data as data before update when said data is to be stored in said operational volume after acquiring a snapshot image of said operational volume, comprising: a snapshot acquisition unit for acquiring said snapshot image of said operational volume at a prescribed timing; a snapshot management unit for managing the generation of said snapshot image acquired with said snapshot acquisition unit and the storage destination of data of said snapshot image; and a controller for controlling, upon receiving a read request regarding data of said snapshot image of a prescribed generation from said host system, the reading of said data of said operational volume or said differential data of said pool volume as data of a snapshot image of a corresponding generation based on the generation of said snapshot and the storage destination of data of said snapshot image managed by said snapshot management unit; wherein said controller performs control so as to store said data stored in said operational volume as replication data in said pool volume when reading said data from said operational volume, and read said replication data stored in said pool volume rather than from said operational volume when receiving a request for rereading said data stored in said operational volume to avoid an increase in access to the operational volume, by: determining whether a read request has been received from the host system, determining if data requested by the read request is stored in the operational volume, if the requested data is not stored in the operational volume, reading corresponding data from a differential data storage area of the pool volume, if the requested data is stored in the operational volume, determining if the requested data is stored as replication data in a replication data storage area of the pool volume, if the requested data is stored as replication data in the pool area, reading the corresponding replication data from the replication data storage area of the pool volume and incrementing a reception count of the read request of the read replication data by “1”, and if the requested data is not stored as replication data in the pool volume, determining if the requested data is storable in the replication data storage area, and, if so, storing data to be read as replication data in the replication data storage of the pool volume and setting the stored replication data as replication data of highest priority and reading this replication data.