La technologie RFID a été largement utilisée pour l’étiquetage des actifs dans une variété de contextes industriels et gouvernementaux.
Une application typique utilise un jeu de balises sérialisées avec une mémoire EPC codée et une base de données qui lie les données EPC de la balise aux identificateurs d’actifs. Par exemple, une étiquette RFID encodée avec un code EPC 96 bits peut être associée à un serveur informatique à numéro de série spécifique, machine-outil, ou dispositif médical. Une hypothèse implicite dans la conception d’un système de suivi est que les étiquettes peuvent être lues de manière fiable, identifiant ainsi correctement l’actif.
Cependant, Ce processus peut souffrir d’un problème appelé retournement de bits.
Basculement de bit
La grande majorité des étiquettes RFID sur le marché utilisent la mémoire EEPROM pour stocker des données d’identification. La charge stockée dans la cellule mémoire détermine la valeur de chaque bit dans les données EPC identifiées (c'est-à-dire, Une cellule de mémoire chargée peut représenter un “1”, Alors qu’une cellule vide peut représenter un “0”, et vice versa).
L’état d’une cellule mémoire peut devenir indéterminé dans deux situations potentielles. Pour plus de simplicité, Nous supposons qu’une cellule de mémoire chargée représente un “1”.
La cellule mémoire “Fuites”, La charge déposée lors de l’encodage se dissipe, Modification de l’état de la cellule, Donc, le bit change de “1” À “0”
La cellule de mémoire n’était pas complètement chargée pendant l’encodage, et il est statistiquement possible qu’une cellule partiellement chargée soit lue comme une ‘0’ au lieu d’un '1'†
†Techniquement, Il est toujours possible que le bit de charge soit interprété comme un ‘0". Cependant, lorsque le seuil de charge spécifié est dépassé, La probabilité que cela se produise est très faible. Les détails statistiques dépassent largement la portée de cette discussion.
Exemple de scène
Un exemple de scénario pourrait être que bin 1011 finit par passer à la poubelle 1001 – le plus souvent un caractère hexadécimal “B” est remplacé par un hexadécimal “9”, qui apparaît sous la forme d’une rétrodiffusion d’étiquette de deux codes EPC. Par exemple, Utilisation du codage 96 bits:
E280 1170 EA21 7B2A 04C2 1181 et E280 1170 EA21 792A 04C2 1181
Ceci est rarement observé — Nous ne connaissons pas de données fiables sur la prévalence provenant d’un fabricant de puces — mais avec des milliards d’étiquettes RFID réellement déployées, La possibilité ne peut être ignorée.
Comme un contrôle de santé mentale, envisager un taux de défaillance ε de 10-6/cellule et l’utilisation d’une mémoire EPC étendue 128 bits, qui est disponible dans de nombreuses puces RFID, ce qui, selon nous, est un taux d’échec plus élevé que celui généralement observé, mais le principe s’applique quel que soit le taux de change réel. À des fins de discussion, Nous ignorerons tous les effets de temps (analyse du temps de défaillance). À ε = 10-6, environ 1 dans 7,812 Les balises sont censées présenter un retournement d’un seul bit; De plus,, environ 1 dans 61.5 millions de tags devraient présenter deux bits inversés, et environ 488 milliard 1 affichera trois bits inversés.
Détection fiable et correction des retournements d’unité
Parce que le taux d’échec est si faible, Les instances uniques de retournements de bits peuvent être détectées et corrigées de manière fiable.
Le moyen le plus simple est d’encoder chaque bit comme un triple et d’utiliser le “Règle de la majorité” Méthode pour déterminer les données correctes. Dans ce cas, un seul “1” est codé sous la forme “111” et “0” est codé sous la forme “000”. Si un bit du triple est retourné, les deux autres “voter” pour couvrir le mauvais bit. Cette méthode est très robuste, Comme la perte de données nécessite le, Événement très improbable, le retournement de deux bits d’un triple quelconque. Encore une fois, considérant notre exemple d’encodage 128 bits ci-dessus, la probabilité d’un retournement de 2 bits pour un triplet, C’est à dire. perte de données irrécupérable, Est:
~1/64 * (128/1,000,000) *(127/1000000) ~ 2.5 X10-10 ou ~ 1 partie dans 3.9 milliard.
Ceci est le produit de la probabilité que les premier et deuxième bits soient retournés sur une étiquette et de la probabilité que le deuxième bit retourné soit l’un des bits adjacents dans un triple particulier..
Dans la plupart des scénarios réguliers, La probabilité de corruption des données est très faible. Cependant, La capacité de stockage de données du tag est réduite de deux tiers, avec moins de 33% de la mémoire de balise disponible utilisée pour les données lorsque la mémoire 128 bits ne peut contenir que 41 Bits d’information.
Détecter deux bits inversés
Il existe un moyen moins gourmand en mémoire de détecter et de corriger un seul bit retourné, ainsi que détecter (mais pas correct) événements avec une probabilité beaucoup plus faible d’une balise avec deux bits retournés.
Cela peut être fait en n’encodant pas directement la balise, mais en utilisant une modification d’un mode inventé à l’origine par Richard Hamming appelé SECDEC, ou Correction d’erreur simple Double détection d’erreur.
Ce mode utilise des bits de parité supplémentaires calculés en fonction des données de charge utile. Comme son nom l’indique, Cet algorithme ne permet de corriger qu’un seul bit retourné, mais permet la détection d’un second bit retourné. Les concepteurs de systèmes RFID doivent intégrer des ressources dans l’architecture pour gérer la situation moins courante de doubles bits retournés sur une seule étiquette.