TRIM Command
无效数据删除指令
当删除文件时,操作系统并不是把欲删除的数据直接从硬盘中抹除,而是先将数据标记为「无效」数据,日后才执行覆写或抹除。如果是传统硬盘(HDD),此无效数据日后可以被新数据直接覆写掉;然而以区块(Block)为抹除单位的固态硬盘(SSD),则必须先把区块内的有效数据复制、合并到另一个空闲的区块中,这样无效数据才能够以区块为单位进行抹除,抹除后就形成了一个空白区块(Free Block),这称为SSD的垃圾数据回收机制(GC)。
TRIM是操作系统的指令,它让操作系统可以通知硬盘,哪些数据已经不再使用可以抹除,进而主动将无效资料清理掉。因此支持TRIM指令的SSD可以优化GC,加快区块空间释放的速度;随时清空无效数据,而不是等到写入新数据时才又执行抺除动作增加SSD SoC控制器负担。
SSSTC SATA SSD皆支持TRIM指令,使用TRIM益处良多,但因为有些操作系统不支持该指令,所以即使SSD有支持TRIM指令,在设计垃圾数据回收机制(GC)时也要假设是应用在没有TRIM指令的环境,以避免用户的系统没有支持。