联乐实业

工业存储产品及解决方案
返回上一页 知识库
通过问答,我们了解Agrade睿达工业级固态硬盘的Trim命令

SSD芯片背景2.fw

Q: 为啥Agrade睿达工业级固态硬盘需要Trim?

A: 
我们都知道,当一个文件被删除后,操作系统其实并没有删除数据 - “事实上,它只是在硬盘前的索引区里标记这块文件占用的区域为可覆盖的,所以下次数据将要再次写入的时候,可以覆盖写入这块被标记的区域。这也就是为啥那 些所谓的文件恢复软件能恢复的道理。(数据依然存在)。”

要注意一点:硬盘本身是不知道当前数据的状态的,他只是被控制着做这做那。上面这一套在普通的机械硬盘上工作起来非常完美,因为他们可以直接覆写旧的区域,但是当用到NAND闪存上就行不通了,当全部闪存被写满一遍后,没有空余 (从未写过)的块可以被使用的情况下,速度就下来了。
在固态硬盘闪存内,数据存储一般是以page(页)为最小单位存储的(典型的为4KB),而128个page组成了一个block(块),数据可以以 4KB大小的页来读取和写入,但却只能以512KB(128 page)的块大小来删除。当读取数据或者写入到一个没有被使用过的page上时,固态硬盘的速度是很快的,但是覆写数据的话,就比较复杂了,需要许多步 骤来完成。
Q:有很多人说,Trim是为测试而生的?
A:
01 Trim不能提速,只是保证速度尽可能不下降。
实际是SSD上没被使用的容量那里的速度不下降。Trim提前把那里的块清空了。下次直接可以写当然 快了。
02 Trim没改变原本要做的事,只是提前做掉了,测试软件测试时候就不需要做了,从而“显得”速度上去了。

Q: Trim命令到底做了什么?
A: 
简而言之,这个问题是因为操作系统和文件系统不能和SSD的主控进行删除文件的交流造成的,如果有之前没清除干净的数据,所有写入的页的操作都要先清除块再改写,将严重影响写入速度。有2种途径来修复这个问题:
01 定期运行垃圾回收程序(GC)
这个操作有点像整理,在SSD空闲时,全盘扫描有效的页并合并整理起来变为一个包含全部有效页的块,而那些无效的页和块都将被完全的清除
02 当数据删除时候让系统告诉SSD数据没了,让SSD立即擦掉那些数据占用的块,这就是Trim命令做的事。

相关推荐