知识卡片
Trim靠标记免搬移
内容
没有Trim之前,SSD不知逻辑页对应数据已失效,[[垃圾回收三步]]仍当有效数据反复搬移,推高[[写放大是隐税]]。Trim是ATA新增的Data Set Management命令(SCSI叫UNMAP,NVMe叫Deallocate),删文件时系统下发,标记逻辑页失效,GC遇到即可丢弃不搬。发散:Trim不触发GC,只是提前打标签,收益要等下次GC才兑现。
参考来源
- 位置:《深入浅出SSD:固态存储核心技术、原理与实战》第4章《SSD核心技术:FTL》(源文件:_epub-src/OEBPS/text00081.html,4.4 Trim)
- 结论依据:原文说明没有Trim时SSD不知道逻辑页对应数据已失效,GC仍当有效数据搬移;Trim作为ATA新增命令由操作系统在删除文件时下发以标记逻辑页无效,SCSI/NVMe中对应命令分别是UNMAP/Deallocate。
- 原始内容:在没有Trim之前,SSD无法知道那些被删除的数据页是否无效……在做垃圾回收的时候,仍把它当作有效数据进行数据的搬移……Trim是一个新增的ATA命令(Data Set Management),专为SSD而生……SCSI里面的同等命令叫UNMAP,NVMe里面叫Deallocate。