1. A machine implemented method for sending data from a memory of a computing system interfacing with a device, comprising: receiving an input/output control block (IOCB) from the computing system for transferring the data from the memory of the computing system to the device; allocating a plurality of DMA channels to the IOCB for transferring the data from the memory of the computing system when a number of pending input/output (I/O) requests when the IOCB is received is less than a number of available direct memory access (DMA) channels to receive the data from the memory of the computing system; receiving portions of the data from the memory of the computing system and saving the portions of data at one or more memory storage locations at the device; tracking an order in which the portions of data for the IOCB are received compared to any other pending request; and transmitting the data to another device via a link.