https://baijiahao.baidu.com/s?id=1718020841628703656&wfr=spider&for=pc

HDD和早期SSD大部分使用SATA接口,正在运行AHCI (Advanced Host Controller Interface),这是由Intel与许多公司合作开发的系统接口标准。AHCI支持NCQ功能和热插拔技术。NCQ的最大深度是32,也就是在对HDD或SSD执行最多32条命令的情况下,与以前的硬盘只能一条命令执行相比,硬盘性能有了显著的提高。

AHCI协议和SATA接口AHCI协议和SATA接口足以满足系统的性能要求,因为整个系统的性能瓶颈在于硬盘端(低速、高延迟),而不是协议和接口端。但是随着SSD技术的迅速发展,SSD磁盘的性能急剧上升,底层闪存带宽越来越宽,介质访问延迟越来越低,系统性能瓶颈已从下面转移到上面的接口和协议处。AHCI和SATA已无法满足高性能、低延时的SSD需求,SSD迫切需要有更快、更有效的协议和接口。

在这样的背景下,NVMe诞生了。09年下半年,在领先的大哥Intel的领导下,美光、戴尔、三星、Marvell等巨头共同开发了一份专为SSD服务的NVMe协议,目的是使SSD不再使用老的SATA和AHCI。在工业存储方面方面,崛起了Agrade睿达等一批优秀的品牌。

NVMe是什么?NVMe是Non-Volatile Memory Express,是一种可在PCle接口上运行的非易失性存储标准。在NVMe设计之初,PCIESSD的低延迟和并行性得到了充分利用,以及当代处理器、平台和应用的并行性。与目前的AHCI标准相比,NVMe能带来多方面的性能提高。NVMe是为SSD而生的,但并不局限于以闪存为媒介的SSD,也可以应用于高性能、低延迟的3DXPoint等新媒体。

三星XS1715是第一款支持NVMe标准的产品,于2013年7月发布。随后推出了企业级NVMe标准SSD。2015发布Intel750,标志着NVMe标准产品进入市场。

当今市场上NVMeSSD产品很多,无论是企业级的还是消费型的,如果说前些年的NVMeSSD还是阳春白雪,如今NVMeSSD已经慢慢地进人了。值得注意的是,NVMe在移动设备上同样拥有一席之地。从iPhone6s开始,苹果的存储设备运行在NVMe协议标准之上。将来的手机存储方向,应该不是UFS,不是eMMC,而是NVMe,等等看。

那NVMe到底有什么好的呢?它与AHCI相比有什么优点?相对于NVMe和AHCI,其优点主要表现在:

1.低时延(Low Latency)

造成硬盘存储时延的三大因素:存储介质本身、控制器以及软件接口标准。

存储介质层面,闪存(Flash)比传统机械硬盘速度快太多了。控制器方面,从SATASSD发展成PCIeSSD,原生PCIe主控与CPU直接相连,而不像传统方式,要通过南桥控制器中转再连接CPU,因此基于PCle的SSD时延更低。软件接口方面,NVMe缩短了CPU到SSD的指令路径,比如NVMe减少了对寄存器的访问次数;使用了MSI-X中断管理;并行&多线程优化--NVMe减少了各个CPU核之间的锁同步操作等。

2.高性能(High Performance & IOPS)

理论上,IOPS=队列深度/IO延迟,故IOPS的性能与队列深度有较大的关系(IOPS并不与队列深度成正比,因为实际应用中,随着队列深度的增加,IO延迟也会提高)。市面上性能不错的SATA接口SSD,在队列深度上都可以达到32,然而这也是AHCI所能做到的极限。但目前高端的企业级PCleSSD,其队列深度可能要达到128,甚至是256才能够发挥出最高的IOPS性能。而在NVMe标准下,最大的队列深度可达64K。此外NVMe的队列数量也从AHCI的1,提高到了64K。

PCle接口本身在性能上碾压SATA,再加上NVMe具有比AHCI更深、更宽的命今队列,NVMeSSD在性能上秒杀SATASSD是水到渠成的事情。

3.低功耗(Low Power Consumption)

NVMe加人了自动功耗状态切换和动态能耗管理功能。

