Memoria NAND flash: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
m →Programmazione: Eliminato il collegamento a "Veda" |
||
Riga 44:
=== Programmazione ===
Come per l'operazione di lettura, anche l'operazione di programmazione è tipicamente parallelizzata su un'intera pagina di memoria. La programmazione delle memorie NAND flash sfrutta il processo di [[Effetto tunnel|''tunneling'']] Fowler-Nordheim<ref>{{Cita web|url=https://www.3dincites.com/2018/02/invention-tunneling-based-flash-memory/|titolo=The Invention of Tunneling-Based Flash Memory|autore=Andrew Walker|sito=3D InCites|data=2018-02-22|lingua=en-US|accesso=2023-07-05}}</ref> per iniettare elettroni all'interno della ''floating-gate'' della cella in programmazione. Per far si che il processo di ''tunneling'' sia efficace, è necessario sviluppare un [[campo elettrico]] sufficientemente intenso lungo lo stack di gate del transistore. Questo viene realizzato portando a massa il contatto di ''body'' dei transistori (direttamente connesso alla ''p-well'' del [[Wafer (elettronica)|wafer]] sul quale è stata processata la memoria) e alzando il potenziale alla ''control-gate'' della cella in programmazione a <math>V_{pgm}>0V</math>. Il contatto di ''source'' viene tenuto alla tensione di alimentazione logica della memoria <math>V_{cc}</math>, con il selettore adiacente spento. La ''bitline'' viene tenuta a massa mentre il resto della struttura viene polarizzato a <math>V_{pass}</math> di modo da permettere che la corrente di programmazione
L'operazione di programmazione non viene solitamente fatta imponendo una tensione costante <math>V_{pgm}</math> alla cella selezionata, bensì sfruttando il cosiddetto algoritmo ISPP (''Incremental Step Pulse Programming''). Questo consiste nell'applicazione ripetuta di impulsi di ampiezza crescente alla cella selezionata in cui ognuno differisce dal precedente per un incremento <math>\Delta V_{pgm}</math>, detto passo di programmazione. Dopo ogni impulso un'operazione del tutto simile alla lettura, detta ''verify'', viene fatta sulle celle programmate: se il livello di soglia programmato supera un valore prestabilito, detto di ''program-verify,'' l'operazione per la data cella viene inibita. Questo permette di uniformare le soglie di tutti i transistori della pagina superando il limite di risposta dato dalla variabilità tra celle, imposto dal processo produttivo. Le distribuzioni di soglia programmata che idealmente si ottengono dall'applicazione dell'algoritmo di ISPP sono uniformi e larghe <math>\Delta V_{pgm}</math>.<ref>{{Cita pubblicazione|nome=Davide|cognome=Bertozzi|nome2=Stefano Di|cognome2=Carlo|nome3=Salvatore|cognome3=Galfano|data=2015-01-21|titolo=Performance and Reliability Analysis of Cross-Layer Optimizations of NAND Flash Controllers|rivista=ACM Transactions on Embedded Computing Systems|volume=14|numero=1|pp=1–24|lingua=en|accesso=2023-07-05|doi=10.1145/2629562|url=https://dl.acm.org/doi/10.1145/2629562}}</ref>
|