具有仲裁分组协议的存储器仲裁系统及方法技术方案

技术编号:2842874 阅读:143 留言:0更新日期:2012-04-11 18:40
一种存储器集线器和一种用于在存储器集线器的数据通路上发送读出响应的方法,其中该存储器集线器插入在发送存储器集线器和接收存储器集线器之间。在存储器集线器中接收仲裁分组,其包含表表示用于相关读出响应的数据通路配置的数据。解码该仲裁分组,并且根据该仲裁分组的数据来配置该数据通路。在存储器集线器中接收该相关读出响应并且将该相关读出响应耦合到用于将其发送到接收存储器集线器的经配置的数据通路上。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及用于基于处理器的计算系统的存储器系统,更具体地,涉及具有仲裁系统的基于集线器的存储器系统以及用于在此管理存储器响应的方法。
技术介绍
计算机系统使用诸如动态随机存取存储器(“DRAM”)设备此类的存储器设备,来存储由处理器访问的数据。这些存储器设备通常在计算机系统中用作系统存储器。在典型的计算机系统中,处理器通过处理器总线和存储器控制器与系统存储器通信。典型地安排在含有多个存储器设备的存储器模块中的系统存储器的存储器设备,通过存储器总线耦合到存储器控制器。处理器发出存储器请求,该存储器请求包括诸如读出命令此类的存储器命令,以及指定要从中读出数据或指令的位置的地址。存储器控制器使用该命令和地址来生成,通过存储器总线应用于系统存储器的适当的命令信号以及行和列地址。响应所述命令和地址,在系统存储器和处理器之间传送数据。存储器控制器常常是系统控制器的一部分,系统控制器还包括用于将处理器总线耦合到诸如PCI总线此类的扩充总线的总线桥电路。在存储器系统中,高数据带宽是所希望的。一般地,带宽限制不是和存储器控制器有关的,因为存储器控制器对进入系统存储器的数据和来自系统存储器的数据的排序和存储器设备允许的一样快。一种已经用来增大带宽的方法是增大将存储器控制器耦合到存储器设备的存储器数据总线的速度。因此,相同量的信息可以在更少的时间内在存储器数据总线上进行移动。然而,尽管增大了存储器数据总线的速度,但是在带宽方面还是没有相应的增加。数据总线速度和带宽之间非线性的关系的一个原因是存储器设备本身内部的硬件限制。也就是,存储器控制器必须对给存储器设备的所有命令进行调度,从而使得硬件限制要被加以考虑(honored)。尽管这些硬件限制能够通过存储器设备的设计而得到一定程度的减少,但是还是必须做出折衷,因为减少硬件限制通常增加了存储器设备的成本、功率、和/或尺寸,这些都是不希望有的事物。因此,假定有这些约束,尽管对于存储器设备来说以日益提高的速度来移动“循规蹈矩的”流量是容易的,例如,对于存储器设备的相同页的后续流量,但是对于存储器设备来说解决“不循规蹈矩的流量”还是困难很多的,“不循规蹈矩的流量”是例如在存储器设备的不同页和存储体之间跳动。除了处理器和存储器设备之间受限带宽之外,计算机系统的性能还受限于等待时间(latency)的问题,等待时间的问题增大了从系统存储器设备读出数据所必需的时间。更具体的是,当将存储器设备读出命令耦合到诸如同步DRAM(“SDRAM”)设备此类的系统存储器设备的时候,所读出数据仅仅在几个时钟周期的延迟之后才能从该SDRAM设备输出。因此,尽管SDRAM设备能够以高的数据速度同步输出猝发(burst)数据,但是在最初提供该数据期间的延迟会显著地降低使用所述SDRAM设备的计算机系统的工作速度。增大存储器数据总线速度能够用来帮助减轻等待时间的问题。但是,如同带宽的情况一样,存储器数据总线速度的增大没有产生等待时间的线性降低,本质上是出于与之前论述的相同的原因。尽管在增大带宽和降低等待时间方面,增大存储器数据总线速度在一定程度上已经是成功的,但是这个方法引起了其它的问题。例如,随着存储器数据总线的速度的增大,存储器总线上的负载需要减少以便维持信号完整性,因为传统地,在存储器控制器和插入存储器模块的存储器插槽之间已仅仅存在线了。几种方法已经用来适应存储器数据总线速度的增大。例如,降低存储器插槽的数目、增加在存储器模块上的缓冲器电路以便为存储器模块上的存储器设备提供足够的控制信号的扇出(fanout)、以及在存储器模块上提供多个存储器设备接口,因为在单个存储器设备接口上存在的存储器模块连接器太少。然而,这些传统方法的效果是有限的。之所以过去使用这些技术的原因是这样做是节省成本的。但是,当在每个接口中只能插入一个存储器模块的时候,为每一个所必需的存储器插槽添加分离的存储器接口就变得非常昂贵。换句话说,它将系统控制器封装推出了日用商品行列,而推入了奢侈品行列,从而大大增加了成本。允许采用节约成本的方式来增大存储器数据总线速度的一种新近的方法是使用通过存储器集线器耦合到处理器的多个存储器设备。在存储器集线器结构、或基于集线器的存储器子系统中,系统控制器或存储器控制器通过高速双向或单向存储器控制器/集线器接口耦合到几个存储器模块。典型的是,存储器模块是以点对点或菊花链的结构进行耦合的,从而使得存储器模块串联地与彼此连接。因此在菊花链的方式中,该存储器控制器耦合到第一存储器模块上,第一存储器模块连接在第二存储器模块上,而第二存储器模块耦合到第三存储器模块上,等等。每一个存储器模块包括耦合到存储器控制器/集线器接口上的存储器集线器和在该模块上的许多存储器设备,存储器集线器有效地路由通过存储器控制器/集线器接口的、在该控制器和所述存储器设备之间的存储器请求和响应。采用这种结构的计算机系统能够使用高速存储器数据总线,因为信号完整性在存储器数据总线上能够得到保持。而且,这种结构还为系统存储器的轻松扩充做了准备,没有像在传统存储器总线体系结构中出现的那样的,在增加更多存储器模块的时候的对于信号质量退化的担忧。尽管使用存储器集线器的计算机系统能够提供出众的性能,各种因素还是可能影响存储器系统的性能。例如,管理从一个存储器集线器上行到另一个存储器集线器的读出数据的流(即,后退到计算机系统中的存储器集线器控制器)会影响读出等待时问。存储器集线器对读出数据流的管理可以一般地称为仲裁,每一个存储器集线器在本地存储器读出响应和上游存储器读出响应之间进行仲裁。也就是,每一个存储器集线器确定是先发送本地存储器读出响应还是先转发来自下游(即,更远离存储器集线器控制器的)存储器集线器的存储器读出响应。尽管对于哪一个存储器读出响应有更低的优先级的确定仅仅会影响该特定存储器读出响应的等待时间,但是具有增大等待时间的存储器读出响应的附加效应会影响存储器系统的整体等待时间。因此,存储器集线器所采用的仲裁技术直接影响存储器系统的整体性能。此外,仲裁方案的实现也会影响整体读出等待时间,因为尽管使用了合意的仲裁方案,效率差的实现会对系统存储器性能产生负面影响。因此,存在的需求是一种系统及方法,其用于在具有存储器集线器结构的系统存储器中实现管理存储器响应的仲裁方案。
技术实现思路
根据该专利技术的一个方面的一种方法包括在发送存储器集线器和接收存储器集线器之间插入的存储器集线器的数据通路上发送读出响应。所述方法包括在存储器集线器中接收仲裁分组,所述仲裁分组包含表示相关读出响应的数据通路配置的数据。对该仲裁分组进行解码,并且根据该仲裁分组的数据来配置该数据通路。在存储器集线器中接收相关读出响应,并且将该相关读出响应耦合到用于将其发送到接收存储器集线器的经配置的数据通路。在该专利技术的另一方面中,提供了耦合到至少一个存储器设备的存储器集线器。该存储器集线器包括远程和本地的输入节点、输出节点、以及耦合到远程和本地的输入节点并且进一步到输出节点的可配置的数据通路。该存储器集线器还包括仲裁控制电路,其耦合到可配置的数据通路、输出节点、以及远程输入节点的。仲裁控制电路生成用于通过本地节点耦合的相关读出响应的仲裁分组,该仲裁分组包含表示用于相关读出响应的数据本文档来自技高网
...

