资讯
HOME
资讯
正文内容
清空nand指令 除了保持不掉速,Trim指令对于固态硬盘还有额外妙用
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

除了保持不掉速,Trim指令对于固态硬盘还有额外妙用

有朋友通过私信向存储极客提问:Trim指令只是把GC垃圾回收要做的擦除提前做了,提高了后续写入的性能,似乎对写入放大率没有帮助,为什么说Trim有利于延长固态硬盘寿命呢?

这个问题很有深度,弄清楚之后有助于大家深入理解固态硬盘的工作原理。小编就单独用一篇文章来系统讲解吧。

1987年,东芝发明了NAND闪存,它的容量大、速度快,断电不丢数据,诸多优点使得它不断发展至今,成为半导体存储的主力军。不过NAND闪存也有一些使用限制,譬如写入之前必须先经过擦除。这是FTL闪存映射转换层以及Trim指令问世的根源。

闪存读写和擦除单位不同:

闪存的最小读取和写入单位皆为Page,在东芝64层堆叠BiCS3闪存当中,一个Page页的大小为16KB。闪存在写入新内容之前必须先经过擦除,而擦除的最小单位是Block,一个Block块在BiCS3中的大小为12MB。

闪存这一特性跟儿童磁性画板有些类似,一擦就是一大块,无法针对单个点去做擦除。

先擦后写带来的问题:

电脑上的Windows操作系统在删除硬盘上文件时,操作系统仅仅是在文件分配表中做一个标记,并不会对存放文件的位置做实际的抹除。这种做法对机械硬盘而言是很高效的。只要操作系统心中有数(文件分配表),随时可以在文件删除留下的垃圾位置上覆盖写入新的位置。

固态硬盘继承了机械盘的使用方式,删除文件产生的"垃圾"会一直在闪存中存放着,直到操作系统下一次要求在相同位置覆盖写入新数据,主控这才恍然大悟、措手不及(闪存无法不经擦除直接写入,只能先写到别处,通过FTL闪存映射表进行标记)。

当Block块中的垃圾多到一定程度之后,固态硬盘不得不将整个Block块中的全部Page页都读取出来、全部写入到新的Block块当中,然后擦除之前的Block。这个先读取、再写入、后擦除的过程就是固态硬盘中费时费力的"垃圾回收"工作。

因为删除文件时操作系统只在分区表上做改动,固态硬盘分不清哪些是无效页哪些是存有数据的有效页,将无效页也做了重复搬运:这样就做了无用功,不仅影响性能更是加速了闪存的磨损。

Trim带来了什么不同?

Trim在Windows中的大名是Delete Notify删除通知。通过Trim指令,操作系统可以在标记文件分配表的同时,顺带通知到固态硬盘:这些位置的数据已经没用了,你得空的话可以做下打扫了。

有了Trim指令之后,固态硬盘对闪存的实际占用情况了然于胸,在做垃圾回收时可以只读取其中的有效Page页,将它们写入到新的Block,然后就可以对旧block做擦除。简单来说就是Trim让固态硬盘垃圾回收的效率更高,减少了不必要的数据搬运重写,降低了写入放大率,提升了固态硬盘的使用寿命。

现在Trim指令早已成为固态硬盘的标配功能。不过Trim只是让固态硬盘主控了解"垃圾"的位置,具体何时做垃圾回收工作还需要更深层的算法去权衡性能和耐久度。在这方面,原厂固态硬盘往往比缺少研发能力的贴牌产品做的更好。

一文弄懂为何固态硬盘不易恢复数据 这两点很重要

自从固态硬盘迈入TLC时代,500GB已成为笔记本电脑标配,TB级SSD也跌进千元以内,实在是提升电脑性能的一大利器。

挑好SSD,它没那么脆弱

奇客之前回答网友提问时,多次推荐SSD作为重要数据存储设备,遭到一些朋友的质疑,说SSD数据丢失难以恢复。但其实我想说的是,只要是大牌产品,主控颗粒质量有保障,经过这几年的优化发展,基本不会毫无征兆突然死亡。再者说,固态硬盘恢复数据并非不可能,只是相对机械硬盘来得困难,因为二者工作机制截然不同

和机械硬盘不同,固态硬盘放弃了线性写入,而采用并行写入,也就是数据被分解成小块,同时写入不同的Nand芯片中。但是一些最便宜同时最慢的SSD,只采用一个Nand芯片怎么办?存储颗粒上每个物理块都动态分配一个逻辑地址,以帮助SSD控制器进行均衡磨损。因此,读取Nand芯片的内容,并返回一个数据混合成块的拼图,以一种看似随机的方式混合。

SSD必须转换Nand地址以便映射坏块,并提供均衡磨损,而Nand颗粒都有写入寿命,即PE全盘擦写次数。大多数TLC SSD都模拟SLC缓存算法,也就是划出专门SLC缓存区,以更低的工作电流改写数据,获得更快的速度,同时减少Nand物理磨损。

3种Nand颗粒的体质差异

看懂SSD Trim工作原理

通常磁盘操作的删除不是马上删除,而是标记为待删除的无效数据(你可以做个试验:拷贝一个大文件到U盘,中途取消然后马上再拷贝一次,前面写入的数据又从无效变成有效,所以速度非常之快,之后恢复真实写入速度)。

机械硬盘工作原理只有读和写,因为数据可以原有磁道上直接覆盖,不需要经过清除这个步骤,这是机械硬盘磁道记录信息的特点。但是SSD不行,SSD改写数据需要执行读、擦、写三个动作,任何一个Nand芯片如果里面有数据,必须把有数据的区块擦除清零才能写入。

对于SSD而言,TRIM指令最大作用是清空待删除的无效数据 ,在SSD执行读、擦、写步骤时,预先把擦除的步骤先做了,这样才能发挥出SSD的性能。奇客之前说过,购买SSD移动硬盘盒和易驱线,要看主控是否支持Trim指令。

一些SSD用几年就掉速,一个原因就是待删除的无效数据太多,每次写入时主控都要先做清空处理,所以性能受到了限制。奇客以前就碰到一块金士顿V300,没有4K对齐速度掉的厉害。

SSD读、擦、写三步曲,就像清理鞋柜,丢掉不要的旧鞋才能装新鞋

因为有些SSD主控算法没那么聪明,很多时候并不会主动清理,通常是系统空闲下来才执行操作。 而很多人用电脑基本不会空闲下来,系统就没时间让SSD休息一下。开启Trim的好处就是随时清空待删除的无效数据,这需要具备两点:Win7以上操作系统,固态硬盘4K对齐,Trim才能生效。

Trim开关命令行:

关闭:sudo trimforce disable

启用:sudo trimforce enable

如果想手动运行Trim,运行Powershell命令行:

Optimize-Volume -DriveLetter G -ReTrim -Verbose

其中G是指定盘符,要在磁盘空间时操作

你知道了Trim的功劳,自然明白如果没有它,固态硬盘删除文件后,一段时间内没做清空处理,以前的文件是可能恢复过来的,这种情况也适用于XP老系统。

SSD数据恢复到底难不难

上面说固态硬盘正常时恢复删除的文件,那么有人说SSD一旦损坏数据就全报销了,是这样吗?奇客要说的是:分情况。

SSD主控写死情况比较少见,而只要Nand颗粒不损坏就有可能恢复数据。如果没有SSD主控的帮助,想恢复固态硬盘上的文件非常难,而且算法是核心技术,厂家不开源。

因为数据恢复要重建转换表,以确定哪些Nand芯片和保存数据的具体地址。不同的主控算法不同,转换表格式也不同,Nand芯片越多重建就越困难,所以SSD数据恢复比较复杂。

数码之家论坛有位达人用专业工具成功恢复了一块64GB CF卡上的视频文件18.4GB,这块存储卡采用了美光SLC颗粒,主控是慧荣SM2246XT,走的是SATA协议,等于小型固态硬盘。

