No, I do not think it is that low level, it is our code. There is a buffer where the data are read and this buffer has a limited size. ST i2c is usually quite bad, but for reading an I2C memory the hardware does not cause problems .