CN100517244C - 一种对异常复位进行***保护的方法及装置 - Google Patents
一种对异常复位进行***保护的方法及装置 Download PDFInfo
- Publication number
- CN100517244C CN100517244C CNB2006100113397A CN200610011339A CN100517244C CN 100517244 C CN100517244 C CN 100517244C CN B2006100113397 A CNB2006100113397 A CN B2006100113397A CN 200610011339 A CN200610011339 A CN 200610011339A CN 100517244 C CN100517244 C CN 100517244C
- Authority
- CN
- China
- Prior art keywords
- reset
- protection
- carried out
- processor
- exceptional
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明涉及一种对异常复位进行***保护的方法及装置,该方法包括如下步骤:步骤一,当出现***异常复位时,通过复位保护***自动截获***硬件复位,并不将该复位向处理器分发;步骤二,该复位保护***利用该硬件复位触发,进行***保护操作;步骤三,当所有***保护操作结束后,该复位保护***释放截获的硬件复位,触发处理器复位。本发明的方法和***避免了硬盘因异常复位而导致损坏,并保证复位时***总线不被异步复位设备占用。同时,还可以对异常信息进行保存,方便了设备调试时对难以复现的复位问题的数据收集以及对反复重启故障的快速定位。
Description
技术领域
本发明涉及一种对异常复位进行***保护的方法及装置,适用于通讯,网络等相关领域。
背景技术
随着通讯产业的发展,通讯产品功能和性能日益完善,人们对通讯产品可靠性的要求也是越来越严格。与此同时,通讯***的复杂度以及***集成度也是越来越高,在***故障时的错误定位也变得越来越困难。
当发生***故障时,为了能够快速地从故障状态中恢复,一般会采用看门狗监控***运行状态。看门狗的输出管脚与处理器的复位管脚相连,***正常运行时软件会定时重置看门狗的定时器,而一旦***发生故障,软件无法定时重置定时器导致定时器溢出,从而触发***硬件复位,导致***重新启动,然后正常加载应用程序,并恢复提供服务。但是,由看门狗直接输出复位的方法有如下弊端:
(1)如果***中存在硬盘等机械结构设备,这种设备在正常的数据访问过程中需要进行分区表同步等操作,特别现在的硬盘为了追求较高的写入速度,通常会有一定容量的缓冲区,如果***出现异常复位,那么分区表同步操作不能完成,缓冲区中的数据也来不及写入到硬盘中,其直接后果是造成对***数据的破坏,丢失重要的***数据,严重的可能导致***不能正常提供业务。
(2)***中的一些异步复位器件如IIC器件等,在这些设备占用***总线的时候,如果发生了***异常复位,那么这些器件由于无法知道复位的到来而始终占用***总线,导致复位后***不能正常启动。
(3)***异常复位直接导致整个***中所有芯片的寄存器内容恢复到初始化时的值,保存在***数据缓存中的信息也被清空,这样,***故障时的各种状态信息都没有记录下来,而这些信息正是定位***异常复位的重要线索,这对事后定位***故障造成了较大的难度。
发明内容
本发明所要解决的技术问题在于提供一种对异常复位进行***保护的方法和装置,使得在***故障时通过复位保护***自动截获***硬件复位,从而保护硬盘内部数据不受突发复位的损害,保证异步复位设备能够正常结束当前访问周期,避免非法占用***总线,导致***不能正常启动。进一步地,本发明还可以对***异常状态信息进行记录,避免重要信息的丢失,为***故障的定位提供了必要的信息。
为了实现上述目的,本发明提供了一种对异常复位进行***保护的方法,其特点在于,包括如下步骤:
步骤一,当出现***异常复位时,通过复位保护***自动截获***硬件复位,并不将该复位向处理器分发;
步骤二,该复位保护***利用该硬件复位触发,进行***保护操作,***保护操作包括:利用该硬件复位触发中断,调用***信息保存子程序,对***异常信息进行保存,停止对机械式设备的操作,正常结束异步复位设备的当前访问周期;
步骤三,当所有***保护操作结束后,该复位保护***释放截获的硬件复位,触发处理器复位。
上述的对异常复位进行***保护的方法,其特点在于,所述***异常信息包括CPU寄存器的状态、当前任务信息、堆栈位置、堆栈结构、堆栈内容。
上述的对异常复位进行***保护的方法,其特点在于,所述***异常信息保存在内存或非易失性存储器中。
上述的对异常复位进行***保护的方法,其特点在于,在步骤二中,该复位保护***利用截获的***硬件复位触发进行***保护操作的同时,触发计数器进行倒计时,在***完成所有***保护操作之后,整个***进入等待状态,当倒计时结束时,复位保护***释放截获的硬件复位,触发处理器复位。
上述的对异常复位进行***保护的方法,其特点在于,该计数器采用两级或者多级计数器,其中只用所截获的硬件复位触发第一级计数器,最后一级计数器溢出后,才触发对处理器的复位。
为了实现上述目的,本发明还提供了一种一种对异常复位进行***保护的装置,包括复位处理模块、复位处理器和复位保护***,其特点在于,该复位保护***设置于***的复位处理模块与复位处理器之间,用于当出现***异常复位时,自动截获复位处理模块产生的复位信号,并利用该复位信号触发进行***保护操作,对***异常信息进行保存,停止对机械式设备的操作,并正常结束异步复位设备的当前访问周期后,再释放该复位信号至复位处理器,进行***复位处理。
上述的复位保护***,其特点在于,该复位保护***中还包括有计数器。
上述的复位保护***,其特点在于,该复位保护***还包括有非易失性存储器,与该复位处理器连接,用于保存数据。
上述的复位保护***,其特点在于,该复位保护***可为大规模可编程逻辑器件CPLD,或者为可编程专用集成电路ASIC。
由上可知,与现有技术相比较,本发明通过复位保护***,提供了一种在异常复位情况下保护机械式硬盘不受突发复位的影响而导致故障的有效方法;同时,本发明还保证异步复位设备在异常复位时正常结束当前访问周期,以避免对***总线的非法占用。进一步地,本发明可以有效地对***故障当时的各种软硬件信息进行记录,避免了重要信息的丢失,改进了传统的看门狗电路只导致***复位而无法保存***信息的问题,为及时定位***故障提供了可能。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1是本发明的实现示意图;
图2是本发明的方法流程图。
具体实施方式
本发明的一种对***异常复位信息进行保存的方法,包括以下步骤:
(1)当出现***异常复位时,通过复位保护***自动截获***硬件复位,并不将该复位向处理器分发。
(2)复位保护***利用该硬件复位触发中断,调用***信息保存子程序,对***异常信息进行保存,并停止对硬盘等机械式设备的操作,以保护硬盘;同时正常结束异步复位设备的当前访问周期。在***完成上述必要的操作之后,最后整个***进入等待状态。与此同时,复位保护***触发计数器开始倒计时。
(3)当倒计时结束时,复位保护***释放截获的硬件复位,触发处理器复位。因此所述计数器的计时时间应大于进行以上操作所需的时间。
上述的***异常信息包括CPU寄存器的状态、当前任务信息、堆栈位置、堆栈结构、堆栈内容等等。
本发明提供了一种对异常复位进行***保护的方法,避免了硬盘因异常复位而导致损坏,并保证复位时***总线不被异步复位设备占用。同时,还可以对异常信息进行保存,方便了设备调试时对难以复现的复位问题的数据收集以及对反复重启故障的快速定位。
下面结合附图对本发明方法进行具体的说明。
如图1所示,本发明在***的复位处理模块101和处理器103之间加了一个复位保护***102,提供了一个保存***故障现场的手段,从而方便了***故障的快速定位。该***的实现方式可以是CPLD,也可以是ASIC。较佳的,复位保护***102中还包括有计数器105,处理器103之后还连接有非易失性存储介质104,用于存储数据。
结合图1,并请参考图2,当出现***异常复位时,复位保护***自动截获***硬件复位,并不将该复位向处理器分发(步骤201),与此同时触发计数器进行倒计时(步骤202)。同时以该复位触发中断,调用中断处理子程序,对***异常信息进行保存(步骤203),将数据保存在内存或者非易失性存储器如FLASH中,作为将来定位分析使用。并进行分区表同步,停止对硬盘等机械式设备的操作(步骤204)。并判断是否有异步复位设备访问操作(步骤205),如果有,则结束当前访问周期,完成异步复位设备当前的总线操作,以使其释放总线(步骤206),否则,进入等待状态(步骤207)。在***完成其他必要的操作之后,整个***进入等待状态(步骤207)。当倒计时结束时,复位保护***释放截获的硬件复位,触发处理器复位(步骤208)。然后***重新启动,加载软件后恢复正常运行。
当复位处理模块触发异常复位时,现有技术是利用该复位信号直接触发处理器的复位导致***重新启动。而本发明是利用该复位触发中断,保存现场的异常信息,例如CPU寄存器的状态、当前任务信息、堆栈位置、堆栈结构、堆栈内容等等。同时停止对硬盘等机械式设备的操作,以防止异常复位对其造成破坏。并结束异步复位设备的当前访问周期,避免其对***总线的非法占用。复位保护***的计数器的计时应大于进行数据保存所需的时间,以便在计数器溢出前完成对数据的保存。
使用上述方法,可以有效地保护机械式硬盘不受突发复位的影响而导致故障,同时,本发明还保证异步复位设备在异常复位时正常结束当前访问周期,以避免对***总线的非法占用,并可以对***故障当时的各种软硬件信息进行记录,当***重启后通过分析保存的***故障信息,为***故障原因提供线索。
除上述实施方法之外,本发明还有其他的实施方式。例如采用两级或者多级计数器,但是只用复位信号来触发第一级计数器,最后一级计数器溢出后,触发对处理器的复位,也可以实现同样的目的,这些变形方案同样属于本发明的专利保护范围。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1、一种对异常复位进行***保护的方法,其特征在于,包括如下步骤:
步骤一,当出现***异常复位时,通过复位保护***自动截获***硬件复位,并不将该复位向处理器分发;
步骤二,该复位保护***利用该硬件复位触发,进行***保护操作,***保护操作包括:调用***信息保存子程序,对***异常信息进行保存,停止对机械式设备的操作,正常结束异步复位设备的当前访问周期;
步骤三,当所有***保护操作结束后,该复位保护***释放截获的硬件复位,触发处理器复位。
2、根据权利要求1所述的对异常复位进行***保护的方法,其特征在于,所述***异常信息包括CPU寄存器的状态、当前任务信息、堆栈位置、堆栈结构、堆栈内容。
3、根据权利要求2所述的对异常复位进行***保护的方法,其特征在于,所述***异常信息保存在内存或非易失性存储器中。
4、根据权利要求1所述的对异常复位进行***保护的方法,其特征在于,在步骤二中,该复位保护***利用截获的***硬件复位触发进行***保护操作的同时,触发计数器进行倒计时,在***完成所有***保护操作之后,整个***进入等待状态,当倒计时结束时,复位保护***释放截获的硬件复位,触发处理器复位。
5、根据权利要求4所述的对异常复位进行***保护的方法,其特征在于,该计数器采用两级或者多级计数器,其中只用所截获的硬件复位触发第一级计数器,最后一级计数器溢出后,才触发对处理器的复位。
6、一种对异常复位进行***保护的装置,包括复位处理模块、复位处理器和复位保护***,其特征在于,
该复位保护***设置于***的复位处理模块与复位处理器之间;
该复位保护***用于截获来自复位处理模块产生的复位信号,并在利用该复位信号触发的***保护操作,对***异常信息进行保存,停止对机械式设备的操作,并正常结束异步复位设备的当前访问周期后,再将该复位信号释放至复位处理器,进行***复位处理。
7、根据权利要求6所述的对异常复位进行***保护的装置,其特征在于,该复位保护***中还包括有计数器,所述计数器用于计时,计时大于保存数据所需的时间。
8、根据权利要求7所述的对异常复位进行***保护的装置,其特征在于,该复位保护***还包括有非易失性存储器,与该复位处理器连接,用于保存数据。
9、根据权利要求6所述的对异常复位进行***保护的装置,其特征在于,该复位保护***可为大规模可编程逻辑器件CPLD,或者为可编程专用集成电路ASIC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100113397A CN100517244C (zh) | 2006-02-21 | 2006-02-21 | 一种对异常复位进行***保护的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100113397A CN100517244C (zh) | 2006-02-21 | 2006-02-21 | 一种对异常复位进行***保护的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101025700A CN101025700A (zh) | 2007-08-29 |
CN100517244C true CN100517244C (zh) | 2009-07-22 |
Family
ID=38744023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100113397A Expired - Fee Related CN100517244C (zh) | 2006-02-21 | 2006-02-21 | 一种对异常复位进行***保护的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100517244C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159685B (zh) * | 2007-11-01 | 2011-03-02 | 中兴通讯股份有限公司 | 一种启动可插拔件的方法 |
CN102479116A (zh) * | 2010-11-24 | 2012-05-30 | 中兴通讯股份有限公司 | 一种查看***异常时代码信息的方法及装置 |
US8880860B2 (en) * | 2011-12-02 | 2014-11-04 | Qualcomm Incorporated | Methods and apparatus for saving conditions prior to a reset for post reset evaluation |
CN103166612B (zh) * | 2011-12-15 | 2016-03-30 | 无锡华润矽科微电子有限公司 | 复位控制电路中的自检处理电路结构及复位控制电路装置 |
CN104115451A (zh) | 2012-02-27 | 2014-10-22 | 松下电器产业株式会社 | 主机装置、通信***以及通信方法 |
CN104142832A (zh) * | 2013-05-07 | 2014-11-12 | 宏碁股份有限公司 | 电脑装置及其重开机方法 |
CN104460440B (zh) * | 2014-11-18 | 2017-02-01 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种可编程逻辑器件内部高可靠自复位方法 |
CN104679196B (zh) * | 2015-03-10 | 2018-07-06 | 江苏邦融微电子有限公司 | 基于处理器的自检测、异常时复位***及其实现方法 |
CN105024674B (zh) * | 2015-03-13 | 2018-06-12 | 苏州迈瑞微电子有限公司 | 一种异步复位装置 |
FR3040523B1 (fr) * | 2015-08-28 | 2018-07-13 | Continental Automotive France | Procede de detection d'une erreur non corrigible dans une memoire non volatile d'un microcontroleur |
CN105468942B (zh) * | 2015-12-31 | 2018-06-26 | 苏州景昱医疗器械有限公司 | 防止植入式脑深部电刺激***程序被破解的方法及装置 |
CN107438010A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 故障保护方法、第一、第二处理器、网络存储设备和*** |
CN111857302A (zh) * | 2020-06-19 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种***管理总线的复位方法、装置以及设备 |
-
2006
- 2006-02-21 CN CNB2006100113397A patent/CN100517244C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101025700A (zh) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100517244C (zh) | 一种对异常复位进行***保护的方法及装置 | |
US6944796B2 (en) | Method and system to implement a system event log for system manageability | |
CN101887393B (zh) | 基于半虚拟化技术的设备故障复现方法及*** | |
CN100395722C (zh) | 一种对控制***异常状态信息进行保存的方法 | |
US20060212754A1 (en) | Multiprocessor system | |
CN102063344A (zh) | 一种***故障信息转储的方法与*** | |
CN106155883B (zh) | 一种虚拟机可靠性测试方法及装置 | |
CN100397353C (zh) | 一种提高单板异常处理能力的***和方法 | |
CN101937344B (zh) | 一种计算机快速启动的装置及方法 | |
TW200805065A (en) | Region protection unit, instruction set and method for protecting a memory region | |
US7451357B2 (en) | Apparatus and system for adjusting trace data granularity | |
CN106682162A (zh) | 日志管理方法及装置 | |
CN106445720A (zh) | 一种内存错误恢复方法和装置 | |
CN101430658A (zh) | 异常复位信息的保存方法及装置 | |
CN104899111A (zh) | 一种处理家庭网关***内核崩溃的方法及*** | |
CN100392606C (zh) | 一种定位虚拟操作***内存泄漏的方法 | |
CN105718330A (zh) | 一种Linux***备份数据的恢复方法及装置 | |
US7213169B2 (en) | Method and apparatus for performing imprecise bus tracing in a data processing system having a distributed memory | |
CN114996064A (zh) | 内存检测方法、装置、设备及存储介质 | |
CN104750600A (zh) | 设备状态记录方法和*** | |
KR100677403B1 (ko) | 이동통신단말기의 스마트카드 상태 점검 방법 | |
US7302616B2 (en) | Method and apparatus for performing bus tracing with scalable bandwidth in a data processing system having a distributed memory | |
US6550022B1 (en) | Hierarchical JTAG based checkstop architecture for computer systems | |
CN105868038B (zh) | 内存错误处理方法及电子设备 | |
CN102033823A (zh) | 一种保存数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20180221 |