Write cache acknowledgement system and method
US-10157125-B2 · Dec 18, 2018 · US
US10853237B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10853237-B2 |
| Application number | US-201816220941-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 14, 2018 |
| Priority date | Mar 31, 2016 |
| Publication date | Dec 1, 2020 |
| Grant date | Dec 1, 2020 |
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 method, computer program product, and computer system for receiving, at a first computing device, a first data chunk sent from a second computing device. It may be determined that the first data chunk includes a first type of data. The first data chunk may be stored to a cache operatively coupled to the first computing device based upon, at least in part, determining that the first data chunk includes the first type of data, wherein the cache may include a first storage device type. An acknowledgement of a successful write of the first data chunk to the second computing device may be sent based upon, at least in part, a successful storing of the first data chunk to the cache operatively coupled to the first computing device.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, at a first computing device, a data chunk sent from a second computing device; determining whether the data chunk includes one of a first type of data and a second type of data; in response to determining that the data chunk includes the first type of data: storing the data chunk in a cache operatively coupled to the first computing device, wherein the cache includes a first storage device type, sending an acknowledgement of a successful write of the data chunk based upon, at least in part, a successful storing of the data chunk in the cache, and copying the data chunk from the cache to a second storage device type; in response to determining that the data chunk includes the second type of data: storing the data chunk in the second storage device type, wherein the data chunk bypasses the cache, and sending an acknowledgement of a successful write of the data chunk based upon, at least in part, a complete storing of the data chunk in the second storage device. 2. The computer-implemented method of claim 1 wherein the first type of data includes at least one of user data and a journal entry. 3. The computer-implemented method of claim 1 further comprising determining a capacity used by the cache. 4. The computer-implemented method of claim 3 further comprising starting a cleaning of the cache based upon, at least in part, determining that the capacity used by the cache is above a first threshold. 5. The computer-implemented method of claim 4 further comprising halting the cleaning of the cache based upon, at least in part, determining that the capacity used by the cache is below a second threshold. 6. The computer-implemented method of claim 4 further comprising dumping one or more cache files stored within the cache. 7. The computer-implemented method of claim 6 further comprising cleaning the one or more cache files from the cache in response to dumping the one or more cache files stored within the cache. 8. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: receiving, at a first computing device, a data chunk from a second computing device; determining whether the data chunk includes one of a first type of data and a second type of data; in response to determining that the data chunk includes the first type of data: storing the data chunk in a cache operatively coupled to the first computing device, wherein the cache includes a first storage device type, sending an acknowledgement of a successful write of the data chunk based upon, at least in part, a successful storing of the data chunk to the cache, and copying the data chunk from the cache to a second storage device type; in response to determining that the data chunk includes the second type of data: storing the data chunk in the second storage device type, wherein the data chunk bypasses the cache, and sending an acknowledgement of a successful write of the data chunk based upon, at least in part, a complete storing of the data chunk in the second storage device. 9. The computer program product of claim 8 wherein the first type of data includes at least one of user data and a journal entry. 10. The computer program product of claim 8 further comprising determining a capacity used by the cache. 11. The computer program product of claim 10 further comprising starting a cleaning of the cache based upon, at least in part, determining that the capacity used by the cache is above a first threshold. 12. The computer program product of claim 11 further comprising halting the cleaning of the cache based upon, at least in part, determining that the capacity used by the cache is below a second threshold. 13. The computer program product of claim 11 further comprising dumping one or more cache files stored within the cache. 14. The computer program product of claim 13 further comprising cleaning the one or more cache files from the cache in response to dumping the one or more cache files stored within the cache. 15. A computing system including a processor and a memory configured to perform operations comprising: receiving, at a first computing device, a first data chunk sent from a second computing device; determining whether the data chunk includes one of a first type of data and a second type of data; in response to determining that the data chunk includes the first type of data: storing the data chunk to a cache operatively coupled to the first computing device, wherein the cache includes a first storage device type, sending an acknowledgement of a successful write of the data chunk to the second computing device based upon, at least in part, a successful storing of the data chunk to the cache, and copying the data chunk from the cache to a second storage device type; in response to determining that the data chunk includes the second type of data: storing the data chunk in the second storage device type, wherein the data chunk bypasses the cache, and sending an acknowledgement of a successful write of the data chunk based upon, at least in part, a complete storing of the data chunk in the second storage device. 16. The computing system of claim 15 wherein the first type of data includes at least one of user data and a journal entry. 17. The computing system of claim 15 further comprising determining a capacity used by the cache. 18. The computing system of claim 17 further comprising starting a cleaning of the cache based upon, at least in part, determining that the capacity used by the cache is above a first threshold. 19. The computing system of claim 17 further comprising dumping one or more cache files stored within the cache. 20. The computing system of claim 19 further comprising cleaning the one or more cache files from the cache in response to dumping the one or more cache files stored within the cache.
Data buffering arrangements · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Improving I/O performance · CPC title
Non-volatile memory · CPC title
management of metadata or control data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.