Memorias RAM Dinámicas Sincrónicas (SDRAMs) de Doble

Anuncio
Memorias RAM Dinámicas Sincrónicas
(SDRAMs) de Doble Velocidad de Datos Double Data Rate (DDR)
Cátedra Electrónica Digital II
Cristian Sisterna, MSc
Electrónica Digital II
Cristian Sisterna
Página |1
Electrónica Digital II
Cristian Sisterna
Página |2
Contenido
1. Antecedentes Históricos de las RAM Dinámicas................................................................................... 4
2. RAMs Dinámicas Sincrónicas (SDRAMs) ............................................................................................... 5
3. Arquitectura SDRAM DDR con Pre Búsqueda de 2*n Bits ................................................................... 6
4. Arquitectura de una SDRAM ................................................................................................................. 8
5. Reloj de la SDRAM DDR......................................................................................................................... 9
6. Señal de Captura de los Datos de la SDRAM DDR (DQS) .................................................................... 10
7. Lectura/Escritura de la SDRAM DDR ................................................................................................... 10
8. Paquete de Datos o Burst ................................................................................................................... 12
9. Funcionalidad de las Señales de Control ............................................................................................ 13
Apéndice (lectura opcional) ........................................................................................................................ 15
A1. SSTL-2 ................................................................................................................................................ 15
A2. MEF de Control de una SDRAM DDR ................................................................................................ 16
A3. Precarga (precharged) ...................................................................................................................... 17
A4. Tipos de SDRAM-DDR ....................................................................................................................... 17
A5. Lectura de Datos de una SDRAM DDR desde un FPGA..................................................................... 18
A6. Lectura de Datos de una SDRAM DDR desde un FPGA..................................................................... 18
A7. LVDS .................................................................................................................................................. 19
Figuras
Figura 1. Banco de memorias DRAMs para reducir la latencia. .................................................................... 5
Figura 2. Comparación de la segmentación en el interior de una SDRAM y una DRAM. ............................. 6
Figura 3. Representación gráfica de una arquitectura con pre búsqueda de 2n bits. .................................. 7
Figura 4. Diagrama de bloque funcional de una memoria SDRAM de 128 Mbits. ....................................... 8
Figura 5. Tipos de señales de reloj para memorias SDR y DDR. ................................................................... 9
Figura 6. Diagrama de tiempo de la señal DQS en operaciones de lectura y escritura. ............................. 10
Figura 7. Diagrama de tiempo de una operación de lectura en una SDRAM DDR. .................................... 11
Figura 8. Diagrama de tiempo de una operación de escritura en una SDRAM DDR. ................................. 11
Figura 9. Ejemplo de distintos valores de latencia. .................................................................................... 12
Figura 10. Ejemplo de distintos tamaños de paquete (burst). ................................................................... 13
Figura 11. Esquema de terminación paralela del lado del receptor. .......................................................... 15
Figura 12. Esquema doble-serie doble-paralelo. ........................................................................................ 15
Figura 13. Diagrama de estados de la MEF de control de una SDRAM DDR. ............................................. 16
Figura 14 - Diagrama de tiempo de la lectura de datos DDR...................................................................... 18
Figura 15. Diagrama de tiempo de escritura DDR ...................................................................................... 19
Figura 16. Conexión típica LVDS entre dos dispositivos ............................................................................. 20
Figura 17. Captura en osciloscopio de una señal tipo LVDS ....................................................................... 20
Electrónica Digital II
Cristian Sisterna
Página |3
1. Antecedentes Históricos de las RAM Dinámicas
Por muchos años las memorias dinámicas de acceso aleatorio (Dynamic Random Access
Memory, DRAM) han sido el estándar a usar como memorias en sistemas de computadoras o
con microprocesadores. Las memorias DRAM fueron usadas, en casi todos los mercados de la
electrónica, desde microcomputadoras hasta supercomputadoras. Entre las principales ventajas
de la DRAM esta su densidad de encapsulado, gracias a que la celda de memoria consiste de un
simple transistor y capacitor. Así, se puede obtener una memoria de gran capacidad, con una
cantidad mínima de componentes. Los avances tecnológicos han provocado que la densidad
por encapsulado haya crecido por un factor de casi 10.000, desde que la DRAM fue introducida
en los finales de los ‘70s, con dispositivos de 16Kbits, hasta hoy en día que se pueden tener
memorias de más de 16Gbits.
Aunque la tecnología del proceso de dopaje de la memoria y su respectivo encapsulado han
mejorado en gran medida, la arquitectura básica de la DRAM no ha cambiado desde el primer
día que fue lanzada al mercado. Así, una DRAM de 2n bits típicamente está organizada como
2n/2 filas por 2n/2 columnas. Las filas se seleccionan con la señal RAS (Row Address Select), y
las columnas se direccionan con la señal CAS (Column Address Select). Uno de los grandes
límites de uso de la DRAM es que su frecuencia máxima de lectura y escritura de datos no se ha
incrementado en la misma medida que se incrementó la frecuencia de funcionamiento de los
microprocesadores. El periodo de tiempo requerido, ya sea para leer o escribir datos en una
DRAM, hace que el procesador tenga un tiempo de espera muy largo lo que provoca que el
rendimiento general del sistema se vea degradado.
Debido a la estructura de la DRAM una vez que un procesador requiere un dato a la memoria,
comenzando un ciclo de lectura, transcurre un largo tiempo hasta que el dato está disponible
en los terminales de salida de la memoria. El tiempo que transcurre desde que se requiere el
dato hasta que está disponible se mide en ciclos de reloj del procesador, y en cada ciclo de reloj
de espera el procesador está sin hacer ninguna operación ni ningún acceso a la entrada/salida.
Técnicamente, este tiempo de espera se denomina tiempo de acceso o latencia. En una DRAM
el procesador genera una dirección de acceso a memoria que es capturada con la aserción de
las señales de control CAS\ y RAS\. En particular RAS\ se debe mantener activa durante todo el
proceso, ya sea de escritura o de lectura, por lo que no es posible que la DRAM puede aceptar
nuevas direcciones de acceso hasta que termine el proceso de escritura o lectura ya
comenzado. Por ello, el rendimiento total del sistema memoria DRAM-procesador es bastante
lento, con mucha latencia a medida que la frecuencia de funcionamiento del procesador
aumenta.
Electrónica Digital II
Cristian Sisterna
Página |4
Una primera solución planteada para resolver este problema, fue hacer una especie de banco
de memorias DRAMs. Para reducir la latencia en la disponibilidad de los datos, los bancos se
acceden en tiempos diferentes, con diferentes señales de control. La Figura 1 muestra un
sistema con un banco de cuatro memorias DRAM, mejora bastante el rendimiento del sistema
para leer y escribir datos, pero incrementa notablemente la complejidad del controlador de
escritura y lectura del banco de memorias.
Figura 1. Banco de memorias DRAMs para reducir la latencia.
2. RAMs Dinámicas Sincrónicas (SDRAMs)
Una solución que se propuso para que el tiempo acceso a la DRAM sea lo menor posible, fue la
de diseñar una DRAM que sea sincrónica, conocida como SDRAM (Synchronous DRAM), basada
en una arquitectura bastante diferente a la arquitectura de la DRAM.
En esta nueva arquitectura todas las señales de control de la SDRAM son capturadas en el
flanco de subida del reloj. Señales de control como RAS\ y CAS\ solo necesitan estar activas
durante el flanco de reloj, por lo que el procesador necesita activar las señales de control, las
direcciones y los datos solo por uno o a lo sumo dos periodos de reloj. A diferencia de la DRAM
estándar, donde la señal CAS\ no puede ser activada consecutivamente (o se podría decir en
periodos de reloj consecutivos), la SDRAM puede aceptar una nueva dirección de columna en
cada flanco positivo del reloj, mejorando de este modo notoriamente la frecuencia de
disponibilidad de datos, equiparándose a la frecuencia de trabajo del procesador.
Electrónica Digital II
Cristian Sisterna
Página |5
Figura 2 muestra en detalle la segmentación (pipelining) en el interior de una SDRAM,
comparada con una DRAM. Como puede observarse, en la SDRAM se puede estar accediendo a
una nueva ubicación de memoria con cada flanco positivo del reloj, al poder capturar una
nueva dirección en dicho flanco, de este modo Add 1 (Address 1) es capturada en CLK1, Add2,
en CLK2, Add 3 en CLK 3 y asi sucesivamente. Por otro lado, en la DRAM, la dirección de lectura
Add 1 es capturada en CLK1, y recién una vez que el dato de salida está disponible, en CLK4, un
ciclo de reloj después, en CLK5, es posible que se capture una nueva dirección (Add 2).
En este ejemplo, la latencia de la memoria DRAM es de 3 ciclos de reloj. Cabe aclarar que la
SDRAM tiene la misma latencia inicial para el primer dato. Sin embargo, y tal como se aprecia
en la figura, los datos subsiguientes se pueden leer en cada flanco positivo del reloj.
Figura 2. Comparación de la segmentación en el interior de una SDRAM y una DRAM.
3. Arquitectura SDRAM DDR con Pre Búsqueda de 2*n Bits
Una memoria tipo SDRAM DDR, es una memoria SDRAM que recibe y transmite datos en
ambos flancos del reloj, tanto en el flanco positivo como en el flanco negativo. Para poder
transferir datos al doble de la frecuencia de reloj, se emplea una arquitectura con pre búsqueda
(prefecth) de 2*n bits. En esta arquitectura en cada ciclo del reloj se transfieren 2*n bits desde
la memoria al buffer de E/S. Cada medio ciclo de reloj se transfieren n bits del buffer de E/S, es
decir, en cada flanco positivo y en cada flanco negativo. Por este motivo a este tipo de memoria
se las llama de doble velocidad de transferencia de datos (Dual Data Rate).
Electrónica Digital II
Cristian Sisterna
Página |6
Para poder llevar a cabo la transferencia de datos en ambos flancos de reloj, en la arquitectura
de la SDRAM DDR el tamaño del bus de datos interno de la memoria es el doble del bus de
datos externo. Es decir, si la memoria recibe/transfiere datos de 8 bits, el bus interno es de 16
bits. Por otro lado, se puede deducir que en este tipo de memoria la lectura mínima es de dos
datos o palabras, y las únicas longitudes de palabras soportadas tanto para lectura como para
escritura son potencias enteras de 2; es decir 2, 4, 8, etc. Técnicamente, la lectura o escritura
de datos en longitudes de más de un dato, se conoce como paquete o en inglés como “burst”
(ráfaga), por lo que una transferencia de un paquete o burst de 4 significa que se transfieren 4
palabras.
La Figura 3 muestra una arquitectura de una SDRAM DDR con pre búsqueda de 2*n bits.
Figura 3. Representación gráfica de una arquitectura con pre búsqueda de 2n bits.
En la Figura 3 se puede observar al bus interno de 2*n bits, que se divide en el dato
correspondiente a la dirección par (even), y en el dato correspondiente a la dirección impar
(odd). Estos datos se capturan en un buffer con cerrojo, para posteriormente sacar el dato de la
dirección impar en el flanco positivo, y el dato de la dirección par en el flanco negativo. Y así el
proceso continúa transfiriendo un dato de n bits por cada flanco del reloj.
Electrónica Digital II
Cristian Sisterna
Página |7
4. Arquitectura de una SDRAM
La arquitectura interna de una SDRAM consiste principalmente de cuatro bancos de memoria. A cuál de
estos bancos se accede, depende del valor de los dos bits más significativos de la dirección de acceso.
Este esquema de cuatro bancos de memoria provee el máximo ancho de banda posible, ya que cada
banco se puede acceder independientemente del otro. Una vez que se ha seleccionado una fila de un
determinado banco, puede ser mantenida activa y accedida en cada ciclo de reloj simplemente
cambiando la dirección de columna. Por otro lado, se puede acceder a un banco mientras los otros
están siendo precargados (precharged). Una vez que se ha activado la fila de cada banco, pueden ocurrir
accesos a columnas alternadas en cada ciclo de reloj, causando un ping-pong entre los bancos. El
intervalo de transición entre bancos es menor que la transición en un mismo banco.
Figura 4. Diagrama de bloque funcional de una memoria SDRAM de 128 Mbits.
Electrónica Digital II
Cristian Sisterna
Página |8
5. Reloj de la SDRAM DDR
A medida que aumenta la frecuencia del reloj de un sistema digital, diversos factores, tanto
eléctricos, electromagnéticos, como mecánicos afectan la integridad de la señal de reloj,
obteniéndose en la práctica una señal de reloj que dista mucho de ser la ideal. Una de las
características de la señal de reloj que puede verse afectada, es que el periodo en alto del reloj
difiera en tiempo con el periodo en bajo del reloj, es decir que el ciclo de trabajo del reloj (duty
cycle) no sea exactamente del 50%. Para el caso de las memorias SDR (single data rate), en la
cuales todas las operaciones están sincronizadas con el flanco positivo del reloj, no es muy
crítico que el ciclo de trabajo sea exactamente del 50%. Sin embargo, para las memorias tipo
DDR, que usan ambos flancos de reloj, es muy importante que el tiempo en ‘0’ sea el mismo
que en ‘1’. Es por ello que las memorias tipo DDR adoptan un esquema de reloj de tipo señal
diferencial.
La Figura 5 detalla los tipos de reloj usados para SDR y DDR.
Figura 5. Tipos de señales de reloj para memorias SDR y DDR.
CK\ es una señal de entrada a la memoria que tiene el mismo periodo, pero fase invertida, que
CK. Al utilizar un esquema de señal de reloj tipo diferencial posibilita a la SDRAM DDR soportar
frecuencias de reloj cada vez más altas, y limita la influencia negativa del ruido (noise),
fluctuación (jitter), desfasaje (skew), etc.
Electrónica Digital II
Cristian Sisterna
Página |9
6. Señal de Captura de los Datos de la SDRAM DDR (DQS)
Como en la SDRAM DDR las operaciones se realizan al doble de la frecuencia del reloj externo,
la ventana de validez de datos es más angosta que la de la SDR DRAM. Es por ello que para
hacer el proceso de escritura y de lectura más fiable, se utiliza una señal de captura (o
sincronismo) de los datos (data strobe signal) llamada DQS.
DQS es una señal bidireccional, controlada ya sea por la memoria (cuando el dato es leído
desde la misma) o controlada por el controlador de memoria (cuando se escribe un dato en
memoria).
La Figura 6 detalla la funcionalidad de la señal DQS.
Figura 6. Diagrama de tiempo de la señal DQS en operaciones de lectura y escritura.
Como se puede observar en la Figura 6, el flanco de DQS está alineado con el flanco del dato
leído en el proceso de lectura de un dato; mientras que el flanco de DQS está alineado con el
centro del dato a escribir en el proceso de escritura. Esto significa que el controlador de la
memoria debe generar la señal DQS desfasada 90 grados del reloj que se usa para generar el
dato a escribir. Por el otro lado, el controlador de la memoria deberá retardar 90 grados la
señal DQS generada por la memoria para poder usar esa señal para capturar el dato leído.
7. Lectura/Escritura de la SDRAM DDR
La Figura 7 muestra la relación entre el reloj de entrada a la SDRAM DDR (señal diferencial), las señales
de control y el ciclo de lectura.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 10
Figura 7. Diagrama de tiempo de una operación de lectura en una SDRAM DDR.
La Figura 8 muestra la relación entre el reloj de entrada a la SDRAM DDR, las señales de control,
y el ciclo de escritura.
Figura 8. Diagrama de tiempo de una operación de escritura en una SDRAM DDR.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 11
8. Paquete de Datos o Burst
A fin de poder transferir datos a la velocidad más alta posible, las SDRAM DDR implementan el
modo paquete (burst). En el modo burst, el procesador le envía a la memoria la primera
dirección de la escritura o lectura, y la memoria genera las direcciones subsiguientes.
El modo burst reduce al tiempo de atención del procesador a las operaciones de lectura o
escritura, ya que debe generar solo la dirección de comienzo del paquete de datos, evitando
tener que generar toda la secuencia de señales de escritura y lectura por cada dirección de
memoria. Normalmente las SDRAM DDR soportan longitudes de 2, 4, 8 y banco o página
completa. Así por ejemplo un burst de 4 ciclos, significa que el procesador genera la primer
dirección de acceso a la memoria y la SDRAM DDR genera las tres direcciones restantes. La
opción de banco o página completa es muy útil para, por ejemplo, rellenar la memoria caché
después de que esta ha sido limpiada completamente (flushed), después de un cambio del
proceso en ejecución realizado por el sistema operativo. También se usa para aplicaciones de
procesamiento de imágenes, en las que grandes cantidades de datos representan la imagen en
pantalla.
La latencia de la SDRAM DDR también es programable. Tal como se explicó antes, la latencia
determina el número de ciclos de reloj entre que se requiere el dato y que el dato está
disponible en los terminales de salida de la memoria. Hay que tener en cuenta que esta latencia
se aplica sólo al primer dato que se accede, después de éste, se dispone de un nuevo dato a la
salida en cada flanco de reloj.
Figura 9. Ejemplo de distintos valores de latencia.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 12
Figura 10. Ejemplo de distintos tamaños de paquete (burst).
9. Funcionalidad de las Señales de Control
Otra diferencia importante entre la SDRAM y la DRAM es que, aun cuando las señales de
control de la SDRAM tienen el mismo nombre que en la DRAM (RAS\, CAS\, WE\, etc.), el modo
de uso y su significado es totalmente diferente. En una SDRAM estas señales de control son
interpretadas como un código de operación (opcode), formando en general un conjunto de
órdenes para la SDRAM. Este código u orden es decodificado por una máquina de estados
interna en la SDRAM, quien es la que realmente controla el acceso a los bloques de memoria de
la SDRAM. En esto se diferencian de una DRAM en la que las mismas señales de control
controlan la escritura y lectura de los bloques de memoria de la misma, y no tienen otra
funcionalidad.
La Tabla 1 detalla los comandos más comunes en una SDRAM.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 13
Tabla 1. Valores de las señales de control para los distintas operaciones de la SDRAM DDR
Electrónica Digital II
Cristian Sisterna
P á g i n a | 14
Apéndice (lectura opcional)
A1. SSTL-2
Series Stub Terminated Logic para 2,5V (SSTL-2), es un estándar eléctrico de circuitos digitales
especificado y estandarizado por la organización JEDEC (Joint Electron Device Engineering
Council).
El estándar SSTL-2 es una especificación para señales de alta velocidad que usa un esquema de
terminación paralelo. El uso de la terminación paralelo es importante, ya que permite terminar
apropiadamente las líneas de transmisión de los buses de datos, reduciendo
considerablemente las reflexiones de las señales, lo cual provee tiempos de ascenso y de caída
más rápidos. Esta terminación también permite frecuencias de reloj más altas.
Existen dos esquemas de implementación de la terminación paralela en el estándar SSTL-2.
En la Figura 11, en el lado receptor el bus se termina con un simple resistor en paralelo.
Generalmente, las terminaciones simple-serie y simple-paralelo se usan para señales
unidireccionales, tales como las líneas de control y el bus de direcciones. Para señales
bidireccionales, tales como el bus de datos y DQS, se usa el esquema doble-serie doble-paralelo
de la Figura 12.
Figura 11. Esquema de terminación paralela del lado del receptor.
Figura 12. Esquema doble-serie doble-paralelo.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 15
A2. MEF de Control de una SDRAM DDR
La Figura 13 muestra un diagrama de flujo simplificado de la máquina de estados interna de la
SDRAM DDR, que controla el proceso de lectura, escritura y refresco. Las transiciones entre los
estados de la MEF se definen por las órdenes detalladas en la Tabla 1.
Figura 13. Diagrama de estados de la MEF de control de una SDRAM DDR.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 16
A3. Precarga (precharged)
Tal como se vio cuando se estudió la memoria DRAM, es muy importante que las líneas de bit sean
mantenidas a un potencial de VCC/2. Este proceso es llamado precarga (precharged).
La precarga de las líneas de bit a VCC/2 es el paso más importante para todas las operaciones de la
DRAM. Antes de escribir o leer una celda de la DRAM, la línea de bit debe ser precargada.
A4. Tipos de SDRAM-DDR
La siguiente tabla muestra las características principales de las diferentes DDR SDRAM comerciales.
Parameter
DDR3 SDRAM
DDR2 SDRAM
DDR SDRAM
Performance
300-800 MHz
200-533 MHz
100-200 MHz
Altera FPGA
interface support
Up to 1066 Mbps
Up to 800 Mbps
Up to 400 Mbps
512 MB - 8 GB,
256 MB - 1 GB,
128 MB - 1 GB,
32 MB - 8 GB (DIMM)
32 Mb - 4 GB (DIMM)
32 Mb - 2 GB (DIMM)
SSTL-15
SSTL-18
SSTL-2
Class I, II
Class I, II
Class I, II
Data width
4, 8, 16
4, 8, 16
4, 8, 16, 32
Burst length
8
4, 8
2, 4, 8
CAS latency
5 - 10
3, 4, 5
2, 2.5, 3
Data strobe
Differential
bidirectional strobe
only
Differential or singleended bidirectional
strobe
Single-ended
bidirectional strobe
Density
I/O standard
Electrónica Digital II
Cristian Sisterna
P á g i n a | 17
A5. Lectura de Datos de una SDRAM DDR desde un FPGA
La siguiente figura detalla la lectura de datos en ambos flancos de reloj (DDR), y como esos datos son
alineados dentro del FPGA.
Figura 14 - Diagrama de tiempo de la lectura de datos DDR
Se puede observar como dentro del FPGA es necesario desfasar la señal de captura DQS unos 90 grados
a fin de poder ser utilizada para capturar el dato en el medio del rango del mismo. También se observa
que un flip-flop de entrada captura el dato en el flanco positivo del ‘inclock’ y el otro captura en el flanco
negativo de ‘inclock’. Un segundo flip-flop es utilizado para recapturar el dato neg_reg_out con el flanco
positivo del reloj de modo que los datos de entrada queden todos alineados con el flanco positivo del
reloj.
A6. Lectura de Datos de una SDRAM DDR desde un FPGA
El diagrama de tiempo de la escritura de datos en ambos flancos de reloj DDR se detalla en la siguiente
figura.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 18
Figura 15. Diagrama de tiempo de escritura DDR
En este caso el FPGA genera los datos con el flanco positivo y negativo de ‘outclock’, pero el reloj que
envía con los datos, DQS, está desplazado 90 grados con respecto a ‘outclock’. De este modo el
dispositivo que recibe los datos, por ejemplo una memoria DDR SDRAM, puede fácilmente usar DQS
para capturar los datos a ser escritos.
A7. LVDS
Al aumentar cada vez más la necesidad de transmisión de datos a alta velocidad, la interface entre
circuitos integrados de alta velocidad es crítica para poder alcanzar alto rendimiento, baja potencia y
buena inmunidad al ruido. Entre los estándares más usados para este tipo de transmisión esta el LVDS.
El termino LVDS deriva del ingles Low Voltage Differential Signal, que significa señal diferencial de bajo
voltaje. Al ser una señal diferencial se necesitan dos pines E/S por señal a transmitir/recibir.
La siguiente figura muestra la conexión entre dos dispositivos usando el estándar LVDS.
Electrónica Digital II
Cristian Sisterna
P á g i n a | 19
Figura 16. Conexión típica LVDS entre dos dispositivos
Entre las principales ventajas de este estándar están: reducción de EMI comparado con otros estándares
debido a su bajo rango de voltaje, y lenta pendiente de crecimiento (slow slew rate), menor reflexión,
mejor inmunidad al ruido, menos consumo de potencia, bajo costo (no necesita componentes
especiales, el circuito impreso es el mismo usado para cualquier otro diseño).
Figura 15 muestra una captura en osciloscopio de una señal tipo LVDS, apreciándose a simple vista
algunas de las ventajas enumeradas en el párrafo anterior. Se destaca el bajo rango de voltaje de las
señales, del orden de los 350mV, las dos señales (Q y Q\) están referenciadas entre sí, no a masa, ní a un
nivel fijo de voltaje.
Figura 17. Captura en osciloscopio de una señal tipo LVDS
Electrónica Digital II
Cristian Sisterna
P á g i n a | 20
Documentos relacionados
Descargar