Skip to main content
QUICK REVIEW

[论文解读] DRAM Bender: An Extensible and Versatile FPGA-based Infrastructure to Easily Test State-of-the-art DRAM Chips

Ataberk Olgun, Hasan Hassan|arXiv (Cornell University)|Nov 10, 2022
Security and Verification in Computing被引用 3
一句话总结

DRAM Bender 是一个开源的、基于FPGA的基础设施,通过灵活可扩展的API,使研究人员能够直接、低级别地访问最先进的DRAM芯片。它允许用户以细粒度的定时控制发出任意DRAM命令,支持C++和Python接口,并已成功移植到五块FPGA开发板上,支持DDR3和DDR4,从而揭示了DRAM行为的新见解,包括扩展的RowHammer位翻转检测。

ABSTRACT

To understand and improve DRAM performance, reliability, security and energy efficiency, prior works study characteristics of commodity DRAM chips. Unfortunately, state-of-the-art open source infrastructures capable of conducting such studies are obsolete, poorly supported, or difficult to use, or their inflexibility limit the types of studies they can conduct. We propose DRAM Bender, a new FPGA-based infrastructure that enables experimental studies on state-of-the-art DRAM chips. DRAM Bender offers three key features at the same time. First, DRAM Bender enables directly interfacing with a DRAM chip through its low-level interface. This allows users to issue DRAM commands in arbitrary order and with finer-grained time intervals compared to other open source infrastructures. Second, DRAM Bender exposes easy-to-use C++ and Python programming interfaces, allowing users to quickly and easily develop different types of DRAM experiments. Third, DRAM Bender is easily extensible. The modular design of DRAM Bender allows extending it to (i) support existing and emerging DRAM interfaces, and (ii) run on new commercial or custom FPGA boards with little effort. To demonstrate that DRAM Bender is a versatile infrastructure, we conduct three case studies, two of which lead to new observations about the DRAM RowHammer vulnerability. In particular, we show that data patterns supported by DRAM Bender uncovers a larger set of bit-flips on a victim row compared to the data patterns commonly used by prior work. We demonstrate the extensibility of DRAM Bender by implementing it on five different FPGAs with DDR4 and DDR3 support. DRAM Bender is freely and openly available at https://github.com/CMU-SAFARI/DRAM-Bender.

研究动机与目标

  • 解决现有开源DRAM测试基础设施的局限性,包括过时、难以使用或限制低级别DRAM访问的问题。
  • 使研究人员能够对真实DRAM芯片进行实验研究,完全控制命令序列和定时。
  • 提供模块化、可扩展的设计,以极小的代价支持新的DRAM接口和FPGA开发板。
  • 通过直接的硬件实验,促进在DRAM可靠性、安全性、性能和能效方面的新发现。

提出的方法

  • 设计一种模块化的基于FPGA的基础设施,直接向用户程序暴露DRAM芯片的低级别接口。
  • 实现一种非限制性的C++和Python API,支持任意命令排序和亚10纳秒的定时分辨率。
  • 采用分层的软硬件栈,抽象DRAM协议细节的同时保留低级别控制能力。
  • 通过可配置、可重用的组件,支持多种FPGA开发板(Xilinx和Bittware)以及DDR3/DDR4接口。
  • 正在集成一种基于采样电阻、高精度电流传感器和万用表的功耗测量系统。
  • 设计为可扩展,以支持未来DRAM接口(如DDR5)和打包式3D堆叠DRAM。

实验结果

研究问题

  • RQ1新的开源FPGA基础设施是否能够实现对现代DRAM芯片的直接、低级别访问,并具备细粒度定时控制?
  • RQ2通过不受限的命令序列和数据模式,能否揭示关于DRAM行为(如RowHammer位翻转)的新见解?
  • RQ3此类基础设施在支持新型DRAM接口(如DDR5)和新型FPGA平台方面,扩展的难易程度如何?
  • RQ4与现有工具相比,该基础设施的灵活性在多大程度上提升了对未记录DRAM行为的发现能力?
  • RQ5该基础设施是否能够有效部署并跨多种FPGA硬件平台使用,且移植工作量极小?

主要发现

  • DRAM Bender 支持亚10纳秒定时分辨率的任意DRAM命令序列,超越了先前工具(如LiteX RowHammer Tester)10纳秒的最小延迟限制。
  • 通过自定义数据模式,DRAM Bender 检测到的RowHammer引发的位翻转数量多于以往报告,揭示了此前未被发现的漏洞。
  • 该基础设施已成功移植到五种不同FPGA开发板上(两块Xilinx和三块Bittware),证明了其强大的硬件可移植性和可扩展性。
  • 模块化设计使得通过极少代码修改即可轻松集成新的DRAM接口和FPGA平台。
  • 正在开发的功耗测量系统基于采样电阻和高精度传感器,可支持能效研究。
  • 该基础设施支持C++和Python API,显著提升了易用性,并减少了新实验的开发时间。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。