本帖最后由 yszq 于 2011-6-18 23:19 编辑
3. TRIM 开启后可以减少写入放大,好。
一个ATA指令,由操作系统发送给SSD主控,告诉主控哪些数据是无效的并且可以不用做垃圾回收操作。
===============
浴室辛苦了。学习中,如果我没有理解错,“告诉主控哪些数据是无效的并且可以不用做垃圾回收操作。”是不是有些不妥,因为擦除无效数据的旧块也是GC的工作。。
===============
第二点,SSD的NAND里的数据,在OS下删除的话只是被标记(和机械硬盘一样),并没真正意义上的删除,物理上还是存在的(就算是被Trim了,也只是被标记为无效,区别只是主控制器也知道那些LBA地址下的数据无效而已),问题就出在这里,机械硬盘可以直接覆写,而SSD必须擦除才能改写,这个就造成了完全不同的局面,可以想象一下,机械硬盘GHOST回去的话只要在原来地址上覆盖上去就行,而SSD哪?肯定不会直接覆盖上去,那会违背“磨损平衡法则”,所以他实际会写到后部去(真正物理上的空闲NAND地址),然后重定向下OS逻辑LBA地址和NAND的物理地址(在OS看到的前部的数据定向到 NAND后部地址),这样就会造成啥情况?你等于在这个SSD里做了2次系统,假设一个80G的X25-M,先前的系统为30G,我们做个GHOST,把 SSD格式化,再GHOST回去,再次写入了30G,等于NAND里的数据占了60G。性能自然会下降。如何做才能避免这个情况发生?先做HDD ERASE,清空所有的NAND数据(物理层上),然后再还原回去。这样还原的数据又整齐,性能自然更好。所以我建议希望做备份的朋友,用Win7自带的 backup功能做个镜像(Win7支持增量备份),想还原系统的时候,先HDD ERASE后再用Win7安装盘启动,还原回去,这样性能会好很多。
======
安装盘里格式化命令时不知有没有TRIM,GC这时会不会把无效块擦掉。如果没有,安装完成以后如果驱动支持TRIM,这时GC会不会把大量的无效数据的旧块擦掉?同理,如果不做HDD ERASE,在主盘支持WIN7的TRIM驱动下把C300做从盘并格式化,由于GC的作用,会不会和HDD ERASE的效果一样?请教浴室版主。。
学习了浴室的文章,获益良多。只是有些疑惑。。 |