PCIe 4.0 SSD测试:接口、散热和CPU对性能的影响

作者:唐僧 huangliang
来源:企业存储技术

我很少下功夫去做消费级/一般商用SSD的测试,除了3年前的_《_Optane SSD 900P__评测(2)__:比拼4x__闪存NVMe RAID0》,不过Intel傲腾900P/905P是基于3D XPoint Memory而不是NAND闪存,性能基本等同于企业级的P4800X。

这次是因为终于拿到了PCIe 4.0(Intel架构)平台,我就找CCF的刘委员(平台小秘书)借来了WD SN850,M.2 NVMe接口的x4 lane理论带宽接近8GB/s,虽然SSD还跑不到那么快,但标称100万读IOPS还是有点吸引力的。

image.png

性能瓶颈不只是PCIe 接口

如下图,我先拿CrystalDiskMark简单跑了一轮。

image.png

左右两边测的都是这款WD SN850 1TB,却用了不同的主机平台。有朋友应该能看出右边是在PCIe 3.0上,超过3500MB/s也算达标了吧;左边的顺序读写带宽才是这款PCIe 4.0 SSD的真实水平。西部数据官方规格写的是读7,000MB/s、写5,300 MB/s。

上图中其实还有一个信息:左边的4KB随机读Q32T16性能比右边低不少,这是因为使用的双核的Core i3-1115G4 CPU跑满了。目前上市的Intel 11代CPU都还是针对中低功耗笔记本的,45W H系列、台式机,以及支持PCIe4.0的Xeon服务器还要等几个月。

image.png

结合这张IOPS视图看的更直观,47万读/40万写IOPS时Core i3-1115G4占用率达到100%。WD SN850官方标称4KB随机读/写IOPS为100万和72万,右边测试中看到的83万也是遇到了PCIe 3.0的瓶颈;至于64万写IOPS,这个只是在有限的LBA范围内(64GiB测试文件),如果按照企业级/数据中心SSD的标准,整盘能跑到多少我会在下文中测给大家看。

image.png

WD SSD配套的Dashboard软件中,可以看到当前的接口速率等信息。其中4K对齐判断是有帮助的,我就曾在这里看到“未对齐”而重新分过区。

消费级SSD的图形管理界面,其实这些功能也有别的方式可以实现。简单方便就好,后面我还会用到它的温度监测。

PCIe Gen4 测试平台的另类尝试

image.png

当我在Dell 5820工作站上测试时,WD SN850是装在机箱前置的NVMe SSD热插拔位。具体的M.2转接套件结构我之前介绍过

image.png
WD SN850使用了SanDisk自家主控、2颗512GB堆叠TLC闪存(应该是8通道,大约7-10%的OP冗余空间),还可以看到1颗Nanya DRAM缓存——1TB SSD上对应的是1GB。

image.png

这台Dell Precision 5820工作站本身配置了1个256GB NVMe前置SSD,测试中我就把这个位置换成WD SN850。铝质套件和导热贴对散热有一定帮助。

image.png

其实我还费了一番周折,尝试在这台工作站上搭建出对PCIe4.0的支持。具体来说是借来了《PCIe Switch Adapter__:不只是NVMe HBA__?》中介绍过的Broadcom P411W-32P转接卡,把PCIe 4.0 Switch插在主板上的x16 PCIe 3.0插槽,希望借此支持1-2个Gen4 NVMe SSD。

看上去有点资源浪费吧?结果还没完全成功——当我将一块U.2接口的Optane 900P插在P411W-32P连接的背板上,已经可以识别到;但再经过接口转换之后却无法识别M.2的WD SN850。这个测试方案只好先作罢…

虽然没成功,还是要感谢下热情借给我PCIe/ SAS 4.0线缆的老同事、老朋友。友情推荐下他的淘宝店铺 http://shop35723783.taobao.com(极致一号店),Amphenol多年合作伙伴,特别是服务器/存储里用到的线缆,不同线序都是可以提要求定制的:)

测试SLC Cache 容量 & 稳态写性能的2 种方法

注:如无特别说明,以下测试都是在PCIe 3.0__平台上进行。

从TLC闪存开始,多数消费级SSD就设计了模拟SLC Cache来加速写入的机制。不同SSD的SLC Cache区域容量不等,在实际应用/测试中看到的表现也就各异。

对于这方面的评估方法,我以前并没有仔细研究。本次用2款测试软件对比参照,相信能给大家一个满意的结果。

image.png

受到PCIe 3.0接口限制,再加上HD Tune测试软件的“基准-写入”不能完全发挥高速NVMe SSD的带宽,WD SN850一开始跑到2600MB/s多,当写入量接近300GB时速度降到1100MB/s多。同时我也在观察Windows任务管理器显示的实时盘速,并且计时——第一阶段1分48秒也是相符的。

咱们就算280GB的SLC Cache吧,这需要用840GB左右的TLC闪存来模拟。降速之后这个阶段,我理解一方面要把SLC Cache中的数据转存(downgrade)到TLC区域,释放出更多的TLC闪存空间,同时还要接收新写入的数据。

HD Tune这个只能连续写入1000GB,为了进一步验证我又用Iometer做了30分钟的顺序写测试。
image.png

