¿Cuáles son las diferencias entre NAND y NOR flash?

37

¿Cuáles son las diferencias y dónde usaría cada una?

JeffV
fuente

Respuestas:

22

Hay mucha compensación en ello.

Wikipedia también:

A pesar de los transistores adicionales, la reducción en los cables de tierra y las líneas de bits permite un diseño más denso y una mayor capacidad de almacenamiento por chip. Además, normalmente se permite que el flash NAND contenga un cierto número de fallas (se espera que el flash NOR, como se usa para una ROM de BIOS, esté libre de fallas). Los fabricantes intentan maximizar la cantidad de almacenamiento utilizable reduciendo el tamaño del transistor por debajo del tamaño en el que se pueden hacer de manera confiable, hasta el tamaño en que las reducciones adicionales aumentarían el número de fallas más rápido de lo que aumentaría el almacenamiento total disponible.

Por lo tanto, el flash NOR puede dirigirse más fácilmente, pero ni siquiera es tan denso.

Si echas un vistazo a un PDF de comparación bastante decente.

NOR tiene un menor poder de espera, es fácil para la ejecución de código y tiene una alta velocidad de lectura.

NAND tiene una potencia activa mucho menor (escribir bits es más rápido y de menor costo), mayor velocidad de escritura (por mucho), mucha mayor capacidad, mucho menor costo por bit y es muy fácil para el uso de almacenamiento de archivos. debido a su velocidad de lectura más baja cuando se usa para la ejecución de código, realmente necesita fantasma para ram.

Para citar una pequeña sección con una gran tabla encima ...

Las características de NAND Flash son: alta densidad, velocidad de lectura media, alta velocidad de escritura, alta velocidad de borrado y acceso indirecto o similar a E / S. Las características de NOR Flash son menor densidad, alta velocidad de lectura, velocidad de escritura lenta, velocidad de borrado lenta y una interfaz de acceso aleatorio.

Kortuk
fuente
22

El flash NAND es más barato, por lo que debes usarlo si puedes. El inconveniente es que no es tan confiable. NAND flash es más rápido en la mayoría de las operaciones, con la notable excepción de pequeñas lecturas de acceso aleatorio. Si desea leer un par de bytes de una dirección aleatoria en la memoria, NOR es más rápido. Para lecturas de memoria grandes, NAND funciona razonablemente bien, y en realidad supera a NOR por fragmentos suficientemente grandes.

La mayoría de los sistemas operativos incorporados incluyen código para corregir los errores en NAND Flash. También hay microcontroladores con corrección de errores de hardware. El problema real ocurre en el momento del arranque: los cargadores de arranque de primer nivel no tienen un código de corrección de errores y todavía no han configurado el controlador de memoria para ejecutar el ECC de hardware. Es un problema de huevo y gallina: no puede cargar el código ECC sin errores porque aún no ha cargado el código ECC.

Para solucionar este problema, algunos fabricantes de memoria especificarán una determinada región del chip que se garantiza que estará libre de errores (los primeros 4 kB, o algo así). Pones un gestor de arranque con software ECC allí (como U-boot ), lo lees sin errores y luego lo usas para leer el kernel de tu sistema operativo, corrigiendo los errores a medida que avanzas. También puede almacenar un gestor de arranque en una memoria flash serie, y simplemente usar la memoria flash NAND para cosas grandes como un núcleo del sistema operativo o un sistema de archivos.

He encontrado útil esta nota de aplicación de Atmel: http://www.atmel.com/dyn/resources/prod_documents/doc6255.pdf

pingswept
fuente
2
Una consecuencia de la menor confiabilidad del flash NAND es que, si bien los dispositivos flash NAND permiten lecturas aleatorias de bytes individuales (con un poco de tiempo de configuración), en realidad no es posible leer menos de una página a menos que uno incluya información de corrección de errores en fragmentos más pequeños ( por ejemplo, uno podría escribir cada byte como 16 bits y ser capaz de detectar todos los errores de uno y dos bits, a costa de poder almacenar la mitad de la información).
supercat
5

NOR permite el acceso aleatorio, pero NAND no (solo acceso a la página).

De Wikipedia :

NOR y NAND flash obtienen sus nombres de la estructura de las interconexiones entre las celdas de memoria. En el flash NOR, las celdas se conectan en paralelo a las líneas de bits, lo que permite que las celdas se lean y programen individualmente. La conexión paralela de las células se asemeja a la conexión paralela de los transistores en una puerta CMOS NOR. En flash NAND, las células se conectan en serie, pareciéndose a una puerta NAND. Las conexiones en serie consumen menos espacio que las paralelas, lo que reduce el costo del flash NAND. Por sí solo, no impide que las células NAND se lean y programen individualmente.

Thomas O
fuente