[发明专利]在非易失性存储器件中存储信息的方法和装置有效
申请号: | 201210264883.8 | 申请日: | 2012-07-27 |
公开(公告)号: | CN102789426A | 公开(公告)日: | 2012-11-21 |
发明(设计)人: | 王文希;林青合 | 申请(专利权)人: | 青岛海信宽带多媒体技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 黄启行;方晓明 |
地址: | 266555 山东省青*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 非易失性存储器 存储 信息 方法 装置 | ||
技术领域
本发明涉及存储技术,尤其涉及一种在非易失性存储器件中存储信息的方法和装置。
背景技术
非易失性存储介质在各种智能产品或设备中是不可或缺的。具有存储功能的介质有很多,EPROM、EEPROM、Flash EEPROM等等,每种存储介质根据其成本和性能运用在不同的技术领域。例如,普通的EEPROM使用灵活,可以单字节擦除,但大容量的EEPROM,成本和尺寸都非常高。因此,
在需要进行大容量信息存储时,通过都采用FLASH EEPROM(或简称FLASH)介质进行存储。在使用FLASH进行存储时,通常都是以整个Block(存储块)进行操作的:例如,需要修改FLASH中存储的某几个字节,则需要擦除这几个字节所在的Block之后,再写入需要写入的值。
众所周知,非易失性存储器的擦除过程比较耗时,如果在此擦除过程中有意外掉电或者Reset等事件发生,将会导致整个Block的值被擦除或者部分擦除,而新写入的值却没有正常写入,这样原来存储在Flash中的值将不再完整,形成一块“坏数据”区域。如果有相关程序使用到上述“坏数据”区域,会对整个程序造成严重的后果,例如程序跑飞或者执行错误,对相关产品的稳定性造成极大的隐患。
为防止上述问题,现有技术的Flash保存方法中,多是先读取一块Block中所有值到RAM区中备份,然后擦除这块Block,最后在此Block中写入最新更新的值以及备份的值。这种方法在Flash擦除Block时意外断电,将会丢失Block中原来存储的信息,导致信息丢失。也有些方法是通过在Flash中另外开辟一块新的Block用于存储备份信息,当往Flash保存时,除了按照上述方法正常擦除、写入外,同时,在备份区Block也进行如此操作:擦除、写入,当其中一块Block在擦除过程中出现意外掉电时,使用另外一块备份Block中的信息,从而防止出现意外掉电而引起的信息丢失。这种防止信息丢失的方法虽然可行,但需要同时擦除、写入两块Block,耗费时间过长。在很多产品,尤其是光模块产品应用中,需要快速保存一些信息到Flash,因此,两块Block同时擦除、写入所耗时间不能满足要求。
综上所述,现有技术的在Flash中存储信息的方法,或者在擦除过程中有意外掉电或者Reset等事件发生时,将会导致整个Block形成“坏数据”区域,或者在存储信息过程中耗费时间过长。
发明内容
本发明的实施例提供了一种在非易失性存储器件中存储信息的方法和装置,用以在擦除过程中有意外掉电或者Reset等事件发生时,既能避免形成“坏数据”区域,又不耗费过长时间进行信息存储。
根据本发明的一个方面,提供了一种在非易失性存储器件中存储信息的方法,其中所述存储器件包括两个Block:第一Block或第二Block,所述方法包括:
对第一Block查空;若判断出第一Block不为空,则对第二Block查空;
若判断出其中一个Block为空,则将待存入信息存储到其中一个为空的Block中;并对另一个Block进行擦除操作。
进一步,在所述将待存入信息存储到其中一个为空的Block后,还包括:
在该Block的签名区域写入签名信息。
在该Block的签名区域写入签名信息后,还包括:
在该Block的校验区域写入校验信息。
在所述将待存入信息存储到其中一个为空的Block之前,还包括:
判断第一Block中的信息是否有效;若第一Block中的信息有效,则读取第一Block中的信息作为Block信息;若第一Block中的信息无效,则:
判断第二Block中的信息是否有效;若第二Block中的信息有效,则读取第二Block中的信息作为Block信息;
根据所述待存入信息修改所述Block信息;以及
所述将待存入信息存储到其中一个为空的Block具体为:
将修改后的、携带有所述待存入信息的Block信息存储到其中一个为空的Block。
根据本发明的另一个方面,提供了一种在非易失性存储器件中存储信息的装置,包括:
查空模块,用于对第一Block查空;若判断出第一Block不为空,则对第二Block查空;其中,第一Block或第二Block为所述存储器件中的两个Block;
信息存储模块,用于若判断出其中一个Block为空,则将待存入信息存储到其中一个为空的Block中;并对另一个Block进行擦除操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信宽带多媒体技术有限公司,未经青岛海信宽带多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210264883.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:矿山救护体能训练用语音数显检力器
- 下一篇:基于CAN总线的抢答实验平台
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置