著录项信息
专利名称 | 服务器串口设计系统及方法 |
申请号 | CN201010196990.2 | 申请日期 | 2010-06-10 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-12-14 | 公开/公告号 | CN102281254A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;2;9;/;1;0;;;H;0;4;L;5;/;1;4查看分类表>
|
申请人 | 鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司 | 申请人地址 | 广东省中山市东区起湾工业村富湾工业区(石岐区美居产业园A2幢5楼13卡)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中山市和恒网络软件有限公司 | 当前权利人 | 中山市和恒网络软件有限公司 |
发明人 | 傅进 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
一种服务器串口设计方法,运行于基板管理控制器BMC中,该方法包括:设置一个VUART以及软MUX,并设置软MUX值的使VUART分别实现服务器的系统串口的功能,BMC串口的功能以及BMCSOL的功能;定期从服务器的通信串口接收发送至服务器的命令;当所接收的命令不是IPMI命令时,切换软MUX的值为0,并控制VUART实现系统串口的功能;当所接收的命令不是SOL指令时,切换软MUX的值为1并控制VUART实现BMC串口的功能以及当所接收的命令是SOL指令时,切换软MUX的值为2并控制VUART实现BMCSOL的功能。本发明还提供一种服务器串口设计系统。
1.一种服务器串口设计系统,运行于基板管理控制器BMC中,该BMC安装在服务器中,其特征在于,所述BMC的通用异步接收/发送装置UART被服务器的系统串口以及BMC串口共享,该系统包括:
设置模块,用于设置一个虚拟通用异步接收/发送装置VUART以及软MUX,所述的软MUX是BMC虚拟的一个MUX,并设置当软MUX的值为0时,所述的VUART实现服务器的系统串口的功能,使服务器的操作系统与外界通信,当软MUX的值为1时,所述的VUART实现基板管理控制器串口的功能,当软MUX的值为2时,所述的VUART实现BMC LAN上串行SOL的功能;
接收模块,用于定期从服务器的串口通信端口接收发送至服务器的命令;
切换模块,用于当所接收的命令不符合智能平台管理接口IPMI规范时,切换软MUX的值为0,并控制VUART实现系统串口的功能;
所述的切换模块,还用于当所接收的命令是IPMI指令时,且为IPMI指令中的SOL指令时,切换软MUX的值为2,并控制VUART实现BMC SOL的功能,以及当所接收的命令不是SOL指令时,切换软MUX的值为1,并控制VUART实现BMC串口的功能。
2.如权利要求1所述的服务器串口设计系统,其特征在于,所述的BMC还包括与软MUX连接的处理器及与VUART连接的LPC接口;
所述服务器还包括与操作系统连接的南桥芯片,该南桥芯片通过BMC的LPC接口与所述VUART连接;及
所述服务器的串口通信端口与BMC的UART连接。
3.如权利要求2所述的服务器串口设计系统,其特征在于,所述实现系统串口的功能的数据流是从服务器的串口通信端口进入BMC的UART,经软MUX切换到VUART,再经过LPC接口、南桥芯片传送至操作系统进行数据处理;
所述实现BMC串口的功能的数据流是从服务器的串口通信端口进入BMC的UART,经软MUX切换到处理器进行数据处理;及
所述实现BMC SOL的功能的数据流是从操作系统经南桥芯片、LPC端口、VUART、软MUX传送至处理器进行数据处理。
4.如权利要求3所述的服务器串口设计系统,其特征在于,所述数据流为双向传送。
5.一种服务器串口设计方法,应用于基板管理控制器BMC中,该BMC安装在服务器中,其特征在于,所述BMC的通用异步接收/发送装置UART被服务器的系统串口以及BMC串口共享,该方法包括步骤:
(a)设置一个虚拟通用异步接收/发送装置VUART以及软MUX,所述的软MUX是BMC虚拟的一个MUX,该软MUX的初始值为0,并设置当软MUX的值为0时,所述的VUART实现服务器的系统串口的功能,使服务器的操作系统与外界通信设置,当软MUX的值为1时,所述的VUART实现BMC串口的功能,及当软MUX的值为2时,所述的VUART实现BMC LAN上串行SOL的功能;
(b)定期从服务器的串口通信端口接收发送至服务器的命令;
(c)当所接收的命令不是IPMI命令时,切换软MUX的值为0,并控制VUART实现系统串口的功能,流程转至步骤(f);
(d)当所接收的命令是IPMI命令,且为IPMI命令中的SOL指令时,切换软MUX的值为
2,并控制VUART实现BMC SOL的功能,流程转至步骤(f);
(e)当所接收的命令是IPMI命令,但不是SOL指令时,切换软MUX的值为1,并控制VUART实现BMC串口的功能;
(f)所述的BMC根据所接收的命令以及通过相应的串口进行数据通信。
6.如权利要求5所述的服务器串口设计方法,其特征在于,所述的BMC还包括与软MUX连接的处理器及与VUART连接的LPC接口;
所述服务器还包括与操作系统连接的南桥芯片,该南桥芯片通过BMC的LPC接口与所述VUART连接;及
所述服务器的串口通信端口与BMC的UART连接。
7.如权利要求6所述的服务器串口设计方法,其特征在于,所述实现系统串口的功能的数据流是从服务器的串口通信端口进入BMC的UART,经软MUX切换到VUART,再经过LPC接口、南桥芯片传送至操作系统进行数据处理;
所述实现BMC串口的功能的数据流是从服务器的串口通信端口进入BMC的UART,经软MUX切换到处理器进行数据处理;及
所述实现BMC SOL的功能的数据流是从操作系统经南桥芯片、LPC端口、VUART、软MUX传送至处理器进行数据处理。
8.如权利要求7所述的服务器串口设计方法,其特征在于,所述数据流为双向传送。
服务器串口设计系统及方法\n技术领域\n[0001] 本发明涉及一种服务器串口设计系统及方法。\n背景技术\n[0002] IPMI(Intelligent Platform Management Interface,智能平台管理接口)是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方法。所有的IPMI功能都是向BMC(BaseboardManagement Controller基板管理控制器)发送命令来完成的,命令使用IPMI规范中规定的指令。其中,通过服务器串口下达的命令包括给操作系统处理的命令以及给基板管理控制器处理的命令。\n[0003] 目前,基于BMC(Baseboard Management Controller基板管理控制器)的服务器串口设计的传统方法是采用Super I/O(SuperInput/Output,超级输入输出)芯片的串口作为操作系统的串口,如图1所示,然后使用硬件MUX(Multiplexer:多路复用器)来切换SuperI/O芯片的串口以及BMC的串口。这样使得必须使用一个Super I/O芯片以及多个硬件MUX来实现系统串口、BMC串口以及BMC的SOL(Serial Over LAN,LAN上串行)功能。此外,设计成本较高,主板功耗比较大。\n发明内容\n[0004] 鉴于以上内容,有必要提供一种服务器串口设计系统,其将基板管理控制器BMC的物理串口设计成系统串口和BMC串口共享的一个接口,并虚拟一个软件MUX,用来切换系统串口、BMC串口以及BMC的SOL功能。\n[0005] 此外,还有必要提供一种服务器串口设计方法,其将BMC的物理串口设计成系统串口和BMC串口共享一个接口,并虚拟一个软件MUX,用来切换系统串口,BMC串口以及BMC的SOL功能。\n[0006] 所述服务器串口设计系统,运行于BMC中,该BMC安装在服务器中,所述BMC的通用异步接收/发送装置UART被服务器的系统串口以及BMC串口共享,该系统包括:设置模块,用于设置一个虚拟通用异步接收/发送装置VUART以及软MUX,并设置当软MUX的值为\n0时,所述的VUART实现服务器的系统串口的功能,使服务器的操作系统与外界通信,当软MUX的值为1时,所述的VUART实现基板管理控制器串口的功能,当软MUX的值为2时,所述的VUART实现BMC LAN上串行SOL的功能;接收模块,用于定期从服务器的串口通信端口接收发送至服务器的命令;切换模块,用于当所接收的命令不符合智能平台管理接口IPMI规范时,切换软MUX的值为0,并控制VUART实现系统串口的功能;所述的切换模块,还用于当所接收的命令是IPMI指令时,且为IPMI指令中的SOL指令时,切换软MUX的值为2,并控制VUART实现BMC SOL的功能,以及当所接收的命令不是SOL指令时,切换软MUX的值为1,并控制VUART实现BMC串口的功能。\n[0007] 所述服务器串口设计方法,应用于基板管理控制器中BMC,该BMC位于服务器中,所述的BMC的通用异步接收/发送装置UART被服务器的系统串口以及BMC串口共享,该方法包括步骤:(a)设置一个虚拟通用异步接收/发送装置VUART以及软MUX,该软MUX的初始值为0,并设置当软MUX的值为0时,所述的VUART实现服务器的系统串口的功能,使服务器的操作系统与外界通信设置,当软MUX的值为1时,所述的VUART实现BMC串口的功能,及当软MUX的值为2时,所述的VUART实现BMC LAN上串行SOL的功能;(b)定期从服务器的串口通信端口接收发送至服务器的命令;(c)当所接收的命令不是IPMI命令时,切换软MUX的值为0,并控制VUART实现系统串口的功能,流程转至步骤(f);(d)当所接收的命令是IPMI命令,且为IPMI命令中的SOL指令时,切换软MUX的值为2,并控制VUART实现BMC SOL的功能,流程转至步骤(f);(e)当所接收的命令是IPMI命令,但不是SOL指令时,切换软MUX的值为1,并控制VUART实现BMC串口的功能;(f)所述的BMC根据所接收的命令以及通过相应的串口进行数据通信。\n[0008] 相较于现有技术,所述服务器串口设计系统及方法,节省了传统设计方法中的一个Super I/O芯片和多个硬件MUX芯片,将BMC的物理串口设计成操作系统串口和BMC串口共享一个接口,并虚拟一个软件MUX,用来切换操作系统串口,BMC串口以及及BMC的SOL功能,节约了设计成本,降低了主板功耗。\n附图说明\n[0009] 图1是传统方法服务器串口设计方法的基本架构示意图。\n[0010] 图2是本发明较佳实施例中服务器串口设计系统的运行架构图。\n[0011] 图3是本发明较佳实施例中服务器串口设计系统的功能模块图。\n[0012] 图4是本发明服务器串口设计方法较佳实施例的流程图。\n[0013] 主要元件符号说明\n[0014] \n 服务器 1\n 操作系统 10\n 南桥芯片 20\n 基板管理控制器 30\n 服务器串口设计系统 31\n VUART 32\n 软MUX 33\n UART 34\n 处理器 35\n LPC接口 36\n COM端口 40\n 设置模块 310\n 接收模块 312\n 判断模块 314\n 切换模块 316\n具体实施方式\n[0015] 如图2所示,是本发明较佳实施例中服务器串口设计系统的运行架构图。该服务器串口设计系统31运行于基板管理控制器(BaseboardManagement Controller,BMC)30中,该基板管理控制器30实现的功能包括通过操作系统的串行端口进行访问以及操作系统设置、基于文本公用程序和操作系统控制台的文本控制台进行重定向等。\n[0016] 所述的基板管理控制器30还包括VUART32(Virtual UniversalAsynchronous Receiver/Transmitter:虚拟通用异步接收/发送装置)以及软MUX33(Multiplexer:多路复用器)、UART(Virtual UniversalAsynchronous Receiver/Transmitter:虚拟通用异步接收/发送装置)34、处理器35以及LPC接口36。该基板管理控制器30安装在服务器1中。\n所述服务器1还包括操作系统10、南桥芯片20以及COM端口40。所述的南桥芯片20通过LPC(Low Pin Count,低引脚计数)总线(图中未示出)与所述的基板管理控制器30的LPC接口36连接,所述的基板管理控制器30通过LPC总线与操作系统10通信。所述的COM端口40是服务器的串口通信端口。\n[0017] 所述的VUART32为基板管理控制器30虚拟的一个串口,其效果相当与实体串口,是同实体串口执行完全一致的操作。且该VUART32与服务器串口设计系统31相连。传统设计中数据要经过串口的,现在都通过VUART32来实现。该VUART32可实现的三大功能分别是系统串口(System COM Port)、BMC串口(IPMI Serialchannel)以及BMC SOL(Serial over LAN,LAN上串行)功能。其中BMC串口以及BMC SOL功能为IPMI 2.0版本的基本功能。系统串口的功能和普通计算机的串口功能是一样的,可以连打印机,串口鼠标等。BMC SOL功能是IPMI(Intelligent Platform ManagementInterface,智能平台管理接口)规范中的功能,指操作系统10的数据一方面是往屏幕(图中未示出)上传送,另外还会往基板管理控制器30上传送,基板管理控制器30接到数据后,就会打包,再通过网络传送到目标计算机上。BMC SOL功能可以在局域网上传输串行数据,实现通过LAN口进行远程管理。BMC串口功能也是IPMI规范的功能,这是外界和基板管理控制器30通信的信道,也是通过BMC串口给基板管理控制器30下达一些命令的通道。\n[0018] 所述的软MUX33与VUART32连接,是基板管理控制器30虚拟的一个MUX。该MUX33可以切换的值有0、1以及2。该软MUX33的值需要通过发送至服务器的命令来切换。当基板管理控制器30所接收的命令是IPMI命令时,其中所述的IPMI命令符合IPMI(Intelligent Platform Management Interface:智能平台管理接口)规范,例如接收的命令为IPMICmd \n20601,其为符合IPMI规范中的“GetDevice ID,获取设备识别码”的IPMI命令,另外,IPMI中定义了SOL指令,例如,Ipmitool-I lan-H host-U user-a chassis power status,其中host表示填写服务器的IP地址以及user表示填写之前设置的用户名,该指令符合IPMI中SOL指令规范中“获取远程服务器的电源状态”SOL指令。如果所述的IPMI命令是SOL指令时,软MUX33的值为2,表示需要实现BMC SOL的功能。如果所述的IPMI命令不是SOL指令时,软MUX33的值为1,表示VUART32需要实现BMC串口的功能;当基板管理控制器30所接收的命令不是IPMI命令时,即不符合IPMI规范时,软MUX33的值为0,表示VUART32需要实现系统串口的功能。\n[0019] 所述的UART34是基板管理控制器30的物理串口。在本发明中,通过基板管理控制器30虚拟串口的技术,使得系统串口和BMC串口共享该UART34。\n[0020] 所述的处理器35是基板管理控制器30的数据处理的核心。\n[0021] 在本发明中,结合图2,对VUART32能实现的三大功能的数据流进行简要的说明。\n其中数据流的方向是双向的,以下仅以“-”表示双向箭头。(1)VUART32实现系统串口的功能,数据流向为COM端口40-UART34-软MUX33-VUART32-LPC接口36-南桥芯片20-操作系统10;(2)VUART32实现BMC串口的功能,数据流向为COM端口40-UART34-软MUX33-处理器35,处理器35会进行数据处理,这是外界和基板管理控制器30通讯的通道;(3)VUART32实现BMC SOL的功能,数据流向为操作系统10-南桥芯片20-LPC接口36-VUART32-软MUX33-处理器35,处理器35会进行数据处理。\n[0022] 如图3所示,是本发明较佳实施例中服务器串口设计系统的功能模块图。该服务器串口设计系统31包括设置模块310、接收模块312、判断模块314以及切换模块316。\n[0023] 所述的设置模块310用于设置一个VUART32以及设置一个软MUX33,并设置当软MUX33的值为0时,所述的VUART32实现系统串口的功能,数据流向为COM端口\n40-UART34-软MUX33-VUART32-LPC接口36-南桥芯片20-操作系统10,使得操作系统10可以与外界通信;当设置软MUX33的值为1时,所述的VUART32实现BMC串口的功能,数据流向为COM端口40-UART34-软MUX33-处理器35;当设置软MUX33的值为2时,所述的VUART32实现BMC SOL的功能,数据流向为操作系统10-南桥芯片20LPC接口36-VUART32-软MUX33-处理器35。\n[0024] 所述的接收模块312用于从COM端口40定期接收发送至服务器1的命令,例如,每隔100ms周期性地接收。\n[0025] 所述的判断模块314用于判断所接收的命令是否为IPMI命令。\n[0026] 所述的切换模块316用于当所接收的命令不是IPMI命令时,切换软MUX33的值为\n0,并控制VUART32实现系统串口的功能。\n[0027] 所述的判断模块314还用于判断所接收的命令是否为SOL指令,及判断所接收的指令是否符合IPMI中定义的SOL指令的规范。\n[0028] 所述的切换模块316还用于当所接收的命令是SOL指令时,切换软MUX33的值为\n2,并控制VUART32实现BMC SOL的功能,以及当所接收的命令不是SOL指令时,切换软MUX33的值为1,控制VUART32实现BMC串口的功能。此时所述的基板管理控制器30根据所接收的命令以及通过相应的串口进行对应的数据通信。\n[0029] 所述的判断模块314还用于判断所接收的命令是否发生变化。\n[0030] 如图4所示,是本发明服务器串口设计方法较佳实施例的流程图。\n[0031] 步骤S100,所述的设置模块310设置一个VUART32以及设置一个软MUX33,并设置软MUX33的初始值为0,即让VUART32实现系统串口的功能,使得操作系统10可以与外界通信。\n[0032] 步骤S101,所述的接收模块312定期从COM端口40接收发送至服务器1的命令,例如,每隔100ms周期性地接收。\n[0033] 步骤S102,所述的判断模块314根据所接收的命令是否符合IPMI命令的规范来判断所接收的命令是否为IPMI命令。\n[0034] 步骤S103,当所接收的命令不是IPMI命令时,所述的切换模块316切换软MUX33的值为0,并控制VUART32实现系统串口的功能,流程转至步骤S107。\n[0035] 步骤S104,当所接收的命令是IPMI命令时,所述的判断模块314根据所接收的命令是否符合IPMI中定义的SOL指令的规范来判断所接收的命令是否为SOL指令。\n[0036] 步骤S105,当所接收的命令是SOL指令时,所述的切换模块316切换软MUX33的值为2,并控制VUART32实现BMC SOL的功能,流程转至步骤S107。\n[0037] 步骤S106,当所接收的命令不是SOL指令时,所述的切换模块316切换软MUX33的值为1,并控制VUART32实现BMC串口的功能。\n[0038] 步骤S107,所述的基板管理控制器30根据所接收的命令以及通过相应的串口进行对应的数据通信。\n[0039] 步骤S108,所述的判断模块314判断所接收的命令是否发生变化。当所接收的命令发生变化时,返回步骤S102;当所接收的命令没有发生变化时,流程结束。\n[0040] 以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
法律信息
- 2019-05-31
未缴年费专利权终止
IPC(主分类): H04L 29/06
专利号: ZL 201010196990.2
申请日: 2010.06.10
授权公告日: 2015.04.08
- 2017-05-31
专利权的转移
登记生效日: 2017.05.11
专利权人由南陵县生产力促进中心变更为中山市和恒网络软件有限公司
地址由241300 安徽省芜湖市南陵县籍山镇水岸兰庭17栋3层变更为528400 广东省中山市东区起湾工业村富湾工业区(石岐区美居产业园A2幢5楼13卡)
- 2017-05-31
著录事项变更
发明人由杜根远 邱颖豫 田胜利变更为傅进
- 2015-04-08
- 2015-04-01
著录事项变更
发明人由戴冬艳变更为杜根远 邱颖豫 田胜利
- 2015-04-01
专利申请权的转移
登记生效日: 2015.03.06
申请人由鸿富锦精密工业(深圳)有限公司变更为深圳市博尔普森科技有限公司
地址由518109 广东省深圳市宝安区龙华镇油松第十工业区东环二路2号变更为518109 广东省深圳市宝安区沙井街道新和大道新城市广场E栋三楼308
申请人由鸿海精密工业股份有限公司变更为空
- 2015-04-01
专利申请权的转移
登记生效日: 2015.03.06
申请人由深圳市博尔普森科技有限公司变更为南陵县生产力促进中心
地址由518109 广东省深圳市宝安区沙井街道新和大道新城市广场E栋三楼308变更为241300 安徽省芜湖市南陵县籍山镇水岸兰庭17栋3层
- 2012-07-04
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201010196990.2
申请日: 2010.06.10
- 2011-12-14
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-12-17
|
2008-07-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |