用于获得存储器系统的时钟的系统与方法

文档序号:6562025阅读:186来源:国知局
专利名称:用于获得存储器系统的时钟的系统与方法
技术领域
本发明涉及由通过菊花链控制器通道连接于存储器控制器的集线器设备构成的存储器系统。该集线器设备附接于或者驻留在包含存储器设备的存储器模块中。更具体地讲,本发明涉及允许在相同控制器通道上的存储器设备在变动的频率上操作。
背景技术
大多数高性能计算主存储器系统都使用了多个存储器模块,这些存储器模块具有通过一个或多个控制器通道连接于控制器的多个存储器设备。连接于相同控制器通道的所有存储器模块按相同的控制器频率操作,并且它们的所有存储器设备按相同的频率操作。控制器通道频率与存储器设备时钟频率的比率通常为固定的整数。当在通道中混合时,这些限制限制了存储器设备操作频率。由于通道频率与存储器设备频率的该固定比率,那些不能够获得最高数据速率的通道将在通道和存储器设备频率两者降低的情况下操作。这些典型的主存储器系统一定操作于不快于通道上最慢的存储器模块。当通道具有慢于其它存储器模块的存储器模块时,整个通道或许整个存储器系统肯定会慢下来,以兼容该慢速存储器模块的能力。
存储器系统操作频率的降低导致计算机系统主存储器性能的相应降低。所需要的是这样的存储器系统其以最高支持速率操作其控制器通道,同时以它们最高支持速率操作存储器模块上的所有存储器设备。这一能力将最大化主存储器系统的性能。

发明内容
示例性实施例包括一种用于获得存储器系统的时钟的方法。该方法包括在集线器设备上接收参考振荡器时钟。集线器设备经由控制器接口与控制器通道进行通信,并且经由存储器接口与存储器设备进行通信。从参考振荡器时钟获得按基时钟频率操作的基时钟。通过把基时钟乘以存储器乘数(memory multiplier)来获得存储器接口时钟。通过把基时钟乘以控制器乘数(controller multiplier)来获得控制器接口时钟。存储器接口时钟施加于存储器接口,控制器接口时钟施加于控制器接口。
另一个示例性实施例包括一种用于获得存储器系统的时钟的计算机程序产品。该计算机程序产品包括处理电路可读的和存储了用于实施方法的处理电路所执行的指令的存储媒体。该方法包括在集线器设备处接收参考振荡器时钟。该集线器设备经由控制器接口与控制器通道进行通信,并且经由存储器接口与存储器设备进行通信。从参考振荡器时钟获得按基时钟频率操作的基时钟。通过把基时钟乘以存储器乘数来获得存储器接口时钟。通过把基时钟乘以控制器乘数来获得控制器接口时钟。存储器接口时钟施加于存储器接口,控制器接口时钟施加于控制器接口。
另一个示例性实施例包括在存储器系统中的集线器设备。该集线器设备包括存储器接口、控制器以及时钟获得机构。所述存储器接口用于传输和从位于存储器模块上的存储器设备中接收数据。响应于按存储器模块时钟频率操作的存储器接口时钟来进行传输和接收。响应于按控制器通道时钟频率操作的控制器接口时钟,所述控制器接口被用于传输和从控制通道中接收数据。时钟获得机构实施接收参考振荡器时钟;从参考振荡器时钟中获得按基时钟频率操作的基时钟;通过把基时钟乘以存储器乘数来获得存储器接口时钟;通过把基时钟乘以控制器乘数来获得控制器接口时钟;将存储器接口时钟施加于存储器接口;以及将控制器接口时钟施加于控制器接口。
又一个示例性实施例包括存储器系统。该存储器系统包括控制器、与控制器进行通信的控制器通道、一个或多个存储器模块以及一个或多个集线器设备。每一个存储器模块包括一个或多个存储器设备。集线器设备缓存地址、命令以及数据。每一个集线器设备与一个或多个存储器模块进行通信,并且经由控制器通道与控制器进行通信。使用从参考振荡器时钟获得的基时钟的倍数,按控制器通道操作频率和存储器设备操作频率来独立地配置每一个集线器设备。控制器通道操作频率用于与控制器通道的通信。存储器设备操作频率用于与存储器设备的通信。


