PCIe带宽分配系统和方法与流程

文档序号:31661044发布日期:2022-09-27 23:04阅读:707来源:国知局
PCIe带宽分配系统和方法与流程
pcie带宽分配系统和方法
技术领域
1.本技术涉及带宽自动分配技术领域,特别是涉及一种pcie带宽分配系统和方法。


背景技术:

2.服务器系统设计过程中,为了满足不同的功能需求,需要搭配不同的pcie设备。主板设计中,通常使用pcie高速总线(英文全称:peripheral component interconnect express,中文全称:高速串行计算机扩展总线标准)完成高速信号线的传输,pcie属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。pcie高速总线下可以挂载的设备多种多样,比如网卡设备、nvme硬盘及sas/raid卡等外插卡,当连接不同的pcie设备时,bios需要设置正确的带宽,才能保证设备正常使用。
3.现有技术中,常见的带宽分配方法包括以下几种:一是固定带宽分配法;即分配定值带宽至外接设备;但是基于固定带宽分配法对带宽进行分配会增大资源浪费的风险。二是主板基于标准板卡的信息标识,即主板基于每个标准板卡的board id自动分配带宽;但是基于上述方法实现带宽分配时,要么就要求连接于服务器上的板卡是应用方自己研发、可以由应用方进行自我定义的,要么就要求板卡是按照标准协议制作的。三是根据连接至pca9555下的在位信号,通过i2c申请带宽分配,但是在实际应用场景中,只有标准板卡才能连接至pca9555下,因此基于此种方法无法实现对非标板卡的带宽分配。四是系统预先生成带宽分配信息至eeprom,主板cpld通过i2c读取eeprom中的带宽分配信息,并通过lpc总线传递至南桥芯片,实现pcie带宽的正确分配;但是上述方法变通性较差,无法基于实际应用情况对带宽分配信息进行及时调整。除此之外,随着服务器应用场合的增加,边缘服务器、车载服务器等设备需要适配如4g模块,5g模块,wifi模块,nx模组等外接设备。但是,上述设备的标准定义还未统一,在实际的应用场景中,也不会按照标准接口的定义对其引脚信息进行定义,所以在实际的应用场景中,无法基于设备的引脚信息进行带宽管理分配。
4.因此,急需提出一种可以快速、高效地实现对非标板卡进行带宽分配的pcie带宽分配系统和方法。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种在不改动主板线路的情况下,能够高效、快速实现对非标板卡的带宽分配的pcie带宽分配系统和方法。
6.一方面,提供一种pcie带宽分配系统,所述系统以用于实现非标板卡的带宽分配,所述系统包括:主板和子板;
7.所述主板的信号输入端连接于所述子板的信号输出端;
8.所述子板包括:串联连接的第一复杂可编程逻辑器件与在位信号检测单元,所述在位信号检测单元至少为一;
9.所述在位信号检测单元包括:串联连接的非标板卡插接槽和电阻,以及并联连接于所述电阻两侧的电流检测运放模块。
10.在其中一个实施例中,所述第一复杂可编程逻辑器件内设置有模数转换模块,所述模数转换模块与所述在位信号检测单元一一对应设置;
11.所述在位信号检测单元串联连接于所述模数转换模块的信号输入端。
12.在其中一个实施例中,所述第一复杂可编程逻辑器件内设有专用寄存器;所述模数转换模块的信号输出端通信连接于所述专用寄存器的信号输入端。
13.在其中一个实施例中,所述主板包括:第二复杂可编程逻辑器件、南桥芯片和中央管理控制器;所述南桥芯片的信号输出端与所述中央管理控制器的信号输入端通信连接;所述南桥芯片的信号输入端与所述第二复杂可编程逻辑器件的信号输出端通信连接;所述第二复杂可编程逻辑器件的信号输入端与所述第一复杂可编程逻辑器件的信号输出端通信连接。
14.在其中一个实施例中,所述第二复杂可编程逻辑器件上设置有技术向增强型串行外设接口;所述南桥芯片通过所述技术向增强型串行外设接口与所述第二复杂可编程逻辑器件通信连接。
15.在其中一个实施例中,所述子板上设置有标准板卡挂接模块、以用于挂接标准板卡;所述第二复杂可编程逻辑器件上设置有i2c仲裁通信单元;所述i2c仲裁通信单元的信号输入端分别通信连接于所述标准板卡挂接模块的信号输出端和所述第一复杂可编程逻辑器件的信号输出端,所述i2c仲裁通信单元的信号输出端通过技术向增强型串行外设接口与所述南桥芯片通信连接。
16.另一方面,提供了一种pcie带宽分配方法,所述方法包括:
17.电流检测运放模块检测并放大电阻两侧的电流负载数据,并将放大后的电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;
18.所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;
19.第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。
20.在其中一个实施例中,第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,包括:当所述电流负载数据显示所述电阻两侧的电流负载不为0,则判定所述非标板卡插接槽处于占用状态;若所述电流负载数据显示所述电阻两侧的电流负载为0,则判定所述非标板卡插接槽不处于占用状态。
21.在其中一个实施例中,第二复杂可编程逻辑器件读取所述专用寄存器,获取所述非标板卡插接槽的状态,以实现pcie带宽分配,包括:所述第二复杂可编程逻辑器件获取处于占用状态的所述非标板卡的数量,并将所述非标板卡的数量发送至南桥芯片;所述南桥芯片基于所述非标板卡的数量生成带宽分配信息,并发送至中央管理控制器;所述中央管理控制器基于所述带宽分配信息,以实现pcie带宽分配。
22.在其中一个实施例中,若所述非标板卡插接槽上插接有非标板卡,且,标准板卡挂接模块上挂接有标准板卡,则i2c仲裁通信单元按照预设的仲裁通信规则,访问所述专用寄存器或访问所述标准板卡挂接模块。
23.再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
24.电流检测运放模块检测并放大电阻两侧的电流负载数据,并将放大后的电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;
25.所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;
26.第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。
27.又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
28.电流检测运放模块检测并放大电阻两侧的电流负载数据,并将放大后的电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;
29.所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;
30.第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。
31.上述pcie带宽分配系统和方法中,所述系统包括:主板和子板;所述主板的信号输入端连接于所述子板的信号输出端;所述子板包括:串联连接的第一复杂可编程逻辑器件与在位信号检测单元,所述在位信号检测单元至少为一;所述在位信号检测单元包括:串联连接的非标板卡插接槽和电阻,以及并联连接于所述电阻两侧的电流检测运放模块。所述系统在不改变主板原有线路结构的情况下,通过对非标板卡插接槽的电流负载情况的监测,来判断非标板卡插接槽上是否插接有非标板卡,并基于非标板卡进行带宽分配。
附图说明
32.图1为一个实施例中pcie带宽分配系统的结构框图;
33.图2为一个实施例中pcie带宽分配系统的结构框图;
34.图3为一个实施例中pcie带宽分配方法流程示意图;
35.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
36.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
37.本技术提供的一种pcie带宽分配系统,如图1所示,所述系统以用于实现非标板卡的带宽分配,所述系统包括:主板和子板;所述主板的信号输入端连接于所述子板的信号输出端;所述子板包括:串联连接的第一复杂可编程逻辑器件与在位信号检测单元,所述在位信号检测单元至少为一;所述在位信号检测单元包括:串联连接的非标板卡插接槽和电阻,以及并联连接于所述电阻两侧的电流检测运放模块。
38.在其中一个实施例中,如图2所示,所述第一复杂可编程逻辑器件内设有模数转换模块,所述模数转换模块与所述在位信号检测单元一一对应设置;所述在位信号检测单元串联连接于所述模数转换模块的信号输入端。
39.在其中一个实施例中,如图2所示,所述第一复杂可编程逻辑器件内设有专用寄存器;所述模数转换模块的信号输出端通信连接于所述专用寄存器的信号输入端。
40.在其中一个实施例中,所述主板包括:第二复杂可编程逻辑器件、南桥芯片和中央管理控制器;所述南桥芯片的信号输出端与所述中央管理控制器的信号输入端通信连接;所述南桥芯片(英文简称:pch)的信号输入端与所述第二复杂可编程逻辑器件的信号输出端通信连接;所述第二复杂可编程逻辑器件的信号输入端与所述第一复杂可编程逻辑器件的信号输出端通信连接。
41.在其中一个实施例中,所述第二复杂可编程逻辑器件上设置有技术向增强型串行外设接口;所述南桥芯片通过所述技术向增强型串行外设接口(英文简称:espi接口)与所述第二复杂可编程逻辑器件通信连接。
42.在其中一个实施例中,所述子板上设置有标准板卡挂接模块、以用于挂接标准板卡;所述第二复杂可编程逻辑器件上设置有i2c仲裁通信单元;所述i2c仲裁通信单元的信号输入端分别通信连接于所述标准板卡挂接模块的信号输出端和所述第一复杂可编程逻辑器件的信号输出端,所述i2c仲裁通信单元的信号输出端通过技术向增强型串行外设接口与所述南桥芯片通信连接。如图2所示,所述i2c仲裁通信单元包括i2c仲裁模块和i2c master模块。所述标准板卡挂接模块可以为pca9555模块。
43.在其中一个实施例中,所述主板上设置有中央管理控制器,所述中央管理控制器与所述第二复杂可编程逻辑器件通信连接,以用于检测主板及子板的作业环境,如:温度等。
44.上述pcie带宽分配系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
45.所述系统包括:主板和子板;所述主板的信号输入端连接于所述子板的信号输出端;所述子板包括:串联连接的第一复杂可编程逻辑器件与在位信号检测单元,所述在位信号检测单元至少为一;所述在位信号检测单元包括:串联连接的非标板卡插接槽和电阻,以及并联连接于所述电阻两侧的电流检测运放模块。所述系统在不改变主板原有线路结构的情况下,通过对非标板卡插接槽的电流负载情况的监测,来判断非标板卡插接槽上是否插接有非标板卡,并基于非标板卡进行带宽分配。
46.在一个实施例中,如图3所示,提供了一种pcie带宽分配方法,包括以下步骤:
47.电流检测运放模块检测电阻两侧的电流负载,并将电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;
48.所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;
49.第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。
50.在其中一个实施例中,主板与子板电性连接,即所述子板外接于所述主板,所述子板的供电电源为stay电源,当给所述主板上电时,所述子板也会通电。
51.在其中一个实施例中,所述第一复杂可编程逻辑器件基于所述电流负载数据获取非标板卡插接槽的状态,包括:当所述电流负载数据显示所述电阻两侧的电流负载不为0,
则判定所述非标板卡插接槽处于占用状态;若所述电流负载数据显示所述电阻两侧的电流负载为0,则判定所述非标板卡插接槽不处于占用状态。所述第一复杂可编程逻辑器件基于所述非标板卡插接槽的占用状态,以此判断是否有非标板卡插接在非标板卡插接槽上,即判断需要对几个非标板卡进行带宽分配。具体地,对于一个x16pcie的子板,若非标板卡插接槽的数量为8,则代表子板最大支持8个非标板卡的插接,如果监测到每一个非标板卡插接槽的电阻两侧都存在电流负载,则申请带宽分配为8x2,若只监测到非标板卡插接槽1、非标板卡插接槽3、非标板卡插接槽5、非标板卡插接槽7的电阻的两侧存在电流负载,则申请带宽分配为4x4,若只有非标板卡插接槽1、非标板卡插接槽5的电阻的两侧有电流负载,则申请带宽分配为2x8,若只有非标板卡插接槽1的电阻的两侧有电流负载,则申请带宽分配为x16。
52.在其中一个实施例中,所述第一复杂可编程逻辑器件基于所述电流负载数据获取非标板卡插接槽的状态,包括:与在位检测单元一一对应设置的模数转换模块,将经电流检测运放模块放大后的电流负载数据进行模数转换,第一复杂可编程逻辑器件将经模数转换模块模数转换后的电流负载数据存入专用寄存器中,以供主板进行访问。主板通过i2c总线读取专用寄存器内存储的电流负载数据,并将所述电流负载数据通过技术向增强型串行外设接口传递至南桥芯片,南桥芯片基于电流负载数据对非标板卡进行带宽分配。
53.在其中一个实施例中,若所述非标板卡插接槽上插接有非标板卡,且,标准板卡挂接模块上挂接有标准板卡,则i2c仲裁通信单元按照预设的仲裁通信规则,获取所述非标板卡的数量或访问所述标准板卡。
54.具体地,i2c仲裁通信单元包括i2c仲裁模块和i2c master模块,第二复杂可编程逻辑器件通过访问标准板卡挂接模块,以实现对挂接于标准板卡挂接模块上的标准板卡进行带宽分配,第二复杂可编程逻辑器件通过访问专用寄存器内的电流负载数据,以实现对非标板卡的带宽分配。所述i2c仲裁通信模块以用于仲裁第二复杂可编程逻辑器件访问专用寄存器或标准板卡挂接模块的先后顺序,即第二复杂可编程逻辑器件不能同时访问专用寄存器或标准板卡挂接模块。需要理解的是,本技术对于仲裁通信规则不作限定,即本领域的技术人员可以根据实际应用场景生成不同的仲裁通信规则。
55.在其中一个实施例中,第二复杂可编程逻辑器件读取所述专用寄存器,获取所述非标板卡插接槽的状态,以实现pcie带宽分配,包括:所述第二复杂可编程逻辑器件获取处于占用状态的所述非标板卡的数量,并将所述非标板卡的数量发送至南桥芯片;所述南桥芯片基于所述非标板卡的数量生成带宽分配信息,并发送至中央管理控制器;所述中央管理控制器基于所述带宽分配信息,以实现pcie带宽分配。
56.所述方法包括:电流检测运放模块检测电阻两侧的电流负载,并将电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。所述方法通过监测非标板卡插接槽的电流负载情况,以判断非标板卡插接槽上是否插接有非标板卡,并基于非标板卡的在位状态,实现对非标板卡的带宽分配,且基于本技术所述的pcie带宽分配方法还可以适用于标准板卡的带宽分配,具有变通性强、处理过程简单、快捷、高效的有益效果。
57.应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
58.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种pcie带宽分配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
59.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
60.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
61.电流检测运放模块检测并放大电阻两侧的电流负载数据,并将放大后的电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;
62.所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;
63.第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。
64.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
65.当所述电流负载数据显示所述电阻两侧的电流负载不为0,则判定所述非标板卡插接槽处于占用状态;
66.若所述电流负载数据显示所述电阻两侧的电流负载为0,则判定所述非标板卡插接槽不处于占用状态。
67.在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述第二复杂可编程逻辑器件获取处于占用状态的所述非标板卡的数量,并将所述非标板卡的数量发送至南桥芯片;所述南桥芯片基于所述非标板卡的数量生成带宽分配信息,并发送至中央管理控制器;所述中央管理控制器基于所述带宽分配信息,以实现pcie带宽分配。
68.在一个实施例中,处理器执行计算机程序时还实现以下步骤:若所述非标板卡插接槽上插接有非标板卡,且,标准板卡挂接模块上挂接有标准板卡,则i2c仲裁通信单元按照预设的仲裁通信规则,访问所述专用寄存器或访问所述标准板卡挂接模块。
69.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算
机程序被处理器执行时实现以下步骤:
70.电流检测运放模块检测并放大电阻两侧的电流负载数据,并将放大后的电流负载数据通过模数转换模块实时反馈至第一复杂可编程逻辑器件,所述电流检测运放模块、电阻和模数转换模块对应设置;所述第一复杂可编程逻辑器件将所述电流负载数据写入专用寄存器;第二复杂可编程逻辑器件读取所述专用寄存器内的电流负载数据,获取所述非标板卡插接槽的状态,以实现pcie带宽分配。
71.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
72.所述第二复杂可编程逻辑器件获取处于占用状态的所述非标板卡的数量,并将所述非标板卡的数量发送至南桥芯片;所述南桥芯片基于所述非标板卡的数量生成带宽分配信息,并发送至中央管理控制器;所述中央管理控制器基于所述带宽分配信息,以实现pcie带宽分配。
73.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
74.当所述电流负载数据显示所述电阻两侧的电流负载不为0,则判定所述非标板卡插接槽处于占用状态;若所述电流负载数据显示所述电阻两侧的电流负载为0,则判定所述非标板卡插接槽不处于占用状态。
75.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
76.若所述非标板卡插接槽上插接有非标板卡,且,标准板卡挂接模块上挂接有标准板卡,则i2c仲裁通信单元按照预设的仲裁通信规则,访问所述专用寄存器或访问所述标准板卡挂接模块。
77.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
78.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
79.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1