Wear-Leveling Aware Data Allocation for Chip Multiprocessors with Non-Volatile Memory

Non-Volatile Memory (NVM) has many advantages that provide new choice for embedded storage systems. However, the NVM has a limited number of writes and the overhead of write operation is greater than read operation. In order to overcome these drawbacks, it is necessary to reduce the read and write overhead of the NVM and make the NVM wear-leveling. In this paper, we use Iterational Optimal Data Allocation (IODA) algorithm to achieve the global minimum read and write overhead data allocation, and then, we propose Greedy and Global Balance Optimization Allocation (GBOA) algorithm to allocate NVM data into blocks to achieve NVM wear-leveling at the software-level. Experimental results show that the lifetime of NVM based on the Greedy algorithm is improved by 37.96% and the GBOA is improved by 49.52% compared to the Random algorithm on average, while we can obtain the global minimum read and write overhead.

[1]  Peiquan Jin,et al.  Efficient Memory Management for NVM-Based Hybrid Memory Systems , 2016 .

[2]  Jeffrey S. Vetter,et al.  Algorithm-Directed Data Placement in Explicitly Managed Non-Volatile Memory , 2016, HPDC.

[3]  Reza Salkhordeh,et al.  An Operating System level data migration scheme in hybrid DRAM-NVM memory architecture , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  Yiran Chen,et al.  Emerging non-volatile memories: Opportunities and challenges , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

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

[6]  Chien Tsai-Kan,et al.  Memory access algorithm for low energy CPU/GPU heterogeneous systems with hybrid DRAM/NVM memory architecture , 2016 .

[7]  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).

[8]  Kenli Li,et al.  Energy Optimization for Data Allocation With Hybrid SRAM+NVM SPM , 2018, IEEE Transactions on Circuits and Systems I: Regular Papers.

[9]  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).

[10]  Gang Wu,et al.  CAR: Securing PCM Main Memory System with Cache Address Remapping , 2012, 2012 IEEE 18th International Conference on Parallel and Distributed Systems.

[11]  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.

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

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

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

[15]  Didem Unat Erten Access pattern-aware data placement for hybrid DRAM/NVM , 2017 .

[16]  An Chen,et al.  A review of emerging non-volatile memory (NVM) technologies and applications , 2016 .

[17]  Jeffrey S. Vetter,et al.  A Technique for Improving Lifetime of Non-Volatile Caches Using Write-Minimization , 2016 .

[18]  Edwin Hsing-Mean Sha,et al.  Optimizing Data Allocation for Loops on Embedded Systems with Scratch-Pad Memory , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.