A host adapter, which interfaces two I/O buses, caches data transferred from
one
I/O bus to another I/O bus in a data first-in-first-out (FIFO)/caching memory.
In addition, when a target device on the another I/O bus is ready to receive the
data, data is transferred from the data FIFO/caching memory even though not all
of the data may be cached in that memory. Hence, data is concurrently transferred
to and transferred from the data FIFO/caching memory. The data transfer to the
target device is throttled if cached data is unavailable in the data FIFO/caching
memory for transfer, e.g., the data cache is empty for the current context.