[发明专利]一种动态调整存储设备Cache读写命令数的方法和装置在审

专利信息
申请号: 201410313524.6 申请日: 2014-07-02
公开(公告)号: CN104090728A 公开(公告)日: 2014-10-08
发明(设计)人: 石岩;陈继芬 申请(专利权)人: 浙江宇视科技有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 北京博思佳知识产权代理有限公司 11415 代理人: 林祥
地址: 310051 浙江省杭州市滨江*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 动态 调整 存储 设备 cache 读写 命令 方法 装置
【说明书】:

技术领域

发明涉及视频监控技术领域,尤其涉及一种动态调整高速缓存Cache读写命令数的方法和装置。

背景技术

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)已经广泛使用于数据读写的各个领域中。为了提高系统性能,RAID阵列通常会引入高速缓冲存储器Cache。众所周知,Cache是存储系统为阵列分配的内存空间。

一种存储系统结构如图1所示,其分为业务应用层、Cache层、RAID控制层和物理磁盘层。其中Cache层是由系统内存中分割出一部分作为RAID阵列的缓存,若是读缓存,通常应用预读功能提供系统读性能;若是写缓存,系统业务应用层将数据块写入Cache层后,Cache会根据一定的策略将数据块刷写至RAID阵列的磁盘中,如果刷写RAID成功,写入数据块的写缓存空间将被回收;如果写RAID不成功,业务数据会保留在写Cache中。因此,该类存储系统通常提供UPS(Uninterruptible Power Supply,不间断电源)以保证系统异常掉电时写缓存中的数据不丢失。

通过读Cache到达RAID层的读命令可能为业务应用层产生的读IO,可能为SCSI中间层产生的读IO,可能为逻辑卷LV产生的读IO,也可能为Cache层产生的预取读IO。这些读IO都会放到一个Cache的发送队列中,Cache发送线程按FIFO(先进先出)顺序下发读IO,并控制下发的读IO个数为当前RAID的配置值Rn。另,读写IO总个数不超过一个RAID支持的最大命令个数Up_n。

通过写Cache到达RAID的写命令可能为从Cache的下刷的写IO等。这些写IO会放到一个Cache发送队列中,Cache发送线程按FIFO顺序下发写IO,并控制下发的写IO个数不超过当前RAID的配置值Wn。另外,读写IO总个数不超过一个RAID支持的最大命令个数Up_n。

当前RAID阵列的写Cache和读Cache中的读、写命令下发个数都是固定配置的。随机写情况下,当前RAID配置的写IO下发个数增大会提高写性能,但又可能影响读IO下发的及时性,从而影响读性能。

所以需要根据业务情况进行RAID阵列的写Cache和读Cache中的读、写命令下发个数的变动。现有技术只能人为根据业务情况进行手动更改,这就很不方便,不能自动得适应随机读写、顺序读写、伪随机读写等各种应用模型。如果固定配置好的读写命令数不能很好的适应当前的应用模型,则将导致系统性能不能发挥到最好。

发明内容

有鉴于此,本发明提供一种动态调整高速缓存Cache读写命令数的方法和装置。该方法和装置应用于存储设备。

该动态调整高速缓存Cache读写命令数的方法方法包括:统计周期时间T内通过写Cache下发的随机写命令数R_num和总写命令数T_num;并且统计周期时间T内RAID接收到的读命令数Raid_r和写命令数Raid_w;根据所述R_num、T_num得出的随机写的压力,根据Raid_r、Raid_w得出的RAID层实际的读写压力,以及通过Cache下发的命令总数上限值Up_n动态调整Cache层下发到RAID层的写命令数Wn和读命令数Rn。

优选地,所述动态调整Cache层下发到RAID层的写命令数Wn具体为:

根据下述公式计算Wn:

Wn=Up_n*(R_num/T_num)*(Raid_w/(Raid_r+Raid_w)),

根据计算结果进行Wn的调整;

所述动态调整Cache层下发到RAID层的Rn具体为:

根据下述公式计算Rn:Rn=Wn*Raid_r/(Raid_r+Raid_w),

根据该计算结果进行Rn的调整。

优选地,当Raid_w为0时,Wn不进行调整,保持当前值不变;当Raid_r为0时,Rn不进行调整,保持当前值不变。

基于同样的构思,该动态调整高速缓存Cache读写命令数的方法还可以按如下方式设计:该方法包括:统计周期时间T内通过读Cache下发的随机读命令数RR_num和总读命令数RT_num;并且统计周期时间T内RAID接收到的读命令数Raid_r和写命令数Raid_w;根据所述RR_num、RT_num得出的随机读的压力,根据Raid_r、Raid_w得出的Raid层实际的读写压力,以及通过Cache下发的命令总数上限值Up_n动态调整Cache层下发到RAID层的写命令数Wn和读命令数Rn。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江宇视科技有限公司,未经浙江宇视科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410313524.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top