[发明专利]一种基于磁盘I/O队列的磁盘阵列写方式选择方法有效
申请号: | 201510681425.8 | 申请日: | 2015-10-15 |
公开(公告)号: | CN105204785B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 许胤龙;陈友旭;李永坤;魏舒展;梁杰 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 汪祥虬 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于磁盘I/O队列的磁盘阵列写方式选择方法,特征是包括设计存储结构、计算预读请求个数、写方式选择策略和维护存储结构;在处理写请求和更新校验块时,根据下层磁盘上的I/O队列中的读请求个数和写请求个数计算最大磁盘I/O队列预算延迟,抉择写方式。与传统的磁盘阵列写方式选择相比,在保证系统可以承受的负载下避免了某一磁盘负载过多,而其他磁盘比较空闲的这种情况,增强了磁盘阵列的并行性,缩短了请求的平均响应时间,并提高了系统的带宽。 | ||
搜索关键词: | 磁盘阵列 方式选择 队列 磁盘I/O 存储结构 读请求 写请求 磁盘 保证系统 磁盘负载 个数计算 校验 并行性 传统的 下层 空闲 延迟 带宽 响应 预算 更新 维护 | ||
【主权项】:
1.一种基于磁盘I/O队列的磁盘阵列写方式选择方法,其特征在于包括以下步骤:第一步:设计存储结构采用一组结构来存放磁盘阵列中每个磁盘I/O队列中读请求个数和写请求个数,其中,磁盘数为N的磁盘阵列中,包含N个条目存放磁盘I/O队列中读请求个数,N个条目存放磁盘I/O队列写请求个数,每个条目占用4字节;第二步:计算预读请求个数当写请求的数目不足以构建一个新的条带时,计算新的校验位:将写请求所属条带中的数据块从外存设备读取到内存中进行异或运算生成新的校验块,结合内存中已有条带中数据块的个数,统计需要读取的数据块的个数,即预读请求个数;分别计算“读‑改‑写”方式产生的预读请求个数和“读‑重构‑写”方式产生的预读请求个数;第三步:写方式选择策略设定一个范围为[0,N]的阀值T表示每次进行写方式选择所造成的额外负载上限;如果“读‑改‑写”方式产生的预读请求个数减去“读‑重构‑写”方式产生的预读请求个数的差值大于T,则选用“读‑重构‑写”方式;如果“读‑重构‑写”方式产生的预读请求个数减去“读‑改‑写”方式产生的预读请求个数的差值大于T,则选用“读‑改‑写”方式;如果“读‑改‑写”方式产生的预读请求个数减去“读‑重构‑写”方式产生的预读请求个数的绝对值小于等于T,则按写方式分别计算相关磁盘I/O队列预算延迟:读请求个数+写请求个数×磁盘的写延迟/读延迟;计算采用“读‑改‑写”方式需要读取的每个磁盘I/O队列的预算延迟,从中选取最大磁盘I/O队列预算延迟;再计算采用“读‑重构‑写”方式需要读取的每个磁盘I/O队列的预算延迟,从中选取最大磁盘I/O队列预算延迟;在“读‑改‑写”方式产生的预读请求个数减去“读‑重构‑写”方式产生的预读请求个数的绝对值小于等于T的情况下,若“读‑改‑写”方式的最大磁盘I/O队列预算延迟大于“读‑重构‑写”方式的最大磁盘I/O队列预算延迟,就选用“读‑重构‑写”方式;若“读‑重构‑写”方式的最大磁盘I/O队列预算延迟大于“读‑改‑写”方式的最大磁盘I/O队列预算延迟,就选用“读‑改‑写”方式;若“读‑改‑写”方式的最大磁盘I/O队列预算延迟等于“读‑重构‑写”方式的最大磁盘I/O队列预算延迟,再根据“读‑改‑写”方式产生的预读请求个数和“读‑重构‑写”方式产生的预读请求个数的大小关系进行抉择:当“读‑改‑写”方式产生的预读请求个数小于“读‑重构‑写”方式产生的预读请求个数时,就选用“读‑改‑写”方式;当“读‑改‑写”方式产生的预读请求个数大于等于“读‑重构‑写”方式产生的预读请求个数时,就选用“读‑重构‑写”方式;第四步:维护存储结构在选定好一种写方式后,下发读请求到对应的磁盘I/O队列中,将第一步中的存储结构所对应的磁盘的读请求数加1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510681425.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种基于物联网的数据处理方法
- 下一篇:一种增加缓存的存储底层架构