Abstract
Non-volatile memory (NVM) provides almost comparable low latency to DRAM and byte-addressability. It is a new addition to storage hierarchy and therefore requires us to re-think storage engine design on how to utilize its benefits in real customer scenarios.
In the session, we present a new key-value data store designed for heterogeneous storage architecture. The key concept in it is the appropriate semantic abstraction of a storage tier, which describes generic primitives for the functionalities of space provisioning, reclamation, data placement etc. These primitives allow a tier implementation to fully exploit capabilities of the underlying media, and also offer us the high flexibility to define a caching or tiering topology across various storage types or storage locations. We build a prototype for a typical heterogeneous configuration, which contains DRAM, NVM, SSD and remote storages. The results are promising and show it is well fit to different scenarios, like a storage engine of generic distributed storage service, or as an independent cache gateway for hybrid cloud storage solutions.