I supporti di memorizzazione sono stati per lungo tempo uno dei colli di bottiglia più rilevanti quando si parla di prestazioni. Il passaggio dagli hard disk tradizionali agli SSD SATA e SAS ha mostrato i limiti di queste interfacce così l’industria ha definito nuovi standard come NVMe (Non-Volatile Memory Express) per scambiare i dati molto più velocemente usando il bus PCI Express (PCIe) precedentemente usato solo per connettere le schede video alla motherboard.
La natura seriale del bus PCI Express, l’alta velocità e la bassa latenza hanno permesso rendere questa interfaccia come il sostituto ideale per SATA e SAS.
La specifica NVMe è lo standard industriale per gli SSD basati su PCIe ed è nota per la sua latenza più bassa, gli elevati valori in termini di IOPS (input/output al secondo), un minore consumo energetico, un minore costo totale di proprietà (TCO, Total Cost of Ownership) e una migliore scalabilità rispetto alle obsolete interfacce SATA e SAS.
La specifiche NVMe sono mantenute dal consorzio NVM Express che ne detiene anche la proprietà: esso comprende decine di membri nei settori della tecnologia e del calcolo ad alte prestazioni tra cui IBM, Intel, NVidia, Microsoft, Micron e molti altri. Sul sito ufficiale si possono trovare informazioni circa la versione più recente della specifica NVMe.
NVMe ha rivoluzionato il settore dello storage aumentando significativamente la velocità di accesso alle informazioni sugli SSD grazie al concetto di elaborazioni in parallelo.
La tecnologia NVMe viene oggi utilizzata in SSD contraddistinti da vari fattori di forma, in particolare M.2 e U.2. Altri fattori di forma includono add-in card (AIC) e l’Enterprise & Data Center SSD Form Factor (EDSFF).
Un’unità SSD NVMe permette di utilizzare il bus PCIe per leggere e scrivere dati risultando molto più veloce rispetto ai dispositivi basati su interfacce di archiviazione più vecchie ma ancora ampiamente utilizzate come SATA e SAS.
Il fattore di forma M.2 è solitamente utilizzato dagli SSD NVMe montati internamente sfruttando lo slot presente sulla scheda madre; possono comunque anche essere installati utilizzando un controller RAID NVMe (che spesso supportando sia unità M.2 che U.2).
Come funziona NVMe
NVMe sfrutta la parallelizzazione delle operazioni e migliora la gestione della coda dei comandi da eseguire permettendo agli SSD moderni di elaborare molte più richieste di dati contemporaneamente. I singoli compiti vengono suddivisi in attività più piccole che vengono svolte in parallelo.
Gli SSD NVMe possono supportare fino a 64.000 code e comandi mentre le controparti SATA e SAS gestiscono rispettivamente fino a 32 e 256 comandi in attesa all’interno di una singola coda. NVMe utilizza quindi meno cicli di CPU per gestire le richieste di dati rispetto a SATA e SAS assicurando allo stesso tempo un’elaborazione molto più efficiente.
Della gestione delle code ne parla più in dettaglio Western Digital in questo approfondimento.
Prestazioni delle unità NVMe
Un SSD SATA III sulla carta può raggiungere fino a 600 MB/s in lettura e scrittura anche se le prestazioni di solito non superano i 550 MB/s nel migliore dei casi. Un SSD NVMe può raggiungere fino a 3.500 MB/s e 3.300 MBs in lettura e scrittura usando l’interfaccia PCIe 3.0.
Le unità PCIe 4.0 più recente possono arrivare a trasferire dati fino a 7.000 MB/s e 5.000 MB/s rispettivamente in lettura e scrittura a patto ovviamente di usare schede madri con chipset e processori compatibili.
Un SSD M.2 NVMe è fino all’800% più veloce di un hard disk SATA, fino al 240% più veloce di un SSD SATA e fino al 79% più veloce di quattro SSD SATA installati in configurazione RAID 0.
Citiamo l’esempio di un paio di SSD PCIe NVMe e SATA molto popolari: il Samsung 980 PRO PCIe 4.0 M.2 NVMe vanta una velocità di lettura sequenziale fino a 7.000 MB/s e in scrittura fino a 5.100 MB/s.
L’unità Samsung 860 PRO SATA III non può superare i 560 MB/s e i 530 MB/s rispettivamente in lettura e scrittura sequenziale.
La domanda in crescita e il miglioramento dei processi produttivi hanno permesso di ridurre rapidamente il prezzo degli SSD NVMe che sono però ancora generalmente più costosi degli SSD SATA e SAS. Con il trascorrere del tempo, tuttavia, si dovrebbe raggiungere via via la parità di prezzo.
Sui sistemi basati su schede madri che supportano slot PCIe NVMe si dovrebbe sempre e comunque orientarsi sull’acquisto e sull’installazione di SSD NVMe. In un altro articolo spieghiamo come verificare se il PC è compatibile PCIe NVMe.
In assenza di uno slot M.2 è possibile eventualmente valutare l’utilizzo di un adattatore PCIe M.2 inseribile su slot PCIe x4, x8 o x16 ove presenti sulla scheda madre.
Le immagini sono tratte da Crucial, noto produttore di soluzioni per lo storage (il brand è di proprietà di Micron).