1. A method performed in a system having an input/output device connected to a host system, comprising: a) constructing, by the host system, a direct memory access list, having a head pointer, within a system memory of the host system; wherein the direct memory access list includes information regarding a plurality of direct memory access operations; b) writing, by the host system, said direct memory access list and the head pointer into a memory of the input/output device; c) updating, by the input/output device, the head pointer of the direct memory access list after a direct memory access operation is complete, the updated head pointer being stored on the input/output device; d) duplicating, by the input/output device, the updated head pointer into the system memory of the host system; e) determining, by the host system, when the updated head pointer is duplicated into system memory; and f) accessing, by the host system, data stored in the system memory as a result of the direct memory access operation in response to the determination that the updated head pointer has been duplicated.