Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
First Claim
1. An asynchronous data pipe configured for coupling between an application and a bus structure for automatically controlling asynchronous data transfer operations to and from the application over the bus structure comprising:
- a. means for receiving parameters regarding a data transfer operation;
b. means for automatically generating transactions necessary to complete the data transfer operation between the application and a node coupled to the bus structure, without direct processor control; and
c. a register file in which the application stores the parameters regarding the data transfer operation, using the register file as a template for generating the transactions necessary to complete the data transfer operation and further wherein the parameters within the register file include a destination address in an address space of the bus structure, a length of data to be transferred, a length of each data packet to be transferred and a direction of the transfer.
1 Assignment
0 Petitions
Accused Products
Abstract
An asynchronous data pipe (ADP) automatically generates transactions necessary to complete asynchronous data transfer operations for an application over a bus structure. The ADP includes a register file which is programmed and initiated by the application. The register file includes the bus speed, transaction label, transaction code, destination node identifier, destination offset address, length of each data packet, packet counter, packet counter bump field, control field and a status field. During a data transfer operation, the ADP generates the transactions necessary to complete the operation over the appropriate range of addresses, using the information in the register file as a template. The ADP increments the value in the destination offset address field for each transaction according to the length of each data packet, unless the incrementing feature has been disabled and the transactions are to take place at a fixed address. The packet counter represents the number of transactions remaining to be generated. The packet counter value is decremented after each packet of data is transferred. The application can increment the packet counter value by writing to the packet counter bump field. A multiplexer is included within a system having multiple ADPs for multiplexing the information from the ADPs onto the bus structure. A demultiplexer is included within a system having multiple ADPs for routing information from the bus structure to the appropriate ADP.
131 Citations
36 Claims
-
1. An asynchronous data pipe configured for coupling between an application and a bus structure for automatically controlling asynchronous data transfer operations to and from the application over the bus structure comprising:
-
a. means for receiving parameters regarding a data transfer operation; b. means for automatically generating transactions necessary to complete the data transfer operation between the application and a node coupled to the bus structure, without direct processor control; and c. a register file in which the application stores the parameters regarding the data transfer operation, using the register file as a template for generating the transactions necessary to complete the data transfer operation and further wherein the parameters within the register file include a destination address in an address space of the bus structure, a length of data to be transferred, a length of each data packet to be transferred and a direction of the transfer. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of managing a write data transfer operation between an application and a node coupled to a bus structure, independent of direct processor control and intervention by the application, comprising:
-
a. receiving parameters regarding a write data transfer operation from the application, wherein the parameters received from the application are stored in a register file and further wherein the parameters include the destination address, a length of data to be transferred, a length of each data packet to be transferred and a packet counter value representing a number of packets to be transferred; b. obtaining a packet of data from the application; c. adding a header to the packet of data, specifying a destination address of the packet of data; and d. transferring the packet of data, including the header, onto the bus structure, using the register file as a template for generating the transaction necessary to write a packet of data onto the bus structure. - View Dependent Claims (7, 8)
-
-
9. A method of managing a read data transfer operation between an application and a node coupled to a bus structure comprising:
-
a. receiving parameters regarding a read data transfer operation from the application; b. generating a transaction necessary, independent of direct processor control and intervention by the application, in order to request that a packet of data from the node be placed on the bus structure; c. transfering the transaction onto the bus structure; d. obtaining the packet of data from the bus structure; e. stripping header information from the packet of data; and f. providing the packet of data without the header information to the application. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An apparatus for managing asynchronous data transfer operations between one or more applications and a bus structure comprising:
-
a. a plurality of asynchronous data pipes configured for coupling between the one or more applications and the bus structure, each including; i. means for receiving parameters configured for coupling to the application for receiving parameters regarding a data transfer operation; and ii. means for automatically generating transactions necessary to complete the data transfer operation without direct processor control; b. a physical bus interface configured for coupling to the bus structure for placing data on the bus structure and obtaining data from the bus structure; c. a multiplexing circuit coupled between each asynchronous data pipe and the physical bus interface for transmitting data packets from the asynchronous data pipes to the bus structure; and d. a demultiplexing circuit coupled between each asynchronous data pipe and the physical bus interface for routing data packets obtained from the bus structure to an appropriate one of the asynchronous data pipes. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An asynchronous data pipe configured for coupling between an application and an IEEE 1394 standard bus structure for managing asynchronous data transfer operations to and from the application over the bus structure comprising:
-
a. a register file; b. a programming circuit coupled to the register file and configured for coupling to the application for receiving parameters regarding a data transfer operation from the application and storing the parameters in the register file; and c. an automatic transaction generating circuit coupled to the register file for automatically generating transactions necessary to complete the data transfer operation using information in the register file as a template. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. An apparatus for managing asynchronous transfers between a processor and a bus structure, comprising:
-
a. a plurality of means for coupling between a processor and a bus structure, each including means for receiving from the processor a request for an asynchronous transfer and for generating in response thereto a series of transactions on the bus structure; b. means for transmitting data packets of the transactions from any of the coupling means to the bus structure; and c. means for routing data packets of the transactions from the bus structure to a corresponding one of the coupling means, the correspondence being based on a label value of the transaction. - View Dependent Claims (34)
-
-
35. An apparatus for managing asynchronous transfers between a processor and a bus structure, comprising:
-
a. a plurality of circuits each coupled between a processor and a bus structure, each being configured to receive from the processor a request for an asynchronous transfer and to generate in response thereto a series of transactions on the bus structure; b. a multiplexor configured to transmit data packets of the transactions from any of the circuits to the bus structure; and c. a demultiplexor configured to route data packets of the transactions from the bus structure to a corresponding one of the circuits, the correspondence being based on a label value of the transaction. - View Dependent Claims (36)
-
Specification