Abstract
Existing Nonvolatile Memories (NVMs) have many attractive features to be the main memory of embedded systems. These features include low power, high density, and better scalability. Recently, Multilevel Cell (MLC) NVM has gained more and more popularity as it can provide a higher density than the traditional Single-Level Cell (SLC) NVM. However, there are also drawbacks in MLC NVM, namely, limited write endurance and expensive write operation. These two drawbacks have to be overcome before MLC NVM can be practically adopted as the main memory. In MLC Nonvolatile Main Memory (NVMM), two different types of write operations with very diverse data retention times are allowed. The first type maintains data for years but takes a longer time to write and is detrimental to the endurance. The second type maintains data for a short period but takes a shorter time to write. By observing that much of the data written to main memory is temporary and does not need to last long during the execution of a program, in this article, we propose novel task scheduling and write operation selection algorithms to improve MLC NVMM 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 the Multiwrite Mode-Aware Scheduling (MMAS) algorithm to achieve a near-optimal solution in polynomial time. Additionally, the Dynamical Memory Block Screening (DMS) algorithm is proposed to achieve wear leveling. The experimental results demonstrate that the proposed techniques can greatly improve the lifetime of the MLC NVMM as well as the efficiency of the program.
- Manu Awasthi, Manjunath Shevgoor, Kshitij Sudan, Bipin Rajendran, Rajeev Balasubramonian, and Viji Srinivasan. 2012. Efficient scrub mechanisms for error-prone emerging memories. In 2012 IEEE 18th International Symposium on High Performance Computer Architecture (HPCA'12). IEEE, 1--12. Google ScholarDigital Library
- Ke Bai and Aviral Shrivastava. 2013. Automatic and efficient heap data management for limited local memory multicore architectures. In Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE'13). IEEE, 593--598. Google ScholarCross Ref
- Feng Chen, David A. Koufaty, and Xiaodong Zhang. 2009. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In ACM SIGMETRICS Performance Evaluation Review, Vol. 37. 181--192. Google ScholarDigital Library
- Gaurav Dhiman, Raid Ayoub, and Tajana Rosing. 2009. PDRAM: A hybrid PRAM and DRAM main memory system. In 46th ACM/IEEE Conference on Design Automation Conference (DAC'09). IEEE, 664--669. Google ScholarDigital Library
- Xiangyu Dong, Norman P. Jouppi, and Yuan Xie. 2009. PCRAMsim: System-level performance, energy, and area modeling for phase-change RAM. In 2009 IEEE/ACM International Conference on Computer-Aided Design-Digest of Technical Papers (ICCAD'09). IEEE, 269--275. Google ScholarDigital Library
- Alexandre P. Ferreira, Miao Zhou, Santiago Bock, Bruce Childers, Rami Melhem, and Daniel Mossé. 2010. Increasing PCM main memory lifetime. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE'10). European Design and Automation Association, 914--919. Google ScholarCross Ref
- GNU Project. 2016. GNU Compiler Collection. Retrieved from http://gcc.gnu.org/.Google Scholar
- Ron Graham. 1966. Bounds for certain multiprocessing anomalies. Bell System Technical Journal 45 (1966), 1563--1581. Google ScholarCross Ref
- Laura M. Grupp, Adrian M. Caulfield, Joel Coburn, Steven Swanson, Eitan Yaakobi, Paul H. Siegel, and Jack K. Wolf. 2009. Characterizing flash memory: Anomalies, observations, and applications. In 42nd Annual IEEE/ACM International Symposium on Microarchitecture, 2009 (MICRO-42). IEEE, 24--33.Google ScholarDigital Library
- Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In IEEE International Workshop on Workload Characterization (WWC-4). IEEE, 3--14. Google ScholarCross Ref
- K. Hoya, D. Takashima, S. Shiratake, R. Ogiwara, T. Miyakawa, H. Shiga, S. M. Doumae, S. Ohtsuki, Y. Kumura, S. Shuto, and T. Ozaki. 2010. A 64-Mb chain FeRAM with quad BL architecture and 200 MB/s burst mode. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 18, 12 (2010), 1745--1752.Google ScholarDigital Library
- J. Hu, W. C. Tseng, C. J. Xue, Q. Zhuge, Y. Zhao, and E. H. M. Sha. 2011. Write activity minimization for nonvolatile main memory via scheduling and recomputation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 30, 4 (April 2011), 584--592. Google ScholarDigital Library
- Lei Jiang, Bo Zhao, Youtao Zhang, Jun Yang, and Bruce R. Childers. 2012. Improving write operations in MLC phase change memory. In 2012 IEEE 18th International Symposium on High Performance Computer Architecture (HPCA'12). IEEE, 1--10. Google ScholarDigital Library
- Adwait Jog, Asit K. Mishra, Cong Xu, Yuan Xie, Vijaykrishnan Narayanan, Ravishankar Iyer, and Chita R. Das. 2012. Cache revive: Architecting volatile STT-RAM caches for enhanced performance in CMPs. In Proceedings of the 49th Annual Design Automation Conference (DAC'12). ACM, 243--252. Google ScholarDigital Library
- Madhura Joshi, Wangyuan Zhang, and Tao Li. 2011. Mercury: A fast and energy-efficient multi-level cell based phase change memory system. In 2011 IEEE 17th International Symposium on High Performance Computer Architecture (HPCA'11). IEEE, 345--356. Google ScholarCross Ref
- Chunho Lee, Miodrag Potkonjak, and William H. Mangione-Smith. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communicatons systems. In Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture (MICRO 30). IEEE Computer Society, Washington, DC, USA, 330--335.Google ScholarDigital Library
- Benjamin C. Lee, Engin Ipek, Onur Mutlu, and Doug Burger. 2009. Architecting phase change memory as a scalable dram alternative. In ACM SIGARCH Computer Architecture News. ACM, 2--13. Google ScholarDigital Library
- JianHua Li, Liang Shi, Qing’an Li, Chun Jason Xue, Yiran Chen, and Yinlong Xu. 2013a. Cache coherence enabled adaptive refresh for volatile STT-RAM. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE'13). EDA Consortium, 1247--1250. Google ScholarCross Ref
- Jianhua Li, Liang Shi, Qingan Li, Chun Jason Xue, Yiran Chen, Yinlong Xu, and Wei Wang. 2013b. Low-energy volatile STT-RAM cache design using cache-coherence-enabled adaptive refresh. ACM Transactions on Design Automation of Electronic Systems (TODAES) 19 (2013), 5. Google ScholarDigital Library
- Qingan Li, Lei Jiang, Youtao Zhang, Yanxiang He, and Chun Jason Xue. 2013. Compiler directed write-mode selection for high performance low power volatile PCM. ACM SIGPLAN Notices 48, 5 (2013), 101--110. Google ScholarDigital Library
- Qingan Li, Yanxiang He, Jianhua Li, Liang Shi, Yiran Chen, and Chun Jason Xue. 2015. Compiler-assisted refresh minimization for volatile STT-RAM cache. IEEE Transactions on Computers 64, 8 (2015), 2169--2181. Google ScholarCross Ref
- Qingan Li, Jianhua Li, Liang Shi, Chun Jason Xue, and Yanxiang He. 2012. MAC: Migration-aware compilation for STT-RAM based hybrid cache in embedded systems. In Proceedings of the 2012 ACM/IEEE International Symposium on Low Power Electronics and Design (ISLPED'12). ACM, 351--356. Google ScholarDigital Library
- Duo Liu, Tianzheng Wang, Yi Wang, Zili Shao, Qingfeng Zhuge, and E. Sha. 2013. Curling-PCM: Application-specific wear leveling for phase change memory based embedded systems. In 2013 18th Asia and South Pacific and Design Automation Conference (ASP-DAC'13). IEEE, 279--284.Google Scholar
- C. Pan, S. Gu, M. Xie, Y. Liu, C. J. Xue, and J. Hu. 2016. Wear-leveling aware page management for non-volatile main memory on embedded systems. IEEE Transactions on Multi-Scale Computing Systems 2, 2(2016), 129--142. Google ScholarCross Ref
- Chen Pan, Mimi Xie, Jingtong Hu, Yiran Chen, and Chengmo Yang. 2014a. 3M-PCM: Exploiting multiple write modes MLC phase change main memory in embedded systems. In 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES'14). IEEE, 1--10. Google ScholarDigital Library
- Chen Pan, Mimi Xie, Jingtong Hu, Meikang Qiu, and Qingfeng Zhuge. 2014b. Wear-leveling for PCM main memory on embedded system via page management and process scheduling. In 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'14). IEEE, 1--9.Google Scholar
- Chen Pan, Mimi Xie, Chengmo Yang, Zili Shao, and Jingtong Hu. 2015. Nonvolatile main memory aware garbage collection in high-level language virtual machine. In 2015 International Conference on Embedded Software (EMSOFT'15). IEEE, 197--206. Google ScholarCross Ref
- A. Redaelli, A. Pirovano, A. Locatelli, and F. Pellizzer. 2008. Numerical implementation of low field resistance drift for phase change memory simulations. In Non-Volatile Semiconductor Memory Workshop and 2008 International Conference on Memory Technology and Design (NVSMW/ICMTD'08). IEEE, 39--42. Google ScholarCross Ref
- U. Russo, D. Ielmini, and A. L. Lacaita. 2007. Analytical modeling of chalcogenide crystallization for PCM data-retention extrapolation. IEEE Transactions on Electron Devices 54, 10 (Oct. 2007), 2769--2777. Google ScholarCross Ref
- H. Shiga, D. Takashima, S. I. Shiratake, K. Hoya, T. Miyakawa, R. Ogiwara, R. Fukuda, R. Takizawa, K. Hatsuda, F. Matsuoka, and Y. Nagadomi. 2010. A 1.6 GB/s DDR2 128 Mb chain FeRAM with scalable octal bitline and sensing schemes. IEEE Journal of Solid-State Circuits 45, 1 (2010), 142--152. Google ScholarCross Ref
- Dong-Jae Shin, Sung Kyu Park, Seong Min Kim, and Kyu Ho Park. 2012. Adaptive page grouping for energy efficiency in hybrid PRAM-DRAM main memory. In Proceedings of the 2012 ACM Research in Applied Computation Symposium (RACS'12). ACM, 395--402. Google ScholarDigital Library
- C. W. Smullen, V. Mohan, A. Nigam, S. Gurumurthi, and M. R. Stan. 2011. Relaxing non-volatility for fast and energy-efficient STT-RAM caches. In 2011 IEEE 17th International Symposium on High Performance Computer Architecture (HPCA'11). IEEE, 50--61. Google ScholarCross Ref
- Hamza Bin Sohail, Balajee Vamanan, and T. N. Vijaykumar. 2012. MigrantStore: Leveraging Virtual Memory in DRAM-PCM Memory Architecture. Technical Report.Google Scholar
- John H. Thompson. 2016. Lingo System. Retrieved from http://www.lindo.com/.Google Scholar
- Mimi Xie, Chen Pan, Jingtong Hu, Chun Jason Xue, and Qingfeng Zhuge. 2014. Non-volatile registers aware instruction selection for embedded systems. In 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'14). IEEE, 1--9.Google Scholar
- Mimi Xie, Chen Pan, Jingtong Hu, C. Yang, and Y. Chen. 2015. Checkpoint-aware instruction scheduling for nonvolatile processor with multiple functional units. In 2015 20th Asia and South Pacific Design Automation Conference (ASP-DAC'15). IEEE, 316--321.Google Scholar
- Cong Xu, Dimin Niu, Naveen Muralimanohar, Norman P. Jouppi, and Yuan Xie. 2013. Understanding the trade-offs in multi-level cell ReRAM memory design. In 2013 50th ACM/EDAC/IEEE and Design Automation Conference (DAC'13). IEEE, 1--6. Google ScholarDigital Library
- Wangyuan Zhang and Tao Li. 2011. Helmet: A resistance drift resilient architecture for multi-level cell phase change memory system. In 2011 IEEE/IFIP 41st International Conference on Dependable Systems 8 Networks (DSN'11). IEEE, 197--208. Google ScholarDigital Library
- Ping Zhou, Bo Zhao, Jun Yang, and Youtao Zhang. 2009a. A durable and energy efficient main memory using phase change memory technology. SIGARCH Computer Architecture News 37, 3 (June 2009), 14--23. Google ScholarDigital Library
- Ping Zhou, Bo Zhao, Jun Yang, and Youtao Zhang. 2009b. Energy reduction for STT-RAM using early write termination. In IEEE/ACM International Conference on Computer-Aided Design-Digest of Technical Papers, 2009 (ICCAD'09). IEEE, 264--268. Google ScholarDigital Library
- V. Zivojnovic, J. Martinez, C. Schlager, and H. Meyr. 1994. DSPstone: A DSP-oriented benchmarking methodology. In Int'l Conf. on Signal Processing and Technology, 1994 (ICSPAT'94).Google Scholar
Index Terms
- Exploiting Multiple Write Modes of Nonvolatile Main Memory in Embedded Systems
Recommendations
Write Activity Minimization for Nonvolatile Main Memory Via Scheduling and Recomputation
Nonvolatile memories such as Flash memory, phase change memory (PCM), and magnetic random access memory (MRAM) have many desirable characteristics for embedded systems to employ them as main memory. However, there are two common challenges we need to ...
Write-aware memory management for hybrid SLC-MLC PCM memory systems
In recent years, phase-change memory (PCM) has generated a great deal of interest because of its byte addressability and non-volatility properties. It is regarded as a good alternative storage medium that can reduce the performance gap between the main ...
Low Overhead Software Wear Leveling for Hybrid PCM + DRAM Main Memory on Embedded Systems
Phase change memory (PCM) is a promising DRAM replacement in embedded systems due to its attractive characteristics, such as low-cost, shock-resistivity, nonvolatility, high density, and low leakage power. However, relatively low endurance has limited its ...
Comments