用于监控和补偿高速并行总线上的偏差的方法和设备的制作方法

文档序号:6760550阅读:201来源:国知局
专利名称:用于监控和补偿高速并行总线上的偏差的方法和设备的制作方法
技术领域
本发明涉及提高ASIC装置,例如同步动态随机访问存储器(SDRAM)的性能和数据吞吐量的技术,更具体地说,涉及用于监控和补偿在该ASIC装置中的高速并行总线上的偏差(skew)的技术。
背景技术
随着对网络和计算机应用性能和数据吞吐量需求的增加,许多必需的个人子系统的性能和数据吞吐量需求也增加了。例如,主存和系统处理器之间的数据传输,经常是任何计算机系统中重要的性能瓶颈。即使是最快的标准动态随机访问存储器(DRAM)也跟不上用于许多计算机系统中的不断增长的总线速度。
同步动态RAM(SDRAM)是DRAM的一种,其显示了改善后的性能和数据吞吐量。DRAM有一个异步接口(即,它对其控制输入的变化立即作出反应),同时SDRAM有一个同步接口(即,它在响应其控制输入前等待一个时钟脉冲)。同样,双倍数据速率(DDR)SDRAM是SDRAM的进一步进化,它用于许多计算机系统。正如原来提出的那样,SDRAM只在时钟信号的上升沿起作用(即,每个从低到高的跃迁)。而DDR SDRAM在上升和下降沿都起作用,由此数据速率潜在地增加了2倍。在DDR-2(2x)和QDR-2(4x)中通过时钟信号的相位偏移而获得额外的上升和下降沿,从而获得了性能的进一步改进。
SDRAM在低端用户计算机应用以及高端网络交换机和路由器中都有广泛应用。当前,传送从内存中读出或者写入内存的并行数据的并行总线中的延迟偏差(delay skew)传播限制了SDRAM的数据吞吐量(即,速度)。通常,在延迟偏差传播存在时,并行总线上数据信号的上升和下降沿无法对准。偏差传播经常归因于工艺、电压、温度或者老化(PVTA)的变化。
因此,需要一种监控和补偿SDRAM和其它ASIC装置中的高速并行总线上的偏差的方法和设备。进一步需要一种基于微处理器的I/O偏差控制技术。

发明内容
一般地,本发明提供一种用于监控和补偿高速并行总线上的偏差的方法和设备。根据本发明的一个方面,通过对每个单位间隔获得多个信号的多个样本来对并行总线上的多个信号的延迟偏差进行监控;并且根据样本来识别多个信号的跃迁位置。可以通过,例如,使用多个锁存器来对多个信号进行采样并通过比较锁存器的值来估计多个信号中一个或多个的值以获得样本。
微处理器能有选择地用于确定多个信号的跃迁的相对分布并将多个信号的跃迁对准到共同位置。例如,多个信号的跃迁能通过调整与多个信号中的每个信号相关联的缓冲器的延迟控制设置,来对准到共同位置。
对本发明更完整的理解和本发明进一步的特征和优点可以通过参考下面的详细描述和附图来获得。


图1是传统DDR SDRAM的示意框图;图2示出了图1中SDRAM的并行总线上的示例数据信号D0到D17;图3是在此进行了调整以结合本发明的特点和功能的DDRSDRAM的示意框图;图4示出了根据本发明的一个实施例的数据信号监控;图5详细地示出了图3的漫游锁存器RT、RM和RB对数据信号的采样;图6是示出用于监控并行总线的偏差的测试控制系统的示意框图;图7是结合本发明的特征的偏差监控系统的示意框图;图8是结合本发明的特征的偏差补偿系统的示意框图;图9示出了根据本发明的一个实施例的静态相位偏移的度量;图10示出了根据本发明的一个实施例的半周期抖动的度量;图11示出了根据本发明的一个实施例的一周期抖动的度量。
具体实施方案本发明提供了一种基于微处理器的、用于监控和补偿SDRAM和其它ASIC装置中的高速并行总线上的偏差的方法和设备。所公开的偏差均衡技术增加了并行总线的数据吞吐量。根据发明的另一个方面,提供了一种偏差均衡器,能够解决工艺、电压、温度或者老化(PVTA)的变化。
图1是传统DDR SDRAM 100的示意框图。当一个特定用途集成电路(ASIC)上的物理输入/输出管脚(I/O)的数目增加到超出实际限制时,经常有必要将单个ASIC的功能分割成多个ASIC。如图1所示,示例SDRAM的功能被分割为控制器ASIC 110、宏ASIC 130和SRAM ASIC 150。ASIC 110的控制器逻辑生成从SRAM 150中读写数据的命令。另外,ASIC 110包含一个锁相环(PLL)用于生成控制DDR SDRAM 100的计时的时钟信号。宏ASIC 130以公知的方式提供单独的控制器和SRAM ASIC 110、150之间的通信。
在操作中,宏130汇集ASIC 110、150之间的通信到连接两个ASIC 110、150的一个或多个高速ASIC到ASIC总线。在如图1所示的示例实现中,宏130包括子宏122、124、126用于分别汇集地址/命令、写数据和读数据到总线上。应该注意写数据和读数据能在如图1所示的单独的单向总线上,或在一条双向总线上传输。另外,宏130包括高速收发逻辑(HSTL)135-1到135-3用于驱动每条总线。
如图1所示,SRAM ASIC 150包括宏152、154、156,分别用于处理地址/命令、写数据(和时钟)和读数据(和时钟)。
正如下面结合图2的进一步讨论,DDR SDRAM 100已知地用于展示并行总线上的延迟偏差传播,所述总线传送从内存读出或者写入内存的并行数据。在延迟偏差传播存在时,并行总线上的数字信号的上升和下降沿无法对准。偏差传播经常归因于HSTL 135中的缓冲器的工艺、电压、温度或老化(PVTA)的变化。
注意,SDRAM,例如图1所示的SDRAM 100,经常用于计算机系统中,例如,在计算机主板上,和用于许多网络应用中。
图2示出了图1的SDRAM 100的并行总线上的示例数据信号D0到D17。虽然期望每个数据信号D0到D17的下降沿(以及上升沿)对准,但是由于PVTA的变化使得边沿出现了偏差。图2示出了最差偏差传播200。正如下文所讨论的,本发明提供了用于监控高速并行总线上的偏差和用于补偿偏差以使边沿对准的方法和设备。
图3是在此进行了调整以结合本发明的特点和功能的DDRSDRAM 100的示意框图。正如图3所示,示例SDRAM 100的功能以与上面结合图1讨论的方式相同地被分为控制器ASIC 110、宏ASIC130和SRAM ASIC 150。宏ASIC 130和SRAM ASIC 150采用上面结合图1讨论的相同的方式进行操作。正如图3中的展开视图300所示,HSTL电路135根据本发明进行调整以提供偏差均衡。应该注意图3示出了延迟偏差的度量,而图8示出了一个示例偏差校正方案。
HSTL 300包括一对漫游(roaming)多路复用器320-1和320-2用来度量数据信号眼图。如栅格310所示,示例漫游多路复用器320-1和320-2通过用受控的采样时间和阈值设置对眼图进行采样而获得三个样本,漫游顶部(RT)、漫游中央(RM)和漫游底部(RB)。如下面结合图4和5进一步讨论的,漫游多路复用器320-1和320-2由计数控制信号HCNT和LCNT控制。
漫游多路复用器320的输出以图3所示的方式提供给一对唯一的OR(XOR)门330-1、330-2。第一XOR门330-1比较中央锁存器RM的值和顶部锁存器RT的值。采用一种已知的方式,如果中央锁存器RM和顶部锁存器RT的值匹配,XOR门330-1将生成二进制数0并且如果中央锁存器RM和顶部锁存器RT的值不匹配,XOR门330-1将生成二进制数1。因此,当中央锁存器RM和顶部锁存器RT的值不匹配时,对于零交叉点之上的点发生“碰撞”。
同样,第二XOR门330-2比较中央锁存器RM的值和底部锁存器RT的值。采用一种已知的方式,如果中央锁存器RM和底部锁存器RB的值匹配,XOR门330-2将生成二进制数0并且如果中央锁存器RM和底部锁存器RB的值不匹配,XOR门330-2将生成二进制数1。因此,当中央锁存器RM和底部锁存器RB的值不匹配时,对于零交叉点之下的点发生“碰撞”。
如图3所示,示例偏差均衡系统300包括一个或者多个计数器340分别用于对零交叉点之上和之下的点的“碰撞率”进行计数。应该注意,单个共享的计数器可以用来对零交叉点之上和之下的多个点的“碰撞率”进行计数,这对于领域内普通人来说是显而易见的。在图3的示例实施方案中,用三个触发器360、370、380可获得一个3位计数器。计数器340和触发器360、370、380的操作将在下面结合图7进一步讨论。正如后文所讨论的,由计数器340产生的计数能够识别每个边沿的相对位置。通常,在识别上升或者下降沿的交叉点之前计数将为0。以这种方式,能够计算每个数据线D0到D17上的边沿,并且对准到共同位置。
例如,漫游锁存器RM可以设置为阈值0和时间t0。漫游锁存器RT和RB可以设置为阈值+/-4和在时间轴之上的时间t1。利用上面的计数器为不同的位,d0到d17而计算的眼图交叉,表示了偏差传播。
图4示出了根据本发明的一个实施例的数据信号监控。如图4所示,由于每个数据眼图的N个锁存器时间设置选项具有时间方向(例如,水平方向)并且每个数据眼图的M个锁存器阈值设置选项具有电压方向(例如,垂直方向),因此可以对图3的三个漫游锁存器RT、RM和RB进行编程以进行水平和垂直移动,来提供N×M个漫游锁存器选项。这样,通过在N×M个位置上对数据信号进行采样可获得跃迁的准确呈现。在一个示例实施方案中,在水平方向有N=64阶并且在垂直方向有M=128阶(在零交叉点上64阶和零交叉点下64阶)。
图5详细地示出了漫游锁存器RT、RM和RB对数据信号的采样。正如前面所示,可以对3个漫游锁存器RT、RM和RB进行水平编程以进行每数据眼图N拍的左右移动(例如,通过插入相位输出)。另外,零交叉点中央锁存器RM通常固定在垂直方向上的,例如图5所示的零交叉点上。顶部和底部漫游锁存器RT和RB通过对每个锁存器编程为具有M个电压级的可变阈值电压输入,能够从零交叉点RM在垂直方向上上下移动。
因此,中央锁存器RM的值是否与顶部和底部锁存器,RT和RB的值匹配,提供了数据跃迁位置(上升和/或下降沿)的指示。如果中央锁存器RM与顶部锁存器RT有相同的值,就是说它们是匹配的。这样,对于在数据眼图内部的采样,例如数据眼图510,期望中央锁存器RM的值与顶部和底部锁存器,RT和RB的值匹配。对于沿着数据眼图的边界的采样,例如数据眼图510,期望中央锁存器RM的一些值将与顶部和底部锁存器,RT和RB的一些值匹配。对数据眼图的外部采样,例如数据眼图510,期望中央锁存器RM的值与顶部和底部锁存器,RT和RB的值不匹配。
图6是一幅示意框图,示出用于监控并行总线上的偏差的测试控制系统600。在一个典型的实施方案中,对于与给定眼图相关联的N个水平位置的每一个,漫游锁存器RT、RM和RB跨过M个垂直级的每一个以获得数据眼图样本。对于采样位置的N×M矩阵中的每个位置,漫游锁存器RT、RM和RB各自的值由计时器610控制在一预定期间计算。在一个示例实施方案中,对于采样位置的N×M矩阵中的每个位置,计数器620对预定期间中央锁存器RM与顶部和底部锁存器,RT和RB之间的不匹配个数计数。由计数器620生成的计数值,例如,经过串行接口630提供给计算机装置640,例如个人电脑或8051微处理器,用于进一步的分析。
通常,一旦N×M个点上的数据载入到计算机装置640,就能分析这些数据并计算出偏差以及通过控制单个位线延迟均衡偏差。对于采样位置的N×M矩阵中的一个给定位置,碰撞率可以定义为,例如,预定期间与该位置相关的中央锁存器RM与顶部或底部锁存器,RT和RB之间的不匹配的数目。例如,如果给定位置在零交叉点之上,中央锁存器RM的值相当于顶部锁存器RT的值。
图7是结合本发明特征的偏差均衡系统700的示意框图。如图7所示,采用上面结合图1讨论的相同方式,示例SDRAM 100的功能被分成控制器ASIC 110、宏ASIC 130和SRAM ASIC 150。宏ASIC130和SRAM ASIC 150采用上面结合图1讨论的相同方式进行操作。HSTL电路135根据本发明进行调整来提供偏差计算。正如图7所示,在一个示例实施方案中,为了读出计数器的值,把与每个增强HSTL710的碰撞计数器的触发器360、370、380连接在一起。
偏差均衡系统700也包括微处理器720来控制本发明的偏差均衡处理。微处理器720生成许多控制信号来控制偏差计算处理。微处理器720生成低和高阈值信号,LOTH和HITH,分别控制漫游锁存器RB和RT的垂直采样点和时间延迟控制。
另外,微处理器720生成一个计数/移动信号,控制触发器360、370和380是在计数模式还是移动模式。在计数模式下,触发器360、370和380以上面讨论的方式对各种漫游锁存器,RT、RM和RB之间的不匹配进行计数。在移动模式,对于每个数据信号,D0到D17,每个触发器360、370、380的计数值,顺序地移动并被微处理器720读取。通过控制漫游锁存器,RT、RM和RB的位置,微处理器720能处理计数值来识别数字信号,D0到D17的上升和/或下降沿的位置。
这样,微处理器720能将每个数据信号,D0到D17的上升和/或下降沿对准到一个选定的时间线。通常,对于图8中的每个数据信号,D0到D17,通过改变增强HSTL 710中每个缓冲器的延迟来对准边沿。
图8所示的一个实施方案中,通过对每个数据信号,D0到D17,增加增强HSTL 710中每个缓冲器820的延迟控制值,直到它们都被对准,以使边沿对准到偏差窗口200(图2)中最右侧位置(即,延迟该信号)。例如,数据信号D0在延迟设置中要求稍微增加,而数据信号D4在延迟设置中要求更小的增加。同样,为了将边沿对准到偏差窗口200(图2)中的最左侧位置(即,提前该信号),降低每个缓冲器820的延迟控制值。延迟控制值由微处理器720基于识别上升和/或下降沿的位置的计数值进行调整,这对于领域内的普通人员是显而易见的。延迟也能对准到延迟窗口左右位置之间的期望位置。
应该注意,增强HSTL库710能作为一个单独的特定用途集成电路(ASIC)进行销售,如图8所示,或者与宏ASIC 130或者SRAMASIC 150进行集成。
根据发明的一个方面,如图9所示,本发明的偏差监控性能能够监测到信号的静态相位偏移,如下静态相位偏移t0=Σi-0N-1T0iN]]>通常,静态相位偏移测量了在相邻数据线的上升(或下降)沿之间的延迟。
根据发明的另一个方面,如图10所示,本发明的偏差监控性能能够监测到信号的半周期抖动,如下半周期抖动tJH=_half_periodn-1/(2*f0)通常,半周期抖动测量了给定数据线上相邻的上升和下降沿(或者,反之亦然)之间的延迟。
根据发明的另一个方面,如图11所示,本发明的偏差监控性能能够监测到信号的周期抖动,如下周期抖动tp=_periodn-1/f0通常,周期抖动测量了给定数据线上相邻的上升(或下降)沿之间的延迟。
多个一样的模具在晶体表面以重复的模式典型地形成。每个模具包括这里描述的一个装置,并且可能包括其它结构或电路。单个模具从晶体上切下或切成小块,然后打包作为集成电路。本领域的技术人员知道如何切割晶体和打包模具来生产集成电路。这种人造的集成电路被认为是本发明的一部分。
可以理解,这里示出和描述的实施方案和变化仅仅是对本发明的原理的阐释并且在没有背离本发明范围和实质的情况下,本领域的技术人员可以实现各种改变。
权利要求
1.一种用于监控并行总线上多个信号的延迟偏差的方法,包括为每个单元间隔获取所述多个信号的多个样本;和基于所述的样本在所述多个信号中识别跃迁的位置。
2.如权利要求1的方法,其中所述获取步骤进一步包括使用多个锁存器对所述多个信号采样的步骤,和通过比较所述锁存器的值估计所述多个信号中一个或多个信号的值的步骤。
3.如权利要求2的方法,其中所述多个锁存器通过对单元间隔中的N阶和M个电压水平中的至少一个采样所述多个信号来对所述多个信号进行采样。
4.如权利要求1的方法,进一步包括收集所述多个信号的统计的步骤。
5.如权利要求1的方法,进一步包括确定在所述多个信号中的跃迁相对分布的步骤。
6.如权利要求1的方法,进一步包括将所述多个信号的跃迁对准到共同位置上的步骤。
7.一种用于监控并行总线上多个信号的延迟偏差的电路,包括多个锁存器,用于对每个单元间隔获取所述多个信号的多个样本;以及微处理器,用于基于所述的样本识别所述多个信号的跃迁位置。
8.如权利要求7的延迟偏差监控电路,其中所述微处理器还配置以确定所述多个信号中的跃迁相对分布。
9.如权利要求3的延迟偏差监控电路,其中所述微处理器还配置以将所述多个信号中的跃迁对准到共同位置。
10.一种集成电路,包括用于监控并行总线上多个信号的延迟偏差的电路,包括多个锁存器,用来对每个单元间隔获得所述的多个信号的多个样本;和微处理器,基于所述样本识别所述多个信号的跃迁位置。
全文摘要
本发明提供一种用于监控和补偿高速并行总线上的偏差的方法和设备。对于每个单元间隔,通过获得多个信号的多个样本来监控并行总线上多个信号的延迟偏差;以及基于样本识别多个信号的跃迁位置。样本能够被获得,例如,可以通过使用多个锁存器采样多个信号并通过比较锁存器的值来估计多个信号的一个或多个值。微处理器能够有选择地用于确定多个信号中跃迁的相对分布并将多个信号的跃迁对准到共同位置。通过调整与多个信号的每一个相关联的缓冲器的延迟控制设置,可以将多个信号的跃迁对准到共同位置。
文档编号G11C7/10GK1941163SQ20061008772
公开日2007年4月4日 申请日期2006年5月31日 优先权日2005年9月27日
发明者莫罕默德·S.·默比恩 申请人:艾格瑞系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1