您當前的位置:首頁 > 體育

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

作者:由 紅頭髮藍胖子 發表于 體育時間:2022-09-02

什麼是垃圾回收?

GC是(Garbage Collection,垃圾回收)的縮寫,是固態硬碟(SSD)的一個基本技術,它對SSD的效能和壽命有直接的影響。

垃圾回收的目標是保留儘可能多的空塊,以便在SSD需要寫入資料時,它可以在等待塊被刪除的情況下執行此操作。確保硬碟高效執行,並在整個生命週期內保持良好效能。

當使用機械硬碟時,檔案系統可以直接將新資料寫入到舊資料儲存的位置,即可以直接覆蓋舊資料。在固態硬碟中,境況有所不同。如果想讓儲存無用資料的塊寫入新資料,就需要先把整個塊刪除,才可以寫入新的資料,也就是說固態硬碟並不具備直接覆蓋舊資料的能力。對於固態硬碟來說,GC(垃圾回收)是指把現存資料重新轉移到其他快閃記憶體位置,並且把一些無用的資料徹底刪除的過程。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

什麼是 TRIM?

TRIM 是 ATA (Advanced Technology Attachment) 介面的一個指令。當作業系統需要告訴固態硬碟它將刪除檔案且這些檔案頁需要可用於新資訊時,TRIM 會提供此功能。搭配垃圾回收,TRIM 會清理並組織固態硬碟,使其更高效並延長其壽命。

TRIM 命令使作業系統能夠通知 SSD,在從邏輯表中刪除邏輯塊地址時,舊資料不再有效。TRIM 命令的優點是它使 SSD 的 GC 能夠跳過無效資料而不是移動它,從而節省了不重寫無效資料的時間。這樣可以減少快閃記憶體上的擦除週期數,並在寫入期間實現更高的效能。SSD不需要立即刪除或垃圾回收這些位置,只需將它們標記為不再有效即可。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

圖1:

不使用 TRIM 命令的垃圾回收

圖 1 顯示了在不使用 TRIM 命令的情況下該過程。在圖 1 的第 1 列中,SSD 使用者將四個新檔案寫入驅動器。作業系統在其邏輯表中看到檔案,SSD 具有可用空間的邏輯檢視和物理檢視,在物理檢視中,該檢視包括不是作業系統已知的驅動器宣告容量的一部分的預配空間。

在第二列中,使用者刪除檔案 C,但 SSD 不知道該檔案已被刪除,因為 TRIM 命令未在使用中。如果它此時執行 GC,它將移動檔案 C 中的無效資料,因為它不知道它是無效的。在第三列中,使用者寫入新檔案 E,作業系統告訴 SSD 使用與舊檔案 C 相同的空間,SSD 將新檔案寫入可用空間,同時將檔案 C 中的舊空間標記為可用於 GC。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

圖 2 :使用 TRIM 命令進行垃圾回收。

圖 2 顯示了與 TRIM 命令的差異。在這種情況下,當用戶寫入四個原始檔案時,該過程是相同的。但是,當用戶擦除第二列中的檔案 C 時,舊的檔案 C 空間會立即標記為無效,以便為 GC 做準備,因為作業系統使用 TRIM 命令。最初儲存檔案C的空間現在是SSD的可用空間,並且可以作為動態配置使用,這意味著SSD在GC期間有更多的可用空間,這有助於提高SSD的整體效能。

在第三列中,當用戶最終寫入檔案 E 時,SSD 上的總可用空間現在與沒有 TRIM 的驅動器相同。不同之處在於,支援TRIM的SSD知道哪些資料無效,並且可以在GC期間將其視為可用空間,並防止必須將無效資料移動到另一個塊。

這產生了三個主要好處:

較低的寫入放大。在GC期間,重寫的資料更少,可用的可用空間更多(更多的寫入空間等於更少的寫入);

更高的吞吐量。使用 TRIM 命令,在 GC 期間要移動的資料更少,驅動器執行得更快。快閃記憶體的吞吐量是瓶頸,SSD 的速度與寫入快閃記憶體的速度一樣快。在執行GC期間,驅動器必須在移動資料時停止從主機傳輸某些資料。這就是為什麼SSD知道哪些資料是無效的,這樣它就不必在GC期間移動。

提高了耐用性,因為驅動器透過不重寫無效資料來減少對快閃記憶體的寫入。

如何檢查 Windows 是否啟動了 TRIM?

按下 Windows + X 鍵,單擊“搜尋”並在搜尋框中輸入 cmd。或者點選開始選單,輸入cmd。

右擊“命令提示符”並選擇“以管理員身份執行”。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

輸入以下命令:

fsutil behavior query DisableDeleteNotify

,然後點按 Enter 鍵。

如果結果是 DisableDeleteNotify = 1,那麼固態硬碟的 TRIM 已停用;

但如果結果是 DisableDeleteNotify = 0,則固態硬碟的 TRIM 已啟用。

windows10預設已經開啟了trim。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

如何在 Windows 上啟用 TRIM?

右擊 Windows 圖示,選擇“搜尋”並在搜尋框中輸入 cmd。

右擊“命令提示符”並選擇“以管理員身份執行”。

輸入:

fsutil behavior set DisableDeleteNotify 0

,然後點按 Enter 鍵。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

如何在 Windows 上禁用 TRIM?

右擊 Windows 圖示,選擇“搜尋”並在搜尋框中輸入 cmd。

右擊“命令提示符”並選擇“以管理員身份執行”。

輸入:

fsutil behavior set DisableDeleteNotify 1

,然後點按 Enter 鍵。

什麼是SSD固態硬碟中垃圾回收與 TRIM?對固態硬碟效能有哪些影響?以及如何檢查它是否開啟

如何在 MacOS 10。10。4 或更高版本上檢測 TRIM 是否啟用

選擇左上角的蘋果圖示。

然後單擊“關於本機”。

概述視窗彈出後,選擇“系統報告”。

跳轉到:硬體 > SATA/SATA Express。

滾動到本地“TRIM 支援”,此值為“是”或“否”。

如果值為“否”,繼續開啟終端視窗。

在提示符視窗,輸入:sudo trimforce enable。

敲擊 Enter 鍵。

根據提示輸入密碼並敲擊 Enter 鍵。

在提示符視窗輸入 y,然後點按 Enter 鍵。

再次輸入 y,系統將會重啟。

重啟後重復 1-5 步,從而確認 TRIM 是否啟用。

標簽: TRIM  SSD  寫入  GC  資料