IP Library Granted Patent US 10,031,809
Granted Patent B2
US 10,031,809 · App. 15/215,418 · Granted Jul 24, 2018

Efficient method for rebuilding a set of encoded data slices

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,031,809
App. No.
15/215,418
Granted
Jul 24, 2018
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module identifying an encoded slice requiring rebuilding. The method continues by the DS processing module determining whether the encoded data slice is part of a fan-out encoded data slice group and, when it is part of a fan-out encoded data slice group determining by the DS processing module whether a valid encoded data slice of the fan-out data slice group is available. When a copy of the encoded data slice of the fan-out encoded data slice group is not available, the method continues by the DS processing module rebuilding the encoded data slice. A storage unit then stores the rebuilt encoded data slice and creates copies of the rebuilt encoded data slice to produce a rebuilt fan-out encoded data slice group.

Claims (37)

1. A method comprises:

identifying, by a device of a dispersed storage network (DSN), an encoded data slice requiring rebuilding, wherein the encoded data slice is part of a set of encoded data slices produced by performing a dispersed storage error encoding function on a data segment;

determining, by the device, whether the encoded data slice is part of a fan-out encoded data slice group in which one or more copies of the encoded data slice are stored in the DSN;

when the encoded data slice is part of the fan-out encoded data slice group:

determining, by the device, whether a valid encoded data slice of the fan-out encoded data slice group is available for retrieval from memory of the DSN;

when a valid encoded data slice of the fan-out encoded data slice group is not available, rebuilding, by the device or another device, the encoded data slice to produce a rebuilt encoded data slice;

storing, by a storage unit of the DSN, the rebuilt encoded data slice;

and creating, by the storage unit, one or more copies of the rebuilt encoded data slice to produce a rebuilt fan-out encoded data slice group.

2. The method of claim 1 , further comprising propagating storage of the one or more copies of the rebuilt encoded data slice within the storage unit when the valid encoded data slice of the fan-out encoded data slice group is not available.

3. The method of claim 1 , further comprising propagating storage of the one or more copies of the rebuilt encoded data slice to other storage units with the same pillar number as the encoded data slice when the valid encoded data slice of the fan-out encoded data slice group is not available.

4. The method of claim 1 , where the number of copies of the encoded data slice in the fan-out encoded data slice group is based on at least one of data embedded in a fan-out request, a rebuild request, or a slice name.

5. The method of claim 1 , where a storage location of the one or more copies of the rebuilt encoded data slice in the rebuilt fan-out encoded data slice group is based on at least one of data embedded in a fan-out request, a rebuild request, or a slice name.

6. The method of claim 1 , further comprising rebuilding the encoded data slice without creating copies of the rebuilt encoded data slice when the encoded data slice requiring rebuilding is determined not to be part of a fan-out encoded data slice group.

7. The method of claim 1 , further comprising replacing the encoded data slice requiring rebuilding with a valid encoded data slice of the fan-out encoded data slice group when the valid encoded data slice is available.

8. The method of claim 1 , wherein the requiring the rebuilding of the encoded data slice is based on the storage unit not having received the encoded data slice or a determination that the encoded data slice is corrupt.

9. The method of claim 1 , wherein rebuilding the encoded data slice to produce a rebuilt encoded data slice is completed before creating the one or more copies of the rebuilt encoded data slice to reproduce the rebuilt fan-out encoded data slice group.

10. The method of claim 1 , wherein determining whether the encoded data slice requiring rebuilding is part of a fan-out encoded data slice group comprises at least one of using a look-up table, accessing a slice name of the encoded data slice, or accessing a rebuild message.

11. The method of claim 1 , wherein the encoded data slice is one of a decode threshold number of encoded data slices of the set of encoded data slices for which a respective fan-out encoded data slice group is stored in the DSN.

12. A computer readable memory comprises:

a first memory element that stores operational instructions that, when executed by a computing device of a dispersed storage network (DSN), causes the computing device to:

determine that an encoded data slice requires rebuilding, wherein the encoded data slice is part of a set of encoded data slices produced by performing a dispersed storage error encoding function on a data segment;

determine whether the encoded data slice requiring rebuilding is part of a fan-out encoded data slice group in which one or more copies of the encoded data slice are stored in the DSN;

when the encoded data slice is determined to be part of the fan-out encoded data slice group:

determine whether a valid encoded data slice of the fan-out encoded data slice group is available for retrieval from memory of the DSN;

when a valid encoded data slice of the fan-out encoded data slice group is not available, rebuild the encoded data slice to produce a rebuilt encoded data slice;

a second memory element that stores operational instructions that, when executed by a storage unit of the DSN, causes the storage unit to:

direct the storage unit to store the rebuilt encoded data slice; and

create one or more copies of the rebuilt encoded data slice to produce a rebuilt fan-out encoded data slice group.

13. The computer readable memory of claim 12 wherein the second memory element further causes the storage unit to propagate the one or more copies of the rebuilt encoded data slice within the storage unit.

14. The computer readable memory of claim 12 wherein the second memory element further causes the storage unit to propagate storage of the one or more copies of the rebuilt encoded data slice to other storage units associated with the same pillar number as the encoded data slice.

15. The computer readable memory of claim 12 wherein the first memory element further causes the computing device to access data embedded in an encoded data slice name associated with the encoded data slice to determine the number of copies of the rebuilt encoded data slice in the fan-out encoded data slice group.

16. The computer readable memory of claim 12 wherein the first memory element further causes the computing device to access data embedded in an encoded data slice name associated with the encoded data slice to determine a storage location of one or more encoded data slice copies in the fan-out encoded data slice group.

17. The computer readable memory of claim 12 , wherein when a valid encoded data slice of the fan-out encoded data slice group is available the first memory element further causes the computing device to replace the encoded data slice requiring rebuilding with the valid encoded data slice.

18. The computer readable memory of claim 12 , wherein the first memory element further causes the computing device to determine that the encoded data slice requires rebuilding based on the storage unit not having received the encoded data slice or a determination that the encoded data slice is corrupt.

19. The computer readable memory of claim 12 , wherein the second memory element further causes the storage unit to:

rebuild the encoded data slice to produce a rebuilt encoded data slice is completed before creating the one or more copies of the rebuilt encoded data slice to reproduce the rebuilt fan-out encoded data slice group.

20. The computer readable memory of claim 12 , wherein the first memory element further accesses a look-up table to determine whether the encoded data slice requiring rebuilding is part of a fan-out encoded data slice group.

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 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2016
From: KAZI, ASIMUDDIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039202/0934 →