NVMe (ikke-flygtig hukommelsesekspres) er en værtskontrollergrænseflade og lagringsprotokol oprettet for at fremskynde overførselshastigheden af data mellem virksomheds-og klientsystemer og solid state-drev (SSD ‘ er) over en computers højhastigheds-perifere Komponentforbindelsesekspres (PCIe) bus.da solid state-teknologi blev det foretrukne medium på lagringsmarkedet, blev det hurtigt klart, at eksisterende grænseflader og protokoller-især Serial Advanced Technology Attachment (SATA) og Serial-Attached SCSI (SAS) – ikke var egnede, især i datacentermiljøer. Arbejdet med en ny protokol designet specielt til NAND flash begyndte allerede i 2007, hvor Intel tog føringen. I begyndelsen af 2011 blev den oprindelige NVMe spec frigivet-næsten 100 tech-virksomheder var involveret i udviklingen.
NVMe-specifikationen definerer et registergrænseflade, kommandosæt og samling af funktioner til PCIe-baserede SSD ‘ er med målene om høj ydeevne og interoperabilitet på tværs af en bred vifte af NVM-delsystemer. NVMe-specifikationen angiver ikke den ultimative brugsmodel, såsom solid state-lagring, hovedhukommelse, cachehukommelse eller backuphukommelse.
NVMe giver et alternativ til SCSI-standarden (Small Computer System Interface) og ATA-standarden til tilslutning og transmission af data mellem et værtssystem og en perifer mållagringsenhed. Ata-kommandosættet i brug med SATA SSD ‘er og SCSI-kommandosættet til SAS SSD’ er blev udviklet på et tidspunkt, hvor harddiske (HDD ‘ er) og tape var det primære lagringsmedie. NVMe er designet til brug med hurtigere medier.de vigtigste fordele ved NVMe-baserede PCIe SSD ‘er i forhold til SAS-baserede og SATA-baserede SSD’ er er reduceret latenstid i værtsprogramstakken, højere input/output-operationer pr.sekund (IOPS) og potentielt lavere strømforbrug afhængigt af formfaktoren og antallet af PCIe-baner, der er i brug.NVMe-protokollen kan understøtte SSD ‘ er, der bruger forskellige typer ikke-flygtig hukommelse, herunder NAND flash og 3D-teknologien udviklet af Intel og Micron Technology. NVMe referencedrivere er tilgængelige for en række operativsystemer, herunder f.eks.
NVMe gør det ikke bare muligt for eksisterende applikationer at køre hurtigere og mere effektivt; det er faktisk en vigtig katalysator for nyere og udviklende teknologier og applikationer såsom Internet of things (IoT), kunstig intelligens (AI) og maskinlæring (ML), som alle kan drage fordel af den lave latenstid og den høje ydelse af NVMe-vedhæftet lager.
Sådan fungerer NVMe
NVMe kortlægger input/output (I/O) kommandoer og svar på delt hukommelse i en værtscomputer via PCIe-grænsefladen. NVMe-grænsefladen understøtter parallel i / O med multicore-processorer for at lette høj gennemstrømning og afbøde flaskehalse i central processing unit (CPU).
NVMe tilbyder et mere strømlinet kommandosæt til at behandle en I / O-anmodning end SCSI-og Ata-kommandosætene gør. NVMe kræver færre end halvdelen af antallet af CPU-instruktioner, end SCSI-kommandosættet gør med SAS-enheder, og Ata-kommandosættet bruger med SATA-drev.
NVMe SSD ‘er vs. SATA SSD’ er
SATA er en kommunikationsprotokol udviklet til computere til at interagere med HDD-lagringssystemer. SATA blev introduceret i 2000 af en gruppe store tech-spillere og erstattede parallel ATA og blev hurtigt den allestedsnærværende lagringssystemprotokol til computere lige fra bærbare computere til servere. I årenes løb er revisioner af specifikationen blevet revved op, og den kører i øjeblikket på 6 Gbps med effektiv gennemstrømning på op til 600 MBps.
selvom de er udviklet til harddiskteknologi med mekaniske spindeplader og aktuatorstyrede læse- / skrivehoveder, blev tidlige SSD ‘ er markedsført med SATA-grænseflader for at drage fordel af det eksisterende SATA-økosystem. Det var et praktisk design og hjalp med at fremskynde SSD-adoption, men det var ikke-og er stadig ikke-den ideelle grænseflade til NAND flash-lagerenheder og blev i stigende grad set som en systemflaskehals.
designet til flash, NVMe hastighed og lav latency forlade SATA i støvet, og NVMe giver mulighed for meget højere lagerkapacitet i mindre formfaktorer såsom M. 2. Generelt overgår NVMe-præstationsparameter SATA med fem gange eller højere.SATA kan være mere etableret med en længere historie og lavere implementeringsomkostninger end NVMe, men det er helt klart harddiskteknologi, der er blevet eftermonteret til mere moderne lagringsmedier.
NVMe SSD ‘er vs. SAS SSD’ er
NVMe understøtter 64.000 kommandoer i en enkelt meddelelseskø og maksimalt 65.535 I / O-køer. I modsætning hertil understøtter en SAS-enheds kødybde typisk op til 256 kommandoer, og et SATA-drev understøtter op til 32 kommandoer i en kø.
Imidlertid er NVMe-baserede PCIe SSD ‘er i øjeblikket dyrere end SAS – og SATA-baserede SSD’ er med tilsvarende kapacitet; skønt dette delta indsnævres. Også high-end enterprise NVMe SSD ‘er kan forbruge mere strøm end SAS eller SATA SSD’ er. SCSI Trade Association hævder, at de mere modne SAS SSD ‘er tilbyder yderligere fordele i forhold til NVMe PCIe SSD’ er, såsom større skalerbarhed, hot pluggbarhed og tidstestede failover-kapaciteter. NVMe PCIe SSD ‘ er kan også give et niveau af ydeevne, som mange applikationer ikke kræver.
historie og udvikling af NVM Ekspres
Arbejdsgruppen for ikke-flygtig Hukommelsesværtscontroller (Nvmhci) begyndte at udvikle NVMe-specifikationen i 2009 og offentliggjorde 1.0-versionen den 1.marts 2011. Den 1.0 specifikation omfattede kø interface, NVM kommando sæt, administration kommando sæt og sikkerhedsfunktioner.
NVMHCI-arbejdsgruppen, almindeligvis kendt som NVM-Ekspresarbejdsgruppen, udgav en opdatering til NVMe-specifikationen den okt. 11, 2012. NVMe 1.1 Tilføjet understøttelse af SSD ‘ er med flere PCIe-porte for at aktivere multipath I/O og namespace deling. Andre nye funktioner omfattede autonome strømtilstandsovergange i tomgangstid for at reducere energibehov og forbehold, der gjorde det muligt for to eller flere værter at koordinere adgangen til et delt navneområde for at forbedre fejltolerancen.
NVM-Ekspresarbejdsgruppen afholdt sin første Plugfest i maj 2013 for at gøre det muligt for virksomheder at teste sine produkters overholdelse af NVMe-specifikationen og kontrollere interoperabilitet med andre NVMe-produkter.
NVM-Ekspresarbejdsgruppen blev indarbejdet under NVM-Ekspresorganisationens navn i Marts 2014. Stiftende medlemmer på det tidspunkt omfattede Cisco Systems, Dell, EMC, vestlige Digitals HGST-datterselskab, Intel, LSI, Micron Technology, NetApp, Oracle, PMC-Sierra, Samsung Electronics, SanDisk og Seagate Technology.
NVM-Ekspresorganisationen blev senere kendt som NVM-Ekspress Inc. Den almennyttige organisation har mere end 100 teknologivirksomheder som medlemmer.
NVMe 1.2 specifikationen opstod den Nov. 3, 2014, med forbedringer såsom understøttelse af live-opdateringer, forbedret strømstyring og mulighed for end-to-end databeskyttelse.
den Nov. 17, 2015, ratificerede NVM-Ekspresorganisationen 1.0-versionen af NVM-Ekspresstyringsgrænsefladen (NVMe-MI) for at tilvejebringe en arkitektur og kommandosæt til at styre et ikke-flygtigt hukommelsessubsystem uden for båndet. NVMe-MI gør det muligt for en styringscontroller at udføre opgaver som SSD-enhed og kapacitetsopdagelse, sundheds-og temperaturovervågning og ikke-forstyrrende opdateringer. Uden NVMe-MI var IT-ledere generelt afhængige af proprietære, leverandørspecifikke styringsgrænseflader for at muliggøre administration af PCIe SSD ‘ er.
NVMe 1.3 funktionsforbedringer
NVM Ekspres frigivet NVMe 1.3 i Juni 2017. Højdepunkter center på desinficere operationer, en ny ramme kendt som direktiver og virtualisering forbedringer.
i en desinficeringsoperation ændres alle brugerdata i NVMe-delsystemet, så gendannelse ikke er mulig “fra ethvert cache, ikke-flygtigt medie eller controller-hukommelsesbuffer” ifølge et NVM-Ekspresreferenceark. Desinficeringsoperationer anbefales, når en SSD trækkes tilbage eller genbruges til en ny brugssag. Desinficeringstilstande inkluderer blok sletning på lavt niveau på NAND-medier, krypto-sletning for at ændre en mediekrypteringsnøgle og overskrive.direktivernes ramme definerer en mekanisme til udveksling af data mellem et host-og et NVMe-delsystem. Dette muliggør per-I / O-kommandomærkning og giver IT-administratorer mulighed for at konfigurere rapporterbare attributter og indstillinger.
den første brug af direktiver er en funktion kaldet Streams til optimering af dataplacering for at øge udholdenhed og ydeevne for NAND SSD ‘ er. Traditionelt, før nye data kan skrives til SSD, skal Store datablokke først slettes.
funktionen Streams gør det muligt for en vært at bruge en “stream identifier” til at angive de specifikke logiske lagringsblokke, der hører til en gruppe tilknyttede data. Dette gør det muligt at mærke en læsning eller en skrivning med relaterede data, der er gemt andre steder.Virtualiseringsforbedringer definerer, hvordan NVMe flash kan bruges i et delt lagermiljø, hvor både fysiske og virtuelle controllere er til stede, herunder primære lagercontrollere og sekundære lagercontrollere. Målet er at gøre det muligt for udviklingshold at dedikere en bestemt SSD til en bestemt virtuel maskine (VM).
NVMe 1.4 funktionsforbedringer
NVMe 1.4 blev introduceret i juli 2019. Denne seneste version indeholder en række forbedringer og nye funktioner, herunder:
- Rebuild Assist forbedrer Data recovery og forbedrer data migration operationer.
- vedvarende hændelseslog opretholder en detaljeret drevhistorik, der kan bruges til fejlfinding og bestemmelse af årsagerne til problemer.
- NVM-sæt og Io-determinisme forbedrer ydeevnen og servicekvaliteten.asymmetrisk Namespace Access (ANA) forbedrer multipathing for høj tilgængelighed.
- Host Memory Buffer (HMB) reducerer latenstid og hjælpemidler i SSD-design.
- Persistent Memory Region (PMR) giver værtssystemer mulighed for at læse og skrive direkte til den dynamiske random access memory (DRAM), som SSD ‘ er inkluderer sammen med deres core flash, som primært var blevet brugt til caching
de nye funktioner kræver, at producenter af flashdrev opgraderer deres produkter for at inkorporere forbedringerne. Der kræves også nye drivere til operativsystemer.
NVMe formfaktorer og standarder
behovet for en lagringsgrænseflade og protokol for bedre at udnytte NAND flashs ydelsespotentiale i virksomhedsmiljøer var den vigtigste drivkraft bag udviklingen af NVMe spec. Men reimagining af forbindelsesstandarden åbnede dørene til flere forskellige typer grænsefladeimplementeringer, der kunne forblive inden for rammerne af den nye spec, mens de tilbyder en række implementeringsmuligheder.
i kort rækkefølge opstod et antal flashformfaktorer, der var i overensstemmelse med NVMe-specifikationerne, herunder konventionelle tilføjelseskort (AIC) til PCIe-bussen og nye formfaktorer for SSD ‘ er kaldet M. 2 og U. 2.
- AIC. AIC-formfaktoren giver producenterne mulighed for at oprette deres egne kort, der går ind i PCIe-bussen uden at bekymre sig om opbevaringsrumsdesign eller lignende begrænsninger. Kortene er ofte designet til specielle brugssager og kan omfatte yderligere processorer og andre chips for at forbedre ydeevnen for solid state-lageret.
- M. 2. M.2 formfaktor blev udviklet til at drage fordel af NAND flash kompakte størrelse og lav varmeudladning. Som sådan er M. 2-enheder ikke beregnet til at passe ind i traditionelle drevrum, men snarere at blive implementeret i meget mindre rum. Ofte beskrevet som på størrelse med en gummipind, måler M. 2 SSD ‘ er 22 mm brede og generelt 80 mm lange, selvom nogle produkter kan være længere eller kortere.
- U. 2. I modsætning til M. 2-formfaktoren blev U. 2 SSD ‘ er designet til at passe ind i eksisterende opbevaringsrum, der oprindeligt var beregnet til standard SATA-eller SAS-enheder. U.2 SSD ‘er ligner meget de ældre medier, da de typisk bruger 2,5-tommer eller 3,5-tommer kabinetter, der er velkendte huse til HDD’ er. Ideen var selvfølgelig at gøre det så nemt som muligt at implementere NVMe-teknologi med så lidt reengineering som muligt.
en anden, mindre udbredt NVMe formfaktor er enterprise og datacenter SSD formfaktor, eller EDSFF. Det understøttes af vigtige lagringsindustriens spillere, som Intel, Dell EMC, HPE, Lenovo, Samsung og andre. Målet med EDSFF er at bringe højere ydelse og kapacitet til lagersystemer i virksomhedsklasse. Måske er det mest kendte eksempel på EDSFF flash Intels E1.L (lang) og E1.S (kort) flash-enheder, som findes i det, der oprindeligt blev omtalt som “lineal” formfaktor.
NVMe over stoffer
NVM Ekspres Inc. udgivet 1.0-versionen af NVMe over Fabrics (NVMe-of) specifikationen den 5.juni 2016. NVMe-oF er designet til at udvide fordelene ved NVMe med høj ydeevne og lav latenstid på tværs af netværksstoffer, der forbinder servere og lagersystemer, såsom Fiber Channel (FC), Ethernet og InfiniBand.
Fabric transporter omfatter NVM-af ved hjælp af remote direct memory access (RDMA) og NVMe-af kortlagt til FC. En teknisk undergruppe af NVM Inc. arbejdet på NVMe – of med RDMA, og T11-Udvalget for International Committee for Information Technology Standards (INCITS) er ansvarlig for udviklingen af NVMe over FC (FC-NVMe).
NVMe-of-specifikationen er stort set den samme som NVMe-specifikationen. En af de største forskelle mellem NVMe-oF og NVMe er metoden til transmission og modtagelse af kommandoer og svar. NVMe er designet til lokal brug og kortlægger kommandoer og svar på en computers delte hukommelse via PCIe. I modsætning hertil anvender NVMe over Fabrics et meddelelsesbaseret system til at kommunikere mellem værtscomputeren og mållagringsenheden.
det angivne designmål for NVMe-oF var at tilføje højst 10 mikrosekunder latenstid til kommunikation mellem en NVMe-værtscomputer og en netværksforbundet NVMe-lagerenhed sammenlignet med latenstiden forbundet med en NVMe-lagerenhed ved hjælp af en lokal computers PCIe-bus.