Namate rekenaars kleiner word, moet hardewarekomponente soos stooraandrywers ook. Die bekendstelling van vaste-toestand-aandrywers het dunner ontwerpe soos Ultrabooks toegelaat, maar dit het gebots met die industriestandaard SATA-koppelvlak.
Die mSATA-koppelvlak is ontwerp om 'n dun profielkaart te skep wat met die SATA-koppelvlak kan kommunikeer. 'n Nuwe probleem het ontstaan toe die SATA 3.0-standaarde die werkverrigting van SSD's beperk het. 'n Nuwe vorm van kompakte kaartkoppelvlak moes ontwikkel word om hierdie probleme reg te stel.
Oorspronklik genoem die NGFF (Next Generation Form Factor), die nuwe koppelvlak is gestandaardiseer in die M.2-aandrywer-koppelvlak onder die SATA-weergawe 3.2-spesifikasies.
Vinniger spoed
Terwyl grootte 'n faktor is in die ontwikkeling van 'n koppelvlak, is die spoed van die aandrywing ewe krities. Die SATA 3.0-spesifikasies het die werklike bandwydte van 'n SSD op die skyfkoppelvlak tot ongeveer 600 MB/s beperk, wat baie aandrywers bereik het. Die SATA 3.2-spesifikasies het 'n nuwe gemengde benadering vir die M.2-koppelvlak bekendgestel, net soos met SATA Express.
In wese kan 'n nuwe M.2-kaart bestaande SATA 3.0-spesifikasies gebruik en tot 600 MB/s beperk word. Of dit kan PCI-Express gebruik, wat 'n bandwydte van 1 GB/s onder die huidige PCI-Express 3.0-standaarde bied. Daardie spoed van 1 GB/s is vir 'n enkele PCI-Express-baan, maar dit is moontlik om verskeie bane te gebruik. Onder die M.2 SSD-spesifikasie kan tot vier bane gebruik word. Die gebruik van twee bane sal teoreties 2,0 GB/s verskaf, terwyl vier bane tot 4,0 GB/s sal voorsien.
Met die uiteindelike vrystelling van PCI-Express 4.0, sal hierdie snelhede effektief verdubbel. Die vrystelling van PCI-Express 5.0 in 2017 het 'n toename in bandwydte tot 32 GT/s gesien, met 63 GB/s in 'n 16-baan-konfigurasie. PCI-Express 6.0 (2019) het weer 'n verdubbeling van bandwydte tot 64 GT/s beleef, wat 126 GB/s in elke rigting toelaat.
Nie alle stelsels bereik hierdie snelhede nie. Die M.2-aandrywer en koppelvlak moet in dieselfde modus opgestel word. Die M.2-koppelvlak gebruik óf die ou SATA-modus óf die nuwer PCI-Express-modusse. Die aandrywer kies watter een om te gebruik.
Byvoorbeeld, 'n M.2-aandrywer wat met SATA-verouderde modus ontwerp is, is beperk tot 600 MB/s. Terwyl die M.2-aandrywing versoenbaar is met PCI-Express tot vier bane (x4), gebruik die rekenaar slegs twee bane (x2). Dit lei tot maksimum spoed van 2,0 GB/s. Om die meeste spoed moontlik te kry, kyk wat die aandrywer en die rekenaar of moederbord ondersteun.
Kleiner en groter groottes
Een van die doelwitte van die M.2-aandrywingontwerp was om die algehele grootte van die bergingstoestel te verklein. Dit is op een van verskeie maniere bereik. Eerstens is die kaarte smaller gemaak as in die vorige mSATA-vormfaktor. M.2-kaarte is 22 mm breed, vergeleke met die 30 mm van mSATA. Die kaarte is ook korter in lengte teen 30 mm lank, in vergelyking met die 50 mm van mSATA. Die verskil is dat M.2-kaarte langer lengtes van tot 110 mm ondersteun. Dit beteken dat hierdie aandrywers groter kan wees, wat meer spasie vir skyfies bied en dus hoër kapasiteit.
Benewens die lengte en breedte van die kaarte, is daar die opsie vir óf enkel- of dubbelzijdige M.2-borde. Enkelzijdige borde bied 'n dun profiel en is nuttig vir ultra-dun skootrekenaars. 'n Dubbelzijdige bord laat twee keer soveel skyfies toe om op 'n M.2-bord geïnstalleer te word, wat groter bergingskapasiteite moontlik maak. Dit is nuttig vir kompakte rekenaartoepassings waar spasie nie so krities is nie.
Die probleem is dat jy bewus moet wees van watter soort M.2-koppelaar op die rekenaar is, benewens spasie vir die lengte van die kaart. Die meeste skootrekenaars gebruik slegs 'n enkelsydige verbinding, wat beteken dat skootrekenaars nie dubbelzijdige M.2-kaarte kan gebruik nie.
Bevelmodusse
SATA het vir meer as 'n dekade berging 'n plug-en-speel-operasie gemaak. Dit is te danke aan die eenvoudige koppelvlak en die AHCI (Advanced Host Controller Interface) opdragstruktuur.
Die AHCI is hoe rekenaars instruksies met bergingstoestelle kommunikeer. Dit is ingebou in alle moderne bedryfstelsels en vereis nie dat bykomende drywers geïnstalleer moet word wanneer nuwe aandrywers bygevoeg word nie.
Die AHCI is ontwikkel in 'n era toe hardeskywe beperkte vermoë gehad het om instruksies te verwerk as gevolg van die fisiese aard van die skyfkoppe en -plate. 'n Enkele opdragtou met 32 opdragte was voldoende. Die probleem is dat vandag se vastestof-aandrywers baie meer doen, maar steeds deur die AHCI-drywers beperk word.
Die NVMe (Non-Volatile Memory Express) opdragstruktuur en drywers is ontwikkel om hierdie bottelnek uit te skakel en werkverrigting te verbeter. Eerder as om 'n enkele opdragtou te gebruik, bied dit tot 65 536 opdragrye, met tot 65 536 opdragte per tou. Dit maak voorsiening vir meer parallelle verwerking van die stoor lees- en skryfversoeke, wat werkverrigting bo die AHCI-opdragstruktuur 'n hupstoot gee.
Alhoewel dit wonderlik is, is daar 'n bietjie van 'n probleem. AHCI is ingebou in alle moderne bedryfstelsels, maar NVMe is nie. Bestuurders moet bo-op die bestaande bedryfstelsels geïnstalleer word om die meeste uit die aandrywers te kry. Dit is 'n probleem vir baie ouer bedryfstelsels.
Die M.2-aandrywingspesifikasie laat enige van die twee modusse toe. Dit maak die aanvaarding van die nuwe koppelvlak makliker met bestaande rekenaars en tegnologieë. Soos ondersteuning vir die NVMe-opdragstruktuur verbeter, kan dieselfde aandrywers met hierdie nuwe opdragmodus gebruik word. Om tussen die twee modusse te wissel vereis egter dat die aandrywers herformateer word.
Verbeterde kragverbruik
'n Mobiele rekenaar het 'n beperkte looptyd gebaseer op die grootte van sy batterye en die krag wat deur sy komponente getrek word. Vastetoestand-aandrywers verminder die energieverbruik van die bergingskomponent, maar daar is ruimte vir verbetering.
Aangesien die M.2 SSD-koppelvlak deel is van die SATA 3.2-spesifikasie, bevat dit ander kenmerke buite die koppelvlak. Dit sluit 'n nuwe kenmerk genaamd DevSleep in. Aangesien meer stelsels ontwerp is om in 'n slaapmodus te gaan wanneer dit gesluit of afgeskakel is, eerder as om heeltemal af te skakel, is daar 'n konstante trek op die battery om sommige data aktief te hou vir vinnige herstel wanneer die toestel wakker word. DevSleep verminder die hoeveelheid krag wat deur toestelle gebruik word deur 'n nuwe laer kragtoestand te skep. Dit behoort die looptyd te verleng vir rekenaars wat in slaapmodus geplaas word.
Probleme met opstart
Die M.2-koppelvlak is 'n vooruitgang in rekenaarberging en werkverrigting. Rekenaars moet die PCI-Express-bus gebruik om die beste werkverrigting te kry. Andersins werk dit dieselfde as enige bestaande SATA 3.0-skyf. Dit lyk nie na 'n groot probleem nie, maar dit is 'n probleem met baie van die eerste moederborde wat van die kenmerk gebruik maak.
SSD-aandrywers bied die beste ervaring wanneer dit as die wortel- of selflaaistasie gebruik word. Die probleem is dat bestaande Windows-sagteware 'n probleem het met baie aandrywers wat vanaf die PCI-Express-bus selflaai eerder as vanaf SATA. Dit beteken dat 'n M.2-aandrywer wat PCI-Express gebruik, nie die primêre aandrywer sal wees waar die bedryfstelsel of programme geïnstalleer is nie. Die resultaat is 'n vinnige data-aandrywer, maar nie die selflaaistasie nie.
Nie alle rekenaars en bedryfstelsels het hierdie probleem nie. Apple het byvoorbeeld macOS (of OS X) ontwikkel om die PCI-Express-bus vir wortelpartisies te gebruik. Dit is omdat Apple hul SSD-aandrywers na PCI-Express oorgeskakel het in die 2013 MacBook Air-voordat die M.2-spesifikasies gefinaliseer is. Microsoft het Windows 10 opgedateer om die nuwe PCI-Express- en NVMe-aandrywers te ondersteun. Ouer weergawes van Windows kan ook werk as die hardeware ondersteun word en eksterne drywers geïnstalleer is.
Hoe die gebruik van M.2 ander kenmerke kan verwyder
Nog 'n area van kommer, veral met rekenaar-moederborde, hou verband met hoe die M.2-koppelvlak aan die res van die rekenaarstelsel gekoppel is. Daar is 'n beperkte aantal PCI-Express-bane tussen die verwerker en die res van die rekenaar. Om 'n PCI-Express-versoenbare M.2-kaartgleuf te gebruik, moet die moederbordvervaardiger daardie PCI-Express-bane wegneem van ander komponente op die stelsel.
Hoe daardie PCI-Express-bane tussen die toestelle op die borde verdeel word, is 'n groot bekommernis. Sommige vervaardigers deel byvoorbeeld die PCI-Express-bane met SATA-poorte. Die gebruik van die M.2-aandrywergleuf kan dus meer as vier SATA-gleuwe verbruik. In ander gevalle kan die M.2 daardie bane met ander PCI-Express uitbreidinggleuwe deel.
Kyk hoe die bord ontwerp is om seker te maak die M.2 sal nie inmeng met die potensiële gebruik van ander SATA-hardeskywe, DVD-aandrywers, Blu-ray-aandrywers of ander uitbreidingskaarte nie.