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 set of data slices that constitute a data segment, wherein data words of the data segment are arranged into a data matrix that is encoding using an encoding matrix function in accordance an information dispersal algorithm to produce a coded matrix of coded values that is arranged into the set of data slices;
retrieving at least m number of data slices for the set of data slices, wherein n represents the number of data slices in the set 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 decoding the reconstructed coded matrix using a decoding matrix function in accordance with the information dispersal algorithm to reconstruct the data segment;
encoding the reconstructed data segment by arranging data words of the reconstructed data segment into the data matrix and encoding the data matrix using the encoding matrix function in accordance with the information dispersal algorithm to produce the coded matrix that is arranged into a new set of data slices;
selecting a data slice of the new set of data slices as a rebuilt data slices to replace the identified data slice; and
outputting the rebuilt data slice for storage in one of a plurality of data slice servers.
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. The method continues by retrieving at least m number of data slices, 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 one of a plurality of data slice servers.
-
Citations
15 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 set of data slices that constitute a data segment, wherein data words of the data segment are arranged into a data matrix that is encoding using an encoding matrix function in accordance an information dispersal algorithm to produce a coded matrix of coded values that is arranged into the set of data slices; retrieving at least m number of data slices for the set of data slices, wherein n represents the number of data slices in the set 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 decoding the reconstructed coded matrix using a decoding matrix function in accordance with the information dispersal algorithm to reconstruct the data segment; encoding the reconstructed data segment by arranging data words of the reconstructed data segment into the data matrix and encoding the data matrix using the encoding matrix function in accordance with the information dispersal algorithm to produce the coded matrix that is arranged into a new set of data slices; selecting a data slice of the new set of data slices as a rebuilt data slices to replace the identified data slice; and outputting the rebuilt data slice for storage in one of a plurality of data slice servers. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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 set of data slices that constitute a data segment and wherein data words of the data segment are arranged into a data matrix that is encoded by an encoding matrix function in accordance an information dispersal algorithm to produce a coded matrix of coded values that is arranged into the set of data slices; retrieve at least m number of data slices from the set of data slices, wherein n represents the number of data slices in the set 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 decoding the reconstructed coded matrix by a decoding matrix function 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 encoding the data matrix by the encoding matrix function in accordance with the information dispersal algorithm to produce the coded matrix that is arranged into a new set of data slices; select one of the new set of data slices as a rebuilt data slices to replace the identified data slice; and output the rebuilt data slice to one of a plurality of data slice servers. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer readable storage memory that stores operational instructions, which, when executed by a computing device, causes the computing device to:
-
identify a data slice requiring rebuilding to produce an identified data slice, wherein the identified data slice is one of a set of data slices that constitute a data segment, wherein data words of the data segment are arranged into a data matrix that is encoding using an encoding matrix function in accordance an information dispersal algorithm to produce a coded matrix of coded values that is arranged into the set of data slices; retrieve at least m number of data slices for the set of data slices, wherein n represents the number of data slices in the set 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 decoding the reconstructed coded matrix using a decoding matrix function in accordance with the information dispersal algorithm to reconstruct the data segment; encode the reconstructed data segment by arranging data words of the reconstructed data segment into the data matrix and encoding the data matrix using the encoding matrix function in accordance with the information dispersal algorithm to produce the coded matrix that is arranged into a new set of data slices; select a data slice of the new set of data slices as a rebuilt data slices to replace the identified data slice; and output the rebuilt data slice for storage in one of a plurality of data slice servers. - View Dependent Claims (12, 13, 14, 15)
-
Specification