ct

    ECC e Paridade

    Tutoriais

    Apesar de todos os avanços por que passaram nas últimas décadas, as memórias utilizadas hoje em dia ainda não são completamente confiáveis. Conheça os truques utilizados para tornar as memórias mais confiáveis.Carlos E. Morimoto
    14/06/2000


    Por melhor que seja a qualidade, todos os tipos de memória são passíveis de erros, que podem ser causados por inúmeros fatores. Um dado depositado na memória pode voltar adulterado para o processador, o que poderia causar os mais diversos efeitos colaterais. Para aumentar o grau de confiabilidade dos sistemas, foram criados métodos de diagnóstico e correção de erros. Talvez num micro doméstico um sistema de correção de erros não seja tão importante, pois um erro na memória no máximo causaria o travamento da máquina. Em aplicações críticas porém, como num banco, qualquer erro de pro-cessamento pode causar grandes prejuízos. Imagine se um erro em um bit da memória do computador do banco transformasse aqueles 20.000 reais que você estava devendo num saldo positivo de R$ 20.000? Melhor pra, você mas pior para o banco :-)

    Atualmente, os métodos usados para a detecção de erros nas memórias são a Paridade e o ECC (Error-Correcting Code), que se baseiam em técnicas totalmente diferentes:

    A Paridade é um método mais antigo, que é somente capaz de identificar alterações nos dados depositados nas memórias, sem condições porém de fazer qualquer tipo de correção. A paridade consiste na adição de mais um bit para cada byte de memória, que passa a ter 9 bits, tendo o último a função de diagnosticar erros nos dados.

    A operação de checagem dos dados na paridade é bem simples: são contados o número de bits "1" de cada byte, se o número for par, o bit de paridade assume um valor "1" e caso seja impar, o 9º bit assume um valor "0". Quando os dados são requisitados pelo processador o circuito de paridade checa os dados e verifica se o número de bits "1" corresponde ao depositado no 9º bit. Caso seja constatada alteração nos dados ele envia ao processador uma mensagem de erro. Claro que este método não é 100% eficaz, pois é capaz de detectar a alteração de um único bit, caso dois bits retornassem alterados, o circuito de paridade não notaria alteração nos dados. Felizmente a possibilidade da alteração de dois ou mais bits ao mesmo tempo é remota.

    texto1
    O uso da paridade não torna o computador mais lento, pois os circuitos responsáveis pela checagem dos dados são independentes do restante do sistema. O seu único efeito colateral, é o encarecimento das memórias, que ao invés de 8 bits por byte, passam a ter 9, tornando-se cerca de 12% mais caras.

    Antigamente praticamente não se fabricavam memórias sem paridade. As memórias EDO e SDram atuais porém, apresentam um bom nível de confiabilidade, o que torna seu uso dispensável. De fato, poucos fabricantes ainda produzem memórias com o 9º bit.

    Para sistemas destinados a operações críticas, foi desenvolvido um método de correção de erros chamado ECC, ou "código de correção de erros", que ao contrário da paridade além de identificar é através de algoritmos especiais capaz de corrigir os dados alterados. Numa memória com ECC encontramos mais 1 ou 2 bits para cada byte de memória. Nestes bits adicionais, são gravados códigos que permitem não só identificar, mas efetivamente corrigir alterações nos dados, lembrando que quanto maior a quantidade de bits destinados ao ECC, maior será a possibilidade de um eventual erro ser corrigido.

    Apesar de ainda não ser muito usado em memórias Ram justamente devido à alta confiabilidade das memórias atuais, o ECC é um item obrigatório em discos rígidos e CD-Roms, pois neles o corrompimento de dados é muito comum, sendo obrigatório um método de correção de erros.




    » Gostou do texto? Veja nossos livros impressos

    ... ou use a busca para localizar outros artigos relacionados:

cb
Livros de Carlos E. Morimoto HOME