IP Library Patent Application 15845126
Patent Application
App. No. 15/845,126

REBUILDING ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK

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 None
App. No.
15/845,126
Abstract

A method for execution by a computing device includes determine whether to utilize a wide area network (WAN) to rebuild an encoded data slice for a memory associated with a storage unit to be located at a site of a plurality of sites. A subset of the plurality of sites associated with storage of a decode threshold number of slices associated with the encoded data slice is identified when it is determined to not utilize the WAN. The memory of the storage unit is temporarily co-located at each site of the subset, where partial slices for the encoded data slice are generated by other storage units at the sites utilizing locally stored encoded data slices, and where the storage unit performs a function on each partial slice and a previous representation of previously received partial slices to produce an updated representation of previously received partial slices.

Claims (47)

1 . A method for execution by a computing device that includes a processor, the method comprises:

determining whether to utilize a wide area network (WAN) to rebuild an encoded data slice for a memory associated with a first storage unit to be located at a site of a plurality of sites utilized by a set of storage units that includes the first storage unit; and

identifying a subset of the plurality of sites associated with storage of a decode threshold number of encoded data slices of a set of encoded data slices that includes the encoded data slice when determining to not utilize the WAN;

wherein the memory of the first storage unit is temporarily co-located at each site of the subset of the plurality of sites in a sequence, one at a time, and wherein, for each site of the subset of the plurality of sites:

another storage unit associated with the each site generates a partial slice for the encoded data slice to be rebuilt utilizing a locally stored encoded data slice of the decode threshold number of encoded data slices for transmission to the first storage unit when the first storage unit is located at the each site;

wherein, in response to receiving the partial slice, the first storage unit performs a function on the partial slice and a previous representation of previously received partial slices to produce an updated representation of previously received partial slices;

wherein the updated representation of previously received partial slices produced at a final site of the subset of the plurality of sites includes the encoded data slice.

2 . The method of claim 1 , wherein determining whether to utilize the WAN includes indicating to use the WAN when a number of encoded data slices that can be rebuilt is greater than a maximum rebuilding threshold level.

3 . The method of claim 1 , wherein determining whether to utilize the WAN includes indicating to use a local area network when a WAN utilization level is greater than a maximum WAN utilization threshold level.

4 . The method of claim 1 , wherein identifying the subset of the plurality of sites includes interpreting system registry information.

5 . The method of claim 1 , wherein the another storage unit associated with the each site of the subset of the plurality of sites generates the partial slice by:

retrieving the locally stored encoded data slice;

obtaining partial encoding parameters; and

partially encoding the locally stored encoded data slice utilizing the partial encoding parameters to produce the partial slice.

6 . The method of claim 1 , wherein the first storage unit produces the updated representation of previously received partial slices by performing a logical addition on the partial slice and the previous representation of previously received partial slices.

7 . The method of claim 6 , wherein the logical addition includes an exclusive OR function.

8 . The method of claim 1 , wherein, for each site of the subset of the plurality of sites, the first storage unit facilitates storage of the updated representation of previously received partial slices in the memory, and wherein the updated representation of previously received partial slices is retrieved from memory by the first storage unit for a next site of the subset of the plurality of sites in the sequence to be utilized as the previous representation of previously received partial slices.

9 . The method of claim 1 , wherein the first storage unit indicates to move the memory to a next site of the plurality of sites in the sequence in response to producing the updated representation of previously received partial slices and in further response to determining that at least one of the subset of the plurality of sites is remaining in the sequence.

10 . The method of claim 1 , wherein the set of encoded data slices 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.

11 . A processing system of a computing device 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:

determine whether to utilize a wide area network (WAN) to rebuild an encoded data slice for a memory associated with a first storage unit to be located at a site of a plurality of sites utilized by a set of storage units that includes the first storage unit; and

identify a subset of the plurality of sites associated with storage of a decode threshold number of encoded data slices of a set of encoded data slices that includes the encoded data slice when determining to not utilize the WAN;

wherein the memory of the first storage unit is temporarily co-located at each site of the subset of the plurality of sites in a sequence, one at a time, and wherein, for each site of the subset of the plurality of sites:

another storage unit associated with the each site generates a partial slice for the encoded data slice to be rebuilt utilizing a locally stored encoded data slice of the decode threshold number of encoded data slices for transmission to the first storage unit when the first storage unit is located at the each site;

wherein, in response to receiving the partial slice, the first storage unit performs a function on the partial slice and a previous representation of previously received partial slices to produce an updated representation of previously received partial slices;

wherein the updated representation of previously received partial slices produced at a final site of the subset of the plurality of sites includes the encoded data slice.

12 . The processing system of claim 11 , wherein determining whether to utilize the WAN includes indicating to use the WAN when a number of encoded data slices that can be rebuilt is greater than a maximum rebuilding threshold level.

13 . The processing system of claim 11 , wherein determining whether to utilize the WAN includes indicating to use a local area network when a WAN utilization level is greater than a maximum WAN utilization threshold level.

14 . The processing system of claim 11 , wherein the another storage unit associated with the each site of the subset of the plurality of sites generates the partial slice by:

retrieving the locally stored encoded data slice;

obtaining partial encoding parameters; and

partially encoding the locally stored encoded data slice utilizing the partial encoding parameters to produce the partial slice.

15 . The processing system of claim 11 , wherein the first storage unit produces the updated representation of previously received partial slices by performing a logical addition on the partial slice and the previous representation of previously received partial slices.

16 . The processing system of claim 15 , wherein the logical addition includes an exclusive OR function.

17 . The processing system of claim 11 , wherein, for each site of the subset of the plurality of sites, the first storage unit facilitates storage of the updated representation of previously received partial slices in the memory, and wherein the updated representation of previously received partial slices is retrieved from memory by the first storage unit for a next site of the subset of the plurality of sites in the sequence to be utilized as the previous representation of previously received partial slices.

18 . The processing system of claim 11 , wherein the first storage unit indicates to move the memory to a next site of the plurality of sites in the sequence in response to producing the updated representation of previously received partial slices and in further response to determining that at least one of the subset of the plurality of sites is remaining in the sequence.

19 . The processing system of claim 11 , wherein the set of encoded data slices 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.

20 . A 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:

determine whether to utilize a wide area network (WAN) to rebuild an encoded data slice for a memory associated with a first storage unit to be located at a site of a plurality of sites utilized by a set of storage units that includes the first storage unit; and

identify a subset of the plurality of sites associated with storage of a decode threshold number of encoded data slices of a set of encoded data slices that includes the encoded data slice when determining to not utilize the WAN;

wherein the memory of the first storage unit is temporarily co-located at each site of the subset of the plurality of sites in a sequence, one at a time, and wherein, for each site of the subset of the plurality of sites:

another storage unit associated with the each site generates a partial slice for the encoded data slice to be rebuilt utilizing a locally stored encoded data slice of the decode threshold number of encoded data slices for transmission to the first storage unit when the first storage unit is located at the each site;

wherein, in response to receiving the partial slice, the first storage unit performs a function on the partial slice and a previous representation of previously received partial slices to produce an updated representation of previously received partial slices;

wherein the updated representation of previously received partial slices produced at a final site of the subset of the plurality of sites includes the encoded data slice.

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 Dec 20, 2017
From: COCAGNE, THOMAS D.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044444/0425 →