Patent ID: 7461318

Claim:
A communication controller which acts, when an IN transaction is performed as data communication under USB standard, as a host-side controller that (i) transfers an IN packet, which is supplied from a host device, to a function device side, while (ii) transfers a DATA packet, which is a response to the IN packet, to the host device, the communication controller comprising: receipt acknowledgement means for acknowledging receipt of the IN packet from the host device; storage means for storing the DATA packet supplied from the function device side; wherein when another IN packet is supplied from the host device side before receiving from the host side device an ACK packet in response to the DATA packet transmitted to the host device side, the communication controller holding said another IN packet, data storage acknowledgement means for checking if the DATA packet is stored in the storage means when the receipt acknowledgement means acknowledges the receipt of said another IN packet from the host device; and transmission control means for (I) transmitting, to the function device side, said another IN packet which is supplied from the host device, and transmitting a NAK packet to the host device, when the data storage acknowledgement means confirms that the DATA packet is not stored, and for (II) transmitting the DATA packet to the host device, when the data storage acknowledgement means confirms that the DATA packet is stored.