非易失性存储设备的缓存管理方法及装置与流程

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

技术特征:

1.一种应用于存储系统中的缓存管理方法,其特征在于,所述存储系统包括:缓存、非易失性存储设备以及缓存管理装置;所述缓存用于缓存从所述非易失性存储设备中读取的数据以及准备写入所述非易失性存储设备中的数据;

所述方法包括:

所述缓存管理装置确定待访问页面不在所述缓存的干净页子池中,并且所述待访问页面也不在所述缓存的脏页子池中,其中,所述缓存包括所述干净页子池和所述脏页子池,所述干净页子池用于缓存所述缓存中未被修改的页面,所述脏页子池用于缓存所述缓存中被修改的页面;

所述缓存管理装置确定所述脏页子池、所述干净页子池以及所述缓存之间的容量关系;

当所述容量关系指示所述脏页子池的容量和所述干净页子池的容量之和等于所述缓存的容量时,所述缓存管理装置判断所述待访问页面的标识信息是否在所述干净页历史列表或所述脏页历史列表中,其中,所述干净页历史列表用于记录最近被替换出所述缓存的干净页的标识信息,所述脏页历史列表用于记录被替换出所述缓存的脏页的标识信息;

当所述待访问页面的标识在所述干净页历史列表中时,所述缓存管理装置增加所述干净页子池的最大容量;

当所述待访问页面的标识在所述脏页历史列表中时,所述缓存管理装置减少所述干净页子池的最大容量。

2.根据权利要求1所述的方法,其特征在于,还包括:

所述缓存管理装置从所述干净页子池和脏页子池中选取一个用于选择待替换页面的子池;

所述缓存管理装置根据选取的子池对应的页面替换策略,从所述被选取的子池中选取一个待替换页面;

将所述待替换页面的标识信息迁移到所述被选取的子池对应的历史列表的最近使用位置。

3.根据权利要求2所述的方法,其特征在于,所述缓存管理装置从所述干净页子池和脏页子池中选取一个用于选择待替换页面的子池具体包括:

当所述干净页子池的容量大于所述干净页子池的最大容量时,所述缓存管理装置选择所述干净页子池作为用于选择待替换页面的子池。

4.根据权利要求2所述的方法,其特征在于,所述缓存管理装置从所述干净页子池和脏页子池中选取一个用于选择待替换页面的子池具体包括:

当所述干净页子池的容量小于所述干净页子池的最大容量时,所述缓存管理装置选择所述脏页子池作为用于选择待替换页面的子池。

5.根据权利要求2所述的方法,其特征在于,所述缓存管理装置从所述干净页子池和脏页子池中选取一个用于选择待替换页面的子池具体包括:

当所述干净页子池容量等于所述干净子池容量阈值时,所述缓存管理装置判断所述待访问页面是否在所述干净页历史列表中并且所述脏页子池容量是否大于0;

当所述待访问页面在所述干净页历史列表中并且所述脏页子池容量大于0时,所述缓存管理装置选择所述脏页子池作为所述用于选择待替换页面的子池;

当所述待访问页面不在所述干净页历史列表或所述脏页子池容量不大于0时,所述缓存管理装置选择所述干净页子池作为所述用于选择待替换页面的子池。

6.根据权利要求1-5任意一项所述的方法,其特征在于,还包括:

所述缓存管理装置判断当前请求所述待访问页面的操作的操作类型;

当确定所述操作类型为读操作时,所述缓存管理装置将从所述非易失性存储设备中读取的所述待访问页面缓存到所述干净页子池中;

当确定所述操作类型为写操作时,所述缓存管理装置将从所述非易失性存储设备中读取的所述待访问页面缓存到所述脏页子池中。

7.根据权利要求1-6任意一项所述的方法,其特征在于,还包括:

所述缓存管理装置判断所述干净页子池的容量与所述干净页历史列表的容量之和是否大于所述缓存的容量;

当所述干净页子池的容量与所述干净页历史列表的容量之和大于所述缓存的容量时,所述缓存管理装置删除所述干净页历史列表的最近最少使用位置的页面标识信息。

8.根据权利要求1-6任意一项所述的方法,其特征在于,还包括:

所述缓存管理装置判断所述干净页子池的容量、所述脏页子池的容量、所述干净页历史列表的容量以及所述脏页历史列表的容量之和是否大于所述缓存的容量的两倍;

当所述干净页子池的容量、所述脏页子池的容量、所述干净页历史列表的容量以及所述脏页历史列表的容量之和大于所述缓存的容量的两倍时,所述缓存管理装置删除所述脏页历史列表中的最近最少使用位置的页面标识信息。

9.一种缓存管理装置,其特征在于,所述缓存管理装置应用于存储系统中,所述存储系统包括:缓存、非易失性存储设备以及所述缓存管理装置;所述缓存用于缓存从所述非易失性存储设备中读取的数据以及准备写入所述非易失性存储设备中的数据,

所述缓存管理装置包括:

判断单元,用于在确定待访问页面不在所述缓存的干净页子池中,并且所述待访问页面也不在所述缓存的脏页子池中,其中,所述缓存包括所述干净页子池和所述脏页子池,所述干净页子池用于缓存所述缓存中未被修改的页面,所述脏页子池用于缓存所述缓存中被修改的页面;

所述判断单元,还用于确定所述脏页子池、所述干净页子池以及所述缓存之间的容量关系;

当所述容量关系指示所述脏页子池的容量和所述干净页子池的容量之和等于所述缓存的容量时,判断所述待访问页面的标识信息是否在干净页历史列表或者在脏页历史列表中,其中,所述干净页历史列表用于记录最近被替换出所述缓存的干净页的标识信息,所述脏页历史列表用于记录被替换出所述缓存的脏页的标识信息;

调整单元,用于当所述待访问页面的标识在所述干净页历史列表中时,所述缓存管理装置增加所述干净页子池的最大容量;当所述待访问页面的标识在所述脏页历史列表中时,所述缓存管理装置减少所述干净页子池的最大容量。

10.根据权利要求9所述的装置,其特征在于,该装置还包括:

选取单元,用于从所述干净页子池和脏页子池中选取一个用于选择待替换页面的子池,并根据选取的子池对应的页面替换策略,从所述被选取的子池中选取一个待替换页面;

迁移单元,用于将所述待替换页面的标识信息迁移到所述被选取的子池对应的历史列表的最近使用位置。

11.根据权利要求10所述的装置,其特征在于,所述选取单元具体用于:

当所述干净页子池的容量大于所述干净页子池的最大容量时,选择所述干净页子池作为用于选择待替换页面的子池。

12.根据权利要求10所述的装置,其特征在于,所述选取单元具体用于:

当所述干净页子池的容量小于所述干净页子池的最大容量时,选择所述脏页子池作为用于选择待替换页面的子池。

13.根据权利要求10所述的装置,其特征在于,所述判断单元还用于:

当所述干净页子池容量等于所述干净子池容量阈值时,判断所述待访问页面是否在所述干净页历史列表中并且所述脏页子池容量是否大于0;

所述选取单元具体用于:

当所述待访问页面在所述干净页历史列表中并且所述脏页子池容量大于0时,选择所述脏页子池作为所述用于选择待替换页面的子池;

当所述待访问页面不在所述干净页历史列表或所述脏页子池容量不大于0时,选择所述干净页子池作为所述用于选择待替换页面的子池。

14.根据权利要求9-13任意一项所述的装置,其特征在于:

所述判断单元,还用于判断当前请求所述待访问页面的操作对应的操作类型;

所述读取单元,还用于当所述操作类型为读操作时,将从所述非易失性存储设备中读取的所述待访问页面缓存到所述干净页子池中;当所述操作类型为写操作时,将从所述非易失性存储设备中读取的所述待访问页面缓存到所述脏页子池中。

15.根据权利要求9-14任意一项所述的装置,其特征在于:

所述判断单元,还用于判断所述干净页子池的容量与所述干净页历史列表的容量之和是否大于所述缓存的容量;

所述装置还包括:

第一移除单元,用于当所述干净页子池的容量与所述干净页历史列表的容量之和大于所述缓存的容量时,删除所述干净页历史列表的最近最少使用位置的页面标识信息。

16.根据权利要求9-14任意一项所述的装置,其特征在于:

所述判断单元,还用于判断所述干净页子池的容量、所述脏页子池的容量、所述干净页历史列表的容量以及所述脏页历史列表的容量之和是否大于所述缓存的容量的两倍;

