越用越慢 SSD降速怎么办

2019-04-16 13:39产品 标签:SSD降速

SSD早已是主流攒机的标配,有些更陪伴小伙伴有一段日子了,有些问题也开始暴露出来了,最明显的当然就是明显降速问题。为啥SSD的速度。特别是存储速度会下降呢?有没有啥方法能它的速度恢复正常,至少让降速别那么夸张呢?

00

要解决降速问题,先得知道为啥SSD会降速。虽然SSD的降速原因不外乎那么几种,但不同类型的产品还是各有各的问题,咱们就分别来说一说吧。

● 管理机制隐藏问题

其实为了简化控制难度,存储的时候所有数据都不是一个萝卜一个坑存放的,而是把存储区域划分成一些小块,整块进行读写,即使有时候只有1bit数据,也会优先放到一个4kb甚至更大的存储块里,在SSD上情况也差不多,只是单位从磁盘的扇区变成了闪存芯片的“页”。

01

当SSD存储数据比较少的时候,几个bit的数据占据一个“页”问题不大,但数据存储较多的时候空间就不够用了,加上还有不少删除了数据,但并没有“抹平”状态的数据页,所以就要“回收”空间,重新整理,以便继续存储。

在一般的SSD中,经常会出现我们一边存东西,SSD一边忙着回收空间的情况,速度自然就变慢了。随着闪存的存储密度越来越大,空间回收也变得越来越困难,这也是很多不成熟的QLC产品性能曲线下降很快的原因。

02

针对这样的情况,现在的SSD提供了TRIM功能,可以用更高的效率进行空间回收。一些SSD还提供了碎片后台自动整理功能,可自动回收、合并这些零散数据,据称能达到终生不降速,当然降速是不可避免的,实际就是降速不明显而已。

要想知道SSD是否开启了TRIM功能,可以在命令行窗口输入“fsutil behavior QUERY DisableDeleteNotify”并回车。如果系统提示“DisableDeleteNotify = 0”,就说明Trim指令已启用。

03

如果显示为“DisableDeleteNotify = 1”,即Trim指令未启用,那么在管理员模式下,输入“fsutil behavior set disabledeletenotify 0”并回车,就可以开启TRIM功能了。

● SLC缓存管理

很多小伙伴会发现的SSD不再标注自己使用了多少缓存,这很可能说明它们使用了以SLC为缓存的设计。这些SSD通常使用TLC、QLC闪存,因为存储结构比较复杂,操作耗时,所以数据的实际存入速度很慢,所以会先将数据存入延迟极小的SLC中,然后在后台逐步存入主存储空间。

那为啥这些SSD会选择这种方式,而且不标出SLC缓存的容量呢?这是因为它们使用了动态SLC容量,直接在未使用的存储空间中划出一部分,只存储一位电荷,就“模拟”成了SLC缓存。

04

可用SLC缓存的容量和总容量、存储比例的关系

这样的设计让SSD成本大幅下降,但也使其在连续存入大量数据、存储比例较大的时候,都会出现耗尽SLC缓存,存储速度“断崖”式下跌的问题,这时候的速度甚至还不如未开启SLC缓存。

05

很明显,对这些产品来说,最简单的优化方式就是尽量不要一次性拷贝过多数据,并且购买更大容量的型号,使用时保持一定的空闲空间。

● 主控过热问题

虽然现在SSD闪存和主控芯片的制造工艺下,已经很少出现烫手的产品了。不过一些高速SSD使用的主控芯片在长时间高速使用时,发热量还是比较大的。与CPU一样,当温度过高的时候主控芯片也会自动降速,此时SSD的读写速度都会明显下降。

对这些产品来说,配置散热片是最直接有效的办法,目前很多中高端主板已经为M.2 SSD默认提供散热片,在这些主板上使用高速SSD基本不用担心过热降速问题。

06

说到这儿大家应该会发现,SSD降速的原因根本就是它自身读写方式和结构的问题嘛。没错,其实目前传统SSD的降速没啥彻底的解决方法,除了使用的时候尽量节省空间,开启自动整理之外,唯一能做的就是等待新型存储技术的出现了,和小编一起盼望厂商们给力点吧。

07