掌桥专利:专业的专利平台
掌桥专利
首页

存储器测试修复电路、存储装置和存储器测试修复方法

文献发布时间:2023-06-19 15:47:50



技术领域

本公开涉及存储器测试技术,尤其涉及一种存储器测试修复电路、存储装置和存储器测试修复方法。

背景技术

在存储器,例如动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)的生产中,需要对存储器进行测试。在测试存储器时,一般是向存储器中输入多位比特的测试数据,一段时间后,再从该存储器中读出存储数据,通过比较写入的测试数据与读出的存储数据来判断存储器中哪些存储单元出现异常。

最常见的测试存储器的方法是存储器内建自测试(Memory Build-In-Self Test,简称MBIST),“内建”的含义是指存储器的测试数据不是由外部测试机台(Auto-Test-Equipment,简称ATE)生成,而是由内部的存储器测试逻辑(逻辑芯片)自动产生,并由逻辑芯片进行结果的对比。存储器内建自测试使用的MBIST电路包括MBIST控制电路、地址向量产生器、测试数据产生器和响应分析器。MBIST控制电路用于控制向待测存储器中写入数据或读取数据,地址向量产生器用于定义数据写入位置,测试数据产生器用于产生测试数据,响应分析器用于对读出的数据和写入的数据进行比较。

但是传统的MBIST电路只能对读出的数据是否正确进行判断,功能太过单一,如何扩展MBIST电路的功能、提高存储器内建自测试的效果,仍然是亟待解决的问题。

发明内容

本公开提供一种存储器测试修复电路、存储装置和存储器测试修复方法,用于扩展MBIST电路的功能、提高存储器内建自测试的效果。

一方面,本公开提供一种存储器测试修复电路,用于对待测存储器进行修复,所述待测存储器包括至少一个待测存储芯片,所述存储器测试修复电路包括:

错误检查与纠正电路,其输出端与每个所述待测存储芯片连接,用于向所述待测存储芯片写入测试数据以及预设时长后从所述待测存储芯片中读出存储数据,并在所述存储数据与所述测试数据不一致时,输出不一致数据的地址编码;

存储电路,与所述错误检查与纠正电路的输出端连接,用于存储所述错误检查与纠正电路输出的所述不一致数据的地址编码;

内建自修复电路,用于根据所述不一致数据的地址编码对所述待测存储器进行修复。

在一个可选的实施例中,还包括:

测试数据写入电路,其输出端与所述错误检查与纠正电路的输入端连接,用于生成所述测试数据和所述测试数据的地址向量。

在一个可选的实施例中,还包括:

内建自测试控制电路,与所述测试数据写入电路的输入端、所述存储电路的输出端连接,用于控制所述测试数据写入电路生成所述测试数据和所述测试数据的地址向量,以及用于从所述存储电路中读出所述不一致数据的地址编码;

所述内建自修复电路与所述内建自测试控制电路连接,且与所述待测存储芯片连接,用于在所述内建自测试控制电路的控制下对所述待测存储器进行修复。

在一个可选的实施例中,每个所述待测存储芯片上设置有参数设定电路,所述参数设定电路用于对所述待测存储芯片的运行参数进行设定,所述存储器测试修复电路还包括:

芯片参数配置电路,与所述参数设定电路连接,用于向所述参数设定电路输入参数编码,以使所述参数设定电路根据所述参数编码设定所述待测存储芯片的运行参数。

在一个可选的实施例中,所述参数编码包括参数名称编码和参数取值编码。

在一个可选的实施例中,所述测试数据被所述错误检查与纠正电路编码后写入至所述待测存储芯片,所述错误检查与纠正电路还用于将所述错误检查与纠正电路生成的检查数据写入至所述待测存储芯片,所述测试数据与所述检查数据写入至所述待测存储芯片的位置不同。

在一个可选的实施例中,所述待测存储器包括多个堆叠设置的待测存储芯片。

另一方面,本公开提供一种存储装置,包括:

