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

Method and apparatus for adjusting overflow buffers and flow control watermark levels

Assignee: GlobalFoundries Inc
•
Filing: 1997-12-18
•
Granted: 2000-07-04
•
Expires: 2017-12-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A network switch having a shared memory architecture for storing data frames includes configuration registers that are programmable by a host processor to adaptively adjust overflow buffer locations and flow control watermark levels based on monitored network traffic. The host processor allocates shared resources by setting memory configuration registers corresponding to an external memory, where the network switch uses the external memory for storing received data frames, Management Information Base (MIB) counter values, and output port overflow data. The host processor periodically reads the MIB counter values from the external memory, and adjusts flow control watermark levels or the memory configuration registers in the network switch based on rate-based network traffic derived from the MIB counter values. PCI burst transfers between the host processor and the external memory via the network switch ensure that stored data is not lost during reconfiguration of the external memory. The disclosed arrangement enables resources used by the network switch to be adjusted to minimize congestion by borrowing resources from network ports serving idle stations.

Inventors

  • 👤 Philip Simmons
  • 👤 Robert De Mong

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 23:07
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/35; H04L49/351; H04L49/90; H04L1/00; H04L1/12; H04L1/16; H04L1/18; H04L47/00; H04L47/10; H04L49/10; H04L49/103; H04L49/30; H04L49/3027; H04L49/354

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 136 words
A method for allocating resources for use by a network switch having a plurality of network ports serving respective network stations, the method comprising: setting overflow regions in a shared memory for the respective network ports, including storing shared memory start addresses in the network switch for each of the network ports: the shared memory start addresses defining the overflow regions for the respective network ports, and a boundary between a first overflow region and a second adjacent overflow region; monitoring network traffic encountered by the network ports over time; and adjusting the overflow regions within the shared memory based on the monitored network traffic, including halting the network traffic on the network ports corresponding to the first and second overflow regions, and transferring data from the first and second overflow region to a temporary storage.
Claim 2
Independent Claim 136 words
A method for allocating resources for use by a network switch having a plurality of network ports serving respective network stations, the method comprising: setting overflow regions in a shared memory for the respective network ports, including storing shared memory start addresses in the network switch for each of the network ports: the shared memory start addresses defining the overflow regions for the respective network ports, and a boundary between a first overflow region and a second adjacent overflow region; monitoring network traffic encountered by the network ports over time; and adjusting the overflow regions within the shared memory based on the monitored network traffic, including halting the network traffic on the network ports corresponding to the first and second overflow regions, and transferring data from the first and second overflow region to a temporary storage.
Claim 3
Dependent Claim 67 words
The method of claim 1, further comprising: setting at least one flow control threshold for the network ports, wherein each network port is configured to selectively output a flow control signal based on the at least one flow control threshold relative to a corresponding amount of stored data for the network port; and adjusting the at least one flow control threshold based on the monitored network traffic.
Claim 4
Dependent Claim 53 words
The method of claim 2, wherein: the flow control threshold setting step comprises setting said at least one flow control threshold for each corresponding network port; the method further comprises adjusting for at least one of the network ports the corresponding at least one flow control threshold based on the monitored network traffic.
Claim 5
Dependent Claim 87 words
The method of claim 3, further comprising: setting a first queue threshold for a first queue configured for storing free frame pointers, the free frame pointers specifying respective memory locations available for storing received data frames in the shared memory, wherein at least one of the ports is configured to output a flow control signal based on a number of the free frame pointers stored in the first queue relative to the first queue threshold; and adjusting the first queue threshold based on the monitored network traffic.
Claim 6
Dependent Claim 88 words
The method of claim 4, further comprising: setting a second flow control threshold for each of the network ports less than the corresponding at least one flow control threshold, each network port configured to generate the flow control signal based on the corresponding amount of stored data relative to the second flow control threshold and the number of free frame pointers relative to the first queue threshold; and adjusting the second flow control threshold for at least one of the network ports based on the monitored network traffic.
Claim 7
Dependent Claim 29 words
The method of claim 1, wherein: the adjusting step comprises changing the shared memory start address for the first overflow region, and reallocating the first and second overflow regions.
Claim 8
Dependent Claim 29 words
The method of claim 6, wherein the changing step changes the shared memory start addresses for the first overflow region after the data is transferred to the temporary storage.
Claim 9
Dependent Claim 34 words
The method of claim 7, wherein the adjusting step further comprises restoring the data from the temporary storage to the reallocated first and second overflow regions based on the changed shared memory start address.
Claim 10
Dependent Claim 68 words
The method of claim 8, wherein: the network switch comprises a host interface enabling access by a host to the network switch and memory interface for enabling the host to access the shared memory via the host interface; the transferring step comprises retrieving the data from the first and second overflow region by the host via the host interface to the temporary storage as a PCI burst transfer.
Claim 11
Dependent Claim 38 words
The method of claim 9, wherein the restoring step comprises transferring the data from the temporary storage as a PCI burst transfer to the reallocated first and second overflow regions via the host interface and the memory interface.
Claim 12
Dependent Claim 19 words
The method of claim 10, wherein the shared memory is a discrete memory chip external to the network switch.
Claim 13
Dependent Claim 83 words
The method of claim 1, wherein the monitoring step comprises: setting at least one counter for each network port to a prescribed value, the at least one counter indicating a condition of the corresponding network port relative to the corresponding network station; reading an updated value from said at least one counter after a prescribed time; and determining the network traffic for each network port based on the prescribed value and the updated value of the corresponding counter relative to the prescribed time.
Claim 14
Dependent Claim 56 words
The method of claim 12, wherein the step of setting at least one counter comprises: setting a first counter counting a number of data packets received by the network port from the corresponding network station; and setting a second counter counting a number of data bytes received by the network port from the corresponding network station.
Claim 15
Dependent Claim 57 words
The method of claim 13, wherein the step of setting at least one counter further comprises: setting a third counter counting a number of data packets transmitted by the network port to the corresponding network station; and setting a fourth counter counting a number of data bytes transmitted by the network port to the corresponding network station.
Claim 16
Dependent Claim 24 words
The method of claim 1, wherein the monitoring step comprises detecting a flow control signal output by at least one of the network ports.
Claim 17
Dependent Claim 20 words
The method of claim 15, wherein the flow control signal is a pause frame output on a full duplex media.
Claim 18
Dependent Claim 36 words
The method of claim 15, wherein the flow control signal output by the at least one network port is a phantom frame output on a half duplex media causing a collision with the corresponding network station.
Claim 19
Dependent Claim 24 words
The method of claim 15, wherein the flow control signal detecting step comprises detecting an interrupt generated by the at least one network port.
Claim 20
Independent Claim 141 words
A method for allocating resources for use by a network switch having a plurality of network ports serving respective network stations, the method comprising: setting at least one flow control threshold for the network ports, wherein each network port is configured to selectively output a flow control signal based on the at least one flow control threshold relative to a corresponding amount of stored data for the network port; setting first and second overflow regions in a shared memory for the respective network ports; monitoring network traffic encountered by each of the network ports over time; and adjusting the at least one flow control threshold based on the monitored network traffic; halting the network traffic on the network ports corresponding to the first and second overflow regions; and transferring data from the first and second overflow region to a temporary storage.
Claim 21
Independent Claim 141 words
A method for allocating resources for use by a network switch having a plurality of network ports serving respective network stations, the method comprising: setting at least one flow control threshold for the network ports, wherein each network port is configured to selectively output a flow control signal based on the at least one flow control threshold relative to a corresponding amount of stored data for the network port; setting first and second overflow regions in a shared memory for the respective network ports; monitoring network traffic encountered by each of the network ports over time; and adjusting the at least one flow control threshold based on the monitored network traffic; halting the network traffic on the network ports corresponding to the first and second overflow regions; and transferring data from the first and second overflow region to a temporary storage.
Claim 22
Dependent Claim 50 words
The method of claim 19, wherein: the setting step comprises setting said at least one flow control threshold for each corresponding network port; the method further comprises adjusting for at least one of the network ports the corresponding at least one flow control threshold based on the monitored network traffic.
Claim 23
Dependent Claim 86 words
The method of claim 20, further comprising: setting a first queue threshold for a first queue configured for storing free frame pointers, the free frame pointers specifying respective memory locations available for storing received data frames in an external memory, wherein at least one of the ports is configured to output a flow control signal based on the first queue threshold and a number of the free frame pointers stored in the first queue; and adjusting the first queue threshold based on the monitored network traffic.
Claim 24
Dependent Claim 87 words
The method of claim 21, further comprising: setting a second flow control threshold for each of the network ports less than the corresponding at least one flow control threshold, wherein each network port generates the flow control signal based on the corresponding amount of stored data relative to the second flow control threshold and the number of free frame pointers relative to the first queue threshold; and adjusting the second flow control threshold for at least one of the network ports based on the monitored network traffic.
Claim 25
Independent Claim 179 words
A system for allocating resources in a network having a plurality of network stations, the system comprising: a network switch comprising: (1) a plurality of network ports for sending and receiving data frames to and from the network stations, respectively, each of the network ports having a prescribed capacity for storing data associated with the corresponding data frames, each of the network ports generating transmission and reception data identifying characteristics of the corresponding sent and received data frames; and (2) a plurality of port overflow address registers for storing port overflow start addresses, the port overflow start addresses defining addressable overflow regions for storing overflow data from the respective network ports having reached the respective capacities; and a host for selectively configuring the port overflow address registers based on monitoring of the transmission and reception data from the respective network ports the host halting the network traffic on the network ports corresponding to first and second overflow regions defined by the port overflow start addresses, and transferring data from the first and second overflow regions to a temporary storage.
Claim 26
Independent Claim 179 words
A system for allocating resources in a network having a plurality of network stations, the system comprising: a network switch comprising: (1) a plurality of network ports for sending and receiving data frames to and from the network stations, respectively, each of the network ports having a prescribed capacity for storing data associated with the corresponding data frames, each of the network ports generating transmission and reception data identifying characteristics of the corresponding sent and received data frames; and (2) a plurality of port overflow address registers for storing port overflow start addresses, the port overflow start addresses defining addressable overflow regions for storing overflow data from the respective network ports having reached the respective capacities; and a host for selectively configuring the port overflow address registers based on monitoring of the transmission and reception data from the respective network ports the host halting the network traffic on the network ports corresponding to first and second overflow regions defined by the port overflow start addresses, and transferring data from the first and second overflow regions to a temporary storage.
Claim 27
Dependent Claim 41 words
The system of claim 23, wherein the network switch further comprises programmable flow control threshold registers for the respective network ports, the host selectively configuring the programmable flow control threshold registers based on the monitoring of the transmission and reception data.
Claim 28
Dependent Claim 46 words
The system of claim 24, wherein the network switch further comprises a data bus for providing access by the host to the addressable overflow regions, the host interface configured to selectively read and write data via the data bus from and to the addressable overflow regions.
Claim 29
Dependent Claim 39 words
The system of claim 25, wherein the network switch further comprises counter configuration registers for storing counter start addresses, the counter start addresses defining addressable counter regions for storing the transmission and reception data for the network ports, respectively.
Claim 30
Dependent Claim 40 words
The system of claim 26, wherein the host interface is configured to selectively read via the data bus the transmission and reception data from the addressable counter regions at prescribed intervals to generate network traffic data with respect to time.
Claim 31
Dependent Claim 50 words
The system of claim 24, wherein the network switch generates an interrupt signal in response to a flow control signal generated by one of the network ports, the host configuring at least one of the port overflow address registers and the programmable flow control in response to the interrupt signal.
Claim 32
Dependent Claim 24 words
The system of claim 23, further comprising a discrete memory having addressable locations corresponding to the addressable overflow regions for storing the overflow data.

References Cited (Backward Citations)

EP0425202A2 Cited
US5469545A Cited
US5515376A Cited
EP0648034A1 Cited
WO1996013957A1 Cited
US5822540A Cited
US5956322A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-07-04 2004-01-03 2004-07-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-07-04 2008-01-03 2008-07-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-07-04 2012-01-03 2012-07-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag