用于监视和管理存储器块以改善节电的系统和方法

文档序号:6496511阅读:148来源:国知局
用于监视和管理存储器块以改善节电的系统和方法
【专利摘要】用于将存储器的一部分置于低功率模式的系统和方法。一种系统,包括热点区域生成器,其被配置为确定存储器的多个区域中的每个区域活动水平,其中区域中的某些区域被确定为活跃区域,以及其中区域中的某些区域被确定为不活跃区域,以及被配置为重新布置数据以将活跃区域数据放置于存储器的连续活跃部分中以及将不活跃区域数据放置于存储器的连续不活跃部分中。存储器控制器,被配置为将存储器的连续不活跃部分置于低功率模式中。
【专利说明】用于监视和管理存储器块以改善节电的系统和方法
[0001]相关申请的交叉引用
[0002]本申请要求于2011年9月19日提交的、题为“Monitoring and Managing RAMBlocks to Improve Power Saving on Application Processors” 的美国临时专利申请第 61 / 536,258 号,以及于 2012 年 6 月 13 日提交的、题为 “Method to Manage MemorySubsystem to Create Hot and Cold Spot Segments”的美国临时专利申请第61 / 659,238号的优先权。这两篇文献通过参考全文并入于此。
【技术领域】
[0003]本文描述的技术大体上涉及存储器管理,并且更具体地涉及用于节电(powersaving)的存储器管理。
【背景技术】
[0004]典型的存储器,例如随机访问存储器(RAM)接收作为输入的地址,并且作为响应,输出一个或多个与该地址相对应的数据值作为输出。这类存储器典型地被供电,其中系统在这些存储器处于接通状态的任何时段期间会经历恒定的功率汲取。

【发明内容】

[0005]提供了用于将存储器的一部分置于低功率模式的系统和方法的示例。一种系统,包括热点区域生成器,其被配置用于确定存储器的多个区域中的每个区域的活动水平,其中该区域的某些区域包含数据,其中该区域的某些区域被确定为活跃区域,并且其中该区域的某些区域被确定为不活跃区域,以及被配置为重新布置数据以将所述活跃区域数据放置于存储器的连续活跃部分中以及将不活跃区域数据放置于存储器的连续不活跃部分中。存储器控制器,其被配置为将存储器的连续不活跃部分置于低功率模式。
[0006]作为另一不例,一种将存储器的一部分置于低功率模式的方法包括:确定存储器的多个区域中的每个区域的活动水平,其中该区域的某些区域包含数据,其中该区域的某些区域被确定为活跃区域,并且其中该区域的某些区域被确定为不活跃区域。重新布置数据以将活跃区域数据放置于存储器的连续活跃部分中以及将不活跃区域数据放置于存储器的连续不活跃部分中。将存储器的连续不活跃部分置于低功率模式中。
[0007]作为进一步地示例,一种片上系统,包括了数据处理器和响应与该数据处理器的非瞬时计算机可读存储器。热点区域生成器,其被配置用于确定存储器的多个区域中的每个区域的活动水平,其中该区域的某些区域包含数据,其中该区域的某些区域被确定为活跃区域,并且其中该区域的某些区域被确定为不活跃区域,并且该热点区域生成器被配置用于重新布置数据以将活跃区域数据放置于存储器的连续活跃部分中以及将不活跃区域数据放置于存储器的连续不活跃部分中。存储器控制器,被配置用于将存储器的连续不活跃部分置于低功率模式中。【专利附图】

