Hur M.2 SSD kommer att göra din dator ännu snabbare
När datorer blir mindre, måste hårdvarukomponenter som lagringsenheter också göra det. Introduktionen av solid-state-enheter tillåts för tunnare mönster som Ultrabooks, men detta krockade med industristandarden SATA-gränssnitt.
mSATA-gränssnittet designades för att skapa ett tunt profilkort som kunde interagera med SATA-gränssnitt. Ett nytt problem uppstod när SATA 3.0-standarderna begränsade prestanda för SSD-enheter. En ny form av kompaktkortgränssnitt behövde utvecklas för att åtgärda dessa problem.
Ursprungligen kallad NGFF (Next Generation Form Factor), har det nya gränssnittet standardiserats till M.2-enhetsgränssnittet under SATA version 3.2-specifikationerna.
Snabbare hastigheter
Även om storlek är en faktor för att utveckla ett gränssnitt, är hastigheten på enheten lika kritisk. SATA 3.0-specifikationerna begränsade den verkliga bandbredden för en SSD på enhetsgränssnittet till cirka 600 MB/s, vilket många enheter har nått. SATA 3.2-specifikationerna introducerade ett nytt blandat tillvägagångssätt för M.2-gränssnittet, som det gjorde med SATA Express.
I huvudsak kan ett nytt M.2-kort använda befintliga SATA 3.0-specifikationer och begränsas till 600 MB/s. Eller, den kan använda PCI-Express, som ger en bandbredd på 1 GB/s enligt nuvarande PCI-Express 3.0-standarder. Den hastigheten på 1 GB/s är för en enda PCI-Express-fil, men det är möjligt att använda flera körfält. Under M.2 SSD-specifikationen kan upp till fyra körfält användas. Att använda två körfält skulle teoretiskt ge 2,0 GB/s, medan fyra körfält skulle ge upp till 4,0 GB/s.
Med den slutliga lanseringen av PCI-Express 4.0 skulle dessa hastigheter i praktiken fördubblas. Utgivningen av PCI-Express 5.0 2017 ökade bandbredden till 32 GT/s, med 63 GB/s i en 16-filskonfiguration. PCI-Express 6.0 (2019) såg ytterligare en fördubbling av bandbredden till 64 GT/s, vilket tillåter 126 GB/s i varje riktning.
Alla system uppnår inte dessa hastigheter. M.2-enheten och gränssnittet måste ställas in i samma läge. M.2-gränssnittet använder antingen det äldre SATA-läget eller det nyare PCI-Express lägen. Enheten väljer vilken som ska användas.
Till exempel är en M.2-enhet designad med SATA legacy-läge begränsad till 600 MB/s. Även om M.2-enheten är kompatibel med PCI-Express upp till fyra körfält (x4), använder datorn bara två körfält (x2). Detta resulterar i maximala hastigheter på 2,0 GB/s. För att få högsta möjliga hastighet, kolla vad enheten och datorn eller moderkortet stöder.
Mindre och större storlekar
Ett av målen med M.2-diskdesignen var att minska den totala storleken på lagringsenheten. Detta uppnåddes på ett av flera sätt. För det första gjordes korten smalare än i den tidigare mSATA-formfaktorn. M.2-kort är 22 mm breda, jämfört med 30 mm mSATA. Korten är också kortare i längd på 30 mm, jämfört med 50 mm i mSATA. Skillnaden är att M.2-kort stöder längre längder på upp till 110 mm. Det betyder att dessa enheter kan vara större, vilket ger mer utrymme för chips och därmed högre kapacitet.
Utöver kortens längd och bredd finns möjligheten för antingen enkelsidiga eller dubbelsidiga M.2-brädor. Enkelsidiga brädor ger en tunn profil och är användbara för ultratunna bärbara datorer. Ett dubbelsidigt kort gör att dubbelt så många chips kan installeras på ett M.2-kort, vilket möjliggör större lagringskapacitet. Detta är användbart för kompakta skrivbordsprogram där utrymmet inte är lika kritiskt.
Problemet är att du måste vara medveten om vilken typ av M.2-kontakt som finns på datorn, förutom utrymme för kortets längd. De flesta bärbara datorer använder bara en enkelsidig kontakt, vilket gör att bärbara datorer inte kan använda dubbelsidiga M.2-kort.
Kommandolägen
I mer än ett decennium har SATA gjort lagring till en plug-and-play-operation. Detta beror på det enkla gränssnittet och kommandostrukturen AHCI (Advanced Host Controller Interface).
AHCI är hur datorer kommunicerar instruktioner med lagringsenheter. Den är inbyggd i alla moderna operativsystem och kräver inte att ytterligare drivrutiner installeras när du lägger till nya enheter.
AHCI utvecklades i en tid då hårddiskar hade begränsad förmåga att bearbeta instruktioner på grund av den fysiska karaktären hos enhetshuvudena och plattorna. En enda kommandokö med 32 kommandon räckte. Problemet är att dagens solid-state-enheter gör mycket mer, men är fortfarande begränsade av AHCI-drivrutinerna.
NVMe (Non-Volatile Memory Express) kommandostruktur och drivrutiner utvecklades för att eliminera denna flaskhals och förbättra prestandan. Istället för att använda en enda kommandokö ger den upp till 65 536 kommandoköer, med upp till 65 536 kommandon per kö. Detta möjliggör mer parallell bearbetning av lagringsläs- och skrivförfrågningar, vilket ökar prestandan jämfört med AHCI-kommandostrukturen.
Även om det här är bra, finns det lite av ett problem. AHCI är inbyggt i alla moderna operativsystem, men NVMe är det inte. Drivrutiner måste installeras ovanpå de befintliga operativsystemen för att få ut det mesta av enheterna. Det är ett problem för många äldre operativsystem.
M.2 frekvensomriktarspecifikationen tillåter endera av de två lägena. Detta gör antagandet av det nya gränssnittet lättare med befintliga datorer och teknologier. Allt eftersom stödet för NVMe-kommandostrukturen förbättras, kan samma enheter användas med detta nya kommandoläge. Att växla mellan de två lägena kräver dock att enheterna formateras om.
Förbättrad strömförbrukning
En mobil dator har en begränsad drifttid baserat på storleken på dess batterier och den ström som dras av dess komponenter. Solid-state-enheter minskar energiförbrukningen för lagringskomponenten, men det finns utrymme för förbättringar.
Eftersom M.2 SSD-gränssnittet är en del av SATA 3.2-specifikationen innehåller det andra funktioner utöver gränssnittet. Detta inkluderar en ny funktion som heter DevSleep. Eftersom fler system är utformade för att gå in i viloläge när de är stängda eller avstängda, snarare än att stängas av helt, det finns en konstant dragning på batteriet för att hålla vissa data aktiva för snabb återställning när enheten är väckt. DevSleep minskar mängden energi som används av enheter genom att skapa ett nytt lägre energitillstånd. Detta bör förlänga körtiden för datorer som försätts i viloläge.
Problem med att starta
M.2-gränssnittet är ett framsteg inom datorlagring och prestanda. Datorer måste använda PCI-Express-bussen för att få bästa prestanda. Annars fungerar den på samma sätt som alla befintliga SATA 3.0-enheter. Detta verkar inte vara en stor sak, men det är ett problem med många av de första moderkorten som använder sig av funktionen.
SSD-enheter erbjuder den bästa upplevelsen när de används som rot- eller startenhet. Problemet är att befintlig Windows-programvara har problem med att många enheter startar från PCI-Express-bussen snarare än från SATA. Detta innebär att en M.2-enhet som använder PCI-Express inte kommer att vara den primära enheten där operativsystemet eller programmen är installerade. Resultatet är en snabb dataenhet men inte startenheten.
Inte alla datorer och operativsystem har detta problem. Till exempel har Apple utvecklat macOS (eller OS X) för att använda PCI-Express-bussen för rotpartitioner. Detta beror på att Apple bytte sina SSD-enheter till PCI-Express i 2013 års MacBook Air—innan M.2-specifikationerna slutfördes. Microsoft har uppdaterat Windows 10 för att stödja de nya PCI-Express- och NVMe-enheterna. Äldre versioner av Windows kan också fungera om hårdvaran stöds och externa drivrutiner är installerade.
Hur man kan ta bort andra funktioner genom att använda M.2
Ett annat område av oro, särskilt med stationära moderkort, avser hur M.2-gränssnittet är anslutet till resten av datorsystemet. Det finns ett begränsat antal PCI-Express-banor mellan processorn och resten av datorn. För att använda en PCI-Express-kompatibel M.2-kortplats måste moderkortstillverkaren ta bort dessa PCI-Express-banor från andra komponenter i systemet.
Hur dessa PCI-Express-banor är uppdelade mellan enheterna på korten är ett stort problem. Till exempel delar vissa tillverkare PCI-Express-banorna med SATA-portar. Användning av M.2-enhetsplatsen kan därför förbruka uppåt fyra SATA-platser. I andra fall kan M.2 dela dessa banor med andra PCI-Express expansionsplatser.
Kontrollera hur kortet är utformat för att säkerställa att M.2 inte stör den potentiella användningen av andra SATA hårddiskar, dvd kör, Blu Ray enheter eller andra expansionskort.