存储器及存储器的功能测试方法转让专利

申请号 : CN201811443199.X

文献号 : CN109712665B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑莉

申请人 : 上海安路信息科技有限公司

摘要 :

本申请涉及集成电路领域,公开了一种存储器及存储器的功能测试方法。此存储器包括具有N个独立存储块存储体、行列地址译码器、读写控制器、模式选择器和块选择器,所述存储器具有第一模式和第二模式两种工作状态,在所述模式选择器向所述读写控制器输出表示第一模式的信号时,所述读写控制器对所述块选择器选择的一个独立存储块读写数据;在所述模式选择器向所述读写控制器输出表示第二模式的信号时,所述读写控制器对所述N个独立存储块同时读写数据。在使用相同的外部测试设备及拥有相同存储容量的情况下,本申请涉及的存储器可以显著的缩短测试时间。

权利要求 :

1.一种存储器,其特征在于,包括:

存储体,所述存储体包括N个独立存储块,N为大于1的整数;

与所述存储体连接的行列地址译码器;

通过N条数据通路分别与所述N个独立存储块连接的读写控制器;

具有第一、第二端口的模式选择器,所述模式选择器与所述读写控制器连接,用于选通该存储器的第一、第二模式的工作状态;以及,与所述第一端口连接的块选择器,所述块选择器用于在第一模式下,对所述N个独立存储块的地址选择;

在所述模式选择器向所述读写控制器输出表示第一模式的信号时,所述读写控制器对所述块选择器选择的一个独立存储块读写数据;在所述模式选择器向所述读写控制器输出表示第二模式的信号时,所述读写控制器对所述N个独立存储块同时读写数据。

2.根据权利要求1所述的存储器,其特征在于,所述存储器是单口存储器,包括1个读写控制器。

3.根据权利要求1所述的存储器,其特征在于,所述存储器是双口存储器,包括2个读写控制器。

4.根据权利要求1所述的存储器,其特征在于,在第一模式下,所述行列地址译码器一次只选通一个存储单元;在第二模式下,所述行列地址译码器一次同时选通N个独立存储块的相同地址下的存储单元。

5.根据权利要求1所述的存储器,其特征在于,所述读写控制器还包括读控制端口,写控制端口,输入控制端口,输出控制端口,写控制电路和读控制电路。

6.根据权利要求5所述的存储器,其特征在于,所述写控制电路进一步包括:包含N个多路选择器的地址选通单元,所述地址选通单元与所述N个独立存储块连接;包含N个多路选择器的数据输入单元,所述数据输入单元与所述N个独立存储块连接;

所述读控制电路进一步包括:包含N个多路选择器的地址选通单元,所述地址选通单元与所述N个独立存储块连接;包含2个多路选择器的数据输出单元,所述数据输出单元与所述N个独立存储块连接。

7.根据权利要求1-6任意一项所述的存储器,其特征在于,所述存储体的单元数M=存储块数N*每个存储块的单元数K。

8.根据权利要求1所述的存储器,其特征在于,所述存储体包括2B个独立存储块,其中B为大于1的整数。

9.一种存储器的功能测试方法,其特征在于,

选通所述第一端口,采用地址取反算法对所述存储体的M个存储单元进行地址译码,读写放大,存储阵列的故障测试;

选通所述第二端口,采用March改善型算法对所述存储体的N个独立的存储块同时并行地进行地址译码,耦合干扰,读写放大,存储阵列的故障测试;

其中,所述存储器是权利要求3-8中任意一项所述的存储器,此存储器为双口存储器。

10.根据权利要求9所述的方法,其特征在于,所述March改善型算法包括以下步骤:地址从高到低,写全0到所有存储器单元;

地址从高到低,读双口为0,写第一口为1;

地址从低到高,读第一口为1,写第一口为0,读第一口为0,写第一口为1;同时进行,第二口读当前地址单元为1,读当前列地址+1的内容为1,读当前地址为0,读当前列地址–1的内容为0;

