Un'applicazione tipica utilizza un set di tag serializzato con una memoria EPC codificata e un database che collega i dati EPC del tag agli identificatori delle risorse. Per esempio, un tag RFID codificato con un codice EPC a 96 bit può essere associato a un server informatico con numero di serie specifico, macchina utensile, o dispositivo medico. Un presupposto implicito nella progettazione di un sistema di tracciamento è che i tag possano essere letti in modo affidabile, identificando così correttamente il bene.
però, questo processo può soffrire di un problema chiamato bit flipping.
capovolgere un po'

etichette di gestione delle risorse
La stragrande maggioranza dei tag RFID sul mercato utilizza la memoria EEPROM per memorizzare i dati di identificazione. La carica immagazzinata nella cella di memoria determina il valore di ciascun bit nei dati EPC identificati (cioè., a charged memory cell can represent a “1”, while an empty cell can represent a “0”, e viceversa).
Lo stato di una cella di memoria può diventare indeterminato in due potenziali situazioni. Per semplicità, we assume that a charged memory cell represents a “1”.
The memory cell “leaks”, la carica depositata durante la codifica si dissipa, provocando il cambiamento dello stato cellulare, so the bit changes from “1” to “0”
La cella di memoria non è stata completamente caricata durante la codifica, and it is statistically possible for a partially charged cell to be read as a ‘0’ instead of a ‘1’†
†Tecnicamente, it is always possible for the charge bit to be interpreted as a ‘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.
Scena di esempio
Uno scenario di esempio potrebbe essere quel cestino 1011 finisce per cambiare in cestino 1001 – most commonly a hex character “B” is changed to a hex “9”, che appare come un'etichetta che retrodiffonde due codici EPC. Per esempio, utilizzando la codifica a 96 bit:
E280 1170 EA21 7B2A 04C2 1181 e E280 1170 EA21 792A 04C2 1181
This is rarely observed — we don’t know of any reliable data on prevalence from any chip manufacturer — but with billions of RFID tags actually deployed, la possibilità non può essere ignorata.
Come controllo di integrità, considerare un tasso di errore ε 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 errore più elevato di quello normalmente osservato, ma il principio si applica a prescindere Qual è il tasso di cambio reale. A scopo di discussione, ignoreremo qualsiasi effetto temporale (cioè l'analisi del tempo di guasto). A ε = 10-6, circa 1 nel 7,812 i tag dovrebbero mostrare un singolo capovolgimento di bit; Inoltre, circa 1 nel 61.5 milioni di tag dovrebbero mostrare due bit capovolti, e circa 488 miliardo 1 mostrerà tre bit capovolti.
Rileva e correggi in modo affidabile i capovolgimenti delle unità
Perché il tasso di fallimento è così basso, singole istanze di inversioni di bit possono essere rilevate e corrette in modo affidabile.
The easiest way is to encode each bit as a triple and use the “rule of majority” method to determine the correct data. In questo caso, a single “1” is encoded as “111” and “0” is encoded as “000”. Se un bit della tripla viene capovolto, the other two will “vote” to cover the wrong bit. Questo metodo è molto robusto, poiché la perdita di dati richiede molto, evento molto improbabile, il lancio di due bit di una tripla qualsiasi. Ancora, considerando il nostro esempio di codifica a 128 bit sopra, la probabilità di un capovolgimento di 2 bit per qualsiasi tripletta, vale a dire. perdita di dati irrecuperabile, il Tag RFID MIFARE risponderà al comando:
~1/64 * (128/1,000,000) *(127/1000000) ~ 2.5 X10-10 o ~ 1 parte a 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 terna.
Nella maggior parte degli scenari regolari, la probabilità di corruzione dei dati è molto bassa. però, la capacità di memorizzazione 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 pezzetti di informazioni.
Rileva due bit capovolti
Esiste un modo meno dispendioso in termini di memoria per rilevare e correggere un singolo bit capovolto, nonché rilevare (ma non corretto) eventi con una probabilità molto inferiore di un tag con due bit invertiti.
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 errore singolo Rilevamento errore doppio.
Questa modalità utilizza bit di parità aggiuntivi calcolati in base ai dati del carico utile. Come suggerisce il nome, questo algoritmo consente di correggere un solo bit invertito, 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 del doppio ribaltamento dei bit su un singolo tag.