How is data stored on a RAIN RFID tag?

Modified on Fri, 30 Aug at 2:45 PM

The physical memory of RAIN RFID tags is divided into 4 different logical memory banks. Each of these memory banks is devoted to carry different kind of information.


The reserved memory bank (MB00) contains two 32-bit passwords. The first one is devoted to KILL command defined in the GS1 Gen2v2 standard. This command allows to make a tag inoperant whatever the command a reader can send. A killed tag will never answer to any reader’s command. In order to avoid any misuse of this KILL command, it is password protected. A second Access password allows the tag to be set in either the Open or Secured state. This, for example, will allow to protect data encoded in other memory banks. 

EPC memory bank (MB01) contains the item identifier (EPC) that (uniquely) identifies the object to which the tag is or will be attached. The GS1 Tag Data Standard proposes different way to encode GS1 keys and identifiers like SGTIN-96, SSCC, GIAI, GRAI, etc. It is usually up to the end-user to encode and protect this identifier against overwriting.

TID memory bank (MB10) contains an 8-bit ISO/IEC 15963 allocation class identifier and additional identifying information so that an Interrogator (Reader) can uniquely identify the chip (manufacturer, model and serial number). It also allows to identify custom commands and/or optional features that a tag supports. This TID is encoded by the chip manufacturer and is protected against overwriting so that it cannot be changed.

User memory bank (MB11) is optional. When a tag implements user memory then additional information can be stored. GS1 Tag Data Standard proposes different ways to encode this additional information based on Application Identifiers so that decoding and interpretation of data is made easier for the different stakeholders.

The Gen2V2 air interface protocol standards define basic operations, including read-write, and which memory banks or blocks can be written to. Reader manufacturers often combine these low-level commands with higher-level subroutines in their software development kits, so they can be used by application developers.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article