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:
- determining that a disk drive of a slice server has been replaced with a new disk drive;
identifying a data slice that was stored on the disk drive;
identifying a data segment based on the identified data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice;
identifying one or more other slice servers that are storing other data slices of the set of data slices;
retrieving, from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment;
decoding the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment;
encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and
selecting a data slice of the new set of data slices as a rebuilt data slice of the identified data slice.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by determining that a disk drive of a slice server has been replaced with a new disk drive. The method continues by identifying a data slice that was stored on the disk drive and identifying a data segment based on the identified data slice. The method continues by identifying other slice servers that are storing other data slices of the encoded data segment. The method continues by retrieving, from the other slice servers, a sufficient number of the other data slices to reconstruct the data segment and decoding the sufficient number of the other data slices to reconstruct the data segment. The method continues by encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices. The method continues by selecting a data slice of the new set of data slices as a rebuilt data slice.
-
Citations
20 Claims
-
1. A method for execution by one or more computers associated with a dispersed data storage network, the method comprises:
-
determining that a disk drive of a slice server has been replaced with a new disk drive; identifying a data slice that was stored on the disk drive; identifying a data segment based on the identified data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice; identifying one or more other slice servers that are storing other data slices of the set of data slices; retrieving, from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment; decoding the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment; encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and selecting a data slice of the new set of data slices as a rebuilt data slice of the identified data slice. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for execution by one or more computers associated with a dispersed data storage network, the method comprises:
-
determining whether a data slice stored by a slice server is outdated, is corrupt, is missing, or has a checksum error; when the data slice is outdated, is corrupt, is missing, or has a checksum error, identifying a data segment based on the data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice; identifying one or more other slice servers that are storing other data slices of the set of data slices; retrieving, from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment; decoding the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment; encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and selecting a data slice of the new set of data slices as a rebuilt data slice of the data slice. - View Dependent Claims (7, 8, 9, 10)
-
-
11. 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; determine that a disk drive of a slice server has been replaced with a new disk drive; identify a data slice that was stored on the disk drive; identify a data segment based on the identified data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice; identify one or more other slice servers that are storing other data slices of the set of data slices; retrieve, from the one or more other slice servers via the network interface, a sufficient number of the other data slices to reconstruct the data segment; decode the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment; encode the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and select a data slice of the new set of data slices as a rebuilt data slice of the identified data slice. - View Dependent Claims (12, 13, 14, 15)
-
-
16. 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; determine whether a data slice stored by a slice server is outdated, is corrupt, is missing, or has a checksum error; when the data slice is outdated, is corrupt, is missing, or has a checksum error, identify a data segment based on the data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice; identify one or more other slice servers that are storing other data slices of the set of data slices; retrieve, from the one or more other slice servers via the network interface, a sufficient number of the other data slices to reconstruct the data segment; decode the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment; encode the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and select a data slice of the new set of data slices as a rebuilt data slice of the data slice. - View Dependent Claims (17, 18, 19, 20)
-
Specification