ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
ElectrónicaHardware

Electromigración: ¿cosa del pasado?

La electromigración ha sido un problema bastante preocupante que afectaba a los chips. ¡Espera! ¿Ha sido? ¿En pasado? Bueno, eso es lo que intentaré explicar, los actuales estragos en algunos casos se han reducido bastante debido al uso de algunas tecnologías para paliarlos. Aunque ciertamente es un reto explicar todo esto de una forma sencilla y resumida en un artículo…

Además, debes saber que actualmente también hay otros problemas de envejecimiento que preocupan bastante, especialmente con los nodos de fabricación cada vez más reducidos. Algo que afecta  la vida útil de los chips de forma bastante alarmante.

Recuerda: calor, alta frecuencia, voltaje y temperatura son los principales «enemigos» de tus chips.

¿Qué es la electromigación?

Electromigración

La electromigración (EM) es un fenómeno que crece con el flujo de corriente, las altas frecuencias y las elevadas temperaturas. Al tener interconexiones metálicas cada vez más pequeñas, que soportan intensidades de corriente por unidad de superficie, se van deteriorando.

Para que te hagas una idea, un cable eléctrico convencional de la instalación de una casa soporta densidades de intensidad de corriente de unos 100 A/cm² antes de que se comience a calentar y fusionarse. En cambio, las delgadas interconexiones de un circuito integrado podrían estar soportando hasta más de 1000 A/cm² sin daño inmediato.

La geometría (es importante cuidar el diseño de las mismas para reducir zonas angulosas con mayor concentración de densidad de corriente) y dimensiones de las interconexiones, el metal empleado (aluminio, cobre, oro,…, siendo las viejas interconexiones de aluminio las que más lo padecían en comparación con las actuales de cobre), la orientación cristalográfica del metal, los procedimientos de deposición de capas usados, los tratamientos térmicos (recocido), y las capas de pasivación, así como los materiales usados también influyen.

Si haces clic en las imágenes anteriores podrás apreciar con más detalle cómo se constituyen las capas metálicas para las interconexiones de un chip. Los chips modernos pueden tener 20 capas o más, desde las más cercanas al sustrato semiconductor (Front-End) hasta las más elevadas (Back-End). Las primeras sirven para entrelazar las partes de los transistores FET (puerta, drenador y fuente) y enlazar transistores entre sí para formar puertas lógicas. Las capas intermedias irán entrelazando esas celdas básicas para formar circuitos esenciales que conformarán las unidades funcionales. Mientras que las capas más elevadas entrelazarán todas esas unidades funcionales para conformar el circuito completo. Además, en la última capa se dejan los pads, unas zonas de metal donde se sueldan los hilos que van a los pines del chip, o los contactos para montar los flip-chip en los PWB.

A este fenómeno se le conoce también como efecto de viento electrónico. Algo que describe muy bien lo que le ocurre a las interconexiones, ya que los iones metálicos se ven arrastrados por la corriente de electrones. Eso hace que migren desde algunas zonas de la pista metálica hacia otras partes, pudiendo crear cortocircuitos y circuitos abiertos a la larga.

Imagina estos conductores como dunas de arena en el desierto, y cuando el viento sopla, todos los granos de arena son movidos. Eso causa que en un lugar donde antes había arena pueda dejar de haberla y en otro lugar se haya acumulado un montículo. Lo mismo ocurre en estas pistas metálicas.

Este efecto de electromigración no solo se da en interconexiones metálicas de las capas más elevadas de los chips, también entre uniones de capas más bajas, como las interfaces siliciuro-metal. Para eso se implementaron las barreras de difusión (p.e.: TiN), así como para evitar la difusión de dopantes.

No solo es cosa del interior

La electromigración no es solo un problema de las interconexiones del chip, también se pueden apreciar en ciertas conexiones externas. Por ejemplo, en los viejos circuitos integrados, los hilos de oro soldados a los pads del chip y unidos a las pitas del sustrato del empaquetado para conectarlas con los pines.

En esos hilos también se apreciaba que cuando se sometían a densidades de corriente elevadas, se producía una migración física del oro similar a los meandros de un río con el paso del tiempo. Eso exponía a la zona dañada que se hacía más fina a un posible corte, pudiendo generar un circuito abierto, o generar un cortocircuito con una conexión adyacente en la zona donde se acumulaba más oro, haciéndose más gruesa…

¿Por qué he hablado de ella en pasado?

chip

Lo cierto es que aún sigue siendo un problema, pero algunos fabricantes o diseñadores han implementado algunas medidas para paliar los efectos de la electromigración en sus chips.

