Comment déterminer les clusters de défauts de tranches de semi-conducteurs / modèles de tri ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />SALUT,
Je viens d'installer JMP 12.
L'une des principales raisons pour lesquelles je l'ai fait était d'améliorer nos capacités d'exploration de données en utilisant éventuellement les "Améliorations de clustering" introduites dans JMP 12.
Mon besoin fondamental est de diviser les modèles de plaquettes en groupes afin d'effectuer une analyse des points communs dans le but de trouver les sources de variation.
Comme indiqué dans les notes de publication de JMP 12 :
"Dans l'industrie des semi-conducteurs et d'autres industries, il est important de déterminer les groupes de modèles de défauts de tranche. Cela signifiait auparavant créer une variable pour créer des coordonnées XY, puis diviser sur cette dimension, regrouper et fusionner les clusters. Maintenant, JMP accomplit cela en une seule étape."
Il y a une illustration montrant un exemple de ce que je voudrais faire:

J'ai besoin d'effectuer de telles analyses assez souvent. Un exemple de cette semaine est vu ci-dessous:

J'ai besoin de déterminer combien de modèles similaires existent et combien de tranches appartiennent à chaque modèle ?
Quelqu'un a-t-il fait une telle analyse ?
Existe-t-il un bon tutoriel / guide disponible n'importe où?
Je suis sûr que cela intéresse au plus haut point les fabricants de semi-conducteurs et de dispositifs MEM.
Ce cas pourrait être un bon candidat pour un prochain JMP Discovery Summit
Tous les conseils et commentaires sont appréciés.
- Philippe
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Quelle est la manière la plus simple de remplir un tableau avec les "bons" emplacements de matrices ?
Je suppose qu'il y a un moyen beaucoup plus simple que celui-ci ...
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );
dt << Select Where( :Defects == 0 ) << Delete Rows;
xmin = -21;
ymin = -21;
xmax = 21;
ymax = 21;
dx= xmax-xmin;
dy= ymax-ymin;
nItems= (dx +1)*(dy + 1)-1;
tmp = New Table();
tmp<< Add Rows( nItems );
tmp: column1 << Data Type( Character ) << set name("Lot");
tmp << new column("Wafer");
tmp << new column("x", Set Each Value(xmin + Floor((row()-1)/dx)));
tmp << new column("y", Set Each Value(ymin +Mod((row()-1),dy)));
label= new column("label",Character, Set Each Value(Char(:x)||" "||Char(:y)));
tmp << new column("missing");
myEntries = tmp:label << get values();
entriesAsCols = tmp << Split(
Split By( :x, :y ),
Split( :missing ),
Group( :lot, :wafer ),
OutPut Table("split")
);
myMatrix = entriesAsCols << Join(
With( dt ),
Merge Same Name Columns,
Match Flag(0),
By Matching Columns( :Lot = :Lot, :Wafer=:Wafer ),
Drop multiples( 0, 1 ),
Include Nonmatches( 0, 1 ),
OutputTable("Matrix")
);
// Stack data table
// → Data Table( "Untitled 26" )
cols = Transform each ({col},As List( myEntries),Column(myMatrix,Char(col)));
myMatrixStacked = myMatrix << Stack(
columns(cols),
Source Label Column( "label" ),
Stacked Data Column( "Data" ),
"Non-stacked columns"n( Keep( :Lot, :Wafer ) ),
Output Table("stacked")
);
myMatrixStacked << new Column ("Defects", Set Each Value(.));
colX = myMatrixStacked << new column ("X_Die",Set Each Value(Num(Word(1,:label," "))));
colY = myMatrixStacked << new column ("Y_Die",Set Each Value(Num(Word(2,:label," "))));
floodedTable = dt << Join(
With( myMatrixStacked ),
Match flag(0),
Merge Same Name Columns,
By Matching Columns(
:Lot = :Lot, :Wafer = :Wafer, :X_Die = :X_Die, : Y_Die = :Y_Die
),
Include Nonmatches( 1, 1 ),
OutputTable("flooded")
);
floodedTable << Recode Column(
dt:Defects,
{Map Value( _rcOrig, {., 0}, Unmatched( _rcNow ) )},
Target Column( :Defects )
);
CLose(dt,myMatrix,entriesAsCols,myMatrixStacked, noSave);Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Salut @jerry_cooper ,
En raison de la configuration de mesure "stop on fail", je perds des valeurs. Cela signifie que j'ai des valeurs manquantes.
J'utilise "l'imputation de la valeur manquante" pour résoudre mon problème. Merci pour votre réponse !!
Une autre question : la carte thermique que je vois. Comment est-il calculé ou normalisé ?
min/max de la colonne/variable = plage ?
Et puis la couleur d'une certaine valeur est attribuée dans cette plage ?
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Salut @Jeunot ,
Il est difficile de savoir avec certitude sans voir vos données, cependant, je pense que l'erreur que vous recevez peut être le résultat d'une tentative d'empilage de cartes de plaquettes incomplètes ou d'une tentative d'empilement de plaquettes avec différentes dispositions. Si vos données ne contiennent que les puces défectueuses (et leurs emplacements), vous devrez remplir votre tableau avec les "bons" emplacements des puces pour chaque plaquette et indiquer qu'elles ne sont pas défectueuses, c'est-à-dire entrer un 0 dans la colonne Défauts. Cela peut sembler intimidant, mais peut facilement être fait avec une jointure après avoir créé une table avec tous les emplacements de puces possibles pour votre carte de plaquettes.Cette approche suppose que chaque plaquette a la même disposition.
Essayer de comparer des plaquettes avec différentes dispositions avec cette plate-forme nécessiterait une manipulation de données et une créativité importantes.
Publier vos données, si vous le pouvez, serait utile pour déterminer un parcours plus définitif pour vous.
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Salut Mike,
J'aimerais essayer la méthode Wafer Stacked. Cependant, je rencontre le problème avec "pas assez de données non manquantes".
Je ne comprends pas du tout. J'ai comparé mes données avec des exemples de données "wafer stacked.jmp".
Rien n'est différent dans le principe.
Existe-t-il d'autres problèmes connus ?
@martindemel
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Merci Michel pour votre réponse complète.
Au plaisir de faire une exploration spatiale.
J'apprécie le temps et les efforts que vous avez consacrés à ce sujet.
Cordialement,
Philippe
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Philippe,
Salut!Content que tu aies compris ça !Sur ces deux nouvelles questions, les détails sur les différentes méthodes d'adaptation sont décrits en détail dans les manuels fournis avec votre installation de JMP.Celui que vous voulez est le livre Méthodes multivariées.Il se trouve sous Aide > Livres > Méthodes multivariées.Les détails sur les méthodes d'ajustement se trouvent dans la section Détails statistiques pour le regroupement hiérarchique, à partir de la page 75.
Sur votre deuxième question concernant les composants spatiaux. Les nombres sont le nombre de composants spatiaux potentiels que l'analyse a trouvés (elle fait déjà un travail préliminaire à ce stade).
- Les attributs sont les combinaisons spécifiques des variables fournies dans le champ des attributs de la boîte de dialogue de configuration.Dans ce cas, l'individu mourrait tel que défini par les paires de coordonnées (X,Y).
- Angle, Tarte recherche des formes en coin ou des formes hémisphériques (c'est-à-dire que la moitié d'une plaquette est décorée de nodules de Cu en raison d'une connexion défectueuse avec les électrodes de placage ou quelque chose).
- Rayon, Cercle recherche des choses comme les rayures annulaires dans CMP, ou peut-être des modèles basés sur CVD avec une configuration de dépôt de pommeau de douche.
- Trait, Angle ressemble à des caractéristiques linéaires qui ont le même angle (c'est-à-dire des stries provenant d'une configuration de séchage Marangoni défectueuse.)
- Série, position recherche des stries avec une position similaire dans l'espace.
Vous pouvez voir à quoi ressemble chacune des fonctionnalités dans le tableau de données fourni lorsque cette boîte de dialogue "Spatial" apparaît.Il affichera la transformation de Hough pour chacune des variables dans la boîte de dialogue ainsi que d'autres informations sur chaque fonctionnalité.Vous pouvez décider lequel inclure en cochant en décochant les cases à côté de chaque type d'entité dans la boîte de dialogue, c'est-à-dire que si vous n'êtes pas préoccupé par les rayures annulaires dans cette analyse, décochez le type de variable qui a ces caractéristiques basées sur la transformation de Hough informations - probablement Rayon, Cercle.
La pondération dans le dialogue spatial est exactement ce à quoi elle ressemble : elle pondère l'importance de chaque type de variable dans l'analyse de clustering.Si quelque chose doit être pris en compte, mais qu'il est moins important qu'un type d'entité particulier, vous pouvez le rendre moins important que d'autres types d'entités.
Concernant votre dernière question sur les paramètres, je baserais les paramètres sur ce que vous voyez dans les transformations de Hough, la boîte de dialogue (compte de chaque type de fonctionnalité) et ce que vous savez sur la ligne.Si vous savez que vous avez encore du matériel dans la ligne touché par un problème de stries, il peut être prudent de réduire le poids des steaks.Vous voulez probablement surveiller la récurrence, mais vous ne voulez pas vous pourchasser à propos de quelque chose que vous connaissez déjà. Si vous ne vous souciez pas du tout des stries, désactivez-les complètement.Ma recommandation de base sur ce type de chose est d'utiliser les valeurs par défaut jusqu'à ce que vous ayez des données - numériques ou circonstancielles - pour faire autrement.
Meilleur,
M
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Salut Michael,
Merci pour votre réponse. Je n'utilisais qu'une seule colonne Defect Count à l'époque.
Après avoir redémarré JMP, je ne vois plus le message d'alarme intermittent.
J'ai pu exécuter l'analyse en suivant vos instructions. Voir un exemple ci-dessous :

Étant donné que la documentation est "un peu légère" sur cette fonctionnalité, je me demandais si vous pouviez m'expliquer quand utiliser Ward, .. Moyenne, .. Options complètes ?

Pouvez-vous également expliquer l'importance du nombre et du poids dans les composants spatiaux ?

Lors de la visualisation des types de wafermaps que j'ai sortis de la ligne (voir ci-dessus), avez-vous des recommandations pour ces paramètres de composant ?
- Philippe
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Philippe,
C'est un problème complètement différent.Pouvez-vous nous en dire plus sur votre jeu de données ?Peut-être publier une version anonymisée des données ?Ce qui se passe probablement, c'est que vous essayez de diviser les données en trop de sous-groupes.Cela m'est arrivé dans les cas où j'ai un ensemble de données très large (de nombreuses colonnes), mais peu profond (quelques lignes).Si vous faites des données sur les défauts des semi-conducteurs (comme la carte non-JMP que vous avez fournie), je parie que l'erreur que vous voyez consiste davantage à essayer de regrouper trop de clusters causaux potentiels.Pouvez-vous fournir quelques détails?
Meilleur,
M
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Merci Carl pour votre contribution.
Cordialement,
Philippe
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Merci Kévin,
Un article excellent et instructif.
Exactement le type de travail que j'aimerais faire.
Malheureusement les techniques ne sont pas partagées
Cordialement,
Philippe
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Salut Michael,
Merci beaucoup pour votre contribution.
J'ai essayé de faire l'analyse comme vous l'avez demandé et j'ai même réussi à quelques reprises
Cependant, je reçois assez souvent le message d'alarme ci-dessous qui amène l'analyse à un brusque et .

Une idée de ce qui peut causer cela?
Existe-t-il des limitations sur le type de données ?
Cela semble cependant très prometteur et je continuerai à évaluer / enquêter.
Existe-t-il d'autres documents sur cette technique ?
Cordialement,
Philippe
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Ouais... C'est une fonctionnalité géniale dans 12, mais c'est un peu léger dans la documentation.Les bases de son utilisation (avec les cartes de plaquettes des clusters) sont les suivantes (notez que vous avez besoin d'une colonne de comptage - c'est-à-dire des défauts dans un dé - et des coordonnées xy pour la structure d'intérêt - c'est-à-dire l'emplacement du dé - pour faire cela travail.):
- Dans JMP12, accédez à Analyser> Méthodes multivariées> Clustering.
- Mettez la colonne de données qui contient votre nombre de défauts en Y
- Sélectionnez le menu déroulant dans le coin inférieur gauche de la boîte de dialogue indiquant "Données habituelles".Choisissez "Les données sont empilées" dans ce menu déroulant.
- Cochez "Ajouter des mesures spatiales" sous la liste déroulante (apparaîtra après avoir sélectionné "Les données sont empilées").
- Ajoutez les coordonnées x et y de la structure qui vous intéresse dans la zone ID d'attribut de la boîte de dialogue.
- Ajoutez les identifiants de plaquette à la zone d'ID d'objet (c'est-à-dire l'ID de lot, l'ID de plaquette, l'ID de logement, etc. ou des combinaisons de ceux-ci).
- Cliquez sur OK.
- Dans la boîte de dialogue suivante, vous pouvez ajuster les pondérations des différentes composantes spatiales dans l'analyse.(J'irais juste avec les valeurs par défaut pour l'instant)
- Cliquez sur OK.
- Le rapport affichera maintenant le dandrogramme où vous pourrez régler le nombre de clusters que vous souhaitez prendre en compte. Vous pouvez ajuster cela en utilisant le petit losange sur l'axe des abscisses du dendrogramme.
- Pour voir les clusters sous forme de cartes de plaquettes, sélectionnez "Résumé du cluster" sous la flèche rouge en haut du rapport.Le rapport générera également un tableau de données avec les clusters sous forme d'images dans une colonne d'expression.
J'espère que cela pourra aider!
meilleur,
M
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Une présentation a été donnée en 2014 sur un sujet similaire.Vous pouvez vérifier cela et voir que cela aide.Il n'a pas la réponse complète, mais vous pouvez voir s'il vous emmène sur la bonne voie.Il a été conçu pour examiner les modèles spatiaux de tri :
Classification des modèles spatiaux des plaquettes semi-conductrices avec JSL
-Carl
Re : Comment déterminer les grappes de défauts de tranches de semi-conducteurs/modèles de tri ?Salut, Philippe !
Vous avez raison; cette question a été, est et sera d'un intérêt majeur pour les fabricants de dispositifs à semi-conducteurs.Par exemple, SEMATECH a parrainé tout un symposium sur les méthodes statistiques sur les statistiques spatiales en 1999.Je ne connais pas de grands tutoriels ou guides spécifiquement sur les statistiques spatiales dans les semi-conducteurs ... Je suppose que cela est dû, en partie, à l'avantage concurrentiel qu'un système théoriquement justifié et qui fonctionne bien accorderait au propriétaire.La propriété intellectuelle est très appréciée dans cette industrie.
Peut-être seriez-vous intéressé par cette présentation JMP Discovery 2014 : https://community.jmp.com/servlet/JiveServlet/download/6695-5-69366/Semiconductor%20Wafer%20Spatial%20Pattern%20Classification%20With%20JSL%20%E2%80%93%20JMP%20Discovery%20Summit% 202014.pdf
Il est dit au début de chaque épisode de Star Trek : Space really est la frontière finale!Bonne chance!