NVMe (non-volatile memory express)

NVMe (non-volatile memory express) är ett värdkontrollgränssnitt och lagringsprotokoll som skapats för att påskynda överföringshastigheten för data mellan företags-och klientsystem och SSD-enheter (SSD) över en dators höghastighets Peripheral Component Interconnect Express (PCIe) – buss.eftersom solid state-tekniken blev det föredragna mediet på lagringsmarknaden blev det snabbt klart att befintliga gränssnitt och protokoll-särskilt Serial Advanced Technology Attachment (SATA) och Serial-Attached SCSI (SAS) – inte var lämpliga, särskilt i datacentermiljöer. Arbetet med ett nytt protokoll utformat speciellt för NAND flash började redan 2007, med Intel som tar ledningen. I början av 2011 släpptes den ursprungliga NVMe spec-nästan 100 teknikföretag var inblandade i utvecklingen.

NVMe-specifikationen definierar ett registergränssnitt, kommandouppsättning och samling funktioner för PCIe-baserade SSD-enheter med målen för hög prestanda och interoperabilitet inom ett brett spektrum av NVM-delsystem. NVMe-specifikationen anger inte den ultimata användningsmodellen, såsom solid state-lagring, huvudminne, cacheminne eller backupminne.

NVMe ger ett alternativ till Small Computer System Interface (SCSI) – standarden och ata-standarden för anslutning och överföring av data mellan ett värdsystem och en perifer mållagringsenhet. Ata-kommandouppsättningen som användes med SATA SSD: er och SCSI-kommandouppsättningen för SAS SSD: er utvecklades vid en tidpunkt då hårddiskar (hårddiskar) och tejp var det primära lagringsmediet. NVMe designades för användning med snabbare media.

de viktigaste fördelarna med NVMe-baserade PCIe SSD över SAS-baserade och SATA-baserade SSD: er är minskad latens i värdprogramvarustacken, högre input/output-operationer per sekund (IOPS) och potentiellt lägre strömförbrukning, beroende på formfaktorn och antalet PCIe-banor som används.

NVMe-protokollet kan stödja SSD: er som använder olika typer av icke-flyktigt minne, inklusive NAND flash och 3D XPoint-tekniken utvecklad av Intel och Micron Technology. NVMe referensdrivrutiner är tillgängliga för en mängd olika operativsystem (operativsystem), inklusive Windows och Linux.

NVMe gör det inte bara möjligt för befintliga applikationer att köras snabbare och mer effektivt; det är faktiskt en viktig möjliggörare av nyare och utvecklande tekniker och applikationer som Internet of things (IoT), artificiell intelligens (AI) och maskininlärning (ML), som alla kan dra nytta av den låga latensen och den höga prestandan hos NVMe-bifogad Lagring.

hur NVMe fungerar

NVMe kartor input/output (I / O) kommandon och svar på delat minne i en värddator över PCIe-gränssnittet. NVMe-gränssnittet stöder parallell I / O med multicore-processorer för att underlätta hög genomströmning och mildra flaskhalsar för Central processing unit (CPU).

NVMe erbjuder en mer strömlinjeformad kommandouppsättning för att bearbeta en I/O-begäran än SCSI-och ata-kommandouppsättningarna gör. NVMe kräver färre än hälften av antalet CPU-instruktioner än SCSI-kommandouppsättningen gör med SAS-enheter och ata-kommandouppsättningen använder med SATA-enheter.

NVMe SSD vs. SATA SSD

SATA är ett kommunikationsprotokoll utvecklat för datorer att interagera med HDD-lagringssystem. SATA introducerades 2000 av en grupp stora tekniska spelare och ersatte parallel ATA och blev snabbt det allestädes närvarande lagringssystemprotokollet för datorer som sträcker sig från bärbara datorer till servrar. Under åren har revideringar av spec blivit revved upp och det körs för närvarande på 6 Gbps med effektiv genomströmning på upp till 600 MBps.

