IP Library Granted Patent US 8,254,399
Granted Patent B1
US 8,254,399 · App. 12/639,887 · Granted Aug 28, 2012

Method and apparatus for adaptive buffer management for traffic optimization on switches

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,254,399
App. No.
12/639,887
Granted
Aug 28, 2012
Kind
B1
Abstract

A method and apparatus for adaptive buffer management for traffic optimization on switches have been disclosed where pattern injection and traffic monitoring with forced congestion allows optimizing buffers while accounting for actual system delays.

Claims (41)

1. An apparatus comprising a computer, said computer configured for:

setting a priority level denoted x to a highest priority level from a plurality of unique priority levels;

(a) setting a buffer reservation size denoted prog_size to a minimum size;

(b) setting a packet size denoted pkt_size to a maximum packet size;

(c) over-subscribing a x−1 priority level denoted pri_x−1 traffic;

(d) injecting a pre-defined number of priority x packets, said pre-defined number of priority x packets each having a packet size of pkt_size;

(e) determining if a priority x buffer not available count denoted pri_x_buf_not_ava_cnt is less than or equal to a priority x buffer not available threshold denoted pri_x_buf_not_ava_thresh; and

(f) if said pri_x_buf_not_ava_cnt is less than or equal to said pri_x_buf_not_ava_thresh then:

(f1) setting said prog_size to prog_size+1; and

(f2) returning to step (d);

(g) setting a buffer reservation size register for said priority level x denoted pri_x_prog_size to said prog_size.

2. The apparatus of claim 1 further comprising:

(h) setting a packet size register for said priority level x denoted pri_x_pkt_size to said pkt_size;

(i) setting said pkt_size to pkt_size−1;

(j) injecting priority x packets, said priority x packets each having a packet size of pkt_size;

(k) determining if said pri_x_buf_not_ava_cnt is less than or equal to said pri_x_buf_not_ava_thresh; and

(l) if said pri_x_buf_not_ava_cnt is less than or equal to said pri_x_buf_not_ava_thresh then:

(l1) returning to step (h);

(m) stopping said pri_x−1 traffic;

(n) determining if said priority level x is equal to 1; and

(o) if said priority level x is equal to 1 then:

(o1) returning to step (a).

3. The apparatus of claim 2 further comprising:

repeating steps (a)-(o) for a plurality of ingress buffers; and

repeating steps (a)-(o) for a plurality of egress buffers.

4. The apparatus of claim 3 further comprising:

repeating steps (a)-(o) for a plurality of crosspoint buffers.

5. An apparatus comprising:

a plurality of ingress ports, wherein each of said plurality of ingress ports has a plurality of inqress buffers, said plurality of ingress buffers each having a plurality of programmable buffer reservation size registers, and a plurality of not available counters, and a plurality of buffer not available threshold registers, and a plurality of packet size registers, wherein each of said plurality of ingress buffers said plurality of programmable buffer reservation size registers, and each of said plurality of ingress buffers said plurality of not available counters, and each of said plurality of ingress buffers said plurality of buffer not available threshold registers, and each of said plurality of ingress buffers said plurality of packet size registers have a plurality of priority levels.

6. An apparatus comprising:

a plurality of ingress ports, wherein each of said plurality of ingress ports has a plurality of inqress buffers, said plurality of ingress buffers each having a plurality of programmable buffer reservation size registers, and a plurality of not available counters, and a plurality of buffer not available threshold registers, and a plurality of racket size registers;

a plurality of crosspoint buffers, said plurality of crosspoint buffers each having a plurality of programmable buffer reservation size registers, and a plurality of not available counters, and a plurality of buffer not available threshold registers, and a plurality of packet size registers; and

said plurality of crosspoint buffers in operative communication with said plurality of ingress buffers.

7. The apparatus of claim 6 wherein each of said plurality of crosspoint buffers said plurality of programmable buffer reservation size registers, and each of said plurality of crosspoint buffers said plurality of not available counters, and each of said plurality of crosspoint buffers said plurality of buffer not available threshold registers, and each of said plurality of crosspoint buffers said plurality of packet size registers have a plurality of priority levels.

8. The apparatus of claim 6 further comprising:

a plurality of egress ports, wherein each of said plurality of egress ports has a plurality of egress buffers, said plurality of egress buffers each having a plurality of programmable buffer reservation size registers, and a plurality of not available counters, and a plurality of buffer not available threshold registers, and a plurality of packet size registers; and

said plurality of crosspoint buffers in operative communication with said plurality of egress buffers.

9. The apparatus of claim 8 wherein each of said plurality of egress buffers said plurality of programmable buffer reservation size registers, and each of said plurality of egress buffers said plurality of not available counters, and each of said plurality of egress buffers said plurality of buffer not available threshold registers, and each of said plurality of egress buffers said plurality of packet size registers have a plurality of priority levels.

10. The apparatus of claim 9 further comprising:

wherein each of said plurality of ingress buffers said plurality of programmable buffer reservation size registers, and each of said plurality of ingress buffers said plurality of not available counters, and each of said plurality of ingress buffers said plurality of buffer not available threshold registers, and each of said plurality of ingress buffers said plurality of packet size registers have a plurality of priority levels; and

wherein each of said plurality of crosspoint buffers said plurality of programmable buffer reservation size registers, and each of said plurality of crosspoint buffers said plurality of not available counters, and each of said plurality of crosspoint buffers said plurality of buffer not available threshold registers, and each of said plurality of crosspoint buffers said plurality of packet size registers have a plurality of priority levels.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2025
From: RENESAS ELECTRONICS AMERICA INC.
To: AXIRO SEMICONDUCTOR INC.
Reel/Frame 070864/0142 →
MERGER Recorded Apr 15, 2025
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: RENESAS ELECTRONICS AMERICA INC.
Reel/Frame 070851/0391 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: JPMORGAN CHASE BANK, N.A.
To: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; CHIPX, INCORPORATED; ENDWAVE CORPORATION; MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 048746/0001 →
SECURITY AGREEMENT Recorded Apr 5, 2017
From: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; MAGNUM SEMICONDUCTOR, INC.; ENDWAVE CORPORATION; CHIPX, INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042166/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: WANG, CHI-LIE; MO, JASON Z.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 023725/0093 →