CN109669830B - 一种用于内存的物理检测方法及终端设备 - Google Patents
一种用于内存的物理检测方法及终端设备 Download PDFInfo
- Publication number
- CN109669830B CN109669830B CN201811588985.9A CN201811588985A CN109669830B CN 109669830 B CN109669830 B CN 109669830B CN 201811588985 A CN201811588985 A CN 201811588985A CN 109669830 B CN109669830 B CN 109669830B
- Authority
- CN
- China
- Prior art keywords
- memory
- value
- scanning
- module
- flag 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种用于内存的物理检测方法及终端设备,终端设备能够执行该物理检测方法,包括在终端设备上电后的第一阶段进行内存模组的Rank交换,在上电后的第二阶段扫描内存模组的所有存储单元,并根据扫描标志位重启终端设备或显示内存中出现物理损坏的存储单元的物理地址。终端设备通过执行该物理检测方法就能在终端设备的启动过程中检测出终端设备自身的内存的物理损坏情况并显示,从而能够解决现有技术中存在的手机出厂前,需要人工连接检测设备和手机来检测手机内存,由于需要检测的手机数量多,从而手机内存检测消耗的时间长、检测效率低且需要大量人力资源技术问题。
Description
技术领域
本发明涉及计算机硬件检测领域,尤其涉及一种用于内存的物理检测方法及终端设备。
背景技术
在手机出厂前都需要对手机进行检测,防止损坏的手机流入市场。检测手机包括硬件检测和软件检测,而在硬件检测中,内存的物理检测是重要的一步。目前检测手机内存是通过USB(Universal Serial Bus,通用串行总线)协议、利用高通平台的QDUTT软件对内存进行全物理地址的读取数据和写入数据比较。从而目前的手机内存检测时,需要人工逐一将手机通过USB连接安装有QDUTT软件的检测设备,不仅需要大量时间还需要额外的检测设备。因此,现有技术中至少存在如下技术问题:
手机出厂前,需要人工连接检测设备和手机来检测手机内存,由于需要检测的手机数量多,从而手机内存检测消耗的时间长、检测效率低且需要大量人力资源。
发明内容
本发明实施例通过提供一种内存的物理检测方法及终端设备,用于解决现有技术中的手机出厂前,需要人工连接检测设备和手机来检测手机内存,由于需要检测的手机数量多,从而手机内存检测消耗的时间长、检测效率低且需要大量人力资源的技术问题。
第一方面,本发明一实施例提供了一种用于内存的物理检测方法,应用于终端设备,包括:
在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值;
在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址;
根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;或者,根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。从而在终端设备出厂前,负责终端设备的内存检测的工人也只需要对终端设备进行开机操作,终端设备就能检测自身的内存的物理损坏情况,而不需要外接检测设备来检测内存的物理损坏情况。终端设备通过交换内存模组的Rank,扫描固定的预定内存模组的Rank来保证内存中的所有内存模组均完成扫描,提高内存的物理检测的准确率。
可选的,所述扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,具体包括:
将存储于所述闪存中的第一数据分别写入所述所有存储单元中的每个存储单元;
分别读取所述每个存储单元中的第二数据;其中,
所述物理损坏存储单元为所述所有存储单元中读取到的所述第二数据和所述第一数据不相同的存储单元。
可选的,在所述重新启动所述终端设备之前,还包括:
根据存储于闪存中的所述扫描标志位,按照第二预设顺序从所述预设值集合中获取新的值更新所述交换标志位的值;其中,所述第一预设顺序和所述第二预设顺序相同或不同。通过对交换标志位的值进行更新,确保内存中的所有内存模组的Rank都会跟预定内存模组的Rank进行交换,进一步确保在执行本发明的检测方法时能对内存的所有内存模组都进行扫描。
可选的,所述根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,具体包括:
若所述测试标志位的值等于用于表征需要进行测试的值,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元。
可选的,所述根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,具体包括:
若所述扫描标志位的值不等于用于表征所述内存中的所有内存模组均扫描完成的值,重新启动所述终端设备;
所述根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址,具体包括:
若所述扫描标志位的值等于用于表征所述内存中的所有内存模组均扫描完成的值,通过所述终端设备的显示界面显示所有所述物理地址。通过设置扫描标志位,能够进一步保证本发明中的检测方法在内存的所有内存模组都扫描完成后才能执行结束。
第二方面,本发明一实施例提供了一种终端设备,包括:
交换模块,用于在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值;
扫描模块,用于在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址;
重新启动模块,用于根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;显示模块,用于根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。
可选的,所述扫描模块,具体包括:
写入子模块,用于将存储于所述闪存中的第一数据分别写入所述所有存储单元中的每个存储单元;
读取子模块,用于分别读取所述每个存储单元中的第二数据;其中,
所述物理损坏存储单元为所述所有存储单元中读取到的所述第二数据和所述第一数据不相同的存储单元。
可选的,在所述重新启动所述终端设备之前,所述重新启动模块还用于根据存储于闪存中的所述扫描标志位,按照第二预设顺序从所述预设值集合中获取新的值更新所述交换标志位的值;其中,所述第一预设顺序和所述第二预设顺序相同或不同。
可选的,所述扫描模块,还用于若所述测试标志位的值等于用于表征需要进行测试的值,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元。
可选的,所述重新启动模块,具体用于若所述扫描标志位的值不等于用于表征所述内存中的所有内存模组均扫描完成的值,重新启动所述终端设备;
所述显示模块,具体用于若所述扫描标志位的值等于用于表征所述内存中的所有内存模组均扫描完成的值,通过所述终端设备的显示界面显示所有所述物理地址。
第三方面,本发明一实施例提供了一种计算机装置,包括:
至少一个处理器,以及与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面中所述的方法。
第四方面,本发明一实施例提供了一种计算机可读存储介质,包括:
所述计算机可读存储介质上存储有计算机指令,当所述计算机指令被所述计算机装置的至少一个处理器执行时,实现如上述第一方面中所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,终端设备可以执行用于内存的物理检测方法,包括以下步骤:在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元;根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;或者,根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。终端设备通过执行用于内存的物理检测方法可以检测出自身的内存是否存在物理损坏、并能够显示物理损坏信息。因此能够解决现有技术中存在的手机出厂前,需要人工连接检测设备和手机来检测手机内存,由于需要检测的手机数量多,从而手机内存检测消耗的时间长、检测效率低且需要大量人力资源技术问题,达到不需要额外的检测设备就能完成手机内存检测、节省手机内存检测时间、提高检测效率及节省人力资源的技术效果。
附图说明
图1为本发明实施例提供的一种用于内存的物理检测方法的流程示意图;
图2为本发明实施例提供的一种终端设备的结构示意图;
图3为本发明实施例提供的一种计算机装置的物理结构示意图。
具体实施方式
为了解决现有技术问题,本发明实施例中的技术方案的总体思路如下:
提供了一种用于内存的物理检测方法及终端设备,该物理检测方法包括:
在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值;
在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址;
根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;或者,根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。
在本发明实施例中,终端设备可以是手机、电脑、平板电脑等具备内存和芯片的设备;
在终端设备是手机时,手机芯片可以是MTK(Media Tek联发科)芯片、三星猎户座芯片、高通(Qualcomm)骁龙芯片、华为麒麟芯片等,芯片的具体型号在此不做限定;
内存可以是随机存储器(RAM,Random Access Memory),具体可以是DDR(双倍速率同步动态随机存储器,Double Data Rate Synchronous Dynamic Random AccessMemory),DDR目前包括DDR1、DDR2、DDR3和DDR4;
闪存可以是embeded MultiMedia Card,eMMC或Universal Flash Storage,UFS;交换标志位、扫描标志位、测试标志位等信息存储在闪存的某一分区中,该分区由用户选定;
上述列举仅是示意性说明,不作为本发明实施例的具体限定。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参见图1,本发明实施例一提供了一种用于内存的物理检测方法,应用于终端设备,包括以下步骤:
步骤S110,在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值。
步骤S120,在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址。
步骤S130,根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;或者,根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。
首先执行步骤S110,在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值。
一个内存可以包括多个内存模组,每个内存模组对应于一个Rank(也就是每个内存模组的Rank不同);每个内存模组包括多个Bank,每一个Bank可以看作一个存储阵列,所以每个Bank中包括多个存储单元,每个存储单元都是用来存储数据;每个存储单元都可以用行和列来表示,例如一个存储单元位于第5行第8列。
终端设备上电即为用户启动该终端设备或用户重新启动该终端,例如,用户长按电源键,重新启动手机,从而手机上电。终端设备上电后的第一阶段是处于终端设备开机过程中的一个阶段,例如,手机芯片是MTK芯片,则该手机上电后的第一阶段就是Preloader阶段;若手机芯片是高通芯片,则该手机上电后的第一阶段就是SBL或XBL阶段。
在终端设备上电后的第一阶段会读取存储在闪存中的交换标志位的值(Swap值),该交换标志位的值与内存的Rank有关,例如,内存共有4个Rank,分别是Rank0、Rank1、Rank2和Rank3(对应的内存模组分别是模组1、模组2、模组3和模组4),对应的Swap值分别是00、01、10和11。在读取到Swap值之后,该Swap值对应的内存模组的Rank和内存中预定内存模组的Rank进行交换。预定内存模组的Rank是预先选定,例如,内存中共有3个内存模组(内存模组的Rank分别是Rank0、Rank1和Rank2),则预定内存模组的Rank可以是Rank0、Rank1或Rank2,也就是说预定内存模组可以选择内存中的任一个内存模组。以内存共有两个内存模组为例(Rank0和Rank1),预定内存模组为Rank1,Swap值为00,该00对应的内存模组是Rank0,Swap值对应的内存模组的Rank和内存中预定内存模组的Rank进行交换也就是将Rank0和Rank1进行交换,交换后的Rank0映射的是模组1,Rank1映射的是模组0。
而Swap值在预定内存模组的Rank与Swap值对应的内存模组的Rank进行交换之后会更新,在预定内存模组的Rank与Swap值对应的内存模组的Rank进行交换之后会更新并不意味着交换完成之后立刻进行更新,而是在交换完成后的某一时刻进行更新,该时刻由用户设定。
具体的更新方式是按照第一预设顺序从预设值集合中获取新的值来更新Swap值,预设值集合包括多个与内存模组对应的值。例如,共有6个内存模组,分别对应的预设值为000、001、010、011、100和101,则预设值集合就包括000、001、010、011、100和101。第一预设顺序是用户提前设定的顺序,例如,第一预设顺序可以是000→001→010→011→100→101→000或101→100→011→010→001→000→101或000→010→011→001→101→100→000或其它初始值和结束值之间无重复取值的预设顺序。第一预设顺序是用来确保本实施例中的物理检测方法执行时,依序进行物理检测可以将所有内存模组的Rank与预定内存模组的Rank都进行一次交换。
进一步的,若Swap值对应的内存模组的Rank和预设内存模组的Rank相同,例如,若Swap值对应的是Rank0,预设内存模组的Rank也是Rank0。交换之后的Rank的映射关系并未发生改变,这种情况下也可以不进行交换,但交换标志位的值仍需要更新。进一步的,在根据交换标志位的值,将内存中的预定内存模组的Rank与内存中与交换标志位的值对应的内存模组的Rank进行交换时,若此时交换标志位的值对应的是Rank0且内存中只有两个内存模组(Rank0和Rank1),则不对预定内存模组的Rank和Rank0进行交换,但交换标志位的值仍需要更新。
执行完步骤S110之后,执行步骤S120,步骤S120为在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址。
具体的,终端设备上电后的第二阶段也处于终端设备的开机过程中的阶段,此时终端设备尚未完成整个开机过程,例如终端设备是手机,手机在上电后的第一阶段和第二阶段均未进入手机的操作系统,手机的屏幕也未显示开机后的界面。对于终端设备的芯片不同,第二阶段可以相同,例如手机芯片是MTK芯片时,第一阶段是Preloader阶段、第二阶段是lk(little kernel)阶段;而对于手机芯片是高通芯片,第一阶段是SBL或XBL阶段、第二阶段也是lk阶段。
可选的,在根据存储于闪存中的测试标志位,扫描预定内存模组的Rank映射的内存模组的所有存储单元时,具体是在读取到测试标志位的值等于用于表征需要进行测试的值之后,再进行扫描。
例如,在该第二阶段中,先读取存储在闪存中的测试标志位,测试标志位的值取值为0或1。测试标志位的值为0表示测试已完成不需要进行测试、该值为1表示测试未完成需要进行测试。在需要测试时,就扫描预定内存模组的Rank映射的内存模组的所有存储单元。此时预定内存模组的Rank此时映射的内存模组不一定是预定内存模组,而是步骤S110中的Swap值对应的内存模组。在每次执行步骤S120时扫描的都是预定内存模组的Rank,而通过步骤S110中的预定内存模组和Swap值对应的内存模组的交换可以保证本实施例中的物理检测方法能够扫描内存中的所有内存模组。
可选的,在扫描预定内存模组的Rank映射的内存模组的所有存储单元时,可以采用以下方法:
将存储于所述闪存中的第一数据分别写入所有存储单元中的每个存储单元;分别读取每个存储单元中的第二数据;其中,物理损坏存储单元为所有存储单元中读取到的第二数据和第一数据不相同的存储单元。
例如,在该第二阶段中的扫描可以是将第一数据分别写入该内存模组的所有存储单元中,对于所有存储单元都写入第一数据;然后再从该内存模组的所有存储单元中分别读取出第二数据;若每一第二数据和第一数据都相同,则该内存模组没有存储单元出现物理损坏;若有读取出的第二数据和第一数据不相同的存储单元,则该存储单元是物理损坏存储单元,也就是无法对该物理损坏存储单元进行正常的读写,无论写入什么数据读取出的数据都是相同的。例如,该内存模组有1024K个存储单元,则写入第一数据的过程进行1024K次,读取第二数据的过程也进行1024K次,若其中有50个第二数据和第一数据不同,则有50个存储单元是物理损坏存储单元。该第一数据是预先存储在闪存中的用于检测内存的物理损坏情况的数据,该第一数据可以包括多组数据也可以只包括一组,具体的数据由用户设定。
若扫描出若干个物理损坏存储单元,则还需获取该物理损坏存储单元的物理地址,在获取物理地址时可以先获取存储单元的逻辑地址,逻辑地址可以用内存模组的Rank、Bank、行和列来表示,在将逻辑地址换算为物理地址。若未扫描出物理损坏存储单元,则该内存模组是没有物理损坏的内存模组。
进一步的,在执行完步骤S120之后,还可以将物理损坏存储单元的物理地址、第一数据和从物理损坏存储单元读取的第二数据分组保存到闪存中,以便后续能够直接调取物理损坏存储单元的信息。
无论是否扫描出物理损坏存储单元,在执行完步骤S120之后,都会继续执行步骤S130,步骤S130为根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;或者,根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。
可选的,扫描标志位的值的不同,可以包括以下情况:
情况1,若所述扫描标志位的值不等于用于表征所述内存中的所有内存模组均扫描完成的值,重新启动所述终端设备;
情况2,若所述扫描标志位的值等于用于表征所述内存中的所有内存模组均扫描完成的值,通过所述终端设备的显示界面显示所有所述物理地址。
具体的,对于上述情况1,先从闪存中读取扫描标志位的值,该扫描标志位可以由交换标志位和测试标识位组成,也可以是另外设置的标志位。例如扫描标志位的第一位是测试标志位,其它位是交换标志位;若交换标志位的取值为00和01,则该扫描标志位的取值为000、001、100和101,000表示扫描已完成,其它三个值表示扫描未完成。在读取到扫描标志位的值之后,若该值表示扫描未完成,则重启该终端设备使得该终端设备重新上电,也就是重新执行步骤S110和步骤S120,直至读取到扫描标志位的值时表示扫描已完成的值才能通过终端设备的显示界面显示所有物理损坏存储单元的物理地址。
而对于上述情况2,在读取到扫描标志位的值时表示扫描已完成的值时,从闪存中获取已经保存的内存中的所有物理损坏存储单元的物理地址,然后将该物理地址通过终端设备的显示界面显示出来。若该内存没有物理损坏存储单元则不会显示物理地址,从而不了解物理损坏相关的工人也能够通过终端设备是否显示了信息才判断该终端设备的内存的物理损坏情况。例如,若工人看到手机屏幕中显示有信息,则该手机就是内存出现物理损坏的手机,可以明显的将该手机从大量没有显示信息的手机中挑出来,以便后续维修。
可选的,交换标志位的值的更新除了在每次交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,还可以在重新启动所述终端设备之前更新。具体为根据存储于闪存中的扫描标志位,按照第二预设顺序从预设值集合中获取新的值更新交换标志位的值;其中,第一预设顺序和第二预设顺序相同或不同。
例如,在确定扫描标志位的值是表示扫描未完成的值,但尚未重新启动终端设备之前,先按照第二预设顺序更新交换标志位的值,第二预设顺序可以和第一预设顺序相同也可以不同,第二预设顺序也是由用户设定的,其形式和第一预设顺序相同,在此不再赘述。
进一步的,除了显示物理损坏存储单元的物理地址之外,还可以显示该终端设备的历史测试次数,也就是该终端设备执行本实施例中的物理测试方法的历史次数。
进一步的,在执行完步骤S130之后,若内存是出现了物理损坏的内存,则该终端设备将一直显示物理损坏存储单元的物理地址。此时,若用户长按音量键(包括音量上键或音量下键)3秒,该终端设备可以正常开机进入操作系统,在进入操作系统之后,可以通过终端设备中安装的老化APP来调取闪存中的内存的物理检测信息,该物理检测信息包括是否进行过物理检测、物理检测结果、物理损坏存储单元的物理地址、第一数据、从物理损坏存储单元中读取的第二数据、物理检测次数等。
参见图2,本发明实施例二提供了一种终端设备200,包括:
交换模块210,用于在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值;
扫描模块220,用于在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址;
重新启动模块230,用于根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;显示模块240,用于根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。
可选的,所述扫描模块220,具体包括:
写入子模块,用于将存储于所述闪存中的第一数据分别写入所述所有存储单元中的每个存储单元;
读取子模块,用于分别读取所述每个存储单元中的第二数据;其中,
所述物理损坏存储单元为所述所有存储单元中读取到的所述第二数据和所述第一数据不相同的存储单元。
可选的,在所述重新启动所述终端设备之前,所述重新启动模块230还用于根据存储于闪存中的所述扫描标志位,按照第二预设顺序从所述预设值集合中获取新的值更新所述交换标志位的值;其中,所述第一预设顺序和所述第二预设顺序相同或不同。
可选的,所述扫描模块220,还用于若所述测试标志位的值等于用于表征需要进行测试的值,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元。
可选的,所述重新启动模块230,具体用于若所述扫描标志位的值不等于用于表征所述内存中的所有内存模组均扫描完成的值,重新启动所述终端设备;
所述显示模块230,具体用于若所述扫描标志位的值等于用于表征所述内存中的所有内存模组均扫描完成的值,通过所述终端设备的显示界面显示所有所述物理地址。
如图3所示,本发明实施例三提供了一种计算机装置300,包括:
至少一个处理器301,以及与所述至少一个处理器连接的存储器302;
其中,所述存储器302存储有可被所述至少一个处理器301执行的指令,所述至少一个处理器301通过执行所述存储器302存储的指令,执行如上述方法实施例中所述的方法的步骤。
可选的,处理器301具体可以包括中央处理器(central processing unit,CPU)、特定应用集成电路(application specific integrated circuit,ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(field programmablegate array,FPGA)开发的硬件电路,可以是基带处理器。
可选的,处理器301可以包括至少一个处理核心。
可选的,该装置还包括存储器302,存储器302可以包括只读存储器(read onlymemory,ROM)、随机存取存储器(random access memory,RAM)和磁盘存储器。存储器302用于存储处理器301运行时所需的数据。
本发明实施例四提供了一种计算机可读存储介质,包括:
所述计算机可读存储介质上存储有计算机指令,当所述计算机指令被所述计算机装置的至少一个处理器执行时,实现如上述实施例一中所述的方法。
上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:
在本发明实施例中,终端设备可以执行用于内存的物理检测方法,包括以下步骤:在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;在所述终端设备上电后的第二阶段,根据存储于所述闪存中的测试标志位,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元;根据存储于所述闪存中的扫描标志位,重新启动所述终端设备,使得所述终端设备重新上电;或者,根据存储于所述闪存中的扫描标志位,通过所述终端设备的显示界面显示所有所述物理地址。终端设备通过执行用于内存的物理检测方法可以检测出自身的内存是否存在物理损坏、并能够显示物理损坏信息。因此能够解决现有技术中存在的手机出厂前,需要人工连接检测设备和手机来检测手机内存,由于需要检测的手机数量多,从而手机内存检测消耗的时间长、检测效率低且需要大量人力资源技术问题,达到不需要额外的检测设备就能完成手机内存检测、节省手机内存检测时间、提高检测效率及节省人力资源的技术效果。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种用于内存的物理检测方法,应用于终端设备,其特征在于,包括:
在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值;
在所述终端设备上电后的第二阶段,若确定存储于所述闪存中的测试标志位表征需要进行测试,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址,其中,所述第一阶段和所述第二阶段是所述终端设备的开机过程中不同的两个阶段;
若确定存储于所述闪存中的扫描标志位表征扫描未完成,则重新启动所述终端设备,使得所述终端设备重新上电;若确定存储于所述闪存中的扫描标志位表征扫描已完成,则通过所述终端设备的显示界面显示所有所述物理地址。
2.如权利要求1所述的方法,其特征在于,所述扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,具体包括:
将存储于所述闪存中的第一数据分别写入所述所有存储单元中的每个存储单元;
分别读取所述每个存储单元中的第二数据;其中,
所述物理损坏存储单元为所述所有存储单元中读取到的所述第二数据和所述第一数据不相同的存储单元。
3.如权利要求1所述的方法,其特征在于,在所述重新启动所述终端设备之前,还包括:
按照第二预设顺序,从所述预设值集合中获取新的值,更新所述交换标志位的值;其中,所述第一预设顺序和所述第二预设顺序相同或不同。
4.如权利要求1所述的方法,其特征在于,所述若确定存储于所述闪存中的测试标志位表征需要进行测试,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,具体包括:
若所述测试标志位的值等于用于表征需要进行测试的值,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元。
5.如权利要求1-4中任一项所述的方法,其特征在于,
所述若确定存储于所述闪存中的扫描标志位表征扫描未完成,则重新启动所述终端设备,具体包括:
若所述扫描标志位的值不等于用于表征所述内存中的所有内存模组均扫描完成的值,重新启动所述终端设备;
所述若确定存储于所述闪存中的扫描标志位表征扫描已完成,则通过所述终端设备的显示界面显示所有所述物理地址,具体包括:
若所述扫描标志位的值等于用于表征所述内存中的所有内存模组均扫描完成的值,通过所述终端设备的显示界面显示所有所述物理地址。
6.一种终端设备,其特征在于,包括:
交换模块,用于在终端设备上电后的第一阶段,根据存储于闪存中的交换标志位的值,将内存中的预定内存模组的Rank与所述内存中与所述交换标志位的值对应的内存模组的Rank进行交换;其中,所述交换标志位的值在每次所述交换完成之后,按照第一预设顺序从预设值集合中获取新的值更新,所述预设值集合中包括多个分别与所述内存中的内存模组对应的值;
扫描模块,用于在所述终端设备上电后的第二阶段,若确定存储于所述闪存中的测试标志位表征需要进行测试,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元,若扫描出所述所有存储单元中存在出现物理损坏的若干个物理损坏存储单元,获取若干个所述物理损坏存储单元各自的物理地址,其中,所述第一阶段和所述第二阶段是所述终端设备的开机过程中不同的两个阶段;
重新启动模块,用于若确定存储于所述闪存中的扫描标志位表征扫描未完成,重新启动所述终端设备,使得所述终端设备重新上电;显示模块,用于若确定存储于所述闪存中的扫描标志位表征扫描已完成,则通过所述终端设备的显示界面显示所有所述物理地址。
7.如权利要求6所述的终端设备,其特征在于,所述扫描模块,具体包括:
写入子模块,用于将存储于所述闪存中的第一数据分别写入所述所有存储单元中的每个存储单元;
读取子模块,用于分别读取所述每个存储单元中的第二数据;其中,
所述物理损坏存储单元为所述所有存储单元中读取到的所述第二数据和所述第一数据不相同的存储单元。
8.如权利要求6所述的终端设备,其特征在于,在所述重新启动所述终端设备之前,所述重新启动模块还用于按照第二预设顺序,从所述预设值集合中,获取新的值更新所述交换标志位的值;其中,所述第一预设顺序和所述第二预设顺序相同或不同。
9.如权利要求6所述的终端设备,其特征在于,所述扫描模块,还用于若所述测试标志位的值等于用于表征需要进行测试的值,扫描所述预定内存模组的Rank映射的内存模组的所有存储单元。
10.如权利要求6-9中任一项所述的终端设备,其特征在于,
所述重新启动模块,具体用于若所述扫描标志位的值不等于用于表征所述内存中的所有内存模组均扫描完成的值,重新启动所述终端设备;
所述显示模块,具体用于若所述扫描标志位的值等于用于表征所述内存中的所有内存模组均扫描完成的值,通过所述终端设备的显示界面显示所有所述物理地址。
11.一种计算机装置,其特征在于,包括:
至少一个处理器,以及与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质上存储有计算机指令,当所述计算机指令被所述计算机装置的至少一个处理器执行时,实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811588985.9A CN109669830B (zh) | 2018-12-25 | 2018-12-25 | 一种用于内存的物理检测方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811588985.9A CN109669830B (zh) | 2018-12-25 | 2018-12-25 | 一种用于内存的物理检测方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669830A CN109669830A (zh) | 2019-04-23 |
CN109669830B true CN109669830B (zh) | 2022-04-22 |
Family
ID=66147570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811588985.9A Active CN109669830B (zh) | 2018-12-25 | 2018-12-25 | 一种用于内存的物理检测方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669830B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262840B (zh) * | 2019-06-17 | 2023-01-10 | Oppo广东移动通信有限公司 | 设备启动监控方法及相关产品 |
CN112162709A (zh) * | 2020-10-30 | 2021-01-01 | 深圳忆联信息系统有限公司 | 查询数据正确性的方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007033614A1 (fr) * | 2005-09-25 | 2007-03-29 | Netac Technology Co., Ltd. | Procede de gestion de donnees dans un support de memoire flash |
CN104575612A (zh) * | 2015-01-28 | 2015-04-29 | 中科创达软件股份有限公司 | 一种内存测试方法和系统 |
CN104699555A (zh) * | 2013-12-09 | 2015-06-10 | 研祥智能科技股份有限公司 | 内存模组ecc功能验证方法、装置及其产品 |
CN105589770A (zh) * | 2015-07-20 | 2016-05-18 | 杭州昆海信息技术有限公司 | 一种故障检测的方法和装置 |
CN107451051A (zh) * | 2017-06-29 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种Linux下进行服务器内存诊断的方法 |
-
2018
- 2018-12-25 CN CN201811588985.9A patent/CN109669830B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007033614A1 (fr) * | 2005-09-25 | 2007-03-29 | Netac Technology Co., Ltd. | Procede de gestion de donnees dans un support de memoire flash |
CN104699555A (zh) * | 2013-12-09 | 2015-06-10 | 研祥智能科技股份有限公司 | 内存模组ecc功能验证方法、装置及其产品 |
CN104575612A (zh) * | 2015-01-28 | 2015-04-29 | 中科创达软件股份有限公司 | 一种内存测试方法和系统 |
CN105589770A (zh) * | 2015-07-20 | 2016-05-18 | 杭州昆海信息技术有限公司 | 一种故障检测的方法和装置 |
CN107451051A (zh) * | 2017-06-29 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种Linux下进行服务器内存诊断的方法 |
Non-Patent Citations (1)
Title |
---|
"基于USB总线的内存测试模块设计";程瑶;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20170228(第02期);第I137-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109669830A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046644B2 (en) | DRAM testing method | |
CN105630465B (zh) | 应用于终端的显示屏参数设置方法及终端 | |
CN102135927B (zh) | 一种基于nand flash的系统引导方法和装置 | |
CN109684125B (zh) | 一种修复ddr物理损坏的方法、装置、设备及存储介质 | |
CN109669830B (zh) | 一种用于内存的物理检测方法及终端设备 | |
CN111145826B (zh) | 一种存储器内建自测试方法、电路及计算机存储介质 | |
CN101576603A (zh) | 测试装置 | |
US20140365837A1 (en) | Test apparatus and method for testing server | |
CN116521429A (zh) | 资产信息的上报方法及装置、存储介质及电子设备 | |
CN113590511A (zh) | 一种带宽降速修复方法、装置及电子设备 | |
US9786373B2 (en) | EEPROM backup method and device | |
CN109683983B (zh) | 一种镜像文件的生成及加载方法、设备 | |
CN113190241B (zh) | 数据分区的容量扩充方法、装置、电子设备、存储介质 | |
CN108364670B (zh) | 读写压力测试方法、装置、设备及存储介质 | |
CN107291501B (zh) | 一种系统快速启动方法及电子设备 | |
CN113160876A (zh) | Dram测试方法、装置、计算机可读存储介质及电子设备 | |
CN108600042B (zh) | 电子设备的WiFi测试方法及装置、存储介质、测试设备 | |
CN114327258B (zh) | 一种固态硬盘处理方法、系统、设备及计算机存储介质 | |
CN115359828A (zh) | 一种服务器固件刷新方法、装置、终端及存储介质 | |
CN115116511A (zh) | 功耗预测方法、装置、设备及存储介质 | |
CN109299018B (zh) | 一种Flash存储器中历史数据的读取方法及装置 | |
CN101887372B (zh) | 在基本输入输出系统中内建配置显示功能的方法 | |
US20040179016A1 (en) | DRAM controller with fast page mode optimization | |
CN105094935A (zh) | 一种在电子设备中写固件的方法及电子设备 | |
US20230122719A1 (en) | Memory accesses |
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 |