Skip to main content

 路由器网 > 新闻资讯 >

SSD固态存储发展大观

2014-05-04 23:36 浏览:


1、概述

  2013年是Flash存储领域非常不平凡的一年,Flash盘阵厂商Violin Memory上市之后就股票大跌,CEO被迫辞退。混合存储厂商Nimble Storage终于在年末成功上市。Cisco在自己的老本行之外于去年下半年收购全Flash盘阵厂商Whiptail,开始入足存储领域。FusionIO在去年一直收益不佳,并且引发高层动荡,创始人兼CEO离开公司,从而导致股票大跌。Skyera公司在Flash Memory峰会上展示了自己的高密全Flash存储系统,几乎可以颠覆现有所有存储系统。EMC在2012收购XtreamIO之后,终于在去年发布了XtreamIO全Flash盘阵系统。去年年底,三星/东芝/美光等公司竞相投产,3D Nand Flash时代正式来临。很多的事件都表明Flash存储领域非常的热门,但是,目前还处于技术和市场拼杀的阶段,所以可以看到很多新型公司的沉浮以及不断有令人耳目一新的产品发布。

  有一个事实是不可以忽略的,随着半导体工艺的进一步发展,Nand Flash的单芯片容量月来越大,Nand Flash制程已经移至16nm,并且采用3D的工艺技术,使得Nand Flash的单芯片容量达到了128GB,256GB、512GB单芯片容量不在是梦想。

  本文是想对市场上现有的基于Flash的存储系统进行分析,说明他们的区别以及相同点。从这些产品分析,我们可以看到,目前Flash存储系统没有统一的技术标准,没有统一的软硬件架构,一切都在定义之中。真因为如此,Flash存储的游戏才刚刚开始,其间才会充满了很多的机遇和挑战。

  2、FusionIO:Pcie SSD的始作俑者

  FusionIO曾经发布了第一块基于PCI总线的SSD设备卡,这种卡被广泛应用于服务器中,对数据库等应用进行IO加速。曾经一度FusionIO都被行业非常看好,但是去年FusionIO内部高层动荡,创始人兼CEO离职,导致FusionIO的股价重创。分析FusionIO的市场,其最大的客户是Facebook和苹果,所以,Facebook和苹果的业绩会影响FusionIO的收入。个人认为,FusionIO在定义PCI SSD之后,没有引领Flash存储潮流,将Flash存储引领到数据中心主存储方向上来。所以,当大家都具备能力去完成一块低延迟SSD卡的时候,Fusionio的好日子也就过到头了。所以,一个SSD的创业公司,需要认识到Flash存储对存储领域的真正价值所在,需要不断提升、扩展自己的产品,将这个领域做大,从而立于不败之地。

  FusionIO的产品技术应该说是有点特立独行的,在那个年代是有创新性的。传统厂商在处理Flash的时候,通常会将Flash当做普通磁盘来处理,在CPU和Nand Flash之间,会存在一层SATA或者SAS接口。这种传统的接口会简化整个板卡的设计,但是会引入IO Latency。

  FusionIO的iodrive控制器将Flash以缓存的形式存在,数据直接经过PCI控制器抵达Nand Flash,从而可以显著提高随机读写性能。从技术的角度来看,由于Nand Flash本身的读写性能很高,整个IO路径上的任何延迟都会对系统的整体性能造成影响。换句话说,存储介质Nand Flash已经不是IO性能的瓶颈点,数据传输、处理器性能可能会成为系统的瓶颈点。在磁盘存储系统中,由于磁盘是重要瓶颈点,所以SAS、SATA之类的延迟就可以忽略了,但是,在Flash存储中,这种延迟就不能被忽略了。

  在接口的处理上,FusionIO去除了SAS/SATA接口,直接采用FPGA实现了iodrive控制器。如上图所示,其封装了PCI控制器和Nand Flash控制器。但是,值得注意的是,FusionIO的FTL(Flash Translation Layer)是实现在主机端的。也就是说,在主机端的驱动程序中,需要实现FTL的算法。这种处理当然可以简化板卡的设计,带来的问题是其会占用主机(服务器)的内存和CPU资源,会影响到服务器的性能。这种将FTL直接放到驱动程序层面的方法被称之为Host based PCIe卡架构,很多厂商的产品都会采用这种模式。但是,国内的Memblaze的产品直接采用另一种device based PCIe架构,将FTL直接放入FPGA内部,采用FPGA内部的处理器对其进行处理。当然,采用这种offload的方式,也会带来其他方面的问题,例如散热等。

  3、Intel PCIe SSD:传统PCIe SSD卡

  Intel是信息技术行业的老大,其技术强项在于X86处理器技术,其市场强项在于处理器技术在PC和服务器市场的垄断。Intel拥有Nand Flash技术及芯片,并且拥有PCIe控制器、Nand Flash控制器等技术。因此,Intel可以很容易将诸多技术集成起来完成一款优秀的PCIe SSD存储卡。Intel于2012年的IDF上终于推出了自己的SSD卡:

  和FusionIO的PCI卡相比,Intel所走的路是不同的,也许也是暂时的。和FusionIO相比,Intel采用了SAS接口将PCI和Nand Flash控制器相连,也就是通用的LSI HBA控制器外加Intel的SAS控制器的连接方式。由于采用了SAS互连接口,IO的延迟会受到一定的影响,因此,在实际的测试过程中发现,Intel的PCI卡能够跑到将近10万的IOPS。

  作为一家领头企业,Intel当然不会局限于一张小小的SSD卡,其会推动行业产品的标准化。所以,在Intel的带领下,对PCIe SSD卡的主控制器进行了标准化工作,该行业标准就是NVMHCI,采用该标准之后,所有PCIe SSD卡可以采用相同的驱动程序。参与推动的企业包括:

  4、华为PCIe SSD卡:创新、追求完美

  华为从2006年开始研发PCIe SSD卡,是业界最早研发该产品的公司之一。去年推出的第四代高性能存储卡ES3000,是专门针对高IOPS性能需求的应用而推出的固态存储产品,具有性能高、延迟小、可靠性高、使用寿命长等特点,目前广泛应用于腾讯、阿里、百度等互联网公司。

  对于4KB大小数据块,可以达到77万读IOPS,另外可以到63万写IOPS,可以提供低至8us的访问延迟。在板卡内部内置了FTL、RAID5、ECC等算法,可以减少主机资源的消耗。华为的PCIe SSD存储卡和Memblaze的PCI卡类似,都属于Device Based存储卡的范畴。

  5、Memblaze: pcie SSD的国产新星

  2011年末的一天,笔者读到一篇文章,说两名80后创业研制了世界最快的PCIe SSD卡。当时,我将他们卡的架构和FusionIO的卡进行了简单对比,并且对他们进入该领域进行创业的勇气表示赞赏。在2011年的时候,虽然PCIe SSD卡的企业步入现在多,但是,要知道Flash存储市场前景虽然看好,但是,要想在这块大家都非常眼红的市场上分得一杯羹是需要技术实力的,而且,竞争对手不仅是国内的企业,更多的是国外的硅谷企业。Flash存储和传统的磁盘存储相比,有很多的不同点,因此,存储技术的架构、方法都需要重新定义。在这种情况下,需要具备足够的勇气才能在这个领域进行创业。事实证明,机会总是留给有勇气的人,经过两年多的发展,这个创业公司一路走的很好,并且在技术上毫不逊色,甚至更胜一筹。这个创业公司就是Memblaze。

  和FusionIO的技术路线有所不同,Memblaze的PCIe卡采用device based技术路线,也就是将FTL层在板卡上实现,而不是在主机(服务器)上实现。采用device based的方式,可以不考虑服务器CPU抢占和内存占用问题,这是Memblaze产品的一大优势。

  据测试Memblaze的PBLAZEIII具有很高的读写带宽,分别达到3.2GB/s和2.5GB/s,另外,15us的写延迟(缓存写)看上去也非常的不错。在两块PCIe卡的基础上,能够获取超过100万的IOPS。可以说,Memblaze是Flash存储领域一颗非常有前景的新星。

  Flash存储可以轻松做到us级别的延迟,而传统的磁盘只能做到ms级别的延迟。因此,当前,在数据库等对延迟要求比较高的领域,Flash存储的确有其不可替代的价值。而Memblaze存储卡能够做到很低的延迟,所以在数据库等领域占据着自己的一席之地。

  总的来看,目前PCIe SSD存储卡主要有FPGA直连和SAS转接两大类版本,其中FPGA直连可以大大降低IO延迟。此外,从主机CPU占用率的角度来看,PCIe SSD可以分为Host Based和Device Based,这两类最大的差别在于FTL运行位置。Memblaze推出的产品属于Device Based的FPGA版本,FusionIO的iodrive属于Host Based的FPGA版本,而Intel的产品属于SAS转接版本。

  6、NetApp EF540:全闪存阵列过渡版本

  如果没有充分考虑Flash存储介质的特性,那么研发一款全Flash盘阵也不是什么难事。在硬件上,最简单的方法就是将原来的磁盘替换成SSD盘,在软件上,将传统RAID进行改进,支持Trim资源回收命令即可。这种简单替代型的全Flash盘阵是很多厂商都可以提供的。

  个人认为这种全Flash盘阵只是一种过渡版本,当真正符合Flash应用特征的技术架构成熟之后,这种过渡版本也就推出历史舞台了。

  NetApp的这款SSD盘阵同磁盘阵列拥有相同的功能,包括多路径、快照、远程复制等功能。

  7、Skyera:高密SSD阵列第一人

  2013年下半年的时候,创业公司Skyera发布了一个容量惊人的产品消息,采用该公司的Flash盘阵,一个机架内可以存放高达21PB的数据量,一个1U的机器可以支持500TB的存储容量。这是什么概念?我记得没错的话,目前,阿里巴巴的数据基本上就可以采用两个机架搞定了。百度之类的公司也就需要10几个这样的机架就可以了。Skyera的一个机架可以取代传统磁盘存储的30多个机架,这是什么怪兽级产品?完全可以改变闪存阵列市场的游戏规则。也许成熟的产品需要时日,但是,这是一个很重要的信号,SSD盘阵的容量完全可以做的很到,在单位体积内的容量可以远远超过磁盘系统。随着未来半导体工艺的进一步发展,以SSD盘阵为核心的数据中心一定会成为主流,从而可以更好的节约能源、节约数据中心空间,满足大数据发展的需求。

  为什么Skyera可以做到如此高的存储密度,其首先需要感谢半导体工艺的发展,由于采用了3D工艺技术,目前三星之类的公司可以做到单芯片128GB的容量,未来单芯片256GB、512GB不是太大的悬念。其次,在盘阵的体系结构上,Skyera也进行了大胆的革新,其没有采用已有的SSD存储模块,而是自己研制了类似于DIMM一样的Flash存储模块。在一个1U的机箱内,插满了这种DIMM Flash模块,每个Flash模块可以理解成一个SSD盘。

  

  采用这种DIMM Flash模块之后,可以更能充分的利用机箱空间,所以,可以更好的提高系统的存储密度。可以说去年下半年Skyera在FlashMemory峰会上的信息发布对业界是一个重磅炸弹,其最大的好处是显而易见的,大体积的磁盘存储系统可以压缩成占有体积很小的Flash存储系统。

  这种革新好比前两年在数据备份领域,磁盘备份系统替代磁带备份系统。磁盘备份系统最大的好处在于随机读写能力强,占用的体积小。Flash固态存储替代磁盘存储系统的思路如出一辙。随着Skyera系统的研发、发布,Flash存储的春天即将到来。

  8、EMC XtreamIO:不算完美的Scale-Out SSD盘阵

  2012年5月EMC收购以色列一家专门从事Flash固态存储的公司XtreamIO,自此EMC获取了一条独立的全Flash阵列的产品线。值得一提的是XtreamIO是一种Scale out架构的Flash阵列。

  EMC XtreamIO作为一款具备横向扩展能力的全Flash阵列,每个阵列单元称之为X-Brick,每个X-Brick单元配置了25个SSD,并且具备两个存储控制器和一个UPS电源。一个X-Brick高度为5U,每个都配置了4个8Gb FC、4个10Gb 以太网口和4个40Gb InfiniBand。通过堆叠多个X-Brick,从而可以达到存储横向扩展的目的。

  在硬件结构上看,EMC XtreamIO和PureStorage是很类似的,他们基本都是采用存储控制器加存储节点的方式,并且都采用了通用硬件的架构方式。因此,XtreamIO和Purestorage可以说是直接竞争的两个产品。

  从X-Brick的配置来看,每个X-Brick都需要配置一个UPS电源。如果客户只是购买一个X-Brick,那么需要购买两个UPS电源。该UPS电源的目的在于保护内存中的数据,因为所有的元数据信息都保存在内存中,因此,需要UPS电源对内存进行保护。

  XtreamIO支持在线数据去重,并且对RAID数据保护技术进行了优化,降低了传统RAID写放大导致的问题。此外,XtreamIO将元数据的存储、管理与操作全部转移到内存层进行操作,从而可以大大提高IO运行效率,但是,这种处理方式也是值得商讨的,一定需要UPS的冗余保护。

  9、Pure storage:SSD盘阵探路人

  认识purestorage大概是在2011年左右,那时purestorage刚刚推出全Flash阵列产品。Purestorage公司成立于2009年,据传今年该公司可能会上市,并且最近的一次融资超过了2.25亿美元,估值已经超过了30亿美元。Purestorage一个非常重要的特性是数据去重(deduplication)。个人认为数据去重和Flash存储是天生的一对。为何这么说?Flash存储在设计开发过程中考虑最多的是Nand Flash寿命,因此,在FTL层会绞尽脑汁去balance所有page页的使用频率。当前,Nand Flash和磁盘相比,单位成本还是高。因此,如果采用deduplication技术,那么,可以无形之中可以扩大系统存储空间,并且增强Nand Flash使用寿命。另外,对于deduplication而言,存储的随机访问能力一直是个很重要的挑战,但是对于Flash而言,随机访问能力正好是强项。因此,deduplication和Flash的结合是强强联合。

  Purestorage的FlashArray采用控制器机箱和存储箱分离的形式:

  在存储控制器内集成了Intel核心处理器及大量的内存。前端导出采用8G FC或者10Gb以太网卡,此外,还可以支持Infiniband接口。在软件方面,Purestorage支持快照、Thin Provisioning、数据压缩和实时在线数据去重。Purestorage有些创业者来自于磁盘数据去重公司Datadomain,因此,从架构上来讲,和Datadomain的产品很类似,如果没有猜错的话,Purestorage的技术战略是想通过控制器的能力来提升存储性能,即计算换存储,因此,采用通用的X86处理器作为控制器的CPU。

  Purestorage是一种采用通用硬件构建的Flash存储系统,在通用硬件的基础上,采用软件的手段充分发挥Flash的优势。和IBM Flashsystem之类的Flash盘阵相比,是一种不同的技术发展思路。

  10、Violin memory:创新SSD盘阵,上市股票暴跌第一人

  去年下半年,位于美国硅谷的Violin Memory上市,上市价9美元。上市一段时间之后,Violin的股票一路下跌,低至3~4美元,导致去年年底CEO被逐出家门。目前,Violin Memory的股价是3.47美元。Violin Memory上市的时候,我正好在硅谷出差。闲聊之时,我问美国的同事是否看好Violin?美国同事告诉我Violin的研发水平很有限,不是很看好。果然上市之后,股价一路下跌。作为一家SSD盘阵的创新型企业,在SSD一路高歌的环境下,按理来说Violin的股价不应该出现如此低迷的状态,这背后也许有很多值得分析的故事。从技术的角度来看,Violin Memory做的还是不错的,其采用的是完全硬件定制的方案来实现一个全闪存阵列,该思路和IBM的FlashSystem是类似的。

  Violin Memory的核心存储模块是VIMM(Violin Intelligent Memory Module),每个VIMM模块具有独立的FTL。据了解每个VIMM分为16个Flash Package,每个Flash Package含有8颗SLC或者MLC NandFlash芯片,每个VIMM模块都有独立的控制器。在数据保护方面,Violin拥有自有的专利技术vRAID;在对外导出接口方面,Violin Memory采用了传统的8GFC,10G以太网接口以及Infiniband,此外,还提供了PCIe连接功能;从软件功能的角度来看,Violin Memory可以支持快照、加密以及Thin-Provisioning等功能。可以说,Violin memory提供了一整套硬件Flash盘阵解决方案。

  11、Nimbus Data:高调集群SSD盘阵

  Nimbus推出的SSD盘阵是一套可以Scale out的集群系统:

  该系统具有以下特点:

  1)RAIN,可以实现多Node级别的数据冗余

  2)多协议支持,包括Iscsi、光纤FC、NFS

  3)快照、远程数据复制、数据加密、重复数据删除、数据压缩

  4)支持虚拟化和数据库平台

  Nimbus Data的一个宣传重点在于高密度存储。和Skyera的设备相比,Nimbus的存储密度的确不值一提。但是,和EMC等厂商推出的产品相比,Nimbus在密度方面的确要胜出很多。一个Nimbus的盒子可以替换掉7个XtreamIO的盒子,这点还是很吸引人眼球的。

  从技术角度来看,Nimbus Data的全Flash阵列应该属于十分典型的通用硬件式架构,和Purestorage、EMC的解决方案应该是象似的。

  12、IBM FlashSystem:技术创新的SSD盘阵

  FlashSystem是IBM于2012年8月收购TMS(Texas Memory Systems)后,于2013年4月所推出的全Flash阵列产品。TMS是固态存储设备的前驱,早在很久以前(30多年前)就推出了基于DRAM的全固态存储阵列,近年来逐渐转向基于Nand Flash的固态存储设备。

  和传统的SSD盘阵相比,FlashSystem具有很大的体系架构创新。市场上很多基于SSD的存储盘阵其实是在原来磁盘阵列的基础上发展起来的。如下图所示,SSD盘阵只是将原来的磁盘替换成了SSD盘,并且在软件上做了一些针对SSD的优化,例如,在RAID层引入Trim命令,使得SSD的资源块可以被回收,从而当系统经过长时间运行之后,可以提高系统整体IO性能。

  在原有磁盘阵列的基础上做SSD盘阵是没有办法充分发挥SSD本身的性能,因此,IBM的FlashSystem对整体结构做了大刀阔斧的革新。

  该产品采用独特的条状Flash模块设计,每个Flash模块内含专用的FPGA控制器。FPGA实现了NandFlash控制器,编解码的硬件加速,PCI控制器。Flash模块通过PCI接口与IO控制器相连,与传统的SAS接口相比,PCIe具有更高的带宽、更低的延迟。

  总体而言,FlashSystem是一个基于PCIe SSD的阵列系统。和传统的结构相比,采用这种结构的SSD盘阵具有更大的存储容量,并且能够充分发挥SSD的优势。

  从软件的角度来看,

  13、Nimble Storage:混合存储新星

  Nimble Storage是一种混合存储的Tier Storage存储系统,该公司于2013年年底成功上市,并且股票一路飙升。混合存储这个概念其实很早就有了,也就是很多人采用SSD对盘阵性能进行加速的一种解决方案。个人认为在Flash存储还没有大规模铺开的前提下,混合存储产品是有一定的市场空间,并且可以很好的作为一种过渡产品存在。

  Nimble存储的几个特点包括:

  1)可以实现SAN级别的Scale out

  2)采用SSD对读操作进行Cache优化

  3)通过多核处理器进行实时数据压缩

  本文出自 “存储之道” 博客