Methods, systems, and computer readable media for solid state drive caching across a host bus
US-2015356020-A1 · Dec 10, 2015 · US
US9569367B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9569367-B1 |
| Application number | US-201414196308-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 4, 2014 |
| Priority date | Mar 4, 2014 |
| Publication date | Feb 14, 2017 |
| Grant date | Feb 14, 2017 |
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.
Exemplary methods for improving cache utilization include in response to receiving a request to store data, storing the data in one of a plurality of cache slots of a cache. In one embodiment, the methods further include after storing the data, setting a status of the cache slot as write pending to indicate that the cache slot contains data which needs to be written to a corresponding destination storage device. The methods include determining an eviction type of the cached data based on whether the destination storage device is a local storage device or a remote storage device. In one embodiment, after copying data from the cache slot to the corresponding destination storage device, marking the cache slot with the determined eviction type. In response to receiving another request to store data, evicting at least one of the cache slots based on the eviction type.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for improving cache utilization, the method comprising: in response to receiving a request to store data, storing the data in one of a plurality of cache slots of a cache; after storing the data, setting a status of the cache slot as write pending (WP) to indicate that the cache slot contains data which needs to be written to a corresponding destination storage device; determining an eviction type of the cached data based on whether the destination storage device is a local storage device or a remote storage device, wherein the eviction type includes one of a normal eviction type and an immediate eviction type, and the eviction type is determined to be an immediate eviction type if the destination storage device is a remote storage device; after copying data from the cache slot to the corresponding destination storage device, marking the cache slot with the determined eviction type; and in response to receiving another request to store data, evicting at least one of the cache slots according to an eviction schedule determined based on the corresponding eviction type, wherein a cache slot with the immediate type is evicted prior to a cache slot with the normal eviction type. 2. The method of claim 1 , wherein a cache slot marked with immediate eviction is freed for reuse after a shorter duration of time than a cache slot marked with a normal eviction. 3. The method of claim 2 , wherein marking a cache slot for normal eviction comprises setting a timestamp of the cache slot with a time of when the data is stored in the cache slot. 4. The method of claim 3 , wherein marking a cache slot for immediate eviction comprises setting a timestamp of the cache slot with a value of zero. 5. The method of claim 1 , further comprising: after copying data from the cache slot to the destination storage device, clearing the status of the cache slot to indicate that the cache slot no longer contains data which needs to be written to the corresponding destination storage device. 6. The method of claim 1 , wherein evicting the at least one of the cache slots comprises: determining a set of one or more non-WP cache slots; and determining, from the determined set of one or more non-WP cache slots, a cache slot with a timestamp that contains a smallest value; and evicting the non-WP cache slot with the timestamp that contains the smallest value. 7. A non-transitory computer-readable medium having computer instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising: in response to receiving a request to store data, storing the data in one of a plurality of cache slots of a cache; after storing the data, setting a status of the cache slot as write pending (WP) to indicate that the cache slot contains data which needs to be written to a corresponding destination storage device; determining an eviction type of the cached data based on whether the destination storage device is a local storage device or a remote storage device, wherein the eviction type includes one of a normal eviction type and an immediate eviction type, and the eviction type is determined to be an immediate eviction type if the destination storage device is a remote storage device; after copying data from the cache slot to the corresponding destination storage device, marking the cache slot with the determined eviction type; and in response to receiving another request to store data, evicting at least one of the cache slots according to an eviction schedule determined based on the corresponding eviction type, wherein a cache slot with the immediate type is evicted prior to a cache slot with the normal eviction type. 8. The non-transitory computer-readable medium of claim 7 , wherein a cache slot marked with immediate eviction is freed for reuse after a shorter duration of time than a cache slot marked with a normal eviction. 9. The non-transitory computer-readable medium of claim 8 , wherein marking a cache slot for normal eviction comprises setting a timestamp of the cache slot with a time of when the data is stored in the cache slot. 10. The non-transitory computer-readable medium of claim 9 , wherein marking a cache slot for immediate eviction comprises setting a timestamp of the cache slot with a value of zero. 11. The non-transitory computer-readable medium of claim 7 , further comprising: after copying data from the cache slot to the destination storage device, clearing the status of the cache slot to indicate that the cache slot no longer contains data which needs to be written to the corresponding destination storage device. 12. The non-transitory computer-readable medium of claim 7 , wherein evicting the at least one of the cache slots comprises: determining a set of one or more non-WP cache slots; and determining, from the determined set of one or more non-WP cache slots, a cache slot with a timestamp that contains a smallest value; and evicting the non-WP cache slot with the timestamp that contains the smallest value. 13. A data processing system, comprising: a processor; and a memory to store instructions, which when executed from the memory, cause the processor to in response to receiving a request to store data, store the data in one of a plurality of cache slots of a cache, after storing the data, set a status of the cache slot as write pending (WP) to indicate that the cache slot contains data which needs to be written to a corresponding destination storage device, determine an eviction type of the cached data based on whether the destination storage device is a local storage device or a remote storage device, wherein the eviction type includes one of a normal eviction type and an immediate eviction type, and the eviction type is determined to be an immediate eviction type if the destination storage device is a remote storage device, after copying data from the cache slot to the corresponding destination storage device, mark the cache slot with the determined eviction type, and in response to receiving another request to store data, evict at least one of the cache slots according to an eviction schedule determined based on the corresponding eviction type, wherein a cache slot with the immediate type is evicted prior to a cache slot with the normal eviction type. 14. The data processing system of claim 13 , wherein a cache slot marked with immediate eviction is freed for reuse after a shorter duration of time than a cache slot marked with a normal eviction. 15. The data processing system of claim 14 , wherein marking a cache slot for normal eviction comprises setting a timestamp of the cache slot with a time of when the data is stored in the cache slot. 16. The data processing system of claim 15 , wherein marking a cache slot for immediate eviction comprises setting a timestamp of the cache slot with a value of zero. 17. The data processing system of claim 13 , wherein the processor is further configured to: after copying data from the cache slot to the destination storage device, clear the status of the cache slot to indicate that the cache slot no longer contains data which needs to be written to the corresponding destination storage device. 18. The data processing system of claim 13 , wherein evicting the at least one of the cache slots comprises: determining a set of one or more non-WP cache slots; and determining, from the determined set of one or more non-WP cache slots, a cache slot with a timestamp that contains a smallest value; and evicting the non
Management of the data involved in backup or backup restore · CPC title
with special data handling, e.g. priority of data or instructions, handling errors or pinning · CPC title
Backup scheduling policy · CPC title
with main memory updating (G06F12/0806 takes precedence) · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.