IP Library Granted Patent US 8,966,200
Granted Patent B1
US 8,966,200 · App. 14/501,846 · Granted Feb 24, 2015

Pruning free blocks out of a decremental backup chain

Inventor: Nathan S. Bushman (Pleasant Grove, UT)
Assignee: Storagecraft Technology Corporation
G06F11/1451G06F11/1461G06F2201/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 8,966,200
App. No.
14/501,846
Granted
Feb 24, 2015
Kind
B1
Abstract

Pruning free blocks out of a decremental backup chain. In one example embodiment, a method for pruning free blocks out of a decremental backup in a decremental backup chain includes identifying a decremental backup chain that includes one or more decremental backups of a source storage and a base backup of the source storage, identifying, for pruning, a target decremental backup in the decremental backup chain, retrieving one or more file system block allocation maps (FSBAMs) for points in time represented by the target decremental backup and represented by any of the other decremental backups in the decremental backup chain that depend on the target decremental backup, creating a master block allocation map (MBAM) by combining the one or more FSBAMs, and pruning free blocks, corresponding to block positions that are indicated as being free in the MBAM, out of the target decremental backup.

Claims (47)

1. A method for pruning free blocks out of a decremental backup in a decremental backup chain, the method comprising:

identifying a decremental backup chain that includes one or more decremental backups of a source storage and a base backup of the source storage;

identifying, for pruning, a target decremental backup in the decremental backup chain;

retrieving one or more file system block allocation maps (FSBAMs) for points in time represented by the target decremental backup and represented by any of the other decremental backups in the decremental backup chain that depend on the target decremental backup;

creating a master block allocation map (MBAM) by combining the one or more FSBAM; and

pruning free blocks, corresponding to block positions that are indicated as being free in the MBAM, out of the target decremental backup.

2. The method of claim 1 , wherein the pruning of the free blocks is performed in response to:

a predetermined period of time, as set forth in a pruning policy, having passed since a most recent pruning of free blocks out of the target decremental backup.

3. The method of claim 1 , wherein the pruning of the free blocks is performed in response to:

receiving input from a user that specifies the performance of the pruning of free blocks out of the target decremental backup.

4. The method of claim 1 , wherein the pruning of the free blocks is performed in response to:

removing an oldest decremental backup from the decremental backup chain.

5. The method of claim 4 , wherein the removing of the oldest decremental backup from the decremental backup chain is performed in response to:

a predetermined period of time, as set forth in a retention policy, having passed since the point in time represented by the oldest decremental backup;

a predetermined aggregate size limit, as set forth in the retention policy, having been reached for the decremental backup chain;

a predetermined number of backups limit, as set forth in the retention policy, having been reached for the decremental backup chain; or

some combination thereof.

6. The method of claim 1 , wherein the retrieving of the one or more FSBAM includes:

for each FSBAM, searching forward in the decremental backup chain, from the backup in the decremental backup chain that represents the point in time of the FSBAM, for the first block for each of one or more block positions that make up the FSBAM in order to reconstruct the FSBAM.

7. The method of claim 1 , wherein the retrieving of the one or more FSBAM includes:

for each FSBAM, retrieving a complete copy of the FSBAM that is associated with the decremental backup in the decremental backup chain that represents the point in time of the FSBAM.

8. The method of claim 1 , wherein each of the one or more FSBAMs includes a run-length encoded list of free blocks and/or allocated blocks.

9. The method of claim 8 , wherein the creating of the MBAM includes creating a comprehensive run-length encoded list of free and/or allocated blocks that lists all free and/or allocated blocks that are listed in any of the run-length encoded lists of the one or more FSBAM.

10. 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 .

11. A method for pruning free blocks out of a base backup of a decremental backup chain, the method comprising:

identifying a decremental backup chain that includes zero or more decremental backups of a source storage and a base backup of the source storage;

retrieving one or more file system block allocation maps (FSBAMs) for each point in time represented by the backup(s) in the decremental backup chain;

creating a master block allocation map (MBAM) by combining the one or more FSBAM; and

pruning free blocks, corresponding to block positions that are indicated as being free in the MBAM, out of the base backup.

12. The method of claim 11 , wherein the pruning of the free blocks is performed in response to:

reaching a predetermined point in time, as set forth in a pruning policy, for pruning of free blocks out of the base backup.

13. The method of claim 11 , wherein the pruning of the free blocks is performed in response to:

receiving input from a user that specifies the performance of the pruning of free blocks out of the base backup during a particular period of time.

14. The method of claim 11 , wherein the pruning of the free blocks is performed in response to:

removing one or more oldest decremental backups from the decremental backup chain.

15. The method of claim 14 , wherein the removing of the one or more oldest decremental backups from the decremental backup chain is performed in response to:

a predetermined period of time, as set forth in a retention policy, having passed since the point in time represented by the newest backup of the one or more oldest decremental backups;

a predetermined aggregate size limit, as set forth in the retention policy, having been reached for the decremental backup chain;

a predetermined number of backups limit, as set forth in the retention policy, having been reached for the decremental backup chain; or

some combination thereof.

16. The method of claim 11 , wherein the retrieving of the one or more FSBAMs includes:

for each FSBAM, searching forward in the decremental backup chain, from the backup in the decremental backup chain that represents the point in time of the FSBAM, for the first block for each of one or more block positions that make up the FSBAM in order to reconstruct the FSBAM.

17. The method of claim 11 , wherein the retrieving of the one or more FSBAMs includes:

for each FSBAM, retrieving a complete copy of the FSBAM that is associated with the backup in the decremental backup chain that represents the point in time of the FSBAM.

18. The method of claim 11 , wherein each of the one or more FSBAMs includes a run-length encoded list of free and/or allocated blocks.

19. The method of claim 18 , wherein the creating of the MBAM includes creating a comprehensive run-length encoded list of free and/or allocated blocks that lists all free and/or allocated blocks that are listed in any of the run-length encoded lists of the FSBAMs.

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 11 .

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.
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 033853/0288 →