Transferring snapshot copy to object store with deduplication preservation and additional compression
First Claim
1. A method comprising:
- determining a list of deallocated block numbers of primary storage of a computing device based upon a difference between a first snapshot and a second snapshot of the primary storage;
removing entries for the list of deallocated block numbers from a mapping metafile that maps block numbers of the primary storage to cloud block numbers of data stored within objects of an object store;
determining a list of changed block numbers corresponding to changes between a current snapshot of the primary storage and a prior copied snapshot copied from the primary storage to the object store;
evaluating the mapping metafile using the list of changed block numbers to identify a deduplicated set of changed block numbers without entries within the mapping metafile; and
transmitting an object, comprising data of the deduplicated set of changed block numbers, to the object store for storage as a new copied snapshot.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for incremental snapshot copy to an object store. A list of deallocated block numbers of primary storage of a computing device are identified. Entries for the list of deallocated block numbers are removed from a mapping metafile. A list of changed block numbers corresponding to changes between a current snapshot of the primary storage and a prior copied snapshot copied from the primary storage to the object store is determined. The mapping metafile is evaluated using the list of changed block numbers to identify a deduplicated set of changed block numbers without entries within the mapping metafile. An object, comprising data of the deduplicated set of changed block numbers, is transmitted to the object store for storage as a new copied snapshot.
17 Citations
20 Claims
-
1. A method comprising:
-
determining a list of deallocated block numbers of primary storage of a computing device based upon a difference between a first snapshot and a second snapshot of the primary storage; removing entries for the list of deallocated block numbers from a mapping metafile that maps block numbers of the primary storage to cloud block numbers of data stored within objects of an object store; determining a list of changed block numbers corresponding to changes between a current snapshot of the primary storage and a prior copied snapshot copied from the primary storage to the object store; evaluating the mapping metafile using the list of changed block numbers to identify a deduplicated set of changed block numbers without entries within the mapping metafile; and transmitting an object, comprising data of the deduplicated set of changed block numbers, to the object store for storage as a new copied snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
-
determine a list of deallocated block numbers of primary storage of a computing device based upon a difference between a first snapshot and a second snapshot of the primary storage; remove entries for the list of deallocated block numbers from a mapping metafile that maps block numbers of the primary storage to cloud block numbers of data stored within objects of an object store; determine a list of changed block numbers corresponding to changes between a current snapshot of the primary storage and a prior copied snapshot copied from the primary storage to the object store; evaluate the mapping metafile using the list of changed block numbers to identify a deduplicated set of changed block numbers without entries within the mapping metafile; and transmit an object, comprising data of the deduplicated set of changed block numbers, to the object store for storage as a new copied snapshot. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computing device comprising:
-
a memory comprising machine executable code for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to; determine a list of deallocated block numbers of primary storage of the computing device based upon a difference between a first snapshot and a second snapshot of the primary storage; remove entries for the list of deallocated block numbers from a mapping metafile that maps block numbers of the primary storage to cloud block numbers of data stored within objects of an object store; determine a list of changed block numbers corresponding to changes between a current snapshot of the primary storage and a prior copied snapshot copied from the primary storage to the object store; evaluate the mapping metafile using the list of changed block numbers to identify a deduplicated set of changed block numbers without entries within the mapping metafile; and transmit an object, comprising data of the deduplicated set of changed block numbers, to the object store for storage as a new copied snapshot. - View Dependent Claims (17, 18, 19, 20)
-
Specification