CN105786545B - 基于异构混合内存的断点恢复方法和系统 - Google Patents
基于异构混合内存的断点恢复方法和系统 Download PDFInfo
- Publication number
- CN105786545B CN105786545B CN201410827273.3A CN201410827273A CN105786545B CN 105786545 B CN105786545 B CN 105786545B CN 201410827273 A CN201410827273 A CN 201410827273A CN 105786545 B CN105786545 B CN 105786545B
- Authority
- CN
- China
- Prior art keywords
- operating system
- image
- nvm
- mirror image
- dram
- 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
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种基于异构混合内存的断点恢复方法,开机上电;在非首次开机的上电自检过程中执行以下步骤:检测上一次是否非法关机,若是,则检测NVM中是否存有预先备份的操作系统镜像,如果存在,则拷贝所述操作系统镜像至DRAM中,并从DRAM引导所述操作系统镜像,如果不存在,则从外部存储设备引导操作系统镜像;如果上一次不是非法关机,则从外部存储设备引导操作系统镜像。该方法利用NVM断电不消失数据的特点,能恢复非法关机前操作系统运行的程序状态及运行环境,实现了断点恢复。此外,还提供了一种基于异构混合内存的断点恢复系统。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于异构混合内存的断点恢复方法和系统。
背景技术
信息技术高速发展的今天,计算机在各个领域得到了广泛的应用。人们在实际使用计算机的过程中,经常遇到由于意外断电等原因导致异常关机,造成系统文件损坏和用户数据丢失等问题。
为了解决上述异常导致不能引导进入操作系统、用户数据丢失等问题,现代的操作系统一般都支持备份功能(自动定时备份、手动备份),即在操作系统运行正常的情况下,把当前的操作系统镜像备份到外部存储设备中(比如本地硬盘、网络硬盘等),当出现异常后不能引导或运行操作系统时,用户需要手动从本地或网络加载之前备份的系统镜像,使操作系统恢复到某个可以引导和运行的系统状态。
传统的操作系统的恢复方法恢复的仅是操作系统本身,系统掉电前运行的程序以及运行环境不能被恢复,只能恢复事先备份好的系统镜像,而对系统掉电前正在运行的应用程序是不能恢复的,因而不能算作断点恢复。
发明内容
基于此,有必要针对上述技术问题,提供一种基于异构混合内存的断点恢复方法和系统,能恢复断电前的操作系统运行的程序状态的。
一种基于异构混合内存的断点恢复方法,所述方法包括:
开机上电;
在非首次开机的上电自检过程中执行以下步骤:
检测上一次是否非法关机,若是,则检测NVM中是否存有预先备份的操作系统镜像,如果存在,则拷贝所述操作系统镜像至DRAM中,并从DRAM引导所述操作系统镜像,如果不存在,则从外部存储设备引导操作系统镜像;
如果上一次不是非法关机,则从外部存储设备引导操作系统镜像。
在其中一个实施例中,在开机上电的步骤之后还包括:
检测是否为首次开机,若是,则初始化NVM。
在其中一个实施例中,所述初始化NVM的步骤包括:
对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;
所述标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
在其中一个实施例中,所述拷贝所述操作系统镜像至DRAM中的步骤,包括:
根据所述操作系统镜像长度位从DRAM中申请相同大小的存储空间;
将所述操作系统镜像拷贝至所述存储空间中。
在其中一个实施例中,所述检测上一次是否非法关机的步骤为:
获取非法关机标志位,判断所述非法关机标志位是否与预设值相同,若是,则判定上一次为非法关机,否则判定上一次为正常关机。
在其中一个实施例中,在所述拷贝所述操作系统镜像至DRAM中的步骤之前还包括:
校验所述操作系统镜像的完整性;
如果所述操作系统镜像完整,则进入所述拷贝所述操作系统镜像至DRAM中的步骤;
如果所述操作系统镜像不完整,则提示NVM中镜像损坏。
在其中一个实施例中,所述方法还包括:
将操作系统镜像备份至NVM中,具体为:
首次进入操作系统,将完整的操作系统镜像备份至NVM;
之后,备份所述操作系统镜像的增量至NVM;
备份完成后修改操作系统镜像标志位,通过所述操作系统镜像标志位表示备份完成。
一种基于异构混合内存的断点恢复系统,所述系统包括:
第一检测模块,用于在开机上电后,在非首次开机的上电自检过程中检测上一次是否非法关机;
第二检测模块,用于当上一次是非法关机时,检测NVM中是否存有预先备份的操作系统镜像;
拷贝模块,用于如果NVM中存有预先备份的操作系统镜像,则拷贝所述操作系统镜像至DRAM中;
引导模块,用于在所述拷贝模块拷贝所述操作系统镜像至DRAM中后,从DRAM引导所述操作系统镜像;
所述引导模块还用于如果NVM中没有预先备份的操作系统镜像或当上一次不是非法关机时,从外部存储设备引导操作系统镜像。
在其中一个实施例中,所述系统还包括:
初始化模块,用于在首次开机时初始化NVM,具体是:对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;
所述标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
在其中一个实施例中,所述系统还包括:
校验模块,用于校验所述NVM中的操作系统镜像的完整性,如果所述操作系统镜像完整,则通知所述拷贝模块拷贝所述操作系统镜像至DRAM中,如果所述操作系统镜像不完整,则提示NVM中镜像损坏。
上述基于异构混合内存的断点恢复方法和系统,如果开机时上一次为非法关机,则将NVM中预先备份的操作系统镜像拷贝至DRAM中,并从DRAM引导操作系统镜像。利用了异构混合内存中的NVM断电不消失数据的特点,通过NVM备份DRAM中的数据,备份的操作系统镜像可包含操作系统运行时的程序状态,而NVM中备份的操作系统镜像由于在断电后仍保留,非法关机后再开机时就能通过此操作系统镜像进行恢复,从而能恢复非法关机前操作系统运行的程序状态及运行环境,实现了断点恢复。
附图说明
图1为异构混合内存的系统架构图;
图2为一个实施例中基于异构混合内存的断点恢复方法的流程图;
图3为另一个实施例中基于异构混合内存的断点恢复方法的流程图;
图4为一个实施例中基于异构混合内存的断点恢复系统的结构框图;
图5为另一个实施例中基于异构混合内存的断点恢复系统的结构框图。
具体实施方式
随着电阻存储器、铁电存储器、相变存储器等为代表的新兴非易失性随机存储介质(Nonvolatile Memory,NVM)技术的发展,通过把新型的NVM和动态随机访问存储器(Dynamic Random Access Memory,DRAM)相结合,搭建混合内存架构,形成异构混合内存。异构混合内存同时具有NVM和DRAM的特点,不仅仅具备常规内存的功能,存储在DRAM中的数据在断电后会立即消失,是易失性的;同时还能发挥NVM在断电后还能保存数据的优势,充分发挥NVM非易失性的特点。如图1所示,为异构混合内存的系统架构图,以目前较复杂的x86架构4路CPU拓扑为例,其他拓扑结构原理相同。其中2路CPU与NVM内存模块相连,可以进行对NVM的读写操作并与NVM相互传输数据。另2路CPU与DRAM内存模块相连,可以进行对DRAM的读写操作并与DRAM相互传输数据。而由于4路CPU相互相连,所以4路CPU之间可以相互传输数据。这样通过4路CPU,NVM中的数据与DRAM中的数据就可以相互传输。同时各路CPU都有扩展总线可与扩展插槽相连进行相互通信,同时一路CPU有扩展I/O(input/output,输入输出)接口可以与I/O设备相连进行相互通信。
异构混合内存采用兼容DDR(Double Data Rate,双倍速率同步动态随机存储器)接口的内存模块设计,满足现有工业控制设备的常规内存接口,无需引进新的控制设备或添加新的辅助设备,成为了一个研究热点。本发明就是利用异构混合内存的特点,提出了一种基于异构混合内存实现的断点恢复方法和系统。
在一个实施例中,如图2所示,提供了一种基于异构混合内存的断点恢复方法。由于首次开机不存在断点恢复,因此本实施例描述的是非首次开机过程。该方法包括:
步骤S110,开机上电。
开机上电后计算机就会进入上电自检过程,即BIOS(Basic Input&OutputSystem,基本输入输出系统)POST(Power On Self-Test,上电自检)阶段。在上电自检阶段,计算机会运行BIOS中的代码,对计算机内部的硬件进行检测。
步骤S120,检测上一次是否非法关机,若是则进入步骤S130,否则进入步骤S160。
非法关机是相对于正常关机而言的,例如可以是因异常断电、程序崩溃、蓝屏或死机等导致的各种非正常关机。本实施例中,BIOS代码中预先定义了变量表示上一次关机的状态,每次关机时都会根据关机状态给此变量赋预设值,非法关机和正常关机时预设值不同。上电自检时,可读取此变量,根据该变量的值来判定上一次是否是非法关机。
步骤S130,检测NVM中是否存有预先备份的操作系统镜像,若是则进入步骤S140,否则进入步骤S160。
本实施例中,NVM中预先备份的操作系统镜像是在进入操作系统之后,由操作系统内的软件发送备份指令,备份指令执行时,通过异构混合内存中的控制器把DRAM中的重要数据拷贝到异构混合内存的NVM中。其中重要数据可以包括操作系统运行的程序状态及运行环境,程序状态是指应用程序运行到某个状态时能保存此状态的全部数据,运行环境是指操作系统本身运行到某个状态时能保存此状态的全部数据。可以在NVM中保存信息记录NVM中是否存在备份的操作系统镜像,在本次开机时读取所述信息来判断是否存有预先备份的操作系统镜像。
步骤S140,拷贝操作系统镜像至DRAM中。
本实施例中,将NVM中预先备份的操作系统镜像拷贝至DRAM中,后续从DRAM引导操作系统镜像运行速度更快。
步骤S150,从DRAM引导操作系统镜像。
本实施例中,由于DRAM中的操作系统镜像保存了操作系统运行的程序状态及运行环境,从而从DRAM引导此操作系统镜像可以恢复非法关机前操作系统的所有状态信息。比如,用户正在网络上下载资料,当下载到30%时突然出现异常情况导致非法关机。则本次开机过程中运行本实施例提供给的断点恢复方法,进入操作系统后可以恢复上一次非法关机前操作系统运行的程序状态及运行环境,即此资料下载任务仍然存在,并且是从之前的30%开始下载,而不是从0%开始下载。
步骤S160,从外部存储设备引导操作系统镜像。
本实施例中,读取当前系统外部存储设备中的主引导记录,从外部存储设备引导操作系统镜像,也就是正常开机。
本实施例中,如果开机时上一次为非法关机,则将NVM中预先备份的操作系统镜像拷贝至DRAM中,并从DRAM引导操作系统镜像。利用了异构混合内存中的NVM断电不消失数据的特点,通过NVM备份DRAM中的数据,备份的操作系统镜像可包含操作系统运行时的程序状态,而NVM中备份的操作系统镜像由于在断电后仍保留,非法关机后再开机时就能通过此操作系统镜像进行恢复,从而能恢复非法关机前操作系统运行的程序状态及运行环境,实现了断点恢复。
在一个实施例中,在开机上电的步骤之后还包括:检测是否为首次开机,若是,则初始化NVM。在BIOS代码中预先定义了首次开机标志位并设初始值,并在首次开机后,修改此初始值。上电自检过程中读取此首次开机标志位,如果为初始值,则判断为首次开机,否则,判断为非首次开机。
在一个实施例中,初始化NVM的步骤包括:对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;所述标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
在一个实施例中,拷贝操作系统镜像至DRAM中的步骤,包括:根据操作系统镜像长度位从DRAM中申请相同大小的存储空间;将操作系统镜像拷贝至存储空间中。
在一个实施例中,检测上一次是否非法关机的步骤为:获取非法关机标志位,判断所述非法关机标志位是否与预设值相同,若是,则判定上一次为非法关机,否则判定上一次为正常关机。
在一个实施例中,在拷贝操作系统镜像至DRAM中的步骤之前还包括:校验所述操作系统镜像的完整性;如果操作系统镜像完整,则进入拷贝所述操作系统镜像至DRAM中的步骤;如果操作系统镜像不完整,则提示NVM中镜像损坏。
在另一个实施例中,如图3所示,提供了一种基于异构混合内存的断点恢复方法,该方法包括:
步骤S210,开机上电。
开机上电后计算机进入上电自检过程,运行BIOS中的代码,对计算机内部的硬件进行检测。
步骤S220,检测是否为首次开机,若是则进入步骤S230,否则进入步骤S240。
具体的,可在BIOS代码中预先定义了首次开机标志位并设初始值,并在首次开机后,修改此初始值。上电自检过程中读取此首次开机标志位,如果为初始值,则判断为首次开机,否则,判断为非首次开机。
步骤S230,初始化NVM。
本实施例中,对于一个新的NVM,需要对其初始化。可以根据需要向NVM中写入数据,比如增加信息记录当前NVM的存储类别、存储状态等信息。存储类别可以是文件数据、目录数据等,存储状态可以是NVM是否存有数据,各存储类别数据量的大小等。
在一个实施例中,步骤S230包括:对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;所述标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
本实施例中,BIOS通过对当前NVM进行读、擦除和写操作对NVM进行自检,校验当前NVM存储器是否存在坏块。同时,在NVM的特定区域(比如NVM存储器的起始地址)按预设的数据结构写入一系列的标志位信息并设置初始值,标志位信息包括操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
比如写入如下的一个结构体:
struct flag_info{
int flag_os_img;
int flag_os_img_size;
int flag_full_os_img;
}
其中flag_os_img是操作系统镜像标志位,代表NVM中是否保存有操作系统镜像;flag_os_img_size是操作系统镜像长度位,代表NVM中保存的操作系统镜像的长度;flag_full_os_img是操作系统镜像完整信息位,代表与NVM中保存的操作系统镜像是否完整的相关信息。
当然也可以根据需要增加结构体中的信息,比如增加flag_data代表NVM中是否存有数据,增加flag_bad_block代表NVM中是否存在坏块等,在此不一一列举。
步骤S240,检测上一次是否非法关机,若是则进入步骤S250,否则进入步骤S290。
具体的,可获取非法关机标志位,判断所述非法关机标志位是否与预设值相同,若是,则判定上一次为非法关机,否则判定上一次为正常关机。
本实施例中,在BIOS代码中预先定义了非法关机标志位,给该非法关机标志位赋预设值。当正常关机时,运行BIOS代码修改该非法关机标志位的值使其与预设值不同,表示正常关机;在非法关机的情况下,则不会去调用BIOS修改该非法关机标志位,因而非法关机后非法关机标志位依然保持为预设值。通过这种方法,在下一次开机时,BIOS在POST阶段获取此非法关机标志位,如果与预设值相同则判定上一次为非法关机,否则判定上一次为正常关机。
步骤S250,检测NVM中是否存有预先备份的操作系统镜像,若是则进入步骤S260,否则进入步骤S290。
本实施例中,预先备份的操作系统镜像是在进入操作系统之后,由操作系统内的软件发送备份指令,备份指令执行时,通过异构混合内存中的控制器把DRAM中的重要数据拷贝到异构混合内存的NVM中。其中重要数据可以包括操作系统运行的程序状态及运行环境。在完成备份后,修改操作系统镜像标志位表示已完成备份。在开机时BIOS通过读取所述操作系统镜像标志位来判断是否存有预先备份的操作系统镜像。
步骤S260,校验NVM中的操作系统镜像的完整性,若完整则进入步骤S270,否则进入步骤S280。
本实施例中,操作系统镜像在进行备份时,异构混合内存上的控制器可以按一定的算法(比如Checksum校验和)计算操作系统镜像的完整性信息,并把计算结果存在NVM中的操作系统镜像完整信息位。在上电自检阶段,BIOS使用相同的算法对NVM中备份的镜像进行校验,并把校验结果和操作系统镜像完整信息位进行对比,如果相同则表示当前操作系统镜像是完整的;否则,操作系统镜像已损坏。
通过校验NVM中的操作系统镜像的完整性,可以防止从DRAM引导该操作系统镜像时,出现不能恢复操作系统状态或恢复的操作系统状态有错误的问题。
步骤S270,拷贝NVM中的操作系统镜像至DRAM中,并从DRAM引导操作系统镜像。
具体的,可根据操作系统镜像长度位从DRAM中申请相同大小的存储空间;将操作系统镜像拷贝至所述存储空间中。
本实施例中,操作系统镜像长度位代表NVM中备份的操作系统镜像的实际大小,操作系统镜像的长度是在备份的时候由异构混合内存中的控制器计算得到,备份时操作系统镜像长度会保存到操作系统镜像长度位信息里。操作系统镜像长度从操作系统镜像长度位直接读取方便快捷,不用在上电自检阶段时再计算操作系统镜像长度,从而加快了开机速度。
步骤S280,提示NVM中镜像损坏。
本实施例中,如果NVM中的镜像损坏,则进行提示,并且进入步骤S290从外部存储设备引导操作系统镜像,进行正常开机。在NVM中的操作系统镜像不完整时提示NVM中镜像损坏,便于用户获知当前备份的操作系统镜像的状况。
步骤S290,从外部存储设备引导操作系统镜像。
本实施例中,读取当前系统外部存储设备的主引导记录,从外部存储设备引导操作系统镜像,即进行正常开机。
在一个实施例中,上述基于异构混合内存的断点恢复方法还包括将操作系统镜像备份至NVM中的步骤,具体为:首次进入操作系统,将完整的操作系统镜像备份至NVM;之后,备份操作系统镜像的增量至NVM;备份完成后修改操作系统镜像标志位,通过操作系统镜像标志位表示备份完成。
本实施例中,对于新的没有存储数据的NVM需要首次进入操作系统后进行一次完整操作系统镜像的备份,备份完成后修改操作系统镜像标志位,表示备份完成。此后操作系统软件将进行定时增量备份,例如,可按照预设时间间隔备份一次增强数据,备份时,先读取此操作系统镜像标志位,如果与初始值不同则表示NVM中己经有了备份的操作系统镜像,则只需要备份操作系统镜像的增量至NVM,这样备份的效率就更高。备份操作系统镜像的增量时,将其保存在与上一次备份的操作系统镜像所在的存储空间相连续的空间中,并记录第一次备份的操作系统镜像所在空间的起始地址和最后一次备份的操作系统镜像所在空间的结束地址。进一步的,在读取NVM中备份的操作系统镜像时,通过记录的起始地址和结束地址获取NVM中备份的操作系统镜像。
比如第一次备份了完整的操作系统记为A存于NVM中的区域S1,定时增量备份时间到的时候操作系统的状态是A+B,则此时NVM中己经存有A,只用在NVM中与区域S1连续的存储空间中申请一个新的区域S2备份B到其中。并记录区域S1的起始地址和区域S2的结束地址。如果此时非法关机,则在下一次开机的上电自检阶段,通过记录的区域S1的起始地址和区域S2的结束地址获取NVM中备份的操作系统镜像。
比如第一次备份了完整的操作系统记为A存于NVM中的区域S1,定时增量备份时间到的时候操作系统的状态是A+B,在NVM申请一个新的区域S2(此区域与区域S1连续)备份B到其中,第二次定时增量备份时间到的时候操作系统的状态是A+C,则先擦除区域S2中的B,然后在NVM申请一个新的区域S3备份C到其中,因为区域S2中的数据己被擦除,则新的区域S3与区域S1连续。并记录区域S1的起始地址和区域S3的结束地址。如果此时非法关机,则在下一次开机的上电自检阶段,通过记录的区域S1的起始地址和区域S3的结束地址获取NVM中备份的操作系统镜像。
本实施例中,通过首次进入操作系统后进行一次完整操作系统镜像的备份,之后只进行增量备份,这种备份操作系统镜像至NVM中的方式,提高了备份操作系统镜像的效率。
如图4所示,在一个实施例中,提供了一种基于异构混合内存的断点恢复系统,包括:
第一检测模块310,用于在开机上电后,在非首次开机的上电自检过程中检测上一次是否非法关机。
第二检测模块320,用于当上一次是非法关机时,检测NVM中是否存有预先备份的操作系统镜像。
拷贝模块330,用于如果NVM中存有预先备份的操作系统镜像,则拷贝操作系统镜像至DRAM中。
引导模块340,用于在拷贝模块拷贝操作系统镜像至DRAM中后,从DRAM引导操作系统镜像;还用于如果NVM中没有预先备份的操作系统镜像或当上一次不是非法关机时,从外部存储设备引导操作系统镜像。
在另一个实施例中,提供了一种基于异构混合内存的断点恢复系统,在图4所示实施例的基础上还包括:
初始化模块,用于在首次开机时初始化NVM,具体是:对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
在一个实施例中,上述拷贝模块330还用于根据操作系统镜像长度位从DRAM中申请相同大小的存储空间;将NVM中的操作系统镜像拷贝至存储空间中。
在又一个实施例中,如图5所示,提供了一种基于异构混合内存的断点恢复系统,上述实施例的基础上还包括:
校验模块350,用于校验NVM中的操作系统镜像的完整性,如果操作系统镜像完整,则通知拷贝模块330拷贝NVM中备份的操作系统镜像至DRAM中,如果所述操作系统镜像不完整,则提示NVM中镜像损坏。
在一个实施例中,上述基于异构混合内存的断点恢复系统还包括:
备份模块,用于将操作系统镜像备份至NVM中,具体为:首次进入操作系统,将完整的操作系统镜像备份至NVM;之后,备份所述操作系统镜像的增量至NVM;备份完成后修改操作系统镜像标志位,通过所述操作系统镜像标志位表示备份完成。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于异构混合内存的断点恢复方法,所述方法包括:
在操作系统的运行过程中,接收所述操作系统内的应用程序触发的备份指令;
响应于所述应用程序触发的所述备份指令,读取所述操作系统的系统镜像标志位,当所述系统镜像标志位与初始值不同时,将DRAM中所述操作系统对应的操作系统镜像按照预设时间间隔增量备份至NVM,将操作系统镜像的增量保存在与上一次备份的操作系统镜像所在的存储空间相连续的空间中,记录第一次备份的操作系统镜像所在空间的起始地址和最后一次备份的操作系统镜像所在空间的结束地址;
开机上电;
在非首次开机的上电自检过程中执行以下步骤:
获取关机标志位,根据所述关机标志位检测上一次是否非法关机,若是,则检测NVM中是否存有预先备份的所述操作系统镜像,所述操作系统镜像包括操作系统运行的程序状态及运行环境;
如果存在,则通过记录的起始地址和结束地址获取NVM中备份的操作系统镜像,拷贝所述操作系统镜像至DRAM中,并从DRAM引导所述操作系统镜像,如果不存在,则从外部存储设备引导操作系统镜像;
如果上一次不是非法关机,则从外部存储设备引导操作系统镜像。
2.根据权利要求1所述的方法,其特征在于,在开机上电的步骤之后还包括:
检测是否为首次开机,若是,则初始化NVM。
3.根据权利要求2所述的方法,其特征在于,所述初始化NVM的步骤包括:
对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;
所述标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
4.根据权利要求3所述的方法,其特征在于,所述拷贝所述操作系统镜像至DRAM中的步骤,包括:
根据所述操作系统镜像长度位从DRAM中申请相同大小的存储空间;
将所述操作系统镜像拷贝至所述存储空间中。
5.根据权利要求1所述的方法,其特征在于,所述获取关机标志位,根据所述关机标志位检测上一次是否非法关机的步骤为:
获取非法关机标志位,判断所述非法关机标志位是否与预设值相同,若是,则判定上一次为非法关机,否则判定上一次为正常关机。
6.根据权利要求1所述的方法,其特征在于,在所述拷贝所述操作系统镜像至DRAM中的步骤之前还包括:
校验所述操作系统镜像的完整性;
如果所述操作系统镜像完整,则进入所述拷贝所述操作系统镜像至DRAM中的步骤;
如果所述操作系统镜像不完整,则提示NVM中镜像损坏。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:备份完成后修改操作系统镜像标志位,通过所述操作系统镜像标志位表示备份完成。
8.一种基于异构混合内存的断点恢复系统,其特征在于,所述系统包括:
备份模块,用于在操作系统的运行过程中,接收所述操作系统内的应用程序触发的备份指令;响应于所述应用程序触发的所述备份指令,读取所述操作系统的系统镜像标志位,当所述系统镜像标志位与初始值不同时,将DRAM中所述操作系统对应的操作系统镜像按照预设时间间隔增量备份至NVM,将操作系统镜像的增量保存在与上一次备份的操作系统镜像所在的存储空间相连续的空间中,记录第一次备份的操作系统镜像所在空间的起始地址和最后一次备份的操作系统镜像所在空间的结束地址;
第一检测模块,用于在开机上电后,在非首次开机的上电自检过程中获取关机标志位,根据所述关机标志位检测上一次是否非法关机;
第二检测模块,用于当上一次是非法关机时,检测NVM中是否存有预先备份的所述操作系统镜像,所述操作系统镜像包括操作系统运行的程序状态及运行环境;
拷贝模块,用于如果NVM中存有预先备份的操作系统镜像,则通过记录的起始地址和结束地址获取NVM中备份的操作系统镜像,拷贝所述操作系统镜像至DRAM中;
引导模块,用于在所述拷贝模块拷贝所述操作系统镜像至DRAM中后,从DRAM引导所述操作系统镜像;
所述引导模块还用于如果NVM中没有预先备份的操作系统镜像或当上一次不是非法关机时,从外部存储设备引导操作系统镜像。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
初始化模块,用于在首次开机时初始化NVM,具体是:对NVM自检,按预设数据格式将一系列标志位信息写入NVM中;
所述标志位信息包括:操作系统镜像标志位、操作系统镜像长度位、操作系统镜像完整信息位。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括:
校验模块,用于校验所述NVM中的操作系统镜像的完整性,如果所述操作系统镜像完整,则通知所述拷贝模块拷贝所述操作系统镜像至DRAM中,如果所述操作系统镜像不完整,则提示NVM中镜像损坏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410827273.3A CN105786545B (zh) | 2014-12-25 | 2014-12-25 | 基于异构混合内存的断点恢复方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410827273.3A CN105786545B (zh) | 2014-12-25 | 2014-12-25 | 基于异构混合内存的断点恢复方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105786545A CN105786545A (zh) | 2016-07-20 |
CN105786545B true CN105786545B (zh) | 2021-03-05 |
Family
ID=56389430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410827273.3A Active CN105786545B (zh) | 2014-12-25 | 2014-12-25 | 基于异构混合内存的断点恢复方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786545B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368315A (zh) * | 2017-07-20 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种双硬盘双系统的启动方法及装置 |
CN107480052B (zh) * | 2017-07-21 | 2020-11-13 | 广东虹勤通讯技术有限公司 | 一种定位宕机时bios代码的方法及装置 |
US10831393B2 (en) * | 2018-02-08 | 2020-11-10 | Micron Technology, Inc. | Partial save of memory |
CN109976947B (zh) * | 2019-03-11 | 2020-11-27 | 北京大学 | 一种面向混合内存的掉电恢复的方法和系统 |
CN110780942A (zh) | 2019-09-29 | 2020-02-11 | 华为技术有限公司 | 系统启动方法、装置、节点设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979443A (zh) * | 2005-11-30 | 2007-06-13 | 英业达股份有限公司 | 计算机平台内存状态数据主机端自动显示方法及系统 |
CN101937376A (zh) * | 2009-06-30 | 2011-01-05 | 联想(北京)有限公司 | 一种数据管理方法及数据存储装置 |
CN102662802A (zh) * | 2012-05-08 | 2012-09-12 | 无锡云动科技发展有限公司 | 基于非易失性内存的全系统断电恢复方法及设备 |
CN103810112A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失性内存系统及其管理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9223642B2 (en) * | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
CN102411519A (zh) * | 2011-09-08 | 2012-04-11 | 曙光信息产业股份有限公司 | 进程的恢复方法和装置 |
US9436600B2 (en) * | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
CN104035893A (zh) * | 2014-06-30 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种在计算机异常掉电时的数据保存方法 |
-
2014
- 2014-12-25 CN CN201410827273.3A patent/CN105786545B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979443A (zh) * | 2005-11-30 | 2007-06-13 | 英业达股份有限公司 | 计算机平台内存状态数据主机端自动显示方法及系统 |
CN101937376A (zh) * | 2009-06-30 | 2011-01-05 | 联想(北京)有限公司 | 一种数据管理方法及数据存储装置 |
CN102662802A (zh) * | 2012-05-08 | 2012-09-12 | 无锡云动科技发展有限公司 | 基于非易失性内存的全系统断电恢复方法及设备 |
CN103810112A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失性内存系统及其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105786545A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI501253B (zh) | 於裝置開機期間處置來自非揮發性記憶體之錯誤 | |
US9703635B2 (en) | Method, computer program, and computer for restoring set of variables | |
CN105786545B (zh) | 基于异构混合内存的断点恢复方法和系统 | |
JP2015008005A (ja) | セキュア・リカバリ装置及び方法 | |
US20150199190A1 (en) | System and method for updating firmware | |
CN103678030A (zh) | 多系统设备启动系统及其方法 | |
TW201520895A (zh) | Bios自動恢復系統及方法 | |
US8281119B1 (en) | Separate normal firmware and developer firmware | |
US20160124816A1 (en) | Computing device and method for recovering bios of computing device | |
WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
WO2018049798A1 (zh) | 一种缓存分区重构的方法和装置 | |
KR101393034B1 (ko) | 시스템 복원 장치 및 방법 | |
CN112579179A (zh) | 一种嵌入式系统的分区挂载方法 | |
KR20020007090A (ko) | 컴퓨터 및 그 부팅 복구 방법 | |
CN113094107B (zh) | 数据保护方法、装置、设备及计算机存储介质 | |
TWI697774B (zh) | 偵錯備份方法與伺服器 | |
CN111221677B (zh) | 侦错备份方法与服务器 | |
CN114356653A (zh) | 一种工控防火墙掉电保护方法及装置 | |
US11250929B2 (en) | System for detecting computer startup and method of system | |
KR100575927B1 (ko) | 이동통신 단말기에서 부팅 방법 | |
US11836033B2 (en) | Information processing apparatus and control method for controlling information processing apparatus | |
JP2002259152A (ja) | フラッシュメモリ書換方法 | |
JP2022126549A (ja) | 情報処理装置 | |
JP5969528B2 (ja) | 情報処理システム、情報処理装置起動方法および起動プログラム | |
CN117312059A (zh) | Pfr bios功能的测试方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230710 Address after: 518000 1701, Yanxiang Science and Technology Building, No. 31, High-tech Middle 4th Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province Patentee after: Yanxiang smart IOT Technology Co.,Ltd. Address before: 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31 Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |