Multiple parallel digital data stream channel controller architecture
DCFirst Claim
1. A channel controller providing for the concurrent transfer of multiple parallel digital data stream between a host processor system and a plurality of I/O devices, said channel controller comprising:
- a) a data and control bus;
b) a first interface including a first buffer coupleable to a host processor system, said first interface providing for the transfer of first data segments, including a variable number of bytes of data up to a first predetermined plurality of bytes, between said host processor system and said first buffer and between said first buffer and said data and control bus;
c) a second interface including a second buffer coupleable to a first predetermined I/O device, said second interface providing for the transfer of second data segments, including a variable number of bytes of data up to a second predetermined plurality of bytes, between said first predetermined I/O device and said second buffer and between said second buffer and said data and control bus;
d) a FIFO pool coupled to said data and control bus to exchange first data segments with said first interface and second data segments with said second interface, said FIFO pool permitting the transient concurrent storage of pluralities of said first and second data segments, said FIFO pool further including an access arbiter that operates to selectively grant respective access to said FIFO pool by said first and second interfaces, said FIFO pool including a plurality of data FIFOs and wherein a first predetermine data FIFO is associate with said first and second interfaces to provide a data transfer path through said first predetermined data FIFO and between said first and second interfaces; and
e) a third interface including a third buffer coupleable to a second predetermined I/O device, said third interface providing for the transfer of third data segments, consisting of a variable number of bytes of data up to a third predetermined plurality of bytes, between said host processor system and said third buffer and between said third buffer and said data and control bus, and wherein said access arbiter operates to selectively grant respective access to said FIFO pool by said third interface.
5 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A multiple data stream channel controller providing demand driven transport of multiple data streams concurrently in real time through a peripheral data channel coupled between a general purpose processor system and a special purpose processor system. The controller comprises a first bus master interface coupleable to a general purpose processor system bus, a second bus master interface coupleable to a special purpose processor system bus, a segmentable buffer memory and a controller that directs the transfer of data segments between the first and second bus master interfaces via the segmentable buffer memory. The controller is responsive to a plurality of signals provided by the special purpose processor bus to request transfer of successive data segments from a respective plurality of data streams staged in the segmentable buffer memory. The controller moderates the transfer of successive data segments of the respective plurality of data streams via the first bus master interface to the segmentable buffer memory.
-
Citations
18 Claims
-
1. A channel controller providing for the concurrent transfer of multiple parallel digital data stream between a host processor system and a plurality of I/O devices, said channel controller comprising:
-
a) a data and control bus; b) a first interface including a first buffer coupleable to a host processor system, said first interface providing for the transfer of first data segments, including a variable number of bytes of data up to a first predetermined plurality of bytes, between said host processor system and said first buffer and between said first buffer and said data and control bus; c) a second interface including a second buffer coupleable to a first predetermined I/O device, said second interface providing for the transfer of second data segments, including a variable number of bytes of data up to a second predetermined plurality of bytes, between said first predetermined I/O device and said second buffer and between said second buffer and said data and control bus; d) a FIFO pool coupled to said data and control bus to exchange first data segments with said first interface and second data segments with said second interface, said FIFO pool permitting the transient concurrent storage of pluralities of said first and second data segments, said FIFO pool further including an access arbiter that operates to selectively grant respective access to said FIFO pool by said first and second interfaces, said FIFO pool including a plurality of data FIFOs and wherein a first predetermine data FIFO is associate with said first and second interfaces to provide a data transfer path through said first predetermined data FIFO and between said first and second interfaces; and e) a third interface including a third buffer coupleable to a second predetermined I/O device, said third interface providing for the transfer of third data segments, consisting of a variable number of bytes of data up to a third predetermined plurality of bytes, between said host processor system and said third buffer and between said third buffer and said data and control bus, and wherein said access arbiter operates to selectively grant respective access to said FIFO pool by said third interface. - View Dependent Claims (2, 3)
-
- 4. A channel controller providing control over predetermined input/output (I/O) operations of a computer system having a host processor controlling the operation of the computer system through the execution of instructions and a memory coupled to the host processor and providing for the storage of one or more I/O data streams, said channel controller comprising a multiple data channel controller core including a plurality of FIFO buffers, a plurality of I/O interface units coupleable to said plurality of FIFO buffers, and control logic to manage the asynchronous transfer of multiple data streams through said plurality of I/O interface units and said plurality of FIFO buffers, said control logic providing for the establishment of uni-directional data transfer paths between any of said plurality of FIFO buffers and a first I/O interface unit, wherein said first I/O interface unit is coupleable to said memory, wherein a second I/O interface unit is coupleable to a digital signal processing (DSP) device, and wherein said control logic provides for the management of a plurality of predetermined control threads that provide for an autonomous transfer of a plurality of data streams between selected sets of said plurality of I/O interface units and said plurality of said FIFO buffers.
- 7. A channel controller providing control over predetermined input/output (I/O) operations of a computer system having a host processor controlling the operation of the computer system through the execution of instructions and a memory coupled to the host processor and providing for the storage of one or more I/O data streams, said channel controller comprising a multiple data channel controller core including a plurality of FIFO buffers, a plurality of I/O interface units coupleable to said plurality of FIFO buffers, and control logic to manage the asynchronous transfer of multiple data streams through said plurality of I/O interface units and said plurality of FIFO buffers, said control logic providing for the establishment of uni-directional data transfer paths between any of said plurality of FIFO buffers and a first I/O interface unit, wherein said first I/O interface unit is coupleable to said memory, wherein a second I/O interface unit is coupleable to a digital signal processing (DSP) device, and wherein said control logic provides for the performance of data transfer and FIFO buffer operations as defined by a host-side control thread, subject to being selectively enabled by said host processor, to provide for the autonomous transfer of a segment of one of said multiple data streams between said first I/O interface unit and a respective one of said plurality of FIFO buffers.
-
10. A streaming data channel control system capable of supporting the concurrent transfer of multiple parallel digital data streams bidirectionally between a host and a number of I/O devices, said streaming data channel control system comprising:
-
a) a memory configurable as a FIFO pool including first and second FIFO buffers allocated within said memory; b) a host interface coupleable to a host system to support bidirectional transfer of stream data therein between, said host interface being responsive to a host data transfer request signal provided by said host processor system; c) an I/O device interface coupleable to a plurality of I/O devices to support bidirectional transfer of stream data therein between, said 110 device interface being responsive to respective I/0 data transfer request signals provided by said plurality of I/0 devices; and d) a controller coupled to said host and I/0 device interfaces and coupled to said memory to support operation of said memory as said FIFO pool, said controller managing the transfer of first and a second data stream segments through said first and second FIFO buffers, respectively, wherein said first and second data stream segments occur in respective first and second predetermined digital data streams, said controller maintaining respective first and second digital data stream transfer state data for said first and second data stream segments, and wherein said controller is responsive to said host and I/0 data transfer request signals to direct the transfer of data from said first and second FIFO buffers and to autonomously request data to be transferred to said first and second FIFO buffers dependant on the respective said digital data stream transfer state data; whereby said digital data streams are transferable through said memory in parallel and bidirectionally based on the individual data transfer rates requested by said host processor system and each of said plurality of I/O devices. - View Dependent Claims (11, 12)
-
-
13. A channel controller providing support for the concurrent transport of multiple input/output (I/O) data streams with respect to a host processor and a main memory coupled to the host processor that provides storage for predetermined stream data segments of the I/O data streams, said channel controller comprising:
-
a) a stream data segment memory operable as a plurality of FIFO buffers; b) a host interface unit coupleable to said plurality of FIFO buffers; c) a plurality of I/O interface units coupleable to said plurality of FIFO buffers; and d) a controller core coupled to said stream data segment memory, said controller core providing for the storage and management of predetermined information capable of defining multiple data stream transfer paths between said host interface unit and said plurality of I/0 interface units through said plurality of FIFO buffers, said predetermined information including an identification of a selected one of said plurality of FIFO buffers and of said plurality of I/O interfaces for each defined data stream transfer path, said controller core further including arbitration control logic coupled to said host interface unit and said plurality of I/O interface units to enable transfer of a predetermined portion of a predetermined stream data segment between a predetermined one of said plurality of FIFO buffers and a predetermined one of said host interface unit and said plurality of I/O interface units, said arbitration control logic being responsive to a demand to receive data provided by any of said host interface unit and said plurality of I/O interface units. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification