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