一种缓存资源的回收方法技术

技术编号:14191948 阅读:94 留言:0更新日期:2016-12-15 11:06
本发明专利技术公开了一种缓存资源的回收方法,所述方法以扩大缓存容量为目的,利用内存构建一个介于内存和磁盘之间的新的缓存层次,并通过缓存资源回收操作,避免相同数据占用多份内存。本发明专利技术为了减少缓存回收擦除所带来的时间开销,利用缓存内部数据迁移操作来减少有效数据拷贝带来的时间开销以及缓存对资源的占用,同时利用多分组操作来实现多个分组的同时擦除,以减少多次擦除的时间效率开销。

Method for recovering cache resource

The invention discloses a method for recovering a cache resource, the method to expand the cache capacity for the purpose of constructing a new cache hierarchy between memory and disk using memory, and the cache resource recovery operation, to avoid multiple copies of the same data occupy memory. The present invention in order to reduce cache recovery erase time overhead, transfer operations to reduce the overhead of data copy and buffer occupancy of the use of resources and internal data cache, using multi packet operation to achieve a plurality of packets at the same time erasing time efficiency to reduce the overhead repeatedly erased.

【技术实现步骤摘要】

本专利技术涉及软件系统
,具体涉及一种缓存资源的回收方法
技术介绍
当前缓存中固态盘渐渐地作为主流,由于固态盘的性能价格和容量均居于DRAM和磁盘之间,部署闪存、磁盘的混合存储系统,通过少量的闪存来改进系统整体性能充分发挥闪存的性能优势和磁盘的容量和成本优势可以实现存储性能和容量直接的有效均衡。由于固态盘采用异地更新机制,物理块中不仅包含有效数据页也包含无效数据页,这样造成了存储空间的浪费,同时空闲块中使用也越来越少,传统的缓存回收,负责擦除物理块来获得新的空闲块,这样会引起写放大问题,拷贝越多,垃圾回收时间越长,这样比较耗时,严重影响了缓存性能。
技术实现思路
本专利技术要解决的技术问题是:本专利技术针对以上问题,提供一种缓存资源的回收方法。本专利技术所采用的技术方案为:一种缓存资源的回收方法,所述方法以扩大缓存容量为目的,利用内存构建一个介于内存和磁盘之间的新的缓存层次,充分利用缓存的作用提升存储系统的整体性能,并通过缓存资源回收操作,避免相同数据占用多份内存,不会有大量重复。缓存中的数据大多是后端存储系统中数据的一个副本垃圾,回收时直接删除相关块并不会导致数据丢失,从而可以从一定程度上解决垃圾回收时因回收被擦除块中数据而导致的写放大等问题,降低垃圾回收开销。所述缓存中的有效数据有冷热之分,热数据比冷数据更容易被访问,所述方法通过提高热数据的比重,提高缓存命中率,在缓存回收时将热数据进行搬移,而将冷数据直接删除。传统缓存回收中并没有考虑做冷热数据区分,只是需要的有效数据。固态盘作为缓存,由于存储的有效数据在后端都有一个副本,因此如果直接删除并不影响数据的完整性和一致性。但如果删除块中有效数据,特别是热数据,会造成后续访问命中率下降。所述缓存中包含四中状态:有效、无效、干净和“脏页”,缓存回收操作时,脏页先拷贝到干净的块,才能对其所在的块进行擦除,在固态缓存盘中的每一块定义一个替换的评价因子t: t = c + i ( h + d + m + 1 ) * N ]]>其中c为块中冷数据页的数量,i为块中无效数据页的数量,d为块中脏数据页的数量,m为页中干净页的数量,N为块中数据页的数量;在缓存回收时满足条件如下:1)块中无效页和冷页尽量多;2)块中热数据和脏页尽量少;3)块中干净页尽量少;这样t值越大,缓存回收代价越小。所述方法通过运用定时器,根据数据块的访问时间和访问次数来进行数据回收,具体步骤如下:S1、启动定时器;S2、获取所述数据块的访问时间和访问次数,得到磨损因子ω,其中:E为最大擦写次数,为已知的,e为已经擦写次数;S3、检查所述数据块是否为非热点数据块,如果所述数据块不属于非热点数据块,则检查下一个数据块;如果所述数据块属于非热点数据块,则执行步骤S4;S4、移除所述数据块;S5、检查第一块内存块是否为空闲,如果空闲则释放第一块内存块;如果不是空闲,则将第二内存块数据放入空闲内存列表;步骤S5之后,当多个第二内存块形成第一内存块后,则释放第一内存块。所述方法根据评价因子和磨损因子给出替换块选择因子s,通过s值来检查所述数据块是否非热点数据块,其中:s=ω1*t+ω2*(1-ω),ω1+ω2=1s越大被选择回收的概率越大,一般在s值为80%以上则认为是热点数据块。本专利技术的有益效果为:本专利技术为了减少缓存回收擦除所带来的时间开销,利用缓存内部数据迁移操作来减少有效数据拷贝带来的时间开销以及缓存对资源的占用,同时利用多分组操作来实现多个分组的同时擦除,以减少多次擦除的时间效率开销。本专利技术避免了相同数据占用多份内存,不会有大量重复;减少了文件系统对磁盘的访问,提升了对缓存资源的回收效率,极大的节省了内存空间,提高了内存资源的整体利用率;根据固态缓存特点,优化替换块选策略,全盘考虑缓存中数据状态,通过数据类型进行擦除,减少额外数据拷贝,避免擦除过程中带来缓存命中率降低问题,并通过算法减少缓存磨损。附图说明图1为缓存中页状态迁移示意图;图2为缓存的内存回收实施流程图。具体实施方式下面根据附图,结合具体实施方式对本专利技术进一步说明:实施例1:一种缓存资源的回收方法,所述方法以扩大缓存容量为目的,利用内存构建一个介于内存和磁盘之间的新的缓存层次,充分利用缓存的作用提升存储系统的整体性能,并通过缓存资源回收操作,避免相同数据占用多份内存,不会有大量重复。缓存中的数据大多是后端存储系统中数据的一个副本垃圾,回收时直接删除相关块并不会导致数据丢失,从而可以从一定程度上解决垃圾回收时因回收被擦除块中数据而导致的写放大等问题,降低垃圾回收开销。实施例2在实施例1的基础上,本实施例所述缓存中的有效数据有冷热之分,热数据比冷数据更容易被访问,所述方法通过提高热数据的比重,提高缓存命中率,在缓存回收时将热数据进行搬移,而将冷数据直接删除。传统缓存回收中并没有考虑做冷热数据区分,只是需要的有效数据。固态盘作为缓存,由于存储的有效数据在后端都有一个副本,因此如果直接删除并不影响数据的完整性和一致性。但如果删除块中有效数据,特别是热数据,会造成后续访问命中率下降。实施例3如图1所示,在实施例2的基础上,本实施例所述缓存中包含四中状态:有效、无效、干净和“脏页”,缓存回收操作时,脏页一定要拷贝到干净的块,才能对其所在的块进行擦除,在固态缓存盘中的每一块定义一个替换的评价因子t: t = c + i ( h + d + m + 1 ) * N ]]>其中c为块中冷数据页的数量,i为块中无效数据页的数量,d为块中脏数据页的数量,m为页中干净页的数量,N为块中数据页的数量;在缓存回收时满足条件如下:1)块中无效页和冷页尽量多2)块中热数据和脏页尽量少3)块中干净页尽量少这样t值越大,缓存回收代价越小。实施例4如图2所示,在实施例3的基础上,本实施例所述方法通过运用定时器,根据数据块的访问时间和访问次数来进行数据回收,具体步骤如下:S1、启动定时器;S2、获取所述数据块的访问时间和访问次数,得到磨损因子ω,其中:E为最大擦写次数,为已知的,e为已经擦写次数;S3、检查所述数据块是否为非热点数据块,如果所述数据块不属于非热点数据块,则检查下一个数据块;如果所述数据块属于非热点数据块,则执行步骤S4;S4、移除所述数据块;S5、检查第一块内存块是否为空闲,如果空闲则释放第一块内存块;如果不是空闲,则将第二内存块数据放入空闲内存列表;步骤S5之后,当多个第二内存块形成第一内存块后,则释放第一内存块。实施例5在实施例4的基础上,本实施例所述方法根据评价因子和磨损因子给出替换块选择因子s,通过s值来检查所述本文档来自技高网...
一种缓存资源的回收方法

