CN109254862B - 自动修复ddr翻转的方法、移动终端和存储介质 - Google Patents
自动修复ddr翻转的方法、移动终端和存储介质 Download PDFInfo
- Publication number
- CN109254862B CN109254862B CN201810955958.4A CN201810955958A CN109254862B CN 109254862 B CN109254862 B CN 109254862B CN 201810955958 A CN201810955958 A CN 201810955958A CN 109254862 B CN109254862 B CN 109254862B
- Authority
- CN
- China
- Prior art keywords
- memory
- ddr
- ram
- physical memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Telephone Function (AREA)
Abstract
本申请中提供了自动修复DDR翻转的方法、移动终端和存储介质,其中,方法包括:监测当前系统及应用程序的运行状态是否正常;若不正常,判断RAM是否存在DDR翻转;若存在,获取所述DDR翻转的第一物理内存地址;将所述第一物理内存地址写入节点,所述节点存在于ROM;重启系统,读取所述节点内的所述第一物理内存地址;根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。本申请通过检测获得DDR翻转的物理内存地址后,将其记录在节点内,并将物理内存地址申请为预留内存,使其无法被系统或应用程序访问,从而实现自动修复DDR翻转。
Description
技术领域
本申请涉及移动通讯技术领域,特别涉及一种自动规避DDR翻转的方法、移动终端和存储介质。
背景技术
DDR全称是DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器),具有双倍速率传输数据的特性,是现有市场上的主流内存规范,被广泛应用于各大芯片组厂商的主流产品。现有的DDR在使用过程中,如果出现DDR翻转情况,会导致当前正在运行的程序崩溃或者业务流程出错,使得用户的工作成果毁于一旦。事后,用户只能通过更换DDR避免再次发生程序崩溃或业务流程出错,无法对出现翻转的DDR进行修复。
发明内容
本申请的主要目的为提供自动规避DDR翻转的方法、移动终端和存储介质,通过检测、识别DDR翻转的物理内存地址,将其记录并申请为预留内存,使其无法被系统或应用程序访问,从而实现自动修复 DDR翻转。
为实现上述目的,本申请提供了一种自动修复DDR翻转的方法包括:
监测当前系统及应用程序的运行状态是否正常;
若不正常,判断RAM是否存在DDR翻转;
若存在,获取所述DDR翻转的第一物理内存地址;
将所述第一物理内存地址写入节点,所述节点存在于ROM;
重启系统,读取所述节点内的所述第一物理内存地址;
根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
进一步的,所述判断RAM是否存在DDR翻转的步骤,包括:
加载DDR测试软件;
输入检测参数到所述DDR测试软件;
根据所述检测参数运行所述DDR测试软件,得到检测结果;
判断所述检测结果是否输出错误信息,所述错误信息包括所述 DDR翻转的第一物理内存地址;
若输出,判定所述RAM存在DDR翻转;
若不输出,判定所述RAM不存在DDR翻转。
进一步的,所述根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存的步骤之前,包括:
检测所述RAM当前的第一可用内存;
判断所述第一可用内存是否小于所述预留内存;
若小于,输出第一报警信息,并仅保持系统运行。
进一步的,所述判断所述第一可用内存是否小于所述预留内存的步骤之后,包括:
若大于,计算所述第一可用内存与所述预留内存的内存差;
判断所述内存差是否小于最大应用内存,所述最大应用内存为应用运行历史的最大内存;
若小于,输出第二报警信息,并禁止运行非必需应用,所述非必需应用由用户预先设定。
进一步的,所述判断所述内存差是否小于最大应用内存的步骤之前,包括:
实时监测所述RAM的应用运行内存,形成历史记录;
根据预设频率,从所述历史记录中选择预设时间段内具有最大值的应用运行内存,设置为所述最大应用内存。
进一步的,所述根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存的步骤之后,包括:
实时监测所述RAM当前的第二可用内存;
判断所述第二可用内存是否小于预设提醒内存,所述预设提醒内存由用户预先设定;
若小于,获取所述RAM的型号;
根据所述RAM的型号搜索相应的商品信息,所述商品信息包括所述RAM的购买链接;
输出所述商品信息到显示界面。
进一步的,所述监测当前系统及应用程序的运行状态是否正常的步骤之前,包括:
判断系统是否正常启动;
若是,读取所述节点,判断所述节点内部是否存在第二物理内存地址,所述第二物理内存地址为预先检测到的DDR翻转的第二物理内存地址;
若存在,根据预设规则将包含所述第二物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
本申请还提供一种移动终端,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
进一步的,所述移动终端还包括显示屏,所述显示屏用于显示所述判断RAM是否存在DDR翻转的结果。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的自动规避DDR翻转的方法、移动终端和存储介质,具有以下有益效果:通过检测获得DDR翻转的物理内存地址后,将其记录在节点内,并将物理内存地址申请为预留内存,使其无法被系统或应用程序访问,从而实现自动修复DDR翻转。
附图说明
图1是本申请一实施例中自动规避DDR翻转的方法的步骤示意图;
图2是本申请一实施例中自动规避DDR翻转的方法的整体流程示意图;
图3是本申请一实施例的移动终端的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种自动修复DDR翻转的方法,包括:
S1:监测当前系统及应用程序的运行状态是否正常;
S2:若不正常,判断RAM是否存在DDR翻转;
S3:若存在,获取所述DDR翻转的第一物理内存地址;
S4:将所述第一物理内存地址写入节点,所述节点存在于ROM;
S5:重启系统,读取所述节点内的所述第一物理内存地址;
S6:根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
移动终端包括但不限于手机,本实施中以手机为例进行说明。手机开机运行后,自动对应系统以及应用程序的运行状态进行监测。如果手机监测到系统或应用程序发生崩溃或出错,那么手机需要对系统或应用程序发生崩溃或出错的原因进行查询。手机自动加载DDR测试软件,例如开源的memtester,高通的QMESA_64等预先存在在手机内部的测试软件。手机通过DDR测试软件对设定的RAM进行内存压力测试,DDR测试软件会输出相应的检测事项的检测数据。手机根据 DDR测试软件的检测结果可以直接判断当前DDR是否存在翻转。如果DDR当前存在翻转,则DDR测试软件的会输出检测到异常的检测事项,并输出相应的出现DDR翻转的第一物理内存地址,比如,输出: workbuf@phys=0x173162748,shadow buf@phys=0x173162748。手机通过DDR测试软件的检测结果得到第一物理内存地址后,将第一物理内存地址写入节点内,节点存在于ROM,在系统重启后会被保存下来。申请预留内存必须在系统刚开始启动时才能实施,因为系统及应用程序在运行过程中已经将RAM内的运行内存占据,无法执行申请预留内存,所以必须重启系统。手机重新开机后,在Linux kernel,即系统内核刚启动时,会先为驱动预留部分内存,此时添加坏地址预存机制,即读取节点,并获得节点内的预先检测到的第一物理内存地址。手机根据预设规则,将包含第一物理内存地址的指定区域,申请为预留内存。比如,将第一物理内存地址开始的4K内存,或者该地址前后2K的物理内存,或者该地址之前的4K的物理内存申请为预留内存。因为内存的基本单位为4K,而DDR翻转的第一物理内存地址在4K的内存里面,但不能对4K的内存进行分割,否则会导致RAM产生内存碎片,可用率降低。申请预留内存后,预留内存被视为已使用内存,Linux的内核不会为预留内存建立页表。而Linux系统中分为用户内存和物理内存,其中用户内存为虚拟内存,与物理内存通过页表进行映射。由于预留内存没有页表,用户内存无法映射到物理内存,因此系统或应用程序在运行时无法访问到预留内存,即出现DDR翻转的区域,不会出现崩溃或运行错误,实现了修复DDR翻转。
进一步的,所述判断RAM是否存在DDR翻转的步骤,包括:
S201:加载DDR测试软件;
S202:输入检测参数到所述DDR测试软件;
S203:根据所述检测参数运行所述DDR测试软件,得到检测结果;
S204:判断所述检测结果是否输出错误信息,所述错误信息包括所述DDR翻转的第一物理内存地址;
S205:若输出,判定所述RAM存在DDR翻转;
S206:若不输出,判定所述RAM不存在DDR翻转
本实施例中,手机对RAM当前的运行状态进行检测时,需要加载相应的DDR测试软件。本实施例中以DDR测试软件为开源的 Memtester为例进行说明。Memtester用于进行内存的压力测试,主要是捕捉内存错误和已知处于很高或者很低的坏位,测试的主要项目有随机值、异或比较、减法、乘法、除法、与或运算等。在开始使用 Memtester开始测试前,需要对先设置检测参数,检测参数包括给定测试内存的大小和次数。手机根据预设,将检测参数自动输入到 Memtester相应的选项内,然后运行该测试软件。Memtester根据检测参数自动对手机系统现有的内存进行随机值、异或比较、减法、乘法、除法、与或运算等项目的测试。预设次数的测试后,Memtester将各个项目的测试结果输出到显示界面。如果各项目的输出结果均为“OK”,则表示给定测试内存正常。如果检测到其中一个或多个项目不正常,则会输出错误信息,错误信息包括DDR翻转的第一物理内存地址,比如:workbuf@phys=0x173162748,shadow buf @phys=0x173162748。手机根据输出的测试结果可以直接判断当前 RAM的运行状态,即是否出现翻转。
进一步的,参照图2,所述根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存的步骤之前,包括:
S7:检测所述RAM当前的第一可用内存;
S8:判断所述第一可用内存是否小于所述预留内存;
S9:若小于,输出第一报警信息,并仅保持系统运行。
本实施例中,手机在申请预留内存之前,需要对RAM当前的第一可用内存进行检测,该第一可用内存为总的可用内存减去当前系统的正常运行内存。手机将检测得到的第一可用内存与需要申请的预留内存进行比较,判断第一可用内存是否小于预留内存。如果第一可用内存小于预留内存,则说明在完成申请预留内存后,剩余的内存无法供系统正常运行,会导致系统的运行速度下降。因此,手机输出第一报警信息,比如,提示用户当前可用内存过低,需要更换RAM。第一警报信息可以为文字信息,直接显示在手机屏幕;也可以是语音信息,通过手机的扬声器进行播放;还可以是通过闪光灯闪烁进行警示。具体选择哪种形式输出第一警报信息,可以由用户自己设定。同时,不再启动其他应用,仅保持系统运行,避免启动其他应用后使得系统无法运行。
进一步的,判断所述第一可用内存是否小于所述预留内存的步骤之后,包括:
S10:若大于,计算所述可用内存与所述预留内存的内存差;
S11:判断所述内存差是否小于最大应用内存,所述最大应用内存为应用运行历史的最大内存;
S12:若小于,输出第二报警信息,并禁止运行非必需应用,所述非必需应用由用户预先设定。
本实施例中,手机将检测得到的第一可用内存与需要申请的预留内存进行比较,判断第一可用内存是否小于预留内存。若果第一可用内存大于预留内存,则说明至少能够保证系统正常运行。手机需要计算可用内存与预留内存之间的内存差,该内存差为申请预留内存后 RAM中供应用程序运行的内存。手机内部记录有应用运行历史的最大内存,即手机的使用历史中需要供给应用运行的最大内存。如果内存差小于最大应用内存,则说明手机在使用过程中有可能因为应用程序的运行内存不足,占用系统的运行内存,导致系统和应用程序的运行速度下降,甚至卡顿。因此,手机输出相应的第二报警信息,例如,提示用户当前有可能因为打开应用过多导致手机卡顿。第二报警信息的输出方式与上述步骤相同,可以是文字、语音或闪光灯闪烁。同时,自动禁止非必需应用的启动、运行。非必需应用需要用户预先进行选择、设定,以便在后期实施时无需多次重复选择、设置。
进一步的,判断所述内存差是否小于最大应用内存的步骤之前,包括:
S13:实时监测所述RAM的应用运行内存,形成历史记录;
S14:根据预设频率,从所述历史记录中选择预设时间段内具有最大值的应用运行内存,设置为所述最大应用内存。
本实施例中,应用运行内存为同一时间中,所有应用程序所占的运行内存和总和。手机在开机后,实时监测RAM中同一时间中所有应用程序正常运行时所需的应用运行内存,并形成历史记录。根据历史记录,手机可以直接得到预设时间段内的具有最大值的应用运行内存,并根据预设频率,将具有最大值的应用运行内存设置为最大应用内存。比如,用户预先设置每周重置一次最大应用内存。那么,手机根据设置,会在重置日之前的一周的历史记录中,挑选最大值的应用运行内存作为最大应用内存。预设频率和预设时间段可以由用户自己设定,因为用户在不同的时间段,手机的应用运行内存可能会有所变化,重置的频率也有所不同。
进一步的,根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存的步骤之后,包括:
S15:实时监测所述RAM当前的第二可用内存;
S16:判断所述第二可用内存是否小于预设提醒内存,所述预设提醒内存由用户预先设定;
S17:若小于,获取所述RAM的型号;
S18:根据所述RAM的型号搜索相应的商品信息,所述商品信息包括所述RAM的购买链接;
S19:输出所述商品信息到显示界面。
本实施例中,手机内预先设置有预设提醒内存,该预设提醒内存用于与RAM当前的可用内存进行比较,便于实施相应的提醒动作。手机在申请预留内存,并且正常运行系统和相应的应用程序后,实时监测RAM当前的第二可用内存。第二可用内存为RAM当前除去系统和应用程序正常运行所需的运行内存以及预留内存后剩下的可用内存。然后,将第二可用内存与预设提醒内存进行比较,如果第二可用内存小于预设提醒内存,则说明手机可能会有可用内存不足的情况出现。因此,根据预先的设定,手机可以从配置记录直接获取RAM的型号,并通过购物应用或者搜索应用,得到相应的商品信息,比如 RAM的购买链接,RAM当前不同规格的价格,提供更换服务的服务场所地址及联系方式等。并且可以根据购物软件中对该商品的评价,选择输出好评较高的商品信息到显示界面,以便用户及时更换RAM,避免因为可用内存不足导致系统或应用程序无法正常运行。商品信息的输出方式与上述步骤相同,可以是文字、语音,根据信息的类型通过相应的装置进行输出。
进一步的,所述监测当前系统及应用程序的运行状态是否正常的步骤之前,包括:
S20:判断系统是否正常启动;
S21:若是,读取所述节点,判断所述节点内部是否存在第二物理内存地址,所述第二物理内存地址为预先检测到的DDR翻转的第二物理内存地址;
S22:若存在,根据预设规则将包含所述第二物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
本实施例中,手机在每次系统正常启动后,即正常开机后,都需要先对节点进行读取,判断节点内部是否存在第二物理内存地址。因为对应DDR翻转的预留内存为运行内存,存在于RAM中,在每次手机关机后都会被撤销,没法被保存。而节点设置在ROM中,能够实现断电保存,因此,将出现DDR翻转的第二物理内存地址以文本信息写入节点后,便于下次开机后直接根据第二物理内存地址申请预留内存,而不是在等到系统或者应用程序出现出错或者崩溃后,再进行检测、重启,能够有效提高效率。手机根据预设规则,将包含第二物理内存地址的指定区域,申请为预留内存。比如,将第二物理内存地址开始的4K内存,或者该地址前后2K的物理内存,或者该地址之前的 4K的物理内存申请为预留内存。因为内存的基本单位为4K,而DDR 翻转的第二物理内存地址在4K的内存里面,但不能对4K的内存进行分割,否则会导致DDR损坏。由于预留内存没有页表,因此用户内存无法映射到出现DDR翻转的第二物理内存,从而不会出现系统或应用程序运行错误。
本实施例中的一种自动修复DDR翻转的方法,通过检测获得 DDR翻转的物理内存地址后,将其记录在节点内,并将物理内存地址申请为预留内存,使其无法被系统或应用程序访问,从而实现自动修复DDR翻转。
参照图3,本申请实施例中还提供一种移动终端,该移动终端可以是服务器,其内部结构可以如图3所示。该移动终端包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该移动终端设计的处理器用于提供计算和控制能力。该移动终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该移动终端的数据库用于存储测试数据表等数据。该移动终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动修复DDR的翻转方法。
上述处理器执行上述自动修复DDR翻转的方法的步骤:
监测当前系统及应用程序的运行状态是否正常;
若不正常,判断RAM是否存在DDR翻转;
若存在,获取所述DDR翻转的物理内存地址;
将所述物理内存地址写入节点内,所述节点存在于ROM;
重启系统,读取所述节点内的物理内存地址;
根据预设规则将包含所述物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
进一步的,移动终端还包括显示屏,所述显示屏用于显示所述判断RAM是否存在DDR翻转的结果。
移动终端包括但不限于手机,本实施例以手机为例。手机在上述步骤中,自动载入DDR测试软件对RAM进行测试,以此判断RAM是否存在DDR翻转,并将相应的检测事项的检测结果输出在手机屏幕,即移动终端的显示器。另外,手机在后续动作还输出了相应的第一报警信息、第二报警信息和商品信息等以文字或图片显示的信息,均是输出在手机屏幕上,以便用户进行查看。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的移动终端的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种自动修复DDR翻转的方法,具体为:
监测当前系统及应用程序的运行状态是否正常;
若不正常,判断RAM是否存在DDR翻转;
若存在,获取所述DDR翻转的物理内存地址;
将所述物理内存地址写入节点内,所述节点存在于ROM;
重启系统,读取所述节点内的物理内存地址;
根据预设规则将包含所述物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM (SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM (RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种自动修复DDR翻转的方法,其特征在于,包括:
监测当前系统及应用程序的运行状态是否正常;
若不正常,判断RAM是否存在DDR翻转;
若存在,获取所述DDR翻转的第一物理内存地址;
将所述第一物理内存地址写入节点,所述节点存在于ROM;
重启系统,读取所述节点内的所述第一物理内存地址;
根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问;
实时监测所述RAM当前的第二可用内存;
判断所述第二可用内存是否小于预设提醒内存,所述预设提醒内存由用户预先设定;
若小于,获取所述RAM的型号;
根据所述RAM的型号搜索相应的商品信息,所述商品信息包括所述RAM的购买链接;
输出所述商品信息到显示界面。
2.根据权利要求1所述的自动修复DDR翻转的方法,其特征在于,所述判断RAM是否存在DDR翻转的步骤,包括:
加载DDR测试软件;
输入检测参数到所述DDR测试软件;
根据所述检测参数运行所述DDR测试软件,得到检测结果;
判断所述检测结果是否输出错误信息,所述错误信息包括所述DDR翻转的第一物理内存地址;
若输出,判定所述RAM存在DDR翻转;
若不输出,判定所述RAM不存在DDR翻转。
3.根据权利要求1所述的自动修复DDR翻转的方法,其特征在于,所述根据预设规则将包含所述第一物理内存地址的指定区域,申请为预留内存的步骤之前,包括:
检测所述RAM当前的第一可用内存;
判断所述第一可用内存是否小于所述预留内存;
若小于,输出第一报警信息,并仅保持系统运行。
4.根据权利要求3所述的自动修复DDR翻转的方法,其特征在于,所述判断所述第一可用内存是否小于所述预留内存的步骤之后,包括:
若大于,计算所述第一可用内存与所述预留内存的内存差;
判断所述内存差是否小于最大应用内存,所述最大应用内存为应用运行历史的最大内存;
若小于,输出第二报警信息,并禁止运行非必需应用,所述非必需应用由用户预先设定。
5.根据权利要求4所述的自动修复DDR翻转的方法,其特征在于,所述判断所述内存差是否小于最大应用内存的步骤之前,包括:
实时监测所述RAM的应用运行内存,形成历史记录;
根据预设频率,从所述历史记录中选择预设时间段内具有最大值的应用运行内存,设置为所述最大应用内存。
6.根据权利要求1所述的自动修复DDR翻转的方法,其特征在于,所述监测当前系统及应用程序的运行状态是否正常的步骤之前,包括:
判断系统是否正常启动;
若是,读取所述节点,判断所述节点内部是否存在第二物理内存地址,所述第二物理内存地址为预先检测到的DDR翻转的第二物理内存地址;
若存在,根据预设规则将包含所述第二物理内存地址的指定区域,申请为预留内存,所述预留内存无法被访问。
7.一种移动终端,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
8.根据权利要求7所述的一种移动终端,其特征在于,所述移动终端还包括显示屏,所述显示屏用于显示所述判断RAM是否存在DDR翻转的结果。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810955958.4A CN109254862B (zh) | 2018-08-21 | 2018-08-21 | 自动修复ddr翻转的方法、移动终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810955958.4A CN109254862B (zh) | 2018-08-21 | 2018-08-21 | 自动修复ddr翻转的方法、移动终端和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254862A CN109254862A (zh) | 2019-01-22 |
CN109254862B true CN109254862B (zh) | 2022-04-12 |
Family
ID=65049501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810955958.4A Active CN109254862B (zh) | 2018-08-21 | 2018-08-21 | 自动修复ddr翻转的方法、移动终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254862B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110675911B (zh) * | 2019-09-24 | 2021-08-24 | 上海闻泰电子科技有限公司 | Ddr修复方法、装置、终端和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2604732Y (zh) * | 2003-01-27 | 2004-02-25 | 邱明哲 | 修复内存部分数据区域发生故障的结构 |
CN101937398A (zh) * | 2010-09-14 | 2011-01-05 | 中兴通讯股份有限公司 | 嵌入式系统内存池配置方法及装置 |
CN103631721A (zh) * | 2012-08-23 | 2014-03-12 | 华为技术有限公司 | 一种隔离内存中坏块的方法及系统 |
CN105260280A (zh) * | 2015-09-23 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种检测服务器中传感器的方法及装置 |
CN106649005A (zh) * | 2016-09-30 | 2017-05-10 | 郑州云海信息技术有限公司 | 基于shell的内存ras特性自动化压力测试方法 |
CN106681933A (zh) * | 2016-11-16 | 2017-05-17 | 深圳市金立通信设备有限公司 | 一种内存管理方法及终端 |
CN106775968A (zh) * | 2016-11-29 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种服务器测试方法、装置及系统 |
CN108132841A (zh) * | 2017-12-11 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种基于Linux系统的设备的内存分配方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370238B2 (en) * | 2003-10-31 | 2008-05-06 | Dell Products L.P. | System, method and software for isolating dual-channel memory during diagnostics |
-
2018
- 2018-08-21 CN CN201810955958.4A patent/CN109254862B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2604732Y (zh) * | 2003-01-27 | 2004-02-25 | 邱明哲 | 修复内存部分数据区域发生故障的结构 |
CN101937398A (zh) * | 2010-09-14 | 2011-01-05 | 中兴通讯股份有限公司 | 嵌入式系统内存池配置方法及装置 |
CN103631721A (zh) * | 2012-08-23 | 2014-03-12 | 华为技术有限公司 | 一种隔离内存中坏块的方法及系统 |
CN105260280A (zh) * | 2015-09-23 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种检测服务器中传感器的方法及装置 |
CN106649005A (zh) * | 2016-09-30 | 2017-05-10 | 郑州云海信息技术有限公司 | 基于shell的内存ras特性自动化压力测试方法 |
CN106681933A (zh) * | 2016-11-16 | 2017-05-17 | 深圳市金立通信设备有限公司 | 一种内存管理方法及终端 |
CN106775968A (zh) * | 2016-11-29 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种服务器测试方法、装置及系统 |
CN108132841A (zh) * | 2017-12-11 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种基于Linux系统的设备的内存分配方法及装置 |
Non-Patent Citations (1)
Title |
---|
《内存测试工具memtester》;Younger_China;《http://www.51testing.com/html/85/n-849785.html》;20130805;1 * |
Also Published As
Publication number | Publication date |
---|---|
CN109254862A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6698467B2 (ja) | 電子回路システム及び制御装置の起動方法 | |
US8402204B2 (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
CN107622008A (zh) | 一种应用页面的遍历方法和装置 | |
CN109254862B (zh) | 自动修复ddr翻转的方法、移动终端和存储介质 | |
US7418542B2 (en) | Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program | |
CN109683970A (zh) | 一种服务器fru信息的修改方法、修改系统及相关装置 | |
CN109710286A (zh) | 系统升级方法、装置、设备和存储介质 | |
CN110781026A (zh) | 嵌入式设备数据存储与修复方法、装置和嵌入式设备 | |
CN111739575A (zh) | 存储芯片品质检测方法、装置、设备及可读存储介质 | |
CN113656107A (zh) | 移动应用的加载方法、装置及电子设备 | |
CN106959906B (zh) | 信息处理方法、信息处理装置及电子设备 | |
JP5504604B2 (ja) | Ram診断装置 | |
CN111198725B (zh) | 应用启动的处理方法、计算设备及计算机存储介质 | |
CN104298548A (zh) | 一种信息处理方法及电子设备 | |
US11956656B2 (en) | Device management program and device management method | |
CN105550066A (zh) | 文件系统崩溃的解决方法及系统 | |
CN111158565B (zh) | 一种翻页提示方法、装置、电子设备和存储介质 | |
CN109358794B (zh) | Web应用程序页面刷新方法、装置、计算机设备及存储介质 | |
CN113766554A (zh) | 获取WiFi校准数据的方法、装置及WiFi设备校准测试系统 | |
CN113918384A (zh) | 数据保存方法、装置、设备及存储介质 | |
CN111124459B (zh) | 一种fpga云服务器服务逻辑的更新方法及装置 | |
CN109960769B (zh) | 网页视图的显示方法、装置、计算机设备和存储介质 | |
CN113900843B (zh) | 一种检测修复方法、装置、设备及可读存储介质 | |
CN111008131B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN110716666B (zh) | 自适应触摸屏的处理方法、装置、主控设备及触摸屏设备 |
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 |