一种混合存储阵列中ssd缓存的换入换出控制方法及系统的制作方法

文档序号:9546879阅读:265来源:国知局
一种混合存储阵列中ssd缓存的换入换出控制方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机存储系统技术领域,特别是涉及一种混合存储阵列中SSD缓存的换入换出控制方法及系统。
【背景技术】
[0002]目前,随着信息化时代的发展,人们对存储设备响应速度的要求越来越高,通过增加普通缓存资源,即增加RAM (Random Access Memory)缓存的方法,虽然能够满足需求,但是普通缓存的价格十分昂贵,并且容量较小。SSD盘(Solid State Disk)相对传统磁盘而言,具有响应时间短、10PS较高的特性,使用SSD磁盘作为底层存储设备能到大大提升系统访问带宽,并且降低系统10延迟。目前,SSD在存储系统中有三种应用方式:其一,构成纯SSD阵列,这种方案性能高,但是价格昂贵;其二,把SSD磁盘和普通机械盘共同构成存储系统的后端存储阵列,使用数据分级存储的解决方案提升系统性能。其三,把SSD磁盘作为缓存来使用,SSD磁盘相对普通缓存而言容量较大,价格较低。
[0003]对于在混合存储阵列中被用作缓存(Cache)的SSD磁盘来说,SSD Cache适用于具有热点数据的应用场景,热点数据以副本的形式缓存在SSD磁盘中,对这部分热点数据的访问只需要访问SSD磁盘中的副本,不需要访问存放在传统机械盘中的相应数据实体,由于SSD磁盘比传统机械盘响应时间短,因此能够有效的提升存储系统的整体性能。
[0004]在现有技术中,SSD磁盘作为缓存,其存储空间小于底层机械盘的存储阵列,在数据访问过程中势必存在数据的换入换出控制,在SSD磁盘空间一定的情况下,把最频繁访问的热点数据缓存在SSD磁盘中,使数据访问在SSD Cache中的命中率尽可能的高,才能最有效的提升存储系统的整体性能。要想实现上述目的,就需要有一个有效的缓存换入换出控制方法,比较常用的换入换出算法有LRU (Least Recently Used)和LFU(LeastFrequently Used),但是它们存在以下几点缺陷:
[0005](1)偶发性的、周期性的批量操作会导致热点数据到非热点数据的切换,进而导致LRU命中率急剧下降,缓存污染情况比较严重。
[0006](2) LUF存在历史数据影响将来数据的缓存污染问题。例如,一数据块在过去一段时间内被经常访问,因此其访问计数非常大,而现在该数据块几乎不被访问,但是,由于其过去的积累的访问计数比较大,所以即使它现在为非热点数据,也不容易被置换出去,造成缓存污染。
[0007]基于此,亟需一种新的混合存储阵列中SSD缓存的换入换出控制方法,以克服上述热点数据的变化造成缓存污染进而导致存储阵列运行性能低的问题。

【发明内容】

[0008]有鉴于此,本发明提供了一种混合存储阵列中SSD缓存的换入换出控制方法及系统,以克服现有技术中热点数据的变化造成缓存污染进而导致存储阵列运行性能低的问题。
[0009]为解决上述技术问题,本发明提供一种混合存储阵列中SSD缓存的换入换出控制方法,包括:
[0010]根据数据块的访问情况,建立针对SSD缓存的缓存队列,当所述缓存队列满员且数据块访问未命中所述SSD缓存时,建立基于后端机械盘的历史访问队列;
[0011 ] 其中,所述缓存队列和所述历史访问队列均包括数据块的访问记录,所述访问记录包括数据块标识和所述数据块标识对应的数据块的最近访问时间;
[0012]按照预设扫描周期,扫描所述缓存队列和所述历史访问队列,针对每一所述数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于所述预设扫描周期;
[0013]如果是,则确定所述数据块标识对应的数据块为非热点数据并将与所述非热点数据对应的所述访问记录从所述缓存队列或者所述历史访问队列中删除。
[0014]上述方法中,优选的,所述访问记录还包括访问计数,所述缓存队列和所述历史访问队列中的所述访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
[0015]该方法还包括:
[0016]当所述历史访问队列中最大的所述访问计数大于所述缓存队列中最小的所述访问计数时,判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据;
[0017]如果是,则往所述缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换。
[0018]上述方法中,优选的,所述访问记录还包括进入队列时间,所述判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据,包括:
[0019]当当前时间减去所述缓存队列中最小的所述访问计数对应的数据块的所述进入队列时间的结果大于预设时间阈值时,认为所述缓存队列中最小的所述访问计数对应的数据块为长期热点数据。
[0020]上述方法中,优选的,在所述将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换之后,还包括:
[0021]将所述历史访问队列中最大的所述访问计数对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中所述查找的非长期热点数据。
[0022]上述方法中,优选的,在所述将与所述非热点数据对应的所述访问记录从所述缓存队列中删除之后,还包括:
[0023]将所述历史访问队列中所述访问计数最大的所述访问记录补充至所述缓存队列,并将补充的所述访问记录中所述数据块标识对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中删除的所述非热点数据。
[0024]本发明还提供了一种混合存储阵列中SSD缓存的换入换出控制系统,包括:
[0025]队列建立单元,用于根据数据块的访问情况,建立针对SSD缓存的缓存队列,当所述缓存队列满员且数据块访问未命中所述SSD缓存时,建立基于后端机械盘的历史访问队列;
[0026]其中,所述缓存队列和所述历史访问队列均包括数据块的访问记录,所述访问记录包括数据块标识和所述数据块标识对应的数据块的最近访问时间;
[0027]非热点数据判断单元,用于按照预设扫描周期,扫描所述缓存队列和所述历史访问队列,针对每一所述数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于所述预设扫描周期;
[0028]删除单元,用于如果是,则确定所述数据块标识对应的数据块为非热点数据并将与所述非热点数据对应的所述访问记录从所述缓存队列或者所述历史访问队列中删除。
[0029]上述系统中,优选的,所述访问记录还包括访问计数,所述缓存队列和所述历史访问队列中的所述访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
[0030]该系统还包括:
[0031]长期热点数据判断单元,用于当所述历史访问队列中最大的所述访问计数大于所述缓存队列中最小的所述访问计数时,判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据;
[0032]置换单元,用于如果是,则往所述缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换。
[0033]上述系统中,优选的,所述长期热点数据判断单元具体用于当当前时间减去所述缓存队列中最小的所述访问计数对应
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1