[发明专利]一种FTL数据回收时掉电保护的方法有效
申请号: | 201410751433.0 | 申请日: | 2014-12-09 |
公开(公告)号: | CN105740171B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 林琳;李利;王招凯;杨飞虎 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F12/16 | 分类号: | G06F12/16 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 李勇 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ftl 数据 回收 掉电 保护 方法 | ||
1.一种FTL数据回收时掉电保护的方法,其特征在于,包括以下步骤:
步骤(1)、FTL数据保存至Nand-Flash非易失存储介质中,存储FTL数据的块为FTL块,FTL块中每个页为FTL页;
步骤(2)、初始化相关参数,计算出存储FTL数据所需占用的页数,把FTL页分配给FTL块,其中所述FTL页分为有效FTL页和无效FTL页,FTL块中有效FTL页的数量设定为一常数;
步骤(3)、当更新FTL数据时,找到该FTL数据所在的FTL块,在所述FTL块中存储最新的FTL数据,当页逻辑地址达到块内页数量的最大值时,分配一个新块作为FTL块,并将原FTL块中有效FTL页中的有效FTL数据搬移至新FTL块;
步骤(4)、如果系统在搬移有效FTL数据至新FTL块时意外掉电,再次上电初始化时,扫描所有的FTL块并对FTL数据是否有效进行分析;
步骤(5)、当所述FTL块中有效FTL页数量小于所述设定的常数时,则表明该FTL块中的有效FTL数据未被完全搬移,擦除该FTL块,恢复至更新前的FTL数据。
2.根据权利要求1所述的FTL数据回收时掉电保护的方法,其特征在于:所述步骤(2)中具体包括:
系统初始化相关参数,根据Nand-Flash的页大小、每个页物理地址的存储空间占用字节数和Nand-Flash所有有效使用页的数量,计算出存储FTL数据所需占用的页数;
把FTL页平均分配给若干个FTL块;
FTL页通过更新标识区分为有效FTL页和无效FTL页;
FTL块中有效FTL页的数量设定为一常数。
3.根据权利要求1或2所述的FTL数据回收时掉电保护的方法,其特征在于:设定的所述常数小于FTL块中最大页数量的1/4。
4.根据权利要求1所述的FTL数据回收时掉电保护的方法,其特征在于:所述步骤(3)具体包括:
当更新FTL数据时,对一虚拟地址写入FTL数据,根据所述虚拟地址计算出该FTL数据所在的FTL块,将所述FTL数据写入所述FTL块中;
判断所述FTL块是否已经写满;
如果未写满,按照页逻辑地址递增的顺序存储最新的FTL数据后执行结束;
如果已经写满即当页逻辑地址达到FTL块内页数量的最大值时,则分配一个新块作为FTL块;
搬移原FTL块中有效FTL页中的有效FTL数据至所述新FTL块;
搬移成功后将原FTL块擦除释放。
5.根据权利要求1或2或4任一所述的FTL数据回收时掉电保护的方法,其特征在于:如果系统在搬移有效FTL数据至新FTL块时意外掉电,则执行所述步骤(4)和(5),具体包括:
再次上电时初始化所述步骤(2)中的相关参数;
从所述Nand-Flash的第0块开始,扫描所述块第0页;
判断当前块是否为FTL块;
如果该块为FTL块,分析该块内的所有FTL页,并计算出该FTL块内所有FTL页编号的个数;
判断该FTL页编号的个数是否符合初始化时设定的所述常数;
如果不符合,则擦除该FTL块,并将从该FTL块中读出的FTL数据丢弃;
当判断当前块为非FTL块或者判断FTL页编号的个数符合所述常数或者擦除该FTL块后,判断该块是否为所述Nand-Flash最后一个块;
如果该块不是所述Nand-Flash最后一个块,则将块号加1后返回判断当前块是否为FTL块的步骤;
如果该块是所述Nand-Flash最后一个块,则执行结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410751433.0/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置