指南 固态硬盘的TRIM命令的通俗讲解

分类:指南
简介:在固态硬盘的相关知识中,trim命令也是我们时常能听到,但是总是一知半解的东西。哪怕我仔细查阅了相关的知识,最终也只能知道一个大概。
TRIM的原意是指“修剪”。
要理解TRIM命令,首先要理解两个基本知识。1、传统机械硬盘和固态硬盘在删除文件的时候,并不是真正的删除它,而是简单的给那块存储区域,打上一个“删除”的标记。

不同的是,机械硬盘本身记录着哪一块区域是删除状态(这也是为什么在机械硬盘上面找回被删除的资料非常简单);而固态硬盘本身不记录,需要下次写到这个区域之后才知道。
块和页和删除.jpg
2、机械硬盘在删除区域写入新数据直接写入就行,不用理会原本已标记删除,但是实际上依然存在的数据。
而固态硬盘在删除区域写入新数据的时候,因为固态硬盘本身并不知道这里有被删除数据,所以,写入的时候,要先发现此区域被标记删除》》》然后把此区域的所在内容块(包括已删除的内容)全部读取到缓存,经系统识别之后,把有效内容写回原来的区域》》》然后再找新的未写入数据的地方写入新数据。
所以,固态硬盘在每一次删除+新写的操作,都会额外多出很多数据的读写。这个过程大大降低了固态硬盘的写入速度以及寿命。
文件在固态硬盘的存储以页为基本单位,一个页通畅为4k-16k,一个块通常有128-512个页,而这个删除+写入的操作,但是哪怕一个页上只修改了一丁点的数据,都会影响到整个块写入速度,因为重写以块为单位。
固态硬盘写入过程.jpg


而TRIM的作用,就是在每一次删除数据的时候,它都提前就把删除区域的信息告诉固态硬盘,让它提前在磁盘和电脑空闲的时候,就把该无效信息给删除。
简单的理解,原本的工作模式是,在写入的时候,才去处理已被标记为无效的信息,而trim命令的作用是,在你给出删除指令的时候,就已经开始准备好处理已被标记为无效的信息。

TRIM并不改变固态硬盘原本的知识点2里的工作模式,它能够大幅增强写入速度的原因主要在于两点:
第一点:就是上面提到的,提前处理,闲时处理。
第二点:如果无效信息覆盖到了整个块(比如有5M无效信息),那么trim命令就可以使得固态硬盘完全不用费心去读取这块内容以供系统处理,直接删除就行。

除了能大幅增加固态硬盘的速度,TRIM还能通过动态的分配被处理过无效数据的块被系统调用,以达到每个块的使用频率尽量一致,从而增加固态硬盘的寿命。

TRIM命令需要电脑主板、操作系统、固态硬盘三者一起的支持才能工作。现在的windows 10以及绝大多数的固态硬盘都已经支持了。部分厂家比如intel、三星等大牌固态硬盘都有自己的垃圾信息处理机制。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

评论