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.
- The openssd project. http://www.openssd-project.org/wiki/The_OpenSSD_Project, 2014.Google Scholar
- Samsung v-nand technology. http://www.samsung.com/us/business/oem-solutions/pdfs/V-NAND_technology_WP.pdf, 2014.Google Scholar
- 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 ScholarDigital Library
- S. Aritome. NAND flash memory technologies. IEEE Press series on microelectronic systems. 2016.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- P. Bonnet and L. Bouganim. Flash device support for database management. In Proc. CIDR'11.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- R. Gottstein, I. Petrov, and A. Buchmann. Append storage in multi-version databases on flash. In Proc. BNCOD'13. Google ScholarDigital Library
- J. Gray and P. Shenoy. Rules of thumb in data engineering. In Proc. ICDE'00, pages 3--10, 2000. Google ScholarDigital Library
- 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 Scholar
- S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. Noftl: Database systems on ftl-less flash storage. In Proc. VLDB'13. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- S. Hardock, I. Petrov, R. Gottstein, and A. Buchmann. Revisiting dbms space management for native flash. In Proc. EDBT, 2016.Google Scholar
- 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 ScholarDigital Library
- S.-W. Lee and B. Moon. Design of flash-based dbms: An in-page logging approach. In Proc. SIGMOD'07. Google ScholarDigital Library
- S. T. Leutenegger and D. Dias. A modeling study of the tpc-c benchmark. In Proc. SIGMOD'93. Google ScholarDigital Library
- S.-P. Lim, S.-W. Lee, and B. Moon. Faster ftl for enterprise-class flash memory ssds. In Proc. SNAPI'10. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. Rethinking main memory oltp recovery. In Proc. ICDE, 2014.Google ScholarCross Ref
- R. Micheloni, L. Crippa, and A. Marelli. Inside NAND Flash Memories. Springer, 2010.Google ScholarCross Ref
- R. Micheloni, A. Marelli, and K. Eshghi. Inside Solid State Drives (SSDs). Springer, 2012. Google ScholarDigital Library
- G.-J. Na, B. Moon, and S.-W. Lee. In-page logging b-tree for flash memory. In Proc. DASFAA'09. Google ScholarDigital Library
- Y. Ou, J. Xu, and T. Härder. Towards an efficient flash-based mid-tier cache. In Proc. DEXA'12.Google Scholar
- X. Ouyang, D. W. Nellans, R. Wipfel, and D. Flynn. Beyond block i/o: Rethinking traditional storage primitives. In Proc. HPCA'11. Google ScholarDigital Library
- M. Sadoghi, K. A. Ross, M. Canim, and B. Bhattacharjee. Exploiting ssds in operational multiversion databases. VLDB, 25(5):651--672, Oct. 2016. Google ScholarDigital Library
- C. Sauer, G. Graefe, and T. Härder. An empirical analysis of database recovery costs. In RDSS, 2014.Google Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- From In-Place Updates to In-Place Appends: Revisiting Out-of-Place Updates on Flash
Recommendations
A Hybrid Flash Memory SSD Scheme for Enterprise Database Applications
APWEB '10: Proceedings of the 2010 12th International Asia-Pacific Web ConferenceFlash memory has many advantages such as high performance, low electronic power, non-volatile storage and physical stability, over hard-disks. For this reason, flash memory has been deployed as data storage for mobile devices, including PDAs, MP3 ...
Demand paging for OneNAND™ Flash eXecute-in-place
CODES+ISSS '06: Proceedings of the 4th international conference on Hardware/software codesign and system synthesisNAND flash memory can provide cost-effective secondary storage in mobile embedded systems, but its lack of a random access capability means that code shadowing is generally required, taking up extra RAM space. Demand paging with NAND flash memory has ...
Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx
EuroSys '17: Proceedings of the Twelfth European Conference on Computer SystemsData structures for non-volatile memories have to be designed such that they can be atomically modified using transactions. Existing atomicity methods require data to be copied in the critical path which significantly increases the latency of ...
Comments