首页> 中国专利> 用于双向数据链路的有效的时钟控制方案

用于双向数据链路的有效的时钟控制方案

摘要

本文描述了一种用于经由处理设备和存储器设备之间的双向数据链路进行通信的方法。存储器设备包括时钟源以生成时钟信号,其中所述时钟信号用于在存储器设备处驱动去往和/或来自双向数据链路的数据的锁存。存储器设备将时钟信号提供给处理设备以在处理设备处驱动去往和/或来自双向数据链路的数据的锁存。

著录项

  • 公开/公告号CN102033569A

    专利类型发明专利

  • 公开/公告日2011-04-27

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201010294301.1

  • 发明设计人 A·舍费尔;

    申请日2010-09-21

  • 分类号G06F1/12;

  • 代理机构永新专利商标代理有限公司;

  • 代理人刘瑜

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 02:21:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-04-23

    授权

    授权

  • 2011-06-15

    实质审查的生效 IPC(主分类):G06F1/12 申请日:20100921

    实质审查的生效

  • 2011-04-27

    公开

    公开

说明书

技术领域

本发明的实施例总体上涉及数据通信技术。更具体地说,实施例涉及用于时钟控制在两个接口之间的双向数据链路上的数据交换的技术。

背景技术

图1说明了根据用于在处理设备102和存储器设备(例如,随机存取存储器(RAM)152)之间的双向封装到封装的数据通信的现有技术的系统100。处理设备102的处理接口104协调对交换到处理单元102的数据或交换来自处理单元102的数据进行缓冲(例如,经由接收先入先出(FIFO)缓冲器Rx FIFO 120和/或发送缓冲器Tx FIFO 110)。处理接口104例如可以包括处理设备102的模拟前端。RAM接口150代表RAM 152协调数据交换。

用于处理单元102的处理接口104可以包括发送路径112中的发送锁存器114,其用于将数据从Tx FIFO 110携带到双向链路DQ 140,而用于RAM 152的RAM接口150可以包括接收路径162中的接收锁存器164,其用于将数据从DQ 140携带到RAM 152。由处理单元102将数据写入RAM152可以包括由发送锁存器114和接收锁存器164进行的受时钟控制的锁存。以相对应的形式,RAM接口150包括在发送路径172中的发送锁存器174,其用于将数据从RAM 152携带到DQ 140,而处理接口104包括在接收路径122中的接收锁存器124,其用于将数据从DQ 140携带到Rx FIFO120。由处理单元102读取RAM 152中数据包括由发送锁存器174和接收锁存器124进行的受时钟控制的锁存。

为了时钟控制去向/来自DQ 140的数据的锁存,处理接口104的数据的时钟源130电路例如基于接收的基准时钟信号CLKRef 135来生成时钟信号CLKW 142。除了驱动发送锁存器114和接收锁存器124的受时钟控制的锁存之外,CLKW 142也被提供到RAM接口150以用于接收锁存器164中到RAM 152的数据的受时钟控制的锁存和/或用于发送锁存器174中到DQ140的数据的受时钟控制的锁存。在从处理接口104接收CLKW 142的过程中,RAM接口105需要包括信号恢复电路(例如,清除电路180)以过滤来自CLKW 142的噪声分量,其中所述噪声分量通过在处理接口104生成和/或从处理接口104发送引入的。

为了时钟同步,现有的时钟控制设计像时钟源103那样物理地位于处理设备102的中间位置,以便提供通过处理器的时钟树的较短的时钟/相位分布。因此,现有的数据处理技术依靠系统100的“处理器侧”以将来自处理器侧时钟源的时钟信号提供给“存储器侧”,以用于协调存储器侧的去向/来自DQ 140的数据的锁存。由于这种处理器接口至少消耗了处理器侧上有价值的衬底表面区域,所以将时钟信号提供给存储器设备接口是值得的。

附图说明

在附图的图示中,以示例的方式而非限制的方式说明了本发明的各种实施例。

图1是说明实现用于双向数据链路的锁存的现有技术的系统的部件的框图。

图2是说明根据实施例的实现双向数据链路的受时钟控制的锁存的系统的部件的框图。

图3是说明根据实施例的实现受时钟控制的锁存的系统的部件的框图。

图4是说明根据实施例的实现受时钟控制的锁存的系统的部件的框图。

图5是说明根据实施例的用于锁存双向数据链路的算法的部件的顺序图。

图6是说明根据实施例的时钟源的框图。

具体实施方式

如本文所述,一些实施例提供用于锁存在两个集成电路(IC)封装之间的双向数据链路的数据的有效的时钟控制结构。第一IC封装可以包括一个或多个存储器设备的第一接口,以及第二IC封装可以包括处理设备的第二接口,所述处理设备被配置以经由第一和第二接口之间的双向数据链路访问一个或多个存储器设备。第一IC封装可以包括时钟源以生成用于锁存去往和/或来自双向数据链路的数据的时钟信号。时钟源例如可以包括,例如锁相环(PLL)电路。

在一些实施例中,第一接口可以使用由时钟源生成的时钟信号来锁存数据,所述数据在双向数据链路上入站到第一IC封装。可替代地或此外,可以将由时钟源生成的时钟信号从第一IC封装发送到第二IC封装。响应于从第一IC封装接收时钟信号,第二接口可以对去往和/或来自双向数据链路的数据进行锁存。例如,第二接口可以使用接收的时钟信号(或其派生的)锁存进入的数据和/或重新定时外发的数据的锁存。

图2说明根据实施例的用于实现时钟控制方案的系统200的选择性部件。系统200可以包括具有处理接口204的处理设备202,其中处理设备202通过所述处理接口204与一个或多个存储器设备交换数据。处理设备202可以包括在用于处理的一个或多个数据链路上实现数据处理和交换数据的任何种类的设备,例如,中央处理单元(CPU)、图形处理单元(GPU)、控制器等。在各种实施例中,处理设备202可以包括一个或多个处理核心(未示出)。处理接口204可以包括,例如,处理设备202的模拟前端。

处理设备202与其交换数据的一个或多个存储器设备可以包括系统200的随机存取存储器(RAM)252。RAM 252可以包括RAM设备的任何种类的组合,其包括但不限于,动态RAM(DRAM)、静态RAM(SRAM)、同步图形RAM(SGRAM)等。例如,处理接口204可以经由RAM接口250与RAM 252交换数据。在实施例中,RAM接口250可以集成到RAM252。可替代地或此外,RAM接口250可以与一个或多个存储器设备相分离,例如,其中RAM接口250是处理设备202的通用接口以与多个分离的存储器设备交换数据。

如图2中所说明的,处理接口204和RAM接口250之间的双向数据线路DQ 240可以针对处理设备202和RAM 252交换读取和/或写入数据。处理接口204可以代表处理设备202协调DQ 240上的入站数据的接收和/或出站数据的发送。通过说明而非限制的方式,处理接口204可以包括发送路径212,其包括发送锁存器214以将数据从发送缓冲器Tx FIFO 210携带到双向链路DQ 240。可替代地或此外,处理接口204可以包括接收路径222,其包括接收锁存器224以将数据从DQ 240携带到接收缓冲器Rx FIFO 220。Tx FIFO 210和Rx FIFO 220可以在处理接口204和处理设备202的其他部件之间各自地缓冲将被交换的数据。例如,Tx FIFO 210和Rx FIFO 220可以为了后续数据处理分别地从处理设备202的非核心部分接收数据和将数据发送到处理设备202的非核心部分。像本文所使用的,“非核心”指提供支持处理器核心的操作的处理设备的部分,但是实际上不是处理核心的一部分。

RAM接口250可以包括接收路径262,其包括接收锁存器264以将数据从DQ 240携带到RAM 252。可替换地或此外,RAM接口250可以包括发送路径272,其包括发送锁存器274以将数据从RAM 252携带到DQ 240。与RAM 252交换数据可以包括接收路径262,其将数据发送到缓冲器、总线或RAM 252中的其他数据通信模块(未示出)的任何种类的组合,和/或发送路径272,其从缓冲器、总线或RAM 252中的其他数据通信模块(未示出)的任何种类组合接收数据。

由处理单元202将数据写入RAM 252可以包括由发送锁存器214和接收锁存器264进行的受时钟控制的锁存。可替代地或此外,由处理单元202读取来自RAM 252的数据可以包括由发送锁存器274和接收锁存器224进行的受时钟控制的锁存。可以由RAM接口250内的时钟源生成的时钟信号协调处理接口204和RAM接口250的各种锁存器的受时钟控制的锁存。例如,RAM接口250可以包括PLL 280,其用于例如根据接收的基准时钟信号CLKRef 235生成时钟信号CLKR 242。

