[发明专利]一种FTL表快速重建方法与装置有效
申请号: | 201610500411.6 | 申请日: | 2016-06-29 |
公开(公告)号: | CN107544913B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 孙清涛;蔡述楠;居颖轶 | 申请(专利权)人: | 北京忆恒创源科技股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 托娅 |
地址: | 100192 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ftl 快速 重建 方法 装置 | ||
1.一种利用日志重建FTL表的方法,包括:
确定要重建第一FTL块,其中第一FTL块是FTL表的部分;
获取第一FTL块的FTL帧与日志帧的存储位置;
读取属于第一FTL块的多个FTL帧与多个日志帧,其中日志帧是根据写操作请求所对应的逻辑地址与物理地址生成的,以及日志帧中的所有日志条目的逻辑地址属于相同的FTL块;
利用所述多个FTL帧重建第一FTL块;以及
利用所述多个日志帧更新第一FTL块;
在所述FTL表被完全重建之前,以第一FTL块响应访问第一FTL块的逻辑地址空间的IO请求。
2.如权利要求1所述的利用日志重建FTL表的方法,其中,确定要重建的第一FTL块,包括:
按FTL块在FTL表中的地址顺序,选择第一FTL块;或者
预测存储设备启动后将被首先访问的第一逻辑地址,选择第一FTL块,使得所述第一FTL块的逻辑地址范围包括所述第一逻辑地址;或者
获取存储设备上存储的存储设备之前启动后被首先访问的第二逻辑地址,选择第一FTL块,使得所述第一FTL块的逻辑地址范围包括所述第二逻辑地址。
3.如权利要求1所述的利用日志重建FTL表的方法,其中,确定要重建的第一FTL块,包括:
识别存储设备接收到的IO请求所对应的第三逻辑地址,选择第一FTL块,使得所述第一FTL块的逻辑地址范围包括所述第三逻辑地址。
4.如权利要求3所述的利用日志重建FTL表的方法,确定要重建的第一FTL块,包括:
响应于识别存储设备接收到的IO请求所对应的第三逻辑地址,暂停对第二FTL块的重建而选择第一FTL块,使得所述第一FTL块的逻辑地址范围包括所述第三逻辑地址。
5.如权利要求1-4之一所述的利用日志重建FTL表的方法,其中所述获取第一FTL块的FTL帧与日志帧的存储位置包括:
从NVM的启动页中获取第一FTL块的最后FTL帧的存储位置,以及第一FTL块的最后日志帧的存储位置;或者
从NVM的启动页中获取第一FTL块的最后FTL帧组的存储位置,以及第一FTL块的最后日志帧组的存储位置,其中FTL帧组是存储于相同NVM物理页上的多个FTL帧,以及日志帧组是存储于相同NVM物理页上的多个日志帧。
6.如权利要求1-5之一所述的利用日志重建FTL表的方法,其中,所述利用日志帧更新第一FTL块包括,按日志帧中的日志条目被生成顺序来更新第一FTL块或按日志帧中的日志条目被生成顺序的逆序来更新第一FTL块。
7.如权利要求6所述的利用日志重建FTL表的方法,其中,所述按日志帧中的日志条目被生成顺序的逆序来更新第一FTL块,包括:
获得属于第一FTL块的第一日志帧;
用第一日志帧中的多个日志条目按从后向前的顺序更新第一FTL块;
对被更新的FTL条目设置标记;
若待被第一日志条目更新的FTL条目上存在标记,则忽略该第一日志条目;
用属于所述第一FTL块的所有其他日志帧更新第一FTL块后,或者第一FTL块的所有FTL条目都存在标记后,对第一日志帧的更新完成。
8.如权利要求1-7之一所述的利用日志重建FTL表的方法,还包括:
确定要重建第二FTL块;
获取第二FTL块的FTL帧与日志帧的存储位置;
读取属于第二FTL块的第二多个FTL帧与第二多个日志帧;
利用所述第二多个FTL帧重建第二FTL块;以及
利用所述第二多个日志帧更新第二FTL块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆恒创源科技股份有限公司,未经北京忆恒创源科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610500411.6/1.html,转载请声明来源钻瓜专利网。