缓存管理方法、存储系统以及计算机程序产品技术方案

技术编号:20117347 阅读:15 留言:0更新日期:2019-01-16 11:59
本公开的实施例提供一种缓存管理方法、存储系统和计算机程序产品。缓存管理方法包括确定存储系统中的多个缓存页面各自的访问频度。该方法还包括基于访问频度将多个缓存页面组成为多个队列。该方法还包括基于访问频度为多个队列分配固态盘,使得具有较高访问频度的页面所在的队列具有较多的固态盘。

Cache management methods, storage systems and computer program products

Embodiments of the present disclosure provide a cache management method, a storage system, and a computer program product. The cache management method includes determining the access frequencies of multiple cached pages in the storage system. The method also includes composing multiple cached pages into multiple queues based on access frequency. The method also includes allocating solid-state disks for multiple queues based on access frequency, so that the queues of pages with higher access frequency have more solid-state disks.

【技术实现步骤摘要】
缓存管理方法、存储系统以及计算机程序产品
本公开的实施例一般涉及数据存储领域,更具体地,涉及一种缓存管理方法、存储系统和计算机程序产品。
技术介绍
高速缓存是一种特殊的存储器子系统,在高速缓存中复制了频繁使用的数据以利于CPU快速访问。动态随机存取存储器(DRAM)高速缓存通过将数据透明地存储在非常快的存储介质(例如DRAM)中来改善存储系统的性能,使得针对该数据的请求能够被快速地处理,通常大约为60微秒。但是对于DRAM而言,每GB的成本是非常昂贵的,并且DRAM高速缓存的容量存在着硬件方面的限制,通常其容量为几个GB或几十个GB。固态盘(SSD)高速缓存通过将数据透明地存储在SSD中来改善存储系统的性能,使得针对该数据的请求能够被较快地处理,通常为小于1毫秒。SSD高速缓存的速度不如DRAM高速缓存的速度快,但是成本比DRAM高速缓存低。已有的SSD高速缓存通常被设计为读优先SSD高速缓存或者被设计为RAID-1SSD高速缓存。但是这两种结构的SSD高速缓存在实际使用中均存在着各自的缺点。
技术实现思路
本公开的实施例提供了一种缓存管理方案。根据本公开的第一方面,提供了一种缓存管理方法,包括确定存储系统中的多个缓存页面各自的访问频度。该方法还包括基于访问频度将多个缓存页面组成为多个队列。该方法还包括基于访问频度为多个队列分配固态盘,使得具有较高访问频度的页面所在的队列具有较多的固态盘。根据本公开的第二方面,提供了一种存储系统。该存储系统包括多个固态盘和控制器。该控制器被配置为确定存储系统中的多个缓存页面各自的访问频度。该控制器还被配置为基于访问频度将多个缓存页面组成为多个队列。该控制器还被配置为基于访问频度为多个队列分配固态盘,使得具有较高访问频度的页面所在的队列具有较多的固态盘。根据本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使得机器执行根据本公开的第一方面所描述的方法的任意步骤。提供
技术实现思路
部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1示出了常规的包括SSD高速缓存的环境的示意图。图2示出了已有的RAID-1SSD高速缓存的硬件架构的示意图。图3示出了已有的读优先SSD高速缓存的硬件架构的示意图。图4示出了RAID-1SSD高速缓存与读优先SSD高速缓存的性能比较的示意图。图5示出了RAID-1SSD高速缓存与读优先SSD高速缓存的性能比较的示意图。图6示出了在本公开示例性实施例中所使用的缓存页面管理结构的示意图。图7示出了根据本公开示例性实施例的管理缓存的方法的流程图。图8示出了根据本公开示例性实施例的缓存页面与SSD设备之间的映射关系的示意图。图9示出了根据本公开示例性实施例基于访问频度的变化来动态调整缓存页面所处的队列的示意图。图10示出了已有方案与本公开所提供方案在负载均衡方面的比较的示意图。图11示出了根据本公开示例性实施例在一个SSD设备发生故障的情况下的示意图。图12示出了根据本公开实施例的缓存管理方法的流程图图13示出了根据本公开示例性实施例的存储系统的框图。图14示出了可以用来实施本公开的实施例的示例设备的框图。具体实施方式下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的示例实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。图1示出了常规的包括高速缓存的存储环境100的示意图。环境100包括动态随机存取存储器(DRAM)高速缓存110、固态盘(SSD)高速缓存120以及硬盘(HDD)矩阵130。通常,DRAM高速缓存110处于IO数据路径的顶部,SSD高速缓存120处于DRAM高速缓存110之下,而HDD矩阵在SSD高速缓存120之下。DRAM高速缓存110通过将数据透明地存储在DRAM中来改善存储系统的性能,使得针对数据的请求能够被快速处理,通常大约为60微秒。通常,DRAM高速缓存110对最频繁访问的数据(最热数据)进行缓存。但是DRAM高速缓存的成本是非常昂贵的,每GB大概8-10美元。而且对DRAM高速缓存的容量也存在着硬件限制,例如存储器插槽限制和电池持续时间限制。通常DRAM高速缓存的容量大约是几个GB或几十个GB。SSD高速缓存120通过将数据透明地存储在SSD中来改善存储系统的性能,使得针对数据的请求也能够被较快地处理,通常大约小于1毫秒。SSD高速缓存120通常对次频繁访问的数据进行缓存。与DRAM高速缓存相比,SSD高速缓存的成本较低并且容量较高。对于SSD高速缓存而言,每GB的成本从小于1美元到若干美元不等,这取决于所采用的技术。通常SSD高速缓存的容量大约为几百GB甚至达到TB的量级。HDD矩阵130由HDD组成,其用于存储所有的用户数据,并且服务于未被DRAM高速缓存110和SSD高速缓存120处理的I/O请求,其提供最慢的响应时间。多个HDD通常被组成磁盘阵列,以提供开放的容量和冗余。一些磁盘阵列可以提供几百TB甚至PB数量级的容量。在图1所示的环境100中,存在两种类型的高速缓存命中,即,DRAM高速缓存命中和SSD高速缓存命中。对于进入存储系统的I/O请求,DRAM高速缓存110先搜索其所缓存的数据,如果DRAM高速缓存110发现命中,则DRAM高速缓存110利用所缓存的数据对I/O请求进行响应。否则,如果DRAM高速缓存110发现未命中,则将该I/O请求转发给SSD高速缓存120。响应于接收到DRAM高速缓存110转发的I/O请求,SSD高速缓存120将搜索其所缓存的数据。如果SSD高速缓存120发现命中,则利用所缓存的数据对I/O请求进行响应。否则,如果SSD高速缓存120发现未命中,则将I/O请求转发给HDD矩阵130。之后,从HDD矩阵130读取I/O请求所针对的数据或向HDD矩阵130写入I/O请求所涉及的数据。在环境100中所使用的已有的SSD高速缓存通常被实现成读优先SSD高速缓存或者被实现成RAID-1SSD高速缓存。这两种结构的SSD高速缓存都存在着各自的缺点。下面将结合图2、图3、图4和图5来介绍这两种已有的结构及其各自的缺点。图2示出了已有的RAID-1SSD高速缓存200的硬件架构的示意图。在图2所示的SSD高速缓存200中,将两个SSD组合成一个RAID-1组以提供单一的SSD空间来缓存用户数据,RAID-1组可以用作读/写高速缓存。每个SSD中存储有用户数据以及与缓存页面相关联的元数据,例如元数据可以包括缓存页面的状态(脏页或干净页)、与缓存页面相关联的映射信息等。在SSD高速缓存200中,每个RAID-1组被视为一个单独的设备,例如设备0210、设备1220、设备2230以及设备3240。如果在SSD高速缓存200中存在脏数据本文档来自技高网
...

