如何延长SSD寿命提高读写速度?固态硬盘TRIM开启指南 

2022-11-10 09:32:18 10点赞 35收藏 13评论

今年SSD降幅明显,相信站内很多朋友都买了SSD固态硬盘,笔者也分别入手了京造、移速的固态硬盘。虽然两者都是京东自营并负责售后,不过谁也不想硬盘在毫无预期的时候突然挂掉,笔者挂在锐角云上的某讯H1硬盘因突然跳电导致敲盘,恢复docker配置、虚拟机花费了大半天时间。

TRIM不仅可以延长 SSD 的使用寿命,还可以提高读写速度,但仍需要注意:TRIM涉及到数据安全!!!所以建议各位观众姥爷们切勿在正式环境上盲目启用!

先说结论:想要开启TRIM功能需要软硬件同时支持,目前市面上绝大多数硬件都已支持TRIM,但USB移动硬盘固件支持较弱。

  • 我的硬件支持TRIM吗?

1. SSD固态硬盘首先要支持TRIM,一般较新的SSD都支持,可以使用查看CrystalDiskInfo查看

固态硬盘支持TRIM固态硬盘支持TRIM

2. 如果你的SSD是使用硬盘盒的方式接入主机USB,那么移动硬盘盒的主控芯片是否支持TRIM成为关键的影响因素!当然如果你是直接接在主板的M.2或SATA接口上,就免去了这部分烦恼!

关于某一型号的硬盘盒或者某一主控是否支持TRIM,各家都众说纷纭,究其原因笔者理解为:TRIM这项技术并未被厂商作为主要卖点;同一主控芯片也存在不同厂商不同固件,所以我们的测试就像盲人摸象,得出来的结论自然也是大相径庭,这里也希望硬盘盒厂商能重视这一点。

有请正方一辩:

正方观点正方观点

有请反方一辩:

反方观点反方观点

支不支持首先看主控芯片,这里可以通过芯片厂商的官网查询,其次看硬盘盒厂家固件,可以通过询问客服或技术人员索取固件。目前市面上的绝大多数主控都支持TRIM,但硬盘盒固件支持较弱!

以上来自@海门牌梭鱼罐头以上来自@海门牌梭鱼罐头

  • 我的系统支持TRIM吗?

系统也需要支持TRIM,笔者查阅资料发现,Windows阵营从Win7系统开始便已支持TRIM,不需要特殊操作。这点给巨硬点赞!

fsutil behavior query DisableDeleteNotify

0代表启用0代表启用

注意这里的措辞是重新裁剪而不是碎片整理注意这里的措辞是重新裁剪而不是碎片整理

再看Linux这边对于TRIM支持相对比较保守,虽然在2008年内核已支持TRIM,但应用较少,毕竟服务器的稳定性高于一切,通过磁盘阵列等方式可以弥补机械硬盘的速度短板,对于商用而言机械硬盘依然是首选,再加上TRIM对RAID的影响。但是TRIM非常适用我们个人的应用场景,比如系统中的缓存文件以及各种小文件。因为我们的固态硬盘通常不会写满,TRIM能大大提高固态硬盘的工作效率。

Linux下各文件系统对TRIM的支持状态Linux下各文件系统对TRIM的支持状态

Linux下如何查询TRIM支持(笔者这里使用debian10作为演示,硬盘盒为绿联,设备路径为/dev/sda

安装必要软件

apt install sg3-utils hdparm -y

查看设备

lsusb

这里的PID VID后面会用到这里的PID VID后面会用到

df -h查看设备路径

查看SSD路径查看SSD路径

运行命令:

hdparm -I /dev/sda | grep TRIM

注意命令中 /dev/sda 需要改成你自己的设备路径

显示TRIM supported显示TRIM supported

第二种方式:

lsblk --discard

若DISC-GRAN和DISC-MAX列上的数值不为零,则表示对应设备支持TRIM若DISC-GRAN和DISC-MAX列上的数值不为零,则表示对应设备支持TRIM

当然还有第三种判断方法,直接运行命令手动执行裁剪,看看SSD是否在其中

fstrim -a -v

SSD在运行设备中SSD在运行设备中

  • USB固态硬盘可能出现的问题

笔者使用的绿联在3项测试中仅通过第1种测试,到底是支持还是不支持呢?

支持支持

不支持?不支持?

不支持?不支持?

经过学习终于在ArchWiki中找到了答案:

一些USB转SATA芯片(如VL715、VL716等)以及在外接NVMe硬盘盒(如IB-1817M-C31[失效链接 2022-09-23 ⓘ]))中使用的USB转PCIe芯片(如 智微(JMicron) JMS583 )支持类似TRIM的命令,这些命令可通过 USB Attached SCSI 驱动程序(在Linux下称为"uas")发送。

