Fino all'avvento delle unità SSD e del flash storage, SATA era utilizzato con tutti i sistemi di storage HDD. Tuttavia, man mano che le applicazioni mobili, i videogiochi e le nuove tecnologie come l'intelligenza artificiale hanno aumentato le esigenze degli ambienti informatici, i limiti di SATA sono diventati evidenti. In particolare, la bassa velocità e la larghezza di banda di SATA hanno iniziato a rallentare i trasferimenti di dati di grandi dimensioni che erano fondamentali per le funzioni delle nuove applicazioni.
L'NVMe è stato inventato come opzione di storage/trasferimento dei dati migliore rispetto a SATA per le unità SSD in ambienti in cui era necessario trasferire grandi quantità di dati senza rallentare i tempi di elaborazione. L'NVMe consente alle unità SSD di connettersi direttamente alla CPU utilizzando il bus PCIe e un adattatore M.2 o U.2, come avviene per le unità SATA. L'NVMe consente alle unità SSD di collegarsi direttamente alla CPU e di leggere e scrivere rapidamente grandi volumi di dati.
Per ottenere prestazioni più elevate, l'NVMe definisce un'interfaccia di registro, un set di comandi e un gruppo di funzioni per le unità SSD basate su PCIe. Una volta connesso tramite il bus PCIe, il protocollo NVMe facilita la riduzione della latenza e contribuisce a ottimizzare le operazioni di I/O al secondo (IOPS).
I driver NVMe supportano molti dei sistemi operativi (OS), tra cui Windows, Linux e MacOS. Inoltre, il protocollo NVMe supporta tutti i tipi di NVM, comprese le unità SSD con tecnologia flash NAND. Infine, l'NVMe utilizza code di comandi parallele e un "polling loop" piuttosto che il driver di dispositivo basato su "interrupt" dei suoi predecessori, riducendo la latenza e l'overhead di sistema e aiutando a evitare colli di bottiglia della CPU, come nel caso di una scheda grafica che funziona più velocemente della CPU sottostante.
Fattori di forma delle unità SSD NVMe
Un altro importante elemento di differenziazione delle specifiche NVMe è il fattore di forma, ovvero il modo in cui le dimensioni, la configurazione e il design fisico influiscono sulla sua compatibilità con altri dispositivi. Di recente, la Storage Networking Industry Association (SNIA) si è riunita per stabilire l'Enterprise and Datacenter Standard Form Factor (EDSFF), con l'obiettivo di istituire un framework concordato a livello di settore per la tecnologia SSD.
Il fattore di forma standard concordato per un'unità SSD era di 2,5 pollici, che si adattava facilmente all'alloggiamento della maggior parte dei laptop e desktop, rendendo le unità SSD NVMe altamente compatibili con la tecnologia esistente. Poiché l'unità da 2,5 pollici è ampiamente utilizzata in ambienti informatici sia consumer che commerciali, la sostituzione di un'unità HDD con una SSD NVMe è semplice e immediata per gli utenti che desiderano migliorare le prestazioni del proprio sistema.
Unità NVMe m.2
Le unità SSD M.2 sono un altro fattore di forma fisica o connettore utilizzato nelle unità SSD. Anche se il termine viene spesso utilizzato in modo intercambiabile con NVMe, si tratta di tipi diversi di tecnologie di storage. Mentre le unità SSD NVMe si collegano a uno slot PCIlot su una scheda madre, offrendo velocità di trasferimento dati molto più elevate rispetto ai loro concorrenti, le unità m.2 sono un fattore di forma fisico, o connettore, che consente lo storage ad alte prestazioni in piccoli dispositivi con vincoli di potenza come laptop e tablet ultrasottili.
NVMe e memoria dinamica ad accesso casuale
La memoria dinamica ad accesso casuale (DRAM) è un tipo di memoria ad accesso casuale (RAM) molto diffusa e utilizzata da personal computer (PC), server e workstation. Le unità SSD NVMe sono disponibili sia nella versione DRAM che senza DRAM. Le unità SSD NVMe con DRAM sono più costose e più veloci di quelle senza DRAM e rappresentano un'opzione migliore per applicazioni ad alta intensità grafica come i software di editing di foto o video. Le unità NVMe senzaDRAM sono più economiche e più lente, ma comunque molto più veloci delle unità HDD o SSD SATA, il che le rende una buona opzione per gli utenti che non hanno bisogno di velocità o prestazioni elevate per le applicazioni che utilizzano.