[发明专利]无锁FTL访问方法与装置有效
申请号: | 201610512869.3 | 申请日: | 2016-07-01 |
公开(公告)号: | CN107562648B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 袁戎 | 申请(专利权)人: | 北京忆恒创源科技有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 托娅 |
地址: | 100192 北京市海淀区西小*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ftl 访问 方法 装置 | ||
1.一种处理IO请求的方法,包括:
响应于收到写请求,访问写请求对应的第一FTL表项,若第一FTL表项未被加锁,则对第一FTL表项加锁;
响应于收到读请求,访问读请求对应的第一FTL表项,即使第一FTL表项被加所述锁,也从第一表项记录的物理地址读取数据;
为写请求分配第一物理地址,以第一物理地址更新第一FTL表项,对第一FTL表项解锁,向第一物理地址写入数据。
2.根据权利要求1所述的方法,其中
在处理写请求时,若第一FTL表项被加锁,中止对所述写请求的处理,直到第一FTL表项的锁被释放。
3.根据权利要求2所述的方法,其中
所述第一FTL表项的锁被释放后,获取所述第一FTL表项,并对第一FTL表项加锁。
4.根据权利要求1所述的方法,其中
在处理写请求时,若第一FTL表项被加锁,结束对所述写请求的处理。
5.一种处理IO请求的方法,包括:
响应于收到写请求,访问写请求对应的第一FTL表项,若第一FTL表项未被加锁,则对第一FTL表项加锁;
响应于收到读请求,访问读请求对应的第一FTL表项,若第一FTL表项被加所述锁,将所述写请求要写入的数据作为对所述读请求的响应;
为写请求分配第一物理地址,以第一物理地址更新第一FTL表项,对第一FTL表项解锁,向第一物理地址写入数据。
6.一种处理IO请求的方法,包括:
响应于收到写请求,访问写请求对应的第一FTL表项与第二FTL表项,对所述第一FTL表项与所述第二FTL表项加锁;
响应于收到读请求,访问读请求对应的第一FTL表项,即使第一FTL表项被加所述锁,也从第一表项的物理地址读取数据;
为写请求分配第一物理地址与第二物理地址,以第一物理地址更新第一FTL表项,对第一FTL表项解锁,以第二物理地址更新第二FTL表项,以及向第一物理地址与第二物理地址写入数据。
7.根据权利要求6所述的方法,其中
在处理写请求时,若第一FTL表项被加锁,等待第一FTL表项的锁被释放。
8.根据权利要求7所述的方法,其中
在处理写请求时,在第一FTL表项的锁被释放后,获取第一FTL表项,并对第一FTL表项加锁。
9.一种处理IO请求的装置,包括:
写请求处理模块,用于响应于收到写请求,访问写请求对应的第一FTL表项,若第一FTL表项未被加锁,则对第一FTL表项加锁;
读请求处理模块,用于响应于收到读请求,访问读请求对应的第一FTL表项,即使第一FTL表项被加所述锁,也从第一表项的物理地址读取数据;
写请求执行模块,用于为写请求分配第一物理地址,以第一物理地址更新第一FTL表项,对第一FTL表项解锁,向第一物理地址写入数据。
10.一种处理IO请求的装置,包括:
写请求处理模块,用于响应于收到写请求,访问写请求对应的第一FTL表项,若第一FTL表项未被加锁,则对第一FTL表项加锁;
读请求处理模块,用于响应于收到读请求,访问读请求对应的第一FTL表项,若第一FTL表项被加所述锁,将所述写请求要写入的数据作为对所述读请求的响应;
写请求执行模块,用于为写请求分配第一物理地址,以第一物理地址更新第一FTL表项,对第一FTL表项解锁,向第一物理地址写入数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆恒创源科技有限公司,未经北京忆恒创源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610512869.3/1.html,转载请声明来源钻瓜专利网。