存储集线器和存储排序的方法技术

技术编号:2917237 阅读:213 留言:0更新日期:2012-04-11 18:40
一种存储器模块,包含连接数个存储器设备的存储集线器。该存储集线器包括至少一个性能计数器来记录一个或多个系统度量,比如,页面命中率、预取命中率和/或高速缓存命中率。该性能计数器和存储排序器通信,该存储排序器根据性能计数器跟踪的系统度量来调整其操作。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求于2004年5月14日提交的题为“存储集线器和存储排序方法”(MEMORY HUB AND METHOD FOR MEMORYSEQUENCING)的美国专利申请号10/846,988的权益,其已通过参考并入。
本专利技术涉及计算机系统,尤其涉及具有将数个存储设备与处理器或其它访问存储器的设备相连的存储集线器的计算机系统。
技术介绍
计算机系统使用如动态随机存取存储器(“DRAM”)的存储设备,来保存能被处理器存取的数据。这些存储设备通常被作为计算机系统的系统存储器。在典型的计算机系统中,处理器通过处理器总线和存储控制器与系统存储器通信。处理器发出存储请求,其中包含存储命令,比如读取命令,以及存储地址,存储地址指定要读取的数据或命令的位置。存储控制器使用命令和地址来生成合适的命令信号,同时生成应用到系统存储器的行和列地址。响应于这个命令和地址,数据在系统存储器和处理器之间传送。存储控制器经常是系统控制器的一部分,系统控制器还包括总线桥电路,其用来将处理器总线连接到如PCI总线的扩展总线。尽管存储设备的操作速度在持续的增加,但增加的操作速度依然跟不上处理器操作速度的改进。连接处理器和存储设备的存储控制器的速度改进甚至更慢。相对慢速的存储控制器和存储设备限制了处理器和存储设备之间的数据带宽。除了处理器和存储设备之间的带宽限制之外,计算机系统的性-->能还受制于从系统存储设备读取数据的时间延迟问题。更确切的说,当存储设备读取命令发送给一个系统存储设备时,比如同步DRAM(“SDRAM”)设备时,读取的数据只有在几个时钟周期的延迟后才从SDRAM设备输出。因此,虽然SDRAM设备能够高速同步输出帧数据,初始提供数据的延迟会极大减慢使用这种SDRAM设备的计算机系统的操作速度。缓解存储延迟问题的一个方法是通过存储集线器使用与处理器相连的多个存储设备。在存储集线器体系结构中,系统控制器或者存储控制器和多个存储模块相连,每个存储模块包含与多个存储设备相连的一个存储集线器。存储集线器有效地在控制器和存储设备间传输存储请求和响应。使用这种结构的计算机系统能够拥有更高的带宽,因为在一个存储设备响应先前的存储访问的同时,处理器可以访问另一个存储设备。例如,处理器输出写数据到系统中的一个存储设备的同时,系统中的另一个存储设备在准备提供读数据给处理器。尽管使用存储集线器的计算机系统也许能提供更好的性能,但它们经常由于多种原因无法以最优速度操作。例如,尽管存储集线器可以为计算机系统提供更好的存储带宽,其依然会遭受如上所述的那种延迟问题。更具体的,尽管处理器可以与一个存储设备通信的同时另一个存储设备也在准备传输数据,但有时需要先从一个存储设备接收数据,然后从另一存储设备读出的数据才能被使用。在需要从一存储设备先接收数据,然后从另一存储设备读出的数据才能用的情况下,延迟问题同样会减慢这样的计算机系统的操作速度。用来减少存储设备延迟的一种技术是预取数据,即在执行的程序请求此数据之前从系统存储器中读取它。通常根据先前预取数据的模式来选择当前要预取的数据。数据预取的模式也许只是简单的从中取得数据的地址序列,这样在执行的程序需要数据之前,能够从地址序列中随后的地址中地取得数据。这种模式被称作“步进”(stride)模式,当然可能更复杂。-->更进一步,尽管存储集线器能够为计算机系统提供更大的存储带宽,他们依然会遭受吞吐量问题。例如,在数据能够从某行存储单元读取之前,阵列中的数据线通常要通过平衡阵列数据线来预充电。然后连接该行的存储单元和相应的列数据线打开该特定的行。然后,连接在各列的数据线间的相应感应放大器响应于相应存储单元中存储的数据来响应电压改变。该行一旦打开,就可以通过连接数据线和数据读取通路来从打开行的各列读出数据。因此,打开一行,也被称作一页要耗费一定数量的时间,在存储吞吐上施加了限制。最后,有关是否预取数据(以及预取哪些数据)、以及是否要预充电或打开一行和是否缓存访问的数据的最优决定,可能会随着时间改变,并随连接到存储集线器的处理器执行的应用程序功能的不同而改变。因此需要一种计算机体系结构,其不仅能提供存储集线器结构的优势,还可以将延迟减到最小,并且/或将这种系统普遍存在的吞吐量问题减到最小,从而提供高带宽、高吞吐量和低延迟的存储设备。这样一个系统也希望允许存储集线器的操作随时间而改变。
技术实现思路
根据本专利技术的一方面,提供了一种存储模块和方法,其包括多个存储器设备和存储集线器。存储集线器包含链接接口,比如光学输入/输出端口,其接收对至少一个存储器设备的存储单元的访问请求。存储集线器还包含连接存储器设备的一个存储器设备接口,此存储器设备接口用于将存储请求发送到存储器设备,以访问至少一个存储器设备的存储单元,并响应至少一些存储请求来接收读数据。存储集线器还包含连接到存储器设备接口的性能计数器,该性能计数器用来跟踪一组度量中的至少一个,这组度量包括页面命中率、预取命中率和高速缓存命中率。存储集线器还包括存储排序器,其连接到链接接口和存储器设备接口。存储排序器响应于从链接接口接收的存储请求,将存储器请求发送到存储器设备接口。存储排序-->器还用响应于性能计数器来动态调整操作性。例如,性能计数器跟踪页面命中率,存储排序器可能响应于跟踪的页面命中率改变存储器设备的打开页面数,或者切换到自动预充电模式。或者,性能计数器可以跟踪预取命中百分比,存储排序器可能根据跟踪的预取命中百分比来允许或禁止预取,或者调整预取请求的数量。再例如,性能计数器可以跟踪高速缓存命中率,存储排序器可能根据跟踪的高速缓存命中率来禁止高速缓存。附图说明图1是根据本专利技术的一个实施例的计算机系统框图,其中存储器模块中的每个都包含存储集线器;图2是图1中的计算机系统使用的存储集线器的框图,它包含根据本专利技术一个例子的性能计数器;图3是图1中的计算机系统使用的存储集线器的框图,它包含根据本专利技术一个例子的预读缓冲器。具体实施方式图1示出的是根据本专利技术一个例子的计算机系统100。计算机系统100包括处理器104,用于执行不同的计算功能,比如执行特定的软件来执行特定的计算或任务。处理器104包括处理器总线106,通常处理器总线106包括地址总线、控制总线和数据总线。处理器总线106通常与高速缓存存储器108相连,像前面所提到的,高速缓存存储器108通常是静态随机存取存储器(“SRAM”)。最后,处理器总线106和系统控制器110相连,系统控制器有时被称为“北桥”或者“存储控制器”。系统控制器110作为通信通路,为处理器104提供与多种其它部件的连接。具体而言,系统控制器110包含图形端口,图形端口通常与图形控制器112相连,而图形控制器112进而和视频终端114相连。系统控制器110也和一个或多个输入设备118相连,比如键盘和鼠标,来允许操作员与计算机系统110进行交互。通常,计算机系-->统100还包括一个或多个输出设备120,比如打印机,其通过系统控制器110和处理器104相连。一个或多个数据存储设备124也常常通过系统控制器110与处理器104相连,来允许处理器104从内部或外部存储介质(未示出)存储或获取数据。典型的存储设备124例子包本文档来自技高网
...

【技术保护点】
一种存储器模块,包括: 多个存储器设备;以及 存储集线器,其包括: 链接接口,其接收访问至少一个所述存储器设备中的存储器单元的存储器请求; 连接到所述存储器设备的存储器设备接口,该存储器设备接口用于将存储器请求发送给所述存储器设备,以访问至少一个所述存储器设备中的存储器单元,以及接收响应于至少一些所述存储器请求的读数据。 连接到该存储器设备接口的性能计数器,该性能计数器用于跟踪至少一个性能度量;以及 连接到该链接接口和该存储器设备接口的存储排序器,该存储排序器用于响应于从该链接接口接收的存储器请求,将存储器请求发送给该存储器设备接口,该存储排序器还用于响应于该性能计数器跟踪的该性能度量,动态地调整操作性。

【技术特征摘要】
【国外来华专利技术】US 2004-5-14 10/846,9881、一种存储器模块,包括:多个存储器设备;以及存储集线器,其包括:链接接口,其接收访问至少一个所述存储器设备中的存储器单元的存储器请求;连接到所述存储器设备的存储器设备接口,该存储器设备接口用于将存储器请求发送给所述存储器设备,以访问至少一个所述存储器设备中的存储器单元,以及接收响应于至少一些所述存储器请求的读数据。连接到该存储器设备接口的性能计数器,该性能计数器用于跟踪至少一个性能度量;以及连接到该链接接口和该存储器设备接口的存储排序器,该存储排序器用于响应于从该链接接口接收的存储器请求,将存储器请求发送给该存储器设备接口,该存储排序器还用于响应于该性能计数器跟踪的该性能度量,动态地调整操作性。2、根据权利要求1的存储器模块,其中所述链接接口包括光学输入/输出端口。3、根据权利要求1的存储器模块,其中所述性能计数器跟踪的该性能度量包括从页面命中率、预取命中和高速缓存命中率的组中选取的至少一个性能度量。4、根据权利要求3的存储器模块,其中所述性能计数器跟踪页面命中率,而且所述存储排序器用于改变所述存储器设备中打开页面的数量。5、根据权利要求3的存储器模块,其中所述性能计数器跟踪页面命中率,而且所述存储排序器用于切换到自动预充电模式。6、根据权利要求3的存储器模块,其中所述性能计数器跟踪预取命中百分比,而且所述存储排序器用于开启或禁止预取功能。7、根据权利要求3的存储器模块,其中所述性能计数器跟踪预取命中百分比,而且所述存储排序器用于确定预取请求的数量。8、根据权利要求3的存储器模块,其中所述性能计数器跟踪高速缓存命中率,而且所述存储排序器用于禁止该高速缓存。9、根据权利要求1的存储器模块,其中所述存储器设备包括动态随机存取存储器设备。10、一种存储集线器,包括:链接接口,其接收访问至少一个存储器设备中的存储器单元的存储器请求。连接到所述存储器设备的存储器设备接口,该存储器设备接口用于将存储器请求发送给所述存储器设备,以访问至少一个所述存储器设备中的存储器单元,以及接收响应于至少一些所述存储器请求的读数据。连接到该存储器设备接口的性能计数器,该性能计数器用于跟踪至少一个性能度量;以及连接到该链接接口和该存储器设备接口的存储排序器,该存储排序器用于响应于从该链接接口接收的存储器请求,将存储器请求发送给该存储器设备接口,该存储排序器还用来响应于该性能计数器跟踪的该性能度量动态地调整操作性。11、根据权利要求10的存储集线器,其中所述链接接口包括光学输入/输出端口。12、根据权利要求10的存储集线器,其中所述性能计数器跟踪的该性能度量包括从页面命中率、预取命中和高速缓存命中率的组中的选取的至少一个性能度量。13、根据权利要求12的存储集线器,其中所述性能计数器跟踪页面命中率,而且所述存储排序器用于改变所述存储器设备中打开页面的数量。14、根据权利要求12的存储集线器,其中所述性能计数器跟踪页面命中率,而且所述存储排序器用于切换到自动预充电模式。15、根据权利要求12的存储集线器,其中所述性能计数器跟踪预取命中百分比,而且所述存储排序器用于开启或禁止预取功能。16、根据权利要求12的存储集线器,其中所述性能计数器跟踪预取命中百分比,而且所述存储排序器用于确定预取请求的数量。17、根据权利要求12的存储集线器,其中所述性能计数器跟踪高速缓存命中率,而且所述存储排序器用于禁止该高速缓存。18、一种计算机系统,包括:中央处理单元(“CPU”);连接到该CPU的系统控制器,该系统控制器具有输入端口和输出端口;通过该系统控制器连接到该CPU的输入设备;通过该系统控制器连接到该CPU的输出设备;通过该系统控制器连接到该CPU的存储设备;多个存储器模块,每个所述存储器模块包括:多个存储器设备;以及存储集线器,其包括:链接接口,其接收访问至少一个所述存储器设备中的存储器...

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

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

1