测试命令序列自动校准方法、测试机台、设备及存储介质与流程



1.本公开实施例涉及半导体技术领域,特别涉及一种测试命令序列自动校准方法、测试机台、设备及存储介质。


背景技术:



2.由于对先进计算技术的需求不断增长,以便适应半导体器件或其它重要计算应用程序,对形成的能够被执行器件执行的命令序列提出了更高的要求。由于不同的命令实现的功能不同,且不同的命令间的时延要求不同,在形成能够达到预计功能的命令序列时,容易出现形成的命令序列中部分命令与其在前命令的时序要求没有被满足而无法被成功执行的情况。
3.因此,需要一种能够对大量命令之间的时延要求进行识别和有效筛选以形成命令序列,且对命令序列中的不同命令之间进行识别和标记的半导体装置,以提高命令序列中命令被执行器件成功执行的概率。


技术实现要素:



4.本公开实施例提供一种测试命令序列自动校准方法、测试机台、设备及存储介质,至少有利于提高命令缓存序列中未被标记为无效命令的命令后续被成功执行的概率
5.根据本公开一些实施例,本公开实施例一方面提供一种测试命令序列自动校准方法,用于测试动态随机存取存储器,每个激活命令包括对应的一个active-1命令和一个active-2命令,测试命令序列自动校准方法包括:根据发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个非激活命令和与所述active-1命令对应的所述active-2命令,并形成命令缓存序列;判断所述命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令;根据存储的先后顺序依次发送存储的所述命令缓存序列中的有效命令至所述动态随机存取存储器,其中,所述有效命令为所述命令缓存序列中未被标记为所述无效命令的命令。
6.在一些实施例中,所述根据发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个非激活命令和与所述active-1命令对应的所述active-2命令,形成命令缓存序列,包括:确定所述active-1命令和与其对应的所述active-2命令之间允许的最大时钟个数为taad_max;提供先进先出缓存器,所述先进先出缓存器的深度配置为taad_max+1;根据所述发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个所述非激活命令和与所述active-1命令对应的所述active-2命令至所述先进先出缓存器,形成所述命令缓存序列,且所述命令缓存序列中的命令的数量小于等于taad_max+1。
7.在一些实施例中,根据所述发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个所述非激活命令和与所述active-1命令对应的所述active-2命令至所述先进先出缓存器,形成所述命令缓存序列,包括:将欲将发送至所述动态随机存
取存储器的所述active-1命令存储至所述先进先出缓存器的首位存储位置,将后续命令依次存储至所述先进先出缓存器并计数,并判断当前存储的命令是否为与所述active-1命令对应的所述active-2命令,且判断当前计数值是否等于taad_max;若当前存储的命令为所述非激活命令,且当前计数值等于taad_max,则仅将后续命令中与所述active-1命令对应的所述active-2命令存储至所述先进先出缓存器的末位存储位置,以形成所述命令缓存序列;若当前存储的命令为与所述active-1命令对应的所述active-2命令,则停止存储后续命令,以形成所述命令缓存序列。
8.在一些实施例中,所述判断所述命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令,包括:获取接收所述active-1命令前最近已发送的命令作为第一命令;获取所述命令缓存序列中第i个命令与所述第一命令之间的最小时延,以及获取所述第i个命令与与所述命令缓存序列中前i-1个命令之间的最小时延,以确定所述第i个命令与所述active-1命令之间的最小时间间隔,其中i为大于等于1且小于等于taad_max-1的正整数;判断所述最小时间间隔是否大于taad_max-1个时钟周期,若所述最小时间间隔大于taad_max-1个时钟周期,则标记所述第i个命令及其后的全部所述非激活命令为无效命令。
9.在一些实施例中,所述获取所述命令缓存序列中第i个命令与所述第一命令之间的最小时延,以及获取所述第i个命令与所述命令缓存序列中前i-1个命令之间的最小时延,以确定所述第i个命令与所述active-1命令之间的最小时间间隔,包括:将所述第一命令的发生时刻定义为0时刻;将所述active-1命令与所述第一命令间的最小时延定义为t0,所述active-1命令的发生时刻定义为c0,所述命令缓存序列中第i个命令与所述第一命令间的最小时延定义为ti,所述第i个命令的发生时刻定义为ci,命令缓存序列中位于所述第i个命令之前的所述命令与所述第一命令间的最小时延定义为tx,其中,x为大于等于0且小于等于i-1的正整数;比较ti、ci-1+ti-1、ci-1+ti-1、
……
c0+t0之间的大小,将其中最大者定义为所述第i个命令发生的时刻ci,计算ci与c0的差值作为所述第i个命令与所述active-1命令之间的最小时间间隔。
10.在一些实施例中,若所述最小时间间隔小于等于taad_max-1个时钟周期,则获取所述第i个命令与所述active-2命令之间的最小时延,当所述第i个命令与所述active-2命令之间的最小时延与所述最小时间间隔的和大于taad_max个时钟周期,则标记所述第i个命令以及其后的全部所述非激活命令为所述无效命令。
11.在一些实施例中,在标记所述第i个命令为所述无效命令后,还包括:若所述无效命令为读命令、写命令、寄存器读命令、寄存器写命令之一,则将与所述无效命令紧邻的前一列选择命令标识为所述无效命令。
12.在一些实施例中,所述根据存储的先后顺序依次发送存储的所述命令缓存序列中的有效命令至所述动态随机存取存储器,包括:等待所述acitve-1命令与所述第一命令之间的最小时延后,间隔预设时间,依次发送所述命令缓存序列中的所述有效命令。
13.在一些实施例中,所述动态随机存取存储器为lpddr4 dram或lpddr5 dram。
14.在一些实施例中,所述active-1命令和与其对应的所述active-2命令之间允许的最大时钟个数taad_max等于8。
15.根据本公开一些实施例,本公开实施例另一方面还提供一种测试机台,用于测试
动态随机存取存储器,每个激活命令包括对应的一个active-1命令和一个active-2命令,测试机台包括:存储模块,被配置为,根据发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个非激活命令和与所述active-1命令对应的所述active-2命令,并形成命令缓存序列;判断标记模块,被配置为,判断所述命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令;发送模块,被配置为,根据存储的先后顺序依次发送存储的所述命令缓存序列中的有效命令至所述动态随机存取存储器,其中,所述有效命令为所述命令缓存序列中未被标记为所述无效命令的命令。
16.根据本公开一些实施例,本公开实施例又一方面还提供一种计算机设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述所述的测试命令序列自动校准方法。
17.根据本公开一些实施例,本公开实施例再一方面还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如前述所述的测试命令序列自动校准方法。
18.本公开实施例提供的技术方案至少具有以下优点:
19.提供一种测试命令序列自动校准方法,用于测试动态随机存取存储器,其中,形成的命令缓存序列包括active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令,而且对命令缓存序列中的命令进行筛选,具体的,判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合命令间最小时延的命令标记为无效命令。如此,有利于将包括active-1命令和active-2命令在内的命令缓存序列中的相邻有效命令之间的最小时延均控制在预设要求下,保证active-1命令和active-2命令生效,以及保证后续有效命令的发送均满足时序要求,从而有利于提高命令缓存序列中未被标记为无效命令的命令,即有效命令后续被成功执行的概率。其中,有效命令的发送可以理解为:将命令缓存序列中的有效命令按照相邻有效命令之间的最小时延依次发送给动态随机存取存储器,以对动态随机存取存储器进行测试。
附图说明
20.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制;为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本公开一实施例提供的测试命令序列自动校准方法的流程图;
22.图2为本公开一实施例提供的测试命令序列自动校准方法中先进先出缓存器的结构示意图;
23.图3为本公开一实施例提供的测试命令序列自动校准方法的判断示意图;
24.图4为本公开另一实施例提供的测试机台的功能模块示意图;
25.图5为本公开又一实施例提供的计算机设备的结构示意图。
具体实施方式
26.由背景技术可知,目前命令序列中命令被动态随机存取存储器成功执行的概率有待提高。
27.经分析发现,为实现某一特定的功能,形成的供动态随机存取存储器执行的命令序列中包括active-1命令和active-2命令,active-1命令和active-2命令之间可以紧挨着发送,也可以间隔发送,在间隔发送的情况下,active-1命令和active-2命令之间具有最小时延要求,即active-1命令被发送给动态随机存取存储器以被执行的时刻与active-2命令被发送给动态随机存取存储器以被执行的时刻之间的时间间隔不能超过预设时间,否则,active-1命令和active-2命令会被视为无效命令,被发送给动态随机存取存储器时不会被执行。而且,active-1命令和active-2命令间隔发送时,在active-1命令和active-2命令之间还可以插入其他命令,例如cas命令、masked write命令、read命令、mrr命令、precharge命令、refresh命令等,由于这些命令彼此之间以及这些命令与active-1命令和active-2命令之间均具有相应的时序要求,若这些命令被发送给动态随机存取存储器以被执行的时刻之间的时间间隔不满足相应的时序要求,则这些命令也会被视为无效命令,被发送给动态随机存取存储器时不会被执行。
28.可见,active-1命令和active-2命令之间所要发送的命令不仅需要考虑其与已经被发送的命令间的时序关系,还需要考虑待发送命令间的时序关系,由此所涉及的算法较为复杂。在形成能够达到预计功能的命令序列时,容易出现形成的命令缓存序列中部分命令与其在前命令的时序要求没有被满足而无法被成功执行的情况。
29.本公开实施提供一种测试命令序列自动校准方法、测试机台、设备及存储介质,方法中,形成的命令缓存序列包括active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令,而且对命令缓存序列中的命令进行筛选,具体的,判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合命令间最小时延的命令标记为无效命令,命令缓存序列中剩余的命令为有效命令。如此,有利于将包括active-1命令和active-2命令在内的命令缓存序列中的相邻有效命令之间的最小时延均控制在预设要求下,保证active-1命令和active-2命令生效,以及保证后续有效命令的发送均满足时序要求,从而有利于提高命令缓存序列中未被标记为无效命令的命令后续被成功执行的概率。
30.下面将结合附图对本公开的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本公开各实施例中,为了使读者更好地理解本公开实施例而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本公开实施例所要求保护的技术方案。
31.本公开一实施例提供一种半导体装置,以下将结合附图对本公开一实施例提供的半导体装置进行详细说明。图1为本公开一实施例提供的测试命令序列自动校准方法的流程图;图2为本公开一实施例提供的测试命令序列自动校准方法中先进先出缓存器的结构示意图;图3为本公开一实施例提供的测试命令序列自动校准方法的判断示意图。
32.参考图1至图3,测试命令序列自动校准方法,用于测试动态随机存取存储器,每个激活命令包括对应的一个active-1命令和一个active-2命令,测试命令序列自动校准方法
包括以下步骤:
33.s101:根据发送顺序存储欲将发送至动态随机存取存储器的active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令,并形成命令缓存序列。
34.在一些实施例中,根据发送顺序存储欲将发送至动态随机存取存储器的active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令,形成命令缓存序列包括如下步骤:
35.首先,确定active-1命令和与其对应的active-2命令之间允许的最大时钟个数为taad_max。在一个例子中,active-1命令和与其对应的active-2命令之间允许的最大时钟个数taad_max等于8。
36.其次,提供先进先出缓存器100,先进先出缓存器100的深度配置为taad_max+1,可以理解的是,先进先出缓存器100的深度配置为taad_max+1指的是:先进先出缓存器100最多可以存储taad_max+1个命令。先进先出缓存器100即为fifo存储器(先进先出,first input first output)。
37.然后,根据发送顺序存储欲将发送至动态随机存取存储器的active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令至先进先出缓存器100,形成命令缓存序列,且命令缓存序列中的命令的数量小于等于taad_max+1。
38.如此,以实现命令缓存序列中有且仅有位于首位存储位置的命令为active-1命令,命令缓存序列中有且仅有位于末位存储位置的命令为active-2命令,为active-1命令和active-2命令能够被激活为有效命令奠定基础。
39.在一些实施例中,根据发送顺序存储欲将发送至动态随机存取存储器的active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令至先进先出缓存器100,形成命令缓存序列包括如下步骤:
40.参考图2,将欲将发送至动态随机存取存储器的active-1命令存储至先进先出缓存器100的首位存储位置,将后续命令依次存储至先进先出缓存器100并计数,并判断当前存储的命令是否为与active-1命令对应的active-2命令,且判断当前计数值是否等于taad_max。
41.其中,若当前存储的命令为非激活命令,且当前计数值等于taad_max,则仅将后续命令中与active-1命令对应的active-2命令存储至先进先出缓存器100的末位存储位置,以形成命令缓存序列;若当前存储的命令为与active-1命令对应的active-2命令,则停止存储后续命令,以形成命令缓存序列。
42.可以理解的是,先进先出缓存器100存储的倒数第二位命令存储的还不是active-2命令,则将active-2命令至先进先出缓存器100的末位存储位置,以在满足命令缓存序列中有且仅有位于末位存储位置的命令为active-2命令的同时,满足先进先出缓存器100的存储命令的容量。
43.需要说明的是,图2中以command-1、command-2、command-3、command-4、command-5、command-6和command-7标示除active-1命令和active-2命令之外的其他命令。
44.s102:判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合命令间最小时延的命令标记为无效命令。
45.可以理解的是,命令的发生时刻即为命令被发送给动态随机存取存储器的时刻,
命令缓存序列中具有前后位置关系的两个命令的最小时延为两个命令的发生时刻之间所允许的最大时间间隔,若两个命令之间实际发生时刻之间的差值大于该最大时间间隔,则该两个命令中位于后一位的命令会被视为无效命令;若两个命令之间实际发生时刻之间的差值小于等于该最大时间间隔,则该两个命令中位于后一位的命令为有效命令,发送给动态随机存取存储器时能够被动态随机存取存储器成功执行。
46.在一些实施例中,参考图3,测试命令序列自动校准方法还包括:获取先进先出缓存器100开始存储命令前发送给动态随机存取存储器的第一命令prior command;获取命令序列中的active-1命令与第一命令prior command之间的最小时延t0,并将经过最小时延t0后的时刻作为active-1命令的发生时刻c0;将需要存储至先进先出缓存器100中的除active-1命令之外的任一命令作为待测命令,基于待测命令与第一命令prior command之间的最小时延,以及位于待测命令之前的每一命令与待测命令之间的最小时延确定待测命令的发生时刻ci,若ci与c0的差值大于预设数值,则判定待测命令为无效命令,其中,i为大于等于1的正整数。
47.在一个例子中,判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合命令间最小时延的命令标记为无效命令包括如下步骤:
48.参考图3,首先,获取接收active-1命令前最近已发送的命令作为第一命令prior command;获取命令缓存序列中第i个命令与第一命令prior command之间的最小时延,以及获取第一命令prior command与命令缓存序列中前i-1个命令之间的最小时延,以确定第i个命令与active-1命令之间的最小时间间隔,其中i为大于等于1且小于等于taad_max-1的正整数;判断最小时间间隔是否大于taad_max-1个时钟周期,若最小时间间隔大于taad_max-1个时钟周期,则标记第i个命令及其后的全部非激活命令为无效命令。
49.需要说明的是,命令缓存序列中第i个命令指的是:命令缓存序列中出active-1命令之外的第i个命令。
50.在一些实施例中,获取命令缓存序列中第i个命令与第一命令prior command之间的最小时延,以及获取第i个命令与命令缓存序列中前i-1个命令之间的最小时延,以确定第i个命令与active-1命令之间的最小时间间隔的步骤包括:
51.将第一命令prior command的发生时刻定义为0时刻;将active-1命令与第一命令prior command间的最小时延定义为t0,active-1命令的发生时刻定义为c0,命令缓存序列中第i个命令与第一命令prior command间的最小时延定义为ti,第i个命令的发生时刻定义为ci,命令缓存序列中位于第i个命令之前的命令与第一命令prior command间的最小时延定义为tx,其中,x为大于等于0且小于等于i-1的正整数;比较ti、c
i-1+
t
i-1
、c
i-1+
t
i-1

……c0+
t0之间的大小,将其中最大者定义为第i个命令发生的时刻ci,计算ci与c0的差值作为第i个命令与active-1命令之间的最小时间间隔。
52.以下结合图2和图3对其进行详细说明。
53.图3示意出了命令缓存序列中的active-1命令,第二命令command-1和第三命令command-2。
54.对于active-1命令而言,获取active-1命令与第一命令prior command之间的最小时延t0,并将经过最小时延t0后的时刻作为active-1命令的发生时刻c0。在一个例子中,可以将第一命令prior command的发生时刻定义为0时刻,则active-1命令的发生时刻c0即
为t0。
55.若将第二命令command-1作为第i个命令,即i等于1,位于第二命令command-1之前的命令为active-1命令,获取第二命令command-1与第一命令prior command之间最小时延t1,获取第二命令command-1与active-1命令之间最小时延t0,比较t1与(c0+t0)的大小,将大者确定为第二命令command-1的发生时刻c1,在一个例子中,参考图3,t1小于(c0+t0),则第二命令command-1的发生时刻c1为(c0+t0)。
56.其中,若c1与c0的差值大于taad_max-1个时钟周期,则判定第二命令command-1为无效命令。
57.若将第三命令command-2作为第i个命令,即i等于2,位于第三命令command-2之前的命令为active-1命令和第二命令command-1,获取第三命令command-2与第一命令prior command之间最小时延t2,获取第三命令command-2与active-1命令之间最小时延t0,获取第三命令command-2与第二命令command-1之间最小时延t1,比较t2、(c0+t0)、(c1+t1)的大小,将三者中最大者确定为第三命令command-2的发生时刻c2。在一个例子中,参考图3,(c0+t0)小于(c1+t1),且(c1+t1)小于t2,则第三命令command-2的发生时刻c2为t2。
58.其中,若c2与c0的差值大于taad_max-1个时钟周期,则判定第三命令command-2为无效命令。
59.可以理解的是,以此类推,可以将第i个命令作为待测命令,位于第i个命令之前的命令为active-1命令、第二命令command-1
……
第i-1个命令,获取第i个命令与第一命令prior command之间最小时延ti,获取第i个命令与active-1命令之间最小时延t0,获取第i个命令与第二命令command-1之间最小时延t1……
获取第i个命令与第i-1个命令commandi-1之间最小时延t
i-1
,将其中最大者确定为第i个命令的发生时刻ci。
60.其中,若ci与c0的差值大于taad_max-1个时钟周期,则判定第i个命令为无效命令。可以理解的是,当第i个命令与active-1命令之间的最小时延大于taad_max-1个时钟周期时,即第i个命令的发生时刻会晚于active-2命令的发生时刻,如此,第i个命令无法被动态随机存取存储器成功执行,会被视为无效命令。因此,依据第i个命令与active-1命令之间的最小时延对第i个命令进行判断,有利于进一步的提高从命令缓存序列中筛选出无效命令的准确性,以进一步保证后续有效命令的发送均满足时序要求,以提高命令缓存序列中未被标记为无效命令的命令后续被成功执行的概率。而且,有利于对命令缓存序列中的每一命令与该命令之前的每一命令之间的时序要求进行比较,以筛选出无效命令,从而有利于保证后续有效命令的发送均满足时序要求,以提高命令缓存序列中未被标记为无效命令的命令后续被动态随机存取存储器成功执行的概率。
61.需要说明的是,图3中以prior command标示第一命令,以command-1标示第二命令,以command-2标示第三命令。
62.在一些实施例中,若最小时间间隔小于等于taad_max-1个时钟周期,则获取第i个命令与active-2命令之间的最小时延,当第i个命令与active-2命令之间的最小时延与最小时间间隔的和大于taad_max个时钟周期,则标记第i个命令以及其后的全部非激活命令为无效命令。可以理解的是,若第i个命令与active-2命令之间的最小时延与最小时间间隔的和大于taad_max个时钟周期,则第i个命令的发生时刻晚于active-2命令的发生时刻,则第i个命令无法被动态随机存取存储器执行,即第i个命令为无效命令,且若第i个命令不满
足时序要求,无法被成功执行,则第i个命令之后的全部非激活命令均无法被成功执行。
63.在另一些实施例中,若最小时间间隔小于等于taad_max-1个时钟周期,则获取第i个命令与active-2命令之间的最小时延,当第i个命令与active-2命令之间的最小时延与最小时间间隔的和大于taad_max个时钟周期,则第i个命令为无效命令。若第i个命令为无效命令,则判定紧邻第i个命令之后预设数量的命令也为无效命令,可以理解的是,若第i个命令不满足时序要求,无法被成功执行,则紧邻第i个命令之后预设数量的命令也无法被成功执行。例如,若cas命令之后紧邻的命令为write命令、read命令或mrr命令中的至少一者,当cas命令经过第二次筛选后被视为无效命令时,cas命令之后紧邻的write命令、read命令或mrr命令中的至少一者也会被视为无效命令。需要说明的是,预设数量可以为1,预设数量根据具体应用场景而定,本公开一实施例对预设数量的具体数值不做限制,只需满足为大于等于1的正整数。
64.可以理解的是,当第i个命令与active-2命令之间的最小时延大于taad_max个时钟周期,即第i个命令的发生时刻会早于active-1命令的发生时刻,如此,第i个命令无法被动态随机存取存储器成功执行,会被视为无效命令。因此,依据第i个命令与active-2命令之间的最小时延对第i个命令进行判断,有利于进一步的提高从命令序列中筛选出无效命令的准确性,以进一步保证后续有效命令的发送均满足时序要求,以提高命令序列中未被标记为无效命令的命令后续被成功执行的概率。
65.在一些实施例中,在标记第i个命令为无效命令后,测试命令序列自动校准方法还可以包括:若无效命令为读命令、写命令、寄存器读命令、寄存器写命令之一,则将与无效命令紧邻的前一列选择命令标识为无效命令。s103:根据存储的先后顺序依次发送存储的命令缓存序列中的有效命令至动态随机存取存储器,其中,有效命令为命令缓存序列中未被标记为无效命令的命令。
66.在一些实施例中,根据存储的先后顺序依次发送存储的命令缓存序列中的有效命令至动态随机存取存储器的步骤包括:等待acitve-1命令与第一命令prior command之间的最小时延后,间隔预设时间,依次发送命令缓存序列中的有效命令。如此,有利于避免动态随机存取存储器还未将在先命令执行完,就接收到acitve-1命令的情况发生,有利于保证动态随机存取存储器正常的工作。需要说明的是,预设时间未大于0的整数,具体数值可以根据实际应用情况而设定。
67.在一些实施例中,测试命令序列自动校准方法还可以包括:依据命令缓存序列中相邻两个有效命令之间的发生时刻之间的差值,确定相邻两个有效命令之间的发送时间间隔;控制先进先出缓存器100等待预设时间后开始向动态随机存取存储器发送命令缓存序列中未被标记为无效命令的有效命令,且控制先进先出缓存器100在发送相邻两个有效命令中的前一有效命令之后,等待发送时间间隔之后,再发送相邻两个有效命令中的后一有效命令。如此,有利于给动态随机存取存储器提供执行每一有效命令的时间,避免有效命令没有被成功执行。
68.在一些实施例中,动态随机存取存储器为lpddr4 dram或lpddr5 dram。
69.其中,对于lpddr4(low power double data rate 4)和lpddr5(low power double data rate 5)而言,active-1命令和active-2命令之间间隔发送时,其间隔发送的时间间隔称为taad_max,在一个例子中,active-1命令和与其对应的active-2命令之间允
许的最大时钟个数taad_max等于8。可以理解的是,只有active-1命令作为命令缓存序列中的首位命令,active-2命令作为命令缓存序列中的末位命令,且active-1命令的被执行时刻与active-2命令的发生时刻之间的时间间隔小于等于8个时钟周期时,active-1命令和active-2命令才能被激活生效。
70.综上所述,测试命令序列自动校准方法中,形成的命令缓存序列包括active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令,而且对命令缓存序列中的命令进行筛选,具体的,判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合命令间最小时延的命令标记为无效命令,命令缓存序列中剩余的命令为有效命令。如此,有利于将包括active-1命令和active-2命令在内的命令缓存序列中的相邻有效命令之间的最小时延均控制在预设要求下,保证active-1命令和active-2命令生效,以及保证后续有效命令的发送均满足时序要求,从而有利于提高命令缓存序列中未被标记为无效命令的命令后续被成功执行的概率。
71.本公开另一实施例还提供一种测试机台,用于执行如本公开一实施例提供的测试命令序列自动校准方法。以下将结合图4对本公开另一实施例提供的测试机台进行详细说明。图4为本公开另一实施例提供的测试机台的功能模块示意图。需要说明的是,与前述实施例相同或相应的部分在此不再赘述。
72.结合参考图2和图4,测试机台用于测试动态随机存取存储器,每个激活命令包括对应的一个active-1命令和一个active-2命令,测试机台包括:存储模块101,被配置为,根据发送顺序存储欲将发送至动态随机存取存储器的active-1命令、至少一个非激活命令和与active-1命令对应的active-2命令,并形成命令缓存序列;判断标记模块102,被配置为,判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令;发送模块103,被配置为,根据存储的先后顺序依次发送存储的命令缓存序列中的有效命令至动态随机存取存储器,其中,有效命令为命令缓存序列中未被标记为无效命令的命令。
73.可以理解的是,采用测试机台实施的测试命令序列自动校准方法,有利于将包括active-1命令和active-2命令在内的命令缓存序列中的相邻有效命令之间的最小时延均控制在预设要求下,保证active-1命令和active-2命令生效,以及保证后续有效命令的发送均满足时序要求,从而有利于提高命令缓存序列中未被标记为无效命令的命令后续被成功执行的概率。
74.本公开又一实施例还提供一种计算机设备,如图5所示,包括至少一个处理器202;以及,与所述至少一个处理器202通信连接的存储器201;其中,存储器201存储有可被所述至少一个处理器202执行的指令,指令被至少一个处理器202执行,以使所述至少一个处理器202能够执行如本公开一实施例提供的测试命令序列自动校准方法。
75.其中,图5为本公开又一实施例提供的计算机设备的结构示意图。
76.其中,存储器201和处理器202采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器202和存储器201的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在
传输介质上与各种其他装置通信的单元。经处理器202处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器202。
77.处理器202负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器201可以被用于存储处理器202在执行操作时所使用的数据。
78.本公开实施例再一方面还提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现如本公开一实施例提供的测试命令序列自动校准方法。
79.本领域技术人员可以理解,实现上述实施例提供的半导体装置的控制方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
80.本领域的普通技术人员可以理解,上述各实施方式是实现本公开的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本公开实施例的精神和范围。任何本领域技术人员,在不脱离本公开实施例的精神和范围内,均可作各自更动与修改,因此本公开实施例的保护范围应当以权利要求限定的范围为准。

