当前位置:首页 » 硬盘大全 » 固态硬盘trim是什么
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

固态硬盘trim是什么

发布时间: 2022-05-13 21:35:55

① 固态硬盘trim技术有什么用途

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

② 固态硬盘为什么需要TRIM

在机械硬盘上写入数据时,Windows会将先将以前的硬盘数据擦除,再将新的数据写入。在删除数据时,Windows只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。就像我们的机械硬盘很容易进行数据恢复一样。
这样磁盘需要更多的时间来执行以上操作,速度会慢下来。
而当Windows识别到SSD,并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。
这一步就已经省下一大笔时间了。然后再写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。

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

③ 怎么看固态硬盘有没有trim

我的回答是:
一是这个trim功能是专门针对固态硬盘的特殊读写访问方式设计的,固态硬盘由于是全数字模式进行读写操作的,读写操作完全不同于机械硬盘,因此针对固态硬盘的优化才开发的trim功能;
二是观看固态硬盘背面应该贴有标签,标签上应该有说明的。我想大多的固态硬盘都有这个功能的,现在的固态硬盘最大的特点是读取数据速度最快,写入数据速度最快,比一般的机械硬盘要快,一般的硬盘读写数据大约为133-166MB/秒,而固态硬盘读写数据大约200MB以上/秒。

④ 固态硬盘trim原理是什么

在机械硬盘上,写入数据时,Windows会通知硬盘先将以前的擦除,再将新的数据写入到磁盘中。

⑤ SSD的TRIM功能有什么作用

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原理 固态硬盘为什么需要TRIM

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

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

⑦ 固态硬盘trim原理

通常磁盘操作的删除不是马上删除,而是标记为待删除的无效数据。机械硬盘工作原理只有读和写,因为数据是可以直接在原有的磁道上进行覆盖,不需要经过清除这个步骤,这是机械硬盘磁道记录信息的特点。但是SSD不行,SSD是读、擦、写三个步骤,任何一个记录模块如果里面有数据,必须把有数据的区域擦除清零才能写入。

因此,对于SSD而言TRIM的最大作用是清空待删除的无效数据,在SSD执行读、擦、写步骤的时候,预先把擦除的步骤先做了,这样才能发挥出SSD的性能,通常SSD掉速很大一部分原因就是待删除的无效数据太多,每次写入的时候主控都要先做清空处理,所以性能受到了限制。

用个例子来说明,假设有一个100G全部存满数据的SSD,然后删除掉50G的数据,那么SSD删除数据是先标记这50G为待删除无效数据,不再进行访问,然而这些数据依然占据你的磁盘空间,系统则会显示你有50G的空间,当你需要写入新数据的时候,就会把那50G的空间执行擦除然后再执行写入,主控同时进行擦除和写入,如果数据量很大的话掉速就会出现。主控进行擦除也是按照性能原则来进行的,一般都是要写入多少数据就擦除多少待删除无效数据,这样才能保持最大的性能。TRIM里关于清空无效数据的指令,一般来说每个主控都会有,理论上不需要你操作主控会自己判断。但这只是理论,实际上主控没有那么聪明,很多时候并不会主动清理,它需要一个逻辑判断,通常是系统空闲的时候才会操作这个步骤,可是一般人上班的时候基本上电脑都不会空闲,就容易发生工作时间8小时内SSD都不会执行清理程序,只会在空白空间不够的时候再根据需要清理。

打个比方,家的柜子装东西,柜子里放满了东西,这个柜子能不能再放新的物件取决于要不要丢掉柜子里的一些东西。如果暂时没有新物件放进去又不想现在丢掉箱子里的东西,那么这个箱子在认知中是还可以放东西的(只是需要先丢一些东西,这就是删掉了50G数据,这些数据还在,但是系统显示有50G的空间,只是做了标记可以放东西不,不代表目前有空间),但放东西之前必须要先拿部分东西腾空间的流程,这个流程是现在做(TRIM开启,及时清空无效数据),还是需要放新东西的时候再说(由主控来控制,有需要的时候再清理,例如空白空间用完了)。开启TRIM指令的好处是,随时清空待删除无效数据,而不是等到要写新数据时的才开始清空,加大主控负担。

⑧ SSD术语常识:什么是TRIM指令

Trim是什么?

为了解决硬盘降速的问题,微软联合各大SSD厂商开发了一个新技术Trim。Trim指令也叫disabledeletenotify(禁用删除通知),属于ata8-acs2规范的技术指令。使用SSD时必须确保开启系统中Trim指令。

系统对支持Trim指令的SSD启动Trim命令后,这时在对SSD进行数据删除的操作,我们知道NTFS文件系统是不向SSD发送删除指令的,SSD发出新的Trim操作指令,告诉它相关页面可以安全擦除,得到这一指示后,就不会急于执行擦除操作,而是等到再次有写入操作的时候再执行,因为这时相关区域已经可以重新使用了,就不用花时间去擦除原本的数据。其速度比直接读写硬盘去标记删除区域要快得多,既提升了读写效率又大大减轻了固态硬盘的损耗。

Trim有什么用处?

如果SSD支持Trim指令,那么SSD就可以长期使用不掉速,否则SSD会随着使用时间越长速度就越慢。

如何查看电脑里是否已开启Trim?

点击开始菜单,在附件---命令提示符上右键单击,选择以管理员权限运行并输入“”

如果返回值是0,则代表您的TRIM处于开启状态

如果返回值是1,则代表您的TRIM处于关闭状态

打开trim和关闭trim的方法

打开:命令行模式下:

若想关闭该功能,只需执行:

⑨ 为什么固态硬盘需要TRIM

硬盘是电脑上不可或缺的存储设备,我们知道传统的机械硬盘里面有一组高速旋转的盘片,由于盘片的转速存在物理瓶颈,因此要进一步提升速度已经非常困难,而固态硬盘(Solid-State Drive; SSD)的出现则突破了传统硬盘的瓶颈,它依靠闪存芯片来存储数据,工作稳定、无噪音、耗电少,随着成本的下降,大有取代传统硬盘的势头,比如现在苹果的Macbook笔记本已经全面标配SSD,微软的Surface系列电脑也同样标配SSD。网上有很多文章说,SSD和传统硬盘不同,它不需要碎片整理,但是需要操作系统支持TRIM,否则用一段时间之后SSD的性能就会下降,而且还会影响寿命。那么TRIM到底是什么东西,为什么SSD需要TRIM而传统硬盘却不需要呢?

磁盘、数据和文件系统

要回答这个问题,我们得先了解一下我们的数据是如何存储的。我们知道,存储设备(无论是SSD还是传统硬盘)只负责最底层的物理存储,并不知道所存储的数据到底有什么意义,反正操作系统让我读或写什么数据我照办就可以了,就好像一个仓库里面有好多库位,存储设备只负责把东西放到指定的库位,或者把东西从指定的库位拿出来,至于这个东西是属于哪张订单的,是要发给谁的,存储设备并不关心。但是我们在电脑上看到的可不是毫无组织的数据,而是一些有组织的结构,例如分区、目录和文件,把数据组织起来并进行管理的工作是由操作系统负责的,而操作系统组织和管理这些数据的规范,叫做“文件系统”。文件系统就像一张仓库的收发货管理表,它负责管理这些库位的逻辑意义,比如说15、28、55这三个库位的东西是属于同一张订单的,订货人是张三,这三个库位在物理上并不连续,但通过管理表我们就能够把它们关联起来。不同的操作系统所采用的文件系统有所差异,例如较古老的FAT16/32、Windows的NTFS、OS X的HFS+、Linux的ext(ext2/3/4)等等。总结一下,我们需要保存的文件首先会交给操作系统,操作系统根据文件系统所规定的格式将这些数据组织起来,然后交给存储设备进行保存。

闪存的困扰:写入放大

现在我们所使用的大部分文件系统,都是从磁盘存储(软盘、硬盘)时代就开始存在的,因此它们的设计也是以磁盘存储的原理为基础的,但SSD采用的是闪存,由于物理原理存在差异,因此传统的磁盘文件系统用在闪存上,就可能会产生一些问题,其中最大的一个问题就是“写入放大”(write amplification)。举个例子,在大部分磁盘文件系统中,当我们需要删除一个文件时,操作系统只要将该文件所对应的所有数据块在文件系统中标记为“空闲”就可以了,根本不需要实际去清除数据块中存放的数据,因为这样做没有意义,这也就是为什么我们一眨眼的时间就可以删除一个很大的文件。也就是说,尽管用户看起来文件被删除了,但实际上它的数据还留在存储设备中,只不过操作系统认为这些数据已经作废了,下次有新数据的时候直接覆盖掉它们就好了。

