嗯… 沒人邀… 湊一發熱鬧。
有謬誤歡迎指正, 非核工程專業.
非常大。
電路是靠著電容上積累的電荷確定0或者1的
電路是靠著電容上積累的電荷確定0或者1的
電路是靠著電容上積累的電荷確定0或者1的
任何形式的放射線, 都會傷害無保護的ASIC電路。 方式多種多樣, 最終目的無非一個: 以游離, 撞擊等方式, 導致Soft Error (軟錯誤, 也即可以糾正的, 不影響硬體本身的錯誤), 其中 single event effect(SEE, 單事件錯誤)是這裏面主要的參量 。嚴重的, 甚至會導致硬體本身損壞(Hard Error ), 也即不可修復的錯誤. 這一點放到後面講.
也就是說, 我往記憶體裏存了個數, 二進制 0000 1111; 結果粒子一打過來,喲呵~ 變成
0001 0111
了。
如果是數學運算,… 加減法做不對會導致計算軌域錯誤啊之類的; 如果是控制位… 那你最好保證反轉的那兩個位元沒有控制什麽飛船彈射之類的參數。 不然本來輸入0不要彈射, 一反轉變成1趕緊彈射。玩兒脫了…
比如說車諾比事件之後, 蘇聯令人發指的召集誌願者去清理放射線, 原因是
機器人進去就不聽使喚了. 更嚴重的是, 這些機器人拿出來以後, 也不能使用了.
------------偏題開始-----------
那麽怎麽知道我這個電路會不會這樣呢? 標準方法叫做 SEE testing, 單次事件測試。
這個測試簡單粗暴: 用一束已知能量的粒子去轟擊測試芯片, 同時進行外部操作, 看最終結果會不會翻轉。這一束粒子可以是任何粒子, 包括alpha射線, beta射線, 中字束, 混合各種各樣的粒子等等. 粒子束的強度統一以入射粒子的能量, linear energy transfer, LET來記。具體到數量級上的話, 如果是目前普通的家用電腦,大概游離輻射量 在 0.x keV cm2 /mg 就掛了。 (掛了=出現了軟體諸如 ECC 無法修復的錯誤)
*對於Gamma射線, LET的計算方式不太一樣, 因為這貨是光子; 計算的時候一般是算由Gamma射線引發的電子束強度.
太空的標準參考LET是 60-120 MeV cm2 /mg
垮了噻… 差了幾個數量級啊!
原因是家裏面的電腦由於地球母親磁場和大氣層的保護, 基本不會受到轟擊。 設計的時候, 設計師們都表示呵呵呵呵誰要管你。
太空工程師表示瓦日你哥… 我們怎麽辦…
說一下LET是如何用來測量的: 一般來說, 用一束粒子轟擊這個芯片, 如果這個轟擊有效 (改變了某些元器件電容上的電荷), 那麽這個芯片上會向外射出粒子.
LET, 顧名思義, 線性 能量 轉移, 就指的是在這個有效轟擊裏, 有多少能量被轉移出來了.
LET_thresh, 是對於一個器件來說, 不斷地給它施加高能粒子束, 高到某一個能階的時候, 飛出來的粒子能量不再提升了.
那麽一般來說, 家用機LET_thresh非常低, 表現形式就是稍稍拿粒子轟擊一下, 就會飛出來一堆電子; 但是如果我逐步加大這個粒子束的強度, 出來的電子不會變多!
什麽意思呢? 就是說: 家用機無論你怎麽轟擊, 就只能出來這麽多電子了. 再多的電子在原子內層, 你轟不出來.
為什麽這是一個壞事呢? 半導體裏面可用的電子密度就那麽點點, 結果一點點粒子束就全把它轟出來了剩下的原子核和內層電子等著結婚咩...
所以說, 環境裏面的LET越高, 說明
這個環境有能力轟出更多的電子;
而
器件的LET_thresh越高, 說明這個器件能承受被轟出更多的電子, 也即在高放射線下更加穩定.
在CMOS出生的同時, 太空/核 工程師們就找到了一種能讓標準CMOS 承受高放射線的方法:
把CMOS設計成這樣: