Patent ID: 8898121

Claim:
A computer program product for performing deduplication for a storage, the computer program product comprising a computer readable storage device having computer readable program code embodied therein that executes to perform operations, the operations comprising: maintaining an index of chunk signatures calculated from chunks of data in the data objects in the storage, wherein each index entry includes at least one of the chunk signatures and a reference to the chunk of data from which the signature was calculated; selecting entries in the index to merge by determining entries of the entries in the index based on a criteria of the chunks of data referenced in the entries, wherein the criteria comprises at least one of: an age of the chunks in the storage, wherein the age comprises a duration of time since the chunk was added or updated in the storage; a frequency of Input/Output (I/O) access to the chunks in the storage; a frequency at which the chunks in the storage appear in data objects being added to the storage; a region of the storage in which the chunks are stored; and a type of data in the chunks; performing a merge operation on the chunk signatures in the selected entries to calculate a merged signature; adding an entry to the index including the merged signature and a reference to the chunks in the storage referenced in the merged selected entries; removing the selected entries used to calculate the merged signature from the index, wherein the resulting merged entries and entries not involved in the merging operation reference all the chunks in the storage included in the data objects maintained in the storage; and using the index of the signatures in deduplication operations when adding data objects to the storage.