首先运行

sg_readcap -l /dev/sda

内核认为该设备不支持Logical Block Provisioning Management内核认为该设备不支持Logical Block Provisioning Management

如果有Logical block provisioning: lbpme=0这一行,继续执行

sg_vpd -a /dev/sda

设备支持UNMAP设备支持UNMAP

设备支持UNMAP,只需要在对应的provisioning_mode中添加unmap参数即可

echo "unmap" >/sys/block/sda/device/scsi_disk/*/provisioning_mode

通过添加udev配置文件实现该设备自动配置

nano /etc/udev/rules.d/99-sata-adapter-trim-enable.rules

添加以下文件,使用lsusb命令查看设备PID VID,修改对应的ID

ACTION=="add|change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="225c", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

注意修改PID VID注意修改PID VID

这样内核便自动检测到并启用UAS,再次测试这次3项全部通过。

  • 软硬件均支持TRIM,如何才能启用TRIM?

开启TRIM有两种方式:Continuous TRIM和Periodic TRIM

Continuous TRIM即通过修改/etc/fstab中硬盘的挂载参数加入discard以实现每次在文件被删除后就立即执行TRIM指令,由于Continuous TRIM会拖慢系统,并且有可能导致的数据损坏,目前已不推荐这种方式。

修改/etc/fstab来修改/etc/fstab来

btrfs分区支持ssd这个参数,但ext4并不支持该参数,所以挂载时注意分区格式,建议加入nofail参数以免因挂载失败导致系统无法启动。

Periodic TRIM则是定期在支持TRIM的设备上执行修剪,更推荐这种方式。

启动命令

systemctl enable fstrim.timer

systemctl start fstrim.timer

systemctl status fstrim.timer

显示下一次执行时间2022-11-14显示下一次执行时间2022-11-14

至此,配置TRIM的相关步骤就结束了,在此感谢各位观众姥爷们的点赞、评论、打赏!希望本文能给各位带来帮助!

恰逢双十一,笔者这里也推荐几款固态硬盘给各位观众姥爷们:

首先是本次使用的绿联硬盘盒,笔者到手的主控是ASM2235,没有难为我去刷固件

绿联2.5英寸移动硬盘盒USB3.0SATA串口笔记本电脑台式机外置壳固态机械ssd硬盘盒子32.9元京东去购买

笔者购买的原因主要是:京东自营并提供5年质保,目前用于OMV中替换坏了的H1

移速(MOVESPEED)512GBSSD固态硬盘SATA3.0金钱豹系列187元京东去购买

京造的这块硬盘目前在挂某PCDN,自营售后没毛病

京东京造3系列480GBSATA3SSD固态硬盘JZ-2.5SSD480GB-3199元京东去购买

再推荐下笔者双十一准备购买的两款

京东京造1TB国产麒麟系列SSD固态硬盘M.2接口(NVMe协议)PCIe3.0四通道479元京东去购买致态(ZhiTai)长江存储1TBSSD固态硬盘NVMeM.2接口TiPlus5000系列569元京东去购买

本文参考:

Solid state drive (简体中文) - ArchWiki (archlinux.org)

Fix SSD TRIM on UGREEN UASP USB SATA adapter/enclosure - DEV Community 👩‍💻👨‍💻

LemonTeaTT https://www.bilibili.com/read/cv16918890/

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

京东京造3系列480GBSATA3SSD固态硬盘JZ-2.5SSD480GB-3

京东京造3系列480GBSATA3SSD固态硬盘JZ-2.5SSD480GB-3

暂无报价

移速(MOVESPEED)512GBSSD固态硬盘SATA3.0金钱豹系列

移速(MOVESPEED)512GBSSD固态硬盘SATA3.0金钱豹系列

暂无报价 去购买

绿联2.5英寸移动硬盘盒USB3.0SATA串口笔记本电脑台式机外置壳固态机械ssd硬盘盒子

绿联2.5英寸移动硬盘盒USB3.0SATA串口笔记本电脑台式机外置壳固态机械ssd硬盘盒子

暂无报价

京东京造1TB国产麒麟系列SSD固态硬盘M.2接口(NVMe协议)PCIe3.0四通道

京东京造1TB国产麒麟系列SSD固态硬盘M.2接口(NVMe协议)PCIe3.0四通道

暂无报价

致态(ZhiTai)长江存储1TBSSD固态硬盘NVMeM.2接口TiPlus5000系列

致态(ZhiTai)长江存储1TBSSD固态硬盘NVMeM.2接口TiPlus5000系列

暂无报价

MOVE SPEED 移速 256GB SSD固态硬盘 长江存储晶圆 国产TLC颗粒 SATA3.0

MOVE SPEED 移速 256GB SSD固态硬盘 长江存储晶圆 国产TLC颗粒 SATA3.0

116元起

MOVE SPEED 移速 美洲豹 NVMe M.2 固态硬盘(PCI-E3.0)

MOVE SPEED 移速 美洲豹 NVMe M.2 固态硬盘(PCI-E3.0)

159元起

京东京造 1TB SSD固态硬盘 M.2接口(NVMe协议)PCIe4.0×4四通道 玄武系列

京东京造 1TB SSD固态硬盘 M.2接口(NVMe协议)PCIe4.0×4四通道 玄武系列

519元起

京东京造 2TB SSD固态硬盘 M.2接口(NVMe协议)PCIe3.0四通道 5系列(JZ-SSD

京东京造 2TB SSD固态硬盘 M.2接口(NVMe协议)PCIe3.0四通道 5系列(JZ-SSD

779元起

移速(MOVE SPEED)512GB SSD固态硬盘 M.2接口(NVMe协议) 长江存储晶圆 独立缓存-美洲豹Pro

移速(MOVE SPEED)512GB SSD固态硬盘 M.2接口(NVMe协议) 长江存储晶圆 独立缓存-美洲豹Pro

239元起

MOVE SPEED 移速 黑豹7000 M.2接口 固态硬盘 4TB(PCIe 4.0)

MOVE SPEED 移速 黑豹7000 M.2接口 固态硬盘 4TB(PCIe 4.0)

1759元起

MOVE SPEED 移速 美洲豹系列 YSSDM-512GN7000 M.2固态硬盘 512GB(PCIe 4.0)

MOVE SPEED 移速 美洲豹系列 YSSDM-512GN7000 M.2固态硬盘 512GB(PCIe 4.0)

暂无报价

MOVE SPEED 移速 金钱豹 SATA 固态硬盘 (SATA3.0)

MOVE SPEED 移速 金钱豹 SATA 固态硬盘 (SATA3.0)

99元起

MOVE SPEED 移速 黑豹7000 固态硬盘

MOVE SPEED 移速 黑豹7000 固态硬盘

539元起

京东京造 麒麟系列 NVMe M.2 固态硬盘(PCI-E3.0)

京东京造 麒麟系列 NVMe M.2 固态硬盘(PCI-E3.0)

269.1元起

京东京造 鲲鹏系列 NVMe M.2 固态硬盘(PCI-E4.0)

京东京造 鲲鹏系列 NVMe M.2 固态硬盘(PCI-E4.0)

559元起

MOVE SPEED 移速 2TB 固态硬盘 M.2接口PCIe 4.0 x4长江存储晶圆

MOVE SPEED 移速 2TB 固态硬盘 M.2接口PCIe 4.0 x4长江存储晶圆

889元起

京东京造 JZ-SSD1T-3 NVMe M.2 固态硬盘 1TB(PCI-E3.0)

京东京造 JZ-SSD1T-3 NVMe M.2 固态硬盘 1TB(PCI-E3.0)

暂无报价

MOVE SPEED 移速 AJ30 USB3.2 Type-C移动硬盘 4TB

MOVE SPEED 移速 AJ30 USB3.2 Type-C移动硬盘 4TB

1799元起

京东京造 5系列 NVMe M.2 固态硬盘(PCI-E3.0)

京东京造 5系列 NVMe M.2 固态硬盘(PCI-E3.0)

149元起

京东京造 SATA 固态硬盘(SATA3.0)

京东京造 SATA 固态硬盘(SATA3.0)

239元起

文中相关商品

京东 UGREEN 绿联 2.5英寸移动硬盘盒
京东 京东京造 JZ-2.5SSD480GB-3 SATA 固态硬盘 480GB(SATA3.0)
京东 京东京造 麒麟系列 NVMe M.2 固态硬盘 1TB(PCI-E3.0)JZ-SSD1TB-QL
京东 ZHITAI 致态 TiPlus5000 NVMe M.2接口 固态硬盘 1TB(PCI-E 3.0)
13评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
35
扫一下,分享更方便,购买更轻松