
新电脑快,用久了变慢,这个问题不在内存也不在CPU
很多人有过这样的体验:新买的电脑,打开程序、复制文件都很快。用了一两年之后,明显感觉不如新机利索了。
通常的第一反应是内存不够用了,或者CPU该换了。但对于使用固态硬盘(SSD)的电脑来说,情况往往不是这样。
问题很可能出在硬盘本身,而且是SSD的一种正常工作特性,不是故障。
一、先搞清楚SSD是怎么存储数据的
理解SSD的性能变化,要从它存储数据的方式说起。
SSD的核心存储单元叫NAND Flash闪存颗粒。和机械硬盘用磁头读取旋转磁盘不同,闪存颗粒是用晶体管的状态来表示数据的。
具体来说,闪存颗粒内部有一种叫做"浮栅晶体管"的构造。晶体管内部有一块可以储存电子的浮动栅,通过判断浮动栅里有没有电子,可以区分出"0"和"1"两种状态。一个这样的存储单元,可以保存一个比特的数据。
多个存储单元叠在一起,组成一个"页",多个页组成一个"块"。目前主流的SSD,一页的大小通常是16KB,一块包含一百多页,总容量约几MB。
读和写可以在页的级别进行,但擦除只能在块的级别进行——这是闪存工作方式中最关键的一个约束,后续很多性能问题的根源都和它有关。
二、什么是写入放大
假设现在要修改一个已经被写过的页中的数据。
在机械硬盘上,直接把旧数据覆盖掉就好。但在SSD上,不能这样做。
因为闪存颗粒的物理特性是:必须先把这个数据所在的整个块全部擦除,才能重新写入新数据。而擦除的速度比写入慢得多,一次擦除操作可能涉及几MB的数据,但实际只需要改几百字节。
这就产生了一个问题:要修改几个字节的数据,实际上要擦除和重写整个块的数据。这就是"写入放大"(Write Amplification)。
写入放大意味着:用户写入1字节的数据,SSD控制器实际可能在闪存上执行了相当于10字节甚至更多的擦写操作。
936



被折叠的 条评论
为什么被折叠?



