一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种PCIE接口正确性测试方法与流程

2022-03-22 20:18:26 来源:中国专利 TAG:

一种pcie接口正确性测试方法
技术领域
1.本发明涉及一种pcie 接口正确性测试方法,属于高速互连网络技术领域。


背景技术:

2.pcie接口是连接外设与处理器的系统接口,为主机和外设提供统一的数据传输接口,其链路稳定性及数据传输正确性关系到整机系统的稳定性,由于其协议复杂度及传输高速率的影响,对pcie接口进行全面验证面临很大困难。
3.在消息层对pcie接口进行验证,只能通过收发消息、对收到的消息进行数据校验的方法进行。pcie接口采用dma方式进行访存,在其pcie能力结构的设备控制寄存器中定义了max_payload_size,表示pcie接口的最大tlp包大小,会将上层传来的大的数据包拆分为max_payload_size长度的小数据包,同时pcie接口允许dma操作起始地址在cache行内不对界。因此为了对dma读写做全面的验证,需要对各种消息长度和各种cache行内的偏移进行遍历测试,以保证pcie接口的正确性。现有的主流处理器厂商关于pcie接口正确性验证的测试技术不够全面,针对性和功能覆盖性不强。


技术实现要素:

4.本发明的目的是提供一种pcie 接口正确性测试方法,其提高了pcie接口正确性测试覆盖面和测试强度。
5.为达到上述目的,本发明采用的技术方案是:提供一种pcie 接口正确性测试方法,包括以下步骤:s1、a方在发送数据前,执行以下操作:分别采用按序填充循环右移、固定数值、跳跃填充循环右移的布数方法对发送缓冲区进行填充;填充消息描述符,将其中的消息操作类型域分别赋值为send/recv、rdma write、rdma read操作类型;填充消息描述符,将其中的消息长度域赋值为不同的字节大小,将其中的数据起始地址域按照相对cache行不同偏移大小进行赋值,cache行内的偏移从0到(cache行大小
ꢀ–ꢀ
1)字节;s2、a方开始向b方发送数据:对于send/recv操作类型,a方投递一个send/recv发送请求发送数据;对于rdma write、rdma read操作类型,a方投递一个rdma write或rdma read请求开始发送数据;当数据发送完成后,a方向b方发送一条通知消息通知发送完成;s3、b方等待接收数据:对于send/recv操作类型,b方收到a方发来的数据后,进行数据正确性校验,校验完成后,b方根据s1所述布数方法填充发送缓冲区,并向a方投递发送请求发送数据;
–ꢀ
1)字节;s2、a方开始向b方发送数据:对于send/recv操作类型,a方投递一个send/recv发送请求发送数据;对于rdma write、rdma read操作类型,a方投递一个rdma write或rdma read请求开始发送数据;当数据发送完成后,a方向b方发送一条通知消息通知发送完成;s3、b方等待接收数据:对于send/recv操作类型,b方收到a方发来的数据后,进行数据正确性校验,校验完成后,b方根据s1所述布数方法填充发送缓冲区,并向a方投递发送请求发送数据;对于rdma write、rdma read操作类型,b方接收到a方发来的通知消息后,意味着数据已经发送完毕,b方进行数据正确性校验,然后根据s1所述布数方法对发送缓冲区进行布数,并投递一个rdma write或rdma read请求开始向a方发送数据,当发送完成后,同样向a方发送一条通知;s4、a方等待接收b方发来的数据,在收到b方发送的数据后,进行数据正确性校验;s7、回到s1,该过程一直持续下去,直到遍历完成所有布数方式、操作类型、消息长度和消息偏移测试。
11.在s1中的布数阶段,采用以下3种方式进行布数:当对发送数据缓冲区进行布数时,可以选择采用按序填充、循环右移的布数方法,具体流程如下:将数字0,1,2,...,255按顺序填入发送缓冲区,每迭代一次,数据位置右移一位;当对发送数据缓冲区进行布数时,可以选择采用固定数值的布数方法,具体流程如下:在任何一遍迭代中,为每个缓冲区位置都填充一个固定的数值;当对发送数据缓冲区进行布数时,可以选择采用跳跃填充、循环右移的布数方法,具体流程如下:将数字0,1,2,...,255按一定的步长间隔填入发送缓冲区,每迭代一次,数据位置右移一位。
12.在s1中的消息长度域填充阶段,采用如下方式选择消息长度:消息长度从1字节到1k字节时,每个消息长度都进行遍历;消息长度大于1kb时,每次测试消息长度增加一个固定值,如每次增加9999字节。
13.对上述实施例的进一步解释如下:1、遍历测试各种消息长度和cache行内的偏移测试消息长度从1字节到1k字节,cache行内的偏移从0到(cache行大小
ꢀ–ꢀ
1)字节,对任何一种组合情况都进行全面的测试。
14.为了增加测试随机性,对pcie接口传输大消息进行测试。在一次测试中,采用如下方式选择消息长度:(1)消息长度从1字节到1k字节时,每个消息长度都进行遍历;(2)消息长度大于1kb时,每次测试消息长度增加一个固定值,如每次增加9999字节。
15.2、采用多种布数方法,对dma操作进行全面覆盖在发送数据前,首先要对发送缓冲区进行布数;在收到数据后,要对数据做正确性
验证。
16.依次采用了如下几种布数方法:(1)按序填充、循环右移的布数方法:将数字0,1,2,...,255按顺序填入发送缓冲区,每迭代一次,数据位置右移一位。在测试消息长度为14b,起始地址偏移为4b的情况下,前4次迭代时数据填充如图1所示。
17.(2)固定数值布数方法:在任何一遍迭代中,为每个缓冲区位置都填充一个固定的数值,如0xf,0xff等。
18.(3)跳跃填充、循环右移的布数算法:将数字0,1,2,...,255按一定的步长间隔填入发送缓冲区,每迭代一次,数据位置右移一位。在测试消息长度为14b,起始地址偏移为4b的情况下,前4次迭代时数据填充如图2所示。
19.3、采用多种操作类型,提高测试强度采用send/recv、rdma write、rdma read等各类操作,对pcie接口进行全面的验证,提高测试强度的方法。
20.(1)采用send/recv操作进行验证,如下图3所示,采用“乒乓”方式进行数据的收发。
21.a方首先根据布数算法填充发送缓冲区,然后投递发送请求发送数据;b方收到a方发来的数据后,对数据进行正确性验证;然后,b方根据布数算法填充发送缓冲区,并投递发送请求发送数据;a方在收到b方发送的数据后,也进行数据校验;该过程一直持续下去。
22.(2)采用rdma write操作进行验证,如下图4所示,rdma write操作跟send/recv操作在语义上有一个明显的区别,即数据传输过程中不需要数据接收方的参与,因此它无法知晓数据的传送在何时结束,为此,在测试过程中增加了一条通知消息。
23.首先,a方根据布数算法对发送缓冲区进行数据填充,然后投递一个rdma write请求开始数据传输;当数据传输完成后,a方向b方发送一条通知;b方接到通知后,意味着数据已经传送完毕;b方首先进行数据校验,然后根据布数算法对发送缓冲区进行布数,并投递一个rdma write请求开始发送数据;当发送完成后,同样也发送一条通知;此过程一直持续下去。
24.(3)采用rdma read操作进行验证,如下图5所示,rdma read操作跟send/recv操作在语义上的区别为,rdma read在数据传输过程中不需要数据发送方的参与,为此,在测试过程中也增加了一条通知消息。
25.首先,a方根据布数算法对发送缓冲区进行数据填充,然后向b方发送一条通知;b方收到通知后,即可通过rdma read操作进行数据传输,并对收到的数据进行校验;然后,b方根据布数算法对发送缓冲区进行布数,并给a方发送一个通知;a方收到通知后,也通过rdma read操作开始发送数据并进行数据校验;
此过程一直持续下去。
26.采用上述一种pcie 接口正确性测试方法时,其通过在处理器与外设间传输各种类型、各种长度的消息,在数据的收发过程中对收到的消息进行数据校验,以判断pcie dma操作的正确性,且每次测试中,消息的地址偏移、布数方法都不同,以提高pcie接口正确性测试覆盖面和测试强度。
27.为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:pcie(pci express):采用高速串行计算机扩展总线标准,是连接外设与处理器的系统接口,允许设备和主板之间的高带宽通信。
28.dma(direct memory access):直接存储器访问,实现高速外设和主存储器之间的成批数据交换,减少cpu干预的输入/输出操作方式。
29.cache行(cache line):cache是位于cpu和主存储器之间的高速缓冲存储器,而cache由很多cache行组成,cache行是cache和ram交换数据的最小单位。
30.dc(direct current)平衡性:通信过程中的信号直流平衡。
31.remote direct memory access(rdma):一种不需要远程cpu参与而直接对远程系统的内存进行访问的方法。
32.rdma write:rdma技术中的一种操作类型,发送方可以直接将数据写入远程方系统的主存中。
33.rdma read:rdma技术中的一种操作类型,发送方可以直接从远程方主存从中读取数据。
34.上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献