NVMe-oF, cos'è questo protocollo per l'accesso all'SSD attraverso la rete

A poco a poco l'abbandono del disco è un dato di fatto e l'uso delle unità a stato solido sta crescendo sempre di più. Tuttavia, questo cambiamento non sta avvenendo solo nel mondo dei computer domestici, ma anche nei server. Il protocollo NVMe-oF ha molto a che fare con tutto questo. Cosa rappresentano questi acronimi e perché possono plasmare il futuro dello storage per PC?

Il progressivo passaggio verso l'utilizzo degli SSD NVMe per lo storage in tutti i settori dell'informatica prosegue in maniera costante, deterministica e senza freni. Ciò include i sistemi di rete, che oggi comunicano tra loro più computer, sia su una rete locale che in un data center.

NVMe-oF

La maggior parte delle unità di storage sono del tipo DAS o Direct Access Storage in cui solo il PC su cui è installata tale unità può accedere al suo contenuto e, quindi, in ambiente di rete è necessario sviluppare protocolli che, ad esempio, in ambiente data center oppure un supercomputer composto da decine o centinaia di unità consente l'accesso all'intera infrastruttura di archiviazione.

Com'è la comunicazione in un data center?

Rete di archiviazione

Prima di approfondire come funziona NVMe-oF e in cosa consiste. Dobbiamo tenere presente che le tecnologie utilizzate in un data center o in una rete locale per intercomunicare la sua memoria interna sono chiamate SAN, che sta per Deposito Network NetPoulSafe o archiviazione di rete locale. Per questo, oggi vengono utilizzate tre diverse tecnologie, tutte basate sul veterano SCSI.

  • Fibre Channel Protocol (FCP): It è un protocollo che trasporta Comandi SCSI attraverso una rete in fibra ottica , sebbene possa essere eseguito anche su linee di rame. Le loro velocità possono variare da 1 a 128 GB/s.
  • iSCSI: Cosa combina il Protocollo Internet TCP/IP e comandi SCSI . Si basa su schede di rete convenzionali ed è progettato per reti con larghezza di banda molto ridotta poiché è limitato alle loro capacità Ethernet. Quindi velocità di 1 GB / s sono comuni, però 10 GB / s stanno iniziando a farsi vedere ultimamente.
  • SCSI seriale collegato: il più usato di tutti e basato su cavi SAS che consentono di collegare fino a 128 unità di archiviazione tramite adattatori bus host o HBA. La velocità di questi può essere 3 GB/s, 6 GB/s, 12 GB/s e persino 22.5 GB/s.

Tuttavia, tutte queste tecnologie hanno lo scopo di comunicare con le unità disco convenzionali. E dobbiamo presumere che l'accesso a un disco rigido sia diverso da quello di un'unità flash. Ciò che rende l'uso di questi protocolli non il più appropriato.

Che cos'è NVMe-oF?

NVMe-OF

Ebbene, sono l'acronimo di NVMe over Fabric ed è che questo protocollo è stato progettato non solo per comunicare con unità di memoria flash o non volatili, ma anche per l'intercomunicazione dei diversi elementi di un sistema attraverso infrastrutture di intercomunicazione. Dobbiamo capire che ci riferiamo a una struttura di comunicazione tra due elementi. Che possono essere due processori, a RAM e un processore, un acceleratore e una memoria ROM, e così via. Non dimentichiamo che le topologie utilizzate in questo caso utilizzano le stesse strutture delle telecomunicazioni, ma su scala molto ridotta.

Tuttavia, questo verrà utilizzato per comunicare gli SSD NVMe sulla rete. O per comunicare elementi diversi al CPU all'interno dello stesso PC o in mancanza tramite una scheda di rete. Parliamo quindi di grandi data center. Il vantaggio dell'utilizzo di NVMe-oF? Bene, rispetto ai protocolli SATA e SAS utilizzati nei dischi rigidi, questi sono in grado di supportare una coda fino a 65,000 richieste end-to-end e fino a 65,000 comandi diversi per richiesta , rispetto ad una sola di 1 singola richiesta e meno di 256 comandi. . Il che è fondamentale in ambienti con un numero sempre maggiore di core che effettuano richieste di dati allo storage che potrebbero saturare la rete.

Tipi di NVMe-OF

Attualmente ci sono due varianti, che sono le seguenti:

  • NVMe-of con canale in fibra ottica: che è stato progettato per integrarsi nei data center e nei server esistenti supportando i vecchi protocolli come SCSI. Ciò faciliterà il passaggio all'utilizzo di unità flash nei data center e nei server esistenti.
  • NVMe tramite Ethernet: che viene utilizzato da due computer per lo scambio di dati accesso diretto remoto alla memoria (RDMA) e, quindi, si riferisce al fatto che due computer possono scambiare il contenuto delle loro memorie flash in SSD NVMe senza che la CPU di nessuno dei due sistemi intervenga nel processo. In questo caso, la comunicazione non utilizza i cosiddetti pacchetti SCSI.

Non dimentichiamo che le memorie NAND Flash sono anche dette RAM non volatili per il fatto che la loro natura al momento dell'accesso è la stessa di quella della RAM, solo che non perdono informazioni quando smettono di ricevere una carica elettrica. Ciò consente l'implementazione di tecnologie utilizzate per intercomunicare due memorie RAM separate per farlo con le diverse memorie flash.

Di che velocità stiamo parlando?

Non dimentichiamo che gli SSD NVMe utilizzano interfacce PCI Express, quindi la versione in fibra ottica di questo sarà uno dei possibili candidati per collegare i diversi SSD NVMe all'interno dell'infrastruttura di un data center o di una rete locale. Tuttavia, Ethernet continuerà a dominare come protocollo di comunicazione standard per le reti per molto tempo a venire. Non c'è dubbio che le interfacce di rete a velocità di 50, 100 e anche 200 Gigabit al secondo sono in fase di sviluppo e saranno presto implementati nei data center.

Il futuro di NVMe-oF è anche su PC

Velocità Xbox

L'RDMA integrato in NVMe-oF non è una tecnologia nuova, poiché è stata implementata da anni in mercati di nicchia, in quanto i controller di rete integrati o NIC con RDMA erano molto costosi e richiedevano tecnici altamente specializzati per la loro manutenzione. la sua implementazione era costosa. Tuttavia, sarà fondamentale in futuro anche sui PC desktop. La ragione di ciò è che le infrastrutture interne dei processori si stanno evolvendo verso ciò che chiamiamo NoC. In essi, ogni elemento del processore ha una piccola scheda di rete integrata e un indirizzo IP con cui comunicare con il resto degli elementi attraverso quello che potremmo chiamare un processore di rete integrato nel processore.

Non è un segreto per chiunque sia a conoscenza della questione che, allo stesso modo in cui i controller di rete sono stati visti integrati nelle CPU, il passo successivo è farlo con i controller flash che si trovano negli SSD NVMe. Inoltre, il vantaggio dell'implementazione interna di NVMe-oF è che la CPU non deve eseguire una serie di processi per accedere ai dati da un'unità all'altra all'interno di un computer.

Vale a dire che in futuro si vedranno sul nostro PC gli stessi protocolli che verranno utilizzati a livello di data center e server di grandi dimensioni per non solo intercomunicare con la NVMe SSD unità al loro interno, ma in modo che ogni elemento possa comunicare in modo diverso con la CPU. Lasceremo semplicemente cadere quei protocolli come quelli utilizzati in DirectStorage che ti danno accesso all'SSD da GPU senza dover passare attraverso il processore sono basati su NVMe-oF.