BIOS与BMC通信的方法、BIOS、BMC和服务器技术

技术编号:27877413 阅读:82 留言:0更新日期:2021-03-31 00:58
本发明专利技术本公开涉及计算机领域,提供一种BIOS与BMC通信的方法,应用于BIOS,包括以下步骤:将IPMI信息的第一格式转换成适合I2C总线传输的第二格式;将第二格式的IPMI信息通过I2C总线传输给BMC;通过I2C总线从BMC读取IPMI信息中IPMI命令的执行结果。本发明专利技术提供的方法BIOS能够通过I2C总线将IPMI信息发送给BMC,并能通过I2C读取BMC发送的回馈信息,因而本发明专利技术BIOS和BMC能够通过不需要控制芯片的I2C总线通讯,节省电路板的面积。

【技术实现步骤摘要】
BIOS与BMC通信的方法、BIOS、BMC和服务器
本公开涉及计算机领域,尤其涉及BIOS与BMC通信的方法、BIOS、BMC和服务器。
技术介绍
BMC(BaseboardManagementController,基板控制器)是部署于服务器的具有独立供电、独立I/O接口的控制单元,是服务器的大管家,它通过IPMI(IntelligentPlatformManagementInterface,智能平台管理接口)实现了对服务器的智能管理,如:监视服务器的运作状况、对服务器进行远程管理等。随着服务器的应用场景越来越广泛,要求BMC有更多,更实用的管理功能,如远程控制服务器启动顺序、通过BIOS(BasicInput/OutputSystem,基本输入输出系统)配置界面设置BMC网络参数等。这些功能需要BIOS与BMC通过消息交互来协调完成。目前BIOS与BMC最常用的通信方式是KCS(KeyboardControllerStyle,键盘控制器方式)和BT(One-BlockTransfer,单块传输),然而这些通信方式需要底层硬件的支持,如KCS需要BMC有内建的LPC(LowpincountBus,少针脚型接口)控制器,BT则需要基于复杂的ASIC(ApplicationSpecificIntegratedCircuit)或者FPGA(FieldProgrammableGateArray,现场可编程逻辑门阵列)。近年来,国产平台的服务器的发展突飞猛进,应用的范围越来越广。目前,国产CPU包括鲲鹏、飞腾、海光、龙芯、兆芯、宏芯、申威等。在党政军领域,龙芯、飞腾、兆芯等目前占据主流。基于的架构主要分为三种,ARM(AdvancedRISCMachine,高级精简指令集)架构、MIPS(Microprocessorwithoutinterlockedpipedstages,无内部互锁流水级的微处理器)架构和X86架构。国产平台的优点是可定制化,电路设计比较灵活,可以根据需要进行设计,精简使用控制芯片,可以有效地节省电路板的空间。若采用传统方式,实现BIOS与BMC通信仍需要控制芯片。如何利用国产平台可定制化的优势,在节省电路板空间的同时,实现BIOS与BMC之间的符合IPMI标准的通讯成了本领域的课题。
技术实现思路
本专利技术提供了一种通过BIOS和BMC通过I2C总线通讯的方法,无需借助总线控制芯片,克服了上述现有技术之不足。本专利技术提供一种BIOS与BMC通信的方法,应用于BIOS,包括以下步骤:通过I2C总线向BMC写入IPMI信息;读取BMC通过I2C总线发送的IPMI信息的回馈信息。上述方法,还包括:若IPMI信息中已写入部分的第二长度小于IPMI信息的第一长度,则通过I2C总线向BMC写入未写入部分的IPMI信息。本专利技术提供一种BIOS与BMC通信的方法,应用于BMC,包括以下步骤:响应于通过I2C总线收到的IPMI信息,执行IPMI信息中的IPMI命令,获得执行IPMI命令的回馈信息;通过I2C总线向BIOS发送回馈信息。上述方法,执行IPMI信息中的IPMI命令,包括:确定已收到的IPMI信息的第二长度;若第二长度小于IPMI信息的第一长度,则直到接收到全部IPMI信息,再执行IPMI信息中的IPMI命令;若第二长度等于第一长度,则执行IPMI信息中的IPMI命令。本专利技术提供一种BIOS,包括以下模块:写入模块,用于通过I2C总线向BMC写入IPMI信息;读取模块,用于读取BMC通过I2C总线发送的IPMI信息的回馈信息。上述BIOS,还包括:若IPMI信息中已写入部分的第二长度小于IPMI信息的第一长度,则通过I2C总线向BMC写入未写入部分的IPMI信息。本专利技术提供一种BMC,包括以下模块:执行模块,用于响应于通过I2C总线收到的IPMI信息,执行IPMI信息中的IPMI命令,获得执行IPMI命令的回馈信息;发送模块,用于通过I2C总线向BIOS发送回馈信息。上述BMC,执行模块,包括:确定子模块,用于确定已收到的IPMI信息的第二长度;执行子模块,用于若第二长度小于IPMI信息的第一长度,则直到接收到全部IPMI信息,再执行IPMI信息中的IPMI命令;若第二长度等于第一长度,则执行IPMI信息中的IPMI命令。本专利技术提供一种服务器,包括权利要求5或6的BIOS,和,权利要求7或8的BMC。本专利技术提供的方法BIOS能够通过I2C总线将IPMI信息发送给BMC,并能通过I2C读取BMC发送的回馈信息,因而本专利技术BIOS和BMC能够通过不需要控制芯片的I2C总线通讯,节省电路板的面积。附图说明图1为实施例1提供的一种BIOS与BMC通信的方法的流程图;图2为本专利技术BIOS向BMC写入IPMI信息的格式;图3为实施例3提供的另一种BIOS与BMC通信的方法的流程图;图4为实施例5提供的一种BIOS的示意图;图5为实施例7提供的一种BMC的示意图。具体实施方式本专利技术不受下述实施例的限制,可根据本专利技术的技术方案与实际情况来确定具体的实施方式。下面结合实施例及附图对本专利技术作进一步描述:实施例1:图1为实施例1提供的一种BIOS与BMC通信的方法的流程图,应用于BIOS,包括以下步骤:。S1步骤,通过I2C总线向BMC写入IPMI信息;S2步骤,读取BMC通过I2C总线发送的IPMI信息的回馈信息。本专利技术应用于服务器,服务器基于的平台可以是x86或者Arm等架构。本专利技术的应用场景是BIOS通过与BMC通讯(即发送IPMI信息和读取IPMI信息的反馈信息)获取BMC所监控的硬件设备的信息。I2C总线的硬件包括两根数据线,一根为数据线,一根为控制信号线。具体地,图2为本专利技术BIOS向BMC写入IPMI信息的格式,包括Start开始位、之后7-10位为地址位(即要写入BMC的地址),读写位,确认位(ACK/NACK),8位数据(每次发送8位第一格式的IPMI信息的数据),Stop结束位。传输过程中,每8位数据后就会有一个确认位,以确认刚刚发送的8位数据是正确发送的。一次正确的写入,所有的确认位必须都为有效,否则写入的所有数据就会被丢弃。BMC可以执行从I2C总线收到的IPMI信息中的IPMI命令,IPMI命令通常是用于获取BMC从硬件收集的硬件信息,例如内存利用率。BIOS通过I2C向BMC传输IPMI信息后,可再读取BMC发送的IPMI信息中的IPMI命令的执行结果。实施例2:上述方法,还包括:若IPMI信息中已写入部分的第二长度小于IPMI信息的第一长度,则通过I2C总线向BMC写入未写入部分的IPMI信息。实际应用中,利用I2C总线写入数据,一次最多可以写32字节,若I本文档来自技高网
...

