DRAM Row Hammer Mitigation via Probabilistic Neighbor Refresh
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Repetitive activations and refreshes of the same row in DRAM devices can cause neighboring rows to lose stored values, leading to uncorrectable and undetectable errors known as 'row hammer,' affecting storage reliability in memory systems.
Innovation Solution
Issuing mitigation operation commands to refresh rows within a specified vicinity of a suspected aggressor row, where the selection of the aggressor and victim rows is probabilistically determined based on previous activate commands, to mitigate data corruption from row hammer effects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If repetitive activations and refreshes of the same row are performed, then memory access speed is improved, but data corruption in neighboring rows occurs due to row hammer effects
Solution Approach 1:
The patent applies preliminary action by proactively refreshing victim rows before they can be corrupted by row hammer effects. The memory controller monitors activate commands and issues refresh operations to neighboring rows in advance, preventing data corruption before it occurs. This is evident in the flowcharts showing the controller tracking activate commands and triggering refresh operations proactively rather than reactively.
Solution Approach 2:
The patent implements feedback mechanisms where the memory controller monitors the pattern of activate commands and uses this information to determine when and which rows need refreshing. The controller tracks the number of activate commands and uses this feedback to trigger mitigation operations, creating a closed-loop system that adapts to actual memory access patterns and prevents row hammer effects dynamically.
2Reliability
If mitigation operation commands are issued to refresh neighboring rows, then data corruption is reduced, but memory access latency increases
Solution Approach 1:
The patent applies partial action by selectively refreshing only the specific victim rows that are at risk from row hammer effects, rather than refreshing entire memory banks or all rows. The mitigation operations target only the neighboring rows adjacent to the aggressor row, minimizing the number of refresh operations needed to achieve protection while reducing the overall time penalty compared to comprehensive refresh strategies.
Solution Approach 2:
The patent implements periodic action by issuing mitigation operation commands at specific intervals based on the monitoring of activate commands. Rather than continuously refreshing rows or refreshing after every single activate command, the system uses a counter-based approach that triggers refresh operations periodically when the activate command count reaches a threshold, balancing protection needs with performance considerations.
3Reliability
If probabilistic selection of aggressor and victim rows is used, then coverage of potential row hammer victims is improved, but complexity of row selection logic increases
Solution Approach 1:
The patent applies parameter changes by using a counter variable to track the number of activate commands and using this parameter to control the probabilistic selection process. The counter value determines when mitigation operations are triggered and which rows are selected, transforming a complex probabilistic problem into a manageable parameter-based control mechanism that is easier to implement and manage in the memory controller logic.
Data Source
AI summary
Row hammer is mitigated by issuing, to a memory device, mitigation operation (MOP) commands in order to cause the refresh of rows at a specified vicinity of a suspected aggressor row. These mitigation operation commands are each associated with respective row addresses that indicate the suspected aggressor row and an indicator of which neighbor row in the vicinity of the suspected aggressor row is to be refreshed. The mitigation operation commands are issued in response to a fixed number of activate commands. The suspected aggressor row is selected by randomly choosing, with equal probability, one of the N previous activate commands to supply its associated row address as the suspected aggressor row address. The neighbor row may be selected randomly with a probability that diminishes inversely with the distance between the suspected aggressor row and the neighbor row.


