Dispersed storage encoded data slice rebuild
First Claim
1. A dispersed storage (DS) processing module comprises:
- memory to store a plurality of encoded data slices;
a first processing module, when operable within a computing device, causes the computing device to;
identify a first plurality of encoded data slices that require rebuilding, the identifying including at least attempting to retrieve a second plurality of encoded data slices from a DS memory to perform an integrity check of the second plurality of encoded data slices and for encoded data slices that are retrieved with an error and that are not received, flagging these encoded data slices as the first plurality of encoded data slices that require rebuilding;
a second processing module, when operable within the computing device, causes the computing device to;
determine an amount of memory required for storage of rebuilt encoded data slices for the first plurality of encoded data slices;
a third processing module, when operable within the computing device, causes the computing device to;
access memory utilization information regarding memory, wherein the memory utilization information includes encoded data slice storage information regarding amount of memory used to store valid encoded data slices, available storage information regarding amount of memory that is unused, and rebuilt storage information regarding an actual amount of memory used to store rebuilt encoded data slices;
update the memory utilization information by allocating a portion of available memory to the amount of memory required for storage of the rebuilt encoded data slices;
a fifth processing module, when operable within the computing device, causes the computing device to;
obtain rebuilt encoded data slices;
a sixth processing module, when operable within the computing device, causes the computing device to;
store the rebuilt encoded data slices in the memory associated with the rebuilt storage information; and
a seventh processing module, when operable within the computing device, causes the computing device to;
modify the rebuilt storage information and the available storage information to reflect the stored rebuilt encoded data slices.
4 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a dispersed storage (DS) processing module identifying a plurality of encoded data slices requiring rebuilding. The method continues with the DS processing module determining an amount of reserve memory required for storage of rebuilt slices for the identified plurality of encoded data slices requiring rebuilding. The method continues with the DS processing module updating memory utilization information to include the amount of reserve memory required. The method continues with the DS processing module indicating the memory utilization. The method continues with the DS processing module obtaining rebuilt slices. The method continues with the DS processing module storing the rebuilt slices in the memory and updating the memory utilization information.
-
Citations
17 Claims
-
1. A dispersed storage (DS) processing module comprises:
-
memory to store a plurality of encoded data slices; a first processing module, when operable within a computing device, causes the computing device to; identify a first plurality of encoded data slices that require rebuilding, the identifying including at least attempting to retrieve a second plurality of encoded data slices from a DS memory to perform an integrity check of the second plurality of encoded data slices and for encoded data slices that are retrieved with an error and that are not received, flagging these encoded data slices as the first plurality of encoded data slices that require rebuilding; a second processing module, when operable within the computing device, causes the computing device to; determine an amount of memory required for storage of rebuilt encoded data slices for the first plurality of encoded data slices; a third processing module, when operable within the computing device, causes the computing device to; access memory utilization information regarding memory, wherein the memory utilization information includes encoded data slice storage information regarding amount of memory used to store valid encoded data slices, available storage information regarding amount of memory that is unused, and rebuilt storage information regarding an actual amount of memory used to store rebuilt encoded data slices; update the memory utilization information by allocating a portion of available memory to the amount of memory required for storage of the rebuilt encoded data slices; a fifth processing module, when operable within the computing device, causes the computing device to; obtain rebuilt encoded data slices; a sixth processing module, when operable within the computing device, causes the computing device to; store the rebuilt encoded data slices in the memory associated with the rebuilt storage information; and a seventh processing module, when operable within the computing device, causes the computing device to; modify the rebuilt storage information and the available storage information to reflect the stored rebuilt encoded data slices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A dispersed storage (DS) processing module comprises:
-
memory to store a plurality of encoded data slices; a first processing module, when operable within a computing device, causes the computing device to; identify a plurality of encoded data slices that require rebuilding, wherein rebuilding of the plurality of encoded data slices is queued for at least one of individual, group, or batch processing and the batch processing will be performed at a time delay from the queuing; a second processing module, when operable within the computing device, causes the computing device to; determine an amount of memory required for storage of rebuilt encoded data slices for the plurality of encoded data slices; a third processing module, when operable within the computing device, causes the computing device to; access memory utilization information regarding memory, wherein the memory utilization information includes slice storage information regarding amount of memory used to store valid encoded data slices, available storage information regarding amount of memory that is unused, and rebuilt storage information regarding an actual amount of memory used to store rebuilt encoded data slices; update the memory utilization information by allocating a portion of available memory to the amount of memory required for storage of the rebuilt encoded data slices; a fifth processing module, when operable within the computing device, causes the computing device to; obtain rebuilt encoded data slices; a sixth processing module, when operable within the computing device, causes the computing device to; store the rebuilt encoded data slices in the memory associated with the rebuilt storage information; and a seventh processing module, when operable within the computing device, causes the computing device to; modify the rebuilt storage information and the available storage information to reflect the stored rebuilt encoded data slices. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computing device comprises:
-
memory to store a plurality of encoded data slices; a first processing module, when operable within the computing device, causes the computing device to; identify a first plurality of encoded data slices that require rebuilding, the identifying including at least attempting to retrieve a second plurality of encoded data slices from a dispersed storage (DS) memory to perform an integrity check of the second plurality of encoded data slices and for encoded data slices that are retrieved with an error and that are not received, flagging these encoded data slices as the first plurality of encoded data slices that require rebuilding, wherein the identifying further includes monitoring downloads meeting minimum read/write (R/W) width thresholds, but that are less than a full pillar width; a second processing module, when operable within the computing device, causes the computing device to; determine an amount of memory required for storage of rebuilt encoded data slices for the first plurality of encoded data slices; a third processing module, when operable within the computing device, causes the computing device to; access memory utilization information regarding memory, wherein the memory utilization information includes encoded data slice storage information regarding amount of memory used to store valid encoded data slices, available storage information regarding amount of memory that is unused, and rebuilt storage information regarding an actual amount of memory used to store rebuilt encoded data slices; update the memory utilization information by allocating a portion of available memory to the amount of memory required for storage of the rebuilt encoded data slices; a fifth processing module, when operable within the computing device, causes the computing device to; obtain rebuilt encoded data slices; a sixth processing module, when operable within the computing device, causes the computing device to; store the rebuilt encoded data slices in the memory associated with the rebuilt storage information; and a seventh processing module, when operable within the computing device, causes the computing device to; modify the rebuilt storage information and the available storage information to reflect the stored rebuilt encoded data slices. - View Dependent Claims (14, 15, 16, 17)
-
Specification