[元带你学NVMe协议] ZNS 架构: 解决传统SSD问题的高性能存储栈设计

101 篇文章 124 订阅 ¥399.90 ¥499.90
29 篇文章 14 订阅 ¥399.90 ¥499.90
本文介绍了ZNS(Zone Namespace)存储架构,它解决了传统SSD的问题,通过顺序写入优化性能并减少GC开销。ZNS将SSD划分为多个zone,每个zone内部强制顺序写,外部支持随机读。ZNS存储栈包括块驱动到文件系统,简化接入成本。文章探讨了zone存储模型的演变,包括zone状态机、write pointer、zone容量和active zone限制。硬件限制如zone sizing和映射表设计也进行了讨论,以及为主控软件设计的Host-Side FTL(HFTL)和文件系统优化。ZNS的目标是提供更高效、低延迟的数据存储解决方案,适用于顺序写入的应用场景,如数据库和对象存储。
摘要由CSDN通过智能技术生成

2 ZNS 架构
2.1 ZNS storage 模型演进
先大体看一下 ZNS-ssd 的内部数据分布:

ZNS-ssd 像 OC 那种 channel,将整个SSD内部的存储区域分为多个zone 空间,每一段zone空间管理一段LBA(物理page和逻辑地址之间的映射),不同的zone 空间之间的数据可以是独立的。最主要的是,每一个zone 内部的写入 只允许顺序写,可以随机读。因为 zone 内部的顺序写特性,基本可以消除 SSD GC的开销。为了保证zone 内部的顺序写,在ZNS内部想要覆盖写一段LBA地址的话需要先reset(清理当前地址的数据),才能重新顺序写这一段逻辑地址空间。

同时一个完整的 ZNS设备是支持完整的存储栈,包括底层的块驱动到上层的文件系统都是已经实现好的。这个完整的存储栈就是相比于OC-ssd的优势,能够对外屏蔽复杂的接入功能,紧抓用户的使用习惯,用户软件可以做到基本零成本接入。

当然,仅限于底层是顺序写的存储应用。rocksdb / ceph的bluestore 等。
整个存储栈的演进是一个过程,并不是直接就推出了ZNS的设计,下文将会详细介绍,从ZNS 的演进过程我们也能看到ZNS 可应用场景的一些限制。

2.1.1 zone storage model

最开始的时候西数推出了zone 形态的存储模型,也就是上图中

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐元

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值