IP Library Granted Patent US 10,678,644
Granted Patent B2
US 10,678,644 · App. 16/174,412 · Granted Jun 9, 2020

Adaptive rebuilding rates based on sampling and inference

Inventors: Ravi V. Khadiwala (Bartlett, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/1092G06F3/0604G06F9/5066G06F11/07G06F11/1448G06F11/1458G06F11/3034G06F11/3409G06F16/10H04L67/1097G06F11/1076G06F2003/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 10,678,644
App. No.
16/174,412
Granted
Jun 9, 2020
Kind
B2
Abstract

A method for execution by one or more processing modules of a dispersed storage network (DSN), the method begins by monitoring an encoded data slice access rate to produce an encoded data slice access rate for an associated rebuilding rate of a set of rebuilding rates. The method continues by applying a learning function to the encoded data slice access rate based on a previous encoded data slice access rate associated with the rebuilding rate to produce an updated previous encoded data slice access rate of a set of previous encoded data slice access rates. The method continues by updating a score value associated with the updated previous encoded data slice access rate and the rebuilding rate and selecting a slice access scheme based on the updated score value where a rebuild rate selection will maximize a score value associated with an expected slice access rate.

Claims (46)

1. An integrity processing unit for determining a rate to rebuild encoded data slices stored within a dispersed storage network (DSN), the integrity processing unit comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

at each time interval T, select a rebuild rate at which to rebuild data from a range of possible rebuild rates;

calculate a score value based on the rebuild rate and an I/O rate, the calculating providing a score value for each of a set of possible rebuild rates;

find a sum total of all the score values for each score value in the set of possible rebuild rates;

divide each score value by this sum total to get weighted probabilities; and

for each time interval T, selecting at least one of the weighted probabilities for a selection of a next rebuild rate to use; and

rebuild the data in DSN storage using the next rebuild rate.

2. The integrity processing unit of claim 1 , wherein the select a rebuild rate at which to rebuild data from a range of possible rebuild rates includes monitoring an aggregate rate of I/O operations processed in T.

3. The integrity processing unit of claim 1 , wherein the calculate a score value includes calculating ((N*rebuild rate)+I/O rate) 2 , where N is a multiplier of the rebuild rate.

4. The integrity processing unit of claim 1 further comprises the score value biasing a selection of the next rebuild rate to use.

5. The integrity processing unit of claim 1 , wherein the score value biasing a selection of the next rebuild rate to use includes a bias towards the rebuild rate that results in a highest calculated score value.

6. The integrity processing unit of claim 5 , wherein a sum of all the weighted probabilities is 100%.

7. The integrity processing unit of claim 1 , wherein the score value is calculated as:

((3*rebuild rate)+encoded data slice access rate) 2 .

8. The integrity processing unit of claim 1 further comprises including a learning rate, where for a given selected rebuilding rate, an associated score value may be subsequently updated in accordance with a learning rate function when an updated corresponding slice access rate is measured for the given selected rebuilding rate.

9. The integrity processing unit of claim 8 , wherein the learning rate function is calculated as:

updated score=(old score)*(1−learning rate)+(new score*learning rate).

10. The integrity processing unit of claim 1 , wherein determining to update the rebuild rate for a storage unit is based on one or more of: detecting an end of a time interval, receiving a request, receiving an error message, or detecting an unfavorable slice access rate.

11. The integrity processing unit of claim 1 , wherein determining a slice access demand rate and rebuilding access demand rate is based on one or more of: interpreting a queue, receiving a request, or accessing a historical record.

12. The integrity processing unit of claim 1 , wherein selecting an encoded data slice access scheme is based on one or more of: a predetermination, detecting that a demand rate is much greater than a demand threshold level, or receiving a request.

13. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

at each time interval T, select a rebuild rate at which to rebuild data from a range of possible rebuild rates;

calculate a score value based on the rebuild rate and an I/O rate, the calculating providing a score value for each of a set of possible rebuild rates;

find a sum total of all the score values for each score value in the set of possible rebuild rates;

divide each score value by this sum total to get weighted probabilities;

wherein, for each time interval T, the integrity processing unit uses the weighted probabilities for a selection of a next rebuild rate to use; and

rebuild the data in DSN storage using the next rebuild rate.

14. A computing device of claim 13 , wherein the select a rebuild rate at which to rebuild data from a range of possible rebuild rates is performed while monitoring an aggregate rate of I/O operations processed in T.

15. A computing device of claim 13 , wherein the score value calculated as ((N*rebuild rate)+I/O rate) 2 , where N is a multiplier of the rebuild rate.

16. A computing device of claim 13 further comprises the score value biasing a selection of the next rebuild rate to use.

17. A computing device of claim 13 , wherein the score value biasing a selection of the next rebuild rate to use includes a bias towards the rebuild rate that results in a highest calculated score value.

18. A computing device of claim 13 , wherein a sum of all the weighted probabilities is 100%.

19. A method to select a rebuild rate for a dispersed storage network (DSN), the method comprises:

at each time interval T, selecting a rebuild rate at which to rebuild data from a range of possible rebuild rates while monitoring an aggregate rate of I/O operations processed in T;

calculating a score value based on the rebuild rate and an I/O rate, the calculating providing a score value for each of a set of possible rebuild rates, the score value calculated as ((N*rebuild rate)+I/O rate) 2 , where N is a multiplier of the rebuild rate;

finding a sum total of all the score values for each score value in the set of possible rebuild rates;

dividing each score value by this sum total to get weighted probabilities; and

wherein, for each time interval T, selecting a highest of the weighted probabilities for a selection of a next rebuild rate to use; and

rebuilding the data in DSN storage using the next rebuild rate.

20. The method of claim 19 , wherein the score value biases a selection of the next rebuild rate towards based on a rebuild rate that result in a highest calculated score value.

Assignments (5)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: KHADIWALA, RAVI V.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047358/0889 →