一种BMC远程访问I2C器件的方法、系统、设备及介质技术方案

技术编号:27281247 阅读:22 留言:0更新日期:2021-02-06 11:48
本发明专利技术公开了一种BMC远程访问I2C器件的方法、系统、设备和存储介质,方法包括:远离I2C器件的第一BMC向靠近I2C器件的第二BMC发送访问I2C器件的IPMI消息和命令码;第二BMC收到IPMI消息和命令码后调用I2C驱动接口,访问I2C器件;第二BMC将I2C驱动接口返回的错误码转换成命令码的完成码,并将I2C驱动接口返回的数据与完成码一起作为响应返回给第一BMC;以及第一BMC收到响应,基于完成码读取响应中的数据。本发明专利技术通过利用靠近I2C器件的BMC远程访问I2C器件,只需要增加一条IPMI命令即可实现,而不用创建线程例测和同步数据,降低了软件复杂度。度。度。

【技术实现步骤摘要】
一种BMC远程访问I2C器件的方法、系统、设备及介质


[0001]本专利技术涉及BMC领域,更具体地,特别是指一种BMC远程访问I2C器件的方法、系统、计算机设备及可读介质。

技术介绍

[0002]因I2C(Inter-Integrated Circuit,二线制串行总线)协议简单,硬件设计成本\器件成本低,I2C器件在存储/服务器单板中被大量使用。BMC(Baseboard Management Controller,基板管理控制器)作为单板管理的中心,需要对这些I2C器件实施访问获取数据,但是随着存储/服务器性能要求越来越高,单板集成度,乃至整个存储/服务器机框的集成度越来越高,为了满足散热或者PCB走线等问题,往往出现这样的现象:距离单板A上BMC-A比较近的单板C上的I2C器件Chip1(芯片1),设计上不需要被BMC-A管理,而是需要被单板B上的BMC-B管理。
[0003]面对上面这种场景,现有的技术解决方案有两种:
[0004]方案1:硬件优化,通过重新结构设计,将单板C上的Chip1,连接到单板B上的BMC-B,从而实现BMC-B可以直接管理Chip1。
[0005]方案2:就近连接,Chip1连接到单板A的BMC-A,然后BMC-A例测Chip1,得到Chip1的数据后,通过BMC-A与BMC-B之间的通信通道,将Chip1的数据同步给BMC-B。
[0006]现有技术方案都会给软\硬件带来额外的开销。例如:
[0007]方案1:硬件此处做了设计让步,可能带来系统散热难度更大、PCB(Printed circuit board,印刷电路板)走线信号余量紧张等问题。
[0008]方案2:BMC-A需要创建线程,专门例测Chip1,同时还需要做同步,以及同步数据的超时处理。由此,增加了BMC软件复杂度。

技术实现思路

