Le memorie NAND Flash, facciamo il punto ... - [FOCUS]

Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    ●⁞◌ Ȏrȉzzȏntέ Ðέglȋ ȨvέntȊ ◌⁞●
    Registrato
    Aug 2008
    Località
    Palermo
    Messaggi
    2,952

    Predefinito Cosa sono e come vengono utilizzate nei moderni SSD.




    Introduzione


    Per chi possiede un minimo di conoscenze di elettronica e di informatica, la prima grande differenza che intercorre tra le memorie Flash di tipo NAND più comunemente usate, SLC, MLC e TLC, risulterà intuibile direttamente dalla definizione dei relativi acronimi:

    • SLC - Single Level Cell (1 bit per cella, 2 livelli di tensione)
    • MLC - Multi Level Cell (2 bit per cella, 4 livelli di tensione)
    • TLC - Triple Level Cell (3 bit per cella, 8 livelli di tensione)


     1

    Figura 1: celle NAND 110.000x al microscopio elettronico (fonte Micron)

    A (substrato) B (gate di controllo) C (gate flottante)


    Una singola cella di memoria NAND Flash rappresenta di fatto l'unità elementare di memorizzazione nelle moderne unità di storage allo stato solido. E' costituita essenzialmente da un transistor relativamente particolare ad effetto di campo (FET) in tecnologia MOS (Metal Oxide Semiconductor), in quanto presenta la caratteristica di esser dotato di due terminali di attivazione (gate).

    A partire dagli elementi costitutivi di un MOSFET è infatti previsto un secondo gate, di tipo flottante (floating gate), sottostante al gate di controllo (control gate): per questo motivo il transistor venne in origine definito FGMOS (Floating Gate MOS).


     2

    Figura 2: grafico di una tipica cella di memoria NAND Flash


    Il terminale di attivazione aggiuntivo flottante viene usato per collegare le wordline al gate di controllo e costituisce uno spazio ben definito all'interno del transistor: ha capacità conduttive, è in genere di tipo poli-siliconico ed è in grado di trattenere della carica elettrica, riuscendo a mantenerla inalterata nel tempo.

    Questa caratteristica riassume in sintesi la più essenziale delle proprietà delle memorie NAND Flash: la non-volatilità.

    Il lasso di tempo per cui questa viene garantita, priva di apporto esterno di energia, va a definire il valore di Data Retention Period, in genere dell'ordine di uno o più anni: questo parametro è considerato, a detta dei più, fondamentale in quanto denoterebbe in qualche modo la qualità della tecnologia MOS utilizzata.


     3

    Figura 3: grafico della perdita media di efficienza con l'uso e il passare del tempo


    Dal punto di vista dell'organizzazione a livello fisico, un die è tipicamente suddiviso in pagine da 4kB agglomerate in 1280 blocchi, in modo da formare un singolo insieme uniforme di 512MB: a livello di pagina, nelle memorie NAND Flash possono avvenire un numero illimitato di letture senza che questo fatto ne possa pregiudicare in alcun modo la durata.

    Anche al momento della prima scrittura di una cella, sostanzialmente a drive giunto con impostazioni di fabbrica o a seguito di una procedura di secure erase, il procedimento di memorizzazione non comporta alcuna penalizzazione nella durata delle pagine interessate.

    Per descrivere le implicazioni inerenti il procedimento finalizzato invece alla scrittura in esercizio, valevole per tutte le famiglie di memorie NAND, bisogna precisare che per una qualsiasi successiva riscrittura una cella deve essere prima di tutto bloccata e cancellata, o meglio in qualche modo svuotata della carica precedente (che, logicamente, rappresenta delle ben precise informazioni).

    Questa operazione, definita tunnel erase, è attivata al momento che una tensione intermedia viene applicata al gate di controllo: l'energia applicata dà modo alla corrente di poter liberamente fluire, permettendo agli elettroni già presenti nel floating gate di esser rilasciati e svuotare, così, il gate flottante.


     4

    Figura 4: fase di cancellazione di una cella NAND


    Successivamente la cella viene sbloccata ed è pronta per esser nuovamente utilizzata, ovvero riscritta tramite un procedimento di programmazione detto tunnel injection.

    Esso consiste, qualora si volesse imporre il valore logico "0", binario, nell'applicazione di un potenziale di carica positiva tramite il quale una quantità di elettroni, di carica negativa, vengono trasferiti (iniettati) attraverso gli strati dielettrici del transistor, per esser infine trattenuti all'interno del floating gate.


     5

    Figura 5: fase di programmazione di una cella NAND


    L'altra alternativa possibile, quella di identificare cioè il valore "1", è circostanziata dalla non emissione di alcuna nuova carica, lasciando pertanto vuota di elettroni la cella in precedenza cancellata.

    Per inciso, talvolta si può anche leggere in alcuni articoli o su pagine web che la corrispondenza tra gli stati e il valore di tensione viene descritta con modalità invertita, ovvero con lo "0" a significare uno stato privo di carica, ma è solo una descrizione a livello puramente teorico.

    Bisogna, anche in questo caso, approfondire il fondamentale concetto di assenza di carica susseguente alle operazioni di cancellazione, puntualizzando quanto in realtà avviene: sebbene si parli comunemente del termine assenza, risulta in realtà molto complesso azzerare la tensione presente all'interno del floating gate.

    La carica elettrica non può esser completamente eliminata, in quanto uno o più elettroni tendono in genere a rimanere naturalmente imprigionati all'interno dello strato di ossido, producendo così un seppur minimo livello di tensione.

    Questo fatto non pregiudica le corrette funzionalità delle memorie NAND Flash in quanto tale carica permane ad un livello ben inferiore a quello del primo valore minimo di soglia, tale quindi da non divenire influente nelle successive rilevazioni durante le attività di lettura: almeno finché la cella continuerà a trovarsi, come vedremo, in stato di efficienza.

    La sequenza di scritture, cancellazioni e successive riscritture, in continua alternanza sulle pagine costituite dalle celle, è detto nelle memorie NAND ciclo di program/erase.

    Il valore accreditato dal produttore alle proprie celle di memoria è da considerare pertanto di vitale importanza ed utile quale criterio per stabilire e quantificare la durata del dispositivo di storage che le adotta.


     6

    Figura 6: programmazione/cancellazione a pagine e blocchi di celle


    Per denotare in qualche modo la complessità funzionale di queste memorie, bisogna chiarire che l'operazione di programmazione/cancellazione, seppur destinata in origine ad un'unica serie di celle/pagina, non può esser eseguita in modalità diretta solo su queste: è necessario infatti procedere alla preventiva cancellazione di un intero blocco cumulativo di pagine da 4kB contigue, in genere in numero di 64.

    Stabilito che, spesso, all'interno del blocco di pagine interessato potrebbero esser già memorizzati altri dati non inerenti l'operazione in esecuzione, è facile intuire come questo fatto comporti spesso anche la necessità dello spostamento di una quantità di dati (256kB) non tutti sostanzialmente interessati alle operazioni originate del sistema operativo.

    Il controller dell'unità SSD, che in queste circostanze attiva contestualmente le cosiddette strategie di wear leveling per salvaguardare la durata dell'unità nel tempo, procederà quindi nelle attività tramite due differenti operazioni: la prima, rappresentata dalla scelta di un nuovo blocco di pagine vuote di destinazione (cancellate già in precedenza) dove memorizzare i dati, la seconda comprendente sia la scrittura dei dati modificati nonché la riscrittura vera e propria (copia) del contenuto immutato del blocco appena cancellato.

    Oltre al concreto handicap a livello di spazio di memorizzazione che non può, in questo modo, esser utilizzato nel lungo periodo in maniera del tutto efficiente, tutta questa serie di operazioni supplementari richiedono ovviamente anche un tempo ampiamente superiore all'ideale necessità di modifica dei dati originari.

    All'esordio di questa tecnologia le prestazioni globali in scrittura rappresentavano, pertanto, un consistente limite, soprattutto nelle operazioni random, il tempo necessario alla copia tanto inevitabile quanto imprevista della serie di blocchi costituiva e costituisce ancora il fattore più limitante in assoluto, in quanto al crescere di questo intervallo vanno a diminuire in misura diretta le performance.


     7

    Figura 7: dilatazione delle temporizzazioni di copia dei blocchi in relazione all'innovazione tecnologica


    Andando a riassumere sinteticamente le circostanze particolarmente negative di questa tecnologia, i fattori chiave che vanno ad impattare le performance in scrittura sono:

    • l'elevato numero di pagine per blocco;
    • l'aumentare del tempo necessario alla programmazione;
    • la dilatazione delle temporizzazioni nei trasferimenti di I/O.

    Questi limiti, uniti ad una iniziale non brillantezza nelle operazioni atomiche di scrittura delle NAND, furono in origine considerati fattori troppo penalizzanti nell'uso di questa tecnologia per pensare di poter soppiantare del tutto i dispositivi di storage, all'epoca più largamente utilizzati, a tecnologia meccanico-magnetica.





  2. #2
    gibibyte L'avatar di Ettore
    Registrato
    Nov 2008
    Età
    48
    Messaggi
    943

    Predefinito

    articolo decisamente interessante, non l'ho metabolizzato completamente ma conto di rileggerlo domani ...

  3. #3
    Moderatore L'avatar di Caos85
    Registrato
    May 2009
    Località
    Milano
    Età
    39
    Messaggi
    1,645
    configurazione

    Predefinito

    articolo decisamente interessante e ben fatto

    l'introduzione mi ha riportato con la mente ai lontani esami di elettronica digitale e circuiti integrati ....

  4. #4
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    44
    Messaggi
    23,431
    configurazione

    Predefinito

    Concordo, decisamente interessante ma me lo devo rileggere a mente più fresca... I miei di ricordi scolastici non sono più così freschi!!

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  5. #5
    Moderatore L'avatar di Kam
    Registrato
    Sep 2004
    Località
    Roma
    Età
    54
    Messaggi
    4,221
    configurazione

    Predefinito

    Articolo illuminante e completissimo... anche se le mie basi non mi permettono una comprensione completa ho trovato la lettura davvero gradevole.

  6. #6
    The Guilty L'avatar di virgolanera
    Registrato
    Mar 2010
    Località
    Latina
    Età
    51
    Messaggi
    7,838
    configurazione

    Predefinito

    Più che un focus sembrerebbe una tesi di laurea in ingegneria elettronica
    Queste sono le cose che mi rendono orgoglioso di far parte di Nexthardware
    Grazie Toto

  7. #7
    Nexthardware Staff L'avatar di brugola.x
    Registrato
    Feb 2007
    Località
    1/2 lombardo
    Età
    51
    Messaggi
    18,806
    configurazione

    Predefinito

    mi piacerebbe ma non sono in grado di dire se è ben fatta o meno perchè avrò assorbito si e no il 30% di quello che c'è scritto ma vado sulla fiducia, complimenti

  8. #8
    Daniele L'avatar di Trattore
    Registrato
    Jul 2011
    Località
    provincia Lecco
    Età
    50
    Messaggi
    9,873
    configurazione

    Predefinito

    Originariamente inviato da brugola.x
    mi piacerebbe ma non sono in grado di dire se è ben fatta o meno...
    Quoto vado anch'io in fiducia... complimenti Toto


  9. #9
    Moderatore L'avatar di Rais
    Registrato
    May 2013
    Località
    Brindisi, Italy
    Età
    31
    Messaggi
    2,697
    configurazione

    Predefinito

    Ci sono voluti giorni perchè potessi leggerla tutta... Che lavoro!

  10. #10
    Nexthardware Staff L'avatar di brugola.x
    Registrato
    Feb 2007
    Località
    1/2 lombardo
    Età
    51
    Messaggi
    18,806
    configurazione

    Predefinito

    un lavoro davvero notevole...
    come tutti gli altri che ha fatto..Totocellux ci ha abituati così

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Tags

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022