[发明专利]一种NandFlash驱动方法有效
申请号: | 201910600440.3 | 申请日: | 2019-07-04 |
公开(公告)号: | CN110287068B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 赵凌峰 | 申请(专利权)人: | 四川长虹空调有限公司 |
主分类号: | G06F11/20 | 分类号: | G06F11/20;G06F12/02;G06F11/14 |
代理公司: | 成都虹桥专利事务所(普通合伙) 51124 | 代理人: | 陈立志 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nandflash 驱动 方法 | ||
1.一种NandFlash驱动方法,其特征在于,将NandFlash划分为两个区域:活动区和备用区,活动区为应用可实际寻址的空间,备用区的块作为活动区的替换块;
在MCU的ROM中开辟两个空闲区域,两个区域均用于存储NandFlash的逻辑地址-物理地址映射表,记为第一映射表和第二映射表;两个逻辑地址-物理地址映射表的索引即对应NandFlash的物理块,其值为对应NandFlash物理块的状态;所述物理块的状态均含有以下信息:标记该块是否为坏块的坏块标记F1,该块对应的目标地址F2;
在对NandFlash的某个块进行写操作或擦除操作失败时,或在初始化过程中对活动区扫描时发现NandFlash的出厂坏块标记,则判断NandFlash的该块已经损坏,此时在备用区中使用一个好块替换掉对应的坏块,同时在逻辑地址-物理地址映射表中更新坏块标记F1和目标地址F2;
备用区的好块替换由低地址递增,备用区的下一个好块使用一个标识S1指定,该标识S1位于映射区的空闲区,该标识S1初始化为备用区的首个块的块索引,且每使用一个备用区的好块,则将标识S1指向下一个好块;
假如当前使用第一映射表,记当前的坏块索引为N1,则坏块更新流程如下:
S101.将扫描计数C清零;
S102.判断C是否等于N1,如果是则进行步骤S103否则进行步骤S105
S103.在备用区中找到一个备用好块,即备用区的下一个好块标识,其索引为B1;
S104.将映射表索引为C的位置的坏块的坏块标记改为[是],目标地址改为B1;
S105.将第一映射表索引为C的位置的值写入第二映射表索引为C的位置;
S107.扫描计数C+1;
S108.判断C是否小于NandFlash的块数量,如果是则进行S102,否则进行S109;
S109.在第二映射表的结尾处写入该映射表的校验,并将备用区的下一个好块标识改为下一个好块的索引;
S110.擦除第一映射表。
2.如权利要求1所述的一种NandFlash驱动方法,其特征在于,逻辑地址-物理地址映射表的更新使用两个映射表交替更新的方式,在完成更新后再擦除原映射表。
3.如权利要求2所述的一种NandFlash驱动方法,其特征在于,逻辑地址-物理地址映射表的具体更新步骤如下:
如当前使用的是第一映射表,则更新第二映射表,将第一映射表的内容复制到第二映射表,同时在复制过程中改变上述坏块的坏块标记和目标地址,并改变替换块的使用标记,在完成复制后删除第一映射表,如第二映射表更新失败,则可继续使用第一映射表;如果当前使用的是第二映射表,则相反。
4.如权利要求1所述的一种NandFlash驱动方法,其特征在于,如果备用区中的已经用于替换活动区的坏块的块损坏,则在备用区中继续使用另一个好块替换该备用区的坏块。
5.如权利要求1所述的一种NandFlash驱动方法,其特征在于,在系统首次上电时在MCU的ROM中首次建立NandFlash的物理地址-逻辑地址映射表,采用以下方案:
S201.将NandFlash的活动区的物理地址一一映射到第一映射表中,在该过程中不对活动块的好坏状态进行扫描和标记,仅用于建立初始的活动区映射表对应关系;
S202.扫描备用区,将其中的坏块进行标记,并在映射表中标记其坏块状态;
S203.扫描活动区,如果发现坏块,则使用坏块替换方法对活动区的坏块进行替换。
6.如权利要求1所述的一种NandFlash驱动方法,其特征在于,在系统非首次上电时,选择映射表的具体操作如下:
判断第一映射表和第二映射表是否都存在映射表数据且校验正确,如果只有其中一个映射表存在数据,则使用存在数据的映射表;如果两个映射表都没有数据,则进行初始化操作;如果都存在数据,则判断两个映射表备用区的下一个可用块标识的大小,使用标识较大的映射表。
7.如权利要求1所述的一种NandFlash驱动方法,其特征在于,在对NandFlash进行操作时采用以下方法从逻辑地址获取实际地址:
在当前使用的映射表中找到逻辑地址对应的值,根据其坏块标记F1判断该块是否为坏块,如果为坏块,则对其目标地址F2继续进行坏块判断,如果不为坏块则实际地址即逻辑地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹空调有限公司,未经四川长虹空调有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910600440.3/1.html,转载请声明来源钻瓜专利网。