Memoria flash

De MadriSX wiki
Revisión del 14:47 3 dic 2006 de Museo8bits (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegaciónIr a la búsqueda
Formatos de tarjeta
de memoria
flash
.


La memoria flash es una forma evolucionada de la memoria EEPROM que permite que múltiples posiciones de memoria sean escritas o borradas en una misma operación de programación mediante impulsos eléctricos, frente a las anteriores que sólo permite escribir o borrar una única celda cada vez. Por ello, flash permite funcionar a velocidades muy superiores cuando los sistemas emplean lectura y escritura en diferentes puntos de esta memoria al mismo tiempo.

Características generales

Dos tarjetas CompactFlash de Kingston
Lector de tarjetas de memoria por USB.

Las memorias flash son de tipo no volátil, esto es, la información que almacena no se pierde en cuanto se desconecta de la corriente, una característica muy valorada para la multitud de usos en los que se emplea este tipo de memoria.

Los principales usos de este tipo de memorias son pequeños dispositivos basados en el uso de baterías como teléfonos móviles, PDA, pequeños electrodomésticos, cámaras de fotos digitales, reproductores portátiles de audio, etc.

Las capacidades de almacenamiento de estas tarjetas que integran memorias flash comenzaron en 8 MB pero actualmente se pueden encontrar en el mercado tarjetas de hasta 64 GB por parte de la empresa Samsung Electronics.

La velocidad de transferencia de estas tarjetas, al igual que la capacidad de las mismas, se ha ido incrementando progresivamente. La nueva generación de tarjetas permitirá velocidades de hasta 20 MB/s.

El coste de estas memorias es muy bajo respecto a otro tipo de memorias similares como EEPROM y ofrece rendimientos y características muy superiores. Económicamente hablando, el precio en el mercado ronda los 20 € para dispositivos con 512 MB de almacenamiento, aunque, evidentemente, se pueden encontrar dispositivos exclusivamente de almacenamiento de unas pocas MBs por precios realmente bajos, y de hasta 4000 € 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 y es muy 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 100.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 0’s ó 1’s 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.

Las aplicaciones más habituales son:

  • El llavero USB que, además del almacenamiento, suelen incluir otros servicios como radio FM, grabación de voz y, sobre todo como reproductores portátiles de MP3 y otros formatos de audio.
  • Las PC Card
  • Las tarjetas de memoria flash que son el sustituto del carrete en la fotografía digital, ya que en las mismas se almacenan las fotos.

Existen varios estándares de encapsulados promocionados y fabricados por la mayoría de las multinacionales dedicadas a la producción de hardware.

Funcionamiento

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

Estas memorias están basada 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 entre la puerta de control (CG – Control Gate) y los terminales fuente/drenador contenidos en otra puerta (FG – Floating Gate) o bien que rodea a FG y es quien contiene 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, 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-electron 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.

Cabe destacar que las memorias flash están subdividas 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 reescribir su contenido después.

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.

Comparación de memorias flash basadas en NOR y NAND

Para comparar estos tipos de memoria nos vamos a centrar en 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 s 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 eficiente, 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. Como en todo.

Sistemas de archivos para Memorias flash

Diseñar un sistema de archivos eficiente para las memorias flash se ha convertido en una carrera vertiginosa y compleja, ya que, aunque ambos (NOR y NAND) son tipos de memoria flash, tienen características muy diferentes entre sí a la hora de acceder a esos datos. Esto es porque un sistema de ficheros que trabaje con memorias de tipo NOR incorpora varios mecanismos innecesarios para NAND y, a u vez, NAND requiere mecanismos adicionales, innecesarios para gestionar la memoria de tipo NOR.

Un ejemplo podría ser un recolector de basura. Esta herramienta está condicionada por el rendimiento de las funciones de borrado que, en el caso de NOR es muy lento y, además, un recolector de basura NOR requiere una complejidad relativa bastante alta y limita las opciones de diseño del sistema de archivos. Comparándolo con los sistemas NAND, que borran mucho más rápidamente, estas limitaciones no tienen sentido.

Otra de las grandes diferencias entre estos sistemas es el uso de bloques erróneos que pueden existir en NAND pero no tienen sentido en los sistemas NOR que garantizan la integridad. El tamaño que deben manejar unos y otros sistemas también difiere sensiblemente y por lo tanto es otro factor a tener en cuenta. Se deberá diseñar estos sistemas en función de la orientación que se le quiera dar al sistema

Los dos sistemas de ficheros que se disputan el liderazgo para la organización interna de las memorias flash son JFFS (Journaling Flash File System) y YAFFS (Yet Another Flash File System)

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.

  1. Memorias de sólo lectura
    1. ROM: se usan principalmente en microprogramación de sistemas. Los fabricantes las suelen emplear cuando producen componentes de forma masiva.
    2. PROM: (Programmable Read Only Memory): El proceso de escritura es eléctrico. 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.
  2. Memorias de sobre todo lectura
    1. 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).
    2. 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.
    3. Memoria flash: Está basada en las memorias EEPROM pero permite el borrado bloque a bloque y es más barata y densa.
  3. Memorias de Lectura/Escritura (RAM)
    1. 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.
    2. SRAM (Static Random Access Memory): Los datos se almacenan formando biestables, por lo que no require 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 routers, módems, BIOS de los PCs, wireless, etc. Fue Intel en 1988 cuando inventó este tipo de memoria como evolución de las EEPROM existentes por aquel entonces.

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 diskman 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 video 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.

Futuro

