说起企业级固态硬盘,Intel是一个较早的玩家,其早期采用SLC闪存芯片的X25-E就非常有名。和通常消费级固态硬盘使用的MLC芯片相比,SLC芯片在每个CELL里面仅保存了单位不是多位的信息,逻辑更加简单、内容更持久,因此从性能和可靠性方面来说都是企业级存储的首选。Intel的X25-E提供了200万小时的MTBF和1PB(32GB)/2PB(64GB)的耐久度。
笔者在2010年测试的Intel X25-E 64G,50nm SLC芯片,属于Intel的第一代企业级固态硬盘,发布日期2008年Q4,代号Ephraim
不过相比起消费级的产品来,Intel在企业级固态硬盘上的动作比较缓慢。从50nm的X25-M、34nm的X25-M G2和SSD 310/510,到25nm的SSD 320/520,Intel推出了非常多的消费级固态硬盘,而在企业级方面却一直没有动静,一直到Intel SSD 710横空出现,采用了25nm HET MLC芯片。SSD 710直接跳过了34nm工艺节点,改用MLC也让人颇为吃了一惊,虽然仍然提供了200万小时的MTBF,不过相对来说耐久度就不如从前了,100GB为900TB,200GB版本为1PB,300GB版本为1.8PB。
Intel 7系固态硬盘的第一款产品SSD 710,7系是Intel的企业级固态硬盘产品线;710采用了25nm HET MLC,发布日期2011年Q3,代号Lyndonville
早在上一年测试Intel采用新命名法后的首款企业级固态硬盘Intel SSD 710的时候,笔者就听到了Intel的第一款插卡式固态硬盘的消息。而在这之前,市面上已经有了不少的类似产品,最有名的可能数Fusion-IO的产品。Fusion-IO的固态硬盘均面向企业级产品线,在2009年的时,笔者测试过其一款叫做ioDrive的插卡式固态硬盘,容量为80GB,接口为PCI Express Gen1 x4,其速率为10Gb/s,显然要比普通的SAS/SATA 6Gb/s高出一截。
Fusion-IO ioDrive,笔者接触的第一款插卡式固态硬盘
虽然步调慢了一些,不过Intel也清楚随着计算性能和SSD性能的不断提升,插卡式将是顶级固态硬盘的一个方向,当时Intel将其命名为SSD 720,列为710的后继产品,不过由于产品形态以及性能都有些明显的差异,最后它被改名自成一系,也就是本文中的SSD 910系列。显然,PCI Express接口比通常的SAS/SATA接口提供了更大的带宽,并且可以减少中间的连接转换层。一般的插卡式固态硬盘仅仅是将磁盘控制器和固态硬盘集中到一块PCIe插卡上,不过业界包括Intel在内均开始了进一步集成的研究,如T10/INCITS的SOP/PQI(SCSI over PCIe/PCIe Queuing Interface)以及Intel的NVMe(Non-Volatile memory Express),此外还有一些专有的方案,这些方案都将FTL(Flash Translation Layer,闪存转换层)与PCI Express界面集成到同一个控制器当中,或者干脆就用软件来实现FTL,因此比起传统的SSD其延迟大为降低,可以达到非常优异的性能水准。
Intel SSD 910固态硬盘,是Intel的第一款PCI Express插卡式固态硬盘,25nm HET MLC,发布日期2012年Q2,代号Ramsdale
作为Intel的首款插卡式固态硬盘,SSD 910跟上面说的SOP、NVMe都统统没有关系。它是一款将PCI Express to SAS转换芯片以及SAS固态硬盘集中到一起的传统插卡式固态硬盘。尽管如此,它仍然提供了非常出色的性能,接下来我们可以看到。
如前面所述,Intel SSD 910属于传统架构的PCIE插卡式固态硬盘,它将普通解决方案的PCIE to SAS芯片和多个固态硬盘集成到了一块PCIE插卡上,如下图所示:
Intel SSD 910 & 710
|
|||||
测试分组 | |||||
类别 | Intel SSD 910 SSD |
Intel SSD 710 SSD |
|||
型号 | SSDPEDPX800G3 | SSDSA2BZ200G3 | |||
容量 | 800GB | 200GB | |||
读延迟 | < 65 μs | 75 μs | |||
写延迟 | < 65 μs | 85 μs | |||
MTBF | 100万小时 | 200万小时 | |||
耐久度 | 10PB/14PB(4K/8K) | 1.0PB(4K/8K) | |||
磁盘控制器 | |||||
型号 | LSISAS2008(Intel SSD 910 SSD内置) | – | |||
规格 | PowerPC 440 @ 533MHz | – | |||
主机接口 | PCIe 2.0 x8 | – | |||
IO接口 | SAS 6Gb/s x8 | – | |||
Flash控制器 | |||||
型号 | Intel EW29AA31AA1 | Intel PC29AS21BA0 | |||
主机接口 | SAS 6Gb/s | SATA 3Gb/s | |||
闪存接口 | ONFI 2.0 66MHz | ~ | |||
Flash控制器RAM | |||||
型号 | Micron D9LHQ | Hynix H55S5162EER-60M | |||
规格 | DDR2-800 SDRAM | SDR166 SDRAM | |||
容量 | 128MiB | 64MiB | |||
数量 | 16(4每控制器,共4控制器) | 1 | |||
总容量 | 2GiB(512MiB每控制器,共4控制器) | 64MiB | |||
存储芯片 | |||||
型号 | Intel 29F32B08JCNE2 | Intel 29F16B08CCME1 | |||
规格 | Intel 25nm HET eMLC NAND | Intel 25nm HET eMLC NAND | |||
容量 | 16GiB | 16GiB | |||
数量 | 56(14每控制器,共4控制器) | 20 | |||
总容量 | 896GiB(224GiB每控制器,共4控制器) | 320GiB | |||
标称容量 | 800GB(200GB每控制器,共4控制器) | 200GB |
半高、半长规格的Intel SSD 910,按容量划分规格有两种:400GB和800GB。接口是PCIExpress Gen2 x8,单向理论带宽为4GB/s。SSD 910的发布在Romley-EP之后,Romley-EP就是支持PCI Express Gen3的Sandy Bridge-EP平台,PCI Express带宽比上一代提高了近一倍,为什么SSD 910没有采用PCI Express Gen3接口呢?一方面4GB/s的速率确实足够了,另一方面,SSD 910开发的时候市面上并没有Gen3的PCI Express界面芯片。
型号为SSDPEDPX800G3,"SSD"后两位"PE"代表了接口类型:PCI Express。作为对比,SSD 710的200GB型号为SSDSA2BZ200G3。
背部主要是8颗Micron芯片以及一颗Cypress CY14B256LA-ZS25X1芯片,Micron芯片稍后会再说,Cypress的这个芯片是一块32KiB的nvSRAM,非易失性SRAM,平时当作普通的SRAM使用,系统掉电时可以保存其中的内容不会丢失。它用来搭配PCI Express to SAS控制器使用。
整个SSD被分割为三层PCB,上面两层为NAND层,800GB版本使用两层,400GB版本使用一层就够了;最下面一层则为控制器芯片层,包含了PCI Express to SAS控制器芯片以及SSD控制芯片。PCI Express to SAS控制器被散热器覆盖住无法看到型号,不过操作系统将其认作LSISAS2008芯片——实际上也是这个型号。LSISAS2008是一个PCI ExpressGen2 x8接口的8端口SAS 6Gb/s控制芯片,内置一个533MHz的PowerPC 440处理器,性能强大,可以支持RAID 0/1/1E/10等功能。
Intel SSD 910的4个单元以及使用的LSISAS2008 SAS适配器;顺便一提,这台Xeon E5服务器并不是测试使用的平台
由于元件繁多的原因,SSD 910的标称MTBF只有100万小时。SSD 710的标称MTBF为200万小时。
SSD控制芯片型号为Intel EW29AA31AA1,这是Intel和Hitachi合作开发的SAS 6Gb/s接口的主控,在Hitachi的企业级SSD上就有使用。SSD控制芯片的数量一共为4个,因此Intel SSD 910 800GB呈现给用户的将是4个独立的200GB SSD;400GB型号提供的就是两个,因为它只有两个EW29AA31AA1芯片。每个芯片搭配4块Micron的D9LHQ(PCB背后还有一半的Micron芯片),DDR2-800规格的SDRAM,运行速率不详,容量为128MiB,这样,每个控制器就具备了512MiB的RAM作为Cahce,或者其它用途。
提供4个独立的磁盘有点超乎了大众的想象,因为一般的SSD产品提供的都是单一的磁盘映像。尽管SSD 910使用的LSISAS2008芯片可以各种RAID功能,不过Intel并没有将它们提供给用户,甚至,连启动功能都没有!显然,SSD 910被定为于纯数据盘,将操作系统盘和数据盘分开是企业级应用一贯的做法。如果用户需要单一磁盘映像,需要自己使用软RAID方案。
Intel SSD 710固态硬盘,主控为Intel PC29AS21BA0,接口为SATA 3.0Gb/s
作为对比的Intel SSD 710主控型号为Intel PC29AS21BA0,RAM为Hynix H55S5162EER-60M,64MiB的SDR166 SDRAM,从规格上看,SSD 910要比SSD 710强上不少,这应该也是Intel要将其原名SSD 720改为SSD 910的原因之一。
Intel提供的驱动中仍然将SSD 910称作SSD 720
下载请猛击:Intel SSD 910官方驱动。实际上就是LSI的SAS2 2.0.55.0驱动
最顶上的一块PCB,可以看到NAND Flash芯片型号为Intel 29F32B08JCNE2,SSD 710上使用的是Intel 29F16B08CCME1,它们容量均为16GiB,同属Intel 25nm HET eMLC NAND FLASH芯片,不过接口宽度似乎有些不同。Intel 29F32B08JCNE2通过66MHz的ONFI 2.0接口和Intel EW29AA31AA1相连,在每块PCB上,放置的FLASH芯片数量为28块,总容量就是448GiB。两块PCB总容量为896GiB,不过标称容量仅为800GB(注意GiB和GB本身还有差别),大部分多出的容量被用来做beyond ECC(Intel宣称采用的级别更高的ECC)、磨损控制以及Over Provisioning等。这让Intel SSD 910 800GB的耐久度达到了10PB/14PB(4K/8K),Intel SSD 710 200GB的耐久度仅有1PB(4K/8K) 。SSD 910是
Intel真正为高性能、高负荷设计的固态硬盘产品。
我们使用了一台双Westmere-EP至强工作站来进行测试,它采用了双Xeon X5680处理器,主频3.33GHz,搭配的芯片组为Intel 5520 IOH,提供了36个PCI Express Gen2 Lanes,Intel SSD 910就插在其中一个PCIe 2.0 x8插槽上。这个平台也是Intel SSD 710测试时使用的平台,当时SSD 710连接至一块同样插在PCIe 2.0 x8插槽的LSI SAS3081E-R HBA上,LSI SAS3081E-R采用的LSISAS1068E是一块PCI Express Gen1 x8界面的8端口SAS 3Gb/s控制芯片,基于一个255MHz的ARM966内核,性能比起LSISAS2008来自是大有不如,不过用来连接单块Intel SSD 710当是足够。测试使用的操作系统是Windows Server 2008 R2 SP1,分别安装了各自的最新驱动。使用的测试软件为Iometer 1.1.0 rc1。
测试平台、测试环境
|
|||||
测试分组 | |||||
类别 | Intel SSD 910测试平台 | Intel SSD 710测试平台 | |||
处理器子系统 | |||||
处理器 | 双路Intel Xeon X5680 | 双路Intel Xeon X5680 | |||
处理器架构 | Intel 32nm Westmere-EP | Intel 32nm Westmere-EP | |||
处理器封装 | Socket 1366 LGA | Socket 1366 LGA | |||
处理器规格 | 六核 | 六核 | |||
处理器指令集 | MMX,SSE(1,2,3,3S,4.1,4.2),EM64T,VT-x,AES | MMX,SSE(1,2,3,3S,4.1,4.2),EM64T,VT-x,AES | |||
内存控制器 | 每CPU集成三通道R-ECC DDR3 1333 | 每CPU集成三通道R-ECC DDR3 1333 | |||
内存 | 4GiB R-ECC DDR3 1333 SDRAM x12 @ DDR3-1333 |
4GiB R-ECC DDR3 1333 SDRAM x12 @ DDR3-1333 |
|||
IO连接子系统 | |||||
IOH | Intel IOH 5520(Typersburg-36D) | Intel IOH 5520(Typersburg-36D) | |||
IOH架构 | Intel 65nm Typersburg-EP | Intel 65nm Typersburg-EP | |||
IOH封装 | FC-BGA 1295 | FC-BGA 1295 | |||
IOH规格 | QPI x2(6.4GT/s) PCIe 2.0 Lanes x36(5.0Gb/s) ESI/DMI 1.0 x4(2.5Gb/s) |
QPI x2(6.4GT/s) PCIe 2.0 Lanes x36(5.0Gb/s) ESI/DMI 1.0 x4(2.5Gb/s) |
|||
IO控制器子系统 | |||||
IOC | Intel SSD 910 SSD内置 | LSI SAS3081E-R | |||
IOC SoC | LSISAS2008 | LSISAS1068E | |||
SoC规格 | PowerPC 440 @ 533MHz | LSI Fusion-MPT ARM966 @ 255MHz |
|||
主机接口 | PCIe 2.0 x8 | PCIe 1.0 x8 | |||
IO接口 | SAS 6Gb/s x8 | SAS 3Gb/s x8 | |||
软件环境 | |||||
操作系统 | Microsoft Windows Server 2008 R2 Datacenter Edition SP1(64-bit) |
Microsoft Windows Server 2008 R2 Datacenter Edition SP1(64-bit) |
|||
驱动程序 | Intel 720/910 Series Driver (aka LSI SAS2 2.0.55.0 x64) |
LSI Fusion-MPT SAS Driver LSI SAS 1.34.02 x64 |
我们首先测试了Intel SSD 910在单个模块/单个控制器在默认模式/普通模式下的性能,并与Intel SSD 710进行对比;稍后我们测试了Intel SSD 910在开启Max Performance Mode下的性能提升;最后我们对比了4个模块/4个控制器下的总性能并与Max Performance Mode下的进行了对比。
首先测试的是在单个模块/单个控制器在默认模式/普通模式下的性能,对应的另一个模式:Max Performance Mode最大性能模式将在相应测试内进行介绍。
可以看出,在较小队列深度下,SSD 710 200GB的理论指标要比SSD 910 800GB的一个200GB模块要好点,16以上队列深度则是SSD 910占明显优势,在其他指标上亦是如此。SSD 910的单个模块可以提供约55,000的4K随机读IOps和约8,670的4K随机写IOps,1MB顺序吞吐量则是470MBps/254MBps(读/写),后者体现了SAS 6Gb/s的带宽优势,此外,与SATA接口的SSD 710对比的话,SAS接口在中、大队列深度下的优势也可以很清晰地看到。
可以看出,除了大致上就是8KB性能的Workstation工作站测试之外,其它3个服务器配置文件下都是SSD 910性能明显高出一截,FileServer文件服务器高约75%,WebServer网页服务器高63%,DatabaseServer高81%。
Intel SSD 910还有一个少为人知的秘密:Max Performance Mode最大性能模式,这个模式随着Intel释放出Intel SSD Data Center Tool工具而为人知晓。这个模式只适用于Intel SSD 910 800GB版本,它是基于这样的一个事实:半高的PCI Express x8插槽功能被限制为25W。但是尽管PCI Express插槽的信道规格可以检测出来,但是其高度确是无法知晓的。全高的x8插槽应该可以提供37.5或者说38W的电力。Intel SSD 910既可能插在半高的插槽,也可能插在全高的插槽。
功率限制对固态硬盘有什么影响呢?SSD CELL在擦写的时候,需要施加足够的能量将电子跃迁到Floating Gate浮栅层囚牢当中,SSD的写入需要比读取更大的电流,高性能的写入通过大规模的CELL并行写入来达到,因此需要的电流颇为可观。也就是说,功率限制有时也意味着性能限制,对于Intel SSD 910 800GB来说就是这样。为了保障安全,Intel将SSD 910 800GB做了限制,让其功耗不会超过25W,代价是性能受到影响。
对于将Intel SSD 910 800GB插入全高插槽的用户来说,这个限制就显得没有必要了,Intel通过Intel SSD Data Center Tool工具提供了解锁的操作,这个工具可以到Intel的官方进行下载。
下载请猛击:Intel SSD Data Center Tool
通过isdct -device 0 -power_setting max_performance命令解锁Intel SSD 910 800GB的最大性能模式
解锁最大性能模式会提示你要确认插槽可以提供28W的平均电力、38W的峰值电力以及300 LFM的风冷散热能力,如果记得前面拆解中SSD 910使用的挡板形状的话,你就会知道这是一块很热的卡。因为体积小,实际上也是非常热,要注意散热!
因为面向SATA接口的Intel SSD Toolbox无法用到加了一层SAS转换层的SSD 910之上,Intel SSD Data Center Tool还提供了Intel SSD Toolbox的一些功能,最重要的大概是完全擦除功能:
执行isdct -device 0 -drive X -erase就可以擦除指定的X模块的内容,过程大约为30分钟,此外千万要小心:模块号顺序和你看到的驱动器顺序未必是一一对应的!
顺便提一下,为了保证写入老化的影响,每测试一次写入之后就会进行一次擦除,可见测试固态硬盘的累人程度……
所有的读取操作都没有太大的变化——也许可以认为有些略微的提升。对于写入性能的提升是非常明显的,1MB块顺序写入从255MBps提升到了339MBps,幅度达33%。实际上,所有情况下的写入性能都得到了提升,只是小区块的要小一些,因为较大的区块驱动多个CELL进行同时写入的可能性更大一些。Max Performance Mode就是一个提升写入性能的模式。
测试没有任何变化是很显然的事——因为这4个测试当中只有FileServer文件服务器有20%、DatabaseServer有33%的写入操作,SSD 910跟上一代的不同之处非常轻微。
在所有模块都参与的情况下,最大性能模式在读取上也表现了一定的优势:4KB随机读提升了6.3%,1MB顺序读提升了10%。4KB随机写入提升了52%,1MB顺序写入提升了33.5%。打开最大性能模式的整个Intel SSD 910 800GB可以提供约250,000的512B随机读取IOps、约220,000的4KB随机读取IOps和53,089的4KB随机写入IOps,1MB写入吞吐量则是1375MBps,也就是1.375GB/s——跟宣称的1.5GB/s有点差距。
前面说过,最大性能模式是一个针对写入性能的模式,因此包含写入的应用:FileServer文件服务器应用有了可见的提升,除此之外,67%随机读、33%随机写的DatabaseServer数据库服务器也有所提升。
可以看出,Intel SSD 910的SSD主控仍然具有Intel主控的特点,最高可以提供的IOps为50,000~60,000这个数量级上下,大概是由于NAND芯片方面读写延迟的提升,其IOps和以往的Intel主控相比有了进步,此外,通过与Hitachi的共同开发,SAS接口的Intel EW29AA31AA1主控在中高队列下的表现要明显优于以往SATA接口的Intel主控。
IDF2012北京里面展出的Intel SSD 910 400GB版本,可以看到其PCB要比800GB版本明显少了一张
Intel SSD 910 400GB背面;Intel SSD 910的发布会刚好在IDF2012北京的会场内
单块Intel SSD 910 800GB即可以提供220,000的4K随机读IOps和53,089的4KB随机写入IOps,1MB写入吞吐量则是1375MBps,也就是1.375GB/s,这是在最大性能模式的情况下。在普通模式,写入性能要低20~33%,读取性能也要受一些影响。最关键的是,如果SSD 910的4个模块用作不同的用途,那么它们各自的操作很可能是无法预知的,在25W的功率限制下,各个模块的写入操作将会互相牵制。笔者认为,没有什么理由不使用最大性能模式,当然,要确认其使用环境:插槽可以提供28W的平均电力、38W的峰值电力以及300 LFM的风冷散热能力性能。
Intel SSD 910固态硬盘,是Intel的第一款PCI Express插卡式固态硬盘
作为Intel的第一款插卡式固态硬盘,SSD 910确实提供了不错的性能,不过,它还是一款将PCI Express to SAS转换芯片以及SAS固态硬盘集中到一起的传统插卡式固态硬盘。或许,更值得期待的是SSD 920?