CN116303213B - 一种提高bmc芯片计算效率的***及方法 - Google Patents
一种提高bmc芯片计算效率的***及方法 Download PDFInfo
- Publication number
- CN116303213B CN116303213B CN202310290489.XA CN202310290489A CN116303213B CN 116303213 B CN116303213 B CN 116303213B CN 202310290489 A CN202310290489 A CN 202310290489A CN 116303213 B CN116303213 B CN 116303213B
- Authority
- CN
- China
- Prior art keywords
- target
- slave device
- chip
- data
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000004891 communication Methods 0.000 claims abstract description 22
- 230000003993 interaction Effects 0.000 claims abstract description 16
- 238000013500 data storage Methods 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000033228 biological regulation Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 102100023941 G-protein-signaling modulator 2 Human genes 0.000 claims 2
- 101000904754 Homo sapiens G-protein-signaling modulator 2 Proteins 0.000 claims 2
- 230000006835 compression Effects 0.000 abstract description 5
- 238000013144 data compression Methods 0.000 abstract description 5
- 238000013480 data collection Methods 0.000 abstract description 4
- 238000013524 data verification Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 241001290266 Sciaenops ocellatus Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种提高BMC芯片计算效率的***及方法,包括:该BMC芯片与该CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;该CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;其中,该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第二目标从设备为业务场景小于目标业务阈值的从设备;上述方案利用CPLD芯片进行数据收集、校验、压缩,并将处理后的数据传送给BMC芯片,减少BMC芯片内部计算资源占用,提高计算速度,扩展了BMC芯片的硬件接口资源。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种提高BMC芯片计算效率的***及方法。
背景技术
BMC芯片(Baseboard management controller),亦称基板管理控制器,是一个小型嵌入式处理***,***管理软件对各个被管理器件的管理,都是通过与BMC芯片通信来实现的。
BMC芯片并不依赖于服务器的处理器、BIOS(Basic Input Output System)或操作***来工作,它有自己的固件、电源、MAC地址(MediaAccessControlAddress)与网络接口,用于负责管理、监控、远程操作服务器***等功能,保障了服务器整机工作在一个理想状况。除了常规的***控制、硬件监控、信息收集等常规功能外,BMC芯片还支持着IPMI服务协议、新兴的Redfish协议服务、Log记录服务等;此外,还有众多的***控制需要BMC芯片处理,如***时序控制、***指示灯的控制、散热风扇的控制等。
由于BMC芯片的上述功能都是同时运行的,对性能有限的BMC芯片带来了极大挑战,导致BMC芯片的CPU使用率经常在60%以上,导致BMC芯片操作响应变慢、WEB卡顿、数据刷新不及时或者部分丢失等情况发生。
发明内容
本申请提供了一种提高BMC芯片计算效率的***及方法,提高了BMC芯片计算效率,避免了BMC芯片操作响应变慢、WEB卡顿、数据刷新不及时或者部分丢失等情况的发生,该技术方案如下。
一方面,提供了一种提高BMC芯片计算效率的***,所述***包括:BMC芯片及CPLD芯片;
所述BMC芯片与所述CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;
所述CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;
其中,所述第一目标从设备为用于实现数据存储或快速交互数据的从设备;所述第二目标从设备为业务场景小于目标业务阈值的从设备。
在一种可能的实施方式中,所述CPLD芯片下还直接挂载有目标运行管脚。
在一种可能的实施方式中,所述第一目标从设备通过SPI总线直接挂载在所述CPLD芯片下,所述第二目标从设备通过I2C总线直接挂载在所述CPLD芯片下,所述目标控制管脚及所述目标运行管脚分别通过GPIO总线直接挂载在所述CPLD芯片下;
所述第一目标从设备在接入所述CPLD芯片后,通过SPI总线与所述BMC芯片建立通信;
所述第二目标从设备及所述目标控制管脚在接入所述CPLD芯片后,通过SPI总线或I2C总线与所述BMC芯片建立通信;
其中,所述第一目标从设备包括Flash芯片及DSP芯片;
所述第二目标从设备包括各个传感器、电压调节模组VRM及内存条SPD;
所述目标控制管脚包括时序控制管脚、风扇控制管脚以及目标在位检测管脚;
所述目标运行管脚包括时序管脚以及风扇转速管脚。
在一种可能的实施方式中,所述BMC芯片还通过I2C总线直接与第三目标从设备通信连接;所述第三目标从设备为业务场景大于所述目标业务阈值的从设备;
所述第三目标从设备包括中央处理器CPU、LAN芯片及RAID卡。
在一种可能的实施方式中,所述BMC芯片还通过GPIO总线直接与目标外部硬件连接;
所述目标外部硬件包括硬件配置信息管脚、按键及LED灯。
在一种可能的实施方式中,所述BMC芯片与所述CPLD芯片之间的GPIO总线配置为中断信号。
又一方面,提供了一种提高BMC芯片计算效率的方法,所述方法包括:
CPLD芯片分别获取第一目标从设备的第一数据信息、第二目标从设备的状态监测数据及目标运行管脚的运行数据,并分别对所述第一数据信息、所述状态监测数据及所述运行数据进行计算处理;
目标所述BMC芯片通过SPI总线获取计算处理后的所述第一数据信息、通过SPI总线或I2C总线获取计算处理后的所述状态监测数据及所述运行数据,并根据计算处理后的所述第一数据信息、所述状态监测数据及所述运行数据,通过所述CPLD芯片分别对所述第一目标从设备、所述第二目标从设备及目标控制管脚进行控制;
其中,所述第一目标从设备、所述第二目标从设备、所述目标运行管脚及所述目标控制管脚均直接挂载在所述CPLD芯片下;所述第一目标从设备为用于实现数据存储或快速交互数据的从设备;所述第一数据信息为第一目标从设备的存储信息或交互信息;所述第二目标从设备为业务场景小于目标业务阈值的从设备。
在一种可能的实施方式中,所述CPLD芯片分别获取第一目标从设备的第一数据信息、第二目标从设备的状态监测数据及目标运行管脚的运行数据,包括:
所述CPLD芯片分别通过SPI总线获取第一目标从设备的第一数据信息、通过I2C总线获取第二目标从设备的监测数据、通过GPIO总线获取目标运行管脚的运行数据。
在一种可能的实施方式中,所述第一目标从设备包括Flash芯片;所述方法还包括:
所述BMC芯片通过所述CPLD芯片对写入至所述Flash芯片中的数据进行加密处理,并对从所述Flash芯片中读取的数据进行解密处理。
在一种可能的实施方式中,所述第二目标从设备包括温度传感器;所述目标运行管脚的运行数据包括风扇转速数据,所述方法包括:
所述CPLD芯片分别获取所述温度传感器监测的温度信息、所述风扇转速数据及所述BMC芯片中的风扇转速策略信息,并根据所述温度信息、所述风扇转速数据及所述风扇转速策略信息,获取风扇控制信号,以通过所述风扇控制信号进行风扇转速控制。
在一种可能的实施方式中,所述方法还包括:
所述CPLD芯片对所述CPLD芯片与所述第二目标从设备之间的I2C总线进行目标次数的并行轮询,并获取所述状态监测数据中的传感器数据;
所述CPLD芯片对所述传感器数据的有效性进行验证,并将有效的所述传感器数据保存至待发送缓冲区;
所述CPLD芯片将所述待发送缓冲区内的所述传感器数据通过SPI总线输送至所述BMC芯片。
本申请提供的技术方案可以包括以下有益效果:
该BMC芯片与该CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;该CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;其中,该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第二目标从设备为业务场景小于目标业务阈值的从设备。上述方案利用CPLD芯片进行数据收集、校验、压缩,并将处理后的数据传送给BMC芯片,减少BMC芯片内部计算资源占用,提高计算速度。
此外,还通过CPLD芯片对BMC芯片的接口进行了扩展,该CPLD芯片下的硬件接口远大于BMC芯片自身的硬件接口,增加了BMC芯片的I2C总线接口数量、GPIO总线接口数量;可以支持更多的第二目标设备、更多的目标控制管脚。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种提高BMC芯片计算效率的***的结构示意图。
图2是根据一示例性实施例示出的一种提高BMC芯片计算效率的***的结构示意图。
图3是根据一示例性实施例示出的一种提高BMC芯片计算效率的方法的流程图。
图4是根据一示例性实施例示出的BMC芯片的单次读写温度时序示意图。
图5是根据一示例性实施例示出的通过CPLD芯片辅助BMC芯片查询传感器的流程示意图。
图6是根据一示例性实施例示出的CPLD芯片对Flash芯片数据进行加密的示意图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,在本申请的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
图1是根据一示例性实施例示出的一种提高BMC芯片计算效率的***的结构示意图。
如图1所示,该***包括:BMC芯片及CPLD芯片;
该BMC芯片与该CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;
该CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;
其中,该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第二目标从设备为业务场景小于目标业务阈值的从设备。
进一步的,请参照图2示出的一种提高BMC芯片计算效率的***的结构示意图。该BMC芯片与该CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接,如图2所示,BMC芯片的SPI MASTER端通过SPI总线与CPLD芯片的SLAVE从动端连接,BMC芯片的I2C MASTER端通过I2C总线与CPLD芯片的SLAVE从动端连接,BMC芯片的BI-DIR端通过GPIO总线与CPLD芯片的BI-DIR端双向连接。
该CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;此外,该CPLD芯片下还直接挂载有目标运行管脚(该目标运行管脚在图2中未示出);其中,该第一目标从设备通过SPI总线直接挂载在该CPLD芯片下;该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第一目标从设备包括Flash芯片(图1中的SPI Flash)及DSP芯片等;此部分如图2所示,该CPLD芯片的SPI MASTER#1端与SPI MASTER#2端分别通过SPI总线与第一目标从设备中的Flash芯片(图2中的SPI Flash)及DSP芯片连接。
该第二目标从设备通过I2C总线直接挂载在该CPLD芯片下,该第二目标从设备为业务场景小于目标业务阈值的从设备(该第二目标从设备这类服务业务场景单一,对BMC芯片内部的CPU资源依赖性不强,但是数量较多且单次执行周期较长,该目标业务阈值为预设的业务阈值,用于指示从设备的服务业务场景的数量);该第二目标从设备包括各个传感器(如图2中的温度传感器THERMAL SENSORs,电流传感器CURRENT SENSORs)、电压调节模组VRM及内存条SPD等;此部分如图2所示,该CPLD芯片的I2C MASTER#1端至I2C MASTER#N端分别通过I2C总线与第二目标从设备中的温度传感器THERMAL SENSORs、电流传感器CURRENTSENSORs、电压调节模组VRM....内存条SPD连接。
该目标控制管脚通过GPIO总线直接挂载在该CPLD芯片下;该目标控制管脚包括时序控制管脚(该时序控制管脚用于输出图2中的Sequence Control信号)及风扇控制管脚(该风扇控制管脚用于输出图2中的FAN Control信号)以及目标在位检测管脚(该目标在位管脚是一种用来表示设备是否在位的管脚,它可以用来表示一个设备是否正常工作,或者表示一个设备是否已经***到***中,图2未示出该目标在位管脚)等。此部分如图2所示,该CPLD芯片的GPIO-BIDIR端口分别通过GPIO总线与时序控制管脚及风扇控制管脚连接,该时序控制管脚用于输出图2中的Sequence Control信号,该风扇控制管脚用于输出图2中的FAN Control信号。
该目标运行管脚与该目标控制管脚相对应,该目标运行管脚也通过GPIO总线直接挂载在CPLD芯片下;该目标运行管脚包括时序管脚以及风扇转速管脚,该时序管脚用于获取***或目标设备的时序数据,该风扇转速管脚用于获取风扇转速。也就是说,该目标运行管脚用于获取运行数据,在通过CPLD芯片对该运行数据进行计算处理后,会得到相应的控制信号,此时将该控制信号输入该目标控制管脚,可以实现控制与调节目的。进一步的,该第一目标从设备在接入该CPLD芯片后,通过SPI总线与该BMC芯片建立通信;
该第二目标从设备及该目标控制管脚在接入该CPLD芯片后,通过SPI总线或I2C总线与该BMC芯片建立通信。
在一种可能的实施方式中,该BMC芯片和CPLD芯片之间用SPI总线、I2C总线、GPIO总线连接;其中,I2C总线、GPIO总线根据实际情况配置单组或多组,但数量远少于传统直接接在BMC芯片的方案。该BMC芯片和CPLD芯片之间的SPI总线主要用于实现一些数据量较大的数据传输;该BMC芯片和CPLD芯片之间的I2C总线主要用于实现一些少量数据传输或者与CPLD芯片进行命令交互。
在一种可能的实施方式中,该BMC芯片还通过I2C总线直接与第三目标从设备通信连接;该第三目标从设备为业务场景大于该目标业务阈值的从设备;该第三目标从设备包括中央处理器CPU、LAN芯片、RAID卡。进一步的,此部分如图2所示,BMC芯片的I2C MASTER端口通过I2C总线直接与第三目标从设备中的中央处理器CPU、LAN芯片、RAID卡连接。
进一步的,上述方案将部分I2C总线器件(即上述第二目标从设备),如温度传感器、电流传感器、电压传感器、电压调节模组VRM及内存条SPD等器件/部件直接接在CPLD芯片下。这类传感器/部件特点是业务相对单一但数量较多。而第三目标从设备,即CPU、LAN芯片、RAID卡等部件,仍直接接在BMC芯片上,这类部件特点是业务相对复杂但数量较少。此时,CPLD芯片会收集所有传感器的信息,进行校验、计算并压缩,最后统一传送给BMC芯片。
在一种可能的实施方式中,该BMC芯片还通过GPIO总线直接与目标外部硬件连接;
该目标外部硬件包括硬件配置信息管脚(即图2中的Hardware Straps)、按键(即图2中的BTN)、LED灯。
进一步的,硬件配置信息管脚、按键及LED灯等目标外部硬件,直接接在BMC芯片下;进一步的,此部分如图2所示,BMC芯片的BI-DIR端口通过GPIO总线分别与硬件配置信息管脚Hardware Straps、按键BTN、LED灯连接。
在一种可能的实施方式中,该BMC芯片与该CPLD芯片之间的GPIO总线配置为中断信号。
进一步的,当BMC芯片的硬件I2C总线接口、GPIO总线接口无法满足时,可通过CPLD芯片进行扩展。由于BMC芯片只有13组I2C总线接口,且为复用管脚,因此实际使用时BMC芯片的可配置数量少于13组;如果不够时可以使用CPLD芯片进行扩展。同样,当GPIO总线接口不够时可以通过CPLD芯片的管脚进行扩展,其上行接口为SPI总线或者I2C总线,从而实现命令交互。
进一步的,由CPLD芯片与第二目标从设备之间的I2C总线所接入的数据、以及由CPLD芯片与目标控制管脚之间的GPIO总线所接入的数据,可以通过BMC芯片与CPLD芯片之间的SPI总线接口接入该BMC芯片中,也可以使用BMC芯片与CPLD芯片之间的I2C总线接口接入该BMC芯片中。为了保证通信响应及时,BMC芯片与CPLD芯片之间的一些GPIO总线会被配置成中断信号。
进一步的,由CPLD芯片与第一目标从设备之间的SPI总线所接入的数据,可通过BMC芯片与CPLD芯片之间的SPI总线接入该BMC芯片中。同样的,为了保证通信响应及时,BMC芯片与CPLD芯片之间的一些GPIO总线会被配置成中断信号。
综上所述,该BMC芯片与该CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;该CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;其中,该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第二目标从设备为业务场景小于目标业务阈值的从设备。上述方案利用CPLD芯片进行数据收集、校验、压缩,并将处理后的数据传送给BMC芯片,减少BMC芯片内部计算资源占用,提高计算速度。
此外,还通过CPLD芯片对BMC芯片的接口进行了扩展,该CPLD芯片下的硬件接口远大于BMC芯片自身的硬件接口,增加了BMC芯片的I2C总线接口数量、GPIO总线接口数量;可以支持更多的第二目标设备、更多的目标控制管脚。
图3是根据一示例性实施例示出的一种提高BMC芯片计算效率的方法的流程图。该方法基于如图2该的一种提高BMC芯片计算效率的***实现的,如图3所示,该方法可以包括如下步骤:
S301、CPLD芯片分别获取第一目标从设备的第一数据信息、第二目标从设备的状态监测数据、目标运行管脚的运行数据,并分别对该第一数据信息、该状态监测数据及该运行数据进行计算处理。
该第一目标从设备、该第二目标从设备及该目标运行管脚均直接挂载在该CPLD芯片下;该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第一数据信息为第一目标从设备的存储信息或交互信息;该第二目标从设备为业务场景小于目标业务阈值的从设备。
在一种可能的实施方式中,该CPLD芯片分别通过SPI总线获取第一目标从设备的第一数据信息、通过I2C总线获取第二目标从设备的监测数据、通过GPIO总线获取目标运行管脚的运行数据目标。
在一种可能的实施方式中,该第二目标从设备包括温度传感器;该目标运行管脚的运行数据包括风扇转速数据;
该CPLD芯片分别获取该温度传感器监测的温度信息、该风扇转速数据及该BMC芯片中的风扇转速策略信息,并根据该温度信息、该风扇转速数据及该风扇转速策略信息,获取风扇控制信号,以通过该风扇控制信号进行风扇转速控制。进一步的,以目标控制管脚中的风扇控制管脚为例,BMC芯片可配置的风扇转速控制PWM管脚为8个,可读取的风扇转速TACH管脚(即上述风扇转速管脚)为16个。对于一些4U服务器,风扇数量可以达到12个,则需要的风扇转速控制PWM管脚组要12个,无法满足设计需求,此时可以将风扇转速控制PWM管脚和风扇转速TACH管脚接在CPLD芯片上。另外,风扇转速的控制主要根据***温度、环境温度进行闭环控制,CPLD芯片从BMC芯片中获取风扇转速策略信息,按照预设的温度-转速策略表格进行风扇转速控制,满足***散热需求,无需占用BMC芯片的资源。也就是说,CPLD芯片根据获取的温度信息以及BMC芯片发出的风扇转速策略信息对风扇进行控制;同时BMC芯片还可以通过CPLD芯片获取风扇转速。
在一种可能的实施方式中,该CPLD芯片对该CPLD芯片与该第二目标从设备之间的I2C总线进行目标次数(优选的,该目标次数为3次)的并行轮询,并获取该状态监测数据中的传感器数据;
该CPLD芯片对该传感器数据的有效性进行验证,并将有效的该传感器数据保存至待发送缓冲区;
该CPLD芯片将该待发送缓冲区内的该传感器数据通过SPI总线输送至该BMC芯片。
进一步的,BMC芯片可以提供一些硬件监控的服务和信息收集的服务,这类服务业务场景单一,对BMC内部的CPU资源依赖性不强,但是数量较多且单次执行周期较长,可以从BMC芯片中剥离放到CPLD芯片中进行处理,最后将汇总结果汇报给BMC芯片(如上述的第二目标从设备)。传统拓扑这些传感器/部件都是直接通过I2C总线接口与BMC芯片连接,并由BMC芯片实时处理。随着***拓扑越来越复杂,为了***控制、故障诊断、精细化调整,***中植入了更多的传感器测点,一个典型的四路服务器,其温度传感器测点就高达24个,电压、电流传感器高达35个、部件152个。
以第二目标从设备中的温度传感器为例,其在BMC芯片中的单次读写时序如图4所示,获取一次温度信息就要读写8Byte;BMC芯片上一个BUS总线上有16个温度传感器,该BUS总线一次轮询需要读写108Byte;按照I2C总线的100Kbs的标准读写速率,该BUS总线一次轮询读写数据的时间为8.64ms;实际操作中读取每个寄存器之间还要间隔20ms左右,所以该BUS总线一次轮询平均需要的总时间大约为300ms左右。为保证数据有效性,需要读取三次做校验,那么获取一次有效的数据耗时在1秒左右。
此时可以通过CPLD芯片辅助BMC芯片查询所有传感器,其查询流程请参照图5所示,首先CPLD芯片同时轮询该CPLD芯片与第二目标从设备之间所有的I2C BUS总线数据,轮询三次进行数据滤波(此处可轮询目标次数,为了保证是数据有效性,优选轮询三次),验证数据的有效性;如果有效则将数据保存至待发送缓冲区,如果无效则重新读取。最后通过GPIO中断信号,通知BMC芯片通过SPI总线从CPLD芯片中获取传感器信息,或者等待BMC芯片主动通过SPI总线查询数据。由于通过SPI总线进行数据传输,相比上述I2C总线速率,延时极低。
BMC芯片是单核处理器,一次只能执行一条命令或者任务;BMC芯片一共有13条I2CBUS总线,假设上面器件分布在这13条BUS总线中,一次完整的数据查询时间大约为13秒;这样的时间周期极大的影响了***体验。当传感器/部件挂载在CPLD芯片下,CPLD芯片可以并行读取所有I2C BUS总线的数据,所有传感器轮询一次只要1秒左右,极大的缩短了轮询周期;BMC芯片自己获取一个有效的温度值为3*8Byte,而通过CPLD芯片获取一个有效的温度值只需要2Byte,数据压缩后占比为8%,极大的减轻BMC芯片的工作量。
S302、该BMC芯片通过SPI总线获取计算处理后的该第一数据信息、通过SPI总线或I2C总线获取计算处理后的该状态监测数据及该运行数据,并根据计算处理后的该第一数据信息、该状态监测数据及该运行数据,通过该CPLD芯片分别对该第一目标从设备、该第二目标从设备及目标控制管脚进行控制。该目标控制管脚也直接挂载在该CPLD芯片下。
在一种可能的实施方式中,该第一目标从设备包括Flash芯片;该BMC芯片通过该CPLD芯片对写入至该Flash芯片中的数据进行加密处理,并对从该Flash芯片中读取的数据进行解密处理。
进一步的,此处请参照图6所示的CPLD芯片对Flash芯片数据进行加密的示意图,在BMC芯片下加入CPLD芯片,可以通过CPLD芯片对写入Flash芯片的数据进行加密,对通过CPLD芯片对从Flash芯片中读取的数据进行解密,从而保证数据的安全性。
综上所述,该BMC芯片与该CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;该CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;其中,该第一目标从设备为用于实现数据存储或快速交互数据的从设备;该第二目标从设备为业务场景小于目标业务阈值的从设备。上述方案利用CPLD芯片进行数据收集、校验、压缩,并将处理后的数据传送给BMC芯片,减少BMC芯片内部计算资源占用,提高计算速度。
此外,还通过CPLD芯片对BMC芯片的接口进行了扩展,该CPLD芯片下的硬件接口远大于BMC芯片自身的硬件接口,增加了BMC芯片的I2C总线接口数量、GPIO总线接口数量;可以支持更多的第二目标设备、更多的目标控制管脚。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (9)
1.一种提高BMC芯片计算效率的***,其特征在于,所述***包括:BMC芯片及CPLD芯片;
所述BMC芯片与所述CPLD芯片之间通过SPI总线、I2C总线及GPIO总线通信连接;
所述CPLD芯片下直接挂载有第一目标从设备、第二目标从设备及目标控制管脚;所述CPLD芯片下还直接挂载有目标运行管脚;所述目标控制管脚包括时序控制管脚、风扇控制管脚以及目标在位检测管脚;所述目标运行管脚包括时序管脚以及风扇转速管脚;所述时序控制管脚用于输出顺序控制信号;所述风扇控制管脚用于输出风扇控制信号;所述时序管脚用于获取***或目标设备的时序数据;所述风扇转速管脚用于获取风扇转速;
其中,所述第一目标从设备为用于实现数据存储或快速交互数据的从设备;所述第二目标从设备为业务场景小于目标业务阈值的从设备;所述目标业务阈值为预设的业务阈值,用于指示从设备的服务业务场景的数量;
所述第一目标从设备通过SPI总线直接挂载在所述CPLD芯片下,所述第二目标从设备通过I2C总线直接挂载在所述CPLD芯片下,所述目标控制管脚及所述目标运行管脚分别通过GPIO总线直接挂载在所述CPLD芯片下;
所述第一目标从设备在接入所述CPLD芯片后,通过SPI总线与所述BMC芯片建立通信;
所述第二目标从设备及所述目标控制管脚在接入所述CPLD芯片后,通过SPI总线或I2C总线与所述BMC芯片建立通信;
所述BMC芯片还通过I2C总线直接与第三目标从设备通信连接;所述第三目标从设备为业务场景大于所述目标业务阈值的从设备。
2.根据权利要求1所述的***,其特征在于,所述第一目标从设备包括Flash芯片及DSP芯片;
所述第二目标从设备包括各个传感器、电压调节模组VRM及内存条SPD。
3.根据权利要求1所述的***,其特征在于,所述BMC芯片还通过I2C总线直接与第三目标从设备通信连接;所述第三目标从设备为业务场景大于所述目标业务阈值的从设备;
所述第三目标从设备包括中央处理器CPU、LAN芯片、RAID卡;
所述BMC芯片还通过GPIO总线直接与目标外部硬件连接;
所述目标外部硬件包括硬件配置信息管脚、按键及LED灯。
4.根据权利要求1至3任一所述的***,其特征在于,所述BMC芯片与所述CPLD芯片之间的GPIO总线配置为中断信号。
5.一种提高BMC芯片计算效率的方法,其特征在于,所述方法包括:
CPLD芯片分别获取第一目标从设备的第一数据信息、第二目标从设备的状态监测数据及目标运行管脚的运行数据,并分别对所述第一数据信息、所述状态监测数据及所述运行数据进行计算处理;
所述BMC芯片通过SPI总线获取计算处理后的所述第一数据信息、通过SPI总线或I2C总线获取计算处理后的所述状态监测数据及所述运行数据,并根据计算处理后的所述第一数据信息、所述状态监测数据及所述运行数据,通过所述CPLD芯片分别对所述第一目标从设备、所述第二目标从设备及目标控制管脚进行控制;所述目标控制管脚包括时序控制管脚、风扇控制管脚以及目标在位检测管脚;所述目标运行管脚包括时序管脚以及风扇转速管脚;所述时序控制管脚用于输出顺序控制信号;所述风扇控制管脚用于输出风扇控制信号;所述时序管脚用于获取***或目标设备的时序数据;所述风扇转速管脚用于获取风扇转速;
其中,所述第一目标从设备、所述第二目标从设备、所述目标运行管脚及所述目标控制管脚均直接挂载在所述CPLD芯片下;所述第一目标从设备为用于实现数据存储或快速交互数据的从设备;所述第一数据信息为第一目标从设备的存储信息或交互信息;所述第二目标从设备为业务场景小于目标业务阈值的从设备;所述目标业务阈值为预设的业务阈值,用于指示从设备的服务业务场景的数量;
所述第一目标从设备通过SPI总线直接挂载在所述CPLD芯片下,所述第二目标从设备通过I2C总线直接挂载在所述CPLD芯片下,所述目标控制管脚及所述目标运行管脚分别通过GPIO总线直接挂载在所述CPLD芯片下;
所述第一目标从设备在接入所述CPLD芯片后,通过SPI总线与所述BMC芯片建立通信;
所述第二目标从设备及所述目标控制管脚在接入所述CPLD芯片后,通过SPI总线或I2C总线与所述BMC芯片建立通信;
所述BMC芯片还通过I2C总线直接与第三目标从设备通信连接;所述第三目标从设备为业务场景大于所述目标业务阈值的从设备。
6.根据权利要求5所述的方法,其特征在于,所述CPLD芯片分别获取第一目标从设备的第一数据信息、第二目标从设备的状态监测数据及目标运行管脚的运行数据,包括:
所述CPLD芯片分别通过SPI总线获取第一目标从设备的第一数据信息、通过I2C总线获取所述从设备中的第二目标从设备的监测数据、通过GPIO总线获取目标运行管脚的运行数据目标。
7.根据权利要求5所述的方法,其特征在于,所述第一目标从设备包括Flash芯片;所述方法包括:
所述BMC芯片通过所述CPLD芯片对写入至所述Flash芯片中的数据进行加密处理,并对从所述Flash芯片中读取的数据进行解密处理。
8.根据权利要求5所述的方法,其特征在于,所述第二目标从设备包括温度传感器;所述目标运行管脚的运行数据包括风扇转速数据,所述方法包括:
所述CPLD芯片分别获取所述温度传感器监测的温度信息、所述风扇转速数据及所述BMC芯片中的风扇转速策略信息,并根据所述温度信息、所述风扇转速数据及所述风扇转速策略信息,获取风扇控制信号,以通过所述风扇控制信号进行风扇转速控制。
9.根据权利要求5至8任一所述的方法,其特征在于,所述方法还包括:
所述CPLD芯片对所述CPLD芯片与所述第二目标从设备之间的I2C总线进行目标次数的并行轮询,并获取所述状态监测数据中的传感器数据;
所述CPLD芯片对所述传感器数据的有效性进行验证,并将有效的所述传感器数据保存至待发送缓冲区;
所述CPLD芯片将所述待发送缓冲区内的所述传感器数据通过SPI总线输送至所述BMC芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310290489.XA CN116303213B (zh) | 2023-03-22 | 2023-03-22 | 一种提高bmc芯片计算效率的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310290489.XA CN116303213B (zh) | 2023-03-22 | 2023-03-22 | 一种提高bmc芯片计算效率的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116303213A CN116303213A (zh) | 2023-06-23 |
CN116303213B true CN116303213B (zh) | 2024-03-15 |
Family
ID=86799377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310290489.XA Active CN116303213B (zh) | 2023-03-22 | 2023-03-22 | 一种提高bmc芯片计算效率的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303213B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103178977A (zh) * | 2011-12-22 | 2013-06-26 | 英业达股份有限公司 | 计算机***及计算机***的开机管理方法 |
CN109240966A (zh) * | 2018-08-20 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于cpld的加速卡、数据采集方法及装置 |
CN109681456A (zh) * | 2018-12-28 | 2019-04-26 | 郑州云海信息技术有限公司 | 一种风扇控制装置和方法 |
CN111124981A (zh) * | 2019-11-29 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种服务器i2c设备的管理***及方法 |
CN114138644A (zh) * | 2021-11-29 | 2022-03-04 | 山东云海国创云计算装备产业创新中心有限公司 | Bmc调试方法及监控方法、***、装置、设备、介质 |
WO2022148324A1 (zh) * | 2021-01-11 | 2022-07-14 | 苏州浪潮智能科技有限公司 | 一种i2c总线监控的方法、装置、***及存储介质 |
CN115129133A (zh) * | 2022-07-28 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种服务器液冷***调控装置、方法、终端及存储介质 |
CN218213983U (zh) * | 2022-05-16 | 2023-01-03 | 紫光恒越技术有限公司 | 一种数据计算***及内置该***的服务器 |
-
2023
- 2023-03-22 CN CN202310290489.XA patent/CN116303213B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103178977A (zh) * | 2011-12-22 | 2013-06-26 | 英业达股份有限公司 | 计算机***及计算机***的开机管理方法 |
CN109240966A (zh) * | 2018-08-20 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于cpld的加速卡、数据采集方法及装置 |
CN109681456A (zh) * | 2018-12-28 | 2019-04-26 | 郑州云海信息技术有限公司 | 一种风扇控制装置和方法 |
CN111124981A (zh) * | 2019-11-29 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种服务器i2c设备的管理***及方法 |
WO2022148324A1 (zh) * | 2021-01-11 | 2022-07-14 | 苏州浪潮智能科技有限公司 | 一种i2c总线监控的方法、装置、***及存储介质 |
CN114138644A (zh) * | 2021-11-29 | 2022-03-04 | 山东云海国创云计算装备产业创新中心有限公司 | Bmc调试方法及监控方法、***、装置、设备、介质 |
CN218213983U (zh) * | 2022-05-16 | 2023-01-03 | 紫光恒越技术有限公司 | 一种数据计算***及内置该***的服务器 |
CN115129133A (zh) * | 2022-07-28 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种服务器液冷***调控装置、方法、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116303213A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346163B (zh) | 服务器机架电力管理 | |
US9954727B2 (en) | Automatic debug information collection | |
US10127170B2 (en) | High density serial over LAN management system | |
TWI618380B (zh) | 管理方法、服務控制器裝置以及非暫態電腦可讀取媒體 | |
EP3261420A1 (en) | Virtual chassis management controller | |
US10776304B2 (en) | Fan speed control via PCIE topology | |
US20120136502A1 (en) | Fan speed control system and fan speed reading method thereof | |
CN110594180A (zh) | 一种服务器散热控制器的控制方法及*** | |
CN108388497B (zh) | 多节点高密度服务器的监控及管理***和方法 | |
CN112948185A (zh) | 一种服务器散热方法、装置及相关组件 | |
TWI647993B (zh) | 控制伺服器機櫃中氣流之系統及方法 | |
JP2008165803A (ja) | ブレードサーバ管理システム | |
EP2529313A1 (en) | Methods and systems for an interposer board | |
CN1536736A (zh) | 用于服务器的不间断电源管理指示方法、***和装置 | |
EP3319283B1 (en) | Server data port learning at data switch | |
CN111722686B (zh) | 一种跨节点的带内散热控制方法和装置 | |
CN111367392B (zh) | 一种动态电源管理*** | |
US6892312B1 (en) | Power monitoring and reduction for embedded IO processors | |
CN111324503B (zh) | 机框管理装置、方法和计算机可读存储介质 | |
CN116303213B (zh) | 一种提高bmc芯片计算效率的***及方法 | |
CN111190468B (zh) | 一种ocp网卡散热装置及方法 | |
WO2024066444A1 (zh) | 一种告警方法、计算设备及存储介质 | |
CN111459768A (zh) | 一种硬盘管理方法、装置、设备及机器可读存储介质 | |
CN114356057B (zh) | 控制PCIe卡散热的方法、装置、设备及存储介质 | |
US20170091133A1 (en) | Universal sleds server architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |