Reliably recovering stored 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, to a set of storage units of a dispersed storage network (DSN), a retrieval request for a data object, wherein the data object includes a plurality of data segments, wherein the plurality of data segments is dispersed storage error encoded to create a plurality of sets of encoded data slices, wherein each storage unit of the set of storage units stores a unique group of encoded data slices of the plurality of sets of encoded data slices, and wherein one or more storage units of the set of storage units dispersed storage error encodes at least one encoded data slice of the unique group of encoded data slices to produce a local set of encoded recovery data slices;
receiving, from each storage unit of a decode threshold number of storage units of the set of storage units, the unique group of encoded data slices;
receiving, from one or more of the decode threshold number of storage units, at least one encoded recovery data slice of the local set of encoded recovery data slices;
identifying an errant encoded data slice of the unique group of encoded data slices received from the one of the decode threshold number of storage units;
correcting the errant encoded data slice based on encoded data slices of the unique group of encoded data slices that are not errant encoded data slices from the one of the decode threshold number of storage units and the at least one encoded recovery data slices received from the one of the decode threshold number of storage units to produce an updated unique group of encoded data slices; and
dispersed storage error decoding the updated unique group of encoded data slices to recover the data object.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by storage units of a dispersed storage network (DSN) receiving a retrieval request for a data object, where each storage unit stores a unique group of encoded data slices of the data object and a local set of encoded recovery data slices. The method continues with some storage units sending the unique group of encoded data slices to a requesting computing device and with one storage unit sending an encoded recovery data slice to the requesting computing device. The method continues with the requesting computing device identifying an errant unique group encoded data slice, correcting the errant encoded data slice based on received data slices to produce an updated unique group of encoded data slices, and dispersed storage error decoding the updated unique group of encoded data slices and the unique groups of encoded data slices from other storage units to recover the data object.
89 Citations
18 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, to a set of storage units of a dispersed storage network (DSN), a retrieval request for a data object, wherein the data object includes a plurality of data segments, wherein the plurality of data segments is dispersed storage error encoded to create a plurality of sets of encoded data slices, wherein each storage unit of the set of storage units stores a unique group of encoded data slices of the plurality of sets of encoded data slices, and wherein one or more storage units of the set of storage units dispersed storage error encodes at least one encoded data slice of the unique group of encoded data slices to produce a local set of encoded recovery data slices; receiving, from each storage unit of a decode threshold number of storage units of the set of storage units, the unique group of encoded data slices; receiving, from one or more of the decode threshold number of storage units, at least one encoded recovery data slice of the local set of encoded recovery data slices; identifying an errant encoded data slice of the unique group of encoded data slices received from the one of the decode threshold number of storage units; correcting the errant encoded data slice based on encoded data slices of the unique group of encoded data slices that are not errant encoded data slices from the one of the decode threshold number of storage units and the at least one encoded recovery data slices received from the one of the decode threshold number of storage units to produce an updated unique group of encoded data slices; and dispersed storage error decoding the updated unique group of encoded data slices to recover the data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage medium comprises:
-
at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to; send, to a set of storage units of the DSN, a retrieval request for a data object, wherein the data object includes a plurality of data segments, wherein the plurality of data segments is dispersed storage error encoded to create a plurality of sets of encoded data slices, wherein each storage unit of the set of storage units stores a unique group of encoded data slices of the plurality of sets of encoded data slices, and wherein one or more storage units of the set of storage units dispersed storage error encodes at least one encoded data slice of the unique group of encoded data slices to produce a local set of encoded recovery data slices; send, by each storage unit of a decode threshold number of storage units of the set of storage units, the unique group of encoded data slices to a requesting computing device; receive, from one of the decode threshold number of storage units, at least one encoded recovery data slice of the local set of encoded recovery data slices; identify an errant encoded data slice of the unique group of encoded data slices from the one of the decode threshold number of storage units; correct the errant encoded data slice based on encoded data slices of the unique group of encoded data slices that are not errant encoded data slices from the one of the decode threshold number of storage units and at least one encoded recovery data slice received from the one of the decode threshold number of storage units to produce an updated unique group of encoded data slices; and dispersed storage error decoding the updated unique group of encoded data slices to recover the data object. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification