{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:11:49Z","timestamp":1750306309474,"version":"3.41.0"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2016,4,19]],"date-time":"2016-04-19T00:00:00Z","timestamp":1461024000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Research Resettlement Fund for the new faculty of Seoul National University"},{"DOI":"10.13039\/100018058","name":"SK Hynix","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100018058","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Embedded System Software for New Memory based Smart Devices"},{"name":"IT R&D program of MKE\/KEIT","award":["10041608"],"award-info":[{"award-number":["10041608"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2016,7,26]]},"abstract":"<jats:p>Phase-change memory (PCM) has several benefits including low cost, non-volatility, byte-addressability, etc., and limitations such as write endurance. There have been several hardware approaches to exploit the benefits while minimizing the negative impact of limitations. Software approaches could give further improvements, when used together with hardware approaches, by taking advantage of write behavior present in the program, e.g., write behavior on dynamically allocated data, which is hardly captured by hardware approaches. This work proposes a software design methodology to reduce costly PCM writes. First, on top of existing hardware approach such as Flip-N-Write, we advocate exploiting the capability of PCM bit-level differential write in the software by judiciously reusing previously allocated memory resource. In order to avoid wear-out incurred by the reuse, we present software-based wear-leveling methods that distribute writes across PCM cells. In order to further reduce PCM writes, we propose identifying data, the loss of which does not affect the functionality of the underlying software, and then diverting write traffic for those data items to volatile memory. To evaluate the effectiveness of these methods, as a case study, we applied the proposed methods to the design of journaling in SQLite, which is an important database application commonly used in smartphones. For the experiments, we used an in-house PCM-based prototype board. Our experiments with four representative mobile applications show that the proposed design methods, which is applied on top of the hardware approach, Flip-N-Write, result in 75.2% further reduction in total bit updates in PCM, on average, without aggravating wear-out compared with the baseline of PCM-based journaling, which is based only on the hardware approach. Also, the proposed design methods result in 49.4% reduction in energy consumption and 52.3% reduction in runtime compared to a typical FIFO management of free resources.<\/jats:p>","DOI":"10.1145\/2842613","type":"journal-article","created":{"date-parts":[[2016,4,22]],"date-time":"2016-04-22T13:53:06Z","timestamp":1461333186000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Differential Write-Conscious Software Design on Phase-Change Memory"],"prefix":"10.1145","volume":"21","author":[{"given":"Sungkwang","family":"Lee","sequence":"first","affiliation":[{"name":"POSTECH, Gyeongsangbuk-do, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Taemin","family":"Lee","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hyunsun","family":"Park","sequence":"additional","affiliation":[{"name":"POSTECH, Gyeongsangbuk-do, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Junwhan","family":"Ahn","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sungjoo","family":"Yoo","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Youjip","family":"Won","sequence":"additional","affiliation":[{"name":"Hanyang University, Seongdong-gu, Seoul"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sunggu","family":"Lee","sequence":"additional","affiliation":[{"name":"POSTECH"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,4,19]]},"reference":[{"volume-title":"Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems (HotStorage\u201911)","author":"Akel A.","key":"e_1_2_1_1_1","unstructured":"A. Akel , A. M. Caulfield , T. I. Mollov , R. K. Gupta , and S. Swanson . 2011. Onyx: A protoype phase change memory storage array . In Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems (HotStorage\u201911) . 2--2. A. Akel, A. M. Caulfield, T. I. Mollov, R. K. Gupta, and S. Swanson. 2011. Onyx: A protoype phase change memory storage array. In Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems (HotStorage\u201911). 2--2."},{"volume-title":"Mac OS X: About file system journaling. retrieved","year":"2015","key":"e_1_2_1_2_1","unstructured":"Apple. 2015. Mac OS X: About file system journaling. retrieved Aug. 16, 2015 from https:\\\\support.apple.com\\en-us\\HT204435. Apple. 2015. Mac OS X: About file system journaling. retrieved Aug. 16, 2015 from https:\\\\support.apple.com\\en-us\\HT204435."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.33"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2627369.2627630"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669157"},{"key":"e_1_2_1_6_1","volume-title":"Retrieved","author":"Chodorow K.","year":"2012","unstructured":"K. Chodorow . 2012 . How mongodb's journaling works . Retrieved Aug. 16, 2015 from http:\\\\www.kchodorow.com\\blog\\2012\\10\\04\\how-mongodbs-journaling-works\\. K. Chodorow. 2012. How mongodb's journaling works. Retrieved Aug. 16, 2015 from http:\\\\www.kchodorow.com\\blog\\2012\\10\\04\\how-mongodbs-journaling-works\\."},{"volume-title":"Proceedings of the 2011 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC\u201911)","author":"Chung H.","key":"e_1_2_1_7_1","unstructured":"H. Chung , B. H. Jeong , B. Min , Y. Choi , B. Cho , J. Shin , J. Kim , J. Sunwoo , J. Park , and Q. Wang . 2011. A 58nm 1.8 V 1GB PRAM with 6.4 MB\\s program bw . In Proceedings of the 2011 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC\u201911) . 500--502. H. Chung, B. H. Jeong, B. Min, Y. Choi, B. Cho, J. Shin, J. Kim, J. Sunwoo, J. Park, and Q. Wang. 2011. A 58nm 1.8 V 1GB PRAM with 6.4 MB\\s program bw. In Proceedings of the 2011 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC\u201911). 500--502."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"volume-title":"Retrieved","year":"2015","key":"e_1_2_1_9_1","unstructured":"DataStax. 2015 . Understanding the architecture . Retrieved Aug. 16, 2015 from http:\\\\docs.datastax.com\\en\\cassandra\\2.0\\cassandra\\architecture\\architectureIntro_c.html. DataStax. 2015. Understanding the architecture. Retrieved Aug. 16, 2015 from http:\\\\docs.datastax.com\\en\\cassandra\\2.0\\cassandra\\architecture\\architectureIntro_c.html."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2367589.2367603"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2011.5767918"},{"key":"e_1_2_1_12_1","volume-title":"Retrieved","author":"Hipp D. R.","year":"2014","unstructured":"D. R. Hipp and D. Kennedy . 2010. SQLite (Jan. 2010) . Retrieved Sep. 20, 2014 from http:\\\\sqlite.org\\. D. R. Hipp and D. Kennedy. 2010. SQLite (Jan. 2010). Retrieved Sep. 20, 2014 from http:\\\\sqlite.org\\."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2442116.2442127"},{"key":"e_1_2_1_14_1","volume-title":"Low power double data rate 2 (LPDDR2). JESD209-2E (April","author":"Standard JEDEC","year":"2011","unstructured":"JEDEC Standard . 2011. Low power double data rate 2 (LPDDR2). JESD209-2E (April 2011 ). JEDEC Standard. 2011. Low power double data rate 2 (LPDDR2). JESD209-2E (April 2011)."},{"volume-title":"Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914)","author":"Kim H.","key":"e_1_2_1_15_1","unstructured":"H. Kim , S. Seshadri , C. L. Dickey , and L. Chiu . 2014. Evaluating phase change memory for enterprise storage systems: A study of caching and tiering approaches . In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914) . 33--45. H. Kim, S. Seshadri, C. L. Dickey, and L. Chiu. 2014. Evaluating phase change memory for enterprise storage systems: A study of caching and tiering approaches. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914). 33--45."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1450058.1450064"},{"key":"e_1_2_1_17_1","first-page":"2","article-title":"Design and implementation of transactional write buffer cache with storage class memory","volume":"16","author":"Kim Y.","year":"2010","unstructured":"Y. Kim , I. H. Doh , E. Kim , J. Choi , D. Lee , and S. H. Noh . 2010 . Design and implementation of transactional write buffer cache with storage class memory . Journal of Korean Institute of Information Scientists and Engineers: Computing Practices and Letters , 16 , 2 (Feb. 2010), 247--251. Y. Kim, I. H. Doh, E. Kim, J. Choi, D. Lee, and S. H. Noh. 2010. Design and implementation of transactional write buffer cache with storage class memory. Journal of Korean Institute of Information Scientists and Engineers: Computing Practices and Letters, 16, 2 (Feb. 2010), 247--251.","journal-title":"Journal of Korean Institute of Information Scientists and Engineers: Computing Practices and Letters"},{"volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe (DATE\u201912)","author":"Kwon S.","key":"e_1_2_1_18_1","unstructured":"S. Kwon , D. Kim , Y. Kim , S. Yoo , and S. Lee . 2012. A case study on the application of real phase-change RAM to main memory subsystem . In Proceedings of the Conference on Design, Automation and Test in Europe (DATE\u201912) . 264--267. S. Kwon, D. Kim, Y. Kim, S. Yoo, and S. Lee. 2012. A case study on the application of real phase-change RAM to main memory subsystem. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE\u201912). 264--267."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"volume-title":"Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST\u201913)","author":"Lee E.","key":"e_1_2_1_20_1","unstructured":"E. Lee , H. Bahn , and S. H. Noh . 2013. Unioning of the buffer cache and journaling layers with non-volatile memory . In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST\u201913) . 73--80. E. Lee, H. Bahn, and S. H. Noh. 2013. Unioning of the buffer cache and journaling layers with non-volatile memory. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST\u201913). 73--80."},{"volume-title":"Proceedings of the 25th IEEE International Symposium on Rapid System Prototyping (RSP\u201914)","author":"Lee T.","key":"e_1_2_1_21_1","unstructured":"T. Lee , D. Kim , H. Park , S. Yoo , and S. Lee . 2014. FPGA-based prototyping systems for emerging memory technologies . In Proceedings of the 25th IEEE International Symposium on Rapid System Prototyping (RSP\u201914) . 115--120. T. Lee, D. Kim, H. Park, S. Yoo, and S. Lee. 2014. FPGA-based prototyping systems for emerging memory technologies. In Proceedings of the 25th IEEE International Symposium on Rapid System Prototyping (RSP\u201914). 115--120."},{"key":"e_1_2_1_22_1","volume-title":"Retrieved","author":"Lehene C.","year":"2010","unstructured":"C. Lehene . 2010 . Why we\u2019re using HBase: Part 2 . Retrieved Aug. 16, 2015 from http:\\\\hstack.org\\why-were-using-hbase-part-2\\. C. Lehene. 2010. Why we\u2019re using HBase: Part 2. Retrieved Aug. 16, 2015 from http:\\\\hstack.org\\why-were-using-hbase-part-2\\."},{"key":"e_1_2_1_23_1","volume-title":"Retrieved","author":"The Linux Kernel Organization","year":"2015","unstructured":"The Linux Kernel Organization . 2015 . Ext4 Filesystem . Retrieved Aug. 16, 2015 from https:\\\\www.kernel.org\\doc\\Documentation\\filesystems\\ext4.txt. The Linux Kernel Organization. 2015. Ext4 Filesystem. Retrieved Aug. 16, 2015 from https:\\\\www.kernel.org\\doc\\Documentation\\filesystems\\ext4.txt."},{"volume-title":"Proceedings of 18th Asia South and Pacific Design Automation Conference (ASP-DAC). 279--284","author":"Liu D.","key":"e_1_2_1_24_1","unstructured":"D. Liu , T. Wang , Y. Wang , Z. Shao , Q. Zhuge , and E. Sha . 2013. Curling-PCM: Application-specific wear leveling for phase change memory-based embedded systems . In Proceedings of 18th Asia South and Pacific Design Automation Conference (ASP-DAC). 279--284 . D. Liu, T. Wang, Y. Wang, Z. Shao, Q. Zhuge, and E. Sha. 2013. Curling-PCM: Application-specific wear leveling for phase change memory-based embedded systems. In Proceedings of 18th Asia South and Pacific Design Automation Conference (ASP-DAC). 279--284."},{"key":"e_1_2_1_25_1","volume-title":"Retrieved","author":"MariaDB Corporation","year":"2015","unstructured":"MariaDB Corporation . 2015 . MariaDB Documentation . Retrieved Aug. 16, 2015 from https:\\\\mariadb.com\\kb\\en\\mariadb\\undo-log\\. MariaDB Corporation. 2015. MariaDB Documentation. Retrieved Aug. 16, 2015 from https:\\\\mariadb.com\\kb\\en\\mariadb\\undo-log\\."},{"key":"e_1_2_1_26_1","volume-title":"Retrieved","author":"TechNet Microsoft","year":"2015","unstructured":"Microsoft TechNet . 2015 . Recovering Data with NTFS . Retrieved Aug. 16, 2015 from https:\\\\technet.microsoft.com\\en-us\\library\\cc976815.aspx. Microsoft TechNet. 2015. Recovering Data with NTFS. Retrieved Aug. 16, 2015 from https:\\\\technet.microsoft.com\\en-us\\library\\cc976815.aspx."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2013.2249557"},{"key":"e_1_2_1_28_1","volume-title":"Berkeley DB. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track","author":"Olson M. A.","year":"1999","unstructured":"M. A. Olson , K. Bostic , and M. Seltzer . 1999 . Berkeley DB. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track , June 1999 . M. A. Olson, K. Bostic, and M. Seltzer. 1999. Berkeley DB. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track, June 1999."},{"key":"e_1_2_1_29_1","volume-title":"Retrieved","author":"PostgreSQL Global Development Group","year":"2015","unstructured":"PostgreSQL Global Development Group . 2015 . PostgreSQL: Documentation . Retrieved Aug. 16, 2015 from http:\\\\www.postgresql.org\\docs\\9.4\\static\\wal-intro.html. PostgreSQL Global Development Group. 2015. PostgreSQL: Documentation. Retrieved Aug. 16, 2015 from http:\\\\www.postgresql.org\\docs\\9.4\\static\\wal-intro.html."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555760"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669117"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1816014"},{"volume-title":"Proceedings of the 2010 IEEE 16th International Symposium on High Performance Computer Architecture (HPCA). 1--12","author":"Sun G.","key":"e_1_2_1_33_1","unstructured":"G. Sun , Y. Joo , Y. Chen , Y. Chen , and Y. Xie . 2010. A Hybrid solid-state storage architecture for the performance, energy consumption, and lifetime improvement . In Proceedings of the 2010 IEEE 16th International Symposium on High Performance Computer Architecture (HPCA). 1--12 . G. Sun, Y. Joo, Y. Chen, Y. Chen, and Y. Xie. 2010. A Hybrid solid-state storage architecture for the performance, energy consumption, and lifetime improvement. In Proceedings of the 2010 IEEE 16th International Symposium on High Performance Computer Architecture (HPCA). 1--12."},{"key":"e_1_2_1_34_1","volume-title":"InnoDB Internals: InnoDB File Formats and Source Code Structure. In MySQL Conference","author":"Tuuri H.","year":"2009","unstructured":"H. Tuuri and C. Sun . 2009 . InnoDB Internals: InnoDB File Formats and Source Code Structure. In MySQL Conference , April 2009 . H. Tuuri and C. Sun. 2009. InnoDB Internals: InnoDB File Formats and Source Code Structure. In MySQL Conference, April 2009."},{"volume-title":"Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914)","author":"Vucinic D.","key":"e_1_2_1_35_1","unstructured":"D. Vucinic , Q. Wang , C. Guyot , R. Mateescu , F. Blagojevi , L. Franca-Neto , D. Le Moal , T. Bunker , J. Xu , S. Swanson , and Z. Bandic . 2014. DC express: shortest latency protocol for reading phase change memory over PCI express . In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914) . 309--315. D. Vucinic, Q. Wang, C. Guyot, R. Mateescu, F. Blagojevi, L. Franca-Neto, D. Le Moal, T. Bunker, J. Xu, S. Swanson, and Z. Bandic. 2014. DC express: shortest latency protocol for reading phase change memory over PCI express. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914). 309--315."},{"volume-title":"Proceedings of 17th Asia and South Pacific Design Automation Conference (ASP-DAC). 317--322","author":"Wang T.","key":"e_1_2_1_36_1","unstructured":"T. Wang , D. Liu , Z. Shao , and C. Yang . 2012 . In Proceedings of 17th Asia and South Pacific Design Automation Conference (ASP-DAC). 317--322 . T. Wang, D. Liu, Z. Shao, and C. Yang. 2012. In Proceedings of 17th Asia and South Pacific Design Automation Conference (ASP-DAC). 317--322."},{"volume-title":"Proceedings of the 2007 IEEE International Symposium on Circuits and Systems (ISCAS). 3014--3017","author":"Yang B. D.","key":"e_1_2_1_37_1","unstructured":"B. D. Yang , J. E. Lee , J. S. Kim , J. Cho , S. Y. Lee , and B. G. Yu . 2007. A low power phase-change Random Access Memory using a data-comparison write scheme . In Proceedings of the 2007 IEEE International Symposium on Circuits and Systems (ISCAS). 3014--3017 . B. D. Yang, J. E. Lee, J. S. Kim, J. Cho, S. Y. Lee, and B. G. Yu. 2007. A low power phase-change Random Access Memory using a data-comparison write scheme. In Proceedings of the 2007 IEEE International Symposium on Circuits and Systems (ISCAS). 3014--3017."},{"volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe (DATE\u201912)","author":"Yoon J.","key":"e_1_2_1_38_1","unstructured":"J. Yoon , S. Lee , and S. Yoo . 2012. Bloom filter-based dynamic wear leveling for phase change RAM . In Proceedings of the Conference on Design, Automation and Test in Europe (DATE\u201912) . 1513--1518. J. Yoon, S. Lee, and S. Yoo. 2012. Bloom filter-based dynamic wear leveling for phase change RAM. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE\u201912). 1513--1518."},{"volume-title":"Proceedings of 32nd IEEE International Conference on Computer Design (ICCD). 16--21","author":"Zhao M.","key":"e_1_2_1_39_1","unstructured":"M. Zhao , L. Shi , C. Yang , and C. J. Xue . 2014. Leveling to the last mile: Near-zero-cost bit level wear leveling for PCM-based main memory . In Proceedings of 32nd IEEE International Conference on Computer Design (ICCD). 16--21 . M. Zhao, L. Shi, C. Yang, and C. J. Xue. 2014. Leveling to the last mile: Near-zero-cost bit level wear leveling for PCM-based main memory. In Proceedings of 32nd IEEE International Conference on Computer Design (ICCD). 16--21."},{"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\/2842613","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2842613","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:53:48Z","timestamp":1750222428000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2842613"}},"subtitle":["An SQLite Case Study"],"short-title":[],"issued":{"date-parts":[[2016,4,19]]},"references-count":40,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2016,7,26]]}},"alternative-id":["10.1145\/2842613"],"URL":"https:\/\/doi.org\/10.1145\/2842613","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2016,4,19]]},"assertion":[{"value":"2015-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-04-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}