一句话:提出 RAIZN,一个在 ZNS SSD 上条带化数据与校验的逻辑卷管理器,缓解设备 GC 并提升吞吐与尾延迟。
ZNS SSD 虽能降低成本并提升性能,但此前缺乏类似 RAID 的阵列支持,难以同时提高吞吐与可靠性。为冗余 ZNS 阵列设计带来元数据更新、设备不支持覆盖写导致的部分条带写持久化等挑战。RAIZN 是一个暴露 ZNS 接口的逻辑卷管理器,将数据和校验条带化到多个 ZNS SSD 上。与基于相同硬件的传统 SSD mdraid 阵列相比,RAIZN 提供更稳定吞吐和更低尾延迟,因为传统 SSD 的设备级垃圾回收会拖慢性能。作者还将 F2FS、RocksDB 和 MySQL 适配到 ZNS,通过控制 GC 利用其优势;相比发生设备 GC 的传统 SSD 阵列,RAIZN 吞吐最高提升 14 倍并降低尾延迟。
Zoned Namespace (ZNS) SSDs are the latest evolution of host-managed flash storage, enabling improved performance at a lower cost-per-byte than traditional block interface (conventional) SSDs. To date, there is no support for arranging these new devices in arrays that offer increased throughput and reliability (RAID). We identify key challenges in designing redundant ZNS SSD arrays, such as managing metadata updates and persisting partial stripe writes in the absence of overwrite support from the device. We present RAIZN, a logical volume manager that exposes a ZNS interface and stripes data and parity across ZNS SSDs. RAIZN provides more stable throughput and lower tail latencies than an mdraid array of conventional SSDs based on the same hardware platform. RAIZN achieves superior performance because device-level garbage collection slows down conventional SSDs. We confirm that the benefits of RAIZN translate to higher layers by adapting the F2FS file system, RocksDB key-value store, and MySQL database to work with ZNS and leverage its benefits by closely controlling garbage collection. Compared to arrays of conventional SSDs experiencing on-device garbage collection, RAIZN leverages the ZNS interface to maintain consistent performance with up to 14× higher throughput and lower tail latency.
@inproceedings{paperbot10017,
title = {RAIZN: Redundant Array of Independent Zoned Namespaces},
author = {Thomas Kim and Jekyeom Jeon and Nikhil Arora and Huaicheng Li and Michael Kaminsky and David G. Andersen and Gregory R. Ganger and George Amvrosiadis and Matias Bjørling},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3575746}
}