EPC Memory vs. User Memory

By Ken Traub

One bank identifies a tagged object and the other describes it.

  • TAGS

An ultrahigh-frequency Gen 2 RFID tag carries business data in two memory banks: the EPC memory bank (also called the UII memory bank) and the user memory bank. (Two other memory banks hold control information and are not discussed here.) Most tags have at least 96 bits of EPC memory, many have 128 bits and a few have as much as 496 bits. Some tags have no user memory, while others have 128 bits, 512 bits or even thousands of bits. How should application data be divided between these two memory banks?

The EPC memory bank should be used only to store a unique number that identifies the object to which the tag is affixed. This unique number, which typically requires at least 96 bits of memory, is like a car's license plate. The license plate doesn't tell you much about the car—just what state issued it—but because the number is different for every car, it serves well to identify the car and distinguish it from other vehicles.

A unique EPC number is crucial for correct operation of an RFID system. This is because RFID readers are blind—they don't know what tags are out there except by broadcasting a signal and listening for tags to respond with the contents of their EPC memory banks. The only reliable way a reader can tell the difference between reading two different tags and reading the same tag twice is if every tag carries a unique EPC—two different EPCs means two different tags.

The user memory bank is best used to describe the object to which the tag is affixed. It's akin to a car's registration, which says who owns the car and what color it is. The information varies according to the business application—user memory for a perishable item might include its expiration date, for an aircraft part it would likely identify the manufacturer and for a luggage tag it could identify the owner. Unlike EPC memory, user memory can change over time. Data, for example, might be added to the user memory of an aircraft part tag each time a maintenance operation is performed.

In principle, user memory is never required. Instead, a database can hold a record for every tag containing the descriptive information. An application can use the unique EPC number to look up the information in the database. There are several benefits to this approach. A database is not limited by the size and the data isn't lost if the tag fails. In addition, reading user memory makes reading tags slower and less reliable. But user memory may be needed in settings in which it's difficult to connect to a database.

And as I've discussed in previous columns, it's essential to use the correct data standard for each memory bank; see Managing User Memory and What's in a Name?

Ken Traub is the founder of Ken Traub Consulting, a Mass.-based firm providing services to com­panies that rely on advanced software technology to run their businesses. Send your software questions to swsavvy@kentraub.com.