Preferential selection of candidates for delta compression
AssigneeEMC Corporation
InventorsPhilip N. Shilane, Grant R. Wallace, Mark L. Huang
Life of this patent
Estimating the term…
Abstract
A computer-implemented method and system for improving efficiency in a delta compression process in a data storage system selects a data chunk to delta compress and generates a sketch for the selected data chunk. The method and system search for a set of candidate data chunks with a matching sketch and rank the set of candidate data chunks by degree of sketch matching. The set of candidate data chunks are tie-braked using location status data for each candidate and the selected data chunk is delta compressed with a selected candidate data chunk. The delta compressed selected data chunk is then stored in a data storage system.
Claims14
A computer-implemented method for improving efficiency in a delta compression process in a data storage system, the method comprising:
- selecting a data chunk to delta compress;
- generating a sketch for the selected data chunk;
- searching for a set of candidate data chunks using the sketch;
- ranking the set of candidate data chunks by degree of sketch matching;
- tie-breaking the set of candidate data chunks, where the set of candidate data chunks has an equal degree of sketch matching, using location status data for each candidate data chunk, wherein the location status data indicates the location and status of the candidate data chunk and the location status data is at least one of a compressed in a cache status, a decompressed in a cache status, or a compressed in a data storage status, wherein tie-breaking the set of candidate data chunks prefers a decompressed in a cache status over a compressed in a cache status;
- delta compressing the selected data chunk with a selected candidate data chunk;
- and
- storing the delta compressed selected data chunk in the data storage system.
A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a computer, cause the computer to perform a method, the method for improving efficiency in a delta compression process, the method comprising:
- selecting a data chunk to delta compress;
- generating a sketch for the selected data chunk;
- searching for a set of candidate data chunks using the sketch;
- ranking the set of candidate data chunks by degree of sketch matching;
- tie-breaking the set of candidate data chunks, where the set of candidate data chunks has an equal degree of sketch matching, using location status data for each candidate data chunk, wherein the location status data indicates the location and status of the candidate data chunk and the location status data is at least one of a compressed in a cache status, a decompressed in a cache status, or a compressed in a data storage status, wherein tiebreaking the set of candidates data chunks prefers a compressed in a cache status over a compressed in a data storage status;
- delta compressing the selected data chunk with a selected candidate data chunk;
- and
- storing the delta compressed selected data chunk in a data storage system.
A delta compression system, comprising:
- a delta processing module to delta compress a first set of data chunks;
- and
- a cache to store a second set of data chunks;
- a data storage system to store a third set of data chunks;
- a preferential selection module coupled to the cache, data storage system and delta processing module, the preferential selection module to identify a candidate to serve as a base chunk for delta compression by ranking a set of candidate base chunks from the second set of data chunks and third set of data chunks by similarity to a data chunk from the first set of data chunks then tie-breaking a ranked set of candidate data chunks, where the set of candidate data chunks has an equal degree of sketch matching, using location status information, wherein the location status data indicates the location and status of the candidate data chunk and the location status data is at least one of a compressed in a cache status, a decompressed in a cache status, or a compressed in a data storage status, wherein tie-breaking the set of candidate data chunks prefers a decompressed in a cache status over a compressed in a cache status.
Dependencies are inferred from the claim text.