基於鎖步同步的雙模冗餘系統及其實現方法
2023-09-17 08:31:30 1
專利名稱:基於鎖步同步的雙模冗餘系統及其實現方法
技術領域:
本發明涉及安全控制領域,特別是涉及一種基於鎖步同步的雙模冗餘系統及其實現方法。
背景技術:
在一些重要的安全行業領域,往往對於系統的可靠性有著極高的要求。雙模鎖步冗餘容錯系統通過對核進行複製,採用鎖步同步方式運行,將其輸出結果進行對比,可以發現系統運行中的故障,較好的滿足了系統可靠性的要求,在工業領域有著強烈的應用需求。
在雙模冗餘系統中,雙模備份的兩個計算單元核在相同的時刻執行同一動作,該現象稱為鎖步同步。然而,目前常見的的鎖步同步的雙模冗餘控制系統只是對CPU進行冗餘設計,即,其中一個CPU為主CPU,進行系統控制和計算,另一個CPU是從CPU,僅用於將計算結果與主CPU進行對比,不執行控制功能,且仲裁控制模塊單一。由於在這種雙模冗餘控制系統的架構中,其他模塊並未考慮冗餘設計,若這些部件出現故障,則系統將沒有冗餘備份。這樣,當這些部件出現單點故障時,系統將輸出錯誤而產生故障,導致系統無法正常運行。因此,傳統的鎖步雙模冗餘系統的主要缺點是不能檢測到除核之外的其他單點故障引起的系統故障,系統總體可靠性不高;此外,對於系統的檢查單元亦沒有採用冗餘結構,同樣,出現故障則整個系統出現不可恢復故障。
綜上所述,可知先前技術之鎖步雙模冗餘系統存在無法檢測除核之外的其他單點故障導致系統總體可靠性不高且出現故障時整個系統出現不可恢復故障的問題,因此實有必要提出改進的技術手段,來解決此一問題。發明內容
為克服上述現有技術存在的不足,本發明的主要目的在於提供一種基於鎖步同步的雙模冗餘系統及其實現方法,解決了雙模鎖步系統中可靠性低的問題。
為達上述及其它目的,本發明提供一種基於鎖步同步的雙模冗餘系統,至少包含第一系統及第二系統,該第一系統包含計算單元核、互連模塊、外設橋、I/O設備、檢查控制單元、存儲器控制器及存儲器,該第二系統包含該計算單元核,同時,該第二系統至少還包含該外設橋、該I/O設備、該存儲器控制器、該存儲器其中之一以及該檢查控制單元與該互連模塊,其中,兩個檢查控制單元與兩互連模塊均相連,以同時接收兩個計算單元核的訪問信號進行對比,實現故障檢測。
進一步地,該第二系統還包括該外設橋、該I/O設備、該存儲器控制器、該存儲器、 該檢查控制單元與該互連模塊,兩個計算單元核分別通過兩互連模塊、兩檢查控制單元與兩存儲器及兩I/O設備相連,其中,兩I/O設備分別通過兩外設橋與兩控制單元進行連接, 兩存儲器分別通過兩存儲器控制器與兩控制單元連接。
進一步地,每個檢查控制單元至少包括緩衝器、同步對比器及執行器,其中,該緩衝器負責暫時存儲來自該第一系統和該第二系統經過互連模塊傳送來的訪問數據、地址和控制信號;該同步對比器負責將兩個緩衝器中的數據進行對比;該執行器負責錯誤檢測。
進一步地,若比較結果相同,則該執行器將任意一個系統的訪問輸出,同時將另一系統的訪問數據、地址和控制信息刪除;若比較結果不一致,則根據來自系統中所保持的工作狀態信息,預先保留來自可靠性高的系統的訪問,將來自剩下的系統的訪問作為故障系統進行刪除。
進一步地,若由於訪問結果不相同而發生刪除發生故障無法返回對系統響應時, 該系統將通過一中斷控制器在一定時間內發起異常中斷響應。
為達上述及其他目的,本發明還提供一種基於鎖步同步的雙模冗餘系統的實現方法,包括如下步驟
系統初始化,第一系統與第二系統均進行自檢;
從存儲器中調用應用軟體,以鎖步模式運行;
當來自一系統的訪問數據包到達檢查控制單元時,將該訪問數據包均存儲於兩檢查控制單元的緩衝器中;
判斷另一系統所對應的訪問數據包是否到達;
若另一系統所對應的訪問數據包已到達,則在同步比較器中進行兩系統之訪問數據包的對比;
根據對比結果,執行器刪除冗餘數據包,並將另一數據包輸出。
進一步地,若兩個數據包相同,則該執行器將來自任一系統的訪問數據包作為冗餘訪問刪除,將另一數據包的訪問輸出;若兩個訪問數據包不相同,則根據系統工作信息將可靠性高的系統的訪問數據包保留輸出,將另一系統的數據包刪除。
進一步地,當該執行器將正確數據包輸出後,訪問的設備對比做出響應,並經過兩檢查控制單元將訪問相應送至兩個系統。
進一步地,該判斷另一系統所對應的訪問數據包是否到達之步驟通過一看門狗進行計時判斷。
進一步地,若定時已到,同步訪問所對應的同步數據包超時,則不執行訪問數據包的對比,直接進行刪除冗餘數據包的步驟。
與現有技術相比,本發明一種基於鎖步同步的雙模冗餘系統及其實現方法通過複製模塊的增加,增大了單點故障的檢測率和修復率,提高了系統整體可靠性,避免了單點失效引起的系統故障。
圖1為本發明一種基於鎖步同步的雙模冗餘系統之系統架構圖2為圖1中檢查控制單元15的結構示意圖3為本發明一種基於鎖步同步的雙模冗餘系統實現方法的步驟流程圖。
具體實施方式
以下通過特定的具體實例並結合
本發明的實施方式,本領域技術人員可由本說明書所揭示的內容輕易地了解本發明的其它優點與功效。本發明亦可通過其它不同的具體實例加以施行或應用,本說明書中的各項細節亦可基於不同觀點與應用,在不背離本發明的精神下進行各種修飾與變更。
圖1為本發明一種基於鎖步同步的雙模冗餘系統之系統架構圖。如圖1所示,本發明一種基於鎖步同步的雙模冗餘系統,包括第一系統10及第二系統20,其中每個系統均包括計算單元核11、互連模塊12 (Crossbar,交叉開關矩陣或縱橫式交換矩陣)、外設橋13、 I/O設備14、同時接收兩個計算單元核11訪問信號的檢查控制單元15、存儲器控制器16以及存儲器17。
計算單元核11通過互連模塊crossbar 12與存儲器17和I/O設備14相連,在此連接過程中,加入了檢查控制單元15,檢查控制單元15同時接收兩個系統從crossbar傳來的訪問信號,用以對比,實現故障檢測。I/O設備14需要通過外設橋13與高速的互聯模塊 12進行連接。
第一系統10和第二系統20同一時刻鎖步運行,當檢測到故障而停掉其中一個系統時,另外一個系統不受影響仍然繼續工作。此外,由於處於鎖步同步狀態中,對於兩個系統均對相同I/O設備14和存儲器17進行訪問的請求,作為統一的訪問請求,在此需要將來自對應I/O設備14和存儲器17的單一訪問應答返回到兩個系統中。
圖2為圖1中檢查控制單元15的結構示意圖。在此,為了簡略,只畫出了跟檢查控制單元15直接相關的部件。在功能上,該檢查控制單元15負責信號的接收檢查與對比, 並對系統容錯進行處理,其主要包括緩衝器151、同步對比器152和執行器153。
其中緩衝器151負責暫時存儲來自第一系統10和第二系統20經過互連模塊 crossbarl2傳送來的訪問數據、地址和控制信號,緩衝器151分2個,分別負責存儲第一系統10和第二系統20的信號;同步對比器152負責將兩個緩衝器中相應的數據、地址和控制信號進行對比;執行器153則負責錯誤檢測。
如果訪問結果相同,則執行器153將任意一個系統的訪問輸出,同時,將另一系統的訪問數據、地址和控制信息刪除;若比較結果不一致,則根據來自系統中所保持的工作狀態信息,預先保留來自可靠性高的系統的訪問,將來自剩下的系統的訪問作為故障系統進行刪除。
較佳的,在由於訪問結果不相同而刪除訪問或者I/O設備14發生故障而無法返回對系統響應的情況下,本發明將通過一中斷控制器根據其定時功能在一定時間內發起異常中斷響應。
圖3為本發明一種基於鎖步同步的雙模冗餘系統實現方法的步驟流程圖。如圖3 所示,本發明一種基於鎖步同步的雙模冗餘系統實現方法,包括如下步驟
步驟301,系統進行上電初始化,第一系統10和第二系統20均進行自檢,自檢成功後,則順利進入下一步;
步驟302,系統初始化完成之後,開始從存儲器中調用應用軟體,以鎖步模式運行;
步驟303,當來自互連模塊12 (crossbar)的訪問數據包到達檢查控制單元15時, 將該信息(訪問數據包)存儲於緩衝器151中;
步驟304,確定另一系統所對應的訪問數據包是否到達,直到準備好兩個系統的訪問數據包前,由看門狗進行計時,等待某一固定時間,即若準備好兩個系統的訪問數據包, 則進入步驟306,否則進入步驟305 ;
步驟305,判斷定時是否已到,若定時已到,同步訪問所對應的同步數據包超時,則不執行數據包的比較,直接進入步驟307進行刪除數據包的處理,否則繼續等待另一系統的訪問數據包;
步驟306,將數據包準備好之後,在同步比較器152中進行訪問數據包的對比,確定是否相同;
步驟307,根據對比結果,執行器153刪除冗餘數據包;
步驟308,在刪除冗餘數據包之後,執行器153將另一個數據包輸出,此時,如果兩個數據包相同,則將來自任一系統的訪問數據包作為冗餘訪問刪除,將另一數據包的訪問輸出,如果兩個訪問數據包不相同,則根據系統工作信息將可靠性高的系統的訪問數據包保留輸出,將另一系統的數據包刪除;
步驟309,當檢查控制單元15將正確數據包輸出之後,訪問的設備對比做出響應, 該響應同樣經過檢查控制單元15將訪問相應送至兩個系統。
可見,與傳統的單純對處理器核進行冗餘備份的雙模冗餘系統相比,本發明一種基於鎖步同步的雙模冗餘系統及其實現方法在系統實現過程中可以更加清晰的檢測出系統單點故障,可以有效提高系統的可靠性。
上述實施例僅例示性說明本發明的原理及其功效,而非用於限制本發明。任何本領域技術人員均可在不違背本發明的精神及範疇下,對上述實施例進行修飾與改變。因此, 本發明的權利保護範圍,應如權利要求書所列。
權利要求
1.一種基於鎖步同步的雙模冗餘系統,至少包含第一系統及第二系統,該第一系統包含計算單元核、互連模塊、外設橋、I/O設備、檢查控制單元、存儲器控制器及存儲器,該第二系統包含該計算單元核,其特徵在於該第二系統至少還包含該外設橋、該I/O設備、該存儲器控制器、該存儲器其中之一以及該檢查控制單元與該互連模塊,其中,兩個檢查控制單元與兩互連模塊均相連,以同時接收兩個計算單元核的訪問信號進行對比,實現故障檢測。
2.如權利要求1所述的基於鎖步同步的雙模冗餘系統,其特徵在於該第二系統還包括該外設橋、該I/O設備、該存儲器控制器、該存儲器、該檢查控制單元與該互連模塊,兩個計算單元核分別通過兩互連模塊、兩檢查控制單元與兩存儲器及兩I/O設備相連,其中,兩 I/O設備分別通過兩外設橋與兩控制單元進行連接,兩存儲器分別通過兩存儲器控制器與兩控制單元連接。
3.如權利要求2所述的基於鎖步同步的雙模冗餘系統,其特徵在於每個檢查控制單元至少包括兩個緩衝器、同步對比器及執行器,其中,該兩個緩衝器分別負責暫時存儲來自該第一系統和該第二系統經過互連模塊傳送來的訪問數據、地址和控制信號;該同步對比器負責將兩個緩衝器中的數據進行對比;該執行器負責錯誤檢測。
4.如權利要求3所述的基於鎖步同步的雙模冗餘系統,其特徵在於若比較結果相同, 則該執行器將任意一個系統的訪問輸出,同時將另一系統的訪問數據、地址和控制信息刪除;若比較結果不一致,則根據來自系統中所保持的工作狀態信息,預先保留來自可靠性高的系統的訪問,將來自剩下的系統的訪問作為故障系統進行刪除。
5.如權利要求4所述的基於鎖步同步的雙模冗餘系統,其特徵在於若由於訪問結果不相同而發生刪除發生故障無法返回對系統響應時,該系統將通過一中斷控制器在一定時間內發起異常中斷響應。
6.一種基於鎖步同步的雙模冗餘系統的實現方法,包括如下步驟系統初始化,第一系統與第二系統均進行自檢;從存儲器中調用應用軟體,以鎖步模式運行;當來自一系統的訪問數據包到達檢查控制單元時,將該訪問數據包均存儲於兩檢查控制單元的緩衝器中;判斷另一系統所對應的訪問數據包是否到達;若另一系統所對應的訪問數據包已到達,則在同步比較器中進行兩系統之訪問數據包的對比;根據對比結果,執行器刪除冗餘數據包,並將另一數據包輸出。
7.如權利要求6所述的基於鎖步同步的雙模冗餘系統的實現方法,其特徵在於若兩個數據包相同,則該執行器將來自任一系統的訪問數據包作為冗餘訪問刪除,將另一數據包的訪問輸出;若兩個訪問數據包不相同,則根據系統工作信息將可靠性高的系統的訪問數據包保留輸出,將另一系統的數據包刪除。
8.如權利要求7所述的基於鎖步同步的雙模冗餘系統的實現方法,其特徵在於當該執行器將正確數據包輸出後,訪問的設備對比做出響應,並經過兩檢查控制單元將訪問相應送至兩個系統。
9.如權利要求8所述的基於鎖步同步的雙模冗餘系統的實現方法,其特徵在於該判斷另一系統所對應的訪問數據包是否到達之步驟通過一看門狗進行計時判斷。
10.如權利要求9所述的基於鎖步同步的雙模冗餘系統的實現方法,其特徵在於若定時已到,同步訪問所對應的同步數據包超時,則不執行訪問數據包的對比,直接進行刪除冗餘數據包的步驟。
全文摘要
本發明公開一種基於鎖步同步的雙模冗餘系統及其實現方法,該系統至少包含第一系統及第二系統,該第一系統包含計算單元核、互連模塊、外設橋、I/O設備、檢查控制單元、存儲器控制器及存儲器,該第二系統包含該計算單元核,同時,該第二系統至少還包含該外設橋、該I/O設備、該存儲器控制器、該存儲器其中之一以及該檢查控制單元與該互連模塊,其中,兩個檢查控制單元與兩互連模塊均相連,以同時接收兩個計算單元核的訪問信號進行對比,實現故障檢測,本發明通過複製模塊的增加,增大了單點故障的檢測率和修復率,提高了系統整體可靠性,避免了單點失效引起的系統故障。
文檔編號G06F11/16GK102521086SQ201110407248
公開日2012年6月27日 申請日期2011年12月8日 優先權日2011年12月8日
發明者劉婷, 張偉, 蔣江 申請人:上海交通大學