【技术保护点】
1.一种缓存管理方法,包括:确定存储系统中的多个缓存页面各自的访问频度;基于所述访问频度将所述多个缓存页面组成为多个队列;以及基于所述访问频度为所述多个队列分配固态盘,使得具有较高访问频度的页面所在的队列具有较多的固态盘。

【技术特征摘要】
1.一种缓存管理方法,包括:确定存储系统中的多个缓存页面各自的访问频度;基于所述访问频度将所述多个缓存页面组成为多个队列;以及基于所述访问频度为所述多个队列分配固态盘,使得具有较高访问频度的页面所在的队列具有较多的固态盘。2.根据权利要求1所述的方法,其中所述多个队列包括被分配以第一数目的固态盘的第一队列和被分配以第二数目的固态盘的第二队列,所述第一数目大于所述第二数目。3.根据权利要求2所述的方法,还包括:确定所述第一队列中的第一页面的第一访问频率;以及响应于所述第一访问频率下降到第一阈值之下,将所述第一页面从所述第一队列调整到所述第二队列。4.根据权利要求2所述的方法,还包括:确定所述第二队列中的第二页面的第二访问频率;以及响应于所述第二访问频率上升到第二阈值之上,将所述第二页面从所述第二队列调整到所述第一队列。5.根据权利要求1所述的方法,其中所述固态盘是读优先高速缓存。6.根据权利要求3所述的方法,其中将所述第一页面从所述第一队列调整到所述第二队列包括:将所述第一页面上的数据存储在所述第二数目的固态盘中;以及更新与所述第一页面相关联的元数据。7.根据权利要求4所述的方法,其中将所述第二页面从所述第二队列调整到所述第一队列包括:将所述第二页面上的数据存储在所述的第一数目的固态盘中;以及更新与所述第二页面相关联的元数据。8.根据权利要求2所述的方法,还包括:接收针对所述第一队列中的第一页面的读请求;从所述第一数目的固态盘中选择固态盘;从所选择的固态盘读取所述读请求所针对的数据。9.一种存储系统,包括:多个固态盘;以及控制器,所述控制器被配置为:确定所述存储系统中的多个缓存页面各自的访问频度;基于所述访问频度将所述多个缓存页面组成为多个队列;以及基于...

【专利技术属性】
技术研发人员:徐鑫磊高健杨利锋奉昌玉刘友生卓保特
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国,US

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

1