待测存储器,包括至少一个待测存储芯片和错误检查与纠正电路,所述错误检查与纠正电路的输出端与每个所述待测存储芯片连接,所述错误检查与纠正电路用于向所述待测存储芯片写入测试数据以及预设时长后从所述待测存储芯片中读出存储数据,并在所述存储数据与所述测试数据不一致时,输出不一致数据的地址编码;

存储器测试修复电路,与所述错误检查与纠正电路的输入端和输出端连接,用于向所述错误检查与纠正电路输入所述测试数据和所述测试数据的地址向量,以及根据所述不一致数据的地址编码对所述待测存储器进行修复。

在一个可选的实施例中,所述存储器测试修复电路包括:

存储电路,与所述错误检查与纠正电路的输出端连接,用于存储所述错误检查与纠正电路输出的所述不一致数据的地址编码;

内建自修复电路,用于根据所述不一致数据的地址编码对所述待测存储器进行修复。

在一个可选的实施例中,所述存储器测试修复电路还包括:

测试数据写入电路,其输出端与所述错误检查与纠正电路的输入端连接,用于生成所述测试数据和所述测试数据的地址向量。

在一个可选的实施例中,所述存储器测试修复电路还包括:

内建自测试控制电路,与所述测试数据写入电路的输入端和所述存储电路连接,用于控制所述测试数据写入电路生成所述测试数据和所述地址向量,以及用于从所述存储电路中读出所述不一致数据的地址编码;

所述内建自修复电路与所述内建自测试控制电路连接,且与所述待测存储芯片连接,用于在所述内建自测试控制电路的控制下对所述待测存储器进行修复。

在一个可选的实施例中,每个所述待测存储芯片上设置有参数设定电路,所述参数设定电路用于对所述待测存储芯片的运行参数进行设定,所述存储器测试修复电路还包括:

芯片参数配置电路,与所述参数设定电路连接,用于向所述参数设定电路输入参数编码,以使所述参数设定电路根据所述参数编码设定所述待测存储芯片的运行参数。

在一个可选的实施例中,所述参数编码包括参数名称编码和参数取值编码。

在一个可选的实施例中,所述测试数据被所述错误检查与纠正电路编码后写入至所述待测存储芯片,所述错误检查与纠正电路还用于将所述错误检查与纠正电路生成的检查数据写入至所述待测存储芯片,所述测试数据与所述检查数据写入至所述待测存储芯片的位置不同。

在一个可选的实施例中,所述待测存储器包括多个堆叠设置的待测存储芯片。

另一方面,本公开提供一种存储器测试修复方法,应用于如上任一项实施例提供的存储器测试修复电路,所述方法包括:

控制测试数据写入电路向错误检查与纠正电路输入测试数据和测试数据的地址向量;

所述错误检查与纠正电路根据所述测试数据的地址向量将编码后的测试数据写入至待测存储器的待测存储芯片;

预设时长后,所述错误检查与纠正电路从所述待测存储芯片中读出存储数据,比较所述测试数据与所述存储数据;当所述测试数据与所述存储数据不一致时,输出不一致数据的地址编码;

存储电路存储所述错误检查与纠正电路输出的所述不一致数据的地址编码;

内建自修复电路根据所述不一致数据的地址编码对所述待测存储器进行修复。

在一个可选的实施例中,所述控制测试数据写入电路向所述错误检查与纠正电路输入测试数据和测试数据的地址向量包括:

内建自测试控制电路接收数据写入指令后,控制测试数据写入电路向所述错误检查与纠正电路输入测试数据和测试数据的地址向量;

所述内建自修复电路根据所述不一致数据的地址编码对所述待测存储器进行修复包括:

所述内建自测试控制电路检测到所述存储电路中存储有地址编码时,将所述不一致数据的地址编码发送至所述内建自修复电路,由所述内建自修复电路根据所述不一致数据的地址编码对所述待测存储器进行修复。

在一个可选的实施例中,当每个所述待测存储芯片上设置有参数设定电路,所述存储器测试修复电路设置有芯片参数配置电路时,在所述内建自测试控制电路控制所述测试数据写入电路向所述错误检查与纠正电路输入测试数据和测试数据的地址向量之前,所述方法还包括:

