在我们持续往固态硬盘SSD中写入数据时,碰到速度突然下降的情况,主要有两种情况:一是SLC Cache写满,二是写入温度过高后SSD Clock频率降低。但是这两种情况下速度下降的节点有所区别。我们分别来阐述一下:
SLC Cache写满后写入速度下降
要了解这种情况下写入速度下降的问题,我们需要先了解一下SSD写入数据的原理以及为什么引入SLC Cache.
我们知道目前市场NAND的主要有,SLC,eMLC,MLC,TLC,QLC
早些年,固态硬盘很多采用的都是SLC,MLC。但是由于价格太高,让SSD无法真正的进入寻常百姓家。之后,随着TLC的问世,凭借成本的优势,TLC NAND迅速成为SSD的主力军。目前市场上买到的SSD基本都是TLC NAND了。但是,TLC NAND有一个劣势,就是page program时间比SLC要长很多,这样的话,直接导致了SSD的整体写入性能不尽如人意。
人类是最聪明的高级生物。为了让TLC SSD具有低成本的同时兼具高性能的读写速度,人们就发明了SLC Cache.
1. 当我们网SSD写入数据时,主控会把数据先写入SLC cache。此时,我们看到的写入速度就是写入SLC NAND的速率。当SSD处于Idle时,再将SLC Cache中的数据搬入真正的数据存储区块TLC NAND。
2. 当我们持续写入数据超过SLC cache size时,数据就会直接写入数据存储区块TLC NAND,此时,我们看到的写入速度就是写入TLC NAND的速率。
我们看一个HD Tune实测的SSD数据,如下图,我们看到在写入数据超过3GB时,写入速率就会下降30%左右。也就是说,这块SSD的SLC Cache大小为3GB。
不同容量的SSD,SLC cache的大小也不同,由SSD生产商自己调整,一般业内设定如下表:
写入温度过高后SSD Clock频率降低导致写入速度下降
SSD,特别是NVMe SSD为了防止SSD运行温度过高,都有一个自调节功能,叫做Thermal Throttling,也就是当持续写入大量数据后,SSD运行温度会超过SSD阈值(0~70度),此时,SSD主控就会降低工作clock频率,以降低工作loading,达到降温的目的。不过,这样做的缺点就是以牺牲写入速率作为代价。以三星 960 EVO NVMe SSD测试数据为例,如下图。
从上图,我们可以看到,当写入数据量超过300GB时,写入速率就会下降10%左右。这个速率下降不是特别明显。
结语
我们罗列了两种导致写入速率下降的因素,SLC Cache才是造成写入速率突然有大幅下降的主要因素。
小编在此抛砖引玉,欢迎各位看官拍砖讨论!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.