日本电子维修技术 SSDssd不能还原已删除文件是因为它的trim功能吗?




因为前几天帮人恢复ssd上误删除的文件,结果没能恢复成功。
所以查到了ssd的trim功能。
不同于hdd可以数据还原,ssd上面文件一旦删除了,靠软件很难还原。
我百度出来的trim功能,写的很不简单明白。看了好几遍,只能说是模模糊糊的弄懂了。
以下是我的理解,错了的话还请轻拍:
就是因为有了trim功能,所以当你删除了文件后,ssd不一定会马上擦除相关的区域,而是会找时间,一旦主控觉得有空闲的时候就擦除掉已经标为删除的空间部分。
所以我们就不能恢复ssd上的已删除文件
而hdd没有trim,所以他所标记位删除了的部分是没被真正清空的,就可以恢复数据。
所以关于 trim 我总结就是;看到哪里又没清理掉的垃圾,为了ssd可以高效的运行,他会去及时的清理这些垃圾,也就导致了删除的文件不能被恢复。

如果要是理解错了,数据不能还原 不是因为trim,还请各位高手指点一下是什么原因导致不能数据还原。指点一下trim的真正功能或者另外还有什么功能。
谢谢


话说我看了你们的回帖,意见都很不一样,更觉得懵逼了




评论
你说的对

评论
不是,trim功能不影响数据

评论

似乎Trim后,主控就会清空nand页面?

评论

会影响被标记删除的数据啊

评论
应该是像HDD删除是到回收站,U盘删除直接删没了

评论

trim只进行标记,不对数据进行操作


评论
nand原本是写入数据的时候,才删除原来的数据


trim就是把标记为删除的数据删除掉,变成可以直接写入的状态

评论

trim标记后,主控一有空就会擦除标记的page... 然后就恢复不出来了...

评论

hdd连trim都没有
照你的意思就不擦除数据了?
再说一遍,trim只是对数据进行标记而已
擦除是由别的操作负责的
hdd也照样有标记的操作,如果说是因为trim所以不能恢复数据那么为什么hdd标记了还能恢复


评论

trim是把数据进行标记,谁告诉你trim是把数据删除变可写的

评论

首先,HDD没有trim...你说的HDD删除后标记只是在文件系统层面标记了下,简单说就是把指向这个文件数据的指针/入口干掉了,但数据还在原地,所以能恢复。

第二,你似乎没明白SSD要trim的目的... 如果你明白SSD需要trim的目的,那么一定理解trim之后的主控去做擦除是一个必要的动作。不然trim就无意义了...

评论

trim就是ssd在硬件上对数据进行的标记
数据照样在原地,所以你连trim是啥都没搞清楚
顺便,到底谁教你trim后擦除是必要动作的
我可以告诉你市面上至少有10%的固态硬盘在trim后是不擦除的


评论

trim之后不一定执行擦除,但trim的目的就是好提前擦除。不然你解释下trim的目的?

还有我在想,我俩是不是在说一个事情??
trim这个动作不是擦除动作,但是为了擦除而去标记的,不是么?

评论

trim的目的就是标记,至于标记之后还要干什么,什么时候擦,那是固件去决定的事情
后面这句你是说废话
hdd没有trim但是他的标记照样是为了擦除而去标记的,是不是
所以标题“ ssd不能还原已删除文件是因为它的trim功能吗?”
答案就是不是

评论

遇到了最后才发现是三个半角符号的点造成的迷之XX词汇的问题.......之前一直发不出来完整的
-----------------------------------------------------------------


如果只是按照LZ的字面意思,原原本本逐字去理解,答案当然是『不是』。
但这个问题就像是一般人问:CPU是沙子做成的吗?一样... 按你的严谨审题应该回答:不是的。但为何还是那么多回答是『是』呢?

但比你的严谨更严谨的说,应该是『可能是的』,因为尝试读取trim标记了的区域,会让有些SSD直接返回0,哪怕那些数据还在闪存颗粒上

再回到你说的HDD
像是NTFS,在bitmap上标记删除的目的是为了在下次写入数据的时候,可以在原先被删除文件所在的区域写入,而不用找全新没用过的区域写入... HDD写入时根本就没有需要先擦除这一说...
HDD在任何时候都不会去主动擦除扇区,所以HDD误删文件后,只要不写入,或者说新写入时没有恰巧写到原来文件所在的区域,就能恢复出来







评论
恢复不出来的一部分情况是因为启用trim后,SSD主动擦除trim了的区域造成的。trim是引出SSD擦除page这个果的因。
还有一点就是,trim本身也能让SSD对于trim了的区域直接返回0,哪怕NAND上的数据还在。

还有一部分是固件主动GC造成的。

评论

照你这个说法还不如说是点了删除是恢复不了数据的原因

实际上不启动trim,ssd照样会有恢复不了数据的情况
启动trim只是让他不能恢复的过程中发生的一个指令而已
说起来删除这个操作本身也是让他不能恢复过程中进行的一个必要过程,还不如说删除操作才是因呢

trim会让被trim操作的区块返回0,尽管数据还在,那么这很明显就是数据恢复软件的问题了,数据还在软件完全应该,也必须要有能力把还有数据的块进行恢复,如果不行,那软件的锅

如果要回答这个问题
要答案当然必须得是导致这个不能恢复发生的必要并且充分的条件,而不是trim,这个连必要条件都不是,也不是充分条件

评论

楼主明显是不太懂才来这问的,您懂得多,真没必要在这认死理。我等小白被你这么说越说越乱,您有心就讲讲明白,也好长长见识。不然真是越说越乱

评论

居然审核了,蛋疼

trim既不是不能恢复的充分条件,也不是不能恢复的必要条件(trim了的数据不一定不能恢复,不能恢复的数据不一定被trim标记)
说这个是原因,根本无厘头
说trim是不能恢复的原因还不如说删除了才是不能恢复的原因,至少删除是不能恢复的必要条件

评论

反正trim不是不能恢复的原因,记住这个就行
trim充其量就是提高了恢复的难度


评论

清楚明了,赞

评论

如果软件不能从NAND颗粒上直接读取数据,那么对于SSD来说Trim就是不能恢复数据的直接原因(很可能有特殊的固件的SSD不这么做,但这里不考虑)。因为被标记了trim的区域,就算数据还在NAND颗粒上,还没来得及被擦除,主控也返回的0或者别的非原本的数据。

这也是为什么检测trim生效与否的程序很简单的设计成:
1. 创建文件,写入内容
2. 立马删除文件
3. 立马对比原本文件区域的数据,与原先写入的数据是否一致。
4. 不一致?那就表明trim生效了

trim03.jpg (70.05 KB, 下载次数: 0)

2017-8-3 04:08 上传


看到那一堆0了么?

当然,软件上也写的:Trim『似乎是』工作的
但这至少表明绝大多数SSD就是这么执行Trim。

那么对于楼主,我想也是一个接触家用设备的普通用户的代表吧,那么可以直接简单的回答:『是的』了...

而对于geek,有能力深入SSD底层的人,回答一定如前面那位那样子严谨。但这样子的人会问这类问题么?


评论

现身说法,更赞

如果TRIM一直默认运行,那一旦数据删除拔掉数据线也没救了吧

评论

  通常是。但你的理解不太对。
  对于操作系统来说,TRIM只是操作系统告诉SSD,这些LBA所在的数据我不要了。至于SSD有没有根据TRIM擦除数据,OS不知道。
  对于SSD来说,TRIM使SSD可以被动地、即时地得知哪些LBA的数据是不需要的,然后标记对应的物理地址数据为不需要,从而在垃圾回收GC时不保留它们。TRIM不负责数据的物理擦除。
  (也即az6338890所表达的意思)
  
  TRIM的设计目标是保证无用的数据不会被保留,不会被当成有用的数据挪来挪去,会被及时又快速地擦除。一旦系统、SSD都声明支持TRIM并且发出、接收了TRIM指令,只有不停电、无故障、无bug,对应的物理数据必然会被及时地擦除。所以TRIM会导致已删除的文件无法还原。
  不支持TRIM的SSD也可以通过自家软件定期扫描、固件定期扫描、安全擦除等来擦除物理数据,从而导致已删除的文件无法还原。(az6338890所表达的另一意思)

  
  
  az6338890没否定TRIM会导致已删除的文件无法还原。他的意思是,文件无法还原是因为数据被物理擦除,数据被物理擦除的最直接指令、直接原因不是TRIM。他的问题在于他把“原因”错误地限制为“直接原因”。TRIM的确不是直接原因,但TRIM通常是原因之一,是关键一环。
  举个比喻来理解,一个活生生、医学健康、正壮年的动物,被刀深深捅进心脏再搅拌、扩张伤口,然后死了。该动物的死亡是不是因为刀捅这个动作?(此问题与楼主的问题无关,与主题类似的应是“动物的死亡是不是因为刀捅”)
  1、刀(只是)破坏了心脏的结构。
  2、心脏结构被破坏后,血液流不到需要血液的地方去。刀虽然是主动捅的,但控制血液流向的不是刀而是压力。
  3、全身细胞(寄生微生物除外)得不到足够的ATP,失去动力而死。
  只有第三点符合az6338890这里“直接原因”的逻辑,从这个逻辑出发会得出“该动物的死亡不是因为刀捅”的结论。这样的说法其实也说得过去,但不符合我们的用语习惯而已。
  
  
  为何22楼的trimcheck软件用了appears to这样不确定的说法呢?
  SSD与机械盘的不同之处之一,机械盘的逻辑地址LBA与物理地址是固定对应的,只要不被改变参数格式化或坏区重映射,某个LBA就一直指向盘片上的固定物理区域。SSD的LBA与物理地址之间还隔着一个映射层,没有固定的对应关系。TRIM指令毫秒级生效,不过SSD执行TRIM指令是将指令包含的LBA地址指向到新的空白物理地址,重映射,并且标记原来的物理地址数据为“删除”或“不要”。这时trimcheck读取的当然都是00 00 00了。但实际的数据物理擦除要等到GC来执行,GC有快有慢有忙有闲。
  实际上trim已经生效了,不是appears to,只不过数据还不一定被擦除而已。

