分享

固态硬盘:NVME 2.0 新技术解决了什么痛点? 会带来哪些变革?

 金刚光 2022-12-13 发布于辽宁

前言

NVMe SSD依靠PCIE接口以及直连CPU的通信方式,获得了远胜过去SATA硬盘的带宽和低延迟通信能力。正是这种“速度又快、延迟又低”的性能优势,让NVMe SSD 风光无限,收获美誉,也在存储领域成为主角。作为最新的 NVME 技术, NVME 2.0 带来了哪些新技术?这又会对存储领域带来什么样的变革。带着对 NVME 2.0 的好奇心,笔者带你们一起领略。

1. 为什么需要 NVME 2.0?

NVME 自上次发布已有十年,这十年间, NVME 得到了广泛的应用,也暴露出NVME 局限性的地方, 阻碍 NVME 进入更多应用场景。

我们知道存储设备分消费级和企业级, 企业级对可靠性和性能要求更高。之前的NVME协议,对消费级存储和企业级存储的标准, 是采用一刀切的方式,包含相同的功能。这使得NVMe SSD的价格很难降低到入门级,以至于不能实现对低端SATA硬盘和老式SATA SSD的完全取代;另外为了兼顾消费级存储,就必然在企业级存储方面,不能放开手脚。时至今日, NVME 主要还只能作为高端消费级存储。

新NVME 要解决两个问题:

1. 对消费级和企业级实现差异化的标准

2. 企业级应用痛点

你所希望的美好终会变成现实,我们等来了全新的2.0版规范。而这一次,它不仅带来了整个技术架构上的巨大变化,更有望在未来成为整个PC行业“大一统”的存储技术标准。新规范允许更快、更简单地开发 NVMe 解决方案,以支持日益多样化的 NVMe 应用环境。

2. NVME 应用领域

NVME 主要应用领域分消费级和企业级。消费级应用有:SSD固态硬盘、手机(如苹果手机,没想到吧,我一直也以为是UFS)。 企业级应用有:服务器、 分布式存储、磁盘整列、数据中心、移动计算。

在这里插入图片描述

可以看出 NVME 在企业级的应用场景很多, 也很有潜力。但目前SSD 80% 都是在消费级应用,20% 企业级应用, 企业级的需求还没有完全发掘出来。

2.1 消费级应用的突破瓶颈?

消费级应用伴随一个灵魂问题:选性能 or 选价格?

消费级领域,SSD性能已经不是问题。 为什么这么说呢?

目前消费级 SSD 主流速度已达到 3700MB/s。 SSD 是用于存储数据的,数据要么是自己工作和生活产生的, 要么是网络传输过来的。

作为个人电脑,我们自己不可能每秒产生 3GB 的数据。而通过网络传输,现在的速度瓶颈在网络传输带宽上, 而不是存储速度上, 所以即便SSD 速度飞快,你也体验不上啊。

现在网络带宽多少? 我家里用到是 100M 带宽, 速度是 12.8MB/s。 现在最大带宽是 1000M, 速度是 128MB/s.

消费级的应用,现在推广遇到的瓶颈是什么呢? 性价比。

NVME 面临的对手是 SATA 3 和 机械硬盘(HDD), SATA 3 速度在 450MB/s, 机械硬盘速度在 150MB。听起来速度差几个档次对吧, 不要骄傲,对于消费者来说,性价比才是王道,性能够用就行。

1. 不在乎性能的会选择机械硬盘,白花花的银子省下它不香吗?

2. 对性能有偏好的, SATA 也够了, 我公司电脑就是SATA3 SSD。我从机械硬盘换成 SATA 固态硬盘,上网速度并没有感觉变化,感受最明显的是开机速度从 几十s 变成了 十几s.

3. 当然对性能强烈追求的是网游玩家,或者发烧友, 他们会选择NVME SSD, 那是飞一般的快。

所以消费领域就是要让价格更亲民, 让 NVME 能打入到 SSD 入门级。

全新的NVMe 对于消费级、家用SSD,就不再强制要求必须支持一些面向企业环境的功能。对于消费级固态硬盘厂商来说,可以大胆砍掉许多现有产品中的企业级技术,并依然能够通过NVMe 2.0的认证,使得产品成本和售价得以进一步下探。

2.2 如何解决企业级痛点

目前市面上大规模超算和企业计算的需求日益增多,全新的NVMe架构专为未来的SSD开发而设计,以满足未来存储不断变化的需求。NVMe技术围绕通用命令集和架构统一了客户端、云存储和企业存储,针对不同细分市场优化NVMe 2.0规范的功能,开辟新的NVMe设备。

然而覆盖更多的产品品类,实际上正是此次NVMe 2.0规范最大的目的。一方面,NVMe 2.0规范这次彻底覆盖到了大量的企业级用例。例如其现在支持基于光纤网络的高性能硬盘阵列(NVMe over Fabrics),支持安全性更高的64位冗余校验,也支持前段时间三星刚刚推出的ZNS(分区命名空间)新概念SSD。

事实上针对企业应用场景,NVMe 2.0规范这次增加了大量的新内容。不仅简化了企业级存储池的管理,还在可靠性、企业级固态硬盘寿命等方面积极引入新技术,大有彻底在高性能计算和企业级存储领域发力的势头。

3. NVME 2.0 规范框架变化

相对于之前的协议, 新的NVME协议架构发生了重大变化。

先前的 NVME 分两个分支为 NVME(通过总线传输) 和 NVME Over Fabrics(通过网络传输)。新的协议分为NVMe Base 规范、命令集规范、传输规范。

在这里插入图片描述

想对应的,NVMe 2.0 规范拆成了多个文档,包括 NVMe Base 规范、命令集规范(NVM 命令集规范、ZNS命令集规范、KV命令集规范)、传输规范(PCIe 传输规范、光纤通道传输规范、RDMA传输规范和TCP传输规范)和 NVMe 管理接口规范。

在这里插入图片描述

NVM Express(NVMe) 规范系列定义了主机软件如何通过 PCI Express (PCIe)、RDMA、TCP 等多种传输方式与非易失性存储器进行通信。它是所有外形规格(U.2、M.2、AIC、EDSFF)的固态硬盘 (SSD) 的行业标准。目的是为NVME 适用更多场景, 有望大一统存储行业标准。

4. NVME 2.0 新技术

4.1 最重要的改变

分区命名空间(ZNS)

Key Value 指令集

Endurance Group Management

支持HDD

在NVMe 2.0规范中,针对企业级应用:

首次提供了对分区命名空间(ZNS)技术的支持,这项新技术能够根据不同的使用频率对数据进行分组,并按顺序存储在固态硬盘内的独立区域中。这些独立区域,要按顺序写, 读可以随机读。 主要适合大量数据连续写的应用, 比如写入不频繁,读操作频繁的应用场景。避免移动和重新排列数据,能显著减少写入操作的数量,降低写入放大系数(WAF)。具体怎么使用,交给应用程序结合业务类型来用思考了。

其次新增了Key Value指令集的支持,允许应用程序使用键值对与硬盘控制器展开通讯。应用程序通过直接访问键值对,不需要进行映射表转换,减少了存储控制器的负担,降低了操作延时。

NVMe 2.0还支持 Endurance Group Management,这种新颖的存储管理机制允许灵活和动态调节 SSD 配置,以实现动态容量管理和混合式 NAND 操作。该技术有望提升 SSD 的访问粒度、并在整体上实现对存储的更好控制。

4.1 新规范的改变还有哪些

NVMe 2.0 中的许多其他新功能是对现有功能的次要扩展,使这些功能更有用和更广泛使用。

如果你对这些次要功能不感兴趣,可以跳过,转到总结部分。

