¿Es la ROM de una MCU NAND FLASH?

2

Entiendo que el código binario se almacena en el área de ROM de una MCU. Normalmente, la mayoría de las MCU tienen FLASH EEPROMS. ¿Es este realmente el almacenamiento FLASH tipo NAND que encontramos en la mayoría de los SSD?

Si no, ¿cuáles son las diferencias?

    
pregunta Dina

2 respuestas

5

No. La memoria flash NAND no es adecuada para almacenar código que es ejecutado directamente por una CPU. Nand flash solo se puede utilizar para almacenar el código que primero se copia a la RAM y luego se ejecuta desde la RAM. Hay dos razones para esto: en primer lugar, el flash NAND no es accesible palabra por palabra; Se accede en bloques. En segundo lugar, los datos en flashes NAND son en realidad bastante volátiles y solo leer un bloque de datos unos pocos millones de veces da como resultado errores de bits que se introducen en los datos. Esto no es un problema para el acceso de tipo de disco en el que los datos se leen y escriben con poca frecuencia y pueden repararse mediante algoritmos de corrección de errores intermedios. Pero ejecutando directamente desde la memoria flash y la memoria, unos pocos millones de ciclos de lectura pueden tomar solo un segundo.

Si los códigos se ejecutan directamente desde un chip flash, ese chip debe ser un chip flash NOR. La mayoría de los microcontroladores también incluyen una ROM real dentro del chip, para almacenar cargadores de arranque, etc. Esta ROM es a menudo una ROM de máscara que es realmente ROM, "Memoria de solo lectura", lo que significa que el usuario no puede escribir en absoluto. diseño de chips utilizando uno a través de la máscara. Otra alternativa, en lugar o adicionalmente, es PROM, Programmamble ROM, que consiste en transistores con emisores débiles que pueden quemarse uno por uno. Este tipo de bit de memoria se puede escribir una vez, pero no se puede borrar.

Información de fondo:

Para ejecutar el código, todos los procesadores requieren almacenamiento al que se puede acceder byte a byte. Hoy en día, más comúnmente esta memoria es la memoria caché L1 que se coloca "más cercana" al procesador en el bus de datos (de instrucción). Más lejos de la CPU puede haber otros tipos de memoria conectados a muchos tipos de buses.

    
respondido por el PkP
2

Si está preguntando sobre una MCU específica, sería útil saber cuál. Algunos de ellos están combinando diferentes tipos de almacenamiento no volátil. EEPROM y Flash son diferentes tipos de memoria. Por ejemplo, los (actualmente) populares microcontroladores de la serie Tiva de TI combinan memorias EEPROM y FLASH, mientras FLASH se utiliza principalmente para el almacenamiento binario ejecutable (pero no se limita a él) y la EEPROM se utiliza para el almacenamiento de datos específico de la aplicación. Esos chips específicos tienen flash NOR en lugar de NAND, lo cual es beneficioso para las MCU, especialmente con memoria RAM, ya que las memorias NOR generalmente permiten la obtención y ejecución directa de instrucciones de la CPU, lo cual no es el caso para la NAND. Cuando un programa se almacena en NAND, no es ejecutable y debe copiarse en la RAM para ejecutarlo. Pero algunas MCU lo están utilizando de todos modos, principalmente aquellos diseñados para funcionar con alguna RAM externa extendida.

    
respondido por el Eugene Sh.

Lea otras preguntas en las etiquetas