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.
翻译:暂无翻译