SSD的TRIM功能有什么作用

SSD的TRIM功能有什么作用,第1张

Trim的作用

原本在机械硬盘上,写入数据时,Windows会通知硬盘先将以前的擦除,再将新的数据写入到磁盘中。而在删除数据时,Windows只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。

这样一来,磁盘需要更多的时间来执行以上 *** 作,速度当然会慢下来。

而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。

以上就是Trim的原理以及真正作用。

注意:如果SSD组RAID0后,将失去Trim功能

这个功能一个大的特点就是:回收闲置的SSD数据块

Objective Analysis的SSD分析师Jim Handy这样形容到(Objective Analysis是一家半导体市场研究公司):

TRIM指令让 *** 作系统可以告诉固态驱动器哪些数据块是不会再使用的;否则SSD控制器不知道可以回收这些闲置数据块。

Handy表示:"TRIM对SSD是个福音。"

他认为TRIM的简约性将极大减少写入负担,同时允许SSD更好地在后台预删除闲置的数据块,以便让这些数据块可以更快地预备新的写入。

SandForce首席技术官Radoslav Danilak表示,值得注意的是OS( *** 作系统)的角色。

Danilak表示:"SSD知道哪些过期数据可以删除和回收,但是它不知道 *** 作系统已经决定删除哪些数据,直到 *** 作系统为了新的信息而重新使用逻辑块地址(LBA)。"

Danilak表示:"TRIM这种指令的优点便是它可以同时透过过期数据和OS删除的数据来访问LBA,从而推动性能的改善。TRIM唯一的缺点便是如果它在SSD固件中没有得到很好的实施,那么它的 *** 作有可能会阻碍正常的驱动器 *** 作。"

STEC负责SSD技术营销的高级经理Scott Shadley认为,如果TRIM可以让SSD完全忽略一个LBA范围的数据,那么这是一件好事,但是这种结果也有可能没有什么用处。

对Shadley来说,真正的问题是,如果损耗平衡技术(wear leveling )在运作,那么LBA范围并不一定反映SSD闪存的物理地址序列。

Shadley表示:"这意味着SSD还是要面临如何将数据迁移到设备内部真正空余空间的问题。"

Shadley表示:"如果那个LBA范围反映的是整个介质上的页面,那么实际上就没有空余的块或最小的可擦写的单位。这会带来更加复杂的损耗平衡过程,从而进一步加重写入负担。TRIM只适合于那些损耗平衡过程实际上并未有效节约或延长驱动器性能或寿命的SSD。"

开关Trim后的写入速度对比

举个例子,假如一个128KB大小的区块内存放着一个128KB的文件,如果文件被删除并执行Trim *** 作,固态硬盘就可以避免把这个区块中的字节与对此区块的后续写入所需的其它字节相混合,这能大大减轻固态硬盘的“磨损”。

在Windows 7里,Trim请求不仅限于删除 *** 作,也于分区和卷级别命令、文件系统命令、系统还原功能完全整合。

win7下Trim启用的验证方法

其实Windows 7默认状态下Trim指令是开启的,如果想查询目前的Trim指令状态,我们可以在管理员权限下,进入命令提示符界面,输入“fsutil behavior QUERY DisableDeleteNotify”,之后会得到相关查询状态的反馈。在这里,提示为“DisableDeleteNotify = 0”即Trim指令已启用;提示为“DisableDeleteNotify = 1”即为Trim指令未启用。

并不是 *** 作系统提供Trim指令支持,所有SSD都能享受到Trim技术所带来的好处,这还需要固态硬盘的固件支持才能实现。一些主要的固态硬盘主控芯片厂商已经提供了支持Trim的固件(例如英特尔"X25-M G2"),不过也有厂商开发出不依赖 *** 作系统的垃圾回收技术,通过回收不再使用的闪存区块加入负载平衡算法,防止固态硬盘在长期使用后速度下滑,并延长闪存使用寿命,过程完全在固态硬盘内部完成。

有关固态硬盘(SSD)还有很多其他的相关问题,毕竟目前来说固态硬盘不太容易普及应用,只能适合用来做一些高速系统启动盘,或者专门的软件安装盘来达到高速的效果,应用上仍然存在很多的疑问。

开启Trim功能减少磁盘擦写 *** 作,延长固态硬盘的FLASH寿命。 Windows 7默认状态下Trim指令是开启的,如果想查询目前的Trim指令状态,我们可以在管理员权限下,进入命令提示符界面,输入“fsutil behavior QUERY DisableDeleteNotify”,之后会得到相关查询状态的反馈。在这里,提示为“DisableDeleteNotify = 0”即Trim指令已启用;提示为“DisableDeleteNotify = 1”即为Trim指令未启用。

输入CMD右键以管理员身份运行

命令提示符里面,右键选择粘贴不能支持Ctrl+V

粘贴“fsutil behavior QUERY DisableDeleteNotify”

回车获得Trim状态,提示为“DisableDeleteNotify = 0”即Trim指令已启用;提示为“DisableDeleteNotify = 1”即为Trim指令未启用。

注意:如果SSD组RAID0后,将失去Trim功能,非RAID模式状态下,未开启Trim请及时更新驱动和系统补丁即可。以上文章仅为参考帮助说明,并不做全面的可适用性保证

就是打开TRIM功能的意思,固态硬盘跟机械硬盘不同,机械硬盘只有读写两种工作状态,可以直接在老数据上覆盖,所以机械硬盘删除文件,只是标记为无效待删除文件,并没有真正删除,下次要写入数据的时候直接在这些标记的磁道上覆盖。

而SSD工作原理不一样,分为读、擦、写三个步骤,有数据的区域必须要先擦除清零,才能写入新的数据。

所以,对于所有的硬盘来说,不管是机械硬盘还是固态硬盘,删除文件的本质并不是真正意义上的删除,而是把这些文件标记为待删除的无效文件,等到需要再这些区域写入新数据的时候,再执行删除(机械覆盖,固态擦除+写入)。

TRIM本质上,可以让固态硬盘清空这些待删除的无效文件,把空间还原为真正意义上的空白空间。避免了固态硬盘的主控在空白空间不足的时候,再来擦除这些文件,那很容易导致主控同时执行擦+写的工作,负荷过大因而掉速。而你删除的数据越多,就有越多的待删除无效文件产生,这些文件会一直存在,要么等待固态的主控根据实际使用情况来执行删除,或者你利用TRIM提前进行清理。

不管任何一款SSD,至少现在的技术还没解决主控智能化的问题,也就意味着TRIM依旧是必须的东西,假如不开启TRIM,除非你硬盘足够大,有足够的空白空间,如果你是128这种小固态的话,很快性能就会急剧下降,必须定期执行TRIM清理。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6660640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存