Muninn: a Versioning Key-Value Store using Object-based Storage Model

Appeared in Proceedings of the 7th International Systems and Storage Conference (SYSTOR’14).


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. As a key-value store, Muninn is designed to achieve better lifetime 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 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:
June 2014

Yangwook Kang
Thomas Marlette
Ethan L. Miller
Rekha Pitchumani

Storage Class Memories

Available for download:

Full text:
Download as PDF

Bibtex entry

  author       = {Yangwook Kang and Thomas Marlette and Ethan L. Miller and Rekha
  title        = {Muninn: a Versioning Key-Value Store using Object-based Storage
  booktitle = {Proceedings of the 7th International Systems and Storage
Conference (SYSTOR’14)},
  month        = jun,
  year         = {2014},
Last modified 30 Jun 2014