--trim-sector-ranges 有什麼危險?

--trim-sector-ranges 有什麼危險?

我有一個 SSD,我想在安裝 Ubuntu 之前對其進行 TRIM。有人建議我留下一些未分區的空間,這樣磨損均衡就有可用的空閒區塊。但我了解到,由於該驅動器之前安裝了一些軟體,因此僅將其重新分區並留出一些未分區的空間是不夠的。且 mkfs 不會 TRIM 未分區的區域。

在閱讀hdparm手冊頁時,我發現了--trim-sector-ranges,這聽起來正是我需要使用的。它還附帶一個警告,內容是:異常危險。不要使用這個選項!兩次。

我見過一個推薦建議改用 ATA 安全擦除指令。但我也讀到安全擦除有風險使設備變磚

是什麼讓它--trim-sector-ranges變得如此危險,以至於最好冒著設備變磚的風險?

答案1

修剪扇區基本上是向 SSD 表明這些扇區不再包含有用的數據,並且可以進行垃圾收集(即擦除),以便它們可以重新用於將來的寫入操作。當磁碟已滿時,這可以提高寫入效能,因為 SSD 控制器的韌體轉換層有更多的「餘地」來處理實體區塊/頁面。

在 中hdparm,要修剪的磁區被提供為 LBA(邏輯區塊)。如果您的 SSD 已使用檔案系統進行格式化,則修剪 LBA 肯定會損壞檔案系統並使其無法使用(因為使用者不知道底層檔案系統到 LBA 的對應)。對於使用檔案系統格式化的 SSD,應使用fstrim.

如果支持,「ATA 安全性擦除」命令應擦除 SSD 的所有實體區塊。它可能大致相當於修剪 SSD 的所有扇區,但可能以更優化和安全的方式。

引用的連結表示與 USB 轉 SATA 適配器一起使用時「安全擦除」命令失敗。這可能是由於 USB 轉 SATA 控制器的實作不佳或有錯誤,或實作不符合最新的 SATA 規範。

要擦除 SSD 的內容,SATA 安全擦除命令是首選方法。--trim-sector-rangeshdparm 選項用於實驗和基準測試目的。只有對於在 LBA 層級處理 SSD 的非常特定的應用程式(某些資料庫系統),修剪磁區才有hdparm意義。

最後,為磨損均衡保留一些未分區的空間(稱為過度配置)的建議很有趣,前提是該空間之前已以某種方式修剪過(「ATA 安全擦除」也可用於此目的)。如果情況並非如此,並且如果先前的資料存在於未分區空間的 LBA 範圍內,則 SSD 控制器將假定它仍然是有效數據,並透過可能移動關聯的區塊和頁面來努力保持其「活動」(從而增加整體磨損! )

相關內容