Global Sources
電子工程專輯
 
電子工程專輯 > 控制技術/MCU
 
 
控制技術/MCU  

利用備援處理器提高系統可靠性(下)

上網時間: 2002年10月26日     打印版  Bookmark and Share  字型大小:  

關鍵字:redundancy  watchdog  備援  Watchdog  reliability 

當檢測到錯誤且處理器產生轉換之後,設計者應確保原先備用的處理器擁有當前系統活動的所有資訊,這樣轉換才不會出錯。有三種方法使備用處理器保持同步,分別是同時處理、記憶體鏡像和通訊鏈接(圖2)。

同時處理如圖2a所示,它將工作處理器的輸入信號都送一份到備用處理器中,備用處理器平行處理輸入信號,跟蹤工作處理器的情況。

如果備用處理器重新啟動而初始狀態與工作處理器不同時,同時處理的方法就會有問題;假如備用處理器能根據輸入迅速回到正確狀態,這種方法還是很有用的,其優點是不需要在處理器間作複雜的更新動作。

採用記憶體鏡像法時(圖2b),一塊鏡像記憶體用來在工作和備用處理器之間傳遞狀態數據,共享相關資訊。鏡像藉由特殊的硬體來完成,它自動將工作處理器的資訊在備用處理器記憶體中做一個備份。

這種方法將兩個處理器的硬體緊密結合起來,從而減輕了軟體的負擔。根據實現的具體內容不同,一些要保留的數據也許還需要明確聲明,以便留在鏡像記憶體中。圖2:由三種方法使備用處理器與工作處理器保持同步。

第三種傳遞狀態資訊的方法是通訊鏈接(圖2c),它在兩個處理器間採用一種專門的連接通路。工作處理器的軟體找出狀態數據變化情況,然後用通訊鏈接發送到備用處理器中。每一個狀態變化都可以事件驅動的方式發送更新,一組狀態變化則以周期方式發送,所有狀態數據都變化時則根據需要大量發送。

通訊鏈接法使系統耦合更加松散,它允許兩個處理器裝載不同的軟體甚至用不同的硬體結構,而將相容性問題放在負責通訊鏈接的軟體?。

值得注意的是通訊系統處理器在出現錯誤時通常只保留穩定的鏈接,因而只有穩定的狀態資訊才會傳到備用處理器。在轉換時,位於處理器底層的通訊鏈接可能需要重新啟動,而正在進行的作業可能會被終止。

多數通訊信令協議都設計得非常靈活,可以對付因處理器轉換之類的事件引起的瞬時中斷。有些數據網路協議(如IP路由邊界網路閘道協議)對鏈接重啟很敏感,在處理器轉換期間需要更具體的狀態資訊來維持傳輸控制協議鏈接。由於保留的狀態資訊越來越多,設計的複雜度也日益增加,設計人員在選擇轉換過程保留狀態資訊時要小心注意應用需求和系統結構。

轉換和恢復

在設計轉換恢復策略時,開發人員要考慮兩類轉換。首先是自由轉換,它產生在備用處理器沒有得到警告的情況下突然發現執行處理器失效時,此時失效的處理器不能幫助系統恢復,備用處理器必須開始執行,獨自恢復系統。

第二類轉換稱為受控轉換,產生在工作的處理器還能與備用處理器通訊的情況下。這類轉換通常比較平穩,因管理維護或非嚴重錯誤引起的處理器轉換可使系統中斷降到最低程度。

受控轉換時,工作處理器首先處理完瞬時狀態,然後藉由數據流控制介面,暫時延緩後續外部事件的處理。系統穩定後,所有未決狀態的更新資訊都發送給備用處理器,這時兩個處理器同步執行並開始轉換。備用處理器執行起來後,系統開始恢復。

系統恢復的複雜性很大程度上取決於系統應用和新執行處理器得到的可用狀態資訊數量。以下是一些典型的恢復任務:

* 將所有對保護狀態敏感的軟體任務作業模式轉換* 向其它需要知道是哪一個處理器正在執行的系統部份發出通知


* 將每一個中斷或暫停連接重新啟動


* 由於狀態在轉換過程中正在變換,因此需要檢查系統是否同步或存在混亂的資訊(可能在其它板上)


* 通知管理系統開始轉換


* 如果沒有成功重啟,採用報警方式報告另一個處理器的錯誤


* 待另一個處理器修復或重啟之後,用當前系統狀態對其更新

處理器轉換通常是不可恢復的,即新開始工作的處理器會繼續執行至出錯為止,已修復的處理器則擔當備用處理器的角色。

備援處理器測試

很多系統只是從用戶的角度對備援處理器進行一次測試,方法是突然將執行的處理器從被測系統中取出來,如果系統不能藉由測試,那麼它就不能稱為‘備援’系統。然而有大量方案都不能藉由這個測試,因為它們建立的結構原先並沒有打算支援備援處理器,例如備援CompactPCI主機就要求在備用板上有一個工作橋。

因此還需要進行更多測試,至少要在實驗室?測過。下面是對執行處理器的幾個附加測試:


* 使板上電源無效


* 使處理器時脈無效


* 在數據匯流排上製造一個中斷


* 將通向其它處理器的通訊鏈接收發器設為無效


* 強迫週邊進入硬體重設


* 修改記憶體分配軟體模仿記憶體溢出


* 加入代碼強迫處理器出現異常


* 加入代碼強迫將重要任務鎖住

很難確定實際的出錯範圍,設計人員可以採用建模技術來評估出錯率,分析設計並評估系統實用性。計算實用性和以統計模型為基礎計算平均無故障工作時間的可靠性套裝軟體很有用,可以省去很多不必要的工作,這種軟體現在都能買得到。

線上更新

處理器備援和另一種非常實用的技術──線上軟體更新的聯繫十分密切,這種更新要求保留系統轉換過程的執行代碼狀態。為了有效做到這點,已經裝載的軟體必須能夠在已知位置識別和儲存穩定狀態,然後再逐步轉換成新代碼。狀態數據要標明當前軟體的版本號,以便新版本代碼能正確翻譯與轉換數據。

為了對備援處理器系統進行線上更新,備用處理器先被隔離出來,轉換也被管理系統鎖住。先將備用處理器升級為新的硬體和軟體,升級後的處理器重新啟動並投入使用,然後管理系統請求工作處理器用受控保護轉換所用數據進行模式狀態更新,這時系統將已更新過的處理器作為工作處理器。然後在其它處理器上同樣重複這個過程,最後系統回到正常工作狀態。

作者:Bill Krause


系統及硬體設計師


Aztek Engineering


Email: bill.krause@aztek-eng.com




投票數:   加入我的最愛
我來評論 - 利用備援處理器提高系統可靠性(下)
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首