CN117687822A - 一种内存故障的处理方法、装置、终端设备、介质和产品 - Google Patents

一种内存故障的处理方法、装置、终端设备、介质和产品 Download PDF

Info

Publication number
CN117687822A
CN117687822A CN202311531909.5A CN202311531909A CN117687822A CN 117687822 A CN117687822 A CN 117687822A CN 202311531909 A CN202311531909 A CN 202311531909A CN 117687822 A CN117687822 A CN 117687822A
Authority
CN
China
Prior art keywords
reset
memory
cpu
signal
fault
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311531909.5A
Other languages
English (en)
Inventor
欧海彪
徐可可
曹翔
吕腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Great Wall Technology Group Co ltd
Original Assignee
China Great Wall Technology Group Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Great Wall Technology Group Co ltd filed Critical China Great Wall Technology Group Co ltd
Priority to CN202311531909.5A priority Critical patent/CN117687822A/zh
Publication of CN117687822A publication Critical patent/CN117687822A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请涉及内存处理技术领域,提供一种内存故障的处理方法、装置、终端设备、介质和产品,其方法包括:当检测到内存故障信号时,将内存故障信号发送给时钟产生与复位单元;获取时钟产生与复位单元生成的复位信号,并根据复位信号进行CPU复位;确定CPU复位原因;若CPU复位原因为致命信号导致CPU复位,则执行热复位流程。对于不支持同步中断上报的CPU,本方法能够及时制止CPU处理未落盘的IO请求,避免脏数据落盘,保障存储数据的准确性。

Description

