Patent ID: 7730239
Filing Date: 2010-06-01
Classification: G06F

Abstract:
1. An apparatus comprising: a set of scatter gather list elements associated with a data transfer operation between an initiator port and a target port, each element in the set of elements being in a scatter gather list in a host memory coupled to and accessible by both the target port and the initiator port, each element being to identify a data buffer to store partial data for the data transfer operation, the scatter gather list element identifying the data buffer by including in the element an address field to identify an address of the data buffer, a length field to store a length of the data buffer, and a status field to indicate a status of the data buffer; and a buffer manager in the target port to allocate the data buffer in the host memory, to write the status in the status field, and to forward the partial data stored in the data buffer for the data transfer operation based on the status associated with the data buffer, the status field in the scatter gather list element being only a single status bit, the single status bit being to indicate whether the data buffer identified by the scatter gather list element is ready to be transferred between the initiator port and the target port by being set to a respective bit value selected from two possible bit values, one of the two possible values indicating that the data buffer identified by the scatter gather list element is not in use and available for use by a drainer application, the other of the two possible values indicating that the data buffer identified by the scatter gather list is in use and unavailable for use by the drainer application, the initiator port and the target port being coupled to an embedded system, the embedded system including the host memory, the drainer application being in the target port, the drainer application both to drain the scatter gather list element and to modify the status bit to indicate that the data buffer is unavailable for use by the drainer application after the drainer application fills the partial data into the data buffer, the embedded system also including a filler application both to fill the scatter gather list element and to set the status bit to indicate that the data buffer is available for use by the drainer application after the filler application completes transferring from the data buffer the partial data stored in the data buffer, both the drainer application and the filler application also to monitor the status bit to determine status of the data buffer.