{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,27]],"date-time":"2025-10-27T16:10:39Z","timestamp":1761581439144,"version":"3.41.0"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2016,6,28]],"date-time":"2016-06-28T00:00:00Z","timestamp":1467072000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2017,1,31]]},"abstract":"<jats:p>Improving PCM endurance is a fundamental issue when it is considered as an alternative to replace DRAM as main memory. Memory-based wear leveling (WL) is an effective way to improve PCM endurance, but its major challenge is how to efficiently determine the appropriate memory pages for allocation or swapping. In this article, we present a constant-cost WL design that is compatible with existing memory management. Two implementations, namely bucket-based and array-based WL, with constant-time (or nearly zero) search cost are proposed to be integrated into the OS layer and the hardware layer, respectively, as well as to trade between time and space complexity. The results of experiments conducted based on an implementation in Android, as well as simulations with popular benchmarks, to evaluate the effectiveness of the proposed design are very encouraging.<\/jats:p>","DOI":"10.1145\/2905364","type":"journal-article","created":{"date-parts":[[2016,6,29]],"date-time":"2016-06-29T12:56:52Z","timestamp":1467205012000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":19,"title":["Improving PCM Endurance with a Constant-Cost Wear Leveling Design"],"prefix":"10.1145","volume":"22","author":[{"given":"Yu-Ming","family":"Chang","sequence":"first","affiliation":[{"name":"Macronix, Taiwan"}]},{"given":"Pi-Cheng","family":"Hsiu","sequence":"additional","affiliation":[{"name":"Academia Sinica, Taiwan"}]},{"given":"Yuan-Hao","family":"Chang","sequence":"additional","affiliation":[{"name":"Academia Sinica, Taiwan"}]},{"given":"Chi-Hao","family":"Chen","sequence":"additional","affiliation":[{"name":"National Taiwan University, Taiwan"}]},{"given":"Tei-Wei","family":"Kuo","sequence":"additional","affiliation":[{"name":"Academia Sinica and National Taiwan University, Taiwan"}]},{"given":"Cheng-Yuan Michael","family":"Wang","sequence":"additional","affiliation":[{"name":"Macronix, Taiwan"}]}],"member":"320","published-online":{"date-parts":[[2016,6,28]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Retrieved","author":"Source Project Android Open","year":"2016","unstructured":"Android Open Source Project . 2016 . Home Page . Retrieved April 29, 2016, from https:\/\/source.android.com. Android Open Source Project. 2016. Home Page. Retrieved April 29, 2016, from https:\/\/source.android.com."},{"key":"e_1_2_1_2_1","unstructured":"ARM. Home Page. Retrieved April 29 2016 from http:\/\/www.arm.com.  ARM. Home Page. Retrieved April 29 2016 from http:\/\/www.arm.com."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699867"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699831"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1244002.1244248"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the IEEE RTAS Conference. 187--196","author":"Chang Li-Pin","year":"2002","unstructured":"Li-Pin Chang and Tei-Wei Kuo . 2002 . An adaptive striping architecture for flash memory storage systems of embedded systems . In Proceedings of the IEEE RTAS Conference. 187--196 . Li-Pin Chang and Tei-Wei Kuo. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the IEEE RTAS Conference. 187--196."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1278480.1278533"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228439"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2094091.2094104"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669157"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2024724.2024939"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2010.40"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/1870926.1871147"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1089733.1089735"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1837274.1837363"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2013.11"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/2485288.2485434"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2011.5958221"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the IEEE\/ACM DATE Conference. 1447--1450","author":"Liu Duo","year":"2012","unstructured":"Duo Liu , Tianzheng Wang , Yi Wang , Zhiwei Qin , and Zili Shao . 2012 . A block-level flash memory management scheme for reducing write activities in PCM-based embedded systems . In Proceedings of the IEEE\/ACM DATE Conference. 1447--1450 . Duo Liu, Tianzheng Wang, Yi Wang, Zhiwei Qin, and Zili Shao. 2012. A block-level flash memory management scheme for reducing write activities in PCM-based embedded systems. In Proceedings of the IEEE\/ACM DATE Conference. 1447--1450."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2014.2341922"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2011.5937225"},{"key":"e_1_2_1_23_1","volume-title":"Retrieved","author":"QEMU.","year":"2016","unstructured":"QEMU. 2016 . Main Page . Retrieved April 29, 2016, from http:\/\/www.qemu.org. QEMU. 2016. Main Page. Retrieved April 29, 2016, from http:\/\/www.qemu.org."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669117"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/2014698.2014882"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555760"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815980"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1816014"},{"volume-title":"Retrieved","year":"2016","key":"e_1_2_1_29_1","unstructured":"Simics. 2016 . Home Page . Retrieved April 29, 2016, from http:\/\/www.windriver.com\/simics\/. Simics. 2016. Home Page. Retrieved April 29, 2016, from http:\/\/www.windriver.com\/simics\/."},{"key":"e_1_2_1_30_1","volume-title":"Retrieved","author":"Standard Performance Evaluation Corporation","year":"2016","unstructured":"Standard Performance Evaluation Corporation . 2016 . Spec\u2019s Benchmarks . Retrieved April 29, 2016, from http:\/\/www.spec.org\/benchmarks.html. Standard Performance Evaluation Corporation. 2016. Spec\u2019s Benchmarks. Retrieved April 29, 2016, from http:\/\/www.spec.org\/benchmarks.html."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2697394"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/2014698.2014881"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2012.292"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669116"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2009.30"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2014.2376989"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593069.2593217"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2014.6974656"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656045.2656049"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555759"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2905364","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2905364","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T18:55:49Z","timestamp":1750272949000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2905364"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,6,28]]},"references-count":40,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,1,31]]}},"alternative-id":["10.1145\/2905364"],"URL":"https:\/\/doi.org\/10.1145\/2905364","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2016,6,28]]},"assertion":[{"value":"2015-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-06-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}