我的專案涵蓋了半導體晶圓溶液塗覆製程及其參數最佳化。目標是提高塗覆厚度的一致性,並最大限度地降低厚度標準偏差,從而在晶圓整個表面實現更均勻的厚度測量。 JMP 中使用的工具包括 DOE(實驗設計)、最小二乘擬合分析以及包含雜訊/標準偏差模擬器的參數分析器,以找到最佳參數設定。
我是Nicholas,美敦力公司的工程師,我常使用JMP軟體。本次演講,我將重點介紹自旋編碼及其相關技術,以及我們如何利用JMP構建實驗設計(DOE),並建立擬合模型,以了解如何使用輪廓儀,以及如何優化晶圓塗層的厚度,使其達到目標厚度。
正如我剛才所說,作為引言,本次示範我們將使用 JMP 軟體來分析半導體編碼。這項技術的工作原理,正如您在左上角的示意圖中所看到的,是將一種溶液集中塗覆到晶圓上。晶圓放置在一個旋轉的基座上,這種旋轉方式稱為旋塗。我們設定了不同的程序,使旋轉器以特定的速度運行特定的時間。
通常我們的操作流程是,先進行一個低速初步步驟,將溶液均勻塗抹在整個表面上。然後,我們可以提高速度並延長持續時間,根據設定的速度,我們可以控制塗層的厚度。
本實驗的目的,也是我們希望在實驗設計 (DOE) 中定義的,是利用實驗設計來針對不同的厚度,了解不同旋塗速度和分配體積的製程視窗如何影響我們的編碼層,包括整個晶圓表面的均勻性和輸出厚度。
您可以看到右側這裡列出了我們輸入的不同因素。我們將進行一個六因素實驗設計(DOE)。我們會設定一些低值和高值,稍後在示範中我會詳細講解這些值以及它們在實驗設計中的實際應用。但本質上,我們嘗試使用這些視窗建立模型,力求獲得較高的R平方值,R平方值可以反映模型預測異常值的有效性,然後利用R平方值來調整和優化某些輸出參數,例如厚度,並盡可能降低表面或均勻性方面的差異。
等演示開始後,我們會更深入地講解這些內容。但您可以看到左側的圖表,它大致顯示了塗層厚度的大致情況。我們嘗試使用等高線圖來盡可能地平滑塗層厚度。我們可以看到表面上可能存在的高點或低點。接下來,我們進入擬合模型,基本上就是我們將所有來自實驗設計(DOE)的數據繪製成圖表的內容。我認為這裡存在一些堆積,所以才會出現較大的範圍。此外,我們製造的晶圓中也存在一些異常值。我會在下一張投影片中詳細介紹這些異常值。
但實際上,JMP 會根據這些執行和分析結果產生輪廓分析器,然後您可以設定期望值,例如,我希望厚度達到 10 微米或 10,000 奈米,就像您在這裡看到的那樣。此外,我們還需要調整一些因素,以最大限度地減少晶圓表面的標準差。稍後我會更詳細地講解這一點。
這裡簡單概述一下實驗設計(DOE)。把這六個因素的低值和高值加起來,我們會產生一個包含所有實驗運行結果的表格。這是我們進行的運行和執行過程。實際上,我現在可能要開始演示了,打開JMP。稍等一下。如果我要一步步講解如何進行DOE,我們通常會……稍等片刻。經典的……不,抱歉。自訂DOE。它就在頂部。
這個參數會彈出一個表格,您可以在其中輸入輸出和輸入。在這個建構中,我們設定了厚度目標。我添加的是一個針對輸出的響應。我希望匹配特定的厚度。這就是我們的回應名稱:厚度,符合目標。我們的下限是 8000 奈米,上限是 12000 奈米。這些是我們塗層深度的單位(以奈米為單位)。我可以加上一個 M 來表示單位。
接下來,我們還要考察均勻性。我會查看晶圓厚度測量值的標準差,我們稱之為均勻性。我們希望盡可能降低這個偏差。標準差越大,就代表晶圓厚度變化越大。目前我們還沒有一個具體的單位來衡量這種差異。
現在我們來看看這些因素。對我們來說,我們有六個不同的連續因素。包括點膠量、點膠旋轉速度。我們會一邊旋轉晶圓一邊進行點膠。我們會一邊旋轉晶圓一邊將溶液均勻地點在晶圓中心。我們有第一次旋轉(速度)、第二次旋轉(時間)、第二次旋轉(速度)和第二次旋轉(時間)。這一步驟包含三個步驟。首先是點膠、旋轉,也就是第一次旋轉,我們之前討論過如何將溶液均勻塗抹在晶圓上。然後是第二次旋轉,這是我們真正關注和專注控制的……哦,不,抱歉。我道歉。
點膠速度是指溶液在晶圓上的點膠或分散速度。第一次旋轉是我們原本的目標,我們會加快速度,力求達到特定的厚度,這對控制厚度至關重要。第二次旋轉,也就是最後幾秒鐘的快速加速,主要是為了去除晶圓邊緣的殘留溶液。實際上,就是快速甩動晶圓,去除邊緣多餘的溶液。
這次我盡量快速地講解一下。我們先用 8.5 毫升到 10.5 毫升的溶液攪拌。轉速從 100 轉/分鐘到 400 轉/分鐘不等,目的是讓溶液均勻分佈。然後,我們把轉速提高到 500 到 700 轉/分鐘,以達到所需的厚度。攪拌過程中,溶液會甩出一些,使其變稀。這個過程需要 40 到 60 秒。
最後,我們測試了極快的轉速。至少在這次測試開始之前,我們並不知道該使用什麼轉速。我們嘗試了 1200 到 2400 RPM 的較大範圍,但這僅僅是在兩秒或六秒的時間間隔內進行的。我們設定的工藝窗口相當大。我們預期在一些極端情況下會產生非常顯著的結果。但基本上,這就是我們設定實驗設計、X 軸和 Y 軸的方式。我點擊繼續。
我會快速地把單位換算進去。我們會用每秒轉數和時間來表示速度,時間單位是……抱歉,應該是每分鐘轉數,時間單位是秒。體積單位是毫升。同樣,速度單位是每分鐘轉數。通常我會新增一個二級交互項,以增強模型的穩健性。這樣也能更好地理解各個變數之間的相互作用。你可以繼續增加三級和四級交互項,但這有點過於複雜了。我們這次的模型不需要那麼多。
在我們的建造過程中,最終我們選擇了 24 片晶圓。 JMP 的優點在於它會告訴你所需的最小晶圓數量以及預設值。在半導體產業,我們使用裝有每片晶圓的卡盒,每個卡盒一次最多可容納 24 片晶圓。我們最終選擇的 24 片晶圓數量介於預設最小值和 24 片之間。這完全符合我們設備的裝載方式。我可以進行設定。我們將使用 24 片晶圓完成整個實驗設計 (DOE),然後您就可以產生設計了。
JMP 很快就會完成計算,並產生一個包含所有參數和結果列的表格。您可以看到,表格中包含運行順序(1-24)以及我們設定的每個參數。首先,我們會運行第一個晶圓,並希望運行每個控制參數;然後,同樣地,我們會對所有 24 個晶圓重複此操作。接下來,您也可以查看功耗分析,以了解該工藝的強度。功耗在 60 左右,雖然還可以更高一些,但對於我們這次初始製程視窗分析的需求來說已經足夠了。
我要點擊“生成表格”。運行順序是隨機的,然後就會產生這個表格。表格裡包含了所有因子,就像上一個表格裡顯示的那樣,然後它會給出厚度輸出和標準差這兩個選項。我不小心添加了第三個因子,我之前沒注意到。我們暫時可以忽略它。但厚度和標準差都是輸出。
如果我使用我們已經運行過的數據,結果如下。我們有晶圓的平均厚度以及這些晶圓的標準差。現在,這只是該資料集的平均值。我們實際收集到的數據點大約是每片晶圓 1400 個。數量相當多。我可以在這裡展示一個包含所有數據點的大型表格。
我的設定是這樣的:我們這裡有六個控制因子,晶圓的實際厚度數據點作為晶圓的 X 軸和 Y 軸,然後是平均輸出和這些晶圓的標準偏差。接下來,我通常喜歡把它當作 PGA 捲材。實用、圖形化、分析性兼具。
首先,我們來實際操作一下,看看所有的資料集。如果我給你們展示一下我們表面輪廓的等高線圖(之前幻燈片已經展示過了),那麼每個數據點都是一個XY座標測量值,用來測量厚度。我們在整個晶圓上收集了大量數據,但我們知道,在某些邊緣點附近存在一些非關鍵區域。這些區域沒有需要從晶圓上切除的關鍵組件。我們可以排除這些數據點。
我已經檢查並排除並隱藏了一些非關鍵數據點。一個簡單的方法是,當系統首次顯示資料時,您可以點擊這個小小的標題圖表,它會顯示每個列的總計表。接下來,您需要檢查所有晶圓 ID。您可以查看是否存在任何異常值。這有助於您清理數據,找出已知的異常值或缺陷。
接下來,我們會進入圖形介面。我會選擇“圖形”>“圖形產生器”。在這裡,我們會查看整個晶圓的表面輪廓。我們有了XY座標,然後我會查看厚度。我會將每個數據點的顏色設為厚度,然後將其變更為等高線。現在,它正在查看我們所有的晶圓。我會在視窗中輸入晶圓ID,這樣就能看到所有已生產的晶圓,從1到24。我可以在這裡看到它們的所有分類。
從這個實驗設計(DOE)圖中可以看出,厚度範圍相當大。根據目標控制因素的設置,厚度從 2000 奈米到 13000 奈米不等。但我們真正關注的是確定不均勻性最明顯的區域。可以看到,晶圓中心部分的厚度明顯較厚,而外圍部分則薄得多。這可能意味著該區域的均勻性不太好。
另一種測試方法是,我們可以進入「分析」選單,我記得是在「分析」選單下。我要建立一個單獨的圖表。我得記住這個工具放在哪裡了。找到了。 「控製圖產生器」。有了它,我們可以把厚度當作Y軸,也可以設定晶圓ID。哦,抱歉,不是晶圓ID。好吧,那就這樣吧。然後我要縮小範圍,大概…我們試試10000或11000。零。好的,我需要把它調高一點。我們調到15000左右。因為我記得我們最大的晶圓尺寸是13。
您可以看到,每片晶圓之間的資料都是按批次劃分的,您可以看到資料點的分佈情況……有些晶圓的均勻性很差,有些則稍好一些。為了節省時間,我打算調出一張之前已經按晶圓劃分的數據圖。這張圖是我之前做的,等它載入完畢後就可以看了。我們還有單獨的數據圖表。數據也是按晶圓劃分的,您可以看到每片晶圓的平均值、平均值以及上下控制限。
如果你把這個和…對比一下,我試著調整一下,讓它在螢幕上顯示得更合適。我們有了這個,然後我還要調出控制圖。哎呀,搞錯了。如果我們看一下這些晶圓,像是這個晶圓,看起來它的橫向均勻性很差。我可以在這張圖表上高亮顯示這些數據點。這樣一來,我就可以看到……我以為它會顯示在這裡。
但通常情況下,選取這些晶圓後,就會顯示上面的資料點。可能是因為視圖仍然處於縮小狀態,所以你看不到。但我這裡有列表。這是 09-D3 晶圓。你可以看到,這片 09-D3 晶圓的中心厚度非常大,而邊緣則相對較薄。另一片晶圓 11-D3 也出現了一些奇怪的數據點。這裡有一些異常值,看起來像是離群值。我們目前還不能完全確定它們出現的原因。它們並不在我排除的數據點列表中。
但從這些數據來看,我認為是 11-D3。如果我要深入研究一下……抱歉,電腦有點出問題了。我們把畫面放大一點。看起來,如果你查看 11-D3,你會發現一些數據點,其中一些數值偏高,導致晶圓表面出現問題。除此之外,中間範圍的數據看起來都差不多。我們可以從這裡入手,調查為什麼會出現這些異常數據點?我們可以找到根本原因。
JMP的圖形視覺化功能很棒,這一點顯而易見。它可以幫助我們進行根本原因分析,例如,是什麼原因造成的?測量時表面是否有FM或其他雜物?或者是否有其他因素幹擾了這些數據點?
之後,一旦我們獲得了良好的圖形分析結果,就可以著手建立擬合模型,以了解這些數據點之間的適合程度。如果要分析擬合模型,就可以使用資料。輸出值是厚度。將其作為 Y 軸,然後輸入標準差。透過這種方式,我們可以找到創建函數的方法,該函數可以根據控制變數並針對特定輸出值進行調整。這本質上就是我們使用擬合模型所做的工作。
然後,我們就可以打開分析器,調整不同的控制因子,看看預期輸出是什麼。厚度和標準差是輸出值。這就是我們的六個控制因子。我把它們加進去。實際上,我要……好的,沒問題。我們運行一下。我通常會用標準租賃方格法運作。標準租賃方格法能很好地擬合所有控制因子,從而達到預期的輸出值。我們運行一下。
這就是當時出現的結果。正如你所看到的,我們所有的數據都會對輸出結果產生顯著影響。這也在預料之中。我們設定了一個相當廣泛的處理範圍。本質上,我們不能為了簡化方程式而移除任何因素。我們只能保留所有因素並將它們納入考慮。
如果向下捲動到擬合摘要,我們可以看到 R² 為 0.909。這是一個很高的 R² 值,然後是均方根誤差為 502。我們還可以添加交互作用,因為我們在創建實驗設計 (DOE) 時也包含了它。我打算重新開始,再添加一下。我們將建立一個擬合模型,包含厚度、標準差以及六個控制因子。把它們都加進去。哎呀,我又加錯了。我把它們刪掉。如果我選擇了這些因子,就可以使用巨集指令進行階數因子分析。我在這裡加了一個二階因子,這就是我們加入第二個交互作用的方式。
現在,如果我運行一下,我們會把厚度和標準差加到輸出結果中。我讓它運行一下。好的,列表變長了。這裡也包含了所有的交互項。同樣,所有項都顯著,所以我無法簡化這個方程式。但是,如果你查看擬合優度,我們現在得到了 0.97 或 0.965。我們得到了一個更強的估計器來預測這些數據點。
我可以點擊這裡的小紅按鈕,然後我們就可以加入分析器了。我在這裡進行分析。然後我會把它彈出到底部。我們可以關閉一些選項來簡化介面。這是摘要。我想我應該先講這個。我們有厚度的反應…或者說,我們厚度的反應,其中 r² 為 0.967。我們預測厚度的能力非常強。然後我們還有標準差的 r²,也是 0.965。預測標準差的相關性也非常強。
我想我們把它放在這裡。哦,這裡應該有個地方放它。好吧,沒事了。我想我們現在應該專注於這個分析器。看看我能不能把這個視窗調整得更適合一些。對於預測分析器,您可以看到,X 軸是控制因子,Y 軸是厚度和標準差,也就是我們的輸出。為此,我希望能夠設定這個分析器來預測不同的期望值。
接下來,你需要進入最佳化和期望值設定。我們啟用期望值函數。這樣就會新增一個期望值欄位。當數值達到 1 時,表示它是最理想的。你為 X 值設定的任何內容都會與這些目標值高度相關。但在執行此操作之前,你必須先設定你的期望值。
對於厚度,我希望達到目標值。對於這個,你把中間值設為目標值。例如,我這裡設為 9000。我們取個整數,例如 10000 作為目標值,然後 12000 是最大值,20000 是最小值。 8000 是下限。我們希望它在這個範圍內。這樣就差不多了。對於標準差,我們只需要盡量減少它。
因為我們只是在最小化,也就是追求較低的數值,所以我就保持這些數值不變。現在你可以看到,就期望值而言,按照目前的輸出設置,厚度值大約是 8.3。你可以看到,這個期望值並沒有達到我們想要的水平。標準差有點高。現在你已經設定好了期望值,你可以讓 JMP 進行最大化操作。
它會根據你輸入的參數進行調整,以獲得最佳結果。為了達到接近 10,000 奈米的厚度並最大限度地減少標準偏差,我們需要設定以下控制參數。其中一些參數可能會略有偏差,所以我可以將其調整到 12,000。然後,我可以將其調整到 550 左右。這些都是可以輸入到我們設備中的數值。
為了更深入地探討這個問題,我想在預測結果中加入一些雜訊。你可以加入一個模擬器,並加入一些隨機雜訊。這種噪音的隨機性來自於這裡看到的平方根。厚度的均方根誤差為 303,標準差約為 21 或 22。這就是用來在系統中創建噪音的方法。
對於我們的控制參數,也就是音量而言,音量是在實際生產環境中控制的。我們永遠不可能擁有一個完全固定的恆定音量。有一些噪音因素會影響音量。我會在這裡為這個輸入因子添加一些隨機雜訊。除此之外,轉速和時間在這些數據點上相當穩定且固定,所以我可以保留這些數據。
點擊「模擬」按鈕後,您實際上是在模擬能力的可變性,並初步了解這些雜訊和可變性將如何影響您的計算結果。有趣的是,您可以隨意調整這些數值。例如,假設我想將其更改為 8,看看這會對輸出產生什麼影響,以及這會如何影響我們達到預期目標的程度。然後,您還可以…讓我們將其改回 10.5。您可以看到,快速響應(即極快的速度)對輸出的影響非常大。如果您調整該值,您可以看到它實際上改變了厚度,而現在我們又無法達到預期目標了。
如果你想調整厚度以達到不同的目標值,你可以重置厚度設定。比如說,9000奈米對我們來說更理想。我們可以調整這個值,並保持不變。然後你可以再次運行優化器,將其設為最大值,它會自動調整設定。這樣我們就能達到大約9000奈米的厚度了。
是的,我想這就是我這次演講想要涵蓋的所有內容,包括如何運行實驗設計(DOE)來了解我們的工藝窗口和範圍,以及它們如何影響輸出。然後,我們可以利用這種期望值來設定一個標稱資料點。接下來,就是透過這個擬合模型來創建我們的方程式。隨著我們不斷基於此製造晶圓,我們可以將這些數據點添加到這個表格中並更新擬合模型,從而獲得越來越強的預測分析相關性。我的演講到此結束。