Fusion-io PCIe闪存卡能实现960万IOPS存储与灾备
Fusion-io又一次给我们带来了惊喜,它推出的ioDrive2 服务器闪存卡——把365GB的MLC闪存存储容量整合到一个PCIe卡板中,最终能实现惊人的960万每秒写入速度。
这个伟大的产品把PCIe卡中的NAND容量映射到了应用的内存空间并且写入64个字节——这和PCI主干的缓存线大小差不多——有时也会以单线程的形式来完成。这样的话就是每秒960万64字节的写入速度,在真正的内存中也就是每秒585M。如果你自己的代码跟这个特定的基准设置不一样的话那会出现一些变化。
Fusion还提供一个directFS文件系统和一个软件开发套件来保证ioDrive2的闪存内存可以用到应用程序的虚拟内存空间中。这样,处理器就可以直接借助PCIe总线写入到一个内存映射的卡中,但是仅仅是像卡板上的随机访问内存一样。
数据则会与最近的64字节地址对齐以实现性能优化,原子读写也有可能实现。它们的想法是把应用程序对许多直接联结的非易失性存储开放,绕过操作系统的代码或任何基于硬盘的容量。为了能充分利用这些硬件,应用的代码必须做出改变以便能使用Fusion-io SDK的API。
通过我们的测试,64字节对于Fusion-io的ioDrive2来说再合适不过了。在每次写入操作中,PCIe硬件就会输送64字节块,假设地址是优化一致的,在一次写入操作中传输比64字节更小的块并没有速度优势。
如果传输的数据字节比64字节多,即使是多一个字节,芯片集也会按照64字节的下一个倍数来传输,也就是说会通过PCIe总线传送128字节的数据,这将需要两次循环,在理论上,速度会变成原来每秒960万写入速度的一半,即480万IOPS。
我们认为PernixData及其分布式数据缓存管理技术也会出现在内存映射闪存领域。很可能以后的初级数据存储就由现在的从硬盘到固态存储的过渡时期,发展到后来的闪存即硬盘或闪存即内存的阶段。
在这方面,Fusion-io可不孤单,IBM的存储部门经理Ambuj Goyal也认为事务型数据应该存储到固态硬盘中,机械硬盘实在是太慢了。
要想实现闪存产品的最佳性能,除了充分理解硬件的特点之外,还要顺应时代的潮流,跟上科技的发展。