skip to main content
10.1145/2611354.2611364acmconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
tutorial

Muninn: a Versioning Flash Key-Value Store Using an Object-based Storage Model

Published: 30 June 2014 Publication History

Abstract

While non-volatile memory (NVRAM) devices have the potential to alleviate the trade-off between performance, scalability, and energy in storage and memory subsystems, a block interface and storage subsystems designed for slow I/O devices make it difficult to efficiently exploit NVRAMs in a portable and extensible way.
We propose an object-based storage model as a way of addressing the shortfalls of the current interfaces. Through the design of Muninn, an object-based versioning key-value store, we demonstrate that an in-device NVRAM management layer can be as efficient as that of NVRAM-aware key-value stores while not requiring host resources or host changes, and enabling tightly-coupled optimizations. Muninn is also designed to show that versioning can be added to a file system transparently with minimal host-side changes. As a flash key-value store, it achieves better life-time and low read/write amplification by eliminating internal data movements and per-object metadata updates using Bloom filters and hash functions. By doing so, it achieves as few as 1.5 flash page reads per look up and 0.26 flash page writes per insert on average with 50 million 1 KB key-value pairs without incurring data re-organization. This is close to the minimum number of flash accesses required to read and store the 1 KB key-value pairs, thus increasing performance and lifetime of flash media.

References

[1]
Aleph One Ltd. YAFFS: Yet another flash file system. http://www.yaffs.net.
[2]
P. S. Almeida, C. Baquero, N. Preguiça, and D. Hutchison. Scalable Bloom Filters. Information Processing Letters, 101(6):255--261, Mar. 2007.
[3]
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, NSDI'10, pages 29--29. USENIX Association, 2010.
[4]
M. Balakrishnan, D. Malkhi, T. Wobber, M. Wu, V. Prabhakaran, M. Wei, J. D. Davis, S. Rao, T. Zou, and A. Zuck. Tango: Distributed data structures over a shared log. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, SOSP '13, pages 325--340, New York, NY, USA, 2013. ACM.
[5]
Basho Technologies Inc. Basho benchmark. http://docs.basho.com/riak/latest/cookbooks/Benchmarking.
[6]
B. H. Bloom. Space/time trade-offs in hash coding with allowable errors. Communications of the ACM, 13(7):422--426, July 1970.
[7]
L.-F. Cabrera and D. D. E. Long. Swift: Using distributed disk striping to provide high I/O data rates. Computing Systems, 4(4):405--436, 1991.
[8]
A. M. Caulfield, A. De, J. Coburn, T. I. Mollow, R. K. Gupta, and S. Swanson. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, 0:385--395, 2010.
[9]
F. Chen, T. Luo, and X. Zhang. CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST), 2011.
[10]
H. J. Choi, S.-H. Lim, and K. H. Park. JFTL: A flash translation layer based on a journal remapping for flash memory. ACM Trans on Storage, 4(4), Jan. 2009.
[11]
J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP '09), pages 133--146, Oct. 2009.
[12]
B. Debnath, S. Sengupta, and J. Li. FlashStore: High Throughput Persistent Key-Value Store. Proc. VLDB Endow., 3:1414--1425, Sept 2010.
[13]
B. Debnath, S. Sengupta, and J. Li. SkimpyStash: RAM space skimpy key-value store on flash-based storage. In Proceedings of the 2011 ACM SIGMOD International Conference on Management of data, SIGMOD '11, pages 25--36. ACM, 2011.
[14]
I. H. Doh, J. Choi, D. Lee, and S. H. Noh. Exploiting non-volatile RAM to enhance flash file system performance. In 7th ACM & IEEE Conference on Embedded Software (EMSOFT '07), pages 164--173, 2007.
[15]
G. A. Gibson and R. Van Meter. Network attached storage architecture. Communications of the ACM, 43(11):37--45, 2000.
[16]
D. Guo, J. Wu, H. Chen, Y. Yuan, and X. Luo. The Dynamic Bloom Filters. IEEE Transactions on Knowledge and Data Engineering, 22(1):120--133, Jan. 2010.
[17]
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), Feb. 2011.
[18]
A. Hesseldahl. Apple iphone 4 parts cost about $188. http://www.businessweek.com/technology/content/jun2010/tc20100627_763714.htm.
[19]
A. Hunter. A brief introduction to the design of UBIFS. http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf.
[20]
W. K. Josephson, L. A. Bongo, K. Li, and D. Flynn. DFS: A file system for virtualized flash storage. ACM Transactions on Storage, 6(3), Sept. 2010.
[21]
Y. Kang and E. L. Miller. Adding aggressive error correction to a high-performance compressing flash file system. In 9th ACM & IEEE Conference on Embedded Software (EMSOFT '09), Oct. 2009.
[22]
Y. Kang, J. Yang, and E. L. Miller. Object-based SCM: An efficient interface for Storage Class Memories. In Mass Storage Systems and Technologies (MSST), pages 1--12, may 2011.
[23]
Y. Kang, Yangsuk-Kee, E. L. Miller, and C. Park. Enabling cost-effective data processing with smart ssd. In Mass Storage Systems and Technologies (MSST), may 2013.
[24]
J. K. Kim, H. G. Lee, S. Choi, and K. I. Bahng. A PRAM and NAND flash hybrid architecture for high-performance embedded storage subsystems. In 8th ACM & IEEE Conference on Embedded Software (EMSOFT '08), pages 31--40, 2008.
[25]
A. Kirsch and M. Mitzenmacher. Simple summaries for hashing with choices. IEEE/ACM Transactions on Networking, 16(1):218--231, Feb. 2008.
[26]
M. Kryder and C. S. Kim. After hard drives - what comes next? Magnetics, IEEE Transactions on, 45(10):3406--3413, Oct 2009.
[27]
H. Lim, B. Fan, D. G. Andersen, and M. Kaminsky. SILT: a memory-efficient, high-performance key-value store. In Proceedings of the 23st ACM Symposium on Operating Systems Principles (SOSP '11), Oct. 2011.
[28]
G. Lu, Y. J. Nam, and D. H. Du. BloomStore: Bloom-Filter based memory-efficient key-value store for indexing of data deduplication on flash. In Mass Storage Systems and Technologies (MSST), pages 1--11, april 2012.
[29]
D. Nagle, M. E. Factor, S. Iren, D. Naor, E. Riedel, O. Rodeh, and J. Satran. The ANSI T10 object-based storage standard and current implementations. IBM Journal of Research and Development, 52(4):401--411, 2008.
[30]
S.-Y. Park, D. Jung, J.-U. Kang, J.-S. Kim, and J. Lee. CFLRU: a replacement algorithm for flash memory. In Proc. of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pages 234--241, 2006.
[31]
A. Rajimwale, V. Prabhakaran, and J. D. Davis. Block management in solid-state devices. In Proceedings of the 2009 USENIX Annual Technical Conference, June 2009.
[32]
Seagate. Seagate laptop SSHD. http://www.seagate.com/internal-hard-drives/laptop-hard-drives/laptop-solid-state-hybrid-drive/#features.
[33]
K. Sun, S. Baek, J. Choi, D. Lee, S. H. Noh, and S. L. Min. LTFTL: Lightweight Time-shift Flash Translation Layer for Flash Memory based Embedded Storage. In 8th ACM & IEEE Conference on Embedded Software (EMSOFT '08), pages 51--58, 2008.
[34]
S. A. Weil, S. A. Brandt, E. L. Miller, and C. Maltzahn. CRUSH: Controlled, scalable, decentralized placement of replicated data. In Proceedings of SC '06, Tampa, FL, Nov. 2006. ACM.
[35]
Y. Zhang, L. P. 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'12, pages 1--1, Berkeley, CA, USA, 2012. USENIX Association.

Cited By

View all
  • (2020)Check-In: In-Storage Checkpointing for Key-Value Store System Leveraging Flash-Based SSDs2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA45697.2020.00063(693-706)Online publication date: May-2020
  • (2019)ElasticBFProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358870(739-752)Online publication date: 10-Jul-2019
  • (2019)Non-Volatile Memory File Systems: A SurveyIEEE Access10.1109/ACCESS.2019.2899463(1-1)Online publication date: 2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SYSTOR 2014: Proceedings of International Conference on Systems and Storage
June 2014
168 pages
ISBN:9781450329200
DOI:10.1145/2611354
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

In-Cooperation

  • Technion: Israel Institute of Technology
  • USENIX Assoc: USENIX Assoc

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 June 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Flash memory
  2. Key-value store
  3. Object-based storage device
  4. Versioning

Qualifiers

  • Tutorial
  • Research
  • Refereed limited

Conference

SYSTOR 2014
Sponsor:

Acceptance Rates

Overall Acceptance Rate 108 of 323 submissions, 33%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Check-In: In-Storage Checkpointing for Key-Value Store System Leveraging Flash-Based SSDs2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA45697.2020.00063(693-706)Online publication date: May-2020
  • (2019)ElasticBFProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358870(739-752)Online publication date: 10-Jul-2019
  • (2019)Non-Volatile Memory File Systems: A SurveyIEEE Access10.1109/ACCESS.2019.2899463(1-1)Online publication date: 2019
  • (2017)Improving SSD lifetime with byte-addressable metadataProceedings of the International Symposium on Memory Systems10.1145/3132402.3132420(374-384)Online publication date: 2-Oct-2017
  • (2017)Design and Implementation of Papyrus: Parallel Aggregate Persistent Storage2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2017.72(1151-1162)Online publication date: May-2017
  • (2017)KAML: A Flexible, High-Performance Key-Value SSD2017 IEEE International Symposium on High Performance Computer Architecture (HPCA)10.1109/HPCA.2017.15(373-384)Online publication date: Feb-2017
  • (2016)Multi-version checkpointing for flash file systems2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC)10.1109/ASPDAC.2016.7428051(436-443)Online publication date: Jan-2016
  • (2016)Toward high-performance key-value stores through GPU encoding and locality-aware encodingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.04.01596:C(27-37)Online publication date: 1-Oct-2016
  • (2015)Key-value store implementations for Arduino microcontrollers2015 IEEE 28th Canadian Conference on Electrical and Computer Engineering (CCECE)10.1109/CCECE.2015.7129178(158-164)Online publication date: May-2015

View Options

Login options

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