NVMe到底是什么?用它的SSD有啥优势?


2015-8-20 14:00  |  作者:Strike   |  关键字:NVMe,SSD,PCI-E SSD,超能课堂

分享到: 33

有关注SSD的朋友应该今年听到NVMe这个词的频率应该不低,随着高端SSD的战场已经抛弃SATA向PCI-E转移,老旧的AHCI标准已经不合时宜, 未来是属于NVMe的,那么NVMe到底是啥呢?

有玩过SSD的朋友应该都清楚想要让SSD发挥出真正实力的话要去BIOS里面把SATA控制器模式切换成AHCI,对SATA设备来说使用AHCI模式的确是正确的选择,切换成AHCI可获得更好的性能。但是现在最新存储接口M.2和SATA-E接口走的都是PCI-E通道,对于PCI-E来说AHCI可不是一个好的选择,想发挥最佳性能其实需要新的标准——NVMe。


Intel 750就是NVMe SSD的代表作

有关注SSD的朋友应该今年听到NVMe这个词的频率应该不低,这个原本只在企业级产品上应用的标准在Intel与三星的推动下现在已经进入消费级市场了,随着高端SSD的战场已经向PCI-E和M.2接口转移,老旧的AHCI标准已经不合时宜,越来越多的主控厂商推出支持NVMe的主控,未来也会有更多支持NVMe标准的SSD推向市场,那么NVMe到底是啥呢?

如果说AHCI的话大家应该会了解多一点,NVMe其实与AHCI一样都是逻辑设备接口标准(是接口标准,不是接口!不是接口!不是接口!因为很重要所以说三次),NVMe全称Non-Volatile Memory Express,非易失性存储器标准,是使用PCI-E通道的SSD一种规范,NVMe的设计之初就有充分利用到PCI-E SSD的低延时以及并行性,还有当代处理器、平台与应用的并行性。SSD的并行性可以充分被主机的硬件与软件充分利用,相比于现在的AHCI标准,NVMe标准可以带来多方面的性能提升。

NVMe的由来

现在所用的SATA接口与AHCI标准其实是为高延时的机械硬盘而设计的,目前主流SSD依然继续使用它们,早期SSD性能不高时可能还不觉得有什么问题,但是随着SSD的性能逐渐增强,这些标准已经成为限制SSD的一大瓶颈,专为机械硬盘而设计的AHCI标准并不太适合低延时的SSD。

当然,业界早就意识到这一问题,2009年下半年,关于NVMe的技术工作正式启动,NVMe规范由包含90多家公司在内的工作小组所定制,Intel是主要领头人,小组成员包括美光、戴尔、三星、Marvell、NetAPP、EMC、IDT等公司,目的就是为SSD建立新的存储规范标准,让它在老旧的SATA与AHCI中解放出来。

2011年,NVMe标准正式出炉,该标准是根据闪存存储的特点量身定制的,新的标准解除了旧标准施放在SSD上的各种限制。2012年标准升级到NVMe 1.1,最新的NVMe 1.2标准是在2014所推出的。

首款支持NVMe标准的产品是三星XS1715,与2013年7月所发布,随后陆续有企业级的NVMe标准SSD推出,直到今年Intel 750发布,NVMe标准的产品才开始进入消费级市场。

NVMe的优势一:低延时

说到NVMe标准对比AHCI标准的优势,其中之一就是低延时,看上图比较直观,NVMe标准是面向PCI-E SSD的,使用原生PCI-E通道与CPU直连可以免去SATA与SAS接口的外置控制器(PCH)与CPU通信所带来的延时。

在软件层方面,NVMe标准的延时只有AHCI的一半不到,NVMe精简了调用方式,执行命令时不需要读取寄存器;而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成大概2.5微秒的延迟。


更低的延时可让SSD的4KB QD1传输能力暴涨

NVMe的优势二:IOPS大增

另外NVMe也大大的提升了SSD的IOPS性能,在制定AHCI规范时并行性的想法并没有完全融合到规范内,利用NCQ功能可以对传输能力进行优化,但是接口并不允许SSD真正最大限度地发挥其应有的并行性。

现在SSD测试通常最多只会测试到队列深度为32的IOPS能力,其实终究原因这是AHCI的上限,其实许多闪存主控可以提供更好的队列深度。而NVMe则可以把最大队列深度从32提升到64000,SSD的IOPS能力也会得到大幅提升。

NVMe还支持同一时间从多核处理器接受命令和优先处理请求,这个特性在企业级的重负载时优势就会显露出来。

低延时和良好的并行性的优势就是可以让SSD的随机性能得到大幅度提升,我们测试过的Intel 750就是一块NVMe SSD,它的随机性能表现绝对是一流的,在任何队列深度下都能发挥出极佳的速度。

NVMe的优势三:功耗更低

NVMe加入了自动功耗状态切换和动态能耗管理功能,设备从Power State 0闲置50ms后可以切换到Power State 1,继续闲置的话,在500ms后又会进入功耗更低的Power State 2,切换时会有短暂延迟。SSD在闲置时可以非常快速的控制在极低的水平,在功耗管理上NVMe标准的SSD会比现在主流的AHCI SSD拥有较大优势,这一点对移动设备来说尤其重要,可以显著增加笔记本和平板电脑的续航能力。

NVMe的优势四:驱动适用性广

