[发明专利]一种加速磁盘随机输入输出(IO)读写的方法有效
申请号: | 201410025008.3 | 申请日: | 2014-01-20 |
公开(公告)号: | CN104793892B | 公开(公告)日: | 2019-04-19 |
发明(设计)人: | 黄敏飞;莫显峰;蒙晓净 | 申请(专利权)人: | 优刻得科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 徐乐乐 |
地址: | 200433 上海市杨浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种加速磁盘随机输入输出(IO)读写的方法,其特征在于包括以下步骤:计算机操作系统应用层进行数据读写操作,通过内陷进入内核态,虚拟文件系统层将数据封装成BIO,即虚拟文件系统层与通用块层交互的数据结构,并提交至通用块层子系统;在通用块层子系统的DEVICE‑MAPPER驱动层,BIO将切割成固定块大小,传递给BINLOGDEV模块层,当BIO进入BINLOGDEV模块层,将被检查是否满足缓存条件,即BIO起始位置是否对齐,长度是否为块长度,如果满足条件,执行步骤103;如果不满足条件,执行步骤106。本发明在写入随机IO的情况下,将随机IO变成顺序IO,存储速度快,效率高。 | ||
搜索关键词: | 一种 加速 磁盘 随机 输入输出 io 读写 方法 | ||
【主权项】:
1.一种加速磁盘随机输入输出(IO)读写的方法,其特征在于包括以下步骤:101、计算机操作系统应用层进行数据读写操作,通过内陷进入内核态,虚拟文件系统层将数据封装成BIO,即虚拟文件系统层与通用块层交互的数据结构,并提交至通用块层子系统;102、在通用块层子系统的DEVICE‑MAPPER驱动层,BIO将切割成固定块大小,传递给BINLOGDEV模块层,当BIO进入BINLOGDEV模块层,将被检查是否满足缓存条件,即BIO起始位置是否对齐,长度是否为块长度,如果满足条件,执行步骤103;如果不满足条件,执行步骤106;103、BINLOGDEV模块先搜索内存,以确定BIO是否被缓存,如果BIO被BINLOGDEV模块缓存,执行步骤104;如果BIO未被缓存,执行步骤105;104、在BIO已被BINLOGDEV模块缓存的情况下,如果为读操作,则BINLOGDEV模块直接将BIO重定向至缓存磁盘即可;而如果为写操作,则BINLOGDEV模块更新内存中此BIO对应的BINLOGDEV_IO的元数据和数据块,并将BINLOGDEV_IO写入缓存磁盘,之后通过线程回写至数据盘;105、在BIO未被BINLOGDEV模块缓存的情况下,如果为读操作,则BIO直接读取数据盘数据;如果为写操作,则BINLOGDEV模块将BIO中的元数据,以及数据封装成BINLOGDEV_IO数据结构,写入缓存磁盘,之后通过线程回写至数据盘;106、当BIO不满足对齐条件下,不管BIO为读或者写操作,都需要将涉及到的脏数据块,即还未写入数据盘的数据,写入数据盘,然后BIO再对数据盘进行读写操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于优刻得科技股份有限公司,未经优刻得科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410025008.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种多路服务器的存储方法和多路服务器
- 下一篇:背景颜色的适配方法和装置