även om de utvecklats för hårddiskteknik med mekaniska spinnplattor och ställdonsstyrda läs-/skrivhuvuden, marknadsfördes tidiga SSD: er med SATA-gränssnitt för att dra nytta av det befintliga SATA-ekosystemet. Det var en bekväm design och hjälpte till att påskynda SSD-antagandet, men det var inte-och är fortfarande inte-det perfekta gränssnittet för NAND flash-lagringsenheter och sågs alltmer som en systemflaskhals.

designad för flash, NVMe hastighet och låg latens lämnar SATA i dammet, och NVMe möjliggör mycket högre lagringskapacitet i mindre formfaktorer som M. 2. I allmänhet överträffar NVMe-prestandaparametrarna SATA Med fem gånger eller högre.

SATA kan vara mer etablerad med en längre historia och lägre implementeringskostnader än NVMe, men det är tydligt hårddiskteknik som har eftermonterats till modernare lagringsmedia.

NVMe SSD vs SAS SSD

NVMe stöder 64 000 kommandon i en enda meddelandekö och högst 65 535 I / O-köer. Däremot stöder en SAS-enhetens ködjup vanligtvis upp till 256 kommandon och en SATA-enhet stöder upp till 32 kommandon i en kö.

men NVMe-baserade PCIe SSD: er är för närvarande dyrare än SAS – och SATA-baserade SSD: er med motsvarande kapacitet; även om delta minskar. High-end enterprise NVMe SSD: er kan också förbruka mer ström än SAS eller SATA SSD: er. SCSI Trade Association hävdar att de mer mogna SAS SSD: erna erbjuder ytterligare fördelar jämfört med NVMe PCIe SSD: er, såsom större skalbarhet, varm pluggbarhet och tidtestade failover-funktioner. NVMe PCIe SSD: er kan också ge en prestandanivå som många applikationer inte kräver.

SATA vs SAS vs NVMe
en jämförelse av lagringsprotokoll SATA, SAS och NVMe.

historia och utveckling av NVM Express

arbetsgruppen för icke-flyktigt Memory Host Controller Interface (NVMHCI) började utveckla NVMe-specifikationen 2009 och publicerade 1.0-versionen den 1 mars 2011. Den 1.0 specifikationen inkluderade kögränssnittet, NVM command set, administration command set och säkerhetsfunktioner.

Nvmhci Workgroup, allmänt känd som NVM Express Workgroup, släppte en uppdatering till NVMe-specifikationen den okt. 11, 2012. NVMe 1.1 lagt till stöd för SSD med flera PCIe-portar för att möjliggöra multipath I/O och namnrymdsdelning. Andra nya funktioner inkluderade autonoma kraftövergångar under viloläge för att minska energibehov och reservationer så att två eller flera värdar kan samordna åtkomst till ett delat namnområde för att förbättra feltoleransen.

NVMe utvecklingstidslinje
en tidslinje med viktiga datum för utvecklingen av NVMe.

NVM Express-arbetsgruppen höll sin första Plugfest i maj 2013 för att göra det möjligt för företag att testa sina produkters överensstämmelse med NVMe-specifikationen och kontrollera interoperabilitet med andra NVMe-produkter.

NVM Express-arbetsgruppen införlivades under NVM Express-organisationsnamnet i mars 2014. Grundarna vid den tiden inkluderade Cisco Systems, Dell, EMC, Western Digitals HGST-dotterbolag, Intel, LSI, Micron Technology, NetApp, Oracle, PMC-Sierra, Samsung Electronics, SanDisk och Seagate Technology.

NVM Express-organisationen blev senare känd helt enkelt som NVM Express Inc. Den ideella organisationen har mer än 100 teknikföretag som medlemmar.

NVMe 1.2-specifikationen framkom den Nov. 3, 2014, med förbättringar som stöd för live firmware uppdateringar, förbättrad energihantering och alternativet för end-to-end dataskydd.

