Como funciona la RAM (DRAM)
La DRAM (Dynamic RAM) es el tipo de memoria que se utiliza en prácticamente todos los módulos de RAM modernos (DDR3, DDR4, DDR5, LPDDR…). Su funcionamiento interno explica por qué es rápida, pero también por qué necesita ser constantemente refrescada.
1. Celda de memoria #
-
Cada bit en DRAM se almacena en una celda compuesta por:
- Un condensador: almacena carga eléctrica (representa un 1 si está cargado, o un 0 si está vacío).
- Un transistor: actúa como interruptor, controlando si se puede leer/escribir en la celda.
👉 Problema: el condensador pierde carga con el tiempo, lo que hace que la información se degrade rápidamente.
Fuente: upload.wikimedia.orgLicencia: Licencia no indicada
Ampliar2. Organización: filas, columnas y bancos #
-
Las celdas no están aisladas, sino organizadas en una matriz (rejilla) de filas y columnas.
-
Para acceder a un dato:
- Se activa la fila (Row Address Strobe, RAS).
- Se selecciona la columna (Column Address Strobe, CAS).
-
Estas operaciones las gestiona el controlador de memoria.
👉 La RAM está dividida en bancos y sub-bancos, lo que permite que se acceda a varias regiones de memoria en paralelo, mejorando el rendimiento.
3. Ciclo de acceso: activación, lectura, pre-carga #
El proceso típico de lectura en DRAM tiene tres fases:
- Activación: se carga una fila completa de la matriz en un búfer.
- Lectura/escritura: se accede a la columna deseada de esa fila.
- Pre-carga: se cierra la fila para dejar el banco listo para la siguiente operación.
👉 De aquí vienen algunos de los parámetros de latencia que veremos en el Punto 5 (CL, tRCD, tRP, etc.).
4. Refresco (Refresh) #
Como el condensador pierde carga, todas las celdas deben refrescarse periódicamente (normalmente cada 64 ms).
- El refresco lo hace automáticamente el controlador de memoria.
- Durante el refresco, las celdas no pueden ser usadas → provoca pequeñas pausas invisibles para el usuario.
👉 Esta necesidad de refresco es lo que hace que la DRAM sea “dinámica”.
5. Vulnerabilidades físicas: Rowhammer #
Un fenómeno interesante (y problemático) es el Rowhammer:
- Si se accede muchas veces a una misma fila de memoria, las celdas adyacentes pueden perder carga y cambiar su valor.
- Esto puede explotarse como un ataque de seguridad, modificando bits en posiciones de memoria que no deberían cambiar.
- DDR4 y DDR5 incluyen mitigaciones (como TRR – Target Row Refresh) para reducir este riesgo.
Resumen del tema
Conceptos clave #
- Matriz de Celdas DRAM: organizada en rejillas de filas (Wordlines), columnas (Bitlines) y bancos independientes.
- Secuencia de Acceso a Memoria:
- Activación (RAS): apertura de la fila en los amplificadores de sentido.
- Lectura/Escritura (CAS): selección de la columna requerida.
- Pre-carga (tRP): cierre y restauración de voltaje para la siguiente lectura.
- Ciclo de Refresco (Auto-Refresh): recarga periódica de los condensadores cada ~64 ms (o ~32 ms a altas temperaturas).
- Ataque Rowhammer: interferencia electromagnética por activación reiterada de una fila vecina que provoca cambios de bits (bit flips), mitigado mediante TRR (Target Row Refresh).
Qué debes recordar #
El acceso a la DRAM requiere activar la fila (RAS), seleccionar la columna (CAS) y pre-cargar el banco, necesitando ciclos continuos de refresco para no perder la carga de sus celdas.