Data error detection and correction using hash values
AssigneeMicrosoft Corporation
InventorsRan Kalach, Kashif Hasan, Paul Adrian Oltean, James R. Benton, Chun Ho Cheung, Ahmed Moustafa El-Shimi
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsRan Kalach, Kashif Hasan, Paul Adrian Oltean, James R. Benton, Chun Ho Cheung, Ahmed Moustafa El-Shimi
Estimating the term…
The subject disclosure is directed towards a data storage service that uses hash values, such as substantially collision-free hash values, to maintain data integrity. These hash values are persisted in the form of mappings corresponding to data blocks in one or more data stores. If a data error is detected, these mappings allow the data storage service to search the one or more data stores for data blocks having matching hash values. If a data block is found that corresponds to a hash value for a corrupted or lost data block, the data storage service uses that data block to repair the corrupted or lost data block.
In a computing environment, a method performed at least in part on at least one processor, comprising, maintaining data integrity in a data storage service, including, accessing mappings between hash values and data blocks, comparing another hash value with the mappings, the other hash value corresponding to another data block, and if the mappings comprise a matching hash value for the other hash value indicative of at least one data error in the data blocks, repairing at least a portion of the data blocks using correct data from the other data block.
In a computing environment, a system, comprising, a data store comprising data blocks associated with an index comprising corresponding substantially collision-free hash values, and detection logic configured to detect at least one of a lost data block or a corrupted data block within the data store and record each corresponding hash value in a persistent sub-index.
One or more computer-readable media having computer-executable instructions, which when executed perform steps, comprising:
Dependencies are inferred from the claim text.