[发明专利]一种处理IO请求的方法及装置有效
申请号: | 201810776037.1 | 申请日: | 2018-07-16 |
公开(公告)号: | CN108984432B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 李丰 | 申请(专利权)人: | 杭州宏杉科技股份有限公司 |
主分类号: | G06F12/0895 | 分类号: | G06F12/0895 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310053 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 io 请求 方法 装置 | ||
本申请提供一种处理IO请求的方法及装置,该方法包括:接收读请求,确定所述读请求是否命中预设的读缓存表;其中,所述读缓存表记录处理读请求时缓存的有效数据;若未命中所述读缓存表,确定所述读请求是否命中预设的写缓存表;其中,所述写缓存表记录处理写请求时缓存的脏数据;若未命中所述写缓存表,确定所述读请求是否命中预设的临时缓存表;其中,所述临时缓存表记录已写入磁盘空间的脏数据;若命中所述临时缓存表的任一临时缓存表项,从所述临时缓存表项对应的缓存块中获取并返回待读取数据。在本申请中,存储设备可以更有效地利用缓存空间,提高了存储系统的性能。
技术领域
本申请涉及存储领域,特别涉及一种处理IO请求的方法及装置。
背景技术
在存储系统中,用户或应用程序访问LUN(Logical Unit Number,逻辑单元号)来读写数据,而数据存储的物理介质为磁盘。
当存储设备接收到针对任一LUN的IO(Input/Output,输入/输出)请求,会将数据写入至磁盘或从磁盘读取数据。由于从磁盘中读写数据的速度较慢,可以为各LUN分配缓存空间,利用缓存技术来提高处理IO请求的响应速度,进而提高存储系统的性能。
在相关技术中,可以为每一LUN分配读缓存空间和写缓存空间。其中,读缓存空间中保存了从磁盘读取到的有效数据,有效数据为磁盘中数据的备份;写缓存空间中保存了脏数据,脏数据为处理写请求时缓存的待写入数据,后续会被写入到磁盘。
当存储设备接收到读请求,可以在读缓存空间中查找是否存在待读取数据,若不存在,则可以进一步在写缓存空间中查找是否存在待读取数据。通过上述措施,存储设备可以减少从磁盘中读取数据,提高了处理读请求的响应速度。
然而,在相关技术中,当写缓存空间中的脏数据写入到磁盘之后,脏数据所在的缓存空间就被释放。即使被释放的缓存空间中暂无新的数据写入,原有的脏数据也无法用于响应读请求,降低了存储系统的性能。
发明内容
有鉴于此,本申请提供一种处理IO请求的方法及装置,用于合理地使用缓存空间,从而更有效的提升存储系统的性能。
具体地,本申请是通过如下技术方案实现的:
一种处理IO请求的方法,应用于存储设备,包括:
接收读请求,确定所述读请求是否命中预设的读缓存表的任一读缓存表项;其中,所述读缓存表记录处理读请求时缓存的有效数据;
若未命中任一读缓存表项,确定所述读请求是否命中预设的写缓存表的任一写缓存表项;其中,所述写缓存表记录处理写请求时缓存的脏数据;
若未命中任一写缓存表项,确定所述读请求是否命中预设的临时缓存表的任一临时缓存表项;其中,所述临时缓存表记录已写入磁盘空间的脏数据;
若命中任一临时缓存表项,从所述临时缓存表项对应的缓存块中获取并返回待读取数据。
一种处理IO请求的装置,应用于存储设备,包括:
第一确定单元,用于接收读请求,确定所述读请求是否命中预设的读缓存表的任一读缓存表项;其中,所述读缓存表记录处理读请求时缓存的有效数据;
第二确定单元,用于若未命中任一读缓存表项,确定所述读请求是否命中预设的写缓存表的任一写缓存表项;其中,所述写缓存表记录处理写请求时缓存的脏数据;
第三确定单元,用于若未命中任一写缓存表项,确定所述读请求是否命中预设的临时缓存表的任一临时缓存表项;其中,所述临时缓存表记录已写入磁盘空间的脏数据;
处理单元,用于若命中任一临时缓存表项,从所述临时缓存表项对应的缓存块中获取并返回待读取数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州宏杉科技股份有限公司,未经杭州宏杉科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810776037.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于清空过期缓存的方法和装置
- 下一篇:缓存数据控制方法及设备