Victim Row Refresh for DDR DRAM Row Hammering Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Electronic devices with DDR DRAM memory circuitry are susceptible to data corruption due to crosstalk, where memory accesses in one row can alter data in nearby rows, and malicious entities can exploit this through techniques like row hammering, leading to undesirable device operations or failures.
Innovation Solution
A memory refresh functional block identifies victim memory rows experiencing high access counts and performs individual refreshes to prevent data corruption, using access and group access thresholds to selectively refresh only affected rows, thereby protecting data from row hammering attacks with reduced power consumption and operational disruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If individual victim row refreshes are performed selectively, then data protection from row hammering attacks is improved, but power consumption and operational disruptions increase
Solution Approach 1:
The patent implements selective refresh of only those memory rows identified as victim rows susceptible to row hammering attacks, rather than refreshing all memory rows uniformly. This localized approach concentrates refresh operations on specific rows that require protection, thereby reducing overall power consumption while maintaining data integrity for vulnerable rows.
Solution Approach 2:
The memory system is divided into individual refreshable rows, allowing the refresh operation to be segmented and applied selectively to only those rows that are candidates for row hammering attacks. This segmentation enables the system to refresh N rows individually rather than performing a full memory refresh, reducing the total energy expenditure proportional to the fraction of rows that need protection.
2Reliability
If individual victim row refreshes are performed selectively, then data protection from row hammering attacks is improved, but memory busyness and heat generation increase
Solution Approach 1:
Refresh operations are concentrated on specific victim rows rather than distributed across the entire memory array. This localization reduces the total volume of memory undergoing refresh operations, thereby reducing overall heat generation while providing targeted protection to vulnerable rows.
Solution Approach 2:
The system performs refresh operations on only a partial set of memory rows (those identified as victim rows) rather than performing a complete refresh of all rows. This partial action is sufficient to protect against row hammering attacks while minimizing the thermal impact on the memory system.
3Productivity
If access thresholds and group access thresholds are used to identify victim rows, then refresh operation efficiency is improved, but device complexity increases
Solution Approach 1:
The system monitors memory access patterns and uses access counters to track the number of accesses to each memory row. When access counts exceed predefined thresholds or group thresholds, the system identifies these rows as victim rows requiring refresh. This feedback mechanism enables automatic, data-driven identification of rows needing protection, improving refresh efficiency by targeting only necessary rows based on actual access behavior.
Solution Approach 2:
The system pre-establishes access thresholds and group access thresholds as criteria for identifying victim rows before row hammering attacks occur. These predetermined thresholds enable the system to quickly and automatically identify vulnerable rows without requiring complex real-time analysis, thereby improving refresh operation efficiency while maintaining manageable device complexity.
Data Source
AI summary
An electronic device includes a memory having a plurality of memory rows and a memory refresh functional block that performs a victim row refresh operation. For the victim row refresh operation, the memory refresh functional block selects one or more victim memory rows that may be victims of data corruption caused by repeated memory accesses in a specified group of memory rows near each of the one or more victim memory rows. The memory refresh functional block then individually refreshes each of the one or more victim memory rows.


