Claims
- 1. A method of data transfer between a peripheral device and a host computer, the method comprising the steps of:(A) generating a plurality of transfer extend entries in the peripheral device in response to a plurality of commands received from the host computer; (B) arranging the plurality of transfer extend entries into at least one thread in response to step (A); (C) interrupting a processor of the peripheral device in response to starting a new thread of the at least one thread; and (D) interrupting the processor in response to completing the new thread.
- 2. The method of claim 1 wherein the transfer extend entry includes a length of a desired transfer.
- 3. The method of claim 2 wherein the transfer extend entry includes a next pointer.
- 4. The method of claim 3 wherein the transfer extend entry includes at least one of the control bits Stop, Stat, DRel, SRel and Data.
- 5. The method of claim 4 wherein the transfer extend includes a QTag and a QCode.
- 6. The method of claim 1 wherein the generating step generates a transfer extend entry for a respective command.
- 7. The method of claim 1 wherein the transfer extend entry includes a type of selection.
- 8. The method of claim 1 wherein free pointers are used to generate the transfer extend entry.
- 9. The method of claim 1 further comprising the step of storing the at least one transfer extend.
- 10. A data controller of a peripheral device in communication with a host computer, the data controller comprising:a processor; and a transfer extend generator configured to (i) generate a plurality of transfer extend entries in response to a plurality of commands received from the host computer, (ii) arrange the plurality of transfer extend entries into at least one thread, (iii) interrupt the processor in response to starting a new thread of the at least one thread, and (iv) interrupt the processor in response to completing the new thread.
- 11. The data controller of claim 10 wherein the transfer extend generator utilizes free pointers to generate the transfer extend entries.
- 12. The data controller of claim 10 wherein a transfer extend entry is generated for each read and write command.
- 13. The data controller of claim 10 wherein the transfer extend generator determines if a command is sequential to a previous command.
- 14. The data controller of claim 13 wherein the transfer extend generator stores a range value that is used to determine if the command is sequential to a previous command.
- 15. The data controller of claim 13 wherein the transfer extend generator generates a new transfer extend entry and updates an address value if the command is sequential to a previous command.
- 16. The data controller of claim 13 wherein the transfer extend generator generates a new transfer extend entry with a Stop bit set and updates an address value if the command is not sequential to a previous command.
- 17. A peripheral device to a host computer, the peripheral device comprising:means for generating a plurality of transfer extend entries in response to a plurality of commands received from the host computer; means for arranging the plurality of transfer extend entries into at least one thread in response to generating; means for interrupting a processor of the peripheral device in response to starting a new thread of the at least one thread; and means interrupting the processor in response to completing the new thread.
RELATED APPLICATION
The present application is a divisional of copending U.S. patent application Ser. No. 09/183,694, filed on Oct. 30, 1998, still pending.
US Referenced Citations (17)
Non-Patent Literature Citations (1)
Entry |
IBM Technical Disclosure Bulletin—High Performance DMA Controller/CPU Interface Mechanism—vol. 36 -No. 2 -Feb. 1993 -Journal -pp. 131-133. |