将零写入整个 SSD(dd if=/dev/zero of/dev/sdX)是否能获得与“安全擦除”相同的性能恢复效果,或者安全擦除是否也能做其他事情?
==编辑== 稍微澄清一下;我不关心安全地销毁数据,我只想拿走这个驱动器(它上面已经进行了大量填充/删除)并恢复随着时间的推移发生的 SSD 性能损失。
答案1
如果我没记错的话,我不确定你能这样做可以安全地擦除它。从操作系统接收指令的控制器电子设备在内部实施例程,以正确均匀地磨损 SSD 单元;它们具有有限的写入/读取周期,如果您不断地写入它们,它们就会“死亡”,因此内部系统会分发写入指令以防止驱动器出现问题。最好的办法是完全写入数据,然后擦除文件并重新执行。然后,您会缩短它的寿命,即使这样,也可能有空间没有被覆盖,因为我相信可能会为其他数据保存一些多余的空间和/或为找到的坏单元备份空间。
如果您对消除旧存储介质上的数据有安全要求,您可能不想使用 SSD,或者您可能需要研究一些更老式的东西,比如猎枪或金属粉碎机。
如果要恢复性能,则需要驱动器支持 TRIM;大多数制造商都会推出用于刷新驱动器的实用程序。随着时间的推移,操作系统会内置 TRIM 支持。
几年后,您可能无需做任何事情来维护驱动器。这很像对驱动器进行碎片整理。OS X 已经对小于 20 MB 的文件进行碎片整理。大多数 Linux 文件系统在减少碎片方面做得相当好。似乎 NTFS 仍然存在问题,但我认为,随着文件内文件概念在 Windows 中越来越流行(想想 ISO 映像和 VM 驱动器),这个问题在某个时候会减少。
因此,要回答这个问题...将驱动器清零不会像 TRIM 支持和制造商实用程序那样恢复性能。
答案2
尽管安全擦除在功能上是一个单次传递过程,但它与作为外部执行过程的单次传递覆盖在许多方面有所不同。让我们考虑以下情况,SE 是作为设备驻留控制器控制的内部过程启动的。作为内部过程启动的事实使 SE 能够从特权设备控制中受益。这些包括在有利环境中正确执行时处理主机保护区(通常为操作系统映像保留的系统分区)和系统文件、G 列表以及消除设备控制覆盖(向主机定义虚拟设备几何的表)的能力。本质上,SE 能够处理介质表面的所有可写数据存储区域,这是 ATA 设备上任何情况下外部控制过程都无法做到的(由于控制器介质区域访问限制),这包括 SSD 设备以及磁性存储设备。
如果您对《数字数据销毁最佳实践》的详细指南感兴趣,我很乐意免费提供由我和加州大学圣地亚哥分校磁记录研究中心的 Gordon Hughes 编写的指南个人使用版,只需询问即可。请访问http://www.cicadasecurity.com.guide.html访问指南的请求表。
哦...差点忘了...要恢复由 SSD 的安全擦除上的磨损均衡所造成的性能损失,答案就是。从外部执行的整个驱动器覆盖将被视为常规写入周期,并将受到磨损均衡的影响。使用 SE...有关 SSD 性能和如何恢复性能的更多信息,请访问 Anand LaShimpi 的网站 anandtech dot com 并搜索论文 2738,标题为“SSD 选集:了解 SSD 和 OCZ 的新驱动器”,其中对 SSD 性能进行了精彩的讨论。
答案3
不,似乎不是:根据这里安全擦除还会重置驱动器并将所有块标记为可用。现在归零显然不能将块标记为可用,因为它充满了数据,尽管是零。
该链接还重新链接到一些工具。
答案4
如果您有任何安全顾虑,我建议将驱动器完全清零一次,因为据我所知,每个闪存单元只能保存一种状态,如果您将其清零,则您确定了最后的状态。然后我会使用安全擦除工具来恢复性能。
这不应该对驱动器寿命造成明显的影响,因为每个单元在每个步骤中只能使用一次,并且有数千个写入周期。
(我写了另一个答案,因为我想将问题的答案和进一步的建议分开,以便于阅读。)