[发明专利]一种IO处理方法及装置有效
申请号: | 201810145883.3 | 申请日: | 2018-02-12 |
公开(公告)号: | CN108334457B | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 扈海龙 | 申请(专利权)人: | 杭州宏杉科技股份有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310053 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 io 处理 方法 装置 | ||
1.一种IO处理方法,其特征在于,所述方法应用于存储设备,所述存储设备的物理空间被划分为若干页,所述方法包括:
接收应用服务端发送的写IO请求;
确定用于写入该写IO请求携带的第一数据块的第一目标页;
将所述第一数据块写入该第一目标页,生成所述第一数据块在该第一目标页内的第一页内索引记录,以及生成该第一数据块的第一逻辑地址映射记录,并向所述应用服务端返回成功写入消息;
其中,所述第一页内索引记录包括:为所述第一数据块分配的索引ID、所述第一数据块在所述第一目标页内的起始地址、以及所述第一数据块的数据长度;
所述第一逻辑地址映射记录包括:所述写IO请求携带的逻辑地址与所述第一目标页地址、为所述第一数据块分配的索引ID二者之间对应关系。
2.根据权利要求1所述的方法,其特征在于,所述确定用于写入该写IO请求携带的第一数据块的第一目标页,包括:
在所述若干页中,选择已完成空间整理的、并且剩余空间容量最大的页作为第一目标页。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述应用服务端发送的读IO请求;
在已记录的多个逻辑地址映射记录中,查找与该读IO请求携带的第二逻辑地址对应的第二目标页地址以及第二索引ID;
在所述第二目标页的多个页内索引记录中,查找与该第二索引ID对应的起始地址;
根据查找到的起始地址,从所述第二目标页中读取数据块,并将该数据块返回所述应用服务端。
4.根据权利要求3所述的方法,其特征在于,若读取到的数据块是压缩数据,则在所述将该数据块返回所述应用服务端之前,还包括:
对读取到的数据块进行解压缩;
将解压缩后的数据块写入到读IO请求对应的数据缓冲区。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定待进行空间整理的候选页;
当检测到经过上一次空间整理后的已整理页的剩余空间容量小于第一预设阈值,则将确定出的候选页中保存的有效数据块迁移至该候选页内连续的物理空间中,并将该有效数据块对应的页内索引记录中的第一起始地址修改为第二起始地址;
其中,所述第一起始地址为所述有效数据块迁移前所在该候选页内的物理空间的起始地址;所述第二起始地址为所述有效数据块迁移后所在该连续的物理空间中的起始地址。
6.根据权利要求5所述的方法,其特征在于,所述确定待进行空间整理的候选页,包括:
监测各个页释放的空间容量;
将释放空间容量高于第二预设阈值的页添加在候选队列中;
从所述候选队列中,选择出释放空间容量最多的前N个页,确定为候选页;其中,N为大于0的整数。
7.一种IO处理装置,其特征在于,所述装置应用于存储设备,所述存储设备的物理空间被划分为若干页,所述装置包括:
第一接收单元,用于接收应用服务端发送的写IO请求;
第一确定单元,用于确定用于写入该写IO请求携带的第一数据块的第一目标页;
写入单元,用于将所述第一数据块写入该第一目标页,生成所述第一数据块在该第一目标页内的第一页内索引记录,以及生成该第一数据块的第一逻辑地址映射记录,并向所述应用服务端返回成功写入消息;
其中,所述第一页内索引记录包括:为所述第一数据块分配的索引ID、所述第一数据块在所述第一目标页内的起始地址、以及所述第一数据块的数据长度;
所述第一逻辑地址映射记录包括:所述写IO请求携带的逻辑地址与所述第一目标页地址、为所述第一数据块分配的索引ID二者之间对应关系。
8.根据权利要求7所述的装置,其特征在于,所述第一确定单元,具体用于在所述若干页中,选择已完成空间整理的、并且剩余空间容量最大的页作为第一目标页。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州宏杉科技股份有限公司,未经杭州宏杉科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810145883.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种SDNS接口自动化测试系统和方法
- 下一篇:存储器高效的末级高速缓存架构