为什么需要新的接口规范?

块接口将存储设备抽象为一个连续的逻辑块/页地址空间(一般为4KB粒度),支持随机读写和就地更新。该抽象能够隐藏存储介质特性,简化主机软件的存储管理,而且与传统机械硬盘的介质访问特性相匹配,因此长期以来块接口得到广泛使用。

然而,**SSD 正在替代机械硬盘成为主流存储设备,其存储介质闪存的操作特性与块接口抽象严重背离。**由于闪存具有先擦后写等特性,SSD 内部控制器采用异地更新的数据写策略,需要动态维护主机逻辑页到闪存物理页的地址映射表(4KB 粒度),并定期进行垃圾回收操作。

以上操作不仅会导致 SSD 产生大幅性能波动和写放大(降低寿命),而且需要配置大容量 DRAM 缓存(1GB每TB存储)和过量供应闪存空间(通常是盘容量的7%-28%),显著增加硬件成本。

SSD 接口发展

image.png

ZNS-SSD

image.png

ZNS提供了Host更加灵活的空间配分数据,但是,Host需要接管zone空间的管理,包括Zone数据地址的映射,GC以及数据均衡等

image.png