Method and apparatus for data recovery using storage based journaling
First Claim
Patent Images
1. A storage system configured to be coupled to a host computer, the storage system comprising:
- a storage area storing a plurality of data volumes which store data sent from the host computer;
a controller configured to manage the plurality of data volumes;
a snapshot storing area for storing a first snapshot of at least a portion of a first data volume at a first point in time; and
a journal storing area, which is shared by the plurality of data volumes, for storing a plurality of before-journal entries with sequence numbers corresponding to data sent from the host computer before the first point in time and a plurality of after-journal entries with sequence numbers corresponding to data sent from the host computer after the first point in time,wherein the controller is configured to create a second snapshot by applying at least one journal entry selected from the plurality of before-journal entries or the plurality of after-journal entries to the first snapshot,wherein the snapshot storing area stores the second snapshot of the portion of the data volume at a second point in time that is a latest snapshot among the stored snapshots,wherein the journal storing area stores the plurality of after-journal entries corresponding to data sent from the host computer between the first point in time and the second point in time, and stores another after-journal entry after the second point in time, andwherein if, in order to increase an amount of available space in the journal storing area, 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.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage system maintains a journal and a snapshot of one or more data volumes. Two journal entry types are maintained, an AFTER journal entry and a BEFORE journal entry. Two modes of data recovery are provided: “fast” recovery and “undo-able”recovery. A combination of both recovery modes allows the user to quickly recover a targeted data state.
-
Citations
17 Claims
-
1. A storage system configured to be coupled to a host computer, the storage system comprising:
-
a storage area storing a plurality of data volumes which store data sent from the host computer; a controller configured to manage the plurality of data volumes; a snapshot storing area for storing a first snapshot of at least a portion of a first data volume at a first point in time; and a journal storing area, which is shared by the plurality of data volumes, for storing a plurality of before-journal entries with sequence numbers corresponding to data sent from the host computer before the first point in time and a plurality of after-journal entries with sequence numbers corresponding to data sent from the host computer after the first point in time, wherein the controller is configured to create a second snapshot by applying at least one journal entry selected from the plurality of before-journal entries or the plurality of after-journal entries to the first snapshot, wherein the snapshot storing area stores the second snapshot of the portion of the data volume at a second point in time that is a latest snapshot among the stored snapshots, wherein the journal storing area stores the plurality of after-journal entries corresponding to data sent from the host computer between the first point in time and the second point in time, and stores another after-journal entry after the second point in time, and wherein if, in order to increase an amount of available space in the journal storing area, 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A controller in a storage system coupled to a host computer, the controller for managing a storage area storing a plurality of data volumes storing data sent from the host computer to the storage system, the storage system including a snapshot storing area for storing a first snapshot of at least a portion of a first data volume at a first point in time and a journal storing area, which is shared by the plurality of data volumes, for storing a plurality of before-journal entries with sequence numbers corresponding to data sent from the host computer before the first point in time and a plurality of after-journal entries with sequence numbers corresponding to data sent from the host computer after the first point in time, the controller comprising:
-
a processor; a memory; and a first module configured to create a second snapshot by applying at least one journal entry selected from the plurality of before-journal entries or the plurality of after-journal entries to the first snapshot, wherein the snapshot storing area stores the second snapshot of the portion of the data volume at a second point in time that is a latest snapshot among the stored snapshots, wherein the journal storing area stores the plurality of after-journal entries corresponding to data sent from the host computer between the first point in time and the second point in time, and stores another after-journal entry after the second point in time, and wherein the controller further comprises a third module configured, if in order to increase an amount of available space in the journal storing area, it becomes necessary to free said another after-journal entry after the second point in time, to apply another after-journal entry to the second snapshot to create a new snapshot before being made free. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for managing a plurality of data volumes storing data sent from a host computer to a storage system, the storage system including a storage area storing the plurality of data volumes, a controller configured to manage the plurality of data volumes, a snapshot storing area for storing a first snapshot of at least a portion of a first data volume at a first point in time and a journal storing area, which is shared by the plurality of data volumes, for storing a plurality of before-journal entries with sequence numbers corresponding to data sent from the host computer before the first point in time and a plurality of after-journal entries with sequence numbers corresponding to data sent from the host computer after the first point in time, the method comprising:
-
creating, by the controller, a second snapshot by applying at least one journal entry selected from the plurality of before-journal entries or the plurality of after-journal entries to the first snapshot, wherein the snapshot storing area stores the second snapshot of the portion of the data volume at a second point in time that is a latest snapshot among the stored snapshots; wherein the journal storing area stores the plurality of after-journal entries corresponding to data sent from the host computer between the first point in time and the second point in time, and stores another after-journal entry after the second point in time, and wherein the method further comprises, if in order to increase an amount of available space in the journal storing area, it becomes necessary to free said another after-journal entry after the second point in time, applying, by the controller, another after-journal entry to the second snapshot to create a new snapshot before being made free. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification