NVMe 是什么

Fanly 2018-09-12 10:54:47
问答

NVMe是一种主机控制器接口和存储协议,用于通过计算机的高速外围组件互连高速(PCIe)加速企业和客户端系统与固态硬盘(SSD)之间的数据传输总线。

NVMe(非易失性存储器快速)是一种主机控制器接口和存储协议,用于通过计算机的高速外围组件互连高速(PCIe)加速企业和客户端系统与固态硬盘(SSD)之间的数据传输总线。

NVMe SSD

NVMe 规范定义了基于 PCIe 的 SSD 的寄存器接口,命令集和功能集合,其目标是在各种 NVM 子系统中实现高性能和互操作性。NVMe 规范没有规定最终使用模型,例如固态存储,主存储器,高速缓冲存储器或备份存储器。

NVMe 提供了小型计算机系统接口(SCSI)标准和高级技术附件(ATA)标准的替代方案,用于在主机系统和外围目标存储设备之间连接和传输数据。与串行 ATA(SATA)SSD 一起使用的 ATA 命令和用于串行连接 SCSI(SAS)SSD 的 SCSI 命令集是在硬盘驱动器(HDD)和磁带作为主要存储介质的时候开发的。NVMe 设计用于更快的媒体。

与基于 SAS 和 SATA 的 SSD 相比,基于 NVMe 的 PCIe SSD 的主要优点是减少了主机软件堆栈的延迟,提高了每秒输入/输出操作(IOPS),并可能降低功耗,具体取决于外形尺寸和正在使用的 PCIe 通道数。

NVMe 可以支持使用不同类型的非易失性存储器的 SSD,包括 NAND 闪存和 Intel 和 Micron Technology 开发的 3D XPoint 技术。支持的外形包括附加 PCIe 卡,M.2 SSD 和 U.2 2.5 英寸 SSD。NVMe 参考驱动程序适用于各种操作系统,包括 Windows 和 Linux。

NVMe 的工作原理

NVMe 通过 PCIe 接口将 I / O 命令和响应映射到主机中的共享内存。NVMe 接口支持与多核处理器的并行 I / O,以实现高吞吐量并缓解中央处理单元(CPU)瓶颈。

与 SCSI 和 ATA 命令集相比,NVMe 提供了更简化的命令集来处理 I / O 请求。对于 SAS 设备,NVMe 所需的 CPU 指令数量少于 SCSI 命令集的一半,而 ATA 命令集则使用 SATA 驱动器。

NVMe 在单个消息队列中支持 64,000 个命令,最多支持 65,535 个 I / O 队列。相比之下,SAS 设备通常最多支持 256 个命令,SATA 驱动器在一个队列中最多支持 32 个命令。

但是,基于 NVMe 的 PCIe SSD 目前比同等容量的基于 SAS 和 SATA 的 SSD 更昂贵,而高端企业 NVMe SSD 可能比 SAS 或 SAS SSD 消耗更多功率。SCSI 贸易协会声称,更成熟的 SAS 固态硬盘比 NVMe PCIe 固态硬盘具有更多优势,例如更高的可扩展性,热插拔性和经过时间考验的故障转移功能。NVMe PCIe SSD 还可以提供许多应用程序不需要的性能级别。

NVM Express 的历史

非易失性存储器主机控制器接口(NVMHCI)工作组于 2009 年开始开发 NVMe 规范,并于 2011 年 3 月 1 日发布了 1.0 版本.1.0 规范包括排队接口,NVM 命令集,管理命令集和安全性特征。

NVMHCI 工作组(通常称为 NVM Express 工作组)于 2012 年 10 月 11 日发布了 NVMe 规范的更新.NVMe 1.1 增加了对具有多个 PCIe 端口的 SSD 的支持,以支持多路径 I / O 和命名空间共享。其他新功能包括空闲时间内的自动电源状态转换,以减少能量需求和保留,允许两个或多个主机协调对共享命名空间的访问,以提高容错能力。

NVM Express 工作组于 2013 年 5 月举办了第一次即插即用活动,使公司能够测试其产品是否符合 NVMe 规范,并检查与其他 NVMe 产品的互操作性。

NVMe 1.2 规范于 2014 年 11 月 3 日出现,其增强功能包括支持实时固件更新,改进的电源管理以及端到端数据保护选项。