现在问题来了,这样的设计必须建立在一个前提下,即对于物理存储设备来说,“写入空白数据块”和“覆盖已有内容的数据块”所需要的操作是完全相同的。上述前提对于磁盘来说是完全成立的,因为磁盘的工作方式跟磁带差不多,数据的记录是根据介质上某个记录单元的磁化方向来完成的。也就是说,在写入数据时,磁头只要将指定的记录单元(扇区)磁化为所需的状态即可,完全不必关心这个单元原本是怎样的状态。然而,上述前提在SSD上却是不能成立的。因为在SSD中,只有空数据块才能直接执行写入操作;而对于非空数据块,需要先执行擦除操作之后才能进行写入。

乍看之下,SSD和传统硬盘的区别仅仅是多了一步擦除操作而已,但实际上并非如此,更要命的还在后头。在SSD中,数据存储的最小单位是页面(page),一个页面的大小一般是4KB,若干个页面又被组合成块(block),一个块的大小一般是256KB。由于硬件方面的限制,SSD可以单独对某个页面进行读/写的操作,但擦除操作却只能对整个块进行,也就是说,一旦擦除就必须一次性擦除整个块。现在问题来了,如果一个页面里面已经有数据了,就无法直接写入新数据,但如果要擦除这个页面,就得把整个块全都擦除,那么这个块里面其他页面中的数据也跟着一起擦掉了,这可怎么办?


现实中,如果操作系统要让SSD改写某个页面的数据,SSD需要执行这样的操作:

  1. 1. 将要改写的目标页面所在的整个块的数据读取到缓存

  2. 2. 在缓存中修改目标页面的数据

  3. 3. 对整个块执行擦除操作

  4. 4. 将缓存中的数据重新写入整个块中

这就意味着,如果我要修改1个页面,就必须把整个块都折腾一遍,实际上相当于写入了64个页面的数据——实际搬运和写入的数据量远远超过了需要写入的数据量,这就是“写入放大”。我们可以看出,写入放大不仅影响了SSD的写入性能,而且还增加了SSD中闪存芯片的“磨损”,缩短整个SSD的使用寿命。

TRIM是为了让操作系统和SSD更好地沟通

对于写入放大,SSD表示一个巴掌拍不响,这不都是我的问题,因为一块数据在逻辑上有没有被删除只有操作系统才知道,SSD本身是不知道的——你看,很多问题其实都是因为沟通不畅而产生的。于是,一些SSD在控制芯片中提供了一个TRIM命令,操作系统在删除文件时,顺便向SSD发送TRIM命令告诉它哪些数据块中的数据已经不再使用了,SSD在收到TRIM命令后,通常会在定期的垃圾收集操作中重新组织这些区块,为将来写入数据做好准备——有了TRIM,SSD就能够更好地与操作系统相互配合了。尽管每一款SSD在硬件层面对TRIM命令的执行机制都不尽相同,但无论如何,通过TRIM能够显着改善SSD的性能和寿命。当然,大家可能也已经发现了,有了TRIM之后,删除的文件数据会被SSD自动回收,这意味着以往在传统硬盘上能够使用的一些数据恢复(反删除)软件,在SSD上可能就不再管用了。

既然TRIM如此重要,那么应该如何启用呢?一般来说,只要你所使用的操作系统支持TRIM,就无需任何额外的操作。支持TRIM的操作系统:Windows 7及后续版本、OS X 10.6.8及后续版本、Linux内核版本2.6.33及后续版本。对于Windows XP用户,系统不支持TRIM,可以选择SSD厂商(如Intel)提供的软件来实现定期的垃圾回收,模拟TRIM的效果。

治标还要治本:闪存文件系统

大家可能已经发现了,TRIM实际上只是一个“治标”的办法,其实产生写入放大等问题的根本原因在于现有的文件系统是磁盘存储时代的产物,并不完全适用于闪存,因此如果要“治本”,就必须开发出适合闪存的文件系统,也就是“闪存文件系统”。闪存文件系统能够让操作系统更好地控制和管理SSD等闪存存储设备,除了能够有效避免写入放大之外,闪存文件系统还有一些其他的设计,例如磨损均衡和随机优先等,这些设计都是基于闪存所独有的物理特性而来的,因此可谓是“量体裁衣”。尽管从目前来看,由于兼容性等一些原因,闪存文件系统还没有得到普及,但随着今后闪存存储设备越来越多,用闪存文件系统来代替传统的磁盘文件系统应该说是一个必然的趋势。