鸾起岑彪:如何用eBird测试平台提高SSD测试开发效率?

7月28日,主题为“闪耀数字经济新引擎”的2022全球闪存峰会(Flash Memory World)在线上盛大召开。

峰会为期三天,共设置开幕式、主题演讲以及11 场分论坛。 在7月29日上午举行的“SSD固态存储技术论坛”上,燊容电科特邀嘉宾、鸾起CEO 岑彪对国产SSD研发测试设备eBird进行了一番介绍。

以下内容根据速记整理, 未经本人审定。

岑彪:大家好,我是鸾起科技的岑彪,鸾起科技是一家专注存储产品测试设备研发和销售的公司,非常荣幸和合作伙伴燊容电科一起介绍我们的SSD综合测试开发平台——eBird。

eBird是SSD测试和开发平台,它能够提供从NVMe协议级到系统应用级的完整测试,能满足SSD从研发、量产到企业验收各个阶段的测验需求,不仅能提供常规测试内容,还能把产品经验,把容易触发的问题整合成测试用例提供给客户。

上图是eBird的产品外观,这是一个四口的设备,说它可以同时对四台机器进行测试。

测试设备和测试机之间通过网络连接,分布式的连接方式使我们的终端非常灵活,用户可以选择服务器、台式机或者笔记本电脑进行测试。

测试设备通过网络把测试内容发放到测试机上,然后,在测试机本地进行测试,测试系统支持Windows、Linux和国产OS,这些配置和连接方式使用户能够构建与实际应用场景一致的测试环境,使测试结果更真实可信。

eBird是行业内目前已知的,唯一一个实现跨平台的SSD专业测试设备,也就是说,一套测试脚本可以跑在多种测试环境下,支持PCIe Gen3/Gen4/Gen5的硬件平台,也可以测试Windows、Linux或者是国产OS系统,既可以是服务器,也可以是笔记本电脑。

这使得测试机的选择会非常灵活,终端配置也非常灵活,让客户更加贴近实际应用场景,让测试更真实。

上图是eBird的软件界面,风格简单易用,测试的内容都以用例化的形式呈现,用户可以根据需求去勾选,随后点击开始即可进行测试。

协议级测试方面,我们提供了一个完整的协议规范测试,整套用例都已经提供,用户可以直接选择测试用例去跑测试。

应用级测试方面,我们从系统应用层面设计了一些用例,比如性能、校验、压力、QoS等等测试可选,勾选之后,点击“Start”即可进行相关测试。

界面下半部分的标签显示着Test-PC1、Test-PC2、Test-PC3、Test-PC4,意味着用户可以选择任何四台中的一台去任何测试,四台相互完全独立,相互不干扰,四台可以完全并发地去跑不同的测试内容,比如,一台跑协议测试,一台跑应用测试,一台跑掉电测试,都没问题。

左边的侧边栏是一些常规的操作按钮,比如说Smart、identify,以及一些寄存器的操作。寄存器部分,我们开发了两个小工具,可以针对寄存器操作。

上图就是控制寄存器的小工具,通过工具界面就能轻松对寄存器进行读写,比如,可以指定写的位置,写的内容,点一个write,就写下去了。同时,还可以去做验证,把你要读的地址写在这里,你点read,就会要读的内容呈现出来,该功能在实际开发中比较实用。

这是一个Command Unit(命令集接口),把所有的NVMe命令以及一些常规操作,以一个图形化的方式进行呈现。

比如,可以敲一个deleteCQ,我们可以随便指定一个qid,发送一个命令,就实现了cqid命令的操作。在开发和调试中,将给开发人员和测试人员提供很多便利,客户的实际反馈也比较好。

整机掉电测试部分,常说的掉电主要是指对SSD进行掉电,但实际应用中,除了SSD掉电以外,更多真实场景下,可能是整台机器掉电了,掉电分为异常、正常两种,但都会让SSD和主机有一个互动,完整地走完一个上电或者下电的流程,这一过程中触发一些问题的概率会比单纯让SSD掉电大得多。

从之前的产品经验来看,我们在整机掉电的地方,确实发现了很多很多的关于recovery(恢复),还有一些数据一致性等问题。在实际过程中,我们可以把正常、异常,还有盘的形态,比如说主盘从盘,做一个组合,可以罗列任何你想要测试的组合,同时,可以去选择是否做填盘,做不做数据校验。

比如,用户可以设置testloops为1000次,设置每次读写的时间,然后点击“start”就可以让这个测试跑起来了。

另外,这里也提供了Host和测试机交互的接口,测试设备可以去detect测试机的信息,一旦遇到异常,系统就会让它停下来,保留现场给开发人员去调试。

eBird内容主要就是NVMe协议级别、应用级别、SSD整机掉电以及PCIe Link级别和开发级别等,能提供整套测试框架和接口,eBird以一个产品化的平台基本上涵盖了SSD所有要测的东西。

我们的产品化经验非常丰富,也非常了解容易发现问题的地方,我们以一个测试用例的形式进行提供,这样也使得这个测试用例更具有实用性和高效性。

