IP Library Granted Patent US 10,387,080
Granted Patent B2
US 10,387,080 · App. 16/170,106 · Granted Aug 20, 2019

Rebuilding slices in a dispersed storage network

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,387,080
App. No.
16/170,106
Granted
Aug 20, 2019
Kind
B2
Abstract

A method for use in a dispersed storage network operates to select a recovery of selected ones of one or more first sets of encoded data slices in response to detecting a storage error associated with the selected ones of the one or more first sets of encoded data slices; issue requests for a second decode threshold number of encoded data slices of selected ones of one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices; encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and facilitate storage of the one or more rebuilt encoded data slices.

Claims (44)

1. A method for execution by a processing system of a dispersed storage and task (DST) integrity processing unit that includes a processor, the method comprises:

detecting a storage error associated with selected ones of one or more first sets of encoded data slices, wherein data is stored as the one or more first sets of encoded data slices in a plurality of dispersed storage and task execution (DSTE) units, the one or more first sets of encoded data slices encoded utilizing a first information dispersal algorithm (IDA) having a first decode threshold number, wherein the data is also stored as one or more second sets of encoded data slices in a subset of the plurality of DSTE units, the one or more second sets of encoded data slices encoded utilizing a second IDA having a second decode threshold number;

issuing requests for a second decode threshold number of encoded data slices of selected ones of the one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices;

decoding the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices;

encoding the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and

facilitating storage of the one or more rebuilt encoded data slices.

2. The method of claim 1 further comprising:

identifying that the data is also stored as the one or more second sets of encoded data slices in the subset of the plurality of DSTE units.

3. The method of claim 1 further comprising:

identifying that the second decode threshold number is less than the first decode threshold number.

4. The method of claim 1 wherein issuing the requests for the second decode threshold number of encoded data slices includes identifying one or more of the subset of the plurality of DSTE units, generating read slice requests, and sending the read slice requests to the one or more of the subset of the plurality of DSTE units.

5. The method of claim 1 wherein decoding the second decode threshold number of encoded data slices includes identifying second IDA parameters for the second decode threshold number of encoded data slices, the IDA parameters corresponding to the second IDA, and dispersed storage error decoding the second decode threshold number of encoded data slices utilizing the second IDA parameters to produce the recovered data.

6. The method of claim 1 wherein encoding the recovered data includes identifying the first IDA parameters and utilizing the first IDA parameters to produce the rebuilt encoded data slice.

7. The method of claim 1 wherein facilitating the storage of the rebuilt encoded data slice includes identifying one or more of the plurality of DSTE units associated with the selected ones of the one or more first sets of encoded data slices and sending the rebuilt encoded data slice to the one or more of the plurality of DSTE units for storage.

8. A processing system of a first dispersed storage and task (DST) 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 perform operations including:

detecting a storage error associated with selected ones of one or more first sets of encoded data slices, wherein data is stored as the one or more first sets of encoded data slices in a plurality of dispersed storage and task execution (DSTE) units, the one or more first sets of encoded data slices encoded utilizing a first information dispersal algorithm (IDA) having a first decode threshold number, wherein the data is also stored as one or more second sets of encoded data slices in a subset of the plurality of DSTE units, the one or more second sets of encoded data slices encoded utilizing a second IDA having a second decode threshold number;

issue requests for a second decode threshold number of encoded data slices of selected ones of the one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices;

decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices;

encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and

facilitate storage of the one or more rebuilt encoded data slices.

9. The processing system of claim 8 wherein the operations further include:

identifying that the data is also stored as the one or more second sets of encoded data slices in the subset of the plurality of DSTE units.

10. The processing system of claim 8 wherein the operations further include:

identifying that the second decode threshold number is less than the first decode threshold number.

11. The processing system of claim 8 wherein issuing the requests for the second decode threshold number of encoded data slices includes identifying one or more of the subset of the plurality of DSTE units, generating read slice requests, and sending the read slice requests to the one or more of the subset of the plurality of DSTE units.

12. The processing system of claim 8 wherein decoding the second decode threshold number of encoded data slices includes identifying second IDA parameters for the second decode threshold number of encoded data slices, the IDA parameters corresponding to the second IDA, and dispersed storage error decoding the second decode threshold number of encoded data slices utilizing the second IDA parameters to produce the recovered data.

13. The processing system of claim 8 wherein encoding the recovered data includes identifying the first IDA parameters and utilizing the first IDA parameters to produce the rebuilt encoded data slice.

14. The processing system of claim 8 wherein facilitating the storage of the rebuilt encoded data slice includes identifying one or more of the plurality of DSTE units associated with the selected ones of the one or more first sets of encoded data slices and sending the rebuilt encoded data slice to the one or more of the plurality of DSTE units for storage.

15. 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 perform operations that include:

detecting a storage error associated with selected ones of one or more first sets of encoded data slices, wherein data is stored as the one or more first sets of encoded data slices in a plurality of dispersed storage and task execution (DSTE) units, the one or more first sets of encoded data slices encoded utilizing a first information dispersal algorithm (IDA) having a first decode threshold number, wherein the data is also stored as one or more second sets of encoded data slices in a subset of the plurality of DSTE units, the one or more second sets of encoded data slices encoded utilizing a second IDA having a second decode threshold number;

issue requests for a second decode threshold number of encoded data slices of selected ones of the one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices;

decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices;

encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and

facilitate storage of the one or more rebuilt encoded data slices.

16. The non-transitory computer readable storage medium of claim 15 wherein the operations further include:

identifying that the data is also stored as the one or more second sets of encoded data slices in the subset of the plurality of DSTE units and identifying that the second decode threshold number is less than the first decode threshold number.

17. The non-transitory computer readable storage medium of claim 15 wherein the operations further include:

identifying one or more of the subset of the plurality of DSTE units, generating read slice requests, and sending the read slice requests to the one or more of the subset of the plurality of DSTE units.

18. The non-transitory computer readable storage medium of claim 15 wherein decoding the second decode threshold number of encoded data slices includes identifying second IDA parameters for the second decode threshold number of encoded data slices, the IDA parameters corresponding to the second IDA, and dispersed storage error decoding the second decode threshold number of encoded data slices utilizing the second IDA parameters to produce the recovered data.

19. The non-transitory computer readable storage medium of claim 15 wherein encoding the recovered data includes identifying the first IDA parameters and utilizing the first IDA parameters to produce the rebuilt encoded data slice.

20. The non-transitory computer readable storage medium of claim 15 wherein facilitating the storage of the rebuilt encoded data slice includes identifying one or more of the plurality of DSTE units associated with the selected ones of the one or more first sets of encoded data slices and sending the rebuilt encoded data slice to the one or more of the plurality of DSTE units for storage.

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 Sep 20, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 050451/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; HORAN, SCOTT M.; KHADIWALA, RAVI V.; LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.; VIRARAGHAVAN, PRAVEEN; VOLVOVSKI, ILYA; VOSSBERG, TREVOR J.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047306/0829 →