A method and system for testing high speed peripheral interconnect (PCIe) devices is provided. In the implementation of PCIe test system in the detection of one or more PCIe devices have been inserted into one or more PCIe bus data processing system; in response to the detection, all of the PCIe bus test system of PCIe scanning data processing system, in order to find one or more PCIe for equipment; each found in PCIe equipment, PCIe repair and re training and testing system of PCIe equipment related with PCIe link, without having to restart the data processing system; load test system for the PCIe operating system managed PCIe device driver examples; then, the testing system for testing PCIe routine via device driver corresponding example of parallel test one or more PCIe devices.
【技术实现步骤摘要】
用于测试高速外围设备互连设备的方法和系统
本专利技术的实施例一般地涉及计算机外围设备。更具体地,本专利技术的实施例涉及测试高速外围设备互连(PCIe)设备。
技术介绍
高速数据通信是计算机系统中的突出因素。对于计算机系统和外围设备,需要更高带宽、更快速的互连技术。高速外围设备互连(PCIe)接口协议快速成为计算机工业中用于高速数据通信链路的广泛使用的标准。PCIe设备的生产流程通常涉及在制造设施中的生产线上进行的测试过程。因此,还需要优化这样的测试过程以减少维持生产线的高产量所需要的测试时间,并且由此降低制造成本。通常,当需要测试多个PCIe设备时,需要PCIe测试器一次测试一个PCIe设备。PCIe设备的测试过程通常涉及将待测试(DUT)PCIe设备插入到CPU服务器平台上的所选择的PCIe插槽中,接通服务器的电源以扫描和识别PCIe设备,然后分配和配置硬件资源(存储器、中断等)以与所识别的设备一起工作,安装低级设备驱动器以使得软件应用程序接口(API)能够调用PCIe设备,并且运行测试程序来执行针对PCIe设备的测试例程。然而,在运行测试程序之后,PCIe测试 ...
【技术保护点】
一种用于测试高速外围设备部件互连PCIe设备的计算机实现的方法,所述方法包括:检测多个PCIe设备已经被插入到数据处理系统的一个或多个PCIe总线中;响应于所述检测,扫描所述数据处理系统的所有PCIe总线以发现所述多个PCIe设备;对于所发现的每个PCIe设备,修复和重新训练与所述PCIe设备相关联的PCIe链路,而不必重新启动所述数据处理系统,并且加载用于要由操作系统托管的PCIe设备的设备驱动器实例;以及执行用于经由相应的设备驱动器实例并行测试所述多个PCIe设备的测试例程。
【技术特征摘要】
2016.05.23 US 15/162,5291.一种用于测试高速外围设备部件互连PCIe设备的计算机实现的方法,所述方法包括:检测多个PCIe设备已经被插入到数据处理系统的一个或多个PCIe总线中;响应于所述检测,扫描所述数据处理系统的所有PCIe总线以发现所述多个PCIe设备;对于所发现的每个PCIe设备,修复和重新训练与所述PCIe设备相关联的PCIe链路,而不必重新启动所述数据处理系统,并且加载用于要由操作系统托管的PCIe设备的设备驱动器实例;以及执行用于经由相应的设备驱动器实例并行测试所述多个PCIe设备的测试例程。2.根据权利要求1所述的方法,其中,加载设备驱动器实例包括将表示所述PCIe设备的逻辑设备标识符ID指派给所述设备驱动器实例,其中,所述逻辑设备ID是基于以下中的一个或多个的组合来构建的:PCIe设备的总线编号、设备编号或功能编号。3.根据权利要求2所述的方法,其中,所述逻辑设备ID由所述设备驱动器实例利用以识别插入有所述PCIe设备的物理PCIe插槽,使得所述多个PCIe设备能够并行地被识别和测试。4.根据权利要求1所述的方法,进一步包括:响应于指示所述测试例程的执行已经完成的信号,卸载所述PCIe设备的设备驱动器实例;以及与所述操作系统通信以从所述操作系统的命名空间中移除所述PCIe设备,而不必重新启动所述数据处理系统。5.根据权利要求4所述的方法,进一步包括显示用于提示用户能够从相应的PCIe插槽物理地移除所述PCIe设备的消息。6.根据权利要求1所述的方法,其中,修复和重新训练与所述PCIe设备相关联的PCIe链路包括:在所述PCIe设备的第一PCIe链路控制寄存器中设置第一时钟配置比特;以及在耦合到所述PCIe设备的根复合体设备的第二PCIe链路控制寄存器中设置第二时钟配置比特,以恢复PCIe参考时钟配置。7.根据权利要求6所述的方法,进一步包括:在所述根复合体设备的所述第二PCIe链路控制寄存器中设置重新训练链路比特,以触发PCIe链路重新训练过程。8.根据权利要求7所述的方法,进一步包括:恢复所述PCIe设备的PCIe设备控制寄存器的设置;以及清除在PCIe总线扫描期间报告的PCIe配置空间中的任何错误。9.根据权利要求8所述的方法,进一步包括将存储器地址设置从所述根复合体设备复制到所述PCIe设备的所述PCIe配置空间。10.一种存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使得所述处理器执行用于测试PCIe设备的操作,所述操作包括:检测多个PCIe设备已经被插入到数据处理系统的一个或多个PCIe总线中;响应于所述检测,扫描所述数据处理系统的所有PCIe总线以发现所述多个PCIe设备;对于所发现的每个PCIe设备,修复和重新训练与所述PCIe设备相关联的PCIe链路,而不必重新启动所述数据处理系统,并且加载用于要由操作系统托管的PCIe设备的设备驱动器实例;以及执行用于经由相应的设备驱动器实例并行测试所述多个PCIe设备的测试例程。11.根据权利要求10所述的介质,其中,加载设备驱动程序实例包括将表示所述PCIe设备的逻辑设备标识符ID指派给所述设备驱动器实例,其中,所述逻辑设备ID是基于以下中的一个或多个的组合来构建的:PCIe设备的总线编号、设备编号或功能编号。12.根据权利要求11所述的介质,其中,所述逻辑设备ID由所述设备驱动器实例利用以识别插入有所述PCIe设备的物理PCIe插槽,使得所述多个PCIe设备能够并行地被识别和测试。13.根据权利要求10所述的介质,其中,所述操作进一步包括:响应于指示所述测试例程的执行已经完成的信号,卸载所述PCIe设备的设备驱动器实例;以及与...
【专利技术属性】
技术研发人员:黄岱,克里希纳·埃朗戈,周旭,
申请(专利权)人:百度美国有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。