skip to main content
research-article
Public Access

Exploiting Multiple Write Modes of Nonvolatile Main Memory in Embedded Systems

Published:11 May 2017Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. GNU Project. 2016. GNU Compiler Collection. Retrieved from http://gcc.gnu.org/.Google ScholarGoogle Scholar
  8. Ron Graham. 1966. Bounds for certain multiprocessing anomalies. Bell System Technical Journal 45 (1966), 1563--1581. Google ScholarGoogle ScholarCross RefCross Ref
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarCross RefCross Ref
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarCross RefCross Ref
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarCross RefCross Ref
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle ScholarCross RefCross Ref
  30. 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 ScholarGoogle ScholarCross RefCross Ref
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. Hamza Bin Sohail, Balajee Vamanan, and T. N. Vijaykumar. 2012. MigrantStore: Leveraging Virtual Memory in DRAM-PCM Memory Architecture. Technical Report.Google ScholarGoogle Scholar
  34. John H. Thompson. 2016. Lingo System. Retrieved from http://www.lindo.com/.Google ScholarGoogle Scholar
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle Scholar

Index Terms

  1. Exploiting Multiple Write Modes of Nonvolatile Main Memory in Embedded Systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 16, Issue 4
      Special Issue on Secure and Fault-Tolerant Embedded Computing and Regular Papers
      November 2017
      614 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/3092956
      Issue’s Table of Contents

      Copyright © 2017 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 May 2017
      • Accepted: 1 February 2017
      • Revised: 1 December 2016
      • Received: 1 May 2016
      Published in tecs Volume 16, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader