Patent ID: 8560882

Claim:
A method for execution by one or more computers associated with a dispersed data storage network, the method comprises: identifying a data slice requiring rebuilding to produce an identified data slice, wherein the identified data slice is one of a plurality of data slices that constitute a data segment, wherein each of the plurality of data slices is assigned for storage by a corresponding one of a plurality of data slice servers, and wherein data words of the data segment were arranged into a data matrix that is multiplied by an encoding matrix in accordance an information dispersal algorithm to produce a coded matrix of coded values that is arranged into the plurality of data slices; retrieving at least m number of data slices from at least one of the plurality of data slice servers, wherein n represents the number of data slices in the plurality of data slices and m is less than or equal to n−2; decoding the retrieved at least m number of data slices by arranging coded values of the retrieved at least m number of data slices into a reconstructed coded matrix and multiplying the reconstructed coded matrix by a decoding matrix in accordance with the information dispersal algorithm to reconstruct the data segment; encoding the reconstructed data segment by arranging the data words of the reconstructed data segment into the data matrix and multiplying the data matrix by the encoding matrix in accordance with the information dispersal algorithm to produce the coded matrix that is arranged into a new plurality of data slices; selecting one of the new plurality of data slices as a rebuilt data slices to replace the identified data slice; and writing the rebuilt data slice to the corresponding one of the plurality of data slice servers or to a new slice server.