这张CF卡标称速度达510MB/s

这个工具是Flash Extractor——一款比PC3000更牛的数据恢复软件,它可以恢复任意损坏U盘和固态硬盘里的数据。注意是硬件上的损坏,不过软件还要配合对应设备才行,就是下图这个板子:

芯片编程器通过转接头支持各种颗粒

看到镁光颗粒吗?没错,就是把Nand颗粒拆下来,用工具读取底层数据,对照Flash转换表Dump下每个颗粒,通过复杂的算法重组得到正确数据,再用WinHex打开数据镜像,转换为硬盘MBR模式,最终根据文件类型成功恢复数据。

也就是说,不管是BGA还是TSOP封装的Nand颗粒,还是手机采用的eMMC和UFS闪存,理论上通过类似方法都可以恢复数据。但是随着Nand颗粒堆叠层数增多,TLC数据恢复难度会比SLC/MLC更高。所以还是要提醒大家,定期关注硬盘SMART状态,定期备份重要数据,有备无患才是王道。

最后是奇客推荐SSD——

#pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: " "; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } Crucial 镁光 英睿达2T/1T/500G/250G SATA3固态硬盘SSD MX500系列 CT1000MX500 SATA3接口 1TB ¥999 购买 #pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: " "; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } 海康威视C2000固态硬盘SSD M.2 NVME 2280接口含pro笔记本台式机 PCIE 256G【C2000PRO紫光版】 ¥399 购买

相关问答

清除emmc是什么意思,可以清除锁屏密码吗?

“清除emmc”是格式化手机内存的意思,之前设置的开机密码之类的东东,通讯录,安装在手机上的软件之类的都会没有。emmc是指手机内部储存,即手机的EMMC闪存...

手机清除eMMC data什么意思?

“清除emmc”是格式化手机内存的意思,之前设置的开机密码之类的东东,通讯录,安装在手机上的软件之类的都会没有。emmc是指手机内部储存,即手机的EMMC闪...“...

类固醇类药有哪些_千问健康

一般做完手术后打的消炎药属于类固醇类药物,类固醇类药物是一种药还是几种药?类固醇类药有哪些

3ds a9肿么删除cia补丁-ZOL问答

是可以通过程序互相转换的你开机进D9恢复nand就可以了。

山寨苹果6清除emmc是什么意思?

“清除emmc”是格式化手机内存的意思,之前设置的开机密码之类的东东,通讯录,安装在手机上的软件之类的都会没有。emmc是指手机内部储存,即手机的EMMC闪存...

日本为什么把韩国从可享受贸易便利的“白清单”中清除?这背后有什么目的?

感谢“悟空小秘书”的邀请!日本把韩国从可享受贸易便利的“白名单”中清除,这是日本对出口韩国的产品作出进一步的限制,进一步打压韩国的经济支柱:半导体行...1...

苹果手机删除的数据保存在了哪里?会有信息泄露的风险吗?

果曾经通过iCloud备份了手机中的数据,也可以通过iCloud来恢复备份过的数据,iCloud中的数据是保存在云端的,也就是在苹果的服务器当中。如果曾经用iTunes备...如...

闪存是什么?

闪存具有高速读写、低功耗和较长的寿命等优点,广泛应用于各种电子设备中,如手机、平板电脑、相机和固态硬盘等。闪存的主要类型包括NAND闪存和NOR闪存,其中NA...

NAND 与ROM有什么不同-ZOL问答

我的PPC有8G的NAND但是ROM只有128MB,我想问在WM系统中NADN和ROM的使用功能一样吗,或者说NADN能够当作是ROM使用吗?在待机状态系系统会像SDMMC那样切断储存器电...

m.2固态硬盘系统数据恢复工具?

固态硬盘(SolidStateDrives,简称SSD),是一种主要以NAND电子闪存作为储存器制成的硬盘。固态硬盘由控制单元和存储单元组成,在接口的规范和定义、使用方法...

 非你莫属陈昊  伦琴装饰 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部