En introduktion till PCI Express 4.0

Vi har under de senaste åren sett en bredare övergång till fjärde generationens PCI Express-gränssnitt både gällande expansionsplatser och M.2-baserad lagring. Först ut med att använda det nya gränssnittet var AMD som under 2019 lanserade sin processorarkitektur Zen 2 tillsammans med Ryzen 3000-serien och styrkretsen X570. Intel dröjde med att ta klivet över. Företagets Z490-krets kan nästan ses som lite av en nöd- eller hybridlösning.

Att vi kallar det för en nödlösning beror bland annat på att Z490-korten, och endast utvalda sådana, bara hade stöd för PCI Express 4.0 ihop med en framtida processorgeneration. Det vill säga, det fanns inget direkt stöd för PCI Express 4.0-baserad lagring vid lanseringstillfället. Den processorserie Intel använde vid denna tidpunkt saknade stöd för PCI Express 4.0, och det var först vid introduktionen av Rocket Lake som en skara utvalda Z490-kort fick stöd för det nya gränssnittet.

Men med lanseringen av senaste styrkretsen Z590 och elfte generationens Intel Core-processorer tog även Intel klivet över till äkta PCI Express 4.0-baserade moderkort, både avseende expansionsplatser och lagring. Nästan två efter AMD.

PCI-Express-4.0-1.png

Vad innebär då en övergång till PCI Express 4.0 jämfört med 3.0? I praktiken har varje ny PCI Express-standard inneburit en dubblerad datahastighet jämfört med föregående standard, vilket utryckt i siffor innebär att överföringshastigheten har ökat från 8 GT/s (gigatransfers per sekund) till 16 GT/s.

Nu används sällan prestandatermen GT/s, till vardags brukar vi prata om MB/s eller GB/s –megabyte per sekund respektive gigabyte per sekund. Det är dock enkelt att omvandla det ena till det andra då en GT/s är åtta gånger större jämfört med en GB/s, vilket ger oss att varje PCI Express-bana eller kanal har en maximal bandbredd på 2 GB/s gällande PCI Express 4.0. Motsvarande värde för PCI Express 3.0 är, baserad på ovan nämnd dubbleringsprincip, 1 GB/s.

Värt att notera här är att vi pratar om bandbredd per kanal, och som de flesta känner till använder dagens M.2-lagring minst två kanaler eller oftast fyra kanaler. Det är detta som vi på enheterna kan se som PCI Express 4.0 x4, där den sista siffran efter X:et visar hur många kanaler som används.

Detta innebär i praktiken att en standardiserad PCI Express 4.0 x4-enhet har en teoretisk maximal bandbredd på 8 GB/s. För att sätta detta i perspektiv har SATA 3-bussen en maximal teoretisk bandbredd på 600 MB/s per kanal.

Nu kanske vissa tänker, ”varför bara stanna vid fyra kanaler, en PCI Express-plats kan trots allt använda upp till 16 kanaler vilket skulle kunna ge hela 32 GB/s i bandbredd?”. Svaret på denna fråga är relativt enkel. Men innan vi svarar på den ska vi tillägga att det faktiskt finns M.2-baserade lösningar som via ett direkt instickskort drar nytta av både 8 och 16 kanaler.

På samma sätt kan vi även slå samman multipla M.2-enheter via RAID och på detta sätt även indirekt dra nytta av fler kanaler till en virtuell lagringsenhet. Men den stora anledningen till att moderkorttillverkarna, och således även alla tillverkare av lagringsenheter, bara använder sig av fyra eller ibland två kanaler är att den totala mängden kanaler som ett system har tillgång till är begränsad.

Dels har olika processorer olika antal kanaler, dels har även moderkortets styrkrets eller huvudkrets ytterligare ett begränsat antal kanaler. Dessa ska sedan delas mellan såväl grafik som lagring, men även senaste USB-standarden, Thunderbolt och modernare nätverkskontrollers kommunicerar via och använder PCI Express-kanaler. Det begränsar givetvis hur många kanaler vi kan eller vill överlåta åt lagring.