PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

关于SSD碎片整理的一些看法,浴室进。

[复制链接]
无心飘落 发表于 2010-1-19 21:06 | 显示全部楼层 |阅读模式
点击数:16739|回复数:17
网络上看到的,浴室来评论下。。



准确的来说,导致SSD性能下降的不是碎片。因为SSD寻道快,碎片对读取的影响可以忽略不计。所以性能下降一般是指写入,这首先是主控的wear leveling的影响。SSD上的删除和HDD一样只是标记原Page位置为可用,而文件本身其实并没有被删除;HDD上覆盖文件是擦除原文件后写在同一个Sector上,但在SSD上是标记原文件Page为可用,然后把新的文件写在其他真正空闲的Page里,也就是没有被擦写过的Page里。那么SSD的空间在长期使用里注定会让所有的Page都被擦写过,就算在系统里能看到的空闲空间,其实都是含有数据只是标记为可用的Page而已。当过了这个临界点以后,所有的写入和覆盖都必须先擦除Page内的数据,然后写入,这里的写入时间就已经几乎翻倍了,因为要加上擦除的时间。

更要命的是,NAND Cell虽然能够Page写入,但擦除却只能Block擦除,而不是Page擦除。一个Block=128个Page,也就是说,在过了前面提到的临界点以后,即使你只需要写入一个Page(4K)的数据,因为已经没有真正空闲的Page可用,SSD只能将选定的整个Block(512K)读入缓存,然后擦除整个Block,更改缓存中那个Block数据里需要更改的那4K数据后,再把整个Block写回去。这里面造成的写入延迟可想而知,这就是造成写入性能下降的根源。如果是没有缓存的JM602,呵呵,不卡死才怪。  

当前解决这个问题的方法有使用“剩余空间”(用户不能格式化管理的隐藏空间)、TRIM、Secure Erase和Intel新固件里的“碎片整理”。

“剩余空间”由主控控制,Diskeeper的HyperFast和PD10都具有Free Space Consolidation的功能,也就是优化整理这部分空间缓冲写入来改善性能的下降。

TRIM是让主控在接到操作系统删除文件命令的时候,把被删除的文件所占用的Page写0,变成真正的空闲Page。虽然这也需要前面提到的读取、擦除、更改再写入整个Block的过程,但这发生在删除的时候,也就是说会适当增加删除的时间,但保证了写入的时候有真正空闲的Page可以让SSD直接写入而无须再进行前面对于Block的一系列操作,从而避免写入性能下降。

Secure Erase就是极端的TRIM,擦除SSD上的全部数据,并在所有的Page里写0,这样一来整个硬盘就跟刚买来的时候一样,所有的Page都是真正可用的空闲空间,性能自然也就完全回春了。

Intel新固件的碎片整理,现在看来有点像SSD内部的TRIM,因为还没找到资料,所以不敢妄下结论。

总的来说,所有这些防止性能下降的方法都需要以增加SSD的擦写作为代价的。同时因为操作系统和软件没法触及SSD的PBA,而SSD提供给操作系统的LBA也只是出于兼容考虑,不具有实在意义,所以传统意义上的碎片整理软件对SSD不仅没有太好的效果,还会增加很多没有必要的擦写。如果真的要使用碎片整理,当前可以考虑使用的只有Diskeeper的HyperFast和PD10的One Pass Free Space Consolidation。Diskeeper的工程师建议开启自动碎片整理,但限制为一周使用几个小时,以平衡性能和擦写次数。同时不建议使用手动整理,因为手动整理不能做Free Space Consolidation。
路人 发表于 2010-1-31 16:04 | 显示全部楼层
消灭0回复,沙发{:2_26:}
smatk768 发表于 2010-1-31 16:41 | 显示全部楼层
消灭1回复.板凳
badaa 发表于 2010-1-31 19:49 | 显示全部楼层
別灌水!
石头 发表于 2010-2-4 01:09 | 显示全部楼层
关注这个。。。想升级呢。。。
LArmstrong 发表于 2010-2-8 13:20 | 显示全部楼层
不想用TRIM是不行了  不知道TRIM何时支持Raid0~~
bill5267 发表于 2010-2-10 23:27 | 显示全部楼层
期待浴室来解答~~~
pkelei 发表于 2010-4-27 00:20 | 显示全部楼层
菜鸟提问:XP下能trim么?
无心飘落  楼主| 发表于 2010-4-27 07:49 | 显示全部楼层
回复 8# pkelei


    不能的
