SSD为什么需要Trim?

简介: TRIM的先进性在于它可以让固态硬盘在进行垃圾回收的时候跳过移动无用数据的过程,从而不再用重新写入这些无用的数据,达到节省时间的目的。这也会减少闪存删除数据的次数,从而在写入过程中实现高性能。固态硬盘也不需要立即删除或者“垃圾回收”这些TRIM指令告知的位置了,它只是先标记这些位置的数据为“无用”即可。

什么是Trim?

Trim又叫 Disable Delete Notify。当系统删除某个文件时候,它只是简单的在逻辑数据表内把存储要删除的数据的位置标记为可用而已。使用机械硬盘的系统根本就不需要向存储设备发送任何有关文件删除的消息,因为在将来,系统可以随时把新数据直接覆盖到无用的数据上。固态硬盘的情况就不同,当系统准备把新数据要写入那个位置的时候,固态硬盘才意识到原来这写数据已经被删除了!(无用数据)。


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


在新一代操作系统中,例如Windows 7/Windows Server 2008 R2/Linux 2.6.33/FreeBSD 8.2/Open Solaris/Mac OS X Lion,它们都加入对Trim指令的支持。这可以让操作系统在删除逻辑表中删除逻辑扇区地址的同时通知固态硬盘某些数据已经无用了。


TRIM的先进性在于它可以让固态硬盘在进行垃圾回收的时候跳过移动无用数据的过程,从而不再用重新写入这些无用的数据,达到节省时间的目的这也会减少闪存删除数据的次数,从而在写入过程中实现高性能。固态硬盘也不需要立即删除或者“垃圾回收”这些TRIM指令告知的位置了,它只是先标记这些位置的数据为“无用”即可。


支持TRIM的系统,在用户写入数据时并没有不同。但是当用户删除文件C的时候,因为系统支持了TRIM指令,固态硬盘立刻就把数据标记为“无用”,从而为接下来的垃圾回收做准备。原来存放文件C的空间,固态硬盘把其看做是可用空间。“动态预留空间”意味着固态硬盘在执行垃圾回收的过程中拥有更多的可用空间,从而整体提高性能。


在第三列中,用户写入新的文件E。尽管现在固态硬盘与不支持TRIM的硬盘闲置空间相同。区别就在于:TRIM支持的固态硬盘知道哪些数据是无用的,在垃圾回收的时候,这些无用数据可以被看成是空闲空间,从而避免把无用数据移动到其他块中。


下面是不支持TRIM指令SSD的工作过程


可以看到当向上面复写E的时候,SSD才会知道C需要删除(而不是在OS删除C的时候)。所以在此之前如果发生GC的话,C还是需要被移动的。虽然C对OS来说已经是无用的,可是SSD设备本身却不知道。如果支持TRIM指令的话(如下图),OS就可以标记C删除,并且通知SSD设备C已经删除,这样每次GC就就不用在移动C,减少数据写入量。


这将会产生三大优点:

1.降低写入放大。更少的数据被重写,更多的空闲空间为垃圾回收所利用。更多的空间可用也意味着不需要重新写入更多的数据。


2.更高的吞吐量。支持了TRIM指令,就意味着在垃圾回收阶段需要移动的数据表少,固态硬盘性能就会提升。固态硬盘吞吐量的瓶颈在于闪存。固态硬盘的最快写入速度就是闪存所能支持的最快写入速度。在执行垃圾回收过程中,由于涉及到数据的移动和写入,固态硬盘不得不要停止一些主控的数据传输。这也是为什么固态硬盘知道无用数据的优点所在,至少在垃圾回收阶段,它这些数据不在需要移动,从而节省带宽。


3.改善耐用性。由于不在需要重新写入无用数据,这样可以减少固态硬盘的实际写入次数。


注意:目前TRIM并不能正常工作在RAID环境中。这是因为目前RAID驱动一般都不支持TRIM。当更多的RAID厂商开始支持RAID TRIM,我们期待TRIM无乱在RAID还是正常环境下都能够为用户带来益处


如何知道您的电脑里是否已开启Trim:

