COSA SONO E COSA CAMBIA TRA I VARI TIPI DI NAND FLASH (SSD)

10 marzo 2021

Come capire se la tua NAND è veramente flash

Ads

Il mondo degli SSD è incredibilmente variegato e forse uno dei mercati più veloci - gioco di parole a parte - in termini di sviluppo. In pochi anni siamo passati dagli amati rettangoli SATA agli M.2, per poi culminare nei protocolli NVMe 3.0 e 4.0, che continuano ad evolversi ogni anno che passa. Ed è importante capire cosa li componga per comprendere al meglio quali aspetti siano 

Sull’argomento SSD, sono presenti anche dei contenuti molto utili, come:

Molte volte si sbaglia a scegliere un SSD vedendo solamente la velocità in scrittura e lettura sequenziale, e fare una scelta del genere basandosi solo su questi dati è sbagliato. Il tipo di memoria utilizzata può fare la differenza, soprattutto in termini di longevità e prestazioni dell’SSD. Quindi un SSD con una certa NAND Flash può durare molto di più di un altro SSD con un altro tipo di NAND Flash e avere prestazioni più alte.

Quindi come facciamo a sapere quali sono le memorie “migliori” e quelle più adatte al nostro utilizzo? lo spiegheremo proprio in questo articolo!

 

Prima di tutto dobbiamo assicurarci di sapere le basi:

#COS’E’ UNA NAND FLASH

Una cella NAND Flash è un tipo di memoria a stato solido non volatile che si basa su circuiti elettrici per archiviare i dati, ed è la base della memorizzazione negli SSD moderni. E’ costituita da un transistor “particolare” a effetto di campo (FET) utilizzando un Metax Oxide Semiconductor (MOS) dato che al posto di avere un solo gate, ne ha due.

Per spiegare il funzionamento nel modo più chiaro possibile, utilizzeremo una foto “reale” vista da un microscopio elettronico a scansione SEM:

Fonte della foto

Ecco com’è fatta una attuale cella NAND Flash di Micron da 16nm.

Come abbiamo già citato prima, la cella è costituita da due gate (Control Gate e Floating Gate fatti entrambi da polisilicio) separati tra di loro tramite un dielettrico di tipo high-κ (HfO) e uno di tipo Interpoly (IPD). l’Si è il Silicio e il Tunnel Oxide è un campo sottile caricato negativamente da un campo elettrico.

Il Control Gate funge da sensore I/O (con “I/O” si intendono i due stati che definiscono il valore di bit dato alla cella o letto dal controller, quindi “SI elettroni/NO elettroni”) mentre il Floating Gate - essendo di tipo poli-siliconico e avendo capacità conduttive - è in grado di trattenere gli elettroni, sia in assenza e sia in presenza di alimentazione.

 

Se noi volessimo scrivere la cella, dovremmo applicare un’alta tensione sul Control Gate in modo da far fluire gli elettroni dal Silicio (Si) al Floating Gate tramite l’effetto tunnel:

Fonte della foto

Se noi volessimo leggere la cella invece dovremmo applicare una bassa tensione sul Control Gate con una seguente tentazione di flusso di corrente dal pin Source al pin Drain; se non è presente il flusso di corrente, significa che il Floating Gate ha carica (numero 0 in binario) come mostrato dalla prima immagino sotto, mentre se è presente corrente significa che il Floating Gate non ha carica (numero 1 in binario), come mostrato dall'immagine ancora più sotto:

Fonte della foto

E infine se noi volessimo cancellare (per poi riscrivere) la cella, dovremmo applicare un’alta tensione al silicio in modo da far fluire gli elettroni dal Floating Gate al silicio:

Fonte della foto

 

Dopo questa spiegazione arriviamo a due domande che possono sorgere in modo spontaneo:

  • Perché le celle NAND Flash si consumano? 
  • Perché un determinato tipo di NAND Flash si consuma e ha prestazioni peggiori di un altro tipo di NAND Flash?

 

Le celle NAND Flash si consumano per due motivi principali:

  • Gli elettroni con il tempo rimangono “bloccati” nel Floating Gate e dopo un determinato periodo che le aziende sono in grado di stimare, il Control Gate non è più in grado di rilevare la presenza o assenza di elettroni da inviare come informazione al controller, arrivando a causare degli errori che non si possono risolvere nemmeno per l’algoritmo ECC (Error Correction Code); infatti il fenomeno di migrazione degli elettroni dal silicio al Floating Gate prevede il ritorno di tutti gli elettroni al silicio.
  • Scrivere e cancellare di continuo la cella porta a uno stress dello strato isolante di ossido e dopo un po’ di tempo - rompendo lo strato isolante di ossido - il Floating Gate non è più capace di trattenere gli elettroni, arrivando al punto di rendere la cella inutilizzabile (quindi rendere l’SSD inutilizzabile).

 

Un determinato tipo di NAND Flash può durare di meno e avere prestazioni peggiori di un altro perché:

  • La resistenza diminuisce visto che il danno alla cella nel tempo è più significativo poiché i valori di lettura richiedono una maggiore sensibilità.
  • Le prestazioni per le celle che memorizzano più bit, sono ridotte in quanto diventa più difficile programmare/scrivere e leggere, inclusa una maggiore latenza dalla correzione degli errori e un aumento del numero di tensioni di riferimento.

 

#QUALI E QUANTI SONO I TIPI DI NAND FLASH?

I tipi di NAND Flash sono quattro e in scala dal “migliore” al “peggiore” sono (tenendo conto delle eMLC e delle PLC sarebbero sei, ma le eMLC sono poco diffuse e le PLC non sono ancore disponibili; il massimo che si sa è che le eMLC sono più durature e performanti delle MLC ma meno delle SLC, mentre le PLC sono meno durature e performanti delle QLC):

  • QLC (Quad Level Cell): in grado di memorizzare 4 bit, 16 stati di tensione con un’aspettativa di vita che varia dai 150 ai 1000 cicli di programmazione/cancellazione.

Per scrivere un singolo bit, bisogna leggerne 4 e scriverne 4, di cui uno solo modificato.

3 celle sono state scritte per niente e gli è stata ridotta l’aspettativa di vita inutilmente.

 

  • TLC (Triple Level Cell): in grado di memorizzare 3 bit, 8 stati di tensione con un’aspettativa di vita che varia dai 1500 ai 3000 cicli di programmazione/cancellazione.

Per scrivere un singolo bit, bisogna leggerne 3 e scriverne 3, di cui uno solo modificato.

2 celle sono state scritte per niente e gli è stata ridotta l’aspettativa di vita inutilmente.

 

  • MLC (Multi Level Cell): in grado di memorizzare 2 bit, 4 stati di tensione con un’aspettativa di vita che varia dai 30000 ai 35000 cicli di programmazione/cancellazione.

Per scrivere un singolo bit, bisogna leggerne 2 e scriverne 2, di cui uno solo modificato.

1 cella è stata scritta per niente e gli è stata ridotta l’aspettativa di vita inutilmente.

 

  • SLC (Single Level Cell): in grado di memorizzare 1 bit, 2 stati di tensione con un’aspettativa di vita che varia dai 50000 ai 1000000 cicli di programmazione/cancellazione.

Per scrivere un singolo bit, bisogna leggerne 1 e scriverne 1.

Nessuna cella è stata scritta inutilmente. In questo caso, la NAND Flash si consuma per i motivi che abbiamo spiegato all'inizio dell'articolo.

Fonte della foto: Micron

 

Fonti:

Wikipedia

Cactus Technologies

Tom’s Hardware USA