Storage

NVMe 2.0: un salto generazionale basato sulla riorganizzazione

È stata rilasciata la nuova versione della specifica NVMe, la numero 2.0, mantenendo la cadenza ordinaria di circa due anni da quella precedente: la 1.4 era infatti uscita nel 2019. Come le altre versioni della specifica NVMe, la versione 2.0 include una varietà di nuove caratteristiche e funzionalità, ma il cambiamento più significativo – e il motivo per cui si chiama 2.0 anziché 1.5 – è che le specifiche sono state riorganizzate in modo drastico, per adattarsi meglio all’ampia gamma di funzionalità che ora NVMe offre.

Photo: NVM Express

Come riporta AnandTech, invece di una specifica di base per i tipici SSD PCIe e di una separata per NVMe over Fabrics, la versione 2.0 è progettata per essere una specifica più modulare ed è stata suddivisa in diversi documenti. La libreria delle specifiche NVMe 2.0 comprende infatti documenti sulla specifica NVMe Base, Command Set (NVM, ZNS e KV), specifiche di trasporto (PCIe Transport, RDMA e TCP) e la specifica per la NVMe Management Interface.

Le nuove specifiche faciliteranno l’emergente ecosistema di dispositivi NVMe, inclusi SSD aziendali e client, schede rimovibili e HDD. Molte delle nuove funzionalità di NVMe 2.0 sono estensioni minori di funzionalità già esistenti, per renderle più utili e soprattutto utilizzabili. Ad esempio, il partizionamento dell’archiviazione di un dispositivo in NVM Set ed Endurance Groups era stato introdotto nella versione 1.4, ma non si specificava come sarebbero state create tali divisioni.

Ecco le caratteristiche principali di NVMe 2.0:

  • La specifica ZNS fornisce un’interfaccia di archiviazione a zone, che consente all’SSD e all’host di collaborare sul posizionamento dei dati. ZNS consente di allineare i dati al supporto fisico dell’SSD, migliorando le prestazioni.
  • Il KV Command Set fornisce l’accesso ai dati su un controller SSD NVMe utilizzando una chiave invece di un block address. KV consente alle applicazioni di comunicare direttamente con l’unità utilizzando coppie key-value, evitando il sovraccarico delle tabelle di traduzione tra chiavi e blocchi logici.
  • Multiple Controller Firmware Update definisce il comportamento per gli aggiornamenti del firmware su sistemi complessi con più controller.
  • Command Group Control impedisce modifiche indesiderate dopo il provisioning di un sistema e protegge il sistema da modifiche non intenzionali o dannose.
  • Le specifiche NVMe 2.0 mantengono la retrocompatibilità con le precedenti generazioni di NVMe.

Tutte le informazioni sulla versione 2.0 della specifica NVMe sono disponibili visitando il sito ufficiale.