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 都支持加密,若不支持,只能由控制器直接重置存儲單元。