测试图案发生器以及用于产生测试图案的方法与流程

文档序号:22681812发布日期:2020-10-28 12:43阅读:168来源:国知局
测试图案发生器以及用于产生测试图案的方法与流程

相关申请的交叉引用

本申请要求2019年4月17日提交的申请号为10-2019-0045103的韩国专利申请的优先权,其公开内容通过引用整体合并于此。

各个实施例涉及一种用于产生存储器的测试图案(testpattern)的测试图案发生器。



背景技术:

随着计算系统的进步,存储器容量正在增大并且增添了新的功能。例如,存储器中命令集的数量和存储体的数量正在增大。当命令集的类型和存储体的数量增加时,需要验证的测试图案的数量可能会成倍地增加。例如,低功耗双倍数据速率5(lpddr5)存储器的命令集比lpddr4存储器多60%,并且其存储体的数量是lpddr4存储器中的存储体的数量的两倍。为了测试lpddr5存储器而需要验证的测试图案的类型可能是lpddr4存储器的数百倍大。

当测试存储器时随机地产生测试图案。随着测试时间的增加,测试图案彼此重叠的可能性可能会增大。也就是说,已经测试过的测试图案很有可能再次进行测试,因此测试覆盖范围可能会饱和。



技术实现要素:

本发明的实施例针对具有减少的测试图案重叠的测试图案发生器。

根据本发明的实施例,一种测试图案发生器包括:随机命令地址发生器,其适用于产生n个组合,每个组合为命令与地址的组合,其中,n是大于或等于2的整数;地址转换器,其适用于将所述n个组合转换为n维地址;历史记录储存电路,其基于所述n维地址而被访问;以及控制器,其适用于当所述历史记录储存电路中基于所述n维地址而被访问的区域中的值指示未命中时,将所述n个组合分类为发布目标。

根据本发明的另一实施例,一种测试图案发生器包括:随机命令地址发生器,其适用于产生多个组合,每个组合为命令与存储体地址的组合,所述多个组合包括第一组合、第二组合和第三组合;图案储存电路,其适用于储存所述多个组合;地址转换器,其适用于将所述第一组合转换为第一轴地址,将所述第二组合转换为第二轴地址,并将所述第三组合转换为第三轴地址;历史记录储存电路,其基于所述第一轴地址、第二轴地址和第三轴地址而被访问;以及控制器,其适用于当所述历史记录储存电路中基于所述第一轴地址、第二轴地址和第三轴地址而被访问的区域中的值指示未命中时,控制第一组合至第三组合作为发布目标被储存在图案储存电路中。

根据本发明的又一实施例,一种用于产生测试图案的方法包括:随机产生n个组合,每个组合为命令与地址的组合,其中n是大于或等于2的整数;将n个组合转换为n维地址;基于n维地址来访问历史记录储存电路;检测历史记录储存电路中基于所述n维地址而被访问的区域中的值是否指示未命中;以及响应于检测到未命中而将n个组合分类为发布目标。

根据本发明的又另一实施例,一种用于产生测试图案的方法包括:随机产生n个组合,每个组合为命令与存储体地址的组合,所述n个组合包括第一组合、第二组合和第三组合,其中n是大于或等于2的整数;将n个组合转换为n维地址;基于n维地址来访问历史记录储存电路;检测历史记录储存电路中基于n维地址而被访问的区域中的值是否指示未命中;以及响应于检测到命中而改变所述n个组合。

根据本发明的又另一实施例,一种测试图案发生器包括:随机命令发生器,其适用于选择当前状态下的当前命令,并使用所述当前命令和先前状态下的先前命令来产生命令组合;历史记录储存电路,其适用于储存针对多个命令组合的历史记录;控制器,其适用于判断所产生的命令组合是否对应于历史记录之一,当确定所产生的命令组合不对应于历史记录之一时,产生当前命令,而当确定所产生的命令组合对应于历史记录之一时,产生另一个当前命令。

附图说明

图1是示出根据本发明的实施例的测试图案发生器的框图。

图2示出了历史记录储存电路140的结构。

