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)的支持,能够根据不同的使用频率,将数据分门别类地放置在存储设备的特定区域中,从而减少对存储数据的重写和重新排列。
  • Vue 框架 Vue framework

    Vue框架的优点是什么

    vue框架的优点是简单易学;灵活高效;双向数据绑定,通过MVVM思想实现数据的双向绑定,让数据操作更简单;组件化开发,Vue.js通过组件,把一个单页应用中的各种模块拆分到单独的组件中,实现了html的封装和重用;极大解放DOM。操作。
  • uni app

    uni app是什么

    uni app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
  • 清除缓存 Clear cache

    格式化cache分区是什么意思

    格式化cache分区是清除系统缓存垃圾文件的意思,cache是系统缓存区域,存储的是用户经常访问产生的数据和应用程序,清除不影响个人数据,只是删除了这个分区中已经保存的缓存内容,一般这些缓存内容都是浏览网页或者其他信息自动产生的。
  • 计算机算法 Computer algorithm

    计算机五大经典算法是什么

    计算机五大经典算法是分治法,把一个复杂的问题分成两个或更多的相同或相似的子问题;动态规划法;贪心算法;回溯法,一种选优搜索法,按选优条件向前搜索,以达到目标;分支限界法。