当前位置:首页 > 装机升级 > 内存硬盘 > 技巧
SSD数据分配有讲究 固态硬盘数据分配与性能研究
  • 2012-9-21 16:19:54
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:王诚
  • 作者:
【电脑报在线】  最近固态硬盘(SSD)的价格一路走低,256GB的固态硬盘甚至降到千元以下,128GB的产品也早早跌破700元大关,惹得很多玩家出手购买。不过,由于物理结构和工作原理上与机械硬盘不同,固态硬盘用起来也有很多特别的讲究。之前我们也讲过很多固态硬盘优化的技巧,而本期DIY研究所的内容,是固态硬盘上的数据要如何分配(分区大小、数据存储大小)才能达到更好性能的话题。

测试平台

处理器:Core i7 3770K

内存:宇瞻DDR3 1600 4GB×2

显卡:蓝宝石Radeon HD7750

主板:映泰TZ77XE3

系统盘:希捷酷鱼7200.12 1TB

固态硬盘:SF-2281 240GB SATA 6Gbps

电源:航嘉X7 900W

操作系统:Windows7 64bit旗舰版

测试软件:AS SSD Benchmark 1.6

  最近固态硬盘(SSD)的价格一路走低,256GB的固态硬盘甚至降到千元以下,128GB的产品也早早跌破700元大关,惹得很多玩家出手购买。不过,由于物理结构和工作原理上与机械硬盘不同,固态硬盘用起来也有很多特别的讲究。之前我们也讲过很多固态硬盘优化的技巧,而本期DIY研究所的内容,是固态硬盘上的数据要如何分配(分区大小、数据存储大小)才能达到更好性能的话题。

基础知识补充

  ●为什么固态硬盘会越用越慢?

  原因:有别于机械硬盘的特殊写入方式

  这要从它有别于机械硬盘的写入方式说起。对于机械硬盘来说,在已经写入数据的区域更新数据只需要把新数据覆盖上去就行,而固态硬盘则需要先把原存储单元里的数据擦除,才能往里写新数据。原因就在此,新买的固态硬盘第一次往里写数据的时候,所有单元都是空的,自然不用擦除,而使用一段时间之后,被用过的单元越来越多,数据碎片也越来越多,刷新数据的时候需要更多的擦除操作,写速度自然就慢下来了。

  ●垃圾回收技术(Garbage Collection,简称GC

  作用:让固态硬盘性能衰减速度变慢

  从固态硬盘的工作原理来看,如果不进行适当的碎片整理,长时间使用后性能会大幅度下降,但其实目前主流的固态硬盘产品都带有这样的“碎片整理”功能来减小这个影响,而且是由主控芯片自动完成的,不需要操作系统干预。这样的“碎片整理”功能我们把它叫做GC(垃圾回收)。详细讲解GC的工作原理需要很大的篇幅,这里我们简单地把它总结为把尽量把零碎的数据转移到一起,空出更多的干净Block(固态硬盘的存储单元)来减少写入数据时的擦除操作。GC分为被动式(只在写入前工作)和闲置式(主控芯片闲置时自动工作),转移的目标存储单元可以是固态硬盘上任何一个空闲的Block,包括未分区区域。

  ●TRIM功能

  作用:提升GC效率,减少固态硬盘损耗

  TRIM是和GC功能搭配使用的技术(主流固态硬盘和Windows7以上操作系统支持),目的就是在GC操作之前,告诉主控芯片哪些是无效数据,不用去对它进行GC操作,从而提高了GC效率和减少了对闪存颗粒的擦除操作,对延长固态硬盘的寿命也有好处。

不同分区方案的性能对比          

  一般来说,256GB容量以下的固态硬盘,要么就分一个区(这种情况笔记本用户居多,毕竟固态硬盘和机械硬盘容量还是差很多,Windows7以上操作系统和各种必须装C盘的程序又特别占地方……),要么就分两个区。两个区以上的情况就少了,除非你够发烧,买的512GB1TB的固态硬盘。

  那么,分一个区和分两个区、数据要怎么分配等等有什么讲究就是我们研究的内容。我们选择了一块使用SF-2281主控芯片的240GB固态硬盘作为实验品,分别针对单个分区的大小、两个分区的比例以及大小等情况进行测试。

单分区方案

  此分区方案包括两种,一种是240GB容量全部分为一个区(实际容量大约为238GB),一种是分一个120GB的区,剩下的部分不分区(留作固态硬盘自动GC用)。在这两种情况下,我们分别测试空盘和几乎装满数据下的性能来进行对比。

单分区方案性能对比

120GB分区

(空)

120GB分区

115GB占用)

