CN112579506A - Bios与bmc通信的方法、bios、bmc和服务器 - Google Patents

Bios与bmc通信的方法、bios、bmc和服务器 Download PDF

Info

Publication number
CN112579506A
CN112579506A CN202110023477.1A CN202110023477A CN112579506A CN 112579506 A CN112579506 A CN 112579506A CN 202110023477 A CN202110023477 A CN 202110023477A CN 112579506 A CN112579506 A CN 112579506A
Authority
CN
China
Prior art keywords
ipmi
bmc
information
bios
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.)
Pending
Application number
CN202110023477.1A
Other languages
English (en)
Inventor
陈小春
张超
朱立森
马晓侠
刘昊天
孙亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cetc Beijing Co ltd
CETC Beijing Co
Original Assignee
Cetc Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cetc Beijing Co ltd filed Critical Cetc Beijing Co ltd
Priority to CN202110023477.1A priority Critical patent/CN112579506A/zh
Publication of CN112579506A publication Critical patent/CN112579506A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal

Abstract

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

Description

BIOS与BMC通信的方法、BIOS、BMC和服务器
技术领域
本公开涉及计算机领域,尤其涉及BIOS与BMC通信的方法、BIOS、BMC和服务器。
背景技术
BMC(Baseboard Management Controller,基板控制器)是部署于服务器的具有独立供电、独立I/O接口的控制单元,是服务器的大管家,它通过IPMI(Intelligent PlatformManagement Interface,智能平台管理接口)实现了对服务器的智能管理,如:监视服务器的运作状况、对服务器进行远程管理等。随着服务器的应用场景越来越广泛,要求BMC有更多,更实用的管理功能,如远程控制服务器启动顺序、通过BIOS(Basic Input/OutputSystem,基本输入输出系统)配置界面设置BMC网络参数等。这些功能需要BIOS与BMC通过消息交互来协调完成。
目前BIOS与BMC最常用的通信方式是KCS(Keyboard Controller Style,键盘控制器方式)和BT(One-Block Transfer,单块传输),然而这些通信方式需要底层硬件的支持,如KCS需要BMC有内建的LPC(Low pin count Bus,少针脚型接口)控制器,BT则需要基于复杂的ASIC(Application Specific Integrated Circuit)或者FPGA(Field ProgrammableGate Array,现场可编程逻辑门阵列)。
近年来,国产平台的服务器的发展突飞猛进,应用的范围越来越广。目前,国产CPU包括鲲鹏、飞腾、海光、龙芯、兆芯、宏芯、申威等。在党政军领域,龙芯、飞腾、兆芯等目前占据主流。基于的架构主要分为三种,ARM(Advanced RISC Machine,高级精简指令集)架构、MIPS(Microprocessor without interlocked piped stages,无内部互锁流水级的微处理器)架构和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字节,若IPMI信息的长度超过32字节,则需要写入两次或多次。根据IPMI标准,IPMI信息中包含整个IPMI信息的长度(即第一长度)。若BIOS在完成一次写入IPMI信息后,确定已写入IPMI信息的长度小于IPMI信息的总长度,则说明IPMI信息还未全部写入BMC。在写入一次之后,可以再进行一次写入,写入BMC中存储设备(例如闪存)偏移地址可以相应变化。
本实施例的方法能够确定IPMI信息是否被完全的写入BMC,若没有完全写入,则继续写入,能够更有效地保证超过I2C总线单次写入最大长度32字节的IPMI信息完整地写入到BMC中。
实施例3:图3为实施例3提供的另一种BIOS与BMC通信的方法的流程图,应用于BMC,包括以下步骤:
S1步骤,响应于通过I2C总线收到的IPMI信息,执行IPMI信息中的IPMI命令,获得执行IPMI命令的回馈信息;
S2步骤,通过I2C总线向BIOS发送回馈信息。
具体地,BMC可以把从收到的IPMI信息存储在BMC的E2PROM芯片中。
本发明的BMC能够接收来自I2C总线的IPMI信息,并执行IPMI信息中的IPMI命令,获得执行命令的反馈结果,并将反馈结果通过I2C总线发给BIOS,因而能够通过I2C总线完成BIOS与BMC之间的通讯。
实施例4:上述方法,执行IPMI信息中的IPMI命令,包括:
确定已收到的IPMI信息的第二长度;
若第二长度小于IPMI信息的第一长度,则直到接收到全部IPMI信息,再执行IPMI信息中的IPMI命令;若第二长度等于第一长度,则执行IPMI信息中的IPMI命令。
实际应用时,当BMC发现未收到全部的IPMI信息后,BMC可以等待特定时长(时间用户可设)接收剩余的未写入部分的IPMI信息,若不能在特定时长内收到,则可以清除之前收到的不完整的IPMI信息。
本实施例的方法中BMC能够确定收到的IPMI信息是否完整,执行完整的IPMI信息中的IPMI命令,能够更有效地确保执行正确的IPMI命令,通过I2C总线回馈更准确的回馈信息。
基于同一发明构思,本发明实施例中还提供了BIOS、BMC和服务器,由于该BIOS、BMC和服务器解决问题的原理与上述方法相似,因此该BIOS、BMC和服务器的实施可以参见方法的实施,重复之处不再赘述。
实施例5:图4为实施例5提供的一种BIOS的示意图,包括以下模块:
写入模块,用于通过I2C总线向BMC写入IPMI信息;
读取模块,用于读取BMC通过I2C总线发送的IPMI信息的回馈信息。
实施例6:上述BIOS,还包括:
若IPMI信息中已写入部分的第二长度小于IPMI信息的第一长度,则通过I2C总线向BMC写入未写入部分的IPMI信息。
实施例7:图5为实施例7提供的一种BMC的示意图,包括以下模块:
执行模块,用于响应于通过I2C总线收到的IPMI信息,执行IPMI信息中的IPMI命令,获得执行IPMI命令的回馈信息;
发送模块,用于通过I2C总线向BIOS发送回馈信息。
实施例8:上述BMC,执行模块,包括:
确定子模块,用于确定已收到的IPMI信息的第二长度;
执行子模块,用于若第二长度小于IPMI信息的第一长度,则直到接收到全部IPMI信息,再执行IPMI信息中的IPMI命令;若第二长度等于第一长度,则执行IPMI信息中的IPMI命令。
实施例9:本发明提供一种服务器,包括权利要求5或6的BIOS,和,权利要求7或8的BMC。
以上技术特征构成了本发明的实施例,其具有较强的适应性和实施效果,可根据实际需要增减非必要的技术特征,来满足不同情况的需求。

Claims (9)

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,其特征在于,包括以下模块:
写入模块,用于通过I2C总线向BMC写入IPMI信息;
读取模块,用于读取所述BMC通过所述I2C总线发送的所述IPMI信息的回馈信息。
6.根据权利要求5所述的BIOS,其特征在于,还包括:
若所述IPMI信息中已写入部分的第二长度小于所述IPMI信息的第一长度,则通过所述I2C总线向所述BMC写入未写入部分的所述IPMI信息。
7.一种BMC,其特征在于,包括以下模块:
执行模块,用于响应于通过I2C总线收到的IPMI信息,执行所述IPMI信息中的IPMI命令,获得执行所述IPMI命令的回馈信息;
发送模块,用于通过所述I2C总线向BIOS发送所述回馈信息。
8.根据权利要求7所述的BMC,其特征在于,所述执行模块,包括:
确定子模块,用于确定已收到的所述IPMI信息的第二长度;
执行子模块,用于若所述第二长度小于所述IPMI信息的第一长度,则直到接收到全部所述IPMI信息,再执行所述IPMI信息中的IPMI命令;若所述第二长度等于所述第一长度,则执行所述IPMI信息中的IPMI命令。
9.一种服务器,其特征在于,包括权利要求5或6所述的BIOS,和,权利要求7或8所述的BMC。
CN202110023477.1A 2021-01-08 2021-01-08 Bios与bmc通信的方法、bios、bmc和服务器 Pending CN112579506A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110023477.1A CN112579506A (zh) 2021-01-08 2021-01-08 Bios与bmc通信的方法、bios、bmc和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110023477.1A CN112579506A (zh) 2021-01-08 2021-01-08 Bios与bmc通信的方法、bios、bmc和服务器

Publications (1)

Publication Number Publication Date
CN112579506A true CN112579506A (zh) 2021-03-30

Family

ID=75145586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110023477.1A Pending CN112579506A (zh) 2021-01-08 2021-01-08 Bios与bmc通信的方法、bios、bmc和服务器

Country Status (1)

