NVMe 1.4协议三大新功能解读!

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

NVMe协会在FMS2018上通过一系列的演讲对NVMe、NVMe-oF、NVMe-MI、JBOF以及NVMe基准测试等方面做了介绍。并且发布了NVMe后续的演进方案的Roadmap。


640?wx_fmt=jpeg


从NVMe Roadmap来开,NVMe 1.4将会是NVMe协会接下来的主要工作。此次NVMe1.4的更新主要包含以下几大方面:


  1. IO Determinism;

  2. Persistent memory Region;

  3. Multipathing;


  • IO Determinism是为了优化latency提供更好的QoS而生。

  • Persistent memory Region的特点是掉电不丢数据,为系统提供一种高效的Non-Volatile存储空间。从目前市场应用来看最可能的应用是存储一些系统的log文件,以及一些metadata等。

  • Multipathing提供了更加高效便捷的data share解决方案。其中IO Determinism应该是此次NVMe 1.4更新的重点内容。本文也主要针对IO Determinism做一些分析。


What is NVMe IO Determinism?


  • 提供相对独立的访问空间;

  • 提高IOPS,降低延时;

  • 提供更加优秀的QoS;


为了做到以上几点,IO Determinism包含以下几部分内容,一个是NVM Sets,一个是PLM(Predictable Latency Mode),还有RRL(Read Recovery Level)。


NVM Sets


NVMe 1.4中通过NVM Sets实现了对SSD物理资源的精细划分,每个Set可以独立占用一部分SSD的资源,每部分资源可以包含多个Flash channel以及多个Flash die,可以独立的进行read,write,erase等操作,如下图所示,在没有NVM Set之前多个application share所有的SSD资源,会出现一个application在执行的时候会block另一个application的操作,降低系统的QoS,在有NVM Sets之后每个一个application可以使用一个独立的NVM Set,这样application之间不会存在相互block的情况,提高了系统的QoS。


640?wx_fmt=jpeg


PLM


PLM是IO determinism中另外一个组成部分,主要用于优化系统的读写延时,提高系统的QoS。在PLM有效之后系统划分为DTWIN(Deterministic Window)以及NDWIN(Non-Deterministic Window)两种时间窗口,在DTWIN时间窗口内,SSD系统提供为读写指令提供deterministic latency,以提高系统的QoS,在NDWIN时间窗口内,SSD系统不需要提供deterministic latency,以完成SSD系统内部的GC等操作。


640?wx_fmt=jpeg


有了这两种时间窗口系统可以灵活调度对SSD的读写,以保证尽量将read/write执行放在DTWIN的时间段内执行,以减少latency,提高系统的QoS。


在DTWIN内有两个值需要注意,一个是typical value,这个值表示SSD系统可以在DTWIN时间窗口内可以执行的command数量(rand 4K read or Optimal Write Unit Size write)。另一个是reliable estimate value,这个值表示在DTWIN时间窗口内剩余的可执行的command数量值。以上两个值Host可以通过Get log page得到。


下图为大家展示了一个read DTWIN的typical value与estimate value之间的关系图。


640?wx_fmt=jpeg


随着reliable estimate value的减少,当小于某一threshold之后,SSD会自动从DTWIN跳到NDWIN。当然Host也可以通过set Features指令直接配置SSD处于DTWIN还是NDWIN时间窗口内。


在DTWIN以及NDWIN内有几个时间参数也需要注意:


  • NDWIN Time Minimum Low:SSD controller在收到请求进入DTWIN的set Feature指令之后需要在这个时间之内完成从NDWIN到DTWIN的转换。

  • NDWIN Time Minimum High:表示Host在上一个DTWIN Time Maximum之后需要在NDWIN窗口内需要花费的时间。

  • DTWIN Time Maximum:表示SSD系统可以保持在Deterministic Window的最大时间。


DTWIN Time Maximum与NDWIN Time Minimum High提供了一个系统在DTWIN与NDWIN的比例,例如Host在Deterministic Window保持了DTWIN Time Maximum的一半时间,那么host只需要在接下来的Non-Deterministic Window保持NDWIN Time Minimum High的一半时间。


RRL


由于在read过程中会出现数据错误,而数据出错的比例不同造成data recovery的时间也会不同,所以为了实现PLM,NVMe协议规定在支持PLM的时候需要同时支持Read Recovery Level Config。不同的Read Recovery Level对应不同的read latency。Recovery Level 0代表需要SSD尽最大努力去恢复数据,同时read latency也会更高,Recovery Level 15代表需要SSD尽快完成数据恢复工作,尽可能降低read latency,但是同时也有可能带来数据无法正确恢复。Host根据不同的需求可以配置不同的recovery level。