Iometer在PCIe 3.0接口上也能跑到3000MB/s以上,我们同样看到SLC Cache写满之后的降速,而当模拟Cache区完全清空之后,WD SN850的顺序写带宽又能回升到2000MB/s以上——这时才是TLC的原始性能。

如果我在测试前先把SSD写满数据,那么一开始就是2000MB/s出头这样。

企业级SSD不会有模拟SLC Cache的设计,因此顺序写一开始就应该是稳态(_随机写有些不同,下文中有测试数据示例_)。商用客户端平台如果不想要SLC Cache,也有符合要求的SSD,比如Dell标准的Class 50等级,参见在《万兆NAS__模拟测试:是什么限制了性能?》中做过的介绍。

image.png
横坐标为总队列深度:线程x QD__;延时单位是微秒

我习惯性用Iometer也跑了WD SN850的随机读IOPS折线图,手头正好有几年前Intel企业级P3700 SSD的结果就顺便对照下。

SN850在队列深度256时才达到819,303读IOPS(仍受限于PCIe 3.0测试平台,没看到100万IOPS稍显遗憾),我以前写过一篇基于NAND闪存SSD性能的“色子效应”,低队列深度要想更好只有Optane

延时方面WD SN850可低至100µs以内,这一块我并没有反复测试以求尽量精确的对比,大家参考一下即可,毕竟Intel P3700是多年前的SSD了。

企业级和消费级/一般商用SSD的性能差别,主要是在稳态写方面,当然还有写寿命。

随机写起步30-25万IOPS、与企业级SSD 差别

image.png

这里延时的单位是毫秒(以下同),总队列深度16

WD SN850的随机写一样受SLC Cache影响。在上面图表的测试之前,我准备了TRIM之后的空盘。在全盘容量范围测试,这时看不到六、七十万那么高的IOPS,起步有一小段30万,然后保持大约15分钟的25万IOPS,再往后就降到10万以内。由于4KB小块写入的放大效应,SLC Cache中容不下像顺序写那么多的数据。

最“严酷”的压力在下面——如果是企业级SSD我们通常会这样测试:

image.png
在预先已经写满数据的情况下,SN850大多数时候超不过3万随机写IOPS,这个测试确实有些勉强消费级SSD了。如果有28%的闪存OP也不会是这个算法,下面我们简单参考下企业级SSD的水平:

image.png

Intel SSD P3700__随机写IOPS__测试曲线

上图中的文字有点小,大家可以点击放大,我也辅助说明下——测试曲线是4K随机写IOPS,纵坐标刻度从10万到40万,横坐标为时间3600秒(1小时),蓝色、橙色和绿色曲线分别对应并发/QD16、64和512。Intel P3700的4KB随机写IOPS最终稳定在标称的17.5万。

90 温度保护、散热设计

image.png

大品牌OEM__整机厂商有做系统化散热设计;对于不确定SSD__表面气流速度的DIY__用户推荐加装散热片的M.2__固态盘;笔记本用户空间有限另论。

尽管在WD SN850官方规格里运行温度建议不超过70摄氏度,但实际当中不小心还是容易超过。

image.png

SSD的发热与持续负载密切相关,如上图:由于我在做3000MB/s以上的读I/O压测,未经优化时SN850已经自我报告接近80℃。

我手头这个WD SN850到达90℃左右才会触发降速保护,如果长期运行在高温下SSD的老化应该会加快一些,当然个人/普通商用与数据中心服务器的平均负载压力有很大不同。
image.png
本次测试我采取的应对措施是,在Dell 5820工作站BIOS中调高对应HDDZone区域的风扇转速,比如+30偏移量。如果不是前置热插拔SSD还有另一种散热解决方案:

image.png

Dell Precision Ultra-Speed Drive这种PCIe to M.2转接卡分为Duo(PCIe x8,双盘)和Quad(PCIe x16,四盘)两种,上图中就是后者,可以看到散热风扇的位置。

image.png

我之前手上有过一片Ultra-Speed Drive卡,上面配了4个WD SN730。

注:Dell PC__和工作站的SSD__默认出厂时只限定Class__等级,如果用户想选择指定的品牌型号,需要提出CFI__定制。

PCIe 4.0 平台展望:从11 代Core 到服务器/ 工作站

Intel在PCIe 4.0平台的推出上落后,已经是个事实。目前有部分笔记本/商用客户端开始支持PCIe 4.0的NVMe SSD。

image.png

比如Dell Latitude 5520笔记本,以及Precision 3560移动工作站,在不选配独立显卡的时候,就可以有一个NVMe SSD直连11代Core CPU的PCIe 4.0通道。

但我觉得这还远没有到普及的时候。首先高IOPS在桌面应用中并不多见,现有PCIe 3.0 SSD的带宽也可以满足绝大多数场景。

对于服务器和工作站的情况则不太一样,在多盘环境中,如果单盘性能提升则可能减少需要使用的SSD数量。除了现有的AMD平台,Intel 10nm的Xeon Scalable(Ice Lake-SP)也快点来吧:)



推荐阅读

注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。
42.jpg
3 阅读 394
推荐阅读
0 条评论
关注数
3155
内容数
115
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
Arm中国学堂公众号
关注Arm中国学堂
实时获取免费 Arm 教学资源信息
Arm中国招聘公众号
关注Arm中国招聘
实时获取 Arm 中国职位信息