评论
我自己的理解是HDD标记删除,实际上是未删除的,做个标记等待覆写,在覆写之前数据是可以恢复的;SSD是做个标记,固件会告诉系统这个数据已经over了,然后固件有空的时候就把这部分数据删除了。

评论
找个不支持trim的u盘试试能不能恢复数据不就知道了

评论

不全是trim。垃圾回收也会移动数据造成无法恢复。u盘主控应该没有垃圾回收这个功能。

trim(严格来说是trim标记以后主控自动删除页面)和垃圾回收一起造成了无法恢复。

评论

比喻得挺好的

评论
神仙打架,小白完全看不懂..ssd就不要想着恢复数据了

评论
HDD就像懒惰的管理员,领导告诉他这些东西没用了,他嘴上说知道了,实际并不立即清理,直到新东西来了,才把这些垃圾换掉。

评论
SSD要勤快一些,领导说这些没用,他说知道了。说完以后,如果他有空,就会立即把垃圾清理掉,如果当时没空,一得空也会立即清理掉。

评论
CHH果然是个可以学到很多知识的地方~~各领域的大神都有~

评论

造成文件不能恢复的原因之一确实是“被物理擦除了”,但要对于一般用户来说,这不是唯一的原因。还有个原因也如你所说,就是主控收到TRIM之后,之后对于原区域的RAW读取返回的是别的区域的数据或者直接返回0,而这点就是直接由TRIM指令引起的。

对于一般用户而言这完全可以表述成:TRIM是造成数据难恢复的原因(之一)

不然真的过度回答,或者不按一般用户的思路去回答的话,上面说的“TRIM标记之后别的动作造成的不能恢复”也是不严谨的,更严谨的说法应该是“TRIM标记后,别的动作带来的擦除动作带来的NAND中对应CELL中的电子丢失才是造成不能恢复的原因”... 但这...就不是在说人话了...

评论

因为HDD不需要做这个动作。
HDD可以直接覆盖写。
SSD不行才要先整理

评论

差不多
不过主要难以恢复的原因还是目前并没有一个优秀的软件来支持ssd的数据恢复
不然支持trim但是是被动GC的ssd,以及运行在raid模式下的固态盘
应该都可以恢复,但是实际非常的困难
问题还是在软件的支持上


评论

支持这个解释。其实说白了就是对TRIM这个概念本身的理解的分歧而已。奇怪的是为啥前面吵的不给出自己对于TRIM的理解到底是属于哪个范围。
严格意义而言,TRIM只是一个ATA命令。支持TRIM就是说OS可以发TRIM命令给存储器,同时存储器可以理解这个命令。这个命令的含义,就只是说某个块没用了。
实际上,大部分人对于TRIM的理解不仅仅是包含了这个命令本身,还包含了OS和SSD对于TRIM生效之后的行为,这也是显而易见的。一般说支持某个功能,常常意味着不仅仅理解这个功能,同时还有利用这个功能做更多的事情。
说严格了,TRIM不包含数据擦除。说通俗了,TRIM本身就是标记数据为删除了,那标记之后无论OS也好文件系统实现也好还有SSD主控也好,支持TRIM必然意味着有实际TRIM后擦除的行为了。

没有对错,只有理解偏差。

评论

为什么我看的版本别说trim,慢速格式化都能恢复?道听途说我不负责任,或者有谁试试看

“[已解决] 悲剧,硬盘误被低格,求数据恢复方法(已解决)
最新进展:用DiskGeniu恢复硬盘分区,数据可以考出来,但是………………”

他说的低格大概是指慢速格式化,因为低格是指机械硬盘重新分级分区扇形什么的,不是能“误被”的操作
电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
 ·日本留学生活 求个大阪合租
·日本留学生活 自家房招租求
·日本留学生活 东京地区出9成新lv钱包
·日本育儿教育 孩子从国内过来如何学习日语
·日本育儿教育 明年四月横滨招月嫂
·日本育儿教育 请问咋让娃突破识字关?感谢分享中文共读和学习经验的妈妈
 ·中文新闻 东区明星迈克尔·格列柯,53 岁,将在第一次出生两年后第二次
·中文新闻 《爱情岛》明星卡米拉·瑟洛和杰米·朱维特在透露即将迎来第三

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...