EFFICIENT TRANSFER OF DEDUPLICATED DATA
First Claim
1. A method in a computer system for performing an efficient transfer of deduplicated data within a storage management system, comprising:
- deduplicating a data object within a storage management system into one or more deduplicated data chunks, the storage management system containing a plurality of storage pools;
tracking storage information for the one or more deduplicated data chunks in an index within the storage management system;
tracking deduplication information for the data object in an index within the storage management system;
storing the one or more deduplicated data chunks onto one or more of the plurality of storage pools; and
transferring one or more deduplicated data chunks of the data object from a first storage pool within the plurality of storage pools to a second storage pool within the plurality of storage pools;
wherein each of the indexes used for tracking storage information and tracking deduplication information are accessible by each of the plurality of storage pools.
7 Assignments
0 Petitions
Accused Products
Abstract
One aspect of the present invention includes enabling the efficient transfer of deduplicated data between storage pools in a storage management system without unnecessary reassembly and deduplication of data objects. In one embodiment, the storage management system tracks deduplication information for the data chunks of data objects within an index at the storage management system level, in addition to tracking storage information for each data object within another index at the storage management system level. The data chunk deduplication information is then accessible by any storage pool. Accordingly, transfers of the data objects and data chunks of the data object are easily facilitated, even between non-deduplicating and deduplicating storage pools.
156 Citations
18 Claims
-
1. A method in a computer system for performing an efficient transfer of deduplicated data within a storage management system, comprising:
-
deduplicating a data object within a storage management system into one or more deduplicated data chunks, the storage management system containing a plurality of storage pools; tracking storage information for the one or more deduplicated data chunks in an index within the storage management system; tracking deduplication information for the data object in an index within the storage management system; storing the one or more deduplicated data chunks onto one or more of the plurality of storage pools; and transferring one or more deduplicated data chunks of the data object from a first storage pool within the plurality of storage pools to a second storage pool within the plurality of storage pools; wherein each of the indexes used for tracking storage information and tracking deduplication information are accessible by each of the plurality of storage pools. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method in a computer system for performing an efficient transfer of deduplicated data within a storage management system, comprising:
-
dividing a data object within a storage management system into one or more data chunks; storing the one or more data chunks onto a plurality of storage pools within the storage management system; deduplicating the one or more data chunks within one or more of the plurality of storage pools; tracking deduplication information for each deduplicated data chunk in an index within the storage management system; tracking storage information for each deduplicated data chunk in an index within the storage management system; initiating a data transfer of the data object from a source storage pool within the storage management system to a target storage pool within the storage management system; retrieving deduplication information of the data object from the deduplication information index; retrieving, if the data object to be transferred from the source storage pool is deduplicated, the storage information for the data object from the storage management index; transferring, if the target storage pool is a deduplicating pool, necessary data chunks to the target storage pool, including; adding entries to the storage information index for each of the one or more data chunks; and transferring each of the one or more data chunks from the source storage pool to the target storage pool that are not existent on the target storage pool; and transferring, if the target storage pool is a non-deduplicating pool, each of the one or more data chunks from the source storage pool to the target storage pool.
-
-
7. A system, comprising:
-
at least one processor; and at least one memory which stores instructions operable with the at least one processor for performing an efficient transfer of deduplicated data within a storage management system, the instructions being executed for; deduplicating a data object within a storage management system into one or more deduplicated data chunks, the storage management system containing a plurality of storage pools; tracking storage information for the one or more deduplicated data chunks in an index within the storage management system; tracking deduplication information for the data object in an index within the storage management system; storing the one or more deduplicated data chunks onto one or more of the plurality of storage pools; and transferring one or more deduplicated data chunks of the data object from a first storage pool within the plurality of storage pools to a second storage pool within the plurality of storage pools; wherein each of the indexes used for tracking storage information and tracking deduplication information are accessible by each of the plurality of storage pools. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system, comprising:
-
at least one processor; and at least one memory which stores instructions operable with the at least one processor for performing an efficient transfer of deduplicated data within a storage management system, the instructions being executed for; dividing a data object within a storage management system into one or more data chunks; storing the one or more data chunks onto a plurality of storage pools within the storage management system; deduplicating the one or more data chunks within one or more of the plurality of storage pools; tracking deduplication information for each deduplicated data chunk in an index within the storage management system; tracking storage information for each deduplicated data chunk in an index within the storage management system; initiating a data transfer of the data object from a source storage pool within the storage management system to a target storage pool within the storage management system; retrieving deduplication information of the data object from the deduplication information index; retrieving, if the data object to be transferred from the source storage pool is deduplicated, the storage information for the data object from the storage management index; transferring, if the target storage pool is a deduplicating pool, necessary data chunks to the target storage pool, including; adding entries to the storage information index for each of the one or more data chunks; and transferring each of the one or more data chunks from the source storage pool to the target storage pool that are not existent on the target storage pool; and transferring, if the target storage pool is a non-deduplicating pool, each of the one or more data chunks from the source storage pool to the target storage pool.
-
-
13. A computer program product comprising a computer useable medium having a computer readable program for performing an efficient transfer of deduplicated data within a storage management system, wherein the computer readable program when executed on a computer causes the computer to:
-
deduplicate a data object within a storage management system into one or more deduplicated data chunks, the storage management system containing a plurality of storage pools; track storage information for the one or more deduplicated data chunks in an index within the storage management system; track deduplication information for the data object in an index within the storage management system; store the one or more deduplicated data chunks onto one or more of the plurality of storage pools; and transfer the one or more deduplicated data chunks of the data object from a first storage pool within the plurality of storage pools to a second storage pool within the plurality of storage pools; wherein each of the indexes used for tracking storage information and tracking deduplication information are accessible by each of the plurality of storage pools. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer program product comprising a computer useable medium having a computer readable program for performing an efficient transfer of deduplicated data within a storage management system, wherein the computer readable program when executed on a computer causes the computer to:
-
divide a data object within a storage management system into one or more data chunks; store the one or more data chunks onto a plurality of storage pools within the storage management system; deduplicate the one or more data chunks within one or more of the plurality of storage pools; track deduplication information for each deduplicated data chunk in an index within the storage management system; track storage information for each deduplicated data chunk in an index within the storage management system; initiate a data transfer of the data object from a source storage pool within the storage management system to a target storage pool within the storage management system; retrieve deduplication information of the data object from the deduplication information index; retrieve, if the data object to be transferred from the source storage pool is deduplicated, the storage information for the data object from the storage management index; transfer, if the target storage pool is a deduplicating pool, necessary data chunks to the target storage pool, including; adding entries to the storage information index for each of the one or more data chunks; and transferring each of the one or more data chunks from the source storage pool to the target storage pool that are not existent on the target storage pool; and transfer, if the target storage pool is a non-deduplicating pool, each of the one or more data chunks from the source storage pool to the target storage pool.
-
Specification