SYSTEM AND METHOD FOR RETAINING DEDUPLICATION IN A STORAGE OBJECT AFTER A CLONE SPLIT OPERATION
First Claim
1. A system, comprising at least one processor and memory, for managing data on a storage system, the storage system providing data storage for at least one storage object and a clone of the storage object, the system comprising:
- the storage system configured for;
receiving a write allocation for a data block of the clone of the storage object, the clone comprises a plurality of data blocks and is based on the storage object, each data block comprises a physical address pointer to a location within a storage aggregate and a virtual address pointer to a location within an address space of the clone of the storage object;
determining if the data block of the clone is shared with at least one data block of the storage object; and
assigning a new pointer to the physical address pointer of the data block of the clone if the data block is shared with at least one data block of the storage object and if a write allocation of another data block of the clone comprising the same virtual address pointer has not been received.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein is a system and method for retaining deduplication of data blocks of a resulting storage object (e.g., a flexible volume) from a split operation of a clone of a base storage object. The clone may comprise data blocks that are shared with at least one data block of the base storage object and at least one data block that is not shared with at least one data block of the base storage object. The data blocks of the clone that are shared with the base storage object may be indicated to receive a write allocation that may comprise assigning a new pointer to a indicated data block. Each data block may comprise a plurality of pointers comprising a virtual address pointer and a physical address pointer. As such, data blocks of the clone comprising the same virtual address pointer may be assigned a single physical address pointer. Thus, a new physical address pointer is assigned or allocated once to a given virtual address pointer of data blocks of a clone.
-
Citations
20 Claims
-
1. A system, comprising at least one processor and memory, for managing data on a storage system, the storage system providing data storage for at least one storage object and a clone of the storage object, the system comprising:
the storage system configured for; receiving a write allocation for a data block of the clone of the storage object, the clone comprises a plurality of data blocks and is based on the storage object, each data block comprises a physical address pointer to a location within a storage aggregate and a virtual address pointer to a location within an address space of the clone of the storage object; determining if the data block of the clone is shared with at least one data block of the storage object; and assigning a new pointer to the physical address pointer of the data block of the clone if the data block is shared with at least one data block of the storage object and if a write allocation of another data block of the clone comprising the same virtual address pointer has not been received. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method for managing data on a storage system, the storage system providing data storage for at least one storage object, and a clone of the storage object the method comprising:
using computer hardware for performing; receiving a write allocation for a data block of the clone of the storage object, the clone comprises a plurality of data blocks and is based on the storage object, each data block comprises a physical address pointer to a location within a storage aggregate and a virtual address pointer to a location within an address space of the clone of the storage object; determining if the data block of the clone is shared with at least one data block of the storage object; and assigning a new pointer to the physical address pointer of the data block of the clone if the data block is shared with at least one data block of the storage object and if a write allocation of another data block of the clone comprising the same virtual address pointer has not been received. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A system, comprising at least one processor and memory, for managing data on a storage system, the storage system providing data storage for at least one deduplicated storage volume comprising a plurality of shared data blocks, each data block comprising a virtual address and a physical address, the system comprising:
the storage system configured for; creating a clone of the deduplicated storage volume, the clone comprising a plurality of data blocks comprising at least one data block shared with at least one data block of the deduplicated storage volume; receiving a split operation for the clone, the split operation comprising a write allocation for each data block of the clone that is shared with at least one data block of the deduplicated storage volume; and retaining deduplication of the data blocks of the clone by assigning a new physical address only once for each virtual address of the data blocks of the clone. - View Dependent Claims (16, 17)
-
18. A non-transitory computer readable medium carrying one or more instructions for managing data on a storage system providing data storage for at least one deduplicated storage volume comprising a plurality of shared data blocks, each data block comprising a virtual address and a physical address, wherein the one or more instructions, when executed by one or more processors, causes the one or more processors to perform the steps of:
-
creating a clone of the deduplicated storage volume, the clone comprising a plurality of data blocks comprising at least one data block shared with at least one data block of the deduplicated storage volume; receiving a split operation for the clone, the split operation comprising a write allocation for each data block of the clone that is shared with at least one data block of the deduplicated storage volume; and retaining deduplication of the data blocks of the clone by assigning a new physical address only once for each virtual address of the data blocks of the clone. - View Dependent Claims (19, 20)
-
Specification