The least-dirty-first cache replacement policy for phase-change memory

Phase-change memory (PCM) is a promising non-volatile memory technology that is anticipated to be used as main memory of computer systems in the not too far future. However, PCM has relatively long write latency and limited write endurance compared to DRAM. To mitigate these limitations of PCM, this paper presents a new last-level cache replacement policy that reduces the write traffic to PCM memory by considering the dirtiness of cache blocks when making a replacement decision. Specifically, the proposed policy tracks the dirtiness of a block at the granularity of a sub-block (i.e., cache line) and replaces a block with the least number of dirty sub-blocks among blocks not recently used. Experimental results with various workloads show that the proposed policy reduces the amount of data written to PCM by 26% and 17% on average and up to 52% and 33% compared to NRU and RRIP, respectively, without performance degradations. It also extends the lifespan of PCM by 31% and reduces the energy consumption of PCM by 19% on average.

[1]  Sangyeun Cho,et al.  A content-aware block placement algorithm for reducing PRAM storage bit writes , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[2]  Hsien-Hsin S. Lee,et al.  Security refresh: prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping , 2010, ISCA.

[3]  Hyunjin Lee,et al.  Flip-N-Write: A simple deterministic technique to improve PRAM write performance, energy and endurance , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[4]  Kyu Ho Park,et al.  Efficient page caching algorithm with prediction and migration for a hybrid main memory , 2011, SIAP.

[5]  Aamer Jaleel,et al.  High performance cache replacement using re-reference interval prediction (RRIP) , 2010, ISCA.

[6]  Paolo Faraboschi,et al.  Operating System Support for NVM+DRAM Hybrid Main Memory , 2009, HotOS.

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

[8]  Vijayalakshmi Srinivasan,et al.  Enhancing lifetime and security of PCM-based Main Memory with Start-Gap Wear Leveling , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[9]  Vijayalakshmi Srinivasan,et al.  Scalable high performance main memory system using phase-change memory technology , 2009, ISCA '09.

[10]  Seung-Yun Lee,et al.  A Low Power Phase-Change Random Access Memory using a Data-Comparison Write Scheme , 2007, 2007 IEEE International Symposium on Circuits and Systems.

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

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

[13]  Rami G. Melhem,et al.  Writeback-aware partitioning and replacement for last-level caches in phase change main memory systems , 2012, TACO.

[14]  Nicholas Nethercote,et al.  Valgrind: A Program Supervision Framework , 2003, RV@CAV.

[15]  Hyokyung Bahn,et al.  Characterizing Memory Write References for Efficient Management of Hybrid PCM and DRAM Memory , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[16]  Eunji Lee,et al.  Unioning of the buffer cache and journaling layers with non-volatile memory , 2013, FAST.