El controlador de RAM es un circuito digital que controla el flujo de datos entre el sistema informático y la RAM . Puede ser un chip independiente o integrado en un chip más complejo, como un puente norte , un microprocesador o un sistema en un chip .
Las computadoras que usaban microprocesadores Intel anteriores a 2009 [1] [2] tradicionalmente tenían un controlador de memoria integrado en el conjunto de chips (northbridge, MCH), pero muchos procesadores, como DEC / Compaq Alpha 21364 , AMD Athlon 64 y Opteron , IBM POWER5 , Los procesadores Sun Microsystems UltraSPARC T1 e Intel Core i7 [2] tienen un controlador de memoria integrado ubicado en el mismo troquel para reducir la latencia de acceso a la memoria. Si bien la integración mejora el rendimiento del sistema, el microprocesador está vinculado a un solo tipo de memoria, lo que impide una combinación de procesadores y memoria de diferentes generaciones. El uso de nuevos tipos de memoria requiere el lanzamiento de nuevos procesadores y un cambio en su zócalo. Por ejemplo, después de la introducción de DDR2 SDRAM , AMD lanzó los procesadores Athlon 64 utilizando el nuevo zócalo Socket AM2 .
La integración de un controlador de memoria con un procesador no es una tecnología nueva, ya que en la década de 1990, DEC Alpha 21066 y HP PA-7300LC usaban controladores integrados para reducir el costo del sistema.
El controlador de memoria contiene la lógica necesaria para realizar operaciones de lectura y escritura en DRAM , respetando los retrasos necesarios , por ejemplo, entre lectura y escritura. El flujo de solicitudes entrantes se convierte en secuencias de comandos DRAM, mientras que los bancos, buses y canales rastrean varios conflictos. Las solicitudes entrantes se pueden almacenar en búfer y reordenar para mejorar el rendimiento [3] .
Además, el controlador de memoria realiza una actualización periódica de los datos almacenados en DRAM . Sin actualizaciones periódicas, los chips de memoria DRAM perderían información gradualmente a medida que los condensadores que almacenan bits se descargan debido a las corrientes de fuga . El tiempo típico de retención de datos es de fracciones de segundo, pero no menos de 64 milisegundos según JEDEC SDRAM DDR2 y estándares más nuevos. Durante períodos de tiempo más largos, la información solo se retiene parcialmente. A temperaturas elevadas (superiores a 85 °C), es posible que se requieran actualizaciones de memoria más frecuentes [4] [3] .
Además, el controlador de memoria puede controlar los modos de energía de los chips de memoria [3] .