Erasure Coding for Single-Image Memory Contiguous Corruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data protection methods for IoT devices and flash memory are inadequate in handling significant contiguous corruption, particularly in scenarios where extensive corruption occurs, and there is limited space for storing full backups.
Innovation Solution
An erasure coding scheme is implemented, where data is divided into stripes that alternate in a pattern, with each stripe composed of data blocks, and a hash is saved for each block. This scheme allows for the identification and repair of bad blocks based on the stripe and corresponding erasure code blocks, ensuring data integrity and recovery from corruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional data protection methods are used, then implementation is simple, but they cannot handle significant contiguous corruption
Solution Approach 1:
The patent divides data into multiple stripes with alternating patterns, where each stripe contains data blocks and erasure code blocks. This segmentation allows the system to handle contiguous corruption by isolating affected segments and recovering them using unaffected segments, thereby improving reliability without requiring a complete backup of all data.
Solution Approach 2:
The patent pre-generates erasure code blocks and stores them in alternating stripes alongside data blocks before any corruption occurs. This preliminary action enables rapid recovery when corruption happens, as the recovery mechanism can immediately use the pre-positioned erasure code without needing to compute it during the recovery process, thus improving reliability while maintaining manageable complexity.
2Reliability
If full backups are stored for data protection, then data recovery is possible, but storage space is insufficient
Solution Approach 1:
The patent creates simplified copies of data in the form of erasure code blocks that are distributed across alternating stripes. These copies contain sufficient information to reconstruct the original data but occupy less space than full backups, enabling data recovery while conserving storage resources.
Solution Approach 2:
The patent discards the need for complete full backups by implementing a selective recovery mechanism. When corruption occurs, only the affected stripes need to be recovered using erasure coding, rather than restoring entire backups. This approach maintains data recovery capability while significantly reducing the storage space required for protection.
3Reliability
If data is protected against contiguous corruption, then data integrity is improved, but the protection mechanism becomes more complex
Solution Approach 1:
The patent implements a periodic alternating pattern where data stripes and erasure code stripes are interleaved throughout the storage medium. This periodic structure creates a regular, predictable pattern that simplifies the protection mechanism - the system only needs to recognize the alternating pattern and apply appropriate recovery operations, reducing complexity while maintaining data integrity against contiguous corruption.
Data Source
AI summary
Erasure code for data is generated by: calculating the size and bytes of an erasure code block, calculating a number of stripes for the erasure code, and generating each stripe of each block for the erasure code, such that the stripes alternate in a pattern for each block, and saving hashes. A portion of the data is repaired by: for each block of the portion of the data, calculating the stripe of the block, identifying each hash for which the hash of the block of the portion of data does not match the saved hash of the block as a bad block, and for each identified bad block, generating a repair block for the bad block based on the stripe of the block and corresponding block of the data in the erasure coding for the data.


