一种热插拔方法、主机控制器、主机及PCIe桥设备技术

技术编号:13495931 阅读:141 留言:0更新日期:2016-08-07 20:28
本发明专利技术提供一种热插拔方法、主机控制器、主机及PCIe桥设备,涉及计算机技术领域,用于实现远距离使用PCIe设备的热插拔。包括:主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔;主机控制器将所述第一通知报文发送给主机,以便主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种热插拔方法、主机控制器、主机及PCIe桥设备
技术介绍
所谓热插拔即带电拔插,允许用户在不关闭系统,在不切断电源的情况下能够取出或更换主机下挂的PCIe(Peripheral Component Interface Express,总线和接口标准)设备,而不影响主机服务器系统的运行,从而提高系统对灾难的及时恢复能力、扩展性和灵活性等。目前,热插拔功能对于维持PCIe系统的“高可用性”非常关键。现有热插拔技术主要是:检测到用户触发了热插拔后,控制指示灯闪烁,之后通过PCIe总线通知PCIe设备的驱动停止数据传输,并关闭PCIe设备与插槽间的Link(连接)以及该插槽(slot),这样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链路(如网络)进行相连,则此时与主机控制器和用户设备控制器需具备组通知报文及解析通知报文的功能远距离使用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设备对应的插槽;所述主机建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。这里,是对第一PCIe设备进行热插的过程。第三方面,公开了一种热插拔方法,包括:主机监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备;若所述主机监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。PCIe设备通过PCIe桥与主机级联属于远距离使用PCIe设备的场景,现有的热插拔技术,并不能实现此场景中PCIe设备的热插拔。本专利技术监测PCIe桥与PCIe设备间的链路状态,当链路异常时,对PCIe桥下挂的每一个PCIe设备进行相应的热插拔操作,可防止主机与PCIe桥之间的链路异常而导致的主机读写PCIe设备的请求得不到响应而导致主机挂死。结合第三方面,在第三方面的第一种可能的实现方式,本文档来自技高网...

【技术保护点】
一种热插拔方法,其特征在于,应用于远程总线和接口标准PCIe系统,所述远程PCIe系统包括主机、主机控制器、PCIe设备以及用户设备控制器,包括:所述主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔;所述主机与所述主机控制器连接,所述第一PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;所述主机控制器将所述第一通知报文发送给所述主机,以便所述主机根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备;所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。

【技术特征摘要】

【专利技术属性】
技术研发人员:彭本华王富吴沛肖怀锋祝晓平
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1