嵌入式系统中实现NAND闪存存储器数据备份处理的系统及其方法与流程

文档序号:18703847发布日期:2019-09-17 23:21阅读:389来源:国知局
本发明涉及嵌入式系统领域,尤其涉及嵌入式系统数据备份领域,具体是指一种嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法。
背景技术
::目前嵌入式系统中针对nand闪存存储器的数据备份主要有两个方向:带文件系统下的文件备份:首先,操作分区被初始化成常用的嵌入式文件系统,如jffs2、yaffs2、ubifs等;其次,文件的备份和恢复操作完全不需要考虑底层或硬件的实现,备份只需要对目标文件另存,还原只是把另存的文件覆盖目标文件。此方法如果完全不考虑硬件特性或电气环境,是非常高效的方式;但如果考虑这些因素,那么我们完全不能确定目标文件和另存的文件是否有部分内容写在了闪存的同一页或者同一个块,而此时特殊的电气环境或操作可能导致页或块损坏,使得目标文件和另存的文件同时损坏是有可能的。分区镜像:双镜像是目前嵌入式设备非常流行的技术,变砖自恢复这一优点非常明显,大大减少了返厂维修的概率。但当其中一个镜像破坏时,会进行一次分区写或分区升级操作,需要较长的时间,而且此时会禁用一部分业务以确保镜像还原操作正常完成。同时,此法使flash的使用率较低,需要备份的区块空间较大。技术实现要素:本发明的目的是克服了上述现有技术的缺点,提供了一种满足效率高、安全性、适用范围广泛的嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法。为了实现上述目的,本发明的嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法如下:该嵌入式系统中实现nand闪存存储器数据备份处理的系统,其主要特点是,所述的系统包括:备份模块,用于根据项目的配置拷贝特定的数据块,存储至重要块备份数据池,并生成对应的索引;恢复模块,与所述的备份模块相连接,用于根据索引进行回写,恢复正确数据。较佳地,所述的备份模块和恢复模块的数据均读写至nand闪存存储器。该基于上述系统实现嵌入式系统中nand闪存存储器数据备份处理的方法,其主要特点是,所述的方法包括备份操作,具体包括以下步骤:(1-1)初始化重要块备份表,创建并规划规划重要块备份数据池;(1-2)读取配置策略,确定需要备份的序号表;(1-3)根据序号表依次确定重要块备份数据池中的位置,更新到重要块备份表;(1-4)根据更新完成的重要块备份表进行数据备份。较佳地,所述的方法还包括业务程序读取数据异常时进行恢复操作,具体包括以下步骤:(2-1)通知恢复程序运行;(2-2)读取重要块备份表;(2-3)根据异常通知传递的回复目标块序从重要块备份表中确定重要块备份数据池中的位置。(2-4)从重要块备份数据池中已确定的位置写回数据到目标块序。采用了本发明的嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法,具有灵活性,不按分区操作,任意块均可进行备份恢复;具有快速性,本发明的数据备份恢复机制一般是用于保护嵌入式系统中的重要块,如环境变量、配置项、板级参数等,这些内容小而分散,一般只占用某些分区的一个块;具有可靠性,严格保证目的数据和备份数据在不同的块,不易出现目的数据和备份数据同时坏掉的情况。本发明无需进行整个分区写操作,只是进行部分块操作,大大节省操作时间,提高了nand闪存存储器芯片的使用效率。附图说明图1为本发明的实现嵌入式系统中nand闪存存储器数据备份处理的方法的备份过程的流程图。图2为本发明的实现嵌入式系统中nand闪存存储器数据备份处理的方法的恢复过程的流程图。图3为本发明的实现嵌入式系统中nand闪存存储器数据备份处理的方法的原理框图。图4为本发明的实现嵌入式系统中nand闪存存储器数据备份处理的方法的nand闪存存储器的结构图。图5为本发明的实现嵌入式系统中nand闪存存储器数据备份处理的方法的备份过程的配置文件图。图6为本发明的实现嵌入式系统中nand闪存存储器数据备份处理的方法的恢复过程的配置文件图。具体实施方式为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。本发明的该嵌入式系统中实现nand闪存存储器数据备份处理的系统,其中包括:备份模块,用于根据项目的配置拷贝特定的数据块,存储至重要块备份数据池,并生成对应的索引;恢复模块,与所述的备份模块相连接,用于根据索引进行回写,恢复正确数据。作为本发明的优选实施方式,所述的备份模块和恢复模块的数据均读写至nand闪存存储器。本发明的该基于上述系统实现嵌入式系统中nand闪存存储器数据备份处理的方法,其主要特点是,所述的方法包括备份操作,具体包括以下步骤:(1-1)初始化重要块备份表,创建并规划规划重要块备份数据池;(1-2)读取配置策略,确定需要备份的序号表;(1-3)根据序号表依次确定重要块备份数据池中的位置,更新到重要块备份表;(1-4)根据更新完成的重要块备份表进行数据备份。所述的方法还包括业务程序读取数据异常时进行恢复操作,具体包括以下步骤:(2-1)通知恢复程序运行;(2-2)读取重要块备份表;(2-3)根据异常通知传递的回复目标块序从重要块备份表中确定重要块备份数据池中的位置。(2-4)从重要块备份数据池中已确定的位置写回数据到目标块序。本发明的具体实施方式中,本发明涉及嵌入式系统中nand闪存存储器坏块管理机制,新增重要块备份机制ibb,主要解决嵌入式系统中重要数据丢失的问题。nand闪存存储器以块为最小擦除单位,故而有坏块管理机制,本发明同样是以块为单位的重要块备份机制。权利要求书说明书中的ibbt为importantblockbackuptable,即为重要块备份表;ibbtpool为重要块备份数据池。本发明分为备份操作和恢复操作两种流程,备份操作为对选中的块拷贝到备份恢复区,恢复操作则是当上述选中的块数据错误时,从备份恢复区写回。本发明涉及两个模块:备份模块和恢复模块;备份模块主动运行,操作流程如图1所示。s01:创建重要块备份表,规划重要块备份数据池。s02:根据备份策略,把选中的逻辑块序与重要块备份数据池中的逻辑块序进行映射,更新到重要块备份表。s03:上述选中的逻辑块中的内容写入到重要块备份数据池中对应映射的逻辑块中,完成备份。恢复模块操作流程如图2所示,一般由业务程序读取数据异常时,通知恢复程序运行。通知消息中至少要传递数据异常的位置。s11:根据异常消息中的内容确定需要恢复的逻辑块序。s12:读取重要块备份表,确定重要块备份数据池中对应的备份块序。s13:块写回,从重要块备份数据池中已确定好的位置写回数据到待恢复块序本发明的原理如图3所示,假定当前使用的nandflashblock总数为m,程序数据占用从block0-blockn,重要块备份数据池则可以使用blockn之后的一定区域,这里往后偏移x个block,这是flash分布描述。假定,block1、32、64、100需要进行备份,那么按照上述备份流程,更新重要块备份表为1—n+x+0、32—n+x+1、64—n+x+2、100—n+x+3。这就是一张映射图,然后分别把block1、32、64、100中的内容写进对应blockn+x+0、n+x+1、n+x+2、n+x+3中,完成备份。恢复流程则是逆向过程,假定,当业务程序尝试读取block32异常时,发送通知消息(如:block32error)到恢复程序。恢复程序读取重要块备份表,从中获取block32对应的重要块备份数据池中的位置为blockn+x+1,之后把blockn+x+1中的内容写到block32,完成恢复动作。本发明备份过程和恢复过程同等重要,且是两个独立的过程。备份过程一般只在设备第一次运行时完成。恢复过程则是个随机动作,当监测程序发现被备份的区域,出现坏块时触发运行备份是指根据项目的配置安排对特定的一些数据块进行拷贝,存储到重要块备份数据池,同时生成对应的索引。恢复是可以理解成备份的逆操作,当原数据块错误时,根据索引,进行回写,恢复正确数据。本发明具有严格针对nand闪存存储器的block概念提出的坏块保护机制,设计时同时依赖软硬件技术。本发明的备份过程依照项目配置文件进行、恢复过程依照索引进行;本发明备份和恢复都是读写到nand闪存存储器;本发明最大目的是确保flash数据正确,出现坏块导致数据错误时及时进行纠错;本发明的备份操作与数据无关,只确定存储介质的好坏,依赖nand闪存存储器中各个block的坏块状态位。nand闪存存储器的布局示例如图4所示,block0-n是正常的数据或程序,blockn+x—blockn+x+k为重要块备份数据池,flash大小为m个block,其中n、x、k、m根据项目以及nand闪存存储器芯片型号不同而不同,但n<m;n+x+k<=m;x>=0;k为重要块备份数据池的尺寸,其值根据项目要求和nand闪存存储器的规格而定。说明书附图5为备份过程根据项目设计的配置文件。进行block备份时,配置文件中需要明确设定需要备份哪些序号的block。备份过程中需要生成重要块备份表,即索引表,用于后续的恢复动作。说明书附图6为恢复过程的配置文件,依赖重要块备份表。采用了本发明的嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法,具有灵活性,不按分区操作,任意块均可进行备份恢复;具有快速性,本发明的数据备份恢复机制一般是用于保护嵌入式系统中的重要块,如环境变量、配置项、板级参数等,这些内容小而分散,一般只占用某些分区的一个块;具有可靠性,严格保证目的数据和备份数据在不同的块,不易出现目的数据和备份数据同时坏掉的情况。本发明无需进行整个分区写操作,只是进行部分块操作,大大节省操作时间,提高了nand闪存存储器芯片的使用效率。在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1