c08*_*089 29 security file-management ssd
来自一篇(很长,但绝对值得一读)关于 SSD 的文章:
当您删除操作系统中的文件时,硬盘驱动器或 SSD 都没有反应。直到您覆盖扇区(在硬盘驱动器上)或页面(在 SSD 上),您才会真正丢失数据。文件恢复程序充分利用了此属性,这就是它们帮助您恢复已删除文件的方式。
但是,HDD 和 SSD 之间的主要区别在于覆盖文件时会发生什么。虽然 HDD 可以简单地将新数据写入同一扇区,但 SSD 将为覆盖的数据分配一个新的(或以前使用的)页面。包含现在无效数据的页面将被简单地标记为无效,并且在某些时候它会被删除。
那么,安全擦除存储在 SSD 上的文件的最佳方法是什么?除非您覆盖整个驱动器,否则我们习惯于从硬盘覆盖随机数据(例如使用“shred”实用程序)将不起作用......
bwD*_*aco 14
要理解为什么会这样,有必要解释 SSD 在内部是如何工作的。

来源–维基百科的音乐分类器,CC BY-SA 3.0
每个页面可以单独写入,但是页面在擦除之前不能被重写,并且擦除只能在整个块中进行。这意味着每当数据被重写时,SSD 必须将受影响页面中的数据标记为无效并在其他地方重写它,可能在不同的块中。在更合适的时间,理想情况下,当驱动器空闲并且块中的所有页面都被标记为无效时,SSD 可以擦除不再使用的块。此清理过程称为垃圾收集。
为了让 SSD 知道哪些块可以被擦除,操作系统必须告诉它哪些块不再包含有效数据。这是使用ATA TRIM命令完成的。然后 SSD 可以自由地对那些未使用的块进行垃圾收集。
每个 NAND 块只能维持有限数量的写入/擦除周期。当今许多消费级 SSD 使用 19-21 纳米 NAND,其中每个块可使用约 3,000 个周期后变得无法使用,但使用更耐用类型 NAND 的企业级 SSD 和几种高端消费级 SSD 已商用。
但是,在所有情况下,SSD 都必须将写入分散到整个驱动器上,以避免在任何单个块上造成过度磨损,从而避免驱动器过早出现故障,通过称为磨损均衡的过程。只有在保留一定数量的空间(过度配置)以允许根据需要进行高效垃圾收集时才能实现有效的磨损平衡,即使驱动器几乎已满。
在要求 SSD 写入数据的速度快于擦除旧块的速度(在写入繁重的数据中心工作负载中很常见)的极端条件下,它可能会被迫将一个块中的数据重写到另一个块中,然后立即擦除旧块在新数据有机会执行垃圾收集之前,为新数据让路。
块的强制重写不太理想,因为它会降低性能并导致写入放大,其中写入底层 NAND 的数据多于指示驱动器写入的实际数量。通过提供更多的备用空间来重写数据和擦除旧块,增加的预留空间有助于减轻写放大。这就是为什么三星 SSD 845DC PRO 等高端企业 SSD 的大小为 200 GB 和 400 GB,尽管该驱动器实际上分别包含接近 256 GB 或 512 GB 的 NAND。另请参阅:为什么 SSD 的尺寸很奇怪?
三星的 SSD 白皮书系列全面解释了 SSD 的内部工作原理。白皮书 04 中解释了写入和擦除 NAND 页面和块以及垃圾收集。
Secure Erase 指示驱动器擦除所有存储的数据,包括可能保留在过度配置的 NAND 区域中的数据。完成此操作后,所有块都将被擦除,从而产生原始驱动器。
在具有自加密功能的驱动器中,只需擦除加密密钥即可实现安全擦除。由于加密驱动器的 NAND 上的数据在没有密钥的情况下无法读取,因此无需像在未加密驱动器上那样擦除所有块。