在实施例中,可以将CLKR 242提供给RAM接口250的各种锁存器。可替代地或此外,可以将CLKR 242从RAM接口250提供给处理接口204,例如,以协调发送路径212和接收路径222中的任一或两个中的数据的锁存。RAM接口250中的PLL 280的所处的位置使得能够实现处理设备202和RAM接口250各自的技术优势的增强的应用。RAM技术经常地被设计用来提供相对高数据速率拓扑。例如,DRAM技术可以在其物理堆叠式存储器中提供隔离阱(isolated well),其有助于设计低噪声PLL 280,所述PLL支持高数据速率。此外,处理器的物理层常常表现出在硅迹线长度(silicon trace length)上相对低的时钟飞行时间(clock flight time)和较低的噪声敏感度。所以,对处理设备202容许来自外部时钟源(例如PLL 280)的进入的时钟信号是相当地容易的。PLL 280将低噪声CLKR 242提供给抗噪声的处理设备202的益处是允许处理接口204不但在某个时钟源电路之前而且允许清除电路从接收的CLKR 242中消除噪声。在实施例中,可以这样放置处理接口204和RAM接口250,以使得提高对CLKR 242中的任何噪声的足够的抗性,链路DQ 240的长度是基本上是三(3)英寸或低于三(3)英寸。

传统的时钟控制方案是在以下假设下设计的:系统的‘处理器侧’(例如,系统100的处理设备102)必须包括时钟源130,其既用于驱动内部处理器设备锁存和还用于驱动这种系统的‘存储器侧’的锁存。更具体地说,这些现有的时钟控制设计将例如时钟源130物理地位于处理设备102的中间位置以使得通过处理器的时钟树提供较短的时钟/相位分布。时钟源130的中间位置(例如在处理设备102的处理核心中)先前依赖于期望的时钟树特性,例如在低功率操作期间的低抖动。

图3说明了根据实施例的实现时钟控制方案的系统300的选择的部件。系统300可以包括本文描述的关于系统200的一个或多个特征。系统300的处理设备302可以包括处理接口304以与一个或多个存储器设备,例如RAM 352交换数据。处理接口304可以经由RAM接口350与RAM 352交换数据,其中在处理接口304和RAM接口350之间的双向数据链路DQ 340携带被交换的数据。处理接口304可以包括发送路径312,其包括发送锁存器314以将数据从发送缓冲器Tx FIFO 310携带到DQ 340,以及接收路径322,其包括接收锁存器324以将数据从DQ 340携带到接收缓冲器Rx FIFO320。Tx FIFO 310和Rx FIFO 320可以在处理接口304和处理设备302的其他部件(例如,非核心302)之间各自地缓冲将被交换的数据。

RAM接口350可以包括接收路径362中的接收锁存器364,其用于将数据从DQ 340携带到RAM 352,和/或发送路径372中的发送锁存器374,其用于将数据从RAM 352携带到DQ 340。处理设备302可以通过由各种发送/接收锁存器的受时钟控制的锁存治理的操作,或者从RAM 352进行读取或者对RAM 352进行写入。可以由时钟信号CLKR 342协调处理接口304和RAM接口350的各种锁存器的受时钟控制的锁存,其中,所述时钟信号CLKR 342是在RAM接口350处的时钟源PLL 380根据基准时钟信号CLKRef335生成的。可以将CLKR 342提供给处理接口304以协调发送路径312和接收路径322中的任一或两个中的数据的锁存。

系统300还可以包括用于控制跨处理接口304的各种锁存器的时钟控制相位的模块。在实施例中,处理接口304可以包括分别与锁存器314、324和384相关联的相位内插器316、326和386。每一个相位内插器(PI)可以包括刚好在CLKR 342被不同地输入之前调节信号CLKR342(或其派生的)的相位延迟以驱动各自的锁存器314、324和384的电路。由各个PI来调节相位可以受处理设备302的训练逻辑306控制。

