9514146

System and Method for Improving Data Compression of a Storage System in an Online Manner

PublishedDecember 6, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for improving data compression of data chunks of a storage system, the method comprising: in response to a sequence of data to be stored, partitioning the sequence of data into a plurality of data chunks according to a predetermined chunking algorithm; generating, by using a computer system, a sketch for each data chunk of the data chunks based on one or more features extracted from the data chunk; performing a lookup operation in a sketch index based on the sketch of the each data chunk to determine a compression region identifier (ID) of an existing compression region, wherein the sketch index maps a particular sketch to a particular compression region; associating said each data chunk of the data chunks of the sequence of data with one group of a plurality of groups based on the particular sketch, wherein each group of the plurality of groups is represented by a sketch, wherein the associating each data chunk of the data chunks of the sequence of data comprises merging the data chunk of the sequence of data with data chunks of an existing compression region identified by a corresponding compression region ID, wherein the merging comprises reorganizing the data chunks of the sequence of data and the data chunks of the existing compression region from an original sequence order to a second sequence order, similar data chunks being positioned adjacent to each other; and compressing and storing data chunks of the each group in a corresponding existing compression region of the storage system so that the similar data chunks are compressed and stored in the same compression region, wherein the compressing and storing data chunks of each group comprises writing data chunks of each group of the groups whose data chunks reach a predetermined threshold to a respective compression region and reclaiming a previous compression region space.

2

2. The method of claim 1 , wherein each group is associated with a buffer that stores a plurality of data chunks from the sequence of data that have the same sketch.

3

3. The method of claim 2 , wherein compressing and storing data chunks of each group comprises: determining whether a number of data chunks of each group of the groups reaches a predetermined threshold.

4

4. The method of claim 1 , wherein each group is associated with a buffer that buffers a plurality of existing data chunks having the same sketch that have been previously stored in the storage system.

5

5. The method of claim 4 , wherein associating each of the data chunk of the sequence of data with one of a plurality of groups based on the sketch comprises: identifying an existing compression region based on the sketch of data chunk of the sequence of data; and merging the data chunk of the sequence of data with data chunks of the identified existing compression region.

6

6. The method of claim 5 , further comprising: retrieving and decompressing data chunks from the identified existing compression region; and storing the data chunks in one of the groups associated with the sketch of the data chunk.

7

7. The method of claim 6 , further comprising writing the group of the merged data chunks to a new compression region.

8

8. The method of claim 7 , wherein the previous compression region space is reclaimed after the group of the merged data chunks have been written to the new compression region.

9

9. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for improving data compression of data chunks of a storage system, the operations comprising: in response to a sequence of data to be stored, partitioning the sequence of data into a plurality of data chunks according to a predetermined chunking algorithm; generating a sketch for each data chunk of the data chunks based on one or more features extracted from the data chunk; performing a lookup operation in a sketch index based on the sketch of the each data chunk to determine a compression region identifier (ID) of an existing compression region, wherein the sketch index maps a particular sketch to a particular compression region; associating said each data chunk of the data chunks of the sequence of data with one of a plurality of groups based on the particular sketch, wherein each group of the plurality of groups is represented by a sketch, wherein the associating each data chunk of the data chunks of the sequence of data comprises merging the data chunk of the sequence of data with data chunks of an existing compression region identified by a corresponding compression region ID, wherein the merging comprises reorganizing the data chunks of the sequence of data and the data chunks of the existing compression region from an original sequence order to a second sequence order, similar data chunks being positioned adjacent to each other; and compressing and storing data chunks of the each group in a corresponding existing compression region of the storage system so that the similar data chunks are compressed and stored in the same compression region, wherein the compressing and storing data chunks of each group comprises writing data chunks of each group of the groups whose data chunks reach a predetermined threshold to a respective compression region and reclaiming a previous compression region space.

10

10. The non-transitory machine-readable medium of claim 9 , wherein each group is associated with a buffer that stores a plurality of data chunks from the sequence of data that have the same sketch.

11

