一种利用Flash芯片剩余空间设置数据区擦写数据的方法技术

技术编号:7343543 阅读:347 留言:0更新日期:2012-05-17 13:15
本发明专利技术公开了一种利用Flash芯片剩余空间设置数据区擦写数据的方法,是在Flash芯片上开辟数据存储空间,即利用Flash芯片的部分剩余空间来代替EEPROM芯片作为数据存储区,将Flash芯片中的数据存储区划分为多个具有相同存储空间的且能满足预先所设定的最小擦写单元的存储小区,并对所有的存储小区分别按照自然数编码规则在数据存储区内进行编号,以及在每个存储小区中设置有是否为当前使用的指针标志;然后利用软件的方式对Flash芯片上所开辟的数据存储空间的数据擦写进行控制,使各个存储小区循环进行数据擦写,这种方法,既可以节省EEPROM(串行存储器)芯片的使用,实现机器电路的简化设计,从而节约设计成本和实现机器成本的降低,又可以实现在节约EEPROM的条件下还能延长产品的生命周期,达到增强产品竞争力的目的。

【技术实现步骤摘要】

本专利技术涉及一种计算机应用
,特别是涉及。
技术介绍
随着人们生活水平的不断提高和技术的不断进步,越来越多的电子产品走入到人们的生活当中。如今在很多消费类电子产品中,因为产品需要实现的功能越来越多导致程序代码变的很庞大,已经无法像早期那样一个自身带有内部存储空间的CPU 加上外部EEPROM(串行存储器)就可以实现各种功能控制。现有方案中通常是采用 MCU+RAM+Flash+EEPROM的应用方式,图1所示的就是现有方案所常用的硬件结构示意图, 其包括有MCU芯片、Flash芯片(闪存)、EEPROM芯片,这在消费电子产品中已经是很普遍地使用,其基本特点是用EEPROM芯片来存储数据,用FLASH来存储程序,使用时是将Flash 中的程序和EEPROM中的数据读取出来存放到SRAM中,由此实现机器的各种功能。人们都知道,Flash Memory (闪存)的擦写次数通常为10万次,而EEPROM(串行存储器)的擦写次数为100万次,由于两者存储单元使用寿命上存在这种差别,因此,现在很多电子产品中都是用FLASH来存储程序代码,而用EEPORM来存储经常需要更新的数据, 同时,在一股设计方案中,FLASH的空间都比较大,除了程序代码外,FLASH的空间还有很大的剩余。因此,在现有的设计方案中,其弊端就是一方面需要有EEPROM芯片,使产品的硬件成本上升;另一方面,FLASH的空间还有很大的剩余,造成了硬件使用上的浪费。
技术实现思路
本专利技术的目的在于克服现有技术之不足,提供,通过在Flash芯片上开辟数据存储空间,并利用软件的方式对 Flash芯片上所开辟的数据存储空间的数据擦写进行控制,既可以节省EEPR0M(串行存储器)芯片的使用,实现机器电路的简化设计,从而节约设计成本和实现机器成本的降低,又可以实现在节约EEPROM的条件下还能延长产品的生命周期,达到增强产品竞争力的目的。本专利技术解决其技术问题所采用的技术方案是,是利用Flash芯片的部分剩余空间来代替EEPROM芯片开辟为数据存储区,将Flash芯片中的数据存储区划分为多个具有相同存储空间的且能满足预先所设定的最小擦写单元的存储小区,并对所有的存储小区分别按照自然数编码规则在数据存储区内进行编号,以及在每个存储小区中设置有是否为当前使用的指针标志;在擦写数据过程中,其包括如下步骤a.程序初始化;b. MCU从Flash芯片的数据存储区中查找具有当前使用的指针标志的存储小区, 并将该存储小区在数据存储区中的编号的数值赋值给磁区索引,同时,将该存储小区中的数据存放到内存区域中对应的数据空间;c. MCU将磁区索引的数值+1后再赋值给磁区索引;d. MCU判断磁区索引的编号的数值是否大于数据存储区内存储小区的最大编号的数值,判断为是继续下一步骤,否则转步骤f ;e. MCU将磁区索引的数值置为0;f. MCU判断是否有Flash数据区擦写命令,若没有擦写命令,则继续本步骤进行判断,若有擦写命令,则转下一步骤;g. MCU对磁区索引所指向的存储小区进行数据擦写处理;h. MCU对磁区索引的数值是否为0进行判断,当判断为0时,继续下一步骤,否则转步骤j ;i. MCU将磁区索引所指向的存储小区的指针标志记为当前使用,同时,将数据存储区中具有最大编号的存储小区的指针标志记为非当前使用;而后返回步骤c ;j. MCU将磁区索引所指向的存储小区的指针标志记为当前使用,同时,将磁区索引的编号的数值-1所指向的存储小区的指针标志记为非当前使用;而后返回步骤C。本专利技术的,是在程序中将经常需要更改,更改后需要实时存储的数据整理出来,在内存中开辟出相应的空间来对应存放该数据。一股特别频繁更改的数据不会太多,不经常变化的数据则不需要特别处理, 按照常规的Flash存储方式即可。在Flash的多余空间中开辟一个数据存储区专门用来存放数据,数据存储区由多个存储小区组成,存储小区是Flash的最小擦写单元,所以开辟的空间需要是存储小区的倍数。将多个存储小区按照顺序依次编号排列,编号方式按照自然数编码规则,即0,1, 2,3,4,5……等,每个存储小区中指定个专门的地址(例如第一个字节地址)用来记录该存储小区是否为当前使用的存储小区的指针标志,如果是当前指针则标志为一个符号,否则标志为另一个符号。如果需要对当前指针对应的存储小区有进行数据的写入操作,那么将指针字节标志写入该符号,而将前一个存储小区编号的指针标志字节由该符号改写为另一个符号,然后在内存中将当前的存储小区编号加1,进行循环操作。每个存储小区的擦写次数为10万次,那么多个比如16个存储小区则一共可以擦写160万次,这样通过用适当的 Flash空间换取Flash延长使用时间的方式,就提高了使用Flash来当存储数据的机器的生命周期,基本上机器寿命可以超过原来使用EEPROM的机器。本专利技术的有益效果是,由于采用了在Flash芯片上开辟数据存储空间,即利用 Flash芯片的部分剩余空间来代替EEPROM芯片开辟为数据存储区,将Flash芯片中的数据存储区划分为多个具有相同存储空间的且能满足预先所设定的最小擦写单元的存储小区, 并对所有的存储小区分别按照自然数编码规则在数据存储区内进行编号,以及在每个存储小区中设置有是否为当前使用的指针标志;然后利用软件的方式对Flash芯片上所开辟的数据存储空间的数据擦写进行控制,使各个存储小区循环进行数据擦写,这种方法,既可以节省EEPR0M(串行存储器)芯片的使用,实现机器电路的简化设计,从而节约设计成本和实现机器成本的降低,又可以实现在节约EEPROM的条件下还能延长产品的生命周期,达到增强产品竞争力的目的。4以下结合附图及实施例对本专利技术作进一步详细说明;但本专利技术的一种利用Flash 芯片剩余空间设置数据区擦写数据的方法不局限于实施例。附图说明图1是现有技术的硬件连接示意图;图2是本专利技术的硬件连接示意图;图3是本专利技术的擦写数据流程图。具体实施例方式实施例,本专利技术的,是利用Flash芯片的部分剩余空间来代替EEPROM芯片开辟为数据存储区,因此,如图2所示, 本专利技术的硬件结构示意图中,仅包括有MCU芯片、Flash芯片(闪存),而没有EEPROM芯片。本专利技术的,是利用 Flash芯片的部分剩余空间来代替EEPROM芯片开辟为数据存储区,将Flash芯片中的数据存储区划分为多个具有相同存储空间的且能满足预先所设定的最小擦写单元的存储小区, 并对所有的存储小区分别按照自然数编码规则在数据存储区内进行编号,以及在每个存储小区中设置有是否为当前使用的指针标志;如图3所示,在擦写数据过程中,其包括如下步骤a.程序初始化;如图3的框101所示;b. MCU从Flash芯片的数据存储区中查找具有当前使用的指针标志的存储小区, 并将该存储小区在数据存储区中的编号的数值赋值给磁区索引,同时,将该存储小区中的数据存放到内存区域中对应的数据空间;如图3的框102所示;c. MCU将磁区索引的数值+1后再赋值给磁区索引;如图3的框103所示;d. MCU判断磁区索引的编号的数值是否大于数据存储区内存储小区的最大编号的数值,判断为是继续下一步骤,否则转步骤f ;如图3的框104所示;e. MCU将本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈景煌王盛陈迎锋胥进舟苏碧勇钟俊
申请(专利权)人:厦门华侨电子股份有限公司
类型:发明
国别省市:

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

1
相关领域技术