240GB分区

(空)

240GB分区

237GB占用)

AS SSD

 Benchmark 1.6

顺序 读/

315MB/s246MB/s

305MB/s257MB/s

301MB/s300MB/s

307MB/s

最低141MB/s

(写速度不稳定)

4KB /

18MB/s53MB/s

18MB/s50MB/s

15MB/s52MB/s

16MB/s50MB/s

  首先要说明的是,几MB的差距我们都视作正常的性能起伏,但在237GB容量占用下的时候,可以看到持续写速度最低的时候比正常写入速度的一半还要低。值得一提的是,我们在空盘模式下反复进行测试,数据都没有太大变化,而在数据占用达到237GB模式下测试时,性能起伏很大,最低持续写速度如表中的141MB/s,而偶尔又能跳变到250MB/s左右,这应该是频繁的GC操作造成的,OP空间(用作GC和磨损平衡的预留空间)不足也不无关系。

双分区方案

  此方案最关键的地方就是两个分区的比例,为了更大地突出差异,我们选择了200GB+40GB51)以及120GB+120GB11)两种方案进行对比(都写满90%以上的数据)。

双分区方案性能对比(满数据)

200GB+40GB

200GB分区)

200GB+40GB

40GB分区)

120GB+120GB

(靠前的120GB

120GB+120GB

(靠后的120GB

AS SSD

 Benchmark 1.6

顺序 读/

308MB/s

最低180MB/s

(写速度不稳定)

320MB/s

最低155MB/s

(写速度不稳定)

310MB/s

最低181MB/s

(写速度不稳定)

306MB/s

最低138MB/s

(写速度不稳定)

4KB /

18MB/s52MB/s

16MB/s50MB/s

15MB/s50MB/s

16MB/s54MB/s

    原本我们还指望两种分区模式性能有很大差异,但实际测试结果表明,只要是写满数据,多测几遍持续写速度都会有很大起伏,使得持续写速度的测试成绩没有比较意义了。好在无论是写满数据还是空盘,读速度的起伏都不算大。如此现象也只能归结于GC操作和OP空间不足的原因了。值得一提的是,如果这些分区都有足够空闲空间,持续写速度就会变得很稳定。

疯狂博士

  通过本次研究,我们可以得出几个给固态硬盘分配数据的结论。

  第一点:想要固态硬盘性能衰减慢点,就不要把它装满。

  这一点很好理解,为了让TRIMGCWL(磨损平衡)工作得更好,你需要给固态硬盘留些空闲空间。我和固态硬盘厂商的技术工程师交流过,据他们所说,这个空闲比例留为40%左右最好(有点奢侈啊!)。

  第二点:空闲空间可以是已分区和未分区区域

  不管空闲空间是否被分区,它都可以被GCWL(磨损平衡)所使用(120GB分区+120GB未分区的测试结果证明了这一点),如果你把240GB都分了区,那请保证有一部分空间不存数据。不过对于只有一个固态硬盘的笔记本用户来说,如果经常要使用必须开启虚拟内存功能才能使用的程序,那还是留一部分空间不分区好了,免得虚拟内存文件占用到那部分空闲空间。

  第三点:如果你不是经常往固态硬盘里拷数据,可以不用在意这点性能衰减

  固态硬盘性能衰减和磨损都是由于写操作而产生的,从测试数据也可以看到,GC操作、OP空间大小最终影响的都是写速度,而如果你多数时候只是运行固态硬盘上的应用程序和游戏,那完全可以忽视这点影响(因为那只是读操作)。不过,如果你的固态硬盘是系统盘,那就不能忽视了,Windows系统和杀毒软件不停打补丁、升级,这些都会不断地进行写操作而生成磁盘碎片,如果是这样,那还是留些空闲空间吧。

延伸阅读

固态硬盘出厂态和稳定态的性能差异

  前面也提到,固态硬盘第一次使用时性能最好(出厂态),然后会越用越慢,进入一个性能比较稳定的状态(稳定态)。这里我们就来看看,同样是空盘,出厂态和稳定态到底有多大差别。

240GB分区

(新)

240GB分区

(写满数据并格式化后)

AS SSD

 Benchmark 1.6

顺序 读/

313MB/s309MB/s

307MB/s245MB/s

4KB /

19MB/s57MB/s

18MB/s53MB/s

  可以看到,稳定态下写速度的下降是很明显的,其实这才是一块固态硬盘在正常使用环境中的比较真实的性能体现。

本文出自2012-09-24出版的《电脑报》第38期 E.硬件发烧友
(网站编辑:汪伟)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交