Perché la memoria flash deve essere scritta / cancellata in pagine / blocchi?


10

Il titolo dice tutto.

Sto cercando di capire il funzionamento delle tecnologie di memoria flash, a livello di transistor. Dopo alcune ricerche, ho avuto buone intuizioni sui transistor a gate fluttuante e su come si iniettano elettroni o li rimuovono dalla cellula. Vengo da un background CS, quindi la mia comprensione di fenomeni fisici come il tunneling o l'iniezione di elettroni caldi è probabilmente abbastanza traballante, ma comunque mi sento a mio agio. Mi sono anche fatto un'idea di come si legge da entrambi i layout di memoria NOR o NAND.

Ma ho letto ovunque che la memoria flash può essere cancellata solo in unità di blocchi e può essere scritta solo in unità di pagina. Tuttavia, non ho trovato alcuna giustificazione per questa limitazione e sto cercando di ottenere un'intuizione sul perché sia ​​così.

Risposte:


1

La migliore risposta che ho trovato alla tua domanda è trattata in Come funziona la memoria flash dove dice:

Gli elettroni nelle celle di un chip di memoria flash possono essere riportati alla normalità ("1") mediante l'applicazione di un campo elettrico, una carica ad alta tensione. La memoria flash utilizza il cablaggio in-circuit per applicare il campo elettrico all'intero chip o alle sezioni predeterminate note come blocchi. Ciò cancella l'area target del chip, che può quindi essere riscritta. La memoria flash funziona molto più velocemente delle EEPROM tradizionali perché invece di cancellare un byte alla volta, cancella un blocco o l'intero chip, quindi lo riscrive.

Non capisco perché il "cablaggio in-circuit" consenta la programmazione a livello di bit (passaggio da 1 a 0) ma potrebbe essere correlato al diverso modo in cui vengono eseguite le transizioni da 1 a 0 (programmazione tramite iniezione a caldo) rispetto a 0 a 1 transizione (cancellazione tramite tunneling Fowler-Nordheim).


6

È per definizione. Una memoria flash che consente di scrivere singoli bit si chiama EEPROM .

Il flash differisce dalla EEPROM in quanto le cancellazioni vengono eseguite in blocchi, anziché in singoli bit. Poiché la cancellazione è un'operazione relativamente lenta e deve essere eseguita prima della scrittura, l'esecuzione della cancellazione in un blocco di grandi dimensioni rende più veloci le operazioni di scrittura di grandi dimensioni, in virtù della cancellazione di un gran numero di bit in parallelo.

La cancellazione in blocchi consente inoltre di semplificare il CI, riducendo i costi. Le economie di scala riducono ulteriormente il costo del flash su EEPROM, poiché il flash viene attualmente utilizzato in grandi quantità per unità disco a stato solido, mentre EEPROM viene utilizzato in quantità molto più piccole.


grazie per questa risposta. Questa linea di pensiero spiega anche in qualche modo perché le operazioni di scrittura debbano essere eseguite pagina per pagina?
Gyom,

1
@Gyom non è vero per tutti i tipi di flash. A volte la limitazione è imposta dal protocollo (ad esempio, SATA non ha modo di scrivere "settori" inferiori a 512 byte). A seconda del tipo di flash e del protocollo utilizzati per accedervi, potrebbe essere possibile scrivere solo un byte su un blocco che è stato precedentemente cancellato.
Phil Frost,

4

Hai ragione nel fatto che non esiste alcuna giustificazione fisica per dover cancellare in unità di blocco.

La programmazione di una cella viene effettuata creando un campo elettrico tra la massa e la porta di controllo come mostrato in figura 1, e la stessa idea è valida per cancellare la cella, un campo elettrico nella direzione opposta farebbe il lavoro come mostrato in figura 2. inserisci qui la descrizione dell'immagine Tuttavia, per motivi costruttivi, è relativamente complesso generare e utilizzare la tensione negativa, quindi la strategia utilizzata è quella mostrata in fig3, impostando una tensione elevata alla rinfusa (che è il riferimento logico di massa nel settore). I transistor di selezione non possono più essere utilizzati, solo le porte di controllo possono essere abbassate e questo costringe a cancellare l'intero settore.


La memoria flash per definizione viene cancellata in blocco. Ecco perché vengono chiamati "flash", perché con un'operazione di cancellazione si cancellano molte celle in parallelo. Invece in una EEPROM devi farlo su una base per byte, impiegando molto più tempo. A proposito, la tensione di cancellazione viene suddivisa tra la tensione di massa e quella di gate (una positiva, una negativa). È molto più facile invertire una tensione, rispetto a dover generare e gestire tensioni molto elevate.
prossimo hack del

La maggior parte dei chip ha molte giunzioni PN normalmente distorte in modo tale da non condurre. Sarebbe possibile polarizzare i fili di riga e colonna alle tensioni necessarie per cancellare un chip senza che nessuna di queste giunzioni PN interferisca con le cose? Sarebbe certamente possibile utilizzare vari tipi di pozzi galleggianti per evitare problemi con tali giunzioni PN, ma farlo su una base per cella sarebbe probabilmente esageratamente costoso.
supercat
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.