矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 854|回复: 10

固态硬盘的Trim是什么原理?

[复制链接]
     
发表于 2024-2-14 12:51:34 | 显示全部楼层 |阅读模式
百度了一下好像都没说清楚,没有Trim的时候固态硬盘是什么动作,有Trim以后呢?
     
发表于 2024-2-14 14:49:58 | 显示全部楼层
Trim是固态硬盘特有的,机械硬盘没有,如果没有Trim机制的操作系统删除固态硬盘数据后,删除数据占用的空间空间不会立即恢复,硬盘不知道这个区域数据应“没用”了,只有得到复写的命令的时候才会知道,硬盘会越用越卡,只能通过定期备份文件后快速格式化来解决
带有Trim机制的操作系统,在删除数据后,会在固态硬盘删除数据的空间标上“无效空间”标记,虽然也不会立即清理,但操作系统会定期发布Trim命令来覆盖这个“无效空间”,一般的过程是当你清空回收站(彻底删除)同时,操作系统会发布一个Trim命令添加到一个队列,操作系统会定期执行这个队列里的Trim命令。
有人说固态硬盘的Trim跟机械硬盘的碎片整理差不多,其实是不一样的,机械硬盘的碎片整理是将一个文件(或数据)存放在相邻的扇区,以缩短读取文件时磁头的移动距离,来提升读取速度。固态硬盘的Trim虽然也是为了提升读写性能,但本质还是有区别的,这是由固态硬盘的读写机制造成的,固态硬盘的读写都是按页进行,有的文件没有占满一页的时候,在删除时会比较麻烦,如果把这个占有半页的整页全部删除,那么会影响其他半页数据,解决方法就是把不能删除的半页数据复制到一个新的页里,然后这一页整体删除(标记无效),然后将这些需要删除页发一个Trim命令排进队列,由操作系统定期执行。
不知道这样解释能否看的明白

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2024-2-14 16:12:26 | 显示全部楼层
对上面的解释点个赞!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-2-14 19:00:46 来自手机 | 显示全部楼层
twsg 发表于 2024-2-14 14:49
Trim是固态硬盘特有的,机械硬盘没有,如果没有Trim机制的操作系统删除固态硬盘数据后,删除数据占用的空间 ...

Trim命令不是操作系统执行的,擦除应该是按块擦除的(写入是按页)
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-2-14 19:22:07 来自手机 | 显示全部楼层
问题细化一下,操作系统删除文件,固态硬盘擦除块,操作系统在可用块写入文件,这个之间的具体流程动作和时隙,没有Trim和有Trim时分别是怎样的?

补充内容 (2024-2-16 12:16):
时序
回复 支持 反对

使用道具 举报

     
发表于 2024-2-14 19:38:18 | 显示全部楼层
TRIM 是因为SSD的特性才出现的. WIN7SP2之前是没有的(有也是硬盘厂家自己带的).
所以WINXP 要选择自带TRIM的硬盘.

TRIM的目的是:   (1)寿命. SSD每一块写的次是有限的;(2)速度,SSD整页读写更快,更复杂的是1个CELL地方是3BIT/4BIT(TLC,QLC....

没有TRIM, 删除文件, 就直接删除了.
有了TRIM, 删除文件, 那个地方做上标记,但没对SSD没做删除处理.而是在系统特定时间内,会有一套算法.完成类似硬盘碎片整理(比之复杂)同时又控制对同一地方的写平均化,不影响SSD寿命(或说减少影响).

没有TRIM,硬盘碎片化,同时因为TLC,QLC这些一个CELL几个BIT,不连续,读写会慢,删除的文件多了,这样的地方多了,硬盘会越来越慢. 因为普通硬盘同一个地方没有写入寿命问题,同时又没有一个CELL几个BIT问题,所以很容易碎片整理. 但SSD不同.

所以你可以理解为TRIM  , 是SSD专用的碎片整理, 保持速度,同时减少对寿命的影响.
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-2-14 20:11:40 | 显示全部楼层
jforu 发表于 2024-2-14 19:38
TRIM 是因为SSD的特性才出现的. WIN7SP2之前是没有的(有也是硬盘厂家自己带的).
所以WINXP 要选择自带TRIM ...

“没有TRIM, 删除文件, 就直接删除了. ”
你都没有说到块擦除,还有二楼说的页搬移
回复 支持 反对

使用道具 举报

     
发表于 2024-2-14 20:33:04 | 显示全部楼层
ustone 发表于 2024-2-14 20:11
“没有TRIM, 删除文件, 就直接删除了. ”
你都没有说到块擦除,还有二楼说的页搬移

就是普通的删除了. 同普通硬盘处理是相同的.

那么系统认为那块是可用的, 当需要写数据时就会可能用到这块区域.


有了TRIM, 系统没有TRIM之前,这块区域系统不会用这块区域(写这块).

页搬移等复杂处理, 是有了TRIM后才会有的.

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-2-14 20:42:32 | 显示全部楼层
本帖最后由 ustone 于 2024-2-14 20:56 编辑
jforu 发表于 2024-2-14 20:33
就是普通的删除了. 同普通硬盘处理是相同的.

那么系统认为那块是可用的, 当需要写数据时就会可能用到 ...


机械硬盘可以覆盖写入新数据,固态硬盘必须擦除一个块才能写入新数据。
如果不是一个块的所有页都用于一个文件,也就是说一个块的某些页属于别的文件,那么删除这个文件后擦除块的时候必然要先搬移某些页。
回复 支持 反对

使用道具 举报

     
发表于 2024-2-22 15:03:47 | 显示全部楼层
ustone 发表于 2024-2-14 20:42
机械硬盘可以覆盖写入新数据,固态硬盘必须擦除一个块才能写入新数据。
如果不是一个块的所有页都用于 ...

正解,好处是提高速度,和大幅延长寿命
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-2-22 17:06:24 | 显示全部楼层
zhphzw 发表于 2024-2-22 15:03
正解,好处是提高速度,和大幅延长寿命

没错      
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-3 00:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表