CN110675911B - Ddr修复方法、装置、终端和存储介质 - Google Patents

Ddr修复方法、装置、终端和存储介质 Download PDF

Info

Publication number
CN110675911B
CN110675911B CN201910903911.8A CN201910903911A CN110675911B CN 110675911 B CN110675911 B CN 110675911B CN 201910903911 A CN201910903911 A CN 201910903911A CN 110675911 B CN110675911 B CN 110675911B
Authority
CN
China
Prior art keywords
ddr
terminal
scanning
data
bit
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
CN201910903911.8A
Other languages
English (en)
Other versions
CN110675911A (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.)
Shanghai Wingtech Electronic Technology Co Ltd
Original Assignee
Shanghai Wingtech Electronic 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 Shanghai Wingtech Electronic Technology Co Ltd filed Critical Shanghai Wingtech Electronic Technology Co Ltd
Priority to CN201910903911.8A priority Critical patent/CN110675911B/zh
Publication of CN110675911A publication Critical patent/CN110675911A/zh
Application granted granted Critical
Publication of CN110675911B publication Critical patent/CN110675911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种DDR修复方法、装置、终端和存储介质,其中,方法包括:响应于对终端进行的预设操作,对所述终端内的DDR进行扫描;根据扫描结果判断所述DDR是否存在位反转;若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复。本发明实施例通过终端自身完成对DDR的扫描与修复,避免了将发生位反转的DDR拆卸并寄给厂商进行扫描修复,提升了修复效率。

Description

