半導體技術中裝置和互連的可靠性評估通常用於技術認證和定期監測,每個工況下的樣本量相對較小(個位數到數十個)。透過對劃線測試結構進行斜坡電壓擊穿測量,可以利用大量生產數據長期評估介電可靠性。隨著時間的推移,這可以提供介電性能的詳細視圖,包括影響介電完整性的內在和外在機制的混合作用。尤其重要的是,可以檢測並解決低故障率異常值或尾部問題,否則這些問題可能會造成現場品質風險。
出於實際考慮,為了縮短測試時間並避免損壞探針卡和探針針,斜坡電壓可能會在達到目標電壓時停止,但這可能會導致少量資料點被截尾。以少量截尾資料點擬合大型資料集會導致收斂性問題,進而導致擬合參數不正確、信賴區間缺失,並帶來巨大的計算挑戰。
大家好,JMP社區的朋友們。我叫Mehul Shroff,來自德州奧斯汀市的恩智浦半導體公司。我將與JMP的Don McCormack一起,向大家介紹一項關於半導體製造中介電可靠性評估的研究。
為了引出這個主題,這裡展示的是一種稱為 MOSFET 的基本半導體電晶體的示意圖。在 MOSFET 的結構中,閘極介質用於將閘極與通道隔離,它本身就是電晶體的開關元件。閘極控制著通道中電荷載子的流動。柵極介質的完整性對於裝置在實際應用中的可靠性至關重要。我們可以透過大量生產的斜坡電壓擊穿測試來評估這一點,這種測量方法可以幫助我們檢測閘極介質中的漂移和缺陷問題。通常,這種測試是在劃線測試結構上進行的,雖然測試面積較小,但隨著時間的推移,我們可以獲得更大的樣本量。在半導體領域,我們用著名的「浴盆曲線」來描述裝置的實際應用品質。根據此曲線,觀察到的失效機率最初會隨時間推移而降低,然後又會隨時間推移而升高。這是由幾種不同的機制共同作用所造成的。
第一種可靠性機制稱為外在可靠性機制,主要針對早期失效,例如潛在缺陷和早期失效。我們可以透過在產品出貨前進行各種篩選和測試來大幅降低這種失效的發生率。第二種可靠性機制包括恆定或隨機失效,例如軟錯誤、閂鎖效應和靜電放電 (ESD)。最後一種可靠性機制是內在可靠性機制,主要關注裝置(包括介電層)隨時間推移而發生的磨損,而這種磨損會隨著時間的推移而加劇。當我們收集介電層擊穿資料時,通常希望用 Weibull 分佈來表示,因為這是理想的分佈。但實際上,我們的分佈通常是混合的,正如本資料集所示,其中可能存在由於局部減薄缺陷造成的外在尾部,而大部分資料(理想情況下)是內在或自然擊穿。但製程偏差會使情況變得複雜,例如晶圓圖所示的閘極介電層厚度在晶圓上的變化,導致內在擊穿和我們在高點看到的曲率有差異。
有些站點在我們的測試時間或最大電壓範圍內沒有故障。
為了避免探針針損壞並控制測試時間,我們會停止測試,因此,此時的數據就成了我們的參考數據。那麼,為什麼我們需要進行擬合呢?主要是因為我們希望能夠監測參數隨時間推移所發生的漂移變化。我們希望了解製程變更或改進的影響,並希望能夠預測低PPM性能,以應用於汽車等高可靠性領域。但我們發現,在嘗試擬合這些混合分佈時,經常會遇到無法收斂的問題,因此無法對工具建立信心,就像這裡展示的那樣,我們得到了標稱擬合結果,但卻無法對工具的可靠性充滿信心。這可能是由於資料集過大、分佈不完美或存在混合分佈以及資料截尾等因素造成的。以下是一個包含部分資料截尾的分佈範例,我們無法收斂。在這裡,如果我們把被審查的數據視為失敗的數據(這顯然是不正確的,但只是為了說明目的),我們能夠使其收斂。
但我們發現,擬合效果比之前略差,而且與預期中的固有分佈並不完全吻合。但這只是一個例子,旨在說明刪失資料的存在會影響我們擬合資料的能力。
這裡舉個例子,我們之前進行過製程改進,當時電晶體的閘極和源極之間出現了故障,導致外延效應非常嚴重。透過一系列製程改進,我們大幅改善了這個問題。我們可以看到,在一個資料集中,存在一些截尾點,導致無法收斂。而在另一個資料集中,由於沒有截尾點,我們能夠順利收斂。雖然從視覺上看,我們能夠看出改進,但無法從統計學角度判斷改進的具體程度。在分佈圖中,我們也可以看到相同的情況:平均值分佈略有變化,但變化不大。不過,觀察刻度和顏色漸變,我們可以發現每個位置的最小值都顯著改善了。
我們使用了與先前相同的數據,發現收斂問題依然存在。這次我們使用了不同的資料集,其中也存在兩種不同的處理方法,一種略優於另一種,但兩者都表現出明顯的拖尾現象。然而,它們的內在擬合結果卻有所不同。在這種情況下,兩種方法都使用了截尾數據,但它們最終都收斂了。為了檢驗這是否與資料集的大小有關,我們將資料集中的每個資料點放大了大約 10 倍(以保持分佈不變),並在本次分析中進行了比較。儘管截尾點的數量和資料點的總數都增加了,但模型仍然能夠收斂。基於此,我們可以排除資料集大小作為影響因素的可能性。我們認為這主要是由 Weibull 分佈的尺度因子和形狀因子造成的。
現在,我想把麥克風交給我的合著者唐,讓他繼續講下去。請開始吧,唐。謝謝。
謝謝,Mehul。我這就切換到投影片模式,我們開始討論。雖然我們是在半導體製造的背景下討論,但這其實適用於任何需要收集大量數據,且各種因素都會影響失效機制的情況。就像我說的,我們討論的是半導體數據,但這並不意味著它只適用於半導體數據。
讓我們來簡單聊聊生命分佈平台,因為我們主要就是用它。深入了解它的工作原理,以及可能導致擬合效果不佳和不收斂問題的原因。首先要說明的是,生命分佈平台的目標是最佳化一個函數,具體來說,我們關注的是似然函數。似然函數的關鍵在於,它能給出基於資料最可能或機率最高的參數估計值。這一點至關重要,因為這種方法是數據驅動的。似然函數和威布爾分佈的另一個優點是,威布爾分佈只有兩個參數:α 和 β,因此這個問題很容易用圖像來表示。
如果你看左邊的圖,它就是三維似然函數圖,X軸和Y軸分別代表β和α。我們要做的是找到最小值點,也就是這個圖的最小值。觀察這個圖,你會發現無論從圖上的哪個位置開始,無論參數空間中的初始值是多少,你都會很快收斂到那個最小值點。當數據表現良好時,收斂過程非常迅速,非常順利。現在的問題是,是什麼導致了我們在數據中看到的Mehul提到的不收斂問題?在大多數情況下,許多問題都可以追溯到資料集中那些不能代表底層模型原理的觀測值。顯然,很多人首先想到的是異常值,所以資料中可能存在導致問題的異常值。
數據可以來自多個分佈。我可能存在多種故障機制,它們都可以包含在資料集中。
公平地說,坦誠地說,為了完整起見,顯然,底層模型可能有錯誤。例如,威布爾分佈可能並非最佳分佈。我們假設,由於我們對裝置物理已有相當深入的了解,威布爾分佈確實是此案例中的最佳分佈,因此我們將忽略最後一點。那麼,有哪些可能的…考慮到我們有一些數據不具有代表性,我們可以在 JMP 的某些平台上做些什麼來幫助我們擬合更好的模型或診斷問題?更改演算法或參數值是否可行?雖然 Life Distribution 模組本身不提供此功能,但 JMP 中還有一個很棒的平台——Nonlinear,可以實現這一點。它比 Life Distribution 模組更靈活。有時遇到這些問題時,我可以使用 Nonlinear 模組。顯然,我可以找到並刪除那些不代表主要底層模型的值。 JMP 中有很多工具可以幫助我們做到這一點。
我將向您展示一個您可能不太熟悉的工具,那就是「擬合參數生存分析」。它將使用資料過濾器來尋找資料中的問題觀測值。
最後,我們可以找到並建立一個更具代表性的模型。這顯然可以使用非線性平台來實現。但是,我們將使用生命分佈平台中一個更簡單的部分——來擬合混合模型——來完成這項工作。再次簡單回顧一下這些工具。我們將了解非線性平台。我們將了解生命分佈平台下的擬合混合模型,然後我們也將了解擬合參數生存模型。
讓我來看幾個例子。我先從一個非常簡單的例子開始。我模擬了服從 Weibull 分佈的數據,所以沒什麼特別的,非常簡單直接。接下來,我要在資料中新增一個異常值。這是我模擬的包含異常值的數據。 70 萬個觀測值構成了大部分數據。其中一個觀測值是異常值,就是這裡這個。你可能會說這無關緊要,很容易就能把它從數據中剔除。然而,這確實會為 Life Distribution 平台帶來問題。
如果我使用「生命分佈」平台來運行這個模型,你會注意到有不收斂的問題。這完全是由於右尾的這個異常值造成的。遇到這種情況我該怎麼辦?事實證明,「生命分佈」平台已經幫我解決了大部分問題。我可以使用“非線性”平台來完成剩下的部分。我們打開“非線性”平台。使用「非線性」平台的一個困難在於,你必須知道對數似然函數的形式。文獻中有很多相關資料。當然,如果你認識有統計背景的人,他們可以幫你推導出這些分佈。我的資料集中有一列包含了對數似然函數。我將使用“非線性”平台。我首先會使用從「生命分佈」平台得到的參數估計值。我打算從 beta 版本 35 開始,alpha 版本 5.6 開始,然後我直接點擊「開始」。
事實證明,有了這樣的控制力,我能夠收斂並得出參數估計值。
如果我實際計算對數似然值,我發現 Life Distribution 的結果其實很接近,只是最後一步出了差錯。我使用 Nonlinear 平台來完成這一步。即便如此,仍然存在一些問題。這裡我還有另一組數據。我先給您展示一下它的圖表。這組數據看起來幾乎和第一個例子一模一樣。唯一的區別是我把那個異常值進一步向右推移了。顯然,如果我嘗試用 Life Distribution 處理這組數據,就會遇到和第一組數據相同的問題。如果我把這組資料導入 Nonlinear 並執行收斂性測試,會收到一條警告訊息,提示收斂,但有一個損失公式的結果存在缺失值。如果我儲存這些估計值,然後查看第二個例子中的那一列,就會發現,對於這兩個觀測值,也就是我的兩個區間,無法計算對數似然值。
Life Distribution 平台目前出現的問題是,當我的觀測值位於右尾非常靠外的位置時,它會破壞對數似然函數。
我沒時間詳細解釋具體發生的情況。我們的投影片中有一張圖顯示如何計算這些值可能出現的位置。但這就是當資料尾部出現那些異常值時發生的情況。
我們來看第二個例子。這裡的情況略有不同。我們不再只有一個位於尾部的觀測值,而是假設我們有兩組數據。我們有兩種失效機制。我有一個主要失效機制,它是用同一組資料模擬出來的。然後,我還有一個次要失效機制,它大約佔原始資料集觀測值的 10%。我並沒有將它們清晰地分離出來,而是得到了這樣的數據,所以我將並排條形圖更改為堆疊條形圖。本質上,我看到的是一個略微「胖」的分佈,比我預期的 Weibull 分佈要「胖」一些。假設我之前並不知道這一點,而是直接進入了 Life Distribution 平台。
結果發現,我可以擬合一個 Weibull 分佈,一個適用於這些資料的 Weibull 分佈。但是查看我的對比分佈圖,模型擬合度非常差。即使我已經收斂,模型擬合度仍然很差。假設我對工藝有足夠的了解,知道有許多失效機制。我可以進入“壽命分佈”平台,然後選擇“混合”選項。這裡我先從兩個 Weibull 分佈開始。我可以指定它們是否重疊、略微分離或完全分離。我假設它們完全重疊,這樣擬合的模型相當不錯。實際上,我還要再做一件事。我要更改座標軸,使其與 Weibull 分佈的刻度一致。好了。你可以在 JMP 中的任何圖表上執行此操作。
你會發現這個模型的擬合效果明顯更好。事實上,如果我回到頂部,我就能看到我的模型比較。我注意到,第二個威布爾分佈在我的數據中擬合得更好。
與第一種方法一樣,這種方法也存在一些失效因素。我創建了一個資料集來說明何時需要擔心以及可以採取哪些措施。在這個例子中,我得到了第二個分佈。它看起來與第一個分佈非常相似,我將它們並排放在一起進行比較。唯一的區別在於:第一,我有一些觀測值,就像在異常值的情況下,我將它們推到了更靠外的尾部。第二,這一點從圖中不太明顯,在第二個例子中,我在上尾部的觀測值要少得多,大約只有第一個資料集的百分之一。我記得在第一個模擬的第二個資料集中使用了大約 70,000 個觀測值,而在這個例子中,只有大約 1,000 個觀測值,或者可能略多於 1,000 個。因此,第二個資料集要小得多。如果我使用生命週期分佈來擬合這個資料集,那麼擬合效果實際上會更好。然而,我仍然遇到了不收斂的問題。
此外,當我嘗試擬合我的混合模型時(在本例中,我擬合了我的兩個 Weibull 模型),我遇到了不收斂的問題。
我當然可以嘗試不同的資料集,不同的觀測值組合,不同的分佈。那樣的話,我就只能像打鳥一樣到處找了。實際上,問題在於我只有這些觀測值。我只有一組數據。它位於分佈的尾部。肯定有更好的方法來建模。結果發現,由於這些數據是分離的,如果我們查看空間中這個區域的觀測值,會發現沒有觀測值。我們可以合理地假設這些觀測值可能來自我的某個分佈,而其餘的觀測值則來自我的另一個分佈。我可以這樣做。我可以分別對這兩個不同的分佈進行建模。這很簡單。我所做的就是排除並隱藏我想要的那部分資料集,然後運行相應的分佈,實際上我已經預先設定好了。你看,結果發現,在這種情況下,我已經擬合了…
讓我重新操作一下。我需要刪除、隱藏或排除我所有的觀察結果。
好了。隱藏並排除。我們再來一遍,運行一下。再來一遍。我的腳本好像出了點問題,所以我們要手動操作。我們要隱藏並排除資料。進入我的「生命週期分佈」平台,輸入範例 3 的頻率、下限和上限,然後擬合 Weibull 分佈。結果發現,當我不包含兩組數據時,這個模型確實能適合數據。這時,我可能會回頭。我可能會翻轉觀測值,重新擬合另一部分數據。當兩組數據之間有明顯的區分時,我就可以分別擬合不同的模型。接下來是第三個也是最後一個範例。這是 Mehul 好心分享給我的數據,它是真實的半導體數據,包含了所有這類數據通常會有的瑕疵、缺陷和偏差。
現在,你看,這和我們過去看到的非常不同。
我不僅有右尾的觀測值,也有左尾的觀測值。不像其他資料集那樣,我的資料沒有那麼清晰的劃分。當然,我可以隨意決定,例如用壽命分佈來擬合這些觀測值,可能只擬合頂部幾個觀測值,然後是中間部分。但這有時並不是理想的方法。我一開始就嘗試用非線性平台來擬合混合模型。你會注意到,有很多區間我無法計算似然值。所以這組數據問題很大。除了嘗試用不同的壽命分佈擬合數據集的不同部分之外,如果我能獲得更豐富的數據集,更多關於數據來源的信息,或許就能診斷出問題所在。請記住,我們這裡看到的數據大概只有兩個月左右。
數據來自多個批次、多個晶圓,包含數十萬個觀測值。因此,其中可能存在多種失效機制。
問題是,這組數據中是否存在某些部分確實導致了問題?我已經做了一些工作,現在讓我打開資料集。再次感謝 Mehul 分享這些信息,由於擬合時間有限,我只使用了部分數據。但這是原始數據。這裡有兩個不同的版本。我這裡有四個不同的批次。每個批次包含幾片到十幾片晶圓不等。問題是,問題出在哪裡?我將使用一個平台,希望您熟悉。如果不熟悉,它在“分析”選單下的“可靠性和生存分析”中,選擇“擬合參數生存分析”。如果您熟悉“擬合模型”,它看起來與“擬合模型”非常相似。我可以像設定光分佈一樣設定它,在存在區間刪失時,我可以設定下限和上限。與擬合模型不同,我不僅可以指定我的位置因素(即影響資料中心位置的因素),還可以指定影響資料分佈程度(即尺度)的因素。
我已經設定好了。我打算使用這個非常簡單的模型,運行“擬合參數生存分析”。運行後,你會立刻注意到有很多缺失值。這是因為模型沒有收斂。這個平台的好處在於,我可以使用資料過濾器來診斷這個問題。接下來,我將進入資料過濾器,我把它設定為條件資料過濾器,然後點擊“新建”,你會注意到所有新批次的資料都有估計值。只有舊批次的資料有問題。讓我再深入分析一下。如果我查看AAA批次,就會發現問題所在。我知道問題出在這個批次的某個地方。我來看晶圓一。看起來沒問題。晶圓二、三。這就是我的問題之一。
第四片晶圓出了問題。現在,我或許可以把它拿出來。我或許可以用我們目前使用過的所有工具來檢查一下。
我可能得重新查看我的數據存儲,看看這批晶圓的處理方式是否還有其他特殊之處,導致它與其他批次不同?但這批晶圓確實不一樣。我檢查了其他晶圓,除了最後這片之外,其他都沒問題。第 15 片晶圓也有問題。不過,這種方法的妙處在於,我有一個診斷工具,如果我能獲得更豐富的資料來源,就可以更深入地分析資料。
讓我們總結一下。總而言之,大規模可靠性數據在半導體產業很常見。它是確定偏差的寶貴工具,尤其是在產品品質高、缺陷率極低(ppm級)的情況下。如我們所見,分佈非常複雜,通常包含多種失效機制和多種分佈。因此,我們需要依賴一些略微新穎的擬合方法,不僅能夠擬合模型,而且能夠為這些數據擬合合理的模型,並有可能診斷出數據中存在的問題。一如既往,或許也是最重要的,專業知識至關重要,它能夠告訴我們,根據歷史經驗和工藝知識,這才是我們應該朝著哪個方向前進的最佳途徑。
感謝您抽出時間,希望您能從這次演講中有所收穫。謝謝。