Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Differential Write-Conscious Software Design on Phase-Change Memory: An SQLite Case Study

Published: 19 April 2016 Publication History

Abstract

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.

References

[1]
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’11). 2--2.
[2]
Apple. 2015. Mac OS X: About file system journaling. retrieved Aug. 16, 2015 from https:\\support.apple.com\en-us\HT204435.
[3]
A. M. Caulfield, A. De, J. Coburn, T. I. Mollow, R. K. Gupta, and S. Swanson. 2010. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. In Proceedings of the 2010 43rd Annual IEEE\ACM International Symposium on Microarchitecture (MICRO’10). 385--395.
[4]
P. Chi, W. Lee, and Y. Xie. 2014. Making B+-tree efficient in PCM-based main memory. In Proceedings of the 2014 International Symposium on Low Power Electronics and Design (ISLPED’14). 69--74.
[5]
S. Cho and H. Lee. 2009. Flip-N-Write: A simple deterministic technique to improve PRAM write performance, energy and endurance. In Proceedings of the 2009 42nd Annual IEEE\ACM International Symposium on Microarchitecture (MICRO’09). 347--357.
[6]
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\.
[7]
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’11). 500--502.
[8]
J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee. 2009. Better I\O through byte-addressable, persistent memory. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles (SOSP’09). 133--146.
[9]
DataStax. 2015. Understanding the architecture. Retrieved Aug. 16, 2015 from http:\\docs.datastax.com\en\cassandra\2.0\cassandra\architecture\architectureIntro_c.html.
[10]
P. Desnoyers. 2012. Analytic modeling of SSD write performance. In Proceedings of the 5th Annual International Systems and Storage Conference (SYSTOR’12). 12.
[11]
R. Fang, H. Hsiao, B. He, C. Mohan, and Y. Wang. 2011. High performance database logging using storage class memory. In Proceedings of the 2011 IEEE 27th International Conference on Data Engineering (ICDE’11). 1221--1231.
[12]
D. R. Hipp and D. Kennedy. 2010. SQLite (Jan. 2010). Retrieved Sep. 20, 2014 from http:\\sqlite.org\.
[13]
J. Hu, C. J. Xue, Q. Zhuge, W. Tseng, and E. H. Sha. 2013. Write activity reduction on non-volatile main memories for embedded chip multiprocessors. ACM Transactions on Embedded Computing Systems (TECS), 12, 3, 77.
[14]
JEDEC Standard. 2011. Low power double data rate 2 (LPDDR2). JESD209-2E (April 2011).
[15]
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’14). 33--45.
[16]
J. Kim, H. Lee, S. Choi, and K. Bahng. 2008. A PRAM and NAND flash hybrid architecture for high-performance embedded storage subsystems. In Proceedings of the 8th ACM International Conference on Embedded Software (EMSOFT’08). 31--40.
[17]
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.
[18]
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’12). 264--267.
[19]
B. C. Lee, E. Ipek, O. Mutlu, and D. Burger. 2009. Architecting phase change memory as a scalable DRAM alternative. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). 2--13.
[20]
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’13). 73--80.
[21]
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’14). 115--120.
[22]
C. Lehene. 2010. Why we’re using HBase: Part 2. Retrieved Aug. 16, 2015 from http:\\hstack.org\why-were-using-hbase-part-2\.
[23]
The Linux Kernel Organization. 2015. Ext4 Filesystem. Retrieved Aug. 16, 2015 from https:\\www.kernel.org\doc\Documentation\filesystems\ext4.txt.
[24]
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.
[25]
MariaDB Corporation. 2015. MariaDB Documentation. Retrieved Aug. 16, 2015 from https:\\mariadb.com\kb\en\mariadb\undo-log\.
[26]
Microsoft TechNet. 2015. Recovering Data with NTFS. Retrieved Aug. 16, 2015 from https:\\technet.microsoft.com\en-us\library\cc976815.aspx.
[27]
V. Mohan, T. Bunker, L. Grupp, S. Gurumurthi, M. Stan, and S. Swanson. 2013. Modeling power consumption of NAND Flash memories using FlashPower. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 32, 7, 1031--1044.
[28]
M. A. Olson, K. Bostic, and M. Seltzer. 1999. Berkeley DB. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track, June 1999.
[29]
PostgreSQL Global Development Group. 2015. PostgreSQL: Documentation. Retrieved Aug. 16, 2015 from http:\\www.postgresql.org\docs\9.4\static\wal-intro.html.
[30]
M. K. Qureshi, V. Srinivasan, and J. A. Rivers. 2009a. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). 24--33.
[31]
M. K. Qureshi, J. Karidis, M. Franceschini, V. Srinivasan, L. Lastras, and B. Abali. 2009b. Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling. In Proceedings of the 42nd Annual IEEE\ACM International Symposium on Microarchitecture (MICRO’09). 14--23.
[32]
N. H. Seong, D. H. Woo, and H. H. S. Lee. 2010. Security refresh: Prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping. In Proceedings of the 37th Annual International Symposium on Computer Architecture (ISCA’10). 383--394.
[33]
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.
[34]
H. Tuuri and C. Sun. 2009. InnoDB Internals: InnoDB File Formats and Source Code Structure. In MySQL Conference, April 2009.
[35]
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’14). 309--315.
[36]
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.
[37]
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.
[38]
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’12). 1513--1518.
[39]
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.
[40]
P. Zhou, B. Zhao, J. Yang, and Y. Zhang. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). 14--23.

Index Terms

  1. Differential Write-Conscious Software Design on Phase-Change Memory: An SQLite Case Study

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Transactions on Design Automation of Electronic Systems
        ACM Transactions on Design Automation of Electronic Systems  Volume 21, Issue 3
        Special Section on New Physical Design Techniques for the Next Generation Integration Technology and Regular Papers
        July 2016
        434 pages
        ISSN:1084-4309
        EISSN:1557-7309
        DOI:10.1145/2926747
        • Editor:
        • Naehyuck Chang
        Issue’s Table of Contents
        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

        Journal Family

        Publication History

        Published: 19 April 2016
        Accepted: 01 November 2015
        Revised: 01 August 2015
        Received: 01 May 2015
        Published in TODAES Volume 21, Issue 3

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. Phase change memory
        2. SQLite
        3. differential write
        4. wear leveling

        Qualifiers

        • Research-article
        • Research
        • Refereed

        Funding Sources

        • Research Resettlement Fund for the new faculty of Seoul National University
        • SK Hynix
        • Embedded System Software for New Memory based Smart Devices
        • IT R&D program of MKE/KEIT

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • 0
          Total Citations
        • 299
          Total Downloads
        • Downloads (Last 12 months)5
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 08 Mar 2025

        Other Metrics

        Citations

        View Options

        Login options

        Full Access

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Figures

        Tables

        Media

        Share

        Share

        Share this Publication link

        Share on social media