在第二列中,用户删除文件 C,但 SSD 不知道该文件已被删除,因为 TRIM 命令未在使用中。如果它此时执行 GC,它将移动文件 C 中的无效数据,因为它不知道它是无效的。在第三列中,用户写入新文件 E,操作系统告诉 SSD 使用与旧文件 C 相同的空间,SSD 将新文件写入可用空间,同时将文件 C 中的旧空间标记为可用于 GC。
图 2 :使用 TRIM 命令进行垃圾回收。
图 2 显示了与 TRIM 命令的差异。在这种情况下,当用户写入四个原始文件时,该过程是相同的。但是,当用户擦除第二列中的文件 C 时,旧的文件 C 空间会立即标记为无效,以便为 GC 做准备,因为操作系统使用 TRIM 命令。最初保存文件C的空间现在是SSD的可用空间,并且可以作为动态配置使用,这意味着SSD在GC期间有更多的可用空间,这有助于提高SSD的整体性能。
在第三列中,当用户最终写入文件 E 时,SSD 上的总可用空间现在与没有 TRIM 的驱动器相同。不同之处在于,支持TRIM的SSD知道哪些数据无效,并且可以在GC期间将其视为可用空间,并防止必须将无效数据移动到另一个块。
这产生了三个主要好处:
较低的写入放大。在GC期间,重写的数据更少,可用的可用空间更多(更多的写入空间等于更少的写入);
更高的吞吐量。使用 TRIM 命令,在 GC 期间要移动的数据更少,驱动器运行得更快。闪存的吞吐量是瓶颈,SSD 的速度与写入闪存的速度一样快。在执行GC期间,驱动器必须在移动数据时停止从主机传输某些数据。这就是为什么SSD知道哪些数据是无效的,这样它就不必在GC期间移动。
提高了耐用性,因为驱动器通过不重写无效数据来减少对闪存的写入。
如何检查 Windows 是否启动了 TRIM?
windows10默认已经开启了trim。
按下 Windows + X 键,单击“搜索”并在搜索框中输入 cmd。或者点击开始菜单,输入cmd。
右击“命令提示符”并选择“以管理员身份运行”。