# Memòria ECC

La memòria de codi de correcció d'errors (memòria ECC) és un tipus d'emmagatzematge de dades de l'ordinador que utilitza un codi de correcció d'errors (ECC) per detectar i corregir la corrupció de dades de n bits que es produeix a la memòria. La memòria ECC s'utilitza a la majoria d'ordinadors on no es pot tolerar la corrupció de dades, com ara aplicacions de control industrial, bases de dades crítiques i memòria cau d'infraestructura.
Normalment, la memòria ECC manté un sistema de memòria immune als errors d'un sol bit: les dades que es llegeixen de cada paraula són sempre les mateixes que les dades que s'hi havien escrit, fins i tot si un dels bits realment emmagatzemats s'ha capgirat a l'estat incorrecte. La majoria de la memòria no ECC no pot detectar errors, tot i que algunes memòries no ECC amb suport de paritat permeten la detecció però no la correcció.

## Descripció

Els codis de correcció d'errors protegeixen contra la corrupció de dades no detectada i s'utilitzen en ordinadors on aquesta corrupció és inacceptable, com ara aplicacions d'informàtica científica i financera, o en servidors de bases de dades i fitxers. ECC també pot reduir el nombre d'errors en aplicacions de servidor multiusuari i sistemes de màxima disponibilitat.
Les interferències elèctriques o magnètiques dins d'un sistema informàtic poden fer que un sol bit de memòria dinàmica d'accés aleatori (DRAM) passi espontàniament a l'estat contrari. Inicialment es va pensar que això es devia principalment a les partícules alfa emeses per contaminants en el material d'embalatge de xips, però la investigació ha demostrat que la majoria dels errors suaus puntuals en xips DRAM es produeixen com a resultat de la radiació de fons, principalment neutrons dels secundaris de raigs còsmics, que pot canviar el contingut d'una o més cel·les de memòria o interferir amb els circuits utilitzats per llegir-les o escriure'ls. Per tant, les taxes d'error augmenten ràpidament amb l'altitud; per exemple, en comparació amb el nivell del mar, la taxa de flux de neutrons és 3,5 vegades més gran a 1,5 km i 300 vegades més alta a 10-12 km (l'altitud de creuer dels avions comercials). Com a resultat, els sistemes que funcionen a gran altitud requereixen disposicions especials per a la fiabilitat.

## Solucions

S'han desenvolupat diversos enfocaments per fer front als canvis de bits no desitjats, inclosa la programació conscient de la immunitat, la memòria de paritat RAM i la memòria ECC (detector i corrector d'errors).
Aquest problema es pot mitigar utilitzant mòduls DRAM que inclouen bits de memòria addicionals i controladors de memòria que explotin aquests bits. Aquests bits addicionals s'utilitzen per registrar la paritat o per utilitzar un codi de correcció d'errors (ECC). La paritat permet la detecció de tots els errors d'un sol bit (en realitat, qualsevol nombre senar de bits incorrectes). El codi de correcció d'errors més comú, un codi Hamming de correcció d'error únic i detecció de doble error (SECDED), permet corregir un error d'un sol bit i (en la configuració habitual, amb un bit de paritat addicional) errors de doble bit. per ser detectat. Chipkill ECC és una versió més eficaç que també corregeix els errors de diversos bits, inclosa la pèrdua d'un xip de memòria sencer.
Moltes CPU utilitzen codis de correcció d'errors a la memòria cau del xip, inclosos els processadors Intel Itanium, Xeon, Core i Pentium (des de la microarquitectura P6), AMD Athlon, Opteron, tots Zen - i Processadors basats en Zen+ (EPYC, EPYC Embedded, Ryzen i Ryzen Threadripper) i el DEC Alpha 21264.

## Referències

* ↑ updated, Scharon Harding last. «What Is ECC Memory in RAM? A Basic Definition» (en anglès). https://www.tomshardware.com,+10-03-2019.+[Consulta: 28 agost 2023].
* ↑ Werner Fischer. «RAM Revealed» (en anglès). admin-magazine.com. [Consulta: 20 octubre 2014].
* ↑ «Bios and Cache - Custom Build Computers» (en anglès). www.custom-build-computers.com. [Consulta: 27 març 2021].
* ↑ «AMD Zen microarchitecture - Memory Hierarchy» (en anglès). WikiChip. [Consulta: 15 octubre 2018].
* ↑ «AMD Zen+ microarchitecture - Memory Hierarchy» (en anglès). WikiChip. [Consulta: 15 octubre 2018].