Ce lundi, le créateur du noyau Linux Linus Torvalds a lancé une diatribe frustrée sur le manque de RAM ECC (Error Correcting Checksum) dans les PC grand public et les ordinateurs portables.
… la politique malavisée et rétrograde de « les consommateurs nont » pas besoin dECC « , le marché de la mémoire ECC disparaît.
Les arguments contre lECC ont toujours été complets et complètement inutiles. Maintenant, même les fabricants de mémoire commencent à faire ECC en interne parce quils ont finalement reconnu le fait quils doivent absolument le faire.
Si vous « nêtes pas familier avec la RAM ECC, cest probablement parce que vous ne construisez » ou ne spécifiez pas de serveurs dédiés utilisant des processeurs et des cartes mères de qualité serveur – ce qui, malheureusement, concerne le seul endroit où vous trouvez réellement ECC. En un mot, la RAM ECC comprend une petite quantité de mémoire supplémentaire utilisée pour la détection et la correction des erreurs.
Erreurs de mémoire et probabilité
Dans la plupart des implémentations modernes, cela signifie pour chaque 64- mot de bits stocké dans la RAM, il y a huit bits de contrôle. Une erreur sur un seul bit (un 0 retourné à 1 ou un 1 retourné à 0) peut être détectée et corrigée automatiquement. Deux bits retournés dans le même mot peuvent être détectés mais pas corrigés. Trois bits ou plus retournés dans le même mot seront probablement détectés, mais la détection nest pas garantie.
Les retournements de bits peuvent se produire pour de nombreuses raisons, à commencer par un impact cosmique ou une simple panne matérielle. Une étude à grande échelle des serveurs Google a révélé quenviron 32% de tous les serveurs (et 8% de tous les modules DIMM) de la flotte de Google subissaient au moins une erreur de mémoire par an. Mais la grande majorité dentre elles sont des erreurs sur un seul bit— et comme Google utilise des processeurs de serveur et de la RAM ECC, cela signifie que les machines en question continuent à rouler.
Sur les machines grand public, même ces erreurs sur un seul bit – qui sont 40 fois plus susceptibles de se produire que les erreurs sur plusieurs bits, selon les données de Google – ne sont pas détectées et peuvent entraîner instabilité dans les systèmes et corruption dans les données.
Les retournements de bits ne sont pas toujours accidentels
Toutes les erreurs de RAM ne sont pas le résultat dune défaillance matérielle ou dun problème EMF non intentionnel. Ces dernières années, les chercheurs ont développé des attaques de canaux latéraux de plus en plus pratiques basées sur la physique, en utilisant des retournements de bits rapides et contrôlés dans des zones de RAM accessibles à une application pour déduire ou modifier les valeurs des données dans les zones adjacentes de RAM quelles ne devraient pas être en mesure de .
Bien que la RAM ECC ne puisse « t atténuer les attaques de type RAMBleed qui déduisent les valeurs de la mémoire adjacente, elle peut généralement arrêter les attaques Rowhammer – dans lesquelles le retournement rapide de bits dans une zone de la RAM provoque la modification des bits dune zone adjacente.
/ p>
Même si ECC ne peut pas empêcher activement une attaque Rowhammer davoir un impact sur le système – par exemple, quand il retourne plusieurs bits en un mot – il peut au moins alerter le système du problème et, en dans la plupart des cas, empêchez lattaque Rowhammer de faire autre chose que de provoquer des temps darrêt (la plupart des systèmes ECC sont configurés pour arrêter toute la machine si une erreur non corrigible est détectée.)
Torvalds blâme Intel
Et les fabricants de mémoire c laim cest à cause de léconomie et de la puissance inférieure. Et ce sont des salauds mensongers – permettez-moi une fois de plus de souligner comment ces problèmes existent depuis plusieurs générations déjà, mais ces f * ckers vendaient avec joie du matériel cassé aux consommateurs et affirmaient quil sagissait dune « attaque », alors que cétait toujours le cas. « Nous » coupons les coins ronds. «
Combien de fois un marteau-piqueur comme un bit-flip sest-il produit simplement par pure malchance sur de vraies charges sans attaque? Nous ne le saurons jamais. Parce quIntel poussait de la merde aux consommateurs.
Torvalds prend la position audacieuse que le manque de RAM ECC dans la technologie grand public est la faute dIntel en raison de la politique artificielle de lentreprise segmentation du marché. Intel a tout intérêt à pousser les entreprises aux poches plus profondes vers ses processeurs de niveau serveur plus chers et plus rentables plutôt que de laisser ces entités utiliser efficacement les composants consommateurs nécessairement à faible marge.
Suppression du support pour la RAM ECC provenant de processeurs qui ne sont pas directement ciblés sur le monde des serveurs est l’une des façons dont Intel a conservé ces marchés fortement segmentés. Largument de Torvalds ici est que le refus dIntel de prendre en charge la RAM ECC dans ses parties destinées aux consommateurs – ainsi que son quasi-monopole de facto dans cet espace – est la vraie raison pour laquelle ECC est presque indisponible en dehors de lespace serveur.
Largument habituel pour expliquer pourquoi lECC nest pas présent dans la technologie grand public tourne autour du coût, mais nous soupçonnons que Torvalds en a le droit ici. Bien que la RAM ECC soit essentiellement une partie spécialisée difficile à trouver, elle ne coûte généralement quenviron 20% de plus par DIMM que les non-ECC au détail. Le vrai problème est que sans les cartes mères et les processeurs qui la prennent en charge, elle ne le fera pas vous tout bon.