本文结合国内主流SSD控制器/盘的研发中心在购买PCIe Gen 4&5协议分析仪过程中最关心的点阐述一下如何买到一台高效、可用、高性价比的PCIe协议分析仪,这些公司包括浪潮、华芯、大普,Memblaze,YMTC,Longsys,Maxio, Sage Micro等等,下面按照关心的重要程度依次列出这些点供大家参考。
提示:对于Saniffer公司发布的Gen 4&5 NVMe SSD测试工具白皮书感兴趣的朋友,可以访问saniffer官方网站下面的连接下载最新更新的“PCIe Gen 4&5NVMe SSD测试环境搭建和常用工具图解 4.0”文档。如果有其它问题可以点击本文左下角的“阅读原文”留下你的联系方式。
https://www.saniffer.com/cn/downloads/
1.信号问题
该问题是判断一个分析仪是否可用的一个基本问题,业内估计没有公司愿意花上百万或者几百万人民币购买一台PCIe分析仪后发现在很多场景下无法使用。不幸的是,我们发现传统架构的PCIe Gen4&5分析仪普遍存在这种问题甚至更严重。我们建议公司在做最终决定前一定要在真实环境中试用PCIe分析仪,这样就可以大大避免购买以后出现问题。下面的问题是传统PCIe分析仪在真实环境中经常出现的问题
–完全抓不到任何数据
–待测系统无法启动
–待分析问题症状消失
–信号不好,抓到各种错误
碰到上述问题以后,传统PCIe分析仪需要非常复杂的calibration,用户工程师一般无法搞定,其实,即便原厂R&D设计工程师使用内部专用工具软件进行信号的calibration校准也不一定搞好,因为这些问题大多由于其interposer内部设计造成的。
SerialTek公司的PCIe Gen 4&5协议分析仪设计具备自适应的EQ能力,并且当PCIe链路特性发生变化的时候(例如Hotplug或者NSSR)分析仪可以动态调整,其interposer采用昂贵的高端analog passthrough的模拟芯片将upstream和downstream信号导入分析仪,避免了上述这些问题的出现,也无需用户进行信号校准(Calibration-free)。
我们来看一下业内知名的芯片公司Phison的首席工程师是如何来评价SerialTek的这一创新性的专利技术- 信号高保真SI-FI (Signal Fidelity)。
I’ve been using protocol analyzers for 31 years and PCIe analyzers and interposers extensively for the past 5 years. We use them for important assignments that affect revenue and customer satisfaction,” said John Wehman, Principal Engineer at Phison Technology. “With other analyzers I have had to abandon my testing many times, because I could not find a good quality signal lock. SerialTek’s Kodiak analyzer and SI-Fi interposers have changed all that. I have 100% confidence in Kodiak’s ability to achieve lock and give me the trace I need to do my job. Kudos to Ellisys and SerialTek for creating not only an electrically reliable platform, but the actual mechanical hardware itself is beautiful.
视频一 SerialTek PCIe Gen 4 analyzer实物简介
2.解码速度
该问题是判断一个分析仪问题诊断效率是否高效的重要参考。不论是计算、网络、存储、SSD还是其它芯片开发、验证过程中会越来越多依赖PCIe分析仪分析各种各样的问题,尤其在产品验证的后半期,很多问题的复现本身就需要花费很长时间,如果对于抓取大量数据进行解码分析再需要花费几个小时甚至1~2天,相信工程师不会有那么多时间加班。
除了SerialTek之外,业内的传统PCIe分析仪内部都没有任何处理能力,抓取到数据以后,需要通过下面两个步骤才能看到解码 – 1)分析仪停止抓取数据后,安装在用户电脑的协议分析仪软件开始将数据从分析仪BUFFER传输到电脑;2)传输完毕后解码。所以,我们看到解码严重依赖用户的电脑,当然电脑单核CPU配置性能高一些,内存大一些可能效率稍高一点,传统分析仪软件都是单线程,多核CPU无法发挥作用。
传统分析仪的实际测试结果:抓取32G buffer,传输时间4+小时,解码时间4+小时,总计等待8小时才可以分析这些解码。如果抓取128G Buffer,考虑到电脑的处理能力各方面,这个并不是简单4倍的关系,估计需要2整天时间才可以解码完毕(如果电脑不死机的话),如果有条件大家可以测试一下。
SerialTek分析仪采用高性能服务器架构,内置12 CORE高性能CPU, 使用标准Linux系统,配置64G memory供Linux使用,协议分析仪软件服务端采用多线程运行在12 CORE上。所以,分析仪一旦停止抓取数据后,CPU通过内置两条Gen 3 x16总线从upstream (72GB buffer)和downstream(72GB buffer)分析仪板卡的buffer里面将数据取回进行分析。
基本1秒钟即可解码所有的数据,工程师可以用鼠标直接拖动到最后一行解码进行问题定位和分析,不论你抓取的是36G, 72G,还是128GB数据,也不论解码是2000万行解码还是2亿行。如果简单查看一下觉得不是自己需要的数据,下一秒钟即可start capture重新开始抓取数据。
当然,可能有人问为什么需要抓取这么大的buffer的数据呢?几个原因如下:
–在高速传输的情况下出现性能不稳定问题或者功能问题
–问题很难复现,可能几天出现一次,或者有的时间一天出现几次,无法根据症状现象设置trigger条件,只能人工等待出现问题的时候给工程师预留出足够的反应时间来停止抓包,这样就可以将问题发生时候的数据保留在分析仪内部buffer,因为正常情况下buffer满了会loopback环回从而冲掉之前抓取的数据。
3.存储速度
有时候对于抓取到的数据进行初步分析后觉得有必要进一步分析,或者需交给其它同事分析,这个时候需要存储该数据(专业术语: trace文件)。存储速度也是衡量分析仪是否高效的一个重要指标。
传统PCIe分析仪对于抓取的数据进行存储的前提条件是先传输到到电脑,解码完毕,然后才可以通过菜单将trace存储在电脑本地的某个目录下面。一般这个时候可能还要重新传输一遍数据,所以非常慢。以上面提到的8小时解码的分析仪为例,如果存储该trace文件估计需要至少等待8个小时。
SerialTek Gen 4&5协议分析仪保存144G BUFFER仅需要6.5min, 大大提高了效率。其本质原因在于分析仪架构采用高端服务器架构,和传统的嵌入式架构的PCIe协议分析仪完全不一样,SerialTek分析仪内置了最多4块Samsung M.2 NVMe SSD,所有存储书的时候无需导出到电脑,直接将buffer写到内置的M.2 NVMe SSD闪存盘,所以速度非常块。
4.问题复现时遇到解码全错
传统PCIe Gen 4/5分析仪在实际使用之前必须进行经过一个“抓取上电过程”的冗长步骤,否则,希望等到问题出现的时候再来接入分析仪尝试抓数据将无法解码,具体分为下面三个步骤:1) 启动协议分析仪,打开协议分析软件,连接分析仪,开始抓取数据;2)启动待测环境;3)停止分析仪抓取数据,load数据到分析仪软件得到解码所需要的参数信息,该信息将存储在该电脑的分析软件,以此作为后续抓取数据解码的依据。
所以,上述设计的缺陷显而易见,所有使用过这类传统PCIe分析仪的工程师都会碰到这样“恼人”的问题,即,为了复现某个问题需要反复重启系统,经过几十次甚至上百次的掉电、上电总算问题复现了,结果发现分析仪也抓到数据了, 但是解码全部错误。原因就在于问题复现时候的某些参数,例如BAR地址,register,或者PCIe speed或者width等和初始的参数对比发生了变化,但是分析软件仍然用之前暂存的参数进行解码,结果解码全部错误。
SerialTek是业内唯一通过分析仪硬件实时监控每次待测系统加电协商的参数的分析仪,所以,使用SerialTek协议分析仪根本不存在需要提前连接软件抓取开机上电过程这个步骤,任何时候需要抓取的时候再打开分析软件连接分析仪都可以直接抓取,并且解码不会出错。这个功能也是Intel, AMD, Seagate, WDC,Micron, MS, Apple, Broadcom以及国内知名公司一定要购买SerialTek的重要原因之一。
5.“远程分析”和“远程协作”
现在大多数产品开发公司一般都有多个站点,国内公司一般也会在上海、北京、深圳、成都、苏州、杭州等城市有多个研发中心,跨国公司除了在上述城市有办公室之外,还会在美国,加拿大,台湾甚至日本设立研发中心,那么这种情况下,对于动辄抓取到的100GB trace文件如何分享和分析呢?传统PCIe分析仪由于架构固有的限制,必须把trace文件发给另一方才可以分析。使用SerialTek则没有这些问题,几个典型场景如下:
–办公室内部的分析和协作 – 工程师A退出软件,工程师B连接分析仪,直接打开尚在buffer里面的数据秒解分析,或者打开A已经存储在分析仪内部闪存盘上面的trace文件分析,时间也是秒解。
–跨办公室的分析和协作 – 同上,只不过工程A和B分布在两个不同的办公室Site,两个办公室可能都在国内,也可能跨国。但是解码速度也是秒解码,因为B无论是打开分析仪内部buffer数据还是分析仪内部闪存盘的数据,分析仪本身只是将界面传输到B的软件界面显示,网络带宽占用只有10~20BPS,非常低。
–远程办公– 由于目前全球covid-19仍然肆虐,很多时候工程师需要远程办公,公司仅在办公室安排少量的工程师或者实验室技工协助搭建环境等工作。工程师A或者B只要通过VPN连接到公司内网,即可实现远程操作分析仪抓包分析和多站点协作。
6.消费级M.2 SSD低功耗分析
当前,M.2 NVMe SSD在笔记本,Pad, GPS等消费类产品以及台式机(游戏机)以及服务器启动盘上获得了广泛的应用,但是,传统PCIe Gen 4/5分析仪由于设计的原因导致M.2 SSD低功耗在分析时会出现丢包问题。SerialTek在硬件底层上解决了困扰用户抓取低功耗碰到的这些问题。
7.企业级U.2/U.3/Single Port/Dual Port四合一分析
现在国内的企业级SSD厂商为了打入数据中心市场,有的公司从去年起即启动U.3 NVMe SSD研发,当然主流的接口仍然是U.2。目前传统PCIe分析仪需要用户分别购买U.2和U.3 interposer,价格非常昂贵。SerialTek分析仪提供“四合一”interposer,即一个interposer可以自适应支持U.2/U.3/Single Port/Dual Port这四种组合的SSD,并且,一台分析仪非常方便地抓取dual port ssd的两个port的数据。
8.断网续传
传统PCIe分析仪的网线如果断掉,即便0.1ms,再接回去网线也会无法使用,只能分析仪重启然后重新抓取数据才可仪;这个是由于分析仪内部使用精简OS无法维护网络状态导致。SerialTek分析仪使用标准CentOS完全解决了这个问题。该功能非常利好AE/FAE工程师外出调试问题,当工程师设置好触发条件开始抓取数据以后即可断开电脑离开现场,需要的时候可以接回电脑即可查看解码数据。
9.对某个特定盘进行抓包或者命令触发
现在有很多测试场景抓取的数据中有多个盘的流量,例如,如果使用cable interposer串接在switch卡和背板之间,或者使用slot interposer分析PCIe Gen 4 x16 Host Card连接4块U.2 SSD的场景,那么分析仪就可以“看见”所有挂接在背板或者卡上面的SSD的流量,传统分析仪无法区分抓取某个盘的流量,或者仅触发某个盘的特定PCIe packet或者NVMe command,SerialTek 分析仪很好地解决了该问题,通过支持基于BDF以及queue等参数实现抓包过滤或者触发。
10.如何解决不同版本冲突带来的烦恼?**
一般情况下,公司里面都是有多名工程师会使用分析仪抓取数据,有些公司还会经常将分析仪在多个站点间调度使用,这就会带来一个版本冲突的问题。PCIe分析仪由于会定期发布一些版本解决一些产品bug或者增加一些新的功能,假如某工程师A下载了一个新的协议分析仪软件版本,当他安装好打开软件后由于和分析仪内部的firmware不匹配,所以需要升级分析仪。
如果下次另外一个工程师B使用该分析仪,由于他仍然使用上一个软件版本,所以和拿到的分析仪内部的firmware版本不匹配,所以他如果要使用的话只能将分析仪firmware降级。然后如果A再拿去又不得不升级,如此反复会搞得版本维护非常杂乱,并且会导致潜在风险,因为分析仪firmware升级过程中万一断电会导致不得不回原厂返修。
SerialTek Gen 5分析仪使用Web界面管理,不再使用协议分析客户端软件的传统方式。任意工程师通过Web将版本升级后,其他工程师登录Web界面使用,就不存在版本反复升级、降级带来的烦恼以及风险问题。
编辑:jq
-
PCIe
+关注
关注
15文章
1213浏览量
82394 -
SSD控制器
+关注
关注
1文章
12浏览量
11512 -
华芯
+关注
关注
0文章
6浏览量
2161 -
WDC
+关注
关注
0文章
4浏览量
3282
原文标题:业界主流SSD研发中心选择PCIe Gen 4&5分析最关心哪几个点
文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论