IP Library Granted Patent US 8,521,697
Granted Patent B2
US 8,521,697 · App. 13/105,094 · Granted Aug 27, 2013

Rebuilding data in multiple dispersed storage networks

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 8,521,697
App. No.
13/105,094
Granted
Aug 27, 2013
Kind
B2
Abstract

A method begins by a processing module determining a slice name of an encoded slice to be rebuilt within a first dispersed storage network (DSN). The method continues with the processing module determining whether a corresponding copy of the encoded slice is stored in a second DSN. The method continues with the processing module retrieving the corresponding copy of the encoded slice from the second DSN and storing the corresponding copy of the encoded slice as a rebuilt encoded slice within the first DSN when the corresponding copy of the encoded slice is stored in the second DSN.

Claims (59)

1. A method comprising:

determining a slice name of an encoded slice to be rebuilt within a first dispersed storage network (DSN);

determining that the first DSN and a second DSN are each storing an encoded copy of a data file;

determining that the first and second DSNs utilizes a different set of error coding dispersal storage parameters but similar decoding thresholds to produce the encoded copy of the data file that includes a plurality of sets of encoded slices;

determining whether the encoded slice is an encoded data slice or an encoded parity slice of the plurality of sets of encoded slices;

when the encoded slice is the encoded data slice, retrieving a corresponding copy of an encoded data slice from the second DSN as a corresponding copy of the encoded slice; and

storing the corresponding copy of the encoded slice as a rebuilt encoded slice within the first DSN.

2. The method of claim 1 further comprises, when the encoded slice is the encoded parity slice:

requesting a set of encoded slices from at least one of the first and second DSNs, wherein the set of encoded slices includes the encoded slice; and

when a decode threshold number of encoded slices of the set of encoded slices are received to produce received encoded slices, rebuilding the encoded slice from the received encoded slices.

3. The method of claim 2 , wherein the requesting the set of encoded slices comprises:

determining whether to request the set of slices from the first DSN, the second DSN, or a combination of the first and second DSNs based on network status.

4. The method of claim 2 further comprises:

the first DSN requesting the set of encoded slices from the at least one of the first and second DSNs;

the first DSN receiving the received encoded slices from the at least one of the first and second DSNs;

the first DSN rebuilding the encoded slice from the received encoded slices to produce the rebuilt encoded slice; and

the first DSN storing the rebuilt encoded slice.

5. The method of claim 2 further comprises:

the second DSN requesting the set of encoded slices from the at least one of the first and second DSNs;

the second DSN receiving the received encoded slices from the at least one of the first and second DSNs;

the second DSN rebuilding the encoded slice from the received encoded slices to produce the rebuilt encoded slice;

the second DSN sending the rebuilt encoded slice to the first DSN; and

the first DSN storing the rebuilt encoded slice.

6. The method of claim 1 , wherein the determining the slice name of the encoded slice to be rebuilt comprises at least one of:

determining a slice name of a missing encoded slice as the slice name of the encoded slice to be rebuilt;

determining a slice name of an encoded slice associated with an unfavorable integrity indication to produce the slice name of the encoded slice to be rebuilt;

determining a slice name of an encoded slice associated with an unfavorable comparison of retrieved replicated encoded slices from two or more DSNs to produce the slice name of the encoded slice to be rebuilt; and

receiving the slice name of the encoded slice to be rebuilt.

7. A computer comprising:

an interface;

a memory; and

a processing module operable to:

determine a slice name of an encoded slice to be rebuilt within a first dispersed storage network (DSN);

determine that the first DSN and a second DSN are each storing an encoded copy of a data file;

determine that the first and second DSNs utilizes a different set of error coding dispersal storage parameters but similar decoding thresholds to produce the encoded copy of the data file that includes a plurality of sets of encoded slices;

determine whether the encoded slice is an encoded data slice or an encoded parity slice of the plurality of sets of encoded slices;

when the encoded slice is the encoded data slice, retrieve a corresponding copy of an encoded data slice from the second DSN as a corresponding copy of the encoded slice; and

store, via interface, the corresponding copy of the encoded slice as a rebuilt encoded slice within the first DSN.

8. The computer of claim 7 , wherein when the encoded slice is the encoded parity slice the processing module further functions to:

request, via the interface, a set of encoded slices from at least one of the first and second DSNs, wherein the set of encoded slices includes the encoded slice; and

when a decode threshold number of encoded slices of the set of encoded slices are received, via the interface, to produce received encoded slices, rebuilding the encoded slice from the received encoded slices.

9. The computer of claim 8 , wherein the processing module functions to request the set of encoded slices by:

determining whether to request the set of slices, via the interface, from the first DSN, the second DSN, or a combination of the first and second DSNs based on network status.

10. The computer of claim 8 , wherein the processing module further functions to:

request, via the interface, by the first DSN, the set of encoded slices from the at least one of the first and second DSNs;

receive, via the interface, by the first DSN, the received encoded slices from the at least one of the first and second DSNs;

rebuild, by the first DSN, the encoded slice from the received encoded slices to produce a rebuilt encoded slice; and

store, via the interface, by the first DSN, the rebuilt encoded slice.

11. The computer of claim 8 , wherein the processing module further functions to:

request, via the interface, by the second DSN, the set of encoded slices from the at least one of the first and second DSNs;

receive, via the interface, by the second DSN, the received encoded slices from the at least one of the first and second DSNs;

rebuild, by the second DSN, the encoded slice from the received encoded slices to produce a rebuilt encoded slice;

send, via the interface, by the second DSN, the rebuilt encoded slice to the first DSN; and

store, via the interface, by the first DSN, the rebuilt encoded slice.

12. The computer of claim 7 , wherein the processing module functions to determine the slice name of the encoded slice to be rebuilt by at least one of:

determining a slice name of a missing encoded slice as the slice name of the encoded slice to be rebuilt;

determining a slice name of an encoded slice associated with an unfavorable integrity indication to produce the slice name of the encoded slice to be rebuilt;

determining a slice name of an encoded slice associated with an unfavorable comparison of retrieved replicated encoded slices from two or more DSNs to produce the slice name of the encoded slice to be rebuilt; and

receiving, via the interface, the slice name of the encoded slice to be rebuilt.

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 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2011
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 026262/0314 →