如果不支援 TRIM,隨身碟如何保持良好的效能?

如果不支援 TRIM,隨身碟如何保持良好的效能?

據我所知,Windows 7之前沒有TRIM/UNMAP支援(SSD驅動器使用了特殊工具),但閃存驅動器從大約2005年開始使用,並且得到了Windows XP的完全支援。

作為 USB 大容量儲存設備,它們在 USB 之上使用 SCSI 協定(我在這一點上是對的嗎?)。 SCSI 中有 UNMAP,但 Windows XP 也不支援它。

因此,USB 隨身碟知道某些區塊可能被刪除的唯一機會是來自作業系統的寫入請求。

這意味著使用一段時間後,整個驅動器都會變髒並且速度總是很慢。沒有辦法告訴它刪除任何區塊。您只能扔掉它併購買新的 USB 隨身碟。

但我確信事實並非如此。我錯過了什麼?

答案1

簡短的一般答案是:得益於隱藏數量的 NAND 單元。

快閃磁碟機的控制器透過應用垃圾收集器機制來維持寫入效能:收集碎片化的空閒邏輯磁區並將其對應到空閒實體 NAND 區塊。垃圾收集器根本不受作業系統控制,這是一個完全位於驅動器內部的後台進程(驅動器只需打開電源即可)。

如果驅動器上沒有更多可用空間,則顯然垃圾收集將不再工作(請注意,只有當驅動器在某個時刻完全填滿時才會發生這種情況)。

為了克服這個問題,大多數驅動器上都有隱藏數量的NAND 單元:即使驅動器“邏輯上已滿”(從作業系統的角度來看),它也不是“物理上已滿”,並且控制器仍然有一些空間應用垃圾收集。 https://www.seagate.com/fr/fr/tech-insights/ssd-over-provisioning-benefits-master-ti/

現在,單元格的隱藏捲取決於驅動器類別:高階驅動器將具有較大的捲,而入門級驅動器則具有最小的捲。我還認為可以安全地假設廉價 USB 密鑰沒有任何隱藏單元。

同樣,並非所有驅動器都具有巧妙的垃圾收集機制,某些驅動器可能具有粗糙的垃圾收集機制,而某些驅動器(又是廉價 USB 密鑰)可能沒有任何垃圾收集器。

即使沒有 TRIM,我上面寫的所有內容也適用。

答案2

存在太多的閃存驅動器技術,只能給出一個非常籠統的答案。以下是一些建議,請記住,大多數閃存驅動器都是廉價製造的,其硬體會隨著時間的推移而退化。

  • ATA 安全擦除 對於某些驅動器來說是 TRIM 的替代品。在文章中 讓 USB 快閃記憶體再次快速寫入 作者使用它將 64GB SanDisk Extreme USB 隨身碟的寫入效能從 81.7 MB/S 提高到 149.7 MB/S。

  • 磁碟上的薄弱磁區可能會透過某種格式得到改善(「慢」 - 不快)

  • NTFS 格式可能比 FAT32 和 exFAT 更有效率。例如參見文章 FAT32、exFAT、NTFS USB3 效能比較

  • 在裝置管理員中,將 USB 設定為「更好的效能」而不是「快速刪除」將使 Windows 能夠更好地快取數據,但需要始終記住在寫入後彈出驅動器。

  • 更新裝置和/或 USB 控制器的驅動程式。

  • 頻繁使用的 USB 端口可能會隨著時間的推移而性能下降,因此請嘗試另一個端口,在機箱的前後端口之間更換。

答案3

一些 USB3.x 驅動器支撐修剪。我不完全確定 Windows 是否可以使用它——Linux 可以。顯然如果他們使用 UASP(USB 連接 SCSI)協議,trim 可能會在 Windows 8+ 中運​​作。

至於 Q 的核心(沒有修剪怎麼可能做到這一點):我知道一些 USB2 控制器有特殊的技巧,因為它們可以理解 FAT32。因此他們知道如何在該檔案系統上模擬修剪(透過觀察 FAT),但不知道如何在 NTFS 或某些 Linux 檔案系統上模擬修剪。當寫入超出容量後使用 FAT32 以外的其他格式時,此類磁碟機會出現顯著的效能損失。典型的修復曾是至少偶爾重新格式化為 FAT32;這基本上相當於完整的修剪。

唉,我沒有手邊的參考資料來證明我聲稱某些控制器可以理解 FAT32,但 IIRC 我看到了一家中國晶片製造商(可能是 Yeestor)的演示。

相關內容