Passer au contenu

La mémoire Chipkill ECC reprend la technique utilisée pour le Raid

Les mémoires ECC savaient recomposer un bit mémoire endommagé dans un mot. Avec les mémoires Chipkill, ou Raid-M, il est possible de reconstituer le contenu d’un mot mémoire, même s’il a été totalement détruit.

La technologie Raid, si efficace pour la sécurité des données sur les disques durs, trouve son extension dans les mémoires vives sous la forme de Raid-M (Redundant Array of Inexpensive DRAM for Main Memory). Il s’agit toujours d’assurer plus de fiabilité aux équipements informatiques. Dans les serveurs, si les données en mémoire sont corrompues lors des opérations de lecture-écriture, elles provoquent le plantage du système. Les constructeurs ont amélioré la fiabilité des composants (substrats de silicium et métallisation), mais il existe d’autres ennemis à l’intégrité des mémoires : les particules alpha et les rayons cosmiques, qui agissent comme des charges énergétiques frappant les composants mémoire et changeant la valeur des cellules.

Des rayons cosmiques nuisibles

Par ailleurs, depuis une quinzaine d’années, la densité des mémoires a augmenté à double titre. D’une part, les serveurs reçoivent des quantités de mémoire vive de plus en plus élevées, pouvant dépasser largement le gigaoctet. Or, plus de mémoire implique plus de risques d’accidents. D’autre part, les composants se sont transformés. Les mémoires tendent à se miniaturiser et à afficher une résistivité moindre. Un rayon cosmique peut donc modifier le contenu de plusieurs cellules en même temps. Et c’est bien là le problème. On sait depuis des années fabriquer des mémoires à correction d’erreurs par bit de parité ou par des algorithmes ECC (Error Checking Correction, lire Décision Micro & Réseaux n?’ 392) plus complexes. Au plus simple, on prend un mot mémoire (ordinairement de 8 bits, ou un octet) et dans un neuvième bit on inscrit la parité des 8 bits. Ainsi, on peut vérifier que la parité reste constante au cours des échanges. Mais cette technologie ne permet que la mise en évidence d’une erreur, sans repérer sur quel bit du mot elle est intervenue (ce qui suffirait pour la corriger). Avec des méthodes algorithmiques (des expressions booléennes de type et/ou) ECC travaillant sur huit mots de 8 bits, et 8 bits d’inscription ECC, on peut déceler deux erreurs sur l’ensemble des huit mots, mais il reste impossible d’en corriger plus d’une. On parle alors d’ECC DED-SEC pour Double Error Detection-Single Error Correction. Il n’en reste pas moins qu’en cas de gros accident (modification de 2 bits ou plus dans un mot) il est impossible de corriger l’erreur. C’est pourquoi ce type d’incident est baptisé ” Chipkill ” : il tue l’activité du composant, provoquant une grave erreur système.
La mémoire ECC Chipkill est issue des mémoires hypersécurisées, utilisées sur les grands systèmes, dont elle simplifie le principe de fonctionnement en empruntant aux technologies Raid. Elle permet de reconstituer le contenu d’un mot mémoire, même totalement détruit. Il s’agit d’un circuit intégré (Asic) associé à un module mémoire réservé, qui prend place à côté des modules mémoire ECC utiles. Alors que le bit de parité et l’ECC ne fonctionnent que sur un mot, Chipkill effectue le même type de travail, mais sur tout un ensemble de mots en travaillant sur chacun des énièmes bits (voir schéma). Il applique l’opérateur booléen XOR (ou exclusif) sur l’ensemble de ces bits et stocke le résultat sur sa mémoire réservée (comme une grappe de disques Raid 1 ou 5). Chipkill s’applique aussi sur les bits de parité ou les bits de stockage du traitement ECC, qui sont donc eux aussi sécurisés. À chaque opération de lecture-écriture, le composant Chipkill vérifie que les valeurs issues de ses calculs sont identiques avant et après l’opération. En cas de différence, le composant détermine le mot mémoire incriminé grâce au mécanisme ECC classique. Chipkill peut ensuite reconstruire l’ensemble du mot en fonction des données stockées avant l’accident (grâce à une propriété mathématique de l’opérateur XOR). Chipkill ne peut pas encore recomposer des données en cas d’erreurs intervenues simultanément sur plusieurs mots du même groupe (comme un système Raid ne peut pas reconstruire les données si deux disques sont endommagés simultanément). Cependant, aujourd’hui, la probabilité d’un tel incident est assez infime pour pouvoir être négligée. Jusqu’à ce que, dans dix ans, la taille des mémoires ayant encore augmenté, il faille un successeur à Chipkill.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


RENAUD BONNET