Memory Controller ECC Diffusion Against Row Hammer Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current mitigation techniques for Row Hammer (RH) attacks on Dynamic Random-Access Memory (DRAM) are ineffective or impractical due to performance/storage overhead, and ECC-DRAM is vulnerable to targeted errors that are undetected or mis-corrected by the ECC algorithm.
Innovation Solution
Implementing a diffusion layer on top of the ECC algorithm, using a bijective diffusion function to diffuse data and ECC bits before writing to memory, making it harder for attackers to predict and exploit errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a diffusion layer is added on top of the ECC algorithm, then security against Row Hammer attacks is enhanced, but device complexity increases
Solution Approach 1:
The patent implements a diffusion layer nested within the existing ECC algorithm structure. The diffusion function is applied to transform ECC syndrome bits internally, creating a layered security approach where the diffusion mechanism is embedded within the ECC processing pipeline without requiring a completely separate external system.
Solution Approach 2:
The diffusion function acts as an intermediary transformation layer between the ECC syndrome calculation and the final error correction decision. This intermediary diffusion step obscures the relationship between physical memory errors and ECC detection, preventing attackers from predicting which bits to flip to bypass ECC while maintaining the original ECC error correction functionality.
2Reliability
If a diffusion layer is added on top of the ECC algorithm, then security against Row Hammer attacks is enhanced, but manufacturing complexity increases
Solution Approach 1:
The diffusion layer is nested within the existing ECC processing logic, allowing the security enhancement to be implemented as an integrated function rather than a separate manufacturing component. This nesting approach enables the diffusion function to share manufacturing processes and test procedures with the existing ECC infrastructure.
Solution Approach 2:
The patent implements the diffusion function using parameter transformations (XOR operations with syndrome bits) rather than complex physical structures. This parameter-based approach allows the security feature to be manufactured using standard logic synthesis and placement tools, leveraging existing manufacturing capabilities without requiring new fabrication processes.
3Reliability
If mitigation techniques are implemented, then security against Row Hammer attacks is improved, but performance overhead increases
Solution Approach 1:
The diffusion function is designed to be self-contained and self-inverse, meaning the same diffusion logic can be applied in reverse during the read operation without requiring additional external processing. This self-service approach allows the security mechanism to handle its own overhead requirements without burdening the main processing pipeline with additional external validation steps.
Solution Approach 2:
The diffusion transformation is applied continuously as part of the normal ECC read and write operations rather than as a separate batch process. By integrating the diffusion step into the existing ECC data path, the security enhancement operates continuously without interrupting the memory access flow, maintaining productivity while providing ongoing protection against Row Hammer attacks.
Data Source
AI summary
Some aspects of the present disclosure relate to an apparatus comprising interface circuitry and processor circuitry to write data bits to a memory, by applying a diffusion function on the data bits to calculate diffused data bits, calculating error correcting code (ECC) bits based on the data bits or based on the diffused data bits, applying a diffusion function on the ECC bits to calculate diffused ECC bits, storing the diffused ECC bits in an ECC portion of the memory, and storing the data bits or the diffused data bits in a data portion of the memory.


