Improving DRAM performance by parallelizing refreshes with accesses
- 1 February 2014
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Modern DRAM cells are periodically refreshed to prevent data loss due to leakage. Commodity DDR (double data rate) DRAM refreshes cells at the rank level. This degrades performance significantly because it prevents an entire DRAM rank from serving memory requests while being refreshed. DRAM designed for mobile platforms, LPDDR (low power DDR) DRAM, supports an enhanced mode, called per-bank refresh, that refreshes cells at the bank level. This enables a bank to be accessed while another in the same rank is being refreshed, alleviating part of the negative performance impact of refreshes. Unfortunately, there are two shortcomings of per-bank refresh employed in today's systems. First, we observe that the perbank refresh scheduling scheme does not exploit the full potential of overlapping refreshes with accesses across banks because it restricts the banks to be refreshed in a sequential round-robin order. Second, accesses to a bank that is being refreshed have to wait. To mitigate the negative performance impact of DRAM refresh, we propose two complementary mechanisms, DARP (Dynamic Access Refresh Parallelization) and SARP (Subarray Access Refresh Parallelization). The goal is to address the drawbacks of per-bank refresh by building more efficient techniques to parallelize refreshes and accesses within DRAM. First, instead of issuing per-bank refreshes in a round-robin order, as it is done today, DARP issues per-bank refreshes to idle banks in an out-of-order manner. Furthermore, DARP proactively schedules refreshes during intervals when a batch of writes are draining to DRAM. Second, SARP exploits the existence of mostly-independent subarrays within a bank. With minor modifications to DRAM organization, it allows a bank to serve memory accesses to an idle subarray while another subarray is being refreshed. Extensive evaluations on a wide variety of workloads and systems show that our mechanisms improve system performance (and energy efficiency) compared to three state-of-the-art refresh policies and the performance benefit increases as DRAM density increases.Keywords
This publication has 21 references indexed in Scilit:
- A case for Refresh Pausing in DRAM memory systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2013
- A case for exploiting subarray-level parallelism (SALP) in DRAMPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2012
- DRAMSim2: A Cycle Accurate Memory System SimulatorIEEE Computer Architecture Letters, 2011
- Coordinating DRAM and Last-Level-Cache Policies with the Virtual Write QueueIEEE Micro, 2010
- Thread Cluster Memory Scheduling: Exploiting Differences in Memory Access BehaviorPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- Elastic Refresh: Techniques to Mitigate Refresh Penalties in High Density MemoryPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- Improving memory bank-level parallelism in the presence of prefetchingPublished by Association for Computing Machinery (ACM) ,2009
- Retention-Aware Placement in DRAM (RAPID): Software Methods for Quasi-Non-Volatile DRAMPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- An 800-MHz embedded DRAM with a concurrent refresh modeIEEE Journal of Solid-State Circuits, 2005
- Symbiotic jobscheduling for a simultaneous multithreaded processorPublished by Association for Computing Machinery (ACM) ,2000