一颗固态硬盘除了要有强力的主控和高品质的闪存颗粒之外,还需要有聪明的固件作为灵魂来掌控全局。继数据实时压缩能力之后,笔者最近又发现东芝TR200固态硬盘身上的一个小秘密。这个秘密属于最近几个月出厂、搭载有SBFA13.X固件的东芝TR200。
当代TLC固态硬盘均应用SLC缓存(用TLC闪存模拟SLC的方式写入)来补强写入端的短板,3D TLC固态硬盘也不例外。笔者最近在TR200上发现了一种全新的SLC缓存策略——持久缓存,顾名思义,一部分反复读写的数据可以保留在SLC缓存里不被释放和清空。
首先还要从SLC缓存的基础说起。而根据对闪存使用方式的不同,SLC缓存大体又可分为动态和静态两种算法,前者通常使用全盘范围内的一切可用空白闪存页用于模拟SLC写入,初期使用效果显著:连续写入大量数据也不会掉速,然而随着可供SLC消耗的空白闪存页耗尽,鸡血性能将迅速转变到萎靡不振的状态:一边要写入,一边还要还刚才打鸡血时欠下的旧债,速度反而不如静态SLC算法。
静态SLC算法则将SLC缓存的使用限定在一个较小的范围内,只在OP预留空间内模拟SLC闪存写入,不去透支固态硬盘用户区域内的可用空白闪存页。不管什么时候静态SLC缓存的空间都是固定的。
不管是动态还是静态SLC算法,都只能给固态硬盘的写入性能提供帮助,而对于读取性能则爱莫能助,写入SLC缓存的数据如同大水漫灌,最后都需要释放为TLC状态,缓存内是留不下数据的,对读取性能也就产生不了影响。
虽说TLC闪存的主要短板在于写入速度慢,但实际上它的读取性能同样要比SLC、MLC前辈要差一些。尤其是在读取与写入混杂进行的情况下,TLC闪存的实际性能输出要低于AS SSD Benchmark等理论跑分所展现出的同一时间只读取或只写入的水平。
带有持久缓存的增强型静态SLC算法如同保墒效果显著的土壤。写入到其中的数据能够根据热度选择保留一部分在缓存当中,从而加速再度读取时的效能。而多余的部分则如普通SLC算法那样排空到TLC状态。下图是笔者从东芝TR200 480G固态硬盘(固件版本SBFA13.3)当中摸索出的持久缓存与普通缓存比例。
对于电脑经常用到、反复读写的数据,东芝TR200的持久SLC缓存就能在加速写入之余,发挥到加速读取的作用。使用IOMeter工具对此进行验证:
分别取首次写入生成2GB测试文件时、闲置空闲60秒后、关机重新开机后、AS SSD Benchmark测速后(5GB写入)和一次性填充超过15GB文件后的4K QD1随机读取速度。可见持久缓存在家用日常使用中的实用性还是很高的。
对于持久SLC缓存,笔者此前曾在国内某网站上发现极个别高端NVMe固态硬盘有类似的应用。新版东芝TR200对持久SLC缓存算法的开发,无疑是开启了进一步提振主流SATA固态硬盘性能的一扇门。