CN116701042A - 一种内存数据保留方法、保留装置和相关设备 - Google Patents

一种内存数据保留方法、保留装置和相关设备 Download PDF

Info

Publication number
CN116701042A
CN116701042A CN202310927764.4A CN202310927764A CN116701042A CN 116701042 A CN116701042 A CN 116701042A CN 202310927764 A CN202310927764 A CN 202310927764A CN 116701042 A CN116701042 A CN 116701042A
Authority
CN
China
Prior art keywords
memory
interval
processor
reserved
preset
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.)
Granted
Application number
CN202310927764.4A
Other languages
English (en)
Other versions
CN116701042B (zh
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.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202310927764.4A priority Critical patent/CN116701042B/zh
Publication of CN116701042A publication Critical patent/CN116701042A/zh
Application granted granted Critical
Publication of CN116701042B publication Critical patent/CN116701042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请公开了一种内存数据保留方法、保留装置和相关设备,应用于处理器,所述处理器与内存相连,所述内存包括至少一个内存颗粒,所述内存数据保留方法包括:在处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;跳过对保留区间的清零,并使处理器在运行过程中避开保留区间;其中,预设内存颗粒在复位的过程中被持续供电。基于此,不仅可以在处理器复位的过程中保留预设区间即保留区间的数据,还可以避免预设区间即保留区间中的数据在处理器运行过程中被覆盖,从而可以保留预设区间即保留区间中存储的数据,进而可以根据保留的数据如故障信息对处理器的故障进行定位分析等。

Description

一种内存数据保留方法、保留装置和相关设备
技术领域
本申请涉及处理器技术领域,具体涉及一种内存数据保留方法、保留装置和相关设备。
背景技术
处理器出现宕机等故障时,虽然可以通过复位消除故障,但是,无法对故障进行定位分析。虽然可以在处理器出现故障时,先将故障信息等数据存储在内存中再进行复位,但是,由于处理器在复位的过程中,会通过内存控制器控制内存初始化,对内存中的数据进行清零,因此,导致故障信息等数据不能在内存中保留,进而导致无法根据故障信息等数据对处理器故障进行定位分析。
发明内容
本申请公开一种内存数据保留方法、保留装置和相关设备,以解决处理器复位后故障信息等数据不能在内存中保留的问题。
第一方面,本申请公开了一种内存数据保留方法,应用于处理器,所述处理器与内存相连,所述内存包括至少一个内存颗粒,所述内存数据保留方法包括:在所述处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间;其中,所述预设内存颗粒在复位的过程中被持续供电。
在一些可选示例中,所述将预设内存颗粒的预设区间设定为保留区间之前,还包括:确定预设内存颗粒的预设区间是否存储有需要保留的数据;在确定所述预设内存颗粒的预设区间存储有需要保留的数据的情况下,执行将预设内存颗粒的预设区间设定为保留区间,跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间的步骤;在确定所述预设内存颗粒的预设区间未存储需要保留的数据的情况下,执行对预设内存颗粒的预设区间进行清零的步骤。
在一些可选示例中,还包括:在确定所述处理器使能ECC校验功能的情况下,对所述保留区间的数据进行ECC校验位的重建。
在一些可选示例中,所述对所述保留区间的数据进行ECC校验位的重建包括:通过所述处理器的DMA功能搬移所述保留区间的数据,对所述保留区间的数据进行ECC校验位的重建。
在一些可选示例中,在所述处理器复位重启之前,还包括:将需要保留的数据存储至预设内存颗粒的预设区间中。
在一些可选示例中,所述将需要保留的数据存储至预设内存颗粒的预设区间中之后,还包括:向电源管理芯片发送复位保留信号,以使所述电源管理芯片控制所述预设内存颗粒在复位的过程中被持续供电,并使所述电源管理芯片在断电重启后置位复位保留标志,以便所述处理器根据所述复位保留标志确定预设内存颗粒的预设区间存储有需要保留的数据。
在一些可选示例中,所述跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间包括:所述处理器的固件跳过对所述保留区间的清零,并将所述保留区间上报给所述处理器的操作系统,使所述处理器的操作系统在运行过程中避开所述保留区间。
在一些可选示例中,还包括:确定所述保留区间存储的数据是否包括故障信息;在所述保留区间存储的数据包括故障信息的情况下,根据所述故障信息进行故障分析。
第二方面,本申请公开了一种内存数据保留装置,应用于处理器,所述处理器与内存相连,所述内存包括至少一个内存颗粒,所述内存数据保留装置包括设定单元和处理单元;所述设定单元用于在所述处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;所述处理单元用于跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间;其中,所述预设内存颗粒在复位的过程中被持续供电。
第三方面,本申请公开了一种电子设备,包括:存储器,用于存储指令;处理器,用于根据所述存储器中存储的指令,执行如上任一项所述的内存数据保留方法。
第四方面,本申请公开了一种计算机可读存储介质,其上存储有用于执行如上任一项所述的内存数据保留方法的指令。
本申请公开的内存数据保留方法、保留装置和相关设备,将预设内存颗粒的预设区间设定为保留区间,并跳过对保留区间的清零之后,可以在处理器复位的过程中保留预设区间即保留区间的数据,使处理器在运行过程中避开保留区间之后,可以避免预设区间即保留区间中的数据在处理器运行过程中被覆盖,从而可以保留预设区间即保留区间中存储的数据,进而可以根据保留的数据如故障信息对处理器的故障进行定位分析等。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请公开的一种处理器和内存的结构示意图。
图2为本申请实施例公开的一种内存数据保留方法的流程图。
图3为本申请实施例公开的一种内存数据保留装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着科学技术的日益进步,人们对于计算机设备故障的快速定位要求越来越高。而计算机设备如处理器出现宕机等故障时,故障信息等数据在内存中的留存是定位故障的关键。但是,在处理器出现宕机等故障之后通常会进行复位,复位之后的处理器会通过内存控制器控制内存初始化,对内存的数据进行清零,也就是说部分处理器是无法支持复位后保留内存数据中的故障信息等数据的,因而导致无法根据故障信息等数据对处理器的故障进行定位分析。
基于此,本申请公开了一种内存数据保留方案,在处理器复位的过程中,使得内存的预设内存颗粒被持续供电,在处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间,跳过对保留区间的清零,并使处理器在运行过程中避开保留区间,以保留预设区间中存储的数据。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种内存数据保留方法,该内存数据保留方法应用于处理器,或者说,该内存数据保留方法由处理器执行。
如图1所示,处理器10与内存11通过地址总线相连,内存11包括至少一个内存颗粒110,处理器10包括至少一个处理器核100和内存控制器101,至少一个处理器核100通过内存控制器101读取或写入内存11的数据。当然,本申请实施例中仅以上述结构为例进行说明,并不仅限于此。
如图2所示,本申请实施例公开的一种内存数据保留方法包括:
S101:在处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;
S102:跳过对保留区间的清零,并使处理器在运行过程中避开保留区间。
在处理器10复位重启之后,或者说,在处理器10上电之后,会先启动固件,由处理器10的固件执行对内存11初始化的步骤,其中内存11初始化的过程包括地址、数据线的训练和内存11的清零等。可以理解的是,为了加快复位,也可以对内存11进行快速初始化,快速初始化仅对部分内容进行初始化,例如,不再重新训练,而是直接使用已经保存的训练参数等。
在固件对内存11快速初始化的过程中,会将预设内存颗粒110的预设区间设定为保留区间,并跳过对保留区间的清零,进入维持内存数据刷新的状态,之后通过ACPI描述或DTB文件等将保留区间的起始地址和大小上报给处理器10的操作系统,再正常引导操作系统启动,以使操作系统在处理器10运行过程中避开保留区间或者说不使用保留区间,以免保留区间的数据被覆盖。其中,预设内存颗粒110可以是内存11的一个或多个内存颗粒110,预设区间可以是内存颗粒110的部分或全部存储区间。
当然,为了保证预设内存颗粒110的预设区间中的数据不会丢失,在处理器10复位的过程中,即在处理器10断电又重新上电的过程中,预设内存颗粒110会被持续供电。其中,可以通过直流电源向预设内存颗粒110持续供电,来保证预设内存颗粒110在此过程中不断电,也可以通过电池等额外电源向预设内存颗粒110供电,来保证预设内存颗粒110在此过程中不断电。
基于此,将预设内存颗粒110的预设区间设定为保留区间,并跳过对保留区间的清零之后,可以在处理器10复位的过程中保留预设区间即保留区间的数据,使处理器10在运行过程中避开保留区间之后,可以避免预设区间即保留区间中的数据在处理器10运行过程中被覆盖,从而可以保留预设区间即保留区间中存储的数据,进而可以根据保留的数据如故障信息对处理器的故障进行定位分析等。
虽然也可以通过将数据存储到其他存储器的方式来保留数据,但是,因其存储速率小于内存11的存储速率,所以,保留的数据较少,且会占用较多的复位时间。而本申请中直接在内存11中保留数据,不仅可以保留较多的数据,而且不会占用较多的复位时间,可以实现快速复位,降低对运行的影响。
本发明一些实施例中,无论预设内存颗粒110的预设区间是否存储有需要保留的数据,在每次处理器10复位重启之后,都会将预设内存颗粒110的预设区间设定为保留区间,跳过对保留区间的清零,并使处理器10在运行过程中避开保留区间。
但是,本发明并不仅限于此,在另一些实施例中,在处理器10复位重启之后,还包括:确定预设内存颗粒110的预设区间是否存储有需要保留的数据;在确定预设内存颗粒110的预设区间存储有需要保留的数据的情况下,执行将预设内存颗粒110的预设区间设定为保留区间,跳过对保留区间的清零,并使处理器10在运行过程中避开保留区间的步骤;在确定预设内存颗粒110的预设区间未存储需要保留的数据的情况下,执行对预设内存颗粒的预设区间进行清零的步骤,或者说,不再执行将预设内存颗粒110的预设区间设定为保留区间,跳过对保留区间的清零,并使处理器10在运行过程中避开保留区间的步骤。
本申请一些实施例中,在处理器10出现宕机等故障的情况下,会触发异常中断。处理器10响应于异常中断,将宕机等故障情况对应的故障信息存储至内存11的预设内存颗粒110的预设区间,并进行复位。当然,本发明并不仅限于此,在另一些实施例中,处理器10也可以响应于基于用户操作产生的异常中断,将用户期望保留的数据存储至预设内存颗粒110的预设区间中。
也就是说,在处理器10复位重启之前,还包括:将需要保留的数据存储至预设内存颗粒110的预设区间中。其中,需要保留的数据可以包括故障信息,也可以包括用户期望保留的处理器10运行过程中关键应用的运行信息等。其中,故障信息可以包括处理器核100的寄存器信息、上下文信息、核心转储信息(coredump)和程序出问题时的函数调用栈(calltrace)等其他故障信息,核心转储信息是在进程异常时的一个快照,保存了异常时的内存、寄存器、堆栈等数据。
本申请一些实施例中,处理器10和内存11所在的电子设备还包括电源管理芯片,电源管理芯片用于控制处理器10和内存11所在电子设备的电源状态,该电源状态包括正常关机状态、重启状态和休眠状态等。在处理器10复位时,电源管理芯片会控制电源状态为重启状态,以使处理器10和内存11所在的电子设备断电重启后复位。
本申请一些实施例中,在处理器10复位重启之前,或者说,在处理器10将需要保留的数据存储至预设内存颗粒110的预设区间中之后,内存数据保留方法还可以包括:向电源管理芯片发送复位保留信号,以使电源管理芯片控制预设内存颗粒110在复位的过程中被持续供电,并使电源管理芯片在断电重启或复位重启后置位复位保留标志。其中,复位保留信号包括脉冲信号、高电平信号、低电平信号或寄存器信号等。
可以理解的是,若电源管理芯片在断电重启之前,接收到了复位保留信号,那么,在电源管理芯片断电重启之后,电源管理芯片会置位复位保留标志,若电源管理芯片在断电重启之前,未接收到复位保留信号,那么,在电源管理芯片断电重启之后,电源管理芯片不会置位复位保留标志。
在处理器10复位重启之后,可以通过检测是否存在复位保留标志,来确定预设内存颗粒110的预设区间是否存储有需要保留的数据。也就是说,在处理器10复位重启之后,可以检测是否存在复位保留标志,若存在复位保留标志,则确定预设内存颗粒110的预设区间存储有需要保留的数据,若不存在复位保留标志,则确定预设内存颗粒110的预设区间未存储需要保留的数据。
当然,本申请并不仅限于此,在另一些实施例中,电源管理芯片还可以根据其他信号在断电重启后置位复位保留标志,在此不再赘述。其中,电源管理芯片可以通过拉高电平置位复位保留标志,也可以通过输出脉冲信号、置位寄存器或RAM等置位复位保留标志,在此不再赘述。
需要说明的是,若处理器10在运行的过程中使能ECC校验功能,则可能会因保留区间ECC报错而导致处理器10出现SError错误宕机的问题。而保留区间ECC报错的原因是保留区间的数据的ECC校验码在复位过程中发生了改变,而导致保留区间的数据的ECC校验码与重新计算出的该数据的校验码不匹配,导致ECC校验失败。
基于此,本发明一些实施例中,内存数据保留方法,还包括:在确定处理器10使能ECC校验功能的情况下,对保留区间的数据进行ECC校验位的重建。其中,ECC校验位的重建是指对保留区间的ECC校验位保存的校验码进行重新编码,以使ECC校验位的校验码与重新计算出的该数据的校验码匹配,使得ECC校验通过,避免出现SError错误宕机的问题。
本发明一些实施例中,对保留区间的数据进行ECC校验位的重建包括:通过处理器10的DMA功能搬移保留区间的数据,对保留区间的数据进行ECC校验位的重建。
在一些实施例中,可以通过DMA(DirectMemory Access,直接存储器访问)功能将保留区间的数据搬移至内存11的其他区间,再从其他区间搬移回保留区间,在搬移的过程中,内存11会进行数据的ECC校验位的重建,即内存11会对ECC校验位的校验码进行重新编码。当然,本发明并不仅限于此,在另一些实施例中,也可以通过DMA功能将保留区间的数据搬移至其他存储器,再从其他存储器搬移回保留区间,在此搬移的过程中,内存11同样会进行数据的ECC校验位的重建。
当然,在另一些实施例中,也可以在处理器10屏蔽SError错误的情况下,通过处理器10读出保留区间的数据,再将该数据写入保留区间,在读出和写入的过程中,内存11同样会进行数据的ECC校验位的重建,在此不再赘述。但是,相对而言,通过DMA功能能够更快速地实现ECC校验位的重建。
可以理解的是,在确定处理器10不使能ECC校验功能的情况下,也可以不对保留区间的数据进行ECC校验位的重建,这是因为在不使能ECC校验功能的情况下,处理器10不会因保留区间ECC报错而出现SError错误宕机的问题,处理器10可以正常运行。
本申请一些实施例中,内存数据保留方法还可以包括:确定保留区间存储的数据是否包括故障信息;在保留区间存储的数据包括故障信息的情况下,根据故障信息进行故障分析。
在一些实施例中,处理器10将故障信息存储至预设内存颗粒110的预设区间中之后,会添加故障信息标记。在处理器10复位重启之后,固件会先执行控制内存11初始化、将预设内存颗粒110的预设区间设定为保留区间,并跳过对保留区间的清零等动作,然后固件引导操作系统启动后,操作系统会检测是否存在故障信息标记,若存在故障信息标记,则说明保留区间存储有故障信息,将故障信息转储为硬盘中的文件,根据故障信息进行故障分析,并清除故障信息标记;若不存在故障信息标记,则说明保留区间未存储故障信息,则操作系统正常运行,并将关键应用运行信息存储至保留区间。当然,在另一些实施例中,也可以不将故障信息转储为硬盘中的文件,而是直接对故障信息进行分析,在此不再赘述。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种内存数据保留装置,该内存数据保留装置应用于处理器,或者说,处理器包括该内存数据保留装置。如图1所示,处理器10与内存11相连,内存11包括至少一个内存颗粒110,如图3所示,内存数据保留装置包括设定单元20和处理单元30。
设定单元20用于在处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;
处理单元30用于跳过对保留区间的清零,并使处理器10在运行过程中避开保留区间;其中,预设内存颗粒在复位的过程中被持续供电。
本申请一些实施例中,处理单元30还用于:在处理器复位重启之后,确定预设内存颗粒的预设区间是否存储有需要保留的数据;在确定预设内存颗粒的预设区间存储有需要保留的数据的情况下,执行将预设内存颗粒的预设区间设定为保留区间,跳过对保留区间的清零,并使处理器在运行过程中避开保留区间的步骤;在确定预设内存颗粒的预设区间未存储需要保留的数据的情况下,执行对预设内存颗粒的预设区间进行清零的步骤。
本申请一些实施例中,处理单元30还用于:在确定处理器使能ECC校验功能的情况下,对保留区间的数据进行ECC校验位的重建。
本申请一些实施例中,处理单元30还用于:通过处理器的DMA功能搬移保留区间的数据,对保留区间的数据进行ECC校验位的重建。
本申请一些实施例中,处理单元30还用于:在处理器复位重启之前,将需要保留的数据存储至预设内存颗粒的预设区间中。
本申请一些实施例中,处理单元30还用于:在将需要保留的数据存储至预设内存颗粒的预设区间中之后,向电源管理芯片发送复位保留信号,以使电源管理芯片控制预设内存颗粒在复位的过程中被持续供电,并使电源管理芯片在断电重启后置位复位保留标志,以便处理器根据复位保留标志确定预设内存颗粒的预设区间存储有需要保留的数据。
本申请一些实施例中,处理单元30所述跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间包括:所述处理器的固件跳过对所述保留区间的清零,并将所述保留区间上报给所述处理器的操作系统,使所述处理器的操作系统在运行过程中避开所述保留区间。
本申请一些实施例中,处理单元30还用于:确定保留区间存储的数据是否包括故障信息;在保留区间存储的数据包括故障信息的情况下,根据故障信息进行故障分析。
作为本申请公开内容的另一种可选实现,本申请实施例公开了一种计算机可读存储介质,其上存储有用于执行如上任一实施例公开的内存数据保留方法的指令。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本说明书所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
作为本申请公开内容的另一种可选实现,本申请实施例公开了一种电子设备,该电子设备包括存储器和处理器,存储器用于存储指令,该存储器可以是内存,处理器用于根据存储器中存储的指令,执行如上任一实施例公开的内存数据保留方法。可以理解的是,电子设备可以根据需要而包含其他组件。
电子设备可以装载并因此包括一个或多个应用。这些应用是指令集(例如,计算机程序代码),当被处理器读取时,这些指令集控制电子设备的操作。为此,内存可以包括可由处理器执行的指令/数据,由此电子设备可执行根据本申请至少一实施例中所公开的方法。
作为本申请公开内容的一种可选实现,本申请实施例公开了一种计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上任一实施例公开的内存数据保留方法。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如python、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本说明书的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本说明书构思的前提下,还可以做出若干变形和改进,这些都属于本说明书的保护范围。因此,本说明书专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种内存数据保留方法,应用于处理器,所述处理器与内存相连,所述内存包括至少一个内存颗粒,其特征在于,所述内存数据保留方法包括:
在所述处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间;其中,所述预设内存颗粒在复位的过程中被持续供电。
2.根据权利要求1所述的内存数据保留方法,其特征在于,在所述处理器复位重启之后,还包括:
确定预设内存颗粒的预设区间是否存储有需要保留的数据;
在确定所述预设内存颗粒的预设区间存储有需要保留的数据的情况下,执行将预设内存颗粒的预设区间设定为保留区间,跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间的步骤;
在确定所述预设内存颗粒的预设区间未存储需要保留的数据的情况下,执行对预设内存颗粒的预设区间进行清零的步骤。
3.根据权利要求1所述的内存数据保留方法,其特征在于,还包括:
在确定所述处理器使能ECC校验功能的情况下,对所述保留区间的数据进行ECC校验位的重建。
4.根据权利要求3所述的内存数据保留方法,其特征在于,所述对所述保留区间的数据进行ECC校验位的重建包括:
通过所述处理器的DMA功能搬移所述保留区间的数据,对所述保留区间的数据进行ECC校验位的重建。
5.根据权利要求1或2所述的内存数据保留方法,其特征在于,在所述处理器复位重启之前,还包括:
将需要保留的数据存储至预设内存颗粒的预设区间中。
6.根据权利要求5所述的内存数据保留方法,其特征在于,所述将需要保留的数据存储至预设内存颗粒的预设区间中之后,还包括:
向电源管理芯片发送复位保留信号,以使所述电源管理芯片控制所述预设内存颗粒在复位的过程中被持续供电,并使所述电源管理芯片在断电重启后置位复位保留标志,以便所述处理器根据所述复位保留标志确定预设内存颗粒的预设区间存储有需要保留的数据。
7.根据权利要求1或2所述的内存数据保留方法,其特征在于,所述跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间包括:
所述处理器的固件跳过对所述保留区间的清零,并将所述保留区间上报给所述处理器的操作系统,使所述处理器的操作系统在运行过程中避开所述保留区间。
8.根据权利要求1所述的内存数据保留方法,其特征在于,还包括:
确定所述保留区间存储的数据是否包括故障信息;
在所述保留区间存储的数据包括故障信息的情况下,根据所述故障信息进行故障分析。
9.一种内存数据保留装置,应用于处理器,所述处理器与内存相连,所述内存包括至少一个内存颗粒,其特征在于,所述内存数据保留装置包括设定单元和处理单元;
所述设定单元用于在所述处理器复位重启之后,将预设内存颗粒的预设区间设定为保留区间;所述预设内存颗粒在复位的过程中被持续供电;
所述处理单元用于跳过对所述保留区间的清零,并使所述处理器在运行过程中避开所述保留区间。
10.一种电子设备,其特征在于,包括:
存储器,用于存储指令;
处理器,用于根据所述存储器中存储的指令,执行如权利要求1~8任一项所述的内存数据保留方法。
11.一种计算机可读存储介质,其特征在于,其上存储有用于执行如权利要求1~8任一项所述的内存数据保留方法的指令。
CN202310927764.4A 2023-07-27 2023-07-27 一种内存数据保留方法、保留装置和相关设备 Active CN116701042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310927764.4A CN116701042B (zh) 2023-07-27 2023-07-27 一种内存数据保留方法、保留装置和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310927764.4A CN116701042B (zh) 2023-07-27 2023-07-27 一种内存数据保留方法、保留装置和相关设备

Publications (2)

Publication Number Publication Date
CN116701042A true CN116701042A (zh) 2023-09-05
CN116701042B CN116701042B (zh) 2023-10-13

Family

ID=87824216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310927764.4A Active CN116701042B (zh) 2023-07-27 2023-07-27 一种内存数据保留方法、保留装置和相关设备

Country Status (1)

Country Link
CN (1) CN116701042B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243795A1 (en) * 2003-05-29 2004-12-02 International Business Machines Corporation Registration of memory portion for preservation of data during reboot
CN101118514A (zh) * 2007-09-14 2008-02-06 中兴通讯股份有限公司 一种用于分析软件系统cpu占用率的方法及存储器
CN101286130A (zh) * 2007-04-11 2008-10-15 中兴通讯股份有限公司 一种嵌入式设备的复位故障定位的实现方法
US20140298118A1 (en) * 2013-03-26 2014-10-02 Kyocera Document Solutions Inc. Information processing apparatus and error processing method
CN104991832A (zh) * 2015-06-20 2015-10-21 成都彬鸿科技有限公司 嵌入式处理器宕机的处理方法
CN105893277A (zh) * 2016-03-30 2016-08-24 联想(北京)有限公司 数据处理方法及数据处理装置
CN108920094A (zh) * 2018-06-01 2018-11-30 深圳忆联信息系统有限公司 擦除单元raid方法、装置、计算机设备及存储介质
CN113345500A (zh) * 2020-03-03 2021-09-03 慧荣科技股份有限公司 用来进行恢复管理的方法及设备
CN113495799A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 一种内存故障处理方法及相关设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243795A1 (en) * 2003-05-29 2004-12-02 International Business Machines Corporation Registration of memory portion for preservation of data during reboot
CN101286130A (zh) * 2007-04-11 2008-10-15 中兴通讯股份有限公司 一种嵌入式设备的复位故障定位的实现方法
CN101118514A (zh) * 2007-09-14 2008-02-06 中兴通讯股份有限公司 一种用于分析软件系统cpu占用率的方法及存储器
US20140298118A1 (en) * 2013-03-26 2014-10-02 Kyocera Document Solutions Inc. Information processing apparatus and error processing method
CN104991832A (zh) * 2015-06-20 2015-10-21 成都彬鸿科技有限公司 嵌入式处理器宕机的处理方法
CN105893277A (zh) * 2016-03-30 2016-08-24 联想(北京)有限公司 数据处理方法及数据处理装置
CN108920094A (zh) * 2018-06-01 2018-11-30 深圳忆联信息系统有限公司 擦除单元raid方法、装置、计算机设备及存储介质
CN113345500A (zh) * 2020-03-03 2021-09-03 慧荣科技股份有限公司 用来进行恢复管理的方法及设备
CN113495799A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 一种内存故障处理方法及相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
颜丽: "嵌入式系统数据的可靠性维护研究", 《萍乡学院学报》, vol. 33, no. 3, pages 65 - 67 *

Also Published As

Publication number Publication date
CN116701042B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
US8589730B2 (en) Handling errors during device bootup from a non-volatile memory
US8214720B2 (en) Bit error prevention method and information processing apparatus
CN109032822B (zh) 一种死机信息的保存方法和装置
US9804921B2 (en) Nonvolatile memory apparatus and control method of nonvolatile memory apparatus
US10949286B2 (en) Handling memory errors in memory modules that include volatile and non-volatile components
US20080307172A1 (en) System and method for reproducing memory error
CN109271206B (zh) 一种异常现场的内存压缩和保存方法
CN110618892A (zh) 一种固态硬盘的bug定位方法、装置、电子设备及介质
CN109582332B (zh) 互联网摄像机的系统升级方法及装置
JP2000099405A (ja) フラッシュメモリを有する電子機器
US10657003B2 (en) Partial backup during runtime for memory modules with volatile memory and non-volatile memory
JP5883284B2 (ja) 半導体メモリ制御装置及び制御方法
JP2010204851A (ja) 記憶装置及び情報処理装置
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
CN116701042B (zh) 一种内存数据保留方法、保留装置和相关设备
JP5504604B2 (ja) Ram診断装置
JP4950214B2 (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
CN116701041B (zh) 一种内存数据保留方法、保留装置和相关设备
JP2017041182A (ja) 数値制御装置
JP4635993B2 (ja) 起動診断方式、起動診断方法およびプログラム
JP2009211625A (ja) 情報処理装置の起動ログ保存方法
US10592364B2 (en) Handling errors during run time backups
CN110826114A (zh) 基于ssd安全擦除后的用户数据测试方法和装置
US9880926B1 (en) Log structured reserved zone for a data storage device
JP7166231B2 (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
GR01 Patent grant
GR01 Patent grant