你有没有关注SSD?对它的印象如何?如果你仅仅是觉得它"能省一点电量"、"容量太小",那么接下来你可要开始吃惊了。因为SSD有可能正在酝酿着一场体系结构的革命。先来看两篇报道(经过了我的编辑筛选的):
Micron的PCIE SSD卡
Micron几个月前推出了速度达到250MBps的RealSSD,最近他们又把这一记录刷新,达到了1G/s。但是Micron使用的是双SSD和高达16位的数据通道,性能超过200000 IOPS(input/output operations per second,输入输出操作/秒)这么快的速度使Micron不得不放弃Serial ATA II 300MB/秒的速度,而改投PCI Express的怀抱。出货日期和价格待定,跳转后有视频欣赏,看看人家实验的机器和PCI Express接口的的SSD是什么样子。http://www.youtube.com/watch?v=m1GBPreUPXk
Fusion-io的PCIE SSD卡
看到上图那一大片芯片了吗,那是三星生产的 NAND 闪存,一共 80GB,这张卡是 Fusion-io 的 ioDrive。采用 PCIe 接口,读写几乎没有延迟时间(Everrest测试是几十微秒),比目前所有 SATA II SSD 和八颗一万五千转的硬盘组成的RAID系统都还要快 (按测试是在4Gb/s的水平) ,总之就是目前地表上最速储存媒体。这里有测试报告: http://www.tweaktown.com/reviews/1683/1/exclusive_look_at_fusion_io_iodrive_pcie_solid_state/index.html (强烈建议对测试数字没概念的人去看测试图)
我们再来一起回忆一下Peter Norvig这位现任google research director在2001年写的文章《10年编程无师自通》(为方便多数人阅读,找了中译本):
……
记住在"计算机科学"这个词组里包含"计算机"这个词。了解你的计算机执行一条指令要多长时间,从内存中取一个word要多长时间(包括缓存命中和未命中的情况),从磁盘上读取连续的数据要多长时间,定位到磁盘上的新位置又要多长时间。(答案见后文)
……
答案
各种操作的计时,2001年夏天在一台典型的1GHz PC上完成:
●执行单条指令 1 纳秒 = (1/1,000,000,000) 秒
●从L1缓存中取一个word 2 纳秒
●从主内存中取一个word 10 纳秒
●从连续的磁盘位置中取一个word 200 纳秒
●从新的磁盘位置中取一个word(寻址) 8,000,000纳秒 = 8毫秒
距离文章写成之日已有7年,CPU核心翻倍甚至X4、X8,Cache和RAM速度变快,唯有硬盘还是那样地慢。现在,加速硬盘的机会终于快要来了。按软件实测数据来估算(实际上我怀疑软件实测对于这样快的存储设备是否仍然准确):
SSD性能
●从连续的磁盘位置中取一个word 2 纳秒
●从新的磁盘位置中取一个word(寻址) 50,000纳秒 = 0.05毫秒
●向新的磁盘位置中写一个word(寻址) 20,000纳秒 = 0.02毫秒
在硬盘的读取带宽增加几十甚至上百倍,寻道(其实是寻址)时间降低到几百分之一,系统启动的速度,程序加载的速度,硬盘Cache的设计,Page swapping的效率,程序的预读策略……这些常见的问题都需要从新的角度来考虑了。
比如Page swapping,如果需要 5秒种,那么这肯定是一个问题,因为它会引起程序的停顿;但 如果它只需要5毫秒,那么对于多数程序来说,这就不再是一个问题了:联想一下GUI界面的400毫秒定理……(如果觉得我用GUI程序来举例太过naive的话,请联想一下GC algorithm和swapping的关系,或者服务器端常见的的RAID压力问题)
做过系统(软件系统,硬件系统,软硬件综合系统)的人可能都会有这样的感受:一个数量级的变化足以引发体系结构的革命。
现在,我们面临的是两个数量级的改变。所以,我将SSD与HDD的变化称为革命,一场会影响软硬件体系结构的革命。
结果如何,让我们试目以待……
(P.S.为了加强鼓吹效果,本文没有采取中立态度撰写。其实我自己目前的看法还是"谨慎的乐观")
更新:有人用24块三星的SSD组建了一台计算机,得到了2GBytes/sec的硬盘实测速率;同时打开所有的OFFICE程序只需要半秒钟;将差不多6GB的700多个文件放入回收站,也就是屏幕一闪的功夫;复制DVD Rip文件,所用的时间……还是不用秒来计算了……根据实测,所用的时间,就是DVD的包装盒从二层楼高的地方掉到地上所用的时间……
请见视频:http://www.youtube.com/watch?v=96dWOEa4Djs&feature=player_embedded
再更新:关于Fusion-io的产品的新闻稿
企业级固体硬盘厂商Fusion-io今天宣布推出新品“ioDrive Duo”,不但容量比此前的ioDrive翻了一番,还号称是全球速度最快、最创新的固态存储方案。
ioDrive Duo容量有160GB、320GB、640GB、1.28TB四种,依然基于PCI-E x8或PCI-E 2.0 x4标准接口,原始吞吐量最高可达20GB/s,32KB包大小下持续读取带宽1.5GB/s、持续写入带宽1.4GB/s,4KB包大小下读取IOPS 186000、写入IOPS 167000,平均访问延迟小于50微秒。
不仅如此,多块ioDrive Duo组合在一起的性能提升是线性的,所以四块联合可以带来6GB/s的读取带宽,以及超过50万的IOPS。
可靠性方面,ioDrive Duo支持多位错误检测与纠正和正在申请专利的Flashback保护技术,后者可提供芯片级N+1冗余和自我修复功能,另外还可以在同一块ioDrive Duo固态硬盘内部的两个ioMemory模块之间建立RAID 1镜像。
ioDrive Duo 160/320/640GB将于2009年4月份出货,1.28TB型号则要等到下半年。
ioDrive Duo容量有160GB、320GB、640GB、1.28TB四种,依然基于PCI-E x8或PCI-E 2.0 x4标准接口,原始吞吐量最高可达20GB/s,32KB包大小下持续读取带宽1.5GB/s、持续写入带宽1.4GB/s,4KB包大小下读取IOPS 186000、写入IOPS 167000,平均访问延迟小于50微秒。
不仅如此,多块ioDrive Duo组合在一起的性能提升是线性的,所以四块联合可以带来6GB/s的读取带宽,以及超过50万的IOPS。
可靠性方面,ioDrive Duo支持多位错误检测与纠正和正在申请专利的Flashback保护技术,后者可提供芯片级N+1冗余和自我修复功能,另外还可以在同一块ioDrive Duo固态硬盘内部的两个ioMemory模块之间建立RAID 1镜像。
ioDrive Duo 160/320/640GB将于2009年4月份出货,1.28TB型号则要等到下半年。