Method and apparatus for nested dispersed storage
First Claim
1. A method for execution by a processing module in a distributed storage (DS) unit, the method comprising:
- receiving a request to retrieve an error coded (EC) data slice from a user device, wherein data segment is dispersed error encoded to produce a plurality of EC data slices that includes the EC data slice;
determining whether the EC data slice is sub-sliced into a plurality of EC data sub-slices based on information stored within the DS unit;
when the EC data slice is determined to be sub-sliced;
identifying storage locations of the plurality of EC data sub-slices within other DS units;
transmitting retrieval commands for the plurality of EC data sub-slices to the other DS units;
receiving, in response to at least some of the retrieval commands, a minimum number of EC data sub-slices required to reconstruct the EC data slice; and
reconstructing the EC data slice from the minimum number of EC data sub-slices;
when the EC data slice is determined not to be sub-sliced, retrieving the EC data slice from local memory of the DS unit; and
outputting the EC data slice or the reconstructed EC data slice, via a network interface of the DS unit.
4 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a DS processing module generating a plurality of encoded slices from a data segment using an error encoding function. The method continues with the DS processing module identifying a plurality of DS storage units for storing the plurality of encoded slices. The method continues with the DS processing module selecting an encoded slice of the plurality of encoded slices for sub-slicing using a sub-slicing encoding function to produce a selected encoded slice. The method continues with the DS processing module outputting the plurality of encoded slices to the plurality of DS storage units. The method continues with the DS processing module outputting a command to a DS storage unit of the plurality of DS storage units corresponding to the selected encoded slice, wherein the command includes an instruction to sub-slice the selected encoded slice.
19 Citations
20 Claims
-
1. A method for execution by a processing module in a distributed storage (DS) unit, the method comprising:
-
receiving a request to retrieve an error coded (EC) data slice from a user device, wherein data segment is dispersed error encoded to produce a plurality of EC data slices that includes the EC data slice; determining whether the EC data slice is sub-sliced into a plurality of EC data sub-slices based on information stored within the DS unit; when the EC data slice is determined to be sub-sliced; identifying storage locations of the plurality of EC data sub-slices within other DS units; transmitting retrieval commands for the plurality of EC data sub-slices to the other DS units; receiving, in response to at least some of the retrieval commands, a minimum number of EC data sub-slices required to reconstruct the EC data slice; and reconstructing the EC data slice from the minimum number of EC data sub-slices; when the EC data slice is determined not to be sub-sliced, retrieving the EC data slice from local memory of the DS unit; and outputting the EC data slice or the reconstructed EC data slice, via a network interface of the DS unit. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A distributed storage (DS) unit comprises:
-
a network interface configured to communicate with other devices in a dispersed storage network (DSN); a memory; and a processing module configured to; receive, via the network interface, a request to retrieve an error coded (EC) data slice from a user device, wherein data segment is dispersed error encoded to produce a plurality of EC data slices that includes the EC data slice; determine whether the EC data slice is sub-sliced into a plurality of EC data sub-slices based on information stored within the memory; when the EC data slice is determined to be sub-sliced; identify storage locations of the plurality of EC data sub-slices within other DS units; transmit retrieval commands for the plurality of EC data sub-slices to the other DS units; receive, in response to at least some of the retrieval commands, a minimum number of EC data sub-slices required to reconstruct the EC data slice; and reconstruct the EC data slice from the minimum number of EC data sub-slices; when the EC data slice is determined not to be sub-sliced, retrieve the EC data slice from the memory of the DS unit; and output the EC data slice or the reconstructed EC data slice, via the network interface. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for execution by a processing module in a distributed storage (DS) unit, the method comprising:
-
receiving a request to retrieve an error coded (EC) data slice from a user device, wherein data segment is dispersed error encoded to produce a plurality of EC data slices that includes the EC data slice, and wherein the request indicates whether the EC data slice is sub-sliced into a plurality of EC data sub-slices; when the EC data slice is sub-sliced as indicated by the request; determining storage locations of the plurality of EC data sub-slices within other DS units; transmitting retrieval commands for the plurality of EC data sub-slices to the other DS units; receiving, in response to at least some of the retrieval commands, a minimum number of EC data sub-slices required to reconstruct the EC data slice; and reconstructing the EC data slice from the minimum number of EC data sub-slices; when the EC data slice is not sub-sliced as indicated by the request, retrieving the EC data slice from local memory of the DS unit; and outputting the EC data slice or the reconstructed EC data slice via a network interface of the DS unit. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A distributed storage (DS) unit comprises:
-
a network interface configured to communicate with other devices in a dispersed storage network (DSN); a memory; and a processing module configured to; receive, via the network interface, a request to retrieve an error coded (EC) data slice from a user device, wherein data segment is dispersed error encoded to produce a plurality of EC data slices that includes the EC data slice, and wherein the request indicates whether the EC data slice is sub-sliced into a plurality of EC data sub-slices; when the EC data slice is sub-sliced as indicated by the request; determine storage locations of the plurality of EC data sub-slices within other DS units; transmit retrieval commands for the plurality of EC data sub-slices to the other DS units; receive, in response to at least some of the retrieval commands, a minimum number of EC data sub-slices required to reconstruct the EC data slice; and reconstruct the EC data slice from the minimum number of EC data sub-slices; when the EC data slice is not sub-sliced as indicated by the request, retrieve the EC data slice from the memory of the DS unit; and output the EC data slice or the reconstructed EC data slice via the network interface. - View Dependent Claims (17, 18, 19, 20)
-
Specification