自我修復的晶元的原理是什麼?
微博上看到一條消息加州理工工程師真的創造出了能自我修復的晶元 。聽起來很科幻,不知是真的還是假的,想知道具體原理是什麼?
酷盤的微博 新浪微博
神奇晶元可自我修復 激光轟擊也不怕
剛吃完早飯,消化的同時順手答一下。
先去http://Scopus.com搜了一下加州理工這位拿了6百萬美刀經費的幸運兒,按論文引用數量排序,結果如下:
嗯,基本可以看出這位Ali Hajimiri混得是IEEE這圈子,大方向是搞電路設計的,苗正根紅的EE。
然後繼續看看這位同學最近發表的論文,結果如下:
其中劃橫線的論文看上去和題主所問的自我修復晶元有關。那就隨便下幾篇來看看好了。
比如其中的一篇IEEE Xplore -
Integrated Self-Healing for mm-Wave Power Amplifiers 中有一幅畫的很好看的圖是這樣的[注]:
我覺得這幅圖就很能夠說明問題了。這位Ali同學的基本思路就是在晶元設計的時候放入一些冗餘和可調的電路,然後再通過同時設計好的感測電路來判定系統是否工作正常,如果發現有某個參數超出預期範圍,則自動使用冗餘和調節電路來代替受損電路,從而實現電路修復功能。
太具體的電路設計我也沒怎麼仔細看,不是搞這個方向的,說多了肯定有錯的。但是這個思路本身來說在電路設計中並不罕見,舉例來說,你現在用得快閃記憶體盤裡的存儲單元就採用了類似的技術,可以自動感應某個存儲模塊是不是壞了,如果壞了就用晶元上原本就有的一個冗餘的好模塊來代替。工藝越複雜的快閃記憶體使用的冗餘電路越多越複雜,當然從使用者的角度而言是看不到這些自動修復動作的,對用戶而言快閃記憶體的容量永遠就是賣出來的時候標稱的那麼多。
至於用激光轟擊不會壞什麼的,只是因為他的文章里是使用激光燒壞晶元的某個部分,然後測試修復功能,並不是說激光無法破壞這塊晶元。上圖裡面那個On-chip self healing core被激光打壞了晶元照樣報銷。
總而言之,高科技基本都沒什麼神秘的。
[注] 本文摘錄的文章附圖版權均屬IEEE所有,未經許可,不得使用於盈利或商業目的。這是加州理工大學關於自我修復晶元的一個新聞:
Caltech Electrical Engineer Awarded $6 Million to Develop Self-Healing Circuits
耗費600萬美刀去開發自我修復的集成電路
這是美國國防部高級研究計劃局下屬的一個項目,具體的實現原理肯定是不會公布的,但是其效果確實是實現損壞部位的修復。
根據目前的資料而言,這個設計中最重要的環節在於感測器以及多功能晶體管,和其自我反饋與調整能力,它實現了維持晶元的正常運行,但肯定無法在物理級別修復已經受損的晶體管,這不科學,它不具備生成物質的能力。
簡而言之,它必須採取冗餘設計來抵消局部損壞所導致的問題,其目前的效用和性價比不會特別高,短期內不會被民用,這也不符合硬體廠商的利益,它最適應的場合是條件非常嚴酷的環境,比如軍事用途,提高武器以及設備的可用性。其最主要說的是電路的修復,使得沒被損壞的部分還能工作。
關於自我修復的電路,不是一個老話題。我了解的實現方式有幾種:
1. 在電路設計時多設計一些備份路線(冗餘設計),一旦某些線路被搞掉,啟用備份電路。
2. 使用金屬液體膠囊替代材質。當PCB上的線路被搞斷之後,金屬液體膠囊泄漏進而彌補gap。
3. 設計時使模塊與模塊之間相互獨立,有多個冗餘控制中心來管理各個模塊,如果某個模塊掛掉,則使用剩下的模塊進行工作;平時各模塊並不滿負荷工作,當可用模塊越來越少的時候,則不斷的upscale單模塊的性能,以保證同樣的性能。
做這個的是Ali Hajimiri的組, Thomas Lee(就是寫那本《Design of CMOS RF Integrated Circuits 》)的學生,早年做振蕩器Phase Noise的研究一舉成名,目前做self healing,他的學生已經遍布各大名校faculty(Harvard,Georgia Tech,etc.)。
這種self-healing和數字略有不同。數字晶元里的出錯可能是由於器件損壞或者高能粒子轟擊導致邏輯出錯,應對辦法是冗餘,例如做三個同樣器件,因為三個器件同時壞的概率要遠小於只有一個器件壞,所以可以提高可靠性。不過這個也不叫self-healing,因為整體而言邏輯並沒有壞。對於模擬器件而言,當溫度發生變化或者老化之後,器件性能會改變,原有的一些配置(例如晶體管的偏置點)也要相應改變才能實現和原來同樣的性能(比如速度、輸出功率等等)。所以用的不止冗餘,還有一個閉環迴路來自動調節電路里晶體管的工作狀況(偏置點)來使晶元性能不隨環境惡化。當然裡面會有演算法,不過和純粹冗餘還是有很大區別的(純粹冗餘演算法比較簡單,例如模三數字冗餘就是放三個邏輯器件然後採用投票機制,如果兩個算出來是1一個算出來是0那就採用「1」作為結果;這裡模擬反饋迴路比較複雜,需要調整的參數包括晶體管偏置點,電源電壓等等)。
目前做self-healing的除了Caltech的Hajimiri組以外還有UCLA的High-speed electronics lab,然後self-healing的收發機Phase I晶元大體算成功目前正在等Phase II流片。。。
不算是什麼新鮮事兒,如果你對FPGA有一點了解的話,抗SEU設計算是一種糾錯設計。
有一點可以肯定,如果只是傳統的冗餘技術不會成為新聞,期待的正解
如果是monitor環境變化,或者結果異常然後再:用redundant電路或者改變環境。我做的也可以考慮叫這個fancy的名字了。self-healing,高大上!
如果用于軍工上的破壞修復,我真完全沒概念。
智能化冗餘設計
人工智慧+SoC 不知道破壞性測試結果如何。無非是多穿了一件鎧甲。啥時候能真正做到自修復。終結者液態機器人,真正地自我修復。
推薦閱讀: