CN117316260A - 一种存储器缺陷的定位方法、装置、计算设备及存储介质 - Google Patents

一种存储器缺陷的定位方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN117316260A
CN117316260A CN202311312402.0A CN202311312402A CN117316260A CN 117316260 A CN117316260 A CN 117316260A CN 202311312402 A CN202311312402 A CN 202311312402A CN 117316260 A CN117316260 A CN 117316260A
Authority
CN
China
Prior art keywords
data
memory
test
read
microcontroller
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.)
Pending
Application number
CN202311312402.0A
Other languages
English (en)
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 CN202311312402.0A priority Critical patent/CN117316260A/zh
Publication of CN117316260A publication Critical patent/CN117316260A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • 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

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本说明书实施例提供了一种存储器缺陷的定位方法、装置、计算设备及存储介质,其中,所述存储器缺陷的定位方法通过外部控制器向被测系统的微控制器发送配置指令,指示微控制器将测试数据写入存储器,并读取所述存储器中接入的所述测试数据作为读取数据,最后根据读取数据和测试数据获取存储器的测试结果的方式,实现了对存储器的测试。通过这种方式获取的测试结果可以包括存储器的缺陷所在位置,实现缺陷的精准定位。

Description

一种存储器缺陷的定位方法、装置、计算设备及存储介质
技术领域
本说明书涉及计算机应用技术领域,具体地说,涉及计算机应用技术领域下的存储器测试技术,更具体地说,涉及一种存储器缺陷的定位方法、装置、计算设备及存储介质。
背景技术
存储器通常用于提供数据的存储空间,可以提供数据读取和存储的功能。存储器是片上系统(System on Chip,SoC)等具有运算能力的系统的重要组成部分,在片上系统等各类系统中,存储器是存储指令和相关数据的关键组成部分,因此,检测存储器是否处于正常的工作状态对于系统正常运行具有重要意义,有必要提供一种存储器缺陷的定位方法,实现对存储器进行测试的目的。
发明内容
本说明书实施例提供了一种存储器缺陷的定位方法、装置、计算设备及存储介质,以实现对存储器进行测试的目的。
为实现上述技术目的,本说明书实施例提供了如下技术方案:
第一方面,本说明书的一个实施方式提供一种存储器缺陷的定位方法,应用于外部控制器,所述外部控制器与待测系统建立有通信连接,所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器,所述存储器缺陷的定位方法包括:
响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
在本实施方式中,通过外部控制器向被测系统的微控制器发送配置指令,指示微控制器将测试数据写入存储器,并读取所述存储器中接入的所述测试数据作为读取数据,最后根据读取数据和测试数据获取存储器的测试结果的方式,实现了对存储器的测试。通过这种方式获取的测试结果可以包括存储器的缺陷所在位置,实现缺陷的精准定位。
在一些实施方式中,所述根据所述读取数据和所述测试数据,获取所述存储器的测试结果包括:
若所述读取数据与所述测试数据不一致,则根据目标数据确定所述存储器的缺陷所在位置,所述目标数据包括所述读取数据中与所述测试数据对应位置的数据不一致的数据,或,所述测试数据中与所述读取数据对应位置的数据不一致的数据。
通过上述方法,可以方便快捷地确定出所述存储器中的缺陷所在位置,有利于提高所述存储器缺陷的定位方法的执行效率。
在一些实施方式中,所述根据目标数据确定所述存储器的缺陷所在位置包括:
对比所述读取数据和所述测试数据中对应位置处的数据,以获得所述目标数据;
根据所述目标数据在所述读取数据或所述测试数据中的位置,确定所述存储器的缺陷所在位置。
通过对比所述读取数据和所述测试数据中对应位置处的数据,可以准确且快速地获取到所述目标数据。
在一些实施方式中,所述微控制器的数量为多个;各所述微控制器与至少一个所述存储器建立有通信连接;
所述向所述微控制器发送携带有测试数据的配置指令包括:
向多个所述微控制器发送携带有所述测试数据的配置指令。
外部控制器可以通过向多个所述微控制器发送携带有所述测试数据的配置指令的方式,控制多个所述微控制器对与多个所述微控制器建立有通信连接的存储器同时进行测试,有利于提高测试效率。
在一些实施方式中,所述微控制器与多个所述存储器连接;
所述配置指令指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据具体用于:
指示所述微控制器将所述测试数据写入多个所述存储器,并读取多个所述存储器中写入的所述测试数据。
微控制器通过内存控制器与多个存储器建立有通信连接,如此,通过所述配置指令可以指示所述微控制器同时对多个所述存储器进行测试数据的存储和读取数据的读取操作,有利于提高对多个存储器的测试效率。
在一些实施方式中,所述配置指令还携带有数据写入个数和地址信息,所述数据写入个数用于指示写入所述存储器中的数据个数,所述地址信息用于指示所述测试数据在所述存储器中的目标存储地址;
所述配置指令指示所述微控制器将所述测试数据写入所述存储器具体用于:
将所述地址信息写入内存控制器的控制寄存器,将所述测试数据写入所述内存控制器的缓存寄存器;
配置所述微控制器的读写控制寄存器为写入模式,并将所述数据写入个数写入所述读写控制寄存器,以指示所述读写控制寄存器根据所述数据写入个数和所述地址信息将所述缓存寄存器中的测试数据写入所述存储器中。
通过数据写入个数配置可以实现对写入存储器中的数据个数的控制,使得整个测试过程更加可控,便于测试人员对存储器中重点位置的重点测试。此外,微控制器中的读写控制寄存器根据所述数据写入个数和所述地址信息将所述缓存寄存器中的测试数据写入所述存储器中,实现通过数据写入个数和地址信息控制测试数据在存储器中的写入数量控制的目的,有利于提高测试的灵活性。
在一些实施方式中,所述配置指令还携带有数据读取个数和地址信息,所述数据读取个数用于指示从所述存储器中读取的数据个数,所述地址信息用于指示所述测试数据在所述存储器中的目标存储地址;
所述配置指令指示所述微控制器读取所述存储器中写入的所述测试数据具体用于:
配置所述微控制器的读写控制寄存器为读取模式,将所述数据读取个数写入所述读写控制寄存器,以指示所述读写控制寄存器根据所述数据读取个数从所述存储器中读取依据所述地址信息存储的所述测试数据。
在本实施方式中,通过配置微控制器的读写控制寄存器的模式以及写入读写控制寄存器的数据读取个数,可以实现对存储于存储器中的测试数据的可控读取,有利于提高测试的灵活性。
第二方面,本说明书的一个实施方式提供一种存储器缺陷的定位装置,应用于外部控制器,所述外部控制器与待测系统建立有通信连接,所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器,所述存储器缺陷的定位装置包括:
测试配置模块,用于响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
测试判断模块,用于根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
第三方面,本说明书实施例提供了一种计算设备,包括:外部控制器和与所述外部控制器建立有通信连接的待测系统;所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器;其中,
所述外部控制器被配置为:响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
在一些实施方式中,所述外部控制器根据所述读取数据和所述测试数据,获取所述存储器的测试结果具体用于:
若所述读取数据与所述测试数据不一致,则根据目标数据确定所述存储器的缺陷所在位置,所述目标数据包括所述读取数据中与所述测试数据对应位置的数据不一致的数据,或,所述测试数据中与所述读取数据对应位置的数据不一致的数据。
在一些实施方式中,所述外部控制器根据所述读取数据和所述测试数据,获取所述存储器的测试结果具体用于:
对比所述读取数据和所述测试数据中对应位置处的数据,以获得所述目标数据;
根据所述目标数据在所述读取数据或所述测试数据中的位置,确定所述存储器的缺陷所在位置。
第四方面,本说明书实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如上述的存储器缺陷的定位方法。
第五方面,本说明书实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现上述的存储器缺陷的定位方法的步骤。
从上述技术方案可以看出,本说明书实施例提供的存储器缺陷的定位方法,通过外部控制器向被测系统的微控制器发送配置指令,指示微控制器将测试数据写入存储器,并读取所述存储器中接入的所述测试数据作为读取数据,最后根据读取数据和测试数据获取存储器的测试结果的方式,实现了对存储器的测试。通过这种方式获取的测试结果可以包括存储器的缺陷所在位置,实现缺陷的精准定位。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本说明书的一个实施方式提供的一种可行的应用场景的系统架构图;
图2为本说明书的一个实施方式提供的另一种可行的应用场景的系统架构图;
图3为本说明书的一个实施方式提供的一种存储器缺陷的定位方法的流程示意图;
图4为本说明书的一个实施方式提供的一种确定目标数据的示意图;
图5为本说明书的一个实施方式提供的一种系统的结构示意图;
图6为本说明书的一个实施方式提供的另一种系统的结构示意图;
图7为本说明书的一个实施方式提供的一种测试数据写入过程的流程示意图;
图8为本说明书的一个实施方式提供的一种测试数据写入以及读取数据读出的流程示意图;
图9为本说明书的一个实施方式提供的又一种系统的结构示意图;
图10为本说明书的一个实施方式提供的一种存储器缺陷的定位装置的结构示意图;
图11为本说明书的一个实施方式提供的一种计算设备的结构示意图。
具体实施方式
除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。
除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
概述
存储器是片上系统(System on Chip,SoC)等系统的重要组成部分,在片上系统中,存储器是存储指令和相关数据的关键组成部分。保障存储器处于正常的工作状态对于系统正常运行具有重要意义。因此,在众多的片上系统等具有运算能力的系统中,通常通过系统测试来检查存储器的状态。
在片上系统等具有计算和存储能力的系统的测试和使用过程中,可能会需要对系统内的存储器进行测试,以保证系统的整体功能正常。例如,在系统出厂前的测试场景或者系统重启后的自检场景中,都可以对系统内的存储器和寄存器进行测试,以确保存储器和寄存器的功能正常。
以片上系统为例,在系统出厂前,可以通过ATE(Automatic Test Equipment,自动测试设备)以针测的方式对系统的存储器进行测试,根据测试结果判断存储器是否正常,若存储器异常,则可及时拦截不良品出厂。而在片上系统投入使用后,存储器也可能会在使用过程中出现异常,因此也可以在系统开机或重启时,对系统中的存储器进行自检,根据自检结果判断存储器是否正常,若存储器异常,则可报错或阻止系统启动,避免使用异常的存储器导致系统运行出现异常。
通过上面的描述可知,对系统的存储器进行测试,对于保障系统性能正常具有重要意义。但发明人通过对相关技术中的存储器存储器缺陷的定位方法进行研究后发现,目前针对存储器进行测试时仅能发现存储器是否异常,无法实现存储器缺陷的定位,无法通过测试帮助缺陷的修复。
为了解决这一问题,发明人通过研究存储器的测试过程发现,可以通过外部控制器向被测系统的微控制器发送配置指令,指示微控制器将测试数据写入存储器,并读取所述存储器中接入的所述测试数据作为读取数据,最后根据读取数据和测试数据获取存储器的测试结果的方式,实现了对存储器的测试。通过这种方式获取的测试结果可以包括存储器的缺陷所在位置,实现缺陷的精准定位。
基于上述的构思,本说明书实施方式提供了一种存储器缺陷的定位方法,下面将结合附图,对本说明书实施方式提供的存储器缺陷的定位方法进行示例性描述。
场景示例
参考图1,图1示出了本说明书实施方式提供的存储器缺陷的定位方法的一种可行的应用场景,该应用场景具体可以是系统10出厂之前的测试场景,ATE20通过探针与系统10内部的微控制器11建立通信连接,微控制器11与内存自测试模块12建立有通信连接。ATE20通过控制微控制器11的模式,来实现对内存自测试模块12测试。内存自测试模块12可以包括内存控制器121以及与内存控制器121建立有通信连接的测试单元122。测试单元中包括待测试的存储器。
参考图2,图2示出了本说明书实施方式提供的存储器缺陷的定位方法的另一种可行的应用场景,该应用场景具体可以是系统10投入使用之后的启动场景,系统10中的微控制器11与计算设备30中的外部控制器31建立有通信连接,微控制器11与内存自测试模块12建立有通信连接。外部控制器31可以通过控制微控制器11的模式,来实现对内存自测试模块12的测试。在一些实施方式中,图1中的ATE20和图2中的外部控制器31均可以称为外部控制器。图1和图2中的系统10均可以为片上系统等具备微控制器11和内存自测试模块12的系统。在图1和图2中,内存自测试模块12可以包括待测试的多个存储器。
示例性方法
以应用于图1或图2中所示的外部控制器为例,本说明书的一个实施方式提供了一种存储器缺陷的定位方法,所述外部控制器与待测系统建立有通信连接,所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器,所述待测系统可以是如图1和图2中所示的系统10,所述内存自测试模块12可以包括与所述微控制器11建立有通信连接的存储器,如图3所示,所述存储器缺陷的定位方法包括:
S301:响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
所述测试操作可以是针对外部控制器的操作,该测试操作可以触发外部控制器向微控制器发送配置指令。在一些实施方式中,所述配置指令可以通过释放所述微控制器的复位信号、调整工作时钟频率等方式将所述微控制器配置为所述调试模式。
所述测试数据可以包括多位二进制数据,所述测试数据包括数据位数可以根据待测试的存储器的存储空间大小而定。在一些实施方式中,所述测试数据包括的数据位数小于待测试的存储器的存储空间能够存储的总位数。在一些实施方式中,所述测试数据包括的数据位数接近或等于待测试的存储器的存储空间能够存储的总位数,以对待测试的存储器进行全面的测试。当测试数据写入所述存储器后,再从所述存储器中将所述测试数据读出,以获得所述读取数据。
举例来说,假设测试数据“00000000 11111111”写入存储器的内存地址“0x00000000”和“0x00000001”,则在读取测试数据时,从内存地址“0x00000000”和“0x00000001”中读取存储的数据即可,将从上述内存地址读取的数据作为所述读取数据。
S302:根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
在读取了上述的读取数据之后,即可根据所述读取数据和所述测试数据进行缺陷所在位置的判断。一般情况下,在存储器各个存储单元均不存在异常时,读取的读取数据应当与存储的所述测试数据一致。如果读取数据与所述测试数据存在不一致的情况,则可根据所述读取数据和所述测试数据进行缺陷所在位置的定位。总的来说,在本实施方式中,通过外部控制器向被测系统的微控制器发送配置指令,指示微控制器将测试数据写入存储器,并读取所述存储器中接入的所述测试数据作为读取数据,最后根据读取数据和测试数据获取存储器的测试结果的方式,实现了对存储器的测试。通过这种方式获取的测试结果可以包括存储器的缺陷所在位置,实现缺陷的精准定位。
为了提供一种简单易行地确定缺陷所在位置的方法,在本说明书的一个实施方式中,所述根据所述读取数据和所述测试数据,获取所述存储器的测试结果包括:
若所述读取数据与所述测试数据不一致,则根据目标数据确定所述存储器的缺陷所在位置,所述目标数据包括所述读取数据中与所述测试数据对应位置的数据不一致的数据,或,所述测试数据中与所述读取数据对应位置的数据不一致的数据。
举例来说,假设测试数据“01010101 10101010”分别写入存储器的内存地址“0x00000000”和“0x00000001”,则在读取测试数据时,从内存地址“0x00000000”和“0x00000001”中读取存储的数据即可,将从上述内存地址读取的数据作为所述读取数据。那么在上述内存地址不存在缺陷的情况下,读取数据应该与测试数据相同,即均为“01010101 10101010”。如果读取数据与测试数据不同,则可以说明存储器中存在缺陷,而根据所述目标数据,即可判断缺陷所在位置。当测试数据为“01010101 10101010”,而读取数据为“10101010 10101010”时,可以测试数据的高八位数据与读取数据的高八位数据不同,则可将测试数据或读取数据的高八位数据作为所述目标数据,所述目标数据在存储器中的存储地址即为所述存储器的缺陷所在位置。
通过上述方法,可以方便快捷地确定出所述存储器中的缺陷所在位置,有利于提高所述存储器缺陷的定位方法的执行效率。
在一个实施方式中,提供了一种具体地确定目标数据的方法,参考图4,所述根据目标数据确定所述存储器的缺陷所在位置包括:
对比所述读取数据和所述测试数据中对应位置处的数据,以获得所述目标数据;
根据所述目标数据在所述读取数据或所述测试数据中的位置,确定所述存储器的缺陷所在位置。
如图4所示,通过对比所述读取数据和所述测试数据中对应位置处的数据,可以准确且快速地获取到所述目标数据。仍然以上述的测试数据为“01010101 10101010”分别写入存储器的内存地址“0x00000000”和“0x00000001”,读取数据为“10101010 10101010”的例子来说,通过对比所述读取数据和所述测试数据中对应位置处的数据的方式可以发现,写入内存地址“0x00000000”的测试数据与从内存地址“0x00000000”中读取到的读取数据不同,则可将相应位置的数据作为所述目标数据。
而目标数据在所述读取数据中的位置,则表征了目标数据从存储器中读取的内存地址;目标数据在测试数据中的位置,则表征了测试数据在存储器中存储的内存地址,这两个内存地址通常是相同的,通过上述的内存地址即可确定所述存储器的缺陷所在位置。在图4所示的例子中,存储器的缺陷所在位置即为“0x00000000”。
为了提高对存储器的测试效率,在一个实施方式中,参考图5,所述微控制器的数量为多个;各所述微控制器与至少一个所述存储器建立有通信连接;
所述向所述微控制器发送携带有测试数据的配置指令包括:
向多个所述微控制器发送携带有所述测试数据的配置指令。
在图5所示的本实施方式中,所述微控制器11的数量为多个,各所述微控制器11通过内存控制器121与至少一个存储器建立有通信连接,如此,外部控制器31可以通过向多个所述微控制器发送携带有所述测试数据的配置指令的方式,控制多个所述微控制器11对与多个所述微控制器11建立有通信连接的存储器同时进行测试,有利于提高测试效率。
在另一个可行的实施方式中,参考图6,所述微控制器与多个所述存储器连接;
所述配置指令指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据具体用于:
指示所述微控制器将所述测试数据写入多个所述存储器,并读取多个所述存储器中写入的所述测试数据。
在本实施方式中,微控制器11通过内存控制器121与多个存储器建立有通信连接,如此,通过所述配置指令可以指示所述微控制器同时对多个所述存储器进行测试数据的存储和读取数据的读取操作,有利于提高对多个存储器的测试效率。
在一些实施方式中,所述配置指令还携带有数据写入个数和地址信息,所述数据写入个数用于指示写入所述存储器中的数据个数,所述地址信息用于指示所述测试数据在所述存储器中的目标存储地址;
所述配置指令指示所述微控制器将所述测试数据写入所述存储器具体用于:
将所述地址信息写入所述内存控制器的控制寄存器,将所述测试数据写入所述内存控制器的缓存寄存器;
配置所述微控制器的读写控制寄存器为写入模式,并将所述数据写入个数写入所述读写控制寄存器,以指示所述读写控制寄存器根据所述数据写入个数和所述地址信息将所述缓存寄存器中的测试数据写入所述存储器中。
通过前文的描述不难发现,在确定所述存储器的缺陷所在位置时,可以通过地址信息来确定测试数据的目标存储地址以及读取数据的读取地址。在本实施方式中,所述配置指令除了需要携带所述测试数据之外,还可以携带所述测试数据的地址信息,所述地址信息可以用于指示所述测试数据在所述存储器中的目标存储地址。微控制器可以根据测试数据和目标存储地址生成存储指令发送给内存自测试单元中的内存控制器,内存控制器根据存储指令中的目标存储地址和测试数据执行测试数据在存储器中的写入操作。相应的,微控制器可以在测试数据写入后,根据所述目标存储地址生成读取指令发送给所述内存控制器,内存控制器根据所述读取指令读取目标存储地址中存储的数据,以获得所述读取数据并返回给所述微控制器。
除了地址信息之外,所述配置指令还可以携带数据写入个数,通过数据写入个数配置可以实现对写入存储器中的数据个数的控制,使得整个测试过程更加可控,便于测试人员对存储器中重点位置的重点测试。
此外,在本实施方式中,给出了一种通过微控制器经测试数据写入存储器的具体方式,参考图7,外部控制器通过配置指令将微控制器的读写控制寄存器配置为写入模式,并将数据写入个数写入所述读写控制寄存器。同时将地址信息和测试数据分别写入与存储器建立有通信连接的内存控制器121的控制寄存器和缓存寄存器中。最后微控制器11中的读写控制寄存器根据所述数据写入个数和所述地址信息将所述缓存寄存器中的测试数据写入所述存储器中,实现通过数据写入个数和地址信息控制测试数据在存储器中的写入数量控制的目的,有利于提高测试的灵活性。
相应的,本说明书的一个实施方式还提供了一种获取读取数据的可行实施方式,参考图8,所述配置指令还携带有数据读取个数和地址信息,所述数据读取个数用于指示从所述存储器中读取的数据个数,所述地址信息用于指示所述测试数据在所述存储器中的目标存储地址;
所述配置指令指示所述微控制器读取所述存储器中写入的所述测试数据具体用于:
配置所述微控制器的读写控制寄存器为读取模式,将所述数据读取个数写入所述读写控制寄存器,以指示所述读写控制寄存器根据所述数据读取个数从所述存储器中读取依据所述地址信息存储的所述测试数据。
在本实施方式中,通过配置微控制器11的读写控制寄存器的模式以及写入读写控制寄存器的数据读取个数,可以实现对存储于存储器中的测试数据的可控读取,有利于提高测试的灵活性。
对于测试的具体可行的过程,本说明书的一个实施方式提供了一种示例性的测试过程,参考图9,在图9中,外部控制器31通过JTAG(Joint Test Action Group,联合测试工作组)总线与微控制器11连接,该测试过程可以包括:
S10:外部控制器31通过JTAG总线写微控制器11的硬件调试模块的使能寄存器,将微控制器配置为测试模式。
S11:外部控制器31通过JTAG总线写内存控制器121中的控制寄存器,将地址信息写入到控制寄存器中;
S12:外部控制器31通过JTAG总线写内存控制器121中的缓存寄存器,将需要写入的测试数据先写到缓存寄存器中;
S13:外部控制器31通过JTAG总线写微控制器11中的硬件调试模块的读写控制寄存器,将写使能打开,且设定好数据写入个数,测试数据开始从缓存寄存器写入到存储器的对应地址中,该对应地址为所述地址信息指示的地址;
S14:外部控制器31通过JTAG总线读取读写控制寄存器,当读写控制寄存器的busy字段拉低时,表示写操作已经完成,读写控制寄存器完成将缓存寄存器中的测试数据写入存储器的地址信息指示的地址中的动作,写入的测试数据个数为步骤S13中设定的数据写入个数。
S15:外部控制器31通过JTAG总线写微控制器11的硬件调试模块的使能寄存器,将微控制器配置为测试模式。
S16:外部控制器31通过JTAG总线写内存控制器121中的控制寄存器,将地址信息写入到控制寄存器中;
S17:外部控制器31通过JTAG总线写微控制器11中的硬件调试模块的读写控制寄存器,将读取使能打开,将数据读取个数写入。
S18:外部控制器31通过JTAG总线读取读写控制寄存器,读写控制寄存器的busy字段拉低时,表示读取操作已经完成,数据都已经到缓存寄存器中了。
S19:外部控制器31通过读取缓存寄存器,获取读取数据,根据读取数据和测试数据,可以获得存储器的缺陷所在位置,实现对于存储器的debug(调试)功能。
示例性装置
在本说明书的一个示例性实施例中,还提供了一种存储器缺陷的定位装置,如图10所示,应用于外部控制器,所述外部控制器与待测系统建立有通信连接,所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器,所述存储器缺陷的定位装置包括:
测试配置模块1001,用于响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
测试判断模块1002,用于根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
关于存储器缺陷的定位装置的具体限定可以参见上文中关于存储器缺陷的定位方法的限定,在此不再赘述。上述存储器缺陷的定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中,也可以以软件形式存储于计算机设备中,以便于处理器或控制器调用执行以上各个模块对应的操作。
示例性计算设备
本申请另一实施例还提出一种计算设备,参见图11所示,本说明书的一个示例性实施例还提供了一种计算设备30,包括:外部控制器31和与所述外部控制器31建立有通信连接的待测系统;所述待测系统包括微控制器11和与所述微控制器11建立有通信连接的存储器;其中,
所述外部控制器31被配置为:响应于测试操作,向所述微控制器11发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
在图11中,系统10即为所述待测系统,所述内存控制器121和与其连接的测试单元可以称为内存自测试模块12。测试单元中可以包括存储器。
在一个可行的实施方式中,所述外部控制器31根据所述读取数据和所述测试数据,获取所述存储器的测试结果具体用于:
若所述读取数据与所述测试数据不一致,则根据目标数据确定所述存储器的缺陷所在位置,所述目标数据包括所述读取数据中与所述测试数据对应位置的数据不一致的数据,或,所述测试数据中与所述读取数据对应位置的数据不一致的数据。
在一个可行的实施方式中,所述外部控制器31根据所述读取数据和所述测试数据,获取所述存储器的测试结果具体用于:
对比所述读取数据和所述测试数据中对应位置处的数据,以获得所述目标数据;
根据所述目标数据在所述读取数据或所述测试数据中的位置,确定所述存储器的缺陷所在位置。
关于计算设备30执行内存自测试的可行执行过程及有益效果,可参考上文中关于存储器缺陷的定位方法的相关描述,本说明书在此不做赘述。
在一些实施方式中,所述外部控制器31可以通过JTAG总线与所述微控制器11建立通信连接。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本说明书方案相关的部分结构的框图,并不构成对本说明书方案所应用于其上的计算设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
示例性计算机程序产品和存储介质
除了上述方法和设备以外,本说明书实施例提供的存储器缺陷的定位方法还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的存储器缺陷的定位方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的存储器缺陷的定位方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本说明书所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本说明书的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本说明书实施例提供的方案范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本说明书构思的前提下,还可以做出若干变形和改进,这些都属于本说明书的保护范围。因此,本说明书专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种存储器缺陷的定位方法,其特征在于,应用于外部控制器,所述外部控制器与待测系统建立有通信连接,所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器,所述存储器缺陷的定位方法包括:
响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述读取数据和所述测试数据,获取所述存储器的测试结果包括:
若所述读取数据与所述测试数据不一致,则根据目标数据确定所述存储器的缺陷所在位置,所述目标数据包括所述读取数据中与所述测试数据对应位置的数据不一致的数据,或,所述测试数据中与所述读取数据对应位置的数据不一致的数据。
3.根据权利要求2所述的方法,其特征在于,所述根据目标数据确定所述存储器的缺陷所在位置包括:
对比所述读取数据和所述测试数据中对应位置处的数据,以获得所述目标数据;
根据所述目标数据在所述读取数据或所述测试数据中的位置,确定所述存储器的缺陷所在位置。
4.根据权利要求1所述的方法,其特征在于,所述微控制器的数量为多个;各所述微控制器与至少一个所述存储器建立有通信连接;
所述向所述微控制器发送携带有测试数据的配置指令包括:
向多个所述微控制器发送携带有所述测试数据的配置指令。
5.根据权利要求1所述的方法,其特征在于,所述微控制器与多个所述存储器连接;
所述配置指令指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据具体用于:
指示所述微控制器将所述测试数据写入多个所述存储器,并读取多个所述存储器中写入的所述测试数据。
6.根据权利要求1所述的方法,其特征在于,所述配置指令还携带有数据写入个数和地址信息,所述数据写入个数用于指示写入所述存储器中的数据个数,所述地址信息用于指示所述测试数据在所述存储器中的目标存储地址;
所述配置指令指示所述微控制器将所述测试数据写入所述存储器具体用于:
将所述地址信息写入内存控制器的控制寄存器,将所述测试数据写入所述内存控制器的缓存寄存器;
配置所述微控制器的读写控制寄存器为写入模式,并将所述数据写入个数写入所述读写控制寄存器,以指示所述读写控制寄存器根据所述数据写入个数和所述地址信息将所述缓存寄存器中的测试数据写入所述存储器中。
7.根据权利要求1所述的方法,其特征在于,所述配置指令还携带有数据读取个数和地址信息,所述数据读取个数用于指示从所述存储器中读取的数据个数,所述地址信息用于指示所述测试数据在所述存储器中的目标存储地址;
所述配置指令指示所述微控制器读取所述存储器中写入的所述测试数据具体用于:
配置所述微控制器的读写控制寄存器为读取模式,将所述数据读取个数写入所述读写控制寄存器,以指示所述读写控制寄存器根据所述数据读取个数从所述存储器中读取依据所述地址信息存储的所述测试数据。
8.一种存储器缺陷的定位装置,其特征在于,应用于外部控制器,所述外部控制器与待测系统建立有通信连接,所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器,所述存储器缺陷的定位装置包括:
测试配置模块,用于响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
测试判断模块,用于根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
9.一种计算设备,其特征在于,包括:外部控制器和与所述外部控制器建立有通信连接的待测系统;所述待测系统包括微控制器和与所述微控制器建立有通信连接的存储器;其中,
所述外部控制器被配置为:响应于测试操作,向所述微控制器发送携带有测试数据的配置指令;所述配置指令,用于配置所述微控制器处于调试模式,指示所述微控制器将所述测试数据写入所述存储器,并读取所述存储器中写入的所述测试数据,作为读取数据;
根据所述读取数据和所述测试数据,获取所述存储器的测试结果,所述测试结果包括所述存储器的缺陷所在位置。
10.根据权利要求9所述的计算设备,其特征在于,所述外部控制器根据所述读取数据和所述测试数据,获取所述存储器的测试结果具体用于:
若所述读取数据与所述测试数据不一致,则根据目标数据确定所述存储器的缺陷所在位置,所述目标数据包括所述读取数据中与所述测试数据对应位置的数据不一致的数据,或,所述测试数据中与所述读取数据对应位置的数据不一致的数据。
11.根据权利要求10所述的计算设备,其特征在于,所述外部控制器根据所述读取数据和所述测试数据,获取所述存储器的测试结果具体用于:
对比所述读取数据和所述测试数据中对应位置处的数据,以获得所述目标数据;
根据所述目标数据在所述读取数据或所述测试数据中的位置,确定所述存储器的缺陷所在位置。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1~7任一项所述的存储器缺陷的定位方法。
CN202311312402.0A 2023-10-11 2023-10-11 一种存储器缺陷的定位方法、装置、计算设备及存储介质 Pending CN117316260A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311312402.0A CN117316260A (zh) 2023-10-11 2023-10-11 一种存储器缺陷的定位方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311312402.0A CN117316260A (zh) 2023-10-11 2023-10-11 一种存储器缺陷的定位方法、装置、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN117316260A true CN117316260A (zh) 2023-12-29