Por ejemplo, tanto Intel como AMD tienen métricas de calibración interna para detectar la electromigración en etapas tempranas y poderla contrarestar de diversas maneras. Por tanto, lo que solía ser un serio problema en la vida útil de sus chips ahora es algo más despreciable en la mayoría de CPUs.

Durante la fabricación de las obleas o wafers, en las foundries, se hacen pruebas tipo WLTBI (Wafer Level Test and Burn-in). Es decir, unos tests para realizar pruebas de estrés y confiabilidad para detectar posibles fallas tempranas.

Para hacerte una idea, cuando se habla de CPUs de mayor voltaje (unas décimas más bastan para contribuir al aumento de la electromigración, así que cuidado con el overclocking), se puede ampliar los efectos de electromigración de 1% de degradación en 15 años a 1% en 10 años si se estuviera ejecutando al máximo de su velocidad todo el tiempo.

En la actualidad, al envejecimiento por electromigración se le unen otros problemas que pueden producir problemas prematuros, como el acercamiento a los límites físicos en la fabricación y las frecuencias cada vez más forzadas de las CPUs comerciales (apenas hay margen de overclock).

Al elevar las frecuencias, y por ende el voltaje, el chip sufre mayor estrés eléctrico y otros efectos colaterales (véase autocalentamiento e intensidad de campo), inestabilidad NBTI, etc. Me gustaría dedicar un artículo íntegro a estos problemas, ya que dan para mucho y son interesantes…

En definitiva, mientras menos nm, más rápidamente envejecerán los chips… Veremos en qué medida se acelera este envejecimiento en los actuales 7nm, o los futuros 5nm, 3nm, etc.

TDP, PL1, PL2 y Tau, etc.

termografía PC

¡Cuidado con confundir términos a la hora de intentar determinar qué chips pueden estar más o menos afectados por la electromigración! Creo que el voltaje está bastante claro, y también la frecuencia. Pero en cuanto a la potencia/calor disipado, nuevamente los fabricantes nos lo ponen difícil a los usuarios con extraños datos que no todos saben descifrar. De hecho, muchos confunden el TDP con el consumo de potencia de una CPU, y no es así.

Los modos Turbo de Intel y AMD, así como el throttling o las tecnologías de escalada dinámica de frecuencia pueden variar mucho la disipación de energía del chip en función de la carga de trabajo actual, así como el consumo en cada momento… Además, las tecnologías como SenseMI y su XFR podrían variar todo lo aquí mencionado, ya que permiten llevar ese modo turbo más allá del límite atendiendo a factores como la temperatura actual a la que se encuentra el chip. Me gustaría añadir que para entender todo esto de una mejor forma deberías también conocer los P-States y C-States que me gustaría detallar en otro artículo, así como otras tecnologías de escalado dinámico de frecuencia, etc.

  • TPD (Thermal Power Design): es la potencia de diseño térmico de un chip, es decir, la disipación de calor en la carga máxima teórica, dicho de otro modo, la cantidad de potencia disipada (calor) que va a generar ese chip en un escenario de uso intensivo (se habla de TDP nominal cuando se especifica éste para la frecuencia nominal) hasta donde podría llegarse sin exceder de la temperatura máxima de unión. Por tanto, es un valor que ayuda a elegir la refrigeración adecuada. Por ejemplo, que un AMD Ryzen 7 3700X tenga un TDP de 65w no quiere decir que el microprocesador consuma esa energía. Aun así, el TDP sí que está relacionado con el consumo eral de un chip. Si comparas dos chips en igualdad de condiciones (misma microarquitectura, proceso de fabricación,…), el que tenga el TDP más bajo consumirá menos. Pero no hagas extrapolaciones entre chips de diferentes microarquitecturas o familias diferentes… no son equiparables. Además de eso, tienes que saber que el TDP nominal se puede superar en ciertos escenarios, lo que produciría que se produzca un fallo (therm-trip) que desencadena los procedimientos para que se haga throttling. En cuanto a lo dicho del consumo (véase siguiente apartado).

Recuerda: la potencia máxima o peak power no se corresponde con el TDP. Una CPU puede llegar más allá de eso en espacios de tiempo cortos.

