存储知识:全闪存存储系统的类型和功能

全闪存存储系统是完全由固态存储介质(通常是NAND闪存)而没有硬盘驱动器(HDD)构成的独立的存储阵列或设备。这些系统是用于增强可能包含磁盘阵列的环境的性能,或者用于取代所有传统的硬盘存储阵列。它们也是用于支持由于NAND闪存较佳的性能带来的特定需求和功能,以及克服对闪存存储独有的写/擦除周期的挑战。

在一个全闪存存储系统中,控制器被优化以获得SSD的高性能。传统的磁盘控制器通常每个可支持少于200 IOPS的存储媒介(磁盘驱动器)。高性能的SAS HDD几乎可以达到这个数字的2倍,但与一个普通的固态驱动器提供8000 IOPS相比仍然微不足道。考虑到磁盘驱动器的延时,HDD阵列控制器可以处理周期剩余,大多数的处理周期用于处理快照、卷管理和复制之类的存储服务。

当SSD取代HDD,即这个延时消失后,控制器成为瓶颈,而且其性能显著变差。全闪存存储系统推出保持数据流向较快的存储介质的控制器,无论这些存储介质是驱动器规格的SSD或是闪存电路卡模块形式的。它们通常具有允许更多数据流进出存储介质的分布式的控制器架构,经常会以独立的处理器处理存储服务的系统开销。有些也具有降低网络协议处理对性能的影响的板载(onboard)功能。

全闪存存储系统的控制器也处理耐久性问题。与磁盘驱动器不同,NAND闪存无法在位级别进行覆盖写入。为了适应这种变化,闪存的一个块在新数据写入前必须整个擦除。这需要单独的内部管理程序,整合打算删除而从块里面保存出来的数据,在擦除前创建额外的数据拷贝步骤。所有这些被称作"垃圾收集"的额外的系统开销步骤消耗存储控制器的CPU周期,如果这些周期同时从处理数据I/O的处理器被偷走,会影响性能。

这些解决方案也无独特之处,全闪存存储系统拥有指定专门硬件处理这种闪存特有的系统开销的闪存控制器,因此不会降低性能。与基于软件的闪存控制器相比,它们运行这些NAND闪存操作(减少写入放大、提高损耗均衡)的工作更有效率。该功能也使低成本的多层单元(MLC)和企业级MLC(eMLC)NAND 闪存芯片的使用成为可能,有助于降低全闪存存储系统每GB的实际成本。

现在我们讨论一下现有的全闪存存储系统的类型以及用户是如何使用的。

功能1:增强性能

全闪存存储系统的第一个功能是作为对已有的基于磁盘的基础设施的高性能存储设备的增强。新技术最早的采用者通常是处于最前沿的那些人,那些似乎不惜代价需要更多性能的用户。现在,这些闪存设备成本已经下降,但通常只是用于增强性能。在这种环境里,全闪存系统能够为游戏或者高事务数据库等在线应用在负载高峰期的时候的运行提供了临时或兼任的块存储区域。EBay就是使用全闪存设备增强这类环境的性能。

全闪存设备除了充当闪存层,也能够加速存储在硬盘阵列的应用,或者为虚拟服务器和VDI环境提供网络化的高性能高速缓存。Texas Memory Systems、Kaminario、Violin Memory、Whiptail和Astute Networks公司已经推出这类产品,尽管其中很多公司也有其他闪存类别的基于闪存的产品。

功能2:取代HDD阵列

全闪存存储系统的第二个功能是以全闪存阵列的形式取代已有的基于磁盘的存储阵列。这些解决方案的部署与第一组功能相同的基本技术,具有专为闪存存储设计的控制器和内部架构,但也加入了存储服务。作为传统的磁盘阵列的替代,全闪存存储阵列需要满足市场上对卷管理、快照和复制之类的功能的需求。有些也提供多协议功能的基于块和基于文件的存储。

全闪存存储阵列通常包含重复数据删除、 自动精简配置和压缩之类的存储效率技术,因为这些程序在固态存储中工作良好。数据缩减也能够降低每GB的实际成本,这在过去一直是更广泛采用闪存存储设备的主要障碍。尽管为主要的存储阵列实施重复数据删除之类的技术可能会有性能影响,制造商们期待全闪存系统仍有性能剩余。在这个领域的制造商包括Pure Storage、Nimbus、Skyera、Greenbytes、EMC(与XtremeIO合作)以及Solidfire。如上所述,其中很多公司的解决方案可归类到全闪存设备,也可用于增强性能。

全闪存系统的主要优点

与其他闪存技术比较,全闪存系统一般具备几个主要优点。不需要使用服务器端的SSD或者PCIe卡,他们可以像目前的磁盘阵列一样在SAN配置环境中进行共享,这点对那些有许多潜在服务器主机需要加速的用户具有吸引力。共享对于提供高可用和支持VMware Storage vMotion的服务器虚拟化实施也具有吸引力。

与混合闪存系统(同时带有闪存和磁盘的设备)相比,全闪存存储系统提供更快、同时也更一致和更可预测的性能。与混合阵列不同,它们的控制器可以忽略决定哪些数据集应该放在闪存以及在两个存储区域之间实际往返移动数据所需要周期的高速缓存和分层运算法则的系统开销。全闪存系统的数据都置于固态存储内,在服务器虚拟化之类的高动态环境中,不像高速缓存或者分层系统那样容易受工作量变化的影响。不会有高速缓存或者层"丢失"的风险,这种破坏性的场景之下,所需数据没有如期在闪存上而从磁盘获取数据时应用被迫等待。

成本:TCO问题

如上所述,闪存系统的每GB的成本问题一直抑制基于闪存的存储设备的采用。但当重复数据删除和其他数据缩减技术对传统的磁盘阵列不划算时,它们特别适合全闪存系统。首先,这些程序在全闪存系统上能运行良好,因为这些系统已有的高IOPS性能,使这些程序比在HDD上更有效率。同时,闪存的每GB基础成本比较高,所以,与HDD相比,数据缩减额外取得的每一个百分点,都有更好的边际回报。由于这个原因,计算全闪存系统的投资回报的时候,必须留意需要包括合理的数据缩减比率。

增值代理商的观点

闪存已经成为目前存储技术项目里的固定设备。不管是作为性能增强型设备进行实施或者取代传统的HDD系统,问题不再于是否使用基于闪存的系统,而是另外一个选择:当高性能磁盘驱动器和SSD之间每GB实际成本差别不断缩小时,这个选择越来越划算。且不说潜在的全闪存项目,增值代理商也应该熟悉全闪存存储系统,因为这项技术是闪存存储更大的话题的一部分。除了服务器端SSD/PCIe解决方案和混合闪存设备以外,全闪存系统也是客户将会问及的一个实施选择。