[0009]有鉴于此,本专利技术实施例的目的在于提出一种BMC远程访问I2C器件的方法、系统、计算机设备及计算机可读存储介质,通过利用靠近I2C器件的BMC远程访问I2C器件,只需要增加一条IPMI(智能平台管理接口)命令即可实现,而不用创建线程例测和同步数据,降低了软件复杂度;另外,还给单板在存储框、服务器框内结构位置的设计带来了便利,更利于散热的设计。
[0010]基于上述目的,本专利技术实施例的一方面提供了一种BMC远程访问I2C器件的方法,包括如下步骤:远离I2C器件的第一BMC向靠近所述I2C器件的第二BMC发送访问所述I2C器件的IPMI消息和命令码;所述第二BMC收到所述IPMI消息和命令码后调用I2C驱动接口,访问所述I2C器件;所述第二BMC将所述I2C驱动接口返回的错误码转换成所述命令码的完成码,并将所述I2C驱动接口返回的数据与所述完成码一起作为响应返回给所述第一BMC;以及所述第一BMC收到所述响应,基于所述完成码读取所述响应中的数据。
[0011]在一些实施方式中,所述基于所述完成码读取所述响应中的数据包括:判断所述
完成码是否为预定数据;以及响应于所述完成码不为预定数据,重新向所述第二BMC发送访问所述I2C器件的IPMI消息和命令码。
[0012]在一些实施方式中,方法还包括:响应于所述完成码不为预定数据,将失败次数加一,并判断所述失败次数是否达到阈值。
[0013]在一些实施方式中,方法还包括:响应于所述失败次数达到阈值,查找是否存在比所述第一BMC更靠近所述I2C器件的BMC;以及响应于存在比所述第一BMC更靠近所述I2C器件的BMC,从所述BMC中选择最靠近所述I2C器件的BMC替代所述第二BMC。
[0014]在一些实施方式中,方法还包括:响应于不存在比所述第一BMC更靠近所述I2C器件的BMC,进行告警。
[0015]在一些实施方式中,所述远离I2C器件的第一BMC向靠近所述I2C器件的第二BMC发送访问所述I2C器件的IPMI消息和命令码包括:将所述I2C器件的I2C总线号、I2C地址和内部寄存器偏移地址打包为IPMI信息。
[0016]在一些实施方式中,所述第二BMC收到所述IPMI消息和命令码后调用I2C驱动接口包括:对接收到的IPMI消息和命令码进行解析以确定待访问的I2C器件的地址信息,并将所述地址信息按照I2C驱动的接口函数的参数格式依次写入所述I2C驱动接口。
[0017]本专利技术实施例的另一方面,还提供了一种BMC远程访问I2C器件系统,包括:发送模块,配置用于使远离I2C器件的第一BMC向靠近所述I2C器件的第二BMC发送访问所述I2C器件的IPMI消息和命令码;访问模块,配置用于使所述第二BMC收到所述IPMI消息和命令码后调用I2C驱动接口,访问所述I2C器件;转换模块,配置用于所述第二BMC将所述I2C驱动接口返回的错误码转换成所述命令码的完成码,并将所述I2C驱动接口返回的数据与所述完成码一起作为响应返回给所述第一BMC;以及读取模块,配置用于使所述第一BMC收到所述响应,基于所述完成码读取所述响应中的数据。
[0018]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0019]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0020]本专利技术具有以下有益技术效果:通过利用靠近I2C器件的BMC远程访问I2C器件,只需要增加一条IPMI命令即可实现,而不用创建线程例测和同步数据,降低了软件复杂度;另外,还给单板在存储框、服务器框内结构位置的设计带来了便利,更利于散热的设计。
附图说明
[0021]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0022]图1为本专利技术提供的BMC远程访问I2C器件的方法的实施例的示意图;
[0023]图2为现有技术与本申请的对照示意图。
[0024]图3为本专利技术提供的BMC远程访问I2C器件的计算机设备的实施例的硬件结构示意
图。
具体实施方式
[0025]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0026]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0027]基于上述目的,本专利技术实施例的第一个方面,提出了一种BMC远程访问I2C器件的方法的实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BMC远程访问I2C器件的方法,其特征在于,包括以下步骤:远离I2C器件的第一BMC向靠近所述I2C器件的第二BMC发送访问所述I2C器件的IPMI消息和命令码;所述第二BMC收到所述IPMI消息和命令码后调用I2C驱动接口,访问所述I2C器件;所述第二BMC将所述I2C驱动接口返回的错误码转换成所述命令码的完成码,并将所述I2C驱动接口返回的数据与所述完成码一起作为响应返回给所述第一BMC;以及所述第一BMC收到所述响应,基于所述完成码读取所述响应中的数据。2.根据权利要求1所述的方法,其特征在于,所述基于所述完成码读取所述响应中的数据包括:判断所述完成码是否为预定数据;以及响应于所述完成码不为预定数据,重新向所述第二BMC发送访问所述I2C器件的IPMI消息和命令码。3.根据权利要求2所述的方法,其特征在于,还包括:响应于所述完成码不为预定数据,将失败次数加一,并判断所述失败次数是否达到阈值。4.根据权利要求3所述的方法,其特征在于,还包括:响应于所述失败次数达到阈值,查找是否存在比所述第一BMC更靠近所述I2C器件的BMC;以及响应于存在比所述第一BMC更靠近所述I2C器件的BMC,从所述BMC中选择最靠近所述I2C器件的BMC替代所述第二BMC。5.根据权利要求4所述的方法,其特征在于,还包括:响应于不存在比所述第一BMC更靠近所述I2C器件的BMC,进行告警。6.根据权利要求1所述的方法,其特征在于,所述远离I2C器件的第一BMC向靠近所述I2C器件的第二BMC...

【专利技术属性】
技术研发人员:张中云张亚男周宁宁
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1