LSI存储论坛:一场SAS+闪存加速的游戏
如上图,左边是根据IDC 2011和LSI内部预测的闪存存储处理器(包括收购来的SandForce)和PCIe闪存适配器(Fusion-io、LSI WarpDrive等)到2015年的市场发展情况。尽管二者都在增长,但显然还是后者的空间更大,这就是LSI为什么要继续推动其WarpDrive产品以及相关的缓存加速解决方案。
在一年多之前的LSI存储论坛2010(年底举办)上,笔者拍摄的第一代WarpDrive SLP-300 PCIe闪存卡原形版本。在它主卡上的核心就是LSI SAS2008 6Gb/s SAS控制器,加上6个使用SandForce控制器的50GB SATA SLC闪存模块组成300GB的容量。其实针对OEM客户LSI也可以只安装2/4个闪存模块实现100GB和200GB的容量,不过只支持RAID 0一种级别。
如今,行业中存在Native(原生)和non-Native(非原生)两种PCIe闪存卡的说法。前者比如Fusion-io和在EMC VFCache服务器闪存缓存方案中使用的美光PCIe 闪存卡,通过单芯片FPGA/ASIC连接PCIe同时控制闪存;后者就是像LSI WarpDrive这样的使用SAS控制器/RoC连接SAS或者SATA闪存模块(相当于SSD)。Fusion-io等认为自己的产品不需要经过SAS协议转换,数据路径较短,容易实现更高的IOPS性能和更低的延迟。而LSI方案的优点就是良好的操作系统兼容性,因为WarpDrive在固件和驱动程序层面共享自家SAS控制器/MegaRAID的成熟软件堆栈。
下面我们来看看两种PCIe 闪存卡的性能对比:
上图引用自LSI资料(点击放大),仅供参考
LSI早些时候列出过其WarpDrive与主要竞争产品(就不用我说是哪一家了吧?)的测试对比。左边选择了一款 IOPS性能60K的型号与160K IOPS的WarpDrive比较延时。可以看到在4KB顺序写的情况下,队列深度从1增加到128 WarpDrive的延时大约在0.05~0.3ms之间;而竞争对手产品在IOPS不超过40,000的情况下延时在0.2ms以内,大多低于WarpDrive。不过它们基本处于同一个数量级,与访问外部存储系统相比这些差别对于有些应用来说可以忽略了?
据了解,LSI将于4月2日推出的最新应用加速系列解决方案中,硬件部分——即第二代WarpDrive产品仍将采用SAS架构,容量从200GB~3.2TB。笔者估计其主控芯片有可能是LSI SAS2308第二代6Gb/s SAS控制器,如果支持PCIe 3.0的话可能达到更高的带宽。LSI表示该产品经过架构优化之后性能和可靠度得到改进,已经能够与竞争对手一较高下了。
LSI“应用加速架构”就是使用智能高速缓存软件,将SAN或者DAS磁盘阵列上的热点数据放置到WarpDrive PCIe闪存卡或者MegaRAID连接的闪存模块上,从而加速应用访问。这一点与EMC VFCache和Fusion-io的directCache缓存软件比较相似,现在我们还不知道LSI应用加速架构是否具备像“被Fusion-io收购的ioTurbine VMware服务器虚拟机专用缓存软件(以及由它组成的ioCache方案)”那样的功能,还是如同当前的EMC VFCache不支持vMotion虚拟机迁移等?
上图中的“CSA”部分——也是增长最快的,应该代表LSI MegaRAID + CacheCade(包括支持写缓存的CacheCade 2.0)软件之类的SSD缓存加速方案,它们的特点是直接在RAID卡firmware层面实现成本较低,但数量不多的SSD驱动器通常没有PCIe闪存卡的性能好。三角形顶尖部分——单纯使用WarpDrive等闪存卡,性能和成本都较高,可以像Fusion-io那样在部分数据库等应用中替代原来的SAN阵列,但未来市场增速有限。中间的部分——即WarpDrive + CCoH(CacheCade on Host?)闪存缓存软件,其实早在LSI开始推出WarpDrive时就提到过支持CacheCade软件,既然闪存与硬盘已经不是连接在一块卡上,那么像Fusion-io的软件和EMC VFCache那样支持SAN等各种后端块存储设备就是必须的了?
至于写缓存功能,Write Back(写回)策略考虑到WarpDrive一旦出现不可访问(包括由其所在主机引起)的情况,恐怕不适合共享存储的环境。