存储器总线的信号驱动去加重的制作方法

文档序号:6656261阅读:111来源:国知局
专利名称:存储器总线的信号驱动去加重的制作方法
背景技术
为了在数字电子系统(如计算机系统)中实现更强的处理性能,持续地增加了随机存取存储器(RAM)的数量以及去往和来自RAM的数据的传输速度。存储器数量的增加通常导致了连接到导体的存储器设备数量的增加(其中,经这些导体将数据发往存储器或是从存储器接收数据),由此增加了电容值(capacitance level),并降低了电压电平变化(表示信号的二进制值的变化)从各导体传播到另一导体的速率。在早期的数据传输速率较低的情况下,可以在很大程度上忽略这种电容值增加,因为在存储器设备(位于导体方向上的某点)接收的电压电平锁定上述电压电平以前,有充裕的时间允许这种信号变化的传播移动等于导体总长度的距离,使得整个导体均达到新的希望的电压电平。
然而,在当前的情况下,由于数据传输速率已变得足够高,因而沿导体进行的信号变化传播所需的时间已成为重要的和不可忽略的时间量,因此,必须减少该时间,以进一步提高数据传输速率。已尝试了各种技术来解决这一问题,包括采用更低的电压摆幅(swing)(即减小表示高和低的二进制值的电压电平之间的差异)、差分信号和点到点互连(其中,多个存储器设备包含缓冲器,信号通过这些缓冲器传递到类似于“雏菊链”配置的其他存储器设备)。遗憾的是,接收电路需要将表示二进制值“0”的电压电平与表示二进制值“1”的电压电平区分开来,而这限制了降低上述两个电压电平之间差异的程度。同样,使用差分信号通常成倍地增加了PCB板上的设备之间用于转送信号的信号导体数目和/或各设备的用于支持所述信号传输而所需的I/O引脚数目。此外,采用点到点互连可能既成倍增加了各设备所需的I/O引脚数目,又可能随二进制值(到达其目标设备之前)在设备之间的发送、接收和再次发送而引入不希望的大量附加延迟,从而使得采用多个设备均耦合到同一导体的配置变得更有吸引力。
因此,仍然需要一种通过多个导体在设备(如存储器设备)之间传输数据的方法,其中,各导体连接到多个设备,这进一步抵消了因连入这些设备而导致的电容值增加和由其他因素导致的电容值所造成的信号变化的传播方面的延迟,例如,上述因素包括因将这些设备连至各导体而造成这些导体的长度相对较长的事实。


通过阅读以下的详细描述,本领域技术人员可以更好地理解本发明的目标、特征和优点,其中图1a和图1b分别是采用多个驱动器电路的实施例的框图与对应的透视图。
图2是对强度进行去加重处理的实施例的定时图,其中,以该强度来驱动两个电压电平中的一个电平或另一个电平。
图3a、图3b和图3c示出了采用不同实施形式的驱动器电路的实施例。
图4是改变将电压电平驱动到导体上的强度的实施例的流程图。
图5是一种采用计算机系统的实施例的结构图。
具体实施例方式
在以下的描述中,为说明的目的,给出大量细节来使读者透彻理解本发明的实施例。然而,对本领域技术人员而言,如下所述,显而易见,这些特定细节并非是实施本发明所必须的。
本发明的实施例涉及在电子系统(如计算机系统)中引入用于将信号驱动功率去加重的支持设施,上述功率用于在设备之间驱动表示二进制值的数字信号,其中,在通过导体发送表示给定的二进制值的信号之后,立即继续发送表示相同二进制值的另一实例的相同信号,以避免用超出必需的功率来驱动导体的电压电平,从而避免将所述导体上的电压电平驱动到比所希望的电平更高或更低的电平。尽管以下讨论的至少一部分集中于在计算机系统内的存储器系统中驱动数字信号,但是,仍应当理解,可以将本发明的实施例实施成支持若干不同类型的、为任何目的而传输数字信号的电子设备。
图1a和图1b分别为采用多个驱动器电路的实施例的框图与对应的透视图。电子系统100至少部分地由发送设备110、导体120和接收设备130a与130b组成。在某些实施例中,可以将导体120实施成构成印刷电路板(PCB)125的一部分的导电迹线,而在其他实施例中,可以至少部分地将导体120实施成多导线电缆(未示出)中的导体。
在某些实施例中,电子系统100可以是计算机系统内的存储器系统或其他包含存储器系统的设备的一部分,发送设备110或是存储器控制器的一部分,或耦合到存储器控制器,且导体120至少构成将发送设备110耦合到接收设备130a和130b的存储器总线的一部分,接收设备130a和130b或是数据存储设备的一部分,或耦合到数据存储设备(如动态随机存取存储器(DRAM)设备)。在其他实施例中,发送设备110和接收设备130a和130b可以是各种不同设备的一部分和/或耦合到各种不同设备,这些设备包括I/O设备,其中,导体120至少构成了将发送设备110合到接收设备130a和130b的更通用形式的总线的一部分。
如图1a、1b所示,由于导体120耦合三个设备,因而可以称导体120构成了“多点”总线,而这与仅将两个设备连接在一起的“点到点”互连明显不同。应当仅将此处的对导体120耦合三个设备的描述视为对一种情形的说明,其中,导体120由于耦合到多个设备而承受相当大的容性负载。然而,本领域技术人员将很容易理解,导体120可能因耦合到导体120的设备数目之外的其他因素而承受相当大的容性负载,这些因素包括导体120的长度和截面。因此,不应将此处的对导体120耦合到三个设备的描述视为将本发明的精神和范围的限于任何一种配置(包括“多点”和“点到点”配置)。
发送设备110至少部分地由多个驱动器电路180a、180b直至180x(本领域技术人员应当理解,该多个驱动电路的准确数目对于实施本发明并不重要)构成。各驱动器电路180a-x至少部分地由各驱动器195a-x和控制器190a-x组成。各驱动器电路180a-x接收二进制数据Da-x的相应位,并通过导体120中的相应导体将电压电平驱动到接收设备130a和130b上。
在各驱动器电路180a-x内,驱动器195a-x响应在各驱动器电路180a-x的输入处接收的二进制值1或0(作为二进制数据Da-x的单个位)而实际执行将电压电平驱动到导体120中的相应导体上的过程。在某些实施例中,驱动器195a-x可以响应对二进制值1(作为二进制数据Da-x的相应的一个位)的接收而驱动高电压电平,并响应对二进制值0的接收而驱动低电压电平(可能接近于地电位),而在其他实施例中,可以颠倒二进制1和0与高低电压电平之间的对应关系。
在各个驱动器电路180a-x中,控制器190a-x至少对接收相应的二进制数据Da-x的相应输入进行监视。在某些实施例中,各控制器190a-x存储所接收的上一个二进制位的值,以将该值与由驱动器195a-x中的相应驱动器驱动的当前二进制位的值进行比较。在这类实施例的某些变例中,借助于与二进制数据位Da-x一起接收的时钟信号CLK,可以对存储上一个二进制位的值的过程进行计时。在这类实施例的其他变例中,在不借助时钟信号的情况下,通过检测二进制位的值在0和1之间的变化,可以执行对上一个二进制位的值的存储。存储上一个二进制位的值,并将该值与要驱动的当前二进制位的值进行比较,以确定控制器190a-x之一应何时向驱动器195a-x中的相应驱动器发出信号来降低该驱动器用于将高或低电压电平驱动到导体120中的相应导体上的强度。更具体地,当控制器190a-x中的给定控制器检测到上一个二进制位的值与将由驱动器195a-x中的相应驱动器驱动的当前二进制位的值一致,以至该驱动器将继续将相同的电压电平驱动到导体120中的相应导体上时,控制器190a-x的相应控制器将发信通知该驱动器,以降低该驱动器用于驱动相同电压电平的强度或对该强度进行去加重处理。结果,当电压电平不同于上次驱动的电压电平时,使用更高的驱动强度来将给定的电压电平驱动到导体120中的一个导体上,且当电压电平与已在驱动的电压电平基本相同时,降低用于将给定电压电平驱动到导体120中的一个导体的驱动强度,或对该强度进行去加重处理。以这种方式,在克服导体120中的给定导体上的高容性负载更为有利时,使用更大的驱动强度来更快地改变电压电平;而当所希望的电压电平已在驱动时,使用更低的驱动强度来保持电压电平。
图2是采用对强度进行去加重处理的实施例的定时图,其中,以该强度来驱动两个电压电平中的一个电平或另一个电平。更准确地说,图2示出了由驱动设备(如驱动设备180a-x之一)接收的二进制位的值序列与由被引入发送设备(如发送设备110)之中的驱动器设备驱动的、并通过导体(如导体120中的一个导体)由接收设备(如接收设备130a或130b中的任一个设备)进行接收的电压电平方面的变化之间随时间的关联。驱动器设备从时间点Ta至Tg对各个二进制位的接收导致从时间点Ta′至Tg′,发送设备发送了信号200的不同部分,且接收设备(处于沿携带信号200的导体的方向上的给定点处)接收了这些部分。应当注意,为简明起见,因为信号通过任何电子设备(包括本文描述的驱动器设备的各种可能的实施例)传输时产生的不可避免的延迟,因而假定相关联的时间点Ta至Tg与时间点Ta′至Tg′通常相互偏移某一时间间隔,从而使得,可以假定时间点Ta′出现在时间点Ta之后的某一较小时间间隔处,依此类推,时间点Tb′与Tb、时间点Tc′与Tc之间也存在类似关系。
从时间点Ta开始,在接收到二进制位值0之后,驱动器设备接收将通过导体发送的二进制位值1。在经过一段延时后,对二进制位值1的接收引起了在时间点Ta′处将导体驱动到较低电压电平至将导体驱动到较高电压电平的变化,如信号片段251所示。在时间点Tb处,驱动器设备接收待发送的二进制位值0,这导致了从时间点Tb′处开始的、将导体驱动到较高电压电平至将导体驱动到较低电压电平的变化,从而导致了电压电平的下降,如信号片段252所示。信号片段252所示的电压电平爬升动作在信号片段253中再次出现,它响应时间点Tc处的对二进制位值1的接收而从时间点Tc′处开始进行。然而,尽管时间点Ta处接收的二进制位值1后紧跟时间点Tb处接收的二进制位值0,但时间点Tc处接收的二进制位值1后却紧跟时间点Td处接收的另一个二进制位值1。这种背靠背的二进制位值1的出现导致了从时间点Td′开始的信号片段254a的出现(尽管如以下所述,本来可能得到另外的信号片段254b(如虚线所示))。以不同于在时间点Tb处接收二进制位值0的方式,在之前所述的背靠背的二进制位值1之后,在时间点Te处接收二进制位值0,这引起了如信号片段255a所示的电压电平的下跌,如下所述,如果发生如信号片段254b所示的行为,则将发生如以时间点Te′开始的信号片段255b所示的电压电平行为。在时间点Tf处,接收了另一个二进制位值0,而这产生了背靠背的二进制位值0的实例,从而导致了从时间点Tf开始的信号片段256a的出现(尽管如以下所述,本来可能得到另外的信号片段256b(如虚线所示))。最后,在时间点Tg处,接收了二进制位值1,这导致了从时间点Tg′开始的信号片段257a的出现,如下所述,如果出现信号片段256b而非信号片段256a,则将出现从时间点Tg′开始的信号片段257b,而非信号片段257a。
如上所述,从时间点Td′开始,存在有关信号200的多个实例,其中,从时间点Td开始,对各种二进制位值的接收本来可以得到多于一个信号片段。将信号片段254a和255a与信号片段254b和255b区别开来以及将信号片段256a和257a与信号片段256b和257b区别开来的是因背靠背的二进制位值1和背靠背的二进制值0的出现而导致的在时间点Td′与Te′之间以及时间点Tf和Tg′之间实现的驱动强度的降低(或“去加重”)。更准确地说,在一个时间点接收到给定的二进制位值后又在紧接的下一个时间点接收到相同的二进制位值时,对这两个相同二进制位值的接收导致了将基本相同的电压电平驱动到导体上,但是,对第二个相同的二进制位值的接收引起了驱动器设备继续用于驱动上述电压电平的驱动强度的降低。这部分地基于以下认识,即将导体从一个电压电平快速地改变为另一个电压电平需要较高的驱动强度,相应地,没必要仅为了维持类似的电压电平而以这样的较高电平来继续驱动给定的电压电平。
在信号片段254a和255a不同于信号片段254b和255b的情况下,信号片段254a表明了降低用来将高的电压电平驱动到导体上(如在接收设备耦合到该导体的那一点处遇到的)的强度的更为直接的后果,而信号片段254b表明了维持用于实现从较低电压电平至较高电压电平的转变(如信号片段253所示)的相同驱动强度的更为直接的后果。本领域技术人员将容易理解,由于导体所承受的容性负载(因任何各类源导致的)的缘故,需要相对得到提高的驱动强度来克服该容性负载,后者倾向于使导体保持其当前的电压电平,并对改变所述电平的努力产生抗拒。可以使用较高的驱动强度来使从较低的电压电平至较高的电压电平的转变发生得更快,从而避免在进行这种转变方面浪费宝贵时间,并允许为稳定新的电压电平以及通过接收设备准确接收和读取该电平留出更多时间。然而,如果因在时间点Td处接收第二个二进制位值1而导致在时间点Td′后需要维持相同的较高驱动强度,则如信号片段254b所示,因容性负载在实际上造成对应于更高电压电平的电荷在导体上堆积的缘故,电压电平将继续升高。然而,实际上无需这种对应于更高电压电平的电荷来确保接收设备对上述更高电压电平的接收和读取,因而,该电荷浪费了电能。这种能量浪费可能导致其他后果,在关注将组件的功耗最小化的设备(如电池供电的设备)或关注将组件的发热最小化的设备(如其中用于支持散热的物理空间或可用功率有限的设备、笔记本电脑、高密度封装的服务器计算机或网络设备)中更是如此。尤其在采用了大量驱动器设备的电子系统中,因电源和/或散热组件的数目和/或尺寸的减少导致的功率节省的缘故,功耗的减少和散热对于电子系统的总物理尺寸影响很大。然而,除浪费能量之外,该用于对导体进行电容性充电的更高电压电平在时间点Te′处需要更多能量,以避免在上述电压电平降为较低的电压电平时花费更长的时间,如信号片段255b所示。如果上述电压电平降为较低电压电平需要花费更长时间,则接收设备用于准确接收和读取该较低电压电平的时间便变得更少。
信号片段256a和257a与信号片段256b和257b之间的差异也存在类似的情形。与维持开始于时间点Tf的较低电压电平(作为在时间点Tf处接收一对背靠背的二进制位值0的第二个二进制位值的结果)所需的驱动强度相比,需要更高的驱动强度来克服已有的由容性电荷支持的较高电压电平和将电压电平向下驱动到开始于时间点Te′的较低电压电平。信号片段256a示出了降低(或者“去加重”)用于驱动开始于时间点Tf′的较低电压电平的驱动强度的直接后果,而信号片段256b示出了继续以相同的较高驱动强度驱动较低的电压电平的直接后果。与时间点Td′和Te′之间的情况类似,导体所承受的容性负载与较高的驱动强度的组合导致电压电平继续下跌到更低的电压电平(因为以容性方式存储了更多的负电荷),并且,与上述的更高电压电平类似,该更低的电压电平表示了不必要的能量浪费。同样,与之前结合克服前述的更高电压电平所讨论的内容类似,当触发在时间点Tg′开始的从更低电压电平至较高电压电平的过渡时,需要更多能量和更多时间来克服该更低的电压电平。
图2也示出了与前述的二进制位值0和1一起由驱动器电路接收的时钟信号。如图所示,尽管时钟信号的时钟周期的上升沿与二进制位值0和1之间变化的上升沿和下降沿重合,但是,本领域技术人员容易理解,选择时钟信号的哪一相与二进制位值的这类变化对准对于实施本发明并不重要。以与图1a、1b中所示的驱动器电路180a-x类似的方式,在各种可能的实施例中,在存储之前的二进制位值以将其与由驱动器电路驱动的当前二进制位值进行比较的过程中,将信号200驱动到导体上的驱动器电路(无论是哪一种驱动器电路)可能利用或不利用上述的时钟信号。此外,在其他可能的实施例中,可以不存储用于进行所述比较的二进制位值,相反,驱动信号200的驱动器电路内的控制器电路可以简单地对接收二进制位的输入端进行监视,以找出二进制位值从0至1以及从1至0的变化实例,并采用延迟线、定时器、脉冲发生器或其他这类电路来瞬时提高驱动强度(在紧接二进制位值的变化实例之后的预定时段内,用该驱动强度来驱动信号200,以提供将信号200从较低的电压电平变为较高的电压电平(或相反)所需的更高驱动强度)。在其他这类可能的实施例中,可以将该预定时段的长度设置成接近于图2中所示的时间点之间的时间长度,使得所得信号继续基本类似于信号200,或者,可以将该预定时段的长度选择为比所述时间点之间的时间长度短或长,以便对高和/或低的电压电平进行精细调节。
图3a、图3b以及图3c示出了采用不同实施方式的驱动电路的的实施例。更具体地,图3a-c提供了对驱动器电路300的三种不同实施方式的更为详细的描述,其中,可以将各实施方式用作图1中所示的驱动器电路180a-x的实施方式,或者,它们可以是图2中产生信号200的驱动器电路。应当注意,在本意上,对驱动器电路300的这三种不同实施方式进行描述是为了说明某些可能的实施方式,从而进一步说明本发明,决不应将其理解为将本发明的精神和范围限于任何一种实施方式或任何具体的成组实施方式中的某种方式。
以与图1中的驱动器电路180a-x类似的方式,图3a-c中所示的驱动器电路300的三种实施方式中的各实施方式接收二进制数据位D,该数据位将由驱动器电路300作为高或低的电压电平(以类似于将高或低的电压电平驱动到导体120中的相应导体上的方式)驱动到导体320上。同样与驱动器电路180a-x类似,驱动器电路300的这三种变体中的各变体可接收和使用时钟信号CLK来对存储所接收的二进制数据的各个位的过程进行定时,以存储所接收的、并驱动到导体320上的二进制数据的上一个位,以将其与将驱动到导体320上的二进制数据的当前位进行比较。
在驱动器电路300的所有这三种变体中,分别使用上拉(pullup)设备396和下拉(pulldown)设备397来将高或低的电压电平驱动到导体320上。本领域技术人员容易理解,构成各个上拉设备396和下拉设备397的实际电子器件可能仅是构成各个上拉设备396和下拉设备397的单个晶体管。然而,本领域技术人员将容易理解,将上拉设备396和下拉设备397之类的驱动器分别描述和概念化为上拉电阻器和下拉电阻器是一般惯例,在某种程度上,作为一种方便开展这类讨论和概念化的简化方式,它们的电阻值是可控的,而不管是否在上拉设备396或下拉设备397的设计中采用了实际的电阻器。
如图所示,在驱动器电路300的所有这三种变体中,控制器390至少部分地由存储器设备391或者定时设备392构成。如前所述,在驱动器电路(例如驱动器电路300的三种变体)的某些实施例中,可采用存储器设备(如存储器设备391)来存储值为0或1的、驱动到导体320上的所接收的上一个二进制位值,以便与当前的二进制位值进行比较来确定当前的二进制位值是否与上一个二进制位值相同或不同,由此确定是否需要更高的驱动强度来改变驱动到导体320上的电压电平,或减小驱动强度来将电压电平保持为已驱动到导体320上的电压电平。然而,同样如前所述,驱动电路(如驱动器电路300的三种变体)的其他实施例可以不存储所接收的上一个二进制位值,而是对提供二进制位值的信号进行监视,以检测从二进制位值0至1或从1至0的变化,并且用该变化来触发驱动导体320时采用的驱动强度的增加,以通过帮助克服作用在导体320上的容性负载(该负载倾向于使导体320的电压电平维持在之前已驱动到其上的电压电平)来引起相应的电压电平的更快速变化。在经过预定时段后,可以停止对驱动强度进行的这种瞬时增加,使得可以用较低的驱动强度来将新的电压电平驱动到导体320上,尤其当下一个二进制位值与用于触发上述电压电平变化的二进制位值相同时更是如此。
在图3a所示的驱动电路300的变体中,上拉设备396和下拉设备397完全由控制器390进行控制,且控制器390接收将通过上拉设备396和下拉设备397驱动到导体320上的二进制位值。不管用于实现这一过程的特定机制是什么,控制器390对进入的二进制位值进行监视,以确定用多高的驱动强度将多大的电压电平驱动到导体320上。如果接收的上一个二进制位值为0且当前的二进制位值也为0,则控制器390引起下拉设备397继续将低电压电平驱动到导体320上,但使用了比之前本来要使用的驱动强度(用于将导体320上的电压电平从较高的电压电平变为较低的电压电平)更低的驱动强度。类似地,如果接收的上一个二进制位值为1,且当前的二进制位值也为1,则控制器390引起上拉设备396继续将高电压电平驱动到导体320上,但使用了比用于将低电压电平变为高电压电平的驱动强度更低的驱动强度。然而,如果接收的上一个二进制位值为0且当前的二进制位值为1,则控制器390引起下拉设备397停止将低电压电平驱动到导体320上,并引起上拉设备396将高电压电平驱动到导体320上,在此过程中,使用了比控制器390引起的、上拉设备396用于保持高电压电平的驱动强度更高的驱动强度。类似的,如果接收的上一个二进制位值为1且当前的二进制位值为0,则控制器390引起上拉设备396停止将高电压电平驱动到导体320上,并引起下拉设备397将低电压电平驱动到导体320上,在此过程中,使用了比随后可能用于保持低电压电平的驱动强度更高的驱动强度。
图3b中所示的驱动器电路300的变体与图3a中所示的变体的不同之处主要在于,上拉设备396和下拉设备397从控制器390旁边的直接连接处接收控制它们行为的信号,其中,上述直接连接通往这些信号。因此,是否由上拉设备396或下拉设备397分别将高或低的电压电平驱动到导体320上直接由所接收的二进制位值进行控制,而非通过控制器390间接地进行控制。相反,控制器390仅控制将低或高的电压电平驱动到导体320上所用的驱动强度的大小,且控制器390通过控制与上拉设备396串联的补充上拉设备398以及控制与下拉设备397串联的补充下拉设备399来进行上一过程。如果接收的上一个二进制位值为0且当前的二进制位值也为0,则下拉设备397继续将低电压电平驱动到导体320上,然而,控制器390引起补充下拉设备399增加电阻值,使得在实际上降低了下拉设备397用于将低电压电平驱动到导体320上所采用的驱动强度。类似的,如果接收的上一个二进制位值为1且当前的二进制位值也为1,则上拉设备396继续将高电压电平驱动到导体320上,但控制器390引起补充下拉设备398增加电阻值,以降低用于继续驱动高电压电平的有效驱动强度。
除补充上拉设备398和补充下拉设备399分别与上拉设备396和下拉设备397并联这一点外,在运行方面,图3c中所示的驱动器电路300的变体与图3b中所示的变体非常类似。结果,这导致通过使用补充上拉设备398和补充下拉设备399增加(即提高而非降低)用于驱动较高和较低电压电平的强度来实现用于将较高或较低的电压电平驱动到导体320上的驱动强度的提高或降低。
图4是一个改变用于将给定的电压电平驱动到导体上的驱动强度的实施例的流程图。从410开始,驱动器电路从另一电路(驱动器电路与该电路耦合或是该电路的一部分)接收二进制位值。在420处,检查上一个二进制位值是否为0或1。如果上一个二进制位值为0,则在422处检查当前的二进制位值(即刚接收的二进制位值)是否为0或者1,或者,如果上一个二进制位值为1,则在422处检查当前的二进制位值是否为0或者1。如果在422处检查到当前的二进制位值为0,则在432处,作为上一个二进制位值为0的结果,继续将已驱动到导体上的当前的较低电压电平驱动到导体上,但使用降低的驱动强度来完成这一过程。然而,如果在422检查到当前的二进制位值为1,则在434处,驱动器电路停止将较低电压驱动到导体上,并在435处开始使用更高的驱动强度来将较高电压驱动到导体上。类似的,如果在424处检查到当前的二进制位值为1,则在438处,作为上一个二进制位值为1的结果,继续将已驱动到导体上的当前的较高电压电平驱动到导体上,但使用降低的驱动强度来完成这一过程。然而,如果在424检查到当前的二进制位值为0,则在436处,驱动器电路停止降较高电压驱动到导体上,并在437处开始使用更高的驱动强度来将较低电压驱动到导体上。
图5为采用计算机系统的一个实施例的框图。计算机系统500至少部分地由处理器516、存储器控制器511以及存储器设备530a和/或530b构成。并且,处理器516、存储器控制器511以及存储器设备530a和/或530b构成了计算机系统500的核,该核能对处理器516执行机器可读指令和在存储器设备530a和/或530b中存储包括指令在内的数据进行支持。如图5所示,在某些实施例中,通过将存储器控制器511引入系统逻辑510而将其耦合到处理器516,后者除提供将处理器516与存储器控制器511进行耦合的方式以外,也执行了用于支持处理器516的其他各种功能(如提供定时器、I/O接口、DMA控制器、中断控制器,等等)。然而,在替换性实施例中,可以以任何方式将存储器控制器511耦合到处理器516,甚至可以将其引入到处理器516中。同样如图所示,正如以下详细说明的,存储器控制器511通过至少一个驱动器电路580和导体520耦合到存储器设备530a和/或530b。
在各种实施例中,处理器516可以是任何类型的处理器,包括能执行至少一部分公知的“x86”’指令集的处理器,并且,在其他各种实施例中,可以具有多于一个的处理器。而且,处理器516可以具有一个或者多于一个的处理器核,使得处理器516能够并行地执行多个彼此独立的机器可读指令集。
在各种实施例中,存储器设备530a和530b可以由一个或多个任何DRAM类型的存储器设备构成,这些设备包括(但不限于)快速页面模式(FPM)、扩展数据输出(EDO)、单倍数据速率(SDR)或者双倍数据速率(DDR)形式的同步动态RAM(SDRAM),采用RAMBUSTM接口的各种技术的RAM存储器,等等。不论上述的DRAM设备属于何种类型,存储器控制器511至少部分地通过驱动器电路580和导体520为存储器设备530a和530b提供了合适的接口。在某些实施例中,存储器设备530a和530b可以是实施成基底形式的可拆卸模块(如小电路板,其上安装有一个或多个存储器IC(集成电路)),如单列直插内存模块(SIMM)、双列直插内存模块(DIMM)、单列直插针式组件(SIPP),等等。在这些实施例中,存储器设备530a和530b可通过连接器525a和525b分别电耦合到导体520(并通过导体520耦合到至少一个驱动器电路580)。在其他实施例中,存储器设备530a和530b可以由直接安装在同一较大电路板上的一个或多个存储器IC组成,在该电路板上也安装了处理器516和/或存储器控制器511(或包含存储器控制器511的某种形式的系统逻辑510或处理器516),并且,在其他这类实施例中,可以不采用连接器525a和525b。
存储器控制器511通过驱动器电路580将地址、命令和/或数据信号经至少某些导体520发送到存储器设备530a和/或530b(这种方式与涉及180a-x之类的驱动器电路和530的上述讨论一致),其中,取决于构成地址、命令和/或数据的位的二进制位值是否改变而改变了用于将上述地址、命令和/或数据发送到导体520上的驱动强度。更具体地,例如,当存储器控制器511采用驱动器电路580将数据发送到存储器设备530a或530b中之一时,通过驱动器电路580中的独立驱动器电路来将数据驱动到导体520中的各个导体,并且,与各个要发送的新的二进制位值等同于或不同于之前刚发送的二进制位值有关,这些驱动器电路中的各个电路将表示数据的位以高或者低的驱动强度驱动到导体520中的相应导体上。当由这些驱动器电路中的任一驱动器电路接收的新二进制位的值不同于其之前刚接收的二进制位的值时,必须改变由该驱动器电路驱动的电压电平,以使其表示新的二进制位的值,从而,该驱动器将用更高的驱动强度将该新的电压电平驱动到与其对应的导体上,而当该驱动器电路接收的新二进制位的值与上一个位的值相同时,将维持所驱动的电压电平,以使其表示新的二进制位的值,也就是说,该驱动器电路将继续把相同的电压电平驱动到与其对应的导体上,但它使用了比用于改变电压电平的驱动强度更低的驱动强度。
由存储器控制器511使用驱动器电路580来驱动导体520中的至少某些导体可以解决因将多个存储器设备(如存储器设备530a和530b)耦合到导体520而导致的导体520所承受的容性负载增加的问题,和/或可以解决使用连接器(如连接器525a和525b)来允许拆卸存储器设备(如存储器设备530a和530b)或其他设备而导致的导体承受的容性负载增加的问题。本领域技术人员将理解,容性负载还可以因其他因素而增大,这些因素包括,导体520中的至少某些导体相对较长,导体520的物理截面,用于制造导体520的材料的选择,导体520的传输线配置类型,导体附近的其他材料(包括PCB材料或用于导体520的绝缘层)的绝缘特性,在至少某些导体520上使用终端负载(如终端负载521),等等。
在某些实施例中,假定某些容性负载源可以拆卸,因而,它们并非一直存在(例如,可通过使用连接器525a和525b中的一个或两个连接器分将存储器设备530a和530b耦合到导体520来使得一个或者另一个存储器设备530a和530b可以拆卸),可以编制由驱动器电路580使用的多个驱动强度的量值或由驱动器电路580施加的驱动强度的量值,以允许其根据容性负载的变化而进行变化。为支持这种可编程性,存储器控制器511和/或驱动器电路580可以引入寄存器,以实行或停止这种对驱动强度进行的变更,或允许对驱动强度的变化程度进行调节。同样,为支持这种可编程性,存储器设备530a和/或530b可提供分别从参数存储器535a和/或535b中读出的一个或多个参数,以帮助确定是否改变驱动强度和/或这些改变的程度。在其他实施例中,提供了检测存储器设备530a和530b中的一个设备或这两者的存在性的机制,以便能确定存储器设备530a和530b中的哪一个设备被实际耦合到导体520,可以用该机制来确定是否改变驱动强度和/或这些改变的程度。如图5所示,计算机系统500还可以包括可拆卸媒体设备560(提供了对可拆卸媒体561的访问)和/或参数存储器515。在某些实施例中,可通过参数存储器515和/或可拆卸媒体561提供计算机系统500或存储器设备530a和/或530b的参数或其他特性来进一步支持驱动强度变化的可编程性。
已结合各种可能的实施例描述了本发明。对本领域技术人员而言,显然,根据前述说明可得到各种关于本发明的替代性实例、修改、变更和使用。本领域技术人员应当理解,可以用本发明来支持将导体和驱动器电路用于不同于传输信号的目的的各种类型的电子系统(如用于与I/O设备通信的通用总线)。本领域技术人员还应当理解,可以用本发明来支持不同于计算机系统的电子系统,如音频/视频娱乐设备、车辆中的控制器设备、由电子电路控制的设备,等等。
权利要求
1.一种装置,包括至少一个导体;接收设备,该设备耦合到所述至少一个导体,以从所述至少一个导体接收信号;以及发送设备,该设备具有耦合到所述至少一个导体的至少一个驱动器电路,以将所述发送设备提供的二进制数据位作为信号经所述导体发送到所述接收设备,其中,如果当前的二进制数据位的值与之前的二进制数据位的值不同,则所述至少一个驱动器电路以第一驱动强度发送第一电压电平,并且,如果当前的二进制数据位的值与之前的二进制数据位的值相同,则所述至少一个驱动器电路以比所述第一驱动强度低的第二驱动强度发送所述第一电压电平。
2.根据权利要求1所述的设备,其中,所述至少一个导体是包括总线在内的多个导体之一,且二进制数据经所述总线从所述发送设备发送到所述接收设备。
3.根据权利要求2所述的设备,其中,所述多个导体中的各导体由印刷电路板的导电迹线组成。
4.根据权利要求1所述的设备,其中,所述发送设备由存储器控制器组成,且所述接收设备是用于存储数据的存储器设备。
5.根据权利要求1所述的设备,其中,所述至少一个驱动器电路由控制器组成,以监视由所述发送设备提供的二进制数据位来找出由所述至少一个驱动器电路发送的具有相同值的两个连续二进制位。
6.根据权利要求5所述的设备,其中所述控制器由存储器设备组成,以存储所述之前的二进制数据位的值,以促进其与当前的二进制数据位的值进行比较来确定以所述第一驱动强度还是所述第二驱动强度驱动所述第一电压电平。
7.根据权利要求5所述的设备,其中,所述控制器由定时设备组成,该设备响应两个相邻二进制数据位的值之间的变化而导致在预定的时段内用所述第一驱动强度驱动所述第一电压电平,并导致在经过该预定时段后用所述第二驱动强度驱动所述第一电压电平。
8.一种发送信号的方法,包括通过耦合到导体的驱动器电路依次接收多个将被驱动到所述导体上的二进制位;如果当前的二进制位的值不同于与其直接相邻的之前二进制位的值,则停止将两个电压电平中表示所述直接相邻的之前二进制位的值的电压电平驱动到所述导体上,并以高的驱动强度将所述两个电压电平中表示所述当前二进制位的值的另一个电压电平驱动到所述导体上;以及如果所述当前的二进制位的值等同于所述直接相邻的之前二进制位的值,则以低的驱动强度继续将表示所述直接相邻的之前二进制位的值的电压电平驱动到所述导体上,以表示所述当前的二进制位的值。
9.根据权利要求8所述的方法,还包括在所述驱动器电路内存储所述直接相邻的之前二进制位的值,以便与所述当前的二进制位的值进行比较。
10.根据权利要求8所述的方法,其中,通过将高的电压电平驱动到所述导体上来表示要发送的为1的二进制位的值,并通过将低的电压电平驱动到所述导体上来表示要发送的为0的二进制位的值。
11.根据权利要求10所述的方法,还包括如果所述直接相邻的之前二进制位的值为0且所述当前的二进制位的值为1,则停止将低电压电平驱动到所述导体上,并以高的驱动强度将高电压电平驱动到所述导体上;如果所述直接相邻的之前二进制位的值与所述当前的二进制位的值均为0,则继续以低的驱动强度将低电压电平驱动到所述导体上;如果所述直接相邻的之前二进制位的值为1且所述当前的二进制位的值为0,则停止将高电压电平驱动到所述导体上,并以高的驱动强度将低电压电平驱动到所述导体上;以及如果所述直接相邻的二进制位的值与所述当前的二进制位的值均为1,则继续以低的驱动强度将高电压电平驱动到所述导体上。
12.一种发送信号的方法,包括通过耦合到导体的驱动器电路依次接收多个将被驱动到所述导体上的二进制位;如果当前的二进制位的值不同于与其直接相邻的之前二进制位的值,则在预定时段内停止将两个电压电平中表示所述直接相邻的之前二进制位的值的电压电平驱动到所述导体上,并以高的驱动强度将所述两个电压电平中表示所述当前二进制位的值的另一个电压电平驱动到所述导体上,然后,当经过所述预定时段后,降低用于驱动所述两个电压电平中的另一个电压电平的驱动强度。
13.根据权利要求12所述的方法,其中,通过将高的电压电平驱动到所述导体上来表示要发送的为1的二进制位的值,并通过将低的电压电平驱动到所述导体上来表示要发送的为0的二进制位的值。
14.根据权利要求13所述的方法,还包括如果所述直接相邻的之前二进制位的值为0且所述当前的二进制位的值为1,则在预定时段内停止将低电压电平驱动到所述导体上,并以高的驱动强度将高电压电平驱动到所述导体上,然后降低用于将所述高电压电平驱动到所述导体上的驱动强度;以及如果所述直接相邻的之前二进制位的值为1且所述当前的二进制位的值为0,则在预定时段内停止将高电压电平驱动到所述导体上,并以高的驱动强度将低电压电平驱动到所述导体上,然后降低用于将所述低电压电平驱动到所述导体上的驱动强度。
全文摘要
一种设备和方法,用于改变通过发送设备的驱动器电路经导体发送到接收电路的信号的强度,以使得在相邻电压电平的二进制位数值相同时,用降低的强度将所发送电压电平驱动到导体上,以避免因持续以相同强度驱动相同电压电平而导致的不希望的过高或过低电压电平造成的容性电荷堆积;并在当前所发送电压电平与之前的电压电平不同时,以更高强度将所发送电压电平驱动到导体上,以更快地克服因之前的电压电平而堆积的容性电荷。
文档编号G06F13/40GK1997978SQ200580020988
公开日2007年7月11日 申请日期2005年6月23日 优先权日2004年6月30日
发明者C·沃尔克, R·戈帕兰, R·罗普, N·杜尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1