Peripheral interface circuit which snoops commands to determine when to perform DMA protocol translation
First Claim
1. An interface circuit for transferring data between a host device coupled to a compute bus and a peripheral device coupled to a peripheral device bus, said interface circuit coupled to said computer bus and said peripheral device bus, said interface circuit comprising:
- an address decoder having an input coupled to said computer bus, and having an output;
a configuration register having an input coupled to said output of said address decoder, and having an outputa controlling state machine having an input coupled to said output of said configuration register;
a host data receiving circuit coupled to said computer bus and said peripheral device bus for receiving said data from said computer bus and transferring said data to said peripheral device bus, said transfer of said data from said computer bus to said host data receiving circuit not being a DMA transfer;
means coupling said controlling state machine to said host data receiving circuit, wherein said controlling state machine includes means which responds to a write data command of a first protocol type received from said computer bus by producing a control signal which is provided to said host data receiving circuit to transfer said data from said host data receiving circuit to said peripheral device bus according to a second data transfer protocol which is not supported by said computer bus, said second data transfer protocol being a DMA protocol.
2 Assignments
0 Petitions
Accused Products
Abstract
A high performance Local Bus Peripheral Interface (LBPI) for a computer local bus and its high performance peripheral interface(s), using a pipelined architecture to increase the use of the available data transfer bandwidth. To accomplish the above, the LBPI, which is coupled between the computer local bus and the peripheral interface(s), is provided a pipelined architecture which includes a Read Ahead Buffer, a Read Ahead Counter, a Data Out Latch, and a Controlling State Machine with a Configuration Register. In one embodiment, the LBPI can be selectably configured to couple on the host side to either a VL bus or PCI bus. Efficiency of Read-Ahead operations is further enhanced by maintaining a countdown of the number of words of a data sector already transferred and/or "snooping" the peripheral device commands from the computer to intelligently predict the occurrence of subsequent read data transfers commands. The Controlling State Machine also "snoops" the peripheral device commands to maintain its record of the operating parameters of the peripheral devices and also keeps track of which of the devices is currently active. In one embodiment, the LBPI supports DMA and PIO data transfers on the peripheral side. In another embodiment, the LBPI translates memory data transfers into IO data transfers to improve efficiency of IO data transfers. A DMA Timeout Counter is used during DMA mode data transfer operations to prevent the system from indefinitely waiting for an appropriate DMA Request Signal from a selected peripheral. During a DMA mode data transfer operation, forced interrupts may be generated and transmitted to the host in order to emulate a PIO mode data transfer operation. During a DMA mode data transfer operation, an imposed status or "Fake 3F6" register is utilized to transmit status information to the host system.
-
Citations
11 Claims
-
1. An interface circuit for transferring data between a host device coupled to a compute bus and a peripheral device coupled to a peripheral device bus, said interface circuit coupled to said computer bus and said peripheral device bus, said interface circuit comprising:
-
an address decoder having an input coupled to said computer bus, and having an output; a configuration register having an input coupled to said output of said address decoder, and having an output a controlling state machine having an input coupled to said output of said configuration register; a host data receiving circuit coupled to said computer bus and said peripheral device bus for receiving said data from said computer bus and transferring said data to said peripheral device bus, said transfer of said data from said computer bus to said host data receiving circuit not being a DMA transfer; means coupling said controlling state machine to said host data receiving circuit, wherein said controlling state machine includes means which responds to a write data command of a first protocol type received from said computer bus by producing a control signal which is provided to said host data receiving circuit to transfer said data from said host data receiving circuit to said peripheral device bus according to a second data transfer protocol which is not supported by said computer bus, said second data transfer protocol being a DMA protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification