Patent ID: 7620747

Claim:
A method of performing disk transfers using a native command queuing protocol, comprising: receiving a first command specifying a data transfer between a disk and a portion of system memory via a bus coupling the disk to a host controller; determining that a conflict exists that prevents the first command from being output to the disk over the bus; generating a first interrupt in response to the conflict causing the first command to be terminated; receiving a second command specifying the data transfer between the disk and the portion of system memory once the conflict no longer exists; transmitting the second command to the disk as a queued command for processing using the native command queuing protocol; receiving a direct memory access (DMA) frame information structure (FIS) associated with the queued command; extracting a tag that uniquely identifies the queued command from the DMA FIS; generating a second interrupt in response to the DMA FIS requesting the retrieval of DMA transfer context data associated with the queued command from the system memory, wherein the second interrupt includes the tag; in response to the second interrupt, receiving bus master control register values corresponding to the DMA transfer context data; and transferring data between the disk and the portion of system memory to complete the processing of the queued command.