¿Cuál es la diferencia entre memoria Flash y EEPROM?

Respuestas:

68

Los primeros dispositivos ROM tenían que tener información colocada en ellos a través de algún medio mecánico, fotolitográfico u otro (antes de los circuitos integrados, era común usar una red donde los diodos podían instalarse u omitirse selectivamente). La primera mejora importante fue un "fusible-PROM": un chip que contiene una red de diodos fusionados y transistores de impulsión de fila que eran lo suficientemente fuertes como para seleccionar una fila y forzar el estado de la salida que podría fundir los fusibles en cualquier diodo. Uno no quería. Aunque dichos chips eran eléctricamente grabables, la mayoría de los dispositivos en los que se utilizarían no tenían los circuitos de accionamiento potentes necesarios para escribir en ellos. En cambio, se escribirían usando un dispositivo llamado "programador", y luego se instalarían en el equipo que necesitaba poder leerlos.

La siguiente mejora fue un dispositivo de memoria de carga implantada, que permitió que las cargas se implantaran eléctricamente pero no se eliminaran. Si dichos dispositivos se empaquetaran en paquetes transparentes a los rayos UV (EPROM), podrían borrarse con una exposición de aproximadamente 5-30 minutos a la luz ultravioleta. Esto hizo posible la reutilización de dispositivos cuyo contenido se consideró que no tenía valor (por ejemplo, versiones de software defectuosas o sin terminar). Poner los mismos chips en un paquete opaco permitió que se vendieran de manera más económica para aplicaciones de usuario final donde era poco probable que alguien quisiera borrarlos y reutilizarlos (OTPROM). Una mejora posterior permitió borrar los dispositivos eléctricamente sin la luz UV (EEPROM temprana).

Los primeros dispositivos EEPROM solo podían borrarse en masa, y la programación requería condiciones muy diferentes de las asociadas con el funcionamiento normal; en consecuencia, al igual que con los dispositivos PROM / EPROM, generalmente se usaban en circuitos que podían leerlos pero no escribirlos. Las mejoras posteriores a EEPROM hicieron posible borrar regiones más pequeñas, si no bytes individuales, y también permitieron que fueran escritas por el mismo circuito que las usó. Sin embargo, el nombre no cambió.

Cuando apareció una tecnología llamada "Flash ROM", era bastante normal que los dispositivos EEPROM permitieran borrar y reescribir bytes individuales dentro de un circuito de aplicación. Flash ROM fue, en cierto sentido, un paso atrás funcionalmente, ya que el borrado solo podía tener lugar en trozos grandes. Sin embargo, restringir el borrado a grandes fragmentos hizo posible almacenar información de manera mucho más compacta que con EEPROM. Además, muchos dispositivos flash tienen ciclos de escritura más rápidos pero ciclos de borrado más lentos que los típicos de los dispositivos EEPROM (muchos dispositivos EEPROM tomarían 1-10 ms para escribir un byte y 5-50 ms para borrar; los dispositivos flash generalmente requerirían menos de 100us para escribir, pero algunos requirieron cientos de milisegundos para borrar).

No sé si hay una línea divisoria clara entre flash y EEPROM, ya que algunos dispositivos que se autodenominaron "flash" podrían borrarse por bytes. Sin embargo, la tendencia actual parece ser el uso del término "EEPROM" para dispositivos con capacidades de borrado por byte y "flash" para dispositivos que solo admiten borrado de bloques grandes.

Super gato
fuente
¿Qué quiere decir con "información de la tienda Flash mucho más compacta de lo que había sido posible con EEPROM" y por qué los ciclos de borrado en la memoria flash pueden ser mayores que el ciclo de escritura?
The Beast
1
@Frankenstein: los diseños de circuitos EEPROM generalmente requerían dedicar espacio para borrar los circuitos en las mismas capas del chip que los circuitos de programación y lectura. Si bien hay una variedad de diseños de circuitos flash, generalmente evitan tal requisito.
supercat
gracias +1 pero por qué esto debería importar! ¿Es por esta única razón? La memoria FLASH es más rápida que la EEPROM
The Beast
1
@Frankenstein: el programa EEPROM y los ciclos de borrado tienen lugar de manera similar. La mayoría de los dispositivos flash utilizan mecanismos completamente diferentes para la programación y el borrado. Al menos un dispositivo con el que trabajé en un nivel muy bajo fue el microcontrolador TI 320F206, que hace que el software del usuario sea responsable de controlar el tiempo de programación y borrar los ciclos. En ese chip, uno podría imaginar la memoria como un montón de cubos con válvulas que pueden drenarlos selectivamente, sentados debajo de un montón de rociadores superiores que pueden llenarlos. Pueden suceder cosas extrañas si los cubos ...
supercat
1
... se llena demasiado, así que para borrar la matriz, uno debe drenar todos los cubos, encender los aspersores por un tiempo, verificar si todos los cubos están llenos todavía, encender los aspersores un poco más si no lo son, luego verifique nuevamente, etc. Si los aspersores están encendidos por mucho tiempo, será necesario hacer una operación especial para arreglar las cosas [No recuerdo exactamente cómo funcionó eso]. Todo considerablemente más complicado que EEPROM que podría borrarse directamente.
supercat
29

Spoiler: EEPROM es de hecho Flash.

Como la respuesta de supercat señaló brillantemente, EEPROM es una evolución de las EPROM antiguas que se pueden borrar con UV ("EE" de EEPROM significa "borrable eléctricamente"). Sin embargo, a pesar de ser una mejora para su viejo amigo, la forma actual de mantener la información de la EEPROM es exactamente la misma que la memoria flash.



