【IT168评测中心】由于,由于取消了机械部件而完全由电子部件组成,固态硬盘(Solid State Disk,SSD)具有很快的随机响应速度,并且不怕机械振动,功耗和发热都很小。当然大家也都明白这么好的产品的缺点就是价格太贵。
Fusion-IO ioDrive 80GB SSD是SSD中的佼佼者,性能和价格都高高在上
然而,随着厂商们的逐渐加入,价格问题也在逐渐好转。前段时间,一些厂商推出了不足千元的SSD产品(Fusion-IO的产品价格在万元以上),某些甚至爆出了399的低价,一下子在玩家中火起来。
OCZ CORE V2 SSD
还有不少类似的产品——相信购入了这些低价SSD的玩家不在少数,不过这些SSD产品的性能如何呢?为何这些SSD和Fusion-IO的产品甚至Intel的X25-M能相差如此之高呢?
在分析之前,我们先来看看测试的对象:
OCZ CORE V2 32GB | |
容量 | 32GB |
规格 | 2.5英寸 |
传输端口 | SATA 3Gbps,miniUSB |
外壳材质 | 铝合金 |
尺寸 | 100.2x70x9.5mm |
重量 | 77g |
NAND Flash | MLC |
最大读取速度 | 170MB/s |
98MB/s | |
1500G | |
大于1500000小时 | |
399(2年保修) |
这款SSD使用了铝合金外壳,有助于内部热量传导。在传输端口部分,这款产品使用了SATA 3Gbps接口,理论最大传输速率300MB/s。此外这款产品还搭载了miniUSB端口,用户可以直接作为移动硬盘使用。
OCZ V2的产品尺寸与标准的2.5英寸机械磁盘(又叫温彻特硬盘)完全一致,因此笔记本用户可以非常方便地使用/更换至OCZ V2 SSD。
毫无疑问,固态硬盘性能的秘密就藏在了这些图片之中,不过到底是因为如何呢?别急,我们先来看看测试数据。
测试平台、测试环境 | |||||
测试平台 | |||||
类别 | 自用台式机 | ||||
处理器子系统 | |||||
处理器 | Intel Core 2 Extreme QX9650 | ||||
处理器架构 | Intel 45nm Penryn | ||||
处理器代号 | Yorkfield | ||||
处理器封装 | Socket 775 LGA | ||||
处理器规格 | 四核 | ||||
处理器指令集 | MMX,SSE,SSE2,SSE3,SSSE3, SSE4.1,EM64T,VT | ||||
主频 | 3.00GHz | ||||
处理器外部总线 | 1xFSB 333MHz 1.333GT/s 10.66GB/s | ||||
L1 D-Cache | 4x 32KB 8路集合关联 | ||||
L1 I-Cache | 4x 32KB 8路集合关联 | ||||
L2 Cache | 2x 6MB 24路集合关联 | ||||
L3 Cache | - | ||||
主板 | |||||
主板型号 | ASUS P5Q-E | ||||
芯片组 | MCH:Intel P45 ICH:Intel 82801JR(ICH10R) | ||||
芯片特性 | 1xFSB VT-d Gen 1 | ||||
内存控制器 | 双通道DDR2 1333 | ||||
内存 | 2GB DDR2 800 SDRAM x4 | ||||
系统磁盘子系统 | |||||
磁盘控制器 | LSI MegaRAID SAS 8708ELP RAID Controller | ||||
磁盘控制器规格 | PCIE x4 @ x4 @ P45 128MB RAM 8xSAS 3Gbps RAID 0/1/3/5/6 | ||||
磁盘控制器设置 | RAID 5 | ||||
磁盘控制器驱动 | LSI MegaRAID R3.6 MegaRAID Windows Vista x64 3.9.0.64 | ||||
磁盘 | Seagate Cheetah 15K.6 ST3146856SS x3 | ||||
磁盘规格 | 15000RPM 146GB SAS 3Gbps 16MB Cache | ||||
磁盘设置 | SAS 3Gbps 50GB系统分区 | ||||
测试磁盘子系统 | |||||
磁盘控制器 | Intel ICH10R | ||||
磁盘控制器规格 | 6xSAS 3Gbps RAID 0/1/5 | ||||
磁盘控制器设置 | AHCI @ Single SSD RAID 0 @ Dual SSD | ||||
磁盘控制器驱动 | Intel Matrix Storage Manager 8.6.0.1008 | ||||
磁盘 | OCZ V2 SSD 32GB SSD x2 | ||||
磁盘规格 | -RPM 32GB/64GB - | ||||
磁盘设置 | 单个NTFS分区 | ||||
软件环境 | |||||
操作系统 | Microsoft Windows Vista SP1 x64 |
在通常的HD Tach RW测试当中,OCZ SSD表现良好,各个参数都很正常,只是在RAID 0测试当中表现有些特别:写入曲线非常……崎岖。蓝色的Intel Raid 0 Volume 1.0数据指的就是OCZ SSD RAID 0磁盘。
实际上,采用如HDTune等这些测试软件,测试得出来的结果都大同小异。这些结果是否就代表了SSD的真实性能了呢?未必。笔者比较钟爱的Iometer可以告诉你真相:
OCZ CORE V2 SSD:Iometer读取IOps(512Bytes)
OCZ CORE V2 SSD:Iometer写入IOps(512Bytes)
可以很清晰地看见,OCZ 32GB SSD的随机写入性能非常之糟糕,实际上,在64KB块的时候,连续写入速度也不怎么样(随机性能能更是几乎直接与X轴重合)。对于喜欢寻根问底的同学,这里可以给出曲线上的详细的数字:随机512Bytes写入是4.5 IOps一直降低到1.9 IOps,随机64KBytes写入是5.3 IOps一直降低到2.7 IOps(图上给出的是吞吐量,不是IOps;吞吐量是0.3MBps下降到0.17MBps)。
随机读取IOps则和连续读取IOps相差无几(不过,可以看出,块越大,随机性能越低)。
OCZ CORE V2 SSD:Iometer File Server文件服务器IOps
OCZ CORE V2 SSD:Iometer Web Server网站服务器IOps
OCZ CORE V2 SSD:Iometer Database Server数据库服务器IOps
OCZ CORE V2 SSD:Iometer Workstation工作站IOps
在应用测试当中,大部分的操作都是随机操作,因此OCZ SSD的Iometer表现都不高——甚至可以用糟糕来形容。只有一项是例外:Web Server网站服务器,这个测试虽然是随机操作,但100%都是读取。Filer Server则是具有20%的写入,而Database Server和Workstation测试都是具有可变的、混合的块大小。
在这些测试当中,只有二三十的IOps明显还不及普通机械硬盘(一般可以达到一百左右),因此实际上表现是性能缓慢。在桌面使用当中,虽然随机操作的频率没有这么多,不过道理还是一直的:OCZ SSD表现不佳,具体的表现就是很容易一顿一顿的。
首先我们要看到这样一个问题:操作区块大小,在Iometer测试当中,我们可以看到,较大的区块的随机写入性能要比较小区块的写入性能要好(读取其实也是这样,不过可能不容易看出来:总吞吐量变大了,不过IOps受限于带宽有所降低)。在Vista之前,Windows文件系统的存储块大小被限制在64KB(这也是为什么经常看我们磁盘测试文章的人会发现Iometer有一个64KB块测试项目的原因),Vista开始,文件系统的存储块大小限制被取消,因此SSD的应用性能会好一些。不过显然还不足够,因为Vista也没有限制小区块的应用——你现在不能寄望操作系统会智能地限制只用性能更好的大区块。Windows 7或许会解决这个问题。
其次,通常的温彻特硬盘驱动器读取和写入所花费的时间是大致相同的(依靠控制芯片的策略,会有一些差别),而通常的低价位固态硬盘则不是,这些SSD写入花费的时间通常是读取的20~100倍。在大多数情况下,读取操作总是要多于写入操作的,因此,如HD Tach和HD Tune这样的测试就只能看到这些固态硬盘“光鲜”的一面,无法看到其弱点(我们的HD Tach RW得到的崎岖的写入曲线可以看出一点点)。
因此,总的来说,SSD的问题就在于缓慢的写入速度——写入在使用中总是不可避免的,要想提高写入性能只有一种方法:使用Cache(缓存)。
Fusion-IO ioDrive 80GB SSD:控制芯片自带内存,正反面各一块
缓存在传统硬盘上应用以久(当然传统硬盘没有读取和写入速度相差过大的问题),在企业级别的固态硬盘上,都具有缓冲区(Fusion-IO和Intel的X25-M上就有),一方面,缓冲区可以将连续的写操作集合起来变成一个大的操作,其次,不连续的随机写操作经过一段时间的聚合,也有可能会变成没那么“随机”的吸入操作,从而提升总的表现能力(对于机械硬盘来说,读操作也是比较重要的,对于SSD来说则没那么重要),这对于SSD是非常重要的。当然,缓冲区相应地就需要控制芯片,显然这些都会提升SSD的生产成本。PC上的低价SSD就没有这种缓冲区,因此,它们的实际使用体验就没那么好。
OCZ CORE V2 SSD:1个主控芯片和16个NAND芯片,没有Cache的踪影
对于这些没有缓存的低价SSD而言,还有一个解决方法:在系统端或者在控制卡端增加缓存,具体上就是使用一些缓存技术,以及使用带缓存的阵列卡。然而,第一个方法通常受到操作系统的限制,通常需要在驱动程序实现,对于后者……
OCZ CORE V2 SSD:Non RAID VS RAID 0,疯狂的曲线
经过测试,Intel南桥自带的软件阵列功能具有一定的Cache功能(图上超过2GB/s的突发传输速率就是这么得来的),不过实际应用也比较让人失望,同时,你也无法得知它使用了多大的容量,至少从现在看来,是不会太大的。
因此,最后的可行方法就是使用带有Cache的阵列卡,例如笔者自用的LSI MegaRAID SAS 8708ELP阵列卡就带有128MB的缓存,在搭配OCZ SSD使用的时候表现不错(也只限于不错,和笔者自用的15K.6 RAID 5相比还有差距),有钱的读者可以考虑考虑。
【IT168评测中心】经过测试表明,缓存对写入缓慢的固态硬盘而言是非常必须的,低价SSD通常没有缓存机制,因此实际使用体验不佳。常见的使用SD卡或类似的卡组成的“固态硬盘”也一样。
对于拥有一块带缓存的阵列卡的用户来说,这个不是问题——问题是,笔者的LSI MegaRAID SAS 8708ELP售价在¥3000左右(入门级别的会便宜一些,二手的更便宜),而且,买得起这些阵列卡的人是否还会用低价SSD还是一个问题。对于想用南桥软阵列来代替硬件阵列卡的用户来说,测试结果是没有什么用处,至少现在而言,没有太好的解决方案(或许厂商们可以推出新的阵列驱动,里面大规模使用系统内存作为Cache)。