一种热插拔方法、主机控制器、主机及PCIe桥设备的制造方法_2

文档序号:9921984阅读:来源:国知局
r>[0061]结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述生成单元还用于,若需对所述第一 PCIe设备进行热拔,在检测到与所述用户设备控制器间的网络中断时,生成所述第一通知报文。
[0062]第六方面,公开了一种主机,应用于远程PCIe系统,所述远程总线和接口标准PCIe系统包括所述主机、主机控制器、PCIe设备以及用户设备控制器,包括;
[0063]接收单元,用于接收所述主机控制器发送的第一通知报文;所述第一通知报文携带热插拔中断信息,所述热插拔中断信息指示第一PCIe设备要将进行热插拔,所述主机与所述主机控制器连接,所述第一 PCIe设备与所述用户设备控制器连接,所述主机控制器与所述用户设备控制器通过网络通信;
[0064]热插拔操作单元,用于根据所述第一通知报文执行与所述第一PCIe设备相应的热插拔操作;
[0065]生成单元,用于生成第二通知报文,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成;
[0066]发送单元,用于向所述主机控制器发送所述第二通知报文。
[0067]结合第六方面,在第六方面的第一种可能的实现方式中,所述热插拔操作单元具体用于,获取所述第一 PCIe设备的标识信息以及所述第一 PCIe设备对应的插槽信息;确定所述插槽信息对应的第一插槽;关闭所述第一插槽与所述第一 PCIe设备间的连接,并将所述第一插槽下电。
[0068]结合第六方面,在第六方面的第二种可能的实现方式中,所述热插拔操作单元具体用于,获取第一插槽的插槽信息;所述第一插槽为所述第一 PCIe设备对应的插槽;
[0069]建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
[0070]第七方面,公开了一种主机,包括:
[0071]监测单元,用于监测第一链路是否异常;所述第一链路为所述主机与PCIe桥设备间的链路,所述PCIe桥设备下挂至少一个PCIe设备;
[0072]热插拔操作单元,用于若所述监测单元监测到所述第一链路出现异常,则执行与所述至少一个PCIe设备相应的热插拔操作。
[0073]结合第七方面,在第七方面的第一种可能的实现方式中,所述热插拔操作单元具体用于,获取所述至少一个PCIe设备中每一个PCIe设备的标识信息以及所述每一个PCIe设备对应的插槽信息;
[0074]关闭所述每一个PCIe设备与对应的插槽与间的连接,并将所述每一个PCIe设备对应的插槽下电。
[0075]第八方面,公开了一种第一PCIe桥设备,包括:
[0076]监测单元,用于监测第二链路是否异常;所述第二链路为所述第一PCIe桥设备与第二 PCIe桥设备间的链路,所述第一 PCIe桥设备与主机连接,所述第二 PCIe桥设备下挂N个PCIe设备;所述N为大于等于I的整数;
[0077]生成单元,用于在所述监测单元监测到所述第二链路出现异常后,生成N个第四通知报文,所述N个第四通知报文用于指示所述主机执行与所述N个PCIe设备相应的热插拔操作。
[0078]结合第八方面,在第八方面的第一种可能的实现方式中,所述生成单元具体用于,根据预存储的PCIe拓扑结构,确定所述N个PCIe设备的N个标识信息,以及所述N个PCIe设备对应的N个插槽的信息;
[0079]根据所述N个标识信息以及所述N个插槽的信息生成N个热插拔中断信息;
[0080]根据所述N个热插拔中断信息中的每一个生成一个所述第四通知报文,得到N个所述第四通知报文。
【附图说明】
[0081]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0082]图1为本发明实施例1提供的远程PCIe系统的示意图;
[0083]图2为本发明实施例1提供的热插拔方法的流程示意图;
[0084]图3为本发明实施例1提供的主机、主机控制器及用户设备控制器的结构框图;
[0085]图4为本发明实施例1提供的热拔方法的流程示意图;
[0086]图5为本发明实施例1提供的热插方法的流程示意图;
[0087]图6本发明实施例2提供的远程PCIe系统的示意图;
[0088]图7为本发明实施例2提供的热插拔方法的流程示意图;
[0089]图8本发明实施例3提供的远程PCIe系统的示意图;
[0090]图9为本发明实施例3提供的热插拔方法的流程示意图;
[0091 ]图10为本发明实施例4提供的主机控制器的结构框图;
[0092]图11为本发明实施例5提供的主机的结构框图;
[0093]图12为本发明实施例6提供的主机的结构框图;
[0094]图13为本发明实施例7提供的第一PCIe桥设备的结构框图;
[0095]图14为本发明实施例8提供的硬件设备的结构框图。
【具体实施方式】
[0096]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0097]现有热插拔都为PCIe协议定义的标准的热插拔,这种热插拔只针对短距离的PCIe设备的热插拔,即只能适用于PCIe设备直接与主机连接的场景。在远距离应用PCIe设备的场景,如:PCIe设备与主机不在同一个地点或二者通过PCIe桥连接,标准的PCIe设备的热插拔方式不够灵活。同时,在复杂的PCIe拓扑结构,如PCIe桥级联的使用场景,标准的PCIe设备的热插拔方法已不能满足场景需求,使得PCIe设备的应用受到限制。
[0098]本发明的原理在于:在主机与PCIe设备间增设能够进行通信的主机控制器、用户设备控制器,使得主机能够通过主机控制器、用户设备控制器对PCIe设备进行热插拔。或者,对PCIe桥与PCIe设备间的链路进行监测,发现链路异常时,则对下挂的PCIe设备进行热插拔。
[0099]实施例1:
[0100]本发明实施例提供一种远程PCIe系统。如图1所述远程PCIe系统包括主机10、主机控制器20、用户设备控制器30以及PCIe设备40。所述主机10与所述主机控制器20连接,PCIe设备40与所述用户设备控制器30连接,所述主机控制器20与所述用户设备控制器30通过网络通信。这里的网络也可以是其他传输介质,如Fiber Channel等,网络适用的不仅仅是TCP/IP协议,可以是其他传输协议。
[0101]本发明实施例提供一种热插拔方法,应用于图1所示的远程PCIe系统。如图2所示,所述方法包括以下步骤:
[0102]slOl、所述主机控制器生成第一通知报文,所述第一通知报文携带热插拔中断信息。
[0103]其中,所述热插拔中断信息携带第一PCIe设备的标识信息以及所述第一PCIe设备对应的插槽信息。该热插拔中断信息指示第一 PCIe设备要将进行热插拔。所述第一 PCIe设备即图1所示的PCIe设备40。
[0104]另外,所述第一通知报文可以是热插拔MSI中断通知TLP报文。
[0105]具体实现中,若需对所述第一PCIe设备进行热插,可以通过以下两种方式生成第一通知报文:
[0106]第一、所述主机控制器接收所述用户设备控制器发送的所述第三通知报文;所述主机控制器根据所述第三通知报文生成所述第一通知报文。
[0107]其中,所述第三通知报文是所述用户设备控制器检测到热插拔被触发后由所述用户设备控制器生成的,所述第三通知报文携带所述热插拔中断信息。
[0108]具体地,可以是用户通过用户设备控制器发起热插拔请求,用户设备控制器则生成所述第三通知报文。所述第三通知报文可以是以太通知报文,如:L2报文、或其他网络传输协议(除TCP/IP协议外)适用的报文。
[0109]第二、所述主机控制器检测到热插拔被触发,则生成所述第一通知报文。
[0110]具体实现中,可以是用户通过主机控制器发起热插拔请求。
[0111]若需对所述第一 PCIe设备进行热拔,则所述主机控制器除了可以通过以上两种方式获取第一通知报文的方式外,还可以通过以下第三种方式获取。
[0112]第三、所述主机控制器检测到与所述用户设备控制器间的网络中断,则生成所述第一通知报文。
[0113]sl02、主机控制器将所述第一通知报文发送给主机。
[0114]sl03、主机接收所述主机控制器发送的第一通知报文,根据所述第一通知报文执行与所述第一 PCIe设备相应的热插拔操作。
[0115]具体实现中,若需对第一PCIe设备进行热拔,则所述主机根据所述第二通知报文执行与所述第一 PCIe设备相应的热插拔操作具体包括:
[0116]所述主机获取所述第一PCIe设备的标识信息以及所述第一 PCIe设备对应的插槽信息;确定所述插槽信息对应的第一插槽;关闭所述第一插槽与所述第一 PCIe设备间的连接,并将所述第一插槽下电。
[0117]另外,若需对所述第一PCIe设备进行热插,则所述主机根据所述第二通知报文执行与所述第一 PCIe设备相应的热插拔操作具体包括:
[0118]所述主机获取第一插槽的插槽信息;所述第一插槽为所述第一PCIe设备对应的插槽;
[0119]所述主机建立所述第二插槽与所述第一PCIe设备间的连接,并给所述第一插槽上电。
[0120]sl04、所述主机生成第二通知报文,并向所述主机控制器发送所述第二通知报文,所述第二通知报文用于指示所述第一 PCIe设备相应的热插拔操作已完成。
[0121]sl05、所述主机控制器接收所述主机发送的第二通知报文,向所述用户设备控制器发送所述第二通知报文。
[0122]其中,所述第二通知报文用于指示所述第一PCIe设备相应的热插拔操作已完成。
[0123]发送所述第二通知报文,以便所述用户设备控制器指示用户插拔所述第一PCIe设备。具体实现中,用户设备控制器点亮指示灯,指示用户可以将第一PCIe设备拔下,或可以将第一 PCIe设备插入插槽。
[0124]进一步的,详细说明图1中主机10、主机控制器20、用户设备控制器30以及PCIe设备40包括的功能模块,并结合各个功能模块详细介绍本发明提供的热插拔方法。
[0125]如图3所示,主机(HOST SERVER) 1包括:ROOT C0MPLEX(根节点)101、热插拔驱动(HOT-PLUG DRIVER)102、热插拔服务程序(HOT-PLUG SERVICE) 103、用户接口(Userinterface) 104、操作系统(OS) 105以及设备驱动程序(DEVICE DRIVER) 106。
[0126]主机控制器20为控制单板。包括:上行端口(UP STREAM) 201、单板控制模块(⑶NTR0LLER)202、管理CPU(PROCESSOR)203、发送和接收数据处理模块(TRANSMIT ANDRECEIVE MODULE)204、网络连接模块(NETWORK ⑶NNECT10N M0DULE)205、带外控制模块(OUT-BAND CONTROLLER)206ο
[0127]用户设备控制器30为控制单板。包
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1