Il y a une dizaine ou une vingtaine d'années, je pouvais acheter de la RAM ECC (Error Correction Code) pour 1 000 euros. PC que j'assemblais. La RAM ECC fournissait SEC-DED, je suppose contre les inversions de bits de bits causés par les radiations ionisantes (je ne sais pas ce qui pourrait causer d'autres des erreurs binaires transitoires dans la RAM ou les bus E/S).
Il existe trois causes générales d'erreurs de bits, dont les deux premières sont les suivantes événements uniques :
-
Rayonnement (principalement neutrons libres ). Ce phénomène particulier dépend d'un certain nombre d'éléments tels que le section transversale des neutrons de l'appareil en question. Cela peut sembler contraire à l'intuition, mais les plus récents beaucoup plus petit ont une probabilité plus faible d'être perturbées par des neutrons car elles ont été conçues pour être moins sensibles. Voir le Lien vers Xilinx (à partir du bas).
-
Le plomb, plus précisément le Pb210 qui fait partie du Chaîne de désintégration de l'uranium et se trouve dans les anciens kits dans les boules des dispositifs BGA. Xilinx désigne les erreurs de ce type comme le taux alpha, car elles émettent une particule alpha lors de la désintégration. Il est clair que ce n'est pas un problème pour une grande partie des équipements actuels qui sont sans plomb (mais c'est toujours un problème dans l'aérospatiale où le traitement du plomb à l'étain est encore courant).
-
Problèmes généraux de taux d'erreur binaire. Une interface mémoire est un canal de communication, et tous Les canaux de communication ont un taux d'erreur. Il est vrai que vous ne verrez peut-être jamais une seule erreur de bit dans la vie d'un équipement particulier, car il s'agit d'une quantité statistique. Les erreurs dues au bruit électrique et à un mauvais découplage des appareils entrent également dans cette catégorie.
Par exemple, si la mémoire vive ECC était considérée comme une fonctionnalité utile il y a dix ans, les raisons pour lesquelles elle était utile ne s'appliquent plus aux ordinateurs personnels actuels. raisons pour lesquelles elle était utile ne s'appliquent plus aux ordinateurs personnels et aux et les serveurs actuels ? Ou est-ce que l'on pense maintenant que la RAM ECC n'a jamais été réellement utile ?
Elle était utile, mais d'une valeur limitée, bien que de nombreuses attaques par canal latéral puissent être atténuées par son utilisation.
La véritable raison pour laquelle vous ne pouvez pas le trouver dans les cartes disponibles dans le commerce est tout simplement le coût et les cartes qui ne sont pas disponibles dans le commerce. faire avoir une prime assez importante, bien plus élevée que le coût delta du silicium pour le gérer et les 8 bits de données supplémentaires (pour un système de mémoire de 64 bits). L'analyse coûts-avantages ne permet pas d'envisager une large diffusion.
Je me souviens d'un document de recherche de Boeing qui traitait des erreurs molles dans un centre de données de Denver. La quantité de neutrons libres est (jusqu'à un certain niveau) proportionnelle à l'altitude. Plus on s'élève, plus il y en a.
Si la mémoire ECC était utile il y a vingt ans, elle serait probablement plus utile maintenant que les PC fonctionnent avec 1 à 2 ordres de grandeur de plus de plus de mémoire, à des tensions plus basses et avec des caractéristiques physiques plus petites qui (présumément) n'ont pas d'importance. (vraisemblablement) plus susceptibles d'être corrompues par des radiations parasites. L'une de ces hypothèses est-elle incorrecte ?
Les interfaces de mémoire dont nous disposons aujourd'hui sont loin Les tensions de transition sont plus robustes que vous ne le pensez ; pour la DDRx, les strobes de données sont différentielles (elles rejettent donc le bruit de mode commun) et des tensions de transition plus faibles sont en fait meilleures pour les interfaces à haut débit, comme nous l'avons prouvé il y a des années avec la ECL .
Dans l'avionique, et en particulier dans l'avionique critique pour la sécurité du vol, comme les ordinateurs de contrôle de vol, l'utilisation de l'ECC pour L2 et au-delà est obligatoire, tout comme l'utilisation de la parité pour L1. C'est l'une des raisons pour lesquelles ces cartes ne sont pas de marque Intel ou AMD.
[Mise à jour]. Les spécificités de la disposition des cellules de mémoire ont un effet assez important sur leur susceptibilité aux SEU ; Xilinx a adopté une approche particulière qui empile effectivement les cellules de mémoire de manière à ce que les SEU ne puissent pas se produire. probabilité d'un neutron de haute énergie provoquant un basculement de bit est considérablement réduite.
Comme je suis pas un concepteur de circuits intégrés, c'est tout ce que je peux dire. Il y a beaucoup plus d'informations sur le site Projet Rosetta .