SDRAM (siglas en inglés de synchronous dynamic random-access memory, ‘memoria de acceso aleatorio síncrona y dinámica’) es una familia de memorias dinámicas de acceso aleatorio (DRAM) que tienen una interfaz síncrona, usadas ya desde principios de 1970.
Visión general thumb|350px|Módulos de memoria SDR SDRAM.
El reloj también permite controlar una máquina de estados finitos interna que controla la función de "pipeline" de las instrucciones de entrada. Esto permite que el chip tenga un patrón de operación más complejo que la DRAM asíncrona, que no tiene una interfaz de sincronización.
El método de «segmentación» significa que el chip puede aceptar una nueva instrucción antes de que haya terminado de procesar la anterior. En una escritura de datos, el comando "escribir" puede ser seguido inmediatamente por otra instrucción, sin esperar a que los datos se escriban en la matriz de memoria. En una lectura, los datos solicitados aparecen después de un número fijo de pulsos de reloj tras la instrucción de lectura, durante los cuales se pueden enviar otras instrucciones adicionales. (Este retraso se llama latencia y es un parámetro importante a considerar cuando se compra una memoria SDRAM para un ordenador.)
Uso Las memorias SDRAM son ampliamente utilizadas en los ordenadores, desde la original SDR SDRAM y las posteriores DDR, DDR2, DDR3, DDR4 y DDR5. Las memorias SDRAM también están disponibles en variedades registradas, para sistemas que requieren una mayor estabilidad, como servidores y estaciones de trabajo.
Características Los módulos SDRAM tienen sus propias especificaciones de tiempo, que pueden ser más lentas que las de los chips en el módulo. Cuando los chips SDRAM de 100MHz aparecieron por primera vez, algunos fabricantes vendían módulos "de 100MHz" que no podían funcionar de forma fiable en esa frecuencia de reloj. En respuesta, Intel publicó el estándar PC100, que describe los requisitos y directrices para la producción de un módulo de memoria que puede funcionar de forma fiable a 100MHz. Esta norma fue muy influyente, y el término "PC100" rápidamente se convirtió en un identificador común para módulos SDRAM de 100MHz, y los módulos son ahora comúnmente designados como "PC"-número (PC66, PC100 o PC133 - aunque el significado actual de los números ha cambiado).
Latencia thumb|Ocho circuitos integrados SDRAM en un módulo DIMM SDR SDRAM PC100. La latencia SDRAM no es intrínsecamente inferior (más rápido) que la DRAM asíncrona. De hecho, las primeras memorias SDRAM eran algo más lentas que las BEDO-DRAM debido a la lógica adicional. Los beneficios del buffer interno de las SDRAM provienen de su capacidad para intercalar las operaciones en los bancos múltiples de la memoria, lo que aumenta el ancho de banda efectivo.
Obsolescencia Existen varios límites en el rendimiento de la DRAM. El más conocido es el tiempo de ciclo de lectura, esto es el tiempo entre las sucesivas operaciones de lectura a una fila abierta. Este tiempo se redujo de 10ns en las SDRAM de 100MHz a 5ns en las DDR-400, pero se ha mantenido relativamente sin cambios a través de las generaciones DDR2-800 y DDR3-1600. Sin embargo, al operar la circuitería de interfaz en múltiplos cada vez mayores de la tasa de lectura fundamental (con periodos cada vez más pequeños), el ancho de banda alcanzable ha aumentado rápidamente.
Otro límite es la latencia CAS, el tiempo entre el suministro de la dirección de una columna y la recepción de los datos correspondientes. De nuevo, esto se ha mantenido relativamente constante entre 10 y 15ns en las últimas generaciones de SDRAM DDR. En la práctica la latencia CAS es un número específico de ciclos de reloj programados en el registro de modo de la SDRAM, y tenidos en cuenta por el controlador de la memoria SDRAM. Cualquier valor puede ser programado, pero la SDRAM no funcionará correctamente si es demasiado bajo, ya que este valor de guarda no cubrirá la latencia real. A mayores tasas de reloj la latencia CAS medida en ciclos aumenta, aunque en el tiempo sea la misma: 10-15ns son 2-3ciclos de reloj de 200MHz de la DDR-400, 4-6ciclos para la DDR2-800, y 8-12ciclos para la DDR3-1600.
Historia 1970 Aunque el concepto de memoria DRAM síncrona era conocido desde al menos la década de 1970, y fue utilizado con los primeros procesadores de Intel, fue solo en 1993 cuando la SDRAM comenzó su camino hacia la aceptación universal de la industria electrónica.
1993 En 1993, Samsung introdujo su KM48SL2000 DRAM síncrona, y en 2000, la SDRAM había sustituido a prácticamente todos los otros tipos de DRAM en los ordenadores modernos, debido a su mayor rendimiento.
2007 Desde 2007 las SDRAM DIMM de 168pines no se utilizan en nuevos sistemas de PC, y las DDR de 184pines han sido sustituidas en su mayoría. Las SDRAM DDR2 son el tipo más común usado en equipos nuevos, y las placas base y memorias DDR3 están ampliamente disponibles, siendo incluso más baratas que los todavía populares productos DDR2.
Actualidad Hoy en día prácticamente todas las SDRAM se fabrican de acuerdo con las normas establecidas por la JEDEC, una asociación de la industria electrónica que adopta los estándares abiertos para facilitar la interoperabilidad de los componentes electrónicos. JEDEC adoptó formalmente su primer estándar SDRAM en 1993, y posteriormente aprobó más normas SDRAM, incluyendo las de DDR, DDR2, DDR3, DDR4 y DDR5.
Visión detallada Funcionamiento El uso del bus de datos es complejo y requiere un controlador de memoria DRAM complejo, ya que los datos a escribir en la memoria DRAM deben presentarse en el mismo ciclo que el comando de escritura, pero la lectura produce una salida 2 o 3ciclos después del comando correspondiente. El controlador de memoria DRAM debe asegurarse de que el bus de datos nunca se requiere para escritura y lectura simultáneamente.
Señales de control Todos los comandos están programados en relación con el flanco de subida de una señal de reloj. Además del reloj, hay 6señales de control, en su mayoría de baja activa, que se muestra en el flanco de subida del reloj: Reloj ‘’’CKE’’’ Habilitar. Cuando esta señal es baja, el chip se comporta como si el reloj se hubiera detenido. No se interpretan comandos y los tiempos de latencia de comando no transcurren. El estado de las líneas de control de otros no es relevante. El efecto de esta señal es en realidad un retraso de un ciclo de reloj. Es decir, el producto actual ciclo de reloj, como de costumbre, pero el siguiente ciclo de reloj es ignorado, excepto para la prueba de nuevo la entrada de CKE. Las operaciones normales se reanudan en el flanco de subida del reloj después de aquel en el que se toman muestras de CKE alta.
Dicho de otra manera, todas las operaciones de microprocesadores también se programan en relación con el flanco ascendente de un reloj de enmascarados. El reloj enmascarado es el lógico de la entrada de reloj y el estado de la señal de CKE en el flanco de subida anterior de la entrada de reloj. ‘’’/ CS’’’ Chip Select. Cuando esta señal es alta, el chip hace caso omiso de todas las otras entradas (excepto para CKE), y actúa como si se recibe un comando NOP. ‘’’DQM’’’ ocultar los datos. (La letra Q aparece porque, siguiendo las convenciones de la lógica digital, las líneas de datos se conoce como "DQ" líneas.) Al alta, estas señales de supresión de los datos I / O. Cuando acompañan a escribir los datos, los datos no son en realidad por escrito a la DRAM. Cuando afirmó alta dos ciclos antes de un ciclo de lectura, la lectura de datos no es la salida del chip. Hay una línea DQM por 8 bits en un chip x16 de memoria o DIMM. ‘’’/RAS’’’ fila Dirección Strobe. A pesar del nombre, este no es un estrobo, sino simplemente un poco de comandos. Junto con / CAS y / WE, esto selecciona uno de los 8comandos. ‘’’/ CAS’’’ columna Dirección Strobe. A pesar del nombre, este no es un estrobo, sino simplemente un poco de comandos. Junto con / RAS y / WE, esto selecciona uno de los 8comandos. ‘’’/ WE’’’ modo escritura. Junto con / RAS y CAS, esta selecciona uno de los 8comandos. Esto generalmente se distingue de lectura como los comandos de escribir-como comandos.
Dispositivos SDRAM se dividen internamente en 2 o 4bancos de datos interna independiente. Uno o dos entradas de la dirección del banco (BA0 y BA1) seleccionar un comando de que el banco se dirige.
Muchos de los comandos también utilizar una dirección presentados en los pines de dirección de entrada. Algunos comandos, que o bien no utilizar una dirección, o presentar una columna de dirección, también utilizan A10 para seleccionar variantes. Los comandos de entender son los siguientes.
/CS /RAS /CAS /WE BAn A10 An Comandos H x x x x x x Comando do inhibir (No operación) L H H H x x x Ninguna operación L H H L x x x Burst Terminar: Parada de una ráfaga de lectura o escritura en el progreso estallido. L H L H banco L columna Leer: Leer una ráfaga de datos de la fila activa. L H L H banco H columna Lea con precarga automática: Como el anterior, y precarga (cierra la fila) cuando termine. L H L L banco L columna Escribe: Escribe una ráfaga de datos a la fila activa. L H L L banco H columna Escribir con precarga automática: Como el anterior, y precarga (cierra la fila) cuando termine. L L H H banco row Active (Activar): abrir una línea de comandos Leer y Escribir L L H L banco L x Precarga: Desactivar la fila actual del banco seleccionado. L L H L x H x Precargar todos: Desactivar la fila actual de todos los bancos. L L L H x x x Actualización automática: Actualizar una fila de cada banco, utilizando un contador interno. Todos los bancos deben ser precargado. L L L L 0 0 mode Registro de modo de carga: A0 a través de A9 se cargan para configurar el chip DRAM Los ajustes más importantes son la latencia CAS (2 o 3 ciclos) y la longitud de la ráfaga (1, 2, 4 u 8 ciclos)
Cómo opera Una SDRAM DIMM 512MiB pueda hacerse de los 8 o 9chips SDRAM, cada uno con 512Mibit de almacenamiento, y aportando cada uno de 8bits de ancho de 64 - o 72-bit de la DIMM. Una típica de chips SDRAM de 512Mibit internamente consta de 4bancos independientes de 16MiB. Cada banco es una matriz de 8192líneas de 16384bits cada uno. Un banco es o inactivo, activo, o cambiar de uno a otro.
Un comando activo activa un banco de inactividad. Se necesita un 2-bit de la dirección del banco (BA0-BA1) y una dirección de la fila 13-bit (A0-A12), y dice que la fila en la matriz del banco de 16384amplificadores de sentido. Esto también se conoce como "apertura" de la fila. Esta operación tiene el efecto secundario de actualizar esa fila.
Una vez que la fila se ha activado o "abierto", leer y escribir los comandos son posibles. Cada comando requiere una dirección de columna, pero debido a que cada chip funciona en 8 bits a la vez, hay 2048direcciones de columna posible, necesitando solo 11líneas de dirección (A0-A9, A11). La activación requiere un tiempo mínimo, llamado de la fila a retrasar la columna, o tRCD. Esta vez, redondeado al próximo múltiplo del período de reloj, especifica el número mínimo de ciclos entre un comando activo, y de lectura o escritura de comandos. Durante estos ciclos de retraso, comandos arbitrarios pueden ser enviados a otros bancos, que son completamente independientes.
Cuando se emite un comando de lectura, la SDRAM producirá la salida de datos correspondiente en las líneas de DQ a tiempo para el flanco de subida del reloj de 2 o 3ciclos más tarde (dependiendo de la latencia CAS está configurado). Tras las palabras de la explosión se produjo a tiempo para que los bordes posteriores de reloj en aumento.