[发明专利]一种基于嵌入式设备闪存的参数管理方法和系统有效
申请号: | 200810246533.2 | 申请日: | 2008-12-25 |
公开(公告)号: | CN101436158A | 公开(公告)日: | 2009-05-20 |
发明(设计)人: | 高迎宾 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) | 代理人: | 张颖玲;王黎延 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 嵌入式 设备 闪存 参数 管理 方法 系统 | ||
技术领域
本发明涉及嵌入式设备的参数记录技术,特别是指一种基于嵌入式设备闪存的参数管理方法和系统。
背景技术
嵌入式电子设备一般没有硬盘这样的存储设备,而是使用Flash闪存芯片、小型闪存卡等专为嵌入式系统设计的存储装置。Flash闪存是目前嵌入式系统中广泛采用的主流存储器,它的主要特点是按整体或块单元擦除和按字节编程,具有低功耗、高密度、小体积等优点。
目前,Flash闪存分为或非(NOR)和与非(NAND)两种类型。NOR型Flash闪存可以直接读取闪存芯片内存储的数据,因而运行速度比较快;NOR型Flash闪存芯片的地址线与数据线是分开的,所以它可以像静态随机存储器(SRAM,Static Random Access Memory)一样连在数据线上,以字为基本单位进行操作,因此传输效率很高;应用程序可以直接在NOR型Flash闪存内运行,不必再把代码读取到系统随机存储器(RAM,Random Access Memory)中运行。NOR型Flash闪存芯片与SRAM的最大不同在于:NOR型Flash闪存芯片重复写入时需要经过擦除和写入两个过程,其中擦除以Flash块为单位进行,即擦除操作至少需要擦除一个Flash块的区域,一个NOR型Flash块区尺寸通常是64K或128K,其中Flash块区的大小是由Flash闪存的物理特性决定的。
嵌入式系统中的参数是要求非易失性的、可修改和可删除的,一般可以借助通用的Flash文件系统的管理将参数以文件的形式存储在Flash闪存上,以此来实现参数的安全读、写、修改和删除操作。通用的Flash文件系统如jffs2,要求一个Flash分区至少包含五个Flash块区,以保证闪存的正常运行,但实际上嵌入式系统的参数所占用的空间一般只有几十K,不需要用一个专门的Flash分区如此大的空间来存储参数,这样,对于低成本的嵌入式电子设备,不利于控制产品的价格。
另一种折中的做法是:不使用通用的Flash文件系统管理参数,而是在每次参数变更时将Flash闪存中的所有参数备份到RAM中,然后擦除相应的Flash块区,最后将在RAM中更新了的参数和未改变的参数再写入Flash块区,但这种做法的问题在于:即使仅改变一个参数,也必须将整个Flash块区擦除再重新写入,若擦除或写入过程中设备掉电,那么会因为没有通用Flash文件系统的数据保护功能而导致参数的丢失;另外,NOR型Flash闪存的每个Flash块区的寿命大约为10万次擦写,因此,这种方式会导致产品的使用年限缩短。
发明内容
有鉴于此,本发明的主要目的在于提供一种记录参数的方法和系统,可以明显减少对Flash块区的擦除次数,减少参数所占用的Flash块区,增加闪存的空间利用率,提高写入或修改参数时的安全性。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种基于嵌入式设备闪存的参数管理方法,该方法包括:
将参数按照参数ID字段、控制字段、校验字段、参数长度字段和参数内容字段的格式进行封装,获得参数数据块,并将所述参数数据块依次存入参数存储区中;
读取及校验步骤:从偏移地址SA开始,读取参数存储区中第一个参数的参数ID字段、控制字段、校验字段和参数长度字段,并根据参数长度字段读取参数内容字段;然后计算参数ID字段、参数长度字段和参数内容字段的校验和;将通过计算得到的参数ID字段、参数长度字段和参数内容字段的校验和与读取到的校验字段的校验和相比较,如果不一致,说明该参数校验错误,说明该参数是无效的,即该参数是垃圾数据,其控制字段为0,从该参数的参数ID字段结束处继续读取参数,在该参数的参数内容字段结束处,开始读取下一个参数,返回所述读取及校验步骤;如果一致,说明该参数校验正确,其控制字段为1;
如果所述校验正确,依据准备写入的新参数的参数ID检索在所述参数存储区中是否存在含有相同参数ID的参数,如果存在,则将检索到的参数标记为垃圾数据:将检索到的参数的控制字段置为0,说明该参数已经被视为无效,表明该垃圾数据被删除,此处的删除不是彻底删除,当参数存储区的剩余空间不够容纳新参数时,将垃圾数据彻底删除;然后判断参数存储区的剩余空间是否能够容纳新参数;如果不存在,则判断参数存储区的剩余空间是否能够容纳新参数;
当参数存储区的剩余空间能够容纳新参数时,在所述参数存储区中最后一个参数的结束位置写入所述新参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810246533.2/2.html,转载请声明来源钻瓜专利网。