Back to results
US 12,717,679 B2Granted
Data reconstruction in distributed storage systems
AssigneeGoogle Inc.
InventorsLidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
Life of this patent
Estimating the term…
Abstract
A method of operating a distributed storage system, the method includes identifying missing chunks of a file. The file is divided into stripes that include data chunks and non-data chunks. The method also includes identifying non-missing chunks available for reconstructing the missing chunks and reconstructing missing data chunks before reconstructing missing non-data chunks using the available non-missing chunks.
Claims18
A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
- receiving a plurality of stripes of a file for storage at a distributed storage system;
- dividing each stripe of the plurality of stripes into a plurality of chunks comprising data chunks and code non-data chunks, the plurality of chunks for each stripe stored in a plurality of columns across a plurality of groups of memory hosts;
- storing the plurality of chunks at the distributed storage system;
- identifying a damaged chunk from among the plurality of chunks stored in a first portion of a particular column of the plurality of columns, wherein the damaged chunk is identified using an error detecting code of the non-data chunks;
- based on identifying the damaged chunk, identifying one or more healthy chunks from among the plurality of chunks for reconstructing the damaged chunk, the one or more healthy chunks stored in a second portion of the particular column of the plurality of columns, the second portion different than the first portion, the one or more healthy chunks comprising at least one of the code chunks redundant data associated with the damaged chunk;
- and
- reconstructing the damaged chunk using the one or more healthy data chunks and healthy non-data chunks.
4 more elements
A system comprising:
- data processing hardware;
- and
- memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:
- receiving a plurality of stripes of a file for storage at a distributed storage system;
- dividing each stripe of the plurality of stripes into a plurality of chunks comprising data chunks and code non-data chunks, the plurality of chunks for each stripe stored in a plurality of columns;
- storing the plurality of chunks at the distributed storage system;
- identifying a damaged chunk from among the plurality of chunks stored in a first portion of a particular column of the plurality of columns, wherein the damaged chunk is identified using an error detecting code of the non-data chunks;
- based on identifying the damaged chunk, identifying one or more healthy chunks from among the plurality of chunks for reconstructing the damaged chunk, the one or more healthy chunks stored in a second portion of the particular column of the plurality of columns, the second portion different than the first portion, the one or more healthy chunks comprising at least one of the code chunks redundant data associated with the damaged chunk;
- and
- reconstructing the damaged chunk using the one or more healthy data chunks and healthy non-data chunks.
7 more elements
Dependencies are inferred from the claim text.