Patent ID: 7174410

Claim:
An apparatus for communicating among devices on a bus, the apparatus comprising: a bus; a first device coupled to the bus and operable to communicate on the bus according to a first protocol; a bridge coupled to the bus and operable to communicate on the bus according to the first protocol; a second device coupled to the bus via the bridge and operable to communicate on the bus according to a second protocol, wherein the bridge is operable, in response to a request generated by the second device to write data to the first device, to send a certain ready signal to the second device without the bridge first receiving an acknowledgment from the first device that the first device is ready to receive the data, the bridge having memory for holding the data received from the second device and being operable to translate from the second protocol to the first protocol, and wherein the second device includes: logic operable for requesting to send data for a transaction and then sending multiple beats of the data responsive to receiving the certain ready signal from the bridge and without receiving the acknowledgment from the first device for the write request; and device memory for holding the data that the second device has sent for the transaction, but for which completion has not been signaled, wherein the logic is also operable for re-sending the data held in the device memory responsive to receiving at least one certain non-completion signal, and for releasing the device memory for the data responsive to receiving a completion signal; wherein the first device has logic operable for determining that the first device is able to receive the data for the transaction and for responsively sending the completion signal to the bridge, wherein the bridge is operable to send the completion signal to the second device for the transaction only in response to the first device sending the completion signal to the bridge, and wherein the second device sends the data and the first device receives the data at different rates without the first device signaling the certain non-completion signal and without the second device repeating the data sending, but the second device repeats the data sending in response to the first device signaling the certain non-completion signal.