Understanding EPC GEN 2 Search Modes and Sessions

Search Modes and Sessions can be a somewhat confusing concept at first.  This post is designed to explain the difference between Search Modes and Sessions on  RFID Readers, and give examples of when you should use which settings.  Any Gen 2 reader works in this same fashion; however, for the purposes of this post, the screenshot below is from Impinj's MultiReader software connecting to the Speedway Revolution RFID reader.

Within Multireader, while in the Modes, RF, Power setting, you will see the option for setting "Search Mode" and "Session".  What do these settings mean and how do they affect the performance of tag inventory?

Session Inventory Flags

Each EPC GEN 2 compliant tag has two states: 'A' and 'B'. The 'A' state is default when the tag powers up (or after 'B' state times out - more on that later).


The EPC GEN 2 standard allows for up to four sessions; these sessions serve two purposes:

  • Determines how often a tag will respond to a query from the reader
  • Allows for multiple readers to conduct independent inventories

The RFID reader will select which session is to be used, each session's inventory flag can be independently set to 'A' or 'B' as shown below.


Once the RFID reader inventories the tag, the flag state is changed from 'A' to 'B' - how long the tag stays in the 'B' state before reverting back to the 'A' state is called "persistence". It is important to realize that exact persistence times cannot be set by the user; they can only be approximated according to the Search Mode and Session - more on this later.

Next let's look at Search Modes and how they work with the Session setting to establish the persistence.

Search Modes

There are three search modes available on the Impinj Revolution reader: Dual Target, Single Target and Single Target with Suppression. "Target" in this case is referring to whether the reader will singulate (select) only tags that are in the 'A' state (Single Target) or if it will singulate tags in both 'A' and 'B' state (Dual Target).

In Dual Target, the reader reads all ‘A’ tags then moves all ‘A’ tags into ‘B’. Reader then reads all ‘B’ tags then moves all ‘B’ tags into ‘A’ and so on…. Additionally, in Dual Target, session has no influence as the reader will immediately 'push' tags back into 'A' state.

This search mode generates many reads and is good for small populations or static environments (i.e.smart shelf).

In Single Target, the reader reads all ‘A’ tags then moves all ‘A’ tags into ‘B’ and allows tags to stay quiet once they are inventoried. This mode is good for high population, dynamic environments (i.e. dock door portal).

Putting It All Together

So far we've discussed Sessions, Persistence, and Search Modes; now let's put it all together to see the effect these settings have.

The image above illustrates what happens when a tag enters the read field according to the Search Mode and Session.

In Dual Target, the tag will be read continuously regardless of tag state 'A' or 'B'; the Session setting has no influence.

In Single Target with Session set to '1' the tag will be read and then moved to the 'B' state. After some period of time (TS1) it will revert back to the 'A' state and be read again. This TS1 value is defined in the EPC GEN 2 standard as being between 500ms and 5 seconds; again it cannot be expressly set, only approximated. The TS1 value will vary depending tag IC manufacturer and even specific tag IC model. For example, the Impinj Monza 3 S1 persistence is approximately 1 second whereas the Monza 4 is closer to 500ms. So, if we set the reader for Single Target, Session 1, we will see a Monza 3 tag being read about every second.

If the reader Search Mode is set to Single Target and the Session to either '2' or '3' then the tag will be read once then switch to 'B' state and remain quiet the entire time it is in the read field.

Once the RFID tag leaves the read field, it will have a persistence (stay in the 'B' state) for a time period of TS2/3. This persistence time is only required by the EPC GEN 2 standard to be a minimum of 2 seconds with no maximum defined; it tends to be around 60 seconds but can be on the order of hundreds of seconds. Remember that during this time, the tag will not respond to a query from any reader using Single Target and the same Session.

Using Single Target with Suppression provides the advantage of Sessions 2 and 3 in that it will remain quiet while in the read field once inventoried thus allowing other tags which may be "quieter" (not reflecting as much power) to be read. It also provides the advantage of Session 1 in that it will revert almost immediately back to the 'A' state and be available for a reader query upon leaving the read field.


Let's look at some example scenarios:

Scenario 1:

There are a number of tagged items being continuously inventoried on a RFID-enabled "smart shelf". Selecting Dual Target for the search mode will allow for the fastest update of tag status and be able to provide an update alert should a tagged item be put on, or taken off, the shelf.

Scenario 2:

A fixed RFID reader portal is performing an inventory on incoming items as they come off the delivery truck using Single Target, Session 2. Now, let's say you want to do a quick inventory sweep with a handheld reader (perhaps to encode the storage location). If the handheld reader uses the same session, it might miss some of the tags, or have a slow tag read rate, due to the fact that the tags were 'pushed' into the 'B' state by the fixed reader and have not yet flipped back to the 'A' state. Setting the handheld RFID reader to a different Search Mode (i.e. Dual Target or Single Target w/ Suppression) or to Session 3, will allow the tagged items to be inventoried.

Another option would be to use Single Target with Suppression (assuming use of Impinj Monza tags) so that the large population of tags can be quickly inventoried with high probability of 100% count and still allow the tags to be re-inventoried almost immediately after leaving the portal read zone.

Scenario 3:

Two readers want to simultaneously inventory a population of tags and then confirm they have the same count as a way of reducing missed tags. In this case, setting one reader to Single Target, Session 2 and the other to Single Target, Session 3 will allow this to happen.


For more on Search Modes and Session, comment below or contact us. If you would like to learn more about all things RFID, check out our  website, or our YouTube channel,

To read about more RFID concepts, check out the links below!