知识卡片

Trim靠标记免搬移

普通读书笔记卡 · 1144.h

内容

没有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。