Diferencia de estructura RAM y Flash

Estoy tratando de obtener una mejor comprensión de RAM y Flash y espero que me puedan ayudar con algunas cosas.

Lo que sé sobre Flash (o al menos creo saber) es que hay diferentes estructuras de Flash. Con estructuras me refiero a NOR y NAND Flash, por ejemplo

Independientemente de la estructura, puedo almacenar datos en Flash. Sé que hay algunas diferencias entre NAND y NOR Flash como la densidad si lo entiendo correctamente, pero todavía no entiendo cuándo se debe usar NOR Flash y cuándo se debe usar NAND Flash. ¿Cuáles son las ventajas de las estructuras? ¿Sería un problema si reemplazara un NOR Flash en un sistema con un NAND Flash que contiene los mismos datos, por ejemplo?

Lo que sé sobre la RAM es que es mucho más rápida que Flash y una vez que se apaga la memoria, se "borra". Eso es todo. Algo que me pregunto especialmente es si también hay diferentes estructuras de RAM. ¿Existe algo como NOR o NAND RAM?

Sí, también hay muchos tipos diferentes de RAM: DRAM, SRAM e incluso algunos tipos no volátiles como FeRAM. Sin embargo, no puedo ayudar con la otra parte de la respuesta. (por eso he dejado esto como comentario)

Respuestas (3)

Flash: NOR y NAND

Tanto el flash NOR como el NAND utilizan una puerta flotante para almacenar datos. La diferencia entre ellos es una compensación de densidad y velocidad versus confiabilidad.

Estructura de puerta flotante:

Estructura de puerta flotante

Desde aquí: https://searchstorage.techtarget.com/definition/floating-gate

Una descripción más detallada de Flash aquí: https://www.embedded.com/design/prototyping-and-development/4460910/Flash-101--NAND-Flash-vs-NOR-Flash

NOR tiene tiempos de escritura lentos y lectura rápida, con una resistencia de alrededor de 100 000 ciclos de lectura/escritura. Sin embargo, tiene una retención prolongada y una alta confiabilidad de lectura, ya que utiliza grandes celdas de compuerta flotante, lo que lo hace adecuado para el almacenamiento crítico no volátil, como el código de arranque. También admite acceso de lectura aleatorio, como una EPROM o EEPROM.

NAND tiene tiempos de lectura/escritura aproximadamente iguales. Al igual que NOR flash, NAND tiene una resistencia limitada, que va desde aproximadamente 50 000 ciclos para SLC NAND hasta tan solo 5000 para TLC NAND. Utiliza celdas de almacenamiento mucho más pequeñas que NOR para lograr una mayor velocidad y densidad. Pero esto tiene un costo de resistencia y confiabilidad. Como consecuencia, NAND requiere corrección de errores y nivelación de desgaste para mitigar esta deficiencia, lo que hace que su uso sea más complejo. Las tarjetas SD y eMMC, por ejemplo, incluyen un controlador para implementar estas funciones; bare NAND se basa en un controlador SSD externo como un chip separado o como software en el procesador host.

Esta sobrecarga de nivelación de desgaste y ECC, y la naturaleza orientada a bloques de la memoria flash NAND, se suman considerablemente a su latencia de acceso, que es de decenas de microsegundos en comparación con decenas a cientos de ns para la memoria flash NOR.

Ahora, ¿qué es este asunto de la resistencia Flash? Recuerde que tanto NOR como NAND utilizan una puerta flotante para almacenar información. La puerta flotante se borra y se configura inyectando un voltaje más alto para forzar la puerta al estado deseado. Esta inyección de portador caliente eventualmente desgasta la compuerta, hasta el punto en que ya no almacenará de manera confiable un '0' o '1'. Las puertas flotantes NAND son más pequeñas que NOR, por lo que necesitan menos tiempo que NOR para la operación de borrar/establecer. Pero esto también significa que son menos duraderos que NOR.

RAM: DRAM y SRAM

Actualmente, la RAM tiene dos tipos principales: la RAM estática (SRAM), que usa una estructura de tipo pestillo por celda, y la RAM dinámica (DRAM), que usa un capacitor por celda.

DRAM tiene un alto rendimiento de lectura y escritura y no tiene límites de resistencia. Tiene una dirección multiplexada y un proceso de acceso de dos pasos (fila, luego columna), por lo que favorece el acceso orientado a bloques debido a su latencia. También requiere que las celdas se "actualicen" de vez en cuando para conservar su contenido, y también que se vuelvan a escribir después de la lectura. Esto se debe a que el capacitor utilizado para almacenar la carga se perderá con el tiempo y también se descargará cuando se lea.

SRAM tiene una dirección no multiplexada; el acceso es en un solo paso. Entonces, SRAM no solo tiene un alto rendimiento, sino que también tiene una baja latencia. Como no requiere actualización o reescritura, también puede ser potencialmente de baja potencia, aunque como cualquier lógica, la potencia a menudo se intercambia por velocidad.

