Memoria NAND flash: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m punteggiatura |
Rimosse fonti conflittuali (CdI) |
||
Riga 41:
=== 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
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
=== Cancellazione ===
Riga 99:
=== Rumore di programmazione ===
[[File:NAND injection.png|miniatura|341x341px|Schema del processo di iniezione di elettroni all'interno della ''floating-gate.'' In a) si mostra l'equivalente circuitale della cella come serie di due capacità mentre in b) è mostrato il profilo della banda di conduzione.]]
Il rumore di programmazione, indicato spesso come ''program noise'' (PN), è il fenomeno legato alle fluttuazioni intrinseche della risposta di una singola cella all'operazione di programmazione. Ciò che si osserva sperimentalmente è che, ripetendo più volte la stessa operazione di programmazione sulla stessa cella, la risposta del transistore è affetta da fluttuazioni stocastiche. In ultima analisi tali fluttuazioni originano dal fatto che il processo di iniezione di carica nella ''floating-gate'' è un processo stocastico, e quindi affetto da variabilità. Sperimentalmente è stato possibile verificare che le fluttuazioni della risposta di cella sono univocamente legate alle fluttuazioni nel numero di elettroni introdotto nella floating-gate, riuscendo persino a risolvere l'iniezione di un singolo elettrone.<ref>{{Cita pubblicazione|nome=
I processi stocastici legati ai fenomeni di iniezione sono ampiamente studiati, in virtù di una fenomenologia abbastanza comune in vari ambiti della fisica (si pensi ad esempio alla rilevazione di fotoni attraverso foto-rivelatori<ref>{{Cita web|url=https://physicsopenlab.org/2019/01/07/photon-counting-statistics/|titolo=Photon Counting & Statistics|sito=PhysicsOpenLab|lingua=en-US|accesso=2023-07-05}}</ref> o ai processi di iniezione di carica legati al [[rumore shot]]<ref>{{Cita web|url=https://physicsopenlab.org/2016/10/10/shot-noise-and-electron-charge/|titolo=Shot Noise and Electron Charge|sito=PhysicsOpenLab|lingua=en-US|accesso=2023-07-05}}</ref>). Ciò che si osserva è che se le particelle possono essere iniettate solo per processi discreti (ovvero non è possibile iniettare una frazione di particella) e se vale l'ipotesi che ogni evento di iniezione è indipendente dai precedenti (non vi è cioè correlazione tra gli eventi), il processo stocastico segue la statistica di [[Distribuzione di Poisson|Poisson]]. Per le proprietà della appena citata statistica, la varianza associata alle fluttuazioni sarà proporzionale al valor medio del processo. Questo pone dei vincoli alla precisione con cui la soglia delle celle di memoria può essere programmata: adottando nell'algoritmo di ISPP un <math>\Delta V_{pgm}</math> alto il numero di elettroni iniettato per passo di programmazione sarà alto e caratterizzato da forti fluttuazioni. Al contrario, riducendo il passo di programmazione anche le fluttuazioni statistiche tenderanno a diminuire. Questo fatto va considerato nel momento in cui vengono decise le caratteristiche dell'algoritmo di programmazione da adottare sul dispositivo di memoria: un passo di programmazione ampio garantisce velocità di programmazione alta ma distribuzioni di soglia intrinsecamente larghe e ancor più allargate dalle fluttuazioni dovute al ''program noise'' mentre un passo di programmazione piccolo permette una programmazione più precisa al costo di un rallentamento della stessa operazione.<ref name=":5" />
Riga 111:
Si consideri in questo senso l'effetto di una singola trappola. Polarizzando il transistore di modo da permettere il flusso di corrente attraverso il canale ci si aspetterebbe che questa fosse stabile nel tempo. Al contrario, la trappola ivi presente può dar luogo ad un segnale simile a quello di un telegrafo, ove la corrente oscilla tra due stati in maniera sostanzialmente casuale. I due stati sui quali la corrente oscilla, nel proseguo detti di "alta corrente" e di "bassa corrente", sono associabili alle due configurazioni elettrostatiche del transistore ottenibili a pari tensioni applicate ma con la trappola RTN piena, ovvero che ha catturato un elettrone, o vuota, ovvero nella condizione successiva all'emissione del portatore. Quando un elettrone viene catturato, ad esempio all'interfaccia canale/ossido, l'inversione del canale nelle immediate vicinanze della trappola viene ridotta e la resistenza del canale aumenta conseguentemente, portando ad una diminuzione della corrente. Al contrario, l'emissione del portatore da parte della trappola ripristina la normale configurazione elettrostatica, che si traduce quindi nel ripristino della normale conduttanza di canale ed in un aumento della corrente d'uscita.<ref name=":9">{{Cita pubblicazione|nome=Alessandro S.|cognome=Spinelli|nome2=Gerardo|cognome2=Malavena|nome3=Andrea L.|cognome3=Lacaita|data=2021-06|titolo=Random Telegraph Noise in 3D NAND Flash Memories|rivista=Micromachines|volume=12|numero=6|pp=703|lingua=inglese|accesso=2023-07-06|doi=10.3390/mi12060703|url=https://www.mdpi.com/2072-666X/12/6/703}}</ref>
Le dinamiche di RTN possono risultare un problema dal punto di vista dell'affidabilità delle memorie NAND flash poiché influenzano l'operazione di lettura della cella. In tal senso, considerato che la cella viene tipicamente operata in regime di sottosoglia e che l'effetto delle dinamiche di RTN può essere visto anche come un'oscillazione della tensione di soglia <math>V_T</math>, è facile comprendere come l'operazione di lettura, che si basa sulla comparazione della corrente che scorre in canale con una di riferimento, possa venire fortemente influenzata dal rumore telegrafico casuale.<ref name=":9" /> Dal punto di vista modellistico, il processo RTN può essere descritto come un [[processo telegrafico casuale]].<ref>{{Cita pubblicazione|nome=
Benché la breve descrizione qui riportata faccia riferimento al caso di una singola trappola, è bene ricordare che più difetti possano combinarsi per dar luogo a dinamiche di RTN più complesse<ref>{{Cita pubblicazione|nome=Toshiki|cognome=Obara|nome2=Akinobu|cognome2=Teramoto|nome3=Akihiro|cognome3=Yonezawa|data=2014-06|titolo=Analyzing correlation between multiple traps in RTN characteristics|editore=IEEE|pp=4A.6.1–4A.6.7|lingua=inglese|accesso=2023-07-06|doi=10.1109/IRPS.2014.6860644|url=http://ieeexplore.ieee.org/document/6860644/}}</ref>.
|