{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,14]],"date-time":"2026-05-14T00:05:50Z","timestamp":1778717150844,"version":"3.51.4"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,5,11]],"date-time":"2017-05-11T00:00:00Z","timestamp":1494460800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-1464429, CNS-1253424, CCF-1527506 and CCF-1527464"],"award-info":[{"award-number":["CNS-1464429, CNS-1253424, CCF-1527506 and CCF-1527464"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2017,11,30]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/3063130","type":"journal-article","created":{"date-parts":[[2017,5,11]],"date-time":"2017-05-11T12:51:05Z","timestamp":1494507065000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Exploiting Multiple Write Modes of Nonvolatile Main Memory in Embedded Systems"],"prefix":"10.1145","volume":"16","author":[{"given":"Chen","family":"Pan","sequence":"first","affiliation":[{"name":"Oklahoma State University, Stillwater, OK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mimi","family":"Xie","sequence":"additional","affiliation":[{"name":"Oklahoma State University, Stillwater, OK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chengmo","family":"Yang","sequence":"additional","affiliation":[{"name":"University of Delaware, Newark, DE"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yiran","family":"Chen","sequence":"additional","affiliation":[{"name":"Duke University, Durham, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jingtong","family":"Hu","sequence":"additional","affiliation":[{"name":"Oklahoma State University, Stillwater, OK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,5,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6168941"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2013.130"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555349.1555371"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629911.1630086"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1687399.1687449"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2010.5456923"},{"key":"e_1_2_1_7_1","unstructured":"GNU Project. 2016. GNU Compiler Collection. Retrieved from http:\/\/gcc.gnu.org\/.  GNU Project. 2016. GNU Compiler Collection. Retrieved from http:\/\/gcc.gnu.org\/."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1966.tb01709.x"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669118"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/WWC.2001.990739"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2009.2034380"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2010.2097307"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6169027"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228406"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749742"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 30th Annual ACM\/IEEE International Symposium on Microarchitecture (MICRO 30)","author":"Lee Chunho"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2013.258"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2534393"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499369.2465564"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2014.2360527"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2333660.2333738"},{"key":"e_1_2_1_23_1","volume-title":"2013 18th Asia and South Pacific and Design Automation Conference (ASP-DAC'13)","author":"Liu Duo"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/TMSCS.2016.2525999"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656075.2656076"},{"key":"e_1_2_1_26_1","volume-title":"2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'14)","author":"Pan Chen","year":"2014"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/EMSOFT.2015.7318275"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/NVSMW.2008.17"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TED.2007.904976"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/JSSC.2009.2034414"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2401603.2401689"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749716"},{"key":"e_1_2_1_33_1","unstructured":"Hamza Bin Sohail Balajee Vamanan and T. N. Vijaykumar. 2012. MigrantStore: Leveraging Virtual Memory in DRAM-PCM Memory Architecture. Technical Report.  Hamza Bin Sohail Balajee Vamanan and T. N. Vijaykumar. 2012. MigrantStore: Leveraging Virtual Memory in DRAM-PCM Memory Architecture. Technical Report."},{"key":"e_1_2_1_34_1","unstructured":"John H. Thompson. 2016. Lingo System. Retrieved from http:\/\/www.lindo.com\/.  John H. Thompson. 2016. Lingo System. Retrieved from http:\/\/www.lindo.com\/."},{"key":"e_1_2_1_35_1","volume-title":"2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'14)","author":"Xie Mimi","year":"2014"},{"key":"e_1_2_1_36_1","volume-title":"2015 20th Asia and South Pacific Design Automation Conference (ASP-DAC'15)","author":"Xie Mimi"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463209.2488867"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2011.5958219"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555815.1555759"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1687399.1687448"},{"key":"e_1_2_1_41_1","unstructured":"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).  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)."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3063130","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3063130","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3063130","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:36:33Z","timestamp":1750217793000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3063130"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,5,11]]},"references-count":41,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,11,30]]}},"alternative-id":["10.1145\/3063130"],"URL":"https:\/\/doi.org\/10.1145\/3063130","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,5,11]]},"assertion":[{"value":"2016-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-05-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}