Producing alternative segmentations of data into blocks in a data deduplication system
First Claim
Patent Images
1. A method for producing a plurality of segmentations of input data into blocks in a data deduplication system using a processor device in a computing environment, comprising:
- calculating digests for an input data chunk using a primary segmentation by using a single linear scan of rolling hash values for calculating both the primary segmentation and similarity search values for the input data chunk, the input data chunk being at least 16 Megabytes (MB) in size;
obtaining and applying secondary segmentations for each one of a plurality of data mismatches based on reference data;
storing the primary segmentation and corresponding primary digests for the input data chunk in a sequence corresponding to a placement order of calculated values of the calculated digests associated with the primary digests, the placement order of the calculated values of the calculated digests correlative to an order in which input digest values were calculated such that the primary digests are stored in a linear form independent of a deduplicated form by which data the primary digests describe is stored;
obtaining the segmentations for each one of the data mismatches by considering input digests included in data matches preceding and following each one of the data mismatches; and
avoiding storing the secondary segmentations and corresponding secondary digests for the input data chunk.
1 Assignment
0 Petitions
Accused Products
Abstract
For producing secondary segmentations of data into blocks and corresponding digests for input data in a data deduplication system using a processor device in a computing environment, digests are calculated for an input data chunk using a primary segmentation into blocks. Secondary segmentations are produced for each of the data mismatches based on reference data, and used to calculate further data matches. The primary segmentation and the corresponding primary digests are stored for the input data chunk.
38 Citations
18 Claims
-
1. A method for producing a plurality of segmentations of input data into blocks in a data deduplication system using a processor device in a computing environment, comprising:
-
calculating digests for an input data chunk using a primary segmentation by using a single linear scan of rolling hash values for calculating both the primary segmentation and similarity search values for the input data chunk, the input data chunk being at least 16 Megabytes (MB) in size; obtaining and applying secondary segmentations for each one of a plurality of data mismatches based on reference data; storing the primary segmentation and corresponding primary digests for the input data chunk in a sequence corresponding to a placement order of calculated values of the calculated digests associated with the primary digests, the placement order of the calculated values of the calculated digests correlative to an order in which input digest values were calculated such that the primary digests are stored in a linear form independent of a deduplicated form by which data the primary digests describe is stored; obtaining the segmentations for each one of the data mismatches by considering input digests included in data matches preceding and following each one of the data mismatches; and avoiding storing the secondary segmentations and corresponding secondary digests for the input data chunk. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for producing a plurality of segmentations of input data into blocks in a data deduplication system of a computing environment, the system comprising:
-
the data deduplication system; a repository operating in the data deduplication system; a memory in the data deduplication system; a search structure in association with the memory in the data deduplication system; and at least one processor device operable in the computing storage environment for controlling the data deduplication system, wherein the at least one processor device; calculates digests for an input data chunk using a primary segmentation by using a single linear scan of rolling hash values for calculating both the primary segmentation and similarity search values for the input data chunk, the input data chunk being at least 16 Megabytes (MB) in size, obtains and applies secondary segmentations for each one of a plurality of data mismatches based on reference data, stores the primary segmentation and corresponding primary digests for the input data chunk in a sequence corresponding to a placement order of calculated values of the calculated digests associated with the primary digests, the placement order of the calculated values of the calculated digests correlative to an order in which input digest values were calculated such that the primary digests are stored in a linear form independent of a deduplicated form by which data the primary digests describe is stored, obtains the segmentations for each one of the data mismatches by considering input digests included in data matches preceding and following each one of the data mismatches, and avoids storing the secondary segmentations and corresponding secondary digests for the input data chunk. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for producing a plurality of segmentations of input data into blocks in a data deduplication system using a processor device in a computing environment, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
-
a first executable portion that calculates digests for an input data chunk using a primary segmentation by using a single linear scan of rolling hash values for calculating both the primary segmentation and similarity search values for the input data chunk, the input data chunk being at least 16 Megabytes (MB) in size; a second executable portion that obtains and applies secondary segmentations for each one of a plurality of data mismatches based on reference data; a third executable portion that stores the primary segmentation and corresponding primary digests for the input data chunk in a sequence corresponding to a placement order of calculated values of the calculated digests associated with the primary digests, the placement order of the calculated values of the calculated digests correlative to an order in which input digest values were calculated such that the primary digests are stored in a linear form independent of a deduplicated form by which data the primary digests describe is stored; a fourth executable portion that obtains the segmentations for each one of the data mismatches by considering input digests included in data matches preceding and following each one of the data mismatches; and a fifth executable portion that avoids storing the secondary segmentations and corresponding secondary digests for the input data chunk. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification