US 7,457,241 B2
Structure for scheduler pipeline design for hierarchical link sharing
Claude Basso, Raleigh, N.C. (US); Jean L. Calvignac, Cary, N.C. (US); Chih-jen Chang, Apex, N.C. (US); Gordon T. Davis, Chapel Hill, N.C. (US); and Fabrice J. Verplanken, La Gaude (France)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Feb. 05, 2004, as Appl. No. 10/772,737.
Prior Publication US 2005/0177644 A1, Aug. 11, 2005
Int. Cl. H04J 1/16 (2006.01)
U.S. Cl. 370—230  [370/229; 370/231; 370/235; 370/412] 3 Claims
OG exemplary drawing
 
1. A pipeline arrangement for memory access allocation of a network traffic scheduler comprising:
A hierarchical structure comprising a physical port bandwidth that is divided into a plurality of logical links, the bandwidth available to each of the logical links is divided into plurality of VLANs, and the bandwidth associated with each VLAN is shared by a plurality of individual user flows;
A plurality of SRAM and DRAM memory devices external to the scheduler, a first SRAM that contains a set of data buses and that stores flow queue control blocks that are required for ‘read’ and ‘write’ at each flow queue enqueue time, and a second SRAM containing two data buses, one dedicated to ‘read’ and one dedicated to ‘write’, and that stores frame control blocks and VLAN hierarchy control blocks, a first DRAM that stores a network management counter and a second DRAM that stores flow queue control blocks and VLAN hierarchy control blocks that require ‘read’ only at both enqueue time and dequeue time;
Control blocks of scheduling elements stored in said SRAM and DRAM memory devices with at least some of the memory devices storing more than one type of control block; wherein
a) SRAM memory is used if the content of a control block is Read-Modify-Write at packet enqueue and at dequeue;
b) SRAM and DRAM memory are used if the control block content is Read-Modify-Write only, at the packet dequeue;
c) DRAM memory is used if the control block content is Read only at packet enqueue and dequeue; and
d) Memory access allocated to enqueue tasks does not conflict with memory access allocated to dequeue tasks;
Time based calendar arrays to provide guaranteed bandwidth service for flow queues and VLANs; and
Weighted fair queueing calendar arrays for allocation of available bandwidth for competing flows when no service is required by time base calendars.