lunes, 11 de octubre de 2021

Memorias PROM, EPROM, EEPROM Y FLASH

 PROM (programmable read-only memory, memoria programable de solo lectura)

Es una memoria digital donde el valor de cada bit depende del estado de un fusible (o anti fusible), que puede ser quemado una sola vez. Por esto la memoria puede ser programada (pueden ser escritos los datos) una sola vez a través de un dispositivo especial, un programador PROM. Estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROMs, o cuando los datos deben cambiar en muchos o todos los casos.

Programación

Una PROM común se encuentra con todos los bits en valor 1 como valor por defecto de las fábricas; el quemado de cada fusible, cambia el valor del correspondiente bit a 0. La programación se realiza aplicando pulsos de altos voltajes que no se encuentran durante operaciones normales (12 a 21 voltios). El término Read-only (sólo lectura) se refiere a que, a diferencia de otras memorias, los datos no pueden ser cambiados (al menos por el usuario final).

Historia

La memoria PROM fue inventada en 1956 por Wen Tsing Chow, trabajando para la «División Arma», de la American Bosch Arma Corporation en Garden City, Nueva York. La invención fue concebida a petición de la Fuerza aérea de los Estados Unidos, para conseguir una forma más segura y flexible para almacenar las constantes de los objetivos en la computadora digital del MBI Atlas E/F.

La patente y la tecnología asociadas fueron mantenidas bajo secreto por varios años mientras el Atlas E/F era el principal misil de Estados Unidos. 

El término «quemar», refiriéndose al proceso de grabar una PROM, se encuentra también en la patente original, porque como parte de la implementación original debía quemarse literalmente los diodos internos con un exceso de corriente para producir la discontinuidad del circuito. Las primeras máquinas de programación de PROMs también fueron desarrolladas por ingenieros de la División Arma bajo la dirección del Sr. Chow y fueron ubicados el laboratorio Arma de Garden City, y en la jefatura del Comando estratégico aéreo de las Fuerzas Aéreas.

EPROM  Erasable Programmable Read-Only Memory (ROM programable borrable)

Es un tipo de chip de memoria ROM no volátil inventado por el ingeniero Dov Flohman. Está formada por celdas de FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) o “transistores de puerta flotante”, cada uno de los cuales viene de fábrica sin carga, por lo que son leídos como 1 (por eso, una EPROM sin grabar se lee como FF en todas sus celdas). Se programan mediante un dispositivo electrónico que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0.

Las memorias EPROM se programan mediante un dispositivo electrónico, como el Cromemco Bytesaver, que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0.

Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta.​ Esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen. Las EPROM se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado.

Como el cuarzo de la ventana es caro de fabricar, se introdujeron los chips OTP (One-Time Programmable, programables una sola vez). La única diferencia con la EPROM es la ausencia de la ventana de cuarzo, por lo que no puede ser borrada. Las versiones OTP se fabrican para sustituir tanto a las EPROM normales como a las EPROM incluidas en algunos microcontroladores. Estas últimas fueron siendo sustituidas progresivamente por EEPROMs (para fabricación de pequeñas cantidades donde el coste no es lo importante) y por memoria flash (en las de mayor utilización).

Una EPROM programada retiene sus datos durante diez o veinte años, y se puede leer un número ilimitado de veces. Para evitar el borrado accidental por la luz del sol, la ventana de borrado debe permanecer cubierta. Las antiguas BIOS de los ordenadores personales eran frecuentemente EPROM y la ventana de borrado estaba habitualmente cubierta por una etiqueta que contenía el nombre del productor de la BIOS, su revisión y una advertencia de copyright.

Las EPROM pueden venir en diferentes tamaños y capacidades. Así, para la familia 2700 se pueden encontrar:



Borrado

Una memoria EPROM puede ser borrada con una lámpara de luz UV, del tipo UV-C, que emita radiación en torno a los 2537 Å (Angstrom) o 254nm, a una distancia de unos 2.5 cm de la memoria. La radiación alcanza las células de la memoria a través de una ventanilla de cuarzo transparente situada en la parte superior de la misma.

Para borrar una EPROM se necesita que la cantidad de radiación recibida por la misma se encuentre en torno a los 15 W/〖𝑐𝑚〗^2 durante un segundo. El tiempo de borrado real suele ser de unos 20 minutos debido a que las lámparas utilizadas suelen tener potencias en torno a los 12 mW/cm² (12 mW x 20 x 60 s = 14.4 W de potencia suministrada). Este tiempo también depende del fabricante de la memoria que se desee borrar. En este tiempo todos sus bits se ponen a 1.

Es importante evitar la sobreexposición del tiempo de radiación a las EPROM; es decir, la potencia luminosa suministrada a la memoria, pues se produce un envejecimiento prematuro de las mismas.

Debido a que la radiación solar e incluso la luz artificial proveniente de tubos fluorescentes borra la memoria lentamente (de una semana a varios meses), es necesario tapar dicha ventanilla con una etiqueta opaca que lo evite, una vez que son grabadas.

Se debe aclarar que una EPROM no puede ser borrada parcial o selectivamente; de ahí que por muy pequeña que fuese la eventual modificación a realizar en su contenido, inevitablemente se deberá borrar y reprogramar en su totalidad.





EEPROM (Electrically Erasable Programmable Read-Only Memory, ROM programable y borrable eléctricamente)

Es un tipo de memoria ROM que puede ser programada, borrada y reprogramada eléctricamente, a diferencia de la EPROM que ha de borrarse mediante un aparato que emite rayos ultravioleta. Son memorias no volátiles.

Las celdas de memoria de una EEPROM están constituidas por un transistor MOS, que tiene una compuerta flotante (estructura SAMOS), su estado normal está cortado y la salida proporciona un 1 lógico.

Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y un millón de veces.

Estos dispositivos suelen comunicarse mediante protocolos como I²C, SPI y Microwire. En otras ocasiones, se integra dentro de chips como microcontroladores y DSPs para lograr una mayor rapidez.

EEPROM de Silicon Storage Technology 39VF512.



FLASH

Permite la lectura y escritura de múltiples posiciones de memoria en la misma operación. Gracias a ello, la tecnología flash, mediante impulsos eléctricos, permite velocidades de funcionamiento superiores frente a la tecnología EEPROM primigenia, que solo permitía actuar sobre una única celda de memoria en cada operación de programación.



Se trata de la tecnología empleada en las memorias USB, unidades de estado sólido y las actuales BIOS.

La historia de la memoria flash siempre ha estado muy vinculada con el avance del resto de las tecnologías a las que presta sus servicios como routers, módems, BIOS de las PC, wireless, etcétera. En 1984, fue Fujio Masuoka quien inventó este tipo de memoria como evolución de las EEPROM existentes por aquel entonces.​ Intel intentó atribuirse la creación de esta sin éxito, aunque sí comercializó la primera memoria flash de uso común. Entre los años 1994 y 1998, se desarrollaron los principales tipos de memoria conocidas, como la SmartMedia o la CompactFlash. La tecnología pronto planteó aplicaciones en otros campos. 

En 1998, la compañía Río comercializó el primer reproductor de audio digital sin piezas móviles aprovechando el modo de funcionamiento de la memoria flash. Este producto inauguraría una nueva clase de reproductores que causarían una revolución en la industria musical llevando al escándalo Napster, el lanzamiento del iPod y el eventual reemplazo de los reproductores de cinta y CD.



En 1994, SanDisk comenzó a comercializar tarjetas de memoria (CompactFlash) basadas en estos circuitos, y desde entonces la evolución ha llegado a pequeños dispositivos de mano de la electrónica de consumo como reproductores de MP3 portátiles, tarjetas de memoria para videoconsolas y teléfonos móviles, capacidad de almacenamiento para las PC Card que permiten conectar a redes inalámbricas y un largo etcétera, incluso llegando a la aeronáutica espacial.



Generalidades

Económicamente hablando, el precio en el mercado cumple la ley de Moore aumentando su capacidad y disminuyendo el precio.

Algunas de sus ventajas son una gran resistencia a los golpes, tiempos de acceso más rápidos, bajo consumo de energía y un funcionamiento silencioso, ya que no contiene actuadores mecánicos ni partes móviles comparados con un disco duro convencional. Su pequeño tamaño también es un factor determinante a la hora de escoger para un dispositivo portátil, así como su ligereza y versatilidad para todos los usos hacia los que está orientado. En vista de ello, comienzan a popularizarse las unidades SSD que usan memoria flash en lugar de platos.

Sin embargo, todos los tipos de memoria flash solo permiten un número limitado de escrituras y borrados, generalmente entre 10.000 y un millón, dependiendo de la celda, de la precisión del proceso de fabricación y del voltaje necesario para su borrado. Además su relación costo capacidad es menos favorable respecto a otros medios como los discos ópticos y los discos duros.

Este tipo de memoria está fabricado con puertas lógicas NOR y NAND para almacenar los ceros (0) o unos (1) correspondientes.

Los sistemas de ficheros para estas memorias están en pleno desarrollo aunque ya en funcionamiento como por ejemplo JFFS originalmente para NOR, evolucionado a JFFS2 para soportar además NAND o YAFFS, ya en su segunda versión, para NAND. Sin embargo, en la práctica se emplea un sistema de ficheros FAT por compatibilidad, sobre todo en las unidades de memoria extraíble.

Otra característica ha sido la resistencia térmica de algunos encapsulados de tarjetas de memoria orientadas a las cámaras digitales de gama alta. Esto permite funcionar en condiciones extremas de temperatura como desiertos o glaciares ya que el rango de temperaturas soportado abarca desde los –25 °C hasta los 85 °C.

Las aplicaciones más habituales son:

  • Las memorias USB que, además del almacenamiento, puede incluir otros servicios como, lector de huella digital, radio FM, grabación de voz y, sobre todo como reproductores portátiles de MP3 y otros formatos de audio.
  • Las PC Card (descontinuado).
  • Las tarjetas de memoria flash que son usadas para almacenar fotos y videos en las cámaras digitales. También son comunes en los teléfonos móviles y tabletas para ampliar la capacidad de almacenamiento.


Existen varios estándares de encapsulados promocionados y fabricados por la mayoría de las multinacionales dedicadas a la producción de hardware. Los más comunes hoy en día son Secure Digital, Compact Flash y Memory Stick.

Acceso a bajo nivel

Flash, como tipo de EEPROM que es, contiene una matriz de celdas con un transistor evolucionado con dos puertas en cada intersección. Tradicionalmente solo almacenan un bit de información. Las nuevas memorias flash, llamadas también dispositivos de celdas multinivel, pueden almacenar más de un bit por celda variando el número de electrones que almacenan.

Estas memorias están basadas en el transistor FAMOS (Floating Gate Avalanche-Injection Metal Oxide Semiconductor) que es, esencialmente, un transistor NMOS con un conductor (basado en un óxido metálico) adicional localizado o entre la puerta de control (CG – Control Gate) y los terminales fuente/drenador contenidos en otra puerta (FG – Floating Gate) o alrededor de la FG conteniendo los electrones que almacenan la información.

Memoria flash de tipo NOR

En las memorias flash de tipo NOR, cuando los electrones se encuentran en FG (Floating Gate), modifican (prácticamente anulan) el campo eléctrico que generaría CG (control Gate) en caso de estar activo. De esta forma, dependiendo de si la celda está a 1 o a 0, el campo eléctrico de la celda existe o no. Entonces, cuando se lee la celda poniendo un determinado voltaje en CG, la corriente eléctrica fluye o no en función del voltaje almacenado en la celda. La presencia/ausencia de corriente se detecta e interpreta como un 1 o un 0, reproduciendo así el dato almacenado. 

En los dispositivos de celda multinivel, se detecta la intensidad de la corriente para controlar el número de electrones almacenados en FG e interpretarlos adecuadamente. 

Para programar una celda de tipo NOR (asignar un valor determinado) se permite el paso de la corriente desde el terminal fuente al terminal drenador, entonces se coloca en CG un voltaje alto para absorber los electrones y retenerlos en el campo eléctrico que genera. Este proceso se llama hot-electrón injection. 

Para borrar (poner a “1”, el estado natural del transistor) el contenido de una celda, expulsar estos electrones, se emplea la técnica de Fowler-Nordheim tunnelling, un proceso de tunelado mecánico-cuántico. Esto es, aplicar un voltaje inverso bastante alto al empleado para atraer a los electrones, convirtiendo al transistor en una pistola de electrones que permite, abriendo el terminal drenador, que los electrones abandonen el mismo. Este proceso es el que provoca el deterioro de las celdas, al aplicar sobre un conductor tan delgado un voltaje tan alto.

Es necesario destacar que las memorias flash están subdivididas en bloques (en ocasiones llamados sectores) y por lo tanto, para el borrado, se limpian bloques enteros para agilizar el proceso, ya que es la parte más lenta del proceso. Por esta razón, las memorias flash son mucho más rápidas que las EEPROM convencionales, ya que borran byte a byte. No obstante, para reescribir un dato es necesario limpiar el bloque primero para después reescribir su contenido.



Memoria flash de tipo NAND

Las memorias flash basadas en puertas lógicas NAND funcionan de forma ligeramente diferente: usan un túnel de inyección para la escritura y para el borrado un túnel de ‘soltado’. Las memorias basadas en NAND tienen, además de la evidente base en otro tipo de puertas, un costo bastante inferior, unas diez veces de más resistencia a las operaciones, pero solo permiten acceso secuencial (más orientado a dispositivos de almacenamiento masivo), frente a las memorias flash basadas en NOR que permiten lectura de acceso aleatorio. 

Sin embargo, han sido las NAND las que han permitido la expansión de este tipo de memoria, ya que el mecanismo de borrado es más sencillo (aunque también se borre por bloques) lo que ha proporcionado una base más rentable para la creación de dispositivos de tipo tarjeta de memoria. Las populares memorias USB o también llamadas Pendrives, utilizan memorias flash de tipo NAND.



Comparación de memorias flash tipo NOR y NAND

Para comparar estos tipos de memoria se consideran los diferentes aspectos de las memorias tradicionalmente valorados.

  • La densidad de almacenamiento de los chips es actualmente bastante mayor en las memorias NAND.
  • El costo de NOR es mucho mayor.
  • El acceso NOR es aleatorio para lectura y orientado a bloques para su modificación.
  • En la escritura de NOR podemos llegar a modificar un solo bit. Esto destaca con la limitada reprogramación de las NAND que deben modificar bloques o palabras completas.
  • La velocidad de lectura es muy superior en NOR (50-100 ns) frente a NAND (10 µs de la búsqueda de la página + 50 ns por byte).
  • La velocidad de escritura para NOR es de 5 µs por byte frente a 200 µs por página en NAND.
  • La velocidad de borrado para NOR es de 1 ms por bloque de 64 KB frente a los 2 ms por bloque de 16 KB en NAND.

La fiabilidad de los dispositivos basados en NOR es realmente muy alta, es relativamente inmune a la corrupción de datos y tampoco tiene bloques erróneos frente a la escasa fiabilidad de los sistemas NAND que requieren corrección de datos y existe la posibilidad de que queden bloques marcados como erróneos e inservibles.

En resumen, los sistemas basados en NAND son más baratos pero carecen de una fiabilidad que los haga eficientes, lo que demuestra la necesidad imperiosa de un buen sistema de ficheros. Dependiendo de qué sea lo que se busque, merecerá la pena decantarse por uno u otro tipo.