PCI Express: hoe zit dat nou eigenlijk? Deel 2

Daniel Dupré
0

(Bron: PCI-SIG)

 

Via de snelle interface PCIe kun je niet alleen grafische kaarten en ssd’s in je pc aansluiten, maar PCIe is flexibeler inzetbaar. Dat zorgt soms voor verwarring. In ons eerste deel hebben we al enkele veel voorkomende vragen beantwoord, hier volgen nog enkele andere onderwerpen.

 

PCIe 4.0-kaart in PCIe 3.0-slot

Ik heb een moederbord met PCIe 3.0. Kan ik daarmee ook een grafische kaart gebruiken of een ssd met PCIe 4.0?

Ja. Bijna alle PCIe-kaarten zijn neerwaarts compatibel, oftewel werken ook met een oudere PCIe-generatie. Omgekeerd werken PCIe 1.0-kaarten ook in PCIe 4.0-slots. De maximaal haalbare overdrachtssnelheid wordt echter bepaald door het hostsysteem: een processor met PCIe 3.0 kan niet werken op PCIe 4.0-snelheid. Een PCIe 4.0-x4-sdd haalt in een M.2-slot met PCIe 3.0 x4 dan ook niet zijn maximale snelheid.

Om PCIe optimaal te benutten, moet ook het RAM snel genoeg zijn, want het gaat daarbij ook om Direct Memory Access (DMA). PCIe 4.0 x16 haalt wel tot 30 GB/s, maar een geheugenkanaal met DDR4-3200 komt tot hooguit 25,6 GB/s (3,2 Gigatransfers met elk 8 bytes). Voor PCIe 4.0 x16 is dus dual-channel RAM zinvol: daarbij is het al genoeg om per kanaal een module van het type DDR4-2133 (17 GB/s) te plaatsen.

NVMe en PCIe

Wat hebben de begrippen NVMe en PCIe met elkaar te maken?

Het overdrachtsprotocol Non-Volatile Memory Express (NVMe) gebruikt PCI Express (PCIe) als fysieke verbindingslaag. De meeste PCIe-ssd’s gebruiken NVMe. Om een pc of laptop te kunnen opstarten van een NVMe-ssd, heeft het BIOS een ingebouwde NVMe-driver nodig. Dat is tegenwoordig meestal wel het geval. Ook de huidige versies van alle gangbare besturingssystemen bevatten NVMe-drivers.

Theoretische en praktische snelheid

Hoe verhoudt de praktisch haalbare snelheid zich tot de theoretische?

Tot en met generatie 2.0 gebruikte PCIe nog een 8-bit-10-bit-codering (8b/10b), vanaf PCIe 3.0 een efficiëntere 128b/130b-codering. Daarmee gaan in 1000 PCIe 2.0-transfers 800 bits, terwijl er 984 bits in gaan voor PCIe 3.0. Daar gaat nog een deel vanaf voor het overdrachtsprotocol en afhankelijk van de grootte van de verzonden pakketten haalt PCI Express ook niet het maximale dat qua overdracht mogelijk is.

De praktisch haalbare datatransfersnelheid is nog afhankelijk van andere factoren, zoals bij een PCIe-ssd bijvoorbeeld de snelheid van de controller en de gebruikte flashchips. Veel van de nieuwe PCIe 4.0-ssd’s benutten in de praktijk  bijvoorbeeld maar een fractie van de PCIe-overdrachtssnelheid.

Een PCIe-lane heeft aparte lijnparen voor het versturen en ontvangen en kan data in beide richtingen tegelijk overdragen. Veel fabrikanten noemen daarom de dubbele overdrachtssnelheid per lane, bij PCIe 3.0 bijvoorbeeld 16 GT/s in plaats van de 8 GT/s per richting. Maar in de praktijk is die waarde niet relevant voor het gebruik van de pc.

M.2 en PCIe

Wat is het verband tussen het ssd-type M.2 en PCI Express?

De M.2-specificatie beschrijft een compact uitbreidingsslot met tot vier PCIe-lanes en compatibele modules met verschillende lengtes. Veel M.2-ssd’s zijn 8 centimeter lang (M.2 2280), maar er zijn er ook van 3, 4,2 en 11 centimeter (2230, 2242, 22110). Al naargelang het moederbord passen alleen bepaalde typen, omdat de bevestigingsschroeven op de bijbehorende posities moeten zitten. M.2-ssd’s met een PCIe-controller kunnen via adapterkaarten ook in PCIe-slots worden gebruikt.

Veel goedkope M.2-ssd’s gebruiken slechts 2 in plaats van 4 PCIe-lanes en zijn daardoor langzamer. Omgekeerd hebben sommige moederborden M.2-slots met een PCIe 2.0-aansluiting, waardoor ssd’s met PCIe 3.0 of 4.0 niet op volledige snelheid kunnen werken.

Nog een mogelijk probleem: er zijn ssd’s in M.2-formaat die geen PCIe-controller hebben, maar een SATA-controller. Die werken alleen in M.2-slots waarvoor het systeem kan schakelen tussen PCIe en SATA.

SATA en PCIe

Ik heb een moederbord met zes SATA-poorten en een M.2-slot. Als ik een ssd in het M.2-slot plaats, kan ik nog maar vier SATA-poorten gebruiken. Hoe komt dat?

Moderne pc-chipsets kunnen een aantal high-speed lanes flexibel inzetten voor PCI Express, SATA of USB – maar niet tegelijkertijd, het is het een of het ander. Intel noemt dat Flexible I/O. Die optie biedt moederbordfabrikanten aan de ene kant meer vrijheid in de lay-out van hun moederbord en lost tevens het probleem op dat er zowel M.2-sdd’s zijn met PCIe- als met SATA-controllers. Al naargelang de bezetting van het M.2-slot schakelt de chipset automatisch om, waardoor minder elektronische componenten nodig zijn.

Het nadeel is echter dat de chipset maar een beperkt aantal high-speed lanes heeft, die door moederbordfabrikanten vaak zowel met SATA-poorten als met een M.2-slot worden verbonden. Die kunnen daarom niet gelijktijdig worden gebruikt. Om dat verwarrende probleem te vermijden, zijn sommige moederborden met slechts vier SATA-poorten uitgerust of hebben ze M.2- slots waarin uitsluitend PCIe-(NVMe)-ssd’s kunnen, die dus niet kunnen overschakelen naar SATA.

 

(Deze tekst is verschenen in c’t 3/2021, p.130, met medewerking van Christof Windeck en Marco den Teuling)

 

Wil je op de hoogte blijven van het laatste IT-nieuws en de nieuwste online-artikelen? Meld je dan hier aan voor onze nieuwsbrief:

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

 

Meer over

HardwareSSD

Deel dit artikel

Daniel Dupré
Daniel DupréDaniel koestert een liefde voor het in elkaar zetten van zinnen en van computers, en heeft in c't een prachtige mogelijkheid gevonden om beide te combineren.

Lees ook

20 handige commando’s in Windows-opdrachtprompt die je moet kennen

De Windows-opdrachtprompt, ook wel bekend als cmd.exe, heeft meer dan 280 opdrachten. In dit artikel hebben we 20 handige commando's die je kunt gebru...

Dit is waarom je niet je ssd moet defragmenteren

Als het gaat om de algemene snelheid van pc's, zijn solid-state schijven, ofwel ssd's, wellicht een van de meest cruciale componenten. Over het algeme...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er