存储器子系统中功率管理的方法与设备的制作方法

文档序号:6419337阅读:143来源:国知局
专利名称:存储器子系统中功率管理的方法与设备的制作方法
技术领域
发明涉及计算机系统中系统存储器的功率管理,特别是,本发明涉及存储器子系统中的功率管理。
背景技术
传统上,由于存储器芯片,特别是同步动态随机存储器(SDRAMs)芯片的运行速度较低,它产生的功率没有受到重视。例如,一般SDRAMs芯片的运行速度为66兆赫,而以此速度运行的SDRAMs芯片产生的功率很低。但是,随着SDRAMs运行速度的增加以及Rambus动态随机存储器(RDRAMs)的诞生,存储器运行的速度已有了大幅度的提高。当前,SDRAMs的运行速度可以达到100兆赫,而RDRAMs的时钟运行速度可达400兆赫、传输速率高达800兆赫。以如此高的速度运行,存储器设备的内部就会产生相当大的功率(如,对RDRAMs而言,功率可达2.1瓦)。如此大的功率极有可能在存储器设备中产生散热的问题。
当前一种消除产生过多功率的方法是削减存储器的带宽。此方法的不利因素是降低了存储器的性能。另一种方法是对存储器芯片使用散热器或风扇,或二者兼用,以减少高速运行的存储器产生的热量。但是这种方法也有其缺点,这些器件需要额外的成本和空间。所以,最好能找到一种管理存储器芯片产生的功率的方法和设备。
发明概述根据本发明的一个实施例,公开了一种管理存储器系统功率的方法。存储器系统包括多个存储器设备。每个存储器设备都归入第一组和第二组。首先,请求访问存储器设备,然后确定该存储器设备是否位于第一组中。如果该被请求存储器设备并不位于第一组中,则要看第一组是否已经满容。如果第一组尚未满容,则将该存储器设备转移至第一组中。


