Verifying encoded data slice integrity in a dispersed storage network
First Claim
1. A method for execution by a processing module of a storage device, the method comprises:
- receiving, from a requesting entity, an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error coding function to produce the set of encoded data slices, in which only a threshold number of the set of encoded data slices are needed to reconstruct the data segment, the threshold number being less than all of the set of encoded data slices, wherein a respective encoded data slice of the set of encoded data slices has associated therewith a respective integrity value, in which integrity information is generated from integrity values corresponding to encoded data slices of the set of encoded data slices, and wherein the set of encoded data slices are separated into individual encoded data slices and distributed to a plurality of devices along with the integrity information;
generating, by the processing module, an integrity value for the encoded data slice received from the requesting entity;
obtaining, by the processing module, at least a portion of the integrity information from another storage device that did not provide the received encoded data slice;
generating, by the processing module, a comparative integrity value for the encoded data slice based on the at least a portion of the integrity information obtained from the other storage device; and
facilitating, by the processing module, storage of the encoded data slice in memory of the storage device when the integrity value is same as the comparative integrity value.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a dispersed storage (DS) processing module of a storage device receiving an encoded data slice of a set of encoded data slices, where the set of encoded data slices has associated therewith a set of integrity values, and where integrity information is generated from the set of integrity values. The method continues with the DS processing module generating an integrity value for the encoded data slice and obtaining at least a portion of the integrity information from another storage device. The method continues with the DS processing module generating a comparative integrity value for the encoded data slice based on the at least a portion of the integrity information and facilitating storage of the encoded data slice in memory of the storage device when the integrity value compares favorably to the comparative integrity value.
-
Citations
20 Claims
-
1. A method for execution by a processing module of a storage device, the method comprises:
-
receiving, from a requesting entity, an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error coding function to produce the set of encoded data slices, in which only a threshold number of the set of encoded data slices are needed to reconstruct the data segment, the threshold number being less than all of the set of encoded data slices, wherein a respective encoded data slice of the set of encoded data slices has associated therewith a respective integrity value, in which integrity information is generated from integrity values corresponding to encoded data slices of the set of encoded data slices, and wherein the set of encoded data slices are separated into individual encoded data slices and distributed to a plurality of devices along with the integrity information; generating, by the processing module, an integrity value for the encoded data slice received from the requesting entity; obtaining, by the processing module, at least a portion of the integrity information from another storage device that did not provide the received encoded data slice; generating, by the processing module, a comparative integrity value for the encoded data slice based on the at least a portion of the integrity information obtained from the other storage device; and facilitating, by the processing module, storage of the encoded data slice in memory of the storage device when the integrity value is same as the comparative integrity value. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for execution by a processing module of a storage device, the method comprises:
-
receiving, from a requesting entity, integrity information and an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error coding function to produce the set of encoded data slices, in which only a threshold number of the set of encoded data slices are needed to reconstruct the data segment, the threshold number being less than all of the set of encoded data slices, wherein a respective encoded data slice of the set of encoded data slices has associated therewith a respective integrity value, in which the integrity information is generated from integrity values corresponding to encoded data slices of the set of encoded data slices, and wherein the set of encoded data slices are separated into individual encoded data slices and distributed to a plurality of devices along with the integrity information; obtaining, by the processing module, at least a portion of a copy of the integrity information from another storage device that did not provide the received encoded data slice; comparing, by the processing module, the at least a portion of the copy of the integrity information with a corresponding at least a portion of the received integrity information to determine if the integrity value from two different locations for the received encoded data slice are same; and facilitating, by the processing module, storage of the encoded data slice in memory of the storage device when the comparison is the same. - View Dependent Claims (8, 9, 10)
-
-
11. A dispersed storage (DS) module of a storage device, the DS module comprises:
-
a first module, when operable within a computing device, causes the computing device to; receive, from a requesting entity, an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error coding function to produce the set of encoded data slices, in which only a threshold number of the set of encoded data slices are needed to reconstruct the data segment, the threshold number being less than all of the set of encoded data slices, wherein a respective encoded data slice of the set of encoded data slices has associated therewith a respective integrity value, in which integrity information is generated from integrity values corresponding to encoded data slices of the set of encoded data slices, and wherein the set of encoded data slices are separated into individual encoded data slices and distributed to a plurality of devices along with the integrity information; and generate an integrity value for the encoded data slice received from the requesting entity; a second module, when operable within the computing device, causes the computing device to; obtain at least a portion of the integrity information from another storage device that did not provide the received encoded data slice; and generate a comparative integrity value for the encoded data slice based on the at least a portion of the integrity information obtained from the other storage device; and a third module, when operable within the computing device, causes the computing device to; facilitate storage of the encoded data slice in memory of the storage device when the integrity value is same as the comparative integrity value. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A dispersed storage (DS) module of a storage device, the DS module comprises:
-
a first module, when operable within a computing device, causes the computing device to; receive, from a requesting entity, integrity information and an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error coding function to produce the set of encoded data slices, in which only a threshold number of the set of encoded data slices are needed to reconstruct the data segment, the threshold number being less than all of the set of encoded data slices, wherein a respective encoded data slice of the set of encoded data slices has associated therewith a respective integrity value, in which the integrity information is generated from integrity values corresponding to encoded data slices of the set of encoded data slices, and wherein the set of encoded data slices are separated into individual encoded data slices and distributed to a plurality of devices along with the integrity information; a second module, when operable within the computing device, causes the computing device to; obtain at least a portion of a copy of the integrity information from another storage device that did not provide the received encoded data slice; and a third module, when operable within the computing device, causes the computing device to; compare the at least a portion of the copy of the integrity information with a corresponding at least a portion of the received integrity information to determine if the integrity value from two different locations for the received encoded data slice are same; and facilitate storage of the encoded data slice in memory of the storage device when the comparison is the same. - View Dependent Claims (18, 19, 20)
-
Specification