Concurrent set storage in distributed storage network
First Claim
1. A distributed storage processing unit comprises:
- a gateway module operable to;
receive a data object;
generate a source name for the data object;
an access module operable to create a series of data segments from the data object, wherein each data segment of the series of data segments is associated with the source name;
a grid module operable to;
generate a first plurality of error encoded data slices based on a first data segment of the series of data segments;
determine a slice name for each of the error encoded data slices of the first plurality of error encoded data slices, wherein the slice name is based at least in part on the source name;
generate a second plurality of error encoded data slices based on a second data segment of the series of data segments;
determine a slice name for each of the error encoded data slices of the second plurality of error encoded data slices, wherein the slice name is based at least in part on the source name;
a storage module operable to;
identify a set of storage units for storing the first plurality of error encoded data slices, wherein identify a set of storage units is based on a slice name for each of the first plurality of error encoded data slices;
identify a set of storage units for storing the second plurality of error encoded data slices, wherein the identify a set of storage units is based on a slice name for each of the second plurality of error encoded data slices; and
an interface operable to output the first and second pluralities of error encoded data slices in parallel for storage in a first and second set of distributed storage units.
5 Assignments
0 Petitions
Accused Products
Abstract
For each original data segment, a distributed storage processing unit generates encoded slices designed to prevent the original data segment from being reconstructed using fewer than a threshold number of encoded slices. Multiple encoded slices are generated for each of two different data segments, and the slices associated with the first and second data segment are stored substantially concurrently in different storage sets employing different distributed storage units. Encoded slices for even and odd data segments can be stored in different storage sets, or longer sequences of data segments can be stored in alternating storage sets. Storage sets can also be determined by the vault generation of a particular data segment.
4 Citations
18 Claims
-
1. A distributed storage processing unit comprises:
-
a gateway module operable to; receive a data object; generate a source name for the data object; an access module operable to create a series of data segments from the data object, wherein each data segment of the series of data segments is associated with the source name; a grid module operable to; generate a first plurality of error encoded data slices based on a first data segment of the series of data segments; determine a slice name for each of the error encoded data slices of the first plurality of error encoded data slices, wherein the slice name is based at least in part on the source name; generate a second plurality of error encoded data slices based on a second data segment of the series of data segments; determine a slice name for each of the error encoded data slices of the second plurality of error encoded data slices, wherein the slice name is based at least in part on the source name; a storage module operable to; identify a set of storage units for storing the first plurality of error encoded data slices, wherein identify a set of storage units is based on a slice name for each of the first plurality of error encoded data slices; identify a set of storage units for storing the second plurality of error encoded data slices, wherein the identify a set of storage units is based on a slice name for each of the second plurality of error encoded data slices; and an interface operable to output the first and second pluralities of error encoded data slices in parallel for storage in a first and second set of distributed storage units. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A distributed storage processing unit comprises:
-
one or more processing modules operable to; determine a parallel storage implementation; identify a number of sets of storage units in accordance with the parallel storage implementation, wherein each storage unit of the number of sets of storage units includes a processing module and memory; generate a source name for a data object; divide the data object into a plurality of data segments; establish a first grouping of data segments of the plurality of data segments based on the parallel storage implementation; encode the first grouping of data segments to produce a first grouping of error encoded data slices; generate slice names for each error encoded data slice of the first grouping of error encoded data slices to produce a first grouping of a plurality of slice names, wherein the slice name for each error encoded data slice is based at least in part on the source name; assign individual groups of the first grouping of error encoded data slices to individual sets of the number of sets of storage units for storage therein; and an interface operable to output the first grouping of error encoded data slices in parallel to the number of sets of storage units. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer readable storage device comprises:
-
a first storage section for storing operational instructions that, when executed by a processing module of a computing device, causes the processing module to; determine a parallel storage implementation; identify a number of sets of storage units in accordance with the parallel storage implementation, wherein each storage unit of the number of sets of storage units includes a processing module and memory; generate a source name for a data object; divide a data object into a plurality of data segments; establish a first grouping of data segments of the plurality of data segments based on the parallel storage implementation; error encode the first grouping of data segments to produce a first grouping of error encoded data slices; generate slice names for each error encoded data slice of the first grouping of error encoded data slices to produce a first grouping of a plurality of slice names, wherein the slice name for each error encoded data slice is based at least in part on the source name; assign individual groups of the first grouping of error encoded data slices to individual sets of the number of sets of storage units for storage therein; and a second storage section for storing operational instructions that, when executed by a processing module of a computing device, causes the processing module to output, via an interface of the computing device, the first grouping of error encoded data slices in parallel to the number of sets of storage units. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification