服务器的控制方法和服务器的控制设备的制造方法_3

文档序号:9673006阅读:来源:国知局
用来区分CPU为主用处理器还是普通处理器。如果某一 CPU所连的S0CKET_ID为0,则表示该CPU为主用CPU,需要将EX_LEGACY_SKI'配置为1;否则将该管脚EX_LEGACY_SKT配置为0,表示该CPU为普通CPU。实现CPLD对CPU管脚的配置,可以通过SMBUS总线或LPC总线等连接方式,与CPU相连。
[0064]下面以图4中上排最左边的CPU5为主用CPU,与该主用CPU相连的PCH能够正常工作为例进行说明。所述CPLD中的配置单元201配置CPU5的管脚,将其S0CKET_ID配置为0,将其EX_LEGACY_SKI'配置为1;将下排最左边的CPU1配置为普通处理器,即将其S0CKET_ID配置为4,将其EX_LEGACY_SKT配置为0。与主用CPU相连的PCH即为即主用PCH。
[0065]当图4所示的服务器上电后,其中的B1S自动从主用PCH所连的FLASH获取指令并执行。所述CPLD中的重启单元202,会监控主用CPU、主用PCH以及主用PCH所连接的FLASH是否正常。如果主用CPU、主用PCH及所连的FLASH都正常,则B1S程序会顺利的往下执行,并将系统引导进0S操作系统中。如果在B1S引导的某个过程中主用CPU、主用PCH或其所连的FLASH出现异常,则所述重启单元202触发所述服务器重新启动,并触发所述配置单元201将正常的CPU或与正常PCH连接的CPU配置为主用CPU。
[0066]所述重启单元202判断所述主用CPU、主用PCH或其所连的FLASH异常,可通过设置定时器的方式,并设定定时器的时长小于看门狗的定时器时长,如果在设置的定时器超时前,看门狗没有被禁止,则判定启动异常。具体的,可以由重启单元202中的判断单元2021判断设定时间内看门狗是否被禁止,如果未被禁止或被喂狗,则确认所述服务器启动异常。相应的,所述控制设备中的触发单元2022,基于所述判断单元2021判断服务器异常,触发所述服务器重新启动,并触发所述配置单元201将正常的一个CPU或与正常PCH连接的一个CPU配置为主用CPU;具体的,是将CPU1配置为主用CPU,将其SOCKET_ID配置为0,将其EX_LEGACY_SKT配置为1;将CPU5配置为普通处理器,即将其SOCKET_ID配置为4,将其EX_LEGACY_SKT配置为0。
[0067]作为一种可选的实现方式,在所述判断单元2021判断所述服务器启动异常时,由所述触发单元2022中的第一触发单元2022,基于B1S在所述CPLD中预先设置的重启寄存器触发所述服务器重新启动。在重启前,所述服务器的B1S会将Η异常信息写入某个寄存器中,例如 E2PR0M(Electrically Erasable and Programmable Read-Only Memory,电可擦编程只读存储器)寄存器,。所述服务器重启后,所述第二触发单元2022判断该E2PR0M的寄存器中是否记录有异常信息,如果有异常信息,则触发所述配置单元201重新配置各个CPU的 S0CKET_ID 及 EX_LEGACY_SKT 管脚。
[0068]通过上述服务器的控制设备的实现方式,CPU的管脚重新配置后,所述服务器的主用CPU发生了变化,B1S启动时会从新的主用PCH所连的FLASH获取指令并执行。实现了支持硬分区的服务器中出现启动异常时,仍然能够确保服务器正常启动和运行,提高了服务器的可靠性和稳定性;使得整个服务器的RAS得到提升;同时解决了FLASH异常导致系统不能运行的问题,可以不再使用原有的双B1S设计方式,节省了服务器的FLASH芯片成本。
[0069]参考图5,图5为本发明实施例提供的一种服务器控制方法的流程示意图,该方法应用于服务器中,所述服务器包括至少两个CHJ和至少两个PCH,每个所述PCH与至少一个所述CPU相连,所述方法包括:
[0070]步骤500,配置所述CPU的标号,并将其中一个CPU标记为主用CPU;
[0071]步骤502,判断所述服务器是否启动异常,如果启动异常则记录异常信息,并触发所述服务器重新启动;所述异常信息包括主用CPU、与主用CPU连接的PCH或与主用CPU连接的PCH相连的Flash异常导致的B1S启动异常;
[0072]步骤504,在所述服务器重新启动过程中,根据所述记录的异常信息,将正常的CPU或与正常PCH连接的CPU配置为主用CPU。
[0073]本发明实施例的服务器控制方法是由服务器中的CPLD或FPGA等逻辑芯片来实现。本发明实施例以在CPLD中实现为例进行说明。
[0074]其中,所述步骤500中,所述配置CPU的标号具体是配置所述CPU的管脚,所述将其中一个CPU标记为主用CPU,是通过配置所述管脚的值将其中一个CPU配置为主用CPU。
[0075]所述配置CPU的管脚,具体可通过配置S0CKET_ID和EX_LEGACY_SKT的值来实现。其中S0CKET_ID用于标识不同的CPU,EX_LEGACY_SKT用于标识某一个CPU是主用CPU还是普通CPU。例如,将图4的服务器中,S0CKET_ID = 0就表示该CPU是1号处理器,S0CKET_ID = 1就表示2号处理器,以此类推S0CKET_ID = 7表示8号处理器;如果S0CKET_ID为0的CPU为主用CPU,则将其EX_LEGACY_SKT配置为1,将其它CPU的值配置为0。
[0076]作为一种可选的实现方式,所述步骤502中的判断所述服务器是否启动异常包括:
[0077]设定定时器,所述定时器的时长小于所述服务器看门狗的定时器时长;
[0078]在所述服务器启动过程中,如果在所述定时器设定时间内所述看门狗未被禁止,则判定所述服务器启动异常。
[0079]所述步骤502中的触发所述服务器重新启动可以通过设置在所述CPLD芯片中的重启寄存器触发所述服务器重新启动。作为一种可选的实现方式,所述重启寄存器可以是B1S设置在所述CPLD芯片中或所述FPGA中的。
[0080]所述步骤502中的记录异常信息,可以通过将异常信息记录在E2PR0M的等寄存器中实现。当然,所述异常信息也可以记录在所述服务器的其它地方,本发明实施例不限定所述异常信息记录的位置。作为一种可选的实现方式,所述异常信息,是由B1S来记录的,例如B1S将异常信息记录在E2PR0M的某个寄存器中。
[0081 ] 相应的,在步骤504中,由CPLD判断E2PR0M的寄存器是否记录异常信息,如果有异常信息,则重新配置各个CPU的S0CKET_ID及EX_LEGACY_SKT的管脚值。例如将图4中的CPU1配置为主用CPU,将其S0CKET_ID配置为0,将其EX_LEGACY_SKI'配置为1;将CPU5配置为普通处理器,即将其S0CKET_ID配置为4,将其EX_LEGACY_SKT配置为0。
[0082]作为一种可选的实现方式,本发明实施例的服务器控制方法中的服务器是支持硬分区功能的服务器,所述服务器中的CPU的管脚连接到所述控制设备中。其中,所述服务器中的控制设备,可以通过SMBUS总线或LPC总线等与所述服务器中的CPU相连;所述控制设备通过所述SMBUS总线或LPC总线实现对所述CPU管脚的配置。
[0083]通过上述服务器的控制方法,实现了支持硬分区的服务器中出现启动异常时,仍然能够确保服务器正常启动和运行,提高了服务器的可靠性和稳定性;使得整个服务器的RAS得到提升;同时解决了FLASH异常导致系统不能运行的问题,可以不再使用原有的双B1S设计方式,节省了服务器的FLASH芯片成本。
[0084]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1