这是测试内容列表,比如说协议级的测试,会提供一个常规的NVMe协议的覆盖,也会提供些feature的测试,寄存器的测试等等,这部分可以通过进一步的资料去了解。

PCIe Link层,我们有一个测试套件,可以帮助大家对Hot-reset、Link_reset,还有Speed相关内容进行测试,能用于测试SSD和主板的兼容性问题。

NVMe应用级测试,从系统应用层面来看,一个SSD要进行哪些测试,比如说性能、数据网点性、压力,以及像QoS等等标准测试,这些都是SSD在系统级作为一个产品要进行的一些测试,这些都已经把它例化成现成的用例,可以直接用。

整机掉电部分,可以选择掉电的模式,选择盘的状态状态,是主盘从盘亦或是各种组合,基本上囊括了一个SSD所能遇到的各种掉电场景,这些都是实际场景中发生过很多,帮用户发现了很多问题。

我们的测试平台会向用户提供整套的测试框架,包括测试脚本、测试库以及NVMe接口、寄存器接口等等的,同时也会提供一些驱动接口,用户可以用来做二次开发。

为了常规的测试内容,我们准备了一些测试套件供用户选择,根据实际情况,比如说像企业级的一些feature,比如NVMe-MI的feature,ZNS、TCG、SR-IOV、DualPort、Multi-nameSpace、端对端保护,这些偏企业级的一些功能。

另外,我们也提供功耗测量套件,包括电压拉偏这种套件,软硬议题的方案,这里不展开介绍了。

Trace这一块,我们会提供针对开发者的模式,由于在实践中经常需要把Trace打印出来,所以,这里做了一个Debug Mode,需要的时候可以打开该模式,他能把整个NVMe整个通路的信息打印出来,能让用户更清楚地知道命令发送和处理的流程,定位问题。

Trace打印等级三个点,information显示的比较完整,更常用的是error等级,只在出错时打印信息,另外一个等级介于这两者之间,用户可自行选择。

除了现成的测试用例之外,我们也提供了整个框架和用户手册,大家可以根据这个开发手册去了解每条命令的使用,它的参数,以及每条命令的用法示例,手册内容覆盖整个协议的所有操作。

另外,我们还提供了一整套的参考代码,包括命令、常规的操作以及它的一些源代码,方便大家去做二次开发。

当用户有了整个框架,也有了用户手册,也有了源代码,当用户在做开发的时候,会非常容易上手,当然,过程中我们也会提供一些技术支持。

测试完之后,接下来就需要整理和分析测试结果,并以报表的形式进行呈现。

比如这个后面是性能的结构,我们会把这个测试的结果,以一个表格的形式给大家呈现出来,显示带宽和IOPS的情况,延迟和QoS的数据。

所有测试过程中生成的数据都能以表格的形式呈现,方便统计出各种读写数据,非常直观。

这是SNIA的一个结果,显示的是一个写饱和的趋势图,通过对大量测试后得到的数据进行分析提取,最终呈现出了这个结果。

这里统计了平均延迟和带宽,读写混合的测试数据也都进行了统计和展示。

这是我们的量产测试设备,我们除了研发端的测试设备,也提供一个多端口的量产测试设备,大家可以用这个测试设备去做一个稳定性、可靠性的质量测试,我们支持国产系统、Windows系统和Linux系统。

这使得我们可以完全适配客户真实的工作环境,使测试与实际应用相吻合,从而减少兼容性问题,让测试结果更可靠。

比如想通过一个小型服务器来做企业级SSD的测试,但这与实际使用场景的差距还是和大的,这种测试并不能避免兼容性的问题,而我们的平台能兼容市面上各种主流平台,包括硬件平台和软件平台。

我们的测试用例比较丰富的,不但能从协议级做协议规范性测试,还从应用级进行测试,对SSD在实践中真正要用到的能力进行测试,我们测试的覆盖面还是比较全的。

我们的测试产品简单易用,所有的测试用例都以图形化的形式呈现,配置使用简单方便,另外,可以多线程并发测试,可以快速搭建测试团队,使用户的测试水平尽量达到一个一线的水准。

我们4口化的设计,支持4台机器完全独立同时进行测试,且相互完全不干扰,测试设备能够减少对测试人员的资源占用,测试容量和测试效率也有很大提升。

这样一来,在同等测试任务的情况下,能够节省人力以及投入的时间。测试效率上能够大大地提升,缩短产品的一个开发和发布周期。

上图可见,以eBird设备为节点,能够快速搭建智能化的实验室,配合自动化管理软件,很容易实现整个实验室的自动化的运行,能够高效地分配、管理测试用例,对测试结果进行收集和整理并最后生成报告。

很容易打造成一个智能化的形式。

最后,也欢迎大家联系我们,一起来探讨SSD测试相关的技术,我们在上海和苏州都有研发中心,也欢迎通过合作伙伴燊容电子科技来沟通,燊容电子科技是存储领域非常专业的的测试设备提供商和技术支持者,在测试行业有出色的表现。

以上就是我们的介绍内容,谢谢大家!