[发明专利]一种块设备输入输出请求调度的方法及装置有效
申请号: | 201410541441.2 | 申请日: | 2014-10-14 |
公开(公告)号: | CN104317656B | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 黄凯明;刘文涛;归建章 | 申请(专利权)人: | 深圳市锐明技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 深圳中一专利商标事务所44237 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 设备 输入输出 请求 调度 方法 装置 | ||
技术领域
本发明涉及计算机存储器领域,特别涉及一种块设备输入输出请求调度的方法及装置。
背景技术
传统的操作系统(如Linux和windows等)的块设备输入输出调度算法以优化机械磁盘输入输出性能为目标,尽可能地让机械磁头往一个方向连续移动,以减少机械磁头寻道定位的时间开销。
随着技术的发展,采用闪存颗粒的固态硬盘和SD卡(Secure Digital Memory Card,安全数码卡)开始逐渐取代带有机械磁盘磁头的机械磁盘。与机械硬盘的一个主要差别是:闪存颗粒没有机械磁头寻道定位的开销,但闪存内部需要后台运行垃圾回收操作,擦除无用数据块,为后续写入操作预先腾出空间。
在测试中发现,操作系统的块设备调度算法与闪存的垃圾及时回收存在配合冲突问题。表现如下:持续不断地写SD卡,每次写64KB,写地址随机。一段时间后,出现连续的数十次前后相邻写操作耗时均超过3秒,个别写操作耗时甚至长达数十秒。持续1~2分钟后恢复短暂正常,然后又重现。在实时性很强的数据采集应用场景,如此持续时间长的连续耗时过长写操作会导致数据缓冲阻塞,造成严重的实时数据丢失事故。
发明内容
本发明提供了一种块设备输入输出请求调度的方法及装置,提高了写操作的效率。
一方面,本发明提供了一种块设备输入输出请求调度的方法,所述方法包括:
A.生成块设备输入输出请求,所述块设备输入输出请求包括写操作请求;
B.判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
C1.当生成的所述块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的所述块设备输入输出请求送入所述请求队列的最前位置。
第二方面,本发明提供了一种块设备输入输出请求调度的装置,所述装置包括:
生成模块,用于生成块设备输入输出请求,所述块设备输入输出请求包括写操作请求;
判断模块,用于判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
送入模块,用于当生成的所述块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的所述块设备输入输出请求送入所述请求队列的最前位置。
在本发明中,由于首先生成块设备输入输出请求,块设备输入输出请求包括写操作请求;然后判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,则当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置,因此,提高了写操作的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的块设备输入输出请求调度的方法一种流程图;
图2为本发明实施例一提供的块设备输入输出请求调度的方法另一种流程图;
图3为本发明实施例三提供的块设备输入输出请求调度的装置一种结构示意图;
图4为本发明实施例三提供的一种块设备输入输出请求调度的装置修复模块结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本发明实施例一提供了一种块设备输入输出请求调度的方法,参见图1,块设备输入输出请求调度的方法包括以下步骤:
101.生成块设备输入输出请求,块设备输入输出请求包括写操作请求。
102.判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤103a。
步骤102中判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并具体为:判断生成的块设备输入输出请求的起始目的地址是否与请求队列中的块设备输入输出请求的结束目的地址是否相同,或判断生成的块设备输入输出请求的结束目的地址是否与请求队列中的块设备输入输出请求的起始目的地址是否相同。
103a.当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市锐明技术股份有限公司,未经深圳市锐明技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410541441.2/2.html,转载请声明来源钻瓜专利网。