trim的作用就是~~~当一份数据被删除后,就立即把这份数据的寻址索引删除掉,然后主控会在硬盘比较空闲的时候再去把相关的闪存区域抹除。
究其原因,SSD的闪存不能像机械硬盘那样直接覆写。要想写入新内容,就必须先把旧内容擦除。如果像你说的,等到硬盘数据满了才擦除,那么到那时,写入新数据的时候就是先擦再写,这会严重降低硬盘的写入性能,引起用户不满。所以现在的固态硬盘,在删除文件的时候,主控都会尽快的清空相关的闪存以备下一次的写入。
至于会不会影响寿命,这个其实你不必担心。因为被擦除过的闪存区域一般是不会立即写入新数据的。每一簇闪存区域擦写过多少次主控都知道,写入新数据的时候,主控会优先往那些已擦写次数少的闪存区域写入,而刚刚被擦除过的区域会放在队列优先级末尾。也就是说,在这种原理之下,不论是硬盘写满了再擦除还是删除文件的时候立即擦除,在一个长期时间线上来看,对闪存进行的擦写次数都是一样的——一块长期使用的固态硬盘,其擦写总量早晚会超过硬盘总容量的,早擦还是晚擦反正都要擦,还不如尽早擦了以免影响写入时的性能。至于那些误删除了珍贵数据的用户——毕竟是极少数人,硬盘生产商才懒得管他们哩~~~