Application programming interface for data transfer and bus management over a bus structure
First Claim
1. An interface between an application and a bus structure to manage data transfer operations between the application and the bus structure comprising:
- a. an applications interface to communicate with the application to receive requests from and send instructions to the application;
b. a controller to control isochronous data transfer operations between the application and the bus structure including managing a linked list of buffer descriptors, each corresponding to and representing a buffer, wherein each of the buffer descriptors in the linked list include capability for a callback completion routine which is activated to call the application at a predetermined completion point during a data transfer operation; and
c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure.
1 Assignment
0 Petitions
Accused Products
Abstract
In a first embodiment, an applications programming interface (API) implements and manages isochronous and asynchronous data transfer operations between an application and a bus structure. During an synchronous transfer the API includes the ability to transfer any amount of data between one or more local data buffers within the application and a range of addresses over the bus structure using one or more asynchronous transactions. An automatic transaction generator may be used to automatically generate the transactions necessary to complete the data transfer. The API also includes the ability to transfer data between the application and another node on the bus structure isochronously over a dedicated channel. During an isochronous data transfer, a buffer management scheme is used to manage a linked list of data buffer descriptors. During isochronous transfers of data, the API provides implementation of a resynchronization event in the stream of data allowing for resynchronization by the application to a specific point within the data. Implementation is also provided for a callback routine for each buffer in the list which calls the application at a predetermined point during the transfer of data. An isochronous API of the preferred embodiment presents a virtual representation of a plug, using a plug handle, to the application. The isochronous API notifies a client application of any state changes on a connected plug through the event handle. The isochronous API also manages buffers utilized during a data operation by attaching and detaching the buffers to the connected plug, as appropriate, to manage the data flow.
163 Citations
22 Claims
-
1. An interface between an application and a bus structure to manage data transfer operations between the application and the bus structure comprising:
-
a. an applications interface to communicate with the application to receive requests from and send instructions to the application; b. a controller to control isochronous data transfer operations between the application and the bus structure including managing a linked list of buffer descriptors, each corresponding to and representing a buffer, wherein each of the buffer descriptors in the linked list include capability for a callback completion routine which is activated to call the application at a predetermined completion point during a data transfer operation; and c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure. - View Dependent Claims (2, 3, 4, 6, 7, 8)
-
-
5. An interface between an application and a bus structure to manage data transfer operations between the application and the bus structure comprising:
-
a. an applications interface to communicate with the application to receive requests from and send instructions to the application; b. a controller to control isochronous data transfer operations between the application and the bus structure including managing a linked list of buffer descriptors, each corresponding to and representing a buffer, wherein each of the buffer descriptors included in the list include capability for a resynchronization event which is activated to resynchronize the application to reset one or more application parameters to a predetermined value during a data transfer operation; and c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure.
-
-
9. An interface between an application and an IEEE 1394 standard bus structure to manage data transfer operations between the application and the bus structure comprising:
-
a. an applications interface to communicate with the application to receive requests from and send instructions to the application; b. a controller to control isochronous data transfer operations between the application and the bus structure including a linked list of buffers provided by the application, wherein each of the buffers in the linked list include capability for a callback completion routine which is activated to call the application at a predetermined completion point during a data transfer operation; and c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure. - View Dependent Claims (10, 12)
-
-
11. An interface between an application and an IEEE 1394 standard bus structure to manage data transfer operations between the application and the bus structure comprising:
-
a. an applications interface to communicate with the application to receive requests from and send instructions to the application; b. a controller to control isochronous data transfer operations between the application and the bus structure including a linked list of buffers provided by the application, wherein each of the buffers in the linked list include capability for a resynchronization event which is activated to resynchronize the application to reset one or more application parameters to a predetermined value during a data transfer operation; and c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure.
-
-
13. A buffer management method for handling data transmitted on an isochronous channel, the method comprising:
-
establishing a linked list of buffers for receiving isochronous data from a sender devices wherein each of the buffers included in the linked list include capability for a callback completion routine which is activated to call the application at a predetermined completion point during a data transfer operation; receiving the isochronous data from the sender device; loading the isochronous data into the linked list of buffers; and accessing the data in the linked list of buffers for output to a client device, wherein the data is transmitted between an application and a bus structure. - View Dependent Claims (14, 15)
-
-
16. A buffer management method for handling data transmitted on an isochronous channel, the method comprising:
-
establishing a linked list of buffers for receiving isochronous data from a sender device, wherein each of the buffers included in the linked list include capability for a resynchronization event which is activated to resynchronize the application to reset one or more application parameters to a predetermined value during a data transfer operation; receiving the isochronous data from the sender device; loading the isochronous data into the linked list of buffers; and accessing the data in the linked list of buffers for output to a client device, wherein the data is transmitted between an application and a bus structure.
-
-
17. A buffer management method for handling data transmitted on an isochronous channel, the method comprising:
-
establishing a linked list of buffers for receiving isochronous data from a sender device, each buffer comprising a forward pointer to the next buffer in the list and a backward pointer to the previous pointer in the list, wherein each of the buffers included in the linked list include capability for a callback completion routine which is activated to call the application at a predetermined completion point during a data transfer operation; receiving the isochronous data from the sender device; loading the isochronous data into the linked list of buffers; and accessing the data in the linked list of buffers for output to a client device, wherein the data is transmitted between an application and a bus structure. - View Dependent Claims (18, 19)
-
-
20. A buffer management method for handling data transmitted on an isochronous channel, the method comprising:
-
establishing a linked list of buffers for receiving isochronous data from a sender device, each buffer comprising a forward pointer to the next buffer in the list and a backward pointer to the previous pointer in the list, wherein each of the buffers included in the linked list include capability for a resynchronization event which is activated to resynchronize the application to reset one or more application parameters to a predetermined value during a data transfer operation; receiving the isochronous data from the sender device; loading the isochronous data into the linked list of buffers; and accessing the data in the linked list of buffers for output to a client device, wherein the data is transmitted between an application and a bus structure.
-
-
21. An interface between an application and a bus structure to manage data transfer operations between the application and the bus structure comprising:
-
a. an applications interface to communicate with the application to receive requests from and send instructions to the application; b. a controller to control isochronous data transfer operations between the application and the bus structure including managing a linked list of buffer descriptors, each corresponding to and representing a buffer, wherein the linked list includes a forward pointer and a backward pointer for each buffer within the linked list and further wherein each of the buffer descriptors in the linked list include capability for a callback completion routine which is activated to call the application at a predetermined completion point during a data transfer operation; and c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure.
-
-
22. An interface between an application and a bus structure to manage data transfer operations between the application and the bus structure comprising:
-
a. an applications interface to communicate with the application to receive requests from and send instructions to the application; b. a controller to control isochronous data transfer operations between the application and the bus structure including managing a linked list of buffer descriptors, each corresponding to and representing a buffer, wherein the linked list includes a forward pointer and a backward pointer for each buffer within the linked list and further wherein each of the buffer descriptors in the linked list include capability for a resynchronization event which is activated to resynchronize the application to reset one or more application parameters to a predetermined value during a data transfer operation; and c. a bus interface circuit to provide a physical interface to the bus structure to send and receive data packets over the bus structure.
-
Specification