RFID tags, or contactless tags, are being used ever more in everyday life, in particular for the traceability of a range of products, or of products individually. An exemplary RFID tag is presented in FIG. 1. With no energy source of its own, it comprises an antenna 2 and an electronic circuit 3 including a memory in which may be stored various items of information specific to the use of the tag, for example an identification code or (identifier) identifying the tag in particular. An RFID tag is a transmitter/receiver remotely energized by a radio field produced by a remote interrogation unit 4. The tag sends the information stored in part or totally, in response to an interrogation message contained in a radio signal 20 received from the interrogation unit 4. The exchanges are carried out in the form of frames containing bit sequences.
The memory serving to store the identifier of the tag may be a memory, for example, of OTP type (standing for “One Time Programmable”) or of EEPROM type (standing for “Electrically Erasable Programmable Read Only Memory”). Nowadays it may have sizes greater than 64 bits, or even reach sizes of a few tens of kilobits (for example 64 kbits).
Such a memory is typically organized into memory words, also called blocks, the whole set of these words forming the memory plane. A memory word consists of a certain number of adjacent memory cells, each storing one bit, and placed on one and the same row of the memory plane. Each block is identifiable by its position, called the address, in the memory plane.
A memory may moreover be organized into several memory areas, each grouping together one or more blocks. A first area is reserved for storing the identifier of the tag, and is called the UID area (“User Identification”). One or more other memory areas may be present also, and are then available for another use to be defined by the user. Such a memory area is called a USER area. As in the USER area, each of the blocks in the UID area is distinguishable by its address in the memory.
Commands for access to the whole or to a part of the memory plane (called a “memory dump”), on the basis of the address of a determined memory word are known from the standard in force ISO/IEC FCD 15693, like the “read multi block” optional command whose parameters include the reading start address, and the number of blocks to be read.
According to the ISO/IEC 13239 standard in force, the contactless tag accompanies each block or group of blocks transmitted in a frame by a Cyclic Redundancy Check code or CRC, which is dependent on the data of the block or blocks transmitted in the frame, and coded on 16 bits. The role of the CRC is to enable the remote interrogation unit to verify whether there has not been any transmission error in respect of the frame. The remote interrogation unit actually verifies whether the value of the block or blocks received is correct, that is to say complies with the value of the CRC received. If not, the remote interrogation unit ignores the frame received, which may have to be sent again.
The same holds in respect of the “read multi block” command which brings about the transmission of a certain number of blocks of the memory plane in a single frame, and protected by a single CRC. Now, the larger the size of the memory plane, the larger the risk of transmission error.
Should there be a transmission error with regard to the frame, it is the entire frame that has to be retransmitted. It follows that the “read multi block” command is not adapted to the reading of a memory plane of large size.
A protocol for sequential reading by successive commands for reading a memory word, on the basis of the address of a determined memory word, is also known, and is represented diagrammatically in FIG. 2a. However, it requires the sending 60 by the remote interrogation unit of a block read command (COM_ADDRES) after each receipt 61 of a block sent by the contactless tag. Having regard to the memory sizes envisaged today for contactless tags, this sequential reading (blockwise) may give rise to a very long time for reading the entire memory plane. Specifically, for a contactless tag comprising a memory composed of 2048 blocks, each of 32 bits (i.e. 64 kbits in total) and communicating according to the ISO/IEC 15693 protocol, the maximum speed of transfer when sending and receiving is 26.48 kbit/s.
The reading of the memory plane then comprises the following steps, with their respective duration calculated on the basis of the maximum speed of transfer mentioned above:    1. Sending by the remote interrogation unit of the command to read a block COM_ADDRES (coded on 116 bits according to the standard) 4.4 ms    2. Standby time waiting for the response from the contactless tag 0.3 ms    3. Sending by the contactless tag of a block and of the corresponding CRC (coded on 56 bits according to the standard, including 16 for the CRC) 2.1 ms    4. Standby time waiting for the sending by the remote interrogation unit of a new read command 0.3 ms
This sequence of steps is repeated 2048 times for the reading of the whole of the memory plane, this giving a total reading time of 14.5 seconds. It is in particular the systematic sending of a command to read a block COM_ADDRES that is time-consuming. The durations are given by way of indication and are calculated on the basis of the maximum speed of transfer according to the ISO/IEC 15693 standard. Other speeds are possible, in particular according to the ISO/IEC 14443 standard, such as speeds of 106 kbits/s, of 212 kbits/s or 424 kbits/s. In the subsequent account, the maximum speed of 26.48 kbits/s according to the ISO/IEC 15693 standard will be retained for all the durations mentioned.