System and method for improving data compression of a storage system in an online manner
US-9514146-B1 · Dec 6, 2016 · US
US11733871B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11733871-B2 |
| Application number | US-201916662899-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 24, 2019 |
| Priority date | Apr 13, 2015 |
| Publication date | Aug 22, 2023 |
| Grant date | Aug 22, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A request to write data corresponding to at least a first portion of a file is received. It is determined whether to perform the request either as an in-place write or as an out-of-place write. Performing the in-place write comprises performing a write to a low latency storage device, and performing the out-of-place write comprises performing a write to a higher latency storage device. The request is performed as either the in-place write or the out-of-place write based on the determination. Performing the request as the in-place write includes writing the data to a first location on a storage tier storing the first portion of the file, and performing the request as the out-of-place write includes writing the data to a second location on one of a plurality of storage tiers of a computing node, other than the first location.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: receiving a first request to write first data to a first portion of a file; determining whether the first portion of the file is associated with existing data chunks; in response to determining that the first portion of the file is not associated with the existing data chunks: creating a first set of one or more data chunks based on an incoming access pattern; and writing the first set of one or more data chunks to the first portion of the file; receiving a second request to write second data to a second portion of the file; determining whether the second portion of the file is associated with the existing data chunks; and in response to determining that the second portion of the file is associated with the existing data chunks: determining that the existing data chunks are stored in an upper tier of storage; and in response to determining that the existing data chunks are stored in the upper tier of storage, writing the second data to the upper tier of storage or a lower tier of storage based in part on the incoming access pattern. 2. The method of claim 1 , wherein the incoming access pattern is random. 3. The method of claim 2 , wherein the first set of the one or more data chunks are created on the lower tier of storage. 4. The method of claim 1 , wherein the incoming access pattern is sequential. 5. The method of claim 4 , wherein the first set of the one or more data chunks are created on the upper tier of storage. 6. The method of claim 1 , wherein the second data is written to the upper tier of storage or to the lower tier of storage based in part on whether one or more overriding conditions exist. 7. The method of claim 6 , wherein the one or more overriding conditions include whether the existing data chunks correspond to a compressed group of data chunks. 8. The method of claim 6 , wherein in the event the existing data chunks correspond to a compressed group of data chunks, the second data is written to the upper tier of storage. 9. The method of claim 6 , wherein the one or more overriding conditions include whether the existing data chunks are deduplicated. 10. The method of claim 6 , wherein in the event the existing data chunks are deduplicated, the second data is written to the lower tier of storage. 11. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving a first request to write first data to a first portion of a file; determining whether the first portion of the file is associated with existing data chunks; in response to determining that the first portion of the file is not associated with the existing data chunks: creating a first set of one or more data chunks based on an incoming access pattern; and writing the first set of one or more data chunks to the first portion of the file; receiving a second request to write second data to a second portion of the file; determining whether the second portion of the file is associated with the existing data chunks; and in response to determining that the second portion of the file is associated with the existing data chunks: determining that the existing data chunks are stored in an upper tier of storage; and in response to determining that the existing data chunks are stored in the upper tier of storage, writing the second data to the upper tier of storage or a lower tier of storage based in part on the incoming access pattern. 12. The computer program product of claim 11 , wherein the incoming access pattern is random, and wherein the first set of the one or more data chunks are created on the lower tier of storage. 13. The computer program product of claim 11 , wherein the incoming access pattern is sequential, and wherein the first set of the one or more data chunks are created on the upper tier of storage. 14. The computer program product of claim 11 , wherein the second data is written to the upper tier of storage or to the lower tier of storage based in part on whether one or more overriding conditions exist. 15. The computer program product of claim 14 , wherein the one or more overriding conditions include whether the existing data chunks correspond to a compressed group of data chunks. 16. The computer program product of claim 14 , wherein in the event the existing data chunks correspond to a compressed group of data chunks, the second data is written to the upper tier of storage. 17. The computer program product of claim 14 , wherein the one or more overriding conditions include whether the existing data chunks are deduplicated. 18. The computer program product of claim 14 , wherein in the event the existing data chunks are deduplicated, the second data is written to the lower tier of storage. 19. A system, comprising: a processor configured to: receive a request to write data to a portion of a file; determine whether the portion of the file is associated with existing data chunks; in response to a determination that the portion of the file is not associated with the existing data chunks: create a first set of one or more data chunks based on an incoming access pattern; and write the first set of one or more data chunks to the portion of the file; and in response to a determination that the portion of the file is associated with the existing data chunks: determine that the existing data chunks are stored in an upper tier of storage; and in response to the determination that the existing data chunks are stored in the upper tier of storage, write the data to the upper tier of storage or a lower tier of storage based in part on the incoming access pattern; and a memory coupled to the processor and configured to provide the processor with instructions. 20. The system of claim 19 , wherein the data is written to the upper tier of storage or to the lower tier of storage based in part on whether one or more overriding conditions exist.
in relation to response time · CPC title
Management of files · CPC title
Data buffering arrangements · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.