[转帖]AHCI到NVMe,SSD的关键科技革命
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的关键科技革命的更多相关文章
- [转帖]深度: NVMe SSD存储性能有哪些影响因素?
深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...
- USB3.0及NVME SSD安装WIN7X64
USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...
- AHCI vs NVMe
http://www.hkepc.com/13139 儘管現時有不少高階 SSD 產品改用 PCIe 接口,以突破 SATA 接口的頻寬瓶頸,但控制器設計與 SATA 接口 SSD 一樣,採用老舊的 ...
- WinPE无法识别NVMe SSD硬盘,如何重装系统
(源自网络出处不详) 抽风,diy一台新机器,下载的win10系统安装时出现如题所示的问题,开始以为是主板的问题设置u盘启动也不行,后来在某个群里有人说是系统版本问题,无奈重新做了启动优盘(用的17年 ...
- NVME SSD vs SATA SSD(转)
NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...
- (转)科普:SATA、PCIe、AHCI、NVMe
原文链接:https://forum.51nb.com/thread-1670848-1-1.html IT 界总喜欢发明新名词.而且同一个东西,可能有几个不同的名字.同一个名字,又可能指不同的东西. ...
- SATA、PCIe、AHCI、NVMe
IT 界总喜欢发明新名词.而且同一个东西,可能有几个不同的名字.同一个名字,又可能指不同的东西. 从物理接口角度来说,我们常见的有IDE(淘汰),SATA,PCIe,M.2(固态硬盘) M.2插槽是有 ...
- 存储系统设计——NVMe SSD性能影响因素一探究竟
目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...
- NVMe SSD是什么?
https://blog.51cto.com/alanwu/1766945 一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘.这种高性能盘在互联网领域已 ...
- vSphere 6.5支持512e,NVMe SSD呢?
原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连51 ...
随机推荐
- OLAP分析型应用场景中,数仓中vacuum为何对列存表无效
摘要:对列存表执行vacuum为什么是无效的呢?其实这与列存表的存储结构以及数据写入方式有关. 本文分享自华为云社区<GaussDB(DWS)中vacuum为何对列存表无效?[这次高斯不是数学家 ...
- 获取全国GeoJSON和各省市GeoJSON数据下载
第一,从阿里云下载: http://datav.aliyun.com/tools/atlas/#&lat=33.50475906922609&lng=104.2822265625&am ...
- 乐高式扩展:在Seal软件供应链防火墙中轻松集成代码规范工具
上个月,Seal 软件供应链防火墙 v0.2(以下简称"Seal")正式发布,这一版本实现了可扩展架构,用户可以根据自身需求插件式集成原生或第三方解决方案,灵活扩展扫描能力. 在前 ...
- 火山引擎工具技术分享:用 AI 完成数据挖掘,零门槛完成 SQL 撰写
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 文 / DataWind 团队封声 在使用 BI 工具的时候,经常遇到的问题是:"不会 SQL 怎么生产加工 ...
- Solon2 开发之IoC,六、提取 Bean 的函数进行定制开发
为什么需要提取Bean的函数?绝不是闲得淡疼.比如:控制器的@Mapping:再比如:Xxl-Job的@XxlJob.这些都是要提取Bean的函数并定制加工的. 1.比如提取 @XxlJob 注解的函 ...
- SpringBoot java 一个接口,多个实现,客户定制化
产品定制化时,在不同的客户中会有不同的需求,这时候会产生,一个接口,多个实现 SpringBoot ,如果发现有多实现时,会报如下错误 Consider marking one of the bean ...
- JPA 表名大小写问题
JPA 默认会将实体中的 TABLE_NAME 转成小写如 @Entity @Table(name = "EMPLOYEE") public class Employee { @I ...
- CentOS7系统上安装升级Vim8
基本步骤 1.卸载旧版vim yum remove vim* -y 2. 到Vim官方Github仓库下载目前最新的Vim Release版本 git clone https://github.com ...
- dmesg 时间误差现象
案例现象 这天收到监控平台发来的告警,说有台机器程序崩溃了 因为以前也有过相关的错误,根据经验,用 dmesg命令看下内核信息 发现有点不对劲,报错信息的时间跟告警时间不一致,正常来讲报错时间应该跟告 ...
- vue学习笔记 十五、组件挂载过程及query方式带参数的页面跳转
系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...