M-CLOCK

Phase Change Memory (PCM) has drawn great attention as a main memory due to its attractive characteristics such as non-volatility, byte-addressability, and in-place update. However, since the capacity of PCM is not fully mature yet, hybrid memory architecture that consists of DRAM and PCM has been suggested as a main memory. In addition, page replacement algorithm based on hybrid memory architecture is actively being studied, because existing page replacement algorithms cannot be used on hybrid memory architecture in that they do not consider the two weaknesses of PCM: high write latency and low endurance. In this article, to mitigate the above hardware limitations of PCM, we revisit the page cache layer for the hybrid memory architecture and propose a novel page replacement algorithm, called M-CLOCK, to improve the performance of hybrid memory architecture and the lifespan of PCM. In particular, M-CLOCK aims to reduce the number of PCM writes that negatively affect the performance of hybrid memory architecture. Experimental results clearly show that M-CLOCK outperforms the state-of-the-art page replacement algorithms in terms of the number of PCM writes and effective memory access time by up to 98% and 9.4 times, respectively.

[1]  Hyojun Kim,et al.  Evaluating Phase Change Memory for Enterprise Storage Systems: A Study of Caching and Tiering Approaches , 2014, TOS.

[2]  Chia-Lin Yang,et al.  A buffer cache architecture for smartphones with hybrid DRAM/PCM memory , 2015, 2015 IEEE Non-Volatile Memory System and Applications Symposium (NVMSA).

[3]  YangJun,et al.  A durable and energy efficient main memory using phase change memory technology , 2009 .

[4]  K QureshiMoinuddin,et al.  Scalable high performance main memory system using phase-change memory technology , 2009 .

[5]  Edwin Hsing-Mean Sha,et al.  Building high-performance smartphones via non-volatile memory: The swap approach , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[6]  梅村 恭司 Andrew S.Tanenbaum 著, "Operating systems, Design and implementation", PRENTICE-HALL, INC., Englewood Cliffs, B5変形判, 719p., \4,120 , 1988 .

[7]  Sunggu Lee,et al.  Hybrid DRAM/PRAM-based main memory for single-chip CPU/GPU , 2012, DAC Design Automation Conference 2012.

[8]  Song Jiang,et al.  CLOCK-Pro: An Effective Improvement of the CLOCK Replacement , 2005, USENIX Annual Technical Conference, General Track.

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

[10]  Andrew S. Tanenbaum,et al.  Operating systems: design and implementation , 1987, Prentice-Hall software series.

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

[12]  Rachata Ausavarungnirun,et al.  Row buffer locality aware caching policies for hybrid memories , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

[13]  Sean Eilert,et al.  Phase Change Memory: A New Memory Enables New Memory Usage Models , 2009, 2009 IEEE International Memory Workshop.

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

[15]  Eunji Lee,et al.  Reducing write amplification of flash storage through Cooperative Data Management with NVM , 2016, 2016 32nd Symposium on Mass Storage Systems and Technologies (MSST).

[16]  Sunggu Lee,et al.  FPGA-based prototyping systems for emerging memory technologies , 2014, 2014 25nd IEEE International Symposium on Rapid System Prototyping.

[17]  Ricardo Bianchini,et al.  Page placement in hybrid memory systems , 2011, ICS '11.

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

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

[20]  Karsten Schwan,et al.  Data tiering in heterogeneous memory systems , 2016, EuroSys.

[21]  Edwin Hsing-Mean Sha,et al.  The design of an efficient swap mechanism for hybrid DRAM-NVM systems , 2016, 2016 International Conference on Embedded Software (EMSOFT).

[22]  Jun Yang,et al.  Phase-Change Technology and the Future of Main Memory , 2010, IEEE Micro.

[23]  Hyokyung Bahn,et al.  CLOCK-DWF: A Write-History-Aware Page Replacement Algorithm for Hybrid PCM and DRAM Memory Architectures , 2014, IEEE Transactions on Computers.

[24]  Young Ik Eom,et al.  FSLRU: a page cache algorithm for mobile devices with hybrid memory architecture , 2016, IEEE Transactions on Consumer Electronics.

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

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

[27]  Ki-Whan Song,et al.  A 58nm 1.8V 1Gb PRAM with 6.4MB/s program BW , 2011, 2011 IEEE International Solid-State Circuits Conference.