Come funzionano le scritture di memoria flash NAND?


14

Di seguito è una foto della mia comprensione del funzionamento della memoria flash NAND.

Il flash NAND funziona prima cancellando tutte le celle in un singolo blocco (essenzialmente impostandolo su '1') e quindi scrivendo selettivamente 0. La mia domanda è: poiché la linea di parola è condivisa tra tutte le celle in una singola Pagina, come fa il programmatore NAND a programmare uno 0 in celle specifiche in una pagina?

Per il flash NOR, è facile vedere che una specifica cella può essere programmata usando l'iniezione di elettroni caldi (Applicazione di una tensione elevata attraverso una cella). Ma con NAND, non è possibile farlo poiché le celle NAND sono in serie tra loro e non è possibile applicare l'alta tensione a celle specifiche. Quindi, ciò che viene fatto in NAND è il tunneling quantico, in cui alla linea di parole viene assegnata un'alta tensione per scrivere uno 0. Ciò che non mi è chiaro è come questa tensione può essere resa selettiva (in altre parole poiché le linee di parole sono condivise tra le celle in un pagina, l'alta tensione per la programmazione di un singolo bit su 0 non dovrebbe anche 0 fuori dagli altri bit in una pagina).

Organizzazione di array di memoria NAND

Risposte:


10

L'immagine seguente è la versione più dettagliata dell'organizzazione dell'array di memoria NAND FLash nella domanda. L'array di memoria flash NAND è suddiviso in blocchi che a loro volta sono suddivisi in pagine . Una pagina è la più piccola granularità di dati che può essere indirizzata dal controller esterno .

Una matrice di memoria flash NAND - Figura 2.2 della tesi del Master collegata di seguito

L'immagine sopra è la Figura 2.2 "Una matrice di memoria flash NAND" di: Vidyabhushan Mohan . Modellazione delle caratteristiche fisiche della memoria flash NAND . Tesi di master. Università della Virginia, Charlottesville. Maggio 2010.

Per eseguire un'operazione di programma , in altre parole scrivendo " 0 " s nelle celle desiderate, il controller di memoria esterno deve determinare l'indirizzo fisico della pagina da programmare. Per ogni operazione di scrittura, è necessario scegliere una pagina valida gratuita poiché NAND Flash non consente l'operazione di aggiornamento sul posto. Il controller quindi trasmette al chip il comando del programma , i dati da programmare e l'indirizzo fisico della pagina.

Quando una richiesta per un'operazione di programma arriva dal controller, viene selezionata una riga dell'array di memoria ( corrispondente alla pagina richiesta ) e i latch nel buffer di pagina vengono caricati con i dati da scrivere. L' SST viene quindi acceso mentre il GST è spento dall'unità di controllo. Perché si verifichi il tunneling FN , è necessario un campo elettrico elevato attraverso la porta flottante e il substrato. Questo elevato campo elettrico si ottiene impostando la gate di controllo della riga selezionata su un Vpgm ad alta tensione e polarizzando le linee di bit corrispondenti a "0" logico a terra.

Ciò crea un'alta differenza di potenziale tra la porta flottante e il substrato causando il tunneling degli elettroni dal substrato alla porta fluttuante. Per la programmazione " 1 " (che è fondamentalmente non di programmazione), la cella di memoria dovrebbe rimanere nello stesso stato di prima dell'operazione del programma. Mentre diverse tecniche sono adottate per prevenire il tunneling di elettroni per tali celle, supponiamo che il programma auto-potenziato inibisca il funzionamento.

Questa tecnica fornisce la necessaria tensione di programmazione di inibizione guidando le bitline corrispondenti al valore logico “ 1 ” a Vcc e accendendo la SSL e spegnendo il GSL . Quando la word line della riga selezionata sale a Vpgm , la capacità della serie attraverso gate di controllo, gate flottante, canale e massa viene accoppiata, aumentando automaticamente il potenziale del canale e impedendo il tunneling FN.


Queste informazioni sono state prese e riassunte da qui e da quella fonte è possibile trovare ulteriori dettagli sulla programmazione della memoria flash NAND.


Grazie per aver riassunto la tesi che hai sottolineato. Potresti spiegare un po 'di più in termini più semplici come le celle che devono essere lasciate a' 1 'non sono influenzate dal tunneling che si verifica sulla linea di parola condivisa? Da quanto ho capito nell'estratto che hai pubblicato, a tutti quei bit che hanno la stessa wordline condivisa viene assegnata la stessa tensione ai bit corrispondenti. Per questo motivo, il campo elettrico attraverso il gate flottante per tali transistor è abbastanza basso da mantenere il loro valore a "1". Inoltre, perché GSL è disattivato, in che modo GSL aiuta?

Fondamentalmente in termini semplici, la presenza o l'assenza di cariche all'interno dell'FGT provoca uno spostamento nella Soglia dell'FGT che viene utilizzata per distinguere un "1" logico da uno "0" logico. Un singolo FGT non è mai programmato da solo. È programmato solo un gruppo di FGT alla volta; questo gruppo di FGT corrisponde a una pagina in questo caso e questo spiega perché NAND è indirizzato a blocchi anziché indirizzato a bit. Spero sia chiaro.
gbudan,

Dici "attivando SSL" ma non c'è nulla nello schema chiamato SSL. Inoltre, il tuo "qui per maggiori dettagli" è un link non funzionante.
Steev il

@Steev - Grazie per aver evidenziato che i collegamenti originali erano morti. Ho trovato un link funzionante alla tesi che è stata utilizzata come base di questa risposta e ho aggiornato i link sopra. Vedi qui per la pagina dello scrittore della tesi, che include quella tesi.
SamGibson,
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.