Methods and apparatus for memory tier page cache with zero file
US-10049046-B1 · Aug 14, 2018 · US
US10860496B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10860496-B2 |
| Application number | US-201815954720-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 17, 2018 |
| Priority date | Apr 17, 2017 |
| Publication date | Dec 8, 2020 |
| Grant date | Dec 8, 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 computer-implemented method for establishing a multi-tier flash cache using spare drives. The method includes, in response to receiving an I/O request, determining that there is no free page in a main cache. Having determined that there is no free page in the main cache, the method further includes establishing a secondary cache by selecting at least one spare drive from a plurality of spare drives, flushing data from a cold page in the main cache to the secondary cache, an access frequency of the cold page being lower than a predetermined threshold, and writing data related to the I/O request from a persistent storage device to the cold page.
Opening claim text (preview).
We claim: 1. A computer-implemented method, comprising: receiving an I/O request; determining that there is no free page in a main flash cache, the main flash cache including a page containing user data that has an access frequency lower than a predetermined threshold frequency, the page containing the user data being referred to as a cold page, the user data contained in the cold page being referred to as clean user data, wherein the main flash cache is configured as one or more pairs of flash drives; in response to determining that there is no free page in the main flash cache, establishing a secondary flash cache by selecting a spare flash drive from among a plurality of spare flash drives in a storage pool, wherein the spare flash drive is allocated to the secondary flash cache as a single drive; flushing the clean user data from the cold page of the main flash cache to the selected spare flash drive of the secondary flash cache, the secondary flash cache caching storing only the clean user data; receiving a request to replace a failed drive in a RAID group; determining that there is no spare flash drive in the storage pool available for use to replace the failed drive in the RAID group; in response to determining that there is no spare flash drive in the storage pool available for use to replace the failed drive in the RAID group, releasing the selected spare flash drive without flushing the clean user data to a persistent storage device, the released spare flash drive having a same technology type as the failed drive to be replaced; and replacing the failed drive in the RAID group with the released spare flash drive. 2. The method of claim 1 , wherein the secondary flash cache is a multi-tier secondary flash cache, and wherein establishing the secondary flash cache comprises: establishing a first tier of the multi-tier secondary flash cache, wherein establishing the first tier of the multi-tier secondary flash cache includes selecting at least one spare flash drive of a first technology type from among the plurality of spare flash drives so that a number of writes per unit time of the at least one spare flash drive of the first technology type exceeds a predetermined threshold number. 3. The method of claim 2 , wherein establishing the secondary flash cache further comprises: determining that an available capacity of the at least one spare flash drive of the first technology type is below a first threshold capacity; and having determined that the available capacity of the at least one spare flash drive of the first technology type is below the first threshold capacity, establishing a second tier of the multi-tier secondary flash cache, wherein establishing the second tier of the multi-tier secondary flash cache includes selecting at least one spare flash drive of a second technology type from among the plurality of spare flash drives so that the number of writes per unit time of the at least one spare flash drive of the second technology type is equal to the predetermined threshold number. 4. The method of claim 3 , wherein establishing the secondary flash cache further comprises: determining that an available capacity of the at least one spare flash drive of the second technology type is below a second threshold capacity; and having determined that the available capacity of the at least one spare flash drive of the second technology type is below the second threshold capacity, establishing a third tier of the multi-tier secondary flash cache, wherein establishing the third tier of the multi-tier secondary flash cache includes selecting at least one spare flash drive of a third technology type from among the plurality of spare drives so that the number of writes per unit time of the at least one spare flash drive of the third technology type is lower than the predetermined threshold number. 5. The method of claim 1 , further comprising: determining that a page in the secondary flash cache is hit by the received I/O request; having determined that the page in the secondary flash cache is hit by the received I/O request, allocating a free page for the hit page in the main flash cache; writing data related to the hit page into the allocated free page in the main flash cache; and releasing the hit page of the secondary flash cache. 6. The method of claim 1 , wherein releasing the selected spare flash drive comprises: releasing a storage space allocated for the selected spare flash drive; and removing user data logic units of the selected spare flash drive. 7. The method of claim 3 , wherein establishing the secondary flash cache further comprises: establishing the multi-tier secondary flash cache hierarchically such that the first tier of the multi-tier secondary flash cache is established at a first time, and the second tier of the multi-tier secondary flash cache is established at a second time, wherein the second time is different from the first time. 8. An electronic apparatus, comprising: at least one processor; and a memory coupled to the at least one processor and comprising instructions stored thereon, wherein the instructions, when executed by the at least one processor, cause the apparatus to perform acts including: receiving an I/O request; determining that there is no free page in a main flash cache, the main flash cache including a page containing user data that has an access frequency lower than a predetermined threshold frequency, the page containing the user data being referred to as a cold page, the user data contained in the cold page being referred to as clean user data, wherein the main flash cache is configured as one or more pairs of flash drives; in response to determining that there is no free page in the main flash cache, establishing a secondary flash cache by selecting a spare flash drive from among a plurality of spare flash drives in a storage pool, wherein the spare flash drive is allocated to the secondary flash cache as a single drive; flushing the clean user data from the cold page of the main flash cache to the selected spare flash drive of the secondary flash cache, the secondary flash cache storing only the clean user data; receiving a request to replace a failed drive in a RAID group; determining that there is no spare flash drive in the storage pool available for use to replace the failed drive in the RAID group; in response to determining that there is no spare flash drive in the storage pool available for use to replace the failed drive in the RAID group, releasing the selected spare flash drive without flushing the clean user data to a persistent storage device, the released spare flash drive having a same technology type as the failed drive to be replaced; and replacing the failed drive in the RAID group with the released spare flash drive. 9. The apparatus of claim 8 , wherein the secondary flash cache is a multi-tier secondary flash cache, and wherein establishing the secondary flash cache comprises: establishing a first tier of the multi-tier secondary flash cache, wherein establishing the first tier of the multi-tier secondary flash cache includes selecting at least one spare flash drive of a first technology type from among the plurality of spare flash drives so that a number of writes per unit time of the at least one spare flash drive of the first technology type exceeds a predetermined threshold number. 10. The apparatus of claim 9 , wherein establishing the secondary flash cache further comprises: determining that an available capacity of the at least one spare flash drive of the first technology type is below a first threshold capacity; and having determined that the available capacity of the at least one spare flash dri
configured as RAID · CPC title
of the least frequently used [LFU] type, e.g. with individual count value · CPC title
Improving I/O performance · CPC title
Latency reduction · CPC title
Hybrid cache memory, e.g. having both volatile and non-volatile portions · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.