Data-driven ceph performance optimizations
US-2016349993-A1 · Dec 1, 2016 · US
US10127110B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10127110-B2 |
| Application number | US-201615143815-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 2, 2016 |
| Priority date | Jul 31, 2015 |
| Publication date | Nov 13, 2018 |
| Grant date | Nov 13, 2018 |
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 method for execution by a dispersed storage and task (DST) execution unit includes updating a plurality of weighting factors corresponding to each of a plurality of memories in response to an indication of a change in memory capacity of one of the plurality of memories. At least one encoded data slice is received for storage by the DST execution unit. A plurality of scores are generated corresponding to each of the plurality of memories, wherein each of the plurality of scores is based on one of the plurality of weighting factors of a corresponding one of the plurality of memories. One of the plurality of memories is selected based on the plurality of scores, and the at least one encoded data slice is stored in the selected memory.
Opening claim text (preview).
What is claimed is: 1. A method for execution by a dispersed storage and task (DST) execution unit that includes an interface and a processor, the method comprises: updating a plurality of weighting factors corresponding to each of a plurality of memories of the DST execution unit in response to an indication of a change in memory capacity of one of the plurality of memories and in accordance with a Decentralized Agreement Protocol (DAP) that is implemented to maintain utilization across the plurality of memories to be substantially equal; receiving, via the interface and via a dispersed or distributed storage network (DSN) and from a DST processing unit, at least one encoded data slice for storage by the DST execution unit; generating a plurality of scores corresponding to each of the plurality of memories, wherein each of the plurality of scores is based on one of the plurality of weighting factors of a corresponding one of the plurality of memories; selecting one of the plurality of memories based on the plurality of scores in accordance with a resource map that indicates relative remaining healthy storage capacities of the plurality of memories; and storing the at least one encoded data slice in the selected one of the plurality of memories. 2. The method of claim 1 , wherein the indication of the change of the memory capacity is generated based on interpreting an error message. 3. The method of claim 1 , further comprising performing a memory test on the plurality of memories; and wherein the indication of the change of memory capacity is generated based on comparing a result of the memory test to a previous result corresponding to a previous memory test. 4. The method of claim 1 , wherein the indication of the change of the memory capacity is generated based on one of: a failure or removal of a memory block of the one of the plurality of memories. 5. The method of claim 1 , wherein the plurality of weighting factors are updated in response to an indication that the change in memory capacity is greater than a predefined threshold. 6. The method of claim 1 , wherein the selected one of the plurality of memories is determined based on the corresponding one of the plurality of memories with the highest corresponding score. 7. The method of claim 1 , wherein each of the plurality of scores is further generated based on an attribute of the received encoded slice. 8. The method of claim 1 , wherein the indication of a change in the memory capacity indicates a lowered memory capacity of the one of the plurality of memories, and wherein the plurality of weighting factors are updated by decreasing a weighting factor of the plurality of weighting factors corresponding to the one of the plurality of memories with the lowered memory capacity, and increasing remaining ones of the weighting factors of remaining memories of the plurality of memories. 9. The method of claim 8 , wherein the decrease of the weighting factor of the corresponding one of the plurality of memories with the lowered memory capacity is proportional to a degree of change in the memory capacity, and remaining ones of the plurality of weighting factors corresponding to the remaining memories are increased based on the decrease in the weighting factor of the one of the plurality of memories with the lowered memory capacity. 10. The method of claim 1 , wherein the plurality of weighting factors are updated in response to an indication that at least one second encoded data slice has been one of: written to or deleted from the one of the plurality of memories. 11. A processing system of a dispersed storage and task (DST) execution unit comprises: an interface configured to interface and communicate with a dispersed storage network (DSN); at least one processor; a memory that stores operational instructions, that when executed by the at least one processor causes the processing system to: update a plurality of weighting factors corresponding to each of a plurality of memories of the DST execution unit in response to an indication of a change in memory capacity of one of the plurality of memories and in accordance with a Decentralized Agreement Protocol (DAP) that is implemented to maintain utilization across the plurality of memories to be substantially equal; receive, via the interface and via the DSN from a DST processing unit, at least one encoded data slice for storage by the DST execution unit; generate a plurality of scores corresponding to each of the plurality of memories, wherein each of the plurality of scores is based on one of the plurality of weighting factors of a corresponding one of the plurality of memories; select one of the plurality of memories based on the plurality of scores in accordance with a resource map that indicates relative remaining healthy storage capacities of the plurality of memories; and store the at least one encoded data slice in the selected one of the plurality of memories. 12. The processing system of claim 11 , wherein the indication of the change of the memory capacity is generated based on interpreting an error message. 13. The processing system of claim 11 , wherein execution of the operational instructions by the at least one processor further causes the processing system to perform a memory test on the plurality of memories; and wherein the indication of the change of memory capacity is generated based on comparing a result of the memory test to a previous result corresponding to a previous memory test. 14. The processing system of claim 11 , wherein the indication of the change of the memory capacity is generated based on one of: a failure or removal of a memory block of the one of the plurality of memories. 15. The processing system of claim 11 , wherein the plurality of weighting factors are updated in response to an indication that the change in memory capacity is greater than a predefined threshold. 16. The processing system of claim 11 , wherein the selected one of the plurality of memories is determined based on the corresponding one of the plurality of memories with the highest corresponding score. 17. The processing system of claim 11 , wherein the indication of a change in the memory capacity indicates a lowered memory capacity of the one of the plurality of memories, and wherein the plurality of weighting factors are updated by decreasing a weighting factor of the plurality of weighting factors corresponding to the one of the plurality of memories with the lowered memory capacity, and increasing remaining ones of the weighting factors of remaining memories of the plurality of memories. 18. The processing system of claim 17 , wherein the decrease of the weighting factor of the corresponding one of the plurality of memories with the lowered memory capacity is proportional to a degree of change in the memory capacity, and remaining ones of the plurality of weighting factors corresponding to the remaining memories are increased based on the decrease in the weighting factor of the one of the plurality of memories with the lowered memory capacity. 19. The processing system of claim 11 , wherein the plurality of weighting factors are updated in response to an indication that at least one second encoded data slice has been one of: written to or deleted from the one of the plurality of memories. 20. A non-transitory computer readable storage medium comprises: at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that
using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes · CPC title
to a system of files or objects, e.g. local or distributed file system or database · CPC title
Replication mechanisms · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
wherein the data content is protected, e.g. by encrypting or encapsulating the payload · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.