地址从低到高,读第一口为1,写第一口为0,读第一口为0,写第一口为1;同时进行,地址从低到高,第二口读当前地址为1,读当前行地址+1的内容为1,读当前地址为0,读当前行地址–1的内容为0;

地址从低到高,读双口为1,写第一口为0;

地址从高到低,读第二口为0,写第二口为1,读第二口为1,写第二口为0;同时进行,地址从高到低,第一口读当前地址为0,读当前列地址+1的内容为0,读当前地址为1,读当前列地址-1的内容为1;

地址从高到低,读第二口为0,写第二口为1,读第二口为1,写第二口为0;同时进行,第一口读当前地址为0,读当前行地址+1的内容为0,读当前地址为1,读当前行地址-1的内容为1;

其中,所述第一口和第二口分别为此双口存储器进行读写操作的两个端口。

说明书 :

存储器及存储器的功能测试方法

技术领域

[0001] 本申请涉及集成电路领域,特别涉及一种存储器及存储器的功能测试方法。

背景技术

[0002] 存储器(Memory)是现代信息技术中用于保存信息的记忆设备。存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1”。
[0003] 随着存储技术的发展,存储体的规模越来越大,同时所需的测试时间越来越长,严重影响存储器的生产成本。存储器的测试时间已成为存储器发展的瓶颈。
[0004] 目前大多数缩短存储器测试时间的方法是通过提高测试设备的测试速度或外加测试设备来缩短测试时间。

发明内容

[0005] 本申请的目的在于提供一种存储器及存储器的功能测试方法,在使用相同的外部测试设备及拥有相同存储容量的情况下,本申请涉及的存储器可以显著的缩短测试时间。
[0006] 为了解决上述问题,一种存储器,此存储器包括:
[0007] 存储体,该存储体包括N个独立存储块,N为大于1的整数;
[0008] 与该存储体连接的行列地址译码器;
[0009] 通过N条数据通路分别与该N个独立存储块连接的读写控制器;
[0010] 具有第一、第二端口的模式选择器,该模式选择器与该读写控制器连接,用于选通该存储器的第一、第二模式的工作状态;以及,
[0011] 与该第一端口连接的块选择器,该块选择器用于在第一模式下,对该N个独立存储块的地址选择;
[0012] 在该模式选择器向该读写控制器输出表示第一模式的信号时,该读写控制器对该块选择器选择的一个独立存储块读写数据;在该模式选择器向该读写控制器输出表示第二模式的信号时,该读写控制器对该N个独立存储块同时读写数据。
[0013] 在一个优选例中,该存储器是单口存储器,包括1个读写控制器。
[0014] 在一个优选例中,该存储器是双口存储器,包括2个读写控制器。
[0015] 在一个优选例中,在第一模式下,该行列地址译码器一次只选通一个存储单元;在第二模式下,该行列地址译码器一次同时选通N个独立存储块的相同地址下的存储单元。
[0016] 在一个优选例中,该读写控制器还包括读控制端口,写控制端口,输入控制端口,输出控制端口,写控制电路和读控制电路。
[0017] 在一个优选例中,该写控制电路进一步包括:包含N个多路选择器的地址选通单元,该地址选通单元与该N各独立存储块连接;包含N个多路选择器的数据输入单元,该数据输入单元与该N各独立存储块连接;
[0018] 该读控制电路进一步包括:包含N个多路选择器的地址选通单元,该地址选通单元与该N各独立存储块连接;包含2个多路选择器的数据输出单元,该数据输出单元与该N各独立存储块连接。
[0019] 在一个优选例中,该存储体的单元数M=存储块数N*每个存储块的单元数K。
[0020] 在一个优选例中,该存储体包括2B个独立存储块,其中B为大于1的整数。
[0021] 本申请公开了一种存储器的功能测试方法,
[0022] 选通该第一端口,采用地址取反算法对该存储体的M个存储单元进行地址译码,读写放大,存储阵列的故障测试;
[0023] 选通该第二端口,采用March改善型算法对该存储体的N个独立的存储块同时并行地进行地址译码,耦合干扰,读写放大,存储阵列的故障测试;
[0024] 其中,该存储器是前文描述的存储器,此存储器为双口存储器。
[0025] 在一个优选例中,该March改善型算法包括以下步骤:
[0026] 地址从高到低,写全0到所有存储器单元;
[0027] 地址从高到低,读双口为0,写第一口为1;
[0028] 地址从低到高,读第一口为1,写第一口为0,读第一口为0,写第一口为1;同时进行,第二口读当前地址单元为1,读当前列地址+1的内容为1,读当前地址为0,读当前列地址–1的内容为0;
[0029] 地址从低到高,读第一口为1,写第一口为0,读第一口为0,写第一口为1;同时进行,地址从低到高,第二口读当前地址为1,读当前行地址+1的内容为1,读当前地址为0,读当前行地址–1的内容为0;
[0030] 地址从低到高,读双口为1,写第一口为0;
[0031] 地址从高到低,读第二口为0,写第二口为1,读第二口为1,写第二口为0;同时进行,地址从高到低,第一口读当前地址为0,读当前列地址+1的内容为0,读当前地址为1,读当前列地址-1的内容为1;
[0032] 地址从高到低,读第二口为0,写第二口为1,读第二口为1,写第二口为0;同时进行,第一口读当前地址为0,读当前行地址+1的内容为0,读当前地址为1,读当前行地址-1的内容为1;
[0033] 其中,该第一口和第二口分别为此双口存储器进行读写操作的两个端口。
[0034] 本申请实施方式中,
[0035] (1)针对存储器的结构创新:此存储器的存储体包括N个独立的存储块,并且基于此独特的存储体结构设计其特有的读写控制电路;使在该模式选择器向该读写控制器输出表示第一模式的信号时,该读写控制器对该块选择器选择的一个独立存储块读写数据;在该模式选择器向该读写控制器输出表示第二模式的信号时,该读写控制器对该N个独立存储块同时读写数据;
[0036] (2)针对测试算法上的创新:图1是现有技术中一种存储器(一般存储器)结构图,基于此结构,如果是存储矩阵是M位,行列地址关联整个M位单元,则要对M位作March modify(march改善型)耦合干扰测试,缺点是需要的测试时间很长;而本申请涉及的新型双口存储器可以大大缩短此测试时间,即在第一模式下,采用address complement算法对此存储器进行测试,在第二模式下,采用march modify(march改善型)算法进行测试,可以很大程度上减少了测试时间。
[0037] 综上,本申请的实施方式中,通过对存储器自身结构进行改善设计,使在使用相同的外部测试设备及拥有相同存储容量的情况下,本申请涉及的存储器可以显著的缩短测试时间。
[0038] 本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。

附图说明

[0039] 图1是根据现有技术中一种存储器的结构示意图
[0040] 图2是根据本申请第一实施方式的单口存储器的结构示意图
[0041] 图3是根据本申请一种双口存储器的端口示意图
[0042] 图4是根据本申请第一和第二实施方式的写控制电路一个实施例的结构示意图[0043] 图5是根据本申请第一和第二实施方式的一个读控制电路一个实施例的结构示意图
[0044] 图6是根据本申请第三实施方式的一种双口存储器的功能测试方法的流程图[0045] 图7是根据本申请第三实施方式的一种型Address complement算法的测试方法流程图
[0046] 图8是根据本申请第三实施方式的一种March改善型算法的测试方法流程图[0047] 其中,
[0048] 1-写地址选通单元      2-数据输入单元
[0049] 3-读地址选通单元      4-数据输出单元

具体实施方式

