I chip RFId che seguivano gli standard ISO18000-6a e ISO18000-6b disponevano di 2 banchi di memoria. Il primo banco, di 96bit, conteneva il TID, Tag ID, identificativo unico del tag, programmato dal produttore in fase di sviluppo del silicio. Il secondo banco era invece inteso per la memoria utente (User Memory) e, con lo standard 6b, poteva arrivare fino a 2Kbit di memoria.
La presenza del TID era, ed è, fondamentale: si tratta del primo codice che viene scambiato con un reader al fine di indirizzare univocamente il tag in esame (procedura di anticollisione). TID doveva essere unico al mondo e piccolo in bits.
Nel 2002 nasce lo standard ISO18000-6c, la cui caratteristica principale risiede nell’avere 4 banchi di memoria: TID, EPC Memory, User Memory e un banco riservato. A differenza degli standard passati, la comunicazione con un reader non si basa più sul codice TID ma sul codice EPC, di libera scrittura da parte dell’utente.
Figura 1: memory map per i chip che seguono lo standard 18000-6a/6b e 6c
Oggigiorno, la quantità di memoria disponibile all’interno di un chip RFId sta crescendo e molti costruttori si trovano di fronte alla scelta di dove allocare tale memoria: nello spazio EPC (banco 01) o nella User Memory (Banco 11)?
Mettere ulteriori bit nella memoria EPC può sembrare un controsenso in termini di velocità di lettura dei tag e, su questa premessa, sono stati avanzati studi proprio sulle performance ottenute da chip la cui memoria oltre i 96bits è allocata nel banco 01 o 11.
Lo studio ha evidenziato che le performance, in termini di velocità di lettura e di numero di collisioni, crollano, di circa un 30%, quando la popolazione di tag ha un banco EPC da 240bit anziché da 96bits. Questa performance crolla più sensibilmente quando la popolazione di tag è mista, ovvero presenta tag da 96bits e tag da 240bits contemporaneamente.
Per garantirsi un alto read rate è quindi importante utilizzare popolazioni con UII brevi.
La lettura di aree di memoria user segue sempre il processo di inventory: questo implica che applicazioni che usano tale banco di memoria sono sempre penalizzate in termini di velocità di esecuzione. Un altro risultato emerso da tale studio e che per queste applicazioni, leggere il banco 01 oppure leggere il banco11 non ha effetto sulla velocità di esecuzione.