固态硬盘越用越卡?根本不是老化!多半是被你塞成泡芙了
前阵子朋友抱着他那台旧笔记本找我,说电脑卡得不行,开个浏览器都得转半天圈,八成是固态硬盘老化了,让我帮他重装个系统试试。我接过电脑,习惯性地先点开此电脑看了一眼,C盘那个进度条红得发紫,256G的固态硬盘,可用空间剩下不到8个G。桌面上密密麻麻塞满了各种文件、照片和不知道什么时候下载的电影。我跟他说,你的硬盘没老,它是快被你噎死了。

固态硬盘用久了变慢,很多人第一反应就是“颗粒磨损了”“寿命到了”,这其实是个巨大的误解。固态硬盘跟机械硬盘不一样,机械硬盘用久了变慢,多半是盘片真的有物理坏道,磁头反复读取导致延迟。但固态硬盘的存储介质是闪存颗粒,它的寿命确实有写入量上限,但对于普通用户来说,那个寿命上限高得离谱。一块正规厂商的256G固态,写入寿命轻轻松松就上百TB,你每天存几十个G的文件,也得五六年才能把它写死。绝大多数人换固态硬盘,都不是因为颗粒寿命到了,而是因为用得太堵。
这就得说到固态硬盘一个很关键的写入机制。闪存颗粒在写入新数据之前,必须先擦除旧数据。这个擦除不是一个个字节来的,是按“块”来的。一个块可能包含几百个页面,哪怕你只想改一个字节,硬盘也得先把整个块里的有效数据搬到缓存里,擦干净整个块,再把老数据和新数据一起写回去。当硬盘空闲空间充足的时候,这个操作进行得很快,控制器可以轻松找到空块直接写入。但当你把硬盘塞得跟高峰期的地铁车厢一样,只剩那么一丁点空间时,控制器能找到的空块就越来越少,它不得不频繁地去整理那些半满的块,把垃圾数据清掉,给新数据腾位置。这个后台操作叫“垃圾回收”,执行它的时候,硬盘一边要应付你发来的读写指令,一边要偷偷摸摸搞大扫除,性能自然大打折扣。

打个比方,空荡荡的停车场,你想怎么停就怎么停,一进一出麻利得很。车位全满了,你想停进去就得等人开走,还得把乱七八糟停着的车挪一挪,进出效率就低多了。固态硬盘被塞成泡芙之后,就是这个状态。
而且还有一个更隐蔽的问题,就是SLC缓存。现在市面上大部分消费级固态硬盘用的都是TLC甚至QLC颗粒,这种颗粒写入速度慢,为了让你在拷贝大文件时体验到飙速的快感,厂商会在硬盘里划出一块区域模拟成SLC来用,这就是SLC缓存。这块缓存的大小不是固定的,它会随着硬盘剩余空间的减少而缩小。当你的硬盘快塞满的时候,SLC缓存可能已经缩到只有几个G了,这时候你兴冲冲地拷个几十G的游戏安装包,前几秒速度飞快,缓存一爆,速度瞬间跌到几十兆每秒,这就是SLC缓存用尽之后的真实写入性能。你以为硬盘坏了,其实它只是底裤被你扒掉了。
所以固态硬盘越用越卡,真凶往往就是塞得太满,和老化没太大关系。解决办法也出奇的简单,就是挪走一些数据,把空间腾出来。这个不只是为了看着清爽,而是实打实地在给控制器减负。保留百分之二十左右的空闲空间,是让固态硬盘保持良好性能的基本法则。空闲空间越大,主控芯片辗转腾挪的余地就越大,垃圾回收和磨损均衡算法也能做得更从容。

我给朋友把那些没用的文件清掉,又卸了几个他从来不用的软件,腾出了差不多六十个G的空间。没重装系统,甚至没重启电脑,他再打开浏览器和文档的时候,那个流畅感又回来了。他惊讶地说跟新买的一样,我说你的电脑本来就是好的,是你硬把它塞成了泡芙。以后别总怪固态硬盘老化了,先把空间腾一腾再说。
