Method, device, and computer program product for storage management
US-2022129191-A1 · Apr 28, 2022 · US
US11513956B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11513956-B2 |
| Application number | US-202117220317-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 1, 2021 |
| Priority date | Apr 1, 2021 |
| Publication date | Nov 29, 2022 |
| Grant date | Nov 29, 2022 |
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 technique maintains availability of a non-volatile cache. The technique involves arranging a plurality of non-volatile random-access memory (NVRAM) drives into initial drive sets that form the non-volatile cache. The technique further involves detecting a failed initial drive set among the initial drive sets. The plurality of NVRAM drives now includes failed NVRAM drives that belong to the failed initial drive set and remaining non-failed NVRAM drives. The technique further involves, in response to detecting the failed initial drive set, re arranging the remaining non-failed NVRAM drives of the plurality of NVRAM drives into new drive sets that form the non-volatile cache.
Opening claim text (preview).
What is claimed is: 1. A method of maintaining availability of a non-volatile cache, the method comprising: arranging a plurality of non-volatile random-access memory (NVRAM) drives into initial drive sets that form the non-volatile cache; detecting a failed initial drive set among the initial drive sets, the plurality of NVRAM drives now including failed NVRAM drives that belong to the failed initial drive set and remaining non-failed NVRAM drives; and in response to detecting the failed initial drive set, rearranging the remaining non-failed NVRAM drives of the plurality of NVRAM drives into new drive sets that form the non-volatile cache; wherein arranging the plurality of NVRAM drives into the initial drive sets includes: creating a number of initial drive sets from the plurality of NVRAM drives; and wherein rearranging the remaining non-failed NVRAM drives includes: creating a number of new drive sets from the remaining non-failed NVRAM drives that equals the number of initial drive sets created from the plurality of NVRAM drives. 2. A method as in claim 1 wherein the failed initial drive set includes a pair of NVRAM drives; and wherein detecting the failed initial drive set includes: sensing that each NVRAM drive of the pair of NVRAM drives has failed. 3. A method as in claim 1 wherein the plurality of NVRAM drives includes a first group of NVRAM drives that receives power from a first battery backup unit (BBU) and a second group of NVRAM drives that receives power from a second BBU; and wherein arranging the plurality of NVRAM drives into the initial drive sets includes: creating each initial drive set from an NVRAM drive of the first group and an NVRAM drive of the second group. 4. A method as in claim 1 , further comprising: prior to detecting the failed initial drive set, copying data from a buffer of a storage processor into each NVRAM drive of the failed initial drive set; and in response to detecting the failed initial drive set, copying the data from the buffer of the storage processor into standby storage. 5. A method as in claim 4 , further comprising: after rearranging the remaining non-failed NVRAM drives of the plurality of NVRAM drives into the new drive sets, loading the copied data from the standby storage into one of the new drive sets. 6. A method as in claim 5 , further comprising: after rearranging the remaining non-failed NVRAM drives of the plurality of NVRAM drives into the new drive sets, reloading the copied data into the buffer of the storage processor. 7. A method as in claim 6 , further comprising: prior to detecting the failed initial drive set, performing data storage operations from the storage processor, the data storage operations caching data within log-structured storage provided by the non-volatile cache. 8. A method as in claim 7 , further comprising: in response to detecting the failed initial drive set, halting a datapath that includes the log-structured storage; and after the copied data is loaded from the standby storage into the one of the new drive sets and after the copied data is reloaded into the buffer of the storage processor, resuming the datapath that includes the log-structured storage. 9. A method as in claim 1 wherein arranging the plurality of NVRAM drives into initial drive sets that form the non-volatile cache includes: constructing initial virtual NVRAM storage objects from the plurality of NVRAM drives, each initial virtual NVRAM storage object including a pair of NVRAM drives operating as a mirror to store mirroring copies of data. 10. A method as in claim 7 wherein rearranging the remaining non-failed NVRAM drives of the plurality of NVRAM drives includes: constructing new virtual NVRAM storage objects from the remaining non-failed NVRAM drives of the plurality of NVRAM drives, each new virtual NVRAM storage object including a pair of NVRAM drives operating as a mirror to store mirroring copies of data. 11. A method as in claim 1 wherein the failed initial drive set includes a pair of NVRAM drives; and wherein the method further comprises: prior to detecting the failed initial drive set, operating the pair of NVRAM drives in an optimal state in which each of a first NVRAM drive and a second NVRAM drive of the pair of NVRAM drives stores a respective copy of data to form a mirror. 12. A method as in claim 11 , further comprising: after the pair of NVRAM drives operates in the optimal state and prior to detecting the failed initial drive set, operating the pair of NVRAM drives in a degraded state in which one of first and second NVRAM drives has failed and another of the first and second NVRAM drives continues to store a respective copy of the data. 13. A method as in claim 12 wherein detecting the failed initial drive set includes: detecting that each of the first NVRAM drive and the second NVRAM drive of the pair of NVRAM drives has failed. 14. Data storage equipment, comprising: memory; and control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to perform a method of: arranging a plurality of non-volatile random-access memory (NVRAM) drives into initial drive sets that form a non-volatile cache, detecting a failed initial drive set, the plurality of NVRAM drives now including failed NVRAM drives that belong to the failed initial drive set and remaining non-failed NVRAM drives, and in response to detecting the failed initial drive set, rearranging the remaining non-failed NVRAM drives of the plurality of NVRAM drives into new drive sets that form the non-volatile cache; wherein arranging the plurality of NVRAM drives into the initial drive sets includes: creating a number of initial drive sets from the plurality of NVRAM drives; and wherein rearranging the remaining non-failed NVRAM drives includes: creating a number of new drive sets from the remaining non-failed NVRAM drives that equals the number of initial drive sets created from the plurality of NVRAM drives. 15. Data storage equipment as in claim 14 wherein the failed initial drive set includes a pair of NVRAM drives; and wherein detecting the failed initial drive set includes: sensing that each NVRAM drive of the pair of NVRAM drives has failed. 16. Data storage equipment as in claim 15 wherein the plurality of NVRAM drives includes a first group of NVRAM drives that receives power from a first battery backup unit (BBU) and a second group of NVRAM drives that receives power from a second BBU; and wherein creating the number of initial drive sets from the plurality of NVRAM drives includes: creating each initial drive set from an NVRAM drive of the first group and an NVRAM drive of the second group. 17. Data storage equipment as in claim 14 wherein the method further includes: prior to detecting the failed initial drive set, copying data from a buffer of a storage processor into each NVRAM drive of the failed initial drive set; and in response to detecting the failed initial drive set, copying the data from the buffer of the storage processor into standby storage. 18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to maintain availability of a non-volatile cache; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: arranging a plurality of non-volatile random-access memory (NVRAM) drives into initial drive sets that form t
Multiple device management, e.g. distributing data over multiple flash devices · CPC title
Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks · CPC title
Non-volatile memory · CPC title
in block erasable memory, e.g. flash memory · CPC title
Allocation or management of cache space · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.