所述芯片参数配置电路向所述参数设定电路输入参数编码,以使所述参数设定电路根据所述参数编码设定所述待测存储芯片的运行参数。

在一个可选的实施例中,还包括:

错误检查与纠正电路生成检查数据,并将所述检查数据写入至所述待测存储芯片中指定的存储位。

在一个可选的实施例中,所述测试数据和所述检查数据同时写入所述待测存储芯片。

本公开的实施例提供的存储器测试修复电路包括错误检查与纠正电路、测试数据写入电路、存储电路、内建自测试控制电路和内建自修复电路。该错误检查与纠正电路用于输出不一致数据的地址编码,该不一致数据的地址编码即待测存储芯片中出现问题(即出现存储错误)的存储位的编码。该存储电路用于存储该不一致数据的地址编码,该内建自测试控制电路控制该内建自修复电路根据该不一致数据的地址编码对该待测存储器中出现问题的待测存储芯片进行修复。除此之外,还可以设定待测存储芯片在特定环境下进行测试,实现个性化测试的目的。如此,本公开的实施例提供的该存储器测试修复电路不仅可以确认出异常存储位,还可以对异常存储位所在的芯片、存储器进行修复,功能多样,提升了存储器内建自测试的效果。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开提供的现有技术使用的内建自测试电路的示意图;

图2为本公开的一个实施例提供的存储器测试修复电路的结构示意图;

图3为本公开的一个实施例提供的存储器测试修复电路写入测试数据和读出存储数据的示意图;

图4为本公开的又一个实施例提供的存储器测试修复电路的另一个结构示意图;

图5为本公开的另一个实施例提供的存储器测试修复电路的另一个结构示意图;

图6为本公开的一个实施例提供的参数编码的示意图;

图7为本公开的一个实施例提供的芯片参数配置电路的工作示意图;

图8为本公开的另一个实施例提供的芯片参数配置电路的工作示意图;

图9为本公开的一个实施例提供的存储装置的示意图;

图10为本公开的另一个实施例提供的存储装置的示意图;

图11为本公开的一个实施例提供的存储器测试修复方法的流程示意图。

附图标号说明:

存储器测试修复电路 10

ECC电路 100

存储电路 200

BISR电路 300

测试数据写入电路 400

内建自测试控制电路 500

芯片参数配置电路 600

待测存储器 20

待测存储芯片 21

参数设定电路 22

ECC电路 23

存储装置 30

存储器测试修复电路 40

存储电路 41

内建自修复电路 42

测试数据写入电路 43

内建自测试控制电路 44

芯片参数配置电路 45

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在存储器,例如动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)的生产中,需要对存储器进行测试。在测试存储器时,一般是向存储器中输入多位比特的测试数据,一段时间后,再从该存储器中读出存储数据,通过比较写入的测试数据与读出的存储数据来判断存储器中哪些存储单元出现异常。最常见的测试存储器的方法是存储器内建自测试(Memory Build-In-Self Test,简称MBIST),“内建”的含义是指存储器的测试数据不是由外部测试机台(Auto-Test-Equipment,简称ATE)生成,而是由内部的存储器测试逻辑(逻辑芯片)自动产生,并由逻辑芯片进行结果的对比。

如图1所示为现有技术在进行存储器内建自测试时使用的MBIST电路的一个示意图。存储器内建自测试使用的MBIST电路包括MBIST控制电路、地址向量产生器、测试数据产生器和响应分析器。MBIST控制电路用于控制向待测存储器中写入数据或读取数据,地址向量产生器用于定义数据写入位置,测试数据产生器用于产生测试数据,响应分析器用于对读出的数据和写入的数据进行比较。