随着SSD的不断发展,SSD系统的峰值性能已经不再是客户追求的主要目标。客户需要性能更加稳定,延时更低的解决方案,NVMe IO determinism的出现将会在这两方面发挥重要作用。相信随着后续NVMe 1.4的正式发布会有越来越多的厂商关注NVMe IO determinism技术。


推荐阅读:


温馨提示:

请识别二维码关注公众号,点击原文链接获取更多RDMA技术资料总结

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

### 回答1: NVMe1.4是一种高性能、低延迟的存储协议,用于连接主机和固态硬盘(SSD)之间的通信。这一协议的PDF文档是有关NVMe1.4协议的详细说明和规范的文档。以下是对NVMe1.4协议PDF的简要回答: NVMe1.4协议PDF文档提供了关于NVMe1.4协议的详细信息,包括其架构、指令集、传输层等内容的规范和说明。这一文档的目的是为了帮助开发人员、工程师和研究人员深入了解和应用NVMe1.4协议。 在NVMe1.4协议PDF中,可以找到关于NVMe1.4协议的基本概念和术语的定义,并详细说明了NVMe1.4协议的特点和优势。此外,该文档还介绍了NVMe1.4命令集和队列管理模型,以及如何在主机和SSD之间进行高效的数据传输。 NVMe1.4协议PDF还提供了有关NVMe1.4协议中的错误处理、电源管理和安全特性的信息。开发人员可以根据这些规范和说明,编写对应支持NVMe1.4协议的驱动程序和应用程序,实现更好的存储性能和可靠性。 总而言之,NVMe1.4协议PDF是一份包含了关于NVMe1.4协议的规范和说明的文档,可以帮助开发人员了解和应用这一协议,从而提高存储系统的性能和效率。 ### 回答2: NVMe 1.4协议是一种高性能、低延迟的存储协议,用于连接计算机主机与闪存存储设备,为数据传输提供了更好的速度和效率。这个协议定义了数据的读写操作、命令传输以及错误处理等各方面的规范。 NVMe 1.4协议的PDF文件提供了详细的技术规范,包含了协议的完整描述和具体实现细节。这个文档可以帮助开发者了解协议的运作机制,设计和实现与NVMe存储设备的交互。在这个PDF中,我们可以找到以下主要内容: 1. 协议概述:介绍了NVMe 1.4协议的发展历史、设计目标和优势,以及与之相关的其他标准和规范。 2. 命令和队列:详细描述了标准NVMe命令的格式和功能,包括读取、写入、擦除和管理等方面。还介绍了命令队列和多队列的概念,以及如何通过队列管理提高性能。 3. 数据传输:说明了在NVMe协议下如何进行数据的读写传输,包括内存映射I/O(MMIO)和DMA传输等方式。同时还讨论了数据保护、错误检测和纠正等相关机制。 4. 管理和配置:包括设备发现、初始化、命名和分区等管理功能的规范。此外,还介绍了如何进行固件升级和设备状态监控等操作。 5. 错误处理和故障恢复:详细描述了错误处理和异常情况下的故障恢复机制,如何处理传输错误、超时和异常事件等。 总之,NVMe 1.4协议的PDF文档为开发和实现NVMe存储设备的人员提供了重要的参考材料。它提供了协议相关的规范和实践细节,帮助开发者理解和正确实现协议,以实现高性能、低延迟的存储解决方案。 ### 回答3: NVMe(Non-Volatile Memory Express)是一种高性能的存储接口协议NVMe 1.4协议NVMe协议的最新版本,发布于2019年,带来了许多新功能和改进。 NVMe 1.4协议在SSD(固态硬盘)领域具有重要意义。它引入了许多新的特性,包括:ZNS(Zoned Namespaces)支持,它可以提高SSD的容量效率;Sanitize功能的增强,可以更好地保护用户的数据;Persistent Event Log功能的改进,提供更好的日志记录功能NVMe 1.4协议还引入了重要的安全功能,如命名空间安全性和传输安全性。命名空间安全性可以保护NVMe设备的命名空间不受未经授权的访问。传输安全性可以通过使用加密来保护数据的机密性,并使用完整性保护特性来验证数据的完整性。 此外,NVMe 1.4还提供了对多点读取/写入、数据保护信息(DPI)和多队列处理(MQ)的增强支持。这些功能能够进一步提高SSD的性能和可靠性。 总的来说,NVMe 1.4协议是一项重要的技术进步,它在存储领域带来了许多新的功能和改进。通过使用NVMe 1.4协议,用户可以获得更好的性能、更高的容量效率和更好的数据保护,从而提升了固态硬盘的整体性能和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值