軟性錯誤

軟性錯誤电子学及電腦運算中的錯誤,是因為一個信號或資料不正確造成的錯誤。軟性錯誤可能是因為缺陷而造成,多半認為是因為設計或是架構上的錯誤,或者是因零件損壞而產生。軟性錯誤也是指信號或資料有錯,但沒有造成系統的異常動作。在確認軟性錯誤及其影響後,無法得到有軟性錯誤後的系統比原系統來的不可靠的結論。在航太領域中,這類錯誤稱為单粒子翻转

在電腦的記憶體中,軟性錯誤會造成程式一個指令或是一個資料的改變。若將電腦冷啟動後,軟性錯誤造成的影響就會消失。軟性錯誤不會破壞系統的硬體,唯一破壞的是當時正在處理的資料。

軟性錯誤有兩種:積體電路層級的軟性錯誤,以及系統層級的軟性錯誤。積體電路層級的軟性錯誤一般是因為有高能粒子撞擊到積體電路,例如積體電路本身材料中放射性原子的衰變,會放出α粒子撞擊積體電路,因為α粒子帶有正電荷以及能量,因此若撞擊到某個記憶體單元,記憶體單元中的數值就可能會變化。上述例子中的原子反應非常小,不會影響到積體電路的硬體結構。系統層級的軟性錯誤多半是在要處理的資料被雜訊所影響,多半是在資料在匯流排時發生此情形,電腦會將雜訊解讀為資料位元,因此會造成程式定址或是處理程式碼的錯誤。而有錯的資料也可能會存到記憶體中,因此造成後續的問題。

若軟性錯誤立刻就偵測到,可以直接重寫正確的資料即可消除軟性錯誤的影響。高可靠度的系統會用錯誤修正機制,直接在運作中修正錯誤。不過在大部份系統中,無法確定哪一個資料是正確的,甚至完全無法偵測軟性錯誤。而且在修正軟性錯誤前,系統可能已經崩溃,因此復原程序需包括重新启动。軟性錯誤包括儲存電路中資料的變化(例如儲存電路中的電子),但沒有影響到實際電路(原子)。只要重寫正確的資料,電路就會恢復正常工作。軟性錯誤可能發生在傳輸線、數位邏輯、類比電路、磁性儲存媒介……等,不過最常見的還是在積體電路中的軟性錯誤。

相關條目

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.