一种BIOS与BMC沟通实现数据交互的方法与流程

文档序号:19893084发布日期:2020-02-11 12:56阅读:1850来源:国知局
一种BIOS与BMC沟通实现数据交互的方法与流程

本发明公开一种bios与bmc沟通实现数据交互的方法,涉及数据交互技术领域。



背景技术:

bios(basicinputoutputsystem)是一组固化到计算机内主板上一个rom芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

bmc(baseboardmanagementcontroller)是ipmi管理平台中的核心控制器,系统管理软件对各个被管理器件的管理,可通过与bmc通信来实现的。bmc不依赖于服务器的处理器、bios或操作系统来工作,有自己的固件、电源、mac地址与网络接口,在操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。

本发明提供一种bios与bmc沟通实现数据交互的方法,建立bios与eeprom及bmc与eeprom的数据交互链接通路,初始化bmc及bmc相应链接通路,初始化bios及bios相应链接通路,bmc及bios约定不同命令实现对eeprom存取指令的区别操作:进行取处理操作时,对eeprom所存储的数据赋予read权限,并进行读取后校准;进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,告知bios和bmc,保证同一时刻bios和bmc中只有其一进行存处理操作,并进行存处理操作前后的校准。通过本发明方法能够达到bmc与bios沟通实现数据交互的稳定、安全与有效,保证bios与bmc两者之间的数据快速交互沟通,为服务器的稳定运行提供强有力的保障。



技术实现要素:

本发明针对现有技术的问题,提供一种bios与bmc沟通实现数据交互的方法,达到bmc与bios沟通实现数据交互的稳定、安全与有效,保证bios与bmc两者之间的数据快速交互沟通,为服务器的稳定运行提供强有力的保障。

本发明提出的具体方案是:

一种bios与bmc沟通实现数据交互的方法,建立bios与eeprom及bmc与eeprom的数据交互链接通路,

初始化bmc及bmc相应链接通路,

初始化bios及bios相应链接通路,

bmc及bios约定不同命令实现对eeprom存取指令的区别操作:进行取处理操作时,对eeprom所存储的数据赋予read权限,并进行读取后校准;进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,告知bios和bmc,保证同一时刻bios和bmc中只有其一进行存处理操作,并进行存处理操作前后的校准。

所述的方法中进行数据的存处理操作时,通知bios利用触发smi/sci通路的方式,告知bios和bmc在eeprom中正在进行数据存处理操作,利用触发的smi/sci的handler函数进行存处理操作,保证同一时刻bios和bmc中只有其一进行存处理操作。

所述的方法中存处理操作前后的校准:将存处理操作之后的数据与存处理操作之前的数据进行比对,若两者比对结果相同则正常,否则进入异常,重复执行存处理操作。

所述的方法中进行取处理操作时,通过多次读取数据时后判定哈希值或md5值是否相同来进行校准。

一种bios与bmc沟通实现数据交互的系统,包括bios,bmc,bios与eeprom及bmc与eeprom的数据交互链接通路,

所述系统进行bios与bmc数据交互时,初始化bmc及bmc相应链接通路,初始化bios及bios相应链接通路,

bmc及bios约定不同命令实现对eeprom存取指令的区别操作:进行取处理操作时,对eeprom所存储的数据赋予read权限,并进行读取后校准;进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,告知bios和bmc,保证同一时刻bios和bmc中只有其一进行存处理操作,并进行存处理操作前后的校准。

所述的系统中进行数据的存处理操作时,通知bios利用触发smi/sci通路的方式,告知bios和bmc在eeprom中正在进行数据存处理操作,利用触发的smi/sci的handler函数进行存处理操作,保证同一时刻bios和bmc中只有其一进行存处理操作。

所述的系统中进行存处理操作前后的校准的过程为:将存处理操作之后的数据与存处理操作之前的数据进行比对,若两者比对结果相同则正常,否则进入异常,重复执行存处理操作。

所述的系统中进行取处理操作时,通过多次读取数据时后判定哈希值或md5值是否相同来进行校准。

本发明的有益之处是:

本发明方法提供一种bios与bmc沟通实现数据交互的方法,建立了bios与eeprom及bmc与eeprom的数据交互链接通路,并且通过bmc及bios约定不同命令实现对eeprom存取指令的区别操作,对eeprom存取操作进行判定,为后续对存取操作进行差异性处理提供依据,在进行取处理操作时,对eeprom所存储的数据赋予read权限,防止在进行取操作的过程中防止数据被非法篡改,导致取出的数据存在差异,保证取数据源的统一性,并进行读取后校准,保证取操作数据有效且准确;进行存处理操作时,引入互斥机制,保证同一时刻bios和bmc中只有其一进行存处理操作,有效的保证了数据的安全性和统一性,并进行存处理操作前后的校准,有效的保证了数据源的有效性和统一性。通过本发明方法能够达到bmc与bios沟通实现数据交互的稳定、安全与有效,保证bios与bmc两者之间的数据快速交互沟通,为服务器的稳定运行提供强有力的保障。

