Rebuilding data while reading data in a dispersed storage network
First Claim
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
- sending representations of a read-rebuild inquiry request to storage units of the DSN, wherein the storage units collectively store a set of encoded data slices and wherein a data segment was encoded in accordance with a dispersed storage error coding function to produce the set of encoded data slices;
receiving a decode threshold number of encoded data slices in response from at least some of the storage units, wherein the set of encoded data slices includes a total number of encoded data slices, and wherein the decode threshold number is less than the total number;
receiving a remaining number of slice status responses from one or more other storage units of the storage units regarding a remaining number of encoded data slices, wherein the remaining number is equal to or less than a difference between the total number and the decode threshold number;
decoding the decode threshold number of encoded data slices to reproduce the data segment;
interpreting the remaining number of slice status responses to determine whether one of the remaining number of encoded data slices includes an error; and
when the one of the remaining number of encoded data slices includes the error, generating a rebuilt encoded data slice based on the reproduced data segment to replace the one of the remaining number of encoded data slices that includes the error.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a dispersed storage (DS) processing sending representations of a read-rebuild inquiry request to storage units and receiving a decode threshold number of encoded data slices in response. The method continues with the DS processing module receiving a remaining number of slice status responses regarding a remaining number of encoded data slices. The method continues with the DS processing module decoding the decode threshold number of encoded data slices to reproduce a data segment and interpreting the remaining number of slice status responses to determine whether one of the remaining number of encoded data slices includes an error. When determining the error, the method continues with the DS processing module generating a rebuilt encoded data slice based on the reproduced data segment to replace the one of the remaining number of encoded data slices that includes the error.
86 Citations
16 Claims
-
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
-
sending representations of a read-rebuild inquiry request to storage units of the DSN, wherein the storage units collectively store a set of encoded data slices and wherein a data segment was encoded in accordance with a dispersed storage error coding function to produce the set of encoded data slices; receiving a decode threshold number of encoded data slices in response from at least some of the storage units, wherein the set of encoded data slices includes a total number of encoded data slices, and wherein the decode threshold number is less than the total number; receiving a remaining number of slice status responses from one or more other storage units of the storage units regarding a remaining number of encoded data slices, wherein the remaining number is equal to or less than a difference between the total number and the decode threshold number; decoding the decode threshold number of encoded data slices to reproduce the data segment; interpreting the remaining number of slice status responses to determine whether one of the remaining number of encoded data slices includes an error; and when the one of the remaining number of encoded data slices includes the error, generating a rebuilt encoded data slice based on the reproduced data segment to replace the one of the remaining number of encoded data slices that includes the error. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A dispersed storage (DS) module of a dispersed storage network (DSN), the DS module comprises:
-
a first module, when operable within a computing device, causes the computing device to; send representations of a read-rebuild inquiry request to storage units of the DSN, wherein the storage units collectively store a set of encoded data slices and wherein a data segment was encoded in accordance with a dispersed storage error coding function to produce the set of encoded data slices; a second module, when operable within the computing device, causes the computing device to; receive a decode threshold number of encoded data slices in response from at least some of the storage units, wherein the set of encoded data slices includes a total number of encoded data slices, and wherein the decode threshold number is less than the total number; a third module, when operable within the computing device, causes the computing device to; receive a remaining number of slice status responses from one or more other storage units of the storage units regarding a remaining number of encoded data slices, wherein the remaining number is equal to or less than a difference between the total number and the decode threshold number; a fourth module, when operable within the computing device, causes the computing device to; decode the decode threshold number of encoded data slices to reproduce the data segment; a fifth module, when operable within the computing device, causes the computing device to; interpret the remaining number of slice status responses to determine whether one of the remaining number of encoded data slices includes an error; and a sixth module, when operable within the computing device, causes the computing device to; when the one of the remaining number of encoded data slices includes the error, generate a rebuilt encoded data slice based on the reproduced data segment to replace the one of the remaining number of encoded data slices that includes the error. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification