固态硬盘,固态硬盘为什么会掉速?


时间:

怎样防止掉速,又怎样让速度恢复过来?

用认真的态度与专业的情怀倾注于存储,欢迎关注我,与我交流哦!

固态硬盘掉速往往会发生在写入数据的过程中,出现掉速的原因,主要有三种情况:

目前固态硬盘内部采用的存储介质很多都是TLC NAND。我们知道,TLC NAND寿命较差,写入速度相对SLC NAND也很慢。

所以,为提升固态硬盘的写入性能,会在固态硬盘内部会专门增加一块SLC缓存区。如下图。当我们对一块TLC固态硬盘写入数据时,数据不会直接TLC NAND,而是先写入SLC NAND缓存区。当空闲的时候,SLC NAND缓存区的数据再搬迁到TLC NAND。这个过程对于用户来说,数据是写入SLC NAND缓存区的,速度就会很快。

可是,当SLC NAND缓存区被持续写满后,用户再写入数据时会直接写入TLC NAND。由于TLC NAND和SLC NAND写入速度的差异,用户就会看到写入速度有个断崖式的下降,也就是掉速。

比如,下图是一个利用软件HD Tune对某款TLC NAND实际测试写入数据。我们可以清晰的看到,当数据持续写入量超过3GB后,就出现了较大的掉速问题,速度下降了30%左右。

不过,如果是由于SLC缓存区被写满而导致的掉速,那么,从用户角度来说,没有优化办法。因为这个SLC缓存区的大小在SSD出厂时就被设定了。业内设置SLC缓存区大小标准大致如下表:

在固态硬盘中,特别是M.2接口SSD,会经常遇到一个发热问题。SSD厂商为了降低发热,在SSD中增加了动态温控功能(Thermal Throttling). 原理很简单,也就是说,当SSD的工作温度超过一定阈值后,SSD内部的工作频率就会下降,这样可以降低写入速度,进而降低SSD工作问题。SSD的工作频率下降,写入速度跟着下降,这时就会出现一定的掉速问题。比如下图是某款SSD开启动态温控功能后,写入速度的变化趋势图。

不过,由温控降频导致的掉速幅度不大,用户层面也无法优化。

最后,还有一个重要掉速因素,那就是说在固态硬盘使用较长时间后,固态硬盘内部会启动垃圾回收GC机制。垃圾回收机制的目的是擦除无效数据块,释放SSD存储空间。但是,垃圾回收GC处理过程比较费时间,这个过程也会导致一定掉速。

为了减少垃圾回收机制启动的次数,用户可以加大OP空间。为了让使用很久的固态硬盘焕发青春,还可以进行安全擦除(Secure Erase)。

影响固态硬盘掉速的因素主要有三个:一是固态硬盘SLC缓存被写满,二是固态硬盘温度过高导致的降频,三是固态硬盘内部启动垃圾回收GC等机制。前两个因素在用户层面无法优化,最后一个因素可以通过调整OP空间大小来优化。为了让使用很久的固态硬盘焕发青春,还可以进行安全擦除(Secure Erase)。

针对这个问题,你有何想法呢?

在下抛砖引玉,欢迎各位看官拍砖讨论,感谢!

为什么SSD用久了会掉速?

SSD掉速问题,本质上还是因为SSD工作原理的关系。固态硬盘使用闪存作为储存介质,而和可以直接在数据上面覆盖写入的机箱硬盘不同的是,SSD必须先擦除之后才能再次写入数据。

当有新的数据写入时需要替换旧的数据时,SSD主控制器将把新的数据写入到另外的空白的闪存空间上(标记为擦除状态)然后更新逻辑LBA地址来指向到新的物理地址。而旧的地址内容就变成了无效的数据,但是要在上面再次写入的话,就需要首先擦除掉这个无效数据。这样即使写入4KB的数据,也大大降低了效率。由于新购买的SSD里的NAND闪存已经预先擦除干净,因此数据可以直接写入,无需完成数据清除这一步,这时数据的写入速度非常快;随着时间的推移,SSD中从未使用的存储空间越来越少,很多时候必须先擦除闪存中的数据然后再写入,因此其性能就会明显下降。