- A master routes transactions to more than one output port (slave), and
- Multiple transactions are outstanding, and
- Transactions use the same ID
- If a transaction destined to port A with ID x arrives, and there are already some pending transactions with ID x to port B, the master will wait until all pending transactions with ID x to port B have completed before routing the new request to port A.
In effect, the master ensures that any ID value can be pending only to a single slave destination, thus ensuring that responses cannot be returned out of order. Hence the name “single slave per ID”. In some cases, particularly with interleaved memories, this can have a negative impact on performance.