IPMI制造技术

技术编号:39801903 阅读:6 留言:0更新日期:2023-12-22 02:32
本申请提供一种

【技术实现步骤摘要】
IPMI命令传输方法、装置、系统及电子设备


[0001]本申请涉及计算机通信
,尤其涉及一种
IPMI
命令传输方法

装置

系统及电子设备


技术介绍

[0002]基板管理控制器
(Board Management Controller

BMC)
是对主基板提供智能服务的控制器,其独立于
CPU(Central Processing Unit)
工作

基本输入输出系统
(BIOS

Basic Input Output System)
的主要功能是为计算机提供最底层的硬件设置,控制

启动操作系统,向作业系统提供一些系统参数等,其运行在主机侧

[0003]IPMI(Intelligent Platform Management Interface
,智能平台管理接口
)
属于上层协议,是管理
Intel
结构的企业系统的外围设备采用的一种工业标准

现有技术中
BIOS

BMC
之间
IPMI
命令的传输多使用
KCS(Keyboard Controller Style
,键盘控制器样式
)

BT(Bit Torrent
,比特流
)r/>接口

[0004]使用
KCS
接口或
BT
接口传输
IPMI
命令的速度较慢,且硬件需要具备
KCS
接口或
BT
接口,成本较高


技术实现思路

[0005]本申请的目的是提供一种
IPMI
命令传输方法

装置

系统及电子设备,用于提高
IPMI
命令传输速度,降低成本

[0006]本申请提供一种
IPMI
命令传输方法,应用于
BIOS
,包括:
[0007]在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器;
[0008]接收所述
BMC
通过所述
PCIe
总线向所述主机的第二内存空间发送的第二
IPMI
命令的数据包,所述第二
IPMI
命令位于所述
BMC
的第二存储器,所述第二
IPMI
命令由所述
BMC
在所述第二内存空间未写满的情况下发送

[0009]可选地,所述在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器,包括:
[0010]在所述第一存储器对应的第一寄存器复位,且所述第一存储器未写满的情况下,将所述第一
IPMI
命令的数据包通过所述
PCIe
总线写入所述第一存储器;
[0011]所述第一寄存器在所述第一
IPMI
命令的数据包存入所述第一存储器后置位,以触发所述第一存储器产生中断,通知所述
BMC
接收所述第一
IPMI
命令的数据包,所述第一寄存器在所述
BMC
接收完所述第一
IPMI
命令后复位

[0012]可选地,所述第一存储器和所述第一内存空间有多个,所述第一存储器和所述第一内存空间一一对应;
[0013]所述在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器,包括:
[0014]在任一所述第一内存空间对应的第一存储器的第一寄存器复位,且所述第一存储器的剩余容量大于所述第一
IPMI
命令的占用容量的情况下,将所述第一内存空间对应的第一存储器作为目标存储器;
[0015]在任一所述第一内存空间对应的第一存储器的第一寄存器置位,或任一所述第一内存空间对应的第一存储器的剩余容量小于等于所述第一
IPMI
命令的占用容量的情况下,从其他所述第一存储器中选择所述第一寄存器复位且剩余容量大于所述第一
IPMI
命令的占用容量的第一存储器作为所述目标存储器;
[0016]在提高对所述目标存储器的存入事件的优先级后,将所述第一
IPMI
命令的数据包通过所述
PCIe
总线存入所述目标存储器,恢复对所述目标存储器的存入事件的优先级

[0017]可选地,所述在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器,包括:
[0018]为所述第一内存空间创建第一发送队列和第一发送事件;
[0019]将所述第一
IPMI
命令存入所述第一发送队列,唤醒第一发送事件;
[0020]在所述第一发送队列中存在所述第一
IPMI
命令,且所述第一存储器未写满的情况下,使用所述第一发送事件将所述第一发送队列中的第一
IPMI
命令的数据包通过所述
PCIe
总线存入所述第一存储器;
[0021]在所述第一
IPMI
命令的数据包为回复包的情况下,所述第一发送事件进入睡眠状态;
[0022]在所述第一
IPMI
命令的数据包为请求包的情况下,等待所述
BMC
返回的回复包,根据所述回复包中所述第一
IPMI
命令的命令执行结果更新所述第一
IPMI
命令的状态

[0023]可选地,所述第一
IPMI
命令的数据包或所述第二
IPMI
命令的数据包包括数据头和数据体;
[0024]所述数据头包括所述第一
IPMI
命令或所述第二
IPMI
命令的长度

校验值

命令编号,以及预设数据包标识,所述第一
...

【技术保护点】

