RowHammer is a major read disturbance mechanism in DRAM where repeatedly accessing (hammering) a row of DRAM cells (DRAM row) induces bitflips in other physically nearby DRAM rows. RowHammer solutions perform preventive actions (e.g., refresh neighbor rows of the hammered row) that mitigate such bitflips to preserve memory isolation, a fundamental building block of security and privacy in modern computing systems. However, preventive actions induce non-negligible memory request latency and system performance overheads as they interfere with memory requests. As shrinking technology node size over DRAM chip generations exacerbates RowHammer, the overheads of RowHammer solutions become prohibitively expensive. As a result, a malicious program can effectively hog the memory system and deny service to benign applications by causing many RowHammer-preventive actions. In this work, we tackle the performance overheads of RowHammer solutions by tracking and throttling the generators of memory accesses that trigger RowHammer solutions. To this end, we propose BreakHammer. BreakHammer 1) observes the time-consuming RowHammer-preventive actions of existing RowHammer mitigation mechanisms, 2) identifies hardware threads that trigger many of these actions, and 3) reduces the memory bandwidth usage of each identified thread. As such, BreakHammer significantly reduces the number of RowHammer-preventive actions performed, thereby improving 1) system performance and DRAM energy, and 2) reducing the maximum slowdown induced on a benign application, with near-zero area overhead. Our extensive evaluations demonstrate that BreakHammer effectively reduces the negative performance, energy, and fairness effects of eight RowHammer mitigation mechanisms. To foster further research we open-source our BreakHammer implementation and scripts at https://github.com/CMU-SAFARI/BreakHammer.
翻译:RowHammer是DRAM中一种主要的读取干扰机制,其表现为重复访问(锤击)DRAM单元行会引发相邻物理DRAM行的比特翻转。RowHammer解决方案通过执行预防性操作(例如刷新被锤击行的相邻行)来缓解此类比特翻转,从而维持内存隔离性——现代计算系统中安全与隐私的基础保障。然而,预防性操作会干扰内存请求,导致不可忽视的内存请求延迟和系统性能开销。随着DRAM芯片制程节点的持续微缩加剧RowHammer效应,现有缓解方案的开销已变得难以承受。因此,恶意程序可通过触发大量RowHammer预防性操作,有效占据内存系统并导致良性应用程序服务中断。本研究通过追踪并调控触发RowHammer解决方案的内存访问生成源,以应对其性能开销问题。为此,我们提出BreakHammer方案。该方案能够:1)监测现有RowHammer缓解机制中耗时的预防性操作;2)识别触发大量此类操作的硬件线程;3)降低每个被识别线程的内存带宽使用率。通过这种方式,BreakHammer显著减少了RowHammer预防性操作的执行次数,从而在近乎零面积开销的前提下,实现:1)系统性能与DRAM能效的提升;2)良性应用程序所受最大减速比的降低。我们通过大量实验证明,BreakHammer能有效改善八种RowHammer缓解机制在性能、能耗与公平性方面的负面影响。为促进后续研究,我们在https://github.com/CMU-SAFARI/BreakHammer开源了BreakHammer的实现代码与相关脚本。