[发明专利]嵌入式ARM处理器对NANDFLASH数据存储和删除方法无效
申请号: | 201110238970.1 | 申请日: | 2011-08-19 |
公开(公告)号: | CN102323907A | 公开(公告)日: | 2012-01-18 |
发明(设计)人: | 赵祥模;惠飞;余腾;史昕;杨澜;雷涛 | 申请(专利权)人: | 长安大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李郑建 |
地址: | 710064*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种嵌入式ARM(Advanced RISC Machines)处理器对NANDFLASH(非易失闪存)数据存储和删除方法,该方法严格控制NANDFLASH的每一块数据擦除的次数,首先获得NANDFLASH存储信息;然后在ARM处理器的内存(SDRAM)中建立一个数据缓存区A,从NANDFLASH的Block0,Page0和Page1读取FAT(File Allocation Table)文件分配信息(该分配信息保存NNADFLASH的坏块记录),然后针对ARM处理器写和删除NANDFLASH数据操作请求做出判断,规定了写请求和删除请求的操作。该方法实现了不依赖操作系统的嵌入式ARM处理器对NANDFLASH的高效写入和删除操作,可大幅度提高NANDFLASH的使用寿命,且不依赖操作系统,移植简单。 | ||
搜索关键词: | 嵌入式 arm 处理器 nandflash 数据 存储 删除 方法 | ||
【主权项】:
一种嵌入式ARM处理器对NANDFLASH数据存储和删除方法,其特征在于,该方法严格控制NANDFLASH的每一数据块擦除的次数,具体按以下步骤操作:1)ARM处理器对NANDFLASH进行初始化,获得NANDFLASH存储信息;2)在内存中建立一个数据缓存区A,该缓数据存区A的大小与NANDFLASH的页大小一样;3)从NANDFLASH的Block0,Page0和Page1读取FAT文件分配信息,获取记录NANDFLASH坏块信息,将不对这些坏块进行任何的读写操作;4)从NANDFLASH的Block0块,Page2到Block1读取剩余其他Block的文件配置信息,获取当前可操作的Block位置、Page位置和在该Page里面设置的偏移地址Index;5)针对ARM处理器写和删除NANDFLASH数据操作请求做出判断;A)如果是数据写请求,则进行以下操作:(1)如果数据量达到数据缓存区A大小时,将缓存区的数据写入相应的Block和Page区域;(2)开始申请下一个可进行数据存储的Page,如果还在同一个Block里,则对Page偏移量加1,如果不是,则要申请一个新的Block;从上面建立的文件分配信息里面可以迅速查找可以使用的Block,同时查找出擦除次数最少的Blokc编号,通过该编号获取相应的Block地址,将Page置0;(3)如果是强制写入函数,则将数据立即写入Page,同时更改Page的索引值Index,继续填充缓存区A,直到数据量达到缓存区A的大小;(4)如果在写入过程中存在ECC校验失败的情况,则需进行Block数据拷贝操作,减少系统延时;(B)如果是数据删除请求,则进行以下操作:(1)将要删除数据开始位置的Page位置和Page偏移位置之前的数据复制到当前Block、Page和偏移位置中,同时将删除数据结束位置的Page位置和Page偏移之后的数据复制到当前Block、Page和偏移位置中;(2)在上一步的操作中如果需要新的Block存储数据时,根据建立的文件分配信息表,查找可用的Block,并将该Blokc的对应编号做相应处理;(3)擦除存在脏数据的Block,如果在擦除过程中出现ECC校验失败,再进行一次擦除操作,擦除操作后依然提示ECC校验失败,则将该Block的Page0扩展区Spare area的第六个字节标记为非Oxff的值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长安大学,未经长安大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110238970.1/,转载请声明来源钻瓜专利网。