¿Por qué la memoria flash debe escribirse / borrarse en páginas / bloques?

9

El título lo dice todo.

Estoy tratando de entender el funcionamiento de las tecnologías de memoria flash, a nivel de transistor. Después de algunas investigaciones, obtuve buenas intuiciones sobre los transistores de puerta flotante y sobre cómo se inyectan electrones o se eliminan de la celda. Soy de un fondo de CS, por lo que mi comprensión de fenómenos físicos como la tunelización o la inyección de electrones calientes probablemente sea bastante inestable, pero todavía estoy cómodo con eso. También me hice una idea de cómo se lee uno de los diseños de memoria NOR o NAND.

Pero leo en todas partes que la memoria flash solo se puede borrar en bloques de unidades y solo se puede escribir en unidades de página. Sin embargo, no encontré ninguna justificación para esta limitación, y estoy tratando de obtener una intuición acerca de por qué es así.

    
pregunta Gyom

3 respuestas

1

La mejor respuesta que he encontrado a su pregunta se trata en Cómo funciona la memoria Flash donde dice:

  

Los electrones en las celdas de un chip de memoria flash pueden volver a la normalidad ("1") mediante la aplicación de un campo eléctrico, una carga de mayor voltaje. La memoria flash utiliza el cableado en el circuito para aplicar el campo eléctrico a todo el chip o a secciones predeterminadas conocidas como bloques. Esto borra el área objetivo del chip, que luego se puede volver a escribir. La memoria flash funciona mucho más rápido que las EEPROM tradicionales porque en lugar de borrar un byte a la vez, borra un bloque o todo el chip y luego lo vuelve a escribir.

No entiendo por qué el "cableado en el circuito" permite la programación a nivel de bits (cambio de 1 a 0), pero podría estar relacionado con la forma diferente en que se realizan las transiciones 1 a 0 (programación a través de inyección en caliente) en comparación con la transición de 0 a 1 (borrado a través de la tunelización de Fowler-Nordheim).

    
respondido por el Tommaso
6

Es por definición. Una memoria flash que permite escribir bits individuales se llama EEPROM .

Flash difiere de la EEPROM en que los borrados se realizan en bloques, en lugar de en bits individuales. Debido a que el borrado es una operación relativamente lenta, y se debe hacer antes de escribir, realizar el borrado en un bloque grande hace que las operaciones de escritura grandes sean más rápidas, en virtud de borrar una gran cantidad de bits en paralelo.

El borrado en bloques también permite simplificaciones al IC, lo que reduce el costo. Las economías de escala reducen aún más el costo del flash sobre la EEPROM, ya que en la actualidad el flash se usa en grandes cantidades para las unidades de disco de estado sólido, mientras que el EEPROM se usa en cantidades mucho más pequeñas.

    
respondido por el Phil Frost
4

Tienes razón en el hecho de que no hay justificación física para tener que borrar en unidades de bloque.

La programación de una celda se realiza creando un campo eléctrico entre el volumen y la puerta de control como se muestra en la figura 1, y la misma idea es válida para borrar la celda, un campo eléctrico en la dirección opuesta haría el trabajo como se muestra en Figura 2. Sin embargo, por razones constructivas, es relativamente complejo generar y usar el voltaje negativo, por lo que la estrategia utilizada es la que se muestra en la figura 3, al establecer un alto voltaje en el volumen (que es la referencia lógica a tierra en el sector). Los transistores de selección ya no se pueden usar, solo las puertas de control se pueden bajar, y esto obliga a un borrado completo del sector.

    
respondido por el cruano

Lea otras preguntas en las etiquetas