CN110245036B - 嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法 - Google Patents

嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法 Download PDF

Info

Publication number
CN110245036B
CN110245036B CN201910520153.1A CN201910520153A CN110245036B CN 110245036 B CN110245036 B CN 110245036B CN 201910520153 A CN201910520153 A CN 201910520153A CN 110245036 B CN110245036 B CN 110245036B
Authority
CN
China
Prior art keywords
backup
block
data
important
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910520153.1A
Other languages
English (en)
Other versions
CN110245036A (zh
Inventor
潘菊平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taicang T&W Electronics Co Ltd
Original Assignee
Taicang T&W Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taicang T&W Electronics Co Ltd filed Critical Taicang T&W Electronics Co Ltd
Priority to CN201910520153.1A priority Critical patent/CN110245036B/zh
Publication of CN110245036A publication Critical patent/CN110245036A/zh
Application granted granted Critical
Publication of CN110245036B publication Critical patent/CN110245036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种嵌入式系统中实现NAND闪存存储器数据备份处理的系统,包括备份模块,用于根据项目的配置拷贝特定的数据块,存储至重要块备份数据池,并生成对应的索引;恢复模块,与所述的备份模块相连接,用于根据索引进行回写,恢复正确数据。本发明还涉及一种实现嵌入式系统中NAND闪存存储器数据备份处理的方法。采用了本发明的嵌入式系统中实现NAND闪存存储器数据备份处理的系统及其方法,具有灵活性,不按分区操作,任意块均可进行备份恢复;具有快速性,本发明的数据备份恢复机制一般是用于保护嵌入式系统中的重要块。本发明无需进行整个分区写操作,只是进行部分块操作,大大节省操作时间,提高了NAND闪存存储器芯片的使用效率。

Description

嵌入式系统中实现NAND闪存存储器数据备份处理的系统及其 方法
技术领域
本发明涉及嵌入式系统领域,尤其涉及嵌入式系统数据备份领域,具体是指一种嵌入式系统中实现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为Important Block Backup Table,即为重要块备份表;IBBTPOOL为重要块备份数据池。
本发明分为备份操作和恢复操作两种流程,备份操作为对选中的块拷贝到备份恢复区,恢复操作则是当上述选中的块数据错误时,从备份恢复区写回。
本发明涉及两个模块:备份模块和恢复模块;
备份模块主动运行,操作流程如图1所示。
S01:创建重要块备份表,规划重要块备份数据池。
S02:根据备份策略,把选中的逻辑块序与重要块备份数据池中的逻辑块序进行映射,更新到重要块备份表。
S03:上述选中的逻辑块中的内容写入到重要块备份数据池中对应映射的逻辑块中,完成备份。
恢复模块操作流程如图2所示,一般由业务程序读取数据异常时,通知恢复程序运行。通知消息中至少要传递数据异常的位置。
S11:根据异常消息中的内容确定需要恢复的逻辑块序。
S12:读取重要块备份表,确定重要块备份数据池中对应的备份块序。
S13:块写回,从重要块备份数据池中已确定好的位置写回数据到待恢复块序
本发明的原理如图3所示,假定当前使用的Nand Flash Block总数为m,程序数据占用从Block0-Blockn,重要块备份数据池则可以使用Blockn之后的一定区域,这里往后偏移x个Block,这是flash分布描述。
假定,Block 1、32、64、100需要进行备份,那么按照上述备份流程,更新重要块备份表为1—n+x+0、32—n+x+1、
64—n+x+2、100—n+x+3。这就是一张映射图,然后分别把Block 1、32、64、100中的内容写进对应Block n+x+0、n+x+1、n+x+2、n+x+3中,完成备份。
恢复流程则是逆向过程,假定,当业务程序尝试读取Block32异常时,发送通知消息(如:Block32error)到恢复程序。恢复程序读取重要块备份表,从中获取Block32对应的重要块备份数据池中的位置为Block n+x+1,之后把Block n+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闪存存储器芯片的使用效率。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (1)

1.一种嵌入式系统中实现NAND闪存存储器数据备份处理的系统,其特征在于,所述的系统包括:
备份模块,用于根据项目的配置拷贝特定的数据块,存储至重要块备份数据池,并生成对应的索引;
恢复模块,与所述的备份模块相连接,用于根据索引进行回写,恢复正确数据;
所述的备份模块主动运行,具体包括以下步骤:
S01:创建重要块备份表,创建并规划重要块备份数据池;
S02:读取配置策略,确定需要备份的序号表,根据序号表依次确定重要块备份数据池中的位置,根据备份策略,把选中的逻辑块序与重要块备份数据池中的逻辑块序进行映射,更新到重要块备份表;
S03:选中的逻辑块中的内容写入到重要块备份数据池中对应映射的逻辑块中,完成备份;
所述的恢复模块在业务程序读取数据异常时运行,具体包括以下步骤:
S11:通知恢复程序运行,根据异常消息中的内容确定需要恢复的逻辑块序;
S12:读取重要块备份表,确定重要块备份数据池中对应的备份块序,根据异常通知传递的恢复目标块序从重要块备份表中确定重要块备份数据池中的位置;
S13:块写回,从重要块备份数据池中已确定好的位置写回数据到待恢复块序;
所述的备份模块执行备份过程,备份过程只在设备第一次运行时完成;所述的恢复模块执行恢复过程,恢复过程是随机动作,在监测程序发现被备份的区域出现坏块时触发运行;
所述的备份模块和恢复模块的数据均读写至NAND闪存存储器;
所述的系统用于保护嵌入式系统中的重要块,包括环境变量、配置项、板级参数。
CN201910520153.1A 2019-06-17 2019-06-17 嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法 Active CN110245036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910520153.1A CN110245036B (zh) 2019-06-17 2019-06-17 嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910520153.1A CN110245036B (zh) 2019-06-17 2019-06-17 嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法

Publications (2)

Publication Number Publication Date
CN110245036A CN110245036A (zh) 2019-09-17
CN110245036B true CN110245036B (zh) 2024-05-10

Family

ID=67887498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910520153.1A Active CN110245036B (zh) 2019-06-17 2019-06-17 嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法

Country Status (1)

Country Link
CN (1) CN110245036B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123186A (ja) * 2007-11-15 2009-06-04 Genesys Logic Inc フラッシュメモリのデータ即時更新方法
CN104750565A (zh) * 2013-12-31 2015-07-01 重庆重邮信科通信技术有限公司 Nand坏块处理方法及nand闪存设备
CN105589767A (zh) * 2015-12-21 2016-05-18 北京时代民芯科技有限公司 一种用于nand flash的系统掉电保护实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145477A1 (en) * 2009-12-15 2011-06-16 Rudelic John C Flash translation layer using phase change memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123186A (ja) * 2007-11-15 2009-06-04 Genesys Logic Inc フラッシュメモリのデータ即時更新方法
CN104750565A (zh) * 2013-12-31 2015-07-01 重庆重邮信科通信技术有限公司 Nand坏块处理方法及nand闪存设备
CN105589767A (zh) * 2015-12-21 2016-05-18 北京时代民芯科技有限公司 一种用于nand flash的系统掉电保护实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"嵌入式Linux系统中的多重备份与恢复设计";丁元舟等;《电子技术应用》;20150306(第03期);第42-45页 *

Also Published As

Publication number Publication date
CN110245036A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN106933708B (zh) 有助于进行存储系统恢复的方法、装置以及一种存储系统
US8943358B2 (en) Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process
EP0608344B1 (en) System for backing-up data for rollback
CN109614276B (zh) 故障处理方法、装置、分布式存储系统和存储介质
CN102460401B (zh) 利用变化跟踪进行系统恢复的技术
CN113626256B (zh) 一种虚拟机磁盘数据备份方法、装置、终端及存储介质
US5933592A (en) Promoting device level error to raidset level error to restore redundacy in a raid array data storage system
CN109656895B (zh) 分布式存储系统、数据写入方法、装置和存储介质
JP2004021811A (ja) 不揮発メモリを使用したディスク制御装置
US20180357142A1 (en) Reporting defects in a flash memory back-up system
CN102033793A (zh) 快照方法和固态硬盘
CN104881242A (zh) 数据写入方法及装置
CN113377569A (zh) 用于恢复数据的方法、设备和计算机程序产品
CN104461791A (zh) 一种信息处理方法及处理装置
CN104133742A (zh) 一种数据保护的方法及装置
CN113220221B (zh) 存储器控制器与数据处理方法
CN111506450A (zh) 用于数据处理的方法、设备和计算机程序产品
CN113391945B (zh) 用于存储管理的方法、电子设备以及计算机程序产品
CN110245036B (zh) 嵌入式系统中实现nand闪存存储器数据备份处理的系统及其方法
CN104407806A (zh) 独立磁盘冗余阵列组硬盘信息的修改方法和装置
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
CN111857560A (zh) 用于管理数据的方法、设备和计算机程序产品
CN106354580A (zh) 一种数据恢复方法及装置
JP2007058873A (ja) 不揮発メモリを使用したディスク制御装置
WO2022128080A1 (en) Storing data in computer storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20240411

Address after: 215412 No.89 Jiangnan Road, Ludu Town, Taicang City, Suzhou City, Jiangsu Province

Applicant after: TAICANG T&W ELECTRONICS Co.,Ltd.

Country or region after: China

Address before: 200235 7th floor, Yuanzhong scientific research building, 1905 Hongmei Road, Xuhui District, Shanghai

Applicant before: SHANGHAI GONGJIN COMMUNICATIONS TECHNOLOGY Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant