In un'attività di produzione di semiconduttori, è fondamentale mantenere la resa del prodotto, il tempo di ciclo e la qualità a causa dei suoi processi costosi e complessi. L'aumento delle perdite di prodotto nei contenitori di sonda unitaria (UP) per un dispositivo qualificato ha sollevato preoccupazioni in termini di consegna e ha richiesto misure di mitigazione del rischio. La direzione richiede spesso una stima del potenziale rischio di scarto derivante da rese inferiori ai minimi e/o dal superamento dei limiti statistici dei contenitori. I gruppi di pianificazione devono sapere se sono necessari nuovi lotti di wafer per colmare la carenza di die, mentre i gruppi di produzione sono interessati a conoscere l'impatto sulla resa a livello di sonda unitaria. Come proprietario del dispositivo, ho utilizzato tecniche di data mining per identificare le variazioni dei parametri della sonda parametrica che corrispondono alle perdite di UP e ho preso decisioni avanzate basate su modelli predittivi.
In questa dimostrazione, i dati delle sonde unitarie e delle sonde di classe sono stati estratti e ripuliti dal database di produzione. I dati raccolti sono stati suddivisi in set di dati di addestramento, convalida e test. Quattro modelli sono stati valutati e analizzati a livello di wafer. I modelli di alberi decisionali di classificazione e i modelli di classificazione bootstrap forest sono stati scelti per l'analisi della risposta categoriale (scrap o meno), mentre i modelli di regressione lineare e i modelli di regressione bootstrap forest sono stati confrontati per l'analisi della risposta continua (UP bin fallout %). Lo screening del modello ha contribuito a ridurre i parametri da centinaia a una manciata. La decisione finale risultante è stata presa sulla disposizione dei wafer in base al modello predittivo costruito.
Quando la risposta UP era disponibile dal set di dati di prova, l'accuratezza dei due modelli di previsione è stata confrontata tra le ricadute previste e quelle rilevate.
Mi chiamo Su-Heng Lin e lavoro presso NXP Semiconductors. Come proprietario di un dispositivo in un'attività di produzione di semiconduttori, è fondamentale mantenere la resa del prodotto, i tempi di ciclo e la qualità a causa dei processi costosi e complessi. Qualsiasi problema di resa può compromettere la consegna e richiedere misure di mitigazione dei rischi. In questo caso di studio, mostrerò come utilizzare JMP, la piattaforma di modellazione predittiva, per prendere decisioni avanzate nelle attività di produzione di semiconduttori.
Ecco un esempio del flusso di processo di produzione di wafer semiconduttori. Iniziamo con 25 wafer di silicio nel lotto di wafer. Tutti i 25 wafer saranno sottoposti a vari processi per la produzione di dielettrici o materiali conduttivi. Successivamente, verrà brevettato per la produzione di circuiti integrati* all'interno di un die. In questo caso di studio, la tecnologia ha comportato oltre 300 fasi di processo. Ci vogliono circa 9 settimane di ciclo per completare il wafer, che sarà brevettato, in modo da poter continuare e inviarlo.
Ma prima che il wafer venga spedito all'estero per i test dei circuiti, è necessario superare il test di accettazione del wafer, noto anche come Class Probe. Questi Class Probe testeranno i singoli dispositivi per garantirne lo stato di salute. Se il wafer è integro e viene spedito, in questo caso all'estero, verrà sottoposto al test di sonda unitaria. In questa fase, il test viene eseguito su ciascuno dei singoli dadi. L'intero circuito integrato verrà testato.
Tutti i dadi vengono testati e vengono classificati in un contenitore di "passante" o in uno dei vari contenitori di "fallimento". Quello bianco è un buon fascio anabbagliante qui, e potete vedere un colore diverso qui per il contenitore di "fallimento". Oltre a monitorare la resa per il mio componente, il componente A qui, monitoriamo anche le prestazioni del contenitore. In questo caso, vi mostrerò il contenitore BIN#6. È uno dei contenitori in cui abbiamo avuto qualche problema di recente.
Questo è il grafico a barre per il BIN#6 normalizzato per tutti. Potete vedere che questo limite statistico è stato calcolato in base ai dati storici. Questa linea rappresenta se un wafer, ovvero ciascuno dei dati presenti in questo grafico, supera questo criterio di sei punti, verrà scartato. Ciò non significa che la resa da scartare sia nulla. Verrà scartato. Potete vedere che recentemente nella zona gialla, fuso orario, abbiamo molti wafer che subiscono lo scarto a causa dell'elevato problema del BIN#6.
C'è un altro lotto, sembra a posto, non ha superato il limite, ma è anche elevato. La direzione entra e chiede: "Siamo a posto? Conosciamo lo stato di salute del nostro wafer per la parte A?". Per rispondere alla domanda, devo prendere alcune decisioni. Prima di tutto, ho 150 wafer da sei lotti diversi. Sono al fine linea di Sonda di Classe. Hanno i dati della Sonda di Classe, ma vogliamo inviare il lotto per la supervisione per la Sonda di Unità? Subiranno lo scarto BIN#6? Questa è la prima cosa che devo sapere e devo prendere una decisione. Dovrei inviarlo? Sono ad alto rischio o no?
In secondo luogo, se hanno subito una perdita di resa, ma non a livello di script, quanti wafer sono interessati? Quanti dadi perderemo? Farò in modo che il cliente resti a bocca asciutta perché non possiamo consegnare i dadi in tempo? Infine, come proprietario di un dispositivo, devo sapere quale potrebbe essere lo spostamento in linea. Sebbene non si sia verificato un errore per Class Probe, forse si tratta di un'interazione tra i parametri di Class Probe. Sono responsabili dell'elevato impatto del BIN#6. Devo saperlo. Posso dare consigli agli ingegneri dei processi in linea, su tutto ciò che possiamo fare per contribuire a mantenere la buona qualità del colorante dei wafer.
Ciò di cui ho bisogno qui è un modello predittivo che mi aiuti nella valutazione del rischio in questa situazione. Il primo passo per costruire un modello predittivo è definire le mie risposte e i miei predittori. Userò il parametro Class Probe che raccogliamo da ogni wafer. Poiché raccogliamo più di un sito, userò la mediana del wafer per quei Class Probe. Abbiamo un totale di 173 fattori continui. Hanno una certa autocorrelazione tra questi 173 fattori perché un transistor, da cui estrarremo la tensione di soglia, ho impostato la corrente di pilotaggio. C'è una certa autocorrelazione tra questi 173 parametri.
Per la risposta, ovviamente, useremo il fallout BIN#6. Abbiamo un totale di oltre 2.000 dati wafer nel mio database. Li userò tutti. Il fallout BIN#6 normalizzato è la risposta continua che userò. Potete vedere che questo è l'istogramma del mio pattern di fallout BIN#6 normalizzato. Questo è il limite statistico del bin. Tutto ciò che è superiore, l'ho scartato.
Ma voglio avere criteri più restrittivi durante questo processo di data mining. Li restringo al 90% della distribuzione BIN#6, che in questo caso equivale a 0,187. Tutto ciò che fallisce o è inferiore a 0,187 è definito come wafer buono. Se è superiore, è un wafer scadente, anche se potrebbe non essere scartato. È così che definisco la risposta categoriale in questi modelli predittivi. In questo modo, avrò circa 200 parametri. Questi sono i miei parametri buoni, e ne ho 1.800, che sono i miei wafer buoni.
Abbiamo definito i parametri, la risposta e i predittori nella diapositiva precedente. Vi presenterò quattro semplici tecniche di modellazione in JMP, la piattaforma di modellazione predittiva, che possono aiutarmi a fare una previsione rapida e accurata per prendere una buona decisione. Per la risposta categoriale, buona contro cattiva in sei, userò l'Albero Decisionale e la Foresta Bootstrap. La Foresta Bootstrap verrà utilizzata nuovamente per prevedere la risposta di regressione, che è il mio fallout BIN#6 normalizzato. Confronterò con un modello di adattamento che è la Regressione Lineare Stepwise.
Dopo la dimostrazione di quattro di questi modelli, vi mostrerò come scegliere il modello da utilizzare. Confronterò l'R² per decidere quale modello utilizzare. Inoltre, il vantaggio dell'utilizzo del modello predittivo è che, si spera, mi fornirà la seguente risposta: quali sono i principali parametri di classe responsabili delle ricadute del mio BIN#6?
Il primo passo per eseguire il data mining nella modellazione predittiva è: ho 2.000 dataset. Li dividerò in un dataset di training e in un dataset di validazione. Possiamo farlo con la modellazione predittiva di JMP. Dobbiamo seguire le raccomandazioni di valutazione onesta. È positivo che JMP sia predefinito, e vi mostrerò come funziona. Sì, possiamo andare su "Analizza", "Modellazione predittiva" e andare alla colonna "Crea convalida".
Una cosa di cui voglio essere certo è che, dato che ho 25 wafer per lotto, ora il processo viene eseguito insieme. Voglio assicurarmi di avere un rappresentante per ogni lotto che andrà al dataset di training rispetto a quello di validazione. Ho ottenuto la certificazione utilizzando il lotto sorgente, che è l'ID del mio lotto wafer, quindi dirò "Ok". A questo punto, come potete vedere, l'impostazione predefinita in JMP è già stata seguita dalla raccomandazione di valutazione onesta, ovvero il 75% per il dataset di training e il 25% per il dataset di validazione. Non eseguirò questo qui perché ho già creato la colonna "validazione". Ecco come si può generare la colonna di validazione e la useremo per il modello che andremo a illustrare.
Torniamo qui. Ricordate che ho detto che ho 150 wafer nel Class Probe, ma non ho il feedback del Unit Probe. Non so cosa sia il fallout del BIN#6 e voglio saperlo. Anche se ho inserito il mio set di dati di prova usando quei 150 wafer nel Class Probe, seguono comunque il gruppo di valutazione onesto, quindi sono a posto. Per prima cosa vi mostrerò la risposta di classificazione usando l'Albero Decisionale. Torniamo a JMP. Questo è il mio set di dati. Si trova in Analyze Predictive Modeling. Torneremo qui un paio di volte oggi, ed è sotto la petizione. Clicchiamo sulla petizione e potete vedere che, sì, ho l'Albero Decisionale qui.
Questo è il metodo che userò per il mio modello predittivo. Ho inserito qui la colonna di convalida che ho creato. Utilizzo la classe BIN#6, che rappresenta il confronto tra buono e cattivo. Potete vedere qui, questa è la mia classe BIN#6. Ho i miei dati di classe 173 qui. Li ho nascosti in questa tabella dati, ma potete vedere che sono 173 qui. Andiamo, clicchiamo su OK. Sì, questo è il mio albero decisionale. Ho già precolorato in rosso i dati negativi e in blu quelli positivi. Posso mostrarvi manualmente come eseguire la suddivisione prima. JMP eseguirà la suddivisione in base a ciò che fa la differenza più significativa tra buono e cattivo. Qui, mostra la resistenza da RSP+. Se è superiore a 148, ho questo wafer negativo molto, molto più di quando abbiamo una resistenza inferiore a 148. Questa è la prima suddivisione. Fondo JMP.
Posso continuare con il secondo. Ha trovato il ToxP, se è inferiore a 145, wow, ho un wafer molto più cattivo di quello che può essere con un fallout BIN#6 normalizzato elevato, con una combinazione di maggiore resistenza e minore sickness. Posso continuare a fare principalmente così, oppure posso andare avanti, e poi possiamo chiedere al JMP di aiutarmi a fare la divisione. Si è fermato dopo la sesta divisione.
Diamo un'occhiata all'R². L'R² per l'addestramento è circa il 67%, e per la convalida è circa il 60%, non male. C'è qualcosa qui nel triangolo rosso accanto alla petizione per la classe BIN#6. Vorrei vedere il contributo della colonna. Questo è quello che mi aiuterà a capire quali sono i parametri che JMP ha riassunto per me. Oltre ai due, ISP+ e ToxP, JMP ha trovato anche altri due parametri, ma con l'ultimo contributo al fallout BIN#6. Chiudiamo questa finestra, riduciamo a icona JMP e torniamo qui. Queste sono le due cose che ho registrato, l'R² per questo modello e il contributo della colonna qui.
Passiamo al modello successivo. Vi mostrerò la stessa risposta di classificazione, ma userò un altro modello di partizione chiamato Bootstrap Forest. Andiamo al mio JMP. Sì. Andiamo su Analizza, Prevedi Modellazione, e Bootstrap Forest si trova appena sotto la posizione qui. Validazione, torneremo di nuovo alla convalida. Eseguirò la risposta categoriale, buona contro cattiva qui. Il mio predittore su Class Probe è nei fattori X.
Diciamo, OK. JMP è predefinito, lo semplificherò. Seguiamo le raccomandazioni di JMP. Costruirà un albero 100 nella foresta. Vediamo. Riassumerà la media della variabilità. È più stabile dell'Albero Decisionale, che è un solo albero. Ora, abbiamo una media di 100 alberi e possiamo trovare l'R² qui. Generalizzando l'R², mi dice: "Wow, il mio R² può arrivare fino al 90% per il mio set di dati di training, ed è all'80% per la mia convalida". Si può vedere che all'interno della foresta Bootstrap, l'R² è migliorato sia per il set di dati di training che per quello di convalida.
Possiamo anche passare al contributo della colonna. Abbiamo di nuovo i resistori e l'evidenziazione dello spessore dell'ossido. Ma oltre ai quattro parametri totali, la Bootstrap Forest, poiché gestisce 100 alberi, ci fornisce molti più parametri, ma con un impatto minimo sul BIN#6 normalizzato, buono contro cattivo. Manterrò questo modello perché ha funzionato meglio del Decision Tree. Per ora lo minimizzerò e torniamo alla mia presentazione. Abbiamo un ottimo R² e abbiamo i due parametri evidenziati.
Passiamo alla risposta continua. È il modello di regressione che mostrerò qui. Useremo la regressione lineare Stepwise Fit. Questa è la mia tabella dati. Vai su Analizza modello di adattamento. Invece di prevedere la modellazione, userò il modello di adattamento. È un altro modo per costruire un modello. Non c'è spazio per la convalida perché userò tutti gli oltre 2.000 dati insieme per creare la correlazione. Diciamo che vogliamo creare il modello di regressione. Userò il fallout BIN#6 normalizzato continuo nel mio Y, scegliendo il parametro Classe Sonda 173 come effetto principale per l'effetto del mio modello.
Puoi eseguire la macro a due gradi. Ora vedrai l'interazione tra uno qualsiasi dei due fattori. Ma ci vorrà molto tempo, quindi non la eseguirò qui. Userò solo il primo ordine. Dato che ho così tanti predittori, preferisco usare il metodo stepwise. È più robusto. Esegui i modelli. Di nuovo, seguirò le raccomandazioni di JMP. Userò il BIC minimo come regola di arresto e la direzione stepwise sarà in avanti. Continueremo a inserire parametri finché non avremo un buon modello.
Eseguirai il modello. Prenditi qualche secondo. Sì. Una volta fatto, puoi vedere che ho ottenuto R² e R² aggiustati qui. È intorno al 74%, non male. Questi due numeri sono molto vicini. Diamo un'occhiata al nostro modello. Questo è il mio modello per la regressione lineare. Mi ha dato l'ISP+. Ora, evidenzialo, ma lo spessore dell'ossido, l'altro, è un po' basso. Ho molti altri parametri che mostrano una forte correlazione con il mio BIN#6 che ha contribuito alla ricaduta normalizzata del BIN#6. Questo perché ho un ampio set di dati, più di 2.000 wafer, quindi è facile trovare una correlazione. Ci fermeremo qui e poi torneremo al mio PowerPoint.
Questo è l'R², e questo è l'effetto riassuntivo di quali parametri sono importanti in questo modello di regressione lineare Stepwise Fit. Per il prossimo modello che mostrerò, torniamo a Bootstrap Forest. Questo è un modello di precisione molto buono perché può anche gestire la regressione piuttosto bene. Torniamo al mio file JMP. Analizziamo il modello predittivo e Bootstrap Forest.
Se avete già utilizzato JMP, sapete che possiamo ricordare l'impostazione che abbiamo. Ma sostituirò il fallout categorico BIN#6 con il mio fallout BIN#6 normalizzato, che è costituito da fattori continui. Seguirò, ancora una volta, la raccomandazione di JMP di utilizzare 100 alberi nella mia foresta. Ci vorranno alcuni secondi, ma non troppo. Vediamo. La foresta Bootstrap per il BIN#6 normalizzato mi dà... Wow, il mio R² è intorno a 0,977, il 98% e per il mio set di dati di training. Per il set di dati di convalida, ho ottenuto il 91%. Tutto questo eseguendo l'altro modello che vi ho appena mostrato, la regressione lineare. Lo terrò, e diamo un'occhiata prima di andare avanti.
Contributi della colonna. Abbiamo gli stessi due resistori e lo stesso spessore di ossido, evidenziati. Ne abbiamo altri due che sono alti, ma con molti altri parametri che contribuiscono solo in minima parte al modello. In questo caso, se si desidera costruire un modello ridotto, è possibile evidenziare i due parametri qui, andare su Analizza, Adatta modello, quindi fare Macro, e a me piace gestire il servizio di risposta. Perché? Perché catturo l'effetto principale, e catturo anche l'interazione e l'effetto quadratico.
Posso impostare il mio BIN#6 normalizzato su Y e, poiché non ho molti predittori, userò un metodo dei minimi quadrati standardizzati e procederò. Questo è il modello che si può ottenere, e da qui si può ridurre. Questo è un modello ridotto che mi fornisce solo il 65% di R². È valido, ma può essere più stabile perché non si coinvolgono così tanti predittori. È più facile spiegare il modello, ma il bias sarà maggiore perché non ha tutti gli altri parametri evidenziati dal modello Bootstrap Forest.
Torniamo alla mia presentazione. Ora, abbiamo completato tutti e quattro i modelli e diamo un'occhiata al confronto R². Non è molto corretto confrontare la regressione lineare stepwise perché non utilizza la stessa piattaforma e non si tratta di un confronto tra training e validazione. Si tratta di R² e R² di aggiustamento. Ma potete vedere che nella mia Bootstrap Forest, sia per i dati di classificazione che per i dati di regressione, le risposte sono molto elevate, superiori al 90% per il training. È anche la più alta per il dataset di validazione. Ho deciso di utilizzare entrambi per la mia previsione "buona contro cattiva" e anche per la mia stima per le ricadute di BIN#6.
Quindi, vediamo, come faccio a stimarlo? Torno qui e ricordo che questo è quello per la mia foresta Bootstrap per i dati di classe, buoni contro cattivi. Per utilizzare il modello predittivo, vado sul triangolo rosso e salvo le colonne. Salverò la formula di previsione. Puoi vedere rapidamente che JMP mi fornisce la probabilità per cattivi contro buoni. Quindi dirai, molto probabilmente la classe BIN#6 qui.
Se andate in fondo al mio dataset, potete vedere che ho quei 150 wafer che ho nascosto nel dataset quando ho costruito un modello. Ma l'equazione generata dal modello si applica a quei 150 wafer e prevede: "Ok, avrò un wafer difettoso da questo lotto, Lotto D, wafer uno e gli altri. Il Lotto C ha molti wafer difettosi e abbiamo il lotto A con alcuni wafer difettosi". È un modo molto rapido per dirmi quanti wafer sono a rischio. Ma questo mi dà solo buoni e cattivi. Voglio vedere se conosco...
Qual è la stima delle ricadute del BIN#6? Se riesco a ottenere quel numero, è ancora meglio per aiutarmi a prendere una decisione corretta. Non è questo quello che voglio. È questo. Voglio questo. Questa è la Bootstrap Forest per le ricadute del BIN#6 normalizzate, il modello di regressione. In modo molto simile, vi mostrerò un triangolo rosso e salverò la formula di previsione. Otterrò il predittore normalizzato qui. Lasciate che lo minimizzi. Per ciascuno dei 150 wafer in fase di test nella colonna di convalida, ho ottenuto un numero predittivo per le ricadute del BIN#6. Ecco come si usa la modellazione predittiva in JMP per ottenere il numero stimato per valutare il rischio di quei 150 wafer.
Alla fine, sappiamo che circa 47 wafer saranno difettosi, il che significa un elevato rischio di ricadute BIN#6. Ma nessuno di essi attiverà il limite di scarto. Abbiamo deciso: "Ok, invieremo tutti quei 150 wafer a Uniprobe, 4 settimane dopo riceveremo i dati Uniprobe e valuteremo la validità del nostro modello". La decisione presa è di inviare il wafer perché non ne abbiamo bisogno... Ora, il wafer sarà a rischio di scarto. Inoltre, non abbiamo bisogno di iniziare un nuovo lotto perché l'impatto complessivo sullo stampo dovuto al rischio di ricadute BIN#6 stimato non è sufficiente a giustificare l'avvio di un nuovo componente come parte di un grande aumento.
Ho anche scoperto quali due parametri sono fondamentali per la ricaduta del BIN#6. Dopo un colloquio con il nostro esperto in materia, il team ha deciso di lavorare sulla resistenza elevata. Possiamo effettuare un processo di windowing e vedere se possiamo abbassare la resistenza e mantenere la resa per la parte A. L'altro parametro, ToxP, è un processo batch. È possibile processare parti diverse con la stessa tecnologia. Non è adatto per apportare modifiche al processo. Il team ha deciso di restringere il limite di controllo in linea per garantire prestazioni stabili per questo ToxP.
Quattro settimane dopo, abbiamo ricevuto il feedback Uniprobe da questi 150 wafer. Potete vedere che, sì, abbiamo un lotto di due che è superiore a quattro per la percentuale maggiore di BIN#6. Questa è la percentuale prevista di fallout di BIN#6. La correlazione è di circa il 71%. Non è male. Mi aiuta a prendere la decisione giusta. Ora, ho superato il criterio di 0,187, non ad alto rischio. Ma potete vedere, ovviamente, che un lotto, il lotto C, si comporta in modo strano. Abbiamo esaminato la cronologia delle elaborazioni in laboratorio e ci siamo resi conto che il lotto C non è un prodotto standard. È stato utilizzato per una valutazione di modifica del processo. Dobbiamo escluderlo dalla modellazione. In questo modo, possiamo migliorare il nostro R² fino all'80%.
In sintesi, sto cercando un modello predittivo che mi aiuti a prendere decisioni rapide e consapevoli, senza ricorrere al DOE che impiega mesi per ottenere il risultato. Questo modello deve gestire l'autocorrelazione senza dover manipolare eccessivamente i dati o essere limitato a causa dei vincoli di memoria del computer. Parliamo di pre-partizione e Bootstrap Forest per i dati categorici, che sono ottimi per gestire predittori di grandi dimensioni, in un gran numero di casi. Inoltre, non si preoccupa nemmeno dei predittori autocorrelati.
Parleremo di Bootstrap Forest, che ha superato anche la regressione lineare. È possibile gestire sia i dati di classificazione che quelli di regressione, e funziona molto bene con predittori di grandi dimensioni, e anche con predittori autocorrelati. Spero che questo articolo vi sia stato utile e vi aiuti a provare la vostra prima modellazione predittiva con il software JMP, in modo da poter prendere una decisione ponderata basata sui dati. Questa è la fine della mia presentazione. Grazie per l'attenzione.