当前位置:首页 » 博客 » 正文

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

摄影师把存储卡格式化了数据还可以恢复吗?当我们艰难的回答“不知道”的时候,是因为我们掌握了太多的技术,有许多的可能性存在。犹如医院也做不到所有的病人都可以被医治。我们能做的就是不断提高技术,帮助更多需要帮助的人。

一,卡的分类

1、SD 协议:SD,TF

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

2、ATA协议:CF,Cfast, SATA,MINI-MAG

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

卡读取速度通常以 MB/s 或“x”显示。以 MB/s 为单位写出 CF 读取速度会更有帮助,但您可以通过将“x”数除以 6.6666 来轻松地将显示的速度转换为 MB/s。例如,如果 CF 卡的外部速度为 x1000,则读取速度约为 150MB/s。

CF版本 6.0 (2010年11月) 支持 Ultra DMA Mode 7 (最高 167 MB/s), ATA-8/ACS-2 sanitize指令、TRIM指令

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

CFast是CF的变体,基于 Serial ATA 总线,全称CompactFast,简称CFast。CFast卡在物理和电气规格上都不兼容于CF卡,不过SATA可以模拟PATA的指令协议,现有的CF软件驱动程序可以继续使用。如果撰写使用AHCI的新驱动程序,大多都会有可观的性能增长。CFast卡使用7 PIN的SATA母座与17 PIN的电源母座,可透过适配器转接成一般的SATA接口。

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

AHCI(英文全称:Advanced Host Controller Interface),中文名为高级主机控制器接口,是由英特尔制定的技术标准,允许软件与SATA存储设备沟通的硬件机制,可让SATA存储设备激活高级SATA功能,例如原生指令队列及热插拔。AHCI为硬件制造商详细定义了存储器架构规范,规范如何在系统存储器与SATA存储设备间传输资料,目前最新AHCI规范为1.3.1版。AHCI通过ALPM协议进行电源管理。

SATA(英语:Serial ATA,全称:Serial Advanced Technology Attachment)是一种电脑总线,负责主板和大容量存储设备(如硬盘及光盘驱动器)之间的数据传输,主要用于个人电脑。

常见录机的硬盘,目前大多为SATA硬盘,上图RED的mini-MAG,网上有拆解视频,实际也是mSATA 的硬盘。

3、PCIE协议:NVMe,XQD,CF express A/B,SXS,CODEX

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜 谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜 谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

NVMe是一种协议,是一组允许SSD使用PCIe总线的软硬件标准。

目前可以找到MVMe转CFexpress的转接卡套,可以很方便的把SSD硬盘转换为存储卡,这也说明协议是相通的,只是接口不同罢了。

二、卡的指令

TRIM——是一个内部硬件 SSD 命令,与操作系统配对工作。默认情况下,从 Windows Vista SP1、Windows 7 和 MacOS X 10.6(大约 2009-2010 年)开始,TRIM 完全集成在所有操作系统中。

因为许多文件系统以标记数据块为“未使用”来处理删除操作,而非真正“清空”数据,因此存储介质(传统硬盘、SSD)通常不知道哪个扇区/页是正在使用,哪些可被认作空闲空间,这与重写(rewrite)操作不同,删除操作不涉及对数据所在扇区/页的物理写入。SSD等存储介质通常不负责管理文件系统(例如未使用的数据块/扇区表),也无法获知哪些数据块/扇区已经可用。这使反删除工具能通过更底层的方法,从传统的机械硬盘上恢复文件,因为尽管操作系统报告用户文件已被“删除”,并腾出了存储空间。但在存储介质上,文件所在的扇区只有在下一次写入时,旧数据才会被覆盖,从存储介质的角度看,“删除”操作更接近于“重写”。对于机械磁盘来说,这与写入空扇区没有区别,但因为SSD最底层的一些特性,与将数据写入空页相比,重写会有显著的开销,从而潜在地削弱写入性能。

SSD在闪存单元中通常以4-16kB为一组来存储数据(称之为页),每128-512kB的页组合成更大的一组(称之为块或数据块)。举例来说,某一品牌的SSD将4kB的数据组合成一页,其数据块大小是512kB,每一数据块包含128个页。NAND闪存单元只能在处于空状态时写入。如果它们包含数据,则执行写操作前必须擦除其内容。SSD一次写入最少一页,但由于硬件限制,擦除数据时将会抹除整个数据块;因此将数据写入到SSD上的空页时非常快,而写入已有数据的页就会明显变慢。这是因为页被再次写入前需要擦除数据,但SSD只能擦除一整个数据块,随后把数据块中的其他数据以改写的方式(按“读取、擦除、修改、写入”的方式)完成;整个块的内容会先存储在缓存中,然后在SSD中擦除整个块,再将改写的页写入到缓存的块,最后再将更新的块写入闪存介质。这种现象也称写入放大。

为了防止处理速度变慢,SSD 开发人员决定添加一个 TRIM 命令(垃圾回收器),该命令在后台擦除所有标记为已删除的数据。它有助于在将来用户决定在已经修剪和清理的地方写入新数据时节省时间。SSD 如何知道哪些数据应该进行 TRIMed?好吧,操作系统告诉驱动器哪些数据被标记为“已删除”,而SSD只是擦除属于已删除区域的块。修剪后,SSD 在将新数据写入闪存页时不会保留块的任何内容,从而减少写入放大(减少写入),提高写入吞吐量(无需读取-擦除-修改序列),从而延长驱动器寿命。

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

有时,SSD 可以做更简单的事情——在快速格式化的情况下,SSD 只需重置编译器——用于处理物理扇区到逻辑扇区的对应关系。因此,SSD 在尝试从中读取任何数据时仅返回 ZEROES(新的编译器对旧的物理数据一无所知,因此它只“读取”零)。