附图说明

图1是本发明方法流程示意图。

具体实施方式

本发明提供一种bios与bmc沟通实现数据交互的方法,建立bios与eeprom及bmc与eeprom的数据交互链接通路,

初始化bmc及bmc相应链接通路,

初始化bios及bios相应链接通路,

bmc及bios约定不同命令实现对eeprom存取指令的区别操作:进行取处理操作时,对eeprom所存储的数据赋予read权限,并进行读取后校准;进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,告知bios和bmc,保证同一时刻bios和bmc中只有其一进行存处理操作,并进行存处理操作前后的校准。

同时提供与上述方法相应的一种bios与bmc沟通实现数据交互的系统,包括bios,bmc,bios与eeprom及bmc与eeprom的数据交互链接通路,

所述系统进行bios与bmc数据交互时,初始化bmc及bmc相应链接通路,初始化bios及bios相应链接通路,

bmc及bios约定不同命令实现对eeprom存取指令的区别操作:进行取处理操作时,对eeprom所存储的数据赋予read权限,并进行读取后校准;进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,告知bios和bmc,保证同一时刻bios和bmc中只有其一进行存处理操作,并进行存处理操作前后的校准。

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

利用本发明方法进行bios与bmc沟通实现数据交互,具体过程为:

建立bios与eeprom及bmc与eeprom的数据交互链接通路,

初始化bmc及bmc相应链接通路,初始化bmc对i2c的初始化设置,保证bmc存取eeprom链路通道的畅通,

初始化bios及bios相应链接通路,bios初始化,包括服务器主板自身cpu、pch的等关键器件的初始化,同时对i2c的初始化设置,保证bios存取eeprom链路通道的畅通,

bmc及bios约定不同命令实现对eeprom存取指令的区别操作,判断存取操作,具体为:进行取处理操作时,对eeprom所存储的数据赋予read权限,防止在进行取操作的过程中防止数据被非法篡改,导致取出的数据存在差异,保证取数据源的统一性,还可以通过多次读取后判定哈希、md5值是否相同等方式实现读取后校准,保证取操作数据有效且准确;

进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,通知bios利用触发smi/sci通路的方式,告知bios和bmc在eeprom中正在进行数据存处理操作,利用触发的smi/sci的handler函数进行存处理操作,保证同一时刻bios和bmc中只有其一进行存处理操作,由此实现bios和bmc两者对eeprom的互斥存操作,有效的保证了数据的安全性和统一性,并将存处理操作之后的数据与存处理操作之前的数据进行比对,若两者比对结果相同则正常,否则进入异常,重复执行存处理操作。

利用本发明系统进行bios与bmc沟通实现数据交互,具体过程为:

初始化bmc及bmc相应链接通路,初始化bmc对i2c的初始化设置,保证bmc存取eeprom链路通道的畅通,

初始化bios及bios相应链接通路,bios初始化,包括服务器主板自身cpu、pch的等关键器件的初始化,同时对i2c的初始化设置,保证bios存取eeprom链路通道的畅通,

bmc及bios约定不同命令实现对eeprom存取指令的区别操作,判断存取操作,具体为:进行取处理操作时,对eeprom所存储的数据赋予read权限,防止在进行取操作的过程中防止数据被非法篡改,导致取出的数据存在差异,保证取数据源的统一性,还可以通过多次读取后判定哈希、md5值是否相同等方式实现读取后校准,保证取操作数据有效且准确;

进行存处理操作时,侦测bios和bmc两者中有其一在eeprom中进行数据的存处理操作时,通知bios利用触发smi/sci通路的方式,告知bios和bmc在eeprom中正在进行数据存处理操作,利用触发的smi/sci的handler函数进行存处理操作,保证同一时刻bios和bmc中只有其一进行存处理操作,由此实现bios和bmc两者对eeprom的互斥存操作,有效的保证了数据的安全性和统一性,并将存处理操作之后的数据与存处理操作之前的数据进行比对,若两者比对结果相同则正常,否则进入异常,重复执行存处理操作。

本发明提出的bmc与bios沟通实现数据交互方法可以在x86服务器平台上进行应用,还可以扩展至诸如龙芯、飞腾、申威、兆芯等国产平台,系统中只要满足存在bios/固件和bmc/单片机的架构,且两者之间需要进行数据沟通交互、传递信息的情形下均可采用本专利提出的数据沟通交互方法,以期望达到为整个系统中的数据交互提供安全可靠且有效的沟通方法。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1