Perché i PC non utilizzano la RAM per la correzione degli errori? “Perché Intel”, dice Linus

Enlarge / Negli ultimi due anni ci siamo divertiti con un Linus Torvalds più gentile e gentile .. . ma questo non significa che abbia smesso di avere opinioni.

Questo lunedì, Linus Torvalds, il creatore del kernel Linux, ha protestato frustrato per la mancanza di RAM ECC (Error Correcting Checksum) nei PC consumer e laptop.

… la politica fuorviante e al contrario “i consumatori non hanno bisogno di ECC”, il mercato della memoria ECC se ne va.

Le argomentazioni contro lECC erano sempre complete e completamente inutili. Ora anche i produttori di memorie stanno iniziando a fare ECC internamente perché finalmente hanno ammesso il fatto che devono assolutamente farlo.

Se non hai familiarità con la RAM ECC, probabilmente è perché non costruisci o specifichi server dedicati utilizzando CPU e schede madri di livello server, il che, sfortunatamente, riguarda lunico posto in cui trovi effettivamente ECC. In poche parole, la RAM ECC include una piccola quantità di memoria aggiuntiva utilizzata per il rilevamento e la correzione degli errori.

Errori di memoria e probabilità

Nella maggior parte delle implementazioni moderne, questo significa per ogni 64- parola di bit memorizzata nella RAM, ci sono otto bit di controllo. Un errore di un singolo bit, uno 0 capovolto a 1 o un 1 capovolto a 0, può essere rilevato e corretto automaticamente. Due bit capovolti nella stessa parola possono essere rilevati ma non corretti. Probabilmente verranno rilevati tre o più bit capovolti nella stessa parola, ma il rilevamento non è garantito.

I capovolgimenti di bit possono verificarsi per molte ragioni, a partire dallimpatto dei raggi cosmici o da un semplice guasto hardware. Uno studio su larga scala dei server di Google ha rilevato che circa il 32% di tutti i server (e l8% di tutti i DIMM) nel parco macchine di Google registra almeno un errore di memoria allanno. Ma la stragrande maggioranza di questi sono errori a bit singolo— e poiché Google utilizza CPU del server e RAM ECC, ciò significa che le macchine in questione continuano a spostarsi su autocarri.

Visualizza altro

Nelle macchine consumer, anche questi errori a bit singolo, che hanno una probabilità 40 volte maggiore rispetto agli errori a bit multipli, secondo i dati di Google, non vengono rilevati e possono introdurre instabilità nei sistemi e danneggiamento dei dati.

I capovolgimenti di bit non sono sempre accidentali

Non tutti gli errori di RAM sono il risultato di un guasto hardware o di un problema EMF non intenzionale. Negli ultimi anni, i ricercatori hanno sviluppato attacchi ai canali laterali sempre più pratici basati sulla fisica, utilizzando rapidi e controllati passaggi di bit in aree della RAM accessibili a unapplicazione per dedurre o modificare i valori dei dati nelle aree adiacenti della RAM che non dovrebbero essere in grado di fare. .

Sebbene la RAM ECC non possa mitigare gli attacchi in stile RAMBleed che deducono i valori della memoria adiacente, in genere può fermare gli attacchi Rowhammer, in cui il rapido ribaltamento dei bit in unarea della RAM causa la modifica dei bit in unarea adiacente.

Anche quando ECC non può impedire attivamente che un attacco Rowhammer abbia un impatto sul sistema, ad esempio quando capovolge più bit in una parola, può almeno avvisare il sistema del problema e, in nella maggior parte dei casi, impedisce allattacco Rowhammer di fare qualcosa di diverso dal causare tempi di inattività (la maggior parte dei sistemi ECC sono configurati per arrestare lintera macchina se viene rilevato un errore irreversibile)

Torvalds incolpa Intel

E i produttori di memoria c laimmo a causa delleconomia e del potere inferiore. E sono bastardi bugiardi – lasciatemi ancora una volta sottolineare come questi problemi esistessero già da diverse generazioni, ma questi fottuti vendettero felicemente hardware rotto ai consumatori e sostenevano che si trattava di un “attacco”, quando lo è sempre stato “Stiamo” tagliando gli angoli “.

Quante volte un martello di riga come il bit-flip è accaduto solo per pura sfortuna su carichi reali non di attacco? Non lo sapremo mai. Perché Intel stava spingendo la merda ai consumatori.

Torvalds assume la posizione coraggiosa che la mancanza di RAM ECC nella tecnologia consumer sia colpa di Intel a causa della politica aziendale di segmentazione del mercato. Intel ha un interesse acquisito nello spingere le aziende con le tasche più profonde verso le sue CPU di livello server più costose e redditizie piuttosto che consentire a tali entità di utilizzare efficacemente le parti di consumo necessariamente a margine inferiore.

Rimozione del supporto per la RAM ECC da CPU che non sono mirate direttamente al mondo dei server è uno dei modi in cui Intel le ha mantenute mercati fortemente segmentati. Largomento di Torvalds qui è che il rifiuto di Intel di supportare la RAM ECC nelle sue parti destinate ai consumatori – insieme al suo quasi monopolio di fatto in quello spazio – è la vera ragione per cui ECC è quasi non disponibile al di fuori dello spazio server.

Pubblicità

La solita discussione sul perché ECC non è presente nella tecnologia di consumo ruota attorno ai costi, ma sospettiamo che Torvalds ne abbia il diritto qui. Nonostante la RAM ECC sia essenzialmente una parte speciale difficile da trovare, in genere costa solo circa il 20% in più per DIMM rispetto a quella non ECC al dettaglio. Il vero problema è che senza schede madri e CPU che la supportano, non lo farà sei bravo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *