jueves, 1 de septiembre de 2011

MEMORIAS ROM




 MEMORIA ROM: (read-only memory) o memoria de sólo lectura

La memoria ROM, (read-only memory) o memoria de sólo lectura, es la memoria que se utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los diagnósticos. La mayoría de los ordenadores tienen una cantidad pequeña de memoria ROM (algunos miles de bytes).
La memoria ROM, también es conocida como firmware, es un circuito integrado programado con unos datos específicos cuando es fabricado. Los chips de características ROM no solo se usan en ordenadores sino en muchos otros componentes electrónicos también. Hay varios tipos de ROM, por lo que lo mejor es empezar por partes.

 Tipos de Memoria ROM:

Hay 5 tipos básicos de ROM, los cuales se pueden identificar como:

·         ROM
·         PROM           
·         EPROM
·         EEPROM
·         Memoria Flash

Cada tipo tiene unas características especiales, aunque todas tienen algo en común:
Los datos que se almacenan en estos chips son no volátiles, lo cual significa que no se pierden cuando se apaga el equipo.
Los datos almacenados no pueden ser cambiados o en su defecto necesitan alguna operación especial para modificarse. Recordemos que la memoria  RAM  puede ser cambiada en al momento.
Todo esto significa que quitando la fuente de energía que alimenta el chip no supondrá que los datos se pierdan irremediablemente.

Funcionamiento Memoria ROM

De un modo similar a la memoria RAM, los chips ROM contienen  una hilera de filas y columnas, aunque la manera en que interactúan es bastante diferente. Mientras que RAM usualmente utiliza transistores para dar paso a un capacitador en cada intersección, ROM usa un diodo para conectar las líneas si el valor es igual a 1. Por el contrario, si el valor es 0, las líneas no se conectan en absoluto.


   Memoria 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 Frohman. 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.

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 EPROMs 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 EPROMs normales como a las EPROMs 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 EPROMs 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:
Tipo de EPROM
Tamaño — bits
Tamaño — Bytes
Longitud (hex)
Última dirección (hex)
1702, 1702ª
256
100
000FF
2704
4 Kbits
512
200
001FF
2708
8 Kbits
400
003FF
2716, 27C16
16 Kbits
2 KBytes
800
007FF
2732, 27C32
32 Kbits
4 KBytes
1000
00FFF
2764, 27C64
64 Kbits
8 KBytes
2000
01FFF
27128, 27C128
128 Kbits
16 KBytes
4000
03FFF
27256, 27C256
256 Kbits
32 KBytes
8000
07FFF
27512, 27C512
512 Kbits
64 KBytes
10000
0FFFF
27C010, 27C100
128 KBytes
20000
1FFFF
27C020
2 Mbits
256 KBytes
40000
3FFFF
27C040
4 Mbits
512 KBytes
80000
7FFFF
27C080
8 Mbits
100000
FFFFF
NOTA: 1702 EPROMs son PMOS, las EPROMs de las serie 27x que contienen una C en el nombre están basadas en CMOS, el resto son NMOS
Pines de la EPROM 2764
+--------------+
VPP |1    +--+   28| VCC
A12 |2           27| /PGM
A7 |3           26| NC
A6 |4           25| A8
A5 |5           24| A9
A4 |6           23| A11
 A3 |7    2764   22| /OE
 A2 |8           21| A10
 A1 |9           20| /CE
 A0 |10          19| D7
 D0 |11          18| D6
 D1 |12          17| D5
 D2 |13          16| D4
GND |14          15| D3
    +--------------+


   Memoria EEPROM o  E²PROM: (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 ultravioletas. 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²CSPI y Microwire. En otras ocasiones, se integra dentro de chips como microcontroladores y DSPs para lograr una mayor rapidez.

MEMORIA FLASH

La memoria flash es una tecnología de almacenamiento —derivada de la memoria EEPROM— que permite la lecto-escritura de múltiples posiciones de memoria en la misma operación. Gracias a ello, la tecnología flash, siempre mediante impulsos eléctricos, permite velocidades de funcionamiento muy superiores frente a la tecnología EEPROM primigenia, que sólo permitía actuar sobre una única celda de memoria en cada operación de programación. Se trata de la tecnología empleada en los dispositivos pendrive.
La memoria flash es una forma avanzada de EEPROM creada por el Dr. Fujio Masuoka mientras trabajaba para Toshiba en 1984 y fue presentada en la Reunión de Aparatos Electrónicos de la IEEEde 1984Intel vio el potencial de la invención y en 1988 lanzó el primer chip comercial de tipo NOR.

GENERALIDADES MEMORIA FLASH

Económicamente hablando, el precio en el mercado ronda los 12 € para dispositivos con '4 GB de almacenamiento', aunque, evidentemente, se pueden encontrar dispositivos exclusivamente de almacenamiento de unos pocos MB por precios realmente bajos, estos en extinción, y de hasta 600 € para la gama más alta y de mayores prestaciones. No obstante, el coste por MB en los discos duros son muy inferiores a los que ofrece la memoria flash y, además los discos duros tienen una capacidad muy superior a la de las memorias flash.
Ofrecen, además, características como gran resistencia a los golpes, bajo consumo y por completo silencioso, ya que no contiene ni actuadores mecánicos ni partes móviles. 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.
Sin embargo, todos los tipos de memoria flash sólo 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.
Este tipo de memoria está fabricado con puertas lógicas NOR y NAND para almacenar los 0s ó 1s correspondientes. Actualmente (08-08-2005) hay una gran división entre los fabricantes de un tipo u otro, especialmente a la hora de elegir un sistema de archivos para estas memorias. Sin embargo se comienzan a desarrollar memorias basadas en ORNAND.
Los sistemas de archivos 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 archivos FAT por compatibilidad, sobre todo en las tarjetas de memoria extraíble.


Otra característica de reciente aparición (30-9-2004) 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.

Tipos de memoria FLASH

 Memoria flash de tipo NOR

En las memorias flash de tipo NOR, cuando los electrones se encuentran en FG, modifican (prácticamente anulan) el campo eléctrico que generaría CG en caso de estar activo. De esta forma, dependiendo de si la celda está a 1 ó 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 ó un 0, reproduciendo así el dato almacenado. En los dispositivos de celda multi-nivel, 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 sumidero, 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 sumidero, 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.

 Memorias 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 coste bastante inferior, unas diez veces de más resistencia a las operaciones pero sólo 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

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 coste de NOR es mucho mayor.
El acceso NOR es aleatorio para lectura y orientado a bloques para su modificación. Sin embargo, NAND ofrece tan solo acceso directo para los bloques y lectura secuencial dentro de los mismos.
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 y rápidos pero carecen de una fiabilidad que los haga eficientes, lo que demuestra la necesidad imperiosa de un buen sistema de archivos. Dependiendo de qué sea lo que se busque, merecerá la pena decantarse por uno u otro tipo.

 ANTECEDENTES DE LA MEMORIA FLASH

Las memorias han evolucionado mucho desde los comienzos del mundo de la computación. Conviene recordar los tipos de memorias de semiconductores empleadas como memoria principal y unas ligeras pinceladas sobre cada una de ellas para enmarcar las memorias flash dentro de su contexto.

Organizando estos tipos de memoria conviene destacar tres categorías si las clasificamos en función de las operaciones que podemos realizar sobre ellas, es decir, memorias de sólo lectura, memorias de sobre todo lectura y memorias de lectura/escritura.

Memorias de sólo lectura.

Ø  ROM: (Read Only Memory): Se usan principalmente en microprogramación de sistemas. Los fabricantes las suelen emplear cuando producen componentes de forma masiva.

Ø  PROM: (Programmable Read Only Memory): El proceso de escritura es electrónico. Se puede grabar posteriormente a la fabricación del chip, a diferencia de las anteriores que se graba durante la fabricación. Permite una única grabación y es más cara que la ROM.






Memorias de sobre todo lectura.

Ø  EPROM (Erasable Programmable Read Only Memory): Se puede escribir varias veces de forma eléctrica, sin embargo, el borrado de los contenidos es completo y a través de la exposición a rayos ultravioletas (de esto que suelen tener una pequeña ‘ventanita’ en el chip).

Ø  EEPROM (Electrically Erasable Programmable Read Only Memory): Se puede borrar selectivamente byte a byte con corriente eléctrica. Es más cara que la EPROM.


Ø  Memoria flash: Está basada en las memorias EEPROM pero permite el borrado bloque a bloque y es más barata y densa.

Memorias de Lectura/Escritura (RAM)

Ø  DRAM (Dynamic Random Access Memory): Los datos se almacenan como en la carga de un condensador. Tiende a descargarse y, por lo tanto, es necesario un proceso de refresco periódico. Son más simples y baratas que las SRAM.

Ø  SRAM (Static Random Access Memory): Los datos se almacenan formando biestables, por lo que no requiere refresco. Igual que DRAM es volátil. Son más rápidas que las DRAM y más caras.


HISTORIA DE LA MEMORIA FLASH

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 routersmódemsBIOS de los PC, wireless, etc. Fue Fujio Masuoka en 1984, 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 si comercializó la primera memoria flash de uso común.

Entre los años 1994 y 1998, se desarrollaron los principales tipos de memoria que conocemos hoy, como la SmartMedia o la CompactFlash. La tecnología pronto planteó aplicaciones en otros campos. En 1998, la compañía Rio comercializó el primer ‘Walkman’ sin piezas móviles aprovechando el modo de funcionamiento de SmartMedia. Era el sueño de todo deportista que hubiera sufrido los saltos de un discman en el bolsillo.

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 vídeo consolas, capacidad de almacenamiento para las PC Card que nos permiten conectar a redes inalámbricas y un largo etcétera, incluso llegando a la aeronáutica espacial. El espectro es grande.

  MEMORIA CACHE

Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias caché (de disco, de sistema, incluso de datos, como es el caso de la caché de Google), pero en este tutorial nos vamos a centrar en la caché de los procesadores. Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad.

En la actualidad esta memoria está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible. 

TIPOS DE MEMORIA CACHÉ


 Caché de 1er nivel (L1):

Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB.
Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos. 



Caché de 2º nivel (L2):

Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB.
A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema.

Caché de 3er nivel (L3):

Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad. En un principio esta caché estaba incorporada a la placa base, no al procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que se utilizaba), depende de la comunicación entre el procesador y la placa base.
Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca se encuentre del núcleo del procesador (L1). 
Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara.
Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no) limita bastante el tamaño, por un lado por lo que encarece al procesador y por otro por el espacio disponible.

En cuanto a la utilización de la caché L2 en procesadores multinucleares, existen dos tipos diferentes de tecnologías a aplicar. Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la caché L2 está accesible para ambos núcleos y por otro está la utilizada por AMD, en la que cada núcleo tiene su propia caché L2 dedicada solo para ese núcleo.
La caché L2 apareció por primera vez en los Intel Pentium Pro, siendo incorporada a continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente (aunque dentro del procesador).




No hay comentarios:

Publicar un comentario