Crash Consistency in DRAM-NVM-Disk Hybrid Storage System
Guoyu Wang, Xilong Che, Haoyang Wei, Chenju Pei, Juncheng Hu
TL;DR
This work tackles crash-consistency in a DRAM-NVM-Disk heterogeneous storage stack, focusing on the challenges that arise from differing write sequences and granularities across devices. Using NVPC as a case study, it formalizes sync semantics and crash-recovery models, and then proposes a three-pronged approach to ensure recoverable correctness: per-page persistent version metadata in NVM (Algorithm 1) to resolve data version after crashes, recording write-back events on the NVM (Algorithm 2) to manage arbitrary-length sync writes, and explicit write-back timing marks (Algorithm 3) to handle the uncertainty of write-back duration. The core contributions are the formal problem delineation and the design of concrete, provably corrective mechanisms that preserve crash semantics while preserving performance of the fast path. The findings provide a practical design space for heterogeneous storage systems adopting multiple write sequences and granularities, with direct implications for reliability and performance in systems integrating NVMe/NVM with traditional disks.
Abstract
NVM is used as a new hierarchy in the storage system, due to its intermediate speed and capacity between DRAM, and its byte granularity. However, consistency problems emerge when we attempt to put DRAM, NVM, and disk together as an efficient whole. In this paper, we discuss the challenging consistency problems faced by heterogeneous storage systems, and propose our solution to the problems. The discussion is based on NVPC as a case study, but can be inspiring and adaptive to all similar heterogeneous storage systems.
