異構(gòu)設(shè)計(jì)、定制和日益增加的復(fù)雜性帶來了很多硬件錯(cuò)誤。
將芯片分解為專門的處理器、存儲(chǔ)器和架構(gòu)對于持續(xù)改進(jìn)性能和功率變得必不可少,但它也會(huì)導(dǎo)致硬件中異常且通常不可預(yù)測的錯(cuò)誤,這些錯(cuò)誤極難發(fā)現(xiàn)。
這些誤差的來源可能包括任何事情,從特定序列中的定時(shí)錯(cuò)誤到封裝中芯片之間的鍵合間隙。隨著不同芯片或小芯片中的電路以不同的速度老化,以及隨著各種類型的壓力將潛在缺陷變成真正的缺陷,它們會(huì)隨著時(shí)間而改變。因此,計(jì)算有時(shí)可能會(huì)產(chǎn)生錯(cuò)誤的結(jié)果——但并非每次都如此。如果互聯(lián)網(wǎng)搜索結(jié)果錯(cuò)誤或流媒體視頻出現(xiàn)輕微故障,這不會(huì)引起注意,但當(dāng)涉及金融交易、汽車安全或軍用無人機(jī)制導(dǎo)系統(tǒng)時(shí),它的重要性就完全不同了。
這些類型的問題并不是全新的。有關(guān)該主題的技術(shù)論文在 2000 年代初期開始出現(xiàn),討論了芯片中的意外行為和偶發(fā)故障。然而,他們現(xiàn)在已經(jīng)達(dá)到了一個(gè)臨界點(diǎn),問題已經(jīng)足夠嚴(yán)重,數(shù)量也足夠多,值得關(guān)注。但出于多種原因,如何處理它們并不總是很清楚。他們之中:
有更多的組件密集地封裝在芯片上和封裝中,其中一些具有更薄的金屬層和電介質(zhì),以及更多的互連。這使得很難預(yù)測工藝變化、潛在和實(shí)際缺陷,甚至量子效應(yīng)會(huì)在何處引起問題,或者以什么順序引起問題。
先進(jìn)節(jié)點(diǎn)芯片正被用于比過去利用率更高的系統(tǒng)中,特別是在數(shù)據(jù)中心和人工智能應(yīng)用中。這會(huì)增加這些設(shè)備上的機(jī)械和電氣應(yīng)力,從而影響信號質(zhì)量和時(shí)序。除此之外,其中一些系統(tǒng)被設(shè)計(jì)為更長的生命周期,需要定期的軟件更新,這可能會(huì)導(dǎo)致一些硬件組件隨著時(shí)間的推移表現(xiàn)不同。
設(shè)計(jì)變得更加異構(gòu)和更加定制化,增加了特定設(shè)備獨(dú)有的可能交互的數(shù)量。此外,這些設(shè)備越來越多地使用在不同工藝節(jié)點(diǎn)開發(fā)的組件,有時(shí)由不同的代工廠制造,并非所有這些組件都具有相同的特征。
所有這些都增加了復(fù)雜性,使得所有極端情況變得更加困難、耗時(shí)和昂貴。
Synopsys研究員 Rob Aitken 說:“我們現(xiàn)在觀察到的這些問題是因?yàn)槲覀儞碛辛烁蟮男酒透玫膬x器,還是因?yàn)檫@是一種新的東西,存在疑問。”“無論哪種情況,這是可以在制造時(shí)識(shí)別的東西,還是識(shí)別它的行為會(huì)影響經(jīng)濟(jì)收益?我最近和 IBM 的某個(gè)人參加了一個(gè)座談會(huì),他說這就是大型機(jī)如此昂貴的原因。它們旨在尋找每一個(gè)可能的問題?!?/p>
懸而未決的問題是,這是否會(huì)成為對安全關(guān)鍵和任務(wù)關(guān)鍵硬件的要求。如果是這樣,解決它的最佳方法是什么。如果一切都必須完美,那將對產(chǎn)量和成本產(chǎn)生影響。但是,如果可以通過在系統(tǒng)中設(shè)計(jì)彈性來解決其中的一些問題,它可能有助于控制成本。
完美與彈性
愛荷華大學(xué)、百度安全和阿貢國家實(shí)驗(yàn)室聯(lián)手創(chuàng)建了 MinpSID(多輸入硬化選擇性指令復(fù)制),它識(shí)別“跨多個(gè)輸入的難以捉摸的錯(cuò)誤傳播”。在一份新發(fā)布的技術(shù)論文中,研究人員聲稱已經(jīng)找到了一種提高可靠性并識(shí)別導(dǎo)致這些錯(cuò)誤的“孵化指令”的方法。
圖 1:孵化說明示例。來源:阿貢國家實(shí)驗(yàn)室/愛荷華大學(xué)
這是這個(gè)謎題的一部分。但到目前為止,還沒有單一的可重復(fù)解決方案,而且未來是否會(huì)出現(xiàn)也不明顯。事實(shí)上,解決方案可能是特定于設(shè)計(jì)的,有時(shí)甚至是違反直覺的。
Movellus的電源架構(gòu)師 Barry Pangrle 說:“我們看到一個(gè)案例,人們在構(gòu)建電路時(shí),在某些情況下,你可以對不同的計(jì)算組合進(jìn)行統(tǒng)計(jì)分析,但有時(shí)會(huì)出現(xiàn)此錯(cuò)誤?!薄八麄兯龅氖菈旱碗妷?。他們知道它不會(huì)一直都符合時(shí)機(jī),而且它會(huì)得出的結(jié)果基本上是誤報(bào)。他們將其用作篩選器以找到好的結(jié)果,并采用較小的集合并在真正強(qiáng)大的系統(tǒng)上運(yùn)行它。現(xiàn)在的問題是一切都變得越來越復(fù)雜。隨著電路變老,它們往往會(huì)變慢。所以現(xiàn)在,從健康的角度來看,我們需要研究老化的技術(shù),監(jiān)控事物,有延遲循環(huán)和類似的東西,看看它是否隨著時(shí)間的推移而漂移?!?/p>
防止這些偶發(fā)錯(cuò)誤需要首先了解它們的來源。但隨著定制芯片或小芯片的集合以及獨(dú)特架構(gòu)的加速推出,這是一項(xiàng)非常重要的工作,可能會(huì)推高總體開發(fā)成本。雖然其中一些問題可以事后用軟件解決,但如果硬件本身是可編程的,它會(huì)更有效。這為設(shè)計(jì)增加了一定程度的彈性,以適應(yīng)任何問題,而不會(huì)因修復(fù)軟件問題而影響功率/性能。
Flex Logix的 CEO Geoff Tate 說:“第一件事就是檢測出什么時(shí)候會(huì)出問題,然后再出問題?!薄暗诙率菫榇俗鳇c(diǎn)什么。如果出現(xiàn)問題,你需要進(jìn)行補(bǔ)償——就像人腦一樣。大腦中的神經(jīng)元一直在死亡,但我們的通路可以再生。人們可能會(huì)對他們的大腦造成非常嚴(yán)重的損害,但大腦的其他部分可以隨著時(shí)間的推移重新編程以彌補(bǔ)它。現(xiàn)有的芯片不能那樣工作。唯一可以彌補(bǔ)它的是處理器或 FPGA,它可以通過編程來做不同事情的東西。”
弄清楚何時(shí)以及為什么會(huì)出現(xiàn)錯(cuò)誤是值得花時(shí)間的,但在某些情況下,這可能意味著很多時(shí)間。Google 和 Meta 檢測到的靜默數(shù)據(jù)錯(cuò)誤花了一年多的時(shí)間來追溯根本原因。并且通常在開發(fā)出整個(gè)芯片或封裝或在現(xiàn)場使用時(shí)才會(huì)出現(xiàn)問題。
Imperas Software首席執(zhí)行官 Simon Davidmann 表示:“構(gòu)建這些東西并將其整合到設(shè)備中的所有物理機(jī)制都存在挑戰(zhàn)?!薄白鳛橐粋€(gè)行業(yè),你還面臨著如何在運(yùn)行時(shí)驗(yàn)證整個(gè)事物的挑戰(zhàn)。我們剛剛開始與一些公司在 SoC 級別進(jìn)行合作,然后它會(huì)進(jìn)入系統(tǒng)級別。但這是一個(gè)涉及系統(tǒng)系統(tǒng)的漫長而緩慢的過程?!?/p>
任何可以預(yù)先做的事情來找出潛在的問題都是有益的,這可能涉及物理和虛擬因素。
“熱分析發(fā)揮了作用,”是德科技副總裁兼總經(jīng)理 Niels Faché 說?!叭绻娐钒搴?IC 中有熱點(diǎn),隨著時(shí)間的推移,它會(huì)對設(shè)備的性能產(chǎn)生影響并導(dǎo)致其故障。我們看到越來越多的人重視熱分析,并且我們在其中添加了熱建模,因?yàn)檫@會(huì)改變電氣性能。機(jī)械分析可能也是如此。你可能會(huì)在電路板上發(fā)生變形,從而改變電氣參數(shù)。”
熱量對芯片或系統(tǒng)的行為方式構(gòu)成嚴(yán)峻挑戰(zhàn)。“你必須密切關(guān)注熱梯度,”Ansys 半導(dǎo)體部門產(chǎn)品營銷總監(jiān) Marc Swinnen說?!斑@給出了不同的擴(kuò)張。即使堆疊的頂部和底部之間只有 25° 的差異,考慮到這些設(shè)備的極薄,我們談?wù)摰氖敲坷迕?10,000° 或該范圍內(nèi)的某個(gè)值。對于這么短的距離,這是一個(gè)巨大的溫度梯度,這會(huì)導(dǎo)致相當(dāng)大的壓力。”
制造和封裝缺陷
并非所有錯(cuò)誤都是由于設(shè)計(jì)造成的。它們可能由設(shè)計(jì)到制造流程中任何一點(diǎn)的任何因素組合引起。事實(shí)上,它們可能表現(xiàn)為被認(rèn)為是良性的潛在缺陷,例如納米級缺陷,或者它可能是在檢查和測試中被忽視的缺陷。并且其中一些缺陷可能要等到設(shè)備開始老化后才會(huì)顯現(xiàn)出來。
Cadence數(shù)字與簽核集團(tuán)產(chǎn)品管理副總裁 Kam Kittrell 表示:“尤其是現(xiàn)在的 5nm,老化正在影響時(shí)序,所以你已經(jīng)有了這些如何老化的模型”.“但是你怎么知道它在外面放了五年之前會(huì)如何老化呢?這意味著你必須仔細(xì)檢查這樣的事情。此外,如果你發(fā)現(xiàn)一個(gè)特殊的案例失敗了——可能是軟失敗,比如偶爾翻轉(zhuǎn)一下——這不是制造缺陷,但你可以在制造測試中做一些事情。你可以返回并使用已知的壞芯片重新進(jìn)行制造測試,然后將測試分散到每個(gè)單元以查看鏈中是否存在薄弱環(huán)節(jié)。這有很多好處。云計(jì)算與汽車一起推動(dòng)了這一點(diǎn),因?yàn)楝F(xiàn)在汽車領(lǐng)域的復(fù)雜性已經(jīng)超出了圖表。你的儀表盤上到處都有超級計(jì)算機(jī)在運(yùn)行,當(dāng)他們的汽車不能工作時(shí),人們會(huì)很不安?!?/p>
更糟糕的是,隨著芯片或小芯片被引入并堆疊在先進(jìn)的封裝中并被大量使用,或者由于這些設(shè)備中的任何一個(gè)以它們最初設(shè)計(jì)目的以外的方式使用,潛在的缺陷可能會(huì)變成真正的缺陷。并非所有這些都可以修復(fù),但可以在它們成為問題之前識(shí)別出來。
“潛在缺陷更多地與熱機(jī)械方面有關(guān),”proteanTecs業(yè)務(wù)發(fā)展高級總監(jiān) Nir Sever 說. “微凸塊可能有裂縫或空隙。車道可以有橋梁短褲。TSV 可能有裂紋、部分填充或側(cè)壁分層。由于模具不完美,會(huì)發(fā)生許多物理缺陷。但即使它們是完美的,當(dāng)你開始組裝過程時(shí),也有很多潛在的故障點(diǎn)。在典型的 HBM 中,大約有 10,000 條不同的通道。如果其中一個(gè)有缺陷,除非修復(fù),否則該 SiP 將無法工作。所以你已經(jīng)放下了所有這些微凸塊,你必須將它們組裝起來,使它們?nèi)拷佑|。如果其中只有一個(gè)有缺陷,芯片變形,或者材料移動(dòng)了一點(diǎn)并且沒有完全對齊,你將獲得影響信號質(zhì)量的電阻行為?!?/p>
挑戰(zhàn)在于找出可能發(fā)生的地點(diǎn)和時(shí)間,以及如何準(zhǔn)確識(shí)別問題。
“所以首先你必須能夠測試,因?yàn)楫a(chǎn)量不是 100%,”Sever 說?!昂苡锌赡苤辽儆幸粭l車道在組裝后會(huì)出現(xiàn)缺陷。其次,因?yàn)樗诶匣阈枰诋a(chǎn)品的整個(gè)生命周期中,在現(xiàn)場和任務(wù)模式下持續(xù)監(jiān)控接口。如果它從一開始就處于邊緣狀態(tài),因?yàn)榇嬖谖串a(chǎn)生測試失敗的潛在缺陷,隨著時(shí)間的推移它會(huì)退化。
最終,時(shí)序余量或眼圖將開始閉合,你將在總線上遇到錯(cuò)誤。這是一場災(zāi)難,因?yàn)榕c在具有糾錯(cuò)機(jī)制的 SERDES 中不同,在典型的 D2D 中你沒有。協(xié)議中不一定內(nèi)置糾錯(cuò)功能。你假設(shè)誤碼率幾乎為零,就像常規(guī) I/O 一樣。這將導(dǎo)致數(shù)據(jù)錯(cuò)誤,表現(xiàn)為靜默數(shù)據(jù)損壞,沒有人真正知道它們來自哪里。但事實(shí)是,數(shù)據(jù)開始在芯片內(nèi)部某處損壞,你必須有辦法從內(nèi)部進(jìn)行測量,可視化數(shù)據(jù),理解它,然后能夠追蹤根本原因并修復(fù)它。”
提高彈性
這就是彈性發(fā)揮作用的地方,而內(nèi)存行業(yè)在這方面一直遙遙領(lǐng)先。例如,眾所周知,NAND 閃存會(huì)隨著時(shí)間的推移而退化。在它不再工作之前,你只能向閃存寫入這么多內(nèi)容。
Flex Logix 的 Tate 說:“有一些磨損均衡算法可以在其中多放 30% 的位,這樣它們就可以在 10 年以上可靠地工作?!薄暗麄儽仨氃谒鼈冏儔闹罢业竭@些位,然后換上仍然好的位。對于彈性邏輯設(shè)計(jì),你將需要嵌入式 FPGA 之類的東西,其中你有一些可用的未編程計(jì)算能力,可以承擔(dān)系統(tǒng)其余部分出現(xiàn)故障的任何內(nèi)容。所有芯片都有錯(cuò)誤。有一些錯(cuò)誤會(huì)殺死芯片,因此它無法正常工作。有bug導(dǎo)致性能不好,所以無法發(fā)貨。還有各種你可以解決的錯(cuò)誤。在我們的芯片中,我們有一個(gè)無法解決的錯(cuò)誤,除了我們在處理器總線上有 4,000 個(gè)嵌入式 FPGA 查找表之外。我們能夠在該查找表上編寫一些 RTL 代碼,以彌補(bǔ)芯片其余部分中的錯(cuò)誤。然后我們可以運(yùn)送芯片,而客戶并不知道我們以這種方式修補(bǔ)了它?!?/p>
大多數(shù)彈性解決方案都依賴于某種程度的冗余。這可以包括可編程性,這減少了對全新電路的需求,它可以包括軟件,它效率低下但重新編程容易且相對便宜。在所有情況下,都會(huì)有一些開銷。關(guān)鍵是在選擇在功率、性能和面積/成本方面進(jìn)行權(quán)衡時(shí),將其保持在最低水平。因此,如果面積/成本至關(guān)重要,則添加在線監(jiān)控可以代替添加的電路。如果功率至關(guān)重要,那么冗余可能會(huì)以可重新編程邏輯的形式出現(xiàn)。如果性能是最關(guān)鍵的因素,則可以添加額外的電路并根據(jù)出現(xiàn)問題的位置動(dòng)態(tài)打開和關(guān)閉。
“這最終是一個(gè)經(jīng)濟(jì)學(xué)問題,”Siemens Digital Industries Software的 Tessent Embedded Analytics 產(chǎn)品經(jīng)理 Richard Oxland 說. “無聲數(shù)據(jù)錯(cuò)誤給我們造成的損失是否超過了擁有冗余計(jì)算的硅片成本?這是一個(gè)大多數(shù)半導(dǎo)體公司無法回答的問題,因?yàn)檫@是一個(gè)系統(tǒng)級問題。它需要更好地了解靜默數(shù)據(jù)錯(cuò)誤的經(jīng)濟(jì)影響。如果你想想 Meta、谷歌或 AWS,那很快就會(huì)變成非常高度專有的信息。如果這些要求變得有意義,這些人將開始降低這些要求。我們可能并不總是知道這一點(diǎn),因?yàn)樗麄冋谠O(shè)計(jì)自己的芯片。所以在你的系統(tǒng)中,你可以在那里有一些冗余?;蛘咴?NoC 中,你可以做一些聰明的事情,比如路由來避免問題?!?/p>
不過,這增加了另一層復(fù)雜性,因?yàn)閺?fù)雜設(shè)計(jì)中不只有一個(gè) NoC??梢杂泻芏?,需要在整個(gè)系統(tǒng)的上下文中查看它們?!叭缓竽惚仨氶_始處理 NoC 之間的時(shí)序,因?yàn)樗鼈儧]有完全同步,”Arteris IP解決方案和業(yè)務(wù)開發(fā)副總裁 Frank Schirrmeister 說?!澳惚仨毺幚硗庠O(shè)連接的時(shí)序,以及各種時(shí)鐘域交叉?!?/p>
Schirrmeister 說,在這幅圖景中增加彈性是一項(xiàng)挑戰(zhàn),但使用分而治之的策略比試圖立即解決整個(gè)問題更容易使各個(gè)部分具有彈性?!澳悴幌胪瑫r(shí)處理一堆信號。因此,如果你正在查看安全說明,例如,你可以添加檢查器以確保其正常運(yùn)行?!?/p>
彈性在汽車領(lǐng)域引起了廣泛關(guān)注,該領(lǐng)域的芯片被用于對安全至關(guān)重要的應(yīng)用,并且法規(guī)要求進(jìn)行某種形式的故障轉(zhuǎn)移。“汽車行業(yè)一直對其半導(dǎo)體的可靠性充滿熱情,”O(jiān)xland 說。“一些大型供應(yīng)商在這個(gè)領(lǐng)域活躍了一段時(shí)間,比如 NXP 等——非常擅長這類事情。該應(yīng)用程序的復(fù)雜性可能略低,因?yàn)槲覀冋務(wù)摰氖?ECU。但總的來說,它們的部署數(shù)量巨大——盡管它們在運(yùn)行方式方面更具確定性。由于大規(guī)模運(yùn)行非常高度并行化的工作負(fù)載的復(fù)雜性,我們現(xiàn)在看到了靜默數(shù)據(jù)錯(cuò)誤的問題,所以它更像是一個(gè)新問題。
極端的權(quán)衡
當(dāng) Cerebras 開發(fā)其晶圓級芯片時(shí),它認(rèn)識(shí)到?jīng)]有任何東西可以 100% 地產(chǎn)出,并且芯片的某些部分——從整個(gè)晶圓上切下的 800 平方毫米的正方形——會(huì)以不同于其他部分的方式老化,并且潛在的缺陷會(huì)變成真正的缺陷。
“從歷史上看,DRAM 實(shí)現(xiàn)非常高產(chǎn)量的方式是擁有冗余的位單元行和列,”Cerebras 的首席執(zhí)行官安德魯費(fèi)爾德曼說?!拔覀冇?850,000 個(gè)相同的可編程元件,這是一個(gè)核心加內(nèi)存加一個(gè)小路由器。它用電線連接到下一個(gè)。每個(gè)可編程元素都與其四個(gè)鄰居中的每一個(gè)相關(guān)聯(lián),并通過冗余鏈接與其鄰居的鄰居相關(guān)聯(lián),從而使其能夠與其鄰居對話。我們所做的是構(gòu)建一個(gè)測試芯片,并與臺(tái)積電合作處理他們的良率數(shù)據(jù)。如果代工廠在控制范圍內(nèi)工作,你應(yīng)該擁有的是隨機(jī)分布的缺陷。這樣一來,冗余應(yīng)該可以讓你找出缺陷。所以當(dāng)我們說我們有 850,000 個(gè)核心時(shí),我們實(shí)際上有 870,000 個(gè)左右的核心,因?yàn)槲覀儗⒈A舸蠹s 1.5%?!?/p>
圖 3:晶圓級芯片內(nèi)置約 1.5% 的冗余度。
費(fèi)爾德曼說,其他關(guān)鍵部分是在映射之前燒入,并將芯片暴露在超出規(guī)范的溫度下。“從那里開始,自檢會(huì)檢查每個(gè)核心以及每個(gè)核心之間的每條電線的行為,”他說。“如果失敗,它會(huì)激活繞過路由協(xié)議并重新進(jìn)行自檢。所以有一個(gè)硬件自檢在啟動(dòng)時(shí)運(yùn)行,然后定期運(yùn)行?!?/p>
雖然這對大多數(shù)應(yīng)用程序來說仍然不切實(shí)際,但它確實(shí)證明了一點(diǎn)。通過足夠的努力和創(chuàng)新,這些問題中的大部分都可以得到解決。挑戰(zhàn)在于確定應(yīng)用程序可接受的權(quán)衡,然后真正理解這些權(quán)衡實(shí)際上需要什么。在當(dāng)今的硬件和系統(tǒng)設(shè)計(jì)中,并非所有這些都是顯而易見的。
結(jié)論
所有這些都指向一個(gè)更廣泛的問題,即管理由于更密集的電路、更多的定制和功能、新材料和不同的使用模式而導(dǎo)致的復(fù)雜性增加的能力。結(jié)果,未知數(shù)呈爆炸式增長。并非所有這些都可以被完全理解或調(diào)試,但對于許多應(yīng)用程序來說,這是可以接受的。但對于任務(wù)關(guān)鍵型和安全關(guān)鍵型應(yīng)用程序,故障規(guī)劃至關(guān)重要。
不可能在緊迫的市場窗口內(nèi)抓住一切,但只要有足夠的時(shí)間和努力,似乎可以制造出能夠應(yīng)對大多數(shù)問題的芯片。毫無疑問,需要在更多芯片中構(gòu)建彈性。解決方案這是一個(gè)如何以可接受的價(jià)位獲得足夠彈性的問題。芯片行業(yè)才剛剛開始認(rèn)真看待這個(gè)問題。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19896瀏覽量
235345 -
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618662 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167447 -
SID
+關(guān)注
關(guān)注
0文章
16瀏覽量
3189
原文標(biāo)題:怎樣查找芯片設(shè)計(jì)中的偶發(fā)錯(cuò)誤?
文章出處:【微信號:ICViews,微信公眾號:半導(dǎo)體產(chǎn)業(yè)縱橫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
一種可在線更新的PET實(shí)時(shí)查找表電路的設(shè)計(jì)與實(shí)現(xiàn)
一種使用無源RFID替代EEPROM代碼芯片來存儲(chǔ)血糖試紙的方法介紹
嵌入式C語言程序軟件中的缺陷怎么查找?
一種利用調(diào)試軟件Valgrind進(jìn)行嵌入式應(yīng)用程序錯(cuò)誤查找的技術(shù)
介紹一種嵌入式系統(tǒng)仿真方法
一種系統(tǒng)芯片的功能測試方法
一種查找最新數(shù)據(jù)地址的方法
抗突發(fā)錯(cuò)誤的短碼長隨機(jī)LDPC碼設(shè)計(jì)
一種錯(cuò)誤簽名混合篩選算法
干貨 | 電機(jī)控制器出現(xiàn)的一種偶發(fā)故障排查與分析

使用靜態(tài)分析查找并發(fā)錯(cuò)誤

使用靜態(tài)分析查找并發(fā)錯(cuò)誤

評論