專利名稱:一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法及復(fù)位保護(hù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法及復(fù)位保護(hù)系統(tǒng),適用于通訊,網(wǎng)絡(luò)等相關(guān)領(lǐng)域。
背景技術(shù):
隨著通訊產(chǎn)業(yè)的發(fā)展,通訊產(chǎn)品功能和性能日益完善,人們對(duì)通訊產(chǎn)品可靠性的要求也是越來越嚴(yán)格。與此同時(shí),通訊系統(tǒng)的復(fù)雜度以及系統(tǒng)集成度也是越來越高,在系統(tǒng)故障時(shí)的錯(cuò)誤定位也變得越來越困難。
當(dāng)發(fā)生系統(tǒng)故障時(shí),為了能夠快速地從故障狀態(tài)中恢復(fù),一般會(huì)采用看門狗監(jiān)控系統(tǒng)運(yùn)行狀態(tài)??撮T狗的輸出管腳與處理器的復(fù)位管腳相連,系統(tǒng)正常運(yùn)行時(shí)軟件會(huì)定時(shí)重置看門狗的定時(shí)器,而一旦系統(tǒng)發(fā)生故障,軟件無法定時(shí)重置定時(shí)器導(dǎo)致定時(shí)器溢出,從而觸發(fā)系統(tǒng)硬件復(fù)位,導(dǎo)致系統(tǒng)重新啟動(dòng),然后正常加載應(yīng)用程序,并恢復(fù)提供服務(wù)。但是,由看門狗直接輸出復(fù)位的方法有如下弊端(1)如果系統(tǒng)中存在硬盤等機(jī)械結(jié)構(gòu)設(shè)備,這種設(shè)備在正常的數(shù)據(jù)訪問過程中需要進(jìn)行分區(qū)表同步等操作,特別現(xiàn)在的硬盤為了追求較高的寫入速度,通常會(huì)有一定容量的緩沖區(qū),如果系統(tǒng)出現(xiàn)異常復(fù)位,那么分區(qū)表同步操作不能完成,緩沖區(qū)中的數(shù)據(jù)也來不及寫入到硬盤中,其直接后果是造成對(duì)系統(tǒng)數(shù)據(jù)的破壞,丟失重要的系統(tǒng)數(shù)據(jù),嚴(yán)重的可能導(dǎo)致系統(tǒng)不能正常提供業(yè)務(wù)。
(2)系統(tǒng)中的一些異步復(fù)位器件如IIC器件等,在這些設(shè)備占用系統(tǒng)總線的時(shí)候,如果發(fā)生了系統(tǒng)異常復(fù)位,那么這些器件由于無法知道復(fù)位的到來而始終占用系統(tǒng)總線,導(dǎo)致復(fù)位后系統(tǒng)不能正常啟動(dòng)。
(3)系統(tǒng)異常復(fù)位直接導(dǎo)致整個(gè)系統(tǒng)中所有芯片的寄存器內(nèi)容恢復(fù)到初始化時(shí)的值,保存在系統(tǒng)數(shù)據(jù)緩存中的信息也被清空,這樣,系統(tǒng)故障時(shí)的各種狀態(tài)信息都沒有記錄下來,而這些信息正是定位系統(tǒng)異常復(fù)位的重要線索,這對(duì)事后定位系統(tǒng)故障造成了較大的難度。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法和復(fù)位保護(hù)系統(tǒng),使得在系統(tǒng)故障時(shí)通過復(fù)位保護(hù)系統(tǒng)自動(dòng)截獲系統(tǒng)硬件復(fù)位,從而保護(hù)硬盤內(nèi)部數(shù)據(jù)不受突發(fā)復(fù)位的損害,保證異步復(fù)位設(shè)備能夠正常結(jié)束當(dāng)前訪問周期,避免非法占用系統(tǒng)總線,導(dǎo)致系統(tǒng)不能正常啟動(dòng)。進(jìn)一步地,本發(fā)明還可以對(duì)系統(tǒng)異常狀態(tài)信息進(jìn)行記錄,避免重要信息的丟失,為系統(tǒng)故障的定位提供了必要的信息。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特點(diǎn)在于,包括如下步驟步驟一,當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),通過復(fù)位保護(hù)系統(tǒng)自動(dòng)截獲系統(tǒng)硬件復(fù)位,并不將該復(fù)位向處理器分發(fā);步驟二,該復(fù)位保護(hù)系統(tǒng)利用該硬件復(fù)位觸發(fā),進(jìn)行系統(tǒng)保護(hù)操作;步驟三,當(dāng)所有系統(tǒng)保護(hù)操作結(jié)束后,該復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位。
上述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特點(diǎn)在于,在步驟二中,所述的系統(tǒng)保護(hù)操作包括如下步驟利用該硬件復(fù)位觸發(fā)中斷,調(diào)用系統(tǒng)信息保存子程序,對(duì)系統(tǒng)異常信息進(jìn)行保存;停止對(duì)機(jī)械式設(shè)備的操作;正常結(jié)束異步復(fù)位設(shè)備的當(dāng)前訪問周期。
上述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特點(diǎn)在于,所述系統(tǒng)異常信息包括CPU寄存器的狀態(tài)、當(dāng)前任務(wù)信息、堆棧位置、堆棧結(jié)構(gòu)、堆棧內(nèi)容。
上述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特點(diǎn)在于,所述系統(tǒng)異常信息保存在內(nèi)存或非易失性存儲(chǔ)器中。
上述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特點(diǎn)在于,在步驟二中,該復(fù)位保護(hù)系統(tǒng)利用截獲的系統(tǒng)硬件復(fù)位觸發(fā)進(jìn)行系統(tǒng)保護(hù)操作的同時(shí),觸發(fā)計(jì)數(shù)器進(jìn)行倒計(jì)時(shí),在系統(tǒng)完成所有系統(tǒng)保護(hù)操作之后,整個(gè)系統(tǒng)進(jìn)入等待狀態(tài),當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí),復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位。
上述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特點(diǎn)在于,該計(jì)數(shù)器采用兩級(jí)或者多級(jí)計(jì)數(shù)器,其中只用所截獲的硬件復(fù)位觸發(fā)第一級(jí)計(jì)數(shù)器,最后一級(jí)計(jì)數(shù)器溢出后,才觸發(fā)對(duì)處理器的復(fù)位。
為了實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種復(fù)位保護(hù)系統(tǒng),用于在系統(tǒng)出現(xiàn)異常復(fù)位時(shí)進(jìn)行系統(tǒng)保護(hù),其特點(diǎn)在于,該復(fù)位保護(hù)系統(tǒng)設(shè)置于系統(tǒng)的復(fù)位處理模塊與復(fù)位處理器之間,用于當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),自動(dòng)截獲復(fù)位處理模塊產(chǎn)生的復(fù)位信號(hào),并利用該復(fù)位信號(hào)觸發(fā)進(jìn)行系統(tǒng)保護(hù)操作,在完成所有系統(tǒng)保護(hù)操作后,再釋放該復(fù)位信號(hào)至復(fù)位處理器,進(jìn)行系統(tǒng)復(fù)位處理。
上述的復(fù)位保護(hù)系統(tǒng),其特點(diǎn)在于,該復(fù)位保護(hù)系統(tǒng)中還包括有計(jì)數(shù)器。
上述的復(fù)位保護(hù)系統(tǒng),其特點(diǎn)在于,該復(fù)位保護(hù)系統(tǒng)還包括有非易失性存儲(chǔ)器,與該復(fù)位處理器連接,用于保存數(shù)據(jù)。
上述的復(fù)位保護(hù)系統(tǒng),其特點(diǎn)在于,該復(fù)位保護(hù)系統(tǒng)可為大規(guī)??删幊踢壿嬈骷﨏PLD,或者為可編程專用集成電路ASIC。
由上可知,與現(xiàn)有技術(shù)相比較,本發(fā)明通過復(fù)位保護(hù)系統(tǒng),提供了一種在異常復(fù)位情況下保護(hù)機(jī)械式硬盤不受突發(fā)復(fù)位的影響而導(dǎo)致故障的有效方法;同時(shí),本發(fā)明還保證異步復(fù)位設(shè)備在異常復(fù)位時(shí)正常結(jié)束當(dāng)前訪問周期,以避免對(duì)系統(tǒng)總線的非法占用。進(jìn)一步地,本發(fā)明可以有效地對(duì)系統(tǒng)故障當(dāng)時(shí)的各種軟硬件信息進(jìn)行記錄,避免了重要信息的丟失,改進(jìn)了傳統(tǒng)的看門狗電路只導(dǎo)致系統(tǒng)復(fù)位而無法保存系統(tǒng)信息的問題,為及時(shí)定位系統(tǒng)故障提供了可能。
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
圖1是本發(fā)明的實(shí)現(xiàn)示意圖;圖2是本發(fā)明的方法流程圖。
具體實(shí)施例方式
本發(fā)明的一種對(duì)系統(tǒng)異常復(fù)位信息進(jìn)行保存的方法,包括以下步驟(1)當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),通過復(fù)位保護(hù)系統(tǒng)自動(dòng)截獲系統(tǒng)硬件復(fù)位,并不將該復(fù)位向處理器分發(fā)。
(2)復(fù)位保護(hù)系統(tǒng)利用該硬件復(fù)位觸發(fā)中斷,調(diào)用系統(tǒng)信息保存子程序,對(duì)系統(tǒng)異常信息進(jìn)行保存,并停止對(duì)硬盤等機(jī)械式設(shè)備的操作,以保護(hù)硬盤;同時(shí)正常結(jié)束異步復(fù)位設(shè)備的當(dāng)前訪問周期。在系統(tǒng)完成上述必要的操作之后,最后整個(gè)系統(tǒng)進(jìn)入等待狀態(tài)。與此同時(shí),復(fù)位保護(hù)系統(tǒng)觸發(fā)計(jì)數(shù)器開始倒計(jì)時(shí)。
(3)當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí),復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位。因此所述計(jì)數(shù)器的計(jì)時(shí)時(shí)間應(yīng)大于進(jìn)行以上操作所需的時(shí)間。
上述的系統(tǒng)異常信息包括CPU寄存器的狀態(tài)、當(dāng)前任務(wù)信息、堆棧位置、堆棧結(jié)構(gòu)、堆棧內(nèi)容等等。
本發(fā)明提供了一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,避免了硬盤因異常復(fù)位而導(dǎo)致?lián)p壞,并保證復(fù)位時(shí)系統(tǒng)總線不被異步復(fù)位設(shè)備占用。同時(shí),還可以對(duì)異常信息進(jìn)行保存,方便了設(shè)備調(diào)試時(shí)對(duì)難以復(fù)現(xiàn)的復(fù)位問題的數(shù)據(jù)收集以及對(duì)反復(fù)重啟故障的快速定位。
下面結(jié)合附圖對(duì)本發(fā)明方法進(jìn)行具體的說明。
如圖1所示,本發(fā)明在系統(tǒng)的復(fù)位處理模塊101和處理器103之間加了一個(gè)復(fù)位保護(hù)系統(tǒng)102,提供了一個(gè)保存系統(tǒng)故障現(xiàn)場的手段,從而方便了系統(tǒng)故障的快速定位。該系統(tǒng)的實(shí)現(xiàn)方式可以是CPLD,也可以是ASIC。較佳的,復(fù)位保護(hù)系統(tǒng)102中還包括有計(jì)數(shù)器105,處理器103之后還連接有非易失性存儲(chǔ)介質(zhì)104,用于存儲(chǔ)數(shù)據(jù)。
結(jié)合圖1,并請(qǐng)參考圖2,當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),復(fù)位保護(hù)系統(tǒng)自動(dòng)截獲系統(tǒng)硬件復(fù)位,并不將該復(fù)位向處理器分發(fā)(步驟201),與此同時(shí)觸發(fā)計(jì)數(shù)器進(jìn)行倒計(jì)時(shí)(步驟202)。同時(shí)以該復(fù)位觸發(fā)中斷,調(diào)用中斷處理子程序,對(duì)系統(tǒng)異常信息進(jìn)行保存(步驟203),將數(shù)據(jù)保存在內(nèi)存或者非易失性存儲(chǔ)器如FLASH中,作為將來定位分析使用。并進(jìn)行分區(qū)表同步,停止對(duì)硬盤等機(jī)械式設(shè)備的操作(步驟204)。并判斷是否有異步復(fù)位設(shè)備訪問操作(步驟205),如果有,則結(jié)束當(dāng)前訪問周期,完成異步復(fù)位設(shè)備當(dāng)前的總線操作,以使其釋放總線(步驟206),否則,進(jìn)入等待狀態(tài)(步驟207)。在系統(tǒng)完成其他必要的操作之后,整個(gè)系統(tǒng)進(jìn)入等待狀態(tài)(步驟207)。當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí),復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位(步驟208)。然后系統(tǒng)重新啟動(dòng),加載軟件后恢復(fù)正常運(yùn)行。
當(dāng)復(fù)位處理模塊觸發(fā)異常復(fù)位時(shí),現(xiàn)有技術(shù)是利用該復(fù)位信號(hào)直接觸發(fā)處理器的復(fù)位導(dǎo)致系統(tǒng)重新啟動(dòng)。而本發(fā)明是利用該復(fù)位觸發(fā)中斷,保存現(xiàn)場的異常信息,例如CPU寄存器的狀態(tài)、當(dāng)前任務(wù)信息、堆棧位置、堆棧結(jié)構(gòu)、堆棧內(nèi)容等等。同時(shí)停止對(duì)硬盤等機(jī)械式設(shè)備的操作,以防止異常復(fù)位對(duì)其造成破壞。并結(jié)束異步復(fù)位設(shè)備的當(dāng)前訪問周期,避免其對(duì)系統(tǒng)總線的非法占用。復(fù)位保護(hù)系統(tǒng)的計(jì)數(shù)器的計(jì)時(shí)應(yīng)大于進(jìn)行數(shù)據(jù)保存所需的時(shí)間,以便在計(jì)數(shù)器溢出前完成對(duì)數(shù)據(jù)的保存。
使用上述方法,可以有效地保護(hù)機(jī)械式硬盤不受突發(fā)復(fù)位的影響而導(dǎo)致故障,同時(shí),本發(fā)明還保證異步復(fù)位設(shè)備在異常復(fù)位時(shí)正常結(jié)束當(dāng)前訪問周期,以避免對(duì)系統(tǒng)總線的非法占用,并可以對(duì)系統(tǒng)故障當(dāng)時(shí)的各種軟硬件信息進(jìn)行記錄,當(dāng)系統(tǒng)重啟后通過分析保存的系統(tǒng)故障信息,為系統(tǒng)故障原因提供線索。
除上述實(shí)施方法之外,本發(fā)明還有其他的實(shí)施方式。例如采用兩級(jí)或者多級(jí)計(jì)數(shù)器,但是只用復(fù)位信號(hào)來觸發(fā)第一級(jí)計(jì)數(shù)器,最后一級(jí)計(jì)數(shù)器溢出后,觸發(fā)對(duì)處理器的復(fù)位,也可以實(shí)現(xiàn)同樣的目的,這些變形方案同樣屬于本發(fā)明的專利保護(hù)范圍。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特征在于,包括如下步驟步驟一,當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),通過復(fù)位保護(hù)系統(tǒng)自動(dòng)截獲系統(tǒng)硬件復(fù)位,并不將該復(fù)位向處理器分發(fā);步驟二,該復(fù)位保護(hù)系統(tǒng)利用該硬件復(fù)位觸發(fā),進(jìn)行系統(tǒng)保護(hù)操作;步驟三,當(dāng)所有系統(tǒng)保護(hù)操作結(jié)束后,該復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位。
2.根據(jù)權(quán)利要求1所述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特征在于,在步驟二中,所述的系統(tǒng)保護(hù)操作包括如下步驟利用該硬件復(fù)位觸發(fā)中斷,調(diào)用系統(tǒng)信息保存子程序,對(duì)系統(tǒng)異常信息進(jìn)行保存;停止對(duì)機(jī)械式設(shè)備的操作;正常結(jié)束異步復(fù)位設(shè)備的當(dāng)前訪問周期。
3.根據(jù)權(quán)利要求2所述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特征在于,所述系統(tǒng)異常信息包括CPU寄存器的狀態(tài)、當(dāng)前任務(wù)信息、堆棧位置、堆棧結(jié)構(gòu)、堆棧內(nèi)容。
4.根據(jù)權(quán)利要求3所述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特征在于,所述系統(tǒng)異常信息保存在內(nèi)存或非易失性存儲(chǔ)器中。
5.根據(jù)權(quán)利要求2所述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特征在于,在步驟二中,該復(fù)位保護(hù)系統(tǒng)利用截獲的系統(tǒng)硬件復(fù)位觸發(fā)進(jìn)行系統(tǒng)保護(hù)操作的同時(shí),觸發(fā)計(jì)數(shù)器進(jìn)行倒計(jì)時(shí),在系統(tǒng)完成所有系統(tǒng)保護(hù)操作之后,整個(gè)系統(tǒng)進(jìn)入等待狀態(tài),當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí),復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位。
6.根據(jù)權(quán)利要求5所述的對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法,其特征在于,該計(jì)數(shù)器采用兩級(jí)或者多級(jí)計(jì)數(shù)器,其中只用所截獲的硬件復(fù)位觸發(fā)第一級(jí)計(jì)數(shù)器,最后一級(jí)計(jì)數(shù)器溢出后,才觸發(fā)對(duì)處理器的復(fù)位。
7.一種復(fù)位保護(hù)系統(tǒng),用于在系統(tǒng)出現(xiàn)異常復(fù)位時(shí)進(jìn)行系統(tǒng)保護(hù),其特征在于,該復(fù)位保護(hù)系統(tǒng)設(shè)置于系統(tǒng)的復(fù)位處理模塊與復(fù)位處理器之間,用于當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),自動(dòng)截獲復(fù)位處理模塊產(chǎn)生的復(fù)位信號(hào),并利用該復(fù)位信號(hào)觸發(fā)進(jìn)行系統(tǒng)保護(hù)操作,在完成所有系統(tǒng)保護(hù)操作后,再釋放該復(fù)位信號(hào)至復(fù)位處理器,進(jìn)行系統(tǒng)復(fù)位處理。
8.根據(jù)權(quán)利要求7所述的復(fù)位保護(hù)系統(tǒng),其特征在于,該復(fù)位保護(hù)系統(tǒng)中還包括有計(jì)數(shù)器。
9.根據(jù)權(quán)利要求8所述的復(fù)位保護(hù)系統(tǒng),其特征在于,該復(fù)位保護(hù)系統(tǒng)還包括有非易失性存儲(chǔ)器,與該復(fù)位處理器連接,用于保存數(shù)據(jù)。
10.根據(jù)權(quán)利要求7所述的復(fù)位保護(hù)系統(tǒng),其特征在于,該復(fù)位保護(hù)系統(tǒng)可為大規(guī)??删幊踢壿嬈骷﨏PLD,或者為可編程專用集成電路ASIC。
全文摘要
本發(fā)明涉及一種對(duì)異常復(fù)位進(jìn)行系統(tǒng)保護(hù)的方法及復(fù)位保護(hù)系統(tǒng),該方法包括如下步驟步驟一,當(dāng)出現(xiàn)系統(tǒng)異常復(fù)位時(shí),通過復(fù)位保護(hù)系統(tǒng)自動(dòng)截獲系統(tǒng)硬件復(fù)位,并不將該復(fù)位向處理器分發(fā);步驟二,該復(fù)位保護(hù)系統(tǒng)利用該硬件復(fù)位觸發(fā),進(jìn)行系統(tǒng)保護(hù)操作;步驟三,當(dāng)所有系統(tǒng)保護(hù)操作結(jié)束后,該復(fù)位保護(hù)系統(tǒng)釋放截獲的硬件復(fù)位,觸發(fā)處理器復(fù)位。本發(fā)明的方法和系統(tǒng)避免了硬盤因異常復(fù)位而導(dǎo)致?lián)p壞,并保證復(fù)位時(shí)系統(tǒng)總線不被異步復(fù)位設(shè)備占用。同時(shí),還可以對(duì)異常信息進(jìn)行保存,方便了設(shè)備調(diào)試時(shí)對(duì)難以復(fù)現(xiàn)的復(fù)位問題的數(shù)據(jù)收集以及對(duì)反復(fù)重啟故障的快速定位。
文檔編號(hào)G06F1/24GK101025700SQ200610011339
公開日2007年8月29日 申請(qǐng)日期2006年2月21日 優(yōu)先權(quán)日2006年2月21日
發(fā)明者李孝軍, 王海華, 靖廣文 申請(qǐng)人:中興通訊股份有限公司