在这篇文章中,我们将谈论TRIM命令,它在SSD时代开始出现(大约2014年前),并成为现在所有固态驱动器的原生功能。
那么,这是什么?它是如何工作的?
TRIM–是一个内部硬件SSD命令,与操作系统协同工作。默认情况下,TRIM完全集成在从Windows Vista SP1、Windows 7和MacOS X 10.6开始的所有操作系统中(大约从2009-2010年开始)。
我们知道NAND存储芯片可以非常快速地写入和读取信息。但是覆写将非常缓慢,因为NAND存储器必须:
1.找到写入新数据的位置;
2.擦除旧数据(用零填充NAND单元);
3.进行书写操作;
为了防止这种缓慢的处理,SSD开发人员决定添加一个TRIM命令(垃圾收集器),该命令在后台擦除所有标记为已删除的数据。当用户决定在已经TRIMed和清理过的地方写入新数据时,这有助于节省使用时间。SSD如何知道哪些数据应该是TRIMed?操作系统告诉驱动器哪些数据被标记为“已删除”,SSD只需擦除属于已删除区域的块。
TRIMed文件夹全部为零
有时SSD可以做一件更容易的事情——在快速格式化的情况下,SSD只需擦除编译器——寻址物理到逻辑扇区的微程序。因此,SSD在尝试从中读取任何数据时只返回零(新的逻辑编译器对旧的物理数据一无所知,所以它只“读取”零)。
当你错误地通过数码相机格式化mSD、SD和CF卡时,数码相机也可以用它们做同样的事情。在RAW恢复中,你找不到任何东西,因为编译器已经被删除,新版本的编译器也不关心任何旧数据。
在这种情况下,我们使用FLASH芯片恢复工具和我们的方法从mSD/SD读取NAND存储器并重建图像。这样就可以看到RAW中的数据,有时甚至可以构建具有完整或部分文件夹结构的图像。
但对于固态硬盘来说,芯片关闭是不起作用的,因为所有现代固态硬盘都包含全硬件加密或具有数据压缩的自适应XOR,所以在解密之前,我们不会看到NAND内部的任何数据。
还记得以前的好日子吗,客户给你带了一个格式化的硬盘,并要求恢复?只需在DE中点击几个按钮,就可以获得完整的文件夹结构和十几个RAW数据。
不幸的是,这些日子已经一去不复返了,因为即使是基于Shingle磁记录(SMR)技术的经典硬盘驱动器也在使用TRIM!因此,在快速格式化后,翻译器将被擦除,您将只得到零,而不是真实数据。
所以,让我们想象一下,客户错误地对他的SSD进行了格式化,现在他想恢复数据。有可能做到吗?它取决于以下因素:驱动器容量、写入驱动器的数据数量等。通常,驱动器需要10分钟到24小时才能完全擦除后台的数据。
现代SSD控制器具有多核结构,这允许它们同时做一些事情。例如,当您尝试使用数据提取器扫描驱动器并在RAW中找到至少一些内容时,另一个CPU核心将继续后台处理,所有数据将继续擦除。
您应该记住的最重要的一点是,驱动器TRIMing数据,即使它只是插入电源!如果断开基于SATA的SSD与SATA电缆的连接,这对您没有帮助,因为CPU会在后台不断擦除。
防止TRIM的唯一方法是禁止从CPU访问NAND芯片!我们该怎么做?唯一的方法是在安全模式下缩短驱动器-这将帮助我们禁用对NAND芯片的任何访问,并将使驱动器仅在CPU-RAM模式下运行。所以,我们可以在RAM中写一些东西或从RAM芯片中读取信息,但这不可能影响NAND芯片。
HP EX900 M.2 NVMe驱动器安全模式短路示例
任何SSD上的安全模式方案
现在,我们需要一个Loader——一个由开发人员制作的指定和优化的小型固件。它有点像一个与目标控制器兼容的小型固件,在这里,开发人员完全关闭了所有后台活动,并解锁了一些以前被锁定的附加功能。如果我们有一个兼容的实用程序,我们可以尝试将加载程序加载到驱动器RAM中,并访问当前SSD的技术模式。然后,尝试使用旧的编译器副本重建编译器,并将其上传到驱动器RAM中。之后,我们可以尝试使用以前使用的自定义加载程序访问data Extractor中的数据。在这种情况下,驱动器将在单通道模式下工作——速度较慢,但没有任何后台活动。
Load上载后的技术模式方案
现在让我们总结一下信息:
1.TRIM工作非常快。如果有东西被删除或驱动器被格式化,你只需要几分钟的时间,数据就会永远消失;
2.请勿将驱动器插入电源!任何进一步研究的驱动器连接(通过SATA, M.2, USB等)将导致SSD CPU的TRIM功能!
3.3K SSD必须支持目标驱动器。如果不支持,我们不能禁用TRIM或阻止数据擦除;
为了演示它是如何工作的,让我们向您展示一个实际案例。我们在这里得到了一个基于SM2259XT控制器的noname(SmartBuy NOVA)驱动器和两个由英特尔/镁光制造的NAND芯片。
我们正在检查此驱动器上的内容,其中充满了用户数据。一些视频、图片、文档——随机客户每天使用的所有内容。
现在,让我们尝试用Windows上的快速格式化按钮来格式化这个驱动器;
正如你所看到的,数据已经不见了。
在通用工具和数据提取器中,我们只会看到零,因为DE使用的是本机驱动器编译器,而且它是在快速格式化驱动器后制作的新编译器。
LBA 1 232 134中通用实用程序中的零而不是数据
格式化驱动器后为空分区
RAW没有任何旧数据,只有分区格式化后的新NTFS记录
我们现在没有太多时间,因为我们扫描驱动器的次数越多,后台擦除的块就越多。我们需要急于在安全模式下缩短驱动器——这个技巧将帮助我们从CPU禁用NAND芯片。
现在,让我们保持驱动器短路,因为对于Silicon Motion和Phison控制器,我们需要在驱动器初始化期间为它们重新供电几次。SSD必须始终处于安全模式。
让我们启动SM2259XT的兼容实用程序(例如Silicon Power),并上传用于激活驱动器额外功能的加载程序。
有时我们需要手动选择兼容的加载程序
当驱动器完成初始化时,就可以启动编译器构建过程。驱动器将扫描服务区域,将接收一些重要的SA模块,这些模块包含有关重新分配、删除、坏扇区和好扇区的信息,并将使新的编译器处于自动模式。
编译工作已准备就绪。前进到数据提取器,并使用实用程序作为源进行新任务。
当一切就绪时,在对驱动器进行成像之前,让我们首先检查LBA 1 232 134,它在驱动器格式化后由零填充。现在,它包含数据!
在翻译器构建之后,LBA 1 232 134包含数据,而不是零!
当然,我们必须使用RAW恢复来查看文件。如果我们有一些——让我们停止这个过程,从完整的驱动器成像开始。如果驱动器出现一些问题,我们仍然可以获得完整的内容副本。
现在,在RAW中,我们看到了1000 000 LBA扫描后的大量数据!
逐扇区复制到另一个驱动器以进行进一步分析
当复制完成时,让我们回到RAW,并尝试找到一些有用的东西。正如你所看到的,RAW充满了数据!不幸的是,有时文件夹结构可能会消失,因为快速格式化会覆盖Zero Block,其中包括有关主引导和引导扇区的信息。如果没有这些信息,文件系统将不存在。
仅进行10%的RAW扫描后的结果–许多文件仍在SSD上
但是数据提取器是一个非常强大的东西,经过磁盘分析,即使在格式化驱动器的情况下,也可以找到分区的旧副本并进行恢复。当然,它比完整的FS更糟糕,但比RAW要好得多。
关于如何来防止TRIM的大部分信息。让我们再次总结最关键的信息:
自2010年以来,TRIM在每个操作系统和每个SSD中默认打开;
数据从1分钟到24小时变为TRIMed(取决于驱动器容量和删除的数据量);
即使是快速格式化也会导致编译器擦除。所有数据将在数据DE中显示为零;
如果您对数据恢复案例有任何疑问,欢迎向技术支持部门咨询。
评论前必须登录!
注册