La ÚNICA diferencia principal entre ambos es la lógica de lectura / escritura / borrado.


  • Flash NAND (flash normal):

    Solo se puede borrar en las páginas aka. bloques de bytes Puede leer y escribir bytes (no escritos), pero borrarlos requiere borrar muchos otros bytes.

    En los microcontroladores, generalmente se usa para el almacenamiento de firmware. Algunas implementaciones admiten el manejo de flash desde el firmware, en cuyo caso puede usar ese flash para almacenar información siempre que no se meta con las páginas usadas (de lo contrario, borrará su firmware).

  • NOR Flash (también conocido como EEPROM):

    Puede leer, escribir y borrar bytes individuales. Su lógica de control se presenta de tal manera que todos los bytes sean accesibles individualmente. Aunque es más lento que el flash normal, esta característica beneficia a los dispositivos electrónicos más pequeños / antiguos. Por ejemplo, los televisores y monitores CRT más antiguos usaban EEPROM para mantener configuraciones de usuario como brillo, contraste, etc.

    En los microcontroladores, eso es lo que generalmente usa para guardar configuraciones, estados o datos de calibración. Es mejor que flash para eso, ya que para borrar un solo byte no es necesario recordar (RAM) el contenido de la página para reescribirlo.



Dato curioso
Existe una idea errónea de que NOR Flash usa puertas NOR mientras que NAND Flash usa puertas NAND (y de hecho parece obvio). Sin embargo, eso no es cierto. La razón de la denominación es la semejanza de la lógica de control de cada tipo de memoria con los símbolos esquemáticos de las puertas NAND y NOR.

Filipe Nicoli
fuente
22

Flash es un tipo de EEPROM (memoria de solo lectura programable y borrable eléctricamente). "Flash" es más un término de marketing que una tecnología específica. Sin embargo, estos términos han convergido para significar un tipo de EEPROM que está optimizado para gran tamaño y densidad, generalmente a expensas de grandes bloques de borrado y escritura y menor resistencia.

Olin Lathrop
fuente
8
¿Por qué lo llaman memoria de solo lectura, no es tan tonto si es de lectura y correcta?
skyler
44
@skyler: es en parte histórico y en parte tiene sentido. La ROM original (memoria de solo lectura) se programó con máscara, lo que significa que se realizó como un paso en la construcción del chip. Luego hubo enlaces fusibles que pusieron la P en PROM. La EEPROM de hoy sigue siendo memoria principalmente leída. El proceso de escritura es mucho más complicado y más lento que la lectura, y en este caso desgasta el chip. Este tipo de celdas de memoria de puerta flotante solo se pueden borrar y escribir tantas veces antes de que fallen físicamente.
Olin Lathrop
¿Puedes escribir un disco duro magnético o un transistor de puerta flotante más veces?
skyler
@skyler: Si uno escribiera un área de un disco duro lo más rápido posible, probablemente podría escribirlo más de mil millones de veces al año, durante años, sin que se gaste. Los transistores de puerta flotante no se acercan sin nivelación de desgaste. Con la nivelación de desgaste, la cantidad de datos que podrían escribirse a una velocidad máxima en un dispositivo flash antes de que se gaste sería comparable a la de un disco duro (algunos dispositivos flash probablemente serían mejores; otros peores).
supercat
2
@skyler: Muchos de los primeros chips EEPROM podrían conectarse directamente a un bus de microprocesador para acceso de solo lectura, pero escribir en ellos requeriría condiciones que un bus de microprocesador normal no podría producir. Como tal, a menudo se escribían usando un equipo llamado "programador", y luego se conectaban a un dispositivo que leería datos de ellos.
supercat
4

La memoria flash es una variación de EE-PROM que se está volviendo popular. La principal diferencia entre la memoria flash y EE-PROM está en el procedimiento de borrado. EE-PROM puede borrarse a nivel de registro, pero la memoria flash debe borrarse en su totalidad o a nivel sectorial.

Siddharth Jain
fuente
¿Cómo mejoró su respuesta sobre la que ya fue aceptada? No me parece que hayas agregado ninguna información o perspectiva a lo que ya se ha dicho.
Joe Hass
2

El almacenamiento "flash" es un término general para el almacenamiento dentro de chips de memoria ( memoria no volátil), en lugar de discos giratorios como disquetes, CD, DVD, disco duro, etc.

NOR y NAND son los chips de memoria flash originales, y fue inventado por Fujio Masuoka mientras trabajaba para Toshiba alrededor del año 1980. "NOR" y "NAND" se utilizan en la mayoría de las memorias USB.

El almacenamiento flash también incluye EEP-ROM (memoria de solo lectura programable y borrable eléctricamente) y NV-RAM ( memoria de acceso aleatorio no volátil). EEP-ROM es más barato y se utiliza para el almacenamiento en la mayoría de los dispositivos System-on-Chips y Android. NV-RAM es más costoso y se utiliza para unidades de estado sólido y almacenamiento en dispositivos Apple.

Los nuevos chips NV-RAM son mucho más rápidos que EEP-ROM y otras tecnologías Flash.

Para obtener más información, consulte: http://www.crifan.com/___flash_memory_nand_eeprom_nvram_and_others_zt/

Neel
fuente
¿ MRAM , FeRAM y PCRAM también están atrapados en el término "general"?
uhoh
2
Los DIMM serán DIMM independientemente de la RAM dinámica o la RAM no volátil. MRAM, FeRAM y PCRAM utilizados como unidades de almacenamiento caen dentro del término general "almacenamiento Flash"
Neel
1
¡Gracias! Desde que descubrí que Triple Level Cell NAND FLASH tiene ocho niveles y no tres, me he vuelto más consciente (¿cauteloso?) De la terminología.
uhoh