技术特征:


1.一种测试命令序列自动校准方法,用于测试动态随机存取存储器,每个激活命令包括对应的一个active-1命令和一个active-2命令,其特征在于,包括:根据发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个非激活命令和与所述active-1命令对应的所述active-2命令,并形成命令缓存序列;判断所述命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令;根据存储的先后顺序依次发送存储的所述命令缓存序列中的有效命令至所述动态随机存取存储器,其中,所述有效命令为所述命令缓存序列中未被标记为所述无效命令的命令。2.根据权利要求1所述的方法,其特征在于,所述根据发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个非激活命令和与所述active-1命令对应的所述active-2命令,形成命令缓存序列,包括:确定所述active-1命令和与其对应的所述active-2命令之间允许的最大时钟个数为taad_max;提供先进先出缓存器,所述先进先出缓存器的深度配置为taad_max+1;根据所述发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个所述非激活命令和与所述active-1命令对应的所述active-2命令至所述先进先出缓存器,形成所述命令缓存序列,且所述命令缓存序列中的命令的数量小于等于taad_max+1。3.根据权利要求2所述的方法,其特征在于,根据所述发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个所述非激活命令和与所述active-1命令对应的所述active-2命令至所述先进先出缓存器,形成所述命令缓存序列,包括:将欲将发送至所述动态随机存取存储器的所述active-1命令存储至所述先进先出缓存器的首位存储位置,将后续命令依次存储至所述先进先出缓存器并计数,并判断当前存储的命令是否为与所述active-1命令对应的所述active-2命令,且判断当前计数值是否等于taad_max;若当前存储的命令为所述非激活命令,且当前计数值等于taad_max,则仅将后续命令中与所述active-1命令对应的所述active-2命令存储至所述先进先出缓存器的末位存储位置,以形成所述命令缓存序列;若当前存储的命令为与所述active-1命令对应的所述active-2命令,则停止存储后续命令,以形成所述命令缓存序列。4.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令,包括:获取接收所述active-1命令前最近已发送的命令作为第一命令;获取所述命令缓存序列中第i个命令与所述第一命令之间的最小时延,以及获取所述第i个命令与与所述命令缓存序列中前i-1个命令之间的最小时延,以确定所述第i个命令与所述active-1命令之间的最小时间间隔,其中i为大于等于1且小于等于taad_max-1的正整数;
判断所述最小时间间隔是否大于taad_max-1个时钟周期,若所述最小时间间隔大于taad_max-1个时钟周期,则标记所述第i个命令及其后的全部所述非激活命令为无效命令。5.根据权利要求4所述的方法,其特征在于,所述获取所述命令缓存序列中第i个命令与所述第一命令之间的最小时延,以及获取所述第i个命令与所述命令缓存序列中前i-1个命令之间的最小时延,以确定所述第i个命令与所述active-1命令之间的最小时间间隔,包括:将所述第一命令的发生时刻定义为0时刻;将所述active-1命令与所述第一命令间的最小时延定义为t0,所述active-1命令的发生时刻定义为c0,所述命令缓存序列中第i个命令与所述第一命令间的最小时延定义为ti,所述第i个命令的发生时刻定义为c
i
,命令缓存序列中位于所述第i个命令之前的所述命令与所述第一命令间的最小时延定义为tx,其中,x为大于等于0且小于等于i-1的正整数;比较ti、c
i-1+
t
i-1
、c
i-1+
t
i-1