DDR修复方法、装置、终端和存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种DDR修复方法、装置、终端和存储介质。
背景技术
DDR全称是DDR SDRAM(Double Data Rate Synchronous Dynamic Random AccessMemory,双倍速率同步动态随机存储器),具有双倍速率传输数据的特性,是现有市场上的主流内存规范,被广泛应用于各大芯片组厂商的主流产品。现有的DDR在使用过程中,如果DDR出现位反转(bit flip),会导致手机不能正常开机,用户无法继续使用手机的问题。其中,位反转是指由于硬件的内在特性,其中某个bit位变化,例如从1变成0。
目前,针对DDR的位反转问题,现有的处理方法是通过使用MTK的工具flash tool进行扫描,并在定位到DDR的位反转问题后,将芯片取下寄给厂商进行修复。然而这种方式仍存在一定不足:flash tool工具扫描问题的准确性差、而且只能寄给厂商而无法自动修复DDR的位反转问题,影响工作效率,使得用户体验差。
发明内容
本发明实施例提供一种DDR修复方法、装置、终端和存储介质,以达到准确扫描DDR位反转问题,并自动修复DDR位反转问题的目的。
第一方面,本发明实施例提供了一种DDR修复方法,该方法包括:
响应于对终端进行的预设操作,对所述终端内的DDR进行扫描;
根据扫描结果判断所述DDR是否存在位反转;
若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复。
可选的,在一个实施方式中,所述预设操作包括:
在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者
在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入预设模式的操作,其中,所述DDR测试标志位数据用于表示所述终端的DDR需要进行扫描测试。
可选的,在对所述终端内的DDR进行扫描之前,所述方法还包括:
根据预设分区内的存储数据,判断所述DDR是否做过修复,其中,所述存储数据至少包括标志DDR修复结果的标志数据;
若否,则执行对所述终端内的DDR进行扫描的操作;
若是,则判断修复结果,并在确定修复结果为成功时执行对所述终端的DDR进行扫描的操作。
可选的,对终端内的DDR进行扫描,包括:
将原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的原始测试数据,得到第一目标测试数据;
将所述第一目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
可选的,对终端内的DDR进行扫描,还包括:
将取反后的原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的取反后的原始测试数据,得到第二目标测试数据;
将所述目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
可选的,对所述DDR进行修复,包括:
获取所述DDR发生位反转的位的物理地址,并根据所述物理地址确定发生位反转的存储块;
响应于用户输入的修复指令,修复所述存储块。
可选的,在对所述DDR进行修复之后,所述方法还包括:
将表征修复结果的标志数据写入预设分区;而且
如果修复成功,则对所述终端内的DDR进行二次扫描,并在二次扫描结束后清除所述DDR测试标志位数据,以退出DDR修复过程;
如果修复失败,则直接清除所述DDR测试标志位数据,以退出DDR修复过程。
第二方面,本发明实施例还提供了一种DDR修复装置,该装置包括:
扫描模块,用于响应于对终端进行的预设操作,对所述终端内的DDR进行扫描;
判断模块,用于根据扫描结果判断所述DDR是否存在位反转;
修复模块,用于若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复。
可选的,所述预设操作包括:
在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者
在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入预设模式的操作,其中,所述DDR测试标志位数据用于表示所述终端的DDR需要进行扫描测试。
可选的,所述装置还包括修复判断模块,用于:
根据预设分区内的存储数据,判断所述DDR是否做过修复,其中,所述存储数据至少包括标志DDR修复结果的标志数据;
若否,则通知所述扫描模块执行对所述终端内的DDR进行扫描的操作;
若是,则判断修复结果,并在确定修复结果为成功时通知所述扫描模块执行对所述终端内的DDR进行扫描的操作。
可选的,所述扫描模块包括第一扫描单元,用于:
将原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的原始测试数据,得到第一目标测试数据;
将所述第一目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
可选的,所述扫描模块还包括第二扫描单元,用于:
将取反后的原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的取反后的原始测试数据,得到第二目标测试数据;
将所述目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
可选的,修复模块包括:
定位单元,用于获取所述DDR发生位反转的位的物理地址,并根据所述物理地址确定发生位反转的存储块;
修复单元,用于响应于修复指令,修复所述存储块。
可选的,所述装置还包括:
写数据模块,用于将表征修复结果的标志数据写入预设分区;
第一后处理模块,用于如果修复成功,则对所述终端内的DDR进行二次扫描,并在二次扫描结束后清除所述DDR测试标志位数据,以退出DDR修复过程;
第二后处理模块,用于如果修复失败,则直接清除所述DDR测试标志位数据,以退出DDR修复过程。
第三方面,本发明实施例还提供了一种终端,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的DDR修复方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的DDR修复方法。
本发明实施例通过响应于对终端进行的预设操作,对终端内的DDR进行扫描,以判断DDR是否存在位反转;若存在,则重启终端,并在重启过程中的预加载阶段对DDR进行修复。由此实现了通过终端自身完成对DDR的扫描与修复,避免了将发生位反转的DDR拆卸并寄给厂商进行扫描修复,提升了修复效率。
附图说明
图1为本发明实施例一中的DDR修复方法的流程示意图;
图2是本发明实施例二中的DDR修复方法的流程示意图;
图3是本发明实施例三中的DDR修复装置的结构示意图;
图4是本发明实施例四中的终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的DDR修复方法的流程图,本实施例可适用于由于DDR发生位反转而导致终端故障修复的情况,该方法可以由DDR修复装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成在终端上,例如智能手机或平板电脑等。
如图1所示,所述DDR修复方法具体包括:
S101、响应于对终端进行的预设操作,对终端内的DDR进行扫描。
其中,预设操作包括在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者,在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入预设模式的操作。
具体的,在研发分析阶段,可直接通过指令或快捷键的方式控制终端进入预设模式,并输入DDR扫描指令,使得终端自动扫描DDR,以便分析问题。其中,DDR扫描指令至少包括DDR测试标志位数据,所述DDR测试标志位数据用于表示终端的DDR需要进行扫描测试,预设模式可选的为fastboot模式,其中fastboot模式是一种刷机模式。
在老化测试阶段,也即是在工厂拦截测试场景中,通过对终端进行老化测试的操作时,使得终端自动扫描DDR,避免有问题的终端流入客户手中,减少售后成本,提升用户体验,其中,老化测试是指测试屏幕滑动时延、应用反应速度、IO读写速度等。在具体实现时,可通过老化测试入口向预设分区写入DDR测试标志位数据,例如写入wdst_result_ddr_test_flag=0x01,并通过控制指令(例如reboot fastboot指令)控制终端进入预设模式。在终端进入预设模式后,检测到wdst_result_ddr_test_flag=0x01,则对终端的DDR进行扫描。本发明实施例中,预设分区为proinfo分区,用于存储各类标志数据,例如标志DDR扫描结果的数据,例如是否发生位反转,发生位反转的地址等。
本发明实施例中,由于DDR发生位反转可能是某一bit位的值由1变成0,也可能是由0变成1,因此,为了保证准确扫描DDR中是否存在位反转,首先将测试数据换成64位的原始测试数据,其中原始测试数据可选的为用户预先构建测试数据,例如64位的原始测试数据各个bit位都是1,并对原始测试数据进行取反运算,得到取反后的原始测试数据,例如取反后各个bit位都是0。然后分别利用原始测试数据和取反后的原始测试数据对DDR进行扫描,在进行扫描时,DDR默认擦除,将DDR的所有bit位全部写0,因此利用原始测试数据和取反后的原始测试数据分别写入验证时,保证无论DDR发生位反转的bit位的值是由1变成0,还是由0变成1,都可以快速准确的扫描出来。而且相比于现有的测试工具只能定址32位,通过本发明扫描方式可确保扫描范围更广。具体扫描过程可按照如下步骤进行:
S1.利用原始测试数据对DDR进行扫描时,将原始测试数据依次写入DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取DDR中新写入的原始测试数据,得到第一目标测试数据;
将第一目标测试数据与原始测试数据进行比较,并根据比较结果确定DDR是否存在位反转。
例如,在进行扫描时,DDR默认擦除,将DDR的所有bit位全部写0,此时向DDR中写入64位且各个bit位均为1的原始测试数据,再从DDR中读取数据,并将新读取数据与原始测试数据比较,如果相同,则表明DDR没有发生位反转,如果不同(即新读取的数据中某一位或者几位的值变为0),则表明DDR发生了1变成0的位反转。
S2.利用取反后的原始测试数据对DDR进行扫描时,将取反后的原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取DDR中新写入的取反后的原始测试数据,得到第二目标测试数据;
将目标测试数据与原始测试数据进行比较,并根据比较结果确定DDR是否存在位反转。
例如,在进行扫描时,DDR默认擦除,将DDR的所有bit位全部写0,此时向DDR中写入64位取反后的原始测试数据(即各个bit位为0的数据),再从DDR中读取数据,并将新读取数据与取反后的原始测试数据比较,如果相同,则表明DDR没有发生位反转,如果不同(即新读取的数据中某一位或者几位的值变为1),则表明DDR发生了0变成1的位反转。
在此需要说明的是,确定DDR存在位反转后,确定发生位反转的bit位的地址。同时在对DDR进行扫描结束后,将表征扫描结果的标志数据写入预设分区,例如将是否发生位反转的标志数据以及发生位反转的bit位的地址写入预设分区。
S102、根据扫描结果判断所述DDR是否存在位反转,若存在则执行S103。
本发明实施例中,如果扫描到DDR存在位反转,则需要立即对该DDR进行修复。具体修复过程可按照S103进行。
S103、重启终端,并在重启过程中的预加载阶段对DDR进行修复。
在确定终端的DDR存在位反转后,需要对终端进行重启,并在重启过程中对DDR进行修复。具体的,由于终端重启需要经历两个阶段,第一阶段通常叫预加载阶段(即preloader阶段),该阶段从闪存中加载数据,例如加载c环境、timer、gpio等初始化环境数据;第二阶段通常叫做LK(Little Kernel)阶段,该阶段从DDR中加载数据。因此为了确保能够正常从DDR读取数据位,因此在终端重启的预加载阶段对DDR进行修复。
对DDR进行修复的实质是对发生位反转的bit位进行还原,如某一bit位发生位反转后,该位的值由1变成0,对该位进行修复也即是使得该位的值恢复成1。
作为一种可选的修复方式,可按照如下步骤进行DDR修复:获取DDR发生位反转的位的物理地址,并根据物理地址确定发生位反转的存储块。示例性的,基于发生位反转的bit位的地址,根据物理地址映射表确定发生位反转的bit位的物理地址,根据物理地址确定发生位反转的存储块,其中存储块为DDR的rank,所述rank即为一组内存颗粒。再响应于修复指令,修复所述存储块。也即是针对发生位反转的存储块,通过修复指令对发生位反转的bit位的值进行还原,例如,某一bit位发生有0到1的位反转,根据该bit位的物理地址,生成定址到该bit位的修复指令,并输入0,以将发生反转的1修改为0。
进一步的,在对DDR进行修复后,将表征修复结果的标志数据写入预设分区。而且,如果对DDR修复成功,还需要对DDR进行第二次扫描,以便对修复结果进行验证,具体的扫描过程参见上述。而且在二次扫描结束后清除预设分区中的DDR测试标志位数据,预设分区没有DDR测试标志位数据,终端不会再进行DDR扫描,由此可以退出DDR修复过程,也即是退出预设模式。在此需要说明的是,本申请实施例的DDR修复方法,一次修复一个发生反转的bit位,修复完成后即退出。若扫描到多个反转bit位,则循环上述的修复过程。如果修复失败,则直接清除所述DDR测试标志位数据,以退出DDR修复过程。
作为一种可选的实施方式,还可以将修复结果显示在终端界面上,以便用户直观的了解修复结果。
本发明实施例通过响应于对终端进行的预设操作,对终端内的DDR进行扫描,以判断DDR是否存在位反转;若存在,则重启终端,并在重启过程中的预加载阶段对DDR进行修复。由此实现了通过终端自身完成对DDR的扫描与修复,避免了将发生位反转的DDR拆卸并寄给厂商进行扫描修复,提升了修复效率。
实施例二
图2为本发明实施例二提供的DDR修复方法的流程图,本实施例二在实施例一的基础上,在对所述终端内的DDR进行扫描之前,增加了判断DDR是否做过修复的操作。如图2所示,所述方法包括:
S201、响应于对终端进行的预设操作,根据预设分区内的存储数据,判断DDR是否做过修复,若是,执行S202,若否,执行S203。
其中,预设分区中的存储数据至少包括标志DDR修复结果的标志数据。进一步的,在判断DDR是否做过修复之前,还可以判断根据DDR的标识确定其对应的厂商,由此可实现对特定厂商的DDR进行扫描与修复。
S202、判断DDR修复结果,并在确定修复成功时执行S203。
如果修复结果显示修复成功,再对终端内的DDR进行扫描的操作即可以实现对修复成功状态的验证,也可以扫描是否还存在其他发生位反转的bit位。进一步的,如果修复结果显示修复失败,则表明DDR中存在不可修复的故障,即返回厂家也不能修复成功,此时确定该DDR无法继续正常使用,需要为终端替换新的DDR,因此不需要再进行后续的扫描修复。
S203、对终端内的DDR进行扫描。
具体的扫描过程可参见上述实施例。
S204、根据扫描结果判断DDR是否存在位反转,若存在则执行S205。
S205、重启终端,并在重启过程中的预加载阶段对DDR进行修复。
本发明实施例中,对终端内的DDR进行扫描之前,判断DDR是否做过修复,根据判断结果执行不同操作,可避免对存在不可修复的位反转的DDR重复扫描,而且还可以根据DDR标识实现对特定厂商生产的DDR进行修复。同时通过终端自身进行DDR扫描与修复,提升了修复效率。
实施例三
图3是本发明实施例三中的DDR修复装置的结构示意图。如图3所示,装置包括:
扫描模块301,用于响应于对终端进行的预设操作,对所述终端内的DDR进行扫描;
判断模块302,用于根据扫描结果判断所述DDR是否存在位反转;
修复模块302,用于若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复。
本发明实施例中,判断模块根据扫描模块对终端内的DDR的扫描结果,判断DDR是否存在位反转;若存在,修复模块重启终端,并在重启过程中的预加载阶段对DDR进行修复。由此实现了通过终端自身完成对DDR的扫描与修复,避免了将发生位反转的DDR拆卸并寄给厂商进行扫描修复,提升了修复效率。
在上述实施例的基础上,所述预设操作包括:
在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者
在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入预设模式的操作,其中,所述DDR测试标志位数据用于表示所述终端的DDR需要进行扫描测试。
在上述实施例的基础上,所述装置还包括修复判断模块,用于:
根据预设分区内的存储数据,判断所述DDR是否做过修复,其中,所述存储数据至少包括标志DDR修复结果的标志数据;
若否,则通知所述扫描模块执行对所述终端内的DDR进行扫描的操作;
若是,则判断修复结果,并在确定修复结果为成功时通知所述扫描模块执行对所述终端内的DDR进行扫描的操作。
在上述实施例的基础上,所述扫描模块包括第一扫描单元,用于:
将原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的原始测试数据,得到第一目标测试数据;
将所述第一目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
在上述实施例的基础上,所述扫描模块还包括第二扫描单元,用于:
将取反后的原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的取反后的原始测试数据,得到第二目标测试数据;
将所述目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
在上述实施例的基础上,修复模块包括:
定位单元,用于获取所述DDR发生位反转的位的物理地址,并根据所述物理地址确定发生位反转的存储块;
修复单元,用于响应于修复指令,修复所述存储块。
在上述实施例的基础上,所述装置还包括:
写数据模块,用于将表征修复结果的标志数据写入预设分区;
第一后处理模块,用于如果修复成功,则对所述终端内的DDR进行二次扫描,并在二次扫描结束后清除所述DDR测试标志位数据,以退出DDR修复过程;
第二后处理模块,用于如果修复失败,则直接清除所述DDR测试标志位数据,以退出DDR修复过程。
本发明实施例所提供的DDR修复装置可执行本发明任意实施例所提供的DDR修复方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种终端的结构示意图。图4示出了适于用来实现本发明实施方式的示例性终端12的框图。图4显示的终端12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,终端12以通用计算设备的形式表现。终端12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。终端12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
终端12也可以与一个或多个外部终端14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端12交互的设备通信,和/或与使得该终端12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端12的其它模块通信。应当明白,尽管图中未示出,可以结合终端12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的DDR修复方法,该方法包括:
响应于对终端进行的预设操作,对所述终端内的DDR进行扫描;
根据扫描结果判断所述DDR是否存在位反转;
若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的DDR修复方法,该方法包括:
响应于对终端进行的预设操作,对所述终端内的DDR进行扫描;
根据扫描结果判断所述DDR是否存在位反转;
若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种DDR修复方法,其特征在于,包括:
响应于对终端进行的预设操作,对所述终端内的DDR进行扫描,其中,所述预设操作包括在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者,在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入所述预设模式的操作;
根据扫描结果判断所述DDR是否存在位反转;
若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复,其中,对所述DDR进行修复包括:获取所述DDR发生位反转的位的物理地址,并根据所述物理地址确定发生位反转的存储块;针对所述发生位反转的存储块,通过修复指令对发生位反转的bit位的值进行还原。
2.根据权利要求1所述的方法,其特征在于,所述预设操作包括:
在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者
在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入预设模式的操作,其中,所述DDR测试标志位数据用于表示所述终端的DDR需要进行扫描测试。
3.根据权利要求1所述的方法,其特征在于,在对所述终端内的DDR进行扫描之前,所述方法还包括:
根据预设分区内的存储数据,判断所述DDR是否做过修复,其中,所述存储数据至少包括标志DDR修复结果的标志数据;
若否,则执行对所述终端内的DDR进行扫描的操作;
若是,则判断修复结果,并在确定修复结果为成功时执行对所述终端内的DDR进行扫描的操作。
4.根据权利要求1所述的方法,其特征在于,对终端内的DDR 进行扫描,包括:
将原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的原始测试数据,得到第一目标测试数据;
将所述第一目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
5.根据权利要求1所述的方法,其特征在于,对终端内的DDR进行扫描,还包括:
将取反后的原始测试数据依次写入所述DDR内的不同地址空间,而且每完成一次写入数据的操作后,执行如下操作:
读取所述DDR中新写入的取反后的原始测试数据,得到第二目标测试数据;
将所述目标测试数据与所述原始测试数据进行比较,并根据比较结果确定所述DDR是否存在位反转。
6.根据权利要求2所述的方法,其特征在于,在对所述DDR进行修复之后,所述方法还包括:
将表征修复结果的标志数据写入预设分区;而且如果修复成功,则对所述终端内的DDR进行二次扫描,并在二次扫描结束后清除所述DDR测试标志位数据,以退出DDR修复过程;
如果修复失败,则直接清除所述DDR测试标志位数据,以退出DDR修复过程。
7.一种DDR修复装置,其特征在于,所述装置包括:
扫描模块,用于响应于对终端进行的预设操作,对所述终端内的DDR进行扫描,其中,所述预设操作包括在研发分析阶段,控制所述终端进入预设模式,并输入DDR扫描指令的操作;或者,在老化测试阶段,通过老化测试入口向预设分区写入DDR测试标志位数据,并控制所述终端进入所述预设模式的操作;
判断模块,用于根据扫描结果判断所述DDR是否存在位反转;
修复模块,用于若存在,则重启终端,并在重启过程中的预加载阶段对所述DDR进行修复,其中,对所述DDR进行修复包括:获取所述DDR发生位反转的位的物理地址,并根据所述物理地址确定发生位反转的存储块;针对所述发生位反转的存储块,通过修复指令对发生位反转的bit位的值进行还原。
8.一种终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的DDR修复方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的DDR修复方法。
CN201910903911.8A 2019-09-24 2019-09-24 Ddr修复方法、装置、终端和存储介质 Active CN110675911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910903911.8A CN110675911B (zh) 2019-09-24 2019-09-24 Ddr修复方法、装置、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910903911.8A CN110675911B (zh) 2019-09-24 2019-09-24 Ddr修复方法、装置、终端和存储介质

Publications (2)

Publication Number Publication Date
CN110675911A CN110675911A (zh) 2020-01-10
CN110675911B true CN110675911B (zh) 2021-08-24

Family

ID=69077341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910903911.8A Active CN110675911B (zh) 2019-09-24 2019-09-24 Ddr修复方法、装置、终端和存储介质

Country Status (1)

Country Link
CN (1) CN110675911B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104538061A (zh) * 2013-06-12 2015-04-22 艾沃思宾技术公司 用于修复磁存储器中的复位错误的方法
CN105824719A (zh) * 2016-03-16 2016-08-03 浙江中控技术股份有限公司 一种随机存储器的检测方法及系统
US9472308B1 (en) * 2015-06-01 2016-10-18 SK Hynix Inc. Semiconductor memory device and test method thereof
CN109254862A (zh) * 2018-08-21 2019-01-22 奇酷互联网络科技(深圳)有限公司 自动修复ddr翻转的方法、移动终端和存储介质
CN109542668A (zh) * 2018-10-29 2019-03-29 百富计算机技术(深圳)有限公司 基于nand flash存储器的校验方法、终端设备及存储介质
CN109684125A (zh) * 2018-12-26 2019-04-26 上海创功通讯技术有限公司 一种修复ddr物理损坏的方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452471B2 (en) * 2017-10-11 2019-10-22 Western Digital Technologies, Inc. Non-volatile memory with dynamic write abort detection and recovery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104538061A (zh) * 2013-06-12 2015-04-22 艾沃思宾技术公司 用于修复磁存储器中的复位错误的方法
US9472308B1 (en) * 2015-06-01 2016-10-18 SK Hynix Inc. Semiconductor memory device and test method thereof
CN105824719A (zh) * 2016-03-16 2016-08-03 浙江中控技术股份有限公司 一种随机存储器的检测方法及系统
CN109254862A (zh) * 2018-08-21 2019-01-22 奇酷互联网络科技(深圳)有限公司 自动修复ddr翻转的方法、移动终端和存储介质
CN109542668A (zh) * 2018-10-29 2019-03-29 百富计算机技术(深圳)有限公司 基于nand flash存储器的校验方法、终端设备及存储介质
CN109684125A (zh) * 2018-12-26 2019-04-26 上海创功通讯技术有限公司 一种修复ddr物理损坏的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110675911A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
US8874953B2 (en) System and method of cloud testing and remote monitoring for integrated circuit components in system validation
CN108133732B (zh) 闪存芯片的性能测试方法、装置、设备及存储介质
US9558852B2 (en) Method and apparatus for defect repair in NAND memory device
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
US20210357235A1 (en) Method, device, apparatus for identifying graphics card of gpu server and medium
US20200319987A1 (en) Method for injecting deliberate errors into pcie device for test purposes, apparatus applying method, and computer readable storage medium for code of method
CN111796978B (zh) 一种接口检测方法、装置、系统、设备及存储介质
US10055366B2 (en) Method for data transmission and server for implementing the method
CN104156305A (zh) 一种应用程序测试方法及装置
CN111694684B (zh) 存储设备的异常构造方法、装置、电子设备及存储介质
CN108364670B (zh) 读写压力测试方法、装置、设备及存储介质
US20070005860A1 (en) Interrupt control system and method
CN108228611B (zh) 单据信息抄写方法和装置
CN110675911B (zh) Ddr修复方法、装置、终端和存储介质
CN114765051A (zh) 内存测试方法及装置、可读存储介质、电子设备
CN112133357A (zh) 一种eMMC的测试方法及装置
TWI791254B (zh) 記憶體系統、記憶體系統之控制方法及主機裝置
KR20170079368A (ko) 디버그 정보를 수집하기 위한 디버그 로직을 포함하는 cpu 시스템, 이를 포함하는 컴퓨팅 시스템 및 이의 디버깅 방법
CN107766385B (zh) 一种转换虚拟磁盘文件格式的方法与设备
CN110806981B (zh) 一种应用程序测试方法、装置、设备和存储介质
CN114625584A (zh) 固态硬盘数据传输速率动态转换的测试验证方法和装置
CN110968519A (zh) 一种游戏测试方法、装置、服务器及存储介质
CN113760631A (zh) 页面加载时长确定方法、装置、设备和存储介质
CN109491870A (zh) 一种传感器的接入状态的检测方法及装置
CN110958243A (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