Tanto la SRAM como la DRAM son volátiles y pierden su contenido si se pierde la energía.

Una SRAM lenta casi no consume energía cuando está inactiva y puede volverse no volátil con un suministro de reserva como una batería. La SRAM rápida tendrá un mayor consumo de energía de fuga; encontrará que este tipo se usa como búfer de CPU o memoria caché, por ejemplo. La DRAM se puede colocar en un modo de actualización automática de ahorro de energía, pero seguirá consumiendo algo de energía incluso cuando no esté en uso.

¿Dónde usa cada tipo y por qué?

Cada tipo tiene una compensación.

  • NOR no es volátil y tiene tasas de error de lectura muy bajas, por lo que es ideal para el código de arranque crítico de bajo nivel cuando la corrección de errores no es práctica y se requiere una retención prolongada.
  • NAND requiere corrección de errores y nivelación de desgaste, pero su densidad y no volatilidad lo convierten en un buen medio para el código del sistema, las aplicaciones de usuario y los datos persistentes. Tiene una latencia más larga que NOR, DRAM o SRAM, pero más corta que un disco giratorio, lo que lo convierte en una opción cada vez más popular para complementar o reemplazar el disco duro.
  • DRAM tiene buena velocidad y no tiene problemas de desgaste, por lo que puede manejar grandes cargas de trabajo de escritura que desgastarían rápidamente a Flash. Funciona bien como almacenamiento de trabajo principal y memoria de intercambio, pero tiene una latencia (del orden de 50 a 100 ns) que favorece el acceso a bloques sobre la E/S verdaderamente aleatoria. La DRAM se puede duplicar en NAND o disco duro para acortar el tiempo de activación desde el apagado.
  • SRAM tiene la latencia más baja de todos los tipos de memoria, por lo que es la mejor opción para el almacenamiento crítico para el rendimiento, como el búfer y la memoria caché de la CPU. Sin embargo, es el menos denso y, en aplicaciones de rendimiento, utiliza la mayor cantidad de energía por unidad de almacenamiento.

¿El futuro?

En el horizonte hay reemplazos potenciales para Flash, SRAM y DRAM. Estos incluyen MRAM, que usa un "giro" magnético para almacenar bits, y ReRAM, que usa un nuevo elemento de circuito llamado memristor para almacenar bits. Ambos son no volátiles y estáticos (no necesitan actualización). Hasta ahora, ninguno ha alcanzado el rendimiento o el costo de flash o DRAM en aplicaciones comerciales, pero el trabajo continúa y promete revolucionar la arquitectura de memoria.

si reemplazaría un NOR Flash en un sistema con un NAND Flash que contiene los mismos datos

El problema es que normalmente no se puede obtener una memoria flash NAND y NOR con la misma interfaz de datos o protocolo . En otras palabras, el sistema existente no sabrá cómo acceder correctamente al nuevo chip.

Y realmente no desea hablar directamente con flash sin procesar, ya que, por ejemplo, las tarjetas SD son más baratas que los chips flash sin procesar (probados) que almacenan la misma cantidad de datos.

cuándo se debe usar NOR Flash y cuándo se debe usar NAND Flash

Depende en gran medida de su aplicación: cuántos datos necesita y con qué frecuencia escribirá en el flash, y qué granularidad necesita (borrar el tamaño del bloque). Ah, y qué interfaz querrías usar para hablar con el chip flash.

  • SRAM : una estructura de 6 transistores contiene 1 bit de información. No hay necesidad de preocuparse de que el dispositivo pierda la información con el tiempo (mientras está encendido). Necesita más circuitos para almacenar información que una DRAM.

  • DRAM : se utiliza una sola estructura de FET y condensador para almacenar 1 bit de información. El capacitor pierde carga lentamente debido a una fuga. Por lo tanto, se necesita un circuito de actualización. En general, necesita menos componentes que SRAM y, por lo tanto, se producen memorias más baratas y de mayor capacidad.

    • SDRAM : los datos proporcionados estarán bien sincronizados con el reloj de la CPU. La CPU sabe exactamente cuándo estarán listos los datos.

    • DDR SDRAM : igual que SDRAM, pero puede proporcionar datos tanto en el borde ascendente como descendente del reloj. De ahí el nombre.

    • SDRAM DDR2,3,4 : puede proporcionar datos dos, cuatro y ocho veces más rápido que la SDRAM DDR normal. A mayor velocidad de datos, menor voltaje de funcionamiento, ya que la disipación de energía es proporcional al cuadrado del voltaje a una frecuencia determinada.

  • FRAM o FeRAM una memoria RAM no volátil. Se utiliza una sola estructura de condensador y FET para almacenar 1 bit de información, similar a DRAM. El condensador de cada celda FRAM utiliza titanato de zirconato de plomo (PZT) o un material similar que mantiene su estado indefinidamente.