正在阅读:AHCI就要过时了?新接口标准NVMe浅析AHCI就要过时了?新接口标准NVMe浅析

2015-02-12 00:15 出处:PConline原创 作者:BOTA 责任编辑:maihuanzhao

  【PConline 杂谈】微星在前段时间放出消息,用户通过更新旗下X99、Z97、H97系列主板BIOS到最新版本,即可获得对NVMe的支持。官方表示,相比目前主流的AHCI,通过新的NVMe标准接入的SSD,可以获得大幅度的性能提升。但是对于大多数用户来说,NVMe接口标准可能并不熟悉,即使有所耳闻,可能也觉得只是在高端专业领域应用得多,与一般民用无缘。但随着SSD性能的提升,SATA接口和AHCI已经逐渐成为存储的瓶颈所在,PCIe和NVMe的组合取代前者只是时间问题。下面笔者就为大家简单解析一下NVMe的特性,以及相较于AHCI究竟有哪些优势。

AHCI就要过时了?新接口标准NVMe浅析
AHCI就要过时了?新接口标准NVMe浅析

  在开始介绍NVMe技术之前,我们不妨回过头来看一下2011年时的SSD产品。当时市面上绝大部分的SSD产品都跟2.5英寸机械硬盘一样,有着同样的外形规格,使用同样的SATA接口,以及同样的接口标准(AHCI)。虽然当时SSD的性能和可靠度也在逐步提高,但仍然难以达到SATA 6Gbps的极限,限制SSD性能发挥的,更多与SSD内部的闪存、主控和固件有关。然而,新技术研发总是具有令人惊叹的前瞻性——2011年3月,NVMe 1.0标准正式发布。

  事实上,NVMHCI(非易失性存储主控制器接口)最早在2007年的Intel 开发者论坛上已被提出,并在同年由Intel 领衔成立了NVMHCI工作组。该工作组的成员还包括了美光、戴尔、三星、Marvell、NetAPP、EMC、IDT等公司,而他们的目标,就是要将未来存储产品的性能,从SATA和AHCI之中解放出来。下面我们就来谈一下NVMe的优势所在。

低延迟

  因为AHCI标准本身就是为高延迟的机械硬盘而设,虽然SSD发展至今,主流产品依然沿用了机械硬盘时代的那一套,但已经开始不能满足性能的高速发展,特别是在延迟方面。而面向PCIe SSD产品的NVMe标准,降低存储时出现的高延迟,就是其要解决的问题之一。

NVMe
NVMe PCIe SSD可有效降低延迟

  造成硬盘存储时延迟的三大因素,存储介质本身、控制器,以及软件接口标准。由上图可以发现,比起AHCI,NVMe可以大幅度降低控制器和软件接口部分的延迟,原因有以下两个:

  NVMe面向的是PCIe SSD,原生PCIe主控与CPU直接相连,而不是传统方式,通过南桥控制器中转,再连接CPU(当然,如果设备是接入到南桥提供的PCIe接口上,那么这部分的延迟也不会降低多少);

  NVMe精简了调用方式,执行命令时不需要读取寄存器;而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5μs的延迟。

  但我们从图中也可以看出,即使NVMe有效降低了控制器与软件接口之间的延迟,存储介质本身仍然是造成延迟的最主要原因。撇开延迟有点突破天际的机械硬盘不说,现在SSD使用的NAND闪存本身也会造成约50μs的延迟(不同NAND的延迟差别也比较大,仅以图中例子说明)。要解决存储介质造成的较高延迟,还需要依赖于未来可能应用的诸如PCM、RRAM、MRAM等新式存储器。

IOPS性能提升

NVME
队列深度的大幅提升

  另外,NVMe的另一个重点则是提高SSD的IOPS(每秒读写次数)性能。如果我们有详细了解过SSD的主控参数,应该知道会有队列深度这个参数。理论上,IOPS=队列深度/ IO延迟,故IOPS的性能,与队列深度有较大的关系(但IOPS并不与队列深度成正比,因为实际应用中,随着队列深度的增大,IO延迟也会提高)。市面上性能不错的SATA接口SSD,在队列深度上都可以达到32,然而这也是AHCI所能做到的极限。但目前高端的企业级PCIe SSD,其队列深度可能要达到128,甚至是256才能够发挥出最高的IOPS性能。而NVMe标准下,最大的队列深度可达64000。此外,NVMe的队列数量也从AHCI的1,提高了64000。

NVMe
(图表数据来自Tom's Hardware)队列深度基本要达到128以上,才能发挥最高性能

驱动适用性广

NVME
主流操作系统已经逐渐开始支持NVMe

  NVMe标准的也解决了不同PCIe SSD之间的驱动适用性问题。此前的PCIe SSD,均需要安装驱动程序后才能正常使用,而不同的厂商又各自为政,每个厂商产品都有自己的驱动,SSD也不能作为引导使用。但支持NVMe标准之后,PCIe SSD就可适用于多个不同平台,也不需要厂商独立提供驱动支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了对NVMe SSD的支持。(当然,这个优势并不是相对AHCI而言,而是相对于其他需要采用独立驱动的PCIe SSD)

低功耗


更先进的能耗管理

  NVMe加入了自动功耗状态切换和动态能耗管理功能,如图例所示,设备从能耗状态0闲置50ms后可以迅速切换到能耗状态1,在500ms闲置后又会进入能耗更低的状态2。虽然切换能耗状态会产生短暂延迟,但闲置时这两种状态下的功耗可以控制在非常低的水平,因此在能耗管理上,相比起主流的SATA接口SSD拥有较大优势,这一点对增加笔记本电脑等移动设备的续航尤其有帮助。另外,因为原生PCIe可以与CPU直连,数据传输时没有了中间转接过程所产生的功耗,也会在一定程度上降低能耗。

键盘也能翻页,试试“← →”键

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
热门排行

DIY论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品