CN108304140B - 闪存数据管理方法、装置及微控制器 - Google Patents

闪存数据管理方法、装置及微控制器 Download PDF

Info

Publication number
CN108304140B
CN108304140B CN201710023181.3A CN201710023181A CN108304140B CN 108304140 B CN108304140 B CN 108304140B CN 201710023181 A CN201710023181 A CN 201710023181A CN 108304140 B CN108304140 B CN 108304140B
Authority
CN
China
Prior art keywords
area
boot
data
application
backup
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
CN201710023181.3A
Other languages
English (en)
Other versions
CN108304140A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201710023181.3A priority Critical patent/CN108304140B/zh
Publication of CN108304140A publication Critical patent/CN108304140A/zh
Application granted granted Critical
Publication of CN108304140B publication Critical patent/CN108304140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种闪存数据管理方法、装置及微控制器,在闪存内设置存储引导数据的引导区以及存储应用数据的运行区,并在闪存内设置分别对引导区和运行区内的数据进行备份存储的备份引导区和备份运行区;然后对闪存引导区和运行区内的数据分别进行校验;当某一区域内的数据校验失败时,直接将对应备份区域内的数据复制到该区域内进行修复。这样本发明可以通过校验机制对MCU闪存内的数据进行校验,并在校验失败发生异常时,直接通过闪存内的备份数据进行快速修改,因此可简化恢复过程、提升恢复效率,且可提升闪存的自适应能力,进而提升MCU的可靠性,尤其可提升MCU在电源应用中的可靠性。

Description

闪存数据管理方法、装置及微控制器
技术领域
本发明涉及通信领域,尤其涉及一种闪存数据管理方法、装置及微控制器。
背景技术
微控制器(Microcontroller Unit,MCU,也成单片微型计算机)在通信领域应用日益广泛。例如,随着开关电源朝着数字化、智能化方向急速发展,伴随着的是设计越来越复杂,可靠性也接受着挑战。因此目前的开关电源越来越过的使用MCU来实现核心功能,因此MCU的运行稳定性直接关系着电源的产品质量。
而MCU采用直接在其内部的片上闪存(Flash Memory)运行的方式进行取指。闪存由于自身特性,擦写次数有限,且有一定概率的数据丢失,尤其是应用于电源开关时,电源工作的电磁、温度等环境,都相对恶劣,闪存出现异常的概率就相对更高,而且不排除软件设计的原因导致闪存内的数据出现异常。而目前MCU内闪存的数据出现异常时,只能利用外部数据进行恢复,恢复过程繁琐、效率低,自适应能力差,进而导致MCU可靠性差。
发明内容
本发明实施例提供的一种闪存数据管理方法、装置及微控制器,主解决的技术问题是:解决现有MCU内闪存的数据异常只能利用外部数据进行恢复,恢复过程繁琐、效率低,自适应能力差的问题。
为解决上述技术问题,本发明实施例提供一种闪存数据管理方法,包括:
对闪存引导区所存储的引导数据以及运行区存储的应用数据进行校验;所述闪存内还设有分别对所述引导区和运行区内的数据进行备份存储的备份引导区和备份运行区;
当对所述引导区内的引导数据校验失败时,将所述备份引导区内的引导数据复制到所述引导区内进行修复;
当对所述运行区内的应用数据校验失败时,将所述备份运行区内的应用数据复制到所述引导区内进行修复。
为解决上述技术问题,本发明实施例提供一种闪存数据管理装置,包括
校验模块,用于对闪存引导区所存储的引导数据以及运行区存储的应用数据进行校验;所述闪存内还设有分别对所述引导区和运行区内的数据进行备份存储的备份引导区和备份运行区;
修复处理模块,用于在所述引导区内的引导数据校验失败时,将所述备份引导区内的引导数据复制到所述引导区内进行修复;以及在所述运行区内的应用数据校验失败时,将所述备份运行区内的应用数据复制到所述引导区内进行修复。
为解决上述技术问题,本发明实施例提供一种微控制器,包括如上所述的闪存数据管理装置。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的闪存数据管理方法。
本发明的有益效果是:
根据本发明实施例提供的闪存数据管理方法、装置、微控制器及计算机存储介质,在闪存内设置存储引导数据的引导区以及存储应用数据的运行区,并在闪存内设置分别对引导区和运行区内的数据进行备份存储的备份引导区和备份运行区;然后对闪存引导区和运行区内的数据分别进行校验;当对引导区内的引导数据校验失败时,直接将备份引导区内的引导数据复制到引导区内进行修复;当对运行区内的应用数据校验失败时,将备份运行区内的应用数据复制到引导区内进行修复。这样本发明可以通过校验机制对MCU闪存内的数据进行校验,并在校验失败发生异常时,直接通过闪存内的备份数据进行快速修改,因此可简化恢复过程、提升恢复效率,且可提升闪存的自适应能力,进而提升MCU的可靠性,尤其可提升MCU在电源应用中的可靠性。
附图说明
图1为本发明实施例一中的闪存分区示意图;
图2为本发明实施例一中的闪存数据管理方法流程示意图;
图3为本发明实施例一中的另一闪存数据管理方法流程示意图;
图4为本发明实施例一中的另一闪存分区示意图;
图5为本发明实施例一中的启动过程闪存数据校验流程示意图;
图6为本发明实施例二中的微控制器结构示意图;
图7为本发明实施例二中的闪存数据管理装置结构示意图;
图8为本发明实施例二中的另一闪存数据管理装置结构示意图;
图9为本发明实施例三中的闪存分区示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明中一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
本实施例在闪存(Flash Memory)内设置存储引导数据的引导区(BOOT)、存储应用数据的运行区(Application,APP),并在闪存内设置分别对引导区和运行区内的数据进行备份存储的备份引导区(备份BOOT)和备份运行区(备份APP),参见图1所示。
基于上述设置,本实施例可以对闪存内的数据进行校验修改,具体参见图2所示,包括:
S201:对闪存引导区和运行区内的数据分别进行校验;
S202:判断校验是否正常,如是,转至S203;否则,转至S204;
S203:等待下一次校验的触发或结束。
S204:对于数据校验失败的区域,直接将对应备份区域内的数据复制到该区域内进行修复,该步骤包括:
当对引导区内的引导数据校验失败时,直接将备份引导区内的引导数据复制到引导区内进行修复;
当对运行区内的应用数据校验失败时,将备份运行区内的应用数据复制到引导区内进行修复。
这样本实施例可以通过校验机制对MCU闪存内的数据进行校验,并在校验失败发生异常时,直接通过闪存内的备份数据进行快速修改,可简化恢复过程、提升恢复效率,且可提升闪存的自适应能力,进而提升MCU的可靠性,尤其可提升MCU在电源应用中的可靠性。
本实施例中,为了进一步提升可靠性,还可对备份区域内的数据进行校验,对于校验失败的备份区域,则可采用对应区域内的数据进行修复,该修复过程参见图3所示,包括:
S301:对备份引导区所存储的引导数据以及备份运行区中存储的应用数据进行校验;
S302:判断校验是否正常,如是,转至S303;否则,转至S304;
S303:等待下一次校验的触发或结束。
S304:对于数据校验失败的备份区域,直接将对应区域内的数据复制到该备份区域内进行修复,该步骤包括:
当对备份引导区内的引导数据校验失败时,将引导区内的引导数据复制到备份引导区内进行修复;
当对备份运行区内的应用数据校验失败时,将运行区内的应用数据复制到引导区内进行修复。
这样本实施例通过对数据存储区以及对应的备份存储区进行双向校验,可以尽可能的降低存储区和备份存储区中的数据同时发生异常的概率,提升可靠性。
应当理解的是,本实施例对于图1中的四个进行数据校验时,对各区域的校验顺序可以灵活设置,例如可以设置为从下往上依次校验,也可以设置为随机校验,或者先校验完数据存储区,再校验备份数据存储区,或者先校验完备份数据存储区,再校验数据存储区。
本实施例中,当某一数据存储区中的数据发生正常的更新时,还包括将对应备份存储区内的数据进行相应的同步,同步方式可以采用任意数据同步的方式,在此不再赘述。
应当理解的是,本实施例中对图1中的各区域进行校验时,可以采用同一校验算法进行校验,也可以采用不同的校验算法进行校验,例如对于引导区和备份引导区采用一种校验算法,而对于运行区和备份运行区则采用另一校验算法。
引导区中存储的引导数据有一部分是MCU启动时最开始运行的部分,这部分是MCU启动的基础,且这部分所划分的地址范围一般最小,其只需要实现一些基本功能即可,例如对芯片的初始化等功能。引导区中存储的另一部分引导数据则用于对运行区内的应用进行管理和升级。本实施例将前一部分数据称为启用引导数据,将后面一部分引导数据称为应用引导数据。为了进一步提升闪存的可靠性,本实施例将引导区进一步划分为基本引导区(BASEBOOT)和应用引导区,基本引导区用于存储启动引导数据,应用引导区则用于存储应用引导数据。对应的将备份引导区进一步划分为对上述启动引导数据和应用引导数据分别进行备份存储的备份基本引导区(备份BASEBOOT)和备份应用引导区。进一步划分后的区域参见图4所示。基于图4划分的区域,采用上述校验方法对各数据区域进行校验。
这样由于将启动引导数据部分代码最小化,与应用引导数据相互独立存储,使其占用极小的闪存空间,因此可以尽可能降低这部分区域出错概率,保证MCU的基本功能的正常启动。
本实施例中,对图1或图4中各区内的数据进行校验时,可以在启动过程中对部分区域进行初步校验,还可在启动后对各区域进行校验。或者根据实际需求直接在启动后对各区域进行校验,在启动过程中不执行校验。下面本实施例分别对两个校验过程进行示例说明。
启动过程的校验参见图5所示,包括:
S501:启动时,运行基本引导区内的启动引导数据后,对应用引导区内的应用引导数据进行校验;
S502:判断校验是否成功,如否,转至S503;否则,转至S504;
S503:将备份应用引导区内的应用引导数据复制到应用引导区内进行修复,转至S504;
S504:运行应用引导区内的应用引导数据,对运行区内的应用数据进行校验;
S505:判断校验是否成功,如否,转至S506;否则,转至S507;
S506:将备份运行区内的应用数据复制到引导区内进行修复,然后转至S507;
S507:运行所述运行区内的应用数据。
在上述S507运行所述运行区内的应用数据后,则可按照预设的校验规则对图4中的基本引导区、备份基本引导区、应用引导区、备份应用引导区、运行区以及备份运行区进行校验。
本实施例中实现上述校验功能的代码可以存储在一个区域或者分布存储在对应的区域。例如本实施例中的运行区中除了存储实现实际业务功能的代码外,还可存储对上述各区域内(包含自身区域)的数据进行校验的代码。应当理解的是,本实施例中的校验规则可以根据具体应用场景灵活设置,设置为按照预设的校验周期对各区域内的数据进行校验。且各区域内的数据的校验可以在一个校验进程中进行,也可以分布在多个校验进程中进行。可以对各区域内的数据进行逐个校验,也可以采用并行的方式同时对多个区域内的数据进行校验。且本实施例中的校验算法可以采用任意能对数据进行有效校验的算法。
可见,本实施例首先将启动引导代码数据最小化,使其所占的闪存空间比例极小,使引导区出错概率降低,另外每区采用了互备份功能,定时检测各区的数据准确性,可及时的对错误进行修复,提升MCU可靠性,进而提升电源的可靠性。
实施例二:
本实施例提供了一种微控制器,参见图6所示,包括闪存数据管理装置1。其中闪存数据管理装置1参见图7所示,包括:
校验模块71,用于对闪存引导区所存储的引导数据以及运行区存储的应用数据进行校验。
本实施例中的在闪存(Flash Memory)内设置存储引导数据的引导区(BOOT)、存储应用数据的运行区(Application,APP),并在闪存内设置分别对引导区和运行区内的数据进行备份存储的备份引导区(备份BOOT)和备份运行区(备份APP)。
修复处理模块72,用于在引导区内的引导数据校验失败时,将备份引导区内的引导数据复制到引导区内进行修复;以及用于在运行区内的应用数据校验失败时,将备份运行区内的应用数据复制到引导区内进行修复。
这样闪存数据管理装置1可以通过校验机制对MCU闪存内的数据进行校验,并在校验失败发生异常时,直接通过闪存内的备份数据进行快速修改,可简化恢复过程、提升恢复效率,且可提升闪存的自适应能力,进而提升MCU的可靠性,尤其可提升MCU在电源应用中的可靠性。
为了进一步提升可靠性,本实施例中的校验模块还可对备份区域内的数据进行校验,对于校验失败的备份区域,可采用对应区域内的数据进行修复。因此本实施例中的校验模块还用可于对备份引导区所存储的引导数据以及备份运行区中存储的应用数据进行校验;
修复处理模块还用于在备份引导区内的引导数据校验失败时,将引导区内的引导数据复制到备份引导区内进行修复;以及还用于在备份运行区内的应用数据校验失败时,将运行区内的应用数据复制到引导区内进行修复。
闪存数据管理装置1通过对数据存储区以及对应的备份存储区进行双向校验,可以尽可能的降低存储区和备份存储区中的数据同时发生异常的概率,提升可靠性。
校验模块71对上述四个进行数据校验时,对各区域的校验顺序可以灵活设置,例如可以设置为从下往上依次校验,也可以设置为随机校验,或者先校验完数据存储区,再校验备份数据存储区,或者先校验完备份数据存储区,再校验数据存储区。且校验模块71对各区域进行校验时,可以采用同一校验算法进行校验,也可以采用不同的校验算法进行校验,例如对于引导区和备份引导区采用一种校验算法,而对于运行区和备份运行区则采用另一校验算法。
本实施例中的引导区还可进一步划分为用于存储启动引导数据的基本引导区和用于存储应用引导数据的应用引导区,对应的备份引导区可进一步包括分别对启动引导数据和应用引导数据进行备份存储的备份基本引导区和备份应用引导区。这样由于将启动引导数据部分代码最小化,与应用引导数据相互独立存储,使其占用极小的闪存空间,因此可以尽可能降低这部分区域出错概率,保证MCU的基本功能的正常启动。
参见图8所示,本实施例中的校验模块71包括启动校验单元711,用于在启动过程中,运行基本引导区内的启动引导数据后,对应用引导区内的应用引导数据进行校验,校验成功时,运行应用引导区内的应用引导数据,对运行区内的应用数据进行校验,否则,在修复处理模块将备份应用引导区内的应用引导数据复制到应用引导区内进行修复后再运行;以及还用于对运行区内的应用数据校验成功时,运行所述运行区内的应用数据;否则,在修复处理模块将备份运行区内的应用数据复制到引导区内进行修复后再运行。
定时启动校验单元712,用于在运行区内的应用数据运行后,按照预设校验周期对基本引导区、备份基本引导区、应用引导区、备份应用引导区、运行区以及备份运行区内的数据进行校验。
因此,本实施例中的闪存数据管理装置1可将启动引导代码数据最小化,使其所占的闪存空间比例极小,使引导区出错概率降低,另外闪存数据管理装置1对闪存的每区采用了互备份功能,定时检测各区的数据准确性,可及时的对错误进行修复,提升MCU可靠性,进而提升电源的可靠性。
本实施例中的上述各模块的功能可以由微控制器内的电路或代码实现。且显然,也即本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
实施例三:
为了更好的理解本发明,本实施例在上述实施例的基础上,以一个具体的应用场景为示例进行说明。
现假设MCU内部FLASH规格如下:地址范围为0~0x00080000共512K,对其进行分区,见图9。预生成的正确校验和存放在分区末尾。
该MCU上电过程的校验和运行过程的校验如下:
1、MCU上电运行基本引导区(BASEBOOT),对应用引导区(BOOT)进行校验和运算,如果正确,运行BOOT。如果不正确,则从备份应用引导区(备份BOOT)区复制数据到BOOT区进行修复后再运行到BOOT。
2、运行到BOOT后,BOOT对运行区(APP区)进行校验和运算,如果正确,则运行该运行区。如果不正确,则从备份运行区(备份APP区)复制数据到运行区进行修复后再运行。
3、运行到运行区后,运行区除运行正常业务外,还负责定时对FLASH划分的上述六个区进行校验。如果某一区内的数据校验不正确,则通过互备份的数据相互进行修复(也即回滚修改),本实施例中的校验周期可以设置为10分钟,或者20分钟或者半个小时等等,具体值可以根据具体应用场景灵活设置。
本发明可以通过校验机制对MCU闪存内的数据进行校验,并在校验失败发生异常时,直接通过闪存内的备份数据进行快速修改,同时还可对备份区内的数据进行校验修改,因此可简化恢复过程、提升恢复效率,且可提升闪存的自适应能力,进而提升MCU的可靠性,尤其可提升MCU在电源应用中的可靠性。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

1.一种闪存数据管理方法,包括:
对闪存引导区所存储的引导数据以及运行区存储的应用数据进行校验;所述闪存内还设有分别对所述引导区和运行区内的数据进行备份存储的备份引导区和备份运行区;
当对所述引导区内的引导数据校验失败时,将所述备份引导区内的引导数据复制到所述引导区内进行修复;
当对所述运行区内的应用数据校验失败时,将所述备份运行区内的应用数据复制到所述引导区内进行修复;
所述方法还包括:
对所述备份引导区所存储的引导数据以及所述备份运行区中存储的应用数据进行校验;
当对所述备份引导区内的引导数据校验失败时,将所述引导区内的引导数据复制到所述备份引导区内进行修复;
当对所述备份运行区内的应用数据校验失败时,将所述运行区内的应用数据复制到所述引导区内进行修复;
所述引导区包括用于存储启动引导数据的基本引导区和用于存储应用引导数据的应用引导区,所述备份引导区包括分别对所述启动引导数据和所述应用引导数据进行备份存储的备份基本引导区和备份应用引导区。
2.如权利要求1所述的闪存数据管理方法,其特征在于,对所述各区内的数据进行校验包括:
启动时,运行所述基本引导区内的启动引导数据后,对所述应用引导区内的应用引导数据进行校验;
对所述应用引导区内的应用引导数据校验成功时,运行所述应用引导区内的应用引导数据,对所述运行区内的应用数据进行校验;否则,将所述备份应用引导区内的应用引导数据复制到所述应用引导区内进行修复后再运行;
对所述运行区内的应用数据校验成功时,运行所述运行区内的应用数据;否则,将所述备份运行区内的应用数据复制到所述引导区内进行修复后再运行。
3.如权利要求2所述的闪存数据管理方法,其特征在于,对所述各区内的数据进行校验还包括:
运行所述运行区内的应用数据后,按照预设校验周期对所述基本引导区、备份基本引导区、应用引导区、备份应用引导区、运行区以及备份运行区进行校验。
4.一种闪存数据管理装置,包括
校验模块,用于对闪存引导区所存储的引导数据以及运行区存储的应用数据进行校验;所述闪存内还设有分别对所述引导区和运行区内的数据进行备份存储的备份引导区和备份运行区;
修复处理模块,用于在所述引导区内的引导数据校验失败时,将所述备份引导区内的引导数据复制到所述引导区内进行修复;以及在所述运行区内的应用数据校验失败时,将所述备份运行区内的应用数据复制到所述引导区内进行修复;
所述校验模块还用于对所述备份引导区所存储的引导数据以及所述备份运行区中存储的应用数据进行校验;
所述修复处理模块还用于在所述备份引导区内的引导数据校验失败时,将所述引导区内的引导数据复制到所述备份引导区内进行修复;以及还用于在所述备份运行区内的应用数据校验失败时,将所述运行区内的应用数据复制到所述引导区内进行修复;
所述引导区包括用于存储启动引导数据的基本引导区和用于存储应用引导数据的应用引导区,所述备份引导区包括分别对所述启动引导数据和所述应用引导数据进行备份存储的备份基本引导区和备份应用引导区。
5.如权利要求4所述的闪存数据管理装置,其特征在于,所述校验模块包括启动校验单元,用于在启动过程中,运行所述基本引导区内的启动引导数据后,对所述应用引导区内的应用引导数据进行校验,校验成功时,运行所述应用引导区内的应用引导数据,对所述运行区内的应用数据进行校验,否则,在所述修复处理模块将所述备份应用引导区内的应用引导数据复制到所述应用引导区内进行修复后再运行;以及还用于对所述运行区内的应用数据校验成功时,运行所述运行区内的应用数据;否则,在修复处理模块将所述备份运行区内的应用数据复制到所述引导区内进行修复后再运行。
6.如权利要求5所述的闪存数据管理装置,其特征在于,所述校验模块还包括定时启动校验单元,用于在所述运行区内的应用数据运行后,按照预设校验周期对所述基本引导区、备份基本引导区、应用引导区、备份应用引导区、运行区以及备份运行区内的数据进行校验。
7.一种微控制器,其特征在于,包括如权利要求4-6任一项所述的闪存数据管理装置。
CN201710023181.3A 2017-01-12 2017-01-12 闪存数据管理方法、装置及微控制器 Active CN108304140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710023181.3A CN108304140B (zh) 2017-01-12 2017-01-12 闪存数据管理方法、装置及微控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710023181.3A CN108304140B (zh) 2017-01-12 2017-01-12 闪存数据管理方法、装置及微控制器