El futuro del mundo de la memoria flash es bastante alentador, ya que se tiende a la ubicuidad de las computadoras y electrodomésticos inteligentes e integrados y, por ello, la demanda de memorias pequeñas, baratas y flexibles seguirá en alza hasta que aparezcan nuevos sistemas que lo superen tanto en características como en coste y, al menos en apariencia, no es factible ni siquiera a medio plazo ya que la miniaturización y densidad de las memorias flash está todavía lejos de alcanzar niveles preocupantes desde el punto de vista físico.

El desarrollo de las memorias flash es, en comparación con otros tipos de memoria sorprendentemente rápido tanto en capacidad como en velocidad y prestaciones. Sin embargo, los estándares de comunicación de estas memorias, de especial forma en la comunicación con los PCs es notablemente inferior, lo que puede retrasar los avances conseguidos.

La apuesta de gigantes de la informática de consumo como AMD y Fujitsu en formar nuevas empresas dedicadas exclusivamente a este tipo de memorias como Spansion en julio de 2003 auguran fuertes inversiones en investigación, desarrollo e innovación en un mercado que en 2005 sigue creciendo en un mercado que ya registró en 2004 un crecimiento asombroso hasta los 15.000 millones de dólares (después de haber superado la burbuja tecnológica del llamado boom punto com) según el analista de la industria Gartner, avala todas estas ideas.

Es curioso que esta nueva empresa, concretamente, esté dando la vuelta a la tortilla respecto a las velocidades con una técnica tan sencilla en la forma como compleja en el fondo de combinar los dos tipos de tecnologías reinantes en el mundo de las memorias flash en tan poco tiempo. Sin duda se están invirtiendo muchos esfuerzos de todo tipo en este punto.

Sin embargo, la memoria flash se seguirá especializando fuertemente, aprovechando las características de cada tipo de memoria para funciones concretas. Supongamos una Arquitectura Harvard para un pequeño dispositivo como un PDA; la memoria de instrucciones estaría compuesta por una memoria de tipo ORNAND (empleando la tecnología MirrorBit de segunda generación) dedicada a los programas del sistema, esto ofrecería velocidades sostenidas de hasta 150 MB/s de lectura en modo ráfaga según la compañía con un costo energético ínfimo y que implementa una seguridad por hardware realmente avanzada; para la memoria de datos podríamos emplear sistemas basados en puertas NAND de alta capacidad a un precio realmente asequible. Sólo quedaría reducir el consumo de los potentes procesadores para PC actuales y dispondríamos de un sistema de muy reducidas dimensiones con unas prestaciones que hoy en día sería la envidia de la mayoría de los ordenadores de sobremesa. Y no queda mucho tiempo hasta que estos sistemas tomen, con un esfuerzo redoblado, las calles.

Cualquier dispositivo con datos críticos empleará las tecnologías basadas en NOR u ORNAND si tenemos en cuenta que un fallo puede hacer inservible un terminal de telefonía móvil o un sistema médico por llegar a un caso extremo. Sin embargo, la electrónica de consumo personal seguirá apostando por las memorias basadas en NAND por su inmensamente reducido costo y gran capacidad, como los reproductores portátiles de MP3 o ya, incluso, reproductores de DVDs portátiles. La reducción del voltaje empleado (actualmente en 1,8 V la más reducida), además de un menor consumo, permitirá alargar la vida útil de estos dispositivos sensiblemente. Con todo, los nuevos retos serán los problemas que sufren hoy en día los procesadores por su miniaturización y altas frecuencias de reloj de los microprocesadores.

Los sistemas de ficheros para memorias flash, con proyectos disponibles mediante CVS (Concurrent Version System) y código abierto permiten un desarrollo realmente rápido, como es el caso de YAFFS2, que, incluso, ha conseguido varios sponsors y hay empresas realmente interesadas en un proyecto de esta envergadura.

La integración con sistemas de wireless permitirá unas condiciones propicias para una mayor integración y ubicuidad de los dispositivos digitales, convirtiendo el mundo que nos rodea en el sueño de muchos desde la década de 1980. Pero no sólo eso, la Agencia Espacial Brasileña, por citar una agencia espacial, ya se ha interesado oficialmente en este tipo de memorias para integrarla en sus diseños; la NASA ya lo hizo y demostró en Marte su funcionamiento en el Spirit (satélite de la NASA, gemelo de Opportunity), donde se almacenaban incorrectamente las órdenes como bien se puede recordar. Esto sólo es el principio. Y más cerca de lo que creemos. Intel asegura que el 90% de los PCs, cerca del 90% de los móviles, el 50% de los módems, etc. en 1997 ya contaban con este tipo de memorias.

En la actualidad TDK que están fabricando discos duros con memorias flash NAND de 32 Gb con un tamaño similar al de un disco duro de 2.5 pulgadas, similares a los discos duros de los portátiles con una velocidad de 33.3 Mb/s. El problema de este disco duro es que, al contrario de los discos duros convencionales, tiene un número limitado de accesos. Samsung también ha desarrollado memorias NAND de hasta 32 Gb.

Enlaces externos

Atribución

Este artículo proviene originalmente de Wikipedia y por ello no sigue la licencia general del site, sino la

GNU head GFDL: Se autoriza la copia, la distribución y la modificación de este documento bajo los términos de la licencia de documentación libre GNU, versión 1.2 o cualquier otra que posteriormente publique la Fundación del Software Libre (Free Software Fundation); sin secciones invariables (Unvariant Sections), textos de portada (Front-Cover Texts), ni textos de contraportada (Back-Cover Texts).

Se incluye una copia en inglés de esta licencia en el artículo "GNU Free Documentation License".