五、专业向深入测试1.全盘读写曲线 & SLC缓存方案分析
为了深入探索宏碁掠夺者GM9000的SLC缓存方案,这里我们对其进行RAW格式下的全盘范围顺序读写测试(128KB,Q32T1),并以曲线图的形式为大家展示。从下图中可以看到,宏碁掠夺者GM9000的顺序读取线条十分平稳,平均读取速度为13560 MB/s。

在顺序写入方面,宏碁掠夺者GM9000有着国产SSD中常见到的三段式结构,是经典的动态SLC缓存方案,既能保证充裕的SLC Cache空间,适合大容量数据集中写入的操作,又能有效减少频繁GC带来的写放大效应。

其中宏碁掠夺者GM9000 2TB在空盘情况下的SLC缓存容量在380GB左右,缓内写入速度为12478 MB/s。
出缓后,宏碁掠夺者GM9000 2TB立刻进入第二段TLC直写阶段,并且此时的直写速度非常惊人,稳定维持在将近3800MB/s。
当TLC容量耗尽后,写入过程进入了第三段GC(垃圾回收)阶段,此时SSD要一边将SLC缓存中的数据重新释放为TLC状态,一边还要兼顾新数据的写入,所以性能有所下降。即便如此,在第三段的平均速度也能达到1801 MB/s,而这已经比许多PCIe 4.0 SSD的TLC直写速度还要高了!
为了深入探究宏碁掠夺者GM9000在各种占用状态下的SLC缓存处理方案,这里还进行了进一步的测试:
分别使用128K QD32的参数将SSD的预填充至50%、75%占用,再手动Trim并静置60min后,让主控自己进行SLC Cache释放操作。
之后再对剩余容量进行同样设置的顺序写入填充,分别观察SSD在各阶段的顺序写入情况,并将记录到的数据整理成如下图表:

可以看到,当剩余50%容量时,宏碁掠夺者GM9000的SLC Cache容量只有略微下降,为343GB左右;即便剩余25%容量时,依然维持了206GB左右,所以基本不用担心这块盘在高占用下会有SLC Cache失缓问题,全容量下都能提供爆发式写入加速性能。
2.长时间顺序写入测试
在全盘写入测试过程中,根据经验,其实已经可以初步判断宏碁掠夺者GM9000 2TB在写入曲线的第二段即为TLC直写阶段。
不过鉴于本文是一篇严谨的测试报告,所以又使用IOMeter对其进行了两倍于全盘容量的128K Q32T1顺序写入,以观察SLC缓存完成释放后,再次进入TLC直写阶段后的速度,并记录写入曲线如下:

首先可以确定的是,宏碁掠夺者GM9000 2TB的TLC直写速度就是在接近3800 MB/s左右,这个NAND颗粒的表现和我之前测试过TiPro9000 2TB非常类似,都是PCIe 4.0 SSD想都不敢想的水准。
其次,从写入曲线中可以看到一个有意思的情况,在SLC缓存释放完毕、重新进入TLC直写阶段时,会有一飞冲天的大阳线,写入速度临时飙升至缓内的水平。一开始我还以为出现这种情况是软件bug,切换至Ubuntu中用FIO重新测试了一遍,还是这种情况:

同样的大阳线,基本可以说明宏碁掠夺者GM9000的主控策略调校得相当积极,在写入时会尽力发挥更高的速度,这倒是个好事儿。
3.SLC缓外4K随机读取性能
关于SLC Cache缓外随机读取性能的重要性,在我之前的测评报告中几乎每篇都会提及。
简单来说,SSD的小粒度随机存取性能,是影响我们日常使用电脑时是否流畅的关键指标之一,比如我们在进行开机、打开软件、加载图片缩略图等操作时,都会用到这项性能。
虽然SSD的真实使用场景是包含了各种粒度、各种队列、各种读写比例混杂的复杂流程,但从4KB小粒度随机读写的性能中,我们可以管中窥豹,对SSD进行初步的评估。
有朋友可能会问,全网的KOL都在使用CrystalDiskMark测试SSD,这软件里不是已经有Q1T1 4K随机读写性能测试了么?
其实我们使用CrystalDiskMark、AS SSD Benchmark、TxBench等测试软件时,软件在进行测试前,会先向消费级SSD的SLC Cache中写入一个测试用的文件,然后在这个测试文件的容量范围内进行一系列读写操作。这也即是说,使用此类软件对这个测试文件进行随机读写测试时,实际是在SLC Cache中内进行的。
由于SLC Cache机制会对保存其中的数据提供更加精简、准确的FTL映射,这也意味着使用CDM这些软件测试时,SSD的随机读写性能都会被显著加强,虽然成绩很好看,但其实不够准确。
实际上,我们日常使用电脑时,打开软件或者加载游戏等操作,所访问的基本都是已经被挪出SLC Cache外区域内的数据,示意图如下:

这也使得像CrystalDiskMark这类软件的测试结果,并不能完全代表我们的实际使用场景,所以为了贴近实际,有必要排除SLC Cache的影响后,再对随机读取速度进行测试。
这里为了保证测试前SSD能够进入脏盘稳态,先以128KB QD32顺序写入填盘2遍后,再对宏碁掠夺者GM9000 2TB进行15分钟的Q1T1 4K随机读取测试,最终得到了如下图所示的SLC缓外4K随机读取速度曲线。

经过测试,宏碁掠夺者GM9000 2TB的缓外直读4K随机读取速度在67.84 MB/s左右。
4.4K随机长时间写入
由于SSD在标称容量之外,还有一些保留的空间(OP),所以在重负载测试过程中,为了在测试时确保所有页被写入,设计的写入量一定要明显大于标称容量,通常操作就是直接写两遍满盘进行预处理。
此时再对SSD进行长时间4K随机写入操作,可以观察写入速度是否足够收敛,来判断SSD在重负载下的性能稳定性,换句话说,就是可以看看SSD是否能进入稳态。

该项测试对于普通家用用户来说其实不用太在意,毕竟我们平时日常使用时,写入SSD的数据都会经过SLC缓存加速。不过对于极少数重度生产力用户来说,可以通过该项测试来评估SSD的主控性能和固件调校水平。
在测试SLC缓外4K随机读取速度前,我们已经对宏碁掠夺者GM9000进行了2遍顺序写入填盘的预处理操作,抱着别浪费机会的想法,顺带着也对其进行了QD32的4K随机写入测试。
具体来说,写入数据量为全盘容量的8倍,共记录了超过10个小时、36000行数据,所以在这里我们截取前两个小时共7200秒的曲线图进行展示(为了让曲线波动更明显,这里使用IOPS作为单位):

从上图中可以发现,宏碁掠夺者GM9000的4K随机写入曲线整体还是呈现了FOB——Transition——Steady State三个阶段的经典特征。并且在随机写入的后期,虽然从曲线上看还是有一些小波动,但是离散度依然不算大,相较于绝大部分消费级SSD来说,数据已经足够集中、收敛。
当然,不得不承认的是,宏碁掠夺者GM9000毕竟还是一款0% OP的消费级SSD,在经历了长时间的4K随机写入后,写入性能依然还是存在一些波动的,并不能和企业级SSD似的做到近乎一条直线。
这里再次截取最后阶段1000s的写入曲线,并且通过调整纵坐标轴区间的方式,将曲线波动放大得更加明显,可以看到写入曲线会在8.25K-120.6K IOPS之间反复震荡:
