IP Library Granted Patent US 10,102,078
Granted Patent B1
US 10,102,078 · App. 14/871,145 · Granted Oct 16, 2018

Minimizing a footprint of incremental backups

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 10,102,078
App. No.
14/871,145
Granted
Oct 16, 2018
Kind
B1
Abstract

Systems and methods for backing up data. A backup operation can identify blocks that have changed since a most recent backup operation. The blocks that have changed since the most recent backup operation are compared with the blocks that are being used. Only the blocks that are both used and have changed are backed up. This can reduce the size of the backup be excluding blocks that may have changed but are no longer used.

Claims (35)

1. A method for performing a backup operation, the method comprising:

identifying blocks on a storage device that have changed since a previous backup operation by a processor;

identifying blocks of the storage device that are being used to store data by the processor, wherein unused blocks do not store data that needs to be included in the backup operation;

comparing the changed blocks with the used blocks by the processor, wherein the comparison identifies at least blocks that have changed and are unused at a time of the backup operation; and

backing up blocks that are both used and that have changed since the previous backup operation by the processor, wherein the blocks that have changed and are unused at the time of the backup operation are not included in the backup operation.

2. The method of claim 1 , wherein identifying blocks on a storage device that have changed since a previous backup operation includes consulting at least one data block bitmap that identifies which blocks are used and which blocks are unused.

3. The method of claim 2 , further comprising parsing a file system on the storage device to determine a number of the data block bitmaps.

4. The method of claim 1 , further comprising identifying blocks that have changed and that are used on a volume associated with the storage device.

5. The method of claim 1 , wherein comparing the changed blocks with the used blocks includes intersecting the changed blocks with the used blocks to determine the blocks that are both used and that have changed.

6. The method of claim 1 , further comprising performing a snapshot operation.

7. The method of claim 1 , further comprising storing copies of the blocks that are used and that have changed since the previous backup in a container.

8. A method for performing a backup operation, the method comprising:

taking a snapshot of a data set by a processor, wherein the data set is stored on at least one storage device;

identifying blocks on the data set that have changed since a previous backup operation performed on the data set by the processor, wherein changed blocks are stored in a change block log maintained by a change block tracker;

determining blocks on the data set that are used, by the processor, wherein used blocks and unused blocks are identified in at least one block bitmap associated with the data set, wherein the used blocks include data that has been or needs to be backed up and the unused blocks do not need to be backed up in the backup operation; and

backing up blocks in the change block log that are also determined to be used, by the processor, wherein blocks that have changed and are unused at the time of the backup operation are not included in the backup operation.

9. The method of claim 8 , wherein the data set is partitioned into block groups, further comprising determining a number of the block groups.

10. The method of claim 9 , further comprising determining the used blocks in each of the block groups.

11. The method of claim 10 , further comprising determining the used blocks in each of the block groups from a block bitmap.

12. The method of claim 8 , further comprising determining the used blocks by parsing the snapshotted data set.

13. The method of claim 8 , wherein some of the blocks in the change block log are excluded from the backup operation.

14. The method of claim 8 , wherein the used blocks are stored in at least one block bitmap, further comprising converting the at least one block bitmap to a first variable and assigning the changed blocks to a second variable and comparing the first variable with the second variable to determine which blocks are included in the backup.

15. The method of claim 14 , further comprising backing up the blocks to be backed up in a container.

16. The method of claim 14 , wherein the data set is one of a volume, a file system, a virtual disk, a virtual machine, or a partition.

17. A device for performing a backup operation, the device comprising:

a processor; and

a memory configured to store instructions that cooperates with a backup server to perform a backup operation on data stored on a volume, wherein the instructions, when executed performs the backup operation by the processor:

causing a snapshot of the volume to be taken;

tracking blocks that are changed on the volume in a change block log, wherein the change block log identifies blocks that have changed since the snapshot is taken;

determining blocks on the volume that are used in the volume and determining blocks on the volume that are unused; and

intersecting the blocks on the volume that are used with the blocks identified in the change block log to identify blocks to be backed up; and

backing up the blocks to be backed up, wherein blocks that have changed and are unused at the time of the backup operation are not included in the backup operation.

18. The device of claim 17 , the backup operation comprising determining blocks on the volume that are used from one or more block bitmaps, wherein each block bitmap is associated with a block group.

19. The device of claim 17 , the backup operation further comprising creating a container for storing the blocks to be backed up and storing the blocks to be backed up in the container.

20. The device of claim 17 , wherein the blocks to be backed up include at least inode blocks and data blocks associated with the inode blocks that are both changed and used at a time of the backup operation.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL 048825 FRAME 0489 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058000/0916 →
SECURITY AGREEMENT Recorded Apr 8, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 048825/0489 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047064/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2015
From: RANGAPURAM, RAVI KISHORE YADAV; SURAMPUDI, SRIDHAR; ATI, PAVAN KUMAR DATTATREYA
To: EMC CORPORATION
Reel/Frame 036696/0147 →