Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Mémoire à code correcteur d'erreurs — Wikipédia
Mémoire à code correcteur d'erreurs — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Mémoire ECC)
Page d’aide sur l’homonymie

Pour les articles homonymes, voir ECC.

Les barettes de mémoire à code correcteur d'erreurs ont généralement neuf puces de mémoire, une de plus que les barrettes de mémoire sans code correcteur d'erreurs[1].

Une mémoire à code correcteur d'erreurs (en anglais, Error-Correcting Code Memory ou ECC Memory) est un type de mémoire vive avec un code correcteur permettant de détecter et de corriger les types les plus courants de corruption de données. Ce type de mémoire est utilisé dans les ordinateurs où la corruption de données ne peut être tolérée en aucun cas, comme pour les calculs scientifiques ou financiers.

En règle générale, la mémoire à code correcteur d'erreurs corrige les erreurs qui affectent un seul bit et détecte celles qui affectent deux bits. Les données qui sont lues à partir d'un mot sont les mêmes que celles qui y ont été écrites même si, entre-temps, un bit a changé d'état.

Grâce à la parité, certaines mémoires non ECC peuvent simplement détecter les erreurs.

Contexte

[modifier | modifier le code]

Une interférence électrique ou magnétique à l'intérieur d'un ordinateur peut changer la valeur d'un bit de mémoire vive DRAM. On a d'abord pensé que ce phénomène était principalement dû à des particules alpha émises par des contaminants dans les matériaux utilisés dans la fabrication des modules DRAM, mais la recherche[2] a montré que la majorité des erreurs dans les mémoires DRAM se produisent à la suite de rayonnement de fond, principalement des neutrons émis par des réactions engendrées par des rayons cosmiques. Ces neutrons peuvent changer le contenu d'une ou de plusieurs cellules de mémoire ou interférer avec le circuit utilisé pour les lire ou les écrire.

