当前位置: 首页 > 专利查询>苏州大学专利>正文

一种FLASH存储器擦写方法技术

技术编号:3088948 阅读:315 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种FLASH存储器擦写方法,包括以下步骤:(1)设置数据帧结构,每一数据帧内含有8倍数的字节数,存储区域分为N页;(2)选定最后一个所述数据帧所在页为当前页,若该页已写满则转入下一页I,将I页设为当前页,当所述I页为存储区域中的N-1页时,I+1页为0页;(3)写入数据;(4)当前页I被写满后,转入下一页,并重新设定该页为当前页I,选择擦除第I-1页或第I+1页内容的两种擦除方式中的一种,执行擦除;(5)在正常工作过程中,重复步骤(3),直至当前页为第N-1页,所述第I+1页为0页;在重新上电后,重复步骤(2)。本发明专利技术通过选用两种擦除方式,实现每个存储单元完全均衡的擦写,延长FLASH的使用寿命。

【技术实现步骤摘要】

本专利技术涉及一种存储介质的擦写方法,具体涉及一种FLASH存储器的擦 写方法,适用于擦写频繁的嵌入式测量和控制系统中的FLASH存储器。
技术介绍
当前,嵌入式微控制器MCU在电子测量和控制领域得到了广泛的应用,而 在嵌入式测量和控制系统中,通常有一些系统状态数据、运行参数或测量数据 需要保存在非易失性存储器中。FLASH存储器是一种在EPROM和EEPROM的制造技术基础上发展起来 的一种可擦除、非易失性存储元件,由于它具有功耗低、擦写速度快、价格便 宜的特点,在嵌入式系统中得到了越来越多的应用。嵌入式系统中使用的FLASH 存储器有两种, 一种是在MCU之外扩展的FLASH芯片,通常是用串行通信方 式实现读、写和擦除操作的;另外一种是MCU内部集成的FLASH存储器,通 过按一定步骤设置内部寄存器来完成擦除和写入操作。FLASH存储器的擦写次数是有一定限制的,也就是说它有一定的使用寿命。 专门的FLASH芯片,擦写次数可达10万次而MCU内部集成的FLASH存储 器,擦写次数一般仅为l万次。由于FLASH存储器的擦写次数是有限的,如果 频繁地擦写FLASH存储器的某个固定区域,就会使该区域在较短的时间内达到 使用寿命,从而降低了 FLASH存储器的使用寿命,以至于影响整个系统的使用 寿命。为延长FLASH存储器使用寿命,可采取的措施主要是将数据平均地写到用 来存储数据的整个FLASH存储区域,避免在某些存储区域频繁地擦写,确保在 整个系统的使用寿命期内,FLASH存储器不会达到它的使用寿命。在有操作系统和文件管理系统的电子产品中,FLASH存储器作为大容量文 件存储器,可以采用较复杂的算法来均衡FLASH存储器的擦写,延长它的使用 寿命,如磨损均衡算法等。而在如上所述的嵌入式测量和控制系统中,通常没有操作系统和文件管理系统,而且用来存储数据的FLASH存储器容量也比较 小, 一般只有几K到几十K字节,因此不可能采用较复杂的算法来管理。具体 来说,若仅仅将数据平均地写到小容量的FLASH存储区域内,在正常连续写入 MCU中的情行下,不采用复杂的算法也是可以实现的,但是嵌入式仪器仪表在 不使用时通常会关闭电源,或在使用过程中出现掉电现象,在重新上电工作后 需要知道上次正常工作或掉电前写入的有效数据在FLASH存储器中的存储位 置,即有效数据区的起始地址和结束地址(至少需要知道结束地址),这就需要在 FLASH存储器中有几个固定单元用来保存这些地址,否则无法实现平均写入的 目的。如此一来,这些用于保存地址的单元还是会被频繁地擦写,会首先达到 擦写饱和值,从而影响到整个存储芯片的寿命。因而,如上所述的平均写入内 容的方法,并不能从根本上解决延长FLASH存储器使用寿命的问题。
技术实现思路
本专利技术目的是提供一种能够延长嵌入式系统中FLASH存储器使用寿命的 FLASH存储器擦写方法。为达到上述目的,本专利技术采用的技术方案是一种FLASH存储器擦写方法, 包括以下步骤(1) 设置数据帧结构,每一数据帧内含有8倍数的字节数,复数个数据帧 组成存储区域内的一页,所述存储区域划分为N页,编号0页 (N-l)页;(2) 选定最后一个所述数据帧所在页为当前页,若该页已写满则转入下一 页I,将I页设为当前页,当所述I页为存储区域中的N-l页时,1+1页为0 页;(3) 写入数据;(4) 当前页I被写满后,转入下一页,并重新设定该页为当前页I,选择 擦除第1-1页或第1+1页内容的两种擦除方式中的一种,执行擦除;(5) 在正常工作过程中,重复步骤(3),直至当前页为第N-l页,所述第1+1 页为O页;在重新上电后,重复步骤(2)。上述技术方案中,步骤(l)中所述数据帧结构可包含起始字、数据域和结束 字,还可加入校验字,以便对写入数据正确性的检测,各字节组合构成8的倍数,以避免数据帧跨页存储。将FLASH存储器的存储空间划分成N页,编号 为0页 (N-1)页,每一页内可存储若干个数据帧,最后一个数据帧所在的页 称为当前页,在当前页内写入数据,写满一页后执行步骤(4)中的擦除,擦除方 式分为两种,根据存储数据需要保存周期的长短选择① 要保存的数据只有一个数据帧的,选择擦除第I-1页。在FLASH存储 器的数据存储区中始终只有一个页(当前页I)保存有数据,其它页都是空的。 使用时,当前页(假设是第1-1页)写满后,在数据帧第一次正确写入下一页(第 I页)后,马上就把当前页(第1-1页)数据擦除,而写入第一个数据帧的页(第I 页)成为新当前页。从第0页到第N-l页轮流成为当前页,第N-1页写满后, 下一个写入的页重新回到第0页,这样不断循环使用,就使得数据存储区的每 个存储单元得到完全均衡的擦写;② 要保存尽量多的数据帧,选择擦除第I+1页。在FLASH存储器的数据存储区中除第一轮循环时会有多个空页存在,从第二轮循环开始,始终只有当前页后面的一页是空的,其它页都会存有数据, 一共可以保存N-1页数据。使用时,当前页(假设是第1-1页)写满后,在数据帧第一次正确写入下一页(第I页)后,这个写入第一个数据帧的页(第I页)就成为当前页,然后擦除新当前页(第I页)之后的一个页(第1+1页)。这样数据存储区不断循环使用,使得每个 存储单元得到完全均衡的擦写。在所述步骤(5)中,所谓正常工作,是指在一次上电后的循环擦写操作,在 这个过程中没有出现关电、掉电等中断操作的现象,FLASH存储器保持正常 的擦写工作,那么重复步骤(3)实现循环;而当出现中断现象(包括掉电、重启 等),那么需要从步骤(2)开始重复,以找到当前页,继续写入数据,如此在失 电后FLASH存储器亦能找到上次写入的页位置,而非从新开始,实现均衡擦 写,延长FLASH的使用寿命。上述技术方案中,所述数据帧结构依次包括起始字、数据区域、结束字及 校验字,所述结束字与校验字之间设置补偿字,使所述数据帧的字节数为8 的倍数。起始字、结束字为一或二个字节,可采用除FFH之外的特定十六进 制数,比如55H、 AAH或AA55H等,其作用是保证一帧数据的完整性;数据 域是要保存的具体数据,至少一个字节;校验字是它前面所有字节的校验码,可以采用l字节的CHECKSUM校验码或2字节的CRC16校验码,其作用是 保证写入数据的正确性。当由这四部分数据组成的数据帧的字节数不是正好为 8的倍数时,在结束字和校验字之间插入补偿字FFH,使得整个数据帧的字节 数等于8的倍数。另一种方法是,在校验字之后到下一个8的倍数的地址之前的这些字节就 不再用来存储数据,下一次数据帧从下一个8的倍数的地址开始写入。进一步的技术方案是,所述步骤(3)之前先确定当前页中写入数据的帧位置, 根据数据帧结构査找出该当前页中的最后一帧完整帧,并以该帧的下一帧的地 址作为写入数据的起始地址,然后执行步骤(3)写入数据。数据帧在写入过程中,发生意外掉电情况时,会出现一个数据帧没有完整写入FLASH存储器,再上电 后找到的最后一帧数据就不会是完整的数据帧,它不会同时有正确的起始字和 结束字,这通过对起始字和结束字的比较就可以判断出来。由于在写入数据帧 时,通过校验保证了写入的正确性,之后才会进行擦除操作,所以存储的数据 本文档来自技高网
...

【技术保护点】
一种FLASH存储器擦写方法,包括以下步骤: (1)设置数据帧结构,每一数据帧内含有8倍数的字节数,复数个数据帧组成存储区域内的一页,所述存储区域划分为N页,编号0页~(N-1)页; (2)选定最后一个所述数据帧所在页为当前页, 若该页已写满则转入下一页I,将I页设为当前页,当所述I页为存储区域中的N-1页时,I+1页为0页; (3)写入数据; (4)当前页I被写满后,转入下一页,并重新设定该页为当前页I,选择擦除第I-1页或第I+1页内容的两种擦除方式 中的一种,执行擦除; (5)在正常工作过程中,重复步骤(3),直至当前页为第N-1页,所述第I+1页为0页;在重新上电后,重复步骤(2)。

【技术特征摘要】
1. 一种FLASH存储器擦写方法,包括以下步骤(1)设置数据帧结构,每一数据帧内含有8倍数的字节数,复数个数据帧组成存储区域内的一页,所述存储区域划分为N页,编号0页~(N-1)页;(2)选定最后一个所述数据帧所在页为当前页,若该页已写满则转入下一页I,将I页设为当前页,当所述I页为存储区域中的N-1页时,I+1页为0页;(3)写入数据;(4)当前页I被写满后,转入下一页,并重新设定该页为当前页I,选择擦除第I-1页或第I+1页内容的两种擦除方式中的一种,执行擦除;(5)在正常工作过程中,重复步骤(3),直至当前页为第N-1页,所述第I+1页为0页;在重新上电后,重复步骤(2)。2. 根据权利要求1所述的FLASH存储器擦写方法,其特征在于所述 数据帧结构依次包括起始字、数据区域、结束字及校验字,所述结束字与校验 字之间设置补偿字,使所述数据...

【专利技术属性】
技术研发人员:陆晓峰王宜怀刘晓升
申请(专利权)人:苏州大学
类型:发明
国别省市:32[中国|江苏]

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

1