IP Library Granted Patent US 10,534,661
Granted Patent B2
US 10,534,661 · App. 15/843,390 · Granted Jan 14, 2020

Selecting a storage error abatement alternative in a dispersed storage network

Inventor: Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/0793G06F3/067G06F3/0619G06F11/0727
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,534,661
App. No.
15/843,390
Granted
Jan 14, 2020
Kind
B2
Abstract

A method for execution by an integrity processing unit includes detecting a storage error associated with storage of at least one encoded data slice in at least one memory of an associated storage unit of a set of storage units. Error parameters associated with the storage error are determined and a plurality of recovery alternatives to abate the storage error are identified based on the error parameters. A plurality of cost-benefit factors that correspond the plurality of recovery alternatives are determined. One of the plurality of recovery alternatives is selected based on the plurality of cost-benefit factors, and execution of the one of the plurality of recovery alternatives is facilitated to abate the storage error.

Claims (53)

1. A method for execution by an integrity processing unit that includes a processor, the method comprises:

detecting a storage error associated with storage of at least one encoded data slice in at least one memory of an associated storage unit of a set of storage units;

determining error parameters associated with the storage error;

identifying a plurality of recovery alternatives to abate the storage error based on the error parameters;

determining a plurality of cost-benefit factors that correspond to the plurality of recovery alternatives;

selecting one of the plurality of recovery alternatives based on the plurality of cost-benefit factors; and

facilitating execution of the one of the plurality of recovery alternatives to abate the storage error.

2. The method of claim 1 , wherein a set of encoded data slices that includes the at least one encoded data slice is associated with a data segment, and wherein the data segment was dispersed storage error encoded to produce the set of encoded data slices for storage in the set of storage units.

3. The method of claim 1 , wherein the at least one encoded data slice is one of: missing or corrupted.

4. The method of claim 1 , wherein detecting the storage error includes at least one of: scanning for a block error, receiving a file system error message, or identifying a bin file associated with the at least one encoded data slice.

5. The method of claim 1 , wherein identifying the plurality of recovery alternatives includes interpreting a recovery alternative list based on the error parameters.

6. The method of claim 1 , wherein determining the each of the plurality of cost-benefit factors is based on maximum network bandwidth utilization and maximum required downtime.

7. The method of claim 1 , wherein determining the each of the plurality of cost-benefit factors is based on estimated recovery effectiveness, estimated data loss, and an estimated resource utilization level.

8. The method of claim 1 , wherein selecting the one of the plurality of recovery alternatives includes ranking the plurality of recovery alternatives based on the plurality of cost-benefit factors and selecting a most favorably ranked recovery alternative.

9. The method of claim 1 , wherein facilitating execution of the one of the plurality of recovery alternatives includes:

executing the one of the plurality of recovery alternatives;

measuring an effectiveness of executing the one of the plurality of recovery alternatives; and

selecting a next most favorable recovery alternative for execution when the measured effectiveness indicates that a level of abatement of the storage error has not been reached.

10. The method of claim 9 , wherein facilitating execution of the one of the plurality of recovery alternatives further includes:

measuring a resource utilization level of executing the one of the plurality of recovery alternatives; and

saving the measured effectiveness and the measured resource utilization level in a historical record;

wherein determining the plurality of cost-benefit factors is based on at least one previously measured effectiveness and at least one previously measured resource utilization level of at least one previous execution of at least one of the plurality of recovery alternatives, wherein the at least one previously measured effectiveness and the at least one previously measured resource utilization level are retrieved from the historical record.

11. A processing system of an integrity processing unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

detect a storage error associated with storage of at least one encoded data slice in at least one memory of an associated storage unit of a set of storage units;

determine error parameters associated with the storage error;

identify a plurality of recovery alternatives to abate the storage error based on the error parameters;

determine a plurality of cost-benefit factors that correspond to the plurality of recovery alternatives;

select one of the plurality of recovery alternatives based on the plurality of cost-benefit factors; and

facilitate execution of the one of the plurality of recovery alternatives to abate the storage error.

12. The processing system of claim 11 , wherein a set of encoded data slices that includes the at least one encoded data slice is associated with a data segment, and wherein the data segment was dispersed storage error encoded to produce the set of encoded data slices for storage in the set of storage units.

13. The processing system of claim 11 , wherein the at least one encoded data slice is one of: missing or corrupted.

14. The processing system of claim 11 , wherein detecting the storage error includes at least one of: scanning for a block error, receiving a file system error message, or identifying a bin file associated with the at least one encoded data slice.

15. The processing system of claim 11 , wherein determining the each of the plurality of cost-benefit factors is based on maximum network bandwidth utilization and maximum required downtime.

16. The processing system of claim 11 , wherein determining the each of the plurality of cost-benefit factors is based on estimated recovery effectiveness, estimated data loss, and an estimated resource utilization level.

17. The processing system of claim 11 , wherein selecting the one of the plurality of recovery alternatives includes ranking the plurality of recovery alternatives based on the plurality of cost-benefit factors and selecting a most favorably ranked recovery alternative.

18. The processing system of claim 11 , wherein facilitating execution of the one of the plurality of recovery alternatives includes:

executing the one of the plurality of recovery alternatives;

measuring an effectiveness of executing the one of the plurality of recovery alternatives; and

selecting a next most favorable recovery alternative for execution when the measured effectiveness indicates that a level of abatement of the storage error has not been reached.

19. The processing system of claim 18 , wherein facilitating execution of the one of the plurality of recovery alternatives further includes:

measuring a resource utilization level of executing the one of the plurality of recovery alternatives; and

saving the measured effectiveness and the measured resource utilization level in a historical record;

wherein determining the plurality of cost-benefit factors is based on at least one previously measured effectiveness and at least one previously measured resource utilization level of at least one previous execution of at least one of the plurality of recovery alternatives, wherein the at least one previously measured effectiveness and the at least one previously measured resource utilization level are retrieved from the historical record.

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 includes a processor and a memory, causes the processing system to:

detect a storage error associated with storage of at least one encoded data slice in at least one memory of an associated storage unit of a set of storage units;

determine error parameters associated with the storage error;

identify a plurality of recovery alternatives to abate the storage error based on the error parameters;

determine a plurality of cost-benefit factors that correspond to the plurality of recovery alternatives;

select one of the plurality of recovery alternatives based on the plurality of cost-benefit factors; and

facilitate execution of the one of the plurality of recovery alternatives to abate the storage error.

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 Dec 18, 2017
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044416/0552 →
Continuity (4)
Continuation In Part 15837705 · Dec 11, 2017
Continuation In Part 15006735 · Jan 26, 2016
Provisional Application 62140861 · Mar 31, 2015
Related Publication 20180107544A1 · Apr 19, 2018
Cited By (5)
US 12,204,403 US 12,242,337 US 12,346,561 US 12,405,857 US 12,417,176