Betrouwbaar werken op Lenovo workstations dankzij ECC

c't-partner
0

Inhoudsopgave

    Betrouwbaar werken dankzij Error Correction Code (ECC) wordt vooral gebruikt in servers en workstations om ze betrouwbaarder te maken. Gewone pc’s, laptops en goedkope NAS-apparatuur moeten het doen zonder ECC-RAM, maar crashen in het algemeen niet door geheugenfouten. Misschien vraag je je daarom af wat die technologie doet en in welke toepassingen hij voordelen biedt.

    Download jouw gratis e-book over workstations

    ECC-bescherming

    ECC detecteert en corrigeert de verreweg meest voorkomende geheugenfouten, namelijk alle fouten die een enkel bit tegelijk beïnvloeden. Gangbare ECC-implementaties kunnen ook alle fouten detecteren die twee bits tegelijk beïnvloeden, maar kunnen slechts een aantal daarvan corrigeren.

    Als meer dan twee bits fouten vertonen, kan ECC dat zelden detecteren. De veelgebruikte ECC-varianten worden daarom Single Error Correction, Double Error Detection, of kortweg SECDED genoemd.

    Veel computers met ECC-functionaliteit detecteren en corrigeren niet alleen fouten, maar loggen deze ook. Dit maakt het mogelijk om ze daadwerkelijk te analyseren. Voor pc’s en laptops zonder ECC-RAM kunnen bitfouten daarentegen alleen indirect worden afgeleid uit crashes of rekenfouten.

    Het loggen van gecorrigeerde en niet-corrigeerbare geheugenfouten (CE/UE) is een krachtige tool voor een betere Reliability, Availability, and Serviceability (RAS). In tegenstelling tot wat veel mensen denken, blijkt uit verschillende studies dat de meeste geheugenbitfouten geen toevallige gebeurtenissen zijn die te wijten zijn aan kosmische straling of natuurlijke radioactiviteit. Er is een hoge mate van correlatie bij geheugenfouten: als een geheugenmodule al een fout heeft geregistreerd, is de kans op verdere fouten veel groter dan bij foutloze modules. Een aanzienlijk deel van de bitfouten zijn daarom eerder harde errors met oorzaken zoals defecte DRAM-chips, contactproblemen met geheugenmodules of CPU-sockets, en onstabiele spanningsconverters op het moederbord. Dergelijke fouten kunnen alleen worden opgespoord door het ECC-logboek te analyseren.

    Een ECC-DIMM (midden) heeft één of twee geheugenchips meer per rank dan een non-ECC- module (onder). RDIMM’s zijn altijd ECC-modules en hebben een extra bufferchip (cache), die bij de bovenste module in het midden zit.

    Download het gratis e-book over workstations i.s.m. Lenovo

    Verplicht veld

    Door het bevestigen van bovenstaande opt-in kan de gevraagde informatie mogelijk worden gebruikt door Lenovo voor e-mails en/of telefonisch contact rondom producten, diensten, evenementen of gepersonaliseerde informatie. Je kunt jezelf op elk gewenst moment eenvoudig afmelden. Bekijk het privacy statement van Lenovo voor meer informatie.

    ECC 101

    Fouten in data kunnen worden opgespoord door het gebruik van redundante informatie. Een alledaags voorbeeld is het controlecijfer dat in elk IBAN is opgenomen. Met ECC-RAM berekent de geheugencontroller eerst een controlecode voor elk blok gebruikersdata dat hij naar het geheugen schrijft. Deze controlecode wordt bovendien opgeslagen bij de gebruikersdata. Wanneer de gebruikersdata later wordt uitgelezen, berekent de geheugencontroller de controlecode opnieuw en vergelijkt deze met de eerder opgeslagen controlecode. Als de twee waarden verschillen, is er een fout opgetreden.

    Blok voor blok

    ECC werkt met vaste blokgroottes van gebruikersdata en controlecodes. De meeste x86-computers, maar ook ARM- en Power-processors voor servers, gebruiken verschillende geheugenkanalen met elk 64 datalijnen voor de gebruiker, die per datatransfer 8 bytes overdragen (1 byte = 8 bits). Dit wordt ook wel een x64-geheugenbus genoemd.

    ECC-RAM vereist een geheugenbus met acht extra lijnen, plus geheugenmodules die voor elke 8 bytes één extra lijn bevatten. In jargon worden ECC-geheugenmodules x72-modules genoemd, omdat zij 72 datasignaallijnen hebben. Non-ECC-modules worden x64-DIMM’s genoemd. DIMM staat voor Dual Inline Memory Module. ECC-DIMM’s hebben geen eigen ECC-rekenunits, maar bevatten extra SDRAM-chips waarin de geheugencontroller de controlecodes wegschrijft. Het aantal extra DRAM-chips dat een ECC-DIMM heeft, hangt af van de opbouw, die sterk kan variëren.

    Servers en workstations vereisen niet alleen betrouwbaar, maar ook snel en energiezuinig geheugen. ECC-beveiliging mag de dataoverdracht daarom niet vertragen en mag niet veel energie verbruiken. Daarom zijn de rekenunits voor het genereren en vergelijken van de ECC-checkcodes hardwired in de geheugencontroller, bijvoorbeeld in de vorm van toestandsmachines. De ECC-functie vertraagt daardoor de snelheid en de latentie van de gegevensoverdracht slechts in geringe mate.

    Een workstation zoals de ThinkStation P3 Tower biedt plaats aan tot vier ECC-modules.

    ECC-diagnose

    De ECC-functie werkt op het niveau van de hardware en, afhankelijk van de implementatie, ook op BIOS-niveau. Het besturingssysteem krijgt dus niet noodzakelijkerwijs te maken met bitfouten en de correctie daarvan. Er zijn echter twee gevestigde methoden om besturingssystemen te informeren over het functioneren van de ECC-substructuur: de ACPI Platform Error Interface (APEI), die is voortgekomen uit de Windows Hardware Error Architecture (WHEA), en voor Linux is er het Error Detection and Correction (EDAC) project, dat ongeveer 15 jaar geleden is ontstaan onder de naam Bluesmoke.

    Wanneer het BIOS APEI ondersteunt, komt informatie over ECC-interventies terecht in de event-log van Windows. Linux kan ook APEI gebruiken. De EDAC-tools onder Linux hebben daarentegen geen BIOS-ondersteuning nodig, omdat zij de registers in de processor die verantwoordelijk zijn voor ECC rechtstreeks bevragen: de Model-Specific Registers (MSR) van de Machine Check Architecture (MCA).

    Servers van onder andere Lenovo zijn uitgerust met chips voor remote beheer, ook wel Baseboard Management Controllers (BMC) genoemd. Dergelijke BMC’s verstrekken informatie over ECC-RAM via interfaces voor remote beheer, zoals IPMI en Redfish. In hun firmware kunnen gewoonlijk notificatiefuncties worden geactiveerd, zodat de systeembeheerder e-mails ontvangt in geval van ECC-fouten.

    In de BIOS van veel moederborden met ECC-ondersteuning is een event-log te bekijken waarin geheugenfouten worden gelogd.

    Inzetten

    Zoals eerder vermeld, zijn er talrijke studies over fouten in RAM-geheugen. Deze studies zijn vaak enkele jaren oud en verwijzen naar DDR3-SDRAM, terwijl de huidige computers werken met DDR4- en DDR5-geheugenmodules. Toch bieden dergelijke studies interessante inzichten. Het blijkt dat een aanzienlijk deel van de geheugenfouten niet in de DRAM-chips zelf optreedt, maar in de stekkercontacten in de signaalroute (CPU- en DIMM-sockets). Ook bleek dat de chips van bepaalde fabrikanten aanzienlijk vatbaarder waren, en dat meer dan de helft van de bitfouten permanent was, en dus niet slechts willekeurig en tijdelijk optrad (harde in plaats van soft-errors).

    Bovendien neemt de kans op defecten toe naarmate er meer DRAM-chips samen op een module zitten. Dit leidt bijvoorbeeld tot meer soldeerverbindingen en meer datalijnen, waarvan de elektromagnetische emissies andere signalen kunnen storen.

    Dit bevestigt dat hoe eenvoudiger een systeem is gebouwd, des te minder bronnen van fouten er zijn. In principe werken zo weinig mogelijk aan elkaar gesoldeerde componenten op een printplaat betrouwbaarder dan een modulair systeem met meerdere connectors. Maximale betrouwbaarheid staat dus op gespannen voet met een flexibele configuratie en het zo eenvoudig mogelijk upgraden en repareren door middel van verwisselbare modules.

    ECC-systemen

    Helaas kan ECC-foutbescherming niet achteraf aan een computer worden toegevoegd door eenvoudig ECC-RAM te installeren. In plaats daarvan moeten de processor, het moederbord en het BIOS samenwerken. De processor bevat de geheugencontroller, die de ECC-gegevens berekent, deze naar het RAM schrijft en ze bij het lezen opnieuw controleert. Het moederbord moet bovendien beschikken over de geheugenbuslijnen tussen de CPU en de DIMM-aansluitingen die nodig zijn voor ECC. Het BIOS van het moederbord moet ook de ECC-functie in de CPU activeren. Daarnaast zorgt het BIOS vaak voor ECC-logging en registreert het gebeurtenissen in zijn flashgeheugen. Veel ECC-compatibele moederborden hebben opties in de BIOS-instellingen om het ECC-logboek te lezen en te wissen. Bij een workstation zijn de componenten op elkaar afgestemd, zodat ze goed samenwerken.

    Desktopmoederborden voor ECC-RAM zijn zeldzaam, omdat het vanuit het perspectief van fabrikanten een minder lucratieve niche is. Meer dan 90 procent van alle x86-computers wordt verkocht als compleet systeem, waarbij de nadruk ligt op een lage prijs. ECC maakt RAM echter ten minste 11 procent duurder. Aangezien de overgrote meerderheid van de pc-kopers niet weet wat ECC is, vormt dat geen extra verkoopargument. De betrouwbaarheidswinst van ECC is voor typische desktop-pc’s waarschijnlijk ook klein, omdat deze vaker zullen crashen door problemen zoals slechte drivers en software dan door een workstation.

    Als je een computer met ECC nodig hebt, kun je die gemakkelijk vinden. Zakelijke gebruikers kopen bij voorkeur kant-en-klare vaste of mobiele workstations. Dit is niet van toepassing op gewone desktop-pc’s, laptops, thuisservers en NAS-systemen, en zeker niet op computers die zelf in elkaar zijn gezet. Daarom kan slechts een deel van de bevindingen over bitfouten bij grote servers worden overgebracht op pc’s.

    De invloed van de kwaliteit van de DRAM-chips en de complete geheugenmodules is duidelijk. Het is een publiek geheim in de industrie dat fabrikanten van geheugenmodules veel strengere kwaliteitscriteria hanteren voor servergeheugen dan voor desktopgeheugen, dat zo goedkoop mogelijk moet zijn. Bij desktopgeheugen gaat het meer om overklokken (en kleurrijke verlichting) dan om maximale betrouwbaarheid. We adviseren al jaren om DIMM’s te kopen van de echte DRAM-chipfabrikanten (Samsung, SK Hynix, Micron) en ook versies zonder metalen plaatjes als afdekking (heatspreaders), die bij overklokmodules vaak naamloze chips verbergen en verder geen voordeel opleveren.

    Het is verder zinvol om je te oriënteren op de compatibiliteitslijsten (Memory Qualified Vendors List, QVL) van je moederbord. Helaas zijn de daar vermelde modules niet altijd gemakkelijk te vinden in EU-webshops. Omgekeerd bieden de websites van grote third-party modulefabrikanten, zoals Kingston en Crucial, databases met een lijst van geschikte DIMM’s voor bepaalde moederborden. Third-party fabrikanten van modules kopen geheugenchips en volledige DRAM-wafers van de oorspronkelijke fabrikanten en testen en selecteren de chips uit volledige wafers volgens hun eigen criteria.

    Een paar andere factoren beïnvloeden de betrouwbaarheid van geheugen: de kwaliteit van de connectors op het moederbord, de spanningsconverters, de zorg die aan de assemblage wordt besteed en de kwaliteitsborging van het volledige systeem. De computer moet de schommelingen in temperatuur en spanning als gevolg van veranderende belastingen kunnen opvangen.

    In een rackserver past 4TB aan RAM: dat is 500 keer meer dan de gemiddelde hoeveelheid van een standaard desktop-pc of laptop (8 GB). Bij een server kunnen geheugenfouten bovendien meer schade aanrichten. ECC-RAM is daarom bij servers vaak gebruikelijk.

    Conclusie

    ECC-RAM vermindert de kans op bitfouten in werkgeheugen aanzienlijk en maakt het mogelijk dergelijke fouten op te sporen. Het garandeert echter geen foutloos werkgeheugen en kan niet achteraf aan een willekeurig systeem worden toegevoegd. ECC-RAM transformeert een los in elkaar gezet systeem niet in een foutvrije machine. Een kant-en-klaar workstation met ECC-geheugen biedt meer zekerheid. Het is moeilijk in te schatten hoeveel betrouwbaarder een computer met ECC-RAM is dan zonder, omdat ook de kwaliteit van de andere onderdelen, de omstandigheden waarin de pc zijn werk doet, de software en de specifieke manier waarop de computer wordt gebruikt een rol spelen.

    ECC-RAM is om goede redenen een standaardvoorziening bij servers die intensief worden gebruikt. Massaproductieapparaten met expliciet goedgekeurde componenten beloven een bijzonder hoge betrouwbaarheid. Een kant-en-klaar workstation met ECC van een gerenommeerde fabrikant, zoals Lenovo, is wat dat betreft een veilige keuze.

    Meer weten over workstations?

    Download het gratis e-book over workstations i.s.m. Lenovo

    Verplicht veld

    Door het bevestigen van bovenstaande opt-in kan de gevraagde informatie mogelijk worden gebruikt door Lenovo voor e-mails en/of telefonisch contact rondom producten, diensten, evenementen of gepersonaliseerde informatie. Je kunt jezelf op elk gewenst moment eenvoudig afmelden. Bekijk het privacy statement van Lenovo voor meer informatie.

    Deel dit artikel

    Lees ook

    Dit zijn de nieuwste producten van Huawei inclusief nieuwe Watch D2

    Op dinsdag 28 januari heeft Huawei in Nederland een reeks nieuwe producten gelanceerd, waarbij de Huawei Watch D2 de absolute blikvanger was. Met zijn...

    DeepSeek laat zien dat AI-security niet langer optioneel is

    Het zal je niet zijn ontgaan: afgelopen week werd DeepSeek gelanceerd, de gloednieuwe AI-chatbot van Chinese afkomst die veel efficiënter én goedkoper...

    0 Praat mee
    avatar
      Abonneer  
    Laat het mij weten wanneer er