【技术保护点】
1.一种BIOS与BMC通信的方法,应用于BIOS,其特征在于,包括以下步骤:/n通过I2C总线向BMC写入IPMI信息;/n读取所述BMC通过所述I2C总线发送的所述IPMI信息的回馈信息。/n

【技术特征摘要】
1.一种BIOS与BMC通信的方法,应用于BIOS,其特征在于,包括以下步骤:
通过I2C总线向BMC写入IPMI信息;
读取所述BMC通过所述I2C总线发送的所述IPMI信息的回馈信息。


2.根据权利要求1所述的方法,其特征在于,还包括:
若所述IPMI信息中已写入部分的第二长度小于所述IPMI信息的第一长度,则通过所述I2C总线向所述BMC写入未写入部分的所述IPMI信息。


3.一种BIOS与BMC通信的方法,应用于BMC,其特征在于,包括以下步骤:
响应于通过I2C总线收到的IPMI信息,执行所述IPMI信息中的IPMI命令,获得执行所述IPMI命令的回馈信息;
通过所述I2C总线向BIOS发送所述回馈信息。


4.根据权利要求3所述的方法,其特征在于,所述执行所述IPMI信息中的IPMI命令,包括:
确定已收到的所述IPMI信息的第二长度;
若所述第二长度小于所述IPMI信息的第一长度,则直到接收到全部所述IPMI信息,再执行所述IPMI信息中的IPMI命令;若所述第二长度等于所述第一长度,则执行所述IPMI信息中的IPMI命令。


5.一种BIOS,其特征在于,包括以下模块:<...

【专利技术属性】
技术研发人员:陈小春张超朱立森马晓侠刘昊天孙亮
申请(专利权)人:中电科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1