Zoned Namespace (ZNS) SSDs offer a new storage model that allows for high throughput and low-latency storage by eliminating device-side garbage collection. The ZNS interface exposes storage as append-only zones, thus enforcing host applications (e.g., database systems) to append, read, and garbage collect their pages. However, the storage abstraction of ZNS SSD hides the substantial differences across different ZNS SSD controller designs, which affects both the performance and predictability of host applications. We find that existing ZNS controllers exhibit (a) increased device-level write amplification (DLWA), (b) increased wear, and (c) increased interference with host I/O. We identify that (i) zone allocation granularity, (ii) zone geometry, (iii) write order, and (iv) zone mapping and management strategy are the four main causes behind this. To provide a predictable storage device, we propose SilentZNS, a new holistic zone management approach that expands the design space of zones and allocates blocks to zones on the fly, while minimizing wear, maintaining parallelism, and avoiding superfluous writes to the device. SilentZNS is a flexible zone allocation scheme that departs from traditional logical-to-physical zone mapping and allows arbitrary collections of blocks to be assigned to a zone. SilentZNS further guarantees wear-leveling and competitive read performance, while substantially reducing DLWA. We implement SilentZNS using the state-of-the-art ConfZNS++ emulator and evaluate it on synthetic microbenchmarks and key-value storage engines. We show that SilentZNS reduces superfluous writes, leading to lower DLWA (92% less at 10% zone occupancy), less overall wear (up to 12%), and up to 3.7x faster workload execution.
翻译:分区命名空间(ZNS)SSD 提供了一种新的存储模型,通过消除设备端的垃圾回收,实现高吞吐量和低延迟存储。ZNS 接口将存储暴露为仅支持追加写入的区域,从而强制主机应用程序(如数据库系统)追加、读取和回收其页面。然而,ZNS SSD 的存储抽象掩盖了不同 ZNS SSD 控制器设计之间的显著差异,这既影响主机应用程序的性能,也影响其可预测性。我们发现,现有 ZNS 控制器表现出:(a)设备级写入放大(DLWA)增加,(b)磨损加剧,以及(c)与主机 I/O 的干扰增强。我们指出,(i)区域分配粒度,(ii)区域几何结构,(iii)写入顺序,以及(iv)区域映射和管理策略是导致这些问题的四个主要原因。为了提供可预测的存储设备,我们提出 SilentZNS,这是一种新的整体区域管理方法,它扩展了区域的设计空间,并动态地将块分配到区域,同时最小化磨损、保持并行性并避免对设备的不必要写入。SilentZNS 是一种灵活的区域分配方案,它摒弃了传统的逻辑到物理区域映射,允许将任意块集合分配给一个区域。SilentZNS 进一步保证了磨损均衡和具有竞争力的读取性能,同时大幅降低了 DLWA。我们使用最先进的 ConfZNS++ 模拟器实现 SilentZNS,并在合成微基准测试和键值存储引擎上进行评估。我们表明,SilentZNS 减少了不必要写入,从而降低了 DLWA(在 10% 区域占用率下减少 92%)、减少了总体磨损(最高达 12%),并将工作负载执行速度提升至原来的 3.7 倍。