La evaluación de la fiabilidad de dispositivos e interconexiones en tecnologías de semiconductores se realiza habitualmente para la certificación tecnológica y la monitorización periódica, utilizando muestras relativamente pequeñas (de un solo dígito a decenas) por condición. Los datos de fabricación en serie pueden utilizarse a lo largo del tiempo para evaluar la fiabilidad dieléctrica mediante mediciones de ruptura de tensión en rampa en estructuras de prueba de carril de trazado. Con el tiempo, esto puede proporcionar una visión detallada del comportamiento dieléctrico, incluyendo una combinación de mecanismos intrínsecos y extrínsecos que afectan a la integridad dieléctrica. En particular, se pueden detectar y abordar valores atípicos o colas con baja tasa de fallos, que de otro modo podrían suponer riesgos para la calidad de campo.
Por razones prácticas, la rampa puede detenerse en un voltaje objetivo para reducir el tiempo de prueba y evitar daños en las tarjetas de sonda y las agujas, lo que podría resultar en la censura de un pequeño número de puntos de datos. Ajustar grandes conjuntos de datos con un pequeño número de puntos de datos censurados puede generar problemas de convergencia, lo que resulta en parámetros de ajuste incorrectos y falta de intervalos de confianza, además de plantear importantes desafíos computacionales.
Este trabajo explora estos desafíos con la plataforma JMP Life Distribution y examina alternativas y soluciones para permitir un análisis, ajuste y extrapolación correctos.
Hola, comunidad de JMP. Me llamo Mehul Shroff. Trabajo en NXP Semiconductors en Austin, Texas. Junto con Don McCormack de JMP, presentaremos un estudio sobre la evaluación de la fiabilidad dieléctrica en la fabricación de semiconductores.
Para presentar el tema, este es un dibujo animado de un transistor semiconductor básico conocido como MOSFET. Dentro de la estructura, se encuentra un dieléctrico de compuerta que se utiliza para aislar la compuerta del canal, y que actúa como elemento de conmutación en el transistor. La compuerta controla el flujo de portadores de carga en el canal. La integridad del dieléctrico de compuerta es crucial para la fiabilidad del dispositivo en campo. Una forma de analizar esto es mediante estudios de ruptura de tensión en rampa en la fabricación a gran escala, mediciones que pueden ayudarnos a detectar derivas y problemas de defectos en el dieléctrico de compuerta. Esto se realiza típicamente en estructuras de prueba de línea de trazado, donde tenemos áreas más pequeñas, pero con el tiempo podemos obtener muestras más grandes. En el mundo de los semiconductores, consideramos la calidad de campo en términos de la conocida curva de bañera, donde la tasa de fallos observada disminuye inicialmente con el tiempo y luego aumenta posteriormente. Esto se debe a la contribución de diferentes grupos de mecanismos.
El primero, conocido como mecanismos de confiabilidad extrínseca, se ocupa principalmente de fallas tempranas, como defectos latentes y mortalidad infantil. Podemos reducir esto considerablemente mediante diversas pruebas y análisis que realizamos antes de enviar las piezas. El siguiente comprende fallas constantes o aleatorias, como errores leves, bloqueo y ESD. El último comprende mecanismos de confiabilidad intrínseca, que se centran en el desgaste del dispositivo, incluidos los dieléctricos, que se produce con el tiempo y aumenta con el tiempo. Cuando recopilamos datos de ruptura dieléctrica, normalmente preferimos representarlos mediante una distribución Weibull, ya que así es como se ajustaría la distribución ideal. Sin embargo, en la práctica, nuestras distribuciones suelen ser mixtas, como se muestra en este conjunto de datos, donde podemos tener una cola extrínseca debido a defectos en el adelgazamiento local; entonces, la mayoría de nuestros datos, con suerte, son de ruptura intrínseca o natural. Pero eso puede complicarse por variaciones del proceso como las que se muestran aquí en este mapa de oblea, donde el espesor dieléctrico de la compuerta varía a lo largo de la oblea, lo que causa diferencias en la ruptura intrínseca y la curvatura que vemos en el lado alto.
Luego, algunos sitios no fallan dentro de nuestro tiempo de prueba o voltaje máximo.
Para evitar dañar la aguja de la sonda y mantener un tiempo de prueba manejable, detenemos la prueba y, por lo tanto, esta se convierte en nuestra interpretación de los datos. ¿Por qué necesitamos ajustar esto? Principalmente porque queremos monitorear las desviaciones a lo largo del tiempo que resultan en cambios en los parámetros. Queremos comprender el impacto de los cambios o mejoras en el proceso y proyectar un comportamiento de bajo PPM para aplicaciones de alta confiabilidad, como la automotriz. Sin embargo, al intentar ajustar estas distribuciones mixtas, a menudo nos encontramos con problemas de convergencia y, por lo tanto, no obtenemos confianza en las herramientas, como se muestra aquí, donde obtenemos el ajuste nominal, pero no la confianza en las herramientas. Esto puede deberse a una combinación de grandes conjuntos de datos, distribuciones imperfectas o mixtas y censura. Aquí hay un ejemplo de los mismos datos donde tenemos una distribución con censura y no podemos converger. En este caso, si tratamos los datos censurados como datos defectuosos, lo cual es claramente incorrecto, pero solo a modo de ilustración, podemos lograr su convergencia.
Pero observamos que el ajuste en sí es ligeramente peor que el anterior y no se ajusta del todo a la distribución intrínseca donde esperaríamos. Sin embargo, esto es solo un ejemplo para demostrar que la presencia de datos censurados influye en nuestra capacidad para ajustar estos datos.
Aquí hay un ejemplo de una mejora de proceso: una falla entre la puerta y el tren de la fuente del transistor provocó una cola extrínseca bastante grave. Mediante una serie de mejoras, la solucionamos sustancialmente. Vemos que en un conjunto de datos, teníamos algunos puntos censurados y no pudimos converger. En el otro conjunto de datos, no teníamos puntos censurados y logramos converger correctamente. Aunque visualmente podemos apreciar una mejora, no podemos juzgar estadísticamente cuál es. Vemos lo mismo en nuestras distribuciones, donde la distribución media cambia ligeramente, no mucho, pero podemos ver que los mínimos en cada sitio han mejorado significativamente si observamos la escala y el gradiente de color.
Aquí tomamos los mismos datos que antes, y vemos que tenemos el mismo problema de convergencia. Aquí tenemos un conjunto de datos diferente donde también teníamos dos versiones del proceso, una ligeramente mejor que la otra, aunque ambas mostraron una cola significativa. Sin embargo, hubo una diferencia en los ajustes intrínsecos. En este caso, ambos tenían datos censurados, y aun así convergieron. Para probar si esto estaba relacionado con el tamaño del conjunto de datos, tomamos este conjunto de datos, inflamos cada creo que por 10x para mantener la misma distribución, y comparamos esto en este análisis. Aunque el número de puntos censurados y el número total de puntos de datos aumentaron, todavía pudimos converger. Con base en esto, pudimos descartar el tamaño del conjunto de datos como un factor. Pensamos que esto fue impulsado por la escala de Weibull y los factores de forma.
En este punto, me gustaría cederle la palabra a mi coautor, Don, para que se encargue de esto. Adelante, Don. Gracias.
Gracias, Mehul. Adelante, vamos a empezar a hablar. Aunque hablamos del contexto de la fabricación de semiconductores, esto aplica a cualquier caso en el que recopilemos grandes cantidades de datos y pueda haber varios factores que influyan en los mecanismos de fallo. Como dije, que hablemos de datos de semiconductores no significa que solo se aplique a ellos.
Hablemos brevemente sobre lo que sucede con la plataforma Life Distribution, ya que es la que utilizamos principalmente. Para analizar en detalle, comprender mejor qué sucede y qué podría estar causando estos ajustes deficientes y problemas de no convergencia. Para empezar, con Life Distribution buscamos optimizar una función; específicamente, la función de verosimilitud. Lo importante de la verosimilitud es que proporciona las estimaciones de los parámetros más probables o de mayor probabilidad dados los datos. Este es el aspecto clave, ya que este enfoque se basa en datos. Otra ventaja de las funciones de verosimilitud y la distribución de Weibull es que, dado que solo hay dos parámetros en la distribución de Weibull, alfa y beta, es un problema muy fácil de analizar visualmente.
Si observan el gráfico de la izquierda, es la función de verosimilitud representada en tres dimensiones, donde beta y alfa se representan en X e Y. Buscamos el punto mínimo de ese gráfico. Al observarlo, se puede observar que, independientemente de dónde se comience, independientemente de los valores iniciales en el espacio de parámetros, se convergerá rápidamente a ese punto mínimo. Cuando los datos se comportan bien, todo avanza con rapidez y fluidez. Ahora bien, la pregunta es: ¿qué falló o qué causó el problema de no convergencia que observamos en los datos que mencionaba Mehul? En la mayoría de los casos, esto se debe a observaciones en el conjunto de datos que no son representativas del modelo principal subyacente. Obviamente, lo primero que se piensa son los valores atípicos, por lo que es posible que existan valores atípicos en los datos que causen problemas.
Los datos pueden provenir de más de una distribución. Podría haber múltiples mecanismos de fallo, y estos podrían formar parte del conjunto de datos.
Para ser justos, honestos y completos, obviamente, el modelo subyacente podría estar equivocado. Por ejemplo, tal vez la distribución Weibull no fuera la mejor. Supondremos que, dado que existe un conocimiento bastante sólido de la física de dispositivos, la distribución Weibull es realmente la mejor distribución para usar en este caso, descartaremos ese último punto. ¿Cuáles son algunas posibles...? Sabiendo que algunos de nuestros datos no son representativos, ¿qué podemos hacer en el contexto de algunas de las plataformas JMP para ayudarnos a ajustar un mejor modelo o quizás diagnosticar nuestros problemas? ¿Qué hay que cambiar el algoritmo o los valores de los parámetros? Ahora bien, esto no está disponible directamente en Life Distribution, pero hay otra plataforma maravillosa dentro de JMP, Nonlinear, que me permite hacerlo. Un poco más flexible que Life Distribution. A veces, cuando me encuentro con estos problemas, puedo usar Nonlinear. Obviamente, puedo encontrar y eliminar aquellos valores que no son representativos del modelo subyacente principal. Hay muchas herramientas en JMP que nos permiten hacerlo.
Les mostraré una herramienta con la que quizás no estén familiarizados: Fit Parametric Survival. Utilizan el filtro de datos para encontrar observaciones problemáticas en los datos.
Finalmente, pudimos encontrar y construir un modelo más representativo. Esto, obviamente, se puede lograr usando la plataforma No Lineal. Sin embargo, para lograrlo, usaremos una parte mucho más sencilla de la plataforma Distribución de Vida: la Mezcla de Ajustes. De nuevo, un resumen sencillo de las herramientas. Analizaremos la plataforma No Lineal. Analizaremos las Mezclas de Ajustes dentro de la plataforma Distribución de Vida, y luego también la Supervivencia Paramétrica de Ajustes.
Pasemos a los ejemplos. Empezaré con un ejemplo muy sencillo. He simulado datos de una distribución de Weibull, así que nada sofisticado, muy sencillo. Sin embargo, lo que voy a hacer es añadir un valor atípico a los datos. Aquí están mis datos simulados con el valor atípico. 700.000 observaciones constituyeron la mayor parte de los datos. Una observación fue el valor atípico, este de aquí. Podría decirse que es irrelevante, pero es fácil visualizarlo y extraerlo de los datos. Sin embargo, esto causa un problema con la plataforma Life Distribution.
Si lo ejecutara con la plataforma Life Distribution, notarían que tengo problemas de no convergencia. Todo se debe a este valor atípico aquí en la cola derecha. ¿Qué puedo hacer en esos casos? Resulta que Life Distribution me lleva casi hasta allí. Puedo usar la plataforma Nonlinear para llevarme el resto del camino. Abramos Nonlinear. La única dificultad con Nonlinear es que hay que conocer la forma de la función Log Likelihood. Hay mucha de eso disponible en la literatura, ciertamente, si conocen a alguien con formación estadística que pueda ayudarles a crear estas distribuciones. Tengo mi Log Likelihood en una de mis columnas, mi conjunto de datos aquí mismo. Voy a usar la plataforma Nonlinear. Lo que voy a hacer es comenzar con las estimaciones de parámetros que obtuve de Life Distribution. Voy a empezar con una versión beta de aproximadamente 35, y voy a empezar con mi versión alfa de aproximadamente 5.6, y simplemente voy a hacer clic en Ir.
Resulta que, con esa cantidad de control, puedo converger y llegar a estimaciones de parámetros.
Si calculara la probabilidad logarítmica, vería que Life Distribution se acercaba bastante. Simplemente no logró ese último paso. Utilizo la plataforma no lineal para hacerlo. Dicho esto, aún puede haber problemas. Aquí tengo otro conjunto de datos. Permítanme mostrarles primero su gráfico. Parece, de nuevo, casi idéntico al primer ejemplo. La única diferencia es que desplazo el valor atípico más a la derecha. Obviamente, si intentara obtener esto en Life Distribution, tendría los mismos problemas que con el primer conjunto de datos. Si lo trasladara a Nonlinear y ejecutara mi convergencia, aparecería un mensaje de advertencia indicando que convergió, pero tengo un resultado de la fórmula de pérdida con un valor faltante. Si guardara estas estimaciones, y lo que vería al revisar esa columna con mi segundo ejemplo, las dos observaciones, dos de mis intervalos, no se puede calcular la probabilidad logarítmica.
Este es el problema que está ocurriendo con la plataforma de Distribución de Vida, es que cuando tengo estas observaciones que se ubican muy lejos en la cola derecha, se rompe la función de probabilidad logarítmica.
No tengo tiempo para entrar en muchos detalles sobre cuándo ocurre esto exactamente. En nuestra presentación, tenemos una que muestra cómo calcular dónde podrían estar esos valores. Pero esto es lo que sucede cuando se encuentran valores atípicos muy alejados en la cola.
Pasemos al segundo ejemplo. Aquí tenemos algo ligeramente diferente. En lugar de tener una sola observación en la cola, supongamos que tenemos dos conjuntos de datos. Tenemos dos mecanismos de fallo. Tengo mi mecanismo de fallo principal, simulado a partir del mismo conjunto de datos. Luego, tengo este mecanismo de fallo secundario, que representa aproximadamente el 10 % de las observaciones que veo en el conjunto de datos original. En lugar de separarlos claramente, obtengo datos como este, y simplemente voy a cambiar mi gráfico de barras en paralelo a un gráfico de barras apiladas. En esencia, lo que veo es una distribución ligeramente más ancha, un poco más ancha de lo que esperaría ver en un Weibull. Supongamos que no lo supiera con solo mirar los datos y accedo a la plataforma de distribución de vida.
Resulta que puedo ajustar un Weibull, un solo Weibull de estos datos. Pero al observar mi gráfico de distribución de comparación, el desajuste del modelo es bastante grave. Aunque tenía convergencia, el desajuste del modelo es bastante grave. En este caso, supongamos que tengo suficiente conocimiento del proceso como para saber que tengo múltiples mecanismos de fallo. Lo que puedo hacer es acceder a la plataforma de Distribución de Vida y obtener una combinación. Empezaré con dos Weibulls. Puedo especificar si están uno encima del otro, si están ligeramente separados o si están completamente separados. Supondré que están uno encima del otro, y se ajusta bastante bien al modelo. De hecho, también voy a hacer otra cosa: cambiaré este eje para que esté en la escala de Weibulls. Listo. Se puede hacer esto con cualquier gráfico de JMP.
Verán que este modelo se ajusta considerablemente mejor. De hecho, si vuelvo al principio, tengo mi comparación de modelos. He notado que ajusto mucho mejor la segunda distribución de Weibull a mis datos.
Al igual que con el primer método, hay factores que pueden hacer que este enfoque falle, y he creado un conjunto de datos para ilustrar cuándo podría empezar a preocuparse y qué podría hacer. En este caso, tengo una segunda distribución. De nuevo, se parece mucho a la primera distribución, y permítanme compararlas. La única diferencia es que, primero, tengo observaciones, al igual que en el caso atípico, donde las extendí más hacia la cola. Segundo, algo que no es tan obvio en los gráficos, en ese segundo ejemplo, tengo considerablemente menos observaciones en la cola superior, aproximadamente una centésima parte de las observaciones. Creo que usé unas 70.000 observaciones en ese primer segundo conjunto de datos simulado, y solo creo que mil observaciones, o quizás un poco más. Por lo tanto, un conjunto de datos considerablemente más pequeño. Si lo ajustara usando la Distribución de Vida, el ajuste sería mejor. Sin embargo, aún tengo problemas de no convergencia.
Además, cuando intento ajustar mis mezclas, en este caso, ajusto mis dos Weibull, tengo problemas de no convergencia.
Ciertamente podría probar diferentes conjuntos, diferentes combinaciones de observaciones y distribuciones. En ese caso, estaría buscando y seleccionando opciones. En realidad, el problema es que tengo estas observaciones. Tengo un conjunto pequeño de datos. Está muy extendido. Debe haber mejores enfoques para modelar esto. Resulta que, como estos datos están separados, si observamos las observaciones en esta región de nuestro espacio, no hay observaciones. Se podría pensar que estas observaciones podrían provenir de una de mis distribuciones y el resto de las observaciones provienen de mi otra distribución. Puedo hacerlo. Puedo modelar estas dos distribuciones de forma diferente. Es bastante sencillo. Solo excluyo y oculto la parte del conjunto de datos que quiero, y luego ejecuto la distribución similar, y la predetermino. Verán, resulta que, en este caso, y en este otro, he ajustado...
Déjame rehacerlo. Necesito eliminar u ocultar y excluir todas mis observaciones.
Listo. Ocultar y excluir. Hagámoslo una vez más y ejecutémoslo. Una vez más. Algo está sucediendo con mi script, así que lo haremos manualmente. Ocultaremos y excluiremos. Iremos a mi plataforma de Distribución de Vida, introduciremos las frecuencias del Ejemplo 3, nuestros puntos inferior y superior, y ajustaremos la distribución de Weibull. Resulta que esto, de hecho, ajusta los datos cuando no incluyo ambos conjuntos de datos. En este punto, probablemente volvería atrás. Probablemente invertiría las observaciones y reajustaría esa otra parte de los datos. Cuando haya una separación clara entre los conjuntos de datos, entonces puedo ajustar modelos separados para cada uno. Pasemos a nuestro tercer y último ejemplo. Estos son los datos que Mehul tuvo la amabilidad de compartir conmigo, en términos de ser datos legítimos de semiconductores que son de la vida real, con todas las deformaciones, verrugas y torceduras que los datos suelen tener.
Ahora, si observamos esto, parece muy diferente a lo que hemos visto en el pasado.
No solo tengo observaciones en la cola derecha, sino también en la cola izquierda. No tengo esa separación clara que tengo en los otros conjuntos de datos. Ahora bien, es cierto que puedo tomar decisiones arbitrarias en cuanto a ajustar la distribución de vida a esas observaciones, quizás un par de observaciones aquí arriba y luego en el centro. Pero a veces ese no es el enfoque ideal. De entrada, intenté configurar la plataforma no lineal para ajustar un modelo mixto. Observarán que hay bastantes intervalos para los que no puedo calcular la probabilidad. Por lo tanto, es un conjunto de datos muy problemático. Además de intentar ajustar distribuciones de vida separadas a partes del conjunto de datos, otra opción sería, si tuviera acceso a un conjunto de datos más completo, con más información sobre la procedencia de estos datos, poder diagnosticar dónde está el problema. Ahora bien, tengan en cuenta que estamos analizando aproximadamente dos meses de datos, creo.
Proviene de múltiples lotes, múltiples obleas y cientos de miles de observaciones en este conjunto de datos. Es probable que existan múltiples fuentes de mecanismos de fallo.
La pregunta es, ¿existen ciertas partes de esos datos que realmente están causando el problema con este conjunto de datos? Lo que he hecho, y permítanme ir al conjunto de datos ahora mismo. Nuevamente, quiero agradecer a Mehul por compartir esta información, y realmente solo he tomado un subconjunto de los datos debido a las limitaciones de tiempo en términos de cuánto tiempo toma ajustar. Pero estos son los datos originales. Hay dos versiones diferentes. Tengo cuatro lotes diferentes aquí. Cada lote tiene desde unas pocas hasta una docena de obleas. La pregunta es, ¿de dónde vienen los problemas? Voy a usar una plataforma con la que espero que esté familiarizado. Si no, está en el menú Analizar, en Fiabilidad y Supervivencia, Ajuste de Supervivencia Paramétrica. Si está familiarizado con el Modelo de Ajuste, se ve muy similar a él. Puedo configurarlo como una distribución de luz donde tengo un inferior y un superior cuando tengo censura de intervalo. A diferencia del modelo de ajuste, puedo especificar factores no solo para mi ubicación, es decir, factores que influirán en dónde está el centro de los datos, sino también factores que influirán en qué tan dispersos están los datos, la escala.
Ya lo configuré. Voy a mantener este modelo muy simple y ejecutar Fit Parametric Survival. Al hacerlo, notarán de inmediato que tengo todos estos valores faltantes. Esto se debe a la falta de convergencia. Lo bueno de esta plataforma es que puedo usar el filtro de datos para intentar diagnosticar el problema. Voy a acceder a mi filtro de datos, que está configurado como condicional, y hago clic en "Nuevo". Verán que con todos los lotes nuevos obtengo estimaciones. Solo los lotes antiguos me causan el problema. A ver si puedo profundizar un poco más. Si miro los lotes triple A, veo que hay un problema. Ahora sé que está en algún lugar de este lote. Voy a ir a la oblea uno. Se ve bien. Oblea dos, tres. Este es uno de mis problemas.
Algo está pasando con la oblea cuatro. Llegados a este punto, probablemente podría sacarla. Probablemente podría echarle un vistazo usando todas las herramientas que hemos visto hasta ahora.
Quizás tenga que revisar mi base de datos y averiguar si hay algo más en la forma en que se procesó este lote que causó la diferencia. Pero este es definitivamente un lote diferente. Si reviso el resto de mis obleas, todas están bien, excepto esta última. La oblea 15 también presenta un problema. Pero lo mejor de este enfoque es que tengo una herramienta de diagnóstico que me permitiría analizar los datos con mayor profundidad si tuviera una fuente de datos más completa.
Resumiendo. En resumen, los datos de confiabilidad a gran escala son comunes en la industria de semiconductores. Son una herramienta valiosa para determinar desviaciones, especialmente en productos de alta calidad con defectos de muy pocas ppm. Como hemos visto, las distribuciones son muy complejas y a menudo incluyen múltiples mecanismos de fallo y distribuciones. Por ello, necesitamos recurrir a enfoques de ajuste ligeramente más novedosos para poder no solo ajustar modelos razonables a estos datos, sino también diagnosticar posibles problemas existentes en ellos. Como siempre, y probablemente lo más importante, la experiencia en la materia es fundamental para decir que, históricamente y con conocimiento de procesos, esta es la mejor dirección que debemos tomar.
Gracias por tu tiempo y espero que esta charla te haya sido útil. Gracias.