数码相机在使用 SD 和 CF 卡时可以做同样的事情,当您错误地通过数码相机格式化它们时。而在RAW恢复中,你找不到任何东西,因为编译器已经被擦除了,新版本的翻译器不关联任何旧数据。

TRIM命令使SSD可以从操作系统处得知哪一部分数据将永远不会被访问。对于删除操作,操作系统会将整个数据块标记为可用于新数据,然后向SSD发送TRIM命令。SSD完成这一操作后,在新的数据写入这一页时,SSD将刷新整个块的数据,而不保留块中其他页原本的内容,从而缓解写入放大现象(写入次数更少),并提供更高的写入吞吐量(不需要执行读取、擦除、修改),还能显著延长驱动器寿命。

不同的SSD实现的方式有所不同,因此性能可能也有所差异。TRIM也被广泛用于叠瓦磁记录(SMR)硬盘。

SD卡(MultiMediaCard) 和 SD ERASE (CMD38) 命令提供与 ATA TRIM 命令类似的功能,尽管它要求用 4 或 5 覆盖擦除的块。在 eMMC中进一步定义了 DISCARD 子操作,并在 SDHC 和 SDXC 卡中(可选)定义了 DISCARD 子操作,该子操作与 ATA TRIM 更接近,因为丢弃块的内容可以被视为不确定的(即“不关心”)

TRIM命令规范已标准化为ATA接口标准的一部分,由国际信息技术标准委员会(INCITS)技术委员会领导。TRIM 是在 ACS-06 规范草案的 DATA SET MANAGEMENT 命令(操作码 2h)下实现的。并行(IDE、PATA)和串行(SATA)ATA硬件均支持ATA标准。

NVM Express 命令集具有通用的数据集管理命令集,用于在一组块范围内向存储设备提示主机的意图。DEALLOCATE 的操作之一执行修剪。它还具有 WRITE ZEROES 命令,该命令提供 DEALLOCATE 提示并允许磁盘修剪和返回零。

三,数据恢复可能性

TRIM命令通知SSD从LBA(Logical Block Addressing)区域上标记为无效,从逻辑层上对该区域进行读取将不会返回有效数据。从物理层面看,数据仍可能短时间驻留在闪存内部,SSD彻底完成垃圾回收的工作之后,恢复数据几乎是不可能的;这不同于机械硬盘中被删除的数据可能被数据恢复。

TRIM 命令使操作系统能够通知 SSD 不再包含有效数据的页面。对于文件删除操作,操作系统会将文件的扇区标记为可用新数据,然后向 SSD 发送 TRIM 命令。

在这种情况下,我们使用芯片读取设备从 mSD/SD 读取 NAND 存储器并重建映像。然后,可以查看 RAW 格式的数据,有时甚至可以构建具有完整或部分文件夹结构的图像。但是对于固态硬盘来说,芯片关闭是行不通的,因为所有现代固态硬盘都包含完整的硬件加密或带有数据压缩的自适应异或,因此在解密之前,我们不会在NAND内部看到任何数据。

通常,驱动器需要 10 分钟到 24 小时才能在后台完全擦除数据。

现代 SSD 控制器具有多核结构,这使它们能够同时做几件事。例如,当您尝试使用数据提取器扫描驱动器并在 RAW 中查找至少某些内容时,另一个 CPU 内核将继续后台进程,并且所有数据将继续被擦除。

即使只是插入电源,芯片内部数据依旧在擦除。如果您断开基于 SATA 的 SSD 与 SATA 电缆的连接 – 这将无济于事,因为 CPU 会在后台不断擦除。

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

防止TRIM 的唯一方法 – 禁用从 CPU 到 NAND 芯片的访问!我们怎样才能做到这一点?唯一的方法是在安全模式下短路驱动器 – 它将帮助我们禁用对 NAND 芯片的任何访问,并使驱动器仅在 CPU-RAM 模式下运行。因此,我们可以在RAM中写入一些东西或从RAM芯片中读取信息,但不可能影响NAND芯片。

谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜

总结:

§自 2010 年以来,TRIM 在每个操作系统和每个 SSD 中默认开启

§数据在1分钟到24小时内变为 TRIMed(取决于总容量和已删除数据量)

§即使是快速格式化也会导致编译器擦除。所有数据以零的形式显示

§防止 TRIM 的唯一方法——关闭驱动器的电源或将其永久保持在安全模式

最头疼的事情在这里:

由于各厂商的技术保密,目前恢复设备支持的固态硬盘并不多,支持512GB以上的SSD更少,我们实际测试下来,只有低速的SD卡,Lexar雷克沙部分cfast卡目前我们有设备支持,其他卡特别是CFexpress卡,目前找不到支持的设备。

你只能做的就是:再也不通电

可是,要等多久呢,素材是有时效性的,我也不知道。所以,格式化之前要三思。

未经允许不得转载:鑫开天数据恢复 » 谁给的勇气把存储卡格式化?——视频存储格式化数据恢复之谜
分享到
1
0

精彩推荐

联系我们
13011628855复制已复制

山东淄博市张店区西六路齐赛科技一期4047室

复制已复制
0533-2778130复制已复制

13011628855

复制已复制
357178028复制已复制
高级工程师
13011628855复制已复制
第一时间解决为您提供专业技术服务
电话
0533-2778130复制已复制
工作时间:8:30-12:00;13:30-17:30
客服微信
13011628855复制已复制
技术咨询联系微信
contact-img
客服QQ
357178028复制已复制
工作较忙,尽可能电话或微信联系