When a read request has been received, it is determined whether there is a
read address that has been designated in a particular area. When a read
address has been designated in the particular area, the process is
terminated. In other words, the process is completed although data is not
read. When a read address has not been designated in the particular area,
data is read from the designated address of the memory. The data that has
been read is supplied to a host device. After the data has been read, a
read address stored in, for example, a register is written to the
particular area. The address from which data has been read is appended to
the particular area. In such a manner, data that has been read from the
host device is prohibited from being accessed.