Improving DRAM Performance by Parallelizing Refreshes with Accesses

12/21/2017
by   Kevin K. Chang, et al.
0

Modern DRAM cells are periodically refreshed to prevent data loss due to leakage. Commodity DDR DRAM refreshes cells at the rank level. This degrades performance significantly because it prevents an entire rank from serving memory requests while being refreshed. DRAM designed for mobile platforms, LPDDR 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. However, there are two shortcomings of per-bank refresh. First, the per-bank 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, DARP issues per-bank refreshes to idle banks in an out-of-order manner. Furthermore, DARP 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 show that our mechanisms improve system performance and energy efficiency compared to state-of-the-art refresh policies and the benefit increases as DRAM density increases.

READ FULL TEXT
research
05/02/2018

Reducing DRAM Refresh Overheads with Refresh-Access Parallelism

This article summarizes the idea of "refresh-access parallelism," which ...
research
05/04/2018

Exploiting the DRAM Microarchitecture to Increase Memory-Level Parallelism

This paper summarizes the idea of Subarray-Level Parallelism (SALP) in D...
research
01/18/2022

VAR-DRAM: Variation-Aware Framework for Efficient Dynamic Random Access Memory Design

Dynamic Random Access Memory (DRAM) is the de-facto choice for main memo...
research
06/28/2023

Retrospective: RAIDR: Retention-Aware Intelligent DRAM Refresh

Dynamic Random Access Memory (DRAM) is the prevalent memory technology u...
research
09/17/2020

FIGARO: Improving System Performance via Fine-Grained In-DRAM Data Relocation and Caching

DRAM Main memory is a performance bottleneck for many applications due t...
research
05/04/2022

DNA Pre-alignment Filter using Processing Near Racetrack Memory

Recent DNA pre-alignment filter designs employ DRAM for storing the refe...
research
01/03/2020

TrappeD: DRAM Trojan Designs for Information Leakage and Fault Injection Attacks

In this paper, we investigate the advanced circuit features such as word...

Please sign up or login with your details

Forgot password? Click here to reset