
NVM Express (NVMe) oNon-Volatile Memory Host Controller Interface Specification (NVMHCIS) è unaspecifica aperta di interfacciamento logico ai supporti dimemoria non volatile di un computer, solitamente collegati tramite il busPCI Express. La prima parte del nome,NVM sta permemoria non volatile, che è spesso unamemoria flashNAND disponibile in diversi fattori di forma fisica, tra cuiunità a stato solido (SSD), schede aggiuntive PCIe e schedeM.2, il successore delle schedemSATA. NVM Express, come interfaccia per dispositivi logici, è stata progettata per sfruttare la bassalatenza e il parallelismo interno dei dispositivi di archiviazione a stato solido.[1][2]
Dal punto di vista dell'architettura, la logica della specifica è archiviata ed eseguita fisicamente all'interno dal chip del controller NVMe che si trova fisicamente insieme al supporto di archiviazione, in genere un SSD. Le modifiche alla versione per NVMe, ad esempio da 1.3 a 1.4, sono incorporate nei supporti di archiviazione e non influiscono sui componenti compatibili con PCIe come schede madri e CPU.[3]
Grazie al suo design, NVM Express consente all'hardware e al software host di sfruttare appieno i livelli diparallelismo possibili nei moderni SSD. Di conseguenza, NVM Express riduce l'overheadI/O e apporta vari miglioramenti delle prestazioni rispetto alle precedenti interfacce di dispositivi logici, tra cui lunghe code di comandi multiple e latenza ridotta. I precedenti protocolli di interfaccia comeAHCI sono stati sviluppati per l'uso condischi rigidi (HDD) molto più lenti in cui esiste un ritardo molto lungo (relativo alle operazioni della CPU) tra una richiesta e il trasferimento dei dati, in cui le velocità dei dati sono molto più lente delle velocità della RAM e dove la rotazione del disco e il tempo di ricerca danno origine a ulteriori esigenze di ottimizzazione.
I dispositivi NVM Express sono principalmente disponibili sotto forma di schede di espansione PCI Express di dimensioni standard[4] e come dispositivi con fattore di forma da 2,5 pollici che forniscono un'interfaccia PCI Express a quattro corsie tramite il connettore U.2 (precedentemente noto come SFF- 8639).[5] I dispositivi di archiviazione che utilizzanoSATA Express e la specificaM.2 che supportano NVM Express come interfaccia del dispositivo logico sono un caso d'uso popolare per NVMe e sono diventati la forma dominante di archiviazione a stato solido per server, desktop e laptop.[6][7]
Le specifiche per NVMe rilasciate fino ad oggi includono:
Esistono moltiform factor delle unità a stato solido NVMe, come AIC, U.2, U.3, M.2 ecc.

Quasi tutte le prime unità a stato solido NVMe sono AIC HHHL (mezza altezza, metà lunghezza) o FHHL (altezza intera, metà lunghezza), con un'interfacciaPCIe 2.0 o 3.0. Una scheda per unità a stato solido HHHL NVMe è facile da inserire in uno slot PCIe di un server.

U.2, precedentemente noto comeSFF-8639, è un'interfaccia per computer per il collegamento di unità a stato solido a un computer. Utilizza fino a quattro corsie PCI Express. I server disponibili possono combinare fino a 48 unità a stato solido U.2 NVMe.[9]
U.3 è costruito sulla specifica U.2 e utilizza lo stesso connettore SFF-8639. È uno standard "tri-mode", che combina il supportoSAS,SATA e NVMe in un unico controller. U.3 può anche supportare l'hot-swap tra le diverse unità in cui è disponibile il supporto del firmware. Le unità U.3 sono ancora retrocompatibili con U.2, ma le unità U.2 non sono compatibili con gli host U.3.

M.2, precedentemente noto comeNext Generation Form Factor (NGFF), utilizza uno specificobus per computer con unità a stato solido M.2 NVMe. Le interfacce fornite tramite il connettore M.2 sonoPCI Express 3.0 o superiore (fino a quattro linee di bus).
L'Enterprise and Data Center Standard Form Factor o EDSFF e precedentemente noto comeEnterprise and Data Center SSD Form Factor è una famiglia di specifiche di dimensioni di SSD per l'uso neidata center sviluppata dal gruppo di lavoro tecnico Small Form Factor Technology Affiliate, che è essa stessa sotto la guida organizzativa dellaStorage Networking Industry Association.
NVM Express over Fabrics (NVMe-oF) è il concetto di utilizzo di unprotocollo di trasporto su una rete per connettere dispositivi NVMe remoti, contrariamente al normale uso di NVMe in cui i dispositivi NVMe fisici sono connessi al busPCI Express. Ad agosto 2017, uno standard per l'utilizzo di NVMe suFibre Channel (FC) è stato presentato dall'organizzazione di standardizzazioneInternational Committee for Information Technology Standards (ICITS), e questa combinazione è spesso indicata come FC-NVMe o talvolta NVMe/FC.[10]
A partire da maggio 2021, i protocolli di trasporto NVMe supportati sono:
Lo standard per NVMe su Fabrics è stato pubblicato da NVM Express, Inc. nel 2016.[11]

Altri progetti
| Bus computer e standard di interconnessione (via cavo) | |
|---|---|
| Voci principali | Front Side Bus ·Bus ·Arbitraggio del bus ·Bus mastering |
| Standard PC | S-100 ·SMBus ·ISA ·Zorro ·HP Precision Bus ·EISA ·VME ·NuBus ·MCA ·VESA Local Bus ·PCI ·InfiniBand ·UPA ·PCI-X ·AGP ·PCI Express ·Intel QuickPath Interconnect ·HyperTransport |
| Portatili | PC Card (PCMCIA - CardBus) ·ExpressCard |
| Memorizzazione | Parallel ATA (PATA - ATAPI - EIDE - IDE) ·DMA/UDMA ·SSA ·HIPPI ·FireWire (IEEE 1394) ·Serial ATA ·eSATA ·SCSI ·Serial Attached SCSI ·Fibre Channel ·iSCSI |
| Periferiche | Apple Desktop Bus ·MIDI ·EIA RS-232 (porta seriale) ·IEEE 488 (GPIB) ·EIA RS-422 ·IEEE-1284 (porta parallela) ·1-Wire ·I²C ·SPI ·EIA RS-485 ·USB ·FireWire (IEEE 1394) ·Fibre Channel ·Thunderbolt |
| Audio | ADAT Lightpipe ·AES3 ·Intel HD Audio ·I²S ·MADI ·S/PDIF ·TOSLINK |
| Embedded | AMBA |
| Automazione -Domotica | PROFIBUS ·PROFINET ·LonWorks ·BatiBUS ·EIB ·EHS ·Local Interconnect Network (LIN) ·KNX ·Controller Area Network (CAN-bus) ·Bus SCS ·OpenWebNet ·DMX ·X10 |