存储器资源管理方法和装置的制造方法_2

文档序号:9910942阅读:来源:国知局

[0034]本实施例提供一种存储器资源管理方法和装置,该方法包括:首先根据各个缓存单元对应的第一指示信息和第二指示信息确定可回收的缓存单元,其中,所述第一指示信息和所述第二指示信息均由至少一个比特组成,所述第一指示信息表示所述缓存单元是否被占用,所述第二指示信息表示所述缓存单元已被占用的缓存单元回收周期数,进而,回收所述可回收的缓存单元。其中,会设置一缓存单元回收周期数,当某个缓存单元被占用的时间达到预设的缓存单元回收周期数时,则将该缓存单元强制收回,有效提高缓存单元的利用率,进而增加了系统带宽的利用率。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1所示为共享缓存的基本实现框图;
[0037]图2所示为存储器的资源管理的状态变更图一;
[0038]图3所示为存储器的资源管理的状态变更图二;
[0039]图4所示为本发明提供的存储器资源管理方法流程图;
[0040]图5所示为缓存单元回收周期的示意图;
[0041]图6所示为缓存单元回收周期到来时的bitmap表处理的示意图;
[0042]图7所示为接收到缓存单元回收指令后的处理示意图;
[0043]图8所示为初始化的示意图;
[0044]图9所示为分配缓存单元的示意图;
[0045]图10所示为本发明实施例提供的存储器资源管理装置的结构示意图一;
[0046]图11所示为本发明实施例提供的存储器资源管理装置的结构示意图二。
【具体实施方式】
[0047]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]现有技术中用于管理共享缓存的装置为bitmap表,结合图1、图2和图3所示,其中,用bitmap表中的Ibit指示共享缓存的一个缓存单元是否被占用,该Ibit在bitmap表中的位置即是对应的缓存单元在共享缓存中的地址。当有命令需要处理时,输入处理模块向缓存管理模块申请一个缓存单元,缓存管理模块对bitmap表进行查找,如果bitmap表中有缓存单元空闲的指示,则分配一个空闲的缓存单元,例如分配的为缓存地址为2的缓存单元,则将缓存地址为2的缓存单元对应的bi tmap表中那Ibi t标志为已被占用,也即将bi tmap表中那Ibit从I变更为O。命令相关数据写入分配的缓存单元,该缓存单元地址与命令待处理信息送往下级模块;命令处理完,存储数据被读出缓存单元后,缓存管理模块回收该缓存单元,继续按照上述的例子,存储在缓存地址为2对应的缓存单元中的数据被读出,然后回收缓存地址为2对应的缓存单元,并将对应的bitmap表中那Ibit标志未被占用,也即,将bitmap表中那Ibit从O变更为I。
[0049]当由于某些原因,无法完成命令的处理,从而导致缓存管理模块无法接收到待回收的缓存地址,导致此缓存地址对应的缓存单元将一直被占用(直到系统复位或是bitmap初始化)。
[0050]这样随着系统运行时间变长,可用存储空间由于资源的泄漏必然会越来越小,造成系统带宽降低,性能下降。
[0051]为了解决上述问题,发明人发现,可以设定一缓存单元回收周期,这样,即使无法完成命令的处理,当某个缓存单元被占用的时间达到预设缓存单元回收周期数时,即可将该缓存单元回收,从而无需等待系统复位,有效提高缓存单元的利用率。
[0052]以下通过各实施例具体介绍本发明的技术方案。
[0053]图4所示为本发明提供的存储器资源管理方法流程图,如图4所示,本实施例的方法可以包括:
[0054]步骤101、根据各个缓存单元对应的第一指示信息和第二指示信息确定可回收的缓存单元,其中,第一指示信息和第二指示信息均由至少一个比特组成,第一指示信息表示缓存单元是否被占用,第二指示信息表示缓存单元已被占用的缓存单元回收周期数。
[0055]在本发明中,上述第一指示信息和第二指示信息同样可以组成bitmap表,为了描述方便,第一指示信息称为USE(占用)域(表示对应的缓存单元是否被占用),第二指示信息称为AGE(老化)域(表示对应的缓存单元是否需要老化),其中缓存单元回收周期可根据现有的命令发出到响应返回的估计时间来配置,并且可大于最大的估计时间,其他的确定方法也同样适用,本发明不对其加以限制。
[0056]在实际的使用中,可以实时的检测是否有可以回收的缓存单元,但这样做会导致整个系统的处理能力下降,为了有效减小在确定可回收的缓存单元的过程中的系统处理资源的消耗,可按照一定的周期去监测是否有可以回收的缓存单元,该周期可以是用户自定义的,也可以是提前预设的,本发明中以上述提到的缓存单元回收周期为例,进行说明。
[0057]当缓存单元回收周期到达时,首先根据USE域确定哪些缓存单元已被占用,当确定了已被占用的缓存单元后,再确定该些缓存单元对应的AGE域是否已被占用η个缓存单元回收周期,其中,η为大于等于I的正整数,如果是,则确定该些已被占用且已经占用η个缓存单元回收周期的缓存单元为可回收的缓存单元,其中,η表示预先设置的缓存单元寿命周期数,也即,当某一缓存单元被占用η个缓存单元回收周期后则强制回收该缓存单元。
[0058]而值得注意的是,如果根据USE域已经确定了该些缓存单元为已被占用的缓存单元,但该些缓存单元对应的AGE域表示该些缓存单元并没有被占用η个缓存单元回收周期,而是被占用了 m个缓存单元回收周期,其中,m为小于等于η的正整数,此时将该些被占用了 m个缓存单元回收周期的缓存单元的AGE域值变更为m+f,也即,变更为该些缓存单元被占用了 m+f个缓存单元回收周期,其中,f为大于等于I的正整数(f大于I可以和缓存单元回收周期配合更灵活的针对不同命令的处理延时来进行强制缓存单元回收),且m+f为小于等于η的正整数。也即被占用的缓存单元在每一个缓存单元回收周期到达时,其对应的已占用的缓存单元回收周期都会增加一预设值f,以使在后续缓存单元回收周期到达时,此缓存单元对应的已占用的缓存单元回收周期数必然会达到n,从而当达到η时强制回收该缓存单元。
[0059]例如:预先设置的缓存单元寿命周期数为3个缓存单元回收周期,也即当某一个缓存单元被占用3个缓存单元回收周期后,则强制收回该缓存单元。此时使用2bit表示AGE域,且此时f设置为I。当AGE域的值为00时,表示已经过O个缓存单元回收周期,当AGE域的值为01时,表示已经过I个缓存单元回收周期,当AGE域的值为10时,表示已经过2个缓存单元回收周期,当AGE域的值为11时,表示已经过3个缓存单元回收周期。
[0060]继续按照上述的例子,在使用2bit表示AGE域时,其中的f为I,也即当第二个缓存单元回收周期到达时,若AGE域对应的值为10 (十进制的I),则将该AGE域对应的值变更为11(十进制的2+1)。
[0061]下面以第一指示信息和第二指示信息均为Ibit为例进行说明,也即采用2bit的bitmap来管理缓存单元,并且当缓存单元回收周期到达时,若AGE域中的占用的缓存单元回收周期表示已占用I个缓存单元回收周期时,将该缓存单元回收。
[0062]2bit的bitmap中,Ibit为USE域,其与现有bitmap方案一致,当USE域的Ibit标记为
O时,表示该缓存单元已
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1