Partial rebuilding techniques in a dispersed storage unit
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:
- receiving a data object for storage in a set of storage units of the DSN;
dispersed storage error encoding at least one data segment of the data object to produce a set of encoded data slices that includes an information dispersal algorithm (IDA) width number of encoded data slices, wherein the IDA width number is at least twice the number of storage units in the set of storage units;
facilitating storage of the set of encoded data slices in the set of storage units, where at least two encoded data slices of the set of encoded data slices are stored in each of the storage units of the set of storage units;
detecting a storage error indicating that an encoded data slice of the set of encoded data slices is an error slice;
requesting, in response to the storage error, a partial threshold number of partial encoded data slices for select encoded data slices of the set of encoded data slices;
performing, by storage units of the set of storage units receiving a request for a partial encoded data slice, a partial encoding function on locally stored encoded data slices of the select encoded data slices to produce a group of partial encoded data slices;
combining, by each of the storage units receiving the request for a partial encoded data slice, a respective group of partial encoded data slices to produce respective partial encoded data slice responses;
receiving a partial threshold number of partial encoded data slice responses;
combining the partial threshold number of partial encoded data slice responses to produce a rebuilt encoded data slice corresponding to the error slice; and
facilitating storage of the rebuilt encoded data slice in the set of storage units.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods for use in a dispersed storage network (DSN) to rebuild data. In various examples, at least one data segment of a data object is dispersed storage error encoded to produce a set of encoded data slices that includes an information dispersal algorithm (IDA) width number of encoded data slices, wherein the IDA width number is at least twice the number of storage units of a set of storage units utilized to store the data object. At least two encoded data slices are stored in each of the storage units. In response to detecting a storage error indicating an error slice, a partial threshold number of partial encoded data slices (generated by performing a partial encoding function on stored encoded data slices) are generated. The partial threshold number of partial encoded data slice responses are combined to produce a rebuilt encoded data slice corresponding to the error slice.
-
Citations
20 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:
-
receiving a data object for storage in a set of storage units of the DSN; dispersed storage error encoding at least one data segment of the data object to produce a set of encoded data slices that includes an information dispersal algorithm (IDA) width number of encoded data slices, wherein the IDA width number is at least twice the number of storage units in the set of storage units; facilitating storage of the set of encoded data slices in the set of storage units, where at least two encoded data slices of the set of encoded data slices are stored in each of the storage units of the set of storage units; detecting a storage error indicating that an encoded data slice of the set of encoded data slices is an error slice; requesting, in response to the storage error, a partial threshold number of partial encoded data slices for select encoded data slices of the set of encoded data slices; performing, by storage units of the set of storage units receiving a request for a partial encoded data slice, a partial encoding function on locally stored encoded data slices of the select encoded data slices to produce a group of partial encoded data slices; combining, by each of the storage units receiving the request for a partial encoded data slice, a respective group of partial encoded data slices to produce respective partial encoded data slice responses; receiving a partial threshold number of partial encoded data slice responses; combining the partial threshold number of partial encoded data slice responses to produce a rebuilt encoded data slice corresponding to the error slice; and facilitating storage of the rebuilt encoded data slice in the set of storage units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer readable storage medium comprises:
at least one memory section that stores operational instructions that, when executed by one or more processing modules of a dispersed storage network (DSN) that include a processor and a memory, causes the one or more processing modules to; receive a data object for storage in a set of storage units of the DSN; dispersed storage error encode at least one data segment of the data object to produce a set of encoded data slices that includes an information dispersal algorithm (IDA) width number of encoded data slices, wherein the IDA width number is at least twice the number of storage units in the set of storage units; facilitate storage of the set of encoded data slices in the set of storage units, where at least two encoded data slices of the set of encoded data slices are stored in each of the storage units of the set of storage units; detect a storage error indicating that an encoded data slice of the set of encoded data slices is an error slice; request, in response to the storage error, a partial threshold number of partial encoded data slices for select encoded data slices of the set of encoded data slices; perform a partial encoding function on locally stored encoded data slices of the select encoded data slices to produce a group of partial encoded data slices; combine a respective group of partial encoded data slices to produce respective partial encoded data slice responses; receive a partial threshold number of partial encoded data slice responses; combine the partial threshold number of partial encoded data slice responses to produce a rebuilt encoded data slice corresponding to the error slice; and facilitate storage of the rebuilt encoded data slice in the set of storage units. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
17. A computing device of a dispersed storage network (DSN), the computing device comprises:
-
a network interface; a memory comprising instructions; and one or more processing modules in communication with the memory, wherein the one or more processing modules execute the instructions to; receive a data object for storage in a set of storage units of the DSN; dispersed storage error encode at least one data segment of the data object to produce a set of encoded data slices that includes an information dispersal algorithm (IDA) width number of encoded data slices, wherein the IDA width number is at least twice the number of storage units in the set of storage units; facilitate storage of the set of encoded data slices in the set of storage units, where at least two encoded data slices of the set of encoded data slices are stored in each of the storage units of the set of storage units; detect a storage error indicating that an encoded data slice of the set of encoded data slices is an error slice; request, in response to the storage error, a partial threshold number of partial encoded data slices for select encoded data slices of the set of encoded data slices, wherein a partial encoded data slice is generated by combining a plurality of slices generated by a partial encoding function; receive, via the network interface, a partial threshold number of partial encoded data slice responses; combine the partial threshold number of partial encoded data slice responses to produce a rebuilt encoded data slice corresponding to the error slice; and facilitate, via the network interface, storage of the rebuilt encoded data slice in the set of storage units. - View Dependent Claims (18, 19, 20)
-
Specification