Operational and performance characteristics of flash SSDs have long been associated with a set of Unwritten Contracts due to their hidden, complex internals and lack of control from the host software stack. These unwritten contracts govern how data should be stored, accessed, and garbage collected. The emergence of Zoned Namespace (ZNS) flash devices with their open and standardized interface allows us to write these unwritten contracts for the storage stack. However, even with a standardized storage-host interface, due to the lack of appropriate end-to-end operational data collection tools, the quantification and reasoning of such contracts remain a challenge. In this paper, we propose zns.tools, an open-source framework for end-to-end event and metadata collection, analysis, and visualization for the ZNS SSDs contract analysis. We showcase how zns.tools can be used to understand how the combination of RocksDB with the F2FS file system interacts with the underlying storage. Our tools are available openly at \url{https://github.com/stonet-research/zns-tools}.
翻译:由于闪存固态硬盘(SSD)内部机制复杂且对外隐藏,同时主机软件栈缺乏对设备的控制能力,其运行特性和性能表现长期以来一直与一系列“非书面契约”相关联。这些非书面契约规定了数据应如何存储、访问和回收。随着Zoned Namespace(ZNS)闪存设备及其开放标准化接口的出现,我们得以将这类非书面契约写入存储栈中。然而,即便采用了标准化的存储-主机接口,由于缺乏合适的端到端运行数据采集工具,对这些契约的量化分析与推理仍面临挑战。本文提出zns.tools这一开源框架,该框架支持ZNS SSD契约分析中的端到端事件与元数据采集、分析及可视化。我们通过展示如何利用zns.tools理解RocksDB与F2FS文件系统的组合如何与底层存储进行交互,验证了该工具的有效性。我们的工具已在https://github.com/stonet-research/zns-tools 开源发布。