Optimizing secondary storage in a dispersed storage network
First Claim
1. A method that is executed by one or more processing modules of one or more computing devices, the method comprises:
- encoding a data segment of data using a dispersed storage error coding function to produce a write threshold number of encoded data slices;
identifying, by a distributed storage and task (DST) processing unit which of a plurality of primary storage units is available for storing the write threshold number of encoded data slices;
for those primary storage units of the plurality of primary storage units that are available, issuing a write slice request that includes a slice name corresponding to each of the available primary storage units and an encoded data slice corresponding to each of the available primary storage units;
for those primary storage units of the plurality of primary storage units that are unavailable, selecting a storage approach for storing an encoded data slice associated with the unavailable primary storage units;
for each of the primary storage units of the primary storage units that are unavailable, further selecting a foster storage unit in accordance with the selected storage approach; and
issuing a write imposter slice request to each selected foster storage unit, wherein the request includes a slice name corresponding to the selected foster storage unit and an imposter encoded data slice corresponding to an unavailable primary storage unit.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for execution by one or more processing modules of a distributed storage network includes encoding a data segment of data using a dispersed storage error coding function to produce a write threshold number of encoded data slices and identifying primary storage units available for storing the write threshold number of encoded data slices. The method further includes issuing a write slice request that includes a slice name and an encoded data slice corresponding to each of the available primary storage units. For those primary storage units that are unavailable the method continues by selecting a storage approach for storing an encoded data slice and selecting a foster storage unit. The method continues by issuing a write imposter slice request to each selected foster storage unit, where the imposter encoded data slice includes an information dispersal algorithm (IDA) index corresponding to the associated unavailable storage unit.
84 Citations
19 Claims
-
1. A method that is executed by one or more processing modules of one or more computing devices, the method comprises:
-
encoding a data segment of data using a dispersed storage error coding function to produce a write threshold number of encoded data slices; identifying, by a distributed storage and task (DST) processing unit which of a plurality of primary storage units is available for storing the write threshold number of encoded data slices; for those primary storage units of the plurality of primary storage units that are available, issuing a write slice request that includes a slice name corresponding to each of the available primary storage units and an encoded data slice corresponding to each of the available primary storage units; for those primary storage units of the plurality of primary storage units that are unavailable, selecting a storage approach for storing an encoded data slice associated with the unavailable primary storage units; for each of the primary storage units of the primary storage units that are unavailable, further selecting a foster storage unit in accordance with the selected storage approach; and issuing a write imposter slice request to each selected foster storage unit, wherein the request includes a slice name corresponding to the selected foster storage unit and an imposter encoded data slice corresponding to an unavailable primary storage unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprises:
-
an interface; and a processing module, when operable within the computing device, causes the computing device to; encode a data segment of data using a dispersed storage error coding function to produce a write threshold number of encoded data slices; identify, which of a plurality of primary storage units is available for storing the write threshold number of encoded data slices; for those primary storage units of the plurality of primary storage units that are available, issue a write slice request that includes a slice name corresponding to each of the primary storage units and an encoded data slice corresponding to each of the primary storage units; for those primary storage units of the plurality of primary storage units that are unavailable, select a storage approach for storing an encoded data slice associated with the unavailable primary storage units; for each of the primary storage units of the primary storage units that are unavailable, further select a foster storage unit in accordance with the selected storage approach; and issue a write imposter slice request to each selected foster storage unit, wherein the request includes a slice name corresponding to the selected foster storage unit and an imposter encoded data slice corresponding to an unavailable storage unit, where the imposter encoded data slice includes an information dispersal algorithm (IDA) index corresponding to the associated unavailable storage unit. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification