Multi-Stage Packet Scheduling to Prevent Port Idle Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-capacity network interfaces or ports often idle due to upstream processing components failing to timely process and transfer packets, leading to wasted bandwidth and increased latency in packet delivery.

Innovation Solution

Implementing a multi-stage scheduler with decoupled port and queue scheduling operations, using port and queue selection buffers to manage packet transmission and minimize latency, ensuring ports remain active without starvation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If high-capacity network interfaces are deployed to increase bandwidth, then packet delivery capacity is improved, but port idle time increases due to upstream processing bottlenecks

Engineering Contradiction:
Improvepacket delivery capacityVSAvoidport idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a multi-stage scheduler that performs preliminary scheduling actions by maintaining port selection buffers and queue selection buffers. The port scheduler pre-selects eligible ports and stores their metadata in port selection buffers, while queue schedulers pre-select packets from queues and store metadata in queue selection buffers. This preliminary action ensures that when packets arrive at network interfaces, the scheduling decisions are already made, eliminating port idle time and ensuring continuous operation at high capacity.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If traditional single-stage scheduling is used to simplify device structure, then device complexity is reduced, but packet transmission latency increases due to sequential processing

Engineering Contradiction:
Improvescheduling structure complexityVSAvoidpacket transmission latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent divides the traditional single-stage scheduling into multiple independent stages: port scheduling and queue scheduling. The port scheduler operates independently to select eligible ports and fill port selection buffers, while queue schedulers operate independently to select packets from queues and fill queue selection buffers. This segmentation allows parallel processing of scheduling decisions, significantly reducing packet transmission latency while maintaining manageable device complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to scheduling by implementing multi-cycle operation. The port scheduler operates on a first timing loop with a first cycle time, while queue schedulers operate on a second timing loop with a second cycle time. This dimensional separation allows different scheduling decisions to be made at different time scales, optimizing both port utilization and packet selection efficiency, thereby reducing overall latency without increasing structural complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12587486B2Multi-stage scheduler
Publication Date: 2026.03.24 MARVELL ASIA PTE LTD
  • US12587486B2 patent drawing
  • US12587486B2 patent drawing
  • US12587486B2 patent drawing

AI summary

Packet metadata for incoming packets are buffered in queue selection buffers associated with a port of a network node. Packet data for outgoing packets are buffered in a port selection buffer associated with the port. At a selection clock cycle, while a port scheduler of the network node selects a subset of the packet data for a subset of the outgoing packets from the port selection buffer, a queue scheduler of the port concurrently selects a subset of the packet metadata for a subset of the incoming packets from the queue selection buffers and adds new packet data for new outgoing packets to the port selection buffer of the port. The new packet data are derived based at least in part on the subset of the packet metadata for the subset of the incoming packets.