Family

ID=89261857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311312402.0A Pending CN117316260A (zh) 2023-10-11 2023-10-11 一种存储器缺陷的定位方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN117316260A (zh)

Similar Documents

Publication Publication Date Title
US6550023B1 (en) On-the-fly memory testing and automatic generation of bitmaps
CN110120242B (zh) 存储器测试方法、装置、计算机设备以及存储介质
KR20000023326A (ko) 메모리 시험장치
US20120198292A1 (en) Test apparatus and test method
US20080016415A1 (en) Evaluation system and method
CN109933466A (zh) 基于Python的固态硬盘控制器测试方法和装置
JP2002093193A (ja) メモリ試験方法・メモリ試験装置
WO2019184612A1 (zh) 一种终端及电子设备
CN107301042A (zh) 一种带自检功能的SoC应用程序引导方法
US9786373B2 (en) EEPROM backup method and device
CN114664369A (zh) 一种存储芯片测试方法及装置
KR100348760B1 (ko) 반도체 메모리 시험방법 및 그 장치
EP0446534A2 (en) Method of functionally testing cache tag rams in limited-access processor systems
CN112420117B (zh) 测试sram的方法、装置、计算机设备及存储介质
CN117093427A (zh) 一种pcie设备状态检测方法、系统、电子设备及介质
JP2002323993A (ja) シングルチップマイクロコンピュータ並びにその試験方法及び試験プログラム
CN117316260A (zh) 一种存储器缺陷的定位方法、装置、计算设备及存储介质
JP4568055B2 (ja) 試験装置及び試験方法
CN110659150A (zh) 微控制单元内存的检测方法以及相关装置
CN115691632A (zh) 测试控制系统和方法
US20130124925A1 (en) Method and apparatus for checking a main memory of a processor
JP2007058450A (ja) 半導体集積回路
WO2001043141A1 (fr) Dispositif d'essai pour memoire a semi-conducteurs
CN107729271B (zh) 具备自测试功能的双总线型e-flash控制电路
CN117316249A (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