仲裁存储器响应的系统、方法和装置制造方法及图纸

技术编号:2844100 阅读:197 留言:0更新日期:2012-04-11 18:40
一种存储器集线器模块包括接收存储器请求,确定与每个存储器请求相联系的存储器请求标识符的解码器。数据包存储器接收存储器请求标识符并储存这些存储器请求标识符。数据包跟踪器接收远程存储器响应并且将每个远程存储器响应与一个存储器请求标识符联系起来,并且从所述数据包存储器中去除所述存储器请求标识符。多路复用器接收远程存储器响应和本地存储器响应。多路复用器响应控制信号选择输出。仲裁控制逻辑连接到所述多路复用器和所述数据包存储器,并且产生所述控制信号来选择存储器响应供输出。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机系统,具体而言,涉及包括系统存储器的计算机系统,其中的系统存储器具有存储器集线器体系结构。
技术介绍
计算机系统使用存储器装置,比如动态随机存取存储器(DRAM)装置,来储存由处理器访问的数据。这些存储器装置常常被用作计算机系统里的系统存储器。在典型的计算机系统里,处理器通过处理器总线和存储器控制器与系统存储器通信。处理器发出存储器请求,这种请求包括存储器命令,比如读命令,还包括指定从中读出数据或指令的位置的地址。存储器控制器利用这种命令和地址产生适当的命令信号以及行、列地址,应用于系统存储器。响应这些命令和地址,在系统存储器和处理器之间传递数据。存储器控制器常常是系统控制器的一部分,系统控制器还包括总线桥电路,用于将处理器总线连接到扩展总线,比如PCI总线。虽然存储器装置的工作速度不断提高,但是工作速度的这种提高没能跟上处理器工作速度的提高。将处理器连接到存储器装置的存储器控制器的工作速度的提高甚至更慢。存储器控制器和存储器装置较慢的速度限制了处理器和存储器装置之间的数据带宽。除了处理器和存储器装置之间有限的带宽以外,计算机系统性能还受到等待时间问题的限制,其中的等待时间问题延长了从系统存储器装置读出数据所需要的时间。更具体地说,将存储器装置读命令发送给系统存储器装置比如同步DRAM(SDRAM)装置的时候,读出的数据只有在几个时钟周期的延迟以后才从SDRAM装置输出。因此,虽然SDRAM装置能够以高数据率同步地输出脉冲串数据,但是提供数据的初始延迟会显著地降低采用这种SDRAM装置的计算机系统的工作速度。缓解这种存储器等待问题的一种途径是采用通过存储器集线器连接到处理器的多个存储器装置。在存储器集线器体系结构里,存储器集线器控制器通过一条高速数据链路连接到几个存储器模块。典型情况下,这些存储器模块按照点到点或者菊链体系结构连接,从而使这些存储器模块互相串联。这样,以一种菊链方式,存储器集线器控制器通过第一高速数据链路连接到第一存储器模块,第一存储器模块通过第二高速数据链路连接到第二存储器模块,第二存储器模块通过第三高速数据链路连接到第三存储器模块,并以此类推。每个存储器模块都包括连接到对应高速数据链路的存储器集线器和这个模块上的多个存储器装置,存储器集线器通过高速数据链路在控制器和存储器装置之间有效地传递存储器请求和存储器响应。每个存储器请求典型情况下都包括指定这个请求调用的存储器访问类型(例如读或写)的存储器命令,指定要访问的存储器位置的存储器地址,以及在写存储器请求的情况下的写数据。存储器请求通常还包括说明正在访问的存储器模块的信息,但是这一点可以通过将不同地址映射到不同存储器模块来实现。存储器响应通常只为读存储器请求提供,并且通常包括读出数据,以及让存储器集线器控制器能够识别对应于存储器响应的存储器请求的识别首部。但是应该明白,也可以使用具有其它特性的存储器请求和存储器响应。在任何情况下,在以下描述中,存储器集线器控制器发出的存储器请求从一个存储器集线器向下游传递到另一个,而存储器响应则从一个存储器集线器向上游传递到另一个,直到到达存储器集线器控制器。采用这种体系结构的计算机系统会具有更高带宽,因为处理器能够访问一个存储器装置,而同时另一个存储器装置正在响应在此之前的存储器访问。例如,处理器可以将写数据输出给系统中的存储器装置之一,而系统中的另一个存储器装置则在准备提供读出数据给处理器。此外,这种体系结构还支持很容易地扩展系统存储器,而不用考虑增加了更多存储器模块时信号质量的下降,就象传统多站式总线体系结构里发生的一样。虽然采用存储器集线器的计算机系统可以提供优异的性能,但是因为多种原因它们常常不能以最佳速度工作。例如,虽然存储器集线器能够为计算机系统提供更大的存储器带宽,但是它们仍然受到上述类型的等待时间问题的困扰。具体而言,虽然一个存储器装置正在准备传递数据的同时,处理器可以与另一个存储器装置通信,但是有时在能够使用来自一个存储器装置的数据之前,需要收到来自另一个存储器装置的数据。在能够使用从一个存储器装置收到的数据之前,必须收到来自另一个存储器装置的数据这种情况下,等待时间问题仍然会降低这种计算机系统的工作速度。存储器集线器系统中会降低存储器传递速度的另一个因素是在高速链路上向上游从一个集线器向另一个集线器传递读数据(也就是回到存储器集线器控制器)。每个集线器必须确定是首先发送本地响应还是首先转发来自下游存储器集线器的响应,做这件事的方式会影响具体响应的实际等待时间,更会影响系统存储器总的等待时间。可以将这一判断叫做仲裁,每个集线器在本地请求和向上游的数据传递之间进行仲裁。在具有存储器集线器体系结构的系统存储器里,需要一种系统和方法用于仲裁数据传递,以缩短系统存储器的等待时间。
技术实现思路
根据本专利技术的一个方面,存储器集线器模块包括解码器,这个解码器接收存储器请求,并且确定与每个存储器请求相联系的存储器请求标识符。数据包存储器接收存储器请求标识符,并且储存这些存储器请求标识符。数据包跟踪器接收远程存储器响应,将每个远程存储器响应与存储器请求标识符联系起来,并且从数据包存储器中去除这个存储器请求标识符。多路复用器接收远程存储器响应和本地存储器响应。多路复用器响应控制信号来选择输出。与多路复用器和数据包存储器连接的仲裁控制逻辑产生这个控制信号,以选择存储器响应供输出。附图说明图1是包括系统存储器的计算机系统的框图,该系统存储器具有本专利技术一个实例中的高带宽存储器集线器体系结构。图2是说明本专利技术一个实例中包括在图1所示集线器控制器里的仲裁系统的功能框图。图3a和3b是本专利技术一个实例中图2所示数据包存储器的功能说明。具体实施例方式在图1中示出本专利技术一个实施例里的计算机系统100。计算机系统100包括具有存储器集线器体系结构的系统存储器102,该存储器集线器体系结构包括多个存储器模块130,每个存储器模块都包括一个对应的存储器集线器140。每个存储器集线器140都在来自上面包含了这个集线器的存储器模块130的存储器响应与来自下游存储器模块的存储器响应之间进行仲裁,通过这种方式,存储器集线器通过控制响应用多快的速度返回系统控制器110来有效地控制系统存储器中各个存储器模块的等待时间,如同下面将更加详细地描述的一样。在以下描述中,给出了特定细节,以帮助对本专利技术的充分理解。但是,本领域里的技术人员会明白,可以实践本专利技术而没有这些具体细节。在其它情形下,众所周知的电路、控制信号、时序协议和/或软件操作都没有详细示出,或者被全部省略,以避免没有必要地模糊本专利技术。计算机系统100包括处理器104,用于实现各种计算功能,例如执行专用软件来完成特殊计算或任务。处理器104通常是具有处理器总线106的中央处理单元(CPU),处理器总线106正常情况下包括地址总线、控制总线和数据总线。处理器总线106通常都与缓冲存储器108连接,如上所述,缓冲存储器108常常是静态随机存取存储器(SRAM)。最后,处理器总线106与系统控制器110连接,这个系统控制器110有时也叫做“北桥”或“存储器控制器”。系统控制器110充当存储器模块130和各种其它组件到处理器104的通信路径。更具体地说,系统本文档来自技高网
...

