A tecnologia RFID tem sido amplamente utilizada para a marcação de ativos em uma variedade de configurações industriais e governamentais.
Um aplicativo típico usa um conjunto de tags serializada com uma memória EPC codificada e um banco de dados que vincula os dados EPC da tag a identificadores de ativos. Por exemplo, uma etiqueta RFID codificada com um código EPC de 96 bits pode ser associada a um servidor de computador de número de série específico, máquina-ferramenta, ou dispositivo médico. Uma suposição implícita no projeto de um sistema de rastreamento é que as tags podem ser lidas de forma confiável, identificando corretamente o ativo.
No entanto, este processo pode sofrer de um problema chamado bit flipping.
flip bit
A grande maioria das etiquetas RFID no mercado usa memória EEPROM para armazenar dados de identificação. A carga armazenada na célula de memória determina o valor de cada bit nos dados EPC identificados (ou seja, uma célula de memória carregada pode representar um “1”, enquanto uma célula vazia pode representar um “0”, e vice-versa).
O estado de uma célula de memória pode se tornar indeterminado em duas situações potenciais. Pela simplicidade, assumimos que uma célula de memória carregada representa um “1”.
A célula de memória “Vazamentos”, a carga depositada durante a codificação dissipa, fazendo com que o estado celular mude, então o bit muda de “1” Para “0”
A célula de memória não foi totalmente carregada durante a codificação, e é estatisticamente possível para uma célula parcialmente carregada para ser lido como um ‘0’ em vez de um '1'†
†Tecnicamente, é sempre possível para o bit carga a ser interpretado como um ‘0’. No entanto, quando o limite de carregamento especificado é excedido, a probabilidade de isso acontecer é muito pequena. Detalhes estatísticos estão muito além do escopo desta discussão.
Cena de exemplo
Um exemplo de cenário pode ser que a lixeira 1011 acaba mudando para lixeira 1001 – mais comumente um caractere hexadecimal “B” é alterado para um hexadecimal “9”, que aparece como um rótulo que recua dois códigos EPC. Por exemplo, usando codificação de 96 bits:
E280 1170 EA21 7B2A 04C2 1181 e E280 1170 EA21 792A 04C2 1181
Isso raramente é observado — não sabemos de nenhum dado confiável sobre a prevalência de qualquer fabricante de chips — mas com bilhões de etiquetas RFID realmente implantadas, a possibilidade não pode ser ignorada.
Como uma verificação de sanidade, considerar uma taxa de falha ε de 10-6/célula e o uso de memória EPC estendida de 128 bits, que está disponível em muitos chips RFID, que acreditamos ser uma taxa de falha maior do que normalmente observado, mas o princípio se aplica independentemente do que é a taxa de câmbio real. Para fins de discussão, vamos ignorar quaisquer efeitos temporizado (ou seja, análise de tempo de falha). Em ε = 10-6, aproximadamente 1 em 7,812 tags são esperados para exibir um único flip bit; Além disso, aproximadamente 1 em 61.5 milhões de tags são esperados para exibir dois bits invertidos, e aproximadamente 488 bilhões 1 vai mostrar três bits invertidos.
Detectar e corrigir de forma confiável os lançamentos da unidade
Porque a taxa de falha é tão baixa, instâncias únicas de lançamentos de bits podem ser detectadas e corrigidas de forma confiável.
A maneira mais fácil é codificar cada bit como um triplo e usar o “regra da maioria” método para determinar os dados corretos. Neste caso, um único “1” é codificado como “111” e “0” é codificado como “000”. Se um pedaço do triplo for invertido, os outros dois vão “votar” para cobrir a parte errada. Este método é muito robusto, como a perda de dados requer o próprio, evento muito improvável, o lançamento de dois bits de qualquer triplo um. Mais uma vez, considerando nosso exemplo de codificação de 128 bits acima, a probabilidade de um flip de 2 bits para qualquer trigêmeo, i.. perda de dados irrecuperável, É:
~1/64 * (128/1,000,000) *(127/1000000) ~ 2.5 X10-10 ou ~ 1 parte em 3.9 bilhões.
Este é o produto da probabilidade de que o primeiro e o segundo bits são invertidos em um rótulo e a probabilidade de que o segundo bit invertido é um dos bits adjacentes em um triplo particular.
Na maioria dos cenários regulares, a probabilidade de corrupção de dados é muito baixa. No entanto, A capacidade de armazenamento de dados da tag é reduzida em dois terços, com menos de 33% da memória de tag disponível sendo usada para dados quando a memória de 128 bits só pode conter 41 bits de informação.
Detecte dois bits invertidos
Há uma maneira menos intensiva em memória de detectar e corrigir um único bit invertido, bem como detectar (mas não correto) eventos com uma probabilidade muito menor de uma tag com dois bits invertidos.
Isso pode ser feito não codificando a tag diretamente, mas usando uma modificação de um modo originalmente inventado por Richard Hamming chamado SECDEC, ou Detecção de erro duplo de correção de erro único.
Este modo usa bits de paridade adicionais calculados com base nos dados de carga. Como o nome sugere, este algoritmo permite que apenas um bit invertido seja corrigido, mas permite a detecção de um segundo bit invertido. Os projetistas de sistemas RFID devem incorporar recursos na arquitetura para lidar com a situação menos comum de bits de lançamento duplo em uma única tag.