驱动程序的兼容性也是所有PCI-E SSD的一个共有问题,每个产品都有对应不同系统的专用驱动,这方面有些厂商做的非常出色,而另一些则 不怎么样,然而许多PCI-E SSD需要加载驱动才能够正常引导。

NVMe标准的出现解决了这个问题,NVMe SSD可以很方便的匹配不同的平台、系统,无需厂家提供相应的驱动就可以正常工作,目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了对NVMe SSD的支持。当然Intel的产品拥有自己的驱动程序,不安装Intel驱动的话SSD能正常工作,但是性能不能完全发挥,之前测试Intel 750时就有这个问题,其他厂商的不知道怎么样。

<think>嗯,用户想了解NVMe和PCIe的技术定义和用途。这个问题需要从计算机硬件接口的底层逻辑讲起,得先理清两者的层级关系。 先看PCIe部分。用户可能混淆了物理接口和协议的概念,需要明确区分:PCIe是物理层的总线标准,就像高速公路的基础设施。引用[4]提到PCIe接口速度可达32Gb/s,远超SATA的6Gb/s,这个对比很直观。不过要补充说明PCIe通道的灵活性——x1/x4/x16等不同车道数对应不同带宽,存储设备常用x4通道。 关于NVMe,引用[2]的定义很关键:它是专为闪存设计的协议层规范。这里需要强调它和AHCI的本质区别——引用[3]用"交通规则"比喻特别形象,NVMe相当于为PCIe这条高速公路设计的无红绿灯立体交通系统。可以补充具体数据:NVMe的队列深度是AHCI的256倍,命令延迟降低到AHCI的1/6。 存储设备的完整技术栈需要分层解释:最底层是PCIe物理接口(插槽形态),中间是NVMe协议(数据传输规则),最上层才是SSD控制器和闪存颗粒。引用[5]提到的M.2接口容易混淆,其实M.2只是物理外形标准,既支持SATA协议也支持NVMe协议。 应用场景方面,结合引用[1][2]的内容,NVMe在数据中心的价值不仅是速度,还有架构扩展性——NVMe-oF技术实现远程访问SSD的能力。普通用户可能更关心游戏加载速度,但企业级应用才是NVMe真正的战场。 最后要提醒技术迭代:PCIe 5.0已经商用,NVMe 2.0也支持新特性如分区命名空间(ZNS)。不过这些进阶内容可以放在相关问题里,当前回答保持基础性即可。</think>理解NVMe和PCIe的区别与联系是掌握现代存储技术的关键。以下是清晰的技术解析: ### 一、PCIe:硬件接口的“高速公路” 1. **技术定义** PCIe(Peripheral Component Interconnect Express)是一种**高速串行计算机扩展总线标准**,用于连接主板与外部设备(如显卡、网卡、SSD等)。其核心价值在于: * 提供点对点**物理通道**(Lanes),常见规格有x1/x4/x8/x16 * 采用**分层协议架构**(物理层、数据链路层、事务层) * 持续迭代带宽:PCIe 3.0(8GT/s)→ PCIe 4.0(16GT/s)→ PCIe 5.0(32GT/s) 2. **核心作用** * 替代老旧的PCI/AGP总线,成为现代计算机的**核心数据传输通道** * 为NVMe SSD等高速设备提供**物理连接基础** * 通过通道组合实现**弹性带宽**(如x4通道SSD理论带宽达8GB/s) ### 二、NVMe:为闪存而生的“交通规则” 1. **技术定义** NVMe(Non-Volatile Memory Express)是一种**针对固态存储的通信协议规范**,专为NAND闪存特性设计: * 基于高效队列模型(64K队列深度 vs AHCI的32队列) * 优化指令集减少I/O延迟(典型延迟<10μs) * 原生支持多核并行处理 2. **核心作用** * 彻底释放PCIe带宽潜力(SATA上限600MB/s → NVMe SSD可达7000MB/s+) * 替代陈旧的AHCI协议(原为机械硬盘设计)[^3] * 成为企业级存储和高端PC的**性能标杆协议**[^2] ### 三、关键区别与协作关系 | 特性 | PCIe | NVMe | |-------------|-------------------------------|-------------------------------| | **本质** | 物理接口标准(硬件通道) | 逻辑传输协议(软件规则) | | **功能** | 提供设备连接与电气信号 | 定义数据存取命令与队列机制 | | **带宽** | 依赖版本和通道数(x4 PCIe 4.0=8GB/s) | 需通过PCIe实现高速传输 | | **应用** | 显卡/网卡/SSD等多种设备 | 专用于固态存储设备 | **协作流程示例**: `NVMe SSD` → 通过 **`PCIe物理接口`** 连接主板 → 操作系统加载 **`NVMe驱动`** → 按 **`NVMe协议`** 存取数据 ### 四、物理接口形态辨析(易混淆点) 1. **M.2接口** * 物理形态(如2280尺寸) * **可兼容两种协议**: - SATA协议(性能受限) - NVMe协议(需PCIe通道支持)[^5] 2. **U.2接口** * 企业级2.5英寸盘形态 * 通过PCIe通道+NVMe协议实现高速传输 > 关键结论:**NVMe协议必须依赖PCIe物理通道才能发挥性能优势**,而PCIe接口的设备不一定使用NVMe协议(如显卡用自有驱动)[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值