IP Library › Granted Patent US 8,103,840
Granted Patent B2
US 8,103,840 · App. 11/567,212 · Granted Jan 24, 2012

Snapshot mechanism and method thereof

Assignee: Industrial Technology Research Institute
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,103,840
App. No.
11/567,212
Granted
Jan 24, 2012
Kind
B2
Abstract

A snapshot mechanism and a method thereof used in a data processing system are provided to backup snapshot data. The snapshot mechanism includes a snapshot storage unit and a buffer storage unit, wherein the snapshot storage unit is used as a unit for storing data generated after a target storage unit snapshots data and accordingly generating a plurality of snapshot management data. In addition, the buffer storage unit temporarily stores new data and flushes the data to the target storage unit in predetermined time interval. According to the snapshot management data, the target storage unit can be rolled back or rolled forward to the status before a predetermined time.

Claims (60)

1. A snapshot method, suitable for the snapshot operation of a target storage unit and a snapshot storage unit, the snapshot method comprising:

when performing a write operation for writing first data into the target storage unit and triggering copy-on-write (CoW), replicating second data stored in an address of the target storage unit for the second data to be written into a snapshot storage unit, and meanwhile temporarily storing the first data to be written into the target storage unit into a buffer storage unit; and

flushing the first data to be written and stored in the buffer storage unit into the target storage unit in a predetermined time interval after receiving a confirmation that the replicated second data has been stored in the snapshot storage unit.

2. The snapshot method as claimed in claim 1 , wherein the snapshot storage unit is used to store a plurality of snapshot data generated after snapshot for a plurality of target storage units of other hosts connected through network.

3. The snapshot method as claimed in claim 2 , further comprising generating snapshot management data corresponding to a relationship between a plurality of snapshot data generated after snapshot of the plurality of target storage units and the snapshot storage unit.

4. The snapshot method as claimed in claim 3 , wherein the snapshot management data comprises:

a relation pair table (RPT), representing a mapping relationship between the target storage unit and the snapshot storage unit;

a snapshot management table (SMT), for storing a time stamp of each establishment of a plurality of snapshot images in order to manage the snapshot images by a timeline; and

an update location table (ULT), for recording a logical block address of the snapshot data originally in the target storage unit and the logical block address when the data is written into the snapshot storage unit.

5. The snapshot method as claimed in claim 4 , wherein the write operation comprises:

checking whether the snapshot management data of the target storage unit in which the first data is to be written is generated;

checking whether there is record of the logical block address corresponding to the first data to be written in the target storage unit in the ULT, wherein if the record exists, check whether the write operation needs CoW, and if so, replicate the first data to be written to the buffer storage unit and then transmit the second data corresponding to the logical block address of the second data to be written to the snapshot storage unit; and

adding the record about the write operation into the ULT.

6. The snapshot method as claimed in claim 4 , further comprising performing a rollback procedure to the target storage unit, comprising:

establishing a snapshot for the target storage unit to perform rollback;

collecting all the logical block addresses belonging to the target storage unit to perform rollback from the ULT into a processing queue, wherein the snapshot create time of the logical block address is at or from the snapshot create time point for rollback; and

performing the following procedures for each logical block address in the processing queue sequentially, comprising:

checking an oldest update record of the logical block address after the rollback time point in the ULT;

querying the RPT to find the corresponding snapshot volume according to the oldest record in the ULT; and

reading and writing the data back to the logical block address under process, till all the logical block addresses in the processing queue are processed.

7. The snapshot method as claimed in claim 6 , further comprising performing a rollforward procedure to the target storage unit, comprising:

according to the target storage unit to perform the rollforward procedure, searching the ULT for block addresses to be processed at a snapshot create time from the current snapshot create time to the time point for rollforward; and

performing the following procedures to each logical block address in the processing queue in sequence, comprising:

checking an oldest update record of the logical block address after the rollforward time point in the ULT;

finding the snapshot storage unit corresponding to the oldest update record, and reading the data stored in the logical block address corresponding to the oldest update record; and

writing back the logical block address of the target storage unit to perform the rollforward procedure, and performing the logical block addresses in the next processing queue, until all the logical block addresses in the processing queue are processed.

8. The snapshot method as claimed in claim 1 , wherein the target storage unit and the snapshot storage unit are connected by a local area network (LAN).

9. The snapshot method as claimed in claim 1 , wherein the target storage unit and the snapshot storage unit are connected by a wide area network (WAN) or Internet.

10. The snapshot method as claimed in claim 1 , wherein the target storage unit and the snapshot storage unit are connected by a manner of wireless communication.