NVMe 1.4 中引入了将设备的存储划分为NVM 集和耐久性组,但规范没有说明如何创建这些划分;该配置要么需要由驱动器的固件硬编码,要么使用供应商特定的命令处理。

NVMe 2.0 为要分配的耐力组和 NVM 集添加了标准容量管理机制,并且还添加了另一层分区(域),以便需要更多工具来分割可用存储池的海量 NVMeoF 存储设备,或隔离不同用户对共享驱动器或阵列的性能影响。

NVMe 规范最初预测了基本块存储命令集之外的多个命令集的可能性。但是用于支持多个命令集的原始机制不足以满足当今的用例:控制器功能数据结构中的少量保留位不足以涵盖当今 SSD 可能实现的所有可能性。特别是,处理多个命令集的新系统现在可以让同一控制器后面的不同命名空间支持不同的命令集,而不是要求所有命名空间都支持其父控制器支持的所有命令集。

当 NVMe 1.4 完成时,分区和键值命令集已经在快成熟了,现在这些技术已被纳入 2.0,与原始块存储命令集具有同等地位。未来的命令集(例如用于计算存储驱动器)仍在进行中,尚未准备好标准化,但 NVMe 规范现在能够更轻松地整合此类新开发。NVMe 原则上还可以添加一个开放通道命令集,以公开管理 NAND 闪存(页面、擦除块、缺陷管理等)的大部分或全部原始细节,但普遍的行业共识是ZNS分区存储协议达到了更合理的平衡,并且对开放通道 SSD 的兴趣正在减弱,有利于分区命名空间。

对于企业使用案例,NVMe 继承了 SCSI/SAS 的保护信息支持,将一些额外信息与每个逻辑块相关联,用于验证端到端数据完整性。NVMe 2.0 将现有的保护信息支持从支持 16 位 CRC 扩展到还支持 32 位和 64 位 CRC,从而为大规模存储系统提供更强大的数据保护。

NVMe 2.0 引入了一项重要的新安全功能:命令组控制,使用新的 Lockdown 命令进行配置。NVMe 1.4 添加了命名空间写保护功能,允许主机系统将命名空间置于写保护模式,直到明确解锁或驱动器重新启动。NVMe 2.0 的 Lockdown 允许类似的控制来禁止其他命令。这可用于将驱动器置于允许普通读取和写入的状态,但各种管理命令被锁定,因此无法重新配置驱动器的其他功能。与之前的写保护功能一样,此命令组控制支持设置这些限制,直到它们被明确删除,或者直到重新启动。

对于 NVMe over Fabrics 用例,NVMe 2.0 阐明了如何在可通过多个控制器访问共享存储的情况下处理固件更新和安全设备关机。现在还明确支持硬盘驱动器。尽管硬盘驱动器不太可能很快切换到本地使用 PCIe 连接而不是 SAS 或 SATA,但支持多种旋转介质意味着企业可以使用 NVMe over Fabrics 统一他们的存储网络,并放弃像 iSCSI 这样的旧协议。

总的来说,

扩展阅读:[ NVMe 2.0 Specification Released: Major Reorganization ]

总结:

NVMe 2.0 并没有像之前的一些更新那样带来那么多的新功能。特别是,此更新中没有任何内容与客户端/消费者 SSD 相关。但是协议重组是的协议结构变得更有扩展性,应该使迭代和试验新功能变得更加容易。

针对消费级应用,没有什么更新,有一个新的风向是不再要求包含企业级应用的功能,可使NVME消费级产品成本和售价得以进一步下探, 下沉到入门级市场。

针对企业级服务器连续写场景,新增了ZNS,可提高使用寿命,SSD固态性能或将迎来大提升。同时可看出NVME 2.0 致力于让闪存对软件层更加透明,引入了key - value 机制,让软件层更直接访问闪存数据建-值类型数据。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多