https://www.kingston.com.cn/cn/blog/pc-performance/ssd-garbage-collection-trim-explained
与机械硬盘 (HDD) 不同,固态硬盘和其他 NAND 闪存无法覆盖现有数据。它们必须完成写入/擦除 (Program/Erase) 循环。闪存被分为块,块又被进一步分为页;数据在页级别被写入,在块级别被擦除。
固态硬盘垃圾回收的过程:在数据可被擦除之前,原始块中的所有有效数据(页)必须首先被复制并写入到一个新块的空页中。要写入已被使用的数据块,固态硬盘控制器会先复制所有有效数据(仍在使用中的数据)并将其写入其他块的空白页,擦除当前块中的所有数据单元(有效数据和无效数据),然后开始将新数据写入刚刚擦除过的块。
垃圾回收流程自动执行,通常在系统空闲时执行,这是硬盘工作的重要组成部分。固态硬盘采用先进的控制器管理 NAND 闪存。当在操作系统(例如 Windows)中删除文件时,操作系统只是在其内部文件表中做标记表示该文件已删除。在机械硬盘 (HDD) 上,当前无效的数据仍然保留在硬盘上,系统可以直接覆盖这些数据以便存储新数据。较新的操作系统还支持 TRIM 指令,即操作系统通知固态硬
较新的操作系统还支持 TRIM 指令,即操作系统通知固态硬盘特定文件已删除,这样固态硬盘能够更好地管理 GC 过程以便恢复之前的空间,并防止保存和移动所有无效数据。
TRIM 是 ATA (Advanced Technology Attachment) 接口的一个指令。当操作系统需要告诉固态硬盘它将删除文件且这些文件页需要可用于新信息时,TRIM 会提供此功能。搭配垃圾回收,TRIM 会清理并组织固态硬盘,使其更高效并延长其寿命。
垃圾回收和 TRIM 是确保固态硬盘保持最高性能的重要流程。Kingston SSD Manager (KSM)应用监控金士顿的固态硬盘的总体运行情况。
如何检查 Windows 是否启动了TRIM
cmd 命令按下 Windows + X 键,单击“搜索”并在搜索框中输入 cmd。
右击“命令提示符”并选择“以管理员身份运行”。
输入以下命令:fsutil behavior query DisableDeleteNotify,然后点按 Enter 键。
如果结果是 DisableDeleteNotify = 1,那么固态硬盘的 TRIM 已停用;但如果结果是 DisableDeleteNotify = 0,则固态硬盘的 TRIM 已启用。
如何在 Windows 上启用 TRIM
右击 Windows 图标,选择“搜索”并在搜索框中输入 cmd。右击“命令提示符”并选择“以管理员身份运行”。
输入:fsutil behavior set DisableDeleteNotify 0,然后点按 Enter 键。
如何在 MacOS 10.10.4 或更高版本上检测 TRIM 是否启用
选择左上角的苹果图标。
然后单击“关于本机”。
概述窗口弹出后,选择“系统报告”。
跳转到:硬件 > SATA/SATA Express。
滚动到本地“TRIM 支持”,此值为“是”或“否”。
如果值为“否”,继续打开终端窗口。
在提示符窗口,输入:sudo trimforce enable。
敲击 Enter 键。
根据提示输入密码并敲击 Enter 键。
在提示符窗口输入 y,然后点按 Enter 键。
再次输入 y,系统将会重启。
重启后重复 1-5 步,从而确认 TRIM 是否启用。