軟性錯誤

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

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

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

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

相關條目
单粒子翻转

電腦記憶體
数字电子