La technologie RFID a été largement utilisée pour l'étiquetage des actifs dans une variété d'environnements industriels et gouvernementaux.
Une application typique utilise un ensemble d'étiquettes sérialisées avec une mémoire EPC codée et une base de données qui relie les données EPC de l'étiquette aux identifiants d'actifs. Par exemple, une étiquette RFID encodée avec un code EPC 96 bits peut être associée à un serveur informatique de numéro de série spécifique, machine-outils, 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.
toutefois, ce processus peut souffrir d'un problème appelé retournement de bit.
peu flip
La grande majorité des étiquettes RFID sur le marché utilisent la mémoire EEPROM pour stocker les 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 mémoire chargée peut représenter un “1”, tandis 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 la simplicité, on suppose qu'une cellule mémoire chargée représente un “1”.
La cellule mémoire “fuites”, la charge déposée lors de l'encodage se dissipe, provoquant le changement d'état de la cellule, donc le bit change de “1” à “0”
La cellule mémoire n'a pas été complètement chargée lors de l'encodage, et il est statistiquement possible qu'une cellule partiellement chargée soit lue comme un ‘0’ au lieu d'un '1'†
†Techniquement, il est toujours possible que le bit de charge soit interprété comme un ‘0'. toutefois, 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 le cadre de cette discussion.
Exemple de scène
Un exemple de scénario pourrait être que bin 1011 finit par changer en bin 1001 – le plus souvent un caractère hexadécimal “B” est changé en un hexagone “9”, qui apparaît comme une étiquette rétrodiffusant deux codes EPC. Par exemple, en utilisant le codage 96 bits:
E280 1170 EA21 7B2A 04C2 1181 et E280 1170 EA21 792A 04C2 1181
Ceci est rarement observé — nous ne connaissons aucune donnée fiable sur la prévalence d'aucun 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, considérer un taux d'échec ε de 10-6/cellule et l'utilisation d'une mémoire EPC étendue de 128 bits, qui est disponible dans de nombreuses puces RFID, 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. A des fins de discussion, nous ignorerons tous les effets temporels (c'est-à-dire l'analyse du temps de défaillance). À ε = 10-6, environ 1 dans 7,812 on s'attend à ce que les balises présentent un retournement d'un seul bit; en outre, environ 1 dans 61.5 on s'attend à ce que des millions d'étiquettes présentent deux bits inversés, et environ 488 milliard 1 affichera trois bits inversés.
Détecter et corriger de manière fiable les retournements d'unités
Parce que le taux d'échec est si faible, des 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 triplet et d'utiliser le “règle de la majorité” méthode pour déterminer les données correctes. Dans ce cas, un célibataire ou Individual “1” est encodé comme “111” et “0” est encodé comme “000”. Si un bit du triple est retourné, les deux autres vont “vote” couvrir le mauvais morceau. Cette méthode est très robuste, car la perte de données nécessite le très, événement très improbable, le retournement de deux bits d'un triplet quelconque. Encore, compte tenu de notre exemple d'encodage 128 bits ci-dessus, la probabilité d'un retournement de 2 bits pour tout 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 part à 3.9 milliard.
C'est le produit de la probabilité que les premier et deuxième bits soient inversés sur une étiquette et la probabilité que le deuxième bit inversé soit l'un des bits adjacents dans un triplet particulier.
Dans la plupart des scénarios réguliers, la probabilité de corruption des données est très faible. toutefois, la capacité de stockage des données du tag est réduite des 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 bribes d'informations.
Détecter deux bits inversés
Il existe un moyen moins gourmand en mémoire pour détecter et corriger un seul bit inversé, ainsi que détecter (mais pas juste) événements avec une probabilité beaucoup plus faible d'une étiquette avec deux bits inversé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 Détection d'erreur double.
Ce mode utilise des bits de parité supplémentaires calculés sur la base des données de charge utile. Comme le nom le suggère, cet algorithme ne permet de corriger qu'un seul bit retourné, mais permet la détection d'un deuxième bit inversé. Les concepteurs de systèmes RFID doivent incorporer des ressources dans l'architecture pour gérer la situation moins courante de double retournement de bits sur une seule étiquette.