US 7,555,505 B2
Method and apparatus for synchronizing applications for data recovery using storage based journaling
Kenji Yamagami, Los Gatos, Calif. (US)
Assigned to Hitachi, Ltd., Tokyo (Japan)
Filed on Feb. 28, 2006, as Appl. No. 11/365,085.
Application 11/365085 is a continuation of application No. 10/627507, filed on Jul. 25, 2003, abandoned.
Prior Publication US 2006/0149792 A1, Jul. 06, 2006
Int. Cl. G06F 12/00 (2006.01); G06F 17/30 (2006.01)
U.S. Cl. 707—203  [707/200] 16 Claims
OG exemplary drawing
 
13. A computer implemented method of storing information in a computer system to be coupled to a host computer via a network, the method comprising the steps of:
storing, in a data volume, write data constituting a plurality of files from the host computer;
storing, in a snapshot storing area, 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
storing, in a journal storing area, an oldest journal entry before the first point in time, a journal entry between the first and second point in time, and another journal entry after the second point in time,
wherein the journal storing area has a variable amount of available space in which new journal entries can be written,
wherein the computer system manages journal operations such that, 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 journal entries beginning with the oldest journal entry 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 journal entry after the second point in time, then said another journal entry is applied to the second snapshot to create a new snapshot before being made free,
wherein based upon a command for generating marker information targeted to a command device in the computer system from the host computer, the computer system records marker information as being associated with the journal entries in the journal storing area, the marker information representing a timing of closing of each of the plurality of files on the host computer for file system operation, wherein the marker information is independent from a write request,
wherein based upon a command for getting marker information targeted to the command device from the host computer, the computer system retrieves the recorded marker information fro the host computer, and
wherein when receiving a data recovery request specifying a specific marker information at a target point in time between the first point in time and the second point in time, the computer system determines whether recovery is possible, and if recovery is possible, the computer system uses a copy of the first snapshot in a recovery volume and at least a portion of one journal entry to perform recovery at the target point in time.