A processing circuit executes a data producing process and a data
consuming process. The data producing process produces a stream of data,
the data consuming process consumes the stream of data concurrently with
production of the stream. A first-in first-out buffer passes data from
the stream between the data producing process and the data consuming
process. The buffer comprises buffer memory, the buffer writes data-items
from the stream in circular fashion into the buffer memory. A consuming
process interface is arranged to process a command for making a data
grain from the stream available to the data consuming process. The
interface responds to the command by testing whether addresses of data
within the grain to which access has to be gained wrap around in the
circular FIFO buffer. The interface copies the grain from the FIFO buffer
to the auxiliary memory region, on condition that the addresses wrap
around, so that the wrap around is eliminated in the copied grain, The
interface returns an indication to the consuming process to read the
grain from the FIFO buffer when the addresses do not wrap around inside
the grain, or an indication to read from the auxiliary memory region,
when the addresses wrap around.