本公开提供一种存储器测试修复电路、存储装置和存储器测试修复方法。该存储器测试修复电路包括错误检查与纠正电路(Error Correcting Code,简称ECC电路),存储电路(Random Access Memory,简称RAM)、内建自修复电路(Built-In Self Repair,简称BISR电路)。该ECC电路向该待测存储芯片写入测试数据以及预设时长后从该待测存储芯片中读出存储数据,并在该存储数据与该测试数据不一致时,输出不一致数据的地址编码。该存储电路存储该错误检查与纠正电路输出的该不一致数据的地址编码。该BISR电路根据该不一致数据的地址编码对该待测存储器进行修复。

本公开实施例提供的存储器测试修复电路在对存储器进行测试时,不仅可以测出异常存储单元(造成写入数据与读出数据不一致的存储单元)所在的地址,还可以存储写入数据和读出数据中不一致数据的地址编码,以及还可以对存储器进行修复。由此,丰富了存储器内建自测试的功能,提升了存储器内建自测试的效果。

请参见图2,本公开的一个实施例提供一种存储器测试修复电路10,用于对待测存储器20进行修复,该待测存储器20包括至少一个待测存储芯片21,图2所示为待测存储器20包含多个待测存储芯片21,但并不对待测存储器20中待测芯片21的数量造成限定。

在一个可选的实施例中,如图2所示,该待测存储器20包括多个堆叠设置的待测存储芯片21,堆叠设置的方式可以根据实际需要设置,本实施例不做限定。

该存储器测试修复电路10包括错误检查与纠正电路(简称ECC电路)100、存储电路200和内建自修复电路(简称BISR电路)300。以下为了描述清晰,均以ECC电路100代表错误检查与纠正电路100,以BISR电路300代表内建自修复电路300。

该ECC电路100的输出端与每个该待测存储芯片21连接。该ECC电路100与该待测存储芯片21的连接指的是信号连接,或者也可以包括电连接。该ECC电路100用于向该待测存储芯片21写入测试数据,以及预设时长后从该待测存储芯片21中读出存储数据。该ECC电路100还用于在该存储数据与该测试数据不一致时,输出不一致数据的地址编码。

在数字电路中,最小的数据单位为“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”来表示数据高电平信号,以数据“0”来表示数据低电平信号。在数字电路中,一般是8个连续的比特(数据位)组成一个字节(byte),该ECC电路100向该待测存储芯片21中写入的测试数据是包含至少一个字节的数据。

该测试数据被该ECC电路100编码后写入至该待测存储芯片21。该ECC电路100还用于将自身生成的检查数据一并写入至该待测存储芯片21,但是该测试数据和该检查数据写入至该待测存储芯片21的位置不同。如图3(a)所示,写入到该待测存储芯片21中的包含Data to memory(测试数据)和Check bits(检查数据,也可以理解为是校验位)。即,该ECC电路100是在测试数据中的数据位上外加校验位(即检查数据)来实现测试数据的编码。

如果测试数据中的数据位是8位,则需要增加5位校验位来进行ECC错误检查和纠正。数据位每增加一倍,该ECC电路100在进行测试数据编码时只增加一位检验位,也就是说当测试数据中的数据位为16位时,外加的校验位为6位,当测试数据中的数据位为32位时,外加的校验位为7位,当测试数据中的数据位为64位时,外加的校验位为8位。依此类推,数据位每增加一倍,外加的校验位只增加一位。ECC有更多位数的校验位时,容错能力更强。

除此之外,在该ECC电路100向该待测存储芯片21写入测试数据时,是根据测试数据的地址向量写入的,测试数据的地址向量定义了测试数据要写入的存储位。同样的,校验位在写入时也会有预设的位置。每个存储位都有地址编码。若测试数据中某一位出现存储错误,就会使该ECC电路100在预设时长后从该待测存储芯片21中读出的存储数据与写入的测试数据不同,出现fail bit。此时,由该ECC电路100输出不一致数据(即不一致数据位fail bit)的地址编码。同样的,当写入的检查数据与读出的检查数据不一致时,由该ECC电路100输出不一致数据的地址编码。该地址编码指的是不一致数据所在存储位的地址编码。

