J'ai vu une discussion sur l'utilisation du ram ECC sur les serveurs. Pourquoi est-ce mieux?
J'ai vu une discussion sur l'utilisation du ram ECC sur les serveurs. Pourquoi est-ce mieux?
Réponses:
La RAM ECC peut récupérer de petites erreurs dans les bits, en utilisant des bits de parité. Étant donné que les serveurs sont une ressource partagée où la disponibilité et la fiabilité sont importantes, la RAM ECC est généralement utilisée avec seulement une différence de prix modeste. La RAM ECC est également utilisée dans les postes de travail CAD / CAM où de petites erreurs de bits peuvent provoquer des erreurs de calcul qui deviennent des problèmes plus importants lorsqu'une conception passe en fabrication.
Excellente étude dans le monde réel:
Erreurs DRAM à l'état sauvage: une étude de terrain à grande échelle (pdf)
Cet article fournit la première étude à grande échelle des erreurs de mémoire DRAM sur le terrain. Il est basé sur des données collectées auprès du parc de serveurs de Google sur une période de plus de deux ans, ce qui représente plusieurs millions de jours DIMM. La DRAM de notre étude couvre plusieurs fournisseurs, densités et technologies DRAM (DDR1, DDR2 et FBDIMM).
Le document aborde les questions suivantes: Dans quelle mesure les erreurs de mémoire sont-elles courantes dans la pratique? Quelles sont leurs propriétés statistiques? Comment sont-ils affectés par des facteurs externes, tels que la température et l'utilisation du système? Et comment varient-ils en fonction de facteurs spécifiques aux puces, tels que la densité des puces, la technologie de la mémoire et l'âge des modules DIMM?
Nous constatons que, dans de nombreux aspects, les erreurs DRAM sur le terrain se comportent très différemment que ce que l'on suppose généralement. Par exemple, nous observons des taux d'erreur DRAM qui sont des ordres de grandeur supérieurs à ceux rapportés précédemment, avec des taux FIT (défaillances dans le temps par milliard d'heures d'utilisation) de 25 000 à 70 000 par Mbit et plus de 8% des modules DIMM affectés par an. Nous fournissons des preuves solides que les erreurs de mémoire sont dominées par des erreurs matérielles, plutôt que des erreurs logicielles, sur lesquelles la plupart des travaux précédents se concentrent. Nous constatons que, parmi tous les facteurs qui influent sur le comportement d'erreur d'un module DIMM sur le terrain, la température a un effet étonnamment faible. Enfin, contrairement à ce que l'on craint généralement, nous n'observons aucune indication que les taux d'erreur par module DIMM augmentent avec les nouvelles générations de modules DIMM.
Il est intéressant de noter que la plupart des erreurs de mémoire étaient matérielles - les erreurs de mémoire matérielle sont irrécupérables, ce qui signifie que la mémoire doit être physiquement remplacée en tant qu'échec , tandis que les erreurs de mémoire logicielle peuvent être corrigées en écrasant la mémoire avec la valeur correcte. Cela m'indique que la valeur de l'ECC est assez limitée.
Il existe deux types d'erreurs qui peuvent généralement se produire dans un système de mémoire. La première est appelée une erreur répétable ou dure. Dans cette situation, un matériel est cassé et renvoie systématiquement des résultats incorrects. Un bit peut être bloqué pour qu'il renvoie toujours "0" par exemple, peu importe ce qui y est écrit. Les erreurs matérielles indiquent généralement des modules de mémoire desserrés, des puces soufflées, des défauts de la carte mère ou d'autres problèmes physiques. Ils sont relativement faciles à diagnostiquer et à corriger car ils sont cohérents et reproductibles.
On dirait que tous les serveurs de l'étude utilisaient ECC, donc nous ne pouvons pas connaître les taux d'erreur ECC vs non ECC ..
Cet article a étudié l'incidence et les caractéristiques des erreurs DRAM dans une grande flotte de serveurs de base. Notre étude est basée sur des données collectées sur plus de 2 ans et couvre les modules DIMM de plusieurs fournisseurs, générations, technologies et capacités. Tous les modules DIMM étaient équipés d'une logique de correction d'erreur (ECC) pour corriger au moins les erreurs sur un seul bit.
ECC a plusieurs avantages sur la parité. D'une part, il peut détecter et réparer les erreurs sur un seul bit et le faire sans avoir à arrêter l'ensemble du système. Les erreurs sur plusieurs bits renverront toujours une erreur de parité, mais les chances que cela se produise sont astronomiquement faibles pendant la durée de vie d'un PC, sauf si la mémoire elle-même est défectueuse. L'ECC est comme l'assurance automobile: elle vous couvre pour la majorité des choses qui peuvent mal tourner, mais elle ne peut pas empêcher un empilement de voitures multiples.
plus de détails ici: Mémoire ECC: un must pour les serveurs, pas pour les PC de bureau
Pour simplifier les choses, citant Wikipédia :
Les interférences électriques ou magnétiques à l'intérieur d'un système informatique peuvent faire basculer spontanément un seul bit de DRAM vers l'état opposé. On pensait initialement que cela était principalement dû aux particules alpha émises par les contaminants dans les matériaux d'emballage des puces, mais la recherche [5] a montré que la majorité des erreurs ponctuelles ("douces") dans les puces DRAM se produisent en raison du rayonnement de fond
...
Ce problème peut être atténué en utilisant des modules DRAM qui incluent des bits de mémoire supplémentaires et des contrôleurs de mémoire qui exploitent ces bits. Ces bits supplémentaires sont utilisés pour enregistrer la parité ou pour utiliser un code correcteur d'erreurs