发明名称 一种嵌入式Linux系统中的断电时恢复闪存数据的方法
摘要 一种嵌入式Linux系统中的断电时恢复闪存数据的方法,解决了闪存读写数据时突然掉电,数据就丢失或文件系统损坏的缺点,采用的技术方案是:将闪存中根文件系统定义分为固定区、修改区和备份区,通过系统文件JFFS2对分区赋予不同的加载方式,将根文件系统中配置信息分配到固定区中的目录下,根文件系统中系统运行时产生的临时文件被存储在内存中,当文件系统由于意外断电造成数据丢失时,Linux系统调用备份分区中的文件系统对其进行恢复默认配置,并判断当前文件系统是否被损坏,针对系统设置的重要参数的系统文件进行检查,决定是否对文件系统继续进行加载文件。本发明的有益效果是:解决了实现断电时对闪存进行数据恢复,避免闪存中的数据丢失。
申请公布号 CN101477482B 申请公布日期 2011.01.19
申请号 CN200810216845.9 申请日期 2008.10.14
申请人 深圳市共进电子有限公司 发明人 周波;张馨;胡祖敏;王喜祝;何滔;李剑新;黄洪波;邓永坚;朱海斌;江惠秋;吕文正;周华海
分类号 G06F11/14(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 深圳市智科友专利商标事务所 44241 代理人 曲家彬
主权项 一种嵌入式Linux系统中的断电时恢复闪存数据的方法,所述的方法是由计算机,嵌入式Linux系统和闪存设备,以及在系统文件和闪存设备之间充当转换层的JFFS2文件系统共同实现的,在所述的嵌入式Linux系统的方案中,闪存设备文件系统只有一个分区,即根文件系统,其加载方式为可读写,其特征在于:保护断电时闪存数据的方法包括以下步骤:①将闪存中根文件系统定义分为固定区、修改区和备份区,其中固定区中规定存储不会被修改的部分的内容,该部分包括程序文件和库函数,这些程序文件和库函数与出厂时的配置文件信息一致,修改区规定存储可能被修改的部分,该部分包括配置文件和系统运行时产生的数据,备份区存储对修改区进行读写操作之前的修改区数据的备份内容,②通过系统文件JFFS2对固定区、修改区和备份区赋予不同的加载方式,固定区赋予为只读加载方式,备份区赋予为复制加载方式,修改区为复制加载方式,③将根文件系统中配置信息分配到以只读方式加载的固定区中的一个目录下;系统断电时该区下的数据信息不被擦除,根文件系统中系统运行时产生的临时文件被存储在内存中,系统断电时不需要保存这些临时文件,④当文件系统由于意外断电造成数据丢失时,Linux系统调用所述的备份区中的文件系统对其进行恢复默认配置,⑤进行恢复默认配置后,Linux系统判断当前文件系统是否被损坏,针对系统设置的重要参数的系统文件进行检查,包括检查当前文件系统有没有被加载、系统初始化程序的配置文件是否存在、以及系统在运行时经常被修改的文件是否存在的文件检查,同时对JFFS2文件系统的节点头部CRC校验值进行判断,⑥对步骤⑤判断结果进行分析,若判断只有该闪存中的修改区有数据丢失,可认为整个文件系统没有被损坏,继续进行加载文件系统,若步骤⑤中的那些检查不能通过认为是坏区,不再加载文件系统。
地址 518000 广东省深圳市南山区蛇口南海大道1019号白盈医疗器械园二楼