【技术保护点】
一种缓存资源的回收方法,其特征在于:所述方法以扩大缓存容量为目的,利用内存构建一个介于内存和磁盘之间的新的缓存层次,并通过缓存资源回收操作,避免相同数据占用多份内存。

【技术特征摘要】
1.一种缓存资源的回收方法,其特征在于:所述方法以扩大缓存容量为目的,利用内存构建一个介于内存和磁盘之间的新的缓存层次,并通过缓存资源回收操作,避免相同数据占用多份内存。2.根据权利要求1所述的一种缓存资源的回收方法,其特征在于:所述缓存中的有效数据有冷热之分,所述方法通过提高热数据的比重,提高缓存命中率,在缓存回收时将热数据进行搬移,而将冷数据直接删除。3.根据权利要求2所述的一种缓存资源的回收方法,其特征在于:所述缓存中包含四中状态:有效、无效、干净和“脏页”,缓存回收操作时,脏页先拷贝到干净的块,才能对其所在的块进行擦除,并在固态缓存盘中的每一块定义一个替换的评价因子t: t = c + i ( h + d + m + 1 ) * N ]]>其中c为块中冷数据页的数量,i为块中无效数据页的数量,d为块中脏数据页的数量,m为页中干净页...

【专利技术属性】
技术研发人员:柳增运
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1