
Já pensou em nunca mais ter que se preocupar com telas azuis e outros problemas no sistema causado por erros e corrupção de dados? A memória ECC chegou ao mercado com esse objetivo: detectar e solucionar erros, livrando você da perda de tempo, progresso e dados.
Neste artigo, entenda o que são essas memórias, para que servem, quais suas diferenças entre outras memórias e, principalmente, se elas são tudo isso que prometem ser.
Memória ECC
O que é e como funciona um ECC?

Resumidamente, o código de correção de erro (Error Correcting Code) é um algoritmo de detecção e correção de dados. Sua principal atuação é em servidores e computadores empresariais que nunca podem parar de trabalhar por serem responsáveis por conteúdos de extrema importância e valor, mas também está disponível para consumidores intermediários.
Este método insere bits de paridade junto com os dados armazenados, sendo gerados usando algoritmos específicos que permitem criar códigos que podem detectar e, em alguns casos, corrigir erros nos dados. Os dados, juntamente com os bits de paridade, são armazenados na memória, e a quantidade de bits de paridade vão depender do tipo específico do código de correção de erro.
As memórias ECC irão possuir 9, 18 ou 36 chips ao invés da quantidade tradicional 8, 16 ou 32.
Os algoritmos do ECC leem os dados da memória constantemente, enquanto o controlador de memória realiza uma verificação usando os bits de paridade. Ele compara os dados lidos com os bits calculados para verificar se há algum erro e, se um erro for detectado durante a verificação, o controlador pode identificar a posição exata do bit com erro nos dados e corrigi-lo.
Existem três tipos dessa memória:
ECC sem registro (unbuffered): Este tipo de memória ECC é semelhante à memória comum, mas com a adição da funcionalidade ECC. Ela é usada em alguns sistemas de desktop e servidores de pequeno porte.
ECC com registro (buffered): Este tipo de memória ECC possui um “registro” que atua como um intermediário entre o sistema e os módulos de memória. Isso ajuda a estabilizar a plataforma, permitindo que mais módulos de memória sejam instalados. É comumente usada em servidores de grande porte.
ECC Load-Reduced (LRDIMM): Este é um tipo mais recente de memória ECC que combina as características das memórias registradas e unbuffered, permitindo ainda mais capacidade de memória do que as memórias registradas.
Também é bom entender que existem dois tipos de erros que esse código pode enfrentar: o soft error e o hard error.
Um soft error é um erro que costuma afetar somente os dados ou processos do sistema, onde um ou alguns poucos bits são alterados, sem que os chips de memória sejam danificados. Isso resulta em travamento de programas, perdas de progresso, arquivos corrompidos e até a temida tela azul da morte. Esses erros podem ser causados por distúrbios elétricos, longa duração de operações, temperaturas acima ou abaixo do ideal ou pela relação entre quantidade de memória RAM e a parcela em uso da mesma.
Já o hard error é vinculado a problemas nos componentes de hardware do computador, sendo causados por estresses físicos, temperaturas muito acima ou abaixo do ideal e altas tensões elétricas. Geralmente, esses problemas podem resultar na perda total do componente afetado, obrigando o usuário a troca-lo.
Uma memória ECC terá mais facilidade de solucionar soft errors do que os hard, já que muito dos erros mais graves em hardware, a única coisa que o código poderá fazer é amenizar o problema dentro de suas limitações e tentar avisar o usuário.
Diferenças entre memórias ECC e não-ECC

As memórias ECC continuam tendo a principal função do que qualquer outra memória, mas além da capacidade de identificação e correção de erros, ela possui diferenças que são importantes de serem identificadas.
Uma diferença já citada, é o fato de que ECC’s possuem um número diferente de chips, isso se deve ao fator de eles precisarem ser divisíveis por 9, já que usam 1 bit por byte para detectar e corrigir erros. Por isso, o máximo de chips sobe para 36 por módulo de memória.
Outra aspecto que difere as memórias, é que não são todas as fabricantes de placas-mãe e processadores que possuem produtos compatíveis com ECC’s. Isso se deve a um mercado bastante nichado a um grupo específico de compradores, além de que as empresas citam preços de produção mais elevados para esses produtos.
Por mais que memórias ECC possuam mais chips, isso não impede elas de terem uma redução de desempenho, que chega até 3%. Essa queda é diretamente relacionada ao maior tempo necessário para que os controladores da memória ECC levam para executar a verificação de erros, por mais que sejam milissegundos de diferença.
É recomendado que não se use uma memória sem ECC em um sistema com ECC, pois isso pode acarretar em problemas de inicialização e impedir que o código funcione corretamente.
Afinal, a memória ECC é tudo isso?
As ECC entraram nas graças dos consumidores gerais com o lançamento das DDR5 com os modelos on-die ECC. Porém, tudo se deve a um marketing confuso e até enganoso de algumas fabricantes sobre esses produtos, que foram erroneamente compreendidos como solucionadores de problemas em todo o sistema.
Fiquem atentos: memória ECC e on-die ECC são coisas diferentes!
A questão é que o on-die resolve somente os problemas relacionados ao componente que está vinculado e, no momento em esses dados saem dele, nesse caso da memória, a proteção dos dados deixa de atuar. Sendo assim, fica óbvio que o sistema todo precisa ter o ECC integrado, garantindo segurança durante todo o trajeto dos dados.
Mas como essa confusão toda chegou aonde chegou? Qual o motivo das fabricantes terem optado por essa estratégia? Esse caos todo fica com responsabilidade “dividida” em dois culpados: a indústria e os entusiastas de altos desempenhos.
Tudo começou com as fabricantes decidindo que esse tipo de produto era nichados demais para os consumidores intermediários quererem, tendo em vista o comparativo de “importância” entre computadores/servidores domésticos e comerciais.
Exemplo disso são os próprios on-die ECC, que não foram criados para proteger os dados do usuário, mas sim criados para que fabricantes de memórias deixassem seus produtos com uma escala mais compacta, com maior densidade de dados e mais baratos para produzir.
Além de que a indústria de hardware e jogos, formou uma gigantesca onda de preferência popular por altos desempenhos, que cada vez mais vem substituindo a preferência por confiabilidade e integridade dos dados.
Claro, não há nenhum problema em ter preferência pelo desempenho, a questão é quando isso muda a estrutura do mercado e prejudica os demais consumidores que poderiam usufruir de produtos com maior estabilidade mais acessíveis.
Sim, possuir uma memória ECC vale a pena, porém, só ela não é o suficiente. O mercado, por mais que tenha causado essa bagunça, aparenta estar caminhando para um direção de produtos cada vez mais seguros, por mais que ele próprio atrasou esse processo.
Resta esperar e torcer que, com o avanço dessas melhorias de hardware, os preços fiquem acessíveis para consumidores de entrada e intermediários.
- Categorias
Participe do grupo de ofertas do Adrenaline
Confira as principais ofertas de hardware, componentes e outros eletrônicos que encontramos pela internet. Placa de vídeo, placa-mãe, memória RAM e tudo que você precisa para montar o seu PC. Ao participar do nosso grupo, você recebe promoções diariamente e tem acesso antecipado a cupons de desconto.
Entre no grupo e aproveite as promoções