We propose a new RowHammer mitigation mechanism, CoMeT, that prevents RowHammer bitflips with low area, performance, and energy costs in DRAM-based systems at very low RowHammer thresholds. The key idea of CoMeT is to use low-cost and scalable hash-based counters to track DRAM row activations. CoMeT uses the Count-Min Sketch technique that maps each DRAM row to a group of counters, as uniquely as possible, using multiple hash functions. When a DRAM row is activated, CoMeT increments the counters mapped to that DRAM row. Because the mapping from DRAM rows to counters is not completely unique, activating one row can increment one or more counters mapped to another row. Thus, CoMeT may overestimate, but never underestimates, a DRAM row's activation count. This property of CoMeT allows it to securely prevent RowHammer bitflips while properly configuring its hash functions reduces overestimations. As a result, CoMeT 1) implements substantially fewer counters than the number of DRAM rows in a DRAM bank and 2) does not significantly overestimate a DRAM row's activation count. Our comprehensive evaluations show that CoMeT prevents RowHammer bitflips with an average performance overhead of only 4.01% across 61 benign single-core workloads for a very low RowHammer threshold of 125, normalized to a system with no RowHammer mitigation. CoMeT achieves a good trade-off between performance, energy, and area overheads. Compared to the best-performing state-of-the-art mitigation, CoMeT requires 74.2x less area overhead at the RowHammer threshold 125 and incurs a small performance overhead on average for all RowHammer thresholds. Compared to the best-performing low-area-cost mechanism, at a very low RowHammer threshold of 125, CoMeT improves performance by up to 39.1% while incurring a similar area overhead. CoMeT is openly and freely available at https://github.com/CMU-SAFARI/CoMeT.
翻译:我们提出一种新型RowHammer缓解机制CoMeT,该机制在极低RowHammer阈值下,以较低的面积、性能和能耗开销防止DRAM系统中的RowHammer比特翻转。CoMeT的核心思想是采用低成本、可扩展的基于哈希的计数器跟踪DRAM行激活情况。CoMeT应用Count-Min Sketch技术,通过多个哈希函数将每个DRAM行尽可能唯一地映射到一组计数器。当DRAM行被激活时,CoMeT递增映射到该行的计数器。由于DRAM行到计数器的映射并非完全唯一,激活一行可能同时递增映射到另一行的多个计数器。因此,CoMeT可能高估但绝不会低估DRAM行的激活计数。这一特性使CoMeT能够安全地防止RowHammer比特翻转,同时通过合理配置哈希函数减少高估现象。由此,CoMeT:1)实现的计数器数量显著少于DRAM bank中的行数;2)不会严重高估DRAM行的激活计数。全面评估表明,在极低RowHammer阈值125下,CoMeT对61个良性单核工作负载的平均性能开销仅为4.01%(归一化至无RowHammer缓解的系统)。CoMeT在性能、能耗和面积开销之间取得了良好平衡。与最优的现有缓解方案相比,CoMeT在RowHammer阈值125下所需面积开销降低74.2倍,且在所有RowHammer阈值下平均性能开销极小。与最优的低面积开销机制相比,在极低RowHammer阈值125下,CoMeT性能提升高达39.1%,同时面积开销相近。CoMeT已开源免费发布至https://github.com/CMU-SAFARI/CoMeT。