Patent ID: 7366958

Claim:
A method for interacting with a Serial Advanced Technology Attachment II (“SATA II”) target comprising: enqueueing a plurality of frames in a transmit queue, said plurality of frames including at least one command packet and at least one data packet, and said plurality of frames to be transmitted to a SATA II target: transmitting a frame from the transmit queue to the SATA II target without distinguishing between a command packet and a data packet; receiving a received frame from the SATA II target while at least one remaining frame of the plurality of frames remains in the transmit queue: if the received frame indicates, at least in part, one of an error condition or a commencement of a data transfer, generating an interrupt and preventing transmission of the at least one remaining frame in the transmit queue; and in response to the interrupt, if the received frame indicates, at least in part, the error condition. commencing recovery from the error condition; and if the received frame indicates, at least in part, the commencement the data transfer, storing data associated with the data transfer, wherein the operations in response to the interrupt are performed by a programmable processor executing one or more instructions.