La tecnologia RFID è stata ampiamente utilizzata per l'etichettatura delle risorse in una varietà di contesti industriali e governativi.
Un'applicazione tipica utilizza un set di tag serializzati con una memoria EPC codificata e un database che collega i dati EPC del tag agli identificatori di asset. Per esempio, un tag RFID codificato con un codice EPC a 96 bit può essere associato a un server di computer con numero di serie specifico, macchina utensile, o dispositivo medico. Un presupposto implicito nella progettazione di un sistema di tracciamento è che i tag possono essere letti in modo affidabile, identificando così correttamente il bene.
però, Questo processo può soffrire di un problema chiamato bit flipping.
bit flip
La stragrande maggioranza dei tag RFID sul mercato utilizza la memoria EEPROM per memorizzare i dati di identificazione. La carica memorizzata nella cella di memoria determina il valore di ciascun bit nei dati EPC identificati (Cioè., Una cella di memoria carica può rappresentare un “1”, mentre una cella vuota può rappresentare un “0”, e viceversa).
Lo stato di una cellula di memoria può diventare indeterminato in due potenziali situazioni. Per semplicità, Supponiamo che una cella di memoria carica rappresenti un “1”.
La cella di memoria “Perdite”, La carica depositata durante la codifica si dissipa, causare la modifica dello stato della cella, Quindi il bit cambia da “1” A “0”
La cella di memoria non è stata caricata completamente durante la codifica, ed è statisticamente possibile che una cellula parzialmente carica venga letta come una ‘0’ invece di un '1'†
†Tecnicamente, È sempre possibile che il bit di carica venga interpretato come un ‘0'. però, quando viene superata la soglia di carica specificata, La probabilità che ciò accada è molto piccola. I dettagli statistici vanno ben oltre lo scopo di questa discussione.
Esempio di scena
Uno scenario di esempio potrebbe essere che bin 1011 finisce per passare al cestino 1001 – più comunemente un carattere esadecimale “B” viene modificato in un esagono “9”, che appare come un'etichetta che disperde due codici EPC. Per esempio, Utilizzo della codifica a 96 bit:
E280 1170 EA21 7B2A 04C2 1181 e E280 1170 EA21 792A 04C2 1181
Questo è raramente osservato — Non siamo a conoscenza di dati affidabili sulla prevalenza da parte di qualsiasi produttore di chip — ma con miliardi di tag RFID effettivamente implementati, La possibilità non può essere ignorata.
Come controllo di sanità mentale, considerare un tasso di guasto ε di 10-6/cella e l'uso di memoria EPC estesa a 128 bit, che è disponibile in molti chip RFID, che riteniamo sia un tasso di fallimento più elevato di quello tipicamente osservato, ma il principio si applica a prescindere Qual è il tasso di cambio reale. A scopo di discussione, ignoreremo qualsiasi effetto temporale (Analisi del tempo di guasto di IE). A ε = 10-6, circa 1 Pollici 7,812 I tag dovrebbero mostrare un singolo bit flip; Inoltre, circa 1 Pollici 61.5 Si prevede che milioni di tag mostreranno due bit capovolti, e circa 488 miliardo 1 mostrerà tre bit capovolti.
Rileva e correggi in modo affidabile i capovolgimenti dell'unità
Perché il tasso di guasto è così basso, Singole istanze di bit flip possono essere rilevate e corrette in modo affidabile.
Il modo più semplice è codificare ogni bit come triplo e utilizzare il comando “Regola della maggioranza” Metodo per determinare i dati corretti. In questo caso, un singolo “1” è codificato come “111” e “0” è codificato come “000”. Se un bit della tripla viene capovolto, gli altri due “votare” per coprire il bit sbagliato. Questo metodo è molto robusto, poiché la perdita di dati richiede il, evento molto improbabile, il capovolgimento di due bit di una tripla. di nuovo, considerando il nostro esempio di codifica a 128 bit sopra, la probabilità di un capovolgimento a 2 bit per ogni tripletta, cioè. perdita di dati irreversibile, È:
~1/64 * (128/1,000,000) *(127/1000000) ~ 2.5 X10-10 o ~ 1 parte in 3.9 miliardo.
Questo è il prodotto della probabilità che il primo e il secondo bit siano capovolti su un'etichetta e la probabilità che il secondo bit capovolto sia uno dei bit adiacenti in una particolare tripla.
Nella maggior parte degli scenari regolari, La probabilità di corruzione dei dati è molto bassa. però, La capacità di archiviazione dei dati del tag è ridotta di due terzi, con meno di 33% della memoria tag disponibile utilizzata per i dati quando la memoria a 128 bit può contenere solo 41 Bit di informazioni.
Rileva due bit capovolti
Esiste un modo meno dispendioso in termini di memoria per rilevare e correggere un singolo bit capovolto, così come rilevare (ma non corretto) eventi con una probabilità molto più bassa di un tag con due bit capovolti.
Questo può essere fatto non codificando direttamente il tag, ma utilizzando una modifica di una modalità originariamente inventata da Richard Hamming chiamata SECDEC, o Correzione di errori singoli Rilevamento doppio errore.
Questa modalità utilizza bit di parità aggiuntivi calcolati in base ai dati del payload. Come suggerisce il nome, Questo algoritmo consente di correggere un solo bit capovolto, ma consente il rilevamento di un secondo bit capovolto. I progettisti di sistemi RFID devono incorporare risorse nell'architettura per gestire la situazione meno comune di doppi bit di ribaltamento su un singolo tag.