IP Library Patent Application 18163377
Patent Application
App. No. 18/163,377

Dynamically Rebuilding Encoded Data Slices in a 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.
18/163,377
Abstract

A method includes identifying a number of encoded data slices that need rebuilding for a memory device of a storage unit of the storage network, where data is dispersed storage error encoded in accordance with error encoding parameters into pluralities of sets of encoded data slices, and the pluralities of sets of encoded data slices include the number of encoded data slices. The method further includes identifying a second memory device of the storage network. The method further includes facilitating rebuilding, by the second memory device, a first group of encoded data slices of the number of encoded data slices. The method further includes facilitating storing a first subset of the first group of encoded data slices in the second memory device. The method further includes facilitating transferring a second subset of the first group of encoded data slices for storage in the memory device.

Claims (72)

1 . A method for execution by one or more computing devices of a storage network, the method comprises:

determining a number of encoded data slices that need rebuilding for a memory device of a storage unit of the storage network, wherein data is dispersed storage error encoded in accordance with error encoding parameters into pluralities of sets of encoded data slices, and wherein the pluralities of sets of encoded data slices include the number of encoded data slices;

identifying a second memory device of the storage network;

facilitating rebuilding, by the second memory device, a first group of encoded data slices of the number of encoded data slices that need rebuilding;

facilitating storing a first subset of the first group of encoded data slices in the second memory device; and

facilitating transferring a second subset of the first group of encoded data slices for storage in the memory device.

2 . The method of claim 1 further comprises:

determining whether the number compares favorably to a rebuild threshold number; and

when the number compares favorably to the rebuild threshold number, performing the identifying the second memory device.

3 . The method of claim 2 further comprises:

when the number compares unfavorably to the rebuild threshold number: rebuilding, by the memory device, the number of encoded data slices; and

storing the number of encoded data slices in the memory device.

4 . The method of claim 2 further comprises:

prior to the identifying the second memory device: determining a network loading level;

comparing the network loading level to a network loading threshold; and

when the network loading level compares favorably to the network loading threshold, identifying one or more other memory devices for performing rebuilding of the number of encoded data slices, wherein the one or more other memory devices includes the second memory device.

5 . The method of claim 1 further comprises:

identifying a third memory device of the one or more other memory devices;

facilitating rebuilding, by the third memory device, a second group of encoded data slices of the number of encoded data slices;

facilitating storing a third subset of the second group of encoded data slices in the third memory device; and

facilitating transferring a fourth subset of the second group of encoded data slices for storage in the memory device.

6 . The method of claim 5 further comprises:

facilitating transferring a fifth subset of the second group of encoded data slices for storage in the second memory device.

7 . The method of claim 1 , wherein the identifying the number of encoded data slices comprises:

scanning, from one or more plurality of sets of encoded data slices to another one or more plurality of sets of encoded data slices, to identify the number of encoded data slices that need rebuilding.

8 . The method of claim 7 , wherein the scanning comprises:

sending list requests to storage units of the storage network, wherein the list requests include a request to list slice names of encoded data slices being stored by the respective storage units;

receiving list responses from the storage units, wherein the list responses includes a list of slices names of encoded data slices that are stored by the respective storage units; and

interpreting the list of slices names of encoded data slices that are stored by the respective storage units to identify the encoded data slices that need rebuilding.

9 . The method of claim 1 further comprises:

determining a rebuilding threshold for the rebuilding the first group of encoded data slices;

monitoring progress of the rebuilding to determine a rebuild level; and

when the rebuilding level exceeds the rebuilding threshold, perform the facilitating transferring.

10 . The method of claim 1 further comprises:

after identifying the second memory device: facilitating associating slice names of the first group of encoded data slices with the second memory device; and

facilitating disassociating the slice names from the memory device; and

after the facilitating the transferring of the second subset: facilitating disassociating slice names of the at least some of the first group of encoded data slices with the second memory device; and

facilitating associating the slice names with the memory device.

11 . The method of claim 1 , wherein the first subset and the second subset includes a common encoded data slice.

12 . A computer readable storage device comprises:

at least one memory section for storing operational instructions that, when executed by one or more computing devices of a storage network, causes the one or more computing devices to:

determine a number of encoded data slices that need rebuilding for a memory device of a storage unit of the storage network, wherein data is dispersed storage error encoded in accordance with error encoding parameters into pluralities of sets of encoded data slices, and wherein the pluralities of sets of encoded data slices include the number of encoded data slices;

identify a second memory device of the storage network;

facilitating rebuilding, by the second memory device, a first group of encoded data slices of the number of encoded data slices;

facilitating storing a first subset of the first group of encoded data slices in the second memory devices; and

facilitating transferring a second subset of the first group of encoded data slices for storage in the memory device.

13 . The computer readable storage device of claim 12 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

determine whether the number is greater than a rebuild threshold number; and

when the number is equal to or greater than the rebuild threshold number, perform the identifying the second memory device.

14 . The computer readable storage device of claim 13 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

when the number is less than the rebuild threshold number: rebuild, by the memory device, the number of encoded data slices; and

facilitate storage of the number of encoded data slices in the memory device.

15 . The computer readable storage device of claim 13 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

prior to the identifying the second memory device: determine a network loading level;

compare the network loading level to a network loading threshold; and

when the network loading level compares unfavorably to the network loading threshold, identify one or more other memory devices for performing rebuilding of the number of encoded data slices, wherein the one or more other memory devices includes the second memory device.

16 . The computer readable storage device of claim 12 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

identify a third memory device of the one or more other memory devices;

facilitate rebuilding, by the third memory device, a second group of encoded data slices of the number of encoded data slices;

facilitate storing at least a second subset of the second group of encoded data slices in the second memory device; and

facilitate transferring at least some of the second group of encoded data slices for storage in the memory device.

17 . The computer readable storage device of claim 16 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

facilitate transferring at least some of the second group of encoded data slices for storage in the second memory device.

18 . The computer readable storage device of claim 12 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

determine a rebuilding threshold for the rebuilding the first group of encoded data slices;

monitor progress of the rebuilding to determine a rebuild level; and

when the rebuilding level exceeds the rebuilding threshold, perform the facilitating transferring.

19 . The computer readable storage device of claim 12 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to: after identifying the second memory device: facilitate associating slice names of the first group of encoded data slices with the second memory device; and

facilitate disassociating the slice names from the memory device.

20 . The computer readable storage device of claim 12 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, causes the one or more computing devices to:

facilitate disassociating slice names of the at least some of the first group of encoded data slices with the second memory device; and

facilitate associating the slice names with the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: COCAGNE, THOMAS D.; BAPTIST, ANDREW D.
To: PURE STORAGE, INC.
Reel/Frame 062582/0294 →