【附图说明】
[0008]图1是描绘被配置用于将存储器的一部分置于低功率模式中的系统的框图。
[0009]图2是描绘可以被热点区域生成器和存储器控制器控制的存储器的示例划分的框图。
[0010]图3是描绘示例存储器访问分布的图形。
[0011]图4是描绘将活动水平分配到存储器区域的图形,其中有2个活跃水平可用于分配。
[0012]图5是描绘所确定的多个存储器区域中每个存储器区域的活跃水平的框图。
[0013]图6是描绘已经被重新布置成将将活跃区域的数据置于存储器的连续活跃部分中的存储器的框图。
[0014]图7是描绘已经被重新布置成将将活跃区域的数据置于存储器的连续活跃部分中并将被占但不活跃的区域置于存储器的连续被占部分中的存储器的示例框图。
[0015]图8是描绘热点区域生成器的示例部件的框图。
[0016]图9是描绘遵循数据重新布置的示例存储器的图。
[0017]图10是描绘经由使用热点分布确定活动水平的框图。
[0018]图11是描绘调整存储器的功率模式的流程图。
[0019]图12是描绘基于存储器访问的近期分布控制存储器功率模式的系统的框图。
[0020]图13是描绘将存储器的一部分置于低功率模式的方法的流程图。
[0021]图14是描绘重新布置存储器中的数据的处理的流程图。
[0022]图15是描绘被配置用于将存储器的一部分置于低功率模式的片上系统的框图。
【具体实施方式】
[0023]图1是描绘被配置用于将存储器的一部分置于低功率模式中的系统的框图。此系统包括热点区域生成器102。热点区域生成器102被配置用于确定存储器104的多个存储区域中每个存储区域的活动水平。某些存储区域104被确定为活跃区域,某些存储区域104被确定为不活跃区域。热点区域生成器102还被配置成重新布置如图6所示的存储器104内的数据以将活跃区域放置于存储器的连续活跃部分内,以及将不活跃区域放置于存储器的连续不活跃部分内。系统还包括存储器控制器108,其被配置成将存储器的连续不活跃部分110置于低功率模式
[0024]热点区域生成器102能够监视和管理存储器区域(例如:随机访问存储器(RAM)),以产生如下的热点区域,该热点区域能够被杠杆地调节以便通过向正被活跃访问的存储器104部分提供更高功率水平来获得改善的功耗。例如,热点区域生成器102在比如移动消费电子产品等功率受限的系统中可以是有益的。热点区域生成器102也能被应用于按需系统的存储器(RAM)中,其中访问器的区域被置于不同的功率模式(例如,高功率模式、低功率模式、禁用模式)以改善功耗特征。
[0025]系统中的存储器访问倾向于根据分布而发生。例如:某个应用或操作系统可以以不同于其他应用或操作系统的不同频率访问某些存储器位置。另外,正在执行一个类型活动的系统可以倾向于访问比其他更多的某些存储器位置,而用于其它类型的活动的存储器访问分布可以有所不同。存储器访问分布可以受包括以下的多种因素影响:[0026]-系统架构-系统架构可以被划分为多个控制器或芯片选择配置。这些配置可以产生将被不同外围设备或其他子系统访问的直接存储器访问地址。在特定活动类型期间哪些外围设备和子系统活跃将影响在该活动进行期间的存储器访问分布。
[0027]-存储器地址翻译-存储器地址翻译会定义了地址映射结构。例如:系统可以被配置为块(bank)-行-列(BRC)访问或行-块-列(RBC)访问。在BRC翻译模式下,存储器地址映射在地址和物理位置之间在存储器阵列水平是线性的。而在RBC模式下,块与块之间的访问分布倾向于更加均匀分布。
[0028]-缓存架构-缓存架构可以影响存储器访问的频率和分布。当缓存容量很大并且系统正在执行驻留于该缓存中的循环代码时,存储器的访问倾向于较少。
[0029]-软件架构及使用-分配和释放存储器部分可依赖于软件存储器结构。例如:系统可以向驱动器或者应用部件分配特定保留的存储器。当该驱动器或应用正被用于当前活动中时,被分配的存储器会被更加频繁的访问,而其他不活跃的驱动和应用将不会访问分配给它们的存储器区域。
[0030]这些及其它的一些因素导致以下的存储器访问分布,该存储器访问分布可以被热点区域生成器102所使用以改善系统的功率使用表现。热点区域生成器102可以监视当前系统存储器访问以确定存储器的访问分布,或者热点区域生成器102可以利用关于当前活动或即将到来的活动(例如,在使用中的操作系统,在使用中的当前应用,正被执行的当前活动,将要执行的即将到来的活动)的预定义信息以调整存储器104来改善功率使用表现。
[0031]图2是描绘可以被热点区域生成器和存储器控制器控制的存储器(例如,双倍数据速率同步动态随机访问存储器(DDR SDRAM))的示例划分的框图。热点区域生成器202确定多个存储器204的活动水平,并且根据那些活动水平重新布置存储器204中的数据。存储器控制器206将存储器204的一部分置于低功率状态,以在操作该存储器时实现节电。例如,热点区域生成器202可以监视到访问器204的多个存储器块(例如改1,块2...等)的存储器访问(例如,读和写请求)。热点区域生成器204可以比如通过计算访问每个特定页面(例如,块3-区域1,块3-区域2,块3-区域3,块3-区域4)的请求而监视那些块中的那些页面(或者1-多个页面的那些区域)被访问。通过这些计数,热点区域生成器202确定那些区域的每个区域的活动水平(例如,块3-区域1-高活跃,块3-区域4-中活跃,块3-区域2-低活跃)。热点区域生成器202然后可以根据活动水平重新布置数据。例如,热点区域生成器202可以把活跃区域的数据集中放置在存储器的连续的活跃部分中;把中活跃区域的数据集中放置在存储器的连续的中活跃部分中;以及把低活跃区域的数据集中放置在存储器的连续的低活跃部分中。然后可以相应地设置存储器部分的功率设置(例如,存储器的高活跃区域被置于高功率模式,存储器的中等活跃区域被置于中等功率模式,存储器的低活跃区域被置于低功率模式或禁用模式)。
[0032]图3是描绘示例存储器访问分布的图。在图3的示例中,存储器被分为了许多容器(bin),这些容器中的地址(例如:页,行)的存储器访问进行计数。所计数的存储器访问主要落在3个容器内:第一个容器302位于低存储器地址,第二个容器304位于中存储器地址,第三个容器306页位于中存储器地址。基于这些计数,热点区域生成器可以确定这些特定区域302,304,306的活动水平。
[0033]热点区域生成器所确定的精确的活动水平可以取决于活动水平的方案定义(scheme definition)。例如:一种方案定义可以规定存储区域可以被确定为2种状态中的一种:活跃区域和不活跃区域。在另一种方案中,存储器区域可以被定义为高活动水平区域,中活动水平区域和低活动水平区域。也可以应用具有其他数目的活动类型。例如,对热点区域生成器而言可用的多个活动水平可以基于能够被热点区域生成器或者其他存取器控制器控制的多个存储器活动模式(例如高功率模式,中功率模式,低功率模式,禁用)。
[0034]在一个有3种活动水平可用于分配的示例中,区域306可以被确定为高活动区域,区域302和304可以被确定为中活动水平区域,并且剩余区域可以被确定为低活动区域。在另一个有2种活动水平可用于分配的示例中,区域302,304,306可以被确定为活动区域,剩余的区域可以被确定为不活动区域。
[0035]图4是描绘将活动水平分配给其中有2个活动水平可以用于分配的存储器区域的另一图形。图4描绘了存储器的8个块,其中存储器的每个块被分为了 16个存储器区域。存储器的区域(页)被确定为活动区域(以实心块表示)或非活动区域(以空白标识)。某些存储器块(例如:块O)在每个区域处都具有被探测到的存储器访问(或高于存储器访问的阈值数量)。其他存储器块(例如:块I和块7)在任何区域都没有探测到存储器访问。其他存储器块(例如:块2,块3,块4,块5,块6)在一些区域具有探测到的存储器访问而在其他区域不具有探测到的存储器访问。
[0036]图4所描述的存储器在所有存储器块在系统运行期间被供电时可以展示出比最优功率使用特征更少的功率使用特征。例如,提供给块I和块7的功率在那些存储器块未被预计访问时可能是一种浪费的开销。在一种示例中,通过将块I和块7配置为低功率模式而可以节省功率,因为块I和块7中所包含的数据在当前活动(例如,由当前应用、当前操作系统、正被应用执行的当前活动所引起)期间不太可能被需要。在将块I和块7变为低功率模式所实现的节电,比在接收用于访问那些存储块中的数据的请求的情况下而激活那些存储块的成本有价值时,这样的配置可能是期望的。
[0037]节电更进一步的改进可以通过实施存储器中的数据的重新布置来实现。图5-7给出了这种重新布置的示例。图5是描绘多个存储器区域的每个存储器区域的所确定的活动水平的框图。热点区域生成器502确定某些区域(例如:某些存储块的某些页)504为活跃区域,某些区域506是已占用但不活跃的区域,并且某些其他区域是未已占用的非活跃区域。块1-508和块7-510仅包括未已占用的不活跃区域。因此,如上所示,可以通过将那些块508和510置为低功率模式或禁用模式来实现节电。
[0038]附加的节电可以通过重新布置存储器中包含的数据来实现。图6是描绘已经被重新布置以将活跃区域数据放置于存储器的连续活跃部分中的存储器的框图。基于对存储器的不同区域的活动水平的分配,热点区域生成器602被配置成对数据进行重新布置以将活跃区域数据604放在存储器的连续活跃部分(即图6示例中,在低存储器地址的热点区域)中。这种重新布置可以使用各种重新布置算法来完成,如本文参照图14中更加详细描述的。在一个示例中,来自存储器的被确定为活跃区域的每个区域的数据与低存储器地址遭遇到的、不与活跃区域相关联的第一数据或空白的存储相交换。当数据存在在下一个不活跃数据区域时,则当前数据与来自活跃区域的正被移除的数据交换(例如:在606的活跃数据与在608的不活跃数据进行交换)。当没有数据存在在下一个不活跃数据位置时,将来自活跃区域的数据置于该空白空间中(例如:在610的数据被放到块I的空白空间中)。经过重新布置,块O和块I包含活跃数据,其被视为热点区域,并被维持在活跃功率模式。存储器的剩余部分,即块2-7,被视为不活跃区域,并被置于低功率模式或禁用模式。在另一个替换方式中,包含已占用的但不活跃数据的块2、块4和块5可以被置为低功率模式,而块
3、块6和块7被置于禁用模式。这种配置相对于其中仅两个块能够被置于禁用模式的图5而言可以提高功率性能。
[0039]可以以各种方式追踪数据的重新布置和交换。例如:可以实施数据重新布置映射,以将在先的存储器地址翻译为当前存储器地址。例如:驻留于块6中的活跃区域存储器在重新布置时可以被移到块2。数据重新布置映射可以追踪这次移动,从而使得当应用或硬件试图以它的旧位置地址访问数据时,该旧位置地址可以被翻译成重新布置后的当前地址。因为在一些示例中,使用该数据重新布置映射,节电所产生的益处与地址翻译相关的时间成本相比更有价值,所以热点区域生成器602的运行产生对系统的净增益。
[0040]图7是描绘已经被重新布置成将活跃区域数据放置在存储器的连续活跃区域中并且将已占用的但不活跃区域放置在存储器的连续的已占用部分中的存储器的框图。在图7中,热点区域生成器已经将存储器的某些区域标识为活跃区域、将存储器的某些区域标识为已占用的不活跃区域以及将某些区域标识为未占用的不活跃区域。热点区域生成器702重新布置数据,使得将活跃区域数据放置在存储器的连续活跃部分704中,并且使得将已占用的但不活跃区域数据放置在存储器的连续已占用部分706中。在一个示例中,存储器的包含活跃区域数据的区域被视为热点区域708并被放置为高功率模式。存储器的包含已占用的但不活跃数据的区域被视为低功率区域710并被置为低功率模式。存储器的不包含数据的区域被视为禁用区域712并被置于禁用模式(块3,块4,块5,块6,以及块7被禁用)。在另一个示例中,热点区域708可以被置为活跃模式,以及低功率区域710和禁用区域712被置为禁用模式以实现附加的节电(块2,块3,块4,块5,块6,以及块7被禁用)。
[0041]请注意,在不同的实施方式中,可以以不同的粒度水平来分配功率模式。例如,在一个实施方式中,可以以块水平来分配功率模式。在另一个示例中,可以以区域水平来分配功率模式。当可以以比活动水平被分配所按的水平更高的粒度水平(例如芯片水平)来分配功率模式时(例如:功率模式以块水平进行分配,而活动水平以页水平进行确定),可以调整该重新布置,使得来自不同活动水平区域的数据被分配给存储器的不同部分(例如块)(如以下图10所描绘的)。
[0042]图8是描绘热点区域生成器800的示例组件的框图。存储器区域标记器802被配置用于确定多个存储器区域中的每个区域的活动水平。存储器区域标记器802基于接收到的存储器访问统计804进行这些确定。存储器访问统计804可以描述近期时间段期间的存储器访问分布。在另一个示例中,存储器访问统计804可以基于各种因素,比如正在运行的当前应用;当前应用运行的当前活动、任务或线程;或正在运行的当前操作系统来描述预计的存储器访问分布。
[0043]存储器交换引擎806与存储器808进行交互,以影响存储器内的数据的重新布置。例如,存储器交换引擎806可以重新布置存储器808内的数据以将活跃区域数据放置在存储器的连续活跃部分中或者将不活跃区域数据放置在存储器的连续的不活跃部分中。存储器交换引擎806可以通过在多个区域,比如存储器块区域之间移动或交换数据以将类似活动水平的数据放置在一起来对数据进行重新布置。存储器交换引擎806提供在重新布置期间防止访问存储器808的某些部分的访问阻止信号810,以避免数据损坏或访问不确定的数据值。控制器812基于所接收的配置814和使能816信号与存储器区域标记器802和存储器交换引擎806交互。该配置信号814可以指定多个参数,比如可以通过存储器区域标记器802确定的不同活动水平的数量(例如,高活动、低活动、已占用的不活跃活动、未占用的不活跃活动)和划定不同活动水平的阈值(例如:存储器访问次数)。
[0044]图9是描绘对数据进行重新布置的示例存储器的图。存储器902已经被重新布置过,从而已经按块O、块I和块2将实心块表示的活跃区域数据放置在存储器的连续活跃部分中。已经按块3、块4、块5、块6和块7将空白表示的不活跃区域数据放置在存储器的连续不活跃部分中。在一个示例中,存储器控制器被配置为将存储器的包括块3、块4、块5、块6和块7的连续不活跃部分置于低功率或禁用模式以影响节电。
[0045]图10是描绘经由使用热点分布(usage hot spot profiles)确定活动水平的框图。热点区域生成器1002接收表示处理器执行的当前或即将活动的类型的处理器活动类型1004。例如,处理器活动1004可以标识当前操作系统、当前运行应用,或者处理器执行的当前/即将任务、活动或处理。基于处理器活动1004,热点区域生成器1002访问多个使用热点分布1006中的一个。使用热点分布1006是基于针对特定处理器活动的存储器访问的预计分布。例如,在当前的处理器活动与视频文件的回放相关联时,存储器访问倾向于跟随特定的分布。对照而言,在当前处理器活动正在解决非确定多项式时间难题(non-deterministic polynomial-time hard problem)时,存储器的访问分布可以相当地不同。使用热点分布1006针对特定处理器活动指示存储器1008的哪些区域可能是活跃区域以及存储器1008的哪些区域可能是不活跃区域。热点区域生成器1002基于所接收的处理器活动1004访问使用热点分布1006,并且使用该被访问的使用热点分布1006确定多个存储器1008中的每个存储器的活动水平。热点区域生成器1002重新布置数据以将活跃区域数据放置于存储器的连续活跃器部分(热点区域)中,以及将不活跃区域数据放置于存储器的连续不活跃部分(低功率区域和/或禁用区域)中。存储器控制器1010调整存储器1008不同区域的功率分布(power profile)以匹配预期的活动水平。
[0046]使用热点分布1006使得能够基于当前或即将的处理器活动1004动态调整存储器的不同区域的功率分布。当处理器活动1004改变或准备改变时,该处理器动作1004被提供给热点区域生成器1002。热点区域生成器1002基于新接收的处理器活动1004访问使用热点分布1006。热点区域生成器1002根据新访问的使用热点分布1006确定多个存储器区域中的每个区域的活动水平,并基于新确定的活动水平重新布置存储器中的数据。存储器控制器1010随后基于重新布置的数据调整存储器1008的不同区域的功率分布。这样的配置使得系统能够提供针对处理器的活动而紧密定制的存储器功耗控制。
[0047]图11是描绘调整存储器的功率模式的流程图。在1102,接收处理器活动类型的改变,以及在1104,基于所接收的活动类型访问热点分布。在1106,基于所访问的热点分布确定数据是否需要进行重新布置(在1104所访问的热点分布指示存储器区域的活动水平没有改变时,可能不需要进行重新布置)。如果不需要进行改变,在1108,某些存储器访问计数器和其他统计可能被复位,并且处理终止。如果需要重新布置,在1110,对存储器的某些区域的访问被暂时阻止以避免在重新布置期间的结果不确定或数据损坏。在1112,基于使用热点分布所确定的活动水平重新布置数据的区域。在1114,在数据已经被重新布置之后更新翻译表,比如数据重新布置映射以使得能够定位存储器中的数据。在1116,确定是否需要进行进一步的重新布置被确定(例如,基于热点分布另一个存储器中的存储器需要重新布置)。如果需要进一步重新布置,则执行“是”分支,并且在1110,1112,1114执行进一步重新布置。如果不需要进一步重新布置,在1118,调整存储器的不同区域的功率模式、恢复对存储器的访问,在1120,某些统计被复位,并且处理终止。
[0048]图12是描绘基于存储器访问的近期分布来控制存储器功率模式的系统的框图。热点区域生成器1202与一个或多个计数寄存器1204交互。计数寄存器1204被配置为对存储器的多个区域的每个区域的访问请求(例如,存储器读取和存储器写入请求)进行计数。因此,计数寄存器1204建立了存储器访问的近期分布。热点区域生成器1202基于计数寄存器1204的计数值标识存储器的哪些区域为活跃或不活跃。例如,存储器的区域在特定的时间段期间对该区域的访问超过超过阈值的次数时,或者在该时间段期间对该区域的访问占比超过所有存储器的访问的阈值比例时,可以被视为存储器的活跃区域。在触发事件(例如,经过阈值时间段,处理器活动的改变)发生时,热点区域生成器1202基于使用计数寄存器1204的计数所确定的活动水平来重新布置存储器1206中的数据。存储器控制器1208基于活动水平调整存储器1206的不同区域的功率水平。图12所描绘的热点区域生成器1202的实施方式使得能够基于近期的系统活动来控制存储器的功耗。
[0049]图13是描绘将存储器的一部分置于低功率模式的方法的流程图。在1302,确定多个存储器区域中的每个区域的活动水平,其中某些区域包含数据,其中某些区域被确定为活跃区域,而某些区域被确定为不活跃区域。在1304,重新布置数据以将活跃区域的数据放置于存储器的连续活跃器部分中。在1306,重新布置数据以将不活跃区域数据放置于存储器的连续不活跃部分中。在1308,存储器的连续不活跃部分被置于低功率或禁用模式或操作中。
[0050]图14是描绘重新布置存储器中的数据的处理的流程图。该存储器包含多个存储器块,其中每个存储器块包含多个存储器块区域。在1402,具有零个活跃区域的存储器块被标识为完全睡眠(空闲)块,而在1404,具有零个不活跃区域的存储器块被标识为完全活跃块。在1406,具有多于零个活跃区域和多于零个不活跃区域的存储器块被标识为部分活跃块。在1408,标识部分活跃块中的最活跃块和最不活跃块。在1410,将活跃区域从最不活跃块转移到最活跃块。在1412,当最活跃块不与完全活跃块之一相连时,将最活跃块与另一块交换以将活跃块分组在一起。这种交换可以是物理交换,从而将数据从一个存储器块交换到另一个存储器块;或者该交换可以是逻辑交换,其调整与两个被交换的存储器块相关联的块编号标识符。
[0051]在1408,对最活跃块和最不活跃块的标识可以以各种方式实施。在一个示例中,具有最活跃区域的部分活跃块被标识为最活跃块,而具有最少数目的活跃区域的部分活跃块被标识为最不活跃块。在另一个示例中,与存储器的标识目标段(例如,存储器的低地址部分、存储器的高地址部分、存储器的指定中间地址部分)最接近的部分活跃块被标识为最为活跃块,而与存储器的远端段最接近的部分活跃块被标识为最不活跃块。在进一步的实施例中,与存储器的标识目标段最接近的部分活跃块或完全睡眠块被标识为最活跃块,而与存储器的远端段最接近的部分活跃块被标识为最不活跃块。
[0052]图15是描绘被配置为将存储器的一部分置于低功率模式中的片上系统1500的框图。系统1500包含核心数据处理器1502和非瞬时计算机可读介质1504,该计算机可读介质1504被描述为响应于核心数据处理器1502的DDR存储器。系统1500包含被配置为确定存储器1504的多个区域中的每个区域(比如,存储器块1508,以及这些存储器块1508的区域、行或其他划分)的活动水平的热点区域生成器1506。热点区域生成器1506进一步被配置为重新布置存储器1504中的数据以将活跃区域数据放置到存储器1504的连续活跃部分中,并且将不活跃区域数据放置到存储器1504的连续不活跃部分中。存储器控制器1510被配置为连续不活跃部分(例如:某些存储器块1508)置于低功率模式。系统1500还包括其他外部设备和关联接口,比如闪存1512、音频外设1514和液晶显示器1516。这些外设可以直接比如经由直接存储器访问与存储器1504交互,或可以经由存储器控制器1510或者其他中间硬件与存储器1504进行交互。
[0053]本申请使用示例阐述本发明。本发明的专利范围可以包含其它示例。
【权利要求】
1.一种将存储器的一部分置于低功率模式的方法,包括: 确定存储器的多个区域中的每个区域的活动水平,其中所述区域的某些区域被确定为活跃区域,以及其中所述区域的某些区域被确定为不活跃区域; 将所述活跃区域的数据放置于所述存储器的连续活跃部分中,以及将不活跃区域的数据放置于所述存储器的连续不活跃部分中;以及 将所述存储器的连续不活跃部分置于低功率模式中。
2.根据权利要求1所述的方法,其中,所述区域的某些区域被确定为已占用的但不活跃的区域, 其中重新布置所述数据以将所述已占用的但不活跃区域放置在存储器的连续的已占用部分中, 其中将所述存储器的连续的已占用部分置于与所述低功率模式不同的另一低功率模式中。
3.根据权利要求1所述的方法,其中所述低功率模式禁用所述存储器的连续不活跃部分。
4.根据权利要求1所述的方法,其中所述存储器的所述区域是所述存储器的页,以及其中被置入所述低功率模式中的所述存储器的连续不活跃部分包括一个或多个存储器块。
5.根据权利要求5所述的方法,还包括, 接收表示处理器执行的当前或即将活动的类型的活动类型;以及基于所述活动类型访问多个热点分布中的一个热点分布,其中被访问的热点分布被用于确定所述区域的活动水平,其中哪些区域被确定为活跃区域以及哪些区域被确定为不活跃区域跨所述多个热点分布而变化。
6.根据权利要求1所述的方法,还包括: 接收更新的活动类型; 基于所述更新的活动类型访问不同的热点分布;以及 基于所述不同的热点分布重新布置所述数据。
7.根据权利要求1所述的方法,还包括: 在一段时间内对所述存储器的所述多个区域中的每个区域访问的数目进行计数, 其中基于所计数的访问的数目确定所述多个区域中的每个区域的活动水平;以及 其中基于触发事件对数据进行重新布置。
8.根据权利要求7所述的方法,其中,所述触发事件是经过一段时间或者处理器的活动类型的改变。
9.根据权利要求1所述的方法,其中所述存储器包括多个存储器块,其中每个存储器块包含多个存储器块区域,并且其中重新布置所述数据还包括: 将具有零个活跃区域的存储器块标识为完全睡眠块; 将具有零个不活跃区域的存储器块标识为完全活跃块; 将具有多于零个活跃区域以及多于零个不活跃区域的存储器块标识为部分活跃块; 将具有最活跃区域的部分活跃块标识为最活跃块; 将具有最不活跃区域的部分活跃块标识为最不活跃块; 将活跃区域从最不活跃块转移至最活跃块;以及在所述最活跃块不与所述完全活跃块之一相连时将所述最活跃块与另一块交换。
10.根据权利要求1所述的方法,其中所述存储器包括多个存储器块,其中从目标段到远端段连续地布置所述存储器块,其中每个存储器块包括多个存储器块区域,并且其中重新布置所述数据还包括: 将具有零个活跃区域的存储器块标识为完全睡眠块; 将具有零个不活跃区域的存储器块标识为完全活跃块; 将具有多于零个活跃区域以及多于零个不活跃区域的存储器块标识为部分活跃块; 将与所述目标段最接近的部分活跃块标识为最活跃块; 将与所述远端段最接近的部分活跃块标识为最不活跃块; 将活跃区域从所述最不活跃块转移至所述最活跃块;以及 在所述最活跃块不与所述完全活跃块之一相连时将所述最活跃块与另一块交换。
11.根据权利要求1所述的方法,其中所述存储器包括多个存储器块,其中从目标段到远端段连续地布置所述存储器块,其中每个存储器块包括多个存储器块区域,并且其中重新布置所述数据还包括: 将具有零个活跃区域的存储器块标识为完全睡眠块; 将具有零个不活跃区域的存储器块标识为完全活跃块; 将具有多于零个活跃区域以及多于零个不活跃区域的存储器块标识为部分活跃块; 将与所述目标段最接近的部分活跃块或者完全睡眠块标识为标识的块; 将与所述远端段最接近的部分活跃块标识为最不活跃块; 将活跃区域从所述最不活跃块转移至标识的块;以及 在所述标识的块不与所述完全活跃块之一相连时将所述标识的块与另一块交换。
12.—种将存储器的一部分置于低功率模式的系统,包括: 热点区域生成器,其被配置为: 确定存储器的多个区域中的每个区域的活动水平,其中所述区域中的某些区域被确定为活跃区域,以及其中所述区域中的某些区域被确定为不活跃区域;以及 将所述活跃区域的数据放置于所述存储器的连续活跃部分中,以及将所述不活跃区域的数据放置于所述存储器的连续不活跃部分中;以及 存储器控制器,被配置为将所述存储器的连续不活跃部分置于低功率模式中。
13.根据权利要求12所述的系统,其中所述热点区域生成器被配置为确定所述区域中的某些区域为已占用的但不活跃的区域, 其中所述热点区域生成器被配置为重新布置所述数据以将所述已占用的但不活跃的区域放置于存储器的连续的已占用部分中, 其中所述存储器控制器被配置为将所述存储器的连续的已占用部分置于与所述低功率模式不同的第二低功率模式中。
14.根据权利要求12所述的系统,其中所述热点区域生成器进一步被配置为: 接收表示处理器执行的当前或即将活动的类型的活动类型;以及 基于所述活动类型访问多个热点分分布的一个热点分布,其中所述热点区域生成器使用被访问的热点分布以确定所述区域的活动水平,其中哪些区域被确定为活跃区域以及哪些区域被确定为不活跃区域跨所述多个热点分布而变化。
15.根据权利要求14所述的系统,其中所述热点区域生成器还被配置为: 接收更新的活动类型; 基于所述更新的活动类型访问不同的热点分布;以及 基于所述不同的热点分布重新布置所述数据。
16.根据权利要求12所述的系统,还包括: 计数器,被配置为在一段时间内对所述存储器的所述多个区域中的每个区域访问的数目进行计数, 其中所述热点区域生成器被配置为基于所计数的访问的数目确定所述多个区域中的每个区域的活动水平;以及 其中所述热点区域生成器被配置为基于触发事件对数据进行重新布置。
17.根据权利要求12所述的系统,其中所述存储器包括多个存储器块,其中每个存储器块包含多个存储器块区域,以及其中所述热点区域生成器被配置为通过以下各项重新布置所述数据: 将具有零个活跃区域的存储器块标识为完全睡眠块; 将具有零个不活跃区域的存储器块标识为完全活跃块; 将具有多于零个活跃区域 及多于零个不活跃区域的存储器块标识为部分活跃块; 将具有最活跃区域的部分活跃块标识为最活跃块; 将具有最不活跃区域的部分活跃块标识为最不活跃块; 将活跃区域从所述最不活跃块转移至所述最活跃块;以及 在所述最活跃块不与所述完全活跃块之一相连时将所述最活跃块与另一块交换。
18.根据权利要求12所述的系统,其中所述存储器包括多个存储器块,其中从目标段到远端段连续地布置所述存储器块,其中每个存储器块包括多个存储器块区域,并且其中所述热点区域生成器被配置为通过以下各项重新布置所述数据: 将具有零个活跃区域的存储器块标识为完全睡眠块; 将具有零个不活跃区域的存储器块标识为完全活跃块; 将具有多于零个活跃区域以及多于零个不活跃区域的存储器块标识为部分活跃块; 将与所述目标段最接近的部分活跃块标识为最活跃块; 将与所述远端段最接近的部分活跃块标识为最不活跃块; 将活跃区域从所述最不活跃块转移至所述最活跃块;以及 在所述最活跃块不与所述完全活跃块之一相连时将所述最活跃块与另一块交换。
19.根据权利要求12所述的系统,其中所述存储器包括多个存储器块,其中从目标段到远端段连续地布置所述存储器块,其中每个存储器块包括多个存储器块区域,并且其中所述热点区域生成器被配置成通过以下各项重新布置所述数据: 将具有零个活跃区域的存储器块标识为完全睡眠块; 将具有零个不活跃区域的存储器块标识为完全活跃块; 将具有多于零个活跃区域以及多于零个不活跃区域的存储器块标识为部分活跃块; 将与所述目标段最接近的部分活跃块或者完全睡眠块标识为标识的块; 将与所述远端段最接近的部分活跃块标识为最不活跃块; 将活跃区域从所述最不活跃块转移至所述标识的块;以及在所述标识的块不与所述完全活跃块之一相连时将所述标识的块与另一块交换。
20.—种被配置为将存储器的一部分置于低功率模式的片上系统,包括: 数据处理器; 响应于所述数据处理器的非瞬时计算机可读存储器; 热点区域生成器,其被配置为: 确定存储器的多个区域中的每个区域的活动水平,其中所述区域中的某些区域被确定为活跃区域,以及其中所述区域中的某些区域被确定为不活跃区域;以及 将所述活跃区域的数据放置于所述存储器的连续活跃部分中,以及将所述不活跃区域的数据放置于所述存储器的连续不活跃部分中;以及 存储器控制器,被配置为将所述存储器的连续不活跃部分置于低功率模式中。
【文档编号】G06F12/02GK103842975SQ201280045492
【公开日】2014年6月4日 申请日期:2012年9月14日 优先权日:2011年9月19日
【发明者】O·扎鲁尔 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1