通过并行化刷新与访问提升DRAM性能
摘要
现代DRAM单元被定期刷新以防止因泄漏导致数据丢失。商用DDR DRAM在rank级别刷新单元。这显著降低了性能,因为在刷新期间它阻止整个rank服务于内存请求。为移动平台设计的DRAM,即LPDDR DRAM,支持一种增强模式,称为逐bank刷新,在bank级别刷新单元。这使得在同一rank中某个bank被刷新时可访问另一bank,缓解了刷新带来的部分负面性能影响。然而,逐bank刷新有两个缺陷。首先,逐bank刷新调度方案未充分利用跨bank重叠刷新与访问的潜力,因为它限制bank以顺序轮询顺序刷新。其次,对被刷新bank的访问必须等待。为缓解DRAM刷新的负面性能影响,我们提出两种互补机制,DARP(动态访问刷新并行化)和SARP(子阵列访问刷新并行化)。目标是通过构建更高效的DRAM内刷新与访问并行化技术来解决逐bank刷新的弊端。首先,DARP不以轮询顺序发出逐bank刷新,而是以乱序方式向空闲bank发出逐bank刷新。此外,DARP在一批写操作排向DRAM的间隔期间调度刷新。其次,SARP利用bank内大多独立的子阵列的存在。通过对DRAM组织稍作修改,它允许bank在某一子阵列被刷新时服务于对空闲子阵列的内存访问。大量评估表明,与最先进的刷新策略相比,我们的机制提升了系统性能与能效,且收益随DRAM密度增加而增大。
引用
@article{arxiv.1712.07754,
title = {Improving DRAM Performance by Parallelizing Refreshes with Accesses},
author = {Kevin K. Chang and Donghyuk Lee and Zeshan Chishti and Alaa R. Alameldeen and Chris Wilkerson and Yoongu Kim and Onur Mutlu},
journal= {arXiv preprint arXiv:1712.07754},
year = {2017}
}
备注
The original paper published in the International Symposium on High-Performance Computer Architecture (HPCA) contains an error. The arxiv version has an erratum that describes the error and the fix for it