CN113868039B - 一种测试方法、装置及相关设备 - Google Patents

一种测试方法、装置及相关设备 Download PDF

Info

Publication number
CN113868039B
CN113868039B CN202111005362.6A CN202111005362A CN113868039B CN 113868039 B CN113868039 B CN 113868039B CN 202111005362 A CN202111005362 A CN 202111005362A CN 113868039 B CN113868039 B CN 113868039B
Authority
CN
China
Prior art keywords
dma
data
memory
host
tested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111005362.6A
Other languages
English (en)
Other versions
CN113868039A (zh
Inventor
牟奇
张灿
王洪良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202111005362.6A priority Critical patent/CN113868039B/zh
Publication of CN113868039A publication Critical patent/CN113868039A/zh
Application granted granted Critical
Publication of CN113868039B publication Critical patent/CN113868039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提供一种测试方法、装置及相关设备,将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移,DMA传输信息包括源地址和目的地址,则待测PCIe设备根据DMA传输信息从PCIe设备的内存中读出DMA数据到主机内存,或从主机内存复制DMA数据写入PCIe设备的内存中,根据目的地址通过BAR访问内存,以得到读出数据,根据DMA数据和读出数据,验证DMA数据搬移的正确性,由于目的地址的数据是通过DMA写入的,通过BAR读出可以对DMA写入的数据进行验证,从而验证DMA数据搬移的正确性,实现对DMA性能的测试。

Description

一种测试方法、装置及相关设备
技术领域
本申请涉及计算机领域,特别涉及一种测试方法、装置及相关设备。
背景技术
高速串行计算机扩展总线(Peripheral Component Interconnect Express,PCIe)作为高速串行计算机扩展总线标准,因其高带宽性能在数据中心领域得到广泛应用。现在AI服务器中通用的加速器GPU、现场可编辑门阵列(Field ProgRAMmable Gate Array,FPGA)加速卡、SmartNIC等都采用了PCIe接口。
PCIe的高带宽取决于其直接存储器访问(Direct Memory Access,DMA)机制,DMA是指外部设备不通过中央处理器(Central Processing Unit,CPU)而直接与系统内存交换数据的接口技术。参考图1所示,为目前一种MDA总线架构示意图,在运行DMA时,CPU把系统总线(System BUS)让出来,即CPU连到这些总线上的线处于第三态(高阻状态),而由DMA控制器(DMA Control)接管,使设备(Device)通过DMA Control直接访问存储器(Memory),DMAControl控制传送的字节数,判断DMA是否结束,以及发出DMA结束信号。
因此,在PCIe接口协议中,DMA的性能是重要的技术指标。在研发过程中通常需要有一套完成的测试治具对设备的PCIe DMA性能进行测试。
发明内容
有鉴于此,本申请的目的在于提供一种测试方法、装置及相关设备,可以在读取源卷发生介质错误时保证快照的可用性。其具体方案如下:
第一方面,本申请提供了一种测试方法,应用于测试主机,包括:
将DMA传输信息下发到待测PCIe设备,以便所述待测PCIe设备根据所述DMA传输信息进行DMA数据的搬移;所述DMA传输信息包括源地址和目的地址;
根据所述目的地址通过BAR访问内存,以得到读出数据;
根据所述DMA数据和所述读出数据,验证所述DMA数据搬移的正确性。
可选的,所述DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备端,所述方法还包括:
为DMA传输描述符申请主机描述符内存;
通过BAR访问所述主机描述符内存,以获取到DMA传输描述符。
可选的,所述方法还包括:
DMA传输信息在所述待测PCIe设备配置完成后配置DMA启动寄存器,以得到所述DMA数据的搬移时长;
利用所述DMA数据的数据量和所述搬移时长,确定DMA带宽。
可选的,所述PCIe设备具有DMA内存,所述目的地址对应所述DMA内存的地址,在所述将DMA传输信息下发到待测PCIe设备之前,所述方法还包括:
为DMA数据申请主机数据内存;所述源地址对应所述主机数据内存的地址;
将所述DMA数据通过BAR写入所述主机数据内存。
可选的,所述PCIe设备具有DMA内存,所述源地址对应所述DMA内存的地址,在所述将DMA传输信息下发到待测PCIe设备之前,所述方法还包括:
为DMA数据申请主机数据内存;所述目的地址对应所述主机数据内存的地址;
将所述DMA通过BAR写入所述DMA内存。
第二方面,本申请实施例还提供了一种测试装置,应用于测试主机,包括:
信息下发单元,用于将DMA传输信息下发到待测PCIe设备,以便所述待测PCIe设备根据所述DMA传输信息进行DMA数据的搬移;所述DMA传输信息包括源地址和目的地址;
数据读出单元,用于根据所述目的地址通过BAR访问内存,以得到读出数据;
验证单元,用于根据所述DMA数据和所述读出数据,验证所述DMA数据搬移的正确性。
可选的,所述DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备端,所述装置还包括:
内存申请单元,用于为DMA传输描述符申请主机描述符内存;
内存访问单元,用于通过BAR访问所述主机描述符内存,以获取到DMA传输描述符。
可选的,所述装置还包括:
搬移时长获取单元,用于DMA传输信息在所述待测PCIe设备配置完成后配置DMA启动寄存器,以得到所述DMA数据的搬移时长;
带宽检测单元,用于利用所述DMA数据的数据量和所述搬移时长,确定DMA带宽。
可选的,所述PCIe设备具有DMA内存,所述目的地址对应所述DMA内存的地址,所述内存申请单元还用于:在所述将DMA传输信息下发到待测PCIe设备之前,为DMA数据申请主机数据内存;
所述装置还包括:
数据写入单元,用于将所述DMA数据通过BAR写入所述主机数据内存。
可选的,所述PCIe设备具有DMA内存,所述源地址对应所述DMA内存的地址,所述内存申请单元还用于:在所述将DMA传输信息下发到待测PCIe设备之前,为DMA数据申请主机数据内存;所述目的地址对应所述主机数据内存的地址;
所述装置还包括:
数据写入单元,用于将所述DMA通过BAR写入所述DMA内存。
第三方面,本申请公开了一种电子设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的测试方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的测试方法。
本申请实施例提供了一种测试方法、装置及相关设备,将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移,DMA传输信息包括源地址和目的地址,则待测PCIe设备根据DMA传输信息从PCIe设备的内存中读出DMA数据到主机内存,或从主机内存复制DMA数据写入PCIe设备的内存中,根据目的地址通过BAR访问内存,以得到读出数据,根据DMA数据和读出数据,验证DMA数据搬移的正确性,由于目的地址的数据是通过DMA写入的,通过BAR读出可以对DMA写入的数据进行验证,从而验证DMA数据搬移的正确性,实现对DMA性能的测试。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为目前一种MDA总线架构示意图;
图2为测试PCIe总线带宽装置结构图;
图3示出了本申请实施例提供的一种测试方法的流程示意图;
图4示出了本申请实施例提供的一种测试装置的结构示意图;
图5为本申请公开的一种电子设备结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例的限制。
其次,本申请结合示意图进行详细描述,在详述本申请实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本申请保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
正如背景技术中的描述,在PCIe接口协议中,DMA的性能是重要的技术指标。在研发过程中通常需要有一套完成的测试治具对设备的PCIe DMA性能进行测试。
参考图2所示,为测试PCIe总线带宽装置结构图,装置包括:PCIe设备和主机设备,主机设备包括内存;PCIe设备包括报文构造模块、DMA写引擎模块、DMA读引擎模块、报文解析模块和带宽计算模块;报文构造模块、所述DMA写引擎模块、所述内存、所述DMA读引擎模块、所述报文解析模块和所述带宽计算模块依次连接。主机设备中的内存为从所述DMA写引擎模块写入的报文数据预留有相应的DMA写地址,并为所述DMA读引擎模块预留有相应的从所述主机内存读取报文数据的DMA读地址。
但是,在此方案中有几个明显的设计缺陷:(1)主机端的内存DMA读写地址为固定地址,不具有适配性及实用性;(2)DMA数据的准确性都是通过DMA的读、写引擎模块进行验证,验证结果不具有科学性。
基于以上技术问题,本申请实施例提供了一种测试方法、装置及相关设备,将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移,DMA传输信息包括源地址和目的地址,则待测PCIe设备根据DMA传输信息从PCIe设备的内存中读出DMA数据到主机内存,或从主机内存复制DMA数据写入PCIe设备的内存中,根据目的地址通过BAR访问内存,以得到读出数据,根据DMA数据和读出数据,验证DMA数据搬移的正确性,由于目的地址的数据是通过DMA写入的,通过BAR读出可以对DMA写入的数据进行验证,从而验证DMA数据搬移的正确性,实现对DMA性能的测试。
为了便于理解,下面结合附图对本申请实施例提供的一种测试方法、装置及相关设备进行详细的说明。
参考图3所示,为本申请实施例提供的一种测试方法的流程图,该方法应用于测试主机(HOST),可以包括以下步骤。
S101,将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移。
本申请实施例中,测试主机用于对待测PCIe设备进行测试,测试主机和待测PCIe设备通过PCIe接口连接,测试主机负责初始化DMA数据、配置DMA、发起DMA,待测PCIe设备负责执行DMA操作,完成数据搬移。测试主机具有主机内存,待测PCIe具有DMA内存,DMA内存包括DDR或RAM等。待测PCIe设备可以为具有PCIe接口的FPGA加速卡。
DMA传输信息可以包括源地址和目的地址,从而指示数据传输的地址和方向,界定了待传输的数据为源地址对应的数据。源地址可以对应DMA内存的地址,目的地址可以对应主机内存的地址,此时DMA传输过程为从DMA内存向主机内存搬移数据的过程,即对DMA内存进行数据读取的过程;源地址可以对应主机内存的地址,目的地址可以对应DMA内存的地址,此时DMA传输过程为从主机内存向DMA内存搬移数据的过程,即对DMA内存进行数据写入的过程。其中被搬移的与源地址对应的数据可以称为DMA数据。
测试主机可以将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移。其中,DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备,待测PCIe设备对描述符进行解析并配置DMA搬移信息,启动DMA,根据描述符中的信息完成数据搬移,即执行读操作或写操作。DMA传输信息可以通过PCIe基地址寄存器(BaseADDRess Register,BAR)接口下发至测PCIe设备。
在DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备时,测试主机还可以为DMA传输描述符申请主机内存,为DMA传输描述符申请的主机内存可以记为主机描述符内存,用于存储DMA传输描述符,在需要使用DMA传输描述符时,可以通过BAR访问主机描述符内存,以获取到DMA传输描述符,之后可以将DMA传输描述符下发至待测PCIe设备。
在将DMA传输信息下发到待测PCIe设备,测试主机还可以进行DMA数据的填充。具体实施时,可以在用户层进行DMA数据的填充,准备好DMA要传输的数据,将DMA数据复制到内核层。
具体的,在目的地址对应DMA内存的地址,源地址对应主机地址时,在将DMA传输信息下发到待测PCIe设备之前,还可以为DMA数据申请主机内存,为DMA数据申请的主机内存可以记为主机数据内存,而后将DMA数据通过BAR写入主机数据内存中与源地址对应的位置,以实现DMA数据的填充。从而使待测PCIe设备能够利用源地址从主机数据内存读取DMA数据到DMA内存。
具体的,在源地址对应DMA内存的地址,目的地址对应主机地址时,在将DMA传输信息下发到待测PCIe设备之前,还可以为DMA数据申请主机内存,为DMA数据申请的主机内存可以记为主机数据内存,而后将DMA数据通过BAR写入DMA内存中与源地址对应的位置,已实现DMA数据的填充。从而使待测PCIe设备能够利用源地址从DMA内存中读取DMA数据到主机数据内存。
与传统方式相比,本方法可在主机端随机申请主机内存,不固定DMA数据的内存读写地址,具备实用性。
S102,根据目的地址通过BAR访问内存,以得到读出数据。
在待测PCIe设备完成DMA数据的搬移后,可以根据目的地址通过BAR访问内存,以得到读出数据,读出数据是待测PCIe设备从源地址搬移到目的地址的数据,理论上来说,读出数据和源地址中的DMA数据是一致的。
具体的,在目的地址对应DMA内存的地址,源地址对应主机地址时,在待测PCIe设备完成DMA数据的搬移后,可以通过BAR根据目的地址对DMA内存进行访问,以得到读出数据。
具体的,在源地址对应DMA内存的地址,目的地址对应主机地址时,在待测PCIe设备完成DMA数据的搬移后,可以通过BAR根据目的地址对主机数据内存进行访问,以得到读出数据。
S103,根据DMA数据和读出数据,验证DMA数据搬移的正确性。
本申请实施例中,可以根据DMA数据和读出数据,验证DMA数据搬移的正确性。其中,若DMA数据和读出数据一致,则确定DMA数据搬移正确。本申请实施例中,通过BAR访问内存验证DMA搬移数据正确性,保证了DMA的传输正确性。
具体的,源地址可以对应DMA内存的地址,目的地址可以对应主机内存的地址,此时DMA传输过程为从DMA内存向主机内存搬移数据的过程,即对DMA内存进行数据读取的过程。即测试主机可以将DMA数据写入DMA内存,待测PCIe设备将DMA数据读取到主机数据内存,测试主机通过BAR访问主机数据内存,得到读出数据,若DMA数据和读出数据一致,则确定DMA数据读取正确。
源地址可以对应主机内存的地址,目的地址可以对应DMA内存的地址,此时DMA传输过程为从主机内存向DMA内存搬移数据的过程,即对DMA内存进行数据写入的过程。即测试主机可以将DMA数据写入主机数据内存,待测PCIe设备读出主机数据内存中的DMA数据并写入到DMA内存,测试主机通过BAR访问DMA内存,得到读出数据,若DMA数据和读出数据一致,则确定DMA数据写入正确。
本申请实施例中,还可以计算DMA带宽,每次发起DMA之前,已知DMA搬移数据量,因此只需要获取搬移数据花费的时间就可计算出DMA带宽。具体的,DMA传输信息在待测PCIe设备配置完成后可以配置DMA启动寄存器,以得到DMA数据的搬移时长,利用DMA数据的数据量和搬移时长,确定DMA带宽。
在传统测试方法中,都是以下发描述符作为DMA的开始节点,这是不准确的,因为从下发描述符开始包含了描述符copy,DMA配置等多个过程,浪费了一些时间造成时间精度不准。为保障带宽精确性,发起DMA搬移前首先将主机端用户态数据(DMA数据)复制到内核空间,然后单独设置DMA启动寄存器,在描述符复制完成之后可以认为DMA传输信息在待测PCIe设备配置完成,再配置DMA启动寄存器,进一步保障了带宽的精确性。
本申请实施例提供了一种测试方法,将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移,DMA传输信息包括源地址和目的地址,则待测PCIe设备根据DMA传输信息从PCIe设备的内存中读出DMA数据到主机内存,或从主机内存复制DMA数据写入PCIe设备的内存中,根据目的地址通过BAR访问内存,以得到读出数据,根据DMA数据和读出数据,验证DMA数据搬移的正确性,由于目的地址的数据是通过DMA写入的,通过BAR读出可以对DMA写入的数据进行验证,从而验证DMA数据搬移的正确性,实现对DMA性能的测试。
基于以上测试方法,本申请实施例还提供了一种测试装置,参考图4所示,为本申请实施例提供的一种测试装置的结构框图,该测试装置应用于测试主机,可以包括:
信息下发单元110,用于将DMA传输信息下发到待测PCIe设备,以便所述待测PCIe设备根据所述DMA传输信息进行DMA数据的搬移;所述DMA传输信息包括源地址和目的地址;
数据读出单元120,用于根据所述目的地址通过BAR访问内存,以得到读出数据;
验证单元130,用于根据所述DMA数据和所述读出数据,验证所述DMA数据搬移的正确性。
可选的,所述DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备端,所述装置还包括:
内存申请单元,用于为DMA传输描述符申请主机描述符内存;
内存访问单元,用于通过BAR访问所述主机描述符内存,以获取到DMA传输描述符。
可选的,所述装置还包括:
搬移时长获取单元,用于DMA传输信息在所述待测PCIe设备配置完成后配置DMA启动寄存器,以得到所述DMA数据的搬移时长;
带宽检测单元,用于利用所述DMA数据的数据量和所述搬移时长,确定DMA带宽。
可选的,所述PCIe设备具有DMA内存,所述目的地址对应所述DMA内存的地址,所述内存申请单元还用于:在所述将DMA传输信息下发到待测PCIe设备之前,为DMA数据申请主机数据内存;所述源地址对应所述主机数据内存的地址;
所述装置还包括:
数据写入单元,用于将所述DMA数据通过BAR写入所述主机数据内存。
可选的,所述PCIe设备具有DMA内存,所述源地址对应所述DMA内存的地址,所述内存申请单元还用于:在所述将DMA传输信息下发到待测PCIe设备之前,为DMA数据申请主机数据内存;所述目的地址对应所述主机数据内存的地址;
所述装置还包括:
数据写入单元,用于将所述DMA通过BAR写入所述DMA内存。
本申请实施例提供了一种测试装置,将DMA传输信息下发到待测PCIe设备,以便待测PCIe设备根据DMA传输信息进行DMA数据的搬移,DMA传输信息包括源地址和目的地址,则待测PCIe设备根据DMA传输信息从PCIe设备的内存中读出DMA数据到主机内存,或从主机内存复制DMA数据写入PCIe设备的内存中,根据目的地址通过BAR访问内存,以得到读出数据,根据DMA数据和读出数据,验证DMA数据搬移的正确性,由于目的地址的数据是通过DMA写入的,通过BAR读出可以对DMA写入的数据进行验证,从而验证DMA数据搬移的正确性,实现对DMA性能的测试。
参见图5所示,为本申请实施例提供的一种电子设备20的结构示意图,该电子设备20可以实现前述实施例中公开的测试方法步骤。
通常,本实施例中的电子设备20包括:处理器21和存储器22。
其中,处理器21可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器21可以采用DSP(digital signal processing,数字信号处理)、FPGA(field-programmable gate array,现场可编程们阵列)、PLA(programmable logic array,可编程逻辑阵列)中的至少一种硬件来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有GPU(graphics processing unit,图像处理器),GPU用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器21可以包括AI(artificialintelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器22可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器22还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器22至少用于存储以下计算机程序221,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例中公开的测试方法步骤。
在一些实施例中,电子设备20还可包括有显示屏23、输入输出接口24、通信接口25、传感器26、电源27以及通信总线28。
本技术领域人员可以理解,图3中示出的结构并不构成对电子设备20的限定,可以包括比图示更多或更少的组件。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的测试方法。
其中,关于上述测试方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本申请的优选实施方式,虽然本申请已以较佳实施例披露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

Claims (10)

1.一种测试方法,其特征在于,应用于测试主机,所述测试主机用于对待测PCIe设备进行测试,所述测试主机和所述待测PCIe设备通过PCIe接口连接,所述测试主机负责初始化DMA数据、配置DMA、发起DMA,所述待测PCIe设备负责执行DMA操作,完成数据搬移,所述测试主机具有主机内存,所述待测PCIe设备具有DMA内存,所述待测PCIe设备为具有PCIe接口的FPGA加速卡;
所述测试方法包括:
将DMA传输信息下发到待测PCIe设备,以便所述待测PCIe设备根据所述DMA传输信息进行DMA数据的搬移;其中,所述DMA传输信息包括源地址和目的地址,从而指示数据传输的地址和方向,界定了待传输的数据为源地址对应的数据,第一种为:源地址对应DMA内存的地址,目的地址对应主机内存的地址,此时DMA传输过程为从DMA内存向主机内存搬移数据的过程,表示对DMA内存进行数据读取的过程;第二种为:源地址对应主机内存的地址,目的地址对应DMA内存的地址,此时DMA传输过程为从主机内存向DMA内存搬移数据的过程,表示对DMA内存进行数据写入的过程,其中被搬移的与源地址对应的数据称为DMA数据;
在待测PCIe设备完成DMA数据的搬移后,根据所述目的地址通过BAR访问内存,以得到读出数据;
根据所述DMA数据和所述读出数据,验证所述DMA数据搬移的正确性。
2.根据权利要求1所述的方法,其特征在于,所述DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备端,所述方法还包括:
为DMA传输描述符申请主机描述符内存;
通过BAR访问所述主机描述符内存,以获取到DMA传输描述符。
3.根据权利要求1所述的方法,其特征在于,还包括:
DMA传输信息在所述待测PCIe设备配置完成后配置DMA启动寄存器,以得到所述DMA数据的搬移时长;
利用所述DMA数据的数据量和所述搬移时长,确定DMA带宽。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述PCIe设备具有DMA内存,所述目的地址对应所述DMA内存的地址,在所述将DMA传输信息下发到待测PCIe设备之前,所述方法还包括:
为DMA数据申请主机数据内存;所述源地址对应所述主机数据内存的地址;
将所述DMA数据通过BAR写入所述主机数据内存。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述PCIe设备具有DMA内存,所述源地址对应所述DMA内存的地址,在所述将DMA传输信息下发到待测PCIe设备之前,所述方法还包括:
为DMA数据申请主机数据内存;所述目的地址对应所述主机数据内存的地址;
将所述DMA通过BAR写入所述DMA内存。
6.一种测试装置,其特征在于,应用于测试主机,所述测试主机用于对待测PCIe设备进行测试,所述测试主机和所述待测PCIe设备通过PCIe接口连接,所述测试主机负责初始化DMA数据、配置DMA、发起DMA,所述待测PCIe设备负责执行DMA操作,完成数据搬移,所述测试主机具有主机内存,所述待测PCIe设备具有DMA内存,所述待测PCIe设备为具有PCIe接口的FPGA加速卡;
所述测试装置包括:
信息下发单元,用于将DMA传输信息下发到待测PCIe设备,以便所述待测PCIe设备根据所述DMA传输信息进行DMA数据的搬移;其中,所述DMA传输信息包括源地址和目的地址,从而指示数据传输的地址和方向,界定了待传输的数据为源地址对应的数据,第一种为:源地址对应DMA内存的地址,目的地址对应主机内存的地址,此时DMA传输过程为从DMA内存向主机内存搬移数据的过程,表示对DMA内存进行数据读取的过程;第二种为:源地址对应主机内存的地址,目的地址对应DMA内存的地址,此时DMA传输过程为从主机内存向DMA内存搬移数据的过程,表示对DMA内存进行数据写入的过程,其中被搬移的与源地址对应的数据称为DMA数据;
数据读出单元,用于在待测PCIe设备完成DMA数据的搬移后,根据所述目的地址通过BAR访问内存,以得到读出数据;
验证单元,用于根据所述DMA数据和所述读出数据,验证所述DMA数据搬移的正确性。
7.根据权利要求6所述的装置,其特征在于,所述DMA传输信息以DMA传输描述符的形式下发到待测PCIe设备端,所述装置还包括:
内存申请单元,用于为DMA传输描述符申请主机描述符内存;
内存访问单元,用于通过BAR访问所述主机描述符内存,以获取到DMA传输描述符。
8.根据权利要求6所述的装置,其特征在于,还包括:
搬移时长获取单元,用于DMA传输信息在所述待测PCIe设备配置完成后配置DMA启动寄存器,以得到所述DMA数据的搬移时长;
带宽检测单元,用于利用所述DMA数据的数据量和所述搬移时长,确定DMA带宽。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至5任一项所述的测试方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的测试方法。
CN202111005362.6A 2021-08-30 2021-08-30 一种测试方法、装置及相关设备 Active CN113868039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111005362.6A CN113868039B (zh) 2021-08-30 2021-08-30 一种测试方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111005362.6A CN113868039B (zh) 2021-08-30 2021-08-30 一种测试方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN113868039A CN113868039A (zh) 2021-12-31
CN113868039B true CN113868039B (zh) 2024-02-09

Family

ID=78988895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111005362.6A Active CN113868039B (zh) 2021-08-30 2021-08-30 一种测试方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN113868039B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721986B (zh) * 2022-06-09 2022-09-06 井芯微电子技术(天津)有限公司 基于通用验证方法的异构直接存储器访问验证方法及系统
CN114880181B (zh) * 2022-07-05 2022-09-06 摩尔线程智能科技(北京)有限责任公司 内存测试方法及装置
CN117880142A (zh) * 2023-10-16 2024-04-12 深圳华云信息系统科技股份有限公司 数据传输性能的测试方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452428A (zh) * 2008-11-19 2009-06-10 北京红旗胜利科技发展有限责任公司 一种dma的数据传输方法和系统
CN110955435A (zh) * 2019-11-07 2020-04-03 浪潮(北京)电子信息产业有限公司 FPGA加速卡板载flash的烧写方法及相关组件
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
CN112181890A (zh) * 2020-09-30 2021-01-05 北京锐马视讯科技有限公司 Pcie_dma数据传输装置和方法及系统
CN112765059A (zh) * 2021-01-20 2021-05-07 苏州浪潮智能科技有限公司 一种基于fpga的dma设备及dma数据搬移方法
CN112947857A (zh) * 2021-02-25 2021-06-11 山东英信计算机技术有限公司 一种数据搬移方法、装置、设备及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102367359B1 (ko) * 2017-04-17 2022-02-25 에스케이하이닉스 주식회사 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법
US11386028B2 (en) * 2019-03-29 2022-07-12 Teledyne Lecroy, Inc. Method to test direct memory access (DMA) address capabilities at high address values

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452428A (zh) * 2008-11-19 2009-06-10 北京红旗胜利科技发展有限责任公司 一种dma的数据传输方法和系统
CN110955435A (zh) * 2019-11-07 2020-04-03 浪潮(北京)电子信息产业有限公司 FPGA加速卡板载flash的烧写方法及相关组件
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
CN112181890A (zh) * 2020-09-30 2021-01-05 北京锐马视讯科技有限公司 Pcie_dma数据传输装置和方法及系统
CN112765059A (zh) * 2021-01-20 2021-05-07 苏州浪潮智能科技有限公司 一种基于fpga的dma设备及dma数据搬移方法
CN112947857A (zh) * 2021-02-25 2021-06-11 山东英信计算机技术有限公司 一种数据搬移方法、装置、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于PCIe的多路传输系统的DMA控制器设计;李胜蓝;姜宏旭;符炜剑;陈姣;;计算机应用(03);全文 *

Also Published As

Publication number Publication date
CN113868039A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
CN113868039B (zh) 一种测试方法、装置及相关设备
US20190384700A1 (en) Methods and apparatuses for requesting ready status information from a memory
KR101932920B1 (ko) 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
EP2973572B1 (en) System and method of reading data from memory concurrently with sending write data to the memory
KR101988260B1 (ko) 임베디드 멀티미디어 카드, 및 이의 동작 방법
US11513689B2 (en) Dedicated interface for coupling flash memory and dynamic random access memory
KR102243791B1 (ko) 메모리 기반 통신 프로토콜을 사용하여 시뮬레이션된 장치를 테스트하기 위한 시스템 및 방법
US9607120B2 (en) Implementing system irritator accelerator FPGA unit (AFU) residing behind a coherent attached processors interface (CAPI) unit
JP2017523489A (ja) プログラム可能な遅延を用いてダイナミックランダムアクセスメモリ(dram)コマンドを生成するメモリ物理レイヤインタフェースロジック
CN107305534A (zh) 对使用NVMe接口的装置同时进行的内核模式和用户模式访问
CN107257953A (zh) 测量并向主机报告固态驱动器的输入和输出操作的等待时间
CN112199040B (zh) 存储访问方法及智能处理装置
US20190189238A1 (en) Method, Apparatus and Electronic Device For Read/Write Speed Testing
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
US6421813B1 (en) Method and apparatus for providing visibility and control over components within a programmable logic circuit for emulation purposes
JP2006252267A (ja) システム検証用回路
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
CN109582523B (zh) 有效分析SSD前端NVMe模块性能的方法及系统
US20120191444A1 (en) Simulation device, simulation method, and computer program therefor
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
TW200426594A (en) Method for dynamically arranging an operating speed of a microprocessor
CN113868019B (zh) 一种数据处理方法、装置及相关设备
JP5656589B2 (ja) データ転送装置、データ転送方法及びデータ転送プログラム
US20230376403A1 (en) Debug device, debug system, and debug method for testing storage device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant