DRAM Per-Row Hammer Tracking for Targeted Victim Refresh
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing rowhammer mitigation methods fail to effectively manage the rowhammer phenomenon in dynamic random access memory (DRAM) systems, leading to data integrity issues due to bit flips caused by repeated row activations.
Innovation Solution
Implement per-row hammer tracking and mitigation systems in DRAM devices, including aggressor processing circuitry to count row activation commands, determine next aggressor rows, and initiate refresh operations for victim rows based on detected refresh commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If row activation rate is throttled or limited, then data integrity is improved, but productivity is reduced
Solution Approach 1:
The patent applies local quality by differentiating between aggressor rows (that cause rowhammer effects) and victim rows (that need protection). Instead of uniformly throttling all row activations, the system tracks per-row activation counts and selectively applies mitigation only to rows identified as aggressors, thereby maintaining normal productivity for most rows while protecting data integrity for affected rows.
Solution Approach 2:
The system implements feedback by continuously monitoring row activation counts and using this information to dynamically adjust refresh operations. The row hammer mitigation mechanism uses activation count data to determine when and where to apply additional refresh operations, creating a closed-loop system that adapts to actual usage patterns rather than applying static throttling.
2Reliability
If per-row hammer tracking is implemented, then data integrity is improved, but device complexity is increased
Solution Approach 1:
The patent applies universality by making the row hammer tracking and mitigation mechanism serve multiple functions: it tracks activation counts for rowhammer detection, identifies aggressor rows, determines victim rows for refresh operations, and manages refresh timing. This multi-functional approach consolidates what could be separate complex subsystems into a unified mechanism, reducing overall device complexity.
Solution Approach 2:
The system implements self-service by having the DRAM device autonomously monitor its own row activation patterns and apply mitigation measures without external intervention. The row hammer mitigation mechanism uses built-in counters and control logic to automatically detect and respond to rowhammer conditions, eliminating the need for complex external monitoring and control systems.
3Reliability
If victim rows are refreshed proactively, then data integrity is improved, but loss of time is increased
Solution Approach 1:
The patent applies preliminary action by proactively refreshing victim rows before rowhammer effects can cause bit flips. The system identifies rows at risk based on activation patterns and performs refresh operations in advance, preventing data integrity issues before they occur rather than responding after damage has happened.
Solution Approach 2:
The system implements partial action by refreshing only the specific victim rows that are identified as at-risk, rather than refreshing all rows uniformly. This selective approach minimizes the time overhead of refresh operations while still providing adequate protection against rowhammer effects for the affected rows.
Data Source
AI summary
Managing row hammering in a DRAM device may include maintaining per-row activation command counts. A next aggressor row may be determined based on the counts. A victim queue may be maintained. A refresh operation may be directed to a row indicated by the victim queue when conditions include that the victim queue is not empty when the refresh command is received. The current aggressor row may be updated with the next aggressor row when conditions include that the victim queue is empty when the refresh command is received. Following updating the current aggressor row, the count of the next aggressor row may be updated. A victim row corresponding to the current aggressor row may be added to the victim queue if the victim queue is empty when the refresh command is received.


