[转]SSD固态存储大观(一)

From: http://blog.51cto.com/alanwu/1405874

Contents

1、概述... 1

2、FusionIO:Pcie SSD的始作俑者... 2

3、Intel PCIe SSD:传统PCIe SSD卡... 3

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

5、Memblaze: pcie SSD的国产新星... 5

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

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

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

9、Pure storage:SSD盘阵探路人... 10

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

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

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

13、Nimble Storage:混合存储新星... 15

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卡可以采用相同的驱动程序。参与推动的企业包括:

wKioL1NlFq7CsrAnAAD4u2PVyEU805.jpg

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转接版本。

原文地址:https://www.cnblogs.com/muahao/p/9842408.html