[发明专利]一种基于固态盘内部并行性的I/O调度方法及调度器有效
申请号: | 201310190301.0 | 申请日: | 2013-05-21 |
公开(公告)号: | CN103336669A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 周可;李春花;王桦;黄平;张科;何爽 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 固态 内部 并行 调度 方法 | ||
技术领域
本发明属于固态盘存储技术领域,更具体地,涉及一种基于固态盘内部并行性的I/O调度方法及调度器。
背景技术
近年来,由于半导体技术的日益成熟,固态盘(Solid State Disk,简称SSD)技术在存储系统中的使用越来越广泛。固态盘相对于传统的机械式磁盘(Hard Disk Drive,简称HDD),有如下特点:
固态盘的总体性能要优于机械式磁盘,尤其是随机访问性能。HDD磁盘内部的机械部件寻道操作是其性能低下的主要原因,相反,固态盘内部没有机械部件,没有寻道操作,其主要开销来自FTL层(Flash Translation Layer:闪存转换层)逻辑地址到物理地址的翻译过程,而与访问数据的实际物理地址无关,因而具有良好的随机性能。
固态盘的并行性能要优于机械式磁盘的并行性能。固态盘内部由多芯片、多通道组成,通道和芯片之间都可以并行地操作以提高系统整体性能。而磁头不能并行地对磁盘进行访问,相反,若应用具有高并发度会导致磁头不停地“抖动(Thrashing)”而降低性能。
机械式磁盘的读写访问具有对称性,而固态盘的读写访问具有很强的非对称性,即机械式磁盘的数据读写都需要进行相同的磁盘寻道操作,因而耗费大致相当的时间(毫秒级),而固态盘的数据读写性能之间相差一到两个数量级,且读写操作之间具有很强的干扰影响。
机械式磁盘具有几乎无限长的寿命,而固态盘由于擦写次数有限导致其使用寿命有限,而且其寿命与所经历的总写入数据量有关。写入的数据总量越多,则其消耗的寿命也越大。
然而,现有的系统软件大多都是面向传统机械磁盘(HDD)设计和优化的,它们充分考虑了HDD的物理操作特性,当固态盘(SSD)取代传统机械磁盘,原有系统针对传统机械磁盘的优化将不再适用。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于固态盘内部并行性的I/O调度方法,其目的在于根据SSD的特点,在内核块层进行优化,使得到达固态盘的I/O请求呈现更强的顺序性,能够合理适度地利用固态盘内部的并行性以及避免读写请求之间的相互干扰,从而能够提高整个固态盘系统的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),否则过程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310190301.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于低频复合电磁超材料的无线电能传输装置
- 下一篇:一种新型牙膏瓶