请结合图2和图3(b),该存储电路200与该ECC电路100的输出端连接,该存储电路200用于存储该ECC电路100输出的该不一致数据的地址编码(Fail bit address)。当该ECC电路100没有输出不一致数据的地址编码时,该存储电路200无需有存储动作。该存储电路200可以是自动存储该不一致数据的地址编码,也可以是在其他电路,例如以下描述的内建自测试控制电路500的控制下完成不一致数据的地址编码的存储。

该BISR电路300用于根据该不一致数据的地址编码对该待测存储器20进行修复。该BISR电路300包括一种修复算法,该修复算法用于判断待测存储器20中的故障存储单元是否可修复,并通过软件来执行逻辑修复。在一个可选的实施例中,该BISR电路300在接收到不一致数据的地址编码后,根据不一致数据的地址编码确定该待测存储器20中出现故障的存储单元,再启用该修复算法,判断出现故障的存储单元是否可修复,如果可以修复,则执行逻辑进行修复。

由此,本实施例提供的存储器测试修复电路10包括ECC电路100、存储电路200和BISR电路300。该ECC电路100用于输出不一致数据的地址编码,该不一致数据的地址编码即待测存储芯片21中出现问题(即出现存储错误)的存储位的编码。该存储电路200用于存储该不一致数据的地址编码,该BISR电路300用于根据该不一致数据的地址编码对该待测存储器20进行修复。

本实施例提供的存储器测试修复电路10在对存储器进行测试时,不仅可以测出异常存储单元(造成写入数据与读出数据不一致的存储单元)所在的地址,还可以存储写入数据和读出数据中不一致数据的地址编码,以及还可以对存储器进行修复。相比于现有技术在进行存储器内建自测试时使用的MBIST电路,本实施例提供的存储器测试修复电路10至少丰富了存储器内建自测试的功能,提升了存储器内建自测试的效果。

请参见图4,本公开提供的又一个实施例中,在第一个实施例的基础上对该存储器测试修复电路10进行进一步的描述。在本实施例中,该存储器测试修复电路10还包括测试数据写入电路400(Address/Data Generator),该测试数据写入电路400的输出端与该ECC电路100的输入端连接,用于生成该测试数据和该测试数据的地址向量。在一个可选的实施例中,该存储器测试修复电路10还包括内建自测试控制电路500(Memory Build-In-SelfTest,简称MBIST电路),该内建自测试控制电路500与该测试数据写入电路400的输入端、该存储电路200的输出端连接。该内建自测试控制电路500用于控制该测试数据写入电路400生成该测试数据和该测试数据的地址向量,以及用于从该存储电路200中读出该不一致数据的地址编码。

工作人员可以通过控制该内建自测试控制电路500来控制该待测存储器20的测试。例如可以从机台通过JTAG标准接口向该内建自测试控制电路500下达测试的指令。该内建自测试控制电路500接收到测试的指令后,控制该测试数据写入电路400生成该测试数据和该测试数据的地址向量。待该存储电路200中存储有不一致数据的地址编码时,该内建自测试控制电路500从该存储电路200中读取该不一致数据的地址编码。该内建自测试控制电路500再控制该BISR电路300根据该不一致数据的地址编码对该待测存储器20进行修复。

该BISR电路300与该内建自测试控制电路500连接,且与该待测存储芯片21连接,用于在该内建自测试控制电路500的控制下对该待测存储器20进行修复。具体的,该BISR电路300与该内建自测试控制电路500信号连接,可以利用该不一致数据的地址编码对该待测存储器20进行修复。

本实施例提供的存储器测试修复电路10包括该ECC电路100、存储电路200、BISR电路300、测试数据写入电路400和内建自测试控制电路500。该ECC电路100用于输出不一致数据的地址编码,该不一致数据的地址编码即待测存储芯片21中出现问题(即出现存储错误)的存储位的编码。该存储电路200用于存储该不一致数据的地址编码,该内建自测试控制电路500控制该BISR电路300根据该不一致数据的地址编码对该待测存储器20中出现问题的待测存储芯片21进行修复。如此,本公开的实施例提供的该存储器测试修复电路10不仅可以确认出异常存储位,还可以对异常存储位所在的芯片、存储器进行修复,功能多样,提升了存储器内建自测试的效果。

