Flexible auto-refresh
- 13 June 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the 42nd Annual International Symposium on Computer Architecture
- p. 235-246
- https://doi.org/10.1145/2749469.2750408
Abstract
DRAM cells require periodic refreshing to preserve data. In JEDEC DDRx devices, a refresh operation is performed via an auto-refresh command, which refreshes multiple rows in multiple banks simultaneously. The internal implementation of auto-refresh is completely opaque outside the DRAM --- all the memory controller can do is to instruct the DRAM to refresh itself --- the DRAM handles all else, in particular determining which rows in which banks are to be refreshed. This is in conflict with a large body of research on reducing the refresh overhead, in which the memory controller needs fine-grained control over which regions of the memory are refreshed. For example, prior works exploit the fact that a subset of DRAM rows can be refreshed at a slower rate than other rows due to access rate or retention period variations. However, such row-granularity approaches cannot use the standard auto-refresh command, which refreshes an entire batch of rows at once and does not permit skipping of rows. Consequently, prior schemes are forced to use explicit sequences of activate (ACT) and precharge (PRE) operations to mimic row-level refreshing. The drawback is that, compared to using JEDEC's auto-refresh mechanism, using explicit ACT and PRE commands is inefficient, both in terms of performance and power. In this paper, we show that even when skipping a high percentage of refresh operations, existing row-granurality refresh techniques are mostly ineffective due to the inherent efficiency disparity between ACT/PRE and the JEDEC auto-refresh mechanism. We propose a modification to the DRAM that extends its existing control-register access protocol to include the DRAM's internal refresh counter. We also introduce a new \"dummy refresh\" command that skips refresh operations and simply increments the internal counter. We show that these modifications allow a memory controller to reduce as many refreshes as in prior work, while achieving significant energy and performance advantages by using auto-refresh most of the time.Keywords
Funding Information
- Intel Corporate Research Council's University Research Office
- United state department of energy
- Sandia National Laboratories
- United States Department of Defense
This publication has 22 references indexed in Scilit:
- DTailPublished by Association for Computing Machinery (ACM) ,2014
- Improving DRAM performance by parallelizing refreshes with accessesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Coordinated refresh: Energy efficient techniques for DRAM refresh schedulingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2013
- A case for exploiting subarray-level parallelism (SALP) in DRAMACM SIGARCH Computer Architecture News, 2012
- MARSSPublished by Association for Computing Machinery (ACM) ,2011
- SPEC CPU2006 benchmark descriptionsACM SIGARCH Computer Architecture News, 2006
- Retention-Aware Placement in DRAM (RAPID): Software Methods for Quasi-Non-Volatile DRAMPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- Memory access schedulingPublished by Association for Computing Machinery (ACM) ,2000
- On the retention time distribution of dynamic random access memory (DRAM)IEEE Transactions on Electron Devices, 1998
- Optimizing the DRAM refresh count for merged DRAM/logic LSIsPublished by Association for Computing Machinery (ACM) ,1998