控制存储阵列装置以节省更多功率的方法及其相关装置的制造方法

文档序号:10557100阅读:522来源:国知局
控制存储阵列装置以节省更多功率的方法及其相关装置的制造方法【专利摘要】一种存储阵列装置管理方法,包含:执行存储阵列装置的内存池中第一存储单元的第一级收集操作;以及在该第一级收集操作处理该第一存储单元后,执行该存储阵列装置的该内存池中第二存储单元的第二级收集操作;其中该第一级收集操作与该第二级收集操作中的一个操作为页级收集操作,并且该第一级收集操作与该第二级收集操作中的另一个操作为块级收集操作。【专利说明】控制存储阵列装置以节省更多功率的方法及其相关装置[0001]交叉引用[0002]本发明要求如下优先权:编号为61/952,549,申请日为2014年3月13日的美国临时专利申请。上述美国临时专利申请在此一并作为参考。
技术领域
[0003]本发明涉及控制存储阵列装置(memorydevice)。特别地,本发明涉及一种控制存储阵列装置(例如,动态随机存取存储阵列或任意其他存储阵列装置)的以节省更多功率的方法及其相关装置。【
背景技术
】[0004]根据一般发展趋势,处理系统中使用的处理器速度、存储阵列装置速度以及存储容量都随着每代新处理系统而增加。例如,嵌入式系统中使用的存储阵列容量/尺寸持续增大从而满足性能需求。然而,随着存储阵列容量/尺寸的增大,存储阵列功率消耗的副作用也会加大。例如,存储阵列最低电流可为系统电量消耗的最大贡献者。当处理系统为移动平台时,使用存储阵列的移动平台的电池使用时间将缩短。[0005]为了解决上述问题,发展出了几种低功耗功能。例如,双倍速率(DoubleDataRate,DDR)存储阵列的低功耗功能包含全阵列自动更新(FullArraySelf-Refresh,FASR)功能、部分阵列自动更新(PartialArraySelf-Refresh,PASR)功能、深度功率下降(DeepPowerDown,DPD)功能以及功率下降功能。对于PASR功能,其可通过禁能某些存储区段(块)的自动更新从而节省功率。与PASR相比,DPD功能是一种禁止向DDR存储阵列供应大部分电量的改进机制。对于功率下降功能,直接切断对至少部分DDR存储阵列的外部供电。[0006]当处理系统进入挂起模式(suspendmode)时,DDR存储阵列可通过上述低功耗功能中的一种功能取得较低功率消耗。然而,低功耗功能的电量节省性能取决于DDR存储阵列中空闲块的分布与数量。因此,需要一种具有更大电量节省的空闲存储阵列(例如,动态随机存取存储阵列或任意其他存储阵列装置)的新颖设计。【
发明内容】[0007]本发明的一个目的是提供控制存储阵列装置(例如,动态随机存取存储阵列或任意其他存储阵列装置)以节省更多功率的方法及其相关装置。[0008]根据本发明第一方面,揭露一种示例存储阵列管理方法。该示例存储阵列管理方法包含:利用处理器执行存储阵列装置的内存池中第一存储单元的第一级收集操作;以及在该第一级收集操作处理该第一存储单元后,执行该存储阵列装置的该内存池中第二存储单元的第二级收集操作;其中该第一级收集操作与该第二级收集操作中的一个操作为页级收集操作,并且该第一级收集操作与该第二级收集操作中的另一个操作为块级收集操作。[0009]根据本发明第二方面,揭露一种存储阵列装置的示例功率管理方法。该存储阵列装置的示例功率管理方法包含:当处理器处于休眠模式时,利用功率管理代理器实时监测该存储阵列装置的存储阵列存取需求;以及根据该存储阵列装置的该存储阵列存取需求的实时监测结果,控制该存储阵列装置从第一模式切换至第二模式;其中在该第一模式与该第二模式中的一种模式下该存储阵列装置的功率消耗低于在该第一模式与该第二模式中的另一种模式下该存储阵列装置的功率消耗。[0010]根据本发明第三方面,揭露一种存储程序代码的计算机可读媒介。当处理器执行时,该程序代码指示该处理器执行如下步骤:执行存储阵列装置的内存池中第一存储单元的第一级收集操作;以及在该第一级收集操作处理该第一存储单元后,执行该存储阵列装置的该内存池中第二存储单元的第二级收集操作;其中该第一级收集操作与该第二级收集操作中的一个操作为页级收集操作,并且该第一级收集操作与该第二级收集操作中的另一个操作为块级收集操作。[0011]根据本发明第四方面,揭露一种示例电子装置。该示例电子装置包含存储阵列装置以及功率管理代理器。当处理器处于休眠模式时,配置该功率管理代理器实时监测该存储阵列装置的存储阵列存取需求,并且根据该存储阵列装置的该存储阵列存取需求的实时监测结果,控制该存储阵列装置从第一模式切换至第二模式;其中在该第一模式与该第二模式中的一种模式下该存储阵列装置的功率消耗低于在该第一模式与该第二模式中的另一种模式下该存储阵列装置的功率消耗。[0012]对于本领域技术人员来说,在读完下列各种图描述的较佳实施例的细节描述后,能够容易理解本发明的这些以及其他目的。【附图说明】[0013]图1是根据本发明实施例描述的电子装置的区块图;[0014]图2显示在开始空闲块收集前执行的步骤;[0015]图3显示页级收集操作执行的步骤;[0016]图4是块级收集操作执行的步骤;[0017]图5是根据本发明实施例描述的不可收回页及/或不可移动页的分配示意图;[0018]图6是描述的收缩(丢弃)支持文件页(例如,支持文件用户页)的示意图;[0019]图7是描述控制支持文件页(例如,支持文件用户页)移动的示意图;[0020]图8是描述对存储阵列装置进行压缩以产生一个或多个空闲块的示意图;[0021]图9显示执行具有存储阵列压缩的页级收集操作的步骤;[0022]图10显示执行具有所用压缩指标的块级收集操作的步骤;[0023]图11是使用交换池压缩操作以收缩(丢弃)支持交换页(例如,支持交换用户页)的示意图;[0024]图12是使用压缩内存池操作从而收缩(丢弃)不可收回页及/或不可移动页的示意图;[0025]图13是根据本发明实施例描述的存储阵列装置的功率管理方法流程图。【具体实施方式】[0026]在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属
技术领域
的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准贝1J。在通篇说明书及权利要求项中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一个装置耦接于另一装置,则该连接代表可直接电气连接,或通过其它装置与连接手段间接地电气连接。[0027]图1是根据本发明实施例描述的电子装置的区块图。电子装置100可为移动装置的至少一部分(即,部分或全部),例如移动电话、平板电脑、可穿戴装置等。在本实施例中,电子装置100包含存储装置102、一个或多个主装置104_1-104_M、应用处理器(AP)106、功率管理(PM)代理器108以及存储阵列装置110。存储装置102可为非易失性存储器(例如,闪存)、硬盘等。存储阵列装置110可为动态随机存取存储器(DRAM),例如低功耗DDR(LPDDR)存储阵列或任何其他存储阵列装置。存储阵列装置110具有多个块(bank),其中每块具有多个页(例如,缓存页)。此外,存储阵列装置110可分为多个存储空间,至少包含第一存储空间112与第二存储空间114,其中每个存储空间具有一个或多个块,其中可配置第一存储空间112作为内存池(memorypool)113,并且可配置第二存储空间114作为交换池(swappool)115。可将程序代码PROG存入存储装置102中。当电子装置100通电时,可将程序代码PROG加载入存储阵列装置110中用于执行。例如,程序代码PROG可为电子装置100的操作系统。因此,应用处理器106执行从存储阵列装置110加载的程序代码PROG以控制电子装置100的操作。例如,应用处理器106执行程序代码PROG以运行核心功率管理,从而基于软件管理存储阵列装置110的功率消耗。主装置104_1-104_M可为电子装置100中的子系统,并且可发出存储阵列存取请求(例如,读请求与写请求),用于存取存储阵列装置110中的数据。与应用处理器106运行的软件所执行的核心功率管理相比,功率管理代理器108可为硬件电路,用以基于硬件方式管理存储阵列装置110的功率消耗。在本实施例中,运行在应用处理器106中的核心功率管理与功率管理代理器108协作以将功率管理应用于存储阵列装置110,从而取得更大电量节省及/或更长电池使用时间。接下来将详细描述应用处理器106运行的核心功率管理以及使用功率管理代理器108实现的辅助功率管理硬件。[0028]应用处理器106(尤其是,运行在应用处理器106上的核心功率管理)可执行具有/不具有存储阵列压缩(memorycompress1n)的两阶段收集进程,以收集存储阵列装置110中的空闲块。在本实施例中,所提的两阶段收集进程包含第一级收集操作以及第二别收集操作。可在第一存储单元执行第一级收集操作,例如在存储阵列装置110的内存池113中的页(或块)。在第一级收集操作处理第一存储单元后,在第二存储单元执行第二级收集操作,例如在存储阵列装置110的内存池113中的页(或块)。第一级收集操作与第二级收集操作中的一个操作可为页上的页级收集操作,以及第一级收集操作与第二级收集操作中的另一个操作可为块上的块级收集操作。在两阶段收集进程的示例设计中,在页级收集操作开始前,可执行块级收集操作。在两阶段收集进程的另一示例设计中,在完成页级收集操作后可执行块级收集操作。即,可根据实际设计考虑,调整页级收集操作与块级收集操作的执行顺序。[0029]接下来,假设应用处理器106(尤其是,应用处理器106上运行的核心功率管理)执行的两阶段收集进程包含按顺序执行的页级收集操作以及块级收集操作。然而,这仅是为了描述的目的,并不意味着对本发明的限制。在阅读所提两阶段收集进程段落后,本领域技术人员应当容易理解颠倒页级收集操作与块级收集操作的执行顺序是可行的。上述皆可取得更大电量节省及/或更长电池使用时间的相同目标。这样也落入本发明的保护范围。[0030]例如,可配置运行在应用处理器106中的核心功率管理在内存池113中的至少一个块,执行页上的页级收集操作,并且在页级收集处理上述至少一个块后,在多个块上执行块级收集操作,其中至少部分基于页属性,在多个页上执行页级收集操作。[0031]图2-4是根据本发明实施例描述的收集空闲块以缩短唤醒时间以及降低功率消耗的存储阵列管理方法流程图。图2显示在开始空闲块收集前执行的步骤。图3显示页级收集操作执行的步骤。图4是块级收集操作执行的步骤。上述步骤无需按照图2-4中显示的特定顺序执行。此外,可省略图2-4中的一个或多个步骤,并且可增加一个或多个步骤。[0032]应用处理器106可执行程序代码PROG(例如,电子装置100的操作系统)以指导不可收回页及/或不可移动页(unevictableand/orunmovablepage)的分配,从而使用内存池113中的特定存储范围。例如,内核直接使用的大部分页皆不可移动,以及不可收回页是不能因为各种原因调出(即,可收回)的页。本领域技术人员应该容易理解不可收回页与不可移动页的定义,为了简化起见,省略进一步的描述。当在至少部分存储阵列装置110上执行全阵列自动更新(FASR)功能、部分阵列自动更新(PASR)功能、深度功率下降(DPD)功能以及功率下降功能(其切断外部电供应)中的至少一个功能时,在特定存储范围不禁能自更新操作。因此,当由于电子装置100进入挂起模式,存储阵列装置(例如,LTODR内存)110离开正常状态并且进入自更新状态时,不会丢失特定存储范围中的页数据。[0033]图5是根据本发明实施例描述的不可收回页及/或不可移动页的分配示意图。可配置存储空间112中定义的内存池113具有特定存储范围502,其中可在特定存储范围502中安排不可收回页及/或不可移动页。不管使用FASR功能、PASR功能、DH)功能以及功率下降功能(切断外部电供应)中的哪一个,可保持存储在特定存储范围502中的页数据。既然不可收回页及/或不可移动页的部分或全部分布在特定存储范围502中,接下来收集空闲块的操作会更容易并且更有效。对于内存池113中的剩余存储范围504,当在存储范围504中执行PASR功能、DPD功能以及功率下降功能(切断外部电供应)中的至少一个功能时,至少在存储范围504的部分禁能自更新操作。[0034]运行在应用处理器106上的核心功率管理可丢出/释放存储阵列装置110中的干净页,以收集更多空闲页(步骤202),其中干净页意味着页数据为存储在存储装置102中的相应文件数据。此外,运行在应用处理器106上的核心功率管理可将存储阵列装置110中的脏页回写(writeback)入存储装置102中的文件,从而将脏页转变为干净页,接着丢出/释放干净页以收集更多空闲页(步骤204),其中脏页意味着页数据不同于存储在存储装置102中的相应文件数据。[0035]当开始页级收集操作时,运行在应用处理器106上的核心功率管理扫描存储阵列装置110的内存池113的每个块中的页。在步骤302中,运行在应用处理器106上的核心功率管理检查存储阵列装置110是否具有等待页级收集操作的包含页的块。当找到具有等待页级收集操作的页的块时,流程可进入步骤304对块中的页进行扫描。每块中的页可按照页分配方向排布。因此,考虑块具有空闲页(即,未使用的页)情况,根据页分配方向,已使用页将安排在块的前部分(例如,块中的较低存储地址),并且根据页分配方向,空闲页将安排在块的后部分(例如,块中的较高存储地址)。在本实施例中,运行在应用处理器106上的核心功率管理根据页扫描方向扫描块中的页,其中页扫描方向与页分配方向相反。请再次参考图5。存储范围504具有多个块,并且存储范围504中的页可按照页分配方向Dl从较低存储地址到较高存储地址排布。基于图5中所示的页扫描方向D2执行步骤304中的页扫描操作。当页为空闲页时,可忽略接下来的页级收集操作步骤。因此,按照页分配的反方向扫描页可方便页级收集操作。[0036]运行在应用处理器106上的核心功率管理检查页属性以决定页的页类型。在步骤306,运行在应用处理器106上的核心功率管理检查特定页的属性是否指示特定页是支持文件页(file-backedpage)(例如,包含存储装置102中文件支持的用户数据的支持文件用户页)。如果特定页不是支持文件页,则流程进入步骤314以检查是否存在等待页级收集操作的块中页。然而,如果特定页是支持文件页,则流程进入步骤308。[0037]支持文件页意味着存储装置102中的文件支持该页。既然存储阵列装置110中支持文件页的数据也保存在存储装置102中,所以收缩(例如,丢弃)存储阵列装置110中的支持文件页并不会丢失电子装置100中的数据。基于如此观察,本发明提出收缩(丢弃)存储阵列装置110中一个或多个支持文件页以产生存储阵列装置110中一个或多个额外空闲页。在本实施例中,可编程页收缩设置可控制收缩(丢弃)支持文件页。例如,基于可编程页收缩设置取得具有适当配置与强度的收缩(丢弃)支持文件页。因此,可能的情况是允许收缩(丢弃)块中的许多支持文件页,并且不允许收缩(丢弃)相同块中的许多支持文件页。[0038]在步骤308,运行在应用处理器106上的核心功率管理检查是否允许支持文件页(例如,支持文件用户页)收缩。如果允许支持文件页(例如,支持文件用户页)收缩,则流程进入步骤310。在步骤310,运行在应用处理器106上的核心功率管理收缩(丢弃)支持文件页(例如,支持文件用户页)。图6是描述的收缩(丢弃)支持文件页(例如,支持文件用户页)的示例。在本示例中,一个块BK具有多页,包含Page_N、Page_N_l、Page_N_2等。假设页Page_N-2为允许收缩的支持文件页(例如,支持文件用户页),则运行在应用处理器106上的核心功率管理收缩(丢弃)支持文件页(例如,支持文件用户页)以将页Page_N_2转化为空闲页Page—Free0[0039]然而,如果不允许收缩支持文件页(例如,支持文件用户页),则流程进入步骤312。在步骤312,运行在应用处理器106上的核心功率管理控制支持文件页(例如,支持文件用户页)从当前存储地址移动至存储阵列装置110的上述特定存储范围502,其中上述特定存储范围502位于存储阵列装置110中。图7是描述控制支持文件页(例如,支持文件用户页)移动的示意图。在本示例中,一个块BK为上述存储范围504的一部分,并且具有多页,包含Page_N、Page_N_l、Page_N_2等。假设页Page_N_2为不允许收缩的支持文件页(例如,支持文件用户页),则运行在应用处理器106上的核心功率管理控制该支持文件页(例如,支持文件用户页)从当前存储地址移动至存储范围502中的空闲存储地址。如上所示,不可收回页及/或不可移动页会被安排在特定存储范围502,并且当FASR功能、PASR功能、DPD功能以及PD功能(其切断外部电量供应)中的其中至少一个功能在至少部分存储阵列装置110中执行时,特定存储范围502上不禁能自动更新操作。因此,运行在应用处理器106上的核心功率管理将页Page_N_2转变为空闲页Page_Free,其通过将页迀移应用于不允许收缩的支持文件页来达成。[0040]当步骤302发现不存在仍然具有等待页级收集操作的页的块时,运行在应用处理器106上的核心功率管理完成页级收集操作,接着开始块级收集操作。在步骤402,运行在应用处理器106上的核心功率管理基于使用计数将内存池113中的块进行分类。例如,运行在应用处理器106上的核心功率管理基于使用计数将内存池113中的特定块分类,其中每个特定块仅具有可移动页。可通过计数块中的已使用页获取块的使用计数。因此,较大的是已使用页的数量,通过较大值设定使用计数。基于块的使用计数的分类结果,运行在应用处理器106上的核心功率管理区分具有较大使用计数的块与具有较小使用计数的块。[0041]接着,流程进入步骤404。在步骤404,运行在应用处理器106上的核心功率管理运用压缩内存池113中的至少部分块以集合更多空闲块。例如,运行在应用处理器106上的核心功率管理将使用中的至少一个页从具有第一使用计数的第一块移动至具有第二使用计数的第二块,其中该第二使用计数大于该第一使用计数。因此,可通过存储阵列压缩操作减少第一块中的使用页数量。换句话说,由于将具有较小使用计数的一个块中的所有使用页移动至具有较大使用计数的一个或多个块,存储阵列压缩操作使得内存池113具有更多空闲块。图8是描述对存储装置进行压缩以产生一个或多个空闲块的示意图。在本示例中,块BKO与BKl中的每一个块具有六页,其中块BKO具有两个使用页Page_Used以及四个空闲页Page_Free。因此,块BKO的使用计数CNTO设定为2,并且块BKl的使用计数CNTl设定为4。既然块BKO的使用计数CNTO小于块BKI的使用计数CNTI,因此存储阵列压缩操作将至少一个使用页从块BKO移动至块BKl。在本示例中,将块BKO中的所有使用页Page_Used移动至块BKl。如图8所示,块BKO中的使用页Page_Used将替换块BKl中的空闲页Page_Free。因此,在执行存储阵列压缩操作后,块BKO将变为仅具有空闲页Page_Free的空闲块。[0042]在步骤406,运行在应用处理器106上的核心功率管理可操纵(例如,构造或更新)块级信息列表LINF以追踪内存池113中的块使用情况。例如,块级信息列表LINF可记录内存池113中空闲块的存储位置。在本实施例中,除非需要更多的页面安排,否则不释放空闲块或不将空闲块返回系统核心。因此,在当前两级收集进程的块级收集操作生成的块级信息列表LINF可协助下一个两级收集进程的块级收集操作。例如,当块级信息列表LINF指示一个块为空闲块时,对该空闲块无需执行页级收集操作与块级收集操作。这样,可避免不必要的页级操作与块级操作,从而改善性能。[0043]在完成具有所述两级收集进程用于收集空闲块的存储阵列管理方法后,AP106进入休眠模式,并且控制存储阵列装置110进入低功耗模式(例如,自更新状态)。在本实施例中,存储阵列装置110支持低功耗模式下的低功耗功能。例如,存储阵列装置110通过启动FASR功能、PASR功能、DPD功能以及功率下降功能(其切断外部电供应)中的至少一个功能,从而进入低功耗模式,其中存储阵列装置110在低功耗模式(例如,自更新状态)下的功率消耗低于存储阵列装置110在正常模式(例如,正常存储阵列读/写状态)下的功率消耗。而且,当存储阵列装置110离开低功耗模式时,可恢复存储阵列管理方法收缩或移动的页面,以重新开始存储阵列装置110的正常模式,其与AP106—样。在本实施例中,可使用快速唤醒进程。当再次参考收缩(丢弃)支持文件页(例如,支持文件用户页)时,发生页面故障。因此,通过请求分页(demandpaging)可将收缩(丢弃)支持文件页(例如,支持文件用户页)加载入内存池113。换句话说,在唤醒进程期间,无需立即加载收缩(丢弃)支持文件页(例如,支持文件用户页)。[0044]对于图2-4所示的存储阵列管理方法,可增加额外步骤以改善空闲块收集进程。例如,可在页级收集操作中加入存储阵列压缩操作。使用存储阵列压缩可在块级收集操作中提高收集连续空闲块的概率。图2、9以及10显示根据本发明实施例描述的收集具有存储阵列压缩的空闲块的存储阵列管理方法流程图。图9显示执行具有存储阵列压缩的页级收集操作的步骤。图10显示执行具有所用压缩指标的块级收集操作的步骤。图2、9、10中所示的执行步骤无需按照特定顺序执行。此外,可忽略图2、9、10中所示的一个或多个步骤,并且可增加一个或多个步骤。[0045]如上所述,步骤306可检查特定页的属性是否指示该特定页是支持文件页(例如,包含存储装置102中文件支持的用户数据的支持文件用户页)。在本实施例中,当步骤306发现特定页并不是支持文件页时,流程进入步骤902。在步骤902,运行在AP106中的核心PM检查特定页的属性是否指示该特定页是支持交换页(例如,包含交换池115中的用户数据的支持交换用户页,而不是存储装置102)。如果特定页是支持交换页,则流程进入步骤904以及接着进入步骤314。在步骤904,运行在AP106中的核心PM使用交换池115上的压缩操作,收缩(或丢弃)特定页。即,运行在AP106中的核心PM收缩(或丢弃)存储阵列装置110中分配的内存池113中的支持交换页,并且压缩存储阵列装置110的交换池115中储存的对应页。图11是使用交换池压缩操作以收缩(丢弃)支持交换页的示意图。在本示例中,内存池113中的一个块BK具有多页,包含?&86_1?&86_^1、?&86_^2等。假设页面?886_^1是支持交换页(例如,支持交换用户页),则运行在AP106中的核心PM收缩(丢弃)支持交换页(例如,支持交换用户页)以将内存池113中的页Page_N_l变为空闲页Page_Free,并且进一步对交换池115中支持的对应页Page_N_l实施压缩,从而将已压缩页Page_N-l’存储在交换池115中。[0046]如果步骤902发现特定页不是支持交换页,则流程进进入步骤906。在步骤906,运行在AP106中的核心PM检查特定页的属性是否指示该特定页是不可收回页/不可移动页。如上所述,可控制部分或全部不可收回页及/或不可移动页,将其安排至图5所示的特定存储范围502。然而,为了特定原因,也可将一个或多个不可收回页及/或不可移动页安排至内存池113的存储范围504。在发现不可收回页及/或不可移动页位于属于存储范围504的块中情况下,流程进入步骤908。在步骤908,运行在AP106中的核心PM压缩特定页以生成压缩页,将压缩页存入特定存储范围502,并且收缩(丢弃)特定页。图12是使用压缩内存池操作从而收缩(丢弃)不可收回页及/或不可移动页的示意图。在本示例中,块BK具有多页,包含Page_N、Page_N-l、Page_N_2等。假设页Page_N是不可收回页及/或不可移动页,则运行在AP106中的核心PM压缩页Page_N以生成压缩页Page_N’并将该压缩页Page_N’存入特定存储范围502的空闲存储地址。如上所述,可将未压缩的不可收回页及/或不可移动页安排至特定存储范围502,并且当FASR功能、PASR功能、DH)功能以及功率下降功能(其切断外部电供应)中的至少一个功能在至少部分存储阵列装置110上执行时,不禁能特定存储范围502上的自更新操作。此外,运行在AP106中的核心PM可收缩(丢弃)页Page_N以将页为空闲页Page_Free。[0047]接着,流程进入步骤910并且接着进入步骤314。在步骤910,运行在AP106中的核心PM为步骤906中指示的每个特定页生成压缩指标IND,其中压缩指标IND包含压缩相关信息(例如,压缩源地址、压缩目标地址等),并且如图10所示的块级收集操作参考该压缩指标IND。在不同的时刻,系统核心需要不可收回页及/或不可移动页。因此,在压缩特定页生成压缩页并且将其存入特定存储范围502后,系统核心可能需要特定页(其为不可收回页及/或不可移动页)。在这种情况下,可将压缩页解压缩并且重新存入存储范围504。既然特定页是不可收回页及/或不可移动页,则在块级收集进程中不应移动该特定页。因此,块级收集进程可参考特定页的压缩指标IND以避免不必要的页面移动。[0048]关于图2、9、10所示的收集具有存储阵列压缩的空闲块的存储阵列管理方法,页级收集操作使用两种技术,包含页收缩及迀移(步骤308-312)以及存储阵列压缩(步骤902-910)。然而,这仅是为了描述的目的,并不意味着对本发明的限制。例如,使用所述页收缩及迀移(步骤308-312)以及存储阵列压缩(步骤902-910)中的一个或两个的任意两阶段收集进程皆落入本发明的包含范围。[0049]例如,但不限于,当电子装置100的操作系统决定进入挂起模式时,可执行收集空闲块的存储阵列管理方法(例如,图2-4或图2、9、10所示的示例流程)。因此,在完成收集空闲块的存储阵列管理方法后,AP106进入休眠模式,并且控制存储阵列装置110进入低功耗模式(例如,自更新状态),其中,存储阵列装置110可通过启动FASR功能、PASR功能、DTO功能以及功率下降功能(其切断外部电供应)中的至少一个功能,从而进入低功耗模式。当运行在正常模式中时,AP106从存储阵列装置110获取指令与数据,并且执行获取的指令以处理获取的数据。可在存储阵列装置110进入低功耗模式之前配置AP106进入休眠模式。如果使用AP106管理存储阵列装置110的低功耗模式入口以及低功耗模式出口,则AP106需要运行未关闭存储器中的程序代码,例如内部静态随机存储器,其不可避免地提高了硬件成本。在本实施例中,使用辅助硬件模块(例如,PM代理器108)管理存储阵列装置110的低功耗模式入口以及低功耗模式出口。这样,AP106无需额外的未关闭存储器,并可节省硬件成本。而且,PM代理器108容易监测主装置104_1-104_M发出的存储阵列存取请求并且执行适当操作以响应存储阵列装置110的存储阵列存取需求的实时监测结果。接下来将描述存储阵列装置110的功率管理细节。[0050]图13是根据本发明实施例描述的存储阵列装置的功率管理方法流程图。图13中所示的步骤无需按照特定顺序执行。此外,可省略图13所示的一个或多个步骤,并且可增加一个或多个步骤。当电子装置100的操作系统决定进入挂起模式(步骤1301)时,AP106中运行的核心PM执行存储阵列数据重排任务(例如,图2-4或图2、9、10所示的示例流程)以收集空闲块(步骤1302),接着移交存储阵列装置110的控制权给辅助硬件模块(例如,PM代理器108)用于进入休眠模式(步骤1303)。例如,AP106指示PM代理器108开始实时监测存储阵列装置110的存储阵列存取需求,然后进入休眠模式,例如等待中断(WaitForInterrupt,WFI)模式。[0051]当AP106处于休眠模式时,PM代理器108通过检测任意主装置104_1-104_M发出的存储阵列存取请求,实时监测存储阵列装置110的存储阵列存取需求,并且进一步根据存储阵列装置110的存储阵列存取需求的实时监测结果控制存储阵列装置110从第一模式转变为第二模式,其中处于第一模式与第二模式中一种模式的存储阵列装置110的功率消耗低于处于另一模式中的存储阵列装置110的功率消耗。在本实施例中,第一模式为低功耗模式(例如,自更新状态),并且第二模式为正常模式(例如,正常存储阵列读/写状态)。值得注意的是,控制存储阵列装置110在第一模式与第二模式之间进行切换仅是为了描述的目的,并不意味着对本发明的限制。例如,可配置存储阵列装置110支持大于两种不同操作模式的模式切换。[0052]在本实施例中,当实时监测结果指示存储阵列装置110的存储阵列存取需求不存在时,PM代理器108通过启动FASR功能、PASR功能、DH)功能以及功率下降功能(其切断外部电供应)中的至少一个功能,控制存储阵列装置110从第二模式(例如,正常模式)切换至第一模式(例如,低功耗模式),从而使得至少部分存储阵列装置110处于第一模式下的FASR状态、PASR状态、DPD状态以及外部供电切断状态中的至少一种状态(步骤1305)。基于步骤1302中收集的空闲块的分布与数量,PM代理器108决定是否启动FASR功能、PASR功能、DH)功能以及功率下降功能(其切断外部电供应)中的一个或多个功能以节省功率。如果选择DPD功能,则PM代理器108开启DH)进入流程,使得特定存储阵列块/片进入DPD状态(步骤1304_I)。如果选择PASR功能,则PM代理器108开启PASR进入流程,以编码一个或多个模式寄存器(例如,MR16及/或MR17),从而启动存储阵列装置110的一个或多个片段/块上的PASR功能(步骤1304_2)。如果选择功率下降功能,则PM代理108开启功率下降进入流程,以对特定存储阵列块/片切断外面供电(步骤1304_3)。如果选择FASR功能,则PM代理108开启FASR进入流程,以在存储阵列装置110的所有片段/块上启动FASR功能(步骤1304_4)。因此,存储阵列装置110进入具有低功耗功能的低功耗模式(步骤1306)。[0053]值得注意的是,在存储阵列装置110处于低功耗模式后,PM代理器108保持监测存储阵列装置110的存储阵列存取需求,例如通过实时检测任意主装置104_1-104_1发出的存储阵列存取请求(步骤1307)。当实时监测结果指示存储阵列装置110的存储阵列存取需求存在(例如,特定主装置发出存储阵列存取请求)时,PM代理器108控制存储阵列装置110从第一模式(例如,低功耗模式)切换至第二模式(例如,正常模式),从而离开低功耗模式以处理存储阵列存取请求,并且进一步将存储阵列装置110现在可用通知给特定主装置(步骤1308)。值得注意的是,低功耗功能的设定可保持不动。因此,当存储阵列装置110再次进入低功耗模式时,将恢复低功耗功能。[0054]在特定主装置完成存取存储阵列装置110后,特定主装置释放存储阵列存取请求。在这时,实时监测结果指示存储阵列装置110的存储阵列存取需求不存在,PM代理器108控制存储阵列装置110从第二模式(例如,正常模式)切换至第一模式(例如,低功耗模式)从而重新进入低功耗模式(步骤1306)。[0055]进一步地,当事件触发操作系统离开挂起模式时,PM代理器108通过将存储阵列装置110从第一模式(例如,低功耗模式)切换至第二模式(例如,正常模式),开始控制存储阵列装置110离开低功耗模式(步骤1309与1311)。在步骤1305启动PDP功能情况下,PM代理器108开启DPD离开流程,以执行存储阵列复位初始化使得特定存储阵列块/片离开DPD状态(步骤1310_1)。在步骤1305启动PASR功能的另一情况下,则PM代理108开启PASR离开流程,以编码一个或多个模式寄存器(例如,MR16及/或MR17),从而禁能存储阵列装置110的特定片段/块上的PASR功能(步骤1310_2)。在步骤1305启动功率下降功能的另一情况下,则PM代理器108开启功率下降离开流程,以对特定存储阵列块/片执行存储阵列复位初始化并且允许外面供电(步骤1310_3)。在步骤1305启动FASR功能的另一情况下,则PM代理器108开启FASR离开流程,以在存储阵列装置110的所有片段/块上禁能FASR功能(步骤1310_4)。接着,例如,PM代理器108将AP106从休眠模式中唤醒。PM代理器108将对存储阵列装置110的控制权移交至正常模式中的AP106,并且停止实时监测存储阵列装置110的存储阵列存取需求(步骤1312)。[0056]在步骤1313,AP106执行步骤1302中执行的存储阵列数据重排任务所对应的存储阵列数据恢复。例如,解压缩并恢复压缩页。最后,电子装置100的操作系统离开挂起模式并进入正常模式(步骤1314)。[0057]在保持本发明精神的情况下,本领域技术人员容易观察到装置与方法的修改与替换。因此,上述揭露书皆应限定于权利要求书的保护范围。【主权项】1.一种存储阵列装置管理方法,包含:利用处理器执行存储阵列装置的内存池中第一存储单元的第一级收集操作;以及在该第一级收集操作处理该第一存储单元后,执行该存储阵列装置的该内存池中第二存储单元的第二级收集操作;其中该第一级收集操作与该第二级收集操作中的一个操作为页级收集操作,并且该第一级收集操作与该第二级收集操作中的另一个操作为块级收集操作。2.如权利要求1所述的存储阵列装置管理方法,其特征在于,按照页分配方向安排该内存池中至少一个块中的页,并且执行该页级收集操作的步骤包含:根据页扫描方向扫描该页,其中该页扫描方向与该页分配方向相反。3.如权利要求1所述的存储阵列装置管理方法,其特征在于,该内存池的至少一个块中存在页,并且执行该页级收集操作的步骤包含:至少部分基于该页的属性,执行该页的该页级收集操作。4.如权利要求3所述的存储阵列装置管理方法,其特征在于,至少部分基于该页的该属性执行该页的该页级收集操作的步骤包含:当特定页的属性指示该特定页为支持文件页并且允许该特定页收缩时,收缩该特定页。5.如权利要求4所述的存储阵列装置管理方法,其特征在于,在收缩该特定页后,通过请求分页将该特定页加载入该内存池。6.如权利要求3所述的存储阵列装置管理方法,其特征在于,至少部分基于该页的该属性执行该页的该页级收集操作的步骤包含:当特定页的属性指示该特定页为支持文件页并且不允许该特定页收缩时,控制该特定页迀移至该内存池的特定存储范围。7.如权利要求6所述的存储阵列装置管理方法,其特征在于,当在至少部分该存储阵列装置中执行全阵列自动更新(FASR)功能、部分阵列自动更新(PASR)功能、深度功率下降(DPD)功能以及切断外部供电功能中的至少一个功能时,在该特定存储范围不禁能自更新操作。8.如权利要求6所述的存储阵列装置管理方法,其特征在于,在该特定存储范围安排不可收回页及/或不可移动页。9.如权利要求3所述的存储阵列装置管理方法,其特征在于,至少部分基于该页的该属性执行该页的该页级收集操作的步骤包含:当特定页的属性指示该特定页为支持交换页时,收缩该内存池中的该特定页并且压缩存储在该存储阵列装置的交换池中的对应页。10.如权利要求3所述的存储阵列装置管理方法,其特征在于,至少部分基于该页的该属性执行该页的该页级收集操作的步骤包含:当特定页的属性指示该特定页为不可收回页及/或不可移动页时,压缩该特定页以生成压缩页,将该压缩页存入该内存池的特定存储范围,并且收缩该特定页。11.如权利要求10所述的存储阵列装置管理方法,其特征在于,当在至少部分该存储阵列装置中执行全阵列自动更新(FASR)功能、部分阵列自动更新(PASR)功能、深度功率下降(DPD)功能以及切断外部供电功能中的至少一个功能时,在该特定存储范围不禁能自更新操作。12.如权利要求10所述的存储阵列装置管理方法,其特征在于,至少部分基于该页的该属性执行该页的该页级收集操作的步骤进一步包含:生成该特定页的压缩指标,其中该压缩指标包含该特定页的压缩相关信息,并且该块级收集操作参考该压缩指标。13.如权利要求1所述的存储阵列装置管理方法,其特征在于,在该内存池中存在多个块,并且执行该块级收集操作的步骤包含:对该多个块的至少部分块执行压缩,包含:将使用的至少一个页从具有第一使用计数的第一块移动至具有第二使用计数的第二块,其中该第二使用计数大于该第一使用计数。14.如权利要求13所述的存储阵列装置管理方法,其特征在于,执行该块级收集操作的步骤包含:操纵块级信息列表以追踪该多个块的使用情况。15.一种存储阵列装置的功率管理方法,包含:当处理器处于休眠模式时:利用功率管理代理器实时监测该存储阵列装置的存储阵列存取需求;以及根据该存储阵列装置的该存储阵列存取需求的实时监测结果,控制该存储阵列装置从第一模式切换至第二模式;其中在该第一模式与该第二模式中的一种模式下该存储阵列装置的功率消耗低于在该第一模式与该第二模式中的另一种模式下该存储阵列装置的功率消耗。16.如权利要求15所述的功率管理方法,其特征在于,进一步包含:使用该处理器命令该功率管理代理器开始实时监测该存储阵列装置的该存储阵列存取需求;以及配置该处理器进入该休眠模式。17.如权利要求15所述的功率管理方法,其特征在于,进一步包含:使用该功率管理代理器唤醒该处理器;以及配置该功率管理代理器停止实时监测该存储阵列装置的该存储阵列存取需求。18.如权利要求15所述的功率管理方法,其特征在于,进一步包含:当该实时监测结果指示不存在该存储阵列装置的该存储阵列存取需求时,控制该存储阵列装置从该第二模式切换至该第一模式,其中该存储阵列装置的至少部分处于该第一模式下的全阵列自动更新(FASR)功能、部分阵列自动更新(PASR)功能、深度功率下降(DPD)功能以及切断外部供电功能中的至少一种功能。19.如权利要求15所述的功率管理方法,其特征在于,控制该存储阵列装置从该第一模式切换至该第二模式的步骤包含:当该实时监测结果指示存在该存储阵列装置的该存储阵列存取需求时,控制该存储阵列装置从该第一模式切换至该第二模式,其中在处于该第一模式下的该存储阵列装置的至少部分执行全阵列自动更新(FASR)功能、部分阵列自动更新(PASR)功能、深度功率下降(DPD)功能以及切断外部供电功能中的至少一种功能。20.一种存储程序代码的计算机可读媒介,其中当处理器执行时,该程序代码指示该处理器执行如下步骤:执行存储阵列装置的内存池中第一存储单元的第一级收集操作;以及在该第一级收集操作处理该第一存储单元后,执行该存储阵列装置的该内存池中第二存储单元的第二级收集操作;其中该第一级收集操作与该第二级收集操作中的一个操作为页级收集操作,并且该第一级收集操作与该第二级收集操作中的另一个操作为块级收集操作。21.—种电子装置,包含:存储阵列装置;以及功率管理代理器,其中当处理器处于休眠模式时,配置该功率管理代理器实时监测该存储阵列装置的存储阵列存取需求,并且根据该存储阵列装置的该存储阵列存取需求的实时监测结果,控制该存储阵列装置从第一模式切换至第二模式;其中在该第一模式与该第二模式中的一种模式下该存储阵列装置的功率消耗低于在该第一模式与该第二模式中的另一种模式下该存储阵列装置的功率消耗。【文档编号】G06F1/32GK105917289SQ201580002574【公开日】2016年8月31日【申请日】2015年3月13日【发明人】张锦文,阎学斌,周宏霖,吕国贤,简光廷,刘志杰,尼古拉斯·秦辉·郑【申请人】联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1