Waarom gebruiken pcs geen RAM voor foutcorrectie? “Omdat Intel”, zegt Linus

Vergroten / We hebben de afgelopen jaren genoten van een vriendelijkere, zachtere Linus Torvalds .. Maar dat betekent niet dat hij geen meningen meer heeft.

Deze maandag ging Linux-kernelontwikkelaar Linus Torvalds gefrustreerd tekeer over het gebrek aan Error Correcting Checksum (ECC) RAM op consumenten-pcs en laptops.

… het misleide en ass-backwards beleid van “consumenten hebben geen ECC nodig”, de markt voor ECC-geheugen verdwijnt.

De argumenten tegen ECC waren altijd compleet en volslagen rotzooi. Nu beginnen zelfs de geheugenfabrikanten ECC intern te doen omdat ze eindelijk het feit hadden dat ze dat absoluut moesten doen.

Als u “niet bekend bent met ECC RAM, komt dat waarschijnlijk omdat u geen dedicated servers bouwt of specificeert met CPUs en moederborden van serverkwaliteit – wat helaas ongeveer gaat over de enige plaats waar u ECC daadwerkelijk vindt. Kortom, ECC RAM bevat een kleine hoeveelheid extra geheugen die wordt gebruikt voor het opsporen en corrigeren van fouten.

Geheugenfouten en waarschijnlijkheid

In de meeste moderne implementaties betekent dit voor elke 64- bitwoord opgeslagen in RAM, zijn er acht controlebits. Een enkele bitfout – een 0 omgedraaid naar 1, of een 1 omgedraaid naar 0 – kan zowel automatisch worden gedetecteerd als gecorrigeerd. Twee bits die in hetzelfde woord zijn omgedraaid, kunnen worden gedetecteerd maar niet worden gecorrigeerd. Drie of meer bits die in hetzelfde woord zijn omgedraaid, zullen waarschijnlijk worden gedetecteerd, maar detectie is niet gegarandeerd.

Bitflips kunnen om vele redenen gebeuren, te beginnen met kosmische straling of eenvoudige hardwarefouten. Uit een grootschalig onderzoek naar Google-servers is gebleken dat ongeveer 32 procent van alle servers (en 8 procent van alle DIMMs) in de vloot van Google minstens één geheugenfout per jaar ondervindt. Maar de overgrote meerderheid hiervan zijn enkelbitsfouten – en aangezien Google server-CPUs en ECC RAM gebruikt, betekent dit dat de machines in kwestie gelijk blijven rijden.

Meer bekijken

Op consumentenmachines worden zelfs deze enkelbits-fouten, die volgens de gegevens van Google meer dan 40 keer vaker voorkomen dan meervoudige bitsfouten, onopgemerkt en kunnen ze instabiliteit in systemen en corruptie in gegevens.

Bitflips zijn niet altijd per ongeluk

Niet elke RAM-fout is het resultaat van een hardwarefout of een onbedoeld EMF-probleem. In de afgelopen jaren hebben onderzoekers steeds praktischer op fysica gebaseerde zijkanaalaanvallen ontwikkeld, met behulp van gecontroleerde, snelle bitflips in gebieden van RAM die toegankelijk zijn voor één toepassing om de waarden van gegevens in aangrenzende gebieden van RAM af te leiden of te wijzigen die ze niet zouden moeten kunnen .

Hoewel ECC RAM “RAMBleed-achtige aanvallen die de waarden van aangrenzend geheugen afleiden, niet kan verminderen, kan het in het algemeen Rowhammer-aanvallen stoppen – waarbij snel omdraaiende bits in een gebied van RAM ervoor zorgen dat bits in een aangrenzend gebied veranderen. / p>

Zelfs als ECC “niet actief kan voorkomen dat een Rowhammer-aanval een impact heeft op het systeem – bijvoorbeeld wanneer het meerdere bits in één woord omdraait – kan het op zijn minst het systeem waarschuwen voor het probleem en, in voorkom in de meeste gevallen dat de Rowhammer-aanval iets anders doet dan downtime veroorzaken. (De meeste ECC-systemen zijn geconfigureerd om de hele machine te stoppen als er een niet-corrigeerbare fout wordt gedetecteerd.)

Torvalds geeft Intel de schuld

En de geheugenfabrikanten c laim het vanwege economie en lagere macht. En het zijn liegende klootzakken – laat me nogmaals wijzen op row-hammer over hoe die problemen al meerdere generaties bestaan, maar deze klootzakken verkochten met plezier kapotte hardware aan consumenten en beweerden dat het een aanval was, terwijl het altijd zo was “we” snijden hoeken. “

Hoe vaak is een rij-hamer-achtige bit-flip gebeurd door pure pech op echte niet-aanvalsladingen? We zullen het nooit weten. Omdat Intel stront pushte aan consumenten.

Torvalds neemt het gewaagde standpunt in dat het gebrek aan ECC RAM in consumententechnologie de schuld van Intel is vanwege het bedrijfsbeleid van kunstmatige marktsegmentatie. Intel heeft er een gevestigd belang bij om bedrijven met een grotere pocket in de richting van duurdere en winstgevende CPUs van serverkwaliteit te duwen, in plaats van die entiteiten effectief gebruik te laten maken van de consumentendelen met een lagere marge.

Ondersteuning verwijderen voor ECC RAM van CPUs die niet rechtstreeks op de serverwereld zijn gericht, is een van de manieren waarop Intel deze heeft behouden markten waren sterk gesegmenteerd. Het argument van Torvalds hier is dat Intels weigering om ECC RAM te ondersteunen in zijn consumentgerichte delen – samen met zijn feitelijke bijna-monopolie in die ruimte – de echte reden is dat ECC bijna niet beschikbaar is buiten de serverruimte.

Advertentie

Het gebruikelijke argument waarom ECC niet aanwezig is in consumententechnologie draait om de kosten, maar we vermoeden dat Torvalds hier het recht op heeft. Ondanks dat ECC RAM in wezen een moeilijk te vinden speciaal onderdeel is, kost het doorgaans slechts ongeveer 20 procent meer per DIMM dan niet-ECC in de detailhandel. Het echte probleem is dat het zonder moederborden en CPUs die het ondersteunen, het niet zal doen je iets goeds.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *