IP Library Granted Patent US 9,465,824
Granted Patent B2
US 9,465,824 · App. 13/874,088 · Granted Oct 11, 2016

Rebuilding an encoded data slice within 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 9,465,824
App. No.
13/874,088
Granted
Oct 11, 2016
Kind
B2
Abstract

A method begins with a computing device of a dispersed storage network (DSN) determining that an encoded data slice of a set of encoded data slices requires rebuilding and sending partial rebuild requests to storage units of the DSN. The method continues with one of the storage units generating a partial rebuilt slice based one or more encoded data slices of the set of encoded data slices stored by the one of the storage units and securing the partial rebuilt slice using a shared secret scheme that is shared among the storage units to produce a secured partial rebuilt slice. The method continues with the computing device receiving a set of secured partial rebuilt slices from the storage units, recovering a set of partial rebuilt slices from the set of secured partial rebuilt slices, and rebuilding the encoded data slice from the set of partial rebuilt slices.

Claims (58)

1. A method comprises:

determining, by a computing device of a dispersed storage network (DSN), that an encoded data slice of a set of encoded data slices requires rebuilding, wherein a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices;

sending, by the computing device, partial rebuild requests to storage units of the DSN, wherein the set of encoded data slices are distributedly stored within the storage units, wherein the partial rebuild requests include identity of the storage units and are generated by the computing device;

generating, by one of the storage units, a partial rebuilt slice based one or more encoded data slices of the set of encoded data slices stored by the one of the storage units;

securing, by the one of the storage units, the partial rebuilt slice using a shared secret scheme that is shared among the storage units to produce a secured partial rebuilt slice, wherein the shared secret scheme includes using shared secret values of other storage units to produce the secured partial rebuilt slice;

receiving, by the computing device, a set of secured partial rebuilt slices from the storage units;

recovering, by the computing device, a set of partial rebuilt slices from the set of secured partial rebuilt slices based on the shared secret values of the storage units; and

rebuilding, by the computing device, the encoded data slice from the set of partial rebuilt slices.

2. The method of claim 1 , wherein the computing device determining that the encoded data slice requires rebuilding further comprises:

identifying the storage units from a plurality of storage units of the DSN for facilitating the rebuilding.

3. The method of claim 1 , wherein the one of the storage units generating the partial rebuilt slice comprises:

obtaining an encoding matrix associated with the error coding dispersal storage function;

reducing the encoding matrix for generating the partial rebuilt slice to produce a reduced matrix;

inverting the reduced matrix to produce a partial decode matrix; and

generating the partial rebuilt slice based on the partial decode matrix and the one or more encoded data slices of the set of encoded data slices stored by the one of the storage units.

4. The method of claim 1 , wherein the one of the storage units generating the partial rebuilt slice comprises:

providing a copy of the one or more encoded data slices as the partial rebuilt slice.

5. The method of claim 1 , wherein the one of the storage units securing the partial rebuilt slice further comprises:

identifying a common shared secret value that is commonly shared by the storage units and the computing device; and

securing the partial rebuilt slice using the common shared secret value.

6. The method of claim 1 , wherein the one of the storage units securing the partial rebuilt slice further comprises:

identifying a unique shared secret value that is commonly shared by the one of the storage units and the computing device; and

securing the partial rebuilt slice using the unique shared secret value.

7. The method of claim 1 , wherein the recovering the set of partial rebuilt slices comprises:

exclusive ORing the set of secure partial rebuilt slices with the shared secret values of the storage units, wherein the computing device received 2*n copies of each of the shared secret values, and wherein n is greater than or equal to one.

8. The method of claim 1 , wherein the computing device recovers the set of partial rebuilt slices further comprises at least one of:

decrypting the set of secured partial rebuilt slices using a common shared secret value, wherein the common shared secret value that is commonly shared by the storage units and the computing device; and

performing a mathematical function on the set of secured partial rebuilt slices using the common shared secret value.

9. A dispersed storage network (DSN) comprises:

a computing device that includes a processing module and memory; and

storage units, wherein each storage unit of the storage units includes a storage processing module and storage memory, wherein:

the processing module determines that an encoded data slice of a set of encoded data slices requires rebuilding, wherein a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices;

the processing module sends partial rebuild requests to the storage units, wherein the set of encoded data slices are distributedly stored within the storage units, herein the partial rebuild requests include identity of the storage units and are generated by the processing module;

a storage processing module of one of the storage units generates a partial rebuilt slice based on one or more encoded data slices of the set of encoded data slices stored in a storage memory of the one of the storage units;

the storage processing module of the one of the storage units secures the partial rebuilt slice using a shared secret scheme that is shared among the storage units to produce a secured partial rebuilt slice, wherein the shared secret scheme includes using shared secret values of other storage units to produce the secured partial rebuilt slice;

the processing module receives a set of secured partial rebuilt slices from the storage units;

the processing module recovers a set of partial rebuilt slices from the set of secured partial rebuilt slices based on the shared secret values of the storage units; and

the processing module rebuilds the encoded data slice from the set of partial rebuilt slices.

10. The DSN of claim 9 , wherein the processing module further determines that the encoded data slice requires rebuilding by:

identifying the storage units from a plurality of storage units of the DSN for facilitating the rebuilding.

11. The DSN of claim 9 , wherein the storage processing module of the one of the storage units generates the partial rebuilt slice by:

obtaining an encoding matrix associated with the error coding dispersal storage function;

reducing the encoding matrix for generating the partial rebuilt slice to produce a reduced matrix;

inverting the reduced matrix to produce a partial decode matrix; and

generating the partial rebuilt slice based on the partial decode matrix and the one or more encoded data slices of the set of encoded data slices stored in the storage memory of the one of the storage units.

12. The DSN of claim 9 , wherein the storage processing module of the one of the storage units generates the partial rebuilt slice by:

providing a copy of the one or more encoded data slices, from the storage memory of the one of the storage units, as the partial rebuilt slice.

13. The DSN of claim 9 , wherein the storage processing module of the one of the storage units further secures the partial rebuilt slice by:

identifying a common shared secret value that is commonly shared by the storage units and the computing device; and

securing the partial rebuilt slice using the common shared secret value.

14. The DSN of claim 9 , wherein the storage processing module of the one of the storage units further secures the partial rebuilt slice by:

identifying a unique shared secret value that is commonly shared by the one of the storage units and the computing device; and

securing the partial rebuilt slice using the unique shared secret value.

15. The DSN of claim 9 , wherein the processing module recovers the set of partial rebuilt slices by:

exclusive ORing the set of secured partial rebuilt slices with the shared secret values of the storage units, wherein the computing device received 2*n copies of each of the shared secret values, and wherein n is greater than or equal to one.

16. The DSN of claim 9 , wherein the processing module further recovers the set of partial rebuilt slices by at least one of:

decrypting the set of secured partial rebuilt slices using a common shared secret value, wherein the common shared secret value that is commonly shared by the storage units and the computing device; and

performing a mathematical function on the set of secured partial rebuilt slices using the common shared secret value.

Assignments (6)
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 May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2013
From: RESCH, JASON K.; DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 030324/0595 →