●点击开始菜单,在搜索栏中输入CMD
●在搜索结果的图标上右键单击,选择以管理员权限运行
●输入“fsutil behavior query DisableDeleteNotify”
●如果返回值是0,则代表您的TRIM处于开启状态
●如果返回值是1,则代表您的TRIM处于关闭状态


相关文章
|
机器学习/深度学习 并行计算 PyTorch
CUDA驱动深度学习发展 - 技术全解与实战
CUDA驱动深度学习发展 - 技术全解与实战
909 1
|
2月前
|
存储 人工智能 数据库
2026年购买阿里云服务器一年多少钱?38元1年起,最新热门实例与配置活动价格参考
2026年阿里云服务器价格参考:轻量应用服务器2核2G、200M带宽抢购价低至38元/年,2核4G为199元/年;经济型e实例2核2G、3M带宽99元/年(新老同享、续费同价);u1实例2核4G、5M带宽199元/年(企业专享);u2i实例4核8G起1252.63元/年,c9i实例8核16G起5958.52元/年。另有99元/199元"99计划"长期可用,搭配学生券、AI算力券等权益可进一步降本,个人开发者与企业均能找到适配方案。
|
4月前
|
SQL 开发框架 .NET
【全网最详细】.NET Framework 4.5官网下载安装教程|.NET 4.5环境搭建详细指南
.NET Framework 4.5是微软2012年发布的Windows平台运行时,支持异步编程、WinRT和WebSocket等新特性。虽已非最新版,但在运行旧软件、维护传统Windows应用中仍不可或缺,兼容Win7 SP1/8/10。
|
10月前
|
人工智能 编解码 搜索推荐
AI智能换背景,助力电商图片营销升级
电商产品图换背景是提升销量与品牌形象的关键。传统抠图耗时费力,AI技术则实现一键智能换背景,高效精准。本文详解燕雀光年AI全能设计、Canva、Remove.bg等十大AI工具,涵盖功能特点与选型建议,助力商家快速打造高质量、高吸引力的商品图,提升转化率与品牌价值。(238字)
919 0
|
存储 人工智能 安全
赋能数字化转型的创新引擎
阿里云是全球领先的云计算与人工智能科技公司,其强大的技术实力和丰富的解决方案正深刻影响企业运营与竞争力。依托坚实的云计算基础设施,阿里云提供弹性计算、存储与网络服务,满足多样化需求。在AI与大数据领域,机器学习平台PAI及MaxCompute助力智能决策与创新应用。同时,阿里云构建全方位安全防护体系,保障数据隐私,并通过活跃的开发者社区与生态合作推动行业进步。未来,阿里云将持续加大研发投入,优化云原生技术,深化AI与大数据研究,引领数字化转型潮流,共创美好未来。
赋能数字化转型的创新引擎
|
XML Java 数据格式
HUTOOL-Word生成-Word07Writer
HUTOOL-Word生成-Word07Writer
MAC中让右键菜单出现终端(命令行)打开文件夹的功能
MAC中让右键菜单出现终端(命令行)打开文件夹的功能
2710 0
MAC中让右键菜单出现终端(命令行)打开文件夹的功能
|
消息中间件 JSON Java
SpringBoot集成和使用消息队列
SpringBoot集成和使用消息队列
|
缓存 算法 搜索推荐
618省心凑背后的新算法——个性化凑单商品打包购推荐
作为购物导购链路的一个重要环节,凑单旨在快速帮助用户找到达成某个满减门槛(比如满300减50)的商品,完成性价比最高的跨店组合结算。
1652 0
618省心凑背后的新算法——个性化凑单商品打包购推荐
|
Web App开发 JavaScript 前端开发
深入理解Playwright的高级功能和用法
Playwright是一个强大而灵活的Python库,用于自动化浏览器操作和测试。它提供了一套简洁、直观的API,使得编写可靠、可扩展的浏览器自动化脚本变得非常容易。无论是模拟用户交互、抓取网页数据还是进行端到端的Web应用程序测试,Playwright都是一个值得信赖的选择。 Playwright支持多种浏览器,包括Chrome、Firefox和WebKit(Safari)。这意味着您可以根据需要选择合适的浏览器来运行自动化脚本。Playwright还提供了跨浏览器的一致性保证,这意味着您可以在不同的浏览器上运行相同的脚本,并获得相似的结果。

热门文章

最新文章