Simple and efficient technique to support disk extents of different sizes for mapped RAID
US-10908997-B1 · Feb 2, 2021 · US
US12001695B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12001695-B2 |
| Application number | US-202218082516-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 15, 2022 |
| Priority date | Feb 28, 2020 |
| Publication date | Jun 4, 2024 |
| Grant date | Jun 4, 2024 |
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 plurality of logical storage segments of storage drives of a plurality of storage nodes are identified. At least one of the storage nodes includes at least a first logical storage segment and a second logical storage segment included in the plurality of logical storage segments. A distributed and replicated data store using a portion of the plurality of logical storage segments that excludes at least the second logical storage segment is provided. An available storage capacity metric associated with the plurality of logical storage segments is determined to meet a first threshold. In response to the determination that the available storage capacity metric meets the first threshold, at least the second logical storage segment is dynamically deployed for use in providing the distributed and replicated data store in a manner that increases a storage capacity of the data store while maintaining a fault tolerance policy of the distributed and replicated data store.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: providing a distributed and replicated data store associated with a storage system using a circular order for a portion of a plurality of logical storage segments that at least includes a first logical storage segment of a first storage node and a second logical storage segment of a second storage node, wherein the first logical storage segment of the first storage node and the second logical storage segment of the second storage node are adjacent to each other in the circular order, wherein a fault tolerance policy indicates a threshold number of adjacent logical storage segments of the plurality of logical storage segments needed to store a copy of a bucket, wherein the fault tolerance policy is at least in part satisfied by having the first logical storage segment of the first storage node store a first copy of a first bucket and the second logical storage segment of the second storage node store a second copy of the first bucket; adding a new storage node to the storage system; determining a number count of logical storage segments associated with the new storage node; adjusting the circular order associated with the storage system based on the determined number count of logical storage segments associated with the new storage node, wherein in the adjusted circular order associated with the storage system, a logical storage segment of the new storage node is located in between the first logical storage segment of the first storage node and the second logical storage segment of the second storage node; and rebalancing the distributed and replicated data store based on the adjusted circular order including by migrating the first copy of the first bucket from the first logical storage segment of the first storage node or the second copy of the first bucket from the second logical storage segment of the second storage node to the logical storage segment associated with the new storage node to satisfy the fault tolerance policy. 2. The method of claim 1 , wherein the new storage node is an additional storage node associated with the storage system. 3. The method of claim 1 , wherein the new storage node replaces an existing node associated with the storage system. 4. The method of claim 3 , wherein the new storage node replaces the existing node associated with the storage system in the circular order. 5. The method of claim 1 , wherein determining the number count of logical storage segments associated with the new storage node includes determining a storage capacity of the new storage node. 6. The method of claim 5 , wherein the determined number count of logical storage segments associated with the new storage node is based on whether the determined storage capacity of the new storage node is greater than a multiple of a smallest storage capacity of a plurality of storage nodes of the storage system. 7. The method of claim 6 , wherein a single logical storage segment associated with the new storage node is included in the adjusted circular order in response to a determination that the determined storage capacity of the new storage node is not greater than the multiple of the smallest storage capacity of the plurality of storage nodes of the storage system. 8. The method of claim 7 , wherein the single logical storage segment associated with the new storage node is located in the adjusted circular order based on a number count of bucket redistributions associated with locating the single logical storage segment at a particular location in the adjusted circular order. 9. The method of claim 6 , wherein a third logical storage segment of the plurality of logical storage segments associated with the new storage node is included in the adjusted circular order in response to a determination that the determined storage capacity of the new storage node is greater than the multiple of the smallest storage capacity of the plurality of storage nodes of the storage system. 10. The method of claim 9 , wherein the third logical storage segment associated with the new storage node is located in the adjusted circular order based on a number of bucket redistributions associated with locating the third logical storage segment at a particular location in the adjusted circular order. 11. The method of claim 1 , wherein rebalancing the distributed and replicated data store based on the adjusted circular order includes determining an available storage capacity metric associated with the first logical storage segment. 12. The method of claim 11 , wherein rebalancing the distributed and replicated data store based on the adjusted circular order further includes migrating one or more buckets of key-value pairs from the first logical storage segment to a third logical storage segment associated with the new storage node in response to determining that the available storage capacity associated with the first logical storage segment is less than a first threshold and greater than a second threshold. 13. The method of claim 11 , wherein rebalancing the distributed and replicated data store based on the adjusted circular order further includes copying one or more buckets of key-value pairs from the first logical storage segment to a third logical storage segment associated with the new storage node in response to determining that the available storage capacity associated with the first logical storage segment is less than a first threshold and greater than a second threshold. 14. The method of claim 11 , wherein the available storage capacity metric associated with the plurality of logical storage segments is a percentage of the plurality of logical storage segments that is used or a total amount of data stored by the plurality of logical storage segments. 15. The method of claim 1 , wherein the distributed and replicated data store is comprised of a plurality of buckets, wherein each of the plurality of buckets is comprised of a plurality of key-value pairs. 16. The method of claim 15 , wherein the distributed and replicated data store is comprised of a plurality of copies of the buckets. 17. The method of claim 16 , wherein the plurality of copies of the buckets are stored in adjacent logical storage segments according to the circular order of the portion of the plurality of logical storage segments. 18. A computer program product, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for: providing a distributed and replicated data store associated with a storage system using a circular order for a portion of a plurality of logical storage segments that at least includes a first logical storage segment of a first storage node and a second logical storage segment of a second storage node, wherein the first logical storage segment of the first storage node and the second logical storage segment of the second storage node are adjacent to each other in the circular order, wherein a fault tolerance policy indicates a threshold number of adjacent logical storage segments of the plurality of logical storage segments needed to store a copy of a bucket, wherein the fault tolerance policy is at least in part satisfied by having the first logical storage segment of the first storage node store a first copy of a first bucket and the second logical storage segment of the second storage node store a second copy of the first bucket; adding a new storage node to the storage system; determining a number count of logical storage segments associated with the new storage node; adj
by allocating resources to storage systems · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Replication mechanisms · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.