[转帖]AHCI到NVMe,SSD的关键科技革命的更多相关文章

  1. [转帖]深度: NVMe SSD存储性能有哪些影响因素?

    深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...

  2. USB3.0及NVME SSD安装WIN7X64

    USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...

  3. AHCI vs NVMe

    http://www.hkepc.com/13139 儘管現時有不少高階 SSD 產品改用 PCIe 接口,以突破 SATA 接口的頻寬瓶頸,但控制器設計與 SATA  接口 SSD 一樣,採用老舊的 ...

  4. WinPE无法识别NVMe SSD硬盘,如何重装系统

    (源自网络出处不详) 抽风,diy一台新机器,下载的win10系统安装时出现如题所示的问题,开始以为是主板的问题设置u盘启动也不行,后来在某个群里有人说是系统版本问题,无奈重新做了启动优盘(用的17年 ...

  5. NVME SSD vs SATA SSD(转)

    NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...

  6. (转)科普:SATA、PCIe、AHCI、NVMe

    原文链接:https://forum.51nb.com/thread-1670848-1-1.html IT 界总喜欢发明新名词.而且同一个东西,可能有几个不同的名字.同一个名字,又可能指不同的东西. ...

  7. SATA、PCIe、AHCI、NVMe

    IT 界总喜欢发明新名词.而且同一个东西,可能有几个不同的名字.同一个名字,又可能指不同的东西. 从物理接口角度来说,我们常见的有IDE(淘汰),SATA,PCIe,M.2(固态硬盘) M.2插槽是有 ...

  8. 存储系统设计——NVMe SSD性能影响因素一探究竟

    目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...

  9. NVMe SSD是什么?

    https://blog.51cto.com/alanwu/1766945 一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘.这种高性能盘在互联网领域已 ...

  10. vSphere 6.5支持512e,NVMe SSD呢?

    原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连51 ...

随机推荐

  1. c#中用System.Diagnostics.Process.Start(Path.GetFullPath(“vlc.exe.lnk“), url);用vlc的快捷方式打开http的url不起作用?

    vlc.exe.lnk双击这个文件,能正常打开vlc,但是用System.Diagnostics.Process.Start(Path.GetFullPath("vlc.exe.lnk&qu ...

  2. MySQL篇:第六章_详解mysql视图

    周末有朋友来上海没来得及更新,特此更两篇以正身 视图 含义:理解成一张虚拟的表 视图和表的区别: 使用方式 占用物理空间 视图 完全相同 不占用,仅仅保存的是sql逻辑 表 完全相同 占用 视图的好处 ...

  3. 第十部分_Shell脚本之函数

    函数 1. 什么是函数? shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能 2. 如何定义函数? 方法1 ...

  4. 规模化敏捷框架何从入手?这篇文章把SAFe讲透了!

    摘要:敏捷软件开发理念已渐渐被业界普遍接受,越来越多的公司和团队不得不面对一个新的问题,就是规模化敏捷的引入和实现.目前市场上规模化框架主要有SAFe,Less,Scrum of Scrums, Sp ...

  5. 掌握ROMA Compose,报表清单不秃头

    摘要:在没有ROMA Compose之前,完成一个跨数据源的关联查询是一个十分艰巨的任务. 1. ROMA Compose为何诞生 试想这样一个场景,主管让刚入职的小沛明天下班前给他发一份报表.小沛兴 ...

  6. 云图说|云数据库RDS跨区域备份

    摘要:云数据库RDS支持将备份文件存放到另一个区域存储,某一区域的实例故障后,可以在异地区域使用备份文件在异地恢复到新的RDS实例,用来恢复业务. 本文分享自华为云社区<云图说_云数据库RDS- ...

  7. Kubernetes(K8S) Controller - StatefulSet、DaemonSet 介绍

    无状态和有状态 无状态 Deployment 认为Pod 都是一样的.javademo1-6fb64c4664-dj4dh.javademo1-6fb64c4664-dj54s 它们的内容是一样的. ...

  8. Python 数组比较

    a = [1, 2, 3, 5, 6, 5, 7, 8] b = [1, 3, 4, 5, 6, 3, 8, 7] print('A => %s' % a) print('B => %s' ...

  9. AIGC加速迭代,云栖大会视频云「媒体服务」专场与你共话云智深度融合

    2023杭州·云栖大会 倒计时5天! 阿里云视频云 5大并行Session 11场话题演讲 深度演绎云智融合的全面进化 「媒体服务」Tech专场 重磅议题剧透来袭 01 「媒体服务」Tech • 新数 ...

  10. OOALV总结

    1.1ALV屏幕 1.1.1定义无CONTAINER屏幕 1.屏幕中可以不使用定制控制控件画范围,直接定义一个屏幕即可. "--------------------------------- ...