Claims
- 1. An ATA host adapter, comprising:
a first bus interface for receiving first transfer parameters defining a first channel transfer to a first external storage device, for receiving second transfer parameters defining a second channel transfer to a second external storage device and for receiving data to be transferred under control of the first and second transfer parameters; a DMA controller for supervising progress of the first channel transfer; and an external storage bus interface for multiplexing first and second channel transfers over a common bus by switching the common bus from the first channel transfer to the second channel transfer at a predetermined switching event and then switching the common bus back to complete the first channel transfer under control of the DMA controller.
- 2. The ATA host adapter of claim 1, wherein the external storage bus interface comprises an ATA bus interface for transferring ATA control, address and data information for first and second channel transfers over common pins.
- 3. The ATA host adapter of claim 1, wherein the predetermined switching event is when the common bus is idle during the first channel transfer and a second channel transfer request is pending.
- 4. The ATA host adapter of claim 1, wherein the predetermined switching event is a request to access device registers on a second channel.
- 5. The ATA host adapter of claim 4, wherein the external storage bus interface suspends the first channel transfer when the request to access device registers on a second channel is received, allows to one or more device registers for the second channel transfer to be accessed, and then restarts the first channel transfer over the common bus to complete the first transfer.
- 6. The ATA host adapter of claim 1, wherein the DMA controller includes one or more memory devices for storing transfer parameters and transfer status information for the first channel transfer until the first channel transfer is completed.
- 7. The ATA host adapter of claim 1, wherein the external storage devices are IDE storage devices.
- 8. A method for sending or receiving a plurality of DMA transfers over a common pin set to or from a plurality of external storage drives, where each DMA transfer comprises a transfer set-up portion and a data transfer portion, comprising:
initiating a first DMA transfer over the common pin set to a first external storage device; receiving a request for access to one or more of the device registers of a second external storage device on another channel; terminating the DMA transfer to the first external storage device and allowing one or more register accesses to the second device on another channel over the common pin set upon occurrence of a first predetermined event; releasing the common pin output set from the second external storage device and resuming the first DMA transfer upon occurrence of a second predetermined event.
- 9. The interface method of claim 8, wherein the first predetermined event is receiving a request for a second channel device register access.
- 10. The interface method of claim 8, wherein the first predetermined event is when the first external storage device enters seek mode and a request for a second channel device register access is pending.
- 11. The interface method of claim 8, wherein the first predetermined event is when the common pin output set idles and a request for a second channel device register access is pending.
- 12. The interface method of claim 8, further comprising terminating the first DMA transfer when the request for access to a device register on another channel is received.
- 13. The interface method of claim 8, wherein the second predetermined event is completion of the transfer set-up portion of the second DMA transfer.
- 14. The interface method of claim 8, wherein the second predetermined event is completion of at least the transfer set-up portion of the second DMA transfer.
- 15. The interface method of claim 8, further comprising terminating the first external storage device DMA transfer upon completion of the first DMA transfer and completing the second DMA transfer over the common pin output.
- 16. A multiplexed interface controller for servicing dual IDE channels over a common pin set, comprising:
a system bus for receiving DMA data and transfer commands; an ATA bus pin set for transferring data to and from external IDE devices; and an ATA bus interface coupled between the system bus and ATA bus pin set, comprising:
a primary channel transfer means for initiating a first DMA transfer over the ATA bus pin set to a first external IDE device; a bus control means for terminating the first DMA transfer, releasing the ATA bus pin set from the first external IDE device and initiating at least one device register access to a second channel over the ATA bus pin set; and a bus control switchback means for restarting the first DMA transfer upon occurrence of a predetermined event.
- 17. The multiplexed interface controller of claim 16, further comprising a means for transferring data over the ATA bus pin set to a remote memory in the second external IDE device as part of the second DMA transfer, wherein the predetermined event is a partial completion of the second DMA transfer.
- 18. The multiplexed interface controller of claim 16, wherein the predetermined event is completion of transferring IDE device register write commands for the second channel DMA transfer to the second external IDE device.
- 19. The multiplexed interface controller of claim 16, wherein the bus switching means comprises a primary channel control and data buffer logic for terminating the first DMA transfer and releasing the common ATA bus pin set from the first external IDE device.
- 20. The multiplexed interface controller of claim 16, wherein the primary channel transfer means transfers IDE device register write commands for the first DMA transfer over the ATA bus pin set to the first external IDE device, and the bus control means initiates a second DMA transfer over the ATA bus pin set once the transfer of the IDE device register write commands for the first DMA transfer is completed.
- 21. An integrated circuit IDE interface for multiplexing data, address, and chip select lines of the ATA bus so that a plurality of hard drives on different ATA bus channels may be interfaced using the common pins of the integrated circuit, comprising:
a primary channel controller for supervising a first data transfer to a first hard drive over the common pins; and a secondary channel controller for supervising a second data transfer to a second hard drive over the common pins; wherein the primary channel controller and secondary channel controller are operable to temporarily suspend the first data transfer, initiate the second data transfer, resume the first data transfer while the second hard drive performs seek operation to find a starting location for the second data transfer and then resume the second data transfer after completion of the first data transfer.
- 22. The integrated circuit IDE interface of claim 21, wherein the primary channel controller and secondary channel controller are operable to temporarily suspend the first data transfer once register write commands for the first data transfer are transferred to the first hard drive.
- 23. The integrated circuit IDE interface of claim 21, wherein the primary channel controller is operable to temporarily suspend the first data transfer when the second channel controller receives a request for a second data transfer.
RELATED APPLICATIONS
[0001] This application claims priority to the U.S. Provisional Application No. 60/449,924, entitled “Dual IDE Channel Servicing Using Single Multiplexed Interface,” which was filed on Feb. 24, 2003 and which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60449924 |
Feb 2003 |
US |