通过SPS实现带宽分配的方法、装置、设备、介质与流程

文档序号:33381238发布日期:2023-03-08 05:49阅读:90来源:国知局
通过SPS实现带宽分配的方法、装置、设备、介质与流程
通过sps实现带宽分配的方法、装置、设备、介质
技术领域
1.本发明涉及bios带宽分配技术领域,具体涉及一种通过sps实现带宽分配的方法、装置、设备、介质。


背景技术:

2.当前在服务器应用场景中,越来越多的场景要求bios能够根据不同的配置来自动分配pcie port口的带宽,从而能够自适应各种场景的变化,及时适配场景需要,并立即生效,从而减少开机时间,提高工作效率和复杂度。
3.当前bios带宽分配的方式主要有:1.根据使用场景,手动修改bios菜单来适配,该方案操作复杂,而且需要重启生效,也比较浪费时间;2.bios通过bmc获取当前需要适配的pcie带宽要求,再对服务器进行带宽配置,该方案需要bmc来配合实现,增加了耦合度又可能因为bmc异常导致获取带宽信息失败;3.bios通过一组gpio信号值来对应当前的配置要求,并根据配置要求来设置pcie的带宽,该方案需要bios要解析每个组合的gpio值,通过gpio值对应的配置来设置pcie的带宽,这就导致该方案的扩展性差,而且整个方案都只有bios参与完成,使得复杂度增加,如果带宽异常,也不好排查原因。
4.针对当前bios带宽分配的方式存在的问题,提供一种通过sps实现带宽分配的方法、装置、设备、介质,是非常有必要的。


技术实现要素:

