Method, apparatus and computer readable medium for building multi-tier flash cache by using spare flash drives and clean user data is flushed from main flash cache to one of the spare flash drives that only stores the clean user data, wherein the main flash cache is configured as one or more pairs of flash drives and the one of the spare flash drives is allocated as single drive to secondary flash cache

US10860496B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10860496-B2
Application numberUS-201815954720-A
CountryUS
Kind codeB2
Filing dateApr 17, 2018
Priority dateApr 17, 2017
Publication dateDec 8, 2020
Grant dateDec 8, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10860496B2 cover?
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 …
Who is the assignee on this patent?
EMC IP Holding Company, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0897. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 08 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).