请参见图5,本公开提供另一个实施例中,在以上任意一个实施例的基础上对该存储器测试修复电路10进行进一步的描述。在本实施例中,每个该待测存储芯片21上还设置有参数设定电路22,该参数设定电路22用于对该待测存储芯片21的运行参数进行设定。该参数设定电路22例如为具有实现特定辅助性设计的DFT(Design For Test)功能的电路。

对应的,该存储器测试修复电路10还包括芯片参数配置电路600。该芯片参数配置电路600与该参数设定电路22连接,用于向该参数设定电路22输入参数编码(CMD code),以使该参数设定电路22根据该参数编码设定该待测存储芯片21的运行参数。

该参数编码包括参数名称编码和参数值编码,参数名称编码用于定义该待测存储芯片21的运行参数都有什么,参数值编码用于定义该待测存储芯片21的运行参数的值。例如图6为一种参数编码的示意图,其中P4~P0用于定义该待测存储芯片21的运行参数都有什么,D4~D0用于定义该待测存储芯片21的运行参数的值。该参数编码还可以包括CLK时钟,CLK时钟限定了参数变化的频率和时间周期。需要说明的是,只有在待测存储芯片21处于高电平状态下时,输入该参数编码才有效。该参数编码的长度可以根据实际需要设定,本实施例不做限定。该参数编码可以根据实际需要设定,本实施例不做限定。

例如图7所示,该芯片参数配置电路600可以通过设定于待测存储芯片21上的参数设定电路22,同时对该待测存储器20中的所有待测存储芯片21进行运行参数的设定。例如图8所示,也可以单独对任意一个待测存储芯片21进行运行参数的设定。

通过对待测存储芯片21的运行参数进行设定,可以使得待测存储芯片21处于特定的运行环境,实现在待测存储芯片21处于特定运行环境下进行测试的目的。例如,可以使得一个待测存储芯片21处于电压最大的状态,在电压最大的状态下再测试该一个待测存储芯片21是否存在异常存储位,如果有异常存储位,该ECC电路100会输出该不一致数据的地址编码。

在本实施例中,通过该参数编码设定待测存储芯片21的运行参数可以在测试待测存储芯片21之前进行,也可以在测试待测存储芯片21之中进行。优选的,在测试待测存储芯片21之前,设定待测存储芯片21的运行参数。

通过该参数编码设定待测存储芯片21的运行参数可以使得待测存储芯片21处于预设的运行环境,可以更有针对性得对待测存储芯片21处于预设运行环境下时的运行状况进行测试。

请参见图9和图10,本公开的又一个实施例提供一种存储装置30,该存储装置30包括待测存储器20和存储器测试修复电路40。

该待测存储器20包括至少一个待测存储芯片21和错误检查与纠正电路(ECC电路)23。该ECC电路23设置于该待测存储器20中,且该ECC电路23的输出端与每个该待测存储芯片21连接。该ECC电路23用于向该待测存储芯片21写入测试数据以及预设时长后从该待测存储芯片21中读出存储数据,并在该存储数据与该测试数据不一致时,输出不一致数据的地址编码。该测试数据被该ECC电路23编码后写入至该待测存储芯片21,该ECC电路23还用于将该ECC电路23生成的检查数据写入至该待测存储芯片21,该测试数据与该检查数据写入至该待测存储芯片21的位置不同。

可选的,该待测存储器20包括多个堆叠设置的待测存储芯片21。

该存储器测试修复电路40与该ECC电路23的输入端和输出端连接,用于向该ECC电路23输入该测试数据和该测试数据的地址向量,以及根据该不一致数据的地址编码对该待测存储器20进行修复。

在一个可选的实施例中,该存储器测试修复电路40包括存储电路41和内建自修复电路42。该存储电路41与该ECC电路23的输出端连接,用于存储该ECC电路23输出的该不一致数据的地址编码。该内建自修复电路42用于根据该不一致数据的地址编码对该待测存储器20进行修复。