5.针对bios带宽自适应分配的实现方案,本发明提出了一种通过sps实现bios与cpld通信的方法,通过cpld获取服务器的配置信息,bios再来设置pcie带宽分配。该方案即避免了bmc的强耦合影响,又避免通过gpio的方案导致实现复杂和扩展性差的问题;而通过sps获取cpld寄存器的方案,可以避免host smbus会被多个设备用到,导致通道拥堵,本发明提供一种通过sps实现带宽分配的方法、装置、设备、介质。
6.第一方面,本发明技术方案提供一种通过sps实现带宽分配的方法,包括如下步骤:
7.设置通过sps实现bios与cpld通信;
8.设置bios通过sps向cpld下达命令获取服务器的配置信息;
9.根据获取的服务器的配置信息配置pcie带宽。
10.作为本发明技术方案的进一步限定,设置通过sps实现bios与cpld通信的步骤包括:
11.将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;
12.配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能。
13.作为本发明技术方案的进一步限定,设置通过sps实现bios与cpld通信的步骤还包括:
14.定义cpld相关的地址和命令。
15.作为本发明技术方案的进一步限定,设置bios通过sps向cpld下达命令获取服务器的配置信息的步骤包括:
16.bios在开机阶段加载heci驱动;
17.调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息。
18.作为本发明技术方案的进一步限定,bios在开机阶段加载heci驱动的在步骤包括:
19.bios在开机阶段加载heci驱动;
20.判断是否加载成功;
21.若是,执行步骤:调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息;
22.若否,结束。
23.作为本发明技术方案的进一步限定,调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息的步骤包括:
24.调用heci驱动;
25.根据cpld提供的地址和命令值,执行heci通信函数获取cpld寄存器信息。
26.作为本发明技术方案的进一步限定,配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能的步骤包括:
27.设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios通过sps的smlink通道来与cpld信息交互。
28.当前bios带宽分配的方式主要有:1.根据使用场景,手动修改bios菜单来适配,该方案操作复杂,而且需要重启生效,也比较浪费时间;2.bios通过bmc获取当前需要适配的pcie带宽要求,再对服务器进行带宽配置,该方案需要bmc来配合实现,增加了耦合度又可能因为bmc异常导致获取带宽信息失败;3.bios通过一组gpio信号值来对应当前的配置要求,并根据配置要求来设置pcie的带宽,该方案需要bios要解析每个组合的gpio值,通过gpio值对应的配置来设置pcie的带宽,这就导致该方案的扩展性差,而且整个方案都只有bios参与完成,使得复杂度增加,如果带宽异常,也不好排查原因。本发明通过sps上自带的smlink总线实现bios和cpld的信息交互,从而获取配置信息来进行pcie的带宽分配。首先,硬件工程师需要将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;其次,配置sps文件,设置对应引脚smlink作为smlink功能使用,并使能pmbus功能;最后,在bios中通过调用heci驱动执行pmbus command来实现与cpld的数据交互。
29.第二方面,本发明技术方案还提供一种通过sps实现带宽分配的装置,包括第一设置模块、第二设置模块、带宽分配模块;
30.第一设置模块,用于设置通过sps实现bios与cpld通信;
31.第二设置模块,用于设置bios通过sps向cpld下达命令获取服务器的配置信息;
32.带宽分配模块,用于根据获取的服务器的配置信息配置pcie带宽。
33.作为本发明技术方案的进一步限定,第一设置模块包括连接设置单元、配置单元;
34.连接设置单元,用于将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;
35.配置单元,用于配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能。
36.作为本发明技术方案的进一步限定,第一设置模块还包括定义单元,用于定义cpld相关的地址和命令。
37.作为本发明技术方案的进一步限定,第二设置模块包括加载设置单元、配置信息获取单元;
38.加载设置单元,用于设置bios在开机阶段加载heci驱动;
39.配置信息获取单元,用于调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息。
40.作为本发明技术方案的进一步限定,加载设置单元包括加载设置子模块和判断子模块;
41.加载设置子模块,用于设置在开机阶段加载heci驱动;
42.判断子模块,用于判断是否加载成功;若是,触发配置信息获取单元。
43.作为本发明技术方案的进一步限定,配置信息获取单元包括调用子模块、获取子模块;
44.调用子模块,用于调用heci驱动;
45.获取子模块,用于根据cpld提供的地址和命令值,执行heci通信函数获取cpld寄存器信息。
46.作为本发明技术方案的进一步限定,配置单元,具体用于设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios通过sps的smlink通道来与cpld信息交互。
47.当前bios带宽分配的方式主要有:1.根据使用场景,手动修改bios菜单来适配,该方案操作复杂,而且需要重启生效,也比较浪费时间;2.bios通过bmc获取当前需要适配的pcie带宽要求,再对服务器进行带宽配置,该方案需要bmc来配合实现,增加了耦合度又可能因为bmc异常导致获取带宽信息失败;3.bios通过一组gpio信号值来对应当前的配置要求,并根据配置要求来设置pcie的带宽,该方案需要bios要解析每个组合的gpio值,通过gpio值对应的配置来设置pcie的带宽,这就导致该方案的扩展性差,而且整个方案都只有bios参与完成,使得复杂度增加,如果带宽异常,也不好排查原因。本发明通过sps上自带的smlink总线实现bios和cpld的信息交互,从而获取配置信息来进行pcie的带宽分配。首先,硬件工程师需要将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;其次,配置sps文件,设置对应引脚smlink作为smlink功能使用,并使能pmbus功能;最后,在bios中通过调用heci驱动执行pmbus command来实现与cpld的数据交互。
48.第三方面,本发明技术方案还提供一种电子设备,所述电子设备包括:
49.至少一个处理器;以及,
50.与所述至少一个处理器通信连接的存储器;其中,
51.存储器存储有可被至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的通过sps实现带宽分配的方法。
52.主要是采用sps管理器作为载体,bios通过sps向cpld下达命令来获取配置信息的指令,从cpld获取到后再根据配置信息来配置pcie带宽。这样既解决了通过bmc方式导致耦
合问题又解决了gpio方式导致的扩展性差的问题,而且也有利于后续问题分析。
53.第四方面,本发明技术方案还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的通过sps实现带宽分配的方法。通过cpld获取服务器的配置信息,bios再来设置pcie带宽分配。该方案即避免了bmc的强耦合影响,又避免通过gpio的方案导致实现复杂和扩展性差的问题;而通过sps获取cpld寄存器的方案,可以避免host smbus会被多个设备用到,导致通道拥堵。
54.从以上技术方案可以看出,本发明具有以下优点:主要是采用sps管理器作为载体,bios通过sps向cpld下达命令来获取配置信息的指令,从cpld获取到后再根据配置信息来配置pcie带宽。这样既解决了通过bmc方式导致耦合问题又解决了gpio方式导致的扩展性差的问题,而且也有利于后续问题分析。
55.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
56.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
57.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本发明一个实施例的方法的示意性流程图。
59.图2是本发明另一个实施例的方法的示意性流程图。
60.图3是本发明一个实施例的装置的示意性框图。
具体实施方式
61.当前bios带宽分配的方式主要有:1.根据使用场景,手动修改bios菜单来适配,该方案操作复杂,而且需要重启生效,也比较浪费时间;2.bios通过bmc获取当前需要适配的pcie带宽要求,再对服务器进行带宽配置,该方案需要bmc来配合实现,增加了耦合度又可能因为bmc异常导致获取带宽信息失败;3.bios通过一组gpio信号值来对应当前的配置要求,并根据配置要求来设置pcie的带宽,该方案需要bios要解析每个组合的gpio值,通过gpio值对应的配置来设置pcie的带宽,这就导致该方案的扩展性差,而且整个方案都只有bios参与完成,使得复杂度增加,如果带宽异常,也不好排查原因。本发明通过sps上自带的smlink总线实现bios和cpld的信息交互,从而获取配置信息来进行pcie的带宽分配。首先,硬件工程师需要将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;其次,配置sps文件,设置对应引脚smlink作为smlink功能使用,并使能pmbus功能;最后,在bios中通过调用heci驱动执行pmbus command来实现与cpld的数据交互。bios再来设置pcie带宽分配。该方案即避免了bmc的强耦合影响,又避免通过gpio的方案导致实现复杂和扩展性差的问题;而通过sps获取cpld寄存器的方案,可以避免host smbus会被多个设备用到,导致通道拥堵。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描
述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
62.需要说明的是,bios basic input output system基本输入输出系统。
63.sps intel server platform services服务器平台管理服务。
64.cpld complex programmable logic device一般指复杂可编程逻辑器件。
65.如图1所示,本发明实施例提供一种通过sps实现带宽分配的方法,包括如下步骤:
66.步骤1:设置通过sps实现bios与cpld通信;
67.步骤2:设置bios通过sps向cpld下达命令获取服务器的配置信息;
68.步骤3:根据获取的服务器的配置信息配置pcie带宽。
69.通过cpld获取服务器的配置信息,bios再来设置pcie带宽分配。该方案即避免了bmc的强耦合影响,又避免通过gpio的方案导致实现复杂和扩展性差的问题;而通过sps获取cpld寄存器的方案,可以避免host smbus会被多个设备用到,导致通道拥堵。
70.如图2所示,本发明实施例提供一种通过sps实现带宽分配的方法,包括如下步骤:
71.s1:将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;
72.s2:定义cpld相关的地址和命令;
73.s3:配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能。实际上,设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios通过sps的smlink通道来与cpld信息交互。
74.s4:bios在开机阶段加载heci驱动;
75.s5:判断是否加载成功;
76.若是,步骤s6;
77.若否,结束。
78.s6:调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息;
79.s7:根据获取的服务器的配置信息配置pcie带宽。
80.本发明通过sps上自带的smlink总线实现bios和cpld的信息交互,从而获取配置信息来进行pcie的带宽分配。首先,硬件工程师需要将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;其次,配置sps文件,设置对应引脚smlink作为smlink功能使用,并使能pmbus功能;最后,在bios中通过调用heci驱动执行pmbus command来实现与cpld的数据交互。
81.本发明实施例提供一种通过sps实现带宽分配的方法,前期工作如下:
82.首先,硬件工程师需要将未使用到的smb_sml4_scl和smb_sml4_sda引脚连接到cpld上,保证硬件线路正常连接;
83.其次,cpld作为master设备,定义相关的address和command,bios或者通过对应的地址下发command来获取相关的数据信息;
84.然后,设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios可以通过sps的smlink通道来与cpld信息交互;
85.前期工作已完成,接下来就是bios来调用驱动与cpld进行信息交互,具体步骤如
下:
86.1.bios在开机阶段成功加载heci驱动;
87.2.调用heci驱动,根据cpld提供的address和command值,以及sps通信协议需要的flag。sensorbus,channel等信息,作为函数入参,执行hecisendandreceive驱动函数。
88.3.通过返回信息获取到cpld中的数据信息,并将数据保存起来方便后续使用。
89.主要是采用sps管理器作为载体,bios通过sps向cpld下达命令来获取配置信息的指令,从cpld获取到后再根据配置信息来配置pcie带宽。这样既解决了通过bmc方式导致耦合问题又解决了gpio方式导致的扩展性差的问题,而且也有利于后续问题分析。
90.如图3所示,本发明实施例还提供一种通过sps实现带宽分配的装置,包括第一设置模块、第二设置模块、带宽分配模块;
91.第一设置模块,用于设置通过sps实现bios与cpld通信;
92.第二设置模块,用于设置bios通过sps向cpld下达命令获取服务器的配置信息;
93.带宽分配模块,用于根据获取的服务器的配置信息配置pcie带宽。
94.本发明实施例还提供一种通过sps实现带宽分配的装置,包括第一设置模块、第二设置模块、带宽分配模块;
95.第一设置模块,用于设置通过sps实现bios与cpld通信;第一设置模块包括连接设置单元、配置单元、定义单元;
96.连接设置单元,用于将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;配置单元,用于配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能。定义单元,用于定义cpld相关的地址和命令。
97.第二设置模块,用于设置bios通过sps向cpld下达命令获取服务器的配置信息;第二设置模块包括加载设置单元、配置信息获取单元;
98.加载设置单元,用于设置bios在开机阶段加载heci驱动;配置信息获取单元,用于调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息。
99.带宽分配模块,用于根据获取的服务器的配置信息配置pcie带宽。
100.其中,加载设置单元包括加载设置子模块和判断子模块;
101.加载设置子模块,用于设置在开机阶段加载heci驱动;判断子模块,用于判断是否加载成功;若是,触发配置信息获取单元。
102.配置信息获取单元包括调用子模块、获取子模块;
103.调用子模块,用于调用heci驱动;获取子模块,用于根据cpld提供的地址和命令值,执行heci通信函数获取cpld寄存器信息。
104.配置单元,具体用于设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios通过sps的smlink通道来与cpld信息交互。
105.本发明实施例还提供一种电子设备,所述电子设备包括:处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信。总线可以用于电子设备与传感器之间的信息传输。处理器可以调用存储器中的逻辑指令,以执行如下方法:s1:将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;s2:定义cpld相关的地址和命令;s3:配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能。实际上,设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios通
过sps的smlink通道来与cpld信息交互。s4:bios在开机阶段加载heci驱动;s5:判断是否加载成功;若是,步骤s6;若否,结束。s6:调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息;s7:根据获取的服务器的配置信息配置pcie带宽。此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
106.本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述方法实施例所提供的方法,例如包括:s1:将未使用的smlink smbus clock/smlink smbus data引脚连接到cpld上;s2:定义cpld相关的地址和命令;s3:配置sps文件,设置对应smlink引脚作为smlink功能使用,并使能pmbus功能。实际上,设置sps中对应的配置脚本,使能smlink功能和pmbus功能,使得bios通过sps的smlink通道来与cpld信息交互。s4:bios在开机阶段加载heci驱动;s5:判断是否加载成功;若是,步骤s6;若否,结束。s6:调用heci驱动,根据cpld提供的地址和命令值下发命令来获取服务器的配置信息;s7:根据获取的服务器的配置信息配置pcie带宽。
107.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1