本帖最后由 neeyuese 于 2010-11-25 08:00 编辑
本故事纯属瞎编,如有雷同纯属胡闹:
石头和小李在10月1日各自买了块Intel X25-M gen2 80G SSD,来到浴室家里,浴室挂到机器上分别测试了2块盘,速度非常不错。
如图:(空盘)
2个人高高兴兴的回家了,石头回家后正确安装Win7并开始使用,小李回家后把SSD挂从盘放视频文件(小李子蛋疼啊:lol)。1个月后,两个人分别测试了各自的SSD。
结果成绩如下:
石头的成绩。
小李子的成绩。
由于石头安装的操作系统为win7,加上一些软件占用的空间为16G附近,所以在HDtune线上看到前部25%里的速度是不稳定的,因为这段区域包含了大量的小随机数据(系统文件,软件大多为小的零碎文件),期间删除过4G的大数据(估计是禁用了虚拟内存,关闭休眠?),所以在10%~15%这个范围的文件被toolbox或者trim给标记为无效文件并GC了。
而小李子是视频党,它的SSD里放的都是大个的视频文件,而且整个盘基本都填满了,所以跑出了这样一个HDtune成绩。我们看到上面的速度平均在159MB/s,那个就是包含视频文件的位置。(机器配置不同,驱动不同数据会有误差,这里主要看的是曲线)
和很多SSD一样,Intel SSD对无效数据/地址的处理是直接映射到缓存的,所以测出来的HDtune速度实际是主机和缓存间的速度,因为缓存速度是大于外部接口速度的,也就变成了测外部接口速度了,所以空盘X25-M速度其实是你的SATA接口速度,芯片组,设置,驱动,测试的大小等参数不同,会有不同的接口速度,严格上来讲那根直线是没意义的。
原理:NAND闪存必须擦除才能写入,如果之前写入的是零散数据,意味着在擦除前需要移动的有效文件很零散,比如1个块为512KB,每个页为4KB,128个页为1个块,如果这个块里的有效数据为零散的100个4KB,那么在做擦除前就要先复制这100个有效的4KB到新块,如果这个块里是整个无效的文件,那么就只要擦除就行了,又或者是1个400KB的文件,只需要查1次表直接复制这个400K文件到新块并擦除。3种情况下的垃圾回收效率是不同的,而垃圾回收是非常消耗主控带宽的,垃圾回收用的资源越多,意味着留给实际请求的资源越少,就会造成性能下降。简单点说就是之前写入SSD的数据越随机越零碎,造成的碎片越多,之后在访问这片区域时候自然速度越慢(HDTUNE),而在这片区域进行读/写操作的话肯定会受到影响。
SSD主控不同,算法不同会有很大的区别,有些方法适合这个但是不一定适合另一种SSD。例如对于一直随机写入造成性能下降的Intel X25-M gen1的SSD来说,只要全盘持续的写入一个大文件(用IOMETER填充2次整盘容量),然后删除就能带来性能的恢复(道理很简单:用连续文件填充整盘容量到满盘,继续填充让第二次的持续填充覆盖掉第一次的持续填充让块里的文件全部变成无效,这样之后的垃圾回收操作就只需要擦除而不需要移动了),这个方法适用于大部分SSD,但是对 Sandforce或者镁光的C300看来就无效了。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|