3M-PCM: Exploiting multiple write modes MLC phase change main memory in embedded systems

Multi-level Cell (MLC) Phase Change Memory (PCM) has many attractive features to be used as main memory for embedded systems. These features include low power, high density, and better scalability. However, there are also two drawbacks in MLC PCM, namely, limited write endurance and expensive write operation, that need to be overcome in order to practically adopt MLC PCM as main memory. In MLC PCM, two different types of write operations with very diverse data retention time are allowed. The first type maintains data for years, but takes longer time to write and hurts the endurance. The second type maintains data for a short period, but takes shorter time to write and hurts the endurance less. By observing that many data written to main memory are temporary and do not need to last long during the execution of a program, in this paper, we propose novel task scheduling and write operation selection algorithms to improve MLC PCM endurance and program efficiency. An Integer Linear Programming (ILP) formulation is first proposed to obtain optimal results. Since ILP takes exponential time to solve, we also propose a Multi-Write Mode Aware Scheduling (MMAS) heuristic to achieve near-optimal solution in polynomial time. The experimental results show that the proposed techniques can greatly improve the lifetime of MLC PCM as well as the efficiency of the program.

[1]  Wei-Che Tseng,et al.  Towards energy efficient hybrid on-chip Scratch Pad Memory with non-volatile memory , 2011, 2011 Design, Automation & Test in Europe.

[2]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[3]  Jianhua Li,et al.  MAC: migration-aware compilation for STT-RAM based hybrid cache in embedded systems , 2012, ISLPED '12.

[4]  Tohru Ozaki,et al.  A 1.6 GB/s DDR2 128 Mb Chain FeRAM With Scalable Octal Bitline and Sensing Schemes , 2010, IEEE Journal of Solid-State Circuits.

[5]  Yiran Chen,et al.  Compiler-assisted refresh minimization for volatile STT-RAM cache , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[6]  Kyu Ho Park,et al.  Adaptive page grouping for energy efficiency in hybrid PRAM-DRAM main memory , 2012, RACS.

[7]  Aviral Shrivastava,et al.  Automatic and efficient heap data management for Limited Local Memory multicore architectures , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  T. N. Vijaykumar,et al.  MigrantStore: Leveraging Virtual Memory in DRAM-PCM Memory Architecture , 2015, ArXiv.

[9]  Rami G. Melhem,et al.  Increasing PCM main memory lifetime , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[10]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[11]  Norman P. Jouppi,et al.  Understanding the trade-offs in multi-level cell ReRAM memory design , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[12]  Mircea R. Stan,et al.  Relaxing non-volatility for fast and energy-efficient STT-RAM caches , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[13]  Onur Mutlu,et al.  Architecting phase change memory as a scalable dram alternative , 2009, ISCA '09.

[14]  Tao Li,et al.  Helmet: A resistance drift resilient architecture for multi-level cell phase change memory system , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[15]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

[16]  Chita R. Das,et al.  Cache revive: Architecting volatile STT-RAM caches for enhanced performance in CMPs , 2012, DAC Design Automation Conference 2012.

[17]  Yanxiang He,et al.  Compiler directed write-mode selection for high performance low power volatile PCM , 2013, LCTES '13.

[18]  Tohru Ozaki,et al.  A 64-Mb Chain FeRAM With Quad BL Architecture and 200 MB/s Burst Mode , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[19]  Jun Yang,et al.  A durable and energy efficient main memory using phase change memory technology , 2009, ISCA '09.

[20]  Hiroaki Takada,et al.  Partitioning and allocation of scratch-pad memory for priority-based preemptive multi-task systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[21]  Yuan Xie,et al.  PCRAMsim: System-level performance, energy, and area modeling for Phase-Change RAM , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[22]  Edwin Hsing-Mean Sha,et al.  Curling-PCM: Application-specific wear leveling for phase change memory based embedded systems , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[23]  Jun Yang,et al.  Energy reduction for STT-RAM using early write termination , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[24]  Jun Yang,et al.  Improving write operations in MLC phase change memory , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[25]  Yiran Chen,et al.  Low-energy volatile STT-RAM cache design using cache-coherence-enabled adaptive refresh , 2013, TODE.

[26]  Yiran Chen,et al.  Cache coherence enabled adaptive refresh for volatile STT-RAM , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[27]  Vijayalakshmi Srinivasan,et al.  Efficient scrub mechanisms for error-prone emerging memories , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[28]  A. Pirovano,et al.  Numerical Implementation of Low Field Resistance Drift for Phase Change Memory Simulations , 2008, 2008 Joint Non-Volatile Semiconductor Memory Workshop and International Conference on Memory Technology and Design.

[29]  D. Ielmini,et al.  Analytical Modeling of Chalcogenide Crystallization for PCM Data-Retention Extrapolation , 2007, IEEE Transactions on Electron Devices.

[30]  Tajana Simunic,et al.  PDRAM: A hybrid PRAM and DRAM main memory system , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[31]  Tao Li,et al.  Mercury: A fast and energy-efficient multi-level cell based Phase Change Memory system , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.