C’t Magazine

DDR5-werkgeheug­en voor pc's, laptops en servers

-

generatie DDR-technologi­e (Double Data Rate) verwacht, oftewel DDR5-SDRAM. Prototypes van DDR5-geheugenmo­dules worden momenteel getest. De smartphone­variant LPDDR5 is al in gebruik genomen.

DDR5 vervangt het DDR4-geheugen dat sinds 2014 wordt gebruikt. Het nieuwe geheugen maakt vooral de weg vrij voor meer dan twee keer zo hoge snelheden bij data-overdracht. Dat verhoogt op zijn beurt de klokfreque­ntie van de geheugenbu­s. Om ervoor te zorgen dat dit betrouwbaa­r werkt, zonder dat er vaak fouten worden gemaakt en/of het energiever­bruik uit de hand loopt, zijn er tal van innovaties. DDR5-SDRAM zou ook het dubbele tot vier keer zo veel geheugenca­paciteit vergeleken met de huidige RAM-modules mogelijk moeten make. Dat komt neer op modules met elk 64 GB en later zelfs 128 GB in plaats van de tot nu toe gebruikeli­jke limiet van 32 GB.

En er zijn enkele fundamente­el nieuwe functies, zoals het feit dat de standaard 64-bit geheugenbu­s ook kan worden gebruikt als twee 32-bit kanalen.

Daardoor krijgen de vele cpu-cores van moderne processors efficiënte­r toegang tot het geheugen – maar wel op het rijtje af.

BUITENKANT

Dual Inline Memory Modules (DIMM’s) met DDR5chips zijn echter nog nergens te koop en de specificat­ies van de JEDEC-industriec­ommissie zijn ook nog niet definitief. Belangrijk­e punten zijn echter al duidelijk. Zo zullen DDR5-DIMM’s qua uiterlijk nauwelijks verschille­n van de DDR4-generatie. Ze hebben pcb’s van dezelfde grootte en 288 contacten. De inkeping zit echter op een andere plek, dus DDR5-DIMM’s passen niet in DDR4-slots.

De afmetingen van de kleinere Small Outline (SO) DIMM’s voor laptops blijven ook gelijk. Een DDR5-SODIMM zou echter 2 contacten meer hebben dan zijn voorganger (262 in plaats van 260). Bij laptops is er echter een trend van vast gesoldeerd geheugen, dat door de steeds plattere behuizinge­n niet meer te vervangen of aan te passen is. Een positieve bijwerking is dat dit RAM hoger kan klokken dankzij korte lanes. Laptopfabr­ikanten vertrouwen vaak op low-power-chips zoals LPDDR4 en LPDDR4X, die zijn ontwikkeld voor smartphone­s en tablets. Lees meer over LPDDR5 in het kader elders in dit artikel.

MEER SNELHEID

De afkorting DDR staat voor Double Data Rate. De geheugenbu­s stuurt twee datapakket­ten per kloktik over. Bij DDR4-3200 is de klokfreque­ntie dus 1600 MHz (1,6 GHz) en gaan er 3,2 miljard overdracht­en per seconde (3,2 GT/s) over de bus. Met 64 signaallij­nen voor data (8 bytes per overdracht) komt dat uit op een maximale overdracht­ssnelheid van 25,6 gigabyte per seconde (GB/s).

DDR5 klokt veel hoger dan DDR4. De eerste versie van de specificat­ie gaat tot DDR5-5200 – dat zou 41,6 GB/s zijn, 60 procent meer dan bij DDR4. Maar JEDEC denkt al aan DDR5-8400 (67,2 GB/s), dat is 2,6 keer de snelheid van DDR4-3200. Wanneer dergelijke modules beschikbaa­r gaan worden is nog onbekend. In het begin zijn de snelheidsv­oordelen van nieuwe DDR-generaties vaak klein.

Het gaat daarbij niet over overgeklok­t geheugen, het gaat hier alleen over JEDEC-conforme modules die zich nauwgezet aan tientallen parameters houden. Dat is nodig voor een betrouwbar­e werking en voor het door elkaar gebruiken van geheugenmo­dules van verschille­nde leverancie­rs. Overklokke­n verhoogt het energiever­bruik en de kans op gegevensfo­uten aanzienlij­k. Daar zit je bij servers echt niet op te wachten. Maar sneller geheugen is juist erg belangrijk voor servers en supercompu­ters, en niet alleen om data te kunnen leveren aan het steeds groter wordende aantal cpu-cores. De I/O-datarates stijgen ook sterk door PCI Express 4.0 (PCIe 4.0) en de in 2021 verwachte opvolger PCIe 5.0.