【技术特征摘要】
1.
一种
IPMI
命令传输方法,其特征在于,应用于
BIOS
,包括:在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器;接收所述
BMC
通过所述
PCIe
总线向所述主机的第二内存空间发送的第二
IPMI
命令的数据包,所述第二
IPMI
命令位于所述
BMC
的第二存储器,所述第二
IPMI
命令由所述
BMC
在所述第二内存空间未写满的情况下发送
。2.
根据权利要求1所述的方法,其特征在于,所述在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器,包括:在所述第一存储器对应的第一寄存器复位,且所述第一存储器未写满的情况下,将所述第一
IPMI
命令的数据包通过所述
PCIe
总线写入所述第一存储器;所述第一寄存器在所述第一
IPMI
命令的数据包存入所述第一存储器后置位,以触发所述第一存储器产生中断,通知所述
BMC
接收所述第一
IPMI
命令的数据包,所述第一寄存器在所述
BMC
接收完所述第一
IPMI
命令后复位
。3.
根据权利要求2所述的方法,其特征在于,所述第一存储器和所述第一内存空间有多个,所述第一存储器和所述第一内存空间一一对应;所述在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器,包括:在任一所述第一内存空间对应的第一存储器的第一寄存器复位,且所述第一存储器的剩余容量大于所述第一
IPMI
命令的占用容量的情况下,将所述第一内存空间对应的第一存储器作为目标存储器;在任一所述第一内存空间对应的第一存储器的第一寄存器置位,或任一所述第一内存空间对应的第一存储器的剩余容量小于等于所述第一
IPMI
命令的占用容量的情况下,从其他所述第一存储器中选择所述第一寄存器复位且剩余容量大于所述第一
IPMI
命令的占用容量的第一存储器作为所述目标存储器;在提高对所述目标存储器的存入事件的优先级后,将所述第一
IPMI
命令的数据包通过所述
PCIe
总线存入所述目标存储器,恢复对所述目标存储器的存入事件的优先级
。4.
根据权利要求1所述的方法,其特征在于,所述在
BMC
的第一存储器未写满的情况下,将所述
BIOS
所在主机的第一内存空间中第一
IPMI
命令的数据包通过
PCIe
总线发送给所述第一存储器,包括:为所述第一内存空间创建第一发送队列和第一发送事件;将所述第一
IPMI
命令存入所述第一发送队列,唤醒第一发送事件;在所述第一发送队列中存在所述第一
IPMI
命令,且所述第一存储器未写满的情况下,使用所述第一发送事件将所述第一发送队列中的第一
IPMI
命令的数据包通过所述
PCIe
总线存入所述第一存储器;在所述第一
IPMI
命令的数据包为回复包的情况下,所述第一发送事件进入睡眠状态;在所述第一
IPMI
命令的数据包为请求包的情况下,等待所述
BMC
返回的回复包,根据所述回复包中所述第一
IPMI
命令的命令执行结果更新所述第一
IPMI
命令的状态
。5.
根据权利要求1所述的方法,其特征在于,所述第一
IPMI
命令的数据包或所述第二
IPMI
命令的数据包包括数据头和数据体;所述数据头包括所述第一
IPMI
命令或所述第二
IPMI
命令的长度

校验值

命令编号,以及预设数据包标识,所述第一
IPMI
命令的请求包和回复包的命令编号相同,第二
IPMI
命令的请求包和回复包的命令编号相同;所述数据体包括所述第一
IPMI
命令或所述第二
IPMI
命令的接收端设备编号

命令类别和命令字符;所述回复包的数据体还包括命令执行结果
。6.
根据权利要求1‑5任一所述的方法,其特征在于,所述接收所述
BMC
通过所述
PCIe
总线向所述主机的第二内存空间发送的第二
IPMI
命令的数据包,包括:在所述主机对所述第二存储器对应的第二寄存器进行轮询,确定所述第二寄存器置位的情况下,从所述第二内存空间中接收所述第二
IPMI
命令的数据包;所述第二寄存器在所述第二
IPMI
命令的数据包写入到所述第二内存空间后置位,在所述第二
IPMI
命令的数据包从所述第二内存空间接收完后复位
。7.
根据权利要求6所述的方法,其特征在于,所述第二存储器和所述第二内存空间有多个,所述第二存储器和所述第二内存空间一一对应;所述在所述第二寄存器置位的情况下,从所述第二内存空间中接收所述第二
IPMI
命令的数据包,包括:为所述第二内存空间创建第一接收队列

第一接收事件和第一执行事件;在单个所述第二存储器对应的第二寄存器置位的情况下,使用所述第一接收事件从单个所述第二存储器对应的第二内存空间中接收所述第二
IPMI
命令的数据包,将单个所述第二存储器对应的第二寄存器复位;在多个所述第二存储器对应的第二寄存器置位的情况下,使用所述第一接收事件从多个所述第二存储器对应的第二内存空间中取出所述第二
IPMI
命令的数据包,将多个所述第二存储器对应的第二寄存器复位,根据取出的所述第二
IPMI
命令的数据包中的预设数据包标识,确定取出的所述第二
IPMI
命令的数据包的排序;根据所述第二
IPMI
命令的数据包中的所述第二
IPMI
命令的长度,确定是否已接收所述第二
IPMI
命令的全部数据包;在未接收所述第二
IPMI
命令的全部数据包的情况下,继续对其他的所述第二存储器对应的第二寄存器进行轮询;在已接收所述第二
IPMI
命令的全部数据包的情况下,将所述第二
IPMI
命令的全部数据包放入所述第一接收队列中,以供所述第一执行事件执行所述第一接收队列中第二
IPMI
命令的全部数据包
。8.
一种
IPMI
命令传输方法,其特征在于,应用于
BMC
,包括:在主机的第二内存空间未写满的情况下,将所述
BMC
的第二存储器中第二
IPMI
命令的数据包通过
PCIe
总线发送给所述第二内存空间;在所述主机上的
BIOS
通过所述
PCIe
总线向所述
BMC
的第一存储器写入第一
IPMI
命令的数据包后,接收所述第一
IPMI
命令的数据包,所述第一
IPMI
命令位于所述主机的第一内存空间,所述第一
IPMI
命令由所述
BIOS
在所述第一存储器未写满的情况下写入
。9.
根据权利要求8所述的方法,其特征在于,所述在主机的第二内存空间未写满的情况
下,将所述
BMC
的第二存储器中第二
IPMI
命令的数据包通过
PC...

【专利技术属性】
技术研发人员:王殿卫刘宝阳陈超凡
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

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

1