Overwriting part of compressed data without decompressing on-disk compressed data
First Claim
Patent Images
1. A method comprising:
- in response to receiving a write request that indicates a first file block identifier and indicates data to be written, determining that the first file block identifier resolves to a data block in a compression group, the compression group comprising a group of data blocks that is compressed; and
partially overwriting the compression group while the compression group remains compressed, wherein the partial overwriting comprises,storing the data of the write request as uncompressed data outside the compression group, andupdating references used for resolving file block identifiers of the file to data blocks of the file, wherein the updating comprises updating the references to map the first file block identifier to the compression group and to the uncompressed data;
determining whether a predetermined criteria is violated by the partial overwriting of the compression group, wherein the predetermined criteria is selected from a group consisting of a system usage guarantee, a space usage guarantee, and a user-defined criteria; and
in response to determining that the predetermined criteria is violated, compressing the partially overwritten compression group.
1 Assignment
0 Petitions
Accused Products
Abstract
Partially overwriting a compression group without decompressing compressed data can consumption of resources for the decompression. A storage server partially overwrites the compression group when a file block identifier of a client'"'"'s write request resolves to the compression group. The compression group remains compressed while the partial overwriting is performed.
43 Citations
17 Claims
-
1. A method comprising:
-
in response to receiving a write request that indicates a first file block identifier and indicates data to be written, determining that the first file block identifier resolves to a data block in a compression group, the compression group comprising a group of data blocks that is compressed; and partially overwriting the compression group while the compression group remains compressed, wherein the partial overwriting comprises, storing the data of the write request as uncompressed data outside the compression group, and updating references used for resolving file block identifiers of the file to data blocks of the file, wherein the updating comprises updating the references to map the first file block identifier to the compression group and to the uncompressed data; determining whether a predetermined criteria is violated by the partial overwriting of the compression group, wherein the predetermined criteria is selected from a group consisting of a system usage guarantee, a space usage guarantee, and a user-defined criteria; and in response to determining that the predetermined criteria is violated, compressing the partially overwritten compression group. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more processors; and a non-transitory computer-readable storage medium communicably coupled to the one or more processors, the non-transitory computer-readable storage medium having stored thereon instructions executable by the one or more processors to cause the system to; in response to receipt of a write request that indicates a file block identifier and that indicates data to be written, determine whether the file block identifier resolves to a compression group, the compression group comprising a group of data blocks that is compressed; and partially overwrite the compression group while the compression group remains compressed, wherein the instructions to partially overwrite comprise instructions executable by the processor to cause the system to, store the data of the write request as uncompressed data outside the compression group, and update references used for resolving file block identifiers of the file to data blocks of the file, wherein the instructions to update comprise instructions executable by the processor to cause the system to update the references to map the file block identifier to the compression group and to the uncompressed data; determine whether a predetermined criteria is violated by the partial overwriting of the compression group, wherein the predetermined criteria is selected from a group consisting of a system usage guarantee, a space usage guarantee, and a user-defined criteria; and in response to a determination that the predetermined criteria is violated, compress the partially overwritten compression group. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium embodied with executable instructions to:
-
in response to receipt of a write request that indicates a file block identifier and that indicates data to be written, determine whether the file block identifier resolves to a compression group, the compression group comprising a group of data blocks that is compressed; and partially overwrite the compression group while the compression group remains compressed in response to a determination that the file block identifier resolves to the compression group, wherein the instructions to partially overwrite comprise instructions to, store the data of the write request as uncompressed data outside the compression group, and update references used for resolving file block identifiers of the file to data blocks of the file, wherein the instructions to update comprise instructions to update the references to map the file block identifier to the compression group and to the uncompressed data; determine whether a predetermined criteria is violated by the partial overwriting of the compression group, wherein the predetermined criteria comprises at least one of a system usage guarantee, a space usage guarantee, and a user-defined criteria; and in response to a determination that the predetermined criteria is violated, compress the partially overwritten compression group. - View Dependent Claims (14, 15, 16, 17)
-
Specification