Qual è la differenza tra memoria Flash ed EEPROM?


Risposte:


68

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.


Cosa intendi per "Informazioni sull'archivio Flash molto più compatte di quanto fosse possibile con EEPROM" e perché i cicli di cancellazione nella memoria flash possono essere più grandi del ciclo di scrittura?
The Beast

1
@Frankenstein: i progetti di circuiti EEPROM in genere richiedevano lo spazio dedicato per cancellare i circuiti negli stessi strati del chip della programmazione e leggere i circuiti. Sebbene esistano numerosi progetti di circuiti flash, essi generalmente evitano tale requisito.
supercat

grazie +1 ma perché questo potrebbe importare! è per questo singolo motivo che la memoria FLASH è più veloce di EEPROM
The Beast

1
@Frankenstein: il programma EEPROM e i cicli di cancellazione avvengono in modo abbastanza simile. La maggior parte dei dispositivi flash utilizza meccanismi completamente diversi per la programmazione e la cancellazione. Almeno un dispositivo con cui ho lavorato a un livello molto basso era il microcontrollore TI 320F206 che rende il software utente responsabile del controllo dei tempi di programmazione e dei cicli di cancellazione. Su quel chip, si potrebbe immaginare il ricordo come costituito da un gruppo di secchi con valvole che possono drenarli selettivamente, seduti sotto un gruppo di irrigatori in alto che possono riempirli.
Potrebbero

1
... diventa troppo pieno, quindi per cancellare l'array, è necessario svuotare tutti i secchi, accendere gli irrigatori per un po ', controllare se tutti i secchi sono ancora pieni, accendere gli irrigatori un po' di più se non lo sono, quindi ricontrollare, ecc. Se gli irrigatori sono accesi troppo a lungo, sarà necessario eseguire un'operazione speciale per correggere le cose [non ricordo esattamente come ha funzionato]. Tutto notevolmente più complicato di EEPROM che potrebbe essere cancellato direttamente.
supercat

29

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.


22

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.


8
perché lo chiamano ancora solo memoria, non è quel tipo di stupido se viene letto e scritto?
skyler,

4
@skyler: è in parte storico e in parte ha un senso. La ROM originale (memoria di sola lettura) è stata programmata con maschera, il che significa che è stata fatta come un passo nella costruzione del chip. Quindi c'erano collegamenti fusibili che inserivano la P in PROM. La EEPROM di oggi è ancora memoria per lo più letta. Il processo di scrittura è molto più complicato e più lento della lettura, e in questo caso consuma il chip. Questo tipo di celle di memoria a gate flottante può essere cancellato e scritto solo così tante volte prima che falliscano fisicamente.
Olin Lathrop

Puoi scrivere più volte un disco rigido magnetico o un transistor a gate flottante?
skyler,

@skyler: se si scrivesse un'area di un disco rigido il più velocemente possibile, si potrebbe probabilmente scriverla più di un miliardo di volte all'anno, per anni senza che si esaurisca. I transistor a gate flottante non si avvicinano senza livellamento dell'usura. Con il livellamento dell'usura, la quantità di dati che potrebbero essere scritti alla massima velocità su un dispositivo flash prima che si esaurisca sarebbe paragonabile a quella di un disco rigido (alcuni dispositivi flash probabilmente sarebbero migliori; altri peggio).
supercat

2
@skyler: molti dei primi chip EEPROM potrebbero essere collegati direttamente a un bus a microprocessore per l'accesso in sola lettura, ma scrivere su di essi richiederebbe condizioni che un normale bus a microprocessore non è in grado di produrre. In quanto tali, verrebbero spesso scritti utilizzando un apparecchio chiamato "programmatore", e quindi collegati a un dispositivo in grado di leggere i dati da essi.
supercat

4

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.


In che modo la tua risposta è migliorata rispetto a quella già accettata? Non mi sembra che tu abbia aggiunto alcuna informazione o prospettiva a ciò che è già stato detto.
Joe Hass,

2

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/


Anche MRAM , FeRAM e PCRAM sono intrappolati nel termine "catch-all"?
UHOH

2
I DIMM saranno DIMM indipendentemente dalla RAM dinamica o dalla RAM non volatile. MRAM, FeRAM e PCRAM utilizzati come unità di archiviazione rientrano nel termine "Memoria flash"
Neel

1
Grazie! Da quando ho scoperto che Triple Level Cell NAND FLASH ha otto livelli e non tre sono diventato più consapevole (diffidare?) Della terminologia.
uh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.