Le tecnologie di memoria NVMe e NVMe-oF

NVMe (Non Volatile Memory Express) e NVMe over Fabrics (NVMe-oF) sono due protocolli di comunicazione sviluppati specificatamente per le unità di memoria allo stato solido (SSD) da un consorzio di aziende (NVM Express Inc.) con lo scopo di sfruttare al massimo le capacità di queste memorie, le cui prestazioni sono limitate dai protocolli SATA/AHCI sviluppati in passato per pilotare gli hard disk, le unità di memoria elettromeccaniche che noi tutti conosciamo.

Lo stack SCSI, progettato per HDD, presenta infatti molti elementi specifici per i supporti a rotazione, accessibili mediante testine del disco in grado di eseguire una sola richiesta alla volta. Dopo il passaggio del settore agli SSD flash, più veloci e con requisiti di gestione inferiori, molti elementi degli stack SCSI sono divenuti obsoleti. La capacità di applicare appieno la velocità e la capacità dello storage allo stato solido si scontra infatti con le limitazioni del protocollo SCSI e degli stack di software SCSI. Le moderne interfacce SAS hanno un limite di 1,1 – 1,2 GBps, mentre gli SSD possono offrire molto di più.

La tecnologia NVMe elimina questo collo di bottiglia introducendo uno stack ottimizzato, con un nuovo set di comandi e un numero enorme di code I/O per lo storage diretto. Di conseguenza, i dispositivi NVMe possono ottenere miglioramenti significativi rispetto allo standard SAS in termini di latenza, IOPS e larghezza di banda.

La tecnologia NVMe sfrutta il bus PCI Express (PCIe) che si occupa del trasferimento dei dati nei dispositivi che richiedono una banda molto ampia e una bassa latenza. Questo bus beneficia di un collegamento molto vicino alla CPU riuscendo ad offrire potenzialità al di sopra di qualsiasi altro standard. PCI Express può essere configurato con più linee: x1, x2, x4, x8, x16, con la più recente versione (PCIe 3.0) che raggiunge velocità di circa 1 GB/s per linea. Attualmente NVMe utilizza la configurazione PCIe x4 che consente di raggiungere velocità di trasferimento di 4 GB/s contro i 500 MB/s del SATA.

Non solo, la tecnologia NVMe è in grado di abbassare l’overhead di calcolo e ridurre notevolmente la latenza, fino al 30-40% in meno.

Il protocollo NVMe sta già conquistando il mercato dei consumatori, fornendo un accesso diretto più rapido della CPU agli SSD nei computer portatili. La specifica NVMe-oF, recentemente formalizzata, estenderà queste efficienze agli storage array su larga scala.

Questi nuovi protocolli di comunicazione sono ancora più importanti se si pensa all’introduzione delle nuove tecnologie di memoria SCM (Storage-Class Memory), conosciute anche come PMEM, come i modelli Intel 3D Xpoint e Samsung Z-NAND.

In un sistema convenzionale, le interconnessioni SAS presentano latenze di accesso tra i 20 e i 40 μs mentre il tempo di accesso dei nuovi SCM è dell’ordine del microsecondo; la soluzione NVMe diventa dunque obbligatoria per sfruttare al massimo queste caratteristiche.

Per quanto riguarda i sistemi di memorizzazione più estesi, come quelli dei data center, il miglioramento della larghezza di banda e della latenza di NVMe potrà essere esteso anche a questi sistemi grazie alla specifica NVMe-oF, recentemente formalizzata.


Confronto tra NVMe over Fabrics (front-end) e NVMe Back End (NetApp).

La specifica NVMe-oF definisce un’architettura comune per estendere il protocollo di storage a blocchi NVMe a una vasta gamma di fabric di storage networking (Ethernet, Fibre Channel e Infiniband) mediante interfacce RDMA a bassa latenza. Anche se i miglioramenti del sistema back-end NVMe si verificheranno in gran parte “sotto la superficie”, NVMe-oF abilita un’interfaccia lato host nei sistemi storage e la capacità di scalare in orizzontale un gran numero di dispositivi NVMe all’interno di un data center, anche su lunga distanza.

La combinazione di NVMe-oF e SCM creerà presto un punto di svolta nello storage. I fabric di data center emergenti che supportano esponenzialmente più IOPS e latenze dei dispositivi misurate in microsecondi (μs) consentiranno ai provider di fare molte delle cose che fanno oggi (business intelligence, data warehousing e data analytics) molto più rapidamente, con un overhead di CPU nettamente inferiore. Inoltre, sfruttando appieno gli IOPS estremamente elevati che le nuove architetture sono in grado di produrre, verranno sicuramente implementate nuove, interessanti, applicazioni.

 

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Menu