Drive-based storage scrubbing
US-2019004888-A1 · Jan 3, 2019 · US
US10754989B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10754989-B2 |
| Application number | US-201815937375-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 27, 2018 |
| Priority date | Mar 27, 2018 |
| Publication date | Aug 25, 2020 |
| Grant date | Aug 25, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An example operation may include one or more of identifying, via a ledger validation thread, a corrupted data block that is stored within a chain of blocks on a distributed ledger, selecting a blockchain peer from among a plurality of blockchain peers that have access to the distributed ledger, and retrieving a replacement data block from the selected peer, determining whether the replacement data block is valid based on one or more of a previously stored validation block associated with the chain of blocks, and, in response to determining the replacement data block is valid, replacing the corrupted data block with the replacement data block on the distributed ledger.
Opening claim text (preview).
What is claimed is: 1. A computing system comprising: a memory storing a distributed ledger; and a processor configured to identify, via a ledger validation thread, a corrupted data block that is stored within a chain of blocks on the distributed ledger, select a blockchain peer from among a plurality of blockchain peers that have access to the distributed ledger, retrieve a replacement data block from the selected peer, determine whether the replacement data block is valid based on a hash value stored within a following data block, with respect to the corrupted data block, within the chain of blocks, and in response to the determination that the replacement data block is valid, replace the corrupted data block with the replacement data block on the distributed ledger. 2. The computing system of claim 1 , wherein the ledger validation thread comprises a program that runs in the memory and that has compiled code which is stored separately from files that make up the distributed ledger. 3. The computing system of claim 1 , wherein the processor is further configured to retrieve a replacement data block for a following data block in the chain of blocks when it is determined that the corrupted data block has changed a block size of its original data block. 4. The computing system of claim 1 , wherein the previously stored validation block comprises a correct block stored in a backup copy of the distributed ledger of a blockchain node that executes the ledger validation thread. 5. The computing system of claim 1 , wherein the processor is configured to sequentially scan data blocks of the distributed ledger and validate the sequentially scanned data blocks based on respective hash values of the sequentially scanned data blocks generated at runtime to identify the corrupted data block. 6. The computing system of claim 1 , wherein the processor is configured to perform a bit-by-bit comparison of the distributed ledger with a backup copy of the distributed ledger to identify the corrupted data block based on the bit-by-bit comparison. 7. The computing system of claim 1 , wherein the processor is configured to pre-fetch data blocks from the distributed ledger based on a block access pattern associated with a data block currently selected from the distributed ledger, and validate the pre-fetched data blocks based on respective hashes of the pre-fetched data blocks to identify the corrupted data block from the pre-fetched data blocks. 8. The computing system of claim 1 , wherein the processor is configured to sequentially validate data blocks of the distributed ledger based on previously generated checksum values of the respective data blocks to identify the corrupted data block based on the checksum values. 9. The computing system of claim 1 , wherein the processor is configured to randomly select data blocks from the distributed ledger and validate the randomly selected data blocks based on respective hashes of the randomly selected data blocks to identify the corrupted data block from the randomly selected data blocks. 10. A method comprising: identifying, via a ledger validation thread, a corrupted data block that is stored within a chain of blocks on a distributed ledger; selecting a blockchain peer from among a plurality of blockchain peers that have access to the distributed ledger, and retrieving a replacement data block from the selected peer; determining whether the replacement data block is valid based on a hash value stored within a following data block, with respect to the corrupted data block, within the chain of blocks; and in response to determining the replacement data block is valid, replacing the corrupted data block with the replacement data block on the distributed ledger. 11. The method of claim 10 , wherein the ledger validation thread comprises a program running in memory having compiled code which is stored separately from files that make up the distributed ledger. 12. The method of claim 10 , wherein the retrieving further comprises retrieving a replacement data block for a following data block in the chain of blocks when it is determined that the corrupted data block has changed a block size of its original data block. 13. The method of claim 10 , wherein the previously stored validation block comprises a correct block stored in a backup copy of the distributed ledger of a blockchain node executing the ledger validation thread. 14. The method of claim 10 , wherein the identifying the corrupted data block, via the ledger validation thread, comprises sequentially scanning data blocks of the distributed ledger and validating the sequentially scanned data blocks based on respective hash values of the sequentially scanned data blocks generated at runtime to identify the corrupted data block. 15. The method of claim 10 , wherein the identifying the corrupted data block, via the ledger validation thread, comprises performing a bit-by-bit comparison of the distributed ledger with a backup copy of the distributed ledger to identify the corrupted data block based on the bit-by-bit comparison. 16. The method of claim 10 , wherein the identifying the corrupted data block, via the ledger validation thread, comprises pre-fetching data blocks from the distributed ledger based on a block access pattern associated with a data block currently selected from the distributed ledger, and validating the pre-fetched data blocks based on respective hashes of the pre-fetched data blocks to identify the corrupted data block from the pre-fetched data blocks. 17. The method of claim 10 , wherein the identifying the corrupted data block, via the ledger validation thread, comprises sequentially validating data blocks of the distributed ledger based on previously generated checksum values of the respective data blocks to identify the corrupted data block based on the checksum values. 18. The method of claim 10 , wherein the identifying the corrupted data block, via the ledger validation thread, comprises randomly selecting data blocks from the distributed ledger and validating the randomly selected data blocks based on respective hashes of the randomly selected data blocks to identify the corrupted data block from the randomly selected data blocks. 19. A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform a method comprising: identifying, via a ledger validation thread, a corrupted data block that is stored within a chain of blocks on a distributed ledger; selecting a blockchain peer from among a plurality of blockchain peers that have access to the distributed ledger, and retrieving a replacement data block from the selected peer; determining whether the replacement data block is valid based on a hash value stored within a following data block, with respect to the corrupted data block, within the chain of blocks; and in response to determining the replacement data block is valid, replacing the corrupted data block with the replacement data block on the distributed ledger. 20. The non-transitory computer readable medium of claim 19 , wherein the ledger validation thread comprises a program running in memory having compiled code which is stored separately from files that make up the distributed ledger.
Use of message hashing · CPC title
received data contents, e.g. message integrity · CPC title
based on the use of peer-to-peer networks · CPC title
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
the resynchronized component or unit being a persistent storage device (re-synchronization of failed mirror storage G06F11/2082; rebuild or reconstruction of parity RAID storage G06F11/1008) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.