IP Library Granted Patent US 9,152,504
Granted Patent B1
US 9,152,504 · App. 14/501,795 · Granted Oct 6, 2015

Staged restore of a decremental backup chain

Inventors: Nathan S. Bushman (Pleasant Grove, UT); Douglas Mark Lee (Orem, UT)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F11/1451G06F11/1435G06F11/1464G06F2201/84
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 9,152,504
App. No.
14/501,795
Granted
Oct 6, 2015
Kind
B1
Abstract

Staged restore of a decremental backup chain. In one example embodiment, a method includes, first, restoring a first backup of a source storage to a restore storage. Next, a second backup of the source storage in a decremental backup chain of the source storage is identified. Then, a third backup of the source storage in the decremental backup chain of the source storage is identified. Next, blocks in the decremental backup chain that were newly allocated in the source storage between the first point in time and the second point in time are identified. Then, the newly-allocated blocks are restored to the restore storage. Next, blocks in the decremental backup chain that were changed in the source storage between the first point in time and the second point in time are identified. Lastly, the changed blocks are restored to the restore storage.

Claims (48)

1. A method for staged restore of a decremental backup chain, the method comprising:

restoring a first backup of a source storage to a restore storage, the first backup representing allocated blocks from the source storage from a first point in time;

identifying a second backup of the source storage in a decremental backup chain of the source storage, the second backup being a decremental backup, the second backup also representing the allocated blocks from the source storage from the first point in time;

identifying a third backup of the source storage in the decremental backup chain of the source storage that is subsequent to the second backup and upon which the second backup depends, the third backup representing allocated blocks from the source storage from a second point in time;

identifying blocks in the decremental backup chain that were newly allocated in the source storage between the first point in time and the second point in time;

restoring the newly-allocated blocks to the restore storage;

identifying blocks in the decremental backup chain that were changed in the source storage between the first point in time and the second point in time; and

restoring the changed blocks to the restore storage.

2. The method of claim 1 , wherein the first backup is a backup in the decremental backup chain.

3. The method of claim 2 , wherein the first backup is a decremental backup in the decremental backup chain.

4. The method of claim 2 , wherein the first backup is a base backup in the decremental backup chain.

5. The method of claim 1 , wherein the first backup is an incremental backup that is not in the decremental backup chain.

6. The method of claim 1 , wherein the first backup is a base backup that is not in the decremental backup chain.

7. The method of claim 1 , wherein the third backup is a decremental backup in the decremental backup chain.

8. The method of claim 1 , wherein the third backup is a base backup in the decremental backup chain.

9. The method of claim 1 , wherein the identifying the blocks in the decremental backup chain that were newly allocated in the source storage between the first point in time and the second point in time includes:

comparing a file system block allocation map (FSBAM) associated with the third backup to an FSBAM associated with the second backup to identify positions of the newly-allocated blocks; and

searching forward in the decremental backup chain beginning with the third backup for the first block having the position of each of the newly-allocated blocks.

10. The method of claim 1 , wherein the identifying the blocks in the decremental backup chain that were newly allocated in the source storage between the first point in time and the second point in time includes:

accessing a list of newly-allocated blocks that is associated with the third backup and that was created during creation of the second backup by:

comparing an FSBAM corresponding to the first point in time to an FSBAM corresponding to the second point in time to identify positions of the newly-allocated blocks; or

identifying positions of blocks that are copied to a base backup, from which the second backup depends, in which positions no blocks previously existed in the base backup to identify positions of the newly-allocated blocks; and

searching forward in the decremental backup chain beginning with the third backup for the first block having the position of each of the newly-allocated blocks.

11. The method of claim 1 , wherein the identifying blocks in the decremental backup chain that were changed in the source storage between the first point in time and the second point in time includes:

identifying positions of blocks in the second backup to identify positions of the changed blocks; and

searching forward in the decremental backup chain beginning with the third backup for the first block having the position of each of the changed blocks.

12. The method of claim 11 , wherein the identifying blocks in the decremental backup chain that were changed in the source storage between the first point in time and the second point in time includes:

accessing a list of changed blocks that is associated with the third backup and that was created during creation of the second backup by:

identifying positions of blocks in the second backup to identify positions of the changed blocks; or

identifying positions of blocks that are copied to a base backup, from which the second backup depends, in which positions blocks previously existed in the base backup to identify positions of the changed blocks; and

searching forward in the decremental backup chain beginning with the third backup for the first block having the position of each of the changed blocks.

13. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform the method as recited in claim 1 .

14. A method for staged restore of a decremental backup chain, the method comprising:

restoring a first backup of a source storage to a restore storage, the first backup representing allocated blocks from the source storage from a first point in time;

identifying a second backup of the source storage in a decremental backup chain of the source storage, the second backup being a decremental backup, the second backup also representing the allocated blocks from the source storage from the first point in time;

identifying a third backup of the source storage in the decremental backup chain of the source storage that is subsequent to the second backup and upon which the second backup depends, the third backup representing allocated blocks from the source storage from a second point in time;

identifying blocks in the decremental backup chain that were newly allocated in the source storage between the first point in time and the second point in time using a file system block allocation map (FSBAM) associated with the second backup and an FSBAM associated with the third backup to identify positions of the newly-allocated blocks;

restoring the newly-allocated blocks to the restore storage;

identifying blocks in the decremental backup chain that were changed in the source storage between the first point in time and the second point in time using positions of blocks in the second backup to identify positions of the changed blocks; and

restoring the changed blocks to the restore storage.

15. The method of claim 14 , wherein the first backup is a base backup in the decremental backup chain that existed prior to the second point in time.

16. The method of claim 14 , wherein the identifying the blocks in the decremental backup chain that were newly allocated in the source storage between the first point in time and the second point in time includes:

comparing the FSBAM associated with the third backup to the FSBAM associated with the second backup to identify the positions of the newly-allocated blocks; and

searching forward in the decremental backup chain beginning with the third backup for the first block having the position of each of the newly-allocated blocks.

17. The method of claim 16 , wherein the restoring the newly-allocated blocks to the restore storage includes copying the newly-allocated blocks to the restore storage.

18. The method of claim 14 , wherein the identifying blocks in the decremental backup chain that were changed in the source storage between the first point in time and the second point in time includes searching forward in the decremental backup chain beginning with the third backup for the first block having the position of each of the changed blocks.

19. The method of claim 18 , wherein the restoring the changed blocks to the restore storage includes replacing blocks in the restore storage having the positions of the changed blocks with the corresponding changed blocks.

20. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform the method as recited in claim 14 .

Assignments (6)
CHANGE OF NAME Recorded Aug 16, 2024
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: STORAGECRAFT TECHNOLOGY LLC
Reel/Frame 068660/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC; ARCSTOR MIDCO LLC; ARCSERVE ACQUISITION COMPANY LLC; ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY, LLC
To: STORAGECRAFT, LLC
Reel/Frame 068660/0208 →
SECURITY INTEREST Recorded Mar 16, 2021
From: ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY LLC; ZETTA, LLC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 055603/0219 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 16, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 055614/0607 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 038449/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: BUSHMAN, NATHAN S.; LEE, DOUGLAS MARK
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 033852/0904 →