RFID-technologie wordt op grote schaal gebruikt voor het taggen van activa in verschillende industriële en overheidsomgevingen.
A typical application uses a serialized tag set with an encoded EPC memory and a database that links the tag’s EPC data to asset identifiers. Bijvoorbeeld, an RFID tag encoded with a 96-bit EPC code can be associated with a specific serial number computer server, machine tool, or medical device. An implicit assumption in the design of a tracking system is that the tags can be read reliably, waardoor het actief wordt correct geïdentificeerd.
Echter, dit proces kan last hebben van een probleem dat bitflipping wordt genoemd.
beetje omdraaien
De overgrote meerderheid van de RFID-tags op de markt gebruiken EEPROM-geheugen om identificatiegegevens op te slaan. De lading die in de geheugencel is opgeslagen, bepaalt de waarde van elke bit in de geïdentificeerde EPC-gegevens (d.w.z., een geladen geheugencel kan een vertegenwoordigen “1”, terwijl een lege cel kan staan voor a “0”, en vice versa).
De toestand van een geheugencel kan in twee mogelijke situaties onbepaald worden:. voor de eenvoud, we assume that a charged memory cell represents a “1”.
The memory cell “leaks”, the charge deposited during encoding dissipates, causing the cell state to change, so the bit changes from “1” naar “0”
The memory cell was not fully charged during encoding, and it is statistically possible for a partially charged cell to be read as a ‘0’ instead of a ‘1’†
†Technically, it is always possible for the charge bit to be interpreted as a ‘0’. Echter, when the specified charging threshold is exceeded, the likelihood of this happening is very small. Statistical details are well beyond the scope of this discussion.
Example scene
An example scenario might be that bin 1011 ends up changing to bin 1001 – most commonly a hex character “B” is changed to a hex “9”, which appears as a label backscattering two EPC codes. Bijvoorbeeld, using 96-bit encoding:
E280 1170 EA21 7B2A 04C2 1181 and 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, the possibility cannot be ignored.
As a sanity check, overweeg een uitvalpercentage ε van 10-6/cel en het gebruik van 128-bits uitgebreid EPC-geheugen, die beschikbaar is in veel RFID-chips, waarvan wij denken dat dit een hoger uitvalpercentage is dan doorgaans wordt waargenomen, maar het principe is van toepassing ongeacht Wat is de echte wisselkoers?. Voor discussiedoeleinden, we zullen alle tijdseffecten negeren (dat wil zeggen faaltijdanalyse). Bij ε = 10-6, ongeveer 1 in 7,812 tags zullen naar verwachting een enkele bit flip vertonen; in aanvulling op, ongeveer 1 in 61.5 miljoen tags zullen naar verwachting twee omgedraaide bits vertonen, en ongeveer 488 miljard 1 laat drie omgedraaide bits zien.
Detecteer en corrigeer op betrouwbare wijze omvallen van de unit
Omdat het percentage mislukkingen zo laag is, enkele gevallen van bitflips kunnen betrouwbaar worden gedetecteerd en gecorrigeerd.
De gemakkelijkste manier is om elke bit als een triple te coderen en de te gebruiken “meerderheidsregel” methode om de juiste gegevens te bepalen. In dit geval, een “1” is gecodeerd als “111” en “0” is gecodeerd als “000”. Als een stukje van de triple wordt omgedraaid, de andere twee zullen “stemmen” om het verkeerde deel te bedekken. Deze methode is zeer robuust, aangezien gegevensverlies de zeer, zeer onwaarschijnlijke gebeurtenis, de omslag van twee bits van een triple. Opnieuw, considering our 128-bit encoding example above, the probability of a 2-bit flip for any one triplet, d.w.z. unrecoverable data loss, is:
~1/64 * (128/1,000,000) *(127/1000000) ~ 2.5 X10-10 or ~ 1 part in 3.9 miljard.
This is the product of the probability that the first and second bits are flipped on a label and the probability that the second flipped bit is one of the adjacent bits in a particular triple.
In most regular scenarios, the probability of data corruption is very low. Echter, the tag’s data storage capacity is reduced by two-thirds, with less than 33% van het beschikbare taggeheugen dat wordt gebruikt voor gegevens wanneer 128-bits geheugen alleen kan bevatten 41 stukjes informatie.
Detecteer twee omgedraaide bits
Er is een minder geheugenintensieve manier om een enkele omgedraaide bit te detecteren en te corrigeren, evenals detecteren (maar niet correct) gebeurtenissen met een veel lagere kans op een tag met twee omgedraaide bits.
Dit kan worden gedaan door de tag niet rechtstreeks te coderen, maar door een wijziging te gebruiken van een modus die oorspronkelijk is uitgevonden door Richard Hamming, genaamd SECDEC, of enkele foutcorrectie Dubbele foutdetectie.
Deze modus gebruikt extra pariteitsbits die zijn berekend op basis van de payloadgegevens. Zoals de naam al doet vermoeden, met dit algoritme kan slechts één omgedraaid bit worden gecorrigeerd, maar maakt de detectie van een tweede omgedraaide bit mogelijk. Ontwerpers van RFID-systemen moeten middelen in de architectuur opnemen om de minder vaak voorkomende situatie van dubbele flipping-bits op een enkele tag aan te kunnen.