并行的反向存储器地址和命令总线的制作方法

文档序号:6656746阅读:215来源:国知局
专利名称:并行的反向存储器地址和命令总线的制作方法
背景资料在数字电子领域中,特别是,在计算机电子设备领域中,命令和数据在设备之间传送的速率继续被驱动变得更高。这已经导致基于各式不同设计的许多的高速总线的出现,并且某些专用于特定的目的。但是,如本领域技术人员将容易理解的,随着更高的传送速率,地址、命令和/或数据的传送可能占用的时间周期减小,并且作为结果,在能够可靠读取信号之前处理数据的时间尽管短,却变得更加重要。
不同形式的总线端接已经通常用来作为抵消复杂的导线配置、来自轨迹拐角和端点的总线反射等的方式。但是,总线端接的使用以更大的功率消耗为代价,和/或要求提供更高电容的电源以提供端接电压。随着多个高速总线更经常用在一个电子设备,诸如,计算机系统中,由于使用端接所引起的功率消耗的量可能变得非常地大。另外,关注的是这样的功率消耗何时变得很巨大,诸如高速总线的许多或所有信号何时被驱动到相同的高或低状态,并且对此可能性的合理准备通常要求使用电容比需要的更大的端接电压电源,来容纳使用端接的这种效果。


鉴于以下的详细说明,本发明的目的、特点和优点对于本领域技术人员来说将是显而易见的,其中图1a和1b是采用存储系统的实施例的方框图。
图2是采用存储系统的另一个实施例的方框图。
图3a和3b是采用存储模块的实施例的方框图。
图4是采用计算机系统的实施例的方框图。
具体实施例方式
在下文的描述中,为了解释的目的,阐述了许多的细节以便提供对本发明彻底的了解。但是,对于本领域技术人员来说是显而易见的,实践本发明不需要这些特定的细节。
本发明的实施例包括支持驱动命令总线对和/或地址总线对,使得两个总线之一的多个导体被以与驱动该两个总线中另一个总线的至少对应导体的相反或相对的信号电平驱动。虽然以下的论述集中于从或向构成存储系统的存储设备传送信号的存储总线,本领域技术人员应理解,下文所主张的本发明可以用来支持采用端接的任何类型的总线。此外,虽然以下论述的至少一部分集中于计算机系统内的总线,本领域技术人员应理解,下文所主张的本发明可以与任何类型的电子设备内的采用端接的总线相结合来实践。
图1a和1b是采用存储系统的可能实施例的简化方框图。在图1a和1b两者中,存储系统100至少部分地是由控制设备110、存储设备132a-d和133a-d以及端接设备140组成。在某些实施例中,存储系统100是很大的电子设备(诸如计算机系统)的一部分,并且控制设备110是支持逻辑,用于至少链接一个或多个处理器到存储设备132a-d和133a-d,以存储和获取用于由一个或多个处理器处理的命令和数据。在某些实施例中,存储系统100是作为一组焊接(solder)到构成存储模块的PCB的IC实现的,诸如,SIMM、SIPP或者DIMM,其中控制设备110在存储设备132a-d和133a-d之间提供缓存,并且至少一个外部总线连接到控制设备110,由此该存储模块对接到其他的电子组件,可能是构成计算机系统的电子组件。
如在图1a中描述的,控制设备110提供一对并行存储器总线120和121,并且存储器总线120至少部分地由地址/命令总线122和数据总线125组成,并且存储器总线121至少部分地由地址/命令总线123和数据总线125组成。换句话说,存储器总线120和121具有单独的信号线组,通过其传递地址和/或命令,但是共享一组信号线,通过其至少传递数据。相比之下,如在图1b中描述的,存储器总线120至少部分地是由地址/命令总线122和数据总线125a组成的,而存储器总线121至少部分地是由地址/命令总线123和数据总线125b组成的。换句话说,存储器总线120和121具有单独的信号线组,通过其传递地址和/或命令,和单独的信号线组,通过其至少传递数据。尽管在图1a和1b中描绘了在存储器总线120和121内的信号彼此分离和共享之间的两个特定选择,但是本领域技术人员将很容易认识到在不偏离本发明的精神和范围的前提下关于所述信号分离和共享的其它变化。当然,那些设计存储系统的本领域技术人员将容易理解,图1a和1b都描述了相对简单的存储系统,它们只是共同描述了可以实现的存储系统的可能结构的微小样本,并且如下文所要求的,在不偏离本发明的精神和范围的前提下对其中组件的确切布局和结构进行减少、增补或者改变的其它替代实施例也是可行的。
控制设备110通过存储器总线120和121启动和控制在存储设备132a-d和133a-d上执行的存储和获取信息的存储操作,以及保持存储信息的完整性的其他的功能(例如,存储器刷新)。在某些实施例中,控制设备110可以是处理器或者可以具有处理部件,借此由控制设备110执行的存储和获取数据和/或指令的存储操作大部分是供其自己使用。在其他的实施例中,控制设备110可以是存储控制器和/或在连接到控制设备110的另一个设备(未示出)和存储设备132a-d和133a-d之间的缓存设备,其中控制设备110响应命令执行存储操作,以存储和/或获取由控制设备110从上述的其他设备接收的信息。
如也在图1中描述的,地址/命令总线122和123两者属于所谓的“多站”(multi-drop)结构,其中每个地址/命令总线122和123的一端连接到控制设备110,每个地址/命令总线122和123的另一端被连接到端接设备140,并且存储设备132a-d和133a-d分别在沿着地址/命令总线122和123的长度的多个点连接到地址/命令总线122和123。相比之下,如还描述的,构成数据总线125或者一对数据总线125a和125b的至少大多数信号线每个被连接到较少数目的存储设备132a-d和133a-d。虽然为清楚起见,构成数据总线125或者数据总线125a和125b的数据信号线没有显示为连接到任何形式的端接设备,本领域技术人员将容易明白,该数据信号线也可以连接到端接设备。这种地址/命令总线122和123的地址和/或命令信号线比数据总线125或者数据总线125a和125b的数据信号线连接到更多存储设备的连接结构,在使用如下形式的存储器接口的实施例中可以预期,比如同步DRAM(SDRAM)接口,不管是以所谓的“单数据速率”(SDR)或者“双倍数据速率”(DDR)计时的,等等。此外,在各种可能的实施例中,事实上,可能正是数据总线125或者数据总线125a和125b的数据信号线连接的存储设备的数目和地址/命令总线120和121的地址和/或命令信号线连接的存储设备的数目之间的偏差,提供了具有并行的地址和/或命令信号组的必要性,因而使得存在地址/命令总线122和123两者。
如上所述,端接设备140被连接到构成地址/命令总线122和123的至少大多数信号线的一端,以帮助避免信号反射和/或会令地址/命令总线122和123以较慢速度工作的其它不希望的事件。但是,如本领域技术人员将理解的,使用端接设备140导致额外的功率消耗,和/或需要提供具有相当大的电流容量的端接电源,尤其是,由端接设备140端接的相当不相称数目的信号被驱动为高和低状态的情况,导致必须由端接电源提供或吸收的进或者出端接设备140的电流的实际上的净流量,为端接设备140提供介乎端接设备140所端接的信号线被驱动到的该高和低电压之间的端接电压。在努力减少这样的净电流的量并且尽可能地减少整个功率消耗和/或允许使用更少容量的端接电源的过程中,地址/命令总线122的至少大多数地址信号线以其真实的状态工作,而地址/命令总线123的至少大多数地址信号线以其相反的状态工作,即,以与其真实的状态相反的高和低状态工作。例如,由控制设备110输出的二进制地址值0000h在地址/命令总线122的地址信号线上将被作为0000h传送,但是在地址/命令总线123的地址信号线上将被作为FFFFh同时地传送,从而导致连接到端接设备140的相等数目的信号线是高和低,以便将进或者出端接设备140的电流的净流量减少为零。当然,如本领域技术人员将容易地理解的,由于在制造过程中在相对驱动器强度、导线长度、电阻和电容方面引进变化的内在的不足,期望上述的电流净流量通常实际上完全地减少到零多半是不切实际的。
由于地址/命令总线122和123至少大部分时间是作为彼此的副本或者镜像工作,将地址/命令总线122和123的相应地址和/或控制信号线作为相反的对来操作是可能的,并且由于在存储设备内使用的地址位置的实际的顺序对于存储设备本身没有意义的事实,使得一个实际上可以利用控制设备110内的反相器很容易地从另一个之中产生。换句话说,在关注存储和获取数据的地方,对存储设备133a-d中任何一个的操作将不会由于使用在存储设备122a-d的任何一个相应存储设备中的操作使用的地址值的相反地址值,而受到不利影响。但是,虽然在存储设备内存储或者获取数据可以不受使用相反地址值的影响,对每个存储设备132a-d和133a-d中可能存在的寄存器的访问可能受到影响,因此,由控制设备110执行的访问这样的寄存器的操作可能需要这两个总线以真实的(即,非相反的)高和低状态工作来执行。
图2是采用存储系统的另一个实施例的简化方框图。示出的存储系统200与图1a和1b的存储系统100有些类似,但是某些部分从图中省略,并且其他的部分更详细地描述。并非与存储系统100不同,存储系统200至少部分由控制设备210、端接设备240和许多的存储设备组成,但是,为了简化起见,没有在图2中示出存储设备。在各种可能的实施例中,存储系统200可以作为大的电子系统(诸如计算机系统)的整体部分来实现,或者可以作为选择性地可以连接到任何种类的电子系统的存储模块来实现。此外,在各种实施例中,控制设备210可以响应来自连接到控制设备210的另一个设备(未示出)的命令,在那些存储设备(未描述)上执行存储操作,或者帮助执行其自己的处理操作,如果控制设备210是处理器,可能是这样的情况。
与存储系统100的控制设备110、数据总线125(或者数据总线125a和125b)以及地址/命令总线122和123的情况一样,控制设备210提供一对并行存储器总线,并且一个存储器总线至少部分地由地址/命令总线222和数据总线225组成,并且另一个至少部分地由地址/命令总线223和数据总线225组成。二个地址/命令总线222和223的共存可以是基于驱动大量的存储设备的需要,因而认为没有一个地址/命令总线能够以希望的方式做到这一点,而在这样情况下,地址/命令总线222和223基本上是作为双总线(twin bus)工作的,通常控制设备110在其上同时执行类似的存储操作。此外,与存储系统100类似,地址/命令总线222和223由各自的信号线组构成,它们大部分时间是彼此的复制或镜像但是是利用彼此相反或相对的高和低状态来工作的。在各种可能的实施例中,数据总线225由可以基本上共享的信号组成,像数据总线125的情况一样,或者可以由基本上单独的信号组成,像数据总线125a和125b的情况一样。虽然没有在图2中充分地描述,地址/命令总线222和223两者属于所谓的“多站”结构,其中每个地址/命令总线222和223的一端连接到控制设备210,并且地址/命令总线222和223每个的另一端连接到端接设备240,并且许多的存储设备(未描述)在沿着地址/命令总线222和223的长度的多个点上被连接到地址/命令总线222和223。相比之下,构成数据总线225的至少大部分信号线每个被连接到较少数目的存储设备(同样,未示出),该存储设备被连接到地址/命令总线222和223中的一个或者另一个。虽然在描绘中为了简化起见,构成数据总线225的数据信号线没有显示为连接到任何形式的端接设备,本领域技术人员将容易明白,数据总线信号线同样可以连接到端接设备,无论该端接设备是与连接到数据总线225的存储设备不同并且独立的,或者被结合在存储设备内的。
与图1中描绘的存储系统100不同,构成每个地址/命令总线222和223的特定的信号线在图2中进行了描述。在各种可能实施例中,数据总线225和地址/命令总线222和223可以被配置为支持多种可能的存储器接口中任何接口的信号规范、定时和协议,包括FPM(快速页模式)存储设备、ED0(扩充的数据输出)、双端口VRAM(视频随机存取存储器)、窗口RAM、SDR(单数据速率)、DDR(双倍数据速率)、RAMBUSTMDRAM等等。但是,在图2中,描述了信号线的一种选择,其适合于支持由JEDEC Solid State Technology Association of Arlington,VA控制的“DDR2”标准的实现,并且其中在名为“JEDEC Standard DDR2SDRAM Specification,JESD79-2A”,2004版的文献中描述了一个最近的修订版。
来自描述的每个地址/命令总线222和223的特定的信号是时钟使能CKE0至CKE1,芯片选择CS#0至CS#1,小片上(on-die)端接控制ODT,行地址选通RAS#,列地址选通CAS#,写使能WE#,地址信号线A0至A15,和存储体(bank)选择信号线BA0至BA2。但是,如本领域技术人员将容易理解的,有可能构成地址/命令总线222和223的信号的数量不同于图2所示出的数量(例如,仅仅具有CKE或者具有CKE0至CKE2,而不是CKE0至CKE1)。为了有助于节省功率,在由控制设备210执行的地址/命令总线222和223上的至少大多数存储操作期间,地址/命令总线222和223之间这些特别描述的信号线的至少相应的信号线以与结合图1所述的相似的方式利用相反的高和低状态驱动。例如,在一个总线周期期间传送一个地址的存储操作中,地址/命令总线222的地址信号线A7被驱动为高,同时地址/命令总线223的相应的地址信号线A7被驱动为低,从而在端接在端接设备240上的分离的信号线上提供低和高电压电平两者,结果是在这两个相应的地址信号线A7之间建立进和出端接设备240的均等的电流流量。在Vterm电源242为端接设备240提供的端接电压介于端接到端接设备240的信号线被驱动的高电压和低电压之间的实施例中,在被驱动为高的端接的信号线的数目和被驱动为低的端接的信号线的数目之间存在的平衡趋向于将端接设备240和Vterm电源242之间发生的电流减少到趋向于零,这样接下来可以节省功率和/或允许使用具有减少的电流容量的Vterm电源242。
应当指出,虽然端接设备240在图2中被作为电阻网络描述,本领域技术人员将容易认识到,端接设备240可以是许多可能电路设计中的任何一种,包括由一个以上的端接组件组成的电路设计,和提供有源或者无源形式的端接的电路设计。也应注意,虽然在此处论述的是试图努力将在端接设备240和Vterm电源242之间流动的净电流降低为零净电流,本领域技术人员将容易认识到,上述的理论目标在现实世界实现中通常是不太可能发生的,由于理想的组件参数,诸如在端接设备240内描述的电阻的阻抗值、由控制设备210采用的信号驱动器的驱动强度、PCB信号跟踪的电容等等,实际上由于制造过程中内在的不足是很难实现的,通常导致偏离理想值。因此,无论端接设备240如描述的作为电阻网络实现,或者借助于其它的电路设计实现,至少由于端接设备240内的不足,在端接设备240和Vterm电源242之间很可能始终至少有微细的电流流动。也应注意,力求在由端接设备240端接的被驱动为高状态和被驱动为低状态的信号线数目之间实现平衡,可能要求由端接设备240端接的信号线的总数是偶数,虽然其他的实施例可以使用奇数个具有相反状态的信号线,以便将任一方向上高和低驱动的信号线之间的不平衡限制为仅仅一个。
作为支持实施DDR2规范的结果,可能只有地址信号线A0至A9、地址信号线A11-A15、和存储体选择信号线BA0至BA2是能够在大部分存储操作期间总是利用地址/命令总线222和223之间对应的相反值对驱动的信号线,至少一个例外是访问存储设备内寄存器的读和写操作,因为在这样的寄存器访问期间地址线实际上用于传送数据,因此在这样的访问期间必须以真实状态驱动。事实是仅仅A0-A9,A11-A15和BA0-BA2可能有义务使用相应信号线对之间的相反的高和低状态,这是由于DDR2的协议要求大部分其他信号在所有时刻总是以真实值(即,非相反的值)驱动的事实,包括CKE0、CKE1、CS#0、CS#1、0DT、RAS#、CAS#和WE#命令信号线。因此,在许多通常执行的存储操作中,仅仅通过在A0-A9、A11-A15和BA0-BA2的相应信号线之间使用相对状态,要将在端接设备240和端接电压(Vterm)电源242之间流动的电流量降低为零净流量通常是不可能的。但是,对在各种存储操作期间控制线的各种状态的检查揭示,在支持这些存储操作而发生的大部分总线周期中具有高状态的命令线和具有低状态的命令线的数目基本上平衡,并且这与至少以相反的值驱动A0-A9、A11-A15和BA0-BA2的能力相结合确实在大多数情况下能够相当大地降低可能在Vterm电源242和端接设备240之间流动的电流量。
但是,某些存储操作,诸如从存储设备内的寄存器读取或者向存储设备内的寄存器写入,可能要求地址/命令总线222和223的大部分(如果不是全部的话)信号线被驱动为真实的状态,这可能导致被驱动为高的信号线和被驱动为低的信号线的数目差异很大。在各种可能的实施例中,在努力增加在端接设备240和Vterm电源242之间实现零净电流的可能性的过程中可以采取额外的措施。在一些实施例中,一个这样的简单措施可以是在空操作(no-op)总线周期中在地址/命令总线222和223之一或两者上将ODT、RAS#、CAS#和WE#中的一个或多个驱动为低状态,以便对在地址/命令总线222和223两者上CS#0、CS#1、CKE0和CKE1被驱动为高状态以便信号通知空操作总线周期而做出平衡。
在某些实施例中,地址/命令总线222和223之间的相应地址信号线A10也可以以相对的值驱动,但是,与在大多数存储操作期间在几乎每个总线周期中都有义务使用相对值的地址信号线A0-A9、A11-A15和BA0-BA2不同,地址信号线A10除了用作地址信号线之外,还在DDR2中用以指定预充电命令(precharge command)是给存储设备的所有存储体还是仅仅一个存储体。由于这个缘故,在进行更有限范围的存储操作期间,包括至少行激活、空操作和刷新命令,可以实现在相应的A10地址信号线对上使用相对的信号值,但是至少在预充电、完全预充电和所有读取或者写命令期间(是否涉及存储位置或者寄存器,和是否伴随自动预充电)不使用相对值。信号线A0-A15和/或BA0-BA2中的其它信号线,也可以类似用于其它目的,并且因而同样在驱动到相反状态的可能性上受到更大限制。
在某些实施例中,许多通常使用的存储设备在传送地址的总线周期期间实际上不使用可以由地址信号线A0-A15传送的所有的16位,导致某个数目的地址线保持不经常使用,这个事实可以有助于进一步实现在两个地址/命令总线222和223上高状态的信号线和低状态的信号线的数目之间的平衡。例如,在存储系统200的实施例中,在不同于读取或者写入寄存器的存储操作中存储设备或许仅仅使用地址信号线A0-A11,在两个地址/命令总线222和223上的地址信号线A12-A15被保留,用以提供高达八个信号线,其可用于在大多数的存储操作中实现高和低状态的平衡。但是,即使A12-A15的一个或多个对于上述的平衡是可利用的,在对于存储设备中的寄存器的读取和写入操作中不能将A12-A15用于这样的平衡,因为在支持这样的操作的总线周期内所有A0-A15都用于传送数据,并且在两个地址/命令总线222和223上A0-A15总是被以真实状态驱动。但是,在大多数其他的存储操作期间,至少某些数目的地址信号线不起作用,并且可以根据需要驱动为高或者低状态,以平衡驱动为高或者低状态的其他地址和命令信号线的数目,并且可以将相对简单的累加器电路结合进控制设备210中,以确定在努力实现上述平衡的过程中这些地址信号线的多少个将被驱动为高或者低状态。
确定在各种总线周期期间至少哪些地址信号线不使用,并且因此为了平衡起见可以驱动为高或者低,可能需要由控制设备210和/或能够配置控制设备210来确定可用的地址信号线是哪些的其它设备来执行某种形式的测试或识别过程。在至少一些存储设备构成存储模块的一部分(诸如SIMM、DIMM等等)的实施例中,可能存在可以由控制设备210或者另一个设备读取的非易失性存储设备(诸如,串行EEPROM),来确定哪些地址信号线可以用于平衡。在存储系统200构成计算机系统或者具有能访问控制设备210的处理器的其他系统的一部分的实施例中,上述的测试和/或识别的结果可以由这样的处理器使用,来配置控制设备210使用所发现可用的所述地址信号线来进行平衡和/或在所选的可能总线周期的子集中使用这样的地址信号线。在连接到DDR或者其他形式的存储器接口的存储设备中,情况通常是选择行所使用的地址信号线的数量将不同于选择列所使用的地址信号线的数量,并且控制设备210可以被配置为独立地或者通过处理器在不同的周期期间使用不同的一些地址信号线来用于平衡。
在某些实施例中,当存储设备被编程采用突发读取(burs tread)或者突发写入(burst write)访问形式的时候,可以禁止对某些低阶地址信号线(例如,A0、A1和/或A2)使用相反的信号,在突发读取或者突发写入中多个读取或写入传输被集合在一起并且这样的传输依赖特定的数据顺序,这要求一个或多个低阶的地址信号线在两个地址/命令总线222和223上被驱动为其真实的状态并且或许从不可以驱动为相反的状态。可以特别地选择具有不同的预定数据顺序(例如,半字节按序突发顺序、突发交错顺序等等)的不同形式的突发读取或者突发写入访问,来支持和/或最佳用于专用的功能,诸如用于特定形式的处理器的超高速缓冲存储器线填充。举例来说,突发交错顺序可能最适合由Santa Clara,California的Intel公司制造的“X86”系列处理器。
在访问存储设备内的寄存器,因而使得两个地址/命令总线222和223内的大多数(如果不是全部)地址和控制信号线被以它们的真实状态驱动的总线周期,在驱动为高和驱动为低的信号线的数目之间更可能存在的更大的偏差。如果上述的总线周期的存在不频繁从而允许使用具有相对小的电流容量的Vterm电源242,为了在这样的总线周期期间缓和该偏差,在某些实施例中,可以依靠在存储设备附近的滤波电容器(filtering capacitor)的组合电容以辅助Vterm电源242的电流性能。在其他的实施例中,对于在两个地址/控制总线222和223上传递访问存储设备内的寄存器所需的地址和命令的总线周期,可以之前或之后紧邻着空操作总线周期,在空操作总线周期中至少一部分地址和命令信号线被驱动到与它们在访问所述寄存器所需的总线周期中被驱动到的状态相反的状态,结果是在两个相邻的总线周期的跨距上发生Vterm电源242和端接设备240之间最小的电流净流量。在再一个实施例中,访问连接到两个地址/命令总线222和223的存储设备中的寄存器的操作可以在二个总线周期上分离和错开,使得发生在地址/命令总线222上的访问连接到总线222的存储设备中的寄存器的总线周期与发生在地址/命令总线223上的以相对的状态驱动信号线的空操作总线周期同时发生,其后跟随地址/命令总线223上的访问连接到总线223的存储设备中的寄存器的总线周期,该总线周期与地址/命令总线222上的空操作总线周期同时发生。上述的在访问存储设备寄存器的总线周期之后或者之前伴随空操作总线周期,或者将访问存储设备寄存器的总线周期分离和错开并伴随另一个地址/命令总线上的空操作总线周期的方式,需要控制设备210配备有电路,并且可能被编程来插入这样的空操作总线周期,并且空操作总线周期中合适的地址和/或命令线被驱动到需要的高或低状态。
在又一个实施例中,访问存储设备寄存器的总线周期可以在阶段化总线周期之前和/或之后,该阶段化总线周期在构成两个地址/命令总线222和223的地址和/或命令信号线上使用相对状态与在大部分或全部所述地址和/或命令信号线使用它们的真实状态之间缓慢改变。例如,在其中访问存储设备寄存器使得地址/命令总线222和223上的所有地址和/或命令信号线都被驱动到它们的真实状态的一个总线周期,后面可以跟随一个地址/命令总线222和223两者上的空操作总线周期,该空操作总线周期中地址/命令总线222和223之一的地址和命令信号线被驱动到它们的真实状态而另一个的地址和命令信号线被驱动到相反状态,随后再跟随一个地址/命令总线222和223两者上的空操作总线周期并且该两者上的地址和命令信号线都被驱动到相反状态。跟随访问存储设备寄存器的原始总线周期的这两个附加周期之后可以再跟随另一个空操作总线周期,该周期中又是地址/命令总线222和223之一的地址和/或命令信号线被驱动到真实状态而另一个被驱动到相反状态,作为返回一个以相反状态操作另一个以真实状态操作的一般使用的先兆。这可能要求控制设备210配备有电路,并且可能编程为,插入两个或者更多空操作总线周期,这些空操作总线周期中在总线222和223中合适的一个总线上的一些合适的地址和/或命令线被以预定的顺序有选择的驱动为相反的或真实的状态。
图3a是一个采用存储模块的实施例的方框图。存储控制器370和存储模块300a经由点对点链路360a连接在一起,并且存储模块300a和300b经由点对点链路360b类似地连接在一起。存储模块300a和300b具有大体上类似的结构,并且主要地用以示范由点对点链路连接在一起的存储控制器和存储模块组成的一个可能的存储系统的实施例。在这个示范的存储系统的实施例中,存储控制器370经由点对点链路360a将地址和命令以及交换的数据传送给两个存储模块300a和300b。存储模块300a内的缓冲器逻辑310a接收这些地址和命令以及从事该数据的交换,并且通过在存储模块300a内的存储器阵列332a和333a上执行存储操作来响应送往存储模块300a的命令,同时在点对点链路360a和360b之间传送发送给存储模块300b的地址、命令和交换数据,从而允许缓冲器逻辑310b视情况而响应。在某些实施例中,存储模块300a和300b的端接设备340a和340b两者分别地被进一步连接到Vterm电源342以提供端接电压。
存储模块300a至少部分是由缓冲器逻辑310a、存储器阵列332a和333a以及端接设备340a组成。类似于结合图1和2的控制设备110和210已经描述的方式,缓冲器逻辑310a被连接到地址/命令总线322a和323a每个的一端,并且地址/命令总线322a和323a每个的另一端被连接到端接设备340a,并且存储器阵列332a和333a的一部分分别地在沿着这些总线的长度的不同的点上连接到地址/命令总线322a和323a。缓冲器逻辑310a经由数据总线325a被进一步连接到存储器阵列332a和333a,其中数据信号线在存储器阵列332a和333a之间可以共享或者不共享。在存储模块300b中,在缓冲器逻辑310b、存储器阵列332b和333b、端接设备340b、地址/命令总线322b和323b以及数据总线325b之间,存在大体类似的部件和耦接。为了简洁起见,假定存储模块300a和300b具有类似的结构,以下的论述将仅仅针对存储模块300a内的组件,而不是对两个存储模块进行介绍。
在某些实施例中,存储模块300a被作为附着在相当小的PCB上的多个集成电路来实现,该PCB配备有具有触点(或者其他形式用于与至少驻留存储控制器370的另一个PCB连接的连接器)的卡边缘标记(card edge tab),并且具有存储模块300b可以插入的另一个连接器,从而经由点对点链路360a和360b生成一个电连接,并且可能路由到Vterm电源342的连接。在这样的实施例中,存储器阵列332a和333a都可以由多个存储器IC组成。在其上至少驻留存储控制器370的上述的其他PCB可以是计算机系统的电路板,并且存储控制器370是用于将某种形式的处理器与存储模块300a对接的逻辑的一部分,诸如外围设备等。
以类似于图1和2的控制设备110和210的方式,缓冲器逻辑310a在存储器阵列332a和333a上执行存储操作,经由地址/命令总线322a和323a分别地将地址和命令传送给存储器阵列332a和333a,并且在这些总线的一个上发生的总线周期基本上镜像另一个上的总线周期。为了帮助节省功率,和/或允许使用一种低的电流容量形式的Vterm电源342,缓冲器逻辑310a以非常类似于前面结合控制设备110和210所述的方式,将在地址/命令总线322a上以其真实状态的二进制信号发送的一些地址的至少一部分在地址/命令总线323a上以相反的二进制信号(即,以相对的高和低状态))传送。如上述的存储系统100和200中的情况一样,在地址/命令总线322a和323a之间使用相对的高和低状态帮助了限制在端接设备340a和Vterm电源342之间流动的电流量,从而帮助限制功率消耗。在采用多个诸如存储模块300a的存储模块并且这样的存储模块中采用上述相对的高和低信号状态的实施例中,可以提供机会保持Vterm电源342的整个容量和/或物理尺寸相对很小,这可以提供成本节省以及功率节省。
图3b是一个采用存储模块的替代实施例的方框图。存储控制器370通过地址/命令总线360和数据总线365被连接到存储模块300a和300b两者。存储模块300a和300b具有大体上类似的结构,并且示出它们主要是为了示范经由所描述的多站总线构形连接在一起的存储控制器和存储模块组成的一种存储系统的可能实施例。在这个示范的存储系统的实施例中,存储控制器370经由地址/命令总线360将地址和命令传送给存储模块300a和300b两者,并且地址/命令总线360的地址和命令信号线被作为地址/命令总线对(即,地址/命令总线322a和323a,以及地址/命令总线322b和323b)缓存和重发,其通常在发生的总线周期中彼此镜像,但是至少一些地址信号线被以相对的高和低状态驱动。此外,在这个示范的存储系统的实施例中,存储控制器370直接通过数据总线365与存储器阵列332a、333a、332b和333b交换数据。在某些实施例中,存储模块300a和300b的端接设备340a和340b两者分别被进一步连接到Vterm电源342以提供端接电压。
存储模块300a至少部分是由缓冲器逻辑310a、存储器阵列332a和333a以及端接设备340a组成。以类似于已经结合图1和2的控制设备110和210描述的方式,缓冲器逻辑310a被连接到每个地址/命令总线322a和323a的一端,并且每个地址/命令总线322a和323a的另一端被连接到端接设备340a,并且存储器阵列332a和333a的一部分分别在沿着这些总线每个的长度的不同的点上连接到地址/命令总线322a和323a。在存储模块300b内,也存在大体上类似的在缓冲器逻辑310b、存储器阵列332b和333b、端接设备340b、地址/命令总线322b和323b以及数据总线325b之间的部件和耦接的结构。为了简洁起见,假定存储模块300a和300b结构类似,以下的论述将仅仅参照存储模块300a内的组件,而不是对两个存储模块都进行介绍。
在某些实施例中,存储模块300a被作为附着在相当小的PCB上的多个集成电路来实现,该PCB配备有具有触点(或者其他形式用于与至少驻留存储控制器370的另一个PCB连接的连接器)的卡边缘标记(card edge tab),并且具有存储模块300b可以插入的另一个连接器,从而生成一个电连接,通过该电连接路由地址/命令总线360、数据总线365并且可能路由到Vterm电源342的连接。在这样的实施例中,存储器阵列332a和333a都可以由多个存储器IC组成。在其上至少驻留存储控制器370的上述的其他PCB可以是计算机系统的电路板,并且存储控制器370是用于将某种形式的处理器与存储模块300a对接的逻辑的一部分,诸如外围设备等。
如以上简要所述,缓冲器逻辑310a分别经由地址/命令总线322a和323a将由存储控制器370产生的总线周期在地址/命令总线360上重发给存储器阵列332a和333a,并且在这些总线的一个上发生的总线周期基本上镜像在另一个上的总线周期。为了帮助节省功率,和/或允许使用一种低的电流容量形式的Vterm电源342,缓冲器逻辑310a以非常类似于前面结合控制设备110和210所述的方式,将在地址/命令总线322a上以其真实状态的二进制信号发送的一些地址的至少一部分在地址/命令总线323a上以相反的二进制信号(即,以相对的高和低状态))传送。如上述的存储系统100和200中的情况一样,在地址/命令总线322a和323a之间使用相对的高和低状态帮助了限制在端接设备340a和Vterm电源342之间流动的电流量,从而帮助限制功率消耗。在采用多个诸如存储模块300a的存储模块并且这样的存储模块中采用上述相对的高和低信号状态的实施例中,可以提供机会保持Vterm电源342的整个容量和/或物理尺寸相对很小,这可以提供成本节省以及功率节省。
图4是采用计算机系统的实施例的方框图。计算机系统400至少部分地由处理器482、系统逻辑480和存储系统组成,该存储系统由至少存储控制器410和一个或多个存储设备(诸如432a、432b、433a和433b)组成,这些存储设备共同地构成一种处理的核心形式和能够存储、获取和执行命令的存储部件。
在图4中描述的存储系统的特定的实施例包括经由存储器总线422连接到存储设备432a和432b,并且经由存储器总线423连接到存储设备433a和433b的存储控制器410(在系统逻辑480内)。此外,存储器总线422和423两者以如下拓扑被进一步连接到端接设备440,使得端接设备440提供构成存储器总线422和423的连接到存储控制器410的相对端的至少一些信号线的端接端,而存储设备432a、432b、433a和433b在沿着构成存储器总线422和423的信号线的点上被连接到其存储器总线422和423相应的一个。如描述的,存储器总线422和423两者随同地址和/或命令信号线一起合并数据信号线,使得即使有,也只存在很少的共享信号线。在存储器总线422和423之间是否存在共享的信号线和共享多少信号线可能是取决于诸如以下的因素,希望减少一个或多个设备和/或连接器的引线数,部件在电路板上的相对物理位置,希望通过使用并行的数据信号线组提高数据传输的速度,和/或许多其他可以影响各种可能实施例结构的因素,如本领域技术人员将容易理解的。
在某些实施例中,存储控制器410只是构成很大的IC的电路的一部分,诸如,连接到处理器482以提供所述的各种处理器支持功能的系统逻辑480。在其他的实施例中,存储控制器410被合并在处理设备内,诸如具有一个或多个处理核心的处理器。在再一个实施例中,存储控制器410是一个响应从连接到存储控制器410的另一个设备接收的命令来执行存储操作的完全独立的IC。
在各种可能实施例中,存储设备432a、432b、433a和433b包括一个或多个直接连接到存储器总线422和423的一个或者另一个的存储器IC。在另一个可能实施例中,存储设备432a、432b、433a和433b由一个或多个具有附着在微型PCB上的多个IC结构的存储模块组成,该微型PCB经由附着在电路板(该存储控制器410所附着的电路板)上的连接器被连接到存储器总线422或者423的一个或者另一个。
在某些可能实施例中,端接设备440给在存储器总线422和423内的数据信号线连同地址和命令信号线提供端接。如本领域技术人员将容易理解的,在各种可能实施例中,端接设备440可以由许多可能电子线路形式,包括电阻、有源的端接电路等等组成。
以与图1和2的控制设备110和210、和图3的缓冲器逻辑310a和310b类似的方式,存储控制器410在存储设备432a、432b、433a和433b上执行存储操作,经由存储器总线422和423内的地址和命令信号线传送地址和命令,并且在存储器总线422上出现的总线周期基本上镜像在存储器总线423上的总线周期。为了帮助节省功率,和/或为了允许使用具有减少电流容量的端接设备440的端接电源(因此,可以较不复杂和/或昂贵),存储控制器410在存储器总线422上以真实状态的二进制信号发送至少一些地址,并且这些地址的至少一部分在存储总线423上以相反的二进制信号(即具有相对的高和低状态)发送。如在早先描述的实施例中的情况,在存储器总线422和423之间使用相对的高和低状态帮助限制了通过端接设备440功率耗费的量。
在某些实施例中,处理器482可以访问存储设备490采用的非易失性存储设备492(诸如,EEPROM、ROM、FLASH等等)或者介质491(诸如,软磁盘、CD-ROM、磁带等等),处理器482经由系统逻辑480或者经由某些其他的连接可以获取一组指令。在这样的实施例中,这样的一组指令当由处理器482执行的时候,可以使得处理器482去执行一个或多个测试或者采用一个或多个其他的方法,以识别存储设备432a、432b、433a和/或433b的各种特征,从而正确地确定这些存储设备的一个或多个采用什么信号线和用于什么功能。在执行这样的测试或者其他的方法之后,可以进一步致使处理器482编程存储控制器410以便在存储器总线422和423的一个或多个地址和/或命令信号线上有选择地使用,或者有选择地避免使用相对的高和低状态。
已经参考各种可能实施例相当详细地描述了本发明。很显然,参考上文的描述,对于本领域技术人员来说,许多的替换、修改、变化和使用是显而易见的。本领域技术人员将理解,可以以采用任何可能的存储器技术的许多可能类型的存储设备来实施本发明。本领域技术人员还应该理解,本发明还可以用于计算机系统以外的电子设备,诸如,音频/视频娱乐设备、车辆中的控制器设备、由电子电路控制的电器等等。
权利要求
1.一种装置,包括控制设备;连接到控制设备的具有第一组地址信号线的第一总线,在该第一总线上,控制设备对该第一组地址信号线每个的地址驱动是被驱动为真实的逻辑状态;连接到控制设备的具有第二组地址信号线的第二总线,在该第二总线上,控制设备对该第二组地址信号线每个的地址驱动是被驱动为相对的逻辑状态;连接到第一和第二组地址信号线两者的端接设备;和连接到端接设备的端接电压电源。
2.根据权利要求1的装置,其中第一总线进一步包括第一组命令信号线,其中至少一个命令信号线被驱动为真实的逻辑状态,并且其中第二总线进一步包括第二组命令信号线,在功能上对应于所述第一组命令信号线的所述至少一个命令信号线的第二组命令信号线的至少一个命令信号线,被驱动为相对的逻辑状态。
3.根据权利要求1的装置,进一步包括连接到第一总线的第一存储设备;和连接到第二总线的第二存储设备。
4.根据权利要求3的装置,其中所述控制设备是存储控制器,并且进一步包括连接到该控制设备的处理器,用以传送命令给控制设备以访问存储在第一和第二存储设备内的数据。
5.根据权利要求3的装置,进一步包括控制设备、第一和第二存储设备以及端接设备全部附着在其上的第一电路板,其中该电路板被配置为与附着在第二电路板上的存储模块连接器配对,在其间形成一个电连接,经由该电连接控制设备被连接到附着在第二电路板上的存储控制器。
6.根据权利要求3的装置,其中在传送数据给第一和第二存储设备中的寄存器的总线周期中,控制设备停止以与驱动第一组地址信号线中地址信号线的逻辑状态相反的逻辑状态来驱动第二组地址信号线中对应的地址信号线,并且在第一和第二组地址信号线上都以真实状态来驱动数据。
7.根据权利要求1的装置,其中第一总线进一步包括第一组命令信号线,其至少一个命令信号线被驱动为真实的逻辑状态,其中第二总线进一步包括第二组命令信号线,其在功能上对应于所述第一组命令信号线的所述至少一个命令信号线的至少一个命令信号线,也被驱动为真实的逻辑状态,并且其中控制设备进一步包括电路,该电路跟踪在第一和第二组命令信号线内被驱动为高状态的命令信号线的数量与被驱动为低状态的命令信号线的数量,并且导致控制设备将至少一个未使用的地址信号线驱动为选择的状态,以在第一和第二组命令信号线两者的被驱动为高状态的命令信号线的总数量和被驱动为低状态的命令信号线的总数量,和第一和第二组地址信号线的被驱动为高状态的地址信号线的总数量和被驱动为低状态的地址信号线的总数量之间取得平衡。
8.一种计算机系统,包括控制设备;连接到控制设备的具有第一组地址信号线的第一总线,在该第一总线上,控制设备对该第一组地址信号线每个的地址驱动是被驱动为真实的逻辑状态;连接到第一总线的第一存储设备;连接到控制设备的具有第二组地址信号线的第二总线,在该第二总线上,控制设备对该第二组地址信号线每个的地址驱动是被驱动为相对的逻辑状态;连接到第二总线的第二存储设备;连接到控制设备的具有第三组地址信号线的第三总线,通过该总线向控制设备发送地址;连接到该第三总线的存储控制器;和连接到该存储控制器的处理器。
9.根据权利要求8的计算机系统,进一步包括处理器、存储控制器和存储模块连接器附着在其上的第一电路板;和控制设备和第一和第二存储设备都附着在其上的第二电路板,其中第二电路板被配置为与第一电路板的存储模块连接器配对,在其间形成一个电连接,第三总线经由该电连接被路由。
10.根据权利要求8的计算机系统,其中在传送数据给第一和第二存储设备中的寄存器的总线周期中,控制设备停止以与驱动第一组地址信号线中地址信号线的逻辑状态相反的逻辑状态来驱动第二组地址信号线中对应的地址信号线,并且在第一和第二组地址信号线上都以真实状态来驱动数据。
11.根据权利要求8的计算机系统,其中第一总线进一步包括第一组命令信号线,其至少一个命令信号线被驱动为真实的逻辑状态,其中第二总线进一步包括第二组命令信号线,其在功能上对应于所述第一组命令信号线的所述至少一个命令信号线的至少一个命令信号线,也被驱动为真实的逻辑状态,并且其中控制设备进一步包括电路,该电路跟踪在第一和第二组命令信号线内被驱动为高状态的命令信号线的数量与被驱动为低状态的命令信号线的数量,并且导致控制设备将至少一个未使用的地址信号线驱动为选择的状态,以在第一和第二组命令信号线两者的被驱动为高状态的命令信号线的总数量和被驱动为低状态的命令信号线的总数量,和第一和第二组地址信号线的被驱动为高状态的地址信号线的总数量和被驱动为低状态的地址信号线的总数量之间取得平衡。
12.根据权利要求8的计算机系统,进一步包括连接到第一和第二组地址信号线两者的端接设备;和连接到端接设备的端接电压电源。
13.一种方法,包括将地址驱动到第一总线的第一组地址信号线上,第一总线被连接到第一存储设备和端接设备,使得该第一组地址信号线的地址信号线每个被驱动到其真实的状态;和将相同的地址驱动到第二总线的第二组地址信号线上,第二总线被连接到第二存储设备和端接设备,使得第二组地址信号线的地址信号线每个被驱动到其相对的状态。
14.根据权利要求13的方法,进一步包括跟踪在第一总线的第一组命令信号线中和第二总线的第二组命令信号线中被驱动为高状态的命令信号线的数量和被驱动为低状态的命令信号线的数量;将第一和第二组地址信号线的未被以地址的一部分驱动的至少一个地址信号线驱动为选择的状态,以实现第一和第二组地址信号线和第一和第二组命令信号线中被驱动为高状态的和被驱动为低状态的信号线的总数量之间的平衡。
15.根据权利要求14的方法,进一步包括执行对第一存储设备和第二存储设备的至少一个测试,以确定在发送地址的至少一部分的至少一个总线周期期间不使用第一和第二组地址信号线的哪些地址信号线;和将控制设备编程,以将所确定的在至少一个总线周期期间不使用的地址信号线驱动为一个状态,以实现第一和第二组地址信号线和第一和第二组命令信号线中被驱动为高状态的和被驱动为低状态的信号线的总数量之间的更大平衡。
16.根据权利要求15的方法,其中执行对第一和第二存储设备的至少一个测试包括读取附着在第一和第二存储设备也被附着的电路板上的非易失性存储设备,以从中获取与第一和第二存储设备的特性有关的信息。
17.根据权利要求13的方法,进一步包括在传送数据给第一和第二存储设备中的寄存器的总线周期中,停止以与驱动第一组地址信号线中地址信号线的逻辑状态相反的逻辑状态来驱动第二组地址信号线中对应的地址信号线,并且在第一和第二组地址信号线的地址信号线上都以真实状态来驱动数据。
18.一种机器可访问的介质,包括由处理器执行时使得处理器进行以下操作的代码执行对连接到存储控制器的存储设备的至少一个测试,以确定在发送地址的至少一部分的至少一个总线周期期间不使用连接到该存储设备的总线的哪些地址信号线;和将控制设备编程,以将所确定的在至少一个总线周期期间不使用的地址信号线驱动为一个状态,以实现被驱动为高状态的和被驱动为低状态的地址信号线和命令信号线的总数量之间的更大平衡。
19.根据权利要求18的设备可访问的介质,其中处理器执行对第一和第二存储设备的至少一个测试包括,该处理器读取附着在第一和第二存储设备也被附着的电路板上的非易失性存储设备,以从非易失性存储设备中获取与第一和第二存储设备的特性有关的信息。
20.根据权利要求18的设备可访问的介质,其中使得处理器进一步配置存储控制器,来跟踪在第一总线的第一组命令信号线中和第二总线的第二组命令信号线中被驱动为高状态的命令信号线的数量和被驱动为低状态的命令信号线的数量;并且将第一和第二组地址信号线的未被以地址的一部分驱动的至少一个地址信号线驱动为选择的状态,以实现第一和第二组地址信号线和第一和第二组命令信号线中被驱动为高状态的和被驱动为低状态的信号线的总数量之间的更大平衡。
全文摘要
生成一对总线,每个连接到公用的端接设备,每个具有一组被连接到单独的存储设备的地址信号线,并且以真实的逻辑状态驱动的地址来驱动一组地址信号线,同时以驱动为相对的逻辑状态的相同的地址驱动另一组地址信号线,以实现两个总线中被驱动为高状态和被驱动为低状态的信号线的数量之间的更大平衡。
文档编号G06F13/42GK101014943SQ200580030035
公开日2007年8月8日 申请日期2005年8月13日 优先权日2004年9月7日
发明者H·戴维, B·纳尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1