电脑升级换下一块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