Todo sobre SRAM: Tipos Comunes y su Funcionamiento
SRAM (Static Random Access Memory) o RAM estática es un tipo de memoria de acceso aleatorio (RAM) que utiliza semiconductores como método de almacenamiento de bits de datos. Este tipo de memorias es capaz de mantener los datos mientras haya energía sin perderla en el proceso, es decir, a diferencia de su contraparte (DRAM), este tipo de memorias no necesitan un sistema de refresco para leer/rescribir los datos cada cierto tiempo.
Un detalle a mencionar es que la RAM estática es sumamente rápida; sin embargo, esta es muy compleja y costosa de fabricar.
Diccionario de la SRAM
¿Qué significa Q y Qbar?
Las letras Q y Qbar representan el nivel lógico que está almacenado dentro de la celda de memoria; sin embargo, al estar formada por dos inversores enlazados (esto forma un circuito biestable), estos no pueden tener el mismo valor a la vez; por lo tanto, estos van intercambiando sus valores.
Es decir, un nivel lógico alto en la entrada del primer inversor (Q) se transforma en un nivel lógico bajo en su salida; no obstante, este nivel lógico bajo se transfiere al segundo inversor (Qbar), pero transformándolo a un nivel lógico alto, para luego retransmitirlo al primer inversor, retroalimentando el mismo valor, es decir, el nivel lógico que tuvo desde un principio.
Por consiguiente, el circuito solo puede estar en dos estados:
- Q = 1 & Qbar = 0
- Q = 0 & Qbar = 1.
Nota: Lo mismo pasaría si el nivel lógico fuera bajo desde un principio.
Bitline (BL y BLbar) y Wordline
Tanto las bitlines como la Wordline se utilizan con el fin de leer y escribir datos en la celda de memoria.
VSS, VDD e Inversores
- VSS: Tensión negativa de alimentación
- VDD: Tensión positiva de alimentación
- Inversor: Un inversor (puerta NOT) es un circuito que posee una entrada y una salida; su finalidad es transmitir una salida contraria a su entrada.
¿Para Qué Sirve la SRAM?
Debido a que la memoria DRAM no es lo suficientemente rápida como para ir al ritmo del Procesador, se requiere una memoria extra que pueda ser utilizado como intermediario de alta velocidad entre la CPU y la memoria principal (DRAM). Aquí es donde entra la SRAM, que funciona como una Memoria Cache para la CPU.
¿Cómo Funciona la SRAM?
Estructura de las Celdas de una SRAM
Para entender el funcionamiento de la RAM estática, es necesario entender que las celdas de almacenamiento se componen de seis transistores por celda de memoria controlados por la Wordline.
Nota: el número de transistores por celda puede variar, por lo que nos enfocaremos en el tipo de celda 6T para la explicación.
La función de cada transistor es simple; cuatro de estos (T1, T2, T3, T4) se encargan de mantener los datos almacenados mientras la memoria está recibiendo energía; por otra parte, los dos restantes (T5 y T6) funcionan como puerta de enlace para el acceso bidireccional entre los datos almacenados y las bitlines (BL y BLbar).
Nota: Los transistores de acceso (T5 y T6) están conectados a la Wordline.
Amplificador Sensitivo
Otro detalle a mencionar es su amplificador de sentido; este se encarga de captar hasta la señal más pequeña de voltaje dentro de las bitlines, para así determinar el nivel lógico correspondiente a cada inversor… Hay un amplificador de sentido por columna existente en la memoria.
Circuito de Precarga y Ecualización
Por último, tenemos el sistema de precarga y ecualización, un circuito equipado en cada columna, con el objetivo de precargar y ecualizar las bitlines antes de cada operación de lectura/escritura, esto con el fin de ayudar al amplificador a detectar fácilmente los voltajes pequeños.
Dentro del circuito, los transistores T8 y T9 se ocupan de cargar las bitlines mediante VDD/2. Por otro lado, T7 se encarga de igualar el voltaje entre las bitlines.
Nota: Todo este circuito se activa mediante la entrada de precarga (P).
¿Cuáles son las Operaciones de una SRAM?
Una vez entendidos los puntos anteriores, se puede definir cómo funcionan cada una de las operaciones; en este caso, las memorias SRAM tienen tres: Sostener (Hold), Leer (Read) y Escribir (Write).
¿Cómo se Mantienen los Datos en la SRAM?
Para mantener los datos se ejecuta la operación de sostener/reposo (Hold), los transistores que funcionan como puerta de enlace deben estar apagados, por lo tanto, los dos inversores formados por T1 – T4 mantendrán sus datos, mientras la alimentación eléctrica esté en curso.
¿Cómo se Leen los Datos en una Memoria SRAM?
Para ejecutar la operación de lectura es necesario que las bitlines (BL y BLbar) estén pre-cargadas y ecualizadas mediante VDD/2; al mismo tiempo, los transistores que funcionan como puerta de acceso (T5 y T6) deben estar habilitados, esto con la finalidad de establecer la conexión entre ambas bitlines (BL y BLbar) con sus respectivos valores (Q y Qbar).
Nota: Las conexiones son: BL & Q y BLbar y Qbar.
Una vez concretada la conexión, una corriente de energía se enviará por parte de VDD a la bitline principal (BL) mediante los transistores T4 y T6, con el objetivo de aumentar el voltaje en la línea. Por otro lado, una corriente de energía será enviada desde la bitline secundaria (BLbar), pasando por T5 y T1 hasta llegar a VSS, esto con el fin de disminuir su voltaje. La diferencia de voltaje entre ambas bitlines detectará el valor lógico almacenado en la celda, lo que permitirá una lectura correcta.
¿Cómo se Escriben los Datos en una Memoria SRAM?
La operación de escritura (Write) es más sencilla de lo que parece, ya que, para almacenar un valor lógico alto (es decir, un “1”), solo tienen que intercambiarse los valores de las bitlines. Es decir, considerando que Q es igual a un valor lógico alto (es decir, un “1”) y Qbar es igual a un valor lógico bajo (es decir, un “0”), para escribir un “0”en Q se haría lo siguiente:
Para ejecutar la operación, las bitlines proceden a pre-cargarse y se ecualizan mediante VDD/2; una vez hecho esto, los datos que queremos escribir en la memoria se asignan a las bitlines y el amplificador sensitivo se habilita.
Cuando la Wordline es seleccionada, los transistores que funcionan como puerta de acceso (T5 y T6) se activan con esta. Luego, una corriente de energía será enviada desde Q hasta la bitline principal (BL), disminuyendo el voltaje de Q. Por otra parte, la bitline secundaria (BLbar) enviará una corriente de energía a Qbar, aumentando el voltaje de Qbar.
Todo este proceso modificará el valor lógico de la celda, es decir, inicialmente Q tenía un valor lógico alto (es decir, un “1”) y Qbar un valor lógico bajo (es decir, un “0”). En simples palabras, este valor fue intercambiado durante el proceso de escritura.
PD: Esta sección la saqué del siguiente link; yo solo me encargué de traducirlo y explicarlo en un lenguaje no técnico.
Tipos de SRAM
Pseudo SRAM (PSRAM)
Pseudo SRAM (también llamada RAM pseudoestática) técnicamente es un tipo de memoria DRAM, con la diferencia de tener un circuito de actualización incorporado, junto a un controlador de direcciones para obtener un comportamiento similar a una SRAM.
RAM Estática No-volátil (nvSRAM)
La nvSRAM es un tipo de memoria que combina las funciones de una SRAM estándar, con los beneficios de una memoria no volátil. Usualmente, este tipo de memorias es utilizado cuando se necesita conservar la información al momento de cesar la alimentación eléctrica.
Asynchronous SRAM
La RAM estática asíncrona es un tipo de memoria RAM que no necesita de un reloj externo para su funcionamiento. Al no poseer esta característica, al momento que reciba las instrucciones, esta podrá ejecutar las operaciones de lectura/escritura. Comúnmente es utilizada para crear memoria caché de CPU.
Otro detalle importante es su circuito de enclavamiento a base de flip-flop para almacenar cada bit de datos.
Synchronous SRAM
La RAM Estática Síncrona es un tipo de memoria RAM que utiliza un circuito de enclavamiento para almacenar cada bit de datos. Otro detalle a mencionar es que a diferencia de su contraparte (Asynchronous SRAM), todas las operaciones están controladas por el reloj del sistema.
Nota: La RAM estática síncrona y asíncrona se clasifican por su función.
SRAM: Transistor de unión
Transistor de unión (tipo: TTL o ECL): Este tipo de transistores son dispositivos semiconductores de tres terminales (base, colector y emisor) que constan de dos uniones PN para amplificar o aumentar una señal. En el ámbito de la RAM estática, este tipo de transistor es bastante rápido. Sin embargo, consume mucha energía.
SRAM: MOSFET
MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) es un tipo de transistor que tiene como finalidad amplificar o cambiar los voltajes en dispositivos electrónicos. En el ámbito de la RAM estática, este tipo de transistor es catalogado como un estándar de bajo consumo.
Nota: La RAM estática de transistor de unión y MOSFET se clasifican por su transistor.