避免非易失存储器过擦写的方法技术

技术编号:20799056 阅读:50 留言:0更新日期:2019-04-06 12:44
本发明专利技术提供了一种避免非易失存储器过擦写的方法,通过实时统计非易失Flash的擦写次数,从中锁定一些最频繁被擦写的地址,对于超过约定擦写次数的地址,可以暂时中止擦写,停止进一步对非易失Flash的损伤,同时通过通讯、显示,将异常地址上报,从而便于程序员知道问题隐患并可及时定位问题所在。通过本发明专利技术,可以在内部测试期间就发现问题,从而将隐患消灭在出厂前,降低生产成本。

A Method of Avoiding Non-volatile Memory Overwrite

The invention provides a method for avoiding over-erasing of non-volatile memory. By counting the erasing times of non-volatile Flash in real time, some addresses which are most frequently erased are locked. For addresses that exceed the agreed erasing times, erasing can be temporarily stopped, further damage to non-volatile Flash can be stopped, and abnormal addresses can be reported through communication and display, thus facilitating the process. The programmer knows the hidden danger of the problem and can locate the problem in time. Through the invention, problems can be found during internal testing, so that hidden troubles can be eliminated before leaving the factory and production cost can be reduced.

【技术实现步骤摘要】
避免非易失存储器过擦写的方法
本专利技术涉及仪器仪表
,尤其是涉及一种通过统计擦写次数避免非易失存储器过擦写的方法。
技术介绍
仪器仪表要保存大量的历史数据,因而需要大容量的非易失存储器,用来存放这些历史数据。大容量Flash是目前仪器仪表上广泛使用的性价比高的非易失存储器,但Flash(Flash是存储芯片的一种,全名叫FlashEEPROMMemory,Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还可以快速读取数据,使数据不会因为断电而丢失)的最大问题在于写新数据前,必须对原空间所在页(Page)进行擦除处理,而每页的擦写次数是有限的,一般Flash也就只有10万次的页擦写次数,有的更低。超过其允许的擦写次数,器件就会损坏,从而造成整机损坏。每个程序员对非易失存储器Flash的擦写操作非常谨慎,尽管想千方百计避免频繁擦写,但受程序员自身经验及水平所限,很容易出现过擦写现象。同时由于非易失存储器Flash可以承受10万次的擦除次数,因而尽管由于规划或程序考虑不周会造成过擦写,但常规测试手段很难发现。往往都是运行了很长一段时间才出现问本文档来自技高网...

【技术保护点】
1.一种避免非易失存储器过擦写的方法,其特征在于,所述的方法包括:上电或超过约定的时间T,对信息记录单元中的变量Flash_Erase执行初始化;筛选信息记录单元中的变量Flash_Erase中记录的非易失存储器Flash页地址,从中锁定那些最多擦写的页地址;定时检查记录的数据,当页地址发生过擦除时,将异常地址信息外传。

【技术特征摘要】
1.一种避免非易失存储器过擦写的方法,其特征在于,所述的方法包括:上电或超过约定的时间T,对信息记录单元中的变量Flash_Erase执行初始化;筛选信息记录单元中的变量Flash_Erase中记录的非易失存储器Flash页地址,从中锁定那些最多擦写的页地址;定时检查记录的数据,当页地址发生过擦除时,将异常地址信息外传。2.根据权利要求1所述的一种避免非易失存储器过擦写的方法,其特征在于,所述的筛选信息记录单元中的变量Flash_Erase中记录的非易失存储器Flash页地址,从中锁定那些最多擦写的页地址包括:应用程序每次擦除非易失存储器Flash的页时,调用统计函数;判断该页地址是否包含在信任地址序列,如是信任地址,则跳出函数,正常返回;如不是信任地址,判断该页地址是否曾记录过;判断该页地址是否曾记录过,如记录过,判断相应的擦写次数erase_num是否小于0xff,如小于0xff,则擦写次数erase_num加1,如加1后大于一定时间T内允许擦写的最多次数EraseMax,异常返回,暂时终止对该地址的擦写;如等于0xff,则异常返回;如该页地址没有记录过,则判断Flash_Erase[PageMax]全范围内是否有擦写次数erase_num=0,所述Flash_Erase[PageMax]为定义的变量,用来记录最多锁定页数PageMax个擦写的页地址及擦写次数;判断Flash_Erase[PageMax]全范围内是否有擦写次数erase_num=0的,为零,说明没有记录过,可将本次地址记录到该页地址page_addr,同时相应的擦写次数erase_num置为1;不为零,判断全部的擦写次数erase_num是否大于一定时间T内允许擦写的最多次数EraseMax;判断全部的擦写次数erase_num是否大于一定时间T内允许擦写的最多次数EraseMax,如果是,则返回;如果否,则从Flash_Erase[Page...

【专利技术属性】
技术研发人员:赵强武占河李文周王玉娟金则群
申请(专利权)人:华立科技股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1