[发明专利]一种IO调度方法及调度装置有效
| 申请号: | 200910169610.3 | 申请日: | 2009-08-27 |
| 公开(公告)号: | CN101639763A | 公开(公告)日: | 2010-02-03 |
| 发明(设计)人: | 王佳 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 信息产业部电子专利中心 | 代理人: | 梁 军 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 io 调度 方法 装置 | ||
技术领域
本发明涉及计算机存储计算领域,尤其涉及一种IO调度方法及调度装置。
背景技术
当前,行业应用随着规模的扩大而对存储设备、软件的性能提出了更高的要求,这些要求包括存储系统的速度、吞吐量、高可用性和可靠性等方面,多种传统的磁盘阵列读写处理方法已经显得性能不足。
如图1所示,图1为传统的IO调度功能的实现示意图。这种方法通常依赖于操作系统的通用块层,调度的对象是系统的通用读写对象。系统提供特定的调度框架和几种典型的调度算法,使得实现IO调度能做的仅限于在这个框架下填充自己的调度策略或修改优化原有的调度算法,不利于IO调度的个性化和扩展。对于读写对象是SCSI(Small Computer System Interface,小型计算机系统专用接口)读写命令等非通用对象的系统来说,此种调度方法还需要额外的读写对象封装转化步骤,降低了系统的读写效率。
发明内容
鉴于上述的分析,本发明旨在提供一种IO调度方法及调度装置,用以解决现有技术中存在的调度方法必须依赖于操作系统通用块层的问题。
本发明的目的主要是通过以下技术方案实现的:
本发明提供了一种IO调度方法,在块设备层中设置有IO调度单元,所述方法包括:
步骤A:块设备接收用户下发的小型计算机系统专用接口SCSI读写命令,并将所述SCSI读写命令递交到所述IO调度单元;
步骤B:所述IO调度单元根据所述SCSI读写命令在读写调度队列中查找或生成相应的SCSI读写请求来存放所述SCSI读写命令;所述步骤B具体包括:
步骤B1:所述IO调度单元接收到用户下发的所述SCSI读写命令,根据所述SCSI读写命令的特征从读写调度队列中查找能与所述SCSI读写命令合并的SCSI读写请求,如果查找到,执行步骤B2;如果未查找到,则执行步骤B3;
步骤B2:将所述SCSI读写命令放置在相应的SCSI读写请求中进行合并,同时更新合并后的SCSI读写请求的属性和读写调度队列的属性;
步骤B3:根据所述SCSI读写命令的特征构造一个新的SCSI读写请求来存放所述SCSI读写命令,并将新的SCSI读写请求插入到读写调度队列中,同时更新新的SCSI读写请求的属性和读写调度队列的属性;
步骤C:当进入SCSI读写请求的下发执行过程时,所述IO调度单元在读写调度队列中选择SCSI读写请求,并将选定的SCSI读写请求下发至磁盘执行。
进一步地,所述步骤A具体包括:
块设备接收用户下发的SCSI读写命令,检查所述SCSI读写命令的合法性,如果合法,则将所述SCSI读写命令递交到IO调度单元;否则返回失败响应。
进一步地,所述步骤B2具体包括:
步骤B21:将所述SCSI读写命令放置在相应的SCSI读写请求中进行合并,同时更新合并后的SCSI读写请求的属性;
步骤B22:检查合并后的SCSI读写请求能否与读写调度队列中的其他SCSI读写请求进一步合并,如果是,则执行步骤B23;否则,更新读写调度队列的属性;
步骤B23:进一步合并两个SCSI读写请求,并删除被合并的SCSI读写请求,更新进一步合并后的SCSI读写请求的属性和读写调度队列的属性。
进一步地,所述步骤C具体包括:
当进入SCSI读写请求的下发执行过程时,所述IO调度单元根据预定调度策略选择SCSI读写请求,并将选定的SCSI读写请求经SCSI中间层插入到通用块层的特定位置;然后调用通用块层特定位置上的SCSI读写请求,将其插入到相应磁盘的IO队列中;或者,
所述步骤C具体包括:
在不存在通用块层的情况下,当进入SCSI读写请求的下发执行过程时,所述IO调度单元根据预定调度策略选择SCSI读写请求,将选定的SCSI读写请求经SCSI中间层直接插入到相应磁盘的IO队列中。
进一步地,所述步骤C还包括:当所述IO调度单元收到用户发来的SCSI读写请求的下发执行命令时,进入SCSI读写请求的下发执行过程;或者,所述IO调度单元更新读写调度队列的属性的同时,检查读写调度队列中的SCSI读写请求数是否达到预定阈值,并在确定达到时触发进入SCSI读写请求的下发执行过程。
本发明还提供了一种IO调度装置,包括:读写命令处理单元和IO调度单元,其中,
所述读写命令处理单元,用于接收用户下发的SCSI读写命令,并将所述SCSI读写命令递交到所述IO调度单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910169610.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种搜索方法、装置及系统
- 下一篇:钢板冷却控制模拟方法





