本发明涉及存储器技术领域,具体而言,涉及一种写数据采样信号时序监测方法,还涉及一种写数据采样信号时序监测电路和存储器。
背景技术:
随着存储器的飞速发展,为了提供性能更优的存储器,对于存储器内部时序控制的要求越来越高。
在双倍速率同步动态随机存储器(ddrsdram)的写入操作中,写数据采样信号(dqs信号)用来做写数据的时钟。写入操作时,dqs信号的边沿在时序上应当与数据信号(dq信号)的中心处对齐(考虑到时序余量,也可能允许在中心处基本对齐),如图1所示,以得到最稳定的建立和保持窗口。然而dqs信号和dq信号在接口处可能具有不同的延迟,导致dqs信号的边沿没有对齐dq信号的中心。因此,监测dqs信号时序是否满足对齐的要求十分有必要,有助于判断是否需要对dqs信号的时序进行调整和确定调整方式。
然而目前尚无准确且简单的监测方法,因此难以准确的对dqs信号进行调整。
技术实现要素:
本发明的目的在于提供一种写数据采样信号时序监测方法,解决现有技术中存在的一种或多种问题。
本发明的另一目的在于提供一种写数据采样信号时序监测电路和存储器,以实现上述监测方法。
根据本发明的一个方面,提供一种写数据采样信号时序监测方法,应用于写入操作,包括:
生成提前写数据采样信号,所述提前写数据采样信号的时序提前于所述写数据采样信号;
生成延时写数据采样信号,所述延时写数据采样信号的时序滞后于所述写数据采样信号;所述提前写数据采样信号和延时写数据采样信号之间的时间差不超过数据信号一个周期内的有效时间;
利用所述提前写数据采样信号和所述延时写数据采样信号分别对数据信号进行采样,以获取采样结果;
判断所述采样结果中包含的数据种类,若仅包含一种数据,判断所述写数据采样信号时序符合要求,否则,若包含两种数据,判断所述写数据采样信号时序不符合要求。
在本发明的一种示例性实施方式中,所述提前写数据采样信号包括第一提前写数据采样信号至第n提前写数据采样信号,所述延时写数据采样信号包括第一延时写数据采样信号至第n延时写数据采样信号,n为自然数;所述提前写数据采样信号和延时写数据采样信号的时序排序一一对应;
n个所述提前写数据采样信号的时序各不相同,n个所述延时写数据采样信号的时序各不相同;任一所述提前写数据采样信号提前于所述写数据采样信号的时间等于对应的延时写数据采样信号滞后于所述写数据采样信号的时间;且与所述写数据采样信号时间差最大的所述提前写数据采样信号和延时写数据采样信号之间的时间差不超过所述数据信号一个周期的有效时间。
在本发明的一种示例性实施方式中,对所述不符合要求的采样结果进行保存。
在本发明的一种示例性实施方式中,所述监测方法执行多次,且产生若干个不符合要求的采样结果时,还包括:计算若干个所述不符合要求的采样结果中两种数据种类的个数的差值绝对值,用所述差值绝对值最小的所述采样结果覆盖其他所述采样结果。
在本发明的一种示例性实施方式中,所述n=2;所述采样结果为4'b0000或4'b1111时,判断所述写数据采样信号时序符合要求;所述采样结果为4'b0111、4'b0001、4'b1000、4'b1110、4'b1100或4'b0011时,对所述采样结果进行保存。
在本发明的一种示例性实施方式中,所述提前写数据采样信号和所述延时写数据采样信号均通过对所述写数据采样信号进行延迟产生。
根据本发明的另一个方面,还提供一种写数据采样信号时序监测电路,用于实现上述方法,包括:
信号生成模块,包括若干输出端,用于生成并发送所述提前写数据采样信号和延时写数据采样信号;
触发模块,连接数据信号端和所述信号生成模块的输出端,接收数据信号、所述提前写数据采样信号和延时写数据采样信号,用于利用所述提前写数据采样信号和延时写数据采样信号触发所述数据信号,以进行采样;
判断模块,连接所述触发模块,接收所述采样结果,用于根据所述采样结果中包含的数据种类判断所述写数据采样信号时序是否符合要求。
在本发明的一种示例性实施方式中,所述信号生成模块包括多个缓冲器,所述多个缓冲器连接写数据采样信号端,用于对所述写数据采样信号进行不同的延迟,以生成所述提前写数据采样信号和延时写数据采样信号。
在本发明的一种示例性实施方式中,所述触发模块包括多个触发器,所述多个触发器与所述信号生成模块的输出端一一对应连接。
在本发明的一种示例性实施方式中,所述判断模块包括比较器,用于确定所述采样结果中包含的数据种类。
在本发明的一种示例性实施方式中,监测电路还包括保存模块,连接所述判断模块,用于保存所述采样结果。
在本发明的一种示例性实施方式中,所述判断模块包括比较器和运算模块,所述比较器用于确定所述采样结果中包含的数据种类;所述运算模块用于计算保存的所述采样结果中两种数据种类的个数的差值绝对值,以通过所述保存模块用所述差值绝对值最小的所述采样结果覆盖其他所述采样结果。
在本发明的一种示例性实施方式中,所述判断模块还包括运算模块,用于计算两种数据种类的个数的差值绝对值,以通过所述保存模块用所述差值绝对值最小的所述采样结果覆盖其他所述采样结果。
根据本发明的再一个方面,还提供一种存储器,包括上述写数据采样信号时序监测电路。
在本发明的一种示例性实施方式中,还包括:数据选通器,连接所述存储器的多个数据信号端和所述监测电路的触发模块,用于从所述多个数据信号中选择一个数据信号传输给所述触发模块,以进行所述采样。
在本发明的一种示例性实施方式中,所述存储器为第四代双倍速率同步动态随机存储器、第四代低功耗双倍速率同步动态随机存储器、第五代双倍速率同步动态随机存储器、第五代低功耗双倍速率同步动态随机存储器中任意一种。
本发明在写入操作中,利用时序提前和滞后于写数据采样信号的两种信号对数据信号进行采样,根据采样结果中包含的数据种类数判断写数据采样信号是否与数据信号的中心对齐。一方面能够准确的实时监控写入时写数据采样信号的时序,以便于处理器确定应当如何调整写数据采样信号的时序;另一方面,实现该方法的电路结构简单易行,电路资源占用较少,有利于成本及面积控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为ddr数据信号眼图;
图2为ddrdram的写入数据传输方式示意图;
图3为本发明dqs信号时序监测方法流程图;
图4为本发明dqs信号时序监测方法对应的眼图;
图5为本发明dqs信号时序监测另一种方法流程图;
图6为本发明dqs信号时序监测电路的结构示意图。
图中:101、信号生成模块;102、触发模块;103、判断模块;104、保存模块。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
相关技术中,以第四代低功耗双倍速率同步动态随机存储器(lpddr4)为例,如图2所示,数据信号(以下称dq信号)接收模块通常在dq输入端口的旁边,写数据采样信号(以下称dqs信号)需要从dqs输入端口拉到各个dq接收模块上,因此,在进行写操作时,在接收方向上dqs信号的内部延迟比dq信号的内部延迟大,导致dqs信号的边沿在时序上不能与dq信号的中心处对齐,影响写入操作的准确触发。
为了改善该情况,存储器要求控制器补偿dqs信号和dq信号之间的延迟差,发送dqs信号时会比发送dq信号提前,以确保二者能够对齐。jedec标准中对该提前发送时间进行了定义,即tdqs2dq。标准要求lpddr4的tdqs2dq的范围为200ps~800ps。同时,lpddr4还通过振荡器跟踪并调整tdqs2dq的值,以确保其能够准确弥补dqs信号和ds信号之间的时序差距。
在发送dqs信号后确认它的边沿在时序上是否已经与dq信号的中心处对齐,可以判断目前设置的tdqs2dq的值是否合适。若已经对齐,则不需要调整tdqs2dq的值,若没有对齐,则需要调整tdqs2dq的值。目前可以实现的一种判断方式是,通过dram控制器改变tdqs2dq的值发送读或写操作来确认,过程较繁琐,如果发送数据量过少不能准确反应工作情况,发送数据量过多则会浪费带宽。而且,这种方式会有20ps的误差,而对于lpddr5和ddr5来说,传输速率需要达到6400mbps,此时一个时钟周期只有156.25ps,有效部分很可能只能100ps,20ps误差精度可能不够用来调整tdqs2dq的值。
本发明实施方式中提供了一种dqs信号时序监测方法,用于在存储器进行写入操作时监测dqs信号的边沿在时序上是否已经与dq信号的中心处对齐。该监测方法可以用于动态随机存储器的时序监测,如第四代双倍速率同步动态随机存储器(ddr4)、第四代低功耗双倍速率同步动态随机存储器(lpddr4)、第五代双倍速率同步动态随机存储器(ddr5)、第五代低功耗双倍速率同步动态随机存储器(lpddr5)等,在此不再一一列举,以下以lpddr4为例进行说明。
如图3所示,本发明实施方式的dqs信号时序监测方法包括:
步骤s110,生成提前dqs信号,提前dqs信号的时序提前于dqs信号;生成延时dqs信号,延时dqs信号的时序滞后于dqs信号,且提前dqs信号和延时dqs信号之间的时间差不超过dq信号一个周期内的有效时间;
步骤s210,利用提前dqs信号和延时dqs信号分别对dq信号进行采样,以获取采样结果;
步骤s310,判断采样结果中包含的数据种类,若仅包含一种数据,判断dqs信号时序符合要求,否则,若包含两种数据,判断所述dqs信号时序不符合要求。
参考图4,利用时序提前和滞后于dqs的两种信号对dq信号进行采样,由于两种信号的时间差在一个dq信号周期的有效时间内,所以如果采样结果均一致,则表明提前dqs信号和延时dqs信号都对应在dq信号有效窗口内,那么时序位于两者之间的dqs信号时序符求合要。如果提前dqs信号和延时dqs信号中出现不同的采样结果,表明提前dqs信号和延时dqs信号中有一个没有对应在dq信号有效窗口内,那么时序位于两者之间的dqs信号必然已经偏离的dq信号的中心,没有与其对齐,不符合要求。
提前dqs信号和延时dqs信号之间的时间差不超过数据信号一个周期内的有效时间,以保证采样结果能够准确反映时序是否正确。如果超过一个周期内的有效时间,则必然会有一提前或延时dqs信号超出dq信号有效窗口范围,无论dqs信号是否对准dq信号中心,采样结果都会出现两种数据类型,时序不符合要求可能会造成误判。如果没有位于有效时间内,也会导致采样结果不能准确反映时序的准确性。
由于采样结果中包含的数据种类只能为0或者1,所以如果每一次采样的结果中,提前dqs信号和延时dqs信号的结果如果都为0,表示dq信号此时传递的数据为0,且dqs信号对准了dq信号中心。如果都为1同理。如果采样结果中既有0又有1,则表示dqs信号没有对准dq信号中心,偏移较大不符合要求。根据此原理可以便捷准确的得知dqs信号写入时的时序是否符合要求。
本发明方法既可以用于测试阶段的时序监测,也可以用于用户使用时的时序监测。
下面对本发明实施方式的时序监测方法进行详细说明:
在本示例性实施方式中,步骤s110中的提前dqs信号包括第一提前dqs信号至第n提前dqs信号,延时dqs信号包括第一延时dqs信号至第n延时dqs信号;提前dqs信号和延时dqs信号的时序排序一一对应,n为自然数。n个提前dqs信号的时序各不相同,n个延时dqs信号的时序各不相同;任一提前dqs信号提前于dqs信号的时间等于对应的延时dqs信号滞后于dqs信号的时间;且与dqs信号时序差最大的所述提前dqs信号和延时dqs信号之间的时间差不超过dqs信号一个周期的有效时间。
具体而言,提前dqs信号和延时dqs信号均可以包括多个,且数量相等,即提前dqs信号包括第一提前dqs信号、第二提前dqs信号、……、第n-1提前dqs信号、第n提前dqs信号,延时dqs信号包括第一延时dqs信号、第二延时dqs信号、……、第n-1延时dqs信号、第n延时dqs信号。根据时序排序,第一提前dqs信号对应第一延时dqs信号,第二提前dqs信号对应第二延时dqs信号,……,第n提前dqs信号对应第n延时dqs信号。同时,第一提前dqs信号提前于dqs信号的时间等于第一延时dqs信号滞后于dqs信号的时间,第二提前dqs信号提前于dqs信号的时间等于第二延时dqs信号滞后于dqs信号的时间,......,第n提前dqs信号提前于dqs信号的时间等于第n延时dqs信号滞后于dqs信号的时间,设置相同的提前和延后的时间,便于判定采样结果是否符合要求。并且,第n提前dqs信号和第n延时dqs信号之间的时间差不超过dq信号一个周期的有效时间。n=1时,仅通过一个提前dqs信号和一个延时dqs信号进行采样监测,即可对dqs信号的时序进行检测,但精度较低。n越大,需要同时通过多个提前dqs信号和多个延时dqs信号进行采样监测,精度更高。
举例而言,lpddr4的dq信号一个周期为156.25皮秒,其中有效时间为100皮秒,在一种示例性实施方式中,n=2,如图4所示,提前dqs信号包括第一提前dqs信号和第二提前dqs信号,对应的,延时dqs信号包括第一延时dqs信号和第二延时dqs信号。第一提前dqs信号与dqs信号的时间差为-20皮秒,第二提前dqs信号与dqs信号的时间差为-50皮秒。第一延时dqs信号与dqs信号的时间差为+20皮秒,第二延时dqs信号与dqs信号的时间差为+50皮秒。
步骤s210和步骤s310中,采用四个信号同时对dq数据采样,并按照时序从早到晚的顺序排序组成采样结果,如果采样结果中仅包含一种数据,即采样结果为4'b0000或4'b1111时,判断dqs信号时序符合要求。如果采样结果中包含两种数据,即采样结果为4'b0111、4'b0001、4'b1000、4'b1110、4'b1100或4'b0011时,判断dqs信号时序不符合要求。对于时序不符合要求的采样数据,4'b0111表示dq数据传输的数据是1,而第二提前dqs信号位于dq信号有效窗口的左侧,说明dqs信号没有对准dq信号的中心且位置偏左,即dqs信号的时序偏早,需要进一步延迟发送dqs信号,即缩小tdqs2dq的值。同理,4'b1110表明,表示dq数据传输的数据是1,而第二延时dqs信号位于dq信号有效窗口的右侧,说明dqs信号没有对准dq信号的中心且位置偏右,即dqs信号的时序偏晚,需要进一步提前发送dqs信号,即增大tdqs2dq的值。对于4'b0001、4'b1000仅传输数据不同,时序分析同理。若采样结果为4'b1100,表示两个信号都位于dq信号有效窗口外侧,可能是提前dqs信号,也可能是延时dqs信号,此时无法判断传输的是什么数据,且说明dqs信号与dq信号的中心偏差较大,不符合要求,需要调整tdqs2dq的值,但不能确定dqs信号时序是提前了还是滞后了,因此无法直接推断应当增大还是减小tdqs2dq的值。采样结果为4'b0011时,同理。
提前dqs信号和延时dqs信号与dqs信号的时间差的设置需考虑存储器的时序余量。由于时序余量决定了可以允许dqs信号在dq信号中心的偏离程度,如果时序余量较小,意味着要求dqs信号严格对准dq信号中心,此时提前dqs信号和延时dqs信号与dqs信号的时间差需要设置较大,一旦dqs信号稍有偏离,就会发生提前dqs信号或延时dqs信号位于dq信号有效窗口外的现象(即会出现两种数据类型),以提示dqs信号目前没有严格对准dq信号中心,不符合要求。如果时序余量较大,意味着允许dqs在dq信号中心前后一定范围内基本对齐,此时提前dqs信号和延时dqs信号与dqs信号的时间差可以设置较小,只要dqs信号在时序余量设置范围内偏离,都不会发生提前dqs信号或延时dqs信号没有对应在dq信号有效窗口内的现象(即只会出现一种数据类型),则认为dqs信号目前基本对准了dq信号中心,符合要求。在该示例性实施方式中,-20、+20皮秒的设置时间是根据系统可以接受的最小时序余量设置,-50、+50皮秒的设置时间是根据系统可以接受的最大时序余量(长期稳定工作余量)设置,处理器根据采样结果可以得知时序余量是否合适。在本发明的其他示例性实施方式中,各提前dqs信号和延时dqs信号与dqs信号的时间差还可以调整精度的需求设置为其他数值,此处不再一一列举。
在本发明的其他示例性实施方式中,n还可以为其他数值,例如n=1,采样结果可以为4'b11、4'b00、4'b01、4'b10。4'b11、4'b00表示dqs信号时序符合要求,4'b01、4'b10表示不符合要求。再例如n=3,采样结果可以为4'b01111、4'b00001、4'b00011、4'b00111、...等,4'b11111和4'b00000表示符合要求,其他结果表示不符合要求。同理n为其他值也可推断dqs信号是否与dq信号中心的对准,判断方式相同,此处不再赘述。
另外,在本发明的其他示例性实施方式中,任一提前dqs信号提前于dqs信号的时间也可以不等于对应的延时dqs信号滞后于dqs信号的时间,只要保证设置的时序差能够保证即使dqs信号在dq信号窗口中心有偏移,系统的时序余量也足够接受该偏差即可。
在本示例性实施方式中,如图5所示,本发明监测方法还包括:
步骤s410,对时序不符合要求的采样结果进行保存。
对时序不符合要求的采样结果进行保存,可以供处理器读取监测结果,确定tdqs2dq的值是否出过错,从而进一步调整tdqs2dq的值。采样结果可以保存于寄存器,通过在存储器的模式寄存器中设置相关的读指令来读取。
当本发明监测方法执行多次,且产生若干个时序不符合要求的采样结果时,所述步骤s410中,对若干时序不符合要求的采样结果进行保存时,计算若干个所述时序不符合要求的采样结果中两种数据种类的个数的差值绝对值,用差值绝对值最小的采样结果覆盖其他采样结果。
时序不符合要求的采样结果中两种数据种类的个数的差值绝对值越小,说明两种数据个数越接近,不符合要求的情况越严重,用最严重的不符合结果覆盖其他不符合结果,有助于处理器读取结果时得知dqs信号出现过最严重的时序问题,急需调整。举例而言,以n=2中可能出现的时序不符合要求的采样结果为例,采样结果为4'b1100或4'b0011时,两种数据个数相等,差值绝对值为0,dqs信号时序问题最严重,采样结果为4'b0111、4'b0001、4'b1000或4'b1110,两种数据个数不等,差值绝对值为2,表示dqs信号出现轻微的时序问题。一旦出现4'b1100或4'b0011的采样结果,就用其覆盖其他错误结果。
在本示例性实施方式中,提前dqs信号和延时dqs信号均可通过相位延迟电路对dqs信号进行相位延迟产生,由此产生的提前dqs信号和延时dqs信号能够保证与dqs信号的同步性,以准确的判断dqs信号的时序。相位延迟电路可以是缓冲器。
本发明实施方式还提供一种dqs信号时序监测电路,用于实现上述监测方法,如图5所示,包括:信号生成模块101、触发模块102和判断模块103,信号生成模块101包括若干输出端,用于生成并发送提前dqs信号和延时dqs信号。触发模块102连接dq信号端和信号生成模块的输出端,接收dq信号、提前dqs信号和延时dqs信号,用于利用提前dqs信号和延时dqs信号触发dq信号,以进行采样。判断模块103连接触发模块,接收采样结果,用于根据采样结果中包含的数据种类判断时序是否符合要求。
在本示例性实施方式中,信号生成模块101包括多个缓冲器,多个缓冲器连接dqs信号端,用于对dqs信号进行不同的相位延迟,以生成提前dqs信号和延时dqs信号。举例而言,如图6所示,当n=2,需要四个缓冲器分别对dqs相位延迟,以生成四种不同时序的提前dqs信号和延时dqs信号。缓冲器可以采用常见的两个串联的cmos管结构,也可以是其他结构,本发明不对此进行特殊限定。
在本示例性实施方式中,触发模块102包括多个触发器,多个触发器与信号生成模块的输出端一一对应连接,以生成提前dqs信号和延时dqs信号。如图所示,当n=2,共需要四个触发器,与四个缓冲器一一对应连接,以分别对dq信号进行触发采样。触发器包括但不限于脉冲型触发器,本发明不对此进行特殊限定。
在本示例性实施方式中,判断模块103包括比较器,用于确定采样结果中数据的种类。比较器可以采用一个异或门的结构,通过比较提前dqs信号或延时dqs信号的相位与预设相位是否相同输出不同的结果,以此确定采样结果中包含的数据的种类。比较器可也以采用其他结构,本发明不对此进行特殊限定。
在本示例性实施方式中,监测电路中还包括保存模块104,连接判断模块,将其中时序不符合要求的采样结果保存。保存模块可以是一个寄存器,其保存结果供处理器读取。
在本发明另一示例性实施方式中,判断模块103还可以包括比较器和运算模块。比较器用于确定采样结果中数据的种类,如前所述,比较器可以采用一个异或门的结构,通过比较提前dqs信号或延时dqs信号的相位与预设相位是否相同输出不同的结果,以此确定采样结果中包含的数据的种类。运算模块可以通过数字逻辑电路计算保存的采样结果中两种数据种类的个数的差值绝对值,并通过保存模块用差值绝对值最小的采样结果覆盖其他采样结果,以便处理器得知最严重的时序情况进而作出合适的调整。数字逻辑电路可以采用现有的电路结构,本发明不对此进行特殊限定。
上述实施方式中,用于监测的数据信号来自于dq0管脚,在本发明其他实施例中,也可以采用其他dq管脚进行监测。
本发明实施方式还提供一种存储器,包括上述dqs信号时序监测电路,可以准确的提供时序监测结果,有利于处理器在写入数据时及时调整信号时序,更准确的执行写入操作。该存储器可以为第四代双倍速率同步动态随机存储器、第四代低功耗双倍速率同步动态随机存储器、第五代双倍速率同步动态随机存储器、第五代低功耗双倍速率同步动态随机存储器中任意一种。
在本示例性实施方式中,存储器内部还包括数据选通器,连接存储器的多个dq端和监测电路中的触发模块,用于从多个dq信号中选择一个dq信号传输给触发模块,以进行监测。在dq0~7中只选择一个dq端进行检测既可以满足监测时序的要求,也可以节省电路资源。同时,也可以在不同时间利用不同的dq端进行监测,以有效利用资源,同时还可以充分全面的进行监测。
本发明的监测方法和监测电路利用时序提前和滞后于dqs的两种信号对dq信号进行采样,根据采样结果中包含的数据种类数判断dqs信号是否与dq信号的中心对齐。一方面能够准确的监控写入时dqs信号的时序,以便于处理器确定应当如何调整dqs信号的时序;另一方面,实现该方法的电路结构简单易行,电路资源占用较少,有利于成本及面积控制。
虽然本说明书中使用相对性的用语,例如“上”“下”来描述图标的一个组件对于另一组件的相对关系,但是这些术语用于本说明书中仅出于方便,例如根据附图中所述的示例的方向。能理解的是,如果将图标的装置翻转使其上下颠倒,则所叙述在“上”的组件将会成为在“下”的组件。当某结构在其它结构“上”时,有可能是指某结构一体形成于其它结构上,或指某结构“直接”设置在其它结构上,或指某结构通过另一结构“间接”设置在其它结构上。
用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。