Patent ID: 8145603
Filing Date: 2012-03-27
Classification: G06F

Abstract:
1. A storage system to be coupled to a host computer via a network, the storage system comprising: a data volume storing write data from the host computer; a snapshot storing area for storing a plurality of snapshots including a first snapshot of at least a portion of the data volume at a first point in time, and also storing a second snapshot of the portion of the data volume at a second point in time that is a latest snapshot among the stored snapshots; and a journal storing area storing an oldest after-journal entry before the first point in time, an after-journal entry between the first and second point in time, and another after-journal entry after the second point in time, wherein the journal storing area has a variable amount of available space in which new after-journal entries can be written, wherein if the amount of available space in the journal storing area falls below a predetermined threshold, then the amount of available space is increased by sequentially freeing journals beginning with the oldest after-journal entry without applying the journals until the amount of available space is no longer below the predetermined threshold, wherein if, during the increasing of the amount of available space, it becomes necessary to free said another after-journal entry after the second point in time, then said another after-journal entry is applied to the second snapshot to create a new snapshot before being made free, wherein when receiving a data recovery request to recover data at a target point in time between the first point in time and the second point in time, determining whether recovery is possible, and if recovery is possible, by using a copy of the first snapshot in a recovery volume and at least a portion of one after-journal entry to perform recovery at the target point in time, and wherein based on a user's selection, the storage system determines whether to create a before-journal entry before applying said portion of one after-journal entry to the copy of the first snapshot, the before-journal entry being recording data that is stored in a location where the after-journal entry is applied to enable rollback to a snapshot at any point in time between the first snapshot and the second snapshot.