Rebuilding an Encoded Data Slice Based on a Slice Integrity Value
Abstract
A method includes retrieving an encoded data slice from memory of a storage network, where the encoded data slice is associated with a slice integrity value stored in the memory, and where a data segment of data is error encoded into a set of encoded data slices that includes the encoded data slice. The method further includes generating a second slice integrity value based on the retrieved encoded data slice. The method further includes determining whether the second slice integrity value compares favorably to the slice integrity value. When the second slice integrity value compares unfavorably to the slice integrity value, the method further includes facilitating rebuilding of the encoded data slice to produce a rebuilt encoded data slice. The method further includes storing the rebuilt encoded data slice in the memory.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
retrieving an encoded data slice from memory of a storage network, wherein the encoded data slice is associated with a slice integrity value stored in the memory, and wherein a data segment of data is error encoded into a set of encoded data slices that includes the encoded data slice; generating a second slice integrity value based on the retrieved encoded data slice; determining whether the second slice integrity value compares favorably to the slice integrity value; when the second slice integrity value compares unfavorably to the slice integrity value, facilitating rebuilding of the encoded data slice to produce a rebuilt encoded data slice; and storing the rebuilt encoded data slice in the memory.
2 . The method of claim 1 , wherein the retrieving the encoded data slice comprises:
selecting the encoded data slice based on a request.
3 . The method of claim 1 , wherein the retrieving the encoded data slice comprises:
selecting the encoded data slice based on an error message.
4 . The method of claim 1 , wherein the generating the second slice integrity value comprises:
performing a deterministic function on the retrieved encoded data slice.
5 . The method of claim 4 , wherein the deterministic function comprises a hashing function.
6 . The method of claim 4 , wherein the deterministic function comprises a cyclic redundancy check.
7 . The method of claim 1 , wherein the slice integrity value was previously generated and stored in the memory in association with a storing of the encoded data slice.
8 . The method of claim 1 , wherein error encoding parameters associated with the error encoding comprises:
a pillar width number that indicates a total number of encoded data slices for the set of encoded data slices; and a decode threshold number, wherein at least the decode threshold number of encoded data slices of the set of encoded data slices is needed to reconstruct the data segment.
9 . The method of claim 8 , wherein the error encoding parameters further comprises:
a Reed-Solomon based encoding algorithm.
10 . The method of claim 1 , wherein when the second slice integrity value compares favorably to the slice integrity value:
retrieving a second encoded data slice from the memory, wherein the second encoded data slice is associated with a third slice integrity value stored in the memory; generating a fourth slice integrity value based on the retrieved second encoded data slice; determining whether the fourth slice integrity value compares favorably to the third slice integrity value; when the fourth slice integrity value compares unfavorably to the third slice integrity value, facilitating rebuilding of the second encoded data slice to produce a rebuilt second encoded data slice; and storing the rebuilt second encoded data slice in the memory.
11 . A computing device comprising:
a memory device; an interface; and a processing module operably coupled to the memory device and the interface, wherein the processing module is operable to:
retrieve an encoded data slice from memory of a storage network, wherein the encoded data slice is associated with a slice integrity value stored in the memory, and wherein a data segment of data is error encoded into a set of encoded data slices that includes the encoded data slice;
generate a second slice integrity value based on the retrieved encoded data slice;
determine whether the second slice integrity value compares favorably to the slice integrity value;
when the second slice integrity value compares unfavorably to the slice integrity value, facilitate rebuilding of the encoded data slice to produce a rebuilt encoded data slice; and
store the rebuilt encoded data slice in the memory.
12 . The computing device of claim 11 , wherein the processing module is further operable to retrieve the encoded data slice by:
selecting the encoded data slice based on a request.
13 . The computing device of claim 11 , wherein the processing module is further operable to retrieve the encoded data slice by:
selecting the encoded data slice based on an error message.
14 . The computing device of claim 11 , wherein the processing module is further operable to generate the second slice integrity value by:
performing a deterministic function on the retrieved encoded data slice.
15 . The computing device of claim 14 , wherein the processing module is further operable to determine the deterministic function is a hashing function.
16 . The computing device of claim 14 , wherein the processing module is further operable to determine the deterministic function is a cyclic redundancy check.
17 . The computing device of claim 14 , wherein the processing module is further operable to determine the slice integrity value was previously generated and stored in the memory in association with a storing of the encoded data slice.
18 . The computing device of claim 11 , wherein the processing module is further operable to determine error encoding parameters associated with the error encoding comprises:
a pillar width number that indicates a total number of encoded data slices for the set of encoded data slices; and a decode threshold number, wherein at least the decode threshold number of encoded data slices of the set of encoded data slices is needed to reconstruct the data segment.
19 . The computing device of claim 18 , wherein the processing module is further operable to determine the error encoding parameters further comprises
a Reed-Solomon based encoding algorithm.
20 . The computing device of claim 11 , wherein when the second slice integrity value compares favorably to the slice integrity value, the processing module is further operable to:
retrieve, via the interface, a second encoded data slice from the memory, wherein the second encoded data slice is associated with a third slice integrity value stored in the memory; generate a fourth slice integrity value based on the retrieved second encoded data slice; determine whether the fourth slice integrity value compares favorably to the third slice integrity value; when the fourth slice integrity value compares unfavorably to the third slice integrity value, facilitate rebuilding of the second encoded data slice to produce a rebuilt second encoded data slice; and store the rebuilt second encoded data slice in the memory.Join the waitlist — get patent alerts
Track US2023267042A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.