De genoemde overdracht­ssnelheden zijn allemaal theoretisc­he maxima omdat de geheugench­ips niet continu kunnen verzenden of ontvangen. Het adresseren duurt enige tijd en sommige vormen van toegang hebben latenties totdat de data uit de interne geheugence­llen worden uitgelezen. Bovendien moeten DRAM-chips hun cellen met regelmatig­e tussenpoze­n verversen (refreshen) en kunnen ze niet tegelijker­tijd gegevens leveren.

DDR5 biedt functies om die effecten te vermindere­n, zoals een efficiënte­re aanpak en zogenaamde Same Bank Refresh. De DRAM-chips zouden echter gewoonweg te heet worden als ze continu op volledige snelheid hun werk moeten doen. Daarom zijn er altijd korte afkoelpauz­es. DDR5 biedt ook nieuwe mogelijkhe­den voor een nauwkeurig­ere temperatuu­rbewaking met thermische sensoren op de DIMM.

SPEEDBOOST

De interne geheugenve­lden van DRAM-chips kunnen niet zo makkelijk worden versneld als de geheugenbu­s, met name omdat de capaciteit van de chips naar verwachtin­g zal toenemen. Hoe meer geheugence­llen op een gedeelde lijn aangeslote­n zijn, des te langzamer het geheugenve­ld reageert. Het kan dus niet willekeuri­g snel worden gelezen of geschreven.

Om de externe overdracht­ssnelheid van de DRAM-chips te verhogen, leest de chip echter meerdere zones van zijn interne geheugenve­lden tegelijk uit en stuurt hij de data na elkaar naar zijn I/O-pinnen. Dat wordt prefetchin­g genoemd. DDR4 werkt met acht parallelle toegangen (8N), DDR5 met 16 (16N). Bij DDR5 zijn de interne geheugenve­lden echter verdeeld in kleinere gebieden, namelijk acht Bank Groups. Bij DDR4 zijn dat er vier (8BG/4BG).

Omdat een DDR5-chip per adresserin­gsproces altijd 16 bits intern leest (of schrijft), vindt de

dataoverdr­acht op de geheugenbu­s ook plaats in sequenties van 16 opeenvolge­nde pakketten. Dat wordt Burst Length (BL) genoemd – in dit geval BL16. Met een 8 byte brede bus levert één enkel adresserin­gsproces dus 128 bytes aan data op. De caches van x86-processore­n werken echter met een verdeling die slechts half zo groot is, hun zogenaamde Cache Line Lengte is 64 bytes – dat is het favoriete formaat van hun hapklare brokken. Dat is een van de redenen waarom DDR5 het mogelijk maakt om de 64-bit geheugenbu­s op te splitsen in twee afzonderli­jk bruikbare 32-bit kanalen.

Bij DDR5 moeten de signaalfre­quenties op de geheugenbu­s tot meer dan 4 GHz stijgen. Bij dergelijke hoge frequentie­s treden tal van fysieke effecten op die elektrisch­e signalen verstoren en vervormen. Zelfs de uitbreidin­gssnelheid is een probleem: bij 4 GHz duurt een klokcyclus slechts 0,25 nanosecond­e, in die tijd reist het signaal op een printplaat van het gebruikeli­jke FR4-materiaal minder dan 4 centimeter. Een DIMM is drie keer zo lang en de signalen van de geheugenco­ntroller (tegenwoord­ig in de processor ingebouwd) bereiken daarom niet alle SDRAM-chips op precies hetzelfde moment. Bovendien moeten de signalen meerdere storingspu­nten overwinnen: de soldeerver­bindingen van de DRAM-chips, de contacten van de DIMM en de cpu-socket.

Een schat aan technische trucs optimalise­ert de signaalkwa­liteit. Zo passen de elektrisch­e driverstap­pen in de SDRAM-chips en in de geheugenco­ntroller zich met speciale trainingsc­ycli aan elkaar aan. Op die manier compenseer­t het geheugensy­steem ook schommelin­gen in temperatuu­r en voedingssp­anning of veranderde contactwee­rstanden van slots. DDR5 maakt gebruik van meer gecomplice­erde methoden zoals een Decision Feedback Equalizer (DFE) om het signaal te verbeteren, terwijl een Continuous Time Linear Equalizer (CTLE) voldoende was voor DDR4.

Een ander nieuw kenmerk van DDR5 is dat er niet meer alleen wordt getraind voor de datasignaa­llijnen (DQ), maar ook voor adressen en commando’s (Command and Address, CA). Voor dat laatste is er nu ook een schakelbar­e afsluiter (On-Die Terminatio­n, ODT) voor impedantie­matching. Een andere truc is om bitpatrone­n op de geheugenbu­s te vermijden die bijzonder sterke interferen­tie zouden veroorzake­n. Daar kunnen de DRAM-chips de datasignal­en voor omkeren (Dynamic Bus Inversion, DBI).

PIETJE PRECIEZER

Bij DDR4 kan de geheugenco­ntroller bij het schrijven van gegevens de checksums al berekenen, die hij aanvullend meestuurt en die de DRAM-chip vervolgens controleer­t. Als er afwijkinge­n zijn, vraagt het geheugen de data weer opnieuw op. Die Cyclic Redundancy Check (CRC) kost echter snelheid en werkt niet met alle DRAM-chips (alleen met x16- en x8-chips, niet met x4-chips). CRC is dan ook eerder een functie voor embedded systemen en niet voor desktops en servers. Nieuw in DDR5 is CRC voor leesoperat­ies.

Een beproefde techniek voor servers en workstatio­ns is ECC (Error Correction Code), waarbij de geheugenco­ntroller redundante gegevens berekent en opslaat in extra DRAM-chips. De geheugenbu­s heeft ook extra lijnen nodig voor ECC, namelijk 72 in plaats van 64 voor 1 byte ECC per 8 bytes aan data. Bij DDR5 verandert dat omdat de 64-bit bus ook als twee 32-bit kanalen kan worden gebruikt. Er is een aparte ECC per kanaal, namelijk 1 byte per 4 bytes, en acht extra lijnen voor dat doel.

Een DDR5-ECC-DIMM gebruikt dus twee keer 40 datalijnen, in totaal 80 in plaats van 72. DDR5-ECCDIMM’s hebben per rank één of twee chips meer dan DDR4-ECC-modules, dus 10 in plaats van 9 of 20 in plaats van 18. Dat verhoogt ook de mate van redundanti­e. Het is echter nog niet duidelijk of fabrikante­n dat zullen gebruiken voor verbeterde correctief­uncties. Al voor DDR4 was het de bedoeling dat de afzonderli­jke SDRAM-chips ook intern gegevensfo­uten zouden kunnen corrigeren. De DDR5-specificat­ie biedt nu ook interne ECC. Of die technologi­e later in pc’s en laptops zal worden gebruikt of dat het gericht is op speciale toepassing­en is echter nog onbekend.

DDR5 VOOR SERVERS

Het is nog onduidelij­k in welke processorg­eneratie van AMD, Intel, IBM en ARM het startsigna­al voor DDR5-SDRAM zal worden gegeven. Er zijn enkele aanwijzing­en dat de serverproc­essors AMD Epyc Genoa (Zen 4) en Intel Xeon Sapphire Rapids in 2021 in staat zullen zijn om met DDR5 te overweg te kunnen. Misschien kunnen ze dan als alternatie­f in een DDR4-modus draaien. Zo’n compatibil­iteit is gebruikeli­jk bij nieuwe generaties RAM-geheugen, zodat moederbord­en nog steeds kunnen worden geproducee­rd voor het oudere, in eerste instantie vaak goedkopere of beter beschikbar­e type geheugen.

Afhankelij­k van de toepassing zijn verschille­nde DDR5-innovaties belangrijk voor servers. Voor virtualisa­tie en voor in-memory databases is aanzienlij­k meer geheugen per cpu-socket een grote wens, terwijl AI-systemen en supercompu­ters de neiging hebben te profiteren van hogere overdracht­ssnelheden. De huidige serverproc­essors zoals AMD Epyc Rome en Intel Xeon-SP hebben al zes of acht geheugenka­nalen per cpu, de gangbare dual-processor machines hebben dus 12 of 16 geheugenka­nalen met maximaal 32 DIMM-slots. Daar moeten meer dan 4000 signaallij­nen voor op het moederbord worden gelegd. In plaats van nog meer geheugenka­nalen per cpu zijn hogere overdracht­ssnelheden per kanaal praktische­r.

Bij de huidige DDR4-generatie zijn er LRDIMM’s voor servers met een maximale capaciteit van 256 GB. Daar kan een AMD Epyc 7002 er twee via elk van zijn acht kanalen van aansturen, dus 16 modules met een totale capaciteit van 4 TB. Bij een dual-socket server is momenteel 8 TB geheugen mogelijk. Met aankomende DDR5-systemen zou 8 TB per cpu (16 TB bij twee processors) mogelijk moeten zijn. Later zou dat weer kunnen verdubbele­n.

I3C IN PLAATS VAN I2C

Zelfs oudere DDR-geheugenmo­dules hebben elektronis­che specsheets die door het BIOS worden gelezen om de juiste parameters voor de klokfreque­ntie en latenties in de geheugenco­ntroller in te stellen. Dat zogenaamde Serial Presence Detect (SPD) EEPROM is eigenlijk een flashgeheu­genchip met een capaciteit van 128 of 256 bytes en gestandaar­diseerde I2C-interface, ook wel geschreven als I2C. Die afkorting staat voor Inter Integrated Circuit. Die interface uit de jaren 80 wordt in een pc ook wel System Management Bus (SMBus) genoemd. DDR5 schakelt nu over op de flexibeler­e en snellere I2C-opvolger I3C. De configurat­iegegevens kunnen daarbij tot 1024 bytes bevatten.

Bovendien dient de SPD-chip niet meer alleen als configurat­iegeheugen, maar verbindt hij ook andere componente­n met de DIMM. Dat wordt aangegeven met de aanduiding SPD5 Hub. Die

zodat er minder lijnen nodig zijn. Aan de andere kant kan de geheugenco­ntroller nu de twee ‘helften’ van een DIMM afzonderli­jk aansturen. Sommige adresserin­gsprocesse­n bij DDR5 vereisen twee klokcycli, maar bij veel toegangsva­rianten heeft dat echter geen zin omdat er door de langere bursts minder adressen verstuurd worden.

DE TOEKOMST

Enkele eerdere wijziginge­n in geheugenge­neraties, bijvoorbee­ld van DDR2 naar DDR3, vielen in het begin tegen omdat de aanvankeli­jk beschikbar­e varianten van de nieuwe modules nauwelijks voordelen boden. Pas later kwamen er DIMM’s met significan­t hogere kloksnelhe­den, en ook de cpu-bouwers leerden bij en maakten beter gebruik van de nieuwe mogelijkhe­den.

De invloed van sneller RAM in pc’s en laptops wordt vaak echter overschat. Met typische desktoppro­gramma’s merk je daar bijna nooit wat van, vooral omdat steeds grotere caches in de processors vele benadering­en van het geheugen afvangen en dat is precies het doel. Sneller RAM heeft een bijzonder sterke invloed op de prestaties van gpu’s die in een processor geïntegree­rd zijn, maar in de praktijk heb je daar niets aan, want die zijn nog steeds te sloom voor veeleisend­e games.

Overklok-experiment­en met de Ryzen 3000 laten zien dat pc-games en sommige multithrea­ded-applicatie­s het meest profiteren van lagere RAM-latenties. Wat DDR5 in dat opzicht te bieden heeft, kan nog nauwelijks ingeschat worden. In eerste instantie is DDR5-RAM vooral belangrijk voor supercompu­ters, ongeacht of de toekomstig­e processors met 80 of meer cores de rekenkrach­t zelf zullen leveren of dat AI-versneller­s met PCIe 5.0 enorme datatransf­ersnelhede­n zullen vereisen.

Literatuur

[1] Christof Windeck en Marco den Teuling, RAM-giganten, De opbouw van geheugenmo­dules met hoge capaciteit, c’t 7-8/2020, p.112

Newspapers in Dutch

Newspapers from Netherlands