与传统硬盘只能够提供200或更慢的IOPS相比,闪存设备能够实现100000 IOPS的性能。
在希捷的750GB容量的Momentus硬盘中,磁头放置在悬停区域,磁盘驱动要一直等待11毫秒毫无目的地读取和13毫秒毫无目的地写入。但SSD固态硬盘无需忍受这个延迟,而来自Fusion-io等销售商的PCIe闪存卡则为我们展示了直接与服务器相连时NAND存储速度有多块,在ioDrive 2产品中,能达到350000或者更多的IOPS。
第三代PCIe能达到每通道1GB/s的传送速度,而4道的第三代PCIe接口能达到4GB/s的速度。但是万一使用传统的接口,你却不能把SSD固态硬盘连接到这样的PCIe总线上。
你可以通过外部的USB接口或内部的SAS或SATA接口连接磁盘驱动器,主机上的操作系统有能识别这些标准的驱动器接口所连接的设备。当然,对于SSD固态硬盘来说也可以使用相似的接口,但是这样一来SSD固态硬盘的优势荡然全无。为了保证全速运行,从而能更快地传送数据,并保持处理器一直能够在繁忙状态,我们需要一个直连的接口而不是通过传统的驱动器接口去连接SSD固态硬盘,那就是PCIe。
前景看起来不错,但是会不会有问题呢?当然,这可是IT行业,有大量的问题,目前就有一个叫做SCSI Express的挑战者。
万一你把SSD固态硬盘直接连接到PCIe总线上,你可以不再使用需要供电的HBA卡,或是出现几毫秒的延迟使得SSD固态硬盘速度减缓和同时还可以基于以传统磁盘连接为基础的连接设计。
有两种方式去实现这种接口的标准:NVMe和SCSI Express initiatives
NVMe
NVMe的意思是非易失性记忆体快速连接,是由80多家公司提出来的通用接口标准。NVMHCI(非易失性记忆主机控制器接口)工作组被由多家公司 成员组成的管理组管理,这个管理组成立于2011年6月,成员包括思科公司,DELL公司,EMC,英特尔,NetApp,Oracle公司。固定的成员就是这七个厂商,另外还 有6个成员,他们都是从工作组的其它厂商中推选出来。
HP公司不是NVWe的成员,并且所有的NVMe支持者都不支持SCSI Express。
工作组在今年3月份发布了v1.0说明书,详细情况可以到NVM Express网站上了解。
网站白皮书:
这个标准包括注册程序接口,指令集,特征集的定义。这能确保标准驱动在每个操作系统上都能写入,同时还能确保缩短OEM资格周期的安装过程,同时互动操作性不变。
这个接口提供优化的命令集和完成路线。通过支持在一个I/O队列中的64K命令集来实现并行操作。此外,还添加了许多企业需要的功能,比如说端对端数据保护(和T10DIF和DIX标准配套),还有增强了错误报告和虚拟化功能。
这个标准已经推荐给了用户和企业系统,从笔记本到企业服务器,都收到了良好的反馈。这个标准最高能达到64000 I/O,每列最高能到64000条命令。它的多核心CPU和每个处理器核心能实现自己的队列,也支持延迟接口,比如SAS或SATA。
在NVMe网站上有一篇博文讨论是否会出现有闪存控制器芯片的SSD固态硬盘——拥有NVMe功能的SoC。
纵观整个行业,很有可能发生的是SoC供应商会推出NVMeSoC,系统供应商会推出适合NVMe适配的SSD固态硬盘设备的驱动,然后是服务器,台式机,在2013年,笔记本供应商很有可能推出NVMe闪存存储系统。
SCSI Express
SCSI Express使用SCSI协议使发起者和目标通过一个PCIe连接沟通, HP公司是它的坚定支持者,在HP公司的Vienna中就加入了SCSI Express,Fusion-io现在也开始支持它。
Fusion表示其预先展示出来的ioMemory产品通过SCSI Express和HP公司的2UProLiant DL380 G7服务器连接,它使用了相同的ioMemory和与最近发布的Fusion ioDrive2产品相同的VSL技术,这使Fusion公司的虚拟存储层次(VSL)软件容量的扩展变成了可能,这能加快应用程序的性能,增加企业级的可靠性。
SCSI Express 标准包括一个为固态技术专门优化过的SCSI指令集,在SAS,SATA和SCSI Express条件下,通过一个能提供最大灵活性和设备操作性的通用驱动接头,实现企业级的可靠性。这个通用驱动接头在保持支持现有设备的同时,还能支持新兴的存储记忆设备。
全球网络存储工业协会(SNIA)的文件这样描述:
目前正在进行的T10委员会是SCSI超越PCIe(SOP)的发展,为SCSI协议跨越PCIe物理接口进行了大量努力。SOP将会支持两种队列界面:NVMe和PQI(PCIe队列接口)。
PQI被认为是最快的和最轻的。一些来自于PMC,LSI,Marvell和HP公司的SCSI跨PCIe产品是有专利的,但是SCSI Express,就像PQI一样,是开放的。
NVMe队列界面的支持功能也许能将SCSI Express和NVMe连接起来,这或许能改变企业中SSD固态硬盘PCIe接口SoCs和操作系统驱动分离的情况。当然这种想法很可能只是自我安慰。
一个叫Nigel Poulton的人在博客中写到:没有SCSI Express的专门网站,但是HP公司上个月在维也纳发布了大量的SCSI express。
他说一个2.5英寸的SSD固态硬盘可以插在服务器前面板上的2.5英寸的插槽中,举个例子,SSD固态硬盘将会和特别设计的,工业标准的接口紧密结合,这个接口会 按照工业标准特别设计,拥有专为SSD固态硬盘设计SCSI指令集协议的标准驱动会出现在新一代版本的操作系统上,像Windows,Linux和ESXi。
拥有STEC 2.5英寸,支持SCSI Express的SSD固态硬盘产品插入到卡的最上面两个端口。Poulton说这些端口是SFF8639类型的。其它的6个端口是SAS端口。
SCSI Express产业化
根据HP公司的预测,SCSI Express 产业化应该发生在2012年下半年。HP公司的闪存DAS服务器可能会由用SCSI Express连接的SSD固态硬盘组成,除此之外,存储阵列,像HP公司的P4000,其ProLiant服务器中也有用SCSI Express连接的SSD固态硬盘在里面。
P4000是通过iSCSI共享的SAN阵列,这听起来很奇怪,为什么你想从X86控制器/服务器的SSD固态硬盘中以PCIe的速度获得数据,却把数据通过iSCSI连接送到其它服务器中需要这些数据的应用程序中。
万一P4000和运行应用程序的服务器崩溃了,或者集成到一个单一的系统(服务器加P4000),那只有P4000运行同样需要这些数据的应用程序 时才有意义。想象一下,HP公司的P10000(3PAR)和X9000(Ibrix)阵列正在做相同的事情:他们的集成架构在加快应用程序的速度方面很让人 兴奋。当然这种想法也只是自我安慰。
笔者认为NVMe几乎要成为必然了,因为它在企业中有很多坚强的后盾。我们同时也认为HP公司在Fusion-io的加入下,很有可能使SCSI Express产业化,除非有使SCSI Express/NVMe集成在一起的可能。在一个或另外一个成为主导之前,不可避免要有一场接口战争。
考虑到SCSI Express 和NVMe的不同,EMC的工程师AmnonIzhar说道:“在物理层上,两者都一样。NVMe和SCSI Express在实现传输数据和驱动方面有所不同。”这有充分的理由相信,两者的集成很有可能。
我们的直觉是PCIe接口的集成不太可能,HP公司完全有能力按照自己的意愿行事。看看最近几年的FATA disks,还有它一直摇旗呐喊,令人佩服又很顽固的安腾处理器吧。