关于该ECC电路23、该存储电路41和该内建自修复电路42的相关描述可以参考以上任一项实施例中关于该ECC电路100、该存储电路200和该BISR电路300的相关描述,此处不再赘述。

在一个可选的实施例中,该存储器测试修复电路40还包括测试数据写入电路43。该测试数据写入电路43的输出端与该ECC电路23的输入端连接,用于生成该测试数据和该测试数据的地址向量。

在一个可选的实施例中,该存储器测试修复电路40还包括内建自测试控制电路44。该内建自测试控制电路44与该测试数据写入电路43的输入端和该存储电路41连接,用于控制该测试数据写入电路生成该测试数据和该地址向量,以及用于从该存储电路中读出该不一致数据的地址编码。该内建自修复电路42与该内建自测试控制电路44连接,且与该待测存储芯片21连接,用于在该内建自测试控制电路44的控制下对该待测存储器20进行修复。

关于该测试数据写入电路43和该内建自测试控制电路44的相关描述可以参考以上任一项实施例中关于该测试数据写入电路400和该内建自测试控制电路500的相关描述,此处不再赘述。

在一个可选的实施例中,每个该待测存储芯片21上设置有参数设定电路22,该参数设定电路22用于对该待测存储芯片21的运行参数进行设定。对应的,该存储器测试修复电路40还包括芯片参数配置电路45。该芯片参数配置电路45与该参数设定电路22连接,用于向该参数设定电路22输入参数编码,以使该参数设定电路22根据该参数编码设定该待测存储芯片21的运行参数。该参数编码包括参数名称编码和参数取值编码。

关于该参数设定电路22、该芯片参数配置电路45、参数编码和待测存储芯片21的运行参数的相关描述可以参考以上任一项实施例中关于该参数设定电路22、该芯片参数配置电路600、参数编码和待测存储芯片21的运行参数的相关描述,此处不再赘述。

本实施例提供的该存储装置30,将ECC电路23设置在了待测存储器20中,使得ECC电路23与待测存储芯片21的交互时间更短。除此之外,本实施例提供的该存储装置30可以测出待测存储器20中的异常存储单元(造成写入数据与读出数据不一致的存储单元)所在的地址,还可以存储写入数据和读出数据中不一致数据的地址编码,以及还可以对存储器进行修复。本实施例提供的该存储装置30还可以根据实际需要设定待测存储芯片21的运行环境,使得待测存储芯片21的测试更具有针对性和实用性。因此,本实施例提供的该存储装置30丰富了存储器内建自测试的功能,提升了存储器内建自测试的效果。

请参见图11,本公开的又一个实施例提供一种存储器测试修复方法,应用于如以上任一项实施例提供的存储器测试修复电路10。

该存储器测试修复方法包括:

S1101,控制测试数据写入电路向错误检查与纠正电路输入测试数据和测试数据的地址向量。

在数字电路中,最小的数据单位为“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”来表示数据高电平信号,以数据“0”来表示数据低电平信号。在数字电路中,一般是8个连续的比特(数据位)组成一个字节(byte),该ECC电路100向该待测存储芯片21中写入的测试数据是包含至少一个字节的数据。

该测试数据写入电路400向该ECC电路100(即该错误检查与纠正电路100)输入的测试数据是包含多个字节的数据,该地址向量用于定位数据要存入的存储位。

可选的,是由内建自测试控制电路500接收数据写入指令后,控制测试数据写入电路向该ECC电路100输入测试数据和测试数据的地址向量。

S1102,该错误检查与纠正电路根据该测试数据的地址向量将编码后的测试数据写入至待测存储器的待测存储芯片。

该测试数据被该ECC电路100编码后写入至该待测存储芯片21。

该ECC电路100还用于生成检查数据,并将该检查数据写入至该待测存储芯片21中指定的存储位。该测试数据和该检查数据同时写入该待测存储芯片21,但是该测试数据和该检查数据写入至该待测存储芯片21的位置不同。写入到该待测存储芯片21中的包含Datato memory(测试数据)和Check bits(检查数据,也可以理解为是校验位)。即,该ECC电路100是在测试数据中的数据位上外加校验位(即检查数据)来实现测试数据的编码。

