Núcleos IP corretores de erros para proteção de memória em SoC

AUTOR(ES)
DATA DE PUBLICAÇÃO

2008

RESUMO

O constante avanço no processo de fabricação de circuitos integrados tem reduzido drasticamente a geometria dos transistores e os níveis das tensões de alimentação. Em circuitos de alta densidade operando a baixa tensão, as células de memória são capazes de armazenar informação com menos capacitância, o que significa que menos carga ou corrente é necessária para armazenar os mesmos dados. Durante o período de armazenamento, os dados envolvidos estão suscetíveis a sofrerem influência de meio, tais como interferências eletromagnéticas, radiações ou até mesmo falhas do próprio hardware envolvido. A falha é caracterizada como uma inversão de um ou mais bits de um dado armazenado na memória. Conseqüentemente, os dados poderão apresentar falhas, que provocarão erros e comprometerão a utilização destes dados. Uma forma de resolução destes problemas é a utilização de Códigos Corretores de Erros. Um Código Corretor de Erros é, em essência, um modo organizado de acrescentar algum dado adicional a cada informação que se queira armazenar e que permita, ao recuperarmos a mesma, detectar e corrigir os erros encontrados. A maioria dos Códigos Corretores de Erro em uso são desenvolvidos para corrigirem erros aleatórios, isto é, erros que ocorrem de maneira independente da localização de outros erros. Contudo, em muitas situações, os erros podem aparecer em rajadas. De uma maneira geral, Códigos Corretores de Erros aleatórios não se constituem na forma mais adequada e eficiente para correção de erros em rajadas, e a recíproca também é verdadeira. Dos vários métodos propostos pela literatura, para corrigirmos simultaneamente estes dois tipos de erros, o mais efetivo é o Embaralhamento. O Embaralhador é um algoritmo, um método que pode ser implementado tanto em hardware quanto em software. É essencialmente constituído por um reordenamento dos bits e é executado anteriormente ao armazenamento em memória (Embaralhador) e na leitura, os bits são novamente reordenados, ou seja, são colocados novamente em sua posição original (Desembaralhador). Isto provoca um aumento na taxa de detecção e correção destes erros, uma vez que se houver uma interferência concentrada (rajada de erros) em uma memória, por exemplo, durante o armazenamento, na operação de leitura, ao se fazer o desembaralhamento, os erros ficam expostos de forma distribuída, aparecendo como erros aleatórios ao decodificador. Esta dissertação apresenta uma proposta que combina a utilização de Códigos de Detecção e Correção de erros amplamente referenciados na literatura (Hamming, Hamming Estendido, Reed-Muller e Matrix) associados à técnica de Embaralhamento aplicada a Hardware, com o objetivo de aumentar a capacidade de detecção e correção de erros em rajada (erros concentrados). A execução dos testes de injeção de falhas do tipo bit-flip, aplicadas às técnicas corretoras de erros utilizadas nesta dissertação, mostraram que com a associação da técnica de Embaralhamento as mesmas passaram a ser eficientes também para erros em rajadas

ASSUNTO(S)

hardware circuitos integrados software engenharia eletrica tolerÂncia a falhas (computaÇÃo) circuitos eletrÔnicos

Documentos Relacionados