前言
電腦升級換下一塊128GB的M.2接口SSD,使用SATA協議,計划使用外置硬盤盒子轉為移動固態使用。
開始想當然格式化為exfat格式,方便Linux/MacOS/Windows傳文件,使用一段時間后寫入速度越來越慢。
上網一查,果然低端硬盤盒主控不支持TRIM沒轍重買……這里提醒一下:
全網最便宜JMS580方案支持TRIM的盒子售價大約在49元,低於這個價格的JMS576不帶TRIM注意甄別。
后續
更換硬盤盒,查看旋轉flag成功變為0識別信息也由普通磁盤變為SSD圖標。
$ lsblk -o NAME,ROTA /dev/sdb
NAME ROTA
sdb 0
└─sdb1 0
再次檢查磁盤是否支持垃圾回收:
$ lsblk --discard /dev/sdb
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sdb 0 4K 4G 0
└─sdb1 0 4K 4G 0
可以看到正常支持,但無法調用fstrim
進行垃圾回收
$ sudo fstrim -v /Data
fstrim: /Data: the discard operation is not supported
百思不得其解。
思考
對比了內置的固態硬盤,懷疑是exfat文件系統的問題。
開始求證,最終在ArchWiki找到了答案
for exFAT, fstrim is supported since kernel 5.13
相比更新5.13內核,還是把SSD格式化為ext4更快……
果然,使用ext4格式后,順利TRIM速度也恢復正常。
參考
USB - SATA-USB Bridge Controller-Products-JMicron-Leading the storage revolution!
Enable Trim on an External SSD on Linux [Glump.net]
Solid state drive - ArchWiki
kernel/git/torvalds/linux.git - Linux kernel source tree