【技术保护点】
一种存储器集线器,包括:解码器,用于接收存储器请求,并且确定与每个存储器请求相联系的存储器请求标识符;数据包存储器,与所述解码器连接,该数据包存储器用于从所述解码器接收存储器请求标识符,并且储存收到的存储器请求标识符;数据包跟踪器,与所述数据包存储器连接,所述数据包存储器用于接收远程存储器响应,并且将收到的每个远程存储器响应与所述数据包存储器里储存的存储器请求标识符相联系,所述数据包跟踪器用于从所述数据包存储器中有效地去除所述存储器请求标识符;多路复用器,用于响应控制信号,将收到的所述远程存储器响应或者所述本地存储器响应传送给输出端;以及仲裁控制逻辑,连接到所述多路复用器和所述数据包存储器,用于产生所述控制信号。

【技术特征摘要】
【国外来华专利技术】US 2004-2-5 10/773,5201.一种存储器集线器,包括解码器,用于接收存储器请求,并且确定与每个存储器请求相联系的存储器请求标识符;数据包存储器,与所述解码器连接,该数据包存储器用于从所述解码器接收存储器请求标识符,并且储存收到的存储器请求标识符;数据包跟踪器,与所述数据包存储器连接,所述数据包存储器用于接收远程存储器响应,并且将收到的每个远程存储器响应与所述数据包存储器里储存的存储器请求标识符相联系,所述数据包跟踪器用于从所述数据包存储器中有效地去除所述存储器请求标识符;多路复用器,用于响应控制信号,将收到的所述远程存储器响应或者所述本地存储器响应传送给输出端;以及仲裁控制逻辑,连接到所述多路复用器和所述数据包存储器,用于产生所述控制信号。2.如权利要求1所述的存储器集线器,其中所述仲裁控制逻辑基于所述数据包存储器中最老的存储器请求标识符产生所述控制信号。3.如权利要求1所述的存储器集线器,其中所述数据包存储器是先入先出(FIFO)存储器。4.如权利要求1所述的存储器集线器,其中所述仲裁控制逻辑产生所述控制信号,从而如果所述数据包存储器中最老的存储器请求是本地存储器请求,所述多路复用器输出本地存储器响应。5.如权利要求1所述的存储器集线器,其中所述本地和远程存储器响应中的每一个都包括数据和标识与所述存储器响应相对应的存储器请求的首部。6.一种存储器集线器,用于接收本地存储器响应和远程存储器响应,所述存储器集线器用于储存收到的所述存储器响应,并且应用仲裁算法,在与储存的所述本地和远程存储器响应相对应的存储器请求的储存时间的基础之上,选择将储存的所述本地和远程存储器响应提供到上行链路输出端上去的顺序。7.如权利要求6所述的存储器集线器,其中所述存储器集线器还包括数据包存储器,该数据包存储器按照收到对应存储器请求的顺序储存所述存储器请求标识符。8.如权利要求7所述的存储器集线器,其中所述存储器集线器还包括连接到所述数据包存储器的多路复用器,所述多路复用器响应控制信号,在输出端上提供本地或者远程存储器响应。9.如权利要求8所述的存储器集线器,其中所述存储器集线器还包括连接到所述数据包存储器和所述多路复用器的仲裁逻辑,并且其中所述仲裁逻辑施加所述控制信号给所述多路复用器,以控制在所述输出端上提供哪些存储器响应。10.如权利要求6所述的存储器集线器,其中所述本地和远程存储器响应中的每一个都包括数据和标识与所述存储器响应相对应的存储器请求的首部。11.一种存储器模块,包括多个存储器装置;以及存储器集线器,与所述多个存储器装置连接,所述存储器集线器包括解码器,用于接收存储器请求,并且用于确定与每个存储器请求相联系的存储器请求标识符;数据包存储器,用于接收存储器请求标识符,并且储存所述存储请求标识符;数据包跟踪器,用于接收远程存储器响应,并且用于将每个远程存储器响应与一个存储器请求标识符联系起来,以及从所述数据包存储器里去除所述存储器请求标识符;多路复用器,用于响应控制信号,接收远程存储器响应和本地存储器响应,并且用于选择输出;以及仲裁控制逻辑,连接到所述多路复用器和所述数据包存储器,用于产生所述控制信号来控制选择哪一个存储器响应进行输出的选择。12.如权利要求11所述的存储器模块,其中所述多个存储器装置的每一个都包括SDRAM。13.如权利要求11所述的存储器模块,其中所述仲裁控制逻辑基于所述数据包存储器中最老的存储器请求标识符来产生所述控制信号。14.如权利要求11所述的存储器模块,其中所述数据包存储器是先入先出(FIFO)存储器。15.如权利要求11所述的存储器集线器,其中所述仲裁控制逻辑产生所述控制信号,从而如果所述数据包存储器里最老的存储器请求是本地存储器请求,所述多路复用器就输出本地存储器响应。16.如权利要求11所述的存储器集线器,其中所述本地和远程存储器响应中的每一个都包括数据和标识与所述存储器响应相对应的存储器请求的首部。17.一种存储器系统,包括存储器集线器控制器;多个存储器模块,每个存储器模块都通过相应的高速链路连接到多个相邻存储器模块,所述多个存储器模块中的至少一个通过相应的高速链路连接到所述存储器集线器控制器,并且每个存储器模块包括多个存储器装置;以及连接到所述多个存储...

【专利技术属性】
技术研发人员:约瑟夫M杰德洛
申请(专利权)人:米克伦技术公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1