【IT168 应用】当存储领域的很多人还在讨论3Par和Compellent被惠普和戴尔收购后,主流存储系统市场如何被吞并,并直接导致市场中只剩下一两个小供应商与之抗衡时。这种讨论根本没有意识到固态硬盘已经正式步入主流市场行列,并且出现很多初创公司,他们开始建立专为闪存优化的存储系统。
新存储系统供应商阵容包括提供全SSD存储系统的初创公司Violin、Whiptail、Pure Storage、Kaminario和SolidFire,以及设计混合SSD存储系统的Nimble Storage、Tintri、Nexgen和Tegile。还有重新启动的Starboard Storage公司(原名为Reldata)和稍显成熟的Nimbus Data和Greenbytes,基于闪存的存储系统创新市场开始热闹起来了。
目前市场上几乎每个中端存储系统都能对闪存(SSD)提供支持的功能,还有一些(例如EMC的VNX和惠普的Lefthand)提供全SSD闪存阵列,机械磁盘(碟片旋转磁盘)和闪存之间的性能差异非常明显,需要从上到下重新设计存储系统才能够最大限度地发挥闪存的性能。对新SSD存储系统架构的通常说法是:传统RAID控制器不具备足够的计算能力和I/O能力来处理超过已经部署超过半数的固态硬盘。毕竟,如果控制器被设计为处理20万IOPS(能够处理1000个机械磁盘所发挥的IOPS),那么当面对每个都可以提供10万IOPS的,总计20个固态硬盘时,其计算能力方面的短板就很明显可以感觉出来。
我觉得或多或少会出现这样的情况。毕竟很多系统(从全闪存初创公到大型企业)都基本上是使用Xeon服务器作为他们的RAID控制器。基于Nehalam和Westmere的系统应该能够处理一个中型系统所需要满足的20万到50万IOPS。我认为具有闪存缓存和/或分层的成熟阵列与非常好的“新人”之间的差异在于数据布局,而不是CPU控制器周期。
这主要是关于闪存和机械磁盘之间的差异。磁盘驱动器为读取和写入I/O提供对称的性能,但是为连续访问和随机访问提供不对称性能。闪存为随机/连续提供对称性能,为读取/写入提供不对称性能。并且磁盘驱动器故障几乎都是因为随机读写而出现的,虽然闪存的写入寿命有限,但处理这两种存储设备的非常好的方法是完全不同的。
为了最大限度地提高性能,传统磁盘阵列竭尽所能地避免移动磁盘驱动器上的磁头。不仅因为移动磁头需要化2-15分钟(这真的是很长的一段时间),而且在共享存储设备上,为应用程序获取数据而移动磁头,这就意味着当最后读取数据的应用程序需要更多或者想要写入新数据时,需要将磁头移回原来的位置。当优化闪存时,其目标并不是最小化随机I/O,而是最小化写入,特别是写入小于闪存数据块的大小,因为闪存设备的任何写入操作都要求先擦除整个块,然后再写入。
因此传统阵列将宝贵的RAM缓存分配到预读缓冲区,并使用其他方法来尽量减少磁头移动。很多新一代阵列采用结构或者非易失性写入结合缓冲区,并且组织固态硬盘上的数据,这样同一时间写入的数据位于同一块,而不是以数据提交给主机的方式来存储数据。