本帖最后由 neeyuese 于 2010-9-19 10:38 编辑
显然当时我误认为GC是类似磁盘整理的过程,但不能否认,在我说的那种情况下,那种处理方式更好。两个512K的 ...
SSD考察团 发表于 18/9/2010 21:47
GC是会增加写入放大的,而Trim只是把磨损延迟了,但是不会增加写入放大。
GC是“动作”,类似整理。而Trim只是"指令",Trim指令被主控接受并知道OS的LBA里哪些是有效,哪些无效数据后,Trim就算完成了,主控会根据当初算法的设置来进行“整理,清除或者别的行为”。所以你这里说的Trim会擦除全部块是不科学的,因为Trim并没有对NAND进行操作,Trim只是告诉主控这里的数据已经失效了。应该说Trim是GC的前提,而GC分为多种,有了Trim后,GC的效率提高了(GC可以对无效数据和未使用空间进行操作),如果没有Trim,GC处理的范围就只有空闲空间那一块了。(主控不知道前面有数据已经被标记为无效了)
GC是一个笼统的概念,包含了很多整理的算法,每个厂家都会有自己的方案,所以一概统称为GC也是不科学的,比如GC会把零碎的数据移动到空的NAND里变成持续的提速(增加写入放大),如果主控知道某个块数据为无效(事先被Trim),那么就会直接擦除整个块直接放到备用空闲区(这个操作也叫GC)。所以目前支持GC的主控大多也支持Trim,2个技术分工能起到事半功倍的效果,可惜RAID 不支持Trim,那么对 GC的效率就会大大影响了。 |