一种计算机系统、高速外围组件互联端点设备的访问方法、和装置制造方法及图纸

技术编号:10989133 阅读:157 留言:0更新日期:2015-02-04 08:09
本发明专利技术实施例提出了一种计算机系统和高速外围组件互联PCIe端点设备访问方法,计算机系统包括:处理器、PCIe总线和访问代理,访问代理分别连接所述处理器和所述PCIe端点设备;处理器用于获取操作指令,操作指令指示所述处理器通过所述访问代理对所述PCIe端点设备进行访问,根据操作指令向访问代理发送访问请求,访问请求指示所述访问代理对所述PCIe端点设备进行访问;访问代理用于在接收所述处理器发送的访问请求后,向所述处理器发送所述访问请求的响应消息。由于处理器不再直接访问待访问的PCIe端点设备,而是通过访问代理来完成访问,该访问代理能够向处理器返回访问请求的响应消息,使得处理器避免MCE复位。

【技术实现步骤摘要】
【国外来华专利技术】一种计算机系统、高速外围组件互联端点设备的访问方法、和装置
本专利技术实施例涉及计算机技术,特别是一种高速外围组件互联端点设备的访问方法、计算机系统和装置。
技术介绍
高速外围组件互联(PeripheralComponentInterconnectExpress,PCIe),是用于计算和通信平台上的高性能系统总线。PCIe总线被广泛的应用在中央处理器(centralprocessingunit,CPU)和外围设备的互连系统中,在计算和存储设备中作为核心业务通道。通过PCIe总线与CPU互连的外围设备可以有多种,例如网卡设备或固态硬盘(SolidStateDisk,SSD)等,本文件中将此类设备统称为PCIe端点设备。PCIe总线作为服务器或存储系统的总线接口被广泛应用,系统正常运行时,由于在线扩容和维护的需求,需要在不断电的情况下增加或者移除PCIe端点设备,即热插拔的需求。现有的PCIe热插拔遵循以下操作流程:操作者通过按下按钮发起热插拔请求,热插拔控制器获知到热插拔事件后,通知系统中所有可能访问该PCIe端点设备的驱动停止访问该PCIe端点设备,并且将需要进行热插拔的PCIe端点设备的资源卸载掉,此后,对该PCIe端点设备下电,操作者拔出该PCIe端点设备。现有的PCIe端点设备热插拔需要预先通知才能保证系统正常运行。然而,近年来,PCIe总线逐渐由系统内的互连发展为系统间的互连,外部线缆等应用增多,线缆容易异常脱落,出现未预先通知的PCIe端点设备异常离线的情况。另外,用户使用固态硬盘SSD直接接入系统的场景越来越广泛,由于用户习惯的因素,用户可能不预先通知就直接插拔SSD盘。对于上述提到的PCIe端点设备突然异常离线的情况,如果CPU已经发起对这个PCIe端点设备的读写指令,相关的指令将一直处于待完成状态,当CPU对所述PCIe端点设备的访问指令持续积累达到一定程度,CPU就会认为整个系统异常,报出机器检测异常(Machinecheckexception,MCE)错误,从而导致整个系统复位。
技术实现思路
本专利技术实施例提出了一种高速外围组件互联端点设备的访问方法、计算机系统和装置,在PCIe端点设备异常离线之后,避免处理器产生复位。第一方面,本专利技术实施例提出了一种计算机系统,所述计算机系统包括:处理器;高速外围组件互联PCIe总线,用于连接PCIe端点设备;所述计算机系统还包括访问代理,所述访问代理分别连接所述处理器和所述PCIe端点设备;所述处理器用于获取操作指令,所述操作指令指示所述处理器通过所述访问代理对所述PCIe端点设备进行访问;以及根据所述操作指令向所述访问代理发送访问请求,所述访问请求指示所述访问代理对所述PCIe端点设备进行访问;所述访问代理用于在接收所述处理器发送的访问请求后,无论对所述PCIe端点设备的访问是否成功,向所述处理器发送所述访问请求的响应消息,所述访问请求的响应消息向所述处理器表示所述访问代理接收到所述访问请求;所述处理器还用于在接收到所述访问请求的响应消息后,关闭针对所述访问请求启动的计时器。结合第一方面,在第一种可能的实现方式中,所述计算机系统还包括:PCIe端点设备的驱动模块,用于根据预先配置的PCIe端点设备的访问接口生成所述操作指令,所述预先配置的PCIe端点设备的访问接口指向所述访问代理;所述处理器具体用于获取所述PCIe端点设备的驱动模块生成的所述操作指令。结合第一方面,在第二种可能的实现方式中,所述计算机系统还包括:PCIe端点设备的驱动模块和主操作系统;所述PCIe端点设备的驱动模块用于调用所述主操作系统以进行对所述PCIe端点设备的访问;所述主操作系统接收所述PCIe端点设备的驱动模块的调用,根据预先配置的PCIe端点设备的访问接口生成所述操作指令,所述预先配置的PCIe端点设备的访问接口指向所述访问代理;所述处理器具体用于获取所述主操作系统生成的所述操作指令。结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述访问代理还用于根据所述访问请求执行对所述PCIe端点设备的访问。第二方面,还提出了一种高速外围组件互联PCIe端点设备的访问方法,PCIe端点设备通过PCIe总线连接到计算机系统的处理器,所述方法包括:所述处理器获取操作指令,所述操作指令指示所述处理器通过访问代理访问所述PCIe端点设备;所述处理器根据所述操作指令,向所述访问代理发送访问请求,所述访问请求指示所述访问代理对所述PCIe端点设备进行访问;所述处理器接收所述访问代理发送的所述访问请求的响应消息,所述访问请求的响应消息的发送无论对所述PCIe端点设备的访问是否成功,并向所述处理器表示所述访问代理接收到所述访问请求;所述处理器在接收到所述访问请求的响应消息后,关闭针对所述访问请求启动的计时器。结合第二方面,在第一种可能的实现方式中,所述处理器获取所述PCIe端点设备的驱动模块根据预先配置的所述PCIe端点设备的访问接口生成的所述操作指令,所述预先配置的所述PCIe端点设备的访问接口指向所述访问代理;或者,所述处理器获取主操作系统根据预先配置的所述PCIe端点设备的访问接口生成的所述操作指令,所述预先配置的所述PCIe端点设备的访问接口指向所述访问代理。结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述操作指令具体指示所述处理器通过直接存储器存取(DirectMemoryAccess,DMA)引擎访问所述PCIe端点设备;所述处理器根据所述操作指令,向所述DMA引擎发送数据搬移请求,所述数据搬移请求指令所述DMA引擎将所述PCIe端点设备的存储器中的指定数据搬移到所述计算机系统的存储器中,或者将所述计算机系统的存储器中的指定数据搬移到所述PCIe端点设备的存储器中。结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:所述处理器接收所述访问代理发送的第一通知消息,所述第一通知消息表明所述访问代理对所述PCIe端点设备访问成功;所述处理器根据所述第一通知消息,获取访问结果。结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第四种可能的实现方式中,还包括:所述处理器接收所述访问代理发送的第二通知消息,所述第二通知消息表明所述访问代理对所述PCIe端点设备访问失败;所述处理器根据所述第二通知消息,执行访问失败的后续处理。结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述访问失败的后续处理包括:所述处理器确定所述访问代理对所述PCIe端点设备访问失败的原因,若所述访问失败的原因是所述待访问的PCIe端点设备异常离线,所述处理器中止对所述PCIe端点设备的访问。第三方面,提出了一种计算机,包括:处理器;存储器,用于存储计算机执行指令;当所述计算机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,并通过通信接口与所述计算机外部的设备进行通信,以使所述计算机执行第二方面所述的一种高速外围组件互联高速外围组件互联PCIe端点设备的访问方法。第四方面,提本文档来自技高网
...
一种计算机系统、高速外围组件互联端点设备的访问方法、和装置

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种计算机系统,所述计算机系统包括:处理器;高速外围组件互联PCIe总线,用于连接PCIe端点设备;所述计算机系统还包括访问代理,所述访问代理分别连接所述处理器和所述PCIe端点设备;所述处理器用于获取操作指令,所述操作指令指示所述处理器通过所述访问代理对所述PCIe端点设备进行访问,以及根据所述操作指令向所述访问代理发送访问请求,所述访问请求指示所述访问代理对所述PCIe端点设备进行访问;所述访问代理用于在接收所述处理器发送的所述访问请求后,无论对所述PCIe端点设备的访问是否成功,向所述处理器发送所述访问请求的响应消息,所述访问请求的响应消息向所述处理器表示所述访问代理接收到所述访问请求;所述处理器还用于在接收到所述访问请求的响应消息后,关闭针对所述访问请求启动的计时器。2.根据权利要求1所述的计算机系统,其特征在于,所述计算机系统还包括:PCIe端点设备的驱动模块,用于接收对所述PCIe端点设备进行访问的调用指令,根据预先配置的PCIe端点设备的访问接口生成所述操作指令,所述预先配置的PCIe端点设备的访问接口指向所述访问代理;所述处理器具体用于获取所述PCIe端点设备的驱动模块生成的所述操作指令。3.根据权利要求1所述的计算机系统,其特征在于,所述计算机系统还包括:PCIe端点设备的驱动模块和主操作系统;所述PCIe端点设备的驱动模块用于接收对所述PCIe端点设备进行访问的调用指令,调用所述主操作系统以进行对所述PCIe端点设备的访问;所述主操作系统用于响应所述PCIe端点设备的驱动模块的调用,根据预先配置的PCIe端点设备的访问接口生成所述操作指令,所述预先配置的PCIe端点设备的访问接口指向所述访问代理;所述处理器具体用于获取所述主操作系统生成的所述操作指令。4.根据权利要求1-3任一项所述的计算机系统,其特征在于,所述访问代理还用于根据所述访问请求执行对所述PCIe端点设备的访问。5.根据权利要求4所述的计算机系统,其特征在于,所述访问代理由直接存储器存取DMA引擎实现;所述处理器用于根据所述操作指令向所述访问代理发送访问请求为:所述处理器具体用于根据所述操作指令,向所述DMA引擎发送数据搬移请求;所述访问代理用于根据所述访问请求执行对所述PCIe端点设备的访问为:所述DMA引擎具体用于根据所述数据搬移请求,将所述PCIe端点设备的存储器中的指定数据搬移到所述计算机系统的存储器中,或者将所述计算机系统的存储器中的指定数据搬移到所述PCIe端点设备的存储器中。6.根据权利要求4所述的计算机系统,其特征在于,所述访问代理还用于向所述处理器发送第一通知消息,所述第一通知消息表明对所述PCIe端点设备访问成功;所述处理器还用于在接收所述第一通知消息后,获取访问结果。7.根据权利要求4所述的计算机系统,其特征在于,所述访问代理还用于向所述处理器发送第二通知消息,所述第二通知消息表明对所述PCIe端点设备访问失败;所述处理器还用于在接收所述第二通知消息后,执行访问失败的后续处理。8.根据权利要求7所述的计算机系统,其特征在于,所述处理器用于在接收所述第二通知消息后,执行访问失败的后续处理为:所述处理器用于在接收所述第二通知消息后,确定所述访问代理对所述PCIe端点设备访问失败的原因;若所述访问失败的原因是所述PCIe端点设备异常离线,所述处理器用于中止对所述PCIe端点设备的访问。9.根据权利要求8所述的计算机系统,其特征在于,所述计算机系统还包括PCIe管理模块;所述PCIe管理模块用于获取所述PCIe端点设备异常离线的通知,保留为所述PCIe端点设备分配的资源。10.根据权利要求1-3任一项所述的计算机系统,其特征在于,所述访问代理与所述处理器封装在一起。11.根据权利要求1-3任一项所述的计算机系统,其特征在于,所述访问代理与所述处理器固定连接;所述访问代理用于通过与所述处理器的固定连接向所述处理器发送所述访问请求的响应消息。12.根据权利要求11所述的计算机系统,其特征在于,所述访问代理与所述处理器固定连接包括:所述访问代理焊接在所述处理器所连接的印制电路板上,或者所述访问代理通过连接固件与所述处理器固定连接。13.根据权利要求1-3任一项所述的计算机系统,其特征在于,所述计算机系统还包括:PCIe交换器,所述PCIe交换器的上游端口通过所述PCIe总线与所述处理器连接,所述PCIe交换器的下游端口通过所述PCIe总线与所述PCIe端点设备连接。14.根据权利要求13所述的计算机系统,其特征在于,所述访问代理封装在所述PCIe交换器内部。15.根据权利要求14所述的计算机系统,其特征在于,所述PCIe交换器焊接在所述处理器所连接的印制电路板上,或者所述PCIe交换器通过连接固件与所述处理器固定连接。16.一种高速外围组件互联PCIe端点设备的访问方法,其特征在于,计算机系统的处理器通过PCIe总线连接所述PCIe端点设备,所述方法包括:所述处理器获取操作指令,所述操作指令指示所述处理器通过访问代理访问所述PCIe端点设备;所述处理器根据所述操作指令,向所述访问代理发送访问请求,所述访问请求指示所述访问代理对所述PCIe端点设备进行访问;所述处理器接收所述访问代理发送的所述访问请求的响应消息,所述访问请求的响应消息的发送无论对所述PCIe端点设备的访问是否成功,并向所述处理器表示所述访问代理接收到所述访问请求;所述处理器在接收到所述访问请求的响应消息后,关闭针对所述访问请求启动的计时器。17.根据权利要求16所述的高速外围组件互联PCIe端点设备的访问方法,其特征在于,所述处理器获取操作指令包括:所述处理器获取PCIe...

【专利技术属性】
技术研发人员:杜阁
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1