当前位置: 首页 > news >正文

针对 SSD 固态硬盘的安全擦除 Secure Erase

SSD 的安全擦除(Secure Erase)用于永久删除存储介质上的数据,以及在驱动器性能开始明显下降至低于标称值时恢复其速度。

Secure Erase 可以解决的问题核心

当 SSD 开始运行缓慢(读写数据变差)时,这里有许多可能的原因,有些与硬件相关,有些与软件有关。SSD 与传统硬盘(HDD)不同,因此,单纯删除数据或格式化驱动器,并不意味着真正重置存储单元——在录入之前需要进行清除,这会降低新数据的写入速度。理论上,不应该出现此类问题,因为 TRIM 命令会清除被标记为删除的存储单元中的数据。此命令仅适用于 2.5 英寸和 M.2 SATA 硬盘。而对于连接到 PCIe 总线的硬盘(如 M.2 或主板上的 PCIe 接口硬盘),有类似的命令——Deallocate。但有时这些功能会被禁用——可能是由于操作系统错误、用户通过第三方软件设置硬盘出错,或使用了未知软件组件的非标准操作系统版本。因此,硬盘开始明显变慢,且无需基准测试也能明显感觉到。

SSD 的存储管理机制

SSD 使用多个映射层隐藏闪存存储的实际物理结构,并帮助管理数据的完整性和寿命。这些层统称为闪存转换层(Flash Translation Layer, FTL)。

此外,SSD 通常过度配置:内部含有比额定容量更多的闪存存储。这些额外的存储空间被 FTL 用作空白块,以及用作逻辑到物理映射的带外区域。

映射层和闪存控制器的管理方式,基本上确保单纯的擦除或传统的安全擦除不能完全覆盖或删除所有存储的数据。

SSD 数据残留的一个例子

当你编辑文档并保存更改时,新内容不会覆盖原始数据(非原地更新),而是写入到空白块,然后更新逻辑到物理映射,指向新位置。这会导致原数据所在位置被标记为空闲,但实际数据仍然存在。随着时间推移,空闲区域的旧数据会被 SSD 的垃圾回收系统回收,但在此之前,这些数据仍可能被恢复。

由于 FTL 的存在和 SSD 的写入方式,针对硬盘的普通安全擦除方法无法访问到所有存储位置,可能会遗留部分未被覆盖的存储数据。

SSD 制造商的解决方案

为了解决安全擦除问题,大部分制造商都实现了内置的快速安全擦除命令——例如:

  • 针对 SATA SSD 的 ATA 命令:Secure Erase Unit
  • 针对 PCIe SSD 的 NVMe 命令:Format NVM

这些指令能够有效且快速地清除 SSD 上的数据。

关于数据安全和清除的复杂性

SSD 具有复杂的工作系统,因此,完全销毁数据的方案也不应简单直接。但实际上,SSD 内置的控制器是“核心脑”——它不仅控制数据的写入,还会对数据进行加密,并存储密钥在控制器内。如果你更换(或“重置”)密钥,所有存储的数据都将变成无法解读的随机比特串,无法破解。这一方法非常快速且有效。

结合“更换密钥”和“重置存储单元”两种方法,可以实现对硬盘的彻底清洁,并最大限度地恢复性能。这一方案既解决了性能下降的问题,也帮助评估驱动器的磨损程度。

特殊说明

一些支持硬件加密的 SSD 固件只允许在出厂时设定一种加密算法,具体依赖于制造商控制器的设定。如果你“重置” SSD 后,比较实际性能与宣称性能,便能得知相关信息。这一操作不影响 SSD 的磨损,是分析磁盘状态的有效方法。但由于 SSD 的特殊工作机制,不可能通过此方法长时间提升读写速度,其效果还受到具体硬盘型号和控制器固件的影响。此外,并非所有 SSD 都支持加密,若不支持,只能由控制器直接重置存储单元。

http://www.dtcms.com/a/270084.html

相关文章:

  • Kotlin协程中的Job详解
  • 如何用Python编程计算权重?
  • Anolis OS 23 架构支持家族新成员:Anolis OS 23.3 版本及 RISC-V 预览版发布
  • 数据库设计精要:完整性和范式理论
  • 去掉长按遥控器power键后提示关机、飞行模式的弹窗
  • 数据提取之lxml模块与xpath工具
  • 基于Java+SpringBoot 协同过滤算法私人诊所管理系统
  • 系统架构设计师论文分享-论系统安全设计
  • IoTDB:专为物联网场景设计的高性能时序数据库
  • 把word中表格转成excle文件
  • 基于GeoTools的根据Shp文件生成完全包围格网实战
  • Oracle 存储过程、函数与触发器
  • AI标注平台label-studio之二添加机器学习后端模型辅助标注
  • vue3官方文档学习心得
  • SpringCloud系列 - Gateway 网关功能(五)
  • 人体坐姿检测系统开发实战(YOLOv8+PyTorch+可视化)
  • 本地部署 R 语言环境运行软件 RStudio Server 并实现外部访问
  • 玩具语音方案选型决策OTP vs Flash 的成本功耗与灵活性
  • window wsl 环境下编译openharmony,HarmonyOS 三方库 FFmpeg
  • VLLM 调用有哪些超参数; clean_up_tokenization_spaces是什么
  • ubuntu24.04安装NFS网络文件系统/ARM开发板NFS挂载
  • 20250708-03-string结构及命令详解_笔记
  • CI/CD — DevOps概念之实现k8s持续交付持续集成(一)
  • NumPy-统计函数详解
  • UE5内置插件 AnimToTexture 简单入门
  • 一次编码,多端运行:HTML5多终端调用
  • Android 依赖注入框架详解
  • 2025年7月8日学习笔记——模式识别与机器学习绪论
  • bro code Interface
  • 社区云管家 - 智慧生活新方式 ——仙盟创梦IDE