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

一种检测服务器内存槽故障的方法、装置、系统与流程

2022-12-13 21:06:18 来源:中国专利 TAG:


1.本发明涉及服务器测试技术领域,具体涉及一种检测服务器内存槽故障的方法、装置、系统。


背景技术:

2.bios全名为(basic input output system)即基本输入/输出系统,是电脑中最基础的而又最重要的程序。我们把这一段程序存放在一个不需要电源的记忆体(芯片)中,这就是平时所说的bios。它为计算机提供最低级的、最直接的硬件控制,计算机的原始操作都是依照固化在bios里的内容来完成的。准确地说,bios是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。计算机用户在使用计算机的过程中,都会接触到bios,它在计算机系统中起着非常重要的作用。
3.微机接通电源后,系统首先由上电自检(power on self test,post)程序来对内部各个设备进行检查。通常完整的post自检将包括对cpu,640k基本内存,1m以上的扩展内存、rom、主板、cmos存储器、串并口、显示卡、软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。这就是post上电自检过程。
4.在post上电自检过程中,如果发现问题,bios会发送错误类型给bmc,bmc根据接收到的信息进行解析,进而会在系统事件日志中给予相关设备的error提示,然后用户根据提示更换设备。例如,bmc下提示memory产生故障,此时用户就会去更换内存设备。但是有时用户更换了内存设备,发现报错依然存在,此时用户判断,是内存槽位发生故障,而非内存本身发生故障。


技术实现要素:

5.在post上电自检过程中,如果发现问题,bios会发送错误类型给bmc,bmc根据接收到的信息进行解析,进而会在系统事件日志中给予相关设备的error提示,然后用户根据提示更换设备。但是有时用户更换了内存设备,发现报错依然存在,此时用户判断,是内存槽位发生故障,而非内存本身发生故障,本发明提供一种检测服务器内存槽故障的方法、装置、系统。
6.第一方面,本发明技术方案提供一种检测服务器内存槽故障的方法,包括以下步骤:
7.服务器上电,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测;
8.当gpio状态为高电平时,判断内存槽位故障并配置在bmc系统事件日志内显示内存槽位状态信息;
9.开机过程中配置bios从bmc获取内存槽位状态信息并根据获取的获取内存槽位状态信息对故障的内存槽位进行屏蔽,自检时对内存槽位正常的内存进行检测;
10.自检完成,在post界面显示检测的内存数量及屏蔽的内存槽位位置信息。
11.优选地,服务器上电,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测的步骤包括:
12.服务器上电,判断内存槽位上是否有安装内存;
13.若是,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测;
14.若否,不检测。
15.优选地,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测的步骤之后包括:
16.对检测的gpio状态进行判断;
17.当gpio状态为低电平时,内存槽位状态正常,判断所有内存槽位是否检测完成;
18.若是,当所有内存槽位的gpio状态均为低电平时,配置bmc向bios发送ok信息;
19.若否,执行步骤:配置bmc对主板上安装内存的内存槽位的gpio状态进行检测,检测下一个内存槽位。
20.优选地,开机过程中配置bios从bmc获取内存槽位状态信息并根据获取的获取内存槽位状态信息对故障的内存槽位进行屏蔽,自检时对内存槽位正常的内存进行检测的步骤包括:
21.开机过程中bios判断是否接收到bmc发送的ok信息;
22.若是,自检时配置bios对安装内存的所有内存槽位上的内存进行检测;
23.若否,配置bios从bmc获取内存槽位状态信息并根据获取的获取内存槽位状态信息对故障的内存槽位进行屏蔽,自检时对内存槽位正常的内存进行检测。
24.优选地,当gpio状态为高电平时,判断内存槽位故障并配置在bmc系统事件日志内显示内存槽位状态信息的步骤包括:
25.当gpio状态为高电平时,判断内存槽位故障并配置在bmc系统事件日志内显示内存槽位状态信息;
26.判断所有内存槽位是否检测完成;
27.若是,执行步骤;配置bios从bmc获取内存槽位状态信息并根据获取的获取内存槽位状态信息对故障的内存槽位进行屏蔽,自检时对内存槽位正常的内存进行检测;
28.若否,执行步骤:配置bmc对主板上安装内存的内存槽位的gpio状态进行检测,检测下一个内存槽位。
29.优选地,对检测的gpio状态进行判断的步骤之后还包括:
30.若检测不到gpio状态信号,判断检测次数是否达到设定阈值次数;其中,所述检测次数为对检测不到gpio状态信号的内存槽位的检测次数;
31.若是,执行步骤:配置在bmc系统事件日志内显示内存槽位状态信息;
32.若否,配置再次对检测不到gpio状态信号的内存槽位进行检测,执行步骤:检测的gpio状态进行判断。
33.第二方面,本发明技术方案提供一种检测服务器内存槽故障的装置,包括gpio状态检测模块、状态判断模块、状态显示模块、状态信息获取模块、屏蔽设置模块、自检模块和结果显示模块;
34.gpio状态检测模块,用于服务器上电,对主板上安装内存的内存槽位的gpio状态进行检测;
35.状态判断模块,用于对检测的gpio状态进行判断,当gpio状态为高电平时,判断内存槽位故障触发状态显示模块;
36.状态显示模块,用于配置在bmc系统事件日志内显示内存槽位状态信息;
37.状态信息获取模块,用于开机时获取内存槽位状态信息;
38.屏蔽设置模块,用于配置根据获取的内存槽位状态信息对故障的内存槽位进行屏蔽;
39.自检模块,用于对内存槽位正常的内存进行检测并将检测故障信息发送到bmc;
40.结果显示模块,用于在post界面显示检测的内存数量及屏蔽设置模块屏蔽的内存槽位位置信息。
41.优选地,该装置还包括安装判断模块,用于服务器上电,判断内存槽位上是否有安装内存;
42.gpio状态检测模块,用于对主板上安装内存的内存槽位的gpio状态进行检测。
43.优选地,该装置还包括信息发送模块和接收判断模块;
44.信息发送模块,用于当状态判断模块判断所有内存槽位的gpio状态均为低电平时,向bios发送ok信息;
45.接收判断模块,用于开机过程中判断是否接收到bmc发送的ok信息,若是,触发自检模块直接检测所有内存;若否,触发状态信息获取模块。
46.优选地,该装置还包括检测次数判断模块,用于当状态判断模块检测不到gpio状态信号,判断对检测不到gpio状态信号的内存槽位的检测次数是否达到设定阈值次数;若是,触发状态显示模块;若否,触发gpio状态检测模块。
47.第三方面,本发明技术方案还提供一种检测服务器内存槽故障的系统,包括bmc和与bmc通信的bios;
48.bmc包括gpio状态检测模块、状态判断模块、状态显示模块和结果显示模块;
49.bios包括状态信息获取模块、屏蔽设置模块和自检模块;
50.gpio状态检测模块,用于服务器上电,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测;
51.状态判断模块,用于对检测的gpio状态进行判断;当gpio状态为高电平时,判断内存槽位故障触发配置显示模块;
52.配置显示模块,用于配置在bmc系统事件日志内显示内存槽位状态信息;还用于在post界面显示检测的内存数量及屏蔽的内存槽位位置信息;
53.状态信息获取模块,用于开机自检时获取内存槽位状态信息;
54.屏蔽设置模块,用于配置根据获取的内存槽位状态信息对故障的内存槽位进行屏蔽;
55.自检模块,用于对内存槽位正常的内存进行检测并将检测故障信息发送到bmc;
56.结果显示模块,用于在post界面显示检测的内存数量及屏蔽设置模块屏蔽的内存槽位位置信息。
57.优选地,该装置还包括安装判断模块,用于服务器上电,判断内存槽位上是否有安装内存;
58.gpio状态检测模块,用于对主板上安装内存的内存槽位的gpio状态进行检测。
59.优选地,bmc还包括信息发送模块,bios还包括接收判断模块;
60.信息发送模块,用于当状态判断模块判断gpio状态均为低电平时,向bios发送ok信息使bios自检过程直接检测所有内存;
61.接收判断模块,用于开机过程中判断接收到bmc发送的ok信息时,触发自检模块直接检测所有内存。
62.优选地,bmc还包括检测次数判断模块,用于当状态判断模块检测不到gpio状态信号,判断对检测不到gpio状态信号的内存槽位的检测次数是否达到设定阈值次数,若是触发状态显示模块,若否触发gpio状态检测模块。
63.从以上技术方案可以看出,本发明具有以下优点:通过bmc检测内存槽位的状态,bios自检时只检测内存槽位正常的内存,能准确的检测到是内存故障还是内存槽位故障,使用户能更准确的处理故障,方便用户使用,提高用户体验。
64.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
65.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
66.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
67.图1是本发明一个实施例的方法的示意性流程图。
68.图2是本发明另一个实施例的方法的示意性流程图。
69.图3是本发明一个实施例的系统的示意性框图。
具体实施方式
70.在post上电自检过程中,如果发现问题,bios会发送错误类型给bmc,bmc根据接收到的信息进行解析,进而会在系统事件日志中给予相关设备的error提示,然后用户根据提示更换设备。例如,bmc下提示memory产生故障,此时用户就会去更换内存设备。但是有时用户更换了内存设备,发现报错依然存在,此时用户判断,是内存槽位发生故障,而非内存本身发生故障。bios在自检过程中检测到内存发生故障时,会通过触发smi中断进行上报bmc,bmc接收到bios上报的信息后会进行处理,从而在idl中显示相关报错类型。如果内存槽位发生故障,就需要设计与内存故障上报方式不同的方法进行处理。本技术中,在服务器上电之后,bmc activate之后由bmc检测内存槽位状态,通过gpio的高低电平来判断内存槽故障与否,可以有效的提高故障诊断准确率,方便用户使用。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
71.如图1所示,本发明实施例提供一种检测服务器内存槽故障的方法,包括以下步骤:
72.步骤1:服务器上电,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测;
73.步骤2:当gpio状态为高电平时,判断内存槽位故障并配置在bmc系统事件日志内显示内存槽位状态信息;
74.步骤3:开机过程中配置bios从bmc获取内存槽位状态信息并根据获取的获取内存槽位状态信息对故障的内存槽位进行屏蔽,自检时对内存槽位正常的内存进行检测;
75.步骤4:自检完成,在post界面显示检测的内存数量及屏蔽的内存槽位位置信息。
76.在服务器上电之后,bmc activate之后由bmc检测内存槽位状态,通过gpio的高低电平来判断内存槽故障与否,可以有效的提高故障诊断准确率,方便用户使用。
77.本发明实施例提供一种检测服务器内存槽故障的方法,包括以下步骤:
78.1.服务器上电,稍后,bmc开始活跃;
79.2.判断内存槽位上是否有内存,没有内存就不做检测;
80.3.bmc对主板内存槽位的gpio状态进行检测;
81.4.当gpio状态均为低电平时,内存槽位正常,无故障;当gpio状态为高电平时,槽位发生故障,此时要在bmc系统事件日志内显示内存槽发生故障;检测不到gpio状态信号时,就再进行检测,超过3次检测还是没有信号,就不再检测,直接在bmc系统事件日志内显示内存槽位发生故障;
82.5.bmc检测完成后,服务器按键生效,可以按键开机,开机过程中bios进行自检,并从bmc获取内存槽位状态信息;
83.6.bios对于故障槽位进行屏蔽,不再检测此故障槽位上的内存,并在post界面显示检测的内存数量及屏蔽的内存槽位位置。
84.7.用户根据post界面显示的信息进行相关处理。
85.如图2所示,本发明实施例提供一种检测服务器内存槽故障的方法,包括以下步骤:
86.s1:服务器上电,bmc活跃,判断内存槽位上是否有安装内存;
87.若是,执行步骤s2,若否,不检测,结束;
88.s2:配置bmc对主板上安装内存的内存槽位的gpio状态进行检测;执行步骤s3;
89.s3:对检测的gpio状态进行判断;
90.当gpio状态为高电平时,判断内存槽位故障,执行步骤s4;当gpio状态为低电平时,内存槽位状态正常,执行步骤s11;若检测不到gpio状态信号时,执行步骤s14;
91.s4:配置在bmc系统事件日志内显示内存槽位状态信息;执行步骤s5;
92.s5:判断所有内存槽位是否检测完成;
93.若是,执行步骤s6;
94.若否,执行步骤s2,检测下一个内存槽位。
95.s6:开机过程中bios判断是否接收到bmc发送的ok信息;
96.若是,执行步骤s7,若否,执行步骤s8;
97.s7:自检时配置bios对所有内存进行检测;执行步骤s10;
98.s8:配置bios从bmc获取内存槽位状态信息并根据获取的获取内存槽位状态信息对故障的内存槽位进行屏蔽;执行步骤s9;
99.s9:自检时对内存槽位正常的内存进行检测;执行步骤s10;
100.s10:自检完成,在post界面显示检测的内存数量及屏蔽的内存槽位位置信息;
101.s11:判断所有内存槽位是否检测完成;
102.若是,执行步骤s12,若否,执行步骤s2,检测下一个内存槽位。
103.s12:判断是否所有内存槽位的gpio状态均为低电平;
104.若是,执行步骤s13,若否,执行步骤s8;
105.s13:配置bmc向bios发送ok信息;执行步骤s7。
106.s14:判断检测次数是否达到设定阈值次数;其中,所述检测次数为对检测不到gpio状态信号的内存槽位的检测次数;
107.若是,执行步骤s4;
108.若否,执行步骤s15;
109.s15:配置再次对检测不到gpio状态信号的内存槽位进行检测,执行步骤s3。
110.本发明实施例提供一种检测服务器内存槽故障的装置,包括gpio状态检测模块、状态判断模块、状态显示模块、状态信息获取模块、屏蔽设置模块、自检模块和结果显示模块;
111.gpio状态检测模块,用于服务器上电,对主板上安装内存的内存槽位的gpio状态进行检测;
112.状态判断模块,用于对检测的gpio状态进行判断,当gpio状态为高电平时,判断内存槽位故障触发状态显示模块;
113.状态显示模块,用于配置在bmc系统事件日志内显示内存槽位状态信息;
114.状态信息获取模块,用于开机时获取内存槽位状态信息;
115.屏蔽设置模块,用于配置根据获取的内存槽位状态信息对故障的内存槽位进行屏蔽;
116.自检模块,用于对内存槽位正常的内存进行检测并将检测故障信息发送到bmc;
117.结果显示模块,用于在post界面显示检测的内存数量及屏蔽设置模块屏蔽的内存槽位位置信息。
118.优选地,该装置还包括安装判断模块,用于服务器上电,判断内存槽位上是否有安装内存;
119.gpio状态检测模块,用于对主板上安装内存的内存槽位的gpio状态进行检测。
120.在有些实施例中,该装置还包括信息发送模块和接收判断模块;
121.信息发送模块,用于当状态判断模块判断所有内存槽位的gpio状态均为低电平时,向bios发送ok信息;
122.接收判断模块,用于开机过程中判断是否接收到bmc发送的ok信息,若是,触发自检模块直接检测所有内存;若否,触发状态信息获取模块。
123.在有些实施例中,该装置还包括检测次数判断模块,用于当状态判断模块检测不到gpio状态信号,判断对检测不到gpio状态信号的内存槽位的检测次数是否达到设定阈值次数;若是,触发状态显示模块;若否,触发gpio状态检测模块。
124.如图3所示,本发明实施例还提供一种检测服务器内存槽故障的系统,包括bmc和与bmc通信的bios;
125.bmc包括gpio状态检测模块、状态判断模块、状态显示模块、结果显示模块;
126.bios包括状态信息获取模块、屏蔽设置模块和自检模块;
127.gpio状态检测模块,用于服务器上电,配置bmc对主板上安装内存的内存槽位的gpio状态进行检测;
128.状态判断模块,用于对检测的gpio状态进行判断;当gpio状态为高电平时,判断内存槽位故障触发配置显示模块;
129.状态显示模块,用于配置在bmc系统事件日志内显示内存槽位状态信息;
130.状态信息获取模块,用于开机自检时获取内存槽位状态信息;
131.屏蔽设置模块,用于配置根据获取的内存槽位状态信息对故障的内存槽位进行屏蔽;
132.自检模块,用于对内存槽位正常的内存进行检测并将检测故障信息发送到bmc;
133.结果显示模块,用于在post界面显示检测的内存数量及屏蔽设置模块屏蔽的内存槽位位置信息。
134.在有些实施例中,该装置还包括安装判断模块,用于服务器上电,判断内存槽位上是否有安装内存;
135.gpio状态检测模块,用于对主板上安装内存的内存槽位的gpio状态进行检测。
136.在有些实施例中,bmc还包括信息发送模块,bios还包括接收判断模块;
137.信息发送模块,用于当状态判断模块判断gpio状态均为低电平时,向bios发送ok信息使bios自检过程直接检测所有内存;
138.接收判断模块,用于开机过程中判断接收到bmc发送的ok信息时,触发自检模块直接检测所有内存。
139.在有些实施例中,bmc还包括检测次数判断模块,用于当状态判断模块检测不到gpio状态信号,判断对检测不到gpio状态信号的内存槽位的检测次数是否达到设定阈值次数,若是触发状态显示模块,若否触发gpio状态检测模块。
140.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献