11. The snapshot method as claimed in claim 1 , wherein the target storage unit and the snapshot storage unit are connected by a manner of satellite communication.

12. The snapshot method as claimed in claim 1 , wherein the buffer storage unit is a buffer volume.

13. The snapshot method as claimed in claim 1 , wherein the buffer storage unit is a memory device.

14. A snapshot system, suitable for the operation of snapshot between a first system and a second system connected by network, the snapshot system comprising:

the first system, comprising a target storage unit configured for storing data; and

the second system, connected to the first system through the network, comprising a snapshot storage unit configured for storing snapshot data of the target storage unit, and a buffer storage unit configured for temporarily storing data to be written to the target storage unit, wherein:

when first data is desired to be written into the target storage unit in the first system, and copy-on-write (CoW) is triggered, the first system is configured for replicating second data stored in an address of the target storage unit for the second data desired to be written into the snapshot storage unit of the second system by a network, and meanwhile temporarily storing the first data desired to be written into the target storage unit into the buffer storage unit of the first system; and

the first system is also configured for flushing the first data to be written and stored in the buffer storage unit into the target storage unit in a predetermined time interval after receiving a confirmation that the replicated second data has been stored from the snapshot storage unit of the second system.

15. The snapshot system as claimed in claim 14 , wherein the snapshot storage unit is used to store a plurality of snapshot data generated after snapshot for a plurality of target storage units of the first system connected by the network.

16. The snapshot system as claimed in claim 15 , further comprising: the second system is configured for generating snapshot management data corresponding to a relationship between a plurality of snapshot data generated after snapshotting the plurality of target storage units and the snapshot storage unit.

17. The snapshot system as claimed in claim 14 , wherein the snapshot management data comprises:

a relationship pair table (RPT), representing the mapping relationship between the target storage unit and the snapshot storage unit;

a snapshot management table (SMT), for storing a time stamp of each establishment of a plurality of snapshot images in order to manage the snapshot images by a timeline; and

an update location table (ULT), for recording the logical block address of snapshot data originally in the target storage unit and the logical block address when data is written into the snapshot storage unit.

18. The snapshot system as claimed in claim 17 , wherein the write operation comprises:

checking whether the snapshot management data of the target storage unit in which the data to be written is generated;

checking whether there is record of the logical block address corresponding to the first data to be written in the target storage unit in the ULT, wherein if the record exists, check whether the write operation needs CoW, and if so, replicate the first data to be written to the buffer storage unit and then transmit the second data corresponding to the logical block address of the second data to be written to the snapshot storage unit of the second system; and

adding the record about the write operation into the ULT.

19. The snapshot system as claimed in claim 17 , wherein the first system is also configured for performing a rollback procedure to the target storage unit, and the rollback procedure comprises:

establishing a snapshot for the target storage unit to perform rollback;

collecting all the logical block addresses belonging to the target storage unit to perform rollback from the ULT into a processing queue, wherein the snapshot create time of the logical block address is at or from the snapshot create time point for rollback; and

performing the following procedures for each logical block address in the processing queue sequentially, comprising:

checking an oldest update record of the logical block address after the rollback time point in the ULT;

querying the RPT to find the corresponding snapshot volume according to the oldest record in the ULT; and

reading and writing the data back to the logical block address under process, till all the logical block addresses in the processing queue are processed.

20. The snapshot system as claimed in claim 17 , wherein the first system is also configured for performing a rollforward procedure to the target storage unit, and the rollforward procedure comprises:

according to the target storage unit to perform the rollforward procedure, searching the ULT for block addresses to be processed at a snapshot create time from the current snapshot create time to the time point for rollforward; and

performing the following procedures for each logical block address in the processing queue in sequence, comprising:

checking the oldest update record of the logical block address after the rollforward time point in the ULT;

finding the snapshot storage unit corresponding to the oldest update record, and reading the data stored in the logical block address corresponding to the oldest update record; and

writing back the logical block address of the target storage unit to perform the rollforward procedure, and performing the logical block addresses in the next processing queue, till all the logical block addresses in the processing queue are processed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2006
From: HWANG, WEN-SHYANG; LIN, CHING-HUNG; WANG, JUN-YAO; SU, CHIN-PEI; TSAI, TSUNG-LIN
To: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE
Reel/Frame 018644/0958 →
Priority Claims (1)
TW 95117415 A · May 17, 2006 · national
Continuity (1)
Related Publication 20070271431A1 · Nov 22, 2007