至于 TRIM 对 SSD 的作用,其结果是否与将零写入可用空间相同?例如:cat /dev/zero > zero.file; rm zero.file
在驱动器上运行?
答案1
编辑:
TRIM 的解释已经比我在这里解释得更好了:
我在侧边栏中找到了这个问题的链接。因此,如果您需要 TRIM 的简化解释版本,我已在下面提供:
您必须了解 SSD 的工作原理才能理解问题的答案:
由于技术原因,SD 卡的读写速度很快。唯一可能非常慢的操作是删除某些内容。基本上,读写可以分成小部分进行,而要删除某些内容,控制器必须对整个区域施加相对较高的电压。这意味着它必须获取已删除文件周围的所有数据,将其复制到磁盘上的其他区域,然后最终将“删除电流”应用于该区域。可以想象,这需要很长时间。TRIM 基本上在后台执行此过程。
如果你在现代操作系统上删除某些内容,你实际上并没有删除写入数据的空间。它只是通过删除存储介质文件目录中文件的条目,将文件所在的空间标记为空。
如果您想将新数据写入该文件的位置,SSD 上的该区域仍未准备好,因为删除操作并没有真正重置存储以准备接收新数据,它只是将其标记为已删除。如果控制器只是等到您需要写入某些内容,然后开始整个移动数据/真正删除的过程,那么这将大大减慢正常操作的速度。
因此,如果您删除了某些内容,您可以继续工作,如果需要将某些内容写入磁盘,控制器将选择一个不同的、已经准备好的区域。与此同时,TRIM 会通过移动周围数据并施加删除电压来执行释放已删除文件空间的缓慢过程。
如果您理解了这个过程,您就会明白为什么如果您想要良好的性能,建议不要将 SSD 装满数据。
现在,如果你将一个包含零的文件写入 SSD,然后删除它,那么你基本上已经做了对其性能最糟糕的事情。至少在 TRIM 发挥其魔力并重置所有这些扇区之前。
[免责声明] 这显然是外行人对这个过程的看法,多年前研究 SSD 时我就读过这些,当时 SSD 才刚刚面世。不过,这应该足以回答你的问题了。
编辑:拼写