现在,参照附图,图中,以相同的参考数字标记相同的元件,在这些图中图1描述了示例性存储器系统,该存储器系统具有多层以点到点连接的菊花链存储器模块;图2描述了示例性存储器系统,该存储器系统具有通过菊花链通道连接于存储器模块和连接于控制器通道的集线器设备;图3描述了示例性集线器设备,该集线器设备使用了具有转发控制器接口总线时钟参考的m∶n计时(clocking);图4描述了示例性集线器设备,该集线器设备使用了具有独立分布时钟参考的m∶n计时;图5描述了示例性存储器系统控制器通道,该存储器系统控制器通道具有使用了m∶n计时的控制器接口转发参考时钟和独立存储器设备频率;图6描述了示例性存储器系统控制器通道,该存储器系统控制器通道具有使用了m∶n计时的独立分布参考时钟和独立存储器设备频率;以及图7是可由各个示例性实施例实现的、使用m∶n比率的样本控制器和存储器接口数据速率的表。
具体实施例方式
示例性实施例涉及计算机存储器系统,其由通过源于控制器的控制器通道互连的存储器模块构成。所述存储器模块附接于集线器逻辑设备,该集线器逻辑设备进一步附接于存储器模块上的存储器设备。存储器控制器通道在公共时钟频率上操作。每一个存储器模块通过控制器通道上的转发控制器接口总线时钟或者通过独立参考振荡器输入信号来接收公共参考振荡器频率。集线器设备唯一地配置为按各个操作频率操作它们的附接存储器设备,所述各个操作频率可以是参考振荡器频率的非整数倍。这使得变动存储器设备速度等级的存储器模块将按各个独立频率操作,同时驻留在按公共时钟频率操作的存储器控制器通道中。
如图1中所示,示例性实施例包括存储器系统,其由通过菊花链控制器通道114连接于存储器控制器102的一个或多个存储器模块110构成。存储器模块110包括缓存来往于控制器通道114的命令、地址和数据信号的集线器设备112、以及连接于集线器设备112的一个或多个存储器设备108。控制器通道114的下游部分向集线器设备112传输写数据和存储器操作命令。控制器通道114的上游部分将被请求的读数据返回到控制器102。在示例性实施例中,可以用控制器通道操作频率和存储器设备操作频率独立地配置每一个集线器设备112,以允许控制器通道114按一个频率操作和存储器设备108按不同的频率操作。另外,该存储器系统中的每一个存储器模块110及其相关的存储器设备108也可以按不同操作速度或者频率操作。
图2描述了包括存储器系统的供替换的示例性实施例,所述存储器系统由被连接到集线器设备112的一个或多个存储器模块110构成,所述集线器设备112通过菊花链控制器通道114被进一步连接于存储器控制器102。在本实施例中,集线器设备112不位于存储器模块110上,而改为集线器设备112与存储器模块110进行通信。可以使用与集线器设备112的多点连接或者通过使用点到点连接来构造控制器通道114。如图2中所示,存储器模块110可以经由多点连接和/或点到点连接而与集线器设备112进行通信。其它硬件配置也是可能的,例如,示例性实施例可以仅利用菊花链集线器设备112和/或存储器模块110的单一层。
图3描述了示例性集线器设备112,该集线器设备112将具有转发控制器接口总线时钟参考322的m∶n计时用作参考振荡器时钟。集线器设备112包括时钟域交叉功能304、存储器接口302、控制器接口306以及锁相环路(PLL)308(在这里,其也被称为时钟获得机构,因为其可以以包括软件和/或硬件的其它方式来实现)。存储器接口302经由mem_data总线310将数据发送到存储器模块110上的存储器设备108和从存储器模块110上的存储器设备108中接收数据,mem_data总线310按‘2*Y’Mbps操作,并且由具有‘Y’MHz频率的memory_clock 312计时。控制器接口306经由downstream_drv 314(向下游驱动数据和命令)和downstream_rcv 316(接收数据)与下游存储器模块110进行通信。另外,控制器接口306还经由upstream_rcv 318(接收数据和命令)和upstream_drv 320(向上游驱动数据和命令)与上游存储器模块110或者控制器102(如果没有上游存储器模块110)进行通信。
本发明的示例性实施例在集线器设备112中使用了两个可配置的整数比率,即‘m’和‘n’,以允许控制器通道114中的每个存储器模块110按公共通道频率(在这里,其也被称为控制器通道时钟频率)操作,但具有唯一的存储器设备频率(在这里,其也被称为存储器模块时钟频率)。控制器乘数‘m’被定义为公共通道频率‘X’与小的固定的基时钟频率例如但不限于是133MHz、100MHz、66MHz等的比率。把控制器通道114上转发的时钟用作它们的内部参考时钟的集线器设备112将把转发控制器接口总线时钟参考322的频率除以‘m’,以产生例如133MHz的基时钟。如果想要的控制器接口频率不能由基时钟频率匀分,则通过下舍入到基时钟频率(‘b’)的下一个整数倍而获得控制器接口频率。该基时钟将被用作为参考振荡器时钟和输入到PLL 308,在这里,将其乘以‘m’,以产生控制器接口时钟的清除和分布版本(a cleaned up and distributed version)。存储器乘数‘n’被定义为存储器设备时钟频率与基频率(例如,133MHz)的比率。集线器设备112在它们的PLL 308中把133MHz的基时钟乘以‘n’,以产生按‘Y’MHz运行的清除存储器接口时钟。所得到的控制器通道频率与存储器设备操作频率的比率为‘m∶n’。
由于集线器设备112知道控制器接口与存储器接口操作频率的比率,所以在集线器设备112中使用简化的时钟域交叉功能304来传递往返于存储器接口302的控制器接口信息。如果控制器接口306和/或存储器接口302使用双数据速率(DDR)计时来进行操作,则数据速率(以Mbps为单位)将两倍于各自接口时钟频率(即2X和/或2Y)。如果把DDR用在这两个接口上,则数据速率的比率将还是‘m∶n’。
图4描述了示例性集线器设备,该集线器设备使用具有作为参考振荡器时钟的输入到PLL 308的独立分布参考时钟402的‘m∶n’计时。使用独立分布参考时钟402的主存储器系统也可以使用‘m∶n’计时。在这种情况下,输入参考时钟402的频率必须是基时钟的频率(例如133MHz)的整数倍。把按‘W’MHz的频率操作的参考时钟402除以整数‘L’,以产生133MHz基时钟,其被用作为PLL 308中的乘法器的输入时钟。如果独立分布参考时钟402具有等于133MHz的频率,则‘L’简单地为1。PLL 308把基时钟乘以‘m’,以产生其频率为‘X’的清除控制器接口时钟。PLL 308还把基时钟乘以‘n’,以产生其频率为‘Y’的存储器接口时钟。把简化的时钟域交叉功能304用于在控制器接口306和存储器接口302中的逻辑电路(logic)之间传送信息。
图5描述了示例性存储器系统控制器通道114,其具有使用m∶n计时的控制器接口转发参考时钟322和独立存储器设备频率。使用‘m∶n’计时的存储器系统能够按唯一配置的存储器接口频率操作它们的存储器模块110,所述唯一配置的存储器接口频率等于由它们的存储器设备108支持的最高频率。图5表示存储器系统的单通道,在该存储器系统中,把标为DIMM 0 502的存储器模块配置为按‘Y0’频率操作其存储器设备108,而把标为DIMM 1504的存储器模块配置为按‘Y1’频率操作其存储器设备108。DIMM 0 502和DIMM 1 504均按公共的‘X’控制器接口频率操作。图6描述了示例性存储器系统通道,其具有独立分布参考时钟402和独立存储器设备频率,并且使用了m∶n计时,以最大化频率和性能。
如果在特定系统中,存储器通道频率即‘X’受到其电气和/或时序要求所限,则通过使用m∶n计时也能够最大化存储器设备频率。操作频率的这个最大化导致存储器通道的优化,以及因此导致计算机系统、性能的优化。
当配置使用m∶n计时的最佳性能的存储器系统时,用户应首先估计所支持的最高控制器通道频率。这被下舍入到基时钟频率(例如,133MHz)的下一个整数倍,从而得到‘X’。把‘X’除以基时钟频率,以针对控制器通道114中的所有集线器设备112来确定‘m’。对于控制器通道114中的每个存储器模块110,用户应估计所支持的最高存储器设备操作频率。这将是集线器设备112和存储器设备108规格的功能以及存储器模块110本身上的存储器接口302的电气分析的结果。应该把该最大操作频率下舍入到基时钟频率的下一个整数倍,由此对于所述存储器模块110,得到‘Y’。把‘Y’除以基时钟频率,以确定针对所述具体存储器模块100和/或集线器设备112的‘n’。
图7是可由示例性实施例实现的、使用m∶n比率的样本控制器和存储器接口数据速率的表。使用m∶n计时的存储器系统是相当灵活的,并且可以极大地优化。下表表示各个m和n的值,以及针对133MHz的基时钟频率的数据速率和m∶n比率。某些有趣的整数m∶n比率以‘*’加以强调,以说明那些设置,这些设置可用于按各种控制器通道和存储器设备操作频率重新创建更典型的固定的数据速率比率。
通过按其最高支持速率操作控制器通道、同时按它们的最高支持频率操作存储器模块上的所有存储器设备,示例性实施例可以被用于最大化存储器系统的性能。对于每个存储器模块,连接于控制器通道的每个存储器模块上的存储器设备的频率可以是不同的,从而允许在相同的控制器通道上优化变动速度的存储器设备。
如上所述,可以按计算机实现的过程和用于实践这些过程的装置的形式来体现本发明的实施例。也可以按包含体现在可触摸媒体中的指令的计算机程序代码的形式体现本发明的各实施例,所述可触摸媒体例如为软盘、CD-ROM、硬盘、或任何其它计算机可读存储媒体,其中,当把计算机程序代码加载于计算机并且由计算机执行时,计算机成为用于实践本发明的装置。还可以以计算机程序代码的形式体现本发明,该计算机程序代码无论例如存储在存储媒体中、加载于计算机和/或由计算机执行,还是在诸如电线或电缆乃至光纤的某种传输媒体上、或者经由电磁辐射将其加以传输都是可以的,其中,当把计算机程序代码加载于计算机和由计算机执行时,计算机成为用于实践本发明的装置。当在通用微处理器上实现时,计算机程序代码段配置微处理器以创建特定的逻辑电路。
尽管参考各个示例性实施例描述了本发明,但本领域技术人员知道,在不背离本发明范围的情况下,可以对本发明进行各种改变,并且可以对其要素进行等效替换。另外,在不背离本发明实质范围的情况下,也可以对本发明进行众多的修改,以适应某一具体情况或本发明所讲述的内容。因此,不旨在把本发明限制于所公开的作为实现本发明所考虑的最佳模式的具体实施例,而本发明将包括落入所附权利要求范围内的所有实施例。而且,术语第一、第二等的使用不表示任何次序或重要性,而是把术语第一、第二等用于区分一个要素和另一个要素。
权利要求
1.一种用于获得存储器系统的时钟的方法,该方法包括在集线器设备处接收参考振荡器时钟,集线器设备经由控制器接口与控制器通道进行通信,以及集线器设备经由存储器接口与存储器设备进行通信;从参考振荡器时钟获得基时钟,基时钟按基时钟频率操作;通过把基时钟乘以存储器乘数,获得存储器接口时钟;通过把基时钟乘以控制器乘数,获得控制器接口时钟;把存储器接口时钟施加于存储器接口;以及把控制器接口时钟施加于控制器接口。
2.根据权利要求1所述的方法,其中,从在控制器通道时钟频率上的转发控制器接口总线时钟中获得参考振荡器时钟,所述控制器通道时钟频率是基时钟频率的整数倍。
3.根据权利要求2所述的方法,其中,通过把最大控制器通道时钟频率下舍入到基时钟频率的下一个整数倍来确定控制器通道时钟频率。
4.根据权利要求1所述的方法,其中,从独立分布参考时钟获得参考振荡器时钟,该独立分布参考时钟具有为基时钟频率的整数倍的频率。
5.根据权利要求4所述的方法,其中,通过把参考振荡器时钟的频率除以整数倍来获得基时钟。
6.根据权利要求1所述的方法还包括在第二集线器设备处接收参考振荡器时钟,第二集线器设备经由第二控制器接口与控制器通道进行通信,以及第二集线器设备经由第二存储器接口与第二存储器设备进行通信;通过把基时钟乘以第二存储器乘数,获得第二存储器接口时钟;以及把第二存储器接口时钟施加于第二存储器接口。
7.根据权利要求6所述的方法,其中,第二存储器乘数不同于该存储器乘数。
8.根据权利要求1所述的方法还包括通过把基时钟乘以第二控制器乘数,获得第二控制器接口时钟;以及把第二控制器接口时钟施加于第二控制器接口。
9.根据权利要求1所述的方法,其中,控制器通道时钟频率是存储器模块时钟频率的非整数倍。
10.根据权利要求1所述的方法,其中,通过把最大存储器模块时钟频率除以基时钟频率并且下舍入到最近的整数,计算存储器乘数。
11.根据权利要求10所述的方法,其中,存储器模块时钟频率为由存储器接口所存取的存储器模块的最大操作频率。
12.根据权利要求1所述的方法,其中,通过把最大控制器通道时钟频率除以基时钟频率并且下舍入到最近的整数,计算控制器乘数。
13.根据权利要求12所述的方法,其中,控制器通道时钟频率为所存取的控制器通道的最大操作频率。
14.根据权利要求1所述的方法,其中,基时钟频率为133MHz。
15.根据权利要求1所述的方法,其中,存储器乘数不同于控制器乘数。
16.一种用于获得存储器系统的时钟的计算机程序产品,该计算机程序产品包括存储媒体,其是由处理电路可读的,并且存储着由用于执行权利要求1~15任何一个中的步骤的所述处理电路所执行的指令。
17.一个存储器系统中的集线器设备,该集线器设备包括存储器接口,用于从位于存储器模块上的存储器设备中传输和接收数据,响应于按存储器模块时钟频率操作的存储器接口时钟来产生所述传输和接收;控制器接口,用于响应于按控制器通道时钟频率操作的控制器接口时钟来从控制器通道中传输和接收数据;以及时钟获得机构,用于实施接收参考振荡器时钟;从参考振荡器时钟中获得基时钟,基时钟按基时钟频率操作;通过把基时钟乘以存储器乘数,获得存储器接口时钟;通过把基时钟乘以控制器乘数,获得控制器接口时钟;把存储器接口时钟施加于存储器接口;以及把控制器接口时钟施加于控制器接口。
18.根据权利要求17所述的集线器设备,其中,从在控制器通道时钟频率上的转发控制器接口总线时钟中获得参考振荡器时钟,所述控制器通道时钟频率为基时钟频率的整数倍。
19.根据权利要求17所述的集线器设备,其中,通过把参考振荡器时钟除以控制器乘数来获得基时钟。
20.根据权利要求17所述的集线器设备,其中,从独立分布参考时钟获得参考振荡器时钟,所述独立分布参考时钟具有为基时钟频率的整数倍的频率。
21.根据权利要求20所述的集线器设备,其中,通过把参考振荡器时钟除以整数倍来获得基时钟。
22.根据权利要求17所述的集线器设备,其中,控制器通道时钟频率为存储器模块时钟频率的非整数倍。
23.根据权利要求17所述的集线器设备,其中,存储器乘数可以不同于控制器乘数。
24.根据权利要求17所述的集线器设备,其中,控制器通道为点到点的存储器通道。
25.根据权利要求17所述的集线器设备,其中,控制器通道为多点存储器通道。
26.根据权利要求17所述的集线器设备,其中,控制器通道为菊花链存储器通道。
27.一种存储器系统,包括控制器;与控制器进行通信的控制器通道;一个或多个存储器模块,每个存储器模块包括一个或多个存储器设备;以及一个或多个集线器设备,用于缓存地址、命令以及数据,每个集线器设备与一个或多个存储器模块进行通信,并且经由控制器通道与控制器进行通信,其中,使用从参考振荡器时钟获得的基时钟的倍数,按控制器通道操作频率和存储器设备操作频率来独立地配置每个集线器设备,控制器通道操作频率用于与控制器通道的通信,存储器设备操作频率用于与存储器设备的通信。
28.根据权利要求27所述的存储器系统,其中,从转发控制器接口总线时钟获得参考振荡器时钟。
29.根据权利要求27所述的存储器系统,其中,从独立分布参考时钟获得参考振荡器时钟。
30.根据权利要求27所述的存储器系统,其中,存储器通道为点到点通道。
31.根据权利要求27所述的存储器系统,其中,存储器通道为多点通道。
32.根据权利要求27所述的存储器系统,其中,存储器通道为菊花链通道。
33.根据权利要求27所述的存储器系统,其中,集线器设备位于存储器模块上。
全文摘要
一种用于获得存储器系统的时钟的系统和方法。所述方法包括在集线器设备处接收参考振荡器时钟。集线器设备经由控制器接口与控制器通道进行通信,以及经由存储器接口与存储器设备进行通信。从参考振荡器时钟获得按基时钟频率操作的基时钟。通过把基时钟乘以存储器乘数来获得存储器接口时钟。通过把基时钟乘以控制器乘数来获得控制器接口时钟。存储器接口时钟施加于存储器接口,控制器接口时钟施加于控制器接口。
文档编号G06F13/16GK1959839SQ20061013660
公开日2007年5月9日 申请日期2006年10月31日 优先权日2005年10月31日
发明者凯文·C·高尔, 弗兰克·D·费雷奥洛, 马丁·L·施马茨 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1