Rendimientos en DRAM y otros procesos masivamente redundantes

9

En este momento estoy revisando la literatura de ingeniería eléctrica sobre el tipo de estrategias empleadas para producir de manera confiable sistemas altamente complejos pero también extremadamente frágiles como DRAM, donde tienes una variedad de muchos millones de componentes y donde una sola falla puede bloquear todo el sistema .

Parece que una estrategia común que se emplea es la fabricación de un sistema mucho más grande, y luego la desactivación selectiva de filas / columnas dañadas utilizando fusibles configurables. He leído [1] que (a partir de 2008) ningún módulo DRAM sale de la línea en funcionamiento, y que para los módulos DDR3 de 1 GB, con todas las tecnologías de reparación implementadas, el rendimiento general va de ~ 0% a alrededor del 70% .

Sin embargo, ese es solo un punto de datos. Lo que me pregunto es si es algo que se anuncia en el campo. ¿Existe una fuente decente para discutir la mejora en el rendimiento en comparación con el SoA? Tengo fuentes como esta [2], que hacen un trabajo decente al discutir el rendimiento del razonamiento de los primeros principios, pero eso es 1991, e imagino / espero que las cosas estén mejor ahora.

Además, ¿todavía se utiliza el uso de filas / columnas redundantes incluso hoy? ¿Cuánto espacio de placa adicional requiere esta tecnología de redundancia?

También he estado mirando otros sistemas paralelos como pantallas TFT. Un colega mencionó que Samsung, en un momento, encontró más barato fabricar pantallas rotas y luego repararlas en lugar de mejorar su proceso a un rendimiento aceptable. Sin embargo, todavía no he encontrado una fuente decente para esto.

Refs

[1]: Gutmann, Ronald J, y cols. Wafer Level 3-d Ics Tecnología de proceso Nueva York: Springer, 2008. [2]: Horiguchi, Masahi, et al. "Una técnica de redundancia flexible para DRAM de alta densidad". Circuitos de estado sólido, IEEE Journal of 26.1 (1991): 12-17.

Mefistófeles
fuente
3
La redundancia de filas y columnas todavía se usa hoy en día. La redundancia a nivel de bloque se utilizó en el caché Itanium 2 L3 (ver Stefan Rusu et al., "Itanium 2 Processor 6M: Mayor frecuencia y mayor caché L3", 2004). Otra consideración para el rendimiento es el binning tanto para la velocidad / potencia / temperatura de funcionamiento como para la "capacidad" (p. Ej., Los multiprocesadores de chips se pueden vender con un rango de conteos de núcleos; incluso el conteo de defectos altos DRAM podría, en teoría, venderse como una capacidad media parte).
Paul A. Clayton
fascinante, gracias. Mirando el diseño de caché, veo 140 subarreglos, cada uno con 2 subbancos, que a su vez tienen ocho bloques de matriz 96x256. Cada bloque tiene 32 bits. Lo que significa que hay, en total, 140 * 2 * 8 * 96 * 256 * 32 = 1.762x10 ^ 9 bits necesarios para producir 48x10 ^ 6 bits de almacenamiento. ¿Es esto correcto?
Mefistófeles
3
No, los 32 bits son parte del bloque 96x256 (12 formas de caché * 8 * 4 * 32 bits por línea de caché). También se debe tener en cuenta que algunos de los bits se utilizan para ECC, por lo que el caché tenía 6MiB de datos . (El uso de ECC introduce otra arruga en el rendimiento bajo binning. Los requisitos de ECC varían según la aplicación y el exceso de ECC puede usarse para soportar un voltaje más bajo (o frecuencia de actualización para DRAM) sin pérdida de datos para una parte de menor potencia, así como proporcionar corrección para la fabricación defectos.Esto es más una consideración teórica, ya que los factores de marketing generalmente no permiten tal flexibilidad.)
Paul A. Clayton
gracias de nuevo. Esto es más para obtener una estimación del costo total del proceso de fabricación. Es decir, ¿cuánto espacio adicional en el tablero (como representante de los recursos físicos gastados) se requiere para alcanzar estos 6MiB? Trataré de estimar esto a partir del área ocupada por el caché L3 y me pondré en contacto con usted.
Mefistófeles
2
El uso del área de celda de bits no tiene en cuenta la decodificación de fila y otros gastos generales. La sobrecarga de área de redundancia podría estimarse simplemente reconociendo que 4 de las 140 subarreglos son repuestos (un poco menos del 3% de sobrecarga), ignorando la sobrecarga de enrutamiento adicional. También se debe tener en cuenta que se vendieron versiones de caché 3MiB L3, por lo que se permitió que el rendimiento de las versiones de 6MiB fuera menor. ( Supongo que el uso de transistores de tamaño más grande que el mínimo para las células SRAM, para fugas más bajas, también podría disminuir ligeramente la tasa de defectos efectiva). 136 subarreglos utilizados indican 8 para ECC (6 +% de sobrecarga).
Paul A. Clayton

Respuestas:

1

Sin marcas será siempre conocer los datos de rendimiento a menos que tengan que por alguna razón. Se considera un secreto comercial. Entonces, para responder su pregunta directamente, no, no se anuncia en la industria.

Sin embargo, hay muchos ingenieros cuyos trabajos son mejorar el rendimiento de la línea y el rendimiento al final de la línea. Esto a menudo consiste en utilizar técnicas como el binning y la redundancia de bloques para que las pérdidas fuera de la línea funcionen lo suficiente como para ser vendibles. La redundancia de bloques ciertamente se usa hoy en día. Es bastante fácil de analizar:

(bloques fallidos por parte) / (bloques por parte) * (bloques fallidos por parte) / (bloques por parte)

Eso te dará la probabilidad de que ambos bloques paralelos fallen. Dudo que termine con un rendimiento tan bajo como 70%, ya que generalmente 90% es el rendimiento mínimo aceptable.

Tom Brendlinger
fuente
2
Si bien agradezco su respuesta, @ Paul-a-clayton proporcionó esta información y también pudo citar publicaciones reales (específicamente el Itanium 2) en los comentarios. Además, aunque la redundancia de bloques se discute en esos documentos, dice "Este uso de subarreglos optimiza la utilización del área del troquel sin restringir el plano central" sin mencionar la tolerancia a fallas. Si tiene documentos que proponen específicamente la redundancia de bloques como una herramienta para el direccionamiento de errores, serían muy apreciados.
Mefistófeles