ABACuS: All-Bank Activation Counters for Scalable and Low Overhead RowHammer Mitigation
Ataberk Olgun
33rd USENIX Security Symposium · Day 1 · USENIX Security '24 · USENIX Security '24
Overview
The integrity of modern computer systems relies heavily on Dynamic Random Access Memory (DRAM), which serves as the main memory for most devices. However, DRAM is susceptible to a physical vulnerability known as RowHammer, a prominent example of a read disturbance attack. This talk, presented by Ataberk Olgun, introduces ABACuS (All-Bank Activation Counters), a novel and highly efficient mitigation technique designed to combat RowHammer bit flips with significantly reduced overheads. The core innovation of ABACuS lies in its ability to leverage observed memory access patterns to consolidate activation count tracking across multiple DRAM banks, thereby drastically cutting down the resource requirements for protection.

Key moments
- 0:00 Introduction to DRAM and the RowHammer problem
- 2:15 Abacus's goal: efficient mitigation at low RowHammer thresholds
- 2:50 Abacus's key observation: workloads access sibling rows similarly
- 5:10 Abacus's core idea: one counter for all sibling rows
- 6:05 Intuition behind Abacus's maximum activation count tracking
- 7:00 Evaluation setup and comparison with state-of-the-art mitigations
ABACuS: All-Bank Activation Counters for Scalable and Low Overhead RowHammer Mitigation
Speakers: Ataberk Olgun
Conference: USENIX Security '24
YouTube: https://www.youtube.com/watch?v=UPi4Rj-r_u4
Overview
The integrity of modern computer systems relies heavily on Dynamic Random Access Memory (DRAM), which serves as the main memory for most devices. However, DRAM is susceptible to a physical vulnerability known as RowHammer, a prominent example of a read disturbance attack. This talk, presented by Ataberk Olgun, introduces ABACuS (All-Bank Activation Counters), a novel and highly efficient mitigation technique designed to combat RowHammer bit flips with significantly reduced overheads. The core innovation of ABACuS lies in its ability to leverage observed memory access patterns to consolidate activation count tracking across multiple DRAM banks, thereby drastically cutting down the resource requirements for protection.
RowHammer attacks exploit the electrical coupling between adjacent memory rows. Repeatedly accessing ("hammering") a specific "aggressive row" can cause electrical interference that corrupts data in physically adjacent "victim rows," leading to silent bit flips. This phenomenon is a critical security concern as it breaks memory isolation, potentially enabling privilege escalation, arbitrary code execution, or data corruption. The severity of RowHammer has escalated dramatically, with modern DRAM chips requiring significantly fewer activations to induce bit flips compared to a decade ago, making effective and low-overhead mitigation increasingly imperative.
ABACuS addresses the limitations of existing preventive refresh-based RowHammer mitigations, which often incur substantial area, performance, or energy costs, particularly at very low RowHammer thresholds (e.g., 125 activations). By observing that workloads frequently access the same row address across different DRAM banks concurrently, ABACuS proposes using a single activation counter for all such "sibling rows." This innovative approach enables robust RowHammer protection with minimal performance and energy overheads, offering a scalable solution that can effectively safeguard systems against increasingly aggressive RowHammer attacks without compromising system efficiency.
Background
▶ Watch: Introduction to DRAM and the RowHammer problem (0:00)
To understand RowHammer and the necessity of ABACuS, it's crucial to first grasp the fundamental architecture of DRAM. A typical DRAM module consists of multiple DRAM chips, each containing several banks. Within each bank, memory cells are organized into subarrays, which are essentially two-dimensional arrays of DRAM cells. These cells are arranged in rows, activated by word lines, and connected to a row buffer via bit lines. When a row is activated, its data is transferred into the row buffer, from which read or write requests are served in cache block granularity.
RowHammer is a hardware vulnerability stemming from the physical proximity and electrical interactions within DRAM. When an aggressive row is repeatedly activated and closed many times in quick succession, the high voltage swings on its word line can induce charge leakage or coupling effects in physically adjacent victim rows. This disturbance can lead to spontaneous bit flips in those victim rows. The critical observation is that this is a read disturbance phenomenon; merely reading from an aggressive row can cause data corruption in neighboring rows without any explicit write operations.
The severity of RowHammer has been increasing steadily. The talk highlights that modern DRAM chips can experience bit flips with approximately 100 times fewer "hammers" compared to chips from 10 years ago. This reduction in the RowHammer threshold—the number of activations required to induce a bit flip—means that systems are becoming highly vulnerable, with some chips flipping bits after only a few hundred activations, or even as low as 125 activations, as mentioned in the presentation. Such low thresholds make traditional, less aggressive mitigation strategies impractical due to their high overheads.
Various approaches exist for RowHammer mitigation, each presenting a different trade-off in terms of performance, energy, and area overheads. Among these, preventive refresh-based mitigations are particularly promising. The core idea is to identify rows that are frequently activated (potential aggressive rows) and proactively refresh their adjacent victim rows before bit flips can manifest. This "resets" the disturbance effect. Implementing preventive refresh effectively requires accurate aggressive activation count estimation or tracking, which determines when a victim row needs refreshing. However, existing preventive refresh techniques often struggle to achieve low area, performance, and energy costs simultaneously, especially at the extremely low RowHammer thresholds observed in contemporary DRAM. This gap—the need for an efficient and scalable solution at very low RowHammer thresholds—is precisely what ABACuS aims to fill.
Key Findings
▶ Watch: Abacus's key observation: workloads access sibling rows similarly (2:50)
The foundational insight behind ABACuS stems from a critical observation about how real-world workloads interact with main memory. The speaker highlights that workloads exhibit significant spatial locality and often access the same row address across different DRAM banks concurrently. These rows, sharing the same address but residing in different banks, are termed sibling rows. The talk demonstrates that if one sibling row is activated a certain number of times (e.g., RowHammer threshold times), its other sibling rows are also activated a substantial fraction of that number (often more than half the threshold). This correlation becomes even more pronounced as the RowHammer threshold decreases, indicating that the behavior is particularly relevant for highly vulnerable DRAM.
This key observation is attributed to two primary causes:
- Intrinsic Spatial Locality in Workloads: Many programs access neighboring cache blocks around the same time. A common pattern is streaming through elements of an array, where data items are laid out contiguously in memory.
- Modern Physical Address to DRAM Address Mappings: To maximize memory bandwidth and leverage bank-level parallelism, modern memory controllers often map physically neighboring cache blocks to different DRAM banks but frequently to the same row address within those banks. This design choice aims to distribute memory requests across multiple banks, allowing them to be processed in parallel.
Building on this, ABACuS proposes a revolutionary simplification: instead of requiring a separate activation counter for each row in each bank (which becomes increasingly costly with more banks in newer DRAM generations), it uses one activation counter for all sibling rows. This design drastically reduces the number of required counters by a factor equal to the number of banks in the system. The objective of this single counter is to track the maximum activation count among all its sibling rows. This ensures that the counter value is always sufficient to trigger a preventive refresh before any sibling row reaches its RowHammer threshold, while minimizing unnecessary refreshes.
The speaker emphasizes that ABACuS is proven to correctly maintain the maximum activation count using only a small additional state: a single bit per bank. This minimal state requirement, combined with the reduction in the number of counters, results in significantly lower area overheads compared to traditional per-bank counter schemes. The performance evaluation further demonstrates that ABACuS prevents bit flips with very small performance and DRAM energy overheads compared to a baseline system without mitigation. Specifically, at very low RowHammer thresholds (e.g., 125 activations), ABACuS outperforms state-of-the-art mitigations like Hydra and Para in terms of performance and energy efficiency, while maintaining competitive or superior area overheads compared to Graphene, Hydra, Rega, and Para. This makes ABACuS a highly scalable and practical solution for safeguarding systems against the escalating threat of RowHammer.
Technical Deep Dive
▶ Watch: Abacus's core idea: one counter for all sibling rows (5:10)
The technical foundation of ABACuS rests on the empirical observation that memory access patterns often involve sibling rows. A sibling row refers to a DRAM row that shares the same row address across different DRAM banks. For instance, if a system has 16 DRAM banks, and a CPU accesses row X in Bank 0, then row X in Bank 1, and so on, all these row Xs across the banks are considered sibling rows. The talk illustrates this with an example where a workload generates memory requests targeting row X sequentially across Bank 0, Bank 1, ..., Bank N-1.
This synchronized access pattern to sibling rows is not accidental but is driven by two key architectural and workload characteristics:
- Intrinsic Spatial Locality: Many applications, particularly those processing large data structures like arrays, exhibit spatial locality. When a program iterates through an array, it accesses contiguous memory locations. Modern memory systems often map these contiguous physical addresses in a way that distributes them across different DRAM banks to exploit parallelism.
- Modern Physical Address to DRAM Address Mappings: To achieve high memory bandwidth, memory controllers are designed to maximize bank-level parallelism. This means that adjacent cache blocks in the logical address space are often interleaved across different DRAM banks. Crucially, these interleaved blocks frequently land in the same row address within their respective banks. This design allows multiple banks to process requests in parallel, improving overall throughput. However, it also means that a single logical data structure access pattern can result in concurrent activations of sibling rows.
The speaker presented a plot (though not detailed in the interest of time) that visually confirms this observation. It showed the distribution of activation counts for sibling rows when a specific row reached the RowHammer threshold (e.g., 500 activations). The key takeaway from this plot was that if a row was hammered, its siblings were typically activated more than half the RowHammer threshold times. This correlation becomes even stronger at lower RowHammer thresholds, which is precisely where mitigation is most challenging and crucial.
Leveraging this strong correlation, ABACuS introduces its central design principle: using one activation counter for all sibling rows. Instead of N counters for N banks for a given row address, ABACuS uses just one. This dramatically reduces the hardware overhead. The objective of this single All-Bank Activation Counter is to track the maximum activation count among all its sibling rows. If the individual activation counts of sibling rows were, for example, 90, 95, 97, and 92, the ABACuS counter would store 97. This ensures that the system can trigger a preventive refresh based on the most active sibling, guaranteeing protection.
The counting algorithm for ABACuS is designed to maintain this maximum value accurately while minimizing complexity. The intuition shared in the talk describes a scenario where the ABACuS counter currently holds the maximum activation count (e.g., 97 from Bank 15). The counter increments to 98 under two conditions:
- If the sibling row that currently holds the maximum activation count (e.g., Bank 15) is activated again.
- If any other sibling row (e.g., Bank 0, 1, ..., 14) is activated twice. This second condition is crucial for ensuring the counter eventually catches up if a new sibling row becomes the most active.
To support this mechanism, ABACuS requires a minimal additional state: one bit per bank. This bit likely helps track which bank last caused an increment or which banks are "catching up." The paper, as referenced by the speaker, formally proves that ABACuS correctly maintains the maximum activation count with this minimal state.
The implementation of ABACuS leverages a prior work known as the Graphene activation count tracking algorithm. This suggests that ABACuS builds upon an established robust mechanism for tracking activations but optimizes it significantly by applying the sibling row observation. Further details on the specific circuit-level implementation, including how the "two activations" logic is managed with the single bit per bank, are elaborated in the full paper. The speaker also mentioned that ABACuS's circuit latency is approximately 1.2 ns, which is significantly smaller than the minimum allowed delay of 2.5 ns between two activate commands, indicating its practical feasibility and minimal impact on DRAM timing.
Demo / Proof of Concept
▶ Watch: Intuition behind Abacus's maximum activation count tracking (6:05)
While the talk did not feature a live, interactive demonstration in the traditional sense, the effectiveness of ABACuS was rigorously evaluated through extensive simulations using a cycle-level memory system simulator. This simulator was configured to model a realistic memory environment, allowing for precise measurement of performance, energy, and area overheads. The speaker presented a comprehensive comparison of ABACuS against four prominent state-of-the-art preventive refresh-based RowHammer mitigation techniques:
- Graphene: Described as the highest-performance mechanism.
- Hydra: Offers an interesting trade-off between area and performance.
- Rega: Also offers trade-offs, often requiring intrusive DRAM chip modifications.
- Para: Identified as the lowest area overhead mechanism, but potentially at the cost of performance.
The evaluation involved a diverse set of workloads: 62 single-core and 8 multi-programmed workloads sourced from major benchmark suites. This broad selection ensures that the results are representative of various real-world usage scenarios. The metrics used for comparison were:
- System Throughput: Measured on the y-axis in performance plots, with higher values indicating better performance.
- DRAM Energy Overhead: Measured on the y-axis in energy plots, with smaller values indicating better energy efficiency.
- Area Overhead: Quantified for processor chip area (as Rega and Para have different area considerations, they were sometimes excluded from direct comparison).
The results consistently demonstrated ABACuS's superior efficiency, particularly at very low RowHammer thresholds (e.g., 125 activations):
- Performance: ABACuS prevents bit flips with very small performance overheads compared to a baseline system without any mitigation. When compared to other state-of-the-art techniques, ABACuS consistently outperforms Hydra and Para at all tested RowHammer thresholds. While it incurs a small performance overhead over Graphene, this is attributed to ABACuS's low-cost, aggressive activation tracking scheme which may lead to slightly more (but still necessary) preventive refreshes.
- Energy: ABACuS consumes less DRAM energy than Hydra, Rega, and Para at all tested RowHammer thresholds smaller than 1,000. For instance, at a very low threshold of 125, ABACuS consumes approximately 20% less energy than Hydra, 70% less than Rega, and 34% less than Para. Its energy consumption is only about 4% higher than Graphene at the same low threshold, demonstrating highly competitive energy efficiency.
- Area: At a RowHammer threshold of 1,000, ABACuS induces a significantly smaller area overhead than Graphene. At the very low threshold of 125, ABACuS still takes up significantly smaller area than Graphene. Although Hydra's area overhead at this specific low threshold is relatively smaller than ABACuS, Hydra incurs a significant performance overhead, as shown in previous slides. Rega and Para were excluded from direct processor chip area comparisons because Rega requires intrusive DRAM chip modifications and Para needs a secure random number generator, implying different architectural trade-offs.
Beyond these core evaluations, the paper presents additional analyses, including:
- A security analysis guaranteeing that ABACuS correctly tracks maximum activation counts and securely mitigates bit flips.
- Performance and energy comparisons for less memory-intensive single-core workloads.
- Circuit-level performance, latency, energy, and power estimations based on a functional Hardware Verilog model of ABACuS.
- ABACuS's performance under adversarial workloads designed to deliberately exacerbate preventive refreshes, and alternative ABACuS designs to counter such scenarios.
- Sensitivity analyses to important system variables.
- A discussion on how ABACuS can account for R-Press, another form of RowHammer that induces bit flips by keeping a DRAM row open for longer periods rather than repeatedly activating it.
The speaker also highlighted that an extended version of the conference paper is available on arXiv, and all data and source code are open source and artifact evaluated, promoting transparency and reproducibility of the research.
Defensive Implications
▶ Watch: Evaluation setup and comparison with state-of-the-art mitigations (7:00)
The ABACuS mitigation technique presents significant defensive implications for systems vulnerable to RowHammer, particularly given the trend of decreasing RowHammer thresholds in modern DRAM. Its core strengths lie in its scalability, low overheads, and robust protection, offering a practical path forward for system designers and DRAM manufacturers.
Firstly, for DRAM manufacturers, ABACuS provides a viable and efficient design point for integrating RowHammer protection directly into future DRAM generations. As the number of banks in DRAM chips increases, the traditional approach of per-bank activation counters becomes prohibitively expensive in terms of area and power. ABACuS's "one counter for all sibling rows" paradigm fundamentally addresses this scalability challenge, enabling protection without massive increases in chip area or complexity. This allows manufacturers to continue pursuing higher density and performance in DRAM without exacerbating RowHammer vulnerabilities.
Secondly, for system designers and memory controller architects, ABACuS offers a solution that can be integrated with minimal impact on overall system performance and energy consumption. The simulation results clearly indicate that ABACuS achieves superior performance and energy efficiency compared to several state-of-the-art mitigations, especially at the critical very low RowHammer thresholds (e.g., 125 activations). This means that system designers no longer have to choose between robust RowHammer protection and high system throughput or power efficiency. They can deploy ABACuS-enabled memory controllers to protect against even the most aggressive RowHammer attacks without significant trade-offs, ensuring memory isolation and system security.
Thirdly, ABACuS's ability to handle low RowHammer thresholds is crucial. As the vulnerability worsens, systems become susceptible to bit flips with fewer and fewer activations. Traditional mitigations often become too costly at these low thresholds. ABACuS's efficiency at thresholds as low as 125 activations means that even highly vulnerable DRAM chips can be protected effectively, extending the lifespan and security posture of current and future memory technologies. This is particularly relevant for critical infrastructure, cloud environments, and any system where memory integrity is paramount.
Finally, the comprehensive analysis in the paper, including its security analysis and considerations for adversarial workloads and R-Press attacks, strengthens the defensive posture. It suggests that ABACuS is not merely a performance-optimized solution but one designed with robust security guarantees in mind. The open-source nature of the work further allows for community scrutiny and adoption, fostering a more secure memory ecosystem. Defenders can leverage this research to advocate for and implement memory controllers that incorporate ABACuS-like mechanisms, significantly raising the bar for attackers attempting to exploit RowHammer.
Key Takeaways
- RowHammer is a rapidly worsening hardware vulnerability in DRAM, with modern chips requiring 100 times fewer activations to induce bit flips compared to a decade ago, making efficient mitigation critical.
- ABACuS leverages a key observation: Workloads frequently access the same row address across different DRAM banks (sibling rows) concurrently due to spatial locality and modern memory address mappings.
- A novel, scalable counter design: ABACuS uses one activation counter for all sibling rows, significantly reducing the number of counters required by a factor of the number of banks, thus minimizing hardware area overhead.
- Superior efficiency at low thresholds: ABACuS achieves very low performance and DRAM energy overheads (e.g., 20-70% less energy than Hydra, Rega, and Para) compared to state-of-the-art mitigations, especially at critical low RowHammer thresholds (e.g., 125 activations).
- Robust and practical solution: ABACuS correctly maintains the maximum activation count among sibling rows with minimal additional state (one bit per bank) and is proven secure against bit flips.
- Open-source and evaluated: The research includes an extended paper on arXiv, and all data and source code are open-source and artifact evaluated, promoting transparency and adoption.
About the Speaker(s)
Ataberk Olgun is the presenter of this work, "ABACuS: All-Bank Activation Counters for Scalable and Low Overhead RowHammer Mitigation," at USENIX Security '24. Based on the presentation, he is a researcher actively involved in the field of computer architecture and memory security, focusing on developing practical and efficient solutions to hardware vulnerabilities like RowHammer. His work, presented at a top-tier security conference, demonstrates expertise in DRAM mechanisms, security threats, and novel mitigation strategies. The "our work" in his introduction suggests he is part of a research team, likely from an academic or industrial research institution, dedicated to advancing memory system security.
Reviews
Dr. Zero (Offensive Security Researcher) — STRONG ACCEPT
Olgun presents ABACuS, a clever and highly practical RowHammer mitigation. By observing correlated activations across 'sibling rows' in different banks, it drastically cuts down counter overheads while maintaining robust protection. This is a significant step forward for securing modern DRAM against a rapidly worsening threat.
Heather Calloway (CISO) — STRONG ACCEPT
This research presents a critical, low-overhead solution to a worsening hardware vulnerability, RowHammer. ABACuS offers a practical path for system designers and DRAM manufacturers to integrate robust memory integrity at scale, fundamentally improving the security posture of underlying compute infrastructure. This is not just technical cleverness; it's a strategic enabler for institutional resilience.