在三星SSD上安全擦除仅花费几秒钟是正常的吗?


8

我已使用Linux ATA Wiki上描述的过程在500GB Samsung SSD 850 EVO上运行了几次安全擦除操作,仅需几秒钟即可完成:

linux-203v:~ # time hdparm --user-master u --security-erase foo /dev/sdb
security_password="foo"

/dev/sdb:
 Issuing SECURITY_ERASE command, password="foo", user=user

real    0m2.745s
user    0m0.001s
sys     0m0.003s

擦除后在十六进制编辑器中查看时,驱动器确实完全空白。

这正常吗?驱动器是否真的如此快地擦除了所有NAND单元?


我们有一个答案,它之所以如此之快,是因为所有内容都是同时编写的,而另一个答案则是,它实际上根本没有完成。这必须是“基于观点”的问题之一。:-)
fixer1234'2013/

@ fixer1234:不,答案之一是错误的(可能对其他品牌来说是正确的,但对于命名的模型,实际行为丝毫不“基于观点”)
Ben Voigt

@本:如果您知道,您可以写一个自己的答案。
bwDraco '16

@bwDraco已经写好了吗?
Ramhound

Answers:


8

要知道的一件事是,数据永远不会“清晰”地存储在SSD中,因为存储随机数据(而不是一连串的零和许多文件中自然存在的零)对SSD的耐用性和可靠性有好处。较旧的SSD使用LSFR,但大多数(所有?)较新的SSD使用AES加密来随机化数据。如果您未设置密码,则SSD仍会加密,但是密钥是“公开可用的”。

有关更多信息和来源,请参阅Journeyman Geek的答案,为什么即使没有设置密码,我的SSD也会内部加密数据?

为了安全擦除,删除加密密钥就足够了,这几乎是瞬时的。还可以进行所有扇区的TRIM,以实现损耗平衡,这需要3秒钟。

当您检查扇区是否真正空白时,很可能甚至没有读取它们,因此从控制器的角度来看,不需要像对TRIM所说的那样知道它们是空白的。


1
我已经知道了这一点,我在您所指的问题上写下了最高答案。
bwDraco '16

没注意到。但是基本上是删除加密密钥:即时,TRIM整个驱动器:3秒,覆盖整个驱动器:没有意义,因此没有做。
萨莎K

4

是的,那很正常。

机械磁盘需要一次进入磁盘上的每个扇区,并实际上以随机数据位覆盖先前的数据。

SSD可以简单地或多或少地同时向每个扇区发送擦除命令,并且发生相同的情况。

此功能内置于SATA接口中,尽管不同的驱动器以不同的方式支持它。


...然后,我希望可能会有一些便宜的驱动器,它们不会麻烦擦除任何东西,而只是通过FTL将所有扇区重新映射到单个空单元中。
grawity

有可能。我现在从事的工作是重视安全性,我们在粉碎驱动器之前先用军用擦拭擦拭所有驱动器(我知道是冗余的),然后才开始购买SSD,所以问题来了:“如何擦拭这些驱动器” 。有一些命令会擦除驱动器,但是它要求驱动器支持该命令(应将其称为ATA,但并非所有命令都支持)。
music2myear

1
值得指出的是,如果您真的担心SSD上曾经存在的数据,那么这些擦除功能只有在您还使用FDE的情况下才真正有效。显而易见的原因是,SSD拥有额外的空间,以帮助更好地磨损单元,擦除功能的方式和方式取决于设备本身。使用此功能时,不能保证它能正常工作,擦拭掉额外的空间,只是告诉您它发生了。驱动器的内置加密可以很好地使用,也可以使用操作系统提供的FDE。
Ramhound

1
为了安全擦除,实际上并未擦除所有扇区(如覆盖和销毁内容)。
萨莎K

批量擦除闪存具有一些效率,但与单块擦除相比,时间仍然长得多。由于功耗原因,无法并行擦除整个芯片。
Ben Voigt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.