11. The non-transitory machine-readable medium of claim 10 , wherein compressing and storing data chunks of each group comprises: determining whether a number of data chunks of each group of the groups reaches a predetermined threshold.

12

12. The non-transitory machine-readable medium of claim 9 , wherein each group is associated with a buffer that buffers a plurality of existing data chunks having the same sketch that have been previously stored in the storage system.

13

13. The non-transitory machine-readable medium of claim 12 , wherein associating each data chunk of the data chunks of the sequence of data with one of a plurality of groups based on the sketch comprises: identifying an existing compression region based on the sketch of data chunk of the sequence of data; and merging the data chunk of the sequence of data with data chunks of the identified existing compression region.

14

14. The non-transitory machine-readable medium of claim 13 , wherein the operations further comprise: retrieving and decompressing data chunks from the identified existing compression region; and storing the data chunks in one of the groups associated with the sketch of the data chunk.

15

15. The non-transitory machine-readable medium of claim 14 , wherein the operations further comprise writing the group of the merged data chunks to a new compression region.

16

16. The non-transitory machine-readable medium of claim 15 , wherein the previous compression region space is reclaimed after the group of the merged data chunks have been written to the new compression region.

17

17. A data processing system, comprising: a processor; and a memory coupled to the processor for storing instructions, which when executed by the processor, cause the processor to perform operations, the operations including: in response to a sequence of data to be stored, partitioning the sequence of data into a plurality of data chunks according to a predetermined chunking algorithm, generating a sketch for each data chunk of the data chunks based on one or more features extracted from the data chunk, performing a lookup operation in a sketch index based on the sketch of the data chunk to determine a compression region identifier (ID) of an existing compression region, wherein the sketch index maps a particular sketch to a particular compression region, associating said each data chunk of the data chunks of the sequence of data with one of a plurality of groups based on the particular ketch, wherein each group is represented by a sketch, wherein the associating each data chunk of the data chunks of the sequence of data comprises merging the data chunk of the sequence of data with data chunks of an existing compression region identified by a corresponding compression region ID, wherein the merging comprises reorganizing the data chunks of the sequence of data and the data chunks of the existing compression region from an original sequence order to a second sequence order, similar data chunks being positioned adjacent to each other, and compressing and storing data chunks of each group in a corresponding existing compression region of the storage system so that the similar data chunks are compressed and stored in the same compression region, wherein the compressing and storing data chunks of each group comprises writing data chunks of each group of the groups whose data chunks reach a predetermined threshold to a respective compression region and reclaiming a previous compression region space.

18

18. The system of claim 17 , wherein each group is associated with a buffer that stores a plurality of data chunks from the sequence of data that have the same sketch.

19

19. The system of claim 18 , wherein compressing and storing data chunks of each group comprises: determining whether a number of data chunks of each group of the groups reaches a predetermined threshold.

20

20. The system of claim 17 , wherein each group is associated with a buffer that buffers a plurality of existing data chunks having the same sketch that have been previously stored in the storage system.

21

21. The system of claim 20 , wherein associating each data chunk of the data chunks of the sequence of data with one of a plurality of groups based on the sketch comprises: identifying an existing compression region based on the sketch of data chunk of the sequence of data; and merging the data chunk of the sequence of data with data chunks of the identified existing compression region.

22

22. The system of claim 21 , wherein the operations further comprise: retrieving and decompressing data chunks from the identified existing compression region; and storing the data chunks in one of the groups associated with the sketch of the data chunk.

23

23. The system of claim 22 , wherein the operations further comprise writing the group of the merged data chunks to a new compression region.

24

24. The system of claim 23 , wherein the previous compression region space is reclaimed after the group of the merged data chunks have been written to the new compression region.

Patent Metadata

Filing Date

Unknown

Publication Date

December 6, 2016

Inventors

Grant Wallace
Frederick Douglis
Philip Shilane

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEM AND METHOD FOR IMPROVING DATA COMPRESSION OF A STORAGE SYSTEM IN AN ONLINE MANNER” (9514146). https://patentable.app/patents/9514146

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.