Patent US3633070B1 successfully refreshed from Google Patents.
Patent US5758075A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5758075A Expired / Lapsed US ⏱️ 0.0 years remaining

Multimedia communication apparatus and methods

Assignee: International Business Machines Corp
•
Filing: 1996-09-24
•
Granted: 1998-05-26
•
Expires: 2016-09-24
📄 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-10-29 05:06
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: 58
Claim 1
Independent Claim 148 words
A method of controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system using a receive engine, comprising the steps of: a) storing data in the queues; b) issuing a request by the receive engine to the system for data delivery; c) issuing a request by the receive engine to the local bus interface for (i) data delivery and (ii) a descriptor list of addresses in the system for the storage of data; d) assigning a temporary storage buffer to a filled queue by the receive engine; e) filling the temporary storage buffer with data from the queues by the controller on signal from the receive engine; and f) signalling the system by the receive engine to empty the temporary storage buffer to the system at addresses specified in the descriptor list.
Claim 2
Independent Claim 148 words
A method of controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system using a receive engine, comprising the steps of: a) storing data in the queues; b) issuing a request by the receive engine to the system for data delivery; c) issuing a request by the receive engine to the local bus interface for (i) data delivery and (ii) a descriptor list of addresses in the system for the storage of data; d) assigning a temporary storage buffer to a filled queue by the receive engine; e) filling the temporary storage buffer with data from the queues by the controller on signal from the receive engine; and f) signalling the system by the receive engine to empty the temporary storage buffer to the system at addresses specified in the descriptor list.
Claim 3
Dependent Claim 46 words
The method of claim 1 further comprising the steps of: a) polling an internal status register of the controller to determine whether a queue is ready to be emptied; and b) initiating the request for data delivery when the status register indicates the queue is filled.
Claim 4
Dependent Claim 29 words
The method of claim 2 further comprising the steps of: a) forming descriptor pointers for each queue which locate a chain of linked descriptors in a local bus memory.
Claim 5
Dependent Claim 38 words
The method of claim 3 further comprising the steps of: a) forming a received descriptor which is initialized by the local processor and a local bus memory to indicate to the receive engine the destination for received data.
Claim 6
Dependent Claim 32 words
The method of claim 4 further comprising the step of: a) providing for each received descriptor a control word, a byte count, an address low, an address high and a linked pointer.
Claim 7
Dependent Claim 39 words
The method of claim 5 further comprising the step of: a) transferring data through the receive engine to a destination in the system till either the byte count field is exhausted or an end of frame has been reached.
Claim 8
Dependent Claim 31 words
The method of claim 6 further comprising the step of: a) transferring the receive engine to the next descriptor in the list and continuing the transfer of data to the system.
Claim 9
Dependent Claim 34 words
The method of claim 7 further comprising the step of: a) updating the control word and byte count and moving to the next descriptor in the list when an end of frame is reached.
Claim 10
Dependent Claim 52 words
The method of claim 8 further comprising the steps of: a) forming a plurality of FIFO registers in the temporary storage buffer; b) filling the FIFO with data from a designated queue; and c) unloading the FIFO once it becomes half-full using a host bus system interface or local processor bus interface.
Claim 11
Dependent Claim 53 words
The method of claim 9 further comprising the steps of: a) terminating the transfer of data to the host system bus interface or the local processor bus interface when the FIFO becomes full; and b) reinitiating the transfer of data when at least a selected number of bytes are available in the FIFO.
Claim 12
Independent Claim 155 words
A method of controlling the delivery of data to an adapter including a controller, storage queues, a local processor and a local processor bus from a host bus system using a transmit engine, comprising the steps of: a) issuing a request to a local bus interface by the transmit engine to fetch a descriptor list for the transfer of data from the system; b) assigning a queue to a temporary storge buffer in the transmit engine; c) issuing a request to the system or the local bus by the transmit engine to begin filling the temporary storage buffer; d) issuing a request to the controller by the transmit engine to begin unloading the temporary storage buffer and filling the storage queues; e) signalling the transmit engine by the controller when the queue is almost full; and f) signalling the system or the local bus by the transmit engine to stop filling the temporary storage buffer.
Claim 13
Independent Claim 155 words
A method of controlling the delivery of data to an adapter including a controller, storage queues, a local processor and a local processor bus from a host bus system using a transmit engine, comprising the steps of: a) issuing a request to a local bus interface by the transmit engine to fetch a descriptor list for the transfer of data from the system; b) assigning a queue to a temporary storge buffer in the transmit engine; c) issuing a request to the system or the local bus by the transmit engine to begin filling the temporary storage buffer; d) issuing a request to the controller by the transmit engine to begin unloading the temporary storage buffer and filling the storage queues; e) signalling the transmit engine by the controller when the queue is almost full; and f) signalling the system or the local bus by the transmit engine to stop filling the temporary storage buffer.
Claim 14
Dependent Claim 85 words
The method of claim 11 further comprising the step of: a) issuing a request to a slave transport port by a data device coupled to the system to write directly to a queue; b) issuing a request to the controller by the slave transmit port for assignement of a storage queue to store system data; c) loading a storage buffer in the slave transmit port by the system; and d) emptying the storage buffer by the controller to a queue indicated by a system address.
Claim 15
Dependent Claim 26 words
The method of claim 12 further comprising the step of: a) assigning the FIFO to another queue after the FIFO has been unloaded by the controller.
Claim 16
Dependent Claim 32 words
The method of claim 11 further comprising the step of: a) forming a transmit descriptor containing a control word, a byte count, an address low, an address high, and a linked pointer.
Claim 17
Dependent Claim 66 words
The method of claim 14 further comprising the steps of: a) forming descriptor pointers that locate a chain of linked transmit descriptors in a local bus memory; and b) accessing a descriptor in the list using a transmit descriptor pointer in a base field of a local processor bus address register, the least significant bit of the transmit descriptor pointer being a Queue Enable Bit (QEN).
Claim 18
Dependent Claim 41 words
The method of claim 15 further comprising the step of a) processing each descriptor by loading the linked pointer field into the transmit descriptor pointer and fetching the next descriptor in the chain until a linked pointer of zero is encountered.
Claim 19
Dependent Claim 26 words
The method of claim 16 further comprising the step of: a) disenabling the QEN bit of the transmit descriptor pointer when the linked pointer is zero.
Claim 20
Dependent Claim 46 words
The method of claim 17 further comprising the steps of: a) receiving a signal from a controller wherein a queue is ready for data; b) fetching a valid descriptor for the queue; and c) assigning a queue to a FIFO register in the temporary storage buffer.
Claim 21
Independent Claim 110 words
A method of controlling the delivery of data from a host bus system using a slave transmit engine to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory comprising the steps: a) assigning a queue to a temporary storage buffer contained in the slave transmit engine; b) using the system interface unit to load the temporary storage buffer with data from the host bus system; c) using the controller to transfer data from the temporary storage buffer to the queue indicated by a system address; and d) transferring the data to the queue using a streaming data or basic transfer mode.
Claim 22
Independent Claim 110 words
A method of controlling the delivery of data from a host bus system using a slave transmit engine to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory comprising the steps: a) assigning a queue to a temporary storage buffer contained in the slave transmit engine; b) using the system interface unit to load the temporary storage buffer with data from the host bus system; c) using the controller to transfer data from the temporary storage buffer to the queue indicated by a system address; and d) transferring the data to the queue using a streaming data or basic transfer mode.
Claim 23
Dependent Claim 47 words
The method of claim 19 wherein a shared memory buffer allows input/output devices on the system to read and write local bus memory and accesses to the shared memory buffer cause the system interface unit to become bus master of the local bus in transferring data therebetween.
Claim 24
Dependent Claim 19 words
The method of claim 20 further comprising the step of: buffering the transferred data in the shared memory buffer.
Claim 25
Dependent Claim 154 words
Apparatus for controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system using a receive engine, comprising: a) means for storing data in the queues; b) means for issuing a request by the receive engine to the system for data delivery; c) means for issuing a request by the receive engine to a local bus interface for (i) data delivery and (ii) a descriptor list of addresses in the system for the storage of data; d) means for assigning a temporary storage buffer to a filled queue by the receive engine; e) means for filling the temporary storage buffer with data from the queues by the controller on signal from the receive engine; and f) means for signalling the system by the receive engine to empty the buffer to the system at addresses specified in the descriptor list.
Claim 26
Dependent Claim 154 words
Apparatus for controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system using a receive engine, comprising: a) means for storing data in the queues; b) means for issuing a request by the receive engine to the system for data delivery; c) means for issuing a request by the receive engine to a local bus interface for (i) data delivery and (ii) a descriptor list of addresses in the system for the storage of data; d) means for assigning a temporary storage buffer to a filled queue by the receive engine; e) means for filling the temporary storage buffer with data from the queues by the controller on signal from the receive engine; and f) means for signalling the system by the receive engine to empty the buffer to the system at addresses specified in the descriptor list.
Claim 27
Dependent Claim 47 words
The apparatus of claim 22 further comprising: a) means for polling an internal status register of the controller to determine whether a queue is ready to be emptied; and b) means for initiating the request for data delivery when the status register indicates the queue is filled.
Claim 28
Dependent Claim 28 words
The apparatus of claim 23 further comprising: a) means for forming descriptor pointers for each queue which locate a chain of linked descriptors in a local bus memory.
Claim 29
Dependent Claim 37 words
The apparatus of claim 24 further comprising: a) means for forming a received descriptor which is initialized by the local processor and a local bus memory to indicate to the receive engine the destination for received data.
Claim 30
Dependent Claim 31 words
The apparatus of claim 25 further comprising: a) means for providing for each received descriptor a control word, a byte count, an address low, an address high and a linked pointer.
Claim 31
Dependent Claim 37 words
The apparatus of claim 26 further comprising: means for transferring data through the receive engine to a destination in the system till either the byte count field is exhausted or an end of frame has been reached.
Claim 32
Dependent Claim 29 words
The apparatus of claim 27 further comprising: means for transferring the receive engine to the next descriptor in the list and continuing the transfer of data to the system.
Claim 33
Dependent Claim 32 words
The apparatus of claim 28 further comprising: means for updating the control word and byte count and moving to the next descriptor in the list when an end of frame is reached.
Claim 34
Dependent Claim 55 words
The apparatus of claim 29 further comprising: a) means for forming a plurality of FIFO registers in the temporary storage buffer; b) means for filling the FIFO with data from a designated queue; and c) means for unloading the FIFO once it becomes half-full using a host bus system interface or local processor bus interface.
Claim 35
Dependent Claim 54 words
The apparatus of claim 30 further comprising: a) means for terminating the transfer of data to the host system bus interface or the local processor bus interface when the FIFO becomes full; and b) means for reinitiating the transfer of data when at least a selected number of bytes are available in the FIFO.
Claim 36
Dependent Claim 163 words
Apparatus for controlling the delivery of data from a host bus system using a transmit engine to an adapter including a controller, storage queues, a local processor and a local processor bus, comprising: a) means for issuing a request to a local bus interface by the transmit engine to fetch a descriptor list for the transfer of data from the system; b) means for assigning a queue to a temporary storage buffer in the transmit engine; c) means for issuing a request to the system or the local bus by the transmit engine to begin filling the temporary storage buffer; d) means for issuing a request to the controller by the transmit engine to begin unloading the temporary storage buffer and filling the storage queues; e) means for signalling the transmit engine by the controller when the queue is almost full; and f) means for signalling the system or the local bus by the transmit engine to stop filling the temporary storage buffer.
Claim 37
Dependent Claim 163 words
Apparatus for controlling the delivery of data from a host bus system using a transmit engine to an adapter including a controller, storage queues, a local processor and a local processor bus, comprising: a) means for issuing a request to a local bus interface by the transmit engine to fetch a descriptor list for the transfer of data from the system; b) means for assigning a queue to a temporary storage buffer in the transmit engine; c) means for issuing a request to the system or the local bus by the transmit engine to begin filling the temporary storage buffer; d) means for issuing a request to the controller by the transmit engine to begin unloading the temporary storage buffer and filling the storage queues; e) means for signalling the transmit engine by the controller when the queue is almost full; and f) means for signalling the system or the local bus by the transmit engine to stop filling the temporary storage buffer.
Claim 38
Dependent Claim 30 words
The apparatus of claim 32 further comprising: means for forming a transmit descriptor containing a control word, a byte count, an address low, an address high, and a link pointer.
Claim 39
Dependent Claim 67 words
The apparatus of claim 33 further comprising: a) means for forming descriptor pointers that locate a chain of link transmit descriptors in a local bus memory; and b) means for accessing a descriptor in the list using a transmit descriptor pointer in a base field of a local processor bus address register, the least significant bit of the transmit descriptor pointer being a Queue Enable Bit (QEN).
Claim 40
Dependent Claim 39 words
The apparatus of claim 34 further comprising: means for processing each descriptor by loading the linked pointer field into the transmit descriptor pointer and fetching the next descriptor in the chain until a linked pointer of zero is encountered.
Claim 41
Dependent Claim 24 words
The apparatus of claim 35 further comprising: means for disenabling the QEN bit of the transmit descriptor pointer when the linked pointer is zero.
Claim 42
Dependent Claim 48 words
The apparatus of claim 36 further comprising: a) means for receiving a signal from a controller wherein a queue is ready for data; b) means for fetching a valid descriptor for the queue; c) means for assigning a queue to a FIFO register in the temporary storage buffer.
Claim 43
Dependent Claim 90 words
The apparatus of claim 37 further comprising: a) means for issuing a request to a slave transport port by a data device coupled to the system to write directly to a queue; b) means for issuing a request to the controller by the slave transmit port for assignment of a storage queue to store system data; c) means for loading a storage buffer in the slave transmit port by the system; and d) means for emptying the storage buffer by the controller to a queue indicated by a system address.
Claim 44
Dependent Claim 24 words
The apparatus of claim 38 further comprising: means for assigning the FIFO to another queue after the FIFO has been unloaded by the controller.
Claim 45
Dependent Claim 120 words
The apparatus of claim 39 further comprising: a) means for controlling the delivery of data to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory from a host bus system using a slave transmit engine; b) means for assigning a queue to a temporary storage buffer contained in the slave transmit engine; c) means for using the system interface unit to load the temporary storage buffer with data from the host bus system; d) means for using the controller to transfer data from the FIFO to the queue indicated by a system address; and e) means for transferring the data to the queue using a streaming data or basic transfer mode.
Claim 46
Dependent Claim 112 words
Apparatus for controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system comprising: a) means for issuing a request to a slave transport port by a data device coupled to the system to write directly to a queue; b) means for issuing a request to the controller by the slave transmit port for assignment of a storage queue to store system data; c) means for loading a storage buffer in the slave transmit port by the system; and d) means for emptying the storage buffer by the controller to a queue indicated by a system address.
Claim 47
Dependent Claim 112 words
Apparatus for controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system comprising: a) means for issuing a request to a slave transport port by a data device coupled to the system to write directly to a queue; b) means for issuing a request to the controller by the slave transmit port for assignment of a storage queue to store system data; c) means for loading a storage buffer in the slave transmit port by the system; and d) means for emptying the storage buffer by the controller to a queue indicated by a system address.
Claim 48
Dependent Claim 24 words
The apparatus of claim 41 further comprising means for assigning the FIFO to another queue after the FIFO has been unloaded by the controller.
Claim 49
Dependent Claim 114 words
Apparatus controlling the delivery of data from a host bus system using a slave transmit engine to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory comprising: a) means for assigning a queue to a temporary storage buffer contained in the slave transmit engine; b) means for using the system interface unit to load the temporary storage buffer with data from the host bus system; c) means for using the controller to transfer data from the temporary storage buffer to the queue indicated by a system address; and d) means for transferring the data to the queue using a streaming data or basic transfer mode.
Claim 50
Dependent Claim 114 words
Apparatus controlling the delivery of data from a host bus system using a slave transmit engine to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory comprising: a) means for assigning a queue to a temporary storage buffer contained in the slave transmit engine; b) means for using the system interface unit to load the temporary storage buffer with data from the host bus system; c) means for using the controller to transfer data from the temporary storage buffer to the queue indicated by a system address; and d) means for transferring the data to the queue using a streaming data or basic transfer mode.
Claim 51
Dependent Claim 49 words
The apparatus of claim 43 further comprising a shared memory buffer which allows input/output devices on the system to read and write local bus memory and accesses to the shared memory buffer which cause the system interface unit to become bus master of the local in transferring data therebetween.
Claim 52
Dependent Claim 18 words
The apparatus of claim 44 further comprising means for buffering the transferred data in the shared memory buffer.
Claim 53
Dependent Claim 202 words
An article of manufacturing comprising: a computer usable medium having computer readable program code means embodied therein for controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system using a receive engine, the computer readable program code means in said article of manufacturing comprising: a) computer readable program code means for storing data in the queues; b) computer readable program code means for issuing a request by the receive engine to the system for data delivery; c) computer readable program code means for issuing a request by the receive engine to a local bus interface for (i) data delivery and (ii) a descriptor list of addresses in the system for the storage of data; d) computer readable code means for assigning a temporary storage buffer to a filled queue by the receive engine; e) computer readable code means for filling the temporary storage buffer with data from the queues by the controller on signal from the receive engine; and f) computer readable code means for signalling the system by the receive engine to empty the buffer to the system at addresses specified in the descriptor list.
Claim 54
Dependent Claim 202 words
An article of manufacturing comprising: a computer usable medium having computer readable program code means embodied therein for controlling the delivery of data from an adapter including a controller, storage queues, a local processor and a local processor bus to a host bus system using a receive engine, the computer readable program code means in said article of manufacturing comprising: a) computer readable program code means for storing data in the queues; b) computer readable program code means for issuing a request by the receive engine to the system for data delivery; c) computer readable program code means for issuing a request by the receive engine to a local bus interface for (i) data delivery and (ii) a descriptor list of addresses in the system for the storage of data; d) computer readable code means for assigning a temporary storage buffer to a filled queue by the receive engine; e) computer readable code means for filling the temporary storage buffer with data from the queues by the controller on signal from the receive engine; and f) computer readable code means for signalling the system by the receive engine to empty the buffer to the system at addresses specified in the descriptor list.
Claim 55
Dependent Claim 214 words
An article of manufacture, comprising: a computer usable medium having computer readable program code means embodied therein for controlling the delivery of data from a host bus system using a transmit engine to an adapter including a controller, storage queues, a local processor and a local processor bus, the computer readable program code means in said article of manufacture comprising: a) computer readable program code means for issuing a request to a local bus interface by the transmit engine to fetch a descriptor list for the transfer of data from the system; b) computer readable program code means for assigning a queue to a temporary storage buffer in the transmit engine; c) computer readable program code means for issuing a request to the system or the local bus by the transmit engine to begin filling the temporary storage buffer; d) computer readable program code means for issuing a request to the controller by the transmit engine to begin unloading the temporary storage buffer and filling the storage queues; e) computer readable program code means for signalling the transmit engine by the controller when the queue is almost full; and f) computer readable program code means for signalling the system or the local bus by the transmit engine to stop filling the temporary storage buffer.
Claim 56
Dependent Claim 214 words
An article of manufacture, comprising: a computer usable medium having computer readable program code means embodied therein for controlling the delivery of data from a host bus system using a transmit engine to an adapter including a controller, storage queues, a local processor and a local processor bus, the computer readable program code means in said article of manufacture comprising: a) computer readable program code means for issuing a request to a local bus interface by the transmit engine to fetch a descriptor list for the transfer of data from the system; b) computer readable program code means for assigning a queue to a temporary storage buffer in the transmit engine; c) computer readable program code means for issuing a request to the system or the local bus by the transmit engine to begin filling the temporary storage buffer; d) computer readable program code means for issuing a request to the controller by the transmit engine to begin unloading the temporary storage buffer and filling the storage queues; e) computer readable program code means for signalling the transmit engine by the controller when the queue is almost full; and f) computer readable program code means for signalling the system or the local bus by the transmit engine to stop filling the temporary storage buffer.
Claim 57
Dependent Claim 158 words
An article of manufacture, comprising: a computer usable medium having computer readable program code means embodied therein for controlling the delivery of data from a host bus system using a slave transmit engine to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory, the computer readable program code means in said article of manufacture comprising: a) computer readable program code means for assigning a queue to a temporary storage buffer contained in the slave transmit engine; b) computer readable program code means for using a system interface unit to load the temporary storage buffer with data from the host bus system; c) computer readable program code means for using the controller to transfer data from the temporary storage buffer to the queue indicated by a system address; and d) computer readable program code means for transferring the data to the queue using a streaming data or basic transfer mode.
Claim 58
Dependent Claim 158 words
An article of manufacture, comprising: a computer usable medium having computer readable program code means embodied therein for controlling the delivery of data from a host bus system using a slave transmit engine to an adapter including a controller, storage queues, a local processor, a local processor bus and a local memory, the computer readable program code means in said article of manufacture comprising: a) computer readable program code means for assigning a queue to a temporary storage buffer contained in the slave transmit engine; b) computer readable program code means for using a system interface unit to load the temporary storage buffer with data from the host bus system; c) computer readable program code means for using the controller to transfer data from the temporary storage buffer to the queue indicated by a system address; and d) computer readable program code means for transferring the data to the queue using a streaming data or basic transfer mode.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-25 2001-11-24 2002-05-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-25 2005-11-24 2006-05-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-25 2009-11-24 2010-05-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag