[发明专利]一种块设备写IO整形和多控制器同步系统及同步方法有效
申请号: | 201710022292.2 | 申请日: | 2017-01-12 |
公开(公告)号: | CN106886368B | 公开(公告)日: | 2019-08-16 |
发明(设计)人: | 王道邦;王成武;周泽湘;李艳国;段舒文;于召鑫;潘兴旺;张恒;马赵军;王爽 | 申请(专利权)人: | 北京同有飞骥科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙) 11639 | 代理人: | 王民盛 |
地址: | 100096 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种解决多控制器中块设备写IO的整形和同步方法,属于海量数据存储技术领域。本发明通过在控制器实现虚拟块设备驱动,与底层块设备绑定,对服务器端的写IO请求整形和多控制器集群之间的同步,包括了块设备过滤驱动、IO整形模块、读间隙模块、缓存池、转发模块和IO下刷模块等。后端的物理块设备为共享型设备,包括FC等映射的共享磁盘,或通过SAS和其他方式连接的磁盘。对比现有技术,本发明解决多控制器数据同步时,无需占用双倍空间;解决多控制器集群存储中写IO性能优化和缓存一致性问题,充分发挥块设备的带宽性能,避免多次寻道的时间浪费,降低底层磁盘的写抖动和响应延时;写入缓存返回,解决磁盘的写抖动和IO的响应延时问题。 | ||
搜索关键词: | 一种 设备 io 整形 控制器 同步 系统 方法 | ||
【主权项】:
1.一种块设备写IO整形和多控制器同步系统,其特征在于:包括块设备驱动过滤模块,块设备绑定模块,写IO整形模块,IO转发模块,读间隙模块和IO下刷模块,以及内存池;块设备驱动过滤模块分别与块设备绑定模块、写IO整形模块、内存池连接,写IO整形模块分别与内存池、IO转发模块、读间隙模块连接,内存池与IO下刷模块连接;块设备驱动过滤模块,用于整个系统的初始化,包括内存资源分配,设备注册和用户管理程序交互;具体为根据用户在用户管理程序交互中输入的底层块设备,为其创建过滤块设备,分配内存池和启动IO下刷模块以及调用块设备绑定模块进行过滤块设备和底层块设备映射,过滤块设备用于用户通过用户管理程序交互进行SAN导出和接收IO请求,并对接收的IO请求调用IO整形模块进行处理;块设备绑定模块,用于将由所述块设备驱动过滤模块创建的过滤块设备和底层块设备进行映射,指定与块设备对应内存中的数据最终要写入的底层块设备;写IO整形模块,用于对写IO连续和间隙数据进行合并处理,并对合并完成后的写IO请求和与当前内存中数据不具合并关系的写IO请求写入与块设备对应内存中,并调用所述IO转发模块接口转发合并后的数据,调用IO下刷模块下刷数据;IO转发模块,用于将写IO整形模块发来的IO转发到集群的其他控制器中,同时注册反馈回调函数,等待其他控制器反馈,其他控制器反馈后将调用回调函数处理返回,成功返回不需要额外处理,失败时,根据返回的错误信息进行相关处理;读间隙模块,用于读出所述写IO整形模块发来的指定块设备的起始位置和长度的数据,并返回给所述写IO整形模块;IO下刷模块,用于在内存池水位触发时,将内存中的数据写入底层块设备,写入成功后调用回调函数处理下刷成功的IO请求,并通知其他控制器,其他控制器在收到此反馈时将缓存中的IO请求标记为Clean状态;将缓存池中的下刷成功的IO请求以及标识为Clean的数据清除。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同有飞骥科技股份有限公司,未经北京同有飞骥科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710022292.2/,转载请声明来源钻瓜专利网。