Country Link
CN (1) CN112579506A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113970961A (zh) * 2021-10-25 2022-01-25 西安超越申泰信息科技有限公司 一种bios通过bmc控制散热的方法及服务器
CN114356428A (zh) * 2022-01-19 2022-04-15 浪潮商用机器有限公司 Bmc与bios的数据交互方法及相关组件

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734887A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种带外管理服务器资产信息的方法
CN105446657A (zh) * 2015-11-11 2016-03-30 浪潮电子信息产业股份有限公司 一种监控raid卡的方法
CN106020804A (zh) * 2016-05-12 2016-10-12 浪潮电子信息产业股份有限公司 一种自动更新dmi电源信息的方法
CN109597653A (zh) * 2018-12-04 2019-04-09 郑州云海信息技术有限公司 Bios与bmc命令交互的方法、bios及bmc
CN110134180A (zh) * 2019-04-24 2019-08-16 深圳市国鑫恒宇科技有限公司 基于SMBus总线BMC时间同步系统及方法
CN110765032A (zh) * 2019-10-31 2020-02-07 英业达科技有限公司 基于系统管理总线接口对i2c存储器进行读写的方法
CN111858100A (zh) * 2020-07-28 2020-10-30 浪潮电子信息产业股份有限公司 一种bmc消息传输方法及相关装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734887A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种带外管理服务器资产信息的方法
CN105446657A (zh) * 2015-11-11 2016-03-30 浪潮电子信息产业股份有限公司 一种监控raid卡的方法
CN106020804A (zh) * 2016-05-12 2016-10-12 浪潮电子信息产业股份有限公司 一种自动更新dmi电源信息的方法
CN109597653A (zh) * 2018-12-04 2019-04-09 郑州云海信息技术有限公司 Bios与bmc命令交互的方法、bios及bmc
CN110134180A (zh) * 2019-04-24 2019-08-16 深圳市国鑫恒宇科技有限公司 基于SMBus总线BMC时间同步系统及方法
CN110765032A (zh) * 2019-10-31 2020-02-07 英业达科技有限公司 基于系统管理总线接口对i2c存储器进行读写的方法
CN111858100A (zh) * 2020-07-28 2020-10-30 浪潮电子信息产业股份有限公司 一种bmc消息传输方法及相关装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113970961A (zh) * 2021-10-25 2022-01-25 西安超越申泰信息科技有限公司 一种bios通过bmc控制散热的方法及服务器
CN114356428A (zh) * 2022-01-19 2022-04-15 浪潮商用机器有限公司 Bmc与bios的数据交互方法及相关组件
CN114356428B (zh) * 2022-01-19 2023-05-12 浪潮商用机器有限公司 Bmc与bios的数据交互方法及相关组件

Similar Documents

Publication Publication Date Title
CN106951388B (zh) 一种基于PCIe的DMA数据传输方法及系统
EP2513744B1 (en) Automatic and controllable system operation
TWI709859B (zh) 安全數位卡之方法、快閃記憶體控制器以及電子裝置
CN112579506A (zh) Bios与bmc通信的方法、bios、bmc和服务器
KR20130042370A (ko) Ufs 인터페이스의 테스트 방법 및 이의 테스트 방법으로 테스트를 수행하는 메모리 장치
CN102955474A (zh) 一种汽车ecu的测控方法及其系统
CN111756858B (zh) 嵌入式设备的远程开发处理系统、方法及装置
CN101790252A (zh) 一种固件更新的方法和系统
WO2005057400A1 (ja) 電子装置、その制御方法、ホスト装置及びその制御方法
CN114564427A (zh) 一种ahb总线到i2c总线的总线桥、系统及方法
CN104834620A (zh) 串行外设接口spi总线电路、实现方法以及电子设备
CN112131174A (zh) 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质
CN113190482B (zh) 一种ipmi通信方法、用于ipmi通信的发送系统及接收系统
CN105718396A (zh) 一种大数据主设备传输的i2c总线装置及其通讯方法
CN105354157A (zh) 配置iic器件的方法、装置和系统
CN104615558B (zh) 一种数据传送方法及电子装置
CN111143898B (zh) 可插拔存储器装置数据保护方法
US20090106472A1 (en) Virtual SATA port multiplier, virtual SATA device, SATA system and data transfer method in a SATA system
CN115454881B (zh) Risc-v架构的调试系统及调试方法
US11755439B2 (en) Memory controller, test device and link identification method
CN216250003U (zh) 一种闪存测试板及测试装置
CN114968863A (zh) 一种基于dma控制器的数据传输方法
KR100306596B1 (ko) 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터
CN115599191B (zh) 智能网卡的上电方法及上电装置
CN116432574B (zh) 一种fpga配置控制器自动回读flash数据方法及装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant after: CLP Technology (Beijing) Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant before: CETC (BEIJING) Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant after: Kunlun Taike (Beijing) Technology Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant before: CLP Technology (Beijing) Co.,Ltd.