浦科特 M9peGN 1TB M.2固态硬盘使用总结(背面|主频|效能)
-
摘要来自:
-
摘要来自:gaojie20
-
摘要来自:2019-04-28
【什么值得买 摘要频道】下列精选内容摘自于《SSD科学研究 篇六:稳健为王—Plextor 浦科特 M9peGN 1TB M.2固态硬盘1.07版固件性能解析》的片段:
说测试平台都说大了,就是自己用的一台ITX主机而已,配置是:
CPU:Intel Core I9 9900K
主板:Asus Strix Z390i Gaming
内存:Gskill DDR4 3200 C16 Triden Z 16GBX2
SATA:Plextor M5P 128GB
M.2:Plextor M9peGN 1TB
散热:Noctua NH-D9L
显卡:AMD RX VEGA64 Limited Edition (mod VEGA Fronter Edition)
风扇:Noctua NF-A6x25 X2
电源:Corsair SF600
机箱:Smallest One Sliver
正面
背面
45度左侧
45度右侧
SSD安装位,这个Z390主板的背面M.2位置是直通PCH的,不是直通CPU。
官标验证
M9peGN 1TB的官标性能我相信很多人测试过,但是估计没一个人能摸到随机读写的IOPS极限,测试条件很关键,首先官方说他们使用的测试工具是CrystalDiskMark 5.0.2 和 IOmeter 1.1.0,测试硬件Z270,操作系统WIN10专业版X64,我几乎测试所有QD深度和T线程数,终于摸到了这个极限,如下图:
CrystalDiskMark 5.0.2的持续读写使用QD32T1的默认设置,随机读写使用QD32T8的条件,可以非常接近官标所标识的UP TO的最大值:
Sequential Read [持续读取](Q= 32,T= 1) : 3165.426 MB/s
Sequential Write [持续写入](Q= 32,T= 1) : 2081.085 MB/s
Random Read 4KiB [4K随机读取](Q= 32,T= 8) : 1528.657 MB/s [373207.3 IOPS]
Random Write 4KiB[4K随机写入] (Q= 32,T= 8) : 1146.873 MB/s [279998.3 IOPS]
这个数值已经非常非常接近官标的UP TO最大值。这里的持续读写效能还是相对比较好获取,而这里的随机读写却要受到四个因素影响:
1、QD深度
2、测试中使用的CPU线程数
3、CPU主频
4、主板芯片组的NVME磁盘效能
简单来说,主板芯片组的NVME磁盘效能越好,CPU的主频越高,所获得的随机写入速度往往越高,这里测试所使用的线程数其实并不是开越多越好,开多开少都会产生IOPS的下降,对这个盘而言只有T8线程才是刚刚好。QD深度也是一样,开多开少一样会影响IOPS,所以官标的最大效能其实非常难测也很难抓住。但是无论如何这个UP TO的最大值总算可以溯源了。
NTFS的民用应用范畴的最差状态无非就是近乎满盘的情况下的效能,所以我填盘到95%后再次进行官标验证使用的手法进行测试,结果如下
Sequential Read [持续读取](Q= 32,T= 1) : 3022.479 MB/s
Sequential Write [持续写入](Q= 32,T= 1) : 2071.189 MB/s
Random Read 4KiB [4K随机读取](Q= 32,T= 8) : 1529.235 MB/s [373348.4 IOPS]
Random Write 4KiB[4K随机写入] (Q= 32,T= 8) : 1123.730 MB/s [274348.1 IOPS]
CrystalDiskMark 5.0.2手动设置持续读写QD32 T1和4K随机读写 QD32 T8,空盘1GB数据块和95%满盘32GB数据块的测试对比,可以很直观反应磁盘最好的表现和最差的表现。使用官方给SSD赋值性能指标的手法去测试的结果发现,持续读写轻微下降,而4K QD32 T8的随机读写几乎可以说无变化。
天堂和地狱
有了以上的经验,我有点怀疑官方针对4K QD32 T8有特殊优化,所以继续用这种天堂和地狱的手法进行其他软件和版本的对比,结果如下:
AS SSD BENCHMARK 2.0默认设置下的空盘1GB数据块和95%满盘下10GB数据块的测试对比,可以很直观反应磁盘最好的表现和最差的表现。4K随机读写的衰减和延迟的暴增是显而易见的存在,看起来仍在可接受范围内。
CrystalDiskMark 6.0.2 默认设置下的空盘1GB数据块和95%满盘32GB数据块的测试对比,32GB数据块的话肯定已经爆掉了SLC Cache了,可以很直观反应磁盘最好的表现和最差的表现。4K随机读写和持续读写均发生不同程度的下降,不过貌似看起来情况还不差。
不同的软件,不同的版本,不同的线程,不同的深度在跑这种 天堂和地狱 的测试中,表现也不尽相同,包括官方FW针对CrystalDiskMark 5.0.2的4K QD32 T8感觉也是做了优化在其中的。但是其实这些都不影响主要的权重性能,至少这种程度的天堂到地狱的衰减是在可接受范围。在NTFS桌面性能相对最差的情况中,依然有这样的性能,可以说,M9peGN 1TB做的还是中规中矩,没丢大厂的面子。
SSD的固件开发就如同一个天平,主控的CPU资源有限,NAND的实际读写能力有限,SLC Cache的大小有限,合理调度这三方面的性能满足消费级大部分使用需求才是最重要的。
这个测试带我们走过厂商宣称的最好效能和我们实测的最差情况下的效能参数对比,体现了一个SSD在3D TLC NAND调教、主控固件平衡以及盘内容量大部分写入情况下的综合能力。
TRIM CHECK
TRIM CHECK是一款很实用的检测SSD是否TRIM生效状态的软件,TRIM指令让操作系统可以告诉固态驱动器哪些数据块是不会再使用的;否则SSD控制器不知道可以回收这些闲置数据块,TRIM可以减少写入负担,同时允许SSD更好地在后台预删除闲置的数据块,以便让这些数据块可以更快地预备新的写入。当然光操作系统支持TRIM不行,还需要SSD的固件支持,
向SSD里写入一个16M的文件,这文件头的前16位字节如上图白色区域所表示,这也是该文件唯一的文本字符串,然后将其删除,如果TRIM工作,控制器也将删除这个数据,这时候软件让你等待大约20秒后然后按ENTER继续,然后关闭软件再次打开。
再次打开软件,提示原白色区域的字节已经被0所填充,说明主控固件的TRIM机制有效。
DATAWRITE
DATAWRITE是我的一个程序员朋友pufer在谈笑间写出的一个小程序,用于验证2D 3D TLC真实写入速度的。规则是使用随机模式QD1深度随机往SSD里面以1GB数据块大小为单位写入并且反馈即时的写入速度,这个软件当时我们开玩笑说的是,大部分的测试软件都在RAW格式下测试写入速度有失偏颇,那么我们能否直观一些在NTFS格式下进行一些动态写入以获得初略的2D 3D TLC NAND真实的写入速度评估,这就是这个软件编写的初衷。
从截图来看,爆掉SLC Cache之后的写入速度是稳定在800-900MB/S之间的,但是这并不单纯是3D TLC NAND实际写入速度,很明显固件机制在极力提升基准写入速度的持续性和有效性,保证不掉落在3D TLC NAND实际写入速度,所以是处于挣扎中的状态,显然这就是固件的机制。
URWTEST
URWTEST这个软件和前面的DATAWRITE有异曲同工之妙,不同的是他是使用随机模式QD1深度随机往SSD里面以2GB数据块大小为单位写入并且反馈即时的写入速度,写满了盘之后可以进行一次数据校验,校验的过程就是随机读取的过程,而校验的结果就是数据完整性的检测。这个测试更接近我们日常的应用等级。
SNIA稳定态测试
前面的测试都在NTFS格式下的桌面环境中测试,由于M9peGN 1TB 1.07版本固件的平衡能力,无法将其打落到到NAND本身的实际写入速度,即使在桌面环境的测试看起来结果还是不错的,我还是想看一下这个SSD是否能抗住企业级SSD标准化测试的残酷考验。
很少有人将一个消费级SSD推到极限的情况下去评估Perfermance效能,因为大部分的情况是掉成狗,有很多厂家是很忌讳使用SINA的标准SSD测试规范对他们的产品进行评估的,这个测试会将一切的外部加成全部忽略掉,将其打落到NAND本质的速度,进行严格的稳定态测试,如果性能浮动太大的话,可能永远无法达到稳定态直到测试中断,或者如果EARSE机制偶发性失效出现问题,这个测试也会中断,所以不是什么盘都能得到最终的测试结果,很多盘没跑完测试就已经被强制中断测试了,所以我很想知道这个盘以何种姿态通过测试或者不通过。
在SNIA组织定义的规范中,规范了如何测试闪存设备或固态存储。业界希望有一种来比较SSD的科学方法,这也是需要SNIA测试规范的原因。SSD的写入性能在很大程度上取决于NAND的写入历史。SSD一般有三个写阶段:
1、FOB(全新从盒子里拿出来的状态)
2、Transition(过渡)
3、Steady State(稳定状态)
以上图例来自SINA PTS 1.1测试规范
Transition(过渡)过渡是FOB和稳态的良好表现之间的阶段。大多数情况下,性能会随着时间的推移而持续下降,直到达到稳定状态为止。SNIA PTS1.1的测试规范则很严格的监控了FOB到稳定态的每一个阶段,以及评估标准帮你去确认你的企业级SSD确实达到了稳定态,所以根据以上溯源我们有了如下的操作:
软件系统及设置
操作系统 : Ubuntu 19.04 Disco Dingo (development branch)
内核版本 : 5.0.0-11-generic
测试软件: fio-3.12
Number of jobs: 2
Number of outstanding IOs (iodepth): 32
为了避免在T8线程钻到浦科特优化的套路里跑出很华丽的IOPS,所以这次使用了T2线程,进行测试。双核环境我相信是目前最广普的环境了,因为桌面环境下的固件优化后的高值IOPS我看够了,所以我想看最差的表现。
测试开始的截图
FOB(全新从盒子里拿出来的状态)to Transition(过渡)
Transition(过渡) to Steady State(稳定状态)
1、IOPS测试