一种基于固态盘内部并行性的I/O调度方法及调度器技术

技术编号:9223352 阅读:207 留言:0更新日期:2013-10-04 17:25
本发明专利技术公开了一种基于固态盘内部并行性的I/O调度方法,包括:将SSD的逻辑地址空间划分为N个具有相同大小的区域,对每个区域进行顺序编号,并为每个区域分配一个用于管理区域的子队列,每个子队列中包括读请求FIFO队列、写请求FIFO队列、读请求红黑树、以及写请求红黑树,设置区域计数器i=1,判断第i个区域的读请求FIFO队列中是否有读请求,或写请求FIFO队列中是否有写请求,如果有读请求或写请求,则判断第i个区域中上一次服务的请求是否为写请求,如果是则,判断第i个区域中读请求FIFO队列和读请求红黑树中是否有读请求。本发明专利技术能够合理适度地利用固态盘内部的并行性以及避免读写请求之间的相互干扰,从而能够提高整个固态盘系统的I/O性能和使用寿命。

【技术实现步骤摘要】

【技术保护点】
一种基于固态盘内部并行性的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),否则过程结束。...

【技术特征摘要】

【专利技术属性】
技术研发人员:周可李春花王桦黄平张科何爽
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1