关注固态硬盘的用户会注意到SandForce这家主控方案提供商,在SATA3.0Gbps时代,经常见到其标称的285MB/s和275MB/s的读写速度,到了SATA6.0Gbps方面,这个标称数值再次飙升到了550MB/s和525MB/s。但用户实际应用却并非如此,SandForce性能很有水分吗?
SandForce主控的SSD坑了你的钱?
现在关注固态硬盘的用户稍稍留意就会注意到SandForce这家主控方案提供商,在SATA3.0Gbps时代,我们经常见到其标称的285MB/s和275MB/s的读写速度相当诱人,到了最新的SATA6.0Gbps方面,这个标称数值再次飙升到了550MB/s和525MB/s。貌似是固态硬盘主控中最为强悍的。
稍微了解固态硬盘工作特点的用户都会明白,容量越大的固态硬盘速度越快,尤其是写入速度更是如此。这是因为固态硬盘内部采用类似RAID的多通道传输,通道数量越多性能自然也就越好。但由于固态硬盘写入寿命的原因,主控一般都会在小容量的固态硬盘上限制写入性能,所以大容量固态硬盘性能自然有优势。
其实懂行的人都知道这不过是SandForce独有的实时的数据压缩技术DuraWrite,而且他们标称的也是“最大数值”,但这却能够蒙蔽不少入门级用户,因为目前没有任何一家的主控方案可以标称到这个数值,尤其是写入速度。但不排除很多用户总会用“文件拷贝”来衡量硬盘的性能,结果惊人的发现往新购买的OCZ Vertex 2 60GB拷贝一个文件速度竟然还不到100MB/s,再用一段时间之后甚至就只有60MB/s。
所以这次笔者将以OCZ Vertex 2 60GB为例,首先为大家详解一些SandForce主控方案的特性,然后通过一些测试,看看这285MB/s和275MB/s的读写速度是如何来的。
关于磨损平衡和垃圾回收特性
DuraWrite是SandForce主控方案的技术核心,它包含了均衡磨损算法(Wear leveling)、更进步的垃圾回收功能(Recycling),以及特殊的RAISE技术和内建的ECC侦错算法。
均衡磨损算法应该不用多说了,固态硬盘采用的NAND闪存存在写入次数的现实,而且制程越先进,寿命就越短。这其实是这种非易失性半导体存储器的通病,因为当制程变得越发先进的时候,晶体管栅极氧化层变得更薄,把握电子的能力就越来越弱,间接减低了耐久寿命。
因此一旦某些块遭遇频繁的擦写操作,它挂掉的速度也就越快。均衡磨损算法就是将数据能够把数据平等的写入到每个不同的区块内,以便让每个块得到均衡的磨损强度。
关于垃圾回收功能:
SandForce主控支持闲置垃圾回收,其实SandForce的这个垃圾回收(Recycler)就是Garbage collection,基本功能是把一些冗余数据表单做抹除动作,将那些包含“无效”数据的块里的所有“有效”数据合并起来到新的“空白NAND”块中。
SandForce主控支持闲置垃圾回收,也就是可以在SSD闲置的时候做“预先”垃圾回收,以保证SSD在运行时候拥有较高的性能。并避免消耗大量的主控处理能力和带宽。
独有的DuraWrite技术特性简析
对一个已存有有效数据的块中进行写入要先经过擦除操作,但是写入操作的最小单位是页,而擦除操作的最小单位是块,一般一个块为128~256个页。也就是说,在最坏情况下,原本可能只需要写入4KB的数据,但是却需要先擦除整个块然后再进行写入,最后就变为实际写入512KB甚至1MB的数据。这就是写入放大。
在实际中,较低档次的固态硬盘写入放大率一般在10到20倍左右,英特尔的方案可以达到1.1倍,而SandForce的方案则只有其一半不到,平均只有0.5倍。
SandForce的测试指出,完整安装Windows 7和Office 2007需要写入25GB的数据,但是经过压缩实际写入到闪存的数据只有11GB。当然我们在系统中所看到的仍为25GB。这种压缩算法可能是一种重复数据删除技术,或者说是一种数据约减算法。
也就是说,操作系统传送数据给主控时,主控将数据进行“压缩”然后再写入闪存,而在读取时,由主控进行“解压缩”操作,再传给操作系统。
但是显然这会给SandForce的主控和固件带来额外的负担,他们不仅要管理坏块、垃圾回收、LBA映射已经磨损平衡(Wear Leveling)还要在读写时执行压缩算法。但据称SF-1200/1500确实非常强大,普通用户完全不必在乎这种算法所带来的延迟。
●DuraWrite技术的优点和缺点
这项技术确实可以带来很多优点,特别是性能上。原本需要写入100MB的数据,最后只写入了50MB,速度自然就翻倍了,写入操作同样如此。显然标称的275MB/s的写入速度是在最好情况下的成绩,而读取285MB/s的速度可以认为是受到了主控提供的通道的能力的限制或者SATA3Gbps接口带宽的限制。
同样,经过压缩的数据使闪存的实际磨损程度被减小了,这就变相使得MLC的写入寿命得到延长,甚至接近SLC的写入次数,这种说法并非没有道理。
和延长MLC写入次数产生的连带好处就是,均衡磨损机制有了较大的剩余空间可以发挥,而TRIM功能同样受益。
不过这种压缩算法在面对已经被压缩的数据时就无能为力了,比如图像、视频等多媒体文件或者一些容量很大的压缩文件。所以笔者建议使用SandForce方案的固态硬盘的用户不要存放太多此类文件,除非你的剩余空间确实足够大。
厂商最喜欢的ATTO来蒙蔽你眼球
先来看看ATTO Benchmark的测试数据,一般厂商都爱用这个软件进行SSD的理论性能测试,其测试的数据样本从0.5KB到8192KB(8MB)。其实这个软件默认使用深度队列为4的环境下进行,同时测试数据样本为FFFF或者0000这样的数据,对于这种数据来说是可以被无限压缩的,因此SandForce主控的固态硬盘性能自然占优。
可以说使用这个软件测试基本上能体现出SSD的最佳性能,笔者这款OCZ Vertex 2 60GB已经跑过很多次测试,写入速度已经被限制了。即便如此依然可以达到很出色的性能。
固态硬盘速度衰减的表现一般在于它全盘已经被写满过一次了,进入了settle in的状态,这个时候固态硬盘的均衡负载和垃圾回收机制都开始运作,占用主控带宽和芯片资源,性能自然下降。
在固态硬盘被写满的时候,已经没有空间做均衡负载和垃圾回收,此时固态硬盘的性能会处于最差环境下。同样,对于SandForce主控来说,多次运行测试软件,主控会限制写入速度。比如OCZ Vertex 2 60GB在settle in状态下持续写入速度将从100MB/s下降到60MB/s左右。
这是固态硬盘独有的特性,对于任何主控的方案来说都是如此。因此固态硬盘性能衰减并非技术缺陷,只是固有的特征之一。
可压缩与不可压缩性能天壤之别
CrystalDiskMark这个软件很有意思,它的界面很简单,但测试项目还是很丰富。这款软件由日本人开发的,目前最新版本为3.0.1。这款软件在默认环境下使用1000MB的数据样本进行测试5次取最好成绩。并可以进行持续读写性能测试,512KB的持续读写测试,4KB随机读写性能测试以及队列深度QD=32的环境下的4KB随机读写测试。
这款软件也是大家经常在论坛上见到过的测试,但是对于SandForce主控来说,我们要注意一个问题。
之前说过因为SandForce支持实时的数据压缩,在遇到FFFF或者0000这样的数据时,性能可以发挥到最佳,而如果遇到随机数据难以压缩的情况下,性能就只能下降到最差。
ATTO这款软件只采用FFFF或者0000这样的数据样本,而CrystalDiskMark默认下则采用随机数据样本。因此我们可以在“文件-Test Data”中选择All 0x00或者0xFF,因此我们平时见到的CrystalDiskMark软件的测试成绩要理性对待。
同样,OCZ Vertex 2 60GB在settle in状态下进行随机数据样本的测试,可以看到读取性能在200MB/s左右,而写入速度只有60MB/s出头。
即便是在出厂情况下,写入性能也不过100MB/s左右。
而如果选择All 0x00或者0xFF的数据样本,可以充分发挥压缩机制,性能直接飙升到接近标称数值。
不过大家要考虑到SandForce宣称其写入放大率为0.5x,也就是说平均应用环境中这个状态下的持续写入性能也不过120MB/s,达到260MB/s以上显然水分还是很大。
用AS SSD看压缩比率和性能关系
为了更直观地看到数据压缩产生的性能变化,我们可以使用AS SSD Benchmark这款软件,这是一套由德国人开发的软件,测试方式基本上跟CDM默认相同,最大的不同是增加了Access Time(随机存取时间)的测试。
这款软件默认使用也只能使用随机数据样本进行测试,因此这款软件可以说是SandForce主控杀手。所有的SandForce主控在这款软件下只能暴露出本性,不过好在SandForce还拥有相当出色的随机存取性能,因此最终的总得分依然不低。
在最新的1.6版之后,AS-SSD增加了一项Compression-benchmark测试项目,这个项目将根据不同的数据压缩率来测试实际的传输速度。
可以看到,OCZ Vertex 2 60GB从压缩率为0%的环境下的60MB/s写入速度增加到100%压缩率下的250MB/s左右,读取性能也一同增加。
对于一般的主控而言就并非一条递增的波折线,而是一条直线。目前来看,消费级市场当中只有SandForce主控拥有这种实时的数据压缩技术。
实际文件拷贝速度只有60MB/s
最终还是实验一下实际的文件拷贝效能吧。还是使用最常用的测试方式:8.7GB连续文件和2.9GB的零碎文件夹。从一块读取性能在200MB/s以上的固态硬盘拷贝其中,基本上不会产生瓶颈。
最终的拷贝测试并不理想,这和用户自己使用的情况是一样的。这再次验证了SandForce主控的特征:像是8.7GB的视频文件是根本无法被压缩的,此时SandForce主控的方案表现出的就是最差性能。
总结:SandForce这种实时的数据压缩功能特别适合系统应用,对于DLL文件、数据库等类似的需要高吞吐量的操作都是可以获得极佳的性能发挥,而不适合作为数据拷贝使用。也就是说,固态硬盘相对机械硬盘的根本优势其实真的不在于文件拷贝,不仅仅是SandForce,购买其他主控的产品也同样如此,所以我们在购买时千万别被表象所迷惑。
网友评论