服务器总线设备热插入控制方法、装置及电子设备与流程
- 国知局
- 2024-07-31 23:19:01
本技术实施例涉及总线设备领域,具体而言,涉及一种服务器总线设备热插入控制方法、装置及电子设备。
背景技术:
1、服务器的外围设备可以完成灵活配置,实现不同的功能,例如,总线设备中的ocp卡。ocp卡的热插拔需要采用通知式热插拔来实现,ocp卡插入运行中的服务器系统中,相关技术中,cpld需要按照第二协议(例如,ocp3.0协议)将ocp卡上电并且解除复位,在os与ocp卡完成符合第一协议(例如pcie协议)的数据链路(例如pcie连接)的建立后,ocp卡热插入完成。
2、在这个过程,第二协议(例如,ocp3.0协议)与第一协议(例如pcie协议)中,对于总线设备(例如,ocp卡)上电到复位释放之间的时间的要求是冲突的,第二协议(例如,ocp3.0协议)要求从ocp卡上电到reset释放要大于1s,而第一协议(例如pcie协议)要求pcie设备从上电到建立连接(复位释放)要小于1s。这会导致总线设备上电失败。
技术实现思路
1、本技术实施例提供了一种服务器总线设备热插入控制方法、装置及电子设备,以至少解决相关技术中总线设备的启动的成功率较低的问题。
2、根据本技术的一个实施例,提供了一种服务器总线设备热插入控制方法,服务器包括处理器和控制器,所述控制器与所述处理器连接,所述处理器用于通过符合第一协议的数据链路与所述服务器所连接的总线设备进行交互,所述方法应用于所述控制器,所述方法包括:检测所述总线设备上所触发的启动操作;在检测到所述总线设备被触发了所述启动操作的情况下,控制所述总线设备进入设备启动过程所包括的启动阶段中的目标启动阶段,其中,所述目标启动阶段是具有第二协议的所述总线设备的协议执行过程的开始阶段,所述第二协议与所述第一协议不同;在间隔配置的第一预设时长之后,控制所述总线设备执行所述设备启动过程中除所述目标启动阶段之外的其它启动阶段。
3、在一个示范性实施例中,所述服务器还包括启动触发部件,所述启动触发部件和所述控制器连接,所述检测所述总线设备上所触发的启动操作,包括:检测所述启动触发部件是否被执行了触发操作;在检测到所述启动触发部件被执行了所述触发操作的情况下,确定检测到所述总线设备上触发了所述启动操作。
4、在一个示范性实施例中,所述控制器中还部署有寄存器,所述寄存器用于存储启动触发部件是否被执行了触发操作的信息,在所述控制所述总线设备进入设备启动过程所包括的启动阶段中的目标启动阶段之后,所述方法还包括:提取所述启动触发部件的目标信息,其中,所述目标信息用于指示所述启动触发部件被执行了所述触发操作;将所述目标信息存储至所述寄存器中。
5、在一个示范性实施例中,所述总线设备连接至所述服务器上的设备接口,所述在间隔配置的第一预设时长之后,控制所述总线设备执行所述设备启动过程中除所述目标启动阶段之外的其它启动阶段,包括:在所述设备启动过程包括n个启动阶段的情况下,通过执行以下步骤,在间隔配置的第一预设时长之后,控制所述总线设备执行所述n个启动阶段中除所述目标启动阶段之外的n-1个启动阶段,其中,n为大于或者等于2的正整数:
6、提取配置的所述n个启动阶段之间的m个预设时长,m为正整数;根据所述m个预设时长,确定所述目标启动阶段与所述n-1个启动阶段中的首个启动阶段之间间隔的预设时长以及所述n-1个启动阶段中相邻的启动阶段之间的预设时长,得到参考预设时长;按照所述参考预设时长,控制所述总线设备执行所述n个启动阶段中除所述目标启动阶段之外的n-1个启动阶段。
7、在一个示范性实施例中,所述根据所述m个预设时长,确定所述目标启动阶段与所述n-1个启动阶段中的首个启动阶段之间间隔的预设时长以及所述n-1个启动阶段中相邻的启动阶段之间的预设时长,得到参考预设时长,包括:通过执行以下步骤所述m个预设时长,确定开始执行所述n-1个启动阶段中第i个启动阶段和开始执行第i+1个启动阶段之间间隔的第i个预设时长,其中,i为小于或者等于n-1的正整数,所述参考预设时长包括所述第i个预设时长:从所述m个预设时长中除所述第一预设时长外的预设时长中提取所述第i个预设时长;或者,从所述m个预设时长中除所述第一预设时长外的预设时长中提取第i2-1个预设时长和第i1-1个预设时长,其中,所述第i1-1个预设时长是开始执行所述n-1个启动阶段中第i-1个启动阶段与开始执行所述第i个启动阶段之间间隔的预设时长,所述第i2-1个预设时长是所述n-1个启动阶段中第i-1个启动阶段与所述第i+1个启动阶段之间的预设时长,根据所述第i2-1个预设时长和所述第i1-1个预设时长,确定所述第i个预设时长,其中,i1等于i2等于i。
8、在一个示范性实施例中,所述根据所述第i2-1个预设时长和所述第i1-1个预设时长,确定所述第i个预设时长,包括:将所述第i个预设时长确定为所述第i2-1个预设时长减去所述第i1-1个预设时长所得到的值。
9、在一个示范性实施例中,所述按照所述参考预设时长,控制所述总线设备执行所述n个启动阶段中除所述目标启动阶段之外的n-1个启动阶段,包括:在控制所述总线设备开始执行所述目标启动阶段的情况下,间隔n-1个预设时长中的首个预设时长,控制所述总线设备开始执行所述首个启动阶段,其中,所述参考预设时长包括所述n-1个预设时长;在控制所述总线设备开始执行所述首个启动阶段的情况下,按照n-2个预设时长控制所述总线设备执行所述n-1个启动阶段中除所述首个启动阶段外的启动阶段中对应的启动阶段,其中,所述n-2个预设时长是所述参考预设时长中除所述目标启动阶段与所述首个启动阶段之间间隔的预设时长之外的预设时长。
10、在一个示范性实施例中,所述服务器还包括启动触发部件,所述启动触发部件和所述控制器连接,所述控制器中还部署有寄存器,所述寄存器中存储了用于指示所述启动触发部件被执行了触发操作的目标信息,所述在控制所述总线设备开始执行所述目标启动阶段的情况下,间隔n-1个预设时长中的首个预设时长,控制所述总线设备开始执行所述首个启动阶段,包括:在控制所述总线设备开始执行所述目标启动阶段、且所述首个启动阶段包括信息读取阶段的情况下,间隔所述首个预设时长,生成并向所述处理器发送目标读取指令,其中,所述目标读取指令用于指示所述处理器从所述寄存器中读取所述寄存器中存储的信息,所述处理器被设置为响应于接收到的所述目标读取指令,读取所述寄存器中存储的信息。
11、在一个示范性实施例中,所述按照n-2个预设时长控制所述总线设备执行所述n-1个启动阶段中除所述首个启动阶段外的启动阶段中对应的启动阶段,包括:通过执行以下步骤,按照所述n-2个预设时长中的第s-1个预设时长,控制所述总线设备执行所述n-1个启动阶段中除所述首个启动阶段外的启动阶段中的第s个启动阶段,并按照所述n-2个预设时长中的第s个预设时长,控制所述总线设备执行所述n-1个启动阶段中除所述首个启动阶段外的启动阶段中的第s+1个启动阶段,其中,所述第s-1个预设时长是开始执行所述第s-1个启动阶段和开始执行所述第s个启动阶段之间的预设时长,所述第s个预设时长是开始执行所述第s个启动阶段和开始执行所述第s+1个启动阶段之间的预设时长,s为小于或者等于n-2、且大于1的正整数:在控制所述总线设备开始执行第s-1个启动阶段的情况下,间隔所述第s-1个预设时长,开始控制所述总线设备开始执行所述第s个启动阶段;在控制所述总线设备开始执行所述第s个启动阶段的情况下,间隔所述第s个预设时长,控制所述总线设备开始执行第s+1个启动阶段。
12、在一个示范性实施例中,所述控制器中还部署有寄存器,所述寄存器中存储了用于指示启动触发部件被执行了触发操作的目标信息,所述在控制所述总线设备开始执行第s-1个启动阶段的情况下,间隔所述第s-1个预设时长,开始控制所述总线设备开始执行所述第s个启动阶段,包括:在所述第s-1个启动阶段包括信息读取阶段、所述第s个启动阶段包括信号接收阶段、且控制所述总线设备开始执行所述第s-1个启动阶段的情况下,间隔所述第s-1个预设时长,接收所述处理器发送的目标信号,其中,所述处理器被设置为在从所述寄存器读取到所述目标信息的情况下,生成并向所述控制器发送所述目标信号。
13、在一个示范性实施例中,所述在控制所述总线设备开始执行所述第s个启动阶段的情况下,间隔所述第s个预设时长,控制所述总线设备开始执行第s+1个启动阶段,包括:在所述第s个启动阶段包括信号接收阶段、所述第s+1个启动阶段包括解复位阶段的情况下,在控制所述总线设备开始执行所述信号接收阶段的情况下,间隔所述第s个预设时长,对所述总线设备执行解复位操作。
14、在一个示范性实施例中,在所述控制所述总线设备开始执行第s+1个启动阶段之后,所述方法还包括:在控制所述总线设备开始执行第s+1个启动阶段、且第s+2个启动阶段包括数据链路建立阶段的情况下,间隔所述n-2个预设时长中的第s+1个预设时长,生成并向所述处理器发送数据链路建立指令,其中,所述数据链路建立指令用于指示所述处理器建立符合所述第一协议的所述处理器与所述总线设备之间的目标数据链路;接收所述处理器返回的数据链路建立结果,其中,所述处理器被设置为响应于接收到的所述数据链路建立指令,建立符合所述第一协议的所述处理器与所述总线设备之间的所述目标数据链路。
15、在一个示范性实施例中,所述服务器上部署有设备接口,所述设备接口连接了所述总线设备,所述服务器中部署有存储空间,在所述检测所述总线设备上所触发的启动操作之前,所述方法还包括:根据所述协议执行过程和数据链路的建立过程,配置所述设备接口的所述总线设备的所述设备启动过程中所包括的启动阶段之间间隔的预设时长;将具有对应关系的设备接口和所述设备接口的总线设备的设备启动过程中所包括的启动阶段之间间隔的预设时长记录在所述存储空间中。
16、在一个示范性实施例中,所述根据所述协议执行过程和数据链路的建立过程,配置所述设备接口的所述总线设备的所述设备启动过程中所包括的启动阶段之间间隔的预设时长,包括:在所述设备接口的总线设备的设备启动过程包括n个启动阶段,所述n个启动阶段之间间隔的预设时长包括m个预设时长的情况下,通过执行以下步骤,根据协议执行时间和建立时间,配置所述m个预设时长,其中,n为大于或者等于2的正整数,m为正整数:从所述m个预设时长筛选第t个预设时长,并配置所述第t个预设时长,其中,所述第t个预设时长是开始执行所述n个启动阶段中的第一参考启动阶段和开始执行所述n个启动阶段中的第二参考启动阶段之间间隔的时长,所述协议执行过程和数据链路的建立过程均包括所述第一参考启动阶段和所述第二参考启动阶段,t是小于或者等于n的正整数;根据所述第t个预设时长,配置所述m个预设时长中除所述第t个预设时长外的预设时长。
17、在一个示范性实施例中,所述根据所述第t个预设时长,配置所述m个预设时长中除所述第t个预设时长外的预设时长,包括:通过执行以下步骤配置所述m个预设时长除所述第t个预设时长中的k个预设时长,其中,所述k个预设时长是用于确定所述协议执行时间的预设时长,k是小于或者等于m的正整数:将第二预设时长减去所述第t个预设时长,得到第一差值预设时长;按照所述第一差值预设时长配置所述k个预设时长中的各个预设时长,其中,所述k个预设时长之和等于所述第一差值预设时长。
18、在一个示范性实施例中,所述按照所述第一差值预设时长配置所述k个预设时长中的各个预设时长,其中,所述k个预设时长之和等于所述第一差值预设时长,包括:通过执行以下步骤,按照q个第一差值预设时长配置所述k个预设时长中的各个预设时长,其中,所述q个第一差值预设时长中的第q个第一差值预设时长是将所述第二预设时长减去q次配置的所述第t个预设时长中第q次配置的所述第t个预设时长所得到的,q为大于或者等于2的正整数,q为小于或者等于q的正整数:对所述q个第一差值预设时长执行平均操作,得到平均差值预设时长;按照所述平均差值预设时长,配置所述k个预设时长中的各个预设时长,其中,所述k个预设时长之和等于所述平均差值预设时长。
19、在一个示范性实施例中,所述根据所述第t个预设时长,配置所述m个预设时长中除所述第t个预设时长外的预设时长,包括:通过执行以下步骤配置所述m个预设时长除所述第t个预设时长外的预设时长中的p个预设时长,其中,所述m个预设时长包括所述第t个预设时长、所述p个预设时长和k个预设时长,p为小于或者等于m的正整数,所述p个预设时长是用于确定所述建立时间的预设时长:将第二预设时长减去所述第t个预设时长,得到第二差值预设时长;按照所述第二差值预设时长,配置p个预设时长中的各个预设时长。
20、在一个示范性实施例中,在所述根据所述第t个预设时长,配置所述m个预设时长中除所述第t个预设时长外的预设时长之前,所述方法还包括:检测所述协议执行时间和所述建立时间的时长差值;对目标乘积和所述时长差值执行求和操作,得到和值时长,其中,所述目标乘积是对所述时长差值与目标比例执行乘积操作所得到的值;将第二预设时长配置为所述和值时长。
21、根据本技术的另一个实施例,提供了一种服务器pcle设备热插入控制方法,包括:处理器,可编程逻辑控制器与所述处理器连接,用于:检测pcle设备的热插入触发信号;所述可编程逻辑控制器在接收到所述pcle设备的热插入触发信号后,控制所述pcle设备上电,并启动第一预设时间延时;所述处理器在第一预设时间延时完成后根据读取的所述热插入触发信号启动所述pcle设备的驱动加载;所述处理器在所述pcle设备的驱动加载完成后发送电源使能信号至所述可编程逻辑控制器,所述可编程逻辑控制器根据所述电源使能信号建立所述pcle设备和处理器之间的高速连接,以实现所述pcle设备的热插入。
22、根据本技术的另一个实施例,提供了一种服务器总线设备热插入控制装置,所述装置包括:服务器包括处理器和控制器,所述控制器与所述处理器连接,所述处理器用于通过符合第一协议的数据链路与所述服务器所连接的总线设备进行交互,所述装置应用于所述控制器,所述装置包括:第一检测模块,用于检测所述总线设备上所触发的启动操作;第一控制模块,用于在检测到所述总线设备被触发了所述启动操作的情况下,控制所述总线设备进入设备启动过程所包括的启动阶段中的目标启动阶段,其中,所述目标启动阶段是具有第二协议的所述总线设备的协议执行过程的开始阶段,所述第二协议与所述第一协议不同;第二控制模块,用于在间隔配置的第一预设时长之后,控制所述总线设备执行所述设备启动过程中除所述目标启动阶段之外的其它启动阶段。
23、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
24、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
25、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
26、通过本技术,在检测到总线设备被触发了启动操作的情况下,直接控制该总线设备进入启动阶段中的开始阶段,开始协议执行过程的计时,然后按照配置的总线设备的设备启动过程所包括的启动阶段之间间隔的预设时长,控制总线设备执行启动阶段中除开始阶段之外的其它启动阶段,通过这样的方式,拉长了协议执行过程的时间,缩短了数据链路的建立时间,使得协议执行时间满足总线设备所支持的第二协议,同时也使得数据链路的建立时间满足第一协议,避免了因为执行启动阶段的时间和数据链路的建立时间之间的冲突,所导致的总线设备的启动失败,因此,可以解决总线设备的启动的成功率较低问题,达到提升总线设备的启动的成功率效果。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196975.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。