Publications (2)

Publication Number Publication Date
CN108304140A CN108304140A (zh) 2018-07-20
CN108304140B true CN108304140B (zh) 2023-04-07

Family

ID=62871914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710023181.3A Active CN108304140B (zh) 2017-01-12 2017-01-12 闪存数据管理方法、装置及微控制器

Country Status (1)

Country Link
CN (1) CN108304140B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358892B (zh) * 2018-09-26 2022-04-05 潍柴动力股份有限公司 一种软件版本升级方法及装置
KR20200079851A (ko) * 2018-12-26 2020-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN110471680A (zh) * 2019-07-23 2019-11-19 武汉格罗夫氢能汽车有限公司 用于氢能汽车控制器软件升级及失败回滚的控制方法
CN111090539A (zh) * 2019-10-30 2020-05-01 苏州浪潮智能科技有限公司 一种基于cpld的双闪存自我修复方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331379A (ja) * 2000-05-22 2001-11-30 Nec Microsystems Ltd フラッシュメモリ更新プログラムの書き換え方法及び装置
CN102402470A (zh) * 2011-12-19 2012-04-04 青岛海信网络科技股份有限公司 闪存程序自动纠错修复方法及装置
CN104572206A (zh) * 2015-01-14 2015-04-29 厦门为那通信科技有限公司 应用程序自更新和备份恢复的方法
CN105760165A (zh) * 2016-02-22 2016-07-13 深圳威迈斯电源有限公司 一种mcu自我备份加载刷新的方法
WO2016184180A1 (zh) * 2015-10-30 2016-11-24 中兴通讯股份有限公司 一种系统安全启动方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331379A (ja) * 2000-05-22 2001-11-30 Nec Microsystems Ltd フラッシュメモリ更新プログラムの書き換え方法及び装置
CN102402470A (zh) * 2011-12-19 2012-04-04 青岛海信网络科技股份有限公司 闪存程序自动纠错修复方法及装置
CN104572206A (zh) * 2015-01-14 2015-04-29 厦门为那通信科技有限公司 应用程序自更新和备份恢复的方法
WO2016184180A1 (zh) * 2015-10-30 2016-11-24 中兴通讯股份有限公司 一种系统安全启动方法及装置
CN105760165A (zh) * 2016-02-22 2016-07-13 深圳威迈斯电源有限公司 一种mcu自我备份加载刷新的方法

Also Published As

Publication number Publication date
CN108304140A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN108304140B (zh) 闪存数据管理方法、装置及微控制器
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US20170039075A1 (en) Rapid start up method for electronic equipment
US9891917B2 (en) System and method to increase lockstep core availability
CN102023908A (zh) 一种引导程序备份方法及装置
CN106155915B (zh) 数据存储的处理方法及装置
CN104572206A (zh) 应用程序自更新和备份恢复的方法
CN107092537A (zh) 安全恢复装置和方法
CN111694760B (zh) 服务器系统、快闪存储器模块及更新固件映像文件的方法
US11314665B2 (en) Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device
CN108874582A (zh) 一种系统恢复方法、装置及终端
US10395038B2 (en) System and method for automatic recovery of firmware image
CN105468390B (zh) Boot在线升级装置及方法
CN111327490A (zh) 区块链的拜占庭容错检测方法及相关装置
CN108897576B (zh) 一种基于arm芯片的快速启动boot的方法
CN106033362A (zh) 一种闪存分区的处理方法和装置
CN109614153A (zh) 多核芯片及系统
US10824517B2 (en) Backup and recovery of configuration files in management device
CN101581959B (zh) 多核芯片中复位单个核的方法和设备
CN103890713B (zh) 用于管理处理系统内的寄存器信息的装置及方法
US11604635B2 (en) Online program updating method
CN116795408A (zh) Ecu的软件升级方法、系统及车辆
WO2021012170A1 (zh) 固件启动方法、设备及计算机可读存储介质
CN116072202A (zh) 一种存储设备的管理方法、系统及存储介质
CN103902301A (zh) 读取bios的方法、装置以及处理器

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
GR01 Patent grant
GR01 Patent grant