SSDFS Is The Newest Linux Filesystem & Catering To NVMe ZNS SSDs
Sent out for review on Friday evening were 76 patches implementing SSDFS, the newest open-source Linux file-system and catering to flash-friendly drives and particularly those with NVMe Zoned Namespaces (ZNS) support.
While there is already the mainline F2FS file-system that is literally the "Flash-Friendly File-System", SSDFS takes aim particularly at solid-state storage drives with NVMe Zoned Namespaces support. The ZNS command set exposes the zoned block storage interface between the host system and the SSD to allow for more optimal data alignment. Properly leveraging NVMe ZNS can lead to lower I/O access latency, reduced write amplification, and expose more storage capacity.
SSDFS is admittedly "not completely stable" yet but that it's reached the point that developer Viacheslav Dubeyko believes is ready for more community review/feedback. SSDFS has been in development for several years.
SSDFS aims to eliminate garbage collection "GC" overhead, prolong SSD lifespan / endurance, and natively support a strict append-only mode for ZNS SSDs as well as SMR HDDs. SSDFS also aims to guarantee strong reliability and stable performance.
Benchmarks for SSDFS show quite positive results compared to other (stable) Linux file-systems:
Among the features still being worked on for SSDFS are snapshot support, de-duplication, shared dictionary functionality, extended attributes, IOCTLs support, and other items along with needing to stabilize the ZNS support and other features.
See this patch series for the SSDFS kernel driver patches submitted for review. The user-space tools are available via ssdfs-tools for resize support, fsck, mkfs, and other utilities.
It will be interesting to see where this work on SSDFS leads and if it manages to gain traction for mainlining.
While there is already the mainline F2FS file-system that is literally the "Flash-Friendly File-System", SSDFS takes aim particularly at solid-state storage drives with NVMe Zoned Namespaces support. The ZNS command set exposes the zoned block storage interface between the host system and the SSD to allow for more optimal data alignment. Properly leveraging NVMe ZNS can lead to lower I/O access latency, reduced write amplification, and expose more storage capacity.
SSDFS is admittedly "not completely stable" yet but that it's reached the point that developer Viacheslav Dubeyko believes is ready for more community review/feedback. SSDFS has been in development for several years.
SSDFS aims to eliminate garbage collection "GC" overhead, prolong SSD lifespan / endurance, and natively support a strict append-only mode for ZNS SSDs as well as SMR HDDs. SSDFS also aims to guarantee strong reliability and stable performance.
Benchmarks for SSDFS show quite positive results compared to other (stable) Linux file-systems:
Among the features still being worked on for SSDFS are snapshot support, de-duplication, shared dictionary functionality, extended attributes, IOCTLs support, and other items along with needing to stabilize the ZNS support and other features.
See this patch series for the SSDFS kernel driver patches submitted for review. The user-space tools are available via ssdfs-tools for resize support, fsck, mkfs, and other utilities.
It will be interesting to see where this work on SSDFS leads and if it manages to gain traction for mainlining.
57 Comments