S'abonner :  Newsletters    Magazines
[ SEMI-CONDUCTEURS ]
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.

RENAUD BONNET , Décision Micro (n° 0439), le 09/10/2000 à 00h00

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.

La correction d`erreurs, une longue recherche

Vers 1947, le mathématicien Claude Shannon, fondateur de la théorie de l`information, lance les travaux sur la correction d`erreurs, qu`il présente comme le seul moyen d`obtenir des systèmes de stockage rapides et de grande capacité (à l`époque quelques kilo-octets). La même année, Richard Hamming réalise et implémente le premier code de correction monobit. En 1960, Irving Reed et Gustave Solomon découvrent les premiers algorithmes de vérification d`erreurs applicables à n`importe quelle taille de mémoire, sans parvenir à franchir l`étape de la correction (ce sont les célèbres codes Solomon-Reed). En 1968, cette étape est franchie par Elwin Berlekamp et James Massey. Leur algorithme de correction d`erreurs, à la base d`un grand nombre de mémoires ECC, est par la suite rapproché des travaux d`Euclide (3 siècles av. J. -C. ) sur les plus grands communs dénominateurs permettant d`effectuer les mêmes tâches. À partir de 1977, les chercheurs d`IBM entament des travaux, qui aboutissent à la fin des années 80 à la mise en évidence de l`influence des rayons cosmiques sur les erreurs mémoire.


Une option pour les systèmes de haut de gamme

Le principe de fonctionnement des mémoires Chipkill ECC repose, aujourd`hui, sur une conception purement matérielle qui recourt à des circuits imprimés spécialisés capables de traiter les erreurs à la volée. Durant plusieurs années, les prédécesseurs de Chipkill ont été réservés aux grands systèmes IBM (S/390), avant que le constructeur ne les propose en option sur ses serveurs AS/400 de haut de gamme et RS/6000. Depuis un an, la mémoire ECC Chipkill est mise en oeuvre dans les serveurs Intel, particulièrement sur les octoprocesseurs IBM Netfinity M10 et chez Dell sur les PowerEdge 6400 et 6450. IBM ne cache pas son intention de généraliser l`emploi de ce type de mémoire sur la majorité de ses serveurs (au moins comme option). D`autre part, les chercheurs des laboratoires du constructeur estiment que l`augmentation constante de la mémoire sur l`ensemble des équipements informatiques devrait conduire à la généralisation des mémoires ECC Chipkill dans les prochaines années.



Un composant dédié à la correction d`erreurs
Chipkill exploite un composant spécialisé qui applique ses algorithmes non pas sur un mot mémoire dans son entier, mais sur tous les énièmes bits des différents mots, permettant la reconstruction de plusieurs bits dans un mot endommagé.

> Logiciel : F-Secure
Internet Security 2010
Profitez de notre offre promotionnelle de - 20 %!

publicité
Livre
Plongée dans les archives secrètes de la Brigade Mondaine.

classement FAI
Retrouvez chaque semaine le classement des fournisseurs d'accès avec ip-label 1 Orange 2 Free 3 Bouygues Telecom > Plus de détails
offres d'emploi
Stockage
Dvico TViX HD 1To. Disque dur numérique. Comparez les prix !

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.