den Nov. 17, 2015 ratificerade NVM Express-organisationen 1.0-versionen av NVM Express Management Interface (NVMe-MI) för att tillhandahålla en arkitektur och kommandouppsättning för att hantera ett icke-flyktigt minnesundersystem ur bandet. NVMe-MI gör det möjligt för en hanteringsstyrenhet att utföra uppgifter som SSD-enhet och kapacitetsupptäckt, hälso-och temperaturövervakning och icke-störande firmwareuppdateringar. Utan NVMe-MI förlitade sig IT-chefer i allmänhet på proprietära, leverantörsspecifika hanteringsgränssnitt för att möjliggöra administration av PCIe SSD: er.

NVMe 1.3 funktionsförbättringar

NVM Express släppt NVMe 1.3 i juni 2017. Höjdpunkter center på sanitize operations, ett nytt ramverk som kallas direktiv och virtualiseringsförbättringar.

i en saneringsoperation ändras all användardata i NVMe-delsystemet så att återställning inte är möjlig ”från någon cache, icke-flyktig media eller styrminnebuffert” enligt ett NVM Express-referensblad. Sanitize-operationer rekommenderas när en SSD går i pension eller återanvänds för ett nytt användningsfall. Sanera lägen inkluderar låg nivå block radera på NAND media, crypto-Radera för att ändra en mediakrypteringsnyckel och skriva över.

direktiven definierar en mekanism för utbyte av data mellan en värd och ett NVMe-delsystem. Detta möjliggör per-I/O kommando taggning och ger IT-administratörer möjlighet att konfigurera rapporterbara attribut och inställningar.

den första användningen av direktiv är en funktion som kallas strömmar för att optimera dataplacering för att öka uthålligheten och prestandan hos NAND SSD: er. Traditionellt, innan nya data kan skrivas till SSD, måste stora datablock först raderas.

funktionen strömmar gör det möjligt för en värd att använda en ”stream identifier” för att ange de specifika logiska block av lagring som tillhör en grupp tillhörande data. Detta gör att en läsning eller en skrivning kan taggas med relaterad data lagrad på andra platser.Virtualiseringsförbättringar definierar hur NVMe flash kan användas i en delad lagringsmiljö där både fysiska och virtuella styrenheter finns, inklusive primära lagringsstyrenheter och sekundära lagringsstyrenheter. NVM Express sa att målet är att göra det möjligt för utvecklingsteam att ägna en specifik SSD till en specifik virtuell maskin (VM).

NVMe 1.4 funktionsförbättringar

NVMe 1.4 introducerades i juli 2019. Den senaste versionen innehåller ett antal förbättringar och nya funktioner, inklusive:

  • Rebuild Assist förbättrar dataåterställning och förbättrar datamigreringsoperationer.
  • Persistent händelseloggen upprätthåller en detaljerad enhetshistorik som kan användas för felsökning och bestämning av orsakerna till problem.
  • NVM-uppsättningar och Io-Determinism förbättrar prestanda och servicekvalitet (QoS).
  • Asymmetrisk namespace Access (ANA) förbättrar multipathing för hög tillgänglighet.
  • Host Memory Buffer (HMB) minskar latens och hjälpmedel i SSD-design.
  • Persistent Memory Region (PMR) tillåter värdsystem att läsa och skriva direkt till det dynamiska random access memory (DRAM) som SSD: er inkluderar tillsammans med deras core flash, som främst hade använts för caching

de nya funktionerna kräver att flash-enhetstillverkare uppgraderar sina produkter för att införliva förbättringarna. Nya drivrutiner kommer också att krävas för operativsystem.

NVMe formfaktorer och standarder

behovet av ett lagringsgränssnitt och protokoll för att bättre utnyttja NAND Flashs prestandapotential i företagsmiljöer var den främsta drivkraften bakom utvecklingen av NVMe-specifikationen. Men reimagining anslutningsstandarden öppnade dörrarna för flera olika typer av gränssnittsimplementeringar som kunde hålla sig inom gränserna för den nya spec samtidigt som de erbjuder en mängd olika implementeringsalternativ.

