ZNS

分区命名空间 (ZNS) 将存储公开为具有顺序写入约束的区域,将放置和垃圾收集决策移向主机,以便使设备映射和回收更加可预测。

核心思想

ZNS 将可写容量划分为区域。主机按区域顺序附加数据,并在区域内容过时时重置或回收区域。这种抽象可以减少隐藏的设备端重定位,并使日志结构存储与设备的物理管理保持一致,但它也将写入顺序、开放区域限制和回收调度转变为主机可见的正确性和性能义务。

该语料库将 ZNS 视为一个设计系列,而不是性能的保证。 ZUFS-FAST26 使分区语义适应移动 UFS,而存储论文将其用作主机软件如何显式管理放置和垃圾收集的参考点。

为什么重要

分区存储提供了一种使大型闪存设备上的写入放大和尾部行为更加可控的途径。它与日志结构文件系统、缓存和仅附加服务特别相关,其中主机已经知道数据生命周期。相反,需要就地更新、许多并发编写器或不透明的遗留 I/O 路径的应用程序必须支付适应费用或保留传统存储。

关键观察 / 隐含假设

  • 观察:区域级映射相对于页面级映射可以减少元数据压力。 ZUFS-FAST26 报告称其设备的 ZUFS 映射表足够小,可以保留在 SRAM 中,但此声明特定于其区域几何结构和手机平台。
  • 观察:主机到设备的路径必须保留区域写入顺序。 ZUFS-FAST26 标识时钟门控重新排队和块层极端情况,即使文件系统发出顺序写入,这些情况也可能违反预期顺序。
  • 假设:大区域可以避免设备端GC,但可以使主机GC变得更粗糙。因此,ZUFS-FAST26 添加了主动文件系统 GC,因为完整的部分/区域可能会使前台回收成本高昂。

设计空间与取舍

  • 主机控制与兼容性:显式追加/重置语义启用位置感知软件,但会强制更改文件系统、调度程序和采用覆盖友好型块存储的应用程序。
  • 大区域与回收粒度:较大的区域可以减少映射状态并可以简化顺序媒体管理,同时使每个受害者选择和迁移决策更加粗略。
  • 正确性与电源管理:设备和内核节能路径可能需要同步更改以保留有序写入。

引用本概念的论文

  • ZUFS-FAST26 — 跨 Android、文件系统、块层、驱动程序和设备堆栈实现分区 UFS。
  • DisCoGC-FAST26 — 对比日志结构 SSD 服务中的丢弃和压缩权衡,说明分区设计试图暴露的主机端回收问题。
  • WSBuffer-FAST26 — 研究高带宽 SSD 路径如何促使缓冲数据路径和直接数据路径分离;分区设备为该决策添加了排序限制。

已知局限 / 开放问题

  • 端到端行为取决于文件系统策略、调度程序排序、驱动程序电源管理和固件几何结构,而不仅仅是命名空间抽象。
  • 开放区域限制、小量写入和前台回收需要特定于工作负载的调度,并且仍然难以跨设备进行验证。