Introducción a la memoria flash
La unidad de almacenamiento de la memoria flash NAND adopta una estructura en serie. La lectura y escritura de la unidad de almacenamiento se realizan en unidades de páginas y bloques (una página contiene varios bytes y varias páginas forman un bloque de almacenamiento). El tamaño del bloque de almacenamiento NAND es de 8 a 32 KB). La mayor ventaja de esta estructura es que la capacidad puede ser muy grande. Los productos NAND con capacidades superiores a 512 MB son bastante comunes. El costo de la memoria flash NAND es bajo, lo que favorece una popularización a gran escala.
La desventaja de la memoria flash NAND es su lenta velocidad de lectura. Tiene sólo ocho puertos de E/S, muchos menos que NOR. Los 8 puertos de E/S en esta área solo pueden transmitir datos de forma secuencial, lo cual es mucho más lento que el método de transmisión paralela de la memoria flash NOR. Además, la lógica de la memoria flash NAND es una estructura de módulo de disco electrónico y no hay un controlador de almacenamiento especial en su interior. Una vez que se produce un bloque de datos defectuoso, no se reparará y su confiabilidad es peor que la de la memoria flash NOR.
La memoria flash NAND se utiliza ampliamente en dispositivos digitales emergentes, como almacenamiento móvil, cámaras digitales, reproductores MP3 y computadoras portátiles. Impulsada por el fuerte desarrollo de los equipos digitales, la memoria flash NAND ha ido creciendo exponencialmente.
NOR y NAND son las dos principales tecnologías de memoria flash no volátil del mercado. Intel desarrolló por primera vez la tecnología flash NOR en 1988, lo que cambió por completo la situación en la que EPROM y EEPROM dominaban el mundo. Luego, en 1989, Toshiba anunció la estructura flash NAND, enfatizando un costo reducido por bit, mayor rendimiento y actualizaciones sencillas a través de la interfaz como un disco. Pero han pasado más de diez años y todavía hay bastantes ingenieros de hardware que no pueden distinguir entre la memoria flash NOR y NAND.
La etapa "flash" se suele utilizar indistintamente con la etapa "o no memoria". Muchas personas en la industria no conocen las ventajas de la tecnología de memoria flash NAND sobre la tecnología NOR, porque en la mayoría de los casos, la memoria flash solo se usa para almacenar una pequeña cantidad de código y la memoria flash NOR es más adecuada. NAND es una solución ideal para alta densidad de almacenamiento de datos.
Tampoco existe XIP, función de ejecución in situ (XIP), por lo que las aplicaciones pueden ejecutarse directamente en la memoria flash sin leer código en la RAM del sistema. NOR tiene una alta eficiencia de transmisión y es rentable cuando la capacidad es de 1 a 4 MB, pero las velocidades de escritura y borrado son bajas y el rendimiento se ve muy afectado.
La estructura NAND puede proporcionar una densidad de celdas extremadamente alta, lograr una alta densidad de almacenamiento y las velocidades de escritura y borrado también son muy rápidas. La dificultad de aplicar NAND radica en la gestión de la memoria flash y la necesidad de interfaces especiales del sistema. La memoria flash es un tipo de memoria no volátil que se puede borrar y reprogramar en bloques de celdas de memoria llamados bloques. Las operaciones de escritura en cualquier dispositivo de memoria flash sólo pueden ocurrir en celdas vacías o borradas, por lo que en la mayoría de los casos una operación de borrado debe preceder a una operación de escritura. Los dispositivos NAND son muy sencillos de realizar operaciones de borrado, mientras que NOR requiere que todos los bits del bloque de destino se escriban con 0 antes de borrar.
Dado que los dispositivos NOR se borran en bloques de 64 ~ 128 KB, el tiempo para realizar una operación de escritura/borrado es de 5 ms, mientras que los dispositivos NAND se borran en bloques de 8 ~ 32 KB, solo toma hasta 4 ms para realizar la misma operación.
La diferencia en el tamaño del bloque durante el borrado amplía aún más la brecha de rendimiento entre NOR y NADN. Las estadísticas muestran que para un conjunto determinado de operaciones de escritura (especialmente cuando se actualizan archivos pequeños), se deben realizar más operaciones de borrado en celdas basadas en NOR. Por lo tanto, los diseñadores deben sopesar los siguientes factores al elegir una solución de almacenamiento.
● La velocidad de lectura NOR es ligeramente más rápida que la de NAND.
La velocidad de escritura de NAND es mucho más rápida que la de NOR.
La velocidad de borrado de 4 ms de NAND es mucho más rápida que la de 5 ms de NOR.
●La mayoría de las operaciones de escritura requieren borrar primero.
La unidad de borrado de NAND es más pequeña y corresponde a menos circuitos de borrado. NOR flash tiene una interfaz SRAM con suficientes pines de dirección para direccionar, y se puede acceder fácilmente a cada byte que contiene.
Los dispositivos NAND utilizan puertos de E/S complejos para acceder a los datos en serie y los métodos de diferentes productos o fabricantes pueden ser diferentes. Se utilizan ocho pines para transmitir información de control, dirección y datos.
Las operaciones de lectura y escritura NAND utilizan bloques de 512 bytes, un poco como la gestión del disco duro. Naturalmente, la memoria basada en NAND puede reemplazar los discos duros u otros dispositivos de bloque. El tamaño de la unidad de memoria flash NAND es casi la mitad que el de los dispositivos NOR. Debido a que el proceso de producción es más simple, las estructuras NAND pueden proporcionar un mayor rendimiento dentro de un tamaño de molde determinado, lo que reduce en consecuencia los precios.
NOR flash ocupa la mayor parte del mercado de memorias flash con una capacidad de 1 ~ 16 MB, mientras que NAND flash solo se utiliza en productos con una capacidad de 8 MB ~ 128 GB. Esto también muestra que NOR es principalmente. se utiliza para medios de almacenamiento de códigos y NAND. Adecuada para el almacenamiento de datos, NAND tiene la mayor participación de mercado en tarjetas CompactFlash, Secure Digital, PC y tarjetas de memoria MMC. Todos los dispositivos de memoria flash sufren el fenómeno del intercambio de bits. En algunos casos (poco común, más común con NAND que con NOR), un bit se invertirá o se informará como invertido.
Es posible que un cambio de un solo bit no se note, pero si ocurre en un archivo crítico, este fallo puede provocar que el sistema se detenga. Si simplemente informa un problema, es posible que se resuelva después de leerlo varias veces.
Por supuesto, si este bit realmente cambia, se debe utilizar el algoritmo de detección/corrección de errores (EDC/ECC). El problema de la inversión de bits es común en la memoria flash NAND. Los proveedores de NAND recomiendan utilizar algoritmos EDC/ECC cuando se utiliza la memoria flash NAND.
Este problema no es fatal cuando se utiliza NAND para almacenar información multimedia. Por supuesto, si el dispositivo de almacenamiento local se utiliza para almacenar el sistema operativo, archivos de configuración u otra información confidencial, se debe utilizar un sistema EDC/ECC para garantizar la confiabilidad. Los bloques defectuosos en los dispositivos NAND se distribuyen aleatoriamente. Se han realizado esfuerzos para eliminar los bloques defectuosos antes, pero se descubrió que la tasa de rendimiento era demasiado baja y el precio demasiado alto, lo que lo hacía antieconómico.
Los dispositivos NAND necesitan realizar un análisis inicial del medio para encontrar bloques defectuosos y marcarlos como inutilizables. En los dispositivos fabricados, si este procesamiento no se realiza mediante métodos fiables, se producirán altas tasas de fallo. Puede utilizar flash basado en NOR de forma muy directa, conectarlo como cualquier otra memoria y ejecutar código directamente en él.
NAND es mucho más complicado porque requiere una interfaz de E/S. Los métodos de acceso para varios dispositivos NAND varían según el fabricante.
Cuando se utilizan dispositivos NAND, se debe escribir el controlador antes de continuar con otras operaciones. Escribir información en un dispositivo NAND requiere una habilidad considerable porque el diseñador no debe escribir en bloques defectuosos, lo que significa que se debe realizar un mapeo virtual en el dispositivo NAND de principio a fin. Cuando se habla de soporte de software, debemos distinguir entre software para operaciones básicas de lectura/escritura/borrado y algoritmos más avanzados de emulación de disco y administración de flash, incluidas optimizaciones de rendimiento.
No se requiere soporte de software para ejecutar código en dispositivos NOR. Para realizar la misma operación en un dispositivo NAND, generalmente se requiere un controlador, que es un controlador de tecnología de memoria (MTD). Tanto los dispositivos NAND como NOR requieren MTD para operaciones de escritura y borrado.
Se requiere relativamente poco MTD cuando se utilizan dispositivos NOR. Muchos fabricantes ofrecen software más avanzado para dispositivos NOR, incluido el controlador TrueFFS de M-System, que utilizan fabricantes como Wind River System, Microsoft, QNX Software Systems, Symbian e Intel.