Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2485732.2485747acmconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
research-article

Extending SSD lifetime in database applications with page overwrites

Published: 30 June 2013 Publication History

Abstract

Flash-based Solid State Disks (SSDs) have been a great success story over the last years and are widely used in embedded systems, servers, and laptops.
One often overlooked ability of NAND flash is that flash pages can be overwritten in certain circumstances. This can be used to decrease wear out and increase performance.
In this paper, we analyze the potential of overwrites for the most used data structure in database applications: the B-Tree. We show that with overwrites it is possible to significantly reduce flash wear out and increase overall performance.

References

[1]
D. Agrawal, D. Ganesan, R. Sitaraman, Y. Diao, and S. Singh. Lazy-adaptive tree: An optimized index structure for flash devices. In Proceedings of the International Conference on Very Large Data Bases (VLDB), volume 2, pages 361--372. VLDB Endowment, 2009.
[2]
A. Anand, C. Muthukrishnan, S. Kappes, A. Akella, and S. Nath. Cheap and large CAMs for high performance data-intensive networked systems. In Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation. USENIX, 2010.
[3]
S. Aritome, R. Shirota, G. Hemink, T. Endoh, and F. Masuoka. Reliability issues of flash memory cells. Proceedings of the IEEE, 81(5):776--788, 1993.
[4]
J. Bentley. Decomposable searching problems. Information Processing Letters, 8(5):244--251, 1979.
[5]
R. Bez and P. Cappelletti. Flash memory and beyond. In Proceedings of the IEEE VLSI-TSA International Symposium on VLSI Technology (VLSI-TSA-Tech 2005), pages 84--87. IEEE, 2005.
[6]
B. Chazelle and L. Guibas. Fractional cascading: I. a data structuring technique. Algorithmica, 1(1):133--162, 1986.
[7]
S. Chen, P. Gibbons, and S. Nath. Rethinking database algorithms for phase change memory. Proceedings of the 5th Conference on Innovative Data Systems Research, CIDR'11, pages 21--31, 2011.
[8]
G. Choi, I. Lee, M. Sung, and C. Im. A hybrid SSD with PRAM and NAND flash memory. Microprocessors and Microsystems, 2011.
[9]
G. Cohen, P. Godlewski, and F. Merkx. Linear binary code for write-once memories (corresp.). IEEE Transactions on Information Theory, 32(5):697--700, 1986.
[10]
B. Debnath, S. Sengupta, and J. Li. Skimpystash: RAM space skimpy key-value store on flash-based storage. In Proceedings of the 2011 international conference on Management of Data (SIGMOD'11), pages 25--36. ACM, 2011.
[11]
A. Fiat and A. Shamir. Generalized 'write-once' memories. IEEE Transactions on Information Theory, 30(3):470-480, 1984.
[12]
F. Fu and A. Han Vinck. On the capacity of generalized write-once memory with state transitions described by an arbitrary directed acyclic graph. IEEE Transactions on Information Theory, 45(1):308--313, 1999.
[13]
E. Gal and S. Toledo. A transactional flash file system for microcontrollers. In Proceedings of the USENIX Annual Technical Conference, pages 89--104, 2005.
[14]
X. Gong, S. Chen, M. Lin, and H. Liu. A Write-Optimized B-Tree Layer for NAND Flash Memory. In Proceedings of the 7th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM), pages 1--4. IEEE, 2011.
[15]
G. Graefe. The five-minute rule twenty years later, and how flash memory changes the rules. In Proceedings of the 3rd International Workshop on Data management on New Hardware, page 6. ACM, 2007.
[16]
G. Graefe. Modern B-Trees techniques. Foundation and Trends in Databases, 3(4):203--402, 2010.
[17]
A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings, volume 44. ACM, 2009.
[18]
A. Gupta, R. Pisolkar, B. Urgaonkar, and A. Sivasubramaniam. Leveraging value locality in optimizing NAND flash-based SSDs. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST), 2011.
[19]
J. Hu, H. Jiang, L. Tian, and L. Xu. Pud-lru: An erase-efficient write buffer management algorithm for flash memory SSD. In Proceedings of the 18th IEEE International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS), pages 69--78. IEEE, 2010.
[20]
A. Jiang, V. Bohossian, and J. Bruck. Floating codes for joint information storage in write asymmetric memories. In Proceedings of the IEEE International Symposium on Information Theory (ISIT07), pages 1166--1170. IEEE, 2007.
[21]
A. Jiang and J. Bruck. Joint coding for flash memory storage. In Proceedings of the IEEE International Symposium on Information Theory (ISIT08), pages 1741--1745. IEEE, 2008.
[22]
T. Johnson and D. Shasha. B-Trees with inserts and deletes: Why free-at-empty is better than merge-at-half. Journal of Computer and System Sciences, 47(1):45--76, 1993.
[23]
M. Jørgensen, R. Rasmussen, S. Šaltenis, and C. Schjønning. FB-tree: a b+-tree for flash-based SSDs. In Proceedings of the 15th Symposium on International Database Engineering & Applications, pages 34--42. ACM, 2011.
[24]
J. Kim, J. Kim, S. Noh, S. Min, and Y. Cho. A space-efficient flash translation layer for compactflash systems. IEEE Transactions on Consumer Electronics, 48(2):366--375, 2002.
[25]
Y. Kim, A. Gupta, B. Urgaonkar, P. Berman, and A. Sivasubramaniam. Hybridstore: A cost-efficient, high-performance storage system combining SSDs and HDDs. In Proceedings of the 19th IEEE International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS), pages 227--236. IEEE, 2011.
[26]
Y. Kim, B. Tauras, A. Gupta, and B. Urgaonkar. Flash-sim: A simulator for NAND flash-based solid-state drives. In Proceedings of the First International Conference on Advances in System Simulation (SIMUL '09), pages 125--131. IEEE, 2009.
[27]
H. Lee and D. Lee. An efficient index buffer management scheme for implementing a b-tree on NAND flash memory. Data & Knowledge Engineering, 69(9):901--916, 2010.
[28]
S. W. Lee, B. Moon, C. Park, J. Y. Hwang, and K. Kim. Accelerating in-page logging with non-volatile memory. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 33(4), 2010.
[29]
S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song. A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embed. Comput. Syst., 6(3), July 2007.
[30]
Y. Li, B. He, Q. Luo, and K. Yi. Tree indexing on flash disks. In Proceedings of the IEEE 25th International Conference on Data Engineering (ICDE'09), pages 1303--1306. IEEE, 2009.
[31]
H. Lim, B. Fan, D. Andersen, and M. Kaminsky. SILT: A memory-efficient, high-performance key-value store. In Proceedings of the 23th ACM Symposium on Operating Systems Principles, pages 1--13. ACM, 2011.
[32]
G. Lu, Y. Nam, and D. Du. Bloomstore: Bloom-filter based memory-efficient key-value store for indexing of data deduplication on flash. In Proceedings of the 28th IEEE Conference on Mass Storage Systems and Technologies (MSST), pages 1--11. IEEE, 2012.
[33]
H. Mahdavifar, P. Siegel, A. Vardy, J. Wolf, and E. Yaakobi. A nearly optimal construction of flash codes. In Proceedings of the IEEE International Symposium on Information Theory (ISIT09), pages 1239--1243. IEEE, 2009.
[34]
Micron Technology, Inc. NAND flash 101: An introduction to NAND flash and how to design it in to your next product. Technical Note TN-29-19, 2010.
[35]
G. Na, B. Moon, and S.-W. Lee. IPL B-Tree for flash memory database systems. Journal of information science and engineering, 27:111--127, 2011.
[36]
Y. Pan, G. Dong, and T. Zhang. Exploiting memory device wear-out dynamics to improve NAND flash memory system performance. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST), pages 18--18. USENIX, 2011.
[37]
M. Raab and A. Steger. "Balls into Bins"---A Simple and Tight Analysis. Randomization and Approximation Techniques in Computer Science, pages 159--170, 1998.
[38]
C. Reid and P. Bernstein. Implementing an append-only interface for semiconductor storage. IEEE Data Eng. Bulletin, 33(4), 2010.
[39]
R. Rivest and A. Shamir. How to reuse a "write-once" memory. Information and control, 55(1):1--19, 1982.
[40]
H. Roh, S. Park, S. Kim, M. Shin, and S. Lee. B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives. Proceedings of the International Conference on Very Large Data Bases (VLDB), 5(4):286--297, 2011.
[41]
Samsung Electronics. 2G x 8 bit NAND flash memory (K9F8G08U0M), data sheet, 2007.
[42]
M. Sanvido, F. Chu, A. Kulkarni, and R. Selinger. NAND flash memory and its role in storage architectures. Proceedings of the IEEE, 96(11):1864--1874, 2008.
[43]
M. Saxena, M. Swift, and Y. Zhang. Flashtier: a lightweight, consistent and durable storage cache. In Proceedings of the 7th ACM european conference on Computer Systems, pages 267--280. ACM, 2012.
[44]
C. Wang and W. Wong. ADAPT: Efficient workload-sensitive flash management based on adaptation, prediction and aggregation. In Proceedings of the 28th IEEE Conference on Mass Storage Systems and Technologies (MSST), pages 1--12. IEEE, 2012.
[45]
O. Workgroup. Open NAND flash interface specification 3.1, 2012.
[46]
C. Wu, T. Kuo, and L. Chang. An efficient B-tree layer implementation for flash-memory storage systems. ACM Transactions on Embedded Computing Systems (TECS), 6(3):19, 2007.
[47]
E. Yaakobi, L. Grupp, P. Siegel, S. Swanson, and J. Wolf. Characterization and error-correcting codes for TLC flash memories. In Proceedings of the International Conference on Computing, Networking and Communications (ICNC), pages 486--491. IEEE, 2012.
[48]
E. Yaakobi, S. Kayser, P. Siegel, A. Vardy, and J. Wolf. Efficient two-write WOM-codes. In Proceedings of the IEEE Information Theory Workshop (ITW), pages 1--5. IEEE, 2010.
[49]
E. Yaakobi, J. Ma, L. Grupp, P. Siegel, S. Swanson, and J. Wolf. Error characterization and coding schemes for flash memories. In Proceedings of the IEEE GLOBE-COM Workshops (GC Workshops), pages 1856--1860. IEEE, 2010.
[50]
E. Yaakobi, P. Siegel, A. Vardy, and J. Wolf. Multiple error-correcting WOM-codes. IEEE Transactions on Information Theory, 58(4):2220--2230, 2012.
[51]
G. Zemor and G. Cohen. Error-correcting WOM-codes. IEEE Transactions on Information Theory, 37(3):730--734, 1991.
[52]
Y. Zhang, L. Prasath Arulraj, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. De-indirection for flash-based SSDs with nameless writes. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST), San Jose, California, February 2012.
[53]
A. Zuck, O. Barzilay, and S. Toledo. NANDFS: A flexible flash file system for ram-constrained systems. Proceedings of the 7th ACM International Conference on Embedded Software, pages 285--294, 2009.

