The development of USBs has proven to be a great help to optimizing the connections between computers and other peripherals and devices. The USB system has also made it a lot easier for many people to be able to connect additional computer peripherals and devices to their PC by simply plugging it onto the USB hub unlike having to navigate the back panel of the computer or having to deal with connections that not any average Joe can easily identify. Through the connections of the USB system and the PC, USB data transfers can be made possible and when there is a transfer of data, there is also a transaction.
These transactions are known as data transactions. To put it simply, data transactions are the movement of the data and information between the computer host and the computer peripheral or device connected to it through the USB connections. Every time you print something, move the cursor on the screen, type on your keyboard or even viewing something on your monitor, a data transaction is occurring in the connections between the device and the PC. There are actually different types of data transactions and the type that occurs would depend on the pipe and the data being transferred. Now let’s take a look at those different USB data transaction types:
1.) Bulk Transfers – When the data that needs to be sent through the connection is significantly large, it will have to be done through a bulk transfer. In order for the host computer to be able to start a bulk USB data transfer from the connected peripheral, it will have to send a packet which contains info on whether output or input is needed. If input is needed, the recipient will send a data packet or a handshake. If it is a request for transmission, the data packet will be sent immediately while waiting for the handshake reply of the recipient.
2.) Control Transactions – When there is a need for a command to be executed, a control transaction occurs in the system. This starts with the computer host sending a packet which contains the information about the control command that will have to be executed. The recipient of that packet can reply with a handshake or just ignore the sent token. This type of data transaction also has the option of having a unidirectional data transfer in between the computer and the peripheral.
3.) Interrupt Transactions – When it comes to interrupt transactions, the function will simply be queried by the computer host which is done through the sending of a token packet. If there is any interrupt related information which is needed to be transmitted, that packet will simply return the data. If there is no information available, then the reply will be simply an NAK handshake.
4.) Isochronous Transactions – An isochronous transaction is started with the right token packet sent from the host to the function which in turn results in required data being transmitted through the USB data transfer. However, because of there being an assumed error-tolerance, this type of transaction does not use handshakes.