Il rilascio delle specifiche NVMe 2.0 è stato pubblicato ieri. Da semplice protocollo per dispositivi di storage a blocchi che utilizzano PCI Express, NVMe si sta evolvendo in uno dei protocolli di storage più importanti e versatili per praticamente qualsiasi tipo di storage. Le nuove specifiche guideranno l'ecosistema dei dispositivi NVMe: SSD, schede di memoria, acceleratori e persino HDD.
Invece di una specifica di base per i tipici SSD PCIe e una specifica NVMe-over-Fabrics (NVMe-oF) separata, la versione 2.0 è stata originariamente progettata come modulare e include una serie di standard separati: un set di base (NVMe Base), set di istruzioni separati (NVM, ZNS, KV ), specifiche del livello di trasporto (PCIe, Fibre Channel, RDMA, TCP) e specifiche dell'interfaccia di gestione (NVMe Management Interface). Insieme, definiscono il modo in cui il software host interagisce con le unità e gli storage pool tramite PCI Express, RDMA e altro.
La specifica di base ora copre sia i dispositivi locali che NVMe-oF, ma è molto più astratta e non legata al mondo reale: è stato rimosso così tanto che non è più sufficiente definire tutte le funzionalità necessarie per implementare anche un semplice SSD. I dispositivi reali devono fare riferimento ad almeno un'altra specifica del livello di trasporto e una specifica del set di istruzioni. In particolare, per i tipici SSD a cui tutti sono abituati, ciò significa utilizzare la specifica di trasporto PCIe e il set di istruzioni per lo storage a blocchi.
Tre set di istruzioni standardizzati (Block Access, ZNS e Key-Value) vanno da semplici unità a stato solido con astrazioni sottili sulla memoria flash sottostante a unità intelligenti relativamente complesse che svolgono alcune delle attività di gestione dell'archiviazione tradizionalmente eseguite. sistema. Tuttavia, spazi dei nomi diversi dietro lo stesso controller possono supportare diversi set di comandi.
NVMe 2.0 aggiunge anche un meccanismo di gestione dello storage pool standard che consente una gestione più granulare del carico di lavoro basata su prestazioni, capacità e resistenza di dispositivi specifici. La gerarchia del pool è stata inoltre ampliata con un altro livello di domini, all'interno del quale ora esistono gruppi, dove, a loro volta, si trovano insiemi separati di dispositivi NVM.
I futuri set di istruzioni, come quelli per l'archiviazione computazionale, sono ancora in fase di sviluppo e non sono ancora pronti per la standardizzazione, ma il nuovo approccio NVMe 2.0 semplificherà l'aggiunta secondo necessità. In linea di principio, lo standard Open Channel potrebbe anche far parte di NVMe, ma l'industria ritiene che il paradigma dello storage a zone fornisca un equilibrio più ragionevole e l'interesse per gli SSD Open Channel sta diminuendo a favore delle soluzioni ZNS.
Altre modifiche in NVMe 2.0 includono il supporto per CRC a 32 e 64 bit, nuove regole per disconnettere in sicurezza i dispositivi nell'archiviazione condivisa (quando si accede tramite più controller), un controllo più preciso dei diritti di accesso: è possibile consentire la lettura e la scrittura, ma non consentire i comandi che modificano le impostazioni o lo stato dell'unità e protocolli aggiuntivi relativi agli aggiornamenti del firmware.
Anche in NVMe 2.0 c'è il supporto esplicito per i dischi rigidi. Sebbene sia improbabile che gli HDD passino presto a PCIe anziché a SAS o SATA, il supporto per tali supporti significa che in futuro le aziende saranno in grado di unificare le proprie SAN con NVMe-oF e abbandonare i vecchi protocolli come iSCSI.
Nel complesso, NVMe 2.0 non offre tante nuove funzionalità come nelle versioni precedenti. Tuttavia, la riorganizzazione della specifica stessa incoraggia un approccio iterativo e la sperimentazione di nuove funzionalità. Quindi, nei prossimi anni, è probabile che gli aggiornamenti siano più piccoli e più frequenti.
2021-06-04 03:46:37
Autore: Vitalii Babkin