Når computere bliver mindre, bliver hardwarekomponenter som lagringsdrev også det. Introduktionen af solid-state-drev gav mulighed for tyndere designs som Ultrabooks, men dette stødte sammen med industristandarden SATA-interface.
mSATA-grænsefladen blev designet til at skabe et tyndt profilkort, der kunne interagere med SATA-grænsefladen. Et nyt problem dukkede op, da SATA 3.0-standarderne begrænsede ydeevnen af SSD'er. En ny form for kompakt kortgrænseflade skulle udvikles for at løse disse problemer.
Oprindeligt kaldet NGFF (Next Generation Form Factor), den nye grænseflade er blevet standardiseret til M.2-drevgrænsefladen under SATA version 3.2-specifikationerne.
Hurtigere hastigheder
Mens størrelse er en faktor i udviklingen af en grænseflade, er hastigheden på drevet lige så kritisk. SATA 3.0-specifikationerne begrænsede den virkelige verdens båndbredde for en SSD på drevgrænsefladen til omkring 600 MB/s, hvilket mange drev har nået. SATA 3.2-specifikationerne introducerede en ny blandet tilgang til M.2-grænsefladen, som den gjorde med SATA Express.
I det væsentlige kan et nyt M.2-kort bruge eksisterende SATA 3.0-specifikationer og være begrænset til 600 MB/s. Eller den kan bruge PCI-Express, som giver en båndbredde på 1 GB/s under de nuværende PCI-Express 3.0-standarder. Den hastighed på 1 GB/s er for en enkelt PCI-Express-bane, men det er muligt at bruge flere baner. Under M.2 SSD-specifikationen kan der bruges op til fire baner. Brug af to baner ville teoretisk give 2,0 GB/s, mens fire baner ville give op til 4,0 GB/s.
Med den endelige udgivelse af PCI-Express 4.0 ville disse hastigheder reelt fordobles. Udgivelsen af PCI-Express 5.0 i 2017 oplevede en stigning i båndbredden til 32 GT/s med 63 GB/s i en 16-banes konfiguration. PCI-Express 6.0 (2019) oplevede endnu en fordobling af båndbredden til 64 GT/s, hvilket tillader 126 GB/s i hver retning.
Ikke alle systemer opnår disse hastigheder. M.2-drevet og interfacet skal konfigureres i samme tilstand. M.2-grænsefladen bruger enten den gamle SATA-tilstand eller de nyere PCI-Express-tilstande. Drevet vælger, hvilken der skal bruges.
For eksempel er et M.2-drev designet med SATA legacy-tilstand begrænset til 600 MB/s. Mens M.2-drevet er kompatibelt med PCI-Express op til fire baner (x4), bruger computeren kun to baner (x2). Dette resulterer i maksimale hastigheder på 2,0 GB/s. For at få den størst mulige hastighed, tjek, hvad drevet og computeren eller bundkortet understøtter.
Mindre og større størrelser
Et af målene med M.2-drevdesignet var at reducere den samlede størrelse af lagerenheden. Dette blev opnået på en af flere måder. For det første blev kortene lavet smallere end i den tidligere mSATA-formfaktor. M.2-kort er 22 mm brede sammenlignet med 30 mm mSATA. Kortene er også kortere i længden med 30 mm lange sammenlignet med 50 mm mSATA. Forskellen er, at M.2-kort understøtter længere længder på op til 110 mm. Det betyder, at disse drev kan være større, hvilket giver mere plads til chips og dermed højere kapacitet.
Udover længden og bredden på kortene er der mulighed for enten enkeltsidede eller dobbeltsidede M.2-brætter. Enkeltsidede boards giver en tynd profil og er nyttige til ultratynde bærbare computere. Et dobbeltsidet kort giver mulighed for at installere dobbelt så mange chips på et M.2-kort, hvilket giver mulighed for større lagerkapacitet. Dette er nyttigt til kompakte desktop-applikationer, hvor pladsen ikke er så kritisk.
Problemet er, at du skal være opmærksom på, hvilken slags M.2-stik der er på computeren, foruden plads til kortets længde. De fleste bærbare computere bruger kun et enkeltsidet stik, hvilket betyder, at bærbare computere ikke kan bruge dobbeltsidede M.2-kort.
Kommandotilstande
I mere end et årti har SATA gjort lagring til en plug-and-play-operation. Dette skyldes den enkle grænseflade og AHCI (Advanced Host Controller Interface) kommandostruktur.
AHCI er, hvordan computere kommunikerer instruktioner med lagerenheder. Det er indbygget i alle moderne operativsystemer og kræver ikke yderligere drivere, der skal installeres, når der tilføjes nye drev.
AHCI blev udviklet i en æra, hvor harddiske havde begrænset evne til at behandle instruktioner på grund af den fysiske karakter af drevhovederne og pladerne. En enkelt kommandokø med 32 kommandoer var tilstrækkelig. Problemet er, at nutidens solid-state-drev gør meget mere, men stadig er begrænset af AHCI-driverne.
NVMe (Non-Volatile Memory Express) kommandostruktur og drivere blev udviklet for at eliminere denne flaskehals og forbedre ydeevnen. I stedet for at bruge en enkelt kommandokø giver den op til 65.536 kommandokøer med op til 65.536 kommandoer pr. kø. Dette giver mulighed for mere parallel behandling af lagerlæse- og skriveanmodninger, hvilket øger ydeevnen i forhold til AHCI-kommandostrukturen.
Selv om dette er fantastisk, er der lidt af et problem. AHCI er indbygget i alle moderne operativsystemer, men NVMe er det ikke. Drivere skal installeres oven på de eksisterende operativsystemer for at få mest muligt ud af drevene. Det er et problem for mange ældre operativsystemer.
M.2-drevspecifikationen tillader en af de to tilstande. Dette gør vedtagelsen af den nye grænseflade lettere med eksisterende computere og teknologier. Efterhånden som understøttelsen af NVMe-kommandostrukturen forbedres, kan de samme drev bruges med denne nye kommandotilstand. Skift mellem de to tilstande kræver dog, at drevene omformateres.
Forbedret strømforbrug
En mobil computer har en begrænset driftstid baseret på størrelsen af dens batterier og den strøm, der trækkes af dens komponenter. Solid-state-drev reducerer lagringskomponentens energiforbrug, men der er plads til forbedringer.
Da M.2 SSD-grænsefladen er en del af SATA 3.2-specifikationen, inkluderer den andre funktioner ud over grænsefladen. Dette inkluderer en ny funktion kaldet DevSleep. Da flere systemer er designet til at gå i dvaletilstand, når de er lukkede eller slukkede, i stedet for at slukke helt, er der et konstant træk på batteriet for at holde nogle data aktive til hurtig gendannelse, når enheden vækkes. DevSleep reducerer mængden af strøm, der bruges af enheder ved at skabe en ny lavere strømtilstand. Dette skulle forlænge køretiden for computere, der er sat i dvaletilstand.
Opstartsproblemer
M.2-grænsefladen er et fremskridt inden for computerlagring og ydeevne. Computere skal bruge PCI-Express-bussen for at få den bedste ydeevne. Ellers kører det det samme som ethvert eksisterende SATA 3.0-drev. Det virker ikke som en stor sag, men det er et problem med mange af de første bundkort, der gør brug af funktionen.
SSD-drev giver den bedste oplevelse, når de bruges som rod- eller bootdrev. Problemet er, at eksisterende Windows-software har et problem med mange drev, der starter fra PCI-Express-bussen i stedet for fra SATA. Det betyder, at det at have et M.2-drev, der bruger PCI-Express, ikke vil være det primære drev, hvor operativsystemet eller programmerne er installeret. Resultatet er et hurtigt datadrev, men ikke startdrevet.
Ikke alle computere og operativsystemer har dette problem. For eksempel har Apple udviklet macOS (eller OS X) til at bruge PCI-Express-bussen til rodpartitioner. Dette skyldes, at Apple skiftede deres SSD-drev til PCI-Express i 2013 MacBook Air, før M.2-specifikationerne blev færdiggjort. Microsoft har opdateret Windows 10 til at understøtte de nye PCI-Express- og NVMe-drev. Ældre versioner af Windows fungerer muligvis også, hvis hardwaren er understøttet og eksterne drivere er installeret.
Hvordan brug af M.2 kan fjerne andre funktioner
Et andet problemområde, især med stationære bundkort, vedrører, hvordan M.2-grænsefladen er forbundet med resten af computersystemet. Der er et begrænset antal PCI-Express baner mellem processoren og resten af computeren. For at bruge en PCI-Express-kompatibel M.2-kortslot, skal bundkortproducenten tage disse PCI-Express-baner væk fra andre komponenter på systemet.
Hvordan disse PCI-Express-baner er opdelt mellem enhederne på tavlerne er en stor bekymring. For eksempel deler nogle producenter PCI-Express-banerne med SATA-porte. Brug af M.2-drevslot kan således forbruge op til fire SATA-slots. I andre tilfælde kan M.2 dele disse baner med andre PCI-Express udvidelsesslots.
Tjek, hvordan kortet er designet for at sikre, at M.2 ikke forstyrrer den potentielle brug af andre SATA-harddiske, dvd-drev, Blu-ray-drev eller andre udvidelseskort.