一种BMC和服务器的制作方法


一种bmc和服务器
技术领域
1.本发明涉及bmc领域,具体涉及一种bmc和服务器。


背景技术:



2.随着社会进步和科技发展,大数据时代的到来对服务器的需求日益增长,bmc作为服务器中的管理中心发挥着十分重要的作用,从日常的服务器功能管理和系统远程调试,到系统日志的分析,都时刻发挥着重要的作用。目前一台服务器上,至少需要一颗bmc芯片作为管理芯片,对于多路服务器,甚至需要两颗及以上的bmc芯片,对服务器进行管理。对于存在多bmc芯片的服务器的管理也变得复杂起来。
3.目前市场上已经出现针对多host服务器管理的单个bmc芯片,即一个bmc芯片可管理多个不同的服务器。
4.bmc的vga(video graphics array视频图像阵列)显示功能对服务器来说至关重要,一方面,bmc的vga显示节省了服务器主机空间,不需要在另外外插显卡,大大节省了空间。另一面,bmc的vga功能可提供远程管理的主机操作系统的图像信息,从而实现远程控制功能。
5.如图1所示,对单个bmc芯片管理多host服务器,例如两个host的场景下,需要在单个bmc芯片中集成两个vga ip,从而实现两个host主机的vga显示。但是一般在bmc对双host服务器管理的场景下,一次仅可以对一个host进行调试,因此,此时不需要两个host同时进行显示。此时,两个vga ip的存在将造成资源浪费。


技术实现要素:



6.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种bmc,包括:
7.多个虚拟vga控制器,每一个所述虚拟vga控制器均用于连接一个服务器主机;
8.多个显存,其中每一个显存与一个所述虚拟vga控制器连接;
9.配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟vga控制器连接;
10.vga控制器,与所述配置控制器的输出端连接。
11.在一些实施例中,vga控制器包括控制寄存器和状态寄存器,每一个所述虚拟vga控制器均包括ram;
12.每一个所述虚拟vga控制器配置为响应于接收到对所述vga控制器进行配置的命令,将所述命令解析得到配置指令并根据所述配置指令更新所述vga控制器中对应的控制寄存器以及更新所述ram中对应的值。
13.在一些实施例中,每一个所述虚拟vga控制器还配置为:
14.响应于接收到切换命令,若所述虚拟vga控制器为当前正在工作的虚拟vga控制器,读取所述vga控制中的所有控制寄存器和状态寄存器的值,并根据所述切换命令向待工作的所述虚拟vga控制器发送读取完毕信号;
15.若所述虚拟vga控制器为待工作的所述虚拟vga控制器,当接收到所述读取完毕信号,将自身的ram中值同步到所述vga控制器。
16.在一些实施例中,所述虚拟vga控制器还配置为接收图像数据并更新到对应的显存中。
17.在一些实施例中,所述vga控制器还配置为读取所述显存中图像数据并进行显示以及更新状态寄存器的值。
18.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种服务器,包括多个主机和bmc,其中所述bmc包括:
19.多个虚拟vga控制器,每一个所述虚拟vga控制器均用于连接一个主机;
20.多个显存,其中每一个显存与一个所述虚拟vga控制器连接;
21.配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟vga控制器连接;
22.vga控制器,与所述配置控制器的输出端连接。
23.在一些实施例中,vga控制器包括控制寄存器和状态寄存器,每一个所述虚拟vga控制器均包括ram;
24.每一个所述虚拟vga控制器配置为响应于接收到对所述vga控制器进行配置的命令,将所述命令解析得到配置指令并根据所述配置指令更新所述vga控制器中对应的控制寄存器以及更新所述ram中对应的值。
25.在一些实施例中,每一个所述虚拟vga控制器还配置为:
26.响应于接收到切换命令,若所述虚拟vga控制器为当前正在工作的虚拟vga控制器,读取所述vga控制中的所有控制寄存器和状态寄存器的值,并根据所述切换命令向待工作的所述虚拟vga控制器发送读取完毕信号;
27.若所述虚拟vga控制器为待工作的所述虚拟vga控制器,当接收到所述读取完毕信号,将自身的ram中值同步到所述vga控制器。
28.在一些实施例中,所述虚拟vga控制器还配置为接收图像数据并更新到对应的显存中。
29.在一些实施例中,所述vga控制器还配置为读取所述显存中图像数据并进行显示以及更新状态寄存器的值。
30.本发明具有以下有益技术效果之一:本发明可以适用于使用一块bmc芯片同时管理多个host主机的场景,并在该场景中只使用到了一个vga控制器。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
32.图1为现有技术提供的bmc的结构示意图;
33.图2为本发明的实施例提供的bmc的结构示意图;
34.图3为本发明的实施例提供的实现多host显示功能的流程图。
具体实施方式
35.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
36.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
37.根据本发明的一个方面,本发明的实施例提出一种bmc,可以包括:
38.多个虚拟vga控制器,每一个所述虚拟vga控制器均用于连接一个服务器主机;
39.多个显存,其中每一个显存与一个所述虚拟vga控制器连接;
40.配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟vga控制器连接;
41.vga控制器,与所述配置控制器的输出端连接。
42.本发明可以适用于使用一块bmc芯片同时管理多个host主机的场景,并在该场景中只使用到了一个vga控制器。
43.在一些实施例中,vga控制器包括控制寄存器和状态寄存器,每一个所述虚拟vga控制器均包括ram;
44.每一个所述虚拟vga控制器配置为响应于接收到对所述vga控制器进行配置的命令,将所述命令解析得到配置指令并根据所述配置指令更新所述vga控制器中对应的控制寄存器以及更新所述ram中对应的值。
45.在一些实施例中,每一个所述虚拟vga控制器还配置为:
46.响应于接收到切换命令,若所述虚拟vga控制器为当前正在工作的虚拟vga控制器,读取所述vga控制中的所有控制寄存器和状态寄存器的值,并根据所述切换命令向待工作的所述虚拟vga控制器发送读取完毕信号;
47.若所述虚拟vga控制器为待工作的所述虚拟vga控制器,当接收到所述读取完毕信号,将自身的ram中值同步到所述vga控制器。
48.在一些实施例中,所述虚拟vga控制器还配置为接收图像数据并更新到对应的显存中。
49.在一些实施例中,所述vga控制器还配置为读取所述显存中图像数据并进行显示以及更新状态寄存器的值。
50.下面以图2示出的两个虚拟vga控制器,两个显存为例对本发明提出的bmc进行详细说明。
51.如图2所示,双主机分别为服务器主机1和服务器主机2,这两个服务器主机上可以跑不同的系统,并且这两个服务器主机在物理上位于同一台服务器上。其中服务器主机分别通过pcie接口(1/2)与bmc相连,服务器主机的图像数据、配置信息都是通过pcie接口进行传输。其中pcie的ep端接虚拟vga控制器。
52.其中bmc芯片可以同时对接这两个服务器主机,从而完成对这两个服务器主机的监管,同时也可以完成对整个服务器的监管。
53.在一些实施例中,如图3所示,虚拟vga控制器可以接收通过pcie传输过来的数据和命令,其中虚拟vga控制器中存放一个ram,里面存放vga控制器内部的所有寄存器以及默
认值。当主机服务器通过pcie接口访问vga时,虚拟vga控制器则负责接收相关的命令,并回复相关信息。比如,主机服务器需要读取vga控制器的id,则虚拟vga设备则解析相关命令,并返回存储在ram中的id值给主机服务器。比如,主机服务器需要配置vga控制器的某个寄存器,则虚拟vga设备则解析相关命令,并更新存储在ram中的相关寄存器的值,并同时更新vga控制器中对应的控制寄存器的值。
54.当检测到需要切换服务器主机显示的时候,即从服务器主机1显示切换到服务器主机2显示的过程中,虚拟vga控制器需要将此时正在工作的vga控制器的寄存器(包括状态寄存器和控制寄存器,其中状态寄存器是随着显示画面而实时更新的)保存到虚拟vga控制器1中的ram中,该过程则是vga虚拟控制器1主动去读一遍此时vga控制器的寄存器,并将读回来的值更新到自身的ram中。虚拟vga控制器2在虚拟vga控制器1更新完ram后,主动将自身ram中的寄存器数据通过写vga控制器的方式,更新到vga控制器中,从而切换到服务器主机2的控制状态。
55.虚拟vga控制器更新显存的策略:当vga工作在服务器主机1下面,则显存1启用,虚拟vga控制器将图像数据更新到显存中,vga控制器从显存1中获取图像数据进行显示。此时服务器主机2也在工作,虚拟vga控制器2将数据更新到显存2中。
56.对于虚拟vga控制器的切换策略,其中vga切换的命令是由bmc软件上层下发,可以在任何需要的时候进行切换。例如,当vga虚拟控制器2正在工作时,此时上层软件下发vga切换的命令,则vga虚拟控制器2进行vga控制器中寄存器的保存,当完成保存后,则向vga虚拟控制器1发送完成信号,从而使vga虚拟控制器1开始初始化vga控制器。
57.本发明可以适用于使用一块bmc芯片同时管理多个host主机的场景,并在该场景中只使用到了一个vga控制器。
58.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种服务器,包括多个主机和bmc,其中所述bmc包括:
59.多个虚拟vga控制器,每一个所述虚拟vga控制器均用于连接一个主机;
60.多个显存,其中每一个显存与一个所述虚拟vga控制器连接;
61.配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟vga控制器连接;
62.vga控制器,与所述配置控制器的输出端连接。
63.在一些实施例中,vga控制器包括控制寄存器和状态寄存器,每一个所述虚拟vga控制器均包括ram;
64.每一个所述虚拟vga控制器配置为响应于接收到对所述vga控制器进行配置的命令,将所述命令解析得到配置指令并根据所述配置指令更新所述vga控制器中对应的控制寄存器以及更新所述ram中对应的值。
65.在一些实施例中,每一个所述虚拟vga控制器还配置为:
66.响应于接收到切换命令,若所述虚拟vga控制器为当前正在工作的虚拟vga控制器,读取所述vga控制中的所有控制寄存器和状态寄存器的值,并根据所述切换命令向待工作的所述虚拟vga控制器发送读取完毕信号;
67.若所述虚拟vga控制器为待工作的所述虚拟vga控制器,当接收到所述读取完毕信号,将自身的ram中值同步到所述vga控制器。
68.在一些实施例中,所述虚拟vga控制器还配置为接收图像数据并更新到对应的显存中。
69.在一些实施例中,所述vga控制器还配置为读取所述显存中图像数据并进行显示以及更新状态寄存器的值。
70.本发明可以适用于使用一块bmc芯片同时管理多个host主机的场景,并在该场景中只使用到了一个vga控制器。
71.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
72.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
73.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
74.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
75.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
76.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术特征:


