本技术涉及服务器,特别是涉及一种服务器pcie资源的分配方法、装置、设备和存储介质。
背景技术:
1、 服务器基于系统性能以及pcie(peripheral component interconnectexpress,高速串行计算机扩展总线标准)设备热插拔等方面的考虑,需要提前规划其可接入的pcie设备的数量以及不同类型pcie设备在整个系统中的位置,进而可以提前把pcie资源预留到设备上,其中,接入的pcie设备的数量以及不同类型pcie设备在整个系统中的位置构成系统的pcie拓扑结构。因此,针对服务器接入的pcie拓扑结构不同,需要设计不同的pcie资源分配数据。
2、 目前,当一块主板要搭配几种不同的pcie拓扑结构时,需要通过手动修改bios(basic input output system,基本输入输出系统)代码,以得到几个不同的bios版本进行适配,并重新发布版本,导致延长产品的开发和调试周期,影响效率。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够适配多种pcie拓扑的资源分配的服务器pcie资源的分配方法、装置、设备和存储介质。
2、在第一方面,本公开的实施例提供了一种服务器的pcie资源分配方法,方法应用于服务器主板的基本输入输出系统,主板设有可编程逻辑器件和switch芯片,可编程逻辑器件与switch芯片连接,方法包括:
3、向可编程逻辑器件获取switch芯片的当前固件版本;
4、根据当前固件版本以及预先创建的映射关系获取当前pcie拓扑数据,映射关系包括预先为switch芯片配置的多个参考固件版本以及与各个参考固件版本匹配的pcie拓扑数据,当前pcie拓扑数据包括接入服务器的各个pcie设备所需的资源信息以及各个pcie设备之间的拓扑关系,其中,各个pcie设备之间的拓扑关系为根据各个pcie设备的设备类型创建的;
5、根据各个pcie设备所需的资源信息以及各个pcie设备之间的拓扑关系进行资源分配。
6、在其中一个实施例中,设备类型包括根端口以及pcie桥,当设备类型为根端口时,拓扑关系包括根端口与根端口的下游设备之间的父子拓扑关系,当设备类型为所述pcie桥时,拓扑关系包括pcie桥的上游设备与pcie桥之间父子拓扑关系以及pcie桥与pcie桥的下游游设备之间父子拓扑关系。
7、在其中一个实施例中,服务器的pcie资源分配方法还包括:
8、接收对当前pcie拓扑数据的调整请求;
9、根据调整请求调整当前pcie拓扑数据;
10、根据调整后的pcie拓扑数据对新的固件版本进行调试;
11、当调试成功后,创建新的固件版本与调整后的pcie拓扑数据之间的对应关系,并添加至映射关系中。
12、在其中一个实施例中,调整请求包括pcie设备的新增请求,新增请求用于在目标pcie设备处增加新的pcie设备,新增请求携带有目标pcie设备与新的pcie设备之间的拓扑关系和新的pcie设备所需的资源信息,根据调整请求调整当前pcie拓扑数据,包括:
13、将目标pcie设备与新的pcie设备之间的拓扑关系和新的pcie设备所需的资源信息添加至当前pcie拓扑数据。
14、在其中一个实施例中,设备类型包括根端口以及pcie桥,根据调整请求调整所述当前pcie拓扑数据之后,服务器的pcie资源分配方法还包括:
15、将调整后的pcie拓扑数据保存至非易失性随机访问存储器;
16、当下一次重启时,从非易失性随机访问存储器的第一预设区域读取各个pcie设备的设备类型;
17、当设备类型为根端口时,从第二预设区域读取根端口的下游设备所需的资源信息;
18、当设备类型为pcie桥时,从第三预设区域读取pcie桥的上游设备的资源信息以及pcie桥的下游设备所需的资源信息;
19、根据获取的各个pcie设备所需的资源信息重新构建调整后的pcie拓扑数据。
20、在其中一个实施例中,服务器的pcie资源分配方法还包括:
21、当当前固件版本切换为新的固件版本后,从可编程逻辑器件获取新的固件版本;
22、根据新的固件版本以及更新后的映射关系获取调整后的pcie拓扑数据;
23、根据调整后的pcie拓扑数据重新进行资源分配。
24、在其中一个实施例中,接收对当前pcie拓扑数据的调整请求之前,服务器的pcie资源分配方法还包括:
25、接收动态配置使能信号的开启请求,控制开启动态配置使能信号;
26、当下一次重启时,从所述非易失性随机访问存储器的第一预设区域读取各个pcie设备的设备类型,包括:
27、当下一次重启时,检测动态配置使能信号的状态;
28、当检测到动态配置使能信号处于开启状态时,读取非易失性随机访问存储器的第一预设区域中的各个pcie设备的设备类型。
29、在其中一个实施例中,向可编程逻辑器件获取switch芯片的当前固件版本,包括:
30、在启动过程中,从可编程逻辑器件的预留寄存器空间读取对应的寄存器值,以获取switch芯片的当前固件版本。
31、在其中一个实施例中,服务器的pcie资源分配方法还包括:
32、当读取的寄存器值异常时,根据预置的当前固件版本从映射关系中获取对应的pcie拓扑数据。
33、在第二方面,本公开的实施例提供了一种服务器的pcie的资源分配系统,系统包括设于主板的可编程逻辑器件和switch芯片,可编程逻辑器件与switch芯片连接,主板还部署有基本输入输出系统,其中,
34、基本输入输出系统用于在启动过程中,向可编程逻辑器件获取switch芯片的当前固件版本,根据当前固件版本以及预先创建的映射关系获取当前pcie拓扑数据,映射关系包括预先为switch芯片配置的多个参考固件版本以及与各个参考固件版本匹配的pcie拓扑数据,当前pcie拓扑数据包括接入服务器的各个pcie设备所需的资源信息以及各个pcie设备之间的拓扑关系,其中,各个pcie设备之间的拓扑关系为根据各个pcie设备的设备类型创建的,根据各个pcie设备所需的资源信息以及各个pcie设备之间的拓扑关系进行资源分配。
35、在其中一个实施例中,switch芯片还用于将switch芯片的当前固件版本写入可编程逻辑器件的预留寄存器空间;
36、基本输入输出系统用于从可编程逻辑器件的预留寄存器空间读取当前固件版本。
37、在其中一个实施例中,服务器的pcie的资源分配系统还包括基本输入输出系统设置界面,其中,
38、基本输入输出系统还用于通过基本输入输出系统设置界面接收当前pcie拓扑数据的获取请求,并从映射关系中获取当前pcie拓扑数据并导入至基本输入输出系统设置界面展示;
39、基本输入输出系统还用于通过基本输入输出系统设置界面接收当前pcie拓扑数据的调整请求,并根据调整请求对当前pcie拓扑数据进行调整。
40、在第三方面,本公开的实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面本公开的任一实施例中提供的服务器pcie资源的分配方法的步骤。
41、在第四方面,本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面本公开的任一实施例中提供的服务器pcie资源的分配方法的步骤。
42、在第五方面,本公开的实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面本公开的任一实施例中提供的服务器pcie资源的分配方法的步骤。
43、上述服务器pcie资源的分配方法、装置、设备和存储介质,由于switch芯片的固件决定了switch芯片所连接的各个pcie设备的拓扑结构,而switch芯片所连接的各个pcie设备的拓扑结构决定了接入服务器的各个pcie设备的拓扑结构,因此,本技术通过构建映射关系,在映射关系中记录switch芯片的多个固件版本以及各个固件版本对应的pcie拓扑数据,其中,在创建映射关系时,通过对各个pcie设备的设备类型进行分析,分析各个设备类型所对应的拓扑关系,设备类型决定了拓扑关系,拓扑关系决定了资源分配情况,因此本技术基于设备类型、拓扑关系以及所需的资源信息之间的关联关系创建各pcie拓扑数据,进一步创建各个固件版本与pcie拓扑数据之间的关联关系,实现了一块主板可以适配多种pcie拓扑结构,当一块主板需要搭配几种不同的pcie拓扑结构时,无需每次都手动修改bios代码,提升pcie资源分配的效率。
1.一种服务器的pcie资源分配方法,其特征在于,所述方法应用于服务器主板的基本输入输出系统,所述主板设有可编程逻辑器件和switch芯片,所述可编程逻辑器件与所述switch芯片连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述设备类型包括根端口以及pcie桥,当所述设备类型为所述根端口时,所述拓扑关系包括所述根端口与所述根端口的下游设备之间的父子拓扑关系,当所述设备类型为所述pcie桥时,所述拓扑关系包括所述pcie桥的上游设备与所述pcie桥之间父子拓扑关系以及所述pcie桥与所述pcie桥的下游游设备之间父子拓扑关系。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述调整请求包括pcie设备的新增请求,所述新增请求用于在目标pcie设备处增加新的pcie设备,所述新增请求携带有所述目标pcie设备与所述新的pcie设备之间的拓扑关系和所述新的pcie设备所需的资源信息,所述根据所述调整请求调整所述当前pcie拓扑数据,包括:
5.根据权利要求3所述的方法,其特征在于,所述设备类型包括根端口以及pcie桥,所述根据所述调整请求调整所述当前pcie拓扑数据之后,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的方法,其特征在于,所述接收对所述当前pcie拓扑数据的调整请求之前,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述向所述可编程逻辑器件获取所述switch芯片的当前固件版本,包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.一种服务器的pcie的资源分配系统,其特征在于,所述系统包括设于主板的可编程逻辑器件和switch芯片,所述可编程逻辑器件与所述switch芯片连接,所述主板还部署有基本输入输出系统,其中,
11.根据权利要求10所述的系统,其特征在于,所述switch芯片还用于将所述switch芯片的当前固件版本写入所述可编程逻辑器件的预留寄存器空间;
12.根据权利要求10所述的系统,其特征在于,所述系统还包括基本输入输出系统设置界面,其中,
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法的步骤。