domingo, 6 de octubre de 2013

MEMORIAS DE ACCESO ALEATORIO



Las memorias de Acceso Aleatorio son conocidas como memorias RAM de la sigla en inglés Random Access Memory. Se caracterizan por ser memorias de lectura/escritura y contienen un conjunto de variables de dirección que permiten seleccionar cualquier dirección de memoria de forma directa e independiente de la posición en la que se encuentre.

Estas memorias son volátiles, es decir, que se pierde la información cuando no hay energía y se clasifican en dos categorías básicas: la RAM estática y la RAM dinámica, las cuales se describen en las siguientes dos secciones.

Memoria RAM estática

Este tipo de memoria conocida como SRAM (Static Random Access Memory) se compone de celdas conformadas por flip-flops construidos generalmente con transistores MOSFET, aunque también existen algunas memorias pequeñas construidas con transistores bipolares. En la figura 10.2.1 se observa la estructura típica de una celda de memoria de una SRAM.
Figura 10.2.1. Estructura de una celda de memoria SRAM
Como se observa en la figura la celda se activa mediante un nivel activo a la entrada superior y los datos se cargan o se leen a través de las líneas laterales.

Las celdas de memoria se agrupan en filas y columnas para conformar el arreglo básico de la memoria. En la figura 10.2.2 se muestra la disposición de las celdas de memoria en unaSRAM, donde se observa que cada una de las filas se habilita de forma simultánea para recibir o cargar los datos del bus de entrada/salida.

Figura 10.2.2. Arreglo básico de una SRAM
Existen otras modalidades de funcionamiento de las memorias estáticas, entre ellas se pueden nombrar las siguientes:

SRAM Sincrónica

Al igual que en los sistemas sincrónicos, este tipo de memoria tiene una entrada de reloj, la cual le permite operar en sincronía con otros dispositivos. Esta característica no aporta mejores beneficios, sin embargo simplifica enormemente el diseño de sistemas de alta prestaciones, ya que una única señal controla todos los dispositivos involucrados. La ventaja de estas memorias viene proporcionada por lo que se podría llamar su funcionamiento automático, guiado por la señal de reloj, por lo que no es necesario ocuparse de generar las señales de control.

SRAM de Ráfaga

Las memorias de ráfagas (burst) son sincrónicas y se caracterizan por incluir un contador que permite que la memoria genere internamente la dirección a la que debe acceder, consiguiendo de esta forma accesos hasta cuatro posiciones de memoria con una sola dirección de referencia. Esto permite acceder de forma mas rápida a la información en memoria.

