8.3.2.2 Random Read: $B1

The Random Read command provides the host with the ability to sequentially clock data from the device, starting from a specified address. The host needs to issue a “dummy” write operation to specify the start address for the Random Read. The host does this by clocking in the four bytes of the write command and then following them with a Start condition instead of a data byte. At this point, the device’s internal logic is pointing to the address from the aborted write operation. The host may then issue the Random Read command byte ($B1), to which the device will respond with the EEPROM byte at the current address location and then increment the internal address by one. The device will continue to sequentially send out bytes as long as the host keeps acknowledging each byte with an ACK. Address rollover occurs from the last byte of the current zone to the first byte of that zone. The host terminates the Random Read by issuing a NACK signal instead of an ACK.
Figure 8-4. Random Read Command
???

CryptoMemory® will NACK the N parameter of the dummy write operation if the write is issued to an illegal write location. The NACK response, however, does not affect the loading of the read address. The Random Read command works for both configuration and user memory. It is important to implement the CryptoMemory read commands as specified; otherwise, CryptoMemory responses will cause contention on the bus with a host using the standard TWI protocol.