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

Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO

Assignee: RPX Corp
•
Filing: 1990-05-29
•
Granted: 1991-08-27
•
Expires: 2010-05-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An FDDI system and method for transmitting to an optical medium, upon receipt of token, frames of synchronous data and frames of asynchronous data having different levels of priority. The network on which the FDDI is implemented includes a plurality of processors each having a system memory for storing the frames of data in queues corresponding to priority, and an output buffer configured to have a plurality of logical FIFOs corresponding to the queues. Data is transferred one queue at a time from the system memory to the output buffer through a single physical FIFO. To prevent the FIFO from "locking-up" as a result of any residual data remaining therein following each transfer of a frame to the output buffer, storage remaining available for a particular queue of the output buffer to be transmitted to the medium is detected. Data is transferred from the system memory to the FIFO memory only if the storage remaining available is at least equal to the storage capacity of the FIFO memory.

Inventors

  • 👤 Farzin Firoozmand
  • 👤 Brian Childers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 01:43
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/42; H04L12/427; H04L12/433

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 160 words
For a network adapter including a plurality of processors and system memory means for storing frames of data arranged in a plurality of different queues, the frames of each queue having a priority different from the priorities of frames of data of the other queues, apparatus for controlling transmission of said frames of data to a network, comprising: an output buffer memory configured to have a plurality of FIFO memory regions for storing respectively the plurality of queues of framed data to be transmitted to the network; a FIFO memory establishing a single signal flow path for said framed data between said memory means and said output buffer memory; means for controlling flow of said framed data, one queue at a time in order of priority, through said FIFO memory to corresponding FIFO memory regions of said buffer memory; and means for transmitting said framed data, stored in said FIFO memory regions of said output buffer memory, to said network.
Claim 2
Dependent Claim 160 words
For a network adapter including a plurality of processors and system memory means for storing frames of data arranged in a plurality of different queues, the frames of each queue having a priority different from the priorities of frames of data of the other queues, apparatus for controlling transmission of said frames of data to a network, comprising: an output buffer memory configured to have a plurality of FIFO memory regions for storing respectively the plurality of queues of framed data to be transmitted to the network; a FIFO memory establishing a single signal flow path for said framed data between said memory means and said output buffer memory; means for controlling flow of said framed data, one queue at a time in order of priority, through said FIFO memory to corresponding FIFO memory regions of said buffer memory; and means for transmitting said framed data, stored in said FIFO memory regions of said output buffer memory, to said network.
Claim 3
Dependent Claim 77 words
The apparatus of claim 1, wherein said FIFO memory has a predetermined data storage capacity and said data flow controlling means includes means for controlling transfer of framed data from said system memory means to said FIFO memory and transfer of framed data from said FIFO memory to said output buffer memory such that said FIFO memory is always exhausted of data following every transfer of framed data from said FIFO memory to said output buffer memory.
Claim 4
Dependent Claim 82 words
The apparatus of claim 2, wherein data flow controlling means includes means for determining the amount of data storage remaining available for a particular queue of said output buffer memory currently receiving data of a particular priority to be transmitted to said network and means for transferring framed data from said system memory means to said FIFO memory only when said data storage remaining available for said particular queue is not less than said predetermined data storage capacity of said FIFO memory.
Claim 5
Dependent Claim 111 words
The apparatus of claim 2, wherein said data flow controlling means further includes (a) means for detecting an "almost full" condition of a particular queue of said output buffer memory receiving framed data of a particular priority when the amount of storage remaining available for said particular queue is not greater than said predetermined storage capacity of said FIFO memory, and (b) means responsive to said "almost full" condition for terminating transfer of data from said system memory means to said FIFO memory and for initiating transfer of data, having a different priority, from said system memory means through said FIFO memory to a different particular queue of said output buffer.
Claim 6
Dependent Claim 61 words
The apparatus of claim 2, including means for detecting when the storage remaining available for a particular queue in said output buffer being transmitted to said network has become equal to said predetermined storage capacity of said FIFO memory, said controller means including means responsive to said detecting means for transferring data from said system memory means to said FIFO memory.
Claim 7
Dependent Claim 31 words
The apparatus of claim 1, wherein said FIFO memory is a physical single FIFO memory and said queues of said output buffer are configured as a plurality of logical FIFO memories.
Claim 8
Dependent Claim 66 words
The apparatus of claim 1, including means for establishing a plurality of buffers at arbitrary locations in said system memory means, each buffer being formed of a plurality of contiguous locations in said system memory means for storing frames of data having a particular priority, and means for establishing in said system memory means a plurality of descriptor rings pointing respectively to said plurality of buffers.
Claim 9
Dependent Claim 252 words
For a network adapter including a plurality of processors and system memory means for storing frames of data arranged in a plurality of different queues, the frames of each queue having a priority different from the priorities of frames of data of the other queues, an output buffer memory configured to have a plurality of FIFO memory regions for storing respectively the plurality of queues of framed data to be transmitted to the network, and a FIFO memory having a predetermined storage capacity and establishing a single signal flow path for said framed data between said system memory means and said output buffer memory, and means for transmitting said framed data, stored in said FIFO memory regions of said output buffer memory, to said network: a method of controlling flow of said framed data, one queue at a time in order of priority, through said FIFO memory to corresponding FIFO memory regions of said buffer memory, comprising the steps of detecting a request for transmission of data to said network, and in response, controlling movement of framed data to be transmitted by (a) detecting storage remaining available for a particular queue of said output buffer containing data to be transmitted to said network; (b) transferring framed data from said FIFO memory to said output buffer memory, and (c) transferring framed data from said system memory means to said FIFO memory only if said storage remaining available for said particular queue is not less than said predetermined storage capacity of said FIFO memory.
Claim 10
Dependent Claim 252 words
For a network adapter including a plurality of processors and system memory means for storing frames of data arranged in a plurality of different queues, the frames of each queue having a priority different from the priorities of frames of data of the other queues, an output buffer memory configured to have a plurality of FIFO memory regions for storing respectively the plurality of queues of framed data to be transmitted to the network, and a FIFO memory having a predetermined storage capacity and establishing a single signal flow path for said framed data between said system memory means and said output buffer memory, and means for transmitting said framed data, stored in said FIFO memory regions of said output buffer memory, to said network: a method of controlling flow of said framed data, one queue at a time in order of priority, through said FIFO memory to corresponding FIFO memory regions of said buffer memory, comprising the steps of detecting a request for transmission of data to said network, and in response, controlling movement of framed data to be transmitted by (a) detecting storage remaining available for a particular queue of said output buffer containing data to be transmitted to said network; (b) transferring framed data from said FIFO memory to said output buffer memory, and (c) transferring framed data from said system memory means to said FIFO memory only if said storage remaining available for said particular queue is not less than said predetermined storage capacity of said FIFO memory.
Claim 11
Dependent Claim 115 words
The method of claim 8, wherein said step of controlling movement of framed data to be transmitted includes the steps of (a) detecting an "almost full" condition of a particular queue of said output buffer memory receiving framed data of a particular priority when the amount of storage remaining available for said particular queue is not greater than said predetermined storage capacity of said FIFO memory, and (b) in response to said "almost full" condition, terminating transfer of data from said system memory means to said FIFO memory and initiating transfer of data, having a different priority, from said system memory means through said FIFO memory to a different particular queue of said output buffer.
Claim 12
Dependent Claim 52 words
The method of claim 8, including detecting when the storage remaining available for a particular queue in said output buffer being transmitted to said network has become equal to said predetermined storage capacity of said FIFO memory, and in response, transferring additional data from said system memory means to said FIFO memory.
Claim 13
Dependent Claim 171 words
For a Fiber Distributed Data Interface network having a plurality of processors, each including a system memory means for storing frames of data arranged in queues and having a plurality of different transmit priorities, and an optical medium forming a digital data communication path among said processors, a network controller, comprising: first means implementing a timed token data protocol for accessing said optical medium; a random access memory forming an output buffer; and second means for configuring in said random access memory a plurality of queues for storing therein said queued frames of data having respectively said plurality of different transmit priorities; a FIFO memory establishing a single signal flow path for said framed data between said system memory means and said output buffer; means for controlling flow of said framed data, one queue at a time in order of priority, through said FIFO memory to corresponding queues in said buffer memory; and means for transmitting said framed data, stored in said queues in said output buffer memory, to said medium.
Claim 14
Dependent Claim 171 words
For a Fiber Distributed Data Interface network having a plurality of processors, each including a system memory means for storing frames of data arranged in queues and having a plurality of different transmit priorities, and an optical medium forming a digital data communication path among said processors, a network controller, comprising: first means implementing a timed token data protocol for accessing said optical medium; a random access memory forming an output buffer; and second means for configuring in said random access memory a plurality of queues for storing therein said queued frames of data having respectively said plurality of different transmit priorities; a FIFO memory establishing a single signal flow path for said framed data between said system memory means and said output buffer; means for controlling flow of said framed data, one queue at a time in order of priority, through said FIFO memory to corresponding queues in said buffer memory; and means for transmitting said framed data, stored in said queues in said output buffer memory, to said medium.
Claim 15
Dependent Claim 78 words
The network controller of claim 11, wherein said FIFO memory has a predetermined data storage capacity and said data flow controlling means includes means for controlling transfer of framed data from said system memory means to said FIFO memory and transfer of framed data from said FIFO memory to said output buffer memory such that said FIFO memory is always exhausted of data following every transfer of framed data from said FIFO memory to said output buffer memory.
Claim 16
Dependent Claim 84 words
The network controller of claim 12, wherein said data flow controlling means includes means for determining the amount of data storage remaining available for a particular queue of said output buffer memory currently receiving data of a particular priority to be transmitted to said medium and means for transferring framed data from said system memory means to said FIFO memory only when said data storage remaining available for said particular queue is not less than said predetermined data storage capacity of said FIFO memory.
Claim 17
Dependent Claim 112 words
The network controller of claim 12, wherein said data flow controlling means further includes (a) means for detecting an "almost full" condition of a particular queue of said output buffer memory receiving framed data of a particular priority when the amount of storage remaining available for said particular queue is not greater than said predetermined storage capacity of said FIFO memory, and (b) means responsive to said "almost full" condition for terminating transfer of data from said system memory means to said FIFO memory and for initiating transfer of data, having a different priority, from said system memory means through said FIFO memory to a different particular queue of said output buffer.
Claim 18
Dependent Claim 64 words
The network controller of claim 12, including means for detecting when the storage remaining available for a particular queue of said output buffer being transmitted to said medium has become equal to said predetermined storage capacity of said FIFO memory, said data flow controlling means including means responsive to said detecting means for transferring data from said system memory means to said FIFO memory.
Claim 19
Dependent Claim 32 words
The network controller of claim 11, wherein said FIFO memory is a physical single FIFO memory and said queues of said output buffer are configured as a plurality of logical FIFO memories.
Claim 20
Dependent Claim 67 words
The network controller of claim 11, including means for establishing a plurality of buffers at arbitrary locations in said system memory means, each buffer being formed of a plurality of contiguous locations in said system memory means for storing frames of data having a particular priority, and means for establishing in said system memory means a plurality of descriptor rings pointing respectively to said plurality of buffers.
Claim 21
Dependent Claim 245 words
For a Fiber Distributed Digital, Interface network having a plurality of nodes connected to an optical medium, each node having a system memory means for storing frames of data arranged in a plurality of different queues, the frames of each queue having a priority different from the priorities of frames of data of the other queues, and an interface including (1), an output buffer memory configured to have a plurality of FIFO memory regions for storing respectively the plurality of queues of framed data to be transmitted to the medium, (2) a FIFO memory having a predetermined storage capacity and establishing a single signal flow path for said framed data between said system memory means and said output buffer memory, and (3) means for transmitting said framed data, stored in said FIFO memory regions of said output buffer memory, to said medium: a method of interfacing said nodes and said optical medium, comprising the steps of: upon a token capture, accessing said optical medium and controlling movement of framed data to be transmitted to said medium by (a) detecting storage remaining available for a particular queue of said output buffer to be transmitted to said medium, (b) transferring framed data from said FIFO memory to said output buffer memory, and (c) transferring framed data from said system memory means to said FIFO memory only if said storage remaining available for said particular queue is not less than said predetermined storage capacity of said FIFO memory.
Claim 22
Dependent Claim 245 words
For a Fiber Distributed Digital, Interface network having a plurality of nodes connected to an optical medium, each node having a system memory means for storing frames of data arranged in a plurality of different queues, the frames of each queue having a priority different from the priorities of frames of data of the other queues, and an interface including (1), an output buffer memory configured to have a plurality of FIFO memory regions for storing respectively the plurality of queues of framed data to be transmitted to the medium, (2) a FIFO memory having a predetermined storage capacity and establishing a single signal flow path for said framed data between said system memory means and said output buffer memory, and (3) means for transmitting said framed data, stored in said FIFO memory regions of said output buffer memory, to said medium: a method of interfacing said nodes and said optical medium, comprising the steps of: upon a token capture, accessing said optical medium and controlling movement of framed data to be transmitted to said medium by (a) detecting storage remaining available for a particular queue of said output buffer to be transmitted to said medium, (b) transferring framed data from said FIFO memory to said output buffer memory, and (c) transferring framed data from said system memory means to said FIFO memory only if said storage remaining available for said particular queue is not less than said predetermined storage capacity of said FIFO memory.
Claim 23
Dependent Claim 115 words
The method of claim 18, wherein said step of controlling movement of framed data to be transmitted includes the steps of (a) detecting an "almost full" condition of a particular queue of said output buffer memory receiving framed data of a particular priority when the amount of storage remaining available in said particular queue is not greater than said predetermined storage capacity of said FIFO memory, and (b) in response to said "almost full" condition, terminating transfer of data from said system memory means to said FIFO memory and initiating transfer of data, having a different priority, from said system memory means through said FIFO memory to a different particular queue of said output buffer.
Claim 24
Dependent Claim 52 words
The method of claim 18, including detecting when the storage remaining available for a particular queue in said output buffer being transmitted to said medium has become equal to said predetermined storage capacity of said FIFO memory, and in response, transferring additional data from said system memory means to said FIFO memory.

References Cited (Backward Citations)

US4667323A Cited
US4930121A Cited
US4866704A Cited
US4914652A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-08-26 1995-02-25 1995-08-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-08-26 1999-02-25 1999-08-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-08-26 2003-02-25 2003-08-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag