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

Appeared in SYSTOR'14. Status: Accepted, Publication:6/10/2014


While non-volatile memory (NVRAM) devices have the po- tential to alleviate the trade-off between performance, scal- ability, 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 manage- ment 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. As a key-value store, Muninn is designed to achieve better life- time and low read/write amplification by eliminating inter- nal data movements and per-object metadata updates using Bloom filters and hash functions. By doing so, it achieves as little 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.

Publication date:
March 2014

Yangwook Kang
Thomas Marlette
Ethan L. Miller
Rekha Pitchumani

Storage Class Memories

Available media

Full paper text: PDF

Bibtex entry

  author       = {Yangwook Kang and Thomas Marlette and Ethan L. Miller and Rekha Pitchumani},
  title        = {Muninn: a Versioning Flash Key-Value Store Using an Object-based Storage Model},
  booktitle    = {SYSTOR'14},
  month        = mar,
  year         = {2014},
Last modified 28 May 2019