一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于网络的远程刷新BMC固件的系统及方法与流程

2022-03-02 03:53:59 来源:中国专利 TAG:

一种基于网络的远程刷新bmc固件的系统及方法
技术领域
1.本发明涉及bmc固件更新领域,尤其是涉及一种基于网络的远程刷新bmc固件的系统及方法。


背景技术:

2.bmc(board management controller,基板管理控制器)在服务器架构中占有非常重要的角色,主要是负责整个系统的管理,包含监控电源电压,系统温度,风扇控制,系统异常状况监测,并提供远程访问的功能,让用户可以远程操作机器,了解机器状况。
3.bmc强大功能使得服务器产品对它的依赖性非常高,若是bmc固件被黑客攻击,造成bmc固件损坏,客户就必须派遣人员前往机房去处理,状况麻烦的时候,甚至需要请供货商派出客服人员处理。
4.传统服务器平台架构如图1所示,bmc固件主要是配置在bmc flash(闪存)上,一般bmc固件更新常见的方式有三种;第一种是bmc透过网络接口来接收bmc最新固件,并通过自我升级程序来更新bmc flash;第二种是进入到os(operating system,操作系统)环境下,透过ipmi(intelligent platform management interface,智能平台管理接口)命令来传递bmc固件,并通过命令来执行bmc固件更新;第三种则是直接拆下bmc flash进行更换的动作。
5.前两种固件更新方法都必须要bmc芯片运作正常情况下,才可执行bmc韧体更新,若bmc固件遭到黑客攻击造成损坏,造成bmc无法正常运作,就无法执行bmc固件更新;第三种方法则是要派遣人力前往机房现场进行bmc flash更换,并且还需要拆机器才可进行更换,不利于bmc固件更新的效率。


技术实现要素:

