NVMe (non-volatile memory express) este o interfață de controler gazdă și un protocol de stocare creat pentru a accelera viteza de transfer a datelor între sistemele enterprise și client și unitățile SSD (SSD) pe magistrala PCIe (Peripheral Component Interconnect Express) de mare viteză a unui computer.pe măsură ce tehnologia solid-state a devenit mediul preferat pe piața de stocare, a devenit rapid clar că interfețele și protocoalele existente-în special, Serial Advanced Technology Attachment (SATA) și Serial-Attached SCSI (SAS) – nu erau potrivite, în special în mediile centrelor de date. Lucrările la un nou protocol conceput special pentru NAND flash au început încă din 2007, Intel preluând conducerea. La începutul anului 2011, specificațiile NVMe inițiale au fost lansate-aproape 100 de companii de tehnologie au fost implicate în dezvoltare.
specificația NVMe definește o interfață de registru, un set de comenzi și o colecție de caracteristici pentru SSD-urile bazate pe PCIe cu obiectivele de înaltă performanță și interoperabilitate într-o gamă largă de subsisteme NVM. Specificația NVMe nu stipulează modelul de utilizare finală, cum ar fi stocarea în stare solidă, memoria principală, memoria cache sau memoria de rezervă.NVMe oferă o alternativă la standardul Small Computer System Interface (SCSI) și standardul ATA pentru conectarea și transmiterea datelor între un sistem gazdă și un dispozitiv de stocare țintă periferic. Setul de comenzi ATA utilizat cu SSD-urile SATA și setul de comenzi SCSI pentru SSD-urile SAS au fost dezvoltate într-un moment în care unitățile de hard disk (HDD-uri) și banda erau principalele suporturi de stocare. NVMe a fost proiectat pentru a fi utilizat cu medii mai rapide.
principalele beneficii ale SSD-urilor PCIe bazate pe NVMe față de SSD-urile bazate pe SAS și SATA sunt latența redusă în stiva software-ului gazdă, operațiile de intrare / ieșire mai mari pe secundă (IOPS) și consumul potențial mai mic de energie, în funcție de factorul de formă și de numărul de benzi PCIe utilizate.
Protocolul NVMe poate suporta SSD-uri care utilizează diferite tipuri de memorie nevolatilă, inclusiv NAND flash și tehnologia 3D XPoint dezvoltată de Intel și Micron Technology. Driverele de referință NVMe sunt disponibile pentru o varietate de sisteme de operare (OS), inclusiv Windows și Linux.
NVMe nu permite doar ca aplicațiile existente să ruleze mai rapid și mai eficient; este de fapt un factor cheie al tehnologiilor și aplicațiilor mai noi și în evoluție, cum ar fi internetul obiectelor (IoT), inteligența artificială (AI) și învățarea automată (ML), care pot beneficia de latența scăzută și de performanța ridicată a stocării atașate NVMe.
cum funcționează NVMe
NVMe mapează comenzile de intrare/ieșire (I / O) și răspunsurile la memoria partajată dintr-un computer gazdă prin interfața PCIe. Interfața NVMe acceptă I/O paralel cu procesoare multicore pentru a facilita debitul ridicat și a atenua blocajele unității centrale de procesare (CPU).NVMe oferă un set de comenzi mai simplificat pentru a procesa o cerere I / O decât seturile de comenzi SCSI și ATA. NVMe necesită mai puțin de jumătate din numărul de instrucțiuni CPU decât setul de comenzi SCSI cu dispozitivele SAS și setul de comenzi ATA utilizează cu unitățile SATA.
SSD-uri NVMe vs.SSD-uri SATA
SATA este un protocol de comunicații dezvoltat pentru computere pentru a interacționa cu sistemele de stocare HDD. Introdus în 2000 de un grup de jucători majori în tehnologie, SATA a înlocuit paralel ATA și a devenit rapid omniprezentul protocol de sistem de stocare pentru computere, de la laptopuri la servere. De-a lungul anilor, revizuirile specificațiilor au fost îmbunătățite și în prezent rulează la 6 Gbps cu un randament efectiv de până la 600 MBps.
deși dezvoltat pentru tehnologia hard disk cu platane mecanice de filare și capete de citire / scriere controlate de actuator, SSD-urile timpurii au fost comercializate cu interfețe SATA pentru a profita de ecosistemul SATA existent. A fost un design convenabil și a ajutat la accelerarea adoptării SSD, dar nu a fost-și încă nu este-interfața ideală pentru dispozitivele de stocare flash NAND și a fost văzută din ce în ce mai mult ca un blocaj de sistem.
proiectat pentru bliț, viteza NVMe și latența scăzută lasă SATA în praf, iar NVMe permite capacități de stocare mult mai mari în factori de formă mai mici, cum ar fi M. 2. În general, parametrii de performanță NVMe depășesc pe cei ai SATA de cinci ori sau mai mari.
SATA poate fi mai stabilită cu o istorie mai lungă și costuri de implementare mai mici decât NVMe, dar este clar că tehnologia hard disk-ului a fost adaptată la medii de stocare mai moderne.
SSD-uri NVMe vs.SSD-uri Sas
NVMe acceptă 64.000 de comenzi într-o singură coadă de mesaje și maximum 65.535 cozi I / O. În schimb, adâncimea cozii unui dispozitiv SAS acceptă de obicei până la 256 de comenzi, iar o unitate SATA acceptă până la 32 de comenzi într-o singură coadă.
cu toate acestea, SSD-urile PCIe bazate pe NVMe sunt în prezent mai scumpe decât SSD – urile bazate pe SAS și SATA de capacitate echivalentă; deși delta se îngustează. De asemenea, SSD-urile high-end Enterprise NVMe pot consuma mai multă energie decât SSD-urile SAS sau SATA. Asociația comercială SCSI susține că SSD-urile SAS mai mature oferă avantaje suplimentare față de SSD-urile NVMe PCIe, cum ar fi scalabilitatea mai mare, conectabilitatea la cald și capacitățile de failover testate în timp. SSD-urile NVMe PCIe pot oferi, de asemenea, un nivel de performanță pe care multe aplicații nu îl necesită.
istoria și evoluția NVM Express
grupul de lucru Non-Volatile memory Host Controller Interface (NVMHCI) a început să dezvolte specificația NVMe în 2009 și a publicat versiunea 1.0 la 1 martie 2011. 1.Specificația 0 a inclus interfața de așteptare, setul de comenzi NVM, setul de comenzi de administrare și caracteristicile de securitate.
grupul de lucru NVMHCI, cunoscut sub numele de grupul de lucru NVM Express, a lansat o actualizare a specificației NVMe pe Oct. 11, 2012. NVMe 1.1 Adăugat suport pentru SSD-uri cu mai multe porturi PCIe pentru a permite multipath i/o și partajarea spațiului de nume. Alte capabilități noi au inclus tranziții autonome ale stării de alimentare în timpul inactivității pentru a reduce nevoile de energie și rezervările care permit două sau mai multe gazde să coordoneze accesul la un spațiu de nume partajat pentru a îmbunătăți toleranța la erori.
grupul de lucru NVM Express a organizat primul său Plugfest în Mai 2013 pentru a permite companiilor să testeze conformitatea produselor sale cu specificațiile NVMe și să verifice interoperabilitatea cu alte produse NVMe.grupul de lucru NVM Express a fost încorporat sub numele organizației NVM Express în martie 2014. Membrii fondatori la acea vreme includeau Cisco Systems, Dell, EMC, filiala HGST a Western Digital, Intel, LSI, Micron Technology, NetApp, Oracle, PMC-Sierra, Samsung Electronics, SanDisk și Seagate Technology.
organizația NVM Express a devenit mai târziu cunoscută sub numele de NVM Express Inc. Organizația nonprofit are peste 100 de companii de tehnologie ca membri.
specificația NVMe 1.2 a apărut în noiembrie. 3, 2014, cu îmbunătățiri precum suport pentru actualizări de firmware live, gestionare îmbunătățită a energiei și opțiunea de protecție a datelor end-to-end.
în noiembrie. 17, 2015, organizația NVM Express a ratificat versiunea 1.0 a interfeței de gestionare NVM Express (NVMe-MI) pentru a oferi o arhitectură și un set de comenzi pentru a gestiona un subsistem de memorie nevolatilă din bandă. NVMe-MI permite unui controler de management să efectueze sarcini precum descoperirea dispozitivelor SSD și a capacităților, monitorizarea sănătății și a temperaturii și actualizări de firmware nedisruptive. Fără NVMe-MI, managerii IT s-au bazat, în general, pe interfețe de management proprii, specifice furnizorului, pentru a permite administrarea SSD-urilor PCIe.
NVMe 1.3 îmbunătățiri ale caracteristicilor
NVM Express lansat NVMe 1.3 în iunie 2017. Repere se concentrează pe operațiunile de igienizare, un nou cadru cunoscut sub numele de directive și îmbunătățiri de virtualizare.
într-o operație de igienizare, toate datele utilizatorului din subsistemul NVMe sunt modificate astfel încât recuperarea să nu fie posibilă „din orice cache, suport nevolatil sau tampon de memorie Controler”, conform unei foi de referință NVM Express. Operațiunile de igienizare sunt recomandate atunci când un SSD este retras sau reutilizat pentru un nou caz de utilizare. Modurile de igienizare includ ștergerea blocurilor de nivel scăzut pe suportul NAND, cripto-ștergerea pentru a schimba o cheie de criptare media și suprascrierea.cadrul directivelor definește un mecanism pentru schimbul de date între o gazdă și un subsistem NVMe. Aceasta permite etichetarea comenzilor per-i / O și oferă administratorilor IT posibilitatea de a configura atributele și setările raportabile.
prima utilizare a Directivelor este o caracteristică numită fluxuri pentru optimizarea plasării datelor pentru a spori rezistența și performanța SSD-urilor NAND. În mod tradițional, înainte ca datele noi să poată fi scrise pe SSD, blocurile mari de date trebuie mai întâi șterse.
caracteristica fluxuri permite unei gazde să utilizeze un „identificator de flux” pentru a indica blocurile logice specifice de stocare care aparțin unui grup de date asociate. Acest lucru permite ca o citire sau o scriere să fie etichetată cu date conexe stocate în alte locații.îmbunătățirile de virtualizare definesc modul în care flash-ul NVMe ar putea fi utilizat într-un mediu de stocare partajat în care sunt prezente atât controlere fizice, cât și virtuale, inclusiv controlere de stocare primare și controlere de stocare secundare. NVM Express a declarat că obiectivul este de a permite echipelor de dezvoltare să dedice un SSD specific unei mașini virtuale specifice (VM).
NVMe 1.4 îmbunătățiri ale caracteristicilor
NVMe 1.4 a fost introdus în iulie 2019. Această ultimă versiune include o serie de îmbunătățiri și caracteristici noi, inclusiv:
- Rebuild Assist îmbunătățește recuperarea datelor și îmbunătățește operațiunile de migrare a datelor.
- Jurnalul de evenimente persistente menține un istoric detaliat al unității care poate fi utilizat pentru depanare și determinarea cauzelor problemelor.
- seturile NVM și determinismul IO îmbunătățesc performanța și calitatea serviciului (QoS).
- accesul la spațiul de nume asimetric (ANA) îmbunătățește multipathing pentru disponibilitate ridicată.
- host memory Buffer (HMB) reduce latența și ajută la proiectarea SSD.
- regiunea de memorie persistentă (PMR) permite sistemelor gazdă să citească și să scrie direct în memoria dinamică cu acces aleatoriu (Dram) pe care SSD-urile O includ împreună cu blițul lor de bază, care a fost utilizat în principal pentru cache
noile caracteristici vor necesita producătorilor de unități flash să își actualizeze produsele pentru a încorpora îmbunătățirile. De asemenea, vor fi necesare drivere noi pentru sistemele de Operare.
factorii și standardele de formă NVMe
necesitatea unei interfețe de stocare și a unui protocol pentru a exploata mai bine potențialul de performanță al NAND flash în mediile de întreprindere a fost principalul impuls din spatele dezvoltării specificației NVMe. Dar reimaginarea standardului de conectare a deschis ușile pentru mai multe tipuri diferite de implementări de interfață care ar putea rămâne în limitele noii specificații, oferind în același timp o varietate de opțiuni de implementare.
În ordine scurtă, au apărut o serie de factori de formă flash conformi specificațiilor NVMe, inclusiv carduri de completare de tip convențional (aic) pentru magistrala PCIe și noi factori de formă pentru SSD-urile denumite M. 2 și U. 2.
- AIC. Factorul de formă AIC permite producătorilor să-și creeze propriile carduri care se încadrează în magistrala PCIe fără să se îngrijoreze de modelele de depozitare sau de limitări similare. Cardurile sunt adesea concepute pentru cazuri speciale de utilizare și pot include procesoare suplimentare și alte cipuri pentru a îmbunătăți performanța stocării în stare solidă.
- M. 2. M.Factorul de formă 2 a fost dezvoltat pentru a profita de dimensiunea compactă a NAND flash și de descărcarea de căldură scăzută. Ca atare, dispozitivele M. 2 nu sunt destinate să se încadreze în compartimentele tradiționale ale compartimentului de acționare, ci mai degrabă să fie desfășurate în spații mult mai mici. Adesea descrise ca având dimensiunea unui băț de gumă, SSD-urile M. 2 măsoară 22 mm lățime și, în general, 80 mm lungime, deși unele produse pot fi mai lungi sau mai scurte.
- U. 2. Spre deosebire de factorul de formă M. 2, SSD-urile U. 2 au fost proiectate pentru a se încadra în golfurile de stocare existente destinate inițial dispozitivelor standard SATA sau SAS. U.SSD-urile 2 seamănă foarte mult cu acele suporturi mai vechi, deoarece folosesc de obicei carcasele de 2,5 inci sau 3,5 inci care sunt carcase familiare pentru HDD-uri. Ideea, desigur, a fost de a face cât mai ușor posibil implementarea tehnologiei NVMe cu cât mai puțină reinginerie posibil.
Un alt factor de formă NVMe, mai puțin implementat pe scară largă, este factorul de formă SSD pentru întreprinderi și centre de date sau EDSFF. Este susținută de jucători cheie din industria de stocare, cum ar fi Intel, Dell EMC, Hewlett Packard Enterprise (HPE), Lenovo, Samsung și altele. Scopul EDSFF este de a aduce performanțe și capacități mai mari sistemelor de stocare din clasa întreprinderii. Poate că cel mai cunoscut exemplu de flash EDSFF sunt Intel E1.L (lung) și E1.S dispozitive flash (scurte), care sunt furnizate în ceea ce a fost denumit inițial factorul de formă „conducător”.
NVMe peste țesături
NVM Express Inc. a publicat versiunea 1.0 a specificației NVMe over Stofa (NVMe-oF) Pe 5 iunie 2016. NVMe-oF este conceput pentru a extinde beneficiile de înaltă performanță și latență scăzută ale NVMe în țesăturile de rețea care conectează servere și sisteme de stocare, cum ar fi Fibre Channel (FC), Ethernet și InfiniBand.
transporturile de țesături includ NVM-de utilizare a accesului direct la memorie la distanță (RDMA) și NVMe-de mapat la FC. Un subgrup tehnic al NVM Express Inc. a lucrat la NVMe – de cu RDMA, și Comitetul T11 al Comitetului Internațional pentru standardele Tehnologiei Informației (INCITS) este responsabil pentru dezvoltarea NVMe peste FC (FC-NVMe).
specificația NVMe-oF este în mare parte aceeași cu specificația NVMe. Una dintre principalele diferențe dintre NVMe-oF și NVMe este metodologia de transmitere și primire a comenzilor și răspunsurilor. NVMe este proiectat pentru uz local și hărți comenzi și răspunsuri la memoria partajată a unui computer prin PCIe. În schimb, NVMe peste țesături folosește un sistem bazat pe mesaje pentru a comunica între computerul gazdă și dispozitivul de stocare țintă.
obiectivul de proiectare declarat pentru NVMe-oF a fost de a adăuga nu mai mult de 10 microsecunde de latență pentru comunicarea între un computer gazdă NVMe și un dispozitiv de stocare NVMe conectat la rețea, în comparație cu latența asociată cu un dispozitiv de stocare NVMe folosind magistrala PCIe a unui computer local.