IP Library Granted Patent US 11,650,883
Granted Patent B2
US 11,650,883 · App. 17/660,890 · Granted May 16, 2023

Batch rebuilding a set of encoded data slices

Inventors: Niall J. McShane (Arlington Heights, IL); Andrew D. Baptist (Mt. Pleasant, WI); Ravi V. Khadiwala (Bartlett, IL)
Assignee: Pure Storage, Inc.
G06F11/1435G06F3/064G06F3/067G06F3/0619G06F11/1076H03M13/353H04L67/1097G06F2211/1028
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 11,650,883
App. No.
17/660,890
Granted
May 16, 2023
Kind
B2
Abstract

A method includes, determining, for a batch rebuild process regarding a first batch threshold number of encoded data slices of a set of encoded data slices that need rebuilding, a target storage unit of target storage units of a set of storage units of the storage network is unavailable, where a data segment of data is dispersed storage error encoded into the set of encoded data slices, the set of encoded data slices is stored in the set of storage units, and the first batch threshold number of encoded data slices is to be stored in the target storage units. When the target storage unit becomes available before a second batch rebuild threshold number of encoded data slices of the set of encoded data slices is met, the method includes executing the batch rebuild process for the first batch threshold number of encoded data slices.

Claims (38)

1. A method comprises:

determining, by a computing device of a storage network and for a batch rebuild process regarding a first batch rebuild threshold number of encoded data slices of a set of encoded data slices that need rebuilding, a target storage unit of target storage units of a set of storage units of the storage network is unavailable, wherein:

a data segment of data is dispersed storage error encoded into the set of encoded data slices;

the set of encoded data slices is stored in the set of storage units; and

the first batch rebuild threshold number of encoded data slices is to be stored in the target storage units; and

when the target storage unit becomes available before a second batch rebuild threshold number of encoded data slices of the set of encoded data slices is met, executing by the computing device, the batch rebuild process for the first batch threshold number of encoded data slices.

2. The method of claim 1 further comprises:

when the second batch rebuild threshold number is met while the target storage unit is unavailable:

executing, by the computing device, a second batch rebuild process regarding the second batch rebuild threshold number of encoded data slices.

3. The method of claim 2 further comprises:

selecting a foster storage unit for the target storage unit, wherein the foster storage unit stores an encoded data slice of the second batch rebuild threshold number of encoded data slices that was mapped to be stored in the unavailable target storage unit.

4. The method of claim 3 further comprises:

identifying encoded data slices of the set of encoded data slices that need rebuilding.

5. The method of claim 4 further comprises:

when a number of the identified encoded data slices that need rebuilding is equal to the first batch rebuild threshold number, determining to initiate the batch rebuild process; and

when the number of the identified encoded data slices that need rebuilding is equal to the second batch rebuild threshold number, determining to initiate the second batch rebuild process.

6. The method of claim 4 , wherein when the number of the identified encoded data slices is less than the first batch rebuild threshold number, queueing the identified encoded data slices for the batch rebuild process.

7. The method of claim 4 , wherein the identifying comprises:

determining a storage unit storing one of the encoded data slices is unavailable.

8. The method of claim 4 , wherein the identifying comprises:

determining one of the encoded data slices is corrupt.

9. The method of claim 4 , wherein the identifying comprises:

determining one of the encoded data slices is missing.

10. The method of claim 4 , wherein the identifying comprises:

determining one of the encoded data slices is flagged for rebuilding.

11. The method of claim 1 further comprises:

when the target storage units are available:

executing the batch rebuild process for the first batch threshold number of encoded data slices.

12. The method of claim 11 , wherein the executing of the batch rebuild process comprises:

retrieving, from the set of storage units, a decode threshold number of encoded data slices of the set of encoded data slices, wherein the decode threshold number of encoded data slices is a minimum number of encoded data slices that are needed to reconstruct the data segment;

dispersed storage error decoding the decode threshold number of encoded data slices to reconstruct the data segment;

dispersed storage error encoding the reconstructed data segment to produce a number of new encoded data slices; and

storing the number of the new encoded data slices in the target storage units.

13. The method of claim 1 , wherein the first batch rebuild threshold number is equal to a pillar width number of encoded data slices minus a first number.

14. The method of claim 13 , wherein the second batch rebuild threshold number is equal to the pillar width number of encoded data slices minus a second number, wherein the second number is greater than the first number.

15. The method of claim 13 , wherein the first batch rebuild threshold number is greater than a decode threshold number.

16. The method of claim 15 , wherein the second batch rebuild threshold number is equal to the decode threshold number.

17. The method of claim 15 , wherein the second batch rebuild threshold number is greater than the decode threshold number.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2022
From: MCSHANE, NIALL J.; BAPTIST, ANDREW D.; KHADIWALA, RAVI V.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059764/0626 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2022
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 059819/0733 →