2015 年 11 月 17 日,NVM Express 组织批准了 1.0 版本的 NVM Express 管理界面(NVMe-MI),以提供一种架构和命令集来管理带外的非易失性存储器子系统。NVMe-MI 使管理控制器能够执行诸如 SSD 设备和功能发现,健康和温度监控以及无中断固件更新等任务。如果没有 NVMe-MI,IT 经理通常依靠专有的供应商特定管理接口来管理 PCIe SSD。

NVMe 1.3 功能增强功能

NVM Express 于 2017 年 6 月发布了 NVMe 1.3。重点介绍了 sanitize,一种称为指令的新框架和虚拟化增强功能。

根据 NVM Express 参考表,在清理操作中,NVMe 子系统中的所有用户数据都被修改,以便“无法从任何缓存,非易失性介质或控制器内存缓冲区”进行恢复。当 SSD 被淘汰或重新用于新用例时,建议使用清理操作。清理模式包括 NAND 媒体上的低级块擦除,加密擦除以更改媒体加密密钥和覆盖。

Directives 框架定义了主机和 NVMe 子系统之间的数据交换机制。这样可以实现每 I / O 命令标记,并使 IT 管理员能够配置可报告的属性和设置。

Directives 的首次使用是一项称为 Streams 的功能,用于优化数据放置以提高 NAND SSD 的耐用性和性能。传统上,在将新数据写入 SSD 之前,必须首先擦除大块数据。

Streams 功能使主机能够使用“流标识符”来指示属于一组关联数据的特定存储逻辑块。这使得能够用存储在其他位置的相关数据标记读取或写入。

虚拟化增强功能定义了 NVMe 闪存如何在存在物理和虚拟控制器的共享存储环境中使用,包括主存储控制器和辅助存储控制器。NVM Express 表示,其目标是使开发团队能够将特定的 SSD 专用于特定的虚拟机。

下一个 NVMe 版本预计在 2018 年或 2019 年。路线图项目包括改进的 NVMe SSD I / O 确定性,持久控制内存缓冲支持和 SAN 多路径。预计的 NVMe over Fabrics 路线图项目包括身份验证,增强发现和传输控制协议传输支持。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • NVMe

    NVMe是什么

    NVMe是非易失性内存主机控制器接口规范。提供高性能并且是一种高度可扩展的存储协议,专为通过 PCIe 接口直接连接到 CPU 的非易失性存储介质(NAND 和持久性存储器)而设计。
  • NVMe 2.0 PCIe

    NVMe 2.0是什么

    NVMe 2.0规范引入了诸多新技术的同时拓展了对机械硬盘的支持。提供对分区命名空间(ZNS)的支持,能够根据不同的使用频率,将数据分门别类地放置在存储设备的特定区域中,从而减少对存储数据的重写和重新排列。
  • 固态硬盘 SSD

    NVMe与SATA具体有什么区别

    NVMe和SATA是两种不同的存储技术,NVMe提供更高性能,利用PCIe接口实现超过5000MB/s的速度,适合高端游戏和专业应用;SATA使用AHCI协议,最高速度约600MB/s,成本较低,适合日常使用和预算有限的场景。
  • NVMe M.2 SSD 尺寸

    NVMe M.2固态硬盘有哪些尺寸

    NVMe M.2固态硬盘有不同尺寸标准,常见的包括2280、2260、2242和2230,用户需考虑设备兼容性、性能需求、预算和用途来选择合适尺寸。2280适合大多数用户,提供高性能和容量;较短尺寸适用于空间有限设备;价格与性能相关。
  • U.2 SSD

    固态硬盘接口转换器是什么作用

    固态硬盘接口转换器是一种重要的硬件设备,它可以解决不同接口标准间的兼容性问题,同时提供扩展性和其他功能。对于用户来说,接口转换器让他们能够自由选择、灵活运用各类固态硬盘,并在旧设备上实现新技术的应用。
  • SSDs 固态硬盘

    固态硬盘接口与传统硬盘接口的主要区别是什么

    固态硬盘接口与传统硬盘接口的主要区别在于技术的先进性、传输速度、通道数量、能耗、可靠性和寿命。固态硬盘通过采用NVMe接口、支持多通道技术、低能耗以及基于闪存技术等特点,提供了更快的读写速度、更出色的性能和较长的寿命,使得其成为了现代计算机用户的首选存储设备。