Memory Controller CRC Recombination for DMA Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data integrity methods in storage systems face challenges due to software and hardware issues, particularly in Direct Memory Access (DMA) technology, where data corruption can occur during data transfer, and CRC protection is resource-intensive and has vulnerabilities.
Innovation Solution
A memory controller segments and recombines data blocks, calculates new CRC values for logic blocks, and compares combined CRC values to verify data integrity during write and read operations, minimizing redundant calculations and ensuring end-to-end protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If CRC protection is implemented to verify data integrity, then data reliability is improved, but processing resources are significantly consumed
Solution Approach 1:
The patent calculates CRC values in advance during the write operation before data is transferred to storage. The memory controller computes CRC for each data block when writing data, storing both the data and its CRC value. This preliminary calculation approach ensures that verification can be performed efficiently later without consuming excessive processing resources during read operations.
2Reliability
If traditional CRC verification methods are used, then data corruption can be detected, but there are gaps in the data path creating vulnerability windows
Solution Approach 1:
The system calculates and attaches CRC values to data blocks before they are transferred through the data path. By performing the CRC calculation in advance during the write operation and storing it with the data, the patent ensures continuous protection throughout the data lifecycle, eliminating vulnerability windows during transfer and processing.
3Speed
If DMA technology is used for data transfer, then transfer speed is improved, but software-based memory protection becomes ineffective and data corruption risk increases
Solution Approach 1:
The patent introduces CRC values as an intermediary mechanism that works alongside DMA technology. The memory controller calculates CRC values for data blocks before DMA transfer and stores them with the data. During read operations, the stored CRC values are used to verify data integrity after DMA transfer, providing a protective layer that is independent of the high-speed DMA transfer mechanism and effective even when traditional software-based memory protection is bypassed.
Data Source
AI summary
A computing device for verifying data integrity is provided, comprising a memory controller configured to receive a plurality of original data blocks. Each original data block has an associated initial CRC value. The memory controller then segments and recombines the received data blocks into logic blocks, and calculates a new logic block CRC value for each logic block. The logic blocks are transmitted with their respective new logic block CRC values to a storage device, and the logic blocks are written to non-volatile memory of the storage device in a write operation. After the write operation, a combined CRC value is calculated for the logic blocks and a combined CRC value for the original data blocks, and compare the combined CRC values. The memory controller determines whether the combined CRC values match. When they match, the memory controller generates a verification response verifying the integrity of the write operation.


