×

Ensuring data integrity on a dispersed storage grid

  • US 9,996,413 B2
  • Filed: 10/09/2007
  • Issued: 06/12/2018
  • Est. Priority Date: 10/09/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method of ensuring data integrity in a dispersed data storage network, the method comprising:

  • calculating a first checksum for a data segment of data;

    appending the first checksum to the data segment to produce an appended data segment;

    encoding the appended data segment to produce a set of encoded data slices, wherein each encoded data slice of the set of encoded data slices includes an encoded representation of at least a portion of the first checksum;

    generating a set of second checksums for the set of encoded data slices;

    appending the set of second checksums to the set of encoded data slices to produce a set of appended encoded data slices; and

    transmitting the set of appended encoded data slices to a plurality of storage units for storage therein;

    when the data segment is to be reconstructed;

    retrieving from the plurality of storage units a threshold number of appended encoded data slices of the set of appended encoded data slices;

    extracting the threshold number of second checksums from the threshold number of appended encoded data slices; and

    verifying accuracy of the threshold number of appended encoded data slices based on the extracted threshold number of second checksums; and

    when verifying the accuracy of the threshold number of appended encoded data slices indicates that the threshold number of appended encoded data slices includes a corrupted appended encoded data slice therein;

    retrieving from at least some of the plurality of storage units a sufficient number of appended encoded data slices needed to generate a reconstructed data segment based on the threshold number of appended encoded data slices that includes the corrupted appended encoded data slice;

    generating the reconstructed data segment using the sufficient number of appended encoded data slices;

    performing an error correcting information dispersal algorithm on the reconstructed data segment thereby forming a reconstructed set of data slices;

    calculating a plurality of second checksums for the reconstructed set of data slices;

    appending the plurality of second checksums respectively to the reconstructed set of data slices thereby forming a reconstructed set of appended encoded data slices; and

    replacing the corrupted appended encoded data slice with a reconstructed appended encoded data slice of the reconstructed set of appended encoded data slices; and

    when the accuracy of the threshold number of appended encoded data slices has been verified;

    decoding the threshold number of appended encoded data slices to recover the appended data segment;

    extracting the first checksum from the recovered appended data segment;

    verifying accuracy of the recovered appended data segment based on the first checksum; and

    when the accuracy of the recovered appended data segment has been verified, providing the recovered appended data segment as a valid data segment.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×