一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种计算设备及PCIE资源分配方法与流程

2023-02-04 09:06:01 来源:中国专利 TAG:

一种计算设备及pcie资源分配方法
技术领域
1.本技术涉及计算机技术领域,尤其涉及一种计算设备及pcie资源分配方法。


背景技术:

2.服务器是网络系统和计算平台的核心,为了适应不同的应用场景,诞生了通用型服务器。通用型服务器不是专为某一功能而设计,在不同的场景中可以对其进行不同的配置,以满足不同的业务场景。
3.目前,在服务器中常采用高速串行计算机扩展(peripheral component interconnect express,pcie)总线技术来扩展连接外围设备,以丰富服务器的功能。其中,对于通过pcei总线连接的不同的外围设备,根据不同的设计和工作模式,往往具有不同的带宽和/或速率。但是对于服务器来说,pcie资源是有限的,因此,如何分配pcie资源是目前亟需解决的技术问题。


技术实现要素:

4.本技术提供了一种计算设备及pcie资源分配方法,能够灵活的分配pcie资源。
5.第一方面,本技术提供一种计算设备,包括:第一板卡,第一板卡上设置有pcie插槽、第一控制器和第一连接器,第一控制器和第一连接器连接,pcie插槽与第一连接器连接;主板,主板上设置有第二控制器和第二连接器,第二控制器和第二连接器连接,第一连接器和第二连接器连接,且第一连接器通过第一单线向第二控制器发送第一板卡所需要的pcie资源;其中,第二控制器用于基于从第二连接器获取到的第一板卡所需要的pcie资源,为第二连接器分配pcie带宽和/或速率。
6.这样,在分配pcie资源时,通过单根总线即可以实现pcie资源的分配;同时,对板卡无要求,通用性强。由此提升了pcie资源的自适应分配能力。
7.在一种可能的实现方式中,在计算设备上电前,第一控制器用于将第一板卡所需的pcie资源按照预设协议,生成对应的波形,并通过第一连接器和第二连接器发送至第二控制器;其中,波形包括高电平和低电平。
8.在一种可能的实现方式中,pcie插槽为多个,至少一个pcie插槽上配置有pcie设备;第一控制器用于基于pcie设备的在位信息,确定第一板卡所需要的pcie资源;第二控制器用于基于第一板卡所需要的pcie资源,为第二连接器配置pcie资源。在一些实施例中,第一控制器确定第一板卡所需要的pcie资源的时间在计算设备上电之间,比如:可以在计算设备插上电源时。
9.在一种可能的实现方式中,pcie插槽为多个,多个pcie插槽中的部分配置有pcie设备;且配置有pcie设备的pcie插槽的带宽小于第二连接器的传输带宽;其中,第一连接器与第二连接器之间通过资源分离线进行连接。示例性的,资源分离线可以为二分线(即一分为二的线)、三分线、四分线等。
10.在一种可能的实现方式中,第二控制器包括复杂可编程逻辑器件cpld和平台控制
中心pch,pch和cpld连接,cpld和第二连接器连接;其中,cpld用于接收第一控制器发送的数据,并对数据按照预设协议进行解析,以得到第二连接器所需的pcie带宽和/或速率;pch用于从cpld处获取第二连接器所需的pcie带宽和/或速率,并为第二连接器分配pcie带宽和/或速率。
11.在一种可能的实现方式中,第一板卡为多个,主板上配置有多个第二连接器,每个第一板卡均与一个第二连接器连接;cpld还用于:获取所有第一板卡上的第一控制器发送的数据,并对获取到的数据进行解析,以得到各个第二连接器所需的pcie带宽和/或速率;将各个第二连接器所需的pcie带宽和/或速率发送至pch。
12.第二方面,本技术提供一种pcie资源分配方法,应用于计算设备,计算设备中包括第一板卡和主板,第一板卡上设置有pcie插槽、第一控制器和第一连接器,pcie插槽与第一连接器连接,主板上设置有第二控制器和第二连接器,第二连接器与第一连接器连接。方法包括:第二控制器通过第一单线获取第一控制器发送的第一板卡所需要的pcie资源;第二控制器基于pcie资源,为第二连接器分配pcie带宽和/或速率。
13.在一种可能的实现方式中,第一板卡上设置有多个pcie插槽,至少一个pcie插槽中未配置有pcie设备,其中,pcie资源基于多个pcie插槽中pcie设备的在位信息确定。
14.在一种可能的实现方式中,第二控制器获取到pcie资源的时间为计算设备上电之前;第二控制器为第二连接器分配pcie带宽和/或速率的时间为在计算设备上电之后。
15.在一种可能的实现方式中,方法还包括:当第一连接器和第二连接器间的第一单线发生变更后,第二控制器重新为第二连接器分配pcie带宽和/或速率。
16.可以理解的是,上述第二方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
17.图1是本技术实施例提供的一种计算设备的结构示意图;
18.图2是本技术实施例提供的一种主板上的连接器与板卡上的连接器相连的示意图;
19.图3是本技术实施例提供的一种pcie资源分配方法的流程示意图;
20.图4是本技术实施例提供的一种计算设备结构示意图。
具体实施方式
21.本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本文中符号“/”表示关联对象是或者的关系,例如a/b表示a或者b。
22.本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一响应消息和第二响应消息等是用于区别不同的响应消息,而不是用于描述响应消息的特定顺序。
23.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨
在以具体方式呈现相关概念。
24.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
25.一般地,可以在服务器的主板和板卡的标准接口上定义多个通用输入输出(general-purpose input/output,gpio)信号。通过gpio信号以告知服务器所需要配置的pcie资源。但由于gpio信号只具有高低电平的变化,因此无法传输pcie总线协议中规定数据,同时,因为一个标准接口会有多种pcie资源的分配方式,所以常需在一个标准接口上定义多个gpio信号,使得在标准接口上占用的引脚(pin)数比较多。同时因为服务器中主板上的pcie总线的接口比较多,使得主板中的平台控制中心(platform controller hub,pch)获取到的gpio信号占用过多,影响pch的处理效率。
26.另外,还可以通过主板上配置的基板管理控制器(baseboard management controller,bmc)对主板之外的设备(即板卡)进行识别,比如,识别板卡属于何种板卡,或者外围板卡所需的pcie资源等。然后,可以由bcm的识别结果,分配pcie资源。但这种方式,常需要在bmc中配置与板卡相关的白名单,每次有新的板卡发布时,均需要同步更新该白名单,操作较为繁琐。此外,当bmc出现异常时,将会导致无法分配pcie资源,致使系统瘫痪。
27.有鉴于此,本技术实施例中还提供了一种计算设备及pcie资源分配方法,当板卡与计算设备上的主板连接后,板卡可以将其所需的pcie资源发送至主板。这样,主板可以基于其获取到的板卡发送的pcie资源,为该板卡分配pcie资源,从而实现了pcie资源的灵活配置。同时,不需要使用gpio信号,降低了连接器上引脚的数量,以及,无需使用bmc即可以实现pcie资源的配置,提升了pcie资源的分配效率,且避免了因bmc异常而致使pcie资源无法分配的情况。
28.示例性的,图1示出了一种计算设备的结构。如图1所示,该计算设备可以包括主板100和至少一个板卡200。主板100上可以配置有:控制器110和至少一个连接器120。每个连接器120均与控制器110电连接,比如可以通过pcie总线连接。示例性的,控制器110可以但不限于为复杂可编程逻辑器件(complex programming logic device,cpld)、微控制单元(microcontroller unit,mcu)、pch等。在一些实施例中,连接器120可以理解为是一个端口或接口。
29.板卡200上可以配置有:控制器210、至少一个连接器220和至少一个pcie插槽230。每个连接器220均与控制器210电连接。一个连接器220至少与一个pcie插槽230连接。另外,板卡200上的一个连接器220可以与主板100上的一个连接器210通过单线(即一根总线)电连接。pcie插槽230上可以插入pcie设备。示例性的,板卡200可以但不限于为背板、riser板或转接板(或卡)等。控制器210可以但不限于为cpld或者mcu等。在一些实施例中,连接器220可以理解为是端口或接口。
30.本实施例中,板卡200中的控制器210可以经一个连接器220(以下称之为“第一连接器”),并通过单线,以及经主板上与第一连接器连接的连接器120(以下称之为“第二连接器”)向主板100上的控制器110发送板卡200所需的pcie资源(即第一连接器所需的pcie资源)。进一步地,主板100上的控制器110可以在获取到板卡200所需的pcie资源后,为第二连接器分配pcie带宽和/或速率。示例性的,控制器110可以为第二连接器分配x1、x2、x4、x8、
x16等pcie带宽,分配pcie 1.0、pcie 2.0、pcie 3.0、pcie 4.0、pcie 5.0等pcie速率。
31.在一些实施例中,当板卡200上配置有多个连接器220时,不同的连接器220所需的pcie资源可以全部相同,也可以一部分相同,亦可以全都不同。例如,当连接器220为3个时,这三个连接器220所需的pcie资源可以分别为:x16带宽和pcie 5.0;x8带宽和pcie 3.0;x4带宽和pcie 2.0。
32.在一些实施例中,在计算设备上电之前,板卡200上的控制器210可以将板卡200所需的pcie资源,按照预设协议,生成对应的波形,并通过第一连接器、第二连接器,以及两者之间的一根总线发送至主板100上的控制器110。其中,控制器210生成的波形可以包括高电平和低电平。示例性的,预设协议可以为预先定义的不同信号所代表的意义的协议。例如,“一个高电平信号 一个高电平信号 一个低电平信号”代表的意义为“x16带宽和pcie 5.0”,“一个高电平信号 一个低电平信号 一个低电平信号”代表的意义为“x8带宽和pcie 3.0”,“一个低电平信号 一个高电平信号 一个低电平信号”代表的意义为“x4带宽和pcie 2.0”。这样通过一根总线即可以实现pcie资源和pcie协议中规定的数据的传输,使得不用在pcie总线接口上在额外设置用于传输gpio信号的引脚,降低了连接器上引脚的数量。同时,还可以通过更新预设协议中的规定的不同信号所代表的意义,对可分配的pcie资源进行扩展,提升了pcie资源传输的灵活性。
33.在一些实施例中,当板卡200上的pcie插槽230上插入有pcie设备时,板卡200上的控制器210可以获取到插入到pcie插槽230上的设备的在位信息。接着,控制器210可以由其获取到的在位信息,确定出板卡200所需的pcie资源。例如,当一部分pcie插槽230上插入有pcie设备,而另一部分pcie插槽230上未插入pcie设备时,控制器210可以将插入有pcie设备的pcie插槽对应的pcie资源作为板卡200所需的pcie资源。示例性的,控制器210中可以预配置有各个pcie插槽230所对应的pcie资源。进一步地,控制器210可以将其确定出的板卡200所需的pcie资源发送至主板100上的控制器110。主板100上的控制器110获取到板卡200上控制器210发送的数据后,可以基于板卡200所需的pcie资源为主板100上相应的连接器(即与板卡200上插入有pcie设备的pcie插槽230连通的连接器)分配pcie资源。
34.例如,当一个连接器220与两个pcie插槽230连接时,若其中一个pcie插槽230上未插入pcie设备,而另一个pcie插槽230上插入了pcie设备,且该pcie插槽230所需的pcie资源为x8带宽和pcie 3.0,则板卡200上的控制器210可以将“x8带宽和pcie 3.0”的pcie资源发送至主板100,以使得主板100基于该pcie资源为其上相应的连接器分配pcie资源。这样,主板100在完成pcie资源分配后,插入到板卡200上pcie插槽230上的pcie设备,即可以使用主板100所分配的pcie资源。另外,由于一个连接器220是与两个pcie插槽230连接,但仅为一个pcie插槽230上的pcie设备分配了pcie资源,所以在主板100上与该连接器220相连的连接器120上还存在一部分可以分配的pcie资源。对于这部分可分配的资源,主板100可以将其分配到其他的连接器120上,从而避免了pcie资源浪费,提升了pcie资源的利用率。
35.在一些实施例中,板卡200上的一个连接器220可以与多个pcie插槽230电连接。此时,每个配置有pcie设备的pcie插槽230所需的带宽均小于该连接器220的传输带宽。例如,如图2所示,一个连接器220与两个pcie插槽230电连接,若该连接器220的最大传输带宽为x16,则一个pcie插槽230上配置的pcie设备所需的带宽可以为x8,另一个pcie插槽230上配置的pcie设备所需的带宽可以为x8,或者为x4等。
36.另外,当一个连接器220与多个pcie插槽230连接时,该连接器220与主板100上的连接器120之间可以通过资源分离线进行连接。其中,资源分离线可以为二分线(即一分为二的线)、三分线等。例如,继续参阅图2,连接器120与连接器220之间可以通过二分线连接。在一些实施例中,该资源分离线可以根据需求进行更换。在更换资源分离线后,可以重新进行pcie资源分配。同时,也可以基于pcie插槽230上pcie设备的在位信息,确定出所需的pcie资源。此时,当有一部分pcie资源未被分配时,可以在主板100上增加连接器,并将这部分未分配的pcie资源分配至主板100上新增加的连接器使用。进一步地,为保证pcie资源被充分利用,主板在将未分配的pcie资源分配至其上新增加的连接器使用时,主板100还可以确定与该新增加的连接器相连的板卡上的配置有pcie设备,即需保证板卡上有pcie设备在位,且该pcie设备所插入的pcie插槽需要通过板卡上的连接器与主板100上新增加的连接器相连。这样,通过在主板100上新增连接器,即可以实现板卡的扩充,避免了无法在主板100上进行板卡扩充的情况;同时,也避免了pcie资源浪费,提升了pcie资源的利用率。
37.在一些实施例中,主板100上的控制器110分配pcie资源的时间可以是在计算设备上电后。
38.在一些实施例中,继续参阅图1,主板100上的控制器110可以包括cpld 111和pch 112,cpld 111和pch 112间可以但不限于通过增强型串行外设接口(enhanced serial peripheral,espi)总线连接。cpld 111可以和主板100上的各个连接器120电连接,比如通过pcie总线连接等。其中,cpld 111可以用来接收板卡200上控制器210发送的数据,并对其接收到的数据按照预设协议进行解析,以得到主板100上相应的连接器230所需的pcie带宽和/或速率。示例性的,在cpld 111中可以预配置有pcie资源与控制器210生成的波形间的对应关系,cpld 111在获取控制器210传输的数据时,可以获知到相应的波形,进而由该波形确定出相应的pcie资源。例如,当01001代表pcie带宽为x16,速率为pcie 5.0,10010代表表pcie带宽为x8,速率为pcie 3.0时,cold 111在获取控制器210发送的波形时,可以获取到相应的高低电平信号,从而确定出波形对应的01数据,当其确定波形对应01数据为01001时,则可以确定出所需的pcie带宽为x16,速率为pcie 5.0。
39.进一步地,cpld 111可以将其解析出的pcie资源发送至pch 112。之后,pch 112可以基于其从cpld 111处获相应的连接器120所需的pcie带宽和/或速率,并为相应的连接器120分配pcie带宽和/或速率。例如,继续参阅图1,当相应的连接器120为图1中最左侧的连接器120时,pch 112可以为该连接器分配pcie带宽和/或速率。
40.此外,板卡200还可以为多个。其中,每个板卡200均可以与主板100上的至少一个连接器120连接。此时,cpld 111还可以获取所有板卡200上的控制器210发送的数据,并对获取到的数据进行解析,以得到各个在主板100上与板卡200对应的连接器120所需的pcie带宽和/或速率。进一步地,cpld 111可以将各个在主板100上与板卡200对应的连接器120所需的pcie带宽和/或速率发送至pch 112,以由pch 112分配pcie资源。
41.以上即是对本技术实施例提供的计算设备的介绍。接下来,基于上文所描述的内容,对本技术实施例提供的一种pcie资源分配方法进行介绍。可以理解,该pcie资源分配方法中的的部分或全部的内容均可以参见前述对计算设备的描述。
42.示例性的,图3示出了一种pcie资源分配方法。如图3所示,该pcie资源分配方法可以包括以下步骤:
43.s301、板卡200上的控制器210通过第一单线向主板100上的控制器110发送板卡200上第一连接器所需的pcie资源。
44.本实施例中,板卡200上的控制器210可以通过板卡200与主板100间连接的一个总线(即第一单线),将板卡200上一个连接器220(即第一连接器)所需的pcie资源发送至主板100上的控制器110。
45.s302、主板100上的控制器110基于获取到的pcie资源,为主板100上的第二连接器分配pcie带宽和/或速率。
46.本实施例中,主板100上的控制器110在获取到板卡200发送的pcie资源后,可以为主板100上的一个连接器120(即第二连接器)分配pcie带宽和/或速率。其中,第一连接器和第二连接器通过一根总线连接。
47.这样,在分配pcie资源时,通过单根总线即可以实现pcie资源的分配;同时,对板卡无要求,通用性强。由此提升了pcie资源的自适应分配能力。同时,不需要使用gpio信号,降低了连接器上引脚的数量,以及,无需使用bmc即可以实现pcie资源的配置,提升了pcie资源的分配效率,且避免了因bmc异常而致使pcie资源无法分配的情况。
48.在一些实施例中,当第一连接器和第二连接器间的连接单根总线发生变更后,主板100上的控制器110可以重新为第二连接器分配pcie带宽和/或速率。
49.为便于理解,下面以板卡200为riser板,且主板100上的配置有cpld 111和pch 112为例进行说明。
50.示例性的,如图4所示,计算设备中包括主板100和riser板200。
51.在riser板200上配置有3个端口(即3个连接器),分别为port 1a、port 1b和port 2a。该riser板200需要支持两个pcie标准插槽(slot)。其中,port 1a和port 1b与pcie插槽(slot)1对应,port 2a与slot2对应。但是因为需要和走线差异导致两个插槽规格不一致。在riser板200上,slot 1需要支持pcie4.0,带宽是x8,即port 1a和port 1b所需的pcie资源为:pcie4.0,带宽是x8;slot 2需要支持pcie5.0,带宽x16,即port 2a所需的pcie资源为:pcie5.0,带宽是x16。各个插槽所需的pcie资源可以预先配置在riser板200中的控制器210中。
52.在主板100上配置有4个端口(即4个连接器),分别为:port 1a、port 1b、port 2a和port 2b。其中,主板100上的端口port 1a与riser板200上的端口port 1a连接。主板100上的端口port 1b与riser板200上的端口port 1b连接。主板100上的端口port 2a与riser板200上的端口port 2a连接。
53.当riser板200上的各个端口均和主板100上的端口建立连接,且计算设备连接上电源后,riser板200中的控制器210可以将其上3个端口所需的pcie资源利用pcie总线发送至主板100中的cpld110。主板100中的cold110对这些信息进行解码后,可以将解码出的数据通过espi总线发给pch120。最后,在计算设备上电后,pch120可以进行bios上电自动配置,从而完成整个系统的pcie资源自适应分配。
54.可以理解的是,本技术的实施例中的处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体
管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
55.本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。
56.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
57.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献