CN118072810A - 存储器测试方法、装置、电子设备及可读存储介质 - Google Patents
存储器测试方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN118072810A CN118072810A CN202410295052.XA CN202410295052A CN118072810A CN 118072810 A CN118072810 A CN 118072810A CN 202410295052 A CN202410295052 A CN 202410295052A CN 118072810 A CN118072810 A CN 118072810A
- Authority
- CN
- China
- Prior art keywords
- test
- fault
- diagnosed
- memory
- controller
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 393
- 230000015654 memory Effects 0.000 title claims abstract description 198
- 230000005540 biological transmission Effects 0.000 claims abstract description 97
- 239000013598 vector Substances 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000003745 diagnosis Methods 0.000 claims abstract description 40
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims description 13
- 238000010998 test method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供了一种存储器测试方法、装置、电子设备及可读存储介质,应用于集成有测试电路的芯片,方法包括:向各测试控制器输入测试指令,以使各测试控制器控制测试向量生成器以及比较器,对芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将待测试存储器组作为待诊断组,将待诊断组对应的测试控制器确定为待诊断控制器;向待诊断控制器输入第一信号,以使待诊断控制器在接收到第一信号的情况下,控制测试向量生成器以及比较器对待诊断组执行诊断操作,并通过第一传输链中的测试寄存器采集待诊断组的故障检测信息,提高存储器诊断的效率。
Description
技术领域
本发明属于集成电路技术领域,特别是涉及一种存储器测试方法、装置、电子设备及可读存储介质。
背景技术
随着集成电路技术的发展,对芯片的安全性要求越来越高,因而对芯片的测试尤为重要,芯片测试包含对芯片中存储器的测试。相关技术中,为了避免在自动测试机(ATE机台)上进行测试造成的成本过高的问题,会通过在芯片中集成测试电路的方式来完成对存储器的测试和诊断,测试过程中由测试电路自行生成测试向量,无需外部施加,这一方式称为存储器内建自测试(Memory Built In Self Test,MBIST)。
目前,在进行MBIST时,对于芯片中的所有存储器往往采用串行诊断的方式,也就是同时开始诊断以及同时结束诊断,但这种方式效率较差。
发明内容
本发明提供一种存储器测试方法、装置、电子设备及可读存储介质,以便解决存储器测试中诊断效率较差的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明提供一种存储器测试方法,所述方法应用于集成有测试电路的芯片,所述测试电路中包含多个测试控制器、测试向量生成器以及比较器,不同测试控制器对应于不同待测试存储器组;其中,各所述测试控制器中包含由测试寄存器构成的第一传输链;所述方法包括:
向各所述测试控制器输入测试指令,以使各所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将所述待测试存储器组作为待诊断组,将所述待诊断组对应的测试控制器确定为待诊断控制器;
向所述待诊断控制器输入第一信号,以使所述待诊断控制器在接收到第一信号的情况下,控制所述测试向量生成器以及所述比较器对所述待诊断组执行诊断操作,并通过所述第一传输链中的所述测试寄存器采集所述待诊断组的故障检测信息。
第二方面,本发明提供一种存储器测试装置,所述装置应用于集成有测试电路的芯片,所述测试电路中包含多个测试控制器、测试向量生成器以及比较器,不同测试控制器对应于不同待测试存储器组,其中,各所述测试控制器中包含由测试寄存器构成的第一传输链;所述装置可以包括:
第一确定模块,用于向各所述测试控制器输入测试指令,以使各所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将所述待测试存储器组作为待诊断组,将所述待诊断组对应的测试控制器确定为待诊断控制器;
第一输入模块,用于向所述待诊断控制器输入第一信号,以使所述待诊断控制器在接收到第一信号的情况下,控制所述测试向量生成器以及所述比较器对所述待诊断组执行诊断操作,并通过所述第一传输链中的所述测试寄存器采集所述待诊断组的故障检测信息。
第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述存储器测试方法。
第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述存储器测试方法。
本发明实施例所提供的存储器测试方法,本发明实施例通过为芯片集成包含多个测试控制器、测试向量生成器以及比较器的测试电路,可以通过测试电路对该芯片上的存储器实现内建自测试,无需通过机台实现,降低测试成本。同时,通过将不同测试控制器对应不同的待测试存储器组,可以使各个待测试存储器组之间的测试诊断相独立,在测试出存在待诊断故障的待测试存储器组时,通过向对应的测试控制器输入第一信号,可以无需对所有的存储器均进行诊断操作,仅使接收到第一信号的测试控制器执行诊断操作,本发明实施例通过设置第一信号可以实现选择性地故障诊断,一定程度上可以提高存储器诊断的效率。同时,通过为测试控制器设置由测试寄存器构成的第一传输链,可以在诊断过程中,通过第一传输链中的测试寄存器采集故障检测信息,便于后续对故障的定位。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种存储器测试方法的步骤流程图;
图2是本发明实施例提供的一种测试电路的结构示意图;
图3是本发明实施例提供的一种测试控制器的结构示意图;
图4是本发明实施例提供的一种存储器测试装置的结构图;
图5是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种存储器测试方法的步骤流程图,该方法应用于集成有测试电路的芯片,所述测试电路中包含多个测试控制器、测试向量生成器以及比较器,不同测试控制器对应于不同待测试存储器组;其中,各所述测试控制器中包含由测试寄存器构成的第一传输链,如图1所示,该方法可以包括如下步骤:
步骤101、向各所述测试控制器输入测试指令,以使各所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将所述待测试存储器组作为待诊断组,将所述待诊断组对应的测试控制器确定为待诊断控制器。
步骤102、向所述待诊断控制器输入第一信号,以使所述待诊断控制器在接收到第一信号的情况下,控制所述测试向量生成器以及所述比较器对所述待诊断组执行诊断操作,并通过所述第一传输链中的所述测试寄存器采集所述待诊断组的故障检测信息。
其中,本发明实施例中的存储器指的是随机存取存储器(Random Access Memory,RAM),也可以称为主存,其用于与中央处理器直接交换数据,用来暂时存储程序、数据和中间结果。
上述测试电路指的是芯片上的内嵌电路,是在存储器周围嵌入的用于执行测试诊断的电路,其通常可以包括测试控制器(BIST控制器)、测试向量生成器、响应分析器以及多路选择器等模块。其中,测试控制器在存储器测试诊断过程中至关重要,可以作为测试电路与存储器之间的接口,为存储器的自测试诊断提供控制信号,用于实现测试算法。其中,上述测试向量生成器用于生成测试向量并将测试向量输入至各个待测试存储器中,上述比较器用于对待测试存储器的输出数据与参照数据进行比较,通过比较结果可以判断待测试存储器是否存在故障。其中,上述测试向量生成器与比较器的数量可以与测试控制器相一致,或者也可以仅设置一组测试向量生成器与比较器,多个测试控制器可以分别与测试向量生成器与比较器连接,测试向量生成器可以与各个待测试存储器组的输入端口相连接,比较器可以与各个待测试存储器组的输出端口相连接。
示例性地,图2是本发明实施例提供的一种测试电路的结构示意图,如图2所示,测试电路中包含多个测试控制器、测试向量生成器以及比较器,测试控制器与待测试存储器组的数量均为n。不同测试控制器对应于不同待测试存储器组。测试向量生成器可以与各个待测试存储器组的输入端口相连接,比较器可以与各个待测试存储器组的输出端口相连接,同时比较器还与各测试控制器相连接。
其中,上述测试指令可以是使能信号,可以是在接收到用户对芯片存储器的测试请求的情况下生成的。其中,上述待测试存储器组可以是预先划分的,一个待测试存储器组中可以包含多个待测试存储器。具体的,可以是按照测试控制器的数量进行划分,可以是随机划分,也可以是按照芯片中的不同模块,将属于同一模块或分布位置较接近的多个模块中的存储器划分至同一待测试存储器组中。具体的,由于一个芯片中往往存在大量的存储器,现有技术中往往是通过一个测试控制器对所有存储器的测试诊断进行控制,本发明实施例中可以在测试电路中设置多个测试控制器,并使不同的测试控制器对应不同待测试存储器组,从而测试电路通过不同的测试控制器可以控制不同的待测试存储器组进行存储器测试诊断操作。
具体的,本发明实施例的测试电路中,不同测试控制器之间可以串行连接,也可以并行连接,本发明实施例对此不作限制。
进一步地,本发明实施例可以通过测试电路对芯片中的多个待测试存储器组进行测试,也就是对其进行MBIST操作。具体的,测试过程中,测试电路中的测试向量生成器可以生成一系列的测试向量,并将这些测试向量写入到存储器中,通过读取存储器的输出数据与参照数据进行比较,当比较结果不一致时,可以确定有存储器存在故障。进一步地,若测试出任一待测试存储器组存在故障,此时需要进一步对该故障进行诊断,也就是对故障的存储器进行定位以及确定故障的类型。
本发明实施例中,可以将存在待诊断故障的待测试存储器组确定为待诊断组,将该待诊断组对应的测试控制器确定为待诊断控制器,通过待诊断控制器对待诊断组的存储器进行诊断即可,无需对所有的存储器均进行诊断。
具体的,本发明实施例可以向待诊断控制器输入第一信号,该第一信号可以属于开关量信号,可以为“1”,在待诊断控制器接收到第一信号时,可以开启诊断操作,也就是控制测试向量生成器以及比较器对待诊断组进行诊断。其中,上述第一传输链指的是测试控制器中所包含的一个数据传输链,可以由多个测试寄存器构成。测试寄存器用于存储故障检测信息。测试电路中的比较器可以通过待诊断组中各个存储器的输出数据,与各个存储器的参照数据进行比对,通过比对结果生成故障检测信息,同时比较器可以将故障检测信息写入至第一传输链所包含的测试寄存器中。
进一步地,通过对待诊断控制器的第一传输链进行读取,即可得到存储器的故障检测信息。具体可以是对待诊断控制器的第一传输链中的测试寄存器进行数据读取即可,可以是通过寄存器读取指令实现,或者,由于第一传输链上的各个测试寄存器是串联的,从而也可以是通过移位指令将第一传输链上的测试寄存器的数据读取出来,本发明实施例对此不作限制。具体的,测试控制器通常存在输入端口(SI)和输出端口(SO),可以通过待诊断控制器的SO端口读取故障检测信息。
综上所述,本发明实施例通过为芯片集成包含多个测试控制器、测试向量生成器以及比较器的测试电路,可以通过测试电路对该芯片上的存储器实现内建自测试,无需通过机台实现,降低测试成本。同时,通过将不同测试控制器对应不同的待测试存储器组,可以使各个待测试存储器组之间的测试诊断相独立,在测试出存在待诊断故障的待测试存储器组时,通过向对应的测试控制器输入第一信号,可以无需对所有的存储器均进行诊断操作,仅使接收到第一信号的测试控制器执行诊断操作,本发明实施例通过设置第一信号可以实现选择性地故障诊断,一定程度上可以提高存储器诊断的效率。同时,通过为测试控制器设置由测试寄存器构成的第一传输链,可以在诊断过程中,通过第一传输链中的测试寄存器采集故障检测信息,便于后续对故障的定位。
可选的,本发明实施例中上述测试控制器中还包含由旁路寄存器构成的第二传输链,第二传输链与所述第一传输链相并联,上述向所述待诊断控制器输入第一信号之后,本发明实施例具体还可以包括下述步骤:
S21、向其他测试控制器输入第二信号,以使所述其他测试控制器在接收到第二信号的情况下,通过所述第二传输链中的旁路寄存器进行数据传输;所述其他测试控制器为所述多个测试控制器中,所述待诊断控制器之外的测试控制器。
其中,上述其他测试控制器指的是待诊断控制器之外的测试控制器,也就是不存在待诊断故障的待测试存储器组对应的测试控制器。其中,旁路寄存器指的是用于直接传递数据的寄存器,其可以提高数据传输的效率,因此,本发明实施例可以为每个测试控制器中设置两条传输链,其中一条传输链可以由旁路寄存器构成,即上述第二传输链,相应地,另一传输链可以由前述实施例中的测试寄存器构成,即上述第一传输链。第一传输链与第二传输链可以并联连接。
其中,上述第二信号也可以为开关量信号,可以与第一信号相反,可以为“0”。进一步地,本发明实施例在为待诊断控制器输入第一信号之后,还可以向其他测试控制器输入第二信号,测试控制器在接收到第二信号时,可以采用第二传输链进行数据传输,也就是通过第二传输链上的旁路寄存器接收输入至测试控制器的数据。其中,旁路寄存器所传输的数据可以包括测试指令,或者,在测试电路中各测试控制器之间串行连接的情况下,在对待诊断组执行诊断操作时,比较器所输出的故障检测信息等数据可以在其他测试控制器之间通过旁路寄存器传递至待诊断控制器,从而在串行连接的情况下,通过旁路寄存器也可以保证存储器诊断的效率。
示例性地,图3是本发明实施例提供的一种测试控制器的结构示意图,如图3所示,测试控制器内部可以包含第一传输链和第二传输链,第一传输链可以由故障地址寄存器、故障位寄存器、测试模式寄存器等测试寄存器构成,第二传输链可以由旁路寄存器构成。图3中的SI为测试控制器的输入端口,SO为输出端口。其中,Error_bit_RAM0~Error_bit_RAMN为故障位寄存器,分别对应同一存储器中不同的存储单元,Error_count为计数器,可以为其设置初始值,Addr为故障地址寄存器,用于表征当前正在诊断的故障存储器,也就是待确定故障存储器。Port_count为端口寄存器,用于表征正在测试的存储器端口。Algo_state为测试模式寄存器,用于表征当前正在执行的测试算法。GO_ID_RAM0~GO_ID_RAMN为故障指示寄存器,用于表征各个存储单元的测试状态。
其中,多路选择器(Multiplexer,MUX)可以通过输入的bist_close信号选择用于数据传输的传输链。在接收到的bist_close为第一信号“1”时,可以选择第一传输链进行数据传输,此时测试控制器可以通过第一传输链中的测试寄存器采集故障检测信息。相应地,在接收到的bist_close为第二信号“0”时,可以选择第二传输链进行数据传输,此时测试控制器可以通过旁路寄存器进行数据传输。进一步地,在测试电路中的各测试控制器串行连接的情况下,任一测试控制器的SI往往与上一测试控制器的SO相连接,相应地,SO往往与下一测试控制器的SI相连接,此时,若比较器需要将所检测的故障检测信息输入至待诊断控制器的第一传输链中,则可以通过移位指令,将故障检测信息串行移入至待诊断控制器,此时在待诊断控制器之前的其他控制器接收到第二信号,通过旁路寄存器进行数据传输,而无需通过第一传输链中的多个测试寄存器,可以在一定程度上提高串行移入的效率。
本发明实施例中,所述测试控制器中还包括由旁路寄存器构成的第二传输链,通过向其他测试控制器输入第二信号,以使所述其他测试控制器在接收到第二信号的情况下,通过所述第二传输链中的旁路寄存器进行数据传输;所述其他测试控制器为所述多个测试控制器中,所述待诊断控制器之外的测试控制器。这样,通过在测试控制器中增加旁路寄存器,可以进一步避免无需进行故障诊断的测试控制器执行不必要的操作,即使在各测试控制器串行连接的情况下,通过旁路寄存器也可以在一定程度上保证寄存器诊断的效率。
可选的,所述测试寄存器包括故障地址寄存器以及故障位寄存器,本发明实施例具体可以包括下述步骤:
S31、基于所述第一传输链中的故障地址寄存器以及故障位寄存器,分别获取待确定故障地址以及待确定故障位。
S32、在第一预设寄存器中不存在故障地址与所述待确定故障地址相一致的已记录故障数据的情况下,将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中,并读取所述待诊断控制器的第一传输链所采集的故障检测信息。
其中,由于一个存储器相当于一个由多个存储单元构成的存储矩阵,因而在进行诊断过程中,通常会对每个存储器中的多个存储单元均进行诊断。其中,上述待确定故障地址用于表征存在待确定故障的存储器,上述待确定故障位用于表征存在该存储器中存在待确定故障的存储单元。
进一步地,测试控制器在进行诊断过程中,通常是对待测试存储器组中所包含的各个存储器依次进行诊断,从而本发明实施例通过故障地址寄存器和故障位寄存器可以分别获取到待确定故障地址以及待确定故障位,通过待确定故障地址以及待确定故障位可以确定出,在待诊断组中存在故障的故障存储器以及故障存储器的故障单元。具体的,可以通过寄存器访问指令对故障地址寄存器以及故障位寄存器进行访问,得到故障地址以及待确定故障位。
其中,上述第一预设寄存器可以是预先设置的任一寄存器,可以用于记录故障数据,其每条故障数据可以包含故障地址以及故障位。本发明实施例在通过故障地址寄存器和故障位寄存器获取待确定故障地址以及待确定故障位后,可以与第一预设寄存器中的已记录故障数据进行比对,在已记录故障数据中的故障地址与待确定故障地址不一致时,表明待确定故障地址所表征的故障存储器未被诊断记录过,此时可以将上述待确定故障地址以及待确定故障位写入至上述第一预设寄存器中。进一步地,本发明实施例在存储器测试操作完成后,可以通过对第一预设寄存器进行访问,得到此次测试到的所有故障数据,通过故障数据可以得到存在故障的故障存储器,从而便于后续通过故障数据所对应的故障存储器进行修复或替换。
其中,上述第一预设寄存器的数量可以为多个,构成第一寄存器组,从而不同故障数据可以分别记录在第一寄存器组中的不同第一预设寄存器中。进一步地,上述写入操作可以是对待确定故障地址以及待确定故障位进行压缩后再执行的,从而减少故障数据的数据大小。
本发明实施例中,通过基于所述第一传输链中的故障地址寄存器以及故障位寄存器,分别获取待确定故障地址以及待确定故障位;在第一预设寄存器中不存在故障地址与所述待确定故障地址相一致的已记录故障数据的情况下,将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中。这样,通过第一预设寄存器可以对故障数据进行记录,并且在已记录故障数据的故障地址与待确定故障地址不一致时进行记录,可以避免记录到相同的故障,减少不必要的操作,进一步降低存储器诊断的时长。
可选的,上述测试寄存器还包括测试模式寄存器,所述测试模式寄存器用于存储当前执行的测试算法,本发明实施例中具体还可以包括下述步骤:
S41、若所述第一预设寄存器中存在故障地址与所述待确定故障地址相一致的已记录故障数据,在所述已记录故障数据中的故障位与所述待确定故障位不一致的情况下,读取所述待诊断控制器的第一传输链所采集的故障检测信息,以读取所述测试模式寄存器所存储的测试算法。
其中,上述测试模式寄存器中的数据用于表征当前正在执行的测试算法,通过测试算法可以便于对故障单元的故障进行进一步诊断。
进一步地,在第一预设寄存器中存在故障地址与待确定故障地址相一致的已记录故障数据的情况下,表明该待确定故障地址对应的故障存储器已经被记录在第一预设寄存器中,因此此时可以无需对待确定故障地址以及待确定故障位进行记录,而若该已记录故障数据的故障位与待确定故障位不一致,表明此时该故障存储器的故障存储单元与已记录的故障存储单元不一致,此时可以将第一传输链所采集的故障检测信息读取出来,便于通过测试模式寄存器中的测试算法、待确定故障地址以及待确定故障位对故障存储器中的故障存储单元的故障类型进行进一步诊断,便于后续修复做出快速正确的补救。
本发明实施例第一传输链中还包括测试模式寄存器,若所述第一预设寄存器中存在故障地址与所述待确定故障地址相一致的已记录故障数据,在所述已记录故障数据中的故障位与所述待确定故障位不一致的情况下,读取所述待诊断控制器的第一传输链所采集的包含测试算法的故障检测信息。这样可以避免对同一故障存储器进行重复记录的同时,还可以便于对出现故障的存储器进行进一步诊断。
可选的,上述将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中的操作之后,本发明实施例具体还可以包括:
S51、获取所述第一预设寄存器中所存储的已记录故障数据的数量作为第一数量。
S52、在所述第一数量不小于预先设置的第二数量的情况下,向所述待诊断控制器输入停止信号,以停止对所述待诊断组的测试。
其中,上述第二数量为预先设置的,可以为经验值,也可以根据芯片中的存储器数量自行设置,本发明实施例对此不作限制。
具体的,在将待确定故障地址以及待确定故障位写入第一预设寄存器之后,本发明实施例还可以获取第一预设寄存器中所存储的已记录故障数据的数量,在第一数量不小于第二数量时,表明所记录的故障数量已经达到了预先设置的故障阈值,此时可以向测试控制器输入停止信号,以停止对待诊断组的存储器的测试。
可选地,也可以设置一个计数器,该计数器的初始数值为第二数量,每当将待确定故障地址以及待确定故障位写入至第一预设寄存器中后,可以使该计数器减1,当其数值为0后,则可向测试控制器输入停止信号。
其中,上述停止信号可以是输入至测试控制器的使能端。
本发明实施例通过获取所述第一预设寄存器中所存储的已记录故障数据的数量作为第一数量;在所述第一数量不小于预先设置的第二数量的情况下,向所述待诊断控制器输入停止信号,以停止对待诊断组的测试。通过设置第二数量,可以为存储器测试诊断设置上限值,当已记录的故障数量达到上限值时停止测试操作,可以避免测试诊断操作过长。
可选的,本发明实施例具体还可以包括:
S61、在所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试的过程中,若所述比较器确定任一所述待测试存储器组中的任一待测试存储器的输出数据与参照数据不一致,则确定所述待测试存储器组存在待诊断故障;所述测试向量生成器用于向各待测试存储器组中的各待测试存储器输入测试向量。
具体的,测试电路在测试过程中,比较器可以根据当前的测试数据与参照数据的比较结果确定是否存在待诊断故障。在任一待测试存储器组中存在任一待测试存储器的输出数据与参照数据不一致,则可以确定该组存在待诊断故障。其中,上述参照数据可以是按照测试算法预先设置的,也可以是由测试电路中的参照模块输出的。具体的,参照模块可以预先集成在测试电路中,测试电路可以向参照模块与待测试存储器输入相同的测试数据,参照模块与待测试存储器执行相同的测试算法,从而通过比较参照模块与待测试存储器的输出数据可以检测待测试存储器是否存在故障。
本发明实施例中,在通过所述测试电路对所述芯片中的多个待测试存储器组进行测试的过程中,若任一所述待测试存储器组中的任一待测试存储器的输出数据与参照数据不一致,确定所述待测试存储器组存在待诊断故障。这样,可以及时判断出存在待诊断故障的待测试存储器组。
示例性地,以上述图3为例,本发明实施例中的测试控制器内部可以包含第一传输链和第二传输链,第一传输链可以由故障地址寄存器、故障位寄存器、测试模式寄存器以及其他相关寄存器构成,第二传输链可以由旁路寄存器构成。图3中的MUX为多路选择器,其可以通过输入的bist_close信号选择数据传输链。图3中的SI为测试控制器的输入端口,SO为输出端口。进一步地,如图3所示,由SI至SO存在两条数据传输链,其中计数器、端口寄存器、故障地址寄存器、测试模式寄存器以及GO_ID_RAM0~GO_ID_RAMN、Error_bit_RAM0~Error_bit_RAMN构成第一传输链。相应地,旁路寄存器构成第二传输链。其中,Error_bit_RAM0~Error_bit_RAMN为故障位寄存器,分别对应同一存储器中不同的存储单元,Error_count为计数器,可以为其设置初始值为上文中的第二数量,Addr为故障地址寄存器,用于表征当前正在诊断的故障存储器,也就是待确定故障存储器。Port_count为端口寄存器,用于表征正在测试的存储器端口。Algo_state为上述测试模式寄存器,用于表征当前正在执行的测试算法。GO_ID_RAM0~GO_ID_RAMN为故障指示寄存器,用于表征各个存储单元的测试状态。
具体的,测试控制器在接收到测试指令时,可以控制测试电路中的测试向量生成器以及比较器,对待测试存储器组进行测试,比较器可以对待测试存储器的输出数据与参照数据进行比对,在存在任一待测试存储器组中的任一待测试存储器的输出数据与参照数据不一致时,则将该待测试存储器组作为待诊断组,将待诊断组对应的测试控制器确定为待诊断控制器。
进一步地,可以向待诊断控制器输入第一信号,具体是向图3中的MUX输入bist_close为1的信号。相应地,向其他测试控制器输入第二信号,也就是向图3中的MUX输入bist_close为0的信号,此时待诊断控制器选择第一传输链进行数据传输,其他测试测试控制器选择旁路寄存器bypass进行数据传输。进一步地,待诊断控制器可以控制测试向量生成器以及比较器对待诊断组执行诊断,具体可以是测试向量生成器向待诊断组的各个存储器输入测试向量,存储器根据预设的测试算法以及测试向量输出测试数据,比较器可以根据测试数据以及预设的参照数据进行比较,生成故障检测信息,并将故障检测信息通过SI端口写入至待诊断控制器的第一传输链中。
进一步地,本发明实施例可以按照实际需求通过待诊断控制器的SO端口移出故障检测信息,以便于进行进一步诊断,便于后续修复做出快速正确的补救。
图4是本发明实施例提供的一种存储器测试装置的结构图,所述装置应用于集成有测试电路的芯片,所述测试电路中包含多个测试控制器、测试向量生成器以及比较器,不同测试控制器对应于不同待测试存储器组,其中,各所述测试控制器中包含由测试寄存器构成的第一传输链,该装置20可以包括:
第一确定模块201,用于向各所述测试控制器输入测试指令,以使各所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将所述待测试存储器组作为待诊断组,将所述待诊断组对应的测试控制器确定为待诊断控制器;
第一输入模块202,用于向所述待诊断控制器输入第一信号,以使所述待诊断控制器在接收到第一信号的情况下,控制所述测试向量生成器以及所述比较器对所述待诊断组执行诊断操作,并通过所述第一传输链中的所述测试寄存器采集所述待诊断组的故障检测信息。
可选的,所述测试控制器中还包含由旁路寄存器构成的第二传输链,所述装置还包括:
第二输入模块,用于向其他测试控制器输入第二信号,以使所述其他测试控制器在接收到第二信号的情况下,通过所述第二传输链中的旁路寄存器进行数据传输;所述其他测试控制器为所述多个测试控制器中,所述待诊断控制器之外的测试控制器。
可选的,所述测试寄存器包括故障地址寄存器以及故障位寄存器,所述装置还包括:
第一获取模块,用于基于所述第一传输链中的故障地址寄存器以及故障位寄存器,分别获取待确定故障地址以及待确定故障位;
写入模块,用于在第一预设寄存器中不存在故障地址与所述待确定故障地址相一致的已记录故障数据的情况下,将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中。
可选的,所述测试寄存器还包括测试模式寄存器,所述测试模式寄存器用于存储当前执行的测试算法;所述装置还包括:
读取模块,用于若所述第一预设寄存器中存在故障地址与所述待确定故障地址相一致的已记录故障数据,在所述已记录故障数据中的故障位与所述待确定故障位不一致的情况下,读取所述待诊断控制器的第一传输链所采集的故障检测信息,以读取所述测试模式寄存器所存储的测试算法。
可选的,所述装置还包括:
第二获取模块,用于获取所述第一预设寄存器中所存储的已记录故障数据的数量作为第一数量;
第三输入模块,用于在所述第一数量不小于预先设置的第二数量的情况下,向所述待诊断控制器输入停止信号,以停止对所述待诊断组的测试。
可选的,所述装置还包括:
第二确定模块,用于在所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试的过程中,若所述比较器确定任一所述待测试存储器组中的任一待测试存储器的输出数据与参照数据不一致,则确定所述待测试存储器组存在待诊断故障;所述测试向量生成器用于向各待测试存储器组中的各待测试存储器输入测试向量。
综上所述,本发明实施例提供的存储器测试装置,本发明实施例通过为芯片集成包含多个测试控制器、测试向量生成器以及比较器的测试电路,可以通过测试电路对该芯片上的存储器实现内建自测试,无需通过机台实现,降低测试成本。同时,通过将不同测试控制器对应不同的待测试存储器组,可以使各个待测试存储器组之间的测试诊断相独立,在测试出存在待诊断故障的待测试存储器组时,通过向对应的测试控制器输入第一信号,可以无需对所有的存储器均进行诊断操作,仅使接收到第一信号的测试控制器执行诊断操作,本发明实施例通过设置第一信号可以实现选择性地故障诊断,一定程度上可以提高存储器诊断的效率。同时,通过为测试控制器设置由测试寄存器构成的第一传输链,可以在诊断过程中,通过第一传输链中的测试寄存器采集故障检测信息,便于后续对故障的定位。
本发明还提供了一种电子设备,参见图5,包括:处理器701、存储器702以及存储在所述存储器上并可在所述处理器上运行的计算机程序7021,所述处理器执行所述程序时实现前述实施例的存储器测试方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的存储器测试方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种存储器测试方法,其特征在于,所述方法应用于集成有测试电路的芯片,所述测试电路中包含多个测试控制器、测试向量生成器以及比较器,不同测试控制器对应于不同待测试存储器组;其中,各所述测试控制器中包含由测试寄存器构成的第一传输链;所述方法包括:
向各所述测试控制器输入测试指令,以使各所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将所述待测试存储器组作为待诊断组,将所述待诊断组对应的测试控制器确定为待诊断控制器;
向所述待诊断控制器输入第一信号,以使所述待诊断控制器在接收到第一信号的情况下,控制所述测试向量生成器以及所述比较器对所述待诊断组执行诊断操作,并通过所述第一传输链中的所述测试寄存器采集所述待诊断组的故障检测信息。
2.根据权利要求1所述方法,其特征在于,所述测试控制器中还包含由旁路寄存器构成的第二传输链,所述第二传输链与所述第一传输链相并联;所述向所述待诊断控制器输入第一信号之后,所述方法还包括:
向其他测试控制器输入第二信号,以使所述其他测试控制器在接收到第二信号的情况下,通过所述第二传输链中的旁路寄存器进行数据传输;所述其他测试控制器为所述多个测试控制器中,所述待诊断控制器之外的测试控制器。
3.根据权利要求1所述方法,其特征在于,所述测试寄存器包括故障地址寄存器以及故障位寄存器,所述方法还包括:
基于所述第一传输链中的故障地址寄存器以及故障位寄存器,分别获取待确定故障地址以及待确定故障位;
在第一预设寄存器中不存在故障地址与所述待确定故障地址相一致的已记录故障数据的情况下,将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中。
4.根据权利要求3所述方法,其特征在于,所述测试寄存器还包括测试模式寄存器,所述测试模式寄存器用于存储当前执行的测试算法;所述方法还包括:
若所述第一预设寄存器中存在故障地址与所述待确定故障地址相一致的已记录故障数据,在所述已记录故障数据中的故障位与所述待确定故障位不一致的情况下,读取所述待诊断控制器的第一传输链所采集的故障检测信息,以读取所述测试模式寄存器所存储的测试算法。
5.根据权利要求3所述方法,其特征在于,所述将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中之后,所述方法还包括:
获取所述第一预设寄存器中所存储的已记录故障数据的数量作为第一数量;
在所述第一数量不小于预先设置的第二数量的情况下,向所述待诊断控制器输入停止信号,以停止对所述待诊断组的测试。
6.根据权利要求1至5任一项所述方法,其特征在于,所述方法还包括:
在所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试的过程中,若所述比较器确定任一所述待测试存储器组中的任一待测试存储器的输出数据与参照数据不一致,则确定所述待测试存储器组存在待诊断故障;所述测试向量生成器用于向各待测试存储器组中的各待测试存储器输入测试向量。
7.一种存储器测试装置,其特征在于,所述装置应用于集成有测试电路的芯片,所述测试电路中包含多个测试控制器、测试向量生成器以及比较器,不同测试控制器对应于不同待测试存储器组,其中,各所述测试控制器中包含由测试寄存器构成的第一传输链;所述装置可以包括:
第一确定模块,用于向各所述测试控制器输入测试指令,以使各所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试,并在测试出任一待测试存储器组存在待诊断故障的情况下,将所述待测试存储器组作为待诊断组,将所述待诊断组对应的测试控制器确定为待诊断控制器;
第一输入模块,用于向所述待诊断控制器输入第一信号,以使所述待诊断控制器在接收到第一信号的情况下,控制所述测试向量生成器以及所述比较器对所述待诊断组执行诊断操作,并通过所述第一传输链中的所述测试寄存器采集所述待诊断组的故障检测信息。
8.根据权利要求7所述装置,其特征在于,所述测试控制器中还包含由旁路寄存器构成的第二传输链,所述装置还包括:
第二输入模块,用于向其他测试控制器输入第二信号,以使所述其他测试控制器在接收到第二信号的情况下,通过所述第二传输链中的旁路寄存器进行数据传输;所述其他测试控制器为所述多个测试控制器中,所述待诊断控制器之外的测试控制器。
9.根据权利要求7所述装置,其特征在于,所述测试寄存器包括故障地址寄存器以及故障位寄存器,所述装置还包括:
第一获取模块,用于基于所述第一传输链中的故障地址寄存器以及故障位寄存器,分别获取待确定故障地址以及待确定故障位;
写入模块,用于在第一预设寄存器中不存在故障地址与所述待确定故障地址相一致的已记录故障数据的情况下,将所述待确定故障地址以及所述待确定故障位写入至所述第一预设寄存器中。
10.根据权利要求9所述装置,其特征在于,所述测试寄存器还包括测试模式寄存器,所述测试模式寄存器用于存储当前执行的测试算法;所述装置还包括:
读取模块,用于若所述第一预设寄存器中存在故障地址与所述待确定故障地址相一致的已记录故障数据,在所述已记录故障数据中的故障位与所述待确定故障位不一致的情况下,读取所述待诊断控制器的第一传输链所采集的故障检测信息,以读取所述测试模式寄存器所存储的测试算法。
11.根据权利要求9所述装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述第一预设寄存器中所存储的已记录故障数据的数量作为第一数量;
第三输入模块,用于在所述第一数量不小于预先设置的第二数量的情况下,向所述待诊断控制器输入停止信号,以停止对所述待诊断组的测试。
12.根据权利要求7至11任一项所述装置,其特征在于,所述装置还包括:
第二确定模块,用于在所述测试控制器控制所述测试向量生成器以及所述比较器,对所述芯片中的多个待测试存储器组进行测试的过程中,若所述比较器确定任一所述待测试存储器组中的任一待测试存储器的输出数据与参照数据不一致,则确定所述待测试存储器组存在待诊断故障;所述测试向量生成器用于向各待测试存储器组中的各待测试存储器输入测试向量。
13.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的方法。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295052.XA CN118072810A (zh) | 2024-03-14 | 2024-03-14 | 存储器测试方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295052.XA CN118072810A (zh) | 2024-03-14 | 2024-03-14 | 存储器测试方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118072810A true CN118072810A (zh) | 2024-05-24 |
Family
ID=91100072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410295052.XA Pending CN118072810A (zh) | 2024-03-14 | 2024-03-14 | 存储器测试方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118072810A (zh) |
-
2024
- 2024-03-14 CN CN202410295052.XA patent/CN118072810A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6550023B1 (en) | On-the-fly memory testing and automatic generation of bitmaps | |
US20080052585A1 (en) | Integrated testing apparatus, systems, and methods | |
US7251757B2 (en) | Memory testing | |
US6370661B1 (en) | Apparatus for testing memory in a microprocessor | |
US7571367B2 (en) | Built-in self diagnosis device for a random access memory and method of diagnosing a random access | |
CN103310852B (zh) | 基于ieee 1500标准兼容sram/rom的mbist控制器结构系统 | |
US8595557B2 (en) | Method and apparatus for verifying memory testing software | |
CN110120242A (zh) | 存储器测试方法、装置、计算机设备以及存储介质 | |
US20030120985A1 (en) | Method and apparatus for memory self testing | |
US7076706B2 (en) | Method and apparatus for ABIST diagnostics | |
CN105760268A (zh) | 一种片上随机存取存储器内建自测试方法和装置 | |
CN100446129C (zh) | 一种内存故障测试的方法及系统 | |
EP4120276A1 (en) | Method for testing control chip and related device | |
CN103137212A (zh) | Sdram测试方法 | |
JPH09318707A (ja) | 半導体メモリ試験方法および装置 | |
US6862704B1 (en) | Apparatus and method for testing memory in a microprocessor | |
CN114639439B (zh) | 芯片内部sram测试方法、装置、存储介质及ssd设备 | |
CN115691632B (zh) | 测试控制系统和方法 | |
CN118072810A (zh) | 存储器测试方法、装置、电子设备及可读存储介质 | |
US6944806B2 (en) | Method and apparatus to data log at-speed March C+ memory BIST | |
US20080082874A1 (en) | FBM generation device and FBM generation method | |
CN110085276B (zh) | 一种多存储体集成电路自测试的调试诊断方法 | |
JP2865035B2 (ja) | 半導体記憶装置の試験方法 | |
JP3060825B2 (ja) | 半導体集積回路およびその検査方法 | |
CN100348992C (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 |