原创<br> 通俗解读NVMe前世今生( 三 )

NVMe over Fabrics标准规范开始于2014年。在2016年完成NVMe over fabric规范将NVMe扩展到诸如以太网、光纤通道和InfiniBand网络,它不仅提供对单个NVMe设备的访问,还提供对NVMe存储系统的访问。

NVMe作为一种存储协议,从开始设计就用于非易失性存储(NVM),包括当前的NAND flash技术和下一代NVM技术。就其本身而言,NVMe克服了硬盘驱动器存储协议所面临的各种限制。

原创<br> 通俗解读NVMe前世今生

NVMe协议支持多个深度队列,这是对传统SAS和SATA协议的改进。单个队列中,典型的SAS设备最多支持256条命令,SATA设备最多支持32条命令。这对于硬盘驱动器技术来说或许已经足够,但对VNMe来说是不能充分利用当前NAND Flash和下一代NVM技术存储能力的。

相比之下,NVMe支持每个队列64K命令,最多支持64K队列。这些队列中的I/O命令和对应命令的响应操作都在相同的处理器内核上处理,能够充分利用多核处理器的并行处理能力。每个应用程序或线程拥有自己独立的队列,因此规避I/O锁定。NVMe还支持MSI-X和中断控制防止CPU级别的瓶颈,随着系统扩展不断缩性。

推荐阅读