从SATA、SAS到NVMe SSD

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

HDD和早期SSD绝大多数都是使用SATA接口,跑的是AHCI(Advanced Host Controller Interface),它是由Intel联合多家公司研发的系统接口标准。AHCI支持NCQ(Native Command Queuing)功能和热插拔技术。NCQ最大深度为32,即主机可以发最多32条命令给HDD或者SSD执行,跟之前硬盘只能一条命令一条命令执行相比,硬盘性能大幅提升。

这在HDD时代,或者SSD早期,AHCI协议和SATA接口足够满足系统性能需求,因为整个系统性能瓶颈在硬盘端(低速,高延时),而不是在协议和接口端。然而,随着SSD技术的飞速发展,SSD盘的性能飙升,底层闪存带宽越来越宽,介质访问延时越来越低,系统性能瓶颈已经由下转移到上面的接口和协议处了。AHCI和SATA已经不能满足高性能和低延时SSD的需求,因此SSD迫切需要自己更快、更高效的协议和接口。

时势造英雄,在这样的背景下,NVMe横空出世。2009年下半年,在带头大哥Intel领导下,美光、戴尔、三星、Marvell等巨头,一起制定了专门为SSD服务的NVMe协议,旨在让SSD从老旧的SATA和AHCI中解放出来。

何为NVMe?Non-Volatile Memory Express,非易失性存储器标准,是跑在PCIe接口上的协议标准。NVMe的设计之初就有充分利用到PCIe SSD的低延时以及并行性,还有当代处理器、平台与应用的并行性。SSD的并行性可以充分被主机的硬件与软件充分利用,相比于现在的AHCI标准,NVMe标准可以带来多方面的性能提升。NVMe为SSD而生,但不局限于以闪存为媒介的SSD,它同样可以应用在高性能和低延时的3D XPoint这类新型的介质上。

首款支持NVMe标准的产品是三星XS1715,于2013年7月发布。随后陆续有企业级的NVMe标准SSD推出。2015年Intel 750发布,标志NVMe标准的产品开始进入消费级市场。如今市面上已经出现很多NVMe SSD产品,包括企业级和消费级,如果说前几年NVMe SSD是阳春白雪,现如今已是下里巴人,NVMe SSD已慢慢进入寻常百姓家(笔者的小本上就是用的PCIe+NVMe的SSD)。

需要指出的是,在移动设备上,NVMe也有一席之地。苹果自IPhone 6s开始,其存储设备上跑的就是NVMe协议标准。未来移动存储的方向,笔者认为不是UFS,当然更不不会是eMMC,而是NVMe。拭目以待吧。

那么,NVMe究竟有什么好?跟AHCI相比,它有哪些优势?

NVMe和AHCI相比,它的优势主要体现在以下几点:

l 低时延(Latency)


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

存储介质层面,闪存(Flash)比传统机械硬盘速度快的太多;

控制器方面,从SATA SSD发展成PCIe SSD,原生PCIe主控与CPU直接相连,而不是传统方式,通过南桥控制器中转,再连接CPU,因此基于PCIe的SSD时延更低;

软件接口方面,NVMe缩短了CPU到SSD的指令路径,比如NVMe减少了对寄存器的访问次数;MSI-X和中断管理的应用;并行&多线程优化,NVMe减少了各个CPU核之间的锁同步操作…

所以基于PCIe+NVMe的SSD,具有非常低的延时。

image

图1-1 时延对比

l 高性能(Throughput & IOPS)


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

PCIe接口本身在性能上碾压SATA,再加上NVMe具有比AHCI更深、更宽的命令队列,NVMe SSD在性能上秒杀SATA SSD是水到渠成的事情。图是NVMe SSD,SAS SSD和SATA SSD性能对比图:

image

图1-2 NVMe,SAS和SATA SSD性能对比图

l 低功耗


NVMe加入了自动功耗状态切换和动态能耗管理功能,本书的电源管理篇会作介绍。

SATA和NVMe还有其他的区别。

查看更多内容,扫描下图二维码,阅读原著和以上大图。

_wechat_thumb2_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb

分类目录 SSD, 技术文章 和标签 .
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。