Claims
- 1. A method of enhancing data rates comprising the steps of:(A) generating a transfer control block list in response to a first command of a thread of sequential commands, said transfer control block list comprising (i) a first pointer to a first transfer extend entry of said thread and (ii) a second pointer to a last transfer extend entry of said thread; and (B) updating said last transfer extend entry in response to a second command sequential to said first command.
- 2. The method of claim 1 wherein the transfer control block list is derived from a first command of a thread.
- 3. The method of claim 2 wherein the transfer control block list includes initiator ID, read/write, QTag, LBA, length.
- 4. The method of claim 1 wherein the transfer control block list includes first and final logical addresses of a thread.
- 5. A method of automating the transfer of commands comprising the steps of:generating a corresponding transfer control block for a command; determining whether another command is sequential to a previous command; generating another corresponding transfer control block if the other command is not sequential; and updating said corresponding transfer control block if the other command is sequential.
- 6. The method of claim 5 further comprising the step of determining whether any command is a read or a write command.
- 7. The method of claim 5 wherein the step of determining whether the other command is sequential includes comparing the other command with the final logical addresses of other transfer control blocks.
- 8. The method of claim 5 wherein corresponding transfer control blocks are generated for read and write commands.
- 9. The method of claim 5 wherein the step of determining whether the other command is sequential includes comparing the other command with an immediately preceding command.
- 10. A method of transferring data comprising the steps of:generating a transfer control block for a first thread associated with at least a one command; and generating a transfer control block for a second thread associated with at least another command; and determining if an additional command is sequential to one of the first or second threads.
- 11. The method of claim 10 further including the step of modifying the transfer control block for one of the first and second threads if the additional command is within an address range.
- 12. The method of claim 10 further including the step of modifying the transfer control block for one of the first and second threads if the additional command is immediately sequential.
- 13. A data transfer apparatus comprising:a data controller; a microprocessor coupled to the data controller; and local storage coupled to the microprocessor, wherein the local storage includes at least one transfer control block that controls the transfer of data within the data controller, said transfer control block comprising (i) a first pointer to a first transfer extend entry of a thread of sequential commands and (ii) a second pointer to a last transfer extend entry of said thread.
- 14. The apparatus of claim 13 wherein the transfer control block includes first and final logical addresses of a thread.
- 15. The apparatus of claim 13 wherein the transfer control block is modified responsive to a sequential command.
- 16. The apparatus of claim 13 wherein another transfer control block is generated responsive to a non-sequential command.
RELATED APPLICATION
The present application is a divisional of copending U.S. patent application Ser. No. 09/183,694, filed on Oct. 30, 1998 (now pending).
US Referenced Citations (43)
Non-Patent Literature Citations (1)
Entry |
“High Performance DMA Controller/CPU Interface Mechanism”, IBM Technical Disclosure Bulletin, vol. 36, No. 02, Feb. 1993, pp. 131-133. |