在实施例中,锁存器384可以将数据锁存到链路CMD/ADD 344,其中所述CMD/ADD 344进一步地将处理接口304与RAM接口350进行耦合。例如,锁存器384可以将与经由DQ 340交换的读取和/或写入数据相关联的额外的信息(例如,命令和/或地址信息)锁存到CMD/ADD 344。RAM接口350可以包括相应的锁存器388以接收在CMD/ADD 344上的信息。例如,可以通过锁存器388将信息锁存到RAM接口350的控制模块394,其中所述控制模块394确定由RAM 352对数据读取/写入进行寻址。由锁存器384和/或锁存器388对CMD/ADD 344中的数据进行锁存可以与时钟CK346(例如CLKR 342的派生)进行同步。也可以将时钟信号CK 346本身提供给RAM 352中的其他锁存电路,如由信号390驱动RAM 352的锁存器389所说明的。

RAM接口350可以包括相位内插器的任何种类的组合(例如PI 392、396中的一个或多个)以执行系统300的存储器侧上的相位调节。RAM接口350还可以包括额外的训练/跟踪逻辑(例如在控制模块394中)以针对RAM接口350中的锁存器监视和/或指导相位调节。将PI放置在最接近时钟源(例如具有PLL 380的RAM接口350)以使得针对命令/地址交换的时钟控制能够进行相对快的热漂移补偿。此外,卸载来自处理设备302的至少一些相位跟踪和/或训练可以当其在功率状态之间进行各种转换时简化处理设备302所需的调节。这可以允许由处理设备302更快、更节省功率地转变到睡眠状态或从睡眠状态进行转变。

图4说明了根据实施例的实现时钟控制方案的系统400的选择的部件。系统400可以包括本文描述的关于系统200和300的一个或多个特征。系统400的处理设备402可以包括处理接口404以与一个或多个存储器设备(例如RAM 452)交换数据。处理接口404可以经由RAM接口450与RAM452交换数据,其中处理接口404和RAM接口450之间的双向数据链路DQ 440携带被交换的数据。处理接口404可以包括发送路径412,其包括发送锁存器414,发送锁存器414用于将数据从发送缓冲器Tx FIFO 410携带到DQ 440,以及接收路径422,其包括接收锁存器424,接收锁存器424将数据从DQ 440携带到接收缓冲器Rx FIFO 420。Tx FIFO 410和Rx FIFO420可以在处理接口404和处理设备402的其他部件之间各自地缓冲数据。

RAM接口450可以包括接收路径462中的接收锁存器464,其用于将数据从DQ 440携带到RAM 452,和/或发送路径472中的发送锁存器474,其将数据从RAM 452携带到DQ 440。处理设备402可以通过由各种发送/接收锁存器的受时钟控制的锁存治理的操作,从RAM 452读取或写入到RAM 452。可以由时钟信号CLKR 442协调处理接口404和RAM接口450的各种锁存器的受时钟控制的锁存,其中,所述时钟信号CLKR 442是在RAM接口450处由时钟源PLL 480根据基准时钟信号CLKRef 435生成的。可以将CLKR 442提供给处理接口404以协调发送路径412和接收路径422中任一或两个中的数据的锁存。

PLL 480根据参考信号CLKRef 435生成CLKR 442。在实施例中,也可以将同一CLKRef 435直接提供给处理设备402以驱动其部件。例如,可以将CLKRef 435提供给处理设备402的PLL 406,其生成主时钟信号CLKM 408以驱动Tx FIFO 410和Rx FIFO 420中的一个或多个。在实施例中,PLL 480和PLL 406中的任一或两个可以通过将倍频和/或分频分别地应用到CLKRef435作为时钟源进行操作。

图5说明了根据各种实施例的用于时钟控制方案的方法500的选择的部件。例如,方法500可以由系统200执行。在510,方法500可以包括将第一时钟信号从用于存储器设备的第一接口交换到用于存储单元的第二接口。在520,基于被交换的第一时钟信号,可以由第二接口执行数据的锁存。在530,响应于锁存,在第一接口和第二接口之间可以交换数据。

图6说明了根据实施例的时钟源600的选择的部件,其可以包括PLL602。例如,时钟源600可以代表在一个或多个PLL 280、PLL 380和PLL 480中的特征。可以将分频器612耦合到PLL 602。PLL 602可以包括相位和频率检测器604。将电荷泵606耦合到相位和频率检测器604。将环路滤波器(LPF)608耦合到电荷泵606。将压控振荡器(VCO)610耦合到LPF 608。

