1. A Universal Serial Bus (USB) class aware protocol module operating with an xHCI controller to transfer data in a memory to a device attached to a USB, the protocol module comprising: a set of registers and buffers including one or more registers and one or more buffers, the set modeling an interface for transfer of the data over a register oriented bus to the device, the set of registers and buffers receiving commands associated with the transfer of the data to the device; and one or more processors configured to process the data contained in the set of registers and buffers in accordance with the commands and a USB class protocol corresponding to the device to produce processed data, optimize the processed data for transfer over the USB to the device by the xHCI controller, and in response to an interrupt received over the USB from the device, transfer the processed data over the USB to the device under control of the xHCI controller, wherein access to the registers of the set of registers and buffers does not cause a multiple of transfers over the USB to the device.