暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

2334

目录

-       性能瓶颈不只是PCIe接口

-       测试平台:PCIe Gen4的另类尝试

-       评估SLC Cache容量&稳态写性能的2种方法

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

-       90温度保护、散热设计

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

 

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

 

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

 

测试平台1PCIe 4.0

11Core主机

CPU

Intel Core i3-1115G4(双核)

测试平台2PCIe 3.0

Dell Precision 5820X Tower工作站(X299芯片组)

CPU

Intel Core i9-9980XE18核)

操作系统

Windows 10 20H2

测试软件

CrystalDiskMark

HD Tune Pro

Iometer

 

 

性能瓶颈不只是PCIe接口

 

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

 

注:点击图片后可缩放,以下同

左右两边测的都是这款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 11CPU都还是针对中低功耗笔记本的,45W H系列、台式机,以及支持PCIe4.0Xeon服务器还要等几个月。

 

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

 

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

 

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

 

PCIe Gen4测试平台的另类尝试

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

注:我跑的不是“文件基准”测试(点击放大查看)

 

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

 

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

 

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

 

IometerPCIe 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模拟测试:是什么限制了性能?》中做过的介绍。

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Intel SSD P3700随机写IOPS测试曲线

 

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

 

90温度保护、散热设计

 

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

 

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

 

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

 

我手头这个WD SN850到达90左右才会触发降速保护,如果长期运行在高温下SSD的老化应该会加快一些,当然个人/普通商用与数据中心服务器的平均负载压力有很大不同。

 

本次测试我采取的应对措施是,在Dell 5820工作站BIOS调高对应HDDZone区域的风扇转速,比如+30偏移量。如果不是前置热插拔SSD还有另一种散热解决方案:

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

扩展阅读:企业存储技术》文章分类索引(微信公众号专辑)

:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流技术可以加我的微信/QQ490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)

尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage

长按二维码可直接识别关注

QQ群号:763628645

QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过


文章转载自杨建荣的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论