[发明专利]一种基于固态盘内部并行性的I/O调度方法及调度器有效

专利信息
申请号: 201310190301.0 申请日: 2013-05-21
公开(公告)号: CN103336669A 公开(公告)日: 2013-10-02
发明(设计)人: 周可;李春花;王桦;黄平;张科;何爽 申请(专利权)人: 华中科技大学
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 华中科技大学专利中心 42201 代理人: 朱仁玲
地址: 430074 湖北*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 固态 内部 并行 调度 方法
【权利要求书】:

1.一种基于固态盘内部并行性的I/O调度方法,其特征在于,包括以下步骤:

(1)将SSD的逻辑地址空间划分为N个具有相同大小的区域,对每个区域进行顺序编号,并为每个区域分配一个用于管理区域的子队列,每个子队列中包括读请求FIFO队列、写请求FIFO队列、读请求红黑树、以及写请求红黑树;

(2)设置区域计数器i=1;

(3)判断第i个区域的读请求FIFO队列中是否有读请求,或写请求FIFO队列中是否有写请求,如果有读请求或写请求,则转入步骤(4),否则转入步骤(15);

(4)判断第i个区域中上一次服务的请求是否为写请求,如果是则进入步骤(5),否则进入步骤(10);

(5)判断第i个区域中读请求FIFO队列和读请求红黑树中是否有读请求,如果有则进入步骤(6),否则进入步骤(11);

(6)判断第i个区域中读请求FIFO队列中是否存在超时的请求,若存在则转入步骤(7),否则转入步骤(8);

(7)从读请求FIFO队列中提取该超时的读请求,然后发送到固态盘驱动器中,然后转入步骤(9);

(8)从读请求红黑树中选择与上一次读请求位置相邻的请求,并将其发送到固态盘的驱动器中;

(9)判断已经发送到固态盘驱动器中的总读请求数目是否超过了一阀值,若是则转入步骤(15),否则返回步骤(6);

(10)判断第i个区域中写请求FIFO队列和写请求红黑树中是否有未处理的请求,如果有则进入步骤(11),否则返回步骤(6)。

(11)判断第i个区域中写请求FIFO队列中是否存在超时的写请求,若存在转入步骤(12),否则转入步骤(13);

(12)从写请求FIFO队列中提取该超时的写请求,然后发送到固态盘驱动器中,转入步骤(14);

(13)从写请求红黑树中选择与上一次写请求位置相邻的写请求发送到固态盘驱动器中;

(14)判断已经发送到固态盘驱动器中的总写请求数目是否超过了其阀值,若是则转入步骤(15),否则返回步骤(11);

(15)执行i自加1,并判断是否有i<=N,如果是则返回步骤(3),否则过程结束。

2.根据权利要求1所述的I/O调度方法,其特征在于,N值的确定方法为:首先获取固态盘总容量大小C,然后根据黑盒测试所设定的区域大小R计算出固态盘需要的区域数其中表示向上取整。

3.根据权利要求1所述的I/O调度方法,其特征在于,步骤(1)中,在任意时刻,当新的块I/O操作到达时,检查对应区域的子队列,若存在与其访问位置相邻的请求,则将该块I/O操作与位置相邻的请求合并成一个连续的大请求;若不存在,则为该块I/O操作分配一个新的请求,然后将该请求插入到对应的子队列的相应FIFO队列和红黑树中。

4.根据权利要求1所述的I/O调度方法,其特征在于,步骤(6)中,若该请求的当前时间大于该请求的Deadline字段中记录的时间点,则说明该请求超时;否则说明该请求没有超时。

5.根据权利要求1所述的I/O调度方法,其特征在于,步骤(8)具体为,在读请求红黑树中查找请求的“Start”字段等于上一次读请求的“End”字段加1的请求。

6.根据权利要求1所述的I/O调度方法,其特征在于,步骤(13)具体为,在写请求红黑树中查找请求的Start字段等于上一次写请求的End字段加1的请求。

7.一种使用权利要求1至6所述I/O调度方法的调度器,其特征在于,包括:

第一模块,用于将SSD的逻辑地址空间划分为N个具有相同大小的区域,对每个区域进行顺序编号,并为每个区域分配一个用于管理区域的子队列,每个子队列中包括读请求FIFO队列、写请求FIFO队列、读请求红黑树、以及写请求红黑树;

第二模块,用于设置区域计数器i=1;

第三模块,用于判断第i个区域的读请求FIFO队列中是否有读请求,或写请求FIFO队列中是否有写请求,如果有读请求或写请求,则转入步骤(4),否则转入步骤(15);

第四模块,用于判断第i个区域中上一次服务的请求是否为写请求,如果是则进入步骤(5),否则进入步骤(10);

第五模块,用于判断第i个区域中读请求FIFO队列和读请求红黑树中是否有读请求,如果有则进入步骤(6),否则进入步骤(11);

第六模块,用于判断第i个区域中读请求FIFO队列中是否存在超时的请求,若存在则转入步骤(7),否则转入步骤(8);

第七模块,用于从读请求FIFO队列中提取该超时的读请求,然后发送到固态盘驱动器中,然后转入步骤(9);

第八模块,用于从读请求红黑树中选择与上一次读请求位置相邻的请求,并将其发送到固态盘的驱动器中;

第九模块,用于判断已经发送到固态盘驱动器中的总读请求数目是否超过了一阀值,若是则转入步骤(15),否则返回步骤(6);

第十模块,用于判断第i个区域中写请求FIFO队列和写请求红黑树中是否有未处理的请求,如果有则进入步骤(11),否则返回步骤(6);

第十一模块,用于判断第i个区域中写请求FIFO队列中是否存在超时的写请求,若存在转入步骤(12),否则转入步骤(13);

第十二模块,用于从写请求FIFO队列中提取该超时的写请求,然后发送到固态盘驱动器中,转入步骤(14);

第十三模块,用于从写请求红黑树中选择与上一次写请求位置相邻的写请求发送到固态盘驱动器中;

第十四模块,用于判断已经发送到固态盘驱动器中的总写请求数目是否超过了其阀值,若是则转入步骤(15),否则返回步骤(11);

第十五模块,用于执行i自加1,并判断是否有i<=N,如果是则返回步骤(3),否则过程结束。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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