異常情況會為製造工廠帶來巨大的成本。在半導體產業,生產停機、晶圓報廢和良率降低以及產量下降都可能導致巨額收入損失。負責調查這些異常情況的工程師必須迅速找到可行的洞察,以便做出數據驅動的決策,從而最大限度地減少停機時間並提高產品品質。
JMP 的分析工作流程可以幫助您規劃有效調查異常情況所需的步驟和工具。探索查詢建構器如何簡化從資料庫存取資料的過程,以及 JMP 強大的表格選單如何幫助您進行資料操作。了解用於視覺化和分析晶圓圖資料的最佳表格格式。利用探索性和分析性技術,發現製造流程步驟中隱藏的關聯。透過 JMP Pro 增強您的分析能力,例如利用 JMP Pro 18 的全新 Torch 深度學習插件中的影像分析等功能,獲得更深入的洞察。
使用 JMP 中的工作流程建構器,即可自動運行並重新運行整個分析過程,確保速度、可重複性、靈活性和強大的分析能力,而無需編寫程式碼。了解如何在快節奏的製造環境中,利用 JMP 和 JMP Pro 中的這些工具和技巧,實現高效的解決方案並大幅節省成本。
大家好,我是 Ryan Cooper,JMP 系統工程師,負責墨西哥灣沿岸地區的業務。今天我們要討論的是如何使用 JMP 簡化製造異常調查流程。雖然這裡以半導體產業為例,但這種異常調查流程的概念可以推廣到任何製造業。我會分享一些技巧和竅門,這些技巧和竅門不僅適用於異常調查,也適用於您在 JMP 中的其他任何操作。相信每個人都能從中受益。
那麼,讓我們繼續今天的探索之旅。如果您原本打算在接下來的30分鐘左右暫停您的製造探索之旅,很抱歉,我們還有另一個任務。希望在完成這次探索之後,您能在JMP工具箱中掌握一些新的工具,以便日後自行使用。這次的探索之旅涉及一些神秘的晶圓特徵,令URA半導體公司缺陷工程部門的工程師們百思不得其解。這裡有四張晶圓圖,不同的特徵來自不同的位置,我們需要找出它們的來源。
我們將利用 JMP 分析工作流程的各個環節來實現這一點。首先,我們將了解資料訪問,然後是資料混合和清理,最後是資料探索和視覺化。我們會重點介紹一些建模工具,但最終會透過自動化和腳本將所有內容整合起來。關鍵在於,使用工作流程建構器無需任何程式設計。在演示過程中,我們會多次回顧此工作流程的各個環節,您很快就會明白其中的原因。這是在 JMP 中組織問題解決流程的絕佳方式。
我們需要的數據表。我常被問到:「我該如何著手做這類事情?我們公司收集了大量數據。」我的回答通常是:先想好一個問題。在這個例子中,我們要進一步探討一開始提出的問題:這些缺陷來自哪裡?我們想知道哪些製程步驟導致了產品 A 晶圓上出現異常缺陷特徵。所有這些晶圓缺陷特徵都來自產品 A。然後,我通常會嘗試將一些關鍵字與資料表、資料庫或其他類似資源的不同區域關聯起來。
您會在這張表格中看到晶圓晶片缺陷數據,這些數據對應於晶圓缺陷處理步驟。我需要包含產品參數(例如產品 A 的缺陷、步驟、製程等)的製程資料。您可以看到這些資料的格式。您會注意到資料採用的是垂直排格式。這種格式非常適合可視化晶圓,但不太適合預測以及從模型中獲得更深入的見解。一般來說,那些可能影響結果的預測因子通常需要採用寬排格式。您可以看到,這裡使用的是垂直排格式,我們可以透過在圖形產生器中使用 X 軸和 Y 軸來視覺化晶圓。
目前的資料格式已經相當不錯了。如果我們想探究問題根源,就需要將其轉換為更寬的資料格式,這可以透過一些方法實現。下一頁就是我們需要的格式,以便回答我們的問題。您會注意到左側是晶圓的單獨數據,其中包含晶片級的完整缺陷數據生成圖表。我們將產生該圖表並保存到表格中,並在後續的分析中使用它。
這裡有一些預測因子,它們由製程步驟資料產生。您可以看到,在這個例子中,我們有步驟,然後是設備 ID。設備 ID 在下面劃線後面。我們可以找出哪些設備 ID 和哪些步驟導致了特定的缺陷。這裡的缺陷總數就是輸出結果,只是螢幕上沒有顯示。這就是我們的最終結果,也是我們想要的表格。
這是我們的分析計劃。我之前提到我們會回到分析工作流程,現在它首次出現在這裡。首先是資料訪問,我們將使用查詢建構器來取得數據,並進行一些 SQL 篩選。接下來是資料混合和清理,我們會拆分和連接表。拆分有助於將資料轉換為寬格式,然後我們需要將表連接起來,建立關係以解決問題。最後是探索和視覺化。
正如我之前提到的,骰子層級資料採用堆疊格式。我們將把圖表保存到資料表中,這是一個非常棒的功能,但並非人人都知道。我們將使用寬螢幕格式視覺化分析結果,並將保存的圖表作為標記或標籤工具,用於我們最終進行建模的分析。我們將遵循以下流程:首先進行數據訪問,可視化骰子層級數據,因為它不涉及任何數據混合和清理。然後進行一些清理工作,使其符合寬螢幕格式,最後進行建模和分析。
還有一點要指出的是,使用分析方法解決問題,80% 的工作都在於存取和準備資料。就目前的情況而言,就是這些步驟。很多時候,我發現正是這些步驟讓人們對這類分析望而卻步。尤其是在需要編寫程式碼或程式的情況下,很容易失去動力,但幸運的是,在 JMP 中你無需這樣做。我們有一些很棒的工具可以用來準備數據,並透過工作流程建構器將所有資料串聯起來。稍後我們會了解它們是如何相互關聯的。我們最終的目標是:基於資料驅動的決策,獲得可操作的信息,並透過工作流程建構器創建一些可重複使用的知識。
這個解決方案將在整個工作流程中保持快速、靈活和強大的性能,從而幫助我們高效地減少停機時間,提高晶圓和產品的質量,最終實現收入增長和成本節約。接下來,我們將進行 JMP 的示範。需要說明的是,本次示範旨在提供一個概覽,所以如果您無法完全理解所有內容,也無需擔心。為了節省時間,我會不時地進行一些現場演示,並運行一些簡短的腳本。您可以參考我稍後提供的影片和工作流程圖,以了解您感興趣的步驟。
我們先來看看…我們先來看看查詢建構器。我們將在這裡存取數據。我將依次點擊“檔案”、“資料庫”和“查詢建構器”,然後在這裡尋找缺陷資料。我輸入“半導體”。您可以看到這裡有幾個不同的半導體表。您可能也會有多個不同的表,我們需要找到正確的表。在本例中,我將查看晶圓晶片缺陷計數數據,然後點擊「下一步」。
這裡您可以預覽表格本身及其包含的欄位。您可以查看表格快照。可以看到表格的佈局,包括產品、晶片 ID、晶圓,以及每個晶圓上每個晶片的缺陷數量。這是非常具體的分析數據。實際上,每個晶片在每個步驟、每個缺陷步驟中都對應一行資料。我們正在掃描缺陷。您可以在這裡進行一些連接操作,但我們稍後會在 JMP 中完成所有的連接和資料表操作。現在,我點擊「建立查詢」。
為了看看這裡發生了什麼,我將產品添加到清單中。您可以看到我們只添加了一列,但如果需要,我可以打開這個開關來查看不同的行。現在我先把它關掉。我將按順序添加我的晶片 ID、X 和 Y 晶片、晶圓以及缺陷。您可以看到所有添加的內容都在這裡。我想按產品 A 進行篩選,因為我的問題出在這裡。我可以按產品 A 進行篩選。執行此操作時,我也可以選擇提示使用者輸入篩選條件。如果您想查看其他產品,您也可以在同一工作流程中進行操作。
在這種情況下我不會那樣做,但你知道它在那裡。因為我正在按產品 A 篩選,所以我也可以從列中刪除產品資訊。它正在編寫一小段 SQL 語句,以便根據我的拖放操作從資料庫中提取我指定的資料。實際上,你不需要知道 SQL 語句就能提取這些資料。有了這些信息,我將運行查詢並關閉。這是我的結果。現在我可以將其匯入到圖表建構器中。我們有 X 晶片。將其與 Y 晶片中的 X 進行比較。預設情況下,這種平滑處理效果更好,但我可以將其關閉並顯示為資料點。這看起來更像晶圓了。
在這種情況下,我們已經收集齊了所有數據。我想按晶圓數量劃分。我把它打包一下。現在我們可以看到一些單獨的晶圓。總共有 125 片,我想添加一些關於缺陷的資訊。我將把缺陷資訊拖曳到疊加層視圖中。現在我們已經獲得了半導體晶圓上每個晶片的缺陷數量。我不太喜歡目前這種帶顏色的圖例設定。它無法用顏色直觀地顯示缺陷的情況。
我要進入這裡,在圖例設定中進行更改。我要讓顏色主題更加鮮明一些。我要從藍色切換到紅色。我們可以看看現在的效果。我看到了一些簽名。它們開始顯現出來了,但我想要更高的對比度,這樣簽名才能更清晰。我要稍微調整顏色主題,創建一個新的主題,然後用這個標記給紅色留出更多空間。點擊確定,現在一些簽名更加突出了。你可以看到頂部和底部的缺陷、環形圖案,還有左右兩側的缺陷。這裡就有一個左右兩側的缺陷。
我覺得不錯。我點擊“完成”。關於圖表構建器以及使用 JMP 將其發送到數據表,還有一個鮮為人知的功能。如果您點擊這裡的紅色三角形,將其轉換為資料表,您現在就得到了一個帶有圖表圖示的資料表。我們可以將其用於其他信息,這將使我們的一些可視化圖表更加生動有趣。我暫時先關閉這個視窗。
現在我們需要考慮如何拆分資料表,並將其轉換為寬格式,以便進行更複雜的分析。我們將分割晶片 ID,使所有晶片 ID 或晶圓 ID 顯示在頂部,晶圓 ID 顯示在左側。這樣做是為了將這些資訊與此表合併。我們進入“表格”選單,然後選擇“拆分”。我將啟用預覽功能,以便查看分割效果。
我想按晶片 ID 進行拆分,然後還要拆分每個晶片 ID 內的缺陷。現在頂部有 1423 個晶片,左側有 125 個晶圓。為了查看晶圓,我要把晶圓拖到這裡分組。現在您可以看到第一列中的晶圓,右側是所有晶片 ID。這樣我就可以把它和另一個表格合併了。我給它取個名字。我已經預先創建好了。我把它移過去。然後點選「確定」。
現在我不需要這個了,所以我會退出。這裡有兩個表。我要把這些資訊連結起來。我要點擊“表”和“連接”。我們要把「圖表建構器」表格和另一個表格連結起來。我們要匹配“晶圓”這個列。這是我們的公共列,你可以看到預覽在這裡出現了。現在我們有兩列“晶圓”,因為兩個表裡都有。我要選擇其中一個來輸出。我們先選擇“晶圓”和“圖表”,然後啟用它。
我們有了晶圓和圖表。現在我們要選擇晶片的其餘部分。現在所有資訊都已準備就緒。我們也要為輸出結果命名,然後點選「確定」。由於我使用了這些數據,現在有兩個表格,所有數據都在這個表格裡,我要退出這兩張表格。現在我有一個數據表,可以在這裡進行一些不同的操作。這裡還沒有缺陷總數,或者…我可以進行匯總,我稍後會這樣做,但我還沒有工藝步驟。這將有助於我們解決問題。
但現在我有了晶片作為預測因子,晶圓放在左邊,我可以利用這些數據進行一些有趣的視覺化和建模。首先,我要做的是多元嵌入,這是 JMP Pro 18 的新功能。我使用的是 UMAP 模型。首先出現的是 UMAP1 和 UMAP2 的圖。所有晶片的維度都被降維到了兩個不同的維度,我們將觀察其中的一些關係。
你會注意到,這些黑點現在實際上並沒有告訴我們任何訊息,它們只是代表行。這就是圖表的作用。我將點擊“圖表”,然後右鍵單擊並選擇“用作標記”。你會看到我的多元嵌入中發生了什麼事。現在你可以看到,一些具有異常特徵的晶圓顯示在右側,遠離這群正常的晶圓。你可以開始看到一些異常晶圓。這是一種很好的方式,可以視覺化一些你可能之前不知道存在的晶圓特徵。
接下來我要做的就是聚類。我也會單獨執行這個程式。這個程式會利用我這裡所有的晶片,將相似的晶圓聚集在一起。你會看到它已經把結果保存到資料表中了。我已經把每個晶圓分配到了不同的簇中,並且我創建了一個圖表構建器,裡面有一個列切換器,叫做簇選擇器。透過它,我可以查看,比如說,一個模型裡有125個晶圓,它只有一個簇。然後,有了兩個簇,我們開始看到一些不同的晶圓特徵,這些特徵就是我從這裡提取出來的。
我可以沿著這條線往下看,看看情況如何。我認為第 5 個集群是最優的。你可以看到,我們的大部分左右缺陷都在這裡,頂部和底部缺陷在這裡。那個大的甜甜圈形狀的缺陷單獨成一個集群。你也可以對其他缺陷進行同樣的操作。接下來,我們繼續討論問題的其他部分。我們之前提到過,我們需要一個包含流程資料的表格。我將單獨運行一個查詢建立器來獲取這些流程數據,以節省時間。它的工作原理與我之前使用的查詢建構器相同,只是這次我們查找的是流程資料。
我運行程序,把表格放在這裡。記住,現在表格是垂直格式的。我們需要把它改成寬格式,這樣才能把它和我們的晶圓產品資訊連結起來。我首先要合併幾個變量,這樣資訊量會更大。分割之後,你就會明白為什麼這樣做很重要了。接下來,我要在步驟 ID 和製程類型之間加上一個底線。我們可能有幾種不同的工藝類型。在這個例子中,只有設備,但可能還有腔室,或其他具有不同 ID 的東西。我們要把它們連接起來,以便區分每種製程類型在每個步驟中的特定操作。
我要右鍵點擊這裡,選擇“新公式列”和“字元”,然後用下劃線連接。現在這些就連在一起了。接下來,我要對製程類型也做同樣的操作。我的類型 ID,也用底線連接起來。現在有了這些訊息,我可以像之前處理晶圓晶片那樣進行拆分。我也會單獨運行這個拆分操作。完成這些步驟後,我就可以離開這個表格了。
現在我這裡有125片晶圓,以及不同的工序和工序類型,還有特定設備的ID,或者可能是腔室或其他什麼。這裡可能包含數百個工序,有時甚至數千個。逐一篩選並找出哪些晶圓與這些工序相關是不切實際的。我們將把這些資料與現有表格合併,總結缺陷,然後確定哪些工序真正影響了晶圓的特徵。
為了實現這一點,我要回到這裡,把所有缺陷加起來。我可以用一個小技巧,用公式。好了,我已經把它們全部選中了。我只需右鍵單擊,選擇“新公式列”,然後選擇“合併”和“求和”,就能把它們全部加起來。最後,所有缺陷都加在一起了。我創建了一個匯總所有缺陷的列,我把它命名為「缺陷總數」。點選“確定”。接下來,我們要進行一個類似先前的操作——連結。同樣,我會在後台進行連接。這裡我們只需要晶圓圖、缺陷總數和製程步驟。我們來操作一下,然後就可以把這些列劃掉。
現在我們有了晶圓、圖表以及包含設備 ID 的步驟。最後,我們統計了缺陷總數。這其實是我們的最終結果表,它能幫助我們回答最初提出的問題:究竟是哪個步驟導致了這些晶圓特徵的出現?我通常會在獲得這種資料表格式的資訊後,進行分析、篩選和預測篩選。在這裡,我可以把所有步驟(可能有數百上千個)都填入 X 軸,然後把缺陷總數填入 Y 軸。
這將運行一個模型,以確定哪些步驟最能預測缺陷總數。看起來步驟 1、步驟 5 和步驟 4 可能對我的缺陷總數有潛在影響。我們分別來看一下。例如,這裡是步驟 1、步驟 4 和步驟 5。我將打開圖表生成器。記住,由於晶圓和圖表上都有標記,我們可以很快地看到結果。
我把第一步拉過來。我把它放大一點。我們可以馬上看出,設備 B 似乎是這裡影響最大的。我們找到了頂部和底部的缺陷。看起來我們找到了。我們把它設定成列切換器。它有一個重做和一個列切換器。讓我們來看看 1、4 和 5,我們還要在這裡加上 8。我稍後會解釋原因。
步驟 4 也至關重要。看起來我們用設備 L 找到了左右兩側的缺陷。步驟 5,設備 N 出現了甜甜圈狀的特徵。之所以加入步驟 8,是因為我們這裡只有兩片晶圓,而隨機缺陷的特徵似乎就在這裡,但我們只有兩片晶圓的資料。它目前還沒有在模型中顯示出來。我們需要更多的數據,更多的晶圓才能顯示出來。
我們已經找到了導致這些缺陷的設備。讓我們回到之前的PPT,看看我們的目標以及我們取得了哪些進展。我們基於數據驅動的決策,獲得了可操作的資訊。看來我們可以對每個步驟中的設備進行更徹底的調查。或許設備內部還有其他問題,但我們已經縮小了範圍。
我們擁有可重複使用的知識。我稍後會在這裡展示工作流程建構器,以及我剛才所做的所有操作是如何在工作流程建構器中記錄下來的。整個工作流程都兼具速度、靈活性和強大功能。這個流程可以重複使用,並且可以再次運行,或許可以用於其他情況。只要非常輕鬆地重寫幾個步驟,就能得到一個有效率的解決方案。整個過程並沒有花費太多時間。我們正在減少停機時間,提高質量,增加收入並節省成本。
這樣做最大的好處之一是:決策快速且有效率。我們剛剛創建的東西,無需花費數小時編寫程式碼,也無需花費數週甚至數月學習程式設計。它無需在系統、程式或佇列中等待部署。它是你自己完成的,出自你──領域專家之手。任何必要的修改都可以輕鬆完成,因為只有你了解整個流程。此外,你的分析現在已達到標準優化,能夠正確執行並透過自動化實現重複。
你透過快速解決生產問題,節省了時間和金錢。這裡還有一點補充說明。你身為領域專家,能夠存取自己熟悉的數據,這本身就很有價值。你能夠發現資料庫管理員、資料科學團隊或其他類似人員可能忽略的問題。我看到一些關於科學家和工程師訪問這類數據的回饋。他們說,這可能會導致生產資料庫崩潰之類的問題。但對於領域專家而言,這種權限對於突破現狀、打破常規至關重要。
作為解決方案,可以考慮使用鏡像資料庫,該資料庫源自實際的生產資料庫。因此,您可以了解一下,在三家不同的半導體公司,存取這些數據如何提升了科學家和工程師的工作效率。該工具使領域專家擺脫了繁瑣的數據準備工作,從而能夠專注於解決真正創造商業價值的工程問題。例如,對於我這位品質工程師來說,它可以快速整理流程和報告信息,而這些信息如果使用其他方式收集則需要花費數小時。現在,您節省了這些時間。
最後一點我特別喜歡,因為它牽涉到一些指標。資料處理時間縮短了 83%,成本顯著降低,研發工程師的工作滿意度提高了 260%。與其他一些可能不太能保持高工作滿意度的方法相比,這是一種更直接的解決方案。接下來,我想展示整個工作流程以及它運行時的效果。
我要回顧一下我剛才做的所有操作。您可以看看它的結構。我們再次回到分析工作流程。我喜歡把步驟分成資料存取、視覺化、資料準備等與分析工作流程相關的部分。這裡有第一部分和第二部分。您可以看到我在這裡做的所有操作。最初,我按順序記錄了所有這些步驟,並將它們整理在這裡,以便可以重複操作。我點擊這裡播放整個過程,您可以看到所有彈出的內容。我們之前已經將圖表保存到資料表中。這裡是多元嵌入。我認為它現在正在運行模型進行預測因子篩選。
實際上,我們已經完成了聚類分析。最後一步是預測器篩選。我們最後得到的這張圖就是我們之前步驟中查看的。很明顯,設備 B、設備 L 和設備 N 導致了我們特徵碼中的缺陷。所有這些都是可復現的。您可以用新資料再次執行該程序,看看哪些新晶圓被送到了每個裝置。
接下來,我想再介紹一下與 Torch 深度學習相關的內容。 Russ Wolfinger 會特別解說這方面的內容,他會進行更深入的探討,但我這裡只想簡單展示幾個半導體方面的例子。這是 JMP Pro 18 的功能。如果您進入插件設置,實際上需要透過 JMP 社群的插件頁面單獨下載插件。在 Torch 深度學習和範例資料部分,您會看到一個 Torch Storybook。 Russ 為不同的場景準備了許多不同的範例。其中恰好有一些與半導體晶圓和晶圓圖相關的範例。
Torch深度學習能夠讓你直接從影像中進行影像分析,並對晶圓及其相關的缺陷和特徵進行分類。我想展示一下它的樣子,因為它和我們剛才的操作非常相似。我在這裡打開數據表。你會注意到,這裡有一張圖片。檔案名稱包含了批次ID、晶圓ID、晶片尺寸(即晶圓內的晶片數量)以及故障類型(也就是分類資訊)。
你可以在這裡使用這些圖像訓練數據,從而預測故障類型。這真是太棒了!這是我第一次能夠透過拖放介面,在深度學習層面上進行這樣的影像分析。它真的非常出色。想要了解更多信息,我推薦你閱讀 Russ 關於 Torch 深度學習插件的指南,以及他在今年 Discovery 大會上的演講。
綜上所述,如果您有任何疑問,歡迎隨時透過電子郵件與我聯繫:ryan.cooper@jmp.com。我的演講到此結束。如果您有任何問題,請隨時透過電子郵件告訴我。謝謝聆聽。