Overwriting compressed data extents
AssigneeEMC IP Holding Company LLC
InventorsPhilippe Armangau, Ivan Bassov, Monica Chaudhary, Kamakshi Viswanadha
Life of this patent
Estimating the term…
Abstract
A technique for overwriting compressed data tests whether new data compressed with a first compression procedure fits within spaces provided for previous data. If the compressed new data does not fit, the technique compresses the new data using a second compression procedure. Assuming the second compression procedure reduces the compressed size of the new data to fit the available space, the technique stores the new data in the same location as the previous data. In this manner, overwrites can be accommodated in place without the need to create new mapping metadata.
Claims20
A method of overwriting compressed data in a data storage system, the method comprising:
- receiving an IO (Input/Output) request specifying a write of new data to a specified logical address of a file within a file system, the file already storing previous data at the specified logical address such that the write of the new data is an overwrite;
- compressing the new data using a first compression procedure;
- performing a testing operation configured to generate a first result when the compressed new data fits within a space currently occupied by the previous data and to produce a second result otherwise;
- and
- in response to the testing operation producing the second result, (i) compressing the new data using a second compression procedure and (ii) storing the new data as compressed using the second compression procedure within the space currently occupied by the previous data.
A data storage system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:
- receive an IO (Input/Output) request specifying a write of new data to a specified logical address of a file within a file system, the file already storing previous data at the specified logical address such that the write of the new data is an overwrite;
- compress the new data using a first compression procedure;
- perform a testing operation configured to generate a first result when the compressed new data fits within a space currently occupied by the previous data and to produce a second result otherwise;
- and
- in response to the testing operation producing the second result, (i) compress the new data using a second compression procedure and (ii) store the new data as compressed using the second compression procedure within the space currently occupied by the previous data.
A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method for overwriting compressed data, the method comprising:
- receiving an IO (Input/Output) request specifying a write of new data to a specified logical address of a file within a file system, the file already storing previous data at the specified logical address such that the write of the new data is an overwrite;
- compressing the new data using a first compression procedure;
- performing a testing operation configured to generate a first result when the compressed new data fits within a space currently occupied by the previous data and to produce a second result otherwise;
- and
- in response to the testing operation producing the second result, (i) compressing the new data using a second compression procedure and (ii) storing the new data as compressed using the second compression procedure within the space currently occupied by the previous data.
Dependencies are inferred from the claim text.