一种内存故障的处理方法、装置、终端设备、介质和产品
技术领域
本申请涉及内存处理技术领域,尤其涉及一种内存故障的处理方法、装置、终端设备、介质和产品。
背景技术
ECC(Error Checking and Correcting,错误检查和纠正)内存是一种应用了能够实现错误检查和纠正技术的内存条。服务器在使用ECC内存时,能够对单bit的翻转进行定位和纠正,而无法对多bit的翻转进行定位和纠正。目前的技术方案中,是利用CPU(CentralProcessing Unit,中央处理器)产生中断信号并上报给操作系统,操作系统触发panic(内核无法继续运行),以避免脏数据落盘。而若CPU不支持同步中断上报,即只支持异步中断上报,异步中断机制可能导致处理错误数据的内核(core)与处理中断的内核(core)不是同一个内核(core),造成出问题的内核(core)继续访问内存和硬盘,从而导致脏数据落盘。
因此,针对不支持同步中断上报的CPU,如何避免脏数据落盘,是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的在于提供一种内存故障的处理方法、装置、终端设备、计算机可读存储介质和计算机程序产品,能够对不支持同步中断上报的CPU,避免脏数据落盘。
第一方面,本申请提供了一种内存故障的处理方法。所述方法包括:
当检测到内存故障信号时,将所述内存故障信号发送给时钟产生与复位单元;
获取所述时钟产生与复位单元生成的复位信号,并根据所述复位信号进行CPU复位;
确定CPU复位原因;
若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
在其中一个实施例中,所述确定CPU复位原因,包括:
查询复位原因寄存器中的数据信息;
对所述数据信息进行解析,确定CPU复位原因。
在其中一个实施例中,在所述若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程之后,一种内存故障的处理方法还包括:
确定与所述内存故障信号对应的故障内存的内存通道号。
在其中一个实施例中,在所述若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程之后,一种内存故障的处理方法还包括:
控制各内核停在WFI指令处,并在用户确认并更换与所述内存故障信号对应的故障内存后,控制各所述内核继续执行操作流程。
在其中一个实施例中,所述获取所述时钟产生与复位单元生成的复位信号,并根据所述复位信号进行CPU复位,包括:
获取所述时钟产生与复位单元生成的复位信号;
根据所述复位信号控制执行流回到预设状态。
在其中一个实施例中,一种内存故障的处理方法还包括:
根据所述内存通道号生成对应的提示信息;所述提示信息用于提示用户确认并更换与所述内存通道号对应的故障内存。
第二方面,本申请还提供了一种内存故障的处理装置。所述装置包括:
发送模块,用于当检测到内存故障信号时,将所述内存故障信号发送给时钟产生与复位单元;
获取模块,用于获取所述时钟产生与复位单元生成的复位信号,并根据所述复位信号进行CPU复位;
确定模块,用于确定CPU复位原因;
执行模块,用于若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
第三方面,本申请还提供了一种终端设备。所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
本申请提供一种内存故障的处理方法,在检测到内存故障信号时,直接将所述内存故障信号发送给时钟产生与复位单元,由时钟产生与复位单元生成复位信号,以使得CPU根据所述复位信号进行CPU复位;确定CPU复位原因;所述CPU复位原因包括致命信号导致复位和非致命信号导致复位;若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程;因此,对于不支持同步中断上报的CPU,本方法能够及时制止CPU处理未落盘的IO请求,避免脏数据落盘,保障存储数据的准确性。
可以理解的是,本申请实施例提供的一种内存故障的处理置、终端设备、计算机可读存储介质和计算机程序产品具有如上述内存故障的处理方法相同的有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种内存故障的处理方法的流程图;
图2为本申请实施例提供的另一种内存故障的处理方法的流程图;
图3为本申请实施例提供的一种内存故障的处理装置的结构示意图;
图4为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、设备、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。“多个”表示“两个或两个以上”。
本申请实施例提供的一种内存故障的处理方法,可以由终端设备的处理器在运行相应的计算机程序时执行。
图1为本申请实施例提供的一种内存故障的处理方法的流程图,为了便于说明,仅示出了与本实施例相关的部分,本实施例提供的方法包括如下步骤:
S100:当检测到内存故障信号时,将内存故障信号发送给时钟产生与复位单元。
其中,内存故障信号指的是CPU在检测到内存故障时对应产生的信号。内存故障信号可以包括UCE(uncorrect error,不可纠正的错误)信号;其中,UCE分为UCE-non-fatal和UCE-fatal;其中,UCE-non-fatal指的是发生了硬件错误,但是可以恢复。以内存为例,通常采用的动作是找到使用到错误内存的进程,然后将该进程杀死,但是不会影响整个系统的运行;UCE-fatal指的是产生了相当严重的错误,CPU必须进入关机或者重启的流程。本实施例中,ECC内存对于多bit的翻转无法进行定位和纠正,这种错误就是uncorrected error,系统硬件不能直接处理恢复,因此产生内存故障信号。
需要说明的是,造成内存故障信号的原因可以是内存硬件故障和/或电磁干扰导致内存故障和/或电容出错导致内存故障,本实施例对此不做限定。
其中,时钟产生与复位单元(CRU,Clock&Reset Unit)是APB(AdvancedPeripheral Bus,高级外设总线)从模块用于产生内部和系统时钟、复位用的单元。
在本实施例中,CPU在将内存故障信号发送给时钟产生与复位单元后,时钟产生与复位单元将依据内存故障信号生成对应的复位信号。其中,复位信号指的是指示CPU进行复位操作的信号。
S200:获取时钟产生与复位单元生成的复位信号,并根据复位信号进行CPU复位。
具体的,时钟产生与复位单元将复位信号发送给CPU,CPU根据该复位信号执行CPU复位的操作,以隔断脏数据的传播。
S300:确定CPU复位原因;
S400:若CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
其中,CPU复位原因指的是导致CPU执行CPU复位操作的原因;CPU复位原因包括致命信号导致复位和非致命信号导致复位。
在本实施例中,先确定CPU复位原因;在确定出是致命信号导致CPU复位,则将执行热复位流程。其中,冷复位指的是断电后重新上电的复位操作,内存中的所有数据丢失,CPU中的cache缓存、寄存器等都会被清空;热复位指的是在CPU没有断电的情况下,复位管脚有复位信号,此时内存中的所有数据都还保持原来的状态。
需要说明的是,热复位流程能够使得CPU的所有内核停在一个离线的状态,由于各内核都不再执行业务路径上的代码,未完成的IO请求(I/O Request package,输入输出请求包)不能继续执行,因此脏数据不会落盘;因此不会对未落盘的IO请求进一步处理,均有效避免脏数据落盘。
本申请实施例提供一种内存故障的处理方法,在检测到内存故障信号时,直接将内存故障信号发送给时钟产生与复位单元,由时钟产生与复位单元生成复位信号,以使得CPU根据复位信号进行CPU复位;确定CPU复位原因;CPU复位原因包括致命信号导致复位和非致命信号导致复位;若CPU复位原因为致命信号导致CPU复位,则执行热复位流程;因此,对于不支持同步中断上报的CPU,本方法能够及时制止CPU处理未落盘的IO请求,避免脏数据落盘,保障存储数据的准确性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,确定CPU复位原因,包括:
查询复位原因寄存器中的数据信息;
对数据信息进行解析,确定CPU复位原因。
需要说明的是,在CPU复位后,将从预设地址获取预设代码,并运行预设代码,以查询复位原因寄存器中的数据信息。其中,本实施例对预设地址不做限定,例如可以从0x00地址获取初始化代码,初始化代码与上电初始化代码类似,只是软件会查询复位原因寄存器中的数据信息,并对数据信息进行解析,确定导致CPU复位的原因,即确定CPU复位原因。
可见,本实施例通过直接查询复位原因寄存器确定CPU复位原因,能够高效直接地确定CPU复位原因,以便在致命信号导致CPU复位时,执行热复位流程,提高执行热复位流程的效率。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,在若CPU复位原因为致命信号导致CPU复位,则执行热复位流程之后,方法还包括:
确定与内存故障信号对应的故障内存的内存通道号。
需要说明的是,由于热复位流程能够使得内存中的所有数据都还保持原来的状态;因此本实施例是在执行热复位流程之后,进一步确定与内存故障信号对应的故障内存的内存通道号,也就是确定导致CPU复位的故障内存的内存通道号。
在实际应用中,在确定与内存故障信号对应的故障内存的内存通道号后,还可以通过物理串口打印该内存通道号,以便用户可以便捷直观地获取故障内存对应的内存通道号。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,在若CPU复位原因为致命信号导致CPU复位,则执行热复位流程之后,方法还包括:
控制各内核停在WFI指令处,并在用户确认并更换与内存故障信号对应的故障内存后,控制各内核继续执行操作流程。
其中,WFI(Wait For Interrupt)指令是ARM(Advanced RISC Machines,32位精简指令集(RISC)处理器架构)中的一个Hint指令,内核执行hint指令的时候不需要依赖额外的处理操作。WFI指令可以让CPU进入standby模式,即低功耗模式,此时内核会暂停其他活动,一直等待中断事件的发生,检测到中断发生后,WFI指令执行完成,CPU退出standby模式。
本实施例中,在执行热复位流程后,控制各内核停在WFI指令处,等待用户确认并更换与内存故障信号对应的故障内存;具体是在系统下电后,用户根据内存故障信号确定故障内存,并更换该故障内存;系统重新上电,各内核继续执行操作流程。
按照本实施例的方法,能够便于用户通过更换故障内存来实现排除内存故障,能够进一步提高内存故障处理的便捷性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,获取时钟产生与复位单元生成的复位信号,并根据复位信号进行CPU复位,包括:
获取时钟产生与复位单元生成的复位信号;
根据复位信号控制执行流回到预设状态。
在一个具体实施例中,CPU获取时钟产生与复位单元生成的复位信号,并根据复位信号控制执行流回到预设状态;预设状态为预先设置的初始化状态,以隔断脏数据的传播。
其中,执行流为一段逻辑上独立的指令区域,对应于代码,大到可以是整个程序文件,即进程,小到可以是一个功能独立的代码块,即函数,而线程本质上就是函数。执行流是独立的,其独立性体现在每个执行流都有自己的栈、一套自己的寄存器映像和内存资源,其实这就是执行流的上下文环境。
本实施例中,通过直接控制执行流回到预设状态来实现CPU复位,能够高效直接地阻断脏数据传播。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,方法还包括:
根据内存通道号生成对应的提示信息;提示信息用于提示用户确认并更换与内存通道号对应的故障内存。
本实施例中,在确定出故障内存的内存通道号后,生成提示信息并持续推送提示信息;提示信息用于提示用户确认并更换与内存通道号对应的故障内存。通过将提示信息推送至提示装置,通过提示装置持续发出对应的信号,以提示用户确认并更换与内存通道号对应的故障内存。其中,提示装置包括蜂鸣器、指示灯、语音播放器或者显示器等,对应的信号包括持续的蜂鸣、指示灯闪烁等。
可见,本实施例通过在确定出故障内存的内存通道号后,根据内存通道号生成对应的提示信息,能够便捷直观地提示用户及时确认并更换与内存通道号对应的故障内存,提升用户的使用体验。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面结合实际应用场景对本申请实施例中的技术方案进行详细说明。结合图2所示的另一种内存故障的处理方法的流程图,通过BIOS固件开发实现如下方案:
当检测到内存故障UCE时,产生内存故障UCE信号;
将内存故障UCE信号发送给时钟产生与复位单元,时钟产生与复位单元生成复位信号;
获取时钟产生与复位单元生成的复位信号,根据复位信号控制执行流回到预设状态;
从0x00地址获取初始化代码并执行初始化代码,查询复位原因寄存器中的数据信息,并对数据信息进行解析,确定CPU复位原因;
若CPU复位原因为致命信号导致CPU复位,则执行热复位流程;
确定与内存故障信号对应的故障内存的内存通道号,并通过物理串口打印内存通道号;
控制各内核停在WFI指令处,并在用户确认并更换与内存故障信号对应的故障内存后,控制各内核继续执行操作流程。
本申请实施例提供一种内存故障的处理方法,在检测到内存故障信号时,直接将内存故障信号发送给时钟产生与复位单元,由时钟产生与复位单元生成复位信号,以使得CPU根据复位信号进行CPU复位;确定CPU复位原因;CPU复位原因包括致命信号导致复位和非致命信号导致复位;若CPU复位原因为致命信号导致CPU复位,则执行热复位流程;因此,对于不支持同步中断上报的CPU,本方法能够及时制止CPU处理未落盘的IO请求,避免脏数据落盘,保障存储数据的准确性。
需要说明的是,本方法中的热复位方式与X86 MCE异常同步中断panic处理方式都能保证脏数据不落盘,不会处理未落盘的IO请求,同时也不会再处理数据库的索引、句柄、函数等;当服务器内存产生不可纠正地错误(UCE),可能影响客户IO数据的正确性时,本方法能有效规避错误数据落盘,并提示对故障内存进行更换,在保证了客户业务数据正确性的同时也及时避免后续的其他隐患。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3所示为本申请实施例提供的一种内存故障的处理装置的结构示意图。如图3所示,该实施例的内存故障的处理装置包括发送模块310、获取模块320、确定模块330和执行模块340;其中,
发送模块310,用于当检测到内存故障信号时,将内存故障信号发送给时钟产生与复位单元;
获取模块320,用于获取时钟产生与复位单元生成的复位信号,并根据复位信号进行CPU复位;
确定模块330,用于确定CPU复位原因;
执行模块340,用于若CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
本申请实施例提供的一种内存故障的处理装置,具有与上述一种内存故障的处理方法相同的有益效果。
在其中一个实施例中,确定模块330包括:
查询子模块,用于查询复位原因寄存器中的数据信息;
解析子模块,用于对数据信息进行解析,确定CPU复位原因。
在其中一个实施例中,一种内存故障的处理装置还包括:
通道号确定子模块,用于确定与内存故障信号对应的故障内存的内存通道号。
在其中一个实施例中,一种内存故障的处理装置还包括:
指令等待子模块,用于控制各内核停在WFI指令处,并在用户确认并更换与内存故障信号对应的故障内存后,控制各内核继续执行操作流程。
在其中一个实施例中,获取模块320包括:
获取子模块,用于获取时钟产生与复位单元生成的复位信号;
控制子模块,用于根据复位信号控制执行流回到预设状态。
在其中一个实施例中,一种内存故障的处理装置还包括:
提示模块,用于根据内存通道号生成对应的提示信息;提示信息用于提示用户确认并更换与内存通道号对应的故障内存。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4为本申请实施例提供的一种终端设备的结构示意图。如图4所示,该实施例的终端设备400包括存储器401、处理器402以及存储在存储器401中并可在处理器402上运行的计算机程序403;处理器402执行计算机程序403时实现上述各个内存故障的处理方法实施例中的步骤,例如图1所示的S100至S400;或者处理器402执行计算机程序403时实现上述各装置实施例中各模块/单元的功能,例如图3所示发送模块、获取模块、确定模块和执行模块的功能。
示例性的,计算机程序403可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器401中,并由处理器402执行,以实现本申请实施例的方法。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在终端设备400中的执行过程。例如,计算机程序403可以被分割成发送模块、获取模块、确定模块和执行模块,各模块具体功能如下:
发送模块,用于当检测到内存故障信号时,将内存故障信号发送给时钟产生与复位单元;
获取模块,用于获取时钟产生与复位单元生成的复位信号,并根据复位信号进行CPU复位;
确定模块,用于确定CPU复位原因;
执行模块,用于若CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
在应用中,终端设备400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备400可包括但不仅限于存储器401和处理器402。本领域技术人员可以理解,图4仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等;其中,输入输出设备可以包括摄像头、音频采集/播放器件、显示屏等;网络接入设备可以包括通信模块,用于与外部设备进行无线通信。
在应用中,处理器可以是中央处理单元(Central Processing Unit,CPU),也可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在应用中,存储器可以是终端设备的内部存储单元,例如终端设备的硬盘或内存;也可以是终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等;还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供的一种计算机可读存储介质,具有与上述一种内存故障的处理方法相同的有益效果。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供的一种计算机程序产品,具有与上述一种内存故障的处理方法相同的有益效果。
本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或设备、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的设备及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,设备间接耦合或通讯连接,可以是电性,机械或其它的形式。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种内存故障的处理方法,其特征在于,所述方法包括:
当检测到内存故障信号时,将所述内存故障信号发送给时钟产生与复位单元;
获取所述时钟产生与复位单元生成的复位信号,并根据所述复位信号进行CPU复位;
确定CPU复位原因;
若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
2.根据权利要求1所述的方法,其特征在于,所述确定CPU复位原因,包括:
查询复位原因寄存器中的数据信息;
对所述数据信息进行解析,确定CPU复位原因。
3.根据权利要求1所述的方法,其特征在于,在所述若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程之后,所述方法还包括:
确定与所述内存故障信号对应的故障内存的内存通道号。
4.根据权利要求3所述的方法,其特征在于,在所述若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程之后,所述方法还包括:
控制各内核停在WFI指令处,并在用户确认并更换与所述内存故障信号对应的故障内存后,控制各所述内核继续执行操作流程。
5.根据权利要求1所述的方法,其特征在于,所述获取所述时钟产生与复位单元生成的复位信号,并根据所述复位信号进行CPU复位,包括:
获取所述时钟产生与复位单元生成的复位信号;
根据所述复位信号控制执行流回到预设状态。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
根据所述内存通道号生成对应的提示信息;所述提示信息用于提示用户确认并更换与所述内存通道号对应的故障内存。
7.一种内存故障的处理装置,其特征在于,所述装置包括:
发送模块,用于当检测到内存故障信号时,将所述内存故障信号发送给时钟产生与复位单元;
获取模块,用于获取所述时钟产生与复位单元生成的复位信号,并根据所述复位信号进行CPU复位;
确定模块,用于确定CPU复位原因;
执行模块,用于若所述CPU复位原因为致命信号导致CPU复位,则执行热复位流程。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202311531909.5A 2023-11-16 2023-11-16 一种内存故障的处理方法、装置、终端设备、介质和产品 Pending CN117687822A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311531909.5A CN117687822A (zh) 2023-11-16 2023-11-16 一种内存故障的处理方法、装置、终端设备、介质和产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311531909.5A CN117687822A (zh) 2023-11-16 2023-11-16 一种内存故障的处理方法、装置、终端设备、介质和产品

Publications (1)

Publication Number Publication Date
CN117687822A true CN117687822A (zh) 2024-03-12

Family

ID=90136136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311531909.5A Pending CN117687822A (zh) 2023-11-16 2023-11-16 一种内存故障的处理方法、装置、终端设备、介质和产品

Country Status (1)

Country Link
CN (1) CN117687822A (zh)

Similar Documents

Publication Publication Date Title
TWI337707B (en) System and method for logging recoverable errors
US7685476B2 (en) Early notification of error via software interrupt and shared memory write
JP6333410B2 (ja) 障害処理方法、関連装置、およびコンピュータ
US8644136B2 (en) Sideband error signaling
US10896087B2 (en) System for configurable error handling
US20140122421A1 (en) Information processing apparatus, information processing method and computer-readable storage medium
CN117389790B (zh) 可恢复故障的固件检测系统、方法、存储介质及服务器
US8392751B2 (en) System and method for recovery from uncorrectable bus errors in a teamed NIC configuration
US10635554B2 (en) System and method for BIOS to ensure UCNA errors are available for correlation
CN117687822A (zh) 一种内存故障的处理方法、装置、终端设备、介质和产品
CN114003416B (zh) 内存错误动态处理方法、系统、终端及存储介质
US8689059B2 (en) System and method for handling system failure
CN108874578B (zh) 用于监管和初始化端口的设备
US7415632B1 (en) Detection and repair of corrupted critical data structures without operational interruption
CN114238946B (zh) 设备管理方法、装置、电子设备及计算机可读存储介质
WO2024139423A1 (zh) 故障检测方法及计算机设备
US11797368B2 (en) Attributing errors to input/output peripheral drivers
JP2004013723A (ja) 共有メモリを使ったクラスタ構成を採用した情報処理システムの障害処理装置と方法
CN111061597B (zh) 一种测试kcs通信稳定性的方法
CN117873853B (zh) 数据记录方法、装置、电子设备及介质
CN112463446B (zh) 一种PCIe设备恢复方法、系统及电子设备和存储介质
US7225284B2 (en) Increasing the quantity of I/O decode ranges using SMI traps
CN107451035B (zh) 用于计算机装置的错误状态数据提供方法
CN112084049A (zh) 用于监控基板管理控制器的常驻程序的方法
JP2011086067A (ja) データベース処理装置、データベース処理方法、及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination