闪存的先天特性:写入越多,速度越慢C盘空间塞太满TRIM指令没生效固件版本老旧4K对齐出了问题后台的隐形写入在悄悄消耗性能AHCI模式和接口的选择用了太久,闪存颗粒的寿命快到了给SSD做一次全面的检查
刚买回来的固态硬盘,开机十几秒,软件秒开,用起来一个字:爽。但过了两三年,你开始觉得它没那么快了。开机变慢了,打开文件夹有时候要转圈圈,拷贝大文件的速度也不如从前。
第一反应是不是觉得硬盘快坏了?先别急着下结论。SSD用久了变慢,很多时候跟质量没关系,背后有一些容易被忽视的原因,而且大部分是可以解决的。
要理解SSD为什么会变慢,得先知道它的工作方式。
SSD存储数据靠的是闪存芯片,而闪存有一个特性:写入新数据之前必须先擦除旧数据。这个擦除操作比写入慢得多。一块全新的SSD,所有的存储单元都是空的,可以直接写入,所以速度飞快。但随着使用时间增长,很多单元都存过数据了,写入之前要先擦再写,多了一步操作,整体速度自然就下来了。
这就是为什么你刚装完系统的时候SSD最快,越用越觉得它不给力。不是它坏了,是它的物理特性决定的。
不过厂商也想到了这个问题,所以SSD都有一个叫"垃圾回收"的后台机制,会在空闲的时候提前擦除那些已经无效的数据块,为下一次写入做好准备。这个机制正常工作的时候,你能感受到的速度衰减其实很有限。但如果某些条件不满足,比如空间太满或者TRIM没生效,那问题就会变得明显。
这可能是导致SSD变慢最常见的原因,也是最容易被忽略的。
很多人习惯把所有东西都往C盘塞,软件默认装C盘,下载的文件放桌面(桌面其实就在C盘),各种缓存也默认在C盘。几年下来,128G的盘只剩十几个G,甚至不到十个G。
你可能觉得这跟速度有什么关系?关系大了。SSD需要预留一部分空闲空间来做垃圾回收和磨损均衡。当剩余空间太少的时候,控制器找不到足够的空闲块来执行这些后台操作,写入性能就会严重下降。有些SSD在可用空间低于10%的时候,写入速度甚至能掉到原来的三分之一。
最直接的解决办法就是清理空间。你可以用DiskGenius的"磁盘空间分析"功能扫描一下C盘,它会直观地展示出每个文件夹占了多大空间,哪些是大头。比你一层层点文件夹去找要快很多。找到那些没用的大文件,该删的删,该挪到其他盘的挪。
如果是C盘分区本身就太小了,那清理也只是治标。更彻底的办法是扩大C盘。可以调整分区大小,把其他盘的空闲空间匀一部分给C盘。这个操作不需要重装系统,但操作前建议备份重要数据,这是老规矩了。
另外有个经验值可以参考:SSD最好保持至少15%到20%的可用空间。比如你一块256G的盘,留个40到50G别塞满,性能会稳定很多。
TRIM是操作系统告诉SSD"这块数据我已经不用了,你可以擦了"的指令。有了它,SSD就能提前知道哪些数据块是垃圾,空闲的时候先清理掉,等真正要写入的时候就有现成的空块可以用,不用临时去擦。
Windows 7之后的操作系统默认都支持TRIM,但有时候它确实会莫名其妙地关闭。可能是某些优化软件给关了,也可能是系统更新之后出了bug。
怎么检查TRIM有没有开?以管理员身份打开命令提示符,输入:
fsutil behavior query DisableDeleteNotify
回车之后看结果。如果显示DisableDeleteNotify = 0,说明TRIM是开启状态,没问题。如果显示1,那就得手动打开了,输入:
fsutil behavior set DisableDeleteNotify 0
还有一种情况:如果你的SSD是接在RAID阵列里的,或者用的是比较旧的硬盘盒,TRIM指令可能传不过去。这种硬件层面的限制就需要换接口或者换连接方式了。
SSD跟机械硬盘不一样,它里面有自己的控制器和固件。固件相当于SSD的小脑,负责管理数据写入、垃圾回收、磨损均衡这些底层逻辑。厂商会不定期发布固件更新,修复bug,优化性能。
很多人买了SSD之后就再也没管过它,固件还是出厂时的那个版本。几年过去了,可能已经错过了好几个重要更新。
怎么查看当前固件版本?在DiskGenius里选中你的SSD,下方会显示硬盘的详细信息,包括固件版本号。然后你去厂商的官网搜一下对应型号,看看有没有更新的版本。
更新固件的操作一般不复杂,大部分厂商都提供Windows下的更新工具。不过有一个提醒:更新固件之前一定备份数据。虽然绝大多数情况下更新是安全的,但万一中途断电或者出意外,数据可能就没了。这跟重装系统是一个道理,不是一定会出事,但防患于未然总没错。
这个概念可能对普通用户来说有点陌生,但它的影响不小。
SSD内部的最小读写单位叫"页",通常大小是4KB或者8KB。操作系统也有自己的最小存储单元,也是4KB。如果两边的边界是对齐的,一次写入操作就刚好对应一个物理页,效率最高。如果没对齐,一个4KB的写入可能会跨越两个物理页,导致SSD要做两次写入操作,性能直接打个对折,同时还会增加不必要的闪存磨损。
这种情况在什么时候会出现?早期从机械硬盘迁移到SSD的时候,或者手动分区的时候没注意,都可能造成4K不对齐。Windows 7之后的系统在GPT分区下基本不会出这个问题,但如果你的系统是从很早的版本一路升级上来的,或者分区表是MBR格式的,就值得检查一下。
DiskGenius可以直接查看分区的对齐情况。选中分区,看属性信息里有没有"已对齐"或者对齐到多少个扇区的提示。
你可能没意识到,Windows在后台一直在往硬盘写东西。
系统日志、索引服务、Windows Update的下载缓存、各种软件的自动更新、浏览器的缓存和Cookie、虚拟内存的读写,这些都是持续性的写入操作。对机械硬盘来说你可能感觉不到,但对SSD来说,这些小而频繁的随机写入会影响性能,同时也会加速闪存的磨损。
特别是Windows Search索引服务,它会不停地扫描文件变化来更新索引数据库。如果你的文件数量很大,这个服务的IO开销不小。如果你不常用Windows的搜索功能,可以考虑关掉这个服务。
浏览器缓存也是一个大户。Chrome的缓存目录默认在C盘的AppData里,用久了能占好几个G。你可以定期清理,也可以把缓存目录改到其他盘去。
在DiskGenius里你可以查看磁盘的S.M.A.R.T.信息,其中一个指标叫"已写入总量",单位通常是TB。如果你的SSD用了三四年,写入量已经达到了几十甚至上百TB,那它确实比新的时候承受了更多的磨损,性能有所下降也是正常的。这个数据能帮你判断到底是个别设置问题还是硬盘本身确实到了生命周期的中后期。
这个偏硬件一些,但值得一提。SSD应该工作在AHCI模式下才能发挥全部性能。如果你的主板BIOS里硬盘模式设置成了IDE兼容模式,那SSD的NCQ(原生命令队列)功能就用不了,随机读写性能会差不少。
检查方法是进BIOS看SATA模式的设置,或者在Windows的设备管理器里看存储控制器那一项,如果显示的是"标准SATA AHCI控制器"就没问题。如果显示IDE相关的字样,那可能需要改BIOS设置。但这里有个坑:如果你装系统的时候用的是IDE模式,之后改成AHCI模式可能进不了系统,需要先在注册表里改一个值再切换。这个操作有风险,不确定的话最好先查一下具体步骤。
另外如果你的SSD是NVMe协议的M.2接口,要确认它确实插在了支持NVMe的M.2插槽上,而不是走SATA通道的那个。有些主板上的M.2插槽是SATA和NVMe共用的,插错位置速度会差好几倍。
最后说一个不太好听但必须面对的可能:你的SSD可能真的在老化。
闪存颗粒有写入寿命限制,通常用TBW(总写入字节数)来衡量。消费级的SSD一般在150到600TBW之间,企业级的更高。听起来好像很多,但如果你每天的写入量比较大的话(比如经常做视频剪辑、跑虚拟机、做大量下载),几年下来写入量可能真的接近甚至超过这个值了。
当闪存颗粒接近寿命极限的时候,坏块会增多,控制器需要花更多时间做纠错和重映射,性能下降就是自然而然的事情。
在DiskGenius里查看S.M.A.R.T.信息,重点关注几个指标:剩余寿命百分比、已用备用块数量、不可纠正错误数。如果剩余寿命已经到了百分之几,或者备用块快用完了,那就该认真考虑备份数据、准备换盘了。硬盘有价数据无价,等到彻底坏了再想恢复就麻烦多了。
如果你觉得自己的SSD变慢了但不确定到底是哪个原因,可以做一个简单的排查流程:
先看C盘剩余空间够不够。不够就清理或扩容。然后检查TRIM是否开启。再用看看4K对齐和S.M.A.R.T.状态。查看固件是否有更新。最后检查BIOS里的硬盘模式。
按照这个顺序走一遍,大部分问题都能定位到。SSD用了几年变慢不一定是质量问题,更多的时候是使用习惯和设置上的小毛病积累出来的。找到原因,该清理的清理,该调整的调整,很多时候它还能再战好几年
热门跟贴