最近几个月来经常有SSD业内朋友咨询关于如何测试PCIe Gen 4 NVMe SSD的各种问题,包括如何搭建Gen 4测试环境,以及测试过程中一些常用测试工具的使用等,本篇文章从下面几个方面简要介绍一下,相信可以解决大部分朋友的疑问。
目前PCIe Gen 4测试主机主要采用AMD Gen 4芯片组的主板搭建,例如X570芯片组,市场上面可以看到技嘉,华硕,华擎,超微等主板。
具体型号选择需要根据需求定制,包括PCIe插槽数量,扩展性,待测试的NVMe SSD盘接口和数量(主要和CPU核数以及DDR4内存大小配置有关,尤其是通过PCIe Gen 4 Host Card外接盘柜的测试场景)。常见的消费类主板一般含有1~2个Gen 4 M.2 socket,以及1~3个PCIe Gen 4 插槽,但是往往这些插槽都是共享例如x16 lane的,这个要特别注意,例如如果通过外置PCIe Gen 4 Host插卡外联测试盘柜,一般该Host插卡需要Gen 4 x16,那么就不要在相邻的插槽再插入显卡(AMD CPU不含显示控制器,必须配置外置显卡),否则可能会导致显卡占用了x8从而影响到Host插卡只能工作在x8状态。
但是,Gen 4主板的选择不能只考虑上述这些因素,因为目前Gen 4主机选择存在一些巨坑,很多人只是考虑性价比,结果导致选择的主板存在很多兼容性问题。这是因为虽然各个主板厂商都使用AMD CPU或者同样的芯片组,但是各家主板的BIOS更新的频度,对于PCIe 外设的兼容性,是否热插拔支持等很多方面都可能存在这样那样的问题。
由于我们专注于PCIe Gen 4 NVMe SSD的相关测试工具,我们在上海的实验室为了搭建测试环境已经测试了多家厂商的PCIe Gen 4主板,同时结合我们美国合作伙伴提供的美国各大SSD公司选择Gen 4主板遇到的坑,这些经验可以有效地帮助用户避免误入歧途。
目前有些公司专注于消费类M.2 Gen 4 SSD测试,有些专注于数据中心用U.2 Gen 4 SSD测试。购买了上述主板后面临的一个问题是,如何可以多测试一些SSD?下面分M.2扩展U.2 扩展,以及PCIe Gen 4 插槽几个部分进行讲述。
一般的消费类Gen 4主板都配置一个或者2个M.2 接口,如果要测试更多怎么办呢?常用的有下面几种方法。
参见下图,这样就可以将未使用的Gen 4 x4插槽转成M.2 Slot使用,这样就可以有效增加M.2的测试数量。
由于目前市场上没有Gen 4 x16转接4个M.2 Slot的转接卡,如果觉得通过上述方法只能转接一个M.2端口还是太少怎么办呢?可以使用下面两种Gen 4 x16转接4个盘位的方法,但是两种方法都需要二次转接,不过不用担心,我们做过实际测试,通过使用高质量的转接卡可以实现对于PCIe Gen 4信号质量基本不造成影响。
参见下图,该Gen 4 x16 Host卡顶部左上角转换为两个Gen 4 x8接口,通过两根独立的Gen 4 x8 to 2*U.2 socket线缆可以转接成4个U.2插槽,然后再次通过M.2 to U.2转接卡转接成4个M.2 Gen 4 SSD。
图2 PCIe Gen 4 x16 Host卡(带2个Gen 4 x8 internal port)
图3 PCIe Gen 4 x16 Host卡(带2个x8 internal port)
图4 Gen 4 x4 M.2 to U.2转接卡
下图是连接一根x8 to 2*U.2 Slot线缆的实拍图,从图中可以清晰地看到该转接线提供2个U.2 插槽,以及一个SATA头端的电源接口,因为U.2 SSD需要单独供电。
图5 Gen 4 x4 M.2 to U.2转接卡连接一个M.2 NVMe SSD示意图
图6 PCIe Gen 4 x16 Host卡(带4个Gen 4 x4 external cable port)
下图是连接一根HD MINI SAS to U.2 Slot线缆的实拍图,从图中可以清晰地看到该转接线提供转接成一个U.2 插槽,以及一个SATA头端的电源接口,因为U.2 SSD需要单独供电。
图7 HD MINI SAS to U.2 Slot线缆实拍图
如果想增加M.2 SSD插槽,又不想减少一个PCIe Gen 4 Slot怎么办?可以使用下面的PCIe Gen 4 Host卡,该卡底部为Gen 4 x16金手指,上面提供一个Gen 4 x8 sot,右边提供一个M.2 插槽。
图8 PCIe Gen 4 x16 Host卡(带M.2和x8 Slot)
目前业内提供两种盘柜可供选择,一个为Active盘柜,一种为Passive盘柜。
两个产品的前面板看起来几乎一样,都提供8个Gen 4 U.2 Slot,支持Single Port Gen 4 x4,也支持Dual Port Gen 4 x2,支持热插拔,支持对每一个盘位通过API命令进行异常掉电/上电,方便测试。两者的主要区别在于Active盘柜内部提供PCIe Gen 4交换芯片,Passive盘柜内部没有交换芯片。如果测试M.2 NVMe SSD那么该盘柜需要配置M.2 to U.2转接卡(参加图4)。
图9 Passive和Active盘柜前面板实拍图
下面是两种盘柜的连接图实拍,注意两者使用的线缆是不一样的,都是从Host卡连接到盘柜后面板的接口。
图10 Passive 盘柜连接方式(使用特殊定制线缆)
图11 Active 盘柜连接方式
一般的消费类Gen 4主板不提供U.2 接口,服务器主板目前也没有提供Gen 4 U.2插槽(基于Intel 公司PCIe Gen 3 CPU的存储服务器一般前面板提供Gen3 U.2 Slot),那么应该如何测试Gen 4 U.2 NVMe SSD呢?常用的有下面几种方法。
参见下面两图,可以将未使用的Gen 4 x4插槽转成U.2 Slot使用,这样可以有效增加U.2的测试数量。两种的功能完全一样,区别是一个是竖插,一个为横插,竖插的转接卡价格较贵。
图12 Gen 4 U.2 to AIC转接卡(竖插)
图13 Gen 4 U.2 to AIC转接卡(横插)
** 横插型号提供1/2 Height Bracket以及Full Height Bracket供选择。
参见1.2.1 PCIe Gen 4 Host卡,图2,6,8。
参见1.2.1.4 PCIe Gen 4 盘柜部分描述。
有些用户开发PCIe Gen 4 NVMe SSD Controller,或者开发基于PCIe Gen 4的各类板卡,在前期验证阶段可以使用FPGA验证卡,或者后期ASIC流片以后往往一段时间内仍然使用PCIe插卡进行性能/功能验证,这个时候需要使用较多的PCIe Gen 4 插槽。目前针对这方面的扩展需求有两种方案可供选择。
可以选用下图所示的7-Slot PCIe Gen 4 x16主板,AMD CPU提供128个lane可以直通每个PCIe Slot。
图14 7-Slot高扩展性主板
可以使用专用的PCIe Gen 4 Slot扩展板。参见下图,左图为1个x16 上行扩展到5个x16下行,右图为一个x16上行扩展到8个x8下行。
图15 PCIe Gen 4 Slot扩展柜
有的测试场景需要将PCIe Gen 4 NVMe SSD放入高低温箱进行测试,可以配置下图所示高低温测试背板,该背板支持-25 ~ 85度。主机侧插入“图3 PCIe Gen 4 x16 Host卡(带2个x8 internal port)”所示的Gen 4 Host卡,然后通过两个独立的x8 to x8 cable连接到下面背板的背面高速接口,线缆支持高低温。注意:一张PCIe Gen 4 x16 Host卡支持同时测试4个PCIe Gen 4 x4 Single Port NVMe SSD。
图16 置于高低温箱的Gen 4 NVMe SSD背板示意图
掉电测试是PCIe Gen 4 NVMe SSD的一个必测项目。下面是业内常用的几种掉电方法。
该测试套件不仅为UNH IOL实验室使用,同时SSD测试业界SAS/SATA SSD到PCIe Gen 3/4 NVMe SSD的主流公司都在使用该热插拔套件进行测试。
通过该方法实现掉电实际上是一个附带功能,PCIe Gen 4 SSD热插拔测试套件的主要功能是实现对于盘的热插拔的测试,尤其是U.2 NVMe SSD,对于M.2 NVMe SSD或者基于PCIe 插卡的SSD一般情况下不进行热插拔,但是通过该套件对于某些针脚(包括电源)模拟断掉,接触不好,x4的差分信号线中某个方向,甚至某个方向的两个差分信号中的一根断掉不通,或者对于该差分信号在SSD盘的方向导入一些信号毛刺来模拟一些故障场景看SSD在这些特殊情况下是否可以可靠稳定地工作等。
目前这些热插拔套件提供各种接口类型,包括Gen 4 U.2/U.3, M.2, PCIe Slot以及EDSFF x4/x8等,这些热插拔模块需要串接在SSD和主板/背板之间,通过Python脚本或者图形化GUI界面进行测试。
图17 各种接口Gen 4 SSD热插拔模块
下图为最精简配置Gen 4 U.2 NVMe SSD热插拔模块连接图实拍,采用QTL1260单端口控制器,支持USB或者串口管理,直接连接控制电脑。如果需要通过脚本同时管理很多SSD热插拔模块,建议采用4-port或者28-port管理控制器,支持网络管理,可以同时控制4个或者28个热插拔模块。
图18 最精简配置Gen 4 U.2 NVMe SSD热插拔模块连接图实拍
通过上述热插拔模块,配合Quarch Compliance Suite可以很方便地在实验室实现UNH IOL的hotplug认证测试。
图19 针对UNH IOL实验室的hotplug兼容性测试软件
该测试工具不仅为UNH IOL实验室在Plugfest使用,业内主流公司SSD基本也都在使用该可编程电源(简称PPM)进行电压拉偏和功耗测试。
该可编程电源可以通过API或者GUI界面实现突然将电压输出将为0,也可以模拟各种各样的电压异常和波动进行电压拉偏(同时也间接实现了电流的波动)。程序控制的最低粒度为1us,即你可以设置这1us内的电压输出为一个数值,然后设置下一个1us输出另外一个数值。下面是该可编程电源的一些主要技术参数。
• 12V/5V or 12V/3.3V mode software selectable
• Custom Pattern Generator
• 250 KHz max sample rate
• Output Resolution:
4mV
• Measurement Resolution:
4mV, 25 uA
• Measurement Accuracy:
±(2uA + 2%) @ 100uA-1mA
±(2mA + 1%) @ 1mA-3000mA
• External trigger in/out
• Output Capacitance
• Pull Down
可编程电源前面板右下角的输出口可以输出12V/5V电压,通过转接线缆,另外一端串接在各种接口的SSD和主板插槽之间实现对于SSD的供电,参见下图的右下角的各种转接线缆。最常见的M.2 SSD连接笔记本或者台式机PCIe插槽,U.2 SSD以及PCIe插卡的转接线。
图20 可编程电源,管理软件和转接线缆
下图的M.2通过转接卡转换成U.2,然后使用U.2 power fixture夹具接入测试盘柜的背板进行测试,该夹具将阻隔背板给SSD供电,真正的供电将有软件控制PPM给SSD供电。
图21 可编程电源,管理软件和转接线缆
下面是使用Test Monkey管理该电源的主界面,你可以在右下角点击Edit Pattern设置电压输出,然后即可Run Pattern输出你需要的电压。
图22 Test Monkey管理电源的主界面
图23 Edit Pattern设置电压界面
下图为通过可编程电源可以很容易实现模拟一些故障或者问题电压。
图24 通过Edit Pattern注入异常波动电压
参见1.2.1.4 PCIe Gen 4 盘柜部分,通过盘柜内置的API很容易实现在测试过程中通过python脚本调用对任意一个盘位进行掉电/上电。
图25 通过命令控制每个Gen 4 U.2 SSD盘位掉电/上电
PCIe Gen 4 NVMe SSD问题诊断目前最主要的手段仍然是依赖PCIe Gen 4 协议分析仪。我们知道,Gen 4 NVMe SSD一般为Gen 4 x4,即16G x4 = 64G,如果双向都打满流量测试暴露问题的话那么速度为64G * 2 = 128Gbps(约12GB/S),当然,谈到具体的M.2或者U.2 NVMe SSD的时候因为涉及到NAND速度的限制是无法达到这么快的速度的,除非使用Intel基于3D XPoint技术的Optane SSD。由于协议分析仪抓包后要加上时间戳以及很多其它格式化信息(例如标识packet是否有CRC Error),所以实际占用的buffer远比我们链路上传输的数据要大,基本上读/写压力同时加上的话,几秒钟几十个GB字节。所以PCIe Gen 4 协议分析仪需要具备非常快的trace文件保存和分析能力。基于之前Gen 3 analyzer的架构设计的协议分析仪基本在分析Gen 4的大流量的时候都显得捉襟见肘。
我们推荐使用SerialTek公司的PCIe Gen 4协议分析仪,原因在于其支持如下的特性。
支持AIC, U.2, M.2接口SSD,兼容PCIe Gen 1/2/3/4四种速率;支持升级到Gen 5
业内保存trace文件最快的产品,保存144GB trace仅需几分钟,而不是几个小时;
业内唯一采用passive进行信号捕获的分析仪,不对PCIe信号进行增强;
业内唯一无需对Interposer信号进行手工校准(Calibration)的PCIe分析仪;
业内唯一支持无需抓取boot trace即可随时进行数据捕获的PCIe分析仪;
业内唯一允许用户根据BDF, Control Registers, Queues进行触发或过滤的分析仪;
业内唯一与PCIe Spec及NVMe Spec解码完全一致的界面,非常适合研发人员使用;
业内唯一通过一台分析仪可以分析U.2&U.3,Single Port & Dual Port 4种组合的产品;
其使用MINI-SAS-HD cable连接分析仪和各种AIC, U.2, M.2 interposer,非常经济;
其NVMe analyzer分析仪是UNH IOL官方网站推荐使用的分析仪;
产品界面友好,普通工程师使用几乎不需要培训;
其提供针对NVMe层的快速/高级过滤/查找/trigger等功能非常强大;
提供业内最高性价比的PCIe/NVMe analyzer
提供定制防摔行李箱,适合外场调试;
图26 SerialTek PCIe Gen 4 analyzer前面板
图27 Gen 4 U.2 NVMe SSD协议分析仪连接实拍图
图28 Gen 4 M.2 NVMe SSD协议分析仪连接实拍图
图29 M.2 interposer细部连接实拍图
图30 M.2 interposer的Host Adapter细部连接实拍图
图31 Slot interposer协议分析仪连接实拍图(带延长线)
类似于上述的针对插卡的协议分析,有的时候受制于机箱的限制,Slot interposer无法直接插入PCIe插槽,这个时候就需要PCIe Gen 4 x4延长线,将PCIe Slot延伸出来方便Slot interposer插入。具体详见下一部分。
图32 SanBlaze测试主机和盘柜实拍图(支持16个Gen 4 U.2 SSD)
美国SanBlaze针对PCIe Gen 4 NVMe SSD的测试设备是UNH IOL官方认证的测试工具,该设备的一个亮点是上图所示测试盘柜可以直接放入温箱进行测试。
图33 UNH IOL CTS测试界面
负载压力测试
数据校验测试
延迟测试
400+个自动化定制脚本NVMe 测试脚本支持UNH/IOL
电压/功耗测试
完整Quarch热插拔集成
多盘位Gen 4机箱支持
NVMe 1.4规范完整支持
SGL/PRP支持可变block size/metadata/Bit Buck
掉电测试,支持数据校验/Atomicity校验
针对VF的完整SR-IOV支持
支持VDM/PCI/MTCP
MI 1.0 Conformance脚本支持
Gen 4 完整解决方案
针对NVMe SSD和盘柜的环境测试支持(-5C to 75C)
纯软件方案/基于定制的硬件环境
制动选择Single 或者Dual Port NVMe SSD
基于Web的GUI 管理
PCIe® Gen 4支持
可以基于Gen 3或者Gen 4主机进行Gen4 PCIe NVMe测试
16个盘位,通过前面板方便插拔
通过软件控制进行热插拔,插槽功耗以及检测SSD盘是否在位
通过U.2 Riser卡实现配置16个盘位为Single Port 或者Dual Port NVMe SSD,也支持U.3 Single Port Riser卡或者U.3 Dual Port Riser卡
可现场更换Riser卡支持Single Port 或者Dual Port NVMe SSD
针对每个盘可以进行电压和功耗测量
优化的散热设计,气流无阻塞
由温度触发速度自动调节的6组风扇设计(用户可以通过config文件控制)
15mm 盘的LFM为1,373
38个温度监控点
75摄氏度工作时候的功耗为每插槽25W
电压拉偏范围+/- 15%
测试范围涉及NVMe规范的所有方面
支持UNH IOL Conformance测试
支持基于SMBus对于NVMe-MI (Management Interface)进行测试
支持SGL, SR-IOV, 完整namespace 的控制和预留
支持同时测试多个NVMe SSD盘
支持通过脚本格式实现发送特定或者定制的op code
读/写/比较测试
故障注入
Vendor-unique命令支持
驱动和测试单个或者多个NVMe目标设备
(四) PCIe Gen 4 Host卡/转接卡/延长线
请参见前述下图:
图2 PCIe Gen 4 x16 Host卡(带2个Gen 4 x8 internal port),
图5 PCIe Gen 4 x16 Host卡(带4个Gen 4 x4 external cable port)
图6 PCIe Gen 4 x16 Host卡(带M.2和Slot)
请参见前述下图:
图1 PCIe Gen 4 x4 M.2 to AIC转接卡
图4 Gen 4 x4 M.2 to U.2转接卡
图9 Gen 4 U.2 to AIC转接卡(竖插)
图10 Gen 4 U.2 to AIC转接卡(横插)
各种PCIe Gen 4延长线,支持高低温测试(-25 ~ +85 摄氏度)的PCIe Gen 4 x4以及PCIe Gen 4 x16等。下面这两种线缆在各个主要客户处均做过实际测试,信号质量非常好,25cm以及50cm延长线接入以后,NVMe SSD测试的性能/延迟和吞吐量等信息和没有接入前保持一致,中间串接PCIe Gen 4 analyzer以后实际长时间追踪未发现有bit error。但是,100cm的线缆的衰减较大,接入后host和device可能无法协商到Gen 4(16Gbps),大概率会降速到Gen 3 (8Gbps)。
图34 PCIe Gen 4金手指延长线和跳线(25CM)
图35 20CM和50CM两种延长线图
其它转接卡信息请直接联系我们获得更多些信息,邮箱:sales@saniffer.com,或者访问https://www.saniffer.com/cn/downloads/下载下面的资料:
PCIe Gen 4 and NVMe SSD测试工具速查手册
SerialCables存储测试环境连接产品速查手册
SSD测试工具白皮书和速查手册
SSD/服务器/存储测试转接卡以及延长线等夹具速查手册
图36 主板托架实拍图
图37 主板托架实拍图(带主板)
SSD Rack 整体设计已获得国家发明专利,该机架主要用于机房大批量测试SSD使用,可以非常高效地利用机房的空间,也大大提高测试得便利性,测试人员可以在机房内部通过KVM或者远程直接查看每台主机的测试情况。下面是一些简单介绍。
SSD RACK总体高度大概2米,查看最上层主机需要人字梯。
l SSD RACK包含5层,每层放置5片主板,5组PC电源,每个主板测试4个SSD,单台SSD RACK总计可以测试100片SSD。
使用16A 8口 PDU/智能PDU( PDU可配置智能PDU,可远程监控开关电源。
配备千兆网络适配器,可远程监控Rack 测试状态。
PC部分可根据客户需求配置。
KVM 结合网络适配器,可实现远程查看,监视每个产品的测试状态。
是否需要远程功能根据实际需求配置。
图38 SSD机架主要组件示意图
图39 SSD机架尺寸图
可以到以下路径下载pdf版本:
https://www.saniffer.com/cn/downloads/,或者电话021-50587071,发邮件sales@saniffer.com获得更多信息或者本文的高清版本,或者预约现场参观。
高端微信群介绍 |
|
创业投资群 |
AI、IOT、芯片创始人、投资人、分析师、券商 |
闪存群 |
覆盖5000多位全球华人闪存、存储芯片精英 |
云计算群 |
全闪存、软件定义存储SDS、超融合等公有云和私有云讨论 |
AI芯片群 |
讨论AI芯片和GPU、FPGA、CPU异构计算 |
5G群 |
物联网、5G芯片讨论 |
第三代半导体群 |
氮化镓、碳化硅等化合物半导体讨论 |
存储芯片群 |
DRAM、NAND、3D XPoint等各类存储介质和主控讨论 |
汽车电子群 |
MCU、电源、传感器等汽车电子讨论 |
光电器件群 |
光通信、激光器、ToF、AR、VCSEL等光电器件讨论 |
渠道群 |
存储和芯片产品报价、行情、渠道、供应链 |
< 长按识别二维码添加好友 >
加入上述群聊
带你走进万物存储、万物智能、
万物互联信息革命新时代