[转帖]AHCI到NVMe,SSD的关键科技革命

ahci,nvme,ssd,关键,科技,革命 · 浏览次数 : 0

小编点评

**NVMe(Non-Volatile Memory Express)** NVMe是一种可用于 PCle 接口上的非易失性存储标准。它比 SATA 和 AHCI 标准更快、更具性能,并可支持高性能、低延迟的 SSD 存储。 **NVMe 的优势:** * 低时延 * 高性能 * 低功耗 **NVMe 与 AHCI 的主要区别:** | 特性 | AHCI | NVMe | |---|---|---| | 存储介质 | 机械硬盘 | 闪存 | | 控制器 | 南桥控制器 | PCIe 主控 | | 队列深度 | 1 | 64K+ | | IOPS | 32 | 64K+ | | 低功耗 | 不适用 | 可使用动态能耗管理 |

正文

 
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的关键科技革命相似的内容:

[转帖]AHCI到NVMe,SSD的关键科技革命

https://baijiahao.baidu.com/s?id=1718020841628703656&wfr=spider&for=pc HDD和早期SSD大部分使用SATA接口,正在运行AHCI (Advanced Host Controller Interface),这是由Intel与许多公

[转帖]从理论到实践,异步I/O模式下NVMe SSD高性能之道

在早期NVMe的讨论话题中,常常将之AHCI协议进行对比,在支持的最大队列深度、并发进程数以及消耗时钟周期数等方面,NVMe吊打了AHCI。最直观也最权威的就是下面这张对比图片。 NVMe与AHCI协议对比(来源:sata-io.org) SATA的发展最早可以追溯到上世纪80年代的IDE/ATA,

[转帖]NVMe 与 AHCI

https://www.cnblogs.com/zengkefu/p/5634345.html http://elf8848.iteye.com/blog/1731274 AHCI: NCQ技术,600MB/S,一个队列,每个队列32个指令 NVME:65000个队列,每个队列65000指令,3.2

[转帖]焱融全闪系列科普| 为什么 SSD 需要 NVMe?

https://aijishu.com/a/1060000000371942 云计算存储极术推荐 NVMe 的由来 目前机械硬盘大多数使用 SATA (Serial ATA Advanced Host Controller Interface) 接口,接口协议为 AHCI,是 Intel 联合多家公

[转帖]焱融全闪系列科普| 为什么 SSD 需要 NVMe?

https://xie.infoq.cn/article/7026237b455c7d62f33afc4a9 NVMe 的由来 目前机械硬盘大多数使用 SATA (Serial ATA Advanced Host Controller Interface) 接口,接口协议为 AHCI,是 Intel

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防