Vemos como funciona este tipo de memoria. La CPU genera una dirección de memoria, la cual se propaga a través del bus de direcciones hasta la memoria, decodificándose y accediendo a la posición correspondiente. Si se ha configurado la memoria en modo ráfaga, una vez obtenido el primer dato, incrementa la dirección y vuelve a acceder. De esta forma se evita el tiempo de propagación de las señales por el bus y el tiempo de decodificación de la dirección. El numero de palabras leídas o escritas en una ráfaga, viene limitado por el tamaño del contador interno de la memoria.
    SRAM Pipeline

    Con los dos tipos de memorias anteriores se consigue el acceso a posiciones consecutivas de forma rápida. Para mantener esta velocidad cuando se cambia de secuencia, las memorias pipeline incluyen un buffer para almacenar la dirección y los datos actuales proporcionados por la memoria. De esta forma, se puede enviar la nueva dirección antes de terminar la lectura, consiguiendo así que la CPU no espere la finalización del acceso a una posición de memoria para generar la nueva dirección.

    Memoria RAM dinámica

    Este tipo de memoria conocida como DRAM (Dinamic Random Access Memory), a diferencia de la memoria estática se compone de celdas de memoria construidas con condensadores. Las celdas de memoria son de fabricación más sencillas en comparación a las celdas a base de transistores, lo cual permite construir memorias de gran capacidad. La figura 10.2.3 se observa la composición interna de una de estas celdas.
    Figura 10.2.3. Celda de memoria de una DRAM
    La operación de la celda es similar a la de un interruptor, cuando el estado en la fila se encuentra en alto, el transistor entra en saturación y el dato presente en el bus interno de la memoria (columna) se almacena en el condensador, durante una operación de escritura y se extrae en una operación de lectura. El inconveniente que tiene este tipo de memorias consiste en que hay que recargar la información almacenada en las celdas, por lo cual estas celdas requieren de circuitería adicional para cumplir esta función. En la figura 10.2.4 se observa la celda completa con sus aditamentos donde se puede identificar la forma en que se desarrollan las operaciones de escritura, lectura y recarga.
    Figura 10.2.4. Sistema lectura, escritura y recarga de una celda DRAM
    Como se ha notado, existen diferencias entre la memoria Estática y Dinámica. En La tabla 10.2.1 se indican las ventajas y desventajas de los dos sistemas de memoria, lo cual permite seleccionar el tipo de memoria dependiendo de la aplicación.
    MemoriaVentajasDesventajas
    SRAM
    • La velocidad de acceso es alta.
    • Para retener los datos solo necesita estar energizada.
    • Son mas fáciles de diseñar.
    • Menor capacidad, debido a que cada celda de almacenamiento requiere mas transistores.
    • Mayor costo por bit.
    • Mayor consumo de Potencia.
    DRAM
    • Mayor densidad y capacidad.
    • Menor costo por bit.
    • Menor consumo de potencia.
    • La velocidad de acceso es bajar.
    • Necesita recargar de la información. almacenada para retenerla.
    • Diseño complejo.

    Memorias de Solo Lectura
    Las memorias de solo lectura son conocidas como memorias ROM de la sigla en inglés Read Only Memory. Se caracterizan por ser memorias de lectura y contienen celdas de memoria no volátiles, es decir que la información almacenada se conserva sin necesidad de energía. Este tipo de memoria se emplea para almacenar información de forma permanente o información que no cambie con mucha frecuencia.
    Actualmente se dispone de varios tipos de memorias ROM, a continuación se explicará cada una de ellas con sus características básicas.
    Memoria ROM de Máscara
    Esta memoria se conoce simplemente como ROM y se caracteriza porque la información contenida en su interior se almacena durante su construcción y no se puede alterar. Son memorias ideales para almacenar microprogramas, sistemas operativos, tablas de conversión y caracteres.
    Generalmente estas memorias utilizan transistores MOS para representar los dos estados lógicos (1 ó 0). La programación se desarrolla mediante el diseño de un negativo fotográfico llamado máscara donde se especifican las conexiones internas de la memoria. En la figura 10.3.1 se muestra la celda de memoria de una ROM de este tipo, en tecnologías TTL y MOS.
    Figura 10.3.1. Celdas de memoria para una ROM
    Las celdas de memoria se organizan en grupos para formar registros del mismo tamaño y estos se ubican físicamente formando un arreglo, como el indicado en la figura 10.3.2.
    Figura 10.3.2. Organización interna de una Memoria ROM
    Memoria PROM
    Esta memoria es conocida como ROM programable de la sigla en inglés Programmable Read Only Memory. Este tipo de memoria a diferencia de la ROM no se programa durante el proceso de fabricación, en vez de ello la programación la efectúa el usuario y se puede realizar una sola vez, después de la cual no se puede borrar o volver a almacenar otra información.
    El proceso de programación es destructivo, es decir, que una vez grabada, es como si fuese una ROM normal. Para almacenar la información se emplean dos técnicas: por destrucción de fusible o por destrucción de unión. Comúnmente la información se programa o quema en las diferentes celdas de memoria aplicando la dirección en el bus de direcciones, los datos en los buffers de entrada de datos y un pulso de 10 a 30V, en una terminal dedicada para fundir los fusibles correspondientes. Cuando se aplica este pulso a un fusible de la celda, se almacena un 0 lógico, de lo contrario se almacena un lógico (estado por defecto), quedando de esta forma la información almacenada de forma permanente. En la figura 10.3.3 se observa la disposición interna de una celda de memoria y los fusibles correspondientes.
    Figura 10.3.3. Celda de Memoria de una PROM
    El proceso de programación de una PROM generalmente se realiza con un equipo especial llamado quemador. Este equipo emplea un mecanismo de interruptores electrónicos controlados por software que permiten cargar las direcciones, los datos y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la figura 10.3.4 se indica de forma esquemática la función del programador.
    Figura 10.3.4. Programación de un PROM
    Memoria EPROM
    Este tipo de memoria es similar a la PROM con la diferencia que la información se puede borrar y volver a grabar varias veces. Su nombre proviene de la sigla en inglés Erasable Read Only Memory.
    La programación se efectúa aplicando en un pin especial de la memoria una tensión entre 10 y 25 Voltios durante aproximadamente 50 ms, según el dispositivo, al mismo tiempo se direcciona la posición de memoria y se pone la información a las entradas de datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de memoria.
    La memoria EPROM, tal como las memorias vistas anteriormente se compone de un arreglo de transistores MOSFET de Canal N de compuerta aislada. En la figura 10.3.5 se observa el transistor funcionando como celda de memoria en una EPROM.
    Figura 10.3.5. Celda de memoria de una EPROM
    Cada transistor tiene una compuerta flotante de SiO2 (sin conexión eléctrica) que en estado normal se encuentra apagado y almacena un 1 lógico. Durante la programación, al aplicar una tensión (10 a 25V) la región de la compuerta queda cargada eléctricamente, haciendo que el transistor se encienda, almacenando de esta forma un lógico. Este dato queda almacenado de forma permanente, sin necesidad de mantener la tensión en la compuerta ya que la carga eléctrica en la compuerta puede permanecer por un período aproximado de 10 años.
    Por otra parte el borrado de la memoria se realiza mediante la exposición del dispositivo a rayos ultravioleta durante un tiempo aproximado de 10 a 30 minutos. Este tiempo depende del tipo de fabricante y para realizar el borrado, el circuito integrado dispone de una ventana de cuarzo transparente, la cual permite a los rayos ultravioleta llegar hasta el material fotoconductivo presente en las compuertas aisladas y de esta forma lograr que la carga se disipe a través de este material apagando el transistor, en cuyo caso todas las celdas de memoria quedan en 1 lógico. Generalmente esta ventana de cuarzo se ubica sobre la superficie del encapsulado y se cubre con un adhesivo para evitar la entrada de luz ambiente que pueda borrar la información, debido a su componente UV. En la figura 10.3.6 se observa la fotografía de una memoria de este tipo.
    Figura 10.3.6. Apariencia Fisica de una EPROM
    Memoria EEPROM

    La memoria EEPROM es programable y borrable eléctricamente y su nombre proviene de la sigla en inglés Electrical Erasable Programmable Read Only Memory. Actualmente estas memorias se construyen con transistores de tecnología MOS (Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).

    Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la diferencia básica se encuentra en la capa aislante alrededor de cada compuesta flotante, la cual es más delgada y no es fotosensible.

    La programación de estas memorias es similar a la programación de la EPROM, la cual se realiza por aplicación de una tensión de 21 Voltios a la compuerta aislada MOSFET de cada transistor, dejando de esta forma una carga eléctrica, que es suficiente para encender los transistores y almacenar la información. Por otro lado, el borrado de la memoria se efectúa aplicando tensiones negativas sobre las compuertas para liberar la carga eléctrica almacenada en ellas.

    Esta memoria tiene algunas ventajas con respecto a la Memoria EPROM, de las cuales se pueden enumerar las siguientes:
    • Las palabras almacenadas en memoria se pueden borrar de forma individual.
    • Para borra la información no se requiere luz ultravioleta.
    • Las memorias EEPROM no requieren programador.
    • Para reescribir no se necesita se necesita hacer un borrado previo.
    • Se pueden reescribir aproximadamente unas 1000 veces sin que se observen problemas para almacenar la información.
    El tiempo de almacenamiento de la información es similar al de las EPROM, es decir aproximadamente 10 años.

    Memoria FLASH

    La memoria FLASH es similar a la EEPROM, es decir que se puede programar y borrar eléctricamente. Sin embargo esta reúne algunas de las propiedades de las memorias anteriormente vistas, y se caracteriza por tener alta capacidad para almacenar información y es de fabricación sencilla, lo que permite fabricar modelos de capacidad equivalente a lasEPROM a menor costo que las EEPROM.

    Las celdas de memoria se encuentran constituidas por un transistor MOS de puerta apilada, el cual se forma con una puerta de control y una puerta aislada, tal como se indica en la figura 10.3.7. La compuerta aislada almacena carga eléctrica cuando se aplica una tensión lo suficientemente alta en la puerta de control. De la misma manera que la memoria EPROM, cuando hay carga eléctrica en la compuerta aislada, se almacena un 0, de lo contrario se almacena un 1.

    Figura 10.3.7 Celda de memoria de una FLASH
    Las operaciones básicas de una memoria Flash son la programación, la lectura y borrado.

    Como ya se mencionó, la programación se efectúa con la aplicación de una tensión (generalmente de 12V o 12.75 V) a cada una de las compuertas de control, correspondiente a las celdas en las que se desean almacenar 0’s. Para almacenar 1’s no es necesario aplicar tensión a las compuertas debido a que el estado por defecto de las celdas de memoria es 1.

    La lectura se efectúa aplicando una tensión positiva a la compuerta de control de la celda de memoria, en cuyo caso el estado lógico almacenado se deduce con base en el cambio de estado del transistor:
    • Si hay un 1 almacenado, la tensión aplicada será lo suficiente para encender el transistor y hacer circular corriente del drenador hacia la fuente.
    • Si hay un 0 almacenado, la tensión aplicada no encenderá el transistor debido a que la carga eléctrica almacenada en la compuerta aislada.
    Para determinar si el dato almacenado en la celda es un 1 ó un 0, se detecta la corriente circulando por el transistor en el momento que se aplica la tensión en la compuerta de control.

    El borrado consiste en la liberación de las cargas eléctricas almacenadas en las compuertas aisladas de los transistores. Este proceso consiste en la aplicación de una tensión lo suficientemente negativa que desplaza las cargas como se indica en la figura 10.3.8.

    Figura 10.3.8. Proceso de descarga de una celda de memoria FLASH

    No hay comentarios:

    Publicar un comentario