La memòria ECC, també coneguda com a memòria de codi de correcció d'errors, té la capacitat de detectar i corregir errors a les dades. S'utilitza habitualment en ordinadors d'escriptori, servidors i estacions de treball de gamma alta per millorar l'estabilitat i la seguretat del sistema.
La memòria és un dispositiu electrònic i es poden produir errors durant el seu funcionament. Per als usuaris amb requisits d'estabilitat elevats, els errors de memòria poden provocar problemes crítics. Els errors de memòria es poden classificar en dos tipus: errors durs i errors suaus. Els errors durs són causats per danys o defectes del maquinari i les dades són constantment incorrectes. Aquests errors no es poden corregir. D'altra banda, els errors suaus es produeixen aleatòriament a causa de factors com les interferències electròniques a prop de la memòria i es poden corregir.
Per detectar i corregir errors de memòria suau, es va introduir el concepte de "comprovació de paritat" de memòria. La unitat més petita de la memòria és un bit, representat per 1 o 0. Vuit bits consecutius formen un byte. La memòria sense comprovació de paritat només té 8 bits per byte, i si algun bit emmagatzema un valor incorrecte, pot provocar dades errònies i errors en l'aplicació. La comprovació de paritat afegeix un bit addicional a cada byte com a bit de comprovació d'errors. Després d'emmagatzemar dades en un byte, els vuit bits tenen un patró fix. Per exemple, si els bits emmagatzemen dades com a 1, 1, 1, 0, 0, 1, 0, 1, la suma d'aquests bits és senar (1+1+1+0+0+1+0+1=5 ). Per a la paritat parell, el bit de paritat es defineix com 1; en cas contrari, és 0. Quan la CPU llegeix les dades emmagatzemades, suma els primers 8 bits i compara el resultat amb el bit de paritat. Aquest procés pot detectar errors de memòria, però la comprovació de paritat no els pot corregir. A més, la comprovació de paritat no pot detectar errors de doble bit, tot i que la probabilitat d'errors de doble bit és baixa.
La memòria ECC (Comprovació i correcció d'errors), d'altra banda, emmagatzema un codi xifrat juntament amb els bits de dades. Quan les dades s'escriuen a la memòria, es desa el codi ECC corresponent. En llegir les dades emmagatzemades, el codi ECC desat es compara amb el codi ECC generat recentment. Si no coincideixen, els codis es descodifiquen per identificar el bit incorrecte a les dades. Aleshores, el bit erroni es descarta i el controlador de memòria allibera les dades correctes. Les dades corregides poques vegades es tornen a escriure a la memòria. Si es tornen a llegir les mateixes dades errònies, es repeteix el procés de correcció. La reescriptura de dades pot introduir sobrecàrrecs, cosa que comporta una disminució notable del rendiment. Tanmateix, la memòria ECC és crucial per a servidors i aplicacions similars, ja que proporciona capacitats de correcció d'errors. La memòria ECC és més cara que la memòria normal a causa de les seves característiques addicionals.
L'ús de la memòria ECC pot tenir un impacte significatiu en el rendiment del sistema. Tot i que pot reduir el rendiment general, la correcció d'errors és essencial per a aplicacions i servidors crítics. Com a resultat, la memòria ECC és una opció habitual en entorns on la integritat de les dades i l'estabilitat del sistema són primordials.
Hora de publicació: 19-jul-2023