如果测试数据中的数据位是8位,则需要增加5位校验位来进行ECC错误检查和纠正。数据位每增加一倍,该ECC电路100在进行测试数据编码时只增加一位检验位,也就是说当测试数据中的数据位为16位时,外加的校验位为6位,当测试数据中的数据位为32位时,外加的校验位为7位,当测试数据中的数据位为64位时,外加的校验位为8位。依此类推,数据位每增加一倍,外加的校验位只增加一位。ECC有更多位数的校验位时,容错能力更强。

除此之外,在该ECC电路100向该待测存储芯片21写入测试数据时,是根据测试数据的地址向量写入的,测试数据的地址向量定义了测试数据要写入的存储位。同样的,校验位在写入时也会有预设的位置。每个存储位都有地址编码。

S1103,预设时长后,该错误检查与纠正电路从该待测存储芯片中读出存储数据,比较该测试数据与该存储数据;当该测试数据与该存储数据不一致时,输出不一致数据的地址编码。

若测试数据中某一位出现存储错误,就会使该ECC电路100在预设时长后从该待测存储芯片21中读出的存储数据与写入的测试数据不同,出现fail bit。此时,由该ECC电路100输出不一致数据(即不一致数据位fail bit)的地址编码。同样的,当写入的检查数据与读出的检查数据不一致时,由该ECC电路100输出不一致数据的地址编码。该地址编码指的是不一致数据所在存储位的地址编码。

S1104,存储电路存储该错误检查与纠正电路输出的该不一致数据的地址编码。

当该ECC电路100没有输出不一致数据的地址编码时,该存储电路200无需有存储动作。该存储电路200可以是自动存储该不一致数据的地址编码,也可以是在其他电路,例如以下描述的内建自测试控制电路500的控制下完成不一致数据的地址编码的存储。

S1105,内建自修复电路根据该不一致数据的地址编码对该待测存储器进行修复。

该BISR电路300(即该内建自修复电路300)用于根据该不一致数据的地址编码对该待测存储器20进行修复。该BISR电路300包括一种修复算法,该修复算法用于判断待测存储器20中的故障存储单元是否可修复,并通过软件来执行逻辑修复。在一个可选的实施例中,该BISR电路300在接收到不一致数据的地址编码后,根据不一致数据的地址编码确定该待测存储器20中出现故障的存储单元,再启用该修复算法,判断出现故障的存储单元是否可修复,如果可以修复,则执行逻辑进行修复。

可选的,该内建自测试控制电路500检测到该存储电路200中存储有地址编码时,将该不一致数据的地址编码发送至该BISR电路300,由该BIST电路300根据该不一致数据的地址编码对该待测存储器20进行修复。

在其中一个可选的实施例中,当每个该待测存储芯片21上设置有参数设定电路22,该存储器测试修复电路设置有芯片参数配置电路600时,该芯片参数配置电路600向该参数设定电路22输入参数编码,以使该参数设定电路22根据该参数编码设定该待测存储芯片21的运行参数。

本实施例提供的存储器测试修复方法描述了该存储器测试修复电路10在进行待测存储器20的测试时的具体实现方式。存储器测试修复电路在对存储器进行测试时,不仅可以测出异常存储单元(造成写入数据与读出数据不一致的存储单元)所在的地址,还可以存储写入数据和读出数据中不一致数据的地址编码,以及还可以对存储器进行修复。还可以根据实际需要设定待测存储芯片21的运行环境,使得待测存储芯片21的测试更具有针对性和实用性。因此,本实施例提供的存储器测试修复方法至少丰富了存储器内建自测试的功能,提升了存储器内建自测试的效果。

以上仅为本公开的实施例,并非因此限制本公开的专利范围,凡是利用本公开说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开的专利保护范围内。

本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

技术分类

06120114581788