Method and apparatus for backup and recovery using storage based journaling
First Claim
Patent Images
1. A storage system coupled to a host computer via a network comprising:
- a data volume storing write data from the host computer;
a snapshot storing area storing a plurality of snapshots;
a journal storing area storing journal entries associated with the write data, the journal entries including a journal entry between a first point in time and a second point in time; and
a storage controller to conduct write operations according to write requests received from the host computer, to manage snapshot operations to store the plurality of snapshots, and to perform data recovery with a target time using at least one of the journal entries and a selected snapshot among the plurality of snapshots,wherein the journal entries are generated for each of the write operations issued from the host computer and each of the journal entries includes a unique sequence number assigned by the storage system when a corresponding one of the journal entries is generated,wherein the storage system manages journal operations to record the journal entries, and to apply the at least one of the journal entries to the selected snapshot,wherein the storage system maintains a management table storing relationship information for each of the journal entries in association with the snapshots,wherein the storage controller selects a snapshot that is closest in time to the target time from among the plurality of snapshots as the selected snapshot, and applies the at least one journal entry to the selected snapshot in sequential order to perform the data recovery by referring to the management table, andwherein said unique sequence numbers are used to select the at least one journal entry to be sequentially applied to said selected snapshot.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage system maintains a journal of journal entries and at lease one snapshot of one or more data volumes. By assigning a unique sequence number to journal and snapshot, it is easy to find a journal which can be applied to the snapshot. A technique is described for detecting an overflow condition of running out of journal space and recovering the journal space.
98 Citations
11 Claims
-
1. A storage system coupled to a host computer via a network comprising:
-
a data volume storing write data from the host computer; a snapshot storing area storing a plurality of snapshots; a journal storing area storing journal entries associated with the write data, the journal entries including a journal entry between a first point in time and a second point in time; and a storage controller to conduct write operations according to write requests received from the host computer, to manage snapshot operations to store the plurality of snapshots, and to perform data recovery with a target time using at least one of the journal entries and a selected snapshot among the plurality of snapshots, wherein the journal entries are generated for each of the write operations issued from the host computer and each of the journal entries includes a unique sequence number assigned by the storage system when a corresponding one of the journal entries is generated, wherein the storage system manages journal operations to record the journal entries, and to apply the at least one of the journal entries to the selected snapshot, wherein the storage system maintains a management table storing relationship information for each of the journal entries in association with the snapshots, wherein the storage controller selects a snapshot that is closest in time to the target time from among the plurality of snapshots as the selected snapshot, and applies the at least one journal entry to the selected snapshot in sequential order to perform the data recovery by referring to the management table, and wherein said unique sequence numbers are used to select the at least one journal entry to be sequentially applied to said selected snapshot. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage system for processing data comprising:
-
a production data store receiving write operations from a host device; a snapshot data store storing one or more snapshots of at least a portion of the production data store; a journal data store storing one or more journal entries associated with the write operations; and a controller, wherein in response to a data recovery request specifying a target time, the controller selects a snapshot based on a target time, determines a beginning journal entry based on unique sequence numbers assigned by the storage system and associated with the journal entries and a sequence number of the selected snapshot, updates the selected snapshot by applying the beginning journal entry to the selected snapshot, and performs additional updates to the selected snapshot by applying journal entries that are later in time than the beginning journal entry and earlier in time than the target time, wherein the storage system maintains a management table storing relationship information for each of the journal entries in association with the snapshots, wherein the storage controller selects a snapshot that is closest in time to the target time from among the plurality of snapshots as the selected snapshot, and applies the journal entries to the selected snapshot in sequential order to perform the data recovery by referring to the management table, wherein the journal entries are generated for each write operation issued from the host computer and each of the journal entries includes one of the unique sequence numbers assigned by the storage system when a corresponding one of the journal entries is generated, and wherein said unique sequence numbers are used to select said selected snapshot and the journal entries that are to be applied to the selected snapshot. - View Dependent Claims (8, 9, 10, 11)
-
Specification