6.本发明为了解决现有技术中存在的问题,创新提出了一种基于网络的远程刷新bmc固件的系统及方法,有效解决由于现有技术造成bcm固件在遭到攻击损坏时无法进行更新或更新效率低的问题,不仅实现了bmc固件在遭到黑客攻击时也可以正常更新,而且提高了更新效率。
7.本发明第一方面提供了一种基于网络的远程刷新bmc固件的系统,包括:bmc、可编程逻辑器件、网络通道切换模块以及bmc固件存储模块,所述网络通道切换模块分别与bmc以及可编程逻辑器件通信连接,用于bmc或可编程逻辑器件通过网络通道切换模块获取用户命令以及数据,所述可编程逻辑器件还分别与bmc、bmc固件存储模块通信连接,用于在bmc固件更新前控制bmc暂停运行,将通过网络通道切换模块获取的用户远程发送的待更新的bmc固件存储至bmc固件存储模块,在bmc固件更新完成后控制bmc继续工作。
8.可选地,还包括网络接口控制器,所述可编程逻辑器件或bmc依次通过网络接口控制器、网络通道切换模块获取用户命令以及数据。
9.可选地,可编程逻辑器件的数据输出端与bmc固件存储模块的输入端单向通信连
接,用于将获取的待更新的bmc固件存储至bmc固件存储模块。
10.可选地,可编程逻辑器件的切换控制端与网络通道切换模块的控制输入端通信连接,用于在bmc固件更新前,控制网络通道切换模块与可编程逻辑器件通信连接;以及在bmc固件更新完成后,控制网络通道切换模块与bmc通信连接。
11.本发明第二方面提供了一种基于网络的远程刷新bmc固件的方法,基于本发明第一方面所述的一种基于网络的远程刷新bmc固件的系统的基础上实现的,包括:
12.在bmc固件更新前,可编程逻辑器件控制bmc暂停运行;
13.可编程逻辑器件通过网络通道切换模块获取用户远程发送的待更新的bmc固件;
14.可编程逻辑器件将获取的待更新的bmc固件存储至bmc固件存储模块,并在bmc固件更新完成后控制bmc继续工作。
15.可选地,可编程逻辑器件仅支持对bmc固件存储模块进行存储操作,不支持对bmc固件存储模块进行读取操作。
16.可选地,可编程逻辑器件通过网络通道切换模块获取用户远程发送的待更新的bmc固件之前,还包括:
17.在bmc固件更新前,可编程逻辑器件建立与网络通道切换模块的通信连接。
18.进一步地,在bmc固件更新前,可编程逻辑器件建立与网络通道切换模块的通信连接之后,还包括:
19.可编程逻辑器件通过网络通道切换模块获取用户远程发送的bmc固件更新命令。
20.可选地,还包括:
21.在bmc固件更新完成后,可编程逻辑器件断开与网络通道切换模块的连接,并建立控制网络通道切换模块与bmc的通信连接,使得bmc继续工作。
22.可选地,可编程逻辑器件将获取用户远程发送的待更新的bmc固件存储至可编程逻辑器件内部缓冲区,并将存储在可编程逻辑器件内部缓冲区的待更新的bmc固件存储至bmc固件存储模块。
23.本发明采用的技术方案包括以下技术效果:
24.1、本发明通过引入切换模块,使得可编程逻辑器件在bmc固件更新时,实现待更新的bmc固件的获取、存储、更新控制等,有效解决由于现有技术造成bcm固件在遭到攻击损坏时无法进行更新或更新效率低的问题,不仅实现了bmc固件在遭到黑客攻击时也可以正常更新,而且提高了更新效率。
25.2、本发明技术方案中可编程逻辑器件在bmc固件更新时,控制bmc暂停运行,在bmc固件更新完成后,恢复bmc运行,有效保证了bmc固件在bmc损坏时,也可以正常进行更新。
26.3、本发明技术方案中可编程逻辑器件的数据输出端与bmc固件存储模块的输入端单向通信连接,用于将获取的待更新的bmc固件存储至bmc固件存储模块,不仅保证了可编程逻辑器件对bmc固件存储模块的存储,而且降低了对于bmc与bmc固件存储模块之间通信的影响。
27.应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
28.为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为现有技术中包含bmc传统更新方式的服务器架构示意图;
30.图2为包含本发明方案中实施例一中基于网络的远程刷新bmc固件系统的服务器架构示意图;
31.图3为本发明方案中实施例二方法的流程示意图(一);
32.图4为本发明方案中实施例二方法的流程示意图(二);
33.图5为本发明方案中实施例二方法的流程示意图(三);
34.图6为本发明方案中实施例二方法的流程示意图(四);。
具体实施方式
35.为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
36.实施例一
37.如图2所示,本发明提供了一种基于网络的远程刷新bmc固件的系统,包括:bmc1、可编程逻辑器件2、网络通道切换模块3以及bmc固件存储模块4,网络通道切换模块3分别与bmc1以及可编程逻辑器件2通信连接,用于bmc1或可编程逻辑器件2通过网络通道切换模块3获取用户命令以及数据,可编程逻辑器件2还分别与bmc1、bmc固件存储模块4通信连接,用于在bmc固件更新前控制bmc1暂停运行,将通过网络通道切换模块4获取的用户远程发送的待更新的bmc固件存储至bmc固件存储模块4,在bmc固件更新完成后控制bmc1继续工作。
38.进一步地,还包括网络接口控制器5(nic,即network interface controller),可编程逻辑器件2或bmc1依次通过网络接口控制器5、网络通道切换模块3获取用户命令以及数据。即当bmc固件未更新时,bmc依次通过网络接口控制器5、网络通道切换模块3获取用户发送的命令或数据,且可编程逻辑器件2不与网络通道切换模块3通信连接;当bmc固件更新时,可编程逻辑器件2依次通过网络接口控制器5、网络通道切换模块获取用户发送的更新命令以及待更新的bmc固件,bmc1不与网络通道切换模块3通信连接。
39.可编程逻辑器件2的数据输出端与bmc固件存储模块4(bmc flash)的输入端单向通信连接,用于将获取的待更新的bmc固件存储至bmc固件存储模块4。具体地,可编程逻辑器件2通过spi接口(serial peripheral interface,串行外设接口)与bmc固件存储模块4(即bmc flash)单向通信连接,即可编程逻辑器件2仅可以支持对bmc固件存储模块4进行存储操作,不支持对bmc固件存储模块4进行读取操作,降低了对于bmc1与bmc固件存储模块4之间通信。
40.可编程逻辑器件2的切换控制端与网络通道切换模块3的控制输入端通信连接,用
于在bmc固件更新前,控制网络通道切换模块3与可编程逻辑器件2通信连接;以及在bmc固件更新完成后,控制网络通道切换模块3与bmc1通信连接。具体地,可编程逻辑器件2的切换控制端通过发送切换控制信号控制网络通道切换模块3的网络通道切换,在bmc固件更新前,通过发送切换控制信号,使得网络通道切换模块3切换,使得网络通道切换模块3与可编程逻辑器件2通信连接;以及在bmc固件更新完成后,通过发送切换控制信号,使得网络通道切换模块3再次进行切换,控制网络通道切换模块3恢复与bmc1通信连接。
41.具体地,bmc1可以通过ncsi接口(network controller sideband interface,网络控制器边带接口)与网络通道切换模块3通信连接,可编程逻辑器件2可以通过ncsi接口或rgmii(reduced gigabit media independent interface,精简吉比特介质独立接口)接口与网络通道切换模块3通信连接。
42.进一步地,可编程逻辑器件2在bmc固件更新前控制bmc1暂停运行,在bmc固件更新完成后控制bmc1继续工作具体是:可编程逻辑器件2拉起bmc1的重置信号(extrst),使得bmc1暂停运行;在bmc固件更新完成后,释放bmc1的重置信号(extrst),使得bmc1继续工作运行。
43.进一步地,如图2所示,服务器架构除了包括bmc1以及可编程逻辑器件2外,还包括pch6(集成南桥)、cpu7(中央处理器)、vr(电压转换模块)电源8等,bmc1与pch6之间通过pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)、usb(universal serial bus,通用串行总线)、lpc(low pin count bus,一种计算机总线)、espi(enhanced serial peripheral interface,新一代串行外设接口)接口通信连接,pch6可以通过dmi接口(directmedia interface,直接媒体接口)与cpu7通信,也可以与pch flash通信连接,还可以通过usb接口与其他设备或芯片通信连接;bmc1可以通过vga(video graphicsarray,视频图形阵列)、usb、rgmii接口通信连接,也可以与内存(memory)、网络芯片(ethernet phy)通信,也可以通过其他接口或设备通信,本发明在此不做限制。vr电源8主要用于为服务器系统中各个器件(包括但不限于可编程逻辑器件2、网络通道切换模块3等)供电。
44.进一步地,可编程逻辑器件2可以通过smbus(system management bus,系统管理总线)总线与bmc1通信连接,用于在bmc1在正常工作时相互通信。
45.需要说明的是,本发明技术方案中可编程逻辑器件1可以为cpld(complex programmable logic device,复杂可编程逻辑器件),也可以是其他可编程逻辑器件,网络通道切换模块3可以为analog switch,即模拟开关,也可以通过其他切换芯片实现,本发明在此不作限制。
46.本发明通过引入切换模块,使得可编程逻辑器件在bmc固件更新时,实现待更新的bmc固件的获取、存储、更新控制等,有效解决由于现有技术造成bcm固件在遭到攻击损坏时无法进行更新或更新效率低的问题,不仅实现了bmc固件在遭到黑客攻击时也可以正常更新,而且提高了更新效率。
47.本发明技术方案中可编程逻辑器件在bmc固件更新时,控制bmc暂停运行,在bmc固件更新完成后,恢复bmc运行,有效保证了bmc固件在bmc损坏时,也可以正常进行更新。
48.本发明技术方案中可编程逻辑器件的数据输出端与bmc固件存储模块的输入端单向通信连接,用于将获取的待更新的bmc固件存储至bmc固件存储模块,不仅保证了可编程
逻辑器件对bmc固件存储模块的存储,而且降低了对于bmc与bmc固件存储模块之间通信的影响。
49.实施例二
50.如图3所示,本发明技术方案还提供了一种基于网络的远程刷新bmc固件的方法,基于实施例一中的一种基于网络的远程刷新bmc固件的系统的基础上实现的,包括:
51.s1,在bmc固件更新前,可编程逻辑器件控制bmc暂停运行;
52.s3,可编程逻辑器件通过网络通道切换模块获取用户远程发送的待更新的bmc固件;
53.s5,可编程逻辑器件将获取的待更新的bmc固件存储至bmc固件存储模块;
54.s7,在bmc固件更新完成后控制bmc继续工作。
55.其中,在步骤s1中,可编程逻辑器件主要通过拉起bmc的重置信号,实现bmc暂停运行。
56.在步骤s3中,可编程逻辑器件仅支持对bmc固件存储模块进行存储操作,不支持对bmc固件存储模块进行读取操作。
57.在步骤s5中,可编程逻辑器件将获取的待更新的bmc固件存储至bmc固件存储模块主要是:可编程逻辑器件将获取用户远程发送的待更新的bmc固件存储至可编程逻辑器件内部缓冲区,并将存储在可编程逻辑器件内部缓冲区的待更新的bmc固件存储至bmc固件存储模块。
58.在步骤s7中,可编程逻辑器件主要通过释放bmc的重置信号,实现bmc继续工作。
59.进一步地,如图4所示,本发明技术方案还提供了一种基于网络的远程刷新bmc固件的方法,即在步骤s3之前,还包括:
60.s21,在bmc固件更新前,可编程逻辑器件建立与网络通道切换模块的通信连接。
61.其中,在步骤s21中,可编程逻辑器件的切换控制端与网络通道切换模块的控制输入端通信连接,用于在bmc固件更新前,控制网络通道切换模块与可编程逻辑器件通信连接;即,可编程逻辑器件的切换控制端通过发送切换控制信号控制网络通道切换模块的网络通道切换,在bmc固件更新前,通过发送切换控制信号,使得网络通道切换模块切换,使得网络通道切换模块与可编程逻辑器件通信连接。
62.具体地,bmc可以通过ncsi接口(network controller sideband interface,网络控制器边带接口)与网络通道切换模块通信连接,可编程逻辑器件可以通过ncsi接口或rgmii(reduced gigabit media independent interface,精简吉比特介质独立接口)接口与网络通道切换模块通信连接。
63.进一步地,如图5所示,本发明技术方案还提供了一种基于网络的远程刷新bmc固件的方法,即在步骤s3之前,在步骤s21之后,还包括:
64.s22,可编程逻辑器件通过网络通道切换模块获取用户远程发送的bmc固件更新命令。
65.其中,在步骤s22中,在bmc固件更新完成后,可编程逻辑器件控制恢复建立网络通道切换模块与bmc之间通信连接。具体地,在bmc固件更新完成后,可编程逻辑器件通过发送切换控制信号,使得网络通道切换模块再次进行切换,使得网络通道切换模块恢复与bmc的通信连接。
66.其中,可编程逻辑器件通过网络通道切换模块获取用户发送的命令或待更新的bmc固件,具体是通过sol(serial over lan,即通过局域网串行连接)网络封包的形式获取,也可以通过其他方式获取,本发明在此不做限制。
67.进一步地,如图6所示,本发明技术方案还提供了一种基于网络的远程刷新bmc固件的方法,即在步骤s7之前,在步骤s6之后,还包括:
68.s6,在bmc固件更新完成后,可编程逻辑器件断开与网络通道切换模块的连接,并建立控制网络通道切换模块与bmc的通信连接,使得bmc继续工作。
69.本发明通过引入切换模块,使得可编程逻辑器件在bmc固件更新时,实现待更新的bmc固件的获取、存储、更新控制等,有效解决由于现有技术造成bcm固件在遭到攻击损坏时无法进行更新或更新效率低的问题,不仅实现了bmc固件在遭到黑客攻击时也可以正常更新,而且提高了更新效率。
70.本发明技术方案中可编程逻辑器件在bmc固件更新时,控制bmc暂停运行,在bmc固件更新完成后,恢复bmc运行,有效保证了bmc固件在bmc损坏时,也可以正常进行更新。
71.本发明技术方案中可编程逻辑器件的数据输出端与bmc固件存储模块的输入端单向通信连接,用于将获取的待更新的bmc固件存储至bmc固件存储模块,不仅保证了可编程逻辑器件对bmc固件存储模块的存储,而且降低了对于bmc与bmc固件存储模块之间通信的影响。
72.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献