BlzFS: Crash Consistent Log-structured File System Based on Byte-loggable Zone for ZNS SSD

Wenjie Qi, Zhipeng Tan, Ziyue Zhang, Jing Zhang, Chao Yu, Ying Yuan, Shikai Tan · 2023

Emerging Zoned Namespace (ZNS) SSDs provide hosts with fine-grained, performance-predictable storage management. The ZNS SSD divides its address space into zones, and each zone must be written sequentially and cannot be overwritten. However, the write constraint results in frequent small modifications of file metadata to record the latest logical block addresses of the updated data blocks, increasing the overhead of fsync() system call. We comprehensively analyze the metadata overhead of fsync on a real ZNS SSD and find that (1) the update size of most metadata blocks (e.g., tens of bytes) is far less than the IO unit of the zone (e.g., 4 KiB), and frequent fsyncs cause severe metadata write amplification; (2) metadata block IOs significantly increase the fsync latency, decreasing the throughput of workloads.To reduce the metadata overhead of fsync, we build the byte-loggable zone based on the persistent write cache of the opened zone, a novel extension of ZNS, which can be appended at byte granularity instead of block. Based on the byte-loggable zone, we present BlzFS, a high-performance and crash-consistent file system for ZNS SSD. Firstly, BlzFS maintains the update ranges of the metadata block by the update bitmap. Secondly, BlzFS ensures the persistence and consistency of metadata by logging the partial updates of metadata blocks to the device’s byte-loggable zone. Finally, BlzFS restores metadata consistency by replaying the metadata update log and scanning the list of recent allocated metadata blocks. In the evaluation, BlzFS shows a 33.5%∼96.1% reduction in metadata write traffic and a 1.37×∼1.91× throughput improvement compared with the original ZNS storage system.

Read the paper · More papers on PaperTik