通过下面的详细阐述和各种发明实施方案的附图,本发明将更易理解。但是,附图仅供解释和理解之用,本发明的实施方案并不局限于附图的实施方案中,。
图1是计算机系统的一种实施方案框图;图2是计算机系统的一种实施方案框图;图3是一种依据本发明实施方案的功率管理的模块图;图4是依据本发明的一种实施方案的功率管理模块的操作流程图;图5是计算机系统的一种实施方案的框图;图6是依据本发明一种实施方案,代表存储器控制器连接电路的逻辑框图;图7是依据本发明一种实施方案的功率管理的模块图;图8是一种功率管理模块实施方案的操作流程图。
发明详述图1是计算机系统100的框图。计算机系统100包括总线101、一个中央处理器105、一个存储器控制器110和一个存储器单元115。中央处理器105处理从存储器单元115或从计算机系统100从其它内外存储器设备接收到的信息。进而,存储器控制器110与存储器单元115连接,以进行存取处理。
存储器单元115通过总线101与存储器控制器110相连接。根据一种实施方案,存储器单元115是一个Rambus动态随机存储器(RDRAMs)。存储器单元115可能是一个单独的RDRAM(D-RDRAM),或是一个并行的RDRAM。RDRAM是一种通过Rambus信道总线来传送数据的高速存储器接口。总线101的这根Rambus信道保证了存储器控制器110与存储器单元115之间的通信。在一种实施方案中,总线运行的时钟速度高达400兆赫,数据传输速率可达800兆赫。
存储器单元115包括Rambus流式存储器模块(Rambus In-lineMemory Module RIMM)120、130和140。在本领域中,一种常用的技术是存储器单元115有多个可替代的RIMM。RIMM120、130和140分别包含存储器设备123、133和143,这些存储器设备与中央处理器105连接以实现对数据的读写。每个RIMM包括一个与总线101相连的输入通道与输出通道(为避免混淆而未标示)。总线101与各个RIMM相连且在各个RIMM中与存储器设备并行通信。此外,RIMM中的各个存储器设备有三种运行状态激活、备用或睡眠。存储器设备在准备传输数据或正在传输数据时均处于激活状态。如果存储器设备并不即刻准备传输数据,则处于备用状态。当存储器设备在功率消耗减少时处于睡眠状态,例如当存储器设备长时间未被访问时,这种情况就会发生。
在RIMM 120的输入信道处接入总线101。总线101在RIMM 120中与各存储器设备123相连。总线101在输出信道处从RIMM 120接出,并在RIMM 130的输入信道接入。在RIMM 130中,总线101与各存储器设备133相接后又从通道出口接出。进而,总线101接入RIMM 140并与各存储器设备143相连。最后,总线101在RIMM 140的通道出口接出,在线路终端102终止。
根据一种实施方案,每个RIMM 120、130和140都包括8个存储器设备。因此,共有24个存储器设备与总线101相连。但是,本领域的技术人员可以理解RIMM 120、130和140可包括任意多个存储器设备。例如,RIMM 120可包含16个存储器设备123,RIMM 130与140可分别包含8个存储器设备。另外,存储器控制器110可通过多条总线与多个存储器单元相连。例如,图2展示了另一种实施方案,其中存储器控制器110通过总线101、102和103分别与存储器单元115a-115c相连。然而,该领域的一种通常技术采用可替换的多个存储器单元与存储器控制器110连接。
如上所述,每个RIMM可包含多个存储器设备(如4个、8个、12个、16个等等)。当一个RIMM上的全部存储器设备均处于激活状态,RIMM产生的总功率将会很高(如达到6.4瓦)。过多功率会在RIMM中产生过热问题。图3表示功率管理模块300的一种实施方案。该实施方案中,功率存储模块300位于存储器控制器110中,对分别在RIMM120、130与140中的存储器设备123、133与143的运行进行管理。
功率控制模块300包括设备池310与350。与总线101相连的各存储器设备都在逻辑上归入池310或者池350。归入池310的存储器设备可进一步地分为子池314与318。池310中处于激活状态的所有存储器设备共同组成子池318。池310中处于备用状态的所有存储器设备共同组成子池314。
按照一种实施方案,在池310中的存储器设备一次最多可为8个。另外,任何时候在池318中的存储器设备至多只能有4个处于激活状态。在进一步的实施方案中,池310中的存储器设备与子池318中的激活存储器设备的最大数目是可改变的,并可编程控制。该实施方案中,计算机系统100的用户可以自行设计池310中存储器设备的最大数目以及子池318中的激活存储器设备的数目。没有被归入池310的存储器设备均位于池350。池350中的设备或处于备用状态,或处于睡眠状态。
在计算机系统100启动时,所有存储器设备在逻辑上归入池350。池350中的存储器设备只能通过子池318进入池310。仅在存储器控制器110发出可访问的要求时,池350中的存储器设备方可进入子池318。存储器设备只能从子池318进入子池314。只有在所有的开放行都关闭(例如,行处于非激活状态)时,存储器设备方可进入子池314,设备置于备用状态。另外,当一存储器设备需要从池350或子池314中移入子池318中,而318又已经满容时,一个在318中存储器设备就会转到314中。在这种情况下,子池318中近期使用最少(LRU)的设备将被转移到子池314中。
仅当存储器控制器110发出发出可访问的要求时,子池314中存储器设备方可进入子池318。存储器设备只能从子池314进入池350。只要当另一存储器设备需从子池318移入子池314中、而314又已经满容时,有一个存储器设备就会从子池314中转到池350中。这种情况下,子池314中LRU设备将转移到池350中。
根据一种实施方案,存储器控制器110中可包含一个计时器,如果子池318中的某存储器设备在预定的时间内还没被访问,该计时器就先将子池314中的一个存储器设备移到池350中,然后将318中的存储器设备移到314中。在另一种实施方案中,还有一个计时器可专门用来将在设定时间内没有被访问的存储器设备从314转移到350。
图4是功率控制模块300处理运作的一种实施方案流程图。在处理块405处,对存储器单元115的RIMM中的一个存储器设备发出访问请求。接着,在处理块410处,确定受请求的存储器设备是否位于设备池310中。如果确定该设备是在池310中,接着确定该设备是否位于子池318中,即处理块415。如果存储器设备并不位于318中,控制将返回给处理块405,在那里会对另一个存储器设备发出访问请求。如果确定存储器设备不在池310中,或者虽然在310中但不在318中,就要确定该设备是否在子池314中,即处理块420。
如果确定了受请求的存储器设备位于子池314,那么再确定子池318是否满容,即处理块425。如果子池318已满,则子池318中的近期最少使用存储器设备逻辑上转移到子池314中,即处理块430。在处理块435中,存储器设备逻辑上从子池314移动到318中,并被激活。如果子池318未满,存储器设备将直接从子池314移动到子池318并被激活,即处理块435。
如果在处理块420处确定存储器设备不在子池314中,就要确定池310是否满容,即处理块440。如果子池310已满,子池314中的近期最少使用的存储器设备逻辑上转移到池350中,即处理块445。如果子池310未满或者在314中的近期最少使用的存储器设备已经转移到池350中了,就需确定子池318是否满容,即处理块450。如果子池318已满,则其中的近期最少使用的存储器设备逻辑上转移到子池314中,即处理块455。在处理块460,存储器设备逻辑上从池350移动到子池318,并被激活。如果子池318未满,存储器设备可直接从池350移动到子池318中,并被激活,即处理块460。
在另一实施方案中,池310和350支持多条总线(或通道)运行,正如图2所示。该实施方案中,池在逻辑上将多条通道看作一条通道。例如,除包含来自多条通道的存储器设备外,池310的定义是一致的。而且,池350代表的也是处于睡眠或备用状态的通道。与睡眠状态的通道相连接的各存储器设备也处在睡眠状态。与此相似,与备用状态的通道相连接的各个存储器设备也处在备用状态。
图5是计算机系统500的一种实施方案框图。计算机系统500包括一条总线501、一个存储器控制器510、一个存储器单元515和中央处理器105。如上所述,由中央处理器105来处理从存储器单元515或计算机系统500的其他内外设备接收到的信息。存储器控制器510与中央处理器105连接。存储器控制器510与存储器单元515连接以进行存储器处理。
存储器单元515通过总线501与存储器控制器110连接。根据一种实施方案,存储器单元515是同步动态随机存储器(SDRAM)。SDRAM是一种能与中央处理器105的时钟速度协调或同步的动态随机存储器(DRAM)。总线501是一条允许存储器控制器510与存储器单元515通信的DRAM总线。总线501的运行速度可达到133兆赫。
存储器单元515包括双片流式存储器模块(DIMMs)520、530和540。DIMMs520、530和540分别含存储器设备523、533和543,这些存储器设备与中央处理器105及其他设备相连接以实现数据的读取。一个DIMM可包括一个或多个存储器行。DIMM中的各存储器行通过总线501与存储器控制器510连接。例如,图6是存储器控制器510与存储器单元515之间的连接电路逻辑示意图,其中,DIMMs520、530和540在存储器单元515中呈分列状的存储器设备。另外,存储器单元515中的各存储器行或者在激活/等待状态下运行,或者在关闭电源状态下运行。当位于DIMM中的存储器设备准备转移或正在转移数据时,存储器行是在激活/等待状态下。当存储器行中的存储器设备长时间未被访问时,存储器行处于关闭电源状态。
总线501在行520的入口处接入并与各存储器设备523连接。另外,总线501在行DIMM530的入口处接入并与各存储器设备533连接。而且,总线501在DIMM540的入口处接入,并与各存储器设备543连接。根据一种实施方案,存储器单元515由三排DIMMs(例如DIMMs520、530和540)组成。然而,本领域的通常技术主张在存储器单元515上连接附加的DIMM。
根据进一步的实施方案,每个DIMM含4个存储器设备。因此,每个存储器行上有4个存储器设备与总线501相连。然而,本领域的通常技术主张DIMMs520、530和540分别包含不同数量、不同池的存储器设备。例如,DIMM520可以包含16个存储器设备523,DIMM530与DIMM540可以分别包含8个存储器设备533和543。
如上文对存储器单元115的探讨,如果全部存储器设备都在激活/等待状态,一个DIMM产生的总功率将会非常高。图7表示功率控制模块700。功率控制模块700位于存储器控制器510内并管理着DIMMs520、530与540的活动。
功率控制模块700包含设备池710与750。与总线501相连的各存储器行分别归入池710或池750。池710中的存储器行全部处于激活/等待状态。不在池710中的存储器行都归入池750。于是,所有处于关闭电源状态的存储器行都在池750中。根据一种实施方案,一次仅有一个存储器行可在池710中。但是,可位于池710中的存储器行最大数目可以编程控制。该实施方案中,计算机系统500的用户可自行设计池710中存储器设备的最大数目。
计算机系统500启动时,所有存储器行逻辑上归入池750。池750中的存储器行仅当存储器控制器510向该存储器行中的一个存储器设备发出访问请求时方可进入池710。另外,凡需将另一个存储器行从750移到710中而710已经满容时,就要把一个存储器行从710移到750中。这种情况下,选择池710中的近期最少使用的设备转移到750中。所有开放的页面都关闭后才能将设备移入750中。根据一种实施方案,一个计时器位于存储器控制器510中,如果存储器行中有某个存储器设备在预定的时间内未被访问,就会从池710移送到750中。
图8是功率控制模块700处理过程的实施方案流程图。在处理块705,向存储器单元515中存储器行的一个存储器设备发出访问请求。然后,在处理块710处,确定DIMM是否位于池710中。如果确定存储器行位于710中,控制将返回到处理块805,在那里对另一存储器设备发出存取请求。如果确定存储器行不在池710中,则需判断池710是否已满,即处理块815。
如果池710已满,710中的近期最少使用的存储器行逻辑上将转移到750中,即处理块820。在处理块825,受访问请求的存储器行逻辑上从750移动到710并转换为激活/等待状态。如果池710未满,此存储器行将直接从池750移到710并转换为激活/等待状态,即处理块825。本领域的技术通常主张本发明也可在其它存储器器系统中实施,例如同步链接DRAMS、EDO DRAMS等等。
上文即是一种对存储器功率管理的方法与设备的阐述
权利要求
1.在由多个存储器设备构成的一个存储器系统中,其中所述的多个存储器设备都分类属于第一组或第二组,一种功率控制的方法,包括请求访问第一存储器设备;确定该存储器设备是否划分为所述的第一组;如果结论为否,确定该第一组是否已满容;如果未满容,把该存储器设备转移到该第一组中。
2.权利要求1的方法,划分到所述的第一组的多个存储器设备都进一步划分为第一子组与第二子组。
3.权利要求2的方法,还包括如果所述的第一存储器设备划分为所述的第一组,确定该存储器设备是否划分到所述的第一子组;如果结论为否,则再确定该存储器设备是否归入第二子组。
4.权利要求3的方法,还包括如果所述的第一存储器设备划分入所述的第二子组中,确定该第一子组是否满容;如果结论为否,则把该存储器设备转移到该第一子组。
5.权利要求4的方法,还包含以下步骤如果该第一子组已满,把该第一子组中的第二存储器设备先转移到该第二子组中;
6.权利要求5的方法,所述的第二存储器设备是指第一子组中的近期最少使的用存储器设备。
7.权利要求2的方法,还包括如果所述的第一组已满,把该第二子组中的第二存储器设备转移到该第二组;确定所述的第一子组是否满容;把属于所述第一子组的第三个存储器设备转移到该所述的第二子组中。
8.权利要求7的方法,所述的第一组与所述的第一子组的容量均是可编程设计的。
9.权利要求7的方法,所述的第二存储器设备是该第一组中的近期最少使的用存储器设备,而所述的第三个存储器设备是第一子组中的近期最少使用的设备。
10.权利要求2的方法,还包括如果第一组已满,确定第一子组是否满容;并且把属于第一子组中所述的第二存储器设备转移到第二子组中。
11.权利要求2的方法,属于第一子组的存储器设备都处于激活状态,而归入第二子组的存储器设备都处于备用状态。
12.权利要求2的方法,第一组中的存储器设备或处于激活状态或处于备用状态,而第二组中的存储器设备或处于睡眠状态或处于备用状态。
13.权利要求2的方法,还包括如果所述的第二存储器设备在设定的时间内未被访问,就将它从第二子组转移到第二组中去。
14.权利要求2的方法,还包括如果所述的第二存储器设备在设定的时间内未被访问,就将它从第二子组转移到第二组中去;和如果所述的第三个存储器设备在预定的时间内未被访问,也将它从第一子组转移到第二子组中去。
15.权利要求2的方法,存储系统是Rambus动态随机存储器(RDRAM)。
16.在由多个行构成的同步动态随机存储器(SDRAM)系统中,每行包含多个存储器设备,所述的多个行的每一个划分为第一组与第二组;一种功率的管理方法包括首先向第一个行中的第一个存储器发出存取请求;确定该第一行是否属于第一组;如果结论为否确定第一组是否满容;如果未满容,将该行转移到第一组。
17.权利要求16的方法,进一步包含,当第一组满容时,把第二行转送到第二组中。
18.权利要求17的方法,第二行是第一组中近期最少使用的。
19.权利要求17的方法,第一组的容量是可编程的。
20.权利要求16的方法,第一组中的行处于激活状态,而第二组中的行处于电源关闭状态。
21.权利要求16的方法,还包含如果第二行在设定时间内未被访问,则将它从第一组转移到第二组中。
22.一种计算机系统,包括Rambus动态随机存储器(RDRAM),包含多个分别以激活、备用或睡眠状态运行着的存储器设备;和存储器控制器,将激活状态的存储器设备归为第一池,将处于睡眠状态的存储器设备归入第二池,从而对RDRAM产生的功率进行控制。
23.权利要求22的计算机系统,第一池又进一步分为第一子池与第二子池,其中,所有处于激活状态的存储器设备逻辑上归入第一子池,而所有处于备用状态的存储器设备逻辑上归入第二子池。
24.权利要求23所述的计算机系统,经存储器控制器存取后,第一存储器设备就从第一池转移到第二池。
25.权利要求24所述的计算机系统,如果第一池已满,则第一池中第二存储器设备将转移到第二池中。
26.权利要求24所述的计算机系统,如果第一子池已满,第二存储器设备从第二子池转移到第二池,和第一子池中的第三个存储器设备将转移到第二子池。
27.权利要求25所述的计算机系统,第一池的容量是可以编程的。
28.权利要求26所述的计算机系统,第一子池的容量是可以编程的。
29.权利要求26所述的计算机系统,存储器控制器还带有一个计时器,如果第一池中的第一个存储器设备在预定的时间内未被存储器控制器访问,就把第一存储器设备转移到第二池。
30.权利要求24所述的计算机系统,存储器控制器还带有一个计时器,如果第二子池中的第一存储器设备在预定的时间内未被存储器控制器存取,就把第一存储器设备转移到第二池中去,和将第一子池中的第二存储器设备转移到第二子池中去。
全文摘要
根据本发明的一个实施方案,公开了一种管理存储器系统功率的方法。存储器系统包括多个存储器设备(310,350)。每个存储器设备都被归入第一组和第二组(314,315)。首先,将存储器设备的访问定位于第一组(410)中,然后确定第一组是否满容(440)。如果第一组尚未满容,该存储器设备转移至第一组中(450)。按照进一步的实施方案,每个归于第一组的存储器设备还进一步分为第一子组和第二子组。
文档编号G06F1/32GK1332864SQ99815416
公开日2002年1月23日 申请日期1999年11月3日 优先权日1998年11月4日
发明者P·K·尼扎 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1