查看原文
其他

闪存存储设备数据销毁(Data sanitization)入门

常华Andy Andy730 2024-03-16

Source SNIA CMSI, : August 25, 2022, Is the Data Really Gone? A Q&A


Is the Data Really Gone? A Primer on the Sanitization of Storage Devices

https://www.snia.org/educational-library/data-really-gone-primer-sanitization-storage-devices-2022


在我们最近的Webcast中,我们的主持人Jonmichael Hands(Chia Network),Jim Hatfield(Seagate)和John Geldman(KIOXIA)深入研究了什么是数据销毁(Data sanitization),标准是什么,以及当前在哪里进行销毁。下面我们的专家回答了更多关于数据销毁的问题。


问:过度配置(Over Provisioning)是备用块还是单独的?


答:过度配置策略的主要目的是解决块擦除(例如,MB)和页面写入(例如,KB)的非对称NAND行为,从而允许有效利用NAND芯片的耐久性功能,换句话说,它是一种存储功能,经常使用,将旧版本的逻辑块寻址(Logical Block Addressing,LBA)留在介质中,直到适合垃圾回收。


备件是过度预配的子集,备用块策略与过度预配策略不同。备用策略的主要目的是故障转移功能,主要用于某种故障(这可能是硬盘驱动器或坏扇区上的临时振动问题)。



问:美国国家标准与技术研究院 (NIST) 将具有安全擦除设置(Secure Erase Settings)的 NVMe 格式称为 1(用于用户数据擦除)或 2(用于加密)作为清除方法。据我所知,销毁更多的是格式的后果,而不是设计的任何东西。使用 NVMe 清理,您是否希望使用“数据擦除(Data Erasure)”的格式选项被折旧或移回清除状态?


答:格式化 NVM 命令确实具有加密擦除,但它完全未指定,取决于供应商,并且没有任何要求。这是不值得信任的。但是,Sanitize是可以信任的,具有特定的可测试要求,并受到IEEE 2883的认可。


格式化 NVM 命令对 NVMe Sanitize 命令和 IEEE 2883 中都明确的某些要求保持沉默。这是可能的,但对于安全擦除设置设置为加密的NVME格式来说,这不是必需的,也可以清除其他内部缓冲区。超出规范的此类行为是特定于供应商的。如果没有供应商的保证,请谨慎对待假设供应商进行了额外的设计工作。NVMe Sanitize 命令确实满足 IEEE 2883 中定义的清除要求。



问:我的问题是围绕逻辑(文件级,操作系统/文件系统,逻辑卷,不能应用于物理DDM):在技术层面上可以做些什么,以及它在多大程度上超出了现代阵列可以做的事情(例如,太多的逻辑层),因此,这属于程序控制。您能否就技术(或程序)上满足法规监管发表评论?


答:IEEE 存储安全工作组 (SISWG) 没有专门领域专家为此参与,因此没有提出任何要求或建议以及可接受的做法。如果这些专家参与,我们可以考虑要求和建议以及可接受的做法。



问:完全验证非常昂贵,特别是如果您同时处理大量驱动器。为什么你不能像加密那样seed,验证seed是否消失,然后进行代表性抽样?


答:在加密擦除之前seed的问题在于,您不知道要实际比较之前和之后的数据。加密擦除后读取会返回垃圾....但你不知道它是否是正确的垃圾。此外,在某些实现中,执行加密擦除也会破坏CRC / EDC / ECC信息,使加密擦除后数据不可读。


Seeding不是一个常见的定义术语。如果seed设定的目的是将已知值写入已知位置,请注意该过程存在多个问题。请考虑“覆盖清理”操作。这样的操作将相同的模式写入每个可访问和不可访问的块中。这意味着设备是完全在没有空白介质的情况下编写的(即使过度配置也具有该模式)。对于 SSD,对该设备的新写入必须先擦除数据,然后才能重新写入。SSD中缺乏过度配置的数据会导致人为的加速耐久性问题。


由多家公司应用的常见解决方案是在销毁后取消分配。取消分配后,在主机写入逻辑块地址之前,该逻辑块地址将无法访问该物理介质。这意味着,即使已知数据是在清理之前写入的,并且如果清理没有完成其工作,那么回读也不会从曾经分配给该地址的物理介质返回数据(即,该物理块已取消分配),因此预期的测试将无效。



问:关于Sanitize还有其他问题吗?


答:Sanitize 的另一个问题是内部保护信息(例如,CRC 数据、完整性检查数据和纠错码数据)也被中和,直到该块再次写入新数据。大多数 SSD 被设计为从不返回错误数据(例如,未通过完整性检查的数据)作为保护和可靠性功能。



问:数据销毁有哪些解决方案?


答:NVMe 中设计的一种解决方案是供供应商在加密擦除或块擦除清理操作后支持完全覆盖介质。请注意,这样的覆盖具有不受欢迎的副作用,因为覆盖:

更改实际销毁操作的任何结果;

可能需要很长时间(例如,多天);和

仍然需要主机完全解除分配,以使设备再次可用。


块擦除清理操作(使 NAND 处于擦除状态)在 NAND 层上不稳定,因此可以计划随着时间的推移完成对已释放介质的完全写入,或者可以将设备设计为在清理操作返回完成之前完成覆盖。在任何/任何一种情况下,介质都会保持解除分配状态,直到主机写入块。



问:您能澄清一下,在执行销毁之前 DEALLOCATE 所有存储吗?这在物理上意味着什么?


答:取消分配(本身)不可接受进行清理。在进行适当和彻底的销毁后,这是允许的。此外,在某些实现中,读取已解除分配的逻辑块会导致读取错误。必须谨慎使用取消分配。有许多旋钮和开关可以设置为正确操作。


解除分配意味着删除将逻辑块映射到物理块的内部寻址。解除分配后,不会访问介质,因此读取逻辑块地址对确定介质是否实际经过清理没有任何帮助。解除分配提供了尽可能出厂时的性能。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存