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

[转]SSD固态存储大观(一)的更多相关文章

  1. 基于SSD固态硬盘的数据库性能优化

    基于SSD固态硬盘的数据库性能优化 2010-11-08 00:0051cto佚名   关键字:固态硬盘 数据库管理 SSD 企业软件热点文章 Java内存结构与模型结构分析 Oracle触发器的语法 ...

  2. [转帖]ssd固态硬盘的Trim命令是什么?

    ssd固态硬盘的Trim命令是什么?  收藏 分享 邀请 许多用户朋友在购买SSD的时候都会特别强调Trim,不过Trim是什么?做什么用的?   什么是Trim?   Trim指令也叫disable ...

  3. 笔记本光驱位换SSD固态硬盘之硬盘格式化

    笔记本光驱位换SSD固态硬盘之硬盘格式化 系列文章: ThinkPad E430c加装内存和SSD固态硬盘 笔记本光驱位换SSD固态硬盘之Ghost克隆原来的系统到SSD固态硬盘分区 概述 加装SSD ...

  4. SSD固态硬盘使用注意事项

    SSD固态硬盘的结构和运行方式不同于传统硬盘,在购买以后强烈建议进行一些设置以达到最优的运行效能,延长SSD的使用寿命.以下第一部分是一些可以在网上找到的关于SSD硬盘相关的注意事项,已经介绍很多,这 ...

  5. PCIe固态存储和HDD常见的硬盘性能对比测试

    2周测试后,导致以下结果 MySQL-OLTP测试结果:(50表.每个表1000广域网数据,1000个线程) TPS:MySQL在PCIe固态存储上执行是在HDD上执行的5.63倍 writes:My ...

  6. 【转】如何使用分区助手完美迁移系统到SSD固态硬盘?

    自从SSD固态硬盘出世以来,一直都被持续关注着,SSD的性能优势让无数用户起了将操作系统迁移到SSD的心思,直接后果就是让无数机械硬盘为止黯然退场,很多软件都可以做到系统迁移,然而,被完美迁移的系统却 ...

  7. 笔记本光驱位置装SSD固态硬盘(亲自试验)

    我的笔记本买的早了,2010年的联想Z460,速度有点慢,本来想换台电脑,想想还是算了,没有太大必要.固态硬盘便宜了,于是在原来的光驱位置装了一个256G的SSD固态硬盘,现在的性能能达到刚买来时的1 ...

  8. SSD 固态硬盘,Trim指令 ,查看状态、开启、关闭

    一说到SSD 固态硬盘,经常会看到Trim指令这个名词,那什么是Trim?   Trim是什么? 为了解决硬盘降速的问题,微软联合各大SSD厂商开发了一个新技术——Trim.Trim指令也叫disab ...

  9. 6款实用的硬盘、SSD固态硬盘、U盘、储存卡磁盘性能测试工具

    一.检测工具名称汇总 HDTune ATTO Disk Benchmark CrystalDiskMark AS SSD Benchmark Parkdale CrystalDiskInfo 二.各项 ...

随机推荐

  1. STM32学习之路-感觉自己走到了一个天大的坑里了!

    先前兴致勃勃的来弄16位并口驱动LCD.本以为就须要改下LCD IC的初始化即可了,没想到弄了这么多天最终发现自己走进了一个深坑了 T T 原因是我的开发板是奋斗V5的, 它确实有MCU外扩IO口, ...

  2. Noip模拟 Day6.13 By LD T1

    一.哲哲回家 出题人的解答: 可以将其转化成最短路模型. 这个地方转车怎么转移有点困难,有两种方法: 1.我们可以再把每一个点拆成M个点,我们用F[i,j]表示从1号点到i这个点并且坐在j路车上的最少 ...

  3. 【bzoj1507】[NOI2003]Editor

    第二次写rope了 rope大法好!!! #include<algorithm> #include<iostream> #include<ext/rope> #in ...

  4. 第二步:将LAD结果的属性值二(多)值化,投入计算模型

    一文详解LDA主题模型 - 达观数据 - SegmentFault 思否 https://segmentfault.com/a/1190000012215533 SELECT COUNT(1) FRO ...

  5. 【POJ 1330】 Nearest Common Ancestors

    [题目链接] 点击打开链接 [算法] 倍增法求最近公共祖先 [代码] #include <algorithm> #include <bitset> #include <c ...

  6. 安装完Anaconda python 3.7,想使用python3.6方法

    cmd使用命令: conda create -n py36 python=3.6 anaconda 安装好后,会有提示: To activate this environment, use:# > ...

  7. gerrit下载

    http://central.maven.org/maven2/com/google/gerrit/gerrit-war/2.11.4/

  8. UEditor动态添加图片访问路径前缀

    在使用UEditor上传图片时发现上传图片后在编辑器中不能显示上传的图片,在这里是需要在jsp/config.json中设置图片访问路径前缀,即项目的根路径,在config.json只能填写字符串的配 ...

  9. 利用XStream实现对象XML话

    使用Java原生的序列化的方式来表示一个对象.总结一下这种对象表示方式的优缺点: 1.纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包的支持 2.多语言环境 ...

  10. Java多线程系列二——Thread类的方法

    Thread实现Runnable接口并实现了大量实用的方法 public static native void yield(); 此方法释放CPU,但并不释放已获得的锁,其它就绪的线程将可能得到执行机 ...