i kort ordning uppstod ett antal flashformfaktorer som överensstämmer med NVMe-specifikationerna, inklusive tilläggskort av konventionell typ (AIC) för PCIe-bussen och nya formfaktorer för SSD: er som heter M. 2 och U. 2.

  • AIC. AIC-formfaktorn gör det möjligt för tillverkare att skapa egna kort som sitter i PCIe-bussen utan att oroa sig för lagringsfackdesign eller liknande begränsningar. Korten är ofta utformade för speciella användningsfall och kan innehålla ytterligare processorer och andra chips för att förbättra prestanda för solid state-lagring.
  • M. 2. M.2 form factor har utvecklats för att dra nytta av NAND flash kompakta storlek och låg värmeurladdning. Som sådan är M. 2-enheter inte avsedda att passa in i traditionella fackfack, utan snarare att användas i mycket mindre utrymmen. Ofta beskrivs som ungefär storleken på en gummipinne, M. 2 SSD: er mäter 22 mm breda och i allmänhet 80 mm långa, även om vissa produkter kan vara längre eller kortare.
  • U. 2. Till skillnad från M. 2-formfaktorn utformades U. 2 SSD: er för att passa in i befintliga lagringsfack som ursprungligen var avsedda för standard SATA-eller SAS-enheter. U.2 SSD-enheter ser väldigt mycket ut som de äldre medierna, eftersom de vanligtvis använder 2,5-tums eller 3,5-tums kapslingar som är kända höljen för hårddiskar. Tanken var naturligtvis att göra det så enkelt som möjligt att implementera NVMe-teknik med så lite reengineering som möjligt.

en annan, mindre utplacerad NVMe-formfaktor är enterprise och data center SSD form factor, eller EDSFF. Det stöds av viktiga lagringsindustrins aktörer, som Intel, Dell EMC, Hewlett Packard Enterprise (HPE), Lenovo, Samsung och andra. Målet med edsff är att ge högre prestanda och kapacitet till lagringssystem i företagsklass. Kanske är det mest kända exemplet på EDSFF flash Intels E1.L (lång) och E1.S (korta) flash-enheter, som tillhandahålls i det som ursprungligen kallades ”linjal” Formfaktor.

NVMe över tyger

NVM Express Inc. publicerade 1.0-versionen av NVMe over Fabrics (NVMe-oF) – specifikationen den 5 juni 2016. NVMe-oF är utformad för att utöka de högpresterande och låga latensfördelarna med NVMe över nätverkstyger som ansluter servrar och lagringssystem, såsom Fibre Channel (FC), Ethernet och InfiniBand.

Tygtransporter inkluderar NVM-för att använda fjärrdirektminneåtkomst (RDMA) och NVMe-för mappad till FC. En teknisk undergrupp av NVM Express Inc. arbetade på NVMe-oF med RDMA, och T11-utskottet i International Committee for Information Technology Standards (INCITS) ansvarar för utvecklingen av NVMe över FC (FC-NVMe).

NVMe-specifikationen är i stort sett densamma som NVMe-specifikationen. En av de viktigaste skillnaderna mellan NVMe-oF Och NVMe är metoden för överföring och mottagning av kommandon och svar. NVMe är utformad för lokal användning och kartor kommandon och svar på en dators delade minne via PCIe. Däremot använder NVMe over Fabrics ett meddelandebaserat system för att kommunicera mellan värddatorn och mållagringsenheten.

hur NVMe-av verk
en enkel bild av hur NVMe-av verk.

det angivna designmålet för NVMe-oF var att lägga till högst 10 mikrosekunder latens för kommunikation mellan en NVMe-värddator och en nätverksansluten NVMe-lagringsenhet, i jämförelse med latensen associerad med en NVMe-lagringsenhet med en lokal dators PCIe-buss.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *