Method and apparatus for rebuilding data in a dispersed data storage network
First Claim
1. 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.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by 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 and wherein each of the plurality of data slices is assigned for storage by a corresponding one of a plurality of data slice servers. The method continues by retrieving at least m number of data slices from at least m number of the plurality of data slice servers, wherein m data slices of the plurality of data slices enable reconstruction of the data segment, and wherein the at least m number of data slices does not include the identified data slice. The method continues by reconstructing the identified data slice from the at least m number of data slices to produce a rebuilt data slice. The method continues by writing the rebuilt data slice to the corresponding one of the plurality of data slice servers or to a new slice server.
-
Citations
11 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer for use within a dispersed data storage network, the computer comprises:
-
a network interface for interfacing with a network, wherein a plurality of data slice servers is operably coupled to the network; and a central processing unit, wherein the central processing unit is operably coupled to; identify 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 and 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; retrieve 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;decode 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; encode 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; select one of the new plurality of data slices as a rebuilt data slices to replace the identified data slice; and write the rebuilt data slice to the corresponding one of the plurality of data slice servers or to a new slice server. - View Dependent Claims (8, 9, 10, 11)
-
Specification