There are four data transfer types defined in USB. Each type is optimized to match the service requirements between the client software and the USB device. The four types are:
    · Interrupt Transfers - Small data transfers used to communicate information from the USB device to the client software. The Host Controller Driver polls the USB device by issuing tokens to the device at a periodic interval sufficient for the requirements of the device.
    · Isochronous Transfers - Periodic data transfers with a constant data rate. Data transfers are correlated in time between the sender and receiver.
    · Control Transfers - Nonperiodic data transfers used to communicate configuration/command/status type information between client software and the USB device.
    · Bulk Transfers - Nonperiodic data transfers used to communicate large amounts of information between client software and the USB device.
    In OpenHCI the data transfer types are classified into two categories: periodic and nonperiodic. Periodic transfers are interrupt and isochronous since they are scheduled to run at periodic intervals. Nonperiodic transfers are control and bulk since they are not scheduled to run at any specific time, but rather on a time-available basis.


    USB定义了四种数据传输类型。每种类型都经过优化,以满足客户端软件与USB设备之间的服务需求。这四种类型分别是:
    · 中断传输 - 用于从USB设备向客户端软件传递信息的小数据传输。主机控制器驱动程序通过以符合设备需求的固定时间间隔向设备发出令牌来轮询USB设备。
    · 等时传输 - 具有恒定数据速率周期性数据传输。发送方和接收方之间的数据传输在时间上保持同步。
    · 控制传输 - 用于在客户端软件与USB设备之间传递 配置/命令/状态 类信息的非周期性数据传输。
    · 批量传输 - 用于在客户端软件与USB设备之间传递大量信息非周期性数据传输。
    在OpenHCI中,数据传输类型被分为两类:周期性和非周期性。周期性传输包括中断传输和等时传输,因为它们被调度为按固定时间间隔运行。非周期性传输包括控制传输和批量传输,因为它们不被调度在特定时间运行,而是基于时间可用性来执行。