skip to main content
10.1145/3035918.3035958acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

From In-Place Updates to In-Place Appends: Revisiting Out-of-Place Updates on Flash

Published:09 May 2017Publication History

ABSTRACT

Under update intensive workloads (TPC, LinkBench) small updates dominate the write behavior, e.g. 70% of all updates change less than 10 bytes across all TPC OLTP workloads. These are typically performed as in-place updates and result in random writes in page-granularity, causing major write-overhead on Flash storage, a write amplification of several hundred times and lower device longevity.

In this paper we propose an approach that transforms those small in-place updates into small update deltas that are appended to the original page. We utilize the commonly ignored fact that modern Flash memories (SLC, MLC, 3D NAND) can handle appends to already programmed physical pages by using various low-level techniques such as ISPP to avoid expensive erases and page migrations. Furthermore, we extend the traditional NSM page-layout with a delta-record area that can absorb those small updates. We propose a scheme to control the write behavior as well as the space allocation and sizing of database pages.

The proposed approach has been implemented under Shore- MT and evaluated on real Flash hardware (OpenSSD) and a Flash emulator. Compared to In-Page Logging [21] it performs up to 62% less reads and writes and up to 74% less erases on a range of workloads. The experimental evaluation indicates: (i) significant reduction of erase operations resulting in twice the longevity of Flash devices under update-intensive workloads; (ii) 15%-60% lower read/write I/O latencies; (iii) up to 45% higher transactional throughput; (iv) 2x to 3x reduction in overall write amplification.

References

  1. The openssd project. http://www.openssd-project.org/wiki/The_OpenSSD_Project, 2014.Google ScholarGoogle Scholar
  2. Samsung v-nand technology. http://www.samsung.com/us/business/oem-solutions/pdfs/V-NAND_technology_WP.pdf, 2014.Google ScholarGoogle Scholar
  3. N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. S. Manasse, and R. Panigrahy. Design tradeoffs for ssd performance. In Proc. USENIX ATC'08. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Aritome. NAND flash memory technologies. IEEE Press series on microelectronic systems. 2016.Google ScholarGoogle Scholar
  5. T. G. Armstrong, V. Ponnekanti, D. Borthakur, and M. Callaghan. Linkbench: A database benchmark based on the facebook social graph. In Proc. SIGMOD'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Balakrishnan, D. Malkhi, V. Prabhakaran, T. Wobber, M. Wei, and J. Davis. Corfu: A shared log design for flash clusters. In Proc. USENIX NSDI'12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Bhattacharjee, M. Canim, M. Hamedani, K. Ross, and A. Storm. Supporting transient snapshot with coordinated/uncoordinated commit protocol. US Patent 14/748,438, 2016.Google ScholarGoogle Scholar
  8. P. Bonnet and L. Bouganim. Flash device support for database management. In Proc. CIDR'11.Google ScholarGoogle Scholar
  9. Y. Cai, O. Mutlu, E. F. Haratsch, and K. Mai. Program interference in mlc nand flash memory: Characterization, modeling, and mitigation. In Proc. ICCD'13.Google ScholarGoogle Scholar
  10. F. Chen, D. A. Koufaty, and X. Zhang. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In Proc. SIGMETRICS'09. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T.-S. Chung, D.-J. Park, S. Park, D.-H. Lee, S.-W. Lee, and H.-J. Song. A survey of flash translation layer. J. Syst. Archit., 55(5--6):332--343, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Diaconu, C. Freedman, E. Ismert, P.-A. Larson, P. Mittal, R. Stonecipher, N. Verma, and M. Zwilling. Hekaton: Sql server's memory-optimized oltp engine. In Proc. SIGMOD, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Gottstein, I. Petrov, and A. Buchmann. Append storage in multi-version databases on flash. In Proc. BNCOD'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Gray and P. Shenoy. Rules of thumb in data engineering. In Proc. ICDE'00, pages 3--10, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. In-place appends for real: Dbms overwrites on flash without erase. In Proc. EDBT’17.Google ScholarGoogle Scholar
  16. S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. Noftl: Database systems on ftl-less flash storage. In Proc. VLDB'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. Selective in-place appends for real: Reducing erases on wear-prone dbms storage. In Proc. ICDE'17.Google ScholarGoogle Scholar
  18. S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. Noftl for real: Databases on real native flash storage. In Proc. EDBT, pages 517--520, 2015.Google ScholarGoogle Scholar
  19. S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. Revisiting dbms space management for native flash. In Proc. EDBT, 2016.Google ScholarGoogle Scholar
  20. W.-H. Kang, S.-W. Lee, B. Moon, G.-H. Oh, and C. Min. X-ftl: Transactional ftl for sqlite databases. In Proc. SIGMOD'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S.-W. Lee and B. Moon. Design of flash-based dbms: An in-page logging approach. In Proc. SIGMOD'07. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. T. Leutenegger and D. Dias. A modeling study of the tpc-c benchmark. In Proc. SIGMOD'93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S.-P. Lim, S.-W. Lee, and B. Moon. Faster ftl for enterprise-class flash memory ssds. In Proc. SNAPI'10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Y. Lu, J. Shu, and W. Zheng. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proc. FAST'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Ma, J. Feng, and G. Li. A survey of address translation technologies for flash memories. ACM Comput. Surv., 46(3):36:1--36:39, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. Rethinking main memory oltp recovery. In Proc. ICDE, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  27. R. Micheloni, L. Crippa, and A. Marelli. Inside NAND Flash Memories. Springer, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  28. R. Micheloni, A. Marelli, and K. Eshghi. Inside Solid State Drives (SSDs). Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G.-J. Na, B. Moon, and S.-W. Lee. In-page logging b-tree for flash memory. In Proc. DASFAA'09. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Y. Ou, J. Xu, and T. Härder. Towards an efficient flash-based mid-tier cache. In Proc. DEXA'12.Google ScholarGoogle Scholar
  31. X. Ouyang, D. W. Nellans, R. Wipfel, and D. Flynn. Beyond block i/o: Rethinking traditional storage primitives. In Proc. HPCA'11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Sadoghi, K. A. Ross, M. Canim, and B. Bhattacharjee. Exploiting ssds in operational multiversion databases. VLDB, 25(5):651--672, Oct. 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. C. Sauer, G. Graefe, and T. Härder. An empirical analysis of database recovery costs. In RDSS, 2014.Google ScholarGoogle Scholar
  34. K.-D. e. a. Suh. A 3.3 v 32 mb nand flash memory with incremental step pulse programming scheme. In Proc. ISSCC'95.Google ScholarGoogle Scholar
  35. C. Yu, G. Yalcin, O. Mutlu, E. F. Haratsch, A. Crista, O. S. Unsal, and M. Ken. Error analysis and retention-aware error management for nand flash memory. Intel Tech. Journal, 17(1):140--164, 2013.Google ScholarGoogle Scholar

Index Terms

  1. From In-Place Updates to In-Place Appends: Revisiting Out-of-Place Updates on Flash

                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
                • Published in

                  cover image ACM Conferences
                  SIGMOD '17: Proceedings of the 2017 ACM International Conference on Management of Data
                  May 2017
                  1810 pages
                  ISBN:9781450341974
                  DOI:10.1145/3035918

                  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: 9 May 2017

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article

                  Acceptance Rates

                  Overall Acceptance Rate785of4,003submissions,20%

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader