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

故障内存定位方法、装置、计算机设备、介质和程序产品与流程

2022-12-20 01:02:43 来源:中国专利 TAG:


1.本技术涉及内存技术领域,特别是涉及一种故障内存定位方法、装置、计算机设备、介质和程序产品。


背景技术:

2.内存为中央处理器提供工作环境,内存出现错误会导致中央处理器工作异常,严重时会导致系统崩溃。为了避免系统崩溃,系统必须能够对于内存的某些小的错误做到自修复,对于无法自修复的错误也尽可能进行隔离,以保障系统其余部分正常运转。同时,系统必须能够提供便利的诊断功能,对于某些自修复的错误也要有记录,当内存出现大量自修复错误时,诊断系统可以准确显示故障内存的物理位置,以便于服务器在业务空闲时更换故障内存。
3.传统技术中,在中央处理器中的每个内存控制器挂载有多个内存条时,多个内存条共享一组错误计数器,当多个内存条总共产生的错误数值达到预设阈值时会触发系统管理中断。中央处理器会将触发系统管理中断的最后一个错误的内存条确定为故障内存条。
4.然而,传统方法中存在确定的故障内存条不准确的问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够准确定位故障内存的故障内存定位方法、装置、计算机设备、介质和程序产品。
6.第一方面,本技术提供了一种故障内存定位方法,该方法应用于内存控制器,内存控制器的每个内存单元设置有对应的错误计数器,该方法包括:
7.在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;
8.获取每个目标内存单元对应的错误计数器的值;
9.若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
10.上述实施例中每个内存单元设置有对应的错误计数器,在发生系统管理中断时,通过确定目标内存单元对应的错误计数器的值是否达到预设阈值来确定触发系统管理中断的目标故障内存单元,能够准确的将引发系统管理中断的错误内存定位在内存控制器的中目标故障内存单元,从而能够提高对故障内存单元定位的准确性。并且,上述实施例中,错误计数器的预设阈值较大,无需使用较为复杂的算法增大错误计数器的阈值,能够满足用户的需求,具有较高的实用性。另外,通过上述实施例提供的故障内存定位方法能够准确的定位发生故障的内存单元,便于用户能够及时的对发生故障的内存单元进行维护操作。
11.在其中一个实施例中,故障内存定位方法还包括:
12.在发生系统管理中断时,获取引发系统管理中断的原因;
13.若原因为错误计数器的值达到所述预设阈值,则获取所有发生故障的内存单元的
地址信息。
14.上述实施例在检测到发生系统管理中断后,先确定触发系统管理中断的原因是错误计数器的值达到预设阈值,再获取所有发生故障的内存单元的地址信息,对故障内存进行定位。这样能够在系统管理中断不是由于错误计数器的值达到预设阈值触发时,避免执行获取所有发生故障的内存单元的地址信息,进行故障内存定位的步骤,能够减少计算机设备的计算资源的浪费,从而能够提高故障内存定位方法的实用性。
15.在其中一个实施例中,故障内存定位方法还包括:
16.对多个内存单元对应的错误计数器进行初始化处理;
17.若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加;
18.当内存单元对应的错误计数器的值达到预设阈值时,触发系统管理中断。
19.上述实施例在对故障内存定位之前,先对每个内存单元对应的错误计数器进行初始化处理,这样能够避免某个错误计数器已经达到预设阈值,在计算机设备刚启动,就会触发系统管理中断,导致后续对故障内存定位不准确的问题。
20.在其中一个实施例中,内存控制器设置有选择寄存器,对多个内存单元的错误计数器进行初始化处理,包括:
21.从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值;
22.根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值。
23.上述实施例使用内存控制器的选择寄存器可以灵活的选择任意一个或多个错误计数器设置初始值,能够提高故障内存定位方法的灵活性和实用性。
24.在其中一个实施例中,故障内存定位方法还包括:
25.将目标故障内存单元的位置信息发送至基板管理控制器进行显示。
26.上述实施例通过在基板管理控制器的界面上显示目标故障内存单元的位置信息,使得用户及时获取发生故障内存的消息,便于用户查询,能够提高故障内存定位方法的实用性。
27.在其中一个实施例中,地址信息包括发生故障的中央处理器、发生故障的中央处理器的核心、发生故障的内存控制器和发生故障的内存单元的地址。
28.上述实施例中地址信息中包括了发生故障的内存单元的内存地址,直接根据该地址信息中的内存地址就可以定位目标内存单元,能够提高确定目标内存单元的效率。
29.第二方面,本技术还提供了一种故障内存定位装置,该装置包括:
30.第一确定模块,用于在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;
31.获取模块,用于获取每个目标内存单元对应的错误计数器的值;
32.第二确定模块,用于若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
33.第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现第一方面提供的方法的步骤。
34.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面提供的方法的步骤。
35.第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现第一方面提供的方法的步骤。
36.上述故障内存定位方法、装置、计算机设备、介质和程序产品,在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;获取每个目标内存单元对应的错误计数器的值;若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。在本实施例中,每个内存单元设置有对应的错误计数器,在发生系统管理中断时,通过确定目标内存单元对应的错误计数器的值是否达到预设阈值来确定触发系统管理中断的目标故障内存单元,能够准确的将引发系统管理中断的错误内存定位在内存控制器的中目标故障内存单元(rank),从而能够提高对故障内存单元定位的准确性。
附图说明
37.图1为一个实施例提供的内存控制器的结构示意图;
38.图2为一个实施例中故障内存定位方法的步骤流程示意图;
39.图3为另一个实施例中故障内存定位方法的步骤流程示意图;
40.图4为另一个实施例中故障内存定位方法的步骤流程示意图;
41.图5为另一个实施例中故障内存定位方法的步骤流程示意图;
42.图6为另一个实施例中故障内存定位方法的步骤流程示意图;
43.图7为一个实施例中故障内存定位装置的结构框图;
44.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。
47.在具体介绍本公开实施例的技术方案之前,先对本公开实施例基于的技术背景或者技术演进脉络进行介绍。在现有技术中,中央处理器中的每个内存控制器挂载有两个内存条时,两个内存条共享一组错误计数器,当两个内存条总共产生的错误数达到错误计数器的预设阈值时会触发系统管理中断。此时,计算机设备无法区分多少错误来自第一个内存条,多少错误来自第二个内存条。计算机设备会将此次触发系统管理中断的错误总数算在发生最后一个错误对应的内存条上,即,将最后一个错误的内存条确定为故障内存。例如:错误计数器的预设阈值为4095,第一个内存条发生了4094次错误,触发系统管理系统中断的最后一次错误是第二内存条发生的,计算机设备会将第二内存条确定为故障内存。这样会导致确定的故障内存条不准确。
48.本技术提供的故障内存定位方法,可以应用于计算机设备中。计算机设备包括主板,以及通过插槽与主板连接的中央处理器(central processing unit,cpu)、基本输入输出系统(basic input output system,bios)、内存控制器(unified memory controllers,
umc)等。umc中的内存为cpu提供工作环境。在本技术中,cpu可以为hygon处理器,还可以是其他处理器,本技术对此不做限定。
49.在一个实施例中,umc的结构如图1所示,本实施例以umc中包括两个内存条,每个内存条包括两个内存单元为例进行说明。umc设置有一组选择寄存器,每个内存单元设置有对应的错误计数器,即umc中两个内存单元共享一组选择寄存器。在本实施例中错误计数器能够达到的阈值为65535。内存单元(rank),也称为物理bank。具体地,cpu与内存单元之间的接口位宽是64bit,即,cpu在一个时钟周期内会向内存单元发送或从内存单元读取64bit的数据,这一个64bit集合就称为一个物理bank。
50.在一个实施例中,如图2所示,提供了一种故障内存定位方法,本实施例以该方法应用于如图1的计算机设备进行举例说明。该方法的步骤包括:
51.步骤200、在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元。
52.系统管理中断(system management interrupt,smi)是指系统停止当前正常执行的相关程序。发生故障的内存单元是指发生可修复的错误的内存单元。在内存单元发生故障时,在计算机设备从第一cpu寄存器中获取该内存单元的地址信息,其中,第一cpu寄存器是指用于存储发生故障的内存单元的地址信息的寄存器。
53.计算机设备在检测到发生smi时,会根据第一cpu寄存器中发生故障的内存单元的地址信息确定目标内存单元,目标内存单元是指发生错误的rank。只要内存单元发生故障,在第一cpu寄存器中就会存储该内存单元的地址信息,根据该地址信息可以确定发生故障的rank。计算机设备获取的目标内存单元可以有多个。本实施例对根据发生故障的内存单元的地址信息确定目标内存单元的具体方法不作限制,只要能够实现其功能即可。
54.步骤210、获取每个目标内存单元对应的错误计数器的值。
55.每个目标内存单元设置有对应的错误计数器。目标单元内存发生错误的次数会在错误计数器中统计。计算机设备在确定发生故障的内存单元有多个时,查找每个内存单元对应的错误计数器,获取该错误计数器的值,即内存单元发生错误的总次数。
56.步骤220、若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
57.预设阈值是指错误计数器可以计数的最大值。在本实施例中,错误计数器的预设阈值为65535。计算机设备在获取错误计数器的值后,对错误计数器的值进行判断,确定其是否达到预设阈值,即错误计数器的值是否等于预设阈值。若计算机设备确定错误计数器的值达到预设阈值,则将该错误计数器的对应的目标内存单元确定为目标故障内存单元。该目标故障内存单元为触发smi的内存单元,即由于该目标故障内存单元对应的错误计数器的值达到预设阈值,触发了smi。
58.本技术实施例提供的故障内存定位方法通过在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;获取每个目标内存单元对应的错误计数器的值;若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。在本实施例中,每个内存单元设置有对应的错误计数器,在发生系统管理中断时,通过确定目标内存单元对应的错误计数器的值是否达到预设阈值来确定触发系统管理中断的目标故障内存单元,能够准确的将引发系统管理中断的错误内存定位在内存控制器
的中目标故障内存单元(rank),从而能够提高对故障内存单元定位的准确性。并且,本实施例中,错误计数器的预设阈值较大,无需使用较为复杂的算法增大错误计数器的阈值,能够满足用户的需求,具有较高的实用性。另外,通过本实施例提供的故障内存定位方法能够准确的定位发生故障的内存单元,便于用户能够及时的对发生故障的内存单元进行维护操作。
59.在一个实施例中,如图3所示,计算机设备在根据发生故障的内存单元的地址信息确定目标内存单元之前,故障内存定位方法的步骤还包括:
60.步骤300、在发生系统管理中断时,获取引发系统管理中断的原因。
61.在计算机设备中,触发系统管理中断的原因有多种,例如:错误计数器的值达到预设阈值触发smi,或者某个应用程序死锁触发smi。计算机设备在检测到发生系统管理中断时,先获取触发系统管理中断的原因。具体地,计算机设备在发生smi时,从第二cpu寄存器中获取触发smi的原因,其中,第二cpu寄存器存储有此次发生smi的原因。
62.步骤310、若原因为错误计数器的值达到预设阈值,则获取所有发生故障的内存单元的地址信息。
63.计算机设备在获取到触发系统管理中断的原因后,若确定该原因为错误计数器的值达到预设阈值。换句话说,计算机设备确定是内存控制器中的某个内存单元的错误计数器达到预设阈值后触发的系统管理中断。计算机设备从第一cpu寄存器中获取所有发生故障的内存单元的地址信息。本实施例对地址信息的具体内容不作限制,只要能够实现其功能即可。
64.计算机设备在获取到触发系统管理中断的原因后,若确定该原因不是错误计数器的值达到预设阈值,则无需对发生故障的内存单元进行定位。
65.在本实施例中,计算机设备在检测到发生系统管理中断后,先确定触发系统管理中断的原因是错误计数器的值达到预设阈值,再获取所有发生故障的内存单元的地址信息,对发生故障的内存单元进行定位。这样能够在系统管理中断不是由于错误计数器的值达到预设阈值触发时,避免执行获取所有发生故障的内存单元的地址信息,进行故障内存定位的步骤,能够减少计算机设备的计算资源的浪费,从而能够提高故障内存定位方法的实用性。
66.在一个实施例中,如图4所示,故障内存定位方法的步骤还包括:
67.步骤400、对多个内存单元对应的错误计数器进行初始化处理。
68.每个内存单元的设置有对应的错误计数器。在计算机设备中的bios开机过程中,bios会对多个内存单元对应的错误计数器进行初始化处理,即将错误计数器的值置为零,或者设置为其他预设值。
69.在一个实施例中,内存控制器设置有选择寄存器,涉及对多个内存单元的错误计数器进行初始化处理的一种可能的实现方式,如图5所示,该实现方式的步骤包括:
70.步骤500、从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值。
71.内存控制器对应的选择寄存器中存储有需要对每个内存单元对应的错误计数器设置的初始值。计算机设备在对每个内存单元的错误计数器进行初始化初始时,从内存控制器对应的选择寄存器中获取需要为每个内存单元对应的错误计数器的初始值。
72.步骤510、根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值。
73.计算机设备从选择寄存器中获取每个内存单元对应的错误计数器的初始值后,根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个错误计数器设置初始值。
74.具体地,假设4个内存单元分别对应的错误计数器为第一错误计数器、第二错误计数器、第三错误计数器和第四错误计数器。计算机设备根据选择寄存器从4个内存单元对应的错误计数器中选择第一错误计数器,将第一错误计数器的初始值设置为选择寄存器中存储的第一错误计数器的初始值。或者,计算机设备根据选择寄存器从4个内存单元对应的错误计数器中选择第一错误计数器和第四错误计数器,将第一错误计数器的初始值设置为选择寄存器中存储的第一错误计数器的初始值;将第四错误计数器的初始值设置为选择寄存器中存储的第二错误计数器的初始值。
75.在一个具体的实施例中,若用户需要某个错误计数器可以记录的错误总数为5000,该错误计数器的预设阈值为6000,在对该错误计数器初始化时,设置该错误计数器的初始值为1000。
76.步骤410、若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加。
77.在cpu工作过程中,若计算机设备检测到内存单元发生故障,即,该内存单元发生可修复错误,则将该内存单元对应的错误计数器的值累加。具体地,若错误计数器的初始值为零,当计算机设备检测到内存单元发生第一个可修复错误时,该内存单元对应的错误计数器的加1,此时错误计数器的值为1;当计算机设备检测到该内存单元发生第二个可修复错误时,该内存单元对应的错误计数器的值加1,此时错误计数器的值为2;依次类推,对该内存单元对应的错误计数器的值累加。
78.步骤420、当内存单元对应的错误计数器的值达到预设阈值时,触发系统管理中断。
79.当内存单元对应的错误计数器的值达到该错误计数器的预设阈值后,会触发系统管理中断。具体地,当错误计数器的值等于65535,会触发smi。
80.在本实施例中,在对故障内存定位之前,先对每个内存单元对应的错误计数器进行初始化处理,这样能够避免某个错误计数器已经达到预设阈值,在计算机设备刚启动,就会触发smi,导致后续对故障内存定位不准确的问题。并且,本实施例中,使用内存控制器的选择寄存器可以灵活的选择任意一个或多个错误计数器设置初始值,能够提高故障内存定位方法的灵活性和实用性。
81.在一个实施例中,故障内存定位方法的步骤还包括:
82.将目标故障内存单元的位置信息发送至基板管理控制器进行显示。
83.计算机设备在确定目标故障内存单元后,会将目标故障内存单元的位置信息发送至基板管理控制器(baseboard management controller,bmc)。bmc会将接收到的位置信息在bmc界面显示。具体地,目标故障内存单元的位置信息是指触发smi的内存单元所属的cpu、cpu核心、umc和rank。
84.在本实施例中,通过在bmc界面上显示目标故障内存单元的位置信息,使得用户及
时获取发生故障内存的消息,便于用户查询,能够提高故障内存定位方法的实用性。
85.在一个可选的实施例中,在bmc界面可以显示有存在一个目标故障内存单元,用户通过点击该目标故障内存单元可以获取该目标故障内存单元的位置信息。
86.在一个实施例中,地址信息包括发生故障的中央处理器、发生故障的中央处理器的核心、发生故障的内存控制器和发生故障的内存单元的内存地址。换句话说,在内存单元发生故障时,在第一cpu寄存器中存储有该内存单元所属的cpu、cpu核心、umc和内存地址(addr)。计算机设备在得到addr后,对其进行转换可以定位到具体的rank(目标内存单元)。
87.在本实施例中,地址信息中包括了发生故障的内存单元的内存地址,直接根据该地址信息中的内存地址就可以定位目标内存单元,能够提高确定目标内存单元的效率。
88.在一个实施例中,计算机设备可以实现本实施例提供的故障内存定位方法,以及现有技术中提供的故障内存定位方法。在计算机设备的bios启动时,可以显示提示信息,以提示用户对两种故障内存定位方法进行选择。在本实施例中,用户可以根据实际需求,自行选择故障内存定位方法,具有较高的灵活性。
89.在一个实施例中,如图6所示,本技术一个实施例提供一种故障内存定位方法,该方法的步骤包括:
90.步骤600、从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值;
91.步骤610、根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值;
92.步骤620、若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加;
93.步骤630、当内存单元对应的错误计数器的值达到预设阈值,触发系统管理中断,并获取所有发生故障的内存单元的地址信息;
94.步骤640、根据所有发生故障的内存单元的地址信息确定目标内存单元;
95.步骤650、获取每个目标内存单元对应的错误计数器的值;
96.步骤660、若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
97.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
98.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的故障内存定位方法的故障内存定位装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个故障内存定位装置实施例中的具体限定可以参见上文中对于故障内存定位方法的限定,在此不再赘述。
99.在一个实施例中,如图7所示,提供了一种故障内存定位装置10,包括:第一确定模
块11、获取模块12和第二确定模块13,其中:
100.第一确定模块11用于在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元。
101.获取模块12用于获取每个目标内存单元对应的错误计数器的值。
102.第二确定模块13用于若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
103.在一个实施例中,故障内存定位装置10还可包括原因获取模块和地址信息获取模块。其中,原因获取模块用于在发生系统管理中断时,获取引发系统管理中断的原因;地址信息获取模块用于若原因获取模块获取到的原因为错误计数器的值达到预设阈值,则获取所有发生故障的内存单元的地址信息。
104.在一个实施例中,故障内存定位装置10还包括初始化模块、累加模块和触发模块。其中,初始化模块用于对多个内存单元对应的错误计数器进行初始化处理;累加模块用于若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加;触发模块用于当内存单元对应的错误计数器的值达到预设阈值时,触发系统管理中断。
105.在一个实施例中,初始化模块具体用于从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值;根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值。
106.在一个实施例中,故障内存定位装置10还包括显示模块。显示模块用于将目标故障内存单元的位置信息发送至基板管理控制器进行显示。
107.在一个实施例中,地址信息包括发生故障的中央处理器、发生故障的中央处理器的核心、发生故障的内存控制器和发生故障的内存单元的地址。
108.上述故障内存定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
109.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储地址信息和错误计数器的初始值等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种故障内存定位方法。
110.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
111.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
112.在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;
113.获取每个目标内存单元对应的错误计数器的值;
114.若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
115.在一个实施例中,处理器执行计算机程序时还实现以下步骤:在发生系统管理中断时,获取引发系统管理中断的原因;若原因为错误计数器的值达到预设阈值,则获取所有发生故障的内存单元的地址信息。
116.在一个实施例中,处理器执行计算机程序时还实现以下步骤:对多个内存单元对应的错误计数器进行初始化处理;若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加;当内存单元对应的错误计数器的值达到预设阈值时,触发系统管理中断。
117.在一个实施例中,处理器执行计算机程序时还实现以下步骤:从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值;根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值。
118.在一个实施例中,处理器执行计算机程序时还实现以下步骤:将目标故障内存单元的位置信息发送至基板管理控制器进行显示。
119.在一个实施例中,地址信息包括发生故障的中央处理器、发生故障的中央处理器的核心、发生故障的内存控制器和发生故障的内存单元的地址。
120.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
121.在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;
122.获取每个目标内存单元对应的错误计数器的值;
123.若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
124.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在发生系统管理中断时,获取引发系统管理中断的原因;若原因为错误计数器的值达到预设阈值,则获取所有发生故障的内存单元的地址信息。
125.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对多个内存单元对应的错误计数器进行初始化处理;若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加;当内存单元对应的错误计数器的值达到预设阈值时,触发系统管理中断。
126.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值;根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值。
127.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将目标故障内存单元的位置信息发送至基板管理控制器进行显示。
128.在一个实施例中,地址信息包括发生故障的中央处理器、发生故障的中央处理器的核心、发生故障的内存控制器和发生故障的内存单元的地址。
129.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
130.在发生系统管理中断时,根据所有发生故障的内存单元的地址信息确定目标内存单元;
131.获取每个目标内存单元对应的错误计数器的值;
132.若错误计数器的值达到预设阈值,则错误计数器对应的目标内存单元为目标故障内存单元。
133.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在发生系统管理中断时,获取引发系统管理中断的原因;若原因为错误计数器的值达到预设阈值,则获取所有发生故障的内存单元的地址信息。
134.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对多个内存单元对应的错误计数器进行初始化处理;若检测到内存单元发生故障,则将内存单元对应的错误计数器的值累加;当内存单元对应的错误计数器的值达到预设阈值时,触发系统管理中断。
135.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从内存控制器的选择寄存器中获取每个内存单元对应的错误计数器的初始值;根据选择寄存器选择多个内存单元对应的错误计数器中的任意一个或多个设置初始值。
136.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将目标故障内存单元的位置信息发送至基板管理控制器进行显示。
137.在一个实施例中,地址信息包括发生故障的中央处理器、发生故障的中央处理器的核心、发生故障的内存控制器和发生故障的内存单元的地址。
138.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
139.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
140.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员
来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献