IP Library Granted Patent US 11,588,892
Granted Patent B1
US 11,588,892 · App. 16/862,171 · Granted Feb 21, 2023

Adaptive rebuilding of encoded data slices in a storage network

Inventors: Ravi V. Khadiwala (Bartlett, IL); Asimuddin Kazi (Naperville, IL)
Assignee: PURE STORAGE, INC.
H04L67/1097G06F3/0604G06F3/065G06F3/067G06F3/0614G06F3/0619G06F3/0646G06F3/0668G06F3/0683G06F3/0689G06F9/4881G06F9/5066G06F11/07G06F11/1076G06F11/1092G06F11/1448G06F11/1458G06F16/10H04L67/10G06F2003/0697G06F2209/5017G06F2211/1028
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,588,892
App. No.
16/862,171
Granted
Feb 21, 2023
Kind
B1
Abstract

A method for execution by a computing device of a storage network begins by obtaining scoring information for a rebuilding encoded data slices for one or more storage units of a set of storage units of the storage network, where the scoring information includes two or more of a plurality of rebuilding rates, a plurality of input/output rates, a plurality of scores, and a plurality of selection rates. The method continues with determining a rebuilding rate of the plurality of rebuilding rates to utilize for the rebuilding based on the scoring information. The method continues by implementing the rebuilding of the encoded data slices in accordance with the rebuilding rate.

Claims (57)

1. A method for execution by a computing device of a storage network comprises:

obtaining, by the computing device, scoring information for a rebuilding of encoded data slices for one or more storage units of a set of storage units of the storage network, wherein the scoring information includes two or more of a plurality of rebuilding rates, a plurality of input/output rates, a plurality of scores, and a plurality of selection rates, wherein a selection rate of the plurality of selection rates includes a historic use of a particular rebuilding rate of the plurality of rebuilding rates for the set of storage units;

determining, by the computing device, a rebuilding rate of the plurality of rebuilding rates to utilize for the rebuilding based on the scoring information; and

implementing, by the computing device, the rebuilding of the encoded data slices in accordance with the rebuilding rate.

2. The method of claim 1 further comprises:

determining based on the scoring information, by the computing device, that a first input/output rate of the plurality of input/output rates for a first rebuilding rate of the plurality of rebuilding rates exceeds a difference threshold compared to an initial first input/output rate for the first rebuilding rate, wherein the initial first input/output rate has a corresponding first score and a first selection rate of the plurality of selection rates;

adjusting, by the computing device, a plurality of initial input/output rates based on the first input/output rate to produce a plurality of updated input/output rates; and

generating, by the computing device, an updated plurality of scores for the plurality of rebuilding rates based on the plurality of updated input/output rates to produce updated scoring information.

3. The method of claim 2 further comprises:

determining, by the computing device, an updated rebuilding rate of the plurality of rebuilding rates based on the updated scoring information; and

implementing, by the computing device, the rebuilding of the encoded data slices in accordance with the updated rebuilding rate.

4. The method of claim 2 , wherein the adjusting comprises:

applying a learning rate function to the plurality of initial input/output rates and the plurality of input/output rates to produce the plurality of updated input/output rates.

5. The method of claim 2 , wherein the adjusting comprises:

applying a first learning rate function for the first rebuilding rate to a first input/output rate of the plurality of initial input/output rates to produce a first updated input/output rate of the plurality of updated input/output rates; and

applying a second learning rate function for a second rebuilding rate to a second input/output rate of the plurality of initial input/output rates to produce a second updated input/output rate of the plurality of updated input/output rates.

6. The method of claim 2 further comprises:

calculating, by the computing device, an initial input/output rate for each rebuilding rate of the plurality of rebuilding rates to produce the plurality of initial input/output rates.

7. The method of claim 1 further comprises:

a first plurality of input/output rates correspond to a first storage unit of the set of storage units; and

a second plurality of input/output rates correspond to a second storage unit of the set of storage units.

8. The method of claim 1 , wherein the plurality of scores are based on a prioritization scheme of a plurality of prioritization schemes, and wherein a first plurality of scores for first scoring information is based on a first prioritization scheme and a second plurality of scores for second scoring information is based on a second prioritization scheme.

9. The method of claim 8 , wherein the plurality of prioritization schemes comprises:

a slice access priority scheme;

a compromise priority scheme; and

a rebuilding priority scheme.

10. A computing device of a storage network comprises:

memory;

an interface; and

a processing module, wherein the processing module is operably coupled to the memory and the interface, and wherein the processing module is operable to:

obtain scoring information for a rebuilding of encoded data slices for one or more storage units of a set of storage units of the storage network, wherein the scoring information includes two or more of a plurality of rebuilding rates, a plurality of input/output rates, a plurality of scores, and a plurality of selection rates, wherein a selection rate of the plurality of selection rates includes a historic use of a particular rebuilding rate of the plurality of rebuilding rates for the set of storage units;

determine a rebuilding rate of the plurality of rebuilding rates to utilize for the rebuilding based on the scoring information; and

implement the rebuilding of the encoded data slices in accordance with the rebuilding rate.

11. The computing device of claim 10 , wherein the processing module is further operable to:

determine based on the scoring information, that a first input/output rate of the plurality of input/output rates for a first rebuilding rate of the plurality of rebuilding rates exceeds a difference threshold compared to an initial first input/output rate for the first rebuilding rate, wherein the initial first input/output rate has a corresponding first score and a first selection rate of the plurality of selection rates;

adjust a plurality of initial input/output rates based on the first input/output rate to produce a plurality of updated input/output rates; and

generate an updated plurality of scores for the plurality of rebuilding rates based on the plurality of updated input/output rates to produce updated scoring information.

12. The computing device of claim 11 , wherein the processing module is further operable to:

determine an updated rebuilding rate of the plurality of rebuilding rates based on the updated scoring information; and

implement the rebuilding in accordance with the updated rebuilding rate.

13. The computing device of claim 11 , wherein the processing module is further operable to:

perform the adjusting by applying a learning rate function to the plurality of initial input/output rates and the plurality of input/output rates to produce the plurality of updated input/output rates.

14. The computing device of claim 11 , wherein the processing module is further operable to perform the adjusting by:

apply a first learning rate function for the first rebuilding rate to a first input/output rate of the plurality of initial input/output rates to produce a first updated input/output rate of the plurality of updated input/output rates; and

apply a second learning rate function for a second rebuilding rate to a second input/output rate of the plurality of initial input/output rates to produce a second updated input/output rate of the plurality of updated input/output rates.

15. The computing device of claim 11 , wherein the processing module is further operable to:

calculate an initial input/output rate for each rebuilding rate of the plurality of rebuilding rates to produce the plurality of initial input/output rates.

16. The computing device of claim 11 , wherein the processing module is further operable to:

a first plurality of input/output rates corresponding to a first storage unit of the set of storage units; and

a second plurality of input/output rates corresponding to a second storage unit of the set of storage units.

17. The computing device of claim 10 , wherein the processing module is further operable to:

calculate the plurality of scores based on a prioritization scheme of a plurality of prioritization schemes; and

calculate a first plurality of scores for first scoring information based on a first prioritization scheme and calculate a second plurality of scores for second scoring information based on a second prioritization scheme.

18. The computing device of claim 17 , wherein the plurality of prioritization schemes comprises:

a slice access priority scheme;

a compromise priority scheme; and

a rebuilding priority scheme.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: KHADIWALA, RAVI V.; KAZI, ASIMUDDIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052533/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052533/0571 →
Continuity (3)
Continuation 15823931 · Nov 28, 2017
Continuation In Part 14287534 · May 27, 2014
Provisional Application 61860456 · Jul 31, 2013
Cited By (1)
US 12,625,803