Risposte:
I primi dispositivi ROM dovevano avere informazioni collocate in essi tramite alcuni mezzi meccanici, fotolitografici o di altro tipo (prima dei circuiti integrati, era comune utilizzare una griglia in cui i diodi potevano essere installati o omessi in modo selettivo). Il primo grande miglioramento fu una "fuse-PROM" - un chip contenente una griglia di diodi fusi e transistor di pilotaggio di riga che erano sufficientemente forti da selezionare una riga e forzare lo stato dell'uscita che poteva far saltare i fusibili su qualsiasi diodo uno non voleva. Sebbene tali chip fossero scrivibili elettricamente, la maggior parte dei dispositivi in cui sarebbero stati utilizzati non disponeva dei potenti circuiti di azionamento necessari per scrivere su di essi. Invece, sarebbero stati scritti usando un dispositivo chiamato "programmatore", e quindi installati nell'apparecchiatura che doveva essere in grado di leggerli.
Il successivo miglioramento fu un dispositivo di memoria a carica impiantata, che consentiva di impiantare elettricamente le cariche ma non di rimuoverle. Se tali dispositivi fossero confezionati in pacchetti trasparenti ai raggi UV (EPROM), potrebbero essere cancellati con un'esposizione alla luce ultravioletta di circa 5-30 minuti. Ciò ha reso possibile il riutilizzo di dispositivi il cui contenuto è risultato non valido (ad esempio, versioni difettose o non complete del software). Mettere gli stessi chip in un pacchetto opaco ha permesso loro di essere venduti in modo più economico per le applicazioni degli utenti finali dove era improbabile che qualcuno volesse cancellarli e riutilizzarli (OTPROM). Un successivo miglioramento ha permesso di cancellare elettricamente i dispositivi senza la luce UV (EEPROM iniziale).
I primi dispositivi EEPROM potevano essere cancellati solo in massa e la programmazione richiedeva condizioni molto diverse da quelle associate al normale funzionamento; di conseguenza, come con i dispositivi PROM / EPROM, venivano generalmente utilizzati in circuiti che potevano leggere ma non scriverli. I successivi miglioramenti a EEPROM hanno permesso di cancellare regioni più piccole, se non singoli byte, e hanno anche permesso loro di essere scritti dallo stesso circuito che li utilizzava. Tuttavia, il nome non è cambiato.
Quando è arrivata una tecnologia chiamata "Flash ROM", era abbastanza normale per i dispositivi EEPROM consentire la cancellazione e la riscrittura dei singoli byte all'interno di un circuito applicativo. Flash ROM è stato in qualche modo un passo indietro funzionalmente poiché la cancellazione poteva avvenire solo in grossi blocchi. Tuttavia, limitare la cancellazione a grossi blocchi ha permesso di archiviare informazioni in modo molto più compatto di quanto non fosse stato possibile con EEPROM. Inoltre, molti dispositivi flash hanno cicli di scrittura più veloci ma cicli di cancellazione più lenti rispetto a quelli tipici dei dispositivi EEPROM (molti dispositivi EEPROM richiederebbero 1-10ms per scrivere un byte e 5-50ms per cancellare; i dispositivi flash richiederebbero generalmente meno di 100us per scrivere, ma alcuni hanno richiesto centinaia di millisecondi per cancellare).
Non so che esiste una chiara linea di demarcazione tra flash ed EEPROM, poiché alcuni dispositivi che si definivano "flash" potrebbero essere cancellati su una base per byte. Tuttavia, la tendenza odierna sembra essere quella di utilizzare il termine "EEPROM" per dispositivi con capacità di cancellazione per byte e "flash" per dispositivi che supportano solo la cancellazione di blocchi di grandi dimensioni.
Spoiler: EEPROM è in realtà Flash.
Come sottolineato brillantemente dalla risposta di Supercat, EEPROM è un'evoluzione delle vecchie EPROM cancellabili con UV (EEPROM "EE" sta per "cancellabile elettricamente"). Tuttavia, nonostante sia un miglioramento per il suo vecchio amico, il modo EEPROM di oggi di conservare le informazioni è esattamente lo stesso della memoria flash.
L'unica differenza principale tra i due è la logica di lettura / scrittura / cancellazione.
Flash NAND (flash normale):
Può essere cancellato solo in pagine aka. blocchi di byte. È possibile leggere e scrivere singoli byte (non scritti), ma la cancellazione richiede la cancellazione di molti altri byte.
Nei microcontroller, viene generalmente utilizzato per l'archiviazione del firmware. Alcune implementazioni supportano la gestione del flash dall'interno del firmware, nel qual caso è possibile utilizzare quel flash per conservare le informazioni purché non si scherzi con le pagine utilizzate (altrimenti si cancellerà il firmware).
NOR Flash (aka EEPROM):
Può leggere, scrivere e cancellare singoli byte. La sua logica di controllo è strutturata in modo tale che tutti i byte siano accessibili individualmente. Sebbene sia più lenta del normale flash, questa funzione è vantaggiosa per i dispositivi elettronici più piccoli / più vecchi. Ad esempio, i televisori e i monitor CRT meno recenti utilizzavano EEPROM per contenere configurazioni utente come luminosità, contrasto, ecc.
Nei microcontroller, questo è ciò che generalmente si utilizza per conservare configurazioni, stati o dati di calibrazione. È meglio di Flash per questo, poiché per cancellare un singolo byte non è necessario ricordare (RAM) il contenuto della pagina per riscriverlo.
Curiosità
C'è un malinteso comune secondo cui NOR Flash utilizza porte NOR mentre NAND Flash utilizza porte NAND (e in effetti sembra ovvio). Tuttavia ciò non è vero. Il motivo della denominazione è la somiglianza della logica di controllo di ciascun tipo di memoria con i simboli schematici della porta NAND e NOR.
Flash è un tipo di EEPROM (memoria di sola lettura programmabile e cancellabile elettricamente). "Flash" è più un termine di marketing che una tecnologia specifica. Tuttavia, questi termini si sono convertiti in un tipo di EEPROM che è ottimizzato per grandi dimensioni e densità, di solito a scapito di grandi blocchi di cancellazione e scrittura e resistenza inferiore.
La memoria flash è una variante di EE-PROM che sta diventando popolare. La principale differenza tra la memoria flash e EE-PROM sta nella procedura di cancellazione. La EA-PROM può essere cancellata a livello di registro, ma la memoria flash deve essere cancellata nella sua interezza o a livello settoriale.
Lo spazio di archiviazione "Flash" è un termine generico per l' archiviazione all'interno di chip di memoria ( memoria non volatile), anziché per la rotazione di dischi come floppy disk, CD, DVD, hard disk, ecc.
NOR e NAND sono i chip di memoria flash originali ed è stato inventato da Fujio Masuoka mentre lavorava per Toshiba intorno all'anno 1980. "NOR" e "NAND" sono utilizzati nella maggior parte delle chiavette USB.
La memoria flash include anche sia EEP-ROM (memoria di sola lettura programmabile cancellabile elettricamente) sia NV-RAM (memoria ad accesso casuale non volatile). EEP-ROM è più economico e utilizzato per l'archiviazione nella maggior parte dei dispositivi System-on-Chips e Android. La NV-RAM è più costosa e utilizzata per unità a stato solido e archiviazione nei dispositivi Apple.
I nuovi chip NV-RAM sono molto più veloci di EEP-ROM e di altre tecnologie Flash.
Per ulteriori informazioni, consultare: http://www.crifan.com/___flash_memory_nand_eeprom_nvram_and_others_zt/