相位和频率检测器604可以将两个信号CLKRef和CLKFB进行比较并且产生与输入频率之间的差值成比例的向上(或向下)信号。然后由LPF 608对错误信号进行低通滤波并且使用该信号驱动VCO 610,所述VCO 610生成输出信号CLKR。将输出信号CLKR通过分频器612反馈回相位和频率检测器604的输入,生成负反馈回路。如果输出频率漂移,那么错误信号将增加,驱动VCO 610以输出相反方向的频率以便减少错误。

时钟源600可以位于具有其它部件的衬底,所述部件充当输出信号CLKR中的电磁噪声的源。为了减少这些噪声的影响,时钟源600的一些或所有组件可以位于隔离阱中。例如,PLL 602可以位于衬底中的P-扩散阱620中,其中所述P-扩散阱620由衬底的N-扩散阱630包围。N-扩散阱630可以用作对可以由其他组件(例如,边远的P-扩散阱625)生成的其他高频EM噪声分量的壁垒。噪声屏蔽还可以包括将电压VCC应用到N-扩散阱630和/或一个或多个接地的P-扩散阱620、625中。在提供这种噪声防护的实施例中,时钟源600可以位于RAM接口并且将CLKR提供给分离的IC封装中的处理器接口。

本文描述了用于数据通信的技术和架构。在上述描述中,为了解释的目的,阐述了大量具体细节以便提供对本发明的实施例的透彻的理解。然而,对本领域的技术人员显而易见地是,可以在没有这些具体细节的情况下实施本发明的实施例。在其他场合中,用框图的形式示出了结构和设备以便避免模糊本描述。

说明书中提及的本发明的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构或特性至少包含在本发明的一个实施例中。因此,在说明书全文各处出现的短语“在一个实施例中”未必都指同一实施例。

就对计算机存储器中的数据比特的操作的算法和符号表示而言给出了下述详细的说明的一些部分。这些算法描述和表示是由计算领域的技术人员用来将他们工作的主旨最有效地传递给该领域的其他技术人员的手段。通常地,本文的算法被认为是导致期望的结果的自相一致的步骤序列。步骤是那些需要对物理量进行物理操作的步骤。通常但并非是必须地,这些量采取能够被存储、转移、组合、比较、和以其它形式进行操作的电或磁信号的形式。有时,主要针对习惯用法的原因,将这些信号称为比特、值、部件、符号、特征、条目、数字、或其他等被证明是方便的。

然而,应当记住,所有这些以及类似的术语将要与适当的物理量相关联并且仅仅是应用到这些物理量的方便的标签。除非明确地声明否则从下述讨论显而易见地是,可以理解贯穿本描述,使用术语(例如“处理”或“演算”或“计算”或“确定”或“显示”或其他等)的讨论,指的是计算机系统或类似的电子计算设备的动作和处理,其中所述计算机系统或类似的电子计算设备将计算机系统的寄存器和存储器中的表示为物理(电子)量的数据操作并转换为计算机系统存储器或寄存器或其他这些信息存储、发送或显示设备中的类似地表示为物理量的其他数据。

本发明的实施例也涉及用于执行本文中的操作的装置。可以特别地针对要求的目的构造该装置,或它可以包括由存储在计算机中的计算机程序选择地激活或重新配置的通用计算机。可以将这种计算机程序存储在计算机可读存储介质中,例如但不限于,任何类型的磁盘,其包括软盘、光盘、CD-ROM、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)(例如,动态RAM(DRAM)、EPROM、EEPROM)、磁或光卡,或适合用于存储电子指令的任何类型的介质,并且其每一个耦合到计算机系统总线。

本文呈现的算法和显示不是固有地与任何特定计算机或其他装置相关。可以根据本文的教导用程序来使用各种通用系统,或构造专用装置以执行所需的方法步骤被证明是方便的。本文描述了用于各种这些系统的所需的结构。此外,不参考任何特定的编程语言来描述本发明的实施例。将可以理解,可以使用各种编程语言来实现本文描述的本发明的实施例的教导。

除了本文所描述的之外,在不脱离其范围的情况下可以对本发明公开的实施例和实现做各种修改。所以,应当以说明性的而非限制意义解释本文的说明和示例。应当只通过参考下述的权利要求来界定本发明的实施例的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号