SSD科学研究 篇十三:雷克沙Lexar NM800 1TB SSD专业方向评测
前言
▲江波龙从美光科技收购“Lexar”品牌后 ,在美国加利福尼亚州圣何塞成立了一家新的美国公司 Lexar International,该公司在美国和加拿大销售 Lexar 品牌的产品。位于中国香港的另一家新附属公司 Lexar Co., Ltd 在亚洲销售 Lexar 品牌产品。
其实美光本身有两家品牌公司,Crucial和Lexar,个人感觉Lexar品牌的商业价值可能比Crucial更高一些,产品的附加值也更高,所以这桩生意美光做的看不懂。
消费者更关注的问题是Lexar被江波龙收购之后是否还能提供出高质量的存储产品,今天评测带来的产品就是新一代的PCIe 4 x4的Lexar NM800 1TB SSD。
开箱
▲包装正面
▲包装背面
▲包装侧面
▲开箱
▲SSD本体正面
▲SSD本体背面
▲揭掉贴纸
典型的单面设计,正面两颗NAND,一颗缓存,一颗主控。
型号为:
主控:InnoGrit IG5236CAA
缓存:Foresee NCLDXC1MG256M32
闪存:Lexar NC66THA1884512G
解析
主控
▲NM800 1TB采用了InnoGrit IG5236CAA主控,
▲InnoGrit 由前 Marvell CTO 吴子宁和其他存储行业重量级人物于 2016 年创立,旨在通过集成电路和系统解决方案开发支持 AI 和大数据的存储技术。
▲Rainier IG5236内部代号为Rainier ,采用 TSMC 12nm FinFET CMOS 工艺制造,是PCIe Gen4 x4、NVMe 1.4 规格的SSD 控制器,硬件参数是32-bit ARM Cortex R5四核处理器,667MHz主频。
IG5236 支持具有 32/16 位宽数据总线的 DDR3或者DDR4 SDRAM。支持8 个 NAND 通道,支持 MLC、TLC 和 QLC 以及 ONFI 4.1 或 Toggle 2.0/3.0/4.0。该控制器实现了InnoGrit专有的4kB LDPC ECC,端到端数据保护甚至RAID引擎,以确保可靠性和数据完整性。
支持最大容量方面,最大容量高达 16TB。
功耗方面,在L1.2睡眠状态下功耗仅为2mW。
安全方面,IG5236具有多种数据加密和保护方案,包括 AES、SM2/3/4(中国国家密钥)、SHA、RSA、ECC、CRC 和端到端数据保护。
纠错方面,使用4kB LDPC,数据耐用性和保留率大大增强,可为 SSD 解决方案提供更好的可靠性和超高性能。
▲准确来说,他的对手并不是三星 WD,而是来自Phison的PS5018-E18 以及来自Silicon Motion的SM2264 SSD控制器。
闪存
▲Lexar NM800 1TB使用的是镁光原厂的wafer片,自己封装的3D TLC NAND,编号为NC66THA1884512G。
缓存
缓存使用的是FORESEE封装的DDR4,编号为NCLDXC1MG256M32,从编号推测是256Mb X 32 /8=1GB的容量。
测试平台
Tested Hardware:
• CPU : AMD Ryzen 7 5800X
• MB : ASRock X570S PG Riptide
• Dram : Oloy DDR4-3600 16GBx2
• SSD(sys): Intel DC-S3500 800GB SATA
• GPU : Zotec Geforce RTX3060 12GB
• Cooler : Thermalright AK120MINI
• PSU : Greatwall GW-EPS1560DA
WINDOWS测试部分
官方参数
TBW
▲测试前期CrystalDiskiinfo 8.12.1检测的SMART信息
▲测试中期CrystalDiskiinfo 8.12.1检测的SMART信息
从这里的写入量来看的话,主机写入量总计72.580TB,寿命消耗在6%-7%之间,参数收紧一点假设寿命消耗是7%,换算出来的FW的寿命计算为72.580TB/0.07=1036.86TBW,远大于官方参数的500TBW。
官方性能定标
官标性能我相信很多人测试过,但是估计没一个人能摸到随机读写的IOPS极限,测试条件很关键,自己可以尝试测试所有QD深度和T线程数,可以摸到了这个极限,如下图:
▲CrystalDiskMark 8.0.24的持续读写使用QD32T1的默认设置,随机读写使用QD32T16的条件,可以非常接近官标所标识的UP TO的最大值:
Sequential Read [持续读取](Q=32,T=1) : 7459 MB/s 超越官标
Sequential Write [持续写入](Q=32,T=1) : 5738 MB/s 接近官标
Random Read 4KiB [4K随机读取](Q=32,T=16) : 399K IOPS 接近官标
Random Write 4KiB[4K随机写入] (Q=32,T=16) : 1013K IOPS 远超官标
评估了下,基本可以认为达到了官标的性能。
定标测试结果受到哪些影响因素呢?
这里的持续读写效能还是相对比较好获取,而这里的随机读写却要受到四个因素影响:
1、QD深度
2、测试中使用的CPU线程数
3、CPU主频
4、主板芯片组的PCIe GEN4 NVMe磁盘效能
简单来说,对于PCIe GEN4的SSD主控而言,主板芯片组的PCIe GEN4 NVMe磁盘效能越好,CPU的主频越高,所获得的随机写入速度往往越高,这里测试所使用的线程数其实并不是开越多越好,QD深度也是一样,最高效能由FW的优化决定。
天堂和地狱
有了以上的经验,我有点怀疑官方针对4K QD32 T16有特殊优化,所以继续用这种天堂和地狱的手法进行其他软件和版本的对比,结果如下:
▲CrystalDiskMark 5.0.2 默认设置下的空盘1GB数据块和96%满盘32GB数据块的测试对比,配置使用持续读写Q32T1和随机读写Q32T16,可以很直观得使用软件的最大压力限制反应磁盘在该软件下最好和最差的表现。
测试结果反馈4K随机读写和持续读写均发生不同程度的下降,不过貌似看起来情况还不差。
▲AS SSD Benchmark 2.0.7316.34247默认设置下的空盘1GB数据块和96%满盘下10GB数据块的测试对比,可以很直观反应在该软件最大压力限制范围内磁盘最好和最差的表现。
测试结果反映4K随机读写的衰减和延迟的暴增是显而易见的存在,看起来仍在可接受范围内。
不同的软件,不同的版本,不同的线程,不同的深度在跑这种 天堂和地狱 的测试中,表现也不尽相同,包括官方FW针对CrystalDiskMark 5.0.2的4K QD32 T16感觉也是做了优化在其中的。但是其实这些都不影响主要的权重性能,至少这种程度的天堂到地狱的衰减是在可接受范围。在NTFS桌面性能相对最差的情况中,依然有这样的性能,四个字:东西规矩。
SSD的固件开发就如同一个天平,主控的CPU资源有限,NAND的实际读写能力有限,SLC Cache的大小有限,合理调度这三方面的性能满足消费级大部分使用需求才是最重要的。
这个测试带我们走过厂商宣称的最好效能和我们实测的最差情况下的效能参数对比,体现了一个SSD在3D TLC NAND调教、主控固件平衡以及盘内容量大部分写入情况下的综合能力。
SLC Cache验证
DATAWRITE是我的一个大神级程序员朋友pufer在谈笑间写出的一个小程序,用于验证2D 3D TLC真实写入速度的。规则是使用随机模式QD1深度随机往SSD里面以1GB数据块大小为单位写入并且反馈即时的写入速度,这个软件当时我们开玩笑说的是,大部分的测试软件都在RAW格式下测试写入速度有失偏颇,那么我们能否直观一些在NTFS格式下进行一些动态写入以获得初略的2D 3D TLC NAND真实的写入速度评估,这就是这个软件编写的初衷。
▲很直观,写入在320GB附近开始掉速,这就是大致的SLC Cache容量
URWTEST
▲URWTEST这个软件和前面的DATAWRITE有异曲同工之妙,不同的是他是使用随机模式QD1深度随机往SSD里面以2GB数据块大小为单位写入并且反馈即时的写入速度,写满了盘之后可以进行一次数据校验,校验的过程就是随机读取的过程,而校验的结果就是数据完整性的检测。这个测试更接近我们日常的应用等级。
TrimCheck 0.7
TRIM CHECK是一款很实用的检测SSD是否TRIM生效状态的软件,TRIM指令让操作系统可以告诉固态驱动器哪些数据块是不会再使用的;否则SSD控制器不知道可以回收这些闲置数据块,TRIM可以减少写入负担,同时允许SSD更好地在后台预删除闲置的数据块,以便让这些数据块可以更快地预备新的写入。当然光操作系统支持TRIM不行,还需要SSD的固件支持。
▲向SSD里写入一个16M的文件,这文件头的前16位字节如上图白色区域所表示,这也是该文件唯一的文本字符串,然后将其删除,如果TRIM工作,控制器也将删除这个数据,这时候软件让你等待大约20秒后然后按ENTER继续,然后关闭软件再次打开。
▲再次打开软件,提示原白色区域的字节已经被FF所填充,说明主控固件的TRIM机制有效。
SNIA PTS评估验证
前面的测试都在NTFS格式下的桌面环境中测试,由NM800 1TB固件的平衡能力以及320GB的SLC Cache,很难将其打落到到NAND本身的实际写入速度,即使在桌面环境的测试看起来结果还是不错的,我还是想看一下这个SSD是否能抗住企业级SSD标准化测试的残酷考验。
▲全球网络存储工业协会(Storage Networking Industry Association,SNIA)是成立时间比较早的存储厂家中立的行业协会组织,宗旨是领导全世界范围的存储行业开发、推广标准、技术和培训服务,增强组织的信息管理能力。作为一家非盈利的行业组织,拥有420多家来自世界各地的公司成员以及7100多位个人成员,遍及整个存储行业。它的成员包括不同的厂商和用户,有投票权的核心成员有Dell、IBM、NetApp、EMC、Intel、Oracle、FUJITSU、JUNIPER、QLOGIC、HP、LSI、SYMANTEC、HITACHI、Microsoft、VMware、Huawei-Symantec十五家,其他成员有近百以上,从成员的组成可以看出,核心成员来自核心的存储厂商,所以SNIA就是存储行业的领导组织。在全球范围SNIA已经拥有七家分支机构:欧洲、加拿大、日本、中国、南亚、印度以及澳洲&新西兰。
Solid State Storage Performance Test Specification Enterprise v1.0是SNIA于2011年给Enterprise SSD都制定了Performance Test(性能测试)的规范,可以到其网站www.snia.org下载。
很少有人将一个消费级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
为了避免在T16线程FW优化的套路里跑出很华丽的IOPS,所以这次使用了T2线程,进行测试。双核环境我相信是目前最广普的环境了,因为桌面环境下的固件优化后的高值IOPS我看够了,所以我想看最差的表现。
▲测试全过程图谱记录
1、IOPS测试(IOPS)
测试方法
进行Secure Erase安全擦除
预处理:128K持续写入双倍SSD容量
每一轮测试包含.512B,4K,8K,16K,32K,64K,128K,以及1MB数据块大小,每个数据块在100%,95%,65%,50%,35%,5%和0%运行读/写混合测试,各为一分钟。试验由25回合(Round)组成(一个循环需要56分钟,25回合=1400分钟)
使用4K随机写入的IOPS作为测试目标,写入振幅20%平均值与测量值线性最佳拟合线的斜率作为验证进入稳定态的标准。
<iops>
<fioversion>"fio-3.1n"</fioversion>
<numjobs>2</numjobs>
<iodepth>32</iodepth>
<runtime>60</runtime>
<xargs>["refill_buffers"]</xargs>
<roundmat>[[[3357, 30186, 61349, 108109, 142209, 227057, 231541, 231177], [1872, 18115, 27637, 61205, 81514, 108668, 185565, 101761], [1034, 3810, 7617, 14408, 23823, 42358, 65238, 41403], [180, 1336, 2584, 9361, 27541, 29417, 44740, 28581], [106, 779, 1651, 3383, 6139, 12212, 23328, 20901], [66, 1573, 2299, 3516, 5236, 9349, 18887, 15066], [74, 658, 1176, 7223, 12890, 14580, 21909, 14404]], [[1088, 8508, 30702, 62709, 98225, 159378, 215956, 215784], [1345, 14837, 17341, 24795, 35417, 71864, 205055, 204354], [984, 3900, 6920, 13363, 21995, 34395, 68119, 40881], [190, 1425, 2865, 17342, 19982, 35031, 54805, 30819], [132, 967, 2084, 4248, 7402, 13839, 28997, 44940], [368, 749, 1524, 3066, 5449, 10072, 21523, 16081], [83, 638, 1376, 2885, 6080, 11276, 59317, 15956]], [[1050, 14246, 29599, 53760, 87249, 137853, 198955, 199517], [2375, 7736, 14141, 23385, 48552, 102666, 118393, 190563], [865, 3659, 5792, 9496, 17744, 33275, 64328, 41932], [178, 1388, 2830, 5351, 10523, 47957, 87164, 30952], [387, 1297, 2382, 4666, 8724, 17653, 32485, 23353], [82, 704, 1359, 2761, 17451, 19224, 36263, 16955], [98, 788, 1571, 7657, 13868, 23300, 37527, 16106]], [[1035, 15008, 29309, 53355, 84679, 133775, 209084, 208772], [1474, 9234, 14541, 26994, 80106, 122194, 63613, 63887], [1050, 4161, 7074, 12936, 24608, 40420, 70370, 42076], [527, 1967, 3380, 7272, 14907, 24761, 48301, 31699], [189, 3437, 4024, 6266, 9482, 18195, 36822, 24464], [88, 739, 1470, 10734, 13253, 24328, 46821, 17020], [119, 865, 1736, 3292, 6529, 12530, 121227, 16244]], [[1068, 7793, 14176, 36500, 79253, 103327, 162264, 163625], [1763, 10758, 23601, 23344, 61791, 99274, 69122, 111096], [955, 3917, 6880, 11900, 22672, 36993, 69983, 42993], [534, 2556, 4251, 8115, 14503, 30265, 51962, 37854], [426, 1637, 2799, 5263, 10326, 18231, 42294, 24298], [299, 1432, 2366, 4794, 7255, 16364, 28704, 16443], [315, 1900, 2478, 4324, 7616, 13200, 27600, 15746]], [[1550, 16042, 27411, 50255, 79270, 110347, 190013, 190391], [1708, 9517, 16009, 47998, 45600, 63161, 188282, 173444], [1005, 4688, 8218, 15788, 26970, 43374, 73357, 41201], [207, 1752, 3570, 20082, 23189, 37493, 65837, 31816], [199, 1405, 2491, 5098, 29002, 39386, 70550, 24526], [110, 907, 1951, 3493, 6834, 38792, 72899, 17154], [122, 820, 1711, 3381, 21632, 30111, 65919, 15938]], [[1075, 11910, 27321, 50554, 79908, 106407, 184231, 184875], [1761, 9455, 26107, 22999, 33273, 88127, 185220, 174631], [813, 3951, 6692, 11707, 22311, 38818, 68524, 50345], [561, 2378, 3963, 8068, 15640, 26238, 51662, 30607], [532, 1993, 3173, 5924, 11055, 21980, 43439, 24846], [112, 891, 1669, 10049, 13477, 24671, 37233, 16874], [122, 939, 1765, 3406, 17865, 30151, 51657, 15915]], [[1869, 15470, 27171, 50765, 79012, 107150, 186609, 188008], [1960, 7452, 13956, 41806, 50827, 45966, 190663, 181979], [850, 3558, 6447, 14745, 26331, 39976, 69758, 42324], [198, 4719, 5492, 10888, 16832, 28706, 57913, 31560], [144, 1125, 2186, 9918, 17042, 30099, 46403, 23887], [333, 1680, 2638, 4754, 8643, 17140, 31225, 17218], [102, 1106, 1767, 9377, 16464, 29299, 51697, 16106]], [[1061, 8687, 27231, 50686, 80146, 110423, 194036, 194623], [2028, 10206, 17272, 29332, 32542, 88085, 184570, 185984], [932, 3575, 6325, 12157, 21637, 38693, 69697, 42892], [684, 3462, 5158, 10558, 19001, 33081, 59603, 32063], [163, 1277, 2566, 13304, 19918, 36312, 74491, 24688], [109, 802, 1547, 8822, 16930, 27767, 47248, 17686], [104, 735, 3573, 8539, 15900, 27623, 52446, 16128]], [[2026, 15448, 27226, 50267, 79529, 109880, 192995, 193632], [1354, 9864, 23808, 23502, 59847, 41161, 85344, 177835], [1029, 5061, 7369, 15165, 26781, 41964, 71783, 42775], [227, 4604, 6152, 10990, 17203, 31945, 62843, 31856], [424, 2139, 3303, 6289, 10763, 19541, 38543, 25056], [103, 810, 4345, 6169, 10175, 17131, 34597, 32088], [510, 1516, 2981, 5154, 8774, 14965, 32250, 16189]], [[1646, 15450, 27098, 49479, 79880, 115340, 203632, 204367], [1482, 10987, 20585, 24893, 75959, 70233, 85802, 187540], [929, 4368, 7092, 13386, 23973, 39226, 72766, 43552], [539, 2843, 4803, 9955, 15116, 26046, 51582, 31367], [173, 2473, 3321, 5675, 9338, 17941, 34052, 24279], [476, 1547, 2719, 5062, 8061, 16183, 34259, 17008], [211, 3601, 3072, 6590, 9828, 19314, 35957, 16514]], [[2156, 15723, 26626, 48713, 78865, 113464, 200599, 201896], [1085, 8634, 18347, 43098, 32443, 41837, 169524, 183175], [925, 4480, 7218, 12877, 21478, 40984, 69122, 42369], [453, 3888, 4966, 9953, 18105, 30302, 59624, 31596], [284, 3069, 4335, 7714, 12786, 22091, 43955, 24692], [110, 787, 4929, 8343, 12347, 21423, 40517, 17303], [107, 851, 5198, 9977, 14527, 25630, 48649, 21707]], [[1857, 15328, 26677, 48787, 78104, 110135, 196830, 197567], [1153, 14339, 14570, 23092, 54965, 109809, 156018, 81199], [936, 3561, 6329, 14850, 24175, 36644, 66966, 42873], [258, 5115, 5289, 11529, 18504, 29789, 61802, 31321], [154, 1169, 2373, 4344, 8837, 16848, 86830, 24553], [461, 1479, 2642, 6336, 10848, 18324, 37666, 17070], [263, 2594, 2811, 6239, 9943, 16825, 53472, 16411]], [[1887, 15341, 26096, 48337, 78876, 112184, 195141, 195472], [1362, 11982, 15721, 22426, 70428, 95924, 162711, 180022], [888, 3941, 7421, 14443, 26787, 41093, 70595, 41737], [449, 3015, 4561, 8177, 14654, 26704, 52664, 30829], [456, 1987, 3120, 5943, 12124, 21204, 39765, 24560], [255, 1502, 2756, 4837, 7376, 15170, 29511, 16661], [364, 1493, 3016, 6344, 8283, 15885, 36390, 31339]], [[1628, 15054, 26082, 47808, 78834, 117313, 211193, 211851], [1841, 8392, 25036, 24841, 59646, 111782, 115015, 132486], [870, 3745, 6815, 15273, 28872, 43557, 70967, 42759], [447, 2745, 4521, 8508, 14612, 28963, 51553, 30345], [526, 1900, 3762, 7073, 12466, 22697, 47406, 25030], [108, 2250, 3022, 4662, 8393, 17304, 35101, 16956], [441, 1781, 3211, 6413, 10486, 20092, 33117, 16804]], [[1055, 13777, 25742, 47589, 77878, 113949, 205489, 205422], [1676, 9213, 14668, 36460, 72269, 42049, 66965, 176445], [1013, 4022, 7179, 16082, 29009, 44226, 74647, 49380], [878, 3211, 4830, 9729, 15770, 33374, 66502, 31684], [161, 1326, 2818, 5661, 30017, 29404, 50290, 24267], [117, 898, 1600, 3141, 22390, 28266, 51511, 17469], [121, 788, 1492, 8915, 19004, 30089, 63016, 16105]], [[1419, 14649, 26294, 49551, 80710, 111091, 196272, 196827], [1534, 8539, 13793, 22947, 71418, 108220, 161303, 70827], [964, 3825, 6508, 12241, 22732, 42319, 71348, 42305], [758, 2987, 4775, 8646, 15919, 29085, 54068, 30826], [146, 1156, 7708, 10790, 18413, 28617, 62186, 24643], [108, 760, 1625, 3344, 12694, 27106, 41213, 17122], [96, 716, 4230, 4826, 9402, 19555, 51820, 16655]], [[2161, 14456, 26078, 48144, 78527, 110613, 197785, 198225], [1896, 9086, 13785, 29506, 75948, 60156, 64334, 130888], [1027, 4790, 7400, 13840, 24423, 40858, 71952, 43103], [239, 4001, 5132, 10825, 15881, 28337, 58661, 47327], [588, 2228, 3683, 8140, 13020, 22272, 41031, 24190], [104, 809, 1739, 9649, 14336, 20370, 39881, 16706], [107, 2174, 3695, 6640, 11720, 24678, 35782, 16129]], [[1047, 9639, 26270, 48334, 78948, 113243, 204354, 204748], [1660, 7488, 16859, 42819, 54662, 41221, 102075, 176181], [1019, 4977, 7603, 14502, 25791, 42046, 76527, 43455], [229, 4913, 5754, 11567, 19425, 31102, 59442, 31393], [184, 4319, 5357, 9646, 15825, 28765, 53301, 24186], [118, 824, 5321, 7322, 10740, 17083, 34489, 23311], [368, 1382, 2270, 4214, 7134, 15505, 30010, 16112]], [[1066, 12948, 26142, 47807, 78663, 115813, 208560, 209458], [1836, 8551, 25175, 24314, 53794, 113059, 154115, 76258], [984, 3847, 6720, 12965, 21316, 38040, 71491, 41001], [485, 4383, 6236, 10952, 19648, 34429, 66281, 31073], [172, 1196, 2403, 14247, 20598, 31851, 62389, 24771], [112, 833, 1684, 8387, 15725, 24748, 40757, 16973], [126, 908, 1833, 13825, 14581, 31333, 86863, 16317]], [[1007, 7245, 22938, 49207, 78435, 108477, 189930, 190984], [1666, 13230, 14103, 23267, 36068, 102329, 191740, 178413], [791, 3324, 6577, 12565, 22775, 37290, 68452, 42846], [340, 3380, 5510, 11682, 20134, 30409, 57553, 30983], [497, 2071, 3699, 7030, 11824, 20587, 43259, 24686], [96, 2352, 2460, 4698, 8328, 14855, 28697, 16745], [422, 1818, 3094, 6036, 9989, 17667, 49359, 16182]], [[1318, 14730, 25613, 47524, 77859, 113615, 200653, 201344], [1308, 11702, 16991, 33064, 41639, 94184, 99602, 163083], [798, 3353, 5413, 9978, 17270, 35030, 68537, 56917], [746, 2318, 4041, 7601, 14308, 24990, 53442, 31269], [148, 1578, 5208, 8617, 15531, 24283, 46620, 25995], [428, 1859, 2835, 4623, 9486, 17534, 35375, 16903], [149, 2388, 2889, 5337, 8106, 15018, 57253, 16034]], [[1924, 14480, 25155, 46510, 76852, 110289, 187210, 187807], [1272, 12725, 18111, 29735, 47635, 92500, 184851, 113800], [838, 3842, 7096, 14060, 24543, 42189, 70240, 46509], [770, 2996, 5378, 9552, 17457, 33108, 63783, 30941], [178, 1211, 5960, 8010, 14656, 23838, 45112, 23924], [406, 1688, 2700, 5241, 8578, 18160, 31977, 16701], [377, 2914, 3718, 7124, 10960, 21163, 50013, 16144]], [[1085, 8738, 25378, 46830, 77100, 113430, 207471, 190154], [1954, 7771, 22622, 33828, 36250, 113812, 195582, 89146], [284, 6515, 6354, 13996, 22055, 39718, 66886, 41922], [196, 1374, 2527, 12788, 29123, 37861, 72573, 31304], [176, 1339, 2385, 11355, 24024, 31319, 68974, 24817], [126, 916, 1633, 3017, 17808, 30288, 51997, 17303], [126, 885, 1559, 10974, 15125, 26357, 58274, 16158]], [[999, 10819, 25727, 48363, 78785, 113599, 206398, 206858], [1681, 7171, 16314, 45878, 57404, 41054, 124065, 186550], [964, 3675, 6984, 15059, 23822, 43272, 72704, 42680], [775, 3516, 4739, 9702, 19585, 33112, 61003, 31239], [167, 1234, 2384, 4562, 8776, 56321, 74022, 25064], [109, 832, 1631, 3396, 6620, 45715, 77833, 17048], [117, 744, 1553, 8928, 14634, 28714, 56972, 16535]]]</roundmat>
<stdyrounds>[20, 21, 22, 23, 24]</stdyrounds>
<stdyvalues>[49359, 57253, 50013, 58274, 56972]</stdyvalues>
<stdyslope>[1224.6999999999832, 27430.80000000036]</stdyslope>
<stdyavg>54374</stdyavg>
<reachstdystate>true</reachstdystate>
<rndnr>24</rndnr>
▲完整测试数据
▲IOPS稳态收敛图-QD32
显示相关变量如何收敛到稳定状态的过程
▲IOPS稳定态验证图-QD32
显示(20,21,22,23,24)回合进入了稳态,这里需要说明的是,当性能特别稳定的盘上去,一般来说都是(0,1,2,3,4)直接进入稳定态了,而稳定性差点的盘上去,可能就在更多的回合进入了,4K随机写入性能浮动较大的盘如果不能控制在20%以内的话,那就永远通不过这个测试。
所以这个环节,从FOB状态过渡到稳定态耗费了最大的回合,擦边临界通过。
▲IOPS测试2D图-QD32
▲IOPS测试3D图-QD32
2、带宽测试(TP)
测试方法
进行Secure Erase安全擦除
对于['1024k', '64k', '8k', '4k', '512']数据块大小进行持续读写60秒为一回合(Round)
使用1024K持续写入的吞吐量作为测试目标,写入振幅20%平均值与测量值线性最佳拟合线的斜率作为验证进入稳定态的标准
<tp>
<fioversion>"fio-3.1n"</fioversion>
<numjobs>2</numjobs>
<iodepth>32</iodepth>
<runtime>60</runtime>
<xargs>["refill_buffers"]</xargs>
<roundmat>[[[7286134, 7259446, 7249378, 7242860, 7221205], [5560920, 5396987, 5384638, 5176776, 5152079]], [[7274703, 5127932, 5128988, 5134858, 5136259], [5565490, 5186550, 5409971, 5394953, 5397244]], [[3690917, 3174077, 3167639, 3167299, 3176123], [4362810, 4377978, 4356676, 4379554, 4352830]], [[3615281, 1480031, 1479460, 1481543, 1477875], [3114991, 3133543, 3040529, 3103596, 3120193]], [[314955, 316064, 315894, 315430, 315873], [45575, 40832, 38368, 40064, 38449]]]</roundmat>
<stdyrounds>[0, 1, 2, 3, 4]</stdyrounds>
<stdyvalues>[5560920, 5396987, 5384638, 5176776, 5152079]</stdyvalues>
<stdyslope>[-103789.30000000088, 5541858.6000000015]</stdyslope>
<stdyavg>5334280</stdyavg>
<reachstdystate>true</reachstdystate>
<rndnr>4</rndnr>
</tp>
▲完整测试数据
▲带宽稳态收敛图-QD32显示相关变量如何收敛到稳定状态的过程
从测试原数据可以看出:
数据块=1M时,读取最高达到7286.101MB/s,
数据块=64K时,写入最高达到5560.920MB/s,
▲带宽稳定态验证图-QD32
显示(0,1,2,3,4)回合直接进入了稳态,稳定性不错,满足验证标准给出了1M数据块下持续写入振幅20%平均值与测量值线性最佳拟合线的斜率的条件。
▲读写带宽测试2D图-QD32
我们可以看到稳定态下持续读写各个数据块下的平均表现力,1M数据块下持续读最大平均带宽7081.84MB/S,64k数据块下持续写最大平均带宽5264.494MB/S
3、延迟测试(LAT)
测试方法
进行Secure Erase安全擦除
预处理:128K持续写入双倍SSD容量
对于['8k','4k','512']数据块大小进行100%读,65%读35%写,100%写的随机读写测试,测量最大最小以及平均的延迟,60秒为一个回合(Round)
使用4K随机写入的平均延迟作为测试目标,写入振幅20%平均值与测量值线性最佳拟合线的斜率作为验证进入稳定态的标准
<lat>
<fioversion>"fio-3.1n"</fioversion>
<numjobs>1</numjobs>
<iodepth>1</iodepth>
<runtime>60</runtime>
<xargs>["refill_buffers"]</xargs>
<roundmat>[[[[52.0, 8035.0, 115.118774], [47.0, 936.0, 74.279441], [47.0, 1348.0, 74.459637]], [[36.6, 5421.6, 66.00896170000001], [33.35, 1764.5000000000002, 60.7968064], [33.0, 6002.25, 78.13100725]], [[8.0, 199645.0, 21.03444], [7.0, 198864.0, 18.189637], [8.0, 213625.0, 45.381215]]], [[[25.0, 34646.0, 124.194816], [46.0, 3182.0, 79.769165], [46.0, 1176.0, 80.079047]], [[33.35, 5625.9, 72.13604980000001], [32.7, 1621.5500000000002, 54.043886050000005], [16.45, 6158.45, 54.7872431]], [[7.0, 199236.0, 14.367234], [7.0, 7967.0, 12.118013], [7.0, 210255.0, 54.630516]]], [[[25.0, 96766.0, 100.602454], [46.0, 3835.0, 79.296373], [26.0, 3411.0, 79.548891]], [[33.35, 5343.950000000001, 67.6999881], [33.35, 1899.15, 53.92029575], [32.35, 1837.5, 56.4438354]], [[8.0, 199266.0, 14.602434], [7.0, 12161.0, 12.103736], [7.0, 233726.0, 30.400511]]], [[[26.0, 1309.0, 88.824036], [47.0, 3673.0, 73.834926], [32.0, 3618.0, 73.932262]], [[19.700000000000003, 1881.8000000000002, 69.17968075], [33.35, 1884.9, 53.96314975], [16.45, 72635.0, 117.8706433]], [[8.0, 196391.0, 12.263865], [7.0, 199105.0, 12.261529], [7.0, 188113.0, 22.477552]]], [[[48.0, 1085.0, 88.9305], [47.0, 1242.0, 73.783569], [23.0, 1217.0, 74.062632]], [[33.35, 1811.8, 70.48992605], [32.7, 4460.35, 55.86182050000001], [33.35, 68224.1, 117.30780915]], [[8.0, 199211.0, 13.535377], [7.0, 198657.0, 12.255861], [7.0, 199892.0, 25.945821]]], [[[26.0, 5186.0, 94.083458], [47.0, 3427.0, 77.668234], [46.0, 1336.0, 77.837559]], [[20.35, 5297.099999999999, 74.72335090000001], [33.35, 1661.15, 58.298373000000005], [33.0, 1506.1499999999999, 60.87667195]], [[7.0, 199306.0, 14.216606], [7.0, 198685.0, 12.084265], [7.0, 182901.0, 21.226044]]]]</roundmat>
<stdyrounds>[1, 2, 3, 4, 5]</stdyrounds>
<stdyvalues>[12.118013, 12.103736, 12.261529, 12.255861, 12.084265]</stdyvalues>
<stdyslope>[0.008462900000002178, 12.139292099999993]</stdyslope>
<stdyavg>12.1646808</stdyavg>
<reachstdystate>true</reachstdystate>
<rndnr>5</rndnr>
</lat>
▲完整测试数据
▲延迟稳定态收敛图-QD32显示相关变量如何收敛到稳定状态的过程
▲延迟稳定态确认图-QD32显示了4K随机写入过程中,在(1、2、3、4、5)回合达到了稳定态,耗费最少的回合,说明稳定性很好。
▲平均延迟在所有进程中的表现在0.1毫秒以内。
▲最大延迟在所有进程中的表现在250毫秒以内。随机读的部分是最大延迟很低的,控制在100毫秒以内,而只有随机写的部分最大延迟相对较高,其实250毫秒确实不能算低了,只能说一般般而已,这部分是有极大的FW优化空间的。
这里涉及到的问题就是主控资源的充足度以及LDPC解码资源和耗费时间问题之间的平衡调节问题了,相对于3D TLC而言,写入部分的最大延迟普遍性高一些和以下一些因素有关:
1、主控的资源,比如主控的主频以及核心数,ARM构架或者MIPS构架的实际效能。
2、LDPC硬软解码的能力。
3、主控固件的硬软件开发能力。
那么如果需要举例说明的话,SATA盘中的SMI2258H主控+TSB 64层3D TLC的盘在这个测试中随机写最大延迟普遍在700毫秒以上,这样比较就可以更加明晰本款产品的效能定位。
▲平均和最大延迟3D图-QD32以及汇总数据。
4、写饱和度测试(WRITESAT)
测试方法
进行Secure Erase安全擦除
执行4K随机写入1分钟为一回合(Round),写入4倍全盘容量或者24h,以先达到者为准
计算各个回合的平均IOPS(Avg IOPS)
<writesat>
<fioversion>"fio-3.1n"</fioversion>
<numjobs>2</numjobs>
<iodepth>32</iodepth>
<runtime>60</runtime>
<xargs>["refill_buffers"]</xargs>
<roundmat>[[600441, 594872, 597839, 593792, 594531, 592199, 597082, 599295, 593992, 596150, 595542, 595562, 585967, 592239, 597592, 592648, 591055, 590532, 591557, 589455, 595052, 592964, 595544, 592386, 591917, 592051, 594150, 591489, 590962], [[9.0, 10188.0, 105.547518], [58.0, 10531.0, 106.524744], [9.0, 12007.0, 105.995286], [7.0, 10497.0, 106.709997], [10.0, 10409.0, 106.577999], [15.0, 10463.0, 106.996749], [12.0, 10313.0, 106.129907], [8.0, 10160.0, 105.738005], [40.0, 9871.0, 106.685337], [12.0, 10124.0, 106.296646], [58.0, 9671.0, 106.400887], [10.0, 9663.0, 106.402968], [59.0, 10359.0, 108.155433], [9.0, 9585.0, 107.000354], [57.0, 10292.0, 106.038099], [9.0, 10251.0, 106.923251], [12.0, 10043.0, 107.212822], [7.0, 10578.0, 107.316623], [12.0, 10464.0, 107.11705], [7.0, 10515.0, 107.493264], [58.0, 10502.0, 106.492424], [58.0, 10731.0, 106.86311], [16.0, 9726.0, 106.400519], [12.0, 10016.0, 106.97374], [9.0, 10477.0, 107.056041], [6.0, 9493.0, 107.036115], [8.0, 9300.0, 106.658096], [8.0, 9197.0, 107.133652], [9.0, 9245.0, 107.234721]]]</roundmat>
<rndnr>28</rndnr>
</writesat>
▲完整测试数据
▲写饱和平均IOPS图-QD32
这个测试实际写入也就28轮写满4倍全盘容量,因为纯写入任务相对于混合读写比例的测试要简单很多,这个测试的压力程度对主控的资源以及固件的GC TRIM以及SLC Cache性能回复不造成压力,所以从空盘到写满四倍全盘容量的过程中并没有发
现4K随机写入的性能发生明显衰减,这也是所以依然可以稳定在600000 IOPS附近并且持续到测试结束的根本原因。
▲写饱和平均延迟图-QD32
测试跑在0.11毫秒以内一直到测试结束。
对比测试
这次选用的对比产品为:
▲Lexar NM800 1TB和Samsung PM9A1 1TB
其中Samsung PM9A1 1TB是980PRO 1TB的商用版本,固件有差异,硬件上面基本一致。
软件系统及设置
操作系统 : 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
1、IOPS测试(IOPS)
测试方法
进行Secure Erase安全擦除
预处理:128K持续写入双倍SSD容量
每一轮测试包含.512B,4K,8K,16K,32K,64K,128K,以及1MB数据块大小,每个数据块在100%,95%,65%,50%,35%,5%和0%运行读/写混合测试,各为一分钟。试验由25回合(Round)组成(一个循环需要56分钟,25回合=1400分钟)
使用4K随机写入的IOPS作为测试目标,写入振幅20%平均值与测量值线性最佳拟合线的斜率作为验证进入稳定态的标准
▲IOPS测试在速度上,无论读还是写还是混合读写,Samsung PM9A1 1TB均占据绝对优势,
▲IOPS稳定态验证图-QD32:Lexar NM800 1TB
▲IOPS稳定态验证图-QD32:Samsung PM9A1 1TB
两者IOPS进入稳定态的回合数都不佳,在22-24回合才进入稳定态,这两个盘的IOPS性能因为一直在大振幅抖动,导致它们进入稳定态很慢,到了22回合才进入稳定态。
还是那句话,IOPS随机性能,三星无敌。
2、带宽测试(TP)
测试方法
进行Secure Erase安全擦除
对['1024k', '64k', '8k', '4k', '512']数据块大小进行持续读写60秒为一回合(Round)
使用1024K持续写入的吞吐量作为测试目标,写入振幅20%平均值与测量值线性最佳拟合线的斜率作为验证进入稳定态的标准
▲带宽测试(TP)测试对比图
带宽测试(TP)测试中,Lexar NM800 1TB速度占据大部分优势,其原因并不排除Samsung PM9A1 1TB因为OEM产品定位以及发热问题而对持续写入做了限速处理。
▲带宽测试(TP)稳定态验证图-QD32:Lexar NM800 1TB
▲带宽测试(TP)稳定态验证图-QD32:Samsung PM9A1 1TB
带宽测试(TP)Lexar NM800 1TB无论是速度还是稳定性都占据优势,稳定性上Lexar NM800 1TB第4回合进入稳定态,而Samsung PM9A1 1TB第5回合进入稳定态。
3、延迟测试(LAT)
测试方法
进行Secure Erase安全擦除
预处理:128K持续写入双倍SSD容量
对于['8k','4k','512']数据块大小进行100%读,65%读35%写,100%写的随机读写测试,测量最大最小以及平均的延迟,60秒为一个回合(Round)
使用4K随机写入的平均延迟作为测试目标,写入振幅20%平均值与测量值线性最佳拟合线的斜率作为验证进入稳定态的标准
▲延迟测试(LAT)测试对比图
▲延迟测试(LAT)稳定态验证图-QD32:Lexar NM800 1TB
▲延迟测试(LAT)稳定态验证图-QD32:Samsung PM9A1 1TB
延迟测试(LAT)中,两者其实差不多,但是无论速度还是稳定度上,Samsung PM9A1 1TB都以微弱的优势险胜。
4、写饱和度测试(WRITESAT)
测试方法
进行Secure Erase安全擦除
执行4K随机写入1分钟为一回合(Round),写入4倍全盘容量或者24h,以先达到者为准
计算各个回合的平均IOPS(Avg IOPS)
▲写饱和度测试(WRITESAT)平均IOPS图-QD32可以看到写入四倍全盘容量的过程:Lexar NM800 1TB写入速度上最快,完成时间最短,稳定性最好,Samsung PM9A1 1TB因为性能振幅抖动过大,速度稍慢,完成测试时间略长一点。
这个测试把这两个盘拿来对比,主要给大家一个相对客观的关于稳定态下的速度以及稳定性的对比印象,和两者的品牌张力以及定价无关。
Secure Erase兼容性和有效性测试
BIOS
考虑到IG5236毕竟是新产品主控,我比较怀疑使用目前主板自带的Erase Tool对其进行Secure Erase操作的可行度,故此有了这个测试。
▲测试结论是使用ASRock X570S PG Riptide的bios自带的SSD Secure Erase Tool对SSD进行Erase操作,实测无效。
Linux
在Ubuntu 18.04操作系统下输入第一条指令定位到盘,然后使用第二条指令对其进行Secure Erase
nvme list
nvme format -s 1 /dev/nvme0n1
▲结果显示Secure Erase成功!实测有效
温度
▲测试情况
我在Ubuntu下使用
sudo watch -n 1 nvme smart-log /dev/nvme0n1
这条命令来监控SSD的温度
▲空闲温度为37度
▲然后进行4K QD32的随机读写,持续一段时间速度趋于稳定了,再记录温度为69度。
▲温度高温临界值在75度附近,达到75度原本很稳定的写入曲线立刻变锯齿,这说明75度可能发生降速情况。
总结
1、Lexar品牌从美光转手到江波龙之后,SSD产品的闪存品质大家还是有在观望,以前Lexar用Micron原片,而现在用的是自封片,差异真实存在,这可能就是原厂的优势所在,Lexar自封片的品质如何有待市场长期的考验 。
2、 江波龙手持FORESEE和Lexar两个主力品牌,FORESEE主攻中低端产品线,Lexar主攻高端产品线,Lexar的定价策略排在市场前三,品牌拉力还有待提升。
3、作为第一款Lexar出品的PCIe 4 x4产品,我本来很怀疑被江波龙造成工控同质化产品,根本通不过SNIA PTS测试,结果还是勉强通过了,稳定度方面除了IOPS测试看起来性能波动较大之外,其他的测试结果还是值得一看的,不由得我怀疑Lexar重组了自己的产品FW开发团队,一句话:产品性能可圈可点。
4、现今的存储市场可以说非常难做,成本高,售价低,期货现货风险极大;在目前的恶劣市场环境下,Lexar品牌的运营我还是有几点建议:
A:做好RMA保修政策,跟一线品牌看齐,尽可能支持个人免邮送修政策。
B:积极跟进定价策略,缩短定价的修订周期。
C:丰富自己的APP软件产品线,提升自己产品的兼容性,例如和各大主板厂家建立兼容性保障机制,保证产品的安全运行。
D:FW的迭代周期要有计划性,新FW解决的BUG情况描述要在官网有具体的页面用于介绍和下载。
感谢观看!
jarod0527
校验提示文案
大圆Abel
校验提示文案
这娃有点虎
校验提示文案
飞帆飞帆
校验提示文案
夜空中最亮的星945
校验提示文案
袁嘟嘟
校验提示文案
高柳乱蝉
校验提示文案
Y_S都说名字长醒目
校验提示文案
值友9144569810
校验提示文案
铭记1106
校验提示文案
范俩仟Sam
校验提示文案
昭华凋
校验提示文案
飞累了的鱼
校验提示文案
在下脆脆鲨
有个不成熟的建议,可以试着写个脚本一件测试并生成图表。如果能开源到GitHub就更好了。
看测试环境有windows和ubuntu,可能还有些麻烦。或者写两个脚本呢~哈哈
如果有的话,楼主千万要艾特我。
校验提示文案
尼古拉斯lalala
校验提示文案
怡然自得210
校验提示文案
铁头321
校验提示文案
IT公社
校验提示文案
强哥视角
校验提示文案
寻找大神12138
校验提示文案
mr5802
校验提示文案
饱饱饱饱饱饱蓝
校验提示文案
tony1985dddf
校验提示文案
灰常杯具
有一点请教一下:个人认为测试SLC缓存一定要用最大写入速度来测,如果测试时没有达到最大写入速度,有可能导致测试结果虚高。不知是否如此,貌似和主控也有一定关系。
校验提示文案
飞机的飞啊
校验提示文案
值友3790617111
校验提示文案
大圆Abel
校验提示文案
旗央
校验提示文案
loongson333
校验提示文案
loongson333
校验提示文案
打倒水军
校验提示文案
老房的老房
校验提示文案
GT_7
校验提示文案
值友3218066686
校验提示文案
[已注销]
校验提示文案
落诗
校验提示文案
哎呦我去沈老师
校验提示文案
值友7479391919
校验提示文案
值友8058206071
校验提示文案
值友1004418323
校验提示文案