1.一种bmc,其特征在于,包括:多个虚拟vga控制器,每一个所述虚拟vga控制器均用于连接一个服务器主机;多个显存,其中每一个显存与一个所述虚拟vga控制器连接;配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟vga控制器连接;vga控制器,与所述配置控制器的输出端连接。2.如权利要求1所述的bmc,其特征在于,vga控制器包括控制寄存器和状态寄存器,每一个所述虚拟vga控制器均包括ram;每一个所述虚拟vga控制器配置为响应于接收到对所述vga控制器进行配置的命令,将所述命令解析得到配置指令并根据所述配置指令更新所述vga控制器中对应的控制寄存器以及更新所述ram中对应的值。3.如权利要求2所述的bmc,其特征在于,每一个所述虚拟vga控制器还配置为:响应于接收到切换命令,若所述虚拟vga控制器为当前正在工作的虚拟vga控制器,读取所述vga控制中的所有控制寄存器和状态寄存器的值,并根据所述切换命令向待工作的所述虚拟vga控制器发送读取完毕信号;若所述虚拟vga控制器为待工作的所述虚拟vga控制器,当接收到所述读取完毕信号,将自身的ram中值同步到所述vga控制器。4.如权利要求1所述的bmc,其特征在于,所述虚拟vga控制器还配置为接收图像数据并更新到对应的显存中。5.如权利要求4所述的bmc,其特征在于,所述vga控制器还配置为读取所述显存中图像数据并进行显示以及更新状态寄存器的值。6.一种服务器,其特征在于,包括多个主机和bmc,其中所述bmc包括:多个虚拟vga控制器,每一个所述虚拟vga控制器均用于连接一个主机;多个显存,其中每一个显存与一个所述虚拟vga控制器连接;配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟vga控制器连接;vga控制器,与所述配置控制器的输出端连接。7.如权利要求6所述的服务器,其特征在于,vga控制器包括控制寄存器和状态寄存器,每一个所述虚拟vga控制器均包括ram;每一个所述虚拟vga控制器配置为响应于接收到对所述vga控制器进行配置的命令,将所述命令解析得到配置指令并根据所述配置指令更新所述vga控制器中对应的控制寄存器以及更新所述ram中对应的值。8.如权利要求7所述的服务器,其特征在于,每一个所述虚拟vga控制器还配置为:响应于接收到切换命令,若所述虚拟vga控制器为当前正在工作的虚拟vga控制器,读取所述vga控制中的所有控制寄存器和状态寄存器的值,并根据所述切换命令向待工作的所述虚拟vga控制器发送读取完毕信号;若所述虚拟vga控制器为待工作的所述虚拟vga控制器,当接收到所述读取完毕信号,将自身的ram中值同步到所述vga控制器。9.如权利要求6所述的服务器,其特征在于,所述虚拟vga控制器还配置为接收图像数
据并更新到对应的显存中。10.如权利要求9所述的服务器,其特征在于,所述vga控制器还配置为读取所述显存中图像数据并进行显示以及更新状态寄存器的值。

技术总结


本发明公开了一种BMC,包括多个虚拟VGA控制器,每一个所述虚拟VGA控制器均用于连接一个服务器主机;多个显存,其中每一个显存与一个所述虚拟VGA控制器连接;配置控制器,具有多个输入端和一个输出端,其中每一个输入端与一个所述虚拟VGA控制器连接;VGA控制器,与所述配置控制器的输出端连接。本发明可以适用于使用一块BMC芯片同时管理多个host主机的场景,并在该场景中只使用到了一个VGA控制器。并在该场景中只使用到了一个VGA控制器。并在该场景中只使用到了一个VGA控制器。


技术研发人员:

魏红杨 周玉龙 张贞雷

受保护的技术使用者:

山东云海国创云计算装备产业创新中心有限公司

技术研发日:

2022.09.28

技术公布日:

2022/12/30

本文发布于:2024-09-21 17:26:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/51019.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   控制器   寄存器   多个
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议