NOVA: The Newest Linux File-System, Designed For Persistent Memory
It's been an interesting week for Linux storage with Red Hat deprecating Btrfs and Stratis being their next-gen Linux storage bet. Independent of that is now the announcement of NOVA, a new Linux file-system coming out of university research into file-systems 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.