图3是示出图1的测试图案发生器100的操作的流程图。

具体实施方式

下面将参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式实施,并且不应被解释为限于本文中所阐述的实施例。相反,提供这些实施例以使得本公开将是透彻和完整的,并将向本领域技术人员充分传达本发明的范围。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部件。

测试图案可以是n个连续的命令与地址的组合(以下称为命令地址组合)的集合(其中n是2或更大的整数)。在下文中,为了方便起见,可以假定n为3(其中,n=3)。当三个连续的命令地址组合之中的命令和存储体地址中的一个不同时,测试图案可以是另一测试图案。

存储器中使用多种类型的命令。本文中将描述五种类型的命令,其包括激活命令act、写入命令wr、读取命令rd、预充电命令pre和刷新命令ref。但是,可以使用的命令类型的数量可以根据设计而不同。在下文中,这些命令由act、wr、rd、pre和ref表示。此外,基于存储体地址来判断地址是否相同。换言之,不考虑存储体地址之外的地址。简而言之,为方便起见,存储体的数量为8,但是存储体的数量可以根据设计而不同。

测试图案act(bank1)→rd(bank1)→wr(bank2)与测试图案act(bank1)→rd(bank1)→wr(bank3)不同,其中括号中的存储体表示存储体地址,并且括号前的每个命令表示针对对应地址的命令。这是因为通过写入命令wr写入的存储体bank2、bank3彼此不同。类似地,测试图案act(bank7)→pre(bank0)→rd(bank7)与测试图案act(bank7)→ref(bank0)→wr(bank7)不同。这是因为它们的第二个命令是不同的。前一个测试图案的第二个命令是针对bank0的预充电命令(pre),而后一个测试图案的第二个命令是针对bank0的刷新命令(ref)。

图1是示出根据本发明的实施例的测试图案发生器100的框图。

参考图1,测试图案发生器100可以包括随机命令地址发生器110、图案储存电路120、地址转换器130、历史记录储存电路140和控制器150。测试图案发生器100通常被包括在用于测试存储器的测试装置中。然而,当存储器控制器具有用于测试存储器的功能时,测试图案发生器100可以被包括在存储器控制器中。当存储器具有诸如内置自测试(bist)之类的自测试功能时,测试图案发生器100可以被包括在存储器中。

随机命令地址发生器110可以随机地产生命令cmd[t]和存储体地址ba[t]。换言之,随机命令地址发生器110可以产生命令cmd[t]与存储体地址ba[t]的组合。随机命令地址发生器110可以响应于发生信号gen和状态更新信号update_state而工作。随机命令地址发生器110可以随机地产生命令cmd[t]和存储体地址ba[t]。一旦激活发生信号gen,就可以以当前状态来发布命令cmd[t]和存储体地址ba[t]。一旦激活状态更新信号update_state,随机命令地址发生器110就可以更新它已经产生并发布的命令cmd[t]和存储体地址ba[t]的状态。在图1中,命令cmd[t]和存储体地址ba[t]中的“[t]”可以表示由随机命令地址发生器110当前(即,在当前状态(或时间)t)产生的命令和存储体地址。

图案储存电路120可以接收并储存由随机命令地址发生器110在当前状态(或时间)t产生的命令cmd[t]和存储体地址ba[t]。命令cmd[t-1]和存储体地址ba[t-1]可以表示由图案储存电路120在先前状态(t-1)下储存的命令和存储体地址。命令cmd[t-2]和存储体地址ba[t-2]可以表示由图案储存电路120在先前状态(t-2)下储存的命令和存储体地址。图案储存电路120可以响应于储存信号store而工作。每当储存信号store被激活时,图案储存电路120可以接收并储存由随机命令地址发生器110产生的命令cmd[t]和存储体地址ba[t]。每当储存信号store被激活三次时,储存在图案储存电路120中的三个连续命令与三个连续存储体地址的组合可以被分类为发布目标,即,要发布到存储器的目标。被分类为发布目标的命令与存储体地址的组合可以被储存在图案储存电路120中,或者可以被储存在单独的电路中。

地址转换器130可以将三个命令cmd[t-2]、cmd[t-1]和cmd[t]与三个存储体地址ba[t-2]、ba[t-1]和ba[t]的组合分别转换为三维地址(add[0],add[1],add[2])。地址转换器130可以将命令cmd[t-2]和存储体地址ba[t-2]转换为在第一轴方向上的地址add[0],可以将命令cmd[t-1]和存储体地址ba[t-1]转换为在第二轴方向上的地址add[1],并可以将命令cmd[t]和存储体地址ba[t]转换为在第三轴方向上的地址add[2]。

当命令cmd和存储体地址ba之中的一个不同时,地址转换器130可以执行地址转换操作以产生另一个地址add。例如,可以存在五种类型的命令与八个存储体地址的40种不同的地址组合。可能的三维地址add[0]、add[1]和add[2]的总数可以是64000(40*40*40=64000)。

具体而言,可以基于以下规则(当地址以十进制表示时)来转换在第一轴至第三轴方向上的地址(add[0],add[1],add[2])。

act(i)=0*8+i(其中i是由存储体地址表示的存储体)

wr(i)=1*8+i

rd(i)=2*8+i

pre(i)=3*8+i

ref(i)=4*8+i

例如,当命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合是act(bank1)→rd(bank1)→wr(bank3)时,add[0]=0*8+1=1,并且add[1]=2*8+1=17,并且add[2]=1*8+3=11。

历史记录储存电路140可以基于三维地址(add[0],add[1],add[2])而被访问。历史记录储存电路140可以将关于“命中”和“未命中”的信息储存在被访问的区域中。本文中,“命中”可以表示与三维地址(add[0],add[1],add[2])相对应的命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合已经被测试。“未命中”可以表示与三维地址(add[0],add[1],add[2])相对应的命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合尚未被测试。一比特位数据可以被储存在历史记录储存电路140中基于三维地址(add[0],add[1],add[2])而被访问的区域中。当一比特位数据的值为“1”时,它可以表示命中。当一比特位数据的值为“0”时,它可以表示未命中。此外,在访问历史记录储存电路140之后被访问的区域的数据可以是“1”。

图2示出了历史记录储存电路140的结构。可以理解的是,历史记录储存电路140包括x轴、y轴和z轴的三维空间,x轴基于与命令cmd[t-2]和存储体地址ba[t-2]相对应的第一轴地址add[0]来确定,y轴基于与命令cmd[t-1]和存储体地址ba[t-1]相对应的第二轴地址add[1]来确定,z轴基于与命令cmd[t]和存储体地址ba[t]相对应的第三轴地址add[2]来确定。另外,可以理解的是,可以将一比特位数据储存在与所确定的x,y和z坐标相对应的区域中。当所储存的一比特位数据为“1”时,它可以表示命中。当所储存的一比特位数据为“0”时,它可以表示未命中。换言之,可以理解,命中历史记录被储存为三维布尔型变量。图2是历史记录储存电路140的结构的概念性图示,并且不必将历史记录储存电路140的储存区域实际地以三维形成。历史记录储存电路140可以以任何形式形成,只要它具有基于三维地址(add[0],add[1],add[2])而访问一比特位数据的结构即可。

控制器150可以产生发生信号gen、状态更新信号updata_state和储存信号store,以控制测试图案发生器100的整体操作。

图3是示出图1的测试图案发生器100的操作的流程图。

参考图3,在步骤s301中,随机命令地址发生器110可以产生命令cmd[t-2]和存储体地址ba[t-2]。随机命令地址发生器110可以在控制器150将发生信号gen激活的控制下产生命令cmd[t-2]和存储体地址ba[t-2]。当命令cmd[t-2]和存储体地址ba[t-2]被产生时,控制器150可以将储存信号store激活,并控制图案储存电路120以储存命令cmd[t-2]和存储体地址ba[t-2]。此外,控制器150可以将状态更新信号update_state激活,并且控制随机命令地址发生器110以更新命令cmd[t-2]和存储体地址ba[t-2]被发布的状态。

