CN101354667B - 一种外围组件互连总线级压力测试方法 - Google Patents

一种外围组件互连总线级压力测试方法 Download PDF

Info

Publication number
CN101354667B
CN101354667B CN2007101370913A CN200710137091A CN101354667B CN 101354667 B CN101354667 B CN 101354667B CN 2007101370913 A CN2007101370913 A CN 2007101370913A CN 200710137091 A CN200710137091 A CN 200710137091A CN 101354667 B CN101354667 B CN 101354667B
Authority
CN
China
Prior art keywords
peripheral component
interconnect bus
component interconnect
data
test
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.)
Expired - Fee Related
Application number
CN2007101370913A
Other languages
English (en)
Other versions
CN101354667A (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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CN2007101370913A priority Critical patent/CN101354667B/zh
Publication of CN101354667A publication Critical patent/CN101354667A/zh
Application granted granted Critical
Publication of CN101354667B publication Critical patent/CN101354667B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明提供一种外围组件互连总线级压力测试方法,应用于外围组件互连(PCI)总线(BUS)的整体压力测试中。此测试方法包含以下步骤:遍历系统中所有PCI BUS;获取系统整体PCI BUS及PCI设备的树状结构,并从中选择一个PCI BUS分支作为测试对象;针对此测试对象进行外围组件互连总线的外围组件互连功能测试、输入输出功能测试及内存映射功能测试;以及从系统中剩余的待测试的PCI BUS分支中选择一个PCI BUS分支作为测试对象进行上述的外围组件互连总线的相关测试,直至所有的待测试的PCI BUS分支测试完成。

Description

一种外围组件互连总线级压力测试方法
技术领域
本发明关于一种总线压力测试方法,尤其关于一种外围组件互连总线(PCI BUS)级压力测试方法。
背景技术
外围组件互连总线(PCI BUS)是系统的基本总线之一,外围组件互连总线的性能,直接影响到系统的整体性能,因此,对外围组件互连总线的测试,是系统整体性能测试的一个重点。但是,在实际的测试中,外围组件互连总线的压力测试本身受到某些因素的制约,如冗余遍历、测试制具的限制等等,如何全面、有效地测试外围组件互连总线成为系统性能测试的一个难点。
传统的外围组件互连总线压力测试方案的缺陷在于:
(1)传统的压力测试方案大多是针对主板上的单一设备,如:通用串行总线(USB)、网络适配卡(NIC)等,缺少基于整体外围组件互连总线的压力测试方案。
(2)在传统的测试方法中,对于外围组件互连总线(PCI BUS)的测试,使用的都是软件测试硬件的测试方法,比如使用外围组件互连测试卡(PCITest Card),通过上层的软件操作来实现对外围组件互连测试卡的操作,根据回馈的信息来实现对外围组件互连总线的检测,此种方法本质上是通过软件层面来测试硬件层面,即传统测试方法需要有特殊测试制具的支持,无法适用于任何机型,测试局限性很大。
(3)传统测试方法无法涵盖到对每条外围组件互连总线的测试,测试涵盖率不够。
(4)传统测试方法在测试时间上过长,例如对传输能力的测试,甚至需要长达10分钟左右的测试时间。
(5)不同操作系统下的测试方法不统一,程序的兼容性差。
(6)对外围组件互连作直接内存存取(Direct Memory Access,DMA)数据传输测试需要在操作系统之上开辟出较大的连续物理内存,目前由于受到操作系统的限制无法开辟出如此大的连续物理内存,使得目前的DMA传输测试的覆盖范围及测试压力远远达不到硬件上的测试要求。
(7)缺少针对可延伸固件接口(Extensible Firmware Interface,简称EFI)下外围组件互连设备的压力测试方案。
发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种外围组件互连总线(PCI BUS)级压力测试方法,用于外围组件互连总线的整体压力测试。
本发明的一种外围组件互连总线级压力测试方法,包含以下步骤:遍历系统中所有外围组件互连总线;获取系统整体外围组件互连总线及外围组件互连设备的树状结构,并从中选择一个外围组件互连总线分支作为测试对象;针对此测试对象进行外围组件互连总线的外围组件互连功能测试、输入输出功能测试及内存映射功能测试;以及判断系统中是否还有待测试的外围组件互连总线分支,若有,则继续选择一个外围组件互连总线分支作为测试对象进行所述外围组件互连总线的外围组件互连功能测试、输入输出功能测试及内存映射功能测试直至所有的待测试的外围组件互连总线分支测试完成,否则结束测试。
本发明的外围组件互连总线级压力测试方法中,获取系统整体外围组件互连总线及外围组件互连设备的树状结构,包含以下步骤:
(a)遍历外围组件互连总线0上的所有外围组件互连设备及外围组件互连桥,并记录;(b)选择一个外围组件互连桥,取得此外围组件互连桥的外围组件互连空间,并分析外围组件互连空间以得到此外围组件互连桥所连接的下一级外围组件互连总线及此外围组件互连桥所达到的最大总线深度;(c)判断下一级外围组件互连总线是否达到此外围组件互连桥的最大总线深度,若未达到,则定位到下一级总线,并遍历此总线,得到此总线上的所有外围组件互连设备及外围组件互连桥并记录,然后执行步骤(b);(d)若达到,则判断当前的外围组件互连总线上是否还存在其它外围组件互连桥,若存在,则执行步骤(b);以及(e)若不存在,则判断当前的外围组件互连总线是否为外围组件互连总线0,若是,则储存遍历结果,得到系统整体外围组件互连总线及外围组件互连设备的树状结构,否则返回上一级外围组件互连总线,并执行步骤(d)。
本发明的外围组件互连总线级压力测试方法中,选择一个外围组件互连总线分支作为测试对象进行外围组件互连总线的外围组件互连功能测试,包含以下步骤:
遍历外围组件互连总线分支下挂接的所有设备;并验证外围组件互连总线分支下挂接的第n个设备是否可以正常访问,若无法正常访问,报错并退出测试;若可以访问,则检测外围组件互连总线分支下挂接的第n个设备的标准头文件(standard header)配置空间是否可以正常访问,若无法正常访问,报错并退出测试;若可以访问,则分析所获取的标准头文件配置空间内容,验证外围组件互连总线分支下挂接的第n个设备的每项数据信息是否可以成功获取,若无法获取,则报错并退出测试;若可以获取,则检测外围组件互连总线分支下挂接的第n个设备的设备相关部件配置空间是否可以正常访问,若无法访问,则报错并退出测试;若可以访问,则判断外围组件互连总线分支下是否挂接有第n+1个设备,若不存在第n+1个设备,则结束测试;以及若存在第n+1个设备,则返回外围组件互连总线分支下挂接的第n+1个设备继续进行测试直至外围组件互连总线分支下挂接的所有设备均被测试完毕。
本发明的外围组件互连总线级压力测试方法中,选择一个外围组件互连总线分支作为测试对象进行外围组件互连总线的输入输出功能测试,包含以下步骤:
检测测试对象是否支持输入输出映射功能,如果支持,则获取测试对象映射的各个输入输出空间地址;读取当前测试对象映射的第n个输入输出空间的数据并保存,并且向第n个输入输出空间传输数据,然后读取第n个输入输出空间中的数据;验证传输的数据与读出的数据是否一致,若不一致,报错并退出测试,若一致,则将传输的数据按照位(bit)取反后传输至第n个输入输出空间,然后读取第n个输入输出空间中的数据,并验证传输的数据与读出的数据是否一致,若不一致,则报错并退出测试,若一致,则判断所需传输的数据是否全部传输完毕,若还有需要传输的数据,则继续向测试对象映射的第n个输入输出空间进行传输,若数据传输完毕,则恢复当前测试对象映射的第n个输入输出空间的数据;以及判断测试对象是否还存在第n+1个输入输出空间,如果存在,则返回执行读取当前测试对象映射的第n+1个输入输出空间的数据并保存的步骤,否则结束测试。其中所述的验证传输的数据与读出的数据是否一致是按照数据的位(bit)进行比较。
本发明的外围组件互连总线级压力测试方法中,选择一外围组件互连总线分支作为测试对象进行外围组件互连总线的内存映射功能测试,包含以下步骤:
获取支持内存映射的测试对象所映射的物理内存空间首地址与映射长度,并保存测试对象内存映射区域的数据;分配与映射物理内存相当的系统物理内存并进行测试数据的填充,而后对测试对象映射物理内存进行初始化,且以从(slave)方式将分配的系统物理内存的数据传输至测试对象映射物理内存;读取测试对象映射物理内存的数据,与分配的系统物理内存的数据进行比较,若数据不相同,则报错并退出测试,若数据相同,则对测试对象映射物理内存进行初始化并将测试对象映射物理内存用测试数据进行填充;以及初始化分配的系统物理内存,以主(master)方式将测试对象的映射物理内存的数据传输至分配的系统物理内存,并读取分配的系统物理内存的数据,且与测试对象的映射物理内存的数据进行比较,若数据相同,则结束测试,否则报错并退出测试。
此外,本发明的外围组件互连总线级压力测试方法可适应于不同的操作系统进行测试,其中操作系统包含:DOS操作系统、Linux操作系统、Windows操作系统以及EFI操作系统。
综上所述,本发明的优点在于:
本发明的外围组件互连总线级压力测试方法针对系统中所有的外围组件互连总线提出了统一的压力测试方案,弥补了现有技术对外围组件互连总线级压力测试的空缺,并可应用于EFI环境下的外围组件互连总线的压力测试,其灵活地利用EFI自身特点,使测试压力与其它操作系统相比有显著的提升。
同时,本发明可以实现对不同的操作系统采用同一种核心测试算法,例如对DOS、Windows、Linux、EFI等操作系统进行了综合全面的考虑,提出了适用于各操作系统的核心的测试算法,并能根据不同操作系统的特点灵活调整测试流程,并且测试无需依赖任何测试制具,摆脱了对测试制具的要求限制,并可适用于任何机型。
此外,本发明的核心测试算法从外围组件互连功能测试、输入输出功能测试及内存映射功能测试三个方面全面考虑,增加了测试的全面性及完整性,且测试策略兼顾测试压力及测试时间等多个方面,即可节省测试时间,又提升了测试压力。
附图说明
图1为本发明的外围组件互连总线级压力测试方法的整体测试流程图;
图2为本发明的外围组件互连总线级压力测试方法中获取系统整体外围组件互连总线及外围组件互连设备的树状结构的方法流程图;
图3为本发明中外围组件互连总线的外围组件互连功能测试方法流程图;
图4为本发明中外围组件互连总线的输入输出功能测试方法流程图;
图5为本发明中外围组件互连总线的内存映射功能测试方法流程图。
其中,附图标记说明如下:
步骤100遍历系统中所有外围组件互连总线
步骤101获取系统整体外围组件互连设备的树状结构,并从中选择一个外围组件互连总线分支作为测试对象
步骤102针对测试对象进行外围组件总线的外围组件互连功能测试
步骤103针对测试对象进行外围组件总线的输入输出功能测试
步骤104针对测试对象进行外围组件总线的内存映射功能测试
步骤105判断系统中是否还有待测的外围组件互连总线分支
步骤120遍历外围组件互连总线0上的所有外围组件互连设备及外围组件互连桥,并记录
步骤121选定其中某一外围组件互连桥并取得外围组件互连桥的外围组件互连空间
步骤122分析外围组件互连空间以得到外围组件互连桥所连接下一级外围组件互连总线及此外围组件互连桥所达到的最大总线深度
步骤123下一级总线是否达到外围组件互连桥的最大总线深度
步骤124当前的外围组件互连总线上是否还存在其它外围组件互连桥
步骤125定位到下一级总线
步骤126遍历此总线得到此总线上的所有外围组件互连设备及外围组件互连桥并记录
步骤127当前的外围组件互连总线是否为外围组件互连总线0
步骤128储存遍历结果,得到树状结构
步骤129返回上一级外围组件互连总线
步骤131获取测试对象并遍历此外围组件互连总线分支下挂接的所有设备
步骤132验证外围组件互连总线分支下挂接的第n个设备是否可以正常访问
步骤133检测外围组件互连总线分支下挂接的第n个设备的标准头文件配置空间是否可以正常访问
步骤134分析所获取的标准头文件配置空间内容,验证外围组件互连总线分支下挂接的第n个设备的每项数据信息是否可以成功获取
步骤135检测外围组件互连总线分支下挂接的第n个设备的设备相关部件配置空间是否可以正常访问
步骤136该外围组件互连总线分支下是否挂接有第n+1个设备
步骤141获取测试对象,并检测测试对象是否支持输入输出映射功能
步骤142获取测试对象映射的各个输入输出空间地址
步骤143读取当前测试对象映射的第n个输入输出空间的数据并保存
步骤144向测试对象的第n个输入输出空间传输数据并读取
步骤145按位比较传输的数据与读出的数据是否一致
步骤146将传输的数据按位取反后传输至第n个输入输出空间,然后读取第n个输入输出空间中的数据
步骤147按位比较传输数据与读出数据是否一致
步骤148所需传输的数据是否全部传输完毕
步骤149获取下一个需要传输的数据
步骤150恢复当前测试对象映射的第n个输入输出空间中的数据
步骤151判断测试对象是否还存在第n+1个输入输出空间
步骤160获取测试对象并判断是否支持内存映射
步骤161得到测试对象所映射的物理内存
步骤162分配与映射物理内存相当的系统物理内存
步骤163对分配的系统物理内存进行填充,并对测试对象映射的物理内存进行初始化
步骤164以从(Slave)方式将系统物理内存的数据传输至测试对象映射物理内存
步骤165读取测试对象映射物理内存并与分配的系统物理内存进行比较
步骤166对测试对象映射物理内存进行初始化
步骤167将测试对象映射物理内存用测试数据进行填充
步骤168对分配的系统物理内存进行初始化
步骤169以主(Master)方式将测试对象的映射物理内存数据传输至系统物理内存
步骤170读取系统物理内存并与测试对象的映射物理内存进行比较
具体实施方式
以下,将结合附图部分对本发明的较佳实施方式作详细说明。
请参考图1,图中表示了本发明的外围组件互连总线级压力测试方法的整体测试流程图。如图所示,本发明的外围组件互连总线级压力测试方法整体包含如下步骤,首先,遍历系统中所有的外围组件互连总线(PCI BUS)(参见步骤100),获取系统整体外围组件互连总线的树状结构,并从中选择一个外围组件互连总线分支作为测试对象(参见步骤101),针对选择的测试对象调用外围组件互连总线的外围组件互连功能测试方法进行功能检测(参见步骤102),其中可判断此功能检测中是否发现问题(附图中未示),如果发现问题,则报错并退出测试,没有发现问题,则判断此测试对象是否支持输入输出(Input/Output,简称IO)映射功能(附图中未示),不支持,则可选择下一测试对象,如果支持,则针对此测试对象调用外围组件互连总线的输入输出功能测试方法进行功能检测(参见步骤103),其中可判断此功能检测中是否发现问题(附图中未示),如果发现问题,则报错并退出测试,没有问题,则判断此测试对象是否支持内存映射(Memory Map)功能(附图中未示),不支持,则可选择下一测试对象,如果支持,则针对此测试对象调用外围组件互连总线的内存映射功能测试方法进行功能检测(参见步骤104),其中也可判断此功能检测中是否发现问题(附图中未示),如果发现问题,则报错并退出测试,没有问题,则判断系统中是否还有未测试到的外围组件互连总线分支(参见步骤105),如果有,则返回执行步骤101,继续选择一个外围组件互连总线分支作为测试对象进行上述的外围组件互连总线的外围组件互连功能测试、输入输出功能测试及内存映射功能测试直至所有的待测试的外围组件互连总线分支测试完成,如果没有,则结束整个测试。
现在请参考图2,此图为本发明的外围组件互连总线级压力测试方法中获取系统整体外围组件互连总线及外围组件互连设备的树状结构的方法流程图,如图所示,本发明中获取系统整体外围组件互连总线及外围组件互连设备的树状结构的方法包含以下步骤:遍历外围组件互连总线0上的所有外围组件互连设备及外围组件互连桥,并记录(参见步骤120);选定其中某一外围组件互连桥并取得外围组件互连桥的外围组件互连空间(参见步骤121),分析外围组件互连空间以得到此外围组件互连桥所连接的下一级外围组件互连总线及此外围组件互连桥所达到的最大总线深度(参见步骤122),判断下一级外围组件互连总线是否达到此外围组件互连桥的最大总线深度(参见步骤123);若未达到最大总线深度,则定位到下一级总线(参见步骤125),并遍历此总线,得到此总线上的所有外围组件互连设备及外围组件互连桥并记录(参见步骤126),然后返回并执行步骤121;若已达到最大总线深度,则判断当前的外围组件互连总线上是否还存在其它外围组件互连桥(参见步骤124),如果存在其它外围组件互连桥,则执行步骤121,若不存在其它外围组件互连桥,则判断当前的外围组件互连总线是否为外围组件互连总线0(参见步骤127),是,则储存遍历结果,得到系统整体外围组件互连总线及外围组件互连设备的树状结构(参见步骤128),否则返回上一级外围组件互连总线(参见步骤129),并执行步骤124。
现在请参考图3,此图为本发明中外围组件互连总线的外围组件互连功能测试方法流程图,如图所示,本发明的外围组件互连总线的外围组件互连功能测试方法包含以下步骤:
获取测试对象(即某一条外围组件互连总线分支)并遍历此外围组件互连总线分支下所挂接的所有设备(参见步骤131),验证此被测外围组件互连总线下挂接的第n个设备是否可以正常访问(参见步骤132),若无法正常访问,则报错并退出测试;若可以正常访问,则检测此被测外围组件互连总线下挂接的第n个设备的标准头文件(standard header)配置空间是否可以正常访问(参见步骤133),若无法正常访问,则报错并退出测试;若可以正常访问,则分析所获取的标准头文件(standard header)配置空间内容,验证此被测外围组件互连总线下挂接的第n个设备的各项数据信息是否可以成功获取(参见步骤134),若无法获取,则报错并退出测试;若可以获取,则检测此被测外围组件互连总线下挂接的第n个设备的设备相关部件(Device dependent Part)的配置空间是否可以正常访问(参见步骤135),若无法正常访问,则报错并退出测试;若可以正常访问,则判断此被测外围组件互连总线下是否还挂接有第n+1个设备(参见步骤136),若不存在第n+1个设备,则结束测试;若存在第n+1个设备,则执行步骤132,以对第n+1个设备继续进行测试直至此被测外围组件互连总线下挂接的所有设备均被检测完毕。
现在请参考图4,此图为本发明中外围组件互连总线的输入输出功能测试方法流程图,如图所示,本发明的外围组件互连总线的输入输出功能测试方法包含以下步骤:
首先,获取测试对象(即某一条外围组件互连总线分支上所连接的待测外围组件互连设备),并检测测试对象是否支持输入输出映射功能(参见步骤141),若不支持,则退出测试;若支持,则获取测试对象映射的各个输入输出空间地址(参见步骤142),读取当前测试对象映射的第n个输入输出空间中的数据并保存(参见步骤143),并且向当前测试对象映射的第n个输入输出空间传输测试数据,并读取当前测试对象映射的第n个输入输出空间中的数据(参见步骤144),按位(bit)比较验证传输的数据与读出的数据是否一致(参见步骤145),若不一致,则恢复当前测试对象映射的第n个输入输出空间中的数据(参见步骤150),并报错且退出测试;若一致,则按照位(bit)将传输的测试数据取反,并向当前测试对象映射的第n个输入输出空间传输取反后的数据,然后读取当前测试对象映射的第n个输入输出空间中的数据(参见步骤146),再按位(bit)比较验传输的数据与读出的数据是否一致(参见步骤147),若不一致,则恢复当前测试对象映射的第n个输入输出空间中的数据(参见步骤150),并报错且退出测试;若一致,则判断所需传输的数据是否全部传输完毕(参见步骤148),若没有传输完毕,则获取下一个需要传输的数据(参见步骤149),并执行步骤144;如果数据全部传输完毕,则恢复当前测试对象映射的第n个输入输出空间中的数据(参见步骤150),并判断测试对象是否还存在第n+1个输入输出空间(参见步骤151),若不存在,则结束测试;若存在,则执行步骤143,直至所有的输入输出空间被测试完毕。
现在请参考图5,此图为本发明中外围组件互连总线的内存映射功能测试方法流程图,如图所示,本发明的外围组件互连总线的内存映射功能测试方法包含以下步骤:
获取测试对象(即某一条外围组件互连总线分支上所连接的待测外围组件互连设备)并判断测试对象是否支持内存映射(Memory Map)功能(参见步骤160),若不支持,则退出测试;若支持,则获取此测试对象所映射的物理内存空间首地址与映射长度,并保存此测试对象内存映射区域的数据(参见步骤161),分配与映射物理内存相当的系统物理内存(参见步骤162),此步骤162中分配的系统物理内存的区块大小优选为与测试对象映射的内存空间的大小一致;而后对系统物理内存进行测试数据的填充,并对测试对象映射的物理内存进行初始化(参见步骤163),且以从(slave)方式将分配的系统物理内存的数据传输至测试对象映射物理内存(参见步骤164),读取测试对象映射物理内存的数据,与分配的系统物理内存的数据进行比较(参见步骤165),如果数据不相同,则报错并退出测试;如果数据相同,则对测试对象映射物理内存进行初始化(参见步骤166),将测试对象映射物理内存用测试数据进行填充(参见步骤167),并对分配的系统物理内存进行初始化(参见步骤168),以主(master)方式将测试对象的映射物理内存的数据传输至分配的系统物理内存(参见步骤169),读取分配的系统物理内存的数据,且与测试对象的映射物理内存的数据进行比较(参见步骤170),若数据不相同,则报错并退出测试;若数据相同,则结束测试。
本发明的外围组件互连总线级压力测试方法可适应于不同的操作系统进行测试,其中操作系统包含:DOS操作系统,外围组件互连总线的传输能力测试需要对系统分配物理内存,而DOS系统中可直接访问物理内存的地址;Linux操作系统,通过增加多线程支持以及增加一个中间驱动层用于对物理内存的分配及访问,进而实现本发明的测试方法;Windows操作系统,通过增加多线程支持以及增加两个中间驱动层,其中一个用于对外围组件互连设备的操作,另一个用于对物理内存的分配及访问,进而实现本发明的测试方法;以及EFI操作系统,通过直接对物理内存的操作,对大容量数据的传输使用最大限度的连续物理内存;并通过操作系统外围组件互连总线驱动程序对外围组件互连总线进行测试,进而实现了本发明的测试方法,同时保证在EFI系统环境下对外围组件互连总线的测试压力达到最大。
虽然本发明以前述的较佳实施方式揭示如上,然而其并非用以限定本发明。本领域的技术人员应当意识到在不脱离本发明所附的权利要求所揭示的本发明的范围和精神的情况下,所做的更动与润饰,均属本发明的权利要求的保护范围之内。关于本发明所界定的保护范围请参考所附的权利要求书。

Claims (8)

1.一种外围组件互连总线级压力测试方法,应用于多个外围组件互连总线的整体压力测试中,该方法包含以下步骤:
遍历系统中所有所述外围组件互连总线;
获取系统整体的所述外围组件互连总线及外围组件互连设备的树状结构,并从中选择一所述外围组件互连总线分支作为测试对象;
针对该测试对象进行所述外围组件互连总线的外围组件互连功能测试、输入输出功能测试及内存映射功能测试;以及
判断系统中是否还有待测试的所述外围组件互连总线分支,若有,则继续选择一所述外围组件互连总线分支作为测试对象进行所述外围组件互连总线的外围组件互连功能测试、输入输出功能测试及内存映射功能测试直至所有的待测试的所述外围组件互连总线分支测试完成,否则结束测试。
2.如权利要求1所述的外围组件互连总线级压力测试方法,其中获取该系统整体外围组件互连总线及外围组件互连设备的树状结构包含以下步骤:
(a)遍历所述外围组件互连总线0上的所有外围组件互连设备及外围组件互连桥,并记录;
(b)选择一外围组件互连桥,取得该外围组件互连桥的外围组件互连空间,并分析该外围组件互连空间以得到该外围组件互连桥所连接的下一级所述的外围组件互连总线及该外围组件互连桥所达到的最大总线深度;
(c)判断该下一级所述的外围组件互连总线是否达到该外围组件互连桥的最大总线深度,当没有达到最大总线深度时,则定位到该下一级外围组件互连总线,将该下一级外围组件互连总线作为当前外围组件互连总线,并遍历该当前外围组件互连总线,得到该当前外围组件互连总线的所有外围组件互连设备及外围组件互连桥并记录,然后执行步骤(b);
(d)若达到,则判断当前的所述外围组件互连总线上是否还存在其它外围组件互连桥,若存在,则执行步骤(b);以及
(e)若不存在,则判断该当前的外围组件互连总线是否为外围组件互连总线0,若是,则储存遍历结果,得到系统整体外围组件互连总线及外围 组件互连设备的树状结构,否则返回上一级外围组件互连总线,并执行步骤(d)。
3.如权利要求1所述的外围组件互连总线级压力测试方法,其中选择一外围组件互连总线分支作为测试对象进行外围组件互连总线的外围组件互连功能测试,包含以下步骤:
遍历该外围组件互连总线分支下挂接的所有设备;
验证该外围组件互连总线分支下挂接的第n个设备是否可以正常访问,若无法正常访问,报错并退出测试;
若可以访问,则检测该外围组件互连总线分支下挂接的第n个设备的标准头文件配置空间是否可以正常访问,若无法正常访问,报错并退出测试;
若可以访问,则分析所获取的标准头文件配置空间内容,验证该外围组件互连总线分支下挂接的第n个设备的每项数据信息是否可以成功获取,若无法获取,则报错并退出测试;
若可以获取,则检测该外围组件互连总线分支下挂接的第n个设备的设备相关部件配置空间是否可以正常访问,若无法访问,则报错并退出测试;
若可以访问,则判断该外围组件互连总线分支下是否挂接有第n+1个设备,若不存在第n+1个设备,则结束测试;以及
若存在第n+1个设备,则返回该外围组件互连总线分支下挂接的第n+1个设备继续进行测试直至该外围组件互连总线分支下挂接的所有设备均被测试完毕。
4.如权利要求1所述的外围组件互连总线级压力测试方法,其中选择一外围组件互连总线分支作为测试对象进行外围组件互连总线的输入输出功能测试,包含以下步骤:
检测该测试对象是否支持输入输出映射功能,如果支持,则获取该测试对象映射的各个输入输出空间地址;
读取当前测试对象映射的第n个输入输出空间的数据并保存,并且向该第n个输入输出空间传输数据,然后读取该第n个输入输出空间中的数据;
验证向该第n个输入输出空间传输数据与该读出的第n个输入输出空间中的数据是否一致,若不一致,报错并退出测试,若一致,则将该传输的数据按照位取反后传输至该第n个输入输出空间,然后读取该第n个输入输出 空间中的数据,并对传输的数据按照位取反后向该第n个输入输出空间传输的数据与将传输的数据按照位取反后传输至该第n个输入输出空间,然后从第n个输入输出空间中读取的数据验证是否一致,若不一致,则报错并退出测试,若一致,则判断所需传输的数据是否全部传输完毕,若还有需要传输的数据,则继续向该测试对象映射的第n个输入输出空间进行传输,若数据传输完毕,则恢复该当前测试对象映射的第n个输入输出空间的数据;以及
判断该测试对象是否还存在第n+1个输入输出空间,如果存在,则返回执行读取当前测试对象映射的第n+1个输入输出空间的数据并保存的步骤,否则结束测试。
5.如权利要求4所述的外围组件互连总线级压力测试方法,其中所述的验证对传输的数据按照位取反后向该第n个输入输出空间传输的数据与将传输的数据按照位取反后传输至该第n个输入输出空间,然后从第n个输入输出空间中读取的数据是否一致是按照数据的位进行比较。
6.如权利要求1所述的外围组件互连总线级压力测试方法,其中选择一外围组件互连总线分支作为测试对象进行外围组件互连总线的内存映射功能测试,包含以下步骤:
获取支持内存映射的测试对象所映射的物理内存空间首地址与映射长度,并保存该测试对象内存映射区域的数据;
分配与该映射物理内存相当的一系统物理内存并进行测试数据的填充,而后对该测试对象映射物理内存进行初始化,且以从方式将分配的该系统物理内存的数据传输至该测试对象映射物理内存;
读取该测试对象映射物理内存的数据,与分配的该系统物理内存的数据进行比较,若数据不相同,则报错并退出测试,若数据相同,则对该测试对象映射物理内存进行初始化并将该测试对象映射物理内存用测试数据进行填充;以及
初始化该分配的系统物理内存,以主方式将该测试对象的映射物理内存的数据传输至该分配的系统物理内存,并读取该分配的系统物理内存的数据,且与该测试对象的映射物理内存的数据进行比较,若数据相同,则结束测试,否则报错并退出测试。
7.如权利要求6所述的外围组件互连总线级压力测试方法,其中分配 的该系统物理内存的区块大小优选为与该测试对象映射的物理内存空间的大小一致。
8.如权利要求1所述的外围组件互连总线级压力测试方法,适应于不同的操作系统进行测试,其中该操作系统包含:DOS操作系统、Linux操作系统、Windows操作系统及可延伸固件接口操作系统。 
CN2007101370913A 2007-07-24 2007-07-24 一种外围组件互连总线级压力测试方法 Expired - Fee Related CN101354667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101370913A CN101354667B (zh) 2007-07-24 2007-07-24 一种外围组件互连总线级压力测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101370913A CN101354667B (zh) 2007-07-24 2007-07-24 一种外围组件互连总线级压力测试方法

Publications (2)

Publication Number Publication Date
CN101354667A CN101354667A (zh) 2009-01-28
CN101354667B true CN101354667B (zh) 2010-12-22

Family

ID=40307484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101370913A Expired - Fee Related CN101354667B (zh) 2007-07-24 2007-07-24 一种外围组件互连总线级压力测试方法

Country Status (1)

Country Link
CN (1) CN101354667B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841833B (zh) * 2011-06-24 2017-06-27 罗普特(厦门)科技集团有限公司 Pci资源遍历方法及系统
CN104679615A (zh) * 2013-11-26 2015-06-03 英业达科技有限公司 总线压力测试系统及其方法
CN104102563A (zh) * 2014-07-10 2014-10-15 浪潮(北京)电子信息产业有限公司 一种发现服务器系统的mca错误的方法及装置
CN107302473B (zh) * 2017-06-20 2020-01-10 苏州浪潮智能科技有限公司 一种高频数据传输压力测试方法及系统
CN107102638B (zh) * 2017-06-28 2019-07-16 爱普(福建)科技有限公司 Io点通信范围的检测方法、插件及计算机可读介质
CN107908517B (zh) * 2017-12-07 2021-07-13 郑州云海信息技术有限公司 一种基于shell脚本的CPU压力测试方法
CN110191010B (zh) * 2019-04-11 2021-01-26 深圳市同泰怡信息技术有限公司 服务器的压力测试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905744A (en) * 1997-09-30 1999-05-18 Lsi Logic Corporation Test mode for multifunction PCI device
US6049894A (en) * 1995-02-22 2000-04-11 Adaptec, Inc. Error generation circuit for testing a digital bus
CN1516014A (zh) * 2003-01-07 2004-07-28 英业达股份有限公司 外围部件互连总线的测试方法
US7149838B2 (en) * 2001-05-29 2006-12-12 Sun Microsystems, Inc. Method and apparatus for configuring multiple segment wired-AND bus systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049894A (en) * 1995-02-22 2000-04-11 Adaptec, Inc. Error generation circuit for testing a digital bus
US5905744A (en) * 1997-09-30 1999-05-18 Lsi Logic Corporation Test mode for multifunction PCI device
US7149838B2 (en) * 2001-05-29 2006-12-12 Sun Microsystems, Inc. Method and apparatus for configuring multiple segment wired-AND bus systems
CN1516014A (zh) * 2003-01-07 2004-07-28 英业达股份有限公司 外围部件互连总线的测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2000-207297A 2000.07.28

Also Published As

Publication number Publication date
CN101354667A (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
CN101354667B (zh) 一种外围组件互连总线级压力测试方法
CN108133732B (zh) 闪存芯片的性能测试方法、装置、设备及存储介质
CN106571954B (zh) 一种ap设备的异常重启原因检测方法及装置
CN108549606A (zh) 接口测试方法及装置
US20090083585A1 (en) Method of pressure testing for peripheral component interconnect (pci) bus stage
CN112527705B (zh) 一种PCIe DMA数据通路的验证方法、装置及设备
CN110989926A (zh) 故障磁盘槽位定位方法、装置及电子设备
CN109918226A (zh) 一种静默错误检测方法、装置及存储介质
CN105468482A (zh) 一种硬盘盘位识别和故障诊断方法及其服务器设备
US20140164845A1 (en) Host computer and method for testing sas expanders
US20130024845A1 (en) Inserting Test Scripts
CN105988905A (zh) 异常处理方法及装置
CN105446856B (zh) 电子设备接口的检测方法、装置
CN113934758A (zh) 车辆故障修复方法、装置、车载终端、服务器及存储介质
CN106683705A (zh) 一种eMMC测试方法和测试系统
CN109446433A (zh) 一种兴趣点失效校验方法、装置、服务器及存储介质
CN114417761B (zh) 一种芯片验证方法、装置、系统、控制服务器及介质
CN113535578B (zh) 一种cts测试方法、装置及测试设备
CN107153608A (zh) 代码检测方法以及代码检测装置
CN108334448A (zh) 代码验证方法、装置及设备
US6920593B2 (en) Logical verification apparatus and method for memory control circuit
US20140258793A1 (en) Detecting system and method for motherboard
CN107944272A (zh) Apk安全测试的方法、装置、电子设备及可读存储介质
CN108447524A (zh) 一种用于检测外部存储器接口故障的方法
CN109582523B (zh) 有效分析SSD前端NVMe模块性能的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101222

Termination date: 20190724