Par conséquent, les taux d'erreur augmentent rapidement avec l'augmentation d'altitude. Par exemple, par rapport au niveau de la mer, le taux de flux de neutrons est 3,5 fois supérieur à 1,5 km d'altitude et 300 fois plus élevé à 10–12 km (l'altitude de croisière des avions commerciaux)[3]. En conséquence, les systèmes fonctionnant à haute altitude nécessitent des dispositions spéciales de correction d'erreurs pour en augmenter la fiabilité.

À titre d'exemple, la sonde Cassini-Huygens, lancée en 1997, contient deux enregistreurs de vol identiques, chacun avec 2,5 gigabits de mémoire sous la forme de puces DRAM commerciales. Grâce à des fonctions intégrées de détection et de correction d'erreurs, la télémétrie de la sonde indique le nombre d'erreurs (corrigées) d'un seul bit par mot et le nombre d'erreurs (incorrigibles) de deux bits par mot. Au cours des 2,5 premières années de vol, le vaisseau spatial a signalé un taux d'erreur d'un bit par mot, à peu près constant, d'environ 280 erreurs par jour. Cependant, le 6 novembre 1997, le nombre d'erreurs a augmenté d'un facteur de plus de 4 pour cette journée. Cette augmentation a été attribuée à un vent solaire inhabituel qui a été détecté par le satellite GOES 9[4].

À une époque[Quand ?], on a craint que la diminution de la taille des composants des modules DRAM et la diminution de la tension utilisée par ces mémoires augmentent le nombre d'erreurs dues au rayonnement cosmique parce que des particules moins énergétiques pourraient modifier l'état d'un bit[3]. D'autre part, on espérait que des cellules plus petites seraient des cibles plus difficiles à atteindre et que des technologies comme le silicium sur isolant rendraient les cellules de mémoire moins sensibles au rayonnement cosmique et contrecarraient, voire inverseraient, la sensibilité accrue due à la réduction de la taille des cellules et du voltage du courant. Finalement, des études[5] ont montré que les erreurs dues au rayonnement cosmique ont baissé de façon spectaculaire avec l'évolution des mémoires et les préoccupations antérieures se sont avérées non fondées.

Des travaux publiés entre 2007 et 2009 ont montré des fréquences d'erreur très variables, avec des variations de plus de 7 ordres de grandeur, allant de 10−10 à 10−17 erreurs par bit, par heure, c'est-à-dire environ une erreur par bit, par heure, par gigaoctet de mémoire à une erreur par bit, par millénaire, par gigaoctet de mémoire[5],[6],[7]. Une étude à très grande échelle basée sur les très nombreux serveurs de Google a été présentée lors de la conférence Sigmetrics / Performance 2009[6]. Le taux d'erreur mesuré était de plusieurs ordres de grandeur plus élevé que les études à petite échelle ou les études de laboratoire précédentes, avec 25 000 à 70 000 erreurs par milliard d'heures, par mégabit (environ 2,5 × 10−11 à 7 × 10−11 erreur par bit et par heure, soit environ 5 erreurs dans 8 gigaoctets de mémoire par heure en utilisant le taux d'erreur le plus élevé) ; plus de 8 % des modules de mémoire DIMM étaient affectés par des erreurs chaque année.

Les conséquences d'une erreur de mémoire peuvent être très variées. Dans les systèmes sans code correcteur d'erreurs, une erreur peut conduire à une panne de l'ordinateur ou à la corruption des données ; dans les centres de données importants, les erreurs de mémoire sont une des causes de panne de matériel les plus fréquentes[6]. Une erreur de mémoire peut n'avoir aucune conséquence si elle affecte une partie de la mémoire qui n'est pas utilisée, si elle affecte une partie d'un programme sans en changer le fonctionnement ou si elle affecte des données du programme sans en influencer les résultats. Une étude de simulation de 2010 a montré que, pour un navigateur web, seule une petite fraction des erreurs de mémoire provoque une altération des données[8].

Des tests ont démontré que l'intégrité des cellules de mémoire DRAM peut être affectée par des effets secondaires inattendus d'accès spécialement conçus à des cellules adjacentes. Ainsi, l'accès aux données stockées dans la mémoire DRAM provoque des fuites de charge et des interactions électriques en raison de la forte densité des cellules dans les mémoires modernes. Cela peut modifier le contenu des cellules de mémoire voisines de celles qui étaient visées par les accès mémoire. Cet effet est connu sous le nom de martèlement de mémoire (en anglais Row hammer). Cet effet inattendu des accès mémoire a été utilisé dans certaines attaques informatiques[9],[10].

Solutions

[modifier | modifier le code]

Plusieurs approches ont été développées pour faire face aux erreurs de mémoire : l'immunity-aware programming (uk), les bits de parité, et de la mémoire à code correcteur d'erreurs.

Les erreurs de mémoire peuvent être atténuées en utilisant des modules de mémoire DRAM qui incluent des bits de mémoire supplémentaires et des contrôleurs mémoire qui exploitent ces bits. Les bits supplémentaires sont utilisés pour enregistrer la parité ou permettre l'utilisation d'un code correcteur d'erreurs (ECC). Un bit de parité permet la détection de toutes les erreurs sur un seul bit (en fait, sur un nombre impair de bits). Le code correcteur d'erreurs le plus commun, le code SECDED (en), permet la correction des erreurs sur un seul bit et la détection des erreurs sur deux bits. La technologie Chipkill permet de corriger plusieurs bits en erreur et peut même corriger la perte d'une puce entière de mémoire[11],[12].

Avantages et inconvénients

[modifier | modifier le code]

En fin de compte, il y a un compromis entre la protection contre la perte de données et le coût plus élevé de la mémoire.

La mémoire à code correcteur d'erreurs protège contre la corruption non détectée de données de mémoire. Elle est utilisée dans les ordinateurs où cette corruption est inacceptable, par exemple dans certaines applications de calcul scientifique, en finance ou dans les serveurs. La mémoire à code correcteur d'erreurs permet également de réduire le nombre de plantages d'ordinateur, particulièrement inacceptables dans les applications de serveur multi-utilisateurs et de systèmes à disponibilité maximale. La plupart des cartes mères et des processeurs utilisés pour des applications moins critiques ne sont pas conçus pour soutenir la correction d'erreurs dans le but de maintenir leurs prix au plus bas niveau possible.

La mémoire à code correcteur d'erreurs est plus coûteuse que la mémoire conventionnelle en raison du matériel supplémentaire nécessaire pour la produire et de plus faibles volumes de production de cette mémoire et des composantes associées. Les cartes mères, les chipsets et les processeurs prenant en charge la mémoire à code correcteur d'erreurs sont aussi plus coûteux pour les mêmes raisons.

Une mémoire à code correcteur d'erreurs peut être de 2 à 3 pour cent plus lente qu'une mémoire conventionnelle en raison du temps additionnel nécessaire pour la vérification et la correction des erreurs[13]. Toutefois, les systèmes modernes intègrent la gestion des erreurs dans le processeur, éliminant ainsi les délais de vérification et de correction des accès mémoire[14],[15].

Références

[modifier | modifier le code]
  1. ↑ Werner Fischer, « RAM Revealed », sur admin-magazine.com (consulté le 20 octobre 2014).
  2. ↑ (en) Single Event Upset at Ground Level, Eugene Normand, Member, IEEE, Boeing Defense & Space Group, Seattle, WA 98124-2499[PDF].
  3. ↑ a et b (en) "A Survey of Techniques for Modeling and Improving Reliability of Computing Systems", IEEE TPDS, 2015.
  4. ↑ (en) Gary M. Swift et Steven M. Guertin, « "In-Flight Observations of Multiple-Bit Upset in DRAMs" » [PDF], Jet Propulsion Laboratory
  5. ↑ a et b (en) Borucki, "Comparison of Accelerated DRAM Soft Error Rates Measured at Component and System Level", 46th Annual International Reliability Physics Symposium, Phoenix, 2008, p. 482–487.
  6. ↑ a b et c (en) Bianca Schroeder, Eduardo Pinheiro et Wolf-Dietrich Weber, « DRAM Errors in the Wild: A Large-Scale Field Study », SIGMETRICS/Performance, ACM,‎ 2009 (ISBN 978-1-60558-511-6, résumé, lire en ligne [PDF]).
  7. ↑ (en) « A Memory Soft Error Measurement on Production Systems ».
  8. ↑ (en) Li, Huang, Shen, Chu, « "A Realistic Evaluation of Memory Hardware Errors and Software System Susceptibility". Usenix Annual Tech Conference 2010 » [PDF], 2010.
  9. ↑ (en) Yoongu Kim, Ross Daly, Jeremie Kim, Chris Fallin, Ji Hye Lee, Donghyuk Lee, Chris Wilkerson, Konrad Lai et Onur Mutlu, « Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors » [PDF], sur ece.cmu.edu, IEEE, 24 juin 2014 (consulté le 10 mars 2015).
  10. ↑ (en) Dan Goodin, « Cutting-edge hack gives super user status by exploiting DRAM weakness », Ars Technica, 10 mars 2015 (consulté le 10 mars 2015).
  11. ↑ (en) Timothy J. Dell, « A White Paper on the Benefits of Chipkill-Correct ECC for PC Server Main Memory » [PDF], IBM, 19 novembre 1997 (consulté le 2 février 2015).
  12. ↑ (en) « Enhancing IBM Netfinity Server Reliability: IBM Chipkill Memory » [PDF], IBM, 1999 (consulté le 2 février 2015).
  13. ↑ (en) « Discussion of ECC on pcguide », Pcguide.com, 17 avril 2001 (consulté le 23 novembre 2011).
  14. ↑ (en) « AMD-762™ System Controller Software/BIOS Design Guide, p. 179 » [PDF].
  15. ↑ (en) Benchmark of AMD-762/Athlon platform with and without ECC « Copie archivée » (version du 15 juin 2013 sur Internet Archive).

Articles connexes

[modifier | modifier le code]
  • EOS memory

Source de la traduction

[modifier | modifier le code]
  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « ECC memory » (voir la liste des auteurs).
v · m
Types de mémoires vives
Avant les transistors
  • Mémoire à ligne de délai
  • Tube de Williams
  • Tube Selectron
  • Mémoire à film mince sur fil
  • Mémoire à tores magnétiques
Statique
  • SRAM
  • NRAM
  • MRAM
  • DPRAM
  • PRAM
Dynamique
  • Asynchrone
    • FPM
    • EDO
  • Synchrone
    • DDR
    • DDR2
    • DDR3
    • DDR3L
    • DDR4
    • DDR5
  • RDRAM
  • XDR DRAM
  • eDRAM
  • Z-RAM
Mobile
  • LPDDR
  • LPDDR2
  • LPDDR3
  • LPDDR4
  • LPDDR5
Cartes graphiques
  • GDDR3
  • GDDR4
  • GDDR5
  • GDDR6
  • GDDR7
  • HBM
Autres technologies
  • FB-DIMM
  • RDIMM
Connecteurs
  • SIMM
  • DIMM
  • SO-DIMM
  • CAMM
Articles liés
  • Mémoire à code correcteur d'erreurs
  • ECC
  • FSB
  • CAS
v · m
Types de mémoires
Volatiles
Historiques
  • Mémoire à ligne de délai
  • Tube de Williams
  • Tube Selectron
  • DRAM asynchrone
    • FPM
    • EDO
  • RDRAM
Actuelles
  • RAM
    • DRAM
    • SRAM
    • DPRAM
    • VRAM
    • eDRAM
    • 1T-SRAM
En développement Z-RAM
Non volatiles
Historiques
  • Carte perforée
  • Carte SmartMedia
  • Dérouleur de bande magnétique
  • Pile de disques
  • Disquette
  • Disque magnéto-optique
  • Disque ZIP
  • Mémoire à bulles
  • Mémoire à film mince sur fil
  • Mémoire à tores magnétiques
  • Ruban perforé
  • Tambour
Support
  • Bande magnétique
  • Clé USB
  • Carte mémoire
    • CF
    • MMC
    • MS
    • SD
      • miniSD
      • microSD
    • xD
    • XQD
  • Disque dur
  • Disque optique
    • CD
    • DVD
    • Blu-ray
    • Blu-ray Ultra HD
  • SSD
    • Trim
    • Répartition de l'usure
Technologies
  • Mémoire de masse
  • Flash
    • Cellule multi-niveaux
  • Morte
    • ROM
    • PROM
    • EPROM
    • EEPROM
    • UVPROM
En développement
  • CBRAM
  • FeRAM
  • Holographique
  • Millipede
  • MRAM
  • NRAM
  • PRAM
  • Racetrack
  • RRAM
  • 3D XPoint
  • icône décorative Portail de l’informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Mémoire_à_code_correcteur_d%27erreurs&oldid=229072423 ».
Catégories :
  • Mémoire informatique
  • Matériel de serveur informatique
Catégories cachées :
  • Article contenant un appel à traduction en ukrainien
  • Article contenant un appel à traduction en anglais
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id