Maintaining availability of a non-volatile cache

US11513956B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11513956-B2
Application numberUS-202117220317-A
CountryUS
Kind codeB2
Filing dateApr 1, 2021
Priority dateApr 1, 2021
Publication dateNov 29, 2022
Grant dateNov 29, 2022

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 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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US11513956B2 cover?
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 fa…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 2022 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).