[0050] 在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0051] 部分概念的说明:
[0052] 1.存储器的基本故障模型:
[0053] (1)固定故障(Stuck-at Fault,SAF):存储器的某个单元或某条线固定为逻辑0或逻辑1不变。
[0054] (2)状态转换故障(Transition Fault,FT):固定故障中的特殊情况,指某个单元或某个线条在经过一个写操作以后不能实现0到1或1到0的转换,分别为上升状态转换故障和下降状态转换故障。
[0055] (3)耦合故障(Coupling Fault,CF):指在两个单元当中,由于一个单元的状态转换而致使的另外一个单元的内容发生了变化。耦合故障可具体分为翻转耦合故障,幂耦合故障,动态耦合故障,桥联故障及状态耦合故障五种。翻转耦合故障(inversion Coupling Fault)是指一个单元中上升沿跳变或下降沿跳变会引起另一个单元内容的翻转;幂耦合故障(idempotent Coupling Fault)指一个单元中上升沿跳变或下降沿跳变会迫使另一个单元内容置1或置0;动态耦合故障(Dynamic Coupling Fault)幂耦合故障中的一种特殊情况,指当一个单元发生读写操作后,迫使另一个单元内容为0或1;桥联故障(Bridge Fault,BF)由两个或多个单元或线短路所引起的,分为与桥联故障和或桥联故障。与桥联故障的逻辑值是两个桥联单元逻辑值的与,或桥联故障情况亦然;状态耦合故障(State Coupling Fault)指当一个单元处于某种状态值时另一个耦合单元被置0或1.
[0056] (4)图形敏感故障(pattern Sensitive Fault,PSF):指特殊的状态耦合故障。图形敏感故障意味着在部分存储器出现一些特定的数据时,其他部分存储器的数据会受到影响。它可能是一种动态(由于数据的改变)或者静态(由于固定的数据)的故障类型,也可能是一种全局的或者只局限于附近单元的故障类型。
[0057] (5)寻址故障(Address decoder Fault,AF):行或列译码器可能访问不到寻址单元;或者多个地址访问同一个存储单元;或者一个地址访问多个单元,或者不访问所指定的单元而访问其他单元。
[0058] (6)读写放大故障:主要表现为在读写电路中,某些检测放大器的出或者写入驱动器的逻辑部分,可能产生开路、短路或者I/O固定的故障,在读写电路的数据线之间存在交叉耦合的干扰。
[0059] (7)存储阵列故障:由于存储单元阵列是存储器内规模最为复杂的一个模块,因此出现故障的概率最大,故障的类型也最为复杂,主要是由于存储器单元内的数据线开路、短路以及串扰所引起的。
[0060] 此外,存储器的故障模型还包括开路故障,(Stuck-at-Fault,SAF)维持故障(Retention Fault,RF)和相邻模式敏感故障(Neighborhood pattern Sensitive Fault,NPSF)等。
[0061] 2.March算法:功能测试、地址解码和单元干扰的一个最基本最简单的测试向量。它还能检查出连续地址错误或者干扰错误。也是存储器测试的基本算法。
[0062] 3.双口存储器:如图3所示,双口RAM是在一个SRAM存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对该存储器进行随机性的访问。即共享式多端口存储器。双口RAM最大的特点是存储数据共享。一个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元。因为数据共享,就必须存在访问仲裁控制。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配;信令交换逻辑(例如中断信号)等。双口RAM可用于提高RAM的吞吐率,适用于作于实时的数据缓存。
[0063] 4.多路选择器:在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。
[0064] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
[0065] 本申请的第一实施方式涉及一种单口存储器,其结构如图1所示,该存储器包括:具有N个独立存储块存储体,其中N为大于1的整数;与该存储体连接的行列地址译码器;通过N条数据通路分别与该N个独立存储块连接的读写控制器;具有第一、第二端口的模式选择器,该模式选择器与该读写控制器连接,用于选通该存储器的第一、第二模式的工作状态;以及与该第一端口连接的块选择器,该块选择器用于在第一模式下,对该N个独立存储块的地址选择。可选地,该存储体的单元数M=存储块数N*每个存储块的单元数K,其中M、N、K为大于1的整数。
[0066] 该存储器在两种模式下的工作情况为:(1)在该模式选择器向该读写控制器输出表示第一模式的信号时,该行列地址译码器一次只选通一个存储单元,该读写控制器对该块选择器选择的一个独立存储块读写数据;(2)在该模式选择器向该读写控制器输出表示第二模式的信号时,该行列地址译码器一次同时选通N个独立存储块的相同地址下的存储单元,该读写控制器对该N个独立存储块同时读写数据。
[0067] 可选地,该存储器包括1个读写控制器。
[0068] 可选地,如图2所示,该读写控制器包括读控制端口,写控制端口,输入控制端口,输出控制端口。
[0069] 可选地,该读写控制器还包括一个写控制电路和一个读控制电路。
[0070] 可选地,该存储器的一个写控制电路包括:包含N个多路选择器的地址选通单元,该地址选通单元与该N各独立存储块连接;包含N个多路选择器的数据输入单元,该数据输入单元与该N各独立存储块连接。
[0071] 图4为本申请一个写控制电路的一个实施例,其中N为4,此存储器的存储体包括存储块1(memory1)、存储块2(memory2)、存储块3(memory3)和存储块4(memory4),该写控制电路包括:包含4个多路选择器的写地址选通单元1,该写地址选通单元1通过写入控制总线与4个独立存储块连接,同时包含4个多路选择器的数据输入单元2,该数据输入单元通过数据总线与4独立存储块连接。
[0072] 可选地,该存储器的一个读控制电路包括:包含N个多路选择器的地址选通单元,该地址选通单元与该N各独立存储块连接;包含2个多路选择器的数据输出单元,该数据输出单元与该N各独立存储块连接。
[0073] 图5是本申请一个读控制电路的一个实施例,其中N为4,此存储器的存储体包括存储块1(memory1)、存储块2(memory2)、存储块3(memory3)和存储块4(memory4),该读控制电路包括:包含4个多路选择器的读地址选通单元3,该读地址选通单元通过读控制总线与4独立存储块连接;包含2个多路选择器的数据输出单元4,该数据输出单元与该4独立存储块连接,用于数据的输出。
[0074] 其中,图四中的“a0a1we”代表第一模式(x4mode=0:即第一模式)下,4个独立存储块的选通控制,如本实施例中有4个独立存储块,那么在第一模式(x1mode)下,四个独立存储块依次选通,即(00)选通memory1写、(01)选通memory2写、(10)选通memory3写、(11)选通memory4写;当第二模式“we”(x4mode=1时:即第二模式)下,四个块同时被选通读。
[0075] 其中,图五中的“a0a1~we”代表第一模式(x4mode=0:第一模式)下,4个独立存储块的选通控制,如本实施例中有4个独立存储块,那么在第一模式(x1mode)下,四个独立存储块依次选通,即(00)选通memory1读、(01)选通memory2读、(10)选通memory3读、(11)选通memory4读;当第二模式“~we”(x4mode=1时:即第二模式)下,四个块同时被选通读。
[0076] 本申请一个优选实施例中,该存储体包括2B个独立存储块,其中B为大于1的整数。
[0077] 需要说明的是:本申请涉及的连接包括直接连接和间接连接。
[0078] 本申请的第二实施方式涉及一种双口存储器,其结构如图1所示,该存储器包括:具有N个独立存储块的存储体,其中N为大于1的整数;与该存储体连接的行列地址译码器;
通过N条数据通路分别与该N个独立存储块连接的读写控制器;具有第一、第二端口的模式选择器,该模式选择器与该读写控制器连接,用于选通该存储器的第一、第二模式的工作状态;以及与该第一端口连接的块选择器,该块选择器用于在第一模式下,对该N个独立存储块的地址选择。可选地,该存储体的单元数M=存储块数N*每个存储块的单元数K,其中M、N、K为大于1的整数。
[0079] 该存储器在两种模式下的工作情况为:(1)在该模式选择器向该读写控制器输出表示第一模式的信号时,该行列地址译码器一次只选通一个存储单元,该读写控制器对该块选择器选择的一个独立存储块读写数据;(2)在该模式选择器向该读写控制器输出表示第二模式的信号时,该行列地址译码器一次同时选通N个独立存储块的相同地址下的存储单元,该读写控制器对该N个独立存储块同时读写数据。
[0080] 可选地,该存储器包括2个读写控制器;其中,一个读写控制电路用于控制A口,此A口用于读或写操作,另一个读写控制电路用于控制B口,用于读或写操作。
[0081] 可选地,如图1所示,每个读写控制器还包括读控制端口,写控制端口,输入控制端口,输出控制端口,写控制电路和读控制电路。
[0082] 可选地,该存储器的一个写控制电路包括:包含N个多路选择器的地址选通单元,该地址选通单元与该N各独立存储块连接;包含N个多路选择器的数据输入单元,该数据输入单元与该N各独立存储块连接。
[0083] 图4为本申请一个写控制电路的一个实施例,其中N为4,此存储器的存储体包括存储块1(memory1)、存储块2(memory2)、存储块3(memory3)和存储块4(memory4),该写控制电路包括:包含4个多路选择器的写地址选通单元1,该写地址选通单元1通过读写控制总线与4个独立存储块连接,同时包含4个多路选择器的数据输入单元2,该数据输入单元通过数据总线与4独立存储块连接。
[0084] 可选地,该存储器的一个读控制电路包括:包含N个多路选择器的地址选通单元,该地址选通单元与该N各独立存储块连接;包含2个多路选择器的数据输出单元,该数据输出单元与该N各独立存储块连接。
[0085] 图5是本申请一个读控制电路的一个实施例,其中N为4,此存储器的存储体包括存储块1(memory1)、存储块2(memory2)、存储块3(memory3)和存储块4(memory4),该读控制电路包括:包含4个多路选择器的读地址选通单元3,该读地址选通单元通过读出控制总线与4个独立存储块连接;包含2个多路选择器的数据输出单元4,该数据输出单元与该4个独立存储块连接,用于数据的输出。
[0086] 其中,图四中的“a0a1we”代表第一模式(x4mode=0:即第一模式)下,4个独立存储块的选通控制,如本实施例中有4个独立存储块,那么在第一模式(x4mode=0)下,四个独立存储块依次选通,即(00)选通memory1写、(01)选通memory2写、(10)选通memory3写、(11)选通memory4写;
[0087] 当第二模式“we”(x4mode=1时:即第二模式)下,四个块同时被选通读。
[0088] 其中,图五中的“a0a1~we”代表第一模式(x4mode=0:即第一模式)下,4个独立存储块的选通控制,如本实施例中有4个独立存储块,那么在第1模式(x1mode)下,四个独立存储块依次选通,即(00)选通memory1读、(01)选通memory2读、(10)选通memory3读、(11)选通memory4读;当第二模式“~we”(x4mode=1时:即第二模式)下,四个块同时被选通读。
[0089] 本申请一个优选实施例中,该存储体包括2B个独立存储块,其中B为大于1的整数。
[0090] 需要说明的是:本申请中涉及的“连接”包括直接连接和间接连接。
[0091] 本申请的第三实施方式涉及一种双口存储器的功能测试方法,而且本申请第二实施方式涉及的双口存储器是与本实施方式相对应的方法实施方式,第二实施方式涉及的双口存储器的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第二实施方式涉及的双口存储器。
[0092] 需要了解的是:在现有技术中,针对存储器的各种故障模型,开发了多种存储器测试算法,如March算法、Walking算法、Checkboard(棋盘)算法、Address complement(地址取反)算法、slide diagram(对角线)算法等。其中march算法是国际上常用存储器测试算法之一,具有较高的故障覆盖率和较小的时间复杂度,所以是存储器中最常用和最基本的算法,而且March算法不仅是功能测试、地址解码和单元干扰的一个最基本最简单的测试向量,它还能检查出连续地址错误或者干扰错误。
[0093] 具体的,现有技术中March算法测试的具体方法流程图如图7,具体步骤如下:
[0094] 701:先在整个存储器阵列中写入全部为0的背景;
[0095] 702:读出第一个单元,结果应该为0;
[0096] 703:把1写入第一个单元,再读出这个单元的内容,结果应该为1;
[0097] 704:对第2,3,4……单元重复上列步骤702和步骤703,直到最后第(M)单元;
[0098] 705:这是全部单元的内容均为1,即所有单元以1为背景;
[0099] 706:读出第一个单元的内容,结果应该为1;
[0100] 707:对第一个单元写0,再读出这个单元,结果应该为0;
[0101] 708:对第2,3,4……M单元重复上列步骤706和步骤707直到最后第M单元;
[0102] 其中,从第706步骤也可以倒过来进行,即是先从最后一个单元开始,依次进行到第一个单元为止。
[0103] 而本申请的March改善型(March_modify)算法,是基于March算法的,同时结合双口memory的特性(此特性为:A口,B口的操作都是基于一个存储阵列)以及考虑相邻地址的串扰故障而产生的存储器测试算法。
[0104] 具体的,本申请March改善型(March_modify)算法的存储器的功能测试方法流程图如图8,具体步骤包括:
[0105] 801:地址从高到低,写全0到所有存储器单元;
[0106] 802:地址从高到低,读双口0,写A口1;
[0107] 803:地址从低到高,A口读1,写A口0,读A口0,写A口1,同时地进行:地址从低到高,B口读当前地址单元为1,读当前列地址+1的内容为1,读当前地址为0,读当前列地址-1的内容为0;
[0108] 804:地址从低到高,A口读1写0读0写1,同时地进行:地址从低到高,B口读当前地址为1,读当前行地址+1的内容为1,读当前地址为0,读当前行地址–1的内容为0;
[0109] 805:地址从低到高,读双口1,写A口0;
[0110] 806:地址从高到低,B口读0写1读1写0,同时的进行:地址从高到低,A口读当前地址为0,读当前列地址+1的内容为0,读当前地址为1,读当前列地址-1的内容为1;
[0111] 807:地址从高到低,B口读0写1读1写0,同时的进行:地址从高到低,A口读当前地址为0,读当前行地址+1的内容为0,读当前地址为1,读当前行地址-1的内容为1。
[0112] 在本申请第三实施方式中,就整个存储器来说,在第二模式时对N个独立存储块中的存储阵列进行耦合干扰,地址译码,读写放大,存储阵列故障测试,在第一模式时对全M阵列的地址译码,读写放大,存储阵列故障测试;与一般双口存储器检查全M阵列的耦合干扰故障,地址译码,读写放大,存储阵列故障相比,本申请第三实施方式涉及的march modify算法测试和address complement算法测试对本申请第二实施方式涉及的双口存储器是完善的。
[0113] 本申请第三实施方式涉及的测试方法的流程图如图6,具体步骤如下:
[0114] 开始进入步骤601:选通所述第一端口(在第一模式下),采用地址取反(Address complement)算法对所述存储体的M个存储单元进行地址译码,读写放大,存储阵列故障测试。
[0115] 可选地,对本申请第二实施方式涉及的双口存储器测试进行根据地址取反(Address complement)算法测试时,该测试过程的具体步骤及花费周期见表1:
[0116] 表1
[0117]
[0118]
[0119] 其中,表1中M是此双口存储器的存储单元数量,设定对每个存储单元的读操作或者写操作花费时间1个周期,则将此存储器所有单元读一遍或者写一遍花费时间为M个周期,则根据address complement算法测试花费的总时间为M+2M+M+2M+M=7M个周期。
[0120] 之后进入步骤602:选通所述第二端口(在第二模式下),采用March改善型算法对所述存储体的N个独立的存储块同时并行地进行地址译码,耦合干扰,读写放大,存储阵列故障测试;其中,此存储器为双口存储器。可选地,采用March改善型算法进行地址译码,耦合干扰,读写放大,存储阵列故障测试,进一步包括检查存储单元的静态和动态干扰故障,读写放大,地址译码故障。
[0121] 本申请第三实施方式的一个实施例A是:
[0122] 开始进入步骤:选通所述第一端口(在第一模式下),采用Address complement算法对所述存储体的M个存储单元进行地址译码,读写放大,存储阵列测试。
[0123] 之后进入步骤:选通所述第二端口(在第二模式下),采用March改善型算法对所述存储体的N个独立的存储块同时并行地进行地址译码,耦合干扰,读写放大,存储阵列测试。
[0124] 针对该实施例A,对本申请第二实施方式的双口存储器进行March改善型算法的地址译码测试,耦合干扰,读写放大,存储阵列的具体步骤及花费周期见表2,其中此双口存储器的存储单元数量为M,此双口存储器的存储体包括2B个存储块。
[0125] 表2
[0126]
[0127]
[0128] 针对该实施例A,对一般双口存储器进行March改善型算法测试的具体步骤及花费周期见表3:
[0129] 表3
[0130]
[0131]
[0132] 其中,表2和表3中涉及的存储器的存储单元数量都为M,如果设定对每个存储单元的读操作或者写操作花费时间1个周期,则将此存储器所有存储单元读一遍或者写一遍,花费时间为M个周期。
[0133] 综合表2和表3,如表4所示,针对一般双口存储器采用March_modify算法进行的测试,及针对本申请第二实施方式的双口存储器同时采用March_modify算法和address complement算法进行的测试需要的测试时间的对比情况。
[0134] 表4
[0135]
[0136] 根据表4所示,对本申请第三实施方式的一个实施例A测试所需要的时间分析如下:
[0137] 一般双口存储器测试总时间=21*M;
[0138] 本申请第一实施方式存储器(限定双口)测试总时间=7*M+21*M/2B;
[0139] 所以,本申请第一实施方式存储器(限定双口)测试总时间比一般双口存储器的测试时间节约(21*M-7*M-21*M/2B)=14M-21*M/2B个周期,可节约 的时间,其中,M和B是大于1的整数。举例说明:当2B=2时,可节约16.67%的时间;当2B=4时,可节约41.67%的时间。
[0140] 综上,本申请涉及的第二实施方式涉及的双口存储器结合第三实施方式涉及的地址译码,读写放大,存储阵列测试可以大大缩短存储器的测试时间,测试时间缩短的效果显著。
[0141] 需要说明的是:除本申请涉及的耦合故障(耦合干扰),读写放大,存储阵列的故障测试,还有都适用于本申请第三实施方法的测试方法,都在本申请的保护范围之内;同时,本申请第三实施方式的测试方法的实际应用中,对同等大小的存储器,在相同覆盖率的情况下提高了测试速度,并且本申请第三实施方式中的march_modify算法和现有技术的march算法相比,有更高的故障覆盖率。
[0142] 需要说明的是,本申请中涉及的A口和B口是针对双口存储器的两个读写操作口。
[0143] 需要说明的是,本申请中涉及的一般存储器和一般双口存储器指的是现有技术的存储器,它不具有本申请第二实施方式涉及的双口存储器的存储器结构,此存储器结构包括:(1)此存储器具有N个独立的存储块,且其读写控制器可以同时对所述N个独立的存储块进行读操作或写操作;(2)此存储器具有第一和第二模式两种工作状态;等。
[0144] 需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
[0145] 在本申请提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。