摘要 |
The present invention is a method and apparatus in a data controller in a storage drive for retrieving, evaluating, and processing a context that describes a direct memory access (DMA) request. The data controller includes a buffer for storing data transferred in response to execution of a direct memory access (DMA) transfer request, a host address pointer pointing to a current location in the buffer, and a retrieval channel device included in the data controller. The retrieval channel device is configured to: (1) fetch a context that describes a direct memory access (DMA) transfer requested by the host computer to which the storage drive is coupled, where the DMA requests a transfer of a particular amount of data, (2) determine whether a current capacity of the buffer for transferring data exceeds a threshold, (3) generate an instruction to transfer a second amount of data to complete at least a portion of the requested DMA transfer in response to the retrieval channel device determining that the current capacity does exceed the threshold, (4) assert the instruction generated by the retrieval channel device, and (5) adjust the host address pointer by the second amount of data, all without feedback from any data movement block.
|