Memoria flash

Este artículo trata sobre Memoria. Para otros usos de este término, véase Memoria (desambiguación).
Memoria flash
Información sobre la plantilla
Memorias flash.jpg
Concepto:Dispositivo que se utiliza para guardar información

La memoria flash, es una manera desarrollada 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.

Generalidades

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

Funcionamiento

Flash, como tipo de EEPROM que es, contiene una matriz 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 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 (CGControl Gate) y los terminales fuente/drenador contenidos en otra puerta (FGFloating 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, 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, y los actuales discos de estado sólido o SSD, utilizan memorias flash de tipo NAND.

Comparación de memorias flash basadas en 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 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 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.

Tarjetero flash

Un tarjetero flash es un periférico que lee o escribe en memoria flash. Actualmente, los instalados en ordenadores (incluidos en una placa o mediante puerto USB), marcos digitales, Lectores de DVD y otros dispositivos, suelen leer varios tipos de tarjetas.

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 su 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), ExFAT es la opción de Microsoft.

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 Routers, Módems, BIOS 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.

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. En apariencia, esto no parecía muy factible ni siquiera a medio plazo ya que la miniaturización y densidad de las memorias flash estaba todavía lejos de alcanzar niveles preocupantes desde el punto de vista físico. Pero con la aparicion del memristor el futuro de las memorias flash comienza a opacarse.

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 PC 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 DVD 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 patrocinadores y hay empresas realmente interesadas en un proyecto de esta envergadura.

La integración con sistemas inalámbricos 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 (Rover 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 PC, 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 está 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.

La expansión de la memoria flash es infinita. En la actualidad (31/08/09) Kingston ha lanzado una memoria flash (DATATRAVELER 300) de una capacidad de 256 Gb la cual podría almacenar 51000 imágenes, 54 DVDs o 365 CDs


Pasos a seguir para minimizar los riesgos de infección por memorias flash

Lo primero es deshabilitar la propiedad de que se ejecute el autorun.inf con solo insertar el dispositivo USB, es necesario realizar modificaciones en los registros, específicamente en el valor: nodrivetypeautorun, siempre y cuando se tengan,los permisos de administrador del sistema. La herramienta que debe emplearse es la aplicación regedit.exe que acompaña al sistema operativo la cual se puede ejecutar desde el menú inicio y la opción ejecutar, para ello se debe: 1- Ejecutar regedit.exe con el auxilio de la opción buscar dentro de edición localizar el valor nodrivetype autorun y abrirlo con el botón izquierdo del ratón.Seleccionar la opción modificar con el botón derecho del Mouse y cambiar el valor que se encuentra por defecto, generalmente es 91 y la cambias por 95 teniendo activa la opción hexadecimal. Aceptar la modificación.Esta operación se debe repetir tantas veces como se localice en el registro.

Otros riesgos para las memorias pueden ser las Memorias Hackeadas

Debes tener en cuenta

Las operaciones descritas anteriormente limitan la ejecución de un código maligno al conectar dispositivos externos, sin embargo no imposibilitan su ejecución cuando accedemos a ellos.Por eso hay que tener en cuenta que con el explorador (explorer.exe) se debe acceder indirectamente al contenido del dispositivo externo, en ese caso se puede escoger la opción carpetas dentro de ella MIPC y finalmente escoger la unidad asociada al disco extraíble.Una vez allí se puede analizar el contenido del directorio raíz e incluso comprobar la presencia de autorun.inf o su alteración, no puede olvidarse que los creadores de programas malignos ocultan al fichero autorun de modo que no se pueda acceder simplemente a este con el auxilio del explorador.Por lo tanto una medida para evadir esta situación es tener activa la opción de poder observar ficheros y carpetas ocultas. Esto se hace de la manera que siempre lo hacemos por el Explorador /Herramientas/Mostrar archivos y carpetas ocultas.

Incluso para evitar más engaños, es recomendable desactivar las opciones: Ocultar archivos protegidos del sistema operativo y Ocultar las extensiones de archivos para tipos de archivos conocidos.

La Educación Informática

Debe educarse quien opera la computadora. Habiendo tomado las medidas correspondientes, estaremos mejor preparados para trabajar la próxima vez con un dispositivo externo en la computadora y prevenir la propagación de programas malignos.Sin embargo lo visto hasta aquí solo es efectivo solo si la computadora no se encuentra infectada. De lo contrario cada vez que se borren del dispositivo externo, los ficheros del código maligno, esto reaparecerá debido a que el programa maligno que se encuentra ejecutándose en la memoria los creará otra vez.Otro aspecto que no se debe olvidar, es que una vez detectado un dispositivo infectado es probable que en el mismo lugar de trabajo otras computadoras y dispositivos empleados se encuentren también contaminadas y puedan ocurrir reinfecciones.Los productos antivirus desarrollados en Segurmática son capaces de identificar y eliminar, entre otros, a estos códigos malignos para dispositivos USB.

Fuentes