NOVA: The Newest Linux File-System, Designed For Persistent Memory

NOVA is short for NOn-Volatile memory Accelerated file-system built for persistent memory. NOVA was developed at the beautiful University of California, San Diego.
From their announcement, "NOVA's goal is to provide a high-performance, full-featured, production-ready file system tailored for byte-addressable non-volatile memories (e.g., NVDIMMs and Intel's soon-to-be-released 3DXpoint DIMMs). It combines design elements from many other file systems to provide a combination of high-performance, strong consistency guarantees, and comprehensive data protection. NOVA supports DAX-style mmap, and making DAX perform well is a first-order priority in NOVA's design."
The developers believe NOVA is stable enough right now for "complex applications" but that there is "substantial" work left.
NOVA is log-structured with a log-per-file design, file modifications are copy-on-write, replication and checksumming of all metadata structures, supports checkpoints, and more.
Many more details on NOVA's design can be found via this documentation patch. It will be interesting to see how well NOVA does and if the UCSD developers are eventually able to mainline this new persistent memory file-system for Linux.
17 Comments