neeyuese 发表于 2010-4-27 09:29 | 显示全部楼层
GC(垃圾空间回收,空闲时后台操作)效果大于Trim,而且GC可以支持RAID,但是GC会降低SSD寿命。
Trim目前不支持RAID,不影响寿命,对操作系统和驱动有要求,而且对于覆盖的文件无效,只支持删除的文件。
空白空间整理类似GC,只是软件级和固件级的区别。
而保留一定空间来减少降速的,目前高速天价SSD里都采用,Intel X25-E为20%,SF主控为28%,这些主控的一致特点就是写入速度高,所以需要预留一部分空间来保持性能,这也是为啥X25-M被Intel限制写入速度的道理,其实X25-M也可以做到X25-E的持续写入速度,但是因为没有预留空间,所以速度会很快降低。
Enlighten 发表于 2010-6-10 01:56 | 显示全部楼层
GC(垃圾空间回收,空闲时后台操作)效果大于Trim,而且GC可以支持RAID,但是GC会降低SSD寿命。
Trim目前不 ...
neeyuese 发表于 2010-4-27 09:29


有什么办法提升X-25M的写入性能吗?
牺牲点寿命不是问题
3年后160G的SSD估计1000块不到吧
说换就换了
无心飘落  楼主| 发表于 2010-6-10 11:46 | 显示全部楼层
有什么办法提升X-25M的写入性能吗?
牺牲点寿命不是问题
3年后160G的SSD估计1000块不到吧
说换就换了 ...
Enlighten 发表于 2010-6-10 01:56



    为啥要提升写入性能。。。
X25-M 160G的写入性能已经不差了丫。。

方法官方有,只要人家放出来。。
Enlighten 发表于 2010-6-10 14:11 | 显示全部楼层
为啥要提升写入性能。。。
X25-M 160G的写入性能已经不差了丫。。

方法官方有,只要人家放出来。。 ...
无心飘落 发表于 2010-6-10 11:46


X-25M到现在已经买了3块了
1块80G G1 当时倒是觉得提升不小,后来送人了
2块160G的G2,测试的分数就比80G G1差
有时候拖个大点的文件进去
就很慢了最低到60多……
无心飘落  楼主| 发表于 2010-6-10 14:45 | 显示全部楼层
X-25M到现在已经买了3块了
1块80G G1 当时倒是觉得提升不小,后来送人了
2块160G的G2,测试的分数就比80G ...
Enlighten 发表于 2010-6-10 14:11



    {:3_62:}

怎么会比G1差。。

换不同的软件测测~~
neeyuese 发表于 2010-6-10 15:28 | 显示全部楼层
如果G2不开Trim,速度上比G1差,最简单就是跑PCMARK看分,因为G2的缓存频率低。

评分

参与人数 1活跃度 +20 收起 理由
无心飘落 + 20 学习了。。

查看全部评分

无心飘落  楼主| 发表于 2010-6-10 15:34 | 显示全部楼层
如果G2不开Trim,速度上比G1差,最简单就是跑PCMARK看分,因为G2的缓存频率低。 ...
neeyuese 发表于 2010-6-10 15:28



    {:3_62:} 多谢浴室答疑~~


学习了。。
DR.tang 发表于 2010-6-10 22:31 | 显示全部楼层
额。。。我的G2现在快成废铁了。。。
DR.tang 发表于 2010-6-10 22:31 | 显示全部楼层
XP跑湿湿的。。。杯具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部