【技术保护点】
一种在系统存储器中响应读出请求的方法,所述系统存储器具有响应存储器集线器以及至少一个插入存储器集线器,通过所述系统存储器,读出响应在所述插入存储器集线器的数据通路上发送,所述方法包括:从耦合到所述响应存储器集线器上的存储器设备中获取 读出数据,并准备包含所述读出数据的读出响应;生成仲裁分组,所述仲裁分组包含表示所述读出响应的数据通路配置的数据;将所述仲裁分组和所述读出响应提供给所述插入存储器集线器,所述仲裁分组在所述读出响应之前提供;以及在所述插 入存储器集线器中接收所述仲裁分组,解码所述仲裁分组的数据,并根据所述仲裁分组的数据在所述插入存储器集线器中启用用于所述读出响应的数据通路。

【技术特征摘要】
【国外来华专利技术】US 2004-3-24 10/809,8391.一种在系统存储器中响应读出请求的方法,所述系统存储器具有响应存储器集线器以及至少一个插入存储器集线器,通过所述系统存储器,读出响应在所述插入存储器集线器的数据通路上发送,所述方法包括从耦合到所述响应存储器集线器上的存储器设备中获取读出数据,并准备包含所述读出数据的读出响应;生成仲裁分组,所述仲裁分组包含表示所述读出响应的数据通路配置的数据;将所述仲裁分组和所述读出响应提供给所述插入存储器集线器,所述仲裁分组在所述读出响应之前提供;以及在所述插入存储器集线器中接收所述仲裁分组,解码所述仲裁分组的数据,并根据所述仲裁分组的数据在所述插入存储器集线器中启用用于所述读出响应的数据通路。2.如权利要求1所述的方法,其中,生成仲裁分组包括,生成用来区别所述仲裁分组和读出响应的用于所述仲裁分组的数据。3.如权利要求1所述的方法,其中,生成仲裁分组包括,生成多个8比特字节,所述多个8比特字节包括一个包含由所述插入存储器集线器用来区别所述仲裁分组和读出响应的数据的字节。4.如权利要求1所述的方法,其中,启用用于所述读出响应的数据通路包括,启用在所述插入存储器集线器中的旁路数据通路,以通过所述插入存储器集线器来耦合所述仲裁分组和读出响应。5.如权利要求1所述的方法,还包括确定所述插入存储器集线器是否繁忙;以及如果所述插入存储器集线器不忙,就生成所述仲裁分组,并在将所述相关读出响应提供给所述插入存储器集线器之前将所述仲裁分组提供给所述插入存储器集线器。6.如权利要求1所述的方法,还包括确定所述响应存储器集线器的本地数据通路是否空闲;如果所述本地数据通路是空闲的,就生成所述仲裁分组,并在将所述相关读出响应提供给所述插入存储器集线器之前将所述仲裁分组提供给所述插入存储器集线器。7.如权利要求1所述的方法,其中,生成所述仲裁分组包括,生成仲裁分组,所述仲裁分组包含表示启用在所述插入存储器集线器中的旁路数据通路以通过所述插入存储器集线器来耦合所述仲裁分组和读出响应的数据。8.一种在存储器集线器的数据通路上发送读出响应的方法,所述存储器集线器插入在发送存储器集线器和接收存储器集线器之间,所述方法包括在所述存储器集线器中接收仲裁分组,所述仲裁分组包含表示对于相关读出响应的数据通路配置的数据;解码所述仲裁分组;根据所述仲裁分组的数据来配置所述数据通路;在所述存储器集线器中接收所述相关读出响应;以及将所述相关读出响应耦合到用于将其发送到所述接收存储器集线器的经配置的数据通路上。9.如权利要求8所述的方法,其中,配置所述数据通路包括,启用所述存储器集线器中的旁路数据通路,以通过所述存储器集线器将所述仲裁分组和读出响应耦合到所述接收存储器集线器。10.如权利要求8所述的方法,还包括将所述仲裁分组耦合到经配置的数据通路,以在发送所述相关读出响应之前将所述仲裁分组发送到所述接收存储器集线器。11.如权利要求8所述的方法,还包括接收来自所述发送集线器的、关于存储器集线器是否繁忙的查询,并通过向所述发送集线器指示所述存储器集线器不忙来响应所述询问。12.一种配置存储器集线器的数据通路的方法,通过所述数据路径提供了读出响应,所述方法包括在第一存储器集线器中生成仲裁分组,所述仲裁分组包含表示对于相关读出响应的数据通路配置的数据;将所述仲裁分组提供给耦合到所述第一存储器集线器上的第二存储器集线器;在所述第二存储器集线器中解码所述仲裁分组;以及在准备接收所述相关读出响应时,根据所述仲裁分组的数据来配置所述第二存储器集线器的数据通路。13.如权利要求12所述的方法,其中,生成仲裁分组包括,生成用于所述仲裁分组的数据,所述数据用于区分所述仲裁分组和读出响应。14.如权利要求12所述的方法,其中,配置所述数据通路包括,启用所述第二存储器集线器中的旁路数据通路,以通过所述第二存储器集线器来耦合所述仲裁分组和读出响应。15.如权利要求12所述的方法,还包括确定所述第二存储器集线器是否繁忙;以及如果所述第二存储器集线器不忙,就在将所述相关读出响应提供给所述第二存储器集线器之前将所述仲裁分组提供给所述第二存储器集线器。16.如权利要求12所述的方法,还包括确定本地数据通路是否空闲;如果所述本地数据通路是空闲的,就生成所述仲裁分组,并在将所述相关读出响应提供给所述第二存储器集线器之前将所述仲裁分组提供给所述第二存储器集线器。17.如权利要求12所述的方法,其中,生成所述仲裁分组包括,生成仲裁分组,所述仲裁分组包括表示启用所述第二存储器集线器中的旁路数据通路以通过所述第二存储器集线器来耦合所述仲裁分组和读出响应的数据。18.一种在第一和第二存储器集线器之间通信的方法,用于配置在所述第二存储器集线器中的数据通路,所述方法包括生成用于要通过所述第二存储器集线器来耦合的相关读出响应的仲裁分组,所述仲裁分组包括命令码字段,还包括数据通路字段,所述命令码字段包含标识其是仲裁分组的数据,所述数据通路字段包含表示在第二存储器集线器中的数据所述通路配置的数据;在将所述相关读出响应发送给所述第二存储器集线器之前发送所述仲裁分组;以及根据包含在所述数据通路字段中的数据来配置所述第二存储器集线器中的数据通路。19.如权利要求18所述的方法,其中配置所述数据通路包括,启用所述第二存储器集线器中的旁路数据通路,以通过所述第二存储器集线器来耦合所述仲裁分组和所述相关读出响应。20.如权利要求18所述的方法,还包括确定所述第二存储器集线器是否繁忙;以及如果所述第二存储器集线器不忙,就生成所述仲裁分组,并在将所述相关读出响应提供给所述第二存储器集线器之前将所述仲裁分组提供给所述第二存储器集线器。21.如权利要求19所述的方法,还包括确定本地数据通路是否空闲的;如果所述本地数据通路是空闲的,就生成所述仲裁分组,并在将所述相关读出响应提供给所述第二存储器集线器之前将所述仲裁分组提供给所述第二存储器集线器。22.一种耦合到至少一个存储器设备上的存储器集线器,所述存储器集线器包括远程的和本地的输入节点;输出节点;可配置的数据通路,其耦合到所述远程的和本地的输入节点上,并且还耦合到所述输出节点上,所述可配置的数据通路用于通过所述远程的和本地的输入节点将至少一个读出响应耦合到所述输出节点;以及仲裁控制电路,其耦合到所述可配置的数据通路、所述输出节点、以及所述远程输入节点上,所述仲裁控制电路用于生成对于通过所述本地输入节点耦合的相关读出响应的仲裁分组,所述仲裁分组包含表示对于所述相关读出响应的数据通路配置的数据,所述仲裁控制电路还用于在准备将通过所述远程输入节点耦合的相关读出响应耦合到所述输出节点时,根据通过所述远程输入节点耦合的仲裁分组包括的数据来配置所述可配置的数据通路。23.如权利要求22所述的存储器集线器,其中,所述可配置的数据通路包括多路复用器,其具有耦合到所述输出节点上的输出端以及耦合到所述仲裁控制电路上的控制节点;旁路数据通路,其耦合到所述远程输入节点和所述多路复用器的第一输入端上;本地队列,其具有耦合到所述本地输入节点上的输入端,并且还具有耦合到所述多路复用器的第二输入端上的输出端;以及远程队列,其具有耦合到所述远程输入节点上的输入端,并且还具有耦合到所述多路复用器的第三输入端上的输出端,所述仲裁控制电路用于生成用于所述多路复用器的信号,以有选择地将所述旁路数据通路、本地队列或远程队列耦合到所述输出节点上。24.如权利要求22所述的存储器集线器,其中,所述仲裁控制逻辑还用于生成用于所述仲裁分组的数据,所述数据用来区分所述仲裁分组和相关读出响应。25.一种存储器集线器,包括旁路数据通路,其耦合到输入节点和输出节点之间,在所述旁路数据通路上,所述旁路数据通路响应于被启用,在所述输入节点和输出节点之间耦合所述读出响应;以及仲裁控制电路,其耦合到所述旁路数据通路上,所述仲裁控制电路响应于从耦合到所述存储器集线器上的存储器设备中获取读出数据,生成仲裁分组,所述仲裁分组具有数据通路字段,所述数据通路字段含有用于启用上游存储器集线器的旁路数据通路的激活数据,所述仲裁控制电路还用于从下游存储器集线器接收仲裁分组并启用所述旁路数据通路以将从所述下游存储器集线器接收到的读出响应...

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

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

1