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

内存条异常检测方法、装置及BMC与流程

2021-10-24 05:18:00 来源:中国专利 TAG:内存条 检测方法 装置 异常 计算机应用

内存条异常检测方法、装置及bmc
技术领域
1.本技术属于计算机应用技术领域,尤其涉及一种内存条异常检测方法、装置及bmc。


背景技术:

2.飞腾平台是应用了国产飞腾服务器cpu、国产飞腾桌面cpu、国产飞腾嵌入式cpu等系列产品的平台统称。飞腾cpu产品具有谱系全、性能高、生态完善、自主化程度高等特点,为从端到云的各型设备提供核心算力支撑。
3.高密度数据中心的普及、it架构的变更、云计算对算力需求的提升,促使着服务器市场不断扩容。服务器的稳定性及服务器故障快速精确定位一直是服务器所追求的。
4.而对于不具备me(management engine,管理引擎)的平台,如飞腾平台,无法通过cpu获取内存条的相关信息,因此对于内存条的故障不可知,更无法定位到具体出现问题的内存条。


技术实现要素:

5.本技术实施例提供了一种内存条异常检测方法、装置及bmc,可以解决飞腾平台无法获知内存条故障的问题。
6.第一方面,本技术实施例提供了一种内存条异常检测方法,包括:
7.bios获取内存条信息;
8.所述bios通过串口重定向将所述内存条信息发送至bmc;
9.所述bmc解析所述内存条信息,得到内存条异常检测结果。
10.其中,所述bios通过串口重定向将所述内存条信息发送到bmc,包括:
11.将所述bios的调试端口重定向到所述bmc的串行端口,所述bmc通过cpld与所述bios连接;
12.所述bios将所述内存条信息从所述调试端口发出,经过所述cpld发送到所述bmc的串行端口。
13.示例性的,所述bmc解析所述内存条信息,得到内存条异常检测结果,包括:
14.所述bmc解析所述内存条信息,得到每个内存条的标识和状态;
15.所述bmc根据所述状态确定存在异常的内存条,并获得所述存在异常的内存条的所述标识。
16.进一步的,所述bmc解析所述内存条信息,得到内存条异常检测结果之后,还包括:
17.所述bmc发出错误提示指令;
18.其中,所述错误提示指令包括所述存在异常的内存条的所述标识,用于指示所述存在异常的内存条对应的提示模块执行提示操作。
19.第二方面,本技术实施例提供了一种内存条异常检测方法,由bmc执行,包括:
20.接收来自bios的内存条信息,所述内存条信息为所述bios通过串口重定向至所述
bmc发送的;
21.解析所述内存条信息,得到内存条异常检测结果。
22.其中,所述bmc解析所述内存条信息,得到内存条异常检测结果,包括:
23.解析所述内存条信息,得到每个内存条的标识和状态;
24.根据所述状态确定存在异常的内存条,并获得所述存在异常的内存条的所述标识;
25.解析所述内存条信息,得到内存条异常检测结果之后,还包括:
26.发出错误提示指令;
27.其中,所述错误提示指令包括所述存在异常的内存条的所述标识,用于指示所述存在异常的内存条对应的提示模块执行提示操作。
28.第三方面,本技术实施例提供了一种bmc,包括存储器、处理器和存储在所述存储器中的计算机程序,所述计算机程序被所述处理器执行时,可实现如上第二方面所述的内存条异常检测方法。
29.第四方面,本技术实施例提供了一种内存条异常检测装置,包括:bios和bmc;
30.bios用于获取内存条信息,通过串口重定向将所述内存条信息发送至bmc;
31.所述bmc用于解析所述内存条信息,得到内存条异常检测结果。
32.进一步的,所述的内存条异常检测装置还包括:cpld;
33.所述cpld将所述bios的输出端口与所述bmc的输入端口连接,以使所述bios将获取到的内存条信息从所述bios的调试端口发出,经过所述cpld发送到所述bmc的串行端口。
34.进一步的,所述的内存条异常检测装置还包括:多个提示灯和io扩展芯片;
35.所述io扩展芯片的输入端口与所述bmc的输出端口连接,所述io扩展芯片的多个输出端口分别与多个提示灯连接,每个内存条对应设置一个所述提示灯,所述io扩展芯片用于扩展所述bmc的输出端口,以使所述提示灯根据所述bmc发出的错误提示指令点亮或熄灭。
36.所述io扩展芯片为i2c转gpio芯片。
37.可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
38.本技术实施例与现有技术相比存在的有益效果是:通过bios串口重定向将bios获取的内存条信息发送到bmc,再由bmc解析内存条信息得到内存条异常情况。本技术解决了飞腾平台因没有me无法通过cpu获得内存条信息的问题,方法安全可靠、方便直观。
附图说明
39.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本技术一实施例提供的内存条异常检测方法的流程图;
41.图2是本技术一实施例提供的内存条异常检测方法的bmc端流程示意图;
42.图3是本技术一实施例提供的bmc的结构示意图;
43.图4是本技术一实施例提供的内存条异常检测装置的结构示意图。
具体实施方式
44.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
45.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
46.本技术实施例提供的内存条异常检测方法可以应用于计算机设备上,适用于因不具备me无法获取内存条信息的计算机设备上,尤其适用于配置飞腾平台的计算机设备。本技术实施例对计算机设备的具体类型不作任何限制。
47.图1是本技术一实施例提供的内存条异常检测方法的流程图。作为示例而非限定,如图1所示,该实施例的内存条异常检测方法包括如下步骤:
48.s101:bios获取内存条信息。
49.服务器启动时,bios(basic input output system,基本输入输出系统)对硬件进行检测,侦测到内存条时打印相关信息,从而获取到对应的内存信息。其中,内存条信息包含有每个内存条的标识和状态。
50.s102:bios通过串口重定向将内存条信息发送至bmc。
51.具体的,将bios的调试端口重定向到bmc(baseboard management controller,基板管理控制器)的串行端口,bmc通过cpld与bios连接。实现bios的数据传输路径重新定个方向转到bmc上,为bios将内存条信息传输至bmc提供基础。
52.bios将内存条信息从调试端口发出,经过cpld发送到bmc的串行端口。
53.s103:bmc解析内存条信息,得到内存条异常检测结果。
54.具体的,bmc解析内存条信息,得到每个内存条的标识和状态。
55.bmc根据状态确定存在异常的内存条,并获得存在异常的内存条的标识。通过状态快速识别到异常的内存条及对应的标识,能够在开机的过程中快速精确地定位异常的内存条位置。
56.本实施例通过将bios串口重定向至bmc串口,实现将内存条信息传输至bmc,进而bmc能够解析内存条信息,得到内存条异常检测结果,从而实现快速精确定位异常内存条位置,及通过内存条信息能够得到可靠的异常检测结果。
57.在另一实施例中,bmc解析内存条信息,得到内存条异常情况之后,还包括:
58.bmc发出错误提示指令。
59.其中,错误提示指令包括存在异常的内存条的标识,用于指示存在异常的内存条对应的提示模块执行提示操作。通过提示模块能够安全、方便直观地显示异常内存条的位
置,实现快速查找到异常内存条。
60.可选的,提示模块为led灯,提示操作为常灭的led灯点亮或常亮的led灯熄灭。
61.本实施例基于openbmc对bmc进行固件开发。相应的,图2是本技术一实施例提供的内存条异常检测方法的bmc端流程示意图。作为示例而非限定,如图2所示,在bmc端执行了如下步骤:
62.s201:接收来自bios的内存条信息。
63.内存条信息为bios通过串口重定向至bmc发送的。
64.s202:解析内存条信息,得到每个内存条的标识和状态。
65.s203:根据状态确定存在异常的内存条,并获得存在异常的内存条的标识。
66.s204:根据存在异常的内存条的标识,发出错误提示指令。
67.其中,错误提示指令包括存在异常的内存条的标识,用于指示存在异常的内存条对应的提示模块执行提示操作。
68.图3是本技术一实施例提供的bmc的结构示意图,作为示例而非限定。如图3所示,bmc包括存储器、处理器和存储在存储器中的计算机程序,其特征在于,计算机程序被处理器执行时,可实现如上述各个方法实施例中的步骤。
69.本领域技术人员可以理解,图3仅仅是bmc的举例,并不构成对bmc的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
70.所称处理器一般都是arm处理器或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
71.所述存储器是所述bmc的内部存储单元,用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
72.图4是本技术一实施例提供的内存条异常检测装置的结构示意图。如图4所示,该装置包括:bios和bmc。
73.bios用于获取内存条信息,通过串口重定向将内存条信息发送至bmc。通过串口重定向实现bios与bmc之间交互信息。
74.可选的,将bios的debug串口重定向至bmc的dev/ttys1端口。bios获取内存条信息后,通过debug串口将内存条信息传输至bmc的dev/ttys1端口。
75.bmc用于解析内存条信息,得到内存条异常检测结果。
76.进一步的,该装置还包括cpld。
77.cpld将bios的输出端口与bmc的输入端口连接,以使bios将获取到的内存条信息从bios的调试端口发出,经过cpld发送到bmc的串行端口。通过cpld连接能够快速在bios和bmc之间传输信息。
78.此外,该装置还包括多个提示灯和io扩展芯片。
79.io扩展芯片的输入端口与bmc的输出端口连接,io扩展芯片的多个输出端口分别与多个提示灯连接,每个内存条对应设置一个提示灯,io扩展芯片用于扩展bmc的输出端口,以使提示灯根据bmc发出的错误提示指令点亮或熄灭。
80.具体的,提示灯可设置在每个内存条旁边,方便用户查看检测结果。
81.可选的,io扩展芯片为i2c转gpio芯片。提示灯通过i2c转gpio口与bmc连接,当bmc
得到内存条异常检测结果时,通过i2c转gpio芯片发送错误提示指令,以此根据错误提示指令控制存在异常的内存条相应的提示灯,提示方式可以是常灭提示灯点亮或常亮提示灯熄灭,从而实现安全及精确定位异常内存条,并且能够方便直观显示异常内存条的位置,实现快速查找到异常内存条。
82.需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
83.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
84.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
85.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
86.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
87.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