Cited By

View all
  • (2021)SSD-based Workload Characteristics and Their Performance ImplicationsACM Transactions on Storage10.1145/342313717:1(1-26)Online publication date: 8-Jan-2021
  • (2021)Lifecycle-Aware Online Video CachingIEEE Transactions on Mobile Computing10.1109/TMC.2020.298436420:8(2624-2636)Online publication date: 1-Aug-2021
  • (2019)FADaCProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325829(167-178)Online publication date: 22-May-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SYSTOR '13: Proceedings of the 6th International Systems and Storage Conference
June 2013
198 pages
ISBN:9781450321167
DOI:10.1145/2485732
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 June 2013

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

SYSTOR '13
Sponsor:
  • INTEL
  • Riverbed
  • Technion
  • SIGOPS
  • EMC<sup>2</sup>
  • AXCIENT
  • USENIX Assoc
  • IBM
  • HP

Acceptance Rates

SYSTOR '13 Paper Acceptance Rate 20 of 49 submissions, 41%;
Overall Acceptance Rate 108 of 323 submissions, 33%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)SSD-based Workload Characteristics and Their Performance ImplicationsACM Transactions on Storage10.1145/342313717:1(1-26)Online publication date: 8-Jan-2021
  • (2021)Lifecycle-Aware Online Video CachingIEEE Transactions on Mobile Computing10.1109/TMC.2020.298436420:8(2624-2636)Online publication date: 1-Aug-2021
  • (2019)FADaCProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325829(167-178)Online publication date: 22-May-2019
  • (2018)An Analysis of Flash Page Reuse With WOM CodesACM Transactions on Storage10.1145/317788614:1(1-39)Online publication date: 26-Feb-2018
  • (2016)The devil is in the detailsProceedings of the 14th Usenix Conference on File and Storage Technologies10.5555/2930583.2930591(95-109)Online publication date: 22-Feb-2016
  • (2015)NVM aware MariaDB database system2015 IEEE Non-Volatile Memory System and Applications Symposium (NVMSA)10.1109/NVMSA.2015.7304362(1-6)Online publication date: Aug-2015
  • (2015)Improving MLC flash performance and endurance with extended P/E cycles2015 31st Symposium on Mass Storage Systems and Technologies (MSST)10.1109/MSST.2015.7208278(1-12)Online publication date: May-2015
  • (2015)Fusing Storage and Computing for the Domain of Business Intelligence and Analytics -- Research OpportunitiesProceedings of the 2015 48th Hawaii International Conference on System Sciences10.1109/HICSS.2015.565(4752-4761)Online publication date: 5-Jan-2015
  • (2015)AMC: an adaptive multi‐level cache algorithm in hybrid storage systemsConcurrency and Computation: Practice and Experience10.1002/cpe.353027:16(4230-4246)Online publication date: 28-May-2015

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media