Creating replicas at user-defined points in time
US-2017192857-A1 · Jul 6, 2017 · US
US11494103B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11494103-B2 |
| Application number | US-201916530121-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 2, 2019 |
| Priority date | Aug 2, 2019 |
| Publication date | Nov 8, 2022 |
| Grant date | Nov 8, 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 storage system comprises a plurality of storage nodes each comprising one or more storage devices and a processor coupled to a memory. The storage system is configured to store data blocks across the storage devices of the storage nodes utilizing a redundant array of independent disks (RAID) arrangement. At least a given one of the storage nodes is configured to store a plurality of RAID metadata bitmaps in persistent storage of the storage node so as to be available for a recovery operation in the event of a detected failure, to identify a particular subset of the RAID metadata bitmaps to be updated in conjunction with an additional operation other than the recovery operation, and to temporarily store the identified subset of the RAID metadata bitmaps in the memory of the storage node in a manner determined based at least in part on an operation type of the additional operation.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a storage system comprising a plurality of storage nodes each comprising one or more storage devices; each of the storage nodes further comprising a processor coupled to a memory; wherein the storage system is configured to store data blocks across the storage devices of the storage nodes utilizing a redundant array of independent disks (RAID) arrangement; at least a given one of the storage nodes being configured: to store a plurality of RAID metadata bitmaps in persistent storage of the given storage node so as to be available for a recovery operation associated with a detected failure; to identify a particular subset of the RAID metadata bitmaps to be updated in conjunction with an additional operation other than the recovery operation; and to temporarily store the identified subset of the RAID metadata bitmaps in the memory of the given storage node in a manner determined based at least in part on an operation type of the additional operation; wherein one or more other subsets of the RAID metadata bitmaps, different than the identified subset, are not stored in the memory of the given storage node but remain stored in the persistent storage of the given storage node; and wherein identifying the particular subset of the RAID metadata bitmaps to be updated in conjunction with an additional operation other than the recovery operation comprises: detecting a write cache emptying operation; determining particular RAID stripes to be written as part of the write cache emptying operation; selecting one or more of the particular RAID stripes; and identifying the particular subset of the RAID metadata bitmaps as one or more of the RAID metadata bitmaps associated with the selected one or more RAID stripes. 2. The apparatus of claim 1 wherein the RAID arrangement includes parity information supporting at least one recovery option for reconstructing the data blocks of at least one of the storage devices responsive to a failure of that storage device. 3. The apparatus of claim 1 wherein each of the storage nodes further comprises a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the storage nodes. 4. The apparatus of claim 3 wherein the sets of processing modules comprise respective servers that collectively implement at least a portion of a distributed storage controller of the storage system. 5. The apparatus of claim 3 wherein the sets of processing modules of the storage nodes each comprise at least one data module and at least one control module. 6. The apparatus of claim 1 wherein the given storage node in reading data blocks from its one or more storage devices is further configured to read the data blocks from at least one designated RAID stripe. 7. The apparatus of claim 1 wherein different ones of the RAID metadata bitmaps indicate at least free or taken status for different subsets of the data blocks stored across the storage devices of the storage nodes, and wherein a given one of the RAID metadata bitmaps comprises a plurality of entries for respective ones of its associated data blocks with each such entry indicating which of a plurality of possible states applies to a corresponding data block wherein the possible states include at least a free state and a taken state. 8. The apparatus of claim 7 wherein the possible states further comprise at least one additional state including a not parity state. 9. The apparatus of claim 1 wherein selecting one or more of the RAID stripes comprises selecting the one or more RAID stripes based at least in part on amounts of free data blocks in respective ones of the RAID stripes. 10. The apparatus of claim 1 wherein the given storage node is further configured: to select particular ones of a plurality of RAID stripes to be rebuilt in a rebuild operation; and to read one or more of the RAID metadata bitmaps associated with the selected RAID stripes into the memory; and to perform corresponding portions of the rebuild operation; to write the RAID metadata bitmaps to the persistent storage; to repeat the selecting, reading, performing and writing until the rebuild operation is complete. 11. The apparatus of claim 1 wherein the given storage node is further configured: to delay verification of at least one of the RAID metadata bitmaps in conjunction with a read operation; and to perform the verification of said at least one of the RAID metadata bitmaps in conjunction with a subsequent writing thereof. 12. The apparatus of claim 1 wherein the given storage node is further configured: to identify a subset of the data blocks to be read in conjunction with a reconstruction operation to correct data block degradations; and to launch multiple reads of respective RAID metadata bitmaps in parallel with performing reads of the identified subset of data blocks. 13. An apparatus, comprising: a storage system comprising a plurality of storage nodes each comprising one or more storage devices; each of the storage nodes further comprising a processor coupled to a memory; wherein the storage system is configured to store data blocks across the storage devices of the storage nodes utilizing a redundant array of independent disks (RAID) arrangement; at least a given one of the storage nodes being configured: to store a plurality of RAID metadata bitmaps in persistent storage of the given storage node so as to be available for a recovery operation associated with a detected failure; to identify a particular subset of the RAID metadata bitmaps to be updated in conjunction with an additional operation other than the recovery operation; and to temporarily store the identified subset of the RAID metadata bitmaps in the memory of the given storage node in a manner determined based at least in part on an operation type of the additional operation; and wherein identifying the particular subset of the RAID metadata bitmaps to be updated in conjunction with an additional operation other than the recovery operation comprises: detecting an operation that involves decrementing reference counts of a subset of the data blocks to zero; and identifying the particular subset of the RAID metadata bitmaps as one or more of the RAID metadata bitmaps associated with the operation that involves decrementing reference counts of a subset of the data blocks to zero. 14. A method comprising: configuring a storage system to include a plurality of storage nodes each comprising one or more storage devices, each of the storage nodes further comprising a processor coupled to a memory; storing data blocks across the storage devices of the storage nodes utilizing a redundant array of independent disks (RAID) arrangement; and for at least a given one of the storage nodes: storing a plurality of RAID metadata bitmaps in persistent storage of the given storage node so as to be available for a recovery operation associated with a detected failure; identifying a particular subset of the RAID metadata bitmaps to be updated in conjunction with an additional operation other than the recovery operation; and temporarily storing the identified subset of the RAID metadata bitmaps in the memory of the given storage node in a manner determined based at least in part on an operation type of the additional operation; wherein one or more other subsets of the RAID metadata bitmaps, different than the identified subset, are not stored in the memory of the given storage node but remain stored in the persistent storage of the given storage node; and wherein identifying th
Disk arrays, e.g. RAID, JBOD · CPC title
Parity data distribution in semiconductor storages, e.g. in SSD · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Reconstruction on already foreseen single or plurality of spare disks · CPC title
Management of space entities, e.g. partitions, extents, pools · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.