[发明专利]PCIe设备热拔方法及装置有效
申请号: | 201710833368.X | 申请日: | 2017-09-15 |
公开(公告)号: | CN107678994B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 方洪灿 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | pcie 设备 方法 装置 | ||
1.一种PCIe设备热拔方法,应用于支持高速串行计算机扩展总线标准PCIe的主机中,其特征在于,包括:
检测所述主机下挂的当前PCIe设备是否发生热拔;
当确定所述当前PCIe设备发生热拔时,执行设备驱动卸载流程,所述设备驱动卸载流程包括:快速停止所述主机分配给所述当前PCIe设备的输入输出I/O接口,快速释放所述主机的分配给所述当前PCIe设备的系统资源,以及停止与所述主机内处理器之间的交互;
当检测到致命错误中断时,屏蔽所述致命错误中断或对所述致命错误中断进行降级处理;
丢弃与所述当前PCIe设备相关的异常报文,并返回报文异常的响应消息;
当接收到与所述当前PCIe设备对应业务的无效响应消息时,正确处理异常报文并退出处理所述当前PCIe设备对应业务的业务进程。
2.根据权利要求1所述的方法,其特征在于,所述检测所述主机下挂的当前PCIe设备是否发生热拔,包括:
查找所述当前PCIe设备的设备标识;当查找不到所述当前PCIe设备的设备标识时,确定所述PCIe设备发生热拔。
3.根据权利要求1所述的方法,其特征在于,所述检测所述主机下挂的当前PCIe设备是否发生热拔,包括:
检测所述主机的内部总线是否异常;
当确定所述内部总线异常时,确定所述当前PCIe设备发生热拔。
4.根据权利要求3所述的方法,其特征在于,检测所述主机的内部总线是否异常,包括:
获取所述当前PCIe设备的待发送PCIe业务报文;
将所述待发送PCIe业务报文存储到报文队列中,并开始为所述待发送PCIe业务报文计时;
当所述待发送PCIe业务报文的计时时长达到时间阈值时,确定所述主机的内部总线发生异常,触发Link中断,确定所述当前PCIe设备发生热拔。
5.根据权利要求1所述的方法,其特征在于,所述检测所述主机下挂的当前PCIe设备是否发生热拔,包括:
检测是否存在插槽Presence中断,所述插槽Presence中断在检测到所述PCIe设备移除时产生;当存在所述插槽Presence中断时,确定所述当前PCIe设备发生热拔。
6.一种PCIe设备热拔方法,应用于PCIe设备中,其特征在于,包括:
检测所述PCIe设备是否存在异常;
当所述PCIe设备存在异常时,直接断开所述PCIe设备与主机之间的数据层链路,以使所述主机检测到所述数据层链路断开后触发Link中断,并使所述主机根据所述Link中断执行设备驱动卸载流程;
其中,所述设备驱动卸载流程包括快速停止所述主机分配给所述PCIe设备的输入输出I/O接口,快速释放所述主机的分配给所述PCIe设备的系统资源,以及停止与所述主机内处理器之间的交互。
7.根据权利要求6所述的方法,其特征在于,检测所述PCIe设备是否存在异常,包括:
当检测到链路恢复标识信息时,确定所述PCIe设备存在异常,所述链路恢复标识信息包括报文符号错误信息和帧错误信息;
或者,
当检测到所述PCIe设备的内部逻辑异常时,确定所述PCIe设备存在异常;
或者,
当所述PCIe设备只有一个PCIe端口时,若检测到掉电中断,则确定所述PCIe设备存在异常;
或者,
当所述PCIe设备包含至少两个PCIe端口时,若检测到目标PCIe端口没有参考时钟,则确定所述目标PCIe端口异常。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当确定所述目标PCIe端口异常时,从所述PCIe设备侧移除所述目标PCIe端口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710833368.X/1.html,转载请声明来源钻瓜专利网。