← Back to Patent Explorer
US5687316A Expired / Lapsed US ⏱️ 0.0 years remaining

Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data

Assignee: International Business Machines Corp
•
Filing: 1994-07-29
•
Granted: 1997-11-11
•
Expires: 2014-07-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A communications adapter receives and transmits simultaneously packet and/or isochronous data between two interfaces; a network and a host bus system. The adapter stores the isochronous and packet data in receive and transmit queues configured in a FDDI RAM buffer. A controller manages the transfers of the data into and out of the queues. A local bus interacts with the system to provide descriptors of addresses in the system for transfers of data out of the queues to the system or the network. The controller is programmable to provide a variable threshold for the transfer of data between the queues and the system or the network. A systems interface unit handles the transfer of data to/from the system and allows data to bypass the queues and directly access the system or the network.

Inventors

  • 👤 Michael J. Graziano
  • 👤 Jon F. Hauris
  • 👤 Daniel L. Stanley

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 09:09
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/90; G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/128; H04L12/00; H04L12/64; H04L12/6418; H04L49/901; H04L49/9031; H04L49/9057; H04L49/9063; H04L49/9084; H04L49/9089; H04L63/00; H04L63/04; H04L63/0428; H04L63/08; H04L63/083; H04L12/28; H04L12/42; H04L12/427; H04L12/433; H04L2012/6432; H04L2012/6435; H04L2012/6445; H04L2012/6448; H04L2012/6489

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 168 words
A communication device for transferring real time/multimedia and packet data between a network and a system bus comprising: a) sole controller means for receiving and transmitting the multimedia and packet data between the network and the system bus serving a host system; the controller including P-Mac and I-Mac engines; b) storage means under control of the controller means for storing the multimedia and packet data in queues for transfer to the system bus or the network; c) interfacing means between the controller and the system bus for simultaneously transferring the multimedia and packet data, either directly or through the storage means, to or from the system bus; d) local control means coupled to the controller and the interfacing means for providing and controlling addresses of multimedia or packet data transferred to or from the system bus by the interfacing means; and e) medium access control means coupled to the P-Mac and I-Mac engines for transferring packet and multimedia data, respectively, in both directions to and from the network.
Claim 2
Dependent Claim 168 words
A communication device for transferring real time/multimedia and packet data between a network and a system bus comprising: a) sole controller means for receiving and transmitting the multimedia and packet data between the network and the system bus serving a host system; the controller including P-Mac and I-Mac engines; b) storage means under control of the controller means for storing the multimedia and packet data in queues for transfer to the system bus or the network; c) interfacing means between the controller and the system bus for simultaneously transferring the multimedia and packet data, either directly or through the storage means, to or from the system bus; d) local control means coupled to the controller and the interfacing means for providing and controlling addresses of multimedia or packet data transferred to or from the system bus by the interfacing means; and e) medium access control means coupled to the P-Mac and I-Mac engines for transferring packet and multimedia data, respectively, in both directions to and from the network.
Claim 3
Dependent Claim 240 words
In a data processing system comprising a system bus including a memory coupled to the system bus, a communication device for transferring real time/multimedia and packet data between a network and the system bus comprising: a controller which simultaneously receives and transmits real time packet and isochronous data between the network and the system bus; the controller including a steering map table for mapping isochronous data to isochronous transmit/receive queues a storage means; the storage means configurable into a preselected number of receive and transmit queues for simultaneously buffering packet and isochronous data transmitted in either direction between the system bus and the network in either direction; interfacing means for initiating packet and isochronous data transfers to the system bus; the interfacing means including a slave transmit port which allows the system to write data directly into the queues with the interfacing means acting as a bus slave; control means interfacing the controller and the interfacing means for providing a descriptor list of addresses for writing or reading packet and isochronous data to the memory in the system; and the control means including a local bus interface coupled to the interfacing means and the controller, the local bus interfacing means providing read/write access to the storage means through memory mapped registers; access to controller internal registers allowing a local processor to configure and control the controller operation and the generation of interrupts to a local processor or an error condition.
Claim 4
Dependent Claim 240 words
In a data processing system comprising a system bus including a memory coupled to the system bus, a communication device for transferring real time/multimedia and packet data between a network and the system bus comprising: a controller which simultaneously receives and transmits real time packet and isochronous data between the network and the system bus; the controller including a steering map table for mapping isochronous data to isochronous transmit/receive queues a storage means; the storage means configurable into a preselected number of receive and transmit queues for simultaneously buffering packet and isochronous data transmitted in either direction between the system bus and the network in either direction; interfacing means for initiating packet and isochronous data transfers to the system bus; the interfacing means including a slave transmit port which allows the system to write data directly into the queues with the interfacing means acting as a bus slave; control means interfacing the controller and the interfacing means for providing a descriptor list of addresses for writing or reading packet and isochronous data to the memory in the system; and the control means including a local bus interface coupled to the interfacing means and the controller, the local bus interfacing means providing read/write access to the storage means through memory mapped registers; access to controller internal registers allowing a local processor to configure and control the controller operation and the generation of interrupts to a local processor or an error condition.
Claim 5
Dependent Claim 19 words
The communication device of claim 2 wherein the interfacing means further includes a transmit engine and a receive engine.
Claim 6
Dependent Claim 28 words
The communication device of claim 1 further including a queue manager coupled to the local control means for managing data transfers among the storing, interfacing and control means.
Claim 7
Dependent Claim 79 words
The communication device of claim 4 further including register means, a parameter RAM and a steering map means coupled to the local control means, the register means including parameters used to manage and operate the controller means, the parameter RAM including parameters used for maintaining the queues and a threshold in the storage means, and the steering map means providing the controller means for managing the transmission of isochronous data to or from the queues in the storage means.
Claim 8
Dependent Claim 144 words
The communication device of claim 1 wherein the interface unit includes a direct memory access (DMA) engine, a shared memory buffer, transmit and receive engines and a slave transmit port, the DMA engine controlling the delivery of data between the system bus and the control means; the shared memory buffer mapping memory space in the system bus to memory space in the control means; the transmit engine controlling the delivery of data to selected queues in the storage means from the system or the control means; the receive engine controlling the delivery of data from selected queues in the storage means to the system bus or the control means, and the slave transmit port mapping selected queues of the storage means to memory space connected to the system bus for writing data directly into the queues from the system without using the controller means.
Claim 9
Dependent Claim 35 words
The communication device of claim 1 wherein the storage means includes transmit and receive queues for storing data transferred from the network to the system bus or from the system bus to the network, respectively.
Claim 10
Dependent Claim 118 words
The communication device of claim 1 wherein the local control means includes a local bus connected to a processor, a local bus control means, and local storage, the local bus interfacing the controller means, the storage means and the interface means; the processor obtaining and controlling descriptors from the system bus, the descriptors being indicative of addresses in system memory for storage of data transferred to the system or addresses in system memory for the transfer of data from the system to the network; the local bus control means configuring registers included in the controller for the transfer of data between the system bus and the network, and the local storage storing programs and data for the processor.
Claim 11
Dependent Claim 30 words
The communication device of claim 5 wherein the parameter RAM includes a threshold register which defines the amount of data buffered in queue before action is taken by the controller.
Claim 12
Dependent Claim 27 words
The communication device of claim 9 wherein different actions are taken by the controller for transmit and receive queues when a threshold is reached in a queue.
Claim 13
Dependent Claim 15 words
The communication device of claim 10 wherein the data is packet data or isochronous data.
Claim 14
Dependent Claim 21 words
The communication device of claim 11 wherein a threshold value is selected for a queue to be between 0<=Threshold <=Queue Size.
Claim 15
Dependent Claim 22 words
The communication device of claim 3 wherein the interfacing means further includes a DMA engine; a shared memory buffer and interface registers.
Claim 16
Dependent Claim 33 words
The communication device of claim 13 wherein the transmit and receive engines are connected to the system and a local bus interface, and the slave transmit port is connected solely to the system.
Claim 17
Dependent Claim 26 words
The communication device of claim 14 wherein the DMA engine; shared memory buffer and interface registers are connected between the system and the local bus interface.
Claim 18
Dependent Claim 193 words
In a data processing system comprising a system bus including a host memory coupled to the system bus, a communication device for transferring real time/multimedia and packet data between a network and the system bus comprising: a sole controller which simultaneously receives and transmits real time packet and isochronous data between the network and the system bus serving a host system; the controller including P-Mac and I-Mac engines; a storage means configurable into a preselected number of receive and transmit queues for simultaneously buffering packet and isochronous data transmitted in either direction between the system bus and the network in either direction; interfacing means for initiating packet and isochronous data transfers to or from the system bus, either directly or through the storage means; local control means coupled to a local bus interface for interfacing the controller and the interfacing means for providing a descriptor list of addresses for writing or reading packet and isochronous data to the host memory in the data processing system; and e) medium access control means coupled to the P-Mac and I-Mac engines for transferring packet and multimedia data, respectively, in both directions to or from the network.
Claim 19
Dependent Claim 193 words
In a data processing system comprising a system bus including a host memory coupled to the system bus, a communication device for transferring real time/multimedia and packet data between a network and the system bus comprising: a sole controller which simultaneously receives and transmits real time packet and isochronous data between the network and the system bus serving a host system; the controller including P-Mac and I-Mac engines; a storage means configurable into a preselected number of receive and transmit queues for simultaneously buffering packet and isochronous data transmitted in either direction between the system bus and the network in either direction; interfacing means for initiating packet and isochronous data transfers to or from the system bus, either directly or through the storage means; local control means coupled to a local bus interface for interfacing the controller and the interfacing means for providing a descriptor list of addresses for writing or reading packet and isochronous data to the host memory in the data processing system; and e) medium access control means coupled to the P-Mac and I-Mac engines for transferring packet and multimedia data, respectively, in both directions to or from the network.
Claim 20
Dependent Claim 68 words
The data processing system of claim 16 wherein the local bus interface is further coupled to the interfacing means and the controller, the local bus interfacing means providing read/write access to the storage means through memory mapped registers; access to the controller internal registers allowing a local processor to configure and control the controller operation and the generation of interrupts to the local processor or an error condition.
Claim 21
Dependent Claim 22 words
The data processor of claim 17 wherein the controller includes a steering map table for mapping isochronous data to isochronous transmit/receive queues.
Claim 22
Dependent Claim 36 words
The data processing system of claim 18 where the interfacing means includes a slave transmit port which allows the system to write data directly into the queues with the interfacing means acting as a bus slave.
Claim 23
Dependent Claim 42 words
The data processing system of claim 18 wherein the interfacing means includes a shared memory window which maps the system memory to a local bus memory coupled to a local bus interface for transfer of descriptor lists to the local bus memory.
Claim 24
Dependent Claim 22 words
The communication device of claim 16 wherein the interfacing means includes a slave transmit port; a transmit engine and a receive engine.
Claim 25
Dependent Claim 22 words
The communication device of claim 21 wherein the interfacing means further includes a DMA engine; a shared memory buffer and interface registers.
Claim 26
Dependent Claim 33 words
The communication device of claim 22 wherein the transmit and receive engines are connected to the system and a local bus interface, and the slave transmit port is connected solely to the system.
Claim 27
Dependent Claim 26 words
The communication device of claim 23 wherein the DMA engine; shared memory buffer and interface registers are connected between the system and the local bus interface.
Claim 28
Dependent Claim 38 words
The communications device of claim 1 wherein the interface means is adapted to transfer data in either direction between the system bus and the network bypassing the storage means using storage addresses provided by the local control means.
Claim 29
Dependent Claim 254 words
A communication device for transferring real time/multimedia and packet data between a network and a system bus comprising: a) controller means for receiving and transmitting the multimedia and packet between the network and the system bus; b) storage means under control of the controller means for storing the multimedia and packet data in queues for transfer to the system bus or the network; c) interfacing means between the controller and the system bus for simultaneously transferring the multimedia and packet data to or from the system bus or the network; d) the interface means including a direct memory access (DMA) engine, a shared memory buffer, transmit and receive engines and a slave transmit port, the DMA engine controlling the delivery of data between the system bus and a control means; the shared memory buffer mapping memory space in the system bus to memory space in the control means; the transmit engine controlling the delivery of data to selected queues in the storage means from the system or the control means; the receive engine controlling the delivery of data from selected queues in the storage means to the system bus or the control means, and the slave transmit port mapping selected queues of the storage means to memory space connected to the system bus for writing data directly into the queues from the system without using the controller means; and e) the control means further providing and controlling addresses of multimedia or packet data transferred to or from the system bus by the interfacing means.
Claim 30
Dependent Claim 254 words
A communication device for transferring real time/multimedia and packet data between a network and a system bus comprising: a) controller means for receiving and transmitting the multimedia and packet between the network and the system bus; b) storage means under control of the controller means for storing the multimedia and packet data in queues for transfer to the system bus or the network; c) interfacing means between the controller and the system bus for simultaneously transferring the multimedia and packet data to or from the system bus or the network; d) the interface means including a direct memory access (DMA) engine, a shared memory buffer, transmit and receive engines and a slave transmit port, the DMA engine controlling the delivery of data between the system bus and a control means; the shared memory buffer mapping memory space in the system bus to memory space in the control means; the transmit engine controlling the delivery of data to selected queues in the storage means from the system or the control means; the receive engine controlling the delivery of data from selected queues in the storage means to the system bus or the control means, and the slave transmit port mapping selected queues of the storage means to memory space connected to the system bus for writing data directly into the queues from the system without using the controller means; and e) the control means further providing and controlling addresses of multimedia or packet data transferred to or from the system bus by the interfacing means.
Claim 31
Independent Claim 161 words
A method of simultaneously transferring real time/multimedia packet data between a system bus and a network comprising the steps of: transferring data from the system bus to storage queues in a FDDI RAM buffer using a transmit engine, the transmit engine issuing a request to a local bus interface to fetch descriptors indicative of the addresses of the data in the system to be transferred; transferring data stored in the queues as packet frames to a P-MAC transmit engine, the P-MAC transmit engine notifying a queue manager on the last byte that a frame has been transmitted; transferring data stored in the queues as isochronous data to an I-MAC engine, the data being only transferred if a steering map table entry for that data is active and the queue is enabled; transmitting the isochronous data to the network when a token is captured; and transmitting packet data buffered to the network as long as a token holding timer has not expired.
Claim 32
Independent Claim 161 words
A method of simultaneously transferring real time/multimedia packet data between a system bus and a network comprising the steps of: transferring data from the system bus to storage queues in a FDDI RAM buffer using a transmit engine, the transmit engine issuing a request to a local bus interface to fetch descriptors indicative of the addresses of the data in the system to be transferred; transferring data stored in the queues as packet frames to a P-MAC transmit engine, the P-MAC transmit engine notifying a queue manager on the last byte that a frame has been transmitted; transferring data stored in the queues as isochronous data to an I-MAC engine, the data being only transferred if a steering map table entry for that data is active and the queue is enabled; transmitting the isochronous data to the network when a token is captured; and transmitting packet data buffered to the network as long as a token holding timer has not expired.
Claim 33
Independent Claim 150 words
A method of simultaneously transferring real time/multimedia and packet data between a network and a system bus comprising the steps of: storing packet data in a PMAC indicate engine and isochronous data in an IMAC indicate engine; transferring the stored data to receive queues in a storage means, the isochronous and packet data being stored in different sets of queues configured by a parameter RAM; defining a threshold for transmitting data from the queues to the system using a programmable threshold register, the threshold defining the amount of data buffered in a queue before transfer to the system; accessing a queue status register to identify queues available for transfer of data to the system; and transferring data from the queues to the system or a local bus using a receive engine, the local bus providing descriptor identification of the location in the system memory for the storage of the data.
Claim 34
Independent Claim 150 words
A method of simultaneously transferring real time/multimedia and packet data between a network and a system bus comprising the steps of: storing packet data in a PMAC indicate engine and isochronous data in an IMAC indicate engine; transferring the stored data to receive queues in a storage means, the isochronous and packet data being stored in different sets of queues configured by a parameter RAM; defining a threshold for transmitting data from the queues to the system using a programmable threshold register, the threshold defining the amount of data buffered in a queue before transfer to the system; accessing a queue status register to identify queues available for transfer of data to the system; and transferring data from the queues to the system or a local bus using a receive engine, the local bus providing descriptor identification of the location in the system memory for the storage of the data.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-11-10 2001-05-12 2001-11-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-11-10 2005-05-12 2005-11-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-11-10 2009-05-12 2009-11-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag