本发明专利技术公开了一种安全复位存储设备的方法和装置,用以解决现有技术下,电路板在复位前没有对涉及存储设备的相关数据进行保护,从而造成复位后系统整体运行错误的问题。该方法包括:可编程器件接收复位信号后向中央处理器CPU发送中断信号;CPU执行中断处理操作,并在完成中断处理操作后通知可编程器件,所述中断处理操作用于对当前未执行完毕的系统任务进行紧急处理;可编程器件接收到所述通知后,执行所述复位信号完成复位。
【技术实现步骤摘要】
一种安全复位存储设备的方法和装置
本申请涉及电子设备领域,特别是涉及一种安全复位存储设备的方法和装置。
技术介绍
随着信息技术的日益发展,要求通信设备能够处理和保存越来越多的数据,所以通信设备中的电路板一般都设计了相关存储设备,如硬盘、电子盘、CF卡等。在电路板的运行过程中,必不可少要进行一些电路板复位操作,如软件版本升级的复位、看门狗复位、按键复位等。这样就带来一个问题,电路板在运行过程中的这些“异常”复位,特别是系统或用户访问存储设备的同时被复位,经常出现系统重新启动后,系统不能正常访问存储设备,表现为磁盘坏道、访问超时、文件系统破坏等现象。上述所指的“异常复位”,也可以理解为硬复位,不同于Linux操作系统自带的reboot系统命令,它没有进行任何复位前保护处理,它会引起存储设备内部电路单元的工作异常,或者磁盘坏道或者文件系统破坏,且容易数据丢失;而reboot命令在复位处理器前会进行一些软件预处理,如执行复位前的系统脚本、杀掉进程以及保存数据等,可以安全复位系统,本文所指的复位均指这些异常复位。 现有技术下,电路板的复位逻辑如图1所示。一般电路板都会通过现场可编程门阵列(Field Programmable Gate Array, FPGA)/复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)来控制处理复位信号。首先,复位信号进入FPGA/CPLD,然后由它来控制处理器、内存以及外设(包含存储设备)的复位。像按键复位、看门狗复位、逻辑复位(如由软件控制FPGA/CPLD控制整板复位)等,无法进行类似Linux系统自带的reboot命令所执行的保护动作,这样,就会导致上述磁盘坏道、访问超时、文件系统破坏等现象。现有的电路板复位技术,其关注点集中在硬件电路复位信号的处理,没有考虑复位前对存储设备的保护,因而存在以下缺点: 首先,若执行上述复位操作,特别在访问存储设备的同时进行复位,会导致上述磁盘坏道、访问超时、文件系统破坏等现象。 其次,若在访问存储设备的时候执行上述复位操作,也可能造成系统运行错误。 例如Linux操作系统有一种称之为后台写(write-back)的机制,即数据并没有直接写(write-through)入到硬盘中,而是先写到缓存里,在内核满足一定的条件后再通过后台写入硬盘。后台写入比直接写入硬盘更有效,但也容易出错,如果数据未写入硬盘之前突然执行上述复位操作,则缓存中的数据就会丢失,如果丢失的数据含有重要的信息,则可能意味着文件系统(如果有的话)已不完整,从而造成系统整体运行错误。
技术实现思路
本专利技术实施例提供一种安全复位存储设备的方法和装置,用以解决现有技术下,电路板在复位前没有对涉及存储设备的相关数据进行保护,从而造成复位后系统整体运行错误的问题。 本专利技术实施例提供的具体技术方案如下: 一方面,本专利技术通过本申请中的一个实施例,提供如下技术方案: 一种安全复位存储设备的方法,所述方法包括: 可编程器件接收复位信号后向中央处理器CPU发送中断信号; CPU执行中断处理操作,并在完成中断处理操作后通知可编程器件,所述中断处理操作用于对当前未执行完毕的系统任务进行紧急处理; 可编程器件接收到所述通知后,执行所述复位信号完成复位。 所述中断处理操作具体包括: 对所有进程发送停止运行信号; 将缓存中的数据写入存储设备; 执行中断处理操作过程中,在对所有进程发送停止运行信号,并将缓存中的数据写入存储设备之后,再次向所有进程发送强制停止运行信号,以及再次将缓存中的数据写入存储设备。 在中断处理操作中,在对所述所有进程发送停止运行信号之前,还包括对中断处理操作进行加锁操作。 可选地,在中断处理操作中,在对所述所有进程发送停止运行信号之前,还包括: 向指定进程发送通知,指示所述指定进程执行复位前的紧急处理操作。 另一方面,本专利技术通过本申请中的一个实施例,提供如下技术方案: 一种安全复位存储设备的装置,其特征在于,包括可编程器件和中央处理器CPU,其中, 可编程器件,用于接收复位信号后向CPU发送中断信号,以及在CPU完成中断处理操作后执行复位信号完成复位; CPU,用于接收由可编程器件发送的中断信号后执行中断处理操作,并在完成中断处理操作后通知可编程器件,所述中断处理操作用于对当前未执行完毕的系统任务进行紧急处理。 在执行中断处理操作时,所述CPU具体用于: 对所有进程发送停止运行信号; 将缓存中的数据写入存储设备; 对所述所有进程发送停止运行信号之前,向指定进程发送通知,指示所述指定进程执行复位前紧急处理操作。 CPU进一步用于: 在对所有进程发送停止运行信号,并将缓存中的数据写入存储设备之后,向所有进程发送强制停止运行信号,再次将缓存中的数据写入存储设备。 在对所有进程发送停止运行信号之前,对所述中断处理操作执行加锁操作。 可编程器件为现场可编程门阵列FPGA或是复杂可编程逻辑器件CPLD。 本专利技术有益效果如下: 首先,在电路板复位前,将系统中的缓存数据写入存储设备,避免了复位后缓存数据丢失造成的存储设备数据不同步、进一步造成系统整体运行异常的问题。 其次,应用中断处理操作对涉及存储设备的相关数据进行复位前的保护,无需人为干预。 【附图说明】 图1为现有技术下电路板的复位逻辑图; 图2为本申请实施例中的电路板的复位逻辑图; 图3为本申请实施例中的安全复位存储设备方法的流程图; 图4为本申请实施例中的安全复位存储设备方法的一个具体应用场景流程图; 图5为本申请实施例中用于安全复位存储设备的装置结构示意图。 【具体实施方式】 为了使本申请所属
中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案做详细描述。 本申请中的电路板的复位逻辑如图2所示,其中,可编程器件FPGA/CPLD与CPU、存储设备和其它外设的复位引脚相连接,并且还与CPU的中断引脚相连。复位逻辑包括: 当FPGA/CPLD接收到复位信号后,并不直接对与其相连的设备发送复位信号,而是将CPU的中断引脚相连产生中断信号; CPU接收中断信号后由CPU执行中断处理操作,中断处理操作将系统中的缓存数据写入存储设备,从而保持存储设备的数据同步; CPU完成中断处理操作后通知FPGA/CPLD,FPGA/CPLD向与其相连的设备发送复位信号完成复位。 参阅图3所示,本专利技术实施例中,安全复位存储设备的具体流程如下: 步骤300:可编程器件接收复位信号后向CPU发送中断信号; 步骤310:CPU执行中断处理操作,并在完成中断处理操作后通知可编程器件,其中,中断处理操作用于对当前未执行完毕的系统任务进行紧急处理;中断处理操作。 具体包括: 本实施例中,在执行步骤310时,首先对中断处理操作执行加锁操作,并清除中断处理标志,这样处理是为了避免中断处理操作在执行过程中不受其他中断的干扰,使中断处理操作正常执行。 在对中断处理操作进行加锁操作后,就开始执行对涉及到存储设备的数据进行保护的关键操作,具体的,CPU可以对所有进程发送本文档来自技高网...
【技术保护点】
一种安全复位存储设备的方法,其特征在于,所述方法包括:可编程器件接收复位信号后向中央处理器CPU发送中断信号;CPU执行中断处理操作,并在完成中断处理操作后通知可编程器件,所述中断处理操作用于对当前未执行完毕的系统任务进行紧急处理;可编程器件接收到所述通知后,执行所述复位信号完成复位。
【技术特征摘要】
1.一种安全复位存储设备的方法,其特征在于,所述方法包括: 可编程器件接收复位信号后向中央处理器CPU发送中断信号; CPU执行中断处理操作,并在完成中断处理操作后通知可编程器件,所述中断处理操作用于对当前未执行完毕的系统任务进行紧急处理; 可编程器件接收到所述通知后,执行所述复位信号完成复位。2.如权利要求1所述的方法,其特征在于,所述中断处理操作包括: 对所有进程发送停止运行信号; 将缓存中的数据写入存储设备。3.如权利要求2所述的方法,其特征在于,所述中断处理操作还包括: 对所述所有进程发送停止运行信号之前,向指定进程发送通知,指示所述指定进程执行复位前紧急处理操作。4.如权利要求2或3所述的方法,其特征在于,进一步包括: 执行中断处理操作过程中,在对所有进程发送停止运行信号,并将缓存中的数据写入存储设备之后,向所有进程发送强制停止运行信号,将缓存中的数据写入存储设备。5.如权利要求2或3所述的方法,其特征在于,所述中断处理操作还包括: 在对所有进程发送停止运行信号之前,对所述中断处理操作执行加锁操作。6.一种安全复位存储设备的装置,其特征在于,包括可编程器件和中...
【专利技术属性】
技术研发人员:韩毅宏,王宇博,张义,
申请(专利权)人:大唐移动通信设备有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。