Storage Read/Write Integrity via Segmented CRC Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data integrity methods, particularly in storage systems, face challenges due to software and hardware issues that lead to data corruption, with CRC protection facing gaps in data paths and high processing resource consumption.
Innovation Solution
A computing system that segments and recombines data blocks with incorporated CRC values, calculates logic block and combined CRC values, and compares these to verify data integrity during write and read operations, redistributing processing burden to the storage device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If CRC protection is implemented to verify data integrity, then data reliability is improved, but processing resource consumption increases
Solution Approach 1:
The data path is segmented into multiple sections with CRC checks performed at intermediate points rather than only at the end. This divides the single large CRC calculation into smaller incremental calculations, verifying data integrity at checkpoints while reducing the processing burden on any single component by distributing the CRC calculation workload across multiple stages.
2Reliability
If CRC values are calculated for all data blocks to ensure integrity, then data protection is improved, but processing time increases
Solution Approach 1:
CRC values are calculated incrementally as data moves through the system rather than waiting until all data is transferred. Intermediate CRC checks are performed on data segments before complete data transfer, allowing early detection of corruption and avoiding the need to reprocess entire data sets, thus reducing total processing time.
3Ease of operation
If traditional CRC methods are used with gaps in data path, then implementation simplicity is maintained, but data integrity protection deteriorates
Solution Approach 1:
Intermediate CRC checkpoints are introduced as mediators between the host device and storage device. These intermediaries perform verification at critical transition points in the data path, bridging the gaps where corruption could occur during DMA transfers and storage operations, while maintaining the overall simplicity of the CRC methodology.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A computing system for verifying data integrity is provided, including a host device comprising a memory controller, and a storage device. The memory controller receives original data blocks, each having an associated initial CRC value. The memory controller then segments and recombines the data blocks into logic blocks. The storage device is configured to write the logic blocks to its non-volatile memory of the storage device in the write operation, calculate a new logic block (LB) CRC value for each logic block, and calculate a combined LB CRC value. After the write operation, the memory controller combines duplicated copies of a given CRC value for each of the original data blocks, then combines them together to calculate a combined segments CRC value, and compares the combined segments CRC value to the combined LB CRC value. When the combined CRC values match, a verification response is generated verifying data integrity.