NVMe到底是什么?
转:http://www.expreview.com/42142.html
有关注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时就有这个问题,其他厂商的不知道怎么样。
NVMe到底是什么?的更多相关文章
- [转帖]NVMe到底是什么?用它的SSD有啥优势?
NVMe到底是什么?用它的SSD有啥优势? 2015-8-20 14:00 | 作者:Strike | 关键字:NVMe,SSD,PCI-E SSD,超能课堂 分享到 有关注SS ...
- NVMe到底是什么?用它的SSD有啥优势?
有玩过SSD的朋友应该都清楚想要让SSD发挥出真正实力的话要去BIOS里面把SATA控制器模式切换成AHCI,对SATA设备来说使用AHCI模式的确是正确的选择,切换成AHCI可获得更好的性能.但是现 ...
- [转帖]深度: NVMe SSD存储性能有哪些影响因素?
深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...
- linux nvme的sendfile流程
在nvme的硬盘上使用sendfile系统调用,到底需要经过哪些流程? do_sendfile--->do_splice_direct-->splice_direct_to_actor-- ...
- 固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了
原文:https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc 科技娱乐屋 18-11-0420:5 ...
- USB3.0及NVME SSD安装WIN7X64
USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...
- [知乎]老狼:UFS VS NVMe
https://zhuanlan.zhihu.com/p/26652622 最近某手机厂商的闪存门在知乎上被人踢爆,在所谓“爵士水军”和“友商水军”的口水大战中,至少eMMC, UFS等火星名词被广泛 ...
- M.2接口NVMe协议的固态硬盘读写速度是SATA接口的两倍
原文:https://www.sohu.com/a/203688929_615464 中午走路的时候,同事说的,M 2 nvme接口的更快. 树莓派开发板可以跑linux . ------------ ...
- [转帖]超能课堂(207) SD卡标准错综复杂,到底该认哪一个?
超能课堂(207)SD卡标准错综复杂,到底该认哪一个? https://www.expreview.com/71505.html 开始的地方 SD容量等级 SD标准(SDSC) SDHC SDXC S ...
随机推荐
- 粘性固定属性 -- position:sticky
概述 position: sticky,这是一个比较容易忽略的css3 position 新属性,它的作用即为实现粘性布局,它是 relative 与 fixed 的结合. 用法 默认情况下,其表现为 ...
- Re:从 0 开始的微服务架构--(四)如何保障微服务架构下的数据一致性--转
原文地址:http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台.就像前边的文章说的, ...
- firstChild与firstElementChild
相同点: 都是获取父元素下的第一个节点对象 不同点: firstChild: IE6.7.8 第一个元素节点; 非IE6.7.8:返回第一个元素节点或文本节点 firstElementChild: I ...
- 利用PBFunc在Powerbuilder中进行图片格式转换
利用PBFunc的n_pbfunc_image对象可以方便的进行图片格式的转换与大小转换 支持相互转换的格式有以下几种: FORMAT_BMP //bmp格式FORMAT_GIF //gif格式FO ...
- markdown写作软件推荐
最近发现了一款不错的编辑器,而且是全平台支持的.与其它一些 markdown 编辑器最大的不一样是——所见即所得,不再是一边源文件一遍预览的方式了. 总的说来 Typora 很赞,推荐一波. 点此前往 ...
- 基于vue项目的js工具方法汇总
以下是个人过去一年在vue项目的开发过程中经常会用到的一些公共方法,在此进行汇总,方便以后及有需要的朋友查看~ let util = {}; /** * @description 日期格式化 * @p ...
- EFCore笔记之异步查询
当在数据库中执行查询时,异步查询可避免阻止线程. 这有助于避免冻结富客户端应用程序的 UI.异步操作还可以增加 Web 应用程序的吞吐量,可以在数据库操作完成时释放线程去处理其他请求. Entity ...
- hive(I)--学习总结之常用技能
hive是Apache的一个顶级项目,由facebook团队开发,基于java开发面向分析师或BI等人员的数据工具(常用作数据仓库),它将hdfs文件组织成表,使用hive-sql调用mapreduc ...
- 在ros中集成Fast-rtps库并运行hello world 程序
1.介绍 ROS:自行百度 Fast-RTPS:是eProsima公司对RTPS标准的一个实现,也就是函数库.RTPS是DDS标准中的一个子集.RTPS:Real Time Publish Subsc ...
- 使用其他Java工程导入hadoop源码用于在hadoop工程中查看源码
疑问:在开发hadoop程序的时候,有时候需要查看hadoop的源码,但是开发环境看不到,甚是烦恼,经过网上搜索和琢磨,终于实现了,虽然有点绕,但是目的达到了. 第一步:下载hadoop的源码包:ha ...