Mon projet porte sur l'application d'un revêtement en solution sur une plaquette de semi-conducteur et l'optimisation des paramètres de procédé. L'objectif est d'améliorer la précision du ciblage afin d'obtenir une épaisseur constante et de minimiser l'écart type, permettant ainsi une mesure d'épaisseur plus uniforme sur toute la surface de la plaquette. Les outils utilisés dans JMP comprennent la planification d'expériences (DOE), l'analyse par moindres carrés et l'intégration d'un profileur de paramètres avec simulateur de bruit/écart type pour identifier les réglages optimaux.
Je m'appelle Nicholas. Je suis ingénieur chez Medtronic et j'utilise fréquemment JMP. Dans cette présentation, je me concentrerai sur le codage par spin et la technologie associée, ainsi que sur la manière dont nous utilisons JMP pour élaborer un plan d'expériences (DOE). Nous construirons ensuite un modèle d'ajustement pour comprendre comment utiliser le profileur et optimiser l'épaisseur de la couche de revêtement de la plaquette.
En guise d'introduction, comme je l'ai mentionné, nous utilisons JMP dans cette présentation pour étudier le codage des semi-conducteurs. Le principe de cette technologie, illustré par le schéma en haut à gauche, repose sur le dépôt d'une solution au centre d'une plaquette placée sur un support rotatif (procédé appelé revêtement par centrifugation). Différents profils prédéfinis permettent d'effectuer le dépôt à des vitesses spécifiques pendant des durées déterminées.
Généralement, le procédé consiste en une première étape à vitesse réduite qui répartit la solution sur toute la surface. On augmente ensuite la vitesse pendant une durée plus longue, ce qui permet d'obtenir différentes épaisseurs de revêtement en fonction de la vitesse choisie.
L'objectif de cette expérience, et ce que nous voulons définir dans notre plan d'expériences, est d'utiliser ce plan pour cibler différentes épaisseurs, comprendre comment les fenêtres de processus pour les différentes vitesses de rotation et les volumes distribués peuvent impacter notre couche codée, à la fois en termes d'uniformité sur toute la surface de la plaquette et d'épaisseur de sortie.
Comme vous pouvez le voir ici à droite, voici les différents facteurs que nous prenons en compte. Nous allons réaliser un plan d'expériences à six facteurs. Nous avons défini nos valeurs minimales et maximales, et je les détaillerai lors de la démonstration, en expliquant comment cela s'applique concrètement au plan d'expériences. En résumé, nous cherchons à construire un modèle à l'aide de ces fenêtres, afin d'obtenir un bon coefficient de détermination (R²), qui nous indiquera l'efficacité du modèle pour prédire les valeurs aberrantes. Nous utiliserons ensuite ce coefficient pour ajuster et cibler certaines sorties, comme l'épaisseur, et ainsi minimiser la variabilité de la surface ou l'uniformité.
Nous approfondirons ces points lors de la démonstration. À gauche, vous pouvez voir un aperçu de l'épaisseur de notre revêtement. Nous cherchons à obtenir une surface aussi lisse que possible grâce à un graphique de contours. Cela nous permet de repérer les éventuelles irrégularités de la surface. Nous passons ensuite à un modèle d'ajustement, qui représente graphiquement toutes les données issues de notre plan d'expériences. Il semble y avoir une certaine accumulation, ce qui explique les grandes valeurs observées. Nous avons également constaté quelques valeurs aberrantes sur l'une de nos plaquettes. J'aborderai ce point dans les diapositives suivantes.
À partir de ces simulations et analyses, JMP crée un profileur permettant de définir des critères de précision, par exemple une épaisseur de 10 microns ou de 10 000 nanomètres, comme illustré ici. Il faut également ajuster les facteurs pour minimiser l'écart type sur la surface de la plaquette. J'y reviendrai plus en détail dans un instant.
Voici un aperçu du plan d'expériences (DOE). En combinant les valeurs minimales et maximales de nos six facteurs, on obtient un tableau répertoriant tous les essais. Voici l'essai et son exécution. Je vais d'ailleurs lancer la démo maintenant, en ouvrant JMP. Un instant. Si je devais expliquer comment réaliser un DOE, on procède généralement comme suit : … Attendez une seconde. Classique… Non, pardon. DOE personnalisé. Il se trouve juste ici, en haut.
Ce facteur fera apparaître un tableau contextuel où vous pourrez saisir vos entrées et sorties. Pour cette configuration, nous avions une épaisseur cible. J'y ai ajouté une réponse pour nos sorties. Je souhaitais correspondre à une certaine épaisseur. Il s'agit du nom de notre réponse : « épaisseur, cible correspondante ». Dans notre cas, la limite inférieure sera de 8 000 et la limite supérieure de 12 000. Ce sont les nanomètres d'épaisseur de la couche de revêtement. Je peux ajouter « M » pour l'unité.
Nous devons également examiner l'uniformité. J'analyserai l'écart type des mesures d'épaisseur sur la plaquette ; nous appellerons cela l'uniformité. Nous cherchons à le minimiser autant que possible. Un écart type élevé indique une forte variabilité. Nous n'avons pas d'unité de mesure précise.
Nous avons maintenant nos facteurs. Dans notre cas, six facteurs continus ont été utilisés : le volume de distribution, la vitesse de rotation lors de la distribution et la rotation de la plaquette pendant la distribution. Nous avons ensuite la rotation de la plaquette pendant la distribution, en veillant à ce que le produit soit centré sur celle-ci. On a donc la rotation 1 (vitesse), la rotation 2 (ou rotation 1, durée), puis la rotation 2 (vitesse) et la rotation 2 (durée). Cette étape comporte trois facteurs : la distribution, la rotation (rotation 1) pour répartir la solution, et la rotation 2 pour cibler et concentrer le produit sur… Oh non, pardon. Je m’excuse.
La vitesse de distribution correspond à la dispersion de la solution sur la plaquette. La première rotation, celle où nous ciblons la vitesse et tentons d'atteindre une épaisseur précise, est cruciale pour y parvenir. La deuxième rotation, la dernière et dernière, consiste en une augmentation très rapide de la vitesse afin d'éliminer toute accumulation sur les bords. Il s'agit simplement d'un bref mouvement de la plaquette pour enlever tout excès de solution en périphérie.
Pour cette étape, je vais essayer d'être plus rapide. Nous avons préparé un volume de 8,5 à 10,5 millilitres. La vitesse de rotation variait de 100 à 400 tr/min afin de bien répartir la solution. Ensuite, nous avons utilisé une vitesse de 500 à 700 tr/min pour obtenir l'épaisseur souhaitée, en dispersant la solution de manière à la fluidifier. Cette opération durera entre 40 et 60 secondes.
Enfin, notre dernier test portait sur la vitesse d'acquisition très rapide. Au début de cette construction, nous ne savions pas vraiment quelle vitesse utiliser. Nous avons testé une plage assez large, de 1200 à 2400 tr/min, mais sur des intervalles de deux ou six secondes seulement. Ces plages de traitement sont assez larges. Nous nous attendons à des résultats très différents pour les valeurs extrêmes. Voilà en gros comment nous avons configuré notre plan d'expériences, nos variables explicatives (X) et nos variables explicatives (Y). Je clique sur « Continuer ».
Je vais rapidement définir nos unités. Nous aurons les tours par seconde et le temps, qui est… pardon. Tours par minute pour la vitesse et secondes pour le temps. Le volume est exprimé en millilitres. La vitesse est également exprimée en tr/min. J'ajoute généralement une interaction secondaire pour renforcer la robustesse du modèle. Cela permet de comprendre comment chaque variable interagit avec les autres. On pourrait ajouter une troisième et une quatrième interaction, mais cela complexifierait inutilement le modèle.
Pour notre configuration, nous avons finalement opté pour 24 plaquettes. L'avantage de JMP, c'est qu'il indique la configuration minimale requise et la configuration par défaut. Dans l'industrie des semi-conducteurs, nous utilisons des cassettes contenant chacune une plaquette, et nos cassettes peuvent contenir jusqu'à 24 plaquettes simultanément. Nous cherchons une configuration intermédiaire entre la configuration minimale par défaut et 24 plaquettes. Cela correspond exactement à la façon dont nous chargeons notre équipement. Je peux ensuite paramétrer cela. Nous allons traiter 24 plaquettes pour l'ensemble de ce plan d'expériences, puis lancer la création du design.
JMP va effectuer ces calculs très rapidement et générer un tableau reprenant tous nos facteurs, avec les résultats en colonnes. On y voit l'ordre d'exécution (de 1 à 24) et les facteurs définis. Pour la première plaquette, on exécute chaque facteur de contrôle, puis on répète l'opération pour les 24 plaquettes. On peut ensuite analyser la consommation électrique et évaluer la robustesse de la fabrication. Elle se situe autour de 60 W, donc elle pourrait être améliorée, mais elle convient à notre analyse initiale de la fenêtre de procédé.
Je vais créer le tableau. L'ordre d'exécution a été randomisé, ce qui génère ce tableau. Nous avons tous nos facteurs, comme indiqué dans le tableau précédent, et nous pouvons ensuite choisir entre l'épaisseur et l'écart type. J'ai ajouté un troisième facteur par erreur, sans m'en rendre compte. On peut l'ignorer pour l'instant. L'épaisseur et l'écart type sont des valeurs de sortie.
Si j'utilisais les données déjà recueillies, voici nos résultats : l'épaisseur moyenne des plaquettes et l'écart type. Il s'agit ici des moyennes de l'ensemble de données. En réalité, nous enregistrons environ 1 400 points de données par plaquette, ce qui est considérable. Je peux vous montrer ici un tableau très complet regroupant tous ces points.
Voici comment j'ai configuré le système : nous avons ici nos six facteurs de contrôle, puis l'épaisseur réelle des plaquettes (données issues des axes X et Y), la sortie moyenne et l'écart type calculés pour ces plaquettes. Ensuite, j'aime généralement visualiser le tout comme un rouleau PGA : une approche pratique, graphique et analytique.
Tout d'abord, nous allons examiner concrètement tous les ensembles de données. Je vous montrerai un graphique de contours de notre profil de surface, comme celui présenté dans la diapositive précédente. Chaque point de données correspond à une mesure de coordonnées XY permettant de mesurer l'épaisseur. Nous collectons de nombreuses données sur l'ensemble de la plaquette, mais nous savons qu'autour de certains points de bord se trouvent des zones non critiques. Ces zones ne contiennent aucun composant critique à retirer de la plaquette. Nous pouvons donc éliminer les points de données correspondants.
J'ai déjà exclu et masqué certaines données non essentielles. Pour ce faire, il suffit de cliquer sur le petit graphique d'en-tête lors de l'affichage initial des données ; un tableau récapitulatif de chaque colonne apparaît. Il est important de vérifier que tous les identifiants de plaquettes sont présents. Vous pouvez ainsi identifier d'éventuelles valeurs aberrantes. Cela vous permettra d'améliorer la précision des données en cas de valeurs aberrantes ou de défauts connus.
À partir de là, nous passerions à la représentation graphique. Je me rendrais dans Graphique, puis Créateur de graphiques. Nous examinerions alors les profils de surface sur l'ensemble de la plaquette. Nous disposons de nos coordonnées XY, et je m'intéresserais ensuite à l'épaisseur. J'attribuerais une couleur à chaque point de données en fonction de l'épaisseur, puis je pourrais la transformer en contour. Actuellement, l'analyse porte sur toutes les plaquettes en stock. Je saisirais l'identifiant de la plaquette dans le champ prévu à cet effet, ce qui me donnerait la liste de toutes les plaquettes traitées, de 1 à 24. Je peux les voir toutes classées ici.
On constate une large gamme d'épaisseurs avec ce plan d'expériences. Nous sommes passés de 2 000 nanomètres à 13 000 nanomètres, selon les paramètres de contrôle de la cible. Notre objectif principal est d'identifier les zones de forte non-uniformité. On observe ici une épaisseur nettement supérieure au centre de la plaquette et nettement inférieure en périphérie. L'uniformité est donc probablement insuffisante.
Une autre façon de tester cela consiste à accéder à l'outil, je crois qu'il se trouve dans Analyser. Je vais créer un graphique individuel. Il faut que je me souvienne où je l'ai mis. Voilà. Créateur de graphiques de contrôle. Avec cet outil, nous pouvons utiliser l'épaisseur comme axe Y et les identifiants des plaquettes. Oh, pardon, pas les identifiants des plaquettes. En fait, oui, faisons-le. Ensuite, je vais réduire la taille de l'échelle à environ… Essayons 10 000 ou 11 000. Zéro. D'accord, je vais devoir augmenter un peu la valeur. Prenons environ 15 000. Car je crois que notre plaquette la plus chère avait un identifiant d'environ 13.
Vous pouvez voir ici, pour chaque plaquette, que les données sont réparties entre elles pour chaque série d'analyses. Vous pouvez ainsi observer la distribution des points de données… Certaines plaquettes présentent une uniformité très faible, tandis que d'autres sont légèrement meilleures. Par souci de gain de temps, je vais afficher un graphique que nous avions déjà préparé, avec les données réparties entre chaque plaquette. Je l'ai créé il y a quelque temps, mais une fois le chargement lancé… Voilà. Nous avons également notre graphique de données individuel. Il était divisé pour chaque plaquette, et vous pouvez y voir l'écart-type, la moyenne et les limites de contrôle supérieure et inférieure pour chacune.
Si vous preniez ceci et le compariez à… Laissez-moi essayer de l'afficher correctement à l'écran. Nous avons ceci, et je vais également afficher la carte de contrôle. Oups, mauvaise carte. Si nous observons certaines de ces plaquettes, comme celle-ci, il semble que son uniformité soit très mauvaise. Sur ce graphique, je peux mettre en évidence ces points de données. Ainsi, je peux voir… Je pensais que cela s'afficherait ici.
Normalement, quand on les sélectionne, les données correspondantes s'affichent. Peut-être que le zoom arrière vous empêche de les voir. Mais j'ai la liste ici. Il s'agit de la plaquette 09-D3. Sur cette plaquette, vous pouvez constater qu'elle est très épaisse au centre et moins épaisse sur les bords. Nous avons également relevé des données étranges sur la plaquette 11-D3. Quelques valeurs anormalement élevées semblent être des valeurs aberrantes. Nous ne savons pas exactement pourquoi elles sont là. Elles ne faisaient pas partie des données exclues que j'ai retirées.
D'après ces données, je crois qu'il s'agissait de 11-D3. Si je devais examiner… Désolé, l'ordinateur bugue un peu. Agrandissons un peu la fenêtre. Il semble que pour 11-D3, nous ayons constaté quelques points de données présentant de légères anomalies, sources de problèmes à la surface de la plaquette. Sinon, les résultats étaient assez similaires dans la plage moyenne. Nous pouvons donc nous pencher sur l'origine de ces anomalies et identifier la cause première.
L'un des atouts des graphiques JMP est qu'ils permettent d'effectuer une analyse des causes profondes : « Quelle est la cause du problème ? Y avait-il des particules métalliques ou des débris en surface lors des mesures ? Ou bien un autre élément interfère-t-il avec les données ? »
Une fois l'analyse graphique satisfaisante, nous pouvons procéder à l'élaboration d'un modèle d'ajustement afin d'évaluer la cohérence des données. Pour ce faire, nous utilisons les données, notamment l'épaisseur (variable de sortie), que nous plaçons dans l'axe des ordonnées, ainsi que l'écart type. Cette méthode nous permet de déterminer la capacité d'une fonction à prendre en compte les variables de contrôle et à cibler certaines sorties. C'est précisément le rôle de ce modèle d'ajustement.
Ensuite, nous pouvons ouvrir un profileur, ce qui nous permettra d'ajuster différents facteurs de contrôle et d'observer les résultats attendus. L'épaisseur et l'écart type sont les résultats. Voici donc nos six facteurs de contrôle. Je vais les ajouter. En fait, je vais… OK, oui, c'est parfait. On va lancer le calcul. J'utilise généralement la méthode des moindres carrés standard. Cette méthode permet d'obtenir un modèle optimal pour tous les contrôles, afin de cibler les résultats. On va lancer le calcul.
Voici ce qui est apparu. Comme vous pouvez le constater, toutes nos données ont une incidence significative sur les résultats. C'était prévisible. Nous avons défini une plage de paramètres assez large. En résumé, nous ne pouvons pas supprimer de facteurs pour simplifier notre équation. Nous devons donc tous les conserver.
Si vous consultez le résumé de l'ajustement, vous verrez que notre coefficient de détermination (R²) est de 0,909. C'est un excellent R², et nous avons une erreur quadratique moyenne de 502. Nous pourrions également ajouter les interactions, puisque nous les avons incluses dans le plan d'expériences. Je vais d'ailleurs recommencer et les ajouter. Nous allons créer un modèle d'ajustement, l'épaisseur, l'écart type, puis les six facteurs de contrôle. Ajoutons-les. Zut ! J'ai encore fait une erreur. Je vais les supprimer. Si je les avais sélectionnés, j'aurais pu utiliser les macros et effectuer une factorielle jusqu'au degré souhaité. J'avais un degré 2 ici, et c'est ainsi que nous obtenons nos secondes interactions.
Maintenant, si je l'exécute, nous ajouterons l'épaisseur et l'écart type à nos résultats. Je laisse le programme s'exécuter. Très bien, la liste est beaucoup plus longue. Toutes les interactions sont également incluses. Encore une fois, tout est significatif, je ne peux donc pas simplifier cette équation. Mais si vous consultez le résumé de l'ajustement, nous obtenons maintenant 0,97 ou 0,965. Nous avons un estimateur beaucoup plus performant pour prédire ces points de données.
Je peux cliquer sur ce petit bouton rouge, et on peut ajouter le profileur. Je vais créer un profil. Il apparaîtra ensuite en bas. On peut fermer certains éléments pour simplifier. Voici le résumé. J'aurais dû commencer par là. On a notre réponse pour l'épaisseur, avec un coefficient de détermination (r²) de 0,967. Notre capacité à prédire l'épaisseur est excellente. On a également un r² pour l'écart type, qui est de 0,965. Là encore, la corrélation est très forte pour la prédiction.
Je crois qu'on l'a mis ici. Ah, il faudrait trouver un endroit pour ça. Bon, peu importe. On va se concentrer sur le profileur maintenant. Voyons si je peux mieux ajuster cette fenêtre. Pour le profileur de prédiction, vous voyez ici nos facteurs de contrôle sur l'axe X et l'épaisseur et l'écart type, qui sont nos sorties, sur l'axe Y. Je souhaite pouvoir configurer ce profileur pour qu'il prédise les différentes valeurs souhaitables.
Vous devez ensuite accéder à l'optimisation et à la notion de désirabilité. Cliquez sur « Fonctions de désirabilité ». Une colonne « Désirabilité » apparaîtra alors. Lorsqu'elle atteint 1, cela signifie que l'option est la plus désirable. Il existe une forte corrélation entre les valeurs que vous avez définies pour vos variables X et l'atteinte de ces objectifs. Mais avant cela, vous devez définir vos critères de désirabilité.
Pour l'épaisseur, je souhaite atteindre la valeur cible. Dans ce cas, la valeur médiane est celle de référence. Prenons 9 000. Arrondissons à 10 : 10 000 comme valeur cible, 12 000 comme valeur maximale et 20 000 comme valeur minimale. Nous voulons rester dans cette plage. On devrait obtenir un résultat satisfaisant. Concernant l'écart type, il suffit de le minimiser.
Puisqu'on cherche simplement à minimiser, en visant la limite inférieure, je vais conserver ces valeurs inchangées. Vous pouvez constater que, pour la désirabilité, avec la configuration actuelle et ces sorties, on obtient environ 8,3 pour l'épaisseur. On voit que ce n'est pas la désirabilité souhaitée. L'écart type est un peu élevé. Maintenant que vous avez défini votre désirabilité, vous pouvez demander à JMP de la maximiser.
Ce programme va utiliser les paramètres que vous avez fournis et les ajuster pour obtenir les résultats les plus satisfaisants. Pour atteindre une épaisseur de près de 10 000 nanomètres et minimiser l'écart type, voici les facteurs de contrôle que nous devons définir. Certains seront légèrement inexacts ; je peux donc les ajuster à 12 000. Ensuite, je modifierai celui-ci à environ 550. Ce sont des valeurs numériques que notre équipement peut saisir.
Pour aller plus loin, j'aime bien ajouter un peu de bruit à la prédictibilité. On peut utiliser un simulateur pour introduire un peu de bruit aléatoire. L'aléatoire de ce bruit est tiré de la racine carrée, comme vous pouvez le voir ici. L'erreur quadratique moyenne est de 303 pour l'épaisseur et d'environ 21 pour l'écart type. C'est ce qui sert à créer ce bruit dans le système.
Concernant nos commandes, le volume est un paramètre important. En situation de production réelle, il est impossible d'obtenir un volume parfaitement constant. Des facteurs de bruit l'influencent. J'ajouterai donc un léger bruit aléatoire à ce facteur d'entrée. Par ailleurs, les régimes et les temps sont relativement constants et fixes sur ces points de données ; je peux donc les conserver.
Lorsque vous cliquez sur « Simuler », vous créez une variabilité des capacités et vous comprenez mieux comment ce bruit et cette variabilité influencent votre calcul. L'avantage, c'est que vous pouvez ensuite expérimenter et ajuster ces valeurs. Par exemple, si je modifie cette valeur à 8, observez son impact sur les résultats et sur notre capacité à les atteindre. Ensuite, vous pouvez… Revenons à 10,5. Vous constatez que la vitesse d'exécution très rapide a un impact considérable sur notre résultat. Si vous la modifiez, vous voyez comment elle affecte l'épaisseur, et nous ne sommes plus dans la plage cible.
Si vous souhaitez ajuster les paramètres pour atteindre une épaisseur différente, il vous suffit de réinitialiser les épaisseurs. Par exemple, si 9 000 nanomètres sont plus adaptés, nous pouvons les modifier et les conserver. Ensuite, vous pouvez relancer l'optimiseur en maximisant ses paramètres, et il les ajustera. Nous atteindrons ainsi une épaisseur d'environ 9 000 nanomètres.
Oui, je crois que c'est tout ce que je voulais aborder dans cette présentation : la réalisation d'un plan d'expériences (DOE) pour comprendre nos fenêtres et plages de processus, et leur impact sur les résultats. À partir de là, nous pouvons utiliser cette valeur de désirabilité pour définir un point de données nominal. Ensuite, ce modèle d'ajustement nous permet de créer notre équation. Au fur et à mesure de la fabrication des plaquettes, nous pouvons ajouter ces points de données à ce tableau et actualiser ce modèle d'ajustement, ce qui nous permet d'obtenir une corrélation de plus en plus forte pour notre outil de profilage prédictif. Ma présentation est maintenant terminée.