西部数据 SN7100 使用体验
我家里有多台主机,其中一台专门用于性能测试,大家看到的显卡测试、CPU 测试大都在这个平台上进行,配置算是比较豪华,里面有个 U.2 SSD,而我自己日常使用的主力机相对弱一些,这样区分的是为了分工明确,避免弄乱、挤占系统。
日常主力机这边我之前只用一个 256GB 的 SATA 固态盘存放操作系统,像 Stable Diffusion、Flux.1 这类东西因为需要非常大的空间来存放模型,都是放在机械盘上跑的,每次光是启动就得接近一分钟,此外像 Oracle VM VirtualBox 也是比较吃响应速度和存储空间的,所以非常迫切需要一个容量较大的 SSD 作为额外的中间存储,用来缓解机械盘的压力。
抱着买新不买旧的原则,这次我搞了西数刚刚上市的 SN7100 1TB 和 2TB,前者其实打算给我那个只有 512GB 的笔记本扩容使用的,2TB 则打算用于台式机的游戏盘和中间存储(例如跑游戏、AI),主机机的机械盘终于可以完全腾出来用来存放电影、音乐、照片等“冷数据”。
SN7100 是西数年末新推出的 HMB 型固态硬盘,物理接口和型制为 M.2 2280,采用 NVME 2.0 协议,可以用主力机主板上一直闲置的 M.2 槽位。
SN7100 属于 HMB型 SSD 或者说无板载缓存型 SSD,特点是使用电脑主机内存作为缓存,理论上和 DRAM 缓存 SSD 应该具备相当的性能,但是在实际使用中会有时延和内存带宽占用的影响,而且操作系统必须支持 HMB 才能将性能最大化。像 PS5 虽然也能安装 HMB SSD 但是因为 不支持 HMB 技术,在 PS5 上 HMB SSD 的性能会比较低,而 PC 这边 Windows 11、新版 Linux 都已经能很好支持 HMB。
对 SSD 性能影响最大的其实是闪存类型,其次是主控和配套的固件。
现在的 SSD 基本上都是 TLC NAND FLASH 闪存,TLC 意味着在一个存储单元里以八个不同的电平信号来区分存储的比特数据,理论性能和耐用度会比 SLC 差不少,但是优势是单位存储空间和价格优势非常好。
工程师们透过伪 SLC 缓存、复杂的纠错码算法让 TLC 的日常使用性能和耐用度大幅度提升,使得 TLC 成为现在可用性最好的 SSD 闪存类型。
WD_BLACK SN7100 采用的是 Sandisk 颗粒,其实是由西部数据和恺侠联合研发、后者负责生产的最新一代 BiCS8 TLC 3D NAND 闪存,这种闪存由 218 个存储层堆叠而成,和恺侠上一代的型号相比,存储密度提升了 50%、读取时延降低了 10%、写入性能提升了 20%、界面速度提升了 80% 达到 3.6GBps、耗电降低了 30%。
QLC 被认为是 TLC 的扩容版,在一个存储单元里用多达十六个不同的电平信号来区分存储的比特数据,目前多在一些低端 SSD 里使用,这主要得益于 4KB LDPC 纠错码的应用,不过在目前和 TLC 价格还没大幅度拉开的前提下不是很值得考虑。
至于传说中的 PLC 我估计得三、四年后才能看到商用,也许这个过程里我们会看到比 PLC 更值得推广的存储技术,例如 Flexible Data Placement(FDP),能够让 QLC SSD 的写入放大系数从普遍的 3x 变成 1x,而且传输速度能一直(长达 24 小时的连续写入)维持非常理想的 2.5 GiB/s 级别。传说中的千层 QLC有可能会用于 Petabyte 级别的 SSD,可以视作未来 10 年的 SSD 圣杯。
选择西数的原因其实也挺简单的,SSD 使用的闪存颗粒品质对可靠性、性能都有很大影响,西数作为国际大厂在这方面是我觉得是很值得信赖的,毕竟都是自家闪迪颗粒,从源头上就有很好的品控。
上面几张图分别是到手的西数黑盘 SN7100 2TB 和 1TB 包装图,正如你所看到的两个型号的包装都是几乎一样的,区别只是型号标注上的差别,盘体都放在两个发泡壳之间固定。
到手的两个型号贴纸都没有贴到芯片上而是贴在 PCB 上,这点我是高度好评,这意味着散热片、导热贴可以和芯片颗粒有更好的接触,有利于提高散热效能,不过我不确定这个贴法是否以后都会如此,只能说目前是这样。
SN7100 2TB 和 1TB 版也长得很像,区别主要是其中的闪存颗粒标记方面,2TB 版本上写着 2T00,而 1TB 则是写着 1T00。
可以看到,SN7100 支持 NVME 2.0,该版本引入了名为 Zoned Namespaces(ZNS)的技术,可以有效改善性能并减少映射 LBA 地址的内存开销,不过根据我在 Linux 下的查询,似乎 SN7100 并未支持 ZNS,西部数据的企业盘有个 ZN 系列,是明确支持 ZNS的。
按照西数之前发布过的新闻稿,第一波的 SN7100 有三个容量规格,分别是 500GB、1TB 和 4TB,规格表如下:
如果需要更大容量的话,西数表示过今年(2025 年)会有 4TB 的版本,但是具体时间和其他特性细节目前还不得而知。
PCIE 4.0 使用的是 128b/130b 编码技术,也就是说每传输 128 位数据,实际的带宽开销是 130 位,对于 SN7100 采用的 PCIE 4.0 x4 协议,有效的数据带宽实际上是:
16GT/s per Lane 4Lane (128/130) * 1/8 = 7.877 GB/s
SN7100 1TB、2TB 标称的 7.25GB/s 读取带宽其实已经非常接近 PCIE 4.0 X4 的协议带宽(92% 左右),对于 HMB 型 SSD 来说也是目前最顶级的指标。至于主板方面,这两三年(Intel 11 代酷睿、AMD 锐龙 3000 以及之后)的主板其实都提供了 PCIE 4.0 M.2 NVME,所以兼容性方面我觉得没啥问题。
说了这么多,接下来就让我们进入测试正题,首先是必备的测试平台。
测试平台
CPU: Intel Core i9 13900K 开启超线程
主板:华硕 STRIX Z790-H GAMING WIFI BIOS: 1801(2023-12-22)
内存:七彩虹 CVN DDR5-6400 16GB x2
硬盘:WD_Black SN 7100 1TB、2TB
电源:鑫谷 GM10000W 冰山版 ATX 3.0 版
操作系统:Windows 11 Pro 22H2 专业工作站版
机箱:鑫谷昆仑·御风机箱(白色)
散热器:鑫谷冰封 360 ARGB 冰山版一体式水冷散热器
测试步骤:
在华硕主板 BIOS 中执行安全擦写,选择的是第二种安全擦写分区;
用另一个硬盘作为操作系统盘启动;
使用 Windows 控制面板内的分区工具或者 DG 新建 GPT 分区并格式化为 NTFS 格式,前者的扇区对齐是 16MiB,后者我手动选择为 32KiB,不过性能方面影响很少;TxBench 全盘写入测试的时候则只进行一次安全擦写然后不分区直接跑。
对 WD_BLACK SN7100 进行测试;
pSLC 大小测试
pSLC 或者说伪 SLC 是 MLC 固态硬盘开始出现的一种加速技术,就是透过只使用存储单元存放一个比特数据的方式来模拟 SLC,可以让 MLC、TLC 等 SSD 能具备一定的 SLC 性能的同时维持较低的成本以及更高的耐用度。
这里我使用 TxBench 0.98 的全盘写入来测量 WD BLACK SN7100 的 pSLC 大小,数据为随机数,采用 100% 连续写入 512KiB 数据块写入。
从测试结果来看,SN7100 采用了比较阔绰的 pSLC,1TB 和 2TB 的 pSLC 大小设定为接近全盘标称容量空间的 1/3,某种程度上看可以认为默认是把一整个 TLC SSD 当作全盘 SLC 来使用了。
在 pSLC 状态结束后,2TB 版的性能要比 1TB 快不少。
CrystalDiskmark
上图是 SN7100 2TB 和 1TB 的 CrystalDiskMark NVME 模式测试结果,可以看到,两个型号的 1MB 数据块 Q8 T1 读写测试结果都能达到 7111+ MB/s 和 6871+ MB/s,两个型号在这里表现出来的性能都非常接近。
AS SSD Benchmark
SN7100 2TB 在 AS SSD Benchmark 的 4K 64T 测试中得到了 3520MB/s 和 4350MB/s 的读写带宽测试结果,而 SN7100 1TB 则是 3351MB/s 和 3807MB/s,使得 SN7100 2TB 在总分上达到了 11720,比 1TB 高大约 7.3%。
IOMeter(SINA PTS SSS 2.0)企业级 IOPS 性能测试
SNIA 是一个全球性的非盈利机构,会员有 Intel、AMD、IBM、镁光、铠侠等超过 185 个行业公司和组织,统筹了不少存储技术标准的指定,例如 NVME-oF 等,该机构有一个名为 Solid State Storage (SSS) Performance Test Specification (固态存储性能测试规范,简称 PTS)的性能测试标准,是一个针对企业和大众客户的固态硬盘测试标准,其中的测试流程非常规范,我这里决定参照这个规范(SNIA PTS 2.0.1)的企业级客户类型 IOPS 测试流程进行测试。
要了解 SNIA 的 SSD 测试方法论我们需要知道一些前置知识,首先让我们看看下面这张图。
这是一张典型的 SSD 从开箱状态(FOB 或者说新盘状态)开始测试工作负载,测试可以看到有短暂的高性能状态,随后会经过 Transition(变换)状态,最终进入稳态,SNIA 的 IOPS 测试结果只取进入稳态区的测试结果。
例如上图中,型号 D8 的 SLC SSD 就是进入了稳态区,此时它在稳态区的 IOPS 结果是可以被接纳的,而暗红色的的 D4 MLC SSD 在上图中一直都在波动,即使到上图的右侧结束也依然不会被接纳,需要继续进行负载相依预训练,直到之后进入稳态区。
备注:有些人会把变换状态称之为“离散”,在 SNIA PTS 测试规范中,这个区域的测试测试结果不具意义。
接下来,你需要了解的是预训练、稳态窗口等概念,后面提供的测试步骤会提及这些概念。
SNIA PTS 除了 IOPS 外还有多种测试,但是我觉得其中最有参考价值的还是 IOPS。
SNIA PTS 测试步骤:
净化(使用安全擦写指令让全盘恢复至新盘状态);
预训练;
步骤一:单次 WIPC(负载无关预训练),以 128 KiB 大小对测试目标设备执行相当于两倍容量的连续写入操作,操作的空间范围为格式化后的全盘 100%。
OIO/Thread(Queue Depth ),测试人员决定,对企业版一般用 QD=32,对大众用户版一般用 QD=16;
Thread Count:相当于 IOMETER 里的 Woker,可以由测试人员决定,企业版一般是 4,消费者一般用 2;
数据模板:完全随机。
由于 IOMeter 缺乏指定写入 LBA 两倍的能力,在使用 IOMeter 来实际执行测试(测试模板见上图所示)的时候,需要用 HDtune 观察硬盘写入量。
IOMeter 对于已经分区的硬盘本身就会先写入一个分区大小相同的填充文件,这个写入操作是用每次 64KiB 大小以连续写入的方式执行,我在 HDTune 里持续观察接下来执行测试模板(128KiB 100% 连续写入)达到之前 64KiB 一样的 IO 数就可以算作完成 WIPC。
步骤二:进行多回合的 WDPC(负载相关预训练),每回合 WDPC 均需要以多种测试模板执行连续写入操作,企业级测试标准要求测试空间范围为格式化后全盘的 100%。
PTS 1.1 开始,除了 4KiB R0W100 外,稳态窗口判断加入了额外两种测试模板(64 KiB R65W35 和 1024KiB R100W0),这是因为有些硬盘对 RND 4 KiB 有额外的优化,会使得 RND 4 KiB 比其他模板更快进入稳态。
PTS 1.2 开始去掉了分段和不同容量占比的稳态测试;
PTS 2.0 企业版和消费者或者说大众客户版的 WDPC 都只需要执行一次(一次包含多个回合,每个回合包含 56 个测试模板),但是 PTS 2.0大众客户版本的测试空间范围(AR)占比为 75% 以及允许开启写入缓存(WCE),而企业版要求 100% 空间范围以及关闭写入缓存;
OIO:同 WIPC;
Thread Count:同 WIPC。
这一步,每一个测试模板(不同数据块大小以及读写比例)需要跑 1 分钟,每个回合包含 56 个测试模板,我们一共测试 25 个回合,合计要 1400 分钟或者说 23.3 小时,是一个非常消耗时间和硬盘损耗的测试。
步骤三:整理 WDPC 的数据,观察稳态窗口的斜率是否落在稳态标准范围内,使用符合稳态标准的数据作为最终的 IOPS 测试结果,如果不符合的话,那就再跑 10 回合(相当于 10 小时),直到 SSD 进入稳态。
当然 SNIA PTS 测试规范里还说了,倘若 25 回合后依然还没进入稳态的话,可以直接取最后一回合的数据作为最终的结果。
顺带一提的是,除了 IOMETER 外,还可以使用 FIO 进行 PTS 规范测试,而且某种程度上说,PTS 和 FIO 是高度匹配的,FIO 拥有完成 PTS 测试标准所需要的所有设置和开关,网上也有大量使用 FIO 完成 PTS 的脚本范例,甚至 SNIA PTS 标准制定者当年就是用 linux 脚本写了个 PTS SSS 企业版 IOPS 脚本。
我当然有使用过 FIO 了,而且在网上能找到的 FIO PTS 脚本都跑过,但是根据我的对比,还是 IOMeter 比较适合我。
这里放上 WD BLACK SN7100 2TB 的 4KiB 100% 随机写入、64 KiB 65% 随机读取+35%随机写入、1MiB 100% 顺序写入三种 PTS 2.0 规定的稳态观察窗口结果。
正如大家所看到的,对于 WD BLACK SN 7100 2TB 来说,即使经过 25 个回合(每回合 57 分钟,每分钟对应一种不同的读写模板)的测试,SSD 在 4KiB 随机写入、64 KiB 随机 R65W35 这两个存储模板下依然未能达到理想的稳态(理想稳态下,天蓝色的虚线斜率线应该落在褐色线区间内,红色的 IOPS 线应该落在绿色线区间内,两个条件都符合才能称之为在该存储模板下进入稳态)。
对于消费级 SSD 来说这并不奇怪,PTS-C SSS 规范里也说明了,如果到 25 回合后还没进入稳态的话,就取最后一个回合数作为最终测试结果,所以我决定将第 25 回合作为测试结果。
此外,由于 PTS-C SSS 实在非常耗时(接近一整天),磨损造成的盘体寿命影响远远高于其他测试方式,我实在不忍心自己的硬盘遭罪,所以这里只跑了 2TB 的 PTS-C SSS 测试,希望大家理解。
上面两张图分别是我前年测试过并且一直在使用的 Plextor PX-1TM10eGN 以及这次的 WD BLACK SN7100 2TB PTS-C SSS 测试结果,两者都是 PCIE 4.0 的 HMB SSD。
从测试结果可以看出,WD BLACK SN7100 2TB 作为新一代的 PCIE HMB 4.0在所有存储模板方面都提供了更出色的性能表现,尤其是 4KiB/100RW0 到 16KiB/R50W50 区间,性能有显著的优势。不过受制于缺乏片上缓存的缘故,和其他带板载缓存的 SSD 还是存在一定距离。
PCMark10 完全存储性能测试
前面我们测试的都是偏设备级或者说底层测试,接下来我们将使用 PCMark10 进行应用级测试。PCMark10 采集了多个应用的真实存储轨迹,包括 Windows 10 启动引导、Adobe 创作应用、微软Office、游戏、光盘镜像 ISO 文件复制、图片文件复制等,对于这些子项目 PCMark 10 使用了缩写来代表,如下图所示:
按照 PCMark10 的白皮书,PCMARK10 的完整系统驱动器基准测试包含了上述的 23 个测试子项目(轨迹),每个轨迹都跑 3 遍,一般情况下整个测试大约需要 1 小时。
真实世界轨迹存储回放的差距有时候会和大家的实际略有出入,因为这种测试得出的是纯粹的存储性能,而现实世界中,例如 Window 10 启动、游戏启动,除了存储导致的时间等待以外,还有不少时间会用于各种计算(例如系统状态查询、初始化、解压缩等等)。
从测试结果来看,西数黑盘 SN7100 2TB 和 1TB 在存储轨迹重放时的性能基本上是一样的,两者的区别很大程度上就是容量上的差别。
能耗测试
我手头有 NVIDIA 提供的 PCAT 功耗测试套件,这个套件包含了一个 PCIE 转接板,透过这个转接板和 NVME M.2 PCIE 转接卡,我们就可以对 M.2 SSD 等产品进行功耗测试。
首先,我们用 fio 执行一条指令,这个指令能以完全随机数模板并且 CPU 会不断清空缓存确保数据绝对不会重复的方式向硬盘写入 50 GiB 的数据,存储访问模板为每次 128KiB 的数据块,QD16,使用 Windows 内置的 windowsaio IO 引擎。
上面两张图表分别是对 WD BLACK SN7100 和 WD BLACK SN 7100 2TB执行上述指令时而采集的功耗数据,可以看到,1TB 在后段会出现一个突出,此时最高功耗值会达到 3.25W,而 2TB 的最高功耗值是 2.7 瓦,两个型号的功耗都非常出色。
我还另外测试了在 WD Dashboard 软件中启用 Gaming Mode 的功耗,发现并未有什么变化。
总结和选购建议
这次测试纯属为爱发电,特别是使用 IOMETER 跑 PTS-C SSS 花了不少时间,现在 2TB 这个盘已经累积写入了 5X 多 TB 数据,有些神伤。
从前面的测试结果来看,西数黑盘 SN7100 采用了比较阔绰的 pSLC 设计,几乎是默认把全盘当作 SLC 来使用,能比较好的发挥 PCIE 4.0 的带宽优势,耗电也非常理想。
透过这些测试结果,我认为西数黑盘 SN7100 的性能较目前大多数无板载 DRAM 缓存或者说HMB、DRAMLESS 型 SSD 优秀不少,日常使用方面和板载 DRAM 缓存体验非常接近,完全可以满足我用来跑 Stable Diffusion、虚拟机以及相机 Raw 图中间处理的应用场合。
如果大家也打算入手的话,我建议尽量选择更大容量的版本,例如 2TB 在空盘状态下的 pSLC 能达到接近 700GB 的级别,大文件复制非常爽。
如果是打算作为操作系统盘的话,500GB 版本其实也足够,可以单纯作为操作系统盘,里面放操作系统、日常应用等都是比较适宜的,但是最好预留至少 100+ GB 空间以维持一定的 pSLC 空间,不过目前 SN7100 500GB 的价格其实有点偏高,所以可以的话还是建议 1TB。
对于需要经常对热数据进行修改操作的用户,或者是需要经常处理小数据块写入的场合(例如微信聊天记录?),我建议选择带板载 DRAM 缓存的版本。
SSD 技术仍在日新月异的变化,我相信不久的未来将有机会看到 ZNS 乃至 FDP 在消费级 SSD 上得到应用,相信到时候 QLC 也不再是什么洪水猛兽,就如同现在我们测试的 TLC 一样大家乐于接受了。
最后附上这次西数 SN7100 的京东购买链接供大家参考:
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~