Existe una solución conocida como PCC (Processor Clocking Control. Se implementa mediante firmware en la plataforma y proporciona un canal para que el sistema operativo pueda dirigir y obtener información sobre la potencia del procesador.

  • Otros (cTDP, SDP, LFM, HFM y LPM): aunque no es tan popular como el anterior, seguro que en alguna ocasión has visto términos como cTDP, SDP, HFM, LFM y LPM que agregan aún más confusión ¿verdad? Intentaré explicarlo de un modo sencillo para que puedas diferenciarlo del TDP nominal:
    • SDP (Scenario Design Point) es una métrica usada por Intel y que tuvo su controversia cuando se mostraron los valores para Ivy Bridge, ya que eran valores muy bajos que parecían más marketing que otra cosa. De hecho, de haberse referido al TDP convencional habrían sido más elevados. En este caso se mide la potencia promedia para la frecuencia mínima de un procesador usando simulaciones de escenarios reales usando algunos programas cotidianos. Debido a la controversia que hubo, el SDP ha caído en desuso…
    • cTDP (configurable TDP): es otra métrica, relacionada con la potencia sostenida, lanzada después de SDP y que intentó sustituir a ésta. En la actualidad lo puedes ver en algunos modelos, como los de AMD (desde 2012) e Intel (desde 2014). En este caso, no es más que un límite programable de TDP según unos valores determinados por el diseñador de la CPU, alternado así los valores de TDP y comportamiento en función de las capacidades de enfriamiento disponibles y el consumo. Para la configuración, o alteración, se emplean dos valores llamados cTDP down y cTDP up. El primero es empleado para el ahorro energético máximo y el segundo para desplegar todo el rendimiento.
      • cTDP down: es un modo en el que se especifica un TDP bajo, es decir, una cantidad mínima de calor a disipar cuando se trabaja a la frecuencia y voltaje mínimo. No existe una regla aproximada para calcularlo, ya que según el diseño de la microarquitectura (por ejemplo, desconexión de unidades funcionales o núcleos para hacerlos pasar a estado IDLE) y de los nodos de fabricación se pueden conseguir algunas mejoras y bajadas de esta cifra.
      • cTDP up: se especifica un TDP máximo, es decir, una cantidad máxima de calor a disipar que es capaz de generar una CPU cuando trabaja a la frecuencia y voltaje máximo. Difiere al TDP nominal, y que suele calcularse al multiplicar el TDP nominal por un factor 1,5 aprox. (no es una regla exacta, depende de la microarquitectura, tecnología y algoritmos usados para el modo turbo). Por ejemplo, un Intel Core i7-1065G7 tiene un TDP de 15W, un cTDP up de 25W y un cTDP down de 12W.
    • LFM (Low Frecuency Mode): tienen que ver con lo anterior, y se refiere límite inferior de operación de un procesador cuando está usando el menor de los voltajes y la frecuencia más baja posible. Es decir, algo relacionado de forma directa en el cTDP down. Tienes que saber que los procesadores tienen tecnologías para el control de los P-States (como SpeedStep o EIST de Intel, PowerNow! de AMD, etc.) y éstas almacenan una tabla de frecuencias y voltajes en un registro MSR de solo lectura para garantizar que las frecuencias no exceden del límite inferior o superior. Según esos valores, el límite inferior será el LFM y el límite superior el HFM…Por ejemplo, se podría especificar en esos registros un LFM de 0.8v y 600Mhz y un HFM de 3Ghz y 1.21v, con una serie de valores intermedios de frecuencia/voltaje para que el gobernador del sistema operativo pueda escalar la frecuencia en función de la carga que se tenga en cada momento.
    • HFM (High Frecuency Mode): es lo contrario al LFM, en cuyo caso es el límite superior en el que el procesador se encuentra en el punto de voltaje y frecuencia más elevados. Es decir, en en su máximo de frecuencia nominal en la mayoría de casos y relacionado con el cTDP up. Cuidado con estos límites, ya que podrían variar
    • LPM (Low Power Mode): no lo debes confundir con LFM, ya que en este caso se refiere al estado de menor consumo de energía del procesador. Una métrica para relacionar LFM y cTDP down.

No todo es tan sencillo como lo explico, solo intento hacer que lo entiendas de un modo simple. Pero tienes que tener en cuenta que esos valores podrían variar en función del tipo de carga de cada núcleo. Por ejemplo, en Intel se diferencia entre cargas no-AVX (operaciones con enteros, instrucciones regulares, SSE, MMX, operaciones AVX2 con enteros sin MUL), que serían las más ligeras y para las cuales existe unos límites de frecuencia determinados. Por otro lado estarían diferenciados aquellos núcleos con cargas AVX-heavy, es decir, pesadas, como las AVX2 más complejas. Y por último las cargas AVX-512, que son las más pesadas de todas. Por tanto, en función de las instrucciones podrían alterarse los estados de comportamiento…

  • PL1, PL2 y Tau: Intel se desmarca del TDP para ponértelo un poquito más complicado, aunque sean valores que son más acordes con los actuales procesadores. Seguramente has visto estos términos en los nuevos productos de Intel y no sepas qué son. Por ejemplo, el Intel Core i9-10900K tiene un PL1 de 125W, un PL2 de 250W y un Tau de 56s. A grandes rasgos, el PL1 (Power Limit 1) sería como el TDP, por tanto, si el TDP es 125w, su PL1 es 125w (para la frecuencia de reloj base o nominal). En cambio, el PL2 es el consumo de energía máxima a corto plazo, cuando el procesador tiene una gran carga de trabajo y entra en modo Turbo. Por tanto, el PL2 siempre es mayor que el PL1. Por último, el Tau (Turbo Time Parameter) es una variable de tiempo expresada en segundos, y dicta el tiempo que debe puede mantenerse un procesador en modo PL2 antes de pasar a PL1 para no sufrir daños.

También existen PL3 y PL4, aunque en la mayoría de sistemas está deshabilitado por defecto…

Calcular el consumo

No confundas el TDP con el consumo de un chip. Debes saber que para calcular el consumo o potencia estática, se puede aplicar:

PESTÁTICA = IDD · VDD

En cuanto al consumo de potencia dinámica de un circuito (la empleada para el switching de los transistores, es decir, para conmutar entre 0 y 1 y viceversa) podrías usar la fórmula:

PDINÁMICA = C · V² · f

Donde P sería la potencia en vatios, C es la capacitancia del circuito, V es el voltaje en voltios y f es la frecuencia de reloj a la que trabaja.

Esta potencia dinámica es la fuente principal de consumo en los circuitos CMOS.

Para obtener el consumo total:

PTOTAL = PDINÁMICA + PLEAKAGE

La dinámica depende de la frecuencia y es la causada por el switching de los transistores. En cambio, la de fuga también contribuye significativamente al consumo total del chip, dependiendo de factores como el ancho total de los transistores, el factor de apilamiento, y la corriente de fuga por anchura.

PLEAKAGE = Totalwidth · Stacking factor · IOFF por WxVDD

Aproximadamente el 40% de la energía consumida en los actuales sistemas se debe a fugas. La reducción del voltaje produce que este problema de fugas sea más evidente, por lo que hay que mejorar las estructuras y materiales de fabricación para minimizar esto (p.e.: SOI). Otra forma de mejorar la potencia dinámica es apagar partes o núcleos completos cuando no se están usando (véase ACPI). Esto último no afectaría a la potencia estática, que se produce debido a las fugas incluso cuando el transistor está apagado.

Puedes pensar que variando alguno de los factores implicados se podría reducir el consumo. Pero no es tan sencillo, al mejorar unas se puede perjudicar a otras. De hecho, en el diseño de un procesador siempre se busca el mejor balance para conseguir los objetivos que se necesitan. Y eso implica sacrificar algunas cosas en pos de otras…

La frecuencia ha aumentado en un factor de 1000 en los últimos años, mientras el consumo solo lo hizo en un factor 30. Esto es debido a las mejoras en los procesos de fabricación y la reducción del voltaje. Al ser una función del cuadrado del voltaje, el paso de 5v a 1v (aprox.) en los últimos 20 años, la potencia no ha escalado en la misma medida que la frecuencia. De hecho, ha venido reduciéndose un 15% en cada nueva generación.

Por ejemplo, para reducir el consumo:

  • Reducir la potencia dinámica: se puede ir nivel a nivel practicando ciertas acciones para reducir esta potencia. Por ejemplo, en el más alto nivel, se puede reducir el número de tareas ejecutadas, etapas, instrucciones, tipo de procesador empleado para una tarea, uso de ASICs más específicos, etc. En cambio desde niveles de diseño de la microarquitectura y del layout del circuito, se podría:
    • Reducir la actividad: en el lado de la microarquitectura, se puede optar por codificación asíncrona. Mientras que en el layout se puede optar por reducir el reloj.
    • Reducir el voltaje: desde la microarquitectura se pueden tocar cosas como la pipeline, o mejorar el layout y los nodos de fabricación para reducir este voltaje.
    • Reducir la capacitancia: en este caso, se puede simplificar la microarquitectura, o usar bibliotecas de bajo consumo y células básicas para el diseño del layout.
  • Reducir la potencia estática: en el más alto nivel se puede reducir la cantidad de unidades funcionales, principalmente aquellas que afecten menos al desempeño y rendimiento, aunque leve o no, tendrían su impacto. A nivel de la propia microarquitectura, también se podría hacer un chip con menos puertas inactivas. Y, finalmente, desde el punto de vista del layout del circuito, se pueden usar técnicas como Gated VDD, MTCMOS, VTCMOS, DTMOS, etc.

Reducir el consumo no solo afecta a la eficiencia de la máquina, también al consumo de la propia refrigeración necesaria para disipar esa potencia, y a la cantidad de pines e interconexiones necesarias para tratar de distribuir todas esas líneas de alimentación y tierra por todo el chip.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

3 thoughts on “Electromigración: ¿cosa del pasado?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar