[发明专利]一种在嵌入式系统中存储、读取数据的方法及装置有效
申请号: | 200710000423.3 | 申请日: | 2007-02-05 |
公开(公告)号: | CN101241469A | 公开(公告)日: | 2008-08-13 |
发明(设计)人: | 蔡皓;李习东;冯鸣;包培友 | 申请(专利权)人: | 力博特公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 黄志华 |
地址: | 美国俄*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 存储 读取 数据 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种在嵌入式系统中存储、读取数据的方法及装置。
背景技术
随着处理器芯片的发展,嵌入式系统的功能越来越强大,因此对存储器的稳定性和可重复擦写的要求也越来越高;现有嵌入式系统中的存储芯片,如串行外设接口存储(SPI flash,Serial Peripheral Interface Flash)芯片具有体积小、容量大、功耗低和硬件接口简单等特点,该存储芯片支持页擦写和块擦写功能,每块区域支持100000次擦写(部分Flash芯片支持更多擦写次数),使用寿命为十年左右;但是由于部分嵌入式系统需要在一分钟内多次擦写Flash的同一块存储区域,虽然该存储芯片的最大擦写次数为十万次,但也可能会在短时间内损坏从而破坏嵌入式设备的正常工作;另外,部分嵌入式系统使用文件系统用来记录数据的存储状态以方便数据查询,但是现有的文件系统对于数据的存储并没有采用任何放置多次重复擦写的存储策略,因此现有嵌入式系统中芯片的存储稳定性具有很大的隐患。
发明内容
本发明提供一种在嵌入式系统中存储、读取数据的方法,用于提高嵌入式芯片的存储性能和查询性能以及延长嵌入式芯片的使用时间。
本发明提供如下技术方案:
一种在嵌入式系统中存储数据的方法,包括步骤:
获取待存储的数据及其有效记录数、擦写频率和每条记录的大小;
根据所述有效记录数和擦写频率分别确定所述数据需要占用的存储空间大小,进一步根据所述存储空间大小分别确定嵌入式芯片需要提供的扇区数目,并按其中最大的扇区数目在所述嵌入式芯片中分配存储空间;以及
将所述数据存储到所述存储空间并在数据跟踪结构表中记录存储位置。
从数据存储队列中获取待存储的数据,其中,在系统上电时创建所述数据存储队列。
当待存储的数据大小大于所述数据存储队列所能装载的最大数据大小时,动态增加所述数据存储队列的空间,并在数据写入所述嵌入式芯片后释放所述数据存储队列增加的空间。
在所述嵌入式芯片初次运行时创建数据跟踪结构表。
所述数据跟踪结构表中包括数据的静态属性信息和动态存储信息,其中,所述静态属性信息保存在所述嵌入式芯片中,所述动态存储信息在嵌入式设备运行后保存在系统内存中。
系统每次复位后从所述嵌入式芯片中获取不同数据对应的静态属性信息,并根据该静态属性信息初始化所述数据跟踪结构表中的动态存储信息。
所述静态属性信息包括数据名称、需要的扇区总数、需要存储的最大记录数目、每条记录的大小和扇区映射表。
所述扇区映射表包括扇区逻辑编号、扇区物理编号和校验码。
所述动态存储信息包括所述数据在所述嵌入式芯片中的当前写入位置、当前读取位置和当前存储扇区使用的状态信息。
在所述嵌入式芯片的扇区发生损坏时,分配相应的空闲扇区代替损坏的扇区,并将所述损坏的扇区和所述空闲扇区的信息分别记录到所述数据跟踪结构中。
一种在嵌入式系统中读取数据的方法,包括步骤:
根据查询数据的请求获取待查询数据的数据名称;
在记录数据存储位置的数据跟踪结构表中确定所述数据名称对应的数据存储在嵌入式芯片中的存储位置;
在所述嵌入式芯片中的所述存储位置读取数据。
所述数据跟踪结构表中包括数据的静态属性信息和动态存储信息,其中,所述静态属性信息保存在所述嵌入式芯片中,所述动态存储信息在嵌入式设备运行后保存在系统内存中。
所述静态属性信息包括数据名称、需要的扇区总数、需要存储的最大记录数目、每条记录的大小和扇区映射表。
所述扇区映射表包括扇区逻辑编号、扇区物理编号和校验码。
所述动态存储信息包括所述数据在所述嵌入式芯片中的当前写入位置、当前读取位置和当前存储扇区使用的状态信息。
一种数据管理装置,包括:
用于根据有效记录数和擦写频率分别确定所述数据需要占用的存储空间大小,进一步根据所述存储空间大小分别确定嵌入式芯片需要提供的扇区数目,并按其中最大的扇区数目在所述嵌入式芯片中分配存储空间的单元;
用于将所述数据存储到所述存储空间并在数据跟踪结构表中记录存储位置的单元;
用于在记录数据存储位置的数据跟踪结构表中确定所述数据名称对应的数据存储在嵌入式芯片中的存储位置的单元;
用于在所述嵌入式芯片中的所述存储位置读取数据的单元。
一种嵌入式系统,包括:
嵌入式芯片,用于存储数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于力博特公司,未经力博特公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710000423.3/2.html,转载请声明来源钻瓜专利网。