详解:什么是NVMe?

微信公众号 乐生活与爱IT 编者按:

昨天在《Why NVMe ?》曾提到:NVMe标准协议除了建立了通用兼容的闪存接口协议以外,还针对闪存存储的特点,提供了低延时、高并发以及低功耗的特性。AHCI支持NCQ(Native Command Queuing,命令序列)的最大深度为32,而NVMe能到64K !

2021年6月,NVMe最新的规范NVMe 2.0发布,支持 HDD 机械硬盘,分区命名空间 ZNS,还有 KV-SSD 等,详见:

《机械硬盘也能用NVMe协议了?NVMe 2.0规范标准正式发布》

为了进一步了解NVMe,经微信公众号 SDNLAB 授权,转载其在2021年4月9日发表的文章《详解:什么是NVMe?》,略有删减。

---转载开始---

说到NVMe,“快”是人们对它的第一印象。因为NVMe的出现,硬盘的性能得到了极大的提升。那到底什么是NVMe呢?

什么是NVMe?

NVMe是 non-volatile memory express 缩写,翻译过来就是非易失性内存主机控制器接口规范,在它首次投放市场的时候,许多人认为它只是一个新的、速度更快的SSD。但实际上,NVMe是一种基于性能并从头开始创建新存储协议,它可以使我们能够充分利用SSD和存储类内存(SCM)的速度。

NVMe是一种高性能、NUMA(非统一内存访问)优化的、高度可扩展的存储协议,用于连接主机和内存子系统。NVMe是专门为NAND、闪存等非易失性存储设计的,NVMe协议建立在高速PCIe通道上。

详解:什么是NVMe?_第1张图片

NVMe接口协议的功能包括:

  • 支持64K命令队列;

  • 可以使用低CPU周期为每个队列发送64K命令;

  • 延迟约为2.8微秒;

  • 可以直接与系统CPU通信;

  • NVMe可以实现超过一百万的IOP。

NVMe的演变

在过去的十年中,存储技术发生了翻天覆地的变化。随着固态硬盘开始取代机械硬盘成为主要的存储设备,我们急需一个新的接口标准来利用更快的速度和功能。

传统的SATA接口与AHCI标准其实是为了机械硬盘而设计的,早期的SSD性能不高,即使使用这些传统的接口和协议,也不觉得有什么问题,但是随着SSD的性能逐渐增强,传统的标准已经不再适用,进而成为了限制SSD的一大瓶颈。NVMe是第一个真正满足高速存储介质需求的协议。

2009年下半年,NVM Express工作组(NVMHCI)开始制定NVMe规范,NVM Express工作组包含90多家公司成员,Intel是主要领头人,小组成员包括美光、戴尔、三星、Marvell、NetAPP、EMC、IDT等公司,目的就是为SSD建立新的存储规范标准,让它在老旧的SATA与AHCI中解放出来。

2011年,NVMe 1.0标准正式出炉,该标准是根据闪存存储的特点量身定制的,新的标准解除了旧标准在SSD上的各种限制。2012、2014和2017相继推出了1.1、1.2和1.3版本,目前最新的NVMe 1.4标准已于2019年7月发布。

详解:什么是NVMe?_第2张图片

NVMe如何工作?

NVMe通过PCIe接口将I/O命令和响应映射到主机的共享内存。NVMe接口支持多核处理器并行I/O,以促进高吞吐量,缓解CPU的压力。

与SCSI和ATA命令集相比,NVMe提供了更加简化的命令集来处理I/O请求。相对于前两者,NVMe需要的CPU指令数量少一半。

详解:什么是NVMe?_第3张图片

NVMe的本质是上建立了多个计算机与存储设备的通路。NVMe在单个消息队列中支持64000个命令,最多支持65535个I/O队列。相比之下,SAS设备的队列深度通常在一个队列中最多支持256个命令,而SATA驱动器最多支持32个命令。打个比方,如果SATA是一条普通的小道,每次只能通过32辆车的话,那NVMe就是一条拥有65535条车道的高速公路,每条车道能通过65535辆车。

详解:什么是NVMe?_第4张图片

NVMe的优势

NVMe的优势在于它能够利用到并行数据路径,从而在加速方面提供更好的性能。它能够使现有的应用程序以及新的应用程序可以更有效地工作。除此之外,低延时、低功耗以及兼容性高等也是NVMe的众多优势之一。

NVMe的优势包括:

  • 低延时,NVMe协议可以通过PCIe通道跟CPU直接相连,数据不需要像SATA一样需要通过控制器再中转到CPU;

  • IOPS大增,NVMe则可以把最大队列深度从32提升到64000,SSD的IOPS能力也会得到大幅提升。

  • 功耗更低,NVMe加入了自动功耗状态切换和动态能耗管理功能;

  • 兼容性高,NVMe SSD可以很方便的匹配不同的平台、系统,无需厂家提供相应的驱动就可以正常工作。

NVMe还是物联网(IoT)、人工智能(AI)和机器学习(ML)等创新和发展中的技术和应用程序的关键推动力,这些技术和应用程序都可以受益于NVMe连接的低延迟和高性能贮存。

写在最后

NVM Express Inc.在2016年6月发布了1.0版的NVMe over Fabrics(简称NVMe-OF),NVMe-OF的出现,就是将NVMe应用到前端,作为存储阵列与前端主机连接的通道,取代过去的FC、iSCSI。

本文图片均源自互联网,如有侵权,可联系删除

参考:

https://searchstorage.techtarget.com/definition/NVMe-non-volatile-memory-express

http://www.chinastor.com/baike/ssd/04103A942017.html

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

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

---转载结束---

对NVMe,或者ZNS感兴趣的朋友,可以通过扫描下图二维码,报名参加7月27日位于北京嘉里大酒店举办的OCP China Day 2021。上午主论坛,下午4个分论坛,共计40个演讲或分享话题。其中分论坛三,也即开放计算生态论坛,有一场题为《OCP存储设备振动项目进展及浪潮ZNS SSD介绍》的分享,将由浪潮信息技术研发部-结构工程师王羽茜,和浪潮信息SSD产品总经理胡文锋进行演讲。

详解:什么是NVMe?_第5张图片

扩展阅读 系列文章:

《Why NVMe ?》

《即将一统天下的OCP NIC 3.0及其未来》

《OCP最成功的项目是什么?许多数据中心硬件从业者都会和它打交道》

《图文和视频了解OCP之OAI/OAM》

《一图了解OCP(开放计算)全部九大类项目》

《视频回放 | 开放计算 整机柜的前世今生》

《视频回放 | OCP 2020: 边缘计算的开放趋势》

《一文了解国内外开放计算》

《随笔:为什么要开放?》

请持续关注微信公众号 乐生活与爱IT,后面将继续分享相关文章,如NVMe Over Fabrics等

你可能感兴趣的:(人工智能,队列,大数据,java,区块链)