SSD NVMe ZNS: come gli zoned namespace cambieranno gli SSD enterprise
di Riccardo Robecchi pubblicata il 12 Agosto 2020, alle 15:31 nel canale DeviceLa nuova specifica NVMe 2.0 introduce una sostanziale novità: gli zoned namespace, o ZNS, che permettono di migliorare la gestione della memoria NAND creando una logica più vicina alla struttura fisica dei dischi
Gli SSD per i data center stanno evolvendosi rapidamente in una direzione che li porta ad allontanarsi da quelli utilizzati finora. Il nuovo standard NVMe 2.0 porterà infatti con sé una nuova modalità di funzionamento: gli SSD saranno divisi in zone, anziché emulare i blocchi degli hard disk tradizionali, con quelli che si chiamano Zoned Namespace (ZNS in breve).
Zoned Namespace: come cambieranno gli SSD in futuro
Gli SSD in uso oggi vengono visti dai sistemi operativi come fossero dei dischi tradizionali, con blocchi di dati da 512 B o 4 kB. Questa è però un'astrazione che non riflette la reale modalità di registrazione dei dati sulla memoria flash.
Nel mondo dell'informatica le astrazioni hanno un costo che spesso implica prestazioni peggiori. Quanto grande sia l'impatto dipende da una serie di fattori, incluso quanto l'astrazione sia lontana dalla realtà. Nel caso degli SSD si è raggiunto un compromesso interessante, con la rappresentazione della memoria fisica come blocchi simili agli hard disk tradizionali che penalizza le prestazioni lasciando, però, intatta la compatibilità con il software.
Resta, tuttavia, un collo di bottiglia importante soprattutto per quanto riguarda la gestione della memoria flash. Una delle caratteristiche peculiari degli SSD usati finora è quello del cosiddetto overprovisioning, ovvero la presenza a bordo del disco di una quantità di memoria superiore rispetto a quella effettivamente disponibile. Ciò si rende necessario perché a ogni scrittura parziale di un blocco di memoria è necessario riscriverlo interamente e ciò porta a una degradazione più veloce del blocco stesso, portando dunque i produttori a inserirne di più per sostituire i blocchi che via via divengono non più utilizzabili durante la vita del disco.
Il nuovo paradigma degli zone namespace, o spazi dei nomi a zone, toglie complessità dai firmware degli SSD per spostarne una parte nel sistema operativo. Il concetto di base è simile a quello utilizzato negli hard disk SMR e la nuova specifica deriva proprio da lì. Il disco viene diviso in zone, la cui dimensione dipende dal produttore, ma la gestione delle scritture viene lasciata al sistema operativo del computer così da ottimizzarle e da ridurre al minimo le scritture parziali o le riscritture di uno stesso blocco (write amplification). Il sistema è al corrente di quale sia lo stato dei blocchi e di quali scritture siano in coda e può, quindi, ottimizzare il modo in cui queste vengono effettuate.
L'impiego di software ottimizzati può ridurre quasi a zero la write amplification e, di conseguenza, far diminuire la quantità di blocchi necessari per l'overprovisioning. Ciò significa inoltre che anche dischi con memoria QLC, la cui vita utile è significativamente inferiore rispetto alle generazioni precedenti, possono ambire a raggiungere quasi la parità con i dischi tradizionali.
Un altro aspetto è quello della necessità di memoria RAM a bordo degli SSD: al momento viene utilizzato circa 1 GB di RAM per ogni TB di memoria NAND per fare posto alle tabelle di redirezione o alle mappe degli indirizzi; con blocchi dalle dimensioni superiori ai classici 4 kB questo problema non è più presente, perché le tabelle stesse devono contenere molti meno elementi, e si possono dunque utilizzare quantità molto più ridotte di RAM (che resta comunque necessaria per gestire, ad esempio, i metadati).
Gli SSD ZNS nei data center, non nei PC
Questa complessità aggiuntiva e la necessità di modificare il software perché sia compatibile con la nuova modalità fanno sì che gli SSD ZNS saranno più diffusi nel mondo enterprise (e, più specificamente, nel cloud) rispetto al mercato per l'utenza privata. Il supporto è già presente in Linux, ad esempio, che con la versione 5.9 attualmente in sviluppo permetterà di utilizzare i dischi ZNS.
Si tratta di una differenza prettamente software, per cui sarebbe teoricamente possibile scrivere firmware che supporti ZNS per i dischi esistenti. Ciò, però, non sembra essere nei piani di alcun produttore. Servirà probabilmente del tempo perché i principali produttori (Samsung, Kioxia, SK Hynix, Intel, Micron) portino sul mercato modelli compatibili con ZNS, ma tutti hanno mostrato un certo interesse nel farlo: le potenzialità di ZNS sono significative e c'è la possibilità di vedere vantaggi concreti dall'uso di dischi che ne fanno uso, ma ci vorrà ancora diverso tempo prima che i nuovi SSD arrivino sul mercato e che l'intero ecosistema si adegui alla novità e li sfrutti al pieno delle loro potenzialità.
3 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoDispositivi QLC in ambito professionale sono da evitare, meglio orientarsi su prodotti più affidabili che ahimè scarseggiano a discapito di quelli più economici ma meno duraturi. Secondo me il percorso dovrebbe andare nell'altro verso, ossia cercare di creare solo dispositivi con celle SLC o MLC (2 bit per cella) ad uno costo minore.
Non credo sia possibile. A livello fisico la creazione di una cella di memoria in un chip dipende dal processo produttivo.
Se nella cella di memoria salvi un bit o 4bit non cambia (di molto) il costo di produzione del chip, ma in un QLC salvi il quadruplo delle informazioni (o era 16 volte, non ricordo), quindi un SLC costerà sempre 4 volte di più di un QLC di pari capienza.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".