1. An apparatus for managing data flow among a plurality of I/O devices, comprising: a first memory, for storing I/O data in transit between the plurality of I/O devices; a first processor, including a first store for storing copies of items of I/O data from the first memory; a first communication channel coupled to the first processor; a second communication channel coupled to the plurality of I/O devices; an access controller coupled to the first communication channel, the second communication channel and the first memory, which arbitrates accesses to the first memory by the first communication channel and the second communication channel; an identification store coupled with the access controller, which stores identifying information about copies of items of I/O data from the first memory which reside in the first store; and consistency logic executing a set of consistency rules coupled with the access controller and the identification store, for maintaining consistency between the I/O data in the first memory and copies of the I/O data in first store, wherein the consistency logic uses the identification store to determine whether it is necessary to send a communication to the first processor across the first communication channel to enforce the set of consistency rules in response to read and write operations to the first memory.