用于优化多点总线的时序的方法和装置的制作方法

文档序号:6752983阅读:232来源:国知局
专利名称:用于优化多点总线的时序的方法和装置的制作方法
技术领域
本发明涉及半导体器件领域。更具体地说,本发明涉及减少计算机系统总线上的通信差错这一领域。
背景技术
设计现今的计算机系统时的一个重要因素是最小化多点总线(multi-drop bus)上的信道差错(数据传输期间发生的差错)。多点总线通常将一个设备连接到两个或更多其他设备。阻抗沿着总线的非连续性可能会在时钟信号上创建一个驻波,因而降低了时钟信号完整性并造成时钟信号相对于数据信号之间的偏差(skew)。这一偏差可能会导致主控设备在非最优时刻处锁存来自受控设备的数据,并导致信道差错的增加。
用于处理由阻抗非连续性引入的时钟偏差的现有技术包括降低总线上可允许的最大时钟频率,以确保有效数据会被锁存在接收设备处。当然,时钟频率的降低导致了总线的性能的下降,因此是不可取的。


从下面给出的详细描述以及本发明实施方案的附图可更彻底地理解本发明,然而,这些描述和附图不应被理解为将本发明局限于所描述的具体实施方案,而仅仅是用于说明和理解。
图1一个计算机系统的方框图,其包括耦合到若干存储器设备的系统逻辑设备。
图2是耦合到存储器设备的存储器控制器的方框图。
图3是用于最小化信道差错的方法的一种实施方案的流程图。
具体实施例方式
一般地,下面描述的实施方案是用于最小化信道差错的技术的实施例,其中通过错开(skew)相对于时钟信号的数据的发送或接收,以确保当接收设备锁存数据时该数据在接收设备处是有效的。在一种实施方案中,这是通过将数据眼(定义为数据在接收设备处有效的时间段)的中心设置在将在接收设备处锁存该数据的时刻附近。在一个示例性实施方案中,第一设备将时钟偏移消息传递到第二设备。第二设备根据该时钟偏移消息来偏移它的数据发送。将测试范式(test pattern)从第二设备发送到第一设备。第一设备然后检查所接收的测试范式以确定所述发送是否成功了。第一设备然后可以传递附加的时钟偏移消息到第二设备,以指示第二设备用一个与以前所用的值不同的值来偏移其数据发送。第二设备再次发送所述测试范式,第一设备再次检查所接收的范式。通过尝试多个时钟偏移值并确定哪些值导致了成功的数据发送,第一设备可以确定最优的时钟偏移值,并指示第二设备将该值用于所有的发送。
一旦确保了从第二设备到第一设备的成功发送,就可以将一个测试范式从第一设备写到第二设备,然后从第二设备读回到第一设备,以检查从第一设备到第二设备的成功发送。第一设备可通过时钟偏移消息来指示第二设备将从第一设备接收的数据的锁存偏移一个在所述时钟偏移消息中指定的时间量。可以尝试各种时钟偏移时间来确定最优值。
图1是计算机系统100的方框图,其包括耦合到系统逻辑设备210的处理器110。系统逻辑设备210耦合到输入/输出中心160。输入/输出中心160可通过外围设备总线180提供与各种外围组件(未示出)的通信。
系统逻辑设备210包括存储器控制器212,存储器控制器212通过存储器总线230耦合到存储器设备220、120和130。存储器控制器212还通过边带控制信号240耦合到存储器设备220、120和130。边带控制信号240可实现为低频总线,用于将控制指令从存储器控制器212传送到存储器设备220、120和130。
图2是存储器控制器212和存储器设备220的扩展视图。存储器控制器212包括边带控制信号输出单元214和存储器总线输入/输出单元216。边带控制信号输出单元214通过边带控制信号240提供与存储器设备220的通信。存储器总线输入/输出单元216通过存储器总线230将数据发送到存储器设备220并从其接收数据。存储器总线230可包括多个数据线和至少一个时钟线。
存储器控制器212还包括测试范式比较器单元218,存储器设备220还包括模式(mode)选择寄存器222和时钟偏移寄存器224。
对于这一示例性实施方案,为了优化存储器总线上的读写时序,存储器控制器212首先通过边带控制信号240传递时钟偏移消息到存储器设备220。所述时钟偏移消息指示存储器设备220将一个发送时钟偏移值(包括在所述时钟偏移消息中)置入时钟偏移寄存器224。所述发送时钟偏移值代表存储器设备220的内部数据发送时钟被偏移的时间段。
存储器控制器212然后通过边带控制信号240传递测试模式(test mode)消息到存储器设备220。所述测试模式消息指示存储器控制器220将一个模式选择值置入模式选择寄存器222。所述测试模式消息包括这样一个模式选择值,该值指示存储器设备220进入测试模式。测试模式使得存储器设备220通过存储器总线230发送预定的测试范式到存储器设备212。这一发送的发生伴随着用存储在时钟偏移寄存器中的发送时钟偏移值来偏移所述发送。如果所述发送通常发生在时刻t=0,则利用示例性的15皮秒的发送时钟偏移值,所述测试范式将在时刻t=0+15皮秒处发送。可以使用大范围的偏移值,包括会使得所述发送发生在t=0之前(即t=0-15皮秒)的值。对于本实施方案,发送时钟偏移可通过时延锁定环路(delay lock loop circuit)来实现。该时延锁定环路改变了存储器设备220内部的发送时钟信号的时序。
存储器控制器212接收所述测试范式,测试范式比较器单元218通过将所接收的范式与预定范式相比来确定所述发送是否成功了。测试范式比较器单元218然后存储所述成功/失败结果。
存储器控制器212可将上述过程进行许多次的迭代,尝试多个不同的发送时钟偏移值。利用存储在测试范式比较器单元218中的各种迭代结果,存储器控制器212可以确定用于存储器设备220的发送时钟偏移的最优值。
一旦已经优化了从存储器设备220到存储器控制器212的发送的时序,也就可以优化从存储器控制器212到存储器设备220的发送的时序。存储器控制器212通过时钟偏移消息,在边带控制信号240上传递一个接收时钟偏移值到存储器设备220。所述接收时钟偏移值存储在时钟偏移寄存器224中。存储器控制器212然后传递预定测试范式到存储器设备220。存储器控制器212然后从存储器设备220读回所述测试范式,并且测试范式比较器单元218将所接收的测试范式与所述预定范式进行对比检查。由于已经优化了从存储器设备220到存储器控制器212的发送时序,因此测试范式比较器单元218发现的任何差错都可归咎于从存储器控制器212到存储器设备220的发送期间发生的差错。
存储器控制器212可针对于存储器设备220尝试多个不同的接收时钟偏移值。这些尝试的结果存储在测试范式比较器单元218中。存储器控制器212然后可以确定用于存储器设备230的接收时钟偏移的最优值。对于本实施方案,所述接收时钟偏移可通过时延锁定环路来实现。所述时延锁定环路改变了存储器设备230内部的接收时钟信号的时序。
上述用于最小化存储器控制器212和存储器设备230之间的信道差错的过程可对于附接到存储器总线230的所有其他设备而进行重复。
这里描述的用于最小化信道差错的过程可以使用硬件和软件的组合来实现。也可以使用只有硬件的实施方案。
虽然上面结合图1和2描述的实施方案包括优化存储器控制器和存储器设备之间的时序,但是其他实施方案也可优化各式各样的设备之间的时序。
图3是用于最小化第一设备和第二设备之间的信道差错的方法的一种实施方案的流程图。在方框305,将时钟偏移消息的第一排列(permutation)从第一设备传递到第二设备。在方框310,将测试模式消息从第一设备传递到第二设备。在方框315,将测试范式从第二设备发送到第一设备。
在方框320,确定所述测试范式是否被成功接收到。在方框325存储确定结果。
方框330表明如果已进行了最后一个排列,则处理前进到方框340。如果还有其他排列,则处理前进到方框335。在方框335,将时钟偏移消息的下一个排列从第一设备传递到第二设备。然后处理返回到方框315。
在最后一个排列的处理之后,在方框340,将测试模式退出消息从第一设备传递到第二设备。在方框345分析所存储的测试范式发送结果。最后,将时钟偏移消息从第一设备传递到第二设备,从而将第二设备时钟偏移设置为最优值。
在前面的说明书中,已参考其具体示例性实施方案来描述了本发明。然而,很清楚可以对其做出各种修正和改变而不会偏离本发明在所附权利要求中给出的更宽的精神和范围。因此本说明书和附图应被看作为说明性的而非限制性的。
在说明书中对“实施方案”、“一种实施方案”、“一些实施方案”或“其他实施方案”的引用意味着对有关所述实施方案描述的特定特征、结构或特性至少包括在本发明的一些实施方案中,但未必包括在所有实施方案中。“实施方案”、“一种实施方案”或“一些实施方案”的各种出现未必指的是相同的实施方案。
权利要求
1.一种方法,包括将第一时钟偏移消息从第一设备传递到第二设备;根据第一时钟偏移消息来设置第二设备中的时钟偏移值;将测试范式从第二设备传递到第一设备;以及在第一设备处检查所述测试范式以确定所述测试范式是否被成功接收到。
2.如权利要求1所述的方法,还包括存储所述测试范式检查的结果。
3.如权利要求2所述的方法,还包括将第二时钟偏移消息从第一设备传递到第二设备;根据第二时钟偏移消息设置第二设备中的时钟偏移值;再次将所述测试范式从第二设备传递到第一设备;在第一设备处再次检查所述测试范式,以确定所述测试范式是否被成功接收到;以及再次存储所述测试范式检查的结果。
4.如权利要求3所述的方法,还包括分析所存储的测试范式检查结果以确定最优时钟偏移值。
5.如权利要求4所述的方法,还包括将第二设备中的时钟偏移值设定为所述最优时钟偏移值。
6.如权利要求1所述的方法,其中将第一时钟偏移消息从第一设备传递到第二设备的步骤包括通过边带控制信号将第一时钟偏移消息从第一设备传递到第二设备。
7.如权利要求1所述的方法,其中将所述测试范式从第二设备传递到第一设备的步骤的发生是响应于将测试模式消息从第一设备传递到第二设备。
8.如权利要求1所述的方法,其中将第一时钟偏移消息从第一设备传递到第二设备的步骤包括将第一时钟偏移消息从存储器控制器设备传递到存储器设备。
9.一种装置,包括总线接口;边带控制信号输入端;时钟偏移寄存器;以及测试范式生成器,其响应于在所述边带控制信号输入端处接收的测试模式消息,通过所述总线接口输出测试范式。
10.如权利要求9所述的装置,还包括时钟偏移寄存器,其中根据存储在所述时钟偏移寄存器中的值来偏移所述测试范式输出。
11.如权利要求10所述的装置,其中可通过经由所述边带控制信号输入端而接收的偏移值消息来更新所述时钟偏移寄存器。
12.如权利要求11所述的装置,其中所述装置包括存储器设备。
13.一种装置,包括边带控制信号输出单元,用于将时钟偏移消息输出到外部设备,并还将测试模式消息传递到所述外部设备;总线接口单元,用于从所述外部设备接收测试范式;以及测试范式比较器单元,用于确定所接收的测试范式是否与预定范式匹配。
14.如权利要求13所述的装置,其中所述装置包括系统逻辑设备,其包括存储器控制器。
15.一种系统,包括第一设备,包括耦合到总线的总线接口,耦合到边带控制信号的边带控制信号输入端,时钟偏移寄存器,以及测试范式生成器,其响应于在所述边带控制信号输入端处接收的测试模式消息,通过所述总线接口输出测试范式;以及第二设备,其包括边带控制信号输出单元,用于将时钟偏移消息传送到第一设备,并还将测试模式消息传递到第一设备,总线接口单元,用于从第一设备接收所述测试范式;以及测试范式比较器单元,用于确定所接收的测试范式是否与预定范式匹配。
16.如权利要求15所述的系统,其中所述第一设备的时钟偏移寄存器可通过接收由所述第二设备通过所述边带控制信号发送的时钟偏移消息来更新。
17.如权利要求16所述的系统,其中所述第一设备包括存储器设备。
18.如权利要求17所述的系统,其中所述第二设备包括系统逻辑设备,其包括存储器控制器。
全文摘要
第一设备将时钟偏移消息传递到第二设备。第二设备根据该时钟偏移消息来偏移它的数据发送。将测试范式从第二设备发送到第一设备。第一设备然后检查所接收的测试范式以确定所述发送是否成功了。第一设备然后可以传递附加的时钟偏移消息到第二设备,以指示第二设备用一个与以前所用的值不同的值来偏移其数据发送。第二设备再次发送所述测试范式,第一设备再次检查所接收的范式。通过尝试多个时钟偏移值并确定哪些值导致了成功的数据发送,第一设备可以确定最优的时钟偏移值,并指示第二设备将该值用于所有的发送。
文档编号G11C29/50GK1679011SQ03819922
公开日2005年10月5日 申请日期2003年5月22日 优先权日2002年6月28日
发明者约瑟夫·萨蒙, 欣·图 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1