RFID technology has been widely used for asset tagging in a variety of industrial and government settings.
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. Por ejemplo, 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, thereby correctly identifying the asset.
sin embargo, this process can suffer from a problem called bit flipping.
bit flip
The vast majority of RFID tags on the market use EEPROM memory to store identification data. The charge stored in the memory cell determines the value of each bit in the identified EPC data (i.e., a charged memory cell can represent a “1”, while an empty cell can represent a “0”, and vice versa).
The state of a memory cell may become indeterminate in two potential situations. Por simplicidad, 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” a “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’. sin embargo, 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 “segundo” is changed to a hex “9”, which appears as a label backscattering two EPC codes. Por ejemplo, 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, consider a failure rate ε of 10-6/cell and the use of 128-bit extended EPC memory, which is available in many RFID chips, which we believe is a higher failure rate than typically observed, but the principle applies regardless What is the real exchange rate. For discussion purposes, we will ignore any time effects (ie failure time analysis). At ε = 10-6, approximately 1 en 7,812 tags are expected to exhibit a single bit flip; in addition, approximately 1 en 61.5 million tags are expected to exhibit two flipped bits, and approximately 488 mil millones 1 will show three flipped bits.
Reliably detect and correct unit flips
Because the failure rate is so low, single instances of bit flips can be reliably detected and corrected.
The easiest way is to encode each bit as a triple and use the “rule of majority” method to determine the correct data. En este caso, a single “1” is encoded as “111” y “0” is encoded as “000”. If one bit of the triple is flipped, the other two will “vote” to cover the wrong bit. This method is very robust, as data loss requires the very, very unlikely event, the flip of two bits of any one triple. De nuevo, considering our 128-bit encoding example above, the probability of a 2-bit flip for any one triplet, es decir. unrecoverable data loss, es:
~1/64 * (128/1,000,000) *(127/1000000) ~ 2.5 X10-10 or ~ 1 part in 3.9 mil millones.
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. sin embargo, the tag’s data storage capacity is reduced by two-thirds, with less than 33% of the available tag memory being used for data when 128-bit memory can only hold 41 bits of information.
Detect two flipped bits
There is a less memory-intensive way to detect and correct a single flipped bit, as well as detect (but not correct) events with a much lower probability of a tag with two flipped bits.
This can be done by not encoding the tag directly, but by using a modification of a mode originally invented by Richard Hamming called SECDEC, or Single Error Correction Double Error Detection.
Este modo utiliza bits de paridad adicionales calculados en función de los datos de carga útil. Como el nombre sugiere, este algoritmo permite corregir solo un bit invertido, pero permite la detección de un segundo bit volteado. Los diseñadores de sistemas RFID deben incorporar recursos en la arquitectura para manejar la situación menos común de doble volteo de bits en una sola etiqueta..