……
c
0+
t0之间的大小,将其中最大者定义为所述第i个命令发生的时刻ci,计算ci与c0的差值作为所述第i个命令与所述active-1命令之间的最小时间间隔。6.根据权利要求5所述的方法,其特征在于,若所述最小时间间隔小于等于taad_max-1个时钟周期,则获取所述第i个命令与所述active-2命令之间的最小时延,当所述第i个命令与所述active-2命令之间的最小时延与所述最小时间间隔的和大于taad_max个时钟周期,则标记所述第i个命令以及其后的全部所述非激活命令为所述无效命令。7.根据权利要求6所述的方法,其特征在于,在标记所述第i个命令为所述无效命令后,还包括:若所述无效命令为读命令、写命令、寄存器读命令、寄存器写命令之一,则将与所述无效命令紧邻的前一列选择命令标识为所述无效命令。8.根据权利要求7所述的方法,其特征在于,所述根据存储的先后顺序依次发送存储的所述命令缓存序列中的有效命令至所述动态随机存取存储器,包括:等待所述acitve-1命令与所述第一命令之间的最小时延后,间隔预设时间,依次发送所述命令缓存序列中的所述有效命令。9.根据权利要求8所述的方法,其特征在于,所述动态随机存取存储器为lpddr4 dram或lpddr5 dram。10.根据权利要求9所述的方法,其特征在于,所述active-1命令和与其对应的所述active-2命令之间允许的最大时钟个数taad_max等于8。11.一种测试机台,用于测试动态随机存取存储器,每个激活命令包括对应的一个active-1命令和一个active-2命令,其特征在于,包括:存储模块,被配置为,根据发送顺序存储欲将发送至所述动态随机存取存储器的所述active-1命令、至少一个非激活命令和与所述active-1命令对应的所述active-2命令,并形成命令缓存序列;判断标记模块,被配置为,判断所述命令缓存序列中的命令之间是否满足命令间最小时延,将不符合所述命令间最小时延的命令标记为无效命令;发送模块,被配置为,根据存储的先后顺序依次发送存储的所述命令缓存序列中的有效命令至所述动态随机存取存储器,其中,所述有效命令为所述命令缓存序列中未被标记
为所述无效命令的命令。12.一种计算机设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-10任一项所述的测试命令序列自动校准方法。13.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-10任一项所述的测试命令序列自动校准方法。

技术总结


本公开实施例涉及半导体技术领域,提供一种测试命令序列自动校准方法、测试机台、计算机设备以及存储介质,测试命令序列自动校准方法包括:根据发送顺序存储欲将发送至动态随机存取存储器的ACTIVE-1命令、至少一个非激活命令和与ACTIVE-1命令对应的ACTIVE-2命令,并形成命令缓存序列;判断命令缓存序列中的命令之间是否满足命令间最小时延,将不符合命令间最小时延的命令标记为无效命令;根据存储的先后顺序依次发送存储的命令缓存序列中的有效命令至动态随机存取存储器,其中,有效命令为命令缓存序列中未被标记为无效命令的命令。本公开实施例通过对命令进行两次筛选,至少有利于提高命令缓存序列中未被标记为无效命令的命令后续被成功执行的概率。令后续被成功执行的概率。令后续被成功执行的概率。


技术研发人员:

李钰 王彬彬

受保护的技术使用者:

长鑫存储技术有限公司

技术研发日:

2022.07.20

技术公布日:

2022/10/4

本文发布于:2024-09-21 12:41:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/15871.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   所述   序列   缓存
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议