发明名称 |
一种多队列的高速存储设备驱动程序设计方法 |
摘要 |
本发明提供了一种多队列的高速存储设备驱动程序设计方法,请求格式转换之后不直接发送到设备,而是将其缓冲在预备队列中,而且对该请求的发送操作并不一定由当前进程来执行;只有当预备队列变成活动队列之后,其中的请求才可以被发送到设备,此发送过程是由某一个进程代表活动队列上请求的所有者来集中完成的,所以高效且资源消耗少。 |
申请公布号 |
CN102073493B |
申请公布日期 |
2013.08.28 |
申请号 |
CN201010598553.3 |
申请日期 |
2010.12.17 |
申请人 |
曙光信息产业股份有限公司 |
发明人 |
贺志强;李麟;袁清波;许建卫 |
分类号 |
G06F9/44(2006.01)I;G06F9/445(2006.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
北京安博达知识产权代理有限公司 11271 |
代理人 |
徐国文 |
主权项 |
一种多队列的高速存储设备驱动程序设计方法,其特征在于:步骤如下:A、从文件系统获得IO请求;B、在持有预备队列的自旋锁的情况下将请求入队;C、在持有队列切换自旋锁的情况下检查活动队列,若为空则将预备队列和活动队列互换,若非空则不进行操作;D、对请求发送标志进行原子的测试和设置操作;E、处理请求的进程向设备循环发送活动队列上的请求,已发送的则从活动队列中移除;若队列为空或队列已满,则中止这一轮发送;F、清空发送标志;G、检查活动队列,若为空则将预备队列和活动队列互换;H、检查活动队列,若非空,则启动一个定时器,在短时间内再次从步骤D开始执行;所述步骤D测试和设置操作过程为测试若为0则置1,否则不对其进行修改;若置位成功,则当前进程进入发送请求临界区,将其发送至设备;若置位不成功,则表明已有一个进程正在活动队列上处理请求,跳转至步骤H。 |
地址 |
300384 天津西青区华苑产业区(环外)海泰华科大街15号1-3层 |