EPC Gen2 Memory Bank Architecture
Every compliant RAIN UHF RFID tag conforms to the 4-bank memory mapping defined in ISO/IEC 18000-63 and the GS1 Tag Data Standard (TDS 2.0). Understanding the word addressing and bit structure of each bank is essential for designing high-performance asset tracking systems and preventing tag commissioning errors.

1. Detailed Breakdown of the 4 Memory Banks
Contains two 32-bit PIN passwords. Word 00–01: 32-bit Kill Password (permanently deactivates tag silicon if executed). Word 02–03: 32-bit Access Password (required to transition tag into the Secured state for memory locking or sensitive User bank writes).
The primary identification bank broadcast during inventory rounds. Word 00 (16 bits): Stored CRC-16 calculated over the PC word and EPC payload. Word 01 (16 bits): Protocol Control (PC) word encoding EPC length and formatting flags. Word 02+ (64 to 496 bits): Serialized Global Trade Item Number (SGTIN-96, SSCC-96, GIAI-96) or custom hex identifier.
Permanent silicon wafer identification. Bits 00–07: 8-bit Class ID (0xE2 for standard Gen2). Bits 08–19: 12-bit Mask Designer ID (MDID) identifying the chip manufacturer (e.g., 0x801 for Impinj, 0x806 for NXP, 0x003 for Alien). Bits 20–31: 12-bit Model Code. Bits 32+: Globally unique factory serialization number.
Application-specific read/write memory. Utilized in aerospace maintenance (ATA Spec 2000), cold chain temperature logging calibration bytes, pharmaceutical batch expiration dates, or encrypted public keys.
2. Protocol Control (PC) Word Bit Structure (Word 01 of Bank 01)
The 16-bit PC Word informs reader firmware how many words of EPC data follow and how to interpret the bitstream:
| Bits 0–4 (5 bits) | Bit 5 (1 bit) | Bit 6 (1 bit) | Bit 7 (1 bit) | Bits 8–15 (8 bits) |
|---|---|---|---|---|
| EPC Length (L) | UMI Flag | ISO/GS1 Toggle | XPC Indicator | Reserved (00000000) |
| Number of 16-bit EPC words (00110b = 6 words = 96 bits, 01000b = 8 words = 128 bits) | 0 = User memory empty; 1 = User memory contains data | 0 = GS1 EPC Tag Data Standard; 1 = ISO/IEC 15962 data format | 0 = Standard 16-bit PC word; 1 = Extended Protocol Control (XPC) present | Must be set to zero for all standard Gen2 transponders |
3. Silicon Vendor Mask Identification & Memory Matrix
When decoding the initial 32 bits of Bank 10 (TID), the Mask Designer ID (MDID) and chip model identify the exact silicon family:
| Silicon IC Family | Manufacturer | Header Prefix | EPC Bits | User Mem | Read Sensitivity |
|---|---|---|---|---|---|
| Impinj M730 | Impinj (0x801) | E280 1160 | 128 bits | 0 bits | -24.0 dBm |
| Impinj M750 | Impinj (0x801) | E280 1170 | 96 bits | 32 bits | -24.0 dBm |
| Impinj Monza R6-P | Impinj (0x801) | E280 1105 | 128/96 bits | 32/64 bits | -22.1 dBm |
| NXP UCODE 9 | NXP (0x806) | E280 6894 | 96 bits | 0 bits | -24.0 dBm |
| NXP UCODE DNA | NXP (0x806) | E280 6910 | 224 bits | 3072 bits | -19.0 dBm (AES-128) |
| Alien Higgs-9 | Alien (0x003) | E200 3412 | 496 bits | 688 bits | -22.5 dBm |
4. Gen2 20-Bit Lock Payload & State Machine
The ISO/IEC 18000-63 Lock command uses a 10-bit Mask field (which memory targets to update) and a 10-bit Action field (what lock status to apply):
The 5 Lock Target Zones (2 Bits Per Target):
00b = Accessible (Open) |
01b = Secured Write-Lock |
10b = Perma-Open |
11b = Permalocked (Irreversible) Need High-Speed Tag Encoding Middleware?
Our C# .NET 8 RFID Middleware automates serialization, PC word injection, and permalocking across industrial Zebra and Sato RFID print engines at over 300 tags per minute.