ZNS技术分析系列之一 --- 为什么产生了ZNS技术

        SSD已经在生产、生活环境中应用很多年了,但是文件系统对于SSD数据的管理逻辑还是按照HDD的那一套,称为block interface,SSD要融入软件栈,则需要模仿HDD的行为,这个模仿的动作由FTL来完成。

        FTL分为Host Based和Devices Based,分别表示FTL是在主机端实现还是SSD控制器端实现。目前主流都是Device Based FTL。

        闪存Page为SSD的最小读取和写入单元,对应HDD的Sector,一般为4KB~16KB,固件可以调整。FTL的主要工作就是负责将逻辑地址映射到SSD的Page上去。也就是从逻辑地址到物理地址的映射。

        FTL的存在导致我们为了降低读时延,需要将FTL放入更快的缓存中。一般这个缓存是SSD盘上的DRAM或SLC(ramless)。缓存和SSD容量的比例为1:1000,也就是1TB的SSD需要1GB的DRAM做缓存,这就造成了额外的成本。

        另外在随机读写I/O下,SSD的Block很快变得有效数据和无效数据混杂,这个时候GC就会介入,将有效数据迁移到一个空的Block中,然后将原Block擦除,这种行为会导致读写带宽和尾时延受到很大影响,也会导致SSD寿命的降低。

        为了让GC的影响变小,SSD会根据业务场景预留不同的容量空间(Over Provision)作为数据搬移的中转Block,这无疑也大大增加了用户的CAPEX。

        为了解决这些问题,NVMe 2.0协议中加入了ZNS的命令集。

        ZNS会彻底去除GC的数据搬移写放大,会降低DRAM的使用量到1/8,OP(Over Provision)使用量到1/10甚至完全不需要OP,这让企业存储用户对于这项技术十分感兴趣。

        可以看到在数据中心高负载写业务的场景下(OP 156%),开启ZNS可以让成本下降一半以上。

        在此基础上,还可以保证数据写入的Throughput不会随着SSD的数据量逐渐增多而产生明显的降低。

        以上所有的好处都是需要付出一定的代价的,主要的问题在于对应用的I/O行为模式有了新的要求,具体情况在后续章节中说明。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值