在步骤s303中,随机命令地址发生器110可以产生命令cmd[t-1]和存储体地址ba[t-1]。随机命令地址发生器110可以在控制器150将发生信号gen激活的控制下产生命令cmd[t-1]和存储体地址ba[t-1]。当命令cmd[t-1]和存储体地址ba[t-1]被产生时,控制器150可以将储存信号store激活,并控制图案储存电路120以储存命令cmd[t-1]和存储体地址ba[t-1]。此外,控制器150可以将状态更新信号update_state激活,并且控制随机命令地址发生器110以更新命令cmd[t-1]和存储体地址ba[t-1]被发布的状态。

随后,在步骤s305中,随机命令地址发生器110可以产生命令cmd[t]和存储体地址ba[t]。随机命令地址发生器110可以在控制器150将发生信号gen激活的控制下产生命令cmd[t]和存储体地址ba[t]。

随后,在步骤s307中,地址转换器130可以将命令cmd[t-2]和存储体地址ba[t-2]转换为第一轴地址add[0]、可以将命令cmd[t-1]和存储体地址ba[t-1]转换为第二轴地址add[1]以及可以将命令cmd[t]和存储体地址ba[t]转换为第三轴地址add[2]。

在步骤s309中,可以基于由地址转换器130转换的三维地址(add[0],add[1],add[2])来访问历史记录储存电路140。

当数据“1”被储存在历史记录储存电路140中基于三维地址(add[0],add[1],add[2])所访问的区域中时,即在命中的情况下(在步骤s309中为“hit”),它可以表示命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合已经被测试。因此,可以由随机命令地址发生器110再次在步骤s305中产生命令cmd[t]和存储体地址ba[t]。然后,可以再次执行步骤s307和s309。尽管该图中未示出,但是在“hit”的情况下,当在该状态下除了当前产生的命令cmd[t]和存储体地址ba[t]以外没有适用的命令和存储体地址时,可以不重复步骤s305、s307和309,并且逻辑流程进入步骤s311。

当数据“0”被储存在历史记录储存电路140中基于三维地址(add[0],add[1],add[2])所访问的区域中时,即在未命中的情况下(在步骤s309中为“nohit”),它可以表示命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合尚未被测试。因此,在步骤s311中,可以将命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合分类为发布目标。这个操作可以如下执行:控制器150将储存信号store激活,并且将命令cmd[t-2]、cmd[t-1]和cmd[t]与存储体地址ba[t-2]、ba[t-1]和ba[t]的组合分类为发布目标。同时,命令cmd[t]和存储体地址ba[t]响应于被激活的储存信号store而被储存在图案储存电路120中。由于储存信号store被激活了三次,因此命令与存储体地址的组合可以被分类为发布目标。此外,控制器150可以将状态更新信号updata_state激活,并且控制随机命令地址发生器110以更新命令cmd[t]和存储体地址ba[t]被发布的状态。

如上所述,测试图案发生器100可以检查表示三个连续命令cmd[t-2]、cmd[t-1]和cmd[t]与三个连续存储体地址ba[t-2]、ba[t-1]和ba[t]的组合是否已经被测试的历史记录。在命中的情况下,测试图案发生器100可以再次产生第三命令cmd[t]和第三存储体地址ba[t]。在未命中的情况下,测试图案发生器100可以将三个连续命令cmd[t-2]、cmd[t-1]和cmd[t]与三个连续存储体地址ba[t-2]、ba[t-1]和ba[t]的组合分类为发布目标(其要被测试)。此操作能够通过防止重复地测试相同的测试图案来提高测试效率。

根据本发明的实施例,测试图案发生器的测试图案重叠可以减少。

特别地,为了便于描述,在以上实施例中,在存储器中存在五种类型的命令和八个存储体。然而,对于本领域技术人员显而易见的是,在实际的存储器中使用的命令的类型和存储体的数量可以小于或大于以上示例。

尽管已经关于特定实施例描述了本发明,但是对于本领域技术人员而言显而易见的是,在不脱离如所附的权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1