NVM Express(简称NVMe)是一个针对PCIe 接口的SSD的主机控制芯片协议标准,虽然其与控制闪存没有任何关联,但NVMe规范了SSD控制器与操作系统之间的通信连接,目的是提高SSD的性能和可靠特征。
目前在业界存在大量基于PCIe总线协议的SSD,而这些SSD并不一定支持NVMe协议;这类产品我们称为PCIe Flash或者PCIe SSD.首先从使用模式上看,NVMe SSD与PCIe Flash的差别在于两者使用不同的驱动程序与物理设备交互。目前业界主流的PCIe SSD,如华为、Shannon Systems、Fusion-IO(Sandisk)、Virident(WD)等闪存厂商都采用自有的驱动程序部署,而非NVMe设备。这就意味着,这个世界上,还是有很大一批厂商并没有完全被NVMe化,依然采取一种专用的方式,而这种方式依然存在只能说明一个问题,即用户需求还依然在。
一个新技术标准能否站稳脚跟,与用户直接需求与采用分不开的。那么NVMe也被英特尔还有业界其他闪存友商所推崇,NVMe最大的优势是什么呢?到底是什么吸引着这些人如此爱NVMe?
NVMe的SSD尝试采用通用的驱动程序适用于所有产商的SSD设备,因此其优势在于通用性。通用性虽然给用户带来了一些方便,但是同时也存在几个问题:
其一,由于NVMe的标准推出时间不长,其标准驱动版本对操作系统有严格的要求。例如,对于Linux需要3.3以上版本的内核(Centos7/Redhat7)才内置NVMe驱动;对于Windows微软需要在Windows 8.1或Windows Server 2012R2之后的版本才支持。
其二,由于NVMe通用驱动的相对较新,还在业界的使用和验证过程中。这意味着NVMe还需要时间来推进。
其三,NVMe更注重的是驱动对于不同闪存厂商设备的通用适配性,从而会在一定程度上牺牲性能和特性的最优化。
其四,NVMe接口的SSD目前缺乏完善的设备监控管理接口和机制,这个方面还需要进一步优化。
那么,我们来对比一下业界采用高速PCIe接口做PCIe Flash,NVMe的SSD也是基于PCIe接口协议。从技术理论上来分析,PCIe接口由于直连CPU,提供最短的数据通路,从而企业关键应用能够获得最低的I/O响应时间。同时PCIe接口提供高达数GB/s的带宽,为高带宽、大并发的应用提供了足够的带宽资源。由此分析来看,对于企业关键业务应用方面,采用PCIe接口的闪存设备目前还是业界通用的选择。
其实,我们从刚才提到的几个继续采用PCIe接口协议的厂商可以看到,如何更好地提供一个稳定与高性能的闪存解决方案给用户才是赢得市场的关键。对此,我们以Shannon Systems的闪存卡为例,Shannon Systems的PCIe Flash采用的是软件定义闪存的架构,把闪存定位在更贴近于内存的一层I/O池,充分利用软件的灵活性和健壮性,与底层硬件构成一个高性能、高可靠的存储系统,并达到最优的系统性能和最强的稳定性。
对于这个问题,Shannon Systems是如何实现的呢?其软件定义闪存架构的优势主要表现在哪些方面呢?
来自Shannon Systems创始人之一、董事长兼首席执行官的阳学仕介绍说,早在2007年,业界以Fusion-IO为代表的厂商就开始了软件定义闪存的商用,目前也已经成为业界PCIe SSD中部署量最大、商用时间最长的产品形态。
软件定义的架构最直接的优势,能帮助用户提供更高系统性能,更低延迟与更高IOPS,同时实现更低功耗。
由于硬件部件的最少化,软件定义的闪存架构提供更高的系统稳定性和可靠性。
还有一个重要的优势在于,软件定义的架构能够提供丰富的API接口,包括完善的监控机制,在用户大规模部署时尤为重要。
Shannon Systems的PCIe Flash利用软件定义架构,针对应用优化的专用接口,如原子写操作,实现了用户应用性能的大幅度提升,如Mysql的应用等。
Shannon Systems的PCIe Flash提供丰富的客制化可能,比如在线地改变系统冗余OP配置,在需要时能够开放更多的用户可用空间。这不仅带给用户闪存更大的价值,同时也节省了用户的开销与成本。
这个世界上,任何一种优秀的技术都可能“此一时彼一时”,满足用户需求才是根本。作为一直以用户需求为发展目的的闪存厂商,Shannon Systems在对不同技术的客观认知过程中,也不会放弃对于新技术的研究。为此,Shannon Systems的阳学仕也透露了他的想法,说公司一直密切关注NVMe技术的发展和成熟,并积极地做出技术积累和储备。但是,Shannon Systems绝对不会因为一个NVMe的出现,而将自己的发展方向“锁定”在NVMe上。在时机成熟的时候,Shannon Systems会有支持NVMe协议的产品,并作为对现有产品线的一个补充。