CN106356097B - 一种防止数据丢失的保护方法和装置 - Google Patents
一种防止数据丢失的保护方法和装置 Download PDFInfo
- Publication number
- CN106356097B CN106356097B CN201610734231.4A CN201610734231A CN106356097B CN 106356097 B CN106356097 B CN 106356097B CN 201610734231 A CN201610734231 A CN 201610734231A CN 106356097 B CN106356097 B CN 106356097B
- Authority
- CN
- China
- Prior art keywords
- power supply
- data
- cache
- timer
- main power
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种防止数据丢失的保护方法和装置,该方法包括:在主电源掉电后,启动第一定时器和备用供电单元,通过备用供电单元对磁盘和内存控制器进行供电处理,以将磁盘缓存内的数据写入到磁盘的数据存储介质中,将系统缓存和阵列缓存内的数据写入到非易失性存储介质中;在第一定时器超时之前,若检测到主电源恢复供电,通过主电源对磁盘以及内存控制器进行供电处理,关闭备用供电单元;在第一定时器超时时,若检测到主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则关闭备用供电单元,并对存储设备进行关闭处理。通过本发明的技术方案,保证存储设备的各级缓存的数据安全,保证数据不丢失。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种防止数据丢失的保护方法和装置。
背景技术
针对高可靠性的存储设备,通过掉电保护技术,可以在主电源掉电时,通过BBU(Backup Battery Unit,电池备用单元)供电,以对数据进行保护,从而有效提高系统可用性,避免由于掉电引起的数据丢失。具体的,在系统的主电源正常工作时,BBU不对内存和内存控制器供电,在系统的主电源掉电后,由BBU对内存和内存控制器供电。其中,该BBU是主电源掉电后,为存储设备供电的电池模块,因此在主电源掉电后,可以使用BBU进行数据保护处理。
在上述方式中,在系统的主电源掉电后,BBU通过对内存、内存控制器和非易失性存储介质供电,以使得将内存和内存控制器中的数据写入到非易失性存储介质中,在数据写入完成后,则关闭BBU,并最终关闭整个存储设备。而当主电源恢复后,则可以对写入到非易失性存储介质中的数据进行恢复。
上述方式会导致业务恢复时间偏长,不利于业务的快速恢复。具体的,假设主电源掉电只是一个供电闪断的过程,也会关闭整个存储设备,在主电源恢复后,需要重新启动存储设备,并重新加载各业务模块,而这些操作会消耗较长时间,导致业务恢复时间偏长,不利于业务(如关键录像业务)的快速恢复。
发明内容
本发明提供一种防止数据丢失的保护方法,应用于存储设备上,包括:
在主电源掉电后,启动第一定时器和备用供电单元,并通过所述备用供电单元对磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到所述磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中;在所述第一定时器超时之前,若检测到所述主电源恢复供电,通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元;在所述第一定时器超时时,若检测到所述主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
所述方法进一步包括:
在所述主电源掉电后,断开所述存储设备的前端网络,冻结所述阵列缓存,以禁止更改阵列缓存内的数据,并将所述存储设备的工作模式调整为节电模式。
所述方法进一步包括:
在所述主电源掉电后,启动第二定时器,所述第二定时器的超时时间小于所述第一定时器的超时时间;在所述第二定时器超时时,若检测到所述主电源还没有恢复供电,则停止通过所述备用供电单元对所述磁盘进行供电处理;
在所述第二定时器超时之前,若检测到所述主电源恢复供电,通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元。
所述方法进一步包括:
在所述第一定时器超时之前,若检测到所述备用供电单元的剩余电量小于预设阈值,且当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
所述方法进一步包括:
在所述主电源恢复供电时,则重新恢复所述存储设备的前端网络,并允许更改所述阵列缓存内的数据,并将所述存储设备的工作模式调整为正常模式。
本发明提供一种防止数据丢失的保护装置,应用于存储设备上,包括:
中断检测模块,用于在所述存储设备的主电源掉电之后,启动第一定时器和备用供电单元,并通过所述备用供电单元对所述存储设备的磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到所述磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中;恢复模块,用于在所述第一定时器超时之前,若检测到所述主电源恢复供电,则通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元;关闭模块,用于在所述第一定时器超时时,若检测到所述主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
在一个例子中,所述中断检测模块,还用于在所述存储设备的主电源掉电之后,断开所述存储设备的前端网络,冻结所述阵列缓存,以禁止更改阵列缓存内的数据,并将所述存储设备的工作模式调整为节电模式。
所述中断检测模块,还用于在所述存储设备的主电源掉电之后,启动第二定时器,所述第二定时器的超时时间小于所述第一定时器的超时时间;
所述关闭模块,还用于在所述第二定时器超时时,若检测到所述主电源还没有恢复供电,则停止通过所述备用供电单元对所述磁盘进行供电处理;
所述恢复模块,还用于在所述第二定时器超时之前,若检测到主电源恢复供电,通过主电源对磁盘以及内存控制器进行供电处理,并关闭备用供电单元。
还包括:电量检测模块,用于在所述第一定时器超时之前,检测所述备用供电单元的剩余电量;若检测到所述备用供电单元的剩余电量小于预设阈值,且当前已经成功将所述系统缓存和所述阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
在一个例子中,所述中断检测模块,还用于在所述主电源恢复供电时,则重新恢复所述存储设备的前端网络,并允许更改所述阵列缓存内的数据,并将所述存储设备的工作模式调整为正常模式。
基于上述技术方案,本发明实施例中,在主电源掉电后,可以通过备用供电单元对磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,从而保证存储设备的各级缓存(如磁盘缓存、系统缓存和阵列缓存)的数据安全,在主电源掉电后,保证磁盘缓存、系统缓存和阵列缓存中的数据都不丢失。而且,即使已经将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,也不是立刻关闭存储设备,而是先等待一段时间,若在这段时间内,主电源已经恢复供电,即主电源闪断的情况下,由于没有关闭存储设备,也就不需要执行重新启动存储设备,并重新加载各业务模块等流程,从而缩短业务数据的恢复时间,恢复业务数据的时间可以节省几分钟,可以对业务数据进行快速恢复,如秒级恢复业务数据,使得争分夺秒的录像等业务可以及时恢复。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明一种实施方式中的防止数据丢失的保护方法的流程图;
图2是本发明一种实施方式中的存储设备的硬件结构图;
图3是本发明一种实施方式中的防止数据丢失的保护装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例中提出一种防止数据丢失的保护方法,该方法可以应用于包括备用供电单元的存储设备上,该备用供电单元可以包括但不限于BBU等。参见图1所示,为本发明实施例中的防止数据丢失的保护方法的流程图:
步骤101,在主电源掉电后,启动第一定时器(第一定时器的超时时间可以根据实际经验进行配置,如120秒)和备用供电单元,并通过备用供电单元对磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中。
步骤102,在该第一定时器超时之前,若检测到主电源恢复供电,则通过该主电源对磁盘以及内存控制器进行供电处理,并关闭该备用供电单元。
步骤103,在该第一定时器超时时,若检测到主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则关闭备用供电单元,并对存储设备进行关闭处理(即关机处理)。如果当前没有成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则继续通过备用供电单元供电,一直等到成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,才关闭备用供电单元,并对存储设备进行关闭处理。
针对步骤101,在一个例子中,主电源可以为市电,该市电是工频交流电。当然,该主电源还可以为其它类型的电源,本发明实施例中对此不做限制。
在一个例子中,在主电源掉电后,可以启动备用供电单元,并通过备用供电单元对磁盘以及内存控制器进行供电处理。备用供电单元是主电源掉电后,为存储设备供电的电池模块,用于进行数据保护。在主电源正常工作时,关闭备用供电单元,在主电源掉电后,启动备用供电单元。与传统方式不同的是,备用供电单元不仅需要对内存控制器进行供电处理,还对磁盘进行供电处理。
其中,存储设备的缓存包括多级缓存,如磁盘缓存、阵列缓存、系统缓存等。在主电源掉电后,需要保证磁盘缓存、阵列缓存、系统缓存中的数据都不丢失。而且由于磁盘缓存位于磁盘上,因此在主电源掉电后,只要对磁盘进行供电处理(如对SCU(StorageController Unit,存储控制单元)上的磁盘进行供电处理),就可以保证磁盘的正常运行,从而可以将磁盘缓存内的数据写入到磁盘的数据存储介质中。由于阵列缓存和系统缓存位于内存控制器上,因此在主电源掉电后,只要对内存控制器进行供电处理,就可以保证内存控制器的正常运行,从而可以将系统缓存和阵列缓存内的数据写入到非易失性存储介质中。
其中,根据缓存的不同情况,可以对不同缓存采用不同的存储方案,以对缓存中的数据进行保护。例如,对于磁盘缓存,由于写到磁盘缓存中的数据,无法从磁盘缓存中提取出来,再写到非易失性存储介质中,只能写到磁盘的数据存储介质,才能够保证不丢失;因此,可以将磁盘缓存内的数据写入到磁盘的数据存储介质中,该数据存储介质可以为磁盘盘片。对于阵列缓存和系统缓存,由于写到阵列缓存和系统缓存中的数据,可以写到非易失性存储介质中,因此,可以将阵列缓存和系统缓存内的数据写入到非易失性存储介质中。
在一个例子中,在主电源掉电后,还可以断开存储设备的前端网络,冻结阵列缓存,以禁止更改阵列缓存内的数据,并将存储设备的工作模式调整为节电模式。基于此,在主电源掉电后,立刻发起中断处理,切入异常处理流程。在此异常处理流程中,可以通过备用供电单元对磁盘以及内存控制器进行供电处理,在供电过程中,可以将磁盘缓存内的数据写入到磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中。此外,还可以断开存储设备的前端网络,并冻结阵列缓存,以禁止更改阵列缓存内的数据,并将存储设备的工作模式调整为节电模式,由备用供电单元进行供电处理。
其中,通过断开存储设备的前端网络,可以保证存储设备的系统缓存中的数据不会发生变化,不会再有新的数据需要写入到存储设备,避免这些数据写入失败。通过冻结阵列缓存,则可以禁止更改阵列缓存内的数据,即可以保证存储设备的阵列缓存中不会再写入新数据,也不会将阵列缓存的数据删除。而且,在冻结阵列缓存后,阵列缓存内的数据无法写入到磁盘缓存,且断开存储设备的前端网络后,也无法将新数据写入到磁盘缓存,从而保证磁盘缓存中也不会再写入新数据。通过将存储设备的工作模式调整为节电模式,例如,调整系统风扇等模块进入节电模式,则可以减少备用供电单元的电量消耗。
基于上述方式,本发明实施例中,在主电源掉电后,可以通过备用供电单元对磁盘以及内存控制器进行供电处理,将磁盘缓存内的数据写入到磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,从而保证存储设备的各级缓存(如磁盘缓存、系统缓存和阵列缓存)的数据安全,在主电源掉电后,保证磁盘缓存、系统缓存和阵列缓存中的数据都不丢失。
在一个例子中,为了缩短业务数据的恢复时间,还需要区分主电源掉电的情况,是主电源长久停电还是主电源闪断,以进行不同的处理。其中,若是主电源长久停电,则可以关闭存储设备,若是主电源闪断,则不需要关闭存储设备,从而在保证各级缓存内数据安全的情况下,缩短业务数据恢复时间。
为了区分主电源掉电的情况,则可以启动第一定时器,第一定时器的超时时间可根据实际经验配置,如120秒等。在第一定时器超时之前,若检测到主电源恢复供电,则说明主电源掉电的情况是主电源闪断,在第一定时器超时时,若检测到主电源还没有恢复供电,则说明主电源掉电的情况是主电源长久停电。
针对步骤102和步骤103,在该第一定时器超时之前,若检测到主电源恢复供电,则说明主电源闪断,通过该主电源对磁盘以及内存控制器进行供电处理,并关闭该备用供电单元。在该第一定时器超时时,若检测到主电源还没有恢复供电,则说明主电源长久停电,关闭该备用供电单元,并对存储设备进行关闭处理。其中,在第一定时器超时时,不是直接关闭该备用供电单元,而是先判断是否已经成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中。若当前已经成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则关闭该备用供电单元,并对存储设备进行关闭处理。若当前没有成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则通过备用供电单元供电,一直等到成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,才关闭备用供电单元,并对存储设备进行关闭处理。
在一个例子中,在主电源恢复供电时,则切回正常处理流程,通过主电源对磁盘以及内存控制器进行供电处理,关闭备用供电单元,重新恢复存储设备的前端网络,允许更改所述阵列缓存内的数据(即允许向阵列缓存内写入新数据,也可以将阵列缓存的数据删除),将存储设备的工作模式调整为正常模式。
其中,通过恢复存储设备的前端网络,可以将新数据写入到存储设备,继而提供数据写入业务,保证存储设备的功能。通过允许更改所述阵列缓存内的数据(即解冻阵列缓存),可以允许向阵列缓存内写入新数据,也可以将阵列缓存的数据删除,此外,阵列缓存内的数据可以写入到磁盘缓存,且恢复存储设备的前端网络后,可以将新数据写入到磁盘缓存,即存储设备的磁盘缓存中也可以写入新数据。通过将存储设备的工作模式调整为正常模式,如调整系统风扇等模块退出节电模式,则可以保证存储设备的正常使用。
综上所述,在主电源闪断的情况下,现有业务恢复流程可以包括如下阶段:缓存数据->关机->重启->模块加载->业务恢复,业务恢复需要几分钟甚至十几分钟,而本发明实施例的业务恢复流程可以包括如下阶段:缓存数据->业务恢复,业务恢复的时间可以为秒级恢复,从而显著缩短了业务数据的恢复时间。
在一个例子中,在第一定时器超时时,如果主电源没有恢复供电,则说明主电源长久停电,此时关闭备用供电单元,并对存储设备进行关闭处理。
其中,在第一定时器超时时关闭备用供电单元,而不是一直开启备用供电单元的原因是:备用供电单元是存储设备上自带,可反复充放电,并在主电源异常掉电情况下供电的电池模块,不能在主电源一次异常掉电后,就将备用供电单元的电量全耗费完毕。由于第一定时器超时时,若主电源还没有恢复供电,则说明主电源将长时间掉电,不能称为供电闪断。因此,在保证各级缓存数据安全的情况下,最多达到X秒(如第一定时器超时时间120秒),就可以关闭备用供电单元,并对存储设备进行关闭处理,而不是一直开启备用供电单元。
在一个例子中,在第一定时器超时之前,还可以对备用供电单元的剩余电量进行持续检测,若检测到备用供电单元的剩余电量小于预设阈值,且当前已经成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则即使第一定时器还没有超时,也可以关闭备用供电单元,并对存储设备进行关闭处理。此外,若检测到备用供电单元的剩余电量小于预设阈值,且当前没有成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,则继续通过备用供电单元供电,一直等到成功将系统缓存和阵列缓存内的数据均写入到非易失性存储介质中,才关闭备用供电单元,并对存储设备进行关闭处理。
其中,该预设阈值可以根据实际经验进行配置,其可以为一个电量值,也可以为备用供电单元的总电量的一个比例值,通过配置该预设阈值,在保证各级缓存数据安全的情况下,可以保证备用供电单元电量的使用在一定范围内。
综上所述,在主电源掉电后,若备用供电单元的剩余电量小于预设阈值或者第一定时器超时时,即使主电源还没有恢复供电,如果当前已经完成将系统缓存和阵列缓存内的数据写入到非易失性存储介质,则可以关闭该备用供电单元,并对存储设备进行关闭处理,从而合理使用备用供电单元的电量。
在一个例子中,在主电源掉电后,还可以启动第二定时器,第二定时器的超时时间小于第一定时器的超时时间。在第二定时器超时时,若检测到主电源还没有恢复供电,则可以停止通过备用供电单元对磁盘进行供电处理,此时,还会通过备用供电单元继续对内存控制器进行供电处理,即不关闭备用供电单元。在第二定时器超时之前,若检测到主电源恢复供电,则可以通过主电源对磁盘以及内存控制器进行供电处理,并关闭备用供电单元。
其中,第二定时器的超时时间可以根据实际经验进行配置。在一个例子中,将磁盘缓存内的数据写入到磁盘的数据存储介质中的写入时间是固定的,如5秒,在配置第二定时器的超时时间时,可以参考该写入时间,即可以将该超时时间设置的大于该写入时间,以保证磁盘缓存内的所有数据均能够写入到磁盘的数据存储介质中。此外,由于使用备用供电单元为磁盘供电是一个非常消耗电量的操作,因此该超时时间设置的不能过大,从而节省备用供电单元的电量。
在一个例子中,在第二定时器超时时,若检测到主电源还没有恢复供电,由于磁盘缓存内的数据已经写入到磁盘的数据存储介质中,为了节省备用供电单元的电量,则可以停止通过备用供电单元对磁盘进行供电处理,此时继续通过备用供电单元对内存控制器进行供电处理。而且,由于第二定时器的超时时间的合理配置,使得在第二定时器超时之前,就可以将磁盘缓存内的数据全部保护到磁盘的数据存储介质中,在主电源恢复后,业务恢复快。
进一步的,在第二定时器超时之前,若检测到主电源恢复供电,只需要对磁盘进行上电处理,就可以将磁盘状态恢复为正常。
此外,在第二定时器超时之前,若检测到主电源恢复供电,则说明主电源闪断,通过该主电源对磁盘以及内存控制器进行供电处理,并关闭备用供电单元。其中,在主电源恢复供电时,则切回正常处理流程,可以通过该主电源对磁盘以及内存控制器进行供电处理,关闭该备用供电单元,重新恢复存储设备的前端网络,允许更改所述阵列缓存内的数据(即允许向阵列缓存内写入新数据,也可以将阵列缓存的数据删除),将存储设备的工作模式调整为正常模式。
其中,通过恢复存储设备的前端网络,可以将新数据写入到存储设备,继而提供数据写入业务,保证存储设备的功能。通过允许更改所述阵列缓存内的数据(即解冻阵列缓存),可以允许向阵列缓存内写入新数据,也可以将阵列缓存的数据删除,此外,阵列缓存内的数据可以写入到磁盘缓存,且恢复存储设备的前端网络后,可以将新数据写入到磁盘缓存,即存储设备的磁盘缓存中也可以写入新数据。通过将存储设备的工作模式调整为正常模式,如调整系统风扇等模块退出节电模式,则可以保证存储设备的正常使用。
综上所述,在主电源闪断的情况下,现有业务恢复流程可以包括如下阶段:缓存数据->关机->重启->模块加载->业务恢复,业务恢复需要几分钟甚至十几分钟,而本发明实施例的业务恢复流程可以包括如下阶段:缓存数据->业务恢复,业务恢复的时间可以为秒级恢复,从而显著缩短了业务数据的恢复时间。
在一个例子中,可以每隔N秒(如1秒)就检测一次主电源是否恢复供电,例如,通过查询电源的输入电压等信息,检测到主电源是否恢复供电。
综上所述,即使已经将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,也不是立刻关闭存储设备,而是先等待一段时间,若在这段时间内,主电源已经恢复供电,即主电源闪断的情况下,由于没有关闭存储设备,也就不需要执行重新启动存储设备,并重新加载各业务模块等流程,从而缩短业务数据的恢复时间,恢复业务数据的时间可以节省几分钟,可以对业务数据进行快速恢复,如秒级恢复业务数据,使得争分夺秒的录像等业务可以及时恢复。
在一个例子中,如果在第一定时器超时时,检测到主电源还没有恢复供电,在关闭备用供电单元,并对存储设备进行关闭处理之后,当主电源恢复供电后,会重新启动存储设备,并将非易失性存储介质中的数据恢复到系统缓存和阵列缓存。其中,针对“将非易失性存储介质中的数据恢复到系统缓存和阵列缓存”的过程,在主电源掉电,且在将系统缓存和阵列缓存内的数据写入到非易失性存储介质时,还可以为这些写入的数据设置有效标志位,这样,在主电源恢复供电时,在将非易失性存储介质中的数据恢复到系统缓存和阵列缓存的过程中,就可以直接将设置有该有效标志位的数据,恢复到系统缓存和阵列缓存中。
以下结合具体的应用场景,对本发明实施例的上述过程进行进一步的说明。
步骤1、主电源掉电,启动第一定时器、第二定时器和备用供电单元。
步骤2、通过备用供电单元对磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到磁盘的数据存储介质中,将系统缓存和阵列缓存内的数据写入到非易失性存储介质中。断开存储设备的前端网络,冻结所述阵列缓存,以禁止更改阵列缓存内的数据,并将存储设备的工作模式调整为节电模式。
步骤3、在第二定时器超时之前,检测主电源是否已经恢复供电。
如果已经恢复供电,则执行步骤4,如果没有恢复供电,则执行步骤5。
步骤4、通过主电源对磁盘和内存控制器进行供电处理,关闭备用供电单元。
步骤5、停止通过备用供电单元对磁盘进行供电处理(即磁盘断电),通过备用供电单元对内存控制器进行供电处理,将系统缓存和阵列缓存内的数据写入到非易失性存储介质中。若完成系统缓存和阵列缓存的数据写入,执行步骤6。
步骤6、在第一定时器超时之前,检测主电源是否已经恢复供电。
如果已经恢复供电,则执行步骤7,如果没有恢复供电,则执行步骤8。
步骤7、通过主电源对磁盘和内存控制器进行供电处理,关闭备用供电单元。
步骤8、若备用供电单元的剩余电量小于预设阈值或者第一定时器超时时,主电源还没有恢复供电,如果当前已经将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,则关闭该备用供电单元,并对存储设备进行关闭处理。
基于与上述方法同样的发明构思,本发明实施例中还提供一种防止数据丢失的保护装置,可以应用在存储设备上。该防止数据丢失的保护装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的存储设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图2所示,为防止数据丢失的保护装置所在的存储设备的一种硬件结构图,除了图2所示的处理器、非易失性存储器外,存储设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该存储设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图3所示,为本发明提出的防止数据丢失的保护装置的结构图,包括:中断检测模块11,用于在所述存储设备的主电源掉电后,启动第一定时器和备用供电单元,并通过所述备用供电单元对所述存储设备的磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到所述磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中;恢复模块12,用于在所述第一定时器超时之前,若检测到所述主电源恢复供电,则通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元;关闭模块13,用于在所述第一定时器超时时,若检测到所述主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
在一个例子中,所述中断检测模块11,还用于在所述存储设备的主电源掉电之后,断开所述存储设备的前端网络,冻结所述阵列缓存,以禁止更改阵列缓存内的数据,并将所述存储设备的工作模式调整为节电模式。
所述中断检测模块11,还用于在所述存储设备的主电源掉电之后,启动第二定时器,所述第二定时器的超时时间小于所述第一定时器的超时时间;所述关闭模块13,还用于在所述第二定时器超时时,若检测到所述主电源还没有恢复供电,则停止通过所述备用供电单元对所述磁盘进行供电处理;所述恢复模块12,还用于在所述第二定时器超时之前,若检测到主电源恢复供电,则通过主电源对磁盘以及内存控制器进行供电处理,并关闭备用供电单元。
在一个例子中,该防止数据丢失的保护装置还包括(在图中未体现):
电量检测模块,用于在所述第一定时器超时之前,检测所述备用供电单元的剩余电量;若检测到所述备用供电单元的剩余电量小于预设阈值,且当前已经成功将所述系统缓存和所述阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
在一个例子中,所述中断检测模块11,还用于在所述主电源恢复供电时,则重新恢复所述存储设备的前端网络,并允许更改所述阵列缓存内的数据,并将所述存储设备的工作模式调整为正常模式。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于上述技术方案,本发明实施例中,在主电源掉电后,可以通过备用供电单元对磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,从而保证存储设备的各级缓存(如磁盘缓存、系统缓存和阵列缓存)的数据安全,在主电源掉电后,保证磁盘缓存、系统缓存和阵列缓存中的数据都不丢失。而且,即使已经将系统缓存和阵列缓存内的数据写入到非易失性存储介质中,也不是立刻关闭存储设备,而是先等待一段时间,若在这段时间内,主电源已经恢复供电,即主电源闪断的情况下,由于没有关闭存储设备,也就不需要执行重新启动存储设备,并重新加载各业务模块等流程,从而缩短业务数据的恢复时间,恢复业务数据的时间可以节省几分钟,可以对业务数据进行快速恢复,如秒级恢复业务数据,使得争分夺秒的录像等业务可以及时恢复。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种防止数据丢失的保护方法,应用于存储设备上,其特征在于,包括:
在主电源掉电后,启动第一定时器和备用供电单元,并通过所述备用供电单元对磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到所述磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中;
在所述第一定时器超时之前,若检测到所述主电源恢复供电,通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元;
在所述第一定时器超时时,若检测到所述主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在所述主电源掉电后,断开所述存储设备的前端网络,冻结所述阵列缓存,以禁止更改阵列缓存内的数据,并将所述存储设备的工作模式调整为节电模式。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在所述主电源掉电后,启动第二定时器,所述第二定时器的超时时间小于所述第一定时器的超时时间;在所述第二定时器超时时,若检测到所述主电源还没有恢复供电,则停止通过所述备用供电单元对所述磁盘进行供电处理;
在所述第二定时器超时之前,若检测到所述主电源恢复供电,通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在所述第一定时器超时之前,若检测到所述备用供电单元的剩余电量小于预设阈值,且当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
5.根据权利要求1或3所述的方法,其特征在于,所述方法进一步包括:
在所述主电源恢复供电时,则重新恢复所述存储设备的前端网络,并允许更改所述阵列缓存内的数据,并将所述存储设备的工作模式调整为正常模式。
6.一种防止数据丢失的保护装置,应用于存储设备上,其特征在于,包括:
中断检测模块,用于在所述存储设备的主电源掉电之后,启动第一定时器和备用供电单元,并通过所述备用供电单元对所述存储设备的磁盘以及内存控制器进行供电处理,以将磁盘缓存内的数据写入到所述磁盘的数据存储介质中,并将系统缓存和阵列缓存内的数据写入到非易失性存储介质中;
恢复模块,用于在所述第一定时器超时之前,若检测到所述主电源恢复供电,则通过所述主电源对所述磁盘以及所述内存控制器进行供电处理,并关闭所述备用供电单元;
关闭模块,用于在所述第一定时器超时时,若检测到所述主电源还没有恢复供电,如果当前已经成功将系统缓存和阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
7.根据权利要求6所述的装置,其特征在于,
所述中断检测模块,还用于在所述存储设备的主电源掉电之后,断开所述存储设备的前端网络,冻结所述阵列缓存,以禁止更改阵列缓存内的数据,并将所述存储设备的工作模式调整为节电模式。
8.根据权利要求6所述的装置,其特征在于,
所述中断检测模块,还用于在所述存储设备的主电源掉电之后,启动第二定时器,所述第二定时器的超时时间小于所述第一定时器的超时时间;
所述关闭模块,还用于在所述第二定时器超时时,若检测到所述主电源还没有恢复供电,则停止通过所述备用供电单元对所述磁盘进行供电处理;
所述恢复模块,还用于在所述第二定时器超时之前,若检测到主电源恢复供电,通过主电源对磁盘以及内存控制器进行供电处理,并关闭备用供电单元。
9.根据权利要求6所述的装置,其特征在于,还包括:
电量检测模块,用于在所述第一定时器超时之前,检测所述备用供电单元的剩余电量;若检测到所述备用供电单元的剩余电量小于预设阈值,且当前已经成功将所述系统缓存和所述阵列缓存内的数据均写入到所述非易失性存储介质中,则关闭所述备用供电单元,并对所述存储设备进行关闭处理。
10.根据权利要求6或8所述的装置,其特征在于,所述中断检测模块,还用于在所述主电源恢复供电时,则重新恢复所述存储设备的前端网络,并允许更改所述阵列缓存内的数据,并将所述存储设备的工作模式调整为正常模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610734231.4A CN106356097B (zh) | 2016-08-25 | 2016-08-25 | 一种防止数据丢失的保护方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610734231.4A CN106356097B (zh) | 2016-08-25 | 2016-08-25 | 一种防止数据丢失的保护方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106356097A CN106356097A (zh) | 2017-01-25 |
CN106356097B true CN106356097B (zh) | 2020-02-14 |
Family
ID=57854664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610734231.4A Active CN106356097B (zh) | 2016-08-25 | 2016-08-25 | 一种防止数据丢失的保护方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106356097B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977278A (zh) * | 2017-10-19 | 2018-05-01 | 湖南国科微电子股份有限公司 | 死机状态数据恢复处理的方法和装置 |
CN108279762A (zh) * | 2018-01-22 | 2018-07-13 | 北京计算机技术及应用研究所 | 基于硬件保护的事务处理方法 |
CN108334422B (zh) * | 2018-01-30 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种控制异构混合内存系统冷重启的方法及bmc |
CN108287670B (zh) * | 2018-01-30 | 2021-07-02 | 郑州云海信息技术有限公司 | 一种系统关机时保护数据的方法及bmc |
CN109561153A (zh) * | 2018-12-17 | 2019-04-02 | 郑州云海信息技术有限公司 | 分布式存储系统及业务切换方法、装置、设备、存储介质 |
CN112749414A (zh) * | 2019-10-31 | 2021-05-04 | 七鑫易维(深圳)科技有限公司 | 数据的存储方法、装置、设备及存储介质 |
EP4095694A4 (en) * | 2020-02-24 | 2022-12-14 | Huawei Technologies Co., Ltd. | MEMORY, CHIP AND MEMORY REPAIR INFORMATION STORAGE METHOD |
CN111782149A (zh) * | 2020-06-30 | 2020-10-16 | 联想(北京)有限公司 | 一种信息处理方法以及信息处理装置 |
CN113722158B (zh) * | 2021-10-08 | 2022-08-30 | 亿次网联(杭州)科技有限公司 | 电子设备及其掉电保护方法、装置、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5896338A (en) * | 1997-04-11 | 1999-04-20 | Intel Corporation | Input/output power supply detection scheme for flash memory |
CN103545912A (zh) * | 2012-07-09 | 2014-01-29 | 精工爱普生株式会社 | 电源切换电路、实时时钟、电子设备、移动体及控制方法 |
CN203589835U (zh) * | 2013-12-10 | 2014-05-07 | 中国航空工业集团公司第六三一研究所 | 一种余度供电计时切换电路 |
CN104881375A (zh) * | 2014-05-28 | 2015-09-02 | 陈杰 | 存储系统掉电数据保护方法和装置 |
JP2015203995A (ja) * | 2014-04-15 | 2015-11-16 | レノボ・シンガポール・プライベート・リミテッド | 不揮発性メモリのデータ消失を防止する方法、コンピュータおよびホスト装置。 |
CN105322582A (zh) * | 2014-07-04 | 2016-02-10 | 上海宝信软件股份有限公司 | 利用可控硅技术实现的应急供电装置 |
WO2016032955A2 (en) * | 2014-08-25 | 2016-03-03 | Cacheio Llc | Nvram enabled storage systems |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377151A (zh) * | 2012-04-16 | 2013-10-30 | 福建星网视易信息系统有限公司 | 硬盘掉电保护方法及使用该方法的电子设备 |
CN104268103A (zh) * | 2014-09-26 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种基于超级块及细粒度内存分配的数据掉电保护方法 |
-
2016
- 2016-08-25 CN CN201610734231.4A patent/CN106356097B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5896338A (en) * | 1997-04-11 | 1999-04-20 | Intel Corporation | Input/output power supply detection scheme for flash memory |
CN103545912A (zh) * | 2012-07-09 | 2014-01-29 | 精工爱普生株式会社 | 电源切换电路、实时时钟、电子设备、移动体及控制方法 |
CN203589835U (zh) * | 2013-12-10 | 2014-05-07 | 中国航空工业集团公司第六三一研究所 | 一种余度供电计时切换电路 |
JP2015203995A (ja) * | 2014-04-15 | 2015-11-16 | レノボ・シンガポール・プライベート・リミテッド | 不揮発性メモリのデータ消失を防止する方法、コンピュータおよびホスト装置。 |
CN104881375A (zh) * | 2014-05-28 | 2015-09-02 | 陈杰 | 存储系统掉电数据保护方法和装置 |
CN105322582A (zh) * | 2014-07-04 | 2016-02-10 | 上海宝信软件股份有限公司 | 利用可控硅技术实现的应急供电装置 |
WO2016032955A2 (en) * | 2014-08-25 | 2016-03-03 | Cacheio Llc | Nvram enabled storage systems |
Also Published As
Publication number | Publication date |
---|---|
CN106356097A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106356097B (zh) | 一种防止数据丢失的保护方法和装置 | |
CN100470450C (zh) | 信息处理设备及电源控制方法 | |
CN101183801B (zh) | 一种掉电保护方法、系统和装置 | |
CN101493776B (zh) | 一种移动终端及其开机方法和系统 | |
US8499184B2 (en) | Method for resuming a system from a power failure after the main power supply has recovered and prior to fully recharging the backup power supply by enabling the reception of input/output commands by the cache memory at a rate proportational to the amount of charge on the backup power supply currently available | |
CN102929805A (zh) | 一种存储系统缓存数据掉电保护方法 | |
EP2093673A1 (en) | A system and method with multi-level buffer | |
CN101710253A (zh) | 嵌入式系统的深度休眠方法 | |
CN103425506A (zh) | 关机方法及开机方法及通信终端 | |
CN101788936B (zh) | 移动终端运行时快照备份、恢复方法及装置 | |
EP1470483A1 (en) | Method and apparatus for securing volatile data in power failure in systems having redundancy | |
JP4111890B2 (ja) | 無停電電源装置 | |
CN102722389B (zh) | 一种电子设备及其开机系统 | |
CN105389525A (zh) | 刀片服务器的管理方法和系统 | |
US7240189B2 (en) | Fast resume to normal operation of a computer in a power saving mode | |
CN113608930B (zh) | 系统芯片和电子设备 | |
US20100077188A1 (en) | Emergency file protection system for electronic devices | |
JP4411014B2 (ja) | コンピュータおよびその電源バックアップ方法 | |
JP2015170332A (ja) | Nandフラッシュモジュール制御方法 | |
CN103297620A (zh) | 一种智能手机断电保护系统及方法 | |
CN217388303U (zh) | 一种基于超级电容的嵌入式系统掉电保护装置 | |
WO2019076082A1 (zh) | 一种应用自启动的控制方法及装置 | |
CN115862711A (zh) | 掉电保护方法、掉电保护电路、芯片、电子设备及系统 | |
CN113032182B (zh) | 一种计算机系统异常恢复的方法和设备 | |
JP4227966B2 (ja) | 電源監視回路及び方法 |
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 |