CN111506460B - 内存故障的处理方法、装置、移动终端及存储介质 - Google Patents

内存故障的处理方法、装置、移动终端及存储介质 Download PDF

Info

Publication number
CN111506460B
CN111506460B CN202010301268.4A CN202010301268A CN111506460B CN 111506460 B CN111506460 B CN 111506460B CN 202010301268 A CN202010301268 A CN 202010301268A CN 111506460 B CN111506460 B CN 111506460B
Authority
CN
China
Prior art keywords
memory
fault
failure
state
mobile terminal
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.)
Active
Application number
CN202010301268.4A
Other languages
English (en)
Other versions
CN111506460A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010301268.4A priority Critical patent/CN111506460B/zh
Publication of CN111506460A publication Critical patent/CN111506460A/zh
Application granted granted Critical
Publication of CN111506460B publication Critical patent/CN111506460B/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种内存故障的处理方法、装置、移动终端及存储介质,该内存故障的处理方法应用于移动终端,该内存故障的处理方法包括:在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果;根据所述处理结果,获取所述内存故障的状态;如果所述内存故障为内存异常状态,对所述内存故障对应的内存单元进行替换。本方法可以较好地实现对移动终端的内存故障的处理,避免移动终端的运行出现问题。

Description

内存故障的处理方法、装置、移动终端及存储介质
技术领域
本申请涉及移动终端技术领域,更具体地,涉及一种内存故障的处理方法、装置、移动终端及存储介质。
背景技术
随着科技水平和生活水平的快速进步,移动终端已经逐渐成为生活和工作中不可或缺的重要工具。随着人们对于移动终端的配置需求的提升,移动终端的存储配置也越来越高,多数移动终端采用了基于低功耗双倍数据速率存储(LPDDR,Low Power Double DataRate)的内存。但由于LPDDR存在无法连续提供正确并且可靠的计算能力的情况,因此可能导致移动终端在运行时发生故障。
发明内容
鉴于上述问题,本申请提出了一种内存故障的处理方法、装置、移动终端及存储介质。
第一方面,本申请实施例提供了一种内存故障的处理方法,应用于移动终端,所述方法包括:在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果;根据所述处理结果,获取所述内存故障的状态;如果所述内存故障为内存异常状态,对所述内存故障对应的内存单元进行替换。
第二方面,本申请实施例提供了一种内存故障的处理装置,应用于移动终端,所述装置包括:结果获取模块、状态确定模块以及故障处理模块,其中,所述结果获取模块用于在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果;所述状态确定模块用于根据所述处理结果,获取所述内存故障的状态;所述结果获取模块用于如果所述内存故障为内存异常状态,对所述内存故障对应的内存单元进行替换。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的内存故障的处理方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的内存故障的处理方法。
本申请提供的方案,移动终端通过在检测到内存出现内存故障时,获取内存对该内存故障的处理结果,根据处理结果,获取内存故障的状态,如果该内存故障为内存异常状态,对内存故障对应的内存单元进行替换,从而可以实现在内存对内存故障进行处理后,如果内存仍然处于内存异常状态的情况,对内存故障对应的内存单元进行替换,有效降低内存故障引起的移动终端运行时的故障。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一个实施例的内存故障的处理方法流程图。
图2示出了根据本申请另一个实施例的内存故障的处理方法流程图。
图3示出了根据本申请又一个实施例的内存故障的处理方法流程图。
图4示出了根据本申请一个实施例的内存故障的处理装置的一种框图。
图5是本申请实施例的用于执行根据本申请实施例的内存故障的处理方法的移动终端的框图。
图6是本申请实施例的用于保存或者携带实现根据本申请实施例的内存故障的处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着移动终端的快速发展,移动终端的配置越来越高,移动终端的内存也不断的更新换代。目前,大多数移动终端为了运行性能,采用了基于低功耗双倍数据速率存储(LPDDR,Low Power Double Data Rate)的内存。并且,通常将LPDDR内存作为主存。LPDDR内存具有低功耗、高速率和体积小的特点,被广泛用于移动终端。
移动终端在采用LPDDR内存的同时,也给移动终端运行的稳定性和可靠性上带来了隐患。这是因为大部分系统可靠性问题都是由于LPDDR没有连续提供正确并且可靠的计算能力导致,常见的故障是用户层面的偶现死机,重启,应用闪退,野指针等。
针对上述问题,发明人提出了本申请实施例提供的内存故障的处理方法、装置、移动终端以及存储介质,可以在发生内存故障时,内存对内存故障进行处理后,如果内存仍然处于内存异常状态的情况,对内存故障对应的内存单元进行替换,有效降低内存故障引起的移动终端运行时的故障。其中,具体的内存故障的处理方法在后续的实施例中进行详细的说明。
下面对本申请实施例提供的内存故障的处理方法所应用的移动终端进行介绍。本申请实施例提供的移动终端可以包括ARM(Advanced RISC Machines)处理器以及LPDDR内存。其中,ARM处理器可以作为移动终端的主处理器,LPDDR内存可以作为移动终端的主存。ARM处理器可以为v8.0版本以上的处理器并支持扩展功能RAS架构,LPDDR内存可以为LPDDR5内存。
ARM规定了可靠性、可用性和可维护性(RAS,Reliability AvailabilityServiceability)扩展选项,在ARM的v8.0和v8.1版本,RAS是可选项,但是在ARM的v8.2版本的架构已经强制打开,ARM的RAS主要关注于硬件产生的错误。
固态技术协会(JEDEC)定义了LPDDR5的可选功能Link ECC(错误检查和纠正,Error Correcting Code),其用于进行错误纠正和错误报告。其中,ECC的错误纠正中,单个比特(bit)反转能够自动纠正,错误报告记录单个bit错误计数和两个bit错误计数到寄存器中。
因此,移动终端的主存为LPDDR内存,ARM处理器为v8.0版本以上的处理器时,可以利用对ARM的RAS扩展,在RAS中加入对内存故障的处理。从而,在内存可以进行自动纠正和错误报告的基础上,ARM处理器可以对内存故障进一步地处理,提升内存的可靠性,减少移动终端运行时出现故障情况的发生。
请参阅图1,图1示出了本申请一个实施例提供的内存故障的处理方法的流程示意图。在具体的实施例中,所述内存故障的处理方法应用于如图4所示的内存故障的处理装置400以及配置有所述内存故障的处理装置400的移动终端100(图5)。下面将以移动终端为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的移动终端可以为智能手机、平板电脑、智能手表等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述内存故障的处理方法具体可以包括以下步骤:
步骤S110:在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果。
在本申请实施例中,移动终端可以对内存故障出现的情况进行检测,并在内存出现故障时,获取内存对内存故障的处理结果。其中,内存故障可以指内存由于没有连续提供正确并且可靠的计算能力,所导致的故障,例如数据存储错误、数据读取错误等。在一些方式中,移动终端可以通过查看内存情况的命令,查看内存情况,并确定内存是否出现内存故障。在另一些方式中,移动终端也可以通过内存检测程序,检测内存的状态,以检测到内存出现故障的情况。具体检测内存故障的方式可以不作为限定。
在一些实施方式中,移动终端的内存可以进行错误纠正和错误报告。具体地,可以利用LPDDR5的可选功能Link ECC(错误检查和纠正,Error Correcting Code),进行错误纠正和错误报告。移动终端可以获取错误纠正和错误报告,将获取到的错误纠正和错误报告作为对内存故障的处理结果。
步骤S120:根据所述处理结果,获取所述内存故障的状态。
在本申请实施例中,移动终端在获取到对内存故障的处理结果之后,移动终端可以根据处理结果,确定该内存故障的状态。其中,内存故障的状态可以用于表征该内存故障的处理状态,当前的状态等,内存故障的状态可以用于移动终端对该内存故障进行进一步的处理。
在一些实施方式中,移动终端根据处理结果,可以确定内存故障是否已经被纠正,如果内存故障被纠正,则表示该内存故障已被解决;如果内存故障未被纠正,则表示该内存故障依然存在。另外,移动终端还可以根据处理结果,确定内存故障是否不可恢复,还可以确定内存故障的故障信号量等。其中,内存故障不可恢复的情况可以为不可恢复的硬件故障,以及内存无法进行恢复的故障;故障信号量可以为该内存故障每次发生时产生的信号量,确定的故障信号量可以用于确定内存故障是否连续发生。当然,移动终端确定的内存状态的具体信息可以不作为限定。
步骤S130:如果所述内存故障为内存异常状态,对所述内存故障对应的内存单元进行替换。
在本申请实施例中,移动终端在确定出该内存故障的状态后,移动终端可以根据确定出的内存故障的状态,确定该内存故障是否为内存异常状态。其中,内存异常状态指的是内存故障未解决,且不是不可恢复的硬件故障,也就是说,如果该内存故障未被内存解决,并且能确定出该内存故障不是不可恢复的硬件故障,则可以确定该内存故障为内存异常状态。也可以理解为,在内存无法解决该内存故障的情况下,只要该内存故障不是由于内存的硬件本身的原因导致的不可恢复的故障,则可以将该内存故障看作为内存异常状态。
在本申请实施例中,如果内存故障为内存异常状态时,则移动终端可以进一步对该内存故障进行处理。其中,移动终端可以对该内存故障对应的内存单元进行替换,也就是对故障的内存单元进行替换。移动终端可以对当前使用该故障的内存单元的进程,分配新的内存单元,从而完成对故障的内存单元的替换,保证系统和应用程序的正常运行。
本申请实施例提供的内存故障的处理方法,移动终端通过在检测到内存出现内存故障时,获取内存对该内存故障的处理结果,根据处理结果,获取内存故障的状态,如果该内存故障为内存异常状态,对内存故障对应的内存单元进行替换,从而可以实现在内存对内存故障进行处理后,如果内存仍然处于内存异常状态的情况,对内存故障对应的内存单元进行替换,有效降低内存故障引起的移动终端运行时的故障。
请参阅图2,图2示出了本申请另一个实施例提供的内存故障的处理方法的流程示意图。该内存故障的处理方法应用于上述移动终端,下面将针对图2所示的流程进行详细的阐述,所述内存故障的处理方法具体可以包括以下步骤:
步骤S210:在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果。
在本申请实施例中,步骤S210可以参阅前述实施例的内容,在此不再赘述。
步骤S220:根据所述处理结果,获取所述内存故障的状态。
在本申请实施例中,移动终端的内存对内存故障的处理,可以是利用LPDDR5的可选功能Link ECC(错误检查和纠正,Error Correcting Code),进行错误纠正和错误报告,也就是说处理结果可以为ECC结果和报告。其中,ECC结果和报告可以包括是否对该内存故障进行了故障纠正,以及MR44寄存器、MR45寄存器和MR43寄存器的计数情况。移动终端根据MR44寄存器、MR45寄存器、MR43寄存器的计数情况,可以确定内存故障是否为不可恢复,内存故障信号量等。
在一些实施方式中,上述内存异常状态指的是内存故障未被内存纠正,且非不可恢复的硬件故障的状态,内存异常状态的情况下,移动终端可以进一步地对内存故障进行处理,以消除内存故障对运行的影响。其中,移动终端可以根据处理结果,确定内存故障是否被所述内存进行纠正;如果内存故障未被内存进行纠正,确定内存故障是否为不可恢复的硬件故障;如果内存故障不为不可恢复的硬件故障,则确定内存故障为内存异常状态。可以理解的,如果内存故障未被内存纠正,则表示该内存故障仍未解决,另外,如果内存故障为不可恢复的硬件故障时,硬件故障是无法从软件层面进行修复的,可能需要进行维修处理,因此,在内存故障未被内存纠正的情况下,可以确定该内存故障是否为不可恢复的硬件故障,如果内存故障不为不可恢复的硬件故障,则确定内存故障为内存异常状态。
在该实施方式中,移动终端可以先根据MR44和MR45的计数,进行奇偶校验,并确定发生的内存故障是否可以进行处理,可以理解的,在ECC中,进行奇偶校验可能发现可以处理的内存故障,可以处理的内存故障就会被进行纠正;而不可以处理的内存故障,则就被认为是不可恢复的内存故障。对于根据MR44和MR45的计数,确定出的不可恢复的内存故障,也可以作为内存异常的状态。
移动终端还可以根据MR43的计数,确定是否推迟硬件延迟;如果推迟硬件延迟,则可以确定是否多次推迟硬件延迟,在多次推迟硬件延迟时,则可以确定为不可恢复的硬件故障;如果不是多次推迟硬件延迟,则可以进行信号通知,以生成故障信号量;另外,在非推迟硬件延迟的情况下,也进行信号通知,以生成故障信号量,从而根据累积的故障信号量,确定是否连续发生该内存故障,在连续发生该内存故障的情况下,可以延迟恢复内存故障,从而实现对该内存故障的解决。其中,推迟硬件延迟可以指内存的硬件响应发生延迟。可以理解的,如果多次硬件延迟,则表示该内存故障可能由硬件原因引发,因此确定为不可恢复的硬件故障。如果未发生推迟硬件延迟,则不是硬件原因导致的故障,因此可以进行信号通知,以生成故障信号量。另外,在根据故障信号量,确定内存故障连续发生时,由于并非硬件故障,因此可以尝试延迟恢复,即延迟指定时长后进行故障的处理。通过上述方式,可以确定出内存故障的状态,即内存故障为内存异常的状态、内存故障的故障信号量、以及连续发生内存故障的情况下进行延迟恢复,其中,连续发生内存故障的情况下进行延迟恢复可以作为数据恢复状态,实现了RAS的内存可靠性。
进一步地,移动终端还可以在内存故障为不可恢复的硬件故障时,将该内存故障的状态确定为不可恢复的硬件故障状态;在内存故障被内存进行纠正的情况,则确定内存故障为已恢复状态。
步骤S230:如果所述内存故障为内存异常状态,确定所述内存故障对应的内存单元是否解码正常。
在本申请实施例中,当确定出内存故障为内存异常状态时,移动终端还可以确定内存故障对应的内存单元是否解码正常。其中,移动终端包括内存解码器,内存解码器用于将虚拟内存地址转换为物理地址。利用内存解码器对内存单元进行解码,如果能够解码成功,则表示内存单元解码正常;如果未能解码成功,则表示内存单元解码不正常。
步骤S240:如果所述内存单元解码正常,对所述内存单元进行虚拟内存的替换。
在本申请实施例中,如果内存单元解码正常,表示实际是虚拟内存有故障,因此,该情况下,可以进行内存单元的替换,即替换虚拟内存。从而完成对当前使用该故障的内存单元的进程,分配新的内存单元,保证进程的正常运行。
另外,在内存单元解码不正常时,可以保留当前的内存故障的内存单元,并且进行记录,以方便输出报告,进行售后维护和统计。
在一些实施方式中,如果所述内存单元解码正常,对所述内存单元进行虚拟内存的替换,可以包括:如果所述内存单元解码正常,确定所述内存故障是否为连续发生;如果不为连续发生,对所述内存单元进行虚拟内存的替换。可以理解的,如果内存单元解码正常的情况下,可以进一步确定内存故障是否为连续发生,其中,移动终端可以根据故障信号量,确定是否连续发生,例如故障信号量为多个时,确定内存故障连续发生;如果该内存故障连续发生,根据以上提到的延迟恢复的方式可知,该故障可能已经被解决,因此可以不进行内存单元的替换;而不为连续发生时,则可以进行内存单元的替换,即对内存单元进行虚拟内存的替换。
在一些实施方式中,在内存故障为不可恢复的硬件故障时,移动终端还可以保留内存故障的内存单元,并且进行记录,以方便输出报告,进行售后维护和统计。通过以上对内存故障的内存单元的处理,即可实现RAS的可用性。
另外,在一些实施方式中,移动终端还可以将内存故障、内存故障的状态以及对内存故障对应的内存单元的处理进行记录。具体地,在内存故障被进行纠正的情况时,可以将该内存故障与已恢复状态进行关联存储;在内存故障被进行以上所说的延迟恢复的情况时,可以将该内存故障与已恢复状态进行关联存储;在内存故障为不可恢复的硬件故障状态时,则可以将该内存故障、不可恢复的硬件故障状态以及保留了内存故障的内存单元,进行关联存储;在内存故障为内存异常状态时,则可以将该内存故障、内存异常状态以及对内存单元进行了替换,进行关联存储,或者将该内存故障、内存异常状态以及对内存单元进行了保留,进行关联存储。从而实现将所有的内存故障,其确定出的相应的状态,以及对故障的内存单元的处理,进行完整的记录,记录的信息可以用于输出准确的错误报告、可靠性报告等,方便售后维护和统计,实现RAS的可维护性。
本申请实施例提供的内存故障的处理方法,移动终端通过在检测到内存出现内存故障时,获取内存对该内存故障的处理结果,根据处理结果,获取内存故障的状态,如果该内存故障为内存异常状态,确定内存故障的内存单元是否解码正常,在内存单元解码正常且不是连续发生的内存故障时,才对内存故障对应的内存单元进行替换,从而可以实现在内存对内存故障进行处理后,如果内存仍然处于内存异常状态的情况,对内存故障对应的内存单元进行替换,有效降低内存故障引起的移动终端运行时的故障。
请参阅图3,图3示出了本申请又一个实施例提供的内存故障的处理方法的流程示意图。该内存故障的处理方法应用于上述移动终端。由上述提到的移动终端可知,移动终端内存为基于LPDDR5的内存,且移动终端的处理器包括ARM处理器,ARM处理器的版本在v8.0版本以上。下面结合ARM处理器以及LPDDR5内存,对所述内存故障的处理方法进行介绍,该内存故障的处理方法可以包括以下步骤:
步骤S310:所述ARM处理器在检测到内存出现内存故障时,在EL3异常状态下运行存储控制器的检测程序。
在本申请实施例中,ARM的异常状态的级别分为EL0、EL1、EL2和EL3。已有的ARM的RAS中,通常基于不同级别的异常状态来实现。因此,在实现利用对ARM的RAS扩展,在RAS中加入对内存故障的处理时,也可以基于不同级别的异常状态来实现。具体地,ARM处理器在检测到内存出现内存故障时,可以在EL3异常状态下运行存储控制器的检测程序,以对内存故障进行检查和修正错误。其中,存储控制其可以为DDR控制器。
步骤S320:通过所述检测程序检查所述内存的故障检查和纠正的处理结果。
步骤S330:通过所述检测程序根据所述处理结果,获取所述内存故障的状态。
在本申请实施例中,DDR控制器的检测程序可以检查处理结果,即检查ECC结果和报告情况,并输出内存故障的状态。
步骤S340:如果所述内存故障为内存异常状态,所述ARM处理器将所述内存异常状态作为在EL0或者EL1异常状态,对所述内存故障对应的内存单元进行替换。
在本申请实施例中,ARM处理器在根据以上输出的内存故障的状态,对内存故障进行进一步的处理时,如果内存故障为内存异常状态,ARM处理器将内存异常状态作为在EL0或者EL1异常状态,对内存故障对应的内存单元进行替换,从而可以实现ARM将内存故障作为异常状态进行处理。
在一些实施方式中,对于以上输出的内存故障的状态,ARM处理器也可以将内存故障、内存故障的状态以及对内存故障对应的内存单元的处理进行记录的记录,作为在EL0或者EL1异常状态下进行处理。从而可以实现利用对ARM的RAS扩展,在ARM的RAS中加入对内存故障的处理,实现在内存可以进行自动纠正和错误报告的基础上,ARM处理器可以对内存故障进一步地处理,提升内存的可靠性,减少移动终端运行时出现故障情况的发生。
本申请实施例提供的内存故障的处理方法,通过ARM处理器在检测到内存出现内存故障时,在EL3异常状态下运行存储控制器的检测程序,通过检测程序检查内存的故障检查和纠正的处理结果,通过检测程序检查内存的故障检查和纠正的处理结果,通过检测程序根据处理结果,获取内存故障的状态,如果内存故障为内存异常状态,ARM处理器将内存异常状态作为在EL0或者EL1异常状态,对内存故障对应的内存单元进行替换,从而可以实现利用对ARM的RAS扩展,在ARM的RAS中加入对内存故障的处理,实现在内存可以进行自动纠正和错误报告的基础上,ARM处理器可以对内存故障进一步地处理,提升内存的可靠性,减少移动终端运行时出现故障情况的发生。
请参阅图4,其示出了本申请实施例提供的一种内存故障的处理装置400的结构框图。该内存故障的处理装置400应用上述的移动终端,该内存故障的处理装置400包括:结果获取模块410、状态确定模块420以及故障处理模块430。其中,所述结果获取模块410用于在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果;所述状态确定模块420用于根据所述处理结果,获取所述内存故障的状态;所述结果获取模块430用于如果所述内存故障为内存异常状态,对所述内存故障对应的内存单元进行替换。
在一些实施方式中,故障处理模块430可以包括:解码确定单元以及替换执行单元。其中,解码确定单元用于如果所述内存故障为内存异常状态,确定所述内存故障对应的内存单元是否解码正常;替换执行单元用于如果所述内存单元解码正常,对所述内存单元进行虚拟内存的替换。
在该实施方式中,替换执行单元可以具体用于:如果所述内存单元解码正常,确定所述内存故障是否为连续发生;如果不为连续发生,对所述内存单元进行虚拟内存的替换。
在一些实施方式中,状态确定模块420可以包括:第一确定单元、第二确定单元以及第三确定单元。其中,第一确定单元用于在根据所述处理结果,确定所述内存故障是否被所述内存进行纠正;第二确定单元用于如果所述内存故障未被所述内存进行纠正,确定所述内存故障是否为不可恢复的硬件故障;第三确定单元用于如果所述内存故障不为不可恢复的硬件故障,则确定所述内存故障为内存异常状态。
在该实施方式中,状态确定模块420可以包括:第四确定单元。第四确定单元用于如果所述内存故障为不可恢复的硬件故障,确定所述内存故障为不可恢复的硬件故障状态。该故障处理模块430还可以用于:如果所述内存故障为不可恢复的硬件故障状态,保留所述内存故障对应的内存单元。
在该实施方式中,状态确定模块420还可以包括第五确定单元。第五确定单元用于如果所述内存故障被所述内存进行纠正,则确定所述内存故障为已恢复状态。
在一些实施方式中,该内存故障的处理装置400还可以包括:故障记录模块。故障记录模块用于将所述内存故障、所述内存故障的状态以及对所述内存故障对应的内存单元的处理进行记录。
在一些实施方式中,所述内存为基于第五代低功耗双倍数据速率存储(LPDDR5)的内存,所述移动终端的处理器包括ARM处理器。该内存故障的处理装置400还可以包括:检测程序运行模块。检测程序运行模块用于控制所述ARM处理器在EL3异常状态下运行存储控制器的检测程序。结果获取模块410可以具体用于通过所述检测程序检查所述内存的故障检查和纠正的处理结果。状态确定模块420可以具体用于通过所述检测程序根据所述处理结果,获取所述内存故障的状态。
在该实施方式中,故障处理模块430可以具体用于:如果所述内存故障为内存异常状态,所述ARM处理器将所述内存异常状态作为在EL0或者EL1异常状态,对所述内存故障对应的内存单元进行替换。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请提供的方案,移动终端通过在检测到内存出现内存故障时,获取内存对该内存故障的处理结果,根据处理结果,获取内存故障的状态,如果该内存故障为内存异常状态,对内存故障对应的内存单元进行替换,从而可以实现在内存对内存故障进行处理后,如果内存仍然处于内存异常状态的情况,对内存故障对应的内存单元进行替换,有效降低内存故障引起的移动终端运行时的故障。
请参考图5,其示出了本申请实施例提供的一种移动终端的结构框图。该移动终端100可以是智能手机、平板电脑、智能手表等能够运行应用程序的移动终端。本申请中的移动终端100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个移动终端100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行移动终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),例如,前述实施例中所说的内存;也可以包括只读存储器(Read-OnlyMemory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储移动终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图6,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (9)

1.一种内存故障的处理方法,其特征在于,应用于移动终端,所述方法包括:
在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果;
根据所述处理结果,获取所述内存故障的状态;
如果所述内存故障为内存异常状态,确定利用内存解码器对所述内存故障对应的内存单元解码是否正常,所述内存解码器用于将虚拟内存地址转换为物理地址,所述内存异常状态为所述内存故障未解决,且不是不可恢复的硬件故障;
如果所述内存单元解码正常,确定所述内存故障是否为连续发生;
如果所述内存故障不为连续发生,对所述内存单元进行虚拟内存的替换;
如果所述内存故障为连续发生,不对所述内存单元进行虚拟内存的替换;
如果所述内存单元解码不正常,不对所述内存单元进行虚拟内存的替换,并生成记录信息;
如果所述内存故障为不可恢复的硬件故障,确定所述内存故障为不可恢复的硬件故障状态,并保留所述内存故障对应的内存单元。
2.根据权利要求1所述的方法,其特征在于,所述根据所述处理结果,获取所述内存故障的状态,包括:
根据所述处理结果,确定所述内存故障是否被所述内存进行纠正;
如果所述内存故障未被所述内存进行纠正,确定所述内存故障是否为不可恢复的硬件故障;
如果所述内存故障不为不可恢复的硬件故障,则确定所述内存故障为内存异常状态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述处理结果,获取所述内存故障的状态,还包括:
如果所述内存故障被所述内存进行纠正,则确定所述内存故障为已恢复状态。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
将所述内存故障、所述内存故障的状态以及对所述内存故障对应的内存单元的处理进行记录。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述内存为基于第五代低功耗双倍数据速率存储(LPDDR5)的内存,所述移动终端的处理器包括ARM处理器,获取所述内存的故障检查和纠正的处理结果之前,所述方法还包括:
所述ARM处理器在EL3异常状态下运行存储控制器的检测程序;
获取所述内存的故障检查和纠正的处理结果,以及所述根据所述处理结果,获取所述内存故障的状态,包括:
通过所述检测程序检查所述内存的故障检查和纠正的处理结果;
通过所述检测程序根据所述处理结果,获取所述内存故障的状态。
6.根据权利要求5所述的方法,其特征在于,如果所述内存故障为内存异常状态,对所述内存故障对应的内存单元进行替换,包括:
如果所述内存故障为内存异常状态,所述ARM处理器将所述内存异常状态作为在EL0或者EL1异常状态,对所述内存故障对应的内存单元进行替换。
7.一种内存故障的处理装置,其特征在于,应用于移动终端,所述装置包括:结果获取模块、状态确定模块以及故障处理模块,其中,
所述结果获取模块用于在检测到内存出现内存故障时,获取所述内存对所述内存故障的处理结果;
所述状态确定模块用于根据所述处理结果,获取所述内存故障的状态;
所述故障处理模块用于如果所述内存故障为内存异常状态,确定利用内存解码器对所述内存故障对应的内存单元解码是否正常,所述内存解码器用于将虚拟内存地址转换为物理地址,所述内存异常状态为所述内存故障未解决,且不是不可恢复的硬件故障;如果所述内存单元解码正常,确定所述内存故障是否为连续发生;如果所述内存故障不为连续发生,对所述内存单元进行虚拟内存的替换;如果所述内存故障为连续发生,不对所述内存单元进行虚拟内存的替换;如果所述内存单元解码不正常,不对所述内存单元进行虚拟内存的替换,并生成记录信息;如果所述内存故障为不可恢复的硬件故障,确定所述内存故障为不可恢复的硬件故障状态,并保留所述内存故障对应的内存单元。
8.一种移动终端,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-6任一项所述的方法。
9.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-6任一项所述的方法。
CN202010301268.4A 2020-04-16 2020-04-16 内存故障的处理方法、装置、移动终端及存储介质 Active CN111506460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010301268.4A CN111506460B (zh) 2020-04-16 2020-04-16 内存故障的处理方法、装置、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010301268.4A CN111506460B (zh) 2020-04-16 2020-04-16 内存故障的处理方法、装置、移动终端及存储介质

Publications (2)

Publication Number Publication Date
CN111506460A CN111506460A (zh) 2020-08-07
CN111506460B true CN111506460B (zh) 2023-08-29

Family

ID=71872692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010301268.4A Active CN111506460B (zh) 2020-04-16 2020-04-16 内存故障的处理方法、装置、移动终端及存储介质

Country Status (1)

Country Link
CN (1) CN111506460B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115705262A (zh) * 2021-08-17 2023-02-17 华为技术有限公司 一种内存故障恢复方法、系统以及内存

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508742A (zh) * 2011-11-03 2012-06-20 中国人民解放军国防科学技术大学 面向硬件不可恢复内存故障的内核代码软容错方法
CN102841832A (zh) * 2011-06-24 2012-12-26 鸿富锦精密工业(深圳)有限公司 出错内存条定位系统及方法
CN103019873A (zh) * 2012-12-03 2013-04-03 华为技术有限公司 一种存储器故障单元的替换方法及装置、数据存储系统
CN103092728A (zh) * 2013-01-22 2013-05-08 清华大学 一种非易失性内存的磨损错误恢复方法和装置
CN103631721A (zh) * 2012-08-23 2014-03-12 华为技术有限公司 一种隔离内存中坏块的方法及系统
CN105975377A (zh) * 2016-04-29 2016-09-28 浪潮电子信息产业股份有限公司 一种监控内存的方法及装置
CN109086151A (zh) * 2017-06-13 2018-12-25 中兴通讯股份有限公司 一种服务器上隔离内存故障的方法及装置
CN110532124A (zh) * 2019-09-06 2019-12-03 西安易朴通讯技术有限公司 内存隔离方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7661044B2 (en) * 2007-02-12 2010-02-09 International Business Machines Corporation Method, apparatus and program product to concurrently detect, repair, verify and isolate memory failures
CN103226499B (zh) * 2013-04-22 2016-02-24 华为技术有限公司 一种恢复内部存储器中的异常数据的方法及装置
US9424953B2 (en) * 2013-06-20 2016-08-23 Samsung Electronics Co., Ltd. Semiconductor memory device including repair circuit

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841832A (zh) * 2011-06-24 2012-12-26 鸿富锦精密工业(深圳)有限公司 出错内存条定位系统及方法
CN102508742A (zh) * 2011-11-03 2012-06-20 中国人民解放军国防科学技术大学 面向硬件不可恢复内存故障的内核代码软容错方法
CN103631721A (zh) * 2012-08-23 2014-03-12 华为技术有限公司 一种隔离内存中坏块的方法及系统
CN103019873A (zh) * 2012-12-03 2013-04-03 华为技术有限公司 一种存储器故障单元的替换方法及装置、数据存储系统
CN103092728A (zh) * 2013-01-22 2013-05-08 清华大学 一种非易失性内存的磨损错误恢复方法和装置
CN105975377A (zh) * 2016-04-29 2016-09-28 浪潮电子信息产业股份有限公司 一种监控内存的方法及装置
CN109086151A (zh) * 2017-06-13 2018-12-25 中兴通讯股份有限公司 一种服务器上隔离内存故障的方法及装置
CN110532124A (zh) * 2019-09-06 2019-12-03 西安易朴通讯技术有限公司 内存隔离方法及装置

Also Published As

Publication number Publication date
CN111506460A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US7971112B2 (en) Memory diagnosis method
US8589763B2 (en) Cache memory system
CN102135927B (zh) 一种基于nand flash的系统引导方法和装置
US11977744B2 (en) Memory anomaly processing method and system, electronic device, and storage medium
US10891185B2 (en) Error counters on a memory device
US8812915B2 (en) Determining whether a right to use memory modules in a reliability mode has been acquired
US8140940B2 (en) Method and apparatus for controlling memory
EP2770507A2 (en) Memory circuits, method for accessing a memory and method for repairing a memory
CN115981898A (zh) 一种内存可纠错误处理方法、装置、设备及可读存储介质
US8738989B2 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
CN111506460B (zh) 内存故障的处理方法、装置、移动终端及存储介质
CN114116355A (zh) 内存测试方法、装置及电子设备
CN115705261A (zh) 内存故障的修复方法、cpu、os、bios及服务器
US20120254656A1 (en) Method, apparatus and system for providing memory sparing information
CN116401085A (zh) 内存异常处理方法、设备及存储介质
CN117349057A (zh) 管理纠正的错误的电子设备和电子设备的操作方法
CN115576766A (zh) 闪存管理算法调试方法、系统、设备和可读存储介质
CN115470738A (zh) 功能验证方法及装置、电子设备和存储介质
US11593209B2 (en) Targeted repair of hardware components in a computing device
CN114267402A (zh) 闪存的坏存储单元测试方法、装置、设备及存储介质
CN108829417B (zh) 一种cpld的升级装置、方法、设备及存储介质
CN111966521A (zh) 一种硬件错误的处理方法、处理器、控制器、电子设备及存储介质
KR20210015036A (ko) 호스트 시스템 및 호스트 시스템을 포함하는 컴퓨팅 시스템
CN116483612B (zh) 内存故障处理方法、装置、计算机设备和存储介质
US11861181B1 (en) Triple modular redundancy (TMR) radiation hardened memory system

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