所述装置还包括:

第二移除单元,用于当所述干净页子池的容量、所述脏页子池的容量、所述干净页历史列表的容量以及所述脏页历史列表的容量之和大于所述缓存的容量的两倍时,移除所述脏页历史列表中的最近最少使用位置的页面标识信息。

17.一种存储系统,其特征在于,包括缓存、非易失性存储器以及缓存控制器,其中,所述缓存用于缓存从所述非易失性存储设备中读取的数据以及准备写入所述非易失性存储设备中的数据,所述缓存控制器用于:

确定待访问页面不在所述缓存的干净页子池中,并且所述待访问页面也不在所述缓存的脏页子池中,其中,所述缓存包括所述干净页子池和所述脏页子池,所述干净页子池用于缓存所述缓存中未被修改的页面,所述脏页子池用于缓存所述缓存中被修改的页面;

确定所述脏页子池、所述干净页子池以及所述缓存之间的容量关系;

当所述容量关系指示所述脏页子池的容量和所述干净页子池的容量之和等于所述缓存的容量时,判断所述待访问页面的标识信息是否在所述干净页历史列表或所述脏页历史列表中,其中,所述干净页历史列表用于记录最近被替换出所述缓存的干净页的标识信息,所述脏页历史列表用于记录被替换出所述缓存的脏页的标识信息;

当所述待访问页面的标识在所述干净页历史列表中时,增加所述干净页子池的最大容量;

当所述待访问页面的标识在所述脏页历史列表中时,减少所述干净页子池的最大容量。

18.根据权利要求17所述的存储系统,其特征在于,所述缓存控制器还用于:

从所述干净页子池和脏页子池中选取一个用于选择待替换页面的子池;

根据选取的子池对应的页面替换策略,从所述被选取的子池中选取一个待替换页面;

将所述待替换页面的标识信息迁移到所述被选取的子池对应的历史列表的最近使用位置。

19.根据权利要求18所述的存储系统,其特征在于,所述缓存控制器具体用于:

当所述干净页子池的容量大于所述干净页子池的最大容量时,选择所述干净页子池作为用于选择待替换页面的子池。

20.根据权利要求18所述的存储系统,其特征在于,所述缓存控制器具体用于:

当所述干净页子池的容量小于所述干净页子池的最大容量时,选择所述脏页子池作为用于选择待替换页面的子池。

21.根据权利要求18所述的存储系统,其特征在于,所述缓存控制器具体用于:

当所述干净页子池容量等于所述干净子池容量阈值时,判断所述待访问页面是否在所述干净页历史列表中并且所述脏页子池容量是否大于0;

当所述待访问页面在所述干净页历史列表中并且所述脏页子池容量大于0时,选择所述脏页子池作为所述用于选择待替换页面的子池;

当所述待访问页面不在所述干净页历史列表或所述脏页子池容量不大于0时,选择所述干净页子池作为所述用于选择待替换页面的子池。

22.根据权利要求17-21任意一项所述的方法,其特征在于,所述缓存控制器还用于:

判断当前请求所述待访问页面的操作的操作类型;

当确定所述操作类型为读操作时,将从所述非易失性存储设备中读取的所述待访问页面缓存到所述干净页子池中;

当确定所述操作类型为写操作时,将从所述非易失性存储设备中读取的所述待访问页面缓存到所述脏页子池中。

23.根据权利要求17-22任意一项所述的存储系统,其特征在于,所述缓存控制器还用于:

判断所述干净页子池的容量与所述干净页历史列表的容量之和是否大于所述缓存的容量;

当所述干净页子池的容量与所述干净页历史列表的容量之和大于所述缓存的容量时,删除所述干净页历史列表的最近最少使用位置的页面标识信息。

24.根据权利要求17-22任意一项所述的存储系统,其特征在于,所述缓存控制器还用于:

判断所述干净页子池的容量、所述脏页子池的容量、所述干净页历史列表的容量以及所述脏页历史列表的容量之和是否大于所述缓存的容量的两倍;

当所述干净页子池的容量、所述脏页子池的容量、所述干净页历史列表的容量以及所述脏页历史列表的容量之和大于所述缓存的容量的两倍时,删除所述脏页历史列表中的最近最少使用位置的页面标识信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1