A programmable memory controller for the DDRx interfacing standards
- 20 December 2013
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 31 (4), 1-31
- https://doi.org/10.1145/2534845
Abstract
Modern memory controllers employ sophisticated address mapping, command scheduling, and power management optimizations to alleviate the adverse effects of DRAM timing and resource constraints on system performance. A promising way of improving the versatility and efficiency of these controllers is to make them programmable—a proven technique that has seen wide use in other control tasks, ranging from DMA scheduling to NAND Flash and directory control. Unfortunately, the stringent latency and throughput requirements of modern DDRx devices have rendered such programmability largely impractical, confining DDRx controllers to fixed-function hardware. This article presents the instruction set architecture (ISA) and hardware implementation of PARDIS, a programmable memory controller that can meet the performance requirements of a high-speed DDRx interface. The proposed controller is evaluated by mapping previously proposed DRAM scheduling, address mapping, refresh scheduling, and power management algorithms onto PARDIS. Simulation results show that the average performance of PARDIS comes within 8% of fixed-function hardware for each of these techniques; moreover, by enabling application-specific optimizations, PARDIS improves system performance by 6 to 17% and reduces DRAM energy by 9 to 22% over four existing memory controllers.Keywords
Funding Information
- Division of Computing and Communication Foundations (CCF-1217418)
This publication has 24 references indexed in Scilit:
- Limiting the power consumption of main memoryPublished by Association for Computing Machinery (ACM) ,2007
- MineBench: A Benchmark Suite for Data Mining WorkloadsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- An efficient quality-aware memory controller for multimedia platform SoCIEEE Transactions on Circuits and Systems for Video Technology, 2005
- A fully-programmable memory management system optimizing queue handling at multi gigabit ratesPublished by Association for Computing Machinery (ACM) ,2003
- A permutation-based page interleaving scheme to reduce row-buffer conflicts and exploit data localityPublished by Association for Computing Machinery (ACM) ,2000
- Memory access schedulingPublished by Association for Computing Machinery (ACM) ,2000
- Design verification of the S3.mp cache-coherent shared-memory systemInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1998
- OpenMP: an industry standard API for shared-memory programmingIEEE Computational Science and Engineering, 1998
- CACTI: an enhanced cache access and cycle time modelIEEE Journal of Solid-State Circuits, 1996
- The SPLASH-2 programsPublished by Association for Computing Machinery (ACM) ,1995