Patent ID: 8539131

Claim:
A method comprising: determining a first speed of a device at a first protocol engine having a dedicated first port in response to a coupling of the device to the first port; receiving a software notification at software interface logic, the notification including a device context having a slot context and a transfer descriptor, wherein the slot context includes a port number corresponding to the first port and the transfer descriptor includes data transfer information; fetching data based on the data transfer information; selecting the first protocol engine from a plurality of protocol engines based on the port number; dispatching a data transfer request and the fetched data at a second speed from a dispatcher module of the software interface logic to the first protocol engine, wherein the second speed is greater than the first speed; using a state machine of the first protocol engine to form a packet based on the transfer request and the fetched data from the dispatcher module; outputting the packet from the state machine; receiving the packet at port control logic of the first protocol engine, wherein the port control logic has multi-speed functionality; transmitting at the first speed the packet from the port control logic to the device via the first port; and transmitting an acknowledgement from the first protocol engine to the software interface logic in response to receiving an acknowledgement from the device.