NVM Express (NVMe) o l'especificació de la interfície del controlador d'amfitrió de memòria no volàtil (NVMHCIS) és una especificació d'interfície de dispositiu lògic oberta per accedir als mitjans d'emmagatzematge no volàtils d'un ordinador normalment connectats mitjançant el bus PCI Express. La NVM inicial significa memòria no volàtil, que sovint és memòria flaix NAND que es presenta en diversos factors de forma física, incloses les unitats d'estat sòlid (SSD), les targetes complementàries PCIe i les targetes M.2, la successora de les targetes mSATA. NVM Express, com a interfície de dispositiu lògic, s'ha dissenyat per aprofitar la baixa latència i el paral·lelisme intern dels dispositius d'emmagatzematge d'estat sòlid.[1]
Arquitectònicament, la lògica de NVMe s'emmagatzema físicament dins i executa el xip controlador NVMe que es troba físicament col·locat amb el suport d'emmagatzematge, normalment un SSD. Els canvis de versió per a NVMe, per exemple, de l'1.3 a l'1.4, s'incorporen als mitjans d'emmagatzematge i no afecten els components compatibles amb PCIe, com ara plaques base i CPU.[2]
Pel seu disseny, NVM Express permet que el maquinari i el programari de l'amfitrió explotin al màxim els nivells de paral·lelisme possibles als SSD moderns. Com a resultat, NVM Express redueix la sobrecàrrega d'E/S i aporta diverses millores de rendiment en relació amb les interfícies de dispositius lògics anteriors, incloses diverses cues d'ordres llargues i una latència reduïda. Els protocols d'interfície anteriors com AHCI es van desenvolupar per utilitzar-los amb unitats de disc dur (HDD) molt més lentes on hi ha un retard molt llarg (relatiu a les operacions de la CPU) entre una sol·licitud i la transferència de dades, on les velocitats de dades són molt més lentes que les de la RAM i on la rotació del disc i el temps de recerca donen lloc a més requisits d'optimització.
Els dispositius NVM Express estan disponibles principalment en forma de targetes d'expansió PCI Express de mida estàndard [3] i com a dispositius de factor de forma de 2,5 polzades que proporcionen una interfície PCI Express de quatre carrils mitjançant el connector U.2.[4][5] Els dispositius d'emmagatzematge que utilitzen SATA Express i l'especificació M.2 que admeten NVM Express com a interfície de dispositiu lògic són un cas d'ús popular per a NVMe i s'han convertit en la forma dominant d'emmagatzematge d'estat sòlid per a servidors, ordinadors de sobretaula i ordinadors portàtils.[6][7]
Històricament, la majoria dels SSD utilitzaven busos com SATA, SAS o Fibre Channel per connectar-se amb la resta d'un sistema informàtic. Des que els SSD van estar disponibles als mercats de masses, SATA s'ha convertit en la forma més habitual de connectar SSD als ordinadors personals; tanmateix, SATA es va dissenyar principalment per a la interfície amb discs durs mecànics (HDD) i es va tornar cada cop més inadequat per a SSD, que va millorar la velocitat amb el temps.[8] Per exemple, durant uns cinc anys després de l'adopció del mercat massiu (2005-2010), molts SSD ja es van veure frenats per les taxes de dades comparativament lentes disponibles per als discs durs; a diferència dels discs durs, alguns SSD estan limitats pel rendiment màxim de SATA.