DRAM (Dynamic Random-Access Memory) es un tipo de memoria de acceso aleatorio volátil que almacena cada bit de datos en un capacitor separado dentro de un circuito integrado. La carga en el capacitor representa un valor binario (0 o 1). Debido a la fuga de corriente, los capacitores pierden su carga con el tiempo, lo que requiere que la DRAM sea "refrescada" periódicamente (leyendo y reescribiendo el contenido) para mantener la integridad de los datos. Esta necesidad de refresco es lo que la hace "dinámica" en contraste con la SRAM (Static Random-Access Memory).
La DRAM es la tecnología de memoria principal en la mayoría de los sistemas informáticos modernos, desde servidores de hiperescala hasta dispositivos móviles y estaciones de trabajo de alto rendimiento. Se utiliza como la memoria RAM principal (main memory) donde se cargan los programas y los datos para su ejecución por la CPU. Ejemplos concretos incluyen los módulos DIMM (Dual In-line Memory Module) y SO-DIMM (Small Outline Dual In-line Memory Module) que se insertan en las placas base de PCs y servidores, así como la memoria LPDDR (Low-Power Double Data Rate) utilizada en smartphones y tablets, optimizada para eficiencia energética. También se encuentra en tarjetas gráficas como GDDR (Graphics Double Data Rate) para almacenar texturas y buffers de frame.
Para un Arquitecto de Sistemas, la DRAM es fundamental debido a su impacto directo en el rendimiento, el costo y el consumo energético. La latencia y el ancho de banda de la DRAM son factores críticos que determinan la velocidad a la que la CPU puede acceder a los datos, afectando directamente el rendimiento de las aplicaciones intensivas en memoria, como bases de datos in-memory (ej. Redis, SAP HANA), sistemas de procesamiento de big data (ej. Apache Spark) y máquinas virtuales. La elección entre diferentes generaciones de DRAM (DDR4, DDR5) y tipos (ECC vs. non-ECC, LPDDR vs. GDDR) implica trade-offs significativos: ECC (Error-Correcting Code) DRAM, por ejemplo, es crucial en servidores para garantizar la integridad de los datos y la fiabilidad del sistema, a expensas de un mayor costo y una ligera penalización de rendimiento. Comprender las limitaciones y capacidades de la DRAM es clave para diseñar arquitecturas escalables y eficientes, optimizando la relación costo-rendimiento y el consumo energético.